1(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,28047,379972,e=>{"use strict";let t,i,r,a;var s=Object.create,n=Object.defineProperty,o=Object.getOwnPropertyDescriptor,l=Object.getOwnPropertyNames,d=Object.getPrototypeOf,h=Object.prototype.hasOwnProperty,u=function(e,t){return function(){return e&&(t=e(e=0)),t}},c=function(e,t){return function(){return t||e((t={exports:{}}).exports,t),t.exports}},m=function(e,t,i,r){if(t&&"object"==typeof t||"function"==typeof t)for(var a,s=l(t),d=0,u=s.length;d<u;d++)a=s[d],h.call(e,a)||a===i||n(e,a,{get:(function(e){return t[e]}).bind(null,a),enumerable:!(r=o(t,a))||r.enumerable});return e},f=function(e,t,i){return i=null!=e?s(d(e)):{},m(!t&&e&&e.__esModule?i:n(i,"default",{value:e,enumerable:!0}),e)},p=c(function(t,i){i.exports="u">typeof window?window:e.g});function g(e,t){return null!=t&&"u">typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):g(e,t)}var v=u(function(){v()});function E(e){return e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}var y=u(function(){}),b=c(function(e,t){var i=Array.prototype.slice;t.exports=function(e,t){for(("length"in e)||(e=[e]),e=i.call(e);e.length;){var r=e.shift(),a=t(r);if(a)return a;r.childNodes&&r.childNodes.length&&(e=i.call(r.childNodes).concat(e))}}}),T=c(function(e,t){function i(e,t){if(!g(this,i))return new i(e,t);this.data=e,this.nodeValue=e,this.length=e.length,this.ownerDocument=t||null}v(),t.exports=i,i.prototype.nodeType=8,i.prototype.nodeName="#comment",i.prototype.toString=function(){return"[object Comment]"}}),A=c(function(e,t){function i(e,t){if(!g(this,i))return new i(e);this.data=e||"",this.length=this.data.length,this.ownerDocument=t||null}v(),t.exports=i,i.prototype.type="DOMTextNode",i.prototype.nodeType=3,i.prototype.nodeName="#text",i.prototype.toString=function(){return this.data},i.prototype.replaceData=function(e,t,i){var r=this.data,a=r.substring(0,e),s=r.substring(e+t,r.length);this.data=a+i+s,this.length=this.data.length}}),S=c(function(e,t){t.exports=function(e){var t=this,i=e.type;e.target||(e.target=t),t.listeners||(t.listeners={});var r=t.listeners[i];if(r)return r.forEach(function(i){e.currentTarget=t,"function"==typeof i?i(e):i.handleEvent(e)});t.parentNode&&t.parentNode.dispatchEvent(e)}}),k=c(function(e,t){t.exports=function(e,t){this.listeners||(this.listeners={}),this.listeners[e]||(this.listeners[e]=[]),-1===this.listeners[e].indexOf(t)&&this.listeners[e].push(t)}}),R=c(function(e,t){t.exports=function(e,t){if(this.listeners&&this.listeners[e]){var i=this.listeners[e],r=i.indexOf(t);-1!==r&&i.splice(r,1)}}}),L=c(function(e,t){y(),t.exports=function e(t){switch(t.nodeType){case 3:return a(t.data);case 8:return"<!--"+t.data+"-->";default:var s,n,o;return n=[],o=(s=t).tagName,"http://www.w3.org/1999/xhtml"===s.namespaceURI&&(o=o.toLowerCase()),n.push("<"+o+function(e){var t=[];for(var i in e)(function(e,t){var i=E(e[t]);return"style"===t&&Object.keys(e.style).length>0||e.hasOwnProperty(t)&&("string"===i||"boolean"===i||"number"===i)&&"nodeName"!==t&&"className"!==t&&"tagName"!==t&&"textContent"!==t&&"innerText"!==t&&"namespaceURI"!==t&&"innerHTML"!==t})(e,i)&&t.push({name:i,value:e[i]});for(var a in e._attributes)for(var s in e._attributes[a]){var n=e._attributes[a][s],o=(n.prefix?n.prefix+":":"")+s;t.push({name:o,value:n.value})}return e.className&&t.push({name:"class",value:e.className}),t.length?r(t):""}(s)+function(e){var t=e.dataset,i=[];for(var a in t)i.push({name:"data-"+a,value:t[a]});return i.length?r(i):""}(s)),i.indexOf(o)>-1?n.push(" />"):(n.push(">"),s.childNodes.length?n.push.apply(n,s.childNodes.map(e)):s.textContent||s.innerText?n.push(a(s.textContent||s.innerText)):s.innerHTML&&n.push(s.innerHTML),n.push("</"+o+">")),n.join("")}};var i=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];function r(e){var t=[];return e.forEach(function(e){var i=e.name,r=e.value;"style"===i&&(r=function(e){if("string"==typeof e)return e;var t="";return Object.keys(e).forEach(function(i){var r=e[i];i=i.replace(/[A-Z]/g,function(e){return"-"+e.toLowerCase()}),t+=i+":"+r+";"}),t}(r)),t.push(i+'="'+a(r).replace(/"/g,""")+'"')}),t.length?" "+t.join(" "):""}function a(e){var t="";return"string"==typeof e?t=e:e&&(t=e.toString()),t.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}}),I=c(function(e,t){v();var i=b(),r=S(),a=k(),s=R(),n=L(),o="http://www.w3.org/1999/xhtml";function l(e,t,i){if(!g(this,l))return new l(e);var r=void 0===i?o:i||null;this.tagName=r===o?String(e).toUpperCase():e,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=t||null,this.namespaceURI=r,this._attributes={}
1,"INPUT"===this.tagName&&(this.type="text")}t.exports=l,l.prototype.type="DOMElement",l.prototype.nodeType=1,l.prototype.appendChild=function(e){return e.parentNode&&e.parentNode.removeChild(e),this.childNodes.push(e),e.parentNode=this,e},l.prototype.replaceChild=function(e,t){e.parentNode&&e.parentNode.removeChild(e);var i=this.childNodes.indexOf(t);return t.parentNode=null,this.childNodes[i]=e,e.parentNode=this,t},l.prototype.removeChild=function(e){var t=this.childNodes.indexOf(e);return this.childNodes.splice(t,1),e.parentNode=null,e},l.prototype.insertBefore=function(e,t){e.parentNode&&e.parentNode.removeChild(e);var i=null==t?-1:this.childNodes.indexOf(t);return i>-1?this.childNodes.splice(i,0,e):this.childNodes.push(e),e.parentNode=this,e},l.prototype.setAttributeNS=function(e,t,i){var r=null,a=t,s=t.indexOf(":");(s>-1&&(r=t.substr(0,s),a=t.substr(s+1)),"INPUT"===this.tagName&&"type"===t)?this.type=i:(this._attributes[e]||(this._attributes[e]={}))[a]={value:i,prefix:r}},l.prototype.getAttributeNS=function(e,t){var i=this._attributes[e],r=i&&i[t]&&i[t].value;return"INPUT"===this.tagName&&"type"===t?this.type:"string"!=typeof r?null:r},l.prototype.removeAttributeNS=function(e,t){var i=this._attributes[e];i&&delete i[t]},l.prototype.hasAttributeNS=function(e,t){var i=this._attributes[e];return!!i&&t in i},l.prototype.setAttribute=function(e,t){return this.setAttributeNS(null,e,t)},l.prototype.getAttribute=function(e){return this.getAttributeNS(null,e)},l.prototype.removeAttribute=function(e){return this.removeAttributeNS(null,e)},l.prototype.hasAttribute=function(e){return this.hasAttributeNS(null,e)},l.prototype.removeEventListener=s,l.prototype.addEventListener=a,l.prototype.dispatchEvent=r,l.prototype.focus=function(){},l.prototype.toString=function(){return n(this)},l.prototype.getElementsByClassName=function(e){var t=e.split(" "),r=[];return i(this,function(e){if(1===e.nodeType){var i=(e.className||"").split(" ");t.every(function(e){return -1!==i.indexOf(e)})&&r.push(e)}}),r},l.prototype.getElementsByTagName=function(e){e=e.toLowerCase();var t=[];return i(this.childNodes,function(i){1===i.nodeType&&("*"===e||i.tagName.toLowerCase()===e)&&t.push(i)}),t},l.prototype.contains=function(e){return i(this,function(t){return e===t})||!1}}),w=c(function(e,t){v();var i=I();function r(e){if(!g(this,r))return new r;this.childNodes=[],this.parentNode=null,this.ownerDocument=e||null}t.exports=r,r.prototype.type="DocumentFragment",r.prototype.nodeType=11,r.prototype.nodeName="#document-fragment",r.prototype.appendChild=i.prototype.appendChild,r.prototype.replaceChild=i.prototype.replaceChild,r.prototype.removeChild=i.prototype.removeChild,r.prototype.toString=function(){return this.childNodes.map(function(e){return String(e)}).join("")}}),D=c(function(e,t){function i(e){}t.exports=i,i.prototype.initEvent=function(e,t,i){this.type=e,this.bubbles=t,this.cancelable=i},i.prototype.preventDefault=function(){}}),C=c(function(e,t){v();var i=b(),r=T(),a=A(),s=I(),n=w(),o=D(),l=S(),d=k(),h=R();function u(){if(!g(this,u))return new u;this.head=this.createElement("head"),this.body=this.createElement("body"),this.documentElement=this.createElement("html"),this.documentElement.appendChild(this.head),this.documentElement.appendChild(this.body),this.childNodes=[this.documentElement],this.nodeType=9}t.exports=u;var c=u.prototype;c.createTextNode=function(e){return new a(e,this)},c.createElementNS=function(e,t){return new s(t,this,null===e?null:String(e))},c.createElement=function(e){return new s(e,this)},c.createDocumentFragment=function(){return new n(this)},c.createEvent=function(e){return new o(e)},c.createComment=function(e){return new r(e,this)},c.getElementById=function(e){return e=String(e),i(this.childNodes,function(t){if(String(t.id)===e)return t})||null},c.getElementsByClassName=s.prototype.getElementsByClassName,c.getElementsByTagName=s.prototype.getElementsByTagName,c.contains=s.prototype.contains,c.removeEventListener=h,c.addEventListener=d,c.dispatchEvent=l}),M=c(function(e,t){t.exports=new(C())}),x=c(function(t,i){var r,a=e.g,s=M();"u">typeof document?r=document:(r=a["__GLOBAL_DOCUMENT_CACHE@4"])||(r=a["__GLOBAL_DOCUMENT_CACHE@4"]=s),i.exports=r});function P(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,r=Array(t);i<t;i++)r[i]=e[i];return r}function O(e,t){if(e){if("string"==typeof e)return P(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);if("Object"===i&&e.constructor&&(i=e.constructor.name),"Map"===i||"Set"===i)return Array.from(i);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return P(e,t)}}function N(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var i=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=i){var r,a,s=[],n=!0,o=!1;try{for(i=i.call(e);!(n=(r=i.next()).done)&&(s.push(r.value),!(t&&s.length===t));n=!0);}catch(e){o=!0,a=e}finally{try{n||null==i.return||i.return()}finally{if(o)throw a}}return s}}(e,t)||O(e,t)||function(){throw TypeError("Invalid attempt to de
1structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var U=f(p()),F=f(p()),B=f(p()),$=function(){var e=B.default.performance,t=e&&e.timing,i=t&&t.navigationStart;return Math.round("number"==typeof i&&"function"==typeof e.now?i+e.now():Date.now())},H=function(){if("function"==typeof(null==(e=F.default.crypto)?void 0:e.getRandomValues)){i=new Uint8Array(32),F.default.crypto.getRandomValues(i);for(var e,t,i,r=0;r<32;r++)i[r]=i[r]%16}else{i=[];for(var a=0;a<32;a++)i[a]=16*Math.random()|0}var s=0;t="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,function(e){var t="x"===e?i[s]:3&i[s]|8;return s++,t.toString(16)});var n=$(),o=null==n?void 0:n.toString(16).substring(3);return o?t.substring(0,28)+o:t},G=function(){return("000000"+(0x81bf1000*Math.random()|0).toString(36)).slice(-6)},K=function(e){var t;if(e&&void 0!==e.nodeName)return e.muxId||(e.muxId=G()),e.muxId;try{t=document.querySelector(e)}catch(e){}return t&&!t.muxId&&(t.muxId=e),(null==t?void 0:t.muxId)||e},W=function(e){e&&void 0!==e.nodeName?e=K(t=e):t=document.querySelector(e);var t,i=t&&t.nodeName?t.nodeName.toLowerCase():"";return[t,e,i]};function V(e){return function(e){if(Array.isArray(e))return P(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||O(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var q=function(e){var t,i,r,a,s,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:3,o=e?[console,e]:[console],l=(t=console.trace).bind.apply(t,V(o)),d=(i=console.info).bind.apply(i,V(o)),h=(r=console.debug).bind.apply(r,V(o)),u=(a=console.warn).bind.apply(a,V(o)),c=(s=console.error).bind.apply(s,V(o)),m=n;return{trace:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>0))return l.apply(void 0,V(t))},debug:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>1))return h.apply(void 0,V(t))},info:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>2))return d.apply(void 0,V(t))},warn:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>3))return u.apply(void 0,V(t))},error:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];if(!(m>4))return c.apply(void 0,V(t))},get level(){return m},set level(_){_!==this.level&&(m=null!=_?_:n)}}}("[mux]"),Y=f(p());function j(){return"1"===(Y.default.doNotTrack||Y.default.navigator&&Y.default.navigator.doNotTrack)}function Q(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function z(e,t){if(!g(e,t))throw TypeError("Cannot call a class as a function")}function X(e,t){for(var i=0;i<t.length;i++){var r=t[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}function Z(e,t,i){return t&&X(e.prototype,t),i&&X(e,i),e}function J(e,t,i){return t in e?Object.defineProperty(e,t,{value:i,enumerable:!0,configurable:!0,writable:!0}):e[t]=i,e}function ee(e){return(ee=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function et(e,t,i){return(et="u">typeof Reflect&&Reflect.get?Reflect.get:function(e,t,i){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=ee(e)););return e}(e,t);if(r){var a=Object.getOwnPropertyDescriptor(r,t);return a.get?a.get.call(i||e):a.value}})(e,t,i||e)}function ei(e,t){return(ei=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}v(),y();var er=function(e){return ea(e)[0]},ea=function(e){if("string"!=typeof e||""===e)return["localhost"];var t,i=(e.match(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/)||[])[4];return i&&(t=(i.match(/[^\.]+\.[^\.]+$/)||[])[0]),[i,t]},es=f(p()),en=function(){var e=es.default.performance;return void 0!==(e&&e.timing)}
1,eo=function(){var e=es.default.performance,t=e&&e.timing;return t&&t.domContentLoadedEventEnd},el=function(){var e=es.default.performance,t=e&&e.timing;return t&&t.navigationStart};function ed(e,t,i){i=void 0===i?1:i,e[t]=e[t]||0,e[t]+=i}function eh(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{},r=Object.keys(i);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(i).filter(function(e){return Object.getOwnPropertyDescriptor(i,e).enumerable}))),r.forEach(function(t){J(e,t,i[t])})}return e}function eu(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t.push.apply(t,i)}return t})(Object(t)).forEach(function(i){Object.defineProperty(e,i,Object.getOwnPropertyDescriptor(t,i))}),e}var ec=["x-request-id","cf-ray","x-amz-cf-id","x-akamai-request-id"],em=["x-cdn","content-type"].concat(ec);function ef(e){var t={};return(e=e||"").trim().split(/[\r\n]+/).forEach(function(e){if(e){var i=e.split(": "),r=i.shift();r&&(em.indexOf(r.toLowerCase())>=0||0===r.toLowerCase().indexOf("x-litix-"))&&(t[r]=i.join(": "))}}),t}function ep(e){if(e){var t=ec.find(function(t){return void 0!==e[t]});return t?e[t]:void 0}}var eg=function(e){var t={};for(var i in e){var r=e[i];-1!==r["DATA-ID"].search("io.litix.data.")&&(t[r["DATA-ID"].replace("io.litix.data.","")]=r.VALUE)}return t},ev=function(e){if(!e)return{};var t=el(),i=e.loading,r=i?i.start:e.trequest,a=i?i.first:e.tfirst,s=i?i.end:e.tload;return{bytesLoaded:e.total,requestStart:Math.round(t+r),responseStart:Math.round(t+a),responseEnd:Math.round(t+s)}},eE=function(e){if(!(!e||"function"!=typeof e.getAllResponseHeaders))return ef(e.getAllResponseHeaders())},ey=function(e,t,i){arguments.length>3&&void 0!==arguments[3]&&arguments[3];var r=arguments.length>4?arguments[4]:void 0,a=e.log,s=e.utils.secondsToMs,n=function(e){var t,i=parseInt(r.version);return 1===i&&null!==e.programDateTime&&(t=e.programDateTime),0===i&&null!==e.pdt&&(t=e.pdt),t};if(!en())return void a.warn("performance timing not supported. Not tracking HLS.js.");var o=function(i,r){return e.emit(t,i,r)},l=function(e,t){var i=t.levels,r=t.audioTracks,a=t.url,s=t.stats,n=t.networkDetails,l=t.sessionData,d={},h={};i.forEach(function(e,t){d[t]={width:e.width,height:e.height,bitrate:e.bitrate,attrs:e.attrs}}),r.forEach(function(e,t){h[t]={name:e.name,language:e.lang,bitrate:e.bitrate}});var u=ev(s),c=u.bytesLoaded,m=u.requestStart,f=u.responseStart,p=u.responseEnd;o("requestcompleted",eu(eh({},eg(l)),{request_event_type:e,request_bytes_loaded:c,request_start:m,request_response_start:f,request_response_end:p,request_type:"manifest",request_hostname:er(a),request_response_headers:eE(n),request_rendition_lists:{media:d,audio:h,video:{}}}))};i.on(r.Events.MANIFEST_LOADED,l);var d=function(e,t){var i=t.details,r=t.level,a=t.networkDetails,l=ev(t.stats),d=l.bytesLoaded,h=l.requestStart,u=l.responseStart,c=l.responseEnd,m=i.fragments[i.fragments.length-1],f=n(m)+s(m.duration);o("requestcompleted",{request_event_type:e,request_bytes_loaded:d,request_start:h,request_response_start:u,request_response_end:c,request_current_level:r,request_type:"manifest",request_hostname:er(i.url),request_response_headers:eE(a),video_holdback:i.holdBack&&s(i.holdBack),video_part_holdback:i.partHoldBack&&s(i.partHoldBack),video_part_target_duration:i.partTarget&&s(i.partTarget),video_target_duration:i.targetduration&&s(i.targetduration),video_source_is_live:i.live,player_manifest_newest_program_time:isNaN(f)?void 0:f})};i.on(r.Events.LEVEL_LOADED,d);var h=function(e,t){var i=t.details,r=t.networkDetails,a=ev(t.stats);o("requestcompleted",{request_event_type:e,request_bytes_loaded:a.bytesLoaded,request_start:a.requestStart,request_response_start:a.responseStart,request_response_end:a.responseEnd,request_type:"manifest",request_hostname:er(i.url),request_response_headers:eE(r)})};i.on(r.Events.AUDIO_TRACK_LOADED,h);var u=function(e,t){var r=t.stats,a=t.networkDetails,s=t.frag,n=ev(r=r||s.stats),l=n.bytesLoaded,d=n.requestStart,h=n.responseStart,u=n.responseEnd,c=a?eE(a):void 0,m={request_event_type:e,request_bytes_loaded:l,request_start:d,request_response_start:h,request_response_end:u,request_hostname:a?er(a.responseURL):void 0,request_id:c?ep(c):void 0,request_response_headers:c,request_media_duration:s.duration,request_url:null==a?void 0:a.responseURL};"main"===s.type?(m.request_type="media",m.request_current_level=s.level,m.request_video_width=(i.levels[s.level]||{}).width,m.request_video_height=(i.levels[s.level]||{}).height,m.request_labeled_bitrate=(i.levels[s.level]||{}).bitrate):m.request_type=s.type,o("requestcompleted",m)};i.on(r.Events.FRAG_LOADED,u);var c=function(e,t){var i=t.frag,r=i.start;o("fragmentchange",{currentFragmentPDT:n(i),currentFragmentStart:s(r)})};i.on(r.Events.FRAG_CHANGED,c);var m=function(e,t){var i,a=t.type,s=t.details,n=t.response,l=t.fatal,d=t.frag,h=t.networkDetails,u=(null==d?void 0:d.url)||t.url||"",c=h?eE(h):void 0;(s===r.ErrorDetails.MANIFEST_LOAD_ERROR||s===r.ErrorDetails.MANIFEST_LOAD_TIMEOUT||s===r.ErrorDetails.FRAG_LOAD_ERROR||s===r.ErrorDetails.FRAG_LOAD_TIMEOUT||s===r.ErrorDetails.LEVEL_LOAD_ERROR||s===r.ErrorDetails.LEVEL_LOAD_TIMEOUT||s===r.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||s===r.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT||s===r.ErrorDetails.SUBTITLE_LOAD_ERROR||s===r.ErrorDetails.SUBTITLE_LOAD_TIMEOUT||s===r.ErrorDetails.KEY_LOAD_ERROR||s===r.ErrorDetails.KEY_LOAD_TIMEOUT)&&o("requestfailed",{request_error:s,request_url:u,request_hostname:er(u),request_id:c?ep(c):void 0,request_type:s===r.ErrorDetails.FRAG_LOAD_ERROR||s===r.ErrorDetails.FRAG_LOAD_TIMEOUT?"media":s===r.ErrorDetails.AUDIO_TRACK_LOAD_ERROR||s===r.ErrorDetails.AUDIO_TRACK_LOAD_TIMEOUT?"audio":s===r.ErrorDetails.SUBTITLE_LOAD_ERROR||s===r.ErrorDetails.SUBTITLE_LOAD_TIMEOUT?"subtitle":s===r.ErrorDetails.KEY_LOAD_ERROR||s===r.ErrorDetails.KEY_LOAD_TIMEOUT?"encryption":"manifest",request_error_code:null==n?void 0:n.code,request_error_text:null==n?void 0:n.text}),l&&o("error",{player_error_code:a,player_error_message:s,player_error_context:"".concat(u?"url: ".concat(u,"\n"):"")+"".concat(n&&(n.code||n.text)?"response: ".concat(n.code,", ").concat(n.text,"\n"):"")+"".concat(t.reason?"failure reason: ".concat(t.reason,"\n"):"")+"".concat(t.level?"level: ".concat(t.level,"\n"):"")+"".concat(t.parent?"parent stream controller: ".concat(t.parent,"\n"):"")+"".concat(t.buffer?"buffer length: ".concat(t.buffer,"\n"):"")+"".concat(t.error?"error: ".concat(t.error,"\n"):"")+"".concat(t.event?"event: ".concat(t.event,"\n"):"")+"".concat(t.err?"error message: ".concat(null==(i=t.err)?void 0:i.message,"\n"):"")})};i.on(r.Events.ERROR,m);var f=function(e,t){var i=t.frag,r=i&&i._url||"";o("requestcanceled",{request_event_type:e,request_url:r,request_type:"media",request_hostname:er(r)})};i.on(r.Events.FRAG_LOAD_EMERGENCY_ABORTED,f);var p=function(e,t){var r=t.level,s=i.levels[r];if(s&&s.attrs&&s.attrs.BANDWIDTH){var n,l=s.attrs.BANDWIDTH,d=parseFloat(s.attrs["FRAME-RATE"]);isNaN(d)||(n=d),l?o("renditionchange",{video_source_fps:n,video_source_bitrate:l,video_source_width:s.width,video_source_height:s.height,video_source_rendition_name:s.name,video_source_codec:null==s?void 0:s.videoCodec}):a.warn("missing BANDWIDTH from HLS manifest parsed by HLS.js")}};i.on(r.Events.LEVEL_SWITCHED,p),i._stopMuxMonitor=function(){i.off(r.Events.MANIFEST_LOADED,l),i.off(r.Events.LEVEL_LOADED,d),i.off(r.Events.AUDIO_TRACK_LOADED,h),i.off(r.Events.FRAG_LOADED,u),i.off(r.Events.FRAG_CHANGED,c),i.off(r.Events.ERROR,m),i.off(r.Events.FRAG_LOAD_EMERGENCY_ABORTED,f),i.off(r.Events.LEVEL_SWITCHED,p),i.off(r.Events.DESTROYING,i._stopMuxMonitor),delete i._stopMuxMonitor},i.on(r.Events.DESTROYING,i._stopMuxMonitor)},eb=function(e){e&&"function"==typeof e._stopMuxMonitor&&e._stopMuxMonitor()},eT=function(e,t){if(!e||!e.requestEndDate)return{};var i,r=er(e.url),a=e.url,s=e.bytesLoaded,n=new Date(e.requestStartDate).getTime(),o=new Date(e.firstByteDate).getTime(),l=new Date(e.requestEndDate).getTime(),d=isNaN(e.duration)?0:e.duration,h="function"==typeof t.getMetricsFor?t.getMetricsFor(e.mediaType).HttpList:t.getDashMetrics().getHttpRequests(e.mediaType);h.length>0&&(i=ef(h[h.length-1]._responseHeaders||""));var u=i?ep(i):void 0;return{requestStart:n,requestResponseStart:o,requestResponseEnd:l,requestBytesLoaded:s,requestResponseHeaders:i,requestMediaDuration:d,requestHostname:r,requestUrl:a,requestId:u}},e_=function(e,t){if("function"==typeof t.getCurrentRepresentationForType){var i=t.getCurrentRepresentationForType(e);return i?{currentLevel:i.absoluteIndex,renditionWidth:i.width||null,renditionHeight:i.height||null,renditionBitrate:i.bandwidth}:{}}var r=t.getQualityFor(e),a=t.getCurrentTrackFor(e).bitrateList;return a?{currentLevel:r,renditionWidth:a[r].width||null,renditionHeight:a[r].height||null,renditionBitrate:a[r].bandwidth}:{}},eA=function(e){var t;return null==(t=e.match(/.*codecs\*?="(.*)"/))?void 0:t[1]},eS=function(e){try{var t,i;return null==(i=e.getVersion)||null==(t=i.call(e))?void 0:t.split(".").map(function(e){return parseInt(e)})[0]}catch(e){return!1}},ek=function(e,t,i){arguments.length>3&&void 0!==arguments[3]&&arguments[3];var r=e.log;if(!i||!i.on)return void r.warn("Invalid dash.js player reference. Monitoring blocked.");var a=eS(i),s=function(i,r){return e.emit(t,i,r)},n=function(e){var t=e.type,i=(e.data||{}).url;s("requestcompleted",{request_event_type:t,request_start:0,request_response_start:0,request_response_end:0,request_bytes_loaded:-1,request_type:"manifest",request_hostname:er(i),request_url:i})};i.on("manifestLoaded",n);var o={},l=function(e){if("function"!=typeof e.getRequests)return null;var t=e.getRequests({state:"executed"});return 0===t.length?null:t[t.length-1]},d=function(e){var t=e.type,r=e.chunk,a=e.request,n=(r||{}).mediaInfo||{},l=n.type,d=n.bitrateList,h={};
1(d=d||[]).forEach(function(e,t){h[t]={},h[t].width=e.width,h[t].height=e.height,h[t].bitrate=e.bandwidth,h[t].attrs={}}),"video"===l?o.video=h:"audio"===l?o.audio=h:o.media=h;var u=eT(a,i),c=u.requestStart,m=u.requestResponseStart,f=u.requestResponseEnd,p=u.requestResponseHeaders,g=u.requestMediaDuration,v=u.requestHostname,E=u.requestUrl;s("requestcompleted",{request_event_type:t,request_start:c,request_response_start:m,request_response_end:f,request_bytes_loaded:-1,request_type:l+"_init",request_response_headers:p,request_hostname:v,request_id:u.requestId,request_url:E,request_media_duration:g,request_rendition_lists:o})};a>=4?i.on("initFragmentLoaded",d):i.on("initFragmentLoaded",function(e){var t=e.type,i=e.fragmentModel,r=e.chunk;d({type:t,request:l(i),chunk:r})});var h=function(e){var t=e.type,r=e.chunk,a=e.request,n=r||{},o=n.mediaInfo,l=n.start,d=(o||{}).type,h=eT(a,i),u=h.requestStart,c=h.requestResponseStart,m=h.requestResponseEnd,f=h.requestBytesLoaded,p=h.requestResponseHeaders,g=h.requestMediaDuration,v=h.requestHostname,E=h.requestUrl,y=h.requestId,b=e_(d,i),T=b.currentLevel,A=b.renditionWidth,S=b.renditionHeight;s("requestcompleted",{request_event_type:t,request_start:u,request_response_start:c,request_response_end:m,request_bytes_loaded:f,request_type:d,request_response_headers:p,request_hostname:v,request_id:y,request_url:E,request_media_start_time:l,request_media_duration:g,request_current_level:T,request_labeled_bitrate:b.renditionBitrate,request_video_width:A,request_video_height:S})};a>=4?i.on("mediaFragmentLoaded",h):i.on("mediaFragmentLoaded",function(e){var t=e.type,i=e.fragmentModel,r=e.chunk;h({type:t,request:l(i),chunk:r})});var u={video:void 0,audio:void 0,totalBitrate:void 0},c=function(){if(u.video&&"number"==typeof u.video.bitrate){if(!(u.video.width&&u.video.height))return void r.warn("have bitrate info for video but missing width/height");var e=u.video.bitrate;if(u.audio&&"number"==typeof u.audio.bitrate&&(e+=u.audio.bitrate),e!==u.totalBitrate)return u.totalBitrate=e,{video_source_bitrate:e,video_source_height:u.video.height,video_source_width:u.video.width,video_source_codec:eA(u.video.codec)}}},m=function(e,t,a){var n=e.mediaType;if("audio"===n||"video"===n){if("function"==typeof i.getRepresentationsByType)if(e.newRepresentation)o={bitrate:e.newRepresentation.bandwidth,width:e.newRepresentation.width,height:e.newRepresentation.height,qualityIndex:e.newRepresentation.absoluteIndex};else{var o,l=i.getRepresentationsByType(n);if(l&&"number"==typeof e.newQuality){var d=l.find(function(t){return t.absoluteIndex===e.newQuality||t.index===e.newQuality});d&&(o={bitrate:d.bandwidth,width:d.width,height:d.height,qualityIndex:e.newQuality})}}else{if("number"!=typeof e.newQuality)return void r.warn("missing evt.newQuality in qualityChangeRendered event",e);o=i.getBitrateInfoListFor(n).find(function(t){return t.qualityIndex===e.newQuality})}if(!(o&&"number"==typeof o.bitrate))return void r.warn("missing bitrate info for ".concat(n));u[n]=eu(eh({}
1,o),{codec:i.getCurrentTrackFor(n).codec});var h=c();h&&s("renditionchange",h)}};i.on("qualityChangeRendered",m);var f=function(e){var t=e.request,i=e.mediaType;s("requestcanceled",{request_event_type:(t=t||{}).type+"_"+t.action,request_url:t.url,request_type:i,request_hostname:er(t.url)})};i.on("fragmentLoadingAbandoned",f);var p=function(e){var t,i,r=e.error,a=(null==r||null==(t=r.data)?void 0:t.request)||{},n=(null==r||null==(i=r.data)?void 0:i.response)||{};(null==r?void 0:r.code)===27&&s("requestfailed",{request_error:a.type+"_"+a.action,request_url:a.url,request_hostname:er(a.url),request_type:a.mediaType,request_error_code:n.status,request_error_text:n.statusText});var o="".concat(null!=a&&a.url?"url: ".concat(a.url,"\n"):"")+"".concat(null!=n&&n.status||null!=n&&n.statusText?"response: ".concat(null==n?void 0:n.status,", ").concat(null==n?void 0:n.statusText,"\n"):"");s("error",{player_error_code:null==r?void 0:r.code,player_error_message:null==r?void 0:r.message,player_error_context:o})};i.on("error",p),i._stopMuxMonitor=function(){i.off("manifestLoaded",n),i.off("initFragmentLoaded",d),i.off("mediaFragmentLoaded",h),i.off("qualityChangeRendered",m),i.off("error",p),i.off("fragmentLoadingAbandoned",f),delete i._stopMuxMonitor}},eR=function(e){e&&"function"==typeof e._stopMuxMonitor&&e._stopMuxMonitor()},eL=0,eI=function(){function e(){z(this,e),J(this,"_listeners",void 0)}return Z(e,[{key:"on",value:function(e,t,i){return t._eventEmitterGuid=t._eventEmitterGuid||++eL,this._listeners=this._listeners||{},this._listeners[e]=this._listeners[e]||[],i&&(t=t.bind(i)),this._listeners[e].push(t),t}},{key:"off",value:function(e,t){var i=this._listeners&&this._listeners[e];i&&i.forEach(function(e,r){e._eventEmitterGuid===t._eventEmitterGuid&&i.splice(r,1)})}},{key:"one",value:function(e,t,i){var r=this;t._eventEmitterGuid=t._eventEmitterGuid||++eL;var a=function(){r.off(e,a),t.apply(i||this,arguments)};a._eventEmitterGuid=t._eventEmitterGuid,this.on(e,a)}},{key:"emit",value:function(e,t){var i=this;if(this._listeners){t=t||{};var r=this._listeners["before"+e]||[],a=this._listeners["before*"]||[],s=this._listeners[e]||[],n=this._listeners["after"+e]||[],o=function(t,r){(t=t.slice()).forEach(function(t){t.call(i,{type:e},r)})};o(r,t),o(a,t),o(s,t),o(n,t)}}}]),e}(),ew=f(p()),eD=function(){function e(t){var i=this;z(this,e),J(this,"_playbackHeartbeatInterval",void 0),J(this,"_playheadShouldBeProgressing",void 0),J(this,"pm",void 0),this.pm=t,this._playbackHeartbeatInterval=null,this._playheadShouldBeProgressing=!1,t.on("playing",function(){i._playheadShouldBeProgressing=!0}),t.on("play",this._startPlaybackHeartbeatInterval.bind(this)),t.on("playing",this._startPlaybackHeartbeatInterval.bind(this)),t.on("adbreakstart",this._startPlaybackHeartbeatInterval.bind(this)),t.on("adplay",this._startPlaybackHeartbeatInterval.bind(this)),t.on("adplaying",this._startPlaybackHeartbeatInterval.bind(this)),t.on("devicewake",this._startPlaybackHeartbeatInterval.bind(this)),t.on("viewstart",this._startPlaybackHeartbeatInterval.bind(this)),t.on("rebufferstart",this._startPlaybackHeartbeatInterval.bind(this)),t.on("pause",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("ended",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("viewend",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("error",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("aderror",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("adpause",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("adended",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("adbreakend",this._stopPlaybackHeartbeatInterval.bind(this)),t.on("seeked",function(){t.data.player_is_paused?i._stopPlaybackHeartbeatInterval():i._startPlaybackHeartbeatInterval()}),t.on("timeupdate",function(){null!==i._playbackHeartbeatInterval&&t.emit("playbackheartbeat")}),t.on("devicesleep",function(e,r){null!==i._playbackHeartbeatInterval&&(ew.default.clearInterval(i._playbackHeartbeatInterval),t.emit("playbackheartbeatend",{viewer_time:r.viewer_time}),i._playbackHeartbeatInterval=null)})}return Z(e,[{key:"_startPlaybackHeartbeatInterval",value:function(){var e=this;null===this._playbackHeartbeatInterval&&(this.pm.emit("playbackheartbeat"),this._playbackHeartbeatInterval=ew.default.setInterval(function(){e.pm.emit("playbackheartbeat")},this.pm.playbackHeartbeatTime))}},{key:"_stopPlaybackHeartbeatInterval",value:function(){this._playheadShouldBeProgressing=!1,null!==this._playbackHeartbeatInterval&&(ew.default.clearInterval(this._playbackHeartbeatInterval),this.pm.emit("playbackheartbeatend"),this._playbackHeartbeatInterval=null)}}]),e}(),eC=function e(t){var i=this;z(this,e),J(this,"viewErrored",void 0),t.on("viewinit",function(){i.viewErrored=!1}),t.on("error",function(e,r){try{var a=t.errorTranslator({player_error_code:r.player_error_code,player_error_message:r.player_error_message,player_error_context:r.player_error_context,player_error_severity:r.player_error_severity,player_error_business_exception:r.player_error_business_exception});a&&(t.data.player_error_code=a.player_error_code||r.player_error_code,t.data.player_error_message=a.player_error_message||r.player_error_message,t.data.player_error_context=a.player_error_context||r.player_error_context,t.data.player_error_severity=a.player_error_severity||r.player_error_severity,t.data.player_error_business_exception=a.player_error_business_exception||r.player_error_business_exception,i.viewErrored=!0)}catch(e){t.mux.log.warn("Exception in error translator callback.",e),i.viewErrored=!0}}),t.on("aftererror",function(){var e,i,r,a,s;null==(e=t.data)||delete e.player_error_code,null==(i=t.data)||delete i.player_error_message,null==(r=t.data)||delete r.player_error_context,null==(a=t.data)||delete a.player_error_severity,null==(s=t.data)||delete s.player_error_business_exception})},eM=function(){function e(t){z(this,e),J(this,"_watchTimeTrackerLastCheckedTime",void 0),J(this,"pm",void 0),this.pm=t,this._watchTimeTrackerLastCheckedTime=null,t.on("playbackheartbeat",this._updateWatchTime.bind(this)),t.on("playbackheartbeatend",this._clearWatchTimeState.bind(this))}return Z(e,[{key:"_updateWatchTime",value:function(e,t){var i=t.viewer_time;null===this._watchTimeTrackerLastCheckedTime&&(this._watchTimeTrackerLastCheckedTime=i),ed(this.pm.data,"view_watch_time",i-this._watchTimeTrackerLastCheckedTime),this._watchTimeTrackerLastCheckedTime=i}},{key:"_clearWatchTimeState",value:function(e,t){this._updateWatchTime(e,t),this._watchTimeTrackerLastCheckedTime=null}}]),e}(),ex=function(){function e(t){var i=this;z(this,e),J(this,"_playbackTimeTrackerLastPlayheadPosition",void 0),J(this,"_lastTime",void 0),J(this,"_isAdPlaying",void 0),J(this,"_callbackUpdatePlaybackTime",void 0),J(this,"pm",void 0),this.pm=t,this._playbackTimeTrackerLastPlayheadPosition=-1,this._lastTime=$(),this._isAdPlaying=!1,this._callbackUpdatePlaybackTime=null,t.on("viewinit",function(){i.pm.data.view_playing_time_ms_cumulative=0});var r=this._startPlaybackTimeTracking.bind(this);t.on("playing",r),t.on("adplaying",r);var a=function(){i.pm.data.player_is_paused||r()};t.on("seeked",a),t.on("rebufferend",a);var s=this._stopPlaybackTimeTracking.bind(this);t.on("playbackheartbeatend",s),t.on("seeking",s),t.on("rebufferstart",s),t.on("adplaying",function(){i._isAdPlaying=!0}),t.on("adended",function(){i._isAdPlaying=!1}),t.on("adpause",function(){i._isAdPlaying=!1}),t.on("adbreakstart",function(){i._isAdPlaying=!1}),t.on("adbreakend",function(){i._isAdPlaying=!1}),t.on("adplay",function(){i._isAdPlaying=!1}),t.on("viewinit",function(){i._playbackTimeTrackerLastPlayheadPosition=-1,i._lastTime=$(),i._isAdPlaying=!1,i._callbackUpdatePlaybackTime=null})}return Z(e,[{key:"_startPlaybackTimeTracking",value:function(){null===this._callbackUpdatePlaybackTime&&(this._callbackUpdatePlaybackTime=this._updatePlaybackTime.bind(this),this._playbackTimeTrackerLastPlayheadPosition=this.pm.data.player_playhead_time,this._lastTime=$(),this.pm.on("playbackheartbeat",this._callbackUpdatePlaybackTime))}},{key:"_stopPlaybackTimeTracking",value:function(){this._callbackUpdatePlaybackTime&&(this._updatePlaybackTime(),this.pm.off("playbackheartbeat",this._callbackUpdatePlaybackTime),this._callbackUpdatePlaybackTime=null,this._playbackTimeTrackerLastPlayheadPosition=-1)}},{key:"_updatePlaybackTime",value:function(){var e=this.pm.data.player_playhead_time||0,t=$(),i=t-this._lastTime,r=-1;this._playbackTimeTrackerLastPlayheadPosition>=0&&e>
1this._playbackTimeTrackerLastPlayheadPosition?r=e-this._playbackTimeTrackerLastPlayheadPosition:this._isAdPlaying&&(r=i),r>0&&r<=1e3&&ed(this.pm.data,"view_content_playback_time",r),null!==this._callbackUpdatePlaybackTime&&i>0&&i<=1e3&&(this._isAdPlaying&&ed(this.pm.data,"ad_playing_time_ms_cumulative",i),ed(this.pm.data,"view_playing_time_ms_cumulative",i)),this._playbackTimeTrackerLastPlayheadPosition=e,this._lastTime=t}}]),e}(),eP=function(){function e(t){z(this,e),J(this,"pm",void 0),this.pm=t;var i=this._updatePlayheadTime.bind(this);t.on("playbackheartbeat",i),t.on("playbackheartbeatend",i),t.on("timeupdate",i),t.on("destroy",function(){t.off("timeupdate",i)})}return Z(e,[{key:"_updateMaxPlayheadPosition",value:function(){this.pm.data.view_max_playhead_position=void 0===this.pm.data.view_max_playhead_position?this.pm.data.player_playhead_time:Math.max(this.pm.data.view_max_playhead_position,this.pm.data.player_playhead_time)}},{key:"_updatePlayheadTime",value:function(e,t){var i=this,r=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(t&&t.player_playhead_time)this.pm.data.player_playhead_time=t.player_playhead_time,r(),this._updateMaxPlayheadPosition();else if(this.pm.getPlayheadTime){var a=this.pm.getPlayheadTime();void 0!==a&&(this.pm.data.player_playhead_time=a,r(),this._updateMaxPlayheadPosition())}}}]),e}(),eO=function e(t){if(z(this,e),!t.disableRebufferTracking){var i,r=function(e,t){a(t),i=void 0},a=function(e){if(i){var r=e.viewer_time-i;ed(t.data,"view_rebuffer_duration",r),i=e.viewer_time,t.data.view_rebuffer_duration>3e5&&(t.emit("viewend"),t.send("viewend"),t.mux.log.warn("Ending view after rebuffering for longer than ".concat(3e5,"ms, future events will be ignored unless a programchange or videochange occurs.")))}t.data.view_watch_time>=0&&t.data.view_rebuffer_count>0&&(t.data.view_rebuffer_frequency=t.data.view_rebuffer_count/t.data.view_watch_time,t.data.view_rebuffer_percentage=t.data.view_rebuffer_duration/t.data.view_watch_time)};t.on("playbackheartbeat",function(e,t){return a(t)}),t.on("rebufferstart",function(e,a){i||(ed(t.data,"view_rebuffer_count",1),i=a.viewer_time,t.one("rebufferend",r))}),t.on("viewinit",function(){i=void 0,t.off("rebufferend",r)})}},eN=function(){function e(t){var i=this;z(this,e),J(this,"_lastCheckedTime",void 0),J(this,"_lastPlayheadTime",void 0),J(this,"_lastPlayheadTimeUpdatedTime",void 0),J(this,"_rebuffering",void 0),J(this,"pm",void 0),this.pm=t,t.disableRebufferTracking||t.disablePlayheadRebufferTracking||(this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null,t.on("playbackheartbeat",this._checkIfRebuffering.bind(this)),t.on("playbackheartbeatend",this._cleanupRebufferTracker.bind(this)),t.on("seeking",function(){i._cleanupRebufferTracker(null,{viewer_time:$()})}))}return Z(e,[{key:"_checkIfRebuffering",value:function(e,t){if(this.pm.seekingTracker.isSeeking||this.pm.adTracker.isAdBreak||!this.pm.playbackHeartbeat._playheadShouldBeProgressing)return void this._cleanupRebufferTracker(e,t);if(null===this._lastCheckedTime)return void this._prepareRebufferTrackerState(t.viewer_time);if(this._lastPlayheadTime!==this.pm.data.player_playhead_time)return void this._cleanupRebufferTracker(e,t,!0);var i=t.viewer_time-this._lastPlayheadTimeUpdatedTime;"number"==typeof this.pm.sustainedRebufferThreshold&&i>=this.pm.sustainedRebufferThreshold&&(this._rebuffering||(this._rebuffering=!0,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}))),this._lastCheckedTime=t.viewer_time}},{key:"_clearRebufferTrackerState",value:function(){this._lastCheckedTime=null,this._lastPlayheadTime=null,this._lastPlayheadTimeUpdatedTime=null}},{key:"_prepareRebufferTrackerState",value:function(e){this._lastCheckedTime=e,this._lastPlayheadTime=this.pm.data.player_playhead_time,this._lastPlayheadTimeUpdatedTime=e}},{key:"_cleanupRebufferTracker",value:function(e,t){var i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if(this._rebuffering)this._rebuffering=!1,this.pm.emit("rebufferend",{viewer_time:t.viewer_time});else{if(null===this._lastCheckedTime)return;var r=this.pm.data.player_playhead_time-this._lastPlayheadTime,a=t.viewer_time-this._lastPlayheadTimeUpdatedTime;"number"==typeof this.pm.minimumRebufferDuration&&r>0&&a-r>this.pm.minimumRebufferDuration&&(this._lastCheckedTime=null,this.pm.emit("rebufferstart",{viewer_time:this._lastPlayheadTimeUpdatedTime}),this.pm.emit("rebufferend",{viewer_time:this._lastPlayheadTimeUpdatedTime+a-r}))}i?this._prepareRebufferTrackerState(t.viewer_time):this._clearRebufferTrackerState()}}]),e}(),eU=function(){function e(t){var i=this;z(this,e),J(this,"pm",void 0),this.pm=t,t.on("viewinit",function(){var e=t.data,r=e.view_id;if(!e.view_program_changed){var a=function(e,a){var s=a.viewer_time;"playing"===e.type&&void 0===t.data.view_time_to_first_frame?i.calculateTimeToFirstFrame(s||$(),r):"adplaying"===e.type&&(void 0===t.data.view_time_to_first_frame||i._inPrerollPosition())&&i.calculateTimeToFirstFrame(s||$(),r)};t.one("playing",a),t.one("adplaying",a),t.one("viewend",function(){t.off("playing",a),t.off("adplaying",a)})}})}return Z(e,[{key:"_inPrerollPosition",value:function(){return void 0===this.pm.data.view_content_playback_time||this.pm.data.view_content_playback_time<=1e3}},{key:"calculateTimeToFirstFrame",value:function(e,t){t===this.pm.data.view_id&&(this.pm.watchTimeTracker._updateWatchTime(null,{viewer_time:e}),this.pm.data.view_time_to_first_frame=this.pm.data.view_watch_time,(this.pm.data.player_autoplay_on||this.pm.data.video_is_autoplay)&&this.pm.pageLoadInitTime&&(this.pm.data.view_aggregate_startup_time=this.pm.data.view_start+this.pm.data.view_watch_time-this.pm.pageLoadInitTime))}}]),e}(),eF=function e(t){var i=this;z(this,e),J(this,"_lastPlayerHeight",void 0),J(this,"_lastPlayerWidth",void 0),J(this,"_lastPlayheadPosition",void 0),J(this,"_lastSourceHeight",void 0),J(this,"_lastSourceWidth",void 0),t.on("viewinit",function(){i._lastPlayheadPosition=-1}),["pause","rebufferstart","seeking","error","adbreakstart","hb","renditionchange","orientationchange","viewend","playbackmodechange"].forEach(function(e){t.on(e,function(){if(i._lastPlayheadPosition>=0&&t.data.player_playhead_time>=0&&i._lastPlayerWidth>=0&&i._lastSourceWidth>0&&i._lastPlayerHeight>=0&&i._lastSourceHeight>0){var e=t.data.player_playhead_time-i._lastPlayheadPosition;if(e<0){i._lastPlayheadPosition=-1;return}var r=Math.min(i._lastPlayerWidth/i._lastSourceWidth,i._lastPlayerHeight/i._lastSourceHeight),a=Math.max(0,r-1),s=Math.max(0,1-r);t.data.view_max_upscale_percentage=Math.max(t.data.view_max_upscale_percentage||0,a),t.data.view_max_downscale_percentage=Math.max(t.data.view_max_downscale_percentage||0,s),ed(t.data,"view_total_content_playback_time",e),ed(t.data,"view_total_upscaling",a*e),ed(t.data,"view_total_downscaling",s*e)}i._lastPlayheadPosition=-1})}),["playing","hb","renditionchange","orientationchange","playbackmodechange"].forEach(function(e){t.on(e,function(){i._lastPlayheadPosition=t.data.player_playhead_time,i._lastPlayerWidth=t.data.player_width,i._lastPlayerHeight=t.data.player_height,i._lastSourceWidth=t.data.video_source_width,i._lastSourceHeight=t.data.video_source_height})})},eB=function e(t){var i=this;z(this,e),J(this,"isSeeking",void 0),this.isSeeking=!1;
1var r=-1,a=function(){var e=$(),a=(t.data.viewer_time||e)-(r||e);ed(t.data,"view_seek_duration",a),t.data.view_max_seek_time=Math.max(t.data.view_max_seek_time||0,a),i.isSeeking=!1,r=-1};t.on("seeking",function(e,s){if(Object.assign(t.data,s),i.isSeeking&&s.viewer_time-r<=2e3){r=s.viewer_time;return}i.isSeeking&&a(),i.isSeeking=!0,r=s.viewer_time,ed(t.data,"view_seek_count",1),t.send("seeking")}),t.on("seeked",function(){a()}),t.on("viewend",function(){i.isSeeking&&(a(),t.send("seeked")),i.isSeeking=!1,r=-1})},e$=function(e,t){e.push(t),e.sort(function(e,t){return e.viewer_time-t.viewer_time})},eH=["adbreakstart","adrequest","adresponse","adplay","adplaying","adpause","adended","adbreakend","aderror","adclicked","adskipped"],eG=function(){function e(t){var i=this;z(this,e),J(this,"_adHasPlayed",void 0),J(this,"_adRequests",void 0),J(this,"_adResponses",void 0),J(this,"_currentAdRequestNumber",void 0),J(this,"_currentAdResponseNumber",void 0),J(this,"_prerollPlayTime",void 0),J(this,"_wouldBeNewAdPlay",void 0),J(this,"isAdBreak",void 0),J(this,"pm",void 0),this.pm=t,t.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}),eH.forEach(function(e){return t.on(e,i._updateAdData.bind(i))});var r=function(){i.isAdBreak=!1};t.on("adbreakstart",function(){i.isAdBreak=!0}),t.on("play",r),t.on("playing",r),t.on("viewend",r),t.on("adrequest",function(e,r){r=Object.assign({ad_request_id:"generatedAdRequestId"+i._currentAdRequestNumber++},r),e$(i._adRequests,r),ed(t.data,"view_ad_request_count"),i.inPrerollPosition()&&(t.data.view_preroll_requested=!0,i._adHasPlayed||ed(t.data,"view_preroll_request_count"))}),t.on("adresponse",function(e,r){r=Object.assign({ad_request_id:"generatedAdRequestId"+i._currentAdResponseNumber++},r),e$(i._adResponses,r);var a=i.findAdRequest(r.ad_request_id);a&&ed(t.data,"view_ad_request_time",Math.max(0,r.viewer_time-a.viewer_time))}),t.on("adplay",function(e,r){i._adHasPlayed=!0,i._wouldBeNewAdPlay&&(i._wouldBeNewAdPlay=!1,ed(t.data,"view_ad_played_count")),i.inPrerollPosition()&&!t.data.view_preroll_played&&(t.data.view_preroll_played=!0,i._adRequests.length>0&&(t.data.view_preroll_request_time=Math.max(0,r.viewer_time-i._adRequests[0].viewer_time)),t.data.view_start&&(t.data.view_startup_preroll_request_time=Math.max(0,r.viewer_time-t.data.view_start)),i._prerollPlayTime=r.viewer_time)}),t.on("adplaying",function(e,r){i.inPrerollPosition()&&void 0===t.data.view_preroll_load_time&&void 0!==i._prerollPlayTime&&(t.data.view_preroll_load_time=r.viewer_time-i._prerollPlayTime,t.data.view_startup_preroll_load_time=r.viewer_time-i._prerollPlayTime)}),t.on("adclicked",function(e,r){i._wouldBeNewAdPlay||ed(t.data,"view_ad_clicked_count")}),t.on("adskipped",function(e,r){i._wouldBeNewAdPlay||ed(t.data,"view_ad_skipped_count")}),t.on("adended",function(){i._wouldBeNewAdPlay=!0}),t.on("aderror",function(){i._wouldBeNewAdPlay=!0})}return Z(e,[{key:"inPrerollPosition",value:function(){return void 0===this.pm.data.view_content_playback_time||this.pm.data.view_content_playback_time<=1e3}},{key:"findAdRequest",value:function(e){for(var t=0;t<this._adRequests.length;t++)if(this._adRequests[t].ad_request_id===e)return this._adRequests[t]}},{key:"_updateAdData",value:function(e,t){if(this.inPrerollPosition()){if(!this.pm.data.view_preroll_ad_tag_hostname&&t.ad_tag_url){var i=N(ea(t.ad_tag_url),2),r=i[0],a=i[1];this.pm.data.view_preroll_ad_tag_domain=a,this.pm.data.view_preroll_ad_tag_hostname=r}if(!this.pm.data.view_preroll_ad_asset_hostname&&t.ad_asset_url){var s=N(ea(t.ad_asset_url),2),n=s[0],o=s[1];this.pm.data.view_preroll_ad_asset_domain=o,this.pm.data.view_preroll_ad_asset_hostname=n}this.pm.data.ad_type="preroll"}this.pm.data.ad_asset_url=null==t?void 0:t.ad_asset_url,this.pm.data.ad_tag_url=null==t?void 0:t.ad_tag_url,this.pm.data.ad_creative_id=null==t?void 0:t.ad_creative_id,this.pm.data.ad_id=null==t?void 0:t.ad_id,this.pm.data.ad_universal_id=null==t?void 0:t.ad_universal_id,null!=t&&t.ad_type&&(this.pm.data.ad_type=null==t?void 0:t.ad_type)}}]),e}(),eK=function e(t){var i=this;z(this,e),J(this,"lastWallClockTime",void 0);var r=function(){i.lastWallClockTime=$(),t.on("before*",a)},a=function(e){var r=$(),a=i.lastWallClockTime;
1i.lastWallClockTime=r,r-a>3e4&&(t.emit("devicesleep",{viewer_time:a}),Object.assign(t.data,{viewer_time:a}),t.send("devicesleep"),t.emit("devicewake",{viewer_time:r}),Object.assign(t.data,{viewer_time:r}),t.send("devicewake"))};t.one("playbackheartbeat",r),t.on("playbackheartbeatend",function(){t.off("before*",a),t.one("playbackheartbeat",r)})},eW=f(p()),eV=(ty=function(){for(var e=0,t={};e<arguments.length;e++){var i=arguments[e];for(var r in i)t[r]=i[r]}return t},function e(t){function i(e,r,a){var s;if("u">typeof document){if(arguments.length>1){if("number"==typeof(a=ty({path:"/"},i.defaults,a)).expires){var n=new Date;n.setMilliseconds(n.getMilliseconds()+864e5*a.expires),a.expires=n}try{s=JSON.stringify(r),/^[\{\[]/.test(s)&&(r=s)}catch(e){}return r=t.write?t.write(r,e):encodeURIComponent(String(r)).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+"="+r+(a.expires?"; expires="+a.expires.toUTCString():"")+(a.path?"; path="+a.path:"")+(a.domain?"; domain="+a.domain:"")+(a.secure?"; secure":"")}e||(s={});for(var o=document.cookie?document.cookie.split("; "):[],l=/(%[0-9A-Z]{2})+/g,d=0;d<o.length;d++){var h=o[d].split("="),u=h.slice(1).join("=");'"'===u.charAt(0)&&(u=u.slice(1,-1));try{var c=h[0].replace(l,decodeURIComponent);if(u=t.read?t.read(u,c):t(u,c)||u.replace(l,decodeURIComponent),this.json)try{u=JSON.parse(u)}catch(e){}if(e===c){s=u;break}e||(s[c]=u)}catch(e){}}return s}}return i.set=i,i.get=function(e){return i.call(i,e)},i.getJSON=function(){return i.apply({json:!0},[].slice.call(arguments))},i.defaults={},i.remove=function(e,t){i(e,"",ty(t,{expires:-1}))},i.withConverter=e,i}(function(){})),eq="muxData",eY=function(){var e;try{e=(eV.get(eq)||"").split("&").reduce(function(e,t){var i=N(t.split("="),2),r=i[0],a=i[1],s=+a;return e[r]=a&&s==a?s:a,e},{})}catch(t){e={}}return e},ej=function(e){try{eV.set(eq,Object.entries(e).map(function(e){var t=N(e,2),i=t[0],r=t[1];return"".concat(i,"=").concat(r)}).join("&"),{expires:365})}catch(e){}},eQ=function(){var e=eY();return e.mux_viewer_id=e.mux_viewer_id||H(),e.msn=e.msn||Math.random(),ej(e),{mux_viewer_id:e.mux_viewer_id,mux_sample_number:e.msn}},ez=function(){var e=eY(),t=$();return e.session_start&&(e.sst=e.session_start,delete e.session_start),e.session_id&&(e.sid=e.session_id,delete e.session_id),e.session_expires&&(e.sex=e.session_expires,delete e.session_expires),(!e.sex||e.sex<t)&&(e.sid=H(),e.sst=t),e.sex=t+15e5,ej(e),{session_id:e.sid,session_start:e.sst,session_expires:e.sex}},eX=eJ({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"}),eZ=eJ({ad:"ad",af:"affiliate",ag:"aggregate",ap:"api",al:"application",ao:"audio",ar:"architecture",as:"asset",au:"autoplay",av:"average",bi:"bitrate",bn:"brand",br:"break",bw:"browser",by:"bytes",bz:"business",ca:"cached",cb:"cancel",cc:"codec",cd:"code",cg:"category",ch:"changed",ci:"client",ck:"clicked",cl:"canceled",cm:"cmcd",cn:"config",co:"count",ce:"counter",cp:"complete",cq:"creator",cr:"creative",cs:"captions",ct:"content",cu:"current",cv:"cumulative",cx:"connection",cz:"context",da:"data",dg:"downscaling",dm:"domain",dn:"cdn",do:"downscale",dr:"drm",dp:"dropped",du:"duration",dv:"device",dy:"dynamic",eb:"enabled",ec:"encoding",ed:"edge",en:"end",eg:"engine",em:"embed",er:"error",ep:"experiments",es:"errorcode",et:"errortext",ee:"event",ev:"events",ex:"expires",ez:"exception",fa:"failed",fi:"first",fm:"family",ft:"format",fp:"fps",fq:"frequency",fr:"frame",fs:"fullscreen",ha:"has",hb:"holdback",he:"headers",ho:"host",hn:"hostname",ht:"height",id:"id",ii:"init",in:"instance",ip:"ip",is:"is",ke:"key",la:"language",lb:"labeled",le:"level",li:"live",ld:"loaded",lo:"load",lw:"low",ls:"lists",lt:"latency",ma:"max",md:"media",me:"message",mf:"manifest",mi:"mime",ml:"midroll",mm:"min",mn:"manufacturer",mo:"model",mp:"mode",ms:"ms",mx:"mux",ne:"newest",nm:"name",no:"number",on:"on",or:"origin",os:"os",pa:"paused",pb:"playback",pd:"producer",pe:"percentage",pf:"played",pg:"program",ph:"playhead",pi:"plugin",pl:"preroll",pn:"playing",po:"poster",pp:"pip",pr:"preload",ps:"position",pt:"part",pv:"previous",py:"property",px:"pop",pz:"plan",ra:"rate",rd:"requested",re:"rebuffer",rf:"rendition",rg:"range",rm:"remote",ro:"ratio",rp:"response",rq:"request",rs:"requests",sa:"sample",sd:"skipped",se:"session",sh:"shift",sk:"seek",sm:"stream",so:"source",sq:"sequence",sr:"series",ss:"status",st:"start",su:"startup",sv:"server",sw:"software",sy:"severity",ta:"tag",tc:"tech",te:"text",tg:"target",th:"throughput",ti:"time",tl:"total",to:"to",tt:"title",ty:"type",ug:"upscaling",un:"universal",up:"upscale",ur:"url",us:"user",va:"variant",vd:"viewed",vi:"video",ve:"version",vw:"view",vr:"viewer",wd:"width",wa:"watch",wt:"waiting"});function eJ(e){var t={};for(var i in e)e.hasOwnProperty(i)&&(t[e[i]]=i);return t}function e0(e){var t={},i={};return Object.keys(e).forEach(function(r){var a=!1;if(e.hasOwnProperty(r)&&void 0!==e[r]){var s=r.split("_"),n=s[0],o=eX[n];o||(q.info("Data key word `"+s[0]+"` not expected in "+r),o=n+"_"),s.splice(1).forEac
1h(function(e){"url"===e&&(a=!0),eZ[e]?o+=eZ[e]:Number.isInteger(Number(e))?o+=e:(q.info("Data key word `"+e+"` not expected in "+r),o+="_"+e+"_")}),a?i[o]=e[r]:t[o]=e[r]}}),Object.assign(t,i)}var e1=f(p()),e2=f(x()),e3={maxBeaconSize:300,maxQueueLength:3600,baseTimeBetweenBeacons:1e4,maxPayloadKBSize:500},e4=["hb","requestcompleted","requestfailed","requestcanceled"],e5=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._beaconUrl=e||"https://img.litix.io",this._eventQueue=[],this._postInFlight=!1,this._resendAfterPost=!1,this._failureCount=0,this._sendTimeout=!1,this._options=Object.assign({},e3,t)};e5.prototype.queueEvent=function(e,t){var i=Object.assign({},t);return(this._eventQueue.length<=this._options.maxQueueLength||"eventrateexceeded"===e)&&(this._eventQueue.push(i),this._sendTimeout||this._startBeaconSending(),this._eventQueue.length<=this._options.maxQueueLength)},e5.prototype.flushEvents=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];e&&1===this._eventQueue.length?this._eventQueue.pop():(this._eventQueue.length&&this._sendBeaconQueue(),this._startBeaconSending())},e5.prototype.destroy=function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.destroyed=!0,e?this._clearBeaconQueue():this.flushEvents(),e1.default.clearTimeout(this._sendTimeout)},e5.prototype._clearBeaconQueue=function(){var e=this._eventQueue.length>this._options.maxBeaconSize?this._eventQueue.length-this._options.maxBeaconSize:0,t=this._eventQueue.slice(e);e>0&&Object.assign(t[t.length-1],e0({mux_view_message:"event queue truncated"}));var i=this._createPayload(t);e9(this._beaconUrl,i,!0,function(){})},e5.prototype._sendBeaconQueue=function(){var e=this;if(this._postInFlight){this._resendAfterPost=!0;return}var t=this._eventQueue.slice(0,this._options.maxBeaconSize);this._eventQueue=this._eventQueue.slice(this._options.maxBeaconSize),this._postInFlight=!0;var i=this._createPayload(t),r=$();e9(this._beaconUrl,i,!1,function(i,a){a?(e._eventQueue=t.concat(e._eventQueue),e._failureCount+=1,q.info("Error sending beacon: "+a)):e._failureCount=0,e._roundTripTime=$()-r,e._postInFlight=!1,e._resendAfterPost&&(e._resendAfterPost=!1,e._eventQueue.length>0&&e._sendBeaconQueue())})},e5.prototype._getNextBeaconTime=function(){if(!this._failureCount)return this._options.baseTimeBetweenBeacons;var e=Math.pow(2,this._failureCount-1);return(1+(e*=Math.random()))*this._options.baseTimeBetweenBeacons},e5.prototype._startBeaconSending=function(){var e=this;e1.default.clearTimeout(this._sendTimeout),this.destroyed||(this._sendTimeout=e1.default.setTimeout(function(){e._eventQueue.length&&e._sendBeaconQueue(),e._startBeaconSending()},this._getNextBeaconTime()))},e5.prototype._createPayload=function(e){var t=this,i={transmission_timestamp:Math.round($())};this._roundTripTime&&(i.rtt_ms=Math.round(this._roundTripTime));var r,a,s,n=function(){s=(r=JSON.stringify({metadata:i,events:a||e})).length/1024},o=function(){return s<=t._options.maxPayloadKBSize};return n(),o()||(q.info("Payload size is too big ("+s+" kb). Removing unnecessary events."),a=e.filter(function(e){return -1===e4.indexOf(e.e)}),n()),o()||(q.info("Payload size still too big ("+s+" kb). Cropping fields.."),a.forEach(function(e){for(var t in e){var i=e[t];"string"==typeof i&&i.length>51200&&(e[t]=i.substring(0,51200))}}),n()),r};var e8="function"==typeof e2.default.exitPictureInPicture?function(e){return e.length<=57344}:function(e){return!1},e9=function(e,t,i,r){if(i&&navigator&&navigator.sendBeacon&&navigator.sendBeacon(e,t))return void r();if(e1.default.fetch)return void e1.default.fetch(e,{method:"POST",body:t,headers:{"Content-Type":"text/plain"},keepalive:e8(t)}).then(function(e){return r(null,e.ok?null:"Error")}).catch(function(e){return r(null,e)});if(e1.default.XMLHttpRequest){var a=new e1.default.XMLHttpRequest;a.onreadystatechange=function(){if(4===a.readyState)return r(null,200!==a.status?"error":void 0)},a.open("POST",e),a.setRequestHeader("Content-Type","text/plain"),a.send(t);return}r()},e6=["env_key","view_id","view_sequence_number","player_sequence_number","beacon_domain","player_playhead_time","viewer_time","mux_api_version","event","video_id","player_instance_id","player_error_code","player_error_message","player_error_context","player_error_severity","player_error_business_exception","view_playing_time_ms_cumulative","ad_playing_time_ms_cumulative"],e7=["adplay","adplaying","adpause","adfirstquartile","admidpoint","adthirdquartile","adended","adresponse","adrequest"],te=["ad_id","ad_creative_id","ad_universal_id"],tt=["viewstart","error","ended","viewend"],ti=function(){function e(t,i){var r,a,s,n,o,l,d,h,u,c,m,f,p,g,v,E,y,b,T,A=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};z(this,e),J(this,"mux",void 0),J(this,"envKey",void 0),J(this,"options",void 0),J(this,"eventQueue",void 0),J(this,"sampleRate",void 0),J(this,"disableCookies",void 0),J(this,"respectDoNotTrack",void 0),J(this,"previousBeaconData",void 0),J(this,"lastEventTime",void 0),J(this,"rateLimited",void 0),J(this,"pageLevelData",void 0),J(this,"viewerData",void 0),this.mux=t,this.envKey=i,this.options=A,this.previousBeaconData=null,this.lastEventTime=0,this.rateLimited=!1,this.eventQueue=new e5((r=this.envKey,s=(a=this.options).beaconCollectionDomain,n=a.beaconDomain,s?(/localhost(?::\d+)?$/.test(s)?"http://":"https://")+s:(r=r||"inferred").match(/^[a-z0-9]+$/)?"https://"+r+"."+(n||"litix.io"):"https://img.litix.io/a.gif")),this.sampleRate=null!=(y=this.options.sampleRate)?y:1,this.disableCookies=null!=(b=this.options.disableCookies)&&b,this.respectDoNotTrack=null!=(T=this.options.respectDoNotTrack)&&T,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:null==(o=this.options.platform)?void 0:o.name,viewer_application_version:null==(l=this.options.platform)?void 0:l.version,viewer_application_engine:null==(d=this.options.platform)?void 0:d.layout,viewer_device_name:null==(h=this.options.platform)?void 0:h.product,viewer_device_category:"",viewer_device_manufacturer:null==(u=this.options.platform)?void 0:u.manufacturer,viewer_os_family:null==(m=this.options.platform)||null==(c=m.os)?void 0:c.family,viewer_os_architecture:null==(p=this.options.platform)||null==(f=p.os)?void 0:f.architecture,viewer_os_version:null==(v=this.options.platform)||null==(g=v.os)?void 0:g.version,page_url:null===eW.default||void 0===eW.default||null==(E=eW.default.location)?void 0:E.href},this.viewerData=this.disableCookies?{}:eQ()}return Z(e,[{key:"send",value:function(e,t){if(!(!e||!(null!=t&&t.view_id))){if(this.respectDoNotTrack&&j())return q.info("Not sending `"+e+"` because Do Not Track is enabled");if(!t||"object"!=typeof t)return q.error("A data object was expected in send() but was not provided");var i=this.disableCookies?{}:ez(),r=eu(eh({},this.pageLevelData,t,i,this.viewerData),{event:e,env_key:this.envKey});r.user_id&&(r.viewer_user_id=r.user_id,delete r.user_id);var a,s=(null!=(a=r.mux_sample_number)?a:0)>=this.sampleRate,n=e0(this._deduplicateBeaconData(e,r));if(this.lastEventTime=this.mux.utils.now(),s)return q.info("Not sending event due to sample rate restriction",e,r,n);if(this.envKey||q.info("Missing environment key (envKey) - beacons will be dropped if the video source is not a valid mux video URL",e,r,n),!this.rateLimited)if(q.info("Sending event",e,r,n),this.rateLimited=!this.eventQueue.queueEvent(e,n),this.mux.WINDOW_UNLOADING&&"viewend"===e)this.eventQueue.destroy(!0);else{if(this.mux.WINDOW_HIDDEN&&"hb"===e)this.eventQueue.flushEvents(!0);else if(tt.indexOf(e)>=0){if("error"===e&&"warning"===t.player_error_severity)return;this.eventQueue.flushEvents()}if(this.rateLimited)return r.event="eventrateexceeded",n=e0(r),this.eventQueue.queueEvent(r.event,n),q.error("Beaconing disabled due to rate limit.")}}}},{key:"destroy",value:function(){this.eventQueue.destroy(!1)}},{key:"_deduplicateBeaconData",value:function(e,t){var i=this,r={},a=t.view_id;if("-1"===a||"viewstart"===e||"viewend"===e||!this.previousBeaconData||this.mux.utils.now()-this.lastEventTime>=6e5)r=eh({},t),a&&(this.previousBeaconData=r),a&&"viewend"===e&&(this.previousBeaconData=null);else{var s=0===e.indexOf("request");Object.entries(t).forEach(function(t){var a=N(t,2),n=a[0],o=a[1];i.previousBeaconData&&(o!==i.previousBeaconData[n]||e6.indexOf(n)>-1||i.objectHasChanged(s,n,o,i.previousBeaconData[n])||i.eventRequiresKey(e,n))&&
1(r[n]=o,i.previousBeaconData[n]=o)})}return r}},{key:"objectHasChanged",value:function(e,t,i,r){return!!e&&0===t.indexOf("request_")&&("request_response_headers"===t||"object"!=typeof i||"object"!=typeof r||Object.keys(i||{}).length!==Object.keys(r||{}).length)}},{key:"eventRequiresKey",value:function(e,t){return!!("renditionchange"===e&&0===t.indexOf("video_source_")||te.includes(t)&&e7.includes(e)||"playbackmodechange"===e&&0===t.indexOf("player_playback_mode"))}}]),e}(),tr=function e(t){z(this,e);var i=0,r=0,a=0,s=0,n=0,o=0,l=0;t.on("requestcompleted",function(e,o){var l,d,h=o.request_start,u=o.request_response_start,c=o.request_response_end,m=o.request_bytes_loaded;if(s++,u?(l=u-(null!=h?h:0),d=(null!=c?c:0)-u):d=(null!=c?c:0)-(null!=h?h:0),d>0&&m&&m>0){var f=m/d*8e3;n++,r+=m,a+=d,t.data.view_min_request_throughput=Math.min(t.data.view_min_request_throughput||1/0,f),t.data.view_average_request_throughput=r/a*8e3,t.data.view_request_count=s,l>0&&(i+=l,t.data.view_max_request_latency=Math.max(t.data.view_max_request_latency||0,l),t.data.view_average_request_latency=i/n)}}),t.on("requestfailed",function(e,i){s++,o++,t.data.view_request_count=s,t.data.view_request_failed_count=o}),t.on("requestcanceled",function(e,i){s++,l++,t.data.view_request_count=s,t.data.view_request_canceled_count=l})},ta=function e(t){var i=this;z(this,e),J(this,"_lastEventTime",void 0),t.on("before*",function(e,r){var a=r.viewer_time,s=$(),n=i._lastEventTime;if(i._lastEventTime=s,n&&s-n>36e5){var o=Object.keys(t.data).reduce(function(e,i){return 0===i.indexOf("video_")?Object.assign(e,J({},i,t.data[i])):e},{});t.mux.log.info("Received event after at least an hour inactivity, creating a new view");var l=t.playbackHeartbeat._playheadShouldBeProgressing;t._resetView(Object.assign({viewer_time:a},o)),t.playbackHeartbeat._playheadShouldBeProgressing=l,t.playbackHeartbeat._playheadShouldBeProgressing&&"play"!==e.type&&"adbreakstart"!==e.type&&(t.emit("play",{viewer_time:a}),"playing"!==e.type&&t.emit("playing",{viewer_time:a}))}})};function ts(e,t){return(null==e?void 0:e.toLowerCase())===(null==t?void 0:t.toLowerCase())}var tn=function e(t){z(this,e);var i=function(e){var i,r,a,o=null!=(i=e)&&i.request_type&&("media"===i.request_type||"video"===i.request_type)&&null!=(r=i.request_response_headers)&&r["x-cdn"]?i.request_response_headers["x-cdn"]:null!=i&&i.video_cdn?i.video_cdn:null,l=null!=(a=e)&&a.request_start?a.request_start:null!=a&&a.viewer_time?a.viewer_time:Date.now();null!=o&&!ts(o,s)&&n<=l&&(s=o,n=l,t.emit("cdnchange",{video_cdn:o}))},r=null,a=null,s=null,n=0;t.on("viewinit",function(){r=null,a=null,s=null,n=0}),t.on("beforecdnchange",function(e,t){var i=null==t?void 0:t.video_cdn;i&&(void 0===t.video_previous_cdn||null===t.video_previous_cdn)&&(ts(i,a)?t.video_previous_cdn=null!=r?r:void 0:(t.video_previous_cdn=null!=a?a:void 0,r=a,a=i))}),t.on("requestcompleted",function(e,t){i(t)})},to=function(e){try{return JSON.parse(e),!0}catch(e){return!1}},tl=function e(t){var i=this;z(this,e),J(this,"_emittingAutomaticEvent",!1),J(this,"_hasInitialized",!1),J(this,"_currentMode","standard"),t.on("viewstart",function(){i._hasInitialized||(i._hasInitialized=!0,i._currentMode=t.data.player_playback_mode||"standard",i._emittingAutomaticEvent=!0,t.emit("playbackmodechange",{player_playback_mode:i._currentMode,player_playback_mode_data:"{}"}),i._emittingAutomaticEvent=!1)}),t.on("viewend",function(){i._hasInitialized=!1}),t.on("playbackmodechange",function(e,r){i._emittingAutomaticEvent||(r.player_playback_mode_data?to(r.player_playback_mode_data)||(t.mux.log.warn("Invalid JSON string for player_playback_mode_data"),r.player_playback_mode_data="{}"):r.player_playback_mode_data="{}",t.data.player_playback_mode_data=r.player_playback_mode_data,t.data.player_playback_mode=r.player_playback_mode,i._currentMode=r.player_playback_mode)})},td=function(){function e(t){z(this,e),J(this,"pm",void 0),J(this,"_currentRangeStart",void 0),J(this,"_lastPlayheadTime",void 0),this.pm=t,this._currentRangeStart=null,this._lastPlayheadTime=null,t.on("playbackheartbeat",this._updatePlaybackRange.bind(this)),t.on("playbackheartbeatend",this._endPlaybackRange.bind(this))}return Z(e,[{key:"_updateLastRangeEnd",value:function(){var e=this.pm.data.video_playback_ranges;if(e&&e.length>0){var t=this.pm.data.player_playhead_time||0;e[e.length-1][1]=t}}},{key:"_updatePlaybackRange",value:function(){var e,t=this.pm.data.player_playhead_time||0;if(!(!this.pm.disableAdPlaybackRangeFiltering&&null!=(e=this.pm.adTracker)&&e.isAdBreak&&null!==this._lastPlayheadTime&&t<this._lastPlayheadTime)){if(null!==this._lastPlayheadTime&&null!==this._currentRangeStart&&Math.abs(t-this._lastPlayheadTime)>1e3){var i=this.pm.data.video_playback_ranges;i&&i.length>0&&(i[i.length-1][1]=this._lastPlayheadTime),this._currentRangeStart=null}if(null===this._currentRangeStart){var r=this.pm.data.video_playback_ranges||[];r.length>0&&r[r.length-1][1]===t?this._currentRangeStart=r[r.length-1][0]:(this._currentRangeStart=t,r.push([t,t])),this.pm.data.video_playback_ranges=r}else this._updateLastRangeEnd();this._lastPlayheadTime=t}}},{key:"_endPlaybackRange",value:function(){null!==this._currentRangeStart&&(this._updateLastRangeEnd(),this._currentRangeStart=null,this._lastPlayheadTime=null)}}]),e}(),th=Object.freeze({CELLULAR:"cellular",WIFI:"wifi",WIRED:"wired",OTHER:"other",NO_CONNECTION:"no_connection",UNKNOWN:"unknown"}),tu=function(e){if(!e)return th.UNKNOWN;switch(e){case"cellular":case"wimax":return th.CELLULAR;case"wifi":return th.WIFI;case"ethernet":return th.WIRED;case"none":return th.NO_CONNECTION;case"bluetooth":case"other":default:return th.OTHER;case"unknown":return th.UNKNOWN}},tc=f(p()),tm=function(){function e(t){var i=this;z(this,e),J(this,"pm",void 0),J(this,"lastType",void 0),J(this,"lastLowDataMode",void 0),this.pm=t,this.pm.one("viewinit",function(){var t,r=i.emit.bind(i);r(),tc.default.addEventListener("online",r),tc.default.addEventListener("offline",r),null==(t=e.connection)||t.addEventListener("change",r),i.pm.on("destroy",function(){var t;null==(t=e.connection)||t.removeEventListener("change",r),tc.default.removeEventListener("online",r),tc.default.removeEventListener("offline",r)})})}return Z(e,[{key:"type",get:function(){var t,i;return(null==(t=tc.default.navigator)?void 0:t.onLine)===!1?th.NO_CONNECTION:null!=(i=e.connection)&&i.type?tu(e.connection.type):th.UNKNOWN}},{key:"lowDataMode",get:function(){var t;return null==(t=e.connection)?void 0:t.saveData}},{key:"emit",value:function(){var e=this.type,t=this.lowDataMode;e===this.lastType&&t===this.lastLowDataMode||(this.lastType=e,this.lastLowDataMode=t,this.pm.emit("networkchange",eh({viewer_connection_type:e},void 0!==t&&{viewer_connection_low_data_mode:t})))}}
1],[{key:"connection",get:function(){var e;return"object"==typeof(e=tc.default.navigator)&&"connection"in e&&"object"==typeof e.connection?tc.default.navigator.connection:null}}]),e}(),tf=["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","networkchange","cdnchange","playbackmodechange"],tp=new Set(["requestcompleted","requestfailed","requestcanceled"]),tg=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");r.prototype=Object.create(e&&e.prototype,{constructor:{value:r,writable:!0,configurable:!0}}),e&&ei(r,e);var t,i=(t=function(){if("u"<typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}(),function(){var e,i=ee(r);return e=t?Reflect.construct(i,arguments,ee(this).constructor):i.apply(this,arguments),e&&("object"===E(e)||"function"==typeof e)?e:Q(this)});function r(e,t,a){z(this,r),J(Q(s=i.call(this)),"pageLoadEndTime",void 0),J(Q(s),"pageLoadInitTime",void 0),J(Q(s),"_destroyed",void 0),J(Q(s),"_heartBeatTimeout",void 0),J(Q(s),"adTracker",void 0),J(Q(s),"dashjs",void 0),J(Q(s),"data",void 0),J(Q(s),"disablePlayheadRebufferTracking",void 0),J(Q(s),"disableRebufferTracking",void 0),J(Q(s),"disableAdPlaybackRangeFiltering",void 0),J(Q(s),"errorTracker",void 0),J(Q(s),"errorTranslator",void 0),J(Q(s),"emitTranslator",void 0),J(Q(s),"getAdData",void 0),J(Q(s),"getPlayheadTime",void 0),J(Q(s),"getStateData",void 0),J(Q(s),"stateDataTranslator",void 0),J(Q(s),"hlsjs",void 0),J(Q(s),"id",void 0),J(Q(s),"longResumeTracker",void 0),J(Q(s),"minimumRebufferDuration",void 0),J(Q(s),"mux",void 0),J(Q(s),"playbackEventDispatcher",void 0),J(Q(s),"playbackHeartbeat",void 0),J(Q(s),"playbackHeartbeatTime",void 0),J(Q(s),"playheadTime",void 0),J(Q(s),"seekingTracker",void 0),J(Q(s),"sustainedRebufferThreshold",void 0),J(Q(s),"watchTimeTracker",void 0),J(Q(s),"currentFragmentPDT",void 0),J(Q(s),"currentFragmentStart",void 0),s.pageLoadInitTime=el(),s.pageLoadEndTime=eo(),s.mux=e,s.id=t,null!=a&&a.beaconDomain&&s.mux.log.warn("The `beaconDomain` setting has been deprecated in favor of `beaconCollectionDomain`. Please change your integration to use `beaconCollectionDomain` instead of `beaconDomain`."),(a=Object.assign({debug:!1,minimumRebufferDuration:250,sustainedRebufferThreshold:1e3,playbackHeartbeatTime:25,beaconDomain:"litix.io",sampleRate:1,disableCookies:!1,respectDoNotTrack:!1,disableRebufferTracking:!1,disablePlayheadRebufferTracking:!1,disableAdPlaybackRangeFiltering:!1,errorTranslator:function(e){return e},emitTranslator:function(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return t},stateDataTranslator:function(e){return e}},a)).data=a.data||{},a.data.property_key&&(a.data.env_key=a.data.property_key,delete a.data.property_key),q.level=a.debug?1:3,s.getPlayheadTime=a.getPlayheadTime,s.getStateData=a.getStateData||function(){return{}},s.getAdData=a.getAdData||function(){},s.minimumRebufferDuration=a.minimumRebufferDuration,s.sustainedRebufferThreshold=a.sustainedRebufferThreshold,s.playbackHeartbeatTime=a.playbackHeartbeatTime,s.disableRebufferTracking=a.disableRebufferTracking,s.disableRebufferTracking&&s.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."),s.disablePlayheadRebufferTracking=a.disablePlayheadRebufferTracking,s.disableAdPlaybackRangeFiltering=a.disableAdPlaybackRangeFiltering,s.errorTranslator=a.errorTranslator,s.emitTranslator=a.emitTranslator,s.stateDataTranslator=a.stateDataTranslator,s.playbackEventDispatcher=new ti(e,a.data.env_key,a),s.data={player_instance_id:H(),mux_sample_rate:a.sampleRate,beacon_domain:a.beaconCollectionDomain||a.beaconDomain},s.data.view_sequence_number=1,s.data.player_sequence_number=1;var s,n=(function(){void 0===this.data.view_start&&(this.data.view_start=this.mux.utils.now(),this.emit
1("viewstart"),this.emit("renditionchange"))}).bind(Q(s));if(s.on("viewinit",function(e,t){this._resetVideoData(),this._resetViewData(),this._resetErrorData(),this._updateStateData(),Object.assign(this.data,t),this._initializeViewData(),this.one("play",n),this.one("adbreakstart",n)}),s.on("videochange",function(e,t){this._resetView(t)}),s.on("programchange",function(e,t){this.data.player_is_paused&&this.mux.log.warn("The `programchange` event is intended to be used when the content changes mid playback without the video source changing, however the video is not currently playing. If the video source is changing please use the videochange event otherwise you will lose startup time information."),this._resetView(Object.assign(t,{view_program_changed:!0})),n(),this.emit("play"),this.emit("playing")}),s.on("fragmentchange",function(e,t){this.currentFragmentPDT=t.currentFragmentPDT,this.currentFragmentStart=t.currentFragmentStart}),s.on("destroy",s.destroy),"u">typeof window&&"function"==typeof window.addEventListener&&"function"==typeof window.removeEventListener){var o=function(){var e=void 0!==s.data.view_start;s.mux.WINDOW_HIDDEN="hidden"===document.visibilityState,e&&s.mux.WINDOW_HIDDEN&&(s.data.player_is_paused||s.emit("hb"))};window.addEventListener("visibilitychange",o,!1);var l=function(e){e.persisted||s.destroy()};window.addEventListener("pagehide",l,!1),s.on("destroy",function(){window.removeEventListener("visibilitychange",o),window.removeEventListener("pagehide",l)})}return s.on("playerready",function(e,t){Object.assign(this.data,t)}),tf.forEach(function(e){s.on(e,function(t,i){0!==e.indexOf("ad")&&this._updateStateData(),Object.assign(this.data,i),this._sanitizeData()}),s.on("after"+e,function(){("error"!==e||this.errorTracker.viewErrored)&&this.send(e)})}),s.on("viewend",function(e,t){Object.assign(s.data,t)}),s.one("playerready",function(e){var t=this.mux.utils.now();this.data.player_init_time&&(this.data.player_startup_time=t-this.data.player_init_time),this.pageLoadInitTime=this.data.page_load_init_time||this.pageLoadInitTime,this.pageLoadEndTime=this.data.page_load_end_time||this.pageLoadEndTime,!this.mux.PLAYER_TRACKED&&this.pageLoadInitTime&&(this.mux.PLAYER_TRACKED=!0,(this.data.player_init_time||this.pageLoadEndTime)&&(this.data.page_load_time=Math.min(this.data.player_init_time||1/0,this.pageLoadEndTime||1/0)-this.pageLoadInitTime)),this.send("playerready"),delete this.data.player_startup_time,delete this.data.page_load_time}),s.longResumeTracker=new ta(Q(s)),s.errorTracker=new eC(Q(s)),new eK(Q(s)),s.seekingTracker=new eB(Q(s)),s.playheadTime=new eP(Q(s)),s.playbackHeartbeat=new eD(Q(s)),new eF(Q(s)),s.watchTimeTracker=new eM(Q(s)),new ex(Q(s)),new td(Q(s)),s.adTracker=new eG(Q(s)),new eN(Q(s)),new eO(Q(s)),new eU(Q(s)),new tr(Q(s)),new tn(Q(s)),new tl(Q(s)),new tm(Q(s)),a.hlsjs&&s.addHLSJS(a),a.dashjs&&s.addDashJS(a),s.emit("viewinit",a.data),s}return Z(r,[{key:"emit",value:function(e,t){var i,a=Object.assign({viewer_time:this.mux.utils.now()},t),s=[e,a];if(this.emitTranslator)try{s=this.emitTranslator(e,a)}catch(e){this.mux.log.warn("Exception in emit translator callback.",e)}null!=s&&s.length&&(i=et(ee(r.prototype),"emit",this)).call.apply(i,[this].concat(V(s)))}},{key:"destroy",value:function(){this._destroyed||(this._destroyed=!0,void 0!==this.data.view_start&&(this.emit
1("viewend"),this.send("viewend")),this.playbackEventDispatcher.destroy(),this.removeHLSJS(),this.removeDashJS(),window.clearTimeout(this._heartBeatTimeout))}},{key:"send",value:function(e){if(this.data.view_id){var t=Object.assign({},this.data);if(void 0===t.video_source_is_live&&(t.player_source_duration===1/0||t.video_source_duration===1/0?t.video_source_is_live=!0:(t.player_source_duration>0||t.video_source_duration>0)&&(t.video_source_is_live=!1)),t.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(e){t[e]=void 0}),t.video_source_url=t.video_source_url||t.player_source_url,t.video_source_url){var i=N(ea(t.video_source_url),2),r=i[0];t.video_source_domain=i[1],t.video_source_hostname=r}delete t.ad_request_id,t.video_playback_ranges&&(t.video_playback_range=JSON.stringify(t.video_playback_ranges.filter(function(e){return e[0]!==e[1]}).map(function(e){return"".concat(e[0],":").concat(e[1])})),delete t.video_playback_ranges),this.playbackEventDispatcher.send(e,t),this.data.view_sequence_number++,this.data.player_sequence_number++,tp.has(e)||this._restartHeartBeat(),"viewend"===e&&delete this.data.view_id}}},{key:"_resetView",value:function(e){this.emit("viewend"),this.send("viewend"),this.emit("viewinit",e)}},{key:"_updateStateData",value:function(){var e,t=this.getStateData();if("function"==typeof this.stateDataTranslator)try{t=this.stateDataTranslator(t)}catch(e){this.mux.log.warn("Exception in stateDataTranslator translator callback.",e)}null!=(e=this.data)&&e.video_cdn&&null!=t&&t.video_cdn&&(t.video_cdn,t=function(e,t){if(null==e)return{};var i,r,a=function(e,t){if(null==e)return{};var i,r,a={},s=Object.keys(e);for(r=0;r<s.length;r++)i=s[r],t.indexOf(i)>=0||(a[i]=e[i]);return a}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(r=0;r<s.length;r++)i=s[r],!(t.indexOf(i)>=0)&&Object.prototype.propertyIsEnumerable.call(e,i)&&(a[i]=e[i])}return a}(t,["video_cdn"])),Object.assign(this.data,t),this.playheadTime._updatePlayheadTime(),this._sanitizeData()}},{key:"_sanitizeData",value:function(){var e=this;["player_width","player_height","video_source_width","video_source_height","player_playhead_time","video_source_bitrate"].forEach(function(t){var i=parseInt(e.data[t],10);e.data[t]=isNaN(i)?void 0:i}),["player_source_url","video_source_url"].forEach(function(t){if(e.data[t]){var i=e.data[t].toLowerCase();(0===i.indexOf("data:")||0===i.indexOf("blob:"))&&(e.data[t]="MSE style URL")}})}},{key:"_resetVideoData",value:function(){var e=this;Object.keys(this.data).forEach(function(t){0===t.indexOf("video_")&&delete e.data[t]})}},{key:"_resetViewData",value:function(){var e=this;Object.keys(this.data).forEach(function(t){0===t.indexOf("view_")&&delete e.data[t]}),this.data.view_sequence_number=1}},{key:"_resetErrorData",value:function(){delete this.data.player_error_code,delete this.data.player_error_message,delete this.data.player_error_context,delete this.data.player_error_severity,delete this.data.player_error_business_exception}},{key:"_initializeViewData",value:function(){var e=this,t=this.data.view_id=H(),i=function(){t===e.data.view_id&&ed(e.data,"player_view_count",1)};this.data.player_is_paused?this.one("play",i):i()}},{key:"_restartHeartBeat",value:function(){var e=this;window.clearTimeout(this._heartBeatTimeout),this._heartBeatTimeout=window.setTimeout(function(){e.data.player_is_paused||e.emit("hb")},1e4)}},{key:"addHLSJS",value:function(e){e.hlsjs?this.hlsjs?this.mux.log.warn("An instance of HLS.js is already being monitored for this player."):(this.hlsjs=e.hlsjs,ey(this.mux,this.id,e.hlsjs,{},e.Hls||window.Hls)):this.mux.log.warn("You must pass a valid hlsjs instance in order to track it.")}},{key:"removeHLSJS",value:function(){this.hlsjs&&(eb(this.hlsjs),this.hlsjs=void 0)}},{key:"addDashJS",value:function(e){e.dashjs?this.dashjs?this.mux.log.warn("An instance of Dash.js is already being monitored for this player."):(this.dashjs=e.dashjs,ek(this.mux,this.id,e.dashjs)):this.mux.log.warn("You must pass a valid dashjs instance in order to track it.")}},{key:"removeDashJS",value:function(){this.dashjs&&(eR(this.dashjs),this.dashjs=void 0)}}]),r}(eI),tv=f(x());function tE(){return tv.default&&!!(tv.default.fullscreenElement||tv.default.webkitFullscreenElement||tv.default.mozFullScreenElement||tv.default.msFullscreenElement)}var ty,tb,tT=["loadstart","pause","play","playing","seeking","seeked","timeupdate","ratechange","stalled","waiting","error","ended"],t_={1:"MEDIA_ERR_ABORTED",2:"MEDIA_ERR_NETWORK",3:"MEDIA_ERR_DECODE",4:"MEDIA_ERR_SRC_NOT_SUPPORTED"},tA=f(p());tA.default&&tA.default.WeakMap&&(tb=new WeakMap);var tS=function(e){return this.buffer="",this.manifest={segments:[],serverControl:{},sessionData:{}},this.currentUri={},this.process(e),this.manifest};tS.prototype.process=function(e){var t;for(this.buffer+=e,t=this.buffer.indexOf("\n");t>-1;t=this.buffer.indexOf("\n"))this.processLine(this.buffer.substring(0,t)),this.buffer=this.buffer.substring(t+1)}
1,tS.prototype.processLine=function(e){var t=e.indexOf(":"),i=tC(e,t),r=i[0],a=2===i.length?tL(i[1]):void 0;if("#"!==r[0])this.currentUri.uri=r,this.manifest.segments.push(this.currentUri),!this.manifest.targetDuration||"duration"in this.currentUri||(this.currentUri.duration=this.manifest.targetDuration),this.currentUri={};else switch(r){case"#EXT-X-TARGETDURATION":if(!isFinite(a)||a<0)return;this.manifest.targetDuration=a,this.setHoldBack();break;case"#EXT-X-PART-INF":tk(this.manifest,i),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),this.setHoldBack();break;case"#EXT-X-SERVER-CONTROL":tk(this.manifest,i),this.setHoldBack();break;case"#EXTINF":0===a?this.currentUri.duration=.01:a>0&&(this.currentUri.duration=a);break;case"#EXT-X-PROGRAM-DATE-TIME":var s=new Date(a);this.manifest.dateTimeString||(this.manifest.dateTimeString=a,this.manifest.dateTimeObject=s),this.currentUri.dateTimeString=a,this.currentUri.dateTimeObject=s;break;case"#EXT-X-VERSION":tk(this.manifest,i);break;case"#EXT-X-SESSION-DATA":var n=eg(tM(i[1]));Object.assign(this.manifest.sessionData,n)}},tS.prototype.setHoldBack=function(){var e=this.manifest,t=e.serverControl,i=e.targetDuration,r=e.partTargetDuration;if(t){var a="holdBack",s="partHoldBack",n=i&&3*i,o=r&&2*r;i&&!t.hasOwnProperty(a)&&(t[a]=n),n&&t[a]<n&&(t[a]=n),r&&!t.hasOwnProperty(s)&&(t[s]=3*r),r&&t[s]<o&&(t[s]=o)}};var tk=function(e,t){var i,r=tR(t[0].replace("#EXT-X-",""));tD(t[1])?(i={},i=Object.assign(tw(t[1]),i)):i=tL(t[1]),e[r]=i},tR=function(e){return e.toLowerCase().replace(/-(\w)/g,function(e){return e[1].toUpperCase()})},tL=function(e){if("yes"===e.toLowerCase()||"no"===e.toLowerCase())return"yes"===e.toLowerCase();var t=-1!==e.indexOf(":")?e:parseFloat(e);return isNaN(t)?e:t},tI=function(e){var t={},i=e.split("=");return i.length>1&&(t[tR(i[0])]=tL(i[1])),t},tw=function(e){for(var t=e.split(","),i={},r=0;t.length>r;r++)i=Object.assign(tI(t[r]),i);return i},tD=function(e){return e.indexOf("=")>-1},tC=function(e,t){return -1===t?[e]:[e.substring(0,t),e.substring(t+1)]},tM=function(e){var t={};if(e){var i=e.search(",");return[e.slice(0,i),e.slice(i+1)].forEach(function(e,i){for(var r=e.replace(/['"]+/g,"").split("="),a=0;a<r.length;a++)"DATA-ID"===r[a]&&(t["DATA-ID"]=r[1-a]),"VALUE"===r[a]&&(t.VALUE=r[1-a])}),{data:t}}},tx={safeCall:function(e,t,i,r){var a=r;if(e&&"function"==typeof e[t])try{a=e[t].apply(e,i)}catch(e){q.info("safeCall error",e)}return a},safeIncrement:ed,getComputedStyle:function(e,t){var i;return e&&t&&tA.default&&"function"==typeof tA.default.getComputedStyle?(tb&&tb.has(e)&&(i=tb.get(e)),i||(i=tA.default.getComputedStyle(e,null),tb&&tb.set(e,i)),i.getPropertyValue(t)):""},secondsToMs:function(e){return Math.floor(1e3*e)},assign:Object.assign,headersStringToObject:ef,cdnHeadersToRequestId:ep,extractHostnameAndDomain:ea,extractHostname:er,manifestParser:tS,generateShortID:G,generateUUID:H,now:$,findMediaElement:W},tP={},tO=function(e){var t=arguments;"string"==typeof e?tO.hasOwnProperty(e)?U.default.setTimeout(function(){t=Array.prototype.splice.call(t,1),tO[e].apply(null,t)},0):q.warn("`"+e+"` is an unknown task"):"function"==typeof e?U.default.setTimeout(function(){e(tO)},0):q.warn("`"+e+"` is invalid.")},tN={loaded:$(),NAME:"mux-embed",VERSION:"5.18.1",API_VERSION:"2.1",PLAYER_TRACKED:!1,monitor:function(e,t){return function(e,t,i){var r=N(W(t),3),a=r[0],s=r[1],n=r[2],o=e.log,l=e.utils.getComputedStyle,d=e.utils.secondsToMs;if(!a)return o.error("No element was found with the `"+s+"` query selector.");if("video"!==n&&"audio"!==n)return o.error("The element of `"+s+"` was not a media element.");a.mux&&(a.mux.destroy(),delete a.mux,o.warn("Already monitoring this video element, replacing existing event listeners")),(i=Object.assign({automaticErrorTracking:!0},i,{getPlayheadTime:function(){return d(a.currentTime)},getStateData:function(){var e,t,i=(null==(e=this.getPlayheadTime)?void 0:e.call(this))||d(a.currentTime),r=this.hlsjs&&this.hlsjs.url,s=this.dashjs&&"function"==typeof this.dashjs.getSource&&this.dashjs.getSource(),n={player_is_paused:a.paused,player_width:parseInt(l(a,"width")),player_height:parseInt(l(a,"he
1ight")),player_autoplay_on:a.autoplay,player_preload_on:a.preload,player_language_code:a.lang,player_is_fullscreen:tE(),video_poster_url:a.poster,video_source_url:r||s||a.currentSrc,video_source_duration:d(a.duration),video_source_height:a.videoHeight,video_source_width:a.videoWidth,view_dropped_frame_count:null==a||null==(t=a.getVideoPlaybackQuality)?void 0:t.call(a).droppedVideoFrames};if(a.getStartDate&&i>0){var o=a.getStartDate();if(o&&"function"==typeof o.getTime&&o.getTime()){var h=o.getTime();n.player_program_time=h+i,a.seekable.length>0&&(n.player_live_edge_program_time=h+a.seekable.end(a.seekable.length-1))}}return n}})).data=Object.assign({player_software:"HTML5 Video Element",player_mux_plugin_name:"VideoElementMonitor",player_mux_plugin_version:e.VERSION},i.data),a.mux=a.mux||{},a.mux.deleted=!1,a.mux.emit=function(t,i){e.emit(s,t,i)},a.mux.updateData=function(e){a.mux.emit("hb",e)};var h=function(){o.error("The monitor for this video element has already been destroyed.")};a.mux.destroy=function(){Object.keys(a.mux.listeners).forEach(function(e){a.removeEventListener(e,a.mux.listeners[e],!1)}),delete a.mux.listeners,a.mux.fullscreenChangeListener&&(document.removeEventListener("fullscreenchange",a.mux.fullscreenChangeListener,!1),delete a.mux.fullscreenChangeListener),a.mux.destroy=h,a.mux.swapElement=h,a.mux.emit=h,a.mux.addHLSJS=h,a.mux.addDashJS=h,a.mux.removeHLSJS=h,a.mux.removeDashJS=h,a.mux.updateData=h,a.mux.setEmitTranslator=h,a.mux.setStateDataTranslator=h,a.mux.setGetPlayheadTime=h,a.mux.deleted=!0,e.emit(s,"destroy")},a.mux.swapElement=function(t){var i=N(W(t),3),r=i[0],s=i[1],n=i[2];return r?"video"!==n&&"audio"!==n?e.log.error("The element of `"+s+"` was not a media element."):void(r.muxId=a.muxId,delete a.muxId,r.mux=r.mux||{},r.mux.listeners=Object.assign({},a.mux.listeners),delete a.mux.listeners,Object.keys(r.mux.listeners).forEach(function(e){a.removeEventListener(e,r.mux.listeners[e],!1),r.addEventListener(e,r.mux.listeners[e],!1)}),r.mux.fullscreenChangeListener=a.mux.fullscreenChangeListener,delete a.mux.fullscreenChangeListener,r.mux.swapElement=a.mux.swapElement,r.mux.destroy=a.mux.destroy,delete a.mux,a=r):e.log.error("No element was found with the `"+s+"` query selector.")},a.mux.addHLSJS=function(t){e.addHLSJS(s,t)},a.mux.addDashJS=function(t){e.addDashJS(s,t)},a.mux.removeHLSJS=function(){e.removeHLSJS(s)},a.mux.removeDashJS=function(){e.removeDashJS(s)},a.mux.setEmitTranslator=function(t){e.setEmitTranslator(s,t)},a.mux.setStateDataTranslator=function(t){e.setStateDataTranslator(s,t)},a.mux.setGetPlayheadTime=function(t){t||(t=i.getPlayheadTime),e.setGetPlayheadTime(s,t)},e.init(s,i),e.emit(s,"playerready"),a.paused||(e.emit(s,"play"),a.readyState>2&&e.emit(s,"playing")),a.mux.listeners={},tT.forEach(function(t){("error"!==t||i.automaticErrorTracking)&&(a.mux.listeners[t]=function(){var i={};if("error"===t){if(!a.error||1===a.error.code)return;i.player_error_code=a.error.code,i.player_error_message=t_[a.error.code]||a.error.message}e.emit(s,t,i)},a.addEventListener(t,a.mux.listeners[t],!1))}),a.mux.listeners.enterpictureinpicture=function(){e.emit(s,"playbackmodechange",{player_playback_mode:"pip",player_playback_mode_data:"{}"})},a.mux.listeners.leavepictureinpicture=function(){var t=tE()?"fullscreen":"standard";e.emit(s,"playbackmodechange",{player_playback_mode:t,player_playback_mode_data:"{}"})},a.addEventListener("enterpictureinpicture",a.mux.listeners.enterpictureinpicture,!1),a.addEventListener("leavepictureinpicture",a.mux.listeners.leavepictureinpicture,!1),a.mux.fullscreenChangeListener=function(){var t=tE(),i=document.fullscreenElement;if(t&&(i===a||null!=i&&i.contains(a)))e.emit(s,"playbackmodechange",{player_playback_mode:"fullscreen",player_playback_mode_data:"{}"});else if(!t){var r=document.pictureInPictureElement===a;e.emit(s,"playbackmodechange",{player_playback_mode:r?"pip":"standard",player_playback_mode_data:"{}"})}},document.addEventListener("fullscreenchange",a.mux.fullscreenChangeListener,!1)}(tO,e,t)},destroyMonitor:function(e){var t=N(W(e),1)[0];t&&t.mux&&"function"==typeof t.mux.destroy?t.mux.destroy():q.error("A video element monitor for `"+e+"` has not been initialized via `mux.monitor`.")},addHLSJS:function(e,t){var i=K(e);tP[i]?tP[i].addHLSJS(t):q.error("A monitor for `"+i+"` has not been initialized.")},addDashJS:function(e,t){var i=K(e);tP[i]?tP[i].addDashJS(t):q.error("A monitor for `"+i+"` has not been initialized.")},removeHLSJS:function(e){var t=K(e);tP[t]?tP[t].removeHLSJS():q.error("A monitor for `"+t+"` has not been initialized.")},removeDashJS:function(e){var t=K(e);tP[t]?tP[t].removeDashJS():q.error("A monitor for `"+t+"` has not been initialized.")},init:function(e,t){j()&&t&&t.respectDoNotTrack&&q.info("The browser's Do Not Track flag is enabled - Mux beaconing is disabled.");var i=K(e);tP[i]=new tg(tO,i,t)},emit:function(e,t,i){var r=K(e);tP[r]?(tP[r].emit(t,i),"destroy"===t&&delete tP[r]):q.error("A monitor for `"+r+"` has not been initialized.")},updateData:function(e,t){var i=K(e);tP[i]?tP[i].emit("hb",t):q.error("A monitor for `"+i+"` has not been initialized.")},setEmitTranslator:function(e,t){var i=K(e);tP[i]?tP[i].emitTranslator=t:q.error("A monitor for `"+i+"` has not been initialized.")},setStateDataTranslator:function(e,t){var i=K(e);tP[i]?tP[i].stateDataTranslator=t:q.error("A monitor for `"+i+"` has not been initialized.")},setGetPlayheadTime:function(e,t){var i=K(e);tP[i]?tP[i].getPlayheadTime=t:q.error("A monitor for `"+i+"` has not been initialized.")},checkDoNotTrack:j,log:q,utils:tx,events:{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",PLAYBACK_MODE_CHANGE:"playbackmodechange",NETWORK_CHANGE:"networkchange",AD_REQUEST:"adrequest",AD_RESPONSE:"adresponse",AD_BREAK_START:"adbreakstart",AD_PLAY:"adplay",AD_PLAYING:"adplaying",AD_PAUSE:"adpause",AD_FIRST_QUARTILE:"adfirstquartile",AD_MID_POINT:"admidpoint",AD_THIRD_QUARTILE:"adthirdquartile",AD_ENDED:"adended",AD_BREAK_END:"adbreakend",AD_ERROR:"aderror",REQUEST_COMPLETED:"requestcompleted",REQUEST_FAILED:"requestfailed",REQUEST_CANCELLED:"requestcanceled",HEARTBEAT:"hb",DESTROY:"destroy"},WINDOW_HIDDEN:!1,WINDOW_UNLOADING:!1};Object.assign(tO,tN),void 0!==U.default&&"function"==typeof U.default.addEventListener&&U.default.addEventListener("pagehide",function(e){e.persisted||(tO.WINDOW_UNLOADING=!0)},!1);let tU=Number.isFinite||function(e){return"number"==typeof e&&isFinite(e)},tF=Number.isSafeInteger||function(e){return"number"==typeof e&&Math.abs(e)<=tB},tB=Number.MAX_SAFE_INTEGER||0x1fffffffffffff,t$=((dl={}
1).NETWORK_ERROR="networkError",dl.MEDIA_ERROR="mediaError",dl.KEY_SYSTEM_ERROR="keySystemError",dl.MUX_ERROR="muxError",dl.OTHER_ERROR="otherError",dl),tH=((dd={}).KEY_SYSTEM_NO_KEYS="keySystemNoKeys",dd.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",dd.KEY_SYSTEM_NO_SESSION="keySystemNoSession",dd.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",dd.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",dd.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",dd.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",dd.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",dd.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",dd.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",dd.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR="keySystemDestroyMediaKeysError",dd.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR="keySystemDestroyCloseSessionError",dd.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR="keySystemDestroyRemoveSessionError",dd.MANIFEST_LOAD_ERROR="manifestLoadError",dd.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",dd.MANIFEST_PARSING_ERROR="manifestParsingError",dd.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",dd.LEVEL_EMPTY_ERROR="levelEmptyError",dd.LEVEL_LOAD_ERROR="levelLoadError",dd.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",dd.LEVEL_PARSING_ERROR="levelParsingError",dd.LEVEL_SWITCH_ERROR="levelSwitchError",dd.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",dd.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",dd.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",dd.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",dd.FRAG_LOAD_ERROR="fragLoadError",dd.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",dd.FRAG_DECRYPT_ERROR="fragDecryptError",dd.FRAG_PARSING_ERROR="fragParsingError",dd.FRAG_GAP="fragGap",dd.REMUX_ALLOC_ERROR="remuxAllocError",dd.KEY_LOAD_ERROR="keyLoadError",dd.KEY_LOAD_TIMEOUT="keyLoadTimeOut",dd.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",dd.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",dd.BUFFER_APPEND_ERROR="bufferAppendError",dd.BUFFER_APPENDING_ERROR="bufferAppendingError",dd.BUFFER_STALLED_ERROR="bufferStalledError",dd.BUFFER_FULL_ERROR="bufferFullError",dd.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",dd.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",dd.ASSET_LIST_LOAD_ERROR="assetListLoadError",dd.ASSET_LIST_LOAD_TIMEOUT="assetListLoadTimeout",dd.ASSET_LIST_PARSING_ERROR="assetListParsingError",dd.INTERSTITIAL_ASSET_ITEM_ERROR="interstitialAssetItemError",dd.INTERNAL_EXCEPTION="internalException",dd.INTERNAL_ABORTED="aborted",dd.ATTACH_MEDIA_ERROR="attachMediaError",dd.UNKNOWN="unknown",dd),tG=((dh={}).MEDIA_ATTACHING="hlsMediaAttaching",dh.MEDIA_ATTACHED="hlsMediaAttached",dh.MEDIA_DETACHING="hlsMediaDetaching",dh.MEDIA_DETACHED="hlsMediaDetached",dh.MEDIA_ENDED="hlsMediaEnded",dh.STALL_RESOLVED="hlsStallResolved",dh.BUFFER_RESET="hlsBufferReset",dh.BUFFER_CODECS="hlsBufferCodecs",dh.BUFFER_CREATED="hlsBufferCreated",dh.BUFFER_APPENDING="hlsBufferAppending",dh.BUFFER_APPENDED="hlsBufferAppended",dh.BUFFER_EOS="hlsBufferEos",dh.BUFFERED_TO_END="hlsBufferedToEnd",dh.BUFFER_FLUSHING="hlsBufferFlushing",dh.BUFFER_FLUSHED="hlsBufferFlushed",dh.MANIFEST_LOADING="hlsManifestLoading",dh.MANIFEST_LOADED="hlsManifestLoaded",dh.MANIFEST_PARSED="hlsManifestParsed",dh.LEVEL_SWITCHING="hlsLevelSwitching",dh.LEVEL_SWITCHED="hlsLevelSwitched",dh.LEVEL_LOADING="hlsLevelLoading",dh.LEVEL_LOADED="hlsLevelLoaded",dh.LEVEL_UPDATED="hlsLevelUpdated",dh.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",dh.LEVELS_UPDATED="hlsLevelsUpdated",dh.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",dh.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",dh.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",dh.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",dh.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",dh.AUDIO_TRACK_UPDATED="hlsAudioTrackUpdated",dh.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUpdated",dh.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",dh.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",dh.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",dh.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",dh.SUBTITLE_TRACK_UPDATED="hlsSubtitleTrackUpdated",dh.SUBTITLE_FRAG_PROCESSED="hl
1sSubtitleFragProcessed",dh.CUES_PARSED="hlsCuesParsed",dh.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",dh.INIT_PTS_FOUND="hlsInitPtsFound",dh.FRAG_LOADING="hlsFragLoading",dh.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",dh.FRAG_LOADED="hlsFragLoaded",dh.FRAG_DECRYPTED="hlsFragDecrypted",dh.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",dh.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",dh.FRAG_PARSING_METADATA="hlsFragParsingMetadata",dh.FRAG_PARSED="hlsFragParsed",dh.FRAG_BUFFERED="hlsFragBuffered",dh.FRAG_CHANGED="hlsFragChanged",dh.FPS_DROP="hlsFpsDrop",dh.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",dh.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",dh.ERROR="hlsError",dh.DESTROYING="hlsDestroying",dh.KEY_LOADING="hlsKeyLoading",dh.KEY_LOADED="hlsKeyLoaded",dh.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",dh.BACK_BUFFER_REACHED="hlsBackBufferReached",dh.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",dh.ASSET_LIST_LOADING="hlsAssetListLoading",dh.ASSET_LIST_LOADED="hlsAssetListLoaded",dh.INTERSTITIALS_UPDATED="hlsInterstitialsUpdated",dh.INTERSTITIALS_BUFFERED_TO_BOUNDARY="hlsInterstitialsBufferedToBoundary",dh.INTERSTITIAL_ASSET_PLAYER_CREATED="hlsInterstitialAssetPlayerCreated",dh.INTERSTITIAL_STARTED="hlsInterstitialStarted",dh.INTERSTITIAL_ASSET_STARTED="hlsInterstitialAssetStarted",dh.INTERSTITIAL_ASSET_ENDED="hlsInterstitialAssetEnded",dh.INTERSTITIAL_ASSET_ERROR="hlsInterstitialAssetError",dh.INTERSTITIAL_ENDED="hlsInterstitialEnded",dh.INTERSTITIALS_PRIMARY_RESUMED="hlsInterstitialsPrimaryResumed",dh.PLAYOUT_LIMIT_REACHED="hlsPlayoutLimitReached",dh.EVENT_CUE_ENTER="hlsEventCueEnter",dh);var tK="manifest",tW="level",tV="audioTrack",tq="subtitleTrack",tY="main",tj="audio",tQ="subtitle";class tz{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_}}class tX{constructor(e,t,i,r=100){this.defaultEstimate_=void 0,this.minWeight_=void 0,this.minDelayMs_=void 0,this.slow_=void 0,this.fast_=void 0,this.defaultTTFB_=void 0,this.ttfb_=void 0,this.defaultEstimate_=i,this.minWeight_=.001,this.minDelayMs_=50,this.slow_
1=new tz(e),this.fast_=new tz(t),this.defaultTTFB_=r,this.ttfb_=new tz(e)}update(e,t){let{slow_:i,fast_:r,ttfb_:a}=this;i.halfLife!==e&&(this.slow_=new tz(e,i.getEstimate(),i.getTotalWeight())),r.halfLife!==t&&(this.fast_=new tz(t,r.getEstimate(),r.getTotalWeight())),a.halfLife!==e&&(this.ttfb_=new tz(e,a.getEstimate(),a.getTotalWeight()))}sample(e,t){let i=(e=Math.max(e,this.minDelayMs_))/1e3,r=8*t/i;this.fast_.sample(i,r),this.slow_.sample(i,r)}sampleTTFB(e){let t=Math.sqrt(2)*Math.exp(-Math.pow(e/1e3,2)/2);this.ttfb_.sample(t,Math.max(e,5))}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_}get defaultEstimate(){return this.defaultEstimate_}destroy(){}}function tZ(){return(tZ=Object.assign.bind()).apply(null,arguments)}function tJ(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),i.push.apply(i,r)}return i}function t0(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?tJ(Object(i),!0).forEach(function(t){var r,a;r=t,a=i[t],(r=function(e){var t=function(e,t){if("object"!=typeof e||!e)return e;var i=e[Symbol.toPrimitive];if(void 0!==i){var r=i.call(e,t);if("object"!=typeof r)return r;throw TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:t+""}(r))in e?Object.defineProperty(e,r,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[r]=a}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):tJ(Object(i)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(i,t))})}return e}class t1{constructor(e,t){this.trace=void 0,this.debug=void 0,this.log=void 0,this.warn=void 0,this.info=void 0,this.error=void 0;const i=`[${e}]:`;this.trace=t2,this.debug=t.debug.bind(null,i),this.log=t.log.bind(null,i),this.warn=t.warn.bind(null,i),this.info=t.info.bind(null,i),this.error=t.error.bind(null,i)}}let t2=function(){},t3={trace:t2,debug:t2,log:t2,warn:t2,info:t2,error:t2};function t4(){return tZ({},t3)}function t5(e,t,i){let r;return t[e]?t[e].bind(t):(r=self.console[e])?r.bind(self.console,`${i?"["+i+"] ":""}[${e}] >`):t2}let t8=t4();function t9(e=!0){if(!("u"<typeof self))return(e||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource}function t6(e,t){let i=Object.keys(e),r=Object.keys(t),a=i.length,s=r.length;return!a||!s||a===s&&!i.some(e=>-1===r.indexOf(e))}function t7(e,t=!1){let i,r;if("u">typeof TextDecoder){let i=new TextDecoder("utf-8").decode(e);if(t){let e=i.indexOf("\0");return -1!==e?i.substring(0,e):i}return i.replace(/\0/g,"")}let a=e.length,s="",n=0;for(;n<a&&(0!==(i=e[n++])||!t);)if(0!==i&&3!==i)switch(i>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:s+=String.fromCharCode(i);break;case 12:case 13:s+=String.fromCharCode((31&i)<<6|63&(r=e[n++]));break;case 14:s+=String.fromCharCode((15&i)<<12|(63&(r=e[n++]))<<6|63&e[n++])}return s}function ie(e){let t="";for(let i=0;i<e.length;i++){let r=e[i].toString(16);r.length<2&&(r="0"+r),t+=r}return t}function it(e){return Uint8Array.from(e.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer}var ii={exports:{}},ir=dp?ii.exports:(dp=1,di=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,dr=/^(?=([^\/?#]*))\1([^]*)$/,da=/(?:\/|^)\.(?=\/)/g,ds=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,ii.exports=dn={buildAbsoluteURL:function(e,t,i){if(i=i||{},e=e.trim(),!(t=t.trim())){if(!i.alwaysNormalize)return e;var r=dn.parseURL(e);if(!r)throw Error("Error trying to parse base URL.");return r.path=dn.normalizePath(r.path),dn.buildURLFromParts(r)}var a=dn.parseURL(t);if(!a)throw Error("Error trying to parse relative URL.");
vendor: 1,118 bytes, line 1
1if(a.scheme)return i.alwaysNormalize?(a.path=dn.normalizePath(a.path),dn.buildURLFromParts(a)):t;var s=dn.parseURL(e);if(!s)throw Error("Error trying to parse base URL.");if(!s.netLoc&&s.path&&"/"!==s.path[0]){var n=dr.exec(s.path);s.netLoc=n[1],s.path=n[2]}s.netLoc&&!s.path&&(s.path="/");var o={scheme:s.scheme,netLoc:a.netLoc,path:null,params:a.params,query:a.query,fragment:a.fragment};if(!a.netLoc&&(o.netLoc=s.netLoc,"/"!==a.path[0]))if(a.path){var l=s.path,d=l.substring(0,l.lastIndexOf("/")+1)+a.path;o.path=dn.normalizePath(d)}else o.path=s.path,!a.params&&(o.params=s.params,a.query||(o.query=s.query));return null===o.path&&(o.path=i.alwaysNormalize?dn.normalizePath(a.path):a.path),dn.buildURLFromParts(o)},parseURL:function(e){var t=di.exec(e);return t?{scheme:t[1]||"",netLoc:t[2]||"",path:t[3]||"",params:t[4]||"",query:t[5]||"",fragment:t[6]||""}:null},normalizePath:function(e){for(e=e.split("").reverse().join("").replace(da,"");e.length!==(e=e.replace(ds,"")).length;);return e.split("").reverse().join("")},buildURLFromParts:function(e){return e.scheme+e.netLoc+e.path+e.params+e.query+e.fragment}}
1,ii.exports);class ia{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 is="audio",io="video",il="audiovideo";class id{constructor(e){this._byteRange=null,this._url=null,this._stats=null,this._streams=null,this.base=void 0,this.relurl=void 0,"string"==typeof e&&(e={url:e}),this.base=e,function(e,t){let i=function e(t,i){let r=Object.getPrototypeOf(t);if(r){let t=Object.getOwnPropertyDescriptor(r,i);return t||e(r,i)}}(e,t);i&&(i.enumerable=!0,Object.defineProperty(e,t,i))}(this,"stats")}setByteRange(e,t){let i,r=e.split("@",2);i=1===r.length?(null==t?void 0:t.byteRangeEndOffset)||0:parseInt(r[1]),this._byteRange=[i,parseInt(r[0])+i]}get baseurl(){return this.base.url}get byteRange(){return null===this._byteRange?[]:this._byteRange}get byteRangeStartOffset(){return this.byteRange[0]}get byteRangeEndOffset(){return this.byteRange[1]}get elementaryStreams(){return null===this._streams&&(this._streams={[is]:null,[io]:null,[il]:null}),this._streams}set elementaryStreams(e){this._streams=e}get hasStats(){return null!==this._stats}get hasStreams(){return null!==this._streams}get stats(){return null===this._stats&&(this._stats=new ia),this._stats}set stats(e){this._stats=e}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=ir.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||""}set url(e){this._url=e}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[is]=null,e[io]=null,e[il]=null}}function ih(e){return"initSegment"!==e.sn}class iu extends id{constructor(e,t){super(t),this._decryptdata=null,this._programDateTime=null,this._ref=null,this._bitrate=void 0,this.rawProgramDateTime=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.playlistOffset=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.data=void 0,this.bitrateTest=!1,this.title=null,this.initSegment=null,this.endList=void 0,this.gap=void 0,this.urlId=0,this.type=e}get byteLength(){if(this.hasStats){let e=this.stats.total;if(e)return e}if(this.byteRange.length){let e=this.byteRange[0],t=this.byteRange[1];if(tU(e)&&tU(t))return t-e}return null}get bitrate(){return this.byteLength?8*this.byteLength/this.duration:this._bitrate?this._bitrate:null}set bitrate(e){this._bitrate=e}get decryptdata(){var e;let{levelkeys:t}=this;if(!t||t.NONE)return null;if(t.identity)this._decryptdata||(this._decryptdata=t.identity.getDecryptData(this.sn));else if(!(null!=(e=this._decryptdata)&&e.keyId)){let e=Object.keys(t);if(1===e.length){let i=this._decryptdata=t[e[0]]||null;i&&(this._decryptdata=i.getDecryptData(this.sn,t))}}return this._decryptdata}get end(){return this.start+this.duration}get endProgramDateTime(){if(null===this.programDateTime)return null;let e=tU(this.duration)?this.duration:0;return this.programDateTime+1e3*e}get encrypted(){var e,t;if(null!=(e=this._decryptdata)&&e.encrypted)return!0;if(this.levelkeys){let e=Object.keys(this.levelkeys),i=e.length;if(i>1||1===i&&null!=(t=this.levelkeys[e[0]])&&t.encrypted)return!0}return!1}get programDateTime(){return null===this._programDateTime&&this.rawProgramDateTime&&(this.programDateTime=Date.parse(this.rawProgramDateTime)),this._programDateTime}set programDateTime(e){if(!tU(e)){this._programDateTime=this.rawProgramDateTime=null;return}this._programDateTime=e}get ref(){return ih(this)?(this._ref||(this._ref={base:this.base,start:this.start,duration:this.duration,sn:this.sn,programDateTime:this.programDateTime}),this._ref):null}addStart(e){this.setStart(this.start+e)}setStart(e){this.start=e,this._ref&&(this._ref.start=e)}setDuration(e){this.duration=e,this._ref&&(this._ref.duration=e)}setKeyFormat(e){let t=this.levelkeys;if(t){var i;let r=t[e];r&&!(null!=(i=this._decryptdata)&&i.keyId)&&(this._decryptdata=r.getDecryptData(this.sn,t))}}abortRequests(){var e,t;null==(e=this.loader)||e.abort(),null==(t=this.keyLoader)||t.abort()}setElementaryStreamInfo(e,t,i,r,a,s=!1){let{elementaryStreams:n}=this,o=n[e];if(!o){n[e]={startPTS:t,endPTS:i,startDTS:r,endDTS:a,partial:s};return}o.startPTS=Math.min(o.startPTS,t),o.endPTS=Math.max(o.endPTS,i),o.startDTS=Math.min(o.startDTS,r),o.endDTS=Math.max(o.endDTS,a)}}class ic extends id{constructor(e,t,i,r,a){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.duration=e.decimalFloatingPoint("DURATION"),this.gap=e.bool("GAP"),this.independent=e.bool("INDEPENDENT"),this.relurl=e.enumeratedString("URI"),this.fragment=t,this.index=r;const s=e.enumeratedString("BYTERANGE");s&&this.setByteRange(s,a),a&&(this.fragOffset=a.fragOffset+a.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)}}let im=[].push,ip={video:1,audio:2,id3:3,text:4};function ig(e){return String.fromCharCode.apply(null,e)}function iv(e,t){let i=e[t]<<8|e[t+1];return i<0?65536+i:i}function iE(e,t){let i=ib(e,t);return i<0?0x100000000+i:i}function iy(e,t){let i=iE(e,t);return i*=0x100000000,i+=iE(e,t+4)}function ib(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function iT(e,t){let i=[];if(!t.length)return i;let r=e.byteLength;for(let a=0;a<r;){let s=iE(e,a),n=ig(e.subarray(a+4,a+8)),o=s>1?a+s:r;if(n===t[0])if(1===t.length)i.push(e.subarray(a+8,o));else{let r=iT(e.subarray(a+8,o),t.slice(1));r.length&&im.apply(i,r)}a=o}return i}function i_(e){let t=[],i=iT(e,["moov","trak"]);for(let e=0;e<i.length;e++){let r=i[e],a=iT(r,["tkhd"])[0];if(a){let e=a[0],i=iE(a,0===e?12:20),s=iT(r,["mdia","mdhd"])[0];if(s){e=s[0];let a=iE(s,0===e?12:20),n=iT(r,["mdia","hdlr"])[0];if(n){let e=ig(n.subarray(8,12)),s={soun:is,vide:io}[e],o=function(e){let t,i=e.subarray(8),r=i.subarray(86),a=ig(i.subarray(4,8)),s=a,n="enca"===a||"encv"===a;if(n){let e=iT(i,[a])[0].subarray("enca"===a?28:78);
1iT(e,["sinf"]).forEach(e=>{let t=iT(e,["schm"])[0];if(t){let i=ig(t.subarray(4,8));if("cbcs"===i||"cenc"===i){let t=iT(e,["frma"])[0];t&&(s=ig(t))}}})}let o=s;switch(s){case"avc1":case"avc2":case"avc3":case"avc4":{let e=iT(r,["avcC"])[0];e&&e.length>3&&(s+="."+ik(e[1])+ik(e[2])+ik(e[3]),t=iA("avc1"===o?"dva1":"dvav",r));break}case"mp4a":{let e=iT(i,[a])[0],t=iT(e.subarray(28),["esds"])[0];if(t&&t.length>7){let e=4;if(3!==t[e++])break;e=iS(t,e)+2;let i=t[e++];if(128&i&&(e+=2),64&i&&(e+=t[e++]),4!==t[e++])break;e=iS(t,e);let r=t[e++];if(64===r)s+="."+ik(r);else break;if(e+=12,5!==t[e++])break;e=iS(t,e);let a=t[e++],n=(248&a)>>3;31===n&&(n+=1+((7&a)<<3)+((224&t[e])>>5)),s+="."+n}break}case"hvc1":case"hev1":{let e=iT(r,["hvcC"])[0];if(e&&e.length>12){let t=e[1],i=["","A","B","C"][t>>6],r=iE(e,2),a=e[12],n=e.subarray(6,12);s+="."+i+(31&t),s+="."+(function(e){let t=0;for(let i=0;i<32;i++)t|=(e>>i&1)<<31-i;return t>>>0})(r).toString(16).toUpperCase(),s+="."+((32&t)>>5?"H":"L")+a;let o="";for(let e=n.length;e--;){let t=n[e];(t||o)&&(o="."+t.toString(16).toUpperCase()+o)}s+=o}t=iA("hev1"==o?"dvhe":"dvh1",r);break}case"dvh1":case"dvhe":case"dvav":case"dva1":case"dav1":s=iA(s,r)||s;break;case"vp09":{let e=iT(r,["vpcC"])[0];if(e&&e.length>6){let t=e[4],i=e[5],r=e[6]>>4&15;s+="."+iR(t)+"."+iR(i)+"."+iR(r)}break}case"av01":{let e=iT(r,["av1C"])[0];if(e&&e.length>2){let i=e[1]>>>5,a=31&e[1],n=e[2]>>>7?"H":"M",o=(64&e[2])>>6,l=(32&e[2])>>5,d=(16&e[2])>>4,h=(8&e[2])>>3,u=(4&e[2])>>2,c=3&e[2];s+="."+i+"."+iR(a)+n+"."+iR(2===i&&o?l?12:10:o?10:8)+"."+d+"."+h+u+c+"."+iR(1)+"."+iR(1)+"."+iR(1)+".0",t=iA("dav1",r)}}}return{codec:s,encrypted:n,supplemental:t}}(iT(r,["mdia","minf","stbl","stsd"])[0]);s?(t[i]={timescale:a,type:s,stsd:o},t[s]=t0({timescale:a,id:i},o)):t[i]={timescale:a,type:e,stsd:o}}}}}return iT(e,["moov","mvex","trex"]).forEach(e=>{let i=t[iE(e,4)];i&&(i.default={duration:iE(e,12),flags:iE(e,20)})}),t}function iA(e,t){let i=iT(t,["dvvC"]),r=i.length?i[0]:iT(t,["dvcC"])[0];if(r){let t=r[2]>>1&127,i=r[2]<<5&32|r[3]>>3&31;return e+"."+iR(t)+"."+iR(i)}}function iS(e,t){let i=t+5;for(;128&e[t++]&&t<i;);return t}function ik(e){return("0"+e.toString(16).toUpperCase()).slice(-2)}function iR(e){return(e<10?"0":"")+e}function iL(e,t){iT(e,["moov","trak"]).forEach(e=>{let i=iT(e,["mdia","minf","stbl","stsd"])[0];if(!i)return;let r=i.subarray(8),a=iT(r,["enca"]),s=a.length>0;s||(a=iT(r,["encv"])),a.forEach(e=>{iT(s?e.subarray(28):e.subarray(78),["sinf"]).forEach(e=>{let i=iI(e);i&&t(i,s)})})})}function iI(e){let t=iT(e,["schm"])[0];if(t){let i=ig(t.subarray(4,8));if("cbcs"===i||"cenc"===i){let t=iT(e,["schi","tenc"])[0];if(t)return t}}}function iw(e,t){let i=new Uint8Array(e.length+t.length);return i.set(e),i.set(t,e.length),i}function iD(e,t){let i=[],r=t.samples,a=t.timescale,s=t.id,n=!1;return iT(r,["moof"]).map(o=>{let l=o.byteOffset-8;iT(o,["traf"]).map(o=>{let d=iT(o,["tfdt"]).map(e=>{let t=e[0],i=iE(e,4);return 1===t&&(i*=0x100000000,i+=iE(e,8)),i/a})[0];return void 0!==d&&(e=d),iT(o,["tfhd"]).map(d=>{let h=iE(d,4),u=0xffffff&iE(d,0),c=0,m=0,f=8;h===s&&((1&u)!=0&&(f+=8),(2&u)!=0&&(f+=4),(8&u)!=0&&(c=iE(d,f),f+=4),(16&u)!=0&&(m=iE(d,f),f+=4),(32&u)!=0&&(f+=4),"video"===t.type&&(n=iC(t.codec)),iT(o,["trun"]).map(s=>{let o=s[0],d=0xffffff&iE(s,0),h=0,u=(256&d)!=0,f=0,p=(512&d)!=0,g=0,v=(1024&d)!=0,E=(2048&d)!=0,y=0,b=iE(s,4),T=8;(1&d)!=0&&(h=iE(s,T),T+=4),(4&d)!=0&&(T+=4);let A=h+l;for(let l=0;l<b;l++){if(u?(f=iE(s,T),T+=4):f=c,p?(g=iE(s,T),T+=4):g=m,v&&(T+=4),E&&(y=0===o?iE(s,T):ib(s,T),T+=4),t.type===io){let t=0;for(;t<g;){let s=iE(r,A);A+=4,function(e,t){if(!e)return 6==(31&t);{let e=t>>1&63;return 39===e||40===e}}(n,r[A])&&iM(r.subarray(A,A+s),n?2:1,e+y/a,i),A+=s,t+=s+4}}e+=f/a}}))})})}),i}function iC(e){if(!e)return!1;let t=e.substring(0,4);return"hvc1"===t||"hev1"===t||"dvh1"===t||"dvhe"===t}function iM(e,t,i,r){let a,s=ix(e);a=0+t;let n=0,o=0,l=0;for(;a<s.length;){n=0;do{if(a>=s.length)break;n+=l=s[a++]}while(255===l)o=0;do{if(a>=s.length)break;o+=l=s[a++]}while(255===l)let e=s.length-a,t=a;if(o<e)a+=o;else if(o>e){t8.error(`Malformed SEI payload. ${o} is too small, only ${e} bytes left to parse.`);break}if(4===n){if(181===s[t++]){let e=iv(s,t);if(t+=2,49===e){let e=iE(s,t);if(t+=4,0x47413934===e){let e=s[t++];if(3===e){let a=s[t++],o=31&a,l=64&a,d=l?2+3*o:0,h=new Uint8Array(d);if(l){h[0]=a;for(let e=1;e<d;e++)h[e]=s[t++]}r.push({type:e,payloadType:n,pts:i,bytes:h})}}}}}else if(5===n&&o>16){let e=[];for(let i=0;i<16;i++){let r=s[t++].toString(16);e.push(1==r.length?"0"+r:r),(3===i||5===i||7===i||9===i)&&e.push("-")}let a=o-16,l=new Uint8Array(a);for(let e=0;e<a;e++)l[e]=s[t++];r.push({payloadType:n,pts:i,uuid:e.join(""),userData:t7(l),userDataBytes:l})}}}function ix(e){let t=e.byteLength,i=[],r=1;for(;r<t-2;)0===e[r]&&0===e[r+1]&&3===e[r+2]?(i.push(r+2),r+=2):r++;if(0===i.length)return e;let a=t-i.length,s=new Uint8Array(a),n=0;for(r=0;r<a;n++,r++)n===i[0]&&(n++,i.shift()),s[r]=e[n];return s}let iP={audio:{a3ds:1,"ac-3":.95,"ac-4":1,alac:.9,alaw:1,dra1:1,"dts+":1,"dts-":1,dtsc:1,dtse:1,dtsh:1,"ec-3":.9,enca:1,fLaC:.9,flac:.9,FLAC:.9,g719:1,g726:1,m4ae:1,mha1:1,mha2:1,mhm1:1,mhm2:1,mlpa:1,mp4a:1,"raw ":1,Opus:1,opus:1,samr:1,sawb:1,sawp:1,sevc:1,sqcp:1,ssmv:1,twos:1,ulaw:1},video:{avc1:1,avc2:1,avc3:1,avc4:1,avcp:1,av01:.8,dav1:.8,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv
160:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function iO(e,t){let i=iP[t];return!!i&&!!i[e.slice(0,4)]}function iN(e,t,i=!0){return!e.split(",").some(e=>!iU(e,t,i))}function iU(e,t,i=!0){var r;let a=t9(i);return null!=(r=null==a?void 0:a.isTypeSupported(iF(e,t)))&&r}function iF(e,t){return`${t}/mp4;codecs=${e}`}function iB(e){if(e){let t=e.substring(0,4);return iP.video[t]}return 2}function i$(e){let t=/\(Windows.+Firefox\//i.test(navigator.userAgent);return e.split(",").reduce((e,i)=>{let r=t&&iC(i)?9:iP.video[i];return r?(2*r+e)/(e?3:2):(iP.audio[i]+e)/(e?2:1)},0)}let iH={},iG=/flac|opus|mp4a\.40\.34/i;function iK(e,t=!0){return e.replace(iG,e=>(function(e,t=!0){if(iH[e])return iH[e];let i={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"],"mp4a.40.34":["mp3"]}[e];for(let a=0;a<i.length;a++){var r;if(iU(i[a],"audio",t))return iH[e]=i[a],i[a];if("mp3"===i[a]&&null!=(r=t9(t))&&r.isTypeSupported("audio/mpeg"))return""}return e})(e.toLowerCase(),t))}function iW(e,t){if(e&&(e.length>4||-1!==["ac-3","ec-3","alac","fLaC","Opus"].indexOf(e))&&(iV(e,"audio")||iV(e,"video")))return e;if(t){let i=t.split(",");if(i.length>1){if(e){for(let t=i.length;t--;)if(i[t].substring(0,4)===e.substring(0,4))return i[t]}return i[0]}}return t||e}function iV(e,t){return iO(e,t)&&iU(e,t)}function iq(e){let t=t9(e)||{isTypeSupported:()=>!1};return{mpeg:t.isTypeSupported("audio/mpeg"),mp3:t.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:t.isTypeSupported('audio/mp4; codecs="ac-3"')}}function iY(e){return e.replace(/^.+codecs=["']?([^"']+).*$/,"$1")}let ij={supported:!1,smooth:!1,powerEfficient:!1},iQ={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]};function iz(e,t){return{supported:!1,configurations:t,decodingInfoResults:[ij],error:e}}function iX(e,t,i,r={}){var a,s,n,o,l,d;let h,u,c,m,f,p,g,v,E=e.videoCodec;if(!E&&!e.audioCodec||!i)return Promise.resolve(iQ);let y=[],b=(h=null==(s=(a=e).videoCodec)?void 0:s.split(","),u=iZ(a),c=a.width||640,m=a.height||480,f=a.frameRate||30,p=a.videoRange.toLowerCase(),h?h.map(e=>{let t={contentType:iF(function(e){if(e.startsWith("av01.")){let t=e.split("."),i=["0","111","01","01","01","0"];for(let e=t.length;e>4&&e<10;e++)t[e]=i[e-4];return t.join(".")}return e}(e),"video"),width:c,height:m,bitrate:u,framerate:f};return"sdr"!==p&&(t.transferFunction=p),t}):[]),T=b.length,A=(n=e,o=t,l=T>0,g=null==(d=n.audioCodec)?void 0:d.split(","),v=iZ(n),g&&n.audioGroups?n.audioGroups.reduce((e,t)=>{var i;let r=t?null==(i=o.groups[t])?void 0:i.tracks:null;return r?r.reduce((e,i)=>{if(i.groupId===t){let t=parseFloat(i.channels||"");g.forEach(i=>{let r={contentType:iF(i,"audio"),bitrate:l?function(e,t){if(t<=1)return 1;let i=128e3;return"ec-3"===e?i=768e3:"ac-3"===e&&(i=64e4),Math.min(t/2,i)}(i,v):v};t&&(r.channels=""+t),e.push(r)})}return e},e):e},[]):[]),S=A.length;for(let e=T||+S||1;e--;){let t={type:"media-source"};if(T&&(t.video=b[e%T]),S){t.audio=A[e%S];let i=t.audio.bitrate;t.video&&i&&(t.video.bitrate-=i)}y.push(t)}if(E){let e=navigator.userAgent;if(E.split(",").some(e=>iC(e))&&/\(Windows.+Firefox\//i.test(navigator.userAgent))return Promise.resolve(iz(Error(`Overriding Windows Firefox HEVC MediaCapabilities result based on user-agent string: (${e})`),y))}return Promise.all(y.map(e=>{let t=function(e){let t="",{audio:i,video:r}=e;if(r){let e=iY(r.contentType);t+=`${e}_r${r.height}x${r.width}f${Math.ceil(r.framerate)}${r.transferFunction||"sd"}_${Math.ceil(r.bitrate/1e5)}`}if(i){let e=iY(i.contentType);t+=`${r?"_":""}${e}_c${i.channels}`}return t}(e);return r[t]||(r[t]=i.decodingInfo(e))})).then(e=>({supported:!e.some(e=>!e.supported),configurations:y,decodingInfoResults:e})).catch(e=>({supported:!1,configurations:y,decodingInfoResults:[],error:e}))}function iZ(e){return 1e3*Math.ceil(Math.max(.9*e.bitrate,e.averageBitrate)/1e3)||1}let iJ=["NONE","TYPE-0","TYPE-1",null],i0=["SDR","PQ","HLG"];function i1(e){let{canSkipUntil:t,canSkipDateRanges:i,age:r}=e;return t&&r<t/2?i?"v2":"YES":""}class i2{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 void 0!==this.msn&&t.searchParams.set("_HLS_msn",this.msn.toString()),void 0!==this.part&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href}}class i3{constructor(e){if(this._attrs=void 0,this.audioCodec=void 0,this.bitrate=void 0,this.codecSet=void 0,this.url=void 0,this.frameRate=void 0,this.height=void 0,this.id=void 0,this.name=void 0,this.supplemental=void 0,this.videoCodec=void 0,this.width=void 0,this.details=void 0,this.fragmentError=0,this.loadError=0,this.loaded=void 0,this.realBitrate=0,this.supportedPromise=void 0,this.supportedResult=void 0,this._avgBitrate=0,this._audioGroups=void 0,this._subtitleGroups=void 0,this._urlId=0,this.url=[e.url],this._attrs=[e.attrs],this.bitrate=e.bitrate,e.details&&(this.details=e.details),this.id=e.id||0,this.name=e.name,this.width=e.width||0,this.height=e.height||0,this.frameRate=e.attrs.optionalFloat("FRAME-RATE",0),this._avgBitrate=e.attrs.decimalInteger("AVERAGE-BANDWIDTH"),this.audioCodec=e.audioCodec,this.videoCodec=e.videoCodec,this.codecSet=[e.videoCodec,e.audioCodec].filter(e=>!!e).map(e=>e.substring(0,4)).join(","),"supplemental"in e){var t;this.supplemental=e.supplemental;const i=null==(t=e.supplemental)?void 0:t.videoCodec;i&&i!==e.videoCodec&&(this.codecSet+=`,${i.substring(0,4)}`)}this.addGroupId("audio",e.attrs.AUDIO),this.addGroupId("text",e.attrs.SUBTITLES)}get maxBitrate(){return Math.max(this.realBitrate,this.bitrate)}get averageBitrate(){return this._avgBitrate||this.realBitrate||this.bitrate}get attrs(){return this._attrs[0]}get codecs(){return this.attrs.CODECS||""}get pathwayId(){return this.attrs["PATHWAY-ID"]||"."}get videoRange(){return this.attrs["VIDEO-RANGE"]||"SDR"}get score(){return this.attrs.optionalFloat("SCORE",0)}get uri(){return this.url[0]||""}hasAudioGroup(e){return i4(this._audioGroups,e)}hasSubtitleGroup(e){return i4(this._subtitleGroups,e)}get audioGroups(){return this._audioGroups}get subtitleGroups(){return this._subtitleGroups}addGroupId(e,t){if(t){if("audio"===e){let e=this._audioGroups;e||(e=this._audioGroups=[]),-1===e.indexOf(t)&&e.push(t)}else if("text"===e){let e=this._subtitleGroups;e||(e=this._subtitleGroups=[]),-1===e.indexOf(t)&&e.push(t)}}}get urlId(){return 0}set urlId(e){}get audioGroupIds(){return this.audioGroups?[this.audioGroupId]:void 0}get textGroupIds(){return this.subtitleGroups?[this.textGroupId]:void 0}get audioGroupId(){var e;return null==(e=this.audioGroups)?void 0:e[0]}get textGroupId(){var e;return null==(e=this.subtitleGroups)?void 0:e[0]}addFallback(){}}function i4(e,t){return!!t&&!!e&&-1!==e.indexOf(t)}let i5=(e,t)=>{let i;return JSON.stringify(e,(i=new WeakSet,(e,r)=>{if(t&&(r=t(e,r)),"object"==typeof r&&null!==r){if(i.has(r))return;i.add(r)}return r}))};function i8(e,t){t8.log(`[abr] start candidates with "${e}" ignored because ${t}`)}function i9(e){return e.reduce((e,t)=>
1{let i=e.groups[t.groupId];i||(i=e.groups[t.groupId]={tracks:[],channels:{2:0},hasDefault:!1,hasAutoSelect:!1}),i.tracks.push(t);let r=t.channels||"2";return i.channels[r]=(i.channels[r]||0)+1,i.hasDefault=i.hasDefault||t.default,i.hasAutoSelect=i.hasAutoSelect||t.autoselect,i.hasDefault&&(e.hasDefaultAudio=!0),i.hasAutoSelect&&(e.hasAutoSelectAudio=!0),e},{hasDefaultAudio:!1,hasAutoSelectAudio:!1,groups:{}})}function i6(e){if(!e)return e;let{lang:t,assocLang:i,characteristics:r,channels:a,audioCodec:s}=e;return{lang:t,assocLang:i,characteristics:r,channels:a,audioCodec:s}}function i7(e,t,i){if("attrs"in e){let i=t.indexOf(e);if(-1!==i)return i}for(let r=0;r<t.length;r++)if(re(e,t[r],i))return r;return -1}function re(e,t,i){let{groupId:r,name:a,lang:s,assocLang:n,default:o}=e,l=e.forced;return(void 0===r||t.groupId===r)&&(void 0===a||t.name===a)&&(void 0===s||function(e,t="--"){return e.length===t.length?e===t:e.startsWith(t)||t.startsWith(e)}(s,t.lang))&&(void 0===s||t.assocLang===n)&&(void 0===o||t.default===o)&&(void 0===l||t.forced===l)&&(!("characteristics"in e)||function(e,t=""){let i=e.split(","),r=t.split(",");return i.length===r.length&&!i.some(e=>-1===r.indexOf(e))}(e.characteristics||"",t.characteristics))&&(void 0===i||i(e,t))}function rt(e,t){let{audioCodec:i,channels:r}=e;return(void 0===i||(t.audioCodec||"").substring(0,4)===i.substring(0,4))&&(void 0===r||r===(t.channels||"2"))}function ri(e,t,i){for(let r=t;r>-1;r--)if(i(e[r]))return r;for(let r=t+1;r<e.length;r++)if(i(e[r]))return r;return -1}function rr(e,t){var i;return!!e&&e!==(null==(i=t.loadLevelObj)?void 0:i.uri)}let ra=function(e,t){let i=0,r=e.length-1,a=null,s=null;for(;i<=r;){let n=t(s=e[a=(i+r)/2|0]);if(n>0)i=a+1;else{if(!(n<0))return s;r=a-1}}return null};function rs(e,t,i=0,r=0,a=.005){let s=null;if(e){s=t[1+e.sn-t[0].sn]||null;let r=e.endDTS-i;r>0&&r<15e-7&&(i+=15e-7),s&&e.level!==s.level&&s.end<=e.end&&(s=t[2+e.sn-t[0].sn]||null)}else 0===i&&0===t[0].start&&(s=t[0]);if(s&&((!e||e.level===s.level)&&0===rn(i,r,s)||function(e,t,i){if(t&&0===t.start&&t.level<e.level&&(t.endPTS||0)>0){let r=t.tagList.reduce((e,t)=>("INF"===t[0]&&(e+=parseFloat(t[1])),e),i);return e.start<=r}return!1}(s,e,Math.min(a,r))))return s;let n=ra(t,rn.bind(null,i,r));return n&&(n!==e||!s)?n:s}function rn(e=0,t=0,i){if(i.start<=e&&i.start+i.duration>e)return 0;let r=Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return i.start+i.duration-r<=e?1:i.start-r>e&&i.start?-1:0}function ro(e,t,i){if(e&&e.startCC<=t&&e.endCC>=t){let r,a=e.fragments,{fragmentHint:s}=e;return s&&(a=a.concat(s)),ra(a,e=>e.cc<t?1:e.cc>t?-1:(r=e,e.end<=i)?1:e.start>i?-1:0),r||null}return null}function rl(e){switch(e.details){case tH.FRAG_LOAD_TIMEOUT:case tH.KEY_LOAD_TIMEOUT:case tH.LEVEL_LOAD_TIMEOUT:case tH.MANIFEST_LOAD_TIMEOUT:return!0}return!1}function rd(e){return e.details.startsWith("key")}function rh(e){return rd(e)&&!!e.frag&&!e.frag.decryptdata}function ru(e,t){let i=rl(t);return e.default[`${i?"timeout":"error"}Retry`]}function rc(e,t){return Math.min(("linear"===e.backoff?1:Math.pow(2,t))*e.retryDelayMs,e.maxRetryDelayMs)}function rm(e){return t0(t0({},e),{errorRetry:null,timeoutRetry:null})}function rf(e,t,i,r){var a;if(!e)return!1;let s=null==r?void 0:r.code,n=t<e.maxNumRetry&&(rp(a=s)||!!a&&(a<400||a>499)||!!i);return e.shouldRetry?e.shouldRetry(e,t,i,r,n):n}function rp(e){return 0===e&&!1===navigator.onLine}function rg(e){let t={action:0,flags:0};return e&&(t.resolved=!0),t}var rv="NOT_LOADED",rE="APPENDING",ry="PARTIAL";class rb{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&&(e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.BUFFER_APPENDED,this.onBufferAppended,this),e.on(tG.FRAG_BUFFERED,this.onFragBuffered,this),e.on(tG.FRAG_LOADED,this.onFragLoaded,this))}_unregisterListeners(){let{hls:e}=this;e&&(e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.BUFFER_APPENDED,this.onBufferAppended,this),e.off(tG.FRAG_BUFFERED,this.onFragBuffered,this),e.off(tG.FRAG_LOADED,this.onFragLoaded,this))}destroy(){this._unregisterListeners(),this.hls=this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null}getAppendedFrag(e,t){let i=this.activePartLists[t];if(i)for(let t=i.length;t--;){let r=i[t];if(!r)break;
1if(r.start<=e&&e<=r.end&&r.loaded)return r}return this.getBufferedFrag(e,t)}getBufferedFrag(e,t){return this.getFragAtPos(e,t,!0)}getFragAtPos(e,t,i){let{fragments:r}=this,a=Object.keys(r);for(let s=a.length;s--;){let n=r[a[s]];if((null==n?void 0:n.body.type)===t&&(!i||n.buffered)){let t=n.body;if(t.start<=e&&e<=t.end)return t}}return null}detectEvictedFragments(e,t,i,r,a){this.timeRanges&&(this.timeRanges[e]=t);let s=(null==r?void 0:r.fragment.sn)||-1;Object.keys(this.fragments).forEach(r=>{let n=this.fragments[r];if(!n||s>=n.body.sn)return;if(!n.buffered&&(!n.loaded||a)){n.body.type===i&&this.removeFragment(n.body);return}let o=n.range[e];if(o){if(0===o.time.length)return void this.removeFragment(n.body);o.time.some(e=>{let i=!this.isTimeBuffered(e.startPTS,e.endPTS,t);return i&&this.removeFragment(n.body),i})}})}detectPartialFragments(e){let t=this.timeRanges;if(!t||"initSegment"===e.frag.sn)return;let i=e.frag,r=r_(i),a=this.fragments[r];if(!a||a.buffered&&i.gap)return;let s=!i.relurl;Object.keys(t).forEach(r=>{let n=i.elementaryStreams[r];if(!n)return;let o=t[r],l=s||!0===n.partial;a.range[r]=this.getBufferedTimes(i,e.part,l,o)}),a.loaded=null,Object.keys(a.range).length?(this.bufferedEnd(a,i),rT(a)||this.removeParts(i.sn-1,i.type)):this.removeFragment(a.body)}bufferedEnd(e,t){e.buffered=!0,(e.body.endList=t.endList||e.body.endList)&&(this.endListFragments[e.body.type]=e)}removeParts(e,t){let i=this.activePartLists[t];i&&(this.activePartLists[t]=rA(i,t=>t.fragment.sn>=e))}fragBuffered(e,t){let i=r_(e),r=this.fragments[i];!r&&t&&(r=this.fragments[i]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),r&&(r.loaded=null,this.bufferedEnd(r,e))}getBufferedTimes(e,t,i,r){let a={time:[],partial:i},s=e.start,n=e.end,o=e.minEndPTS||n,l=e.maxStartPTS||s;for(let e=0;e<r.length;e++){let t=r.start(e)-this.bufferPadding,i=r.end(e)+this.bufferPadding;if(l>=t&&o<=i){a.time.push({startPTS:Math.max(s,r.start(e)),endPTS:Math.min(n,r.end(e))});break}if(s<i&&n>t){let t=Math.max(s,r.start(e)),i=Math.min(n,r.end(e));i>t&&(a.partial=!0,a.time.push({startPTS:t,endPTS:i}))}else if(n<=t)break}return a}getPartialFragment(e){let t,i,r,a=null,s=0,{bufferPadding:n,fragments:o}=this;return Object.keys(o).forEach(l=>{let d=o[l];d&&rT(d)&&(i=d.body.start-n,r=d.body.end+n,e>=i&&e<=r&&s<=(t=Math.min(e-i,r-e))&&(a=d.body,s=t))}),a}isEndListAppended(e){let t=this.endListFragments[e];return void 0!==t&&(t.buffered||rT(t))}getState(e){let t=r_(e),i=this.fragments[t];if(i)if(!i.buffered)return rE;else if(rT(i))return ry;else return"OK";return rv}isTimeBuffered(e,t,i){let r,a;for(let s=0;s<i.length;s++){if(r=i.start(s)-this.bufferPadding,a=i.end(s)+this.bufferPadding,e>=r&&t<=a)return!0;if(t<=r)break}return!1}onManifestLoading(){this.removeAllFragments()}onFragLoaded(e,t){if("initSegment"===t.frag.sn||t.frag.bitrateTest)return;let i=t.frag,r=t.part?null:t,a=r_(i);this.fragments[a]={body:i,appendedPTS:null,loaded:r,buffered:!1,range:Object.create(null)}}onBufferAppended(e,t){let{frag:i,part:r,timeRanges:a,type:s}=t;if("initSegment"===i.sn)return;let n=i.type;if(r){let e=this.activePartLists[n];e||(this.activePartLists[n]=e=[]),e.push(r)}this.timeRanges=a;let o=a[s];this.detectEvictedFragments(s,o,n,r)}onFragBuffered(e,t){this.detectPartialFragments(t)}hasFragment(e){let t=r_(e);return!!this.fragments[t]}hasFragments(e){let{fragments:t}=this,i=Object.keys(t);if(!e)return i.length>0;for(let r=i.length;r--;){let a=t[i[r]];if((null==a?void 0:a.body.type)===e)return!0}return!1}hasParts(e){var t;return!!(null!=(t=this.activePartLists[e])&&t.length)}removeFragmentsInRange(e,t,i,r,a){(!r||this.hasGaps)&&Object.keys(this.fragments).forEach(s=>{let n=this.fragments[s];if(!n)return;let o=n.body;o.type===i&&(!r||o.gap)&&o.start<t&&o.end>e&&(n.buffered||a)&&this.removeFragment(o)})}removeFragment(e){let t=r_(e);e.clearElementaryStreamInfo();let i=this.activePartLists[e.type];if(i){let t=e.sn;this.activePartLists[e.type]=rA(i,e=>e.fragment.sn!==t)}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type]}removeAllFragments(){var e;this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;let t=null==(e=this.hls)||null==(e=e.latestLevelDetails)?void 0:e.partList;
1t&&t.forEach(e=>e.clearElementaryStreamInfo())}}function rT(e){var t,i,r;return e.buffered&&!!(e.body.gap||null!=(t=e.range.video)&&t.partial||null!=(i=e.range.audio)&&i.partial||null!=(r=e.range.audiovideo)&&r.partial)}function r_(e){return`${e.type}_${e.level}_${e.sn}`}function rA(e,t){return e.filter(e=>{let i=t(e);return i||e.clearElementaryStreamInfo(),i})}class rS{constructor(e,t,i){this.subtle=void 0,this.aesIV=void 0,this.aesMode=void 0,this.subtle=e,this.aesIV=t,this.aesMode=i}decrypt(e,t){switch(this.aesMode){case 0:return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e);case 1:return this.subtle.decrypt({name:"AES-CTR",counter:this.aesIV,length:64},t,e);default:throw Error(`[AESCrypto] invalid aes mode ${this.aesMode}`)}}}class rk{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 e=0;e<4;e++)i[e]=t.getUint32(4*e);return i}initTable(){let e=this.sBox,t=this.invSBox,i=this.subMix,r=i[0],a=i[1],s=i[2],n=i[3],o=this.invSubMix,l=o[0],d=o[1],h=o[2],u=o[3],c=new Uint32Array(256),m=0,f=0,p=0;for(p=0;p<256;p++)p<128?c[p]=p<<1:c[p]=p<<1^283;for(p=0;p<256;p++){let i=f^f<<1^f<<2^f<<3^f<<4;i=i>>>8^255&i^99,e[m]=i,t[i]=m;let o=c[m],p=c[o],g=c[p],v=257*c[i]^0x1010100*i;r[m]=v<<24|v>>>8,a[m]=v<<16|v>>>16,s[m]=v<<8|v>>>24,n[m]=v,v=0x1010101*g^65537*p^257*o^0x1010100*m,l[i]=v<<24|v>>>8,d[i]=v<<16|v>>>16,h[i]=v<<8|v>>>24,u[i]=v,m?(m=o^c[c[c[g^o]]],f^=c[c[f]]):m=f=1}}expandKey(e){let t,i,r,a,s=this.uint8ArrayToUint32Array_(e),n=!0,o=0;for(;o<s.length&&n;)n=s[o]===this.key[o],o++;if(n)return;this.key=s;let l=this.keySize=s.length;if(4!==l&&6!==l&&8!==l)throw Error("Invalid aes key size="+l);let d=this.ksRows=(l+6+1)*4,h=this.keySchedule=new Uint32Array(d),u=this.invKeySchedule=new Uint32Array(d),c=this.sBox,m=this.rcon,f=this.invSubMix,p=f[0],g=f[1],v=f[2],E=f[3];for(t=0;t<d;t++){if(t<l){r=h[t]=s[t];continue}a=r,t%l==0?a=(c[(a=a<<8|a>>>24)>>>24]<<24|c[a>>>16&255]<<16|c[a>>>8&255]<<8|c[255&a])^m[t/l|0]<<24:l>6&&t%l==4&&(a=c[a>>>24]<<24|c[a>>>16&255]<<16|c[a>>>8&255]<<8|c[255&a]),h[t]=r=(h[t-l]^a)>>>0}for(i=0;i<d;i++)t=d-i,a=3&i?h[t]:h[t-4],i<4||t<=4?u[i]=a:u[i]=p[c[a>>>24]]^g[c[a>>>16&255]]^v[c[a>>>8&255]]^E[c[255&a]],u[i]=u[i]>>>0}networkToHostOrderSwap(e){return e<<24|(65280&e)<<8|(0xff0000&e)>>8|e>>>24}decrypt(e,t,i){let r,a,s,n,o,l,d,h,u,c,m,f,p,g,v=this.keySize+6,E=this.invKeySchedule,y=this.invSBox,b=this.invSubMix,T=b[0],A=b[1],S=b[2],k=b[3],R=this.uint8ArrayToUint32Array_(i),L=R[0],I=R[1],w=R[2],D=R[3],C=new Int32Array(e),M=new Int32Array(C.length),x=this.networkToHostOrderSwap;for(;t<C.length;){for(g=1,u=x(C[t]),c=x(C[t+1]),m=x(C[t+2]),f=x(C[t+3]),o=u^E[0],l=f^E[1],d=m^E[2],h=c^E[3],p=4;g<v;g++)r=T[o>>>24]^A[l>>16&255]^S[d>>8&255]^k[255&h]^E[p],a=T[l>>>24]^A[d>>16&255]^S[h>>8&255]^k[255&o]^E[p+1],s=T[d>>>24]^A[h>>16&255]^S[o>>8&255]^k[255&l]^E[p+2],n=T[h>>>24]^A[o>>16&255]^S[l>>8&255]^k[255&d]^E[p+3],o=r,l=a,d=s,h=n,p+=4;r=y[o>>>24]<<24^y[l>>16&255]<<16^y[d>>8&255]<<8^y[255&h]^E[p],a=y[l>>>24]<<24^y[d>>16&255]<<16^y[h>>8&255]<<8^y[255&o]^E[p+1],s=y[d>>>24]<<24^y[h>>16&255]<<16^y[o>>8&255]<<8^y[255&l]^E[p+2],n=y[h>>>24]<<24^y[o>>16&255]<<16^y[l>>8&255]<<8^y[255&d]^E[p+3],M[t]=x(r^L),M[t+1]=x(n^I),M[t+2]=x(s^w),M[t+3]=x(a^D),L=u,I=c,w=m,D=f,t+=4}return M.buffer}}class rR{constructor(e,t,i){this.subtle=void 0,this.key=void 0,this.aesMode=void 0,this.subtle=e,this.key=t,this.aesMode=i}expandKey(){let e=function(e){switch(e){case 0:return"AES-CBC";case 1:return"AES-CTR";default:throw Error(`[FastAESKey] invalid aes mode ${e}`)}}(this.aesMode);return this.subtle.importKey("raw",this.key,{name:e},!1,["encrypt","decrypt"])}}class rL{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.enableSoftw
1areAES=void 0,this.enableSoftwareAES=e.enableSoftwareAES,this.removePKCS7Padding=t,t)try{const e=self.crypto;e&&(this.subtle=e.subtle||e.webkitSubtle)}catch(e){}this.useSoftware=!this.subtle}destroy(){this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null}isSync(){return this.useSoftware}flush(){let{currentResult:e,remainderData:t}=this;if(!e||t)return this.reset(),null;let i=new Uint8Array(e);if(this.reset(),this.removePKCS7Padding){let e,t;return(t=(e=i.byteLength)&&new DataView(i.buffer).getUint8(e-1))?i.slice(0,e-t):i}return i}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null)}decrypt(e,t,i,r){return this.useSoftware?new Promise((a,s)=>{let n=ArrayBuffer.isView(e)?e:new Uint8Array(e);this.softwareDecrypt(n,t,i,r);let o=this.flush();o?a(o.buffer):s(Error("[softwareDecrypt] Failed to decrypt data"))}):this.webCryptoDecrypt(new Uint8Array(e),t,i,r)}softwareDecrypt(e,t,i,r){let{currentIV:a,currentResult:s,remainderData:n}=this;if(0!==r||16!==t.byteLength)return t8.warn("SoftwareDecrypt: can only handle AES-128-CBC"),null;this.logOnce("JS AES decrypt"),n&&(e=iw(n,e),this.remainderData=null);let o=this.getValidChunk(e);if(!o.length)return null;a&&(i=a);let l=this.softwareDecrypter;return(l||(l=this.softwareDecrypter=new rk),l.expandKey(t),this.currentResult=l.decrypt(o.buffer,0,i),this.currentIV=o.slice(-16).buffer,s)?s:null}webCryptoDecrypt(e,t,i,r){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,i,r));this.key=t,this.fastAesKey=new rR(this.subtle,t,r)}return this.fastAesKey.expandKey().then(t=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new rS(this.subtle,new Uint8Array(i),r).decrypt(e.buffer,t)):Promise.reject(Error("web crypto not initialized"))).catch(a=>(t8.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${a.name}: ${a.message}`),this.onWebCryptoError(e,t,i,r)))}onWebCryptoError(e,t,i,r){let a=this.enableSoftwareAES;if(a){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i,r);let a=this.flush();if(a)return a.buffer}throw Error("WebCrypto"+(a?" and softwareDecrypt":"")+": failed to decrypt data")}getValidChunk(e){let t=e,i=e.length-e.length%16;return i!==e.length&&(t=e.slice(0,i),this.remainderData=e.slice(i)),t}logOnce(e){this.logEnabled&&(t8.log(`[decrypter]: ${e}`),this.logEnabled=!1)}}class rI{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 rC({type:t$.NETWORK_ERROR,details:tH.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:Error(`Fragment does not have a ${i?"part list":"url"}`),networkDetails:null}));this.abort();let r=this.config,a=r.fLoader,s=r.loader;return new Promise((n,o)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(e=>"GAP"===e[0]))return void o(rD(e));else e.gap=!1;let l=this.loader=a?new a(r):new s(r),d=rw(e);e.loader=l;let h=rm(r.fragLoadPolicy.default),u={loadPolicy:h,timeout:h.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:"initSegment"===e.sn?1/0:131072};e.stats=l.stats;let c={onSuccess:(t,i,r,a)=>{this.resetLoader(e,l);let s=t.data;r.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(s.slice(0,16)),s=s.slice(16)),n({frag:e,part:null,payload:s,networkDetails:a})},onError:(t,r,a,s)=>{this.resetLoader(e,l),o(new rC({type:t$.NETWORK_ERROR,details:tH.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:t0({url:i,data:void 0},t),error:Error(`HTTP Error ${t.code} ${t.text}`),networkDetails:a,stats:s}))},onAbort:(t,i,r)=>{this.resetLoader(e,l),o(new rC({type:t$.NETWORK_ERROR,details:tH.INTERNAL_ABORTED,fatal:!1,frag:e,error:Error("Aborted"),networkDetails:r,stats:t}))},onTimeout:(t,i,r)=>{this.resetLoader(e,l),o(new rC({type:t$.NETWORK_ERROR,details:tH.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:Error(`Timeout after ${u.timeout}ms`),networkDetails:r,stats:t}))}};t&&(c.onProgress=(i,r,a,s)=>t({frag:e,part:null,payload:a,networkDetails:s})),l.load(d,u,c)})}loadPart(e,t,i){this.abort();let r=this.config,a=r.fLoader,s=r.loader;return new Promise((n,o)=>
1{if(this.loader&&this.loader.destroy(),e.gap||t.gap)return void o(rD(e,t));let l=this.loader=a?new a(r):new s(r),d=rw(e,t);e.loader=l;let h=rm(r.fragLoadPolicy.default),u={loadPolicy:h,timeout:h.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:131072};t.stats=l.stats,l.load(d,u,{onSuccess:(r,a,s,o)=>{this.resetLoader(e,l),this.updateStatsFromPart(e,t);let d={frag:e,part:t,payload:r.data,networkDetails:o};i(d),n(d)},onError:(i,r,a,s)=>{this.resetLoader(e,l),o(new rC({type:t$.NETWORK_ERROR,details:tH.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:t0({url:d.url,data:void 0},i),error:Error(`HTTP Error ${i.code} ${i.text}`),networkDetails:a,stats:s}))},onAbort:(i,r,a)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,l),o(new rC({type:t$.NETWORK_ERROR,details:tH.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:Error("Aborted"),networkDetails:a,stats:i}))},onTimeout:(i,r,a)=>{this.resetLoader(e,l),o(new rC({type:t$.NETWORK_ERROR,details:tH.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:Error(`Timeout after ${u.timeout}ms`),networkDetails:a,stats:i}))}})})}updateStatsFromPart(e,t){let i=e.stats,r=t.stats,a=r.total;if(i.loaded+=r.loaded,a){let r=Math.round(e.duration/t.duration),s=Math.min(Math.round(i.loaded/a),r),n=(r-s)*Math.round(i.loaded/s);i.total=i.loaded+n}else i.total=Math.max(i.loaded,i.total);let s=i.loading,n=r.loading;s.start?s.first+=n.first-n.start:(s.start=n.start,s.first=n.first),s.end=n.end}resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy()}}function rw(e,t=null){let i=t||e,r={frag:e,part:t,responseType:"arraybuffer",url:i.url,headers:{},rangeStart:0,rangeEnd:0},a=i.byteRangeStartOffset,s=i.byteRangeEndOffset;if(tU(a)&&tU(s)){var n,o;let t=a,i=s;if("initSegment"===e.sn&&("AES-128"===(o=null==(n=e.decryptdata)?void 0:n.method)||"AES-256"===o)){let e=s-a;e%16&&(i=s+(16-e%16)),0!==a&&(r.resetIV=!0,t=a-16)}r.rangeStart=t,r.rangeEnd=i}return r}function rD(e,t){let i=Error(`GAP ${e.gap?"tag":"attribute"} found`),r={type:t$.MEDIA_ERROR,details:tH.FRAG_GAP,fatal:!1,frag:e,error:i,networkDetails:null};return t&&(r.part=t),(t||e).stats.aborted=!0,new rC(r)}class rC extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e}}class rM extends t1{constructor(e,t){super(e,t),this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this)}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed()}onHandlerDestroying(){this.clearNextTick(),this.clearInterval()}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval}hasNextTick(){return!!this._tickTimer}setInterval(e){return!this._tickInterval&&(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0)}clearInterval(){return!!this._tickInterval&&(self.clearInterval(this._tickInterval),this._tickInterval=null,!0)}clearNextTick(){return!!this._tickTimer&&(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0)}tick(){this._tickCallCount++,1===this._tickCallCount&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0)}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0)}doTick(){}}class rx{constructor(e,t,i,r=0,a=-1,s=!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=rP(),this.buffering={audio:rP(),video:rP(),audiovideo:rP()},this.level=e,this.sn=t,this.id=i,this.size=r,this.part=a,this.partial=s}}function rP(){return{start:0,executeStart:0,executeEnd:0,end:0}}let rO={length:0,start:()=>0,end:()=>0};class rN{static isBuffered(e,t){if(e){let i=rN.getBuffered(e);for(let e=i.length;e--;)if(t>=i.start(e)&&t<=i.end(e))return!0}return!1}static bufferedRanges(e){if(e){let t=rN.getBuffered(e);return rN.timeRangesToArray(t)}return[]}static timeRangesToArray(e){let t=[];for(let i=0;i<e.length;i++)t.push({start:e.start(i),end:e.end(i)});return t}static bufferInfo(e,t,i){if(e){let r=rN.bufferedRanges(e);if(r.length)return rN.bufferedInfo(r,t,i)}return{len:0,start:t,end:t,bufferedIndex:-1}}static bufferedInfo(e,t,i){let r;t=Math.max(0,t),e.length>1&&e.sort((e,t)=>
1e.start-t.start||t.end-e.end);let a=-1,s=[];if(i)for(let r=0;r<e.length;r++){t>=e[r].start&&t<=e[r].end&&(a=r);let n=s.length;if(n){let t=s[n-1].end;e[r].start-t<i?e[r].end>t&&(s[n-1].end=e[r].end):s.push(e[r])}else s.push(e[r])}else s=e;let n=0,o=t,l=t;for(let e=0;e<s.length;e++){let d=s[e].start,h=s[e].end;if(-1===a&&t>=d&&t<=h&&(a=e),t+i>=d&&t<h)o=d,n=(l=h)-t;else if(t+i<d){r=d;break}}return{len:n,start:o||0,end:l||0,nextStart:r,buffered:e,bufferedIndex:a}}static getBuffered(e){try{return e.buffered||rO}catch(e){return t8.log("failed to get media.buffered",e),rO}}}let rU=/\{\$([a-zA-Z0-9-_]+)\}/g;function rF(e,t){if(null!==e.variableList||e.hasVariableRefs){let i=e.variableList;return t.replace(rU,t=>{let r=t.substring(2,t.length-1),a=null==i?void 0:i[r];return void 0===a?(e.playlistParsingError||(e.playlistParsingError=Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${r}"`)),t):a})}return t}function rB(e,t,i){let r,a,s=e.variableList;if(s||(e.variableList=s={}),"QUERYPARAM"in t){r=t.QUERYPARAM;try{let e=new self.URL(i).searchParams;if(e.has(r))a=e.get(r);else throw Error(`"${r}" does not match any query parameter in URI: "${i}"`)}catch(t){e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE QUERYPARAM: ${t.message}`))}}else r=t.NAME,a=t.VALUE;r in s?e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${r}"`)):s[r]=a||""}let r$=/^(\d+)x(\d+)$/,rH=/(.+?)=(".*?"|.*?)(?:,|$)/g;class rG{constructor(e,t){"string"==typeof e&&(e=rG.parseAttrList(e,t)),tZ(this,e)}get clientAttrs(){return Object.keys(this).filter(e=>"X-"===e.substring(0,2))}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),i=new Uint8Array((t=(1&t.length?"0":"")+t).length/2);for(let e=0;e<t.length/2;e++)i[e]=parseInt(t.slice(2*e,2*e+2),16);return i}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]}enumeratedStringList(e,t){let i=this[e];return(i?i.split(/[ ,]+/):[]).reduce((e,t)=>(e[t.toLowerCase()]=!0,e),t)}bool(e){return"YES"===this[e]}decimalResolution(e){let t=r$.exec(this[e]);if(null!==t)return{width:parseInt(t[1],10),height:parseInt(t[2],10)}}static parseAttrList(e,t){let i,r={};for(rH.lastIndex=0;null!==(i=rH.exec(e));){let a=i[1].trim(),s=i[2],n=0===s.indexOf('"')&&s.lastIndexOf('"')===s.length-1,o=!1;if(n)s=s.slice(1,-1);else switch(a){case"IV":case"SCTE35-CMD":case"SCTE35-IN":case"SCTE35-OUT":o=!0}if(t&&(n||o))s=rF(t,s);else if(!o&&!n)switch(a){case"CLOSED-CAPTIONS":if("NONE"===s)break;case"ALLOWED-CPC":case"CLASS":case"ASSOC-LANGUAGE":case"AUDIO":case"BYTERANGE":case"CHANNELS":case"CHARACTERISTICS":case"CODECS":case"DATA-ID":case"END-DATE":case"GROUP-ID":case"ID":case"IMPORT":case"INSTREAM-ID":case"KEYFORMAT":case"KEYFORMATVERSIONS":case"LANGUAGE":case"NAME":case"PATHWAY-ID":case"QUERYPARAM":case"RECENTLY-REMOVED-DATERANGES":case"SERVER-URI":case"STABLE-RENDITION-ID":case"STABLE-VARIANT-ID":case"START-DATE":case"SUBTITLES":case"SUPPLEMENTAL-CODECS":case"URI":case"VALUE":case"VIDEO":case"X-ASSET-LIST":case"X-ASSET-URI":t8.warn(`${e}: attribute ${a} is missing quotes`)}r[a]=s}return r}}class rK{constructor(e,t,i=0){var r;if(this.attr=void 0,this.tagAnchor=void 0,this.tagOrder=void 0,this._startDate=void 0,this._endDate=void 0,this._dateAtEnd=void 0,this._cue=void 0,this._badValueForSameId=void 0,this.tagAnchor=(null==t?void 0:t.tagAnchor)||null,this.tagOrder=null!=(r=null==t?void 0:t.tagOrder)?r:i,t){const i=t.attr;for(const t in i)if(Object.prototype.hasOwnProperty.call(e,t)&&e[t]!==i[t]){t8.warn(`DATERANGE tag attribute: "${t}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=t;break}e=tZ(new rG({}),i,e)}if(this.attr=e,t?(this._startDate=t._startDate,this._cue=t._cue,this._endDate=t._endDate,this._dateAtEnd=t._dateAtEnd):this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){const e=(null==t?void 0:t.endDate)||new Date(this.attr["END-DATE"]);tU(e.getTime())&&(this._endDate=e)}}get id(){return this.attr.ID}get class(){return this.attr.CLASS}get cue(){let e=this._cue;return void 0===e?this._cue=this.attr.enumeratedStringList(this.attr.CUE?"CUE":"X-CUE",{pre:!1,post:!1,once:!1}):e}get startTime(){let{tagAnchor:e}=this;return null===e||null===e.programDateTime?(t8.warn(`Expected tagAnchor Fragment with PDT set for DateRange "${this.id}": ${e}`),NaN):e.start+(this.startDate.getTime()-e.programDateTime)/1e3}get startDate(){return this._startDate}get endDate(){let e=this._endDate||this._dateAtEnd;if(e)return e;let t=this.duration;return null!==t?this._dateAtEnd=new Date(this._startDate.getTime()+1e3*t):null}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(tU(e))return e}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null}get endOnNext(){return this.attr.bool("END-ON-NEXT")}get isInterstitial(){return"com.apple.hls.interstitial"===this.class}get isValid(){return!!this.id&&!this._badValueForSameId&&tU(this.startDate.getTime())&&(null===this.duration||this.duration>=0)&&(!this.endOnNext||!!this.class)&&(!this.attr.CUE||!this.cue.pre&&!this.cue.post||this.cue.pre!==this.cue.post)&&(!this.isInterstitial||"X-ASSET-URI"in this.attr||"X-ASSET-LIST"in this.attr)}}class rW{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.dateRangeTagCount=0,this.live=!0,this.requestScheduled=-1,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.drift
1StartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.appliedTimelineOffset=void 0,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e}reloaded(e){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.live,this.advanced=this.endSN>e.endSN||t>0||0===t&&i>0,this.updated||this.advanced?this.misses=Math.floor(.6*e.misses):this.misses=e.misses+1}hasKey(e){return this.encryptedFragments.some(t=>{let i=t.decryptdata;return i||(t.setKeyFormat(e.keyFormat),i=t.decryptdata),!!i&&e.matches(i)})}get hasProgramDateTime(){return!!this.fragments.length&&tU(this.fragments[this.fragments.length-1].programDateTime)}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||10}get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?1e3*(this.driftEnd-this.driftStart)/e:1}get edge(){return this.partEnd||this.fragmentEnd}get partEnd(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd}get fragmentEnd(){return this.fragments.length?this.fragments[this.fragments.length-1].end:0}get fragmentStart(){return this.fragments.length?this.fragments[0].start:0}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0}get lastPartIndex(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].index:-1}get maxPartIndex(){let e=this.partList;if(e){let t=this.lastPartIndex;if(-1!==t){for(let i=e.length;i--;)if(e[i].index>t)return e[i].index;return t}}return 0}get lastPartSn(){var e;return null!=(e=this.partList)&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN}get expired(){if(this.live&&this.age&&this.misses<3){let e=this.partEnd-this.fragmentStart;return this.age>Math.max(e,this.totalduration)+this.levelTargetDuration}return!1}}function rV(e,t){return e.length===t.length&&!e.some((e,i)=>e!==t[i])}function rq(e,t){return!e&&!t||!!e&&!!t&&rV(e,t)}function rY(e){return"AES-128"===e||"AES-256"===e||"AES-256-CTR"===e}function rj(e){switch(e){case"AES-128":case"AES-256":return 0;case"AES-256-CTR":return 1;default:throw Error(`invalid full segment method ${e}`)}}function rQ(e){return Uint8Array.from(atob(e),e=>e.charCodeAt(0))}function rz(e){return Uint8Array.from(unescape(encodeURIComponent(e)),e=>e.charCodeAt(0))}function rX(e){let t=function(e,t,i){let r=e[t];e[t]=e[i],e[i]=r};t(e,0,3),t(e,1,2),t(e,4,5),t(e,6,7)}function rZ(e){let t=e.split(":"),i=null;if("data"===t[0]&&2===t.length){let e=t[1].split(";"),r=e[e.length-1].split(",");if(2===r.length){let t="base64"===r[0],a=r[1];if(t)e.splice(-1,1),i=rQ(a);else{let e,t;e=rz(a).subarray(0,16),(t=new Uint8Array(16)).set(e,16-e.length),i=t}}}return i}let rJ="u">typeof self?self:void 0;var r0="org.w3.clearkey",r1="com.apple.fps",r2="com.microsoft.playready",r3="com.widevine.alpha",r4="org.w3.clearkey",r5="com.apple.streamingkeydelivery",r8="com.microsoft.playready",r9="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed";function r6(e){switch(e){case r5:return r1;case r8:return r2;case r9:return r3;case r4:return r0}}function r7(e){switch(e){case r1:return r5;case r2:return r8;case r3:return r9;case r0:return r4}}function ae(e){let{drmSystems:t,widevineLicenseUrl:i}=e,r=t?[r1,r3,r2,r0].filter(e=>!!t[e]):[];return!r[r3]&&i&&r.push(r3),r}let at=null!=rJ&&null!=(du=rJ.navigator)&&du.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;function ai(e){let t=new Uint16Array(e.buffer,e.byteOffset,e.byteLength/2),i=String.fromCharCode.apply(null,Array.from(t)),r=i.substring(i.indexOf("<"),i.length),a=new DOMParser().parseFromString(r,"text/xml").getElementsByTagName("KID")[0];if(a){let e=a.childNodes[0]?a.childNodes[0].nodeValue:a.getAttribute("VALUE");if(e){let t=rQ(e).subarray(0,16);return rX(t),t}}return null}let ar={};class aa{static clearKeyUriToKeyIdMap(){ar={}}static setKeyIdForUri(e,t){ar[e]=t}static addKeyIdForUri(e){let t=Object.keys(ar).length%Number.MAX_SAFE_INTEGER,i=new Uint8Array(16);return new DataView(i.buffer,12,4).setUint32(0,t),ar[e]=i,i}constructor(e,t,i,r=[1],a=null,s){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.pss
1h=null,this.method=e,this.uri=t,this.keyFormat=i,this.keyFormatVersions=r,this.iv=a,this.encrypted=!!e&&"NONE"!==e,this.isCommonEncryption=this.encrypted&&!rY(e),null!=s&&s.startsWith("0x")&&(this.keyId=new Uint8Array(it(s)))}matches(e){return e.uri===this.uri&&e.method===this.method&&e.encrypted===this.encrypted&&e.keyFormat===this.keyFormat&&rV(e.keyFormatVersions,this.keyFormatVersions)&&rq(e.iv,this.iv)&&rq(e.keyId,this.keyId)}isSupported(){if(this.method){if(rY(this.method)||"NONE"===this.method)return!0;if("identity"===this.keyFormat)return"SAMPLE-AES"===this.method;switch(this.keyFormat){case r5:case r9:case r8:case r4:return -1!==["SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)}}return!1}getDecryptData(e,t){var i,r;if(!this.encrypted||!this.uri)return null;if(rY(this.method)){let t=this.iv;return t||("number"!=typeof e&&(t8.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0),t=function(e){let t=new Uint8Array(16);for(let i=12;i<16;i++)t[i]=e>>8*(15-i)&255;return t}(e)),new aa(this.method,this.uri,"identity",this.keyFormatVersions,t)}if(this.keyId){let e=ar[this.uri];if(e&&!rV(this.keyId,e)&&aa.setKeyIdForUri(this.uri,this.keyId),this.pssh)return this}let a=rZ(this.uri);if(a)switch(this.keyFormat){case r9:if(this.pssh=a,!this.keyId){let e=function(e){let t=[];if(e instanceof ArrayBuffer){let i=e.byteLength,r=0;for(;r+32<i;){let i=function(e){let t=e.getUint32(0),i=e.byteOffset,r=e.byteLength;if(r<t)return{offset:i,size:r};if(0x70737368!==e.getUint32(4))return{offset:i,size:t};let a=e.getUint32(8)>>>24;if(0!==a&&1!==a)return{offset:i,size:t};let s=e.buffer,n=ie(new Uint8Array(s,i+12,16)),o=null,l=0;if(0===a)l=28;else{let a=e.getUint32(28);if(!a||r<32+16*a)return{offset:i,size:t};o=[];for(let e=0;e<a;e++)o.push(new Uint8Array(s,i+32+16*e,16));l=32+16*a}if(!l)return{offset:i,size:t};let d=e.getUint32(l);return t-32<d?{offset:i,size:t}:{version:a,systemId:n,kids:o,data:new Uint8Array(s,i+l+4,d),offset:i,size:t}}(new DataView(e,r));t.push(i),r+=i.size}}return t}(a.buffer);if(e.length){let t=e[0];this.keyId=null!=(i=t.kids)&&i.length?t.kids[0]:null}}this.keyId||(this.keyId=as(t));break;case r8:{let e=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=function(e,t){let i,r;if(16!==e.byteLength)throw RangeError("Invalid system id");i=new Uint8Array,r=new Uint8Array;let a=new Uint8Array(4);return t.byteLength>0&&new DataView(a.buffer).setUint32(0,t.byteLength,!1),function(e,...t){let i=t.length,r=8,a=i;for(;a--;)r+=t[a].byteLength;let s=new Uint8Array(r);for(s[0]=r>>24&255,s[1]=r>>16&255,s[2]=r>>8&255,s[3]=255&r,s.set(e,4),a=0,r=8;a<i;a++)s.set(t[a],r),r+=t[a].byteLength;return s}([112,115,115,104],new Uint8Array([0,0,0,0]),e,r,i,a,t)}(e,a),this.keyId=ai(a);break}default:{let e=a.subarray(0,16);if(16!==e.length){let t=new Uint8Array(16);t.set(e,16-e.length),e=t}this.keyId=e}}if(!this.keyId||16!==this.keyId.byteLength){let e,i;!(e=(i=null==(r=t)?void 0:r[r9])?i.keyId:null)&&((e=as(t))||(e=ar[this.uri])),e&&(this.keyId=e,aa.setKeyIdForUri(this.uri,e))}return this}}function as(e){let t=null==e?void 0:e[r8];if(t){let e=rZ(t.uri);if(e)return ai(e)}return null}let an=/#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,ao=/#EXT-X-MEDIA:(.*)/g,al=/^#EXT(?:INF|-X-TARGETDURATION):/m,ad=RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#.*/.source].join("|"),"g"),ah=new RegExp([/#EXT-X-(PROGRAM-DATE-TIME|BYTERANGE|DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|"));class au{static findGroup(e,t){for(let i=0;i<e.length;i++){let r=e[i];if(r.id===t)return r}}static resolve(e,t){return ir.buildAbsoluteURL(t,e,{alwaysNormalize:!0})}static isMediaPlaylist(e){return al.test(e)}static parseMasterPlaylist(e,t){var i;let r,a={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:rU.test(e)},s=[];if(an.lastIndex=0,!e.startsWith("#EXTM3U"))return a.playlistParsingError=Error("no EXTM3U delimiter"),a;for(;null!=(r=an.exec(e));)if(r[1]){let e=new rG(r[1],a),n=rF(a,r[2]),o={attrs:e,bitrate:e.decimalInteger("BANDWIDTH")||e.decimalInteger("AVERAGE-BANDWIDTH"),name:e.NAME,url:au.resolve(n,t)},l=e.decimalResolution("RESOLUTION");l&&(o.width=l.width,o.height=l.height),ap(e.CODECS,o);let d=e["SUPPLEMENTAL-CODECS"];d&&(o.supplemental={},ap(d,o.supplemental)),null!=(i=o.unknownCodecs)&&i.length||s.push(o),a.levels.push(o)}else if(r[3]){let e=r[3],i=r[4];switch(e){case"SESSION-DATA":{let e=new rG(i,a),t=e["DATA-ID"];t&&(null===a.sessionData&&(a.sessionData={}),a.sessionData[t]=e);break}case"SESSION-KEY":{let e=am(i,t,a);e.encrypted&&e.isSupported()?(null===a.sessionKeys&&(a.sessionKeys=[]),a.sessionKeys.push(e)):t8.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${i}"`);break}case"DEFINE":{let e=new rG(i,a);rB(a,e,t)}break;case"CONTENT-STEERING":{let e=new rG(i,a);a.contentSteering={uri:au.resolve(e["SERVER-URI"],t),pathwayId:e["PATHWAY-ID"]||"."};break}case"START":a.startTimeOffset=af(i)}}let n=s.length>0&&s.length<a.levels.length;return a.levels=n?s:a.levels,0===a.levels.length&&(a.playlistParsingError=Error("no levels found in manifest")),a}static parseMasterPlaylistMedia(e,t,i){let r,a={},s=i.levels,n={AUDIO:s.map(e=>({id:e.attrs.AUDIO,audioCodec:e.audioCodec})),SUBTITLES:s.map(e=>({id:e.attrs.SUBTITLES,textCodec:e.textCodec})),"CLOSED-CAPTIONS":[]},o=0;for(ao.lastIndex=0;null!==(r=ao.exec(e));){let e=new rG(r[1],i),s=e.TYPE;if(s){let i=n[s],r=a[s]||[];a[s]=r;let l=e.LANGUAGE,d=e["ASSOC-LANGUAGE"],h=e.CHANNELS,u=e.CHARACTERISTICS,c=e["INSTREAM-ID"],m={attrs:e,bitrate:0,id:o++,groupId:e["GROUP-ID"]||"",name:e.NAME||l||"",type:s,default:e.bool("DEFAULT"),autoselect:e.bool("AUTOSELECT"),forced:e.bool("FORCED"),lang:l,url:e.URI?au.resolve(e.URI,t):""};if(d&&(m.assocLang=d),h&&(m.channels=h),u&&(m.characteristics=u),c&&(m.instreamId=c),null!=i&&i.length){let e=au.findGroup(i,m.groupId)||i[0];ag(m,e,"audioCodec"),ag(m,e,"textCodec")}r.push(m)}}return a}static parseLevelPlaylist(e,t,i,r,a,s){var n;let o,l,d,h,u={url:t},c=new rW(t),m=c.fragments,f=[],p=null,g=0,v=0,E=0,y=0,b=0,T=null,A=new iu(r,u),S=-1,k=!1,R=null;if(ad.lastIndex=0,c.m3u8=e,c.hasVariableRefs=rU.test(e),(null==(n=ad.exec(e))?void 0:n[0])!=="#EXTM3U")return c.playlistParsingError=Error("Missing format identifier #EXTM3U"),c;for(;null!==(o=ad.exec(e));){k&&(k=!1,(A=new iu(r,u)).playlistOffset=E,A.setStart(E),A.sn=g,A.cc=y,b&&(A.bitrate=b),A.level=i,p&&(A.initSegment=p,p.rawProgramDateTime&&(A.rawProgramDateTime=p.rawProgramDateTime,p.rawProgramDateTime=null),R&&(A.setByteRange(R),R=null)));
1let e=o[1];if(e){A.duration=parseFloat(e);let t=(" "+o[2]).slice(1);A.title=t||null,A.tagList.push(t?["INF",e,t]:["INF",e])}else if(o[3]){if(tU(A.duration)){A.playlistOffset=E,A.setStart(E),d&&ay(A,d,c),A.sn=g,A.level=i,A.cc=y,m.push(A);let e=(" "+o[3]).slice(1);A.relurl=rF(c,e),av(A,T,f),T=A,E+=A.duration,g++,v=0,k=!0}}else{if(!(o=o[0].match(ah))){t8.warn("No matches on slow regex match for level playlist!");continue}for(l=1;l<o.length&&void 0===o[l];l++);let e=(" "+o[l]).slice(1),a=(" "+o[l+1]).slice(1),n=o[l+2]?(" "+o[l+2]).slice(1):null;switch(e){case"BYTERANGE":T?A.setByteRange(a,T):A.setByteRange(a);break;case"PROGRAM-DATE-TIME":A.rawProgramDateTime=a,A.tagList.push(["PROGRAM-DATE-TIME",a]),-1===S&&(S=m.length);break;case"PLAYLIST-TYPE":c.type&&ab(c,e,o),c.type=a.toUpperCase();break;case"MEDIA-SEQUENCE":0!==c.startSN?ab(c,e,o):m.length>0&&aT(c,e,o),g=c.startSN=parseInt(a);break;case"SKIP":{c.skippedSegments&&ab(c,e,o);let t=new rG(a,c),i=t.decimalInteger("SKIPPED-SEGMENTS");if(tU(i)){c.skippedSegments+=i;for(let e=i;e--;)m.push(null);g+=i}let r=t.enumeratedString("RECENTLY-REMOVED-DATERANGES");r&&(c.recentlyRemovedDateranges=(c.recentlyRemovedDateranges||[]).concat(r.split(" ")));break}case"TARGETDURATION":0!==c.targetduration&&ab(c,e,o),c.targetduration=Math.max(parseInt(a),1);break;case"VERSION":null!==c.version&&ab(c,e,o),c.version=parseInt(a);break;case"INDEPENDENT-SEGMENTS":break;case"ENDLIST":c.live||ab(c,e,o),c.live=!1;break;case"#":(a||n)&&A.tagList.push(n?[a,n]:[a]);break;case"DISCONTINUITY":y++,A.tagList.push(["DIS"]);break;case"GAP":A.gap=!0,A.tagList.push([e]);break;case"BITRATE":A.tagList.push([e,a]),tU(b=1e3*parseInt(a))?A.bitrate=b:b=0;break;case"DATERANGE":{let e=new rG(a,c),t=new rK(e,c.dateRanges[e.ID],c.dateRangeTagCount);c.dateRangeTagCount++,t.isValid||c.skippedSegments?c.dateRanges[t.id]=t:t8.warn(`Ignoring invalid DATERANGE tag: "${a}"`),A.tagList.push(["EXT-X-DATERANGE",a]);break}case"DEFINE":{let e=new rG(a,c);"IMPORT"in e?function(e,t,i){let r=t.IMPORT;if(i&&r in i){let t=e.variableList;t||(e.variableList=t={}),t[r]=i[r]}else e.playlistParsingError||(e.playlistParsingError=Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${r}"`))}(c,e,s):rB(c,e,t)}break;case"DISCONTINUITY-SEQUENCE":0!==c.startCC?ab(c,e,o):m.length>0&&aT(c,e,o),c.startCC=y=parseInt(a);break;case"KEY":{let e=am(a,t,c);if(e.isSupported()){if("NONE"===e.method){d=void 0;break}d||(d={});let t=d[e.keyFormat];null!=t&&t.matches(e)||(t&&(d=tZ({},d)),d[e.keyFormat]=e)}else t8.warn(`[Keys] Ignoring unsupported EXT-X-KEY tag: "${a}"`);break}case"START":c.startTimeOffset=af(a);break;case"MAP":{let e=new rG(a,c);if(A.duration){let t=new iu(r,u);aE(t,e,i,d),p=t,A.initSegment=p,p.rawProgramDateTime&&!A.rawProgramDateTime&&(A.rawProgramDateTime=p.rawProgramDateTime)}else{let t=A.byteRangeEndOffset;if(t){let e=A.byteRangeStartOffset;R=`${t-e}@${e}`}else R=null;aE(A,e,i,d),p=A,k=!0}p.cc=y;break}case"SERVER-CONTROL":h&&ab(c,e,o),c.canBlockReload=(h=new rG(a)).bool("CAN-BLOCK-RELOAD"),c.canSkipUntil=h.optionalFloat("CAN-SKIP-UNTIL",0),c.canSkipDateRanges=c.canSkipUntil>0&&h.bool("CAN-SKIP-DATERANGES"),c.partHoldBack=h.optionalFloat("PART-HOLD-BACK",0),c.holdBack=h.optionalFloat("HOLD-BACK",0);break;case"PART-INF":c.partTarget&&ab(c,e,o),c.partTarget=new rG(a).decimalFloatingPoint("PART-TARGET");break;case"PART":{let e=c.partList;e||(e=c.partList=[]);let t=v>0?e[e.length-1]:void 0,i=v++,r=new ic(new rG(a,c),A,u,i,t);e.push(r),A.duration+=r.duration;break}case"PRELOAD-HINT":{let e=new rG(a,c);c.preloadHint=e;break}case"RENDITION-REPORT":{let e=new rG(a,c);c.renditionReports=c.renditionReports||[],c.renditionReports.push(e);break}default:t8.warn(`line parsed but not handled: ${o}`)}}}T&&!T.relurl?(m.pop(),E-=T.duration,c.partList&&(c.fragmentHint=T)):c.partList&&(av(A,T,f),A.cc=y,c.fragmentHint=A,d&&ay(A,d,c)),c.targetduration||(c.playlistParsingError=Error("Missing Target Duration"));let L=m.length,I=m[0],w=m[L-1];if((E+=c.skippedSegments*c.targetduration)>0&&L&&w){c.averagetargetduration=E/L;let e=w.sn;c.endSN="initSegment"!==e?e:0,c.live||(w.endList=!0),S>0&&(function(e,t){let i=e[t];for(let r=t;r--;){let t=e[r];if(!t)return;t.programDateTime=i.programDateTime-1e3*t.duration,i=t}}(m,S),I&&f.unshift(I))}return c.fragmentHint&&(E+=c.fragmentHint.duration),c.totalduration=E,f.length&&c.dateRangeTagCount&&I&&ac(f,c),c.endCC=y,c}}function ac(e,t){let i=e.length;if(!i)if(!t.hasProgramDateTime)return;else{let r=t.fragments[t.fragments.length-1];e.push(r),i++}let r=e[i-1],a=t.live?1/0:t.totalduration,s=Object.keys(t.dateRanges);for(let o=s.length;o--;){let l=t.dateRanges[s[o]],d=l.startDate.getTime();l.tagAnchor=r.ref;for(let r=i;r--;){var n;if((null==(n=e[r])?void 0:n.sn)<t.startSN)break;let i=function(e,t,i,r,a){let s=i[r];if(s){let o=s.programDateTime;if(t>=o||0===r){var n;if(t<=o+1e3*(((null==(n=i[r+1])?void 0:n.start)||a)-s.start)){let a=i[r].sn-e.startSN;if(a<0)return -1;let s=e.fragments;if(s.length>i.length){let n=(i[r+1]||s[s.length-1]).sn-e.startSN;for(let e=n;e>a;e--){let i=s[e].programDateTime;if(t>=i&&t<i+1e3*s[e].duration)return e}}return a}}}return -1}(t,d,e,r,a);if(-1!==i){l.tagAnchor=t.fragments[i].ref;break}}}}function am(e,t,i){var r,a;let s=new rG(e,i),n=null!=(r=s.METHOD)?r:"",o=s.URI,l=s.hexadecimalInteger("IV"),d=s.KEYFORMATVERSIONS,h=null!=(a=s.KEYFORMAT)?a:"identity";return o&&s.IV&&!l&&t8.error(`Invalid IV: ${s.IV}
1`),new aa(n,o?au.resolve(o,t):"",h,(d||"1").split("/").map(Number).filter(Number.isFinite),l,s.KEYID)}function af(e){let t=new rG(e).decimalFloatingPoint("TIME-OFFSET");return tU(t)?t:null}function ap(e,t){let i=(e||"").split(/[ ,]+/).filter(e=>e);["video","audio","text"].forEach(e=>{let r=i.filter(t=>iO(t,e));r.length&&(t[`${e}Codec`]=r.map(e=>e.split("/")[0]).join(","),i=i.filter(e=>-1===r.indexOf(e)))}),t.unknownCodecs=i}function ag(e,t,i){let r=t[i];r&&(e[i]=r)}function av(e,t,i){e.rawProgramDateTime?i.push(e):null!=t&&t.programDateTime&&(e.programDateTime=t.endProgramDateTime)}function aE(e,t,i,r){e.relurl=t.URI,t.BYTERANGE&&e.setByteRange(t.BYTERANGE),e.level=i,e.sn="initSegment",r&&(e.levelkeys=r),e.initSegment=null}function ay(e,t,i){e.levelkeys=t;let{encryptedFragments:r}=i;(!r.length||r[r.length-1].levelkeys!==t)&&Object.keys(t).some(e=>t[e].isCommonEncryption)&&r.push(e)}function ab(e,t,i){e.playlistParsingError=Error(`#EXT-X-${t} must not appear more than once (${i[0]})`)}function aT(e,t,i){e.playlistParsingError=Error(`#EXT-X-${t} must appear before the first Media Segment (${i[0]})`)}function a_(e,t){let i=t.startPTS;if(tU(i)){let r,a=0;t.sn>e.sn?(a=i-e.start,r=e):(a=e.start-i,r=t),r.duration!==a&&r.setDuration(a)}else t.sn>e.sn?e.cc===t.cc&&e.minEndPTS?t.setStart(e.start+(e.minEndPTS-e.start)):t.setStart(e.start+e.duration):t.setStart(Math.max(e.start-t.duration,0))}function aA(e,t,i,r,a,s,n){let o;r-i<=0&&(n.warn("Fragment should have a positive duration",t),r=i+t.duration,s=a+t.duration);let l=i,d=r,h=t.startPTS,u=t.endPTS;if(tU(h)){let o=Math.abs(h-i);e&&o>e.totalduration?n.warn(`media timestamps and playlist times differ by ${o}s for level ${t.level} ${e.url}`):tU(t.deltaPTS)?t.deltaPTS=Math.max(o,t.deltaPTS):t.deltaPTS=o,l=Math.max(i,h),i=Math.min(i,h),a=void 0!==t.startDTS?Math.min(a,t.startDTS):a,d=Math.min(r,u),r=Math.max(r,u),s=void 0!==t.endDTS?Math.max(s,t.endDTS):s}let c=i-t.start;0!==t.start&&t.setStart(i),t.setDuration(r-t.start),t.startPTS=i,t.maxStartPTS=l,t.startDTS=a,t.endPTS=r,t.minEndPTS=d,t.endDTS=s;let m=t.sn;if(!e||m<e.startSN||m>e.endSN)return 0;let f=m-e.startSN,p=e.fragments;for(p[f]=t,o=f;o>0;o--)a_(p[o],p[o-1]);for(o=f;o<p.length-1;o++)a_(p[o],p[o+1]);return e.fragmentHint&&a_(p[p.length-1],e.fragmentHint),e.PTSKnown=e.alignedSliding=!0,c}function aS(e,t,i,r,a){return Error(`${e} ${a.url} 2Playlist starting @${t.startSN} 3${t.m3u8} 4 5Playlist starting @${i.startSN} 6${i.m3u8}`)}function ak(e,t,i=!0){let r=t.startSN+t.skippedSegments-e.startSN,a=e.fragments,s=r>=0,n=0;if(s&&r<a.length)n=a[r].start;else if(s&&t.startSN===e.endSN+1)n=e.fragmentEnd;else if(s&&i)n=e.fragmentStart+r*t.levelTargetDuration;else{if(t.skippedSegments||0!==t.fragmentStart)return;n=e.fragmentStart}aR(t,n)}function aR(e,t){if(t){let i=e.fragments;for(let r=e.skippedSegments;r<i.length;r++)i[r].addStart(t);e.fragmentHint&&e.fragmentHint.addStart(t)}}function aL(e,t=1/0){let i=1e3*e.targetduration;if(e.updated){let r=e.fragments;if(r.length&&4*i>t){let e=1e3*r[r.length-1].duration;e<i&&(i=e)}}else i/=2;return Math.round(i)}function aI(e,t,i){if(!e)return null;let r=e.fragments[t-e.startSN];return r||(r=e.fragmentHint)&&r.sn===t?r:t<e.startSN&&i&&i.sn===t?i:null}function aw(e,t,i){return e?aD(e.partList,t,i):null}function aD(e,t,i){if(e)for(let r=e.length;r--;){let a=e[r];if(a.index===i&&a.fragment.sn===t)return a}return null}function aC(e){e.forEach((e,t)=>{var i;null==(i=e.details)||i.fragments.forEach(e=>{e.level=t,e.initSegment&&(e.initSegment.level=t)})})}function aM(e){return e.replace(/\?[^?]*$/,"")}function ax(e,t){for(let r=0,a=e.length;r<a;r++){var i;if((null==(i=e[r])?void 0:i.cc)===t)return e[r]}return null}function aP(e,t){let i=e.start+t;e.startPTS=i,e.setStart(i),e.endPTS=i+e.duration}function aO(e,t){let i=t.fragments;for(let t=0,r=i.length;t<r;t++)aP(i[t],e);t.fragmentHint&&aP(t.fragmentHint,e),t.alignedSliding=!0}function aN(e,t){if((!t||!(e.startCC<t.endCC)||!(e.endCC>t.startCC))&&1)return;let i=Math.min(t.endCC,e.endCC),r=ax(t.fragments,i),a=ax(e.fragments,i);r&&a&&(t8.log(`Aligning playlist at start of dicontinuity sequence ${i}`),aO(r.start-a.start,e))}function aU(e,t){let i,r;if(!e.hasProgramDateTime||!t.hasProgramDateTime)return;let a=e.fragments,s=t.fragments;if(!a.length||!s.length)return;let n=Math.min(t.endCC,e.endCC);t.startCC<n&&e.startCC<n&&(i=ax(s,n),r=ax(a,n)),i&&r||(r=ax(a,(i=s[Math.floor(s.length/2)]).cc)||a[Math.floor(a.length/2)]);let o=i.programDateTime,l=r.programDateTime;o&&l&&aO((l-o)/1e3-(r.start-i.start),e)}function aF(e,t,i){aB(e,t,i),e.addEventListener(t,i)}function aB(e,t,i){e.removeEventListener(t,i)}let a$=function(e){let t="",i=e.length;for(let r=0;r<i;r++)t+=`[${e.start(r).toFixed(3)}-${e.end(r).toFixed(3)}]`;return t},aH="STOPPED",aG="IDLE",aK="KEY_LOADING",aW="FRAG_LOADING",aV="FRAG_LOADING_WAITING_RETRY",aq="WAITING_TRACK",aY="PARSING",aj="PARSED",aQ="ENDED",az="ERROR",aX="WAITING_INIT_PTS",aZ="WAITING_LEVEL";class aJ extends rM{constructor(e,t,i,r,a){super(r,e.logger),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=aH,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.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.buffering=!0,this.loadingParts=!1,this.loopSn=void 0,this.onMediaSeeking=()=>{let{config:e,fragCurrent:t,media:i,mediaBuffer:r,state:a}=this,s=i?i.currentTime:0,n=rN.bufferInfo(r||i,s,e.maxBufferHole),o=!n.len;if(this.log(`Media seeking to ${tU(s)?s.toFixed(3):s}, state: ${a}, ${o?"out of":"in"} buffer`),this.state===aQ)this.resetLoadingState();else if(t){let i=e.maxFragLookUpTolerance,r=t.start-i,a=t.start+t.duration+i;if(o||a<n.start||r>n.end){let e=s>a;(s<r||e)&&(e&&t.loader&&(this.log(`Cancelling fragment load for seek (sn: ${t.sn})`),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null)}}if(i&&(this.fragmentTracker.removeFragmentsInRange(s,1/0,this.playlistType,!0),s>this.lastCurrentTime&&(this.lastCurrentTime=s),!this.loadingParts)){let e=Math.max(n.end,s),t=this.shouldLoadParts(this.getLevelDetails(),e);t&&(this.log(`LL-Part loading ON after seeking to ${s.toFixed(2)} with buffer @${e.toFixed(2)}`),this.loadingParts=t)}!this.hls.hasEnoughToStart&&(this.log(`Setting ${o?"startPosition":"nextLoadPosition"} to ${s} for seek without enough to start`),this.nextLoadPosition=s,o&&(this.startPosition=s)),o&&this.state===aG&&this.tickImmediate()},this.onMediaEnded=()=>{this.log("setting startPosition to 0 because media ended"),this.startPosition=this.lastCurrentTime=0},this.playlistType=a,this.hls=e,this.fragmentLoader=new rI(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new rL(e.config)}registerListeners(){let{hls:e}=this;
6e.on(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(tG.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(tG.ERROR,this.onError,this)}doTick(){this.onTickEnd()}onTickEnd(){}startLoad(e){}stopLoad(){if(this.state===aH)return;this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;null!=e&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=aH}get startPositionValue(){let{nextLoadPosition:e,startPosition:t}=this;return -1===t&&e?e:t}get bufferingEnabled(){return this.buffering}pauseBuffering(){this.buffering=!1}resumeBuffering(){this.buffering=!0}get inFlightFrag(){return{frag:this.fragCurrent,state:this.state}}_streamEnded(e,t){if(t.live||!this.media)return!1;let i=e.end||0,r=this.config.timelineOffset||0;if(i<=r)return!1;let a=e.buffered;this.config.maxBufferHole&&a&&a.length>1&&(e=rN.bufferedInfo(a,e.start,0));let s=e.nextStart;if(s&&s>r&&s<t.edge||this.media.currentTime<e.start)return!1;let n=t.partList;if(null!=n&&n.length){let e=n[n.length-1];return rN.isBuffered(this.media,e.start+e.duration/2)}let o=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(o)}getLevelDetails(){if(this.levels&&null!==this.levelLastLoaded)return this.levelLastLoaded.details}get timelineOffset(){let e=this.config.timelineOffset;if(e){var t;return(null==(t=this.getLevelDetails())?void 0:t.appliedTimelineOffset)||e}return 0}onMediaAttached(e,t){let i=this.media=this.mediaBuffer=t.media;aF(i,"seeking",this.onMediaSeeking),aF(i,"ended",this.onMediaEnded);let r=this.config;this.levels&&r.autoStartLoad&&this.state===aH&&this.startLoad(r.startPosition)}onMediaDetaching(e,t){let i=!!t.transferMedia,r=this.media;if(null!==r){if(r.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),aB(r,"seeking",this.onMediaSeeking),aB(r,"ended",this.onMediaEnded),this.keyLoader&&!i&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loopSn=void 0,i){this.resetLoadingState(),this.resetTransmuxer();return}this.loadingParts=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad()}}onManifestLoading(){this.initPTS=[],this.levels=this.levelLastLoaded=this.fragCurrent=null,this.lastCurrentTime=this.startPosition=0,this.startFragRequested=!1}onError(e,t){}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset}onHandlerDestroying(){this.stopLoad(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),super.onHandlerDestroying(),this.hls=this.onMediaSeeking=this.onMediaEnded=null}onHandlerDestroyed(){this.state=aH,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.startFragRequested=!0,this._loadFragForPlayback(e,t,i)}_loadFragForPlayback(e,t,i){let r=e=>{let t=e.frag;if(this.fragContextChanged(t)){this.warn(`${t.type} sn: ${t.sn}${e.part?" part: "+e.part.index:""} of ${this.fragInfo(t,!1,e.part)}) was dropped during download.`),this.fragmentTracker.removeFragment(t);return}t.stats.chunkCount++,this._handleFragmentLoadProgress(e)};this._doFragLoad(e,t,i,r).then(e=>{if(!e)return;let t=this.state,i=e.frag;if(this.fragContextChanged(i)){t!==aW&&(this.fragCurrent||t!==aY)||(this.fragmentTracker.removeFragment(i),this.state=aG);return}"payload"in e&&(this.log(`Loaded ${i.type} sn: ${i.sn} of ${this.playlistLabel()} ${i.level}`),this.hls.trigger(tG.FRAG_LOADED,e)),this._handleFragmentLoadComplete(e)}).catch(t=>{this.state!==aH&&this.state!==az&&(this.warn(`Frag error: ${(null==t?void 0:t.message)||t}`),this.resetFragmentLoading(e))})}clearTrackerIfNeeded(e){var t;let{fragmentTracker:i}=this;if(i.getState(e)===rE){let t=e.type,r=this.getFwdBufferInfo(this.mediaBuffer,t),a=Math.max(e.duration,r?r.len:this.config.maxBufferLength),s=this.backtrackFragment;(1==(s?e.sn-s.sn:0)||this.reduceMaxBufferLength(a,e.duration))&&i.removeFragment(e)}else(null==(t=this.mediaBuffer)?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)===ry&&i.removeFragment(e))}checkLiveUpdate(e){if(e.updated&&!e.live){let t=e.fragments[e.fragments.length-1];this.fragmentTracker.detectPartialFragments({frag:t,part:null,stats:t.stats,id:t.type})}e.fragments[0]||(e.deltaUpdateFailed=!0)}waitForLive(e){let t=e.details;return(null==t?void 0:t.live)&&"EVENT"!==t.type&&(this.levelLastLoaded!==e||t.expired)}flushMainBuffer(e,t,i=null){e-t&&this.hls.trigger(tG.BUFFER_FLUSHING,{startOffset:e,endOffset:t,type:i})}_loadInitSegment(e,t){this._doFragLoad(e,t).then(e=>{let t=null==e?void 0:e.frag;if(!t||this.fragContextChanged(t)||!this.levels)throw Error("init load aborted");return e}).then(e=>{let{hls:t}=this,{frag:i,payload:r}=e,a=i.decryptdata;if(r&&r.byteLength>0&&null!=a&&a.key&&a.iv&&rY(a.method)){let s=self.performance.now();
6return this.decrypter.decrypt(new Uint8Array(r),a.key.buffer,a.iv.buffer,rj(a.method)).catch(e=>{throw t.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:i}),e}).then(r=>{let a=self.performance.now();return t.trigger(tG.FRAG_DECRYPTED,{frag:i,payload:r,stats:{tstart:s,tdecrypt:a}}),e.payload=r,this.completeInitSegmentLoad(e)})}return this.completeInitSegmentLoad(e)}).catch(t=>{this.state!==aH&&this.state!==az&&(this.warn(t),this.resetFragmentLoading(e))})}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw Error("init load aborted, missing levels");let i=e.frag.stats;this.state!==aH&&(this.state=aG),e.frag.data=new Uint8Array(e.payload),i.parsing.start=i.buffering.start=self.performance.now(),i.parsing.end=i.buffering.end=self.performance.now(),this.tick()}unhandledEncryptionError(e,t){var i,r;let a=e.tracks;if(a&&!t.encrypted&&(null!=(i=a.audio)&&i.encrypted||null!=(r=a.video)&&r.encrypted)&&(!this.config.emeEnabled||!this.keyLoader.emeController)){let e=this.media,i=Error(`Encrypted track with no key in ${this.fragInfo(t)} (media ${e?"attached mediaKeys: "+e.mediaKeys:"detached"})`);return this.warn(i.message),!!e&&!e.mediaKeys&&(this.hls.trigger(tG.ERROR,{type:t$.KEY_SYSTEM_ERROR,details:tH.KEY_SYSTEM_NO_KEYS,fatal:!1,error:i,frag:t}),this.resetTransmuxer(),!0)}return!1}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level}fragBufferedComplete(e,t){let i=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)} > buffer:${i?a$(rN.getBuffered(i)):"(detached)"})`),ih(e)){var r;if(e.type!==tQ){let t=e.elementaryStreams;if(!Object.keys(t).some(e=>!!t[e])){this.state=aG;return}}let t=null==(r=this.levels)?void 0:r[e.level];null!=t&&t.fragmentError&&(this.log(`Resetting level fragment error count of ${t.fragmentError} on frag buffered`),t.fragmentError=0)}this.state=aG}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:i,part:r,partsLoaded:a}=e,s=!a||0===a.length||a.some(e=>!e),n=new rx(i.level,i.sn,i.stats.chunkCount+1,0,r?r.index:-1,!s);t.flush(n)}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=null,r){var a,s;let n;this.fragCurrent=e;let o=t.details;if(!this.levels||!o)throw Error(`frag load aborted, missing level${o?"":" detail"}s`);let l=null;if(e.encrypted&&!(null!=(a=e.decryptdata)&&a.key)){if(this.log(`Loading key for ${e.sn} of [${o.startSN}-${o.endSN}], ${this.playlistLabel()} ${e.level}`),this.state=aK,this.fragCurrent=e,l=this.keyLoader.load(e).then(e=>{if(!this.fragContextChanged(e.frag))return this.hls.trigger(tG.KEY_LOADED,e),this.state===aK&&(this.state=aG),e}),this.hls.trigger(tG.KEY_LOADING,{frag:e}),null===this.fragCurrent)return this.log("context changed in KEY_LOADING"),Promise.resolve(null)}else!e.encrypted&&(l=this.keyLoader.loadClear(e,o.encryptedFragments,this.startFragRequested))&&this.log("[eme] blocking frag load until media-keys acquired");let d=this.fragPrevious;if(ih(e)&&(!d||e.sn!==d.sn)){let i=this.shouldLoadParts(t.details,e.end);i!==this.loadingParts&&(this.log(`LL-Part loading ${i?"ON":"OFF"} loading sn ${null==d?void 0:d.sn}->${e.sn}`),this.loadingParts=i)}if(i=Math.max(e.start,i||0),this.loadingParts&&ih(e)){let a=o.partList;if(a&&r){i>o.fragmentEnd&&o.fragmentHint&&(e=o.fragmentHint);let s=this.getNextPart(a,e,i);if(s>-1){let n,d=a[s];return(e=this.fragCurrent=d.fragment,this.log(`Loading ${e.type} sn: ${e.sn} part: ${d.index} (${s}/${a.length-1}) of ${this.fragInfo(e,!1,d)}) cc: ${e.cc} [${o.startSN}-${o.endSN}], target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=d.start+d.duration,this.state=aW,n=l?l.then(i=>!i||this.fragContextChanged(i.frag)?null:this.doFragPartsLoad(e,d,t,r)).catch(e=>this.handleFragLoadError(e)):this.doFragPartsLoad(e,d,t,r).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(tG.FRAG_LOADING,{frag:e,part:d,targetBufferTime:i}),null===this.fragCurrent)?Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING parts")):n}if(!e.url||this.loadedEndOfParts(a,i))return Promise.resolve(null)}}if(ih(e)&&this.loadingParts)this.log(`LL-Part loading OFF after next part miss @${i.toFixed(2)} Check buffer at sn: ${e.sn} loaded parts: ${null==(s=o.partList)?void 0:s.filter(e=>e.loaded).map(e=>`[${e.start}-${e.end}]`)}`),this.loadingParts=!1;else if(!e.url)return Promise.resolve(null);this.log(`Loading ${e.type} sn: ${e.sn} of ${this.fragInfo(e,!1)}) cc: ${e.cc} ${"["+o.startSN+"-"+o.endSN+"]"}, target: ${parseFloat(i.toFixed(3))}`),tU(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=aW;let h=this.config.progressive&&e.type!==tQ;return(n=h&&l?l.then(t=>!t||this.fragContextChanged(t.frag)?null:this.fragmentLoader.load(e,r)).catch(e=>this.handleFragLoadError(e)):Promise.all([this.fragmentLoader.load(e,h?r:void 0),l]).then(([e])=>(!h&&r&&r(e),e)).catch(e=>this.handleFragLoadError(e)),this.hls.trigger(tG.FRAG_LOADING,{frag:e,targetBufferTime:i}),null===this.fragCurrent)?Promise.reject(Error("frag load aborted, context changed in FRAG_LOADING")):n}doFragPartsLoad(e,t,i,r){return new Promise((a,s)=>{var n;let o=[],l=null==(n=i.details)?void 0:n.partList,d=t=>{this.fragmentLoader.loadPart(e,t,r).then(r=>{o[t.index]=r;let s=r.part;this.hls.trigger(tG.FRAG_LOADED,r);let n=aw(i.details,e.sn,t.index+1)||aD(l,e.sn,t.index+1);if(!n)return a({frag:e,part:s,partsLoaded:o});d(n)}).catch(s)};d(t)})}handleFragLoadError(e){if("data"in e){let t=e.data;t.frag&&t.details===tH.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):t.frag&&t.type===t$.KEY_SYSTEM_ERROR?(t.frag.abortRequests(),this.resetStartWhenNotLoaded(),this.resetFragmentLoading(t.frag)):this.hls.trigger(tG.ERROR,t)}else this.hls.trigger(tG.ERROR,{type:t$.OTHER_ERROR,details:tH.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==aY){this.fragCurrent||this.state===aH||this.state===az||(this.state=aG);return}let{frag:i,part:r,level:a}=t,s=self.performance.now();i.stats.parsing.end=s,r&&(r.stats.parsing.end=s);let n=this.getLevelDetails(),o=n&&i.sn>n.endSN||this.shouldLoadParts(n,i.end);o!==this.loadingParts&&(this.log(`LL-Part loading ${o?"ON":"OFF"} after parsing segment ending @${i.end.toFixed(2)}`),this.loadingParts=o),this.updateLevelTiming(i,r,a,e.partial)}shouldLoadParts(e,t){if(this.config.lowLatencyMode){if(!e)return this.loadingParts;if(e.partList){var i,r;let a=e.partList[0];if(a.fragment.type===tQ)return!1;if(t>=a.end+((null==(i=e.fragmentHint)?void 0:i.duration)||0)&&(this.hls.hasEnoughToStart?(null==(r=this.media)?void 0:r.currentTime)||this.lastCurrentTime:this.getLoadPosition())>a.start-a.fragment.duration)return!0}}return!1}getCurrentContext(e){let{levels:t,fragCurrent:i}=this,{level:r,sn:a,part:s}=e;if(!(null!=t&&t[r]))return this.warn(`Levels object was unset while buffering fragment ${a} of ${this.playlistLabel()} ${r}. The current chunk will not be buffered.`),null;let n=t[r],o=n.details,l=s>-1?aw(o,a,s):null,d=l?l.fragment:aI(o,a,i);return d?(i&&i!==d&&(d.stats=i.stats),{frag:d,part:l,level:n}):null}bufferFragmentData(e,t,i,r,a){if(this.state!==aY)return;let{data1:s,data2:n}=e,o=s;if(n&&(o=iw(s,n)),!o.length)return;let l=this.initPTS[t.cc],d=l?-l.baseTime/l.timescale:void 0,h={type:e.type,frag:t,part:i,chunkMeta:r,offset:d,parent:t.type,data:o};if(this.hls.trigger(tG.BUFFER_APPENDING,h),e.dropped&&e.independent&&!i){if(a)return;this.flushBufferGap(t)}}flushBufferGap(e){let t=this.media;if(!t)return;if(!rN.isBuffered(t,t.currentTime))return void this.flushMainBuffer(0,e.start);let i=t.currentTime,r=rN.bufferInfo(t,i,0),a=e.duration,s=Math.min(2*this.config.maxFragLookUpTolerance,.25*a),n=Math.max(Math.min(e.start-s,r.end-s),i+s);e.start-n>s&&this.flushMainBuffer(n,e.start)}getFwdBufferInfo(e,t){var i;let r=this.getLoadPosition();if(!tU(r))return null;let a=this.lastCurrentTime>r||null!=(i=this.media)&&i.paused?0:this.config.maxBufferHole;return this.getFwdBufferInfoAtPos(e,r,t,a)}getFwdBufferInfoAtPos(e,t,i,r){let a=rN.bufferInfo(e,t,r);if(0===a.len&&void 0!==a.nextStart){let s=this.fragmentTracker.getBufferedFrag(t,i);if(s&&(a.nextStart<=s.end||s.gap)){let i=Math.max(Math.min(a.nextStart,s.end)-t,r);return rN.bufferInfo(e,t,i)}}return a}
6getMaxBufferLength(e){let{config:t}=this;return Math.min(e?Math.max(8*t.maxBufferSize/e,t.maxBufferLength):t.maxBufferLength,t.maxMaxBufferLength)}exceedsMaxBuffer(e,t,i){let r=e.nextStart;if(r&&i.start>r){let r=e.buffered;if(r){let a=e.len,s=e.bufferedIndex;for(let e=r.length-1;e>s;e--)r[e].start<i.start&&(a+=r[e].end-r[e].start);return a>=t}}return!1}reduceMaxBufferLength(e,t){let i=this.config,r=Math.max(Math.min(e-t,i.maxBufferLength),t),a=Math.max(e-3*t,i.maxMaxBufferLength/2,r);return a>=r&&(i.maxMaxBufferLength=a,this.warn(`Reduce max buffer length to ${a}s`),!0)}getAppendedFrag(e,t=tY){let i=this.fragmentTracker?this.fragmentTracker.getAppendedFrag(e,t):null;return i&&"fragment"in i?i.fragment:i}getNextFragment(e,t){let i=t.fragments,r=i.length;if(!r)return null;let{config:a}=this,s=t.fragmentStart,n=a.lowLatencyMode&&!!t.partList,o=null;if(t.live){let i=a.initialLiveManifestSize;if(r<i)return this.warn(`Not enough fragments to start playback (have: ${r}, need: ${i})`),null;if(!t.PTSKnown&&!this.startFragRequested&&-1===this.startPosition||e<s){var l;let i,r;n&&!this.loadingParts&&(this.log("LL-Part loading ON for initial live fragment"),this.loadingParts=!0),o=this.getInitialLiveFragment(t);let a=this.config.startPosition,d=this.hls.startPosition,h=this.hls.liveSyncPosition,u=(null==(l=o)?void 0:l.start)||0;-1!==d&&d>=s?(i=d,r=d===a?"config":"next load start"):null!==h?(i=h,r="live edge"):(i=e,r="buffer pos"),i<u&&(i=u,r="live frag start"),i<s&&(i=s,r="playlist start"),(this.startPosition!=i||this.nextLoadPosition!=i)&&(this.log(`Setting startPosition to ${i.toFixed(3)} ${-1===d?"":`(from ${a}) `}based on ${r}. live edge: ${h} live frag start: ${u.toFixed(3)} playlist start: ${s.toFixed(3)} buffer pos: ${e}`),this.startPosition=this.nextLoadPosition=i)}}else e<=s&&(o=i[0]);if(!o){let i=this.loadingParts?t.partEnd:t.fragmentEnd;o=this.getFragmentAtPosition(e,i,t)}let d=this.filterReplacedPrimary(o,t);if(!d&&o){let e=o.sn-t.startSN;d=this.filterReplacedPrimary(i[e+1]||null,t)}return this.mapToInitFragWhenRequired(d)}isLoopLoading(e,t){if(this.nextLoadPosition<=t)return!1;let i=this.fragmentTracker.getState(e);return"OK"===i||i===ry&&!!e.gap}getNextFragmentLoopLoading(e,t,i,r,a){let s=null;if(e.gap&&(s=this.getNextFragment(this.nextLoadPosition,t))&&!s.gap&&i.nextStart){let e=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,r,0);if(null!==e&&i.len+e.len>=a){let e=s.sn;return this.loopSn!==e&&(this.log(`buffer full after gaps in "${r}" playlist starting at sn: ${e}`),this.loopSn=e),null}}return this.loopSn=void 0,s}get primaryPrefetch(){if(a0(this.config)){var e;if(null==(e=this.hls.interstitialsManager)||null==(e=e.playingItem)?void 0:e.event)return!0}return!1}filterReplacedPrimary(e,t){if(!e)return e;if(a0(this.config)&&e.type!==tQ){let i=this.hls.interstitialsManager,r=null==i?void 0:i.bufferingItem;if(r){let i=r.event;if(i){if(i.appendInPlace||Math.abs(e.start-r.start)>1||0===r.start)return null}else if(e.end<=r.start&&(null==t?void 0:t.live)===!1||e.start>r.end&&r.nextEvent&&(r.nextEvent.appendInPlace||e.start-r.end>1))return null}let a=null==i?void 0:i.playerQueue;if(a)for(let t=a.length;t--;){let i=a[t].interstitial;if(i.appendInPlace&&e.start>=i.startTime&&e.end<=i.resumeTime)return null}}return e}mapToInitFragWhenRequired(e){return null==e||!e.initSegment||e.initSegment.data||this.bitrateTest?e:e.initSegment}getNextPart(e,t,i){let r=-1,a=!1,s=!0;for(let n=0,o=e.length;n<o;n++){let o=e[n];if(s=s&&!o.independent,r>-1&&i<o.start)break;let l=o.loaded;l?r=-1:(a||(o.independent||s)&&o.fragment===t)&&(o.fragment!==t&&this.warn(`Need buffer at ${i} but next unloaded part starts at ${o.start}`),r=n),a=l}return r}loadedEndOfParts(e,t){let i;for(let r=e.length;r--&&(i=e[r]).loaded;)if(t>i.start)return!0;return!1}getInitialLiveFragment(e){let t=e.fragments,i=this.fragPrevious,r=null;if(i){if(e.hasProgramDateTime&&(r=function(e,t,i){if(null===t||!Array.isArray(e)||!e.length||!tU(t)||t<(e[0].programDateTime||0)||t>=(e[e.length-1].endProgramDateTime||0))return null;for(let r=0;r<e.length;++r){let a=e[r];if(function(e,t,i){let r=1e3*Math.min(t,i.duration+(i.deltaPTS?i.deltaPTS:0));return(i.endProgramDateTime||0)-r>e}(t,i,a))return a}return null}(t,i.endProgramDateTime,this.config.maxFragLookUpTolerance))&&this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`),!r){let a=i.sn+1;if(a>=e.startSN&&a<=e.endSN){let s=t[a-e.startSN];i.cc===s.cc&&(r=s,this.log(`Live playlist, switching playlist, load frag with next SN: ${r.sn}`))}!r&&(r=ro(e,i.cc,i.end))&&this.log(`Live playlist, switching playlist, load frag with same CC: ${r.sn}`)}}else{let t=this.hls.liveSyncPosition;null!==t&&(r=this.getFragmentAtPosition(t,this.bitrateTest?e.fragmentEnd:e.edge,e))}return r}getFragmentAtPosition(e,t,i){let r,{config:a}=this,{fragPrevious:s}=this,{fragments:n,endSN:o}=i,{fragmentHint:l}=i,{maxFragLookUpTolerance:d}=a,h=i.partList,u=!!(this.loadingParts&&null!=h&&h.length&&l);if(u&&!this.bitrateTest&&h[h.length-1].fragment.sn===l.sn&&(n=n.concat(l),o=l.sn),e<t){var c;let i=e<this.lastCurrentTime||e>t-d||null!=(c=this.media)&&c.paused||!this.startFragRequested?0:d;r=rs(s,n,e,i)}else r=n[n.length-1];if(r){let e=r.sn-i.startSN,t=this.fragmentTracker.getState(r);
6if(("OK"===t||t===ry&&r.gap)&&(s=r),s&&r.sn===s.sn&&(!u||h[0].fragment.sn>r.sn||!i.live)&&r.level===s.level){let t=n[e+1];r=r.sn<o&&"OK"!==this.fragmentTracker.getState(t)?t:null}}return r}alignPlaylists(e,t,i){let r=e.fragments.length;if(!r)return this.warn("No fragments in live playlist"),0;let a=e.fragmentStart,s=!t,n=e.alignedSliding&&tU(a);if(s||!n&&!a){i&&(aN(e,i),e.alignedSliding||aU(e,i),e.alignedSliding||e.skippedSegments||ak(i,e,!1));let a=e.fragmentStart;return this.log(`Live playlist sliding: ${a.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} fragments: ${r}`),a}return a}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,3*e.partTarget)}setStartPosition(e,t){let i=this.startPosition;i<t&&(i=-1);let r=this.timelineOffset;if(-1===i){let a=null!==this.startTimeOffset,s=a?this.startTimeOffset:e.startTimeOffset;null!==s&&tU(s)?(i=t+s,s<0&&(i+=e.edge),i=Math.min(Math.max(t,i),t+e.totalduration),this.log(`Setting startPosition to ${i} for start time offset ${s} found in ${a?"multivariant":"media"} playlist`),this.startPosition=i):e.live?(i=this.hls.liveSyncPosition||t,this.log(`Setting startPosition to -1 to start at live edge ${i}`),this.startPosition=-1):(this.log("setting startPosition to 0 by default"),this.startPosition=i=0),this.lastCurrentTime=i+r}this.nextLoadPosition=i+r}getLoadPosition(){var e;let{media:t}=this,i=0;return null!=(e=this.hls)&&e.hasEnoughToStart&&t?i=t.currentTime:this.nextLoadPosition>=0&&(i=this.nextLoadPosition),i}handleFragLoadAborted(e,t){this.transmuxer&&e.type===this.playlistType&&ih(e)&&e.stats.aborted&&(this.log(`Fragment ${e.sn}${t?" part "+t.index:""} of ${this.playlistLabel()} ${e.level} was aborted`),this.resetFragmentLoading(e))}resetFragmentLoading(e){this.fragCurrent&&(this.fragContextChanged(e)||this.state===aV)||(this.state=aG)}onFragmentOrKeyLoadError(e,t){var i,r,a;if(t.chunkMeta&&!t.frag){let e=this.getCurrentContext(t.chunkMeta);e&&(t.frag=e.frag)}let s=t.frag;if(!s||s.type!==e||!this.levels)return;if(this.fragContextChanged(s))return void this.warn(`Frag load error must match current frag to retry ${s.url} > ${null==(r=this.fragCurrent)?void 0:r.url}`);let n=t.details===tH.FRAG_GAP;n&&this.fragmentTracker.fragBuffered(s,!0);let o=t.errorAction;if(!o){this.state=az;return}let{action:l,flags:d,retryCount:h=0,retryConfig:u}=o,c=!!u,m=c&&5===l,f=c&&!o.resolved&&1===d,p=null==(i=this.hls.latestLevelDetails)?void 0:i.live;if(!m&&f&&ih(s)&&!s.endList&&p&&!rh(t))this.resetFragmentErrors(e),this.treatAsGap(s),o.resolved=!0;else if((m||f)&&h<u.maxNumRetry){let i=rp(null==(a=t.response)?void 0:a.code),r=rc(u,h);if(this.resetStartWhenNotLoaded(),this.retryDate=self.performance.now()+r,this.state=aV,o.resolved=!0,i){this.log("Waiting for connection (offline)"),this.retryDate=1/0,t.reason="offline";return}this.warn(`Fragment ${s.sn} of ${e} ${s.level} errored with ${t.details}, retrying loading ${h+1}/${u.maxNumRetry} in ${r}ms`)}else if(u){if(this.resetFragmentErrors(e),!(h<u.maxNumRetry))return void this.warn(`${t.details} reached or exceeded max retry (${h})`);n||3===l||(o.resolved=!0)}else 2===l?this.state=aZ:this.state=az;this.tickImmediate()}checkRetryDate(){let e=self.performance.now(),t=this.retryDate,i=t===1/0;(!t||e>=t||i&&!rp(0))&&(i&&this.log("Connection restored (online)"),this.resetStartWhenNotLoaded(),this.state=aG)}reduceLengthAndFlushBuffer(e){if(this.state===aY||this.state===aj){let t=e.frag,i=e.parent,r=this.getFwdBufferInfo(this.mediaBuffer,i),a=r&&r.len>.5;a&&this.reduceMaxBufferLength(r.len,(null==t?void 0:t.duration)||10);let s=!a;return s&&this.warn(`Buffer full error while media.currentTime (${this.getLoadPosition()}) is not buffered, flush ${i} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),s}return!1}resetFragmentErrors(e){e===tj&&(this.fragCurrent=null),this.hls.hasEnoughToStart||(this.startFragRequested=!1),this.state!==aH&&(this.state=aG)}afterBufferFlushed(e,t,i){if(!e)return;let r=rN.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,r,i),this.state===aQ&&this.resetLoadingState()}
6resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state!==aH&&(this.state=aG)}resetStartWhenNotLoaded(){if(!this.hls.hasEnoughToStart){this.startFragRequested=!1;let e=this.levelLastLoaded,t=e?e.details:null;null!=t&&t.live?(this.log("resetting startPosition for live start"),this.startPosition=-1,this.setStartPosition(t,t.fragmentStart),this.resetLoadingState()):this.nextLoadPosition=this.startPosition}}resetWhenMissingContext(e){this.log(`Loading context changed while buffering sn ${e.sn} of ${this.playlistLabel()} ${-1===e.level?"<removed>":e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(),this.resetLoadingState()}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0)}updateLevelTiming(e,t,i,r){let a=i.details;if(!a)return void this.warn("level.details undefined");if(!Object.keys(e.elementaryStreams).reduce((t,s)=>{let n=e.elementaryStreams[s];if(n){let o=n.endPTS-n.startPTS;if(o<=0)return this.warn(`Could not parse fragment ${e.sn} ${s} duration reliably (${o})`),t||!1;let l=r?0:aA(a,e,n.startPTS,n.endPTS,n.startDTS,n.endDTS,this);return this.hls.trigger(tG.LEVEL_PTS_UPDATED,{details:a,level:i,drift:l,type:s,frag:e,start:n.startPTS,end:n.endPTS}),!0}return t},!1)){var s;let t=(null==(s=this.transmuxer)?void 0:s.error)===null;if((0===i.fragmentError||t&&(i.fragmentError<2||e.endList))&&this.treatAsGap(e,i),t){let t=Error(`Found no media in fragment ${e.sn} of ${this.playlistLabel()} ${e.level} resetting transmuxer to fallback to playlist timing`);if(this.warn(t.message),this.hls.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.FRAG_PARSING_ERROR,fatal:!1,error:t,frag:e,reason:`Found no media in msn ${e.sn} of ${this.playlistLabel()} "${i.url}"`}),!this.hls)return;this.resetTransmuxer()}}this.state=aj,this.log(`Parsed ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.fragInfo(e,!1,t)})`),this.hls.trigger(tG.FRAG_PARSED,{frag:e,part:t})}playlistLabel(){return this.playlistType===tY?"level":"track"}fragInfo(e,t=!0,i){var r,a;return`${this.playlistLabel()} ${e.level} (${i?"part":"frag"}:[${(null!=(r=t&&!i?e.startPTS:(i||e).start)?r:NaN).toFixed(3)}-${(null!=(a=t&&!i?e.endPTS:(i||e).end)?a:NaN).toFixed(3)}]${i&&"main"===e.type?"INDEPENDENT="+(i.independent?"YES":"NO"):""}`}treatAsGap(e,t){t&&t.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)}resetTransmuxer(){var e;null==(e=this.transmuxer)||e.reset()}recoverWorkerError(e){"demuxerWorker"===e.event&&(this.fragmentTracker.removeAllFragments(),this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null),this.resetStartWhenNotLoaded(),this.resetLoadingState())}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`))}get state(){return this._state}}function a0(e){return!!e.interstitialsController&&!1!==e.enableInterstitialPlayback}class a1{constructor(){this.chunks=[],this.dataLength=0}push(e){this.chunks.push(e),this.dataLength+=e.length}flush(){let e,{chunks:t,dataLength:i}=this;return t.length?(e=1===t.length?t[0]:function(e,t){let i=new Uint8Array(t),r=0;for(let t=0;t<e.length;t++){let a=e[t];i.set(a,r),r+=a.length}return i}(t,i),this.reset(),e):new Uint8Array(0)}reset(){this.chunks.length=0,this.dataLength=0}}var a2={exports:{}},a3=(dg||(dg=1,!function(e){var t=Object.prototype.hasOwnProperty,i="~";function r(){}function a(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function s(e,t,r,s,n){if("function"!=typeof r)throw TypeError("The listener must be a function");var o=new a(r,s||e,n),l=i?i+t:t;return e._events[l]?e._events[l].fn?e._events[l]=[e._events[l],o]:e._events[l].push(o):(e._events[l]=o,e._eventsCount++),e}function n(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function o(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),new r().__proto__||(i=!1)),o.prototype.eventNames=function(){var e,r,a=[];if(0===this._eventsCount)return a;for(r in e=this._events)t.call(e,r)&&a.push(i?r.slice(1):r);return Object.getOwnPropertySymbols?a.concat(Object.getOwnPropertySymbols(e)):a},o.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var a=0,s=r.length,n=Array(s);a<s;a++)n[a]=r[a].fn;return n},o.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},o.prototype.emit=function(e,t,r,a,s,n){var o=i?i+e:e;if(!this._events[o])return!1;var l,d,h=this._events[o],u=arguments.length;if(h.fn){switch(h.once&&this.removeListener(e,h.fn,void 0,!0),u){case 1:return h.fn.call(h.context),!0;case 2:return h.fn.call(h.context,t),!0;case 3:return h.fn.call(h.context,t,r),!0;case 4:return h.fn.call(h.context,t,r,a),!0;case 5:return h.fn.call(h.context,t,r,a,s),!0;case 6:return h.fn.call(h.context,t,r,a,s,n),!0}for(d=1,l=Array(u-1);d<u;d++)l[d-1]=arguments[d];h.fn.apply(h.context,l)}else{var c,m=h.length;for(d=0;d<m;d++)switch(h[d].once&&this.removeListener(e,h[d].fn,void 0,!0),u){case 1:h[d].fn.call(h[d].context);break;case 2:h[d].fn.call(h[d].context,t);break;case 3:h[d].fn.call(h[d].context,t,r);break;case 4:h[d].fn.call(h[d].context,t,r,a);break;default:if(!l)for(c=1,l=Array(u-1);c<u;c++)l[c-1]=arguments[c];h[d].fn.apply(h[d].context,l)}}return!0},o.prototype.on=function(e,t,i){return s(this,e,t,i,!1)},o.prototype.once=function(e,t,i){return s(this,e,t,i,!0)},o.prototype.removeListener=function(e,t,r,a){var s=i?i+e:e;if(!this._events[s])return this;if(!t)return n(this,s),this;var o=this._events[s];if(o.fn)o.fn!==t||a&&!o.once||r&&o.context!==r||n(this,s);else{for(var l=0,d=[],h=o.length;l<h;l++)(o[l].fn!==t||a&&!o[l].once||r&&o[l].context!==r)&&d.push(o[l]);d.length?this._events[s]=1===d.length?d[0]:d:n(this,s)}return this},o.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&n(this,t)):(this._events=new r,this._eventsCount=0),this},o.prototype.off=o.prototype.removeListener,o.prototype.addListener=o.prototype.on,o.prefixed=i,o.EventEmitter=o,e.exports=o}(a2)),(dc=a2.exports)&&dc.__esModule&&Object.prototype.hasOwnProperty.call(dc,"default"))?dc.default:dc;let a4="1.6.16",a5={};function a8(e,t){return t+10<=e.length&&51===e[t]&&68===e[t+1]&&73===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128||!1}function a9(e,t){return t+10<=e.length&&73===e[t]&&68===e[t+1]&&51===e[t+2]&&e[t+3]<255&&e[t+4]<255&&e[t+6]<128&&e[t+7]<128&&e[t+8]<128&&e[t+9]<128||!1}function a6(e,t){return(127&e[t])<<21|(127&e[t+1])<<14|(127&e[t+2])<<7|127&e[t+3]}function a7(e,t){let i=t,r=0;for(;a9(e,t);)r+=10,r+=a6(e,t+6),a8(e,t+10)&&(r+=10),t+=r;if(r>0)return e.subarray(i,i+r)}function se(e,t){return 255===e[t]&&(246&e[t+1])==240}function st(e,t){return 1&e[t+1]?7:9}function si(e,t){return(3&e[t+3])<<11|e[t+4]<<3|(224&e[t+5])>>>5}function sr(e,t){return t+1<e.length&&se(e,t)}function sa(e,t,i,r,a){if(!e.samplerate){let s=function(e,t,i,r){let a=t[i+2],s=a>>2&15;if(s>12){let t=Error(`invalid ADTS sampling index:${s}`);
6e.emit(tG.ERROR,tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.FRAG_PARSING_ERROR,fatal:!0,error:t,reason:t.message});return}let n=(a>>6&3)+1,o=t[i+3]>>6&3|(1&a)<<2,l="mp4a.40."+n,d=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350][s],h=s;(5===n||29===n)&&(h-=3);let u=[n<<3|(14&h)>>1,(1&h)<<7|o<<3];return t8.log(`manifest codec:${r}, parsed codec:${l}, channels:${o}, rate:${d} (ADTS object type:${n} sampling index:${s})`),{config:u,samplerate:d,channelCount:o,codec:l,parsedCodec:l,manifestCodec:r}}(t,i,r,a);s&&tZ(e,s)}}function ss(e,t,i,r,a){let s,n=r+a*(9216e4/e.samplerate),o=function(e,t){let i=st(e,t);if(t+i<=e.length){let r=si(e,t)-i;if(r>0)return{headerLength:i,frameLength:r}}}(t,i);if(o){let{frameLength:r,headerLength:a}=o,l=a+r,d=Math.max(0,i+l-t.length);d?(s=new Uint8Array(l-a)).set(t.subarray(i+a,t.length),0):s=t.subarray(i+a,i+l);let h={unit:s,pts:n};return d||e.samples.push(h),{sample:h,length:l,missing:d}}let l=t.length-i;return(s=new Uint8Array(l)).set(t.subarray(i,t.length),0),{sample:{unit:s,pts:n},length:l,missing:-1}}function sn(e,t=0,i=1/0){var r,a,s,n,o,l;let d,h,u,c,m,f;return r=e,a=t,s=i,n=Uint8Array,d=(o=r)instanceof ArrayBuffer?o:o.buffer,h=1,"BYTES_PER_ELEMENT"in n&&(h=n.BYTES_PER_ELEMENT),c=((u=(l=r)&&l.buffer instanceof ArrayBuffer&&void 0!==l.byteLength&&void 0!==l.byteOffset?r.byteOffset:0)+r.byteLength)/h,f=Math.floor(Math.min((m=Math.floor(Math.max(0,Math.min((u+a)/h,c))))+Math.max(s,0),c)),new n(d,m,f-m)}function so(e){let t=0,i=[];for(;a9(e,t);){let r=a6(e,t+6);e[t+5]>>6&1&&(t+=10);let a=(t+=10)+r;for(;t+10<a;){let r=function(e){let t=String.fromCharCode(e[0],e[1],e[2],e[3]),i=a6(e,4);return{type:t,size:i,data:e.subarray(10,10+i)}}(e.subarray(t)),a=function(e){if("PRIV"===e.type){if(e.size<2)return;let t=t7(e.data,!0),i=new Uint8Array(e.data.subarray(t.length+1));return{key:e.type,info:t,data:i.buffer}}if("W"===e.type[0]){if("WXXX"===e.type){if(e.size<2)return;let t=1,i=t7(e.data.subarray(t),!0);t+=i.length+1;let r=t7(e.data.subarray(t));return{key:e.type,info:i,data:r}}let t=t7(e.data);return{key:e.type,info:"",data:t}}if("APIC"===e.type)return function(e){let t,i={key:e.type,description:"",data:"",mimeType:null,pictureType:null};if(e.size<2)return;if(3!==e.data[0])return void console.log("Ignore frame with unrecognized character encoding");let r=e.data.subarray(1).indexOf(0);if(-1===r)return;let a=t7(sn(e.data,1,r)),s=e.data[2+r],n=e.data.subarray(3+r).indexOf(0);if(-1===n)return;let o=t7(sn(e.data,3+r,n));if("-->"===a)t=t7(sn(e.data,4+r+n));else{var l;t=(l=e.data.subarray(4+r+n))instanceof ArrayBuffer?l:0==l.byteOffset&&l.byteLength==l.buffer.byteLength?l.buffer:new Uint8Array(l).buffer}return i.mimeType=a,i.pictureType=s,i.description=o,i.data=t,i}(e);if(e.size<2)return;if("TXXX"===e.type){let t=1,i=t7(e.data.subarray(t),!0);t+=i.length+1;let r=t7(e.data.subarray(t));return{key:e.type,info:i,data:r}}let t=t7(e.data.subarray(1));return{key:e.type,info:"",data:t}}(r);a&&i.push(a),t+=r.size+10}a8(e,t)&&(t+=10)}return i}function sl(e){return e&&"PRIV"===e.key&&"com.apple.streaming.transportStreamTimestamp"===e.info}function sd(e){let t=so(e);for(let e=0;e<t.length;e++){let i=t[e];if(sl(i))return function(e){if(8===e.data.byteLength){let t=new Uint8Array(e.data),i=1&t[3],r=(t[4]<<23)+(t[5]<<15)+(t[6]<<7)+t[7];return r/=45,i&&(r+=47721858.84),Math.round(r)}}(i)}}let sh=((dm={}).audioId3="org.id3",dm.dateRange="com.apple.quicktime.HLS",dm.emsg="https://aomedia.org/emsg/ID3",dm.misbklv="urn:misb:KLV:bin:1910.1",dm);function su(e="",t=9e4){return{type:e,id:-1,pid:-1,inputTimeScale:t,sequenceNumber:-1,samples:[],dropped:0}}class sc{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null}resetInitSegment(e,t,i,r){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0}}resetTimeStamp(e){this.initPTS=e,this.resetContiguity()}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0}canParse(e,t){return!1}appendFrame(e,t,i){}demux(e,t){let i;this.cachedData&&(e=iw(this.cachedData,e),this.cachedData=null);let r=a7(e,0),a=r?r.length:0,s=this._audioTrack,n=this._id3Track,o=r?sd(r):void 0,l=e.length;for((null===this.basePTS||0===this.frameIndex&&tU(o))&&(this.basePTS=sm(o,t,this.initPTS),this.lastPTS=this.basePTS),null===this.lastPTS&&(this.lastPTS=this.basePTS),r&&r.length>0&&n.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:sh.audioId3,duration:1/0});a<l;){if(this.canParse(e,a)){let t=this.appendFrame(s,e,a);
6t?(this.frameIndex++,this.lastPTS=t.sample.pts,a+=t.length,i=a):a=l}else{var d,h;a9(d=e,h=a)&&a6(d,h+6)+10<=d.length-h?(r=a7(e,a),n.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:r,type:sh.audioId3,duration:1/0}),a+=r.length,i=a):a++}if(a===l&&i!==l){let t=e.slice(i);this.cachedData?this.cachedData=iw(this.cachedData,t):this.cachedData=t}}return{audioTrack:s,videoTrack:su(),id3Track:n,textTrack:su()}}demuxSampleAes(e,t,i){return Promise.reject(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:su(),id3Track:this._id3Track,textTrack:su()}}destroy(){this.cachedData=null,this._audioTrack=this._id3Track=void 0}}let sm=(e,t,i)=>tU(e)?90*e:9e4*t+(i?9e4*i.baseTime/i.timescale:0),sf=null,sp=[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],sg=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],sv=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],sE=[0,1,1,4];function sy(e,t,i,r,a){if(i+24>t.length)return;let s=sb(t,i);if(s&&i+s.frameLength<=t.length){let n=r+a*(9e4*s.samplesPerFrame/s.sampleRate),o={unit:t.subarray(i,i+s.frameLength),pts:n,dts:n};return e.config=[],e.channelCount=s.channelCount,e.samplerate=s.sampleRate,e.samples.push(o),{sample:o,length:s.frameLength,missing:0}}}function sb(e,t){let i=e[t+1]>>3&3,r=e[t+1]>>1&3,a=e[t+2]>>4&15,s=e[t+2]>>2&3;if(1!==i&&0!==a&&15!==a&&3!==s){let n=e[t+2]>>1&1,o=e[t+3]>>6,l=1e3*sp[14*(3===i?3-r:3===r?3:4)+a-1],d=sg[3*(3===i?0:2===i?1:2)+s],h=sv[i][r],u=sE[r],c=Math.floor(h*l/d+n)*u;if(null===sf){let e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);sf=e?parseInt(e[1]):0}return sf&&sf<=87&&2===r&&l>=224e3&&0===o&&(e[t+3]=128|e[t+3]),{sampleRate:d,channelCount:3===o?1:2,frameLength:c,samplesPerFrame:8*h*u}}}function sT(e,t){return 255===e[t]&&(224&e[t+1])==224&&(6&e[t+1])!=0}function s_(e,t){return t+1<e.length&&sT(e,t)}function sA(e,t){if(t+1<e.length&&sT(e,t)){let i=sb(e,t),r=4;null!=i&&i.frameLength&&(r=i.frameLength);let a=t+r;return a===e.length||s_(e,a)}return!1}let sS=(e,t)=>{let i=0,r=5;t+=5;let a=new Uint32Array(1),s=new Uint32Array(1),n=new Uint8Array(1);for(;r>0;){n[0]=e[t];let o=Math.min(r,8),l=8-o;s[0]=0xff000000>>>24+l<<l,a[0]=(n[0]&s[0])>>l,i=i?i<<o|a[0]:a[0],t+=1,r-=o}return i};function sk(e,t,i,r,a){if(i+8>t.length||11!==t[i]||119!==t[i+1])return -1;let s=t[i+4]>>6;if(s>=3)return -1;let n=[48e3,44100,32e3][s],o=63&t[i+4],l=2*[64,69,96,64,70,96,80,87,120,80,88,120,96,104,144,96,105,144,112,121,168,112,122,168,128,139,192,128,140,192,160,174,240,160,175,240,192,208,288,192,209,288,224,243,336,224,244,336,256,278,384,256,279,384,320,348,480,320,349,480,384,417,576,384,418,576,448,487,672,448,488,672,512,557,768,512,558,768,640,696,960,640,697,960,768,835,1152,768,836,1152,896,975,1344,896,976,1344,1024,1114,1536,1024,1115,1536,1152,1253,1728,1152,1254,1728,1280,1393,1920,1280,1394,1920][3*o+s];if(i+l>t.length)return -1;let d=t[i+6]>>5,h=0;2===d?h+=2:(1&d&&1!==d&&(h+=2),4&d&&(h+=2));let u=(t[i+6]<<8|t[i+7])>>12-h&1,c=[2,1,2,3,3,4,4,5][d]+u,m=t[i+5]>>3,f=7&t[i+5],p=new Uint8Array([s<<6|m<<1|f>>2,(3&f)<<6|d<<3|u<<2|o>>4,o<<4&224]),g=t.subarray(i,i+l);return e.config=p,e.channelCount=c,e.samplerate=n,e.samples.push({unit:g,pts:r+1536/n*9e4*a}),l}let sR=/\/emsg[-/]ID3/i;function sL(e,t){return tU(e.presentationTime)?e.presentationTime/e.timeScale:t+e.presentationTimeDelta/e.timeScale}class sI{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new rL(t,{removePKCS7Padding:!1})}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer,0)}decryptAacSample(e,t,i){let r=e[t].unit;if(r.length<=16)return;let a=r.subarray(16,r.length-r.length%16),s=a.buffer.slice(a.byteOffset,a.byteOffset+a.length);this.decryptBuffer(s).then(a=>{let s=new Uint8Array(a);r.set(s,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,i)}).catch(i)}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length)return void i();if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return}}getAvcEncryptedData(e){let t=new Int8Array(16*Math.floor((e.length-48)/160)+16),i=0;for(let r=32;r<e.length-16;r+=160,i+=16)t.set(e.subarray(r,r+16),i);return t}getAvcDecryptedUnit(e,t){let i=new Uint8Array(t),r=0;for(let t=32;t<e.length-16;t+=160,r+=16)e.set(i.subarray(r,r+16),t);return e}decryptAvcSample(e,t,i,r,a){let s=ix(a.data),n=this.getAvcEncryptedData(s);this.decryptBuffer(n.buffer).then(n=>{a.data=this.getAvcDecryptedUnit(s,n),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,r)}).catch(r)}decryptAvcSamples(e,t,i,r){if(e instanceof Uint8Array)throw Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length)return void r();let a=e[t].units;for(;!(i>=a.length);i++){let s=a[i];
6if(!(s.data.length<=48)&&(1===s.type||5===s.type)&&(this.decryptAvcSample(e,t,i,r,s),!this.decrypter.isSync()))return}}}}class sw{constructor(){this.VideoSample=null}createVideoSample(e,t,i){return{key:e,frame:!1,pts:t,dts:i,units:[],length:0}}getLastNalUnit(e){var t;let i,r=this.VideoSample;if(r&&0!==r.units.length||(r=e[e.length-1]),null!=(t=r)&&t.units){let e=r.units;i=e[e.length-1]}return i}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(void 0===e.pts){let i=t.samples,r=i.length;if(!r)return void t.dropped++;{let t=i[r-1];e.pts=t.pts,e.dts=t.dts}}t.samples.push(e)}}parseNALu(e,t,i){let r,a,s,n=t.byteLength,o=e.naluState||0,l=o,d=[],h=0,u=-1,c=0;for(-1===o&&(u=0,c=this.getNALuType(t,0),o=0,h=1);h<n;){if(r=t[h++],!o){o=+!r;continue}if(1===o){o=2*!r;continue}if(r)if(1===r){if(a=h-o-1,u>=0){let e={data:t.subarray(u,a),type:c};d.push(e)}else{let i=this.getLastNalUnit(e.samples);i&&(l&&h<=4-l&&i.state&&(i.data=i.data.subarray(0,i.data.byteLength-l)),a>0&&(i.data=iw(i.data,t.subarray(0,a)),i.state=0))}h<n?(s=this.getNALuType(t,h),u=h,c=s,o=0):o=-1}else o=0;else o=3}if(u>=0&&o>=0){let e={data:t.subarray(u,n),type:c,state:o};d.push(e)}if(0===d.length){let i=this.getLastNalUnit(e.samples);i&&(i.data=iw(i.data,t))}return e.naluState=o,d}}class sD{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,r=new Uint8Array(4),a=Math.min(4,t);if(0===a)throw Error("no bytes available");r.set(e.subarray(i,i+a)),this.word=new DataView(r.buffer).getUint32(0),this.bitsAvailable=8*a,this.bytesAvailable-=a}skipBits(e){let t;e=Math.min(e,8*this.bytesAvailable+this.bitsAvailable),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&&t8.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 Error("no bits available");return(t=e-t)>0&&this.bitsAvailable?i<<t|this.readBits(t):i}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if((this.word&0x80000000>>>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 1===this.readBits(1)}readUByte(){return this.readBits(8)}readUShort(){return this.readBits(16)}readUInt(){return this.readBits(32)}}class sC extends sw{parsePES(e,t,i,r){let a,s=this.parseNALu(e,i.data,r),n=this.VideoSample,o=!1;i.data=null,n&&s.length&&!e.audFound&&(this.pushAccessUnit(n,e),n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),s.forEach(r=>{var s,l,d,h,u;switch(r.type){case 1:{let t=!1;a=!0;let s=r.data;if(o&&s.length>4){let e=this.readSliceType(s);(2===e||4===e||7===e||9===e)&&(t=!0)}t&&null!=(d=n)&&d.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.frame=!0,n.key=t;break}case 5:a=!0,null!=(s=n)&&s.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0,n.frame=!0;break;case 6:a=!0,iM(r.data,1,i.pts,t.samples);break;case 7:{a=!0,o=!0;let t=r.data,i=this.readSPS(t);if(!e.sps||e.width!==i.width||e.height!==i.height||(null==(h=e.pixelRatio)?void 0:h[0])!==i.pixelRatio[0]||(null==(u=e.pixelRatio)?void 0:u[1])!==i.pixelRatio[1]){e.width=i.width,e.height=i.height,e.pixelRatio=i.pixelRatio,e.sps=[t];let r=t.subarray(1,4),a="avc1.";for(let e=0;e<3;e++){let t=r[e].toString(16);t.length<2&&(t="0"+t),a+=t}e.codec=a}break}case 8:a=!0,e.pps=[r.data];break;case 9:a=!0,e.audFound=!0,null!=(l=n)&&l.frame&&(this.pushAccessUnit(n,e),n=null),n||(n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts));break;case 12:a=!0;break;default:a=!1}n&&a&&n.units.push(r)}),r&&n&&(this.pushAccessUnit(n,e),this.VideoSample=null)}
6getNALuType(e,t){return 31&e[t]}readSliceType(e){let t=new sD(e);return t.readUByte(),t.readUEG(),t.readUEG()}skipScalingList(e,t){let i=8,r=8;for(let a=0;a<e;a++)0!==r&&(r=(i+t.readEG()+256)%256),i=0===r?i:r}readSPS(e){let t,i,r,a=new sD(e),s=0,n=0,o=0,l=0,d=a.readUByte.bind(a),h=a.readBits.bind(a),u=a.readUEG.bind(a),c=a.readBoolean.bind(a),m=a.skipBits.bind(a),f=a.skipEG.bind(a),p=a.skipUEG.bind(a),g=this.skipScalingList.bind(this);d();let v=d();if(h(5),m(3),d(),p(),100===v||110===v||122===v||244===v||44===v||83===v||86===v||118===v||128===v){let e=u();if(3===e&&m(1),p(),p(),m(1),c())for(r=0,i=3!==e?8:12;r<i;r++)c()&&g(r<6?16:64,a)}p();let E=u();if(0===E)u();else if(1===E)for(m(1),f(),f(),t=u(),r=0;r<t;r++)f();p(),m(1);let y=u(),b=u(),T=h(1);0===T&&m(1),m(1),c()&&(s=u(),n=u(),o=u(),l=u());let A=[1,1];if(c()&&c())switch(d()){case 1:A=[1,1];break;case 2:A=[12,11];break;case 3:A=[10,11];break;case 4:A=[16,11];break;case 5:A=[40,33];break;case 6:A=[24,11];break;case 7:A=[20,11];break;case 8:A=[32,11];break;case 9:A=[80,33];break;case 10:A=[18,11];break;case 11:A=[15,11];break;case 12:A=[64,33];break;case 13:A=[160,99];break;case 14:A=[4,3];break;case 15:A=[3,2];break;case 16:A=[2,1];break;case 255:A=[d()<<8|d(),d()<<8|d()]}return{width:Math.ceil((y+1)*16-2*s-2*n),height:(2-T)*(b+1)*16-(T?2:4)*(o+l),pixelRatio:A}}}class sM extends sw{constructor(...e){super(...e),this.initVPS=null}parsePES(e,t,i,r){let a,s=this.parseNALu(e,i.data,r),n=this.VideoSample,o=!1;i.data=null,n&&s.length&&!e.audFound&&(this.pushAccessUnit(n,e),n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),s.forEach(r=>{var s,l,d;switch(r.type){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:n||(n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts)),n.frame=!0,a=!0;break;case 16:case 17:case 18:case 21:a=!0,o&&null!=(d=n)&&d.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0,n.frame=!0;break;case 19:case 20:a=!0,null!=(s=n)&&s.frame&&!n.key&&(this.pushAccessUnit(n,e),n=this.VideoSample=null),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0,n.frame=!0;break;case 39:a=!0,iM(r.data,2,i.pts,t.samples);break;case 32:a=!0,e.vps||("object"!=typeof e.params&&(e.params={}),e.params=tZ(e.params,this.readVPS(r.data)),this.initVPS=r.data),e.vps=[r.data];break;case 33:if(a=!0,o=!0,void 0===e.vps||e.vps[0]===this.initVPS||void 0===e.sps||this.matchSPS(e.sps[0],r.data)||(this.initVPS=e.vps[0],e.sps=e.pps=void 0),!e.sps){let t=this.readSPS(r.data);for(let i in e.width=t.width,e.height=t.height,e.pixelRatio=t.pixelRatio,e.codec=t.codecString,e.sps=[],"object"!=typeof e.params&&(e.params={}),t.params)e.params[i]=t.params[i]}this.pushParameterSet(e.sps,r.data,e.vps),n||(n=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts)),n.key=!0;break;case 34:if(a=!0,"object"==typeof e.params){if(!e.pps){e.pps=[];let t=this.readPPS(r.data);for(let i in t)e.params[i]=t[i]}this.pushParameterSet(e.pps,r.data,e.vps)}break;case 35:a=!0,e.audFound=!0,null!=(l=n)&&l.frame&&(this.pushAccessUnit(n,e),n=null),n||(n=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts));break;default:a=!1}n&&a&&n.units.push(r)}),r&&n&&(this.pushAccessUnit(n,e),this.VideoSample=null)}pushParameterSet(e,t,i){(!i||i[0]!==this.initVPS)&&(i||e.length)||e.push(t)}getNALuType(e,t){return(126&e[t])>>>1}ebsp2rbsp(e){let t=new Uint8Array(e.byteLength),i=0;for(let r=0;r<e.byteLength;r++)(!(r>=2)||3!==e[r]||0!==e[r-1]||0!==e[r-2])&&(t[i]=e[r],i++);return new Uint8Array(t.buffer,0,i)}pushAccessUnit(e,t){super.pushAccessUnit(e,t),this.initVPS&&(this.initVPS=null)}readVPS(e){let t=new sD(e);return t.readUByte(),t.readUByte(),t.readBits(4),t.skipBits(2),t.readBits(6),{numTemporalLayers:t.readBits(3)+1,temporalIdNested:t.readBoolean()}}readSPS(e){let t=new sD(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.readBits(4);let i=t.readBits(3);t.readBoolean();let r=t.readBits(2),a=t.readBoolean(),s=t.readBits(5),n=t.readUByte(),o=t.readUByte(),l=t.readUByte(),d=t.readUByte(),h=t.readUByte(),u=t.readUByte(),c=t.readUByte(),m=t.readUByte(),f=t.readUByte(),p=t.readUByte(),g=t.readUByte(),v=[],E=[];for(let e=0;e<i;e++)v.push(t.readBoolean()),E.push(t.readBoolean());if(i>0)for(let e=i;e<8;e++)t.readBits(2);for(let e=0;e<i;e++)v[e]&&(t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte(),t.readUByte()),E[e]&&t.readUByte();t.readUEG();let y=t.readUEG();3==y&&t.skipBits(1);let b=t.readUEG(),T=t.readUEG(),A=t.readBoolean(),S=0,k=0,R=0,L=0;A&&(S+=t.readUEG(),k+=t.readUEG(),R+=t.readUEG(),L+=t.readUEG());let I=t.readUEG(),w=t.readUEG(),D=t.readUEG(),C=t.readBoolean();for(let e=C?0:i;e<=i;e++)t.skipUEG(),t.skipUEG(),t.skipUEG();if(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG(),t.readBoolean()&&t.readBoolean())for(let e=0;e<4;e++)for(let i=0;i<(3===e?2:6);i++)if(t.readBoolean()){let i=Math.min(64,1<<4+(e<<1));e>1&&t.readEG();for(let e=0;e<i;e++)t.readEG()}else t.readUEG();t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.skipUEG(),t.skipUEG(),t.readBoolean());let M=t.readUEG(),x=0;for(let e=0;e<M;e++){let i=!1;if(0!==e&&(i=t.readBoolean()),i){e===M&&t.readUEG(),t.readBoolean(),t.readUEG();let i=0;for(let e=0;e<=x;e++){let e=t.readBoolean(),r=!1;e||(r=t.readBoolean()),(e||r)&&i++}x=i}else{let e=t.readUEG(),i=t.readUEG();x=e+i;for(let i=0;i<e;i++)t.readUEG(),t.readBoolean();for(let e=0;e<i;e++)t.readUEG(),t.readBoolean()}}if(t.readBoolean()){let e=t.readUEG();for(let i=0;i<e;i++){for(let e=0;e<D+4;e++)t.readBits(1);t.readBits(1)}}let P=0,O=1,N=1,U=!0,F=1,B=0;t.readBoolean(),t.readBoolean();if(t.readBoolean()){if(t.readBoolean()){let e=t.readUByte();e>0&&e<16?(O=[1,12,10,16,40,24,20,32,80,18,15,64,160,4,3,2][e-1],N=[1,11,11,11,33,11,11,11,33,11,11,33,99,3,2,1][e-1]):255===e&&(O=t.readBits(16),N=t.readBits(16))}if(t.readBoolean()&&t.readBoolean(),t.readBoolean()&&(t.readBits(3),t.readBoolean(),t.readBoolean()&&(t.readUByte(),t.readUByte(),t.readUByte())),t.readBoolean()&&(t.readUEG(),t.readUEG()),t.readBoolean(),t.readBoolean(),t.readBoolean(),t.readBoolean()&&(t.skipUEG(),t.skipUEG(),t.skipUEG(),t.skipUEG()),t.readBoolean()&&(F=t.readBits(32),B=t.readBits(32),t.readBoolean()&&t.readUEG(),t.readBoolean())){let e=t.readBoolean(),r=t.readBoolean(),a=!1;(e||r)&&((a=t.readBoolean())&&(t.readUByte(),t.readBits(5),t.readBoolean(),t.readBits(5)),t.readBits(4),t.readBits(4),a&&t.readBits(4),t.readBits(5),t.readBits(5),t.readBits(5));for(let s=0;s<=i;s++){let i=(U=t.readBoolean())||t.readBoolean(),s=!1;i?t.readEG():s=t.readBoolean();let n=s?1:t.readUEG()+1;if(e)for(let e=0;e<n;e++)t.readUEG(),t.readUEG(),a&&(t.readUEG(),t.readUEG()),t.skipBits(1);if(r)for(let e=0;e<n;e++)t.readUEG(),t.readUEG(),a&&(t.readUEG(),t.readUEG()),t.skipBits(1)}}t.readBoolean()&&(t.readBoolean(),t.readBoolean(),t.readBoolean(),P=t.readUEG())}let $=b,H=T;if(A){let e=1,t=1;1===y?e=t=2:2==y&&(e=2),$=b-e*k-e*S,H=T-t*L-t*R}let G=r?["A","B","C"][r]:"",K=n<<24|o<<16|l<<8|d,W=0;for(let e=0;e<32;e++)W=(W|(K>>e&1)<<31-e)>>>0;let V=W.toString(16);return 1===s&&"2"===V&&(V="6"),{codecString:`hvc1.${G}${s}.${V}.${a?"H":"L"}${g}.B0`,params:{general_tier_flag:a,general_profile_idc:s,general_profile_space:r,general_profile_compatibility_flags:[n,o,l,d],general_constraint_indicator_flags:[h,u,c,m,f,p],general_level_idc:g,bit_depth:I+8,bit_depth_luma_minus8:I,bit_depth_chroma_minus8:w,min_spatial_segmentation_idc:P,chroma_format_idc:y,frame_rate:{fixed:U,fps:B/F}},width:$,height:H,pixelRatio:[O,N]}}readPPS(e){let t=new sD(this.ebsp2rbsp(e));t.readUByte(),t.readUByte(),t.skipUEG(),t.skipUEG(),t.skipBits(2),t.skipBits(3),t.skipBits(2),t.skipUEG(),t.skipUEG(),t.skipEG(),t.skipBits(2),t.readBoolean()&&t.skipUEG(),t.skipEG(),t.skipEG(),t.skipBits(4);let i=t.readBoolean(),r=t.readBoolean(),a=1;return r&&i?a=0:r?a=3:i&&(a=2),{parallelismType:a}}matchSPS(e,t){return String.fromCharCode.apply(null,e).substr(3)===String.fromCharCode.apply(null,t).substr(3)}}class sx{constructor(e,t,i,r){this.logger=void 0,this.observer=void 0,this.config=void 0,this.typeSupp
6orted=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._pmtId=-1,this._videoTrack=void 0,this._audioTrack=void 0,this._id3Track=void 0,this._txtTrack=void 0,this.aacOverFlow=null,this.remainderData=null,this.videoParser=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.logger=r,this.videoParser=null}static probe(e,t){let i=sx.syncOffset(e);return i>0&&t.warn(`MPEG2-TS detected but first sync word found @ offset ${i}`),-1!==i}static syncOffset(e){let t=e.length,i=Math.min(940,t-188)+1,r=0;for(;r<i;){let a=!1,s=-1,n=0;for(let o=r;o<t;o+=188)if(71===e[o]&&(t-o==188||71===e[o+188])){if(n++,-1===s&&0!==(s=o)&&(i=Math.min(s+18612,e.length-188)+1),a||(a=0===sP(e,o)),a&&n>1&&(0===s&&n>2||o+188>i))return s}else if(n)return -1;else break;r++}return -1}static createTrack(e,t){return{container:"video"===e||"audio"===e?"video/mp2t":void 0,type:e,id:ip[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:"audio"===e?t:void 0}}resetInitSegment(e,t,i,r){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=sx.createTrack("video"),this._videoTrack.duration=r,this._audioTrack=sx.createTrack("audio",r),this._id3Track=sx.createTrack("id3"),this._txtTrack=sx.createTrack("text"),this._audioTrack.segmentCodec="aac",this.videoParser=null,this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=i}resetTimeStamp(){}resetContiguity(){let{_audioTrack:e,_videoTrack:t,_id3Track:i}=this;e&&(e.pesData=null),t&&(t.pesData=null),i&&(i.pesData=null),this.aacOverFlow=null,this.remainderData=null}demux(e,t,i=!1,r=!1){let a;i||(this.sampleAes=null);let s=this._videoTrack,n=this._audioTrack,o=this._id3Track,l=this._txtTrack,d=s.pid,h=s.pesData,u=n.pid,c=o.pid,m=n.pesData,f=o.pesData,p=null,g=this.pmtParsed,v=this._pmtId,E=e.length;if(this.remainderData&&(E=(e=iw(this.remainderData,e)).length,this.remainderData=null),E<188&&!r)return this.remainderData=e,{audioTrack:n,videoTrack:s,id3Track:o,textTrack:l};let y=Math.max(0,sx.syncOffset(e));(E-=(E-y)%188)<e.byteLength&&!r&&(this.remainderData=new Uint8Array(e.buffer,E,e.buffer.byteLength-E));let b=0;for(let t=y;t<E;t+=188)if(71===e[t]){let r,E=!!(64&e[t+1]),b=sP(e,t);if((48&e[t+3])>>4>1){if((r=t+5+e[t+4])===t+188)continue}else r=t+4;switch(b){case d:E&&(h&&(a=sU(h,this.logger))&&(this.readyVideoParser(s.segmentCodec),null!==this.videoParser&&this.videoParser.parsePES(s,l,a,!1)),h={data:[],size:0}),h&&(h.data.push(e.subarray(r,t+188)),h.size+=t+188-r);break;case u:if(E){if(m&&(a=sU(m,this.logger)))switch(n.segmentCodec){case"aac":this.parseAACPES(n,a);break;case"mp3":this.parseMPEGPES(n,a);break;case"ac3":this.parseAC3PES(n,a)}m={data:[],size:0}}m&&(m.data.push(e.subarray(r,t+188)),m.size+=t+188-r);break;case c:E&&(f&&(a=sU(f,this.logger))&&this.parseID3PES(o,a),f={data:[],size:0}),f&&(f.data.push(e.subarray(r,t+188)),f.size+=t+188-r);break;case 0:var T,A;E&&(r+=e[r]+1),v=this._pmtId=(31&(T=e)[(A=r)+10])<<8|T[A+11];break;case v:{E&&(r+=e[r]+1);let a=function(e,t,i,r,a,s){let n={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},o=(15&e[t+1])<<8|e[t+2],l=t+3+o-4,d=(15&e[t+10])<<8|e[t+11];for(t+=12+d;t<l;){let o=sP(e,t),l=(15&e[t+3])<<8|e[t+4];switch(e[t]){case 207:if(!r){sN("ADTS AAC",s);break}case 15:-1===n.audioPid&&(n.audioPid=o);break;case 21:-1===n.id3Pid&&(n.id3Pid=o);break;case 219:if(!r){sN("H.264",s);break}case 27:-1===n.videoPid&&(n.videoPid=o);break;case 3:case 4:i.mpeg||i.mp3?-1===n.audioPid&&(n.audioPid=o,n.segmentAudioCodec="mp3"):s.log("MPEG audio found, not supported in this browser");break;case 193:if(!r){sN("AC-3",s);break}case 129:i.ac3?-1===n.audioPid&&(n.audioPid=o,n.segmentAudioCodec="ac3"):s.log("AC-3 audio found, not supported in this browser");break;case 6:if(-1===n.audioPid&&l>0){let r=t+5,a=l;for(;a>2;){106===e[r]&&(!0!==i.ac3?s.log("AC-3 audio found, not supported in this browser for now"):(n.audioPid=o,n.segmentAudioCodec="ac3"));let t=e[r+1]+2;r+=t,a-=t}}break;case 194:case 135:return sO(a,Error("Unsupported EC-3 in M2TS found"),void 0,s),n;case 36:-1===n.videoPid&&(n.videoPid=o,n.segmentVideoCodec="hevc",s.log("HEVC in M2TS found"))}t+=l+5}return n}
6(e,r,this.typeSupported,i,this.observer,this.logger);(d=a.videoPid)>0&&(s.pid=d,s.segmentCodec=a.segmentVideoCodec),(u=a.audioPid)>0&&(n.pid=u,n.segmentCodec=a.segmentAudioCodec),(c=a.id3Pid)>0&&(o.pid=c),null===p||g||(this.logger.warn(`MPEG-TS PMT found at ${t} after unknown PID '${p}'. Backtracking to sync byte @${y} to parse all TS packets.`),p=null,t=y-188),g=this.pmtParsed=!0;break}case 17:case 8191:break;default:p=b}}else b++;b>0&&sO(this.observer,Error(`Found ${b} TS packet/s that do not start with 0x47`),void 0,this.logger),s.pesData=h,n.pesData=m,o.pesData=f;let S={audioTrack:n,videoTrack:s,id3Track:o,textTrack:l};return r&&this.extractRemainingSamples(S),S}flush(){let e,{remainderData:t}=this;return(this.remainderData=null,e=t?this.demux(t,-1,!1,!0):{videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(e),this.sampleAes)?this.decrypt(e,this.sampleAes):e}extractRemainingSamples(e){let t,{audioTrack:i,videoTrack:r,id3Track:a,textTrack:s}=e,n=r.pesData,o=i.pesData,l=a.pesData;if(n&&(t=sU(n,this.logger))?(this.readyVideoParser(r.segmentCodec),null!==this.videoParser&&(this.videoParser.parsePES(r,s,t,!0),r.pesData=null)):r.pesData=n,o&&(t=sU(o,this.logger))){switch(i.segmentCodec){case"aac":this.parseAACPES(i,t);break;case"mp3":this.parseMPEGPES(i,t);break;case"ac3":this.parseAC3PES(i,t)}i.pesData=null}else null!=o&&o.size&&this.logger.log("last AAC PES packet truncated,might overlap between fragments"),i.pesData=o;l&&(t=sU(l,this.logger))?(this.parseID3PES(a,t),a.pesData=null):a.pesData=l}demuxSampleAes(e,t,i){let r=this.demux(e,i,!0,!this.config.progressive),a=this.sampleAes=new sI(this.observer,this.config,t);return this.decrypt(r,a)}readyVideoParser(e){null===this.videoParser&&("avc"===e?this.videoParser=new sC:"hevc"===e&&(this.videoParser=new sM))}decrypt(e,t){return new Promise(i=>{let{audioTrack:r,videoTrack:a}=e;r.samples&&"aac"===r.segmentCodec?t.decryptAacSamples(r.samples,0,()=>{a.samples?t.decryptAvcSamples(a.samples,0,0,()=>{i(e)}):i(e)}):a.samples&&t.decryptAvcSamples(a.samples,0,0,()=>{i(e)})})}destroy(){this.observer&&this.observer.removeAllListeners(),this.config=this.logger=this.observer=null,this.aacOverFlow=this.videoParser=this.remainderData=this.sampleAes=null,this._videoTrack=this._audioTrack=this._id3Track=this._txtTrack=void 0}parseAACPES(e,t){let i,r,a,s,n=0,o=this.aacOverFlow,l=t.data;if(o){this.aacOverFlow=null;let t=o.missing,i=o.sample.unit.byteLength;-1===t?l=iw(o.sample.unit,l):(o.sample.unit.set(l.subarray(0,t),i-t),e.samples.push(o.sample),n=o.missing)}for(i=n,r=l.length;i<r-1&&!sr(l,i);i++);if(i!==n){let e,t=i<r-1;if(e=t?`AAC PES did not start with ADTS header,offset:${i}`:"No ADTS header found in AAC PES",sO(this.observer,Error(e),t,this.logger),!t)return}if(sa(e,this.observer,l,i,this.audioCodec),void 0!==t.pts)a=t.pts;else{if(!o)return void this.logger.warn("[tsdemuxer]: AAC PES unknown PTS");let t=9216e4/e.samplerate;a=o.sample.pts+t}let d=0;for(;i<r;){if(s=ss(e,l,i,a,d),i+=s.length,s.missing){this.aacOverFlow=s;break}for(d++;i<r-1&&!sr(l,i);i++);}}parseMPEGPES(e,t){let i=t.data,r=i.length,a=0,s=0,n=t.pts;if(void 0===n)return void this.logger.warn("[tsdemuxer]: MPEG PES unknown PTS");for(;s<r;)if(s_(i,s)){let t=sy(e,i,s,n,a);if(t)s+=t.length,a++;else break}else s++}parseAC3PES(e,t){{let i,r=t.data,a=t.pts;if(void 0===a)return void this.logger.warn("[tsdemuxer]: AC3 PES unknown PTS");let s=r.length,n=0,o=0;for(;o<s&&(i=sk(e,r,o,a,n++))>0;)o+=i}}parseID3PES(e,t){if(void 0===t.pts)return void this.logger.warn("[tsdemuxer]: ID3 PES unknown PTS");let i=tZ({},t,{type:this._videoTrack?sh.emsg:sh.audioId3,duration:1/0});e.samples.push(i)}}function sP(e,t){return((31&e[t+1])<<8)+e[t+2]}function sO(e,t,i,r){r.warn(`parsing error: ${t.message}`),e.emit(tG.ERROR,tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.FRAG_PARSING_ERROR,fatal:!1,levelRetry:i,error:t,reason:t.message})}function sN(e,t){t.log(`${e} with AES-128-CBC encryption found in unencrypted stream`)}function sU(e,t){let i,r,a,s,n,o=0,l=e.data;if(!e||0===e.size)return null;for(;l[0].length<19&&l.length>1;)l[0]=iw(l[0],l[1]),l.splice(1,1);if(1===((i=l[0])[0]<<16)+(i[1]<<8)+i[2]){if((r=(i[4]<<8)+i[5])&&r>e.size-6)return null;let d=i[7];192&d&&(s=(14&i[9])*0x20000000+(255&i[10])*4194304+(254&i[11])*16384+(255&i[12])*128+(254&i[13])/2,64&d?s-(n=(14&i[14])*0x20000000+(255&i[15])*4194304+(254&i[16])*16384+(255&i[17])*128+(254&i[18])/2)>54e5&&(t.warn(`${Math.round((s-n)/9e4)}s delta between PTS and DTS, align them`),s=n):n=s);let h=(a=i[8])+9;if(e.size<=h)return null;e.size-=h;let u=new Uint8Array(e.size);for(let e=0,t=l.length;e<t;e++){let t=(i=l[e]).byteLength;if(h)if(h>t){h-=t;continue}else i=i.subarray(h),t-=h,h=0;u.set(i,o),o+=t}return r&&(r-=a+3),{data:u,pts:s,dts:n,len:r}}return null}class sF{static getSilentFrame(e,t){if("mp4a.40.2"===e){if(1===t)return new Uint8Array([0,200,0,128,35,128]);if(2===t)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(3===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);else if(4===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);else if(5===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);else if(6===t)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224])}else{if(1===t)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(2===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(3===t)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94])}}}class sB{static init(){let e;for(e in sB.types={avc1:[],avcC:[],hvc1:[],hvcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]},sB.types)sB.types.hasOwnProperty(e)&&(sB.types[e]=[e.charCodeAt(0),e.charCodeAt(1),e.charCodeAt(2),e.charCodeAt(3)]);sB.HDLR_TYPES={video: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]),audio: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])};let t=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]);sB.STTS=sB.STSC=sB.STCO=new Uint8Array([0,0,0,0,0,0,0,0]),sB.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),sB.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),sB.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),sB.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);
6let i=new Uint8Array([105,115,111,109]),r=new Uint8Array([97,118,99,49]),a=new Uint8Array([0,0,0,1]);sB.FTYP=sB.box(sB.types.ftyp,i,a,i,r),sB.DINF=sB.box(sB.types.dinf,sB.box(sB.types.dref,t))}static box(e,...t){let i=8,r=t.length,a=r;for(;r--;)i+=t[r].byteLength;let s=new Uint8Array(i);for(s[0]=i>>24&255,s[1]=i>>16&255,s[2]=i>>8&255,s[3]=255&i,s.set(e,4),r=0,i=8;r<a;r++)s.set(t[r],i),i+=t[r].byteLength;return s}static hdlr(e){return sB.box(sB.types.hdlr,sB.HDLR_TYPES[e])}static mdat(e){return sB.box(sB.types.mdat,e)}static mdhd(e,t){let i=Math.floor((t*=e)/0x100000000),r=Math.floor(t%0x100000000);return sB.box(sB.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,255&e,i>>24,i>>16&255,i>>8&255,255&i,r>>24,r>>16&255,r>>8&255,255&r,85,196,0,0]))}static mdia(e){return sB.box(sB.types.mdia,sB.mdhd(e.timescale||0,e.duration||0),sB.hdlr(e.type),sB.minf(e))}static mfhd(e){return sB.box(sB.types.mfhd,new Uint8Array([0,0,0,0,e>>24,e>>16&255,e>>8&255,255&e]))}static minf(e){return"audio"===e.type?sB.box(sB.types.minf,sB.box(sB.types.smhd,sB.SMHD),sB.DINF,sB.stbl(e)):sB.box(sB.types.minf,sB.box(sB.types.vmhd,sB.VMHD),sB.DINF,sB.stbl(e))}static moof(e,t,i){return sB.box(sB.types.moof,sB.mfhd(e),sB.traf(i,t))}static moov(e){let t=e.length,i=[];for(;t--;)i[t]=sB.trak(e[t]);return sB.box.apply(null,[sB.types.moov,sB.mvhd(e[0].timescale||0,e[0].duration||0)].concat(i).concat(sB.mvex(e)))}static mvex(e){let t=e.length,i=[];for(;t--;)i[t]=sB.trex(e[t]);return sB.box.apply(null,[sB.types.mvex,...i])}static mvhd(e,t){let i=Math.floor((t*=e)/0x100000000),r=Math.floor(t%0x100000000),a=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,e>>24&255,e>>16&255,e>>8&255,255&e,i>>24,i>>16&255,i>>8&255,255&i,r>>24,r>>16&255,r>>8&255,255&r,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 sB.box(sB.types.mvhd,a)}static sdtp(e){let t,i,r=e.samples||[],a=new Uint8Array(4+r.length);for(t=0;t<r.length;t++)i=r[t].flags,a[t+4]=i.dependsOn<<4|i.isDependedOn<<2|i.hasRedundancy;return sB.box(sB.types.sdtp,a)}static stbl(e){return sB.box(sB.types.stbl,sB.stsd(e),sB.box(sB.types.stts,sB.STTS),sB.box(sB.types.stsc,sB.STSC),sB.box(sB.types.stsz,sB.STSZ),sB.box(sB.types.stco,sB.STCO))}static avc1(e){let t,i,r,a=[],s=[];for(t=0;t<e.sps.length;t++)r=(i=e.sps[t]).byteLength,a.push(r>>>8&255),a.push(255&r),a=a.concat(Array.prototype.slice.call(i));for(t=0;t<e.pps.length;t++)r=(i=e.pps[t]).byteLength,s.push(r>>>8&255),s.push(255&r),s=s.concat(Array.prototype.slice.call(i));let n=sB.box(sB.types.avcC,new Uint8Array([1,a[3],a[4],a[5],255,224|e.sps.length].concat(a).concat([e.pps.length]).concat(s))),o=e.width,l=e.height,d=e.pixelRatio[0],h=e.pixelRatio[1];return sB.box(sB.types.avc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,o>>8&255,255&o,l>>8&255,255&l,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),n,sB.box(sB.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),sB.box(sB.types.pasp,new Uint8Array([d>>24,d>>16&255,d>>8&255,255&d,h>>24,h>>16&255,h>>8&255,255&h])))}static esds(e){return new Uint8Array([0,0,0,0,3,25,0,1,0,4,17,64,21,0,0,0,0,0,0,0,0,0,0,0,5,2,...e.config,6,1,2])}static audioStsd(e){let t=e.samplerate||0;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,e.channelCount||0,0,16,0,0,0,0,t>>8&255,255&t,0,0])}static mp4a(e){return sB.box(sB.types.mp4a,sB.audioStsd(e),sB.box(sB.types.esds,sB.esds(e)))}static mp3(e){return sB.box(sB.types[".mp3"],sB.audioStsd(e))}static ac3(e){return sB.box(sB.types["ac-3"],sB.audioStsd(e),sB.box(sB.types.dac3,e.config))}static stsd(e){let{segmentCodec:t}=e;if("audio"===e.type){if("aac"===t)return sB.box(sB.types.stsd,sB.STSD,sB.mp4a(e));if("ac3"===t&&e.config)return sB.box(sB.types.stsd,sB.STSD,sB.ac3(e));if("mp3"===t&&"mp3"===e.codec)return sB.box(sB.types.stsd,sB.STSD,sB.mp3(e))}else if(e.pps&&e.sps){if("avc"===t)return sB.box(sB.types.stsd,sB.STSD,sB.avc1(e));if("hevc"===t&&e.vps)return sB.box(sB.types.stsd,sB.STSD,sB.hvc1(e))}
6else throw Error("video track missing pps or sps");throw Error(`unsupported ${e.type} segment codec (${t}/${e.codec})`)}static tkhd(e){let t=e.id,i=(e.duration||0)*(e.timescale||0),r=e.width||0,a=e.height||0,s=Math.floor(i/0x100000000),n=Math.floor(i%0x100000000);return sB.box(sB.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,255&t,0,0,0,0,s>>24,s>>16&255,s>>8&255,255&s,n>>24,n>>16&255,n>>8&255,255&n,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>8&255,255&r,0,0,a>>8&255,255&a,0,0]))}static traf(e,t){let i=sB.sdtp(e),r=e.id,a=Math.floor(t/0x100000000),s=Math.floor(t%0x100000000);return sB.box(sB.types.traf,sB.box(sB.types.tfhd,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,255&r])),sB.box(sB.types.tfdt,new Uint8Array([1,0,0,0,a>>24,a>>16&255,a>>8&255,255&a,s>>24,s>>16&255,s>>8&255,255&s])),sB.trun(e,i.length+16+20+8+16+8+8),i)}static trak(e){return e.duration=e.duration||0xffffffff,sB.box(sB.types.trak,sB.tkhd(e),sB.mdia(e))}static trex(e){let t=e.id;return sB.box(sB.types.trex,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,255&t,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]))}static trun(e,t){let i,r,a,s,n,o,l=e.samples||[],d=l.length,h=12+16*d,u=new Uint8Array(h);for(t+=8+h,u.set([+("video"===e.type),0,15,1,d>>>24&255,d>>>16&255,d>>>8&255,255&d,t>>>24&255,t>>>16&255,t>>>8&255,255&t],0),i=0;i<d;i++)a=(r=l[i]).duration,s=r.size,n=r.flags,o=r.cts,u.set([a>>>24&255,a>>>16&255,a>>>8&255,255&a,s>>>24&255,s>>>16&255,s>>>8&255,255&s,n.isLeading<<2|n.dependsOn,n.isDependedOn<<6|n.hasRedundancy<<4|n.paddingValue<<1|n.isNonSync,61440&n.degradPrio,15&n.degradPrio,o>>>24&255,o>>>16&255,o>>>8&255,255&o],12+16*i);return sB.box(sB.types.trun,u)}static initSegment(e){sB.types||sB.init();let t=sB.moov(e);return iw(sB.FTYP,t)}static hvc1(e){let t=e.params,i=[e.vps,e.sps,e.pps],r=new Uint8Array([1,t.general_profile_space<<6|32*!!t.general_tier_flag|t.general_profile_idc,t.general_profile_compatibility_flags[0],t.general_profile_compatibility_flags[1],t.general_profile_compatibility_flags[2],t.general_profile_compatibility_flags[3],t.general_constraint_indicator_flags[0],t.general_constraint_indicator_flags[1],t.general_constraint_indicator_flags[2],t.general_constraint_indicator_flags[3],t.general_constraint_indicator_flags[4],t.general_constraint_indicator_flags[5],t.general_level_idc,240|t.min_spatial_segmentation_idc>>8,255&t.min_spatial_segmentation_idc,252|t.parallelismType,252|t.chroma_format_idc,248|t.bit_depth_luma_minus8,248|t.bit_depth_chroma_minus8,0,parseInt(t.frame_rate.fps),3|t.temporal_id_nested<<2|t.num_temporal_layers<<3|64*!!t.frame_rate.fixed,i.length]),a=r.length;for(let e=0;e<i.length;e+=1){a+=3;for(let t=0;t<i[e].length;t+=1)a+=2+i[e][t].length}let s=new Uint8Array(a);s.set(r,0),a=r.length;let n=i.length-1;for(let e=0;e<i.length;e+=1){s.set(new Uint8Array([32+e|128*(e===n),0,i[e].length]),a),a+=3;for(let t=0;t<i[e].length;t+=1)s.set(new Uint8Array([i[e][t].length>>8,255&i[e][t].length]),a),a+=2,s.set(i[e][t],a),a+=i[e][t].length}let o=sB.box(sB.types.hvcC,s),l=e.width,d=e.height,h=e.pixelRatio[0],u=e.pixelRatio[1];return sB.box(sB.types.hvc1,new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,l>>8&255,255&l,d>>8&255,255&d,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,sB.box(sB.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),sB.box(sB.types.pasp,new Uint8Array([h>>24,h>>16&255,h>>8&255,255&h,u>>24,u>>16&255,u>>8&255,255&u])))}}function s$(e,t,i=1,r=!1){let a=e*t*i;return r?Math.round(a):a}function sH(e,t=!1){return s$(e,1e3,11111111111111112e-21,t)}function sG(e){let{baseTime:t,timescale:i,trackId:r}=e;return`${t/i} (${t}/${i}) trackId: ${r}`}sB.types=void 0,sB.HDLR_TYPES=void 0,sB.STTS=void 0,sB.STSC=void 0,sB.STCO=void 0,sB.STSZ=void 0,sB.VMHD=void 0,sB.SMHD=void 0,sB.STSD=void 0,sB.FTYP=void 0,sB.DINF=void 0;let sK=null,sW=null;function sV(e,t,i,r){return{duration:t,size:i,cts:r,flags:{isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:+!e}}}class sq extends t1{constructor(e,t,i,r){if(super("mp4-remuxer",r),this.observer=void 0,this.config=void 0,this.typeSupp
6orted=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextVideoTs=null,this.nextAudioTs=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,null===sK){const e=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);sK=e?parseInt(e[1]):0}if(null===sW){const e=navigator.userAgent.match(/Safari\/(\d+)/i);sW=e?parseInt(e[1]):0}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null}resetTimeStamp(e){let t=this._initPTS;t&&e&&e.trackId===t.trackId&&e.baseTime===t.baseTime&&e.timescale===t.timescale||this.log(`Reset initPTS: ${t?sG(t):t} > ${e?sG(e):e}`),this._initPTS=this._initDTS=e}resetNextTimestamp(){this.log("reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1}resetInitSegment(){this.log("ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0}getVideoStartPts(e){let t=!1,i=e[0].pts,r=e.reduce((e,r)=>{let a=r.pts,s=a-e;return(s<-0x100000000&&(t=!0,s=(a=sY(a,i))-e),s>0)?e:a},i);return t&&this.debug("PTS rollover detected"),r}remux(e,t,i,r,a,s,n,o){let l,d,h,u,c,m,f=a,p=a,g=e.pid>-1,v=t.pid>-1,E=t.samples.length,y=e.samples.length>0,b=n&&E>0||E>1;if((!g||y)&&(!v||b)||this.ISGenerated||n){let i;if(this.ISGenerated){var T,A,S,k;let e=this.videoTrackConfig;(e&&(t.width!==e.width||t.height!==e.height||(null==(T=t.pixelRatio)?void 0:T[0])!==(null==(A=e.pixelRatio)?void 0:A[0])||(null==(S=t.pixelRatio)?void 0:S[1])!==(null==(k=e.pixelRatio)?void 0:k[1]))||!e&&b||null===this.nextAudioTs&&y)&&this.resetInitSegment()}this.ISGenerated||(h=this.generateIS(e,t,a,s));let r=this.isVideoContiguous,n=-1;if(b&&(n=function(e){for(let t=0;t<e.length;t++)if(e[t].key)return t;return -1}(t.samples),!r&&this.config.forceKeyFrameOnDiscontinuity))if(m=!0,n>0){this.warn(`Dropped ${n} out of ${E} video samples due to a missing keyframe`);let e=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(n),t.dropped+=n,p+=(t.samples[0].pts-e)/t.inputTimeScale,i=p}else -1===n&&(this.warn(`No keyframe found out of ${E} video samples`),m=!1);if(this.ISGenerated){if(y&&b){let i=this.getVideoStartPts(t.samples),r=(sY(e.samples[0].pts,i)-i)/t.inputTimeScale;f+=Math.max(0,r),p+=Math.max(0,-r)}if(y){if(e.samplerate||(this.warn("regenerate InitSegment as audio detected"),h=this.generateIS(e,t,a,s)),d=this.remuxAudio(e,f,this.isAudioContiguous,s,v||b||o===tj?p:void 0),b){let i=d?d.endPTS-d.startPTS:0;t.inputTimeScale||(this.warn("regenerate InitSegment as video detected"),h=this.generateIS(e,t,a,s)),l=this.remuxVideo(t,p,r,i)}}else b&&(l=this.remuxVideo(t,p,r,0));l&&(l.firstKeyFrame=n,l.independent=-1!==n,l.firstKeyFramePTS=i)}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(c=sj(i,a,this._initPTS,this._initDTS)),r.samples.length&&(u=sQ(r,a,this._initPTS))),{audio:d,video:l,initSegment:h,independent:m,text:u,id3:c}}computeInitPts(e,t,i,r){let a=Math.round(i*t),s=sY(e,a);if(s<a+t)for(this.log(`Adjusting PTS for rollover in timeline near ${(a-s)/t} ${r}`);s<a+t;)s+=0x200000000;return s-a}generateIS(e,t,i,r){let a,s,n,o=e.samples,l=t.samples,d=this.typeSupported,h={},u=this._initPTS,c=!u||r,m="audio/mp4",f=-1;if(c&&(a=s=1/0),e.config&&o.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":d.mpeg?(m="audio/mpeg",e.codec=""):d.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3"}h.audio={id:"audio",container:m,codec:e.codec,initSegment:"mp3"===e.segmentCodec&&d.mpeg?new Uint8Array(0):sB.initSegment([e]),metadata:{channelCount:e.channelCount}},c&&(f=e.id,n=e.inputTimeScale,u&&n===u.timescale?c=!1:a=s=this.computeInitPts(o[0].pts,n,i,"audio"))}if(t.sps&&t.pps&&l.length){if(t.timescale=t.inputTimeScale,h.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:sB.initSegment([t]),metadata:{width:t.width,height:t.height}},c)if(f=t.id,n=t.inputTimeScale,u&&n===u.timescale)c=!1;else{let e=this.getVideoStartPts(l),t=sY(l[0].dts,e),r=this.computeInitPts(t,n,i,"video"),o=this.computeInitPts(e,n,i,"video");s=Math.min(s,r),a=Math.min(a,o)}this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio}}if(Object.keys(h).length)return this.ISGenerated=!0,c?(u&&this.warn(`Timestamps at playlist time: ${r?"":"~"}${i} ${a/n} != initPTS: ${u.baseTime/u.timescale} (${u.baseTime}/${u.timescale}) trackId: ${u.trackId}`),this.log(`Found initPTS at playlist time: ${i} offset: ${a/n} (${a}/${n}) trackId: ${f}`),this._initPTS={baseTime:a,timescale:n,trackId:f},this._initDTS={baseTime:s,timescale:n,trackId:f}):a=n=void 0,{tracks:h,initPTS:a,timescale:n,trackId:f}}remuxVideo(e,t,i,r){let a,s,n,o=e.inputTimeScale,l=e.samples,d=[],h=l.length,u=this._initPTS,c=u.baseTime*o/u.timescale,m=this.nextVideoTs,f=8,p=this.videoSampleDuration,g=1/0,v=-1/0,E=!1;if(!i||null===m){let e=c+t*o,r=l[0].pts-sY(l[0].dts,l[0].pts);sK&&null!==m&&15e3>Math.abs(e-r-(m+c))?i=!0:m=e-r-c}let y=m+c;for(let e=0;e<h;e++){let t=l[e];t.pts=sY(t.pts,y),t.dts=sY(t.dts,y),t.dts<l[e>0?e-1:e].dts&&(E=!0)}E&&l.sort(function(e,t){let i=e.dts-t.dts,r=e.pts-t.pts;return i||r}),a=l[0].dts;let b=(s=l[l.length-1].dts)-a,T=b?Math.round(b/(h-1)):p||e.inputTimeScale/30;if(i){let i=a-y,r=i>T,s=i<-1;if((r||s)&&(r?this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${sH(i,!0)} ms (${i}dts) hole between fragments detected at ${t.toFixed(3)}`):this.warn(`${(e.segmentCodec||"").toUpperCase()}: ${sH(-i,!0)} ms (${i}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!s||y>=l[0].pts||sK)){a=y;let e=l[0].pts-i;
6if(r)l[0].dts=a,l[0].pts=e;else{let t=!0;for(let r=0;r<l.length&&(!(l[r].dts>e)||!t);r++){let e=l[r].pts;if(l[r].dts-=i,l[r].pts-=i,r<l.length-1){let i=l[r+1].pts;t=i<=l[r].pts==i<=e}}}this.log(`Video: Initial PTS/DTS adjusted: ${sH(e,!0)}/${sH(a,!0)}, delta: ${sH(i,!0)} ms`)}}let A=0,S=0,k=a=Math.max(0,a);for(let e=0;e<h;e++){let t=l[e],i=t.units,r=i.length,a=0;for(let e=0;e<r;e++)a+=i[e].data.length;S+=a,A+=r,t.length=a,t.dts<k?(t.dts=k,k+=T/4|0||1):k=t.dts,g=Math.min(t.pts,g),v=Math.max(t.pts,v)}s=l[h-1].dts;let R=S+4*A+8;try{n=new Uint8Array(R)}catch(e){this.observer.emit(tG.ERROR,tG.ERROR,{type:t$.MUX_ERROR,details:tH.REMUX_ALLOC_ERROR,fatal:!1,error:e,bytes:R,reason:`fail allocating video mdat ${R}`});return}let L=new DataView(n.buffer);L.setUint32(0,R),n.set(sB.types.mdat,4);let I=!1,w=1/0,D=1/0,C=-1/0,M=-1/0;for(let e=0;e<h;e++){let t,i=l[e],a=i.units,s=0;for(let e=0,t=a.length;e<t;e++){let t=a[e],i=t.data,r=t.data.byteLength;L.setUint32(f,r),f+=4,n.set(i,f),f+=r,s+=4+r}if(e<h-1)p=l[e+1].dts-i.dts,t=l[e+1].pts-i.pts;else{let a=this.config,s=e>0?i.dts-l[e-1].dts:T;if(t=e>0?i.pts-l[e-1].pts:T,a.stretchShortVideoTrack&&null!==this.nextAudioTs){let e=Math.floor(a.maxBufferHole*o),t=(r?g+r*o:this.nextAudioTs+c)-i.pts;t>e?((p=t-s)<0?p=s:I=!0,this.log(`It is approximately ${t/90} ms to the next segment; using duration ${p/90} ms for the last video frame.`)):p=s}else p=s}let u=Math.round(i.pts-i.dts);w=Math.min(w,p),C=Math.max(C,p),D=Math.min(D,t),M=Math.max(M,t),d.push(sV(i.key,p,s,u))}if(d.length){if(sK){if(sK<70){let e=d[0].flags;e.dependsOn=2,e.isNonSync=0}}else if(sW&&M-D<C-w&&T/C<.025&&0===d[0].cts){this.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let e=a;for(let t=0,i=d.length;t<i;t++){let r=e+d[t].duration,a=e+d[t].cts;if(t<i-1){let e=r+d[t+1].cts;d[t].duration=e-a}else d[t].duration=t?d[t-1].duration:T;d[t].cts=0,e=r}}}let x=s+(p=I||!p?T:p);this.nextVideoTs=m=x-c,this.videoSampleDuration=p,this.isVideoContiguous=!0;let P={data1:sB.moof(e.sequenceNumber++,a,tZ(e,{samples:d})),data2:n,startPTS:(g-c)/o,endPTS:(v+p-c)/o,startDTS:(a-c)/o,endDTS:m/o,type:"video",hasAudio:!1,hasVideo:!0,nb:d.length,dropped:e.dropped};return e.samples=[],e.dropped=0,P}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return 1152;case"ac3":return 1536;default:return 1024}}remuxAudio(e,t,i,r,a){let s,n=e.inputTimeScale,o=e.samplerate?e.samplerate:n,l=n/o,d=this.getSamplesPerFrame(e),h=d*l,u=this._initPTS,c="mp3"===e.segmentCodec&&this.typeSupported.mpeg,m=[],f=void 0!==a,p=e.samples,g=8*!c,v=this.nextAudioTs||-1,E=u.baseTime*n/u.timescale,y=E+t*n;if(this.isAudioContiguous=i=i||p.length&&v>0&&(r&&9e3>Math.abs(y-(v+E))||Math.abs(sY(p[0].pts,y)-(v+E))<20*h),p.forEach(function(e){e.pts=sY(e.pts,y)}),!i||v<0){let e=p.length;if(e!==(p=p.filter(e=>e.pts>=0)).length&&this.warn(`Removed ${p.length-e} of ${e} samples (initPTS ${E} / ${n})`),!p.length)return;v=0===a?0:r&&!f?Math.max(0,y-E):p[0].pts-E}if("aac"===e.segmentCodec){let t=this.config.maxAudioFramesDrift;for(let i=0,r=v+E;i<p.length;i++){let a=p[i],s=a.pts,o=s-r,l=Math.abs(1e3*o/n);if(o<=-t*h&&f)0===i&&(this.warn(`Audio frame @ ${(s/n).toFixed(3)}s overlaps marker by ${Math.round(1e3*o/n)} ms.`),this.nextAudioTs=v=s-E,r=s);else if(o>=t*h&&l<1e4&&f){let t=Math.round(o/h);for(r=s-t*h;r<0&&t&&h;)t--,r+=h;0===i&&(this.nextAudioTs=v=r-E),this.warn(`Injecting ${t} audio frames @ ${((r-E)/n).toFixed(3)}s due to ${Math.round(1e3*o/n)} ms gap.`);for(let s=0;s<t;s++){let t=sF.getSilentFrame(e.parsedCodec||e.manifestCodec||e.codec,e.channelCount);t||(this.log("Unable to get silent frame for given audio codec; duplicating last frame instead."),t=a.unit.subarray()),p.splice(i,0,{unit:t,pts:r}),r+=h,i++}}a.pts=r,r+=h}}let b=null,T=null,A=0,S=p.length;for(;S--;)A+=p[S].unit.byteLength;for(let t=0,r=p.length;t<r;t++){let r=p[t],a=r.unit,n=r.pts;if(null!==T)m[t-1].duration=Math.round((n-T)/l);else{if(i&&"aac"===e.segmentCodec&&(n=v+E),b=n,!(A>0))return;A+=g;try{s=new Uint8Array(A)}catch(e){this.observer.emit(tG.ERROR,tG.ERROR,{type:t$.MUX_ERROR,details:tH.REMUX_ALLOC_ER
6ROR,fatal:!1,error:e,bytes:A,reason:`fail allocating audio mdat ${A}`});return}c||(new DataView(s.buffer).setUint32(0,A),s.set(sB.types.mdat,4))}s.set(a,g);let o=a.byteLength;g+=o,m.push(sV(!0,d,o,0)),T=n}let k=m.length;if(!k)return;let R=m[m.length-1];v=T-E,this.nextAudioTs=v+l*R.duration;let L=c?new Uint8Array(0):sB.moof(e.sequenceNumber++,b/l,tZ({},e,{samples:m}));e.samples=[];let I=(b-E)/n,w=this.nextAudioTs/n,D={data1:L,data2:s,startPTS:I,endPTS:w,startDTS:I,endDTS:w,type:"audio",hasAudio:!0,hasVideo:!1,nb:k};return this.isAudioContiguous=!0,D}}function sY(e,t){let i;if(null===t)return e;for(i=t<e?-0x200000000:0x200000000;Math.abs(e-t)>0x100000000;)e+=i;return e}function sj(e,t,i,r){let a=e.samples.length;if(!a)return;let s=e.inputTimeScale;for(let n=0;n<a;n++){let a=e.samples[n];a.pts=sY(a.pts-i.baseTime*s/i.timescale,t*s)/s,a.dts=sY(a.dts-r.baseTime*s/r.timescale,t*s)/s}let n=e.samples;return e.samples=[],{samples:n}}function sQ(e,t,i){let r=e.samples.length;if(!r)return;let a=e.inputTimeScale;for(let s=0;s<r;s++){let r=e.samples[s];r.pts=sY(r.pts-i.baseTime*a/i.timescale,t*a)/a}e.samples.sort((e,t)=>e.pts-t.pts);let s=e.samples;return e.samples=[],{samples:s}}function sz(e,t,i=!1){return(null==e?void 0:e.start)!==void 0?(e.start+(i?e.duration:0))/e.timescale:t}function sX(e,t,i){let r=e.codec;return r&&r.length>4?r:t===is?"ec-3"===r||"ac-3"===r||"alac"===r?r:"fLaC"===r||"Opus"===r?iK(r,!1):(i.warn(`Unhandled audio codec "${r}" in mp4 MAP`),r||"mp4a"):(i.warn(`Unhandled video codec "${r}" in mp4 MAP`),r||"avc1")}try{t=self.performance.now.bind(self.performance)}catch(e){t=Date.now}let sZ=[{demux: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,r){let a=this.videoTrack=su("video",1),s=this.audioTrack=su("audio",1),n=this.txtTrack=su("text",1);if(this.id3Track=su("id3",1),this.timeOffset=0,!(null!=e&&e.byteLength))return;let o=i_(e);if(o.video){let{id:e,timescale:t,codec:i,supplemental:r}=o.video;a.id=e,a.timescale=n.timescale=t,a.codec=i,a.supplemental=r}if(o.audio){let{id:e,timescale:t,codec:i}=o.audio;s.id=e,s.timescale=t,s.codec=i}n.id=ip.text,a.sampleDuration=0,a.duration=s.duration=r}resetContiguity(){this.remainderData=null}static probe(e){let t=e.byteLength;for(let i=0;i<t;){let r=iE(e,i);if(r>8&&109===e[i+4]&&111===e[i+5]&&111===e[i+6]&&102===e[i+7])return!0;i=r>1?i+r:t}return!1}demux(e,t){this.timeOffset=t;let i=e,r=this.videoTrack,a=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=iw(this.remainderData,e));let t=function(e){let t={valid:null,remainder:null},i=iT(e,["moof"]);if(i.length<2)return t.remainder=e,t;let r=i[i.length-1];return t.valid=e.slice(0,r.byteOffset-8),t.remainder=e.slice(r.byteOffset-8),t}(i);this.remainderData=t.remainder,r.samples=t.valid||new Uint8Array}else r.samples=i;let s=this.extractID3Track(r,t);return a.samples=iD(t,r),{videoTrack:r,audioTrack:this.audioTrack,id3Track:s,textTrack:this.txtTrack}}flush(){let e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array,this.remainderData=null;let r=this.extractID3Track(t,this.timeOffset);return i.samples=iD(e,t),{videoTrack:t,audioTrack:su(),id3Track:r,textTrack:su()}}extractID3Track(e,t){let i=this.id3Track;return e.samples.length&&iT(e.samples,["emsg"]).forEach(e=>{let r=function(e){let t=e[0],i="",r="",a=0,s=0,n=0,o=0,l=0,d=0;if(0===t){for(;"\0"!==ig(e.subarray(d,d+1));)i+=ig(e.subarray(d,d+1)),d+=1;for(i+=ig(e.subarray(d,d+1)),d+=1;"\0"!==ig(e.subarray(d,d+1));)r+=ig(e.subarray(d,d+1)),d+=1;r+=ig(e.subarray(d,d+1)),d+=1,a=iE(e,12),s=iE(e,16),o=iE(e,20),l=iE(e,24),d=28}else if(1===t){d+=4,a=iE(e,d);let t=iE(e,d+=4),s=iE(e,d+=4);for(d+=4,tF(n=0x100000000*t+s)||(n=Number.MAX_SAFE_INTEGER,t8.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),o=iE(e,d),d+=4,l=iE(e,d),d+=4;"\0"!==ig(e.subarray(d,d+1));)i+=ig(e.subarray(d,d+1)),d+=1;for(i+=ig(e.subarray(d,d+1)),d+=1;"\0"!==ig(e.subarray(d,d+1));)r+=ig(e.subarray(d,d+1)),d+=1;r+=ig(e.subarray(d,d+1)),d+=1}return{schemeIdUri:i,value:r,timeScale:a,presentationTime:n,presentationTimeDelta:s,eventDuration:o,id:l,payload:e.subarray(d,e.byteLength)}}(e);if(sR.test(r.schemeIdUri)){let e=sL(r,t),a=0xffffffff===r.eventDuration?1/0:r.eventDuration/r.timeScale;a<=.001&&(a=1/0);let s=r.payload;i.samples.push({data:s,len:s.byteLength,dts:e,pts:e,type:sh.emsg,duration:a})}else if(this.config.enableEmsgKLVMetadata&&r.schemeIdUri.startsWith("urn:misb:KLV:bin:1910.1")){let e=sL(r,t);i.samples.push({data:r.payload,len:r.payload.byteLength,dts:e,pts:e,type:sh.misbklv,duration:1/0})}}),i}demuxSampleAes(e,t,i){return Promise.reject(Error("The MP4 demuxer does not support SAMPLE-AES decryption"))}destroy(){this.config=null,this.remainderData=null,this.videoTrack=this.audioTrack=this.id3Track=this.txtTrack=void 0}},remux:class extends t1{constructor(e,t,i,r){super("passthrough-remuxer",r),this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null,this.isVideoContiguous=!1}destroy(){}resetTimeStamp(e){this.lastEndTime=null;let t=this.initPTS;t&&e&&t.baseTime===e.baseTime&&t.timescale===e.timescale||(this.initPTS=e)}resetNextTimestamp(){this.isVideoContiguous=!1,this.lastEndTime=null}resetInitSegment(e,t,i,r){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(e,r),this.emitInitSegment=!0}generateInitSegment(e,t){let{audioCodec:i,videoCodec:r}=this;if(!(null!=e&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return}let{audio:a,video:s}=this.initData=i_(e);if(t)!function(e,t){if(!e||!t)return;let i=t.keyId;i&&t.isCommonEncryption&&iL(e,(e,t)=>{let r=e.subarray(8,24);r.some(e=>0!==e)||(t8.log(`[eme] Patching keyId in 'enc${t?"a":"v"}>sinf>>tenc' box: ${ie(r)} -> ${ie(i)}`),e.set(i,8))})}(e,t);else{let e=a||s;null!=e&&e.encrypted&&this.warn(`Init segment with encrypted track with has no key ("${e.codec}")!`)}a&&(i=sX(a,is,this)),s&&(r=sX(s,io,this));let n={};a&&s?n.audiovideo={container:"video/mp4",codec:i+","+r,supplemental:s.supplemental,encrypted:s.encrypted,initSegment:e,id:"main"}:a?n.audio={container:"audio/mp4",codec:i,encrypted:a.encrypted,initSegment:e,id:"audio"}:s?n.video={container:"video/mp4",codec:r,supplemental:s.supplemental,encrypted:s.encrypted,initSegment:e,id:"main"}:this.warn("initSegment does not contain moov or trak boxes."),this.initTracks=n}remux(e,t,i,r,a,s){var n,o;let{initPTS:l,lastEndTime:d}=this,h={audio:void 0,video:void 0,text:r,id3:i,initSegment:void 0};tU(d)||(d=this.lastEndTime=a||0);let u=t.samples;if(!u.length)return h;let c={initPTS:void 0,timescale:void 0,trackId:void 0},m=this.initData;if(null!=(n=m)&&n.length||(this.generateInitSegment(u),m=this.initData),!(null!=(o=m)&&o.length))return this.warn("Failed to generate initSegment."),h;this.emitInitSegment&&(c.tracks=this.initTracks,this.emitInitSegment=!1);let f=function(e,t,i){let r={},a=iT(e,["moof","traf"]);for(let e=0;e<a.length;e++){let s=a[e],n=iT(s,["tfhd"])[0],o=iE(n,4),l=t[o];if(!l)continue;r[o]||(r[o]={start:NaN,duration:0,sampleCount:0,timescale:l.timescale,type:l.type});let d=r[o],h=iT(s,["tfdt"])[0];if(h){let e=h[0],t=iE(h,4);1===e&&(0xffffffff===t?i.warn("[mp4-demuxer]: Ignoring assumed invali
6d signed 64-bit track fragment decode time"):(t*=0x100000000,t+=iE(h,8))),tU(t)&&(!tU(d.start)||t<d.start)&&(d.start=t)}let u=l.default,c=iE(n,0)|(null==u?void 0:u.flags),m=(null==u?void 0:u.duration)||0;8&c&&(m=2&c?iE(n,12):iE(n,8));let f=iT(s,["trun"]),p=d.start||0,g=0,v=m;for(let e=0;e<f.length;e++){let t=f[e],i=iE(t,4),r=d.sampleCount;d.sampleCount+=i;let a=1&t[3],s=4&t[3],n=1&t[2],o=2&t[2],l=4&t[2],h=8&t[2],u=8,c=i;for(a&&(u+=4),s&&i&&(1&t[u+1]||void 0!==d.keyFrameIndex||(d.keyFrameIndex=r),u+=4,n?(v=iE(t,u),u+=4):v=m,o&&(u+=4),h&&(u+=4),p+=v,g+=v,c--);c--;)n?(v=iE(t,u),u+=4):v=m,o&&(u+=4),l&&(1&t[u+1]||void 0!==d.keyFrameIndex||(d.keyFrameIndex=d.sampleCount-(c+1),d.keyFrameStart=p),u+=4),h&&(u+=4),p+=v,g+=v;!g&&m&&(g+=m*i)}d.duration+=g}if(!Object.keys(r).some(e=>r[e].duration)){let t=1/0,i=0,a=iT(e,["sidx"]);for(let e=0;e<a.length;e++){let r=function(e){let t=[],i=e[0],r=8,a=iE(e,8);r+=4;let s=0,n=0;0===i?(s=iE(e,r),n=iE(e,r+4),r+=8):(s=iy(e,r),n=iy(e,r+8),r+=16),r+=2;let o=e.length+n,l=iv(e,r);r+=2;for(let i=0;i<l;i++){let i=r,s=iE(e,i);i+=4;let n=0x7fffffff&s;if(1==(0x80000000&s)>>>31)return t8.warn("SIDX has hierarchical references (not supported)"),null;let l=iE(e,i);i+=4,t.push({referenceSize:n,subsegmentDuration:l,info:{duration:l/a,start:o,end:o+n-1}}),o+=n,i+=4,r=i}return{earliestPresentationTime:s,timescale:a,version:i,referencesCount:l,references:t}}(a[e]);if(null!=r&&r.references){t=Math.min(t,r.earliestPresentationTime/r.timescale);let e=r.references.reduce((e,t)=>e+t.info.duration||0,0);i=Math.max(i,e+r.earliestPresentationTime/r.timescale)}}i&&tU(i)&&Object.keys(r).forEach(e=>{r[e].duration||(r[e].duration=i*r[e].timescale-r[e].start)})}return r}(u,m,this),p=m.audio?f[m.audio.id]:null,g=m.video?f[m.video.id]:null,v=sz(g,1/0),E=sz(p,1/0),y=sz(g,0,!0),b=sz(p,0,!0),T=a,A=0,S=p&&(!g||!l&&E<v||l&&l.trackId===m.audio.id),k=S?p:g;if(k){let e=k.timescale,t=k.start-a*e,i=S?m.audio.id:m.video.id;T=k.start/e,A=S?b-E:y-v,(s||!l)&&(function(e,t,i,r){if(null===e)return!0;let a=Math.max(r,1);return Math.abs(t-e.baseTime/e.timescale-i)>a}(l,T,a,A)||e!==l.timescale)&&(l&&this.warn(`Timestamps at playlist time: ${s?"":"~"}${a} ${t/e} != initPTS: ${l.baseTime/l.timescale} (${l.baseTime}/${l.timescale}) trackId: ${l.trackId}`),this.log(`Found initPTS at playlist time: ${a} offset: ${T-a} (${t}/${e}) trackId: ${i}`),l=null,c.initPTS=t,c.timescale=e,c.trackId=i)}else this.warn(`No audio or video samples found for initPTS at playlist time: ${a}`);l?(c.initPTS=l.baseTime,c.timescale=l.timescale,c.trackId=l.trackId):(c.timescale&&void 0!==c.trackId&&void 0!==c.initPTS||(this.warn("Could not set initPTS"),c.initPTS=T,c.timescale=1,c.trackId=-1),this.initPTS=l={baseTime:c.initPTS,timescale:c.timescale,trackId:c.trackId});let R=T-l.baseTime/l.timescale,L=R+A;A>0?this.lastEndTime=L:(this.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let I=!!m.audio,w=!!m.video,D="";I&&(D+="audio"),w&&(D+="video");let C={data1:u,startPTS:R,startDTS:R,endPTS:L,endDTS:L,type:D,hasAudio:I,hasVideo:w,nb:1,dropped:0,encrypted:!!m.audio&&m.audio.encrypted||!!m.video&&m.video.encrypted};h.audio=I&&!w?C:void 0,h.video=w?C:void 0;let M=null==g?void 0:g.sampleCount;if(M){let e=g.keyFrameIndex,t=-1!==e;C.nb=M,C.dropped=0===e||this.isVideoContiguous?0:t?e:M,C.independent=t,C.firstKeyFrame=e,t&&g.keyFrameStart&&(C.firstKeyFramePTS=(g.keyFrameStart-l.baseTime)/l.timescale),this.isVideoContiguous||(h.independent=t),this.isVideoContiguous||(this.isVideoContiguous=t),C.dropped&&this.warn(`fmp4 does not start with IDR: firstIDR ${e}/${M} dropped: ${C.dropped} start: ${C.firstKeyFramePTS||"NA"}`)}return h.initSegment=c,h.id3=sj(i,a,l,l),r.samples.length&&(h.text=sQ(r,a,l)),h}}},{demux:sx,remux:sq},{demux:class extends sc{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t}resetInitSegment(e,t,i,r){super.resetInitSegment(e,t,i,r),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}static probe(e,t){if(!e)return!1;let i=a7(e,0),r=(null==i?void 0:i.length)||0;if(sA(e,r))return!1;for(let i=e.length;r<i;r++)if(function(e,t){if(sr(e,t)){let i=st(e,t);if(t+i>=e.length)return!1;let r=si(e,t);if(r<=i)return!1;let a=t+r;return a===e.length||sr(e,a)}return!1}(e,r))return t.log("ADTS sync word found !"),!0;return!1}canParse(e,t){return t+5<e.length&&se(e,t)&&si(e,t)<=e.length-t}appendFrame(e,t,i){sa(e,this.observer,t,i,e.manifestCodec);let r=ss(e,t,i,this.basePTS,this.frameIndex);if(r&&0===r.missing)return r}},remux:sq},{demux:class extends sc{resetInitSegment(e,t,i,r){super.resetInitSegment(e,t,i,r),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}static probe(e){if(!e)return!1;let t=a7(e,0),i=(null==t?void 0:t.length)||0;
6if(t&&11===e[i]&&119===e[i+1]&&void 0!==sd(t)&&16>=sS(e,i))return!1;for(let t=e.length;i<t;i++)if(sA(e,i))return t8.log("MPEG Audio sync word found !"),!0;return!1}canParse(e,t){return sT(e,t)&&4<=e.length-t}appendFrame(e,t,i){if(null!==this.basePTS)return sy(e,t,i,this.basePTS,this.frameIndex)}},remux:sq}];sZ.splice(2,0,{demux:class extends sc{constructor(e){super(),this.observer=void 0,this.observer=e}resetInitSegment(e,t,i,r){super.resetInitSegment(e,t,i,r),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:r,inputTimeScale:9e4,dropped:0}}canParse(e,t){return t+64<e.length}appendFrame(e,t,i){let r=sk(e,t,i,this.basePTS,this.frameIndex);if(-1!==r)return{sample:e.samples[e.samples.length-1],length:r,missing:0}}static probe(e){if(!e)return!1;let t=a7(e,0);if(!t)return!1;let i=t.length;return!!(11===e[i]&&119===e[i+1]&&void 0!==sd(t)&&16>sS(e,i))}},remux:sq});class sJ{constructor(e,t,i,r,a,s){this.asyncResult=!1,this.logger=void 0,this.observer=void 0,this.typeSupported=void 0,this.config=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.id=a,this.logger=s}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset()}push(e,i,r,a){var s,n;let o,l=r.transmuxing;l.executeStart=t();let d=new Uint8Array(e),{currentTransmuxState:h,transmuxConfig:u}=this;a&&(this.currentTransmuxState=a);let{contiguous:c,discontinuity:m,trackSwitch:f,accurateTimeOffset:p,timeOffset:g,initSegmentChange:v}=a||h,{audioCodec:E,videoCodec:y,defaultInitPts:b,duration:T,initSegmentData:A}=u,S=(s=d,n=i,o=null,s.byteLength>0&&(null==n?void 0:n.key)!=null&&null!==n.iv&&null!=n.method&&(o=n),o);if(S&&rY(S.method)){let e=this.getDecrypter(),i=rj(S.method);if(!e.isSync())return this.asyncResult=!0,this.decryptionPromise=e.webCryptoDecrypt(d,S.key.buffer,S.iv.buffer,i).then(e=>{let t=this.push(e,null,r);return this.decryptionPromise=null,t}),this.decryptionPromise;{let a=e.softwareDecrypt(d,S.key.buffer,S.iv.buffer,i);if(r.part>-1){let t=e.flush();a=t?t.buffer:t}if(!a)return l.executeEnd=t(),s0(r);d=new Uint8Array(a)}}let k=this.needsProbing(m,f);if(k){let e=this.configureTransmuxer(d);if(e)return this.logger.warn(`[transmuxer] ${e.message}`),this.observer.emit(tG.ERROR,tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.FRAG_PARSING_ERROR,fatal:!1,error:e,reason:e.message}),l.executeEnd=t(),s0(r)}(m||f||v||k)&&this.resetInitSegment(A,E,y,T,i),(m||v||k)&&this.resetInitialTimestamp(b),c||this.resetContiguity();let R=this.transmux(d,S,g,p,r);this.asyncResult=s1(R);let L=this.currentTransmuxState;return L.contiguous=!0,L.discontinuity=!1,L.trackSwitch=!1,l.executeEnd=t(),R}flush(e){let i=e.transmuxing;i.executeStart=t();let{decrypter:r,currentTransmuxState:a,decryptionPromise:s}=this;if(s)return this.asyncResult=!0,s.then(()=>this.flush(e));let n=[],{timeOffset:o}=a;if(r){let t=r.flush();t&&n.push(this.push(t.buffer,null,e))}let{demuxer:l,remuxer:d}=this;if(!l||!d){i.executeEnd=t();let r=[s0(e)];return this.asyncResult?Promise.resolve(r):r}let h=l.flush(o);return s1(h)?(this.asyncResult=!0,h.then(t=>(this.flushRemux(n,t,e),n))):(this.flushRemux(n,h,e),this.asyncResult)?Promise.resolve(n):n}flushRemux(e,i,r){let{audioTrack:a,videoTrack:s,id3Track:n,textTrack:o}=i,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;this.logger.log(`[transmuxer.ts]: Flushed ${this.id} sn: ${r.sn}${r.part>-1?" part: "+r.part:""} of ${this.id===tY?"level":"track"} ${r.level}`);let h=this.remuxer.remux(a,s,n,o,d,l,!0,this.id);e.push({remuxResult:h,chunkMeta:r}),r.transmuxing.executeEnd=t()}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,r,a){let{demuxer:s,remuxer:n}=this;s&&n&&(s.resetInitSegment(e,t,i,r),n.resetInitSegment(e,t,i,a))}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0)}transmux(e,t,i,r,a){return t&&"SAMPLE-AES"===t.method?this.transmuxSampleAes(e,t,i,r,a):this.transmuxUnencrypted(e,i,r,a)}transmuxUnencrypted(e,t,i,r){let{audioTrack:a,videoTrack:s,id3Track:n,textTrack:o}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(a,s,n,o,t,i,!1,this.id),chunkMeta:r}}transmuxSampleAes(e,t,i,r,a){return this.demuxer.demuxSampleAes(e,t,i).then(e=>({remuxResult:this.remuxer.remux(e.audioTrack,e.videoTrack,e.id3Track,e.textTrack,i,r,!1,this.id),chunkMeta:a}))}
6configureTransmuxer(e){let t,{config:i,observer:r,typeSupported:a}=this;for(let i=0,r=sZ.length;i<r;i++){var s;if(null!=(s=sZ[i].demux)&&s.probe(e,this.logger)){t=sZ[i];break}}if(!t)return Error("Failed to find demuxer by probing fragment data");let n=this.demuxer,o=this.remuxer,l=t.remux,d=t.demux;o&&o instanceof l||(this.remuxer=new l(r,i,a,this.logger)),n&&n instanceof d||(this.demuxer=new d(r,i,a,this.logger),this.probe=d.probe)}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new rL(this.config)),e}}let s0=e=>({remuxResult:{},chunkMeta:e});function s1(e){return"then"in e&&e.then instanceof Function}class s2{constructor(e,t,i,r,a){this.audioCodec=void 0,this.videoCodec=void 0,this.initSegmentData=void 0,this.duration=void 0,this.defaultInitPts=void 0,this.audioCodec=e,this.videoCodec=t,this.initSegmentData=i,this.duration=r,this.defaultInitPts=a||null}}class s3{constructor(e,t,i,r,a,s){this.discontinuity=void 0,this.contiguous=void 0,this.accurateTimeOffset=void 0,this.trackSwitch=void 0,this.timeOffset=void 0,this.initSegmentChange=void 0,this.discontinuity=e,this.contiguous=t,this.accurateTimeOffset=i,this.trackSwitch=r,this.timeOffset=a,this.initSegmentChange=s}}let s4=0;class s5{constructor(e,t,i,r){this.error=null,this.hls=void 0,this.id=void 0,this.instanceNo=s4++,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0,this.onWorkerMessage=e=>{let t=e.data,i=this.hls;if(i&&null!=t&&t.event&&t.instanceNo===this.instanceNo)switch(t.event){case"init":{var r;let e=null==(r=this.workerContext)?void 0:r.objectURL;e&&self.URL.revokeObjectURL(e);break}case"transmuxComplete":this.handleTransmuxComplete(t.data);break;case"flush":this.onFlush(t.data);break;case"workerLog":i.logger[t.data.logType]&&i.logger[t.data.logType](t.data.message);break;default:t.data=t.data||{},t.data.frag=this.frag,t.data.part=this.part,t.data.id=this.id,i.trigger(t.event,t.data)}},this.onWorkerError=e=>{if(!this.hls)return;let t=Error(`${e.message} (${e.filename}:${e.lineno})`);this.hls.config.enableWorker=!1,this.hls.logger.warn(`Error in "${this.id}" Web Worker, fallback to inline`),this.hls.trigger(tG.ERROR,{type:t$.OTHER_ERROR,details:tH.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:t})};const a=e.config;this.hls=e,this.id=t,this.useWorker=!!a.enableWorker,this.onTransmuxComplete=i,this.onFlush=r;const s=(e,t)=>{(t=t||{}).frag=this.frag||void 0,e===tG.ERROR&&(t.parent=this.id,t.part=this.part,this.error=t.error),this.hls.trigger(e,t)};this.observer=new a3,this.observer.on(tG.FRAG_DECRYPTED,s),this.observer.on(tG.ERROR,s);const n=iq(a.preferManagedMediaSource);if(this.useWorker&&"u">typeof Worker){const i=this.hls.logger;if(a.workerPath||"function"==typeof __HLS_WORKER_BUNDLE__){try{a.workerPath?(i.log(`loading Web Worker ${a.workerPath} for "${t}"`),this.workerContext=function(e){let t=a5[e];if(t)return t.clientCount++,t;let i=new self.URL(e,self.location.href).href,r={worker:new self.Worker(i),scriptURL:i,clientCount:1};return a5[e]=r,r}(a.workerPath)):(i.log(`injecting Web Worker for "${t}"`),this.workerContext=function(){let e=a5[a4];if(e)return e.clientCount++,e;let t=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),i=self.URL.createObjectURL(t),r={worker:new self.Worker(i),objectURL:i,clientCount:1};return a5[a4]=r,r}());const{worker:e}=this.workerContext;e.addEventListener("message",this.onWorkerMessage),e.addEventListener("error",this.onWorkerError),e.postMessage({instanceNo:this.instanceNo,cmd:"init",typeSupported:n,id:t,config:i5(a)})}catch(r){i.warn(`Error setting up "${t}" Web Worker, fallback to inline`,r),this.terminateWorker(),this.error=null,this.transmuxer=new sJ(this.observer,n,a,"",t,e.logger)}return}}this.transmuxer=new sJ(this.observer,n,a,"",t,e.logger)}reset(){if(this.frag=null,this.part=null,this.workerContext){let e=this.instanceNo;this.instanceNo=s4++;let t=this.hls.config,i=iq(t.preferManagedMediaSource);this.workerContext.worker.postMessage({instanceNo:this.instanceNo,cmd:"reset",resetNo:e,typeSupp
6orted:i,id:this.id,config:i5(t)})}}terminateWorker(){if(this.workerContext){let{worker:e}=this.workerContext;this.workerContext=null,e.removeEventListener("message",this.onWorkerMessage),e.removeEventListener("error",this.onWorkerError),function(e){let t=a5[e||a4];if(t&&1==t.clientCount--){let{worker:i,objectURL:r}=t;delete a5[e||a4],r&&self.URL.revokeObjectURL(r),i.terminate()}}(this.hls.config.workerPath)}}destroy(){if(this.workerContext)this.terminateWorker(),this.onWorkerMessage=this.onWorkerError=null;else{let e=this.transmuxer;e&&(e.destroy(),this.transmuxer=null)}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.part=null,this.observer=null,this.hls=null}push(e,t,i,r,a,s,n,o,l,d){var h,u;l.transmuxing.start=self.performance.now();let{instanceNo:c,transmuxer:m}=this,f=s?s.start:a.start,p=a.decryptdata,g=this.frag,v=!(g&&a.cc===g.cc),E=!(g&&l.level===g.level),y=g?l.sn-g.sn:-1,b=this.part?l.part-this.part.index:-1,T=0===y&&l.id>1&&l.id===(null==g?void 0:g.stats.chunkCount),A=!E&&(1===y||0===y&&(1===b||T&&b<=0)),S=self.performance.now();(E||y||0===a.stats.parsing.start)&&(a.stats.parsing.start=S),s&&(b||!A)&&(s.stats.parsing.start=S);let k=!(g&&(null==(h=a.initSegment)?void 0:h.url)===(null==(u=g.initSegment)?void 0:u.url)),R=new s3(v,A,o,E,f,k);if(!A||v||k){this.hls.logger.log(`[transmuxer-interface]: Starting new transmux session for ${a.type} sn: ${l.sn}${l.part>-1?" part: "+l.part:""} ${this.id===tY?"level":"track"}: ${l.level} id: ${l.id} 7 discontinuity: ${v} 8 trackSwitch: ${E} 9 contiguous: ${A} 10 accurateTimeOffset: ${o} 11 timeOffset: ${f} 12 initSegmentChange: ${k}`);let e=new s2(i,r,t,n,d);this.configureTransmuxer(e)}if(this.frag=a,this.part=s,this.workerContext)this.workerContext.worker.postMessage({instanceNo:c,cmd:"demux",data:e,decryptdata:p,chunkMeta:l,state:R},e instanceof ArrayBuffer?[e]:[]);else if(m){let t=m.push(e,p,l,R);s1(t)?t.then(e=>{this.handleTransmuxComplete(e)}).catch(e=>{this.transmuxerError(e,l,"transmuxer-interface push error")}):this.handleTransmuxComplete(t)}}flush(e){e.transmuxing.start=self.performance.now();let{instanceNo:t,transmuxer:i}=this;if(this.workerContext)this.workerContext.worker.postMessage({instanceNo:t,cmd:"flush",chunkMeta:e});else if(i){let t=i.flush(e);s1(t)?t.then(t=>{this.handleFlushResult(t,e)}).catch(t=>{this.transmuxerError(t,e,"transmuxer-interface flush error")}):this.handleFlushResult(t,e)}}transmuxerError(e,t,i){this.hls&&(this.error=e,this.hls.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,part:this.part||void 0,fatal:!1,error:e,err:e,reason:i}))}handleFlushResult(e,t){e.forEach(e=>{this.handleTransmuxComplete(e)}),this.onFlush(t)}configureTransmuxer(e){let{instanceNo:t,transmuxer:i}=this;this.workerContext?this.workerContext.worker.postMessage({instanceNo:t,cmd:"configure",config:e}):i&&i.configure(e)}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e)}}class s8 extends t1{constructor(e,t){super(t,e.logger),this.hls=void 0,this.canLoad=!1,this.timer=-1,this.hls=e}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null}clearTimer(){-1!==this.timer&&(self.clearTimeout(this.timer),this.timer=-1)}startLoad(){this.canLoad=!0,this.loadPlaylist()}stopLoad(){this.canLoad=!1,this.clearTimer()}switchParams(e,t,i){let r=null==t?void 0:t.renditionReports;if(r){let a=-1;for(let i=0;i<r.length;i++){let s,n=r[i];try{s=new self.URL(n.URI,t.url).href}catch(e){this.warn(`Could not construct new URL for Rendition Report: ${e}`),s=n.URI||""}if(s===e){a=i;break}s===e.substring(0,s.length)&&(a=i)}if(-1!==a){let e=r[a],s=parseInt(e["LAST-MSN"])||t.lastPartSn,n=parseInt(e["LAST-PART"])||t.lastPartIndex;if(this.hls.config.lowLatencyMode){let e=Math.min(t.age-t.partTarget,t.targetduration);n>=0&&e>t.partTarget&&(n+=1)}return new i2(s,n>=0?n:void 0,i&&i1(i))}}}loadPlaylist(e){this.clearTimer()}loadingPlaylist(e,t){this.clearTimer()}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live)}getUrlWithDirectives(e,t){if(t)try{return t.addDirectives(e)}catch(e){this.warn(`Could not construct new URL with HLS Delivery Directives: ${e}`)}return e}playlistLoaded(e,t,i){let{details:r,stats:a}=t,s=self.performance.now(),n=a.loading.first?Math.max(0,s-a.loading.first):0;r.advancedDateTime=Date.now()-n;let o=this.hls.config.timelineOffset;
12if(o!==r.appliedTimelineOffset){let e=Math.max(o||0,0);r.appliedTimelineOffset=e,r.fragments.forEach(t=>{t.setStart(t.playlistOffset+e)})}if(r.live||null!=i&&i.live){let o,d,h,u="levelInfo"in t?t.levelInfo:t.track;if(r.reloaded(i),i&&r.fragments.length>0){!function(e,t,i){let r;if(e===t)return;let a=null,s=e.fragments;for(let e=s.length-1;e>=0;e--){let t=s[e].initSegment;if(t){a=t;break}}e.fragmentHint&&delete e.fragmentHint.endPTS,function(e,t,i){let r=t.skippedSegments,a=Math.max(e.startSN,t.startSN)-t.startSN,s=+!!e.fragmentHint+(r?t.endSN:Math.min(e.endSN,t.endSN))-t.startSN,n=t.startSN-e.startSN,o=t.fragmentHint?t.fragments.concat(t.fragmentHint):t.fragments,l=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments;for(let u=a;u<=s;u++){let a=l[n+u],s=o[u];if(r&&!s&&a&&(s=t.fragments[u]=a),a&&s){var d,h;i(a,s,u,o);let r=a.relurl,n=s.relurl;if(r&&(d=r)!==(h=n)&&h&&aM(d)!==aM(h)){t.playlistParsingError=aS(`media sequence mismatch ${s.sn}:`,e,t,a,s);return}if(a.cc!==s.cc){t.playlistParsingError=aS(`discontinuity sequence mismatch (${a.cc}!=${s.cc})`,e,t,a,s);return}}}}(e,t,(e,i,s,n)=>{if((!t.startCC||t.skippedSegments)&&i.cc!==e.cc){let r=e.cc-i.cc;for(let e=s;e<n.length;e++)n[e].cc+=r;t.endCC=n[n.length-1].cc}tU(e.startPTS)&&tU(e.endPTS)&&(i.setStart(i.startPTS=e.startPTS),i.startDTS=e.startDTS,i.maxStartPTS=e.maxStartPTS,i.endPTS=e.endPTS,i.endDTS=e.endDTS,i.minEndPTS=e.minEndPTS,i.setDuration(e.endPTS-e.startPTS),i.duration&&(r=i),t.PTSKnown=t.alignedSliding=!0),e.hasStream
12s&&(i.elementaryStreams=e.elementaryStreams),i.loader=e.loader,e.hasStats&&(i.stats=e.stats),e.initSegment&&(i.initSegment=e.initSegment,a=e.initSegment)});let n=t.fragments,o=t.fragmentHint?n.concat(t.fragmentHint):n;if(a&&o.forEach(e=>{var t;e&&(!e.initSegment||e.initSegment.relurl===(null==(t=a)?void 0:t.relurl))&&(e.initSegment=a)}),t.skippedSegments){if(t.deltaUpdateFailed=n.some(e=>!e),t.deltaUpdateFailed){i.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let e=t.skippedSegments;e--;)n.shift();t.startSN=n[0].sn}else{t.canSkipDateRanges&&(t.dateRanges=function(e,t,i){let{dateRanges:r,recentlyRemovedDateranges:a}=t,s=tZ({},e);a&&a.forEach(e=>{delete s[e]});let n=Object.keys(s).length;return n?(Object.keys(r).forEach(e=>{let t=s[e],a=new rK(r[e].attr,t);a.isValid?(s[e]=a,t||(a.tagOrder+=n)):i.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${i5(r[e].attr)}"`)}),s):r}(e.dateRanges,t,i));let r=e.fragments.filter(e=>e.rawProgramDateTime);if(e.hasProgramDateTime&&!t.hasProgramDateTime)for(let e=1;e<o.length;e++)null===o[e].programDateTime&&av(o[e],o[e-1],r);ac(r,t)}t.endCC=n[n.length-1].cc}if(!t.startCC){var l;let i=aI(e,t.startSN-1);t.startCC=null!=(l=null==i?void 0:i.cc)?l:n[0].cc}(function(e,t,i){if(e&&t){let r=0;for(let a=0,s=e.length;a<=s;a++){let s=e[a],n=t[a+r];s&&n&&s.index===n.index&&s.fragment.sn===n.fragment.sn?i(s,n):r--}}})(e.partList,t.partList,(e,t)=>{t.elementaryStreams=e.elementaryStreams,t.stats=e.stats}),r?aA(t,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS,i):ak(e,t),n.length&&(t.totalduration=t.edge-n[0].start),t.driftStartTime=e.driftStartTime,t.driftStart=e.driftStart;let d=t.advancedDateTime;if(t.advanced&&d){let e=t.edge;t.driftStart||(t.driftStartTime=d,t.driftStart=e),t.driftEndTime=d,t.driftEnd=e}else t.driftEndTime=e.driftEndTime,t.driftEnd=e.driftEnd,t.advancedDateTime=e.advancedDateTime;-1===t.requestScheduled&&(t.requestScheduled=e.requestScheduled)}(i,r,this);let e=r.playlistParsingError;if(e){this.warn(e);let i=this.hls;if(!i.config.ignorePlaylistParsingErrors){var l;let{networkDetails:s}=t;i.trigger(tG.ERROR,{type:t$.NETWORK_ERROR,details:tH.LEVEL_PARSING_ERROR,fatal:!1,url:r.url,error:e,reason:e.message,level:t.level||void 0,parent:null==(l=r.fragments[0])?void 0:l.type,networkDetails:s,stats:a});return}r.playlistParsingError=null}}-1===r.requestScheduled&&(r.requestScheduled=a.loading.start);let c=this.hls.mainForwardBufferInfo,m=c?c.end-c.len:0,f=(r.edge-m)*1e3,p=aL(r,f);if(r.requestScheduled+p<s?r.requestScheduled=s:r.requestScheduled+=p,this.log(`live playlist ${e} ${r.advanced?"REFRESHED "+r.lastPartSn+"-"+r.lastPartIndex:r.updated?"UPDATED":"MISSED"}`),!this.canLoad||!r.live)return;if(r.canBlockReload&&r.endSN&&r.advanced){let e=this.hls.config.lowLatencyMode,a=r.lastPartSn,n=r.endSN,l=r.lastPartIndex,c=a===n;-1!==l?c?(d=n+1,h=e?0:l):(d=a,h=e?l+1:r.maxPartIndex):d=n+1;let m=r.age,f=m+r.ageHeader,p=Math.min(f-r.partTarget,1.5*r.targetduration);if(p>0){if(f>3*r.targetduration)this.log(`Playlist last advanced ${m.toFixed(2)}s ago. Omitting segment and part directives.`),d=void 0,h=void 0;else if(null!=i&&i.tuneInGoal&&f-r.partTarget>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${p} with playlist age: ${r.age}`),p=0;else{let e=Math.floor(p/r.targetduration);d+=e,void 0!==h&&(h+=Math.round(p%r.targetduration/r.partTarget)),this.log(`CDN Tune-in age: ${r.ageHeader}s last advanced ${m.toFixed(2)}s goal: ${p} skip sn ${e} to part ${h}`)}r.tuneInGoal=p}if(o=this.getDeliveryDirectives(r,t.deliveryDirectives,d,h),e||!c){r.requestScheduled=s,this.loadingPlaylist(u,o);return}}else(r.canBlockReload||r.canSkipUntil)&&(o=this.getDeliveryDirectives(r,t.deliveryDirectives,d,h));o&&void 0!==d&&r.canBlockReload&&(r.requestScheduled=a.loading.first+Math.max(p-2*n,p/2)),this.scheduleLoading(u,o,r)}else this.clearTimer()}scheduleLoading(e,t,i){let r=i||e.details;if(!r)return void this.loadingPlaylist(e,t);let a=self.performance.now(),s=r.requestScheduled;if(a>=s)return void this.loadingPlaylist(e,t);let n=s-a;this.log(`reload live playlist ${e.name||e.bitrate+"bps"} in ${Math.round(n)} ms`),this.clearTimer(),this.timer=self.setTimeout(()=>this.loadingPlaylist(e,t),n)}getDeliveryDirectives(e,t,i,r){let a=i1(e);return null!=t&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,r=t.part,a=""),new i2(i,r,a)}checkRetry(e){let t=e.details,i=rl(e),r=e.errorAction,{action:a,retryCount:s=0,retryConfig:n}=r||{},o=!!r&&!!n&&(5===a||!r.resolved&&2===a);if(o){var l;if(s>=n.maxNumRetry)return!1;if(i&&null!=(l=e.context)&&l.deliveryDirectives)this.warn(`Retrying playlist loading ${s+1}/${n.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let e=rc(n,s);this.clearTimer(),this.timer=self.setTimeout(()=>this.loadPlaylist(),e),this.warn(`Retrying playlist loading ${s+1}/${n.maxNumRetry} after "${t}" in ${e}ms`)}e.levelRetry=!0,r.resolved=!0}return o}}function s9(e,t){if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!s6(e[i].attrs,t[i].attrs))return!1;return!0}function s6(e,t,i){let r=e["STABLE-RENDITION-ID"];return r&&!i?r===t["STABLE-RENDITION-ID"]:!(i||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(i=>e[i]!==t[i])}function s7(e,t){return t.label.toLowerCase()===e.name.toLowerCase()&&(!t.language||t.language.toLowerCase()===(e.lang||"").toLowerCase())}class ne{constructor(e){this.tracks=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.tracks=e}destroy(){this.tracks=this.queues=null}append(e,t,i){if(null===this.queues||null===this.tracks)return;let r=this.queues[t];r.push(e),1!==r.length||i||this.executeNext(t)}appendBlocker(e){return new Promise(t=>{this.append({label:"async-blocker",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}},e)})}prependBlocker(e){return new Promise(t=>{this.queues&&this.queues[e].unshift({label:"async-blocker-prepend",execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}})})}removeBlockers(){null!==this.queues&&[this.queues.video,this.queues.audio,this.queues.audiovideo].forEac
12h(e=>{var t;let i=null==(t=e[0])?void 0:t.label;("async-blocker"===i||"async-blocker-prepend"===i)&&(e[0].execute(),e.splice(0,1))})}unblockAudio(e){null===this.queues||this.queues.audio[0]===e&&this.shiftAndExecuteNext("audio")}executeNext(e){if(null===this.queues||null===this.tracks)return;let t=this.queues[e];if(t.length){let r=t[0];try{r.execute()}catch(a){var i;if(r.onError(a),null===this.queues||null===this.tracks)return;let t=null==(i=this.tracks[e])?void 0:i.buffer;null!=t&&t.updating||this.shiftAndExecuteNext(e)}}}shiftAndExecuteNext(e){null!==this.queues&&(this.queues[e].shift(),this.executeNext(e))}current(e){var t;return(null==(t=this.queues)?void 0:t[e][0])||null}toString(){let{queues:e,tracks:t}=this;return null===e||null===t?"<destroyed>":` 13${this.list("video")} 14${this.list("audio")} 15${this.list("audiovideo")}}`}list(e){var t,i;return null!=(t=this.queues)&&t[e]||null!=(i=this.tracks)&&i[e]?`${e}: (${this.listSbInfo(e)}) ${this.listOps(e)}`:""}listSbInfo(e){var t;let i=null==(t=this.tracks)?void 0:t[e],r=null==i?void 0:i.buffer;return r?`SourceBuffer${r.updating?" updating":""}${i.ended?" ended":""}${i.ending?" ending":""}`:"none"}listOps(e){var t;return(null==(t=this.queues)?void 0:t[e].map(e=>e.label).join(", "))||""}}let nt=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,ni="HlsJsTrackRemovedError";class nr extends Error{constructor(e){super(e),this.name=ni}}function na(e){let t=e.querySelectorAll("source");[].slice.call(t).forEach(t=>{e.removeChild(t)})}function ns(e){return+("audio"===e)}class nn{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=1/0,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners()}setStreamController(e){this.streamController=e}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null}registerListeners(){let{hls:e}=this;e.on(tG.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(tG.MEDIA_ATTA
15CHING,this.onMediaAttaching,this),e.on(tG.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tG.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(tG.BUFFER_CODECS,this.onBufferCodecs,this),e.on(tG.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListener(){let{hls:e}=this;e.off(tG.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(tG.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tG.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tG.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(tG.BUFFER_CODECS,this.onBufferCodecs,this),e.off(tG.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,this.timer&&this.hls.levels.length&&this.detectPlayerSize()}onManifestParsed(e,t){let i=this.hls;this.restrictedLevels=[],this.firstLevel=t.firstLevel,i.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onLevelsUpdated(e,t){this.timer&&tU(this.autoLevelCapping)&&this.detectPlayerSize()}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping()}onMediaDetaching(){this.stopCapping(),this.media=null}detectPlayerSize(){if(this.media){if(this.mediaHeight<=0||this.mediaWidth<=0){this.clientRect=null;return}let e=this.hls.levels;if(e.length){let t=this.hls,i=this.getMaxLevel(e.length-1);i!==this.autoLevelCapping&&t.logger.log(`Setting autoLevelCapping to ${i}: ${e[i].height}p@${e[i].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=i,t.autoLevelEnabled&&t.autoLevelCapping>this.autoLevelCapping&&this.streamController&&this.streamController.nextLevelSwitch(),this.autoLevelCapping=t.autoLevelCapping}}}getMaxLevel(e){let t=this.hls.levels;if(!t.length)return -1;let i=t.filter((t,i)=>this.isLevelAllowed(t)&&i<=e);return this.clientRect=null,nn.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight)}startCapping(){this.timer||(this.autoLevelCapping=1/0,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize())}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=1/0,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(e){}return Math.min(e,this.hls.config.maxDevicePixelRatio)}isLevelAllowed(e){return!this.restrictedLevels.some(t=>e.bitrate===t.bitrate&&e.width===t.width&&e.height===t.height)}static getMaxLevelByMediaSize(e,t,i){if(!(null!=e&&e.length))return -1;let r=(e,t)=>!t||e.width!==t.width||e.height!==t.height,a=e.length-1,s=Math.max(t,i);for(let t=0;t<e.length;t+=1){let i=e[t];if((i.width>=s||i.height>=s)&&r(i,e[t+1])){a=t;break}}return a}}class no{constructor(e,t){Array.isArray(e)&&(e=e.map(e=>e instanceof no?e:new no(e))),this.value=e,this.params=t}}function nl(e,t,i){return Error(`failed to serialize "${Array.isArray(e)?JSON.stringify(e):e instanceof Map?"Map{}":e instanceof Set?"Set{}":"object"==typeof e?JSON.stringify(e):String(e)}" as ${t}`,{cause:i})}class nd{constructor(e){this.description=e}}let nh="Bare Item";function nu(e){if(e<-0x38d7ea4c67fff||0x38d7ea4c67fff<e)throw nl(e,"Integer");return e.toString()}let nc=/[\x00-\x1f\x7f]+/;function nm(e){let t=e.description||e.toString().slice(7,-1);if(!1===/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(t))throw nl(t,"Token");return t}function nf(e){switch(typeof e){case"number":if(!tU(e))throw nl(e,nh);if(Number.isInteger(e))return nu(e);let t=function e(t,i){if(t<0)return-e(-t,i);let r=Math.pow(10,i);if(!(Math.abs(t*r%1-.5)<Number.EPSILON))return Math.round(t*r)/r;{let e=Math.floor(t*r);return(e%2==0?e:e+1)/r}}(e,3);if(Math.floor(Math.abs(t)).toString().length>12)throw nl(e,"Decimal");let i=t.toString();return i.includes(".")?i:`${i}.0`;case"string":if(nc.test(e))throw nl(e,"String");return`"${e.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;case"symbol":return nm(e);case"boolean":if("boolean"!=typeof e)throw nl(e,"Boolean");return e?"?1":"?0";case"object":if(e instanceof Date)return`@${nu(e.getTime()/1e3)}`;if(e instanceof Uint8Array){if(!1===ArrayBuffer.isView(e))throw nl(e,"Byte Sequence");return`:${btoa(String.fromCharCode(...e))}:`}if(e instanceof nd)return nm(e);default:throw nl(e,nh)}}function np(e){if(!1===/^[a-z*][a-z0-9\-_.*]*$/.test(e))throw nl(e,"Key");return e}function ng(e){return null==e?"":Object.entries(e).map(([e,t])=>!0===t?`;${np(e)}`:`;${np(e)}=${nf(t)}`).join("")}function nv(e){return e instanceof no?`${nf(e.value)}${ng(e.params)}`:nf(e)}function nE(e,t){return function(e,t={whitespace:!0}){if("object"!=typeof e||null==e)throw nl(e,"Dict");let i=e instanceof Map?e.entries():Object.entries(e),r=(null==t?void 0:t.whitespace)?" ":"";return Array.from(i).map(([e,t])=>{t instanceof no==!1&&(t=new no(t));let i=np(e);if(!0===t.value)i+=ng(t.params);else if(i+="=",Array.isArray(t.value)){var r;i+=(r=t,`(${r.value.map(nv).join(" ")})${ng(r.params)}`)}else i+=nv(t);return i}).join(`,${r}`)}(e,t)}let ny="CMCD-Object",nb="CMCD-Request",nT="CMCD-Session",n_="CMCD-Status",nA={br:ny,ab:ny,d:ny,ot:ny,tb:ny,tpb:ny,lb:ny,tab:ny,lab:ny,url:ny,pb:nb,bl:nb,tbl:nb,dl:nb,ltc:nb,mtp:nb,nor:nb,nrr:nb,rc:nb,sn:nb,sta:nb,su:nb,ttfb
15:nb,ttfbb:nb,ttlb:nb,cmsdd:nb,cmsds:nb,smrt:nb,df:nb,cs:nb,ts:nb,cid:nT,pr:nT,sf:nT,sid:nT,st:nT,v:nT,msd:nT,bs:n_,bsd:n_,cdn:n_,rtp:n_,bg:n_,pt:n_,ec:n_,e:n_},nS="event",nk=e=>Math.round(e),nR=(e,t)=>Array.isArray(e)?e.map(e=>nR(e,t)):e instanceof no&&"string"==typeof e.value?new no(nR(e.value,t),e.params):(t.baseUrl&&(e=function(e,t){let i=new URL(e),r=new URL(t);if(i.origin!==r.origin)return e;let a=i.pathname.split("/").slice(1),s=r.pathname.split("/").slice(1,-1);for(;a[0]===s[0];)a.shift(),s.shift();for(;s.length;)s.shift(),a.unshift("..");return a.join("/")+i.search+i.hash}(e,t.baseUrl)),1===t.version?encodeURIComponent(e):e),nL=e=>100*nk(e/100),nI={br:nk,d:nk,bl:nL,dl:nL,mtp:nL,nor:(e,t)=>{let i=e;return t.version>=2&&(e instanceof no&&"string"==typeof e.value?i=new no([e]):"string"==typeof e&&(i=[e])),nR(i,t)},rtp:nL,tb:nk},nw="request",nD="response",nC=["ab","bg","bl","br","bs","bsd","cdn","cid","cs","df","ec","lab","lb","ltc","msd","mtp","pb","pr","pt","sf","sid","sn","st","sta","tab","tb","tbl","tpb","ts","v"],nM=["e"],nx=/^[a-zA-Z0-9-.]+-[a-zA-Z0-9-.]+$/;function nP(e){return nx.test(e)}let nO=["d","dl","nor","ot","rtp","su"],nN=["cmsdd","cmsds","rc","smrt","ttfb","ttfbb","ttlb","url"],nU=["bl","br","bs","cid","d","dl","mtp","nor","nrr","ot","pr","rtp","sf","sid","st","su","tb","v"];function nF(e){return nU.includes(e)||nP(e)}let nB={[nD]:function(e){return nC.includes(e)||nO.includes(e)||nN.includes(e)||nP(e)},[nS]:function(e){return nC.includes(e)||nM.includes(e)||nP(e)},[nw]:function(e){return nC.includes(e)||nO.includes(e)||nP(e)}};function n$(e,t={}){let i={};if(null==e||"object"!=typeof e)return i;let r=t.version||e.v||1,a=t.reportingMode||nw,s=1===r?nF:nB[a],n=Object.keys(e).filter(s),o=t.filter;"function"==typeof o&&(n=n.filter(o));let l=a===nD||a===nS;l&&!n.includes("ts")&&n.push("ts"),r>1&&!n.includes("v")&&n.push("v");let d=tZ({},nI,t.formatters),h={version:r,reportingMode:a,baseUrl:t.baseUrl};return n.sort().forEach(t=>{var a;let s=e[t],n=d[t];if("function"==typeof n&&(s=n(s,h)),"v"===t)if(1===r)return;else s=r;("pr"!=t||1!==s)&&(l&&"ts"===t&&!tU(s)&&(s=Date.now()),("number"==typeof(a=s)?tU(a):null!=a&&""!==a&&!1!==a)&&(["ot","sf","st","e","sta"].includes(t)&&"string"==typeof s&&(s=new nd(s)),i[t]=s))}),i}let nH=/CMCD=[^&#]+/;function nG(e,t,i,r){e&&Object.keys(t).forEach(a=>{let s=e.filter(e=>e.groupId===a).map(e=>{let s=tZ({},e);return s.details=void 0,s.attrs=new rG(s.attrs),s.url=s.attrs.URI=nK(e.url,e.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",i),s.groupId=s.attrs["GROUP-ID"]=t[a],s.attrs["PATHWAY-ID"]=r,s});e.push(...s)})}function nK(e,t,i,r){let a,{HOST:s,PARAMS:n,[i]:o}=r;t&&(a=null==o?void 0:o[t])&&(e=a);let l=new self.URL(e);return s&&!a&&(l.host=s),n&&Object.keys(n).sort().forEach(e=>{e&&l.searchParams.set(e,n[e])}),l.href}class nW extends t1{constructor(e){super("eme",e.logger),this.hls=void 0,this.config=void 0,this.media=null,this.mediaResolved=void 0,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.mediaKeys=null,this.setMediaKeysQueue=nW.CDMCleanupPromise?[nW.CDMCleanupPromise]:[],this.bannedKeyIds={},this.onMediaEncrypted=e=>{let{initDataType:t,initData:i}=e,r=`"${e.type}" event: init data type: "${t}"`;if(this.debug(r),null!==i){if(!this.keyFormatPromise){let e=Object.keys(this.keySystemAccessPromises);e.length||(e=ae(this.config));let t=e.map(r7).filter(e=>!!e);this.keyFormatPromise=this.getKeyFormatPromise(t)}this.keyFormatPromise.then(a=>{let s,n=r6(a);if("sinf"!==t||n!==r1)return void this.log(`Ignoring "${e.type}" event with init data type: "${t}" for selected key-system ${n}`);try{let e=ig(new Uint8Array(i)),t=rQ(JSON.parse(e).sinf),r=iI(t);if(!r)throw Error("'schm' box missing or not cbcs/cenc with schi > tenc");s=new Uint8Array(r.subarray(8,24))}catch(e){this.warn(`${r} Failed to parse sinf: ${e}`);return}let o=ie(s),{keyIdToKeySessionPromise:l,mediaKeySessions:d}=this,h=l[o];for(let e=0;e<d.length;e++){let r=d[e],a=r.decryptdata;if(!a.keyId)continue;let n=ie(a.keyId);if(rV(s,a.keyId)||-1!==a.uri.replace(/-/g,"").indexOf(o)){if(!(h=l[n]))continue;if(a.pssh)break;delete l[n],a.pssh=new Uint8Array(i),a.keyId=s,(h=l[o]=h.then(()=>this.generateRequestWithPreferredKeySession(r,t,i,"encrypted-event-key-match"))).catch(e=>this.handleError(e));break}}h||this.handleError(Error(`Key ID ${o} not encountered in playlist. Key-system sessions ${d.length}.`))}).catch(e=>this.handleError(e))}},this.onWaitingForKey=e=>{this.log(`"${e.type}" event`)},this.hls=e,this.config=e.config,this.registerListeners()}destroy(){this.onDestroying(),this.onMediaDetached();let e=this.config;e.requestMediaKeySystemAccessFunc=null,e.licenseXhrSetup=e.licenseResponseCallback=void 0,e.drmSystems=e.drmSystemOptions={},this.hls=this.config=this.keyIdToKeySessionPromise=null,this.onMediaEncrypted=this.onWaitingForKey=null}
15registerListeners(){this.hls.on(tG.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(tG.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(tG.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.on(tG.DESTROYING,this.onDestroying,this)}unregisterListeners(){this.hls.off(tG.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(tG.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(tG.MANIFEST_LOADED,this.onManifestLoaded,this),this.hls.off(tG.DESTROYING,this.onDestroying,this)}getLicenseServerUrl(e){let{drmSystems:t,widevineLicenseUrl:i}=this.config,r=null==t?void 0:t[e];return r?r.licenseUrl:e===r3&&i?i:void 0}getLicenseServerUrlOrThrow(e){let t=this.getLicenseServerUrl(e);if(void 0===t)throw Error(`no license server URL configured for key-system "${e}"`);return t}getServerCertificateUrl(e){let{drmSystems:t}=this.config,i=null==t?void 0:t[e];if(i)return i.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${e}"]`)}attemptKeySystemAccess(e){let t=this.hls.levels,i=(e,t,i)=>!!e&&i.indexOf(e)===t,r=t.map(e=>e.audioCodec).filter(i),a=t.map(e=>e.videoCodec).filter(i);return r.length+a.length===0&&a.push("avc1.42e01e"),new Promise((t,i)=>{let s=e=>{let n=e.shift();this.getMediaKeysPromise(n,r,a).then(e=>t({keySystem:n,mediaKeys:e})).catch(t=>{e.length?s(e):t instanceof nq?i(t):i(new nq({type:t$.KEY_SYSTEM_ERROR,details:tH.KEY_SYSTEM_NO_ACCESS,error:t,fatal:!0},t.message))})};s(e)})}requestMediaKeySystemAccess(e,t){let{requestMediaKeySystemAccessFunc:i}=this.config;if("function"!=typeof i){let e=`Configured requestMediaKeySystemAccess is not a function ${i}`;return null===at&&"http:"===self.location.protocol&&(e=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(Error(e))}return i(e,t)}getMediaKeysPromise(e,t,i){var r;let a=function(e,t,i,r){var a,s,n,o;let l;switch(e){case r1:l=["cenc","sinf"];break;case r3:case r2:l=["cenc"];break;case r0:l=["cenc","keyids"];break;default:throw Error(`Unknown key-system: ${e}`)}return a=l,s=t,n=i,[{initDataTypes:a,persistentState:(o=r).persistentState||"optional",distinctiveIdentifier:o.distinctiveIdentifier||"optional",sessionTypes:o.sessionTypes||[o.sessionType||"temporary"],audioCapabilities:s.map(e=>({contentType:`audio/mp4; codecs=${e}`,robustness:o.audioRobustness||"",encryptionScheme:o.audioEncryptionScheme||null})),videoCapabilities:n.map(e=>({contentType:`video/mp4; codecs=${e}`,robustness:o.videoRobustness||"",encryptionScheme:o.videoEncryptionScheme||null}))}]}(e,t,i,this.config.drmSystemOptions||{}),s=this.keySystemAccessPromises[e],n=null==(r=s)?void 0:r.keySystemAccess;if(!n){this.log(`Requesting encrypted media "${e}" key-system access with config: ${i5(a)}`),n=this.requestMediaKeySystemAccess(e,a);let t=s=this.keySystemAccessPromises[e]={keySystemAccess:n};return n.catch(t=>{this.log(`Failed to obtain access to key-system "${e}": ${t}`)}),n.then(i=>{this.log(`Access for key-system "${i.keySystem}" obtained`);let r=this.fetchServerCertificate(e);this.log(`Create media-keys for "${e}"`);let a=t.mediaKeys=i.createMediaKeys().then(i=>(this.log(`Media-keys created for "${e}"`),t.hasMediaKeys=!0,r.then(t=>t?this.setMediaKeysServerCertificate(i,e,t):i)));return a.catch(t=>{this.error(`Failed to create media-keys for "${e}"}: ${t}`)}),a})}return n.then(()=>s.mediaKeys)}createMediaKeySessionContext({decryptdata:e,keySystem:t,mediaKeys:i}){this.log(`Creating key-system session "${t}" keyId: ${ie(e.keyId||[])} keyUri: ${e.uri}`);let r=i.createSession(),a={decryptdata:e,keySystem:t,mediaKeys:i,mediaKeysSession:r,keyStatus:"status-pending"};return this.mediaKeySessions.push(a),a}renewKeySession(e){let t=e.decryptdata;if(t.pssh){let i=this.createMediaKeySessionContext(e),r=nV(t);this.keyIdToKeySessionPromise[r]=this.generateRequestWithPreferredKeySession(i,"cenc",t.pssh.buffer,"expired")}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(e)}updateKeySession(e,t){let i=e.mediaKeysSession;return this.log(`Updating key-session "${i.sessionId}" for keyId ${ie(e.decryptdata.keyId||[])} 16 } (data length: ${t.byteLength})`),i.update(t)}getSelectedKeySystemFormats(){return Object.keys(this.keySystemAccessPromises).map(e=>({keySystem:e,hasMediaKeys:this.keySystemAccessPromises[e].hasMediaKeys})).filter(({hasMediaKeys:e})=>!!e).map(({keySystem:e})=>r7(e)).filter(e=>!!e)}getKeySystemAccess(e){return this.getKeySystemSelectionPromise(e).then(({keySystem:e,mediaKeys:t})=>this.attemptSetMediaKeys(e,t))}selectKeySystem(e){return new Promise((t,i)=>{this.getKeySystemSelectionPromise(e).then(({keySystem:e})=>{let r=r7(e);r?t(r):i(Error(`Unable to find format for key-system "${e}"`))}).catch(i)})}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){let t=ae(this.config),i=e.map(r6).filter(e=>!!e&&-1!==t.indexOf(e));return this.selectKeySystem(i)}getKeyStatus(e){let{mediaKeySessions:t}=this;for(let a=0;a<t.length;a++){var i,r;let s=(i=e,r=t[a],i.keyId&&r.mediaKeysSession.keyStatuses.has(i.keyId)?r.mediaKeysSession.keyStatuses.get(i.keyId):i.matches(r.decryptdata)?r.keyStatus:void 0);if(s)return s}}loadKey(e){let t=e.keyInfo.decryptdata,i=nV(t),r=this.bannedKeyIds[i];if(r||"internal-error"===this.getKeyStatus(t)){let i=nY(r||"internal-error",t);return this.handleError(i,e.frag),Promise.reject(i)}let a=`(keyId: ${i} format: "${t.keyFormat}" method: ${t.method} uri: ${t.uri})`;this.log(`Starting session for key ${a}`);let s=this.keyIdToKeySessionPromise[i];if(!s){let r=this.getKeySystemForKeyPromise(t).then(({keySystem:i,mediaKeys:r})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${e.frag.sn} ${e.frag.type}: ${e.frag.level} using key ${a}`),this.attemptSetMediaKeys(i,r).then(()=>(this.throwIfDestroyed(),this.createMediaKeySessionContext({keySystem:i,mediaKeys:r,decryptdata:t}))))).then(e=>{let i=t.pssh?t.pssh.buffer:null;return this.generateRequestWithPreferredKeySession(e,"cenc",i,"playlist-key")});return r.catch(t=>this.handleError(t,e.frag)),this.keyIdToKeySessionPromise[i]=r,r}return s.catch(i=>{if(i instanceof nq){let r=t0({},i.data);"internal-error"===this.getKeyStatus(t)&&(r.decryptdata=t);let a=new nq(r,i.message);this.handleError(a,e.frag)}}),s}throwIfDestroyed(e="Invalid state"){if(!this.hls)throw Error("invalid state")}handleError(e,t){if(this.hls)if(e instanceof nq){t&&(e.data.frag=t);let i=e.data.decryptdata;this.error(`${e.message}${i?` (${ie(i.keyId||[])})`:""}`),this.hls.trigger(tG.ERROR,e.data)}else this.error(e.message),this.hls.trigger(tG.ERROR,{type:t$.KEY_SYSTEM_ERROR,details:tH.KEY_SYSTEM_NO_KEYS,error:e,fatal:!0})}
16getKeySystemForKeyPromise(e){let t=nV(e),i=this.keyIdToKeySessionPromise[t];if(!i){let t=r6(e.keyFormat),i=t?[t]:ae(this.config);return this.attemptKeySystemAccess(i)}return i}getKeySystemSelectionPromise(e){if(e.length||(e=ae(this.config)),0===e.length)throw new nq({type:t$.KEY_SYSTEM_ERROR,details:tH.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${i5({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(e)}attemptSetMediaKeys(e,t){if(this.mediaResolved=void 0,this.mediaKeys===t)return Promise.resolve();let i=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${e}"`);let r=Promise.all(i).then(()=>this.media?this.media.setMediaKeys(t):new Promise((e,i)=>{this.mediaResolved=()=>{if(this.mediaResolved=void 0,!this.media)return i(Error("Attempted to set mediaKeys without media element attached"));this.mediaKeys=t,this.media.setMediaKeys(t).then(e).catch(i)}}));return this.mediaKeys=t,this.setMediaKeysQueue.push(r),r.then(()=>{this.log(`Media-keys set for "${e}"`),i.push(r),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(e=>-1===i.indexOf(e))})}generateRequestWithPreferredKeySession(e,t,i,r){var a;let s=null==(a=this.config.drmSystems)||null==(a=a[e.keySystem])?void 0:a.generateRequest;if(s)try{let r=s.call(this.hls,t,i,e);if(!r)throw Error("Invalid response from configured generateRequest filter");t=r.initDataType,i=r.initData?r.initData:null,e.decryptdata.pssh=i?new Uint8Array(i):null}catch(e){if(this.warn(e.message),this.hls&&this.hls.config.debug)throw e}if(null===i)return this.log(`Skipping key-session request for "${r}" (no initData)`),Promise.resolve(e);let n=nV(e.decryptdata),o=e.decryptdata.uri;this.log(`Generating key-session request for "${r}" keyId: ${n} URI: ${o} (init data type: ${t} length: ${i.byteLength})`);let l=new a3,d=e._onmessage=t=>{let i=e.mediaKeysSession;if(!i)return void l.emit("error",Error("invalid state"));let{messageType:r,message:a}=t;this.log(`"${r}" message event for session "${i.sessionId}" message size: ${a.byteLength}`),"license-request"===r||"license-renewal"===r?this.renewLicense(e,a).catch(e=>{l.eventNames().length?l.emit("error",e):this.handleError(e)}):"license-release"===r?e.keySystem===r1&&this.updateKeySession(e,rz("acknowledged")).then(()=>this.removeSession(e)).catch(e=>this.handleError(e)):this.warn(`unhandled media key message type "${r}"`)},h=(e,t)=>{let i;t.keyStatus=e,e.startsWith("usable")?l.emit("resolved"):"internal-error"===e||"output-restricted"===e||"output-downscaled"===e?i=nY(e,t.decryptdata):"expired"===e?i=Error(`key expired (keyId: ${n})`):"released"===e?i=Error("key released"):"status-pending"===e||this.warn(`unhandled key status change "${e}" (keyId: ${n})`),i&&(l.eventNames().length?l.emit("error",i):this.handleError(i))},u=e._onkeystatuseschange=t=>{if(!e.mediaKeysSession)return void l.emit("error",Error("invalid state"));let i=this.getKeyStatuses(e);if(!Object.keys(i).some(e=>"status-pending"!==i[e]))return;if("expired"===i[n]){this.log(`Expired key ${i5(i)} in key-session "${e.mediaKeysSession.sessionId}"`),this.renewKeySession(e);return}let r=i[n];if(r)h(r,e);else{var a;e.keyStatusTimeouts||(e.keyStatusTimeouts={}),(a=e.keyStatusTimeouts)[n]||(a[n]=self.setTimeout(()=>{if(!e.mediaKeysSession||!this.mediaKeys)return;let t=this.getKeyStatus(e.decryptdata);if(t&&"status-pending"!==t)return this.log(`No status for keyId ${n} in key-session "${e.mediaKeysSession.sessionId}". Using session key-status ${t} from other session.`),h(t,e);this.log(`key status for ${n} in key-session "${e.mediaKeysSession.sessionId}" timed out after 1000ms`),h(r="internal-error",e)},1e3)),this.log(`No status for keyId ${n} (${i5(i)}).`)}};aF(e.mediaKeysSession,"message",d),aF(e.mediaKeysSession,"keystatuseschange",u);let c=new Promise((e,t)=>{l.on("error",t),l.on("resolved",e)});return e.mediaKeysSession.generateRequest(t,i).then(()=>{this.log(`Request generated for key-session "${e.mediaKeysSession.sessionId}" keyId: ${n} URI: ${o}`)}).catch(t=>{throw new nq({type:t$.KEY_SYSTEM_ERROR,details:tH.KEY_SYSTEM_NO_SESSION,error:t,decryptdata:e.decryptdata,fatal:!1},`Error generating key-session request: ${t}`)}).then(()=>c).catch(t=>(l.removeAllListeners(),this.removeSession(e).then(()=>{throw t}))).then(()=>(l.removeAllListeners(),e))}getKeyStatuses(e){let t={};
16return e.mediaKeysSession.keyStatuses.forEach((i,r)=>{if("string"==typeof r&&"object"==typeof i){let e=r;r=i,i=e}let a="buffer"in r?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):new Uint8Array(r);e.keySystem===r2&&16===a.length&&(t[ie(a)]=i,rX(a));let s=ie(a);"internal-error"===i&&(this.bannedKeyIds[s]=i),this.log(`key status change "${i}" for keyStatuses keyId: ${s} key-session "${e.mediaKeysSession.sessionId}"`),t[s]=i}),t}fetchServerCertificate(e){let t=this.config,i=new t.loader(t),r=this.getServerCertificateUrl(e);return r?(this.log(`Fetching server certificate for "${e}"`),new Promise((a,s)=>{let n={responseType:"arraybuffer",url:r},o=t.certLoadPolicy.default,l={loadPolicy:o,timeout:o.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};i.load(n,l,{onSuccess:(e,t,i,r)=>{a(e.data)},onError:(t,i,a,o)=>{s(new nq({type:t$.KEY_SYSTEM_ERROR,details:tH.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:a,response:t0({url:n.url,data:void 0},t)},`"${e}" certificate request failed (${r}). Status: ${t.code} (${t.text})`))},onTimeout:(t,i,a)=>{s(new nq({type:t$.KEY_SYSTEM_ERROR,details:tH.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:a,response:{url:n.url,data:void 0}},`"${e}" certificate request timed out (${r})`))},onAbort:(e,t,i)=>{s(Error("aborted"))}})})):Promise.resolve()}setMediaKeysServerCertificate(e,t,i){return new Promise((r,a)=>{e.setServerCertificate(i).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${i.byteLength}) on "${t}"`),r(e)}).catch(e=>{a(new nq({type:t$.KEY_SYSTEM_ERROR,details:tH.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:e,fatal:!0},e.message))})})}renewLicense(e,t){return this.requestLicense(e,new Uint8Array(t)).then(t=>this.updateKeySession(e,new Uint8Array(t)).catch(t=>{throw new nq({type:t$.KEY_SYSTEM_ERROR,details:tH.KEY_SYSTEM_SESSION_UPDATE_FAILED,decryptdata:e.decryptdata,error:t,fatal:!1},t.message)}))}unpackPlayReadyKeyMessage(e,t){let i=String.fromCharCode.apply(null,new Uint16Array(t.buffer));if(!i.includes("PlayReadyKeyMessage"))return e.setRequestHeader("Content-Type","text/xml; charset=utf-8"),t;let r=new DOMParser().parseFromString(i,"application/xml"),a=r.querySelectorAll("HttpHeader");if(a.length>0){let t;for(let i=0,r=a.length;i<r;i++){var s,n;let r=null==(s=(t=a[i]).querySelector("name"))?void 0:s.textContent,o=null==(n=t.querySelector("value"))?void 0:n.textContent;r&&o&&e.setRequestHeader(r,o)}}let o=r.querySelector("Challenge"),l=null==o?void 0:o.textContent;if(!l)throw Error("Cannot find <Challenge> in key message");return rz(atob(l))}setupLicenseXHR(e,t,i,r){let a=this.config.licenseXhrSetup;return a?Promise.resolve().then(()=>{if(!i.decryptdata)throw Error("Key removed");return a.call(this.hls,e,t,i,r)}).catch(s=>{if(!i.decryptdata)throw s;return e.open("POST",t,!0),a.call(this.hls,e,t,i,r)}).then(i=>(e.readyState||e.open("POST",t,!0),{xhr:e,licenseChallenge:i||r})):(e.open("POST",t,!0),Promise.resolve({xhr:e,licenseChallenge:r}))}requestLicense(e,t){let i=this.config.keyLoadPolicy.default;return new Promise((r,a)=>{let s=this.getLicenseServerUrlOrThrow(e.keySystem);this.log(`Sending license request to URL: ${s}`);let n=new XMLHttpRequest;n.responseType="arraybuffer",n.onreadystatechange=()=>{if(!this.hls||!e.mediaKeysSession)return a(Error("invalid state"));if(4===n.readyState)if(200===n.status){this._requestLicenseFailureCount=0;let t=n.response;this.log(`License received ${t instanceof ArrayBuffer?t.byteLength:t}`);let i=this.config.licenseResponseCallback;if(i)try{t=i.call(this.hls,n,s,e)}catch(e){this.error(e)}r(t)}else{let o=i.errorRetry,l=o?o.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>l||n.status>=400&&n.status<500)a(new nq({type:t$.KEY_SYSTEM_ERROR,details:tH.KEY_SYSTEM_LICENSE_REQUEST_FAILED,decryptdata:e.decryptdata,fatal:!0,networkDetails:n,response:{url:s,data:void 0,code:n.status,text:n.statusText}},`License Request XHR failed (${s}). Status: ${n.status} (${n.statusText})`));else{let i=l-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${i} attempts left`),this.requestLicense(e,t).then(r,a)}}},e.licenseXhr&&e.licenseXhr.readyState!==XMLHttpRequest.DONE&&e.licenseXhr.abort(),e.licenseXhr=n,this.setupLicenseXHR(n,s,e,t).then(({xhr:t,licenseChallenge:i})=>{e.keySystem==r2&&(i=this.unpackPlayReadyKeyMessage(t,i)),t.send(i)}).catch(a)})}onDestroying(){this.unregisterListeners(),this._clear()}onMediaAttached(e,t){if(!this.config.emeEnabled)return;let i=t.media;this.media=i,aF(i,"encrypted",this.onMediaEncrypted),aF(i,"waitingforkey",this.onWaitingForKey);let r=this.mediaResolved;r?r():this.mediaKeys=i.mediaKeys}onMediaDetached(){let e=this.media;e&&(aB(e,"encrypted",this.onMediaEncrypted),aB(e,"waitingforkey",this.onWaitingForKey),this.media=null,this.mediaKeys=null)}_clear(){var e;this._requestLicenseFailureCount=0,this.keyIdToKeySessionPromise={},this.bannedKeyIds={};let t=this.mediaResolved;if(t&&t(),!this.mediaKeys&&!this.mediaKeySessions.length)return;let i=this.media,r=this.mediaKeySessions.slice();this.mediaKeySessions=[],this.mediaKeys=null,aa.clearKeyUriToKeyIdMap();let a=r.length;nW.CDMCleanupPromise=Promise.all(r.map(e=>this.removeSession(e)).concat((null==i||null==(e=i.setMediaKeys(null))?void 0:e.catch(e=>
16{this.log(`Could not clear media keys: ${e}`),this.hls&&this.hls.trigger(tG.ERROR,{type:t$.OTHER_ERROR,details:tH.KEY_SYSTEM_DESTROY_MEDIA_KEYS_ERROR,fatal:!1,error:Error(`Could not clear media keys: ${e}`)})}))||Promise.resolve())).catch(e=>{this.log(`Could not close sessions and clear media keys: ${e}`),this.hls&&this.hls.trigger(tG.ERROR,{type:t$.OTHER_ERROR,details:tH.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close sessions and clear media keys: ${e}`)})}).then(()=>{a&&this.log("finished closing key sessions and clearing media keys")})}onManifestLoading(){this._clear()}onManifestLoaded(e,{sessionKeys:t}){if(t&&this.config.emeEnabled&&!this.keyFormatPromise){let e=t.reduce((e,t)=>(-1===e.indexOf(t.keyFormat)&&e.push(t.keyFormat),e),[]);this.log(`Selecting key-system from session-keys ${e.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(e)}}removeSession(e){let{mediaKeysSession:t,licenseXhr:i,decryptdata:r}=e;if(t){var a;this.log(`Remove licenses and keys and close session "${t.sessionId}" keyId: ${ie((null==r?void 0:r.keyId)||[])}`),e._onmessage&&(t.removeEventListener("message",e._onmessage),e._onmessage=void 0),e._onkeystatuseschange&&(t.removeEventListener("keystatuseschange",e._onkeystatuseschange),e._onkeystatuseschange=void 0),i&&i.readyState!==XMLHttpRequest.DONE&&i.abort(),e.mediaKeysSession=e.decryptdata=e.licenseXhr=void 0;let s=this.mediaKeySessions.indexOf(e);s>-1&&this.mediaKeySessions.splice(s,1);let{keyStatusTimeouts:n}=e;n&&Object.keys(n).forEach(e=>self.clearTimeout(n[e]));let{drmSystemOptions:o}=this.config;return(o&&("persistent-license"===o.sessionType||null!=(a=o.sessionTypes)&&a.some(e=>"persistent-license"===e))?new Promise((e,i)=>{self.setTimeout(()=>i(Error("MediaKeySession.remove() timeout")),8e3),t.remove().then(e).catch(i)}):Promise.resolve()).catch(e=>{this.log(`Could not remove session: ${e}`),this.hls&&this.hls.trigger(tG.ERROR,{type:t$.OTHER_ERROR,details:tH.KEY_SYSTEM_DESTROY_REMOVE_SESSION_ERROR,fatal:!1,error:Error(`Could not remove session: ${e}`)})}).then(()=>t.close()).catch(e=>{this.log(`Could not close session: ${e}`),this.hls&&this.hls.trigger(tG.ERROR,{type:t$.OTHER_ERROR,details:tH.KEY_SYSTEM_DESTROY_CLOSE_SESSION_ERROR,fatal:!1,error:Error(`Could not close session: ${e}`)})})}return Promise.resolve()}}function nV(e){if(!e)throw Error("Could not read keyId of undefined decryptdata");if(null===e.keyId)throw Error("keyId is null");return ie(e.keyId)}nW.CDMCleanupPromise=void 0;class nq extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=Error(t)),this.data=e,e.err=e.error}}function nY(e,t){let i="output-restricted"===e,r=i?tH.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:tH.KEY_SYSTEM_STATUS_INTERNAL_ERROR;return new nq({type:t$.KEY_SYSTEM_ERROR,details:r,fatal:!1,decryptdata:t},i?"HDCP level output restricted":`key status changed to "${e}"`)}function nj(e,t){let i;try{i=new Event("addtrack")}catch(e){(i=document.createEvent("Event")).initEvent("addtrack",!1,!1)}i.track=e,t.dispatchEvent(i)}function nQ(e,t){let i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues&&!e.cues.getCueById(t.id))try{if(e.addCue(t),!e.cues.getCueById(t.id))throw Error(`addCue is failed for: ${t}`)}catch(i){t8.debug(`[texttrack-utils]: ${i}`);try{let i=new self.TextTrackCue(t.startTime,t.endTime,t.text);i.id=t.id,e.addCue(i)}catch(e){t8.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${e}`)}}"disabled"===i&&(e.mode=i)}function nz(e,t){let i=e.mode;if("disabled"===i&&(e.mode="hidden"),e.cues)for(let i=e.cues.length;i--;)t&&e.cues[i].removeEventListener("enter",t),e.removeCue(e.cues[i]);"disabled"===i&&(e.mode=i)}function nX(e,t,i,r){let a=e.mode;if("disabled"===a&&(e.mode="hidden"),e.cues&&e.cues.length>0){let a=function(e,t,i){let r=[],a=function(e,t){let i;if(t<=e[0].startTime)return 0;let r=e.length-1;if(t>e[r].endTime)return -1;let a=0,s=r;for(;a<=s;)if(t<e[i=Math.floor((s+a)/2)].startTime)s=i-1;else{if(!(t>e[i].startTime)||!(a<r))return i;a=i+1}return e[a].startTime-t<t-e[s].startTime?a:s}(e,t);if(a>-1)for(let s=a,n=e.length;s<n;s++){let a=e[s];if(a.startTime>=t&&a.endTime<=i)r.push(a);else if(a.startTime>i)break}return r}(e.cues,t,i);for(let t=0;t<a.length;t++)(!r||r(a[t]))&&e.removeCue(a[t])}"disabled"===a&&(e.mode=a)}function nZ(e){let t=[];for(let i=0;i<e.length;i++){let r=e[i];("subtitles"===r.kind||"captions"===r.kind)&&r.label&&t.push(e[i])}return t}function nJ(e){let t=5381,i=e.length;for(;i;)t=33*t^e.charCodeAt(--i);return(t>>>0).toString()}let n0=((df={})[df.Point=0]="Point",df[df.Range=1]="Range",df);class n1{constructor(e,t){this.base=void 0,this._duration=null,this._timelineStart=null,this.appendInPlaceDisabled=void 0,this.appendInPlaceStarted=void 0,this.dateRange=void 0,this.hasPlayed=!1,this.cumulativeDuration=0,this.resumeOffset=NaN,this.playoutLimit=NaN,this.restrictions={skip:!1,jump:!1},this.snapOptions={out:!1,in:!1},this.assetList=[],this.assetListLoader=void 0,this.assetListResponse=null,this.resumeAnchor=void 0,this.error=void 0,this.resetOnResume=void 0,this.base=t,this.dateRange=e,this.setDateRange(e)}setDateRange(e){this.dateRange=e,this.resumeOffset=e.attr.optionalFloat("X-RESUME-OFFSET",this.resumeOffset),this.playoutLimit=e.attr.optionalFloat("X-PLAYOUT-LIMIT",this.playoutLimit),this.restrictions=e.attr.enumeratedStringList("X-RESTRICT",this.restrictions),this.snapOptions=e.attr.enumeratedStringList("X-SNAP",this.snapOptions)}reset(){var e;this.appendInPlaceStarted=!1,null==(e=this.assetListLoader)||e.destroy(),this.assetListLoader=void 0,this.supplementsPrimary||(this.assetListResponse=null,this.assetList=[],this._duration=null)}isAssetPastPlayoutLimit(e){var t;if(e>0&&e>=this.assetList.length)return!0;let i=this.playoutLimit;return!(e<=0||isNaN(i))&&(0===i||((null==(t=this.assetList[e])?void 0:t.startOffset)||0)>i)}findAssetIndex(e){return this.assetList.indexOf(e)}get identifier(){return this.dateRange.id}get startDate(){return this.dateRange.startDate}get startTime(){let e=this.dateRange.startTime;if(this.snapOptions.out){let t=this.dateRange.tagAnchor;if(t)return n2(e,t)}return e}get startOffset(){return this.cue.pre?0:this.startTime}get startIsAligned(){if(0===this.startTime||this.snapOptions.out)return!0;let e=this.dateRange.tagAnchor;if(e){let t=this.dateRange.startTime,i=n2(t,e);return t-i<.1}return!1}get resumptionOffset(){let e=this.resumeOffset,t=tU(e)?e:this.duration;return this.cumulativeDuration+t}get resumeTime(){let e=this.startOffset+this.resumptionOffset;if(this.snapOptions.in){let t=this.resumeAnchor;if(t)return n2(e,t)}return e}get appendInPlace(){return!!this.appendInPlaceStarted||!this.appendInPlaceDisabled&&!!(!this.cue.once&&!this.cue.pre&&this.startIsAligned&&(isNaN(this.playoutLimit)&&isNaN(this.resumeOffset)||this.resumeOffset&&this.duration&&.025>Math.abs(this.resumeOffset-this.duration)))}set appendInPlace(e){if(this.appendInPlaceStarted){this.resetOnResume=!e;return}this.appendInPlaceDisabled=!e}get timelineStart(){return null!==this._timelineStart?this._timelineStart:this.startTime}set timelineStart(e){this._timelineStart=e}get duration(){let e,t=this.playoutLimit;return e=null!==this._duration?this._duration:this.dateRange.duration?this.dateRange.duration:this.dateRange.plannedDuration||0,!isNaN(t)&&t<e&&(e=t),e}set duration(e){this._duration=e}get cue(){return this.dateRange.cue}get timelineOccupancy(){return"RANGE"===this.dateRange.attr["X-TIMELINE-OCCUPIES"]?n0.Range:n0.Point}get supplementsPrimary(){return"PRIMARY"===this.dateRange.attr["X-TIMELINE-STYLE"]}get contentMayVary(){return"NO"!==this.dateRange.attr["X-CONTENT-MAY-VARY"]}get assetUrl(){return this.dateRange.attr["X-ASSET-URI"]}get assetListUrl(){return this.dateRange.attr["X-ASSET-LIST"]}get baseUrl(){return this.base.url}get assetListLoaded(){return this.assetList.length>0||null!==this.assetListResponse}toString(){var e;return e=this,`["${e.identifier}" ${e.cue.pre?"<pre>":e.cue.post?"<post>":""}${e.timelineStart.toFixed(2)}-${e.resumeTime.toFixed(2)}]`}}function n2(e,t){return e-t.start<t.duration/2&&!(.025>Math.abs(e-(t.start+t.duration)))?t.start:t.start+t.duration}function n3(e,t,i){let r=new self.URL(e,i);return"data:"!==r.protocol&&r.searchParams.set("_HLS_primary_id",t),r}function n4(e,t){for(;null!=(i=e.assetList[++t])&&i.error;)var i;return t}function n5(e){let t=e.timelineStart,i=e.duration||0;return`["${e.identifier}" ${t.toFixed(2)}-${(t+i).toFixed(2)}]`}class n8{constructor(e,t,i,r){this.hls=void 0,this.interstitial=void 0,this.assetItem=void 0,this.tracks=null,this.hasDetail
16s=!1,this.mediaAttached=null,this._currentTime=void 0,this._bufferedEosTime=void 0,this.checkPlayout=()=>{this.reachedPlayout(this.currentTime)&&this.hls&&this.hls.trigger(tG.PLAYOUT_LIMIT_REACHED,{})};const a=this.hls=new e(t);this.interstitial=i,this.assetItem=r;const s=()=>{this.hasDetails=!0};a.once(tG.LEVEL_LOADED,s),a.once(tG.AUDIO_TRACK_LOADED,s),a.once(tG.SUBTITLE_TRACK_LOADED,s),a.on(tG.MEDIA_ATTACHING,(e,{media:t})=>{this.removeMediaListeners(),this.mediaAttached=t,this.interstitial.playoutLimit&&(t.addEventListener("timeupdate",this.checkPlayout),this.appendInPlace&&a.on(tG.BUFFER_APPENDED,()=>{let e=this.bufferedEnd;this.reachedPlayout(e)&&(this._bufferedEosTime=e,a.trigger(tG.BUFFERED_TO_END,void 0))}))})}get appendInPlace(){return this.interstitial.appendInPlace}loadSource(){let e=this.hls;if(e)if(e.url)e.levels.length&&!e.started&&e.startLoad(-1,!0);else{let t=this.assetItem.uri;try{t=n3(t,e.config.primarySessionId||"").href}catch(e){}e.loadSource(t)}}bufferedInPlaceToEnd(e){var t;if(!this.appendInPlace)return!1;if(null!=(t=this.hls)&&t.bufferedToEnd)return!0;if(!e)return!1;let i=Math.min(this._bufferedEosTime||1/0,this.duration),r=this.timelineOffset,a=rN.bufferInfo(e,r,0);return this.getAssetTime(a.end)>=i-.02}reachedPlayout(e){let t=this.interstitial.playoutLimit;return this.startOffset+e>=t}get destroyed(){var e;return!(null!=(e=this.hls)&&e.userConfig)}get assetId(){return this.assetItem.identifier}get interstitialId(){return this.assetItem.parentIdentifier}get media(){var e;return(null==(e=this.hls)?void 0:e.media)||null}get bufferedEnd(){let e=this.media||this.mediaAttached;if(!e)return this._bufferedEosTime?this._bufferedEosTime:this.currentTime;let t=rN.bufferInfo(e,e.currentTime,.001);return this.getAssetTime(t.end)}get currentTime(){let e=this.media||this.mediaAttached;return e?this.getAssetTime(e.currentTime):this._currentTime||0}get duration(){let e=this.assetItem.duration;if(!e)return 0;let t=this.interstitial.playoutLimit;if(t){let i=t-this.startOffset;if(i>0&&i<e)return i}return e}get remaining(){let e=this.duration;return e?Math.max(0,e-this.currentTime):0}get startOffset(){return this.assetItem.startOffset}get timelineOffset(){var e;return(null==(e=this.hls)?void 0:e.config.timelineOffset)||0}set timelineOffset(e){let t=this.timelineOffset;if(e!==t&&Math.abs(e-t)>1/9e4&&this.hls){if(this.hasDetails)throw Error("Cannot set timelineOffset after playlists are loaded");this.hls.config.timelineOffset=e}}getAssetTime(e){return Math.min(Math.max(0,e-this.timelineOffset),this.duration)}removeMediaListeners(){let e=this.mediaAttached;e&&(this._currentTime=e.currentTime,this.bufferSnapShot(),e.removeEventListener("timeupdate",this.checkPlayout))}bufferSnapShot(){if(this.mediaAttached){var e;null!=(e=this.hls)&&e.bufferedToEnd&&(this._bufferedEosTime=this.bufferedEnd)}}destroy(){this.removeMediaListeners(),this.hls&&this.hls.destroy(),this.hls=null,this.tracks=this.mediaAttached=this.checkPlayout=null}attachMedia(e){var t;this.loadSource(),null==(t=this.hls)||t.attachMedia(e)}detachMedia(){var e;this.removeMediaListeners(),this.mediaAttached=null,null==(e=this.hls)||e.detachMedia()}resumeBuffering(){var e;null==(e=this.hls)||e.resumeBuffering()}pauseBuffering(){var e;null==(e=this.hls)||e.pauseBuffering()}transferMedia(){var e;return this.bufferSnapShot(),(null==(e=this.hls)?void 0:e.transferMedia())||null}resetDetails(){let e=this.hls;if(e&&this.hasDetails){e.stopLoad();let t=e=>delete e.details;e.levels.forEach(t),e.allAudioTracks.forEach(t),e.allSubtitleTracks.forEach(t),this.hasDetails=!1}}on(e,t,i){var r;null==(r=this.hls)||r.on(e,t)}once(e,t,i){var r;null==(r=this.hls)||r.once(e,t)}off(e,t,i){var r;null==(r=this.hls)||r.off(e,t)}toString(){var e;return`HlsAssetPlayer: ${n5(this.assetItem)} ${null==(e=this.hls)?void 0:e.sessionId} ${this.appendInPlace?"append-in-place":""}`}}class n9 extends t1{constructor(e,t){super("interstitials-sched",t),this.onScheduleUpdate=void 0,this.eventMap={},this.events=null,this.items=null,this.durations={primary:0,playout:0,integrated:0},this.onScheduleUpdate=e}destroy(){this.reset(),this.onScheduleUpdate=null}reset(){this.eventMap={}
16,this.setDurations(0,0,0),this.events&&this.events.forEach(e=>e.reset()),this.events=this.items=null}resetErrorsInRange(e,t){return this.events?this.events.reduce((i,r)=>e<=r.startOffset&&t>r.startOffset?(delete r.error,i+1):i,0):0}get duration(){let e=this.items;return e?e[e.length-1].end:0}get length(){return this.items?this.items.length:0}getEvent(e){return e&&this.eventMap[e]||null}hasEvent(e){return e in this.eventMap}findItemIndex(e,t){if(e.event)return this.findEventIndex(e.event.identifier);let i=-1;e.nextEvent?i=this.findEventIndex(e.nextEvent.identifier)-1:e.previousEvent&&(i=this.findEventIndex(e.previousEvent.identifier)+1);let r=this.items;if(r)for(r[i]||(void 0===t&&(t=e.start),i=this.findItemIndexAtTime(t));i>=0&&null!=(a=r[i])&&a.event;){var a;i--}return i}findItemIndexAtTime(e,t){let i=this.items;if(i)for(let r=0;r<i.length;r++){let a=i[r];if(t&&"primary"!==t&&(a=a[t]),e===a.start||e>a.start&&e<a.end)return r}return -1}findJumpRestrictedIndex(e,t){let i=this.items;if(i)for(let r=e;r<=t&&i[r];r++){let e=i[r].event;if(null!=e&&e.restrictions.jump&&!e.appendInPlace)return r}return -1}findEventIndex(e){let t=this.items;if(t)for(let r=t.length;r--;){var i;if((null==(i=t[r].event)?void 0:i.identifier)===e)return r}return -1}findAssetIndex(e,t){let i=e.assetList,r=i.length;if(r>1)for(let e=0;e<r;e++){let a=i[e];if(!a.error){let i=a.timelineStart;if(t===i||t>i&&(t<i+(a.duration||0)||e===r-1))return e}}return 0}get assetIdAtEnd(){var e;let t=null==(e=this.items)||null==(e=e[this.length-1])?void 0:e.event;if(t){let e=t.assetList,i=e[e.length-1];if(i)return i.identifier}return null}parseInterstitialDateRanges(e,t){let i=e.main.details,{dateRanges:r}=i,a=this.events,s=this.parseDateRanges(r,{url:i.url},t),n=Object.keys(r),o=a?a.filter(e=>!n.includes(e.identifier)):[];s.length&&s.sort((e,t)=>{let i=e.cue.pre,r=e.cue.post,a=t.cue.pre,s=t.cue.post;if(i&&!a)return -1;if(a&&!i||r&&!s)return 1;if(s&&!r)return -1;if(!i&&!a&&!r&&!s){let i=e.startTime,r=t.startTime;if(i!==r)return i-r}return e.dateRange.tagOrder-t.dateRange.tagOrder}),this.events=s,o.forEach(e=>{this.removeEvent(e)}),this.updateSchedule(e,o)}updateSchedule(e,t=[],i=!1){let r=this.events||[];
16if(r.length||t.length||this.length<2){let a=this.items,s=this.parseSchedule(r,e);(i||t.length||(null==a?void 0:a.length)!==s.length||s.some((e,t)=>Math.abs(e.playout.start-a[t].playout.start)>.005||Math.abs(e.playout.end-a[t].playout.end)>.005))&&(this.items=s,this.onScheduleUpdate(t,a))}}parseDateRanges(e,t,i){let r=[],a=Object.keys(e);for(let s=0;s<a.length;s++){let n=a[s],o=e[n];if(o.isInterstitial){let e=this.eventMap[n];e?e.setDateRange(o):(e=new n1(o,t),this.eventMap[n]=e,!1===i&&(e.appendInPlace=i)),r.push(e)}}return r}parseSchedule(e,t){let i=[],r=t.main.details,a=r.live?1/0:r.edge,s=0;if((e=e.filter(e=>!e.error&&!(e.cue.once&&e.hasPlayed))).length){this.resolveOffsets(e,t);let r=0,o=0;if(e.forEach((t,n)=>{let l=t.cue.pre,d=t.cue.post,h=e[n-1]||null,u=t.appendInPlace,c=d?a:t.startOffset,m=t.duration,f=t.timelineOccupancy===n0.Range?m:0,p=t.resumptionOffset,g=(null==h?void 0:h.startTime)===c,v=c+t.cumulativeDuration,E=u?v+m:c+p;if(l||!d&&c<=0){let e=o;o+=f,t.timelineStart=v;let r=s;s+=m,i.push({event:t,start:v,end:E,playout:{start:r,end:s},integrated:{start:e,end:o}})}else{if(!(c<=a))return;if(!g){let a=c-r;if(a>.033){let l=r,d=o;o+=a;let h=s;s+=a;let u={previousEvent:e[n-1]||null,nextEvent:t,start:l,end:l+a,playout:{start:h,end:s},integrated:{start:d,end:o}};i.push(u)}else a>0&&h&&(h.cumulativeDuration+=a,i[i.length-1].end=c)}d&&(E=v),t.timelineStart=v;let l=o;o+=f;let u=s;s+=m,i.push({event:t,start:v,end:E,playout:{start:u,end:s},integrated:{start:l,end:o}})}let y=t.resumeTime;r=d||y>a?a:y}),r<a){var n;let e=r,t=o,l=a-r;o+=l;let d=s;s+=l,i.push({previousEvent:(null==(n=i[i.length-1])?void 0:n.event)||null,nextEvent:null,start:r,end:e+l,playout:{start:d,end:s},integrated:{start:t,end:o}})}this.setDurations(a,s,o)}else i.push({previousEvent:null,nextEvent:null,start:0,end:a,playout:{start:0,end:a},integrated:{start:0,end:a}}),this.setDurations(a,a,a);return i}setDurations(e,t,i){this.durations={primary:e,playout:t,integrated:i}}resolveOffsets(e,t){let i=t.main.details,r=i.live?1/0:i.edge,a=0,s=-1;e.forEach((n,o)=>{let l=n.cue.pre,d=n.cue.post,h=l?0:d?r:n.startTime;this.updateAssetDurations(n),s===h?n.cumulativeDuration=a:(a=0,s=h),!d&&n.snapOptions.in&&(n.resumeAnchor=rs(null,i.fragments,n.startOffset+n.resumptionOffset,0,0)||void 0),n.appendInPlace&&!n.appendInPlaceStarted&&(this.primaryCanResumeInPlaceAt(n,t)||(n.appendInPlace=!1)),!n.appendInPlace&&o+1<e.length&&e[o+1].startTime-e[o].resumeTime<.033&&(e[o+1].appendInPlace=!1,e[o+1].appendInPlace&&this.warn(`Could not change append strategy for abutting event ${n}`));let u=tU(n.resumeOffset)?n.resumeOffset:n.duration;a+=u})}primaryCanResumeInPlaceAt(e,t){let i=e.resumeTime,r=e.startTime+e.resumptionOffset;return Math.abs(i-r)>.025?(this.log(`"${e.identifier}" resumption ${i} not aligned with estimated timeline end ${r}`),!1):!Object.keys(t).some(r=>{let a=t[r].details,s=a.edge;if(i>=s)return this.log(`"${e.identifier}" resumption ${i} past ${r} playlist end ${s}`),!1;let n=rs(null,a.fragments,i);if(!n)return this.log(`"${e.identifier}" resumption ${i} does not align with any fragments in ${r} playlist (${a.fragStart}-${a.fragmentEnd})`),!0;let o=.175*("audio"===r);return!(Math.abs(n.start-i)<.025+o||Math.abs(n.end-i)<.025+o)&&(this.log(`"${e.identifier}" resumption ${i} not aligned with ${r} fragment bounds (${n.start}-${n.end} sn: ${n.sn} cc: ${n.cc})`),!0)})}updateAssetDurations(e){if(!e.assetListLoaded)return;let t=e.timelineStart,i=0,r=!1,a=!1;for(let s=0;s<e.assetList.length;s++){let n=e.assetList[s],o=t+i;n.startOffset=i,n.timelineStart=o,r||(r=null===n.duration),a||(a=!!n.error),i+=n.error?0:n.duration||0}r&&!a?e.duration=Math.max(i,e.duration):e.duration=i}removeEvent(e){e.reset(),delete this.eventMap[e.identifier]}}function n6(e){return`[${e.event?'"'+e.event.identifier+'"':"primary"}: ${e.start.toFixed(2)}-${e.end.toFixed(2)}]`}class n7{constructor(e){this.hls=void 0,this.hls=e}destroy(){this.hls=null}loadAssetList(e,t){let i,r=e.assetListUrl;try{i=n3(r,this.hls.sessionId,e.baseUrl)}catch(i){let t=this.assignAssetListError(e,tH.ASSET_LIST_LOAD_ERROR,i,r);this.hls.trigger(tG.ERROR,t);return}t&&"data:"!==i.protocol&&i.searchParams.set("_HLS_start_offset",""+t);let a=this.hls.config,s=new a.loader(a),n={responseType:"json",url:i.href},o=a.interstitialAssetListLoadPolicy.default,l={loadPolicy:o,timeout:o.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};return s.load(n,l,{onSuccess:(t,i,r,a)=>{let s=t.data;if(!Array.isArray(null==s?void 0:s.ASSETS)){let t=this.assignAssetListError(e,tH.ASSET_LIST_PARSING_ERROR,Error("Invalid interstitial asset list"),r.url,i,a);this.hls.trigger(tG.ERROR,t);return}e.assetListResponse=s,this.hls.trigger(tG.ASSET_LIST_LOADED,{event:e,assetListResponse:s,networkDetails:a})},onError:(t,i,r,a)=>{let s=this.assignAssetListError(e,tH.ASSET_LIST_LOAD_ERROR,Error(`Error loading X-ASSET-LIST: HTTP status ${t.code} ${t.text} (${i.url})`),i.url,a,r);this.hls.trigger(tG.ERROR,s)},onTimeout:(t,i,r)=>{let a=this.assignAssetListError(e,tH.ASSET_LIST_LOAD_TIMEOUT,Error(`Timeout loading X-ASSET-LIST (${i.url})`),i.url,t,r);this.hls.trigger(tG.ERROR,a)}}),this.hls.trigger(tG.ASSET_LIST_LOADING,{event:e}),s}assignAssetListError(e,t,i,r,a,s){return e.error=i,{type:t$.NETWORK_E
16RROR,details:t,fatal:!1,interstitial:e,url:r,error:i,networkDetails:s,stats:a}}}function oe(e){var t;null==e||null==(t=e.play())||t.catch(()=>{})}function ot(e,t){return`[${e}] Advancing timeline position to ${t}`}class oi{constructor(e){this.buffered=void 0;const t=(t,i,r)=>{if((i>>>=0)>r-1)throw new DOMException(`Failed to execute '${t}' on 'TimeRanges': The index provided (${i}) is greater than the maximum bound (${r})`);return e[i][t]};this.buffered={get length(){return e.length},end:i=>t("end",i,e.length),start:i=>t("start",i,e.length)}}}let or={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},oa=e=>String.fromCharCode(or[e]||e),os={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},on={17:2,18:4,21:6,22:8,23:10,19:13,20:15},oo={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},ol={25:2,26:4,29:6,30:8,31:10,27:13,28:15},od=["white","green","blue","cyan","red","yellow","magenta","black","transparent"];class oh{constructor(){this.time=null,this.verboseLevel=0}log(e,t){if(this.verboseLevel>=e){let i="function"==typeof t?t():t;t8.log(`${this.time} [${e}] ${i}`)}}}let ou=function(e){let t=[];for(let i=0;i<e.length;i++)t.push(e[i].toString(16));return t};class oc{constructor(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}reset(){this.foreground="white",this.underline=!1,this.italics=!1,this.background="black",this.flash=!1}setStyles(e){let t=["foreground","underline","italics","background","flash"];for(let i=0;i<t.length;i++){let r=t[i];e.hasOwnProperty(r)&&(this[r]=e[r])}}isDefault(){return"white"===this.foreground&&!this.underline&&!this.italics&&"black"===this.background&&!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}}class om{constructor(){this.uchar=" ",this.penState=new oc}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()}}class of{constructor(e){this.chars=[],this.pos=0,this.currPenState=new oc,this.cueStartTime=null,this.logger=void 0;for(let e=0;e<100;e++)this.chars.push(new om);this.logger=e}equals(e){for(let t=0;t<100;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0}copy(e){for(let t=0;t<100;t++)this.chars[t].copy(e.chars[t])}isEmpty(){let e=!0;for(let t=0;t<100;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>100&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=100)}moveCursor(e){let t=this.pos+e;if(e>1)for(let e=this.pos+1;e<t+1;e++)this.chars[e].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=oa(e);this.pos>=100?this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!"):(this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1))}clearFromPos(e){let t;for(t=e;t<100;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<100;i++){let r=this.chars[i].uchar;" "!==r&&(t=!1),e.push(r)}return t?"":e.join("")}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState)}}class op{constructor(e){this.rows=[],this.currRow=14,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<15;t++)this.rows.push(new of(e));this.logger=e}reset(){for(let e=0;e<15;e++)this.rows[e].clear();this.currRow=14}equals(e){let t=!0;for(let i=0;i<15;i++)if(!this.rows[i].equals(e.rows[i])){t=!1;break}return t}copy(e){for(let t=0;t<15;t++)this.rows[t].copy(e.rows[t])}isEmpty(){let e=!0;for(let t=0;t<15;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 = "+i5(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let e=0;e<15;e++)this.rows[e].clear();let e=this.currRow+1-this.nrRollUpRows,i=this.lastOutputScreen;if(i){let r=i.rows[e].cueStartTime,a=this.logger.time;if(null!==r&&null!==a&&r<a)for(let r=0;r<this.nrRollUpRows;r++)this.rows[t-this.nrRollUpRows+r+1].copy(i.rows[e+r])}}this.currRow=t;let i=this.rows[this.currRow];if(null!==e.indent){let t=Math.max(e.indent-1,0);i.setCursor(e.indent),e.color=i.chars[t].penState.foreground}let r={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(r)}setBkgData(e){this.logger.log(2,()=>"bkgData = "+i5(e)),this.backSpace(),this.setPen(e),this.insertChar(32)}setRollUpRows(e){this.nrRollUpRows=e}rollUp(){if(null===this.nrRollUpRows)return void this.logger.log(3,"roll_up but nrRollUpRows not set yet");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="",r=-1;for(let i=0;i<15;i++){let a=this.rows[i].getTextString();a&&(r=i+1,e?t.push("Row "+r+": '"+a+"'"):t.push(a.trim()))}return t.length>0&&(i=e?"["+t.join(" | ")+"]":t.join("\n")),i}getTextAndFormat(){return this.rows}}class og{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 op(i),this.nonDisplayedMemory=new op(i),this.lastOutputScreen=new op(i),this.currRollUpRow=this.displayedMemory.rows[14],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[14],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),"MODE_POP-ON"===this.mode?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),"MODE_ROLL-UP"!==this.mode&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e)}insertChars(e){for(let t=0;t<e.length;t++)this.writeScreen.insertChar(e[t]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),("MODE_PAINT-ON"===this.mode||"MODE_ROLL-UP"===this.mode)&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate())}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON")}ccBS(){this.logger.log(2,"BS - BackSpace"),"MODE_TEXT"!==this.mode&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate())}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate()}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e)}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0})}
16ccRDC(){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"),"MODE_POP-ON"===this.mode){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};(t.underline=e%2==1,t.italics=e>=46,t.italics)?t.foreground="white":t.foreground=["white","green","blue","cyan","red","yellow","magenta"][Math.floor(e/2)-16],this.logger.log(2,"MIDROW: "+i5(t)),this.writeScreen.setPen(t)}outputDataUpdate(e=!1){let t=this.logger.time;null!==t&&this.outputFilter&&(null!==this.cueStartTime||this.displayedMemory.isEmpty()?this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t):this.cueStartTime=t,this.lastOutputScreen.copy(this.displayedMemory))}cueSplitAtTime(e){this.outputFilter&&!this.displayedMemory.isEmpty()&&(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e)}}class ov{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory={a:null,b:null},this.logger=void 0;const r=this.logger=new oh;this.channels=[null,new og(e,t,r),new og(e+1,i,r)]}getHandler(e){return this.channels[e].getHandler()}setHandler(e,t){this.channels[e].setHandler(t)}addData(e,t){this.logger.time=e;for(let e=0;e<t.length;e+=2){var i,r,a,s,n,o,l,d;let h=127&t[e],u=127&t[e+1],c=!1,m=null;if(0===h&&0===u)continue;this.logger.log(3,()=>"["+ou([t[e],t[e+1]])+"] -> ("+ou([h,u])+")");let f=this.cmdHistory;if(h>=16&&h<=31){if(i=h,r=u,(a=f).a===i&&a.b===r){(s=f).a=null,s.b=null,this.logger.log(3,()=>"Repeated command ("+ou([h,u])+") is dropped");continue}n=h,o=u,(l=this.cmdHistory).a=n,l.b=o,(c=this.parseCmd(h,u))||(c=this.parseMidrow(h,u)),c||(c=this.parsePAC(h,u)),c||(c=this.parseBackgroundAttributes(h,u))}else{(d=f).a=null,d.b=null}if(!c&&(m=this.parseChars(h,u))){let e=this.currentChannel;e&&e>0?this.channels[e].insertChars(m):this.logger.log(2,"No channel found yet. TEXT-MODE?")}c||m||this.logger.log(2,()=>"Couldn't parse cleaned data "+ou([h,u])+" orig: "+ou([t[e],t[e+1]]))}}parseCmd(e,t){if(!((20===e||28===e||21===e||29===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=33&&t<=35))return!1;let i=20===e||21===e||23===e?1:2,r=this.channels[i];return 20===e||21===e||28===e||29===e?32===t?r.ccRCL():33===t?r.ccBS():34===t?r.ccAOF():35===t?r.ccAON():36===t?r.ccDER():37===t?r.ccRU(2):38===t?r.ccRU(3):39===t?r.ccRU(4):40===t?r.ccFON():41===t?r.ccRDC():42===t?r.ccTR():43===t?r.ccRTD():44===t?r.ccEDM():45===t?r.ccCR():46===t?r.ccENM():47===t&&r.ccEOC():r.ccTO(t-32),this.currentChannel=i,!0}parseMidrow(e,t){let i=0;if((17===e||25===e)&&t>=32&&t<=47){if((i=17===e?1:2)!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let r=this.channels[i];return!!r&&(r.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+ou([e,t])+")"),!0)}return!1}parsePAC(e,t){let i,r=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,a=(16===e||24===e)&&t>=64&&t<=95;if(!(r||a))return!1;let s=e<=23?1:2;i=t>=64&&t<=95?1===s?os[e]:oo[e]:1===s?on[e]:ol[e];let n=this.channels[s];return!!n&&(n.setPAC(this.interpretPAC(i,t)),this.currentChannel=s,!0)}interpretPAC(e,t){let i,r={color:null,italics:!1,indent:null,underline:!1,row:e};return r.underline=(1&(i=t>95?t-96:t-64))==1,i<=13?r.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(r.italics=!0,r.color="white"):r.indent=4*Math.floor((i-16)/2),r}parseChars(e,t){let i,r=null,a=null;if(e>=25?(i=2,a=e-8):(i=1,a=e),a>=17&&a<=19){let e;e=17===a?t+80:18===a?t+112:t+144,this.logger.log(2,()=>"Special char '"+oa(e)+"' in channel "+i),r=[e]}else e>=32&&e<=127&&(r=0===t?[e]:[e,t]);return r&&this.logger.log(3,()=>"Char codes = "+ou(r).join(",")),r}
16parseBackgroundAttributes(e,t){if(!((16===e||24===e)&&t>=32&&t<=47||(23===e||31===e)&&t>=45&&t<=47))return!1;let i={};return 16===e||24===e?(i.background=od[Math.floor((t-32)/2)],t%2==1&&(i.background=i.background+"_semi")):45===t?i.background="transparent":(i.foreground="black",47===t&&(i.underline=!0)),this.channels[e<=23?1:2].setBkgData(i),!0}reset(){var e;for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset()}(e=this.cmdHistory).a=null,e.b=null}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let i=this.channels[t];i&&i.cueSplitAtTime(e)}}}var oE=function(){if(null!=rJ&&rJ.VTTCue)return self.VTTCue;let e=["","lr","rl"],t=["start","middle","end","left","right"];function i(e,t){if("string"!=typeof t||!Array.isArray(e))return!1;let i=t.toLowerCase();return!!~e.indexOf(i)&&i}function r(e){let t=1;for(;t<arguments.length;t++){let i=arguments[t];for(let t in i)e[t]=i[t]}return e}function a(a,s,n){let o={enumerable:!0};this.hasBeenReset=!1;let l="",d=!1,h=a,u=s,c=n,m=null,f="",p=!0,g="auto",v="start",E=50,y="middle",b=50,T="middle";Object.defineProperty(this,"id",r({},o,{get:function(){return l},set:function(e){l=""+e}})),Object.defineProperty(this,"pauseOnExit",r({},o,{get:function(){return d},set:function(e){d=!!e}})),Object.defineProperty(this,"startTime",r({},o,{get:function(){return h},set:function(e){if("number"!=typeof e)throw TypeError("Start time must be set to a number.");h=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"endTime",r({},o,{get:function(){return u},set:function(e){if("number"!=typeof e)throw TypeError("End time must be set to a number.");u=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"text",r({},o,{get:function(){return c},set:function(e){c=""+e,this.hasBeenReset=!0}})),Object.defineProperty(this,"region",r({},o,{get:function(){return m},set:function(e){m=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"vertical",r({},o,{get:function(){return f},set:function(t){let r=i(e,t);if(!1===r)throw SyntaxError("An invalid or illegal string was specified.");f=r,this.hasBeenReset=!0}})),Object.defineProperty(this,"snapToLines",r({},o,{get:function(){return p},set:function(e){p=!!e,this.hasBeenReset=!0}})),Object.defineProperty(this,"line",r({},o,{get:function(){return g},set:function(e){if("number"!=typeof e&&"auto"!==e)throw SyntaxError("An invalid number or illegal string was specified.");g=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"lineAlign",r({},o,{get:function(){return v},set:function(e){let r=i(t,e);if(!r)throw SyntaxError("An invalid or illegal string was specified.");v=r,this.hasBeenReset=!0}})),Object.defineProperty(this,"position",r({},o,{get:function(){return E},set:function(e){if(e<0||e>100)throw Error("Position must be between 0 and 100.");E=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"positionAlign",r({},o,{get:function(){return y},set:function(e){let r=i(t,e);if(!r)throw SyntaxError("An invalid or illegal string was specified.");y=r,this.hasBeenReset=!0}})),Object.defineProperty(this,"size",r({},o,{get:function(){return b},set:function(e){if(e<0||e>100)throw Error("Size must be between 0 and 100.");b=e,this.hasBeenReset=!0}})),Object.defineProperty(this,"align",r({},o,{get:function(){return T},set:function(e){let r=i(t,e);if(!r)throw SyntaxError("An invalid or illegal string was specified.");T=r,this.hasBeenReset=!0}})),this.displayState=void 0}return a.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text)},a}();class oy{decode(e,t){if(!e)return"";if("string"!=typeof e)throw Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e))}}function ob(e){function t(e,t,i,r){return(0|e)*3600+(0|t)*60+(0|i)+parseFloat(r||0)}let i=e.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return i?parseFloat(i[2])>59?t(i[2],i[3],0,i[4]):t(i[1],i[2],i[3],i[4]):null}class oT{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 r=0;r<i.length;++r)if(t===i[r]){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 o_(e,t,i,r){let a=r?e.split(r):[e];for(let e in a){if("string"!=typeof a[e])continue;let r=a[e].split(i);if(2===r.length)t(r[0],r[1])}}let oA=new oE(0,0,""),oS="middle"===oA.align?"middle":"center";function ok(e){return e.replace(/<br(?: \/)?>/gi,"\n")}class oR{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new oy,this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0}parse(e){let t=this;function i(){let e=t.buffer,i=0;for(e=ok(e);i<e.length&&"\r"!==e[i]&&"\n"!==e[i];)++i;let r=e.slice(0,i);return"\r"===e[i]&&++i,"\n"===e[i]&&++i,t.buffer=e.slice(i),r}e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));try{let e="";if("INITIAL"===t.state){if(!/\r\n|\n/.test(t.buffer))return this;let r=(e=i()).match(/^()?WEBVTT([ \t].*)?$/);if(!(null!=r&&r[0]))throw Error("Malformed WebVTT signature.");t.state="HEADER"}let a=!1;for(;t.buffer&&/\r\n|\n/.test(t.buffer);)switch(a?a=!1:e=i(),t.state){case"HEADER":if(/:/.test(e)){var r;r=e,o_(r,function(e,t){},/:/)}else e||(t.state="ID");continue;case"NOTE":e||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(e)){t.state="NOTE";break}if(!e)continue;if(t.cue=new oE(0,0,""),t.state="CUE",-1===e.indexOf("-->")){t.cue.id=e;continue}case"CUE":if(!t.cue){t.state="BADCUE";continue}try{!function(e,t,i){var r;let a,s,n,o=e;
16function l(){let t=ob(e);if(null===t)throw Error("Malformed timestamp: "+o);return e=e.replace(/^[^\sa-zA-Z-]+/,""),t}function d(){e=e.replace(/^\s+/,"")}if(d(),t.startTime=l(),d(),"-->"!==e.slice(0,3))throw Error("Malformed time stamp (time stamps must be separated by '-->'): "+o);e=e.slice(3),d(),t.endTime=l(),d(),r=e,a=new oT,o_(r,function(e,t){let r;switch(e){case"region":for(let r=i.length-1;r>=0;r--)if(i[r].id===t){a.set(e,i[r].region);break}break;case"vertical":a.alt(e,t,["rl","lr"]);break;case"line":r=t.split(","),a.integer(e,r[0]),a.percent(e,r[0])&&a.set("snapToLines",!1),a.alt(e,r[0],["auto"]),2===r.length&&a.alt("lineAlign",r[1],["start",oS,"end"]);break;case"position":r=t.split(","),a.percent(e,r[0]),2===r.length&&a.alt("positionAlign",r[1],["start",oS,"end","line-left","line-right","auto"]);break;case"size":a.percent(e,t);break;case"align":a.alt(e,t,["start",oS,"end","left","right"])}},/:/,/\s/),t.region=a.get("region",null),t.vertical=a.get("vertical",""),"auto"===(s=a.get("line","auto"))&&-1===oA.line&&(s=-1),t.line=s,t.lineAlign=a.get("lineAlign","start"),t.snapToLines=a.get("snapToLines",!0),t.size=a.get("size",100),t.align=a.get("align",oS),"auto"===(n=a.get("position","auto"))&&50===oA.position&&(n="start"===t.align||"left"===t.align?0:"end"===t.align||"right"===t.align?100:50),t.position=n}(e,t.cue,t.regionList)}catch(e){t.cue=null,t.state="BADCUE";continue}t.state="CUETEXT";continue;case"CUETEXT":{let i=-1!==e.indexOf("-->");if(!e||i&&(a=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue}if(null===t.cue)continue;t.cue.text&&(t.cue.text+="\n"),t.cue.text+=e}continue;case"BADCUE":e||(t.state="ID")}}catch(e){"CUETEXT"===t.state&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state="INITIAL"===t.state?"BADWEBVTT":"BADCUE"}return this}flush(){try{if((this.cue||"HEADER"===this.state)&&(this.buffer+="\n\n",this.parse()),"INITIAL"===this.state||"BADWEBVTT"===this.state)throw Error("Malformed WebVTT signature.")}catch(e){this.onparsingerror&&this.onparsingerror(e)}return this.onflush&&this.onflush(),this}}let oL=/\r\n|\n\r|\n|\r/g,oI=function(e,t,i=0){return e.slice(i,i+t.length)===t},ow=function(e){let t=parseInt(e.slice(-3)),i=parseInt(e.slice(-6,-4)),r=parseInt(e.slice(-9,-7)),a=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;
16if(!tU(t)||!tU(i)||!tU(r)||!tU(a))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*i,t+=6e4*r,t+=36e5*a};function oD(e,t,i){return nJ(e.toString())+nJ(t.toString())+nJ(i)}let oC=function(e,t,i){let r=e[t],a=e[r.prevCC];if(!a||!a.new&&r.new){e.ccOffset=e.presentationOffset=r.start,r.new=!1;return}for(;null!=(s=a)&&s.new;){var s;e.ccOffset+=r.start-a.start,r.new=!1,a=e[(r=a).prevCC]}e.presentationOffset=i},oM="stpp.ttml.im1t",ox=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,oP=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,oO={left:"start",center:"center",right:"end",start:"start",end:"end"};function oN(e,t,i,r){let a=iT(new Uint8Array(e),["mdat"]);if(0===a.length)return void r(Error("Could not parse IMSC1 mdat"));let s=a.map(e=>t7(e)),n=function(e,t=1,i=!1){return s$(e,1,1/t,i)}(t.baseTime,t.timescale);try{s.forEach(e=>i(function(e,t){let i=new DOMParser().parseFromString(e,"text/xml").getElementsByTagName("tt")[0];if(!i)throw Error("Invalid ttml");let r={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},a=Object.keys(r).reduce((e,t)=>(e[t]=i.getAttribute(`ttp:${t}`)||r[t],e),{}),s="preserve"!==i.getAttribute("xml:space"),n=oF(oU(i,"styling","style")),o=oF(oU(i,"layout","region")),l=oU(i,"body","[begin]");return[].map.call(l,e=>{var i,r,l;let d,h,u,c=function e(t,i){return[].slice.call(t.childNodes).reduce((t,r,a)=>{var s;return"br"===r.nodeName&&a?t+"\n":null!=(s=r.childNodes)&&s.length?e(r,i):i?t+r.textContent.trim().replace(/\s+/g," "):t+r.textContent},"")}(e,s);if(!c||!e.hasAttribute("begin"))return null;let m=oH(e.getAttribute("begin"),a),f=oH(e.getAttribute("dur"),a),p=oH(e.getAttribute("end"),a);if(null===m)throw o$(e);if(null===p){if(null===f)throw o$(e);p=m+f}let g=new oE(m-t,p-t,c);g.id=oD(g.startTime,g.endTime,g.text);let v=(i=o[e.getAttribute("region")],r=n[e.getAttribute("style")],l=n,d="http://www.w3.org/ns/ttml#styling",h=null,(u=null!=i&&i.hasAttribute("style")?i.getAttribute("style"):null)&&l.hasOwnProperty(u)&&(h=l[u]),["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"].reduce((e,t)=>{let a=oB(r,d,t)||oB(i,d,t)||oB(h,d,t);return a&&(e[t]=a),e},{})),{textAlign:E}=v;if(E){let e=oO[E];e&&(g.lineAlign=e),g.align=E}return tZ(g,v),g}).filter(e=>null!==e)}(e,n)))}catch(e){r(e)}}function oU(e,t,i){let r=e.getElementsByTagName(t)[0];return r?[].slice.call(r.querySelectorAll(i)):[]}function oF(e){return e.reduce((e,t)=>{let i=t.getAttribute("xml:id");return i&&(e[i]=t),e},{})}function oB(e,t,i){return e&&e.hasAttributeNS(t,i)?e.getAttributeNS(t,i):null}function o$(e){return Error(`Could not parse ttml timestamp ${e}`)}function oH(e,t){var i,r;let a,s;if(!e)return null;let n=ob(e);return null===n&&(ox.test(e)?(i=e,r=t,s=(0|(a=ox.exec(i))[4])+(0|a[5])/r.subFrameRate,n=(0|a[1])*3600+(0|a[2])*60+(0|a[3])+s/r.frameRate):oP.test(e)&&(n=function(e,t){let i=oP.exec(e),r=Number(i[1]);switch(i[2]){case"h":return 3600*r;case"m":return 60*r;case"ms":return 1e3*r;case"f":return r/t.frameRate;case"t":return r/t.tickRate}return r}(e,t))),n}class oG{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t}dispatchCue(){null!==this.startTime&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null)}newCue(e,t,i){(null===this.startTime||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=i,this.timelineController.createCaptionsTrack(this.trackName)}reset(){this.cueRanges=[],this.startTime=null}}function oK(e){return e.characteristics&&/transcribes-spoken-dialog/gi.test(e.characteristics)&&/describes-music-and-sound/gi.test(e.characteristics)?"captions":"subtitles"}function oW(e,t){return!!e&&e.kind===oK(t)&&s7(t,e)}function oV(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}}}let oq=/\s/,oY={newCue(e,t,i,r){let a,s,n,o,l,d=[],h=self.VTTCue||self.TextTrackCue;for(let c=0;c<r.rows.length;c++)if(a=r.rows[c],n=!0,o=0,l="",!a.isEmpty()){var u;for(let e=0;e<a.chars.length;e++)oq.test(a.chars[e].uchar)&&n?o++:(l+=a.chars[e].uchar,n=!1);a.cueStartTime=t,t===i&&(i+=1e-4),o>=16?o--:o++;let r=ok(l.trim()),m=oD(t,i,r);null!=e&&null!=(u=e.cues)&&u.getCueById(m)||((s=new h(t,i,r)).id=m,s.line=c+1,s.align="left",s.position=10+Math.min(80,10*Math.floor(8*o/32)),d.push(s))}return e&&d.length&&(d.sort((e,t)=>
16"auto"===e.line||"auto"===t.line?0:e.line>8&&t.line>8?t.line-e.line:e.line-t.line),d.forEach(t=>nQ(e,t))),d}},oj=/(\d+)-(\d+)\/(\d+)/;class oQ{constructor(e){this.fetchSetup=void 0,this.requestTimeout=void 0,this.request=null,this.response=null,this.controller=void 0,this.context=null,this.config=null,this.callbacks=null,this.stats=void 0,this.loader=null,this.fetchSetup=e.fetchSetup||oz,this.controller=new self.AbortController,this.stats=new ia}destroy(){this.loader=this.callbacks=this.context=this.config=this.request=null,this.abortInternal(),this.response=null,this.fetchSetup=this.controller=this.stats=null}abortInternal(){this.controller&&!this.stats.loading.end&&(this.stats.aborted=!0,this.controller.abort())}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response)}load(e,t,i){var r;let a,s=this.stats;if(s.loading.start)throw Error("Loader can only be used once.");s.loading.start=self.performance.now();let n=(r=e,a={method:"GET",mode:"cors",credentials:"same-origin",signal:this.controller.signal,headers:new self.Headers(tZ({},r.headers))},r.rangeEnd&&a.headers.set("Range","bytes="+r.rangeStart+"-"+String(r.rangeEnd-1)),a),o="arraybuffer"===e.responseType,l=o?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:h}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,n),self.clearTimeout(this.requestTimeout),t.timeout=d&&tU(d)?d:h,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(s,e,this.response))},t.timeout),(s1(this.request)?this.request.then(self.fetch):self.fetch(this.request)).then(i=>{var r;this.response=this.loader=i;let a=Math.max(self.performance.now(),s.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=h,this.requestTimeout=self.setTimeout(()=>{this.callbacks&&(this.abortInternal(),this.callbacks.onTimeout(s,e,this.response))},h-(a-s.loading.start)),!i.ok){let{status:e,statusText:t}=i;throw new oX(t||"fetch, bad network response",e,i)}s.loading.first=a,s.total=function(e){let t=e.get("Content-Range");if(t){let e=function(e){let t=oj.exec(e);if(t)return parseInt(t[2])-parseInt(t[1])+1}(t);if(tU(e))return e}let i=e.get("Content-Length");if(i)return parseInt(i)}(i.headers)||s.total;let n=null==(r=this.callbacks)?void 0:r.onProgress;return n&&tU(t.highWaterMark)?this.loadProgressively(i,s,e,t.highWaterMark,n):o?i.arrayBuffer():"json"===e.responseType?i.json():i.text()}).then(i=>{var r,a;let n=this.response;if(!n)throw Error("loader destroyed");self.clearTimeout(this.requestTimeout),s.loading.end=Math.max(self.performance.now(),s.loading.first);let o=i[l];o&&(s.loaded=s.total=o);let d={url:n.url,data:i,code:n.status},h=null==(r=this.callbacks)?void 0:r.onProgress;h&&!tU(t.highWaterMark)&&h(s,e,i,n),null==(a=this.callbacks)||a.onSuccess(d,s,e,n)}).catch(t=>{var i;if(self.clearTimeout(this.requestTimeout),s.aborted)return;let r=t&&t.code||0,a=t?t.message:null;null==(i=this.callbacks)||i.onError({code:r,text:a},e,t?t.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,r=0,a){let s=new a1,n=e.body.getReader(),o=()=>n.read().then(n=>{if(n.done)return s.dataLength&&a(t,i,s.flush().buffer,e),Promise.resolve(new ArrayBuffer(0));let l=n.value,d=l.length;return t.loaded+=d,d<r||s.dataLength?(s.push(l),s.dataLength>=r&&a(t,i,s.flush().buffer,e)):a(t,i,l.buffer,e),o()}).catch(()=>Promise.reject());return o()}}function oz(e,t){return new self.Request(e.url,t)}class oX extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i}}let oZ=/^age:\s*[\d.]+\s*$/im;class oJ{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new ia,this.retryDelay=0}destroy(){this.callbacks=null,this.abortInternal(),this.loader=null,this.config=null,this.context=null,this.xhrSetup=null}abortInternal(){let e=this.loader;self.clearTimeout(this.requestTimeout),self.clearTimeout(this.retryTimeout),e&&(e.onreadystatechange=null,e.onprogress=null,4!==e.readyState&&(this.stats.aborted=!0,e.abort()))}abort(){var e;this.abortInternal(),null!=(e=this.callbacks)&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader)}load(e,t,i){if(this.stats.loading.start)throw 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||!t)return;let i=this.loader=new self.XMLHttpRequest,r=this.stats;r.loading.first=0,r.loaded=0,r.aborted=!1;let a=this.xhrSetup;a?Promise.resolve().then(()=>
16{if(this.loader===i&&!this.stats.aborted)return a(i,t.url)}).catch(e=>{if(this.loader===i&&!this.stats.aborted)return i.open("GET",t.url,!0),a(i,t.url)}).then(()=>{this.loader!==i||this.stats.aborted||this.openAndSendXhr(i,t,e)}).catch(e=>{var a;null==(a=this.callbacks)||a.onError({code:i.status,text:e.message},t,i,r)}):this.openAndSendXhr(i,t,e)}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);let r=t.headers,{maxTimeToFirstByteMs:a,maxLoadTimeMs:s}=i.loadPolicy;if(r)for(let t in r)e.setRequestHeader(t,r[t]);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=a&&tU(a)?a:s,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 r=t.readyState,a=this.config;if(!i.aborted&&r>=2&&(0===i.loading.first&&(i.loading.first=Math.max(self.performance.now(),i.loading.start),a.timeout!==a.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),a.timeout=a.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),a.loadPolicy.maxLoadTimeMs-(i.loading.first-i.loading.start)))),4===r)){var s,n,o;self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let r=t.status,l="text"===t.responseType?t.responseText:null;if(r>=200&&r<300){let a=null!=l?l:t.response;if(null!=a){i.loading.end=Math.max(self.performance.now(),i.loading.first),i.loaded=i.total="arraybuffer"===t.responseType?a.byteLength:a.length,i.bwEstimate=8e3*i.total/(i.loading.end-i.loading.first);let o=null==(s=this.callbacks)?void 0:s.onProgress;o&&o(i,e,a,t);let l={url:t.responseURL,data:a,code:r};null==(n=this.callbacks)||n.onSuccess(l,i,e,t);return}}let d=a.loadPolicy.errorRetry;rf(d,i.retry,!1,{url:e.url,data:void 0,code:r})?this.retry(d):(t8.error(`${r} while loading ${e.url}`),null==(o=this.callbacks)||o.onError({code:r,text:t.statusText},e,t,i))}}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry;if(rf(e,this.stats.retry,!0))this.retry(e);else{var t;t8.warn(`timeout while loading ${null==(t=this.context)?void 0:t.url}`);let e=this.callbacks;e&&(this.abortInternal(),e.onTimeout(this.stats,this.context,this.loader))}}retry(e){let{context:t,stats:i}=this;this.retryDelay=rc(e,i.retry),i.retry++,t8.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${null==t?void 0:t.url}, retrying ${i.retry}/${e.maxNumRetry} in ${this.retryDelay}ms`),this.abortInternal(),this.loader=null,self.clearTimeout(this.retryTimeout),this.retryTimeout=self.setTimeout(this.loadInternal.bind(this),this.retryDelay)}loadprogress(e){let t=this.stats;t.loaded=e.loaded,e.lengthComputable&&(t.total=e.total)}getCacheAge(){let e=null;if(this.loader&&oZ.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null}return e}getResponseHeader(e){return this.loader&&RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null}}let o0=t0(t0({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,maxDevicePixelRatio:1/0,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,startOnSegmentBoundary:!1,maxBufferSize:6e7,maxFragLookUpTolerance:.25,maxBufferHole:.1,detectStallWithCurrentTimeMs:1250,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,nudgeOnVideoHole:!0,liveSyncMode:"edge",liveSyncDurationCount:3,liveSyncOnStallIncrease:1,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,ignorePlaylistParsingErrors:!1,loader:oJ,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:class extends t1{constructor(e){super("abr",e.logger),this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.co
16decTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.rebufferNotice=-1,this.supportedCache={},this.bwEstimator=void 0,this._abandonRulesCheck=e=>{var t;let i,{fragCurrent:r,partCurrent:a,hls:s}=this,{autoLevelEnabled:n,media:o}=s;if(!r||!o)return;let l=performance.now(),d=a?a.stats:r.stats,h=a?a.duration:r.duration,u=l-d.loading.start,c=s.minAutoLevel,m=r.level,f=this._nextAutoLevel;if(d.aborted||d.loaded&&d.loaded===d.total||m<=c){this.clearTimer(),this._nextAutoLevel=-1;return}if(!n)return;let p=f>-1&&f!==m,g=!!e||p;if(!g&&(o.paused||!o.playbackRate||!o.readyState))return;let v=s.mainForwardBufferInfo;if(!g&&null===v)return;let E=this.bwEstimator.getEstimateTTFB(),y=Math.abs(o.playbackRate);if(u<=Math.max(E,h/(2*y)*1e3))return;let b=v?v.len/y:0,T=d.loading.first?d.loading.first-d.loading.start:-1,A=d.loaded&&T>-1,S=this.getBwEstimate(),k=s.levels,R=k[m],L=Math.max(d.loaded,Math.round(h*(r.bitrate||R.averageBitrate)/8)),I=A?u-T:u;I<1&&A&&(I=Math.min(u,8*d.loaded/S));let w=A?1e3*d.loaded/I:0,D=E/1e3,C=w?(L-d.loaded)/w:8*L/S+D;if(C<=b)return;let M=w?8*w:S,x=(null==(t=(null==e?void 0:e.details)||this.hls.latestLevelDetails)?void 0:t.live)===!0,P=this.hls.config.abrBandWidthUpFactor,O=1/0;for(i=m-1;i>c;i--){let e=k[i].maxBitrate,t=!k[i].details||x;if((O=this.getTimeToLoadFrag(D,M,h*e,t))<Math.min(b,h+D))break}if(O>=C||O>10*h)return;A?this.bwEstimator.sample(u-Math.min(E,T),d.loaded):this.bwEstimator.sampleTTFB(u);let N=k[i].maxBitrate;this.getBwEstimate()*P>N&&this.resetEstimator(N);
16let U=this.findBestLevel(N,c,i,0,b,1,1);U>-1&&(i=U),this.warn(`Fragment ${r.sn}${a?" part "+a.index:""} of level ${m} is loading too slowly; 17 Fragment duration: ${r.duration.toFixed(3)} 18 Time to underbuffer: ${b.toFixed(3)} s 19 Estimated load time for current fragment: ${C.toFixed(3)} s 20 Estimated load time for down switch fragment: ${O.toFixed(3)} s 21 TTFB estimate: ${0|T} ms 22 Current BW estimate: ${tU(S)?0|S:"Unknown"} bps 23 New BW estimate: ${0|this.getBwEstimate()} bps 24 Switching to level ${i} @ ${0|N} bps`),s.nextLoadLevel=s.nextAutoLevel=i,this.clearTimer();let F=()=>{if(this.clearTimer(),this.fragCurrent===r&&this.hls.loadLevel===i&&i>0){let e=this.getStarvationDelay();if(this.warn(`Aborting inflight request ${i>0?"and switching down":""} 25 Fragment duration: ${r.duration.toFixed(3)} s 26 Time to underbuffer: ${e.toFixed(3)} s`),r.abortRequests(),this.fragCurrent=this.partCurrent=null,i>c){let t=this.findBestLevel(this.hls.levels[c].bitrate,c,i,0,e,1,1);-1===t&&(t=c),this.hls.nextLoadLevel=this.hls.nextAutoLevel=t,this.resetEstimator(this.hls.levels[t].bitrate)}}};p||C>2*O?F():this.timer=self.setInterval(F,1e3*O),s.trigger(tG.FRAG_LOAD_EMERGENCY_ABORTED,{frag:r,part:a,stats:d})},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners()}resetEstimator(e){e&&(this.log(`setting initial bwe to ${e}`),this.hls.config.abrEwmaDefaultEstimate=e),this.firstSelection=-1,this.bwEstimator=this.initEstimator()}initEstimator(){let e=this.hls.config;return new tX(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate)}registerListeners(){let{hls:e}=this;e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.FRAG_LOADING,this.onFragLoading,this),e.on(tG.FRAG_LOADED,this.onFragLoaded,this),e.on(tG.FRAG_BUFFERED,this.onFragBuffered,this),e.on(tG.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(tG.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tG.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(tG.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(tG.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e&&(e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.FRAG_LOADING,this.onFragLoading,this),e.off(tG.FRAG_LOADED,this.onFragLoaded,this),e.off(tG.FRAG_BUFFERED,this.onFragBuffered,this),e.off(tG.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(tG.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tG.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(tG.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(tG.ERROR,this.onError,this))}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=this.supportedCache=null,this.fragCurrent=this.partCurrent=null}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,this.supportedCache={},this.fragCurrent=this.partCurrent=null,this.onLevelsUpdated(),this.clearTimer()}onLevelsUpdated(){this.lastLoadedFragLevel>-1&&this.fragCurrent&&(this.lastLoadedFragLevel=this.fragCurrent.level),this._nextAutoLevel=-1,this.onMaxAutoLevelUpdated(),this.codecTiers=null,this.audioTracksByGroup=null}onMaxAutoLevelUpdated(){this.firstSelection=-1,this.nextAutoLevelKey=""}onFragLoading(e,t){let i=t.frag;if(!this.ignoreFragment(i)){if(!i.bitrateTest){var r;this.fragCurrent=i,this.partCurrent=null!=(r=t.part)?r:null}this.clearTimer(),this.timer=self.setInterval(this._abandonRulesCheck,100)}}onLevelSwitching(e,t){this.clearTimer()}onError(e,t){if(!t.fatal)switch(t.details){case tH.BUFFER_ADD_CODEC_ERROR:case tH.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case tH.FRAG_LOAD_TIMEOUT:{let e=t.frag,{fragCurrent:i,partCurrent:r}=this;if(e&&i&&e.sn===i.sn&&e.level===i.level){let t=performance.now(),i=r?r.stats:e.stats,a=t-i.loading.start,s=i.loading.first?i.loading.first-i.loading.start:-1;if(i.loaded&&s>-1){let e=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(a-Math.min(e,s),i.loaded)}else this.bwEstimator.sampleTTFB(a)}}}}getTimeToLoadFrag(e,t,i,r){let a=r?e+this.lastLevelLoadSec:0;return e+i/t+a}onLevelLoaded(e,t){let i=this.hls.config,{loading:r}=t.stats,a=r.end-r.first;tU(a)&&(this.lastLevelLoadSec=a/1e3),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD),this.timer>-1&&this._abandonRulesCheck(t.levelInfo)}onFragLoaded(e,{frag:t,part:i}
26){let r=i?i.stats:t.stats;if(t.type===tY&&this.bwEstimator.sampleTTFB(r.loading.first-r.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let e=i?i.duration:t.duration,a=this.hls.levels[t.level],s=(a.loaded?a.loaded.bytes:0)+r.loaded,n=(a.loaded?a.loaded.duration:0)+e;a.loaded={bytes:s,duration:n},a.realBitrate=Math.round(8*s/n)}if(t.bitrateTest){let e={stats:r,frag:t,part:i,id:t.type};this.onFragBuffered(tG.FRAG_BUFFERED,e),t.bitrateTest=!1}else this.lastLoadedFragLevel=t.level}}onFragBuffered(e,t){let{frag:i,part:r}=t,a=null!=r&&r.stats.loaded?r.stats:i.stats;if(a.aborted||this.ignoreFragment(i))return;let s=a.parsing.end-a.loading.start-Math.min(a.loading.first-a.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(s,a.loaded),a.bwEstimate=this.getBwEstimate(),i.bitrateTest?this.bitrateTestDelay=s/1e3:this.bitrateTestDelay=0}ignoreFragment(e){return e.type!==tY||"initSegment"===e.sn}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1)}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,i=this.getBwEstimate(),r=this.hls.config.maxStarvationDelay,a=this.findBestLevel(i,t,e,0,r,1,1);if(a>-1)return a;let s=this.hls.firstLevel,n=Math.min(Math.max(s,t),e);return this.warn(`Could not find best starting auto level. Defaulting to first in playlist ${s} clamped to ${n}`),n}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel}get nextAutoLevel(){let e=this.forcedAutoLevel,t=this.bwEstimator.canEstimate(),i=this.lastLoadedFragLevel>-1;if(-1!==e&&(!t||!i||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let r=t&&i?this.getNextABRAutoLevel():this.firstAutoLevel;if(-1!==e){let t=this.hls.levels;if(t.length>Math.max(e,r)&&t[e].loadError<=t[r].loadError)return e}return this._nextAutoLevel=r,this.nextAutoLevelKey=this.getAutoLevelKey(),r}getAutoLevelKey(){return`${this.getBwEstimate()}
26_${this.getStarvationDelay().toFixed(2)}`}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:i}=this;if(i.levels.length<=1)return i.loadLevel;let{maxAutoLevel:r,config:a,minAutoLevel:s}=i,n=t?t.duration:e?e.duration:0,o=this.getBwEstimate(),l=this.getStarvationDelay(),d=a.abrBandWidthFactor,h=a.abrBandWidthUpFactor;if(l){let e=this.findBestLevel(o,s,r,l,0,d,h);if(e>=0)return this.rebufferNotice=-1,e}let u=n?Math.min(n,a.maxStarvationDelay):a.maxStarvationDelay;if(!l){let e=this.bitrateTestDelay;e&&(u=(n?Math.min(n,a.maxLoadingDelay):a.maxLoadingDelay)-e,this.info(`bitrate test took ${Math.round(1e3*e)}ms, set first fragment max fetchDuration to ${Math.round(1e3*u)} ms`),d=h=1)}let c=this.findBestLevel(o,s,r,l,u,d,h);if(this.rebufferNotice!==c&&(this.rebufferNotice=c,this.info(`${l?"rebuffering expected":"buffer is empty"}, optimal quality level ${c}`)),c>-1)return c;let m=i.levels[s],f=i.loadLevelObj;return f&&(null==m?void 0:m.bitrate)<f.bitrate?s:i.loadLevel}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let i=t&&0!==t.playbackRate?Math.abs(t.playbackRate):1,r=e.mainForwardBufferInfo;return(r?r.len:0)/i}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate}findBestLevel(e,t,i,r,a,s,n){var o,l;let d,h=r+a,u=this.lastLoadedFragLevel,c=-1===u?this.hls.firstLevel:u,{fragCurrent:m,partCurrent:f}=this,{levels:p,allAudioTracks:g,loadLevel:v,config:E}=this.hls;if(1===p.length)return 0;let y=p[c],b=!!(null!=(o=this.hls.latestLevelDetails)&&o.live),T=-1===v||-1===u,A="SDR",S=(null==y?void 0:y.frameRate)||0,{audioPreference:k,videoPreference:R}=E,L=this.audioTracksByGroup||(this.audioTracksByGroup=i9(g)),I=-1;if(T){if(-1!==this.firstSelection)return this.firstSelection;let r=function(e,t,i,r,a){let s=Object.keys(e),n=null==r?void 0:r.channels,o=null==r?void 0:r.audioCodec,l=null==a?void 0:a.videoCodec,d=n&&2===parseInt(n),h=!1,u=!1,
26c=1/0,m=1/0,f=1/0,p=1/0,g=0,v=[],{preferHDR:E,allowedVideoRanges:y}=function(e,t){let i=!1,r=[];if(e&&(i="SDR"!==e,r=[e]),t){let e="SDR"!==(r=t.allowedVideoRanges||i0.slice(0)).join("")&&!t.videoCodec;(i=void 0!==t.preferHDR?t.preferHDR:e&&function(){if("function"==typeof matchMedia){let e=matchMedia("(dynamic-range: high)"),t=matchMedia("bad query");if(e.media!==t.media)return!0===e.matches}return!1}())||(r=["SDR"])}return{preferHDR:i,allowedVideoRanges:r}}(t,a);for(let t=s.length;t--;){let i=e[s[t]];h||(h=i.channels[2]>0),c=Math.min(c,i.minHeight),m=Math.min(m,i.minFramerate),f=Math.min(f,i.minBitrate),y.filter(e=>i.videoRanges[e]>0).length>0&&(u=!0)}c=tU(c)?c:0,m=tU(m)?m:0;let b=Math.max(1080,c),T=Math.max(30,m);i=Math.max(f=tU(f)?f:i,i),u||(t=void 0);let A=s.length>1;return{codecSet:s.reduce((t,r)=>{let a=e[r];if(r===t)return t;if(v=u?y.filter(e=>a.videoRanges[e]>0):[],A){if(a.minBitrate>i)return i8(r,`min bitrate of ${a.minBitrate} > current estimate of ${i}`),t;if(!a.hasDefaultAudio)return i8(r,"no renditions with default or auto-select sound found"),t;if(o&&r.indexOf(o.substring(0,4))%5!=0)return i8(r,`audio codec preference "${o}" not found`),t;if(n&&!d){if(!a.channels[n])return i8(r,`no renditions with ${n} channel sound found (channels options: ${Object.keys(a.channels)})`),t}else if((!o||d)&&h&&0===a.channels["2"])return i8(r,"no renditions with stereo sound found"),t;if(a.minHeight>b)return i8(r,`min resolution of ${a.minHeight} > maximum of ${b}`),t;if(a.minFramerate>T)return i8(r,`min framerate of ${a.minFramerate} > maximum of ${T}`),t;if(!v.some(e=>a.videoRanges[e]>0))return i8(r,`no variants with VIDEO-RANGE of ${i5(v)} found`),t;if(l&&r.indexOf(l.substring(0,4))%5!=0)return i8(r,`video codec preference "${l}" not found`),t;if(a.maxScore<g)return i8(r,`max score of ${a.maxScore} < selected max of ${g}`),t}return t&&(i$(r)>=i$(t)||a.fragmentError>e[t].fragmentError)?t:(p=a.minIndex,g=a.maxScore,r)},void 0),videoRanges:v,preferHDR:E,minFramerate:m,minBitrate:f,minIndex:p}}(this.codecTiers||(this.codecTiers=p.slice(t,i+1).reduce((e,t,i)=>{if(!t.codecSet)return e;let r=t.audioGroups,a=e[t.codecSet];a||(e[t.codecSet]=a={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,minIndex:i,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!r,fragmentError:0}),a.minBitrate=Math.min(a.minBitrate,t.bitrate);let s=Math.min(t.height,t.width);return a.minHeight=Math.min(a.minHeight,s),a.minFramerate=Math.min(a.minFramerate,t.frameRate),a.minIndex=Math.min(a.minIndex,i),a.maxScore=Math.max(a.maxScore,t.score),a.fragmentError+=t.fragmentError,a.videoRanges[t.videoRange]=(a.videoRanges[t.videoRange]||0)+1,r&&r.forEach(e=>{if(!e)return;let t=L.groups[e];t&&(a.hasDefaultAudio=a.hasDefaultAudio||L.hasDefaultAudio?t.hasDefault:t.hasAutoSelect||!L.hasDefaultAudio&&!L.hasAutoSelectAudio,Object.keys(t.channels).forEach(e=>{a.channels[e]=(a.channels[e]||0)+t.channels[e]}))}),e},{})),A,e,k,R),{codecSet:a,videoRanges:s,minFramerate:n,minBitrate:o,minIndex:l,preferHDR:h}=r;I=l,d=a,A=h?s[s.length-1]:s[0],S=n,e=Math.max(e,o),this.log(`picked start tier ${i5(r)}`)}else d=null==y?void 0:y.codecSet,A=null==y?void 0:y.videoRange;let w=f?f.duration:m?m.duration:0,D=this.bwEstimator.getEstimateTTFB()/1e3,C=[];for(let o=i;o>=t;o--){let t,m=p[o],g=o>c;if(!m)continue;if(E.useMediaCapabilities&&!m.supportedResult&&!m.supportedPromise){let t=navigator.mediaCapabilities;"function"==typeof(null==t?void 0:t.decodingInfo)&&function(e,t,i,r,a,s){let n=e.videoCodec,o=e.audioCodec?e.audioGroups:null,l=null==s?void 0:s.audioCodec,d=null==s?void 0:s.channels,h=d?parseInt(d):l?1/0:2,u=null;if(null!=o&&o.length)try{u=1===o.length&&o[0]?t.groups[o[0]].channels:o.reduce((e,i)=>{if(i){let r=t.groups[i];if(!r)throw Error(`Audio track group ${i} not found`);Object.keys(r.channels).forEach(t=>{e[t]=(e[t]||0)+r.channels[t]})}return e},{2:0})}catch(e){return!0}return void 0!==n&&(n.split(",").some(e=>iC(e))||e.width>1920&&e.height>1088||e.height>1920&&e.width>1088||e.frameRate>Math.max(r,30)||"SDR"!==e.videoRange&&e.videoRange!==i||e.bitrate>Math.max(a,8e6))||!!u&&tU(h)&&Object.keys(u).some(e=>parseInt(e)>h)}(m,L,A,S,e,k)?(m.supportedPromise=iX(m,L,t,this.supportedCache),m.supportedPromise.then(e=>{if(!this.hls)return;m.supportedResult=e;let t=this.hls.levels,i=t.indexOf(m);e.error?this.warn(`MediaCapabilities decodingInfo error: "${e.error}" for level ${i} ${i5(e)}`):e.supported?e.decodingInfoResults.some(e=>!1===e.smooth||!1===e.powerEfficient)&&this.log(`MediaCapabilities decodingInfo for level ${i} not smooth or powerEfficient: ${i5(e)}`):(this.warn(`Unsupported MediaCapabilities decodingInfo result for level ${i} ${i5(e)}`),i>-1&&t.length>1&&(this.log(`Removing unsupported level ${i}`),this.hls.removeLevel(i),-1===this.hls.loadLevel&&(this.hls.nextLoadLevel=0)))}).catch(e=>{this.warn(`Error handling MediaCapabilities decodingInfo: ${e}`)})):m.supportedResult=iQ}if((d&&m.codecSet!==d||A&&m.videoRange!==A||g&&S>m.frameRate||!g&&S>0&&S<m.frameRate||null!=(l=m.supportedResult)&&null!=(l=l.decodingInfoResults)&&l.some(e=>!1===e.smooth))&&(!T||o!==I)){C.push(o);continue}let y=m.details,R=(f?null==y?void 0:y.partTarget:null==y?void 0:y.averagetargetduration)||w;t=g?n*e:s*e;let M=w&&r>
26=2*w&&0===a?m.averageBitrate:m.maxBitrate,x=this.getTimeToLoadFrag(D,t,M*R,void 0===y);if(t>=M&&(o===u||0===m.loadError&&0===m.fragmentError)&&(x<=D||!tU(x)||b&&!this.bitrateTestDelay||x<h)){let e=this.forcedAutoLevel;return o!==v&&(-1===e||e!==v)&&(C.length&&this.trace(`Skipped level(s) ${C.join(",")} of ${i} max with CODECS and VIDEO-RANGE:"${p[C[0]].codecs}" ${p[C[0]].videoRange}; not compatible with "${d}" ${A}`),this.info(`switch candidate:${c}->${o} adjustedbw(${Math.round(t)})-bitrate=${Math.round(t-M)} ttfb:${D.toFixed(1)} avgDuration:${R.toFixed(1)} maxFetchDuration:${h.toFixed(1)} fetchDuration:${x.toFixed(1)} firstSelection:${T} codecSet:${m.codecSet} videoRange:${m.videoRange} hls.loadLevel:${v}`)),T&&(this.firstSelection=o),o}}return -1}set nextAutoLevel(e){let t=this.deriveNextAutoLevel(e);this._nextAutoLevel!==t&&(this.nextAutoLevelKey="",this._nextAutoLevel=t)}deriveNextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:i}=this.hls;return Math.min(Math.max(e,i),t)}},bufferController:class extends t1{constructor(e,t){super("buffer-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.details=null,this._objectUrl=null,this.operationQueue=null,this.bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.blockedAudioAppend=null,this.lastVideoAppendEnd=0,this.appendSource=void 0,this.transferData=void 0,this.overrides=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.sourceBuffers=[[null,null],[null,null]],this._onEndStreaming=e=>{var t;this.hls&&(null==(t=this.mediaSource)?void 0:t.readyState)==="open"&&this.hls.pauseBuffering()},this._onStartStreaming=e=>{this.hls&&this.hls.resumeBuffering()},this._onMediaSourceOpen=e=>{let{media:t,mediaSource:i}=this;e&&this.log("Media source opened"),t&&i&&(i.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("emptied",this._onMediaEmptied),this.updateDuration(),this.hls.trigger(tG.MEDIA_ATTA
26CHED,{media:t,mediaSource:i}),null!==this.mediaSource&&this.checkPendingTracks())},this._onMediaSourceClose=()=>{this.log("Media source closed")},this._onMediaSourceEnded=()=>{this.log("Media source ended")},this._onMediaEmptied=()=>{let{mediaSrc:e,_objectUrl:t}=this;e!==t&&this.error(`Media element src was set while attaching MediaSource (${t} > ${e})`)},this.hls=e,this.fragmentTracker=t,this.appendSource=function(e){return"u">typeof self&&e===self.ManagedMediaSource}(t9(e.config.preferManagedMediaSource)),this.initTracks(),this.registerListeners()}hasSourceTypes(){return Object.keys(this.tracks).length>0}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.transferData=this.overrides=void 0,this.operationQueue&&(this.operationQueue.destroy(),this.operationQueue=null),this.hls=this.fragmentTracker=null,this._onMediaSourceOpen=this._onMediaSourceClose=null,this._onMediaSourceEnded=null,this._onStartStreaming=this._onEndStreaming=null}registerListeners(){let{hls:e}=this;
26e.on(tG.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tG.BUFFER_RESET,this.onBufferReset,this),e.on(tG.BUFFER_APPENDING,this.onBufferAppending,this),e.on(tG.BUFFER_CODECS,this.onBufferCodecs,this),e.on(tG.BUFFER_EOS,this.onBufferEos,this),e.on(tG.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(tG.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(tG.FRAG_PARSED,this.onFragParsed,this),e.on(tG.FRAG_CHANGED,this.onFragChanged,this),e.on(tG.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(tG.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tG.BUFFER_RESET,this.onBufferReset,this),e.off(tG.BUFFER_APPENDING,this.onBufferAppending,this),e.off(tG.BUFFER_CODECS,this.onBufferCodecs,this),e.off(tG.BUFFER_EOS,this.onBufferEos,this),e.off(tG.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(tG.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(tG.FRAG_PARSED,this.onFragParsed,this),e.off(tG.FRAG_CHANGED,this.onFragChanged,this),e.off(tG.ERROR,this.onError,this)}transferMedia(){let{media:e,mediaSource:t}=this;if(!e)return null;let i={};if(this.operationQueue){let e=this.isUpdating();e||this.operationQueue.removeBlockers();let t=this.isQueued();(e||t)&&this.warn(`Transfering MediaSource with${t?" operations in queue":""}${e?" updating SourceBuffer(s)":""} ${this.operationQueue}`),this.operationQueue.destroy()}let r=this.transferData;return!this.sourceBufferCount&&r&&r.mediaSource===t?tZ(i,r.tracks):this.sourceBuffers.forEach(e=>{let[t]=e;t&&(i[t]=tZ({},this.tracks[t]),this.removeBuffer(t)),e[0]=e[1]=null}),{media:e,mediaSource:t,tracks:i}}initTracks(){this.sourceBuffers=[[null,null],[null,null]],this.tracks={},this.resetQueue(),this.resetAppendErrors(),this.lastMpegAudioChunk=this.blockedAudioAppend=null,this.lastVideoAppendEnd=0}onManifestLoading(){this.bufferCodecEventsTotal=0,this.details=null}onManifestParsed(e,t){var i;let r=2;(!t.audio||t.video)&&t.altAudio||(r=1),this.bufferCodecEventsTotal=r,this.log(`${r} bufferCodec event(s) expected.`),null!=(i=this.transferData)&&i.mediaSource&&this.sourceBufferCount&&r&&this.bufferCreated()}onMediaAttaching(e,t){let i=this.media=t.media;this.transferData=this.overrides=void 0;let r=t9(this.appendSource);if(r){let e=!!t.mediaSource;(e||t.overrides)&&(this.transferData=t,this.overrides=t.overrides);let n=this.mediaSource=t.mediaSource||new r;if(this.assignMediaSource(n),e)this._objectUrl=i.src,this.attachTransferred();else{let e=this._objectUrl=self.URL.createObjectURL(n);if(this.appendSource)try{var a,s;let t;i.removeAttribute("src");let r=self.ManagedMediaSource;i.disableRemotePlayback=i.disableRemotePlayback||r&&n instanceof r,na(i),a=i,s=e,(t=self.document.createElement("source")).type="video/mp4",t.src=s,a.appendChild(t),i.load()}catch(t){i.src=e}else i.src=e}i.addEventListener("emptied",this._onMediaEmptied)}}assignMediaSource(e){var t,i;this.log(`${(null==(t=this.transferData)?void 0:t.mediaSource)===e?"transferred":"created"} media source: ${null==(i=e.constructor)?void 0:i.name}`),e.addEventListener("sourceopen",this._onMediaSourceOpen),e.addEventListener("sourceended",this._onMediaSourceEnded),e.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(e.addEventListener("startstreaming",this._onStartStreaming),e.addEventListener("endstreaming",this._onEndStreaming))}attachTransferred(){let e=this.media,t=this.transferData;if(!t||!e)return;let i=this.tracks,r=t.tracks,a=r?Object.keys(r):null,s=a?a.length:0,n=()=>{Promise.resolve().then(()=>{this.media&&this.mediaSourceOpenOrEnded&&this._onMediaSourceOpen()})};if(r&&a&&s){if(!this.tracksReady){this.hls.config.startFragPrefetch=!0,this.log("attachTransferred: waiting for SourceBuffer track info");return}if(this.log(`attachTransferred: (bufferCodecEventsTotal ${this.bufferCodecEventsTotal}) 27required tracks: ${i5(i,(e,t)=>"initSegment"===e?void 0:t)}; 28transfer tracks: ${i5(r,(e,t)=>"initSegment"===e?void 0:t)}}`),!t6(r,i)){t.mediaSource=null,t.tracks=void 0;let a=e.currentTime,s=this.details,n=Math.max(a,(null==s?void 0:s.fragments[0].start)||0);return n-a>1?void this.log(`attachTransferred: waiting for playback to reach new tracks start time ${a} -> ${n}`):(this.warn(`attachTransferred: resetting MediaSource for incompatible tracks ("${Object.keys(r)}"->"${Object.keys(i)}") start time: ${n} currentTime: ${a}`),this.onMediaDetaching(tG.MEDIA_DETACHING,{}
28),this.onMediaAttaching(tG.MEDIA_ATTACHING,t),void(e.currentTime=n))}this.transferData=void 0,a.forEach(e=>{let t=r[e];if(t){let i=t.buffer;if(i){let r=this.fragmentTracker,a=t.id;if(r.hasFragments(a)||r.hasParts(a)){let t=rN.getBuffered(i);r.detectEvictedFragments(e,t,a,null,!0)}let s=ns(e),n=[e,i];this.sourceBuffers[s]=n,i.updating&&this.operationQueue&&this.operationQueue.prependBlocker(e),this.trackSourceBuffer(e,t)}}}),n(),this.bufferCreated()}else this.log("attachTransferred: MediaSource w/o SourceBuffers"),n()}get mediaSourceOpenOrEnded(){var e;let t=null==(e=this.mediaSource)?void 0:e.readyState;return"open"===t||"ended"===t}onMediaDetaching(e,t){let i=!!t.transferMedia;this.transferData=this.overrides=void 0;let{media:r,mediaSource:a,_objectUrl:s}=this;if(a){if(this.log(`media source ${i?"transferring":"detaching"}`),i)this.sourceBuffers.forEach(([e])=>{e&&this.removeBuffer(e)}),this.resetQueue();else{if(this.mediaSourceOpenOrEnded){let e="open"===a.readyState;try{let t=a.sourceBuffers;for(let i=t.length;i--;)e&&t[i].abort(),a.removeSourceBuffer(t[i]);e&&a.endOfStream()}catch(e){this.warn(`onMediaDetaching: ${e.message} while calling endOfStream`)}}this.sourceBufferCount&&this.onBufferReset()}a.removeEventListener("sourceopen",this._onMediaSourceOpen),a.removeEventListener("sourceended",this._onMediaSourceEnded),a.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(a.removeEventListener("startstreaming",this._onStartStreaming),a.removeEventListener("endstreaming",this._onEndStreaming)),this.mediaSource=null,this._objectUrl=null}r&&(r.removeEventListener("emptied",this._onMediaEmptied),i||(s&&self.URL.revokeObjectURL(s),this.mediaSrc===s?(r.removeAttribute("src"),this.appendSource&&na(r),r.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.media=null),this.hls.trigger(tG.MEDIA_DETACHED,t)}onBufferReset(){this.sourceBuffers.forEach(([e])=>{e&&this.resetBuffer(e)}),this.initTracks()}resetBuffer(e){var t,i;let r=null==(t=this.tracks[e])?void 0:t.buffer;if(this.removeBuffer(e),r)try{null!=(i=this.mediaSource)&&i.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(r)}catch(t){this.warn(`onBufferReset ${e}`,t)}delete this.tracks[e]}removeBuffer(e){this.removeBufferListeners(e),this.sourceBuffers[ns(e)]=[null,null];let t=this.tracks[e];t&&(t.buffer=void 0)}resetQueue(){this.operationQueue&&this.operationQueue.destroy(),this.operationQueue=new ne(this.tracks)}onBufferCodecs(e,t){var i;let r=this.tracks,a=Object.keys(t);this.log(`BUFFER_CODECS: "${a}" (current SB count ${this.sourceBufferCount})`);let s="audiovideo"in t&&(r.audio||r.video)||r.audiovideo&&("audio"in t||"video"in t),n=!s&&this.sourceBufferCount&&this.media&&a.some(e=>!r[e]);s||n?this.warn(`Unsupported transition between "${Object.keys(r)}" and "${a}" SourceBuffers`):(a.forEach(e=>{var i,a;let{id:s,codec:n,levelCodec:o,container:l,metadata:d,supplemental:h}=t[e],u=r[e],c=null==(i=this.transferData)||null==(i=i.tracks)?void 0:i[e],m=null!=c&&c.buffer?c:u,f=(null==m?void 0:m.pendingCodec)||(null==m?void 0:m.codec),p=null==m?void 0:m.levelCodec;u||(u=r[e]={buffer:void 0,listeners:[],codec:n,supplemental:h,container:l,levelCodec:o,metadata:d,id:s});let g=iW(f,p),v=null==g?void 0:g.replace(nt,"$1"),E=iW(n,o),y=null==(a=E)?void 0:a.replace(nt,"$1");E&&g&&v!==y&&("audio"===e.slice(0,5)&&(E=iK(E,this.appendSource)),this.log(`switching codec ${f} to ${E}`),E!==(u.pendingCodec||u.codec)&&(u.pendingCodec=E),u.container=l,this.appendChangeType(e,l,E))}),(this.tracksReady||this.sourceBufferCount)&&(t.tracks=this.sourceBufferTracks),!this.sourceBufferCount&&(!(this.bufferCodecEventsTotal>1)||this.tracks.video||t.video||(null==(i=t.audio)?void 0:i.id)!=="main"||(this.log("Main audio-only"),this.bufferCodecEventsTotal=1),this.mediaSourceOpenOrEnded&&this.checkPendingTracks()))}get sourceBufferTracks(){return Object.keys(this.tracks).reduce((e,t)=>{let i=this.tracks[t];return e[t]={id:i.id,container:i.container,codec:i.codec,levelCodec:i.levelCodec},e},{})}appendChangeType(e,t,i){let r=`${t};codecs=${i}`,a={label:`change-type=${r}`,execute:()=>{let a=this.tracks[e];if(a){let s=a.buffer;null!=s&&s.changeType&&(this.log(`changing ${e} sourceBuffer type to ${r}`),s.changeType(r),a.codec=i,a.container=t)}this.shiftAndExecuteNext(e)},onStart:()=>{},onComplete:()=>{},onError:t=>{this.warn(`Failed to change ${e} SourceBuffer type`,t)}};this.append(a,e,this.isPending(this.tracks[e]))}blockAudio(e){var t;let i=e.start,r=i+.05*e.duration;if((null==(t=this.fragmentTracker.getAppendedFrag(i,tY))?void 0:t.gap)===!0)return;let a={label:"block-audio",execute:()=>{var e;let t=this.tracks.video;(this.lastVideoAppendEnd>r||null!=t&&t.buffer&&rN.isBuffered(t.buffer,r)||(null==(e=this.fragmentTracker.getAppendedFrag(r,tY))?void 0:e.gap)===!0)&&(this.blockedAudioAppend=null,this.shiftAndExecuteNext("audio"))},onStart:()=>{},onComplete:()=>{},onError:e=>{this.warn("Error executing block-audio operation",e)}};this.blockedAudioAppend={op:a,frag:e},this.append(a,"audio",!0)}unblockAudio(){let{blockedAudioAppend:e,operationQueue:t}=this;e&&t&&(this.blockedAudioAppend=null,t.unblockAudio(e.op))}onBufferAppending(e,t){let{tracks:i}=this,{data:r,type:a,parent:s,frag:n,part:o,chunkMeta:l,offset:d}=t,h=l.buffering[a],{sn:u,cc:c}=n,m=self.performance.now();h.start=m;let f=n.stats.buffering,p=o?o.stats.buffering:null;0===f.start&&(f.start=m),p&&0===p.start&&(p.start=m);let g=i.audio,v=!1;"audio"===a&&(null==g?void 0:g.container)==="audio/mpeg"&&(v=!this.lastMpegAudioChunk||1===l.id||this.lastMpegAudioChunk.sn!==l.sn,this.lastMpegAudioChunk=l);let E=i.video,y=null==E?void 0:E.buffer;if(y&&"initSegment"!==u){let e=o||n,t=this.blockedAudioAppend;if("audio"!==a||"main"===s||this.blockedAudioAppend||E.ending||E.ended){if("video"===a){let i=e.end;if(t){let e=t.frag.start;(i>e||i<this.lastVideoAppendEnd||rN.isBuffered(y,e))&&this.unblockAudio()}this.lastVideoAppendEnd=i}}else{let t=e.start+.05*e.duration,i=y.buffered,r=this.currentOp("video");(i.length||r)&&(r||rN.isBuffered(y,t)||!(this.lastVideoAppendEnd<t))||this.blockAudio(e)}}let b=(o||n).start,T={label:`append-${a}`,execute:()=>{var e;h.executeStart=self.performance.now();let t=null==(e=this.tracks[a])?void 0:e.buffer;t&&(v?this.updateTimestampOffset(t,b,.1,a,u,c):void 0!==d&&tU(d)&&this.updateTimestampOffset(t,d,1e-6,a,u,c)),this.appendExecutor(r,a)},onStart:()=>{},onComplete:()=>{let e=self.performance.now();h.executeEnd=h.end=e,0===f.first&&(f.first=e),p&&0===p.first&&(p.first=e);let t={};
28this.sourceBuffers.forEach(([e,i])=>{e&&(t[e]=rN.getBuffered(i))}),this.appendErrors[a]=0,"audio"===a||"video"===a?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(tG.BUFFER_APPENDED,{type:a,frag:n,part:o,chunkMeta:l,parent:n.type,timeRanges:t})},onError:e=>{var t;let i={type:t$.MEDIA_ERROR,parent:n.type,details:tH.BUFFER_APPEND_ERROR,sourceBufferName:a,frag:n,part:o,chunkMeta:l,error:e,err:e,fatal:!1},r=null==(t=this.media)?void 0:t.error;if(e.code===DOMException.QUOTA_EXCEEDED_ERR||"QuotaExceededError"==e.name||"quota"in e)i.details=tH.BUFFER_FULL_ERROR;else if(e.code===DOMException.INVALID_STATE_ERR&&this.mediaSourceOpenOrEnded&&!r)i.errorAction=rg(!0);else if(e.name===ni&&0===this.sourceBufferCount)i.errorAction=rg(!0);else{let e=++this.appendErrors[a];this.warn(`Failed ${e}/${this.hls.config.appendErrorMaxRetry} times to append segment in "${a}" sourceBuffer (${r||"no media error"})`),(e>=this.hls.config.appendErrorMaxRetry||r)&&(i.fatal=!0)}this.hls.trigger(tG.ERROR,i)}};this.log(`queuing "${a}" append sn: ${u}${o?" p: "+o.index:""} of ${n.type===tY?"level":"track"} ${n.level} cc: ${c}`),this.append(T,a,this.isPending(this.tracks[a]))}getFlushOp(e,t,i){return this.log(`queuing "${e}" remove ${t}-${i}`),{label:"remove",execute:()=>{this.removeExecutor(e,t,i)},onStart:()=>{},onComplete:()=>{this.hls.trigger(tG.BUFFER_FLUSHED,{type:e})},onError:r=>{this.warn(`Failed to remove ${t}-${i} from "${e}" SourceBuffer`,r)}}}onBufferFlushing(e,t){let{type:i,startOffset:r,endOffset:a}=t;i?this.append(this.getFlushOp(i,r,a),i):this.sourceBuffers.forEach(([e])=>{e&&this.append(this.getFlushOp(e,r,a),e)})}onFragParsed(e,t){let{frag:i,part:r}=t,a=[],s=r?r.elementaryStreams:i.elementaryStreams;s[il]?a.push("audiovideo"):(s[is]&&a.push("audio"),s[io]&&a.push("video"));let n=()=>{let e=self.performance.now();i.stats.buffering.end=e,r&&(r.stats.buffering.end=e);let t=r?r.stats:i.stats;this.hls.trigger(tG.FRAG_BUFFERED,{frag:i,part:r,stats:t,id:i.type})};0===a.length&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${i.type} level: ${i.level} sn: ${i.sn}`),this.blockBuffers(n,a).catch(e=>{this.warn(`Fragment buffered callback ${e}`),this.stepOperationQueue(this.sourceBufferTypes)})}onFragChanged(e,t){this.trimBuffers()}get bufferedToEnd(){return this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{if(e){let t=this.tracks[e];if(t)return!t.ended||t.ending}return!1})}onBufferEos(e,t){var i;this.sourceBuffers.forEach(([e])=>{if(e){let i=this.tracks[e];(!t.type||t.type===e)&&(i.ending=!0,i.ended||(i.ended=!0,this.log(`${e} buffer reached EOS`)))}});let r=(null==(i=this.overrides)?void 0:i.endOfStream)!==!1;this.sourceBufferCount>0&&!this.sourceBuffers.some(([e])=>{var t;return e&&!(null!=(t=this.tracks[e])&&t.ended)})?r?(this.log("Queueing EOS"),this.blockUntilOpen(()=>{this.tracksEnded();let{mediaSource:e}=this;if(!e||"open"!==e.readyState){e&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${e.readyState}`);return}this.log("Calling mediaSource.endOfStream()"),e.endOfStream(),this.hls.trigger(tG.BUFFERED_TO_END,void 0)})):(this.tracksEnded(),this.hls.trigger(tG.BUFFERED_TO_END,void 0)):"video"===t.type&&this.unblockAudio()}tracksEnded(){this.sourceBuffers.forEach(([e])=>{if(null!==e){let t=this.tracks[e];t&&(t.ending=!1)}})}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.updateDuration())}updateDuration(){this.blockUntilOpen(()=>{let e=this.getDurationAndRange();e&&this.updateMediaSource(e)})}onError(e,t){if(t.details===tH.BUFFER_APPEND_ERROR&&t.frag){var i;let e=null==(i=t.errorAction)?void 0:i.nextAutoLevel;tU(e)&&e!==t.frag.level&&this.resetAppendErrors()}}resetAppendErrors(){this.appendErrors={audio:0,video:0,audiovideo:0}}trimBuffers(){let{hls:e,details:t,media:i}=this;if(!i||null===t||!this.sourceBufferCount)return;let r=e.config,a=i.currentTime,s=t.levelTargetDuration,n=t.live&&null!==r.liveBackBufferLength?r.liveBackBufferLength:r.backBufferLength;if(tU(n)&&n>=0){let e=Math.max(n,s),t=Math.floor(a/s)*s-e;this.flushBackBuffer(a,s,t)}let o=r.frontBufferFlushThreshold;if(tU(o)&&o>0){let e=Math.max(Math.max(r.maxBufferLength,o),s),t=Math.floor(a/s)*s+e;this.flushFrontBuffer(a,s,t)}}
28flushBackBuffer(e,t,i){this.sourceBuffers.forEach(([e,t])=>{if(t){let a=rN.getBuffered(t);if(a.length>0&&i>a.start(0)){var r;this.hls.trigger(tG.BACK_BUFFER_REACHED,{bufferEnd:i});let t=this.tracks[e];if(null!=(r=this.details)&&r.live)this.hls.trigger(tG.LIVE_BACK_BUFFER_REACHED,{bufferEnd:i});else if(null!=t&&t.ended)return void this.log(`Cannot flush ${e} back buffer while SourceBuffer is in ended state`);this.hls.trigger(tG.BUFFER_FLUSHING,{startOffset:0,endOffset:i,type:e})}}})}flushFrontBuffer(e,t,i){this.sourceBuffers.forEach(([t,r])=>{if(r){let a=rN.getBuffered(r),s=a.length;if(s<2)return;let n=a.start(s-1),o=a.end(s-1);i>n||e>=n&&e<=o||this.hls.trigger(tG.BUFFER_FLUSHING,{startOffset:n,endOffset:1/0,type:t})}})}getDurationAndRange(){var e;let{details:t,mediaSource:i}=this;if(!t||!this.media||(null==i?void 0:i.readyState)!=="open")return null;let r=t.edge;if(t.live&&this.hls.config.liveDurationInfinity){if(t.fragments.length&&i.setLiveSeekableRange){let e=Math.max(0,t.fragmentStart),i=Math.max(e,r);return{duration:1/0,start:e,end:i}}return{duration:1/0}}let a=null==(e=this.overrides)?void 0:e.duration;if(a)return tU(a)?{duration:a}:null;let s=this.media.duration;return r>(tU(i.duration)?i.duration:0)&&r>s||!tU(s)?{duration:r}:null}updateMediaSource({duration:e,start:t,end:i}){let r=this.mediaSource;this.media&&r&&"open"===r.readyState&&(r.duration!==e&&(tU(e)&&this.log(`Updating MediaSource duration to ${e.toFixed(3)}`),r.duration=e),void 0!==t&&void 0!==i&&(this.log(`MediaSource duration is set to ${r.duration}. Setting seekable range to ${t}-${i}.`),r.setLiveSeekableRange(t,i)))}get tracksReady(){let e=this.pendingTrackCount;return e>0&&(e>=this.bufferCodecEventsTotal||this.isPending(this.tracks.audiovideo))}checkPendingTracks(){let{bufferCodecEventsTotal:e,pendingTrackCount:t,tracks:i}=this;if(this.log(`checkPendingTracks (pending: ${t} codec events expected: ${e}) ${i5(i)}`),this.tracksReady){var r;let e=null==(r=this.transferData)?void 0:r.tracks;e&&Object.keys(e).length?this.attachTransferred():this.createSourceBuffers()}}bufferCreated(){if(this.sourceBufferCount){let e={};this.sourceBuffers.forEach(([t,i])=>{if(t){let r=this.tracks[t];e[t]={buffer:i,container:r.container,codec:r.codec,supplemental:r.supplemental,levelCodec:r.levelCodec,id:r.id,metadata:r.metadata}}}),this.hls.trigger(tG.BUFFER_CREATED,{tracks:e}),this.log(`SourceBuffers created. Running queue: ${this.operationQueue}`),this.sourceBuffers.forEach(([e])=>{this.executeNext(e)})}else{let e=Error("could not create source buffer for media codec(s)");this.hls.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:e,reason:e.message})}}createSourceBuffers(){let{tracks:e,sourceBuffers:t,mediaSource:i}=this;if(!i)throw Error("createSourceBuffers called when mediaSource was null");for(let a in e){let s=e[a];if(this.isPending(s)){let e=this.getTrackCodec(s,a),n=`${s.container};codecs=${e}`;s.codec=e,this.log(`creating sourceBuffer(${n})${this.currentOp(a)?" Queued":""} ${i5(s)}`);try{let e=i.addSourceBuffer(n),r=ns(a),o=[a,e];t[r]=o,s.buffer=e}catch(e){var r;this.error(`error while trying to add sourceBuffer: ${e.message}`),this.shiftAndExecuteNext(a),null==(r=this.operationQueue)||r.removeBlockers(),delete this.tracks[a],this.hls.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:e,sourceBufferName:a,mimeType:n,parent:s.id});return}this.trackSourceBuffer(a,s)}}this.bufferCreated()}getTrackCodec(e,t){let i=e.supplemental,r=e.codec;i&&("video"===t||"audiovideo"===t)&&iN(i,"video")&&(r=function(e,t){let i=[];if(e){let t=e.split(",");for(let e=0;e<t.length;e++)iO(t[e],"video")||i.push(t[e])}return t&&i.push(t),i.join(",")}(r,i));let a=iW(r,e.levelCodec);return a?"audio"===t.slice(0,5)?iK(a,this.appendSource):a:""}trackSourceBuffer(e,t){let i=t.buffer;if(!i)return;let r=this.getTrackCodec(t,e);this.tracks[e]={buffer:i,codec:r,container:t.container,levelCodec:t.levelCodec,supplemental:t.supplemental,metadata:t.metadata,id:t.id,listeners:[]},this.removeBufferListeners(e),this.addBufferListener(e,"updatestart",this.onSBUpdateStart),this.addBufferListener(e,"updateend",this.onSBUpdateEnd),this.addBufferListener(e,"error",this.onSBUpdateError),this.appendSource&&this.addBufferListener(e,"bufferedchange",(e,t)=>{let i=t.removedRanges;null!=i&&i.length&&this.hls.trigger(tG.BUFFER_FLUSHED,{type:e})})}get mediaSrc(){var e,t;let i=(null==(e=this.media)||null==(t=e.querySelector)?void 0:t.call(e,"source"))||this.media;return null==i?void 0:i.src}onSBUpdateStart(e){let t=this.currentOp(e);t&&t.onStart()}onSBUpdateEnd(e){var t;if((null==(t=this.mediaSource)?void 0:t.readyState)==="closed")return void this.resetBuffer(e);let i=this.currentOp(e);i&&(i.onComplete(),this.shiftAndExecuteNext(e))}onSBUpdateError(e,t){var i;let r=Error(`${e} SourceBuffer error. MediaSource readyState: ${null==(i=this.mediaSource)?void 0:i.readyState}`);this.error(`${r}`,t),this.hls.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:r,fatal:!1});let a=this.currentOp(e);a&&a.onError(r)}updateTimestampOffset(e,t,i,r,a,s){Math.abs(t-e.timestampOffset)>=i&&(this.log(`Updating ${r} SourceBuffer timestampOffset to ${t} (sn: ${a} cc: ${s})`),e.timestampOffset=t)}removeExecutor(e,t,i){let{media:r,mediaSource:a}=this,s=this.tracks[e],n=null==s?void 0:s.buffer;if(!r||!a||!n){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),this.shiftAndExecuteNext(e);return}let o=tU(r.duration)?r.duration:1/0,l=tU(a.duration)?a.duration:1/0,d=Math.max(0,t),h=Math.min(i,o,l);h>
28d&&(!s.ending||s.ended)?(s.ended=!1,this.log(`Removing [${d},${h}] from the ${e} SourceBuffer`),n.remove(d,h)):this.shiftAndExecuteNext(e)}appendExecutor(e,t){let i=this.tracks[t],r=null==i?void 0:i.buffer;if(!r)throw new nr(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);i.ending=!1,i.ended=!1,r.appendBuffer(e)}blockUntilOpen(e){if(this.isUpdating()||this.isQueued())this.blockBuffers(e).catch(e=>{this.warn(`SourceBuffer blocked callback ${e}`),this.stepOperationQueue(this.sourceBufferTypes)});else try{e()}catch(e){this.warn(`Callback run without blocking ${this.operationQueue} ${e}`)}}isUpdating(){return this.sourceBuffers.some(([e,t])=>e&&t.updating)}isQueued(){return this.sourceBuffers.some(([e])=>e&&!!this.currentOp(e))}isPending(e){return!!e&&!e.buffer}blockBuffers(e,t=this.sourceBufferTypes){if(!t.length)return this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);let{operationQueue:i}=this,r=t.map(e=>this.appendBlocker(e));return t.length>1&&this.blockedAudioAppend&&this.unblockAudio(),Promise.all(r).then(t=>{i===this.operationQueue&&(e(),this.stepOperationQueue(this.sourceBufferTypes))})}stepOperationQueue(e){e.forEach(e=>{var t;let i=null==(t=this.tracks[e])?void 0:t.buffer;i&&!i.updating&&this.shiftAndExecuteNext(e)})}append(e,t,i){this.operationQueue&&this.operationQueue.append(e,t,i)}appendBlocker(e){if(this.operationQueue)return this.operationQueue.appendBlocker(e)}currentOp(e){return this.operationQueue?this.operationQueue.current(e):null}executeNext(e){e&&this.operationQueue&&this.operationQueue.executeNext(e)}shiftAndExecuteNext(e){this.operationQueue&&this.operationQueue.shiftAndExecuteNext(e)}get pendingTrackCount(){return Object.keys(this.tracks).reduce((e,t)=>e+ +!!this.isPending(this.tracks[t]),0)}get sourceBufferCount(){return this.sourceBuffers.reduce((e,[t])=>e+ +!!t,0)}get sourceBufferTypes(){return this.sourceBuffers.map(([e])=>e).filter(e=>!!e)}addBufferListener(e,t,i){let r=this.tracks[e];if(!r)return;let a=r.buffer;if(!a)return;let s=i.bind(this,e);r.listeners.push({event:t,listener:s}),a.addEventListener(t,s)}removeBufferListeners(e){let t=this.tracks[e];if(!t)return;let i=t.buffer;i&&(t.listeners.forEach(e=>{i.removeEventListener(e.event,e.listener)}),t.listeners.length=0)}},capLevelController:nn,errorController:class extends t1{constructor(e){super("error-controller",e.logger),this.hls=void 0,this.playlistError=0,this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(tG.ERROR,this.onError,this),e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.LEVEL_UPDATED,this.onLevelUpdated,this)}unregisterListeners(){let e=this.hls;e&&(e.off(tG.ERROR,this.onError,this),e.off(tG.ERROR,this.onErrorOut,this),e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.LEVEL_UPDATED,this.onLevelUpdated,this))}destroy(){this.unregisterListeners(),this.hls=null}startLoad(e){}stopLoad(){this.playlistError=0}getVariantLevelIndex(e){return(null==e?void 0:e.type)===tY?e.level:this.getVariantIndex()}getVariantIndex(){var e;let t=this.hls,i=t.currentLevel;return null!=(e=t.loadLevelObj)&&e.details||-1===i?t.loadLevel:i}variantHasKey(e,t){if(e){var i;if(null!=(i=e.details)&&i.hasKey(t))return!0;let r=e.audioGroups;if(r)return this.hls.allAudioTracks.filter(e=>r.indexOf(e.groupId)>=0).some(e=>{var i;return null==(i=e.details)?void 0:i.hasKey(t)})}return!1}onManifestLoading(){this.playlistError=0}onLevelUpdated(){this.playlistError=0}onError(e,t){var i,r,a;if(t.fatal)return;let s=this.hls,n=t.context;switch(t.details){case tH.FRAG_LOAD_ERROR:case tH.FRAG_LOAD_TIMEOUT:case tH.KEY_LOAD_ERROR:case tH.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case tH.FRAG_PARSING_ERROR:if(null!=(i=t.frag)&&i.gap){t.errorAction=rg();return}case tH.FRAG_GAP:case tH.FRAG_DECRYPT_ERROR:t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=2;return;case tH.LEVEL_EMPTY_ERROR:case tH.LEVEL_PARSING_ERROR:{let e=t.parent===tY?t.level:s.loadLevel;t.details===tH.LEVEL_EMPTY_ERROR&&null!=(r=t.context)&&null!=(r=r.levelDetails)&&r.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,e):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,e))}return;case tH.LEVEL_LOAD_ERROR:case tH.LEVEL_LOAD_TIMEOUT:"number"==typeof(null==n?void 0:n.level)&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,n.level));return;case tH.AUDIO_TRACK_LOAD_ERROR:case tH.AUDIO_TRACK_LOAD_TIMEOUT:case tH.SUBTITLE_LOAD_ERROR:case tH.SUBTITLE_TRACK_LOAD_TIMEOUT:if(n){let e=s.loadLevelObj;e&&(n.type===tV&&e.hasAudioGroup(n.groupId)||n.type===tq&&e.hasSubtitleGroup(n.groupId))&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,s.loadLevel),t.errorAction.action=2,t.errorAction.flags=1)}return;case tH.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:t.errorAction={action:2,flags:2};return;case tH.KEY_SYSTEM_SESSION_UPDATE_FAILED:case tH.KEY_SYSTEM_STATUS_INTERNAL_ERROR:case tH.KEY_SYSTEM_NO_SESSION:t.errorAction={action:2,flags:4};return;
28case tH.BUFFER_ADD_CODEC_ERROR:case tH.REMUX_ALLOC_ERROR:case tH.BUFFER_APPEND_ERROR:t.errorAction||(t.errorAction=this.getLevelSwitchAction(t,null!=(a=t.level)?a:s.loadLevel));return;case tH.INTERNAL_EXCEPTION:case tH.BUFFER_APPENDING_ERROR:case tH.BUFFER_FULL_ERROR:case tH.LEVEL_SWITCH_ERROR:case tH.BUFFER_STALLED_ERROR:case tH.BUFFER_SEEK_OVER_HOLE:case tH.BUFFER_NUDGE_ON_STALL:t.errorAction=rg();return}t.type===t$.KEY_SYSTEM_ERROR&&(t.levelRetry=!1,t.errorAction=rg())}getPlaylistRetryOrSwitchAction(e,t){let i=ru(this.hls.config.playlistLoadPolicy,e),r=this.playlistError++;if(rf(i,r,rl(e),e.response))return{action:5,flags:0,retryConfig:i,retryCount:r};let a=this.getLevelSwitchAction(e,t);return i&&(a.retryConfig=i,a.retryCount=r),a}getFragRetryOrSwitchAction(e){let t=this.hls,i=this.getVariantLevelIndex(e.frag),r=t.levels[i],{fragLoadPolicy:a,keyLoadPolicy:s}=t.config,n=ru(rd(e)?s:a,e),o=t.levels.reduce((e,t)=>e+t.fragmentError,0);if(r&&(e.details!==tH.FRAG_GAP&&r.fragmentError++,!rh(e))&&rf(n,o,rl(e),e.response))return{action:5,flags:0,retryConfig:n,retryCount:o};let l=this.getLevelSwitchAction(e,i);return n&&(l.retryConfig=n,l.retryCount=o),l}getLevelSwitchAction(e,t){let i=this.hls;null==t&&(t=i.loadLevel);let r=this.hls.levels[t];if(r){var a,s,n,o;let t=e.details;r.loadError++,t===tH.BUFFER_APPEND_ERROR&&r.fragmentError++;let l=-1,{levels:d,loadLevel:h,minAutoLevel:u,maxAutoLevel:c}=i;i.autoLevelEnabled||i.config.preserveManualLevelOnError||(i.loadLevel=-1);let m=null==(a=e.frag)?void 0:a.type,f=(m===tj&&t===tH.FRAG_PARSING_ERROR||"audio"===e.sourceBufferName&&(t===tH.BUFFER_ADD_CODEC_ERROR||t===tH.BUFFER_APPEND_ERROR))&&d.some(({audioCodec:e})=>r.audioCodec!==e),p="video"===e.sourceBufferName&&(t===tH.BUFFER_ADD_CODEC_ERROR||t===tH.BUFFER_APPEND_ERROR)&&d.some(({codecSet:e,audioCodec:t})=>r.codecSet!==e&&r.audioCodec===t),{type:g,groupId:v}=null!=(s=e.context)?s:{};for(let i=d.length;i--;){let a=(i+h)%d.length;if(a!==h&&a>=u&&a<=c&&0===d[a].loadError){let i=d[a];if(t===tH.FRAG_GAP&&m===tY&&e.frag){let t=d[a].details;if(t){let i=rs(e.frag,t.fragments,e.frag.start);if(null!=i&&i.gap)continue}}else if(g===tV&&i.hasAudioGroup(v)||g===tq&&i.hasSubtitleGroup(v))continue;else if(m===tj&&null!=(n=r.audioGroups)&&n.some(e=>i.hasAudioGroup(e))||m===tQ&&null!=(o=r.subtitleGroups)&&o.some(e=>i.hasSubtitleGroup(e))||f&&r.audioCodec===i.audioCodec||p&&r.codecSet===i.codecSet||!f&&r.codecSet!==i.codecSet)continue;l=a;break}}if(l>-1&&i.loadLevel!==l)return e.levelRetry=!0,this.playlistError=0,{action:2,flags:0,nextAutoLevel:l}}return{action:2,flags:1}}onErrorOut(e,t){var i;switch(null==(i=t.errorAction)?void 0:i.action){case 0:break;case 2:this.sendAlternateToPenaltyBox(t),t.errorAction.resolved||t.details===tH.FRAG_GAP?/MediaSource readyState: ended/.test(t.error.message)&&(this.warn(`MediaSource ended after "${t.sourceBufferName}" sourceBuffer append error. Attempting to recover from media error.`),this.hls.recoverMediaError()):t.fatal=!0}if(t.fatal)return void this.hls.stopLoad()}sendAlternateToPenaltyBox(e){let t=this.hls,i=e.errorAction;if(!i)return;let{flags:r}=i,a=i.nextAutoLevel;switch(r){case 0:this.switchLevel(e,a);break;case 2:{let r=this.getVariantLevelIndex(e.frag),a=t.levels[r],s=null==a?void 0:a.attrs["HDCP-LEVEL"];if(i.hdcpLevel=s,"NONE"===s)this.warn("HDCP policy resticted output with HDCP-LEVEL=NONE");else if(s){t.maxHdcpLevel=iJ[iJ.indexOf(s)-1],i.resolved=!0,this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break}}case 4:{let t=e.decryptdata;if(t){let r=this.hls.levels,a=r.length;for(let i=a;i--;)if(this.variantHasKey(r[i],t)){var s,n;this.log(`Banned key found in level ${i} (${r[i].bitrate}bps) or audio group "${null==(s=r[i].audioGroups)?void 0:s.join(",")}" (${null==(n=e.frag)?void 0:n.type} fragment) ${ie(t.keyId||[])}`),r[i].fragmentError++,r[i].loadError++,this.log(`Removing level ${i} with key error (${e.error})`),this.hls.removeLevel(i)}let o=e.frag;if(this.hls.levels.length<a)i.resolved=!0;else if(o&&o.type!==tY){let e=o.decryptdata;e&&!t.matches(e)&&(i.resolved=!0)}}}}i.resolved||this.switchLevel(e,a)}switchLevel(e,t){if(void 0!==t&&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,e.details===tH.BUFFER_ADD_CODEC_ERROR&&e.mimeType&&"audiovideo"!==e.sourceBufferName)){let t=iY(e.mimeType),i=this.hls.levels;for(let r=i.length;r--;)i[r][`${e.sourceBufferName}Codec`]===t&&(this.log(`Removing level ${r} for ${e.details} ("${t}" not supported)`),this.hls.removeLevel(r))}}},fpsController:class{constructor(e){this.hls=void 0,this.isVideoPlaybackQualityAvailable=!1,this.timer=void 0,this.media=null,this.lastTime=void 0,this.lastDroppedFrames=0,this.lastDecodedFrames=0,this.streamController=void 0,this.hls=e,this.registerListeners()}setStreamController(e){this.streamController=e}
28registerListeners(){this.hls.on(tG.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.on(tG.MEDIA_DETACHING,this.onMediaDetaching,this)}unregisterListeners(){this.hls.off(tG.MEDIA_ATTACHING,this.onMediaAttaching,this),this.hls.off(tG.MEDIA_DETACHING,this.onMediaDetaching,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 e=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=e,e&&"function"==typeof e.getVideoPlaybackQuality&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod)}}onMediaDetaching(){this.media=null}checkFPS(e,t,i){let r=performance.now();if(t){if(this.lastTime){let e=r-this.lastTime,a=i-this.lastDroppedFrames,s=t-this.lastDecodedFrames,n=1e3*a/e,o=this.hls;if(o.trigger(tG.FPS_DROP,{currentDropped:a,currentDecoded:s,totalDroppedFrames:i}),n>0&&a>o.config.fpsDroppedMonitoringThreshold*s){let e=o.currentLevel;o.logger.warn("drop FPS ratio greater than max allowed value for currentLevel: "+e),e>0&&(-1===o.autoLevelCapping||o.autoLevelCapping>=e)&&(e-=1,o.trigger(tG.FPS_DROP_LEVEL_CAPPING,{level:e,droppedLevel:o.currentLevel}),o.autoLevelCapping=e,this.streamController.nextLevelSwitch())}}this.lastTime=r,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)}},stretchShortVideoTrack:!1,maxAudioFramesDrift:1,forceKeyFrameOnDiscontinuity:!0,abrEwmaFastLive:3,abrEwmaSlowLive:9,abrEwmaFastVoD:3,abrEwmaSlowVoD:9,abrEwmaDefaultEstimate:5e5,abrEwmaDefaultEstimateMax:5e6,abrBandWidthFactor:.95,abrBandWidthUpFactor:.7,abrMaxWithRealBitrate:!1,maxStarvationDelay:4,maxLoadingDelay:4,minAutoBitrate:0,emeEnabled:!1,widevineLicenseUrl:void 0,drmSystems:{},drmSystemOptions:{},requestMediaKeySystemAccessFunc:at,requireKeySystemAccessOnStart:!1,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableEmsgKLVMetadata:!1,enableID3MetadataCues:!0,enableInterstitialPlayback:!0,interstitialAppendInPlace:!0,interstitialLiveLookAhead:10,useMediaCapabilities:!0,preserveManualLevelOnError:!1,certLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null}},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},interstitialAssetListLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:3e4,timeoutRetry:{maxNumRetry:0,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:0,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},{cueHandler:oY,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0}),{},{subtitleStreamController:class extends aJ{constructor(e,t,i){super(e,t,i,"subt
28itle-stream-controller",tQ),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(tG.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tG.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(tG.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(tG.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(tG.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(tG.BUFFER_FLUSHING,this.onBufferFlushing,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(tG.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tG.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(tG.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(tG.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(tG.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(tG.BUFFER_FLUSHING,this.onBufferFlushing,this)}startLoad(e,t){this.stopLoad(),this.state=aG,this.setInterval(500),this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}onManifestLoading(){super.onManifestLoading(),this.mainDetails=null}onMediaDetaching(e,t){this.tracksBuffered=[],super.onMediaDetaching(e,t)}onLevelLoaded(e,t){this.mainDetails=t.details}onSubtitleFragProcessed(e,t){let i,{frag:r,success:a}=t;if(this.fragContextChanged(r)||(ih(r)&&(this.fragPrevious=r),this.state=aG),!a)return;let s=this.tracksBuffered[this.currentTrackId];if(!s)return;let n=r.start;for(let e=0;e<s.length;e++)if(n>=s[e].start&&n<=s[e].end){i=s[e];break}let o=r.start+r.duration;i?i.end=o:(i={start:n,end:o},s.push(i)),this.fragmentTracker.fragBuffered(r),this.fragBufferedComplete(r,null),this.media&&this.tick()}onBufferFlushing(e,t){let{startOffset:i,endOffset:r}=t;if(0===i&&r!==1/0){let e=r-1;if(e<=0)return;t.endOffsetSubtitles=Math.max(0,e),this.tracksBuffered.forEach(t=>{for(let i=0;i<t.length;){if(t[i].end<=e){t.shift();continue}if(t[i].start<e)t[i].start=e;else break;i++}}),this.fragmentTracker.removeFragmentsInRange(i,e,tQ)}}onError(e,t){let i=t.frag;(null==i?void 0:i.type)===tQ&&(t.details===tH.FRAG_GAP&&this.fragmentTracker.fragBuffered(i,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==aH&&(this.state=aG))}onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&s9(this.levels,t)){this.levels=t.map(e=>new i3(e));return}this.tracksBuffered=[],this.levels=t.map(e=>{let t=new i3(e);return this.tracksBuffered[t.id]=[],t}),this.fragmentTracker.removeFragmentsInRange(0,1/0,tQ),this.fragPrevious=null,this.mediaBuffer=null}onSubtitleTrackSwitch(e,t){var i;if(this.currentTrackId=t.id,!(null!=(i=this.levels)&&i.length)||-1===this.currentTrackId)return void this.clearInterval();let r=this.levels[this.currentTrackId];null!=r&&r.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,r&&this.state!==aH&&this.setInterval(500)}onSubtitleTrackLoaded(e,t){var i,r;let{currentTrackId:a,levels:s}=this,{details:n,id:o}=t;if(!s)return void this.warn(`Subtitle tracks were reset while loading level ${o}`);let l=s[o];if(o>=s.length||!l)return;this.log(`Subtitle track ${o} loaded [${n.startSN},${n.endSN}]${n.lastPartSn?`[part-${n.lastPartSn}-${n.lastPartIndex}]`:""},duration:${n.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(n.live||null!=(i=l.details)&&i.live){if(n.deltaUpdateFailed)return;let e=this.mainDetails;if(!e){this.startFragRequested=!1;return}let t=e.fragments[0];l.details?0===(d=this.alignPlaylists(n,l.details,null==(r=this.levelLastLoaded)?void 0:r.details))&&t&&aR(n,d=t.start):n.hasProgramDateTime&&e.hasProgramDateTime?(aU(n,e),d=n.fragmentStart):t&&aR(n,d=t.start),e&&!this.startFragRequested&&this.setStartPosition(e,d)}l.details=n,this.levelLastLoaded=l,o===a&&(this.hls.trigger(tG.SUBTITLE_TRACK_UPDATED,{details:n,id:o,groupId:t.groupId}),this.tick(),n.live&&!this.fragCurrent&&this.media&&this.state===aG&&(rs(null,n.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,r=t.decryptdata,a=this.hls;if(!this.fragContextChanged(t)&&i&&i.byteLength>
280&&null!=r&&r.key&&r.iv&&rY(r.method)){let e=performance.now();this.decrypter.decrypt(new Uint8Array(i),r.key.buffer,r.iv.buffer,rj(r.method)).catch(e=>{throw a.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.FRAG_DECRYPT_ERROR,fatal:!1,error:e,reason:e.message,frag:t}),e}).then(i=>{let r=performance.now();a.trigger(tG.FRAG_DECRYPTED,{frag:t,payload:i,stats:{tstart:e,tdecrypt:r}})}).catch(e=>{this.warn(`${e.name}: ${e.message}`),this.state=aG})}}doTick(){if(!this.media){this.state=aG;return}if(this.state===aG){let{currentTrackId:e,levels:t}=this,i=null==t?void 0:t[e];if(!i||!t.length||!i.details||this.waitForLive(i))return;let{config:r}=this,a=this.getLoadPosition(),{end:s,len:n}=rN.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],a,r.maxBufferHole),o=i.details;if(n>this.hls.maxBufferLength+o.levelTargetDuration)return;let l=o.fragments,d=l.length,h=o.edge,u=null,c=this.fragPrevious;if(s<h){let e=r.maxFragLookUpTolerance;(u=rs(c,l,Math.max(l[0].start,s),s>h-e?0:e))||!c||!(c.start<l[0].start)||(u=l[0])}else u=l[d-1];if(!(u=this.filterReplacedPrimary(u,i.details)))return;let m=l[u.sn-o.startSN-1];if(m&&m.cc===u.cc&&this.fragmentTracker.getState(m)===rv&&(u=m),this.fragmentTracker.getState(u)===rv){let e=this.mapToInitFragWhenRequired(u);e&&this.loadFragment(e,i,s)}}}loadFragment(e,t,i){ih(e)?super.loadFragment(e,t,i):this._loadInitSegment(e,t)}get mediaBufferTimeRanges(){return new oi(this.tracksBuffered[this.currentTrackId]||[])}},subtitleTrackController:class extends s8{constructor(e){super(e,"subtitle-track-controller"),this.media=null,this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.queuedDefaultTrack=-1,this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.asyncPollTrackChange=()=>this.pollTrackChange(0),this.onTextTracksChanged=()=>{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let e=null,t=nZ(this.media.textTracks);for(let i=0;i<t.length;i++)if("hidden"===t[i].mode)e=t[i];else if("showing"===t[i].mode){e=t[i];break}let i=this.findTrackForTextTrack(e);this.subtitleTrack!==i&&this.setSubtitleTrack(i)},this.registerListeners()}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,this.onTextTracksChanged=this.asyncPollTrackChange=null,super.destroy()}get subtitleDisplay(){return this._subtitleDisplay}set subtitleDisplay(e){this._subtitleDisplay=e,this.trackId>-1&&this.toggleTrackModes()}registerListeners(){let{hls:e}=this;
vendor: 1,702 bytes, line 28
28e.on(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tG.LEVEL_LOADING,this.onLevelLoading,this),e.on(tG.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(tG.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(tG.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tG.LEVEL_LOADING,this.onLevelLoading,this),e.off(tG.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(tG.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(tG.ERROR,this.onError,this)}onMediaAttached(e,t){this.media=t.media,this.media&&(this.queuedDefaultTrack>-1&&(this.subtitleTrack=this.queuedDefaultTrack,this.queuedDefaultTrack=-1),this.useTextTrackPolling=!(this.media.textTracks&&"onchange"in this.media.textTracks),this.useTextTrackPolling?this.pollTrackChange(500):this.media.textTracks.addEventListener("change",this.asyncPollTrackChange))}pollTrackChange(e){self.clearInterval(this.subtitlePollingInterval),this.subtitlePollingInterval=self.setInterval(this.onTextTracksChanged,e)}onMediaDetaching(e,t){let i=this.media;if(!i)return;let r=!!t.transferMedia;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||i.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),this.subtitleTrack=-1,this.media=null,r||nZ(i.textTracks).forEac
28h(e=>{nz(e)})}onManifestLoading(){this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.subtitleTracks}onSubtitleTrackLoaded(e,t){let{id:i,groupId:r,details:a}=t,s=this.tracksInGroup[i];if(!s||s.groupId!==r)return void this.warn(`Subtitle track with id:${i} and group:${r} not found in active group ${null==s?void 0:s.groupId}`);let n=s.details;s.details=t.details,this.log(`Subtitle track ${i} "${s.name}" lang:${s.lang} group:${r} loaded [${a.startSN}-${a.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,n)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let i=t.subtitleGroups||null,r=this.groupIds,a=this.currentTrack;if(!i||(null==r?void 0:r.length)!==(null==i?void 0:i.length)||null!=i&&i.some(e=>(null==r?void 0:r.indexOf(e))===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;let e=this.tracks.filter(e=>!i||-1!==i.indexOf(e.groupId));if(e.length)this.selectDefaultTrack&&!e.some(e=>e.default)&&(this.selectDefaultTrack=!1),e.forEach((e,t)=>{e.id=t});else if(!a&&!this.tracksInGroup.length)return;this.tracksInGroup=e;let t=this.hls.config.subtitlePreference;if(!a&&t){this.selectDefaultTrack=!1;let i=i7(t,e);if(i>-1)a=e[i];else{let e=i7(t,this.tracks);a=this.tracks[e]}}let r=this.findTrackId(a);-1===r&&a&&(r=this.findTrackId(null)),this.log(`Updating subtitle tracks, ${e.length} track(s) found in "${null==i?void 0:i.join(",")}" group-id`),this.hls.trigger(tG.SUBTITLE_TRACKS_UPDATED,{subtitleTracks:e}),-1!==r&&-1===this.trackId&&this.setSubtitleTrack(r)}}findTrackId(e){let t=this.tracksInGroup,i=this.selectDefaultTrack;for(let r=0;r<t.length;r++){let a=t[r];if((!i||a.default)&&(i||e)&&(!e||re(a,e)))return r}if(e){for(let i=0;i<t.length;i++){let r=t[i];if(s6(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<t.length;i++){let r=t[i];if(s6(e.attrs,r.attrs,["LANGUAGE"]))return i}}return -1}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++)if(s7(t[i],e))return i}return -1}onError(e,t){!t.fatal&&t.context&&(t.context.type!==tq||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||this.checkRetry(t))}get allSubtitleTracks(){return this.tracks}get subtitleTracks(){return this.tracksInGroup}get subtitleTrack(){return this.trackId}set subtitleTrack(e){this.selectDefaultTrack=!1,this.setSubtitleTrack(e)}setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){if(-1===e.id)return this.setSubtitleTrack(-1),null;let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let i=this.currentTrack;if(i&&re(e,i))return i;let r=i7(e,this.tracksInGroup);if(r>-1){let e=this.tracksInGroup[r];return this.setSubtitleTrack(r),e}{if(i)return null;let r=i7(e,t);if(r>-1)return t[r]}}}return null}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentTrack)&&this.scheduleLoading(this.currentTrack,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=e.id,r=e.groupId,a=this.getUrlWithDirectives(e.url,t),s=e.details,n=null==s?void 0:s.age;this.log(`Loading subtitle ${i} "${e.name}" lang:${e.lang} group:${r}${(null==t?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${n&&s.live?" age "+n.toFixed(1)+(s.type?" "+s.type:""):""} ${a}`),this.hls.trigger(tG.SUBTITLE_TRACK_LOADING,{url:a,id:i,groupId:r,deliveryDirectives:t||null,track:e})}toggleTrackModes(){let e,{media:t}=this;if(!t)return;let i=nZ(t.textTracks),r=this.currentTrack;if(r&&((e=i.filter(e=>s7(r,e))[0])||this.warn(`Unable to find subtitle TextTrack with name "${r.name}" and language "${r.lang}"`)),[].slice.call(i).forEach(t=>{"disabled"!==t.mode&&t!==e&&(t.mode="disabled")}),e){let t=this.subtitleDisplay?"showing":"hidden";e.mode!==t&&(e.mode=t)}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return}if(e<-1||e>=t.length||!tU(e))return void this.warn(`Invalid subtitle track id: ${e}`);this.selectDefaultTrack=!1;let i=this.currentTrack,r=t[e]||null;if(this.trackId=e,this.currentTrack=r,this.toggleTrackModes(),!r)return void this.hls.trigger(tG.SUBTITLE_TRACK_SWITCH,{id:e});let a=!!r.details&&!r.details.live;if(e===this.trackId&&r===i&&a)return;this.log(`Switching to subtitle-track ${e}`+(r?` "${r.name}" lang:${r.lang} group:${r.groupId}`:""));let{id:s,groupId:n="",name:o,type:l,url:d}=r;this.hls.trigger(tG.SUBTITLE_TRACK_SWITCH,{id:s,groupId:n,name:o,type:l,url:d});let h=this.switchParams(r.url,null==i?void 0:i.details,r.details);this.loadPlaylist(h)}},timelineController:class{constructor(e){this.hls=void 0,this.media=null,this.config=void 0,this.enabled=!0,this.Cues=void 0,this.textTracks=[],this.tracks=[],this.initPTS=[],this.unparsedVttFrags=[],this.captionsTracks={},this.nonNativeCaptionsTracks={},this.cea608Parser1=void 0,this.cea608Parser2=void 0,this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=oV(),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}}
28,e.on(tG.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(tG.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(tG.FRAG_LOADING,this.onFragLoading,this),e.on(tG.FRAG_LOADED,this.onFragLoaded,this),e.on(tG.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(tG.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(tG.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(tG.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(tG.BUFFER_FLUSHING,this.onBufferFlushing,this)}destroy(){let{hls:e}=this;e.off(tG.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(tG.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(tG.FRAG_LOADING,this.onFragLoading,this),e.off(tG.FRAG_LOADED,this.onFragLoaded,this),e.off(tG.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(tG.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(tG.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(tG.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(tG.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=this.media=null,this.cea608Parser1=this.cea608Parser2=void 0}initCea608Parsers(){let e=new oG(this,"textTrack1"),t=new oG(this,"textTrack2"),i=new oG(this,"textTrack3"),r=new oG(this,"textTrack4");this.cea608Parser1=new ov(1,e,t),this.cea608Parser2=new ov(3,i,r)}addCues(e,t,i,r,a){let s=!1;for(let e=a.length;e--;){var n,o;let r=a[e],l=(n=r[0],o=r[1],Math.min(o,i)-Math.max(n,t));if(l>=0&&(r[0]=Math.min(r[0],t),r[1]=Math.max(r[1],i),s=!0,l/(i-t)>.5))return}if(s||a.push([t,i]),this.config.renderTextTracksNatively){let a=this.captionsTracks[e];this.Cues.newCue(a,t,i,r)}else{let a=this.Cues.newCue(null,t,i,r);this.hls.trigger(tG.CUES_PARSED,{type:"captions",cues:a,track:e})}}onInitPtsFound(e,{frag:t,id:i,initPTS:r,timescale:a,trackId:s}){let{unparsedVttFrags:n}=this;i===tY&&(this.initPTS[t.cc]={baseTime:r,timescale:a,trackId:s}),n.length&&(this.unparsedVttFrags=[],n.forEach(e=>{this.initPTS[e.frag.cc]?this.onFragLoaded(tG.FRAG_LOADED,e):this.hls.trigger(tG.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e.frag,error:Error("Subtitle discontinuity domain does not match main")})}))}getExistingTrack(e,t){let{media:i}=this;if(i)for(let r=0;r<i.textTracks.length;r++){let a=i.textTracks[r];if(oW(a,{name:e,lang:t,characteristics:"transcribes-spoken-dialog,describes-music-and-sound"}))return a}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:r}=this,{label:a,languageCode:s}=t[e],n=this.getExistingTrack(a,s);if(n)i[e]=n,nz(i[e]),nj(i[e],r);else{let t=this.createTextTrack("captions",a,s);t&&(t[e]=!0,i[e]=t)}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let i={_id:e,label:t.label,kind:"captions",default:!!t.media&&!!t.media.default,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=i,this.hls.trigger(tG.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[i]})}createTextTrack(e,t,i){let r=this.media;if(r)return r.addTextTrack(e,t,i)}onMediaAttaching(e,t){this.media=t.media,t.mediaSource||this._cleanTracks()}onMediaDetaching(e,t){let i=!!t.transferMedia;if(this.media=null,i)return;let{captionsTracks:r}=this;Object.keys(r).forEach(e=>{nz(r[e]),delete r[e]}),this.nonNativeCaptionsTracks={}}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=oV(),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;
28if(t)for(let e=0;e<t.length;e++)nz(t[e])}onSubtitleTracksUpdated(e,t){let i=t.subtitleTracks||[],r=i.some(e=>e.textCodec===oM);if(this.config.enableWebVTT||r&&this.config.enableIMSC1){if(s9(this.tracks,i)){this.tracks=i;return}if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){let e=this.media,t=e?nZ(e.textTracks):null;if(this.tracks.forEach((e,i)=>{let r;if(t){let i=null;for(let r=0;r<t.length;r++)if(t[r]&&oW(t[r],e)){i=t[r],t[r]=null;break}i&&(r=i)}if(r)nz(r);else{let t=oK(e);(r=this.createTextTrack(t,e.name,e.lang))&&(r.mode="disabled")}r&&this.textTracks.push(r)}),null!=t&&t.length){let e=t.filter(e=>null!==e).map(e=>e.label);e.length&&this.hls.logger.warn(`Media element contains unused subtitle tracks: ${e.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`)}}else if(this.tracks.length){let e=this.tracks.map(e=>({label:e.name,kind:e.type.toLowerCase(),default:e.default,subtitleTrack:e}));this.hls.trigger(tG.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:e})}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(e=>{let t=/(?:CC|SERVICE)([1-4])/.exec(e.instreamId);if(!t)return;let i=`textTrack${t[1]}`,r=this.captionsProperties[i];r&&(r.label=e.name,e.lang&&(r.languageCode=e.lang),r.media=e)})}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return null==t?void 0:t.attrs["CLOSED-CAPTIONS"]}onFragLoading(e,t){if(this.enabled&&t.frag.type===tY){var i,r;let{cea608Parser1:e,cea608Parser2:a,lastSn:s}=this,{cc:n,sn:o}=t.frag,l=null!=(i=null==(r=t.part)?void 0:r.index)?i:-1;e&&a&&(o!==s+1||o===s&&l!==this.lastPartIndex+1||n!==this.lastCc)&&(e.reset(),a.reset()),this.lastCc=n,this.lastSn=o,this.lastPartIndex=l}}onFragLoaded(e,t){let{frag:i,payload:r}=t;if(i.type===tQ)if(r.byteLength){let e=i.decryptdata,a="stats"in t;if(null==e||!e.encrypted||a){let e=this.tracks[i.level],a=this.vttCCs;a[i.cc]||(a[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),e&&e.textCodec===oM?this._parseIMSC1(i,r):this._parseVTTs(t)}}else this.hls.trigger(tG.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:Error("Empty subtitle payload")})}_parseIMSC1(e,t){let i=this.hls;oN(t,this.initPTS[e.cc],t=>{this._appendCues(t,e.level),i.trigger(tG.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e})},t=>{i.logger.log(`Failed to parse IMSC1: ${t}`),i.trigger(tG.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:t})})}_parseVTTs(e){var t,i,r,a,s,n,o,l;let d,h,u,c,m,f,p,g,v,{frag:E,payload:y}=e,{initPTS:b,unparsedVttFrags:T}=this,A=b.length-1;if(!b[E.cc]&&-1===A)return void T.push(e);let S=this.hls;i=null!=(t=E.initSegment)&&t.data?iw(E.initSegment.data,new Uint8Array(y)).buffer:y,r=this.initPTS[E.cc],a=this.vttCCs,s=E.cc,n=E.start,o=e=>{this._appendCues(e,E.level),S.trigger(tG.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:E})},l=t=>{let i="Missing initPTS for VTT MPEGTS"===t.message;i?T.push(e):this._fallbackToIMSC1(E,y),S.logger.log(`Failed to parse VTT cue: ${t}`),i&&A>E.cc||S.trigger(tG.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:E,error:t})},h=new oR,u=t7(new Uint8Array(i)).trim().replace(oL,"\n").split("\n"),c=[],m=r?function(e,t=1){return s$(e,9e4,1/t)}(r.baseTime,r.timescale):0,f="00:00.000",p=0,g=0,v=!0,h.oncue=function(e){let t=a[s],i=a.ccOffset,o=(p-m)/9e4;if(null!=t&&t.new&&(void 0!==g?i=a.ccOffset=t.start:oC(a,s,o)),o){if(!r){d=Error("Missing initPTS for VTT MPEGTS");return}i=o-a.presentationOffset}let l=e.endTime-e.startTime,h=sY((e.startTime+i-g)*9e4,9e4*n)/9e4;e.startTime=Math.max(h,0),e.endTime=Math.max(h+l,0);let u=e.text.trim();e.text=decodeURIComponent(encodeURIComponent(u)),e.id||(e.id=oD(e.startTime,e.endTime,u)),e.endTime>0&&c.push(e)},h.onparsingerror=function(e){d=e},h.onflush=function(){d?l(d):o(c)},u.forEach(e=>{if(v)if(oI(e,"X-TIMESTAMP-MAP=")){v=!1,e.slice(16).split(",").forEach(e=>{oI(e,"LOCAL:")?f=e.slice(6):oI(e,"MPEGTS:")&&(p=parseInt(e.slice(7)))});try{g=ow(f)/1e3}catch(e){d=e}return}else""===e&&(v=!1);h.parse(e+"\n")}),h.flush()}_fallbackToIMSC1(e,t){let i=this.tracks[e.level];i.textCodec||oN(t,this.initPTS[e.cc],()=>{i.textCodec=oM,this._parseIMSC1(e,t)},()=>{i.textCodec="wvtt"})}_appendCues(e,t){let i=this.hls;if(this.config.renderTextTracksNatively){let i=this.textTracks[t];if(!i||"disabled"===i.mode)return;
28e.forEach(e=>nQ(i,e))}else{let r=this.tracks[t];if(!r)return;let a=r.default?"default":"subtitles"+t;i.trigger(tG.CUES_PARSED,{type:"subtitles",cues:e,track:a})}}onFragDecrypted(e,t){let{frag:i}=t;i.type===tQ&&this.onFragLoaded(tG.FRAG_LOADED,t)}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={}}onFragParsingUserdata(e,t){if(!this.enabled||!this.config.enableCEA708Captions)return;let{frag:i,samples:r}=t;if(i.type!==tY||"NONE"!==this.closedCaptionsForLevel(i))for(let e=0;e<r.length;e++){let t=r[e].bytes;if(t){this.cea608Parser1||this.initCea608Parsers();let i=this.extractCea608Data(t);this.cea608Parser1.addData(r[e].pts,i[0]),this.cea608Parser2.addData(r[e].pts,i[1])}}}onBufferFlushing(e,{startOffset:t,endOffset:i,endOffsetSubtitles:r,type:a}){let{media:s}=this;if(s&&!(s.currentTime<i)){if(!a||"video"===a){let{captionsTracks:e}=this;Object.keys(e).forEach(r=>nX(e[r],t,i))}if(this.config.renderTextTracksNatively&&0===t&&void 0!==r){let{textTracks:e}=this;Object.keys(e).forEach(i=>nX(e[i],t,r))}}}extractCea608Data(e){let t=[[],[]],i=31&e[0],r=2;for(let a=0;a<i;a++){let i=e[r++],a=127&e[r++],s=127&e[r++];if((0!==a||0!==s)&&(4&i)!=0){let e=3&i;(0===e||1===e)&&(t[e].push(a),t[e].push(s))}}return t}},audioStreamController:class extends aJ{constructor(e,t,i){super(e,t,i,"audio-stream-controller",tj),this.mainAnchor=null,this.mainFragLoading=null,this.audioOnly=!1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this.registerListeners()}onHandlerDestroying(){this.unregisterListeners(),super.onHandlerDestroying(),this.resetItem()}resetItem(){this.mainDetails=this.mainAnchor=this.mainFragLoading=this.bufferedTrack=this.switchingTrack=this.waitingData=this.cachedTrackLoadedData=null}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(tG.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tG.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(tG.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(tG.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(tG.BUFFER_RESET,this.onBufferReset,this),e.on(tG.BUFFER_CREATED,this.onBufferCreated,this),e.on(tG.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(tG.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(tG.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(tG.FRAG_LOADING,this.onFragLoading,this),e.on(tG.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){let{hls:e}=this;e&&(super.unregisterListeners(),e.off(tG.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tG.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(tG.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(tG.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(tG.BUFFER_RESET,this.onBufferReset,this),e.off(tG.BUFFER_CREATED,this.onBufferCreated,this),e.off(tG.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(tG.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(tG.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(tG.FRAG_LOADING,this.onFragLoading,this),e.off(tG.FRAG_BUFFERED,this.onFragBuffered,this))}onInitPtsFound(e,{frag:t,id:i,initPTS:r,timescale:a,trackId:s}){if(i===tY){let e=t.cc,i=this.fragCurrent;if(this.initPTS[e]={baseTime:r,timescale:a,trackId:s},this.log(`InitPTS for cc: ${e} found from main: ${r/a} (${r}/${a}) trackId: ${s}`),this.mainAnchor=t,this.state===aX){let i=this.waitingData;(i||this.loadingParts)&&(!i||i.frag.cc===e)||this.syncWithAnchor(t,null==i?void 0:i.frag)}else!this.hls.hasEnoughToStart&&i&&i.cc!==e?(i.abortRequests(),this.syncWithAnchor(t,i)):this.state===aG&&this.tick()}}getLoadPosition(){return!this.startFragRequested&&this.nextLoadPosition>=0?this.nextLoadPosition:super.getLoadPosition()}syncWithAnchor(e,t){var i;let r=(null==(i=this.mainFragLoading)?void 0:i.frag)||null;if(t&&(null==r?void 0:r.cc)===t.cc)return;let a=(r||e).cc,s=ro(this.getLevelDetails(),a,this.getLoadPosition());s&&(this.log(`Syncing with main frag at ${s.start} cc ${s.cc}`),this.startFragRequested=!1,this.nextLoadPosition=s.start,this.resetLoadingState(),this.state===aG&&this.doTickIdle())}
28startLoad(e,t){if(!this.levels){this.startPosition=e,this.state=aH;return}let i=this.lastCurrentTime;this.stopLoad(),this.setInterval(100),i>0&&-1===e?(this.log(`Override startPosition with lastCurrentTime @${i.toFixed(3)}`),e=i,this.state=aG):this.state=aq,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}doTick(){switch(this.state){case aG:this.doTickIdle();break;case aq:{let{levels:e,trackId:t}=this,i=null==e?void 0:e[t],r=null==i?void 0:i.details;if(r&&!this.waitForLive(i)){if(this.waitForCdnTuneIn(r))break;this.state=aX}break}case aV:this.checkRetryDate();break;case aX:{let e=this.waitingData;if(e){let{frag:t,part:i,cache:r,complete:a}=e,s=this.mainAnchor;if(void 0!==this.initPTS[t.cc]){this.waitingData=null,this.state=aW;let e={frag:t,part:i,payload:r.flush().buffer,networkDetails:null};this._handleFragmentLoadProgress(e),a&&super._handleFragmentLoadComplete(e)}else s&&s.cc!==e.frag.cc&&this.syncWithAnchor(s,e.frag)}else this.state=aG}}this.onTickEnd()}resetLoadingState(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null),super.resetLoadingState()}onTickEnd(){let{media:e}=this;null!=e&&e.readyState&&(this.lastCurrentTime=e.currentTime)}doTickIdle(){var e;let{hls:t,levels:i,media:r,trackId:a}=this,s=t.config;if(!this.buffering||!r&&!this.primaryPrefetch&&(this.startFragRequested||!s.startFragPrefetch)||!(null!=i&&i[a]))return;let n=i[a],o=n.details;if(!o||this.waitForLive(n)||this.waitForCdnTuneIn(o)){this.state=aq,this.startFragRequested=!1;return}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,is,tj));let d=this.getFwdBufferInfo(l,tj);if(null===d)return;if(!this.switchingTrack&&this._streamEnded(d,o)){t.trigger(tG.BUFFER_EOS,{type:"audio"}),this.state=aQ;return}let h=d.len,u=t.maxBufferLength,c=o.fragments,m=c[0].start,f=this.getLoadPosition(),p=this.flushing?f:d.end;if(this.switchingTrack&&r&&o.PTSKnown&&f<m&&(d.end>m||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),r.currentTime=m+.05),h>=u&&!this.switchingTrack&&p<c[c.length-1].start)return;let g=this.getNextFragment(p,o);if(g&&this.isLoopLoading(g,p)&&(g=this.getNextFragmentLoopLoading(g,o,d,tY,u)),!g){this.bufferFlushed=!0;return}if(this.exceedsMaxBuffer(d,u,g))return;let v=(null==(e=this.mainFragLoading)?void 0:e.frag)||null;if(!this.audioOnly&&this.startFragRequested&&v&&ih(g)&&!g.endList&&(!o.live||!this.loadingParts&&p<this.hls.liveSyncPosition)&&("OK"===this.fragmentTracker.getState(v)&&(this.mainFragLoading=v=null),v&&ih(v))){if(g.start>v.end){let e=this.fragmentTracker.getFragAtPos(p,tY);e&&e.end>v.end&&(v=e,this.mainFragLoading={frag:e,targetBufferTime:null})}if(g.start>v.end)return}this.loadFragment(g,n,p)}onMediaDetaching(e,t){this.bufferFlushed=this.flushing=!1,super.onMediaDetaching(e,t)}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(e=>new i3(e))}onAudioTrackSwitching(e,t){let i=!!t.url;this.trackId=t.id;let{fragCurrent:r}=this;r&&(r.abortRequests(),this.removeUnbufferedFrags(r.start)),this.resetLoadingState(),i?(this.switchingTrack=t,this.flushAudioIfNeeded(t),this.state!==aH&&(this.setInterval(100),this.state=aG,this.tick())):(this.resetTransmuxer(),this.switchingTrack=null,this.bufferedTrack=t,this.clearInterval())}onManifestLoading(){super.onManifestLoading(),this.bufferFlushed=this.flushing=this.audioOnly=!1,this.resetItem(),this.trackId=-1}onLevelLoaded(e,t){this.mainDetails=t.details;let i=this.cachedTrackLoadedData;i&&(this.cachedTrackLoadedData=null,this.onAudioTrackLoaded(tG.AUDIO_TRACK_LOADED,i))}onAudioTrackLoaded(e,t){var i,r;let{levels:a}=this,{details:s,id:n,groupId:o,track:l}=t;if(!a)return void this.warn(`Audio tracks reset while loading track ${n} "${l.name}" of "${o}"`);let d=this.mainDetails;if(!d||s.endCC>d.endCC||d.expired){this.cachedTrackLoadedData=t,this.state!==aH&&(this.state=aq);return}this.cachedTrackLoadedData=null,this.log(`Audio track ${n} "${l.name}" of "${o}" loaded [${s.startSN},${s.endSN}]${s.lastPartSn?`[part-${s.lastPartSn}-${s.lastPartIndex}]`:""},duration:${s.totalduration}`);let h=a[n],u=0;if(s.live||null!=(i=h.details)&&i.live){if(this.checkLiveUpdate(s),s.deltaUpdateFailed)return;h.details&&(u=this.alignPlaylists(s,h.details,null==(r=this.levelLastLoaded)?void 0:r.details)),s.alignedSliding||(aN(s,d),s.alignedSliding||aU(s,d),u=s.fragmentStart)}h.details=s,this.levelLastLoaded=h,this.startFragRequested||this.setStartPosition(d,u),this.hls.trigger(tG.AUDIO_TRACK_UPDATED,{details:s,id:n,groupId:t.groupId}),this.state!==aq||this.waitForCdnTuneIn(s)||(this.state=aG),this.tick()}_handleFragmentLoadProgress(e){var t;let i=e.frag,{part:r,payload:a}=e,{config:s,trackId:n,levels:o}=this;if(!o)return void this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);let l=o[n];if(!l)return void this.warn("Audio track is undefined on fragment load progress");let d=l.details;if(!d){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(i.start);return}let h=s.defaultAudioCodec||l.audioCodec||"mp4a.40.2",u=this.transmuxer;u||(u=this.transmuxer=new s5(this.hls,tj,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let c=this.initPTS[i.cc],m=null==(t=i.initSegment)?void 0:t.data;if(void 0!==c){let e=r?r.index:-1,t=new rx(i.level,i.sn,i.stats.chunkCount,a.byteLength,e,-1!==e);u.push(a,m,h,"",i,r,d.totalduration,!1,t,c)}else{this.log(`Unknown video PTS for cc ${i.cc}, waiting for video PTS before demuxing audio frag ${i.sn} of [${d.startSN} ,${d.endSN}],track ${n}`);let{cache:e}=this.waitingData=this.waitingData||{frag:i,part:r,cache:new a1,complete:!1};e.push(new Uint8Array(a)),this.state!==aH&&(this.state=aX)}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return}super._handleFragmentLoadComplete(e)}onBufferReset(){this.mediaBuffer=null}onBufferCreated(e,t){this.bufferFlushed=this.flushing=!1;let i=t.tracks.audio;i&&(this.mediaBuffer=i.buffer||null)}onFragLoading(e,t){!this.audioOnly&&t.frag.type===tY&&ih(t.frag)&&(this.mainFragLoading=t,this.state===aG&&this.tick())}onFragBuffered(e,t){let{frag:i,part:r}=t;if(i.type!==tj){this.audioOnly||i.type!==tY||i.elementaryStreams.video||i.elementaryStreams.audiovideo||(this.audioOnly=!0,this.mainFragLoading=null);return}if(this.fragContextChanged(i))return void this.warn(`Fragment ${i.sn}${r?" p: "+r.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);if(ih(i)){this.fragPrevious=i;let e=this.switchingTrack;e&&(this.bufferedTrack=e,this.switchingTrack=null,this.hls.trigger(tG.AUDIO_TRACK_SWITCHED,t0({},e)))}this.fragBufferedComplete(i,r),this.media&&this.tick()}onError(e,t){var i;if(t.fatal){this.state=az;return}switch(t.details){case tH.FRAG_GAP:case tH.FRAG_PARSING_ERROR:case tH.FRAG_DECRYPT_ERROR:case tH.FRAG_LOAD_ERROR:case tH.FRAG_LOAD_TIMEOUT:case tH.KEY_LOAD_ERROR:case tH.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(tj,t);break;case tH.AUDIO_TRACK_LOAD_ERROR:case tH.AUDIO_TRACK_LOAD_TIMEOUT:case tH.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==aq||(null==(i=t.context)?void 0:i.type)!==tV||(this.state=aG);break;case tH.BUFFER_ADD_CODEC_ERROR:case tH.BUFFER_APPEND_ERROR:if("audio"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)||this.resetLoadingState();break;case tH.BUFFER_FULL_ERROR:if("audio"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,1/0,"audio"));break;case tH.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onBufferFlushing(e,{type:t}){t!==io&&(this.flushing=!0)}onBufferFlushed(e,{type:t}){if(t!==io){this.flushing=!1,this.bufferFlushed=!0,this.state===aQ&&(this.state=aG);let e=this.mediaBuffer||this.media;e&&(this.afterBufferFlushed(e,t,tj),this.tick())}}_handleTransmuxComplete(e){var t;let i="audio",{hls:r}=this,{remuxResult:a,chunkMeta:s}=e,n=this.getCurrentContext(s);if(!n)return void this.resetWhenMissingContext(s);let{frag:o,part:l,level:d}=n,{details:h}=d,{audio:u,text:c,id3:m,initSegment:f}=a;if(this.fragContextChanged(o)||!h)return void this.fragmentTracker.removeFragment(o);if(this.state=aY,this.switchingTrack&&u&&this.completeAudioSwitch(this.switchingTrack),null!=f&&f.tracks){let e=o.initSegment||o;if(this.unhandledEncryptionError(f,o))return;this._bufferInitSegment(d,f.tracks,e,s),r.trigger(tG.FRAG_PARSING_INIT_SEGMENT,{frag:e,id:i,tracks:f.tracks})}if(u){let{startPTS:e,endPTS:t,startDTS:i,endDTS:r}=u;l&&(l.elementaryStreams[is]={startPTS:e,endPTS:t,startDTS:i,endDTS:r}),o.setElementaryStreamInfo(is,e,t,i,r),this.bufferFragmentData(u,o,l,s)}if(null!=m&&null!=(t=m.samples)&&t.length){let e=tZ({id:i,frag:o,details:h},m);r.trigger(tG.FRAG_PARSING_METADATA,e)}if(c){let e=tZ({id:i,frag:o,details:h},c);r.trigger(tG.FRAG_PARSING_USERDATA,e)}}_bufferInitSegment(e,t,i,r){if(this.state!==aY||(t.video&&delete t.video,t.audiovideo&&delete t.audiovideo,!t.audio))return;let a=t.audio;a.id=tj;let s=e.audioCodec;this.log(`Init audio buffer, container:${a.container}, codecs[level/parsed]=[${s}/${a.codec}]`),s&&1===s.split(",").length&&(a.levelCodec=s),this.hls.trigger(tG.BUFFER_CODECS,t);let n=a.initSegment;if(null!=n&&n.byteLength){let e={type:"audio",frag:i,part:null,chunkMeta:r,parent:i.type,data:n};this.hls.trigger(tG.BUFFER_APPENDING,e)}this.tickImmediate()}loadFragment(e,t,i){let r=this.fragmentTracker.getState(e);if(this.switchingTrack||r===rv||r===ry){var a;if(ih(e))if(null!=(a=t.details)&&a.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=aX;let i=this.mainDetails;i&&i.fragmentStart!==t.details.fragmentStart&&aU(t.details,i)}else super.loadFragment(e,t,i);else this._loadInitSegment(e,t)}else this.clearTrackerIfNeeded(e)}flushAudioIfNeeded(e){if(this.media&&this.bufferedTrack){let{name:t,lang:i,assocLang:r,characteristics:a,audioCodec:s,channels:n}=this.bufferedTrack;re({name:t,lang:i,assocLang:r,characteristics:a,audioCodec:s,channels:n},e,rt)||(rr(e.url,this.hls)?(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,1/0,"audio"),this.bufferedTrack=null):this.bufferedTrack=e)}}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(tG.AUDIO_TRACK_SWITCHED,t0({},e))}},audioTrackController:class extends s8{constructor(e){super(e,"audio-track-controller"),this.tracks=[],this.groupIds=null,this.tracksInGroup=[],this.trackId=-1,this.currentTrack=null,this.selectDefaultTrack=!0,this.registerListeners()}registerListeners(){let{hls:e}=this;e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tG.LEVEL_LOADING,this.onLevelLoading,this),e.on(tG.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(tG.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(tG.ERROR,this.onError,this)}unregisterListeners(){let{hls:e}=this;e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tG.LEVEL_LOADING,this.onLevelLoading,this),e.off(tG.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(tG.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(tG.ERROR,this.onError,this)}destroy(){this.unregisterListeners(),this.tracks.length=0,this.tracksInGroup.length=0,this.currentTrack=null,super.destroy()}onManifestLoading(){this.tracks=[],this.tracksInGroup=[],this.groupIds=null,this.currentTrack=null,this.trackId=-1,this.selectDefaultTrack=!0}onManifestParsed(e,t){this.tracks=t.audioTracks||[]}onAudioTrackLoaded(e,t){let{id:i,groupId:r,details:a}=t,s=this.tracksInGroup[i];if(!s||s.groupId!==r)return void this.warn(`Audio track with id:${i} and group:${r} not found in active group ${null==s?void 0:s.groupId}`);let n=s.details;s.details=t.details,this.log(`Audio track ${i} "${s.name}" lang:${s.lang} group:${r} loaded [${a.startSN}-${a.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,n)}onLevelLoading(e,t){this.switchLevel(t.level)}onLevelSwitching(e,t){this.switchLevel(t.level)}switchLevel(e){let t=this.hls.levels[e];if(!t)return;let i=t.audioGroups||null,r=this.groupIds,a=this.currentTrack;if(!i||(null==r?void 0:r.length)!==(null==i?void 0:i.length)||null!=i&&i.some(e=>(null==r?void 0:r.indexOf(e))===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;let e=this.tracks.filter(e=>!i||-1!==i.indexOf(e.groupId));if(e.length)this.selectDefaultTrack&&!e.some(e=>e.default)&&(this.selectDefaultTrack=!1),e.forEach((e,t)=>
28{e.id=t});else if(!a&&!this.tracksInGroup.length)return;this.tracksInGroup=e;let t=this.hls.config.audioPreference;if(!a&&t){let i=i7(t,e,rt);if(i>-1)a=e[i];else{let e=i7(t,this.tracks);a=this.tracks[e]}}let r=this.findTrackId(a);-1===r&&a&&(r=this.findTrackId(null)),this.log(`Updating audio tracks, ${e.length} track(s) found in group(s): ${null==i?void 0:i.join(",")}`),this.hls.trigger(tG.AUDIO_TRACKS_UPDATED,{audioTracks:e});let n=this.trackId;if(-1!==r&&-1===n)this.setAudioTrack(r);else if(e.length&&-1===n){var s;let t=Error(`No audio track selected for current audio group-ID(s): ${null==(s=this.groupIds)?void 0:s.join(",")} track count: ${e.length}`);this.warn(t.message),this.hls.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:t})}}}onError(e,t){!t.fatal&&t.context&&(t.context.type!==tV||t.context.id!==this.trackId||this.groupIds&&-1===this.groupIds.indexOf(t.context.groupId)||this.checkRetry(t))}get allAudioTracks(){return this.tracks}get audioTracks(){return this.tracksInGroup}get audioTrack(){return this.trackId}set audioTrack(e){this.selectDefaultTrack=!1,this.setAudioTrack(e)}setAudioOption(e){let t=this.hls;if(t.config.audioPreference=e,e){let a=this.allAudioTracks;
28if(this.selectDefaultTrack=!1,a.length){let s=this.currentTrack;if(s&&re(e,s,rt))return s;let n=i7(e,this.tracksInGroup,rt);if(n>-1){let e=this.tracksInGroup[n];return this.setAudioTrack(n),e}if(s){var i,r;let s,n,o,l,d,h,u=t.loadLevel;-1===u&&(u=t.firstAutoLevel);let c=(i=t.levels,s=i[r=u],(n=i.reduce((e,t,i)=>{let r=t.uri;return(e[r]||(e[r]=[])).push(i),e},{})[s.uri]).length>1&&(r=Math.max.apply(Math,n)),o=s.videoRange,l=s.frameRate,d=s.codecSet.substring(0,4),(h=ri(i,r,t=>{if(t.videoRange!==o||t.frameRate!==l||t.codecSet.substring(0,4)!==d)return!1;let i=t.audioGroups;return i7(e,a.filter(e=>!i||-1!==i.indexOf(e.groupId)),rt)>-1}))>-1?h:ri(i,r,t=>{let i=t.audioGroups;return i7(e,a.filter(e=>!i||-1!==i.indexOf(e.groupId)),rt)>-1}));if(-1===c)return null;t.nextLoadLevel=c}if(e.channels||e.audioCodec){let t=i7(e,a);if(t>-1)return a[t]}}}return null}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length)return void this.warn(`Invalid audio track id: ${e}`);this.selectDefaultTrack=!1;let i=this.currentTrack,r=t[e],a=r.details&&!r.details.live;if(e===this.trackId&&r===i&&a||(this.log(`Switching to audio-track ${e} "${r.name}" lang:${r.lang} group:${r.groupId} channels:${r.channels}`),this.trackId=e,this.currentTrack=r,this.hls.trigger(tG.AUDIO_TRACK_SWITCHING,t0({},r)),a))return;let s=this.switchParams(r.url,null==i?void 0:i.details,r.details);this.loadPlaylist(s)}findTrackId(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++){let r=t[i];if((!this.selectDefaultTrack||r.default)&&(!e||re(e,r,rt)))return i}if(e){let{name:i,lang:r,assocLang:a,characteristics:s,audioCodec:n,channels:o}=e;for(let e=0;e<t.length;e++)if(re({name:i,lang:r,assocLang:a,characteristics:s,audioCodec:n,channels:o},t[e],rt))return e;for(let i=0;i<t.length;i++){let r=t[i];if(s6(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return i}for(let i=0;i<t.length;i++){let r=t[i];if(s6(e.attrs,r.attrs,["LANGUAGE"]))return i}}return -1}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;this.shouldLoadPlaylist(t)&&rr(t.url,this.hls)&&this.scheduleLoading(t,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=e.id,r=e.groupId,a=this.getUrlWithDirectives(e.url,t),s=e.details,n=null==s?void 0:s.age;this.log(`Loading audio-track ${i} "${e.name}" lang:${e.lang} group:${r}${(null==t?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${n&&s.live?" age "+n.toFixed(1)+(s.type?" "+s.type:""):""} ${a}`),this.hls.trigger(tG.AUDIO_TRACK_LOADING,{url:a,id:i,groupId:r,deliveryDirectives:t||null,track:e})}},emeController:nW,cmcdController:class{constructor(e){this.hls=void 0,this.config=void 0,this.media=void 0,this.sid=void 0,this.cid=void 0,this.useHeaders=!1,this.includeKeys=void 0,this.initialized=!1,this.starved=!1,this.buffering=!0,this.audioBuffer=void 0,this.videoBuffer=void 0,this.onWaiting=()=>{this.initialized&&(this.starved=!0),this.buffering=!0},this.onPlaying=()=>{this.initialized||(this.initialized=!0),this.buffering=!1},this.applyPlaylistData=e=>{try{this.apply(e,{ot:"m",su:!this.initialized})}catch(e){this.hls.logger.warn("Could not generate manifest CMCD data.",e)}},this.applyFragmentData=e=>{try{let{frag:t,part:i}=e,r=this.hls.levels[t.level],a=this.getObjectType(t),s={d:1e3*(i||t).duration,ot:a};("v"===a||"a"===a||"av"==a)&&(s.br=r.bitrate/1e3,s.tb=this.getTopBandwidth(a)/1e3,s.bl=this.getBufferLength(a));let n=i?this.getNextPart(i):this.getNextFrag(t);null!=n&&n.url&&n.url!==t.url&&(s.nor=n.url),this.apply(e,s)}catch(e){this.hls.logger.warn("Could not generate segment CMCD data.",e)}},this.hls=e;const t=this.config=e.config,{cmcd:i}=t;null!=i&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||e.sessionId,this.cid=i.contentId,this.useHeaders=!0===i.useHeaders,this.includeKeys=i.includeKeys,this.registerListeners())}registerListeners(){let e=this.hls;
28e.on(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tG.MEDIA_DETACHED,this.onMediaDetached,this),e.on(tG.BUFFER_CREATED,this.onBufferCreated,this)}unregisterListeners(){let e=this.hls;e.off(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tG.MEDIA_DETACHED,this.onMediaDetached,this),e.off(tG.BUFFER_CREATED,this.onBufferCreated,this)}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=this.media=null}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("waiting",this.onWaiting),this.media.addEventListener("playing",this.onPlaying)}onMediaDetached(){this.media&&(this.media.removeEventListener("waiting",this.onWaiting),this.media.removeEventListener("playing",this.onPlaying),this.media=null)}onBufferCreated(e,t){var i,r;this.audioBuffer=null==(i=t.tracks.audio)?void 0:i.buffer,this.videoBuffer=null==(r=t.tracks.video)?void 0:r.buffer}createData(){var e;return{v:1,sf:"h",sid:this.sid,cid:this.cid,pr:null==(e=this.media)?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3}}apply(e,t={}){tZ(t,this.createData());let i="i"===t.ot||"v"===t.ot||"av"===t.ot;this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),null==t.su&&(t.su=this.buffering);let{includeKeys:r}=this;r&&(t=Object.keys(t).reduce((e,i)=>(r.includes(i)&&(e[i]=t[i]),e),{}));let a={baseUrl:e.url};if(this.useHeaders){var s;e.headers||(e.headers={}),s=e.headers,tZ(s,function(e,t={}){let i={};return e?Object.entries(function(e,t){let i={};if(!e)return i;let r=Object.keys(e),a=t?Object.keys(t).reduce((e,i)=>{var r;return null==(r=t[i])||r.forEach(t=>e[t]=i),e},{}):{};return r.reduce((t,i)=>{var r;let s=nA[i]||a[i]||nb;return(null!=(r=t[s])?r:t[s]={})[i]=e[i],t},i)}(n$(e,t),null==t?void 0:t.customHeaderMap)).reduce((e,[t,i])=>{let r=nE(i,{whitespace:!1});return r&&(e[t]=r),e},i):i}(t,a))}else e.url=function(e,t,i){let r=function(e,t={}){if(!e)return"";let i=function(e,t={}){return e?encodeURIComponent(function(e,t={}){return e?nE(n$(e,t),{whitespace:!1}):""}(e,t)):""}(e,t);return`CMCD=${i}`}(t,i);if(!r)return e;if(nH.test(e))return e.replace(nH,r);let a=e.includes("?")?"&":"?";return`${e}${a}${r}`}(e.url,t,a)}getNextFrag(e){var t;let i=null==(t=this.hls.levels[e.level])?void 0:t.details;if(i){let t=e.sn-i.startSN;return i.fragments[t+1]}}getNextPart(e){var t;let{index:i,fragment:r}=e,a=null==(t=this.hls.levels[r.level])||null==(t=t.details)?void 0:t.partList;if(a){let{sn:e}=r;for(let t=a.length-1;t>=0;t--){let r=a[t];if(r.index===i&&r.fragment.sn===e)return a[t+1]}}}getObjectType(e){let{type:t}=e;return"subtitle"===t?"tt":"initSegment"===e.sn?"i":"audio"===t?"a":"main"===t?this.hls.audioTracks.length?"v":"av":void 0}getTopBandwidth(e){let t,i=0,r=this.hls;if("a"===e)t=r.audioTracks;else{let e=r.maxAutoLevel,i=e>-1?e+1:r.levels.length;t=r.levels.slice(0,i)}return t.forEach(e=>{e.bitrate>i&&(i=e.bitrate)}),i>0?i:NaN}getBufferLength(e){let t=this.media,i="a"===e?this.audioBuffer:this.videoBuffer;return i&&t?1e3*rN.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len:NaN}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new i(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,i,r){t(e),this.loader.load(e,i,r)}}}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,i=e||this.config.loader;return class{constructor(e){this.loader=void 0,this.loader=new i(e)}get stats(){return this.loader.stats}get context(){return this.loader.context}destroy(){this.loader.destroy()}abort(){this.loader.abort()}load(e,i,r){t(e),this.loader.load(e,i,r)}}}},contentSteeringController:class extends t1{constructor(e){super("content-steering",e.logger),this.hls=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this._pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.registerListeners()}registerListeners(){let e=this.hls;e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(tG.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tG.ERROR,this.onError,this)}unregisterListeners(){let e=this.hls;e&&(e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(tG.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tG.ERROR,this.onError,this))}pathways(){return(this.levels||[]).reduce((e,t)=>
28(-1===e.indexOf(t.pathwayId)&&e.push(t.pathwayId),e),[])}get pathwayPriority(){return this._pathwayPriority}set pathwayPriority(e){this.updatePathwayPriority(e)}startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=1e3*this.timeToLoad-(performance.now()-this.updated);if(e>0)return void this.scheduleRefresh(this.uri,e)}this.loadSteeringManifest(this.uri)}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout()}clearTimeout(){-1!==this.reloadTimer&&(self.clearTimeout(this.reloadTimer),this.reloadTimer=-1)}destroy(){this.unregisterListeners(),this.stopLoad(),this.hls=null,this.levels=this.audioTracks=this.subtitleTracks=null}removeLevel(e){let t=this.levels;t&&(this.levels=t.filter(t=>t!==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;null!==i&&(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((null==i?void 0:i.action)===2&&1===i.flags){let e=this.levels,r=this._pathwayPriority,a=this.pathwayId;if(t.context){let{groupId:i,pathwayId:r,type:s}=t.context;i&&e?a=this.getPathwayForGroupId(i,s,a):r&&(a=r)}a in this.penalizedPathways||(this.penalizedPathways[a]=performance.now()),!r&&e&&(r=this.pathways()),r&&r.length>1&&(this.updatePathwayPriority(r),i.resolved=this.pathwayId!==a),t.details!==tH.BUFFER_APPEND_ERROR||t.fatal?i.resolved||this.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${a} levels: ${e?e.length:e} priorities: ${i5(r)} penalized: ${i5(this.penalizedPathways)}`):i.resolved=!0}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(0===t.length){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}getLevelsForPathway(e){return null===this.levels?[]:this.levels.filter(t=>e===t.pathwayId)}updatePathwayPriority(e){let t;this._pathwayPriority=e;let i=this.penalizedPathways,r=performance.now();
28Object.keys(i).forEach(e=>{r-i[e]>3e5&&delete i[e]});for(let r=0;r<e.length;r++){let a=e[r];if(a in i)continue;if(a===this.pathwayId)return;let s=this.hls.nextLoadLevel,n=this.hls.levels[s];if((t=this.getLevelsForPathway(a)).length>0){this.log(`Setting Pathway to "${a}"`),this.pathwayId=a,aC(t),this.hls.trigger(tG.LEVELS_UPDATED,{levels:t});let e=this.hls.levels[s];n&&e&&this.levels&&(e.attrs["STABLE-VARIANT-ID"]!==n.attrs["STABLE-VARIANT-ID"]&&e.bitrate!==n.bitrate&&this.log(`Unstable Pathways change from bitrate ${n.bitrate} to ${e.bitrate}`),this.hls.nextLoadLevel=s);break}}}getPathwayForGroupId(e,t,i){let r=this.getLevelsForPathway(i).concat(this.levels||[]);for(let i=0;i<r.length;i++)if(t===tV&&r[i].hasAudioGroup(e)||t===tq&&r[i].hasSubtitleGroup(e))return r[i].pathwayId;return i}clonePathways(e){let t=this.levels;if(!t)return;let i={},r={};e.forEach(e=>{let{ID:a,"BASE-ID":s,"URI-REPLACEMENT":n}=e;if(t.some(e=>e.pathwayId===a))return;let o=this.getLevelsForPathway(s).map(e=>{let t=new rG(e.attrs);t["PATHWAY-ID"]=a;let s=t.AUDIO&&`${t.AUDIO}_clone_${a}`,o=t.SUBTITLES&&`${t.SUBTITLES}_clone_${a}`;s&&(i[t.AUDIO]=s,t.AUDIO=s),o&&(r[t.SUBTITLES]=o,t.SUBTITLES=o);let l=nK(e.uri,t["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",n),d=new i3({attrs:t,audioCodec:e.audioCodec,bitrate:e.bitrate,height:e.height,name:e.name,url:l,videoCodec:e.videoCodec,width:e.width});if(e.audioGroups)for(let t=1;t<e.audioGroups.length;t++)d.addGroupId("audio",`${e.audioGroups[t]}_clone_${a}`);if(e.subtitleGroups)for(let t=1;t<e.subtitleGroups.length;t++)d.addGroupId("text",`${e.subtitleGroups[t]}_clone_${a}`);return d});t.push(...o),nG(this.audioTracks,i,n,a),nG(this.subtitleTracks,r,n,a)})}loadSteeringManifest(e){let t,i=this.hls.config,r=i.loader;this.loader&&this.loader.destroy(),this.loader=new r(i);try{t=new self.URL(e)}catch(t){this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return}if("data:"!==t.protocol){let e=0|(this.hls.bandwidthEstimate||i.abrEwmaDefaultEstimate);t.searchParams.set("_HLS_pathway",this.pathwayId),t.searchParams.set("_HLS_throughput",""+e)}let a={responseType:"json",url:t.href},s=i.steeringManifestLoadPolicy.default,n=s.errorRetry||s.timeoutRetry||{},o={loadPolicy:s,timeout:s.maxLoadTimeMs,maxRetry:n.maxNumRetry||0,retryDelay:n.retryDelayMs||0,maxRetryDelay:n.maxRetryDelayMs||0};this.log(`Requesting steering manifest: ${t}`),this.loader.load(a,o,{onSuccess:(e,i,r,a)=>{this.log(`Loaded steering manifest: "${t}"`);let s=e.data;if((null==s?void 0:s.VERSION)!==1)return void this.log(`Steering VERSION ${s.VERSION} not supported!`);this.updated=performance.now(),this.timeToLoad=s.TTL;let{"RELOAD-URI":n,"PATHWAY-CLONES":o,"PATHWAY-PRIORITY":l}=s;if(n)try{this.uri=new self.URL(n,t).href}catch(e){this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${n}`);return}this.scheduleRefresh(this.uri||r.url),o&&this.clonePathways(o);let d={steeringManifest:s,url:t.toString()};this.hls.trigger(tG.STEERING_MANIFEST_LOADED,d),l&&this.updatePathwayPriority(l)},onError:(e,t,i,r)=>{if(this.log(`Error loading steering manifest: ${e.code} ${e.text} (${t.url})`),this.stopLoad(),410===e.code){this.enabled=!1,this.log(`Steering manifest ${t.url} no longer available`);return}let a=1e3*this.timeToLoad;if(429===e.code){let e=this.loader;if("function"==typeof(null==e?void 0:e.getResponseHeader)){let t=e.getResponseHeader("Retry-After");t&&(a=1e3*parseFloat(t))}this.log(`Steering manifest ${t.url} rate limited`);return}this.scheduleRefresh(this.uri||t.url,a)},onTimeout:(e,t,i)=>{this.log(`Timeout loading steering manifest (${t.url})`),this.scheduleRefresh(this.uri||t.url)}})}scheduleRefresh(e,t=1e3*this.timeToLoad){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var t;let i=null==(t=this.hls)?void 0:t.media;i&&!i.ended?this.loadSteeringManifest(e):this.scheduleRefresh(e,1e3*this.timeToLoad)},t)}},interstitialsController:class extends t1{constructor(e,t){super("interstitials",e.logger),this.HlsPlayerClass=void 0,this.hls=void 0,this.assetListLoader=void 0,this.mediaSelection=null,this.altSelection=null,this.media=null,this.detachedData=null,this.requiredTracks=null,this.manager=null,this.playerQueue=[],this.bufferedPos=-1,this.timelinePos=-1,this.schedule=void 0,this.playingItem=null,this.bufferingItem=null,this.waitingItem=null,this.endedItem=null,this.playingAsset=null,this.endedAsset=null,this.bufferingAsset=null,this.shouldPlay=!1,this.onPlay=()=>{this.shouldPlay=!0},this.onPause=()=>{this.shouldPlay=!1}
28,this.onSeeking=()=>{var e,t;let i=this.currentTime;if(void 0===i||this.playbackDisabled||!this.schedule)return;let r=i-this.timelinePos;if(Math.abs(r)<1/7056e5)return;let a=r<=-.01;-1!==this.timelinePos||this.effectivePlayingItem||this.checkStart(),this.timelinePos=i,this.bufferedPos=i;let s=this.playingItem;if(!s)return void this.checkBuffer();if(a&&this.schedule.resetErrorsInRange(i,i-r)&&this.updateSchedule(!0),this.checkBuffer(),a&&i<s.start||i>=s.end){let t=this.findItemIndex(s),r=this.schedule.findItemIndexAtTime(i);if(-1===r&&(r=t+(a?-1:1),this.log(`seeked ${a?"back ":""}to position not covered by schedule ${i} (resolving from ${t} to ${r})`)),!this.isInterstitial(s)&&null!=(e=this.media)&&e.paused&&(this.shouldPlay=!1),!a&&r>t){let e=this.schedule.findJumpRestrictedIndex(t+1,r);if(e>t)return void this.setSchedulePosition(e)}this.setSchedulePosition(r);return}let n=this.playingAsset;if(!n){if(this.playingLastItem&&this.isInterstitial(s)){let e=s.event.assetList[0];e&&(this.endedItem=this.playingItem,this.playingItem=null,this.setScheduleToAssetAtTime(i,e))}return}let o=n.timelineStart,l=n.duration||0;(a&&i<o||i>=o+l)&&(null!=(t=s.event)&&t.appendInPlace&&(this.clearAssetPlayers(s.event,s),this.flushFrontBuffer(i)),this.setScheduleToAssetAtTime(i,n))},this.onTimeupdate=()=>{let e=this.currentTime;if(void 0===e||this.playbackDisabled||(-1!==this.timelinePos||this.effectivePlayingItem||this.checkStart(),!(e>this.timelinePos)))return;this.timelinePos=e,e>this.bufferedPos&&this.checkBuffer();let t=this.playingItem;if(!t||this.playingLastItem)return;if(e>=t.end){this.timelinePos=t.end;let e=this.findItemIndex(t);this.setSchedulePosition(e+1)}let i=this.playingAsset;!i||e>=i.timelineStart+(i.duration||0)&&this.setScheduleToAssetAtTime(e,i)},this.onScheduleUpdate=(e,t)=>{let i=this.schedule;if(!i)return;let r=this.playingItem,a=i.events||[],s=i.items||[],n=i.durations,o=e.map(e=>e.identifier),l=!!(a.length||o.length);(l||t)&&this.log(`INTERSTITIALS_UPDATED (${a.length}): ${a} 29Schedule: ${s.map(e=>n6(e))} pos: ${this.timelinePos}`),o.length&&this.log(`Removed events ${o}`);let d=null,h=null;r&&(d=this.updateItem(r,this.timelinePos),this.itemsMatch(r,d)?this.playingItem=d:this.waitingItem=this.endedItem=null),this.waitingItem=this.updateItem(this.waitingItem),this.endedItem=this.updateItem(this.endedItem);let u=this.bufferingItem;if(u&&(h=this.updateItem(u,this.bufferedPos),this.itemsMatch(u,h)?this.bufferingItem=h:u.event&&(this.bufferingItem=this.playingItem,this.clearInterstitial(u.event,null))),e.forEach(e=>{e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,null)})}),this.playerQueue.forEach(e=>{if(e.interstitial.appendInPlace){let t=e.assetItem.timelineStart,i=e.timelineOffset-t;if(i)try{e.timelineOffset=t}catch(r){Math.abs(i)>.025&&this.warn(`${r} ("${e.assetId}" ${e.timelineOffset}->${t})`)}}}),l||t){if(this.hls.trigger(tG.INTERSTITIALS_UPDATED,{events:a.slice(0),schedule:s.slice(0),durations:n,removedIds:o}),this.isInterstitial(r)&&o.includes(r.event.identifier)){this.warn(`Interstitial "${r.event.identifier}" removed while playing`),this.primaryFallback(r.event);return}r&&this.trimInPlace(d,r),u&&h!==d&&this.trimInPlace(h,u),this.checkBuffer()}},this.hls=e,this.HlsPlayerClass=t,this.assetListLoader=new n7(e),this.schedule=new n9(this.onScheduleUpdate,e.logger),this.registerListeners()}registerListeners(){let e=this.hls;
29e&&(e.on(tG.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(tG.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(tG.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.on(tG.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(tG.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.on(tG.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.on(tG.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.on(tG.BUFFER_APPENDED,this.onBufferAppended,this),e.on(tG.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(tG.BUFFERED_TO_END,this.onBufferedToEnd,this),e.on(tG.MEDIA_ENDED,this.onMediaEnded,this),e.on(tG.ERROR,this.onError,this),e.on(tG.DESTROYING,this.onDestroying,this))}unregisterListeners(){let e=this.hls;e&&(e.off(tG.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(tG.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(tG.AUDIO_TRACK_UPDATED,this.onAudioTrackUpdated,this),e.off(tG.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(tG.SUBTITLE_TRACK_UPDATED,this.onSubtitleTrackUpdated,this),e.off(tG.EVENT_CUE_ENTER,this.onInterstitialCueEnter,this),e.off(tG.ASSET_LIST_LOADED,this.onAssetListLoaded,this),e.off(tG.BUFFER_CODECS,this.onBufferCodecs,this),e.off(tG.BUFFER_APPENDED,this.onBufferAppended,this),e.off(tG.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(tG.BUFFERED_TO_END,this.onBufferedToEnd,this),e.off(tG.MEDIA_ENDED,this.onMediaEnded,this),e.off(tG.ERROR,this.onError,this),e.off(tG.DESTROYING,this.onDestroying,this))}startLoad(){this.resumeBuffering()}stopLoad(){this.pauseBuffering()}resumeBuffering(){var e;null==(e=this.getBufferingPlayer())||e.resumeBuffering()}pauseBuffering(){var e;null==(e=this.getBufferingPlayer())||e.pauseBuffering()}destroy(){this.unregisterListeners(),this.stopLoad(),this.assetListLoader&&this.assetListLoader.destroy(),this.emptyPlayerQueue(),this.clearScheduleState(),this.schedule&&this.schedule.destroy(),this.media=this.detachedData=this.mediaSelection=this.requiredTracks=this.altSelection=this.schedule=this.manager=null,this.hls=this.HlsPlayerClass=this.log=null,this.assetListLoader=null,this.onPlay=this.onPause=this.onSeeking=this.onTimeupdate=null,this.onScheduleUpdate=null}onDestroying(){let e=this.primaryMedia||this.media;e&&this.removeMediaListeners(e)}removeMediaListeners(e){aB(e,"play",this.onPlay),aB(e,"pause",this.onPause),aB(e,"seeking",this.onSeeking),aB(e,"timeupdate",this.onTimeupdate)}onMediaAttaching(e,t){let i=this.media=t.media;aF(i,"seeking",this.onSeeking),aF(i,"timeupdate",this.onTimeupdate),aF(i,"play",this.onPlay),aF(i,"pause",this.onPause)}onMediaAttached(e,t){let i=this.effectivePlayingItem,r=this.detachedData;if(this.detachedData=null,null===i)this.checkStart();else if(!r){this.clearScheduleState();let e=this.findItemIndex(i);this.setSchedulePosition(e)}}clearScheduleState(){this.log("clear schedule state"),this.playingItem=this.bufferingItem=this.waitingItem=this.endedItem=this.playingAsset=this.endedAsset=this.bufferingAsset=null}onMediaDetaching(e,t){let i=!!t.transferMedia,r=this.media;if(this.media=null,!i&&(r&&this.removeMediaListeners(r),this.detachedData)){let e=this.getBufferingPlayer();e&&(this.log(`Removing schedule state for detachedData and ${e}`),this.playingAsset=this.endedAsset=this.bufferingAsset=this.bufferingItem=this.waitingItem=this.detachedData=null,e.detachMedia()),this.shouldPlay=!1}}get interstitialsManager(){if(!this.hls)return null;if(this.manager)return this.manager;let e=this,t=t=>t?e.getAssetPlayer(t.identifier):t,i=(i,a,s,n,o)=>{if(i){let l=i[a].start,d=i.event;if(d){if("playout"===a||d.timelineOccupancy!==n0.Point){let e=t(s);(null==e?void 0:e.interstitial)===d&&(l+=e.assetItem.startOffset+e[o])}}else l+=("bufferedPos"===n?r():e[n])-i.start;return l}return 0},r=()=>{let t=e.bufferedPos;return t===Number.MAX_VALUE?a("primary"):Math.max(t,0)},a=t=>{var i,r;return null!=(i=e.primaryDetails)&&i.live?e.primaryDetails.edge:(null==(r=e.schedule)?void 0:r.durations[t])||0},s=(r,a)=>{var s,n;let o=e.effectivePlayingItem;if(null!=o&&null!=(s=o.event)&&s.restrictions.skip||!e.schedule)return;e.log(`seek to ${r} "${a}"`);let l=e.effectivePlayingItem,d=e.schedule.findItemIndexAtTime(r,a),h=null==(n=e.schedule.items)?void 0:n[d],u=e.getBuffer
29ingPlayer(),c=null==u?void 0:u.interstitial,m=null==c?void 0:c.appendInPlace,f=l&&e.itemsMatch(l,h);if(l&&(m||f)){let s=t(e.playingAsset),n=(null==s?void 0:s.media)||e.primaryMedia;if(n){let t="primary"===a?n.currentTime:i(l,a,e.playingAsset,"timelinePos","currentTime"),o=r-t,d=(m?t:n.currentTime)+o;if(d>=0&&(!s||m||d<=s.duration)){n.currentTime=d;return}}}if(h){let t=r;if("primary"!==a){let e=r-h[a].start;t=h.start+e}let i=!e.isInterstitial(h);if((!e.isInterstitial(l)||l.event.appendInPlace)&&(i||h.event.appendInPlace)){let i=e.media||(m?null==u?void 0:u.media:null);i&&(i.currentTime=t)}else if(l){let s=e.findItemIndex(l);if(d>s){let t=e.schedule.findJumpRestrictedIndex(s+1,d);if(t>s)return void e.setSchedulePosition(t)}let n=0;if(i)e.timelinePos=t,e.checkBuffer();else{let e=h.event.assetList,t=r-(h[a]||h).start;for(let i=e.length;i--;){let r=e[i];if(r.duration&&t>=r.startOffset&&t<r.startOffset+r.duration){n=i;break}}}e.setSchedulePosition(d,n)}}},n=()=>{let t=e.effectivePlayingItem;if(e.isInterstitial(t))return t;let i=e.bufferingItem||e.waitingItem;return e.isInterstitial(i)?i:null},o={get bufferedEnd(){let t=e.bufferingItem||e.waitingItem,r=e.bufferingItem;if(r&&r===t){var l;return i(r,"playout",e.bufferingAsset,"bufferedPos","bufferedEnd")-r.playout.start||(null==(l=e.bufferingAsset)?void 0:l.startOffset)||0}return 0},get currentTime(){let t=n(),r=e.effectivePlayingItem;if(r&&r===t)return i(r,"playout",e.effectivePlayingAsset,"timelinePos","currentTime")-r.playout.start;return 0},set currentTime(time){let t=n(),i=e.effectivePlayingItem;i&&i===t&&s(time+i.playout.start,"playout")},get duration(){let e=n();if(e)return e.playout.end-e.playout.start;return 0},get assetPlayers(){var d;let t=null==(d=n())?void 0:d.event.assetList;if(t)return t.map(t=>e.getAssetPlayer(t.identifier));return[]},get playingIndex(){var h;let t=null==(h=n())?void 0:h.event;if(t&&e.effectivePlayingAsset)return t.findAssetIndex(e.effectivePlayingAsset);return -1},get scheduleItem(){return n()}};return this.manager={get events(){var u;return(null==(u=e.schedule)||null==(u=u.events)?void 0:u.slice(0))||[]},get schedule(){var c;return(null==(c=e.schedule)||null==(c=c.items)?void 0:c.slice(0))||[]},get interstitialPlayer(){if(n())return o;return null},get playerQueue(){return e.playerQueue.slice(0)},get bufferingAsset(){return e.bufferingAsset},get bufferingItem(){return e.bufferingItem||e.waitingItem},get bufferingIndex(){let t=e.bufferingItem||e.waitingItem;return e.findItemIndex(t)},get playingAsset(){return e.effectivePlayingAsset},get playingItem(){return e.effectivePlayingItem},get playingIndex(){let t=e.effectivePlayingItem;return e.findItemIndex(t)},primary:{get bufferedEnd(){return r()},get currentTime(){let t=e.timelinePos;return t>0?t:0},set currentTime(time){s(time,"primary")},get duration(){return a("primary")},get seekableStart(){var m;return(null==(m=e.primaryDetails)?void 0:m.fragmentStart)||0}},integrated:{get bufferedEnd(){return i(e.bufferingItem||e.waitingItem,"integrated",e.bufferingAsset,"bufferedPos","bufferedEnd")},get currentTime(){return i(e.effectivePlayingItem,"integrated",e.effectivePlayingAsset,"timelinePos","currentTime")},set currentTime(time){s(time,"integrated")},get duration(){return a("integrated")},get seekableStart(){var f;return((t,i)=>{var r,a;if(0!==t&&"primary"!==i&&null!=(r=e.schedule)&&r.length){let r=e.schedule.findItemIndexAtTime(t),s=null==(a=e.schedule.items)?void 0:a[r];if(s)return t+(s[i].start-s.start)}return t})((null==(f=e.primaryDetails)?void 0:f.fragmentStart)||0,"integrated")}},skip:()=>{let t=e.effectivePlayingItem,i=null==t?void 0:t.event;if(i&&!i.restrictions.skip){let r=e.findItemIndex(t);i.appendInPlace?s(t.playout.start+t.event.duration+.001,"playout"):e.advanceAfterAssetEnded(i,r,1/0)}}}}get effectivePlayingItem(){return this.waitingItem||this.playingItem||this.endedItem}get effectivePlayingAsset(){return this.playingAsset||this.endedAsset}get playingLastItem(){var e;let t=this.playingItem,i=null==(e=this.schedule)?void 0:e.items;return!!this.playbackStarted&&!!t&&!!i&&this.findItemIndex(t)===i.length-1}get playbackStarted(){return null!==this.effectivePlayingItem}get currentTime(){var e,t;if(null===this.mediaSelection)return;let i=this.waitingItem||this.playingItem;if(this.isInterstitial(i)&&!i.event.appendInPlace)return;let r=this.media;!r&&null!=(e=this.bufferingItem)&&null!=(e=e.event)&&e.appendInPlace&&(r=this.primaryMedia);let a=null==(t=r)?void 0:t.currentTime;if(void 0!==a&&tU(a))return a}get primaryMedia(){var e;return this.media||(null==(e=this.detachedData)?void 0:e.media)||null}isInterstitial(e){return!!(null!=e&&e.event)}retreiveMediaSource(e,t){let i=this.getAssetPlayer(e);i&&this.transferMediaFromPlayer(i,t)}transferMediaFromPlayer(e,t){let i=e.interstitial.appendInPlace,r=e.media;if(i&&r===this.primaryMedia){if(this.bufferingAsset=null,(!t||this.isInterstitial(t)&&!t.event.appendInPlace)&&t&&r){this.detachedData={media:r};return}let i=e.transferMedia();this.log(`transfer MediaSource from ${e} ${i5(i)}`),this.detachedData=i}else t&&r&&(this.shouldPlay||(this.shouldPlay=!r.paused))}transferMediaTo(e,t){var i,r;let a;if(e.media===t)return;let s=null,n=this.hls,o=e!==n,l=o&&e.interstitial.appendInPlace,d=null==(i=this.detachedData)?void 0:i.mediaSource;if(n.media)l&&(s=n.transferMedia(),this.detachedData=s),a="Primary";
29else if(d){let e=this.getBufferingPlayer();e?(s=e.transferMedia(),a=`${e}`):a="detached MediaSource"}else a="detached media";if(!s){if(d)s=this.detachedData,this.log(`using detachedData: MediaSource ${i5(s)}`);else if(!this.detachedData||n.media===t){let e=this.playerQueue;e.length>1&&e.forEach(e=>{if(o&&e.interstitial.appendInPlace!==l){let t=e.interstitial;this.clearInterstitial(e.interstitial,null),t.appendInPlace=!1,t.appendInPlace&&this.warn(`Could not change append strategy for queued assets ${t}`)}}),this.hls.detachMedia(),this.detachedData={media:t}}}let h=s&&"mediaSource"in s&&(null==(r=s.mediaSource)?void 0:r.readyState)!=="closed",u=h&&s?s:t;this.log(`${h?"transfering MediaSource":"attaching media"} to ${o?e:"Primary"} from ${a} (media.currentTime: ${t.currentTime})`);let c=this.schedule;if(u===s&&c){let t=o&&e.assetId===c.assetIdAtEnd;u.overrides={duration:c.duration,endOfStream:!o||t,cueRemoval:!o}}e.attachMedia(u)}onInterstitialCueEnter(){this.onTimeupdate()}checkStart(){let e=this.schedule,t=null==e?void 0:e.events;if(!t||this.playbackDisabled||!this.media)return;-1===this.bufferedPos&&(this.bufferedPos=0);let i=this.timelinePos,r=this.effectivePlayingItem;if(-1===i){let i=this.hls.startPosition;if(this.timelinePos=i,0===t.length)this.setSchedulePosition(0);else if(t[0].cue.pre){this.log(ot("checkStart (preroll)",i));let r=e.findEventIndex(t[0].identifier);this.setSchedulePosition(r)}else if(i>=0||!this.primaryLive){this.log(ot("checkStart",i));let t=this.timelinePos=i>0?i:0,r=e.findItemIndexAtTime(t);this.setSchedulePosition(r)}else 0===this.hls.liveSyncPosition?this.setSchedulePosition(0):this.log("[checkStart] waiting for live start")}else if(r&&!this.playingItem){this.log(ot("checkStart (playing item)",r.start));let t=e.findItemIndex(r);this.setSchedulePosition(t)}}advanceAssetBuffering(e,t){let i=e.event,r=i.findAssetIndex(t),a=n4(i,r);if(i.isAssetPastPlayoutLimit(a)){if(this.schedule){var s;let t=null==(s=this.schedule.items)?void 0:s[this.findItemIndex(e)+1];t&&this.bufferedToItem(t)}}else this.bufferedToEvent(e,a)}advanceAfterAssetEnded(e,t,i){let r=n4(e,i);if(e.isAssetPastPlayoutLimit(r)){if(this.schedule){let i=this.schedule.items;if(i){let r=t+1;if(r>=i.length)return void this.setSchedulePosition(-1);let a=e.resumeTime;this.timelinePos<a&&(this.log(ot("advanceAfterAssetEnded",a)),this.timelinePos=a,e.appendInPlace&&this.advanceInPlace(a),this.checkBuffer(this.bufferedPos<a)),this.setSchedulePosition(r)}}}else{if(e.appendInPlace){let t=e.assetList[r];t&&this.advanceInPlace(t.timelineStart)}this.setSchedulePosition(t,r)}}setScheduleToAssetAtTime(e,t){let i=this.schedule;if(!i)return;let r=t.parentIdentifier,a=i.getEvent(r);if(a){let t=i.findEventIndex(r),s=i.findAssetIndex(a,e);this.advanceAfterAssetEnded(a,t,s-1)}}setSchedulePosition(e,t){var i,r,a;let s=null==(i=this.schedule)?void 0:i.items;if(!s||this.playbackDisabled)return;let n=e>=0?s[e]:null;this.log(`setSchedulePosition ${e}, ${t} (${n?n6(n):n}) pos: ${this.timelinePos}`);let o=this.waitingItem||this.playingItem,l=this.playingLastItem;if(this.isInterstitial(o)){let i=o.event,d=this.playingAsset,h=null==d?void 0:d.identifier,u=h?this.getAssetPlayer(h):null;if(u&&h&&(!this.eventItemsMatch(o,n)||void 0!==t&&h!==i.assetList[t].identifier)){let t=i.findAssetIndex(d);if(this.log(`INTERSTITIAL_ASSET_ENDED ${t+1}/${i.assetList.length} ${n5(d)}`),this.endedAsset=d,this.playingAsset=null,this.hls.trigger(tG.INTERSTITIAL_ASSET_ENDED,{asset:d,assetListIndex:t,event:i,schedule:s.slice(0),scheduleIndex:e,player:u}),o!==this.playingItem){this.itemsMatch(o,this.playingItem)&&!this.playingAsset&&this.advanceAfterAssetEnded(i,this.findItemIndex(this.playingItem),t);return}this.retreiveMediaSource(h,n),u.media&&!(null!=(r=this.detachedData)&&r.mediaSource)&&u.detachMedia()}if(!this.eventItemsMatch(o,n)&&(this.endedItem=o,this.playingItem=null,this.log(`INTERSTITIAL_ENDED ${i} ${n6(o)}`),i.hasPlayed=!0,this.hls.trigger(tG.INTERSTITIAL_ENDED,{event:i,schedule:s.slice(0),scheduleIndex:e}),i.cue.once)){this.updateSchedule();let e=null==(a=this.schedule)?void 0:a.items;if(n&&e){let i=this.findItemIndex(n);this.advanceSchedule(i,e,t,o,l)}return}}this.advanceSchedule(e,s,t,o,l)}advanceSchedule(e,t,i,r,a){let s=this.schedule;if(!s)return;let n=t[e]||null,o=this.primaryMedia,l=this.playerQueue;if(l.length&&l.forEach(t=>{let i=t.interstitial,r=s.findEventIndex(i.identifier);(r<e||r>e+1)&&this.clearInterstitial(i,n)}),this.isInterstitial(n)){this.timelinePos=Math.min(Math.max(this.timelinePos,n.start),n.end);let a=n.event;if(void 0===i){i=s.findAssetIndex(a,this.timelinePos);let t=n4(a,i-1);if(a.isAssetPastPlayoutLimit(t)||a.appendInPlace&&this.timelinePos===n.end)return void this.advanceAfterAssetEnded(a,e,i);i=t}let l=this.waitingItem;this.assetsBuffered(n,o)||this.setBufferingItem(n);let d=this.preloadAssets(a,i);if(this.eventItemsMatch(n,l||r)||(this.waitingItem=n,this.log(`INTERSTITIAL_STARTED ${n6(n)} ${a.appendInPlace?"append in place":""}`),this.hls.trigger(tG.INTERSTITIAL_STARTED,{event:a,schedule:t.slice(0),scheduleIndex:e}
29)),!a.assetListLoaded)return void this.log(`Waiting for ASSET-LIST to complete loading ${a}`);if(a.assetListLoader&&(a.assetListLoader.destroy(),a.assetListLoader=void 0),!o)return void this.log(`Waiting for attachMedia to start Interstitial ${a}`);this.waitingItem=this.endedItem=null,this.playingItem=n;let h=a.assetList[i];if(!h)return void this.advanceAfterAssetEnded(a,e,i||0);if(d||(d=this.getAssetPlayer(h.identifier)),null===d||d.destroyed){let e=a.assetList.length;this.warn(`asset ${i+1}/${e} player destroyed ${a}`),(d=this.createAssetPlayer(a,h,i)).loadSource()}if(!this.eventItemsMatch(n,this.bufferingItem)&&a.appendInPlace&&this.isAssetBuffered(h))return;this.startAssetPlayer(d,i,t,e,o),this.shouldPlay&&oe(d.media)}else n?(this.resumePrimary(n,e,r),this.shouldPlay&&oe(this.hls.media)):a&&this.isInterstitial(r)&&(this.endedItem=null,this.playingItem=r,r.event.appendInPlace||this.attachPrimary(s.durations.primary,null))}get playbackDisabled(){return!1===this.hls.config.enableInterstitialPlayback}get primaryDetails(){var e;return null==(e=this.mediaSelection)?void 0:e.main.details}get primaryLive(){var e;return!!(null!=(e=this.primaryDetails)&&e.live)}resumePrimary(e,t,i){var r,a;if(this.playingItem=e,this.playingAsset=this.endedAsset=null,this.waitingItem=this.endedItem=null,this.bufferedToItem(e),this.log(`resuming ${n6(e)}`),!(null!=(r=this.detachedData)&&r.mediaSource)){let i=this.timelinePos;(i<e.start||i>=e.end)&&(i=this.getPrimaryResumption(e,t),this.log(ot("resumePrimary",i)),this.timelinePos=i),this.attachPrimary(i,e)}if(!i)return;let s=null==(a=this.schedule)?void 0:a.items;s&&(this.log(`INTERSTITIALS_PRIMARY_RESUMED ${n6(e)}`),this.hls.trigger(tG.INTERSTITIALS_PRIMARY_RESUMED,{schedule:s.slice(0),scheduleIndex:t}),this.checkBuffer())}getPrimaryResumption(e,t){let i=e.start;if(this.primaryLive){let e=this.primaryDetails;if(0===t)return this.hls.startPosition;if(e&&(i<e.fragmentStart||i>e.edge))return this.hls.liveSyncPosition||-1}return i}isAssetBuffered(e){let t=this.getAssetPlayer(e.identifier);return null!=t&&t.hls?t.hls.bufferedToEnd:rN.bufferInfo(this.primaryMedia,this.timelinePos,0).end+1>=e.timelineStart+(e.duration||0)}attachPrimary(e,t,i){t?this.setBufferingItem(t):this.bufferingItem=this.playingItem,this.bufferingAsset=null;let r=this.primaryMedia;if(!r)return;let a=this.hls;a.media?this.checkBuffer():(this.transferMediaTo(a,r),i&&this.startLoadingPrimaryAt(e,i)),i||(this.log(ot("attachPrimary",e)),this.timelinePos=e,this.startLoadingPrimaryAt(e,i))}startLoadingPrimaryAt(e,t){var i;let r=this.hls;!r.loadingEnabled||!r.media||Math.abs(((null==(i=r.mainForwardBufferInfo)?void 0:i.start)||r.media.currentTime)-e)>.5?r.startLoad(e,t):r.bufferingEnabled||r.resumeBuffering()}onManifestLoading(){var e;this.stopLoad(),null==(e=this.schedule)||e.reset(),this.emptyPlayerQueue(),this.clearScheduleState(),this.shouldPlay=!1,this.bufferedPos=this.timelinePos=-1,this.mediaSelection=this.altSelection=this.manager=this.requiredTracks=null,this.hls.off(tG.BUFFER_CODECS,this.onBufferCodecs,this),this.hls.on(tG.BUFFER_CODECS,this.onBufferCodecs,this)}onLevelUpdated(e,t){if(-1===t.level||!this.schedule)return;let i=this.hls.levels[t.level];if(!i.details)return;let r=t0(t0({},this.mediaSelection||this.altSelection),{},{main:i});this.mediaSelection=r,this.schedule.parseInterstitialDateRanges(r,this.hls.config.interstitialAppendInPlace),!this.effectivePlayingItem&&this.schedule.items&&this.checkStart()}onAudioTrackUpdated(e,t){let i=this.hls.audioTracks[t.id],r=this.mediaSelection;if(!r){this.altSelection=t0(t0({},this.altSelection),{},{audio:i});return}let a=t0(t0({},r),{},{audio:i});this.mediaSelection=a}onSubtitleTrackUpdated(e,t){let i=this.hls.subtitleTracks[t.id],r=this.mediaSelection;if(!r){this.altSelection=t0(t0({},this.altSelection),{},{subtitles:i});return}let a=t0(t0({},r),{},{subtitles:i});this.mediaSelection=a}onAudioTrackSwitching(e,t){let i=i6(t);this.playerQueue.forEach(({hls:e})=>e&&(e.setAudioOption(t)||e.setAudioOption(i)))}onSubtitleTrackSwitch(e,t){let i=i6(t);this.playerQueue.forEach(({hls:e})=>
29e&&(e.setSubtitleOption(t)||-1!==t.id&&e.setSubtitleOption(i)))}onBufferCodecs(e,t){let i=t.tracks;i&&(this.requiredTracks=i)}onBufferAppended(e,t){this.checkBuffer()}onBufferFlushed(e,t){let i=this.playingItem;if(i&&!this.itemsMatch(i,this.bufferingItem)&&!this.isInterstitial(i)){let e=this.timelinePos;this.bufferedPos=e,this.checkBuffer()}}onBufferedToEnd(e){if(!this.schedule)return;let t=this.schedule.events;if(this.bufferedPos<Number.MAX_VALUE&&t){for(let e=0;e<t.length;e++){let r=t[e];if(r.cue.post){var i;let e=this.schedule.findEventIndex(r.identifier),t=null==(i=this.schedule.items)?void 0:i[e];this.isInterstitial(t)&&this.eventItemsMatch(t,this.bufferingItem)&&this.bufferedToItem(t,0);break}}this.bufferedPos=Number.MAX_VALUE}}onMediaEnded(e){let t=this.playingItem;if(!this.playingLastItem&&t){let e=this.findItemIndex(t);this.setSchedulePosition(e+1)}else this.shouldPlay=!1}updateItem(e,t){var i;let r=null==(i=this.schedule)?void 0:i.items;return e&&r&&r[this.findItemIndex(e,t)]||null}trimInPlace(e,t){if(this.isInterstitial(e)&&e.event.appendInPlace&&t.end-e.end>.25){e.event.assetList.forEach((t,i)=>{e.event.isAssetPastPlayoutLimit(i)&&this.clearAssetPlayer(t.identifier,null)});let i=e.end+.25,r=rN.bufferInfo(this.primaryMedia,i,0);(r.end>i||(r.nextStart||0)>i)&&(this.log(`trim buffered interstitial ${n6(e)} (was ${n6(t)})`),this.attachPrimary(i,null,!0),this.flushFrontBuffer(i))}}itemsMatch(e,t){return!!t&&(e===t||e.event&&t.event&&this.eventItemsMatch(e,t)||!e.event&&!t.event&&this.findItemIndex(e)===this.findItemIndex(t))}eventItemsMatch(e,t){var i;return!!t&&(e===t||e.event.identifier===(null==(i=t.event)?void 0:i.identifier))}findItemIndex(e,t){return e&&this.schedule?this.schedule.findItemIndex(e,t):-1}updateSchedule(e=!1){var t;let i=this.mediaSelection;i&&(null==(t=this.schedule)||t.updateSchedule(i,[],e))}checkBuffer(e){var t;let i=null==(t=this.schedule)?void 0:t.items;if(!i)return;let r=rN.bufferInfo(this.primaryMedia,this.timelinePos,0);e&&(this.bufferedPos=this.timelinePos),e||(e=r.len<1),this.updateBufferedPos(r.end,i,e)}updateBufferedPos(e,t,i){let r=this.schedule,a=this.bufferingItem;if(this.bufferedPos>e||!r)return;if(1===t.length&&this.itemsMatch(t[0],a)){this.bufferedPos=e;return}let s=this.playingItem,n=this.findItemIndex(s),o=r.findItemIndexAtTime(e);if(this.bufferedPos<e){var l;let i=this.findItemIndex(a),r=Math.min(i+1,t.length-1),s=t[r];if((-1===o&&a&&e>=a.end||null!=(l=s.event)&&l.appendInPlace&&e+.01>=s.start)&&(o=r),this.isInterstitial(a)){let e=a.event;if(r-n>1&&!1===e.appendInPlace||0===e.assetList.length&&e.assetListLoader)return}if(this.bufferedPos=e,o>i&&o>n)this.bufferedToItem(s);else{let t=this.primaryDetails;this.primaryLive&&t&&e>t.edge-t.targetduration&&s.start<t.edge+this.hls.config.interstitialLiveLookAhead&&this.isInterstitial(s)&&this.preloadAssets(s.event,0)}}else i&&s&&!this.itemsMatch(s,a)&&(o===n?this.bufferedToItem(s):o===n+1&&this.bufferedToItem(t[o]))}assetsBuffered(e,t){return 0!==e.event.assetList.length&&!e.event.assetList.some(e=>{let i=this.getAssetPlayer(e.identifier);return!(null!=i&&i.bufferedInPlaceToEnd(t))})}setBufferingItem(e){let t=this.bufferingItem,i=this.schedule;if(!this.itemsMatch(e,t)&&i){let{items:r,events:a}=i;if(!r||!a)return t;let s=this.isInterstitial(e),n=this.getBufferingPlayer();this.bufferingItem=e,this.bufferedPos=Math.max(e.start,Math.min(e.end,this.timelinePos));let o=n?n.remaining:t?t.end-this.timelinePos:0;if(this.log(`INTERSTITIALS_BUFFERED_TO_BOUNDARY ${n6(e)}`+(t?` (${o.toFixed(2)} remaining)`:"")),!this.playbackDisabled)if(s){let t=i.findAssetIndex(e.event,this.bufferedPos);e.event.assetList.forEach((e,i)=>{let r=this.getAssetPlayer(e.identifier);r&&(i===t&&r.loadSource(),r.resumeBuffering())})}else this.hls.resumeBuffering(),this.playerQueue.forEach(e=>e.pauseBuffering());this.hls.trigger(tG.INTERSTITIALS_BUFFERED_TO_BOUNDARY,{events:a.slice(0),schedule:r.slice(0),bufferingIndex:this.findItemIndex(e),playingIndex:this.findItemIndex(this.playingItem)})}else this.bufferingItem!==e&&(this.bufferingItem=e);return t}bufferedToItem(e,t=0){let i=this.setBufferingItem(e);if(!this.playbackDisabled){if(this.isInterstitial(e))this.bufferedToEvent(e,t);else if(null!==i){this.bufferingAsset=null;let t=this.detachedData;t&&t.mediaSource?this.attachPrimary(e.start,e,!0):this.preloadPrimary(e)}}}preloadPrimary(e){let t=this.findItemIndex(e),i=this.getPrimaryResumption(e,t);this.startLoadingPrimaryAt(i)}bufferedToEvent(e,t){let i=e.event,r=0===i.assetList.length&&!i.assetListLoader,a=i.cue.once;if(r||!a){let e=this.preloadAssets(i,t);if(null!=e&&e.interstitial.appendInPlace){let t=this.primaryMedia;t&&this.bufferAssetPlayer(e,t)}}}preloadAssets(e,t){let i=e.assetUrl,r=e.assetList.length,a=0===r&&!e.assetListLoader,s=e.cue.once;if(a){let a,s=e.timelineStart;if(e.appendInPlace){var n;let t=this.playingItem;this.isInterstitial(t)||(null==t||null==(n=t.nextEvent)?void 0:n.identifier)!==e.identifier||this.flushFrontBuffer(s+.25)}let o=0;if(!this.playingItem&&this.primaryLive&&-1===(o=this.hls.startPosition)&&(o=this.hls.liveSyncPosition||0),o&&!(e.cue.pre||e.cue.post)){let e=o-s;e>0&&(a=Math.round(1e3*e)/1e3)}if(this.log(`Load interstitial asset ${t+1}/${i?1:r} ${e}${a?` live-start: ${o} start-offset: ${a}`:""}`),i)return this.createAsset(e,0,0,s,e.duration,i);let l=this.assetListLoader.loadAssetList(e,a);l&&(e.assetListLoader=l)}else if(!s&&r){for(let i=t;i<r;i++){let t=e.assetList[i],r=this.getAssetPlayerQueueIndex(t.identifier);(-1===r||this.playerQueue[r].destroyed)&&!t.error&&this.createAssetPlayer(e,t,i)}let i=e.assetList[t];if(i){let e=this.getAssetPlayer(i.identifier);return e&&e.loadSource(),e}}return null}flushFrontBuffer(e){let t=this.requiredTracks;t&&(this.log(`Removing front buffer starting at ${e}`),Object.keys(t).forEach(t=>{this.hls.trigger(tG.BUFFER_FLUSHING,{startOffset:e,endOffset:1/0,type:t})}))}getAssetPlayerQueueIndex(e){let t=this.playerQueue;for(let i=0;i<t.length;i++)if(e===t[i].assetId)return i;return -1}getAssetPlayer(e){let t=this.getAssetPlayerQueueIndex(e);return this.playerQueue[t]||null}
29getBufferingPlayer(){let{playerQueue:e,primaryMedia:t}=this;if(t){for(let i=0;i<e.length;i++)if(e[i].media===t)return e[i]}return null}createAsset(e,t,i,r,a,s){let n={parentIdentifier:e.identifier,identifier:`${e.identifier}-${t+1}-${nJ(s)}`,duration:a,startOffset:i,timelineStart:r,uri:s};return this.createAssetPlayer(e,n,t)}createAssetPlayer(e,t,i){let r=this.hls,a=r.userConfig,s=a.videoPreference,n=r.loadLevelObj||r.levels[r.currentLevel];(s||n)&&(s=tZ({},s),n.videoCodec&&(s.videoCodec=n.videoCodec),n.videoRange&&(s.allowedVideoRanges=[n.videoRange]));let o=r.audioTracks[r.audioTrack],l=r.subtitleTracks[r.subtitleTrack],d=0;if(this.primaryLive||e.appendInPlace){let e=this.timelinePos-t.timelineStart;if(e>1){let i=t.duration;i&&e<i&&(d=e)}}let h=t.identifier,u=t0(t0({},a),{},{maxMaxBufferLength:Math.min(180,r.config.maxMaxBufferLength),autoStartLoad:!0,startFragPrefetch:!0,primarySessionId:r.sessionId,assetPlayerId:h,abrEwmaDefaultEstimate:r.bandwidthEstimate,interstitialsController:void 0,startPosition:d,liveDurationInfinity:!1,testBandwidth:!1,videoPreference:s,audioPreference:o||a.audioPreference,subtitlePreference:l||a.subtitlePreference});e.appendInPlace&&(e.appendInPlaceStarted=!0,t.timelineStart&&(u.timelineOffset=t.timelineStart));let c=u.cmcd;null!=c&&c.sessionId&&c.contentId&&(u.cmcd=tZ({},c,{contentId:nJ(t.uri)})),this.getAssetPlayer(h)&&this.warn(`Duplicate date range identifier ${e} and asset ${h}`);let m=new n8(this.HlsPlayerClass,u,e,t);this.playerQueue.push(m),e.assetList[i]=t;let f=!0,p=r=>{if(r.live){var a;let t=Error(`Interstitials MUST be VOD assets ${e}`),r={fatal:!0,type:t$.OTHER_ERROR,details:tH.INTERSTITIAL_ASSET_ITEM_ERROR,error:t},s=(null==(a=this.schedule)?void 0:a.findEventIndex(e.identifier))||-1;this.handleAssetItemError(r,e,s,i,t.message);return}let s=r.edge-r.fragmentStart,n=t.duration;(f||null===n||s>n)&&(f=!1,this.log(`Interstitial asset "${h}" duration change ${n} > ${s}`),t.duration=s,this.updateSchedule())};m.on(tG.LEVEL_UPDATED,(e,{details:t})=>p(t)),m.on(tG.LEVEL_PTS_UPDATED,(e,{details:t})=>p(t)),m.on(tG.EVENT_CUE_ENTER,()=>this.onInterstitialCueEnter());let g=(e,t)=>{let i=this.getAssetPlayer(h);if(i&&t.tracks){i.off(tG.BUFFER_CODECS,g),i.tracks=t.tracks;let e=this.primaryMedia;this.bufferingAsset===i.assetItem&&e&&!i.media&&this.bufferAssetPlayer(i,e)}};m.on(tG.BUFFER_CODECS,g);let v=()=>{var i;let r=this.getAssetPlayer(h);if(this.log(`buffered to end of asset ${r}`),!r||!this.schedule)return;let a=this.schedule.findEventIndex(e.identifier),s=null==(i=this.schedule.items)?void 0:i[a];this.isInterstitial(s)&&this.advanceAssetBuffering(s,t)};m.on(tG.BUFFERED_TO_END,v);let E=t=>()=>{if(!this.getAssetPlayer(h)||!this.schedule)return;this.shouldPlay=!0;let i=this.schedule.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,i,t)};return m.once(tG.MEDIA_ENDED,E(i)),m.once(tG.PLAYOUT_LIMIT_REACHED,E(1/0)),m.on(tG.ERROR,(t,r)=>{if(!this.schedule)return;let a=this.getAssetPlayer(h);r.details===tH.BUFFER_STALLED_ERROR?null!=a&&a.appendInPlace?this.handleInPlaceStall(e):(this.onTimeupdate(),this.checkBuffer(!0)):this.handleAssetItemError(r,e,this.schedule.findEventIndex(e.identifier),i,`Asset player error ${r.error} ${e}`)}),m.on(tG.DESTROYING,()=>{if(!this.getAssetPlayer(h)||!this.schedule)return;let t=Error(`Asset player destroyed unexpectedly ${h}`),r={fatal:!0,type:t$.OTHER_ERROR,details:tH.INTERSTITIAL_ASSET_ITEM_ERROR,error:t};this.handleAssetItemError(r,e,this.schedule.findEventIndex(e.identifier),i,t.message)}),this.log(`INTERSTITIAL_ASSET_PLAYER_CREATED ${n5(t)}`),this.hls.trigger(tG.INTERSTITIAL_ASSET_PLAYER_CREATED,{asset:t,assetListIndex:i,event:e,player:m}),m}clearInterstitial(e,t){this.clearAssetPlayers(e,t),e.reset()}clearAssetPlayers(e,t){e.assetList.forEach(e=>{this.clearAssetPlayer(e.identifier,t)})}resetAssetPlayer(e){let t=this.getAssetPlayerQueueIndex(e);if(-1!==t){this.log(`reset asset player "${e}" after error`);let i=this.playerQueue[t];this.transferMediaFromPlayer(i,null),i.resetDetails()}}clearAssetPlayer(e,t){let i=this.getAssetPlayerQueueIndex(e);if(-1!==i){let e=this.playerQueue[i];this.log(`clear ${e} toSegment: ${t?n6(t):t}`),this.transferMediaFromPlayer(e,t),this.playerQueue.splice(i,1),e.destroy()}}emptyPlayerQueue(){let e;for(;e=this.playerQueue.pop();)e.destroy();this.playerQueue=[]}startAssetPlayer(e,t,i,r,a){let{interstitial:s,assetItem:n,assetId:o}=e,l=s.assetList.length,d=this.playingAsset;this.endedAsset=null,this.playingAsset=n,d&&d.identifier===o||(d&&(this.clearAssetPlayer(d.identifier,i[r]),delete d.error),this.log(`INTERSTITIAL_ASSET_STARTED ${t+1}/${l} ${n5(n)}`),this.hls.trigger(tG.INTERSTITIAL_ASSET_STARTED,{asset:n,assetListIndex:t,event:s,schedule:i.slice(0),scheduleIndex:r,player:e})),this.bufferAssetPlayer(e,a)}bufferAssetPlayer(e,t){var i,r;if(!this.schedule)return;
29let{interstitial:a,assetItem:s}=e,n=this.schedule.findEventIndex(a.identifier),o=null==(i=this.schedule.items)?void 0:i[n];if(!o)return;e.loadSource(),this.setBufferingItem(o),this.bufferingAsset=s;let l=this.getBufferingPlayer();if(l===e)return;let d=a.appendInPlace;if(d&&(null==l?void 0:l.interstitial.appendInPlace)===!1)return;let h=(null==l?void 0:l.tracks)||(null==(r=this.detachedData)?void 0:r.tracks)||this.requiredTracks;if(d&&s!==this.playingAsset){if(!e.tracks)return void this.log(`Waiting for track info before buffering ${e}`);if(h&&!t6(h,e.tracks)){let t=Error(`Asset ${n5(s)} SourceBuffer tracks ('${Object.keys(e.tracks)}') are not compatible with primary content tracks ('${Object.keys(h)}')`),i={fatal:!0,type:t$.OTHER_ERROR,details:tH.INTERSTITIAL_ASSET_ITEM_ERROR,error:t},r=a.findAssetIndex(s);this.handleAssetItemError(i,a,n,r,t.message);return}}this.transferMediaTo(e,t)}handleInPlaceStall(e){let t=this.schedule,i=this.primaryMedia;if(!t||!i)return;let r=i.currentTime,a=t.findAssetIndex(e,r),s=e.assetList[a];if(s){let n=this.getAssetPlayer(s.identifier);if(n){let o=n.currentTime||r-s.timelineStart,l=n.duration-o;if(this.warn(`Stalled at ${o} of ${o+l} in ${n} ${e} (media.currentTime: ${r})`),o&&(l/i.playbackRate<.5||n.bufferedInPlaceToEnd(i))&&n.hls){let i=t.findEventIndex(e.identifier);this.advanceAfterAssetEnded(e,i,a)}}}}advanceInPlace(e){let t=this.primaryMedia;t&&t.currentTime<e&&(t.currentTime=e)}handleAssetItemError(e,t,i,r,a){if(e.details===tH.BUFFER_STALLED_ERROR)return;let s=t.assetList[r]||null;if(this.warn(`INTERSTITIAL_ASSET_ERROR ${s?n5(s):s} ${e.error}`),!this.schedule)return;let n=(null==s?void 0:s.identifier)||"",o=this.getAssetPlayerQueueIndex(n),l=this.playerQueue[o]||null,d=this.schedule.items,h=tZ({},e,{fatal:!1,errorAction:rg(!0),asset:s,assetListIndex:r,event:t,schedule:d,scheduleIndex:i,player:l});if(this.hls.trigger(tG.INTERSTITIAL_ASSET_ERROR,h),!e.fatal)return;let u=this.playingAsset,c=this.bufferingAsset,m=Error(a);if(s&&(this.clearAssetPlayer(n,null),s.error=m),t.assetList.some(e=>!e.error))for(let e=r;e<t.assetList.length;e++)this.resetAssetPlayer(t.assetList[e].identifier);else t.error=m;this.updateSchedule(!0),t.error?this.primaryFallback(t):u&&u.identifier===n?this.advanceAfterAssetEnded(t,i,r):c&&c.identifier===n&&this.isInterstitial(this.bufferingItem)&&this.advanceAssetBuffering(this.bufferingItem,c)}primaryFallback(e){let t=e.timelineStart,i=this.effectivePlayingItem,r=this.timelinePos;if(i){this.log(`Fallback to primary from event "${e.identifier}" start: ${t} pos: ${r} playing: ${n6(i)} error: ${e.error}`),-1===r&&(r=this.hls.startPosition);let a=this.updateItem(i,r);this.itemsMatch(i,a)&&this.clearInterstitial(e,null),e.appendInPlace&&(this.attachPrimary(t,null),this.flushFrontBuffer(t))}else if(-1===r)return void this.checkStart();if(!this.schedule)return;let a=this.schedule.findItemIndexAtTime(r);this.setSchedulePosition(a)}onAssetListLoaded(e,t){var i,r,a;let s=t.event,n=s.identifier,o=t.assetListResponse.ASSETS;if(!(null!=(i=this.schedule)&&i.hasEvent(n)))return;let l=s.timelineStart,d=s.duration,h=0;o.forEach((e,t)=>{let i=parseFloat(e.DURATION);this.createAsset(s,t,h,l+h,i,e.URI),h+=i}),s.duration=h,this.log(`Loaded asset-list with duration: ${h} (was: ${d}) ${s}`);let u=this.waitingItem,c=(null==u?void 0:u.event.identifier)===n;this.updateSchedule();let m=null==(r=this.bufferingItem)?void 0:r.event;if(c){let e=this.schedule.findEventIndex(n),t=null==(a=this.schedule.items)?void 0:a[e];if(t){if(!this.playingItem&&this.timelinePos>t.end&&this.schedule.findItemIndexAtTime(this.timelinePos)!==e){s.error=Error(`Interstitial ${o.length?"no longer within playback range":"asset-list is empty"} ${this.timelinePos} ${s}`),this.log(s.error.message),this.updateSchedule(!0),this.primaryFallback(s);return}this.setBufferingItem(t)}this.setSchedulePosition(e)}else if((null==m?void 0:m.identifier)===n){let e=s.assetList[0];if(e){let t=this.getAssetPlayer(e.identifier);if(m.appendInPlace){let e=this.primaryMedia;t&&e&&this.bufferAssetPlayer(t,e)}else t&&t.loadSource()}}}onError(e,t){if(this.schedule)switch(t.details){case tH.ASSET_LIST_PARSING_ERROR:case tH.ASSET_LIST_LOAD_ERROR:case tH.ASSET_LIST_LOAD_TIMEOUT:{let e=t.interstitial;e&&(this.updateSchedule(!0),this.primaryFallback(e));break}case tH.BUFFER_STALLED_ERROR:{let e=this.endedItem||this.waitingItem||this.playingItem;if(this.isInterstitial(e)&&e.event.appendInPlace)return void this.handleInPlaceStall(e.event);this.log(`Primary player stall @${this.timelinePos} bufferedPos: ${this.bufferedPos}`),this.onTimeupdate(),this.checkBuffer(!0)}}}}});class o1 extends rM{constructor(e,t){super("gap-controller",e.logger),this.hls=void 0,this.fragmentTracker=void 0,this.media=null,this.mediaSource=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.buffered={},this.lastCurrentTime=0,this.ended=0,this.waiting=0,this.onMediaPlaying=()=>{this.ended=0,this.waiting=0},this.onMediaWaiting=()=>{var e;null!=(e=this.media)&&e.seeking||(this.waiting=self.performance.now(),this.tick())},this.onMediaEnded=()=>
29{if(this.hls){var e;this.ended=(null==(e=this.media)?void 0:e.currentTime)||1,this.hls.trigger(tG.MEDIA_ENDED,{stalled:!1})}},this.hls=e,this.fragmentTracker=t,this.registerListeners()}registerListeners(){let{hls:e}=this;e&&(e.on(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tG.BUFFER_APPENDED,this.onBufferAppended,this))}unregisterListeners(){let{hls:e}=this;e&&(e.off(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tG.BUFFER_APPENDED,this.onBufferAppended,this))}destroy(){super.destroy(),this.unregisterListeners(),this.media=this.hls=this.fragmentTracker=null,this.mediaSource=void 0}onMediaAttached(e,t){this.setInterval(100),this.mediaSource=t.mediaSource;let i=this.media=t.media;aF(i,"playing",this.onMediaPlaying),aF(i,"waiting",this.onMediaWaiting),aF(i,"ended",this.onMediaEnded)}onMediaDetaching(e,t){this.clearInterval();let{media:i}=this;i&&(aB(i,"playing",this.onMediaPlaying),aB(i,"waiting",this.onMediaWaiting),aB(i,"ended",this.onMediaEnded),this.media=null),this.mediaSource=void 0}onBufferAppended(e,t){this.buffered=t.timeRanges}get hasBuffered(){return Object.keys(this.buffered).length>0}tick(){var e;if(!(null!=(e=this.media)&&e.readyState)||!this.hasBuffered)return;let t=this.media.currentTime;this.poll(t,this.lastCurrentTime),this.lastCurrentTime=t}poll(e,t){var i,r,a;let s=null==(i=this.hls)?void 0:i.config;if(!s)return;let n=this.media;if(!n)return;let{seeking:o}=n,l=this.seeking&&!o,d=!this.seeking&&o,h=n.paused&&!o||n.ended||0===n.playbackRate;if(this.seeking=o,e!==t){t&&(this.ended=0),this.moved=!0,!o&&(this.nudgeRetry=0,s.nudgeOnVideoHole&&!h&&e>t&&this.nudgeOnVideoHole(e,t)),0===this.waiting&&this.stallResolved(e);return}if(d||l){l&&this.stallResolved(e);return}if(h){this.nudgeRetry=0,this.stallResolved(e),!this.ended&&n.ended&&this.hls&&(this.ended=e||1,this.hls.trigger(tG.MEDIA_ENDED,{stalled:!1}));return}if(!rN.getBuffered(n).length){this.nudgeRetry=0;return}let u=rN.bufferInfo(n,e,0),c=u.nextStart||0,m=this.fragmentTracker;if(o&&m&&this.hls){let t=o2(this.hls.inFlightFragments,e),i=u.len>2,r=!c||t||c-e>2&&!m.getPartialFragment(e);if(i||r)return;this.moved=!1}let f=null==(r=this.hls)?void 0:r.latestLevelDetails;if(!this.moved&&null!==this.stalled&&m){if(!(u.len>0)&&!c)return;let t=Math.max(c,u.start||0)-e,i=null!=f&&f.live?2*f.targetduration:2,r=o4(e,m);if(t>0&&(t<=i||r)){n.paused||this._trySkipBufferHole(r);return}}let p=s.detectStallWithCurrentTimeMs,g=self.performance.now(),v=this.waiting,E=this.stalled;if(null===E)if(v>0&&g-v<p)E=this.stalled=v;else{this.stalled=g;return}let y=g-E;if(!o&&(y>=p||v)&&this.hls){if((null==(a=this.mediaSource)?void 0:a.readyState)==="ended"&&!(null!=f&&f.live)&&1>Math.abs(e-((null==f?void 0:f.edge)||0))){if(this.ended)return;this.ended=e||1,this.hls.trigger(tG.MEDIA_ENDED,{stalled:!0});return}if(this._reportStall(u),!this.media||!this.hls)return}let b=rN.bufferInfo(n,e,s.maxBufferHole);this._tryFixBufferStall(b,y,e)}stallResolved(e){let t=this.stalled;if(t&&this.hls&&(this.stalled=null,this.stallReported)){let i=self.performance.now()-t;this.log(`playback not stuck anymore @${e}, after ${Math.round(i)}ms`),this.stallReported=!1,this.waiting=0,this.hls.trigger(tG.STALL_RESOLVED,{})}}nudgeOnVideoHole(e,t){var i;let r=this.buffered.video;if(this.hls&&this.media&&this.fragmentTracker&&null!=(i=this.buffered.audio)&&i.length&&r&&r.length>1&&e>r.end(0)){let i=rN.bufferedInfo(rN.timeRangesToArray(this.buffered.audio),e,0);if(i.len>1&&t>=i.start){let i=rN.timeRangesToArray(r),a=rN.bufferedInfo(i,t,0).bufferedIndex;if(a>-1&&a<i.length-1){let t=rN.bufferedInfo(i,e,0).bufferedIndex,r=i[a].end,s=i[a+1].start;if((-1===t||t>a)&&s-r<1&&e-r<2){let i=Error(`nudging playhead to flush pipeline after video hole. currentTime: ${e} hole: ${r} -> ${s} buffered index: ${t}`);this.warn(i.message),this.media.currentTime+=1e-6;let a=o4(e,this.fragmentTracker);a&&"fragment"in a?a=a.fragment:a||(a=void 0);let n=rN.bufferInfo(this.media,e,0);this.hls.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:i,reason:i.message,frag:a,buffer:n.len,bufferInfo:n})}}}}}_tryFixBufferStall(e,t,i){var r,a;let{fragmentTracker:s,media:n}=this,o=null==(r=this.hls)?void 0:r.config;if(!n||!s||!o)return;let l=null==(a=this.hls)?void 0:a.latestLevelDetails,d=o4(i,s);if((d||null!=l&&l.live&&i<l.fragmentStart)&&(this._trySkipBufferHole(d)||!this.media))return;let h=e.buffered,u=this.adjacentTraversal(e,i);(h&&h.length>1&&e.len>o.maxBufferHole||e.nextStart&&(e.nextStart-i<o.maxBufferHole||u))&&(t>1e3*o.highBufferWatchdogPeriod||this.waiting)&&(this.warn("Trying to nudge playhead over buffer-hole"),this._tryNudgeBuffer(e))}adjacentTraversal(e,t){let i=this.fragmentTracker,r=e.nextStart;if(i&&r){let e=i.getFragAtPos(t,tY),a=i.getFragAtPos(r,tY);if(e&&a)return a.sn-e.sn<2}return!1}_reportStall(e){let{hls:t,media:i,stallReported:r,stalled:a}=this;if(!r&&null!==a&&i&&t){this.stallReported=!0;let r=Error(`Playback stalling at @${i.currentTime} due to low buffer (${i5(e)})`);this.warn(r.message),t.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.BUFFER_STALLED_ERROR,fatal:!1,error:r,buffer:e.len,bufferInfo:e,stalled:{start:a}})}}_trySkipBufferHole(e){var t,i;let{fragmentTracker:r,media:a}=this,s=null==(t=this.hls)?void 0:t.config;if(!a||!r||!s)return 0;let n=a.currentTime,o=rN.bufferInfo(a,n,0),l=n<o.start?o.start:o.nextStart;
29if(l&&this.hls){let t=o.len<=s.maxBufferHole,d=o.len>0&&o.len<1&&a.readyState<3,h=l-n;if(h>0&&(t||d)){if(h>s.maxBufferHole){let t=!1;if(0===n){let e=r.getAppendedFrag(0,tY);e&&l<e.end&&(t=!0)}if(!t&&e){if(!(null!=(i=this.hls.loadLevelObj)&&i.details)||o2(this.hls.inFlightFragments,l))return 0;let t=!1,a=e.end;for(;a<l;){let e=o4(a,r);if(e)a+=e.duration;else{t=!0;break}}if(t)return 0}}let t=Math.max(l+.05,n+.1);if(this.warn(`skipping hole, adjusting currentTime from ${n} to ${t}`),this.moved=!0,a.currentTime=t,!(null!=e&&e.gap)){let i=Error(`fragment loaded with buffer holes, seeking from ${n} to ${t}`),r={type:t$.MEDIA_ERROR,details:tH.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:i,reason:i.message,buffer:o.len,bufferInfo:o};e&&("fragment"in e?r.part=e:r.frag=e),this.hls.trigger(tG.ERROR,r)}return t}}return 0}_tryNudgeBuffer(e){let{hls:t,media:i,nudgeRetry:r}=this,a=null==t?void 0:t.config;if(!i||!a)return 0;let s=i.currentTime;if(this.nudgeRetry++,r<a.nudgeMaxRetry){let n=s+(r+1)*a.nudgeOffset,o=Error(`Nudging 'currentTime' from ${s} to ${n}`);this.warn(o.message),i.currentTime=n,t.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.BUFFER_NUDGE_ON_STALL,error:o,fatal:!1,buffer:e.len,bufferInfo:e})}else{let i=Error(`Playhead still not moving while enough data buffered @${s} after ${a.nudgeMaxRetry} nudges`);this.error(i.message),t.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.BUFFER_STALLED_ERROR,error:i,fatal:!0,buffer:e.len,bufferInfo:e})}}}function o2(e,t){let i=o3(e.main);if(i&&i.start<=t)return i;let r=o3(e.audio);return r&&r.start<=t?r:null}function o3(e){if(!e)return null;switch(e.state){case aG:case aH:case aQ:case az:return null}return e.frag}function o4(e,t){return t.getAppendedFrag(e,tY)||t.getPartialFragment(e)}function o5(){if("u">typeof self)return self.VTTCue||self.TextTrackCue}function o8(e,t,i,r,a){let s=new e(t,i,"");try{s.value=r,a&&(s.type=a)}catch(n){s=new e(t,i,i5(a?t0({type:a},r):r))}return s}let o9=(()=>{let e=o5();try{e&&new e(0,1/0,"")}catch(e){return Number.MAX_VALUE}return 1/0})();class o6{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.removeCues=!0,this.assetCue=void 0,this.onEventCueEnter=()=>{this.hls&&this.hls.trigger(tG.EVENT_CUE_ENTER,{})},this.hls=e,this._registerListeners()}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=this.onEventCueEnter=null}_registerListeners(){let{hls:e}=this;
29e&&(e.on(tG.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(tG.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(tG.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(tG.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}_unregisterListeners(){let{hls:e}=this;e&&(e.off(tG.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(tG.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(tG.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(tG.LEVEL_PTS_UPDATED,this.onLevelPtsUpdated,this))}onMediaAttaching(e,t){var i;this.media=t.media,(null==(i=t.overrides)?void 0:i.cueRemoval)===!1&&(this.removeCues=!1)}onMediaAttached(){var e;let t=null==(e=this.hls)?void 0:e.latestLevelDetails;t&&this.updateDateRangeCues(t)}onMediaDetaching(e,t){this.media=null,t.transferMedia||(this.id3Track&&(this.removeCues&&nz(this.id3Track,this.onEventCueEnter),this.id3Track=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("metadata"===i.kind&&"id3"===i.label)return nj(i,this.media),i}return this.media.addTextTrack("metadata","id3")}}onFragParsingMetadata(e,t){if(!this.media||!this.hls)return;let{enableEmsgMetadataCues:i,enableID3MetadataCues:r}=this.hls.config;if(!i&&!r)return;let{samples:a}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let s=o5();if(s)for(let e=0;e<a.length;e++){let t=a[e].type;if(t===sh.emsg&&!i||!r)continue;let n=so(a[e].data),o=a[e].pts,l=o+a[e].duration;l>o9&&(l=o9),l-o<=0&&(l=o+.25);for(let e=0;e<n.length;e++){let i=n[e];if(!sl(i)){this.updateId3CueEnds(o,t);let e=o8(s,o,l,i,t);e&&this.id3Track.addCue(e)}}}}updateId3CueEnds(e,t){var i;let r=null==(i=this.id3Track)?void 0:i.cues;if(r)for(let i=r.length;i--;){let a=r[i];a.type===t&&a.startTime<e&&a.endTime===o9&&(a.endTime=e)}}onBufferFlushing(e,{startOffset:t,endOffset:i,type:r}){let{id3Track:a,hls:s}=this;if(!s)return;let{config:{enableEmsgMetadataCues:n,enableID3MetadataCues:o}}=s;a&&(n||o)&&nX(a,t,i,"audio"===r?e=>e.type===sh.audioId3&&o:"video"===r?e=>e.type===sh.emsg&&n:e=>e.type===sh.audioId3&&o||e.type===sh.emsg&&n)}onLevelUpdated(e,{details:t}){this.updateDateRangeCues(t,!0)}onLevelPtsUpdated(e,t){Math.abs(t.drift)>.01&&this.updateDateRangeCues(t.details)}updateDateRangeCues(e,t){var i,r;if(!this.hls||!this.media)return;let{assetPlayerId:a,timelineOffset:s,enableDateRangeMetadataCues:n,interstitialsController:o}=this.hls.config;if(!n)return;let l=o5();if(a&&s&&!o){let{fragmentStart:t,fragmentEnd:i}=e,r=this.assetCue;r?(r.startTime=t,r.endTime=i):l&&(r=this.assetCue=o8(l,t,i,{assetPlayerId:this.hls.config.assetPlayerId},"hlsjs.interstitial.asset"))&&(r.id=a,this.id3Track||(this.id3Track=this.createTrack(this.media)),this.id3Track.addCue(r),r.addEventListener("enter",this.onEventCueEnter))}if(!e.hasProgramDateTime)return;let{id3Track:d}=this,{dateRanges:h}=e,u=Object.keys(h),c=this.dateRangeCuesAppended;if(d&&t)if(null!=(i=d.cues)&&i.length){let e=Object.keys(c).filter(e=>!u.includes(e));for(let t=e.length;t--;){let i=e[t],a=null==(r=c[i])?void 0:r.cues;delete c[i],a&&Object.keys(a).forEach(e=>{let t=a[e];if(t){t.removeEventListener("enter",this.onEventCueEnter);try{d.removeCue(t)}catch(e){}}})}}else c=this.dateRangeCuesAppended={};let m=e.fragments[e.fragments.length-1];if(0!==u.length&&tU(null==m?void 0:m.programDateTime)){this.id3Track||(this.id3Track=this.createTrack(this.media));for(let e=0;e<u.length;e++){let t=u[e],i=h[t],r=i.startTime,a=c[t],s=(null==a?void 0:a.cues)||{},n=(null==a?void 0:a.durationKnown)||!1,d=o9,{duration:m,endDate:f}=i;if(f&&null!==m)d=r+m,n=!0;else if(i.endOnNext&&!n){let e=u.reduce((e,t)=>
29{if(t!==i.id){let r=h[t];if(r.class===i.class&&r.startDate>i.startDate&&(!e||i.startDate<e.startDate))return r}return e},null);e&&(d=e.startTime,n=!0)}let p=Object.keys(i.attr);for(let e=0;e<p.length;e++){let h=p[e];if("ID"===h||"CLASS"===h||"CUE"===h||"START-DATE"===h||"DURATION"===h||"END-DATE"===h||"END-ON-NEXT"===h)continue;let u=s[h];if(u)n&&!(null!=a&&a.durationKnown)?u.endTime=d:Math.abs(u.startTime-r)>.01&&(u.startTime=r,u.endTime=d);else if(l){let e=i.attr[h];("SCTE35-OUT"===h||"SCTE35-IN"===h||"SCTE35-CMD"===h)&&(e=it(e));let a=o8(l,r,d,{key:h,data:e},sh.dateRange);a&&(a.id=t,this.id3Track.addCue(a),s[h]=a,o&&("X-ASSET-LIST"===h||"X-ASSET-URL"===h)&&a.addEventListener("enter",this.onEventCueEnter))}}c[t]={cues:s,dateRange:i,durationKnown:n}}}}}class o7{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.currentTime=0,this.stallCount=0,this._latency=null,this._targetLatencyUpdated=!1,this.onTimeupdate=()=>{let{media:e}=this,t=this.levelDetails;if(!e||!t)return;this.currentTime=e.currentTime;let i=this.computeLatency();if(null===i)return;this._latency=i;let{lowLatencyMode:r,maxLiveSyncPlaybackRate:a}=this.config;if(!r||1===a||!t.live)return;let s=this.targetLatency;if(null===s)return;let n=i-s;if(n<Math.min(this.maxLatency,s+t.targetduration)&&n>.05&&this.forwardBufferLength>1){let t=Math.min(Math.min(2,Math.max(1,a)),Math.max(1,Math.round(2/(1+Math.exp(-.75*n-this.edgeStalled))*20)/20));this.changeMediaPlaybackRate(e,t)}else 1!==e.playbackRate&&0!==e.playbackRate&&this.changeMediaPlaybackRate(e,1)},this.hls=e,this.config=e.config,this.registerListeners()}get levelDetails(){var e;return(null==(e=this.hls)?void 0:e.latestLevelDetails)||null}get latency(){return this._latency||0}get maxLatency(){let{config:e}=this;if(void 0!==e.liveMaxLatencyDuration)return e.liveMaxLatencyDuration;let t=this.levelDetails;return t?e.liveMaxLatencyDurationCount*t.targetduration:0}get targetLatency(){let e=this.levelDetails;if(null===e||null===this.hls)return null;let{holdBack:t,partHoldBack:i,targetduration:r}=e,{liveSyncDuration:a,liveSyncDurationCount:s,lowLatencyMode:n}=this.config,o=this.hls.userConfig,l=n&&i||t;return(this._targetLatencyUpdated||o.liveSyncDuration||o.liveSyncDurationCount||0===l)&&(l=void 0!==a?a:s*r),l+Math.min(this.stallCount*this.config.liveSyncOnStallIncrease,r)}set targetLatency(e){this.stallCount=0,this.config.liveSyncDuration=e,this._targetLatencyUpdated=!0}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency;if(null===e||null===t)return null;let i=this.levelDetails;if(null===i)return null;let r=i.edge,a=e-t-this.edgeStalled;return Math.min(Math.max(r-i.totalduration,a),r-(this.config.lowLatencyMode&&i.partTarget||i.targetduration))}get drift(){let e=this.levelDetails;return null===e?1:e.drift}get edgeStalled(){let e=this.levelDetails;if(null===e)return 0;let t=3*(this.config.lowLatencyMode&&e.partTarget||e.targetduration);return Math.max(e.age-t,0)}get forwardBufferLength(){let{media:e}=this,t=this.levelDetails;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.hls=null}registerListeners(){let{hls:e}=this;
29e&&(e.on(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(tG.ERROR,this.onError,this))}unregisterListeners(){let{hls:e}=this;e&&(e.off(tG.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(tG.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(tG.ERROR,this.onError,this))}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.onTimeupdate)}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.onTimeupdate),this.media=null)}onManifestLoading(){this._latency=null,this.stallCount=0}onLevelUpdated(e,{details:t}){t.advanced&&this.onTimeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.onTimeupdate)}onError(e,t){var i;t.details===tH.BUFFER_STALLED_ERROR&&(this.stallCount++,this.hls&&null!=(i=this.levelDetails)&&i.live&&this.hls.logger.warn("[latency-controller]: Stall detected, adjusting target latency"))}changeMediaPlaybackRate(e,t){var i,r;e.playbackRate!==t&&(null==(i=this.hls)||i.logger.debug(`[latency-controller]: latency=${this.latency.toFixed(3)}, targetLatency=${null==(r=this.targetLatency)?void 0:r.toFixed(3)}, forwardBufferLength=${this.forwardBufferLength.toFixed(3)}: adjusting playback rate from ${e.playbackRate} to ${t}`),e.playbackRate=t)}estimateLiveEdge(){let e=this.levelDetails;return null===e?null:e.edge+e.age}computeLatency(){let e=this.estimateLiveEdge();return null===e?null:e-this.currentTime}}class le extends s8{constructor(e,t){super(e,"level-controller"),this._levels=[],this._firstLevel=-1,this._maxAutoLevel=-1,this._startLevel=void 0,this.currentLevel=null,this.currentLevelIndex=-1,this.manualLevelIndex=-1,this.steering=void 0,this.onParsedComplete=void 0,this.steering=t,this._registerListeners()}_registerListeners(){let{hls:e}=this;e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(tG.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tG.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(tG.FRAG_BUFFERED,this.onFragBuffered,this),e.on(tG.ERROR,this.onError,this)}_unregisterListeners(){let{hls:e}=this;e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(tG.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tG.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(tG.FRAG_BUFFERED,this.onFragBuffered,this),e.off(tG.ERROR,this.onError,this)}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy()}stopLoad(){this._levels.forEach(e=>{e.loadError=0,e.fragmentError=0}),super.stopLoad()}resetLevels(){this._startLevel=void 0,this.manualLevelIndex=-1,this.currentLevelIndex=-1,this.currentLevel=null,this._levels=[],this._maxAutoLevel=-1}onManifestLoading(e,t){this.resetLevels()}onManifestLoaded(e,t){let i=this.hls.config.preferManagedMediaSource,r=[],a={},s={},n=!1,o=!1,l=!1;t.levels.forEach(e=>{let t=e.attrs,{audioCodec:d,videoCodec:h}=e;d&&(e.audioCodec=d=iK(d,i)||void 0),h&&(h=e.videoCodec=function(e){let t=e.split(",");for(let e=0;e<t.length;e++){let i=t[e].split(".");i.length>2&&"avc1"===i[0]&&(t[e]=`avc1.${parseInt(i[1]).toString(16)}${("000"+parseInt(i[2]).toString(16)).slice(-4)}`)}return t.join(",")}(h));let{width:u,height:c,unknownCodecs:m}=e,f=(null==m?void 0:m.length)||0;if(n||(n=!!(u&&c)),o||(o=!!h),l||(l=!!d),f||d&&!this.isAudioSupported(d)||h&&!this.isVideoSupported(h))return void this.log(`Some or all CODECS not supported "${t.CODECS}"`);let{CODECS:p,"FRAME-RATE":g,"HDCP-LEVEL":v,"PATHWAY-ID":E,RESOLUTION:y,"VIDEO-RANGE":b}=t,T=`${E||"."}-`,A=`${T}${e.bitrate}-${y}-${g}-${p}-${b}-${v}`;if(a[A])if(a[A].uri===e.url||e.attrs["PATHWAY-ID"])a[A].addGroupId("audio",t.AUDIO),a[A].addGroupId("text",t.SUBTITLES);else{let t=s[A]+=1;e.attrs["PATHWAY-ID"]=Array(t+1).join(".");let i=this.createLevel(e);a[A]=i,r.push(i)}else{let t=this.createLevel(e);a[A]=t,s[A]=1,r.push(t)}}),this.filterAndSortMediaOptions(r,t,n,o,l)}createLevel(e){let t=new i3(e),i=e.supplemental;if(null!=i&&i.videoCodec&&!this.isVideoSupported(i.videoCodec)){let e=Error(`SUPPLEMENTAL-CODECS not supported "${i.videoCodec}"`);this.log(e.message),t.supportedResult=iz(e,[])}return t}isAudioSupported(e){return iN(e,"audio",this.hls.config.preferManagedMediaSource)}isVideoSupported(e){return iN(e,"video",this.hls.config.preferManagedMediaSource)}filterAndSortMediaOptions(e,t,i,r,a){var s,n;let o=[],l=[],d=e,h=(null==(s=t.stats)?void 0:s.parsing)||{};if((i||r)&&a&&(d=d.filter(({videoCodec:e,videoRange:t,width:i,height:r})=>{var a;return(!!e||!!(i&&r))&&!!(a=t)&&i0.indexOf(a)>-1})),0===d.length){Promise.resolve().then(()=>
29{if(this.hls){let e="no level with compatible codecs found in manifest",i=e;t.levels.length&&(i=`one or more CODECS in variant not supported: ${i5(t.levels.map(e=>e.attrs.CODECS).filter((e,t,i)=>i.indexOf(e)===t))}`,this.warn(i),e+=` (${i})`);let r=Error(e);this.hls.trigger(tG.ERROR,{type:t$.MEDIA_ERROR,details:tH.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:r,reason:i})}}),h.end=performance.now();return}t.audioTracks&<(o=t.audioTracks.filter(e=>!e.audioCodec||this.isAudioSupported(e.audioCodec))),t.subtitles&<(l=t.subtitles);let u=d.slice(0);d.sort((e,t)=>{if(e.attrs["HDCP-LEVEL"]!==t.attrs["HDCP-LEVEL"])return(e.attrs["HDCP-LEVEL"]||"")>(t.attrs["HDCP-LEVEL"]||"")?1:-1;if(i&&e.height!==t.height)return e.height-t.height;if(e.frameRate!==t.frameRate)return e.frameRate-t.frameRate;if(e.videoRange!==t.videoRange)return i0.indexOf(e.videoRange)-i0.indexOf(t.videoRange);if(e.videoCodec!==t.videoCodec){let i=iB(e.videoCodec),r=iB(t.videoCodec);if(i!==r)return r-i}if(e.uri===t.uri&&e.codecSet!==t.codecSet){let i=i$(e.codecSet),r=i$(t.codecSet);if(i!==r)return r-i}return e.averageBitrate!==t.averageBitrate?e.averageBitrate-t.averageBitrate:0});let c=u[0];if(this.steering&&(d=this.steering.filterParsedLevels(d)).length!==u.length){for(let e=0;e<u.length;e++)if(u[e].pathwayId===d[0].pathwayId){c=u[e];break}}this._levels=d;for(let e=0;e<d.length;e++)if(d[e]===c){this._firstLevel=e;let t=c.bitrate,i=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${d.length} level(s) found, first bitrate: ${t}`),(null==(n=this.hls.userConfig)?void 0:n.abrEwmaDefaultEstimate)===void 0){let e=Math.min(t,this.hls.config.abrEwmaDefaultEstimateMax);e>i&&i===this.hls.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=e)}break}let m=a&&!r,f=this.hls.config,p=!!(f.audioStreamController&&f.audioTrackController),g={levels:d,audioTracks:o,subtitleTracks:l,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:a,video:r,altAudio:p&&!m&&o.some(e=>!!e.url)};h.end=performance.now(),this.hls.trigger(tG.MANIFEST_PARSED,g)}get levels(){return 0===this._levels.length?null:this._levels}get loadLevelObj(){return this.currentLevel}get level(){return this.currentLevelIndex}set level(e){let t=this._levels;if(0===t.length)return;if(e<0||e>=t.length){let i=Error("invalid level idx"),r=e<0;if(this.hls.trigger(tG.ERROR,{type:t$.OTHER_ERROR,details:tH.LEVEL_SWITCH_ERROR,level:e,fatal:r,error:i,reason:i.message}),r)return;e=Math.min(e,t.length-1)}let i=this.currentLevelIndex,r=this.currentLevel,a=r?r.attrs["PATHWAY-ID"]:void 0,s=t[e],n=s.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=s,i===e&&r&&a===n)return;this.log(`Switching to level ${e} (${s.height?s.height+"p ":""}${s.videoRange?s.videoRange+" ":""}${s.codecSet?s.codecSet+" ":""}@${s.bitrate})${n?" with Pathway "+n:""} from level ${i}${a?" with Pathway "+a:""}`);let o={level:e,attrs:s.attrs,details:s.details,bitrate:s.bitrate,averageBitrate:s.averageBitrate,maxBitrate:s.maxBitrate,realBitrate:s.realBitrate,width:s.width,height:s.height,codecSet:s.codecSet,audioCodec:s.audioCodec,videoCodec:s.videoCodec,audioGroups:s.audioGroups,subtitleGroups:s.subtitleGroups,loaded:s.loaded,loadError:s.loadError,fragmentError:s.fragmentError,name:s.name,id:s.id,uri:s.uri,url:s.url,urlId:0,audioGroupIds:s.audioGroupIds,textGroupIds:s.textGroupIds};this.hls.trigger(tG.LEVEL_SWITCHING,o);let l=s.details;if(!l||l.live){let e=this.switchParams(s.uri,null==r?void 0:r.details,l);this.loadPlaylist(e)}}get manualLevel(){return this.manualLevelIndex}set manualLevel(e){this.manualLevelIndex=e,void 0===this._startLevel&&(this._startLevel=e),-1!==e&&(this.level=e)}get firstLevel(){return this._firstLevel}set firstLevel(e){this._firstLevel=e}get startLevel(){if(void 0===this._startLevel){let e=this.hls.config.startLevel;return void 0!==e?e:this.hls.firstAutoLevel}return this._startLevel}set startLevel(e){this._startLevel=e}get pathways(){return this.steering?this.steering.pathways():[]}get pathwayPriority(){return this.steering?this.steering.pathwayPriority:null}set pathwayPriority(e){if(this.steering){let t=this.steering.pathways(),i=e.filter(e=>-1!==t.indexOf(e));if(e.length<1)return void this.warn(`pathwayPriority ${e} should contain at least one pathway from list: ${t}`);this.steering.pathwayPriority=i}}onError(e,t){!t.fatal&&t.context&&t.context.type===tW&&t.context.level===this.level&&this.checkRetry(t)}onFragBuffered(e,{frag:t}){if(void 0!==t&&t.type===tY){let e=t.elementaryStreams;if(!Object.keys(e).some(t=>!!e[t]))return;let i=this._levels[t.level];null!=i&&i.loadError&&(this.log(`Resetting level error count of ${i.loadError} on frag buffered`),i.loadError=0)}}onLevelLoaded(e,t){var i,r;let{level:a,details:s}=t,n=t.levelInfo;if(!n){this.warn(`Invalid level index ${a}`),null!=(r=t.deliveryDirectives)&&r.skip&&(s.deltaUpdateFailed=!0);return}if(n===this.currentLevel||t.withoutMultiVariant){0===n.fragmentError&&(n.loadError=0);let e=n.details;e===t.details&&e.advanced&&(e=void 0),this.playlistLoaded(a,t,e)}else null!=(i=t.deliveryDirectives)&&i.skip&&(s.deltaUpdateFailed=!0)}loadPlaylist(e){super.loadPlaylist(),this.shouldLoadPlaylist(this.currentLevel)&&this.scheduleLo
29ading(this.currentLevel,e)}loadingPlaylist(e,t){super.loadingPlaylist(e,t);let i=this.getUrlWithDirectives(e.uri,t),r=this.currentLevelIndex,a=e.attrs["PATHWAY-ID"],s=e.details,n=null==s?void 0:s.age;this.log(`Loading level index ${r}${(null==t?void 0:t.msn)!==void 0?" at sn "+t.msn+" part "+t.part:""}${a?" Pathway "+a:""}${n&&s.live?" age "+n.toFixed(1)+(s.type?" "+s.type:""):""} ${i}`),this.hls.trigger(tG.LEVEL_LOADING,{url:i,level:r,levelInfo:e,pathwayId:e.attrs["PATHWAY-ID"],id:0,deliveryDirectives:t||null})}get nextLoadLevel(){return -1!==this.manualLevelIndex?this.manualLevelIndex:this.hls.nextAutoLevel}set nextLoadLevel(e){this.level=e,-1===this.manualLevelIndex&&(this.hls.nextAutoLevel=e)}removeLevel(e){var t;if(1===this._levels.length)return;let i=this._levels.filter((t,i)=>i!==e||(this.steering&&this.steering.removeLevel(t),t===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,t.details&&t.details.fragments.forEach(e=>e.level=-1)),!1));aC(i),this._levels=i,this.currentLevelIndex>-1&&null!=(t=this.currentLevel)&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.manualLevelIndex>-1&&(this.manualLevelIndex=this.currentLevelIndex);let r=i.length-1;this._firstLevel=Math.min(this._firstLevel,r),this._startLevel&&(this._startLevel=Math.min(this._startLevel,r)),this.hls.trigger(tG.LEVELS_UPDATED,{levels:i})}onLevelsUpdated(e,{levels:t}){this._levels=t}checkMaxAutoUpdated(){let{autoLevelCapping:e,maxAutoLevel:t,maxHdcpLevel:i}=this.hls;this._maxAutoLevel!==t&&(this._maxAutoLevel=t,this.hls.trigger(tG.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:i}))}}function lt(e){let t={};e.forEach(e=>{let i=e.groupId||"";e.id=t[i]=t[i]||0,t[i]++})}function li(){return self.SourceBuffer||self.WebKitSourceBuffer}function lr(){if(!t9())return!1;let e=li();return!e||e.prototype&&"function"==typeof e.prototype.appendBuffer&&"function"==typeof e.prototype.remove}class la extends aJ{constructor(e,t,i){super(e,t,i,"stream-controller",tY),this.audioCodecSwap=!1,this.level=-1,this._forceStartLoad=!1,this._hasEnoughToStart=!1,this.altAudio=0,this.audioOnly=!1,this.fragPlaying=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this.onMediaPlaying=()=>{this.tick()},this.onMediaSeeked=()=>{let e=this.media,t=e?e.currentTime:null;if(null===t||!tU(t)||(this.log(`Media seeked to ${t.toFixed(3)}`),!this.getBufferedFrag(t)))return;let i=this.getFwdBufferInfoAtPos(e,t,tY,0);null===i||0===i.len?this.warn(`Main forward buffer length at ${t} on "seeked" event ${i?i.len:"empty"})`):this.tick()},this.registerListeners()}registerListeners(){super.registerListeners();let{hls:e}=this;e.on(tG.MANIFEST_PARSED,this.onManifestParsed,this),e.on(tG.LEVEL_LOADING,this.onLevelLoading,this),e.on(tG.LEVEL_LOADED,this.onLevelLoaded,this),e.on(tG.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(tG.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(tG.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(tG.BUFFER_CREATED,this.onBufferCreated,this),e.on(tG.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(tG.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(tG.FRAG_BUFFERED,this.onFragBuffered,this)}unregisterListeners(){super.unregisterListeners();let{hls:e}=this;e.off(tG.MANIFEST_PARSED,this.onManifestParsed,this),e.off(tG.LEVEL_LOADED,this.onLevelLoaded,this),e.off(tG.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(tG.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(tG.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(tG.BUFFER_CREATED,this.onBufferCreated,this),e.off(tG.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(tG.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(tG.FRAG_BUFFERED,this.onFragBuffered,this)}onHandlerDestroying(){this.onMediaPlaying=this.onMediaSeeked=null,this.unregisterListeners(),super.onHandlerDestroying()}startLoad(e,t){if(this.levels){let{lastCurrentTime:i,hls:r}=this;if(this.stopLoad(),this.setInterval(100),this.level=-1,!this.startFragRequested){let e=r.startLevel;-1===e&&(r.config.testBandwidth&&this.levels.length>1?(e=0,this.bitrateTest=!0):e=r.firstAutoLevel),r.nextLoadLevel=e,this.level=r.loadLevel,this._hasEnoughToStart=!!t}i>0&&-1===e&&!t&&(this.log(`Override startPosition with lastCurrentTime @${i.toFixed(3)}`),e=i),this.state=aG,this.nextLoadPosition=this.lastCurrentTime=e+this.timelineOffset,this.startPosition=t?-1:e,this.tick()}else this._forceStartLoad=!0,this.state=aH}stopLoad(){this._forceStartLoad=!1,super.stopLoad()}doTick(){switch(this.state){case aZ:{let{levels:e,level:t}=this,i=null==e?void 0:e[t],r=null==i?void 0:i.details;if(!r||r.live&&(this.levelLastLoaded!==i||this.waitForLive(i)))this.hls.nextLoadLevel!==this.level&&(this.state=aG);else{if(this.waitForCdnTuneIn(r))break;this.state=aG}break}case aV:this.checkRetryDate()}this.state===aG&&this.doTickIdle(),this.onTickEnd()}onTickEnd(){var e;super.onTickEnd(),null!=(e=this.media)&&e.readyState&&!1===this.media.seeking&&(this.lastCurrentTime=this.media.currentTime),this.checkFragmentChanged()}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:i,media:r}=this;if(null===t||!r&&!this.primaryPrefetch&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;
29let a=this.buffering?e.nextLoadLevel:e.loadLevel;if(!(null!=i&&i[a]))return;let s=i[a],n=this.getMainFwdBufferInfo();if(null===n)return;let o=this.getLevelDetails();if(o&&this._streamEnded(n,o)){let e={};2===this.altAudio&&(e.type="video"),this.hls.trigger(tG.BUFFER_EOS,e),this.state=aQ;return}if(!this.buffering)return;e.loadLevel!==a&&-1===e.manualLevel&&this.log(`Adapting to level ${a} from level ${this.level}`),this.level=e.nextLoadLevel=a;let l=s.details;if(!l||this.state===aZ||this.waitForLive(s)){this.level=a,this.state=aZ,this.startFragRequested=!1;return}let d=n.len,h=this.getMaxBufferLength(s.maxBitrate);if(d>=h)return;this.backtrackFragment&&this.backtrackFragment.start>n.end&&(this.backtrackFragment=null);let u=this.backtrackFragment?this.backtrackFragment.start:n.end,c=this.getNextFragment(u,l);if(this.couldBacktrack&&!this.fragPrevious&&c&&ih(c)&&"OK"!==this.fragmentTracker.getState(c)){var m;let e=(null!=(m=this.backtrackFragment)?m:c).sn-l.startSN,t=l.fragments[e-1];t&&c.cc===t.cc&&(c=t,this.fragmentTracker.removeFragment(t))}else this.backtrackFragment&&n.len&&(this.backtrackFragment=null);if(c&&this.isLoopLoading(c,u)){if(!c.gap){let e=this.audioOnly&&!this.altAudio?is:io,t=(e===io?this.videoBuffer:this.mediaBuffer)||this.media;t&&this.afterBufferFlushed(t,e,tY)}c=this.getNextFragmentLoopLoading(c,l,n,tY,h)}!c||this.exceedsMaxBuffer(n,h,c)||(!c.initSegment||c.initSegment.data||this.bitrateTest||(c=c.initSegment),this.loadFragment(c,s,u))}loadFragment(e,t,i){let r=this.fragmentTracker.getState(e);r===rv||r===ry?ih(e)?this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):super.loadFragment(e,t,i):this._loadInitSegment(e,t):this.clearTrackerIfNeeded(e)}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,tY)}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null}immediateLevelSwitch(){if(this.abortCurrentFrag(),this.flushMainBuffer(0,1/0),0!==this.altAudio){var e;((null==(e=this.getLevelDetails())?void 0:e.fragmentStart)||0)>this.lastCurrentTime&&super.flushMainBuffer(0,1/0,"audio")}}nextLevelSwitch(){let{levels:e,media:t}=this;if(null!=t&&t.readyState){let i,r=this.getAppendedFrag(t.currentTime);r&&r.start>1&&this.flushMainBuffer(0,r.start-1);let a=this.getLevelDetails();if(null!=a&&a.live){let e=this.getMainFwdBufferInfo();if(!e||e.len<2*a.targetduration)return}if(!t.paused&&e){let t=e[this.hls.nextLoadLevel],r=this.fragLastKbps;i=r&&this.fragCurrent?this.fragCurrent.duration*t.maxBitrate/(1e3*r)+1:0}else i=0;let s=this.getBufferedFrag(t.currentTime+i);if(s){let e=this.followingBufferedFrag(s);if(e){this.abortCurrentFrag();let t=e.maxStartPTS?e.maxStartPTS:e.start,i=e.duration,r=Math.max(s.end,t+Math.min(Math.max(i-this.config.maxFragLookUpTolerance,i*(this.couldBacktrack?.5:.125)),i*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(r,1/0)}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case aK:case aW:case aV:case aY:case aj:this.state=aG}this.nextLoadPosition=this.getLoadPosition()}flushMainBuffer(e,t){super.flushMainBuffer(e,t,2===this.altAudio?"video":null)}onMediaAttached(e,t){super.onMediaAttached(e,t);let i=t.media;aF(i,"playing",this.onMediaPlaying),aF(i,"seeked",this.onMediaSeeked)}onMediaDetaching(e,t){let{media:i}=this;i&&(aB(i,"playing",this.onMediaPlaying),aB(i,"seeked",this.onMediaSeeked)),this.videoBuffer=null,this.fragPlaying=null,super.onMediaDetaching(e,t),t.transferMedia||(this._hasEnoughToStart=!1)}onManifestLoading(){super.onManifestLoading(),this.log("Trigger BUFFER_RESET"),this.hls.trigger(tG.BUFFER_RESET,void 0),this.couldBacktrack=!1,this.fragLastKbps=0,this.fragPlaying=this.backtrackFragment=null,this.altAudio=0,this.audioOnly=!1}onManifestParsed(e,t){var i;let r,a=!1,s=!1;for(let e=0;e<t.levels.length;e++){let i=t.levels[e].audioCodec;i&&(a=a||-1!==i.indexOf("mp4a.40.2"),s=s||-1!==i.indexOf("mp4a.40.5"))}this.audioCodecSwitch=a&&s&&"function"!=typeof(null==(r=li())||null==(i=r.prototype)?void 0:i.changeType),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!==aG)return;let r=t.levelInfo;(!r.details||r.details.live&&(this.levelLastLoaded!==r||r.details.expired)||this.waitForCdnTuneIn(r.details))&&(this.state=aZ)}onLevelLoaded(e,t){var i,r;let{levels:a,startFragRequested:s}=this,n=t.level,o=t.details,l=o.totalduration;if(!a)return void this.warn(`Levels were reset while loading level ${n}`);this.log(`Level ${n} loaded [${o.startSN},${o.endSN}]${o.lastPartSn?`[part-${o.lastPartSn}-${o.lastPartIndex}]`:""}, cc [${o.startCC}, ${o.endCC}] duration:${l}`);let d=t.levelInfo,h=this.fragCurrent;h&&(this.state===aW||this.state===aV)&&h.level!==t.level&&h.loader&&this.abortCurrentFrag();let u=0;if(o.live||null!=(i=d.details)&&i.live){if(this.checkLiveUpdate(o),o.deltaUpdateFailed)return;u=this.alignPlaylists(o,d.details,null==(r=this.levelLastLoaded)?void 0:r.details)}if(d.details=o,this.levelLastLoaded=d,s||this.setStartPosition(o,u),this.hls.trigger(tG.LEVEL_UPDATED,{details:o,level:n}),this.state===aZ){if(this.waitForCdnTuneIn(o))return;this.state=aG}s&&o.live&&this.synchronizeToLiveEdge(o),this.tick()}
29synchronizeToLiveEdge(e){let{config:t,media:i}=this;if(!i)return;let r=this.hls.liveSyncPosition,a=this.getLoadPosition(),s=e.fragmentStart,n=e.edge,o=a>=s-t.maxFragLookUpTolerance&&a<=n;if(null!==r&&i.duration>r&&(a<r||!o)){let s=void 0!==t.liveMaxLatencyDuration?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;if((!o&&i.readyState<4||a<n-s)&&(this._hasEnoughToStart||(this.nextLoadPosition=r),i.readyState))if(this.warn(`Playback: ${a.toFixed(3)} is located too far from the end of live sliding playlist: ${n}, reset currentTime to : ${r.toFixed(3)}`),"buffered"===this.config.liveSyncMode){var l;let e=rN.bufferInfo(i,r,0);if(!(null!=(l=e.buffered)&&l.length)||e.start<=a){i.currentTime=r;return}let{nextStart:t}=rN.bufferedInfo(e.buffered,a,0);t&&(i.currentTime=t)}else i.currentTime=r}}_handleFragmentLoadProgress(e){var t;let i=e.frag,{part:r,payload:a}=e,{levels:s}=this;if(!s)return void this.warn(`Levels were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);let n=s[i.level];if(!n)return void this.warn(`Level ${i.level} not found on progress`);let o=n.details;if(!o){this.warn(`Dropping fragment ${i.sn} of level ${i.level} after level details were reset`),this.fragmentTracker.removeFragment(i);return}let l=n.videoCodec,d=o.PTSKnown||!o.live,h=null==(t=i.initSegment)?void 0:t.data,u=this._getAudioCodec(n),c=this.transmuxer=this.transmuxer||new s5(this.hls,tY,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),m=r?r.index:-1,f=new rx(i.level,i.sn,i.stats.chunkCount,a.byteLength,m,-1!==m),p=this.initPTS[i.cc];c.push(a,h,u,l,i,r,o.totalduration,d,f,p)}onAudioTrackSwitching(e,t){let i=this.hls,r=0!==this.altAudio;if(rr(t.url,i))this.altAudio=1;else{if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let e=this.fragCurrent;e&&(this.log("Switching to main audio track, cancel main fragment load"),e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.resetLoadingState()}else this.audioOnly&&this.resetTransmuxer();if(r){this.altAudio=0,this.fragmentTracker.removeAllFragments(),i.once(tG.BUFFER_FLUSHED,()=>{this.hls&&this.hls.trigger(tG.AUDIO_TRACK_SWITCHED,t)}),i.trigger(tG.BUFFER_FLUSHING,{startOffset:0,endOffset:1/0,type:null});return}i.trigger(tG.AUDIO_TRACK_SWITCHED,t)}}onAudioTrackSwitched(e,t){let i=rr(t.url,this.hls);if(i){let e=this.videoBuffer;e&&this.mediaBuffer!==e&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=e)}this.altAudio=2*!!i,this.tick()}onBufferCreated(e,t){let i,r,a=t.tracks,s=!1;for(let e in a){let t=a[e];if("main"===t.id){if(r=e,i=t,"video"===e){let t=a[e];t&&(this.videoBuffer=t.buffer)}}else s=!0}s&&i?(this.log(`Alternate track found, use ${r}.buffered to schedule main fragment loading`),this.mediaBuffer=i.buffer):this.mediaBuffer=this.media}onFragBuffered(e,t){let{frag:i,part:r}=t,a=i.type===tY;if(a){if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${r?" p: "+r.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}`),this.state===aj&&(this.state=aG);return}let e=r?r.stats:i.stats;this.fragLastKbps=Math.round(8*e.total/(e.buffering.end-e.loading.first)),ih(i)&&(this.fragPrevious=i),this.fragBufferedComplete(i,r)}let s=this.media;s&&(!this._hasEnoughToStart&&rN.getBuffered(s).length&&(this._hasEnoughToStart=!0,this.seekToStartPos()),a&&this.tick())}get hasEnoughToStart(){return this._hasEnoughToStart}onError(e,t){var i;if(t.fatal){this.state=az;return}switch(t.details){case tH.FRAG_GAP:case tH.FRAG_PARSING_ERROR:case tH.FRAG_DECRYPT_ERROR:case tH.FRAG_LOAD_ERROR:case tH.FRAG_LOAD_TIMEOUT:case tH.KEY_LOAD_ERROR:case tH.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(tY,t);break;case tH.LEVEL_LOAD_ERROR:case tH.LEVEL_LOAD_TIMEOUT:case tH.LEVEL_PARSING_ERROR:t.levelRetry||this.state!==aZ||(null==(i=t.context)?void 0:i.type)!==tW||(this.state=aG);break;case tH.BUFFER_ADD_CODEC_ERROR:case tH.BUFFER_APPEND_ERROR:if("main"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)&&this.resetLoadingState();break;case tH.BUFFER_FULL_ERROR:if("main"!==t.parent)return;this.reduceLengthAndFlushBuffer(t)&&(!this.config.interstitialsController&&this.config.assetPlayerId?this._hasEnoughToStart=!0:this.flushMainBuffer(0,1/0));break;case tH.INTERNAL_EXCEPTION:this.recoverWorkerError(t)}}onFragLoadEmergencyAborted(){this.state=aG,this._hasEnoughToStart||(this.startFragRequested=!1,this.nextLoadPosition=this.lastCurrentTime),this.tickImmediate()}onBufferFlushed(e,{type:t}){if(t!==is||!this.altAudio){let e=(t===io?this.videoBuffer:this.mediaBuffer)||this.media;e&&(this.afterBufferFlushed(e,t,tY),this.tick())}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level,-1===this.level&&this.resetWhenMissingContext(this.fragCurrent)),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)return void this.log(`could not seek to ${i}, already seeking at ${t}`);let r=this.timelineOffset;r&&i&&(i+=r);let a=this.getLevelDetails(),s=rN.getBuffered(e),n=s.length?s.start(0):0,o=n-i,l=Math.max(this.config.maxBufferHole,this.config.maxFragLookUpTolerance);(this.config.startOnSegmentBoundary||o>0&&(o<l||this.loadingParts&&o<2*((null==a?void 0:a.partTarget)||0)))&&(this.log(`adjusting start position by ${o} to match buffer start`),i+=o,this.startPosition=i),t<i&&(this.log(`seek to target start position ${i} from current time ${t} buffer start ${n}`),e.currentTime=i)}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t=-1!==t.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5"),t}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(e=>{let{hls:i}=this,r=null==e?void 0:e.frag;if(!r||this.fragContextChanged(r))return;t.fragmentError=0,this.state=aG,this.startFragRequested=!1,this.bitrateTest=!1;let a=r.stats;a.parsing.start=a.parsing.end=a.buffering.start=a.buffering.end=self.performance.now(),i.trigger(tG.FRAG_LOADED,e),r.bitrateTest=!1}
29).catch(t=>{this.state!==aH&&this.state!==az&&(this.warn(t),this.resetFragmentLoading(e))})}_handleTransmuxComplete(e){let t=this.playlistType,{hls:i}=this,{remuxResult:r,chunkMeta:a}=e,s=this.getCurrentContext(a);if(!s)return void this.resetWhenMissingContext(a);let{frag:n,part:o,level:l}=s,{video:d,text:h,id3:u,initSegment:c}=r,{details:m}=l,f=this.altAudio?void 0:r.audio;if(this.fragContextChanged(n))return void this.fragmentTracker.removeFragment(n);if(this.state=aY,c){let e=c.tracks;if(e){let r=n.initSegment||n;if(this.unhandledEncryptionError(c,n))return;this._bufferInitSegment(l,e,r,a),i.trigger(tG.FRAG_PARSING_INIT_SEGMENT,{frag:r,id:t,tracks:e})}let r=c.initPTS,s=c.timescale,o=this.initPTS[n.cc];if(tU(r)&&(!o||o.baseTime!==r||o.timescale!==s)){let e=c.trackId;this.initPTS[n.cc]={baseTime:r,timescale:s,trackId:e},i.trigger(tG.INIT_PTS_FOUND,{frag:n,id:t,initPTS:r,timescale:s,trackId:e})}}if(d&&m){f&&"audiovideo"===d.type&&this.logMuxedErr(n);let e=m.fragments[n.sn-1-m.startSN],t=n.sn===m.startSN,i=!e||n.cc>e.cc;if(!1!==r.independent){let{startPTS:e,endPTS:r,startDTS:s,endDTS:l}=d;if(o)o.elementaryStreams[d.type]={startPTS:e,endPTS:r,startDTS:s,endDTS:l};else if(d.firstKeyFrame&&d.independent&&1===a.id&&!i&&(this.couldBacktrack=!0),d.dropped&&d.independent){let a=this.getMainFwdBufferInfo(),s=(a?a.end:this.getLoadPosition())+this.config.maxBufferHole,o=d.firstKeyFramePTS?d.firstKeyFramePTS:e;if(!t&&s<o-this.config.maxBufferHole&&!i)return void this.backtrack(n);i&&(n.gap=!0),n.setElementaryStreamInfo(d.type,n.start,r,n.start,l,!0)}else t&&e-(m.appliedTimelineOffset||0)>2&&(n.gap=!0);n.setElementaryStreamInfo(d.type,e,r,s,l),this.backtrackFragment&&(this.backtrackFragment=n),this.bufferFragmentData(d,n,o,a,t||i)}else{if(!t&&!i)return void this.backtrack(n);n.gap=!0}}if(f){let{startPTS:e,endPTS:t,startDTS:i,endDTS:r}=f;o&&(o.elementaryStreams[is]={startPTS:e,endPTS:t,startDTS:i,endDTS:r}),n.setElementaryStreamInfo(is,e,t,i,r),this.bufferFragmentData(f,n,o,a)}if(m&&null!=u&&u.samples.length){let e={id:t,frag:n,details:m,samples:u.samples};i.trigger(tG.FRAG_PARSING_METADATA,e)}if(m&&h){let e={id:t,frag:n,details:m,samples:h.samples};i.trigger(tG.FRAG_PARSING_USERDATA,e)}}logMuxedErr(e){this.warn(`${ih(e)?"Media":"Init"} segment with muxed audiovideo where only video expected: ${e.url}`)}_bufferInitSegment(e,t,i,r){if(this.state!==aY)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&(delete t.audio,t.audiovideo&&this.logMuxedErr(i));let{audio:a,video:s,audiovideo:n}=t;if(a){let i=e.audioCodec,r=iW(a.codec,i);"mp4a"===r&&(r="mp4a.40.5");let s=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){r&&(r=-1!==r.indexOf("mp4a.40.5")?"mp4a.40.2":"mp4a.40.5");let e=a.metadata;e&&"channelCount"in e&&1!==(e.channelCount||1)&&-1===s.indexOf("firefox")&&(r="mp4a.40.5")}r&&-1!==r.indexOf("mp4a.40.5")&&-1!==s.indexOf("android")&&"audio/mpeg"!==a.container&&(r="mp4a.40.2",this.log(`Android: force audio codec to ${r}`)),i&&i!==r&&this.log(`Swapping manifest audio codec "${i}" for "${r}"`),a.levelCodec=r,a.id=tY,this.log(`Init audio buffer, container:${a.container}, codecs[selected/level/parsed]=[${r||""}/${i||""}/${a.codec}]`),delete t.audiovideo}if(s){s.levelCodec=e.videoCodec,s.id=tY;let i=s.codec;if((null==i?void 0:i.length)===4)switch(i){case"hvc1":case"hev1":s.codec="hvc1.1.6.L120.90";break;case"av01":s.codec="av01.0.04M.08";break;case"avc1":s.codec="avc1.42e01e"}this.log(`Init video buffer, container:${s.container}, codecs[level/parsed]=[${e.videoCodec||""}/${i}]${s.codec!==i?" parsed-corrected="+s.codec:""}${s.supplemental?" supplemental="+s.supplemental:""}`),delete t.audiovideo}n&&(this.log(`Init audiovideo buffer, container:${n.container}, codecs[level/parsed]=[${e.codecs}/${n.codec}]`),delete t.video,delete t.audio);let o=Object.keys(t);if(o.length){if(this.hls.trigger(tG.BUFFER_CODECS,t),!this.hls)return;o.forEach(e=>{let a=t[e].initSegment;null!=a&&a.byteLength&&this.hls.trigger(tG.BUFFER_APPENDING,{type:e,data:a,frag:i,part:null,chunkMeta:r,parent:i.type})})}this.tickImmediate()}getMainFwdBufferInfo(){let e=this.mediaBuffer&&2===this.altAudio?this.mediaBuffer:this.media;return this.getFwdBufferInfo(e,tY)}get maxBufferLength(){let{levels:e,level:t}=this,i=null==e?void 0:e[t];return i?this.getMaxBufferLength(i.maxBitrate):this.config.maxBufferLength}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=aG}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&!1===e.seeking){let i=e.currentTime;if(rN.isBuffered(e,i)?t=this.getAppendedFrag(i):rN.isBuffered(e,i+.
291)&&(t=this.getAppendedFrag(i+.1)),t){this.backtrackFragment=null;let e=this.fragPlaying,i=t.level;(!e||t.sn!==e.sn||e.level!==i)&&(this.fragPlaying=t,this.hls.trigger(tG.FRAG_CHANGED,{frag:t}),e&&e.level===i||this.hls.trigger(tG.LEVEL_SWITCHED,{level:i}))}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1}get currentFrag(){var e;if(this.fragPlaying)return this.fragPlaying;let t=(null==(e=this.media)?void 0:e.currentTime)||this.lastCurrentTime;return tU(t)?this.getAppendedFrag(t):null}get currentProgramDateTime(){var e;let t=(null==(e=this.media)?void 0:e.currentTime)||this.lastCurrentTime;if(tU(t)){let e=this.getLevelDetails(),i=this.currentFrag||(e?rs(null,e.fragments,t):null);if(i){let e=i.programDateTime;if(null!==e)return new Date(e+(t-i.start)*1e3)}}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}}class ls extends t1{constructor(e,t){super("key-loader",t),this.config=void 0,this.keyIdToKeyInfo={},this.emeController=null,this.config=e}abort(e){for(let i in this.keyIdToKeyInfo){let r=this.keyIdToKeyInfo[i].loader;if(r){var t;if(e&&e!==(null==(t=r.context)?void 0:t.frag.type))return;r.abort()}}}detach(){for(let e in this.keyIdToKeyInfo){let t=this.keyIdToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyIdToKeyInfo[e]}}destroy(){for(let e in this.detach(),this.keyIdToKeyInfo){let t=this.keyIdToKeyInfo[e].loader;t&&t.destroy()}this.keyIdToKeyInfo={}}createKeyLoadError(e,t=tH.KEY_LOAD_ERROR,i,r,a){return new rC({type:t$.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:a,error:i,networkDetails:r})}loadClear(e,t,i){if(this.emeController&&this.config.emeEnabled&&!this.emeController.getSelectedKeySystemFormats().length){if(t.length)for(let r=0,a=t.length;r<a;r++){let s=t[r];if(e.cc<=s.cc&&(!ih(e)||!ih(s)||e.sn<s.sn)||!i&&r==a-1)return this.emeController.selectKeySystemFormat(s).then(e=>{if(!this.emeController)return;s.setKeyFormat(e);let t=r6(e);if(t)return this.emeController.getKeySystemAccess([t])})}if(this.config.requireKeySystemAccessOnStart){let e=ae(this.config);if(e.length)return this.emeController.getKeySystemAccess(e)}}return null}load(e){return!e.decryptdata&&e.encrypted&&this.emeController&&this.config.emeEnabled?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e)}loadInternal(e,t){var i,r;t&&e.setKeyFormat(t);let a=e.decryptdata;if(!a){let i=Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:`Missing decryption data on fragment in onKeyLoading (emeEnabled with controller: ${this.emeController&&this.config.emeEnabled})`);return Promise.reject(this.createKeyLoadError(e,tH.KEY_LOAD_ERROR,i))}let s=a.uri;if(!s)return Promise.reject(this.createKeyLoadError(e,tH.KEY_LOAD_ERROR,Error(`Invalid key URI: "${s}"`)));let n=ln(a),o=this.keyIdToKeyInfo[n];if(null!=(i=o)&&i.decryptdata.key)return a.key=o.decryptdata.key,Promise.resolve({frag:e,keyInfo:o});if(this.emeController&&null!=(r=o)&&r.keyLoadPromise)switch(this.emeController.getKeyStatus(o.decryptdata)){case"usable":case"usable-in-future":return o.keyLoadPromise.then(t=>{let{keyInfo:i}=t;return a.key=i.decryptdata.key,{frag:e,keyInfo:i}})}switch(this.log(`${this.keyIdToKeyInfo[n]?"Rel":"L"}oading${a.keyId?" keyId: "+ie(a.keyId):""} URI: ${a.uri} from ${e.type} ${e.level}`),o=this.keyIdToKeyInfo[n]={decryptdata:a,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},a.method){case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":if("identity"===a.keyFormat)return this.loadKeyHTTP(o,e);return this.loadKeyEME(o,e);case"AES-128":case"AES-256":case"AES-256-CTR":return this.loadKeyHTTP(o,e);default:return Promise.reject(this.createKeyLoadError(e,tH.KEY_LOAD_ERROR,Error(`Key supplied with unsupported METHOD: "${a.method}"`)))}}loadKeyEME(e,t){let i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){var r,a;if(!e.decryptdata.keyId&&null!=(r=t.initSegment)&&r.data){let i,r=(a=t.initSegment.data,i=[],iL(a,e=>i.push(e.subarray(8,24))),i);if(r.length){let t=r[0];t.some(e=>0!==e)?(this.log(`Using keyId found in init segment ${ie(t)}`),aa.setKeyIdForUri(e.decryptdata.uri,t)):(t=aa.addKeyIdForUri(e.decryptdata.uri),this.log(`Generating keyId to patch media ${ie(t)}`)),e.decryptdata.keyId=t}}return e.decryptdata.keyId||ih(t)?(e.keyLoadPromise=this.emeController.loadKey(i).then(t=>(e.mediaKeySessionContext=t,i))).catch(i=>{throw e.keyLoadPromise=null,"data"in i&&(i.data.frag=t),i}):Promise.resolve(i)}return Promise.resolve(i)}loadKeyHTTP(e,t){let i=this.config,r=new i.loader(i);return t.keyLoader=e.loader=r,e.keyLoadPromise=new Promise((a,s)=>{let n={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},o=i.keyLoadPolicy.default,l={loadPolicy:o,timeout:o.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0};r.load(n,l,{onSuccess:(e,t,i,r)=>{let{frag:n,keyInfo:o}=i,l=ln(o.decryptdata);if(!n.decryptdata||o!==this.keyIdToKeyInfo[l])return s(this.createKeyLoadError(n,tH.KEY_LOAD_ERROR,Error("after key load, decryptdata unset or changed"),r));o.decryptdata.key=n.decryptdata.key=new Uint8Array(e.data),n.keyLoader=null,o.loader=null,a({frag:n,keyInfo:o})},onError:(e,i,r,a)=>{this.resetLoader(i),s(this.createKeyLoadError(t,tH.KEY_LOAD_ERROR,Error(`HTTP Error ${e.code} loading key ${e.text}`),r,t0({url:n.url,data:void 0},e)))},onTimeout:(e,i,r)=>{this.resetLoader(i),s(this.createKeyLoadError(t,tH.KEY_LOAD_TIMEOUT,Error("key loading timed out"),r))},onAbort:(e,i,r)=>{this.resetLoader(i),s(this.createKeyLoadError(t,tH.INTERNAL_ABORTED,Error("key loading aborted"),r))}})})}
29resetLoader(e){let{frag:t,keyInfo:i,url:r}=e,a=i.loader;t.keyLoader===a&&(t.keyLoader=null,i.loader=null);let s=ln(i.decryptdata)||r;delete this.keyIdToKeyInfo[s],a&&a.destroy()}}function ln(e){if(e.keyFormat!==r5){let t=e.keyId;if(t)return ie(t)}return e.uri}function lo(e){let{type:t}=e;switch(t){case tV:return tj;case tq:return tQ;default:return tY}}function ll(e,t){let i=e.url;return(void 0===i||0===i.indexOf("data:"))&&(i=t.url),i}class ld{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.onManifestLoaded=this.checkAutostartLoad,this.hls=e,this.registerListeners()}startLoad(e){}stopLoad(){this.destroyInternalLoaders()}registerListeners(){let{hls:e}=this;e.on(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.on(tG.LEVEL_LOADING,this.onLevelLoading,this),e.on(tG.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(tG.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.on(tG.LEVELS_UPDATED,this.onLevelsUpdated,this)}unregisterListeners(){let{hls:e}=this;e.off(tG.MANIFEST_LOADING,this.onManifestLoading,this),e.off(tG.LEVEL_LOADING,this.onLevelLoading,this),e.off(tG.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(tG.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this),e.off(tG.LEVELS_UPDATED,this.onLevelsUpdated,this)}createInternalLoader(e){let t=this.hls.config,i=t.pLoader,r=t.loader,a=new(i||r)(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:tK,url:i,deliveryDirectives:null,levelOrTrack:null})}onLevelLoading(e,t){let{id:i,level:r,pathwayId:a,url:s,deliveryDirectives:n,levelInfo:o}=t;this.load({id:i,level:r,pathwayId:a,responseType:"text",type:tW,url:s,deliveryDirectives:n,levelOrTrack:o})}onAudioTrackLoading(e,t){let{id:i,groupId:r,url:a,deliveryDirectives:s,track:n}=t;this.load({id:i,groupId:r,level:null,responseType:"text",type:tV,url:a,deliveryDirectives:s,levelOrTrack:n})}onSubtitleTrackLoading(e,t){let{id:i,groupId:r,url:a,deliveryDirectives:s,track:n}=t;this.load({id:i,groupId:r,level:null,responseType:"text",type:tq,url:a,deliveryDirectives:s,levelOrTrack:n})}onLevelsUpdated(e,t){let i=this.loaders[tW];if(i){let e=i.context;e&&!t.levels.some(t=>t===e.levelOrTrack)&&(i.abort(),delete this.loaders[tW])}}load(e){var t;let i,r=this.hls.config,a=this.getInternalLoader(e);if(a){let t=this.hls.logger,i=a.context;if(i&&i.levelOrTrack===e.levelOrTrack&&(i.url===e.url||i.deliveryDirectives&&!e.deliveryDirectives))return void(i.url===e.url?t.log(`[playlist-loader]: ignore ${e.url} ongoing request`):t.log(`[playlist-loader]: ignore ${e.url} in favor of ${i.url}`));t.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),a.abort()}if(i=e.type===tK?r.manifestLoadPolicy.default:tZ({},r.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),a=this.createInternalLoader(e),tU(null==(t=e.deliveryDirectives)?void 0:t.part)){let t;if(e.type===tW&&null!==e.level?t=this.hls.levels[e.level].details:e.type===tV&&null!==e.id?t=this.hls.audioTracks[e.id].details:e.type===tq&&null!==e.id&&(t=this.hls.subtitleTracks[e.id].details),t){let e=t.partTarget,r=t.targetduration;if(e&&r){let t=1e3*Math.max(3*e,.8*r);i=tZ({},i,{maxTimeToFirstByteMs:Math.min(t,i.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(t,i.maxTimeToFirstByteMs)})}}}let s=i.errorRetry||i.timeoutRetry||{},n={loadPolicy:i,timeout:i.maxLoadTimeMs,maxRetry:s.maxNumRetry||0,retryDelay:s.retryDelayMs||0,maxRetryDelay:s.maxRetryDelayMs||0};a.load(e,n,{onSuccess:(e,t,i,r)=>{let a=this.getInternalLoader(i);this.resetInternalLoader(i.type);let s=e.data;t.parsing.start=performance.now(),au.isMediaPlaylist(s)||i.type!==tK?this.handleTrackOrLevelPlaylist(e,t,i,r||null,a):this.handleMasterPlaylist(e,t,i,r)},onError:(e,t,i,r)=>{this.handleNetworkError(t,i,!1,e,r)},onTimeout:(e,t,i)=>{this.handleNetworkError(t,i,!0,void 0,e)}})}
29checkAutostartLoad(){if(!this.hls)return;let{config:{autoStartLoad:e,startPosition:t},forceStartLoad:i}=this.hls;(e||i)&&(this.hls.logger.log(`${e?"auto":"force"} startLoad with configured startPosition ${t}`),this.hls.startLoad(t))}handleMasterPlaylist(e,t,i,r){let a=this.hls,s=e.data,n=ll(e,i),o=au.parseMasterPlaylist(s,n);if(o.playlistParsingError){t.parsing.end=performance.now(),this.handleManifestParsingError(e,i,o.playlistParsingError,r,t);return}let{contentSteering:l,levels:d,sessionData:h,sessionKeys:u,startTimeOffset:c,variableList:m}=o;this.variableList=m,d.forEach(e=>{let{unknownCodecs:t}=e;if(t){let{preferManagedMediaSource:i}=this.hls.config,{audioCodec:r,videoCodec:a}=e;for(let s=t.length;s--;){let n=t[s];iN(n,"audio",i)?(e.audioCodec=r=r?`${r},${n}`:n,iP.audio[r.substring(0,4)]=2,t.splice(s,1)):iN(n,"video",i)&&(e.videoCodec=a=a?`${a},${n}`:n,iP.video[a.substring(0,4)]=2,t.splice(s,1))}}});let{AUDIO:f=[],SUBTITLES:p,"CLOSED-CAPTIONS":g}=au.parseMasterPlaylistMedia(s,n,o);f.length&&(f.some(e=>!e.url)||!d[0].audioCodec||d[0].attrs.AUDIO||(this.hls.logger.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),f.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new rG({}),bitrate:0,url:""}))),a.trigger(tG.MANIFEST_LOADED,{levels:d,audioTracks:f,subtitles:p,captions:g,contentSteering:l,url:n,stats:t,networkDetails:r,sessionData:h,sessionKeys:u,startTimeOffset:c,variableList:m})}handleTrackOrLevelPlaylist(e,t,i,r,a){let s=this.hls,{id:n,level:o,type:l}=i,d=ll(e,i),h=tU(o)?o:tU(n)?n:0,u=lo(i),c=au.parseLevelPlaylist(e.data,d,h,u,0,this.variableList);if(l===tK){let e={attrs:new rG({}),bitrate:0,details:c,name:"",url:d};c.requestScheduled=t.loading.start+aL(c,0),s.trigger(tG.MANIFEST_LOADED,{levels:[e],audioTracks:[],url:d,stats:t,networkDetails:r,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null})}t.parsing.end=performance.now(),i.levelDetails=c,this.handlePlaylistLoaded(c,e,t,i,r,a)}handleManifestParsingError(e,t,i,r,a){this.hls.trigger(tG.ERROR,{type:t$.NETWORK_ERROR,details:tH.MANIFEST_PARSING_ERROR,fatal:t.type===tK,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:r,stats:a})}handleNetworkError(e,t,i=!1,r,a){let s=`A network ${i?"timeout":"error"+(r?" (status "+r.code+")":"")} occurred while loading ${e.type}`;e.type===tW?s+=`: ${e.level} id: ${e.id}`:(e.type===tV||e.type===tq)&&(s+=` id: ${e.id} group-id: "${e.groupId}"`);let n=Error(s);this.hls.logger.warn(`[playlist-loader]: ${s}`);let o=tH.UNKNOWN,l=!1,d=this.getInternalLoader(e);switch(e.type){case tK:o=i?tH.MANIFEST_LOAD_TIMEOUT:tH.MANIFEST_LOAD_ERROR,l=!0;break;case tW:o=i?tH.LEVEL_LOAD_TIMEOUT:tH.LEVEL_LOAD_ERROR,l=!1;break;case tV:o=i?tH.AUDIO_TRACK_LOAD_TIMEOUT:tH.AUDIO_TRACK_LOAD_ERROR,l=!1;break;case tq:o=i?tH.SUBTITLE_TRACK_LOAD_TIMEOUT:tH.SUBTITLE_LOAD_ERROR,l=!1}d&&this.resetInternalLoader(e.type);let h={type:t$.NETWORK_ERROR,details:o,fatal:l,url:e.url,loader:d,context:e,error:n,networkDetails:t,stats:a};r&&(h.response=t0({url:(null==t?void 0:t.url)||e.url,data:void 0},r)),this.hls.trigger(tG.ERROR,h)}handlePlaylistLoaded(e,t,i,r,a,s){let n=this.hls,{type:o,level:l,levelOrTrack:d,id:h,groupId:u,deliveryDirectives:c}=r,m=ll(t,r),f=lo(r),p="number"==typeof r.level&&f===tY?l:void 0,g=e.playlistParsingError;if(g){if(this.hls.logger.warn(`${g} ${e.url}`),!n.config.ignorePlaylistParsingErrors)return void n.trigger(tG.ERROR,{type:t$.NETWORK_ERROR,details:tH.LEVEL_PARSING_ERROR,fatal:!1,url:m,error:g,reason:g.message,response:t,context:r,level:p,parent:f,networkDetails:a,stats:i});e.playlistParsingError=null}if(!e.fragments.length){let s=e.playlistParsingError=Error("No Segments found in Playlist");n.trigger(tG.ERROR,{type:t$.NETWORK_ERROR,details:tH.LEVEL_EMPTY_ERROR,fatal:!1,url:m,error:s,reason:s.message,response:t,context:r,level:p,parent:f,networkDetails:a,stats:i});return}switch(e.live&&s&&(s.getCacheAge&&(e.ageHeader=s.getCacheAge()||0),(!s.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),o){case tK:case tW:if(p)if(d){if(d!==n.levels[p]){let e=n.levels.indexOf(d);e>-1&&(p=e)}}else p=0;n.trigger(tG.LEVEL_LOADED,{details:e,levelInfo:d||n.levels[0],level:p||0,id:h||0,stats:i,networkDetails:a,deliveryDirectives:c,withoutMultiVariant:o===tK});break;case tV:n.trigger(tG.AUDIO_TRACK_LOADED,{details:e,track:d,id:h||0,groupId:u||"",stats:i,networkDetails:a,deliveryDirectives:c});break;case tq:n.trigger(tG.SUBTITLE_TRACK_LOADED,{details:e,track:d,id:h||0,groupId:u||"",stats:i,networkDetails:a,deliveryDirectives:c})}}}class lh{static get version(){return a4}static isMSESupported(){return lr()}static isSupported(){if(!lr())return!1;let e=t9();
29return"function"==typeof(null==e?void 0:e.isTypeSupported)&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(t=>e.isTypeSupported(iF(t,"video")))||["mp4a.40.2","fLaC"].some(t=>e.isTypeSupported(iF(t,"audio"))))}static getMediaSource(){return t9()}static get Events(){return tG}static get MetadataSchema(){return sh}static get ErrorTypes(){return t$}static get ErrorDetails(){return tH}static get DefaultConfig(){return lh.defaultConfig?lh.defaultConfig:o0}static set DefaultConfig(e){lh.defaultConfig=e}constructor(e={}){this.config=void 0,this.userConfig=void 0,this.logger=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this._emitter=new a3,this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.abrController=void 0,this.bufferController=void 0,this.capLevelController=void 0,this.latencyController=void 0,this.levelController=void 0,this.streamController=void 0,this.audioStreamController=void 0,this.subtititleStreamController=void 0,this.audioTrackController=void 0,this.subtitleTrackController=void 0,this.interstitialsController=void 0,this.gapController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this._url=null,this._sessionId=void 0,this.triggeringException=void 0,this.started=!1;const t=this.logger=function(e,t,i){let r=t4();if("object"==typeof console&&!0===e||"object"==typeof e){let a=["debug","log","info","warn","error"];a.forEach(t=>{r[t]=t5(t,e,i)});try{r.log(`Debug logs enabled for "${t}" in hls.js version 1.6.16`)}catch(e){return t4()}a.forEach(t=>{t8[t]=t5(t,e)})}else tZ(t8,r);return r}(e.debug||!1,"Hls instance",e.assetPlayerId),i=this.config=function(e,t,i){if((t.liveSyncDurationCount||t.liveMaxLatencyDurationCount)&&(t.liveSyncDuration||t.liveMaxLatencyDuration))throw Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(void 0!==t.liveMaxLatencyDurationCount&&(void 0===t.liveSyncDurationCount||t.liveMaxLatencyDurationCount<=t.liveSyncDurationCount))throw Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(void 0!==t.liveMaxLatencyDuration&&(void 0===t.liveSyncDuration||t.liveMaxLatencyDuration<=t.liveSyncDuration))throw Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let r=function e(t){return t&&"object"==typeof t?Array.isArray(t)?t.map(e):Object.keys(t).reduce((i,r)=>(i[r]=e(t[r]),i),{}):t}(e),a=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return["manifest","level","frag"].forEach(e=>{let s=`${"level"===e?"playlist":e}LoadPolicy`,n=void 0===t[s],o=[];a.forEach(i=>{let a=`${e}Loading${i}`,l=t[a];if(void 0!==l&&n){o.push(a);let e=r[s].default;switch(t[s]={default:e},i){case"TimeOut":e.maxLoadTimeMs=l,e.maxTimeToFirstByteMs=l;break;case"MaxRetry":e.errorRetry.maxNumRetry=l,e.timeoutRetry.maxNumRetry=l;break;case"RetryDelay":e.errorRetry.retryDelayMs=l,e.timeoutRetry.retryDelayMs=l;break;case"MaxRetryTimeout":e.errorRetry.maxRetryDelayMs=l,e.timeoutRetry.maxRetryDelayMs=l}}}),o.length&&i.warn(`hls.js config: "${o.join('", "')}" setting(s) are deprecated, use "${s}": ${i5(t[s])}`)}),t0(t0({},r),t)}(lh.DefaultConfig,e,t);this.userConfig=e,i.progressive&&function(e,t){let i=e.loader;i!==oQ&&i!==oJ?(t.log("[config]: Custom loader detected, cannot enable progressive streaming"),e.progressive=!1):function(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0}catch(e){}return!1}()&&(e.loader=oQ,e.progressive=!0,e.enableSoftwareAES=!0,t.log("[config]: Progressive streaming enabled, using FetchLoader"))}(i,t);const{abrController:r,bufferController:a,capLevelController:s,errorController:n,fpsController:o}=i,l=new n(this),d=this.abrController=new r(this),h=new rb(this),u=i.interstitialsController,c=u?this.interstitialsController=new u(this,lh):null,m=this.bufferController=new a(this,h),f=this.capLevelController=new s(this),p=new o(this),g=new ld(this),v=i.contentSteeringController,E=v?new v(this):null,y=this.levelController=new le(this,E),b=new o6(this),T=new ls(this.config,this.logger),A=this.streamController=new la(this,h,T),S=this.gapController=new o1(this,h);f.setStreamController(A),p.setStreamController(A);const k=[g,y,A];c&&k.splice(1,0,c),E&&k.splice(1,0,E),this.networkControllers=k;const R=[d,m,S,f,p,b,h];this.audioTrackController=this.createController(i.audioTrackController,k);const L=i.audioStreamController;L&&k.push(this.audioStreamController=new L(this,h,T)),this.subtitleTrackController=this.createController(i.subtitleTrackController,k);const I=i.subtitleStreamController;I&&k.push(this.subtititleStreamController=new I(this,h,T)),this.createController(i.timelineController,R),T.emeController=this.emeController=this.createController(i.emeController,R),this.cmcdController=this.createController(i.cmcdController,R),this.latencyController=this.createController(o7,R),this.coreComponents=R,k.push(l);const w=l.onErrorOut;"function"==typeof w&&this.on(tG.ERROR,w,l),this.on(tG.MANIFEST_LOADED,g.onManifestLoaded,g)}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,r){this._emitter.off(e,t,i,r)}listeners(e){return this._emitter.listeners(e)}emit(e,t,i){return this._emitter.emit(e,t,i)}
vendor: 1,254 bytes, line 29
29trigger(e,t){if(this.config.debug)return this.emit(e,e,t);try{return this.emit(e,e,t)}catch(t){if(this.logger.error("An internal error happened while handling event "+e+'. Error message: "'+t.message+'". Here is a stacktrace:',t),!this.triggeringException){this.triggeringException=!0;let i=e===tG.ERROR;this.trigger(tG.ERROR,{type:t$.OTHER_ERROR,details:tH.INTERNAL_EXCEPTION,fatal:i,event:e,error:t}),this.triggeringException=!1}}return!1}listenerCount(e){return this._emitter.listenerCount(e)}destroy(){this.logger.log("destroy"),this.trigger(tG.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this._url=null,this.networkControllers.forEach(e=>e.destroy()),this.networkControllers.length=0,this.coreComponents.forEach(e=>e.destroy()),this.coreComponents.length=0;let e=this.config;e.xhrSetup=e.fetchSetup=void 0,this.userConfig=null}attachMedia(e){if(!e||"media"in e&&!e.media){let t=Error(`attachMedia failed: invalid argument (${e})`);this.trigger(tG.ERROR,{type:t$.OTHER_ERROR,details:tH.ATTACH_MEDIA_ERROR,fatal:!0,error:t});return}this.logger.log("attachMedia"),this._media&&(this.logger.warn("media must be detached before attaching"),this.detachMedia());let t="media"in e,i=t?e.media:e,r=t?e:{media:i};
29this._media=i,this.trigger(tG.MEDIA_ATTACHING,r)}detachMedia(){this.logger.log("detachMedia"),this.trigger(tG.MEDIA_DETACHING,{}),this._media=null}transferMedia(){this._media=null;let e=this.bufferController.transferMedia();return this.trigger(tG.MEDIA_DETACHING,{transferMedia:e}),e}loadSource(e){this.stopLoad();let t=this.media,i=this._url,r=this._url=ir.buildAbsoluteURL(self.location.href,e,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,this.logger.log(`loadSource:${r}`),t&&i&&(i!==r||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(t)),this.trigger(tG.MANIFEST_LOADING,{url:e})}get url(){return this._url}get hasEnoughToStart(){return this.streamController.hasEnoughToStart}get startPosition(){return this.streamController.startPositionValue}startLoad(e=-1,t){this.logger.log(`startLoad(${e+(t?", <skip seek to start>":"")})`),this.started=!0,this.resumeBuffering();for(let i=0;i<this.networkControllers.length&&(this.networkControllers[i].startLoad(e,t),this.started&&this.networkControllers);i++);}stopLoad(){this.logger.log("stopLoad"),this.started=!1;for(let e=0;e<this.networkControllers.length&&(this.networkControllers[e].stopLoad(),!this.started&&this.networkControllers);e++);}get loadingEnabled(){return this.started}get bufferingEnabled(){return this.streamController.bufferingEnabled}resumeBuffering(){this.bufferingEnabled||(this.logger.log("resume buffering"),this.networkControllers.forEach(e=>{e.resumeBuffering&&e.resumeBuffering()}))}pauseBuffering(){this.bufferingEnabled&&(this.logger.log("pause buffering"),this.networkControllers.forEach(e=>{e.pauseBuffering&&e.pauseBuffering()}))}get inFlightFragments(){let e={[tY]:this.streamController.inFlightFrag};return this.audioStreamController&&(e[tj]=this.audioStreamController.inFlightFrag),this.subtititleStreamController&&(e[tQ]=this.subtititleStreamController.inFlightFrag),e}swapAudioCodec(){this.logger.log("swapAudioCodec"),this.streamController.swapAudioCodec()}recoverMediaError(){this.logger.log("recoverMediaError");let e=this._media,t=null==e?void 0:e.currentTime;this.detachMedia(),e&&(this.attachMedia(e),t&&this.startLoad(t))}removeLevel(e){this.levelController.removeLevel(e)}get sessionId(){let e=this._sessionId;return e||(e=this._sessionId=function(){try{return crypto.randomUUID()}catch(e){try{let e=URL.createObjectURL(new Blob),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1)}catch(t){let e=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,t=>{let i=(e+16*Math.random())%16|0;return e=Math.floor(e/16),("x"==t?i:3&i|8).toString(16)})}}}()),e}get levels(){return this.levelController.levels||[]}get latestLevelDetails(){return this.streamController.getLevelDetails()||null}get loadLevelObj(){return this.levelController.loadLevelObj}get currentLevel(){return this.streamController.currentLevel}set currentLevel(e){this.logger.log(`set currentLevel:${e}`),this.levelController.manualLevel=e,this.streamController.immediateLevelSwitch()}get nextLevel(){return this.streamController.nextLevel}set nextLevel(e){this.logger.log(`set nextLevel:${e}`),this.levelController.manualLevel=e,this.streamController.nextLevelSwitch()}get loadLevel(){return this.levelController.level}set loadLevel(e){this.logger.log(`set loadLevel:${e}`),this.levelController.manualLevel=e}get nextLoadLevel(){return this.levelController.nextLoadLevel}set nextLoadLevel(e){this.levelController.nextLoadLevel=e}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel)}set firstLevel(e){this.logger.log(`set firstLevel:${e}`),this.levelController.firstLevel=e}get startLevel(){let e=this.levelController.startLevel;return -1===e&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:e}set startLevel(e){this.logger.log(`set startLevel:${e}`),-1!==e&&(e=Math.max(e,this.minAutoLevel)),this.levelController.startLevel=e}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize}set capLevelToPlayerSize(e){let t=!!e;t!==this.config.capLevelToPlayerSize&&(t?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=t)}get autoLevelCapping(){return this._autoLevelCapping}get bandwidthEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimate():NaN}set bandwidthEstimate(e){this.abrController.resetEstimator(e)}get abrEwmaDefaultEstimate(){let{bwEstimator:e}=this.abrController;return e?e.defaultEstimate:NaN}get ttfbEstimate(){let{bwEstimator:e}=this.abrController;return e?e.getEstimateTTFB():NaN}set autoLevelCapping(e){this._autoLevelCapping!==e&&(this.logger.log(`set autoLevelCapping:${e}`),this._autoLevelCapping=e,this.levelController.checkMaxAutoUpdated())}get maxHdcpLevel(){return this._maxHdcpLevel}set maxHdcpLevel(e){iJ.indexOf(e)>-1&&this._maxHdcpLevel!==e&&(this._maxHdcpLevel=e,this.levelController.checkMaxAutoUpdated())}get autoLevelEnabled(){return -1===this.levelController.manualLevel}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 r=0;r<i;r++)if(e[r].maxBitrate>=t)return r;return 0}get maxAutoLevel(){let e,{levels:t,autoLevelCapping:i,maxHdcpLevel:r}=this;if(e=-1===i&&null!=t&&t.length?t.length-1:i,r)for(let i=e;i--;){let e=t[i].attrs["HDCP-LEVEL"];if(e&&e<=r)return i}return e}get firstAutoLevel(){return this.abrController.firstAutoLevel}get nextAutoLevel(){return this.abrController.nextAutoLevel}set nextAutoLevel(e){this.abrController.nextAutoLevel=e}get playingDate(){return this.streamController.currentProgramDateTime}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo()}get maxBufferLength(){return this.streamController.maxBufferLength}setAudioOption(e){var t;return(null==(t=this.audioTrackController)?void 0:t.setAudioOption(e))||null}
29setSubtitleOption(e){var t;return(null==(t=this.subtitleTrackController)?void 0:t.setSubtitleOption(e))||null}get allAudioTracks(){let e=this.audioTrackController;return e?e.allAudioTracks:[]}get audioTracks(){let e=this.audioTrackController;return e?e.audioTracks:[]}get audioTrack(){let e=this.audioTrackController;return e?e.audioTrack:-1}set audioTrack(e){let t=this.audioTrackController;t&&(t.audioTrack=e)}get allSubtitleTracks(){let e=this.subtitleTrackController;return e?e.allSubtitleTracks:[]}get subtitleTracks(){let e=this.subtitleTrackController;return e?e.subtitleTracks:[]}get subtitleTrack(){let e=this.subtitleTrackController;return e?e.subtitleTrack:-1}get media(){return this._media}set subtitleTrack(e){let t=this.subtitleTrackController;t&&(t.subtitleTrack=e)}get subtitleDisplay(){let e=this.subtitleTrackController;return!!e&&e.subtitleDisplay}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}set targetLatency(e){this.latencyController.targetLatency=e}get drift(){return this.latencyController.drift}get forceStartLoad(){return this.streamController.forceStartLoad}get pathways(){return this.levelController.pathways}get pathwayPriority(){return this.levelController.pathwayPriority}set pathwayPriority(e){this.levelController.pathwayPriority=e}get bufferedToEnd(){var e;return!!(null!=(e=this.bufferController)&&e.bufferedToEnd)}get interstitialsManager(){var e;return(null==(e=this.interstitialsController)?void 0:e.interstitialsManager)||null}getMediaDecodingInfo(e,t=this.allAudioTracks){return iX(e,i9(t),navigator.mediaCapabilities)}}lh.defaultConfig=void 0;var lu={VIDEO:"video",THUMBNAIL:"thumbnail",STORYBOARD:"storyboard",DRM:"drm"},lc={NOT_AN_ERROR:0,NETWORK_OFFLINE:2000002,NETWORK_UNKNOWN_ERROR:2e6,NETWORK_NO_STATUS:2000001,NETWORK_INVALID_URL:24e5,NETWORK_NOT_FOUND:2404e3,NETWORK_NOT_READY:2412e3,NETWORK_GENERIC_SERVER_FAIL:25e5,NETWORK_TOKEN_MISSING:2403201,NETWORK_TOKEN_MALFORMED:2412202,NETWORK_TOKEN_EXPIRED:2403210,NETWORK_TOKEN_AUD_MISSING:2403221,NETWORK_TOKEN_AUD_MISMATCH:2403222,NETWORK_TOKEN_SUB_MISMATCH:2403232,ENCRYPTED_ERROR:5e6,ENCRYPTED_UNSUPPORTED_KEY_SYSTEM:5000001,ENCRYPTED_GENERATE_REQUEST_FAILED:5000002,ENCRYPTED_UPDATE_LICENSE_FAILED:5000003,ENCRYPTED_UPDATE_SERVER_CERT_FAILED:5000004,ENCRYPTED_CDM_ERROR:5000005,ENCRYPTED_OUTPUT_RESTRICTED:5000006,ENCRYPTED_MISSING_TOKEN:5000002},lm=e=>e===lu.VIDEO?"playback":e,lf=class e extends Error{constructor(t,i=e.MEDIA_ERR_CUSTOM,r,a){var s;super(t),this.name="MediaError",this.code=i,this.context=a,this.fatal=null!=r?r:i>=e.MEDIA_ERR_NETWORK&&i<=e.MEDIA_ERR_ENCRYPTED,this.message||(this.message=null!=(s=e.defaultMessages[this.code])?s:"")}};lf.MEDIA_ERR_ABORTED=1,lf.MEDIA_ERR_NETWORK=2,lf.MEDIA_ERR_DECODE=3,lf.MEDIA_ERR_SRC_NOT_SUPPORTED=4,lf.MEDIA_ERR_ENCRYPTED=5,lf.MEDIA_ERR_CUSTOM=100,lf.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 lp=(e,t)=>null!=t&&e in t,lg={ANY:"any",MUTED:"muted"},lv={ON_DEMAND:"on-demand",LIVE:"live",UNKNOWN:"unknown"},lE={MSE:"mse",NATIVE:"native"},ly={HEADER:"header",QUERY:"query",NONE:"none"},lb=Object.values(ly),lT={M3U8:"application/vnd.apple.mpegurl",MP4:"video/mp4"},l_={HLS:lT.M3U8};Object.keys(l_),[...Object.values(lT)];var lA={code:"en"},lS=(e,t,i,r,a=e)=>{a.addEventListener(t,i,r),e.addEventListener("teardown",()=>{a.removeEventListener(t,i)},{once:!0})},lk=e=>{let t=e.indexOf("?");return t<0?[e]:[e.slice(0,t),e.slice(t)]},lR=e=>{let{type:t}=e;if(t){let e=t.toUpperCase();return lp(e,l_)?l_[e]:t}return lw(e)},lL=e=>"VOD"===e?lv.ON_DEMAND:lv.LIVE,lI=e=>"EVENT"===e?1/0:"VOD"===e?NaN:0,lw=e=>{let{src:t}=e;if(!t)return"";let i="";try{i=lC(t).pathname}catch{console.error("Invalid url when trying to infer mime type",t)}let r=i.lastIndexOf(".");if(r<0)return lx(e)?lT.M3U8:"";let a=i.slice(r+1).toUpperCase();return lp(a,lT)?lT[a]:""},lD=e=>{try{return new URL(e),!1}catch{return!0}},lC=(e,t)=>{var i;if(!lD(e))return new URL(e);let r=null==(i=null==window?void 0:window.location)?void 0:i.href,a=null!=t?t:r;
29return t&&lD(t.toString())&&(a=new URL(t,r)),new URL(e,a)},lM="mux.com",lx=({src:e,customDomain:t=lM})=>{let i;try{i=new URL(`${e}`)}catch{return!1}let r="https:"===i.protocol,a=i.hostname===`stream.${t}`.toLowerCase(),s=i.pathname.split("/"),n=2===s.length,o=!(null!=s&&s[1].includes("."));return r&&a&&n&&o},lP=e=>{let t=(null!=e?e:"").split(".")[1];if(t)try{let e=t.replace(/-/g,"+").replace(/_/g,"/"),i=decodeURIComponent(atob(e).split("").map(function(e){return"%"+("00"+e.charCodeAt(0).toString(16)).slice(-2)}).join(""));return JSON.parse(i)}catch{return}};function lO(e,t=!0){var i;return new lN(t&&null!=(i=null==lA?void 0:lA[e])?i:e,t?lA.code:"en")}var lN=class{constructor(e,t=(e=>null!=(e=lA)?e:"en")()){this.message=e,this.locale=t}format(e){return this.message.replace(/\{(\w+)\}/g,(t,i)=>{var r;return null!=(r=e[i])?r:""})}toString(){return this.message}},lU=Object.values(lg),lF=e=>"boolean"==typeof e||"string"==typeof e&&lU.includes(e),lB=(e,t)=>{if(!t)return;let i=e.muted,r=()=>e.muted=i;switch(t){case lg.ANY:e.play().catch(()=>{e.muted=!0,e.play().catch(r)});break;case lg.MUTED:e.muted=!0,e.play().catch(r);break;default:e.play().catch(()=>{})}},l$=e=>"time"in e?e.time:e.startTime;function lH(e,t,i,r,a,s){let n=document.createElement("track");return n.kind=t,n.label=i,r&&(n.srclang=r),a&&(n.id=a),s&&(n.default=!0),n.track.mode=["subtitles","captions"].includes(t)?"disabled":"hidden",n.setAttribute("data-removeondestroy",""),e.append(n),n.track}function lG(e,t){let i=Array.prototype.find.call(e.querySelectorAll("track"),e=>e.track===t);null==i||i.remove()}function lK(e,t,i){var r;return null==(r=Array.from(e.querySelectorAll("track")).find(e=>e.track.label===t&&e.track.kind===i))?void 0:r.track}async function lW(e,t,i,r){let a=lK(e,i,r);return a||((a=lH(e,r,i)).mode="hidden",await new Promise(e=>setTimeout(()=>e(void 0),0))),"hidden"!==a.mode&&(a.mode="hidden"),[...t].sort((e,t)=>l$(t)-l$(e)).forEach(t=>{var i,s;let n=t.value,o=l$(t);if("endTime"in t&&null!=t.endTime)null==a||a.addCue(new VTTCue(o,t.endTime,"chapters"===r?n:JSON.stringify(null!=n?n:null)));else{let t=Array.prototype.findIndex.call(null==a?void 0:a.cues,e=>e.startTime>=o),l=null==(i=null==a?void 0:a.cues)?void 0:i[t],d=l?l.startTime:Number.isFinite(e.duration)?e.duration:Number.MAX_SAFE_INTEGER,h=null==(s=null==a?void 0:a.cues)?void 0:s[t-1];h&&(h.endTime=o),null==a||a.addCue(new VTTCue(o,d,"chapters"===r?n:JSON.stringify(null!=n?n:null)))}}),e.textTracks.dispatchEvent(new Event("change",{bubbles:!0,composed:!0})),a}var lV="cuepoints",lq=Object.freeze({label:lV});async function lY(e,t,i=lq){return lW(e,t,i.label,"metadata")}var lj=e=>({time:e.startTime,value:JSON.parse(e.text)});function lQ(e,t={label:lV}){let i=lK(e,t.label,"metadata");return null!=i&&i.cues?Array.from(i.cues,e=>lj(e)):[]}function lz(e,t={label:lV}){var i,r;let a=lK(e,t.label,"metadata");if(!(null!=(i=null==a?void 0:a.activeCues)&&i.length))return;if(1===a.activeCues.length)return lj(a.activeCues[0]);let{currentTime:s}=e;return lj(Array.prototype.find.call(null!=(r=a.activeCues)?r:[],({startTime:e,endTime:t})=>e<=s&&t>s)||a.activeCues[0])}async function lX(e,t=lq){return new Promise(i=>{lS(e,"loadstart",async()=>{let r=await lY(e,[],t);lS(e,"cuechange",()=>{let t=lz(e);if(t){let i=new CustomEvent("cuepointchange",{composed:!0,bubbles:!0,detail:t});e.dispatchEvent(i)}},{},r),i(r)})})}var lZ="chapters",lJ=Object.freeze({label:lZ}),l0=e=>({startTime:e.startTime,endTime:e.endTime,value:e.text});async function l1(e,t,i=lJ){return lW(e,t,i.label,"chapters")}function l2(e,t={label:lZ}){var i;let r=lK(e,t.label,"chapters");return null!=(i=null==r?void 0:r.cues)&&i.length?Array.from(r.cues,e=>l0(e)):[]}function l3(e,t={label:lZ}){var i,r;let a=lK(e,t.label,"chapters");if(!(null!=(i=null==a?void 0:a.activeCues)&&i.length))return;if(1===a.activeCues.length)return l0(a.activeCues[0]);let{currentTime:s}=e;return l0(Array.prototype.find.call(null!=(r=a.activeCues)?r:[],({startTime:e,endTime:t})=>e<=s&&t>s)||a.activeCues[0])}async function l4(e,t=lJ){return new Promise(i=>{lS(e,"loadstart",async()=>{let r=await l1(e,[],t);lS(e,"cuechange",()=>{let t=l3(e);
29if(t){let i=new CustomEvent("chapterchange",{composed:!0,bubbles:!0,detail:t});e.dispatchEvent(i)}},{},r),i(r)})})}function l5(e,t){if(t){let i=t.playingDate;if(null!=i)return new Date(i.getTime()-1e3*e.currentTime)}return"function"==typeof e.getStartDate?e.getStartDate():new Date(NaN)}function l8(e,t){return t&&t.playingDate?t.playingDate:new Date("function"==typeof e.getStartDate?e.getStartDate().getTime()+1e3*e.currentTime:NaN)}var l9={VIDEO:"v",THUMBNAIL:"t",STORYBOARD:"s",DRM:"d"},l6=(e,t,i,r,a=!1,s=!(e=>null==(e=globalThis.navigator)?void 0:e.onLine)())=>{var n,o,l,d;let h,u;if(s){let i=lO("Your device appears to be offline",a),r=lf.MEDIA_ERR_NETWORK,s=new lf(i,r,!1,void 0);return s.errorCategory=t,s.muxCode=lc.NETWORK_OFFLINE,s.data=e,s}let c="status"in e?e.status:e.code,m=Date.now(),f=lf.MEDIA_ERR_NETWORK;if(200===c)return;let p=lm(t),g=(h=lm(t),u=`${h}Token`,null!=(l=i.tokens)&&l[h]?null==(d=i.tokens)?void 0:d[h]:lp(u,i)?i[u]:void 0),v=t===lu.VIDEO?l9.VIDEO:t===lu.DRM?l9.DRM:void 0,[E]=lk(null!=(n=i.playbackId)?n:"");if(!c||!E)return;let y=lP(g);if(g&&!y){let i=new lf(lO("The {tokenNamePrefix}-token provided is invalid or malformed.",a).format({tokenNamePrefix:p}),f,!0,lO("Compact JWT string: {token}",a).format({token:g}));return i.errorCategory=t,i.muxCode=lc.NETWORK_TOKEN_MALFORMED,i.data=e,i}if(c>=500){let e=new lf("",f,null==r||r);return e.errorCategory=t,e.muxCode=lc.NETWORK_UNKNOWN_ERROR,e}if(403===c)if(y){if((({exp:e},t=Date.now())=>!e||1e3*e<t)(y,m)){let i={timeStyle:"medium",dateStyle:"medium"},r=new lf(lO("The videoâs secured {tokenNamePrefix}-token has expired.",a).format({tokenNamePrefix:p}),f,!0,lO("Expired at: {expiredDate}. Current time: {currentDate}.",a).format({expiredDate:new Intl.DateTimeFormat("en",i).format(null!=(o=y.exp)?o:0),currentDate:new Intl.DateTimeFormat("en",i).format(m)}));return r.errorCategory=t,r.muxCode=lc.NETWORK_TOKEN_EXPIRED,r.data=e,r}if((({sub:e},t)=>e!==t)(y,E)){let i=new lf(lO("The videoâs playback ID does not match the one encoded in the {tokenNamePrefix}-token.",a).format({tokenNamePrefix:p}),f,!0,lO("Specified playback ID: {playbackId} and the playback ID encoded in the {tokenNamePrefix}-token: {tokenPlaybackId}",a).format({tokenNamePrefix:p,playbackId:E,tokenPlaybackId:y.sub}));return i.errorCategory=t,i.muxCode=lc.NETWORK_TOKEN_SUB_MISMATCH,i.data=e,i}if((({aud:e},t)=>!e)(y,0)){let i=new lf(lO("The {tokenNamePrefix}-token is formatted with incorrect information.",a).format({tokenNamePrefix:p}),f,!0,lO("The {tokenNamePrefix}-token has no aud value. aud value should be {expectedAud}.",a).format({tokenNamePrefix:p,expectedAud:v}));return i.errorCategory=t,i.muxCode=lc.NETWORK_TOKEN_AUD_MISSING,i.data=e,i}if((({aud:e},t)=>e!==t)(y,v)){let i=new lf(lO("The {tokenNamePrefix}-token is formatted with incorrect information.",a).format({tokenNamePrefix:p}),f,!0,lO("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.",a).format({tokenNamePrefix:p,expectedAud:v,aud:y.aud}));return i.errorCategory=t,i.muxCode=lc.NETWORK_TOKEN_AUD_MISMATCH,i.data=e,i}}else{let i=new lf(lO("Authorization error trying to access this {category} URL. If this is a signed URL, you might need to provide a {tokenNamePrefix}-token.",a).format({tokenNamePrefix:p,category:t}),f,null==r||r,lO("Specified playback ID: {playbackId}",a).format({playbackId:E}));return i.errorCategory=t,i.muxCode=lc.NETWORK_TOKEN_MISSING,i.data=e,i}if(412===c){let s=new lf(lO("This playback-id may belong to a live stream that is not currently active or an asset that is not ready.",a),f,null==r||r,lO("Specified playback ID: {playbackId}",a).format({playbackId:E}));return s.errorCategory=t,s.muxCode=lc.NETWORK_NOT_READY,s.streamType=i.streamType===lv.LIVE?"live":i.streamType===lv.ON_DEMAND?"on-demand":"unknown",s.data=e,s}if(404===c){let i=new lf(lO("This URL or playback-id does not exist. You may have used an Asset ID or an ID from a different resource.",a),f,null==r||r,lO("Specified playback ID: {playbackId}",a).format({playbackId:E}));return i.errorCategory=t,i.muxCode=lc.NETWORK_NOT_FOUND,i.data=e,i}
29if(400===c){let i=new lf(lO("The URL or playback-id was invalid. You may have used an invalid value as a playback-id."),f,null==r||r,lO("Specified playback ID: {playbackId}",a).format({playbackId:E}));return i.errorCategory=t,i.muxCode=lc.NETWORK_INVALID_URL,i.data=e,i}let b=new lf("",f,null==r||r);return b.errorCategory=t,b.muxCode=lc.NETWORK_UNKNOWN_ERROR,b.data=e,b},l7=lh.DefaultConfig.capLevelController,de={"720p":921600,"1080p":2073600,"1440p":4194304,"2160p":8294400},dt=class e extends l7{constructor(e){super(e)}static setMaxAutoResolution(t,i){i?e.maxAutoResolution.set(t,i):e.maxAutoResolution.delete(t)}getMaxAutoResolution(){var t;let i=this.hls;return null!=(t=e.maxAutoResolution.get(i))?t:void 0}get levels(){var e;return null!=(e=this.hls.levels)?e:[]}getValidLevels(e){return this.levels.filter((t,i)=>this.isLevelAllowed(t)&&i<=e)}getMaxLevelCapped(e){let t=this.getValidLevels(e),i=this.getMaxAutoResolution();if(!i)return super.getMaxLevel(e);let r=de[i.toLowerCase().trim()];if(!r)return super.getMaxLevel(e);let a=t.filter(e=>e.width*e.height<=r),s=a.findIndex(e=>e.width*e.height===r);if(-1!==s){let e=a[s];return t.findIndex(t=>t===e)}if(0===a.length)return 0;let n=a[a.length-1];return t.findIndex(e=>e===n)}getMaxLevel(t){if(void 0!==this.getMaxAutoResolution())return this.getMaxLevelCapped(t);let i=super.getMaxLevel(t),r=this.getValidLevels(t);if(!r[i])return i;let a=Math.min(r[i].width,r[i].height),s=e.minMaxResolution;return a>=s?i:l7.getMaxLevelByMediaSize(r,16/9*s,s)}};dt.minMaxResolution=720,dt.maxAutoResolution=new WeakMap;var di,dr,da,ds,dn,dl,dd,dh,du,dc,dm,df,dp,dg,dv,dE,dy,db,dT,d_,dA=e=>new TextDecoder("utf-16le").decode(e).replace("skd://","").slice(1),dS="fairplay",dk=/([A-Z0-9-]+)="?(.*?)"?(?:,|$)/g,dR=async(e,t)=>{if(t===lT.MP4)return{streamType:lv.ON_DEMAND,targetLiveWindow:NaN,liveEdgeStartOffset:void 0,sessionData:void 0};if(t===lT.M3U8){let t=await fetch(e);if(!t.ok)return Promise.reject(t);let i=await t.text(),r=await ((e,t)=>{let i,r=e.split(` 30`).find((e,t,i)=>t>0&&i[t-1].startsWith("#EXT-X-STREAM-INF"));if(!r)return Promise.reject(Error("No media playlist URL found in multivariant playlist"));if(lD(r)&&!t)return Promise.reject(Error("masterPlaylistUrl is required to resolve relative media playlist URL"));try{i=lC(r,t)}catch(e){return Promise.reject(e)}return fetch(i).then(e=>200!==e.status?Promise.reject(e):e.text())})(i,t.url);return{...(e=>{let t=e.split(` 31`).filter(e=>e.startsWith("#EXT-X-SESSION-DATA"));if(!t.length)return{};let i={};for(let e of t){let t=Object.fromEntries([...e.matchAll(dk)].map(([,e,t])=>[e,t])),r=t["DATA-ID"];r&&(i[r]={...t})}return{sessionData:i}})(i),...(e=>{var t,i,r;let a=e.split(` 32`),s=null==(i=(null!=(t=a.find(e=>e.startsWith("#EXT-X-PLAYLIST-TYPE")))?t:"").split(":")[1])?void 0:i.trim(),n=lL(s),o=lI(s),l;if(n===lv.LIVE){let e=a.find(e=>e.startsWith("#EXT-X-PART-INF"));if(e)l=2*e.split(":")[1].split("=")[1];else{let e=a.find(e=>e.startsWith("#EXT-X-TARGETDURATION")),t=null==(r=null==e?void 0:e.split(":"))?void 0:r[1];l=(null!=t?t:6)*3}}return{streamType:n,targetLiveWindow:o,liveEdgeStartOffset:l}})(r)}}return console.error(`Media type ${t} is an unrecognized or unsupported type for src ${e}.`),{streamType:void 0,targetLiveWindow:void 0,liveEdgeStartOffset:void 0,sessionData:void 0}},dL=async(e,t,i=lR({src:e}))=>{var r,a,s,n;let{streamType:o,targetLiveWindow:l,liveEdgeStartOffset:d,sessionData:h}=await dR(e,i),u=null==h?void 0:h["com.apple.hls.chapters"];(null!=u&&u.URI||null!=u&&u.VALUE.toLocaleLowerCase().startsWith("http"))&&dI(null!=(r=u.URI)?r:u.VALUE,t),(null!=(a=dM.get(t))?a:{}).liveEdgeStartOffset=d,(null!=(s=dM.get(t))?s:{}).targetLiveWindow=l,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),(null!=(n=dM.get(t))?n:{}).streamType=o,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))},dI=async(e,t)=>{var i,r;try{let a=await fetch(e);if(!a.ok)throw Error(`Failed to fetch Mux metadata: ${a.status} ${a.statusText}`);let s=await a.json(),n={};if(!(null!=(i=null==s?void 0:s[0])&&i.metadata))return;for(let e of s[0].metadata)e.key&&e.value&&(n[e.key]=e.value);(null!=(r=dM.get(t))?r:{}).metadata=n;let o=new CustomEvent("muxmetadata");t.dispatchEvent(o)}catch(e){console.error(e)}},dw=null!=(dE=null==(dv=null==globalThis?void 0:globalThis.navigator)?void 0:dv.userAgent)?dE:"",dD=null!=(dT=null==(db=null==(dy=null==globalThis?void 0:globalThis.navigator)?void 0:dy.userAgentData)?void 0:db.platform)?dT:"",dC=dw.toLowerCase().includes("android")||["x11","android"].some(e=>dD.toLowerCase().includes(e)),dM=new WeakMap,dx="mux.com",dP=null==(d_=lh.isSupported)?void 0:d_.call(lh),dO=()=>{if("u">typeof window)return tO.utils.now()},dN=tO.utils.generateUUID,dU=({playbackId:e,customDomain:t=dx,maxResolution:i,minResolution:r,renditionOrder:a,programStartTime:s,programEndTime:n,assetStartTime:o,assetEndTime:l,playbackToken:d,tokens:{playback:h=d}={},extraSourceParams:u={}}={})=>
32{if(!e)return;let[c,m=""]=lk(e),f=new URL(`https://stream.${t}/${c}.m3u8${m}`);return h||f.searchParams.has("token")?(f.searchParams.forEach((e,t)=>{"token"!=t&&f.searchParams.delete(t)}),h&&f.searchParams.set("token",h)):(i&&f.searchParams.set("max_resolution",i),r&&(f.searchParams.set("min_resolution",r),i&&+i.slice(0,-1)<+r.slice(0,-1)&&console.error("minResolution must be <= maxResolution","minResolution",r,"maxResolution",i)),a&&f.searchParams.set("rendition_order",a),s&&f.searchParams.set("program_start_time",`${s}`),n&&f.searchParams.set("program_end_time",`${n}`),o&&f.searchParams.set("asset_start_time",`${o}`),l&&f.searchParams.set("asset_end_time",`${l}`),Object.entries(u).forEach(([e,t])=>{null!=t&&f.searchParams.set(e,t)})),f.toString()},dF=e=>{if(!e)return;let[t]=e.split("?");return t||void 0},dB=e=>{if(!e||!e.startsWith("https://stream."))return;let[t]=new URL(e).pathname.slice(1).split(/\.m3u8|\//);return t||void 0},d$=e=>{var t;return null==(t=dM.get(e))?void 0:t.error},dH=e=>{var t;return null==(t=dM.get(e))?void 0:t.metadata},dG=e=>{var t,i;return null!=(i=null==(t=dM.get(e))?void 0:t.streamType)?i:lv.UNKNOWN},dK=e=>{var t,i;return null!=(i=null==(t=dM.get(e))?void 0:t.targetLiveWindow)?i:NaN},dW=e=>{var t,i;return null!=(i=null==(t=dM.get(e))?void 0:t.seekable)?i:e.seekable},dV=e=>{var t;let i=null==(t=dM.get(e))?void 0:t.liveEdgeStartOffset;if("number"!=typeof i)return NaN;let r=dW(e);return r.length?r.end(r.length-1)-i:NaN},dq=e=>{var t;return null==(t=dM.get(e))?void 0:t.coreReference},dY=.034,dj=(e,t,i=dY)=>e>t||((e,t,i=dY)=>Math.abs(e-t)<=i)(e,t,i),dQ=(e,t)=>{var i,r,a;if(!t||!e.buffered.length)return;if(e.readyState>2)return!1;let s=t.currentLevel>=0?null==(r=null==(i=t.levels)?void 0:i[t.currentLevel])?void 0:r.details:null==(a=t.levels.find(e=>!!e.details))?void 0:a.details;if(!s||s.live)return;let{fragments:n}=s;if(!(null!=n&&n.length))return;if(e.currentTime<e.duration-(s.targetduration+.5))return!1;let o=n[n.length-1];if(e.currentTime<=o.start)return!1;let l=o.start+o.duration/2,d=e.buffered.start(e.buffered.length-1),h=e.buffered.end(e.buffered.length-1);return l>d&&l<h},dz=(e,t)=>e.ended||e.loop?e.ended:!!(t&&dQ(e,t))||((e,t=dY)=>e.paused&&dj(e.currentTime,e.duration,t))(e),dX=(e,t,i)=>{var r,a,s;dZ(t,i,e);let{metadata:n={}}=e,{view_session_id:o=dN()}=n,l=null!=(r=null==e?void 0:e.metadata)&&r.video_id?e.metadata.video_id:d9(e)&&null!=(s=null!=(a=dF(e.playbackId))?a:dB(e.src))?s:e.src;n.view_session_id=o,n.video_id=l,e.metadata=n,e.drmTypeCb=e=>{var i;null==(i=t.mux)||i.emit("hb",{view_drm_type:e})},e.fallbackToWebkitFairplay=async()=>{var i;let r=!t.paused,a=t.currentTime;e.useWebkitFairplay=!0;let s=e.muxDataKeepSession;e.muxDataKeepSession=!0;let n=null==(i=dM.get(t))?void 0:i.coreReference;dX(e,t,n),e.muxDataKeepSession=s,e.useWebkitFairplay=!1,r&&await t.play().then(()=>{t.currentTime=a}).catch(()=>{}),t.currentTime=a},dM.set(t,{retryCount:0});let d=d0(e,t),h=(({preload:e,src:t},i,r)=>{let a=e=>{null!=e&&["","none","metadata","auto"].includes(e)?i.setAttribute("preload",e):i.removeAttribute("preload")};if(!r)return a(e),a;let s=!1,n=!1,o=r.config.maxBufferLength,l=r.config.maxBufferSize,d=e=>{a(e);let t=null!=e?e:i.preload;n||"none"===t||("metadata"===t?(r.config.maxBufferLength=1,r.config.maxBufferSize=1):(r.config.maxBufferLength=o,r.config.maxBufferSize=l),h())},h=()=>{!s&&t&&(s=!0,r.loadSource(t))};return lS(i,"play",()=>{n=!0,r.config.maxBufferLength=o,r.config.maxBufferSize=l,h()},{once:!0}),d(e),d})(e,t,d);null!=e&&e.muxDataKeepSession&&null!=t&&t.mux&&!t.mux.deleted?d&&t.mux.addHLSJS({hlsjs:d,Hls:d?lh:void 0}):d7(e,t,d),he(e,t,d),lX(t),l4(t);let u=((e,t,i)=>{let{autoplay:r}=e,a=!1,s=!1,n=lF(r)?r:!!r,o=()=>{a||lS(t,"playing",()=>{a=!0},{once:!0})};if(o(),lS(t,"loadstart",()=>{a=!1,o(),lB(t,n)},{once:!0}),lS(t,"loadstart",()=>{i||(s=e.streamType&&e.streamType!==lv.UNKNOWN?e.streamType===lv.LIVE:!Number.isFinite(t.duration)),lB(t,n)},{once:!0}),i&&i.once(lh.Events.LEVEL_LOADED,(t,i)=>{var r;s=e.streamType&&e.streamType!==lv.UNKNOWN?e.streamType===lv.LIVE:null!=(r=i.details.live)&&r}),!n){let r=()=>{!s||Number.isFinite(e.startTime)||(null!=i&&i.liveSyncPosition?t.currentTime=i.liveSyncPosition:Number.isFinite(t.seekable.end(0))&&(t.currentTime=t.
32seekable.end(0)))};i&&lS(t,"play",()=>{"metadata"===t.preload?i.once(lh.Events.LEVEL_UPDATED,r):r()},{once:!0})}return e=>{a||lB(t,n=lF(e)?e:!!e)}})(e,t,d);((e,t,i)=>{let{minPreloadSegments:r}=e;if(null==r||r<=0||!i)return;let a=0,s=!1,n=t.playbackRate||1,o=()=>{0!==t.playbackRate&&(n=t.playbackRate,t.playbackRate=0)};t.playbackRate=0,lS(t,"ratechange",o);let l=(e,{frag:i})=>{s||"main"!==i.type||++a>=r&&(s=!0,t.removeEventListener("ratechange",o),t.playbackRate=n)};i.on(lh.Events.FRAG_BUFFERED,l),t.addEventListener("teardown",()=>{s||(s=!0,i.off(lh.Events.FRAG_BUFFERED,l),t.playbackRate=n)},{once:!0})})(e,t,d),((e,t,i)=>{let{initialEstimateSegments:r}=e;if(null==r||r<=0||!i)return;let a=0;i.on(lh.Events.FRAG_BUFFERED,(e,{frag:t})=>{"main"===t.type&&++a<r&&i.abrController.resetEstimator(i.config.abrEwmaDefaultEstimate)})})(e,0,d);let c={engine:d,setAutoplay:u,setPreload:h},m=dM.get(t);return m&&(m.coreReference=c),c},dZ=(e,t,i)=>{let r=null==t?void 0:t.engine;null!=e&&e.mux&&!e.mux.deleted&&(null!=i&&i.muxDataKeepSession?r&&e.mux.removeHLSJS():(e.mux.destroy(),delete e.mux)),r&&(r.detachMedia(),r.destroy()),e&&(e.hasAttribute("src")&&(e.removeAttribute("src"),e.load()),e.removeEventListener("error",hi),e.removeEventListener("error",ha),e.removeEventListener("durationchange",ht),dM.delete(e),e.dispatchEvent(new Event("teardown")))};function dJ(e,t){var i;let r=lR(e);if(r!==lT.M3U8)return!0;let a=!r||null==(i=t.canPlayType(r))||i,{preferPlayback:s}=e,n=s===lE.MSE,o=s===lE.NATIVE,l=dP&&(n||dC||!(/^((?!chrome|android).)*safari/i.test(dw)&&t.canPlayType("application/vnd.apple.mpegurl")));return a&&(o||!l)}var d0=(e,t)=>{let{debug:i,streamType:r,startTime:a=-1,metadata:s,preferCmcd:n,_hlsConfig:o={},maxAutoResolution:l,initialBandwidthEstimateKbps:d}=e,h=lR(e)===lT.M3U8,u=dJ(e,t);if(h&&!u&&dP){let h={backBufferLength:30,renderTextTracksNatively:!1,liveDurationInfinity:!0,capLevelOnFPSDrop:!0,...null!=d?{abrEwmaDefaultEstimate:1e3*d}:{}},u=d1(r),c=d2(e),m=[ly.QUERY,ly.HEADER].includes(n)?{useHeaders:n===ly.HEADER,sessionId:null==s?void 0:s.view_session_id,contentId:null==s?void 0:s.video_id}:void 0,f=d6(e,o),p=new lh({debug:i,startPosition:a,cmcd:m,xhrSetup:(e,t)=>{var i,r;if(n&&n!==ly.QUERY)return;let a=lC(t);if(!a.searchParams.has("CMCD"))return;let s=(null!=(r=null==(i=a.searchParams.get("CMCD"))?void 0:i.split(","))?r:[]).filter(e=>e.startsWith("sid")||e.startsWith("cid")).join(",");a.searchParams.set("CMCD",s),e.open("GET",a)},...h,...f,...u,...c,...o});return f.capLevelController===dt&&void 0!==l&&dt.setMaxAutoResolution(p,l),p.on(lh.Events.MANIFEST_PARSED,async function(e,i){var r,a;let s=null==(r=i.sessionData)?void 0:r["com.apple.hls.chapters"];(null!=s&&s.URI||null!=s&&s.VALUE.toLocaleLowerCase().startsWith("http"))&&dI(null!=(a=null==s?void 0:s.URI)?a:null==s?void 0:s.VALUE,t)}),p}},d1=e=>e===lv.LIVE?{backBufferLength:8}:{},d2=e=>{let{tokens:{drm:t}={},playbackId:i,drmTypeCb:r}=e,a=dF(i);return t&&a?{emeEnabled:!0,drmSystems:{"com.apple.fps":{licenseUrl:d5(e,"fairplay"),serverCertificateUrl:d8(e,"fairplay")},"com.widevine.alpha":{licenseUrl:d5(e,"widevine")},"com.microsoft.playready":{licenseUrl:d5(e,"playready")}},requestMediaKeySystemAccessFunc:(e,t)=>("com.widevine.alpha"===e&&(t=[...t.map(e=>{var t;let i=null==(t=e.videoCapabilities)?void 0:t.map(e=>({...e,robustness:"HW_SECURE_ALL"}));return{...e,videoCapabilities:i}}),...t]),navigator.requestMediaKeySystemAccess(e,t).then(t=>{let i=e.includes("fps")?dS:e.includes("playready")?"playready":e.includes("widevine")?"widevine":void 0;return null==r||r(i),t}))}:{}},d3=async e=>{let t=await fetch(e);return 200!==t.status?Promise.reject(t):await t.arrayBuffer()},d4=async(e,t)=>{let i=await fetch(t,{method:"POST",headers:{"Content-type":"application/octet-stream"},body:e});return 200!==i.status?Promise.reject(i):new Uint8Array(await i.arrayBuffer())},d5=({playbackId:e,tokens:{drm:t}={},customDomain:i=dx},r)=>{let a=dF(e);return`https://license.${i.toLocaleLowerCase().endsWith(dx)?i:dx}/license/${r}/${a}?token=${t}`},d8=({playbackId:e,tokens:{drm:t}={},customDomain:i=dx},r)=>{let a=dF(e);return`https://license.${i.toLocaleLowerCase().endsWith(dx)?i:dx}/appcert/${r}/${a}?token=${t}`},d9=({playbackId:e,src:t,customDomain:i})=>{if(e)return!0;
32if("string"!=typeof t)return!1;let r=new URL(t,null==window?void 0:window.location.href).hostname.toLocaleLowerCase();return r.includes(dx)||!!i&&r.includes(i.toLocaleLowerCase())},d6=(e,t)=>{let i={};return i.capLevelToPlayerSize=e.capRenditionToPlayerSize,null==i.capLevelToPlayerSize?(i.capLevelController=dt,i.capLevelToPlayerSize=!0):i.capLevelController=nn,i},d7=(e,t,i)=>{var r;let{envKey:a,disableTracking:s,muxDataSDK:n=tO,muxDataSDKOptions:o={}}=e,l=d9(e);if(!s&&(a||l)){let{playerInitTime:s,playerSoftwareName:l,playerSoftwareVersion:d,beaconCollectionDomain:h,debug:u,disableCookies:c}=e,m={...e.metadata,video_title:(null==(r=null==e?void 0:e.metadata)?void 0:r.video_title)||void 0};n.monitor(t,{debug:u,beaconCollectionDomain:h,hlsjs:i,Hls:i?lh:void 0,automaticErrorTracking:!1,errorTranslator:t=>"string"!=typeof t.player_error_code&&("function"==typeof e.errorTranslator?e.errorTranslator(t):t),disableCookies:c,...o,data:{...a?{env_key:a}:{},player_software_name:l,player_software:l,player_software_version:d,player_init_time:s,...m}})}},he=(e,t,i)=>{var r,a;let s=dJ(e,t),{src:n,customDomain:o=dx}=e,l=()=>{t.ended||e.disablePseudoEnded||!dz(t,i)||(dQ(t,i)?t.currentTime=t.buffered.end(t.buffered.length-1):t.dispatchEvent(new Event("ended")))},d,h,u=()=>{let e=dW(t),i,r;e.length>0&&(i=e.start(0),r=e.end(0)),(h!==r||d!==i)&&t.dispatchEvent(new CustomEvent("seekablechange",{composed:!0})),d=i,h=r};if(lS(t,"durationchange",u),t&&s){let i=lR(e);if("string"==typeof n){if(n.endsWith(".mp4")&&n.includes(o)){let e=dB(n);dI(new URL(`https://stream.${o}/${e}/metadata.json`).toString(),t)}let s=()=>{if(dG(t)!==lv.LIVE||Number.isFinite(t.duration))return;let e=setInterval(u,1e3);t.addEventListener("teardown",()=>{clearInterval(e)},{once:!0}),lS(t,"durationchange",()=>{Number.isFinite(t.duration)&&clearInterval(e)})},l=async()=>dL(n,t,i).then(s).catch(i=>{if(i instanceof Response){let r=l6(i,lu.VIDEO,e);if(r)return void hr(t,r)}});if("none"===t.preload){let e=()=>{l(),t.removeEventListener("loadedmetadata",i)},i=()=>{l(),t.removeEventListener("play",e)};lS(t,"play",e,{once:!0}),lS(t,"loadedmetadata",i,{once:!0})}else l();null!=(r=e.tokens)&&r.drm?((e,t)=>{let i={mediaEl:t,getAppCertificate:()=>d3(d8(e,"fairplay")).catch(t=>{if(t instanceof Response){let i=l6(t,lu.DRM,e);return console.error("mediaError",null==i?void 0:i.message,null==i?void 0:i.context),i?Promise.reject(i):Promise.reject(Error("Unexpected error in app cert request"))}return Promise.reject(t)}),getLicenseKey:t=>d4(t,d5(e,"fairplay")).catch(t=>{if(t instanceof Response){let i=l6(t,lu.DRM,e);return console.error("mediaError",null==i?void 0:i.message,null==i?void 0:i.context),i?Promise.reject(i):Promise.reject(Error("Unexpected error in license key request"))}return Promise.reject(t)}),saveAndDispatchError:hr,drmTypeCb:()=>{var t;null==(t=e.drmTypeCb)||t.call(e,dS)}};if(e.useWebkitFairplay)(({mediaEl:e,getAppCertificate:t,getLicenseKey:i,saveAndDispatchError:r,drmTypeCb:a})=>{if(!window.WebKitMediaKeys||!("onwebkitneedkey"in e)){console.error("No WebKitMediaKeys. FairPlay may not be supported");let t=new lf(lO("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),lf.MEDIA_ERR_ENCRYPTED,!0);return t.errorCategory=lu.DRM,t.muxCode=lc.ENCRYPTED_CDM_ERROR,r(e,t),()=>{}}let s=t(),n=null,o=t=>{(async()=>{try{var i,a;let r,n,o,h,u,c,m,f;e.webkitKeys||l();let p=await s;if(null===t.initData||null==p)return;let g=(i=t.initData,a=p,r=function(e){let t=new ArrayBuffer(2*e.length),i=new DataView(t);for(let t=0;t<e.length;t++)i.setUint16(2*t,e.charCodeAt(t),!0);return t}(dA(i)),n=new Uint8Array(i),o=new Uint8Array(r),h=new Uint8Array(a),u=new Uint8Array(n.byteLength+4+h.byteLength+4+o.byteLength),c=0,m=e=>{u.set(e,c),c+=e.byteLength},f=e=>{let t=new DataView(u.buffer),i=e.byteLength;t.setUint32(c,i,!0),c+=4,m(e)},m(n),f(o),f(h),u);d(g)}catch(t){console.error("Could not start encrypted playback due to exception",t),r(e,t)}})()},l=()=>{try{let t=new WebKitMediaKeys("com.apple.fps.1_0");e.webkitSetMediaKeys(t),a()}catch{let e=new lf("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser.",lf.MEDIA_ERR_ENCRYPTED,!0);throw e.errorCategory=lu.DRM,e.muxCode=lc.ENCRYPTED_UNSUPPORTED_
32KEY_SYSTEM,e}},d=t=>{let a=e.webkitKeys.createSession("application/vnd.apple.mpegurl",t),s=async t=>{try{let e=t.message,r=await i(e);a.update(r)}catch(t){console.error("Error on FairPlay session message",t),r(e,t)}},o=t=>{let i=t.target.error;if(!i)return;console.error(`Internal Webkit Key Session Error - sysCode: ${i.systemCode} code: ${i.code}`);let a=new lf(lO("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser."),lf.MEDIA_ERR_ENCRYPTED,!0);a.errorCategory=lu.DRM,a.muxCode=lc.ENCRYPTED_CDM_ERROR,r(e,a)},l=()=>{a.removeEventListener("webkitkeymessage",s),a.removeEventListener("webkitkeyerror",o),e.removeEventListener("teardown",l),"webkitCurrentPlaybackTargetIsWireless"in e&&e.removeEventListener("webkitcurrentplaybacktargetiswirelesschanged",l),n=null;try{a.close()}catch{}};"webkitCurrentPlaybackTargetIsWireless"in e&&e.addEventListener("webkitcurrentplaybacktargetiswirelesschanged",l,{once:!0}),a.addEventListener("webkitkeymessage",s),a.addEventListener("webkitkeyerror",o),e.addEventListener("teardown",l),n=l},h=()=>{e.removeEventListener("webkitneedkey",o),e.removeEventListener("teardown",h),null==n||n();try{e.webkitSetMediaKeys(null)}catch{}};return e.addEventListener("webkitneedkey",o),e.addEventListener("teardown",h,{once:!0})})(i);else{let t=(({mediaEl:e,getAppCertificate:t,getLicenseKey:i,saveAndDispatchError:r,drmTypeCb:a,fallbackToWebkitFairplay:s})=>{let n=null,o=async t=>{try{let i=t.initDataType;if("skd"!==i)return void console.error(`Received unexpected initialization data type "${i}"`);e.mediaKeys||await l(i);let r=t.initData;if(null==r)return void console.error(`Could not start encrypted playback due to missing initData in ${t.type} event`);await d(i,r)}catch(t){r(e,t);return}},l=async i=>{let s=await navigator.requestMediaKeySystemAccess("com.apple.fps",[{initDataTypes:[i],videoCapabilities:[{contentType:"application/vnd.apple.mpegurl",robustness:""}],distinctiveIdentifier:"not-allowed",persistentState:"not-allowed",sessionTypes:["temporary"]}]).then(e=>(a(),e)).catch(()=>{let t=new lf(lO("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),lf.MEDIA_ERR_ENCRYPTED,!0);t.errorCategory=lu.DRM,t.muxCode=lc.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM,r(e,t)});if(!s)return;let n=await s.createMediaKeys();try{let e=await t();await n.setServerCertificate(e).catch(()=>{let e=lO("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),t=new lf(e,lf.MEDIA_ERR_ENCRYPTED,!0);return t.errorCategory=lu.DRM,t.muxCode=lc.ENCRYPTED_UPDATE_SERVER_CERT_FAILED,Promise.reject(t)})}catch(t){r(e,t);return}await e.setMediaKeys(n)},d=async(t,a)=>{let o=e.mediaKeys.createSession(),l=async t=>{let a=t.message,s=await i(a);try{await o.update(s)}catch{let t=new lf(lO("Failed to update DRM license. This may be an issue with the player or your protected content."),lf.MEDIA_ERR_ENCRYPTED,!0);t.errorCategory=lu.DRM,t.muxCode=lc.ENCRYPTED_UPDATE_LICENSE_FAILED,r(e,t)}},d=()=>{o.keyStatuses.forEach(t=>{let i;"internal-error"===t?((i=new lf(lO("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser."),lf.MEDIA_ERR_ENCRYPTED,!0)).errorCategory=lu.DRM,i.muxCode=lc.ENCRYPTED_CDM_ERROR):("output-restricted"===t||"output-downscaled"===t)&&((i=new lf(lO("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen."),lf.MEDIA_ERR_ENCRYPTED,!1)).errorCategory=lu.DRM,i.muxCode=lc.ENCRYPTED_OUTPUT_RESTRICTED),i&&r(e,i)})};o.addEventListener("keystatuseschange",d),o.addEventListener("message",l);let h=async()=>{o.removeEventListener("keystatuseschange",d),o.removeEventListener("message",l),"webkitCurrentPlaybackTargetIsWireless"in e&&e.removeEventListener("webkitcurrentplaybacktargetiswirelesschanged",h),e.removeEventListener("teardown",h),await o.close().catch(e=>{console.warn("There was an error when closing EME session",e)}),n=null};"webkitCurrentPlaybackTargetIsWireless"in e&&e.addEventListener("webkitcurrentplaybacktargetiswirelesschanged",h,{once:!0}),e.addEventListener("teardown",h,{once:!0}),n=h,await o.generateRequest(t,a).catch(async t=>{if("NotSupportedError"===t.name&&"webkitCurrentPlaybackTargetIsWireless"in e&&e.webkitCurrentPlaybackTargetIsWireless)console.warn("Failed to generate a DRM license request. Attempting to fallback to Webkit DRM"),null==s||s();else{let e=new lf(lO("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),lf.MEDIA_ERR_ENCRYPTED,!0);return e.errorCategory=lu.DRM,e.muxCode=lc.ENCRYPTED_GENERATE_REQUEST_FAILED,console.error("Failed to generate license request",t),Promise.reject(e)}})},h=async()=>{e.removeEventListener("encrypted",o),e.removeEventListener("teardown",h),n&&await n(),await e.setMediaKeys(null).cat
32ch(()=>{})};return e.addEventListener("encrypted",o),e.addEventListener("teardown",h,{once:!0}),h})({fallbackToWebkitFairplay:async()=>{var i;await t(),null==(i=e.fallbackToWebkitFairplay)||i.call(e)},...i})}})(e,t):lS(t,"encrypted",()=>{let e=new lf(lO("Attempting to play DRM-protected content without providing a DRM token."),lf.MEDIA_ERR_ENCRYPTED,!0);e.errorCategory=lu.DRM,e.muxCode=lc.ENCRYPTED_MISSING_TOKEN,hr(t,e)},{once:!0}),t.setAttribute("src",n),e.startTime&&((null!=(a=dM.get(t))?a:{}).startTime=e.startTime,t.addEventListener("durationchange",ht,{once:!0}))}else t.removeAttribute("src");t.addEventListener("error",hi),t.addEventListener("error",ha),t.addEventListener("emptied",()=>{t.querySelectorAll("track[data-removeondestroy]").forEach(e=>{e.remove()})},{once:!0}),lS(t,"pause",l),lS(t,"seeked",l),lS(t,"play",()=>{t.ended||dj(t.currentTime,t.duration)&&(t.currentTime=t.seekable.length?t.seekable.start(0):0)})}else{let r,a;i&&n?(i.once(lh.Events.LEVEL_LOADED,(e,r)=>{((e,t,i)=>{var r,a,s,n,o,l,d,h,u;let c,m,f,p,g,{streamType:v,targetLiveWindow:E,liveEdgeStartOffset:y,lowLatency:b}=(m=lL(c=e.type),f=lI(c),g=!!(null!=(u=e.partList)&&u.length),m===lv.LIVE&&(p=g?2*e.partTarget:3*e.targetduration),{streamType:m,targetLiveWindow:f,liveEdgeStartOffset:p,lowLatency:g});if(v===lv.LIVE){b?(i.config.backBufferLength=null!=(r=i.userConfig.backBufferLength)?r:4,i.config.maxFragLookUpTolerance=null!=(a=i.userConfig.maxFragLookUpTolerance)?a:.001,i.config.abrBandWidthUpFactor=null!=(s=i.userConfig.abrBandWidthUpFactor)?s:i.config.abrBandWidthFactor):i.config.backBufferLength=null!=(n=i.userConfig.backBufferLength)?n:8;let e=Object.freeze({get length(){return t.seekable.length},start:e=>t.seekable.start(e),end(e){var r;return e>this.length||e<0||Number.isFinite(t.duration)?t.seekable.end(e):null!=(r=i.liveSyncPosition)?r:t.seekable.end(e)}});(null!=(o=dM.get(t))?o:{}).seekable=e}(null!=(l=dM.get(t))?l:{}).liveEdgeStartOffset=y,(null!=(d=dM.get(t))?d:{}).targetLiveWindow=E,t.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0})),(null!=(h=dM.get(t))?h:{}).streamType=v,t.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}))})(r.details,t,i),u(),dG(t)!==lv.LIVE||Number.isFinite(t.duration)||(i.on(lh.Events.LEVEL_UPDATED,u),lS(t,"durationchange",()=>{Number.isFinite(t.duration)&&i.off(lh.Events.LEVELS_UPDATED,u)}))}),i.on(lh.Events.ERROR,(r,a)=>{var s,n;let o=hs(a,e);if(o.muxCode===lc.NETWORK_NOT_READY){let e=null!=(s=dM.get(t))?s:{},r=null!=(n=e.retryCount)?n:0;if(r<6){let s=0===r?5e3:6e4,n=new lf(`Retrying in ${s/1e3} seconds...`,o.code,o.fatal);Object.assign(n,o),hr(t,n);let l=setTimeout(()=>{e.retryCount=r+1,"manifestLoadError"===a.details&&a.url&&i.loadSource(a.url)},s);t.addEventListener("teardown",()=>clearTimeout(l),{once:!0});return}{e.retryCount=0;let i=new lf('Try again later or <a href="#" onclick="window.location.reload(); return false;" style="color: #4a90e2;">click here to retry</a>',o.code,o.fatal);Object.assign(i,o),hr(t,i);return}}hr(t,o)}),i.on(lh.Events.MANIFEST_LOADED,()=>{let e=dM.get(t);e&&e.error&&(e.error=null,e.retryCount=0,t.dispatchEvent(new Event("emptied")),t.dispatchEvent(new Event("loadstart")))}),t.addEventListener("error",ha),lS(t,"waiting",l),function(e,t){var i;if(!("videoTracks"in e))return;let r=new WeakMap;t.on(lh.Events.MANIFEST_PARSED,function(t,i){o();let a=e.addVideoTrack("main");for(let[e,t]of(a.selected=!0,i.levels.entries())){let i=a.addRendition(t.url[0],t.width,t.height,t.videoCodec,t.bitrate);r.set(t,`${e}`),i.id=`${e}`}}),t.on(lh.Events.AUDIO_TRACKS_UPDATED,function(t,i){for(let t of(n(),i.audioTracks)){let i=t.default?"main":"alternative",r=e.addAudioTrack(i,t.name,t.lang);r.id=`${t.id}`,t.default&&(r.enabled=!0)}});let a=()=>{var i;let r=+(null==(i=[...e.audioTracks].find(e=>e.enabled))?void 0:i.id),a=t.audioTracks.map(e=>e.id);r!=t.audioTrack&&a.includes(r)&&(t.audioTrack=r)};e.audioTracks.addEventListener("change",a),t.on(lh.Events.LEVELS_UPDATED,function(t,i){var a;let s=e.videoTracks[null!=(a=e.videoTracks.selectedIndex)?a:0];if(!s)return;let n=i.levels.map(e=>r.get(e));for(let t of e.videoRenditions)t.id&&!n.includes(t.id)&&s.removeRendition(t)});let s=e=>{let i=e.target.selectedIndex;i!=t.nextLevel&&(t.nextLevel=i)};null==(i=e.videoRenditions)||i.addEventListener("change",s);let n=()=>{for(let t of e.audioTracks)e.removeAudioTrack(t)},o=()=>{(()=>{for(let t of e.videoTracks)e.removeVideoTrack(t)})(),n()};t.once(lh.Events.DESTROYING,()=>{var t,i;o(),null==(t=e.audioTracks)||t.removeEventListener("change",a),null==(i=e.videoRenditions)||i.removeEventListener("change",s)})}(e,i),i.on(lh.Events.NON_NATIVE_TEXT_TRACKS_FOUND,(e,{tracks:r})=>
32{r.forEach(e=>{var r,a;let s=null!=(r=e.subtitleTrack)?r:e.closedCaptions,n=i.subtitleTracks.findIndex(({lang:t,name:i,type:r})=>t==(null==s?void 0:s.lang)&&i===e.label&&r.toLowerCase()===e.kind),o=(null!=(a=e._id)?a:e.default)?"default":`${e.kind}${n}`;lH(t,e.kind,e.label,null==s?void 0:s.lang,o,e.default)})}),r=()=>{if(!i.subtitleTracks.length)return;let e=Array.from(t.textTracks).find(e=>e.id&&"showing"===e.mode&&["subtitles","captions"].includes(e.kind));if(!e)return;let r=i.subtitleTracks[i.subtitleTrack],a=r?r.default?"default":`${i.subtitleTracks[i.subtitleTrack].type.toLowerCase()}${i.subtitleTrack}`:void 0;if(i.subtitleTrack<0||(null==e?void 0:e.id)!==a){let t=i.subtitleTracks.findIndex(({lang:t,name:i,type:r,default:a})=>"default"===e.id&&a||t==e.language&&i===e.label&&r.toLowerCase()===e.kind);i.subtitleTrack=t}(null==e?void 0:e.id)===a&&e.cues&&Array.from(e.cues).forEach(t=>{e.addCue(t)})},t.textTracks.addEventListener("change",r),i.on(lh.Events.CUES_PARSED,(e,{track:i,cues:r})=>{let a=t.textTracks.getTrackById(i);if(!a)return;let s="disabled"===a.mode;s&&(a.mode="hidden"),r.forEach(e=>{var t;null!=(t=a.cues)&&t.getCueById(e.id)||a.addCue(e)}),s&&(a.mode="disabled")}),i.once(lh.Events.DESTROYING,()=>{t.textTracks.removeEventListener("change",r),t.querySelectorAll("track[data-removeondestroy]").forEach(e=>{e.remove()})}),a=()=>
32{Array.from(t.textTracks).forEach(e=>{var i,r;if(!["subtitles","caption"].includes(e.kind)&&("thumbnails"===e.label||"chapters"===e.kind)){if(!(null!=(i=e.cues)&&i.length)){let i="track";e.kind&&(i+=`[kind="${e.kind}"]`),e.label&&(i+=`[label="${e.label}"]`);let a=t.querySelector(i),s=null!=(r=null==a?void 0:a.getAttribute("src"))?r:"";null==a||a.removeAttribute("src"),setTimeout(()=>{null==a||a.setAttribute("src",s)},0)}"hidden"!==e.mode&&(e.mode="hidden")}})},i.once(lh.Events.MANIFEST_LOADED,a),i.once(lh.Events.MEDIA_ATTACHED,a),i.attachMedia(t)):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 ht(e){var t;let i=e.target,r=null==(t=dM.get(i))?void 0:t.startTime;if(r&&function(e,t,i){t&&i>t&&(i=t);for(let t=0;t<e.length;t++)if(e.start(t)<=i&&e.end(t)>=i)return!0;return!1}(i.seekable,i.duration,r)){let e="auto"===i.preload;e&&(i.preload="none"),i.currentTime=r,e&&(i.preload="auto")}}async function hi(e){if(!e.isTrusted)return;e.stopImmediatePropagation();let t=e.target;if(!(null!=t&&t.error))return;let{message:i,code:r}=t.error,a=new lf(i,r);if(t.src&&r===lf.MEDIA_ERR_SRC_NOT_SUPPORTED&&t.readyState===HTMLMediaElement.HAVE_NOTHING)return void setTimeout(()=>{var e;let i=null!=(e=d$(t))?e:t.error;(null==i?void 0:i.code)===lf.MEDIA_ERR_SRC_NOT_SUPPORTED&&hr(t,a)},500);if(t.src&&(r!==lf.MEDIA_ERR_DECODE||void 0!==r))try{let{status:e}=await fetch(t.src);a.data={response:{code:e}}}catch{}hr(t,a)}function hr(e,t){var i;t.fatal&&((null!=(i=dM.get(e))?i:{}).error=t,e.dispatchEvent(new CustomEvent("error",{detail:t})))}function ha(e){var t,i;if(!(e instanceof CustomEvent)||!(e.detail instanceof lf))return;let r=e.target,a=e.detail;a&&a.fatal&&((null!=(t=dM.get(r))?t:{}).error=a,null==(i=r.mux)||i.emit("error",{player_error_code:a.code,player_error_message:a.message,player_error_context:a.context}))}var hs=(e,t)=>{var i,r,a;e.fatal?console.error("getErrorFromHlsErrorData()",e):t.debug&&console.warn("getErrorFromHlsErrorData() (non-fatal)",e);let s={[lh.ErrorTypes.NETWORK_ERROR]:lf.MEDIA_ERR_NETWORK,[lh.ErrorTypes.MEDIA_ERROR]:lf.MEDIA_ERR_DECODE,[lh.ErrorTypes.KEY_SYSTEM_ERROR]:lf.MEDIA_ERR_ENCRYPTED},n,o=[lh.ErrorDetails.KEY_SYSTEM_LICENSE_REQUEST_FAILED,lh.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED].includes(e.details)?lf.MEDIA_ERR_NETWORK:s[e.type];if(o===lf.MEDIA_ERR_NETWORK&&e.response){let a=null!=(i=e.type===lh.ErrorTypes.KEY_SYSTEM_ERROR?lu.DRM:e.type===lh.ErrorTypes.NETWORK_ERROR?lu.VIDEO:void 0)?i:lu.VIDEO;n=null!=(r=l6(e.response,a,t,e.fatal))?r:new lf("",o,e.fatal)}else o===lf.MEDIA_ERR_ENCRYPTED?e.details===lh.ErrorDetails.KEY_SYSTEM_NO_CONFIGURED_LICENSE?((n=new lf(lO("Attempting to play DRM-protected content without providing a DRM token."),lf.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory=lu.DRM,n.muxCode=lc.ENCRYPTED_MISSING_TOKEN):e.details===lh.ErrorDetails.KEY_SYSTEM_NO_ACCESS?((n=new lf(lO("Cannot play DRM-protected content with current security configuration on this browser. Try playing in another browser."),lf.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory=lu.DRM,n.muxCode=lc.ENCRYPTED_UNSUPPORTED_KEY_SYSTEM):e.details===lh.ErrorDetails.KEY_SYSTEM_NO_SESSION?((n=new lf(lO("Failed to generate a DRM license request. This may be an issue with the player or your protected content."),lf.MEDIA_ERR_ENCRYPTED,!0)).errorCategory=lu.DRM,n.muxCode=lc.ENCRYPTED_GENERATE_REQUEST_FAILED):e.details===lh.ErrorDetails.KEY_SYSTEM_SESSION_UPDATE_FAILED?((n=new lf(lO("Failed to update DRM license. This may be an issue with the player or your protected content."),lf.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory=lu.DRM,n.muxCode=lc.ENCRYPTED_UPDATE_LICENSE_FAILED):e.details===lh.ErrorDetails.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED?((n=new lf(lO("Your server certificate failed when attempting to set it. This may be an issue with a no longer valid certificate."),lf.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory=lu.DRM,n.muxCode=lc.ENCRYPTED_UPDATE_SERVER_CERT_FAILED):e.details===lh.ErrorDetails.KEY_SYSTEM_STATUS_INTERNAL_ERROR?((n=new lf(lO("The DRM Content Decryption Module system had an internal failure. Try reloading the page, upading your browser, or playing in another browser."),lf.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory=lu.DRM,n.muxCode=lc.ENCRYPTED_CDM_ER
32ROR):e.details===lh.ErrorDetails.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED?((n=new lf(lO("DRM playback is being attempted in an environment that is not sufficiently secure. User may see black screen."),lf.MEDIA_ERR_ENCRYPTED,!1)).errorCategory=lu.DRM,n.muxCode=lc.ENCRYPTED_OUTPUT_RESTRICTED):((n=new lf(e.error.message,lf.MEDIA_ERR_ENCRYPTED,e.fatal)).errorCategory=lu.DRM,n.muxCode=lc.ENCRYPTED_ERROR):n=new lf("",o,e.fatal);return n.context||(n.context=`${e.url?`url: ${e.url} 33`:""}${e.response&&(e.response.code||e.response.text)?`response: ${e.response.code}, ${e.response.text} 34`:""}${e.reason?`failure reason: ${e.reason} 35`:""}${e.level?`level: ${e.level} 36`:""}${e.parent?`parent stream controller: ${e.parent} 37`:""}${e.buffer?`buffer length: ${e.buffer} 38`:""}${e.error?`error: ${e.error} 39`:""}${e.event?`event: ${e.event} 40`:""}${e.err?`error message: ${null==(a=e.err)?void 0:a.message} 41`:""}`),n.data=e,n};e.s(["CmcdTypeValues",0,lb,"MaxResolution",0,{upTo720p:"720p",upTo1080p:"1080p",upTo1440p:"1440p",upTo2160p:"2160p"},"MediaError",0,lf,"MinResolution",0,{noLessThan480p:"480p",noLessThan540p:"540p",noLessThan720p:"720p",noLessThan1080p:"1080p",noLessThan1440p:"1440p",noLessThan2160p:"2160p"},"MuxErrorCategory",0,lu,"MuxErrorCode",0,lc,"MuxJWTAud",0,l9,"PlaybackTypes",0,lE,"RenditionOrder",0,{DESCENDING:"desc"},"StreamTypes",0,lv,"addChapters",0,l1,"addCuePoints",0,lY,"addTextTrack",0,lH,"errorCategoryToTokenNameOrPrefix",0,lm,"generatePlayerInitTime",0,dO,"getActiveChapter",0,l3,"getActiveCuePoint",0,lz,"getChapters",0,l2,"getCoreReference",0,dq,"getCuePoints",0,lQ,"getCurrentPdt",0,l8,"getEnded",0,dz,"getError",0,d$,"getLiveEdgeStart",0,dV,"getMetadata",0,dH,"getSeekable",0,dW,"getStartDate",0,l5,"getStreamType",0,dG,"getTargetLiveWindow",0,dK,"i18n",0,lO,"initialize",0,dX,"parseJwt",0,lP,"removeTextTrack",0,lG,"teardown",0,dZ,"toMuxVideoURL",0,dU,"toPlaybackIdFromSrc",0,dB,"toPlaybackIdParts",0,lk],28047);let hn=["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"],ho=["autopictureinpicture","disablepictureinpicture","disableremoteplayback","autoplay","controls","controlslist","crossorigin","loop","muted","playsinline","poster","preload","src"];function hl(e){return` 42 <style> 43 :host { 44 display: inline-flex; 45 line-height: 0; 46 flex-direction: column; 47 justify-content: end; 48 } 49 50 audio { 51 width: 100%; 52 } 53 </style> 54 <slot name="media"> 55 <audio${hu(e)}></audio> 56 </slot> 57 <slot></slot> 58 `}function hd(e){return` 59 <style> 60 :host { 61 display: inline-block; 62 line-height: 0; 63 } 64 65 video { 66 max-width: 100%; 67 max-height: 100%; 68 min-width: 100%; 69 min-height: 100%; 70 object-fit: var(--media-object-fit, contain); 71 object-position: var(--media-object-position, 50% 50%); 72 } 73 74 video::-webkit-media-text-track-container { 75 transform: var(--media-webkit-text-track-transform); 76 transition: var(--media-webkit-text-track-transition); 77 } 78 </style> 79 <slot name="media"> 80 <video${hu(e)}></video> 81 </slot> 82 <slot></slot> 83 `}function hh(e,{tag:t,is:i}){let r=globalThis.document?.createElement?.(t,{is:i}),a=r?function(e){let t=[];for(let i=Object.getPrototypeOf(e);i&&i!==HTMLElement.prototype;i=Object.getPrototypeOf(i)){let e=Object.getOwnPropertyNames(i);t.push(...e)}return t}(r):[];return class s extends e{static getTemplateHTML=t.endsWith("audio")?hl:hd;static shadowRootOptions={mode:"open"};static Events=hn;static #e=!1;static get observedAttributes(){return s.#t(),[...r?.constructor?.observedAttributes??[],...ho]}static #t(){if(this.#e)return;this.#e=!0;let e=new Set(this.observedAttributes);for(let t of(e.delete("muted"),a))if(!(t in this.prototype))if("function"==typeof r[t])this.prototype[t]=function(...e){return this.#i(),(()=>{if(this.call)return this.call(t,...e);let i=this.nativeEl?.[t];return i?.apply(this.nativeEl,e)})()};else{let i={get(){this.#i();let i=t.toLowerCase();if(e.has(i)){let e=this.getAttribute(i);return null!==e&&(""===e||e)}return this.get?.(t)??this.nativeEl?.[t]}};t!==t.toUpperCase()&&(i.set=function(i){this.#i();let r=t.toLowerCase();e.has(r)?!0===i||!1===i||null==i?this.toggleAttribute(r,!!i):this.setAttribute(r,i):this.set?this.set(t,i):this.nativeEl&&(this.nativeEl[t]=i)}),Object.defineProperty(this.prototype,t,i)}}#r=!1;#a=null;#s=new Map;#n;#o;get;set;call;get nativeEl(){return this.#i(),this.#a??this.querySelector(":scope > [slot=media]")??this.querySelector(t)??this.shadowRoot?.querySelector(t)??null}set nativeEl(e){this.#a=e}get defaultMuted(){return this.hasAttribute("muted")}set defaultMuted(e){this.toggleAttribute("muted",e)}get src(){return this.getAttribute("src")}set src(e){this.setAttribute("src",`${e}`)}get preload(){return this.getAttribute("preload")??this.nativeEl?.preload}set preload(e){this.setAttribute("preload",`${e}`)}#i(){this.#r||(this.#r=!0,this.init())}init(){if(!this.shadowRoot){this.attachShadow({mode:"open"});let e=function(e){let t={};for(let i of e)t[i.name]=i.value;return t}(this.attributes);i&&(e.is=i),t&&(e.part=t),this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}for(let e of(this.nativeEl.muted=this.hasAttribute("muted"),a))this.#l(e);this.#d()}#d(){for(let e of(this.#n=new MutationObserver(this.#h.bind(this)),this.#o=()=>this.#u(),this.shadowRoot?.addEventListener("slotchange",this.#o),this.#u(),this.constructor.Events))this.shadowRoot?.addEventListener(e,this,!0)}handleEvent(e){e.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(e.type,{detail:e.detail}))}#u(){let e=new Map(this.#s),t=this.shadowRoot?.querySelector("slot:not([name])");(t?.assignedElements({flatten:!0}).filter(e=>
83["track","source"].includes(e.localName))).forEach(t=>{e.delete(t);let i=this.#s.get(t);i||(i=t.cloneNode(),this.#s.set(t,i),this.#n?.observe(t,{attributes:!0})),this.nativeEl?.append(i),this.#c(i)}),e.forEach((e,t)=>{e.remove(),this.#s.delete(t)})}#h(e){for(let t of e)if("attributes"===t.type){let{target:e,attributeName:i}=t,r=this.#s.get(e);r&&i&&(r.setAttribute(i,e.getAttribute(i)??""),this.#c(r))}}#c(e){e&&"track"===e.localName&&e.default&&("chapters"===e.kind||"metadata"===e.kind)&&"disabled"===e.track.mode&&(e.track.mode="hidden")}#l(e){if(Object.prototype.hasOwnProperty.call(this,e)){let t=this[e];delete this[e],this[e]=t}}attributeChangedCallback(e,t,i){this.#i(),this.#m(e,t,i)}#m(e,t,i){["id","class"].includes(e)||!s.observedAttributes.includes(e)&&this.constructor.observedAttributes.includes(e)||(null===i?this.nativeEl?.removeAttribute(e):this.nativeEl?.getAttribute(e)!==i&&this.nativeEl?.setAttribute(e,i))}connectedCallback(){this.#i(),this.#o||this.#d()}disconnectedCallback(){for(let e of(this.#n?.disconnect(),this.#n=void 0,this.#o&&(this.shadowRoot?.removeEventListener("slotchange",this.#o),this.#o=void 0),this.constructor.Events))this.shadowRoot?.removeEventListener(e,this,!0);this.#s.forEach(e=>e.remove()),this.#s.clear(),this.#a=null}}}function hu(e){let t="";for(let i in e){if(!ho.includes(i))continue;let r=e[i];""===r?t+=` ${i}`:t+=` ${i}="${r}"`}return t}let hc=hh(globalThis.HTMLElement??class{},{tag:"video"});hh(globalThis.HTMLElement??class{},{tag:"audio"});var hm,hf,hp,hg,hv,hE,hy,hb,hT,h_,hA,hS,hk,hR,hL=e=>{throw TypeError(e)},hI=(e,t,i)=>t.has(e)||hL("Cannot "+i),hw=(e,t,i)=>(hI(e,t,"read from private field"),i?i.call(e):t.get(e)),hD=(e,t,i)=>t.has(e)?hL("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),hC=(e,t,i,r)=>(hI(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),hM=(e,t,i)=>(hI(e,t,"access private method"),i),hx=(()=>{try{return"0.31.0"}catch{}return"UNKNOWN"})(),hP=` 84<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" part="logo" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2" viewBox="0 0 1600 500"><g fill="#fff"><path d="M994.287 93.486c-17.121 0-31-13.879-31-31 0-17.121 13.879-31 31-31 17.121 0 31 13.879 31 31 0 17.121-13.879 31-31 31m0-93.486c-34.509 0-62.484 27.976-62.484 62.486v187.511c0 68.943-56.09 125.033-125.032 125.033s-125.03-56.09-125.03-125.033V62.486C681.741 27.976 653.765 0 619.256 0s-62.484 27.976-62.484 62.486v187.511C556.772 387.85 668.921 500 806.771 500c137.851 0 250.001-112.15 250.001-250.003V62.486c0-34.51-27.976-62.486-62.485-62.486M1537.51 468.511c-17.121 0-31-13.879-31-31 0-17.121 13.879-31 31-31 17.121 0 31 13.879 31 31 0 17.121-13.879 31-31 31m-275.883-218.509-143.33 143.329c-24.402 24.402-24.402 63.966 0 88.368 24.402 24.402 63.967 24.402 88.369 0l143.33-143.329 143.328 143.329c24.402 24.4 63.967 24.402 88.369 0 24.403-24.402 24.403-63.966.001-88.368l-143.33-143.329.001-.004 143.329-143.329c24.402-24.402 24.402-63.965 0-88.367s-63.967-24.402-88.369 0L1349.996 161.63 1206.667 18.302c-24.402-24.401-63.967-24.402-88.369 0s-24.402 63.965 0 88.367l143.329 143.329v.004ZM437.511 468.521c-17.121 0-31-13.879-31-31 0-17.121 13.879-31 31-31 17.121 0 31 13.879 31 31 0 17.121-13.879 31-31 31M461.426 4.759C438.078-4.913 411.2.432 393.33 18.303L249.999 161.632 106.669 18.303C88.798.432 61.922-4.913 38.573 4.759 15.224 14.43-.001 37.214-.001 62.488v375.026c0 34.51 27.977 62.486 62.487 62.486 34.51 0 62.486-27.976 62.486-62.486V213.341l80.843 80.844c24.404 24.402 63.965 24.402 88.369 0l80.843-80.844v224.173c0 34.51 27.976 62.486 62.486 62.486s62.486-27.976 62.486-62.486V62.488c0-25.274-15.224-48.058-38.573-57.729" style="fill-rule:nonzero"/></g></svg>`,hO={BEACON_COLLECTION_DOMAIN:"beacon-collection-domain",CUSTOM_DOMAIN:"custom-domain",DEBUG:"debug",DISABLE_TRACKING:"disable-tracking",DISABLE_COOKIES:"disable-cookies",DISABLE_PSEUDO_ENDED:"disable-pseudo-ended",DRM_TOKEN:"drm-token",PLAYBACK_TOKEN:"playback-token",ENV_KEY:"env-key",MAX_RESOLUTION:"max-resolution",MIN_RESOLUTION:"min-resolution",MAX_AUTO_RESOLUTION:"max-auto-resolution",RENDITION_ORDER:"rendition-order",PROGRAM_START_TIME:"program-start-time",PROGRAM_END_TIME:"program-end-time",ASSET_START_TIME:"asset-start-time",ASSET_END_TIME:"asset-end-time",METADATA_URL:"metadata-url",PLAYBACK_ID:"playback-id",PLAYER_SOFTWARE_NAME:"player-software-name",PLAYER_SOFTWARE_VERSION:"player-software-version",PLAYER_INIT_TIME:"player-init-time",PREFER_CMCD:"prefer-cmcd",PREFER_PLAYBACK:"prefer-playback",START_TIME:"start-time",STREAM_TYPE:"stream-type",TARGET_LIVE_WINDOW:"target-live-window",LIVE_EDGE_OFFSET:"live-edge-offset",TYPE:"type",LOGO:"logo",CAP_RENDITION_TO_PLAYER_SIZE:"cap-rendition-to-player-size",INITIAL_BANDWIDTH_ESTIMATE_KBPS:"initial-bandwidth-estimate-kbps",INITIAL_ESTIMATE_SEGMENTS:"initial-estimate-segments",MIN_PRELOAD_SEGMENTS:"min-preload-segments"}
84,hN=Object.values(hO),hU="mux-video",hF=class extends hc{constructor(){super(),hD(this,hA),hD(this,hm),hD(this,hf),hD(this,hp,{}),hD(this,hg,{}),hD(this,hv),hD(this,hE),hD(this,hy),hD(this,hb),hD(this,hT,""),hD(this,h_,e=>{var t;let i=dH(this.nativeEl),r=null!=(t=this.metadata)?t:{};this.metadata={...i,...r},(null==i?void 0:i["com.mux.video.branding"])==="mux-free-plan"&&(hC(this,hT,"default"),this.updateLogo())}),hD(this,hk),hC(this,hf,dO())}static get NAME(){return hU}static get VERSION(){return hx}static get observedAttributes(){var e;return[...hN,...null!=(e=hc.observedAttributes)?e:[]]}static getLogoHTML(e){return e&&"false"!==e?"default"===e?hP:`<img part="logo" src="${e}" />`:""}static getTemplateHTML(e={}){var t;return` 85 ${hc.getTemplateHTML(e)} 86 <style> 87 :host { 88 position: relative; 89 } 90 slot[name="logo"] { 91 display: flex; 92 justify-content: end; 93 position: absolute; 94 top: 1rem; 95 right: 1rem; 96 opacity: 0; 97 transition: opacity 0.25s ease-in-out; 98 z-index: 1; 99 } 100 slot[name="logo"]:has([part="logo"]) { 101 opacity: 1; 102 } 103 slot[name="logo"] [part="logo"] { 104 width: 5rem; 105 pointer-events: none; 106 user-select: none; 107 } 108 </style> 109 <slot name="logo"> 110 ${this.getLogoHTML(null!=(t=e[hO.LOGO])?t:"")} 111 </slot> 112 `}get preferCmcd(){var e;return null!=(e=this.getAttribute(hO.PREFER_CMCD))?e:void 0}set preferCmcd(e){e!==this.preferCmcd&&(e?lb.includes(e)?this.setAttribute(hO.PREFER_CMCD,e):console.warn(`Invalid value for preferCmcd. Must be one of ${lb.join()}`):this.removeAttribute(hO.PREFER_CMCD))}get playerInitTime(){return this.hasAttribute(hO.PLAYER_INIT_TIME)?+this.getAttribute(hO.PLAYER_INIT_TIME):hw(this,hf)}set playerInitTime(e){e!=this.playerInitTime&&(null==e?this.removeAttribute(hO.PLAYER_INIT_TIME):this.setAttribute(hO.PLAYER_INIT_TIME,`${+e}`))}get playerSoftwareName(){var e;return null!=(e=hw(this,hy))?e:hU}set playerSoftwareName(e){hC(this,hy,e)}get playerSoftwareVersion(){var e;return null!=(e=hw(this,hE))?e:hx}set playerSoftwareVersion(e){hC(this,hE,e)}get _hls(){var e;return null==(e=hw(this,hA,hS))?void 0:e.engine}get mux(){var e;return null==(e=this.nativeEl)?void 0:e.mux}get error(){var e;return null!=(e=d$(this.nativeEl))?e:null}get errorTranslator(){return hw(this,hb)}set errorTranslator(e){hC(this,hb,e)}get src(){return this.getAttribute("src")}set src(e){e!==this.src&&(null==e?this.removeAttribute("src"):this.setAttribute("src",e))}get type(){var e;return null!=(e=this.getAttribute(hO.TYPE))?e:void 0}set type(e){e!==this.type&&(e?this.setAttribute(hO.TYPE,e):this.removeAttribute(hO.TYPE))}get preload(){let e=this.getAttribute("preload");return""===e?"auto":["none","metadata","auto"].includes(e)?e:super.preload}set preload(e){e!=this.getAttribute("preload")&&(["","none","metadata","auto"].includes(e)?this.setAttribute("preload",e):this.removeAttribute("preload"))}get debug(){return null!=this.getAttribute(hO.DEBUG)}set debug(e){e!==this.debug&&(e?this.setAttribute(hO.DEBUG,""):this.removeAttribute(hO.DEBUG))}get disableTracking(){return this.hasAttribute(hO.DISABLE_TRACKING)}set disableTracking(e){e!==this.disableTracking&&this.toggleAttribute(hO.DISABLE_TRACKING,!!e)}get disableCookies(){return this.hasAttribute(hO.DISABLE_COOKIES)}set disableCookies(e){e!==this.disableCookies&&(e?this.setAttribute(hO.DISABLE_COOKIES,""):this.removeAttribute(hO.DISABLE_COOKIES))}get disablePseudoEnded(){return this.hasAttribute(hO.DISABLE_PSEUDO_ENDED)}set disablePseudoEnded(e){e!==this.disablePseudoEnded&&(e?this.setAttribute(hO.DISABLE_PSEUDO_ENDED,""):this.removeAttribute(hO.DISABLE_PSEUDO_ENDED))}get startTime(){let e=this.getAttribute(hO.START_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set startTime(e){e!==this.startTime&&(null==e?this.removeAttribute(hO.START_TIME):this.setAttribute(hO.START_TIME,`${e}`))}get initialBandwidthEstimateKbps(){let e=this.getAttribute(hO.INITIAL_BANDWIDTH_ESTIMATE_KBPS);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set initialBandwidthEstimateKbps(e){e!==this.initialBandwidthEstimateKbps&&(null==e?this.removeAttribute(hO.INITIAL_BANDWIDTH_ESTIMATE_KBPS):this.setAttribute(hO.INITIAL_BANDWIDTH_ESTIMATE_KBPS,`${e}`))}get initialEstimateSegments(){let e=this.getAttribute(hO.INITIAL_ESTIMATE_SEGMENTS);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set initialEstimateSegments(e){e!==this.initialEstimateSegments&&(null==e?this.removeAttribute(hO.INITIAL_ESTIMATE_SEGMENTS):this.setAttribute(hO.INITIAL_ESTIMATE_SEGMENTS,`${e}`))}get minPreloadSegments(){let e=this.getAttribute(hO.MIN_PRELOAD_SEGMENTS);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set minPreloadSegments(e){e!==this.minPreloadSegments&&(null==e?this.removeAttribute(hO.MIN_PRELOAD_SEGMENTS):this.setAttribute(hO.MIN_PRELOAD_SEGMENTS,`${e}`))}get playbackId(){var e;return this.hasAttribute(hO.PLAYBACK_ID)?this.getAttribute(hO.PLAYBACK_ID):null!=(e=dB(this.src))?e:void 0}set playbackId(e){e!==this.playbackId&&(e?this.setAttribute(hO.PLAYBACK_ID,e):this.removeAttribute(hO.PLAYBACK_ID))}get maxResolution(){var e;return null!=(e=this.getAttribute(hO.MAX_RESOLUTION))?e:void 0}set maxResolution(e){e!==this.maxResolution&&(e?this.setAttribute(hO.MAX_RESOLUTION,e):this.removeAttribute(hO.MAX_RESOLUTION))}get minResolution(){var e;return null!=(e=this.getAttribute(hO.MIN_RESOLUTION))?e:void 0}set minResolution(e){e!==this.minResolution&&(e?this.setAttribute(hO.MIN_RESOLUTION,e):this.removeAttribute(hO.MIN_RESOLUTION))}get maxAutoResolution(){var e;return null!=(e=this.getAttribute(hO.MAX_AUTO_RESOLUTION))?e:void 0}set maxAutoResolution(e){null==e?this.removeAttribute(hO.MAX_AUTO_RESOLUTION):this.setAttribute(hO.MAX_AUTO_RESOLUTION,e)}get renditionOrder(){var e;return null!=(e=this.getAttribute(hO.RENDITION_ORDER))?e:void 0}set renditionOrder(e){e!==this.renditionOrder&&(e?this.setAttribute(hO.RENDITION_ORDER,e):this.removeAttribute(hO.RENDITION_ORDER))}get programStartTime(){let e=this.getAttribute(hO.PROGRAM_START_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set programStartTime(e){null==e?this.removeAttribute(hO.PROGRAM_START_TIME):this.setAttribute(hO.PROGRAM_START_TIME,`${e}`)}get programEndTime(){let e=this.getAttribute(hO.PROGRAM_END_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set programEndTime(e){null==e?this.removeAttribute(hO.PROGRAM_END_TIME):this.setAttribute(hO.PROGRAM_END_TIME,`${e}`)}get assetStartTime(){let e=this.getAttribute(hO.ASSET_START_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set assetStartTime(e){null==e?this.removeAttribute(hO.ASSET_START_TIME):this.setAttribute(hO.ASSET_START_TIME,`${e}`)}get assetEndTime(){let e=this.getAttribute(hO.ASSET_END_TIME);if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}set assetEndTime(e){null==e?this.removeAttribute(hO.ASSET_END_TIME):this.setAttribute(hO.ASSET_END_TIME,`${e}`)}get customDomain(){var e;return null!=(e=this.getAttribute(hO.CUSTOM_DOMAIN))?e:void 0}set customDomain(e){e!==this.customDomain&&(e?this.setAttribute(hO.CUSTOM_DOMAIN,e):this.removeAttribute(hO.CUSTOM_DOMAIN))}get capRenditionToPlayerSize(){var e;return(null==(e=this._hlsConfig)?void 0:e.capLevelToPlayerSize)!=null?this._hlsConfig.capLevelToPlayerSize:hw(this,hk)}set capRenditionToPlayerSize(e){hC(this,hk,e)}get drmToken(){var e;return null!=(e=this.getAttribute(hO.DRM_TOKEN))?e:void 0}
112set drmToken(e){e!==this.drmToken&&(e?this.setAttribute(hO.DRM_TOKEN,e):this.removeAttribute(hO.DRM_TOKEN))}get playbackToken(){var e,t,i,r;if(this.hasAttribute(hO.PLAYBACK_TOKEN))return null!=(e=this.getAttribute(hO.PLAYBACK_TOKEN))?e:void 0;if(this.hasAttribute(hO.PLAYBACK_ID)){let[,e]=lk(null!=(t=this.playbackId)?t:"");return null!=(i=new URLSearchParams(e).get("token"))?i:void 0}if(this.src)return null!=(r=new URLSearchParams(this.src).get("token"))?r:void 0}set playbackToken(e){e!==this.playbackToken&&(e?this.setAttribute(hO.PLAYBACK_TOKEN,e):this.removeAttribute(hO.PLAYBACK_TOKEN))}get tokens(){let e=this.getAttribute(hO.PLAYBACK_TOKEN),t=this.getAttribute(hO.DRM_TOKEN);return{...hw(this,hg),...null!=e?{playback:e}:{},...null!=t?{drm:t}:{}}}set tokens(e){hC(this,hg,null!=e?e:{})}get ended(){return dz(this.nativeEl,this._hls)}get envKey(){var e;return null!=(e=this.getAttribute(hO.ENV_KEY))?e:void 0}set envKey(e){e!==this.envKey&&(e?this.setAttribute(hO.ENV_KEY,e):this.removeAttribute(hO.ENV_KEY))}get beaconCollectionDomain(){var e;return null!=(e=this.getAttribute(hO.BEACON_COLLECTION_DOMAIN))?e:void 0}set beaconCollectionDomain(e){e!==this.beaconCollectionDomain&&(e?this.setAttribute(hO.BEACON_COLLECTION_DOMAIN,e):this.removeAttribute(hO.BEACON_COLLECTION_DOMAIN))}get streamType(){var e;return null!=(e=this.getAttribute(hO.STREAM_TYPE))?e:dG(this.nativeEl)}set streamType(e){e!==this.streamType&&(e?this.setAttribute(hO.STREAM_TYPE,e):this.removeAttribute(hO.STREAM_TYPE))}get targetLiveWindow(){return this.hasAttribute(hO.TARGET_LIVE_WINDOW)?+this.getAttribute(hO.TARGET_LIVE_WINDOW):dK(this.nativeEl)}set targetLiveWindow(e){e!=this.targetLiveWindow&&(null==e?this.removeAttribute(hO.TARGET_LIVE_WINDOW):this.setAttribute(hO.TARGET_LIVE_WINDOW,`${+e}`))}get liveEdgeStart(){var e,t;if(this.hasAttribute(hO.LIVE_EDGE_OFFSET)){let{liveEdgeOffset:i}=this,r=null!=(e=this.nativeEl.seekable.end(0))?e:0;return Math.max(null!=(t=this.nativeEl.seekable.start(0))?t:0,r-i)}return dV(this.nativeEl)}get liveEdgeOffset(){if(this.hasAttribute(hO.LIVE_EDGE_OFFSET))return+this.getAttribute(hO.LIVE_EDGE_OFFSET)}set liveEdgeOffset(e){e!=this.liveEdgeOffset&&(null==e?this.removeAttribute(hO.LIVE_EDGE_OFFSET):this.setAttribute(hO.LIVE_EDGE_OFFSET,`${+e}`))}get seekable(){return dW(this.nativeEl)}async addCuePoints(e){return lY(this.nativeEl,e)}get activeCuePoint(){return lz(this.nativeEl)}get cuePoints(){return lQ(this.nativeEl)}async addChapters(e){return l1(this.nativeEl,e)}get activeChapter(){return l3(this.nativeEl)}get chapters(){return l2(this.nativeEl)}getStartDate(){return l5(this.nativeEl,this._hls)}get currentPdt(){return l8(this.nativeEl,this._hls)}get preferPlayback(){let e=this.getAttribute(hO.PREFER_PLAYBACK);if(e===lE.MSE||e===lE.NATIVE)return e}set preferPlayback(e){e!==this.preferPlayback&&(e===lE.MSE||e===lE.NATIVE?this.setAttribute(hO.PREFER_PLAYBACK,e):this.removeAttribute(hO.PREFER_PLAYBACK))}get metadata(){return{...this.getAttributeNames().filter(e=>e.startsWith("metadata-")&&![hO.METADATA_URL].includes(e)).reduce((e,t)=>{let i=this.getAttribute(t);return null!=i&&(e[t.replace(/^metadata-/,"").replace(/-/g,"_")]=i),e},{}),...hw(this,hp)}}set metadata(e){hC(this,hp,null!=e?e:{}),this.mux&&this.mux.emit("hb",hw(this,hp))}get _hlsConfig(){return hw(this,hv)}set _hlsConfig(e){hC(this,hv,e)}get logo(){var e;return null!=(e=this.getAttribute(hO.LOGO))?e:hw(this,hT)}set logo(e){e?this.setAttribute(hO.LOGO,e):this.removeAttribute(hO.LOGO)}load(){dX(this,this.nativeEl,hw(this,hA,hS))}unload(){dZ(this.nativeEl,hw(this,hA,hS),this)}attributeChangedCallback(e,t,i){var r,a;switch(hc.observedAttributes.includes(e)&&!["src","autoplay","preload"].includes(e)&&super.attributeChangedCallback(e,t,i),e){case hO.PLAYER_SOFTWARE_NAME:this.playerSoftwareName=null!=i?i:void 0;break;case hO.PLAYER_SOFTWARE_VERSION:this.playerSoftwareVersion=null!=i?i:void 0;break;case"src":{let e=!!t,r=!!i;!e&&r?hM(this,hA,hR).call(this):e&&!r?this.unload():e&&r&&(this.unload(),hM(this,hA,hR).call(this));break}
112case"autoplay":if(i===t)break;null==(r=hw(this,hA,hS))||r.setAutoplay(this.autoplay);break;case"preload":if(i===t)break;null==(a=hw(this,hA,hS))||a.setPreload(i);break;case hO.PLAYBACK_ID:case hO.CUSTOM_DOMAIN:case hO.MAX_RESOLUTION:case hO.MIN_RESOLUTION:case hO.RENDITION_ORDER:case hO.PROGRAM_START_TIME:case hO.PROGRAM_END_TIME:case hO.ASSET_START_TIME:case hO.ASSET_END_TIME:case hO.PLAYBACK_TOKEN:this.src=dU(this);break;case hO.DEBUG:{let e=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=e);break}case hO.METADATA_URL:i&&fetch(i).then(e=>e.json()).then(e=>this.metadata=e).catch(()=>console.error(`Unable to load or parse metadata JSON from metadata-url ${i}!`));break;case hO.STREAM_TYPE:(null==i||i!==t)&&this.dispatchEvent(new CustomEvent("streamtypechange",{composed:!0,bubbles:!0}));break;case hO.TARGET_LIVE_WINDOW:(null==i||i!==t)&&this.dispatchEvent(new CustomEvent("targetlivewindowchange",{composed:!0,bubbles:!0,detail:this.targetLiveWindow}));break;case hO.LOGO:(null==i||i!==t)&&this.updateLogo();break;case hO.DISABLE_TRACKING:if(null==i||i!==t){let e=this.currentTime,t=this.paused;this.unload(),hM(this,hA,hR).call(this).then(()=>{this.currentTime=e,t||this.play()})}break;case hO.DISABLE_COOKIES:(null==i||i!==t)&&this.disableCookies&&document.cookie.split(";").forEach(e=>{e.trim().startsWith("muxData")&&(document.cookie=e.replace(/^ +/,"").replace(/=.*/,"=;expires="+new Date().toUTCString()+";path=/"))});break;case hO.CAP_RENDITION_TO_PLAYER_SIZE:(null==i||i!==t)&&(this.capRenditionToPlayerSize=null!=i||void 0)}}updateLogo(){if(!this.shadowRoot)return;let e=this.shadowRoot.querySelector('slot[name="logo"]');e&&(e.innerHTML=this.constructor.getLogoHTML(hw(this,hT)||this.logo))}connectedCallback(){var e,t;null==(e=super.connectedCallback)||e.call(this),null==(t=this.nativeEl)||t.addEventListener("muxmetadata",hw(this,h_)),this.nativeEl&&this.src&&!hw(this,hA,hS)&&hM(this,hA,hR).call(this)}disconnectedCallback(){var e,t;null==(e=this.nativeEl)||e.removeEventListener("muxmetadata",hw(this,h_)),this.unload(),null==(t=super.disconnectedCallback)||t.call(this)}handleEvent(e){e.target===this.nativeEl&&this.dispatchEvent(new CustomEvent(e.type,{composed:!0,detail:e.detail}))}};hm=new WeakMap,hf=new WeakMap,hp=new WeakMap,hg=new WeakMap,hv=new WeakMap,hE=new WeakMap,hy=new WeakMap,hb=new WeakMap,hT=new WeakMap,h_=new WeakMap,hA=new WeakSet,hS=function(){return dq(this.nativeEl)},hk=new WeakMap,hR=async function(){hw(this,hm)||(await hC(this,hm,Promise.resolve()),hC(this,hm,null),this.load())};let hB=new WeakMap;class h$ extends Error{}class hH extends Error{}let hG=["application/x-mpegURL","application/vnd.apple.mpegurl","audio/mpegurl"];function hK(){return globalThis.cast?.framework?.CastContext.getInstance()}function hW(){return hK()?.getCurrentSession()}function hV(){return hW()?.getSessionObj().media[0]}function hq(e){return hK().setOptions({...hY(),...e})}function hY(){return{receiverApplicationId:"CC1AD845",autoJoinPolicy:"origin_scoped",androidReceiverCompatible:!1,language:"en-US",resumeSavedSession:!0}}function hj(e){if(!e)return;let t=e.match(/\.([a-zA-Z0-9]+)(?:\?.*)?$/);return t?t[1]:null}function hQ(e){let t=e.split("\n").find(e=>!e.trim().startsWith("#")&&""!==e.trim());return t?.trim()}async function hz(e){if(!e)return!1;if(/\.m3u8?(\?.*)?$/i.test(e))return!0;if(e.startsWith("blob:"))return!1;try{let t=(await fetch(e,{method:"HEAD"})).headers.get("Content-Type");return hG.some(e=>t===e)}catch(e){return console.error("Error while trying to get the Content-Type of the manifest",e),!1}}async function hX(e){if(!e||e.startsWith("blob:"))return{videoFormat:void 0,audioFormat:void 0};try{let t=await (await fetch(e)).text(),i=t,r=function(e){let t=e.split("\n"),i=[];for(let e=0;e<t.length;e++)if(t[e].trim().startsWith("#EXT-X-STREAM-INF")){let r=t[e+1]?t[e+1].trim():"";r&&!r.startsWith("#")&&i.push(r)}return i}(t);if(r.length>0){let t=new URL(r[0],e).toString();i=await (await fetch(t)).text()}let a=hQ(i),s=hj(a),n=function(e){for(let t of e.split("\n")){let e=t.trim();if(e.startsWith("#EXT-X-MEDIA")&&/TYPE=AUDIO/i.test(e)){let t=e.match(/URI="([^"]+)"/i);if(t)return t[1]}}}(t),o=s;if(n)try{let t=new URL(n,e).toString(),i=await (await fetch(t)).text(),r=hQ(i);o=hj(r)??s}catch(e){console.error("Error while trying to parse the audio rendition playlist",e)}return{videoFormat:s,audioFormat:o}}catch(e){return console.error("Error while trying to parse the manifest playlist",e),{videoFormat:void 0,audioFormat:void 0}}}let hZ=new(globalThis.WeakRef?class extends Set{add(e){super.add(new WeakRef(e))}forEach(e){super.forEach(t=>{let i=t.deref();i&&e(i)})}}:Set),hJ=new WeakSet;uT=()=>{globalThis.chrome?.cast?.isAvailable?i||(i=cast.framework,hK().addEventListener(i.CastContextEventType.CAST_STATE_CHANGED,e=>
112{hZ.forEach(t=>hB.get(t).onCastStateChanged?.(e))}),hK().addEventListener(i.CastContextEventType.SESSION_STATE_CHANGED,e=>{hZ.forEach(t=>hB.get(t).onSessionStateChanged?.(e))}),hZ.forEach(e=>hB.get(e).init?.())):console.debug("chrome.cast.isAvailable",globalThis.chrome?.cast?.isAvailable)},globalThis.chrome?.cast?.isAvailable?globalThis.cast?.framework?uT():customElements.whenDefined("google-cast-button").then(uT):globalThis.__onGCastApiAvailable=()=>{customElements.whenDefined("google-cast-button").then(uT)};let h0=0;class h1 extends EventTarget{#f;#r;#p;#g;#v="disconnected";#E=!1;#y=new Set;#b=new WeakMap;#T=()=>this.#_();constructor(e){super(),this.#f=e,hZ.add(this),hB.set(this,{init:()=>this.#i(),onCastStateChanged:()=>this.#A(),onSessionStateChanged:()=>this.#S(),getCastPlayer:()=>this.#k}),this.#i()}destroy(){this.#f?.textTracks?.removeEventListener("change",this.#T),this.#g&&this.#p?.controller&&Object.entries(this.#g).forEach(([e,t])=>{this.#p.controller.removeEventListener(e,t)}),this.#f&&hJ.delete(this.#f),this.#r=!1}get #k(){if(hJ.has(this.#f))return this.#p}get state(){return this.#v}async watchAvailability(e){if(this.#f.disableRemotePlayback)throw new h$("disableRemotePlayback attribute is present.");return this.#b.set(e,++h0),this.#y.add(e),queueMicrotask(()=>e(this.#R())),h0}async cancelWatchAvailability(e){if(this.#f.disableRemotePlayback)throw new h$("disableRemotePlayback attribute is present.");e?this.#y.delete(e):this.#y.clear()}async prompt(){if(this.#f.disableRemotePlayback)throw new h$("disableRemotePlayback attribute is present.");if(!globalThis.chrome?.cast?.isAvailable)throw new hH("The RemotePlayback API is disabled on this platform.");let e=hJ.has(this.#f);hJ.add(this.#f),hq(this.#f.castOptions),Object.entries(this.#g).forEach(([e,t])=>{this.#p.controller.addEventListener(e,t)});try{await hK().requestSession()}catch(t){if(e||hJ.delete(this.#f),"cancel"===t)return;throw Error(t)}hB.get(this.#f)?.loadOnPrompt?.()}#L(){hJ.has(this.#f)&&(Object.entries(this.#g).forEach(([e,t])=>{this.#p.controller.removeEventListener(e,t)}),hJ.delete(this.#f),this.#f.muted=this.#p.isMuted,this.#f.currentTime=this.#p.savedPlayerState.currentTime,!1===this.#p.savedPlayerState.isPau
112sed&&this.#f.play())}#R(){let e=hK()?.getCastState();return e&&"NO_DEVICES_AVAILABLE"!==e}#A(){let e=hK().getCastState();if(hJ.has(this.#f)&&"CONNECTING"===e&&(this.#v="connecting",this.dispatchEvent(new Event("connecting"))),!this.#E&&e?.includes("CONNECT"))for(let e of(this.#E=!0,this.#y))e(!0);else if(this.#E&&(!e||"NO_DEVICES_AVAILABLE"===e))for(let e of(this.#E=!1,this.#y))e(!1)}async #S(){let{SESSION_RESUMED:e}=i.SessionState;if(hK().getSessionState()===e&&this.#f.castSrc===hV()?.media.contentId){hJ.add(this.#f),Object.entries(this.#g).forEach(([e,t])=>{this.#p.controller.addEventListener(e,t)});try{var t;await (t=new chrome.cast.media.GetStatusRequest,new Promise((e,i)=>{hV().getStatus(t,e,i)}))}catch(e){console.error(e)}this.#g[i.RemotePlayerEventType.IS_PAUSED_CHANGED](),this.#g[i.RemotePlayerEventType.PLAYER_STATE_CHANGED]()}}#i(){i&&!this.#r&&(this.#r=!0,hq(this.#f.castOptions),this.#f.textTracks.addEventListener("change",this.#T),this.#A(),this.#p=new i.RemotePlayer,new i.RemotePlayerController(this.#p),this.#g={[i.RemotePlayerEventType.IS_CONNECTED_CHANGED]:({value:e})=>{!0===e?(this.#v="connected",this.dispatchEvent(new Event("connect"))):(this.#L(),this.#v="disconnected",this.dispatchEvent(new Event("disconnect")))},[i.RemotePlayerEventType.DURATION_CHANGED]:()=>{this.#f.dispatchEvent(new Event("durationchange"))},[i.RemotePlayerEventType.VOLUME_LEVEL_CHANGED]:()=>{this.#f.dispatchEvent(new Event("volumechange"))},[i.RemotePlayerEventType.IS_MUTED_CHANGED]:()=>{this.#f.dispatchEvent(new Event("volumechange"))},[i.RemotePlayerEventType.CURRENT_TIME_CHANGED]:()=>{this.#k?.isMediaLoaded&&this.#f.dispatchEvent(new Event("timeupdate"))},[i.RemotePlayerEventType.VIDEO_INFO_CHANGED]:()=>{this.#f.dispatchEvent(new Event("resize"))},[i.RemotePlayerEventType.IS_PAUSED_CHANGED]:()=>{this.#f.dispatchEvent(new Event(this.paused?"pause":"play"))},[i.RemotePlayerEventType.PLAYER_STATE_CHANGED]:()=>{this.#k?.playerState!==chrome.cast.media.PlayerState.PAUSED&&this.#f.dispatchEvent(new Event({[chrome.cast.media.PlayerState.PLAYING]:"playing",[chrome.cast.media.PlayerState.BUFFERING]:"waiting",[chrome.cast.media.PlayerState.IDLE]:"emptied"}[this.#k?.playerState]))},[i.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED]:async()=>{this.#k?.isMediaLoaded&&(await Promise.resolve(),this.#I())}})}#I(){this.#_()}async #_(){let e;if(!this.#k)return;let t=(this.#p.mediaInfo?.tracks??[]).filter(({type:e})=>e===chrome.cast.media.TrackType.TEXT),i=[...this.#f.textTracks].filter(({kind:e})=>"subtitles"===e||"captions"===e),r=t.map(({language:e,name:t,trackId:r})=>{let{mode:a}=i.find(i=>i.language===e&&i.label===t)??{};return!!a&&{mode:a,trackId:r}}).filter(Boolean),a=r.filter(({mode:e})=>"showing"!==e).map(({trackId:e})=>e),s=r.find(({mode:e})=>"showing"===e),n=hW()?.getSessionObj().media[0]?.activeTrackIds??[],o=n;if(n.length&&(o=o.filter(e=>!a.includes(e))),s?.trackId&&(o=[...o,s.trackId]),e=o=[...new Set(o)],!(n.length===e.length&&n.every(t=>e.includes(t))))try{let e=new chrome.cast.media.EditTracksInfoRequest(o);await new Promise((t,i)=>{hV().editTracksInfo(e,t,i)})}catch(e){console.error(e)}}}let h2=e=>class extends e{static observedAttributes=[...e.observedAttributes??[],"cast-src","cast-content-type","cast-stream-type","cast-receiver"];#w={paused:!1};#D=hY();#C;#M;get remote(){if(this.#M)return this.#M;if(globalThis.chrome){if(!this.isConnected)return;return this.disableRemotePlayback||function(){let e="https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1";if(globalThis.chrome?.cast||document.querySelector(`script[src="${e}"]`))return;let t=document.createElement("script");t.src=e,document.head.append(t)}(),hB.set(this,{loadOnPrompt:()=>this.#x()}),this.#M=new h1(this)}return super.remote}get #k(){return hB.get(this.#M)?.getCastPlayer?.()}disconnectedCallback(){this.#M?.destroy(),this.#M=null,hB.delete(this),super.disconnectedCallback?.()}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),"cast-receiver"===e&&i){this.#D.receiverApplicationId=i;return}if(this.#k)switch(e){case"cast-stream-type":case"cast-src":this.load()}}async #x(){this.#w.paused=super.paused,super.pause(),this.muted=super.muted;try{await this.load()}catch(e){console.error(e)}}async load(){if(!this.#k)return super.load();let e=new chrome.cast.media.MediaInfo(this.castSrc,this.castContentType);e.customData=this.castCustomData;let t=[...this.querySelectorAll("track")].filter(({kind:e,src:t})=>t&&("subtitles"===e||"captions"===e)),i=[],r=0;if(t.length&&(e.tracks=t.map(e=>{let t=++r;0===i.length&&"showing"===e.track.mode&&i.push(t);let a=new chrome.cast.media.Track(t,chrome.cast.media.TrackType.TEXT);return a.trackContentId=e.src,a.trackContentType="text/vtt",a.subtype="captions"===e.kind?chrome.cast.media.TextTrackType.CAPTIONS:chrome.cast.media.TextTrackType.SUBTITLES,a.name=e.label,a.language=e.srclang,a})),"live"===this.castStreamType?e.streamType=chrome.cast.media.StreamType.LIVE:e.streamType=chrome.cast.media.StreamType.BUFFERED,e.metadata=new chrome.cast.media.GenericMediaMetadata,e.metadata.title=this.title,e.metadata.images=[{url:this.poster}],await hz(this.castSrc)){e.contentType||(e.contentType="application/x-mpegURL");let{videoFormat:t,audioFormat:i}=await hX(this.castSrc);t?.includes("m4s")||t?.includes("mp4")||t?.includes("m4a")?(e.hlsSegmentFormat=chrome.cast.media.HlsSegmentFormat.FMP4,e.hlsVideoSegmentFormat=chrome.cast.media.HlsVideoSegmentFormat.FMP4):i?.includes("aac")?(e.hlsSegmentFormat=chrome.cast.media.HlsSegmentFormat.AAC,e.hlsVideoSegmentFormat=chrome.cast.media.HlsVideoSegmentFormat.MPEG2_TS):(t?.includes("ts")||i?.includes("ts"))&&(e.hlsSegmentFormat=chrome.cast.media.HlsSegmentFormat.TS,e.hlsVideoSegmentFormat=chrome.cast.media.HlsVideoSegmentFormat.MPEG2_TS)}let a=new chrome.cast.media.LoadRequest(e);a.currentTime=super.currentTime??0,a.autoplay=!this.#w.paused,a.activeTrackIds=i,await hW()?.loadMedia(a),this.dispatchEvent(new Event("volumechange"))}play(){if(this.#k){this.#k.isPaused&&this.#k.controller?.playOrPause();return}return super.play()}pause(){if(this.#k){this.#k.isPaused||this.#k.controller?.playOrPause();return}super.pause()}get castOptions(){return this.#D}get castReceiver(){return this.getAttribute("cast-receiver")??void 0}set castReceiver(e){this.castReceiver!=e&&this.setAttribute("cast-receiver",`${e}`)}get castSrc(){let e=this.currentSrc,t=e?.startsWith("blob:")?void 0:e;return this.getAttribute("cast-src")??this.querySelector("source")?.src??t??this.getAttribute("src")??void 0}set castSrc(e){this.castSrc!=e&&this.setAttribute("cast-src",`${e}`)}get castContentType(){return this.getAttribute("cast-content-type")??void 0}set castContentType(e){this.setAttribute("cast-content-type",`${e}`)}get castStreamType(){return this.getAttribute("cast-stream-type")??this.streamType??void 0}set castStreamType(e){this.setAttribute("cast-stream-type",`${e}`)}get castCustomData(){return this.#C}set castCustomData(e){let t=typeof e;["object","undefined"].includes(t)?this.#C=e:console.error(`castCustomData must be nullish or an object but value was of type ${t}`)}get readyState(){if(this.#k)switch(this.#k.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.#k?this.#k.isPaused:super.paused}get muted(){return this.#k?this.#k?.isMuted:super.muted}set muted(e){if(this.#k){(e&&!this.#k.isMuted||!e&&this.#k.isMuted)&&this.#k.controller?.muteOr
112Unmute();return}super.muted=e}get volume(){return this.#k?this.#k?.volumeLevel??1:super.volume}set volume(e){if(this.#k){this.#k.volumeLevel=+e,this.#k.controller?.setVolumeLevel();return}super.volume=e}get duration(){return this.#k&&this.#k?.isMediaLoaded?this.#k?.duration??NaN:super.duration}get currentTime(){return this.#k&&this.#k?.isMediaLoaded?this.#k?.currentTime??0:super.currentTime}set currentTime(e){if(this.#k){this.#k.currentTime=e,this.#k.controller?.seek();return}super.currentTime=e}};class h3 extends Event{track;constructor(e,t){super(e),this.track=t.track}}let h4=new WeakMap;function h5(e){var t,i;let r;return h4.get(e)??(t=e,i={},(r=h4.get(t))||h4.set(t,r={}),Object.assign(r,i))}function h8(e,t){let i=e.videoTracks;h5(t).media=new WeakRef(e),h5(t).renditionSet||(h5(t).renditionSet=new Set);let r=h5(i).trackSet;r.add(t);let a=r.size-1;a in h6.prototype||Object.defineProperty(h6.prototype,a,{get(){return[...h5(this).trackSet][a]}}),queueMicrotask(()=>{i.dispatchEvent(new h3("addtrack",{track:t}))})}function h9(e){let t=h5(e).media?.deref()?.videoTracks;t&&(h5(t).trackSet.delete(e),queueMicrotask(()=>{t.dispatchEvent(new h3("removetrack",{track:e}))}))}
112class h6 extends EventTarget{#P;#O;#N;constructor(){super(),h5(this).trackSet=new Set}get #U(){return h5(this).trackSet}[Symbol.iterator](){return this.#U.values()}get length(){return this.#U.size}getTrackById(e){return[...this.#U].find(t=>t.id===e)??null}get selectedIndex(){return[...this.#U].findIndex(e=>e.selected)}get onaddtrack(){return this.#P}set onaddtrack(e){this.#P&&(this.removeEventListener("addtrack",this.#P),this.#P=void 0),"function"==typeof e&&(this.#P=e,this.addEventListener("addtrack",e))}get onremovetrack(){return this.#O}set onremovetrack(e){this.#O&&(this.removeEventListener("removetrack",this.#O),this.#O=void 0),"function"==typeof e&&(this.#O=e,this.addEventListener("removetrack",e))}get onchange(){return this.#N}set onchange(e){this.#N&&(this.removeEventListener("change",this.#N),this.#N=void 0),"function"==typeof e&&(this.#N=e,this.addEventListener("change",e))}}class h7 extends Event{rendition;constructor(e,t){super(e),this.rendition=t.rendition}}function ue(e){let t=h5(e).media?.deref();return t?[...t.videoTracks].filter(e=>e.selected).flatMap(e=>[...h5(e).renditionSet]):[]}class ut extends EventTarget{#F;#B;#N;[Symbol.iterator](){return ue(this).values()}get length(){return ue(this).length}getRenditionById(e){return ue(this).find(t=>`${t.id}`==`${e}`)??null}get selectedIndex(){return ue(this).findIndex(e=>e.selected)}set selectedIndex(e){for(let[t,i]of ue(this).entries())i.selected=t===e}get onaddrendition(){return this.#F}set onaddrendition(e){this.#F&&(this.removeEventListener("addrendition",this.#F),this.#F=void 0),"function"==typeof e&&(this.#F=e,this.addEventListener("addrendition",e))}get onremoverendition(){return this.#B}set onremoverendition(e){this.#B&&(this.removeEventListener("removerendition",this.#B),this.#B=void 0),"function"==typeof e&&(this.#B=e,this.addEventListener("removerendition",e))}get onchange(){return this.#N}set onchange(e){this.#N&&(this.removeEventListener("change",this.#N),this.#N=void 0),"function"==typeof e&&(this.#N=e,this.addEventListener("change",e))}}class ui{src;id;width;height;bitrate;frameRate;codec;#$=!1;get selected(){return this.#$}set selected(e){if(this.#$!==e){var t;let i;this.#$=e,t=this,(i=h5(t).media?.deref()?.videoRenditions)&&!h5(i).changeRequested&&(h5(i).changeRequested=!0,queueMicrotask(()=>{delete h5(i).changeRequested,h5(t).track.selected&&i.dispatchEvent(new Event("change"))}))}}}class ur{id;kind;label="";language="";sourceBuffer;#$=!1;addRendition(e,t,i,r,a,s){var n;let o,l,d,h=new ui;return h.src=e,h.width=t,h.height=i,h.frameRate=s,h.bitrate=a,h.codec=r,n=this,o=h5(n).media?.deref()?.videoRenditions,h5(h).media=h5(n).media,h5(h).track=n,(l=h5(n).renditionSet).add(h),(d=l.size-1)in ut.prototype||Object.defineProperty(ut.prototype,d,{get(){return ue(this)[d]}}),queueMicrotask(()=>{o&&n.selected&&o.dispatchEvent(new h7("addrendition",{rendition:h}))}),h}removeRendition(e){let t,i;t=h5(e).media?.deref()?.videoRenditions,i=h5(e).track,h5(i).renditionSet.delete(e),queueMicrotask(()=>{let i=h5(e).track;t&&i.selected&&t.dispatchEvent(new h7("removerendition",{rendition:e}))})}get selected(){return this.#$}set selected(e){this.#$===e||(this.#$=e,!0===e&&function(e){let t=h5(e).media?.deref()?.videoTracks??[],i=!1;for(let r of t)r!==e&&(r.selected=!1,i=!0);if(i){if(h5(t).changeRequested)return;h5(t).changeRequested=!0,queueMicrotask(()=>{delete h5(t).changeRequested,t.dispatchEvent(new Event("change"))})}}(this))}}function ua(e){let t=h5(e).media?.deref();return t?[...t.audioTracks].filter(e=>e.enabled).flatMap(e=>[...h5(e).renditionSet]):[]}class us extends EventTarget{#F;#B;#N;[Symbol.iterator](){return ua(this).values()}get length(){return ua(this).length}getRenditionById(e){return ua(this).find(t=>`${t.id}`==`${e}`)??null}get selectedIndex(){return ua(this).findIndex(e=>e.selected)}set selectedIndex(e){for(let[t,i]of ua(this).entries())i.selected=t===e}get onaddrendition(){return this.#F}set onaddrendition(e){this.#F&&(this.removeEventListener("addrendition",this.#F),this.#F=void 0),"function"==typeof e&&(this.#F=e,this.addEventListener("addrendition",e))}get onremoverendition(){return this.#B}set onremoverendition(e){this.#B&&(this.removeEventListener("removerendition",this.#B),this.#B=void 0),"function"==typeof e&&(this.#B=e,this.addEventListener("removerendition",e))}get onchange(){return this.#N}set onchange(e){this.#N&&(this.removeEventListener("change",this.#N
112),this.#N=void 0),"function"==typeof e&&(this.#N=e,this.addEventListener("change",e))}}class un{src;id;bitrate;codec;#$=!1;get selected(){return this.#$}set selected(e){if(this.#$!==e){var t;let i;this.#$=e,t=this,(i=h5(t).media?.deref()?.audioRenditions)&&!h5(i).changeRequested&&(h5(i).changeRequested=!0,queueMicrotask(()=>{delete h5(i).changeRequested,h5(t).track.enabled&&i.dispatchEvent(new Event("change"))}))}}}function uo(e,t){let i=e.audioTracks;h5(t).media=new WeakRef(e),h5(t).renditionSet||(h5(t).renditionSet=new Set);let r=h5(i).trackSet;r.add(t);let a=r.size-1;a in ud.prototype||Object.defineProperty(ud.prototype,a,{get(){return[...h5(this).trackSet][a]}}),queueMicrotask(()=>{i.dispatchEvent(new h3("addtrack",{track:t}))})}function ul(e){let t=h5(e).media?.deref()?.audioTracks;t&&(h5(t).trackSet.delete(e),queueMicrotask(()=>{t.dispatchEvent(new h3("removetrack",{track:e}))}))}class ud extends EventTarget{#P;#O;#N;constructor(){super(),h5(this).trackSet=new Set}get #U(){return h5(this).trackSet}[Symbol.iterator](){return this.#U.values()}get length(){return this.#U.size}getTrackById(e){return[...this.#U].find(t=>t.id===e)??null}get onaddtrack(){return this.#P}set onaddtrack(e){this.#P&&(this.removeEventListener("addtrack",this.#P),this.#P=void 0),"function"==typeof e&&(this.#P=e,this.addEventListener("addtrack",e))}get onremovetrack(){return this.#O}set onremovetrack(e){this.#O&&(this.removeEventListener("removetrack",this.#O),this.#O=void 0),"function"==typeof e&&(this.#O=e,this.addEventListener("removetrack",e))}get onchange(){return this.#N}set onchange(e){this.#N&&(this.removeEventListener("change",this.#N),this.#N=void 0),"function"==typeof e&&(this.#N=e,this.addEventListener("change",e))}}class uh{id;kind;label="";language="";sourceBuffer;#H=!1;addRendition(e,t,i){var r;let a,s,n,o=new un;return o.src=e,o.codec=t,o.bitrate=i,r=this,a=h5(r).media?.deref()?.audioRenditions,h5(o).media=h5(r).media,h5(o).track=r,(s=h5(r).renditionSet).add(o),(n=s.size-1)in us.prototype||Object.defineProperty(us.prototype,n,{get(){return ua(this)[n]}}),queueMicrotask(()=>{a&&r.enabled&&a.dispatchEvent(new h7("addrendition",{rendition:o}))}),o}removeRendition(e){let t,i;t=h5(e).media?.deref()?.audioRenditions,i=h5(e).track,h5(i).renditionSet.delete(e),queueMicrotask(()=>{let i=h5(e).track;t&&i.enabled&&t.dispatchEvent(new h7("removerendition",{rendition:e}))})}get enabled(){return this.#H}set enabled(e){if(this.#H!==e){let t;this.#H=e,(t=h5(this).media?.deref()?.audioTracks)&&!h5(t).changeRequested&&(h5(t).changeRequested=!0,queueMicrotask(()=>{delete h5(t).changeRequested,t.dispatchEvent(new Event("change"))}))}}}let uu=uf(globalThis.HTMLMediaElement,"video"),uc=uf(globalThis.HTMLMediaElement,"audio");function um(e){if(!e?.prototype)return e;let t=uf(e,"video");(!t||`${t}`.includes("[native code]"))&&Object.defineProperty(e.prototype,"videoTracks",{get(){var e=this;let t=h5(e).videoTracks;if(!t&&(t=new h6,h5(e).videoTracks=t,uu)){let i=uu.call(e.nativeEl??e);for(let t of i)h8(e,t);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",r=>{if([...t].some(e=>e instanceof ur)){for(let e of i)h9(e);return}h8(e,r.track)}),i.addEventListener("removetrack",e=>{h9(e.track)})}return t}});let i=uf(e,"audio");(!i||`${i}`.includes("[native code]"))&&Object.defineProperty(e.prototype,"audioTracks",{get(){var e=this;let t=h5(e).audioTracks;
112if(!t&&(t=new ud,h5(e).audioTracks=t,uc)){let i=uc.call(e.nativeEl??e);for(let t of i)uo(e,t);i.addEventListener("change",()=>{t.dispatchEvent(new Event("change"))}),i.addEventListener("addtrack",r=>{if([...t].some(e=>e instanceof uh)){for(let e of i)ul(e);return}uo(e,r.track)}),i.addEventListener("removetrack",e=>{ul(e.track)})}return t}}),"addVideoTrack"in e.prototype||(e.prototype.addVideoTrack=function(e,t="",i=""){let r=new ur;return r.kind=e,r.label=t,r.language=i,h8(this,r),r}),"removeVideoTrack"in e.prototype||(e.prototype.removeVideoTrack=h9),"addAudioTrack"in e.prototype||(e.prototype.addAudioTrack=function(e,t="",i=""){let r=new uh;return r.kind=e,r.label=t,r.language=i,uo(this,r),r}),"removeAudioTrack"in e.prototype||(e.prototype.removeAudioTrack=ul),"videoRenditions"in e.prototype||Object.defineProperty(e.prototype,"videoRenditions",{get(){return r(this)}});let r=e=>{let t=h5(e).videoRenditions;return t||(h5(t=new ut).media=new WeakRef(e),h5(e).videoRenditions=t),t};"audioRenditions"in e.prototype||Object.defineProperty(e.prototype,"audioRenditions",{get(){return a(this)}});let a=e=>{let t=h5(e).audioRenditions;return t||(h5(t=new us).media=new WeakRef(e),h5(e).audioRenditions=t),t};return e}function uf(e,t){if(e?.prototype)return Object.getOwnPropertyDescriptor(e.prototype,`${t}Tracks`)?.get}var up=e=>{throw TypeError(e)},ug=(e,t,i)=>t.has(e)||up("Cannot "+i),uv=(e,t,i)=>(ug(e,t,"read from private field"),i?i.call(e):t.get(e)),uE=(e,t,i)=>t.has(e)?up("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),uy=(e,t,i,r)=>(ug(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),ub=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};"u"<typeof DocumentFragment&&(globalThis.DocumentFragment=class extends ub{});var uT,u_,uA=class extends ub{},uS=class{constructor(e,t={}){uE(this,u_),uy(this,u_,null==t?void 0:t.detail)}get detail(){return uv(this,u_)}initCustomEvent(){}};u_=new WeakMap;var uk={document:{createElement:function(e,t){return new uA}},DocumentFragment,customElements:{get(e){},define(e,t,i){},getName:e=>null,upgrade(e){},whenDefined:e=>Promise.resolve(uA)},CustomEvent:uS,EventTarget:ub,HTMLElement:uA,HTMLVideoElement:class extends ub{}},uR="u"<typeof window||void 0===globalThis.customElements,uL=uR?uk:globalThis;uR&&uk.document;var uI,uw=class extends h2(um(hF)){constructor(){super(...arguments),uE(this,uI)}get autoplay(){let e=this.getAttribute("autoplay");return null!==e&&(""===e||e)}set autoplay(e){e!==this.autoplay&&(e?this.setAttribute("autoplay","string"==typeof e?e:""):this.removeAttribute("autoplay"))}get muxCastCustomData(){return{mux:{playbackId:this.playbackId,minResolution:this.minResolution,maxResolution:this.maxResolution,renditionOrder:this.renditionOrder,customDomain:this.customDomain,tokens:{drm:this.drmToken},envKey:this.envKey,metadata:this.metadata,disableCookies:this.disableCookies,disableTracking:this.disableTracking,beaconCollectionDomain:this.beaconCollectionDomain,startTime:this.startTime,preferCmcd:this.preferCmcd}}}get castCustomData(){var e;return null!=(e=uv(this,uI))?e:this.muxCastCustomData}set castCustomData(e){uy(this,uI,e)}};uI=new WeakMap,uL.customElements.get("mux-video")||(uL.customElements.define("mux-video",uw),uL.MuxVideoElement=uw);let uD={MEDIA_PLAY_REQUEST:"mediaplayrequest",MEDIA_PAUSE_REQUEST:"mediapauserequest",MEDIA_MUTE_REQUEST:"mediamuterequest",MEDIA_UNMUTE_REQUEST:"mediaunmuterequest",MEDIA_LOOP_REQUEST:"medialooprequest",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:"mediash
112owsubtitlesrequest",MEDIA_DISABLE_SUBTITLES_REQUEST:"mediadisablesubtitlesrequest",MEDIA_TOGGLE_SUBTITLES_REQUEST:"mediatogglesubtitlesrequest",MEDIA_PLAYBACK_RATE_REQUEST:"mediaplaybackraterequest",MEDIA_RENDITION_REQUEST:"mediarenditionrequest",MEDIA_AUDIO_TRACK_REQUEST:"mediaaudiotrackrequest",MEDIA_SEEK_TO_LIVE_REQUEST:"mediaseektoliverequest",REGISTER_MEDIA_STATE_RECEIVER:"registermediastatereceiver",UNREGISTER_MEDIA_STATE_RECEIVER:"unregistermediastatereceiver"},uC={MEDIA_CHROME_ATTRIBUTES:"mediachromeattributes",MEDIA_CONTROLLER:"mediacontroller"},uM={MEDIA_AIRPLAY_UNAVAILABLE:"mediaAirplayUnavailable",MEDIA_AUDIO_TRACK_ENABLED:"mediaAudioTrackEnabled",MEDIA_AUDIO_TRACK_LIST:"mediaAudioTrackList",MEDIA_AUDIO_TRACK_UNAVAILABLE:"mediaAudioTrackUnavailable",MEDIA_BUFFERED:"mediaBuffered",MEDIA_CAST_UNAVAILABLE:"mediaCastUnavailable",MEDIA_CHAPTERS_CUES:"mediaChaptersCues",MEDIA_CURRENT_TIME:"mediaCurrentTime",MEDIA_DURATION:"mediaDuration",MEDIA_ENDED:"mediaEnded",MEDIA_ERROR:"mediaError",MEDIA_ERROR_CODE:"mediaErrorCode",MEDIA_ERROR_MESSAGE:"mediaErrorMessage",MEDIA_FULLSCREEN_UNAVAILABLE:"mediaFullscreenUnavailable",MEDIA_HAS_P
112LAYED:"mediaHasPlayed",MEDIA_HEIGHT:"mediaHeight",MEDIA_IS_AIRPLAYING:"mediaIsAirplaying",MEDIA_IS_CASTING:"mediaIsCasting",MEDIA_IS_FULLSCREEN:"mediaIsFullscreen",MEDIA_IS_PIP:"mediaIsPip",MEDIA_LOADING:"mediaLoading",MEDIA_MUTED:"mediaMuted",MEDIA_LOOP:"mediaLoop",MEDIA_PAUSED:"mediaPaused",MEDIA_PIP_UNAVAILABLE:"mediaPipUnavailable",MEDIA_PLAYBACK_RATE:"mediaPlaybackRate",MEDIA_PREVIEW_CHAPTER:"mediaPreviewChapter",MEDIA_PREVIEW_COORDS:"mediaPreviewCoords",MEDIA_PREVIEW_IMAGE:"mediaPreviewImage",MEDIA_PREVIEW_TIME:"mediaPreviewTime",MEDIA_RENDITION_LIST:"mediaRenditionList",MEDIA_RENDITION_SELECTED:"mediaRenditionSelected",MEDIA_RENDITION_UNAVAILABLE:"mediaRenditionUnavailable",MEDIA_SEEKABLE:"mediaSeekable",MEDIA_STREAM_TYPE:"mediaStreamType",MEDIA_SUBTITLES_LIST:"mediaSubtitlesList",MEDIA_SUBTITLES_SHOWING:"mediaSubtitlesShowing",MEDIA_TARGET_LIVE_WINDOW:"mediaTargetLiveWindow",MEDIA_TIME_IS_LIVE:"mediaTimeIsLive",MEDIA_VOLUME:"mediaVolume",MEDIA_VOLUME_LEVEL:"mediaVolumeLevel",MEDIA_VOLUME_UNAVAILABLE:"mediaVolumeUnavailable",MEDIA_LANG:"mediaLang",MEDIA_WIDTH:"mediaWidth"},ux=Object.entries(uM),uP=ux.reduce((e,[t,i])=>(e[t]=i.toLowerCase(),e),{}),uO=ux.reduce((e,[t,i])=>(e[t]=i.toLowerCase(),e),{USER_INACTIVE_CHANGE:"userinactivechange",BREAKPOINTS_CHANGE:"breakpointchange",BREAKPOINTS_COMPUTED:"breakpointscomputed"}),uN=Object.entries(uO).reduce((e,[t,i])=>{let r=uP[t];return r&&(e[i]=r),e},{userinactivechange:"userinactive"}),uU=Object.entries(uP).reduce((e,[t,i])=>{let r=uO[t];return r&&(e[i]=r),e},{userinactive:"userinactivechange"}),uF={SUBTITLES:"subtitles",CAPTIONS:"captions",DESCRIPTIONS:"descriptions",CHAPTERS:"chapters",METADATA:"metadata"},uB={DISABLED:"disabled",HIDDEN:"hidden",SHOWING:"showing"},u$={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"},uH={UNAVAILABLE:"unavailable",UNSUPPORTED:"unsupported"},uG={LIVE:"live",ON_DEMAND:"on-demand",UNKNOWN:"unknown"},uK={INLINE:"inline",FULLSCREEN:"fullscreen",PICTURE_IN_PICTURE:"picture-in-picture"};function uW(e){if(e){let{id:t,width:i,height:r}=e;return[t,i,r].filter(e=>null!=e).join(":")}}function uV(e){if(e){let[t,i,r]=e.split(":");return{id:t,width:+i,height:+r}}}function uq(e){if(e){let{id:t,kind:i,language:r,label:a}=e;return[t,i,r,a].filter(e=>null!=e).join(":")}}function uY(e){if(e){let[t,i,r,a]=e.split(":");return{id:t,kind:i,language:r,label:a}}}function uj(e){return"number"==typeof e&&!Number.isNaN(e)&&Number.isFinite(e)}function uQ(e){return"string"==typeof e&&!isNaN(e)&&!isNaN(parseFloat(e))}e.s(["AttributeToStateChangeEventMap",0,uU,"AvailabilityStates",0,uH,"MediaStateChangeEvents",0,uO,"MediaStateReceiverAttributes",0,uC,"MediaUIAttributes",0,uP,"MediaUIEvents",0,uD,"MediaUIProps",0,uM,"PointerTypes",0,u$,"ReadyStates",0,{HAVE_NOTHING:0,HAVE_METADATA:1,HAVE_CURRENT_DATA:2,HAVE_FUTURE_DATA:3,HAVE_ENOUGH_DATA:4},"StateChangeEventToAttributeMap",0,uN,"StreamTypes",0,uG,"TextTrackKinds",0,uF,"TextTrackModes",0,uB,"VolumeLevels",0,{HIGH:"high",MEDIUM:"medium",LOW:"low",OFF:"off"},"WebkitPresentationModes",0,uK],158487),e.i(158487);let uz=e=>new Promise(t=>setTimeout(t,e)),uX={en:{"Start airplay":"Start airplay","Stop airplay":"Stop airplay",Audio:"Audio",Captions:"Captions","Enable captions":"Enable captions","Disable captions":"Disable captions","Start casting":"Start casting","Stop casting":"Stop casting","Enter fullscreen mode":"Enter fullscreen mode","Exit fullscreen mode":"Exit fullscreen mode",Mute:"Mute",Unmute:"Unmute",Loop:"Loop","Enter picture in picture mode":"Enter picture in picture mode","Exit picture in picture mode":"Exit picture in picture mode",Play:"Play",Pause:"Pause","Playback rate":"Playback rate","Playback rate {playbackRate}":"Playback rate {playbackRate}",Quality:"Quality","Seek backward":"Seek backward","Seek forward":"Seek forward",Settings:"Settings",Auto:"Auto","audio player":"audio player","video player":"video player",volume:"volume",seek:"seek","closed captions":"closed captions","current playback rate":"current playback rate","playback time":"playback time","media loading":"media loading",settings:"settings","audio tracks":"audio tracks",quality:"quality",play:"play",pause:"pause",mute:"mute",unmute:"unmute","chapter: {chapterName}":"chapter: {chapterName}",live:"live",Off:"Off","start airplay":"start airplay","stop airplay":"stop airplay","start casting":"start casting","stop casting":"stop casting","enter fullscreen mode":"enter fullscreen mode","exit fullscreen mode":"exit fullscreen mode","enter picture in picture mode":"enter picture in picture mode","exit picture in picture mode":"exit picture in picture mode","seek to live":"seek to live","playing live":"playing live","seek back {seekOffset} seconds":"seek back {seekOffset} seconds","seek forward {seekOffset} seconds":"seek forward {seekOffset} seconds","Network Error":"Network Error","Decode Error":"Decode Error","S
112ource Not Supported":"Source Not Supported","Encryption Error":"Encryption Error","A network error caused the media download to fail.":"A network error caused the media download to fail.","A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.":"A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format.","An unsupported error occurred. The server or network failed, or your browser does not support this format.":"An unsupported error occurred. The server or network failed, or your browser does not support this format.","The media is encrypted and there are no keys to decrypt it.":"The media is encrypted and there are no keys to decrypt it.",hour:"hour",hours:"hours",minute:"minute",minutes:"minutes",second:"second",seconds:"seconds","{time} remaining":"{time} remaining","{currentTime} of {totalTime}":"{currentTime} of {totalTime}","video not loaded, unknown time.":"video not loaded, unknown time."}},uZ=(null==(vj=globalThis.navigator)?void 0:vj.language)||"en",uJ=(e,t={})=>(e=>{var t,i,r;let[a]=uZ.split("-");return(null==(t=uX[uZ])?void 0:t[e])||(null==(i=uX[a])?void 0:i[e])||(null==(r=uX.en)?void 0:r[e])||e})(e).replace(/\{(\w+)\}/g,(e,i)=>i in t?String(t[i]):`{${i}}`),u0=[{singular:"hour",plural:"hours"},{singular:"minute",plural:"minutes"},{singular:"second",plural:"seconds"}],u1=e=>{if(!uj(e))return"";let t=Math.abs(e),i=t!==e,r=new Date(0,0,0,0,0,t,0),a=[r.getHours(),r.getMinutes(),r.getSeconds()].map((e,t)=>{let i;return e&&(i=1===e?uJ(u0[t].singular):uJ(u0[t].plural),`${e} ${i}`)}).filter(e=>e).join(", ");return i?uJ("{time} remaining",{time:a}):a};function u2(e,t){let i=!1;e<0&&(i=!0,e=0-e);let r=Math.floor((e=e<0?0:e)%60),a=Math.floor(e/60%60),s=Math.floor(e/3600),n=Math.floor(t/60%60),o=Math.floor(t/3600);return(isNaN(e)||e===1/0)&&(s=a=r="0"),a=(((s=s>
1120||o>0?s+":":"")||n>=10)&&a<10?"0"+a:a)+":",(i?"-":"")+s+a+(r=r<10?"0"+r:r)}let u3=Object.freeze({length:0,start(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0}});e.s(["emptyTimeRanges",0,u3,"formatAsTimePhrase",0,u1,"formatTime",0,u2,"serializeTimeRanges",0,function(e=u3){return Array.from(e).map((t,i)=>[Number(e.start(i).toFixed(3)),Number(e.end(i).toFixed(3))].join(":")).join(" ")}],902362),e.i(902362);class u4{addEventListener(){}removeEventListener(){}dispatchEvent(){return!0}}class u5 extends u4{}class u8 extends u5{constructor(){super(...arguments),this.role=null}}let u9={createElement:function(){return new u6.HTMLElement},createElementNS:function(){return new u6.HTMLElement},addEventListener(){},removeEventListener(){},dispatchEvent:e=>!1},u6={ResizeObserver:class{observe(){}unobserve(){}disconnect(){}},document:u9,Node:u5,Element:u8,HTMLElement:class extends u8{constructor(){super(...arguments),this.innerHTML=""}get content(){return new u6.DocumentFragment}},DocumentFragment:class extends u4{},customElements:{get:function(){},define:function(){},whenDefined:function(){}},localStorage:{getItem:e=>null,setItem(e,t){},removeItem(e){}},CustomEvent:function(){},getComputedStyle:function(){},navigator:{languages:[],get userAgent(){return""}},matchMedia:e=>({matches:!1,media:e}),DOMParser:class{parseFromString(e,t){return{body:{textContent:e}}}}},u7="global"in globalThis&&(null==globalThis?void 0:globalThis.global)===globalThis||"u"<typeof window||void 0===window.customElements,ce=Object.keys(u6).every(e=>e in globalThis),ct=u7&&!ce?u6:globalThis,ci=u7&&!ce?u9:globalThis.document,cr=new WeakMap,ca=e=>{let t=cr.get(e);return t||cr.set(e,t=new Set),t},cs=new ct.ResizeObserver(e=>{for(let t of e)for(let e of ca(t.target))e(t)});function cn(e,t){ca(e).add(t),cs.observe(e)}function co(e,t){let i=ca(e);i.delete(t),i.size||cs.unobserve(e)}function cl(e){let t={};for(let i of e)t[i.name]=i.value;return t}function cd(e){var t;return null!=(t=ch(e))?t:cf(e,"media-controller")}function ch(e){var t;let{MEDIA_CONTROLLER:i}=uC,r=e.getAttribute(i);if(r)return null==(t=cg(e))?void 0:t.getElementById(r)}let cu=(e,t,i=".value")=>{let r=e.querySelector(i);r&&(r.textContent=t)},cc=(e,t)=>{let i,r;return(i=`slot[name="${t}"]`,!(r=e.shadowRoot.querySelector(i))?[]:r.children)[0]},cm=(e,t)=>!!e&&!!t&&(null!=e&&!!e.contains(t)||cm(e,t.getRootNode().host)),cf=(e,t)=>{if(!e)return null;let i=e.closest(t);return i||cf(e.getRootNode().host,t)};function cp(e=document){var t;let i=null==e?void 0:e.activeElement;return i?null!=(t=cp(i.shadowRoot))?t:i:null}function cg(e){var t;let i=null==(t=null==e?void 0:e.getRootNode)?void 0:t.call(e);return i instanceof ShadowRoot||i instanceof Document?i:null}function cv(e,{depth:t=3,checkOpacity:i=!0,checkVisibilityCSS:r=!0}={}){if(e.checkVisibility)return e.checkVisibility({checkOpacity:i,checkVisibilityCSS:r});let a=e;for(;a&&t>0;){let e=getComputedStyle(a);if(i&&"0"===e.opacity||r&&"hidden"===e.visibility||"none"===e.display)return!1;a=a.parentElement,t--}return!0}function cE(e,t){let i=function(e,t){var i,r;let a;for(a of null!=(i=e.querySelectorAll("style:not([media])"))?i:[]){let e;try{e=null==(r=a.sheet)?void 0:r.cssRules}catch{continue}for(let i of null!=e?e:[])if(t(i.selectorText))return i}}(e,e=>e===t);return i||cy(e,t)}function cy(e,t){var i,r;let a=null!=(i=e.querySelectorAll("style:not([media])"))?i:[],s=null==a?void 0:a[a.length-1];if(!(null==s?void 0:s.sheet))return console.warn("Media Chrome: No style sheet found on style tag of",e),{style:{setProperty:()=>{},removeProperty:()=>"",getPropertyValue:()=>""}};let n=null==s?void 0:s.sheet.insertRule(`${t}{}`,s.sheet.cssRules.length);return null==(r=s.sheet.cssRules)?void 0:r[n]}function cb(e,t,i=NaN){let r=e.getAttribute(t);return null!=r?+r:i}function cT(e,t,i){let r=+i;if(null==i||Number.isNaN(r)){e.hasAttribute(t)&&e.removeAttribute(t);return}cb(e,t,void 0)!==r&&e.setAttribute(t,`${r}`)}function c_(e,t){return e.hasAttribute(t)}function cA(e,t,i){if(null==i){e.hasAttribute(t)&&e.removeAttribute(t);return}c_(e,t)!=i&&e.toggleAttribute(t,i)}function cS(e,t,i=null){var r;return null!=(r=e.getAttribute(t))?r:i}function ck(e,t,i){if(null==i){e.hasAttribute(t)&&e.removeAttribute(t);return}let r=`${i}`;cS(e,t,void 0)!==r&&e.setAttribute(t,r)}var cR=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},cL=(e,t,i)=>(cR(e,t,"read from private field"),i?i.call(e):t.get(e)),cI=(e,t,i,r)=>(cR(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class cw extends ct.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,vQ,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=cl(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[uC.MEDIA_CONTROLLER,uP.MEDIA_PAUSED]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===uC.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=cL(this,vQ))?void 0:r.unassociateElement)||a.call(r,this),cI(this,vQ,null)),i&&this.isConnected&&(cI(this,vQ,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=cL(this,vQ))?void 0:n.associateElement)||o.call(n,this)))}connectedCallback(){var e,t,i,r;let a;this.tabIndex=-1,this.setAttribute("aria-hidden","true"),cI(this,vQ,(i=this,(a=i.getAttribute(uC.MEDIA_CONTROLLER))?null==(r=i.getRootNode())?void 0:r.getElementById(a):cf(i,"media-controller"))),this.getAttribute(uC.MEDIA_CONTROLLER)&&(null==(t=null==(e=cL(this,vQ))?void 0:e.associateElement)||t.call(e,this)),cL(this,vQ)&&(cL(this,vQ).addEventListener("pointerdown",this),cL(this,vQ).addEventListener("click",this),cL(this,vQ).hasAttribute("tabindex")||(cL(this,vQ).tabIndex=0))}disconnectedCallback(){var e,t,i,r;this.getAttribute(uC.MEDIA_CONTROLLER)&&(null==(t=null==(e=cL(this,vQ))?void 0:e.unassociateElement)||t.call(e,this)),null==(i=cL(this,vQ))||i.removeEventListener("pointerdown",this),null==(r=cL(this,vQ))||r.removeEventListener("click",this),cI(this,vQ,null)}handleEvent(e){var t;let i=null==(t=e.composedPath())?void 0:t[0];if(["video","media-controller"].includes(null==i?void 0:i.localName)){if("pointerdown"===e.type)this._pointerType=e.pointerType;else if("click"===e.type){let{clientX:t,clientY:i}=e,{left:r,top:a,width:s,height:n}=this.getBoundingClientRect(),o=t-r,l=i-a;if(o<0||l<0||o>s||l>n||0===s&&0===n)return;let d=this._pointerType||"mouse";if(this._pointerType=void 0,d===u$.TOUCH)return void this.handleTap(e);if(d===u$.MOUSE||d===u$.PEN)return void this.handleMouseClick(e)}}}get mediaPaused(){return c_(this,uP.MEDIA_PAUSED)}set mediaPaused(e){cA(this,uP.MEDIA_PAUSED,e)}handleTap(e){}handleMouseClick(e){let t=this.mediaPaused?uD.MEDIA_PLAY_REQUEST:uD.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new ct.CustomEvent(t,{composed:!0,bubbles:!0}))}}vQ=new WeakMap,cw.shadowRootOptions={mode:"open"},cw.getTemplateHTML=function(e){return` 113 <style> 114 :host { 115 display: var(--media-control-display, var(--media-gesture-receiver-display, inline-block)); 116 box-sizing: border-box; 117 } 118 </style> 119 `},ct.customElements.get("media-gesture-receiver")||ct.customElements.define("media-gesture-receiver",cw);var cD=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},cC=(e,t,i)=>(cD(e,t,"read from private field"),i?i.call(e):t.get(e)),cM=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},cx=(e,t,i,r)=>(cD(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),cP=(e,t,i)=>(cD(e,t,"access private method"),i);let cO="audio",cN="autohide",cU="breakpoints",cF="gesturesdisabled",cB="keyboardcontrol",c$="noautohide",cH="userinactive",cG="autohideovercontrols",cK=Object.values(uP);function cW(e,t){var i,r,a;if(!e.isConnected)return;let s=Object.fromEntries((null!=(i=e.getAttribute(cU))?i:"sm:384 md:576 lg:768 xl:960").split(/\s+/).map(e=>e.split(":"))),n=(r=s,a=t,Object.keys(r).filter(e=>a>=parseInt(r[e]))),o=!1;
119if(Object.keys(s).forEach(t=>{if(n.includes(t)){e.hasAttribute(`breakpoint${t}`)||(e.setAttribute(`breakpoint${t}`,""),o=!0);return}e.hasAttribute(`breakpoint${t}`)&&(e.removeAttribute(`breakpoint${t}`),o=!0)}),o){let t=new CustomEvent(uO.BREAKPOINTS_CHANGE,{detail:n});e.dispatchEvent(t)}e.breakpointsComputed||(e.breakpointsComputed=!0,e.dispatchEvent(new CustomEvent(uO.BREAKPOINTS_COMPUTED,{bubbles:!0,composed:!0})))}class cV extends ct.HTMLElement{constructor(){if(super(),cM(this,v4),cM(this,v8),cM(this,v6),cM(this,Ee),cM(this,Ei),cM(this,vz,void 0),cM(this,vX,0),cM(this,vZ,null),cM(this,vJ,null),cM(this,v0,void 0),this.breakpointsComputed=!1,cM(this,v1,e=>{let t=this.media;for(let i of e)if("childList"===i.type){for(let e of i.removedNodes){if("media"!=e.slot||i.target!=this)continue;let r=i.previousSibling&&i.previousSibling.previousElementSibling;if(r&&t){let t="media"!==r.slot;for(;null!==(r=r.previousSibling);)"media"==r.slot&&(t=!1);t&&this.mediaUnsetCallback(e)}else this.mediaUnsetCallback(e)}if(t)for(let e of i.addedNodes)e===t&&this.handleMediaUpdated(t)}}),cM(this,v2,!1),cM(this,v3,e=>{cC(this,v2)||(setTimeout(()=>{cW(e.target,e.contentRect.width),cx(this,v2,!1)},0),cx(this,v2,!0))}),cM(this,Ea,void 0),cM(this,Es,()=>{if(!cC(this,Ea).assignedElements({flatten:!0}).length){cC(this,vZ)&&this.mediaUnsetCallback(cC(this,vZ));return}this.handleMediaUpdated(this.media)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=cl(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}cx(this,vz,new MutationObserver(cC(this,v1)))}static get observedAttributes(){return[cN,cF].concat(cK).filter(e=>![uP.MEDIA_RENDITION_LIST,uP.MEDIA_AUDIO_TRACK_LIST,uP.MEDIA_CHAPTERS_CUES,uP.MEDIA_WIDTH,uP.MEDIA_HEIGHT,uP.MEDIA_ERROR,uP.MEDIA_ERROR_MESSAGE].includes(e))}attributeChangedCallback(e,t,i){e.toLowerCase()==cN&&(this.autohide=i)}get media(){let e=this.querySelector(":scope > [slot=media]");return(null==e?void 0:e.nodeName)=="SLOT"&&(e=e.assignedElements({flatten:!0})[0]),e}async handleMediaUpdated(e){e&&(cx(this,vZ,e),e.localName.includes("-")&&await ct.customElements.whenDefined(e.localName),this.mediaSetCallback(e))}connectedCallback(){var e;cC(this,vz).observe(this,{childList:!0,subtree:!0}),cn(this,cC(this,v3));let t=null!=this.getAttribute(cO)?uJ("audio player"):uJ("video player");this.setAttribute("role","region"),this.setAttribute("aria-label",t),this.handleMediaUpdated(this.media),this.setAttribute(cH,""),cW(this,this.getBoundingClientRect().width);let i=this.querySelector(":scope > slot[slot=media]");i&&(cx(this,Ea,i),cC(this,Ea).addEventListener("slotchange",cC(this,Es))),this.addEventListener("pointerdown",this),this.addEventListener("pointermove",this),this.addEventListener("pointerup",this),this.addEventListener("mouseleave",this),this.addEventListener("keyup",this),null==(e=ct.window)||e.addEventListener("mouseup",this)}disconnectedCallback(){var e;co(this,cC(this,v3)),clearTimeout(cC(this,vJ)),cC(this,vz).disconnect(),this.media&&this.mediaUnsetCallback(this.media),null==(e=ct.window)||e.removeEventListener("mouseup",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointermove",this),this.removeEventListener("pointerup",this),this.removeEventListener("mouseleave",this),this.removeEventListener("keyup",this),cC(this,Ea)&&(cC(this,Ea).removeEventListener("slotchange",cC(this,Es)),cx(this,Ea,null)),cx(this,v2,!1)}mediaSetCallback(e){}mediaUnsetCallback(e){cx(this,vZ,null)}handleEvent(e){switch(e.type){case"pointerdown":cx(this,vX,e.timeStamp);break;case"pointermove":cP(this,v4,v5).call(this,e);break;case"pointerup":cP(this,v8,v9).call(this,e);break;case"mouseleave":cP(this,v6,v7).call(this);break;case"mouseup":this.removeAttribute(cB);break;case"keyup":cP(this,Ei,Er).call(this),this.setAttribute(cB,"")}}set autohide(e){let t=Number(e);cx(this,v0,isNaN(t)?0:t)}get autohide(){return(void 0===cC(this,v0)?2:cC(this,v0)).toString()}get breakpoints(){return cS(this,cU)}set breakpoints(e){ck(this,cU,e)}get audio(){return c_(this,cO)}set audio(e){cA(this,cO,e)}get gesturesDisabled(){return c_(this,cF)}set gesturesDisabled(e){cA(this,cF,e)}get keyboardControl(){return c_(this,cB)}set keyboardControl(e){cA(this,cB,e)}get noAutohide(){return c_(this,c$)}set noAutohide(e){cA(this,c$,e)}get autohideOverControls(){return c_(this,cG)}set autohideOverControls(e){cA(this,cG,e)}get userInteractive(){return c_(this,cH)}set userInteractive(e){cA(this,cH,e)}}vz=new WeakMap,vX=new WeakMap,vZ=new WeakMap,vJ=new WeakMap,v0=new WeakMap,v1=new WeakMap,v2=new WeakMap,v3=new WeakMap,v4=new WeakSet,v5=function(e){if("mouse"!==e.pointerType&&e.timeStamp-cC(this,vX)<250)return;cP(this,Ee,Et).call(this),clearTimeout(cC(this,vJ));let t=this.hasAttribute(cG);([this,this.media].includes(e.target)||t)&&cP(this,Ei,Er).call(this)},v8=new WeakSet,v9=function(e){if("touch"===e.pointerType){let t=!this.hasAttribute(cH);[this,this.media].includes(e.target)&&t?cP(this,v6,v7).call(this):cP(this,Ei,Er).call(this)}else e.composedPath().some(e=>["media-play-button","media-fullscreen-button"].includes(null==e?void 0:e.localName))&&cP(this,Ei,Er).call(this)},v6=new WeakSet,v7=function(){if(0>cC(this,v0)||this.hasAttribute(cH))return;this.setAttribute(cH,"");let e=new ct.CustomEvent(uO.USER_INACTIVE_CHANGE,{composed:!0,bubbles:!0,detail:!0});this.dispatchEvent(e)},Ee=new WeakSet,Et=function(){if(!this.hasAttribute(cH))return;this.removeAttribute(cH);let e=new ct.CustomEvent(uO.USER_INACTIVE_CHANGE,{composed:!0,bubbles:!0,detail:!1});this.dispatchEvent(e)},Ei=new WeakSet,Er=function(){cP(this,Ee,Et).call(this),clearTimeout(cC(this,vJ));let e=parseInt(this.autohide);e<0||cx(this,vJ,setTimeout(()=>{cP(this,v6,v7).call(this)},1e3*e))},Ea=new WeakMap,Es=new WeakMap,cV.shadowRootOptions={mode:"open"},cV.getTemplateHTML=function(e){return` 120 <style> 121 122 :host([${uP.MEDIA_IS_FULLSCREEN}]) ::slotted([slot=media]) { 123 outline: none; 124 } 125 126 :host { 127 box-sizing: border-box; 128 position: relative; 129 display: inline-block; 130 line-height: 0; 131 background-color: var(--media-background-color, #000); 132 overflow: hidden; 133 } 134 135 :host(:not([${cO}])) [part~=layer]:not([part~=media-layer]) { 136 position: absolute; 137 top: 0; 138 left: 0; 139 bottom: 0; 140 right: 0; 141 display: flex; 142 flex-flow: column nowrap; 143 align-items: start; 144 pointer-events: none; 145 background: none; 146 } 147 148 slot[name=media] { 149 display: var(--media-slot-display, contents); 150 } 151 152 153 :host([${cO}]) slot[name=media] { 154 display: var(--media-slot-display, none); 155 } 156 157 158 :host([${cO}]) [part~=layer][part~=gesture-layer] { 159 height: 0; 160 display: block; 161 } 162 163 164 :host(:not([${cO}])[${cF}]) ::slotted([slot=gestures-chrome]), 165 :host(:not([${cO}])[${cF}]) media-gesture-receiver[slot=gestures-chrome] { 166 display: none; 167 } 168 169 170 ::slotted(:not([slot=media]):not([slot=poster]):not(media-loading-indicator):not([role=dialog]):not([hidden])) { 171 pointer-events: auto; 172 } 173 174 :host(:not([${cO}])) *[part~=layer][part~=centered-layer] { 175 align-items: center; 176 justify-content: center; 177 } 178 179 :host(:not([${cO}])) ::slotted(media-gesture-receiver[slot=gestures-chrome]), 180 :host(:not([${cO}])) media-gesture-receiver[slot=gestures-chrome] { 181 align-self: stretch; 182 flex-grow: 1; 183 } 184 185 slot[name=middle-chrome] { 186 display: inline; 187 flex-grow: 1; 188 pointer-events: none; 189 background: none; 190 } 191 192 193 ::slotted([slot=media]), 194 ::slotted([slot=poster]) { 195 width: 100%; 196 height: 100%; 197 } 198 199 200 :host(:not([${cO}])) .spacer { 201 flex-grow: 1; 202 } 203 204 205 :host(:-webkit-full-screen) { 206 207 width: 100% !important; 208 height: 100% !important; 209 } 210 211 212 ::slotted(:not([slot=media]):not([slot=poster]):not([${c$}
212]):not([hidden]):not([role=dialog])) { 213 opacity: 1; 214 transition: var(--media-control-transition-in, opacity 0.25s); 215 } 216 217 218 :host([${cH}]:not([${uP.MEDIA_PAUSED}]):not([${uP.MEDIA_IS_AIRPLAYING}]):not([${uP.MEDIA_IS_CASTING}]):not([${cO}])) ::slotted(:not([slot=media]):not([slot=poster]):not([${c$}]):not([role=dialog])) { 219 opacity: 0; 220 transition: var(--media-control-transition-out, opacity 1s); 221 } 222 223 :host([${cH}]:not([${c$}]):not([${uP.MEDIA_PAUSED}]):not([${uP.MEDIA_IS_CASTING}]):not([${cO}])) ::slotted([slot=media]) { 224 cursor: none; 225 } 226 227 :host([${cH}][${cG}]:not([${c$}]):not([${uP.MEDIA_PAUSED}]):not([${uP.MEDIA_IS_CASTING}]):not([${cO}])) * { 228 --media-cursor: none; 229 cursor: none; 230 } 231 232 233 ::slotted(media-control-bar) { 234 align-self: stretch; 235 } 236 237 238 :host(:not([${cO}])[${uP.MEDIA_HAS_PLAYED}]) slot[name=poster] { 239 display: none; 240 } 241 242 ::slotted([role=dialog]) { 243 width: 100%; 244 height: 100%; 245 align-self: center; 246 } 247 248 ::slotted([role=menu]) { 249 align-self: end; 250 } 251 </style> 252 253 <slot name="media" part="layer media-layer"></slot> 254 <slot name="poster" part="layer poster-layer"></slot> 255 <slot name="gestures-chrome" part="layer gesture-layer"> 256 <media-gesture-receiver slot="gestures-chrome"> 257 <template shadowrootmode="${cw.shadowRootOptions.mode}"> 258 ${cw.getTemplateHTML({})} 259 </template> 260 </media-gesture-receiver> 261 </slot> 262 <span part="layer vertical-layer"> 263 <slot name="top-chrome" part="top chrome"></slot> 264 <slot name="middle-chrome" part="middle chrome"></slot> 265 <slot name="centered-chrome" part="layer centered-layer center centered chrome"></slot> 266 267 <slot part="bottom chrome"></slot> 268 </span> 269 <slot name="dialog" part="layer dialog-layer"></slot> 270 `},ct.customElements.get("media-container")||ct.customElements.define("media-container",cV);var cq=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},cY=(e,t,i)=>(cq(e,t,"read from private field"),i?i.call(e):t.get(e)),cj=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},cQ=(e,t,i,r)=>(cq(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class cz{constructor(e,t,{defaultValue:i}={defaultValue:void 0}){cj(this,Eh),cj(this,En,void 0),cj(this,Eo,void 0),cj(this,El,void 0),cj(this,Ed,new Set),cQ(this,En,e),cQ(this,Eo,t),cQ(this,El,new Set(i))}[Symbol.iterator](){return cY(this,Eh,Eu).values()}get length(){return cY(this,Eh,Eu).size}get value(){var e;return null!=(e=[...cY(this,Eh,Eu)].join(" "))?e:""}set value(e){var t;e!==this.value&&(cQ(this,Ed,new Set),this.add(...null!=(t=null==e?void 0:e.split(" "))?t:[]))}toString(){return this.value}item(e){return[...cY(this,Eh,Eu)][e]}values(){return cY(this,Eh,Eu).values()}forEach(e,t){cY(this,Eh,Eu).forEach(e,t)}add(...e){var t,i;e.forEach(e=>cY(this,Ed).add(e)),(""!==this.value||(null==(t=cY(this,En))?void 0:t.hasAttribute(`${cY(this,Eo)}`)))&&(null==(i=cY(this,En))||i.setAttribute(`${cY(this,Eo)}`,`${this.value}`))}remove(...e){var t;e.forEach(e=>cY(this,Ed).delete(e)),null==(t=cY(this,En))||t.setAttribute(`${cY(this,Eo)}`,`${this.value}`)}contains(e){return cY(this,Eh,Eu).has(e)}toggle(e,t){if(void 0!==t)if(t)return this.add(e),!0;else return this.remove(e),!1;return this.contains(e)?(this.remove(e),!1):(this.add(e),!0)}replace(e,t){return this.remove(e),this.add(t),e===t}}En=new WeakMap,Eo=new WeakMap,El=new WeakMap,Ed=new WeakMap,Eh=new WeakSet,Eu=function(){return cY(this,Ed).size?cY(this,Ed):cY(this,El)};let cX=(e="")=>{let[t,i,r]=e.split(":"),a=r?decodeURIComponent(r):void 0;return{kind:"cc"===t?uF.CAPTIONS:uF.SUBTITLES,language:i,label:a}},cZ=(e="",t={})=>((e="")=>e.split(/\s+/))(e).map(e=>{let i=cX(e);return{...t,...i}}),cJ=e=>e?Array.isArray(e)?e.map(e=>"string"==typeof e?cX(e):e):"string"==typeof e?cZ(e):[e]:[],c0=({kind:e,label:t,language:i}={kind:"subtitles"})=>t?`${"captions"===e?"cc":"sb"}:${i}:${encodeURIComponent(t)}`:i,c1=(e=[])=>Array.prototype.map.call(e,c0).join(" "),c2=e=>{let t=Object.entries(e).map(([e,t])=>i=>i[e]===t);return e=>t.every(t=>t(e))},c3=(e,t=[],i=[])=>{let r=cJ(i).map(c2);Array.from(t).filter(e=>r.some(t=>
270t(e))).forEach(t=>{t.mode=e})},c4=(e,t=()=>!0)=>{if(!(null==e?void 0:e.textTracks))return[];let i="function"==typeof t?t:c2(t);return Array.from(e.textTracks).filter(i)},c5=e=>{var t;return!!(null==(t=e.mediaSubtitlesShowing)?void 0:t.length)||e.hasAttribute(uP.MEDIA_SUBTITLES_SHOWING)},c8="exitFullscreen"in ci?"exitFullscreen":"webkitExitFullscreen"in ci?"webkitExitFullscreen":"webkitCancelFullScreen"in ci?"webkitCancelFullScreen":void 0,c9="fullscreenElement"in ci?"fullscreenElement":"webkitFullscreenElement"in ci?"webkitFullscreenElement":void 0,c6="fullscreenEnabled"in ci?"fullscreenEnabled":"webkitFullscreenEnabled"in ci?"webkitFullscreenEnabled":void 0,c7=()=>{var e;return r||(r=null==(e=null==ci?void 0:ci.createElement)?void 0:e.call(ci,"video"))},me=async(e=c7())=>{if(!e)return!1;let t=e.volume;e.volume=t/2+.1;let i=new AbortController,r=await Promise.race([mt(e,i.signal),mi(e,t)]);return i.abort(),r},mt=(e,t)=>new Promise(i=>{e.addEventListener("volumechange",()=>i(!0),{signal:t})}),mi=async(e,t)=>{for(let i=0;i<10;i++){if(e.volume===t)return!1;await uz(10)}return e.volume!==t},mr=/.*Version\/.*Safari\/.*/.test(ct.navigator.userAgent),ma=(e=c7())=>(!ct.matchMedia("(display-mode: standalone)").matches||!mr)&&"function"==typeof(null==e?void 0:e.requestPictureInPicture),ms=(e=c7())=>(e=>{let{documentElement:t,media:i}=e;return!!(null==t?void 0:t[c6])||i&&"webkitSupportsFullscreen"in i})({documentElement:ci,media:e}),mn=ms(),mo=ma(),ml=!!ct.WebKitPlaybackTargetAvailabilityEvent,md=!!ct.chrome,mh=e=>c4(e.media,e=>[uF.SUBTITLES,uF.CAPTIONS].includes(e.kind)).sort((e,t)=>e.kind>=t.kind?1:-1),mu=e=>c4(e.media,e=>e.mode===uB.SHOWING&&[uF.SUBTITLES,uF.CAPTIONS].includes(e.kind)),mc=(e,t)=>{let i=mh(e),r=mu(e),a=!!r.length;if(i.length){if(!1===t||a&&!0!==t)c3(uB.DISABLED,i,r);else if(!0===t||!a&&!1!==t){let t=i[0],{options:a}=e;if(!(null==a?void 0:a.noSubtitlesLangPref)){let e=ct.localStorage.getItem("media-chrome-pref-subtitles-lang"),r=e?[e,...ct.navigator.languages]:ct.navigator.languages,a=i.filter(e=>r.some(t=>e.language.toLowerCase().startsWith(t.split("-")[0]))).sort((e,t)=>r.findIndex(t=>e.language.toLowerCase().startsWith(t.split("-")[0]))-r.findIndex(e=>t.language.toLowerCase().startsWith(e.split("-")[0])));a[0]&&(t=a[0])}let{language:s,label:n,kind:o}=t;c3(uB.DISABLED,i,r),c3(uB.SHOWING,i,[{language:s,label:n,kind:o}])}}},mm=(e,t)=>e===t||null!=e&&null!=t&&typeof e==typeof t&&(!!("number"==typeof e&&Number.isNaN(e)&&Number.isNaN(t))||"object"==typeof e&&(Array.isArray(e)?mf(e,t):Object.entries(e).every(([e,i])=>e in t&&mm(i,t[e])))),mf=(e,t)=>{let i=Array.isArray(e),r=Array.isArray(t);return i===r&&(!i&&!r||e.length===t.length&&e.every((e,i)=>mm(e,t[i])))},mp=Object.values(uG),mg=me().then(e=>a=e),mv=async(...e)=>{await Promise.all(e.filter(e=>e).map(async e=>{if(!("localName"in e&&e instanceof ct.HTMLElement))return;let t=e.localName;if(!t.includes("-"))return;let i=ct.customElements.get(t);i&&e instanceof i||(await ct.customElements.whenDefined(t),ct.customElements.upgrade(e))}))},mE=new ct.DOMParser,my={mediaError:{get(e,t){let{media:i}=e;if((null==t?void 0:t.type)!=="playing")return null==i?void 0:i.error},mediaEvents:["emptied","error","playing"]},mediaErrorCode:{get(e,t){var i;let{media:r}=e;if((null==t?void 0:t.type)!=="playing")return null==(i=null==r?void 0:r.error)?void 0:i.code},mediaEvents:["emptied","error","playing"]},mediaErrorMessage:{get(e,t){var i,r;let{media:a}=e;if((null==t?void 0:t.type)!=="playing")return null!=(r=null==(i=null==a?void 0:a.error)?void 0:i.message)?r:""},mediaEvents:["emptied","error","playing"]},mediaWidth:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.videoWidth)?t:0},mediaEvents:["resize"]},mediaHeight:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.videoHeight)?t:0},mediaEvents:["resize"]},mediaPaused:{get(e){var t;let{media:i}=e;return null==(t=null==i?void 0:i.paused)||t},set(e,t){var i;let{media:r}=t;r&&(e?r.pause():null==(i=r.play())||i.catch(()=>{}))},mediaEvents:["play","playing","pause","emptied"]},mediaHasPlayed:{get(e,t){let{media:i}=e;return!!i&&(t?"playing"===t.type:!i.paused)},mediaEvents:["playing","emptied"]},mediaEnded:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.ended)&&t},mediaEvents:["seeked","ended","emptied"]},mediaPlaybackRate:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.playbackRate)?t:1},set(e,t){let{media:i}=t;!i||Number.isFinite(+e)&&(i.playbackRate=+e)},mediaEvents:["ratechange","loadstart"]},mediaMuted:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.muted)&&t},set(e,t){let{media:i,options:{noMutedPref:r}={}}=t;if(i){i.muted=e;try{let t=null!==ct.localStorage.getItem("media-chrome-pref-muted"),a=i.hasAttribute("muted");if(r){t&&ct.localStorage.removeItem("media-chrome-pref-muted");return}if(a&&!t)return;ct.localStorage.setItem("media-chrome-pref-muted",e?"true":"false")}catch(e){console.debug("Error setting muted pref",e)}}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(e,t)=>{let{options:{noMutedPref:i}}=t,{media:r}=t;if(r&&!r.muted&&!i)try{let i="true"===ct.localStorage.getItem("media-chrome-pref-muted");my.mediaMuted.set(i,t),e(i)}catch(e){console.debug("Error getting muted pref",e)}}]},mediaLoop:{get(e){let{media:t}=e;return null==t?void 0:t.loop},set(e,t){let{media:i}=t;i&&(i.loop=e)},mediaEvents:["medialooprequest"]},mediaVolume:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.volume)?t:1},set(e,t){let{media:i,options:{noVolumePref:r}={}}=t;if(i){try{null==e?ct.localStorage.removeItem("media-chrome-pref-volume"):i.hasAttribute("muted")||r||ct.localStorage.setItem("media-chrome-pref-volume",e.toString())}catch(e){console.debug("Error setting volume pref",e)}Number.isFinite(+e)&&(i.volume=+e)}},mediaEvents:["volumechange"],stateOwnersUpdateHandlers:[(e,t)=>{let{options:{noVolumePref:i}}=t;if(!i)try{let{media:i}=t;if(!i)return;let r=ct.localStorage.getItem("media-chrome-pref-volume");if(null==r)return;my.mediaVolume.set(+r,t),e(+r)}catch(e){console.debug("Error getting volume pref",e)}}]},mediaVolumeLevel:{get(e){let{media:t}=e;return void 0===(null==t?void 0:t.volume)?"high":t.muted||0===t.volume?"off":t.volume<.5?"low":t.volume<.75?"medium":"high"},mediaEvents:["volumechange"]},mediaCurrentTime:{get(e){var t;let{media:i}=e;return null!=(t=null==i?void 0:i.currentTime)?t:0},set(e,t){let{media:i}=t;i&&uj(e)&&(i.currentTime=e)},mediaEvents:["timeupdate","loadedmetadata"]},mediaDuration:{get(e){let{media:t,options:{defaultDuration:i}={}}=e;return i&&(!t||!t.duration||Number.isNaN(t.duration)||!Number.isFinite(t.duration))?i:Number.isFinite(null==t?void 0:t.duration)?t.duration:NaN},mediaEvents:["durationchange","loadedmetadata","emptied"]},mediaLoading:{get(e){let{media:t}=e;return(null==t?void 0:t.readyState)<3},mediaEvents:["waiting","playing","emptied"]},mediaSeekable:{get(e){var t;let{media:i}=e;if(!(null==(t=null==i?void 0:i.seekable)?void 0:t.length))return;let r=i.seekable.start(0),a=i.seekable.end(i.seekable.length-1);if(r||a)return[Number(r.toFixed(3)),Number(a.toFixed(3))]},mediaEvents:["loadedmetadata","emptied","progress","seekablechange"]},mediaBuffered:{get(e){var t;let{media:i}=e,r=null!=(t=null==i?void 0:i.buffered)?t:[];return Array.from(r).map((e,t)=>[Number(r.start(t).toFixed(3)),Number(r.end(t).toFixed(3))])},mediaEvents:["progress","emptied"]},mediaStreamType:{get(e){let{media:t,options:{defaultStreamType:i}={}}=e,r=[uG.LIVE,uG.ON_DEMAND].includes(i)?i:void 0;if(!t)return r;let{streamType:a}=t;if(mp.includes(a))return a===uG.UNKNOWN?r:a;let s=t.duration;return s===1/0?uG.LIVE:Number.isFinite(s)?uG.ON_DEMAND:r}
270,mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange"]},mediaTargetLiveWindow:{get(e){let{media:t}=e;if(!t)return NaN;let{targetLiveWindow:i}=t,r=my.mediaStreamType.get(e);return(null==i||Number.isNaN(i))&&r===uG.LIVE?0:i},mediaEvents:["emptied","durationchange","loadedmetadata","streamtypechange","targetlivewindowchange"]},mediaTimeIsLive:{get(e){let{media:t,options:{liveEdgeOffset:i=10}={}}=e;if(!t)return!1;if("number"==typeof t.liveEdgeStart)return!Number.isNaN(t.liveEdgeStart)&&t.currentTime>=t.liveEdgeStart;if(my.mediaStreamType.get(e)!==uG.LIVE)return!1;let r=t.seekable;if(!r)return!0;if(!r.length)return!1;let a=r.end(r.length-1)-i;return t.currentTime>=a},mediaEvents:["playing","timeupdate","progress","waiting","emptied"]},mediaSubtitlesList:{get:e=>mh(e).map(({kind:e,label:t,language:i})=>({kind:e,label:t,language:i})),mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack"]},mediaSubtitlesShowing:{get:e=>mu(e).map(({kind:e,label:t,language:i})=>({kind:e,label:t,language:i})),mediaEvents:["loadstart"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(e,t)=>{var i,r;let{media:a,options:s}=t;if(!a)return;let n=e=>{var i;s.defaultSubtitles&&(e&&![uF.CAPTIONS,uF.SUBTITLES].includes(null==(i=null==e?void 0:e.track)?void 0:i.kind)||mc(t,!0))};return a.addEventListener("loadstart",n),null==(i=a.textTracks)||i.addEventListener("addtrack",n),null==(r=a.textTracks)||r.addEventListener("removetrack",n),()=>{var e,t;a.removeEventListener("loadstart",n),null==(e=a.textTracks)||e.removeEventListener("addtrack",n),null==(t=a.textTracks)||t.removeEventListener("removetrack",n)}}]},mediaChaptersCues:{get(e){var t;let{media:i}=e;if(!i)return[];let[r]=c4(i,{kind:uF.CHAPTERS});return Array.from(null!=(t=null==r?void 0:r.cues)?t:[]).map(({text:e,startTime:t,endTime:i})=>({text:e&&mE.parseFromString(e,"text/html").body.textContent||e,startTime:t,endTime:i}))},mediaEvents:["loadstart","loadedmetadata"],textTracksEvents:["addtrack","removetrack","change"],stateOwnersUpdateHandlers:[(e,t)=>{var i;let{media:r}=t;if(!r)return;let a=r.querySelector('track[kind="chapters"][default][src]'),s=null==(i=r.shadowRoot)?void 0:i.querySelector(':is(video,audio) > track[kind="chapters"][default][src]');return null==a||a.addEventListener("load",e),null==s||s.addEventListener("load",e),()=>{null==a||a.removeEventListener("load",e),null==s||s.removeEventListener("load",e)}}]},mediaIsPip:{get(e){var t,i;let{media:r,documentElement:a}=e;if(!r||!a||!a.pictureInPictureElement)return!1;if(a.pictureInPictureElement===r)return!0;if(a.pictureInPictureElement instanceof HTMLMediaElement)return!!(null==(t=r.localName)?void 0:t.includes("-"))&&cm(r,a.pictureInPictureElement);if(a.pictureInPictureElement.localName.includes("-")){let e=a.pictureInPictureElement.shadowRoot;for(;null==e?void 0:e.pictureInPictureElement;){if(e.pictureInPictureElement===r)return!0;e=null==(i=e.pictureInPictureElement)?void 0:i.shadowRoot}}return!1},set(e,t){let{media:i}=t;if(i)if(e){if(!ci.pictureInPictureEnabled)return void console.warn("MediaChrome: Picture-in-picture is not enabled");if(!i.requestPictureInPicture)return void console.warn("MediaChrome: The current media does not support picture-in-picture");let e=()=>{console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a readyState > 0.")};i.requestPictureInPicture().catch(t=>{if(11===t.code){if(!i.src)return void console.warn("MediaChrome: The media is not ready for picture-in-picture. It must have a src set.");if(0===i.readyState&&"none"===i.preload){let t=()=>{i.removeEventListener("loadedmetadata",r),i.preload="none"},r=()=>{i.requestPictureInPicture().catch(e),t()};i.addEventListener("loadedmetadata",r),i.preload="metadata",setTimeout(()=>{0===i.readyState&&e(),t()},1e3)}else throw t}else throw t})}else ci.pictureInPictureElement&&ci.exitPictureInPicture()},mediaEvents:["enterpictureinpicture","leavepictureinpicture"]},mediaRenditionList:{get(e){var t;let{media:i}=e;return[...null!=(t=null==i?void 0:i.videoRenditions)?t:[]].map(e=>({...e}))},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaRenditionSelected:{get(e){var t,i,r;let{media:a}=e;return null==(r=null==(i=null==a?void 0:a.videoRenditions)?void 0:i[null==(t=a.videoRenditions)?void 0:t.selectedIndex])?void 0:r.id},set(e,t){let{media:i}=t;if(!(null==i?void 0:i.videoRenditions))return void console.warn("MediaController: Rendition selection not supported by this media.");let r=Array.prototype.findIndex.call(i.videoRenditions,t=>t.id==e);i.videoRenditions.selectedIndex!=r&&(i.videoRenditions.selectedIndex=r)},mediaEvents:["emptied"],videoRenditionsEvents:["addrendition","removerendition","change"]},mediaAudioTrackList:{get(e){var t;let{media:i}=e;return[...null!=(t=null==i?void 0:i.audioTracks)?t:[]]},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaAudioTrackEnabled:{get(e){var t,i;let{media:r}=e;return null==(i=[...null!=(t=null==r?void 0:r.audioTracks)?t:[]].find(e=>e.enabled))?void 0:i.id},set(e,t){let{media:i}=t;if(!(null==i?void 0:i.audioTracks))return void console.warn("MediaChrome: Audio track selection not supported by this media.");
270for(let t of i.audioTracks)t.enabled=e==t.id},mediaEvents:["emptied"],audioTracksEvents:["addtrack","removetrack","change"]},mediaIsFullscreen:{get:e=>(e=>{var t;let{media:i,documentElement:r,fullscreenElement:a=i}=e;if(!i||!r)return!1;let s=(e=>{let{documentElement:t,media:i}=e,r=null==t?void 0:t[c9];return!r&&"webkitDisplayingFullscreen"in i&&"webkitPresentationMode"in i&&i.webkitDisplayingFullscreen&&i.webkitPresentationMode===uK.FULLSCREEN?i:r})(e);if(!s)return!1;if(s===a||s===i)return!0;if(s.localName.includes("-")){let e=s.shadowRoot;if(!(c9 in e))return cm(s,a);for(;null==e?void 0:e[c9];){if(e[c9]===a)return!0;e=null==(t=e[c9])?void 0:t.shadowRoot}}return!1})(e),set(e,t,i){var r,a;e?((e=>{var t;let{media:i,fullscreenElement:r}=e;try{let e=r&&"requestFullscreen"in r?"requestFullscreen":r&&"webkitRequestFullScreen"in r?"webkitRequestFullScreen":void 0;if(e){let i=null==(t=r[e])?void 0:t.call(r);if(i instanceof Promise)return i.catch(()=>{})}else(null==i?void 0:i.webkitEnterFullscreen)?i.webkitEnterFullscreen():(null==i?void 0:i.requestFullscreen)&&i.requestFullscreen()}catch(e){console.error(e)}})(t),!i.detail||(null==(r=t.media)?void 0:r.inert)||null==(a=t.media)||a.focus()):(e=>{var t;let{documentElement:i}=e;if(c8){let e=null==(t=null==i?void 0:i[c8])?void 0:t.call(i);if(e instanceof Promise)return e.catch(()=>{})}})(t)},rootEvents:["fullscreenchange","webkitfullscreenchange"],mediaEvents:["webkitbeginfullscreen","webkitendfullscreen","webkitpresentationmodechanged"]},mediaIsCasting:{get(e){var t;let{media:i}=e;return!!(null==i?void 0:i.remote)&&(null==(t=i.remote)?void 0:t.state)!=="disconnected"&&!!i.remote.state},set(e,t){var i,r;let{media:a}=t;if(a&&(!e||(null==(i=a.remote)?void 0:i.state)==="disconnected")&&(e||(null==(r=a.remote)?void 0:r.state)==="connected")){if("function"!=typeof a.remote.prompt)return void console.warn("MediaChrome: Casting is not supported in this environment");a.remote.prompt().catch(()=>{})}},remoteEvents:["connect","connecting","disconnect"]},mediaIsAirplaying:{get:()=>!1,set(e,t){let{media:i}=t;if(i){if(!(i.webkitShowPlaybackTargetPicker&&ct.WebKitPlaybackTargetAvailabilityEvent))return void console.error("MediaChrome: received a request to select AirPlay but AirPlay is not supported in this environment");i.webkitShowPlaybackTargetPicker()}},mediaEvents:["webkitcurrentplaybacktargetiswirelesschanged"]},mediaFullscreenUnavailable:{get(e){let{media:t}=e;if(!mn||!ms(t))return uH.UNSUPPORTED}},mediaPipUnavailable:{get(e){let{media:t}=e;return mo&&ma(t)?(null==t?void 0:t.disablePictureInPicture)?uH.UNAVAILABLE:void 0:uH.UNSUPPORTED}},mediaVolumeUnavailable:{get(e){let{media:t}=e;if(!1===a||(null==t?void 0:t.volume)==void 0)return uH.UNSUPPORTED},stateOwnersUpdateHandlers:[e=>{null==a&&mg.then(t=>e(t?void 0:uH.UNSUPPORTED))}]},mediaCastUnavailable:{get(e,{availability:t="not-available"}={}){var i;let{media:r}=e;return md&&(null==(i=null==r?void 0:r.remote)?void 0:i.state)?null!=t&&"available"!==t?uH.UNAVAILABLE:void 0:uH.UNSUPPORTED},stateOwnersUpdateHandlers:[(e,t)=>{var i;let{media:r}=t;if(r)return r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||null==(i=null==r?void 0:r.remote)||i.watchAvailability(t=>{e({availability:t?"available":"not-available"})}).catch(t=>{"NotSupportedError"===t.name?e({availability:null}):e({availability:"not-available"})}),()=>{var e;null==(e=null==r?void 0:r.remote)||e.cancelWatchAvailability().catch(()=>{})}}]},mediaAirplayUnavailable:{get:(e,t)=>ml?(null==t?void 0:t.availability)==="not-available"?uH.UNAVAILABLE:void 0:uH.UNSUPPORTED,mediaEvents:["webkitplaybacktargetavailabilitychanged"],stateOwnersUpdateHandlers:[(e,t)=>{var i;let{media:r}=t;if(r)return r.disableRemotePlayback||r.hasAttribute("disableremoteplayback")||null==(i=null==r?void 0:r.remote)||i.watchAvailability(t=>{e({availability:t?"available":"not-available"})}).catch(t=>{"NotSupportedError"===t.name?e({availability:null}):e({availability:"not-available"})}),()=>{var e;null==(e=null==r?void 0:r.remote)||e.cancelWatchAvailability().catch(()=>{})}}]},mediaRenditionUnavailable:{get(e){var t;let{media:i}=e;return(null==i?void 0:i.videoRenditions)?(null==(t=i.videoRenditions)?void 0:t.length)?void 0:uH.UNAVAILABLE:uH.UNSUPPORTED},mediaEvents:["emptied","loadstart"],videoRenditionsEvents:["addrendition","removerendition"]},mediaAudioTrackUnavailable:{get(e){var t,i;let{media:r}=e;return(null==r?void 0:r.audioTracks)?(null!=(i=null==(t=r.audioTracks)?void 0:t.length)?i:0)<=1?uH.UNAVAILABLE:void 0:uH.UNSUPPORTED},mediaEvents:["emptied","loadstart"],audioTracksEvents:["addtrack","removetrack"]},mediaLang:{get(e){let{options:{mediaLang:t}={}}=e;return null!=t?t:"en"}}},mb={[uD.MEDIA_PREVIEW_REQUEST](e,t,{detail:i}){var r,a,s;let n,o,{media:l}=t,d=null!=i?i:void 0;if(l&&null!=d){let[e]=c4(l,{kind:uF.METADATA,label:"thumbnails"}),t=Array.prototype.find.call(null!=(r=null==e?void 0:e.cues)?r:[],
270(e,t,i)=>0===t?e.endTime>d:t===i.length-1?e.startTime<=d:e.startTime<=d&&e.endTime>d);if(t){let e=/'^(?:[a-z]+:)?\/\//i.test(t.text)||null==(a=null==l?void 0:l.querySelector('track[label="thumbnails"]'))?void 0:a.src,i=new URL(t.text,e);o=new URLSearchParams(i.hash).get("#xywh").split(",").map(e=>+e),n=i.href}}let h=e.mediaDuration.get(t),u=null==(s=e.mediaChaptersCues.get(t).find((e,t,i)=>t===i.length-1&&h===e.endTime?e.startTime<=d&&e.endTime>=d:e.startTime<=d&&e.endTime>d))?void 0:s.text;return null!=i&&null==u&&(u=""),{mediaPreviewTime:d,mediaPreviewImage:n,mediaPreviewCoords:o,mediaPreviewChapter:u}},[uD.MEDIA_PAUSE_REQUEST](e,t){e.mediaPaused.set(!0,t)},[uD.MEDIA_PLAY_REQUEST](e,t){var i,r,a,s;let n=e.mediaStreamType.get(t)===uG.LIVE,o=!(null==(i=t.options)?void 0:i.noAutoSeekToLive),l=e.mediaTargetLiveWindow.get(t)>0;if(n&&o&&!l){let i=null==(r=e.mediaSeekable.get(t))?void 0:r[1];if(i){let r=null!=(s=null==(a=t.options)?void 0:a.seekToLiveOffset)?s:0;e.mediaCurrentTime.set(i-r,t)}}e.mediaPaused.set(!1,t)},[uD.MEDIA_PLAYBACK_RATE_REQUEST](e,t,{detail:i}){e.mediaPlaybackRate.set(i,t)},[uD.MEDIA_MUTE_REQUEST](e,t){e.mediaMuted.set(!0,t)},[uD.MEDIA_UNMUTE_REQUEST](e,t){e.mediaVolume.get(t)||e.mediaVolume.set(.25,t),e.mediaMuted.set(!1,t)},[uD.MEDIA_LOOP_REQUEST](e,t,{detail:i}){let r=!!i;return e.mediaLoop.set(r,t),{mediaLoop:r}},[uD.MEDIA_VOLUME_REQUEST](e,t,{detail:i}){i&&e.mediaMuted.get(t)&&e.mediaMuted.set(!1,t),e.mediaVolume.set(i,t)},[uD.MEDIA_SEEK_REQUEST](e,t,{detail:i}){e.mediaCurrentTime.set(i,t)},[uD.MEDIA_SEEK_TO_LIVE_REQUEST](e,t){var i,r,a;let s=null==(i=e.mediaSeekable.get(t))?void 0:i[1];if(Number.isNaN(Number(s)))return;let n=null!=(a=null==(r=t.options)?void 0:r.seekToLiveOffset)?a:0;e.mediaCurrentTime.set(s-n,t)},[uD.MEDIA_SHOW_SUBTITLES_REQUEST](e,t,{detail:i}){var r;let{options:a}=t,s=mh(t),n=cJ(i),o=null==(r=n[0])?void 0:r.language;o&&!a.noSubtitlesLangPref&&ct.localStorage.setItem("media-chrome-pref-subtitles-lang",o),c3(uB.SHOWING,s,n)},[uD.MEDIA_DISABLE_SUBTITLES_REQUEST](e,t,{detail:i}){let r=mh(t);c3(uB.DISABLED,r,null!=i?i:[])},[uD.MEDIA_TOGGLE_SUBTITLES_REQUEST](e,t,{detail:i}){mc(t,i)},[uD.MEDIA_RENDITION_REQUEST](e,t,{detail:i}){e.mediaRenditionSelected.set(i,t)},[uD.MEDIA_AUDIO_TRACK_REQUEST](e,t,{detail:i}){e.mediaAudioTrackEnabled.set(i,t)},[uD.MEDIA_ENTER_PIP_REQUEST](e,t){e.mediaIsFullscreen.get(t)&&e.mediaIsFullscreen.set(!1,t),e.mediaIsPip.set(!0,t)},[uD.MEDIA_EXIT_PIP_REQUEST](e,t){e.mediaIsPip.set(!1,t)},[uD.MEDIA_ENTER_FULLSCREEN_REQUEST](e,t,i){e.mediaIsPip.get(t)&&e.mediaIsPip.set(!1,t),e.mediaIsFullscreen.set(!0,t,i)},[uD.MEDIA_EXIT_FULLSCREEN_REQUEST](e,t){e.mediaIsFullscreen.set(!1,t)},[uD.MEDIA_ENTER_CAST_REQUEST](e,t){e.mediaIsFullscreen.get(t)&&e.mediaIsFullscreen.set(!1,t),e.mediaIsCasting.set(!0,t)},[uD.MEDIA_EXIT_CAST_REQUEST](e,t){e.mediaIsCasting.set(!1,t)},[uD.MEDIA_AIRPLAY_REQUEST](e,t){e.mediaIsAirplaying.set(!0,t)}};var mT=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},m_=(e,t,i)=>(mT(e,t,"read from private field"),i?i.call(e):t.get(e)),mA=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},mS=(e,t,i,r)=>(mT(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),mk=(e,t,i)=>(mT(e,t,"access private method"),i);let mR=["ArrowLeft","ArrowRight","ArrowUp","ArrowDown","Enter"," ","f","m","k","c","l","j",">","<","p"],mL="defaultsubtitles",mI="defaultstreamtype",mw="defaultduration",mD="fullscreenelement",mC="hotkeys",mM="keyboardbackwardseekoffset",mx="keyboardforwardseekoffset",mP="keyboarddownvolumestep",mO="keyboardupvolumestep",mN="keysused",mU="lang",mF="loop",mB="liveedgeoffset",m$="noautoseektolive",mH="nodefaultstore",mG="nohotkeys",mK="nomutedpref",mW="nosubtitleslangpref",mV="novolumepref",mq="seektoliveoffset";class mY extends cV{constructor(){super(),mA(this,Eb),mA(this,EA),mA(this,Ek),this.mediaStateReceivers=[],this.associatedElementSubscriptions=new Map,mA(this,Ec,new cz(this,mC)),mA(this,Em,void 0),mA(this,Ef,void 0),mA(this,Ep,null),mA(this,Eg,void 0),mA(this,Ev,void 0),mA(this,EE,e=>{var t;null==(t=m_(this,Ef))||t.dispatch(e)}),mA(this,Ey,void 0),mA(this,E_,e=>{let{key:t,shiftKey:i}=e;i&&("/"===t||"?"===t)||mR.includes(t)?this.keyboardShortcutHandler(e):this.removeEventListener("keyup",m_(this,E_))}),this.associateElement(this);let e={};mS(this,Eg,t=>{Object.entries(t).forEach(([t,i])=>{if(t in e&&e[t]===i)return;
270this.propagateMediaState(t,i);let r=t.toLowerCase(),a=new ct.CustomEvent(uU[r],{composed:!0,detail:i});this.dispatchEvent(a)}),e=t})}static get observedAttributes(){return super.observedAttributes.concat(mG,mC,mI,mL,mw,mK,mV,mU,mF,mB,mq,m$)}get mediaStore(){return m_(this,Ef)}set mediaStore(e){var t,i;(m_(this,Ef)&&(null==(t=m_(this,Ev))||t.call(this),mS(this,Ev,void 0)),mS(this,Ef,e),m_(this,Ef)||this.hasAttribute(mH))?mS(this,Ev,null==(i=m_(this,Ef))?void 0:i.subscribe(m_(this,Eg))):mk(this,Eb,ET).call(this)}get fullscreenElement(){var e;return null!=(e=m_(this,Em))?e:this}set fullscreenElement(e){var t;this.hasAttribute(mD)&&this.removeAttribute(mD),mS(this,Em,e),null==(t=m_(this,Ef))||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}get defaultSubtitles(){return c_(this,mL)}set defaultSubtitles(e){cA(this,mL,e)}get defaultStreamType(){return cS(this,mI)}set defaultStreamType(e){ck(this,mI,e)}get defaultDuration(){return cb(this,mw)}set defaultDuration(e){cT(this,mw,e)}get noHotkeys(){return c_(this,mG)}set noHotkeys(e){cA(this,mG,e)}get keysUsed(){return cS(this,mN)}set keysUsed(e){ck(this,mN,e)}get liveEdgeOffset(){return cb(this,mB)}set liveEdgeOffset(e){cT(this,mB,e)}get noAutoSeekToLive(){return c_(this,m$)}set noAutoSeekToLive(e){cA(this,m$,e)}get noVolumePref(){return c_(this,mV)}set noVolumePref(e){cA(this,mV,e)}get noMutedPref(){return c_(this,mK)}set noMutedPref(e){cA(this,mK,e)}get noSubtitlesLangPref(){return c_(this,mW)}set noSubtitlesLangPref(e){cA(this,mW,e)}get noDefaultStore(){return c_(this,mH)}set noDefaultStore(e){cA(this,mH,e)}attributeChangedCallback(e,t,i){var r,a,s,n,o,l,d,h,u,c,m,f;if(super.attributeChangedCallback(e,t,i),e===mG)i!==t&&""===i?(this.hasAttribute(mC)&&console.warn("Media Chrome: Both `hotkeys` and `nohotkeys` have been set. All hotkeys will be disabled."),this.disableHotkeys()):i!==t&&null===i&&this.enableHotkeys();else if(e===mC)m_(this,Ec).value=i;else if(e===mL&&i!==t)null==(r=m_(this,Ef))||r.dispatch({type:"optionschangerequest",detail:{defaultSubtitles:this.hasAttribute(mL)}});else if(e===mI)null==(s=m_(this,Ef))||s.dispatch({type:"optionschangerequest",detail:{defaultStreamType:null!=(a=this.getAttribute(mI))?a:void 0}});else if(e===mB&&i!==t)null==(n=m_(this,Ef))||n.dispatch({type:"optionschangerequest",detail:{liveEdgeOffset:this.hasAttribute(mB)?+this.getAttribute(mB):void 0,seekToLiveOffset:this.hasAttribute(mq)?+this.getAttribute(mq):this.hasAttribute(mB)?+this.getAttribute(mB):void 0}});else if(e===mq&&i!==t)null==(o=m_(this,Ef))||o.dispatch({type:"optionschangerequest",detail:{seekToLiveOffset:this.hasAttribute(mq)?+this.getAttribute(mq):this.hasAttribute(mB)?+this.getAttribute(mB):void 0}});else if(e===m$)null==(l=m_(this,Ef))||l.dispatch({type:"optionschangerequest",detail:{noAutoSeekToLive:this.hasAttribute(m$)}});else if(e===mD){let e=i?null==(d=this.getRootNode())?void 0:d.getElementById(i):void 0;mS(this,Em,e),null==(h=m_(this,Ef))||h.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement})}else e===mU&&i!==t?(uZ=i,null==(u=m_(this,Ef))||u.dispatch({type:"optionschangerequest",detail:{mediaLang:i}})):e===mF&&i!==t?null==(c=m_(this,Ef))||c.dispatch({type:uD.MEDIA_LOOP_REQUEST,detail:null!=i}):e===mV&&i!==t?null==(m=m_(this,Ef))||m.dispatch({type:"optionschangerequest",detail:{noVolumePref:this.hasAttribute(mV)}}):e===mK&&i!==t&&(null==(f=m_(this,Ef))||f.dispatch({type:"optionschangerequest",detail:{noMutedPref:this.hasAttribute(mK)}}))}connectedCallback(){var e,t,i;this.associateElement(this),m_(this,Ef)||this.hasAttribute(mH)||mk(this,Eb,ET).call(this),null==(e=m_(this,Ef))||e.dispatch({type:"documentelementchangerequest",detail:ci}),null==(t=m_(this,Ef))||t.dispatch({type:"fullscreenelementchangerequest",detail:this.fullscreenElement}),super.connectedCallback(),m_(this,Ef)&&!m_(this,Ev)&&mS(this,Ev,null==(i=m_(this,Ef))?void 0:i.subscribe(m_(this,Eg))),void 0!==m_(this,Ey)&&m_(this,Ef)&&this.media&&setTimeout(()=>{var e,t,i;(null==(t=null==(e=this.media)?void 0:e.textTracks)?void 0:t.length)&&(null==(i=m_(this,Ef))||i.dispatch({type:uD.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:m_(this,Ey)}))},0),this.hasAttribute(mG)?this.disableHotkeys():this.enableHotkeys()}disconnectedCallback(){var e,t,i,r,a,s;if(null==(e=super.disconnectedCallback)||e.call(this),this.disableHotkeys(),m_(this,Ef)){let e=m_(this,Ef).getState();mS(this,Ey,!!(null==(t=e.mediaSubtitlesShowing)?void 0:t.length)),null==(i=m_(this,Ef))||i.dispatch({type:"fullscreenelementchangerequest",detail:void 0}),null==(r=m_(this,Ef))||r.dispatch({type:"documentelementchangerequest",detail:void 0}),null==(a=m_(this,Ef))||a.dispatch({type:uD.MEDIA_TOGGLE_SUBTITLES_REQUEST,detail:!1})}m_(this,Ev)&&(null==(s=m_(this,Ev))||s.call(this),mS(this,Ev,void 0)),this.unassociateElement(this),m_(this,Ep)&&(m_(this,Ep).remove(),mS(this,Ep,null))}mediaSetCallback(e){var t;super.mediaSetCallback(e),null==(t=m_(this,Ef))||t.dispatch({type:"mediaelementchangerequest",detail:e}),e.hasAttribute("tabindex")||(e.tabIndex=-1)}mediaUnsetCallback(e){var t;super.mediaUnsetCallback(e),null==(t=m_(this,Ef))||t.dispatch({type:"mediaelementchangerequest",detail:void 0})}propagateMediaState(e,t){m2(this.mediaStateReceivers,e,t)}associateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;if(t.has(e))return;let i=m3(e,this.registerMediaStateReceiver.bind(this),this.unregisterMediaStateReceiver.bind(this));
270Object.values(uD).forEach(t=>{e.addEventListener(t,m_(this,EE))}),t.set(e,i)}unassociateElement(e){if(!e)return;let{associatedElementSubscriptions:t}=this;t.has(e)&&(t.get(e)(),t.delete(e),Object.values(uD).forEach(t=>{e.removeEventListener(t,m_(this,EE))}))}registerMediaStateReceiver(e){if(!e)return;let t=this.mediaStateReceivers;!(t.indexOf(e)>-1)&&(t.push(e),m_(this,Ef)&&Object.entries(m_(this,Ef).getState()).forEach(([t,i])=>{m2([e],t,i)}))}unregisterMediaStateReceiver(e){let t=this.mediaStateReceivers,i=t.indexOf(e);i<0||t.splice(i,1)}enableHotkeys(){this.addEventListener("keydown",mk(this,EA,ES))}disableHotkeys(){this.removeEventListener("keydown",mk(this,EA,ES)),this.removeEventListener("keyup",m_(this,E_))}get hotkeys(){return m_(this,Ec)}set hotkeys(e){ck(this,mC,e)}keyboardShortcutHandler(e){var t,i,r,a,s,n,o,l,d;let h,u,c,m=e.target;if(!((null!=(r=null!=(i=null==(t=m.getAttribute(mN))?void 0:t.split(" "))?i:null==m?void 0:m.keysUsed)?r:[]).map(e=>"Space"===e?" ":e).filter(Boolean).includes(e.key)||m_(this,Ec).contains(`no${e.key.toLowerCase()}`)||" "===e.key&&m_(this,Ec).contains("nospace"))&&!(e.shiftKey&&("/"===e.key||"?"===e.key)&&m_(this,Ec).contains("noshift+/")))switch(e.key){case" ":case"k":h=m_(this,Ef).getState().mediaPaused?uD.MEDIA_PLAY_REQUEST:uD.MEDIA_PAUSE_REQUEST,this.dispatchEvent(new ct.CustomEvent(h,{composed:!0,bubbles:!0}));break;case"m":h="off"===this.mediaStore.getState().mediaVolumeLevel?uD.MEDIA_UNMUTE_REQUEST:uD.MEDIA_MUTE_REQUEST,this.dispatchEvent(new ct.CustomEvent(h,{composed:!0,bubbles:!0}));break;case"f":h=this.mediaStore.getState().mediaIsFullscreen?uD.MEDIA_EXIT_FULLSCREEN_REQUEST:uD.MEDIA_ENTER_FULLSCREEN_REQUEST,this.dispatchEvent(new ct.CustomEvent(h,{composed:!0,bubbles:!0}));break;case"c":this.dispatchEvent(new ct.CustomEvent(uD.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}));break;case"ArrowLeft":case"j":{let e=this.hasAttribute(mM)?+this.getAttribute(mM):10;u=Math.max((null!=(a=this.mediaStore.getState().mediaCurrentTime)?a:0)-e,0),c=new ct.CustomEvent(uD.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowRight":case"l":{let e=this.hasAttribute(mx)?+this.getAttribute(mx):10;u=Math.max((null!=(s=this.mediaStore.getState().mediaCurrentTime)?s:0)+e,0),c=new ct.CustomEvent(uD.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowUp":{let e=this.hasAttribute(mO)?+this.getAttribute(mO):.025;u=Math.min((null!=(n=this.mediaStore.getState().mediaVolume)?n:1)+e,1),c=new ct.CustomEvent(uD.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"ArrowDown":{let e=this.hasAttribute(mP)?+this.getAttribute(mP):.025;u=Math.max((null!=(o=this.mediaStore.getState().mediaVolume)?o:1)-e,0),c=new ct.CustomEvent(uD.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break}case"<":u=Math.max((null!=(l=this.mediaStore.getState().mediaPlaybackRate)?l:1)-.25,.25).toFixed(2),c=new ct.CustomEvent(uD.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break;case">":u=Math.min((null!=(d=this.mediaStore.getState().mediaPlaybackRate)?d:1)+.25,2).toFixed(2),c=new ct.CustomEvent(uD.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:u}),this.dispatchEvent(c);break;case"/":case"?":e.shiftKey&&mk(this,Ek,ER).call(this);break;case"p":h=this.mediaStore.getState().mediaIsPip?uD.MEDIA_EXIT_PIP_REQUEST:uD.MEDIA_ENTER_PIP_REQUEST,c=new ct.CustomEvent(h,{composed:!0,bubbles:!0}),this.dispatchEvent(c)}}}Ec=new WeakMap,Em=new WeakMap,Ef=new WeakMap,Ep=new WeakMap,Eg=new WeakMap,Ev=new WeakMap,EE=new WeakMap,Ey=new WeakMap,Eb=new WeakSet,ET=function(){var e;this.mediaStore=(({media:e,fullscreenElement:t,documentElement:i,stateMediator:r=my,requestMap:a=mb,options:s={},monitorStateOwnersOnlyWithSubscriptions:n=!0})=>{let o,l=[],d={options:{...s}},h=Object.freeze({mediaPreviewTime:void 0,mediaPreviewImage:void 0,mediaPreviewCoords:void 0,mediaPreviewChapter:void 0}),u=e=>{void 0==e||mm(e,h)||(h=Object.freeze({...h,...e}),l.forEach(e=>e(h)))},c=()=>{u(Object.entries(r).reduce((e,[t,{get:i}])=>(e[t]=i(d),e),{}))},m={},f=async(e,t)=>{var i,a,s,h,f,p,g,v,E,y,b,T,A,S,k,R;let L=!!o;if(o={...d,...null!=o?o:{},...e},L)return;await mv(...Object.values(e));let I=l.length>0&&0===t&&n,w=d.media!==o.media,D=(null==(i=d.media)?void 0:i.textTracks)!==(null==(a=o.media)?void 0:a.textTracks),C=(null==(s=d.media)?void 0:s.videoRenditions)!==(null==(h=o.media)?void 0:h.videoRenditions),M=(null==(f=d.media)?void 0:f.audioTracks)!==(null==(p=o.media)?void 0:p.audioTracks),x=(null==(g=d.media)?void 0:g.remote)!==(null==(v=o.media)?void 0:v.remote),P=d.documentElement!==o.documentElement,O=!!d.media&&(w||I),N=!!(null==(E=d.media)?void 0:E.textTracks)&&(D||I),U=!!(null==(y=d.media)?void 0:y.videoRenditions)&&(C||I),F=!!(null==(b=d.media)?void 0:b.audioTracks)&&(M||I),B=!!(null==(T=d.media)?void 0:T.remote)&&(x||I),$=!!d.documentElement&&(P||I),H=O||N||U||F||B||$,G=0===l.length&&1===t&&n,K=!!o.media&&(w||G),W=!!(null==(A=o.media)?void 0:A.textTracks)&&(D||G),V=!!(null==(S=o.media)?void 0:S.videoRenditions)&&(C||G),q=!!(null==(k=o.media)?void 0:k.audioTracks)&&(M||G),Y=!!(null==(R=o.media)?void 0:R.remote)&&(x||G),j=!!o.documentElement&&(P||G),Q=K||W||V||q||Y||j;
270if(!(H||Q)){Object.entries(o).forEach(([e,t])=>{d[e]=t}),c(),o=void 0;return}Object.entries(r).forEach(([e,{get:t,mediaEvents:i=[],textTracksEvents:r=[],videoRenditionsEvents:a=[],audioTracksEvents:s=[],remoteEvents:n=[],rootEvents:l=[],stateOwnersUpdateHandlers:h=[]}])=>{let c;m[e]||(m[e]={});let f=i=>{u({[e]:t(d,i)})};c=m[e].mediaEvents,i.forEach(t=>{c&&O&&(d.media.removeEventListener(t,c),m[e].mediaEvents=void 0),K&&(o.media.addEventListener(t,f),m[e].mediaEvents=f)}),c=m[e].textTracksEvents,r.forEach(t=>{var i,r;c&&N&&(null==(i=d.media.textTracks)||i.removeEventListener(t,c),m[e].textTracksEvents=void 0),W&&(null==(r=o.media.textTracks)||r.addEventListener(t,f),m[e].textTracksEvents=f)}),c=m[e].videoRenditionsEvents,a.forEach(t=>{var i,r;c&&U&&(null==(i=d.media.videoRenditions)||i.removeEventListener(t,c),m[e].videoRenditionsEvents=void 0),V&&(null==(r=o.media.videoRenditions)||r.addEventListener(t,f),m[e].videoRenditionsEvents=f)}),c=m[e].audioTracksEvents,s.forEach(t=>{var i,r;c&&F&&(null==(i=d.media.audioTracks)||i.removeEventListener(t,c),m[e].audioTracksEvents=void 0),q&&(null==(r=o.media.audioTracks)||r.addEventListener(t,f),m[e].audioTracksEvents=f)}),c=m[e].remoteEvents,n.forEach(t=>{var i,r;c&&B&&(null==(i=d.media.remote)||i.removeEventListener(t,c),m[e].remoteEvents=void 0),Y&&(null==(r=o.media.remote)||r.addEventListener(t,f),m[e].remoteEvents=f)}),c=m[e].rootEvents,l.forEach(t=>{c&&$&&(d.documentElement.removeEventListener(t,c),m[e].rootEvents=void 0),j&&(o.documentElement.addEventListener(t,f),m[e].rootEvents=f)});let p=m[e].stateOwnersUpdateHandlers;if(p&&H&&(Array.isArray(p)?p:[p]).forEach(e=>{"function"==typeof e&&e()}),Q){let t=h.map(e=>e(f,o)).filter(e=>"function"==typeof e);m[e].stateOwnersUpdateHandlers=1===t.length?t[0]:t}else H&&(m[e].stateOwnersUpdateHandlers=void 0)}),Object.entries(o).forEach(([e,t])=>{d[e]=t}),c(),o=void 0};return f({media:e,fullscreenElement:t,documentElement:i,options:s}),{dispatch(e){let{type:t,detail:i}=e;a[t]&&null==h.mediaErrorCode?u(a[t](r,d,e)):"mediaelementchangerequest"===t?f({media:i}):"fullscreenelementchangerequest"===t?f({fullscreenElement:i}):"documentelementchangerequest"===t?f({documentElement:i}):"optionschangerequest"===t&&(Object.entries(null!=i?i:{}).forEach(([e,t])=>{d.options[e]=t}),c())},getState:()=>h,subscribe:e=>(f({},l.length+1),l.push(e),e(h),()=>{let t=l.indexOf(e);t>=0&&(f({},l.length-1),l.splice(t,1))})}})({media:this.media,fullscreenElement:this.fullscreenElement,options:{defaultSubtitles:this.hasAttribute(mL),defaultDuration:this.hasAttribute(mw)?+this.getAttribute(mw):void 0,defaultStreamType:null!=(e=this.getAttribute(mI))?e:void 0,liveEdgeOffset:this.hasAttribute(mB)?+this.getAttribute(mB):void 0,seekToLiveOffset:this.hasAttribute(mq)?+this.getAttribute(mq):this.hasAttribute(mB)?+this.getAttribute(mB):void 0,noAutoSeekToLive:this.hasAttribute(m$),noVolumePref:this.hasAttribute(mV),noMutedPref:this.hasAttribute(mK),noSubtitlesLangPref:this.hasAttribute(mW)}})},E_=new WeakMap,EA=new WeakSet,ES=function(e){var t;let{metaKey:i,altKey:r,key:a,shiftKey:s}=e,n=s&&("/"===a||"?"===a);if(n&&(null==(t=m_(this,Ep))?void 0:t.open)||i||r||!n&&!mR.includes(a))return void this.removeEventListener("keyup",m_(this,E_));let o=e.target,l=o instanceof HTMLElement&&("media-volume-range"===o.tagName.toLowerCase()||"media-time-range"===o.tagName.toLowerCase());![" ","ArrowLeft","ArrowRight","ArrowUp","ArrowDown"].includes(a)||m_(this,Ec).contains(`no${a.toLowerCase()}`)||" "===a&&m_(this,Ec).contains("nospace")||l||e.preventDefault(),this.addEventListener("keyup",m_(this,E_),{once:!0})},Ek=new WeakSet,ER=function(){m_(this,Ep)||(mS(this,Ep,ci.createElement("media-keyboard-shortcuts-dialog")),this.appendChild(m_(this,Ep))),m_(this,Ep).open=!0};let mj=Object.values(uP),mQ=Object.values(uM),mz=e=>{var t,i,r,a;let{observedAttributes:s}=e.constructor;!s&&(null==(t=e.nodeName)?void 0:t.includes("-"))&&(ct.customElements.upgrade(e),{observedAttributes:s}=e.constructor);let n=null==(a=null==(r=null==(i=null==e?void 0:e.getAttribute)?void 0:i.call(e,uC.MEDIA_CHROME_ATTRIBUTES))?void 0:r.split)?void 0:a.call(r,/\s+/);return Array.isArray(s||n)?(s||n).filter(e=>mj.includes(e)):[]},mX=e=>{var t,i;return(null==(t=e.nodeName)?void 0:t.includes("-"))&&ct.customElements.get(null==(i=e.nodeName)?void 0:i.toLowerCase())&&!(e instanceof ct.customElements.get(e.nodeName.toLowerCase()))&&ct.customElements.upgrade(e),mQ.some(t=>t in e)||!!mz(e).length},mZ=e=>{var t;return null==(t=null==e?void 0:e.join)?void 0:t.call(e,":")},mJ={[uP.MEDIA_SUBTITLES_LIST]:c1,[uP.MEDIA_SUBTITLES_SHOWING]:c1,[uP.MEDIA_SEEKABLE]:mZ,[uP.MEDIA_BUFFERED]:e=>null==e?void 0:e.map(mZ).join(" "),[uP.MEDIA_PREVIEW_COORDS]:e=>null==e?void 0:e.join(" "),[uP.MEDIA_RENDITION_LIST]:function(e){return null==e?void 0:e.map(uW).join(" ")},[uP.MEDIA_AUDIO_TRACK_LIST]:function(e){return null==e?void 0:e.map(uq).join(" ")}},m0=async(e,t,i)=>{var r,a;if(e.isConnected||await uz(0),"boolean"==typeof i||null==i)return cA(e,t,i);if("number"==typeof i)return cT(e,t,i);if("string"==typeof i)return ck(e,t,i);if(Array.isArray(i)&&!i.length)return e.removeAttribute(t);let s=null!=(a=null==(r=mJ[t])?void 0:r.call(mJ,i))?a:i;return e.setAttribute(t,s)},m1=(e,t)=>{var i;if(null==(i=e.closest)?void 0:i.call(e,'*[slot="media"]'))return;let r=(e,t)=>{var i,r;mX(e)&&t(e);let{children:a=[]}=null!=e?e:{};[...a,...null!=(r=null==(i=null==e?void 0:e.shadowRoot)?void 0:i.children)?r:[]].forEac
270h(e=>m1(e,t))},a=null==e?void 0:e.nodeName.toLowerCase();a.includes("-")&&!mX(e)?ct.customElements.whenDefined(a).then(()=>{r(e,t)}):r(e,t)},m2=(e,t,i)=>{e.forEach(e=>{if(t in e){e[t]=i;return}let r=mz(e),a=t.toLowerCase();r.includes(a)&&m0(e,a,i)})},m3=(e,t,i)=>{m1(e,t);let r=e=>{var i;t(null!=(i=null==e?void 0:e.composedPath()[0])?i:e.target)},a=e=>{var t;i(null!=(t=null==e?void 0:e.composedPath()[0])?t:e.target)};e.addEventListener(uD.REGISTER_MEDIA_STATE_RECEIVER,r),e.addEventListener(uD.UNREGISTER_MEDIA_STATE_RECEIVER,a);let s=[],n=e=>{let r=e.target;"media"!==r.name&&(s.forEach(e=>m1(e,i)),(s=[...r.assignedElements({flatten:!0})]).forEach(e=>m1(e,t)))};e.addEventListener("slotchange",n);let o=new MutationObserver(e=>{e.forEach(e=>{let{addedNodes:r=[],removedNodes:a=[],type:s,target:n,attributeName:o}=e;"childList"===s?(Array.prototype.forEach.call(r,e=>m1(e,t)),Array.prototype.forEach.call(a,e=>m1(e,i))):"attributes"===s&&o===uC.MEDIA_CHROME_ATTRIBUTES&&(mX(n)?t(n):i(n))})});return o.observe(e,{childList:!0,attributes:!0,subtree:!0}),()=>{m1(e,i),e.removeEventListener("slotchange",n),o.disconnect(),e.removeEventListener(uD.REGISTER_MEDIA_STATE_RECEIVER,r),e.removeEventListener(uD.UNREGISTER_MEDIA_STATE_RECEIVER,a)}};ct.customElements.get("media-controller")||ct.customElements.define("media-controller",mY);let m4="placement",m5="bounds";class m8 extends ct.HTMLElement{constructor(){if(super(),this.updateXOffset=()=>{var e;if(!cv(this,{checkOpacity:!1,checkVisibilityCSS:!1}))return;let t=this.placement;if("left"===t||"right"===t)return void this.style.removeProperty("--media-tooltip-offset-x");let i=getComputedStyle(this),r=null!=(e=cf(this,"#"+this.bounds))?e:cd(this);if(!r)return;let{x:a,width:s}=r.getBoundingClientRect(),{x:n,width:o}=this.getBoundingClientRect(),l=i.getPropertyValue("--media-tooltip-offset-x"),d=l?parseFloat(l.replace("px","")):0,h=i.getPropertyValue("--media-tooltip-container-margin"),u=h?parseFloat(h.replace("px","")):0,c=n-a+d-u,m=n+o-(a+s)+d+u;c<0?this.style.setProperty("--media-tooltip-offset-x",`${c}px`):m>0?this.style.setProperty("--media-tooltip-offset-x",`${m}px`):this.style.removeProperty("--media-tooltip-offset-x")},!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=cl(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}if(this.arrowEl=this.shadowRoot.querySelector("#arrow"),Object.prototype.hasOwnProperty.call(this,"placement")){const e=this.placement;delete this.placement,this.placement=e}}static get observedAttributes(){return[m4,m5]}get placement(){return cS(this,m4)}set placement(e){ck(this,m4,e)}get bounds(){return cS(this,m5)}set bounds(e){ck(this,m5,e)}}m8.shadowRootOptions={mode:"open"},m8.getTemplateHTML=function(e){return` 271 <style> 272 :host { 273 --_tooltip-background-color: var(--media-tooltip-background-color, var(--media-secondary-color, rgba(20, 20, 30, .7))); 274 --_tooltip-background: var(--media-tooltip-background, var(--_tooltip-background-color)); 275 --_tooltip-arrow-half-width: calc(var(--media-tooltip-arrow-width, 12px) / 2); 276 --_tooltip-arrow-height: var(--media-tooltip-arrow-height, 5px); 277 --_tooltip-arrow-background: var(--media-tooltip-arrow-color, var(--_tooltip-background-color)); 278 position: relative; 279 pointer-events: none; 280 display: var(--media-tooltip-display, inline-flex); 281 justify-content: center; 282 align-items: center; 283 box-sizing: border-box; 284 z-index: var(--media-tooltip-z-index, 1); 285 background: var(--_tooltip-background); 286 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 287 font: var(--media-font, 288 var(--media-font-weight, 400) 289 var(--media-font-size, 13px) / 290 var(--media-text-content-height, var(--media-control-height, 18px)) 291 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 292 padding: var(--media-tooltip-padding, .35em .7em); 293 border: var(--media-tooltip-border, none); 294 border-radius: var(--media-tooltip-border-radius, 5px); 295 filter: var(--media-tooltip-filter, drop-shadow(0 0 4px rgba(0, 0, 0, .2))); 296 white-space: var(--media-tooltip-white-space, nowrap); 297 } 298 299 :host([hidden]) { 300 display: none; 301 } 302 303 img, svg { 304 display: inline-block; 305 } 306 307 #arrow { 308 position: absolute; 309 width: 0px; 310 height: 0px; 311 border-style: solid; 312 display: var(--media-tooltip-arrow-display, block); 313 } 314 315 :host(:not([placement])), 316 :host([placement="top"]) { 317 position: absolute; 318 bottom: calc(100% + var(--media-tooltip-distance, 12px)); 319 left: 50%; 320 transform: translate(calc(-50% - var(--media-tooltip-offset-x, 0px)), 0
320); 321 } 322 :host(:not([placement])) #arrow, 323 :host([placement="top"]) #arrow { 324 top: 100%; 325 left: 50%; 326 border-width: var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width) 0 var(--_tooltip-arrow-half-width); 327 border-color: var(--_tooltip-arrow-background) transparent transparent transparent; 328 transform: translate(calc(-50% + var(--media-tooltip-offset-x, 0px)), 0); 329 } 330 331 :host([placement="right"]) { 332 position: absolute; 333 left: calc(100% + var(--media-tooltip-distance, 12px)); 334 top: 50%; 335 transform: translate(0, -50%); 336 } 337 :host([placement="right"]) #arrow { 338 top: 50%; 339 right: 100%; 340 border-width: var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width) 0; 341 border-color: transparent var(--_tooltip-arrow-background) transparent transparent; 342 transform: translate(0, -50%); 343 } 344 345 :host([placement="bottom"]) { 346 position: absolute; 347 top: calc(100% + var(--media-tooltip-distance, 12px)); 348 left: 50%; 349 transform: translate(calc(-50% - var(--media-tooltip-offset-x, 0px)), 0); 350 } 351 :host([placement="bottom"]) #arrow { 352 bottom: 100%; 353 left: 50%; 354 border-width: 0 var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height) var(--_tooltip-arrow-half-width); 355 border-color: transparent transparent var(--_tooltip-arrow-background) transparent; 356 transform: translate(calc(-50% + var(--media-tooltip-offset-x, 0px)), 0); 357 } 358 359 :host([placement="left"]) { 360 position: absolute; 361 right: calc(100% + var(--media-tooltip-distance, 12px)); 362 top: 50%; 363 transform: translate(0, -50%); 364 } 365 :host([placement="left"]) #arrow { 366 top: 50%; 367 left: 100%; 368 border-width: var(--_tooltip-arrow-half-width) 0 var(--_tooltip-arrow-half-width) var(--_tooltip-arrow-height); 369 border-color: transparent transparent transparent var(--_tooltip-arrow-background); 370 transform: translate(0, -50%); 371 } 372 373 :host([placement="none"]) #arrow { 374 display: none; 375 } 376 </style> 377 <slot></slot> 378 <div id="arrow"></div> 379 `},ct.customElements.get("media-tooltip")||ct.customElements.define("media-tooltip",m8);var m9=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},m6=(e,t,i)=>(m9(e,t,"read from private field"),i?i.call(e):t.get(e)),m7=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},fe=(e,t,i,r)=>(m9(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);let ft="tooltipplacement",fi="disabled",fr="notooltip";class fa extends ct.HTMLElement{constructor(){if(super(),m7(this,EM),m7(this,EL,void 0),this.preventClick=!1,this.tooltipEl=null,m7(this,EI,e=>{this.preventClick||this.handleClick(e),setTimeout(m6(this,Ew),0)}),m7(this,Ew,()=>{var e,t;null==(t=null==(e=this.tooltipEl)?void 0:e.updateXOffset)||t.call(e)}),m7(this,ED,e=>{let{key:t}=e;this.keysUsed.includes(t)?this.preventClick||this.handleClick(e):this.removeEventListener("keyup",m6(this,ED))}),m7(this,EC,e=>{let{metaKey:t,altKey:i,key:r}=e;t||i||!this.keysUsed.includes(r)?this.removeEventListener("keyup",m6(this,ED)):this.addEventListener("keyup",m6(this,ED),{once:!0})}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=cl(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}this.tooltipEl=this.shadowRoot.querySelector("media-tooltip")}static get observedAttributes(){return["disabled",ft,uC.MEDIA_CONTROLLER,uP.MEDIA_LANG]}enable(){this.addEventListener("click",m6(this,EI)),this.addEventListener("keydown",m6(this,EC)),this.tabIndex=0}disable(){this.removeEventListener("click",m6(this,EI)),this.removeEventListener("keydown",m6(this,EC)),this.removeEventListener("keyup",m6(this,ED)),this.tabIndex=-1}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===uC.MEDIA_CONTROLLER?(t&&(null==(a=null==(r=m6(this,EL))?void 0:r.unassociateElement)||a.call(r,this),fe(this,EL,null)),i&&this.isConnected&&(fe(this,EL,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=m6(this,EL))?void 0:n.associateElement)||o.call(n,this))):"disabled"===e&&i!==t?null==i?this.enable():this.disable():e===ft&&this.tooltipEl&&i!==t?this.tooltipEl.placement=i:e===uP.MEDIA_LA
379NG&&(this.shadowRoot.querySelector('slot[name="tooltip-content"]').innerHTML=this.constructor.getTooltipContentHTML()),m6(this,Ew).call(this)}connectedCallback(){var e,t,i;let{style:r}=cE(this.shadowRoot,":host");r.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),this.hasAttribute("disabled")?this.disable():this.enable(),this.setAttribute("role","button");let a=this.getAttribute(uC.MEDIA_CONTROLLER);a&&(fe(this,EL,null==(e=this.getRootNode())?void 0:e.getElementById(a)),null==(i=null==(t=m6(this,EL))?void 0:t.associateElement)||i.call(t,this)),ct.customElements.whenDefined("media-tooltip").then(()=>{var e,t;return(e=EM,t=Ex,m9(this,e,"access private method"),t).call(this)})}disconnectedCallback(){var e,t;this.disable(),null==(t=null==(e=m6(this,EL))?void 0:e.unassociateElement)||t.call(e,this),fe(this,EL,null),this.removeEventListener("mouseenter",m6(this,Ew)),this.removeEventListener("focus",m6(this,Ew)),this.removeEventListener("click",m6(this,EI))}get keysUsed(){return["Enter"," "]}get tooltipPlacement(){return cS(this,ft)}set tooltipPlacement(e){ck(this,ft,e)}get mediaController(){return cS(this,uC.MEDIA_CONTROLLER)}set mediaController(e){ck(this,uC.MEDIA_CONTROLLER,e)}get disabled(){return c_(this,fi)}set disabled(e){cA(this,fi,e)}get noTooltip(){return c_(this,fr)}set noTooltip(e){cA(this,fr,e)}handleClick(e){}}EL=new WeakMap,EI=new WeakMap,Ew=new WeakMap,ED=new WeakMap,EC=new WeakMap,EM=new WeakSet,Ex=function(){this.addEventListener("mouseenter",m6(this,Ew)),this.addEventListener("focus",m6(this,Ew)),this.addEventListener("click",m6(this,EI));let e=this.tooltipPlacement;e&&this.tooltipEl&&(this.tooltipEl.placement=e)},fa.shadowRootOptions={mode:"open"},fa.getTemplateHTML=function(e,t={}){return` 380 <style> 381 :host { 382 position: relative; 383 font: var(--media-font, 384 var(--media-font-weight, bold) 385 var(--media-font-size, 14px) / 386 var(--media-text-content-height, var(--media-control-height, 24px)) 387 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 388 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 389 background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))); 390 padding: var(--media-button-padding, var(--media-control-padding, 10px)); 391 justify-content: var(--media-button-justify-content, center); 392 display: inline-flex; 393 align-items: center; 394 vertical-align: middle; 395 box-sizing: border-box; 396 transition: background .15s linear; 397 pointer-events: auto; 398 cursor: var(--media-cursor, pointer); 399 -webkit-tap-highlight-color: transparent; 400 } 401 402 403 :host(:focus-visible) { 404 box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9)); 405 outline: 0; 406 } 407 408 :host(:where(:focus)) { 409 box-shadow: none; 410 outline: 0; 411 } 412 413 :host(:hover) { 414 background: var(--media-control-hover-background, rgba(50 50 70 / .7)); 415 } 416 417 svg, img, ::slotted(svg), ::slotted(img) { 418 width: var(--media-button-icon-width); 419 height: var(--media-button-icon-height, var(--media-control-height, 24px)); 420 transform: var(--media-button-icon-transform); 421 transition: var(--media-button-icon-transition); 422 fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))); 423 vertical-align: middle; 424 max-width: 100%; 425 max-height: 100%; 426 min-width: 100%; 427 } 428 429 media-tooltip { 430 431 max-width: 0; 432 overflow-x: clip; 433 opacity: 0; 434 transition: opacity .3s, max-width 0s 9s; 435 } 436 437 :host(:hover) media-tooltip, 438 :host(:focus-visible) media-tooltip { 439 max-width: 100vw; 440 opacity: 1; 441 transition: opacity .3s; 442 } 443 444 :host([notooltip]) slot[name="tooltip"] { 445 display: none; 446 } 447 </style> 448 449 ${this.getSlotTemplateHTML(e,t)} 450 451 <slot name="tooltip"> 452 <media-tooltip part="tooltip" aria-hidden="true"> 453 <template shadowrootmode="${m8.shadowRootOptions.mode}"> 454 ${m8.getTemplateHTML({})} 455 </template> 456 <slot name="tooltip-content"> 457 ${this.getTooltipContentHTML(e)} 458 </slot> 459 </media-tooltip> 460 </slot> 461 `},fa.getSlotTemplateHTML=function(e,t){return` 462 <slot></slot> 463 `},fa.getTooltipContentHTML=function(){return""},ct.customElements.get("media-chrome-button")||ct.customElements.define("media-chrome-button",fa);let fs=`<svg aria-hidden="true" viewBox="0 0 26 24"> 464 <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"/> 465</svg> 466`,fn=e=>{let t=e.mediaIsAirplaying?uJ("stop airplay"):uJ("start airplay");e.setAttribute("aria-label",t)};class fo extends fa{static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_IS_AIRPLAYING,uP.MEDIA_AIRPLAY_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),fn(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===uP.MEDIA_IS_AIRPLAYING&&fn(this)}get mediaIsAirplaying(){return c_(this,uP.MEDIA_IS_AIRPLAYING)}set mediaIsAirplaying(e){cA(this,uP.MEDIA_IS_AIRPLAYING,e)}get mediaAirplayUnavailable(){return cS(this,uP.MEDIA_AIRPLAY_UNAVAILABLE)}set mediaAirplayUnavailable(e){ck(this,uP.MEDIA_AIRPLAY_UNAVAILABLE,e)}handleClick(){let e=new ct.CustomEvent(uD.MEDIA_AIRPLAY_REQUEST,{composed:!0,bubbles:!0});this.dispatchEvent(e)}}fo.getSlotTemplateHTML=function(e){return` 467 <style> 468 :host([${uP.MEDIA_IS_AIRPLAYING}]) slot[name=icon] slot:not([name=exit]) { 469 display: none !important; 470 } 471 472 473 :host(:not([${uP.MEDIA_IS_AIRPLAYING}])) slot[name=icon] slot:not([name=enter]) { 474 display: none !important; 475 } 476 477 :host([${uP.MEDIA_IS_AIRPLAYING}]) slot[name=tooltip-enter], 478 :host(:not([${uP.MEDIA_IS_AIRPLAYING}])) slot[name=tooltip-exit] { 479 display: none; 480 } 481 </style> 482 483 <slot name="icon"> 484 <slot name="enter">${fs}</slot> 485 <slot name="exit">${fs}</slot> 486 </slot> 487 `},fo.getTooltipContentHTML=function(){return` 488 <slot name="tooltip-enter">${uJ("start airplay")}</slot> 489 <slot name="tooltip-exit">${uJ("stop airplay")}</slot> 490 `},ct.customElements.get("media-airplay-button")||ct.customElements.define("media-airplay-button",fo);let fl=`<svg aria-hidden="true" viewBox="0 0 26 24"> 491 <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
4910 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"/> 492</svg>`,fd=`<svg aria-hidden="true" viewBox="0 0 26 24"> 493 <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"/> 494</svg>`,fh=e=>{e.setAttribute("aria-checked",c5(e).toString())};class fu extends fa{static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_SUBTITLES_LIST,uP.MEDIA_SUBTITLES_SHOWING]}connectedCallback(){super.connectedCallback(),this.setAttribute("role","button"),this.setAttribute("aria-label",uJ("closed captions")),fh(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===uP.MEDIA_SUBTITLES_SHOWING&&fh(this)}get mediaSubtitlesList(){return fc(this,uP.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){fm(this,uP.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return fc(this,uP.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){fm(this,uP.MEDIA_SUBTITLES_SHOWING,e)}handleClick(){this.dispatchEvent(new ct.CustomEvent(uD.MEDIA_TOGGLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0}))}}fu.getSlotTemplateHTML=function(e){return` 495 <style> 496 :host([aria-checked="true"]) slot[name=off] { 497 display: none !important; 498 } 499 500 501 :host(:not([aria-checked="true"])) slot[name=on] { 502 display: none !important; 503 } 504 505 :host([aria-checked="true"]) slot[name=tooltip-enable], 506 :host(:not([aria-checked="true"])) slot[name=tooltip-disable] { 507 display: none; 508 } 509 </style> 510 511 <slot name="icon"> 512 <slot name="on">${fl}</slot> 513 <slot name="off">${fd}</slot> 514 </slot> 515 `},fu.getTooltipContentHTML=function(){return` 516 <slot name="tooltip-enable">${uJ("Enable captions")}</slot> 517 <slot name="tooltip-disable">${uJ("Disable captions")}</slot> 518 `};let fc=(e,t)=>{let i=e.getAttribute(t);return i?cZ(i):[]},fm=(e,t,i)=>{if(!(null==i?void 0:i.length))return void e.removeAttribute(t);let r=c1(i);e.getAttribute(t)!==r&&e.setAttribute(t,r)};ct.customElements.get("media-captions-button")||ct.customElements.define("media-captions-button",fu);let ff=e=>{let t=e.mediaIsCasting?uJ("stop casting"):uJ("start casting");e.setAttribute("aria-label",t)};class fp extends fa{static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_IS_CASTING,uP.MEDIA_CAST_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),ff(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===uP.MEDIA_IS_CASTING&&ff(this)}get mediaIsCasting(){return c_(this,uP.MEDIA_IS_CASTING)}set mediaIsCasting(e){cA(this,uP.MEDIA_IS_CASTING,e)}get mediaCastUnavailable(){return cS(this,uP.MEDIA_CAST_UNAVAILABLE)}set mediaCastUnavailable(e){ck(this,uP.MEDIA_CAST_UNAVAILABLE,e)}handleClick(){let e=this.mediaIsCasting?uD.MEDIA_EXIT_CAST_REQUEST:uD.MEDIA_ENTER_CAST_REQUEST;this.dispatchEvent(new ct.CustomEvent(e,{composed:!0,bubbles:!0}))}}fp.getSlotTemplateHTML=function(e){return` 519 <style> 520 :host([${uP.MEDIA_IS_CASTING}]) slot[name=icon] slot:not([name=exit]) { 521 display: none !important; 522 } 523 524 525 :host(:not([${uP.MEDIA_IS_CASTING}])) slot[name=icon] slot:not([name=enter]) { 526 display: none !important; 527 } 528 529 :host([${uP.MEDIA_IS_CASTING}]) slot[name=tooltip-enter], 530 :host(:not([${uP.MEDIA_IS_CASTING}])) slot[name=tooltip-exit] { 531 display: none; 532 } 533 </style> 534 535 <slot name="icon"> 536 <slot name="enter"><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></slot> 537 <slot name="exit"><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></slot> 538 </slot> 539 `},fp.getTooltipContentHTML=function(){return` 540 <slot name="tooltip-enter">${uJ("Start casting")}</slot> 541 <slot name="tooltip-exit">${uJ("Stop casting")}</slot> 542 `},ct.customElements.get("media-cast-button")||ct.customElements.define("media-cast-button",fp);var fg=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fv=(e,t,i)=>(fg(e,t,"read from private field"),i?i.call(e):t.get(e)),fE=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},fy=(e,t,i,r)=>(fg(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),fb=(e,t,i)=>(fg(e,t,"access private method"),i);let fT="open";class f_ extends ct.HTMLElement{constructor(){super(),fE(this,EU),fE(this,EB),fE(this,EH),fE(this,EK),fE(this,EV),fE(this,EY),fE(this,EP,!1),fE(this,EO,null),fE(this,EN,null)}static get observedAttributes(){return[fT,"anchor"]}get open(){return c_(this,fT)}set open(e){cA(this,fT,e)}handleEvent(e){switch(e.type){case"invoke":fb(this,EK,EW).call(this,e);break;case"focusout":fb(this,EV,Eq).call(this,e);break;case"keydown":fb(this,EY,Ej).call(this,e)}}connectedCallback(){fb(this,EU,EF).call(this),this.role||(this.role="dialog"),this.addEventListener("invoke",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this)}disconnectedCallback(){this.removeEventListener("invoke",this),this.removeEventListener("focusout",this),this.removeEventListener("keydown",this)}attributeChangedCallback(e,t,i){fb(this,EU,EF).call(this),e===fT&&i!==t&&(this.open?fb(this,EB,E$).call(this):fb(this,EH,EG).call(this))}focus(){fy(this,EO,cp());let e=!this.dispatchEvent(new Event("focus",{composed:!0,cancelable:!0})),t=!this.dispatchEvent(new Event("focusin",{composed:!0,bubbles:!0,cancelable:!0}));if(e||t)return;
542let i=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');null==i||i.focus()}get keysUsed(){return["Escape","Tab"]}}EP=new WeakMap,EO=new WeakMap,EN=new WeakMap,EU=new WeakSet,EF=function(){if(!fv(this,EP)&&(fy(this,EP,!0),!this.shadowRoot)){this.attachShadow(this.constructor.shadowRootOptions);let e=cl(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e),queueMicrotask(()=>{let{style:e}=cE(this.shadowRoot,":host");e.setProperty("transition","display .15s, visibility .15s, opacity .15s ease-in, transform .15s ease-in")})}},EB=new WeakSet,E$=function(){var e;null==(e=fv(this,EN))||e.setAttribute("aria-expanded","true"),this.dispatchEvent(new Event("open",{composed:!0,bubbles:!0})),this.addEventListener("transitionend",()=>this.focus(),{once:!0})},EH=new WeakSet,EG=function(){var e;null==(e=fv(this,EN))||e.setAttribute("aria-expanded","false"),this.dispatchEvent(new Event("close",{composed:!0,bubbles:!0}))},EK=new WeakSet,EW=function(e){fy(this,EN,e.relatedTarget),cm(this,e.relatedTarget)||(this.open=!this.open)},EV=new WeakSet,Eq=function(e){var t;!cm(this,e.relatedTarget)&&(null==(t=fv(this,EO))||t.focus(),fv(this,EN)&&fv(this,EN)!==e.relatedTarget&&this.open&&(this.open=!1))},EY=new WeakSet,Ej=function(e){var t,i,r,a,s;let{key:n,ctrlKey:o,altKey:l,metaKey:d}=e;o||l||d||this.keysUsed.includes(n)&&(e.preventDefault(),e.stopPropagation(),"Tab"===n?(e.shiftKey?null==(i=null==(t=this.previousElementSibling)?void 0:t.focus)||i.call(t):null==(a=null==(r=this.nextElementSibling)?void 0:r.focus)||a.call(r),this.blur()):"Escape"===n&&(null==(s=fv(this,EO))||s.focus(),this.open=!1))},f_.shadowRootOptions={mode:"open"},f_.getTemplateHTML=function(e){return` 543 <style> 544 :host { 545 font: var(--media-font, 546 var(--media-font-weight, normal) 547 var(--media-font-size, 14px) / 548 var(--media-text-content-height, var(--media-control-height, 24px)) 549 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 550 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 551 display: var(--media-dialog-display, inline-flex); 552 justify-content: center; 553 align-items: center; 554 555 transition-behavior: allow-discrete; 556 visibility: hidden; 557 opacity: 0; 558 transform: translateY(2px) scale(.99); 559 pointer-events: none; 560 } 561 562 :host([open]) { 563 transition: display .2s, visibility 0s, opacity .2s ease-out, transform .15s ease-out; 564 visibility: visible; 565 opacity: 1; 566 transform: translateY(0) scale(1); 567 pointer-events: auto; 568 } 569 570 #content { 571 display: flex; 572 position: relative; 573 box-sizing: border-box; 574 width: min(320px, 100%); 575 word-wrap: break-word; 576 max-height: 100%; 577 overflow: auto; 578 text-align: center; 579 line-height: 1.4; 580 } 581 </style> 582 ${this.getSlotTemplateHTML(e)} 583 `},f_.getSlotTemplateHTML=function(e){return` 584 <slot id="content"></slot> 585 `},ct.customElements.get("media-chrome-dialog")||ct.customElements.define("media-chrome-dialog",f_);var fA=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fS=(e,t,i)=>(fA(e,t,"read from private field"),i?i.call(e):t.get(e)),fk=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},fR=(e,t,i,r)=>(fA(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),fL=(e,t,i)=>(fA(e,t,"access private method"),i);class fI extends ct.HTMLElement{constructor(){if(super(),fk(this,E4),fk(this,E8),fk(this,E6),fk(this,ye),fk(this,yi),fk(this,ya),fk(this,yn),fk(this,yl),fk(this,EQ,void 0),fk(this,Ez,void 0),fk(this,EX,void 0),fk(this,EZ,void 0),fk(this,EJ,{}),fk(this,E0,[]),fk(this,E1,()=>{if(this.range.matches(":focus-visible")){let{style:e}=cE(this.shadowRoot,":host");e.setProperty("--_focus-visible-box-shadow","var(--_focus-box-shadow)")}}),fk(this,E2,()=>{let{style:e}=cE(this.shadowRoot,":host");e.removeProperty("--_focus-visible-box-shadow")}),fk(this,E3,()=>{let e=this.shadowRoot.querySelector("#segments-clipping");e&&e.parentNode.append(e)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=cl(this.attributes),t=this.constructor.getTemplateHTML(e);this.shadowRoot.setHTMLUnsafe?this.shadowRoot.setHTMLUnsafe(t):this.shadowRoot.innerHTML=t}this.container=this.shadowRoot.querySelector("#container"),fR(this,EX,this.shadowRoot.querySelector("#startpoint")),fR(this,EZ,this.shadowRoot.querySelector("#endpoint")),this.range=this.shadowRoot.querySelector("#range"),this.appearance=this.shadowRoot.querySelector("#appearance")}static get observedAttributes(){return["disabled","aria-disabled",uC.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===uC.MEDIA_CONTROLLER?(t&&(null==(a=null==(r=fS(this,EQ))?void 0:r.unassociateElement)||a.call(r,this),fR(this,EQ,null)),i&&this.isConnected&&(fR(this,EQ,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=fS(this,EQ))?void 0:n.associateElement)||o.call(n,this))):("disabled"===e||"aria-disabled"===e&&t!==i)&&(null==i?(this.range.removeAttribute(e),fL(this,E8,E9).call(this)):(this.range.setAttribute(e,i),fL(this,E6,E7).call(this)))}connectedCallback(){var e,t,i;let{style:r}=cE(this.shadowRoot,":host");r.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`),fS(this,EJ).pointer=cE(this.shadowRoot,"#pointer"),fS(this,EJ).progress=cE(this.shadowRoot,"#progress"),fS(this,EJ).thumb=cE(this.shadowRoot,'#thumb, ::slotted([slot="thumb"])'),fS(this,EJ).activeSegment=cE(this.shadowRoot,"#segments-clipping rect:nth-child(0)");let a=this.getAttribute(uC.MEDIA_CONTROLLER);a&&(fR(this,EQ,null==(e=this.getRootNode())?void 0:e.getElementById(a)),null==(i=null==(t=fS(this,EQ))?void 0:t.associateElement)||i.call(t,this)),this.updateBar(),this.shadowRoot.addEventListener("focusin",fS(this,E1)),this.shadowRoot.addEventListener("focusout",fS(this,E2)),fL(this,E8,E9).call(this),cn(this.container,fS(this,E3))}disconnectedCallback(){var e,t;fL(this,E6,E7).call(this),null==(t=null==(e=fS(this,EQ))?void 0:e.unassociateElement)||t.call(e,this),fR(this,EQ,null),this.shadowRoot.removeEventListener("focusin",fS(this,E1)),this.shadowRoot.removeEventListener("focusout",fS(this,E2)),co(this.container,fS(this,E3))}updatePointerBar(e){var t;null==(t=fS(this,EJ).pointer)||t.style.setProperty("width",`${100*this.getPointerRatio(e)}%`)}updateBar(){var e,t;let i=100*this.range.valueAsNumber;null==(e=fS(this,EJ).progress)||e.style.setProperty("width",`${i}%`),null==(t=fS(this,EJ).thumb)||t.style.setProperty("left",`${i}%`)}updateSegments(e){let t=this.shadowRoot.querySelector("#segments-clipping");if(t.textContent="",this.container.classList.toggle("segments",!!(null==e?void 0:e.length)),!(null==e?void 0:e.length))return;let i=[...new Set([+this.range.min,...e.flatMap(e=>[e.start,e.end]),+this.range.max])];fR(this,E0,[...i]);let r=i.pop();for(let[e,a]of i.entries()){let[s,n]=[0===e,e===i.length-1],o=s?"calc(var(--segments-gap) / -1)":`${100*a}%`,l=n?r:i[e+1],d=`calc(${(l-a)*100}%${s||n?"":" - var(--segments-gap)"})`,h=ci.createElementNS("http://www.w3.org/2000/svg","rect"),u=cy(this.shadowRoot,`#segments-clipping rect:nth-child(${e+1})`);u.style.setProperty("x",o),u.style.setProperty("width",d),t.append(h)}}getPointerRatio(e){var t,i,r,a;let s,n,o;return t=e.clientX,i=e.clientY,r=fS(this,EX).getBoundingClientRect(),s=(a=fS(this,EZ).getBoundingClientRect()).x-r.x,0==(o=s*s+(n=a.y-r.y)*n)?0:Math.max(0,Math.min(1,((t-r.x)*s+(i-r.y)*n)/o))}get dragging(){return this.hasAttribute("dragging")}handleEvent(e){switch(e.type){case"pointermove":fL(this,yl,yd).call(this,e);break;case"input":this.updateBar();break;case"pointerenter":fL(this,yi,yr).call(this,e);break;case"pointerdown":fL(this,ye,yt).call(this,e);break;case"pointerup":fL(this,ya,ys).call(this);break;case"pointerleave":fL(this,yn,yo).call(this)}}get keysUsed(){return["ArrowUp","ArrowRight","ArrowDown","ArrowLeft"]}}EQ=new WeakMap,Ez=new WeakMap,EX=new WeakMap,EZ=new WeakMap,EJ=new WeakMap,E0=new WeakMap,E1=new WeakMap,E2=ne
585w WeakMap,E3=new WeakMap,E4=new WeakSet,E5=function(e){let t=fS(this,EJ).activeSegment;if(!t)return;let i=this.getPointerRatio(e),r=fS(this,E0).findIndex((e,t,r)=>{let a=r[t+1];return null!=a&&i>=e&&i<=a}),a=`#segments-clipping rect:nth-child(${r+1})`;t.selectorText==a&&t.style.transform||(t.selectorText=a,t.style.setProperty("transform","var(--media-range-segment-hover-transform, scaleY(2))"))},E8=new WeakSet,E9=function(){!this.hasAttribute("disabled")&&this.isConnected&&(this.addEventListener("input",this),this.addEventListener("pointerdown",this),this.addEventListener("pointerenter",this))},E6=new WeakSet,E7=function(){var e,t;this.removeEventListener("input",this),this.removeEventListener("pointerdown",this),this.removeEventListener("pointerenter",this),this.removeEventListener("pointerleave",this),null==(e=ct.window)||e.removeEventListener("pointerup",this),null==(t=ct.window)||t.removeEventListener("pointermove",this)},ye=new WeakSet,yt=function(e){var t;fR(this,Ez,e.composedPath().includes(this.range)),null==(t=ct.window)||t.addEventListener("pointerup",this,{once:!0})},yi=new WeakSet,yr=function(e){var t;"mouse"!==e.pointerType&&fL(this,ye,yt).call(this,e),this.addEventListener("pointerleave",this,{once:!0}),null==(t=ct.window)||t.addEventListener("pointermove",this)},ya=new WeakSet,ys=function(){var e;null==(e=ct.window)||e.removeEventListener("pointerup",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled")},yn=new WeakSet,yo=function(){var e,t;this.removeEventListener("pointerleave",this),null==(e=ct.window)||e.removeEventListener("pointermove",this),this.toggleAttribute("dragging",!1),this.range.disabled=this.hasAttribute("disabled"),null==(t=fS(this,EJ).activeSegment)||t.style.removeProperty("transform")},yl=new WeakSet,yd=function(e){("pen"!==e.pointerType||0!==e.buttons)&&(this.toggleAttribute("dragging",1===e.buttons||"mouse"!==e.pointerType),this.updatePointerBar(e),fL(this,E4,E5).call(this,e),this.dragging&&("mouse"!==e.pointerType||!fS(this,Ez))&&(this.range.disabled=!0,this.range.valueAsNumber=this.getPointerRatio(e),this.range.dispatchEvent(new Event("input",{bubbles:!0,composed:!0}))))},fI.shadowRootOptions={mode:"open"},fI.getTemplateHTML=function(e){return` 586 <style> 587 :host { 588 --_focus-box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9)); 589 --_media-range-padding: var(--media-range-padding, var(--media-control-padding, 10px)); 590 591 box-shadow: var(--_focus-visible-box-shadow, none); 592 background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))); 593 height: calc(var(--media-control-height, 24px) + 2 * var(--_media-range-padding)); 594 display: inline-flex; 595 align-items: center; 596 597 vertical-align: middle; 598 box-sizing: border-box; 599 position: relative; 600 width: 100px; 601 transition: background .15s linear; 602 cursor: var(--media-cursor, pointer); 603 pointer-events: auto; 604 touch-action: none; 605 } 606 607 608 input[type=range]:focus { 609 outline: 0; 610 } 611 input[type=range]:focus::-webkit-slider-runnable-track { 612 outline: 0; 613 } 614 615 :host(:hover) { 616 background: var(--media-control-hover-background, rgb(50 50 70 / .7)); 617 } 618 619 #leftgap { 620 padding-left: var(--media-range-padding-left, var(--_media-range-padding)); 621 } 622 623 #rightgap { 624 padding-right: var(--media-range-padding-right, var(--_media-range-padding)); 625 } 626 627 #startpoint, 628 #endpoint { 629 position: absolute; 630 } 631 632 #endpoint { 633 right: 0; 634 } 635 636 #container { 637 638 width: var(--media-range-track-width, 100%); 639 transform: translate(var(--media-range-track-translate-x, 0px), var(--media-range-track-translate-y, 0px)); 640 position: relative; 641 height: 100%; 642 display: flex; 643 align-items: center; 644 min-width: 40px; 645 } 646 647 #range { 648 649 display: var(--media-time-range-hover-display, block); 650 bottom: var(--media-time-range-hover-bottom, -7px); 651 height: var(--media-time-range-hover-height, max(100% + 7px, 25px)); 652 width: 100%; 653 position: absolute; 654 cursor: var(--media-cursor, pointer); 655 656 -webkit-appearance: none; 657 -webkit-tap-highlight-color: transparent; 658 background: transparent; 659 margin: 0; 660 z-index: 1; 661 } 662 663 @media (hover: hover) { 664 #range { 665 bottom: var(--media-time-range-hover-bottom, -5px); 666 height: var(--media-time-range-hover-height, max(100% + 5px
vendor: 4,756 bytes, lines 666-821
666, 20px)); 667 } 668 } 669 670 671 672 #range::-webkit-slider-thumb { 673 -webkit-appearance: none; 674 background: transparent; 675 width: .1px; 676 height: .1px; 677 } 678 679 680 #range::-moz-range-thumb { 681 background: transparent; 682 border: transparent; 683 width: .1px; 684 height: .1px; 685 } 686 687 #appearance { 688 height: var(--media-range-track-height, 4px); 689 display: flex; 690 flex-direction: column; 691 justify-content: center; 692 width: 100%; 693 position: absolute; 694 695 will-change: transform; 696 } 697 698 #track { 699 background: var(--media-range-track-background, rgb(255 255 255 / .2)); 700 border-radius: var(--media-range-track-border-radius, 1px); 701 border: var(--media-range-track-border, none); 702 outline: var(--media-range-track-outline); 703 outline-offset: var(--media-range-track-outline-offset); 704 backdrop-filter: var(--media-range-track-backdrop-filter); 705 -webkit-backdrop-filter: var(--media-range-track-backdrop-filter); 706 box-shadow: var(--media-range-track-box-shadow, none); 707 position: absolute; 708 width: 100%; 709 height: 100%; 710 overflow: hidden; 711 } 712 713 #progress, 714 #pointer { 715 position: absolute; 716 height: 100%; 717 will-change: width; 718 } 719 720 #progress { 721 background: var(--media-range-bar-color, var(--media-primary-color, rgb(238 238 238))); 722 transition: var(--media-range-track-transition); 723 } 724 725 #pointer { 726 background: var(--media-range-track-pointer-background); 727 border-right: var(--media-range-track-pointer-border-right); 728 transition: visibility .25s, opacity .25s; 729 visibility: hidden; 730 opacity: 0; 731 } 732 733 @media (hover: hover) { 734 :host(:hover) #pointer { 735 transition: visibility .5s, opacity .5s; 736 visibility: visible; 737 opacity: 1; 738 } 739 } 740 741 #thumb, 742 ::slotted([slot=thumb]) { 743 width: var(--media-range-thumb-width, 10px); 744 height: var(--media-range-thumb-height, 10px); 745 transition: var(--media-range-thumb-transition); 746 transform: var(--media-range-thumb-transform, none); 747 opacity: var(--media-range-thumb-opacity, 1); 748 translate: -50%; 749 position: absolute; 750 left: 0; 751 cursor: var(--media-cursor, pointer); 752 } 753 754 #thumb { 755 border-radius: var(--media-range-thumb-border-radius, 10px); 756 background: var(--media-range-thumb-background, var(--media-primary-color, rgb(238 238 238))); 757 box-shadow: var(--media-range-thumb-box-shadow, 1px 1px 1px transparent); 758 border: var(--media-range-thumb-border, none); 759 } 760 761 :host([disabled]) #thumb { 762 background-color: #777; 763 } 764 765 .segments #appearance { 766 height: var(--media-range-segment-hover-height, 7px); 767 } 768 769 #track { 770 clip-path: url(#segments-clipping); 771 } 772 773 #segments { 774 --segments-gap: var(--media-range-segments-gap, 2px); 775 position: absolute; 776 width: 100%; 777 height: 100%; 778 } 779 780 #segments-clipping { 781 transform: translateX(calc(var(--segments-gap) / 2)); 782 } 783 784 #segments-clipping:empty { 785 display: none; 786 } 787 788 #segments-clipping rect { 789 height: var(--media-range-track-height, 4px); 790 y: calc((var(--media-range-segment-hover-height, 7px) - var(--media-range-track-height, 4px)) / 2); 791 transition: var(--media-range-segment-transition, transform .1s ease-in-out); 792 transform: var(--media-range-segment-transform, scaleY(1)); 793 transform-origin: center; 794 } 795 796 /* Visible label for accessibility - positioned off-screen but technically visible (Firefox requires visible labels) */ 797 #range-label { 798 position: absolute; 799 left: -10000px; 800 background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))); 801 pointer-events: none; 802 } 803 </style> 804 <div id="leftgap"></div> 805 <div id="container"> 806 <div id="startpoint"></div> 807 <div id="endpoint"></div> 808 <div id="appearance"> 809 <div id="track" part="track"> 810 <div id="pointer"></div> 811 <div id="progress" part="progress"></div> 812 </div> 813 <slot name="thumb"> 814 <div id="thumb" part="thumb"></div> 815 </slot> 816 <svg id="segments" aria-hidden="true"><clipPath id="segments-clipping"></clipPath></svg> 817 </div> 818 <input id="range" type="range" min="0" max="1" step="any" value="0"> 819 <label for="range" id="range-label"></label> 820 821 ${this.getContainerTemplateHTML(
821e)} 822 </div> 823 <div id="rightgap"></div> 824 `},fI.getContainerTemplateHTML=function(e){return""},ct.customElements.get("media-chrome-range")||ct.customElements.define("media-chrome-range",fI);var fw=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fD=(e,t,i)=>(fw(e,t,"read from private field"),i?i.call(e):t.get(e)),fC=(e,t,i,r)=>(fw(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class fM extends ct.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,yh,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=cl(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[uC.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===uC.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=fD(this,yh))?void 0:r.unassociateElement)||a.call(r,this),fC(this,yh,null)),i&&this.isConnected&&(fC(this,yh,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=fD(this,yh))?void 0:n.associateElement)||o.call(n,this)))}connectedCallback(){var e,t,i;let r=this.getAttribute(uC.MEDIA_CONTROLLER);r&&(fC(this,yh,null==(e=this.getRootNode())?void 0:e.getElementById(r)),null==(i=null==(t=fD(this,yh))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=fD(this,yh))?void 0:e.unassociateElement)||t.call(e,this),fC(this,yh,null)}}yh=new WeakMap,fM.shadowRootOptions={mode:"open"},fM.getTemplateHTML=function(e){return` 825 <style> 826 :host { 827 828 box-sizing: border-box; 829 display: var(--media-control-display, var(--media-control-bar-display, inline-flex)); 830 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 831 --media-loading-indicator-icon-height: 44px; 832 } 833 834 ::slotted(media-time-range), 835 ::slotted(media-volume-range) { 836 min-height: 100%; 837 } 838 839 ::slotted(media-time-range), 840 ::slotted(media-clip-selector) { 841 flex-grow: 1; 842 } 843 844 ::slotted([role="menu"]) { 845 position: absolute; 846 } 847 </style> 848 849 <slot></slot> 850 `},ct.customElements.get("media-control-bar")||ct.customElements.define("media-control-bar",fM);var fx=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fP=(e,t,i)=>(fx(e,t,"read from private field"),i?i.call(e):t.get(e)),fO=(e,t,i,r)=>(fx(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class fN extends ct.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,yu,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=cl(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[uC.MEDIA_CONTROLLER]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===uC.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=fP(this,yu))?void 0:r.unassociateElement)||a.call(r,this),fO(this,yu,null)),i&&this.isConnected&&(fO(this,yu,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=fP(this,yu))?void 0:n.associateElement)||o.call(n,this)))}connectedCallback(){var e,t,i;let{style:r}=cE(this.shadowRoot,":host");r.setProperty("display",`var(--media-control-display, var(--${this.localName}-display, inline-flex))`);let a=this.getAttribute(uC.MEDIA_CONTROLLER);a&&(fO(this,yu,null==(e=this.getRootNode())?void 0:e.getElementById(a)),null==(i=null==(t=fP(this,yu))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=fP(this,yu))?void 0:e.unassociateElement)||t.call(e,this),fO(this,yu,null)}}yu=new WeakMap,fN.shadowRootOptions={mode:"open"},fN.getTemplateHTML=function(e,t={}){return` 851 <style> 852 :host { 853 font: var(--media-font, 854 var(--media-font-weight, normal) 855 var(--media-font-size, 14px) / 856 var(--media-text-content-height, var(--media-control-height, 24px)) 857 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 858 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 859 background: var(--media-text-background, var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7)))); 860 padding: var(--media-control-padding, 10px); 861 display: inline-flex; 862 justify-content: center; 863 align-items: center; 864 vertical-align: middle; 865 box-sizing: border-box; 866 text-align: center; 867 pointer-events: auto; 868 } 869 870 871 :host(:focus-visible) {
872 box-shadow: var(--media-focus-box-shadow, inset 0 0 0 2px rgb(27 127 204 / .9)); 873 outline: 0; 874 } 875 876 877 :host(:where(:focus)) { 878 box-shadow: none; 879 outline: 0; 880 } 881 </style> 882 883 ${this.getSlotTemplateHTML(e,t)} 884 `},fN.getSlotTemplateHTML=function(e,t){return` 885 <slot></slot> 886 `},ct.customElements.get("media-text-display")||ct.customElements.define("media-text-display",fN);var fU=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},fF=(e,t,i)=>(fU(e,t,"read from private field"),i?i.call(e):t.get(e));class fB extends fN{constructor(){var e;super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,yc,void 0),((e,t,i,r)=>(fU(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,yc,this.shadowRoot.querySelector("slot")),fF(this,yc).textContent=u2(null!=(e=this.mediaDuration)?e:0)}static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_DURATION]}attributeChangedCallback(e,t,i){e===uP.MEDIA_DURATION&&(fF(this,yc).textContent=u2(+i)),super.attributeChangedCallback(e,t,i)}get mediaDuration(){return cb(this,uP.MEDIA_DURATION)}set mediaDuration(e){cT(this,uP.MEDIA_DURATION,e)}}yc=new WeakMap,fB.getSlotTemplateHTML=function(e,t){return` 887 <slot>${u2(t.mediaDuration)}</slot> 888 `},ct.customElements.get("media-duration-display")||ct.customElements.define("media-duration-display",fB);let f$={2:uJ("Network Error"),3:uJ("Decode Error"),4:uJ("Source Not Supported"),5:uJ("Encryption
888Error")},fH={2:uJ("A network error caused the media download to fail."),3:uJ("A media error caused playback to be aborted. The media could be corrupt or your browser does not support this format."),4:uJ("An unsupported error occurred. The server or network failed, or your browser does not support this format."),5:uJ("The media is encrypted and there are no keys to decrypt it.")},fG=e=>{var t,i;return 1===e.code?null:{title:null!=(t=f$[e.code])?t:`Error ${e.code}`,message:null!=(i=fH[e.code])?i:e.message}};var fK=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};function fW(e){var t;let{title:i,message:r}=null!=(t=fG(e))?t:{},a="";return i&&(a+=`<slot name="error-${e.code}-title"><h3>${i}</h3></slot>`),r&&(a+=`<slot name="error-${e.code}-message"><p>${r}</p></slot>`),a}let fV=[uP.MEDIA_ERROR_CODE,uP.MEDIA_ERROR_MESSAGE];class fq extends f_{constructor(){super(...arguments),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,ym,null)}static get observedAttributes(){return[...super.observedAttributes,...fV]}formatErrorMessage(e){return this.constructor.formatErrorMessage(e)}attributeChangedCallback(e,t,i){var r;if(super.attributeChangedCallback(e,t,i),!fV.includes(e))return;let a=null!=(r=this.mediaError)?r:{code:this.mediaErrorCode,message:this.mediaErrorMessage};if(this.open=a.code&&null!==fG(a),this.open&&(this.shadowRoot.querySelector("slot").name=`error-${this.mediaErrorCode}`,this.shadowRoot.querySelector("#content").innerHTML=this.formatErrorMessage(a),!this.hasAttribute("aria-label"))){let{title:e}=fG(a);e&&this.setAttribute("aria-label",e)}}get mediaError(){var e,t;return fK(this,e=ym,"read from private field"),t?t.call(this):e.get(this)}set mediaError(e){var t,i;fK(this,t=ym,"write to private field"),i?i.call(this,e):t.set(this,e)}get mediaErrorCode(){return cb(this,"mediaerrorcode")}set mediaErrorCode(e){cT(this,"mediaerrorcode",e)}get mediaErrorMessage(){return cS(this,"mediaerrormessage")}set mediaErrorMessage(e){ck(this,"mediaerrormessage",e)}}ym=new WeakMap,fq.getSlotTemplateHTML=function(e){return` 889 <style> 890 :host { 891 background: rgb(20 20 30 / .8); 892 } 893 894 #content { 895 display: block; 896 padding: 1.2em 1.5em; 897 } 898 899 h3, 900 p { 901 margin-block: 0 .3em; 902 } 903 </style> 904 <slot name="error-${e.mediaerrorcode}" id="content"> 905 ${fW({code:+e.mediaerrorcode,message:e.mediaerrormessage})} 906 </slot> 907 `},fq.formatErrorMessage=fW,ct.customElements.get("media-error-dialog")||ct.customElements.define("media-error-dialog",fq);var fY=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot read from private field");return i?i.call(e):t.get(e)},fj=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)};class fQ extends f_{constructor(){super(...arguments),fj(this,yf,e=>{var t;if(!this.open)return;let i=null==(t=this.shadowRoot)?void 0:t.querySelector("#content");if(!i)return;let r=e.composedPath(),a=r[0]===this||r.includes(this),s=r.includes(i);a&&!s&&(this.open=!1)}),fj(this,yp,e=>{if(!this.open)return;let t=e.shiftKey&&("/"===e.key||"?"===e.key);"Escape"!==e.key&&!t||e.ctrlKey||e.altKey||e.metaKey||(this.open=!1,e.preventDefault(),e.stopPropagation())})}connectedCallback(){super.connectedCallback(),this.open&&(this.addEventListener("click",fY(this,yf)),document.addEventListener("keydown",fY(this,yp)))}disconnectedCallback(){this.removeEventListener("click",fY(this,yf)),document.removeEventListener("keydown",fY(this,yp))}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),"open"===e&&(this.open?(this.addEventListener("click",fY(this,yf)),document.addEventListener("keydown",fY(this,yp))):(this.removeEventListener("click",fY(this,yf)),document.removeEventListener("keydown",fY(this,yp))))}}yf=new WeakMap,yp=new WeakMap,fQ.getSlotTemplateHTML=function(e){let t;return` 908 <style> 909 :host { 910 position: fixed; 911 top: 0; 912 left: 0; 913 z-index: 9999; 914 background: rgb(20 20 30 / .8); 915 backdrop-filter: blur(10px); 916 } 917 918 #content { 919 display: block; 920 width: clamp(400px, 40vw, 700px); 921 max-width: 90vw; 922 text-align: left; 923 } 924 925 h2 { 926 margin: 0 0 1.5rem 0; 927 font-size: 1.5rem; 928 font-weight: 500; 929 text-align: center; 930 } 931 932 .shortcuts-table { 933 width: 100%; 934 border-collapse: collapse; 935 } 936 937 .shortcuts-table tr { 938 border-bottom: 1px solid rgba(255, 255, 255, 0.1); 939 } 940 941 .shortcuts-table tr:last-child { 942 border-bottom: none; 943 } 944 945 .shortcuts-table td { 946 padding: 0.75rem 0.5rem; 947 } 948 949 .shortcuts-table td:first-child { 950 text-align: right; 951 padding-right: 1rem; 952 width: 40%; 953 min-width: 120px; 954 } 955 956 .shortcuts-table td:last-child { 957 padding-left: 1rem; 958 } 959 960 .key { 961 display: inline-block; 962 background: rgba(255, 255, 255, 0.15); 963 border: 1px solid rgba(255, 255, 255, 0.2); 964 border-radius: 4px; 965 padding: 0.25rem 0.5rem; 966 font-family: 'Courier New', monospace; 967 font-size: 0.9rem; 968 font-weight: 500; 969 min-width: 1.5rem; 970 text-align: center; 971 margin: 0 0.2rem; 972 } 973 974 .description { 975 color: rgba(255, 255, 255, 0.9); 976 font-size: 0.95rem; 977 } 978 979 .key-combo { 980 display: flex; 981 align-items: center; 982 justify-content: flex-end; 983 gap: 0.3rem; 984 } 985 986 .key-separator { 987 color: rgba(255, 255, 255, 0.5); 988 font-size: 0.9rem; 989 } 990 </style> 991 <slot id="content"> 992 ${t=[{keys:["Space","k"],description:"Toggle Playback"},{keys:["m"],description:"Toggle mute"},{keys:["f"],description:"Toggle fullscreen"},{keys:["c"],description:"Toggle captions or subtitles, if available"},{keys:["p"],description:"Toggle Picture in Picture"},{keys:["â","j"],description:"Seek back 10s"},{keys:["â","l"],description:"Seek forward 10s"},{keys:["â"],description:"Turn volume up"},{keys:["â"],description:"Turn volume down"},{keys:["< (SHIFT+,)"],description:"Decrease playback rate"},{keys:["> (SHIFT+.)"],description:"Increase playback rate"}].map(({keys:e,description:t})=>{let i=e.map((e,t)=>t>0?`<span class="key-separator">or</span><span class="key">${e}</span>`:`<span class="key">${e}</span>`).join("");return` 993 <tr> 994 <td> 995 <div class="key-combo">${i}</div> 996 </td> 997 <td class="description">${t}</td> 998 </tr> 999 `}).join(""),` 1000 <h2>Keyboard Shortcuts</h2> 1001 <table class="shortcuts-table">${t}</table> 1002 `} 1003 </slot> 1004 `},ct.customElements.get("media-keyboard-shortcuts-dialog")||ct.customElements.define("media-keyboard-shortcuts-dialog",fQ);var fz=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};let fX=`<svg aria-hidden="true" viewBox="0 0 26 24"> 1005 <path d="M16 3v2.5h3.5V9H22V3h-6ZM4 9h2.5V5.5H10V3H4v6Zm15.5 9.5H16V21h6v-6h-2.5v3.5ZM6.5 15H4v6h6v-2.5H6.5V15Z"/> 1006</svg>`,fZ=`<svg aria-hidden="true" viewBox="0 0 26 24"> 1007 <path d="M18.5 6.5V3H16v6h6V6.5h-3.5ZM16 21h2.5v-3.5H22V15h-6v6ZM4 17.5h3.5V21H10v-6H4v2.5Zm3.5-11H4V9h6V3H7.5v3.5Z"/> 1008</svg>`,fJ=e=>{let t=e.mediaIsFullscreen?uJ("exit fullscreen mode"):uJ("enter fullscreen mode");e.setAttribute("aria-label",t)};class f0 extends fa{constructor(){super(...arguments),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,yg,null)}static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_IS_FULLSCREEN,uP.MEDIA_FULLSCREEN_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),fJ(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===uP.MEDIA_IS_FULLSCREEN&&fJ(this)}get mediaFullscreenUnavailable(){return cS(this,uP.MEDIA_FULLSCREEN_UNAVAILABLE)}set mediaFullscreenUnavailable(e){ck(this,uP.MEDIA_FULLSCREEN_UNAVAILABLE,e)}get mediaIsFullscreen(){return c_(this,uP.MEDIA_IS_FULLSCREEN)}set mediaIsFullscreen(e){cA(this,uP.MEDIA_IS_FULLSCREEN,e)}handleClick(e){var t,i,r,a;fz(this,t=yg,"write to private field"),i?i.call(this,e):t.set(this,e);let s=(fz(this,r=yg,"read from private field"),(a?a.call(this):r.get(this))instanceof PointerEvent),n=this.mediaIsFullscreen?new ct.CustomEvent(uD.MEDIA_EXIT_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0}):new ct.CustomEvent(uD.MEDIA_ENTER_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0,detail:s});this.dispatchEvent(n)}}yg=new WeakMap,f0.getSlotTemplateHTML=function(e){return` 1009 <style> 1010 :host([${uP.MEDIA_IS_FULLSCREEN}]) slot[name=icon] slot:not([name=exit]) { 1011 display: none !important; 1012 } 1013 1014 1015 :host(:not([${uP.MEDIA_IS_FULLSCREEN}])) slot[name=icon] slot:not([name=enter]) { 1016 display: none !important; 1017 } 1018 1019 :host([${uP.MEDIA_IS_FULLSCREEN}]) slot[name=tooltip-enter], 1020 :host(:not([${uP.MEDIA_IS_FULLSCREEN}])) slot[name=tooltip-exit] { 1021 display: none; 1022 } 1023 </style> 1024 1025 <slot name="icon"> 1026 <slot name="enter">${fX}</slot> 1027 <slot name="exit">${fZ}</slot> 1028 </slot> 1029 `},f0.getTooltipContentHTML=function(){return` 1030 <slot name="tooltip-enter">${uJ("Enter fullscreen mode")}</slot> 1031 <slot name="tooltip-exit">${uJ("Exit fullscreen mode")}</slot> 1032 `},ct.customElements.get("media-fullscreen-button")||ct.customElements.define("media-fullscreen-button",f0);let{MEDIA_TIME_IS_LIVE:f1,MEDIA_PAUSED:f2}=uP,{MEDIA_SEEK_TO_LIVE_REQUEST:f3,MEDIA_PLAY_REQUEST:f4}=uD,f5=e=>{var t;let i=e.mediaPaused||!e.mediaTimeIsLive,r=i?uJ("seek to live"):uJ("playing live");e.setAttribute("aria-label",r);let a=null==(t=e.shadowRoot)?void 0:t.querySelector('slot[name="text"]');a&&(a.textContent=uJ("live")),i?e.removeAttribute("aria-disabled"):e.setAttribute("aria-disabled","true")};class f8 extends fa{static get observedAttributes(){return[...super.observedAttributes,f1,f2]}connectedCallback(){super.connectedCallback(),f5(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),f5(this)}get mediaPaused(){return c_(this,uP.MEDIA_PAUSED)}set mediaPaused(e){cA(this,uP.MEDIA_PAUSED,e)}get mediaTimeIsLive(){return c_(this,uP.MEDIA_TIME_IS_LIVE)}set mediaTimeIsLive(e){cA(this,uP.MEDIA_TIME_IS_LIVE,e)}handleClick(){(this.mediaPaused||!this.mediaTimeIsLive)&&(this.dispatchEvent(new ct.CustomEvent(f3,{composed:!0,bubbles:!0})),this.hasAttribute(f2)&&this.dispatchEvent(new ct.CustomEvent(f4,{composed:!0,bubbles:!0})))}}f8.getSlotTemplateHTML=function(e){return` 1033 <style> 1034 :host { --media-tooltip-display: none; } 1035 1036 slot[name=indicator] > *, 1037 :host ::slotted([slot=indicator]) { 1038 1039 min-width: auto; 1040 fill: var(--media-live-button-icon-color, rgb(140, 140, 140)); 1041 color: var(--media-live-button-icon-color, rgb(140, 140, 140)); 1042 } 1043 1044 :host([${f1}]:not([${f2}])) slot[name=indicator] > *, 1045 :host([${f1}]:not([${f2}])) ::slotted([slot=indicator]) { 1046 fill: var(--media-live-button-indicator-color, rgb(255, 0, 0)); 1047 color: var(--media-live-button-indicator-color, rgb(255, 0, 0)); 1048 } 1049 1050 :host([${f1}]:not([${f2}])) { 1051 cursor: var(--media-cursor, not-allowed); 1052 } 1053 1054 slot[name=text]{ 1055 text-transform: uppercase; 1056 } 1057 1058 </style> 1059 1060 <slot name="indicator"><svg viewBox="0 0 6 12" aria-hidden="true"><circle cx="3" cy="6" r="2"></circle></svg></slot> 1061 1062 <slot name="spacer"> </slot><slot name="text">${uJ("live")}</slot> 1063 `},ct.customElements.get("media-live-button")||ct.customElements.define("media-live-button",f8);var f9=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},f6=(e,t,i)=>
1063(f9(e,t,"read from private field"),i?i.call(e):t.get(e)),f7=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},pe=(e,t,i,r)=>(f9(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);let pt="loadingdelay",pi="noautohide",pr=` 1064<svg aria-hidden="true" viewBox="0 0 100 100"> 1065 <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"> 1066 <animateTransform 1067 attributeName="transform" 1068 attributeType="XML" 1069 type="rotate" 1070 dur="1s" 1071 from="0 50 50" 1072 to="360 50 50" 1073 repeatCount="indefinite" /> 1074 </path> 1075</svg> 1076`;class pa extends ct.HTMLElement{constructor(){if(super(),f7(this,yv,void 0),f7(this,yE,500),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=cl(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[uC.MEDIA_CONTROLLER,uP.MEDIA_PAUSED,uP.MEDIA_LOADING,pt]}attributeChangedCallback(e,t,i){var r,a,s,n,o;e===pt&&t!==i?this.loadingDelay=Number(i):e===uC.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=f6(this,yv))?void 0:r.unassociateElement)||a.call(r,this),pe(this,yv,null)),i&&this.isConnected&&(pe(this,yv,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=f6(this,yv))?void 0:n.associateElement)||o.call(n,this)))}connectedCallback(){var e,t,i;let r=this.getAttribute(uC.MEDIA_CONTROLLER);r&&(pe(this,yv,null==(e=this.getRootNode())?void 0:e.getElementById(r)),null==(i=null==(t=f6(this,yv))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=f6(this,yv))?void 0:e.unassociateElement)||t.call(e,this),pe(this,yv,null)}get loadingDelay(){return f6(this,yE)}set loadingDelay(e){pe(this,yE,e);let{style:t}=cE(this.shadowRoot,":host");t.setProperty("--_loading-indicator-delay",`var(--media-loading-indicator-transition-delay, ${e}ms)`)}get mediaPaused(){return c_(this,uP.MEDIA_PAUSED)}set mediaPaused(e){cA(this,uP.MEDIA_PAUSED,e)}get mediaLoading(){return c_(this,uP.MEDIA_LOADING)}set mediaLoading(e){cA(this,uP.MEDIA_LOADING,e)}get mediaController(){return cS(this,uC.MEDIA_CONTROLLER)}set mediaController(e){ck(this,uC.MEDIA_CONTROLLER,e)}get noAutohide(){return c_(this,pi)}set noAutohide(e){cA(this,pi,e)}}yv=new WeakMap,yE=new WeakMap,pa.shadowRootOptions={mode:"open"},pa.getTemplateHTML=function(e){return` 1077 <style> 1078 :host { 1079 display: var(--media-control-display, var(--media-loading-indicator-display, inline-block)); 1080 vertical-align: middle; 1081 box-sizing: border-box; 1082 --_loading-indicator-delay: var(--media-loading-indicator-transition-delay, 500ms); 1083 } 1084 1085 #status { 1086 color: rgba(0,0,0,0); 1087 width: 0px; 1088 height: 0px; 1089 } 1090 1091 :host slot[name=icon] > *, 1092 :host ::slotted([slot=icon]) { 1093 opacity: var(--media-loading-indicator-opacity, 0); 1094 transition: opacity 0.15s; 1095 } 1096 1097 :host([${uP.MEDIA_LOADING}]:not([${uP.MEDIA_PAUSED}])) slot[name=icon] > *, 1098 :host([${uP.MEDIA_LOADING}]:not([${uP.MEDIA_PAUSED}])) ::slotted([slot=icon]) { 1099 opacity: var(--media-loading-indicator-opacity, 1); 1100 transition: opacity 0.15s var(--_loading-indicator-delay); 1101 } 1102 1103 :host #status { 1104 visibility: var(--media-loading-indicator-opacity, hidden); 1105 transition: visibility 0.15s; 1106 } 1107 1108 :host([${uP.MEDIA_LOADING}]:not([${uP.MEDIA_PAUSED}])) #status { 1109 visibility: var(--media-loading-indicator-opacity, visible); 1110 transition: visibility 0.15s var(--_loading-indicator-delay); 1111 } 1112 1113 svg, img, ::slotted(svg), ::slotted(img) { 1114 width: var(--media-loading-indicator-icon-width); 1115 height: var(--media-loading-indicator-icon-height, 100px); 1116 fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))); 1117 vertical-align: middle; 1118 } 1119 </style> 1120 1121 <slot name="icon">${pr}</slot> 1122 <div id="status" role="status" aria-live="polite">${uJ("media loading")}</div> 1123 `},ct.customElements.get("media-loading-indicator")||ct.customElements.define("media-loading-indicator",pa);let ps=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1124 <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"/> 1125</svg>`,pn=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1126 <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"/> 1127</svg>`,po=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1128 <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"/> 1129</svg>`,pl=e=>{let t="off"===e.mediaVolumeLevel?uJ("unmute"):uJ("mute");e.setAttribute("aria-label",t)};class pd extends fa{static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_VOLUME_LEVEL]}connectedCallback(){super.connectedCallback(),pl(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===uP.MEDIA_VOLUME_LEVEL&&pl(this)}get mediaVolumeLevel(){return cS(this,uP.MEDIA_VOLUME_LEVEL)}set mediaVolumeLevel(e){ck(this,uP.MEDIA_VOLUME_LEVEL,e)}handleClick(){let e="off"===this.mediaVolumeLevel?uD.MEDIA_UNMUTE_REQUEST:uD.MEDIA_MUTE_REQUEST;this.dispatchEvent(new ct.CustomEvent(e,{composed:!0,bubbles:!0}))}}pd.getSlotTemplateHTML=function(e){return` 1130 <style> 1131 :host(:not([${uP.MEDIA_VOLUME_LEVEL}])) slot[name=icon] slot:not([name=high]), 1132 :host([${uP.MEDIA_VOLUME_LEVEL}=high]) slot[name=icon] slot:not([name=high]) { 1133 display: none !important; 1134 } 1135 1136 :host([${uP.MEDIA_VOLUME_LEVEL}=off]) slot[name=icon] slot:not([name=off]) { 1137 display: none !important; 1138 } 1139 1140 :host([${uP.MEDIA_VOLUME_LEVEL}=low]) slot[name=icon] slot:not([name=low]) { 1141 display: none !important; 1142 } 1143 1144 :host([${uP.MEDIA_VOLUME_LEVEL}=medium]) slot[name=icon] slot:not([name=medium]) { 1145 display: none !important; 1146 } 1147 1148 :host(:not([${uP.MEDIA_VOLUME_LEVEL}=off])) slot[name=tooltip-unmute], 1149 :host([${uP.MEDIA_VOLUME_LEVEL}=off]) slot[name=tooltip-mute] { 1150 display: none; 1151 } 1152 </style> 1153 1154 <slot name="icon"> 1155 <slot name="off">${ps}</slot> 1156 <slot name="low">${pn}</slot> 1157 <slot name="medium">${pn}</slot> 1158 <slot name="high">${po}</slot> 1159 </slot> 1160 `},pd.getTooltipContentHTML=function(){return` 1161 <slot name="tooltip-mute">${uJ("Mute")}</slot> 1162 <slot name="tooltip-unmute">${uJ("Unmute")}</slot> 1163 `},ct.customElements.get("media-mute-button")||ct.customElements.define("media-mute-button",pd);let ph=`<svg aria-hidden="true" viewBox="0 0 28 24"> 1164 <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"/> 1165</svg>`,pu=e=>{let t=e.mediaIsPip?uJ("exit picture in picture mode"):uJ("enter picture in picture mode");e.setAttribute("aria-label",t)};class pc extends fa{static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_IS_PIP,uP.MEDIA_PIP_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),pu(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===uP.MEDIA_IS_PIP&&pu(this)}get mediaPipUnavailable(){return cS(this,uP.MEDIA_PIP_UNAVAILABLE)}set mediaPipUnavailable(e){ck(this,uP.MEDIA_PIP_UNAVAILABLE,e)}get mediaIsPip(){return c_(this,uP.MEDIA_IS_PIP)}set mediaIsPip(e){cA(this,uP.MEDIA_IS_PIP,e)}handleClick(){let e=this.mediaIsPip?uD.MEDIA_EXIT_PIP_REQUEST:uD.MEDIA_ENTER_PIP_REQUEST;this.dispatchEvent(new ct.CustomEvent(e,{composed:!0,bubbles:!0}))}}pc.getSlotTemplateHTML=function(e){return` 1166 <style> 1167 :host([${uP.MEDIA_IS_PIP}]) slot[name=icon] slot:not([name=exit]) { 1168 display: none !important; 1169 } 1170 1171 :host(:not([${uP.MEDIA_IS_PIP}])) slot[name=icon] slot:not([name=enter]) { 1172 display: none !important; 1173 } 1174 1175 :host([${uP.MEDIA_IS_PIP}]) slot[name=tooltip-enter], 1176 :host(:not([${uP.MEDIA_IS_PIP}])) slot[name=tooltip-exit] { 1177 display: none; 1178 } 1179 </style> 1180 1181 <slot name="icon"> 1182 <slot name="enter">${ph}</slot> 1183 <slot name="exit">${ph}</slot> 1184 </slot> 1185 `},pc.getTooltipContentHTML=function(){return` 1186 <slot name="tooltip-enter">${uJ("Enter picture in picture mode")}</slot> 1187 <slot name="tooltip-exit">${uJ("Exit picture in picture mode")}</slot> 1188 `},ct.customElements.get("media-pip-button")||ct.customElements.define("media-pip-button",pc);var pm=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot read from private field");return i?i.call(e):t.get(e)};let pf="rates",pp=[1,1.2,1.5,1.7,2];class pg extends fa{constructor(){var e;super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,yy,new cz(this,pf,{defaultValue:pp})),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${null!=(e=this.mediaPlaybackRate)?e:1}x`}static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_PLAYBACK_RATE,pf]}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===pf&&(pm(this,yy).value=i),e===uP.MEDIA_PLAYBACK_RATE){let e=i?+i:NaN,t=Number.isNaN(e)?1:e;this.container.innerHTML=`${t}x`,this.setAttribute("aria-label",uJ("Playback rate {playbackRate}",{playbackRate:t}))}}get rates(){return pm(this,yy)}set rates(e){e?Array.isArray(e)?pm(this,yy).value=e.join(" "):"str
1188ing"==typeof e&&(pm(this,yy).value=e):pm(this,yy).value=""}get mediaPlaybackRate(){return cb(this,uP.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){cT(this,uP.MEDIA_PLAYBACK_RATE,e)}handleClick(){var e,t;let i=Array.from(pm(this,yy).values(),e=>+e).sort((e,t)=>e-t),r=null!=(t=null!=(e=i.find(e=>e>this.mediaPlaybackRate))?e:i[0])?t:1,a=new ct.CustomEvent(uD.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:r});this.dispatchEvent(a)}}yy=new WeakMap,pg.getSlotTemplateHTML=function(e){return` 1189 <style> 1190 :host { 1191 min-width: 5ch; 1192 padding: var(--media-button-padding, var(--media-control-padding, 10px 5px)); 1193 } 1194 </style> 1195 <slot name="icon">${e.mediaplaybackrate||1}x</slot> 1196 `},pg.getTooltipContentHTML=function(){return uJ("Playback rate")},ct.customElements.get("media-playback-rate-button")||ct.customElements.define("media-playback-rate-button",pg);let pv=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1197 <path d="m6 21 15-9L6 3v18Z"/> 1198</svg>`,pE=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1199 <path d="M6 20h4V4H6v16Zm8-16v16h4V4h-4Z"/> 1200</svg>`,py=e=>{let t=e.mediaPaused?uJ("play"):uJ("pause");e.setAttribute("aria-label",t)};class pb extends fa{static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_PAUSED,uP.MEDIA_ENDED]}connectedCallback(){super.connectedCallback(),py(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),(e===uP.MEDIA_PAUSED||e===uP.MEDIA_LANG)&&py(this)}get mediaPaused(){return c_(this,uP.MEDIA_PAUSED)}set mediaPaused(e){cA(this,uP.MEDIA_PAUSED,e)}handleClick(){let e=this.mediaPaused?uD.MEDIA_PLAY_REQUEST:uD.MEDIA_PAUSE_REQUEST;this.dispatchEvent(new ct.CustomEvent(e,{composed:!0,bubbles:!0}))}}pb.getSlotTemplateHTML=function(e){return` 1201 <style> 1202 :host([${uP.MEDIA_PAUSED}]) slot[name=pause], 1203 :host(:not([${uP.MEDIA_PAUSED}])) slot[name=play] { 1204 display: none !important; 1205 } 1206 1207 :host([${uP.MEDIA_PAUSED}]) slot[name=tooltip-pause], 1208 :host(:not([${uP.MEDIA_PAUSED}])) slot[name=tooltip-play] { 1209 display: none; 1210 } 1211 </style> 1212 1213 <slot name="icon"> 1214 <slot name="play">${pv}</slot> 1215 <slot name="pause">${pE}</slot> 1216 </slot> 1217 `},pb.getTooltipContentHTML=function(){return` 1218 <slot name="tooltip-play">${uJ("Play")}</slot> 1219 <slot name="tooltip-pause">${uJ("Pause")}</slot> 1220 `},ct.customElements.get("media-play-button")||ct.customElements.define("media-play-button",pb);let pT="placeholdersrc";class p_ extends ct.HTMLElement{static get observedAttributes(){return[pT,"src"]}constructor(){if(super(),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=cl(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.image=this.shadowRoot.querySelector("#image")}attributeChangedCallback(e,t,i){if("src"===e&&(null==i?this.image.removeAttribute("src"):this.image.setAttribute("src",i)),e===pT)if(null==i)this.image.style.removeProperty("background-image");else{var r;r=this.image,r.style["background-image"]=`url('${i}')`}}get placeholderSrc(){return cS(this,pT)}set placeholderSrc(e){ck(this,"src",e)}get src(){return cS(this,"src")}set src(e){ck(this,"src",e)}}p_.shadowRootOptions={mode:"open"},p_.getTemplateHTML=function(e){return` 1221 <style> 1222 :host { 1223 pointer-events: none; 1224 display: var(--media-poster-image-display, inline-block); 1225 box-sizing: border-box; 1226 } 1227 1228 img { 1229 max-width: 100%; 1230 max-height: 100%; 1231 min-width: 100%; 1232 min-height: 100%; 1233 background-repeat: no-repeat; 1234 background-position: var(--media-poster-image-background-position, var(--media-object-position, center)); 1235 background-size: var(--media-poster-image-background-size, var(--media-object-fit, contain)); 1236 object-fit: var(--media-object-fit, contain); 1237 object-position: var(--media-object-position, center); 1238 } 1239 </style> 1240 1241 <img part="poster img" aria-hidden="true" id="image"/> 1242 `},ct.customElements.get("media-poster-image")||ct.customElements.define("media-poster-image",p_);var pA=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)};yb=new WeakMap,ct.customElements.get("media-preview-chapter-display")||ct.customElements.define("media-preview-chapter-display",class extends fN{constructor(){super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,yb,void 0),((e,t,i,r)=>(pA(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,yb,this.shadowRoot.querySelector("slot"))}static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_PREVIEW_CHAPTER,uP.MEDIA_LA
1242NG]}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),(e===uP.MEDIA_PREVIEW_CHAPTER||e===uP.MEDIA_LANG)&&i!==t&&null!=i){var r;if((pA(this,yb,"read from private field"),r?r.call(this):yb.get(this)).textContent=i,""!==i){let e=uJ("chapter: {chapterName}",{chapterName:i});this.setAttribute("aria-valuetext",e)}else this.removeAttribute("aria-valuetext")}}get mediaPreviewChapter(){return cS(this,uP.MEDIA_PREVIEW_CHAPTER)}set mediaPreviewChapter(e){ck(this,uP.MEDIA_PREVIEW_CHAPTER,e)}});var pS=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pk=(e,t,i)=>(pS(e,t,"read from private field"),i?i.call(e):t.get(e)),pR=(e,t,i,r)=>(pS(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class pL extends ct.HTMLElement{constructor(){if(super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,yT,void 0),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=cl(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[uC.MEDIA_CONTROLLER,uP.MEDIA_PREVIEW_IMAGE,uP.MEDIA_PREVIEW_COORDS]}connectedCallback(){var e,t,i;let r=this.getAttribute(uC.MEDIA_CONTROLLER);r&&(pR(this,yT,null==(e=this.getRootNode())?void 0:e.getElementById(r)),null==(i=null==(t=pk(this,yT))?void 0:t.associateElement)||i.call(t,this))}disconnectedCallback(){var e,t;null==(t=null==(e=pk(this,yT))?void 0:e.unassociateElement)||t.call(e,this),pR(this,yT,null)}attributeChangedCallback(e,t,i){var r,a,s,n,o;[uP.MEDIA_PREVIEW_IMAGE,uP.MEDIA_PREVIEW_COORDS].includes(e)&&this.update(),e===uC.MEDIA_CONTROLLER&&(t&&(null==(a=null==(r=pk(this,yT))?void 0:r.unassociateElement)||a.call(r,this),pR(this,yT,null)),i&&this.isConnected&&(pR(this,yT,null==(s=this.getRootNode())?void 0:s.getElementById(i)),null==(o=null==(n=pk(this,yT))?void 0:n.associateElement)||o.call(n,this)))}get mediaPreviewImage(){return cS(this,uP.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){ck(this,uP.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewCoords(){let e=this.getAttribute(uP.MEDIA_PREVIEW_COORDS);if(e)return e.split(/\s+/).map(e=>+e)}set mediaPreviewCoords(e){e?this.setAttribute(uP.MEDIA_PREVIEW_COORDS,e.join(" ")):this.removeAttribute(uP.MEDIA_PREVIEW_COORDS)}update(){let e,t,i=this.mediaPreviewCoords,r=this.mediaPreviewImage;if(!(i&&r))return;let[a,s,n,o]=i,l=r.split("#")[0],d=getComputedStyle(this),{maxWidth:h,maxHeight:u,minWidth:c,minHeight:m}=d;if("fill"===(d.getPropertyValue("--media-preview-thumbnail-object-fit").trim()||"contain")){let i=parseInt(h)/n,r=parseInt(u)/o,a=parseInt(c)/n,s=parseInt(m)/o;e=i<1?i:Math.max(i,a),t=r<1?r:Math.max(r,s)}else{let i=Math.min(parseInt(h)/n,parseInt(u)/o),r=Math.max(parseInt(c)/n,parseInt(m)/o),a=i<1?i:r>1?r:1;e=a,t=a}let{style:f}=cE(this.shadowRoot,":host"),p=cE(this.shadowRoot,"img").style,g=this.shadowRoot.querySelector("img"),v=1>Math.min(e,t)?"min":"max";f.setProperty(`${v}-width`,"initial","important"),f.setProperty(`${v}-height`,"initial","important"),f.width=`${n*e}px`,f.height=`${o*t}px`;let E=()=>{p.width=`${this.imgWidth*e}px`,p.height=`${this.imgHeight*t}px`,p.display="block"};g.src!==l&&(g.onload=()=>{this.imgWidth=g.naturalWidth,this.imgHeight=g.naturalHeight,E(),g.onload=null},g.src=l,E()),E(),p.transform=`translate(-${a*e}px, -${s*t}px)`}}yT=new WeakMap,pL.shadowRootOptions={mode:"open"},pL.getTemplateHTML=function(e){return` 1243 <style> 1244 :host { 1245 box-sizing: border-box; 1246 display: var(--media-control-display, var(--media-preview-thumbnail-display, inline-block)); 1247 overflow: hidden; 1248 } 1249 1250 img { 1251 display: none; 1252 position: relative; 1253 } 1254 </style> 1255 <img crossorigin loading="eager" decoding="async"> 1256 `},ct.customElements.get("media-preview-thumbnail")||ct.customElements.define("media-preview-thumbnail",pL);var pI=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pw=(e,t,i)=>(pI(e,t,"read from private field"),i?i.call(e):t.get(e));y_=new WeakMap,ct.customElements.get("media-preview-time-display")||ct.customElements.define("media-preview-time-display",class extends fN{constructor(){super(),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,y_,void 0),((e,t,i,r)=>(pI(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,y_,this.shadowRoot.querySelector("slot")),pw(this,y_).textContent=u2(0)}static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_PREVIEW_TIME]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===uP.MEDIA_PREVIEW_TIME&&null!=i&&(pw(this,y_).textContent=u2(parseFloat(i)))}get mediaPreviewTime(){return cb(this,uP.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){cT(this,uP.MEDIA_PREVIEW_TIME,e)}});let pD="seekoffset";class pC extends fa{static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_CURRENT_TIME,pD]}connectedCallback(){super.connectedCallback(),this.seekOffset=cb(this,pD,30)}attributeChangedCallback(e,t,i){var r;super.attributeChangedCallback(e,t,i),r=this.seekOffset,this.setAttribute("aria-label",uJ("seek back {seekOffset} seconds",{seekOffset:r})),e===pD&&(this.seekOffset=cb(this,pD,30))}get seekOffset(){return cb(this,pD,30)}set seekOffset(e){cT(this,pD,e),this.setAttribute("aria-label",uJ("seek back {seekOffset} seconds",{seekOffset:this.seekOffset})),cu(cc(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return cb(this,uP.MEDIA_CURRENT_TIME,0)}set mediaCurrentTime(e){cT(this,uP.MEDIA_CURRENT_TIME,e)}handleClick(){let e=Math.max(this.mediaCurrentTime-this.seekOffset,0),t=new ct.CustomEvent(uD.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}}
1256pC.getSlotTemplateHTML=function(e,t){let i;return` 1257 <slot name="icon">${i=t.seekOffset,` 1258 <svg aria-hidden="true" viewBox="0 0 20 24"> 1259 <defs> 1260 <style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style> 1261 </defs> 1262 <text class="text value" transform="translate(2.18 19.87)">${i}</text> 1263 <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"/> 1264 </svg>`}</slot> 1265 `},pC.getTooltipContentHTML=function(){return uJ("Seek backward")},ct.customElements.get("media-seek-backward-button")||ct.customElements.define("media-seek-backward-button",pC);let pM="seekoffset";class px extends fa{static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_CURRENT_TIME,pM]}connectedCallback(){super.connectedCallback(),this.seekOffset=cb(this,pM,30)}attributeChangedCallback(e,t,i){var r;super.attributeChangedCallback(e,t,i),r=this.seekOffset,this.setAttribute("aria-label",uJ("seek forward {seekOffset} seconds",{seekOffset:r})),e===pM&&(this.seekOffset=cb(this,pM,30))}get seekOffset(){return cb(this,pM,30)}set seekOffset(e){cT(this,pM,e),this.setAttribute("aria-label",uJ("seek forward {seekOffset} seconds",{seekOffset:this.seekOffset})),cu(cc(this,"icon"),this.seekOffset)}get mediaCurrentTime(){return cb(this,uP.MEDIA_CURRENT_TIME,0)}set mediaCurrentTime(e){cT(this,uP.MEDIA_CURRENT_TIME,e)}handleClick(){let e=this.mediaCurrentTime+this.seekOffset,t=new ct.CustomEvent(uD.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}}px.getSlotTemplateHTML=function(e,t){let i;return` 1266 <slot name="icon">${i=t.seekOffset,` 1267 <svg aria-hidden="true" viewBox="0 0 20 24"> 1268 <defs> 1269 <style>.text{font-size:8px;font-family:Arial-BoldMT, Arial;font-weight:700;}</style> 1270 </defs> 1271 <text class="text value" transform="translate(8.9 19.87)">${i}</text> 1272 <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"/> 1273 </svg>`}</slot> 1274 `},px.getTooltipContentHTML=function(){return uJ("Seek forward")},ct.customElements.get("media-seek-forward-button")||ct.customElements.define("media-seek-forward-button",px);var pP=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pO=(e,t,i)=>(pP(e,t,"read from private field"),i?i.call(e):t.get(e)),pN=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},pU=(e,t,i,r)=>(pP(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),pF=(e,t,i)=>(pP(e,t,"access private method"),i);let pB={REMAINING:"remaining",SHOW_DURATION:"showduration",NO_TOGGLE:"notoggle"},p$=[...Object.values(pB),uP.MEDIA_CURRENT_TIME,uP.MEDIA_DURATION,uP.MEDIA_SEEKABLE],pH=["Enter"," "],pG=" / ",pK=(e,{timesSep:t=pG}={})=>{var i,r;let a=null!=(i=e.mediaCurrentTime)?i:0,[,s]=null!=(r=e.mediaSeekable)?r:[],n=0;Number.isFinite(e.mediaDuration)?n=e.mediaDuration:Number.isFinite(s)&&(n=s);let o=e.remaining?u2(0-(n-a)):u2(a);return e.showDuration?`${o}${t}${u2(n)}`:o};class pW extends fN{constructor(){super(),pN(this,yR),pN(this,yI),pN(this,yD),pN(this,yM),pN(this,yA,void 0),pN(this,yS,null),pN(this,yk,e=>{let{metaKey:t,altKey:i,key:r}=e;t||i||!pH.includes(r)?this.removeEventListener("keyup",pO(this,yS)):this.addEventListener("keyup",pO(this,yS))}),pU(this,yA,this.shadowRoot.querySelector("slot")),pO(this,yA).innerHTML=`${pK(this)}`}static get observedAttributes(){return[...super.observedAttributes,...p$,"disabled"]}connectedCallback(){let{style:e}=cE(this.shadowRoot,":host(:hover:not([notoggle]))");e.setProperty("cursor","var(--media-cursor, pointer)"),e.setProperty("background","var(--media-control-hover-background, rgba(50 50 70 / .7))"),this.setAttribute("aria-label",uJ("playback time")),pF(this,yD,yC).call(this),super.connectedCallback()}toggleTimeDisplay(){this.noToggle||(this.hasAttribute("remaining")?this.removeAttribute("remaining"):this.setAttribute("remaining",""))}disconnectedCallback(){this.disable(),pF(this,yI,yw).call(this),super.disconnectedCallback()}attributeChangedCallback(e,t,i){this.setAttribute("aria-label",uJ("playback time")),p$.includes(e)?this.update():"disabled"===e&&i!==t?null==i?pF(this,yD,yC).call(this):pF(this,yM,yx).c
1274all(this):e===pB.NO_TOGGLE&&i!==t&&(this.noToggle?pF(this,yM,yx).call(this):pF(this,yD,yC).call(this)),super.attributeChangedCallback(e,t,i)}enable(){this.noToggle||(this.tabIndex=0)}disable(){this.tabIndex=-1}get remaining(){return c_(this,pB.REMAINING)}set remaining(e){cA(this,pB.REMAINING,e)}get showDuration(){return c_(this,pB.SHOW_DURATION)}set showDuration(e){cA(this,pB.SHOW_DURATION,e)}get noToggle(){return c_(this,pB.NO_TOGGLE)}set noToggle(e){cA(this,pB.NO_TOGGLE,e)}get mediaDuration(){return cb(this,uP.MEDIA_DURATION)}set mediaDuration(e){cT(this,uP.MEDIA_DURATION,e)}get mediaCurrentTime(){return cb(this,uP.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){cT(this,uP.MEDIA_CURRENT_TIME,e)}get mediaSeekable(){let e=this.getAttribute(uP.MEDIA_SEEKABLE);if(e)return e.split(":").map(e=>+e)}set mediaSeekable(e){null==e?this.removeAttribute(uP.MEDIA_SEEKABLE):this.setAttribute(uP.MEDIA_SEEKABLE,e.join(":"))}update(){let e=pK(this);(e=>{var t;let i=e.mediaCurrentTime,[,r]=null!=(t=e.mediaSeekable)?t:[],a=null;if(Number.isFinite(e.mediaDuration)?a=e.mediaDuration:Number.isFinite(r)&&(a=r),null==i||null===a)return e.setAttribute("aria-description",uJ("video not loaded, unknown time."));let s=e.remaining?u1(0-(a-i)):u1(i);if(!e.showDuration)return e.setAttribute("aria-description",s);let n=uJ("{currentTime} of {totalTime}",{currentTime:s,totalTime:u1(a)});e.setAttribute("aria-description",n)})(this),e!==pO(this,yA).innerHTML&&(pO(this,yA).innerHTML=e)}}yA=new WeakMap,yS=new WeakMap,yk=new WeakMap,yR=new WeakSet,yL=function(){pO(this,yS)||(pU(this,yS,e=>{let{key:t}=e;pH.includes(t)?this.toggleTimeDisplay():this.removeEventListener("keyup",pO(this,yS))}),this.addEventListener("keydown",pO(this,yk)),this.addEventListener("click",this.toggleTimeDisplay))},yI=new WeakSet,yw=function(){pO(this,yS)&&(this.removeEventListener("keyup",pO(this,yS)),this.removeEventListener("keydown",pO(this,yk)),this.removeEventListener("click",this.toggleTimeDisplay),pU(this,yS,null))},yD=new WeakSet,yC=function(){this.noToggle||this.hasAttribute("disabled")||(this.setAttribute("role","button"),this.enable(),pF(this,yR,yL).call(this))},yM=new WeakSet,yx=function(){this.removeAttribute("role"),this.disable(),pF(this,yI,yw).call(this)},pW.getSlotTemplateHTML=function(e,t){return` 1275 <slot>${pK(t)}</slot> 1276 `},ct.customElements.get("media-time-display")||ct.customElements.define("media-time-display",pW);var pV=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pq=(e,t,i)=>(pV(e,t,"read from private field"),i?i.call(e):t.get(e)),pY=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},pj=(e,t,i,r)=>(pV(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);class pQ{constructor(e,t,i){pY(this,yP,void 0),pY(this,yO,void 0),pY(this,yN,void 0),pY(this,yU,void 0),pY(this,yF,void 0),pY(this,yB,void 0),pY(this,y$,void 0),pY(this,yH,void 0),pY(this,yG,0),pY(this,yK,(e=performance.now())=>{pj(this,yG,requestAnimationFrame(pq(this,yK))),pj(this,yU,performance.now()-pq(this,yN));let t=1e3/this.fps;if(pq(this,yU)>t){let i,r,a,s;pj(this,yN,e-pq(this,yU)%t);let n=1e3/((e-pq(this,yO))/++(i=this,r=yF,{set _(value){pj(i,r,value,a)},get _(){return pq(i,r,s)}})._),o=(e-pq(this,yB))/1e3/this.duration,l=pq(this,y$)+o*this.playbackRate;l-pq(this,yP).valueAsNumber>0?pj(this,yH,this.playbackRate/this.duration/n):(pj(this,yH,.995*pq(this,yH)),l=pq(this,yP).valueAsNumber+pq(this,yH)),this.callback(l)}}),pj(this,yP,e),this.callback=t,this.fps=i}start(){0===pq(this,yG)&&(pj(this,yN,performance.now()),pj(this,yO,pq(this,yN)),pj(this,yF,0),pq(this,yK).call(this))}stop(){0!==pq(this,yG)&&(cancelAnimationFrame(pq(this,yG)),pj(this,yG,0))}update({start:e,duration:t,playbackRate:i}){let r=e-pq(this,yP).valueAsNumber,a=Math.abs(t-this.duration);(r>0||r<-.03||a>=.5)&&this.callback(e),pj(this,y$,e),pj(this,yB,performance.now()),this.duration=t,this.playbackRate=i}}yP=new WeakMap,yO=new WeakMap,yN=new WeakMap,yU=new WeakMap,yF=new WeakMap,yB=new WeakMap,y$=new WeakMap,yH=new WeakMap,yG=new WeakMap,yK=new WeakMap;var pz=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},pX=(e,t,i)=>
1276(pz(e,t,"read from private field"),i?i.call(e):t.get(e)),pZ=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},pJ=(e,t,i,r)=>(pz(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),p0=(e,t,i)=>(pz(e,t,"access private method"),i);let p1=(e,t=e.mediaCurrentTime)=>{let i=Number.isFinite(e.mediaSeekableStart)?e.mediaSeekableStart:0,r=Number.isFinite(e.mediaDuration)?e.mediaDuration:e.mediaSeekableEnd;return Number.isNaN(r)?0:Math.max(0,Math.min((t-i)/(r-i),1))},p2=(e,t=e.range.valueAsNumber)=>{let i=Number.isFinite(e.mediaSeekableStart)?e.mediaSeekableStart:0,r=Number.isFinite(e.mediaDuration)?e.mediaDuration:e.mediaSeekableEnd;return Number.isNaN(r)?0:t*(r-i)+i};class p3 extends fI{constructor(){super(),pZ(this,y1),pZ(this,y4),pZ(this,y8),pZ(this,y6),pZ(this,be),pZ(this,bi),pZ(this,ba),pZ(this,yW,null),pZ(this,yV,void 0),pZ(this,yq,void 0),pZ(this,yY,void 0),pZ(this,yj,void 0),pZ(this,yQ,void 0),pZ(this,yz,void 0),pZ(this,yX,void 0),pZ(this,yZ,void 0),pZ(this,yJ,void 0),pZ(this,y0,()=>{p0(this,y1,y2).call(this)?pX(this,yV).start():pX(this,yV).stop()}),pZ(this,y3,e=>{!this.dragging&&(uj(e)&&(this.range.valueAsNumber=e),pX(this,yJ)||this.updateBar())}),this.shadowRoot.querySelector("#track").insertAdjacentHTML("afterbegin",'<div id="buffered" part="buffered"></div>'),pJ(this,yq,this.shadowRoot.querySelectorAll('[part~="box"]')),pJ(this,yj,this.shadowRoot.querySelector('[part~="preview-box"]')),pJ(this,yQ,this.shadowRoot.querySelector('[part~="current-box"]'));const e=getComputedStyle(this);pJ(this,yz,parseInt(e.getPropertyValue("--media-box-padding-left"))),pJ(this,yX,parseInt(e.getPropertyValue("--media-box-padding-right"))),pJ(this,yV,new pQ(this.range,pX(this,y3),60))}static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_PAUSED,uP.MEDIA_DURATION,uP.MEDIA_SEEKABLE,uP.MEDIA_CURRENT_TIME,uP.MEDIA_PREVIEW_IMAGE,uP.MEDIA_PREVIEW_TIME,uP.MEDIA_PREVIEW_CHAPTER,uP.MEDIA_BUFFERED,uP.MEDIA_PLAYBACK_RATE,uP.MEDIA_LOADING,uP.MEDIA_ENDED]}connectedCallback(){var e;super.connectedCallback(),this.range.setAttribute("aria-label",uJ("seek")),pX(this,y0).call(this),pJ(this,yW,this.getRootNode()),null==(e=pX(this,yW))||e.addEventListener("transitionstart",this)}disconnectedCallback(){var e;super.disconnectedCallback(),pX(this,yV).stop(),null==(e=pX(this,yW))||e.removeEventListener("transitionstart",this),pJ(this,yW,null)}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),t!=i){if(e===uP.MEDIA_CURRENT_TIME||e===uP.MEDIA_PAUSED||e===uP.MEDIA_ENDED||e===uP.MEDIA_LOADING||e===uP.MEDIA_DURATION||e===uP.MEDIA_SEEKABLE){let e,t,i,r;pX(this,yV).update({start:p1(this),duration:this.mediaSeekableEnd-this.mediaSeekableStart,playbackRate:this.mediaPlaybackRate}),pX(this,y0).call(this),e=this.range,t=u1(+p2(this)),i=u1(+this.mediaSeekableEnd),r=t&&i?uJ("{currentTime} of {totalTime}",{currentTime:t,totalTime:i}):uJ("video not loaded, unknown time."),e.setAttribute("aria-valuetext",r)}else e===uP.MEDIA_BUFFERED&&this.updateBufferedBar();(e===uP.MEDIA_DURATION||e===uP.MEDIA_SEEKABLE)&&(this.mediaChaptersCues=pX(this,yZ),this.updateBar())}}get mediaChaptersCues(){return pX(this,yZ)}set mediaChaptersCues(e){var t;pJ(this,yZ,e),this.updateSegments(null==(t=pX(this,yZ))?void 0:t.map(e=>({start:p1(this,e.startTime),end:p1(this,e.endTime)})))}get mediaPaused(){return c_(this,uP.MEDIA_PAUSED)}set mediaPaused(e){cA(this,uP.MEDIA_PAUSED,e)}get mediaLoading(){return c_(this,uP.MEDIA_LOADING)}set mediaLoading(e){cA(this,uP.MEDIA_LOADING,e)}get mediaDuration(){return cb(this,uP.MEDIA_DURATION)}set mediaDuration(e){cT(this,uP.MEDIA_DURATION,e)}get mediaCurrentTime(){return cb(this,uP.MEDIA_CURRENT_TIME)}set mediaCurrentTime(e){cT(this,uP.MEDIA_CURRENT_TIME,e)}get mediaPlaybackRate(){return cb(this,uP.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){cT(this,uP.MEDIA_PLAYBACK_RATE,e)}get mediaBuffered(){let e=this.getAttribute(uP.MEDIA_BUFFERED);return e?e.split(" ").map(e=>e.split(":").map(e=>+e)):[]}set mediaBuffered(e){if(!e)return void this.removeAttribute(uP.MEDIA_BUFFERED);let t=e.map(e=>e.join(":")).join(" ");this.setAttribute(uP.MEDIA_BUFFERED,t)}get mediaSeekable(){let e=this.getAttribute(uP.MEDIA_SEEKABLE);if(e)return e.split(":").map(e=>+e)}set mediaSeekable(e){null==e?this.removeAttribute(uP.MEDIA_SEEKABLE):this.setAttribute(uP.MEDIA_SEEKABLE,e.join(":"))}get mediaSeekableEnd(){var e;let[,t=this.mediaDuration]=null!=(e=this.mediaSeekable)?e:[];return t}get mediaSeekableStart(){var e;let[t=0]=null!=(e=this.mediaSeekable)?e:[];return t}get mediaPreviewImage(){return cS(this,uP.MEDIA_PREVIEW_IMAGE)}set mediaPreviewImage(e){ck(this,uP.MEDIA_PREVIEW_IMAGE,e)}get mediaPreviewTime(){return cb(this,uP.MEDIA_PREVIEW_TIME)}set mediaPreviewTime(e){cT(this,uP.MEDIA_PREVIEW_TIME,e)}get mediaEnded(){return c_(this,uP.MEDIA_ENDED)}set mediaEnded(e){cA(this,uP.MEDIA_ENDED,e)}updateBar(){super.updateBar(),this.updateBufferedBar(),this.updateCurrentBox()}updateBufferedBar(){var e;let t,i=this.mediaBuffered;if(!i.length)return;if(this.mediaEnded)t=1;else{let r=this.mediaCurrentTime,[,a=this.mediaSeekableStart]=null!=(e=i.find(([e,t])=>e<=r&&r<=t))?e:[];t=p1(this,a)}let{style:r}=cE(this.shadowRoot,"#buffered");r.setProperty("width",`${100*t}%`)}updateCurrentBox(){if(!this.shadowRoot.querySelector('slot[name="current"]').assignedElements().length)return;let e=cE(this.shadowRoot,"#current-rail"),t=cE(this.shadowRoot,'[part~="current-box"]'),i=p0(this,y4,y5).call(this,pX(this,yQ)),r=p0(this,y8,y9).call(this,i,this.range.valueAsNumber),a=p0(this,y6,y7).call(this,i,this.range.valueAsNumber);e.style.transform=`translateX(${r})`,e.style.setProperty("--_range-width",`${i.range.width}`),t.style.setProperty("--_box-shift",`${a}`),t.style.setProperty("--_box-width",`${i.box.width}px`),t.style.setProperty("visibility","initial")}handleEvent(e){switch(super.handleEvent(e),e.type){case"input":p0(this,ba,bs).call(this);break;case"pointermove":p0(this,be,bt).call(this,e);break;case"pointerup":pX(this,yJ)&&pJ(this,yJ,!1);break;case"pointerdown":pJ(this,yJ,!0);break;case"pointerleave":p0(this,bi,br).call(this,null);break;case"transitionstart":cm(e.target,this)&&setTimeout(()=>
1276pX(this,y0).call(this),0)}}}yW=new WeakMap,yV=new WeakMap,yq=new WeakMap,yY=new WeakMap,yj=new WeakMap,yQ=new WeakMap,yz=new WeakMap,yX=new WeakMap,yZ=new WeakMap,yJ=new WeakMap,y0=new WeakMap,y1=new WeakSet,y2=function(){return this.isConnected&&!this.mediaPaused&&!this.mediaLoading&&!this.mediaEnded&&this.mediaSeekableEnd>0&&cv(this)},y3=new WeakMap,y4=new WeakSet,y5=function(e){var t;let i=(null!=(t=this.getAttribute("bounds")?cf(this,`#${this.getAttribute("bounds")}`):this.parentElement)?t:this).getBoundingClientRect(),r=this.range.getBoundingClientRect(),a=e.offsetWidth,s=-(r.left-i.left-a/2),n=i.right-r.left-a/2;return{box:{width:a,min:s,max:n},bounds:i,range:r}},y8=new WeakSet,y9=function(e,t){let i=`${100*t}%`,{width:r,min:a,max:s}=e.box;if(!r)return i;if(!Number.isNaN(a)){let e=`calc(1 / var(--_range-width) * 100 * ${a}% + var(--media-box-padding-left))`;i=`max(${e}, ${i})`}if(!Number.isNaN(s)){let e=`calc(1 / var(--_range-width) * 100 * ${s}% - var(--media-box-padding-right))`;i=`min(${i}, ${e})`}return i},y6=new WeakSet,y7=function(e,t){let{width:i,min:r,max:a}=e.box,s=t*e.range.width;if(s<r+pX(this,yz)){let t=e.range.left-e.bounds.left-pX(this,yz);return`${s-i/2+t}px`}if(s>a-pX(this,yX)){let t=e.bounds.right-e.range.right-pX(this,yX);return`${s+i/2-t-e.range.width}px`}return 0},be=new WeakSet,bt=function(e){let t=[...pX(this,yq)].some(t=>e.composedPath().includes(t));if(!this.dragging&&(t||!e.composedPath().includes(this)))return void p0(this,bi,br).call(this,null);let i=this.mediaSeekableEnd;if(!i)return;let r=cE(this.shadowRoot,"#preview-rail"),a=cE(this.shadowRoot,'[part~="preview-box"]'),s=p0(this,y4,y5).call(this,pX(this,yj)),n=(e.clientX-s.range.left)/s.range.width;n=Math.max(0,Math.min(1,n));let o=p0(this,y8,y9).call(this,s,n),l=p0(this,y6,y7).call(this,s,n);r.style.transform=`translateX(${o})`,r.style.setProperty("--_range-width",`${s.range.width}`),a.style.setProperty("--_box-shift",`${l}`),a.style.setProperty("--_box-width",`${s.box.width}px`),1>Math.abs(Math.round(pX(this,yY))-Math.round(n*i))&&n>.01&&n<.99||(pJ(this,yY,n*i),p0(this,bi,br).call(this,pX(this,yY)))},bi=new WeakSet,br=function(e){this.dispatchEvent(new ct.CustomEvent(uD.MEDIA_PREVIEW_REQUEST,{composed:!0,bubbles:!0,detail:e}))},ba=new WeakSet,bs=function(){pX(this,yV).stop();let e=p2(this);this.dispatchEvent(new ct.CustomEvent(uD.MEDIA_SEEK_REQUEST,{composed:!0,bubbles:!0,detail:e}))},p3.shadowRootOptions={mode:"open"},p3.getContainerTemplateHTML=function(e){return` 1277 <style> 1278 :host { 1279 --media-box-border-radius: 4px; 1280 --media-box-padding-left: 10px; 1281 --media-box-padding-right: 10px; 1282 --media-preview-border-radius: var(--media-box-border-radius); 1283 --media-box-arrow-offset: var(--media-box-border-radius); 1284 --_control-background: var(--media-control-background, var(--media-secondary-color, rgb(20 20 30 / .7))); 1285 --_preview-background: var(--media-preview-background, var(--_control-background)); 1286 1287 1288 contain: layout; 1289 } 1290 1291 #buffered { 1292 background: var(--media-time-range-buffered-color, rgb(255 255 255 / .4)); 1293 position: absolute; 1294 height: 100%; 1295 will-change: width; 1296 } 1297 1298 #preview-rail, 1299 #current-rail { 1300 width: 100%; 1301 position: absolute; 1302 left: 0; 1303 bottom: 100%; 1304 pointer-events: none; 1305 will-change: transform; 1306 } 1307 1308 [part~="box"] { 1309 width: min-content; 1310 1311 position: absolute; 1312 bottom: 100%; 1313 flex-direction: column; 1314 align-items: center; 1315 transform: translateX(-50%); 1316 } 1317 1318 [part~="current-box"] { 1319 display: var(--media-current-box-display, var(--media-box-display, flex)); 1320 margin: var(--media-current-box-margin, var(--media-box-margin, 0 0 5px)); 1321 visibility: hidden; 1322 } 1323 1324 [part~="preview-box"] { 1325 display: var(--media-preview-box-display, var(--media-box-display, flex)); 1326 margin: var(--media-preview-box-margin, var(--media-box-margin, 0 0 5px)); 1327 transition-property: var(--media-preview-transition-property, visibility, opacity); 1328 transition-duration: var(--media-preview-transition-duration-out, .25s); 1329 transition-delay: var(--media-preview-transition-delay-out, 0s); 1330 visibility: hidden; 1331 opacity: 0; 1332 } 1333 1334 :host(:is([${uP.MEDIA_PREVIEW_IMAGE}], [${uP.MEDIA_PREVIEW_TIME}])[dragging]) [part~="preview-box"] { 1335 transition-duration: var(--media-preview-transition-duration-in, .5s); 1336 transition-delay: var(--media-preview-transition-delay-in, .25s); 1337 visibility: visible; 1338 opacity: 1; 1339 } 1340 1341 @media (hover: hover) { 1342 :host(:is([${uP.MEDIA_PREVIEW_IMAGE}], [${uP.MEDIA_PREVIEW_TIME}]):hover) [part~="preview-box"] { 1343 transition-duration: var(--media-preview-transition-duration-in, .5s); 1344 transition-delay: var(--media-preview-transition-delay-in, .25s); 1345 visibility: visible; 1346 opacity: 1; 1347 } 1348 } 1349
1350 media-preview-thumbnail, 1351 ::slotted(media-preview-thumbnail) { 1352 visibility: hidden; 1353 1354 transition: visibility 0s .25s; 1355 transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s)); 1356 background: var(--media-preview-thumbnail-background, var(--_preview-background)); 1357 box-shadow: var(--media-preview-thumbnail-box-shadow, 0 0 4px rgb(0 0 0 / .2)); 1358 max-width: var(--media-preview-thumbnail-max-width, 180px); 1359 max-height: var(--media-preview-thumbnail-max-height, 160px); 1360 min-width: var(--media-preview-thumbnail-min-width, 120px); 1361 min-height: var(--media-preview-thumbnail-min-height, 80px); 1362 border: var(--media-preview-thumbnail-border); 1363 border-radius: var(--media-preview-thumbnail-border-radius, 1364 var(--media-preview-border-radius) var(--media-preview-border-radius) 0 0); 1365 } 1366 1367 :host([${uP.MEDIA_PREVIEW_IMAGE}][dragging]) media-preview-thumbnail, 1368 :host([${uP.MEDIA_PREVIEW_IMAGE}][dragging]) ::slotted(media-preview-thumbnail) { 1369 transition-delay: var(--media-preview-transition-delay-in, .25s); 1370 visibility: visible; 1371 } 1372 1373 @media (hover: hover) { 1374 :host([${uP.MEDIA_PREVIEW_IMAGE}]:hover) media-preview-thumbnail, 1375 :host([${uP.MEDIA_PREVIEW_IMAGE}]:hover) ::slotted(media-preview-thumbnail) { 1376 transition-delay: var(--media-preview-transition-delay-in, .25s); 1377 visibility: visible; 1378 } 1379 1380 :host([${uP.MEDIA_PREVIEW_TIME}]:hover) { 1381 --media-time-range-hover-display: block; 1382 } 1383 } 1384 1385 media-preview-chapter-display, 1386 ::slotted(media-preview-chapter-display) { 1387 font-size: var(--media-font-size, 13px); 1388 line-height: 17px; 1389 min-width: 0; 1390 visibility: hidden; 1391 1392 transition: min-width 0s, border-radius 0s, margin 0s, padding 0s, visibility 0s; 1393 transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s)); 1394 background: var(--media-preview-chapter-background, var(--_preview-background)); 1395 border-radius: var(--media-preview-chapter-border-radius, 1396 var(--media-preview-border-radius) var(--media-preview-border-radius) 1397 var(--media-preview-border-radius) var(--media-preview-border-radius)); 1398 padding: var(--media-preview-chapter-padding, 3.5px 9px); 1399 margin: var(--media-preview-chapter-margin, 0 0 5px); 1400 text-shadow: var(--media-preview-chapter-text-shadow, 0 0 4px rgb(0 0 0 / .75)); 1401 } 1402 1403 :host([${uP.MEDIA_PREVIEW_IMAGE}]) media-preview-chapter-display, 1404 :host([${uP.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-chapter-display) { 1405 transition-delay: var(--media-preview-transition-delay-in, .25s); 1406 border-radius: var(--media-preview-chapter-border-radius, 0); 1407 padding: var(--media-preview-chapter-padding, 3.5px 9px 0); 1408 margin: var(--media-preview-chapter-margin, 0); 1409 min-width: 100%; 1410 } 1411 1412 media-preview-chapter-display[${uP.MEDIA_PREVIEW_CHAPTER}], 1413 ::slotted(media-preview-chapter-display[${uP.MEDIA_PREVIEW_CHAPTER}]) { 1414 visibility: visible; 1415 } 1416 1417 media-preview-chapter-display:not([aria-valuetext]), 1418 ::slotted(media-preview-chapter-display:not([aria-valuetext])) { 1419 display: none; 1420 } 1421 1422 media-preview-time-display, 1423 ::slotted(media-preview-time-display), 1424 media-time-display, 1425 ::slotted(media-time-display) { 1426 font-size: var(--media-font-size, 13px); 1427 line-height: 17px; 1428 min-width: 0; 1429 1430 transition: min-width 0s, border-radius 0s; 1431 transition-delay: calc(var(--media-preview-transition-delay-out, 0s) + var(--media-preview-transition-duration-out, .25s)); 1432 background: var(--media-preview-time-background, var(--_preview-background)); 1433 border-radius: var(--media-preview-time-border-radius, 1434 var(--media-preview-border-radius) var(--media-preview-border-radius) 1435 var(--media-preview-border-radius) var(--media-preview-border-radius)); 1436 padding: var(--media-preview-time-padding, 3.5px 9px); 1437 margin: var(--media-preview-time-margin, 0); 1438 text-shadow: var(--media-preview-time-text-shadow, 0 0 4px rgb(0 0 0 / .75)); 1439 transform: translateX(min( 1440 max(calc(50% - var(--_box-width) / 2), 1441 calc(var(--_box-shift, 0))), 1442 calc(var(--_box-width) / 2 - 50%) 1443 )); 1444 } 1445 1446 :host([${uP.MEDIA_PREVIEW_IMAGE}]) media-preview-time-display, 1447 :host([${uP.MEDIA_PREVIEW_IMAGE}]) ::slotted(media-preview-time-display) { 1448 transition-delay: var(--media-preview-transition-delay-in, .25s); 1449 border-radius: var(--media-preview-time-border-radius, 1450 0 0 var(--media-preview-border-radius) var(--media-preview-border-radius)); 1451 min-width: 100%; 1452 } 1453 1454 :host([${uP.MEDIA_PREVIEW_TIME}]:hover) { 1455 --media-time-range-hover-display: block; 1456 } 1457 1458 [part~="arrow"], 1459 ::slotted([part~="arrow"]) { 1460 display: var(--media-box-arrow-display, inline-block); 1461 transform: translateX(min( 1462 max(calc(50% - var(--_box-width) / 2 + var(--media-box-arrow-offset)), 1463 calc(var(--_box-shift, 0))), 1464 calc(var(--_box-width) / 2 - 50% - var(--media-box-arrow-offset)) 1465 )); 1466 1467 border-color: transparent; 1468 border-top-color: var(--media-box-arrow-background, var(--_control-background)); 1469 border-width: var(--media-box-arrow-border-width, 1470 var(--media-box-arrow-height, 5px) var(--media-box-arrow-width, 6px) 0); 1471 border-style: solid; 1472 justify-content: center; 1473 height: 0; 1474 } 1475 </style> 1476 <div id="preview-rail"> 1477 <slot name="preview" part="box preview-box">
1478 <media-preview-thumbnail> 1479 <template shadowrootmode="${pL.shadowRootOptions.mode}"> 1480 ${pL.getTemplateHTML({})} 1481 </template> 1482 </media-preview-thumbnail> 1483 <media-preview-chapter-display></media-preview-chapter-display> 1484 <media-preview-time-display></media-preview-time-display> 1485 <slot name="preview-arrow"><div part="arrow"></div></slot> 1486 </slot> 1487 </div> 1488 <div id="current-rail"> 1489 <slot name="current" part="box current-box"> 1490 1491 </slot> 1492 </div> 1493 `},ct.customElements.get("media-time-range")||ct.customElements.define("media-time-range",p3);var p4=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot read from private field");return i?i.call(e):t.get(e)};bn=new WeakMap,ct.customElements.get("media-volume-range")||ct.customElements.define("media-volume-range",class extends fI{constructor(){super(...arguments),((e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)})(this,bn,()=>{let e=this.range.value,t=new ct.CustomEvent(uD.MEDIA_VOLUME_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)})}static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_VOLUME,uP.MEDIA_MUTED,uP.MEDIA_VOLUME_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),this.range.setAttribute("aria-label",uJ("volume")),this.range.addEventListener("input",p4(this,bn))}disconnectedCallback(){this.range.removeEventListener("input",p4(this,bn)),super.disconnectedCallback()}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===uP.MEDIA_VOLUME||e===uP.MEDIA_MUTED){let e;this.range.valueAsNumber=this.mediaMuted?0:this.mediaVolume,this.range.setAttribute("aria-valuetext",(e=this.range.valueAsNumber,`${Math.round(100*e)}%`)),this.updateBar()}}
1493get mediaVolume(){return cb(this,uP.MEDIA_VOLUME,1)}set mediaVolume(e){cT(this,uP.MEDIA_VOLUME,e)}get mediaMuted(){return c_(this,uP.MEDIA_MUTED)}set mediaMuted(e){cA(this,uP.MEDIA_MUTED,e)}get mediaVolumeUnavailable(){return cS(this,uP.MEDIA_VOLUME_UNAVAILABLE)}set mediaVolumeUnavailable(e){ck(this,uP.MEDIA_VOLUME_UNAVAILABLE,e)}});class p5 extends fa{constructor(){super(...arguments),this.container=null}static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_LOOP]}connectedCallback(){var e;super.connectedCallback(),this.container=(null==(e=this.shadowRoot)?void 0:e.querySelector("#icon"))||null,this.container&&(this.container.textContent=uJ("Loop"))}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===uP.MEDIA_LOOP&&this.container&&this.setAttribute("aria-checked",this.mediaLoop?"true":"false")}get mediaLoop(){return c_(this,uP.MEDIA_LOOP)}set mediaLoop(e){cA(this,uP.MEDIA_LOOP,e)}handleClick(){let e=!this.mediaLoop,t=new ct.CustomEvent(uD.MEDIA_LOOP_REQUEST,{composed:!0,bubbles:!0,detail:e});this.dispatchEvent(t)}}p5.getSlotTemplateHTML=function(e){return` 1494 <style> 1495 :host { 1496 min-width: 4ch; 1497 padding: var(--media-button-padding, var(--media-control-padding, 10px 5px)); 1498 width: 100%; 1499 display: grid; 1500 grid-template-columns: 1fr auto; 1501 gap: 1rem; 1502 font-weight: var(--media-button-font-weight, normal); 1503 } 1504 1505 #checked-indicator { 1506 display: none; 1507 } 1508 1509 :host([${uP.MEDIA_LOOP}]) #checked-indicator { 1510 display: block; 1511 } 1512 </style> 1513 1514 <span id="icon"> 1515 </span> 1516 1517 <div id="checked-indicator"> 1518 <svg aria-hidden="true" viewBox="0 1 24 24" part="checked-indicator indicator"> 1519 <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"/> 1520 </svg> 1521 </div> 1522 `},p5.getTooltipContentHTML=function(){return uJ("Loop")},ct.customElements.get("media-loop-button")||ct.customElements.define("media-loop-button",p5);var p8=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},p9=(e,t,i)=>(p8(e,t,"read from private field"),i?i.call(e):t.get(e)),p6=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},p7=(e,t,i,r)=>(p8(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i);let ge={processCallback(e,t,i){if(i){for(let[e,r]of t)if(e in i){let t=i[e];"boolean"==typeof t&&r instanceof gl&&"boolean"==typeof r.element[r.attributeName]?r.booleanValue=t:"function"==typeof t&&r instanceof gl?r.element[r.attributeName]=t:r.value=t}}}};class gt extends ct.DocumentFragment{constructor(e,t,i=ge){var r;super(),p6(this,bo,void 0),p6(this,bl,void 0),this.append(e.content.cloneNode(!0)),p7(this,bo,gi(this)),p7(this,bl,i),null==(r=i.createCallback)||r.call(i,this,p9(this,bo),t),i.processCallback(this,p9(this,bo),t)}update(e){p9(this,bl).processCallback(this,p9(this,bo),e)}}bo=new WeakMap,bl=new WeakMap;let gi=(e,t=[])=>{let i,r;for(let a of e.attributes||[])if(a.value.includes("{{")){let s=new go;for([i,r]of ga(a.value))if(i){let i=new gl(e,a.name,a.namespaceURI);s.append(i),t.push([r,i])}else s.append(r);a.value=s.toString()}for(let a of e.childNodes)if(1!==a.nodeType||a instanceof HTMLTemplateElement){let s=a.data;if(1===a.nodeType||s.includes("{{")){let n=[];if(s)for([i,r]of ga(s))if(i){let i=new gd(e);n.push(i),t.push([r,i])}else n.push(new Text(r));else if(a instanceof HTMLTemplateElement){let i=new gh(e,a);n.push(i),t.push([i.expression,i])}a.replaceWith(...n.flatMap(e=>e.replacementNodes||[e]))}}else gi(a,t);return t},gr={},ga=e=>{let t="",i=0,r=gr[e],a=0,s;if(r)return r;for(r=[];s=e[a];a++)"{"===s&&"{"===e[a+1]&&"\\"!==e[a-1]&&e[a+2]&&1==++i?(t&&r.push([0,t]),t="",a++):"}"!==s||"}"!==e[a+1]||"\\"===e[a-1]||--i?t+=s||"":(r.push([1,t.trim()]),t="",a++);return t&&r.push([0,(i>0?"{{":"")+t]),gr[e]=r};class gs{get value(){return""}set value(e){}toString(){return this.value}}let gn=new WeakMap;class go{constructor(){p6(this,bd,[])}[Symbol.iterator](){return p9(this,bd).values()}get length(){return p9(this,bd).length}item(e){return p9(this,bd)[e]}append(...e){for(let t of e)t instanceof gl&&gn.set(t,this),p9(this,bd).push(t)}toString(){return p9(this,bd).join("")}}bd=new WeakMap;class gl extends gs{constructor(e,t,i){super(),p6(this,bf),p6(this,bh,""),p6(this,bu,void 0),p6(this,bc,void 0),p6(this,bm,void 0),p7(this,bu,e),p7(this,bc,t),p7(this,bm,i)}get attributeName(){return p9(this,bc)}get attributeNamespace(){return p9(this,bm)}
1522get element(){return p9(this,bu)}get value(){return p9(this,bh)}set value(e){p9(this,bh)!==e&&(p7(this,bh,e),p9(this,bf,bp)&&1!==p9(this,bf,bp).length?p9(this,bu).setAttributeNS(p9(this,bm),p9(this,bc),p9(this,bf,bp).toString()):null==e?p9(this,bu).removeAttributeNS(p9(this,bm),p9(this,bc)):p9(this,bu).setAttributeNS(p9(this,bm),p9(this,bc),e))}get booleanValue(){return p9(this,bu).hasAttributeNS(p9(this,bm),p9(this,bc))}set booleanValue(e){if(p9(this,bf,bp)&&1!==p9(this,bf,bp).length)throw new DOMException("Value is not fully templatized");this.value=e?"":null}}bh=new WeakMap,bu=new WeakMap,bc=new WeakMap,bm=new WeakMap,bf=new WeakSet,bp=function(){return gn.get(this)};class gd extends gs{constructor(e,t){super(),p6(this,bg,void 0),p6(this,bv,void 0),p7(this,bg,e),p7(this,bv,t?[...t]:[new Text])}get replacementNodes(){return p9(this,bv)}get parentNode(){return p9(this,bg)}get nextSibling(){return p9(this,bv)[p9(this,bv).length-1].nextSibling}get previousSibling(){return p9(this,bv)[0].previousSibling}get value(){return p9(this,bv).map(e=>e.textContent).join("")}set value(e){this.replace(e)}replace(...e){let t=e.flat().flatMap(e=>null==e?[new Text]:e.forEach?[...e]:11===e.nodeType?[...e.childNodes]:e.nodeType?[e]:[new Text(e)]);t.length||t.push(new Text),p7(this,bv,function(e,t,i,r=null){let a=0,s,n,o,l=i.length,d=t.length;for(;a<l&&a<d&&t[a]==i[a];)a++;for(;a<l&&a<d&&i[l-1]==t[d-1];)r=i[--d,--l];if(a==d)for(;a<l;)e.insertBefore(i[a++],r);if(a==l)for(;a<d;)e.removeChild(t[a++]);else{for(s=t[a];a<l;)o=i[a++],n=s?s.nextSibling:r,s==o?s=n:a<l&&i[a]==n?(e.replaceChild(o,s),s=n):e.insertBefore(o,s);for(;s!=r;)n=s.nextSibling,e.removeChild(s),s=n}return i}(p9(this,bv)[0].parentNode,p9(this,bv),t,this.nextSibling))}}bg=new WeakMap,bv=new WeakMap;class gh extends gd{constructor(e,t){const i=t.getAttribute("directive")||t.getAttribute("type");let r=t.getAttribute("expression")||t.getAttribute(i)||"";r.startsWith("{{")&&(r=r.trim().slice(2,-2).trim()),super(e),this.expression=r,this.template=t,this.directive=i}}let gu={string:e=>String(e)};class gc{constructor(e){this.template=e,this.state=void 0}}let gm=new WeakMap,gf=new WeakMap,gp={partial:(e,t)=>{t[e.expression]=new gc(e.template)},if:(e,t)=>{var i;if(gy(e.expression,t))if(gm.get(e)!==e.template){gm.set(e,e.template);let i=new gt(e.template,t,gv);e.replace(i),gf.set(e,i)}else null==(i=gf.get(e))||i.update(t);else e.replace(""),gm.delete(e),gf.delete(e)}},gg=Object.keys(gp),gv={processCallback(e,t,i){var r,a;if(i)for(let[e,s]of t){if(s instanceof gh){if(!s.directive){let e=gg.find(e=>s.template.hasAttribute(e));e&&(s.directive=e,s.expression=s.template.getAttribute(e))}null==(r=gp[s.directive])||r.call(gp,s,i);continue}let t=gy(e,i);if(t instanceof gc){gm.get(s)!==t.template?(gm.set(s,t.template),s.value=t=new gt(t.template,t.state,gv),gf.set(s,t)):null==(a=gf.get(s))||a.update(t.state);continue}t?(s instanceof gl&&s.attributeName.startsWith("aria-")&&(t=String(t)),s instanceof gl?"boolean"==typeof t?s.booleanValue=t:"function"==typeof t?s.element[s.attributeName]=t:s.value=t:(s.value=t,gm.delete(s),gf.delete(s))):s instanceof gl?s.value=void 0:(s.value=void 0,gm.delete(s),gf.delete(s))}}},gE={"!":e=>!e,"!!":e=>!!e,"==":(e,t)=>e==t,"!=":(e,t)=>e!=t,">":(e,t)=>e>t,">=":(e,t)=>
1522e>=t,"<":(e,t)=>e<t,"<=":(e,t)=>e<=t,"??":(e,t)=>null!=e?e:t,"|":(e,t)=>{var i;return null==(i=gu[t])?void 0:i.call(gu,e)}};function gy(e,t={}){var i,r,a,s,n,o,l;let d=(function(e,t){let i,r,a,s=[];for(;e;){for(let s in a=null,i=e.length,t)(r=t[s].exec(e))&&r.index<i&&(a={token:r[0],type:s,matches:r.slice(1)},i=r.index);i&&s.push({token:e.substr(0,i),type:void 0}),a&&s.push(a),e=e.substr(i+(a?a.token.length:0))}return s})(e,{boolean:/true|false/,number:/-?\d+\.?\d*/,string:/(["'])((?:\\.|[^\\])*?)\1/,operator:/[!=><][=!]?|\?\?|\|/,ws:/\s+/,param:/[$a-z_][$\w]*/i}).filter(({type:e})=>"ws"!==e);if(0===d.length||d.some(({type:e})=>!e))return gb(e);if((null==(i=d[0])?void 0:i.token)===">"){let i=t[null==(r=d[1])?void 0:r.token];if(!i)return gb(e);let o={...t};i.state=o;let l=d.slice(2);for(let e=0;e<l.length;e+=3){let i=null==(a=l[e])?void 0:a.token,r=null==(s=l[e+1])?void 0:s.token,d=null==(n=l[e+2])?void 0:n.token;i&&"="===r&&(o[i]=g_(d,t))}return i}if(1===d.length)return gT(d[0])?g_(d[0].token,t):gb(e);if(2===d.length){let i=gE[null==(o=d[0])?void 0:o.token];return i&&gT(d[1])?i(g_(d[1].token,t)):gb(e)}if(3===d.length){let i=null==(l=d[1])?void 0:l.token,r=gE[i];if(!r||!gT(d[0])||!gT(d[2]))return gb(e);let a=g_(d[0].token,t);return r(a,"|"===i?d[2].token:g_(d[2].token,t))}}function gb(e){return console.warn(`Warning: invalid expression \`${e}\``),!1}function gT({type:e}){return["number","boolean","string","param"].includes(e)}function g_(e,t){let i=e[0],r=e.slice(-1);return"true"===e||"false"===e?"true"===e:i===r&&["'",'"'].includes(i)?e.slice(1,-1):uQ(e)?parseFloat(e):t[e]}var gA=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},gS=(e,t,i)=>(gA(e,t,"read from private field"),i?i.call(e):t.get(e)),gk=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gR=(e,t,i,r)=>(gA(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),gL=(e,t,i)=>(gA(e,t,"access private method"),i);let gI={mediatargetlivewindow:"targetlivewindow",mediastreamtype:"streamtype"},gw=ci.createElement("template");gw.innerHTML=` 1523 <style> 1524 :host { 1525 display: inline-block; 1526 line-height: 0; 1527 } 1528 1529 media-controller { 1530 width: 100%; 1531 height: 100%; 1532 } 1533 1534 media-captions-button:not([mediasubtitleslist]), 1535 media-captions-menu:not([mediasubtitleslist]), 1536 media-captions-menu-button:not([mediasubtitleslist]), 1537 media-audio-track-menu[mediaaudiotrackunavailable], 1538 media-audio-track-menu-button[mediaaudiotrackunavailable], 1539 media-rendition-menu[mediarenditionunavailable], 1540 media-rendition-menu-button[mediarenditionunavailable], 1541 media-volume-range[mediavolumeunavailable], 1542 media-airplay-button[mediaairplayunavailable], 1543 media-fullscreen-button[mediafullscreenunavailable], 1544 media-cast-button[mediacastunavailable], 1545 media-pip-button[mediapipunavailable] { 1546 display: none; 1547 } 1548 </style> 1549`;class gD extends ct.HTMLElement{constructor(){super(),gk(this,b_),gk(this,bS),gk(this,bE,void 0),gk(this,by,void 0),gk(this,bb,void 0),gk(this,bT,void 0),gk(this,bR,void 0),this.shadowRoot?this.renderRoot=this.shadowRoot:(this.renderRoot=this.attachShadow({mode:"open"}),this.createRenderer()),gR(this,bT,new MutationObserver(e=>{var t;(!this.mediaController||(null==(t=this.mediaController)?void 0:t.breakpointsComputed))&&e.some(e=>{let t=e.target;return t===this||"media-controller"===t.localName&&!!(gI[e.attributeName]||e.attributeName.startsWith("breakpoint"))})&&this.render()})),gR(this,bR,this.render.bind(this)),gL(this,b_,bA).call(this,"template")}get mediaController(){return this.renderRoot.querySelector("media-controller")}get template(){var e;return null!=(e=gS(this,bE))?e:this.constructor.template}set template(e){null===e?this.removeAttribute("template"):"string"==typeof e?this.setAttribute("template",e):e instanceof HTMLTemplateElement&&(gR(this,bE,e),gR(this,bb,null),this.createRenderer())}get props(){var e,t,i;let r=[...Array.from(null!=(t=null==(e=this.mediaController)?void 0:e.attributes)?t:[]).filter(({name:e})=>gI[e]||e.startsWith("breakpoint")),...Array.from(this.attributes)],a={};for(let e of r){let t=null!=(i=gI[e.name])?i:e.name.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase()),{value:r}=e;null!=r?(uQ(r)&&(r=parseFloat(r)),a[t]=""===r||r):a[t]=!1}return a}
1549attributeChangedCallback(e,t,i){"template"===e&&t!=i&&gL(this,bS,bk).call(this)}connectedCallback(){this.addEventListener(uO.BREAKPOINTS_COMPUTED,gS(this,bR)),gS(this,bT).observe(this,{attributes:!0}),gS(this,bT).observe(this.renderRoot,{attributes:!0,subtree:!0}),gL(this,bS,bk).call(this)}disconnectedCallback(){this.removeEventListener(uO.BREAKPOINTS_COMPUTED,gS(this,bR)),gS(this,bT).disconnect()}createRenderer(){this.template instanceof HTMLTemplateElement&&this.template!==gS(this,by)&&(gR(this,by,this.template),this.renderer=new gt(this.template,this.props,this.constructor.processor),this.renderRoot.textContent="",this.renderRoot.append(gw.content.cloneNode(!0),this.renderer))}render(){var e;null==(e=this.renderer)||e.update(this.props)}}async function gC(e){let t=await fetch(e);if(200!==t.status)throw Error(`Failed to load resource: the server responded with a status of ${t.status}`);return t.text()}function gM(e){return e.split("-")[0]}bE=new WeakMap,by=new WeakMap,bb=new WeakMap,bT=new WeakMap,b_=new WeakSet,bA=function(e){if(Object.prototype.hasOwnProperty.call(this,e)){let t=this[e];delete this[e],this[e]=t}},bS=new WeakSet,bk=function(){var e;let t=this.getAttribute("template");if(!t||t===gS(this,bb))return;let i=this.getRootNode(),r=null==(e=null==i?void 0:i.getElementById)?void 0:e.call(i,t);if(r){gR(this,bb,t),gR(this,bE,r),this.createRenderer();return}(function(e){if(!/^(\/|\.\/|https?:\/\/)/.test(e))return!1;let t=/^https?:\/\//.test(e)?void 0:location.origin;try{new URL(e,t)}catch(e){return!1}return!0})(t)&&(gR(this,bb,t),gC(t).then(e=>{let t=ci.createElement("template");t.innerHTML=e,gR(this,bE,t),this.createRenderer()}).catch(console.error))},bR=new WeakMap,gD.observedAttributes=["template"],gD.processor=gv,ct.customElements.get("media-theme")||ct.customElements.define("media-theme",gD);class gx extends Event{constructor({action:e="auto",relatedTarget:t,...i}){super("invoke",i),this.action=e,this.relatedTarget=t}}class gP extends Event{constructor({newState:e,oldState:t,...i}){super("toggle",i),this.newState=e,this.oldState=t}}var gO=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},gN=(e,t,i)=>(gO(e,t,"read from private field"),i?i.call(e):t.get(e)),gU=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gF=(e,t,i,r)=>(gO(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),gB=(e,t,i)=>(gO(e,t,"access private method"),i);function g$({type:e,text:t,value:i,checked:r}){let a=ci.createElement("media-chrome-menu-item");a.type=null!=e?e:"",a.part.add("menu-item"),e&&a.part.add(e),a.value=i,a.checked=r;let s=ci.createElement("span");return s.textContent=t,a.append(s),a}function gH(e,t){let i=e.querySelector(`:scope > [slot="${t}"]`);if((null==i?void 0:i.nodeName)=="SLOT"&&(i=i.assignedElements({flatten:!0})[0]),i)return i.cloneNode(!0);let r=e.shadowRoot.querySelector(`[name="${t}"] > svg`);return r?r.cloneNode(!0):""}let gG="style",gK="hidden",gW="disabled";class gV extends ct.HTMLElement{constructor(){if(super(),gU(this,bP),gU(this,bN),gU(this,bB),gU(this,bH),gU(this,bK),gU(this,bV),gU(this,bQ),gU(this,bX),gU(this,bJ),gU(this,b1),gU(this,b3),gU(this,b5),gU(this,b9),gU(this,b7),gU(this,Tt),gU(this,Tr),gU(this,Ts),gU(this,To),gU(this,bL,null),gU(this,bI,null),gU(this,bw,null),gU(this,bD,new Set),gU(this,bC,void 0),gU(this,bM,!1),gU(this,bx,null),gU(this,bF,()=>{let e=gN(this,bD),t=new Set(this.items);for(let i of e)t.has(i)||this.dispatchEvent(new CustomEvent("removemenuitem",{detail:i}));for(let i of t)e.has(i)||this.dispatchEvent(new CustomEvent("addmenuitem",{detail:i}));gF(this,bD,t)}),gU(this,bY,()=>{gB(this,bQ,bz).call(this),gB(this,bX,bZ).call(this,!1)}),gU(this,bj,()=>{gB(this,bQ,bz).call(this)}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=cl(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}this.container=this.shadowRoot.querySelector("#container"),this.defaultSlot=this.shadowRoot.querySelector("slot:not([name])"),gF(this,bC,new MutationObserver(gN(this,bF)))}static get observedAttributes(){return[gW,gK,gG,"anchor",uC.MEDIA_CONTROLLER]}static formatMenuItemText(e,t){return e}enable(){this.addEventListener("click",this),this.addEventListener("focusout",this),this.addEventListener("keydown",this),this.addEventListener("invoke",this),this.addEventListener("toggle",this)}disable(){this.removeEventListener("click",this),this.removeEventListener("focusout",this),this.removeEventListener("keyup",this),this.removeEventListener("invoke",this),this.removeEventListener("toggle",this)}handleEvent(e){switch(e.type){case"slotchange":gB(this,bP,bO).call(this,e);break;case"invoke":gB(this,bH,bG).call(this,e);break;case"click":gB(this,bJ,b0).call(this,e);break;case"toggle":gB(this,b3,b4).call(this,e);break;case"focusout":gB(this,b9,b6).call(this,e);break;case"keydown":gB(this,b7,Te).call(this,e)}}connectedCallback(){var e,t;gN(this,bC).observe(this.defaultSlot,{childList:!0}),gF(this,bx,cy(this.shadowRoot,":host")),gB(this,bB,b$).call(this),this.hasAttribute("disabled")||this.enable(),this.role||(this.role="menu"),gF(this,bL,ch(this)),null==(t=null==(e=gN(this,bL))?void 0:e.associateElement)||t.call(e,this),this.hidden||(cn(gY(this),gN(this,bY)),cn(this,gN(this,bj))),gB(this,bN,bU).call(this),this.shadowRoot.addEventListener("slotchange",this)}disconnectedCallback(){var e,t;gN(this,bC).disconnect(),co(gY(this),gN(this,bY)),co(this,gN(this,bj)),this.disable(),null==(t=null==(e=gN(this,bL))?void 0:e.unassociateElement)||t.call(e,this),gF(this,bL,null),gF(this,bI,null),gF(this,bw,null),this.shadowRoot.removeEventListener("slotchange",this)}attributeChangedCallback(e,t,i){var r,a,s,n;
1549e===gK&&i!==t?(gN(this,bM)||gF(this,bM,!0),this.hidden?gB(this,bV,bq).call(this):gB(this,bK,bW).call(this),this.dispatchEvent(new gP({oldState:this.hidden?"open":"closed",newState:this.hidden?"closed":"open",bubbles:!0}))):e===uC.MEDIA_CONTROLLER?(t&&(null==(a=null==(r=gN(this,bL))?void 0:r.unassociateElement)||a.call(r,this),gF(this,bL,null)),i&&this.isConnected&&(gF(this,bL,ch(this)),null==(n=null==(s=gN(this,bL))?void 0:s.associateElement)||n.call(s,this))):e===gW&&i!==t?null==i?this.enable():this.disable():e===gG&&i!==t&&gB(this,bB,b$).call(this)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}get anchor(){return this.getAttribute("anchor")}set anchor(e){this.setAttribute("anchor",`${e}`)}get anchorElement(){var e;return this.anchor?null==(e=cg(this))?void 0:e.querySelector(`#${this.anchor}`):null}get items(){return this.defaultSlot.assignedElements({flatten:!0}).filter(gq)}get radioGroupItems(){return this.items.filter(e=>"menuitemradio"===e.role)}get checkedItems(){return this.items.filter(e=>e.checked)}get value(){var e,t;return null!=(t=null==(e=this.checkedItems[0])?void 0:e.value)?t:""}set value(e){let t=this.items.find(t=>t.value===e);t&&gB(this,To,Tl).call(this,t)}focus(){if(gF(this,bI,cp()),this.items.length){gB(this,Ts,Tn).call(this,this.items[0]),this.items[0].focus();return}let e=this.querySelector('[autofocus], [tabindex]:not([tabindex="-1"]), [role="menu"]');null==e||e.focus()}handleSelect(e){var t;let i=gB(this,Tt,Ti).call(this,e);i&&(gB(this,To,Tl).call(this,i,"checkbox"===i.type),gN(this,bw)&&!this.hidden&&(null==(t=gN(this,bI))||t.focus(),this.hidden=!0))}get keysUsed(){return["Enter","Escape","Tab"," ","ArrowDown","ArrowUp","Home","End"]}handleMove(e){var t,i;let{key:r}=e,a=this.items,s=null!=(i=null!=(t=gB(this,Tt,Ti).call(this,e))?t:gB(this,Tr,Ta).call(this))?i:a[0],n=Math.max(0,a.indexOf(s));"ArrowDown"===r?n++:"ArrowUp"===r?n--:"Home"===e.key?n=0:"End"===e.key&&(n=a.length-1),n<0&&(n=a.length-1),n>a.length-1&&(n=0),gB(this,Ts,Tn).call(this,a[n]),a[n].focus()}}function gq(e){return["menuitem","menuitemradio","menuitemcheckbox"].includes(null==e?void 0:e.role)}function gY(e){var t;return null!=(t=e.getAttribute("bounds")?cf(e,`#${e.getAttribute("bounds")}`):cd(e)||e.parentElement)?t:e}bL=new WeakMap,bI=new WeakMap,bw=new WeakMap,bD=new WeakMap,bC=new WeakMap,bM=new WeakMap,bx=new WeakMap,bP=new WeakSet,bO=function(e){let t=e.target;for(let e of t.assignedNodes({flatten:!0}))3===e.nodeType&&""===e.textContent.trim()&&e.remove();["header","title"].includes(t.name)&&gB(this,bN,bU).call(this),t.name||gN(this,bF).call(this)},bN=new WeakSet,bU=function(){let e=this.shadowRoot.querySelector('slot[name="header"]');e.hidden=0===this.shadowRoot.querySelector('slot[name="title"]').assignedNodes().length&&0===e.assignedNodes().length},bF=new WeakMap,bB=new WeakSet,b$=function(){var e;let t=this.shadowRoot.querySelector("#layout-row"),i=null==(e=getComputedStyle(this).getPropertyValue("--media-menu-layout"))?void 0:e.trim();t.setAttribute("media","row"===i?"":"width:0")},bH=new WeakSet,bG=function(e){gF(this,bw,e.relatedTarget),cm(this,e.relatedTarget)||(this.hidden=!this.hidden)},bK=new WeakSet,bW=function(){var e;null==(e=gN(this,bw))||e.setAttribute("aria-expanded","true"),this.addEventListener("transitionend",()=>this.focus(),{once:!0}),cn(gY(this),gN(this,bY)),cn(this,gN(this,bj))},bV=new WeakSet,bq=function(){var e;null==(e=gN(this,bw))||e.setAttribute("aria-expanded","false"),co(gY(this),gN(this,bY)),co(this,gN(this,bj))},bY=new WeakMap,bj=new WeakMap,bQ=new WeakSet,bz=function(e){if(this.hasAttribute("mediacontroller")&&!this.anchor||this.hidden||!this.anchorElement)return;let{x:t,y:i}=function({anchor:e,floating:t,placement:i}){let{x:r,y:a}=function({anchor:e,floating:t},i){let r,a="x"==(["top","bottom"].includes(gM(i))?"y":"x")?"y":"x",s="y"===a?"height":"width",n=gM(i),o=e.x+e.width/2-t.width/2,l=e.y+e.height/2-t.height/2,d=e[s]/2-t[s]/2;switch(n){case"top":r={x:o,y:e.y-t.height};break;case"bottom":r={x:o,y:e.y+e.height};break;case"right":r={x:e.x+e.width,y:l};break;case"left":r={x:e.x-t.width,y:l};break;default:r={x:e.x,y:e.y}}switch(i.split("-")[1]){case"start":r[a]-=d;break;case"end":r[a]+=d}return r}(function({anchor:e,floating:t}){var i,r,a;let s,n;return{anchor:(i=e,r=t.offsetParent,s=i.getBoundingClientRect(),n=null!=(a=null==r?void 0:r.getBoundingClientRect())?a:{x:0,y:0},{x:s.x-n.x,y:s.y-n.y,width:s.width,height:s.height}),floating:{x:0,y:0,width:t.offsetWidth,height:t.offsetHeight}}}({anchor:e,floating:t}),i);return{x:r,y:a}}({anchor:this.anchorElement,floating:this,placement:"top-start"});null!=e||(e=this.offsetWidth);let r=gY(this).getBoundingClientRect(),a=r.width-t-e,s=r.height-i-this.offsetHeight,{style:n}=gN(this,bx);n.setProperty("position","absolute"),n.setProperty("right",`${Math.max(0,a)}px`),n.setProperty("--_menu-bottom",`${s}px`);let o=getComputedStyle(this),l=n.getPropertyValue("--_menu-bottom")===o.bottom?s:parseFloat(o.bottom),d=r.height-l-parseFloat(o.marginBottom);this.style.setProperty("--_menu-max-height",`${d}px`)},bX=new WeakSet,bZ=function(e){let t=this.querySelector('[role="menuitem"][aria-haspopup][aria-expanded="true"]'),i=null==t?void 0:t.querySelector('[role="menu"]'),{style:r}=gN(this,bx);if(e||r.setProperty("--media-menu-transition-in","none"),i){let e=i.offsetHeight,r=Math.max(i.offsetWidth,t.offsetWidth);this.style.setProperty("min-width",`${r}px`),this.style.setProperty("min-height",`${e}px`),gB(this,bQ,bz).call(this,r)}else this.style.removeProperty("min-width"),this.style.removeProperty("min-height"),gB(this,bQ,bz).call(this);r.removeProperty("--media-menu-transition-in")}
1549,bJ=new WeakSet,b0=function(e){var t;if(e.stopPropagation(),e.composedPath().includes(gN(this,b1,b2))){null==(t=gN(this,bI))||t.focus(),this.hidden=!0;return}let i=gB(this,Tt,Ti).call(this,e);!i||i.hasAttribute("disabled")||(gB(this,Ts,Tn).call(this,i),this.handleSelect(e))},b1=new WeakSet,b2=function(){var e;return null==(e=this.shadowRoot.querySelector('slot[name="header"]').assignedElements({flatten:!0}))?void 0:e.find(e=>e.matches('button[part~="back"]'))},b3=new WeakSet,b4=function(e){if(e.target===this)return;gB(this,b5,b8).call(this);let t=Array.from(this.querySelectorAll('[role="menuitem"][aria-haspopup]'));for(let i of t)i.invokeTargetElement!=e.target&&("open"!=e.newState||"true"!=i.getAttribute("aria-expanded")||i.invokeTargetElement.hidden||i.invokeTargetElement.dispatchEvent(new gx({relatedTarget:i})));for(let e of t)e.setAttribute("aria-expanded",`${!e.submenuElement.hidden}`);gB(this,bX,bZ).call(this,!0)},b5=new WeakSet,b8=function(){let e=this.querySelector('[role="menuitem"] > [role="menu"]:not([hidden])');this.container.classList.toggle("has-expanded",!!e)},b9=new WeakSet,b6=function(e){var t;cm(this,e.relatedTarget)||(gN(this,bM)&&(null==(t=gN(this,bI))||t.focus()),gN(this,bw)&&gN(this,bw)!==e.relatedTarget&&!this.hidden&&(this.hidden=!0))},b7=new WeakSet,Te=function(e){var t,i,r,a,s;let{key:n,ctrlKey:o,altKey:l,metaKey:d}=e;if(!o&&!l&&!d&&this.keysUsed.includes(n))if(e.preventDefault(),e.stopPropagation(),"Tab"===n){if(gN(this,bM)){this.hidden=!0;return}e.shiftKey?null==(i=null==(t=this.previousElementSibling)?void 0:t.focus)||i.call(t):null==(a=null==(r=this.nextElementSibling)?void 0:r.focus)||a.call(r),this.blur()}else"Escape"===n?(null==(s=gN(this,bI))||s.focus(),gN(this,bM)&&(this.hidden=!0)):"Enter"===n||" "===n?this.handleSelect(e):this.handleMove(e)},Tt=new WeakSet,Ti=function(e){return e.composedPath().find(e=>["menuitemradio","menuitemcheckbox"].includes(e.role))}
1549,Tr=new WeakSet,Ta=function(){return this.items.find(e=>0===e.tabIndex)},Ts=new WeakSet,Tn=function(e){for(let t of this.items)t.tabIndex=t===e?0:-1},To=new WeakSet,Tl=function(e,t){let i=[...this.checkedItems];"radio"===e.type&&this.radioGroupItems.forEach(e=>e.checked=!1),t?e.checked=!e.checked:e.checked=!0,this.checkedItems.some((e,t)=>e!=i[t])&&this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))},gV.shadowRootOptions={mode:"open"},gV.getTemplateHTML=function(e){return` 1550 <style> 1551 :host { 1552 font: var(--media-font, 1553 var(--media-font-weight, normal) 1554 var(--media-font-size, 14px) / 1555 var(--media-text-content-height, var(--media-control-height, 24px)) 1556 var(--media-font-family, helvetica neue, segoe ui, roboto, arial, sans-serif)); 1557 color: var(--media-text-color, var(--media-primary-color, rgb(238 238 238))); 1558 --_menu-bg: rgb(20 20 30 / .8); 1559 background: var(--media-menu-background, var(--media-control-background, var(--media-secondary-color, var(--_menu-bg)))); 1560 border-radius: var(--media-menu-border-radius); 1561 border: var(--media-menu-border, none); 1562 display: var(--media-menu-display, inline-flex) !important; 1563 1564 transition: var(--media-menu-transition-in, 1565 visibility 0s, 1566 opacity .2s ease-out, 1567 transform .15s ease-out, 1568 left .2s ease-in-out, 1569 min-width .2s ease-in-out, 1570 min-height .2s ease-in-out 1571 ) !important; 1572 1573 visibility: var(--media-menu-visibility, visible); 1574 opacity: var(--media-menu-opacity, 1); 1575 max-height: var(--media-menu-max-height, var(--_menu-max-height, 300px)); 1576 transform: var(--media-menu-transform-in, translateY(0) scale(1)); 1577 flex-direction: column; 1578 1579 min-height: 0; 1580 position: relative; 1581 bottom: var(--_menu-bottom); 1582 box-sizing: border-box; 1583 } 1584 1585 @-moz-document url-prefix() { 1586 :host{ 1587 --_menu-bg: rgb(20 20 30); 1588 } 1589 } 1590 1591 :host([hidden]) { 1592 transition: var(--media-menu-transition-out, 1593 visibility .15s ease-in, 1594 opacity .15s ease-in, 1595 transform .15s ease-in 1596 ) !important; 1597 visibility: var(--media-menu-hidden-visibility, hidden); 1598 opacity: var(--media-menu-hidden-opacity, 0); 1599 max-height: var(--media-menu-hidden-max-height, 1600 var(--media-menu-max-height, var(--_menu-max-height, 300px))); 1601 transform: var(--media-menu-transform-out, translateY(2px) scale(.99)); 1602 pointer-events: none; 1603 } 1604 1605 :host([slot="submenu"]) { 1606 background: none; 1607 width: 100%; 1608 min-height: 100%; 1609 position: absolute; 1610 bottom: 0; 1611 right: -100%; 1612 } 1613 1614 #container { 1615 display: flex; 1616 flex-direction: column; 1617 min-height: 0; 1618 transition: transform .2s ease-out; 1619 transform: translate(0, 0); 1620 } 1621 1622 #container.has-expanded { 1623 transition: transform .2s ease-in; 1624 transform: translate(-100%, 0); 1625 } 1626 1627 button { 1628 background: none; 1629 color: inherit; 1630 border: none; 1631 padding: 0; 1632 font: inherit; 1633 outline: inherit; 1634 display: inline-flex; 1635 align-items: center; 1636 } 1637 1638 slot[name="header"][hidden] { 1639 display: none; 1640 } 1641 1642 slot[name="header"] > *, 1643 slot[name="header"]::slotted(*) { 1644 padding: .4em .7em; 1645 border-bottom: 1px solid rgb(255 255 255 / .25); 1646 cursor: var(--media-cursor, default); 1647 } 1648 1649 slot[name="header"] > button[part~="back"], 1650 slot[name="header"]::slotted(button[part~="back"]) { 1651 cursor: var(--media-cursor, pointer); 1652 } 1653 1654 svg[part~="back"] { 1655 height: var(--media-menu-icon-height, var(--media-control-height, 24px)); 1656 fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))); 1657 display: block; 1658 margin-right: .5ch; 1659 } 1660 1661 slot:not([name]) { 1662 gap: var(--media-menu-gap); 1663 flex-direction: var(--media-menu-flex-direction, column); 1664 overflow: var(--media-menu-overflow, hidden auto); 1665 display: flex; 1666 min-height: 0; 1667 } 1668 1669 :host([role="menu"]) slot:not([name]) { 1670 padding-block: .4em; 1671 } 1672 1673 slot:not([name])::slotted([role="menu"]) { 1674 background: none; 1675 } 1676 1677 media-chrome-menu-item > span { 1678 margin-right: .5ch; 1679 max-width: var(--media-menu-item-max-width); 1680 text-overflow: ellipsis; 1681 overflow: hidden; 1682 } 1683 </style> 1684 <style id="layout-row" media="width:0"> 1685 1686 slot[name="header"] > *, 1687 slot[name="header"]::slotted(*) { 1688 padding: .4em .5em; 1689 } 1690 1691 slot:not([name]) { 1692 gap: var(--media-menu-gap, .25em); 1693 flex-direction: var(--media-menu-flex-direction, row); 1694 padding-inline: .5em; 1695 } 1696 1697 media-chrome-menu-item { 1698 padding: .3em .5em; 1699 } 1700 1701 media-chrome-menu-item[aria-checked="true"] { 1702 background: var(--media-menu-item-checked-background, rgb(255 255 255 / .2)); 1703 } 1704 1705 1706 media-chrome-menu-item::part(checked-indicator) { 1707 display: var(--media-menu-item-checked-indicator-display, none); 1708 } 1709 </style> 1710 <div id="container" part="container"> 1711 <slot name="header" hidden> 1712 <button part="back button" aria-label="Back to previous menu"> 1713 <slot name="back-icon"> 1714 <svg aria-hidden="true" viewBox="0 0 20 24" part="back indicator"> 1715 <path d="m11.88 17.585.742-.669-4.2-4.665 4.2-4.666-.743-.669-4.803 5.335 4.803 5.334Z"/> 1716 </svg> 1717 </slot> 1718 <slot name="title"></slot> 1719 </button> 1720 </slot> 1721 <slot></slot> 1722 </div> 1723 <slot name="checked-indicator" hidden></slot> 1724 `},ct.customElements.get("media-chrome-menu")||ct.customElements.define("media-chrome-menu",gV);var gj=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},gQ=(e,t,i)=>(gj(e,t,"read from private field"),i?i.call(e):t.get(e)),gz=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},gX=(e,t,i,r)=>(gj(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),gZ=(e,t,i)=>(gj(e,t,"access private method"),i);let gJ="type",g0="value",g1="checked",g2="disabled";class g3 extends ct.HTMLElement{constructor(){if(super(),gz(this,Tu),gz(this,Tm),gz(this,Tp),gz(this,Tb),gz(this,Td,!1),gz(this,Th,void 0),gz(this,Tv,()=>{var e,t;this.submenuElement.items&&this.setAttribute("submenusize",`${this.submenuElement.items.length}`);let i=this.shadowRoot.querySelector('slot[name="description"]'),r=null==(e=this.submenuElement.checkedItems)?void 0:e[0],a=null!=(t=null==r?void 0:r.dataset.description)?t:null==r?void 0:r.text,s=ci.createElement("span");s.textContent=null!=a?a:"",i.replaceChildren(s)}),gz(this,TE,e=>{let{key:t}=e;this.keysUsed.includes(t)?this.handleClick(e):this.removeEventListener("keyup",gQ(this,TE))}),gz(this,Ty,e=>{let{metaKey:t,altKey:i,key:r}=e;t||i||!this.keysUsed.includes(r)?this.removeEventListener("keyup",gQ(this,TE)):this.addEventListener("keyup",gQ(this,TE),{once:!0})}),!this.shadowRoot){this.attachShadow(this.constructor.shadowRootOptions);const e=cl(this.attributes);this.shadowRoot.innerHTML=this.constructor.getTemplateHTML(e)}}static get observedAttributes(){return[gJ,g2,g1,g0]}enable(){this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),g4(this)&&!this.hasAttribute("aria-checked")&&this.setAttribute("aria-checked","fal
1724se"),this.addEventListener("click",this),this.addEventListener("keydown",this)}disable(){this.removeAttribute("tabindex"),this.removeEventListener("click",this),this.removeEventListener("keydown",this),this.removeEventListener("keyup",this)}handleEvent(e){switch(e.type){case"slotchange":gZ(this,Tu,Tc).call(this,e);break;case"click":this.handleClick(e);break;case"keydown":gQ(this,Ty).call(this,e);break;case"keyup":gQ(this,TE).call(this,e)}}attributeChangedCallback(e,t,i){e===g1&&g4(this)&&!gQ(this,Td)?this.setAttribute("aria-checked",null!=i?"true":"false"):e===gJ&&i!==t?this.role="menuitem"+i:e===g2&&i!==t&&(null==i?this.enable():this.disable())}connectedCallback(){this.hasAttribute(g2)||this.enable(),this.role="menuitem"+this.type,gX(this,Th,function e(t,i){if(!t)return null;let{host:r}=t.getRootNode();return!i&&r?e(t,r):(null==i?void 0:i.items)?i:e(i,null==i?void 0:i.parentNode)}(this,this.parentNode)),gZ(this,Tb,TT).call(this),this.submenuElement&&gZ(this,Tm,Tf).call(this),this.shadowRoot.addEventListener("slotchange",this)}disconnectedCallback(){this.disable(),gZ(this,Tb,TT).call(this),gX(this,Th,null),this.shadowRoot.removeEventListener("slotchange",this)}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?null==(e=cg(this))?void 0:e.querySelector(`#${this.invokeTarget}`):this.submenuElement}get submenuElement(){return this.shadowRoot.querySelector('slot[name="submenu"]').assignedElements({flatten:!0})[0]}get type(){var e;return null!=(e=this.getAttribute(gJ))?e:""}set type(e){this.setAttribute(gJ,`${e}`)}get value(){var e;return null!=(e=this.getAttribute(g0))?e:this.text}set value(e){this.setAttribute(g0,e)}get text(){var e;return(null!=(e=this.textContent)?e:"").trim()}get checked(){if(g4(this))return"true"===this.getAttribute("aria-checked")}set checked(e){g4(this)&&(gX(this,Td,!0),this.setAttribute("aria-checked",e?"true":"false"),e?this.part.add("checked"):this.part.remove("checked"))}handleClick(e){!g4(this)&&this.invokeTargetElement&&cm(this,e.target)&&this.invokeTargetElement.dispatchEvent(new gx({relatedTarget:this}))}get keysUsed(){return["Enter"," "]}}function g4(e){return"radio"===e.type||"checkbox"===e.type}Td=new WeakMap,Th=new WeakMap,Tu=new WeakSet,Tc=function(e){let t=e.target;if(!(null==t?void 0:t.name))for(let e of t.assignedNodes({flatten:!0}))e instanceof Text&&""===e.textContent.trim()&&e.remove();"submenu"===t.name&&(this.submenuElement?gZ(this,Tm,Tf).call(this):gZ(this,Tp,Tg).call(this))},Tm=new WeakSet,Tf=async function(){this.setAttribute("aria-haspopup","menu"),this.setAttribute("aria-expanded",`${!this.submenuElement.hidden}`),this.submenuElement.addEventListener("change",gQ(this,Tv)),this.submenuElement.addEventListener("addmenuitem",gQ(this,Tv)),this.submenuElement.addEventListener("removemenuitem",gQ(this,Tv)),gQ(this,Tv).call(this)},Tp=new WeakSet,Tg=function(){this.removeAttribute("aria-haspopup"),this.removeAttribute("aria-expanded"),this.submenuElement.removeEventListener("change",gQ(this,Tv)),this.submenuElement.removeEventListener("addmenuitem",gQ(this,Tv)),this.submenuElement.removeEventListener("removemenuitem",gQ(this,Tv)),gQ(this,Tv).call(this)},Tv=new WeakMap,TE=new WeakMap,Ty=new WeakMap,Tb=new WeakSet,TT=function(){var e;let t=null==(e=gQ(this,Th))?void 0:e.radioGroupItems;if(!t)return;let i=t.filter(e=>"true"===e.getAttribute("aria-checked")).pop();for(let e of(i||(i=t[0]),t))e.setAttribute("aria-checked","false");null==i||i.setAttribute("aria-checked","true")},g3.shadowRootOptions={mode:"open"},g3.getTemplateHTML=function(e){return` 1725 <style> 1726 :host { 1727 transition: var(--media-menu-item-transition, 1728 background .15s linear, 1729 opacity .2s ease-in-out 1730 ); 1731 outline: var(--media-menu-item-outline, 0); 1732 outline-offset: var(--media-menu-item-outline-offset, -1px); 1733 cursor: var(--media-cursor, pointer); 1734 display: flex; 1735 align-items: center; 1736 align-self: stretch; 1737 justify-self: stretch; 1738 white-space: nowrap; 1739 white-space-collapse: collapse; 1740 text-wrap: nowrap; 1741 padding: .4em .8em .4em 1em; 1742 } 1743 1744 :host(:focus-visible) { 1745 box-shadow: var(--media-menu-item-focus-shadow, inset 0 0 0 2px rgb(27 127 204 / .9)); 1746 outline: var(--media-menu-item-hover-outline, 0); 1747 outline-offset: var(--media-menu-item-hover-outline-offset, var(--media-menu-item-outline-offset, -1px)); 1748 } 1749 1750 :host(:hover) { 1751 cursor: var(--media-cursor, pointer); 1752 background: var(--media-menu-item-hover-background, rgb(92 92 102 / .5)); 1753 outline: var(--media-menu-item-hover-outline); 1754 outline-offset: var(--media-menu-item-hover-outline-offset, var(--media-menu-item-outline-offset, -1px)); 1755 } 1756 1757 :host([aria-checked="true"]) { 1758 background: var(--media-menu-item-checked-background); 1759 } 1760 1761 :host([hidden]) { 1762 display: none; 1763 } 1764 1765 :host([disabled]) { 1766 pointer-events: none; 1767 color: rgba(255, 255, 255, .3); 1768 } 1769 1770 slot:not([name]) { 1771 width: 100%; 1772 } 1773 1774 slot:not([name="submenu"]) { 1775 display: inline-flex; 1776 align-items: center; 1777 transition: inherit; 1778 opacity: var(--media-menu-item-opacity, 1); 1779 } 1780 1781 slot[name="description"] { 1782 justify-content: end; 1783 } 1784 1785 slot[name="description"] > span { 1786 display: inline-block; 1787 margin-inline: 1em .2em; 1788 max-width: var(--media-menu-item-description-max-width, 100px); 1789 text-overflow: ellipsis; 1790 overflow: hidden; 1791 font-size: .8em; 1792 font-weight: 400; 1793 text-align: right; 1794 position: relative; 1795 top: .04em; 1796 } 1797 1798 slot[name="checked-indicator"] { 1799 display: none; 1800 } 1801 1802 :host(:is([role="menuitemradio"],[role="menuitemcheckbox"])) slot[name="checked-indicator"] { 1803 display: var(--media-menu-item-checked-indicator-display, inline-block); 1804 } 1805 1806 1807 svg, img, ::slotted(svg), ::slotted(img) { 1808 height: var(--media-menu-item-icon-height, var(--media-control-height, 24px)); 1809 fill: var(--media-icon-color, var(--media-primary-color, rgb(238 238 238))); 1810 display: block; 1811 } 1812 1813 1814 [part~="indicator"], 1815 ::slotted([part~="indicator"]) { 1816 fill: var(--media-menu-item-indicator-fill, 1817 var(--media-icon-color, var(--media-primary-color, rgb(238 238 238)))); 1818 height: var(--media-menu-item-indicator-height, 1.25em); 1819 margin-right: .5ch; 1820 } 1821 1822 [part~="checked-indicator"] { 1823 visibility: hidden; 1824 } 1825 1826 :host([aria-checked="true"]) [part~="checked-indicator"] { 1827 visibility: visible; 1828 } 1829 </style> 1830 <slot name="checked-indicator"> 1831 <svg aria-hidden="true" viewBox="0 1 24 24" part="checked-indicator indicator"> 1832 <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"/> 1833 </svg> 1834 </slot> 1835 <slot name="prefix"></slot> 1836 <slot></slot> 1837 <slot name="description"></slot> 1838 <slot name="suffix">
1839 ${this.getSuffixSlotInnerHTML(e)} 1840 </slot> 1841 <slot name="submenu"></slot> 1842 `},g3.getSuffixSlotInnerHTML=function(e){return""},ct.customElements.get("media-chrome-menu-item")||ct.customElements.define("media-chrome-menu-item",g3);class g5 extends gV{get anchorElement(){return"auto"!==this.anchor?super.anchorElement:cd(this).querySelector("media-settings-menu-button")}}g5.getTemplateHTML=function(e){return` 1843 ${gV.getTemplateHTML(e)} 1844 <style> 1845 :host { 1846 --_menu-bg: rgb(20 20 30 / .8); 1847 background: var(--media-settings-menu-background, 1848 var(--media-menu-background, 1849 var(--media-control-background, 1850 var(--media-secondary-color, var(--_menu-bg))))); 1851 min-width: var(--media-settings-menu-min-width, 170px); 1852 border-radius: 2px 2px 0 0; 1853 overflow: hidden; 1854 } 1855 1856 @-moz-document url-prefix() { 1857 :host{ 1858 --_menu-bg: rgb(20 20 30); 1859 } 1860 } 1861 1862 :host([role="menu"]) { 1863 1864 justify-content: end; 1865 } 1866 1867 slot:not([name]) { 1868 justify-content: var(--media-settings-menu-justify-content); 1869 flex-direction: var(--media-settings-menu-flex-direction, column); 1870 overflow: visible; 1871 } 1872 1873 #container.has-expanded { 1874 --media-settings-menu-item-opacity: 0; 1875 } 1876 </style> 1877 `},ct.customElements.get("media-settings-menu")||ct.customElements.define("media-settings-menu",g5);class g8 extends g3{}g8.shadowRootOptions={mode:"open"},g8.getTemplateHTML=function(e){return` 1878 ${g3.getTemplateHTML.call(this,e)} 1879 <style> 1880 slot:not([name="submenu"]) { 1881 opacity: var(--media-settings-menu-item-opacity, var(--media-menu-item-opacity)); 1882 } 1883 1884 :host([aria-expanded="true"]:hover) { 1885 background: transparent; 1886 } 1887 </style> 1888 `},g8.getSuffixSlotInnerHTML=function(e){return` 1889 <svg aria-hidden="true" viewBox="0 0 20 24"> 1890 <path d="m8.12 17.585-.742-.669 4.2-4.665-4.2-4.666.743-.669 4.803 5.335-4.803 5.334Z"/> 1891 </svg> 1892 `},ct.customElements.get("media-settings-menu-item")||ct.customElements.define("media-settings-menu-item",g8);class g9 extends fa{connectedCallback(){super.connectedCallback(),this.invokeTargetElement&&this.setAttribute("aria-haspopup","menu")}get invokeTarget(){return this.getAttribute("invoketarget")}set invokeTarget(e){this.setAttribute("invoketarget",`${e}`)}get invokeTargetElement(){var e;return this.invokeTarget?null==(e=cg(this))?void 0:e.querySelector(`#${this.invokeTarget}`):null}handleClick(){var e;null==(e=this.invokeTargetElement)||e.dispatchEvent(new gx({relatedTarget:this}))}}ct.customElements.get("media-chrome-menu-button")||ct.customElements.define("media-chrome-menu-button",g9);class g6 extends g9{static get observedAttributes(){return[...super.observedAttributes,"target"]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",uJ("settings"))}get invokeTargetElement(){return void 0!=this.invokeTarget?super.invokeTargetElement:cd(this).querySelector("media-settings-menu")}}g6.getSlotTemplateHTML=function(){return` 1893 <style> 1894 :host([aria-expanded="true"]) slot[name=tooltip] { 1895 display: none; 1896 } 1897 </style> 1898 <slot name="icon"> 1899 <svg aria-hidden="true" viewBox="0 0 24 24"> 1900 <path d="M4.5 14.5a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Zm7.5 0a2.5 2.5 0 1 0 0-5 2.5 2.5 0 0 0 0 5Z"/> 1901 </svg> 1902 </slot> 1903 `},g6.getTooltipContentHTML=function(){return uJ("Settings")},ct.customElements.get("media-settings-menu-button")||ct.customElements.define("media-settings-menu-button",g6);var g7=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},ve=(e,t,i)=>(g7(e,t,"read from private field"),i?i.call(e):t.get(e)),vt=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},vi=(e,t,i,r)=>(g7(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),vr=(e,t,i)=>(g7(e,t,"access private method"),i);T_=new WeakMap,TA=new WeakMap,TS=new WeakSet,Tk=function(){if(ve(this,TA)===JSON.stringify(this.mediaAudioTrackList))return;vi(this,TA,JSON.stringify(this.mediaAudioTrackList));let e=this.mediaAudioTrackList;for(let t of(this.defaultSlot.textContent="",e.sort((e,t)=>
1903e.id.localeCompare(t.id,void 0,{numeric:!0})),e)){let e=g$({type:"radio",text:this.formatMenuItemText(t.label,t),value:`${t.id}`,checked:t.enabled});e.prepend(gH(this,"checked-indicator")),this.defaultSlot.append(e)}},TR=new WeakSet,TL=function(){if(null==this.value)return;let e=new ct.CustomEvent(uD.MEDIA_AUDIO_TRACK_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(e)},ct.customElements.get("media-audio-track-menu")||ct.customElements.define("media-audio-track-menu",class extends gV{constructor(){super(...arguments),vt(this,TS),vt(this,TR),vt(this,T_,[]),vt(this,TA,void 0)}static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_AUDIO_TRACK_LIST,uP.MEDIA_AUDIO_TRACK_ENABLED,uP.MEDIA_AUDIO_TRACK_UNAVAILABLE]}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===uP.MEDIA_AUDIO_TRACK_ENABLED&&t!==i)this.value=i;else if(e===uP.MEDIA_AUDIO_TRACK_LIST&&t!==i){var r;vi(this,T_,null==(r=null!=i?i:"")?void 0:r.split(/\s+/).map(uY)),vr(this,TS,Tk).call(this)}}connectedCallback(){super.connectedCallback(),this.addEventListener("change",vr(this,TR,TL))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",vr(this,TR,TL))}get anchorElement(){var e;return"auto"!==this.anchor?super.anchorElement:null==(e=cd(this))?void 0:e.querySelector("media-audio-track-menu-button")}get mediaAudioTrackList(){return ve(this,T_)}set mediaAudioTrackList(e){vi(this,T_,e),vr(this,TS,Tk).call(this)}get mediaAudioTrackEnabled(){var e;return null!=(e=cS(this,uP.MEDIA_AUDIO_TRACK_ENABLED))?e:""}set mediaAudioTrackEnabled(e){ck(this,uP.MEDIA_AUDIO_TRACK_ENABLED,e)}});let va=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1904 <path d="M11 17H9.5V7H11v10Zm-3-3H6.5v-4H8v4Zm6-5h-1.5v6H14V9Zm3 7h-1.5V8H17v8Z"/> 1905 <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"/> 1906</svg>`,vs=e=>{let t=uJ("Audio");e.setAttribute("aria-label",t)};class vn extends g9{static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_AUDIO_TRACK_ENABLED,uP.MEDIA_AUDIO_TRACK_UNAVAILABLE]}connectedCallback(){super.connectedCallback(),vs(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===uP.MEDIA_LANG&&vs(this)}get invokeTargetElement(){var e;return void 0!=this.invokeTarget?super.invokeTargetElement:null==(e=cd(this))?void 0:e.querySelector("media-audio-track-menu")}get mediaAudioTrackEnabled(){var e;return null!=(e=cS(this,uP.MEDIA_AUDIO_TRACK_ENABLED))?e:""}set mediaAudioTrackEnabled(e){ck(this,uP.MEDIA_AUDIO_TRACK_ENABLED,e)}}vn.getSlotTemplateHTML=function(){return` 1907 <style> 1908 :host([aria-expanded="true"]) slot[name=tooltip] { 1909 display: none; 1910 } 1911 </style> 1912 <slot name="icon">${va}</slot> 1913 `},vn.getTooltipContentHTML=function(){return uJ("Audio")},ct.customElements.get("media-audio-track-menu-button")||ct.customElements.define("media-audio-track-menu-button",vn);var vo=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},vl=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},vd=(e,t,i)=>(vo(e,t,"access private method"),i);let vh=` 1914 <svg aria-hidden="true" viewBox="0 0 26 24" part="captions-indicator indicator"> 1915 <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
19150 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"/> 1916 </svg>`;class vu extends gV{constructor(){super(...arguments),vl(this,Tw),vl(this,TC),vl(this,TI,void 0)}static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_SUBTITLES_LIST,uP.MEDIA_SUBTITLES_SHOWING]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===uP.MEDIA_SUBTITLES_LIST&&t!==i?vd(this,Tw,TD).call(this):e===uP.MEDIA_SUBTITLES_SHOWING&&t!==i&&(this.value=i||"",vd(this,Tw,TD).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",vd(this,TC,TM))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",vd(this,TC,TM))}get anchorElement(){return"auto"!==this.anchor?super.anchorElement:cd(this).querySelector("media-captions-menu-button")}get mediaSubtitlesList(){return vc(this,uP.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){vm(this,uP.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return vc(this,uP.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){vm(this,uP.MEDIA_SUBTITLES_SHOWING,e)}}TI=new WeakMap,Tw=new WeakSet,TD=function(){var e,t,i,r,a,s;let n=(vo(this,t=TI,"read from private field"),(i?i.call(this):t.get(this))!==JSON.stringify(this.mediaSubtitlesList)),o=this.value!==this.getAttribute(uP.MEDIA_SUBTITLES_SHOWING);if(!n&&!o)return;r=TI,a=JSON.stringify(this.mediaSubtitlesList),vo(this,r,"write to private field"),s?s.call(this,a):r.set(this,a),this.defaultSlot.textContent="";let l=!this.value,d=g$({type:"radio",text:this.formatMenuItemText(uJ("Off")),value:"off",checked:l});for(let t of(d.prepend(gH(this,"checked-indicator")),this.defaultSlot.append(d),this.mediaSubtitlesList)){let i=g$({type:"radio",text:this.formatMenuItemText(t.label,t),value:c0(t),checked:this.value==c0(t)});i.prepend(gH(this,"checked-indicator")),"captions"===(null!=(e=t.kind)?e:"subs")&&i.append(gH(this,"captions-indicator")),this.defaultSlot.append(i)}},TC=new WeakSet,TM=function(){let e=this.mediaSubtitlesShowing,t=this.getAttribute(uP.MEDIA_SUBTITLES_SHOWING),i=this.value!==t;if((null==e?void 0:e.length)&&i&&this.dispatchEvent(new ct.CustomEvent(uD.MEDIA_DISABLE_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:e})),!this.value||!i)return;let r=new ct.CustomEvent(uD.MEDIA_SHOW_SUBTITLES_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(r)},vu.getTemplateHTML=function(e){return` 1917 ${gV.getTemplateHTML(e)} 1918 <slot name="captions-indicator" hidden>${vh}</slot> 1919 `};let vc=(e,t)=>{let i=e.getAttribute(t);return i?cZ(i):[]},vm=(e,t,i)=>{if(!(null==i?void 0:i.length))return void e.removeAttribute(t);let r=c1(i);e.getAttribute(t)!==r&&e.setAttribute(t,r)};ct.customElements.get("media-captions-menu")||ct.customElements.define("media-captions-menu",vu);let vf=`<svg aria-hidden="true" viewBox="0 0 26 24"> 1920 <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"/> 1921</svg>`,vp=`<svg aria-hidden="true" viewBox="0 0 26 24"> 1922 <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.8
19221 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"/> 1923</svg>`,vg=e=>{e.setAttribute("data-captions-enabled",c5(e).toString())},vv=e=>{e.setAttribute("aria-label",uJ("closed captions"))};class vE extends g9{static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_SUBTITLES_LIST,uP.MEDIA_SUBTITLES_SHOWING,uP.MEDIA_LANG]}connectedCallback(){super.connectedCallback(),vv(this),vg(this)}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===uP.MEDIA_SUBTITLES_SHOWING?vg(this):e===uP.MEDIA_LANG&&vv(this)}get invokeTargetElement(){var e;return void 0!=this.invokeTarget?super.invokeTargetElement:null==(e=cd(this))?void 0:e.querySelector("media-captions-menu")}get mediaSubtitlesList(){return vy(this,uP.MEDIA_SUBTITLES_LIST)}set mediaSubtitlesList(e){vb(this,uP.MEDIA_SUBTITLES_LIST,e)}get mediaSubtitlesShowing(){return vy(this,uP.MEDIA_SUBTITLES_SHOWING)}set mediaSubtitlesShowing(e){vb(this,uP.MEDIA_SUBTITLES_SHOWING,e)}}vE.getSlotTemplateHTML=function(){return` 1924 <style> 1925 :host([data-captions-enabled="true"]) slot[name=off] { 1926 display: none !important; 1927 } 1928 1929 1930 :host(:not([data-captions-enabled="true"])) slot[name=on] { 1931 display: none !important; 1932 } 1933 1934 :host([aria-expanded="true"]) slot[name=tooltip] { 1935 display: none; 1936 } 1937 </style> 1938 1939 <slot name="icon"> 1940 <slot name="on">${vf}</slot> 1941 <slot name="off">${vp}</slot> 1942 </slot> 1943 `},vE.getTooltipContentHTML=function(){return uJ("Captions")};let vy=(e,t)=>{let i=e.getAttribute(t);return i?cZ(i):[]},vb=(e,t,i)=>{if(!(null==i?void 0:i.length))return void e.removeAttribute(t);let r=c1(i);e.getAttribute(t)!==r&&e.setAttribute(t,r)};ct.customElements.get("media-captions-menu-button")||ct.customElements.define("media-captions-menu-button",vE);var vT=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},v_=(e,t,i)=>(vT(e,t,"read from private field"),i?i.call(e):t.get(e)),vA=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},vS=(e,t,i)=>(vT(e,t,"access private method"),i);let vk="rates";Tx=new WeakMap,TP=new WeakSet,TO=function(){this.defaultSlot.textContent="";let e=this.mediaPlaybackRate,t=new Set(Array.from(v_(this,Tx)).map(e=>Number(e)));for(let i of(e>0&&!t.has(e)&&t.add(e),Array.from(t).sort((e,t)=>e-t))){let t=g$({type:"radio",text:this.formatMenuItemText(`${i}x`,i),value:i.toString(),checked:e===i});t.prepend(gH(this,"checked-indicator")),this.defaultSlot.append(t)}},TN=new WeakSet,TU=function(){if(!this.value)return;let e=new ct.CustomEvent(uD.MEDIA_PLAYBACK_RATE_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(e)},ct.customElements.get("media-playback-rate-menu")||ct.customElements.define("media-playback-rate-menu",class extends gV{constructor(){super(),vA(this,TP),vA(this,TN),vA(this,Tx,new cz(this,vk,{defaultValue:pp})),vS(this,TP,TO).call(this)}static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_PLAYBACK_RATE,vk]}attributeChangedCallback(e,t,i){super.attributeChangedCallback(e,t,i),e===uP.MEDIA_PLAYBACK_RATE&&t!=i?(this.value=i,vS(this,TP,TO).call(this)):e===vk&&t!=i&&(v_(this,Tx).value=i,vS(this,TP,TO).call(this))}connectedCallback(){super.connectedCallback(),this.addEventListener("change",vS(this,TN,TU))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",vS(this,TN,TU))}get anchorElement(){return"auto"!==this.anchor?super.anchorElement:cd(this).querySelector("media-playback-rate-menu-button")}get rates(){return v_(this,Tx)}set rates(e){e?Array.isArray(e)?v_(this,Tx).value=e.join(" "):"str
1943ing"==typeof e&&(v_(this,Tx).value=e):v_(this,Tx).value="",vS(this,TP,TO).call(this)}get mediaPlaybackRate(){return cb(this,uP.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){cT(this,uP.MEDIA_PLAYBACK_RATE,e)}});class vR extends g9{static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_PLAYBACK_RATE]}constructor(){var e;super(),this.container=this.shadowRoot.querySelector('slot[name="icon"]'),this.container.innerHTML=`${null!=(e=this.mediaPlaybackRate)?e:1}x`}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),e===uP.MEDIA_PLAYBACK_RATE){let e=i?+i:NaN,t=Number.isNaN(e)?1:e;this.container.innerHTML=`${t}x`,this.setAttribute("aria-label",uJ("Playback rate {playbackRate}",{playbackRate:t}))}}get invokeTargetElement(){return void 0!=this.invokeTarget?super.invokeTargetElement:cd(this).querySelector("media-playback-rate-menu")}get mediaPlaybackRate(){return cb(this,uP.MEDIA_PLAYBACK_RATE,1)}set mediaPlaybackRate(e){cT(this,uP.MEDIA_PLAYBACK_RATE,e)}}vR.getSlotTemplateHTML=function(e){return` 1944 <style> 1945 :host { 1946 min-width: 5ch; 1947 padding: var(--media-button-padding, var(--media-control-padding, 10px 5px)); 1948 } 1949 1950 :host([aria-expanded="true"]) slot { 1951 display: block; 1952 } 1953 1954 :host([aria-expanded="true"]) slot[name=tooltip] { 1955 display: none; 1956 } 1957 </style> 1958 <slot name="icon">${e.mediaplaybackrate||1}x</slot> 1959 `},vR.getTooltipContentHTML=function(){return uJ("Playback rate")},ct.customElements.get("media-playback-rate-menu-button")||ct.customElements.define("media-playback-rate-menu-button",vR);var vL=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)},vI=(e,t,i)=>(vL(e,t,"read from private field"),i?i.call(e):t.get(e)),vw=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},vD=(e,t,i,r)=>(vL(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),vC=(e,t,i)=>(vL(e,t,"access private method"),i);TF=new WeakMap,TB=new WeakMap,T$=new WeakSet,TH=function(){let e,t=!this.mediaRenditionSelected;if(vI(this,TB).mediaRenditionList===JSON.stringify(this.mediaRenditionList)&&vI(this,TB).mediaHeight===this.mediaHeight&&vI(this,TB).mediaWidth===this.mediaWidth&&vI(this,TB).isAuto===t)return;vI(this,TB).mediaRenditionList=JSON.stringify(this.mediaRenditionList),vI(this,TB).mediaHeight=this.mediaHeight,vI(this,TB).mediaWidth=this.mediaWidth,vI(this,TB).isAuto=t;let i=this.mediaRenditionList.sort(this.compareRendition.bind(this)),r=i.find(e=>e.id===this.mediaRenditionSelected);for(let e of i)e.selected=e===r;for(let e of(this.defaultSlot.textContent="",i)){let i=g$({type:"radio",text:this.formatRendition(e,{showBitrate:this.showRenditionBitrate(e)}),value:`${e.id}`,checked:e.selected&&!t});i.prepend(gH(this,"checked-indicator")),this.defaultSlot.append(i)}let a=r&&this.showRenditionBitrate(r);t&&(r?e=this.formatMenuItemText(`${uJ("Auto")} \u2022 ${this.formatRendition(r,{showBitrate:a})}`,r):this.mediaHeight>0&&this.mediaWidth>0&&(e=this.formatMenuItemText(`${uJ("Auto")} (${Math.min(this.mediaWidth,this.mediaHeight)}p)`))),e||(e=this.formatMenuItemText(uJ("Auto")));let s=g$({type:"radio",text:e,value:"auto",checked:t});s.dataset.description=e,s.prepend(gH(this,"checked-indicator")),this.defaultSlot.append(s)},TG=new WeakSet,TK=function(){if(null==this.value)return;let e=new ct.CustomEvent(uD.MEDIA_RENDITION_REQUEST,{composed:!0,bubbles:!0,detail:this.value});this.dispatchEvent(e)},ct.customElements.get("media-rendition-menu")||ct.customElements.define("media-rendition-menu",class extends gV{constructor(){super(...arguments),vw(this,T$),vw(this,TG),vw(this,TF,[]),vw(this,TB,{})}static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_RENDITION_LIST,uP.MEDIA_RENDITION_SELECTED,uP.MEDIA_RENDITION_UNAVAILABLE,uP.MEDIA_HEIGHT,uP.MEDIA_WIDTH]}static formatMenuItemText(e,t){return super.formatMenuItemText(e,t)}static formatRendition(e,{showBitrate:t=!1}={}){let i=`${Math.min(e.width,e.height)}p`;if(t&&e.bitrate){let t=e.bitrate/1e6,r=`${t.toFixed(+(t<1))} Mbps`;return`${i} (${r})`}return this.formatMenuItemText(i,e)}static compareRendition(e,t){var i,r;return t.height===e.height?(null!=(i=t.bitrate)?i:0)-(null!=(r=e.bitrate)?r:0):t.height-e.height}attributeChangedCallback(e,t,i){if(super.attributeChangedCallback(e,t,i),t!==i)switch(e){case uP.MEDIA_RENDITION_SELECTED:this.value=null!=i?i:"auto",vC(this,T$,TH).call(this);break;case uP.MEDIA_RENDITION_LIST:vD(this,TF,null==i?void 0:i.split(/\s+/).map(uV)),vC(this,T$,TH).call(this);break;case uP.MEDIA_HEIGHT:case uP.MEDIA_WIDTH:vC(this,T$,TH).call(this)}}connectedCallback(){super.connectedCallback(),this.addEventListener("change",vC(this,TG,TK))}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("change",vC(this,TG,TK))}get anchorElement(){return"auto"!==this.anchor?super.anchorElement:cd(this).querySelector("media-rendition-menu-button")}get mediaRenditionList(){return vI(this,TF)}set mediaRenditionList(e){vD(this,TF,e),vC(this,T$,TH).call(this)}get mediaRenditionSelected(){return cS(this,uP.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){ck(this,uP.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return cb(this,uP.MEDIA_HEIGHT)}set mediaHeight(e){cT(this,uP.MEDIA_HEIGHT,e)}get mediaWidth(){return cb(this,uP.MEDIA_WIDTH)}set mediaWidth(e){cT(this,uP.MEDIA_WIDTH,e)}compareRendition(e,t){return this.constructor.compareRendition(e,t)}formatMenuItemText(e,t){return this.constructor.formatMenuItemText(e,t)}formatRendition(e,t){return this.constructor.formatRendition(e,t)}showRenditionBitrate(e){return this.mediaRenditionList.some(t=>t!==e&&t.height===e.height&&t.bitrate!==e.bitrate)}});let vM=`<svg aria-hidden="true" viewBox="0 0 24 24"> 1960 <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" /> 1961</svg>`;class vx extends g9{static get observedAttributes(){return[...super.observedAttributes,uP.MEDIA_RENDITION_SELECTED,uP.MEDIA_RENDITION_UNAVAILABLE,uP.MEDIA_HEIGHT]}connectedCallback(){super.connectedCallback(),this.setAttribute("aria-label",uJ("quality"))}get invokeTargetElement(){return void 0!=this.invokeTarget?super.invokeTargetElement:cd(this).querySelector("media-rendition-menu")}get mediaRenditionSelected(){return cS(this,uP.MEDIA_RENDITION_SELECTED)}set mediaRenditionSelected(e){ck(this,uP.MEDIA_RENDITION_SELECTED,e)}get mediaHeight(){return cb(this,uP.MEDIA_HEIGHT)}set mediaHeight(e){cT(this,uP.MEDIA_HEIGHT,e)}}vx.getSlotTemplateHTML=function(){return` 1962 <style> 1963 :host([aria-expanded="true"]) slot[name=tooltip] { 1964 display: none; 1965 } 1966 </style> 1967 <slot name="icon">${vM}</slot> 1968 `},vx.getTooltipContentHTML=function(){return uJ("Quality")},ct.customElements.get("media-rendition-menu-button")||ct.customElements.define("media-rendition-menu-button",vx);var vP=(e,t,i)=>{if(!t.has(e))throw TypeError("Cannot "+i)}
1968,vO=(e,t,i)=>(vP(e,t,"read from private field"),i?i.call(e):t.get(e)),vN=(e,t,i)=>{if(t.has(e))throw TypeError("Cannot add the same private member more than once");t instanceof WeakSet?t.add(e):t.set(e,i)},vU=(e,t,i,r)=>(vP(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),vF=(e,t,i)=>(vP(e,t,"access private method"),i);class vB extends gV{constructor(){super(),vN(this,TV),vN(this,TY),vN(this,TQ),vN(this,TX),vN(this,T0),vN(this,TW,!1),vN(this,TJ,e=>{let t=e.target,i=(null==t?void 0:t.nodeName)==="VIDEO",r=vF(this,TX,TZ).call(this,t);(i||r)&&(vO(this,TW)?vF(this,TY,Tj).call(this):vF(this,T0,T1).call(this,e))}),vN(this,T2,e=>{let t=e.target,i=this.contains(t),r=2===e.button,a=(null==t?void 0:t.nodeName)==="VIDEO",s=vF(this,TX,TZ).call(this,t);i||r&&(a||s)||vF(this,TY,Tj).call(this)}),vN(this,T3,e=>{"Escape"===e.key&&vF(this,TY,Tj).call(this)}),vN(this,T4,e=>{var t,i;let r=e.target;if(null==(t=r.matches)?void 0:t.call(r,'button[invoke="copy"]')){let e=null==(i=r.closest("media-context-menu-item"))?void 0:i.querySelector('input[slot="copy"]');e&&navigator.clipboard.writeText(e.value)}vF(this,TY,Tj).call(this)}),this.setAttribute("noautohide",""),vF(this,TV,Tq).call(this)}connectedCallback(){super.connectedCallback(),cd(this).addEventListener("contextmenu",vO(this,TJ)),this.addEventListener("click",vO(this,T4))}disconnectedCallback(){super.disconnectedCallback(),cd(this).removeEventListener("contextmenu",vO(this,TJ)),this.removeEventListener("click",vO(this,T4)),document.removeEventListener("mousedown",vO(this,T2)),document.removeEventListener("keydown",vO(this,T3))}}TW=new WeakMap,TV=new WeakSet,Tq=function(){this.hidden=!vO(this,TW)},TY=new WeakSet,Tj=function(){vU(this,TW,!1),vF(this,TV,Tq).call(this)},TQ=new WeakSet,Tz=function(){document.querySelectorAll("media-context-menu").forEach(e=>{e!==this&&vF(e,TY,Tj).call(e)})},TX=new WeakSet,TZ=function(e){return!!e&&(!!e.hasAttribute("slot")&&"media"===e.getAttribute("slot")||!!(e.nodeName.includes("-")&&e.tagName.includes("-"))&&(e.hasAttribute("src")||e.hasAttribute("poster")||e.hasAttribute("preload")||e.hasAttribute("playsinline")))},TJ=new WeakMap,T0=new WeakSet,T1=function(e){e.preventDefault(),vF(this,TQ,Tz).call(this),vU(this,TW,!0),this.style.position="fixed",this.style.left=`${e.clientX}px`,this.style.top=`${e.clientY}px`,vF(this,TV,Tq).call(this),document.addEventListener("mousedown",vO(this,T2),{once:!0}),document.addEventListener("keydown",vO(this,T3),{once:!0})},T2=new WeakMap,T3=new WeakMap,T4=new WeakMap,vB.getTemplateHTML=function(e){return` 1969 ${gV.getTemplateHTML(e)} 1970 <style> 1971 :host { 1972 --_menu-bg: rgb(20 20 30 / .8); 1973 background: var(--media-settings-menu-background, 1974 var(--media-menu-background, 1975 var(--media-control-background, 1976 var(--media-secondary-color, var(--_menu-bg))))); 1977 min-width: var(--media-settings-menu-min-width, 170px); 1978 border-radius: 2px; 1979 overflow: hidden; 1980 } 1981 </style> 1982 `},ct.customElements.get("media-context-menu")||ct.customElements.define("media-context-menu",vB);class v$ extends g3{}v$.shadowRootOptions={mode:"open"},v$.getTemplateHTML=function(e){return` 1983 ${g3.getTemplateHTML.call(this,e)} 1984 <style> 1985 ::slotted(*) { 1986 color: var(--media-text-color, white); 1987 text-decoration: none; 1988 border: none; 1989 background: none; 1990 cursor: pointer; 1991 padding: 0; 1992 min-height: var(--media-control-height, 24px); 1993 } 1994 </style> 1995 `},ct.customElements.get("media-context-menu-item")||ct.customElements.define("media-context-menu-item",v$);var vH=e=>{throw TypeError(e)},vG=(e,t,i)=>t.has(e)||vH("Cannot "+i),vK=(e,t,i)=>(vG(e,t,"read from private field"),i?i.call(e):t.get(e)),vW=(e,t,i)=>t.has(e)?vH("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i),vV=(e,t,i,r)=>(vG(e,t,"write to private field"),r?r.call(e,i):t.set(e,i),i),vq=(e,t,i)=>(vG(e,t,"access private method"),i),vY=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};"u"<typeof DocumentFragment&&(globalThis.DocumentFragment=class extends vY{});var vj,vQ,vz,vX,vZ,vJ,v0,v1,v2,v3,v4,v5,v8,v9,v6,v7,Ee,Et,Ei,Er,Ea,Es,En,Eo,El,Ed,Eh,Eu,Ec,Em,Ef,Ep,Eg,Ev,EE,Ey,Eb,ET,E_,EA,ES,Ek,ER,EL,EI,Ew,ED,EC,EM,Ex,EP,EO,EN,EU,EF,EB,E$,EH,EG,EK,EW,EV,Eq,EY,Ej,EQ,Ez,EX,EZ,EJ,E0,E1,E2,E3,E4,E5,E8,E9,E6,E7,ye,yt,yi,yr,ya,ys,yn,yo,yl,yd,yh,yu,yc,ym,yf,yp,yg,yv,yE,yy,yb,yT,y_,yA,yS,yk,yR,yL,yI,yw,yD,yC,yM,yx,yP,yO,yN,yU,yF,yB,y$,yH,yG,yK,yW,yV,yq,yY,yj,yQ,yz,yX,yZ,yJ,
1995y0,y1,y2,y3,y4,y5,y8,y9,y6,y7,be,bt,bi,br,ba,bs,bn,bo,bl,bd,bh,bu,bc,bm,bf,bp,bg,bv,bE,by,bb,bT,b_,bA,bS,bk,bR,bL,bI,bw,bD,bC,bM,bx,bP,bO,bN,bU,bF,bB,b$,bH,bG,bK,bW,bV,bq,bY,bj,bQ,bz,bX,bZ,bJ,b0,b1,b2,b3,b4,b5,b8,b9,b6,b7,Te,Tt,Ti,Tr,Ta,Ts,Tn,To,Tl,Td,Th,Tu,Tc,Tm,Tf,Tp,Tg,Tv,TE,Ty,Tb,TT,T_,TA,TS,Tk,TR,TL,TI,Tw,TD,TC,TM,Tx,TP,TO,TN,TU,TF,TB,T$,TH,TG,TK,TW,TV,Tq,TY,Tj,TQ,Tz,TX,TZ,TJ,T0,T1,T2,T3,T4,T5,T8=class extends vY{},T9=class{constructor(e,t={}){vW(this,T5),vV(this,T5,null==t?void 0:t.detail)}get detail(){return vK(this,T5)}initCustomEvent(){}};T5=new WeakMap;var T6={document:{createElement:function(e,t){return new T8}},DocumentFragment,customElements:{get(e){},define(e,t,i){},getName:e=>null,upgrade(e){},whenDefined:e=>Promise.resolve(T8)},CustomEvent:T9,EventTarget:vY,HTMLElement:T8,HTMLVideoElement:class extends vY{}},T7="u"<typeof window||void 0===globalThis.customElements,_e=T7?T6:globalThis,_t=T7?T6.document:globalThis.document;function _i(e){return e.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function _r(e){return e.replace(/[-_]([a-z])/g,(e,t)=>t.toUpperCase())}function _a(e){if(null==e)return;let t=+e;return Number.isNaN(t)?void 0:t}function _s(e){let t=(function(e){let t={};for(let i in e)null!=e[i]&&(t[i]=e[i]);return new URLSearchParams(t)})(e).toString();return t?"?"+t:""}var _n,_o,_l,_d=(e,t)=>!!e&&!!t&&(!!e.contains(t)||_d(e,t.getRootNode().host)),_h="mux.com",_u=(()=>{try{return"3.13.0"}catch{}return"UNKNOWN"})(),_c=e=>{if(e){if([lv.LIVE,lv.ON_DEMAND].includes(e))return e;if(null!=e&&e.includes("live"))return lv.LIVE}},_m={crossorigin:"crossOrigin",playsinline:"playsInline"},_f=class{constructor(e,t){vW(this,_n),vW(this,_o),vW(this,_l,[]),vV(this,_n,e),vV(this,_o,t)}[Symbol.iterator](){return vK(this,_l).values()}get length(){return vK(this,_l).length}get value(){var e;return null!=(e=vK(this,_l).join(" "))?e:""}set value(e){var t;e!==this.value&&(vV(this,_l,[]),this.add(...null!=(t=null==e?void 0:e.split(" "))?t:[]))}toString(){return this.value}item(e){return vK(this,_l)[e]}values(){return vK(this,_l).values()}keys(){return vK(this,_l).keys()}forEach(e){vK(this,_l).forEach(e)}add(...e){var t,i;e.forEach(e=>{this.contains(e)||vK(this,_l).push(e)}),(""!==this.value||null!=(t=vK(this,_n))&&t.hasAttribute(`${vK(this,_o)}`))&&null!=(i=vK(this,_n))&&i.setAttribute(`${vK(this,_o)}`,`${this.value}`)}remove(...e){var t;e.forEach(e=>{vK(this,_l).splice(vK(this,_l).indexOf(e),1)}),null==(t=vK(this,_n))||t.setAttribute(`${vK(this,_o)}`,`${this.value}`)}contains(e){return vK(this,_l).includes(e)}toggle(e,t){return void 0!==t?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)}};_n=new WeakMap,_o=new WeakMap,_l=new WeakMap;var _p=`[mux-player ${_u}]`;function _g(...e){console.warn(_p,...e)}function _v(...e){console.error(_p,...e)}function _E(e){var t;let i=null!=(t=e.message)?t:"";e.context&&(i+=` ${e.context}`),e.file&&(i+=` ${lO("Read more: ")} 1996https://github.com/muxinc/elements/blob/main/errors/${e.file}`),_g(i)}var _y={AUTOPLAY:"autoplay",CROSSORIGIN:"crossorigin",LOOP:"loop",MUTED:"muted",PLAYSINLINE:"playsinline",PRELOAD:"preload"},_b={VOLUME:"volume",PLAYBACKRATE:"playbackrate",MUTED:"muted"},_T=Object.freeze({length:0,start(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'start' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0},end(e){let t=e>>>0;if(t>=this.length)throw new DOMException(`Failed to execute 'end' on 'TimeRanges': The index provided (${t}) is greater than or equal to the maximum bound (${this.length}).`);return 0}}),__=[...Object.values(_y).filter(e=>_y.PLAYSINLINE!==e),...Object.values(_b)];function _A(e,t){return e.media?e.media.getAttribute(t):e.getAttribute(t)}var _S=class extends _e.HTMLElement{static get observedAttributes(){return __}constructor(){super()}attributeChangedCallback(e,t,i){var r,a;switch(e){case _b.MUTED:this.media&&(this.media.muted=null!=i,this.media.defaultMuted=null!=i);return;case _b.VOLUME:{let e=null!=(r=_a(i))?r:1;this.media&&(this.media.volume=e);return}case _b.PLAYBACKRATE:{let e=null!=(a=_a(i))?a:1;this.media&&(this.media.playbackRate=e,this.media.defaultPlaybackRate=e);return}}}play(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.play())?t:Promise.reject()}pause(){var e;null==(e=this.media)||e.pause()}load(){var e;null==(e=this.media)||e.load()}get media(){var e;return null==(e=this.shadowRoot)?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 null==(t=null==(e=this.media)?void 0:e.paused)||t}get duration(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.duration)?t:NaN}
1996get ended(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.ended)&&t}get buffered(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.buffered)?t:_T}get seekable(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.seekable)?t:_T}get readyState(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.readyState)?t:0}get videoWidth(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.videoWidth)?t:0}get videoHeight(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.videoHeight)?t:0}get currentSrc(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.currentSrc)?t:""}get currentTime(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.currentTime)?t:0}set currentTime(e){this.media&&(this.media.currentTime=Number(e))}get volume(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.volume)?t:1}set volume(e){this.media&&(this.media.volume=Number(e))}get playbackRate(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.playbackRate)?t:1}set playbackRate(e){this.media&&(this.media.playbackRate=Number(e))}get defaultPlaybackRate(){var e;return null!=(e=_a(this.getAttribute(_b.PLAYBACKRATE)))?e:1}set defaultPlaybackRate(e){null!=e?this.setAttribute(_b.PLAYBACKRATE,`${e}`):this.removeAttribute(_b.PLAYBACKRATE)}get crossOrigin(){return _A(this,_y.CROSSORIGIN)}set crossOrigin(e){this.setAttribute(_y.CROSSORIGIN,`${e}`)}get autoplay(){return null!=_A(this,_y.AUTOPLAY)}set autoplay(e){e?this.setAttribute(_y.AUTOPLAY,"string"==typeof e?e:""):this.removeAttribute(_y.AUTOPLAY)}get loop(){return null!=_A(this,_y.LOOP)}set loop(e){e?this.setAttribute(_y.LOOP,""):this.removeAttribute(_y.LOOP)}get muted(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.muted)&&t}set muted(e){this.media&&(this.media.muted=!!e)}get defaultMuted(){return null!=_A(this,_y.MUTED)}set defaultMuted(e){e?this.setAttribute(_y.MUTED,""):this.removeAttribute(_y.MUTED)}get playsInline(){return null!=_A(this,_y.PLAYSINLINE)}set playsInline(e){_v("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(_y.PRELOAD,e):this.removeAttribute(_y.PRELOAD)}},_k=`:host { 1997 --media-control-display: var(--controls); 1998 --media-loading-indicator-display: var(--loading-indicator); 1999 --media-dialog-display: var(--dialog); 2000 --media-play-button-display: var(--play-button); 2001 --media-live-button-display: var(--live-button); 2002 --media-seek-backward-button-display: var(--seek-backward-button); 2003 --media-seek-forward-button-display: var(--seek-forward-button); 2004 --media-mute-button-display: var(--mute-button); 2005 --media-captions-button-display: var(--captions-button); 2006 --media-captions-menu-button-display: var(--captions-menu-button, var(--media-captions-button-display)); 2007 --media-rendition-menu-button-display: var(--rendition-menu-button); 2008 --media-audio-track-menu-button-display: var(--audio-track-menu-button); 2009 --media-airplay-button-display: var(--airplay-button); 2010 --media-pip-button-display: var(--pip-button); 2011 --media-fullscreen-button-display: var(--fullscreen-button); 2012 --media-cast-button-display: var(--cast-button, var(--_cast-button-drm-display)); 2013 --media-playback-rate-button-display: var(--playback-rate-button); 2014 --media-playback-rate-menu-button-display: var(--playback-rate-menu-button); 2015 --media-volume-range-display: var(--volume-range); 2016 --media-time-range-display: var(--time-range); 2017 --media-time-display-display: var(--time-display); 2018 --media-duration-display-display: var(--duration-display); 2019 --media-title-display-display: var(--title-display); 2020 2021 display: inline-block; 2022 line-height: 0; 2023 width: 100%; 2024} 2025 2026a { 2027 color: #fff; 2028 font-size: 0.9em; 2029 text-decoration: underline; 2030} 2031 2032media-theme { 2033 display: inline-block; 2034 line-height: 0; 2035 width: 100%; 2036 height: 100%; 2037 direction: ltr; 2038} 2039 2040media-poster-image { 2041 display: inline-block; 2042 line-height: 0; 2043 width: 100%; 2044 height: 100%; 2045} 2046 2047media-poster-image:not([src]):not([placeholdersrc]) { 2048 display: none; 2049} 2050 2051::part(top), 2052[part~='top'] { 2053 --media-control-display: var(--controls, var(--top-controls)); 2054 --media-play-button-display: var(--play-button, var(--top-play-button)); 2055 --media-live-button-display: var(--live-button, var(--top-live-button)); 2056 --media-seek-backward-button-display: var(--seek-backward-button, var(--top-seek-backward-button)); 2057 --media-seek-forward-button-display: var(--seek-forward-button, var(--top-seek-forward-button)); 2058 --media-mute-button-display: var(--mute-button, var(--top-mute-button)); 2059 --media-captions-button-display: var(--captions-button, var(--top-captions-button)); 2060 --media-captions-menu-button-display: var( 2061 --captions-menu-button, 2062 var(--media-captions-button-display, var(--top-captions-menu-button)) 2063 ); 2064 --media-rendition-menu-button-display: var(--rendition-menu-button, var(--top-rendition-menu-button)); 2065 --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--top-audio-track-menu-button)); 2066 --media-airplay-button-display: var(--airplay-button, var(--top-airplay-button)); 2067 --media-pip-button-display: var(--pip-button, var(--top-pip-button)); 2068 --media-fullscreen-button-display: var(--fullscreen-button, var(--top-fullscreen-button)); 2069 --media-cast-button-display: var(--cast-button, var(--top-cast-button, var(--_cast-button-drm-display))); 2070 --media-playback-rate-button-display: var(--playback-rate-button, var(--top-playback-rate-button)); 2071 --media-playback-rate-menu-button-display: var( 2072 --captions-menu-button, 2073 var(--media-playback-rate-button-display, var(--top-playback-rate-menu-button)) 2074 ); 2075 --media-volume-range-display: var(--volume-range, var(--top-volume-range)); 2076 --media-time-range-display: var(--time-range, var(--top-time-range)); 2077 --media-time-display-display: var(--time-display, var(--top-time-display)); 2078 --media-duration-display-display: var(--duration-display, var(--top-duration-display)); 2079 --media-title-display-display: var(--title-display, var(--top-title-display)); 2080} 2081 2082::part(center), 2083[part~='center'] {
2084 --media-control-display: var(--controls, var(--center-controls)); 2085 --media-play-button-display: var(--play-button, var(--center-play-button)); 2086 --media-live-button-display: var(--live-button, var(--center-live-button)); 2087 --media-seek-backward-button-display: var(--seek-backward-button, var(--center-seek-backward-button)); 2088 --media-seek-forward-button-display: var(--seek-forward-button, var(--center-seek-forward-button)); 2089 --media-mute-button-display: var(--mute-button, var(--center-mute-button)); 2090 --media-captions-button-display: var(--captions-button, var(--center-captions-button)); 2091 --media-captions-menu-button-display: var( 2092 --captions-menu-button, 2093 var(--media-captions-button-display, var(--center-captions-menu-button)) 2094 ); 2095 --media-rendition-menu-button-display: var(--rendition-menu-button, var(--center-rendition-menu-button)); 2096 --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--center-audio-track-menu-button)); 2097 --media-airplay-button-display: var(--airplay-button, var(--center-airplay-button)); 2098 --media-pip-button-display: var(--pip-button, var(--center-pip-button)); 2099 --media-fullscreen-button-display: var(--fullscreen-button, var(--center-fullscreen-button)); 2100 --media-cast-button-display: var(--cast-button, var(--center-cast-button, var(--_cast-button-drm-display))); 2101 --media-playback-rate-button-display: var(--playback-rate-button, var(--center-playback-rate-button)); 2102 --media-playback-rate-menu-button-display: var( 2103 --playback-rate-menu-button, 2104 var(--media-playback-rate-button-display, var(--center-playback-rate-menu-button)) 2105 ); 2106 --media-volume-range-display: var(--volume-range, var(--center-volume-range)); 2107 --media-time-range-display: var(--time-range, var(--center-time-range)); 2108 --media-time-display-display: var(--time-display, var(--center-time-display)); 2109 --media-duration-display-display: var(--duration-display, var(--center-duration-display)); 2110} 2111 2112::part(bottom), 2113[part~='bottom'] { 2114 --media-control-display: var(--controls, var(--bottom-controls)); 2115 --media-play-button-display: var(--play-button, var(--bottom-play-button)); 2116 --media-live-button-display: var(--live-button, var(--bottom-live-button)); 2117 --media-seek-backward-button-display: var(--seek-backward-button, var(--bottom-seek-backward-button)); 2118 --media-seek-forward-button-display: var(--seek-forward-button, var(--bottom-seek-forward-button)); 2119 --media-mute-button-display: var(--mute-button, var(--bottom-mute-button)); 2120 --media-captions-button-display: var(--captions-button, var(--bottom-captions-button)); 2121 --media-captions-menu-button-display: var( 2122 --captions-menu-button, 2123 var(--media-captions-button-display, var(--bottom-captions-menu-button)) 2124 ); 2125 --media-rendition-menu-button-display: var(--rendition-menu-button, var(--bottom-rendition-menu-button)); 2126 --media-audio-track-menu-button-display: var(--audio-track-menu-button, var(--bottom-audio-track-menu-button)); 2127 --media-airplay-button-display: var(--airplay-button, var(--bottom-airplay-button)); 2128 --media-pip-button-display: var(--pip-button, var(--bottom-pip-button)); 2129 --media-fullscreen-button-display: var(--fullscreen-button, var(--bottom-fullscreen-button)); 2130 --media-cast-button-display: var(--cast-button, var(--bottom-cast-button, var(--_cast-button-drm-display))); 2131 --media-playback-rate-button-display: var(--playback-rate-button, var(--bottom-playback-rate-button)); 2132 --media-playback-rate-menu-button-display: var( 2133 --playback-rate-menu-button, 2134 var(--media-playback-rate-button-display, var(--bottom-playback-rate-menu-button)) 2135 ); 2136 --media-volume-range-display: var(--volume-range, var(--bottom-volume-range)); 2137 --media-time-range-display: var(--time-range, var(--bottom-time-range)); 2138 --media-time-display-display: var(--time-display, var(--bottom-time-display)); 2139 --media-duration-display-display: var(--duration-display, var(--bottom-duration-display)); 2140 --media-title-display-display: var(--title-display, var(--bottom-title-display)); 2141} 2142 2143:host([no-tooltips]) { 2144 --media-tooltip-display: none; 2145} 2146`,_R=new WeakMap,_L=class e{constructor(e,t){this.element=e,this.type=t,this.element.addEventListener(this.type,this);let i=_R.get(this.element);i&&i.set(this.type,this)}set(e){if("function"==typeof e)this.handleEvent=e.bind(this.element);else if("object"==typeof e&&"function"==typeof e.handleEvent)this.handleEvent=e.handleEvent.bind(e);else{this.element.removeEventListener(this.type,this);let e=_R.get(this.element);
2146e&&e.delete(this.type)}}static for(t){_R.has(t.element)||_R.set(t.element,new Map);let i=t.attributeName.slice(2),r=_R.get(t.element);return r&&r.has(i)?r.get(i):new e(t.element,i)}},_I=new Map,_w=new WeakMap,_D=new WeakMap,_C=class{constructor(e,t,i){this.strings=e,this.values=t,this.processor=i,this.stringsKey=this.strings.join("\x01")}get template(){if(_I.has(this.stringsKey))return _I.get(this.stringsKey);{let e=_t.createElement("template"),t=this.strings.length-1;return e.innerHTML=this.strings.reduce((e,i,r)=>e+i+(r<t?`{{ ${r} }}`:""),""),_I.set(this.stringsKey,e),e}}renderInto(e){var t;let i=this.template;if(_w.get(e)!==i){_w.set(e,i);let t=new gt(i,this.values,this.processor);_D.set(e,t),e instanceof gd?e.replace(...t.children):e.appendChild(t);return}let r=_D.get(e);null==(t=null==r?void 0:r.update)||t.call(r,this.values)}},_M={processCallback(e,t,i){var r;if(i)for(let[e,a]of t)e in i&&function(e,t){(function(e,t){if(e instanceof gl&&t instanceof Element){let i=e.element;return i[e.attributeName]!==t&&(e.element.removeAttributeNS(e.attributeNamespace,e.attributeName),i[e.attributeName]=t),!0}return!1})(e,t)||function(e,t){if("boolean"==typeof t&&e instanceof gl){let i=e.attributeNamespace;return t!==e.element.hasAttributeNS(i,e.attributeName)&&(e.booleanValue=t),!0}return!1}(e,t)||e instanceof gl&&e.attributeName.startsWith("on")&&(_L.for(e).set(t),e.element.removeAttributeNS(e.attributeNamespace,e.attributeName),1)||!1===t&&e instanceof gd&&(e.replace(""),1)||t instanceof _C&&e instanceof gd&&(t.renderInto(e),1)||t instanceof DocumentFragment&&e instanceof gd&&(t.childNodes.length&&e.replace(...t.childNodes),1)||function(e,t){if(e instanceof gl){let i=e.attributeNamespace,r=e.element.getAttributeNS(i,e.attributeName);return String(t)!==r&&(e.value=String(t))}e.value=String(t)}(e,t)}(a,null!=(r=i[e])?r:"")}};function _x(e,...t){return new _C(e,t,_M)}var _P=Object.values({TOP:"top",CENTER:"center",BOTTOM:"bottom",LAYER:"layer",MEDIA_LAYER:"media-layer",POSTER_LAYER:"poster-layer",VERTICAL_LAYER:"vertical-layer",CENTERED_LAYER:"centered-layer",GESTURE_LAYER:"gesture-layer",CONTROLLER_LAYER:"controller",BUTTON:"button",RANGE:"range",THUMB:"thumb",DISPLAY:"display",CONTROL_BAR:"control-bar",MENU_BUTTON:"menu-button",MENU:"menu",MENU_ITEM:"menu-item",OPTION:"option",POSTER:"poster",LIVE:"live",PLAY:"play",PRE_PLAY:"pre-play",SEEK_BACKWARD:"seek-backward",SEEK_FORWARD:"seek-forward",MUTE:"mute",CAPTIONS:"captions",AIRPLAY:"airplay",PIP:"pip",FULLSCREEN:"fullscreen",CAST:"cast",PLAYBACK_RATE:"playback-rate",VOLUME:"volume",TIME:"time",TITLE:"title",AUDIO_TRACK:"audio-track",RENDITION:"rendition"}).join(", "),_O=e=>e.charAt(0).toUpperCase()+e.slice(1),_N=(e,t)=>{let i=(e=>{if(e.muxCode){if(e.muxCode===lc.NETWORK_TOKEN_EXPIRED)return"403-expired-token.md";if(e.muxCode===lc.NETWORK_TOKEN_MALFORMED)return"403-malformatted-token.md";if([lc.NETWORK_TOKEN_AUD_MISMATCH,lc.NETWORK_TOKEN_AUD_MISSING].includes(e.muxCode))return"403-incorrect-aud-value.md";if(e.muxCode===lc.NETWORK_TOKEN_SUB_MISMATCH)return"403-playback-id-mismatch.md";if(e.muxCode===lc.NETWORK_TOKEN_MISSING)return"missing-signed-tokens.md";if(e.muxCode===lc.NETWORK_NOT_FOUND)return"404-not-found.md";if(e.muxCode===lc.NETWORK_NOT_READY)return"412-not-playable.md"}if(e.code){if(e.code===lf.MEDIA_ERR_NETWORK)return"";if(e.code===lf.MEDIA_ERR_DECODE)return"media-decode-error.md";if(e.code===lf.MEDIA_ERR_SRC_NOT_SUPPORTED)return"media-src-not-supported.md"}return""})(e);return{message:e.message,context:e.context,file:i}},_U
vendor: 8,830 bytes, lines 2146-2446
2146=`<template id="media-theme-gerwig"> 2147 <style> 2148 @keyframes pre-play-hide { 2149 0% { 2150 transform: scale(1); 2151 opacity: 1; 2152 } 2153 2154 30% { 2155 transform: scale(0.7); 2156 } 2157 2158 100% { 2159 transform: scale(1.5); 2160 opacity: 0; 2161 } 2162 } 2163 2164 :host { 2165 --_primary-color: var(--media-primary-color, #fff); 2166 --_secondary-color: var(--media-secondary-color, transparent); 2167 --_accent-color: var(--media-accent-color, #fa50b5); 2168 --_text-color: var(--media-text-color, #000); 2169 2170 --media-icon-color: var(--_primary-color); 2171 --media-control-background: var(--_secondary-color); 2172 --media-control-hover-background: var(--_accent-color); 2173 --media-time-buffered-color: rgba(255, 255, 255, 0.4); 2174 --media-preview-time-text-shadow: none; 2175 --media-control-height: 14px; 2176 --media-control-padding: 6px; 2177 --media-tooltip-container-margin: 6px; 2178 --media-tooltip-distance: 18px; 2179 2180 color: var(--_primary-color); 2181 display: inline-block; 2182 width: 100%; 2183 height: 100%; 2184 } 2185 2186 :host([audio]) { 2187 --_secondary-color: var(--media-secondary-color, black); 2188 --media-preview-time-text-shadow: none; 2189 } 2190 2191 :host([audio]) ::slotted([slot='media']) { 2192 height: 0px; 2193 } 2194 2195 :host([audio]) media-loading-indicator { 2196 display: none; 2197 } 2198 2199 :host([audio]) media-controller { 2200 background: transparent; 2201 } 2202 2203 :host([audio]) media-controller::part(vertical-layer) { 2204 background: transparent; 2205 } 2206 2207 :host([audio]) media-control-bar { 2208 width: 100%; 2209 background-color: var(--media-control-background); 2210 } 2211 2212 /* 2213 * 0.433s is the transition duration for VTT Regions. 2214 * Borrowed here, so the captions don't move too fast. 2215 */ 2216 media-controller { 2217 --media-webkit-text-track-transform: translateY(0) scale(0.98); 2218 --media-webkit-text-track-transition: transform 0.433s ease-out 0.3s; 2219 } 2220 media-controller:is([mediapaused], :not([userinactive])) { 2221 --media-webkit-text-track-transform: translateY(-50px) scale(0.98); 2222 --media-webkit-text-track-transition: transform 0.15s ease; 2223 } 2224 2225 /* 2226 * CSS specific to iOS devices. 2227 * See: https://stackoverflow.com/questions/30102792/css-media-query-to-target-only-ios-devices/60220757#60220757 2228 */ 2229 @supports (-webkit-touch-callout: none) { 2230 /* Disable subtitle adjusting for iOS Safari */ 2231 media-controller[mediaisfullscreen] { 2232 --media-webkit-text-track-transform: unset; 2233 --media-webkit-text-track-transition: unset; 2234 } 2235 } 2236 2237 media-time-range { 2238 --media-box-padding-left: 6px; 2239 --media-box-padding-right: 6px; 2240 --media-range-bar-color: var(--_accent-color); 2241 --media-time-range-buffered-color: var(--_primary-color); 2242 --media-range-track-color: transparent; 2243 --media-range-track-background: rgba(255, 255, 255, 0.4); 2244 --media-range-thumb-background: radial-gradient( 2245 circle, 2246 #000 0%, 2247 #000 25%, 2248 var(--_accent-color) 25%, 2249 var(--_accent-color) 2250 ); 2251 --media-range-thumb-width: 12px; 2252 --media-range-thumb-height: 12px; 2253 --media-range-thumb-transform: scale(0); 2254 --media-range-thumb-transition: transform 0.3s; 2255 --media-range-thumb-opacity: 1; 2256 --media-preview-background: var(--_primary-color); 2257 --media-box-arrow-background: var(--_primary-color); 2258 --media-preview-thumbnail-border: 5px solid var(--_primary-color); 2259 --media-preview-border-radius: 5px; 2260 --media-text-color: var(--_text-color); 2261 --media-control-hover-background: transparent; 2262 --media-preview-chapter-text-shadow: none; 2263 color: var(--_accent-color); 2264 padding: 0 6px; 2265 } 2266 2267 :host([audio]) media-time-range { 2268 --media-preview-time-padding: 1.5px 6px; 2269 --media-preview-box-margin: 0 0 -5px; 2270 } 2271 2272 media-time-range:hover { 2273 --media-range-thumb-transform: scale(1); 2274 } 2275 2276 media-preview-thumbnail { 2277 border-bottom-width: 0; 2278 } 2279 2280 [part~='menu'] { 2281 border-radius: 2px; 2282 border: 1px solid rgba(0, 0, 0, 0.1); 2283 bottom: 50px; 2284 padding: 2.5px 10px; 2285 } 2286 2287 [part~='menu']::part(indicator) { 2288 fill: var(--_accent-color); 2289 } 2290 2291 [part~='menu']::part(menu-item) { 2292 box-sizing: border-box; 2293 display: flex; 2294 align-items: center; 2295 padding: 6px 10px; 2296 min-height: 34px; 2297 } 2298 2299 [part~='menu']::part(checked) { 2300 font-weight: 700; 2301 } 2302 2303 media-captions-menu, 2304 media-rendition-menu, 2305 media-audio-track-menu, 2306 media-playback-rate-menu { 2307 position: absolute; /* ensure they don't take up space in DOM on load */ 2308 --media-menu-background: var(--_primary-color); 2309 --media-menu-item-checked-background: transparent; 2310 --media-text-color: var(--_text-color); 2311 --media-menu-item-hover-background: transparent; 2312 --media-menu-item-hover-outline: var(--_accent-color) solid 1px; 2313 } 2314 2315 media-rendition-menu { 2316 min-width: 140px; 2317 } 2318 2319 /* The icon is a circle so make it 16px high instead of 14px for more balance. */ 2320 media-audio-track-menu-button { 2321 --media-control-padding: 5px; 2322 --media-control-height: 16px; 2323 } 2324 2325 media-playback-rate-menu-button { 2326 --media-control-padding: 6px 3px; 2327 min-width: 4.4ch; 2328 } 2329 2330 media-playback-rate-menu { 2331 --media-menu-flex-direction: row; 2332 --media-menu-item-checked-background: var(--_accent-color); 2333 --media-menu-item-checked-indicator-display: none; 2334 margin-right: 6px; 2335 padding: 0; 2336 --media-menu-gap: 0.25em; 2337 } 2338 2339 media-playback-rate-menu[part~='menu']::part(menu-item) { 2340 padding: 6px 6px 6px 8px; 2341 } 2342 2343 media-playback-rate-menu[part~='menu']::part(checked) { 2344 color: #fff; 2345 } 2346 2347 :host(:not([audio])) media-time-range { 2348 /* Adding px is required here for calc() */ 2349 --media-range-padding: 0px; 2350 background: transparent; 2351 z-index: 10; 2352 height: 10px; 2353 bottom: -3px; 2354 width: 100%; 2355 } 2356 2357 media-control-bar :is([role='button'], [role='switch'], button) { 2358 line-height: 0; 2359 } 2360 2361 media-control-bar :is([part*='button'], [part*='range'], [part*='display']) { 2362 border-radius: 3px; 2363 } 2364 2365 .spacer { 2366 flex-grow: 1; 2367 background-color: var(--media-control-background, rgba(20, 20, 30, 0.7)); 2368 } 2369 2370 media-control-bar[slot~='top-chrome'] { 2371 min-height: 42px; 2372 pointer-events: none; 2373 } 2374 2375 media-control-bar { 2376 --gradient-steps: 2377 hsl(0 0% 0% / 0) 0%, hsl(0 0% 0% / 0.013) 8.1%, hsl(0 0% 0% / 0.049) 15.5%, hsl(0 0% 0% / 0.104) 22.5%, 2378 hsl(0 0% 0% / 0.175) 29%, hsl(0 0% 0% / 0.259) 35.3%, hsl(0 0% 0% / 0.352) 41.2%, hsl(0 0% 0% / 0.45) 47.1%, 2379 hsl(0 0% 0% / 0.55) 52.9%, hsl(0 0% 0% / 0.648) 58.8%, hsl(0 0% 0% / 0.741) 64.7%, hsl(0 0% 0% / 0.825) 71%, 2380 hsl(0 0% 0% / 0.896) 77.5%, hsl(0 0% 0% / 0.951) 84.5%, hsl(0 0% 0% / 0.987) 91.9%, hsl(0 0% 0%) 100%; 2381 } 2382 2383 :host([title]) media-control-bar[slot='top-chrome']::before, 2384 :host([videotitle]) media-control-bar[slot='top-chrome']::before { 2385 content: ''; 2386 position: absolute; 2387 width: 100%; 2388 padding-bottom: min(100px, 25%); 2389 background: linear-gradient(to top, var(--gradient-steps)); 2390 opacity: 0.8; 2391 pointer-events: none; 2392 } 2393 2394 :host(:not([audio])) media-control-bar[part~='bottom']::before { 2395 content: ''; 2396 position: absolute; 2397 width: 100%; 2398 bottom: 0; 2399 left: 0; 2400 padding-bottom: min(100px, 25%); 2401 background: linear-gradient(to bottom, var(--gradient-steps)); 2402 opacity: 0.8; 2403 z-index: 1; 2404 pointer-events: none; 2405 } 2406 2407 media-control-bar[part~='bottom'] > * { 2408 z-index: 20; 2409 } 2410 2411 media-control-bar[part~='bottom'] { 2412 padding: 6px 6px; 2413 } 2414 2415 media-control-bar[slot~='top-chrome'] > * { 2416 --media-control-background: transparent; 2417 --media-control-hover-background: transparent; 2418 position: relative; 2419 } 2420 2421 media-controller::part(vertical-layer) { 2422 transition: background-color 1s; 2423 } 2424 2425 media-controller:is([mediapaused], :not([userinactive]))::part(vertical-layer) { 2426 background-color: var(--controls-backdrop-color, var(--controls, transparent)); 2427 transition: background-color 0.25s; 2428 } 2429 2430 .center-controls { 2431 --media-button-icon-width: 100%; 2432 --media-button-icon-height: auto; 2433 --media-tooltip-display: none; 2434 pointer-events: none; 2435 width: 100%; 2436 display: flex; 2437 flex-flow: row; 2438 align-items: center; 2439 justify-content: center; 2440 paint-order: stroke; 2441 stroke: rgba(102, 102, 102, 1); 2442 stroke-width: 0.3px; 2443 text-shadow: 2444 0 0 2px rgb(0 0 0 / 0.25), 2445 0 0 6px rgb(0 0 0 / 0.25); 2446
2446} 2447 2448 .center-controls media-play-button { 2449 --media-control-background: transparent; 2450 --media-control-hover-background: transparent; 2451 --media-control-padding: 0; 2452 width: 40px; 2453 filter: drop-shadow(0 0 2px rgb(0 0 0 / 0.25)) drop-shadow(0 0 6px rgb(0 0 0 / 0.25))
vendor: 38,939 bytes, lines 2453-3278
2453; 2454 } 2455 2456 [breakpointsm] .center-controls media-play-button { 2457 width: 90px; 2458 height: 90px; 2459 border-radius: 50%; 2460 transition: background 0.4s; 2461 padding: 24px; 2462 --media-control-background: #000; 2463 --media-control-hover-background: var(--_accent-color); 2464 } 2465 2466 .center-controls media-seek-backward-button, 2467 .center-controls media-seek-forward-button { 2468 --media-control-background: transparent; 2469 --media-control-hover-background: transparent; 2470 padding: 0; 2471 margin: 0 20px; 2472 width: max(33px, min(8%, 40px)); 2473 text-shadow: 2474 0 0 2px rgb(0 0 0 / 0.25), 2475 0 0 6px rgb(0 0 0 / 0.25); 2476 } 2477 2478 [breakpointsm]:not([audio]) .center-controls.pre-playback { 2479 display: grid; 2480 align-items: initial; 2481 justify-content: initial; 2482 height: 100%; 2483 overflow: hidden; 2484 } 2485 2486 [breakpointsm]:not([audio]) .center-controls.pre-playback media-play-button { 2487 place-self: var(--_pre-playback-place, center); 2488 grid-area: 1 / 1; 2489 margin: 16px; 2490 } 2491 2492 /* Show and hide controls or pre-playback state */ 2493 2494 [breakpointsm]:is([mediahasplayed], :not([mediapaused])):not([audio]) 2495 .center-controls.pre-playback 2496 media-play-button { 2497 /* Using \`forwards\` would lead to a laggy UI after the animation got in the end state */ 2498 animation: 0.3s linear pre-play-hide; 2499 opacity: 0; 2500 pointer-events: none; 2501 } 2502 2503 .autoplay-unmute { 2504 --media-control-hover-background: transparent; 2505 width: 100%; 2506 display: flex; 2507 align-items: center; 2508 justify-content: center; 2509 filter: drop-shadow(0 0 2px rgb(0 0 0 / 0.25)) drop-shadow(0 0 6px rgb(0 0 0 / 0.25)); 2510 } 2511 2512 .autoplay-unmute-btn { 2513 --media-control-height: 16px; 2514 border-radius: 8px; 2515 background: #000; 2516 color: var(--_primary-color); 2517 display: flex; 2518 align-items: center; 2519 padding: 8px 16px; 2520 font-size: 18px; 2521 font-weight: 500; 2522 cursor: pointer; 2523 } 2524 2525 .autoplay-unmute-btn:hover { 2526 background: var(--_accent-color); 2527 } 2528 2529 [breakpointsm] .autoplay-unmute-btn { 2530 --media-control-height: 30px; 2531 padding: 14px 24px; 2532 font-size: 26px; 2533 } 2534 2535 .autoplay-unmute-btn svg { 2536 margin: 0 6px 0 0; 2537 } 2538 2539 [breakpointsm] .autoplay-unmute-btn svg { 2540 margin: 0 10px 0 0; 2541 } 2542 2543 media-controller:not([audio]):not([mediahasplayed]) *:is(media-control-bar, media-time-range) { 2544 display: none; 2545 } 2546 2547 media-error-dialog:not([mediaerrorcode]) { 2548 opacity: 0; 2549 } 2550 2551 media-loading-indicator { 2552 --media-loading-icon-width: 100%; 2553 --media-button-icon-height: auto; 2554 display: var(--media-control-display, var(--media-loading-indicator-display, flex)); 2555 pointer-events: none; 2556 position: absolute; 2557 width: min(15%, 150px); 2558 flex-flow: row; 2559 align-items: center; 2560 justify-content: center; 2561 } 2562 2563 /* Intentionally don't target the div for transition but the children 2564 of the div. Prevents messing with media-chrome's autohide feature. */ 2565 media-loading-indicator + div * { 2566 transition: opacity 0.15s; 2567 opacity: 1; 2568 } 2569 2570 media-loading-indicator[medialoading]:not([mediapaused]) ~ div > * { 2571 opacity: 0; 2572 transition-delay: 400ms; 2573 } 2574 2575 media-volume-range { 2576 width: min(100%, 100px); 2577 --media-range-padding-left: 10px; 2578 --media-range-padding-right: 10px; 2579 --media-range-thumb-width: 12px; 2580 --media-range-thumb-height: 12px; 2581 --media-range-thumb-background: radial-gradient( 2582 circle, 2583 #000 0%, 2584 #000 25%, 2585 var(--_primary-color) 25%, 2586 var(--_primary-color) 2587 ); 2588 --media-control-hover-background: none; 2589 } 2590 2591 media-time-display { 2592 white-space: nowrap; 2593 } 2594 2595 /* Generic style for explicitly disabled controls */ 2596 media-control-bar[part~='bottom'] [disabled], 2597 media-control-bar[part~='bottom'] [aria-disabled='true'] { 2598 opacity: 60%; 2599 cursor: not-allowed; 2600 } 2601 2602 media-text-display { 2603 --media-font-size: 16px; 2604 --media-control-padding: 14px; 2605 font-weight: 500; 2606 } 2607 2608 media-play-button.animated *:is(g, path) { 2609 transition: all 0.3s; 2610 } 2611 2612 media-play-button.animated[mediapaused] .pause-icon-pt1 { 2613 opacity: 0; 2614 } 2615 2616 media-play-button.animated[mediapaused] .pause-icon-pt2 { 2617 transform-origin: center center; 2618 transform: scaleY(0); 2619 } 2620 2621 media-play-button.animated[mediapaused] .play-icon { 2622 clip-path: inset(0 0 0 0); 2623 } 2624 2625 media-play-button.animated:not([mediapaused]) .play-icon { 2626 clip-path: inset(0 0 0 100%); 2627 } 2628 2629 media-seek-forward-button, 2630 media-seek-backward-button { 2631 --media-font-weight: 400; 2632 } 2633 2634 .mute-icon { 2635 display: inline-block; 2636 } 2637 2638 .mute-icon :is(path, g) { 2639 transition: opacity 0.5s; 2640 } 2641 2642 .muted { 2643 opacity: 0; 2644 } 2645 2646 media-mute-button[mediavolumelevel='low'] :is(.volume-medium, .volume-high), 2647 media-mute-button[mediavolumelevel='medium'] :is(.volume-high) { 2648 opacity: 0; 2649 } 2650 2651 media-mute-button[mediavolumelevel='off'] .unmuted { 2652 opacity: 0; 2653 } 2654 2655 media-mute-button[mediavolumelevel='off'] .muted { 2656 opacity: 1; 2657 } 2658 2659 /** 2660 * Our defaults for these buttons are to hide them at small sizes 2661 * users can override this with CSS 2662 */ 2663 media-controller:not([breakpointsm]):not([audio]) { 2664 --bottom-play-button: none; 2665 --bottom-seek-backward-button: none; 2666 --bottom-seek-forward-button: none; 2667 --bottom-time-display: none; 2668 --bottom-playback-rate-menu-button: none; 2669 --bottom-pip-button: none; 2670 } 2671 2672 [part='mux-badge'] { 2673 position: absolute; 2674 bottom: 10px; 2675 right: 10px; 2676 z-index: 2; 2677 opacity: 0.6; 2678 transition: 2679 opacity 0.2s ease-in-out, 2680 bottom 0.2s ease-in-out; 2681 } 2682 2683 [part='mux-badge']:hover { 2684 opacity: 1; 2685 } 2686 2687 [part='mux-badge'] a { 2688 font-size: 14px; 2689 font-family: var(--_font-family); 2690 color: var(--_primary-color); 2691 text-decoration: none; 2692 display: flex; 2693 align-items: center; 2694 gap: 5px; 2695 } 2696 2697 [part='mux-badge'] .mux-badge-text { 2698 transition: opacity 0.5s ease-in-out; 2699 opacity: 0; 2700 } 2701 2702 [part='mux-badge'] .mux-badge-logo { 2703 width: 40px; 2704 height: auto; 2705 display: inline-block; 2706 } 2707 2708 [part='mux-badge'] .mux-badge-logo svg { 2709 width: 100%; 2710 height: 100%; 2711 fill: white; 2712 } 2713 2714 media-controller:not([userinactive]):not([mediahasplayed]) [part='mux-badge'], 2715 media-controller:not([userinactive]) [part='mux-badge'], 2716 media-controller[mediahasplayed][mediapaused] [part='mux-badge'] { 2717 transition: bottom 0.1s ease-in-out; 2718 } 2719 2720 media-controller[userinactive]:not([mediapaused]) [part='mux-badge'] { 2721 transition: bottom 0.2s ease-in-out 0.62s; 2722 } 2723 2724 media-controller:not([userinactive]) [part='mux-badge'] .mux-badge-text, 2725 media-controller[mediahasplayed][mediapaused] [part='mux-badge'] .mux-badge-text { 2726 opacity: 1; 2727 } 2728 2729 media-controller[userinactive]:not([mediapaused]) [part='mux-badge'] .mux-badge-text { 2730 opacity: 0; 2731 } 2732 2733 media-controller[userinactive]:not([mediapaused]) [part='mux-badge'] { 2734 bottom: 10px; 2735 } 2736 2737 media-controller:not([userinactive]):not([mediahasplayed]) [part='mux-badge'] { 2738 bottom: 10px; 2739 } 2740 2741 media-controller:not([userinactive])[mediahasplayed] [part='mux-badge'], 2742 media-controller[mediahasplayed][mediapaused] [part='mux-badge'] { 2743 bottom: calc(28px + var(--media-control-height, 0px) + var(--media-control-padding, 0px) * 2); 2744 } 2745 </style> 2746 2747 <template partial="TitleDisplay"> 2748 <template if="videotitle"> 2749 <template if="videotitle != true"> 2750 <media-text-display part="top title display" class="title-display">{{videotitle}}</media-text-display> 2751 </template> 2752 </template> 2753 <template if="!videotitle"> 2754 <template if="title"> 2755 <media-text-display part="top title display" class="title-display">{{title}}</media-text-display> 2756 </template> 2757 </template> 2758 </template> 2759 2760 <template partial="PlayButton"> 2761 <media-play-button 2762 part="{{section ?? 'bottom'}} play button" 2763 disabled="{{disabled}}" 2764 aria-disabled="{{disabled}}" 2765 class="animated" 2766 > 2767 <svg aria-hidden="true" viewBox="0 0 18 14" slot="icon"> 2768 <g class="play-icon"> 2769 <path 2770 d="M15.5987 6.2911L3.45577 0.110898C2.83667 -0.204202 2.06287 0.189698 2.06287 0.819798V13.1802C2.06287 13.8103 2.83667 14.2042 3.45577 13.8891L15.5987 7.7089C16.2178 7.3938 16.2178 6.6061 15.5987 6.2911Z" 2771 /> 2772 </g> 2773 <g class="pause-icon"> 2774 <path 2775 class="pause-icon-pt1" 2776 d="M5.90709 0H2.96889C2.46857 0 2.06299 0.405585 2.06299 0.9059V13.0941C2.06299 13.5944 2.46857 14 2.96889 14H5.90709C6.4074 14 6.81299 13.5944 6.81299 13.0941V0.9059C6.81299 0.405585 6.4074 0 5.90709 0Z" 2777 /> 2778 <path 2779 class="pause-icon-pt2" 2780 d="M15.1571 0H12.2189C11.7186 0 11.313 0.405585 11.313 0.9059V13.0941C11.313 13.5944 11.7186 14 12.2189 14H15.1571C15.6574 14 16.063 13.5944 16.063 13.0941V0.9059C16.063 0.405585 15.6574 0 15.1571 0Z" 2781 /> 2782 </g> 2783 </svg> 2784 </media-play-button> 2785 </template> 2786 2787 <template partial="PrePlayButton"> 2788 <media-play-button 2789 part="{{section ?? 'center'}} play button pre-play" 2790 disabled="{{disabled}}" 2791 aria-disabled="{{disabled}}" 2792 > 2793 <svg aria-hidden="true" viewBox="0 0 18 14" slot="icon" style="transform: translate(3px, 0)"> 2794 <path 2795 d="M15.5987 6.2911L3.45577 0.110898C2.83667 -0.204202 2.06287 0.189698 2.06287 0.819798V13.1802C2.06287 13.8103 2.83667 14.2042 3.45577 13.8891L15.5987 7.7089C16.2178 7.3938 16.2178 6.6061 15.5987 6.2911Z" 2796 /> 2797 </svg> 2798 </media-play-button> 2799 </template> 2800 2801 <template partial="SeekBackwardButton"> 2802 <media-seek-backward-button 2803 seekoffset="{{backwardseekoffset}}" 2804 part="{{section ?? 'bottom'}} seek-backward button" 2805 disabled="{{disabled}}" 2806 aria-disabled="{{disabled}}" 2807 > 2808 <svg viewBox="0 0 22 14" aria-hidden="true" slot="icon"> 2809 <path 2810 d="M3.65 2.07888L0.0864 6.7279C-0.0288 6.87812 -0.0288 7.12188 0.0864 7.2721L3.65 11.9211C3.7792 12.0896 4 11.9703 4 11.7321V2.26787C4 2.02968 3.7792 1.9104 3.65 2.07888Z" 2811 /> 2812 <text transform="translate(6 12)" style="font-size: 14px; font-family: 'ArialMT', 'Arial'"> 2813 {{backwardseekoffset}} 2814 </text> 2815 </svg> 2816 </media-seek-backward-button> 2817 </template> 2818 2819 <template partial="SeekForwardButton"> 2820 <media-seek-forward-button 2821 seekoffset="{{forwardseekoffset}}" 2822 part="{{section ?? 'bottom'}} seek-forward button" 2823 disabled="{{disabled}}" 2824 aria-disabled="{{disabled}}" 2825 > 2826 <svg viewBox="0 0 22 14" aria-hidden="true" slot="icon"> 2827 <g> 2828 <text transform="translate(-1 12)" style="font-size: 14px; font-family: 'ArialMT', 'Arial'"> 2829 {{forwardseekoffset}} 2830 </text> 2831 <path 2832 d="M18.35 11.9211L21.9136 7.2721C22.0288 7.12188 22.0288 6.87812 21.9136 6.7279L18.35 2.07888C18.2208 1.91041 18 2.02968 18 2.26787V11.7321C18 11.9703 18.2208 12.0896 18.35 11.9211Z" 2833 /> 2834 </g> 2835 </svg> 2836 </media-seek-forward-button> 2837 </template> 2838 2839 <template partial="MuteButton"> 2840 <media-mute-button part="bottom mute button" disabled="{{disabled}}" aria-disabled="{{disabled}}"> 2841 <svg viewBox="0 0 18 14" slot="icon" class="mute-icon" aria-hidden="true"> 2842 <g class="unmuted"> 2843 <path 2844 d="M6.76786 1.21233L3.98606 3.98924H1.19937C0.593146 3.98924 0.101743 4.51375 0.101743 5.1607V6.96412L0 6.99998L0.101743 7.03583V8.83926C0.101743 9.48633 0.593146 10.0108 1.19937 10.0108H3.98606L6.76773 12.7877C7.23561 13.2547 8 12.9007 8 12.2171V1.78301C8 1.09925 7.23574 0.745258 6.76786 1.21233Z" 2845 /> 2846 <path 2847 class="volume-low" 2848 d="M10 3.54781C10.7452 4.55141 11.1393 5.74511 11.1393 6.99991C11.1393 8.25471 10.7453 9.44791 10 10.4515L10.7988 11.0496C11.6734 9.87201 12.1356 8.47161 12.1356 6.99991C12.1356 5.52821 11.6735 4.12731 10.7988 2.94971L10 3.54781Z" 2849 /> 2850 <path 2851 class="volume-medium" 2852 d="M12.3778 2.40086C13.2709 3.76756 13.7428 5.35806 13.7428 7.00026C13.7428 8.64246 13.2709 10.233 12.3778 11.5992L13.2106 12.1484C14.2107 10.6185 14.739 8.83796 14.739 7.00016C14.739 5.16236 14.2107 3.38236 13.2106 1.85156L12.3778 2.40086Z" 2853 /> 2854 <path 2855 class="volume-high" 2856 d="M15.5981 0.75L14.7478 1.2719C15.7937 2.9919 16.3468 4.9723 16.3468 7C16.3468 9.0277 15.7937 11.0082 14.7478 12.7281L15.5981 13.25C16.7398 11.3722 17.343 9.211 17.343 7C17.343 4.789 16.7398 2.6268 15.5981 0.75Z" 2857 /> 2858 </g> 2859 <g class="muted"> 2860 <path 2861 fill-rule="evenodd" 2862 clip-rule="evenodd" 2863 d="M4.39976 4.98924H1.19937C1.19429 4.98924 1.17777 4.98961 1.15296 5.01609C1.1271 5.04369 1.10174 5.09245 1.10174 5.1607V8.83926C1.10174 8.90761 1.12714 8.95641 1.15299 8.984C1.17779 9.01047 1.1943 9.01084 1.19937 9.01084H4.39977L7 11.6066V2.39357L4.39976 4.98924ZM7.47434 1.92006C7.4743 1.9201 7.47439 1.92002 7.47434 1.92006V1.92006ZM6.76773 12.7877L3.98606 10.0108H1.19937C0.593146 10.0108 0.101743 9.48633 0.101743 8.83926V7.03583L0 6.99998L0.101743 6.96412V5.1607C0.101743 4.51375 0.593146 3.98924 1.19937 3.98924H3.98606L6.76786 1.21233C7.23574 0.745258 8 1.09925 8 1.78301V12.2171C8 12.9007 7.23561 13.2547 6.76773 12.7877Z" 2864 /> 2865 <path 2866 fill-rule="evenodd" 2867 clip-rule="evenodd" 2868 d="M15.2677 9.30323C15.463 9.49849 15.7796 9.49849 15.9749 9.30323C16.1701 9.10796 16.1701 8.79138 15.9749 8.59612L14.2071 6.82841L15.9749 5.06066C16.1702 4.8654 16.1702 4.54882 15.9749 4.35355C15.7796 4.15829 15.4631 4.15829 15.2678 4.35355L13.5 6.1213L11.7322 4.35348C11.537 4.15822 11.2204 4.15822 11.0251 4.35348C10.8298 4.54874 10.8298 4.86532 11.0251 5.06058L12.7929 6.82841L11.0251 8.59619C10.8299 8.79146 10.8299 9.10804 11.0251 9.3033C11.2204 9.49856 11.537 9.49856 11.7323 9.3033L13.5 7.53552L15.2677 9.30323Z" 2869 /> 2870 </g> 2871 </svg> 2872 </media-mute-button> 2873 </template> 2874 2875 <template partial="PipButton"> 2876 <media-pip-button part="bottom pip button" disabled="{{disabled}}" aria-disabled="{{disabled}}"> 2877 <svg viewBox="0 0 18 14" aria-hidden="true" slot="icon"> 2878 <path 2879 d="M15.9891 0H2.011C0.9004 0 0 0.9003 0 2.0109V11.989C0 13.0996 0.9004 14 2.011 14H15.9891C17.0997 14 18 13.0997 18 11.9891V2.0109C18 0.9003 17.0997 0 15.9891 0ZM17 11.9891C17 12.5465 16.5465 13 15.9891 13H2.011C1.4536 13 1.0001 12.5465 1.0001 11.9891V2.0109C1.0001 1.4535 1.4536 0.9999 2.011 0.9999H15.9891C16.5465 0.9999 17 1.4535 17 2.0109V11.9891Z" 2880 /> 2881 <path 2882 d="M15.356 5.67822H8.19523C8.03253 5.67822 7.90063 5.81012 7.90063 5.97282V11.3836C7.90063 11.5463 8.03253 11.6782 8.19523 11.6782H15.356C15.5187 11.6782 15.6506 11.5463 15.6506 11.3836V5.97282C15.6506 5.81012 15.5187 5.67822 15.356 5.67822Z" 2883 /> 2884 </svg> 2885 </media-pip-button> 2886 </template> 2887 2888 <template partial="CaptionsMenu"> 2889 <media-captions-menu-button part="bottom captions button"> 2890 <svg aria-hidden="true" viewBox="0 0 18 14" slot="on"> 2891 <path 2892 d="M15.989 0H2.011C0.9004 0 0 0.9003 0 2.0109V11.9891C0 13.0997 0.9004 14 2.011 14H15.989C17.0997 14 18 13.0997 18 11.9891V2.0109C18 0.9003 17.0997 0 15.989 0ZM4.2292 8.7639C4.5954 9.1902 5.0935 9.4031 5.7233 9.4031C6.1852 9.4031 6.5544 9.301 6.8302 9.0969C7.1061 8.8933 7.2863 8.614 7.3702 8.26H8.4322C8.3062 8.884 8.0093 9.3733 7.5411 9.7273C7.0733 10.0813 6.4703 10.2581 5.732 10.2581C5.108 10.2581 4.5699 10.1219 4.1168 9.8489C3.6637 9.5759 3.3141 9.1946 3.0685 8.7058C2.8224 8.2165 2.6994 7.6511 2.6994 7.009C2.6994 6.3611 2.8224 5.7927 3.0685 5.3034C3.3141 4.8146 3.6637 4.4323 4.1168 4.1559C4.5699 3.88 5.108 3.7418 5.732 3.7418C6.4703 3.7418 7.0733 3.922 7.5411 4.2818C8.0094 4.6422 8.3062 5.1461 8.4322 5.794H7.3702C7.2862 5.4283 7.106 5.1368 6.8302 4.921C6.5544 4.7052 6.1852 4.5968 5.7233 4.5968C5.0934 4.5968 4.5954 4.8116 4.2292 5.2404C3.8635 5.6696 3.6804 6.259 3.6804 7.009C3.6804 7.7531 3.8635 8.3381 4.2292 8.7639ZM11.0974 8.7639C11.4636 9.1902 11.9617 9.4031 12.5915 9.4031C13.0534 9.4031 13.4226 9.301 13.6984 9.0969C13.9743 8.8933 14.1545 8.614 14.2384 8.26H15.3004C15.1744 8.884 14.8775 9.3733 14.4093 9.7273C13.9415 10.0813 13.3385 10.2581 12.6002 10.2581C11.9762 10.2581 11.4381 10.1219 10.985 9.8489C10.5319 9.5759 10.1823 9.1946 9.9367 8.7058C9.6906 8.2165 9.5676 7.6511 9.5676 7.009C9.5676 6.3611 9.6906 5.7927 9.9367 5.3034C10.1823 4.8146 10.5319 4.4323 10.985 4.1559C11.4381 3.88 11.9762 3.7418 12.6002 3.7418C13.3385 3.7418 13.9415 3.922 14.4093 4.2818C14.8776 4.6422 15.1744 5.1461 15.3004 5.794H14.2384C14.1544 5.4283 13.9742 5.1368 13.6984 4.921C13.4226 4.7052 13.0534 4.5968 12.5915 4.5968C11.9616 4.5968 11.4636 4.8116 11.0974 5.2404C10.7317 5.6696 10.5486 6.259 10.5486 7.009C10.5486 7.7531 10.7317 8.3381 11.0974 8.7639Z" 2893 /> 2894 </svg> 2895 <svg aria-hidden="true" viewBox="0 0 18 14" slot="off"> 2896 <path 2897 d="M5.73219 10.258C5.10819 10.258 4.57009 10.1218 4.11699 9.8488C3.66389 9.5758 3.31429 9.1945 3.06869 8.7057C2.82259 8.2164 2.69958 7.651 2.69958 7.0089C2.69958 6.361 2.82259 5.7926 3.06869 5.3033C3.31429 4.8145 3.66389 4.4322 4.11699 4.1558C4.57009 3.8799 5.10819 3.7417 5.73219 3.7417C6.47049 3.7417 7.07348 3.9219 7.54128 4.2817C8.00958 4.6421 8.30638 5.146 8.43238 5.7939H7.37039C7.28639 5.4282 7.10618 5.1367 6.83039 4.9209C6.55459 4.7051 6.18538 4.5967 5.72348 4.5967C5.09358 4.5967 4.59559 4.8115 4.22939 5.2403C3.86369 5.6695 3.68058 6.2589 3.68058 7.0089C3.68058 7.753 3.86369 8.338 4.22939 8.7638C4.59559 9.1901 5.09368 9.403 5.72348 9.403C6.18538 9.403 6.55459 9.3009 6.83039 9.0968C7.10629 8.8932 7.28649 8.6139 7.37039 8.2599H8.43238C8.30638 8.8839 8.00948 9.3732 7.54128 9.7272C7.07348 10.0812 6.47049 10.258 5.73219 10.258Z" 2898 /> 2899 <path 2900 d="M12.6003 10.258C11.9763 10.258 11.4382 10.1218 10.9851 9.8488C10.532 9.5758 10.1824 9.1945 9.93685 8.7057C9.69075 8.2164 9.56775 7.651 9.56775 7.0089C9.56775 6.361 9.69075 5.7926 9.93685 5.3033C10.1824 4.8145 10.532 4.4322 10.9851 4.1558C11.4382 3.8799 11.9763 3.7417 12.6003 3.7417C13.3386 3.7417 13.9416 3.9219 14.4094 4.2817C14.8777 4.6421 15.1745 5.146 15.3005 5.7939H14.2385C14.1545 5.4282 13.9743 5.1367 13.6985 4.9209C13.4227 4.7051 13.0535 4.5967 12.5916 4.5967C11.9617 4.5967 11.4637 4.8115 11.0975 5.2403C10.7318 5.6695 10.5487 6.2589 10.5487 7.0089C10.5487 7.753 10.7318 8.338 11.0975 8.7638C11.4637 9.1901 11.9618 9.403 12.5916 9.403C13.0535 9.403 13.4227 9.3009 13.6985 9.0968C13.9744 8.8932 14.1546 8.6139 14.2385 8.2599H15.3005C15.1745 8.8839 14.8776 9.3732 14.4094 9.7272C13.9416 10.0812 13.3386 10.258 12.6003 10.258Z" 2901 /> 2902 <path 2903 d="M15.9891 1C16.5465 1 17 1.4535 17 2.011V11.9891C17 12.5465 16.5465 13 15.9891 13H2.0109C1.4535 13 1 12.5465 1 11.9891V2.0109C1 1.4535 1.4535 0.9999 2.0109 0.9999L15.9891 1ZM15.9891 0H2.0109C0.9003 0 0 0.9003 0 2.0109V11.9891C0 13.0997 0.9003 14 2.0109 14H15.9891C17.0997 14 18 13.0997 18 11.9891V2.0109C18 0.9003 17.0997 0 15.9891 0Z" 2904 /> 2905 </svg> 2906 </media-captions-menu-button> 2907 <media-captions-menu 2908 hidden 2909 anchor="auto" 2910 part="bottom captions menu" 2911 disabled="{{disabled}}" 2912 aria-disabled="{{disabled}}" 2913 exportparts="menu-item" 2914 > 2915 <div slot="checked-indicator"> 2916 <style> 2917 .indicator { 2918 position: relative; 2919 top: 1px; 2920 width: 0.9em; 2921 height: auto; 2922 fill: var(--_accent-color); 2923 margin-right: 5px; 2924 } 2925 2926 [aria-checked='false'] .indicator { 2927 display: none; 2928 } 2929 </style> 2930 <svg viewBox="0 0 14 18" class="indicator"> 2931 <path 2932 d="M12.252 3.48c-.115.033-.301.161-.425.291-.059.063-1.407 1.815-2.995 3.894s-2.897 3.79-2.908 3.802c-.013.014-.661-.616-1.672-1.624-.908-.905-1.702-1.681-1.765-1.723-.401-.27-.783-.211-1.176.183a1.285 1.285 0 0 0-.261.342.582.582 0 0 0-.082.35c0 .165.01.205.08.35.075.153.213.296 2.182 2.271 1.156 1.159 2.17 2.159 2.253 2.222.189.143.338.196.539.194.203-.003.412-.104.618-.299.205-.193 6.7-8.693 6.804-8.903a.716.716 0 0 0 .085-.345c.01-.179.005-.203-.062-.339-.124-.252-.45-.531-.746-.639a.784.784 0 0 0-.469-.027" 2933 fill-rule="evenodd" 2934 /> 2935 </svg></div 2936 ></media-captions-menu> 2937 </template> 2938 2939 <template partial="AirplayButton"> 2940 <media-airplay-button part="bottom airplay button" disabled="{{disabled}}" aria-disabled="{{disabled}}"> 2941 <svg viewBox="0 0 18 14" aria-hidden="true" slot="icon"> 2942 <path 2943 d="M16.1383 0H1.8618C0.8335 0 0 0.8335 0 1.8617V10.1382C0 11.1664 0.8335 12 1.8618 12H3.076C3.1204 11.9433 3.1503 11.8785 3.2012 11.826L4.004 11H1.8618C1.3866 11 1 10.6134 1 10.1382V1.8617C1 1.3865 1.3866 0.9999 1.8618 0.9999H16.1383C16.6135 0.9999 17.0001 1.3865 17.0001 1.8617V10.1382C17.0001 10.6134 16.6135 11 16.1383 11H13.9961L14.7989 11.826C14.8499 11.8785 14.8798 11.9432 14.9241 12H16.1383C17.1665 12 18.0001 11.1664 18.0001 10.1382V1.8617C18 0.8335 17.1665 0 16.1383 0Z" 2944 /> 2945 <path 2946 d="M9.55061 8.21903C9.39981 8.06383 9.20001 7.98633 9.00011 7.98633C8.80021 7.98633 8.60031 8.06383 8.44951 8.21903L4.09771 12.697C3.62471 13.1838 3.96961 13.9998 4.64831 13.9998H13.3518C14.0304 13.9998 14.3754 13.1838 13.9023 12.697L9.55061 8.21903Z" 2947 /> 2948 </svg> 2949 </media-airplay-button> 2950 </template> 2951 2952 <template partial="FullscreenButton"> 2953 <media-fullscreen-button part="bottom fullscreen button" disabled="{{disabled}}" aria-disabled="{{disabled}}"> 2954 <svg viewBox="0 0 18 14" aria-hidden="true" slot="enter"> 2955 <path 2956 d="M1.00745 4.39539L1.01445 1.98789C1.01605 1.43049 1.47085 0.978289 2.02835 0.979989L6.39375 0.992589L6.39665 -0.007411L2.03125 -0.020011C0.920646 -0.023211 0.0176463 0.874489 0.0144463 1.98509L0.00744629 4.39539H1.00745Z" 2957 /> 2958 <path 2959 d="M17.0144 2.03431L17.0076 4.39541H18.0076L18.0144 2.03721C18.0176 0.926712 17.1199 0.0237125 16.0093 0.0205125L11.6439 0.0078125L11.641 1.00781L16.0064 1.02041C16.5638 1.02201 17.016 1.47681 17.0144 2.03431Z" 2960 /> 2961 <path 2962 d="M16.9925 9.60498L16.9855 12.0124C16.9839 12.5698 16.5291 13.022 15.9717 13.0204L11.6063 13.0078L11.6034 14.0078L15.9688 14.0204C17.0794 14.0236 17.9823 13.1259 17.9855 12.0153L17.9925 9.60498H16.9925Z" 2963 /> 2964 <path 2965 d="M0.985626 11.9661L0.992426 9.60498H-0.0074737L-0.0142737 11.9632C-0.0174737 13.0738 0.880226 13.9767 1.99083 13.98L6.35623 13.9926L6.35913 12.9926L1.99373 12.98C1.43633 12.9784 0.983926 12.5236 0.985626 11.9661Z" 2966 /> 2967 </svg> 2968 <svg viewBox="0 0 18 14" aria-hidden="true" slot="exit"> 2969 <path 2970 d="M5.39655 -0.0200195L5.38955 2.38748C5.38795 2.94488 4.93315 3.39708 4.37565 3.39538L0.0103463 3.38278L0.00744629 4.38278L4.37285 4.39538C5.48345 4.39858 6.38635 3.50088 6.38965 2.39028L6.39665 -0.0200195H5.39655Z" 2971 /> 2972 <path 2973 d="M12.6411 2.36891L12.6479 0.0078125H11.6479L11.6411 2.36601C11.6379 3.47651 12.5356 4.37951 13.6462 4.38271L18.0116 4.39531L18.0145 3.39531L13.6491 3.38271C13.0917 3.38111 12.6395 2.92641 12.6411 2.36891Z" 2974 /> 2975 <path 2976 d="M12.6034 14.0204L12.6104 11.613C12.612 11.0556 13.0668 10.6034 13.6242 10.605L17.9896 10.6176L17.9925 9.61759L13.6271 9.60499C12.5165 9.60179 11.6136 10.4995 11.6104 11.6101L11.6034 14.0204H12.6034Z" 2977 /> 2978 <path 2979 d="M5.359 11.6315L5.3522 13.9926H6.3522L6.359 11.6344C6.3622 10.5238 5.4645 9.62088 4.3539 9.61758L-0.0115043 9.60498L-0.0144043 10.605L4.351 10.6176C4.9084 10.6192 5.3607 11.074 5.359 11.6315Z" 2980 /> 2981 </svg> 2982 </media-fullscreen-button> 2983 </template> 2984 2985 <template partial="CastButton"> 2986 <media-cast-button part="bottom cast button" disabled="{{disabled}}" aria-disabled="{{disabled}}"> 2987 <svg viewBox="0 0 18 14" aria-hidden="true" slot="enter"> 2988 <path 2989 d="M16.0072 0H2.0291C0.9185 0 0.0181 0.9003 0.0181 2.011V5.5009C0.357 5.5016 0.6895 5.5275 1.0181 5.5669V2.011C1.0181 1.4536 1.4716 1 2.029 1H16.0072C16.5646 1 17.0181 1.4536 17.0181 2.011V11.9891C17.0181 12.5465 16.5646 13 16.0072 13H8.4358C8.4746 13.3286 8.4999 13.6611 8.4999 13.9999H16.0071C17.1177 13.9999 18.018 13.0996 18.018 11.989V2.011C18.0181 0.9003 17.1178 0 16.0072 0ZM0 6.4999V7.4999C3.584 7.4999 6.5 10.4159 6.5 13.9999H7.5C7.5 9.8642 4.1357 6.4999 0 6.4999ZM0 8.7499V9.7499C2.3433 9.7499 4.25 11.6566 4.25 13.9999H5.25C5.25 11.1049 2.895 8.7499 0 8.7499ZM0.0181 11V14H3.0181C3.0181 12.3431 1.675 11 0.0181 11Z" 2990 /> 2991 </svg> 2992 <svg viewBox="0 0 18 14" aria-hidden="true" slot="exit"> 2993 <path 2994 d="M15.9891 0H2.01103C0.900434 0 3.35947e-05 0.9003 3.35947e-05 2.011V5.5009C0.338934 5.5016 0.671434 5.5275 1.00003 5.5669V2.011C1.00003 1.4536 1.45353 1 2.01093 1H15.9891C16.5465 1 17 1.4536 17 2.011V11.9891C17 12.5465 16.5465 13 15.9891 13H8.41773C8.45653 13.3286 8.48183 13.6611 8.48183 13.9999H15.989C17.0996 13.9999 17.9999 13.0996 17.9999 11.989V2.011C18 0.9003 17.0997 0 15.9891 0ZM-0.0180664 6.4999V7.4999C3.56593 7.4999 6.48193 10.4159 6.48193 13.9999H7.48193C7.48193 9.8642 4.11763 6.4999 -0.0180664 6.4999ZM-0.0180664 8.7499V9.7499C2.32523 9.7499 4.23193 11.6566 4.23193 13.9999H5.23193C5.23193 11.1049 2.87693 8.7499 -0.0180664 8.7499ZM3.35947e-05 11V14H3.00003C3.00003 12.3431 1.65693 11 3.35947e-05 11Z" 2995 /> 2996 <path d="M2.15002 5.634C5.18352 6.4207 7.57252 8.8151 8.35282 11.8499H15.8501V2.1499H2.15002V5.634Z" /> 2997 </svg> 2998 </media-cast-button> 2999 </template> 3000 3001 <template partial="LiveButton"> 3002 <media-live-button part="{{section ?? 'top'}} live button" disabled="{{disabled}}" aria-disabled="{{disabled}}"> 3003 <span slot="text">Live</span> 3004 </media-live-button> 3005 </template> 3006 3007 <template partial="PlaybackRateMenu"> 3008 <media-playback-rate-menu-button part="bottom playback-rate button"></media-playback-rate-menu-button> 3009 <media-playback-rate-menu 3010 hidden 3011 anchor="auto" 3012 rates="{{playbackrates}}" 3013 exportparts="menu-item" 3014 part="bottom playback-rate menu" 3015 disabled="{{disabled}}" 3016 aria-disabled="{{disabled}}" 3017 ></media-playback-rate-menu> 3018 </template> 3019 3020 <template partial="VolumeRange"> 3021 <media-volume-range 3022 part="bottom volume range" 3023 disabled="{{disabled}}" 3024 aria-disabled="{{disabled}}" 3025 ></media-volume-range> 3026 </template> 3027 3028 <template partial="TimeDisplay"> 3029 <media-time-display 3030 remaining="{{defaultshowremainingtime}}" 3031 showduration="{{!hideduration}}" 3032 part="bottom time display" 3033 disabled="{{disabled}}" 3034 aria-disabled="{{disabled}}" 3035 ></media-time-display> 3036 </template> 3037 3038 <template partial="TimeRange"> 3039 <media-time-range part="bottom time range" disabled="{{disabled}}" aria-disabled="{{disabled}}" exportparts="thumb"> 3040 <media-preview-thumbnail slot="preview"></media-preview-thumbnail> 3041 <media-preview-chapter-display slot="preview"></media-preview-chapter-display> 3042 <media-preview-time-display slot="preview"></media-preview-time-display> 3043 <div slot="preview" part="arrow"></div> 3044 </media-time-range> 3045 </template> 3046 3047 <template partial="AudioTrackMenu"> 3048 <media-audio-track-menu-button part="bottom audio-track button"> 3049 <svg aria-hidden="true" slot="icon" viewBox="0 0 18 16"> 3050 <path d="M9 15A7 7 0 1 1 9 1a7 7 0 0 1 0 14Zm0 1A8 8 0 1 0 9 0a8 8 0 0 0 0 16Z" /> 3051 <path 3052 d="M5.2 6.3a.5.5 0 0 1 .5.5v2.4a.5.5 0 1 1-1 0V6.8a.5.5 0 0 1 .5-.5Zm2.4-2.4a.5.5 0 0 1 .5.5v7.2a.5.5 0 0 1-1 0V4.4a.5.5 0 0 1 .5-.5ZM10 5.5a.5.5 0 0 1 .5.5v4a.5.5 0 0 1-1 0V6a.5.5 0 0 1 .5-.5Zm2.4-.8a.5.5 0 0 1 .5.5v5.6a.5.5 0 0 1-1 0V5.2a.5.5 0 0 1 .5-.5Z" 3053 /> 3054 </svg> 3055 </media-audio-track-menu-button> 3056 <media-audio-track-menu 3057 hidden 3058 anchor="auto" 3059 part="bottom audio-track menu" 3060 disabled="{{disabled}}" 3061 aria-disabled="{{disabled}}" 3062 exportparts="menu-item" 3063 > 3064 <div slot="checked-indicator"> 3065 <style> 3066 .indicator { 3067 position: relative; 3068 top: 1px; 3069 width: 0.9em; 3070 height: auto; 3071 fill: var(--_accent-color); 3072 margin-right: 5px; 3073 } 3074 3075 [aria-checked='false'] .indicator { 3076 display: none; 3077 } 3078 </style> 3079 <svg viewBox="0 0 14 18" class="indicator"> 3080 <path 3081 d="M12.252 3.48c-.115.033-.301.161-.425.291-.059.063-1.407 1.815-2.995 3.894s-2.897 3.79-2.908 3.802c-.013.014-.661-.616-1.672-1.624-.908-.905-1.702-1.681-1.765-1.723-.401-.27-.783-.211-1.176.183a1.285 1.285 0 0 0-.261.342.582.582 0 0 0-.082.35c0 .165.01.205.08.35.075.153.213.296 2.182 2.271 1.156 1.159 2.17 2.159 2.253 2.222.189.143.338.196.539.194.203-.003.412-.104.618-.299.205-.193 6.7-8.693 6.804-8.903a.716.716 0 0 0 .085-.345c.01-.179.005-.203-.062-.339-.124-.252-.45-.531-.746-.639a.784.784 0 0 0-.469-.027" 3082 fill-rule="evenodd" 3083 /> 3084 </svg> 3085 </div> 3086 </media-audio-track-menu> 3087 </template> 3088 3089 <template partial="RenditionMenu"> 3090 <media-rendition-menu-button part="bottom rendition button"> 3091 <svg aria-hidden="true" slot="icon" viewBox="0 0 18 14"> 3092 <path 3093 d="M2.25 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4ZM9 9a2 2 0 1 0 0-4 2 2 0 0 0 0 4Zm6.75 0a2 2 0 1 0 0-4 2 2 0 0 0 0 4Z" 3094 /> 3095 </svg> 3096 </media-rendition-menu-button> 3097 <media-rendition-menu 3098 hidden 3099 anchor="auto" 3100 part="bottom rendition menu" 3101 disabled="{{disabled}}" 3102 aria-disabled="{{disabled}}" 3103 > 3104 <div slot="checked-indicator"> 3105 <style> 3106 .indicator { 3107 position: relative; 3108 top: 1px; 3109 width: 0.9em; 3110 height: auto; 3111 fill: var(--_accent-color); 3112 margin-right: 5px; 3113 } 3114 3115 [aria-checked='false'] .indicator { 3116 opacity: 0; 3117 } 3118 </style> 3119 <svg viewBox="0 0 14 18" class="indicator"> 3120 <path 3121 d="M12.252 3.48c-.115.033-.301.161-.425.291-.059.063-1.407 1.815-2.995 3.894s-2.897 3.79-2.908 3.802c-.013.014-.661-.616-1.672-1.624-.908-.905-1.702-1.681-1.765-1.723-.401-.27-.783-.211-1.176.183a1.285 1.285 0 0 0-.261.342.582.582 0 0 0-.082.35c0 .165.01.205.08.35.075.153.213.296 2.182 2.271 1.156 1.159 2.17 2.159 2.253 2.222.189.143.338.196.539.194.203-.003.412-.104.618-.299.205-.193 6.7-8.693 6.804-8.903a.716.716 0 0 0 .085-.345c.01-.179.005-.203-.062-.339-.124-.252-.45-.531-.746-.639a.784.784 0 0 0-.469-.027" 3122 fill-rule="evenodd" 3123 /> 3124 </svg> 3125 </div> 3126 </media-rendition-menu> 3127 </template> 3128 3129 <template partial="MuxBadge"> 3130 <div part="mux-badge"> 3131 <a href="https://www.mux.com/player" target="_blank"> 3132 <span class="mux-badge-text">Powered by</span> 3133 <div class="mux-badge-logo"> 3134 <svg 3135 viewBox="0 0 1600 500" 3136 style="fill-rule: evenodd; clip-rule: evenodd; stroke-linejoin: round; stroke-miterlimit: 2" 3137 > 3138 <g> 3139 <path 3140 d="M994.287,93.486c-17.121,-0 -31,-13.879 -31,-31c0,-17.121 13.879,-31 31,-31c17.121,-0 31,13.879 31,31c0,17.121 -13.879,31 -31,31m0,-93.486c-34.509,-0 -62.484,27.976 -62.484,62.486l0,187.511c0,68.943 -56.09,125.033 -125.032,125.033c-68.942,-0 -125.03,-56.09 -125.03,-125.033l0,-187.511c0,-34.51 -27.976,-62.486 -62.485,-62.486c-34.509,-0 -62.484,27.976 -62.484,62.486l0,187.511c0,137.853 112.149,250.003 249.999,250.003c137.851,-0 250.001,-112.15 250.001,-250.003l0,-187.511c0,-34.51 -27.976,-62.486 -62.485,-62.486" 3141 style="fill-rule: nonzero" 3142 ></path> 3143 <path 3144 d="M1537.51,468.511c-17.121,-0 -31,-13.879 -31,-31c0,-17.121 13.879,-31 31,-31c17.121,-0 31,13.879 31,31c0,17.121 -13.879,31 -31,31m-275.883,-218.509l-143.33,143.329c-24.402,24.402 -24.402,63.966 0,88.368c24.402,24.402 63.967,24.402 88.369,-0l143.33,-143.329l143.328,143.329c24.402,24.4 63.967,24.402 88.369,-0c24.403,-24.402 24.403,-63.966 0.001,-88.368l-143.33,-143.329l0.001,-0.004l143.329,-143.329c24.402,-24.402 24.402,-63.965 0,-88.367c-24.402,-24.402 -63.967,-24.402 -88.369,-0l-143.329,143.328l-143.329,-143.328c-24.402,-24.401 -63.967,-24.402 -88.369,-0c-24.402,24.402 -24.402,63.965 0,88.367l143.329,143.329l0,0.004Z" 3145 style="fill-rule: nonzero" 3146 ></path> 3147 <path 3148 d="M437.511,468.521c-17.121,-0 -31,-13.879 -31,-31c0,-17.121 13.879,-31 31,-31c17.121,-0 31,13.879 31,31c0,17.121 -13.879,31 -31,31m23.915,-463.762c-23.348,-9.672 -50.226,-4.327 -68.096,13.544l-143.331,143.329l-143.33,-143.329c-17.871,-17.871 -44.747,-23.216 -68.096,-13.544c-23.349,9.671 -38.574,32.455 -38.574,57.729l0,375.026c0,34.51 27.977,62.486 62.487,62.486c34.51,-0 62.486,-27.976 62.486,-62.486l0,-224.173l80.843,80.844c24.404,24.402 63.965,24.402 88.369,-0l80.843,-80.844l0,224.173c0,34.51 27.976,62.486 62.486,62.486c34.51,-0 62.486,-27.976 62.486,-62.486l0,-375.026c0,-25.274 -15.224,-48.058 -38.573,-57.729" 3149 style="fill-rule: nonzero" 3150 ></path> 3151 </g> 3152 </svg> 3153 </div> 3154 </a> 3155 </div> 3156 </template> 3157 3158 <media-controller 3159 part="controller" 3160 defaultstreamtype="{{defaultstreamtype ?? 'on-demand'}}" 3161 breakpoints="sm:470" 3162 gesturesdisabled="{{disabled}}" 3163 hotkeys="{{hotkeys}}" 3164 nohotkeys="{{nohotkeys}}" 3165 novolumepref="{{novolumepref}}" 3166 audio="{{audio}}" 3167 noautoseektolive="{{noautoseektolive}}" 3168 defaultsubtitles="{{defaultsubtitles}}" 3169 defaultduration="{{defaultduration ?? false}}" 3170 keyboardforwardseekoffset="{{forwardseekoffset}}" 3171 keyboardbackwardseekoffset="{{backwardseekoffset}}" 3172 exportparts="layer, media-layer, poster-layer, vertical-layer, centered-layer, gesture-layer" 3173 style="--_pre-playback-place:{{preplaybackplace ?? 'center'}}" 3174 > 3175 <slot name="media" slot="media"></slot> 3176 <slot name="poster" slot="poster"></slot> 3177 3178 <media-loading-indicator slot="centered-chrome" noautohide></media-loading-indicator> 3179 3180 <template if="!audio"> 3181 <media-error-dialog slot="dialog" noautohide></media-error-dialog> 3182 <!-- Pre-playback UI --> 3183 <!-- same for both on-demand and live --> 3184 <div slot="centered-chrome" class="center-controls pre-playback"> 3185 <template if="!breakpointsm">{{>PlayButton section="center"}}</template> 3186 <template if="breakpointsm">{{>PrePlayButton section="center"}}</template> 3187 </div> 3188 3189 <!-- Mux Badge --> 3190 <template if="proudlydisplaymuxbadge"> {{>MuxBadge}} </template> 3191 3192 <!-- Autoplay centered unmute button --> 3193 <!-- 3194 todo: figure out how show this with available state variables 3195 needs to show when: 3196 - autoplay is enabled 3197 - playback has been successful 3198 - audio is muted 3199 - in place / instead of the pre-plaback play button 3200 - not to show again after user has interacted with this button 3201 - OR user has interacted with the mute button in the control bar 3202 --> 3203 <!-- 3204 There should be a >MuteButton to the left of the "Unmute" text, but a templating bug 3205 makes it appear even if commented out in the markup, add it back when code is un-commented 3206 --> 3207 <!-- <div slot="centered-chrome" class="autoplay-unmute"> 3208 <div role="button" class="autoplay-unmute-btn">Unmute</div> 3209 </div> --> 3210 3211 <template if="streamtype == 'on-demand'"> 3212 <template if="breakpointsm"> 3213 <media-control-bar part="control-bar top" slot="top-chrome">{{>TitleDisplay}} </media-control-bar> 3214 </template> 3215 {{>TimeRange}} 3216 <media-control-bar part="control-bar bottom"> 3217 {{>PlayButton}} {{>SeekBackwardButton}} {{>SeekForwardButton}} {{>TimeDisplay}} {{>MuteButton}} 3218 {{>VolumeRange}} 3219 <div class="spacer"></div> 3220 {{>RenditionMenu}} {{>PlaybackRateMenu}} {{>AudioTrackMenu}} {{>CaptionsMenu}} {{>AirplayButton}} 3221 {{>CastButton}} {{>PipButton}} {{>FullscreenButton}} 3222 </media-control-bar> 3223 </template> 3224 3225 <template if="streamtype == 'live'"> 3226 <media-control-bar part="control-bar top" slot="top-chrome"> 3227 {{>LiveButton}} 3228 <template if="breakpointsm"> {{>TitleDisplay}} </template> 3229 </media-control-bar> 3230 <template if="targetlivewindow > 0">{{>TimeRange}}</template> 3231 <media-control-bar part="control-bar bottom"> 3232 {{>PlayButton}} 3233 <template if="targetlivewindow > 0">{{>SeekBackwardButton}} {{>SeekForwardButton}}</template> 3234 {{>MuteButton}} {{>VolumeRange}} 3235 <div class="spacer"></div> 3236 {{>RenditionMenu}} {{>AudioTrackMenu}} {{>CaptionsMenu}} {{>AirplayButton}} {{>CastButton}} {{>PipButton}} 3237 {{>FullscreenButton}} 3238 </media-control-bar> 3239 </template> 3240 </template> 3241 3242 <template if="audio"> 3243 <template if="streamtype == 'on-demand'"> 3244 <template if="title"> 3245 <media-control-bar part="control-bar top">{{>TitleDisplay}}</media-control-bar> 3246 </template> 3247 <media-control-bar part="control-bar bottom"> 3248 {{>PlayButton}} 3249 <template if="breakpointsm"> {{>SeekBackwardButton}} {{>SeekForwardButton}} </template> 3250 {{>MuteButton}} 3251 <template if="breakpointsm">{{>VolumeRange}}</template> 3252 {{>TimeDisplay}} {{>TimeRange}} 3253 <template if="breakpointsm">{{>PlaybackRateMenu}}</template> 3254 {{>AirplayButton}} {{>CastButton}} 3255 </media-control-bar> 3256 </template> 3257 3258 <template if="streamtype == 'live'"> 3259 <template if="title"> 3260 <media-control-bar part="control-bar top">{{>TitleDisplay}}</media-control-bar> 3261 </template> 3262 <media-control-bar part="control-bar bottom"> 3263 {{>PlayButton}} {{>LiveButton section="bottom"}} {{>MuteButton}} 3264 <template if="breakpointsm"> 3265 {{>VolumeRange}} 3266 <template if="targetlivewindow > 0"> {{>SeekBackwardButton}} {{>SeekForwardButton}} </template> 3267 </template> 3268 <template if="targetlivewindow > 0"> {{>TimeDisplay}} {{>TimeRange}} </template> 3269 <template if="!targetlivewindow"><div class="spacer"></div></template> 3270 {{>AirplayButton}} {{>CastButton}} 3271 </media-control-bar> 3272 </template> 3273 </template> 3274 3275 <slot></slot> 3276 </media-controller> 3277</template> 3278`
3278,_F=_t.createElement("template");"innerHTML"in _F&&(_F.innerHTML=_U);var _B,_$,_H=class extends gD{};_H.template=null==(_$=null==(_B=_F.content)?void 0:_B.children)?void 0:_$[0],_e.customElements.get("media-theme-gerwig")||_e.customElements.define("media-theme-gerwig",_H);var _G={SRC:"src",POSTER:"poster"},_K={STYLE:"style",DEFAULT_HIDDEN_CAPTIONS:"default-hidden-captions",PRIMARY_COLOR:"primary-color",SECONDARY_COLOR:"secondary-color",ACCENT_COLOR:"accent-color",FORWARD_SEEK_OFFSET:"forward-seek-offset",BACKWARD_SEEK_OFFSET:"backward-seek-offset",P
3278LAYBACK_TOKEN:"playback-token",THUMBNAIL_TOKEN:"thumbnail-token",STORYBOARD_TOKEN:"storyboard-token",FULLSCREEN_ELEMENT:"fullscreen-element",DRM_TOKEN:"drm-token",STORYBOARD_SRC:"storyboard-src",THUMBNAIL_TIME:"thumbnail-time",AUDIO:"audio",NOHOTKEYS:"nohotkeys",HOTKEYS:"hotkeys",PLAYBACK_RATES:"playbackrates",DEFAULT_SHOW_REMAINING_TIME:"default-show-remaining-time",DEFAULT_DURATION:"default-duration",TITLE:"title",VIDEO_TITLE:"video-title",PLACEHOLDER:"placeholder",THEME:"theme",DEFAULT_STREAM_TYPE:"default-stream-type",TARGET_LIVE_WINDOW:"target-live-window",EXTRA_SOURCE_PARAMS:"extra-source-params",NO_VOLUME_PREF:"no-volume-pref",NO_MUTED_PREF:"no-muted-pref",CAST_RECEIVER:"cast-receiver",NO_TOOLTIPS:"no-tooltips",PROUDLY_DISPLAY_MUX_BADGE:"proudly-display-mux-badge",DISABLE_PSEUDO_ENDED:"disable-pseudo-ended"},_W=["audio","backwardseekoffset","defaultduration","defaultshowremainingtime","defaultsubtitles","noautoseektolive","disabled","exportparts","forwardseekoffset","hideduration","hotkeys","nohotkeys","playbackrates","defaultstreamtype","streamtype","style","targetlivewindow","template","title","videotitle","novolumepref","nomutedpref","proudlydisplaymuxbadge"],_V=fq.formatErrorMessage;function _q(e){let t=e.videoTitle?{video_title:e.videoTitle}:{};return e.getAttributeNames().filter(e=>e.startsWith("metadata-")).reduce((t,i)=>{let r=e.getAttribute(i);return null!==r&&(t[i.replace(/^metadata-/,"").replace(/-/g,"_")]=r),t},t)}fq.formatErrorMessage=e=>{var t,i;if(e instanceof lf){let r=((e,t=!1)=>({title:((e,t=!1)=>{var i,r;if(e.muxCode){let a=_O(null!=(i=e.errorCategory)?i:"video"),s=lm(null!=(r=e.errorCategory)?r:lu.VIDEO);if(e.muxCode===lc.NETWORK_OFFLINE)return lO("Your device appears to be offline",t);if(e.muxCode===lc.NETWORK_TOKEN_EXPIRED)return lO("{category} URL has expired",t).format({category:a});if([lc.NETWORK_TOKEN_SUB_MISMATCH,lc.NETWORK_TOKEN_AUD_MISMATCH,lc.NETWORK_TOKEN_AUD_MISSING,lc.NETWORK_TOKEN_MALFORMED].includes(e.muxCode))return lO("{category} URL is formatted incorrectly",t).format({category:a});if(e.muxCode===lc.NETWORK_TOKEN_MISSING)return lO("Invalid {categoryName} URL",t).format({categoryName:s});if(e.muxCode===lc.NETWORK_NOT_FOUND)return lO("{category} does not exist",t).format({category:a});if(e.muxCode===lc.NETWORK_NOT_READY){let i="live"===e.streamType?"Live stream":"Video";return lO("{mediaType} is not currently available",t).format({mediaType:i})}}if(e.code){if(e.code===lf.MEDIA_ERR_NETWORK)return lO("Network Error",t);if(e.code===lf.MEDIA_ERR_DECODE)return lO("Media Error",t);if(e.code===lf.MEDIA_ERR_SRC_NOT_SUPPORTED)return lO("Source Not Supported",t)}return lO("Error",t)})(e,t).toString(),message:((e,t=!1)=>{var i,r;if(e.muxCode){let a=_O(null!=(i=e.errorCategory)?i:"video"),s=lm(null!=(r=e.errorCategory)?r:lu.VIDEO);return e.muxCode===lc.NETWORK_OFFLINE?lO("Check your internet connection and try reloading this video.",t):e.muxCode===lc.NETWORK_TOKEN_EXPIRED?lO("The videoâs secured {tokenNamePrefix}-token has expired.",t).format({tokenNamePrefix:s}):e.muxCode===lc.NETWORK_TOKEN_SUB_MISMATCH?lO("The videoâs playback ID does not match the one encoded in the {tokenNamePrefix}-token.",t).format({tokenNamePrefix:s}):e.muxCode===lc.NETWORK_TOKEN_MALFORMED?lO("{category} URL is formatted incorrectly",t).format({category:a}):[lc.NETWORK_TOKEN_AUD_MISMATCH,lc.NETWORK_TOKEN_AUD_MISSING].includes(e.muxCode)?lO("The {tokenNamePrefix}-token is formatted with incorrect information.",t).format({tokenNamePrefix:s}):[lc.NETWORK_TOKEN_MISSING,lc.NETWORK_INVALID_URL].includes(e.muxCode)?lO("The video URL or {tokenNamePrefix}-token are formatted with incorrect or incomplete information.",t).format({tokenNamePrefix:s}):e.muxCode===lc.NETWORK_NOT_FOUND?"":e.message}return e.code&&(e.code===lf.MEDIA_ERR_NETWORK||e.code===lf.MEDIA_ERR_DECODE||e.code===lf.MEDIA_ERR_SRC_NOT_SUPPORTED),e.message})(e,t).toString()}))(e,!1);return` 3279 ${null!=r&&r.title?`<h3>${r.title}</h3>`:""} 3280 ${null!=r&&r.message||null!=r&&r.linkUrl?`<p> 3281 ${null==r?void 0:r.message} 3282 ${null!=r&&r.linkUrl?`<a 3283 href="${r.linkUrl}" 3284 target="_blank" 3285 rel="external noopener" 3286 aria-label="${null!=(t=r.linkText)?t:""} ${lO("(opens in a new window)")}" 3287 >${null!=(i=r.linkText)?i:r.linkUrl}</a 3288 >`:""} 3289 </p>`:""} 3290 `}return _V(e)};
3290var _Y,_j,_Q,_z,_X,_Z,_J,_0,_1,_2,_3,_4,_5,_8,_9,_6,_7,Ae,At,Ai,Ar,Aa=Object.values(hO),As=Object.values(_G),An=Object.values(_K),Ao="mux-player",Al={isDialogOpen:!1},Ad={redundant_streams:!0},Ah=class extends _S{constructor(){super(),vW(this,_5),vW(this,_Y),vW(this,_j,!1),vW(this,_Q,{}),vW(this,_z,!0),vW(this,_X,new _f(this,"hotkeys")),vW(this,_Z),vW(this,_J,()=>vq(this,_5,_7).call(this)),vW(this,_0,()=>vq(this,_5,_7).call(this)),vW(this,_1,()=>vq(this,_5,_7).call(this)),vW(this,_2),vW(this,_3,{...Al,onCloseErrorDialog:e=>{var t;(null==(t=e.composedPath()[0])?void 0:t.localName)==="media-error-dialog"&&vq(this,_5,_6).call(this,{isDialogOpen:!1})},onFocusInErrorDialog:e=>{var t;(null==(t=e.composedPath()[0])?void 0:t.localName)==="media-error-dialog"&&(_d(this,_t.activeElement)||e.preventDefault())}}),vW(this,_4,e=>{var t;let i=null==(t=this.media)?void 0:t.error;if(!(i instanceof lf)){let{message:e,code:t}=null!=i?i:{};i=new lf(e,t)}if(!(null!=i&&i.fatal)){_g(i),i.data&&_g(`${i.name} data:`,i.data);return}let r=_N(i,!1);r.message&&_E(r),_v(i),i.data&&_v(`${i.name} data:`,i.data),vq(this,_5,_6).call(this,{isDialogOpen:!0})}),vV(this,_Y,dO()),this.attachShadow({mode:"open"}),vq(this,_5,_9).call(this),this.isConnected&&vq(this,_5,_8).call(this)}static get NAME(){return Ao}static get VERSION(){return _u}static get observedAttributes(){var e;return[...null!=(e=_S.observedAttributes)?e:[],...As,...Aa,...An]}get mediaTheme(){var e;return null==(e=this.shadowRoot)?void 0:e.querySelector("media-theme")}get mediaController(){var e,t;return null==(t=null==(e=this.mediaTheme)?void 0:e.shadowRoot)?void 0:t.querySelector("media-controller")}connectedCallback(){vq(this,_5,_8).call(this);let e=this.media;e&&(e.metadata=_q(this))}disconnectedCallback(){var e,t,i,r,a,s,n,o;null==(e=vK(this,_Z))||e.disconnect(),null==(t=this.media)||t.removeEventListener("streamtypechange",vK(this,_J)),null==(i=this.media)||i.removeEventListener("loadstart",vK(this,_0)),this.removeEventListener("error",vK(this,_4)),this.media&&(this.media.errorTranslator=void 0),null==(a=null==(r=this.media)?void 0:r.textTracks)||a.removeEventListener("addtrack",vK(this,_1)),null==(n=null==(s=this.media)?void 0:s.textTracks)||n.removeEventListener("removetrack",vK(this,_1)),null==(o=vK(this,_2))||o.call(this),vV(this,_2,void 0),vV(this,_j,!1)}attributeChangedCallback(e,t,i){var r;switch(vq(this,_5,_8).call(this),super.attributeChangedCallback(e,t,i),e){case _K.HOTKEYS:vK(this,_X).value=i;break;case _K.THUMBNAIL_TIME:null!=i&&this.tokens.thumbnail&&_g(lO("Use of thumbnail-time with thumbnail-token is currently unsupported. Ignore thumbnail-time.").toString());break;case _K.THUMBNAIL_TOKEN:if(i){let e=lP(i);if(e){let{aud:t}=e,i=l9.THUMBNAIL;t!==i&&_g(lO("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:t,expectedAud:i,tokenNamePrefix:"thumbnail"}))}}break;case _K.STORYBOARD_TOKEN:if(i){let e=lP(i);if(e){let{aud:t}=e,i=l9.STORYBOARD;t!==i&&_g(lO("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:t,expectedAud:i,tokenNamePrefix:"storyboard"}))}}break;case _K.DRM_TOKEN:if(i){let e=lP(i);if(e){let{aud:t}=e,i=l9.DRM;t!==i&&_g(lO("The {tokenNamePrefix}-token has an incorrect aud value: {aud}. aud value should be {expectedAud}.").format({aud:t,expectedAud:i,tokenNamePrefix:"drm"}))}}break;case hO.PLAYBACK_ID:null!=i&&i.includes("?token")&&_v(lO("The specificed playback ID {playbackId} contains a token which must be provided via the playback-token attribute.").format({playbackId:i}));break;case hO.STREAM_TYPE:i&&![lv.LIVE,lv.ON_DEMAND,lv.UNKNOWN].includes(i)?["ll-live","live:dvr","ll-live:dvr"].includes(this.streamType)?this.targetLiveWindow=i.includes("dvr")?1/0:0:_E({file:"invalid-stream-type.md",message:lO("Invalid stream-type value supplied: `{streamType}`. Please provide stream-type as either: `on-demand` or `live`").format({streamType:this.streamType})}):i===lv.LIVE?null==this.getAttribute(_K.TARGET_LIVE_WINDOW)&&(this.targetLiveWindow=0):this.targetLiveWindow=NaN;break;case _K.FULLSCREEN_ELEMENT:if(null!=i||i!==t){let e=_t.getElementById(i),t=null==e?void 0:e.querySelector("mux-player");this.mediaController&&e&&t&&(this.mediaController.fullscreenElement=e)}break;case hO.CAP_RENDITION_TO_PLAYER_SIZE:(null==i||i!==t)&&(this.capRenditionToPlayerSize=null!=i||void 0)}[hO.PLAYBACK_ID,_G.SRC,_K.PLAYBACK_TOKEN].includes(e)&&t!==i&&vV(this,_3,{...vK(this,_3),...Al}),vq(this,_5,_7).call(this,{[null!=(r=_m[e])?r:_r(e)]:i})}async requestFullscreen(e){var t;if(!(!this.mediaController||this.mediaController.hasAttribute(uP.MEDIA_IS_FULLSCREEN)))return null==(t=this.mediaController)||t.dispatchEvent(new _e.CustomEvent(uD.MEDIA_ENTER_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0})),new Promise((e,t)=>
3290{var i;null==(i=this.mediaController)||i.addEventListener(uO.MEDIA_IS_FULLSCREEN,()=>e(),{once:!0})})}async exitFullscreen(){var e;if(!(!this.mediaController||!this.mediaController.hasAttribute(uP.MEDIA_IS_FULLSCREEN)))return null==(e=this.mediaController)||e.dispatchEvent(new _e.CustomEvent(uD.MEDIA_EXIT_FULLSCREEN_REQUEST,{composed:!0,bubbles:!0})),new Promise((e,t)=>{var i;null==(i=this.mediaController)||i.addEventListener(uO.MEDIA_IS_FULLSCREEN,()=>e(),{once:!0})})}get preferCmcd(){var e;return null!=(e=this.getAttribute(hO.PREFER_CMCD))?e:void 0}set preferCmcd(e){e!==this.preferCmcd&&(e?lb.includes(e)?this.setAttribute(hO.PREFER_CMCD,e):_g(`Invalid value for preferCmcd. Must be one of ${lb.join()}`):this.removeAttribute(hO.PREFER_CMCD))}get hasPlayed(){var e,t;return null!=(t=null==(e=this.mediaController)?void 0:e.hasAttribute(uP.MEDIA_HAS_PLAYED))&&t}get inLiveWindow(){var e;return null==(e=this.mediaController)?void 0:e.hasAttribute(uP.MEDIA_TIME_IS_LIVE)}get _hls(){var e;return null==(e=this.media)?void 0:e._hls}get mux(){var e;return null==(e=this.media)?void 0:e.mux}get theme(){var e;return null!=(e=this.getAttribute(_K.THEME))?e:"gerwig"}set theme(e){this.setAttribute(_K.THEME,`${e}`)}get themeProps(){let e=this.mediaTheme;if(!e)return;let t={};for(let i of e.getAttributeNames()){if(_W.includes(i))continue;let r=e.getAttribute(i);t[_r(i)]=""===r||r}return t}set themeProps(e){var t,i;vq(this,_5,_8).call(this);let r={...this.themeProps,...e};for(let a in r){if(_W.includes(a))continue;let r=null==e?void 0:e[a];"boolean"==typeof r||null==r?null==(t=this.mediaTheme)||t.toggleAttribute(_i(a),!!r):null==(i=this.mediaTheme)||i.setAttribute(_i(a),r)}}get playbackId(){var e;return null!=(e=this.getAttribute(hO.PLAYBACK_ID))?e:void 0}set playbackId(e){e?this.setAttribute(hO.PLAYBACK_ID,e):this.removeAttribute(hO.PLAYBACK_ID)}get src(){var e,t;return this.playbackId?null!=(e=Au(this,_G.SRC))?e:void 0:null!=(t=this.getAttribute(_G.SRC))?t:void 0}set src(e){e?this.setAttribute(_G.SRC,e):this.removeAttribute(_G.SRC)}get poster(){var e;let t=this.getAttribute(_G.POSTER);if(null!=t)return t;let{tokens:i}=this;return i.playback&&!i.thumbnail?void _g("Missing expected thumbnail token. No poster image will be shown"):this.playbackId&&!this.audio?((e,{token:t,customDomain:i=_h,thumbnailTime:r,programTime:a}={})=>{var s;let n=null==t?r:void 0,{aud:o}=null!=(s=lP(t))?s:{};if(!(t&&"t"!==o))return`https://image.${i}/${e}/thumbnail.webp${_s({token:t,time:n,program_time:a})}`})(this.playbackId,{customDomain:this.customDomain,thumbnailTime:null!=(e=this.thumbnailTime)?e:this.startTime,programTime:this.programStartTime,token:i.thumbnail}):void 0}set poster(e){e||""===e?this.setAttribute(_G.POSTER,e):this.removeAttribute(_G.POSTER)}get storyboardSrc(){var e;return null!=(e=this.getAttribute(_K.STORYBOARD_SRC))?e:void 0}set storyboardSrc(e){e?this.setAttribute(_K.STORYBOARD_SRC,e):this.removeAttribute(_K.STORYBOARD_SRC)}get storyboard(){let{tokens:e}=this;return this.storyboardSrc&&!e.storyboard?this.storyboardSrc:this.audio||!this.playbackId||!this.streamType||[lv.LIVE,lv.UNKNOWN].includes(this.streamType)||e.playback&&!e.storyboard?void 0:((e,{token:t,customDomain:i=_h,programStartTime:r,programEndTime:a}={})=>{var s;let{aud:n}=null!=(s=lP(t))?s:{};if(!(t&&"s"!==n))return`https://image.${i}/${e}/storyboard.vtt${_s({token:t,format:"webp",program_start_time:r,program_end_time:a})}`})(this.playbackId,{customDomain:this.customDomain,token:e.storyboard,programStartTime:this.programStartTime,programEndTime:this.programEndTime})}get audio(){return this.hasAttribute(_K.AUDIO)}set audio(e){e?this.setAttribute(_K.AUDIO,""):this.removeAttribute(_K.AUDIO)}get hotkeys(){return vK(this,_X)}get nohotkeys(){return this.hasAttribute(_K.NOHOTKEYS)}set nohotkeys(e){e?this.setAttribute(_K.NOHOTKEYS,""):this.removeAttribute(_K.NOHOTKEYS)}get thumbnailTime(){return _a(this.getAttribute(_K.THUMBNAIL_TIME))}set thumbnailTime(e){this.setAttribute(_K.THUMBNAIL_TIME,`${e}`)}get videoTitle(){var e,t;return null!=(t=null!=(e=this.getAttribute(_K.VIDEO_TITLE))?e:this.getAttribute(_K.TITLE))?t:""}set videoTitle(e){e!==this.videoTitle&&(e?this.setAttribute(_K.VIDEO_TITLE,e):this.removeAttribute(_K.VIDEO_TITLE))}get placeholder(){var e;return null!=(e=Au(this,_K.PLACEHOLDER))?e:""}set placeholder(e){this.setAttribute(_K.PLACEHOLDER,`${e}`)}get primaryColor(){var e,t;let i=this.getAttribute(_K.PRIMARY_COLOR);if(null!=i||this.mediaTheme&&(i=null==(t=null==(e=_e.getComputedStyle(this.mediaTheme))?void 0:e.getPropertyValue("--_primary-color"))?void 0:t.trim()))return i}set primaryColor(e){this.setAttribute(_K.PRIMARY_COLOR,`${e}`)}get secondaryColor(){var e,t;let i=this.getAttribute(_K.SECONDARY_COLOR);if(null!=i||this.mediaTheme&&(i=null==(t=null==(e=_e.getComputedStyle(this.mediaTheme))?void 0:e.getPropertyValue("--_secondary-color"))?void 0:t.trim()))return i}set secondaryColor(e){this.setAttribute(_K.SECONDARY_COLOR,`${e}`)}get accentColor(){var e,t;let i=this.getAttribute(_K.ACCENT_COLOR);if(null!=i||this.mediaTheme&&(i=null==(t=null==(e=_e.getComputedStyle(this.mediaTheme))?void 0:e.getPropertyValue("--_accent-color"))?void 0:t.trim()))return i}set accentColor(e){this.setAttribute(_K.ACCENT_COLOR,`${e}`)}get defaultShowRemainingTime(){return this.hasAttribute(_K.DEFAULT_SHOW_REMAINING_TIME)}set defaultShowRemainingTime(e){e?this.setAttribute(_K.DEFAULT_SHOW_REMAINING_TIME,""):this.removeAttribute(_K.DEFAULT_SHOW_REMAINING_TIME)}get playbackRates(){if(this.hasAttribute(_K.PLAYBACK_RATES))return this.getAttribute(_K.PLAYBACK_RATES).trim().split(/\s*,?\s+/).map(e=>Number(e)).filter(e=>!Number.isNaN(e)).sort((e,t)=>
3290e-t)}set playbackRates(e){e?this.setAttribute(_K.PLAYBACK_RATES,e.join(" ")):this.removeAttribute(_K.PLAYBACK_RATES)}get forwardSeekOffset(){var e;return null!=(e=_a(this.getAttribute(_K.FORWARD_SEEK_OFFSET)))?e:10}set forwardSeekOffset(e){this.setAttribute(_K.FORWARD_SEEK_OFFSET,`${e}`)}get backwardSeekOffset(){var e;return null!=(e=_a(this.getAttribute(_K.BACKWARD_SEEK_OFFSET)))?e:10}set backwardSeekOffset(e){this.setAttribute(_K.BACKWARD_SEEK_OFFSET,`${e}`)}get defaultHiddenCaptions(){return this.hasAttribute(_K.DEFAULT_HIDDEN_CAPTIONS)}set defaultHiddenCaptions(e){e?this.setAttribute(_K.DEFAULT_HIDDEN_CAPTIONS,""):this.removeAttribute(_K.DEFAULT_HIDDEN_CAPTIONS)}get defaultDuration(){return _a(this.getAttribute(_K.DEFAULT_DURATION))}set defaultDuration(e){null==e?this.removeAttribute(_K.DEFAULT_DURATION):this.setAttribute(_K.DEFAULT_DURATION,`${e}`)}get playerInitTime(){return this.hasAttribute(hO.PLAYER_INIT_TIME)?_a(this.getAttribute(hO.PLAYER_INIT_TIME)):vK(this,_Y)}set playerInitTime(e){e!=this.playerInitTime&&(null==e?this.removeAttribute(hO.PLAYER_INIT_TIME):this.setAttribute(hO.PLAYER_INIT_TIME,`${+e}`))}get playerSoftwareName(){var e;return null!=(e=this.getAttribute(hO.PLAYER_SOFTWARE_NAME))?e:Ao}get playerSoftwareVersion(){var e;return null!=(e=this.getAttribute(hO.PLAYER_SOFTWARE_VERSION))?e:_u}get beaconCollectionDomain(){var e;return null!=(e=this.getAttribute(hO.BEACON_COLLECTION_DOMAIN))?e:void 0}set beaconCollectionDomain(e){e!==this.beaconCollectionDomain&&(e?this.setAttribute(hO.BEACON_COLLECTION_DOMAIN,e):this.removeAttribute(hO.BEACON_COLLECTION_DOMAIN))}get maxResolution(){var e;return null!=(e=this.getAttribute(hO.MAX_RESOLUTION))?e:void 0}set maxResolution(e){e!==this.maxResolution&&(e?this.setAttribute(hO.MAX_RESOLUTION,e):this.removeAttribute(hO.MAX_RESOLUTION))}get minResolution(){var e;return null!=(e=this.getAttribute(hO.MIN_RESOLUTION))?e:void 0}set minResolution(e){e!==this.minResolution&&(e?this.setAttribute(hO.MIN_RESOLUTION,e):this.removeAttribute(hO.MIN_RESOLUTION))}get maxAutoResolution(){var e;return null!=(e=this.getAttribute(hO.MAX_AUTO_RESOLUTION))?e:void 0}set maxAutoResolution(e){null==e?this.removeAttribute(hO.MAX_AUTO_RESOLUTION):this.setAttribute(hO.MAX_AUTO_RESOLUTION,e)}get renditionOrder(){var e;return null!=(e=this.getAttribute(hO.RENDITION_ORDER))?e:void 0}set renditionOrder(e){e!==this.renditionOrder&&(e?this.setAttribute(hO.RENDITION_ORDER,e):this.removeAttribute(hO.RENDITION_ORDER))}get programStartTime(){return _a(this.getAttribute(hO.PROGRAM_START_TIME))}set programStartTime(e){null==e?this.removeAttribute(hO.PROGRAM_START_TIME):this.setAttribute(hO.PROGRAM_START_TIME,`${e}`)}get programEndTime(){return _a(this.getAttribute(hO.PROGRAM_END_TIME))}set programEndTime(e){null==e?this.removeAttribute(hO.PROGRAM_END_TIME):this.setAttribute(hO.PROGRAM_END_TIME,`${e}`)}get assetStartTime(){return _a(this.getAttribute(hO.ASSET_START_TIME))}set assetStartTime(e){null==e?this.removeAttribute(hO.ASSET_START_TIME):this.setAttribute(hO.ASSET_START_TIME,`${e}`)}get assetEndTime(){return _a(this.getAttribute(hO.ASSET_END_TIME))}set assetEndTime(e){null==e?this.removeAttribute(hO.ASSET_END_TIME):this.setAttribute(hO.ASSET_END_TIME,`${e}`)}get extraSourceParams(){return this.hasAttribute(_K.EXTRA_SOURCE_PARAMS)?[...new URLSearchParams(this.getAttribute(_K.EXTRA_SOURCE_PARAMS)).entries()].reduce((e,[t,i])=>(e[t]=i,e),{}):Ad}set extraSourceParams(e){null==e?this.removeAttribute(_K.EXTRA_SOURCE_PARAMS):this.setAttribute(_K.EXTRA_SOURCE_PARAMS,new URLSearchParams(e).toString())}get customDomain(){var e;return null!=(e=this.getAttribute(hO.CUSTOM_DOMAIN))?e:void 0}set customDomain(e){e!==this.customDomain&&(e?this.setAttribute(hO.CUSTOM_DOMAIN,e):this.removeAttribute(hO.CUSTOM_DOMAIN))}get envKey(){var e;return null!=(e=Au(this,hO.ENV_KEY))?e:void 0}set envKey(e){this.setAttribute(hO.ENV_KEY,`${e}`)}get noVolumePref(){return this.hasAttribute(_K.NO_VOLUME_PREF)}set noVolumePref(e){e?this.setAttribute(_K.NO_VOLUME_PREF,""):this.removeAttribute(_K.NO_VOLUME_PREF)}get noMutedPref(){return this.hasAttribute(_K.NO_MUTED_PREF)}set noMutedPref(e){e?this.setAttribute(_K.NO_MUTED_PREF,""):this.removeAttribute(_K.NO_MUTED_PREF)}get debug(){return null!=Au(this,hO.DEBUG)}set debug(e){e?this.setAttribute(hO.DEBUG,""):this.removeAttribute(hO.DEBUG)}get disableTracking(){return null!=Au(this,hO.DISABLE_TRACKING)}set disableTracking(e){this.toggleAttribute(hO.DISABLE_TRACKING,!!e)}get disableCookies(){return null!=Au(this,hO.DISABLE_COOKIES)}set disableCookies(e){e?this.setAttribute(hO.DISABLE_COOKIES,""):this.removeAttribute(hO.DISABLE_COOKIES)}get streamType(){var e,t,i;return null!=(i=null!=(t=this.getAttribute(hO.STREAM_TYPE))?t:null==(e=this.media)?void 0:e.streamType)?i:lv.UNKNOWN}set streamType(e){this.setAttribute(hO.STREAM_TYPE,`${e}`)}get defaultStreamType(){var e,t,i;return null!=(i=null!=(t=this.getAttribute(_K.DEFAULT_STREAM_TYPE))?t:null==(e=this.mediaController)?void 0:e.getAttribute(_K.DEFAULT_STREAM_TYPE))?i:lv.ON_DEMAND}set defaultStreamType(e){e?this.setAttribute(_K.DEFAULT_STREAM_TYPE,e):this.removeAttribute(_K.DEFAULT_STREAM_TYPE)}get targetLiveWindow(){var e,t;return this.hasAttribute(_K.TARGET_LIVE_WINDOW)?+this.getAttribute(_K.TARGET_LIVE_WINDOW):null!=(t=null==(e=this.media)?void 0:e.targetLiveWindow)?t:NaN}
3290set targetLiveWindow(e){e==this.targetLiveWindow||Number.isNaN(e)&&Number.isNaN(this.targetLiveWindow)||(null==e?this.removeAttribute(_K.TARGET_LIVE_WINDOW):this.setAttribute(_K.TARGET_LIVE_WINDOW,`${+e}`))}get liveEdgeStart(){var e;return null==(e=this.media)?void 0:e.liveEdgeStart}get startTime(){return _a(Au(this,hO.START_TIME))}set startTime(e){this.setAttribute(hO.START_TIME,`${e}`)}get initialBandwidthEstimateKbps(){return _a(Au(this,hO.INITIAL_BANDWIDTH_ESTIMATE_KBPS))}set initialBandwidthEstimateKbps(e){null==e?this.removeAttribute(hO.INITIAL_BANDWIDTH_ESTIMATE_KBPS):this.setAttribute(hO.INITIAL_BANDWIDTH_ESTIMATE_KBPS,`${e}`)}get initialEstimateSegments(){return _a(Au(this,hO.INITIAL_ESTIMATE_SEGMENTS))}set initialEstimateSegments(e){null==e?this.removeAttribute(hO.INITIAL_ESTIMATE_SEGMENTS):this.setAttribute(hO.INITIAL_ESTIMATE_SEGMENTS,`${e}`)}get minPreloadSegments(){return _a(Au(this,hO.MIN_PRELOAD_SEGMENTS))}set minPreloadSegments(e){null==e?this.removeAttribute(hO.MIN_PRELOAD_SEGMENTS):this.setAttribute(hO.MIN_PRELOAD_SEGMENTS,`${e}`)}get preferPlayback(){let e=this.getAttribute(hO.PREFER_PLAYBACK);if(e===lE.MSE||e===lE.NATIVE)return e}set preferPlayback(e){e!==this.preferPlayback&&(e===lE.MSE||e===lE.NATIVE?this.setAttribute(hO.PREFER_PLAYBACK,e):this.removeAttribute(hO.PREFER_PLAYBACK))}get metadata(){var e;return null==(e=this.media)?void 0:e.metadata}set metadata(e){(vq(this,_5,_8).call(this),this.media)?this.media.metadata={..._q(this),...e}:_v("underlying media element missing when trying to set metadata. metadata will not be set.")}get _hlsConfig(){var e;return null==(e=this.media)?void 0:e._hlsConfig}set _hlsConfig(e){(vq(this,_5,_8).call(this),this.media)?this.media._hlsConfig=e:_v("underlying media element missing when trying to set _hlsConfig. _hlsConfig will not be set.")}async addCuePoints(e){var t;return(vq(this,_5,_8).call(this),this.media)?null==(t=this.media)?void 0:t.addCuePoints(e):void _v("underlying media element missing when trying to addCuePoints. cuePoints will not be added.")}get activeCuePoint(){var e;return null==(e=this.media)?void 0:e.activeCuePoint}get cuePoints(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.cuePoints)?t:[]}addChapters(e){var t;return(vq(this,_5,_8).call(this),this.media)?null==(t=this.media)?void 0:t.addChapters(e):void _v("underlying media element missing when trying to addChapters. chapters will not be added.")}get activeChapter(){var e;return null==(e=this.media)?void 0:e.activeChapter}get chapters(){var e,t;return null!=(t=null==(e=this.media)?void 0:e.chapters)?t:[]}getStartDate(){var e;return null==(e=this.media)?void 0:e.getStartDate()}get currentPdt(){var e;return null==(e=this.media)?void 0:e.currentPdt}get tokens(){let e=this.getAttribute(_K.PLAYBACK_TOKEN),t=this.getAttribute(_K.DRM_TOKEN),i=this.getAttribute(_K.THUMBNAIL_TOKEN),r=this.getAttribute(_K.STORYBOARD_TOKEN);return{...vK(this,_Q),...null!=e?{playback:e}:{},...null!=t?{drm:t}:{},...null!=i?{thumbnail:i}:{},...null!=r?{storyboard:r}:{}}}set tokens(e){vV(this,_Q,null!=e?e:{})}get playbackToken(){var e;return null!=(e=this.getAttribute(_K.PLAYBACK_TOKEN))?e:void 0}set playbackToken(e){this.setAttribute(_K.PLAYBACK_TOKEN,`${e}`)}get drmToken(){var e;return null!=(e=this.getAttribute(_K.DRM_TOKEN))?e:void 0}set drmToken(e){this.setAttribute(_K.DRM_TOKEN,`${e}`)}get thumbnailToken(){var e;return null!=(e=this.getAttribute(_K.THUMBNAIL_TOKEN))?e:void 0}set thumbnailToken(e){this.setAttribute(_K.THUMBNAIL_TOKEN,`${e}`)}get storyboardToken(){var e;return null!=(e=this.getAttribute(_K.STORYBOARD_TOKEN))?e:void 0}set storyboardToken(e){this.setAttribute(_K.STORYBOARD_TOKEN,`${e}`)}addTextTrack(e,t,i,r){var a;let s=null==(a=this.media)?void 0:a.nativeEl;if(s)return lH(s,e,t,i,r)}removeTextTrack(e){var t;let i=null==(t=this.media)?void 0:t.nativeEl;if(i)return lG(i,e)}get textTracks(){var e;return null==(e=this.media)?void 0:e.textTracks}get castReceiver(){var e;return null!=(e=this.getAttribute(_K.CAST_RECEIVER))?e:void 0}set castReceiver(e){e!==this.castReceiver&&(e?this.setAttribute(_K.CAST_RECEIVER,e):this.removeAttribute(_K.CAST_RECEIVER))}get castCustomData(){var e;return null==(e=this.media)?void 0:e.castCustomData}set castCustomData(e){this.media?this.media.castCustomData=e:_v("underlying media element missing when trying to set castCustomData. castCustomData will not be set.")}get noTooltips(){return this.hasAttribute(_K.NO_TOOLTIPS)}set noTooltips(e){e?this.setAttribute(_K.NO_TOOLTIPS,""):this.removeAttribute(_K.NO_TOOLTIPS)}get proudlyDisplayMuxBadge(){return this.hasAttribute(_K.PROUDLY_DISPLAY_MUX_BADGE)}set proudlyDisplayMuxBadge(e){e?this.setAttribute(_K.PROUDLY_DISPLAY_MUX_BADGE,""):this.removeAttribute(_K.PROUDLY_DISPLAY_MUX_BADGE)}get capRenditionToPlayerSize(){var e;return null==(e=this.media)?void 0:e.capRenditionToPlayerSize}set capRenditionToPlayerSize(e){this.media?this.media.capRenditionToPlayerSize=e:_v("underlying media element missing when trying to set capRenditionToPlayerSize")}};function Au(e,t){return e.media?e.media.getAttribute(t):e.getAttribute(t)}_Y=new WeakMap,_j=new WeakMap,_Q=new WeakMap,_z=new WeakMap,_X=new WeakMap,_Z=new WeakMap,_J=new WeakMap,_0=new WeakMap,_1=new WeakMap,_2=new WeakMap,_3=new WeakMap,_4=new WeakMap,_5=new WeakSet,_8=function(){var e,t,i,r;if(!vK(this,_j)){vV(this,_j,!0),vq(this,_5,_7).call(this);try{if(customElements.upgrade(this.mediaTheme),!(this.mediaTheme instanceof _e.HTMLElement))throw""}catch{_v("<media-theme> failed to upgrade!")}try{customElements.upgrade(this.media)}catch{_v("underlying media element failed to upgrade!")}
3290try{if(customElements.upgrade(this.mediaController),!(this.mediaController instanceof mY))throw""}catch{_v("<media-controller> failed to upgrade!")}vq(this,_5,Ae).call(this),vq(this,_5,At).call(this),vq(this,_5,Ai).call(this),vV(this,_z,null==(t=null==(e=this.mediaController)?void 0:e.hasAttribute(cH))||t),vq(this,_5,Ar).call(this),null==(i=this.media)||i.addEventListener("streamtypechange",vK(this,_J)),null==(r=this.media)||r.addEventListener("loadstart",vK(this,_0))}},_9=function(){var e,t;try{null==(e=null==window?void 0:window.CSS)||e.registerProperty({name:"--media-primary-color",syntax:"<color>",inherits:!0}),null==(t=null==window?void 0:window.CSS)||t.registerProperty({name:"--media-secondary-color",syntax:"<color>",inherits:!0})}catch{}},_6=function(e){Object.assign(vK(this,_3),e),vq(this,_5,_7).call(this)},_7=function(e={}){var t,i,r,a,s,n,o,l,d,h,u,c,m,f,p,g,v,E,y,b,T,A,S,k,R,L,I,w,D,C,M,x,P,O,N,U,F,B,$,H,G,K,W,V,q,Y,j,Q,z,X;let Z,J,ee,et;t={...vK(this,_3),...e},Z={src:!this.playbackId&&this.src,playbackId:this.playbackId,hasSrc:!!this.playbackId||!!this.src||!!this.currentSrc,poster:this.poster,storyboard:(null==(i=this.media)?void 0:i.currentSrc)&&this.storyboard,storyboardSrc:this.getAttribute(_K.STORYBOARD_SRC),fullscreenElement:this.getAttribute(_K.FULLSCREEN_ELEMENT),placeholder:this.getAttribute("placeholder"),themeTemplate:function(e){var t,i;let r=e.theme;if(r){let a=null==(i=null==(t=e.getRootNode())?void 0:t.getElementById)?void 0:i.call(t,r);
3290if(a&&a instanceof HTMLTemplateElement)return a;r.startsWith("media-theme-")||(r=`media-theme-${r}`);let s=_e.customElements.get(r);if(null!=s&&s.template)return s.template}}(this),thumbnailTime:!this.tokens.thumbnail&&this.thumbnailTime,autoplay:this.autoplay,crossOrigin:this.crossOrigin,loop:this.loop,noHotKeys:this.hasAttribute(_K.NOHOTKEYS),hotKeys:this.getAttribute(_K.HOTKEYS),muted:this.muted,paused:this.paused,preload:this.preload,envKey:this.envKey,preferCmcd:this.preferCmcd,debug:this.debug,disableTracking:this.disableTracking,disableCookies:this.disableCookies,tokens:this.tokens,beaconCollectionDomain:this.beaconCollectionDomain,maxResolution:this.maxResolution,minResolution:this.minResolution,maxAutoResolution:this.maxAutoResolution,programStartTime:this.programStartTime,programEndTime:this.programEndTime,assetStartTime:this.assetStartTime,assetEndTime:this.assetEndTime,renditionOrder:this.renditionOrder,metadata:this.metadata,playerInitTime:this.playerInitTime,playerSoftwareName:this.playerSoftwareName,playerSoftwareVersion:this.playerSoftwareVersion,startTime:this.startTime,initialBandwidthEstimateKbps:this.initialBandwidthEstimateKbps,initialEstimateSegments:this.initialEstimateSegments,minPreloadSegments:this.minPreloadSegments,preferPlayback:this.preferPlayback,audio:this.audio,defaultStreamType:this.defaultStreamType,targetLiveWindow:this.getAttribute(hO.TARGET_LIVE_WINDOW),streamType:_c(this.getAttribute(hO.STREAM_TYPE)),primaryColor:this.getAttribute(_K.PRIMARY_COLOR),secondaryColor:this.getAttribute(_K.SECONDARY_COLOR),accentColor:this.getAttribute(_K.ACCENT_COLOR),forwardSeekOffset:this.forwardSeekOffset,backwardSeekOffset:this.backwardSeekOffset,defaultHiddenCaptions:this.defaultHiddenCaptions,defaultDuration:this.defaultDuration,defaultShowRemainingTime:this.defaultShowRemainingTime,hideDuration:(J=null==(s=this.mediaController)?void 0:s.querySelector("media-time-display"))&&"none"===getComputedStyle(J).getPropertyValue("--media-duration-display-display").trim(),playbackRates:this.getAttribute(_K.PLAYBACK_RATES),customDomain:null!=(r=this.getAttribute(hO.CUSTOM_DOMAIN))?r:void 0,title:this.getAttribute(_K.TITLE),videoTitle:null!=(a=this.getAttribute(_K.VIDEO_TITLE))?a:this.getAttribute(_K.TITLE),novolumepref:this.hasAttribute(_K.NO_VOLUME_PREF),nomutedpref:this.hasAttribute(_K.NO_MUTED_PREF),proudlyDisplayMuxBadge:this.hasAttribute(_K.PROUDLY_DISPLAY_MUX_BADGE),castReceiver:this.castReceiver,disablePseudoEnded:this.hasAttribute(_K.DISABLE_PSEUDO_ENDED),capRenditionToPlayerSize:this.capRenditionToPlayerSize,...t,extraSourceParams:this.extraSourceParams},n=_x` 3291 <style> 3292 ${(e=>{let{tokens:t}=e;return t.drm?":host(:not([cast-receiver])) { --_cast-button-drm-display: none; }":""})(Z)} 3293 ${_k} 3294 </style> 3295 ${l=Z,_x` 3296 <media-theme 3297 template="${l.themeTemplate||!1}" 3298 defaultstreamtype="${null!=(d=l.defaultStreamType)&&d}" 3299 hotkeys="${ee=l.hotKeys?`${l.hotKeys}`:"","live"===_c(l.streamType)&&(ee+=" noarrowleft noarrowright"),ee||!1}" 3300 nohotkeys="${l.noHotKeys||!l.hasSrc||!1}" 3301 noautoseektolive="${!!(null!=(h=l.streamType)&&h.includes(lv.LIVE))&&0!==l.targetLiveWindow}" 3302 novolumepref="${l.novolumepref||!1}" 3303 nomutedpref="${l.nomutedpref||!1}" 3304 disabled="${!l.hasSrc||l.isDialogOpen}" 3305 audio="${null!=(u=l.audio)&&u}" 3306 style="${null!=(X={"--media-primary-color":l.primaryColor,"--media-secondary-color":l.secondaryColor,"--media-accent-color":l.accentColor},et="",Object.entries(X).forEach(([e,t])=>{null!=t&&(et+=`${_i(e)}: ${t}; `)}),c=et?et.trim():void 0)&&c}" 3307 defaultsubtitles="${!l.defaultHiddenCaptions}" 3308 forwardseekoffset="${null!=(m=l.forwardSeekOffset)&&m}" 3309 backwardseekoffset="${null!=(f=l.backwardSeekOffset)&&f}" 3310 playbackrates="${null!=(p=l.playbackRates)&&p}" 3311 defaultshowremainingtime="${null!=(g=l.defaultShowRemainingTime)&&g}" 3312 defaultduration="${null!=(v=l.defaultDuration)&&v}" 3313 hideduration="${null!=(E=l.hideDuration)&&E}" 3314 title="${null!=(y=l.title)&&y}" 3315 videotitle="${null!=(b=l.videoTitle)&&b}" 3316 proudlydisplaymuxbadge="${null!=(T=l.proudlyDisplayMuxBadge)&&T}" 3317 exportparts="${_P}"
3318 onclose="${l.onCloseErrorDialog}" 3319 onfocusin="${l.onFocusInErrorDialog}" 3320 > 3321 <mux-video 3322 slot="media" 3323 inert="${null!=(A=l.noHotKeys)&&A}" 3324 target-live-window="${null!=(S=l.targetLiveWindow)&&S}" 3325 stream-type="${null!=(k=_c(l.streamType))&&k}" 3326 crossorigin="${null!=(R=l.crossOrigin)?R:""}" 3327 playsinline 3328 autoplay="${null!=(L=l.autoplay)&&L}" 3329 muted="${null!=(I=l.muted)&&I}" 3330 loop="${null!=(w=l.loop)&&w}" 3331 preload="${null!=(D=l.preload)&&D}" 3332 debug="${null!=(C=l.debug)&&C}" 3333 prefer-cmcd="${null!=(M=l.preferCmcd)&&M}" 3334 disable-tracking="${null!=(x=l.disableTracking)&&x}" 3335 disable-cookies="${null!=(P=l.disableCookies)&&P}" 3336 prefer-playback="${null!=(O=l.preferPlayback)&&O}" 3337 start-time="${null!=l.startTime&&l.startTime}" 3338 initial-bandwidth-estimate-kbps="${null!=l.initialBandwidthEstimateKbps&&l.initialBandwidthEstimateKbps}" 3339 initial-estimate-segments="${null!=l.initialEstimateSegments&&l.initialEstimateSegments}" 3340 min-preload-segments="${null!=l.minPreloadSegments&&l.minPreloadSegments}" 3341 beacon-collection-domain="${null!=(N=l.beaconCollectionDomain)&&N}" 3342 player-init-time="${null!=(U=l.playerInitTime)&&U}" 3343 player-software-name="${null!=(F=l.playerSoftwareName)&&F}" 3344 player-software-version="${null!=(B=l.playerSoftwareVersion)&&B}" 3345 env-key="${null!=($=l.envKey)&&$}" 3346 custom-domain="${null!=(H=l.customDomain)&&H}" 3347 src="${l.src?l.src:!!l.playbackId&&dU(l)}" 3348 cast-src="${l.src?l.src:!!l.playbackId&&dU(l)}" 3349 cast-receiver="${null!=(G=l.castReceiver)&&G}" 3350 drm-token="${null!=(W=null==(K=l.tokens)?void 0:K.drm)&&W}" 3351 playback-token="${null!=(q=null==(V=l.tokens)?void 0:V.playback)&&q}" 3352 exportparts="video" 3353 disable-pseudo-ended="${null!=(Y=l.disablePseudoEnded)&&Y}" 3354 max-auto-resolution="${null!=(j=l.maxAutoResolution)&&j}" 3355 cap-rendition-to-player-size="${null!=(Q=l.capRenditionToPlayerSize)&&Q}" 3356 > 3357 ${l.storyboard?_x`<track label="thumbnails" default kind="metadata" src="${l.storyboard}" />`:_x``} 3358 <slot></slot> 3359 </mux-video> 3360 <slot name="poster" slot="poster"> 3361 <media-poster-image 3362 part="poster" 3363 exportparts="poster, img" 3364 src="${!!l.poster&&l.poster}" 3365 placeholdersrc="${null!=(z=l.placeholder)&&z}" 3366 ></media-poster-image> 3367 </slot> 3368 </media-theme> 3369`} 3370`,o=this.shadowRoot,n.renderInto(o)},Ae=function(){let e=e=>{var t,i;if(!(null!=e&&e.startsWith("theme-")))return;let r=e.replace(/^theme-/,"");if(_W.includes(r))return;let a=this.getAttribute(e);null!=a?null==(t=this.mediaTheme)||t.setAttribute(r,a):null==(i=this.mediaTheme)||i.removeAttribute(r)};vV(this,_Z,new MutationObserver(t=>{for(let{attributeName:i}of t)e(i)})),vK(this,_Z).observe(this,{attributes:!0}),this.getAttributeNames().forEach(e)},At=function(){this.addEventListener("error",vK(this,_4)),this.media&&(this.media.errorTranslator=(e={})=>{var t,i,r;if(!((null==(t=this.media)?void 0:t.error)instanceof lf))return e;let a=_N(null==(i=this.media)?void 0:i.error,!1);return{player_error_code:null==(r=this.media)?void 0:r.error.code,player_error_message:a.message?String(a.message):e.player_error_message,player_error_context:a.context?String(a.context):e.player_error_context}})},Ai=function(){var e,t,i,r;null==(t=null==(e=this.media)?void 0:e.textTracks)||t.addEventListener("addtrack",vK(this,_1)),null==(r=null==(i=this.media)?void 0:i.textTracks)||r.addEventListener("removetrack",vK(this,_1))},Ar=function(){var e,t;if(!/Firefox/i.test(navigator.userAgent))return;let i,r=new WeakMap,a=()=>this.streamType===lv.LIVE&&!this.secondaryColor&&this.offsetWidth>=800,s=(e,t,i=!1)=>{a()||Array.from(e&&e.activeCues||[]).forEach(e=>{if(!(!e.snapToLines||e.line<-5||e.line>=0&&e.line<10))if(!t||this.paused){let t=e.text.split(` 3371`).length,a=-3;this.streamType===lv.LIVE&&(a=-2);let s=a-t;if(e.line===s&&!i)return;r.has(e)||r.set(e,e.line),e.line=s}else setTimeout(()=>{e.line=r.get(e)||"auto"},500)})},n=()=>{var e,t;s(i,null!=(t=null==(e=this.mediaController)?void 0:e.hasAttribute(cH))&&t)},o=()=>{var e,t;let r=Array.from((null==(t=null==(e=this.mediaController)?void 0:e.media)?void 0:t.textTracks)||[]).filter(e=>["subtitles","captions"].includes(e.kind)&&"showing"===e.mode)[0];r!==i&&(null==i||i.removeEventListener("cuechange",n)),null==(i=r)||i.addEventListener("cuechange",n),s(i,vK(this,_z))};o(),null==(e=this.textTracks)||e.addEventListener("change",o),null==(t=this.textTracks)||t.addEventListener("addtrack",o);let l=()=>{var e,t;let r=null==(t=null==(e=this.mediaController)?void 0:e.hasAttribute(cH))||t;vK(this,_z)!==r&&(vV(this,_z,r),s(i,vK(this,_z)))};this.addEventListener("userinactivechange",l),vV(this,_2,()=>{var e,t;null==i||i.removeEventListener("cuechange",n),null==(e=this.textTracks)||e.removeEventListener("change",o),null==(t=this.textTracks)||t.removeEventListener("addtrack",o),this.removeEventListener("userinactivechange",l)})};var Ac=e=>{throw TypeError(e)},Am=(e,t,i)=>t.has(e)||Ac("Cannot "+i),Af=class{addEventListener(){}removeEventListener(){}dispatchEvent(e){return!0}};"u"<typeof DocumentFragment&&(globalThis.DocumentFragment=class extends Af{});var Ap,Ag=class extends Af{},Av=class{constructor(e,t={}){((e,t,i)=>t.has(e)?Ac("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,i))(this,Ap),((e,t,i,r)=>(Am(e,t,"write to private field"),r?r.call(e,i):t.set(e,i)))(this,Ap,null==t?void 0:t.detail)}get detail(){let e,t;return Am(this,e=Ap,"read from private field"),t?t.call(this):e.get(this)}initCustomEvent(){}};Ap=new WeakMap;var AE={document:{createElement:function(e,t){return new Ag}},DocumentFragment,customElements:{get(e){},define(e,t,i){},getName:e=>null,upgrade(e){},whenDefined:e=>Promise.resolve(Ag)},CustomEvent:Av,EventTarget:Af,HTMLElement:Ag,HTMLVideoElement:class extends Af{}},Ay="u"<typeof window||void 0===globalThis.customElements,Ab=Ay?AE:globalThis;Ay&&AE.document,Ab.customElements.get("mux-player")||(Ab.customElements.define("mux-player",Ah),Ab.MuxPlayerElement=Ah),e.s([],379972)}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.