PageSourceSearch

https://www.epicproduct.engineer/_next/static/chunks/0yj836335la1e.js?dpl=dpl_jRTWtxWm4WcezAkVgKd14tSeJ4eP

js epicproduct.engineer collected 2026-10-02 15:10:54 UTC 1,046,705 bytes, 3,371 lines download raw bytes

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,"&quot;")+'"')}),t.length?" "+t.join(" "):""}function a(e){var t="";return"string"==typeof e?t=e:e&&(t=e.toString()),t.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}}),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&&lt(o=t.audioTracks.filter(e=>!e.audioCodec||this.isAudioSupported(e.audioCodec))),t.subtitles&&lt(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">&nbsp;</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="&nbsp;/&nbsp;",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.