1import{a as Tg}from"./chunk-A2UIGNRO.js";import{a as Sg}from"./chunk-KAOKVV5R.js";import{a as bg}from"./chunk-NGDIZ44Q.js";import"./chunk-7BVJWOIF.js";import{a as hg,c as fg}from"./chunk-2ESBA2HT.js";import{a as ug}from"./chunk-SHQB3UD4.js";import{a as lg,b as Ha}from"./chunk-FC2W2UNJ.js";import{a as dg,c as Mr}from"./chunk-ET2GMN4E.js";import{a as cg}from"./chunk-PRDXIHR3.js";import{a as vg,b as _g,c as yg}from"./chunk-I2O7RP7M.js";import{a as mg,b as gg}from"./chunk-F6AFCBWG.js";import{a as pg}from"./chunk-FJEMTYYI.js";import{a as Ym}from"./chunk-SNFOHDMG.js";import{b as Jm,i as eg,j as ig,k as rg,l as sg,m as og,o as ag}from"./chunk-3RONUK76.js";import"./chunk-YXPG7Q54.js";import{a as Ba}from"./chunk-QALSYVC5.js";import{b as Lr}from"./chunk-5TJMHO2P.js";import"./chunk-C7GLYUWV.js";import"./chunk-JAXFJP2A.js";import{e as Qm,f as Zm,g as ng}from"./chunk-CWUQX4KS.js";import"./chunk-TYCRGRFC.js";import"./chunk-KR75J277.js";import"./chunk-YP6KUALF.js";import"./chunk-J7TGSV4W.js";import"./chunk-UHBGAIAW.js";import{a as Va}from"./chunk-3UAOXEML.js";import"./chunk-ISPZLSDY.js";import{a as qm}from"./chunk-TSBVCWNO.js";import{a as Wm}from"./chunk-HCOVIKEG.js";import{a as Eg}from"./chunk-U7RK7SHL.js";import"./chunk-IX3O722V.js";import"./chunk-TOB7BOBF.js";import"./chunk-CY72NAYG.js";import{a as tg}from"./chunk-B54D7DBX.js";import"./chunk-P65676NF.js";import{a as Ua}from"./chunk-ACJ766AO.js";import{a as Gm}from"./chunk-JIPSI355.js";import"./chunk-5NHRZFR2.js";import"./chunk-2VLO7IUV.js";import{a as Xm,c as Or}from"./chunk-4XJDRKBB.js";import"./chunk-64C5HA2W.js";import{a as Hm,b as $m}from"./chunk-6LWPARJG.js";import"./chunk-4NOY2SEG.js";import{a as Km}from"./chunk-E3VKJGR6.js";import"./chunk-F2VUA43J.js";import"./chunk-XWEPMJ3T.js";import"./chunk-EI63FXTG.js";import{a as kr}from"./chunk-FQESUDYO.js";import"./chunk-5YJYFBDZ.js";import"./chunk-IYR54BWR.js";import{B as Un,b as Tm,i as Em,j as Sm,k as Pa,m as ka,n as Oa,r as Cm,z as wm}from"./chunk-6HQOC3NZ.js";import{a as Pi}from"./chunk-TWNEJJXV.js";import"./chunk-NOO2Z42A.js";import{b as bm,c as zm}from"./chunk-URYHHNB7.js";import{A as fm,c as lm,d as ya,f as Ar,g as dm,k as ba,l as um,o as cm,r as hm,z as Ir}from"./chunk-42MBDQ2K.js";import{$ as Ws,$b as ma,Ab as ht,Ba as Yp,Bb as fi,Bd as mm,Bf as Rm,Ca as z,Ce as ym,Da as ye,Dd as Xs,De as Ra,E as Hp,Eb as ha,Fb as fa,Ff as Pm,Gb as pa,Gf as hn,H as $p,Hd as Ca,Ib as mt,If as km,Jb as qs,Kb as ze,Kd as nr,Kf as Om,La as Xp,Lb as ou,Lf as Da,Md as di,Mf as Lm,Nf as Mm,Oa as Se,Of as Na,Q as Gp,Qf as Rr,R as Nn,Ra as un,Re as Hn,Sa as J,Sb as cn,Se as Js,Ta as Qp,Tb as Ks,Te as Ne,Ua as Jp,Ub as Ys,Ue as Zs,Uf as Dm,Vf as Nm,Wb as ji,Xf as Pr,Y as Wp,Ya as qi,Yd as Vn,Zc as va,Zd as Bn,_d as wa,_f as jm,ab as q,ad as _a,ba as pt,bb as W,bd as xr,c as ua,cb as Oe,ce as xa,da as ca,db as Ut,de as gm,eb as Lt,fb as Zp,fg as ui,gb as et,gg as Fm,hd as Ta,he as Qs,hg as Qi,ib as em,id as pm,ig as Vm,j as Gs,jb as tm,jc as rm,jf as xm,ka as Xt,kb as ve,ke as Aa,la as ce,lb as Ki,m as ir,ma as he,mb as Yi,mc as sm,mg as Jt,nb as zs,nd as Ea,nf as La,ng as ja,ob as Pe,og as Bm,pb as ie,pc as Qt,pe as Ia,qb as im,qc as bi,qf as Am,qg as Fa,r as Up,rb as nm,rc as bt,rd as Fn,rf as Ma,rg as Um,sa as ct,se as vm,sf as Im,sg as $n,ta as zp,te as au,ua as qp,ue as _m,ug as Ri,vb as $t,vc as om,wb as Gt,wc as am,xb as Wt,xd as Sa,ya as jn,yb as Xi,yc as ga,za as Kp,zb as De}from"./chunk-YAKOHBKS.js";import"./chunk-YGU4M3RX.js";import"./chunk-GKZQLNZU.js";import{b as GE,c as WE}from"./chunk-IDS5UTKW.js";import{a as we,b as Le,e as ut,g as Ve,h as $E,j as F,k as Ie}from"./chunk-STIWQO2H.js";var to=ut((Wj,kg)=>{"use strict";var eo;typeof window<"u"?eo=window:typeof global<"u"?eo=global:typeof self<"u"?eo=self:eo={};kg.exports=eo;});var lu=ut((zj,Lg)=>{"use strict";var Og=Array.prototype.slice;Lg.exports=VC;function VC(s,e){for(("length"in s)||(s=[s]),s=Og.call(s);s.length;){var t=s.shift(),i=e(t);if(i)return i;t.childNodes&&t.childNodes.length&&(s=Og.call(t.childNodes).concat(s));}}});var Dg=ut((qj,Mg)=>{"use strict";Mg.exports=Yr;function Yr(s,e){if(!(this instanceof Yr))return new Yr(s,e);this.data=s,this.nodeValue=s,this.length=s.length,this.ownerDocument=e||null;}Yr.prototype.nodeType=8;Yr.prototype.nodeName="#comment";Yr.prototype.toString=function(){return"[object Comment]";};});var jg=ut((Kj,Ng)=>{"use strict";Ng.exports=Gn;function Gn(s,e){if(!(this instanceof Gn))return new Gn(s);this.data=s||"",this.length=this.data.length,this.ownerDocument=e||null;}Gn.prototype.type="DOMTextNode";Gn.prototype.nodeType=3;Gn.prototype.nodeName="#text";Gn.prototype.toString=function(){return this.data;};Gn.prototype.replaceData=function(e,t,i){var n=this.data,r=n.substring(0,e),o=n.substring(e+t,n.length);this.data=r+i+o,this.length=this.data.length;};});var du=ut((Yj,Fg)=>{"use strict";Fg.exports=BC;function BC(s){var e=this,t=s.type;s.target||(s.target=e),e.listeners||(e.listeners={});var i=e.listeners[t];
1if(i)return i.forEach(function(n){s.currentTarget=e,typeof n=="function"?n(s):n.handleEvent(s);});e.parentNode&&e.parentNode.dispatchEvent(s);}});var uu=ut((Xj,Vg)=>{"use strict";Vg.exports=UC;function UC(s,e){var t=this;t.listeners||(t.listeners={}),t.listeners[s]||(t.listeners[s]=[]),t.listeners[s].indexOf(e)===-1&&t.listeners[s].push(e);}});var cu=ut((Qj,Bg)=>{"use strict";Bg.exports=HC;function HC(s,e){var t=this;if(t.listeners&&t.listeners[s]){var i=t.listeners[s],n=i.indexOf(e);n!==-1&&i.splice(n,1);}}});var Gg=ut((Jj,$g)=>{"use strict";$g.exports=Ug;var $C=["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];function Ug(s){switch(s.nodeType){case 3:return hu(s.data);case 8:return"<!--"+s.data+"-->";default:return GC(s);}}function GC(s){var e=[],t=s.tagName;return s.namespaceURI==="http://www.w3.org/1999/xhtml"&&(t=t.toLowerCase()),e.push("<"+t+KC(s)+qC(s)),$C.indexOf(t)>-1?e.push(" />"):(e.push(">"),s.childNodes.length?e.push.apply(e,s.childNodes.map(Ug)):s.textContent||s.innerText?e.push(hu(s.textContent||s.innerText)):s.innerHTML&&e.push(s.innerHTML),e.push("</"+t+">")),e.join("");}function WC(s,e){var t=typeof s[e];return e==="style"&&Object.keys(s.style).length>0?!0:s.hasOwnProperty(e)&&(t==="string"||t==="boolean"||t==="number")&&e!=="nodeName"&&e!=="className"&&e!=="tagName"&&e!=="textContent"&&e!=="innerText"&&e!=="namespaceURI"&&e!=="innerHTML";}function zC(s){if(typeof s=="string")return s;var e="";return Object.keys(s).forEach(function(t){var i=s[t];t=t.replace(/[A-Z]/g,function(n){return"-"+n.toLowerCase();}),e+=t+":"+i+";";}),e;}function qC(s){var e=s.dataset,t=[];for(var i in e)t.push({name:"data-"+i,value:e[i]});return t.length?Hg(t):"";}function Hg(s){var e=[];return s.forEach(function(t){var i=t.name,n=t.value;i==="style"&&(n=zC(n)),e.push(i+'="'+YC(n)+'"');}),e.length?" "+e.join(" "):"";}function KC(s){var e=[];for(var t in s)WC(s,t)&&e.push({name:t,value:s[t]});for(var i in s._attributes)for(var n in s._attributes[i]){var r=s._attributes[i][n],o=(r.prefix?r.prefix+":":"")+n;e.push({name:o,value:r.value});}return s.className&&e.push({name:"class",value:s.className}),e.length?Hg(e):"";}function hu(s){var e="";return typeof s=="string"?e=s:s&&(e=s.toString()),e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">");}function YC(s){return hu(s).replace(/"/g,""");}});var pu=ut((Zj,zg)=>{"use strict";var fu=lu(),XC=du(),QC=uu(),JC=cu(),ZC=Gg(),Wg="http://www.w3.org/1999/xhtml";zg.exports=Ct;function Ct(s,e,t){if(!(this instanceof Ct))return new Ct(s);var i=t===void 0?Wg:t||null;this.tagName=i===Wg?String(s).toUpperCase():s,this.nodeName=this.tagName,this.className="",this.dataset={},this.childNodes=[],this.parentNode=null,this.style={},this.ownerDocument=e||null,this.namespaceURI=i,this._attributes={},this.tagName==="INPUT"&&(this.type="text");}Ct.prototype.type="DOMElement";Ct.prototype.nodeType=1;Ct.prototype.appendChild=function(e){return e.parentNode&&e.parentNode.removeChild(e),this.childNodes.push(e),e.parentNode=this,e;};Ct.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;};Ct.prototype.removeChild=function(e){var t=this.childNodes.indexOf(e);return this.childNodes.splice(t,1),e.parentNode=null,e;};Ct.prototype.insertBefore=function(e,t){e.parentNode&&e.parentNode.removeChild(e);var i=t==null?-1:this.childNodes.indexOf(t);return i>-1?this.childNodes.splice(i,0,e):this.childNodes.push(e),e.parentNode=this,e;};Ct.prototype.setAttributeNS=function(e,t,i){var n=null,r=t,o=t.indexOf(":");if(o>-1&&(n=t.substr(0,o),r=t.substr(o+1)),this.tagName==="INPUT"&&t==="type")this.type=i;else{var a=this._attributes[e]||(this._attributes[e]={});a[r]={value:i,prefix:n};}};Ct.prototype.getAttributeNS=function(e,t){var i=this._attributes[e],n=i&&i[t]&&i[t].value;return this.tagName==="INPUT"&&t==="type"?this.type:typeof n!="string"?null:n;};Ct.prototype.removeAttributeNS=function(e,t){var i=this._attributes[e];i&&delete i[t];};Ct.prototype.hasAttributeNS=function(e,t){var i=this._attributes[e];return!!i&&t in i;};Ct.prototype.setAttribute=function(e,t){return this.setAttributeNS(null,e,t);};Ct.prototype.getAttribute=function(e){return this.getAttributeNS(null,e);};Ct.prototype.removeAttribute=function(e){return this.removeAttributeNS(null,e);};Ct.prototype.hasAttribute=function(e){return this.hasAttributeNS(null,e);};Ct.prototype.removeEventListener=JC;Ct.prototype.addEventListener=QC;Ct.prototype.dispatchEvent=XC;
1Ct.prototype.focus=function(){};Ct.prototype.toString=function(){return ZC(this);};Ct.prototype.getElementsByClassName=function(e){var t=e.split(" "),i=[];return fu(this,function(n){if(n.nodeType===1){var r=n.className||"",o=r.split(" ");t.every(function(a){return o.indexOf(a)!==-1;})&&i.push(n);}}),i;};Ct.prototype.getElementsByTagName=function(e){e=e.toLowerCase();var t=[];return fu(this.childNodes,function(i){i.nodeType===1&&(e==="*"||i.tagName.toLowerCase()===e)&&t.push(i);}),t;};Ct.prototype.contains=function(e){return fu(this,function(t){return e===t;})||!1;};});var Kg=ut((e2,qg)=>{"use strict";var mu=pu();qg.exports=Ji;function Ji(s){if(!(this instanceof Ji))return new Ji();this.childNodes=[],this.parentNode=null,this.ownerDocument=s||null;}Ji.prototype.type="DocumentFragment";Ji.prototype.nodeType=11;Ji.prototype.nodeName="#document-fragment";Ji.prototype.appendChild=mu.prototype.appendChild;Ji.prototype.replaceChild=mu.prototype.replaceChild;Ji.prototype.removeChild=mu.prototype.removeChild;Ji.prototype.toString=function(){return this.childNodes.map(function(e){return String(e);}).join("");};});var Xg=ut((t2,Yg)=>{"use strict";Yg.exports=gu;function gu(s){}gu.prototype.initEvent=function(e,t,i){this.type=e,this.bubbles=t,this.cancelable=i;};gu.prototype.preventDefault=function(){};});var Jg=ut((i2,Qg)=>{"use strict";var ew=lu(),tw=Dg(),iw=jg(),io=pu(),nw=Kg(),rw=Xg(),sw=du(),ow=uu(),aw=cu();Qg.exports=il;function il(){if(!(this instanceof il))return new il();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;}var xi=il.prototype;xi.createTextNode=function(e){return new iw(e,this);};xi.createElementNS=function(e,t){var i=e===null?null:String(e);return new io(t,this,i);};xi.createElement=function(e){return new io(e,this);};xi.createDocumentFragment=function(){return new nw(this);};xi.createEvent=function(e){return new rw(e);};xi.createComment=function(e){return new tw(e,this);};xi.getElementById=function(e){e=String(e);var t=ew(this.childNodes,function(i){if(String(i.id)===e)return i;});return t||null;};xi.getElementsByClassName=io.prototype.getElementsByClassName;xi.getElementsByTagName=io.prototype.getElementsByTagName;xi.contains=io.prototype.contains;xi.removeEventListener=aw;xi.addEventListener=ow;xi.dispatchEvent=sw;});var ev=ut((n2,Zg)=>{"use strict";var lw=Jg();Zg.exports=new lw();});var vu=ut((r2,iv)=>{"use strict";var tv=typeof global<"u"?global:typeof window<"u"?window:{},dw=ev(),no;typeof document<"u"?no=document:(no=tv["__GLOBAL_DOCUMENT_CACHE@4"],no||(no=tv["__GLOBAL_DOCUMENT_CACHE@4"]=dw));iv.exports=no;});var yu=ut((s2,pn)=>{"use strict";function _u(){return pn.exports=_u=Object.assign?Object.assign.bind():function(s){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)({}).hasOwnProperty.call(t,i)&&(s[i]=t[i]);}return s;},pn.exports.__esModule=!0,pn.exports.default=pn.exports,_u.apply(null,arguments);}pn.exports=_u,pn.exports.__esModule=!0,pn.exports.default=pn.exports;});var ov=ut((or,sv)=>{"use strict";function nv(s){if(s&&typeof s=="object"){var e=s.which||s.keyCode||s.charCode;e&&(s=e);}if(typeof s=="number")return rv[s];var t=String(s),i=mn[t.toLowerCase()];if(i)return i;var i=nl[t.toLowerCase()];if(i)return i;if(t.length===1)return t.charCodeAt(0);}nv.isEventKey=function(e,t){if(e&&typeof e=="object"){var i=e.which||e.keyCode||e.charCode;if(i==null)return!1;if(typeof t=="string"){var n=mn[t.toLowerCase()];if(n)return n===i;var n=nl[t.toLowerCase()];if(n)return n===i;}else if(typeof t=="number")return t===i;return!1;}};or=sv.exports=nv;var mn=or.code=or.codes={backspace:8,tab:9,enter:13,shift:16,ctrl:17,alt:18,"pause/break":19,"caps lock":20,esc:27,space:32,"page up":33,"page down":34,end:35,home:36,left:37,up:38,right:39,down:40,insert:45,delete:46,command:91,"left command":91,"right command":93,"numpad *":106,"numpad +":107,"numpad -":109,"numpad .":110,"numpad /":111,"num lock":144,"scroll lock":145,"my computer":182,"my calculator":183,";":186,"=":187,",":188,"-":189,".":190,"/":191,"`":192,"[":219,"\\":220,"]":221,"'":222},nl=or.aliases={windows:91,"\u21E7":16,"\u2325":18,"\u2303":17,"\u2318":91,ctl:17,control:17,option:18,pause:19,break:19,caps:20,return:13,escape:27,spc:32,spacebar:32,pgup:33,pgdn:34,ins:45,del:46,cmd:91};for(Mt=97;Mt<123;Mt++)mn[String.fromCharCode(Mt)]=Mt-32;for(Mt=48;Mt<58;Mt++)mn[Mt-48]=Mt;var Mt;
1for(Mt=1;Mt<13;Mt++)mn["f"+Mt]=Mt+111;for(Mt=0;Mt<10;Mt++)mn["numpad "+Mt]=Mt+96;var rv=or.names=or.title={};for(Mt in mn)rv[mn[Mt]]=Mt;for(bu in nl)mn[bu]=nl[bu];var bu;});var av=ut((o2,ro)=>{"use strict";function uw(s){if(s===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return s;}ro.exports=uw,ro.exports.__esModule=!0,ro.exports.default=ro.exports;});var rl=ut((a2,gn)=>{"use strict";function Tu(s,e){return gn.exports=Tu=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,i){return t.__proto__=i,t;},gn.exports.__esModule=!0,gn.exports.default=gn.exports,Tu(s,e);}gn.exports=Tu,gn.exports.__esModule=!0,gn.exports.default=gn.exports;});var lv=ut((l2,so)=>{"use strict";var cw=rl();function hw(s,e){s.prototype=Object.create(e.prototype),s.prototype.constructor=s,cw(s,e);}so.exports=hw,so.exports.__esModule=!0,so.exports.default=so.exports;});var uv=ut((d2,dv)=>{"use strict";dv.exports=fw;function fw(s,e){var t,i=null;try{t=JSON.parse(s,e);}catch(n){i=n;}return[i,t];}});var hv=ut((u2,cv)=>{"use strict";cv.exports=mw;var pw=Object.prototype.toString;function mw(s){if(!s)return!1;var e=pw.call(s);return e==="[object Function]"||typeof s=="function"&&e!=="[object RegExp]"||typeof window<"u"&&(s===window.setTimeout||s===window.alert||s===window.confirm||s===window.prompt);}});var pv=ut((c2,fv)=>{"use strict";var gw=to(),vw=function(e,t){return t===void 0&&(t=!1),function(i,n,r){if(i){e(i);return;}if(n.statusCode>=400&&n.statusCode<=599){var o=r;if(t)if(gw.TextDecoder){var a=_w(n.headers&&n.headers["content-type"]);try{o=new TextDecoder(a).decode(r);}catch{}}else o=String.fromCharCode.apply(null,new Uint8Array(r));e({cause:o});return;}e(null,r);};};function _w(s){return s===void 0&&(s=""),s.toLowerCase().split(";").reduce(function(e,t){var i=t.split("="),n=i[0],r=i[1];return n.trim()==="charset"?r.trim():e;},"utf-8");}fv.exports=vw;});var _v=ut((h2,Eu)=>{"use strict";var mv=to(),yw=yu(),bw=hv();Zi.httpHandler=pv();var Tw=function(e){var t={};return e&&e.trim().split(` 2`).forEach(function(i){var n=i.indexOf(":"),r=i.slice(0,n).trim().toLowerCase(),o=i.slice(n+1).trim();typeof t[r]>"u"?t[r]=o:Array.isArray(t[r])?t[r].push(o):t[r]=[t[r],o];}),t;};Eu.exports=Zi;Eu.exports.default=Zi;Zi.XMLHttpRequest=mv.XMLHttpRequest||ww;Zi.XDomainRequest="withCredentials"in new Zi.XMLHttpRequest()?Zi.XMLHttpRequest:mv.XDomainRequest;Ew(["get","put","post","patch","head","delete"],function(s){Zi[s==="delete"?"del":s]=function(e,t,i){return t=gv(e,t,i),t.method=s.toUpperCase(),vv(t);};});function Ew(s,e){for(var t=0;t<s.length;t++)e(s[t]);}function Sw(s){for(var e in s)if(s.hasOwnProperty(e))return!1;return!0;}function gv(s,e,t){var i=s;return bw(e)?(t=e,typeof s=="string"&&(i={uri:s})):i=yw({},e,{uri:s}),i.callback=t,i;}function Zi(s,e,t){return e=gv(s,e,t),vv(e);}function vv(s){if(typeof s.callback>"u")throw new Error("callback argument missing");var e=!1,t=function(S,P,R){e||(e=!0,s.callback(S,P,R));};function i(){a.readyState===4&&setTimeout(o,0);}function n(){var T=void 0;if(a.response?T=a.response:T=a.responseText||Cw(a),g)try{T=JSON.parse(T);}catch{}return T;}function r(T){return clearTimeout(m),T instanceof Error||(T=new Error(""+(T||"Unknown XMLHttpRequest Error"))),T.statusCode=0,t(T,b);}function o(){if(!d){var T;clearTimeout(m),s.useXDR&&a.status===void 0?T=200:T=a.status===1223?204:a.status;var S=b,P=null;return T!==0?(S={body:n(),statusCode:T,method:c,headers:{},url:u,rawRequest:a},a.getAllResponseHeaders&&(S.headers=Tw(a.getAllResponseHeaders()))):P=new Error("Internal XMLHttpRequest Error"),t(P,S,S.body);}}var a=s.xhr||null;a||(s.cors||s.useXDR?a=new Zi.XDomainRequest():a=new Zi.XMLHttpRequest());var l,d,u=a.url=s.uri||s.url,c=a.method=s.method||"GET",h=s.body||s.data,f=a.headers=s.headers||{},p=!!s.sync,g=!1,m,b={body:void 0,headers:{},statusCode:0,method:c,url:u,rawRequest:a};if("json"in s&&s.json!==!1&&(g=!0,f.accept||f.Accept||(f.Accept="application/json"),c!=="GET"&&c!=="HEAD"&&(f["content-type"]||f["Content-Type"]||(f["Content-Type"]="application/json"),h=JSON.stringify(s.json===!0?h:s.json))),a.onreadystatechange=i,a.onload=o,a.onerror=r,a.onprogress=function(){},a.onabort=function(){d=!0;},a.ontimeout=r,a.open(c,u,!p,s.username,s.password),p||(a.withCredentials=!!s.withCredentials),!p&&s.timeout>0&&(m=setTimeout(function(){if(!d){d=!0,a.abort("timeout");var T=new Error("XMLHttpRequest timeout");T.code="ETIMEDOUT",r(T);}},s.timeout)),a.setRequestHeader)for(l in f)f.hasOwnProperty(l)&&a.setRequestHeader(l,f[l]);else if(s.headers&&!Sw(s.headers))throw new Error("Headers cannot be set on an XDomainRequest object");return"responseType"in s&&(a.responseType=s.responseType),"beforeSend"in s&&typeof s.beforeSend=="function"&&s.beforeSend(a),a.send(h||null),a;}function Cw(s){try{if(s.responseType==="document")return s.responseXML;var e=s.responseXML&&s.responseXML.documentElement.nodeName==="parsererror";if(s.responseType===""&&!e)return s.responseXML;}catch{}return null;}function ww(){}});var wv=ut((f2,Cv)=>{"use strict";var yv=vu(),Cu=Object.create||function(){function s(){}return function(e){if(arguments.length!==1)throw new Error("Object.create shim only accepts one parameter.");return s.prototype=e,new s();};}();
2function Ai(s,e){this.name="ParsingError",this.code=s.code,this.message=e||s.message;}Ai.prototype=Cu(Error.prototype);Ai.prototype.constructor=Ai;Ai.Errors={BadSignature:{code:0,message:"Malformed WebVTT signature."},BadTimeStamp:{code:1,message:"Malformed time stamp."}};function wu(s){function e(i,n,r,o){return(i|0)*3600+(n|0)*60+(r|0)+(o|0)/1e3;}var t=s.match(/^(\d+):(\d{1,2})(:\d{1,2})?\.(\d{3})/);return t?t[3]?e(t[1],t[2],t[3].replace(":",""),t[4]):t[1]>59?e(t[1],t[2],0,t[4]):e(0,t[1],t[2],t[4]):null;}function ao(){this.values=Cu(null);}ao.prototype={set:function(s,e){!this.get(s)&&e!==""&&(this.values[s]=e);},get:function(s,e,t){return t?this.has(s)?this.values[s]:e[t]:this.has(s)?this.values[s]:e;},has:function(s){return s in this.values;},alt:function(s,e,t){for(var i=0;i<t.length;++i)if(e===t[i]){this.set(s,e);break;}},integer:function(s,e){/^-?\d+$/.test(e)&&this.set(s,parseInt(e,10));},percent:function(s,e){var t;return(t=e.match(/^([\d]{1,3})(\.[\d]*)?%$/))&&(e=parseFloat(e),e>=0&&e<=100)?(this.set(s,e),!0):!1;}};function oo(s,e,t,i){var n=i?s.split(i):[s];for(var r in n)if(typeof n[r]=="string"){var o=n[r].split(t);if(o.length===2){var a=o[0].trim(),l=o[1].trim();e(a,l);}}}function xw(s,e,t){var i=s;function n(){var a=wu(s);if(a===null)throw new Ai(Ai.Errors.BadTimeStamp,"Malformed timestamp: "+i);return s=s.replace(/^[^\sa-zA-Z-]+/,""),a;}function r(a,l){var d=new ao();oo(a,function(u,c){switch(u){case"region":for(var h=t.length-1;h>=0;h--)if(t[h].id===c){d.set(u,t[h].region);break;}break;case"vertical":d.alt(u,c,["rl","lr"]);break;case"line":var f=c.split(","),p=f[0];d.integer(u,p),d.percent(u,p)&&d.set("snapToLines",!1),d.alt(u,p,["auto"]),f.length===2&&d.alt("lineAlign",f[1],["start","center","end"]);break;case"position":f=c.split(","),d.percent(u,f[0]),f.length===2&&d.alt("positionAlign",f[1],["start","center","end"]);break;case"size":d.percent(u,c);break;case"align":d.alt(u,c,["start","center","end","left","right"]);break;}},/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");try{l.line=d.get("line","auto");}catch{}l.lineAlign=d.get("lineAlign","start"),l.snapToLines=d.get("snapToLines",!0),l.size=d.get("size",100);try{l.align=d.get("align","center");}catch{l.align=d.get("align","middle");}try{l.position=d.get("position","auto");}catch{l.position=d.get("position",{start:0,left:0,center:50,middle:50,end:100,right:100},l.align);}l.positionAlign=d.get("positionAlign",{start:"start",left:"start",center:"center",middle:"center",end:"end",right:"end"},l.align);}function o(){s=s.replace(/^\s+/,"");}if(o(),e.startTime=n(),o(),s.substr(0,3)!=="-->")throw new Ai(Ai.Errors.BadTimeStamp,"Malformed time stamp (time stamps must be separated by '-->'): "+i);s=s.substr(3),o(),e.endTime=n(),o(),r(s,e);}var Su=yv.createElement&&yv.createElement("textarea"),Aw={c:"span",i:"i",b:"b",u:"u",ruby:"ruby",rt:"rt",v:"span",lang:"span"},bv={white:"rgba(255,255,255,1)",lime:"rgba(0,255,0,1)",cyan:"rgba(0,255,255,1)",red:"rgba(255,0,0,1)",yellow:"rgba(255,255,0,1)",magenta:"rgba(255,0,255,1)",blue:"rgba(0,0,255,1)",black:"rgba(0,0,0,1)"},Iw={v:"title",lang:"lang"},Tv={rt:"ruby"};function Sv(s,e){function t(){if(!e)return null;function p(m){return e=e.substr(m.length),m;}var g=e.match(/^([^<]*)(<[^>]*>?)?/);return p(g[1]?g[1]:g[2]);}function i(p){return Su.innerHTML=p,p=Su.textContent,Su.textContent="",p;}function n(p,g){return!Tv[g.localName]||Tv[g.localName]===p.localName;}function r(p,g){var m=Aw[p];if(!m)return null;var b=s.document.createElement(m),T=Iw[p];return T&&g&&(b[T]=g.trim()),b;}for(var o=s.document.createElement("div"),a=o,l,d=[];(l=t())!==null;){if(l[0]==="<"){if(l[1]==="/"){d.length&&d[d.length-1]===l.substr(2).replace(">","")&&(d.pop(),a=a.parentNode);continue;}var u=wu(l.substr(1,l.length-2)),c;if(u){c=s.document.createProcessingInstruction("timestamp",u),a.appendChild(c);continue;}var h=l.match(/^<([^.\s/0-9>]+)(\.[^\s\\>]+)?([^>\\]+)?(\\?)>?$/);if(!h||(c=r(h[1],h[3]),!c)||!n(a,c))continue;if(h[2]){var f=h[2].split(".");f.forEach(function(p){var g=/^bg_/.test(p),m=g?p.slice(3):p;if(bv.hasOwnProperty(m)){var b=g?"background-color":"color",T=bv[m];c.style[b]=T;}}),c.className=f.join(" ");}d.push(h[1]),a.appendChild(c),a=c;continue;}a.appendChild(s.document.createTextNode(i(l)));}return o;}var Ev=[[1470,1470],[1472,1472],[1475,1475],[1478,1478],[1488,1514],[1520,1524],[1544,1544],[1547,1547],[1549,1549],[1563,1563],[1566,1610],[1645,1647],[1649,1749],[1765,1766],[1774,1775],[1786,1805],[1807,1808],[1810,1839],[1869,1957],[1969,1969],[1984,2026],[2036,2037],[2042,2042],[2048,2069],[2074,2074],[2084,2084],[2088,2088],[2096,2110],[2112,2136],[2142,2142],[2208,2208],[2210,2220],[8207,8207],[64285,64285],[64287,64296],[64298,64310],[64312,64316],[64318,64318],[64320,64321],[64323,64324],[64326,64449],[64467,64829],[64848,64911],[64914,64967],[65008,65020],[65136,65140],[65142,65276],[67584,67589],[67592,67592],[67594,67637],[67639,67640],[67644,67644],[67647,67669],[67671,67679],[67840,67867],[67872,67897],[67903,67903],[67968,68023],[68030,68031],[68096,68096],[68112,68115],[68117,68119],[68121,68147],[68160,68167],[68176,68184],[68192,68223],[68352,68405],[68416,68437],[68440,68466],[68472,68479],[68608,68680],[126464,126467],[126469,126495],[126497,126498],[126500,126500],[126503,126503],[126505,126514],[126516,126519],[126521,126521],[126523,126523],[126530,126530],[126535,126535],[126537,126537],[126539,126539],[126541,126543],[126545,126546],[126548,126548],[126551,126551
vendor: 8,456 bytes, lines 2-4
2],[126553,126553],[126555,126555],[126557,126557],[126559,126559],[126561,126562],[126564,126564],[126567,126570],[126572,126578],[126580,126583],[126585,126588],[126590,126590],[126592,126601],[126603,126619],[126625,126627],[126629,126633],[126635,126651],[1114109,1114109]];function Rw(s){for(var e=0;e<Ev.length;e++){var t=Ev[e];if(s>=t[0]&&s<=t[1])return!0;}return!1;}function Pw(s){var e=[],t="",i;if(!s||!s.childNodes)return"ltr";function n(a,l){for(var d=l.childNodes.length-1;d>=0;d--)a.push(l.childNodes[d]);}function r(a){if(!a||!a.length)return null;var l=a.pop(),d=l.textContent||l.innerText;if(d){var u=d.match(/^.*(\n|\r)/);return u?(a.length=0,u[0]):d;}if(l.tagName==="ruby")return r(a);if(l.childNodes)return n(a,l),r(a);}for(n(e,s);t=r(e);)for(var o=0;o<t.length;o++)if(i=t.charCodeAt(o),Rw(i))return"rtl";return"ltr";}function kw(s){if(typeof s.line=="number"&&(s.snapToLines||s.line>=0&&s.line<=100))return s.line;if(!s.track||!s.track.textTrackList||!s.track.textTrackList.mediaElement)return-1;for(var e=s.track,t=e.textTrackList,i=0,n=0;n<t.length&&t[n]!==e;n++)t[n].mode==="showing"&&i++;return++i*-1;}function ol(){}ol.prototype.applyStyles=function(s,e){e=e||this.div;for(var t in s)s.hasOwnProperty(t)&&(e.style[t]=s[t]);};ol.prototype.formatStyle=function(s,e){return s===0?0:s+e;};function sl(s,e,t){ol.call(this),this.cue=e,this.cueDiv=Sv(s,e.text);var i={color:"rgba(255, 255, 255, 1)",backgroundColor:"rgba(0, 0, 0, 0.8)",position:"relative",left:0,right:0,top:0,bottom:0,display:"inline",writingMode:e.vertical===""?"horizontal-tb":e.vertical==="lr"?"vertical-lr":"vertical-rl",unicodeBidi:"plaintext"};this.applyStyles(i,this.cueDiv),this.div=s.document.createElement("div"),i={direction:Pw(this.cueDiv),writingMode:e.vertical===""?"horizontal-tb":e.vertical==="lr"?"vertical-lr":"vertical-rl",unicodeBidi:"plaintext",textAlign:e.align==="middle"?"center":e.align,font:t.font,whiteSpace:"pre-line",position:"absolute"},this.applyStyles(i),this.div.appendChild(this.cueDiv);var n=0;switch(e.positionAlign){case"start":case"line-left":n=e.position;break;case"center":n=e.position-e.size/2;break;case"end":case"line-right":n=e.position-e.size;break;}e.vertical===""?this.applyStyles({left:this.formatStyle(n,"%"),width:this.formatStyle(e.size,"%")}):this.applyStyles({top:this.formatStyle(n,"%"),height:this.formatStyle(e.size,"%")}),this.move=function(r){this.applyStyles({top:this.formatStyle(r.top,"px"),bottom:this.formatStyle(r.bottom,"px"),left:this.formatStyle(r.left,"px"),right:this.formatStyle(r.right,"px"),height:this.formatStyle(r.height,"px"),width:this.formatStyle(r.width,"px")});};}sl.prototype=Cu(ol.prototype);sl.prototype.constructor=sl;function pi(s){var e,t,i,n;if(s.div){t=s.div.offsetHeight,i=s.div.offsetWidth,n=s.div.offsetTop;var r=(r=s.div.childNodes)&&(r=r[0])&&r.getClientRects&&r.getClientRects();s=s.div.getBoundingClientRect(),e=r?Math.max(r[0]&&r[0].height||0,s.height/r.length):0;}this.left=s.left,this.right=s.right,this.top=s.top||n,this.height=s.height||t,this.bottom=s.bottom||n+(s.height||t),this.width=s.width||i,this.lineHeight=e!==void 0?e:s.lineHeight;}pi.prototype.move=function(s,e){switch(e=e!==void 0?e:this.lineHeight,s){case"+x":this.left+=e,this.right+=e;break;case"-x":this.left-=e,this.right-=e;break;case"+y":this.top+=e,this.bottom+=e;break;case"-y":this.top-=e,this.bottom-=e;break;}};pi.prototype.overlaps=function(s){return this.left<s.right&&this.right>s.left&&this.top<s.bottom&&this.bottom>s.top;};pi.prototype.overlapsAny=function(s){for(var e=0;e<s.length;e++)if(this.overlaps(s[e]))return!0;return!1;};pi.prototype.within=function(s){return this.top>=s.top&&this.bottom<=s.bottom&&this.left>=s.left&&this.right<=s.right;};pi.prototype.overlapsOppositeAxis=function(s,e){switch(e){case"+x":return this.left<s.left;case"-x":return this.right>s.right;case"+y":return this.top<s.top;case"-y":return this.bottom>s.bottom;}};pi.prototype.intersectPercentage=function(s){var e=Math.max(0,Math.min(this.right,s.right)-Math.max(this.left,s.left)),t=Math.max(0,Math.min(this.bottom,s.bottom)-Math.max(this.top,s.top)),i=e*t;return i/(this.height*this.width);};pi.prototype.toCSSCompatValues=function(s){return{top:this.top-s.top,bottom:s.bottom-this.bottom,left:this.left-s.left,right:s.right-this.right,height:this.height,width:this.width};};pi.getSimpleBoxPosition=function(s){var e=s.div?s.div.offsetHeight:s.tagName?s.offsetHeight:0,t=s.div?s.div.offsetWidth:s.tagName?s.offsetWidth:0,i=s.div?s.div.offsetTop:s.tagName?s.offsetTop:0;s=s.div?s.div.getBoundingClientRect():s.tagName?s.getBoundingClientRect():s;var n={left:s.left,right:s.right,top:s.top||i,height:s.height||e,bottom:s.bottom||i+(s.height||e),width:s.width||t};return n;};function Ow(s,e,t,i){function n(m,b){for(var T,S=new pi(m),P=1,R=0;R<b.length;R++){for(;m.overlapsOppositeAxis(t,b[R])||m.within(t)&&m.overlapsAny(i);)m.move(b[R]);if(m.within(t))return m;var C=m.intersectPercentage(t);P>C&&(T=new pi(m),P=C),m=new pi(S);}return T||S;}var r=new pi(e),o=e.cue,a=kw(o),l=[];if(o.snapToLines){var d;switch(o.vertical){case"":l=["+y","-y"],d="height";break;case"rl":l=["+x","-x"],d="width";break;case"lr":l=["-x","+x"],d="width";break;}var u=r.lineHeight,c=u*Math.round(a),h=t[d]+u,f=l[0];Math.abs(c)>h&&(c=c<0?-1:1,c*=Math.ceil(h/u)*u),a<0&&(c+=o.vertical===""?t.height:t.width,l=l.reverse()),r.move(f,c);}else{var p=r.lineHeight/t.height*100;switch(o.lineAlign){case"center":a-=p/2;break;case"end":a-=p;break;}switch(o.vertical){case"":e.applyStyles({top:e.formatStyle(a,"%")});break;case"rl":e.applyStyles({left:e.formatStyle(a,"%")});break;case"lr":e.applyStyles({right:e.formatStyle(a,"%")});break;}l=["+y","-x","+x","-y"],r=new pi(e);}var g=n(r,l);e.move(g.toCSSCompatValues(t));}function Xr(){}Xr.StringDecoder=function(){return{decode:function(s){if(!s)return"";if(typeof s!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(s));}};};Xr.convertCueToDOMTree=function(s,e){return!s||!e?null:Sv(s,e);};var Lw=.05,Mw="sans-serif",Dw="1.5%";Xr.processCues=function(s,e,t){if(!s||!e||!t)return null;for(;t.firstChild;)t.removeChild(t.firstChild);var i=s.document.createElement("div");i.style.position="absolute",i.style.left="0",i.style.right="0",i.style.top="0",i.style.bottom="0",i.style.margin=Dw,t.appendChild(i);function n(u){for(var c=0;c<u.length;c++)if(u[c].hasBeenReset||!u[c].displayState)return!0;return!1;}if(!n(e)){for(var r=0;r<e.length;r++)i.appendChild(e[r].displayState);return;}var o=[],a=pi.getSimpleBoxPosition(i),l=Math.round(a.height*Lw*100)/100,d={font:l+"px "+Mw};(function(){for(var u,c,h=0;h<e.length;h++)c=e[h],u=new sl(s,c,d),i.appendChild(u.div),Ow(s,u,a,o),c.displayState=u.div,o.push(pi.getSimpleBoxPosition(u));})();};Xr.Parser=function(s,e,t){t||(t=e,e={}),e||(e={}),this.window=s,this.vttjs=e,this.state="INITIAL",this.buffer="",this.decoder=t||new TextDecoder("utf8"),this.regionList=[];};Xr.Parser.prototype={reportOrThrowError:function(s){if(s instanceof Ai)this.onparsingerror&&this.onparsingerror(s);else throw s;},parse:function(s){var e=this;s&&(e.buffer+=e.decoder.decode(s,{stream:!0}));function t(){for(var u=e.buffer,c=0;c<u.length&&u[c]!=="\r"&&u[c]!==` 3`;)++c;var h=u.substr(0,c);return u[c]==="\r"&&++c,u[c]===` 4`&&++c,e.buffer=u.substr(c),h;}function i(u){var c=new ao();if(oo(u,function(f,p){switch(f){case"id":c.set(f,p);break;case"width":c.percent(f,p);break;case"lines":c.integer(f,p);break;case"regionanchor":case"viewportanchor":var g=p.split(",");if(g.length!==2)break;var m=new ao();if(m.percent("x",g[0]),m.percent("y",g[1]),!m.has("x")||!m.has("y"))break;c.set(f+"X",m.get("x")),c.set(f+"Y",m.get("y"));break;case"scroll":c.alt(f,p,["up"]);break;}},/=/,/\s/),c.has("id")){var h=new(e.vttjs.VTTRegion||e.window.VTTRegion)();h.width=c.get("width",100),h.lines=c.get("lines",3),h.regionAnchorX=c.get("regionanchorX",0),h.regionAnchorY=c.get("regionanchorY",100),h.viewportAnchorX=c.get("viewportanchorX",0),h.viewportAnchorY=c.get("viewportanchorY",100),h.scroll=c.get("scroll",""),e.onregion&&e.onregion(h),e.regionList.push({id:c.get("id"),region:h});}}function n(u){var c=new ao();oo(u,function(h,f){switch(h){case"MPEGT":c.integer(h+"S",f);break;case"LOCA":c.set(h+"L",wu(f));break;}},/[^\d]:/,/,/),e.ontimestampmap&&e.ontimestampmap({MPEGTS:c.get("MPEGTS"),LOCAL:c.get("LOCAL")});}function r(u){u.match(/X-TIMESTAMP-MAP/)?oo(u,function(c,h){switch(c){case"X-TIMESTAMP-MAP":n(h);break;}}
4,/=/):oo(u,function(c,h){switch(c){case"Region":i(h);break;}},/:/);}try{var o;if(e.state==="INITIAL"){if(!/\r\n|\n/.test(e.buffer))return this;o=t();var a=o.match(/^WEBVTT([ \t].*)?$/);if(!a||!a[0])throw new Ai(Ai.Errors.BadSignature);e.state="HEADER";}for(var l=!1;e.buffer;){if(!/\r\n|\n/.test(e.buffer))return this;switch(l?l=!1:o=t(),e.state){case"HEADER":/:/.test(o)?r(o):o||(e.state="ID");continue;case"NOTE":o||(e.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(o)){e.state="NOTE";break;}if(!o)continue;e.cue=new(e.vttjs.VTTCue||e.window.VTTCue)(0,0,"");try{e.cue.align="center";}catch{e.cue.align="middle";}if(e.state="CUE",o.indexOf("-->")===-1){e.cue.id=o;continue;}case"CUE":try{xw(o,e.cue,e.regionList);}catch(u){e.reportOrThrowError(u),e.cue=null,e.state="BADCUE";continue;}e.state="CUETEXT";continue;case"CUETEXT":var d=o.indexOf("-->")!==-1;if(!o||d&&(l=!0)){e.oncue&&e.oncue(e.cue),e.cue=null,e.state="ID";continue;}e.cue.text&&(e.cue.text+=` 5`),e.cue.text+=o.replace(/\u2028/g,` 6`).replace(/u2029/g,` 7`);continue;case"BADCUE":o||(e.state="ID");continue;}}}catch(u){e.reportOrThrowError(u),e.state==="CUETEXT"&&e.cue&&e.oncue&&e.oncue(e.cue),e.cue=null,e.state=e.state==="INITIAL"?"BADWEBVTT":"BADCUE";}return this;},flush:function(){var s=this;try{if(s.buffer+=s.decoder.decode(),(s.cue||s.state==="HEADER")&&(s.buffer+=` 8 9`,s.parse()),s.state==="INITIAL")throw new Ai(Ai.Errors.BadSignature);}catch(e){s.reportOrThrowError(e);}return s.onflush&&s.onflush(),this;}};Cv.exports=Xr;});var Iv=ut((p2,Av)=>{"use strict";var Nw="auto",jw={"":1,lr:1,rl:1},Fw={start:1,center:1,end:1,left:1,right:1,auto:1,"line-left":1,"line-right":1};function Vw(s){if(typeof s!="string")return!1;var e=jw[s.toLowerCase()];return e?s.toLowerCase():!1;}function xu(s){if(typeof s!="string")return!1;var e=Fw[s.toLowerCase()];return e?s.toLowerCase():!1;}function xv(s,e,t){this.hasBeenReset=!1;var i="",n=!1,r=s,o=e,a=t,l=null,d="",u=!0,c="auto",h="start",f="auto",p="auto",g=100,m="center";Object.defineProperties(this,{id:{enumerable:!0,get:function(){return i;},set:function(b){i=""+b;}},pauseOnExit:{enumerable:!0,get:function(){return n;},set:function(b){n=!!b;}},startTime:{enumerable:!0,get:function(){return r;},set:function(b){if(typeof b!="number")throw new TypeError("Start time must be set to a number.");r=b,this.hasBeenReset=!0;}},endTime:{enumerable:!0,get:function(){return o;},set:function(b){if(typeof b!="number")throw new TypeError("End time must be set to a number.");o=b,this.hasBeenReset=!0;}},text:{enumerable:!0,get:function(){return a;},set:function(b){a=""+b,this.hasBeenReset=!0;}},region:{enumerable:!0,get:function(){return l;},set:function(b){l=b,this.hasBeenReset=!0;}},vertical:{enumerable:!0,get:function(){return d;},set:function(b){var T=Vw(b);if(T===!1)throw new SyntaxError("Vertical: an invalid or illegal direction string was specified.");d=T,this.hasBeenReset=!0;}},snapToLines:{enumerable:!0,get:function(){return u;},set:function(b){u=!!b,this.hasBeenReset=!0;}},line:{enumerable:!0,get:function(){return c;},set:function(b){if(typeof b!="number"&&b!==Nw)throw new SyntaxError("Line: an invalid number or illegal string was specified.");c=b,this.hasBeenReset=!0;}},lineAlign:{enumerable:!0,get:function(){return h;},set:function(b){var T=xu(b);T?(h=T,this.hasBeenReset=!0):console.warn("lineAlign: an invalid or illegal string was specified.");}},position:{enumerable:!0,get:function(){return f;},set:function(b){if(b<0||b>100)throw new Error("Position must be between 0 and 100.");f=b,this.hasBeenReset=!0;}},positionAlign:{enumerable:!0,get:function(){return p;},set:function(b){var T=xu(b);T?(p=T,this.hasBeenReset=!0):console.warn("positionAlign: an invalid or illegal string was specified.");}},size:{enumerable:!0,get:function(){return g;},set:function(b){if(b<0||b>100)throw new Error("Size must be between 0 and 100.");g=b,this.hasBeenReset=!0;}},align:{enumerable:!0,get:function(){return m;},set:function(b){var T=xu(b);if(!T)throw new SyntaxError("align: an invalid or illegal alignment string was specified.");m=T,this.hasBeenReset=!0;}}}),this.displayState=void 0;}xv.prototype.getCueAsHTML=function(){return WebVTT.convertCueToDOMTree(window,this.text);};Av.exports=xv;});var Pv=ut((m2,Rv)=>{"use strict";var Bw={"":!0,up:!0};
9function Uw(s){if(typeof s!="string")return!1;var e=Bw[s.toLowerCase()];return e?s.toLowerCase():!1;}function lo(s){return typeof s=="number"&&s>=0&&s<=100;}function Hw(){var s=100,e=3,t=0,i=100,n=0,r=100,o="";Object.defineProperties(this,{width:{enumerable:!0,get:function(){return s;},set:function(a){if(!lo(a))throw new Error("Width must be between 0 and 100.");s=a;}},lines:{enumerable:!0,get:function(){return e;},set:function(a){if(typeof a!="number")throw new TypeError("Lines must be set to a number.");e=a;}},regionAnchorY:{enumerable:!0,get:function(){return i;},set:function(a){if(!lo(a))throw new Error("RegionAnchorX must be between 0 and 100.");i=a;}},regionAnchorX:{enumerable:!0,get:function(){return t;},set:function(a){if(!lo(a))throw new Error("RegionAnchorY must be between 0 and 100.");t=a;}},viewportAnchorY:{enumerable:!0,get:function(){return r;},set:function(a){if(!lo(a))throw new Error("ViewportAnchorY must be between 0 and 100.");r=a;}},viewportAnchorX:{enumerable:!0,get:function(){return n;},set:function(a){if(!lo(a))throw new Error("ViewportAnchorX must be between 0 and 100.");n=a;}},scroll:{enumerable:!0,get:function(){return o;},set:function(a){var l=Uw(a);l===!1?console.warn("Scroll: an invalid or illegal string was specified."):o=l;}}});}Rv.exports=Hw;});var Ov=ut((g2,kv)=>{"use strict";var vn=to(),ar=kv.exports={WebVTT:wv(),VTTCue:Iv(),VTTRegion:Pv()};vn.vttjs=ar;vn.WebVTT=ar.WebVTT;var $w=ar.VTTCue,Gw=ar.VTTRegion,Ww=vn.VTTCue,zw=vn.VTTRegion;ar.shim=function(){vn.VTTCue=$w,vn.VTTRegion=Gw;};ar.restore=function(){vn.VTTCue=Ww,vn.VTTRegion=zw;};vn.VTTCue||ar.shim();});var Mv=ut((v2,_n)=>{"use strict";function Lv(){try{var s=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch{}return(_n.exports=Lv=function(){return!!s;},_n.exports.__esModule=!0,_n.exports.default=_n.exports)();}_n.exports=Lv,_n.exports.__esModule=!0,_n.exports.default=_n.exports;});var Dv=ut((_2,uo)=>{"use strict";var qw=Mv(),Kw=rl();function Yw(s,e,t){if(qw())return Reflect.construct.apply(null,arguments);var i=[null];i.push.apply(i,e);var n=new(s.bind.apply(s,i))();return t&&Kw(n,t.prototype),n;}uo.exports=Yw,uo.exports.__esModule=!0,uo.exports.default=uo.exports;});var Nv=ut((y2,co)=>{"use strict";var Xw=rl();function Qw(s,e){if(typeof e!="function"&&e!==null)throw new TypeError("Super expression must either be null or a function");s.prototype=Object.create(e&&e.prototype,{constructor:{value:s,writable:!0,configurable:!0}}),Object.defineProperty(s,"prototype",{writable:!1}),e&&Xw(s,e);}co.exports=Qw,co.exports.__esModule=!0,co.exports.default=co.exports;});var Ye=ut((b2,S_)=>{"use strict";var Jw=to(),Zw=vu(),ex=yu(),tx=ov(),ix=av(),nx=lv(),rx=uv(),sx=_v(),ox=Ov(),ax=Dv(),lx=Nv();function Bi(s){return s&&typeof s=="object"&&"default"in s?s:{default:s};}var re=Bi(Jw),_e=Bi(Zw),Yu=Bi(ex),Ge=Bi(tx),lt=Bi(ix),Ce=Bi(nx),dx=Bi(rx),h0=Bi(sx),jv=Bi(ox),ux=Bi(ax),cx=Bi(lx),f0="7.21.6",bn={},Wn=function(e,t){return bn[e]=bn[e]||[],t&&(bn[e]=bn[e].concat(t)),bn[e];},hx=function(e,t){Wn(e,t);},p0=function(e,t){var i=Wn(e).indexOf(t);return i<=-1?!1:(bn[e]=bn[e].slice(),bn[e].splice(i,1),!0);},fx=function(e,t){Wn(e,[].concat(t).map(function(i){var n=function r(){return p0(e,r),i.apply(void 0,arguments);};return n;}));},pl={prefixed:!0},ul=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror","fullscreen"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror","-webkit-full-screen"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror","-moz-full-screen"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError","-ms-fullscreen"]],Fv=ul[0],vo;for(ho=0;ho<ul.length;ho++)if(ul[ho][1]in _e.default){vo=ul[ho];break;}var ho;if(vo){for(fo=0;fo<vo.length;fo++)pl[Fv[fo]]=vo[fo];pl.prefixed=vo[0]!==Fv[0];}var fo,Ei=[],px=function(e,t){return function(i,n,r){var o=t.levels[n],a=new RegExp("^("+o+")$");if(i!=="log"&&r.unshift(i.toUpperCase()+":"),r.unshift(e+":"),Ei){Ei.push([].concat(r));var l=Ei.length-1e3;Ei.splice(0,l>0?l:0);}if(re.default.console){var d=re.default.console[i];!d&&i==="debug"&&(d=re.default.console.info||re.default.console.log),!(!d||!o||!a.test(i))&&d[Array.isArray(r)?"apply":"call"](re.default.console,r);}};};function m0(s){var e="info",t,i=function(){for(var r=arguments.length,o=new Array(r),a=0;a<r;a++)o[a]=arguments[a];t("log",e,o);};return t=px(s,i),i.createLogger=function(n){return m0(s+": "+n);},i.levels={all:"debug|log|warn|error",off:"",debug:"debug|log|warn|error",info:"log|warn|error",warn:"warn|error",error:"error",DEFAULT:e},i.level=function(n){if(typeof n=="string"){if(!i.levels.hasOwnProperty(n))throw new Error('"'+n+'" in not a valid log level');e=n;}return e;},i.history=function(){return Ei?[].concat(Ei):[];},i.history.filter=function(n){return(Ei||[]).filter(function(r){return new RegExp(".*"+n+".*").test(r[0]);});},i.history.clear=function(){Ei&&(Ei.length=0);},i.history.disable=function(){Ei!==null&&(Ei.length=0,Ei=null);},i.history.enable=function(){Ei===null&&(Ei=[]);},i.error=function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return t("error",e,r);},i.warn=function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return t("warn",e,r);},i.debug=function(){for(var n=arguments.length,r=new Array(n),o=0;o<n;o++)r[o]=arguments[o];return t("debug",e,r);},i;}var Je=m0("VIDEOJS"),g0=Je.createLogger,mx=Object.prototype.toString,v0=function(e){return Sn(e)?Object.keys(e):[];};
9function Jr(s,e){v0(s).forEach(function(t){return e(s[t],t);});}function gx(s,e,t){return t===void 0&&(t=0),v0(s).reduce(function(i,n){return e(i,s[n],n);},t);}function jt(s){for(var e=arguments.length,t=new Array(e>1?e-1:0),i=1;i<e;i++)t[i-1]=arguments[i];return Object.assign?Yu.default.apply(void 0,[s].concat(t)):(t.forEach(function(n){n&&Jr(n,function(r,o){s[o]=r;});}),s);}function Sn(s){return!!s&&typeof s=="object";}function yo(s){return Sn(s)&&mx.call(s)==="[object Object]"&&s.constructor===Object;}function bo(s,e){if(!s||!e)return"";if(typeof re.default.getComputedStyle=="function"){var t;try{t=re.default.getComputedStyle(s);}catch{return"";}return t?t.getPropertyValue(e)||t[e]:"";}return"";}var Zt=re.default.navigator&&re.default.navigator.userAgent||"",Vv=/AppleWebKit\/([\d.]+)/i.exec(Zt),vx=Vv?parseFloat(Vv.pop()):null,_0=/iPod/i.test(Zt),_x=function(){var s=Zt.match(/OS (\d+)_/i);return s&&s[1]?s[1]:null;}(),wn=/Android/i.test(Zt),Xu=function(){var s=Zt.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(!s)return null;var e=s[1]&&parseFloat(s[1]),t=s[2]&&parseFloat(s[2]);return e&&t?parseFloat(s[1]+"."+s[2]):e||null;}(),y0=wn&&Xu<5&&vx<537,b0=/Firefox/i.test(Zt),So=/Edg/i.test(Zt),xn=!So&&(/Chrome/i.test(Zt)||/CriOS/i.test(Zt)),T0=function(){var s=Zt.match(/(Chrome|CriOS)\/(\d+)/);return s&&s[2]?parseFloat(s[2]):null;}(),Co=function(){var s=/MSIE\s(\d+)\.\d/.exec(Zt),e=s&&parseFloat(s[1]);return!e&&/Trident\/7.0/i.test(Zt)&&/rv:11.0/.test(Zt)&&(e=11),e;}(),Qu=/Safari/i.test(Zt)&&!xn&&!wn&&!So,E0=/Windows/i.test(Zt),es=!!(os()&&("ontouchstart"in re.default||re.default.navigator.maxTouchPoints||re.default.DocumentTouch&&re.default.document instanceof re.default.DocumentTouch)),Ju=/iPad/i.test(Zt)||Qu&&es&&!/iPhone/i.test(Zt),Zu=/iPhone/i.test(Zt)&&!Ju,_i=Zu||Ju||_0,Sl=(Qu||_i)&&!xn,yx=Object.freeze({__proto__:null,IS_IPOD:_0,IOS_VERSION:_x,IS_ANDROID:wn,ANDROID_VERSION:Xu,IS_NATIVE_ANDROID:y0,IS_FIREFOX:b0,IS_EDGE:So,IS_CHROME:xn,CHROME_VERSION:T0,IE_VERSION:Co,IS_SAFARI:Qu,IS_WINDOWS:E0,TOUCH_ENABLED:es,IS_IPAD:Ju,IS_IPHONE:Zu,IS_IOS:_i,IS_ANY_SAFARI:Sl});function Bv(s){return typeof s=="string"&&!!s.trim();}function S0(s){if(s.indexOf(" ")>=0)throw new Error("class has illegal whitespace characters");}function bx(s){return new RegExp("(^|\\s)"+s+"($|\\s)");}function os(){return _e.default===re.default.document;}function as(s){return Sn(s)&&s.nodeType===1;}function C0(){try{return re.default.parent!==re.default.self;}catch{return!0;}}function w0(s){return function(e,t){if(!Bv(e))return _e.default[s](null);Bv(t)&&(t=_e.default.querySelector(t));var i=as(t)?t:_e.default;return i[s]&&i[s](e);};}function rt(s,e,t,i){s===void 0&&(s="div"),e===void 0&&(e={}),t===void 0&&(t={});var n=_e.default.createElement(s);return Object.getOwnPropertyNames(e).forEach(function(r){var o=e[r];r.indexOf("aria-")!==-1||r==="role"||r==="type"?(Je.warn(`Setting attributes in the second argument of createEl() 10has been deprecated. Use the third argument instead. 11`+("createEl(type, properties, attributes). Attempting to set "+r+" to "+o+".")),n.setAttribute(r,o)):r==="textContent"?mr(n,o):(n[r]!==o||r==="tabIndex")&&(n[r]=o);}),Object.getOwnPropertyNames(t).forEach(function(r){n.setAttribute(r,t[r]);}),i&&tc(n,i),n;}function mr(s,e){return typeof s.textContent>"u"?s.innerText=e:s.textContent=e,s;}function Bu(s,e){e.firstChild?e.insertBefore(s,e.firstChild):e.appendChild(s);}function hr(s,e){return S0(e),s.classList?s.classList.contains(e):bx(e).test(s.className);}function Tn(s,e){return s.classList?s.classList.add(e):hr(s,e)||(s.className=(s.className+" "+e).trim()),s;}function wo(s,e){return s?(s.classList?s.classList.remove(e):(S0(e),s.className=s.className.split(/\s+/).filter(function(t){return t!==e;}).join(" ")),s):(Je.warn("removeClass was called with an element that doesn't exist"),null);}function x0(s,e,t){var i=hr(s,e);if(typeof t=="function"&&(t=t(s,e)),typeof t!="boolean"&&(t=!i),t!==i)return t?Tn(s,e):wo(s,e),s;}function A0(s,e){Object.getOwnPropertyNames(e).forEach(function(t){var i=e[t];i===null||typeof i>"u"||i===!1?s.removeAttribute(t):s.setAttribute(t,i===!0?"":i);});}function yn(s){var e={},t=",autoplay,controls,playsinline,loop,muted,default,defaultMuted,";if(s&&s.attributes&&s.attributes.length>0)for(var i=s.attributes,n=i.length-1;n>=0;n--){var r=i[n].name,o=i[n].value;(typeof s[r]=="boolean"||t.indexOf(","+r+",")!==-1)&&(o=o!==null),e[r]=o;}return e;}function I0(s,e){return s.getAttribute(e);}function ts(s,e,t){s.setAttribute(e,t);}function Cl(s,e){s.removeAttribute(e);}function R0(){_e.default.body.focus(),_e.default.onselectstart=function(){return!1;};}function P0(){_e.default.onselectstart=function(){return!0;};}function is(s){if(s&&s.getBoundingClientRect&&s.parentNode){var e=s.getBoundingClientRect(),t={};return["bottom","height","left","right","top","width"].forEach(function(i){e[i]!==void 0&&(t[i]=e[i]);}),t.height||(t.height=parseFloat(bo(s,"height"))),t.width||(t.width=parseFloat(bo(s,"width"))),t;}}function To(s){if(!s||s&&!s.offsetParent)return{left:0,top:0,width:0,height:0};for(var e=s.offsetWidth,t=s.offsetHeight,i=0,n=0;s.offsetParent&&s!==_e.default[pl.fullscreenElement];)i+=s.offsetLeft,n+=s.offsetTop,s=s.offsetParent;return{left:i,top:n,width:e,height:t};}function wl(s,e){var t={x:0,y:0};if(_i)for(var i=s;i&&i.nodeName.toLowerCase()!=="html";){var n=bo(i,"transform");
11if(/^matrix/.test(n)){var r=n.slice(7,-1).split(/,\s/).map(Number);t.x+=r[4],t.y+=r[5];}else if(/^matrix3d/.test(n)){var o=n.slice(9,-1).split(/,\s/).map(Number);t.x+=o[12],t.y+=o[13];}i=i.parentNode;}var a={},l=To(e.target),d=To(s),u=d.width,c=d.height,h=e.offsetY-(d.top-l.top),f=e.offsetX-(d.left-l.left);return e.changedTouches&&(f=e.changedTouches[0].pageX-d.left,h=e.changedTouches[0].pageY+d.top,_i&&(f-=t.x,h-=t.y)),a.y=1-Math.max(0,Math.min(1,h/c)),a.x=Math.max(0,Math.min(1,f/u)),a;}function k0(s){return Sn(s)&&s.nodeType===3;}function ec(s){for(;s.firstChild;)s.removeChild(s.firstChild);return s;}function O0(s){return typeof s=="function"&&(s=s()),(Array.isArray(s)?s:[s]).map(function(e){if(typeof e=="function"&&(e=e()),as(e)||k0(e))return e;if(typeof e=="string"&&/\S/.test(e))return _e.default.createTextNode(e);}).filter(function(e){return e;});}function tc(s,e){return O0(e).forEach(function(t){return s.appendChild(t);}),s;}function L0(s,e){return tc(ec(s),e);}function Eo(s){return s.button===void 0&&s.buttons===void 0||s.button===0&&s.buttons===void 0||s.type==="mouseup"&&s.button===0&&s.buttons===0?!0:!(s.button!==0||s.buttons!==1);}var zn=w0("querySelector"),M0=w0("querySelectorAll"),D0=Object.freeze({__proto__:null,isReal:os,isEl:as,isInFrame:C0,createEl:rt,textContent:mr,prependTo:Bu,hasClass:hr,addClass:Tn,removeClass:wo,toggleClass:x0,setAttributes:A0,getAttributes:yn,getAttribute:I0,setAttribute:ts,removeAttribute:Cl,blockTextSelection:R0,unblockTextSelection:P0,getBoundingClientRect:is,findPosition:To,getPointerPosition:wl,isTextNode:k0,emptyEl:ec,normalizeContent:O0,appendContent:tc,insertContent:L0,isSingleLeftClick:Eo,$:zn,$$:M0}),N0=!1,Uu,Tx=function(){if(Uu.options.autoSetup!==!1){var e=Array.prototype.slice.call(_e.default.getElementsByTagName("video")),t=Array.prototype.slice.call(_e.default.getElementsByTagName("audio")),i=Array.prototype.slice.call(_e.default.getElementsByTagName("video-js")),n=e.concat(t,i);if(n&&n.length>0)for(var r=0,o=n.length;r<o;r++){var a=n[r];if(a&&a.getAttribute){if(a.player===void 0){var l=a.getAttribute("data-setup");l!==null&&Uu(a);}}else{Hu(1);break;}}else N0||Hu(1);}};function Hu(s,e){os()&&(e&&(Uu=e),re.default.setTimeout(Tx,s));}function $u(){N0=!0,re.default.removeEventListener("load",$u);}os()&&(_e.default.readyState==="complete"?$u():re.default.addEventListener("load",$u));var j0=function(e){var t=_e.default.createElement("style");return t.className=e,t;},F0=function(e,t){e.styleSheet?e.styleSheet.cssText=t:e.textContent=t;},Ex=3,Sx=Ex;function An(){return Sx++;}var V0;re.default.WeakMap||(V0=function(){function s(){this.vdata="vdata"+Math.floor(re.default.performance&&re.default.performance.now()||Date.now()),this.data={};}var e=s.prototype;return e.set=function(i,n){var r=i[this.vdata]||An();return i[this.vdata]||(i[this.vdata]=r),this.data[r]=n,this;},e.get=function(i){var n=i[this.vdata];if(n)return this.data[n];Je("We have no data for this element",i);},e.has=function(i){var n=i[this.vdata];return n in this.data;},e.delete=function(i){var n=i[this.vdata];n&&(delete this.data[n],delete i[this.vdata]);},s;}());var gi=re.default.WeakMap?new WeakMap():new V0();function Uv(s,e){if(gi.has(s)){var t=gi.get(s);t.handlers[e].length===0&&(delete t.handlers[e],s.removeEventListener?s.removeEventListener(e,t.dispatcher,!1):s.detachEvent&&s.detachEvent("on"+e,t.dispatcher)),Object.getOwnPropertyNames(t.handlers).length<=0&&(delete t.handlers,delete t.dispatcher,delete t.disabled),Object.getOwnPropertyNames(t).length===0&&gi.delete(s);}}function ic(s,e,t,i){t.forEach(function(n){s(e,n,i);});}function xl(s){if(s.fixed_)return s;function e(){return!0;}function t(){return!1;}if(!s||!s.isPropagationStopped||!s.isImmediatePropagationStopped){var i=s||re.default.event;s={};for(var n in i)n!=="layerX"&&n!=="layerY"&&n!=="keyLocation"&&n!=="webkitMovementX"&&n!=="webkitMovementY"&&n!=="path"&&(n==="returnValue"&&i.preventDefault||(s[n]=i[n]));if(s.target||(s.target=s.srcElement||_e.default),s.relatedTarget||(s.relatedTarget=s.fromElement===s.target?s.toElement:s.fromElement),s.preventDefault=function(){i.preventDefault&&i.preventDefault(),s.returnValue=!1,i.returnValue=!1,s.defaultPrevented=!0;},s.defaultPrevented=!1,s.stopPropagation=function(){i.stopPropagation&&i.stopPropagation(),s.cancelBubble=!0,i.cancelBubble=!0,s.isPropagationStopped=e;},s.isPropagationStopped=t,s.stopImmediatePropagation=function(){i.stopImmediatePropagation&&i.stopImmediatePropagation(),s.isImmediatePropagationStopped=e,s.stopPropagation();},s.isImmediatePropagationStopped=t,s.clientX!==null&&s.clientX!==void 0){var r=_e.default.documentElement,o=_e.default.body;s.pageX=s.clientX+(r&&r.scrollLeft||o&&o.scrollLeft||0)-(r&&r.clientLeft||o&&o.clientLeft||0),s.pageY=s.clientY+(r&&r.scrollTop||o&&o.scrollTop||0)-(r&&r.clientTop||o&&o.clientTop||0);}s.which=s.charCode||s.keyCode,s.button!==null&&s.button!==void 0&&(s.button=s.button&1?0:s.button&4?1:s.button&2?2:0);}return s.fixed_=!0,s;}var al,Cx=function(){if(typeof al!="boolean"){al=!1;try{var e=Object.defineProperty({},"passive",{get:function(){al=!0;}});re.default.addEventListener("test",null,e),re.default.removeEventListener("test",null,e);}catch{}}return al;},wx=["touchstart","touchmove"];function Ii(s,e,t){if(Array.isArray(e))return ic(Ii,s,e,t);gi.has(s)||gi.set(s,{});var i=gi.get(s);if(i.handlers||(i.handlers={}),i.handlers[e]||(i.handlers[e]=[]),t.guid||(t.guid=An()),i.handlers[e].push(t),i.dispatcher||(i.disabled=!1,i.dispatcher=function(r,o){if(!i.disabled){r=xl(r);var a=i.handlers[r.type];if(a)for(var l=a.slice(0),d=0,u=l.length;d<u&&!r.isImmediatePropagationStopped();d++)try{l[d].call(s,r,o);}catch(c){Je.error(c);}}}),i.handlers[e].length===1)if(s.addEventListener){var n=!1;Cx()&&wx.indexOf(e)>-1&&(n={passive:!0}),s.addEventListener(e,i.dispatcher,n);}else s.attachEvent&&s.attachEvent("on"+e,i.dispatcher);}function ci(s,e,t){if(gi.has(s)){var i=gi.get(s);if(i.handlers){if(Array.isArray(e))return ic(ci,s,e,t);var n=function(d,u){i.handlers[u]=[],Uv(d,u);};if(e===void 0){for(var r in i.handlers)Object.prototype.hasOwnProperty.call(i.handlers||{},r)&&n(s,r);return;}var o=i.handlers[e];if(o){if(!t){n(s,e);return;}if(t.guid)for(var a=0;a<o.length;a++)o[a].guid===t.guid&&o.splice(a--,1);Uv(s,e);}}}}function ls(s,e,t){var i=gi.has(s)?gi.get(s):{},n=s.parentNode||s.ownerDocument;if(typeof e=="string"?e={type:e,target:s}
11:e.target||(e.target=s),e=xl(e),i.dispatcher&&i.dispatcher.call(s,e,t),n&&!e.isPropagationStopped()&&e.bubbles===!0)ls.call(null,n,e,t);else if(!n&&!e.defaultPrevented&&e.target&&e.target[e.type]){gi.has(e.target)||gi.set(e.target,{});var r=gi.get(e.target);e.target[e.type]&&(r.disabled=!0,typeof e.target[e.type]=="function"&&e.target[e.type](),r.disabled=!1);}return!e.defaultPrevented;}function Al(s,e,t){if(Array.isArray(e))return ic(Al,s,e,t);var i=function n(){ci(s,e,n),t.apply(this,arguments);};i.guid=t.guid=t.guid||An(),Ii(s,e,i);}function B0(s,e,t){var i=function n(){ci(s,e,n),t.apply(this,arguments);};i.guid=t.guid=t.guid||An(),Ii(s,e,i);}var xx=Object.freeze({__proto__:null,fixEvent:xl,on:Ii,off:ci,trigger:ls,one:Al,any:B0}),Vi=30,xt=function(e,t,i){t.guid||(t.guid=An());var n=t.bind(e);return n.guid=i?i+"_"+t.guid:t.guid,n;},Cn=function(e,t){var i=re.default.performance.now(),n=function(){var o=re.default.performance.now();o-i>=t&&(e.apply(void 0,arguments),i=o);};return n;},Ax=function(e,t,i,n){n===void 0&&(n=re.default);var r,o=function(){n.clearTimeout(r),r=null;},a=function(){var d=this,u=arguments,c=function(){r=null,c=null,i||e.apply(d,u);};!r&&i&&e.apply(d,u),n.clearTimeout(r),r=n.setTimeout(c,t);};return a.cancel=o,a;},ei=function(){};ei.prototype.allowedEvents_={};ei.prototype.on=function(s,e){var t=this.addEventListener;this.addEventListener=function(){},Ii(this,s,e),this.addEventListener=t;};ei.prototype.addEventListener=ei.prototype.on;ei.prototype.off=function(s,e){ci(this,s,e);};ei.prototype.removeEventListener=ei.prototype.off;ei.prototype.one=function(s,e){var t=this.addEventListener;this.addEventListener=function(){},Al(this,s,e),this.addEventListener=t;};ei.prototype.any=function(s,e){var t=this.addEventListener;this.addEventListener=function(){},B0(this,s,e),this.addEventListener=t;};ei.prototype.trigger=function(s){var e=s.type||s;typeof s=="string"&&(s={type:e}),s=xl(s),this.allowedEvents_[e]&&this["on"+e]&&this["on"+e](s),ls(this,s);};ei.prototype.dispatchEvent=ei.prototype.trigger;var po;ei.prototype.queueTrigger=function(s){var e=this;po||(po=new Map());var t=s.type||s,i=po.get(this);i||(i=new Map(),po.set(this,i));var n=i.get(t);i.delete(t),re.default.clearTimeout(n);var r=re.default.setTimeout(function(){i.delete(t),i.size===0&&(i=null,po.delete(e)),e.trigger(s);},0);i.set(t,r);};var Il=function(e){return typeof e.name=="function"?e.name():typeof e.name=="string"?e.name:e.name_?e.name_:e.constructor&&e.constructor.name?e.constructor.name:typeof e;},En=function(e){return e instanceof ei||!!e.eventBusEl_&&["on","one","off","trigger"].every(function(t){return typeof e[t]=="function";});},Ix=function(e,t){En(e)?t():(e.eventedCallbacks||(e.eventedCallbacks=[]),e.eventedCallbacks.push(t));},Gu=function(e){return typeof e=="string"&&/\S/.test(e)||Array.isArray(e)&&!!e.length;},ml=function(e,t,i){if(!e||!e.nodeName&&!En(e))throw new Error("Invalid target for "+Il(t)+"#"+i+"; must be a DOM node or evented object.");},U0=function(e,t,i){if(!Gu(e))throw new Error("Invalid event type for "+Il(t)+"#"+i+"; must be a non-empty string or array.");},H0=function(e,t,i){if(typeof e!="function")throw new Error("Invalid listener for "+Il(t)+"#"+i+"; must be a function.");},Au=function(e,t,i){var n=t.length<3||t[0]===e||t[0]===e.eventBusEl_,r,o,a;return n?(r=e.eventBusEl_,t.length>=3&&t.shift(),o=t[0],a=t[1]):(r=t[0],o=t[1],a=t[2]),ml(r,e,i),U0(o,e,i),H0(a,e,i),a=xt(e,a),{isTargetingSelf:n,target:r,type:o,listener:a};},lr=function(e,t,i,n){ml(e,e,t),e.nodeName?xx[t](e,i,n):e[t](i,n);},Rx={on:function(){for(var e=this,t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];var r=Au(this,i,"on"),o=r.isTargetingSelf,a=r.target,l=r.type,d=r.listener;if(lr(a,"on",l,d),!o){var u=function(){return e.off(a,l,d);};u.guid=d.guid;var c=function(){return e.off("dispose",u);};c.guid=d.guid,lr(this,"on","dispose",u),lr(a,"on","dispose",c);}},one:function(){for(var e=this,t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];var r=Au(this,i,"one"),o=r.isTargetingSelf,a=r.target,l=r.type,d=r.listener;if(o)lr(a,"one",l,d);else{var u=function c(){e.off(a,l,c);for(var h=arguments.length,f=new Array(h),p=0;p<h;p++)f[p]=arguments[p];d.apply(null,f);};u.guid=d.guid,lr(a,"one",l,u);}},any:function(){for(var e=this,t=arguments.length,i=new Array(t),n=0;n<t;n++)i[n]=arguments[n];var r=Au(this,i,"any"),o=r.isTargetingSelf,a=r.target,l=r.type,d=r.listener;if(o)lr(a,"any",l,d);else{var u=function c(){e.off(a,l,c);for(var h=arguments.length,f=new Array(h),p=0;p<h;p++)f[p]=arguments[p];d.apply(null,f);};u.guid=d.guid,lr(a,"any",l,u);}},off:function(e,t,i){if(!e||Gu(e))ci(this.eventBusEl_,e,t);else{var n=e,r=t;ml(n,this,"off"),U0(r,this,"off"),H0(i,this,"off"),i=xt(this,i),this.off("dispose",i),n.nodeName?(ci(n,r,i),ci(n,"dis
11pose",i)):En(n)&&(n.off(r,i),n.off("dispose",i));}},trigger:function(e,t){ml(this.eventBusEl_,this,"trigger");var i=e&&typeof e!="string"?e.type:e;if(!Gu(i)){var n="Invalid event type for "+Il(this)+"#trigger; must be a non-empty string or object with a type key that has a non-empty value.";if(e)(this.log||Je).error(n);else throw new Error(n);}return ls(this.eventBusEl_,e,t);}};function nc(s,e){e===void 0&&(e={});var t=e,i=t.eventBusKey;if(i){if(!s[i].nodeName)throw new Error('The eventBusKey "'+i+'" does not refer to an element.');s.eventBusEl_=s[i];}else s.eventBusEl_=rt("span",{className:"vjs-event-bus"});return jt(s,Rx),s.eventedCallbacks&&s.eventedCallbacks.forEach(function(n){n();}),s.on("dispose",function(){s.off(),[s,s.el_,s.eventBusEl_].forEach(function(n){n&&gi.has(n)&&gi.delete(n);}),re.default.setTimeout(function(){s.eventBusEl_=null;},0);}),s;}var Px={state:{},setState:function(e){var t=this;typeof e=="function"&&(e=e());var i;return Jr(e,function(n,r){t.state[r]!==n&&(i=i||{},i[r]={from:t.state[r],to:n}),t.state[r]=n;}),i&&En(this)&&this.trigger({changes:i,type:"statechanged"}),i;}};function $0(s,e){return jt(s,Px),s.state=jt({},s.state,e),typeof s.handleStateChanged=="function"&&En(s)&&s.on("statechanged",s.handleStateChanged),s;}var cl=function(e){return typeof e!="string"?e:e.replace(/./,function(t){return t.toLowerCase();});},Ht=function(e){return typeof e!="string"?e:e.replace(/./,function(t){return t.toUpperCase();});},kx=function(e,t){return Ht(e)===Ht(t);};function wt(){for(var s={},e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return t.forEach(function(n){n&&Jr(n,function(r,o){if(!yo(r)){s[o]=r;return;}yo(s[o])||(s[o]={}),s[o]=wt(s[o],r);});}),s;}var Ox=function(){function s(){this.map_={};}var e=s.prototype;return e.has=function(i){return i in this.map_;},e.delete=function(i){var n=this.has(i);return delete this.map_[i],n;},e.set=function(i,n){return this.map_[i]=n,this;},e.forEach=function(i,n){for(var r in this.map_)i.call(n,this.map_[r],r,this);},s;}(),Lx=re.default.Map?re.default.Map:Ox,Mx=function(){function s(){this.set_={};}var e=s.prototype;return e.has=function(i){return i in this.set_;},e.delete=function(i){var n=this.has(i);return delete this.set_[i],n;},e.add=function(i){return this.set_[i]=1,this;},e.forEach=function(i,n){for(var r in this.set_)i.call(n,r,r,this);},s;}(),Iu=re.default.Set?re.default.Set:Mx,de=function(){function s(t,i,n){var r=this;if(!t&&this.play?this.player_=t=this:this.player_=t,this.isDisposed_=!1,this.parentComponent_=null,this.options_=wt({},this.options_),i=this.options_=wt(this.options_,i),this.id_=i.id||i.el&&i.el.id,!this.id_){var o=t&&t.id&&t.id()||"no_player";this.id_=o+"_component_"+An();}this.name_=i.name||null,i.el?this.el_=i.el:i.createEl!==!1&&(this.el_=this.createEl()),i.className&&this.el_&&i.className.split(" ").forEach(function(a){return r.addClass(a);}),i.evented!==!1&&(nc(this,{eventBusKey:this.el_?"el_":null}),this.handleLanguagechange=this.handleLanguagechange.bind(this),this.on(this.player_,"languagechange",this.handleLanguagechange)),$0(this,this.constructor.defaultState),this.children_=[],this.childIndex_={},this.childNameIndex_={},this.setTimeoutIds_=new Iu(),this.setIntervalIds_=new Iu(),this.rafIds_=new Iu(),this.namedRafs_=new Lx(),this.clearingTimersOnDispose_=!1,i.initChildren!==!1&&this.initChildren(),this.ready(n),i.reportTouchActivity!==!1&&this.enableTouchActivity();}var e=s.prototype;return e.dispose=function(i){if(i===void 0&&(i={}),!this.isDisposed_){if(this.readyQueue_&&(this.readyQueue_.length=0),this.trigger({type:"dispose",bubbles:!1}),this.isDisposed_=!0,this.children_)for(var n=this.children_.length-1;n>=0;n--)this.children_[n].dispose&&this.children_[n].dispose();this.children_=null,this.childIndex_=null,this.childNameIndex_=null,this.parentComponent_=null,this.el_&&(this.el_.parentNode&&(i.restoreEl?this.el_.parentNode.replaceChild(i.restoreEl,this.el_):this.el_.parentNode.removeChild(this.el_)),this.el_=null),this.player_=null;}},e.isDisposed=function(){return!!this.isDisposed_;},e.player=function(){return this.player_;},e.options=function(i){return i?(this.options_=wt(this.options_,i),this.options_):this.options_;},e.el=function(){return this.el_;},e.createEl=function(i,n,r){return rt(i,n,r);},e.localize=function(i,n,r){r===void 0&&(r=i);var o=this.player_.language&&this.player_.language(),a=this.player_.languages&&this.player_.languages(),l=a&&a[o],d=o&&o.split("-")[0],u=a&&a[d],c=r;return l&&l[i]?c=l[i]:u&&u[i]&&(c=u[i]),n&&(c=c.replace(/\{(\d+)\}/g,function(h,f){var p=n[f-1],g=p;return typeof p>"u"&&(g=h),g;})),c;},e.handleLanguagechange=function(){},e.contentEl=function(){return this.contentEl_||this.el_;},e.id=function(){return this.id_;},e.name=function(){return this.name_;},e.children=function(){return this.children_;},e.getChildById=function(i){return this.childIndex_[i];},e.getChild=function(i){if(i)return this.childNameIndex_[i];},e.getDescendant=function(){for(var i=arguments.length,n=new Array(i),r=0;r<i;r++)n[r]=arguments[r];n=n.reduce(function(l,d){return l.concat(d);},[]);for(var o=this,a=0;a<n.length;a++)if(o=o.getChild(n[a]),!o||!o.getChild)return;return o;},e.addChild=function(i,n,r){n===void 0&&(n={}),r===void 0&&(r=this.children_.length);var o,a;if(typeof i=="string"){a=Ht(i);var l=n.componentClass||a;n.name=a;var d=s.getComponent(l);
11if(!d)throw new Error("Component "+l+" does not exist");if(typeof d!="function")return null;o=new d(this.player_||this,n);}else o=i;if(o.parentComponent_&&o.parentComponent_.removeChild(o),this.children_.splice(r,0,o),o.parentComponent_=this,typeof o.id=="function"&&(this.childIndex_[o.id()]=o),a=a||o.name&&Ht(o.name()),a&&(this.childNameIndex_[a]=o,this.childNameIndex_[cl(a)]=o),typeof o.el=="function"&&o.el()){var u=null;this.children_[r+1]&&(this.children_[r+1].el_?u=this.children_[r+1].el_:as(this.children_[r+1])&&(u=this.children_[r+1])),this.contentEl().insertBefore(o.el(),u);}return o;},e.removeChild=function(i){if(typeof i=="string"&&(i=this.getChild(i)),!(!i||!this.children_)){for(var n=!1,r=this.children_.length-1;r>=0;r--)if(this.children_[r]===i){n=!0,this.children_.splice(r,1);break;}if(n){i.parentComponent_=null,this.childIndex_[i.id()]=null,this.childNameIndex_[Ht(i.name())]=null,this.childNameIndex_[cl(i.name())]=null;var o=i.el();o&&o.parentNode===this.contentEl()&&this.contentEl().removeChild(i.el());}}},e.initChildren=function(){var i=this,n=this.options_.children;if(n){var r=this.options_,o=function(u){var c=u.name,h=u.opts;if(r[c]!==void 0&&(h=r[c]),h!==!1){h===!0&&(h={}),h.playerOptions=i.options_.playerOptions;var f=i.addChild(c,h);f&&(i[c]=f);}},a,l=s.getComponent("Tech");Array.isArray(n)?a=n:a=Object.keys(n),a.concat(Object.keys(this.options_).filter(function(d){return!a.some(function(u){return typeof u=="string"?d===u:d===u.name;});})).map(function(d){var u,c;return typeof d=="string"?(u=d,c=n[u]||i.options_[u]||{}):(u=d.name,c=d),{name:u,opts:c};}).filter(function(d){var u=s.getComponent(d.opts.componentClass||Ht(d.name));return u&&!l.isTech(u);}).forEach(o);}},e.buildCSSClass=function(){return"";},e.ready=function(i,n){if(n===void 0&&(n=!1),!!i){if(!this.isReady_){this.readyQueue_=this.readyQueue_||[],this.readyQueue_.push(i);return;}n?i.call(this):this.setTimeout(i,1);}},e.triggerReady=function(){this.isReady_=!0,this.setTimeout(function(){var i=this.readyQueue_;this.readyQueue_=[],i&&i.length>0&&i.forEach(function(n){n.call(this);},this),this.trigger("ready");},1);},e.$=function(i,n){return zn(i,n||this.contentEl());},e.$$=function(i,n){return M0(i,n||this.contentEl());},e.hasClass=function(i){return hr(this.el_,i);},e.addClass=function(i){Tn(this.el_,i);},e.removeClass=function(i){wo(this.el_,i);},e.toggleClass=function(i,n){x0(this.el_,i,n);},e.show=function(){this.removeClass("vjs-hidden");},e.hide=function(){this.addClass("vjs-hidden");},e.lockShowing=function(){this.addClass("vjs-lock-showing");},e.unlockShowing=function(){this.removeClass("vjs-lock-showing");},e.getAttribute=function(i){return I0(this.el_,i);},e.setAttribute=function(i,n){ts(this.el_,i,n);},e.removeAttribute=function(i){Cl(this.el_,i);},e.width=function(i,n){return this.dimension("width",i,n);},e.height=function(i,n){return this.dimension("height",i,n);},e.dimensions=function(i,n){this.width(i,!0),this.height(n);},e.dimension=function(i,n,r){if(n!==void 0){(n===null||n!==n)&&(n=0),(""+n).indexOf("%")!==-1||(""+n).indexOf("px")!==-1?this.el_.style[i]=n:n==="auto"?this.el_.style[i]="":this.el_.style[i]=n+"px",r||this.trigger("componentresize");return;}if(!this.el_)return 0;var o=this.el_.style[i],a=o.indexOf("px");return parseInt(a!==-1?o.slice(0,a):this.el_["offset"+Ht(i)],10);},e.currentDimension=function(i){var n=0;if(i!=="width"&&i!=="height")throw new Error("currentDimension only accepts width or height value");if(n=bo(this.el_,i),n=parseFloat(n),n===0||isNaN(n)){var r="offset"+Ht(i);n=this.el_[r];}return n;},e.currentDimensions=function(){return{width:this.currentDimension("width"),height:this.currentDimension("height")};},e.currentWidth=function(){return this.currentDimension("width");},e.currentHeight=function(){return this.currentDimension("height");},e.focus=function(){this.el_.focus();},e.blur=function(){this.el_.blur();},e.handleKeyDown=function(i){this.player_&&(Ge.default.isEventKey(i,"Tab")||i.stopPropagation(),this.player_.handleKeyDown(i));},e.handleKeyPress=function(i){this.handleKeyDown(i);},e.emitTapEvents=function(){var i=0,n=null,r=10,o=200,a;this.on("touchstart",function(d){d.touches.length===1&&(n={pageX:d.touches[0].pageX,pageY:d.touches[0].pageY},i=re.default.performance.now(),a=!0);}),this.on("touchmove",function(d){if(d.touches.length>1)a=!1;else if(n){var u=d.touches[0].pageX-n.pageX,c=d.touches[0].pageY-n.pageY,h=Math.sqrt(u*u+c*c);h>r&&(a=!1);}});var l=function(){a=!1;};this.on("touchleave",l),this.on("touchcancel",l),this.on("touchend",function(d){if(n=null,a===!0){var u=re.default.performance.now()-i;u<o&&(d.preventDefault(),this.trigger("tap"));}});},e.enableTouchActivity=function(){if(!(!this.player()||!this.player().reportUserActivity)){var i=xt(this.player(),this.player().reportUserActivity),n;this.on("touchstart",function(){i(),this.clearInterval(n),n=this.setInterval(i,250);});var r=function(a){i(),this.clearInterval(n);};this.on("touchmove",i),this.on("touchend",r),this.on("touchcancel",r);}},e.setTimeout=function(i,n){var r=this,o;return i=xt(this,i),this.clearTimersOnDispose_(),o=re.default.setTimeout(function(){r.setTimeoutIds_.has(o)&&r.setTimeoutIds_.delete(o),i();},n),this.setTimeoutIds_.add(o),o;},e.clearTimeout=function(i){return this.setTimeoutIds_.has(i)&&(this.setTimeoutIds_.delete(i),re.default.clearTimeout(i)),i;},e.setInterval=function(i,n){i=xt(this,i),this.clearTimersOnDispose_();var r=re.default.setInterval(i,n);return this.setIntervalIds_.add(r),r;},e.clearInterval=function(i){return this.setIntervalIds_.has(i)&&(this.setIntervalIds_.delete(i),re.default.clearInterval(i)),i;},e.requestAnimationFrame=function(i){var n=this;if(!this.supportsRaf_)return this.setTimeout(i,1e3/60);this.clearTimersOnDispose_();var r;return i=xt(this,i),r=re.default.requestAnimationFrame(function(){n.rafIds_.has(r)&&n.rafIds_.delete(r),i();}),this.rafIds_.add(r),r;},e.requestNamedAnimationFrame=function(i,n){var r=this;if(!this.namedRafs_.has(i)){this.clearTimersOnDispose_(),n=xt(this,n);var o=this.requestAnimationFrame(function(){n(),r.namedRafs_.has(i)&&r.namedRafs_.delete(i);});return this.namedRafs_.set(i,o),i;}},e.cancelNamedAnimationFrame=function(i){this.namedRafs_.has(i)&&(this.cancelAnimationFrame(this.namedRafs_.get(i)),this.namedRafs_.delete(i));},e.cancelAnimationFrame=function(i){return this.supportsRaf_?(this.rafIds_.has(i)&&(this.rafIds_.delete(i),re.default.cancelAnimationFrame(i)),i):this.clearTimeout(i);},e.clearTimersOnDispose_=function(){var i=this;this.clearingTimersOnDispose_||(this.clearingTimersOnDispose_=!0,this.one("dispose",function(){[["namedRafs_","cancelNamedAnimationFrame"],["rafIds_","cancelAnimationFrame"],["setTimeoutIds_","clearTimeout"],["setIntervalIds_","clearInterval"]].forEac
11h(function(n){var r=n[0],o=n[1];i[r].forEach(function(a,l){return i[o](l);});}),i.clearingTimersOnDispose_=!1;}));},s.registerComponent=function(i,n){if(typeof i!="string"||!i)throw new Error('Illegal component name, "'+i+'"; must be a non-empty string.');var r=s.getComponent("Tech"),o=r&&r.isTech(n),a=s===n||s.prototype.isPrototypeOf(n.prototype);if(o||!a){var l;throw o?l="techs must be registered using Tech.registerTech()":l="must be a Component subclass",new Error('Illegal component, "'+i+'"; '+l+".");}i=Ht(i),s.components_||(s.components_={});var d=s.getComponent("Player");if(i==="Player"&&d&&d.players){var u=d.players,c=Object.keys(u);if(u&&c.length>0&&c.map(function(h){return u[h];}).every(Boolean))throw new Error("Can not register Player component after player has been created.");}return s.components_[i]=n,s.components_[cl(i)]=n,n;},s.getComponent=function(i){if(!(!i||!s.components_))return s.components_[i];},s;}();de.prototype.supportsRaf_=typeof re.default.requestAnimationFrame=="function"&&typeof re.default.cancelAnimationFrame=="function";de.registerComponent("Component",de);function Dx(s,e,t){if(typeof e!="number"||e<0||e>t)throw new Error("Failed to execute '"+s+"' on 'TimeRanges': The index provided ("+e+") is non-numeric or out of bounds (0-"+t+").");}function Hv(s,e,t,i){return Dx(s,i,t.length-1),t[i][e];}function Ru(s){var e;return s===void 0||s.length===0?e={length:0,start:function(){throw new Error("This TimeRanges object is empty");},end:function(){throw new Error("This TimeRanges object is empty");}}:e={length:s.length,start:Hv.bind(null,"start",0,s),end:Hv.bind(null,"end",1,s)},re.default.Symbol&&re.default.Symbol.iterator&&(e[re.default.Symbol.iterator]=function(){return(s||[]).values();}),e;}function fr(s,e){return Array.isArray(s)?Ru(s):s===void 0||e===void 0?Ru():Ru([[s,e]]);}function G0(s,e){var t=0,i,n;if(!e)return 0;(!s||!s.length)&&(s=fr(0,0));for(var r=0;r<s.length;r++)i=s.start(r),n=s.end(r),n>e&&(n=e),t+=n-i;return t/e;}function vi(s){if(s instanceof vi)return s;typeof s=="number"?this.code=s:typeof s=="string"?this.message=s:Sn(s)&&(typeof s.code=="number"&&(this.code=s.code),jt(this,s)),this.message||(this.message=vi.defaultMessages[this.code]||"");}vi.prototype.code=0;vi.prototype.message="";vi.prototype.status=null;vi.errorTypes=["MEDIA_ERR_CUSTOM","MEDIA_ERR_ABORTED","MEDIA_ERR_NETWORK","MEDIA_ERR_DECODE","MEDIA_ERR_SRC_NOT_SUPPORTED","MEDIA_ERR_ENCRYPTED"];vi.defaultMessages={1:"You aborted the media playback",2:"A network error caused the media download to fail part-way.",3:"The media playback was aborted due to a corruption problem or because the media used features your browser did not support.",4:"The media could not be loaded, either because the server or network failed or because the format is not supported.",5:"The media is encrypted and we do not have the keys to decrypt it."};for(dr=0;dr<vi.errorTypes.length;dr++)vi[vi.errorTypes[dr]]=dr,vi.prototype[vi.errorTypes[dr]]=dr;var dr;function _o(s){return s!=null&&typeof s.then=="function";}function en(s){_o(s)&&s.then(null,function(e){});}var Wu=function(e){var t=["kind","label","language","id","inBandMetadataTrackDispatchType","mode","src"].reduce(function(i,n,r){return e[n]&&(i[n]=e[n]),i;},{cues:e.cues&&Array.prototype.map.call(e.cues,function(i){return{startTime:i.startTime,endTime:i.endTime,text:i.text,id:i.id};})});return t;},Nx=function(e){var t=e.$$("track"),i=Array.prototype.map.call(t,function(r){return r.track;}),n=Array.prototype.map.call(t,function(r){var o=Wu(r.track);return r.src&&(o.src=r.src),o;});return n.concat(Array.prototype.filter.call(e.textTracks(),function(r){return i.indexOf(r)===-1;}).map(Wu));},jx=function(e,t){return e.forEach(function(i){var n=t.addRemoteTextTrack(i).track;!i.src&&i.cues&&i.cues.forEach(function(r){return n.addCue(r);});}),t.textTracks();},$v={textTracksToJson:Nx,jsonToTextTracks:jx,trackToJson_:Wu},Pu="vjs-modal-dialog",ds=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.handleKeyDown_=function(o){return r.handleKeyDown(o);},r.close_=function(o){return r.close(o);},r.opened_=r.hasBeenOpened_=r.hasBeenFilled_=!1,r.closeable(!r.options_.uncloseable),r.content(r.options_.content),r.contentEl_=rt("div",{className:Pu+"-content"},{role:"document"}),r.descEl_=rt("p",{className:Pu+"-description vjs-control-text",id:r.el().getAttribute("aria-describedby")}),mr(r.descEl_,r.description()),r.el_.appendChild(r.descEl_),r.el_.appendChild(r.contentEl_),r;}var t=e.prototype;return t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:this.buildCSSClass(),tabIndex:-1},{"aria-describedby":this.id()+"_description","aria-hidden":"true","aria-label":this.label(),role:"dialog"});},t.dispose=function(){this.contentEl_=null,this.descEl_=null,this.previouslyActiveEl_=null,s.prototype.dispose.call(this);},t.buildCSSClass=function(){return Pu+" vjs-hidden "+s.prototype.buildCSSClass.call(this);},t.label=function(){return this.localize(this.options_.label||"Modal Window");},t.description=function(){var n=this.options_.description||this.localize("This is a modal window.");return this.closeable()&&(n+=" "+this.localize("This modal can be closed by pressing the Escape key or activating the close button.")),n;},t.open=function(){if(!this.opened_){var n=this.player();this.trigger("beforemodalopen"),this.opened_=!0,(this.options_.fillAlways||!this.hasBeenOpened_&&!this.hasBeenFilled_)&&this.fill(),this.wasPlaying_=!n.paused(),this.options_.pauseOnOpe
11n&&this.wasPlaying_&&n.pause(),this.on("keydown",this.handleKeyDown_),this.hadControls_=n.controls(),n.controls(!1),this.show(),this.conditionalFocus_(),this.el().setAttribute("aria-hidden","false"),this.trigger("modalopen"),this.hasBeenOpened_=!0;}},t.opened=function(n){return typeof n=="boolean"&&this[n?"open":"close"](),this.opened_;},t.close=function(){if(this.opened_){var n=this.player();this.trigger("beforemodalclose"),this.opened_=!1,this.wasPlaying_&&this.options_.pauseOnOpen&&n.play(),this.off("keydown",this.handleKeyDown_),this.hadControls_&&n.controls(!0),this.hide(),this.el().setAttribute("aria-hidden","true"),this.trigger("modalclose"),this.conditionalBlur_(),this.options_.temporary&&this.dispose();}},t.closeable=function(n){if(typeof n=="boolean"){var r=this.closeable_=!!n,o=this.getChild("closeButton");if(r&&!o){var a=this.contentEl_;this.contentEl_=this.el_,o=this.addChild("closeButton",{controlText:"Close Modal Dialog"}),this.contentEl_=a,this.on(o,"close",this.close_);}!r&&o&&(this.off(o,"close",this.close_),this.removeChild(o),o.dispose());}return this.closeable_;},t.fill=function(){this.fillWith(this.content());},t.fillWith=function(n){var r=this.contentEl(),o=r.parentNode,a=r.nextSibling;this.trigger("beforemodalfill"),this.hasBeenFilled_=!0,o.removeChild(r),this.empty(),L0(r,n),this.trigger("modalfill"),a?o.insertBefore(r,a):o.appendChild(r);var l=this.getChild("closeButton");l&&o.appendChild(l.el_);},t.empty=function(){this.trigger("beforemodalempty"),ec(this.contentEl()),this.trigger("modalempty");},t.content=function(n){return typeof n<"u"&&(this.content_=n),this.content_;},t.conditionalFocus_=function(){var n=_e.default.activeElement,r=this.player_.el_;this.previouslyActiveEl_=null,(r.contains(n)||r===n)&&(this.previouslyActiveEl_=n,this.focus());},t.conditionalBlur_=function(){this.previouslyActiveEl_&&(this.previouslyActiveEl_.focus(),this.previouslyActiveEl_=null);},t.handleKeyDown=function(n){if(n.stopPropagation(),Ge.default.isEventKey(n,"Escape")&&this.closeable()){n.preventDefault(),this.close();return;}if(Ge.default.isEventKey(n,"Tab")){for(var r=this.focusableEls_(),o=this.el_.querySelector(":focus"),a,l=0;l<r.length;l++)if(o===r[l]){a=l;break;}_e.default.activeElement===this.el_&&(a=0),n.shiftKey&&a===0?(r[r.length-1].focus(),n.preventDefault()):!n.shiftKey&&a===r.length-1&&(r[0].focus(),n.preventDefault());}},t.focusableEls_=function(){var n=this.el_.querySelectorAll("*");return Array.prototype.filter.call(n,function(r){return(r instanceof re.default.HTMLAnchorElement||r instanceof re.default.HTMLAreaElement)&&r.hasAttribute("href")||(r instanceof re.default.HTMLInputElement||r instanceof re.default.HTMLSelectElement||r instanceof re.default.HTMLTextAreaElement||r instanceof re.default.HTMLButtonElement)&&!r.hasAttribute("disabled")||r instanceof re.default.HTMLIFrameElement||r instanceof re.default.HTMLObjectElement||r instanceof re.default.HTMLEmbedElement||r.hasAttribute("tabindex")&&r.getAttribute("tabindex")!==-1||r.hasAttribute("contenteditable");});},e;}(de);ds.prototype.options_={pauseOnOpen:!0,temporary:!0};de.registerComponent("ModalDialog",ds);var ns=function(s){Ce.default(e,s);function e(i){var n;i===void 0&&(i=[]),n=s.call(this)||this,n.tracks_=[],Object.defineProperty(lt.default(n),"length",{get:function(){return this.tracks_.length;}});for(var r=0;r<i.length;r++)n.addTrack(i[r]);return n;}var t=e.prototype;return t.addTrack=function(n){var r=this,o=this.tracks_.length;""+o in this||Object.defineProperty(this,o,{get:function(){return this.tracks_[o];}}),this.tracks_.indexOf(n)===-1&&(this.tracks_.push(n),this.trigger({track:n,type:"addtrack",target:this})),n.labelchange_=function(){r.trigger({track:n,type:"labelchange",target:r});},En(n)&&n.addEventListener("labelchange",n.labelchange_);},t.removeTrack=function(n){for(var r,o=0,a=this.length;o<a;o++)if(this[o]===n){r=this[o],r.off&&r.off(),this.tracks_.splice(o,1);break;}r&&this.trigger({track:r,type:"removetrack",target:this});},t.getTrackById=function(n){for(var r=null,o=0,a=this.length;o<a;o++){var l=this[o];if(l.id===n){r=l;break;}}return r;},e;}(ei);ns.prototype.allowedEvents_={change:"change",addtrack:"addtrack",removetrack:"removetrack",labelchange:"labelchange"};for(Gv in ns.prototype.allowedEvents_)ns.prototype["on"+Gv]=null;var Gv,ku=function(e,t){for(var i=0;i<e.length;
11i++)!Object.keys(e[i]).length||t.id===e[i].id||(e[i].enabled=!1);},Fx=function(s){Ce.default(e,s);function e(i){var n;i===void 0&&(i=[]);for(var r=i.length-1;r>=0;r--)if(i[r].enabled){ku(i,i[r]);break;}return n=s.call(this,i)||this,n.changing_=!1,n;}var t=e.prototype;return t.addTrack=function(n){var r=this;n.enabled&&ku(this,n),s.prototype.addTrack.call(this,n),n.addEventListener&&(n.enabledChange_=function(){r.changing_||(r.changing_=!0,ku(r,n),r.changing_=!1,r.trigger("change"));},n.addEventListener("enabledchange",n.enabledChange_));},t.removeTrack=function(n){s.prototype.removeTrack.call(this,n),n.removeEventListener&&n.enabledChange_&&(n.removeEventListener("enabledchange",n.enabledChange_),n.enabledChange_=null);},e;}(ns),Ou=function(e,t){for(var i=0;i<e.length;i++)!Object.keys(e[i]).length||t.id===e[i].id||(e[i].selected=!1);},Vx=function(s){Ce.default(e,s);function e(i){var n;i===void 0&&(i=[]);for(var r=i.length-1;r>=0;r--)if(i[r].selected){Ou(i,i[r]);break;}return n=s.call(this,i)||this,n.changing_=!1,Object.defineProperty(lt.default(n),"selectedIndex",{get:function(){for(var a=0;a<this.length;a++)if(this[a].selected)return a;return-1;},set:function(){}}),n;}var t=e.prototype;return t.addTrack=function(n){var r=this;n.selected&&Ou(this,n),s.prototype.addTrack.call(this,n),n.addEventListener&&(n.selectedChange_=function(){r.changing_||(r.changing_=!0,Ou(r,n),r.changing_=!1,r.trigger("change"));},n.addEventListener("selectedchange",n.selectedChange_));},t.removeTrack=function(n){s.prototype.removeTrack.call(this,n),n.removeEventListener&&n.selectedChange_&&(n.removeEventListener("selectedchange",n.selectedChange_),n.selectedChange_=null);},e;}(ns),W0=function(s){Ce.default(e,s);function e(){return s.apply(this,arguments)||this;}var t=e.prototype;return t.addTrack=function(n){var r=this;s.prototype.addTrack.call(this,n),this.queueChange_||(this.queueChange_=function(){return r.queueTrigger("change");}),this.triggerSelectedlanguagechange||(this.triggerSelectedlanguagechange_=function(){return r.trigger("selectedlanguagechange");}),n.addEventListener("modechange",this.queueChange_);var o=["metadata","chapters"];o.indexOf(n.kind)===-1&&n.addEventListener("modechange",this.triggerSelectedlanguagechange_);},t.removeTrack=function(n){s.prototype.removeTrack.call(this,n),n.removeEventListener&&(this.queueChange_&&n.removeEventListener("modechange",this.queueChange_),this.selectedlanguagechange_&&n.removeEventListener("modechange",this.triggerSelectedlanguagechange_));},e;}(ns),Bx=function(){function s(t){t===void 0&&(t=[]),this.trackElements_=[],Object.defineProperty(this,"length",{get:function(){return this.trackElements_.length;}});for(var i=0,n=t.length;i<n;i++)this.addTrackElement_(t[i]);}var e=s.prototype;return e.addTrackElement_=function(i){var n=this.trackElements_.length;""+n in this||Object.defineProperty(this,n,{get:function(){return this.trackElements_[n];}}),this.trackElements_.indexOf(i)===-1&&this.trackElements_.push(i);},e.getTrackElementByTrack_=function(i){for(var n,r=0,o=this.trackElements_.length;r<o;r++)if(i===this.trackElements_[r].track){n=this.trackElements_[r];break;}return n;},e.removeTrackElement_=function(i){for(var n=0,r=this.trackElements_.length;n<r;n++)if(i===this.trackElements_[n]){this.trackElements_[n].track&&typeof this.trackElements_[n].track.off=="function"&&this.trackElements_[n].track.off(),typeof this.trackElements_[n].off=="function"&&this.trackElements_[n].off(),this.trackElements_.splice(n,1);break;}},s;}(),Wv=function(){function s(t){s.prototype.setCues_.call(this,t),Object.defineProperty(this,"length",{get:function(){return this.length_;}});}var e=s.prototype;return e.setCues_=function(i){var n=this.length||0,r=0,o=i.length;this.cues_=i,this.length_=i.length;var a=function(d){""+d in this||Object.defineProperty(this,""+d,{get:function(){return this.cues_[d];}});};if(n<o)for(r=n;r<o;r++)a.call(this,r);},e.getCueById=function(i){for(var n=null,r=0,o=this.length;r<o;r++){var a=this[r];if(a.id===i){n=a;break;}}return n;},s;}(),Ux={alternative:"alternative",captions:"captions",main:"main",sign:"sign",subtitles:"subtitles",commentary:"commentary"},Hx={alternative:"alternative",descriptions:"descriptions",main:"main","main-desc":"main-desc",translation:"translation",commentary:"commentary"},$x={subtitles:"subtitles",captions:"captions",descriptions:"descriptions",chapters:"chapters",metadata:"metadata"},zv={disabled:"disabled",hidden:"hidden",showing:"showing"},rc=function(s){Ce.default(e,s);function e(t){var i;t===void 0&&(t={}),i=s.call(this)||this;var n={id:t.id||"vjs_track_"+An(),kind:t.kind||"",language:t.language||""},r=t.label||"",o=function(d){Object.defineProperty(lt.default(i),d,{get:function(){return n[d];},set:function(){}});};for(var a in n)o(a);return Object.defineProperty(lt.default(i),"label",{get:function(){return r;},set:function(d){d!==r&&(r=d,this.trigger("labelchange"));}}),i;}return e;}(ei),sc=function(e){var t=["protocol","hostname","port","pathname","search","hash","host"],i=_e.default.createElement("a");i.href=e;for(var n={},r=0;r<t.length;r++)n[t[r]]=i[t[r]];return n.protocol==="http:"&&(n.host=n.host.replace(/:80$/,"")),n.protocol==="https:"&&(n.host=n.host.replace(/:443$/,"")),n.protocol||(n.protocol=re.default.location.protocol),n.host||(n.host=re.default.location.host),n;},z0=function(e){if(!e.match(/^https?:\/\//)){var t=_e.default.createElement("a");t.href=e,e=t.href;}return e;},oc=function(e){if(typeof e=="string"){var t=/^(\/?)([\s\S]*?)((?:\.{1,2}|[^\/]+?)(\.([^\.\/\?]+)))(?:[\/]*|[\?].*)$/,i=t.exec(e);if(i)return i.pop().toLowerCase();}return"";},Rl=function(e,t){t===void 0&&(t=re.default.location);var i=sc(e),n=i.protocol===":"?t.protocol:i.protocol,r=n+i.host!==t.protocol+t.host;return r;},Gx=Object.freeze({__proto__:null,parseUrl:sc,getAbsoluteURL:z0,getFileExtension:oc,isCrossOrigin:Rl}),qv=function(e,t){var i=new re.default.WebVTT.Parser(re.default,re.default.vttjs,re.default.WebVTT.StringDecoder()),n=[];i.oncue=function(r){t.addCue(r);},i.onparsingerror=function(r){n.push(r);},i.onflush=function(){t.trigger({type:"loadeddata",target:t});},i.parse(e),n.length>0&&(re.default.console&&re.default.console.groupCollapsed&&re.default.console.groupCollapsed("Text Track parsing errors for "+t.src),n.forEac
11h(function(r){return Je.error(r);}),re.default.console&&re.default.console.groupEnd&&re.default.console.groupEnd()),i.flush();},Kv=function(e,t){var i={uri:e},n=Rl(e);n&&(i.cors=n);var r=t.tech_.crossOrigin()==="use-credentials";r&&(i.withCredentials=r),h0.default(i,xt(this,function(o,a,l){if(o)return Je.error(o,a);t.loaded_=!0,typeof re.default.WebVTT!="function"?t.tech_&&t.tech_.any(["vttjsloaded","vttjserror"],function(d){if(d.type==="vttjserror"){Je.error("vttjs failed to load, stopping trying to process "+t.src);return;}return qv(l,t);}):qv(l,t);}));},xo=function(s){Ce.default(e,s);function e(i){var n;if(i===void 0&&(i={}),!i.tech)throw new Error("A tech was not provided.");var r=wt(i,{kind:$x[i.kind]||"subtitles",language:i.language||i.srclang||""}),o=zv[r.mode]||"disabled",a=r.default;(r.kind==="metadata"||r.kind==="chapters")&&(o="hidden"),n=s.call(this,r)||this,n.tech_=r.tech,n.cues_=[],n.activeCues_=[],n.preload_=n.tech_.preloadTextTracks!==!1;var l=new Wv(n.cues_),d=new Wv(n.activeCues_),u=!1;n.timeupdateHandler=xt(lt.default(n),function(h){if(h===void 0&&(h={}),!this.tech_.isDisposed()){if(!this.tech_.isReady_){h.type!=="timeupdate"&&(this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler));return;}this.activeCues=this.activeCues,u&&(this.trigger("cuechange"),u=!1),h.type!=="timeupdate"&&(this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler));}});var c=function(){n.stopTracking();};return n.tech_.one("dispose",c),o!=="disabled"&&n.startTracking(),Object.defineProperties(lt.default(n),{default:{get:function(){return a;},set:function(){}},mode:{get:function(){return o;},set:function(f){zv[f]&&o!==f&&(o=f,!this.preload_&&o!=="disabled"&&this.cues.length===0&&Kv(this.src,this),this.stopTracking(),o!=="disabled"&&this.startTracking(),this.trigger("modechange"));}},cues:{get:function(){return this.loaded_?l:null;},set:function(){}},activeCues:{get:function(){if(!this.loaded_)return null;if(this.cues.length===0)return d;for(var f=this.tech_.currentTime(),p=[],g=0,m=this.cues.length;g<m;g++){var b=this.cues[g];(b.startTime<=f&&b.endTime>=f||b.startTime===b.endTime&&b.startTime<=f&&b.startTime+.5>=f)&&p.push(b);}if(u=!1,p.length!==this.activeCues_.length)u=!0;else for(var T=0;T<p.length;T++)this.activeCues_.indexOf(p[T])===-1&&(u=!0);return this.activeCues_=p,d.setCues_(this.activeCues_),d;},set:function(){}}}),r.src?(n.src=r.src,n.preload_||(n.loaded_=!0),(n.preload_||r.kind!=="subtitles"&&r.kind!=="captions")&&Kv(n.src,lt.default(n))):n.loaded_=!0,n;}var t=e.prototype;return t.startTracking=function(){this.rvf_=this.tech_.requestVideoFrameCallback(this.timeupdateHandler),this.tech_.on("timeupdate",this.timeupdateHandler);},t.stopTracking=function(){this.rvf_&&(this.tech_.cancelVideoFrameCallback(this.rvf_),this.rvf_=void 0),this.tech_.off("timeupdate",this.timeupdateHandler);},t.addCue=function(n){var r=n;if(r.constructor&&r.constructor.name!=="VTTCue"){r=new re.default.vttjs.VTTCue(n.startTime,n.endTime,n.text);for(var o in n)o in r||(r[o]=n[o]);r.id=n.id,r.originalCue_=n;}for(var a=this.tech_.textTracks(),l=0;l<a.length;l++)a[l]!==this&&a[l].removeCue(r);this.cues_.push(r),this.cues.setCues_(this.cues_);},t.removeCue=function(n){for(var r=this.cues_.length;r--;){var o=this.cues_[r];if(o===n||o.originalCue_&&o.originalCue_===n){this.cues_.splice(r,1),this.cues.setCues_(this.cues_);break;}}},e;}(rc);xo.prototype.allowedEvents_={cuechange:"cuechange"};var q0=function(s){Ce.default(e,s);function e(t){var i;t===void 0&&(t={});var n=wt(t,{kind:Hx[t.kind]||""});i=s.call(this,n)||this;var r=!1;return Object.defineProperty(lt.default(i),"enabled",{get:function(){return r;},set:function(a){typeof a!="boolean"||a===r||(r=a,this.trigger("enabledchange"));}}),n.enabled&&(i.enabled=n.enabled),i.loaded_=!0,i;}return e;}(rc),K0=function(s){Ce.default(e,s);function e(t){var i;t===void 0&&(t={});var n=wt(t,{kind:Ux[t.kind]||""});i=s.call(this,n)||this;var r=!1;return Object.defineProperty(lt.default(i),"selected",{get:function(){return r;},set:function(a){typeof a!="boolean"||a===r||(r=a,this.trigger("selectedchange"));}}),n.selected&&(i.selected=n.selected),i;}return e;}(rc),Y0=0,Wx=1,X0=2,zx=3,us=function(s){Ce.default(e,s);function e(t){var i;t===void 0&&(t={}),i=s.call(this)||this;var n,r=new xo(t);return i.kind=r.kind,i.src=r.src,i.srclang=r.language,i.label=r.label,i.default=r.default,Object.defineProperties(lt.default(i),{readyState:{get:function(){return n;}},track:{get:function(){return r;}}}),n=Y0,r.addEventListener("loadeddata",function(){n=X0,i.trigger({type:"load",target:lt.default(i)});}),i;}return e;}(ei);us.prototype.allowedEvents_={load:"load"};us.NONE=Y0;us.LOADING=Wx;us.LOADED=X0;us.ERROR=zx;
11var Li={audio:{ListClass:Fx,TrackClass:q0,capitalName:"Audio"},video:{ListClass:Vx,TrackClass:K0,capitalName:"Video"},text:{ListClass:W0,TrackClass:xo,capitalName:"Text"}};Object.keys(Li).forEach(function(s){Li[s].getterName=s+"Tracks",Li[s].privateName=s+"Tracks_";});var rs={remoteText:{ListClass:W0,TrackClass:xo,capitalName:"RemoteText",getterName:"remoteTextTracks",privateName:"remoteTextTracks_"},remoteTextEl:{ListClass:Bx,TrackClass:us,capitalName:"RemoteTextTrackEls",getterName:"remoteTextTrackEls",privateName:"remoteTextTrackEls_"}},mi=Yu.default({},Li,rs);rs.names=Object.keys(rs);Li.names=Object.keys(Li);mi.names=[].concat(rs.names).concat(Li.names);function qx(s,e,t,i,n){n===void 0&&(n={});var r=s.textTracks();n.kind=e,t&&(n.label=t),i&&(n.language=i),n.tech=s;var o=new mi.text.TrackClass(n);return r.addTrack(o),o;}var yt=function(s){Ce.default(e,s);function e(i,n){var r;return i===void 0&&(i={}),n===void 0&&(n=function(){}),i.reportTouchActivity=!1,r=s.call(this,null,i,n)||this,r.onDurationChange_=function(o){return r.onDurationChange(o);},r.trackProgress_=function(o){return r.trackProgress(o);},r.trackCurrentTime_=function(o){return r.trackCurrentTime(o);},r.stopTrackingCurrentTime_=function(o){return r.stopTrackingCurrentTime(o);},r.disposeSourceHandler_=function(o){return r.disposeSourceHandler(o);},r.queuedHanders_=new Set(),r.hasStarted_=!1,r.on("playing",function(){this.hasStarted_=!0;}),r.on("loadstart",function(){this.hasStarted_=!1;}),mi.names.forEach(function(o){var a=mi[o];i&&i[a.getterName]&&(r[a.privateName]=i[a.getterName]);}),r.featuresProgressEvents||r.manualProgressOn(),r.featuresTimeupdateEvents||r.manualTimeUpdatesOn(),["Text","Audio","Video"].forEach(function(o){i["native"+o+"Tracks"]===!1&&(r["featuresNative"+o+"Tracks"]=!1);}),i.nativeCaptions===!1||i.nativeTextTracks===!1?r.featuresNativeTextTracks=!1:(i.nativeCaptions===!0||i.nativeTextTracks===!0)&&(r.featuresNativeTextTracks=!0),r.featuresNativeTextTracks||r.emulateTextTracks(),r.preloadTextTracks=i.preloadTextTracks!==!1,r.autoRemoteTextTracks_=new mi.text.ListClass(),r.initTrackListeners(),i.nativeControlsForTouch||r.emitTapEvents(),r.constructor&&(r.name_=r.constructor.name||"Unknown Tech"),r;}var t=e.prototype;return t.triggerSourceset=function(n){var r=this;this.isReady_||this.one("ready",function(){return r.setTimeout(function(){return r.triggerSourceset(n);},1);}),this.trigger({src:n,type:"sourceset"});},t.manualProgressOn=function(){this.on("durationchange",this.onDurationChange_),this.manualProgress=!0,this.one("ready",this.trackProgress_);},t.manualProgressOff=function(){this.manualProgress=!1,this.stopTrackingProgress(),this.off("durationchange",this.onDurationChange_);},t.trackProgress=function(n){this.stopTrackingProgress(),this.progressInterval=this.setInterval(xt(this,function(){var r=this.bufferedPercent();this.bufferedPercent_!==r&&this.trigger("progress"),this.bufferedPercent_=r,r===1&&this.stopTrackingProgress();}),500);},t.onDurationChange=function(n){this.duration_=this.duration();},t.buffered=function(){return fr(0,0);},t.bufferedPercent=function(){return G0(this.buffered(),this.duration_);},t.stopTrackingProgress=function(){this.clearInterval(this.progressInterval);},t.manualTimeUpdatesOn=function(){this.manualTimeUpdates=!0,this.on("play",this.trackCurrentTime_),this.on("pause",this.stopTrackingCurrentTime_);},t.manualTimeUpdatesOff=function(){this.manualTimeUpdates=!1,this.stopTrackingCurrentTime(),this.off("play",this.trackCurrentTime_),this.off("pause",this.stopTrackingCurrentTime_);},t.trackCurrentTime=function(){this.currentTimeInterval&&this.stopTrackingCurrentTime(),this.currentTimeInterval=this.setInterval(function(){this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0});},250);},t.stopTrackingCurrentTime=function(){this.clearInterval(this.currentTimeInterval),this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0});},t.dispose=function(){this.clearTracks(Li.names),this.manualProgress&&this.manualProgressOff(),this.manualTimeUpdates&&this.manualTimeUpdatesOff(),s.prototype.dispose.call(this);},t.clearTracks=function(n){var r=this;
11n=[].concat(n),n.forEach(function(o){for(var a=r[o+"Tracks"]()||[],l=a.length;l--;){var d=a[l];o==="text"&&r.removeRemoteTextTrack(d),a.removeTrack(d);}});},t.cleanupAutoTextTracks=function(){for(var n=this.autoRemoteTextTracks_||[],r=n.length;r--;){var o=n[r];this.removeRemoteTextTrack(o);}},t.reset=function(){},t.crossOrigin=function(){},t.setCrossOrigin=function(){},t.error=function(n){return n!==void 0&&(this.error_=new vi(n),this.trigger("error")),this.error_;},t.played=function(){return this.hasStarted_?fr(0,0):fr();},t.play=function(){},t.setScrubbing=function(){},t.scrubbing=function(){},t.setCurrentTime=function(){this.manualTimeUpdates&&this.trigger({type:"timeupdate",target:this,manuallyTriggered:!0});},t.initTrackListeners=function(){var n=this;Li.names.forEach(function(r){var o=Li[r],a=function(){n.trigger(r+"trackchange");},l=n[o.getterName]();l.addEventListener("removetrack",a),l.addEventListener("addtrack",a),n.on("dispose",function(){l.removeEventListener("removetrack",a),l.removeEventListener("addtrack",a);});});},t.addWebVttScript_=function(){var n=this;if(!re.default.WebVTT)if(_e.default.body.contains(this.el())){if(!this.options_["vtt.js"]&&yo(jv.default)&&Object.keys(jv.default).length>0){this.trigger("vttjsloaded");return;}var r=_e.default.createElement("script");r.src=this.options_["vtt.js"]||"https://vjs.zencdn.net/vttjs/0.14.1/vtt.min.js",r.onload=function(){n.trigger("vttjsloaded");},r.onerror=function(){n.trigger("vttjserror");},this.on("dispose",function(){r.onload=null,r.onerror=null;}),re.default.WebVTT=!0,this.el().parentNode.appendChild(r);}else this.ready(this.addWebVttScript_);},t.emulateTextTracks=function(){var n=this,r=this.textTracks(),o=this.remoteTextTracks(),a=function(h){return r.addTrack(h.track);},l=function(h){return r.removeTrack(h.track);};o.on("addtrack",a),o.on("removetrack",l),this.addWebVttScript_();var d=function(){return n.trigger("texttrackchange");},u=function(){d();for(var h=0;h<r.length;h++){var f=r[h];f.removeEventListener("cuechange",d),f.mode==="showing"&&f.addEventListener("cuechange",d);}};u(),r.addEventListener("change",u),r.addEventListener("addtrack",u),r.addEventListener("removetrack",u),this.on("dispose",function(){o.off("addtrack",a),o.off("removetrack",l),r.removeEventListener("change",u),r.removeEventListener("addtrack",u),r.removeEventListener("removetrack",u);for(var c=0;c<r.length;c++){var h=r[c];h.removeEventListener("cuechange",d);}});},t.addTextTrack=function(n,r,o){if(!n)throw new Error("TextTrack kind is required but was not provided");return qx(this,n,r,o);},t.createRemoteTextTrack=function(n){var r=wt(n,{tech:this});return new rs.remoteTextEl.TrackClass(r);},t.addRemoteTextTrack=function(n,r){var o=this;n===void 0&&(n={});var a=this.createRemoteTextTrack(n);return r!==!0&&r!==!1&&(Je.warn('Calling addRemoteTextTrack without explicitly setting the "manualCleanup" parameter to `true` is deprecated and default to `false` in future version of video.js'),r=!0),this.remoteTextTrackEls().addTrackElement_(a),this.remoteTextTracks().addTrack(a.track),r!==!0&&this.ready(function(){return o.autoRemoteTextTracks_.addTrack(a.track);}),a;},t.removeRemoteTextTrack=function(n){var r=this.remoteTextTrackEls().getTrackElementByTrack_(n);this.remoteTextTrackEls().removeTrackElement_(r),this.remoteTextTracks().removeTrack(n),this.autoRemoteTextTracks_.removeTrack(n);},t.getVideoPlaybackQuality=function(){return{};},t.requestPictureInPicture=function(){var n=this.options_.Promise||re.default.Promise;if(n)return n.reject();},t.disablePictureInPicture=function(){return!0;},t.setDisablePictureInPicture=function(){},t.requestVideoFrameCallback=function(n){var r=this,o=An();return!this.isReady_||this.paused()?(this.queuedHanders_.add(o),this.one("playing",function(){r.queuedHanders_.has(o)&&(r.queuedHanders_.delete(o),n());})):this.requestNamedAnimationFrame(o,n),o;},t.cancelVideoFrameCallback=function(n){this.queuedHanders_.has(n)?this.queuedHanders_.delete(n):this.cancelNamedAnimationFrame(n);},t.setPoster=function(){},t.playsinline=function(){},t.setPlaysinline=function(){},t.overrideNativeAudioTracks=function(){},t.overrideNativeVideoTracks=function(){},t.canPlayType=function(){return"";},e.canPlayType=function(){return"";},e.canPlaySource=function(n,r){return e.canPlayType(n.type);},e.isTech=function(n){return n.prototype instanceof e||n instanceof e||n===e;},e.registerTech=function(n,r){if(e.techs_||(e.techs_={}),!e.isTech(r))throw new Error("Tech "+n+" must be a Tech");if(!e.canPlayType)throw new Error("Techs must have a static canPlayType method on them");if(!e.canPlaySource)throw new Error("Techs must have a static canPlaySource method on them");return n=Ht(n),e.techs_[n]=r,e.techs_[cl(n)]=r,n!=="Tech"&&e.defaultTechOrder_.push(n),r;},e.getTech=function(n){if(n){if(e.techs_&&e.techs_[n])return e.techs_[n];if(n=Ht(n),re.default&&re.default.videojs&&re.default.videojs[n])return Je.warn("The "+n+" tech w
11as added to the videojs object when it should be registered using videojs.registerTech(name, tech)"),re.default.videojs[n];}},e;}(de);mi.names.forEach(function(s){var e=mi[s];yt.prototype[e.getterName]=function(){return this[e.privateName]=this[e.privateName]||new e.ListClass(),this[e.privateName];};});yt.prototype.featuresVolumeControl=!0;yt.prototype.featuresMuteControl=!0;yt.prototype.featuresFullscreenResize=!1;yt.prototype.featuresPlaybackRate=!1;yt.prototype.featuresProgressEvents=!1;yt.prototype.featuresSourceset=!1;yt.prototype.featuresTimeupdateEvents=!1;yt.prototype.featuresNativeTextTracks=!1;yt.prototype.featuresVideoFrameCallback=!1;yt.withSourceHandlers=function(s){s.registerSourceHandler=function(t,i){var n=s.sourceHandlers;n||(n=s.sourceHandlers=[]),i===void 0&&(i=n.length),n.splice(i,0,t);},s.canPlayType=function(t){for(var i=s.sourceHandlers||[],n,r=0;r<i.length;r++)if(n=i[r].canPlayType(t),n)return n;return"";},s.selectSourceHandler=function(t,i){for(var n=s.sourceHandlers||[],r,o=0;o<n.length;o++)if(r=n[o].canHandleSource(t,i),r)return n[o];return null;},s.canPlaySource=function(t,i){var n=s.selectSourceHandler(t,i);return n?n.canHandleSource(t,i):"";};var e=["seekable","seeking","duration"];e.forEach(function(t){var i=this[t];typeof i=="function"&&(this[t]=function(){return this.sourceHandler_&&this.sourceHandler_[t]?this.sourceHandler_[t].apply(this.sourceHandler_,arguments):i.apply(this,arguments);});},s.prototype),s.prototype.setSource=function(t){var i=s.selectSourceHandler(t,this.options_);i||(s.nativeSourceHandler?i=s.nativeSourceHandler:Je.error("No source handler found for the current source.")),this.disposeSourceHandler(),this.off("dispose",this.disposeSourceHandler_),i!==s.nativeSourceHandler&&(this.currentSource_=t),this.sourceHandler_=i.handleSource(t,this,this.options_),this.one("dispose",this.disposeSourceHandler_);},s.prototype.disposeSourceHandler=function(){this.currentSource_&&(this.clearTracks(["audio","video"]),this.currentSource_=null),this.cleanupAutoTextTracks(),this.sourceHandler_&&(this.sourceHandler_.dispose&&this.sourceHandler_.dispose(),this.sourceHandler_=null);};};de.registerComponent("Tech",yt);yt.registerTech("Tech",yt);yt.defaultTechOrder_=[];var pr={},zu={},gl={};function Kx(s,e){pr[s]=pr[s]||[],pr[s].push(e);}function Yx(s,e,t){s.setTimeout(function(){return ur(e,pr[e.type],t,s);},1);}function Xx(s,e){s.forEach(function(t){return t.setTech&&t.setTech(e);});}function Qx(s,e,t){return s.reduceRight(ac(t),e[t]());}function Jx(s,e,t,i){return e[t](s.reduce(ac(t),i));}function Yv(s,e,t,i){i===void 0&&(i=null);var n="call"+Ht(t),r=s.reduce(ac(n),i),o=r===gl,a=o?null:e[t](r);return t1(s,t,a,o),a;}var Zx={buffered:1,currentTime:1,duration:1,muted:1,played:1,paused:1,seekable:1,volume:1,ended:1},e1={setCurrentTime:1,setMuted:1,setVolume:1},Xv={play:1,pause:1};function ac(s){return function(e,t){return e===gl?gl:t[s]?t[s](e):e;};}function t1(s,e,t,i){for(var n=s.length-1;n>=0;n--){var r=s[n];r[e]&&r[e](i,t);}}function i1(s){zu[s.id()]=null;}function n1(s,e){var t=zu[s.id()],i=null;if(t==null)return i=e(s),zu[s.id()]=[[e,i]],i;for(var n=0;n<t.length;n++){var r=t[n],o=r[0],a=r[1];o===e&&(i=a);}return i===null&&(i=e(s),t.push([e,i])),i;}function ur(s,e,t,i,n,r){s===void 0&&(s={}),e===void 0&&(e=[]),n===void 0&&(n=[]),r===void 0&&(r=!1);var o=e,a=o[0],l=o.slice(1);if(typeof a=="string")ur(s,pr[a],t,i,n,r);else if(a){var d=n1(i,a);if(!d.setSource)return n.push(d),ur(s,l,t,i,n,r);d.setSource(jt({},s),function(u,c){if(u)return ur(s,l,t,i,n,r);n.push(d),ur(c,s.type===c.type?l:pr[c.type],t,i,n,r);});}else l.length?ur(s,l,t,i,n,r):r?t(s,n):ur(s,pr["*"],t,i,n,!0);}var r1={opus:"video/ogg",ogv:"video/ogg",mp4:"video/mp4",mov:"video/mp4",m4v:"video/mp4",mkv:"video/x-matroska",m4a:"audio/mp4",mp3:"audio/mpeg",aac:"audio/aac",caf:"audio/x-caf",flac:"audio/flac",oga:"audio/ogg",wav:"audio/wav",m3u8:"application/x-mpegURL",mpd:"application/dash+xml",jpg:"image/jpeg",jpeg:"image/jpeg",gif:"image/gif",png:"image/png",svg:"image/svg+xml",webp:"image/webp"},vl=function(e){e===void 0&&(e="");var t=oc(e),i=r1[t.toLowerCase()];return i||"";},s1=function(e,t){if(!t)return"";
11if(e.cache_.source.src===t&&e.cache_.source.type)return e.cache_.source.type;var i=e.cache_.sources.filter(function(a){return a.src===t;});if(i.length)return i[0].type;for(var n=e.$$("source"),r=0;r<n.length;r++){var o=n[r];if(o.type&&o.src&&o.src===t)return o.type;}return vl(t);},o1=function s(e){if(Array.isArray(e)){var t=[];e.forEach(function(i){i=s(i),Array.isArray(i)?t=t.concat(i):Sn(i)&&t.push(i);}),e=t;}else typeof e=="string"&&e.trim()?e=[Qv({src:e})]:Sn(e)&&typeof e.src=="string"&&e.src&&e.src.trim()?e=[Qv(e)]:e=[];return e;};function Qv(s){if(!s.type){var e=vl(s.src);e&&(s.type=e);}return s;}var a1=function(s){Ce.default(e,s);function e(t,i,n){var r,o=wt({createEl:!1},i);if(r=s.call(this,t,o,n)||this,!i.playerOptions.sources||i.playerOptions.sources.length===0)for(var a=0,l=i.playerOptions.techOrder;a<l.length;a++){var d=Ht(l[a]),u=yt.getTech(d);if(d||(u=de.getComponent(d)),u&&u.isSupported()){t.loadTech_(d);break;}}else t.src(i.playerOptions.sources);return r;}return e;}(de);de.registerComponent("MediaLoader",a1);var Pl=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.options_.controlText&&r.controlText(r.options_.controlText),r.handleMouseOver_=function(o){return r.handleMouseOver(o);},r.handleMouseOut_=function(o){return r.handleMouseOut(o);},r.handleClick_=function(o){return r.handleClick(o);},r.handleKeyDown_=function(o){return r.handleKeyDown(o);},r.emitTapEvents(),r.enable(),r;}var t=e.prototype;return t.createEl=function(n,r,o){n===void 0&&(n="div"),r===void 0&&(r={}),o===void 0&&(o={}),r=jt({className:this.buildCSSClass(),tabIndex:0},r),n==="button"&&Je.error("Creating a ClickableComponent with an HTML element of "+n+" is not supported; use a Button instead."),o=jt({role:"button"},o),this.tabIndex_=r.tabIndex;var a=rt(n,r,o);return a.appendChild(rt("span",{className:"vjs-icon-placeholder"},{"aria-hidden":!0})),this.createControlTextEl(a),a;},t.dispose=function(){this.controlTextEl_=null,s.prototype.dispose.call(this);},t.createControlTextEl=function(n){return this.controlTextEl_=rt("span",{className:"vjs-control-text"},{"aria-live":"polite"}),n&&n.appendChild(this.controlTextEl_),this.controlText(this.controlText_,n),this.controlTextEl_;},t.controlText=function(n,r){if(r===void 0&&(r=this.el()),n===void 0)return this.controlText_||"Need Text";var o=this.localize(n);this.controlText_=n,mr(this.controlTextEl_,o),!this.nonIconControl&&!this.player_.options_.noUITitleAttributes&&r.setAttribute("title",o);},t.buildCSSClass=function(){return"vjs-control vjs-button "+s.prototype.buildCSSClass.call(this);},t.enable=function(){this.enabled_||(this.enabled_=!0,this.removeClass("vjs-disabled"),this.el_.setAttribute("aria-disabled","false"),typeof this.tabIndex_<"u"&&this.el_.setAttribute("tabIndex",this.tabIndex_),this.on(["tap","click"],this.handleClick_),this.on("keydown",this.handleKeyDown_));},t.disable=function(){this.enabled_=!1,this.addClass("vjs-disabled"),this.el_.setAttribute("aria-disabled","true"),typeof this.tabIndex_<"u"&&this.el_.removeAttribute("tabIndex"),this.off("mouseover",this.handleMouseOver_),this.off("mouseout",this.handleMouseOut_),this.off(["tap","click"],this.handleClick_),this.off("keydown",this.handleKeyDown_);},t.handleLanguagechange=function(){this.controlText(this.controlText_);},t.handleClick=function(n){this.options_.clickHandler&&this.options_.clickHandler.call(this,arguments);},t.handleKeyDown=function(n){Ge.default.isEventKey(n,"Space")||Ge.default.isEventKey(n,"Enter")?(n.preventDefault(),n.stopPropagation(),this.trigger("click")):s.prototype.handleKeyDown.call(this,n);},e;}(de);de.registerComponent("ClickableComponent",Pl);var l1=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.update(),r.update_=function(o){return r.update(o);},i.on("posterchange",r.update_),r;}var t=e.prototype;return t.dispose=function(){this.player().off("posterchange",this.update_),s.prototype.dispose.call(this);},t.createEl=function(){var n=rt("div",{className:"vjs-poster",tabIndex:-1});return n;},t.update=function(n){var r=this.player().poster();this.setSrc(r),r?this.show():this.hide();},t.setSrc=function(n){var r="";n&&(r='url("'+n+'")'),this.el_.style.backgroundImage=r;},t.handleClick=function(n){if(this.player_.controls()){var r=this.player_.usingPlugin("eme")&&this.player_.eme.sessions&&this.player_.eme.sessions.length>0;
11this.player_.tech(!0)&&!((Co||So)&&r)&&this.player_.tech(!0).focus(),this.player_.paused()?en(this.player_.play()):this.player_.pause();}},e;}(Pl);de.registerComponent("PosterImage",l1);var Oi="#222",Jv="#ccc",d1={monospace:"monospace",sansSerif:"sans-serif",serif:"serif",monospaceSansSerif:'"Andale Mono", "Lucida Console", monospace',monospaceSerif:'"Courier New", monospace',proportionalSansSerif:"sans-serif",proportionalSerif:"serif",casual:'"Comic Sans MS", Impact, fantasy',script:'"Monotype Corsiva", cursive',smallcaps:'"Andale Mono", "Lucida Console", monospace, sans-serif'};function Lu(s,e){var t;if(s.length===4)t=s[1]+s[1]+s[2]+s[2]+s[3]+s[3];else if(s.length===7)t=s.slice(1);else throw new Error("Invalid color code provided, "+s+"; must be formatted as e.g. #f0e or #f604e2.");return"rgba("+parseInt(t.slice(0,2),16)+","+parseInt(t.slice(2,4),16)+","+parseInt(t.slice(4,6),16)+","+e+")";}function Mu(s,e,t){try{s.style[e]=t;}catch{return;}}var u1=function(s){Ce.default(e,s);function e(i,n,r){var o;o=s.call(this,i,n,r)||this;var a=function(d){return o.updateDisplay(d);};return i.on("loadstart",function(l){return o.toggleDisplay(l);}),i.on("texttrackchange",a),i.on("loadedmetadata",function(l){return o.preselectTrack(l);}),i.ready(xt(lt.default(o),function(){if(i.tech_&&i.tech_.featuresNativeTextTracks){this.hide();return;}i.on("fullscreenchange",a),i.on("playerresize",a),re.default.addEventListener("orientationchange",a),i.on("dispose",function(){return re.default.removeEventListener("orientationchange",a);});for(var l=this.options_.playerOptions.tracks||[],d=0;d<l.length;d++)this.player_.addRemoteTextTrack(l[d],!0);this.preselectTrack();})),o;}var t=e.prototype;return t.preselectTrack=function(){for(var n={captions:1,subtitles:1},r=this.player_.textTracks(),o=this.player_.cache_.selectedLanguage,a,l,d,u=0;u<r.length;u++){var c=r[u];o&&o.enabled&&o.language&&o.language===c.language&&c.kind in n?c.kind===o.kind?d=c:d||(d=c):o&&!o.enabled?(d=null,a=null,l=null):c.default&&(c.kind==="descriptions"&&!a?a=c:c.kind in n&&!l&&(l=c));}d?d.mode="showing":l?l.mode="showing":a&&(a.mode="showing");},t.toggleDisplay=function(){this.player_.tech_&&this.player_.tech_.featuresNativeTextTracks?this.hide():this.show();},t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:"vjs-text-track-display"},{translate:"yes","aria-live":"off","aria-atomic":"true"});},t.clearDisplay=function(){typeof re.default.WebVTT=="function"&&re.default.WebVTT.processCues(re.default,[],this.el_);},t.updateDisplay=function(){var n=this.player_.textTracks(),r=this.options_.allowMultipleShowingTracks;if(this.clearDisplay(),r){for(var o=[],a=0;a<n.length;++a){var l=n[a];l.mode==="showing"&&o.push(l);}this.updateForTrack(o);return;}for(var d=null,u=null,c=n.length;c--;){var h=n[c];h.mode==="showing"&&(h.kind==="descriptions"?d=h:u=h);}u?(this.getAttribute("aria-live")!=="off"&&this.setAttribute("aria-live","off"),this.updateForTrack(u)):d&&(this.getAttribute("aria-live")!=="assertive"&&this.setAttribute("aria-live","assertive"),this.updateForTrack(d));},t.updateDisplayState=function(n){for(var r=this.player_.textTrackSettings.getValues(),o=n.activeCues,a=o.length;a--;){var l=o[a];if(l){var d=l.displayState;if(r.color&&(d.firstChild.style.color=r.color),r.textOpacity&&Mu(d.firstChild,"color",Lu(r.color||"#fff",r.textOpacity)),r.backgroundColor&&(d.firstChild.style.backgroundColor=r.backgroundColor),r.backgroundOpacity&&Mu(d.firstChild,"backgroundColor",Lu(r.backgroundColor||"#000",r.backgroundOpacity)),r.windowColor&&(r.windowOpacity?Mu(d,"backgroundColor",Lu(r.windowColor,r.windowOpacity)):d.style.backgroundColor=r.windowColor),r.edgeStyle&&(r.edgeStyle==="dropshadow"?d.firstChild.style.textShadow="2px 2px 3px "+Oi+", 2px 2px 4px "+Oi+", 2px 2px 5px "+Oi:r.edgeStyle==="raised"?d.firstChild.style.textShadow="1px 1px "+Oi+", 2px 2px "+Oi+", 3px 3px "+Oi:r.edgeStyle==="depressed"?d.firstChild.style.textShadow="1px 1px "+Jv+", 0 1px "+Jv+", -1px -1px "+Oi+", 0 -1px "+Oi:r.edgeStyle==="uniform"&&(d.firstChild.style.textShadow="0 0 4px "+Oi+", 0 0 4px "+Oi+", 0 0 4px "+Oi+", 0 0 4px "+Oi)),r.fontPercent&&r.fontPercent!==1){var u=re.default.parseFloat(d.style.fontSize);d.style.fontSize=u*r.fontPercent+"px",d.style.height="auto",d.style.top="auto";}r.fontFamily&&r.fontFamily!=="default"&&(r.fontFamily==="small-caps"?d.firstChild.style.fontVariant="small-caps":d.firstChild.style.fontFamily=d1[r.fontFamily]);}}},t.updateForTrack=function(n){if(Array.isArray(n)||(n=[n]),!(typeof re.default.WebVTT!="function"||n.every(function(f){return!f.activeCues;}))){for(var r=[],o=0;o<n.length;++o)for(var a=n[o],l=0;l<a.activeCues.length;++l)r.push(a.activeCues[l]);re.default.WebVTT.processCues(re.default,r,this.el_);for(var d=0;d<n.length;++d){for(var u=n[d],c=0;c<u.activeCues.length;++c){var h=u.activeCues[c].displayState;Tn(h,"vjs-text-track-cue"),Tn(h,"vjs-text-track-cue-"+(u.language?u.language:d)),u.language&&ts(h,"lang",u.language);}this.player_.textTrackSettings&&this.updateDisplayState(u);}}},e;}(de);de.registerComponent("TextTrackDisplay",u1);var c1=function(s){Ce.default(e,s);function e(){return s.apply(this,arguments)||this;}var t=e.prototype;return t.createEl=function(){var n=this.player_.isAudio(),r=this.localize(n?"Audio Player":"
11Video Player"),o=rt("span",{className:"vjs-control-text",textContent:this.localize("{1} is loading.",[r])}),a=s.prototype.createEl.call(this,"div",{className:"vjs-loading-spinner",dir:"ltr"});return a.appendChild(o),a;},e;}(de);de.registerComponent("LoadingSpinner",c1);var Fi=function(s){Ce.default(e,s);function e(){return s.apply(this,arguments)||this;}var t=e.prototype;return t.createEl=function(n,r,o){r===void 0&&(r={}),o===void 0&&(o={}),n="button",r=jt({className:this.buildCSSClass()},r),o=jt({type:"button"},o);var a=rt(n,r,o);return a.appendChild(rt("span",{className:"vjs-icon-placeholder"},{"aria-hidden":!0})),this.createControlTextEl(a),a;},t.addChild=function(n,r){r===void 0&&(r={});var o=this.constructor.name;return Je.warn("Adding an actionable (user controllable) child to a Button ("+o+") is not supported; use a ClickableComponent instead."),de.prototype.addChild.call(this,n,r);},t.enable=function(){s.prototype.enable.call(this),this.el_.removeAttribute("disabled");},t.disable=function(){s.prototype.disable.call(this),this.el_.setAttribute("disabled","disabled");},t.handleKeyDown=function(n){if(Ge.default.isEventKey(n,"Space")||Ge.default.isEventKey(n,"Enter")){n.stopPropagation();return;}s.prototype.handleKeyDown.call(this,n);},e;}(Pl);de.registerComponent("Button",Fi);var Q0=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.mouseused_=!1,r.on("mousedown",function(o){return r.handleMouseDown(o);}),r;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-big-play-button";},t.handleClick=function(n){var r=this.player_.play();if(this.mouseused_&&n.clientX&&n.clientY){var o=this.player_.usingPlugin("eme")&&this.player_.eme.sessions&&this.player_.eme.sessions.length>0;en(r),this.player_.tech(!0)&&!((Co||So)&&o)&&this.player_.tech(!0).focus();return;}var a=this.player_.getChild("controlBar"),l=a&&a.getChild("playToggle");if(!l){this.player_.tech(!0).focus();return;}var d=function(){return l.focus();};_o(r)?r.then(d,function(){}):this.setTimeout(d,1);},t.handleKeyDown=function(n){this.mouseused_=!1,s.prototype.handleKeyDown.call(this,n);},t.handleMouseDown=function(n){this.mouseused_=!0;},e;}(Fi);Q0.prototype.controlText_="Play Video";de.registerComponent("BigPlayButton",Q0);var h1=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.controlText(n&&n.controlText||r.localize("Close")),r;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-close-button "+s.prototype.buildCSSClass.call(this);},t.handleClick=function(n){this.trigger({type:"close",bubbles:!1});},t.handleKeyDown=function(n){Ge.default.isEventKey(n,"Esc")?(n.preventDefault(),n.stopPropagation(),this.trigger("click")):s.prototype.handleKeyDown.call(this,n);},e;}(Fi);de.registerComponent("CloseButton",h1);var J0=function(s){Ce.default(e,s);function e(i,n){var r;return n===void 0&&(n={}),r=s.call(this,i,n)||this,n.replay=n.replay===void 0||n.replay,r.on(i,"play",function(o){return r.handlePlay(o);}),r.on(i,"pause",function(o){return r.handlePause(o);}),n.replay&&r.on(i,"ended",function(o){return r.handleEnded(o);}),r;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-play-control "+s.prototype.buildCSSClass.call(this);},t.handleClick=function(n){this.player_.paused()?en(this.player_.play()):this.player_.pause();},t.handleSeeked=function(n){this.removeClass("vjs-ended"),this.player_.paused()?this.handlePause(n):this.handlePlay(n);},t.handlePlay=function(n){this.removeClass("vjs-ended"),this.removeClass("vjs-paused"),this.addClass("vjs-playing"),this.controlText("Pause");},t.handlePause=function(n){this.removeClass("vjs-playing"),this.addClass("vjs-paused"),this.controlText("Play");},t.handleEnded=function(n){var r=this;this.removeClass("vjs-playing"),this.addClass("vjs-ended"),this.controlText("Replay"),this.one(this.player_,"seeked",function(o){return r.handleSeeked(o);});},e;}(Fi);J0.prototype.controlText_="Play";de.registerComponent("PlayToggle",J0);var Z0=function(e,t){e=e<0?0:e;var i=Math.floor(e%60),n=Math.floor(e/60%60),r=Math.floor(e/3600),o=Math.floor(t/60%60),a=Math.floor(t/3600);return(isNaN(e)||e===1/0)&&(r=n=i="-"),r=r>0||a>0?r+":":"",n=((r||o>=10)&&n<10?"0"+n:n)+":",i=i<10?"0"+i:i,r+n+i;},lc=Z0;function f1(s){lc=s;}function p1(){lc=Z0;}function ss(s,e){return e===void 0&&(e=s),lc(s,e);}var cs=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.on(i,["timeupdate","ended"],function(o){return r.updateContent(o);}),r.updateTextNode_(),r;}var t=e.prototype;return t.createEl=function(){var n=this.buildCSSClass(),r=s.prototype.createEl.call(this,"div",{className:n+" vjs-time-control vjs-control"}),o=rt("span",{className:"vjs-control-text",textContent:this.localize(this.labelText_)+"\xA0"},{role:"presentation"});return r.appendChild(o),this.contentEl_=rt("span",{className:n+"-display"},{"aria-live":"off",role:"presentation"}),r.appendChild(this.contentEl_),r;},t.dispose=function(){this.contentEl_=null,this.textNode_=null,s.prototype.dispose.call(this);},t.updateTextNode_=function(n){var r=this;n===void 0&&(n=0),n=ss(n),this.formattedTime_!==n&&(this.formattedTime_=n,this.requestNamedAnimationFrame("TimeDisplay#updateTextNode_",function(){if(r.contentEl_){var o=r.textNode_;o&&r.contentEl_.firstChild!==o&&(o=null,Je.warn("TimeDisplay#updateTextnode_: Prevented replacement of text node element since it was no longer a child of this node. Appending a new node instead.")),r.textNode_=_e.default.createTextNode(r.formattedTime_),r.textNode_&&(o?r.contentEl_.replaceChild(r.textNode_,o):r.contentEl_.appendChild(r.textNode_));}}));},t.updateContent=function(n){},e;}(de);cs.prototype.labelText_="Time";cs.prototype.controlText_="Time";de.registerComponent("TimeDisplay",cs);var dc=function(s){Ce.default(e,s);function e(){return s.apply(this,arguments)||this;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-current-time";},t.updateContent=function(n){var r;this.player_.ended()?r=this.player_.duration():r=this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime(),this.updateTextNode_(r);},e;}(cs);dc.prototype.labelText_="Current Time";dc.prototype.controlText_="Current Time";de.registerComponent("CurrentTimeDisplay",dc);var uc=function(s){Ce.default(e,s);function e(i,n){var r;r=s.call(this,i,n)||this;var o=function(l){return r.updateContent(l);};return r.on(i,"durationchange",o),r.on(i,"loadstart",o),r.on(i,"loadedmetadata",o),r;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-duration";},t.updateContent=function(n){var r=this.player_.duration();this.updateTextNode_(r);},e;}(cs);uc.prototype.labelText_="Duration";uc.prototype.controlText_="Duration";de.registerComponent("DurationDisplay",uc);var m1=function(s){Ce.default(e,s);function e(){return s.apply(this,arguments)||this;}var t=e.prototype;return t.createEl=function(){var n=s.prototype.createEl.call(this,"div",{className:"vjs-time-control vjs-time-divider"},{"aria-hidden":!0}),r=s.prototype.createEl.call(this,"div"),o=s.prototype.createEl.call(this,"span",{textContent:"/"});return r.appendChild(o),n.appendChild(r),n;},e;}(de);de.registerComponent("TimeDivider",m1);var cc=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.on(i,"durationchange",function(o){return r.updateContent(o);}),r;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-remaining-time";},t.createEl=function(){var n=s.prototype.createEl.call(this);return this.options_.displayNegative!==!1&&n.insertBefore(rt("span",{},{"aria-hidden":!0},"-"),this.contentEl_),n;},t.updateContent=function(n){if(typeof this.player_.duration()=="number"){var r;this.player_.ended()?r=0:this.player_.remainingTimeDisplay?r=this.player_.remainingTimeDisplay():r=this.player_.remainingTime(),this.updateTextNode_(r);}},e;}(cs);cc.prototype.labelText_="Remaining Time";cc.prototype.controlText_="Remaining Time";de.registerComponent("RemainingTimeDisplay",cc);var g1=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.updateShowing(),r.on(r.player(),"durationchange",function(o){return r.updateShowing(o);}),r;}var t=e.prototype;return t.createEl=function(){var n=s.prototype.createEl.call(this,"div",{className:"vjs-live-control vjs-control"});return this.contentEl_=rt("div",{className:"vjs-live-display"},{"aria-live":"off"}),this.contentEl_.appendChild(rt("span",{className:"vjs-control-text",textContent:this.localize("Stream Type")+"\xA0"})),this.contentEl_.appendChild(_e.default.createTextNode(this.localize("LIVE"))),n.appendChild(this.contentEl_),n;},t.dispose=function(){this.contentEl_=null,s.prototype.dispose.call(this);},t.updateShowing=function(n){this.player().duration()===1/0?this.show():this.hide();},e;}(de);de.registerComponent("LiveDisplay",g1);var e_=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.updateLiveEdgeStatus(),r.player_.liveTracker&&(r.updateLiveEdgeStatusHandler_=function(o){return r.updateLiveEdgeStatus(o);},r.on(r.player_.liveTracker,"liveedgechange",r.updateLiveEdgeStatusHandler_)),r;}var t=e.prototype;return t.createEl=function(){var n=s.prototype.createEl.call(this,"button",{className:"vjs-seek-to-live-control vjs-control"});return this.textEl_=rt("span",{className:"vjs-seek-to-live-text",textContent:this.localize("LIVE")},{"aria-hidden":"true"}),n.appendChild(this.textEl_),n;},t.updateLiveEdgeStatus=function(){!this.player_.liveTracker||this.player_.liveTracker.atLiveEdge()?(this.setAttribute("aria-disabled",!0),this.addClass("vjs-at-live-edge"),this.controlText("Seek to live, currently playing live")):(this.setAttribute("aria-disabled",!1),this.removeClass("vjs-at-live-edge"),this.controlText("Seek to live, currently behind live"));},t.handleClick=function(){this.player_.liveTracker.seekToLiveEdge();},t.dispose=function(){this.player_.liveTracker&&this.off(this.player_.liveTracker,"liveedgechange",this.updateLiveEdgeStatusHandler_),this.textEl_=null,s.prototype.dispose.call(this);},e;}(Fi);e_.prototype.controlText_="Seek to live, currently playing live";de.registerComponent("SeekToLive",e_);var kl=function(e,t,i){return e=Number(e),Math.min(i,Math.max(t,isNaN(e)?t:e));},hc=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.handleMouseDown_=function(o){return r.handleMouseDown(o);},r.handleMouseUp_=function(o){return r.handleMouseUp(o);},r.handleKeyDown_=function(o){return r.handleKeyDown(o);},r.handleClick_=function(o){return r.handleClick(o);},r.handleMouseMove_=function(o){return r.handleMouseMove(o);},r.update_=function(o){return r.update(o);},r.bar=r.getChild(r.options_.barName),r.vertical(!!r.options_.vertical),r.enable(),r;}var t=e.prototype;return t.enabled=function(){return this.enabled_;},t.enable=function(){this.enabled()||(this.on("mousedown",this.handleMouseDown_),this.on("touchstart",this.handleMouseDown_),this.on("keydown",this.handleKeyDown_),this.on("click",this.handleClick_),this.on(this.player_,"controlsvisible",this.update),this.playerEvent&&this.on(this.player_,this.playerEvent,this.update),this.removeClass("disabled"),this.setAttribute("tabindex",0),this.enabled_=!0);},t.disable=function(){if(this.enabled()){var n=this.bar.el_.ownerDocument;this.off("mousedown",this.handleMouseDown_),this.off("touchstart",this.handleMouseDown_),this.off("keydown",this.handleKeyDown_),this.off("click",this.handleClick_),this.off(this.player_,"controlsvisible",this.update_),this.off(n,"mousemove",this.handleMouseMove_),this.off(n,"mouseup",this.handleMouseUp_),this.off(n,"touchmove",this.handleMouseMove_),this.off(n,"touchend",this.handleMouseUp_),this.removeAttribute("tabindex"),this.addClass("disabled"),this.playerEvent&&this.off(this.player_,this.playerEvent,this.update),this.enabled_=!1;}},t.createEl=function(n,r,o){return r===void 0&&(r={}),o===void 0&&(o={}),r.className=r.className+" vjs-slider",r=jt({tabIndex:0},r),o=jt({role:"slider","aria-valuenow":0,"aria-valuemin":0,"aria-valuemax":100,tabIndex:0},o),s.prototype.createEl.call(this,n,r,o);},t.handleMouseDown=function(n){var r=this.bar.el_.ownerDocument;n.type==="mousedown"&&n.preventDefault(),n.type==="touchstart"&&!xn&&n.preventDefault(),R0(),this.addClass("vjs-sliding"),this.trigger("slideractive"),this.on(r,"mousemove",this.handleMouseMove_),this.on(r,"mouseup",this.handleMouseUp_),this.on(r,"touchmove",this.handleMouseMove_),this.on(r,"touchend",this.handleMouseUp_),this.handleMouseMove(n,!0);},t.handleMouseMove=function(n){},t.handleMouseUp=function(){var n=this.bar.el_.ownerDocument;P0(),this.removeClass("vjs-sliding"),this.trigger("sliderinactive"),this.off(n,"mousemove",this.handleMouseMove_),this.off(n,"mouseup",this.handleMouseUp_),this.off(n,"touchmove",this.handleMouseMove_),this.off(n,"touchend",this.handleMouseUp_),this.update();},t.update=function(){var n=this;if(!(!this.el_||!this.bar)){var r=this.getProgress();return r===this.progress_||(this.progress_=r,this.requestNamedAnimationFrame("Slider#update",function(){var o=n.vertical()?"height":"width";n.bar.el().style[o]=(r*100).toFixed(2)+"%";})),r;}},t.getProgress=function(){return Number(kl(this.getPercent(),0,1).toFixed(4));},t.calculateDistance=function(n){var r=wl(this.el_,n);return this.vertical()?r.y:r.x;},t.handleKeyDown=function(n){Ge.default.isEventKey(n,"Left")||Ge.default.isEventKey(n,"Down")?(n.preventDefault(),n.stopPropagation(),this.stepBack()):Ge.default.isEventKey(n,"Right")||Ge.default.isEventKey(n,"Up")?(n.preventDefault(),n.stopPropagation(),this.stepForward()):s.prototype.handleKeyDown.call(this,n);},t.handleClick=function(n){n.stopPropagation(),n.preventDefault();},t.vertical=function(n){if(n===void 0)return this.vertical_||!1;this.vertical_=!!n,this.vertical_?this.addClass("vjs-slider-vertical"):this.addClass("vjs-slider-horizontal");},e;}(de);de.registerComponent("Slider",hc);
11var Du=function(e,t){return kl(e/t*100,0,100).toFixed(2)+"%";},v1=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.partEls_=[],r.on(i,"progress",function(o){return r.update(o);}),r;}var t=e.prototype;return t.createEl=function(){var n=s.prototype.createEl.call(this,"div",{className:"vjs-load-progress"}),r=rt("span",{className:"vjs-control-text"}),o=rt("span",{textContent:this.localize("Loaded")}),a=_e.default.createTextNode(": ");return this.percentageEl_=rt("span",{className:"vjs-control-text-loaded-percentage",textContent:"0%"}),n.appendChild(r),r.appendChild(o),r.appendChild(a),r.appendChild(this.percentageEl_),n;},t.dispose=function(){this.partEls_=null,this.percentageEl_=null,s.prototype.dispose.call(this);},t.update=function(n){var r=this;this.requestNamedAnimationFrame("LoadProgressBar#update",function(){var o=r.player_.liveTracker,a=r.player_.buffered(),l=o&&o.isLive()?o.seekableEnd():r.player_.duration(),d=r.player_.bufferedEnd(),u=r.partEls_,c=Du(d,l);r.percent_!==c&&(r.el_.style.width=c,mr(r.percentageEl_,c),r.percent_=c);for(var h=0;h<a.length;h++){var f=a.start(h),p=a.end(h),g=u[h];g||(g=r.el_.appendChild(rt()),u[h]=g),!(g.dataset.start===f&&g.dataset.end===p)&&(g.dataset.start=f,g.dataset.end=p,g.style.left=Du(f,d),g.style.width=Du(p-f,d));}for(var m=u.length;m>a.length;m--)r.el_.removeChild(u[m-1]);u.length=a.length;});},e;}(de);de.registerComponent("LoadProgressBar",v1);var _1=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.update=Cn(xt(lt.default(r),r.update),Vi),r;}var t=e.prototype;return t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:"vjs-time-tooltip"},{"aria-hidden":"true"});},t.update=function(n,r,o){var a=To(this.el_),l=is(this.player_.el()),d=n.width*r;if(!(!l||!a)){var u=n.left-l.left+d,c=n.width-d+(l.right-n.right),h=a.width/2;u<h?h+=h-u:c<h&&(h=c),h<0?h=0:h>a.width&&(h=a.width),h=Math.round(h),this.el_.style.right="-"+h+"px",this.write(o);}},t.write=function(n){mr(this.el_,n);},t.updateTime=function(n,r,o,a){var l=this;this.requestNamedAnimationFrame("TimeTooltip#updateTime",function(){var d,u=l.player_.duration();if(l.player_.liveTracker&&l.player_.liveTracker.isLive()){var c=l.player_.liveTracker.liveWindow(),h=c-r*c;d=(h<1?"":"-")+ss(h,c);}else d=ss(o,u);l.update(n,r,d),a&&a();});},e;}(de);de.registerComponent("TimeTooltip",_1);var fc=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.update=Cn(xt(lt.default(r),r.update),Vi),r;}var t=e.prototype;return t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:"vjs-play-progress vjs-slider-bar"},{"aria-hidden":"true"});},t.update=function(n,r){var o=this.getChild("timeTooltip");if(o){var a=this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime();o.updateTime(n,r,a);}},e;}(de);fc.prototype.options_={children:[]};!_i&&!wn&&fc.prototype.options_.children.push("timeTooltip");de.registerComponent("PlayProgressBar",fc);var t_=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.update=Cn(xt(lt.default(r),r.update),Vi),r;}var t=e.prototype;return t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:"vjs-mouse-display"});},t.update=function(n,r){var o=this,a=r*this.player_.duration();this.getChild("timeTooltip").updateTime(n,r,a,function(){o.el_.style.left=n.width*r+"px";});},e;}(de);t_.prototype.options_={children:["timeTooltip"]};de.registerComponent("MouseTimeDisplay",t_);var ll=5,Zv=12,pc=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.setEventHandlers_(),r;}var t=e.prototype;return t.setEventHandlers_=function(){var n=this;this.update_=xt(this,this.update),this.update=Cn(this.update_,Vi),this.on(this.player_,["ended","durationchange","timeupdate"],this.update),this.player_.liveTracker&&this.on(this.player_.liveTracker,"liveedgechange",this.update),this.updateInterval=null,this.enableIntervalHandler_=function(r){return n.enableInterval_(r);},this.disableIntervalHandler_=function(r){return n.disableInterval_(r);},this.on(this.player_,["playing"],this.enableIntervalHandler_),this.on(this.player_,["ended","pause","waiting"],this.disableIntervalHandler_),"hidden"in _e.default&&"visibilityState"in _e.default&&this.on(_e.default,"visibilitychange",this.toggleVisibility_);},t.toggleVisibility_=function(n){_e.default.visibilityState==="hidden"?(this.cancelNamedAnimationFrame("SeekBar#update"),this.cancelNamedAnimationFrame("Slider#update"),this.disableInterval_(n)):(!this.player_.ended()&&!this.player_.paused()&&this.enableInterval_(),this.update());},t.enableInterval_=function(){this.updateInterval||(this.updateInterval=this.setInterval(this.update,Vi));},t.disableInterval_=function(n){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&n&&n.type!=="ended"||this.updateInterval&&(this.clearInterval(this.updateInterval),this.updateInterval=null);},t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:"vjs-progress-holder"},{"aria-label":this.localize("Progress Bar")});},t.update=function(n){var r=this;if(_e.default.visibilityState!=="hidden"){var o=s.prototype.update.call(this);return this.requestNamedAnimationFrame("SeekBar#update",function(){var a=r.player_.ended()?r.player_.duration():r.getCurrentTime_(),l=r.player_.liveTracker,d=r.player_.duration();
11l&&l.isLive()&&(d=r.player_.liveTracker.liveCurrentTime()),r.percent_!==o&&(r.el_.setAttribute("aria-valuenow",(o*100).toFixed(2)),r.percent_=o),(r.currentTime_!==a||r.duration_!==d)&&(r.el_.setAttribute("aria-valuetext",r.localize("progress bar timing: currentTime={1} duration={2}",[ss(a,d),ss(d,d)],"{1} of {2}")),r.currentTime_=a,r.duration_=d),r.bar&&r.bar.update(is(r.el()),r.getProgress());}),o;}},t.userSeek_=function(n){this.player_.liveTracker&&this.player_.liveTracker.isLive()&&this.player_.liveTracker.nextSeekedFromUser(),this.player_.currentTime(n);},t.getCurrentTime_=function(){return this.player_.scrubbing()?this.player_.getCache().currentTime:this.player_.currentTime();},t.getPercent=function(){var n=this.getCurrentTime_(),r,o=this.player_.liveTracker;return o&&o.isLive()?(r=(n-o.seekableStart())/o.liveWindow(),o.atLiveEdge()&&(r=1)):r=n/this.player_.duration(),r;},t.handleMouseDown=function(n){Eo(n)&&(n.stopPropagation(),this.videoWasPlaying=!this.player_.paused(),this.player_.pause(),s.prototype.handleMouseDown.call(this,n));},t.handleMouseMove=function(n,r){if(r===void 0&&(r=!1),!!Eo(n)){!r&&!this.player_.scrubbing()&&this.player_.scrubbing(!0);var o,a=this.calculateDistance(n),l=this.player_.liveTracker;if(!l||!l.isLive())o=a*this.player_.duration(),o===this.player_.duration()&&(o=o-.1);else{if(a>=.99){l.seekToLiveEdge();return;}var d=l.seekableStart(),u=l.liveCurrentTime();if(o=d+a*l.liveWindow(),o>=u&&(o=u),o<=d&&(o=d+.1),o===1/0)return;}this.userSeek_(o);}},t.enable=function(){s.prototype.enable.call(this);var n=this.getChild("mouseTimeDisplay");n&&n.show();},t.disable=function(){s.prototype.disable.call(this);var n=this.getChild("mouseTimeDisplay");n&&n.hide();},t.handleMouseUp=function(n){s.prototype.handleMouseUp.call(this,n),n&&n.stopPropagation(),this.player_.scrubbing(!1),this.player_.trigger({type:"timeupdate",target:this,manuallyTriggered:!0}),this.videoWasPlaying?en(this.player_.play()):this.update_();},t.stepForward=function(){this.userSeek_(this.player_.currentTime()+ll);},t.stepBack=function(){this.userSeek_(this.player_.currentTime()-ll);},t.handleAction=function(n){this.player_.paused()?this.player_.play():this.player_.pause();},t.handleKeyDown=function(n){var r=this.player_.liveTracker;if(Ge.default.isEventKey(n,"Space")||Ge.default.isEventKey(n,"Enter"))n.preventDefault(),n.stopPropagation(),this.handleAction(n);else if(Ge.default.isEventKey(n,"Home"))n.preventDefault(),n.stopPropagation(),this.userSeek_(0);else if(Ge.default.isEventKey(n,"End"))n.preventDefault(),n.stopPropagation(),r&&r.isLive()?this.userSeek_(r.liveCurrentTime()):this.userSeek_(this.player_.duration());else if(/^[0-9]$/.test(Ge.default(n))){n.preventDefault(),n.stopPropagation();var o=(Ge.default.codes[Ge.default(n)]-Ge.default.codes[0])*10/100;r&&r.isLive()?this.userSeek_(r.seekableStart()+r.liveWindow()*o):this.userSeek_(this.player_.duration()*o);}else Ge.default.isEventKey(n,"PgDn")?(n.preventDefault(),n.stopPropagation(),this.userSeek_(this.player_.currentTime()-ll*Zv)):Ge.default.isEventKey(n,"PgUp")?(n.preventDefault(),n.stopPropagation(),this.userSeek_(this.player_.currentTime()+ll*Zv)):s.prototype.handleKeyDown.call(this,n);},t.dispose=function(){this.disableInterval_(),this.off(this.player_,["ended","durationchange","timeupdate"],this.update),this.player_.liveTracker&&this.off(this.player_.liveTracker,"liveedgechange",this.update),this.off(this.player_,["playing"],this.enableIntervalHandler_),this.off(this.player_,["ended","pause","waiting"],this.disableIntervalHandler_),"hidden"in _e.default&&"visibilityState"in _e.default&&this.off(_e.default,"visibilitychange",this.toggleVisibility_),s.prototype.dispose.call(this);},e;}(hc);pc.prototype.options_={children:["loadProgressBar","playProgressBar"],barName:"playProgressBar"};!_i&&!wn&&pc.prototype.options_.children.splice(1,0,"mouseTimeDisplay");de.registerComponent("SeekBar",pc);var i_=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.handleMouseMove=Cn(xt(lt.default(r),r.handleMouseMove),Vi),r.throttledHandleMouseSeek=Cn(xt(lt.default(r),r.handleMouseSeek),Vi),r.handleMouseUpHandler_=function(o){return r.handleMouseUp(o);},r.handleMouseDownHandler_=function(o){return r.handleMouseDown(o);},r.enable(),r;}var t=e.prototype;return t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:"vjs-progress-control vjs-control"});},t.handleMouseMove=function(n){var r=this.getChild("seekBar");if(r){var o=r.getChild("playProgressBar"),a=r.getChild("mouseTimeDisplay");if(!(!o&&!a)){var l=r.el(),d=To(l),u=wl(l,n).x;u=kl(u,0,1),a&&a.update(d,u),o&&o.update(d,r.getProgress());}}},t.handleMouseSeek=function(n){var r=this.getChild("seekBar");r&&r.handleMouseMove(n);},t.enabled=function(){return this.enabled_;}
11,t.disable=function(){if(this.children().forEach(function(r){return r.disable&&r.disable();}),!!this.enabled()&&(this.off(["mousedown","touchstart"],this.handleMouseDownHandler_),this.off(this.el_,"mousemove",this.handleMouseMove),this.removeListenersAddedOnMousedownAndTouchstart(),this.addClass("disabled"),this.enabled_=!1,this.player_.scrubbing())){var n=this.getChild("seekBar");this.player_.scrubbing(!1),n.videoWasPlaying&&en(this.player_.play());}},t.enable=function(){this.children().forEach(function(n){return n.enable&&n.enable();}),!this.enabled()&&(this.on(["mousedown","touchstart"],this.handleMouseDownHandler_),this.on(this.el_,"mousemove",this.handleMouseMove),this.removeClass("disabled"),this.enabled_=!0);},t.removeListenersAddedOnMousedownAndTouchstart=function(){var n=this.el_.ownerDocument;this.off(n,"mousemove",this.throttledHandleMouseSeek),this.off(n,"touchmove",this.throttledHandleMouseSeek),this.off(n,"mouseup",this.handleMouseUpHandler_),this.off(n,"touchend",this.handleMouseUpHandler_);},t.handleMouseDown=function(n){var r=this.el_.ownerDocument,o=this.getChild("seekBar");o&&o.handleMouseDown(n),this.on(r,"mousemove",this.throttledHandleMouseSeek),this.on(r,"touchmove",this.throttledHandleMouseSeek),this.on(r,"mouseup",this.handleMouseUpHandler_),this.on(r,"touchend",this.handleMouseUpHandler_);},t.handleMouseUp=function(n){var r=this.getChild("seekBar");r&&r.handleMouseUp(n),this.removeListenersAddedOnMousedownAndTouchstart();},e;}(de);i_.prototype.options_={children:["seekBar"]};de.registerComponent("ProgressControl",i_);var n_=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.on(i,["enterpictureinpicture","leavepictureinpicture"],function(o){return r.handlePictureInPictureChange(o);}),r.on(i,["disablepictureinpicturechanged","loadedmetadata"],function(o){return r.handlePictureInPictureEnabledChange(o);}),r.on(i,["loadedmetadata","audioonlymodechange","audiopostermodechange"],function(){var o=i.currentType().substring(0,5)==="audio";o||i.audioPosterMode()||i.audioOnlyMode()?(i.isInPictureInPicture()&&i.exitPictureInPicture(),r.hide()):r.show();}),r.disable(),r;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-picture-in-picture-control "+s.prototype.buildCSSClass.call(this);},t.handlePictureInPictureEnabledChange=function(){_e.default.pictureInPictureEnabled&&this.player_.disablePictureInPicture()===!1?this.enable():this.disable();},t.handlePictureInPictureChange=function(n){this.player_.isInPictureInPicture()?this.controlText("Exit Picture-in-Picture"):this.controlText("Picture-in-Picture"),this.handlePictureInPictureEnabledChange();},t.handleClick=function(n){this.player_.isInPictureInPicture()?this.player_.exitPictureInPicture():this.player_.requestPictureInPicture();},e;}(Fi);n_.prototype.controlText_="Picture-in-Picture";de.registerComponent("PictureInPictureToggle",n_);var r_=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.on(i,"fullscreenchange",function(o){return r.handleFullscreenChange(o);}),_e.default[i.fsApi_.fullscreenEnabled]===!1&&r.disable(),r;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-fullscreen-control "+s.prototype.buildCSSClass.call(this);},t.handleFullscreenChange=function(n){this.player_.isFullscreen()?this.controlText("Non-Fullscreen"):this.controlText("Fullscreen");},t.handleClick=function(n){this.player_.isFullscreen()?this.player_.exitFullscreen():this.player_.requestFullscreen();},e;}(Fi);r_.prototype.controlText_="Fullscreen";de.registerComponent("FullscreenToggle",r_);var y1=function(e,t){t.tech_&&!t.tech_.featuresVolumeControl&&e.addClass("vjs-hidden"),e.on(t,"loadstart",function(){t.tech_.featuresVolumeControl?e.removeClass("vjs-hidden"):e.addClass("vjs-hidden");});},b1=function(s){Ce.default(e,s);function e(){return s.apply(this,arguments)||this;}var t=e.prototype;return t.createEl=function(){var n=s.prototype.createEl.call(this,"div",{className:"vjs-volume-level"});return n.appendChild(s.prototype.createEl.call(this,"span",{className:"vjs-control-text"})),n;},e;}(de);
11de.registerComponent("VolumeLevel",b1);var T1=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.update=Cn(xt(lt.default(r),r.update),Vi),r;}var t=e.prototype;return t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:"vjs-volume-tooltip"},{"aria-hidden":"true"});},t.update=function(n,r,o,a){if(!o){var l=is(this.el_),d=is(this.player_.el()),u=n.width*r;if(!d||!l)return;var c=n.left-d.left+u,h=n.width-u+(d.right-n.right),f=l.width/2;c<f?f+=f-c:h<f&&(f=h),f<0?f=0:f>l.width&&(f=l.width),this.el_.style.right="-"+f+"px";}this.write(a+"%");},t.write=function(n){mr(this.el_,n);},t.updateVolume=function(n,r,o,a,l){var d=this;this.requestNamedAnimationFrame("VolumeLevelTooltip#updateVolume",function(){d.update(n,r,o,a.toFixed(0)),l&&l();});},e;}(de);de.registerComponent("VolumeLevelTooltip",T1);var s_=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.update=Cn(xt(lt.default(r),r.update),Vi),r;}var t=e.prototype;return t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:"vjs-mouse-display"});},t.update=function(n,r,o){var a=this,l=100*r;this.getChild("volumeLevelTooltip").updateVolume(n,r,o,l,function(){o?a.el_.style.bottom=n.height*r+"px":a.el_.style.left=n.width*r+"px";});},e;}(de);s_.prototype.options_={children:["volumeLevelTooltip"]};de.registerComponent("MouseVolumeLevelDisplay",s_);var Ol=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.on("slideractive",function(o){return r.updateLastVolume_(o);}),r.on(i,"volumechange",function(o){return r.updateARIAAttributes(o);}),i.ready(function(){return r.updateARIAAttributes();}),r;}var t=e.prototype;return t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:"vjs-volume-bar vjs-slider-bar"},{"aria-label":this.localize("Volume Level"),"aria-live":"polite"});},t.handleMouseDown=function(n){Eo(n)&&s.prototype.handleMouseDown.call(this,n);},t.handleMouseMove=function(n){var r=this.getChild("mouseVolumeLevelDisplay");if(r){var o=this.el(),a=is(o),l=this.vertical(),d=wl(o,n);d=l?d.y:d.x,d=kl(d,0,1),r.update(a,d,l);}Eo(n)&&(this.checkMuted(),this.player_.volume(this.calculateDistance(n)));},t.checkMuted=function(){this.player_.muted()&&this.player_.muted(!1);},t.getPercent=function(){return this.player_.muted()?0:this.player_.volume();},t.stepForward=function(){this.checkMuted(),this.player_.volume(this.player_.volume()+.1);},t.stepBack=function(){this.checkMuted(),this.player_.volume(this.player_.volume()-.1);},t.updateARIAAttributes=function(n){var r=this.player_.muted()?0:this.volumeAsPercentage_();this.el_.setAttribute("aria-valuenow",r),this.el_.setAttribute("aria-valuetext",r+"%");},t.volumeAsPercentage_=function(){return Math.round(this.player_.volume()*100);},t.updateLastVolume_=function(){var n=this,r=this.player_.volume();this.one("sliderinactive",function(){n.player_.volume()===0&&n.player_.lastVolume_(r);});},e;}(hc);Ol.prototype.options_={children:["volumeLevel"],barName:"volumeLevel"};!_i&&!wn&&Ol.prototype.options_.children.splice(0,0,"mouseVolumeLevelDisplay");Ol.prototype.playerEvent="volumechange";de.registerComponent("VolumeBar",Ol);var o_=function(s){Ce.default(e,s);function e(i,n){var r;return n===void 0&&(n={}),n.vertical=n.vertical||!1,(typeof n.volumeBar>"u"||yo(n.volumeBar))&&(n.volumeBar=n.volumeBar||{},n.volumeBar.vertical=n.vertical),r=s.call(this,i,n)||this,y1(lt.default(r),i),r.throttledHandleMouseMove=Cn(xt(lt.default(r),r.handleMouseMove),Vi),r.handleMouseUpHandler_=function(o){return r.handleMouseUp(o);},r.on("mousedown",function(o){return r.handleMouseDown(o);}),r.on("touchstart",function(o){return r.handleMouseDown(o);}),r.on("mousemove",function(o){return r.handleMouseMove(o);}),r.on(r.volumeBar,["focus","slideractive"],function(){r.volumeBar.addClass("vjs-slider-active"),r.addClass("vjs-slider-active"),r.trigger("slideractive");}),r.on(r.volumeBar,["blur","sliderinactive"],function(){r.volumeBar.removeClass("vjs-slider-active"),r.removeClass("vjs-slider-active"),r.trigger("sliderinactive");}),r;}var t=e.prototype;return t.createEl=function(){var n="vjs-volume-horizontal";return this.options_.vertical&&(n="vjs-volume-vertical"),s.prototype.createEl.call(this,"div",{className:"vjs-volume-control vjs-control "+n});},t.handleMouseDown=function(n){var r=this.el_.ownerDocument;this.on(r,"mousemove",this.throttledHandleMouseMove),this.on(r,"touchmove",this.throttledHandleMouseMove),this.on(r,"mouseup",this.handleMouseUpHandler_),this.on(r,"touchend",this.handleMouseUpHandler_);},t.handleMouseUp=function(n){var r=this.el_.ownerDocument;this.off(r,"mousemove",this.throttledHandleMouseMove),this.off(r,"touchmove",this.throttledHandleMouseMove),this.off(r,"mouseup",this.handleMouseUpHandler_),this.off(r,"touchend",this.handleMouseUpHandler_);},t.handleMouseMove=function(n){this.volumeBar.handleMouseMove(n);},e;}(de);o_.prototype.options_={children:["volumeBar"]};
11de.registerComponent("VolumeControl",o_);var E1=function(e,t){t.tech_&&!t.tech_.featuresMuteControl&&e.addClass("vjs-hidden"),e.on(t,"loadstart",function(){t.tech_.featuresMuteControl?e.removeClass("vjs-hidden"):e.addClass("vjs-hidden");});},a_=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,E1(lt.default(r),i),r.on(i,["loadstart","volumechange"],function(o){return r.update(o);}),r;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-mute-control "+s.prototype.buildCSSClass.call(this);},t.handleClick=function(n){var r=this.player_.volume(),o=this.player_.lastVolume_();if(r===0){var a=o<.1?.1:o;this.player_.volume(a),this.player_.muted(!1);}else this.player_.muted(!this.player_.muted());},t.update=function(n){this.updateIcon_(),this.updateControlText_();},t.updateIcon_=function(){var n=this.player_.volume(),r=3;_i&&this.player_.tech_&&this.player_.tech_.el_&&this.player_.muted(this.player_.tech_.el_.muted),n===0||this.player_.muted()?r=0:n<.33?r=1:n<.67&&(r=2);for(var o=0;o<4;o++)wo(this.el_,"vjs-vol-"+o);Tn(this.el_,"vjs-vol-"+r);},t.updateControlText_=function(){var n=this.player_.muted()||this.player_.volume()===0,r=n?"Unmute":"Mute";this.controlText()!==r&&this.controlText(r);},e;}(Fi);a_.prototype.controlText_="Mute";de.registerComponent("MuteToggle",a_);var l_=function(s){Ce.default(e,s);function e(i,n){var r;return n===void 0&&(n={}),typeof n.inline<"u"?n.inline=n.inline:n.inline=!0,(typeof n.volumeControl>"u"||yo(n.volumeControl))&&(n.volumeControl=n.volumeControl||{},n.volumeControl.vertical=!n.inline),r=s.call(this,i,n)||this,r.handleKeyPressHandler_=function(o){return r.handleKeyPress(o);},r.on(i,["loadstart"],function(o){return r.volumePanelState_(o);}),r.on(r.muteToggle,"keyup",function(o){return r.handleKeyPress(o);}),r.on(r.volumeControl,"keyup",function(o){return r.handleVolumeControlKeyUp(o);}
11),r.on("keydown",function(o){return r.handleKeyPress(o);}),r.on("mouseover",function(o){return r.handleMouseOver(o);}),r.on("mouseout",function(o){return r.handleMouseOut(o);}),r.on(r.volumeControl,["slideractive"],r.sliderActive_),r.on(r.volumeControl,["sliderinactive"],r.sliderInactive_),r;}var t=e.prototype;return t.sliderActive_=function(){this.addClass("vjs-slider-active");},t.sliderInactive_=function(){this.removeClass("vjs-slider-active");},t.volumePanelState_=function(){this.volumeControl.hasClass("vjs-hidden")&&this.muteToggle.hasClass("vjs-hidden")&&this.addClass("vjs-hidden"),this.volumeControl.hasClass("vjs-hidden")&&!this.muteToggle.hasClass("vjs-hidden")&&this.addClass("vjs-mute-toggle-only");},t.createEl=function(){var n="vjs-volume-panel-horizontal";return this.options_.inline||(n="vjs-volume-panel-vertical"),s.prototype.createEl.call(this,"div",{className:"vjs-volume-panel vjs-control "+n});},t.dispose=function(){this.handleMouseOut(),s.prototype.dispose.call(this);},t.handleVolumeControlKeyUp=function(n){Ge.default.isEventKey(n,"Esc")&&this.muteToggle.focus();},t.handleMouseOver=function(n){this.addClass("vjs-hover"),Ii(_e.default,"keyup",this.handleKeyPressHandler_);},t.handleMouseOut=function(n){this.removeClass("vjs-hover"),ci(_e.default,"keyup",this.handleKeyPressHandler_);},t.handleKeyPress=function(n){Ge.default.isEventKey(n,"Esc")&&this.handleMouseOut();},e;}(de);l_.prototype.options_={children:["muteToggle","volumeControl"]};de.registerComponent("VolumePanel",l_);var d_=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,n&&(r.menuButton_=n.menuButton),r.focusedChild_=-1,r.on("keydown",function(o){return r.handleKeyDown(o);}),r.boundHandleBlur_=function(o){return r.handleBlur(o);},r.boundHandleTapClick_=function(o){return r.handleTapClick(o);},r;}var t=e.prototype;return t.addEventListenerForItem=function(n){n instanceof de&&(this.on(n,"blur",this.boundHandleBlur_),this.on(n,["tap","click"],this.boundHandleTapClick_));},t.removeEventListenerForItem=function(n){n instanceof de&&(this.off(n,"blur",this.boundHandleBlur_),this.off(n,["tap","click"],this.boundHandleTapClick_));},t.removeChild=function(n){typeof n=="string"&&(n=this.getChild(n)),this.removeEventListenerForItem(n),s.prototype.removeChild.call(this,n);},t.addItem=function(n){var r=this.addChild(n);r&&this.addEventListenerForItem(r);},t.createEl=function(){var n=this.options_.contentElType||"ul";this.contentEl_=rt(n,{className:"vjs-menu-content"}),this.contentEl_.setAttribute("role","menu");var r=s.prototype.createEl.call(this,"div",{append:this.contentEl_,className:"vjs-menu"});return r.appendChild(this.contentEl_),Ii(r,"click",function(o){o.preventDefault(),o.stopImmediatePropagation();}),r;},t.dispose=function(){this.contentEl_=null,this.boundHandleBlur_=null,this.boundHandleTapClick_=null,s.prototype.dispose.call(this);},t.handleBlur=function(n){var r=n.relatedTarget||_e.default.activeElement;if(!this.children().some(function(a){return a.el()===r;})){var o=this.menuButton_;o&&o.buttonPressed_&&r!==o.el().firstChild&&o.unpressButton();}},t.handleTapClick=function(n){if(this.menuButton_){this.menuButton_.unpressButton();var r=this.children();if(!Array.isArray(r))return;var o=r.filter(function(a){return a.el()===n.target;})[0];if(!o)return;o.name()!=="CaptionSettingsMenuItem"&&this.menuButton_.focus();}},t.handleKeyDown=function(n){Ge.default.isEventKey(n,"Left")||Ge.default.isEventKey(n,"Down")?(n.preventDefault(),n.stopPropagation(),this.stepForward()):(Ge.default.isEventKey(n,"Right")||Ge.default.isEventKey(n,"Up"))&&(n.preventDefault(),n.stopPropagation(),this.stepBack());},t.stepForward=function(){var n=0;this.focusedChild_!==void 0&&(n=this.focusedChild_+1),this.focus(n);},t.stepBack=function(){var n=0;this.focusedChild_!==void 0&&(n=this.focusedChild_-1),this.focus(n);},t.focus=function(n){n===void 0&&(n=0);var r=this.children().slice(),o=r.length&&r[0].hasClass("vjs-menu-title");o&&r.shift(),r.length>0&&(n<0?n=0:n>=r.length&&(n=r.length-1),this.focusedChild_=n,r[n].el_.focus());},e;}(de);de.registerComponent("Menu",d_);var mc=function(s){Ce.default(e,s);function e(i,n){var r;n===void 0&&(n={}),r=s.call(this,i,n)||this,r.menuButton_=new Fi(i,n),r.menuButton_.controlText(r.controlText_),r.menuButton_.el_.setAttribute("aria-haspopup","true");var o=Fi.prototype.buildCSSClass();r.menuButton_.el_.className=r.buildCSSClass()+" "+o,r.menuButton_.removeClass("vjs-control"),r.addChild(r.menuButton_),r.update(
11),r.enabled_=!0;var a=function(d){return r.handleClick(d);};return r.handleMenuKeyUp_=function(l){return r.handleMenuKeyUp(l);},r.on(r.menuButton_,"tap",a),r.on(r.menuButton_,"click",a),r.on(r.menuButton_,"keydown",function(l){return r.handleKeyDown(l);}),r.on(r.menuButton_,"mouseenter",function(){r.addClass("vjs-hover"),r.menu.show(),Ii(_e.default,"keyup",r.handleMenuKeyUp_);}),r.on("mouseleave",function(l){return r.handleMouseLeave(l);}),r.on("keydown",function(l){return r.handleSubmenuKeyDown(l);}),r;}var t=e.prototype;return t.update=function(){var n=this.createMenu();this.menu&&(this.menu.dispose(),this.removeChild(this.menu)),this.menu=n,this.addChild(n),this.buttonPressed_=!1,this.menuButton_.el_.setAttribute("aria-expanded","false"),this.items&&this.items.length<=this.hideThreshold_?(this.hide(),this.menu.contentEl_.removeAttribute("role")):(this.show(),this.menu.contentEl_.setAttribute("role","menu"));},t.createMenu=function(){var n=new d_(this.player_,{menuButton:this});if(this.hideThreshold_=0,this.options_.title){var r=rt("li",{className:"vjs-menu-title",textContent:Ht(this.options_.title),tabIndex:-1}),o=new de(this.player_,{el:r});n.addItem(o);}if(this.items=this.createItems(),this.items)for(var a=0;a<this.items.length;a++)n.addItem(this.items[a]);return n;},t.createItems=function(){},t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:this.buildWrapperCSSClass()},{});},t.buildWrapperCSSClass=function(){var n="vjs-menu-button";this.options_.inline===!0?n+="-inline":n+="-popup";var r=Fi.prototype.buildCSSClass();return"vjs-menu-button "+n+" "+r+" "+s.prototype.buildCSSClass.call(this);},t.buildCSSClass=function(){var n="vjs-menu-button";return this.options_.inline===!0?n+="-inline":n+="-popup","vjs-menu-button "+n+" "+s.prototype.buildCSSClass.call(this);},t.controlText=function(n,r){return r===void 0&&(r=this.menuButton_.el()),this.menuButton_.controlText(n,r);},t.dispose=function(){this.handleMouseLeave(),s.prototype.dispose.call(this);},t.handleClick=function(n){this.buttonPressed_?this.unpressButton():this.pressButton();},t.handleMouseLeave=function(n){this.removeClass("vjs-hover"),ci(_e.default,"keyup",this.handleMenuKeyUp_);},t.focus=function(){this.menuButton_.focus();},t.blur=function(){this.menuButton_.blur();},t.handleKeyDown=function(n){Ge.default.isEventKey(n,"Esc")||Ge.default.isEventKey(n,"Tab")?(this.buttonPressed_&&this.unpressButton(),Ge.default.isEventKey(n,"Tab")||(n.preventDefault(),this.menuButton_.focus())):(Ge.default.isEventKey(n,"Up")||Ge.default.isEventKey(n,"Down"))&&(this.buttonPressed_||(n.preventDefault(),this.pressButton()));},t.handleMenuKeyUp=function(n){(Ge.default.isEventKey(n,"Esc")||Ge.default.isEventKey(n,"Tab"))&&this.removeClass("vjs-hover");},t.handleSubmenuKeyPress=function(n){this.handleSubmenuKeyDown(n);},t.handleSubmenuKeyDown=function(n){(Ge.default.isEventKey(n,"Esc")||Ge.default.isEventKey(n,"Tab"))&&(this.buttonPressed_&&this.unpressButton(),Ge.default.isEventKey(n,"Tab")||(n.preventDefault(),this.menuButton_.focus()));},t.pressButton=function(){if(this.enabled_){if(this.buttonPressed_=!0,this.menu.show(),this.menu.lockShowing(),this.menuButton_.el_.setAttribute("aria-expanded","true"),_i&&C0())return;this.menu.focus();}},t.unpressButton=function(){this.enabled_&&(this.buttonPressed_=!1,this.menu.unlockShowing(),this.menu.hide(),this.menuButton_.el_.setAttribute("aria-expanded","false"));},t.disable=function(){this.unpressButton(),this.enabled_=!1,this.addClass("vjs-disabled"),this.menuButton_.disable();},t.enable=function(){this.enabled_=!0,this.removeClass("vjs-disabled"),this.menuButton_.enable();},e;}(de);de.registerComponent("MenuButton",mc);var gc=function(s){Ce.default(e,s);function e(t,i){var n,r=i.tracks;if(n=s.call(this,t,i)||this,n.items.length<=1&&n.hide(),!r)return lt.default(n);var o=xt(lt.default(n),n.update);return r.addEventListener("removetrack",o),r.addEventListener("addtrack",o),r.addEventListener("labelchange",o),n.player_.on("ready",o),n.player_.on("dispose",function(){r.removeEventListener("removetrack",o),r.removeEventListener("addtrack",o),r.removeEventListener("labelchange",o);}),n;}return e;}(mc);de.registerComponent("TrackButton",gc);var S1=["Tab","Esc","Up","Down","Right","Left"],Ao=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.selectable=n.selectable,r.isSelected_=n.selected||!1,r.multiSelectable=n.multiSelectable,r.selected(r.isSelected_),r.selectable?r.multiSelectable?r.el_.setAttribute("role","menuitemcheckbox"):r.el_.setAttribute("role","menuitemradio"):r.el_.setAttribute("role","menuitem"),r;}var t=e.prototype;
11return t.createEl=function(n,r,o){this.nonIconControl=!0;var a=s.prototype.createEl.call(this,"li",jt({className:"vjs-menu-item",tabIndex:-1},r),o);return a.replaceChild(rt("span",{className:"vjs-menu-item-text",textContent:this.localize(this.options_.label)}),a.querySelector(".vjs-icon-placeholder")),a;},t.handleKeyDown=function(n){S1.some(function(r){return Ge.default.isEventKey(n,r);})||s.prototype.handleKeyDown.call(this,n);},t.handleClick=function(n){this.selected(!0);},t.selected=function(n){this.selectable&&(n?(this.addClass("vjs-selected"),this.el_.setAttribute("aria-checked","true"),this.controlText(", selected"),this.isSelected_=!0):(this.removeClass("vjs-selected"),this.el_.setAttribute("aria-checked","false"),this.controlText(""),this.isSelected_=!1));},e;}(Pl);de.registerComponent("MenuItem",Ao);var Io=function(s){Ce.default(e,s);function e(i,n){var r,o=n.track,a=i.textTracks();n.label=o.label||o.language||"Unknown",n.selected=o.mode==="showing",r=s.call(this,i,n)||this,r.track=o,r.kinds=(n.kinds||[n.kind||r.track.kind]).filter(Boolean);var l=function(){for(var h=arguments.length,f=new Array(h),p=0;p<h;p++)f[p]=arguments[p];r.handleTracksChange.apply(lt.default(r),f);},d=function(){for(var h=arguments.length,f=new Array(h),p=0;p<h;p++)f[p]=arguments[p];r.handleSelectedLanguageChange.apply(lt.default(r),f);};if(i.on(["loadstart","texttrackchange"],l),a.addEventListener("change",l),a.addEventListener("selectedlanguagechange",d),r.on("dispose",function(){i.off(["loadstart","texttrackchange"],l),a.removeEventListener("change",l),a.removeEventListener("selectedlanguagechange",d);}),a.onchange===void 0){var u;r.on(["tap","click"],function(){if(typeof re.default.Event!="object")try{u=new re.default.Event("change");}catch{}u||(u=_e.default.createEvent("Event"),u.initEvent("change",!0,!0)),a.dispatchEvent(u);});}return r.handleTracksChange(),r;}var t=e.prototype;return t.handleClick=function(n){var r=this.track,o=this.player_.textTracks();if(s.prototype.handleClick.call(this,n),!!o)for(var a=0;a<o.length;a++){var l=o[a];this.kinds.indexOf(l.kind)!==-1&&(l===r?l.mode!=="showing"&&(l.mode="showing"):l.mode!=="disabled"&&(l.mode="disabled"));}},t.handleTracksChange=function(n){var r=this.track.mode==="showing";r!==this.isSelected_&&this.selected(r);},t.handleSelectedLanguageChange=function(n){if(this.track.mode==="showing"){var r=this.player_.cache_.selectedLanguage;if(r&&r.enabled&&r.language===this.track.language&&r.kind!==this.track.kind)return;this.player_.cache_.selectedLanguage={enabled:!0,language:this.track.language,kind:this.track.kind};}},t.dispose=function(){this.track=null,s.prototype.dispose.call(this);},e;}(Ao);de.registerComponent("TextTrackMenuItem",Io);var u_=function(s){Ce.default(e,s);function e(i,n){return n.track={player:i,kind:n.kind,kinds:n.kinds,default:!1,mode:"disabled"},n.kinds||(n.kinds=[n.kind]),n.label?n.track.label=n.label:n.track.label=n.kinds.join(" and ")+" off",n.selectable=!0,n.multiSelectable=!1,s.call(this,i,n)||this;}var t=e.prototype;return t.handleTracksChange=function(n){for(var r=this.player().textTracks(),o=!0,a=0,l=r.length;a<l;a++){var d=r[a];if(this.options_.kinds.indexOf(d.kind)>-1&&d.mode==="showing"){o=!1;break;}}o!==this.isSelected_&&this.selected(o);},t.handleSelectedLanguageChange=function(n){for(var r=this.player().textTracks(),o=!0,a=0,l=r.length;a<l;a++){var d=r[a];if(["captions","descriptions","subtitles"].indexOf(d.kind)>-1&&d.mode==="showing"){o=!1;break;}}o&&(this.player_.cache_.selectedLanguage={enabled:!1});},e;}(Io);de.registerComponent("OffTextTrackMenuItem",u_);var hs=function(s){Ce.default(e,s);function e(i,n){return n===void 0&&(n={}),n.tracks=i.textTracks(),s.call(this,i,n)||this;}var t=e.prototype;return t.createItems=function(n,r){n===void 0&&(n=[]),r===void 0&&(r=Io);var o;this.label_&&(o=this.label_+" off"),n.push(new u_(this.player_,{kinds:this.kinds_,kind:this.kind_,label:o})),this.hideThreshold_+=1;var a=this.player_.textTracks();Array.isArray(this.kinds_)||(this.kinds_=[this.kind_]);for(var l=0;l<a.length;l++){var d=a[l];if(this.kinds_.indexOf(d.kind)>-1){var u=new r(this.player_,{track:d,kinds:this.kinds_,kind:this.kind_,selectable:!0,multiSelectable:!1});u.addClass("vjs-"+d.kind+"-menu-item"),n.push(u);}}return n;},e;}(gc);de.registerComponent("TextTrackButton",hs);var c_=function(s){Ce.default(e,s);function e(i,n){var r,o=n.track,a=n.cue,l=i.currentTime();return n.selectable=!0,n.multiSelectable=!1,n.label=a.text,n.selected=a.startTime<=l&&l<a.endTime,r=s.call(this,i,n)||this,r.track=o,r.cue=a,r;}var t=e.prototype;return t.handleClick=function(n){s.prototype.handleClick.call(this),this.player_.currentTime(this.cue.startTime);},e;}(Ao);de.registerComponent("ChaptersTrackMenuItem",c_);var vc=function(s){Ce.default(e,s);function e(i,n,r){var o;return o=s.call(this,i,n,r)||this,o.selectCurrentItem_=function(){o.items.forEac
11h(function(a){a.selected(o.track_.activeCues[0]===a.cue);});},o;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-chapters-button "+s.prototype.buildCSSClass.call(this);},t.buildWrapperCSSClass=function(){return"vjs-chapters-button "+s.prototype.buildWrapperCSSClass.call(this);},t.update=function(n){if(!(n&&n.track&&n.track.kind!=="chapters")){var r=this.findChaptersTrack();r!==this.track_?(this.setTrack(r),s.prototype.update.call(this)):(!this.items||r&&r.cues&&r.cues.length!==this.items.length)&&s.prototype.update.call(this);}},t.setTrack=function(n){if(this.track_!==n){if(this.updateHandler_||(this.updateHandler_=this.update.bind(this)),this.track_){var r=this.player_.remoteTextTrackEls().getTrackElementByTrack_(this.track_);r&&r.removeEventListener("load",this.updateHandler_),this.track_.removeEventListener("cuechange",this.selectCurrentItem_),this.track_=null;}if(this.track_=n,this.track_){this.track_.mode="hidden";var o=this.player_.remoteTextTrackEls().getTrackElementByTrack_(this.track_);o&&o.addEventListener("load",this.updateHandler_),this.track_.addEventListener("cuechange",this.selectCurrentItem_);}}}
11,t.findChaptersTrack=function(){for(var n=this.player_.textTracks()||[],r=n.length-1;r>=0;r--){var o=n[r];if(o.kind===this.kind_)return o;}},t.getMenuCaption=function(){return this.track_&&this.track_.label?this.track_.label:this.localize(Ht(this.kind_));},t.createMenu=function(){return this.options_.title=this.getMenuCaption(),s.prototype.createMenu.call(this);},t.createItems=function(){var n=[];if(!this.track_)return n;var r=this.track_.cues;if(!r)return n;for(var o=0,a=r.length;o<a;o++){var l=r[o],d=new c_(this.player_,{track:this.track_,cue:l});n.push(d);}return n;},e;}(hs);vc.prototype.kind_="chapters";vc.prototype.controlText_="Chapters";de.registerComponent("ChaptersButton",vc);var _c=function(s){Ce.default(e,s);function e(i,n,r){var o;o=s.call(this,i,n,r)||this;var a=i.textTracks(),l=xt(lt.default(o),o.handleTracksChange);return a.addEventListener("change",l),o.on("dispose",function(){a.removeEventListener("change",l);}),o;}var t=e.prototype;return t.handleTracksChange=function(n){for(var r=this.player().textTracks(),o=!1,a=0,l=r.length;a<l;a++){var d=r[a];if(d.kind!==this.kind_&&d.mode==="showing"){o=!0;break;}}o?this.disable():this.enable();},t.buildCSSClass=function(){return"vjs-descriptions-button "+s.prototype.buildCSSClass.call(this);},t.buildWrapperCSSClass=function(){return"vjs-descriptions-button "+s.prototype.buildWrapperCSSClass.call(this);},e;}(hs);_c.prototype.kind_="descriptions";_c.prototype.controlText_="Descriptions";de.registerComponent("DescriptionsButton",_c);var yc=function(s){Ce.default(e,s);function e(i,n,r){return s.call(this,i,n,r)||this;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-subtitles-button "+s.prototype.buildCSSClass.call(this);},t.buildWrapperCSSClass=function(){return"vjs-subtitles-button "+s.prototype.buildWrapperCSSClass.call(this);},e;}(hs);yc.prototype.kind_="subtitles";yc.prototype.controlText_="Subtitles";de.registerComponent("SubtitlesButton",yc);var bc=function(s){Ce.default(e,s);function e(i,n){var r;return n.track={player:i,kind:n.kind,label:n.kind+" settings",selectable:!1,default:!1,mode:"disabled"},n.selectable=!1,n.name="CaptionSettingsMenuItem",r=s.call(this,i,n)||this,r.addClass("vjs-texttrack-settings"),r.controlText(", opens "+n.kind+" settings dialog"),r;}var t=e.prototype;return t.handleClick=function(n){this.player().getChild("textTrackSettings").open();},e;}(Io);de.registerComponent("CaptionSettingsMenuItem",bc);var Tc=function(s){Ce.default(e,s);function e(i,n,r){return s.call(this,i,n,r)||this;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-captions-button "+s.prototype.buildCSSClass.call(this);},t.buildWrapperCSSClass=function(){return"vjs-captions-button "+s.prototype.buildWrapperCSSClass.call(this);},t.createItems=function(){var n=[];return!(this.player().tech_&&this.player().tech_.featuresNativeTextTracks)&&this.player().getChild("textTrackSettings")&&(n.push(new bc(this.player_,{kind:this.kind_})),this.hideThreshold_+=1),s.prototype.createItems.call(this,n);},e;}(hs);Tc.prototype.kind_="captions";Tc.prototype.controlText_="Captions";de.registerComponent("CaptionsButton",Tc);var h_=function(s){Ce.default(e,s);function e(){return s.apply(this,arguments)||this;}var t=e.prototype;return t.createEl=function(n,r,o){var a=s.prototype.createEl.call(this,n,r,o),l=a.querySelector(".vjs-menu-item-text");return this.options_.track.kind==="captions"&&(l.appendChild(rt("span",{className:"vjs-icon-placeholder"},{"aria-hidden":!0})),l.appendChild(rt("span",{className:"vjs-control-text",textContent:" "+this.localize("Captions")}))),a;},e;}(Io);de.registerComponent("SubsCapsMenuItem",h_);var Ec=function(s){Ce.default(e,s);function e(i,n){var r;return n===void 0&&(n={}),r=s.call(this,i,n)||this,r.label_="subtitles",["en","en-us","en-ca","fr-ca"].indexOf(r.player_.language_)>-1&&(r.label_="captions"),r.menuButton_.controlText(Ht(r.label_)),r;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-subs-caps-button "+s.prototype.buildCSSClass.call(this);},t.buildWrapperCSSClass=function(){return"vjs-subs-caps-button "+s.prototype.buildWrapperCSSClass.call(this);},t.createItems=function(){var n=[];return!(this.player().tech_&&this.player().tech_.featuresNativeTextTracks)&&this.player().getChild("textTrackSettings")&&(n.push(new bc(this.player_,{kind:this.label_})),this.hideThreshold_+=1),n=s.prototype.createItems.call(this,n,h_),n;},e;}(hs);Ec.prototype.kinds_=["captions","subtitles"];Ec.prototype.controlText_="Subtitles";de.registerComponent("SubsCapsButton",Ec);var f_=function(s){Ce.default(e,s);function e(i,n){var r,o=n.track,a=i.audioTracks();n.label=o.label||o.language||"Unknown",n.selected=o.enabled,r=s.call(this,i,n)||this,r.track=o,r.addClass("vjs-"+o.kind+"-menu-item");var l=function(){for(var u=arguments.length,c=new Array(u),h=0;h<u;h++)c[h]=arguments[h];r.handleTracksChange.apply(lt.default(r),c);};return a.addEventListener("change",l),r.on("dispose",function(){a.removeEventListener("change",l);}),r;}var t=e.prototype;return t.createEl=function(n,r,o){var a=s.prototype.createEl.call(this,n,r,o),l=a.querySelector(".vjs-menu-item-text");return this.options_.track.kind==="main-desc"&&(l.appendChild(rt("span",{className:"vjs-icon-placeholder"},{"aria-hidden":!0})),l.appendChild(rt("span",{className:"vjs-control-text",textContent:" "+this.localize("Descriptions")}))),a;},t.handleClick=function(n){if(s.prototype.handleClick.call(this,n),this.track.enabled=!0,this.player_.tech_.featuresNativeAudioTracks)for(var r=this.player_.audioTracks(),o=0;o<r.length;o++){var a=r[o];a!==this.track&&(a.enabled=a===this.track);}},t.handleTracksChange=function(n){this.selected(this.track.enabled);},e;}(Ao);de.registerComponent("AudioTrackMenuItem",f_);var p_=function(s){Ce.default(e,s);function e(i,n){return n===void 0&&(n={}),n.tracks=i.audioTracks(),s.call(this,i,n)||this;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-audio-button "+s.prototype.buildCSSClass.call(this);},t.buildWrapperCSSClass=function(){return"vjs-audio-button "+s.prototype.buildWrapperCSSClass.call(this);},t.createItems=function(n){n===void 0&&(n=[]),this.hideThreshold_=1;for(var r=this.player_.audioTracks(),o=0;o<r.length;o++){var a=r[o];n.push(new f_(this.player_,{track:a,selectable:!0,multiSelectable:!1}));}return n;},e;}(gc);p_.prototype.controlText_="Audio Track";de.registerComponent("AudioTrackButton",p_);var Sc=function(s){Ce.default(e,s);function e(i,n){var r,o=n.rate,a=parseFloat(o,10);return n.label=o,n.selected=a===i.playbackRate(),n.selectable=!0,n.multiSelectable=!1,r=s.call(this,i,n)||this,r.label=o,r.rate=a,r.on(i,"ratechange",function(l){return r.update(l);}),r;}var t=e.prototype;return t.handleClick=function(n){s.prototype.handleClick.call(this),this.player().playbackRate(this.rate);},t.update=function(n){this.selected(this.player().playbackRate()===this.rate);},e;}(Ao);Sc.prototype.contentElType="button";de.registerComponent("PlaybackRateMenuItem",Sc);var m_=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.menuButton_.el_.setAttribute("aria-describedby",r.labelElId_),r.updateVisibility(),r.updateLabel(),r.on(i,"loadstart",function(o){return r.updateVisibility(o);}),r.on(i,"ratechange",function(o){return r.updateLabel(o);}),r.on(i,"playbackrateschange",function(o){return r.handlePlaybackRateschange(o);}),r;}var t=e.prototype;return t.createEl=function(){var n=s.prototype.createEl.call(this);return this.labelElId_="vjs-playback-rate-value-label-"+this.id_,this.labelEl_=rt("div",{className:"vjs-playback-rate-value",id:this.labelElId_,textContent:"1x"}),n.appendChild(this.labelEl_),n;},t.dispose=function(){this.labelEl_=null,s.prototype.dispose.call(this);},t.buildCSSClass=function(){return"vjs-playback-rate "+s.prototype.buildCSSClass.call(this);},t.buildWrapperCSSClass=function(){return"vjs-playback-rate "+s.prototype.buildWrapperCSSClass.call(this);},t.createItems=function(){for(var n=this.playbackRates(),r=[],o=n.length-1;o>=0;o--)r.push(new Sc(this.player(),{rate:n[o]+"x"}));return r;},t.updateARIAAttributes=function(){this.el().setAttribute("aria-valuenow",this.player().playbackRate());},t.handleClick=function(n){var r=this.player().playbackRate(),o=this.playbackRates(),a=o.indexOf(r),l=(a+1)%o.length;this.player().playbackRate(o[l]);},t.handlePlaybackRateschange=function(n){this.update();},t.playbackRates=function(){var n=this.player();return n.playbackRates&&n.playbackRates()||[];},t.playbackRateSupported=function(){return this.player().tech_&&this.player().tech_.featuresPlaybackRate&&this.playbackRates()&&this.playbackRates().length>0;},t.updateVisibility=function(n){this.playbackRateSupported()?this.removeClass("vjs-hidden"):this.addClass("vjs-hidden");},t.updateLabel=function(n){this.playbackRateSupported()&&(this.labelEl_.textContent=this.player().playbackRate()+"x");},e;}(mc);m_.prototype.controlText_="Playback Rate";de.registerComponent("PlaybackRateMenuButton",m_);var g_=function(s){Ce.default(e,s);function e(){return s.apply(this,arguments)||this;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-spacer "+s.prototype.buildCSSClass.call(this);},t.createEl=function(n,r,o){return n===void 0&&(n="div"),r===void 0&&(r={}),o===void 0&&(o={}),r.className||(r.className=this.buildCSSClass()),s.prototype.createEl.call(this,n,r,o);},e;}(de);de.registerComponent("Spacer",g_);var C1=function(s){Ce.default(e,s);function e(){return s.apply(this,arguments)||this;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-custom-control-spacer "+s.prototype.buildCSSClass.call(this);},t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:this.buildCSSClass(),textContent:"\xA0"});},e;}(g_);de.registerComponent("CustomControlSpacer",C1);var _l=function(s){Ce.default(e,s);function e(){return s.apply(this,arguments)||this;}var t=e.prototype;return t.createEl=function(){return s.prototype.createEl.call(this,"div",{className:"vjs-control-bar",dir:"ltr"});},e;}(de);_l.prototype.options_={children:["playToggle","volumePanel","currentTimeDisplay","timeDivider","durationDisplay","progressControl","liveDisplay","seekToLive","remainingTimeDisplay","customControlSpacer","playbackRateMenuButton","chaptersButton","descriptionsButton","subsCapsButton","audioTrackButton","fullscreenToggle"]};"exitPictureInPicture"in _e.default&&_l.prototype.options_.children.splice(_l.prototype.options_.children.length-1,0,"pictureInPictureToggle");de.registerComponent("ControlBar",_l);var v_=function(s){Ce.default(e,s);function e(i,n){var r;return r=s.call(this,i,n)||this,r.on(i,"error",function(o){return r.open(o);}),r;}var t=e.prototype;return t.buildCSSClass=function(){return"vjs-error-display "+s.prototype.buildCSSClass.call(this);},t.content=function(){var n=this.player().error();return n?this.localize(n.message):"";},e;}(ds);v_.prototype.options_=Yu.default({}
11,ds.prototype.options_,{pauseOnOpen:!1,fillAlways:!0,temporary:!1,uncloseable:!0});de.registerComponent("ErrorDisplay",v_);var Nu="vjs-text-track-settings",e0=["#000","Black"],t0=["#00F","Blue"],i0=["#0FF","Cyan"],n0=["#0F0","Green"],r0=["#F0F","Magenta"],s0=["#F00","Red"],o0=["#FFF","White"],a0=["#FF0","Yellow"],ju=["1","Opaque"],Fu=["0.5","Semi-Transparent"],l0=["0","Transparent"],cr={backgroundColor:{selector:".vjs-bg-color > select",id:"captions-background-color-%s",label:"Color",options:[e0,o0,s0,n0,t0,a0,r0,i0]},backgroundOpacity:{selector:".vjs-bg-opacity > select",id:"captions-background-opacity-%s",label:"Transparency",options:[ju,Fu,l0]},color:{selector:".vjs-fg-color > select",id:"captions-foreground-color-%s",label:"Color",options:[o0,e0,s0,n0,t0,a0,r0,i0]},edgeStyle:{selector:".vjs-edge-style > select",id:"%s",label:"Text Edge Style",options:[["none","None"],["raised","Raised"],["depressed","Depressed"],["uniform","Uniform"],["dropshadow","Dropshadow"]]},fontFamily:{selector:".vjs-font-family > select",id:"captions-font-family-%s",label:"Font Family",options:[["proportionalSansSerif","Proportional Sans-Serif"],["monospaceSansSerif","Monospace Sans-Serif"],["proportionalSerif","Proportional Serif"],["monospaceSerif","Monospace Serif"],["casual","Casual"],["script","Script"],["small-caps","Small Caps"]]},fontPercent:{selector:".vjs-font-percent > select",id:"captions-font-size-%s",label:"Font Size",options:[["0.50","50%"],["0.75","75%"],["1.00","100%"],["1.25","125%"],["1.50","150%"],["1.75","175%"],["2.00","200%"],["3.00","300%"],["4.00","400%"]],default:2,parser:function(e){return e==="1.00"?null:Number(e);}},textOpacity:{selector:".vjs-text-opacity > select",id:"captions-foreground-opacity-%s",label:"Transparency",options:[ju,Fu]},windowColor:{selector:".vjs-window-color > select",id:"captions-window-color-%s",label:"Color"},windowOpacity:{selector:".vjs-window-opacity > select",id:"captions-window-opacity-%s",label:"Transparency",options:[l0,Fu,ju]}};cr.windowColor.options=cr.backgroundColor.options;function __(s,e){if(e&&(s=e(s)),s&&s!=="none")return s;}function w1(s,e){var t=s.options[s.options.selectedIndex].value;return __(t,e);}function x1(s,e,t){if(e){for(var i=0;i<s.options.length;i++)if(__(s.options[i].value,t)===e){s.selectedIndex=i;break;}}}var A1=function(s){Ce.default(e,s);function e(i,n){var r;return n.temporary=!1,r=s.call(this,i,n)||this,r.updateDisplay=r.updateDisplay.bind(lt.default(r)),r.fill(),r.hasBeenOpened_=r.hasBeenFilled_=!0,r.endDialog=rt("p",{className:"vjs-control-text",textContent:r.localize("End of dialog window.")}),r.el().appendChild(r.endDialog),r.setDefaults(),n.persistTextTrackSettings===void 0&&(r.options_.persistTextTrackSettings=r.options_.playerOptions.persistTextTrackSettings),r.on(r.$(".vjs-done-button"),"click",function(){r.saveSettings(),r.close();}),r.on(r.$(".vjs-default-button"),"click",function(){r.setDefaults(),r.updateDisplay();}),Jr(cr,function(o){r.on(r.$(o.selector),"change",r.updateDisplay);}),r.options_.persistTextTrackSettings&&r.restoreSettings(),r;}var t=e.prototype;return t.dispose=function(){this.endDialog=null,s.prototype.dispose.call(this);},t.createElSelect_=function(n,r,o){var a=this;r===void 0&&(r=""),o===void 0&&(o="label");var l=cr[n],d=l.id.replace("%s",this.id_),u=[r,d].join(" ").trim();return["<"+o+' id="'+d+'" class="'+(o==="label"?"vjs-label":"")+'">',this.localize(l.label),"</"+o+">",'<select aria-labelledby="'+u+'">'].concat(l.options.map(function(c){var h=d+"-"+c[1].replace(/\W+/g,"");return['<option id="'+h+'" value="'+c[0]+'" ','aria-labelledby="'+u+" "+h+'">',a.localize(c[1]),"</option>"].join("");})).concat("</select>").join("");},t.createElFgColor_=function(){var n="captions-text-legend-"+this.id_;return['<fieldset class="vjs-fg-color vjs-track-setting">','<legend id="'+n+'">',this.localize("Text"),"</legend>",this.createElSelect_("color",n),'<span class="vjs-text-opacity vjs-opacity">',this.createElSelect_("textOpacity",n),"</span>","</fieldset>"].join("");},t.createElBgColor_=function(){var n="captions-background-"+this.id_;return['<fieldset class="vjs-bg-color vjs-track-setting">','<legend id="'+n+'">
11',this.localize("Background"),"</legend>",this.createElSelect_("backgroundColor",n),'<span class="vjs-bg-opacity vjs-opacity">',this.createElSelect_("backgroundOpacity",n),"</span>","</fieldset>"].join("");},t.createElWinColor_=function(){var n="captions-window-"+this.id_;return['<fieldset class="vjs-window-color vjs-track-setting">','<legend id="'+n+'">',this.localize("Window"),"</legend>",this.createElSelect_("windowColor",n),'<span class="vjs-window-opacity vjs-opacity">',this.createElSelect_("windowOpacity",n),"</span>","</fieldset>"].join("");},t.createElColors_=function(){return rt("div",{className:"vjs-track-settings-colors",innerHTML:[this.createElFgColor_(),this.createElBgColor_(),this.createElWinColor_()].join("")});},t.createElFont_=function(){return rt("div",{className:"vjs-track-settings-font",innerHTML:['<fieldset class="vjs-font-percent vjs-track-setting">',this.createElSelect_("fontPercent","","legend"),"</fieldset>",'<fieldset class="vjs-edge-style vjs-track-setting">',this.createElSelect_("edgeStyle","","legend"),"</fieldset>",'<fieldset class="vjs-font-family vjs-track-setting">',this.createElSelect_("fontFamily","","legend"),"</fieldset>"].join("")});},t.createElControls_=function(){var n=this.localize("restore all settings to the default values");return rt("div",{className:"vjs-track-settings-controls",innerHTML:['<button type="button" class="vjs-default-button" title="'+n+'">',this.localize("Reset"),'<span class="vjs-control-text"> '+n+"</span>","</button>",'<button type="button" class="vjs-done-button">'+this.localize("Done")+"</button>"].join("")});},t.content=function(){return[this.createElColors_(),this.createElFont_(),this.createElControls_()];},t.label=function(){return this.localize("Caption Settings Dialog");},t.description=function(){return this.localize("Beginning of dialog window. Escape will cancel and close the window.");},t.buildCSSClass=function(){return s.prototype.buildCSSClass.call(this)+" vjs-text-track-settings";},t.getValues=function(){var n=this;return gx(cr,function(r,o,a){var l=w1(n.$(o.selector),o.parser);return l!==void 0&&(r[a]=l),r;},{});},t.setValues=function(n){var r=this;Jr(cr,function(o,a){x1(r.$(o.selector),n[a],o.parser);});},t.setDefaults=function(){var n=this;Jr(cr,function(r){var o=r.hasOwnProperty("default")?r.default:0;n.$(r.selector).selectedIndex=o;});},t.restoreSettings=function(){var n;try{n=JSON.parse(re.default.localStorage.getItem(Nu));}catch(r){Je.warn(r);}n&&this.setValues(n);},t.saveSettings=function(){if(this.options_.persistTextTrackSettings){var n=this.getValues();try{Object.keys(n).length?re.default.localStorage.setItem(Nu,JSON.stringify(n)):re.default.localStorage.removeItem(Nu);}catch(r){Je.warn(r);}}},t.updateDisplay=function(){var n=this.player_.getChild("textTrackDisplay");n&&n.updateDisplay();},t.conditionalBlur_=function(){this.previouslyActiveEl_=null;var n=this.player_.controlBar,r=n&&n.subsCapsButton,o=n&&n.captionsButton;r?r.focus():o&&o.focus();},e;}(ds);de.registerComponent("TextTrackSettings",A1);var I1=function(s){Ce.default(e,s);function e(i,n){var r,o=n.ResizeObserver||re.default.ResizeObserver;n.ResizeObserver===null&&(o=!1);var a=wt({createEl:!o,reportTouchActivity:!1},n);return r=s.call(this,i,a)||this,r.ResizeObserver=n.ResizeObserver||re.default.ResizeObserver,r.loadListener_=null,r.resizeObserver_=null,r.debouncedHandler_=Ax(function(){r.resizeHandler();},100,!1,lt.default(r)),o?(r.resizeObserver_=new r.ResizeObserver(r.debouncedHandler_),r.resizeObserver_.observe(i.el())):(r.loadListener_=function(){if(!(!r.el_||!r.el_.contentWindow)){var l=r.debouncedHandler_,d=r.unloadListener_=function(){ci(this,"resize",l),ci(this,"unload",d),d=null;};Ii(r.el_.contentWindow,"unload",d),Ii(r.el_.contentWindow,"resize",l);}},r.one("load",r.loadListener_)),r;}var t=e.prototype;return t.createEl=function(){return s.prototype.createEl.call(this,"iframe",{className:"vjs-resize-manager",tabIndex:-1,title:this.localize("No content")},{"aria-hidden":"true"});},t.resizeHandler=function(){!this.player_||!this.player_.trigger||this.player_.trigger("playerresize");},t.dispose=function(){this.debouncedHandler_&&this.debouncedHandler_.cancel(),this.resizeObserver_&&(this.player_.el()&&this.resizeObserver_.unobserve(this.player_.el()),this.resizeObserver_.disconnect()),this.loadListener_&&this.off("load",this.loadListener_),this.el_&&this.el_.contentWindow&&this.unloadListener_&&this.unloadListener_.call(this.el_.contentWindow),this.ResizeObserver=null,this.resizeObserver=null,this.debouncedHandler_=null,this.loadListener_=null,s.prototype.dispose.call(this);},e;}(de);de.registerComponent("ResizeManager",I1);var R1={trackingThreshold:20,liveTolerance:15},P1=function(s){Ce.default(e,s);function e(i,n){var r,o=wt(R1,n,{createEl:!1});return r=s.call(this,i,o)||this,r.handleVisibilityChange_=function(a){return r.handleVisibilityChange(a);},r.trackLiveHandler_=function(){return r.trackLive_();},r.handlePlay_=function(a){return r.handlePlay(a);},r.handleFirstTimeupdate_=function(a){return r.handleFirstTimeupdate(a);},r.handleSeeked_=function(a){return r.handleSeeked(a);},r.seekToLiveEdge_=function(a){return r.seekToLiveEdge(a);},r.reset_(),r.on(r.player_,"durationchange",function(a){return r.handleDurationchange(a);}),r.on(r.player_,"canplay",function(){return r.toggleTracking();}),Co&&"hidden"in _e.default&&"visibilityState"in _e.default&&r.on(_e.default,"visibilitychange",r.handleVisibilityChange_),r;}var t=e.prototype;return t.handleVisibilityChange=function(){this.player_.duration()===1/0&&(_e.default.hidden?this.stopTracking():this.startTracking());},t.trackLive_=function(){var n=this.player_.seekable();if(!(!n||!n.length)){var r=Number(re.default.performance.now().toFixed(4)),o=this.lastTime_===-1?0:(r-this.lastTime_)/1e3;this.lastTime_=r,this.pastSeekEnd_=this.pastSeekEnd()+o;var a=this.liveCurrentTime(),l=this.player_.currentTime(),d=this.player_.paused()||this.seekedBehindLive_||Math.abs(a-l)>this.options_.liveTolerance;(!this.timeupdateSeen_||a===1/0)&&(d=!1),d!==this.behindLiveEdge_&&(this.behindLiveEdge_=d,this.trigger("liveedgechange"));}},t.handleDurationchange=function(){this.toggleTracking();},t.toggleTracking=function(){this.player_.duration()===1/0&&this.liveWindow()>=this.options_.trackingThreshold?(this.player_.options_.liveui&&this.player_.addClass("vjs-liveui"),this.startTracking()):(this.player_.removeClass("vjs-liveui"),this.stopTracking());},t.startTracking=function(){this.isTracking()||(this.timeupdateSeen_||(this.timeupdateSeen_=this.player_.hasStarted()),this.trackingInterval_=this.setInterval(this.trackLiveHandler_,Vi),this.trackLive_(),this.on(this.player_,["play","pause"],this.trackLiveHandler_),this.timeupdateSeen_?this.on(this.player_,"seeked",this.handleSeeked_):(this.one(this.player_,"play",this.handlePlay_),this.one(this.player_,"timeupdate",this.handleFirstTimeupdate_)));},t.handleFirstTimeupdate=function(){this.timeupdateSeen_=!0,this.on(this.player_,"seeked",this.handleSeeked_);},t.handleSeeked=function(){var n=Math.abs(this.liveCurrentTime()-this.player_.currentTime());this.seekedBehindLive_=this.nextSeekedFromUser_&&n>2,this.nextSeekedFromUser_=!1,this.trackLive_();},t.handlePlay=function(){this.one(this.player_,"timeupdate",this.seekToLiveEdge_);},t.reset_=function(){this.lastTime_=-1,this.pastSeekEnd_=0,this.lastSeekEnd_=-1,this.behindLiveEdge_=!0,this.timeupdateSeen_=!1,this.seekedBehindLive_=!1,this.nextSeekedFromUser_=!1,this.clearInterval(this.trackingInterval_),this.trackingInterval_=null,this.off(this.player_,["play","pause"],this.trackLiveHandler_),this.off(this.player_,"seeked",this.handleSeeked_),this.off(this.player_,"play",this.handlePlay_),this.off(this.player_,"timeupdate",this.handleFirstTimeupdate_),this.off(this.player_,"timeupdate",this.seekToLiveEdge_);},t.nextSeekedFromUser=function(){this.nextSeekedFromUser_=!0;},t.stopTracking=function(){this.isTracking()&&(this.reset_(),this.trigger("liveedgechange"));},t.seekableEnd=function(){for(var n=this.player_.seekable(),r=[],o=n?n.length:0;o--;)r.push(n.end(o));return r.length?r.sort()[r.length-1]:1/0;},t.seekableStart=function(){for(var n=this.player_.seekable(),r=[],o=n?n.length:0;o--;)r.push(n.start(o));return r.length?r.sort()[0]:0;},t.liveWindow=function(){var n=this.liveCurrentTime();return n===1/0?0:n-this.seekableStart();},t.isLive=function(){return this.isTracking();},t.atLiveEdge=function(){return!this.behindLiveEdge();},t.liveCurrentTime=function(){return this.pastSeekEnd()+this.seekableEnd();},t.pastSeekEnd=function(){var n=this.seekableEnd();return this.lastSeekEnd_!==-1&&n!==this.lastSeekEnd_&&(this.pastSeekEnd_=0),this.lastSeekEnd_=n,this.pastSeekEnd_;},t.behindLiveEdge=function(){return this.behindLiveEdge_;},t.isTracking=function(){return typeof this.trackingInterval_=="number";},t.seekToLiveEdge=function(){this.seekedBehindLive_=!1,!this.atLiveEdge()&&(this.nextSeekedFromUser_=!1,this.player_.currentTime(this.liveCurrentTime()));},t.dispose=function(){this.off(_e.default,"visibilitychange",this.handleVisibilityChange_),this.stopTracking(),s.prototype.dispose.call(this);},e;}(de);de.registerComponent("LiveTracker",P1);
11var qu=function(e){var t=e.el();if(t.hasAttribute("src"))return e.triggerSourceset(t.src),!0;var i=e.$$("source"),n=[],r="";if(!i.length)return!1;for(var o=0;o<i.length;o++){var a=i[o].src;a&&n.indexOf(a)===-1&&n.push(a);}return n.length?(n.length===1&&(r=n[0]),e.triggerSourceset(r),!0):!1;},k1=Object.defineProperty({},"innerHTML",{get:function(){return this.cloneNode(!0).innerHTML;},set:function(e){var t=_e.default.createElement(this.nodeName.toLowerCase());t.innerHTML=e;for(var i=_e.default.createDocumentFragment();t.childNodes.length;)i.appendChild(t.childNodes[0]);return this.innerText="",re.default.Element.prototype.appendChild.call(this,i),this.innerHTML;}}),y_=function(e,t){for(var i={},n=0;n<e.length&&(i=Object.getOwnPropertyDescriptor(e[n],t),!(i&&i.set&&i.get));n++);return i.enumerable=!0,i.configurable=!0,i;},O1=function(e){return y_([e.el(),re.default.HTMLMediaElement.prototype,re.default.Element.prototype,k1],"innerHTML");},d0=function(e){var t=e.el();if(!t.resetSourceWatch_){var i={},n=O1(e),r=function(a){return function(){for(var l=arguments.length,d=new Array(l),u=0;u<l;u++)d[u]=arguments[u];var c=a.apply(t,d);return qu(e),c;};};["append","appendChild","insertAdjacentHTML"].forEach(function(o){t[o]&&(i[o]=t[o],t[o]=r(i[o]));}),Object.defineProperty(t,"innerHTML",wt(n,{set:r(n.set)})),t.resetSourceWatch_=function(){t.resetSourceWatch_=null,Object.keys(i).forEac
11h(function(o){t[o]=i[o];}),Object.defineProperty(t,"innerHTML",n);},e.one("sourceset",t.resetSourceWatch_);}},L1=Object.defineProperty({},"src",{get:function(){return this.hasAttribute("src")?z0(re.default.Element.prototype.getAttribute.call(this,"src")):"";},set:function(e){return re.default.Element.prototype.setAttribute.call(this,"src",e),e;}}),M1=function(e){return y_([e.el(),re.default.HTMLMediaElement.prototype,L1],"src");},D1=function(e){if(e.featuresSourceset){var t=e.el();if(!t.resetSourceset_){var i=M1(e),n=t.setAttribute,r=t.load;Object.defineProperty(t,"src",wt(i,{set:function(a){var l=i.set.call(t,a);return e.triggerSourceset(t.src),l;}})),t.setAttribute=function(o,a){var l=n.call(t,o,a);return /src/i.test(o)&&e.triggerSourceset(t.src),l;},t.load=function(){var o=r.call(t);return qu(e)||(e.triggerSourceset(""),d0(e)),o;},t.currentSrc?e.triggerSourceset(t.currentSrc):qu(e)||d0(e),t.resetSourceset_=function(){t.resetSourceset_=null,t.load=r,t.setAttribute=n,Object.defineProperty(t,"src",i),t.resetSourceWatch_&&t.resetSourceWatch_();};}}},Cc=function(e,t,i,n){n===void 0&&(n=!0);var r=function(l){return Object.defineProperty(e,t,{value:l,enumerable:!0,writable:!0});},o={configurable:!0,enumerable:!0,get:function(){var l=i();return r(l),l;}};return n&&(o.set=r),Object.defineProperty(e,t,o);},be=function(s){Ce.default(e,s);function e(i,n){var r;r=s.call(this,i,n)||this;var o=i.source,a=!1;if(r.featuresVideoFrameCallback=r.featuresVideoFrameCallback&&r.el_.tagName==="VIDEO",o&&(r.el_.currentSrc!==o.src||i.tag&&i.tag.initNetworkState_===3)?r.setSource(o):r.handleLateInit_(r.el_),i.enableSourceset&&r.setupSourcesetHandling_(),r.isScrubbing_=!1,r.el_.hasChildNodes()){for(var l=r.el_.childNodes,d=l.length,u=[];d--;){var c=l[d],h=c.nodeName.toLowerCase();h==="track"&&(r.featuresNativeTextTracks?(r.remoteTextTrackEls().addTrackElement_(c),r.remoteTextTracks().addTrack(c.track),r.textTracks().addTrack(c.track),!a&&!r.el_.hasAttribute("crossorigin")&&Rl(c.src)&&(a=!0)):u.push(c));}for(var f=0;f<u.length;f++)r.el_.removeChild(u[f]);}return r.proxyNativeTracks_(),r.featuresNativeTextTracks&&a&&Je.warn(`Text Tracks are being loaded from another origin but the crossorigin attribute isn't used. 12This may prevent text tracks from loading.`),r.restoreMetadataTracksInIOSNativePlayer_(),(es||Zu||y0)&&i.nativeControlsForTouch===!0&&r.setControls(!0),r.proxyWebkitFullscreen_(),r.triggerReady(),r;}var t=e.prototype;return t.dispose=function(){this.el_&&this.el_.resetSourceset_&&this.el_.resetSourceset_(),e.disposeMediaElement(this.el_),this.options_=null,s.prototype.dispose.call(this);},t.setupSourcesetHandling_=function(){D1(this);},t.restoreMetadataTracksInIOSNativePlayer_=function(){var n=this.textTracks(),r,o=function(){r=[];for(var d=0;d<n.length;d++){var u=n[d];u.kind==="metadata"&&r.push({track:u,storedMode:u.mode});}};o(),n.addEventListener("change",o),this.on("dispose",function(){return n.removeEventListener("change",o);});var a=function l(){for(var d=0;d<r.length;d++){var u=r[d];u.track.mode==="disabled"&&u.track.mode!==u.storedMode&&(u.track.mode=u.storedMode);}n.removeEventListener("change",l);};this.on("webkitbeginfullscreen",function(){n.removeEventListener("change",o),n.removeEventListener("change",a),n.addEventListener("change",a);}),this.on("webkitendfullscreen",function(){n.removeEventListener("change",o),n.addEventListener("change",o),n.removeEventListener("change",a);});},t.overrideNative_=function(n,r){var o=this;if(r===this["featuresNative"+n+"Tracks"]){var a=n.toLowerCase();this[a+"TracksListeners_"]&&Object.keys(this[a+"TracksListeners_"]).forEach(function(l){var d=o.el()[a+"Tracks"];d.removeEventListener(l,o[a+"TracksListeners_"][l]);}),this["featuresNative"+n+"Tracks"]=!r,this[a+"TracksListeners_"]=null,this.proxyNativeTracksForType_(a);}},t.overrideNativeAudioTracks=function(n){this.overrideNative_("Audio",n);},t.overrideNativeVideoTracks=function(n){this.overrideNative_("Video",n);},t.proxyNativeTracksForType_=function(n){var r=this,o=Li[n],a=this.el()[o.getterName],l=this[o.getterName]();if(!(!this["featuresNative"+o.capitalName+"Tracks"]||!a||!a.addEventListener)){var d={change:function(h){var f={type:"change",target:l,currentTarget:l,srcElement:l};l.trigger(f),n==="text"&&r[rs.remoteText.getterName]().trigger(f);},addtrack:function(h){l.addTrack(h.track);},removetrack:function(h){l.removeTrack(h.track);}},u=function(){for(var h=[],f=0;f<l.length;f++){for(var p=!1,g=0;g<a.length;g++)if(a[g]===l[f]){p=!0;break;}p||h.push(l[f]);}for(;h.length;)l.removeTrack(h.shift());};
12this[o.getterName+"Listeners_"]=d,Object.keys(d).forEach(function(c){var h=d[c];a.addEventListener(c,h),r.on("dispose",function(f){return a.removeEventListener(c,h);});}),this.on("loadstart",u),this.on("dispose",function(c){return r.off("loadstart",u);});}},t.proxyNativeTracks_=function(){var n=this;Li.names.forEach(function(r){n.proxyNativeTracksForType_(r);});},t.createEl=function(){var n=this.options_.tag;if(!n||!(this.options_.playerElIngest||this.movingMediaElementInDOM)){if(n){var r=n.cloneNode(!0);n.parentNode&&n.parentNode.insertBefore(r,n),e.disposeMediaElement(n),n=r;}else{n=_e.default.createElement("video");var o=this.options_.tag&&yn(this.options_.tag),a=wt({},o);(!es||this.options_.nativeControlsForTouch!==!0)&&delete a.controls,A0(n,jt(a,{id:this.options_.techId,class:"vjs-tech"}));}n.playerId=this.options_.playerId;}typeof this.options_.preload<"u"&&ts(n,"preload",this.options_.preload),this.options_.disablePictureInPicture!==void 0&&(n.disablePictureInPicture=this.options_.disablePictureInPicture);for(var l=["loop","muted","playsinline","autoplay"],d=0;d<l.length;d++){var u=l[d],c=this.options_[u];typeof c<"u"&&(c?ts(n,u,u):Cl(n,u),n[u]=c);}return n;},t.handleLateInit_=function(n){if(!(n.networkState===0||n.networkState===3)){if(n.readyState===0){var r=!1,o=function(){r=!0;};this.on("loadstart",o);var a=function(){r||this.trigger("loadstart");};this.on("loadedmetadata",a),this.ready(function(){this.off("loadstart",o),this.off("loadedmetadata",a),r||this.trigger("loadstart");});return;}var l=["loadstart"];l.push("loadedmetadata"),n.readyState>=2&&l.push("loadeddata"),n.readyState>=3&&l.push("canplay"),n.readyState>=4&&l.push("canplaythrough"),this.ready(function(){l.forEach(function(d){this.trigger(d);},this);});}},t.setScrubbing=function(n){this.isScrubbing_=n;},t.scrubbing=function(){return this.isScrubbing_;},t.setCurrentTime=function(n){try{this.isScrubbing_&&this.el_.fastSeek&&Sl?this.el_.fastSeek(n):this.el_.currentTime=n;}catch(r){Je(r,"Video is not ready. (Video.js)");}},t.duration=function(){var n=this;if(this.el_.duration===1/0&&wn&&xn&&this.el_.currentTime===0){var r=function o(){n.el_.currentTime>0&&(n.el_.duration===1/0&&n.trigger("durationchange"),n.off("timeupdate",o));};return this.on("timeupdate",r),NaN;}return this.el_.duration||NaN;},t.width=function(){return this.el_.offsetWidth;},t.height=function(){return this.el_.offsetHeight;},t.proxyWebkitFullscreen_=function(){var n=this;if("webkitDisplayingFullscreen"in this.el_){var r=function(){this.trigger("fullscreenchange",{isFullscreen:!1}),this.el_.controls&&!this.options_.nativeControlsForTouch&&this.controls()&&(this.el_.controls=!1);},o=function(){"webkitPresentationMode"in this.el_&&this.el_.webkitPresentationMode!=="picture-in-picture"&&(this.one("webkitendfullscreen",r),this.trigger("fullscreenchange",{isFullscreen:!0,nativeIOSFullscreen:!0}));};this.on("webkitbeginfullscreen",o),this.on("dispose",function(){n.off("webkitbeginfullscreen",o),n.off("webkitendfullscreen",r);});}},t.supportsFullScreen=function(){if(typeof this.el_.webkitEnterFullScreen=="function"){var n=re.default.navigator&&re.default.navigator.userAgent||"";if(/Android/.test(n)||!/Chrome|Mac OS X 10.5/.test(n))return!0;}return!1;},t.enterFullScreen=function(){var n=this.el_;if(n.paused&&n.networkState<=n.HAVE_METADATA)en(this.el_.play()),this.setTimeout(function(){n.pause();try{n.webkitEnterFullScreen();}catch(r){this.trigger("fullscreenerror",r);}},0);else try{n.webkitEnterFullScreen();}catch(r){this.trigger("fullscreenerror",r);}},t.exitFullScreen=function(){if(!this.el_.webkitDisplayingFullscreen){this.trigger("fullscreenerror",new Error("The video is not fullscreen"));return;}this.el_.webkitExitFullScreen();},t.requestPictureInPicture=function(){return this.el_.requestPictureInPicture();},t.requestVideoFrameCallback=function(n){return this.featuresVideoFrameCallback&&!this.el_.webkitKeys?this.el_.requestVideoFrameCallback(n):s.prototype.requestVideoFrameCallback.call(this,n);},t.cancelVideoFrameCallback=function(n){this.featuresVideoFrameCallback&&!this.el_.webkitKeys?this.el_.cancelVideoFrameCallback(n):s.prototype.cancelVideoFrameCallback.call(this,n);},t.src=function(n){if(n===void 0)return this.el_.src;this.setSrc(n);},t.reset=function(){e.resetMediaElement(this.el_);},t.currentSrc=function(){return this.currentSource_?this.currentSource_.src:this.el_.currentSrc;},t.setControls=function(n){this.el_.controls=!!n;},t.addTextTrack=function(n,r,o){return this.featuresNativeTextTracks?this.el_.addTextTrack(n,r,o):s.prototype.addTextTrack.call(this,n,r,o);},t.createRemoteTextTrack=function(n){if(!this.featuresNativeTextTracks)return s.prototype.createRemoteTextTrack.call(this,n);var r=_e.default.createElement("track");return n.kind&&(r.kind=n.kind),n.label&&(r.label=n.label),(n.language||n.srclang)&&(r.srclang=n.language||n.srclang),n.default&&(r.default=n.default),n.id&&(r.id=n.id),n.src&&(r.src=n.src),r;},t.addRemoteTextTrack=function(n,r){var o=s.prototype.addRemoteTextTrack.call(this,n,r);return this.featuresNativeTextTracks&&this.el().appendChild(o),o;},t.removeRemoteTextTrack=function(n){if(s.prototype.removeRemoteTextTrack.call(this,n),this.featuresNativeTextTracks)for(var r=this.$$("track"),o=r.length;o--;)(n===r[o]||n===r[o].track)&&this.el().removeChild(r[o]);},t.getVideoPlaybackQuality=function(){if(typeof this.el().getVideoPlaybackQuality=="function")return this.el().getVideoPlaybackQuality();var n={};return typeof this.el().webkitDroppedFrameCount<"u"&&typeof this.el().webkitDecodedFrameCount<"u"&&(n.droppedVideoFrames=this.el().webkitDroppedFrameCount,n.totalVideoFrames=this.el().webkitDecodedFrameCount),re.default.performance&&typeof re.default.performance.now=="function"?n.creationTime=re.default.performance.now():re.default.performance&&re.default.performance.timing&&typeof re.default.performance.timing.navigationStart=="number"&&(n.creationTime=re.default.Date.now()-re.default.performance.timing.navigationStart),n;},e;}(yt);Cc(be,"TEST_VID",function(){if(os()){var s=_e.default.createElement("video"),e=_e.default.createElement("track");return e.kind="captions",e.srclang="en",e.label="English",s.appendChild(e),s;}});be.isSupported=function(){try{be.TEST_VID.volume=.5;}catch{return!1;}return!!(be.TEST_VID&&be.TEST_VID.canPlayType);};be.canPlayType=function(s){return be.TEST_VID.canPlayType(s);};be.canPlaySource=function(s,e){return be.canPlayType(s.type);};be.canControlVolume=function(){try{var s=be.TEST_VID.volume;be.TEST_VID.volume=s/2+.1;var e=s!==be.TEST_VID.volume;return e&&_i?(re.default.setTimeout(function(){be&&be.prototype&&(be.prototype.featuresVolumeControl=s!==be.TEST_VID.volume);}),!1):e;}catch{return!1;}};be.canMuteVolume=function(){try{var s=be.TEST_VID.muted;return be.TEST_VID.muted=!s,be.TEST_VID.muted?ts(be.TEST_VID,"muted","muted"):Cl(be.TEST_VID,"muted","muted"),s!==be.TEST_VID.muted;}catch{return!1;}};be.canControlPlaybackRate=function(){if(wn&&xn&&T0<58)return!1;try{var s=be.TEST_VID.playbackRate;return be.TEST_VID.playbackRate=s/2+.1,s!==be.TEST_VID.playbackRate;}catch{return!1;}};be.canOverrideAttributes=function(){try{var s=function(){};Object.defineProperty(_e.default.createElement("video"),"src",{get:s,set:s}),Object.defineProperty(_e.default.createElement("audio"),"src",{get:s,set:s}),Object.defineProperty(_e.default.createElement("video"),"innerHTML",{get:s,set:s}),Object.defineProperty(_e.default.createElement("audio"),"innerHTML",{get:s,set:s});}catch{return!1;}return!0;};be.supportsNativeTextTracks=function(){return Sl||_i&&xn;};be.supportsNativeVideoTracks=function(){return!!(be.TEST_VID&&be.TEST_VID.videoTracks);};be.supportsNativeAudioTracks=function(){return!!(be.TEST_VID&&be.TEST_VID.audioTracks);};be.Events=["loadstart","suspend","abort","error","emptied","stalled","loadedmetadata","loadeddata","canplay","canplaythrough","playing","waiting","seeking","seeked","ended","durationchange","timeupdate","progress","play","pause","ratechange","resize","volumechange"];[["featuresMuteControl","canMuteVolume"],["featuresPlaybackRate","canControlPlaybackRate"],["featuresSourceset","canOverrideAttributes"],["featuresNativeTextTracks","supportsNativeTextTracks"],["featuresNativeVideoTracks","supportsNativeVideoTracks"],["featuresNativeAudioTracks","supportsNativeAudioTracks"]].forEac
12h(function(s){var e=s[0],t=s[1];Cc(be.prototype,e,function(){return be[t]();},!0);});be.prototype.featuresVolumeControl=be.canControlVolume();be.prototype.movingMediaElementInDOM=!_i;be.prototype.featuresFullscreenResize=!0;be.prototype.featuresProgressEvents=!0;be.prototype.featuresTimeupdateEvents=!0;be.prototype.featuresVideoFrameCallback=!!(be.TEST_VID&&be.TEST_VID.requestVideoFrameCallback);var yl;be.patchCanPlayType=function(){Xu>=4&&!b0&&!xn&&(yl=be.TEST_VID&&be.TEST_VID.constructor.prototype.canPlayType,be.TEST_VID.constructor.prototype.canPlayType=function(s){var e=/^application\/(?:x-|vnd\.apple\.)mpegurl/i;return s&&e.test(s)?"maybe":yl.call(this,s);});};be.unpatchCanPlayType=function(){var s=be.TEST_VID.constructor.prototype.canPlayType;return yl&&(be.TEST_VID.constructor.prototype.canPlayType=yl),s;};be.patchCanPlayType();be.disposeMediaElement=function(s){if(s){for(s.parentNode&&s.parentNode.removeChild(s);s.hasChildNodes();)s.removeChild(s.firstChild);s.removeAttribute("src"),typeof s.load=="function"&&function(){try{s.load();}catch{}}();}};be.resetMediaElement=function(s){if(s){for(var e=s.querySelectorAll("source"),t=e.length;t--;)s.removeChild(e[t]);s.removeAttribute("src"),typeof s.load=="function"&&function(){try{s.load();}catch{}}();}};["muted","defaultMuted","autoplay","controls","loop","playsinline"].forEach(function(s){be.prototype[s]=function(){return this.el_[s]||this.el_.hasAttribute(s);};});["muted","defaultMuted","autoplay","loop","playsinline"].forEach(function(s){be.prototype["set"+Ht(s)]=function(e){this.el_[s]=e,e?this.el_.setAttribute(s,s):this.el_.removeAttribute(s);};});["paused","currentTime","buffered","volume","poster","preload","error","seeking","seekable","ended","playbackRate","defaultPlaybackRate","disablePictureInPicture","played","networkState","readyState","videoWidth","videoHeight","crossOrigin"].forEach(function(s){be.prototype[s]=function(){return this.el_[s];};});["volume","src","poster","preload","playbackRate","defaultPlaybackRate","disablePictureInPicture","crossOrigin"].forEach(function(s){be.prototype["set"+Ht(s)]=function(e){this.el_[s]=e;};});["pause","load","play"].forEach(function(s){be.prototype[s]=function(){return this.el_[s]();};});yt.withSourceHandlers(be);be.nativeSourceHandler={};be.nativeSourceHandler.canPlayType=function(s){try{return be.TEST_VID.canPlayType(s);}catch{return"";}};be.nativeSourceHandler.canHandleSource=function(s,e){if(s.type)return be.nativeSourceHandler.canPlayType(s.type);if(s.src){var t=oc(s.src);return be.nativeSourceHandler.canPlayType("video/"+t);}return"";};be.nativeSourceHandler.handleSource=function(s,e,t){e.setSrc(s.src);};be.nativeSourceHandler.dispose=function(){};be.registerSourceHandler(be.nativeSourceHandler);yt.registerTech("Html5",be);var b_=["progress","abort","suspend","emptied","stalled","loadedmetadata","loadeddata","timeupdate","resize","volumechange","texttrackchange"],Vu={canplay:"CanPlay",canplaythrough:"CanPlayThrough",playing:"Playing",seeked:"Seeked"},Ku=["tiny","xsmall","small","medium","large","xlarge","huge"],hl={};Ku.forEach(function(s){var e=s.charAt(0)==="x"?"x-"+s.substring(1):s;hl[s]="vjs-layout-"+e;});var N1={tiny:210,xsmall:320,small:425,medium:768,large:1440,xlarge:2560,huge:1/0},zt=function(s){Ce.default(e,s);function e(i,n,r){var o;if(i.id=i.id||n.id||"vjs_video_"+An(),n=jt(e.getTagSettings(i),n),n.initChildren=!1,n.createEl=!1,n.evented=!1,n.reportTouchActivity=!1,!n.language)if(typeof i.closest=="function"){var a=i.closest("[lang]");a&&a.getAttribute&&(n.language=a.getAttribute("lang"));}else for(var l=i;l&&l.nodeType===1;){if(yn(l).hasOwnProperty("lang")){n.language=l.getAttribute("lang");break;}l=l.parentNode;}if(o=s.call(this,null,n,r)||this,o.boundDocumentFullscreenChange_=function(h){return o.documentFullscreenChange_(h);},o.boundFullWindowOnEscKey_=function(h){return o.fullWindowOnEscKey(h);},o.boundUpdateStyleEl_=function(h){return o.updateStyleEl_(h);},o.boundApplyInitTime_=function(h){return o.applyInitTime_(h);},o.boundUpdateCurrentBreakpoint_=function(h){return o.updateCurrentBreakpoint_(h);},o.boundHandleTechClick_=function(h){return o.handleTechClick_(h);},o.boundHandleTechDoubleClick_=function(h){return o.handleTechDoubleClick_(h);},o.boundHandleTechTouchStart_=function(h){return o.handleTechTouchStart_(h);},o.boundHandleTechTouchMove_=function(h){return o.handleTechTouchMove_(h);},o.boundHandleTechTouchEnd_=function(h){return o.handleTechTouchEnd_(h);},o.boundHandleTechTap_=function(h){return o.handleTechTap_(h);},o.isFullscreen_=!1,o.log=g0(o.id_),o.fsApi_=pl,o.isPosterFromTech_=!1,o.queuedCallbacks_=[],o.isReady_=!1,o.hasStarted_=!1,o.userActive_=!1,o.debugEnabled_=!1,o.audioOnlyMode_=!1,o.audioPosterMode_=!1,o.audioOnlyCache_={playerHe
12ight:null,hiddenChildren:[]},!o.options_||!o.options_.techOrder||!o.options_.techOrder.length)throw new Error("No techOrder specified. Did you overwrite videojs.options instead of just changing the properties you want to override?");if(o.tag=i,o.tagAttributes=i&&yn(i),o.language(o.options_.language),n.languages){var d={};Object.getOwnPropertyNames(n.languages).forEach(function(h){d[h.toLowerCase()]=n.languages[h];}),o.languages_=d;}else o.languages_=e.prototype.options_.languages;o.resetCache_(),o.poster_=n.poster||"",o.controls_=!!n.controls,i.controls=!1,i.removeAttribute("controls"),o.changingSrc_=!1,o.playCallbacks_=[],o.playTerminatedQueue_=[],i.hasAttribute("autoplay")?o.autoplay(!0):o.autoplay(o.options_.autoplay),n.plugins&&Object.keys(n.plugins).forEach(function(h){if(typeof o[h]!="function")throw new Error('plugin "'+h+'" does not exist');}),o.scrubbing_=!1,o.el_=o.createEl(),nc(lt.default(o),{eventBusKey:"el_"}),o.fsApi_.requestFullscreen&&(Ii(_e.default,o.fsApi_.fullscreenchange,o.boundDocumentFullscreenChange_),o.on(o.fsApi_.fullscreenchange,o.boundDocumentFullscreenChange_)),o.fluid_&&o.on(["playerreset","resize"],o.boundUpdateStyleEl_);var u=wt(o.options_);n.plugins&&Object.keys(n.plugins).forEach(function(h){o[h](n.plugins[h]);}),n.debug&&o.debug(!0),o.options_.playerOptions=u,o.middleware_=[],o.playbackRates(n.playbackRates),o.initChildren(),o.isAudio(i.nodeName.toLowerCase()==="audio"),o.controls()?o.addClass("vjs-controls-enabled"):o.addClass("vjs-controls-disabled"),o.el_.setAttribute("role","region"),o.isAudio()?o.el_.setAttribute("aria-label",o.localize("Audio Player")):o.el_.setAttribute("aria-label",o.localize("Video Player")),o.isAudio()&&o.addClass("vjs-audio"),o.flexNotSupported_()&&o.addClass("vjs-no-flex"),es&&o.addClass("vjs-touch-enabled"),_i||o.addClass("vjs-workinghover"),e.players[o.id_]=lt.default(o);var c=f0.split(".")[0];return o.addClass("vjs-v"+c),o.userActive(!0),o.reportUserActivity(),o.one("play",function(h){return o.listenForUserActivity_(h);}),o.on("stageclick",function(h){return o.handleStageClick_(h);}),o.on("keydown",function(h){return o.handleKeyDown(h);}),o.on("languagechange",function(h){return o.handleLanguagechange(h);}),o.breakpoints(o.options_.breakpoints),o.responsive(o.options_.responsive),o.on("ready",function(){o.audioPosterMode(o.options_.audioPosterMode),o.audioOnlyMode(o.options_.audioOnlyMode);}),o;}var t=e.prototype;return t.dispose=function(){var n=this;this.trigger("dispose"),this.off("dispose"),ci(_e.default,this.fsApi_.fullscreenchange,this.boundDocumentFullscreenChange_),ci(_e.default,"keydown",this.boundFullWindowOnEscKey_),this.styleEl_&&this.styleEl_.parentNode&&(this.styleEl_.parentNode.removeChild(this.styleEl_),this.styleEl_=null),e.players[this.id_]=null,this.tag&&this.tag.player&&(this.tag.player=null),this.el_&&this.el_.player&&(this.el_.player=null),this.tech_&&(this.tech_.dispose(),this.isPosterFromTech_=!1,this.poster_=""),this.playerElIngest_&&(this.playerElIngest_=null),this.tag&&(this.tag=null),i1(this),mi.names.forEach(function(r){var o=mi[r],a=n[o.getterName]();a&&a.off&&a.off();}),s.prototype.dispose.call(this,{restoreEl:this.options_.restoreEl});},t.createEl=function(){var n=this.tag,r,o=this.playerElIngest_=n.parentNode&&n.parentNode.hasAttribute&&n.parentNode.hasAttribute("data-vjs-player"),a=this.tag.tagName.toLowerCase()==="video-js";o?r=this.el_=n.parentNode:a||(r=this.el_=s.prototype.createEl.call(this,"div"));var l=yn(n);if(a){for(r=this.el_=n,n=this.tag=_e.default.createElement("video");r.children.length;)n.appendChild(r.firstChild);hr(r,"video-js")||Tn(r,"video-js"),r.appendChild(n),o=this.playerElIngest_=r,Object.keys(r).forEach(function(p){try{n[p]=r[p];}catch{}});}if(n.setAttribute("tabindex","-1"),l.tabindex="-1",(Co||xn&&E0)&&(n.setAttribute("role","application"),l.role="application"),n.removeAttribute("width"),n.removeAttribute("height"),"width"in l&&delete l.width,"height"in l&&delete l.height,Object.getOwnPropertyNames(l).forEach(function(p){a&&p==="class"||r.setAttribute(p,l[p]),a&&n.setAttribute(p,l[p]);}),n.playerId=n.id,n.id+="_html5_api",n.className="vjs-tech",n.player=r.player=this,this.addClass("vjs-paused"),re.default.VIDEOJS_NO_DYNAMIC_STYLE!==!0){this.styleEl_=j0("vjs-styles-dimensions");var d=zn(".vjs-styles-defaults"),u=zn("head");u.insertBefore(this.styleEl_,d?d.nextSibling:u.firstChild);}this.fill_=!1,this.fluid_=!1,this.width(this.options_.width),this.height(this.options_.height),this.fill(this.options_.fill),this.fluid(this.options_.fluid),this.aspectRatio(this.options_.aspectRatio),this.crossOrigin(this.options_.crossOrigin||this.options_.crossorigin);for(var c=n.getElementsByTagName("a"),h=0;h<c.length;h++){var f=c.item(h);Tn(f,"vjs-hidden"),f.setAttribute("hidden","hidden");}return n.initNetworkState_=n.networkState,n.parentNode&&!o&&n.parentNode.insertBefore(r,n),Bu(n,r),this.children_.unshift(n),this.el_.setAttribute("lang",this.language_),this.el_.setAttribute("translate","no"),this.el_=r,r;},t.crossOrigin=function(n){if(!n)return this.techGet_("crossOrigin");if(n!=="anonymous"&&n!=="use-credentials"){Je.warn('crossOrigin must be "anonymous" or "use-credentials", given "'+n+'"');return;}this.techCall_("setCrossOrigin",n);},t.width=function(n){return this.dimension("width",n);},t.height=function(n){return this.dimension("height",n);},t.dimension=function(n,r){var o=n+"_";if(r===void 0)return this[o]||0;if(r===""||r==="auto"){this[o]=void 0,this.updateStyleEl_();return;}var a=parseFloat(r);if(isNaN(a)){Je.error('Improper value "'+r+'" supplied for for '+n);return;}this[o]=a,this.updateStyleEl_();},t.fluid=function(n){var r=this;if(n===void 0)return!!this.fluid_;this.fluid_=!!n,En(this)&&this.off(["playerreset","resize"],this.boundUpdateStyleEl_),n?(this.addClass("vjs-fluid"),this.fill(!1),Ix(this,function(){r.on(["playerreset","resize"],r.boundUpdateStyleEl_);})):this.removeClass("vjs-fluid"),this.updateStyleEl_();},t.fill=function(n){if(n===void 0)return!!this.fill_;this.fill_=!!n,n?(this.addClass("vjs-fill"),this.fluid(!1)):this.removeClass("vjs-fill");},t.aspectRatio=function(n){if(n===void 0)return this.aspectRatio_;if(!/^\d+\:\d+$/.test(n))throw new Error("Improper value supplied for aspect ratio. The format should be width:height, for example 16:9.");this.aspectRatio_=n,this.fluid(!0),this.updateStyleEl_();},t.updateStyleEl_=function(){if(re.default.VIDEOJS_NO_DYNAMIC_STYLE===!0){var n=typeof this.width_=="number"?this.width_:this.options_.width,r=typeof this.height_=="number"?this.height_:this.options_.height,o=this.tech_&&this.tech_.el();o&&(n>=0&&(o.width=n),r>=0&&(o.height=r));return;}var a,l,d,u;this.aspectRatio_!==void 0&&this.aspectRatio_!=="auto"?d=this.aspectRatio_:this.videoWidth()>0?d=this.videoWidth()+":"+this.videoHeight():d="16:9";var c=d.split(":"),h=c[1]/c[0];this.width_!==void 0?a=this.width_:this.height_!==void 0?a=this.height_/h:a=this.videoWidth()||300,this.height_!==void 0?l=this.height_:l=a*h,/^[^a-zA-Z]/.test(this.id())?u="dimensions-"+this.id():u=this.id()+"-dimensions",this.addClass(u),F0(this.styleEl_,` 13 .`+u+` { 14 width: `+a+`px; 15 height: `+l+`px; 16 } 17 18 .`+u+`.vjs-fluid:not(.vjs-audio-only-mode) { 19 padding-top: `+h*100+`%; 20 } 21 `);},t.loadTech_=function(n,r){var o=this;this.tech_&&this.unloadTech_();var a=Ht(n),l=n.charAt(0).toLowerCase()+n.slice(1);a!=="Html5"&&this.tag&&(yt.getTech("Html5").disposeMediaElement(this.tag),this.tag.player=null,this.tag=null),this.techName_=a,this.isReady_=!1;var d=this.autoplay();(typeof this.autoplay()=="string"||this.autoplay()===!0&&this.options_.normalizeAutoplay)&&(d=!1);var u={source:r,autoplay:d,nativeControlsForTouch:this.options_.nativeControlsForTouch,playerId:this.id(),techId:this.id()+"_"+l+"_api",playsinline:this.options_.playsinline,preload:this.options_.preload,loop:this.options_.loop,disablePictureInPicture:this.options_.disablePictureInPicture,muted:this.options_.muted,poster:this.poster(),language:this.language(),playerElIngest:this.playerElIngest_||!1,"vtt.js":this.options_["vtt.js"],canOverridePoster:!!this.options_.techCanOverridePoster,enableSourceset:this.options_.enableSourceset,Promise:this.options_.Promise};
21mi.names.forEach(function(h){var f=mi[h];u[f.getterName]=o[f.privateName];}),jt(u,this.options_[a]),jt(u,this.options_[l]),jt(u,this.options_[n.toLowerCase()]),this.tag&&(u.tag=this.tag),r&&r.src===this.cache_.src&&this.cache_.currentTime>0&&(u.startTime=this.cache_.currentTime);var c=yt.getTech(n);if(!c)throw new Error("No Tech named '"+a+"' exists! '"+a+"' should be registered using videojs.registerTech()'");this.tech_=new c(u),this.tech_.ready(xt(this,this.handleTechReady_),!0),$v.jsonToTextTracks(this.textTracksJson_||[],this.tech_),b_.forEach(function(h){o.on(o.tech_,h,function(f){return o["handleTech"+Ht(h)+"_"](f);});}),Object.keys(Vu).forEach(function(h){o.on(o.tech_,h,function(f){if(o.tech_.playbackRate()===0&&o.tech_.seeking()){o.queuedCallbacks_.push({callback:o["handleTech"+Vu[h]+"_"].bind(o),event:f});return;}o["handleTech"+Vu[h]+"_"](f);});}),this.on(this.tech_,"loadstart",function(h){return o.handleTechLoadStart_(h);}),this.on(this.tech_,"sourceset",function(h){return o.handleTechSourceset_(h);}),this.on(this.tech_,"waiting",function(h){return o.handleTechWaiting_(h);}),this.on(this.tech_,"ended",function(h){return o.handleTechEnded_(h);}),this.on(this.tech_,"seeking",function(h){return o.handleTechSeeking_(h);}),this.on(this.tech_,"play",function(h){return o.handleTechPlay_(h);}),this.on(this.tech_,"firstplay",function(h){return o.handleTechFirstPlay_(h);}),this.on(this.tech_,"pause",function(h){return o.handleTechPause_(h);}),this.on(this.tech_,"durationchange",function(h){return o.handleTechDurationChange_(h);}),this.on(this.tech_,"fullscreenchange",function(h,f){return o.handleTechFullscreenChange_(h,f);}),this.on(this.tech_,"fullscreenerror",function(h,f){return o.handleTechFullscreenError_(h,f);}),this.on(this.tech_,"enterpictureinpicture",function(h){return o.handleTechEnterPictureInPicture_(h);}),this.on(this.tech_,"leavepictureinpicture",function(h){return o.handleTechLeavePictureInPicture_(h);}),this.on(this.tech_,"error",function(h){return o.handleTechError_(h);}),this.on(this.tech_,"posterchange",function(h){return o.handleTechPosterChange_(h);}),this.on(this.tech_,"textdata",function(h){return o.handleTechTextData_(h);}),this.on(this.tech_,"ratechange",function(h){return o.handleTechRateChange_(h);}),this.on(this.tech_,"loadedmetadata",this.boundUpdateStyleEl_),this.usingNativeControls(this.techGet_("controls")),this.controls()&&!this.usingNativeControls()&&this.addTechControlsListeners_(),this.tech_.el().parentNode!==this.el()&&(a!=="Html5"||!this.tag)&&Bu(this.tech_.el(),this.el()),this.tag&&(this.tag.player=null,this.tag=null);},t.unloadTech_=function(){var n=this;mi.names.forEach(function(r){var o=mi[r];n[o.privateName]=n[o.getterName]();}),this.textTracksJson_=$v.textTracksToJson(this.tech_),this.isReady_=!1,this.tech_.dispose(),this.tech_=!1,this.isPosterFromTech_&&(this.poster_="",this.trigger("posterchange")),this.isPosterFromTech_=!1;},t.tech=function(n){return n===void 0&&Je.warn(`Using the tech directly can be dangerous. I hope you know
21what you're doing. 22See https://github.com/videojs/video.js/issues/2617 for more info. 23`),this.tech_;},t.addTechControlsListeners_=function(){this.removeTechControlsListeners_(),this.on(this.tech_,"click",this.boundHandleTechClick_),this.on(this.tech_,"dblclick",this.boundHandleTechDoubleClick_),this.on(this.tech_,"touchstart",this.boundHandleTechTouchStart_),this.on(this.tech_,"touchmove",this.boundHandleTechTouchMove_),this.on(this.tech_,"touchend",this.boundHandleTechTouchEnd_),this.on(this.tech_,"tap",this.boundHandleTechTap_);},t.removeTechControlsListeners_=function(){this.off(this.tech_,"tap",this.boundHandleTechTap_),this.off(this.tech_,"touchstart",this.boundHandleTechTouchStart_),this.off(this.tech_,"touchmove",this.boundHandleTechTouchMove_),this.off(this.tech_,"touchend",this.boundHandleTechTouchEnd_),this.off(this.tech_,"click",this.boundHandleTechClick_),this.off(this.tech_,"dblclick",this.boundHandleTechDoubleClick_);},t.handleTechReady_=function(){this.triggerReady(),this.cache_.volume&&this.techCall_("setVolume",this.cache_.volume),this.handleTechPosterChange_(),this.handleTechDurationChange_();},t.handleTechLoadStart_=function(){this.removeClass("vjs-ended"),this.removeClass("vjs-seeking"),this.error(null),this.handleTechDurationChange_(),this.paused()?(this.hasStarted(!1),this.trigger("loadstart")):(this.trigger("loadstart"),this.trigger("firstplay")),this.manualAutoplay_(this.autoplay()===!0&&this.options_.normalizeAutoplay?"play":this.autoplay());},t.manualAutoplay_=function(n){var r=this;if(!(!this.tech_||typeof n!="string")){var o=function(){var d=r.muted();r.muted(!0);var u=function(){r.muted(d);};r.playTerminatedQueue_.push(u);var c=r.play();if(_o(c))return c.catch(function(h){throw u(),new Error("Rejection at manualAutoplay. Restoring muted value. "+(h||""));});},a;if(n==="any"&&!this.muted()?(a=this.play(),_o(a)&&(a=a.catch(o))):n==="muted"&&!this.muted()?a=o():a=this.play(),!!_o(a))return a.then(function(){r.trigger({type:"autoplay-success",autoplay:n});}).catch(function(){r.trigger({type:"autoplay-failure",autoplay:n});});}},t.updateSourceCaches_=function(n){n===void 0&&(n="");var r=n,o="";typeof r!="string"&&(r=n.src,o=n.type),this.cache_.source=this.cache_.source||{},this.cache_.sources=this.cache_.sources||[],r&&!o&&(o=s1(this,r)),this.cache_.source=wt({},n,{src:r,type:o});for(var a=this.cache_.sources.filter(function(f){return f.src&&f.src===r;}),l=[],d=this.$$("source"),u=[],c=0;c<d.length;c++){var h=yn(d[c]);l.push(h),h.src&&h.src===r&&u.push(h.src);}u.length&&!a.length?this.cache_.sources=l:a.length||(this.cache_.sources=[this.cache_.source]),this.cache_.src=r;},t.handleTechSourceset_=function(n){var r=this;if(!this.changingSrc_){var o=function(u){return r.updateSourceCaches_(u);},a=this.currentSource().src,l=n.src;a&&!/^blob:/.test(a)&&/^blob:/.test(l)&&(!this.lastSource_||this.lastSource_.tech!==l&&this.lastSource_.player!==a)&&(o=function(){}),o(l),n.src||this.tech_.any(["sourceset","loadstart"],function(d){if(d.type!=="sourceset"){var u=r.techGet("currentSrc");r.lastSource_.tech=u,r.updateSourceCaches_(u);}});}this.lastSource_={player:this.currentSource().src,tech:n.src},this.trigger({src:n.src,type:"sourceset"});},t.hasStarted=function(n){if(n===void 0)return this.hasStarted_;n!==this.hasStarted_&&(this.hasStarted_=n,this.hasStarted_?(this.addClass("vjs-has-started"),this.trigger("firstplay")):this.removeClass("vjs-has-started"));},t.handleTechPlay_=function(){this.removeClass("vjs-ended"),this.removeClass("vjs-paused"),this.addClass("vjs-playing"),this.hasStarted(!0),this.trigger("play");},t.handleTechRateChange_=function(){this.tech_.playbackRate()>0&&this.cache_.lastPlaybackRate===0&&(this.queuedCallbacks_.forEach(function(n){return n.callback(n.event);}),this.queuedCallbacks_=[]),this.cache_.lastPlaybackRate=this.tech_.playbackRate(),this.trigger("ratechange");},t.handleTechWaiting_=function(){var n=this;this.addClass("vjs-waiting"),this.trigger("waiting");var r=this.currentTime(),o=function a(){r!==n.currentTime()&&(n.removeClass("vjs-waiting"),n.off("timeupdate",a));};this.on("timeupdate",o);},t.handleTechCanPlay_=function(){this.removeClass("vjs-waiting"),this.trigger("canplay");},t.handleTechCanPlayThrough_=function(){this.removeClass("vjs-waiting"),this.trigger("canplaythrough");},t.handleTechPlaying_=function(){this.removeClass("vjs-waiting"),this.trigger("playing");},t.handleTechSeeking_=function(){this.addClass("vjs-seeking"),this.trigger("seeking");},t.handleTechSeeked_=function(){this.removeClass("vjs-seeking"),this.removeClass("vjs-ended"),this.trigger("seeked");},t.handleTechFirstPlay_=function(){this.options_.starttime&&(Je.warn("Passing the `starttime` option to the player will be deprecated
23in 6.0"),this.currentTime(this.options_.starttime)),this.addClass("vjs-has-started"),this.trigger("firstplay");},t.handleTechPause_=function(){this.removeClass("vjs-playing"),this.addClass("vjs-paused"),this.trigger("pause");},t.handleTechEnded_=function(){this.addClass("vjs-ended"),this.removeClass("vjs-waiting"),this.options_.loop?(this.currentTime(0),this.play()):this.paused()||this.pause(),this.trigger("ended");},t.handleTechDurationChange_=function(){this.duration(this.techGet_("duration"));},t.handleTechClick_=function(n){this.controls_&&(this.options_===void 0||this.options_.userActions===void 0||this.options_.userActions.click===void 0||this.options_.userActions.click!==!1)&&(this.options_!==void 0&&this.options_.userActions!==void 0&&typeof this.options_.userActions.click=="function"?this.options_.userActions.click.call(this,n):this.paused()?en(this.play()):this.pause());},t.handleTechDoubleClick_=function(n){if(this.controls_){var r=Array.prototype.some.call(this.$$(".vjs-control-bar, .vjs-modal-dialog"),function(o){return o.contains(n.target);});r||(this.options_===void 0||this.options_.userActions===void 0||this.options_.userActions.doubleClick===void 0||this.options_.userActions.doubleClick!==!1)&&(this.options_!==void 0&&this.options_.userActions!==void 0&&typeof this.options_.userActions.doubleClick=="function"?this.options_.userActions.doubleClick.call(this,n):this.isFullscreen()?this.exitFullscreen():this.requestFullscreen());}},t.handleTechTap_=function(){this.userActive(!this.userActive());},t.handleTechTouchStart_=function(){this.userWasActive=this.userActive();},t.handleTechTouchMove_=function(){this.userWasActive&&this.reportUserActivity();},t.handleTechTouchEnd_=function(n){n.cancelable&&n.preventDefault();},t.handleStageClick_=function(){this.reportUserActivity();},t.toggleFullscreenClass_=function(){this.isFullscreen()?this.addClass("vjs-fullscreen"):this.removeClass("vjs-fullscreen");},t.documentFullscreenChange_=function(n){var r=n.target.player;if(!(r&&r!==this)){var o=this.el(),a=_e.default[this.fsApi_.fullscreenElement]===o;!a&&o.matches?a=o.matches(":"+this.fsApi_.fullscreen):!a&&o.msMatchesSelector&&(a=o.msMatchesSelector(":"+this.fsApi_.fullscreen)),this.isFullscreen(a);}},t.handleTechFullscreenChange_=function(n,r){var o=this;r&&(r.nativeIOSFullscreen&&(this.addClass("vjs-ios-native-fs"),this.tech_.one("webkitendfullscreen",function(){o.removeClass("vjs-ios-native-fs");})),this.isFullscreen(r.isFullscreen));},t.handleTechFullscreenError_=function(n,r){this.trigger("fullscreenerror",r);},t.togglePictureInPictureClass_=function(){this.isInPictureInPicture()?this.addClass("vjs-picture-in-picture"):this.removeClass("vjs-picture-in-picture");},t.handleTechEnterPictureInPicture_=function(n){this.isInPictureInPicture(!0);},t.handleTechLeavePictureInPicture_=function(n){this.isInPictureInPicture(!1);},t.handleTechError_=function(){var n=this.tech_.error();this.error(n);},t.handleTechTextData_=function(){var n=null;arguments.length>1&&(n=arguments[1]),this.trigger("textdata",n);},t.getCache=function(){return this.cache_;},t.resetCache_=function(){this.cache_={currentTime:0,initTime:0,inactivityTimeout:this.options_.inactivityTimeout,duration:NaN,lastVolume:1,lastPlaybackRate:this.defaultPlaybackRate(),media:null,src:"",source:{},sources:[],playbackRates:[],volume:1};},t.techCall_=function(n,r){this.ready(function(){if(n in e1)return Jx(this.middleware_,this.tech_,n,r);if(n in Xv)return Yv(this.middleware_,this.tech_,n,r);try{this.tech_&&this.tech_[n](r);}catch(o){throw Je(o),o;}},!0);},t.techGet_=function(n){if(!(!this.tech_||!this.tech_.isReady_)){if(n in Zx)return Qx(this.middleware_,this.tech_,n);if(n in Xv)return Yv(this.middleware_,this.tech_,n);try{return this.tech_[n]();}catch(r){throw this.tech_[n]===void 0?(Je("Video.js: "+n+" method not defined for "+this.techName_+" playback technology.",r),r):r.name==="TypeError"?(Je("Video.js: "+n+" unavailable on "+this.techName_+" playback technology element.",r),this.tech_.isReady_=!1,r):(Je(r),r);}}},t.play=function(){var n=this,r=this.options_.Promise||re.default.Promise;return r?new r(function(o){n.play_(o);}):this.play_();},t.play_=function(n){var r=this;n===void 0&&(n=en),this.playCallbacks_.push(n);var o=!!(!this.changingSrc_&&(this.src()||this.currentSrc())),a=!!(Sl||_i);if(this.waitToPlay_&&(this.off(["ready","loadstart"],this.waitToPlay_),this.waitToPlay_=null),!this.isReady_||!o){this.waitToPlay_=function(u){r.play_();},this.one(["ready","loadstart"],this.waitToPlay_),!o&&a&&this.load();return;}var l=this.techGet_("play"),d=a&&this.hasClass("vjs-ended");d&&this.resetProgressBar_(),l===null?this.runPlayTerminatedQueue_():this.runPlayCallbacks_(l);},t.runPlayTerminatedQueue_=function(){var n=this.playTerminatedQueue_.slice(0);
23this.playTerminatedQueue_=[],n.forEach(function(r){r();});},t.runPlayCallbacks_=function(n){var r=this.playCallbacks_.slice(0);this.playCallbacks_=[],this.playTerminatedQueue_=[],r.forEach(function(o){o(n);});},t.pause=function(){this.techCall_("pause");},t.paused=function(){return this.techGet_("paused")!==!1;},t.played=function(){return this.techGet_("played")||fr(0,0);},t.scrubbing=function(n){if(typeof n>"u")return this.scrubbing_;this.scrubbing_=!!n,this.techCall_("setScrubbing",this.scrubbing_),n?this.addClass("vjs-scrubbing"):this.removeClass("vjs-scrubbing");},t.currentTime=function(n){if(typeof n<"u"){if(n<0&&(n=0),!this.isReady_||this.changingSrc_||!this.tech_||!this.tech_.isReady_){this.cache_.initTime=n,this.off("canplay",this.boundApplyInitTime_),this.one("canplay",this.boundApplyInitTime_);return;}this.techCall_("setCurrentTime",n),this.cache_.initTime=0;return;}return this.cache_.currentTime=this.techGet_("currentTime")||0,this.cache_.currentTime;},t.applyInitTime_=function(){this.currentTime(this.cache_.initTime);},t.duration=function(n){if(n===void 0)return this.cache_.duration!==void 0?this.cache_.duration:NaN;n=parseFloat(n),n<0&&(n=1/0),n!==this.cache_.duration&&(this.cache_.duration=n,n===1/0?this.addClass("vjs-live"):this.removeClass("vjs-live"),isNaN(n)||this.trigger("durationchange"));},t.remainingTime=function(){return this.duration()-this.currentTime();},t.remainingTimeDisplay=function(){return Math.floor(this.duration())-Math.floor(this.currentTime());},t.buffered=function(){var n=this.techGet_("buffered");return(!n||!n.length)&&(n=fr(0,0)),n;},t.bufferedPercent=function(){return G0(this.buffered(),this.duration());},t.bufferedEnd=function(){var n=this.buffered(),r=this.duration(),o=n.end(n.length-1);return o>r&&(o=r),o;},t.volume=function(n){var r;if(n!==void 0){r=Math.max(0,Math.min(1,parseFloat(n))),this.cache_.volume=r,this.techCall_("setVolume",r),r>0&&this.lastVolume_(r);return;}return r=parseFloat(this.techGet_("volume")),isNaN(r)?1:r;},t.muted=function(n){if(n!==void 0){this.techCall_("setMuted",n);return;}return this.techGet_("muted")||!1;},t.defaultMuted=function(n){return n!==void 0?this.techCall_("setDefaultMuted",n):this.techGet_("defaultMuted")||!1;},t.lastVolume_=function(n){if(n!==void 0&&n!==0){this.cache_.lastVolume=n;return;}return this.cache_.lastVolume;},t.supportsFullScreen=function(){return this.techGet_("supportsFullScreen")||!1;},t.isFullscreen=function(n){if(n!==void 0){var r=this.isFullscreen_;this.isFullscreen_=!!n,this.isFullscreen_!==r&&this.fsApi_.prefixed&&this.trigger("fullscreenchange"),this.toggleFullscreenClass_();return;}return this.isFullscreen_;},t.requestFullscreen=function(n){var r=this.options_.Promise||re.default.Promise;if(r){var o=this;return new r(function(a,l){function d(){o.off("fullscreenerror",c),o.off("fullscreenchange",u);}function u(){d(),a();}function c(f,p){d(),l(p);}o.one("fullscreenchange",u),o.one("fullscreenerror",c);var h=o.requestFullscreenHelper_(n);h&&(h.then(d,d),h.then(a,l));});}return this.requestFullscreenHelper_();},t.requestFullscreenHelper_=function(n){var r=this,o;if(this.fsApi_.prefixed||(o=this.options_.fullscreen&&this.options_.fullscreen.options||{},n!==void 0&&(o=n)),this.fsApi_.requestFullscreen){var a=this.el_[this.fsApi_.requestFullscreen](o);return a&&a.then(function(){return r.isFullscreen(!0);},function(){return r.isFullscreen(!1);}),a;}else this.tech_.supportsFullScreen()&&!this.options_.preferFullWindow?this.techCall_("enterFullScreen"):this.enterFullWindow();},t.exitFullscreen=function(){var n=this.options_.Promise||re.default.Promise;if(n){var r=this;return new n(function(o,a){function l(){r.off("fullscreenerror",u),r.off("fullscreenchange",d);}function d(){l(),o();}function u(h,f){l(),a(f);}r.one("fullscreenchange",d),r.one("fullscreenerror",u);var c=r.exitFullscreenHelper_();c&&(c.then(l,l),c.then(o,a));});}return this.exitFullscreenHelper_();},t.exitFullscreenHelper_=function(){var n=this;if(this.fsApi_.requestFullscreen){var r=_e.default[this.fsApi_.exitFullscreen]();return r&&en(r.then(function(){return n.isFullscreen(!1);})),r;}else this.tech_.supportsFullScreen()&&!this.options_.preferFullWindow?this.techCall_("exitFullScreen"):this.exitFullWindow();},t.enterFullWindow=function(){this.isFullscreen(!0),this.isFullWindow=!0,this.docOrigOverflow=_e.default.documentElement.style.overflow,Ii(_e.default,"keydown",this.boundFullWindowOnEscKey_),_e.default.documentElement.style.overflow="hidden",Tn(_e.default.body,"vjs-full-window"),this.trigger("enterFullWindow");},t.fullWindowOnEscKey=function(n){Ge.default.isEventKey(n,"Esc")&&this.isFullscreen()===!0&&(this.isFullWindow?this.exitFullWindow():this.exitFullscreen());},t.exitFullWindow=function(){this.isFullscreen(!1),this.isFullWindow=!1,ci(_e.default,"keydown",this.boundFullWindowOnEscKey_),_e.default.documentElement.style.overflow=this.docOrigOverflow,wo(_e.default.body,"vjs-full-window"),this.trigger("exitFullWindow");},t.disablePictureInPicture=function(n){if(n===void 0)return this.techGet_("disablePictureInPicture");this.techCall_("setDisablePictureInPicture",n),this.options_.disablePictureInPicture=n,this.trigger("disablepictureinpicturechanged");},t.isInPictureInPicture=function(n){if(n!==void 0){this.isInPictureInPicture_=!!n,this.togglePictureInPictureClass_();return;}return!!this.isInPictureInPicture_;},t.requestPictureInPicture=function(){if("pictureInPictureEnabled"in _e.default&&this.disablePictureInPicture()===!1)return this.techGet_("requestPictureInPicture");},t.exitPictureInPicture=function(){if("pictureInPictureEnabled"in _e.default)return _e.default.exitPictureInPicture();},t.handleKeyDown=function(n){var r=this.options_.userActions;if(!(!r||!r.hotkeys)){var o=function(l){var d=l.tagName.toLowerCase();if(l.isContentEditable)return!0;var u=["button","checkbox","hidden","radio","reset","submit"];if(d==="input")return u.indexOf(l.type)===-1;var c=["textarea"];return c.indexOf(d)!==-1;};o(this.el_.ownerDocument.activeElement)||(typeof r.hotkeys=="function"?r.hotkeys.call(this,n):this.handleHotkeys(n));}},t.handleHotkeys=function(n){var r=this.options_.userActions?this.options_.userActions.hotkeys:{},o=r.fullscreenKey,a=o===void 0?function(g){return Ge.default.isEventKey(g,"f");}:o,l=r.muteKey,d=l===void 0?function(g){return Ge.default.isEventKey(g,"m");}:l,u=r.playPauseKey,c=u===void 0?function(g){return Ge.default.isEventKey(g,"k")||Ge.default.isEventKey(g,"Space");}:u;if(a.call(this,n)){n.preventDefault(),n.stopPropagation();var h=de.getComponent("FullscreenToggle");_e.default[this.fsApi_.fullscreenEnabled]!==!1&&h.prototype.handleClick.call(this,n);}else if(d.call(this,n)){n.preventDefault(),n.stopPropagation();var f=de.getComponent("MuteToggle");f.prototype.handleClick.call(this,n);}else if(c.call(this,n)){n.preventDefault(),n.stopPropagation();var p=de.getComponent("PlayToggle");p.prototype.handleClick.call(this,n);}},t.canPlayType=function(n){for(var r,o=0,a=this.options_.techOrder;o<a.length;o++){var l=a[o],d=yt.getTech(l);if(d||(d=de.getComponent(l)),!d){Je.error('The "'+l+'" tech is undefined. Skipped browser support check for that tech.');continue;}if(d.isSupported()&&(r=d.canPlayType(n),r))return r;}return"";},t.selectSource=function(n){var r=this,o=this.options_.techOrder.map(function(c){return[c,yt.getTech(c)];}).filter(function(c){var h=c[0],f=c[1];return f?f.isSupported():(Je.error('The "'+h+'" tech is undefined. Skipped browser support check for that tech.'),!1);}),a=function(h,f,p){var g;return h.some(function(m){return f.some(function(b){if(g=p(m,b),g)return!0;});}),g;},l,d=function(h){return function(f,p){return h(p,f);};},u=function(h,f){var p=h[0],g=h[1];if(g.canPlaySource(f,r.options_[p.toLowerCase()]))return{source:f,tech:p};};return this.options_.sourceOrder?l=a(n,o,d(u)):l=a(o,n,u),l||!1;},t.handleSrc_=function(n,r){var o=this;if(typeof n>"u")return this.cache_.src||"";this.resetRetryOnError_&&this.resetRetryOnError_();var a=o1(n);if(!a.length){this.setTimeout(function(){this.error({code:4,message:this.options_.notSupportedMessage});},0);return;}if(this.changingSrc_=!0,r||(this.cache_.sources=a),this.updateSourceCaches_(a[0]),Yx(this,a[0],function(u,c){o.middleware_=c,r||(o.cache_.sources=a),o.updateSourceCaches_(u);var h=o.src_(u);if(h){if(a.length>1)return o.handleSrc_(a.slice(1));o.changingSrc_=!1,o.setTimeout(function(){this.error({code:4,message:this.options_.notSupportedMessage});},0),o.triggerReady();return;}Xx(c,o.tech_);}),this.options_.retryOnError&&a.length>1){var l=function(){o.error(null),o.handleSrc_(a.slice(1),!0);},d=function(){o.off("error",l);};this.one("error",l),this.one("playing",d),this.resetRetryOnError_=function(){o.off("error",l),o.off("playing",d);};}},t.src=function(n){return this.handleSrc_(n,!1);},t.src_=function(n){var r=this,o=this.selectSource([n]);return o?kx(o.tech,this.techName_)?(this.ready(function(){this.tech_.constructor.prototype.hasOwnProperty("setSource")?this.techCall_("setSource",n):this.techCall_("src",n.src),this.changingSrc_=!1;},!0),!1):(this.changingSrc_=!0,this.loadTech_(o.tech,o.source),this.tech_.ready(function(){r.changingSrc_=!1;}),!1):!0;},t.load=function(){this.techCall_("load");},t.reset=function(){var n=this,r=this.options_.Promise||re.default.Promise;if(this.paused()||!r)this.doReset_();else{var o=this.play();en(o.then(function(){return n.doReset_();}));}},t.doReset_=function(){this.tech_&&this.tech_.clearTracks("text"),this.resetCache_(),this.poster(""),this.loadTech_(this.options_.techOrder[0],null),this.techCall_("reset"),this.resetControlBarUI_(),En(this)&&this.trigger("playerreset");},t.resetControlBarUI_=function(){this.resetProgressBar_(),this.resetPlaybackRate_(),this.resetVolumeBar_();},t.resetProgressBar_=function(){this.currentTime(0);var n=this.controlBar||{},r=n.durationDisplay,o=n.remainingTimeDisplay;r&&r.updateContent(),o&&o.updateContent();},t.resetPlaybackRate_=function(){this.playbackRate(this.defaultPlaybackRate()),this.handleTechRateChange_();},t.resetVolumeBar_=function(){this.volume(1),this.trigger("volumechange");}
23,t.currentSources=function(){var n=this.currentSource(),r=[];return Object.keys(n).length!==0&&r.push(n),this.cache_.sources||r;},t.currentSource=function(){return this.cache_.source||{};},t.currentSrc=function(){return this.currentSource()&&this.currentSource().src||"";},t.currentType=function(){return this.currentSource()&&this.currentSource().type||"";},t.preload=function(n){if(n!==void 0){this.techCall_("setPreload",n),this.options_.preload=n;return;}return this.techGet_("preload");},t.autoplay=function(n){if(n===void 0)return this.options_.autoplay||!1;var r;typeof n=="string"&&/(any|play|muted)/.test(n)||n===!0&&this.options_.normalizeAutoplay?(this.options_.autoplay=n,this.manualAutoplay_(typeof n=="string"?n:"play"),r=!1):n?this.options_.autoplay=!0:this.options_.autoplay=!1,r=typeof r>"u"?this.options_.autoplay:r,this.tech_&&this.techCall_("setAutoplay",r);},t.playsinline=function(n){return n!==void 0?(this.techCall_("setPlaysinline",n),this.options_.playsinline=n,this):this.techGet_("playsinline");},t.loop=function(n){if(n!==void 0){this.techCall_("setLoop",n),this.options_.loop=n;return;}return this.techGet_("loop");},t.poster=function(n){if(n===void 0)return this.poster_;n||(n=""),n!==this.poster_&&(this.poster_=n,this.techCall_("setPoster",n),this.isPosterFromTech_=!1,this.trigger("posterchange"));},t.handleTechPosterChange_=function(){if((!this.poster_||this.options_.techCanOverridePoster)&&this.tech_&&this.tech_.poster){var n=this.tech_.poster()||"";n!==this.poster_&&(this.poster_=n,this.isPosterFromTech_=!0,this.trigger("posterchange"));}},t.controls=function(n){if(n===void 0)return!!this.controls_;n=!!n,this.controls_!==n&&(this.controls_=n,this.usingNativeControls()&&this.techCall_("setControls",n),this.controls_?(this.removeClass("vjs-controls-disabled"),this.addClass("vjs-controls-enabled"),this.trigger("controlsenabled"),this.usingNativeControls()||this.addTechControlsListeners_()):(this.removeClass("vjs-controls-enabled"),this.addClass("vjs-controls-disabled"),this.trigger("controlsdisabled"),this.usingNativeControls()||this.removeTechControlsListeners_()));},t.usingNativeControls=function(n){if(n===void 0)return!!this.usingNativeControls_;n=!!n,this.usingNativeControls_!==n&&(this.usingNativeControls_=n,this.usingNativeControls_?(this.addClass("vjs-using-native-controls"),this.trigger("usingnativecontrols")):(this.removeClass("vjs-using-native-controls"),this.trigger("usingcustomcontrols")));},t.error=function(n){var r=this;if(n===void 0)return this.error_||null;if(Wn("beforeerror").forEach(function(a){var l=a(r,n);if(!(Sn(l)&&!Array.isArray(l)||typeof l=="string"||typeof l=="number"||l===null)){r.log.error("please return a value that MediaError expects in beforeerror hooks");return;}n=l;}),this.options_.suppressNotSupportedError&&n&&n.code===4){var o=function(){this.error(n);};this.options_.suppressNotSupportedError=!1,this.any(["click","touchstart"],o),this.one("loadstart",function(){this.off(["click","touchstart"],o);});return;}if(n===null){this.error_=n,this.removeClass("vjs-error"),this.errorDisplay&&this.errorDisplay.close();return;}this.error_=new vi(n),this.addClass("vjs-error"),Je.error("(CODE:"+this.error_.code+" "+vi.errorTypes[this.error_.code]+")",this.error_.message,this.error_),this.trigger("error"),Wn("error").forEach(function(a){return a(r,r.error_);});},t.reportUserActivity=function(n){this.userActivity_=!0;},t.userActive=function(n){if(n===void 0)return this.userActive_;if(n=!!n,n!==this.userActive_){if(this.userActive_=n,this.userActive_){this.userActivity_=!0,this.removeClass("vjs-user-inactive"),this.addClass("vjs-user-active"),this.trigger("useractive");return;}this.tech_&&this.tech_.one("mousemove",function(r){r.stopPropagation(),r.preventDefault();}),this.userActivity_=!1,this.removeClass("vjs-user-active"),this.addClass("vjs-user-inactive"),this.trigger("userinactive");}},t.listenForUserActivity_=function(){var n,r,o,a=xt(this,this.reportUserActivity),l=function(p){(p.screenX!==r||p.screenY!==o)&&(r=p.screenX,o=p.screenY,a());},d=function(){a(),this.clearInterval(n),n=this.setInterval(a,250);},u=function(p){a(),this.clearInterval(n);};this.on("mousedown",d),this.on("mousemove",l),this.on("mouseup",u),this.on("mouseleave",u);var c=this.getChild("controlBar");c&&!_i&&!wn&&(c.on("mouseenter",function(f){this.player().options_.inactivityTimeout!==0&&(this.player().cache_.inactivityTimeout=this.player().options_.inactivityTimeout),this.player().options_.inactivityTimeout=0;}),c.on("mouseleave",function(f){this.player().options_.inactivityTimeout=this.player().cache_.inactivityTimeout;})),this.on("keydown",a),this.on("keyup",a);var h;this.setInterval(function(){if(this.userActivity_){this.userActivity_=!1,this.userActive(!0),this.clearTimeout(h);var f=this.options_.inactivityTimeout;f<=0||(h=this.setTimeout(function(){this.userActivity_||this.userActive(!1);},f));}},250);},t.playbackRate=function(n){if(n!==void 0){this.techCall_("setPlaybackRate",n);return;}return this.tech_&&this.tech_.featuresPlaybackRate?this.cache_.lastPlaybackRate||this.techGet_("playbackRate"):1;},t.defaultPlaybackRate=function(n){return n!==void 0?this.techCall_("setDefaultPlaybackRate",n):this.tech_&&this.tech_.featuresPlaybackRate?this.techGet_("defaultPlaybackRate"):1;},t.isAudio=function(n){if(n!==void 0){this.isAudio_=!!n;return;}return!!this.isAudio_;},t.enableAudioOnlyUI_=function(){var n=this;this.addClass("vjs-audio-only-mode");var r=this.children(),o=this.getChild("ControlBar"),a=o&&o.currentHeight();r.forEach(function(l){l!==o&&l.el_&&!l.hasClass("vjs-hidden")&&(l.hide(),n.audioOnlyCache_.hiddenChildren.push(l));}
23),this.audioOnlyCache_.playerHeight=this.currentHeight(),this.height(a),this.trigger("audioonlymodechange");},t.disableAudioOnlyUI_=function(){this.removeClass("vjs-audio-only-mode"),this.audioOnlyCache_.hiddenChildren.forEach(function(n){return n.show();}),this.height(this.audioOnlyCache_.playerHeight),this.trigger("audioonlymodechange");},t.audioOnlyMode=function(n){var r=this;if(typeof n!="boolean"||n===this.audioOnlyMode_)return this.audioOnlyMode_;this.audioOnlyMode_=n;var o=this.options_.Promise||re.default.Promise;if(o){if(n){var a=[];return this.isInPictureInPicture()&&a.push(this.exitPictureInPicture()),this.isFullscreen()&&a.push(this.exitFullscreen()),this.audioPosterMode()&&a.push(this.audioPosterMode(!1)),o.all(a).then(function(){return r.enableAudioOnlyUI_();});}return o.resolve().then(function(){return r.disableAudioOnlyUI_();});}n?(this.isInPictureInPicture()&&this.exitPictureInPicture(),this.isFullscreen()&&this.exitFullscreen(),this.enableAudioOnlyUI_()):this.disableAudioOnlyUI_();},t.enablePosterModeUI_=function(){var n=this.tech_&&this.tech_;n.hide(),this.addClass("vjs-audio-poster-mode"),this.trigger("audiopostermodechange");},t.disablePosterModeUI_=function(){var n=this.tech_&&this.tech_;n.show(),this.removeClass("vjs-audio-poster-mode"),this.trigger("audiopostermodechange");},t.audioPosterMode=function(n){var r=this;if(typeof n!="boolean"||n===this.audioPosterMode_)return this.audioPosterMode_;this.audioPosterMode_=n;var o=this.options_.Promise||re.default.Promise;if(o){if(n){if(this.audioOnlyMode()){var a=this.audioOnlyMode(!1);return a.then(function(){r.enablePosterModeUI_();});}return o.resolve().then(function(){r.enablePosterModeUI_();});}return o.resolve().then(function(){r.disablePosterModeUI_();});}if(n){this.audioOnlyMode()&&this.audioOnlyMode(!1),this.enablePosterModeUI_();return;}this.disablePosterModeUI_();},t.addTextTrack=function(n,r,o){if(this.tech_)return this.tech_.addTextTrack(n,r,o);},t.addRemoteTextTrack=function(n,r){if(this.tech_)return this.tech_.addRemoteTextTrack(n,r);},t.removeRemoteTextTrack=function(n){n===void 0&&(n={});var r=n,o=r.track;if(o||(o=n),this.tech_)return this.tech_.removeRemoteTextTrack(o);},t.getVideoPlaybackQuality=function(){return this.techGet_("getVideoPlaybackQuality");},t.videoWidth=function(){return this.tech_&&this.tech_.videoWidth&&this.tech_.videoWidth()||0;},t.videoHeight=function(){return this.tech_&&this.tech_.videoHeight&&this.tech_.videoHeight()||0;},t.language=function(n){if(n===void 0)return this.language_;this.language_!==String(n).toLowerCase()&&(this.language_=String(n).toLowerCase(),En(this)&&this.trigger("languagechange"));},t.languages=function(){return wt(e.prototype.options_.languages,this.languages_);},t.toJSON=function(){var n=wt(this.options_),r=n.tracks;n.tracks=[];for(var o=0;o<r.length;o++){var a=r[o];a=wt(a),a.player=void 0,n.tracks[o]=a;}return n;},t.createModal=function(n,r){var o=this;r=r||{},r.content=n||"";var a=new ds(this,r);return this.addChild(a),a.on("dispose",function(){o.removeChild(a);}),a.open(),a;},t.updateCurrentBreakpoint_=function(){if(this.responsive())for(var n=this.currentBreakpoint(),r=this.currentWidth(),o=0;o<Ku.length;o++){var a=Ku[o],l=this.breakpoints_[a];if(r<=l){if(n===a)return;n&&this.removeClass(hl[n]),this.addClass(hl[a]),this.breakpoint_=a;break;}}},t.removeCurrentBreakpoint_=function(){var n=this.currentBreakpointClass();this.breakpoint_="",n&&this.removeClass(n);},t.breakpoints=function(n){return n===void 0?jt(this.breakpoints_):(this.breakpoint_="",this.breakpoints_=jt({},N1,n),this.updateCurrentBreakpoint_(),jt(this.breakpoints_));},t.responsive=function(n){if(n===void 0)return this.responsive_;n=!!n;var r=this.responsive_;if(n!==r)return this.responsive_=n,n?(this.on("playerresize",this.boundUpdateCurrentBreakpoint_),this.updateCurrentBreakpoint_()):(this.off("playerresize",this.boundUpdateCurrentBreakpoint_),this.removeCurrentBreakpoint_()),n;},t.currentBreakpoint=function(){return this.breakpoint_;},t.currentBreakpointClass=function(){return hl[this.breakpoint_]||"";},t.loadMedia=function(n,r){var o=this;if(!(!n||typeof n!="object")){this.reset(),this.cache_.media=wt(n);var a=this.cache_.media,l=a.artwork,d=a.poster,u=a.src,c=a.textTracks;!l&&d&&(this.cache_.media.artwork=[{src:d,type:vl(d)}
23]),u&&this.src(u),d&&this.poster(d),Array.isArray(c)&&c.forEach(function(h){return o.addRemoteTextTrack(h,!1);}),this.ready(r);}},t.getMedia=function(){if(!this.cache_.media){var n=this.poster(),r=this.currentSources(),o=Array.prototype.map.call(this.remoteTextTracks(),function(l){return{kind:l.kind,label:l.label,language:l.language,src:l.src};}),a={src:r,textTracks:o};return n&&(a.poster=n,a.artwork=[{src:a.poster,type:vl(a.poster)}]),a;}return wt(this.cache_.media);},e.getTagSettings=function(n){var r={sources:[],tracks:[]},o=yn(n),a=o["data-setup"];if(hr(n,"vjs-fill")&&(o.fill=!0),hr(n,"vjs-fluid")&&(o.fluid=!0),a!==null){var l=dx.default(a||"{}"),d=l[0],u=l[1];d&&Je.error(d),jt(o,u);}if(jt(r,o),n.hasChildNodes())for(var c=n.childNodes,h=0,f=c.length;h<f;h++){var p=c[h],g=p.nodeName.toLowerCase();g==="source"?r.sources.push(yn(p)):g==="track"&&r.tracks.push(yn(p));}return r;},t.flexNotSupported_=function(){var n=_e.default.createElement("i");return!("flexBasis"in n.style||"webkitFlexBasis"in n.style||"mozFlexBasis"in n.style||"msFlexBasis"in n.style||"msFlexOrder"in n.style);},t.debug=function(n){if(n===void 0)return this.debugEnabled_;n?(this.trigger("debugon"),this.previousLogLevel_=this.log.level,this.log.level("debug"),this.debugEnabled_=!0):(this.trigger("debugoff"),this.log.level(this.previousLogLevel_),this.previousLogLevel_=void 0,this.debugEnabled_=!1);},t.playbackRates=function(n){if(n===void 0)return this.cache_.playbackRates;Array.isArray(n)&&n.every(function(r){return typeof r=="number";})&&(this.cache_.playbackRates=n,this.trigger("playbackrateschange"));},e;}(de);mi.names.forEach(function(s){var e=mi[s];zt.prototype[e.getterName]=function(){return this.tech_?this.tech_[e.getterName]():(this[e.privateName]=this[e.privateName]||new e.ListClass(),this[e.privateName]);};});zt.prototype.crossorigin=zt.prototype.crossOrigin;zt.players={};var mo=re.default.navigator;zt.prototype.options_={techOrder:yt.defaultTechOrder_,html5:{},inactivityTimeout:2e3,playbackRates:[],liveui:!1,children:["mediaLoader","posterImage","textTrackDisplay","loadingSpinner","bigPlayButton","liveTracker","controlBar","errorDisplay","textTrackSettings","resizeManager"],language:mo&&(mo.languages&&mo.languages[0]||mo.userLanguage||mo.language)||"en",languages:{},notSupportedMessage:"No compatible source was found for this media.",normalizeAutoplay:!1,fullscreen:{options:{navigationUI:"hide"}},breakpoints:{},responsive:!1,audioOnlyMode:!1,audioPosterMode:!1};["ended","seeking","seekable","networkState","readyState"].forEach(function(s){zt.prototype[s]=function(){return this.techGet_(s);};});b_.forEach(function(s){zt.prototype["handleTech"+Ht(s)+"_"]=function(){return this.trigger(s);};});de.registerComponent("Player",zt);var bl="plugin",Zr="activePlugins_",Qr={},Tl=function(e){return Qr.hasOwnProperty(e);},fl=function(e){return Tl(e)?Qr[e]:void 0;},T_=function(e,t){e[Zr]=e[Zr]||{},e[Zr][t]=!0;},El=function(e,t,i){var n=(i?"before":"")+"pluginsetup";e.trigger(n,t),e.trigger(n+":"+t.name,t);},j1=function(e,t){var i=function(){El(this,{name:e,plugin:t,instance:null},!0);var r=t.apply(this,arguments);return T_(this,e),El(this,{name:e,plugin:t,instance:r}),r;};return Object.keys(t).forEach(function(n){i[n]=t[n];}),i;},u0=function(e,t){return t.prototype.name=e,function(){El(this,{name:e,plugin:t,instance:null},!0);for(var i=arguments.length,n=new Array(i),r=0;r<i;r++)n[r]=arguments[r];var o=ux.default(t,[this].concat(n));return this[e]=function(){return o;},El(this,o.getEventHash()),o;};},tn=function(){function s(t){if(this.constructor===s)throw new Error("Plugin must be sub-classed; not directly instantiated.");this.player=t,this.log||(this.log=this.player.log.createLogger(this.name)),nc(this),delete this.trigger,$0(this,this.constructor.defaultState),T_(t,this.name),this.dispose=this.dispose.bind(this),t.on("dispose",this.dispose);}var e=s.prototype;return e.version=function(){return this.constructor.VERSION;},e.getEventHash=function(i){return i===void 0&&(i={}),i.name=this.name,i.plugin=this.constructor,i.instance=this,i;},e.trigger=function(i,n){return n===void 0&&(n={}),ls(this.eventBusEl_,i,this.getEventHash(n));},e.handleStateChanged=function(i){},e.dispose=function(){var i=this.name,n=this.player;this.trigger("dispose"),this.off(),n.off("dispose",this.dispose),n[Zr][i]=!1,this.player=this.state=null,n[i]=u0(i,Qr[i]);},s.isBasic=function(i){var n=typeof i=="string"?fl(i):i;return typeof n=="function"&&!s.prototype.isPrototypeOf(n.prototype);}
23,s.registerPlugin=function(i,n){if(typeof i!="string")throw new Error('Illegal plugin name, "'+i+'", must be a string, was '+typeof i+".");if(Tl(i))Je.warn('A plugin named "'+i+'" already exists. You may want to avoid re-registering plugins!');else if(zt.prototype.hasOwnProperty(i))throw new Error('Illegal plugin name, "'+i+'", cannot share a name with an existing player method!');if(typeof n!="function")throw new Error('Illegal plugin for "'+i+'", must be a function, was '+typeof n+".");return Qr[i]=n,i!==bl&&(s.isBasic(n)?zt.prototype[i]=j1(i,n):zt.prototype[i]=u0(i,n)),n;},s.deregisterPlugin=function(i){if(i===bl)throw new Error("Cannot de-register base plugin.");Tl(i)&&(delete Qr[i],delete zt.prototype[i]);},s.getPlugins=function(i){i===void 0&&(i=Object.keys(Qr));var n;return i.forEach(function(r){var o=fl(r);o&&(n=n||{},n[r]=o);}),n;},s.getPluginVersion=function(i){var n=fl(i);return n&&n.VERSION||"";},s;}();tn.getPlugin=fl;tn.BASE_PLUGIN_NAME=bl;tn.registerPlugin(bl,tn);zt.prototype.usingPlugin=function(s){return!!this[Zr]&&this[Zr][s]===!0;};zt.prototype.hasPlugin=function(s){return!!Tl(s);};var c0=!1,F1=function(e,t){t===void 0&&(t={}),c0||(Je.warn("videojs.extend is deprecated as of Video.js 7.22.0 and will be removed in Video.js 8.0.0"),c0=!0);var i=function(){e.apply(this,arguments);},n={};typeof t=="object"?(t.constructor!==Object.prototype.constructor&&(i=t.constructor),n=t):typeof t=="function"&&(i=t),cx.default(i,e),e&&(i.super_=e);for(var r in n)n.hasOwnProperty(r)&&(i.prototype[r]=n[r]);return i;},E_=function(e){return e.indexOf("#")===0?e.slice(1):e;};function ke(s,e,t){var i=ke.getPlayer(s);if(i)return e&&Je.warn('Player "'+s+'" is already initialised. Options will not be applied.'),t&&i.ready(t),i;var n=typeof s=="string"?zn("#"+E_(s)):s;if(!as(n))throw new TypeError("The element or ID supplied is not valid. (videojs)");(!n.ownerDocument.defaultView||!n.ownerDocument.body.contains(n))&&Je.warn("The element supplied is not included in the DOM"),e=e||{},e.restoreEl===!0&&(e.restoreEl=(n.parentNode&&n.parentNode.hasAttribute("data-vjs-player")?n.parentNode:n).cloneNode(!0)),Wn("beforesetup").forEach(function(o){var a=o(n,wt(e));if(!Sn(a)||Array.isArray(a)){Je.error("please return an object in beforesetup hooks");return;}e=wt(e,a);});var r=de.getComponent("Player");return i=new r(n,e,t),Wn("setup").forEach(function(o){return o(i);}),i;}ke.hooks_=bn;ke.hooks=Wn;ke.hook=hx;ke.hookOnce=fx;ke.removeHook=p0;re.default.VIDEOJS_NO_DYNAMIC_STYLE!==!0&&os()&&(go=zn(".vjs-styles-defaults"),go||(go=j0("vjs-styles-defaults"),dl=zn("head"),dl&&dl.insertBefore(go,dl.firstChild),F0(go,` 24 .video-js { 25 width: 300px; 26 height: 150px; 27 } 28 29 .vjs-fluid:not(.vjs-audio-only-mode) { 30 padding-top: 56.25% 31 } 32 `)));var go,dl;Hu(1,ke);ke.VERSION=f0;ke.options=zt.prototype.options_;ke.getPlayers=function(){return zt.players;};ke.getPlayer=function(s){var e=zt.players,t;if(typeof s=="string"){var i=E_(s),n=e[i];if(n)return n;t=zn("#"+i);}else t=s;if(as(t)){var r=t,o=r.player,a=r.playerId;if(o||e[a])return o||e[a];}};ke.getAllPlayers=function(){return Object.keys(zt.players).map(function(s){return zt.players[s];}).filter(Boolean);};ke.players=zt.players;ke.getComponent=de.getComponent;ke.registerComponent=function(s,e){yt.isTech(e)&&Je.warn("The "+s+" tech was registered as a component. It should instead be registered using videojs.registerTech(name, tech)"),de.registerComponent.call(de,s,e);};ke.getTech=yt.getTech;ke.registerTech=yt.registerTech;ke.use=Kx;Object.defineProperty(ke,"middleware",{value:{},writeable:!1,enumerable:!0});Object.defineProperty(ke.middleware,"TERMINATOR",{value:gl,writeable:!1,enumerable:!0});ke.browser=yx;ke.TOUCH_ENABLED=es;ke.extend=F1;ke.mergeOptions=wt;ke.bind=xt;ke.registerPlugin=tn.registerPlugin;ke.deregisterPlugin=tn.deregisterPlugin;ke.plugin=function(s,e){return Je.warn("videojs.plugin() is deprecated; use videojs.registerPlugin() instead"),tn.registerPlugin(s,e);};ke.getPlugins=tn.getPlugins;ke.getPlugin=tn.getPlugin;ke.getPluginVersion=tn.getPluginVersion;ke.addLanguage=function(s,e){var t;return s=(""+s).toLowerCase(),ke.options.languages=wt(ke.options.languages,(t={},t[s]=e,t)),ke.options.languages[s];};ke.log=Je;ke.createLogger=g0;ke.createTimeRange=ke.createTimeRanges=fr;ke.formatTime=ss;ke.setFormatTime=f1;ke.resetFormatTime=p1;ke.parseUrl=sc;ke.isCrossOrigin=Rl;ke.EventTarget=ei;ke.on=Ii;ke.one=Al;ke.off=ci;ke.trigger=ls;ke.xhr=h0.default;ke.TextTrack=xo;ke.AudioTrack=q0;ke.VideoTrack=K0;["isEl","isTextNode","createEl","hasClass","addClass","removeClass","toggleClass","setAttributes","getAttributes","emptyEl","appendContent","insertContent"].forEach(function(s){ke[s]=function(){return Je.warn("videojs."+s+"() is deprecated;
32 use videojs.dom."+s+"() instead"),D0[s].apply(null,arguments);};});ke.computedStyle=bo;ke.dom=D0;ke.url=Gx;ke.defineLazyProperty=Cc;ke.addLanguage("en",{"Non-Fullscreen":"Exit Fullscreen"});S_.exports=ke;});var Cg=s=>({activated:s});function zE(s,e){if(s&1&&Oe(0,"span",6),s&2){let t=ie();J("innerHTML",t.getRatePopoverText(),jn);}}function qE(s,e){if(s&1&&(q(0,"span",7),De(1),W()),s&2){let t=ie();z(),ht(t.video.likes);}}function KE(s,e){if(s&1&&(q(0,"span",7),De(1),W()),s&2){let t=ie();z(),ht(t.video.dislikes);}}var Dr=class Dr{constructor(e,t,i,n){this.videoService=e;this.notifier=t;this.hotkeysService=i;this.screenService=n;F(this,"video");F(this,"videoPassword");F(this,"isUserLoggedIn");F(this,"userRatingLoaded",new ct());F(this,"rateUpdated",new ct());F(this,"userRating");F(this,"tooltipLike","");F(this,"tooltipDislike","");F(this,"hotkeys");}ngOnInit(){(this.isUserLoggedIn||!this.screenService.isInMobileView())&&(this.tooltipLike="Like this video",this.tooltipDislike="Dislike this video"),this.isUserLoggedIn&&(this.hotkeys=[new Jt("Shift+l",()=>(this.setLike(),!1),"Like the video"),new Jt("Shift+d",()=>(this.setDislike(),!1),"Dislike the video")],this.hotkeysService.add(this.hotkeys));}ngOnChanges(){this.checkUserRating();}ngOnDestroy(){this.hotkeysService.remove(this.hotkeys);}setLike(){this.isUserLoggedIn!==!1&&(this.userRating==="like"?this.setRating("none"):this.setRating("like"));}setDislike(){this.isUserLoggedIn!==!1&&(this.userRating==="dislike"?this.setRating("none"):this.setRating("dislike"));}getRatePopoverText(){if(!this.isUserLoggedIn)return"You need to be logged in to rate this video.";}checkUserRating(){this.isUserLoggedIn!==!1&&this.videoService.getUserVideoRating(this.video.uuid).subscribe({next:e=>{e&&(this.userRating=e.rating,this.userRatingLoaded.emit(this.userRating));},error:e=>this.notifier.error(e.message)});}setRating(e){({like:this.videoService.setVideoLike.bind(this.videoService),dislike:this.videoService.setVideoDislike.bind(this.videoService),none:this.videoService.unsetVideoLike.bind(this.videoService)})[e](this.video.uuid,this.videoPassword).subscribe({next:()=>{this.updateVideoRating(this.userRating,e),this.userRating=e,this.rateUpdated.emit(this.userRating);},error:i=>this.notifier.error(i.message)});}updateVideoRating(e,t){let i=0,n=0;e&&(e==="like"&&i--,e==="dislike"&&n--),t==="like"&&i++,t==="dislike"&&n++,this.video.likes+=i,this.video.dislikes+=n,this.video.buildLikeAndDislikePercents();}};F(Dr,"\u0275fac",function(t){return new(t||Dr)(ye(Or),ye(ui),ye(ja),ye(Pr));}),F(Dr,"\u0275cmp",pt({type:Dr,selectors:[["my-video-rate"]],inputs:{video:"video",videoPassword:"videoPassword",isUserLoggedIn:"isUserLoggedIn"},outputs:{userRatingLoaded:"userRatingLoaded",rateUpdated:"rateUpdated"},standalone:!0,features:[Xt,mt],decls:8,vars:16,consts:[["ratePopoverText",""],["placement","bottom auto",1,"action-button","action-button-like",3,"click","keyup.enter","ngbPopover","ngClass","ngbTooltip"],["iconName","like"],["class","count",4,"ngIf"],["placement","bottom auto",1,"action-button","action-button-dislike",3,"click","keyup.enter","ngbPopover","ngClass","ngbTooltip"],["iconName","dislike"],[3,"innerHTML"],[1,"count"]],template:function(t,i){if(t&1){let n=et();Se(0,zE,1,1,"ng-template",null,0,ji),q(2,"button",1),Pe("click",function(){return ce(n),he(i.setLike());})("keyup.enter",function(){return ce(n),he(i.setLike());}),Oe(3,"my-global-icon",2),Se(4,qE,2,1,"span",3),W(),q(5,"button",4),Pe("click",function(){return ce(n),he(i.setDislike());})("keyup.enter",function(){return ce(n),he(i.setDislike());}),Oe(6,"my-global-icon",5),Se(7,KE,2,1,"span",3),W();}if(t&2){let n=Xi(1);z(2),J("ngbPopover",i.getRatePopoverText()&&n)("ngClass",ze(12,Cg,i.userRating==="like"))("ngbTooltip",i.tooltipLike),un("aria-pressed",i.userRating==="like")("aria-label",i.tooltipLike),z(2),J("ngIf",i.video.likes),z(),J("ngbPopover",i.getRatePopoverText()&&n)("ngClass",ze(14,Cg,i.userRating==="dislike"))("ngbTooltip",i.tooltipDislike),un("aria-pressed",i.userRating==="dislike")("aria-label",i.tooltipDislike),z(2),J("ngIf",i.video.dislikes);}},dependencies:[wm,Qt,Un,Pi,bt],styles:[".action-button-like[_ngcontent-%COMP%], .action-button-dislike[_ngcontent-%COMP%]{filter:brightness(120%)}.action-button-like[_ngcontent-%COMP%] .count[_ngcontent-%COMP%], .action-button-dislike[_ngcontent-%COMP%] .count[_ngcontent-%COMP%]{margin:0 5px}.activated[_ngcontent-%COMP%]{color:var(--activatedActionButtonColor)!important}"]}));var $a=Dr;var YE=["videoShareModal"],XE=["supportModal"],QE=["videoDownloadModal"],JE=s=>({liked:s}),ZE=s=>({"width.%":s});function eS(s,e){if(s&1){let t=et();q(0,"button",20),Pe("click",function(){ce(t);let n=ie();return he(n.showSupportModal());})("keyup.enter",function(){ce(t);let n=ie();return he(n.showSupportModal());}),Oe(1,"my-global-icon",21),q(2,"span",14),ve(3,5),W()();}if(s&2){let t=ie();J("ngbTooltip",t.tooltipSupport),un("aria-label",t.tooltipSupport);}}function tS(s,e){if(s&1){let t=et();q(0,"div",22),Pe("openChange",function(n){ce(t);let r=Xi(7);return he(r.openChange(n));}),q(1,"button",23),Oe(2,"my-global-icon",24),q(3,"span",14),ve(4,6),W()(),q(5,"div",25),Oe(6,"my-video-add-to-playlist",26,0),W()();}if(s&2){let t=ie();J("ngbTooltip",t.tooltipSaveToPlaylist),z(6),J("video",t.video);}}function iS(s,e){if(s&1){let t=et();q(0,"button",29),Pe("click",function(){ce(t);let n=ie(2);return he(n.showDownloadModal());})("keydown.enter",function(){ce(t);let n=ie(2);return he(n.showDownloadModal());}),Oe(1,"my-global-icon",30),q(2,"span",31),ve(3,7),W()();}}function nS(s,e){if(s&1&&(Se(0,iS,4,0,"button",27),Oe(1,"my-video-download",28,1)),s&2){let t=ie();J("ngIf",t.isVideoDownloadable()),z(),J("videoPassword",t.videoPassword);}}function rS(s,e){if(s&1&&(q(0,"div",32)(1,"div",33),Oe(2,"div",34),W()()),s&2){let t=ie();J("ngbTooltip",t.likesBarTooltipText),z(2),J("ngClass",ze(3,JE,t.userRating!=="none"))("ngStyle",ze(5,ZE,t.video.likesPercent));}}function sS(s,e){if(s&1&&(Ut(0),Oe(1,"my-support-modal",26,2)(3,"my-video-share",35,3),Lt()),s&2){let t=ie();z(),J("video",t.video),z(2),J("video",t.video)("videoCaptions",t.videoCaptions)("playlist",t.playlist);}}var Nr=class Nr{constructor(e,t){this.screenService=e;this.redirectService=t;F(this,"videoShareModal");F(this,"supportModal");F(this,"videoDownloadModal");F(this,"video");F(this,"videoPassword");F(this,"videoCaptions");F(this,"playlist");F(this,"isUserLoggedIn");F(this,"isUserOwner");F(this,"transcriptionWidgetOpened");F(this,"currentTime");F(this,"currentPlaylistPosition");F(this,"showTranscriptionWidget",new ct());F(this,"hideTranscriptionWidget",new ct());F(this,"likesBarTooltipText","");F(this,"tooltipSupport","");F(this,"tooltipSaveToPlaylist","");F(this,"videoActionsOptions",{playlist:!1,download:!0,update:!0,studio:!0,blackl
32ist:!0,delete:!0,report:!0,duplicate:!0,mute:!0,liveInfo:!0,stats:!0,generateTranscription:!0,transcriptionWidget:!0,transcoding:!0});F(this,"userRating");}ngOnChanges(){this.setVideoLikesBarTooltipText(),this.isUserLoggedIn?(this.videoActionsOptions.download=!0,this.screenService.isInMobileView()||(this.tooltipSupport="Open the modal to support the video uploader",this.tooltipSaveToPlaylist="Save to playlist")):this.videoActionsOptions.download=!1;}showDownloadModal(){this.videoDownloadModal.show(this.video,this.videoCaptions);}isVideoDownloadable(){return this.video&&this.video instanceof Xm&&this.video.downloadEnabled&&!this.video.isLive;}showSupportModal(){this.supportModal.show();}showShareModal(){this.videoShareModal.show(this.currentTime,this.currentPlaylistPosition);}onRateUpdated(e){this.userRating=e,this.setVideoLikesBarTooltipText();}onVideoRemoved(){this.redirectService.redirectToHomepage();}setVideoLikesBarTooltipText(){this.likesBarTooltipText=`${this.video.likes} likes / ${this.video.dislikes} dislikes`;}isVideoAddableToPlaylist(){let e=this.video.privacy.id===nr.PASSWORD_PROTECTED;return this.isUserLoggedIn?e?this.isUserOwner:!0:!1;}};F(Nr,"\u0275fac",function(t){return new(t||Nr)(ye(Pr),ye(Nm));}),F(Nr,"\u0275cmp",pt({type:Nr,selectors:[["my-action-buttons"]],viewQuery:function(t,i){if(t&1&&($t(YE,5),$t(XE,5),$t(QE,5)),t&2){let n;Gt(n=Wt())&&(i.videoShareModal=n.first),Gt(n=Wt())&&(i.supportModal=n.first),Gt(n=Wt())&&(i.videoDownloadModal=n.first);}},inputs:{video:"video",videoPassword:"videoPassword",videoCaptions:"videoCaptions",playlist:"playlist",isUserLoggedIn:"isUserLoggedIn",isUserOwner:"isUserOwner",transcriptionWidgetOpened:"transcriptionWidgetOpened",currentTime:"currentTime",currentPlaylistPosition:"currentPlaylistPosition"},outputs:{showTranscriptionWidget:"showTranscriptionWidget",hideTranscriptionWidget:"hideTranscriptionWidget"},standalone:!0,features:[Xt,mt],decls:14,vars:12,consts:()=>{let e;e="SHARE";let t;t="SUPPORT";let i;i="SAVE";let n;return n="DOWNLOAD",[["addContent",""],["videoDownloadModal",""],["supportModal",""],["videoShareModal",""],e,t,i,n,[1,"video-actions-rates"],[1,"video-actions","justify-content-end"],[3,"rateUpdated","userRatingLoaded","video","videoPassword","isUserLoggedIn"],["class","action-button action-button-support","placement","bottom auto",3,"ngbTooltip","click","keyup.enter",4,"ngIf"],["aria-label","Open the modal to share this video",1,"action-button",3,"click","keyup.enter"],["iconName","share","aria-hidden","true"],[1,"icon-text"],["class","action-dropdown","ngbDropdown","","placement","top","role","button","autoClose","outside","placement","bottom auto",3,"ngbTooltip","openChange",4,"ngIf"],["placement","bottom auto","buttonDirection","horizontal","buttonStyled","true","actionAvailabilityHint","true",3,"videoRemoved","showTranscriptionWidget","hideTranscriptionWidget","video","videoCaptions","transcriptionWidgetOpened","displayOptions"],[1,"likes-dislikes-bar-outer-container"],["class","likes-dislikes-bar-inner-container","placement","bottom","tabindex","0",3,"ngbTooltip",4,"ngIf"],[4,"ngIf"],["placement","bottom auto",1,"action-button","action-button-support",3,"click","keyup.enter","ngbTooltip"],["iconName","support","aria-hidden","true"],["ngbDropdown","","placement","top","role","button","autoClose","outside","placement","bottom auto",1,"action-dropdown",3,"openChange","ngbTooltip"],["ngbDropdownToggle","",1,"action-button","action-button-save"],["iconName","playlist-add","aria-hidden","true"],["ngbDropdownMenu",""],[3,"video"],["class","action-button action-button-download","aria-label","Open the modal to download this video",3,"click","keydown.enter",4,"ngIf"],[3,"videoPassword"],["aria-label","Open the modal to download this video",1,"action-button","action-button-download",3,"click","keydown.enter"],["iconName","download","aria-hidden","true"],[1,"icon-text","d-none","d-sm-inline"],["placement","bottom","tabindex","0",1,"likes-dislikes-bar-inner-container",3,"ngbTooltip"],[1,"likes-dislikes-bar"],[1,"likes-bar",3,"ngClass","ngStyle"],[3,"video","videoCaptions","playlist"]];},template:function(t,i){t&1&&(q(0,"div",8)(1,"div",9)(2,"my-video-rate",10),Pe("rateUpdated",function(r){return i.onRateUpdated(r);})("userRatingLoaded",function(r){return i.onRateUpdated(r);}),W(),Se(3,eS,4,2,"button",11),q(4,"button",12),Pe("click",function(){return i.showShareModal();}
32)("keyup.enter",function(){return i.showShareModal();}),Oe(5,"my-global-icon",13),q(6,"span",14),ve(7,4),W()(),Se(8,tS,8,2,"div",15)(9,nS,3,2),q(10,"my-video-actions-dropdown",16),Pe("videoRemoved",function(){return i.onVideoRemoved();})("showTranscriptionWidget",function(){return i.showTranscriptionWidget.emit();})("hideTranscriptionWidget",function(){return i.hideTranscriptionWidget.emit();}),W()(),q(11,"div",17),Se(12,rS,3,7,"div",18),W()(),Se(13,sS,5,4,"ng-container",19)),t&2&&(z(2),J("video",i.video)("videoPassword",i.videoPassword)("isUserLoggedIn",i.isUserLoggedIn),z(),J("ngIf",i.video.support),z(5),J("ngIf",i.isVideoAddableToPlaylist()),z(),qi(!i.isUserLoggedIn&&!i.video.isLive?9:-1),z(),J("video",i.video)("videoCaptions",i.videoCaptions)("transcriptionWidgetOpened",i.transcriptionWidgetOpened)("displayOptions",i.videoActionsOptions),z(2),J("ngIf",i.video.likes!==0||i.video.dislikes!==0),z(),J("ngIf",i.video));},dependencies:[$a,bt,Un,Pi,Oa,ka,Pa,eg,ig,rg,Qt,om,bg,yg],styles:[".video-actions[_ngcontent-%COMP%]{height:40px;display:flex;align-items:center;width:100%;margin:0 auto;max-width:initial}.video-actions[_ngcontent-%COMP%] .action-button[_ngcontent-%COMP%]:not(:first-child), .video-actions[_ngcontent-%COMP%] .action-dropdown[_ngcontent-%COMP%], .video-actions[_ngcontent-%COMP%] my-video-actions-dropdown[_ngcontent-%COMP%]{margin-inline-start:.3125rem}.video-actions[_ngcontent-%COMP%] .action-button{font-size:100%;display:inline-block;white-space:nowrap;background-color:transparent!important;color:var(--actionButtonColor);text-transform:uppercase;padding:4px 13px;border:0;font-weight:600;border-radius:3px!important;text-align:center;cursor:pointer;font-size:15px;line-height:23px}.video-actions[_ngcontent-%COMP%] .action-button my-global-icon+*{margin-inline-end:.25rem;margin-inline-start:.25rem}.video-actions[_ngcontent-%COMP%] .action-button my-global-icon{position:relative;display:inline-block;width:21px;top:-1px;margin-inline-end:0}.video-actions[_ngcontent-%COMP%] .action-button:after{display:none}.video-actions[_ngcontent-%COMP%] .action-button:hover{opacity:.9}.video-actions[_ngcontent-%COMP%] .action-button.action-button-support{color:var(--supportButtonColor)}.video-actions[_ngcontent-%COMP%] .action-button.action-button-support my-global-icon .feather, .video-actions[_ngcontent-%COMP%] .action-button.action-button-support my-global-icon .material, .video-actions[_ngcontent-%COMP%] .action-button.action-button-support my-global-icon .misc{color:var(--supportButtonColor)}.video-actions[_ngcontent-%COMP%] .action-button.action-button-support my-global-icon path:first-child{fill:var(--supportButtonHeartColor)!important}.video-actions[_ngcontent-%COMP%] .action-button.action-button-save my-global-icon, .video-actions[_ngcontent-%COMP%] .action-button.action-button-download my-global-icon{top:0!important;right:-1px}.video-actions[_ngcontent-%COMP%] .action-button .icon-text{margin-inline-start:.1875rem}.likes-dislikes-bar-outer-container[_ngcontent-%COMP%]{position:relative}.likes-dislikes-bar-inner-container[_ngcontent-%COMP%]{position:absolute;height:20px}.likes-dislikes-bar[_ngcontent-%COMP%]{height:2px;margin-top:-2px;width:120px;background-color:#ccc;position:relative;top:10px}.likes-dislikes-bar[_ngcontent-%COMP%] .likes-bar[_ngcontent-%COMP%]{height:100%;background-color:#909090}.likes-dislikes-bar[_ngcontent-%COMP%] .likes-bar.liked[_ngcontent-%COMP%]{background-color:var(--activatedActionButtonColor)}@media screen and (max-width: 450px){.action-button[_ngcontent-%COMP%] .icon-text[_ngcontent-%COMP%]{display:none!important}}"]}));var Ga=Nr;var xg={VALIDATORS:[ya.required,ya.minLength(1),ya.maxLength(3e3)],MESSAGES:{required:"Comment is required.",minlength:"Comment must be at least 2 characters long.",maxlength:"Comment cannot be more than 3000 characters long."}};var jr=class jr{constructor(e){this.elem=e;F(this,"rows","1");F(this,"overflow","hidden");}ngAfterViewInit(){this.resize();}resize(){let e=this.elem.nativeElement;e.style.height="auto",e.style.height=`${e.scrollHeight}px`;}};F(jr,"\u0275fac",function(t){return new(t||jr)(ye(qp));}),F(jr,"\u0275dir",ca({type:jr,selectors:[["textarea","myAutoResize",""]],hostVars:3,hostBindings:function(t,i){t&1&&Pe("input",function(){return i.resize();}),t&2&&(un("rows",i.rows),Qp("overflow",i.overflow));},standalone:!0}));var Wa=jr;var aS=["visitorModal"],lS=["emojiModal"],dS=["textarea"],uS=s=>
32({"input-error":s}),cS=s=>({"is-rtl":s}),hS=s=>({disabled:s});function fS(s,e){if(s&1){let t=et();q(0,"span"),ve(1,3),W(),q(2,"ul")(3,"li")(4,"span"),ve(5,4),W()(),q(6,"li")(7,"span"),ve(8,5),W()(),q(9,"li")(10,"span"),ve(11,6),W()(),q(12,"li")(13,"span"),ve(14,7),W(),q(15,"code"),De(16,"**"),q(17,"strong"),ve(18,8),W(),De(19,"** _"),q(20,"i"),ve(21,9),W(),De(22,"_"),W()(),q(23,"li")(24,"span"),ve(25,10),W(),q(26,"code"),De(27,":) <3"),W()(),q(28,"li")(29,"span"),ve(30,11),W(),q(31,"code"),De(32,":smile:"),W(),q(33,"div")(34,"a",28),Pe("click",function(n){ce(t);let r=ie();return he(r.openEmojiModal(n));}),ve(35,12),W()()()();}}function pS(s,e){if(s&1&&(q(0,"div",29),De(1),W()),s&2){let t=ie();z(),fi(" ",t.formErrors.text," ");}}function mS(s,e){if(s&1){let t=et();q(0,"button",30),Pe("click",function(){ce(t);let n=ie();return he(n.cancelCommentReply());}),ve(1,13),W();}}function gS(s,e){if(s&1&&(q(0,"button",31),De(1),W()),s&2){let t=ie();J("ngClass",ze(2,hS,!t.form.valid||t.addingComment)),z(),fi(" ",t.addingCommentButtonValue," ");}}function vS(s,e){if(s&1){let t=et();q(0,"div",32)(1,"h4",33),ve(2,14),W(),q(3,"button",34),Pe("click",function(){ce(t);let n=ie();return he(n.hideModals());}),Oe(4,"my-global-icon",35),W()(),q(5,"div",36)(6,"span"),ve(7,15),W(),Oe(8,"my-remote-subscribe",37),W(),q(9,"div",38)(10,"input",39),Pe("click",function(){ce(t);let n=ie();return he(n.hideModals());})("key.enter",function(){ce(t);let n=ie();return he(n.hideModals());}),W(),Oe(11,"my-login-link",40),W();}if(s&2){let t=ie();z(8),J("interact",!0)("uri",t.getUri());}}function _S(s,e){if(s&1&&(q(0,"div",44),De(1),q(2,"code"),De(3),W()()),s&2){let t=e.$implicit;z(),fi(" ",t.emoji," "),z(2),fi(":",t.name,":");}}function yS(s,e){if(s&1){let t=et();q(0,"div",32)(1,"h4",33),ve(2,16),W(),q(3,"button",41),Pe("click",function(){ce(t);let n=ie();return he(n.hideModals());}),Oe(4,"my-global-icon",35),W()(),q(5,"div",36)(6,"div",42),Se(7,_S,4,2,"div",43),W()();}if(s&2){let t=ie();z(7),J("ngForOf",t.getEmojiMarkupList());}}var Fr=class Fr extends zm{constructor(t,i,n,r,o){super();this.formReactiveService=t;this.notifier=i;this.videoCommentService=n;this.modalService=r;this.localeId=o;F(this,"user");F(this,"video");F(this,"videoPassword");F(this,"parentComment");F(this,"parentComments");F(this,"focusOnInit",!1);F(this,"textValue");F(this,"commentCreated",new ct());F(this,"cancel",new ct());F(this,"visitorModal");F(this,"emojiModal");F(this,"textareaElement");F(this,"addingComment",!1);F(this,"addingCommentButtonValue");F(this,"emojiMarkupList");}ngOnInit(){this.buildForm({text:xg}),this.user&&(this.parentComment?this.addingCommentButtonValue="Reply":this.addingCommentButtonValue="Comment",this.initTextValue());}ngOnChanges(t){var i;this.form&&(i=t.textValue)!=null&&i.currentValue&&t.textValue.currentValue!==t.textValue.previousValue&&this.patchTextValue(t.textValue.currentValue,!0);}getEmojiMarkupList(){if(this.emojiMarkupList)return this.emojiMarkupList;let t=(WE(),$E(GE)).default;this.emojiMarkupList=[];for(let i of Object.keys(t)){let n=t[i];this.emojiMarkupList.push({emoji:n,name:i});}return this.emojiMarkupList;}onValidKey(){this.forceCheck(),this.form.valid&&this.formValidated();}openVisitorModal(t){this.user===null&&(t.srcElement.blur(),t.preventDefault(),this.modalService.open(this.visitorModal));}openEmojiModal(t){t.preventDefault(),this.modalService.open(this.emojiModal,{backdrop:!0,size:"lg"});}hideModals(){this.modalService.dismissAll();}formValidated(){if(this.addingComment)return;this.addingComment=!0;let t=this.form.value,i;this.parentComment?i=this.addCommentReply(t):i=this.addCommentThread(t),i.subscribe({next:n=>{this.addingComment=!1,this.commentCreated.emit(n),this.form.reset();},error:n=>{this.addingComment=!1,this.notifier.error(n.message);}});}isAddButtonDisplayed(){return this.form.value.text;}getUri(){return window.location.href;}cancelCommentReply(){this.cancel.emit(null),this.form.value.text=this.textareaElement.nativeElement.value="";}isRTL(){return sm(this.localeId)==="rtl";}getAvatarActorType(){return this.user?"account":"unlogged";}addCommentReply(t){return this.videoCommentService.addCommentReply({videoId:this.video.uuid,inReplyToCommentId:this.parentComment.id,comment:t,videoPassword:this.videoPassword});}addCommentThread(t){return this.videoCommentService.addCommentThread(this.video.uuid,t,this.videoPassword);}initTextValue(){if(this.textValue){this.patchTextValue(this.textValue,this.focusOnInit);return;}if(this.parentComment){let t=this.parentComments.filter(r=>r.account&&r.account.id!==this.user.account.id).map(r=>"@"+r.by),i=new Set(t),n=Array.from(i).join(" ")+" ";this.patchTextValue(n,this.focusOnInit);}}patchTextValue(t,i){setTimeout(()=>{i&&this.textareaElement.nativeElement.focus(),this.textareaElement.nativeElement.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"}),this.textareaElement.nativeElement.dispatchEvent(new Event("input"));}),this.form.patchValue({text:t});}};F(Fr,"\u0275fac",function(i){return new(i||Fr)(ye(bm),ye(ui),ye(Mr),ye(Cm),ye(ma));}),F(Fr,"\u0275cmp",pt({type:Fr,selectors:[["my-video-comment-add"]],viewQuery:function(i,n){if(i&1&&($t(aS,7),$t(lS,7),$t(dS,7)),i&2){let r;Gt(r=Wt())&&(n.visitorModal=r.first),Gt(r=Wt())&&(n.emojiModal=r.first),Gt(r=Wt())&&(n.textareaElement=r.first);}},inputs:{user:"user",video:"video",videoPassword:"videoPassword",parentComment:"parentComment",parentComments:"parentComments",focusOnInit:"focusOnInit",textValue:"textValue"},outputs:{commentCreated:"commentCreated",cancel:"cancel"},standalone:!0,features:[Xp,Xt,mt],decls:17,vars:13,consts:()=>{let t;t="Add comment...";let i;i="Markdown compatible";let n;n="Markdown compatible that supports:";let r;r="Auto generated links";let o;o="Break lines";let a;a="Lists";let l;l="Emphasis";let d;d="bold";let u;u="italic";let c;c="Emoji shortcuts";let h;h="Emoji markup";let f;f="See complete list";let p;p=" Cancel ";let g;g="Close this modal";let m;m="Cancel";let b;b="Login to comment";let T;T="You are one step away from commenting";let S;S=" You can comment using an account on any ActivityPub-compatible instance (PeerTube/Mastodon/Pleroma account for example). ";let P;P="Close this modal";let R;return R="Markdown Emoji List",[["textarea",""],["visitorModal",""],["emojiModal",""],n,r,o,a,l,d,u,c,h,f,p,T,S,R,["novalidate","",3,"ngSubmit","formGroup"],[1,"avatar-and-textarea"],["size","25",3,"actor","actorType"],[1,"textarea-wrapper"],["placeholder",t,"myAutoResize","","formControlName","text",3,"click","keyup.control.enter","keyup.meta.enter","readonly","ngClass"],["helpType","custom","iconName","markdown","tooltipPlacement","left auto","autoClose","true","title",i,1,"markdown-guide",3,"ngClass"],["ptTemplate","customHtml"],["class","form-error","role","alert",4,"ngIf"],[1,"comment-buttons"],["class","peertube-button tert
32iary-button cancel-button","type","button",3,"click",4,"ngIf"],["class","peertube-button orange-button",3,"ngClass",4,"ngIf"],["href","",3,"click"],["role","alert",1,"form-error"],["type","button",1,"peertube-button","tertiary-button","cancel-button",3,"click"],[1,"peertube-button","orange-button",3,"ngClass"],[1,"modal-header"],["id","modal-basic-title",1,"modal-title"],["title",g,1,"border-0","p-0",3,"click"],["iconName","cross"],[1,"modal-body"],[3,"interact","uri"],[1,"modal-footer","inputs"],["type","button","role","button","value",m,1,"peertube-button","grey-button",3,"click","key.enter"],["label",b,"className","peertube-button-link orange-button"],["title",P,1,"border-0","p-0",3,"click"],[1,"emoji-flex"],["class","emoji-flex-item",4,"ngFor","ngForOf"],[1,"emoji-flex-item"]];},template:function(i,n){if(i&1){let r=et();q(0,"form",17),Pe("ngSubmit",function(){return ce(r),he(n.formValidated());}),q(1,"div",18),Oe(2,"my-actor-avatar",19),q(3,"div",20)(4,"textarea",21,0),Pe("click",function(a){return ce(r),he(n.openVisitorModal(a));})("keyup.control.enter",function(){return ce(r),he(n.onValidKey());})("keyup.meta.enter",function(){return ce(r),he(n.onValidKey());}),De(6," "),W(),q(7,"my-help",22),Se(8,fS,36,0,"ng-template",23),W(),Se(9,pS,2,1,"div",24),W()(),q(10,"div",25),Se(11,mS,2,0,"button",26)(12,gS,2,4,"button",27),W()(),Se(13,vS,12,2,"ng-template",null,1,ji)(15,yS,8,1,"ng-template",null,2,ji);}i&2&&(J("formGroup",n.form),z(2),J("actor",n.user==null?null:n.user.account)("actorType",n.getAvatarActorType()),z(2),J("readonly",n.user===null)("ngClass",ze(9,uS,n.formErrors.text)),z(3),J("ngClass",ze(11,cS,n.isRTL())),z(2),J("ngIf",n.formErrors.text),z(2),J("ngIf",n.isAddButtonDisplayed()),z(),J("ngIf",n.isAddButtonDisplayed()));},dependencies:[Ir,um,lm,Ar,dm,fm,cm,hm,kr,Wa,Qt,$m,Hm,bt,Pi,mg,Wm,bi],styles:["form[_ngcontent-%COMP%]{margin-bottom:30px}.avatar-and-textarea[_ngcontent-%COMP%]{display:flex;margin-bottom:10px}.avatar-and-textarea[_ngcontent-%COMP%] my-actor-avatar[_ngcontent-%COMP%]{margin-inline-end:.625rem}.avatar-and-textarea[_ngcontent-%COMP%] .textarea-wrapper[_ngcontent-%COMP%]{flex-grow:1;position:relative}.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{min-height:30px;color:var(--textareaForegroundColor)!important;background-color:var(--textareaBackgroundColor)!important;height:60px;font-size:15px;padding:3px 15px;width:100%;max-width:100%;color:var(--inputForegroundColor);background-color:var(--inputBackgroundColor);border:1px solid var(--inputBorderColor);border-radius:3px;line-height:23px;padding-inline-end:calc(1.40625rem + 1.875vw)!important}.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]::placeholder{color:var(--inputPlaceholderColor)}.avatar-and-textarea[_ngcontent-%COMP%] textarea[readonly][_ngcontent-%COMP%]{opacity:.7}@media screen and (max-width: calc(100% + 40px)){.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{width:100%}}.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus, .avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus-visible{box-shadow:0 0 0 .2rem var(--mainColorLightest)}@media (min-width: 1200px){.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding-inline-end:2.8125rem!important}}@media screen and (max-width: 600px){.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding-inline-end:calc(1.43125rem + 2.175vw)!important}}@media screen and (max-width: 600px) and (min-width: 1200px){.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]{padding-inline-end:3.0625rem!important}}.avatar-and-textarea[_ngcontent-%COMP%] textarea[_ngcontent-%COMP%]:focus::placeholder{opacity:0}.markdown-guide[_ngcontent-%COMP%]{position:absolute;top:5px;right:9px}.markdown-guide.is-rtl[_ngcontent-%COMP%]{right:unset;left:9px}.markdown-guide[_ngcontent-%COMP%] .help-tooltip-button my-global-icon{height:18px;width:30px}.markdown-guide[_ngcontent-%COMP%] .help-tooltip-button my-global-icon svg{color:var(--inputBorderColor);
32fill:var(--inputBorderColor);border-radius:3px}.markdown-guide[_ngcontent-%COMP%] .help-tooltip-button:focus my-global-icon svg, .markdown-guide[_ngcontent-%COMP%] .help-tooltip-button:active my-global-icon svg, .markdown-guide[_ngcontent-%COMP%] .help-tooltip-button:hover my-global-icon svg{background-color:var(--inputBorderColor);color:var(--mainBackgroundColor);fill:var(--mainBackgroundColor)}.comment-buttons[_ngcontent-%COMP%]{display:flex;justify-content:flex-end}.emoji-flex[_ngcontent-%COMP%]{display:flex;flex-flow:row wrap;align-items:center}.emoji-flex[_ngcontent-%COMP%] .emoji-flex-item[_ngcontent-%COMP%]{text-align:left;margin:auto;min-width:227px;flex:1}.emoji-flex[_ngcontent-%COMP%] .emoji-flex-item[_ngcontent-%COMP%] code[_ngcontent-%COMP%]{display:inline-block;vertical-align:middle;margin-inline-start:.3125rem}@media screen and (max-width: 600px){textarea[_ngcontent-%COMP%], .comment-buttons[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{font-size:14px!important}textarea[_ngcontent-%COMP%]{padding:5px!important}}.modal-body[_ngcontent-%COMP%] > span[_ngcontent-%COMP%]{float:left;margin-bottom:20px}"]}));var Vr=Fr;var Br=class Br{constructor(){F(this,"timestampClicked",new ct());}onClick(e){let t=e.target;if(t.hasAttribute("href")!==!0||!t.classList.contains("video-timestamp"))return;let i=document.createElement("a");i.href=t.getAttribute("href");let n=new URLSearchParams(i.search);if(n.has("start")!==!0)return;let r=["h","m","s"],o=n.get("start").match(new RegExp("(\\d{1,9}["+r.join("")+"])","g")).map(a=>a.includes("h")?parseInt(a,10)*3600:a.includes("m")?parseInt(a,10)*60:parseInt(a,10)).reduce((a,l)=>a+l);this.timestampClicked.emit(o),e.preventDefault();}};F(Br,"\u0275fac",function(t){return new(t||Br)();}),F(Br,"\u0275dir",ca({type:Br,selectors:[["","myTimestampRouteTransformer",""]],hostBindings:function(t,i){t&1&&Pe("click",function(r){return i.onClick(r);});},outputs:{timestampClicked:"timestampClicked"},standalone:!0}));var Ur=Br;var bS=["commentReportModal"],TS=["*"],ES=s=>({"is-child":s}),SS=s=>({"mb-3":s}),CS=s=>["/a",s],wS=s=>({"video-author":s}),Ig=s=>({threadId:s}),Rg=(s,e)=>["/w",s,e];function xS(s,e){if(s&1&&Oe(0,"my-actor-avatar",15),s&2){let t=ie(2);J("href",t.comment.account.url)("actor",t.comment.account)("size",t.isChild()?"25":"36");}}function AS(s,e){s&1&&(q(0,"div",28),ve(1,2),W());}function IS(s,e){s&1&&(q(0,"span",29),ve(1,3),W());}function RS(s,e){if(s&1){let t=et();Ut(0),Se(1,AS,2,0,"div",16),q(2,"div",17)(3,"div",18)(4,"a",19)(5,"span",20),De(6),W(),q(7,"span",21),De(8),W()()(),q(9,"a",22),De(10),cn(11,"myFromNow"),W(),Se(12,IS,2,0,"span",23),W(),q(13,"div",24),Pe("timestampClicked",function(n){ce(t);let r=ie(2);return he(r.handleTimestampClicked(n));}),W(),q(14,"div",25)(15,"button",26),Pe("click",function(){ce(t);let n=ie(2);return he(n.onWantToReply());}),ve(16,1),W(),Oe(17,"my-user-moderation-dropdown",27),W(),Lt();}if(s&2){let t=ie(2);z(),J("ngIf",t.highlightedComment===!0),z(3),J("routerLink",ze(16,CS,t.comment.by)),z(),J("ngClass",ze(18,wS,t.video.account.id===t.comment.account.id)),z(),fi(" ",t.comment.account.displayName," "),z(2),ht(t.comment.by),z(),J("routerLink",ou(22,Rg,t.video.shortUUID,ze(20,Ig,t.comment.threadId)))("title",t.comment.createdAt),z(),fi(" ",Ks(11,14,t.comment.createdAt)," "),z(2),J("ngIf",t.comment.heldForReview),z(),J("innerHTML",t.sanitizedCommentHTML,jn),z(4),J("prependActions",t.prependModerationActions)("buttonStyled",!1)("account",t.commentAccount)("user",t.commentUser);}}function PS(s,e){if(s&1&&(Ut(0),q(1,"div",17)(2,"span",18),ve(3,4),W(),q(4,"a",30),De(5),cn(6,"myFromNow"),W()(),q(7,"div",31)(8,"i"),ve(9,5),W()(),Lt()),s&2){let t=ie(2);z(4),J("routerLink",ou(6,Rg,t.video.shortUUID,ze(4,Ig,t.comment.threadId))),z(),ht(Ks(6,2,t.comment.createdAt));}}function kS(s,e){if(s&1){let t=et();q(0,"my-video-comment-add",32),Pe("commentCreated",function(n){ce(t);let r=ie(2);return he(r.onCommentReplyCreated(n));})("cancel",function(){ce(t);let n=ie(2);return he(n.onResetReply());}),W();}if(s&2){let t=ie(2);J("user",t.user)("video",t.video)("videoPassword",t.videoPassword)("parentComment",t.comment)("parentComments",t.newParentComments)("focusOnInit",!0)("textValue",t.redraftValue);}}function OS(s,e){if(s&1){let t=et();q(0,"div")(1,"my-video-comment",34),Pe("wantedToReply",function(n){ce(t);let r=ie(3);return he(r.onWantToReply(n));})("wantedToDelete",function(n){ce(t);let r=ie(3);return he(r.onWantToDelete(n));})("wantedToRedraft",function(n){ce(t);let r=ie(3);return he(r.onWantToRedraft(n));})("wantedToApprove",function(n){ce(t);let r=ie(3);return he(r.onWantToApprove(n));})("resetReply",function(){ce(t);let n=ie(3);return he(n.onResetReply());})("timestampClicked",function(n){ce(t);let r=ie(3);return he(r.handleTimestampClicked(n));}),W()();}if(s&2){let t=e.$implicit,i=ie(3);z(),J("comment",t.comment)("video",i.video)("videoPassword",i.videoPassword)("inReplyToCommentId",i.inReplyToCommentId)("commentTree",t)("parentComments",i.newParentComments)("redraftValue",i.redraftValue);}}function LS(s,e){if(s&1&&(q(0,"div"),Se(1,OS,2,7,"div",33),W()),s&2){let t=ie(2);z(),J("ngForOf",t.commentTree.children);}}function MS(s,e){if(s&1&&(q(0,"div",8)(1,"div",9),Se(2,xS,1,3,"my-actor-avatar",10),Oe(3,"div",11),W(),q(4,"div",12)(5,"div",13),Se(6,RS,18,25,"ng-container",7)(7,PS,10,9,"ng-container",7)(8,kS,1,7,"my-video-comment-add",14)(9,LS,2,1,"div",7),nm(10),W()()()),s&2){let t=ie();J("ngClass",ze(7,ES,t.isChild())),z(2),J("ngIf",!t.comment.isDeleted),z(2),J("ngClass",ze(9,SS,t.firstInThread)),z(2),J("ngIf",!t.comment.isDeleted),z(),J("ngIf",t.comment.isDeleted),z(),J("ngIf",!t.comment.isDeleted&&t.inReplyToCommentId===t.comment.id),z(),J("ngIf",t.commentTree);}}function DS(s,e){if(s&1&&(Ut(0),Oe(1,"my-comment-report",35,0),Lt()),s&2){let t=ie();z(),J("comment",t.comment);}}var rr=class rr{constructor(e,t,i,n){this.markdownService=e;this.authService=t;this.userService=i;this.notifier=n;F(this,"commentReportModal");F(this,"video");F(this,"videoPassword");F(this,"comment");F(this,"parentComments",[]);F(this,"commentTree");F(this,"inReplyToCommentId");F(this,"highlightedComment",!1);F(this,"firstInThread",!1);F(this,"redraftValue");F(this,"wantedToReply",new ct());F(this,"wantedToDelete",new ct());F(this,"wantedToApprove",new ct());F(this,"wantedToRedraft",new ct());
32F(this,"threadCreated",new ct());F(this,"resetReply",new ct());F(this,"timestampClicked",new ct());F(this,"prependModerationActions");F(this,"sanitizedCommentHTML","");F(this,"newParentComments",[]);F(this,"commentAccount");F(this,"commentUser");}get user(){return this.authService.getUser();}ngOnInit(){this.init();}ngOnChanges(){this.init();}onCommentReplyCreated(e){this.commentTree||(this.commentTree={comment:this.comment,hasDisplayedChildren:!1,children:[]},this.threadCreated.emit(this.commentTree)),this.commentTree.children.unshift({comment:e,hasDisplayedChildren:!1,children:[]}),this.resetReply.emit(),this.redraftValue=void 0;}onWantToReply(e){this.wantedToReply.emit(e||this.comment);}onWantToDelete(e){this.wantedToDelete.emit(e||this.comment);}onWantToRedraft(e){this.wantedToRedraft.emit(e||this.comment);}onWantToApprove(e){this.wantedToApprove.emit(e||this.comment);}isUserLoggedIn(){return this.authService.isLoggedIn();}onResetReply(){this.resetReply.emit();}handleTimestampClicked(e){this.timestampClicked.emit(e);}canBeRemovedUser(){return this.comment.account&&this.isUserLoggedIn()&&(this.user.account.id===this.comment.account.id||this.user.account.id===this.video.account.id||this.user.hasRight(Sa.MANAGE_ANY_VIDEO_COMMENT));}canBeApprovedByUser(){return this.comment.account&&this.isUserLoggedIn()&&(this.user.account.id===this.video.account.id||this.user.hasRight(Sa.MANAGE_ANY_VIDEO_COMMENT));}isRedraftableByUser(){return this.comment.account&&this.isUserLoggedIn()&&this.user.account.id===this.comment.account.id&&this.comment.totalReplies===0;}isReportableByUser(){return this.comment.account&&this.isUserLoggedIn()&&this.comment.isDeleted===!1&&this.user.account.id!==this.comment.account.id;}isCommentDisplayed(){var e;return!this.comment.isDeleted||this.comment.totalReplies!==0||((e=this.commentTree)==null?void 0:e.hasDisplayedChildren);}isChild(){return this.parentComments.length!==0;}getUserIfNeeded(e){if(!e.userId||!this.authService.isLoggedIn())return;this.authService.getUser().hasRight(Sa.MANAGE_USERS)&&this.userService.getUserWithCache(e.userId).subscribe({next:i=>this.commentUser=i,error:i=>this.notifier.error(i.message)});}init(){return Ie(this,null,function*(){let e=this.comment.text.replace(/<br.?\/?>/g,`\r 33`),t=yield this.markdownService.textMarkdownToHTML({markdown:e,withHtml:!0,withEmoji:!0});this.sanitizedCommentHTML=this.markdownService.processVideoTimestamps(this.video.shortUUID,t),this.newParentComments=this.parentComments.concat([this.comment]),this.comment.account?(this.commentAccount=new Rm(this.comment.account),this.getUserIfNeeded(this.commentAccount)):this.comment.account=null,this.prependModerationActions=[],this.canBeApprovedByUser()&&this.comment.heldForReview&&this.prependModerationActions.push({label:"Approve",iconName:"tick",handler:()=>this.onWantToApprove()}),this.isReportableByUser()&&this.prependModerationActions.push({label:"Report this comment",iconName:"flag",handler:()=>this.showReportModal()}),this.canBeRemovedUser()&&this.prependModerationActions.push({label:"Remove",iconName:"delete",handler:()=>this.onWantToDelete()}),this.isRedraftableByUser()&&this.prependModerationActions.push({label:"Remove & re-draft",iconName:"edit",handler:()=>this.onWantToRedraft()}),this.prependModerationActions.length!==0&&this.prependModerationActions.unshift({label:"Actions on comment",isHeader:!0});});}showReportModal(){this.commentReportModal.show();}};F(rr,"\u0275fac",function(t){return new(t||rr)(ye(Fa),ye(Qi),ye(Ri),ye(ui));}),F(rr,"\u0275cmp",pt({type:rr,selectors:[["my-video-comment"]],viewQuery:function(t,i){if(t&1&&$t(bS,5),t&2){let n;Gt(n=Wt())&&(i.commentReportModal=n.first);}},inputs:{video:"video",videoPassword:"videoPassword",comment:"comment",parentComments:"parentComments",commentTree:"commentTree",inReplyToCommentId:"inReplyToCommentId",highlightedComment:"highlightedComment",firstInThread:"firstInThread",redraftValue:"redraftValue"},outputs:{wantedToReply:"wantedToReply",wantedToDelete:"wantedToDelete",wantedToApprove:"wantedToApprove",wantedToRedraft:"wantedToRedraft",threadCreated:"threadCreated",resetReply:"resetReply",t
33imestampClicked:"timestampClicked"},standalone:!0,features:[Xt,mt],ngContentSelectors:TS,decls:2,vars:2,consts:()=>{let e;e="Options";let t;t="Reply";let i;i="Highlighted comment";let n;n="Pending review";let r;r="Deleted";let o;return o="This comment has been deleted",[["commentReportModal",""],t,i,n,r,o,["class","root-comment",3,"ngClass",4,"ngIf"],[4,"ngIf"],[1,"root-comment",3,"ngClass"],[1,"left"],["actorType","account",3,"href","actor","size",4,"ngIf"],[1,"vertical-border"],[1,"right",3,"ngClass"],[1,"comment"],[3,"user","video","videoPassword","parentComment","parentComments","focusOnInit","textValue","commentCreated","cancel",4,"ngIf"],["actorType","account",3,"href","actor","size"],["class","highlighted-comment",4,"ngIf"],[1,"comment-account-date"],[1,"comment-account"],[3,"routerLink"],[1,"comment-account-name",3,"ngClass"],[1,"comment-account-fid","ms-1"],[1,"comment-date",3,"routerLink","title"],["class","pt-badge badge-red ms-2",4,"ngIf"],["myTimestampRouteTransformer","",1,"comment-html",3,"timestampClicked","innerHTML"],[1,"comment-actions"],[1,"comment-action-reply","border-0","p-0",3,"click"],["buttonSize","small","label",e,"placement","bottom-left auto",3,"prependActions","buttonStyled","account","user"],[1,"highlighted-comment"],[1,"pt-badge","badge-red","ms-2"],[1,"comment-date",3,"routerLink"],[1,"comment-html","comment-html-deleted"],[3,"commentCreated","cancel","user","video","videoPassword","parentComment","parentComments","focusOnInit","textValue"],[4,"ngFor","ngForOf"],[3,"wantedToReply","wantedToDelete","wantedToRedraft","wantedToApprove","resetReply","timestampClicked","comment","video","videoPassword","inReplyToCommentId","commentTree","parentComments","redraftValue"],[3,"comment"]];},template:function(t,i){t&1&&(im(),Se(0,MS,11,11,"div",6)(1,DS,3,1,"ng-container",7)),t&2&&(J("ngIf",i.isCommentDisplayed()),z(),J("ngIf",i.prependModerationActions));},dependencies:[rr,bt,Qt,kr,xr,Ur,fg,Vr,bi,Jm,Km],styles:[".root-comment[_ngcontent-%COMP%]{display:flex}.root-comment[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{display:flex;flex-direction:column;align-items:center;margin-inline-end:.625rem}.root-comment[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .vertical-border[_ngcontent-%COMP%]{width:2px;height:100%;background-color:#0000000d;margin:10px calc(1rem + 1px)}.root-comment[_ngcontent-%COMP%] .right[_ngcontent-%COMP%]{width:100%}.comment[_ngcontent-%COMP%]{flex-grow:1;min-width:1px}.highlighted-comment[_ngcontent-%COMP%]{display:inline-block;background-color:var(--greySecondaryBackgroundColor);color:var(--mainForegroundColor);padding:0 5px;font-size:13px;margin-bottom:5px;font-weight:600;border-radius:3px}.comment-account-date[_ngcontent-%COMP%]{display:flex;margin-bottom:4px}.video-author[_ngcontent-%COMP%]{height:20px;background-color:#888;border-radius:12px;margin-bottom:2px;max-width:100%;box-sizing:border-box;flex-direction:row;align-items:center;display:inline-flex;color:#fff!important;padding-inline-end:.375rem;padding-inline-start:.375rem}.comment-account[_ngcontent-%COMP%]{word-break:break-all;font-weight:600;font-size:90%}.comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--mainForegroundColor)}.comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, .comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus, .comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active{text-decoration:none!important}.comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus:not(:focus-visible){outline:none!important}.comment-account[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{text-decoration:underline}.comment-account[_ngcontent-%COMP%] .comment-account-fid[_ngcontent-%COMP%]{color:var(--greyForegroundColor)}.comment-date[_ngcontent-%COMP%]{font-size:90%;color:var(--greyForegroundColor);text-decoration:none;margin-inline-start:.3125rem}.comment-date[_ngcontent-%COMP%]:hover{text-decoration:underline}.comment-html[_ngcontent-%COMP%]{word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.comment-html[_ngcontent-%COMP%] a:not(.linkified-url){color:var(--mainForegroundColor);font-weight:600}.comment-html[_ngcontent-%COMP%] a:not(.linkified-url):hover, .comment-html[_ngcontent-%COMP%] a:not(.linkified-url):focus, .comment-html[_ngcontent-%COMP%] a:not(.linkified-url):active{text-decoration:none!important}.comment-html[_ngcontent-%COMP%] a:not(.linkified-url):focus:not(:focus-visible){outline:none!important}.comment-html[_ngcontent-%COMP%] p{margin-bottom:.3rem}.comment-html.comment-html-deleted[_ngcontent-%COMP%]{color:var(--greyForegroundColor);margin-bottom:1rem}.comment-actions[_ngcontent-%COMP%]{margin-bottom:10px;display:flex}.comment-actions[_ngcontent-%COMP%] .dropdown-toggle, .comment-actions[_ngcontent-%COMP%] .comment-action-reply[_ngcontent-%COMP%]{color:var(--greyForegroundColor);cursor:pointer;margin-inline-end:.625rem}.comment-actions[_ngcontent-%COMP%] .dropdown-toggle:hover, .comment-actions[_ngcontent-%COMP%] .dropdown-toggle:active, .comment-actions[_ngcontent-%COMP%] .dropdown-toggle:focus, .comment-actions[_ngcontent-%COMP%] .dropdown-toggle:focus-visible, .comment-actions[_ngcontent-%COMP%] .comment-action-reply[_ngcontent-%COMP%]:hover, .comment-actions[_ngcontent-%COMP%] .comment-action-reply[_ngcontent-%COMP%]:active, .comment-actions[_ngcontent-%COMP%] .comment-action-reply[_ngcontent-%COMP%]:focus, .comment-actions[_ngcontent-%COMP%] .comment-action-reply[_ngcontent-%COMP%]:focus-visible{color:var(--mainForegroundColor)}.comment-actions[_ngcontent-%COMP%] .action-button{background-color:transparent;padding:0;font-weight:unset}my-video-comment-add[_ngcontent-%COMP%] form{margin-top:1rem;margin-bottom:0}.is-child[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{margin-inline-end:.375rem}@media screen and (max-width: 1200px){.children[_ngcontent-%COMP%]{margin-inline-start:-.625rem}}@media screen and (max-width: 600px){.children[_ngcontent-%COMP%]{margin-inline-start:-1.25rem}.children[_ngcontent-%COMP%] .left[_ngcontent-%COMP%]{align-items:flex-start}.children[_ngcontent-%COMP%] .left[_ngcontent-%COMP%] .vertical-border[_ngcontent-%COMP%]{margin-inline-start:.125rem}.comment-account-date[_ngcontent-%COMP%]{flex-direction:column}.comment-account-date[_ngcontent-%COMP%] .comment-date[_ngcontent-%COMP%]{margin-inline-start:0}}"]}));var za=rr;var jS=["commentHighlightBlock"];function FS(s,e){s&1&&(q(0,"div"),ve(1,8),W());}function VS(s,e){if(s&1){let t=et();q(0,"my-video-comment",26),Pe("wantedToReply",function(n){ce(t);let r=ie(2);return he(r.onWantedToReply(n));})("wantedToDelete",function(n){ce(t);let r=ie(2);return he(r.onWantedToDelete(n));})("wantedToRedraft",function(n){ce(t);let r=ie(2);return he(r.onWantedToRedraft(n));})("wantedToApprove",function(n){ce(t);let r=ie(2);return he(r.onWantToApprove(n));})("threadCreated",function(n){ce(t);let r=ie(2);return he(r.onThreadCreated(n));})("resetReply",function(){ce(t);let n=ie(2);return he(n.onResetReply());})("timestampClicked",function(n){ce(t);let r=ie(2);return he(r.handleTimestampClicked(n));}),W();}if(s&2){let t=ie(2);J("comment",t.highlightedThread)("video",t.video)("videoPassword",t.videoPassword)("inReplyToCommentId",t.inReplyToCommentId)("commentTree",t.threadComments[t.highlightedThread.id])("highlightedComment",!0)("firstInThread",!0)("redraftValue",t.commentReplyRedraftValue);}}function BS(s,e){s&1&&Zp(0);}function US(s,e){if(s&1&&(Ut(0),ve(1,9),Lt()),s&2){let t=ie(4).$implicit,i=ie(2);z(),Ki(t.totalReplies)(t.totalReplies)((i.video==null||i.video.account==null?null:i.video.account.displayName)||"the author"),Yi(1);}}function HS(s,e){if(s&1&&ve(0,10),s&2){let t=ie(4).$implicit,i=ie(2);Ki(t.totalReplies)(t.totalReplies)((i.video==null||i.video.account==null?null:i.video.account.displayName)||"the author"),Yi(0);}}function $S(s,e){if(s&1&&Se(0,US,2,3,"ng-container",34)(1,HS,1,3,"ng-template",null,3,ji),s&2){let t=Xi(2),i=ie(3).$implicit;J("ngIf",i.totalReplies!==i.totalRepliesFromVideoAuthor)("ngIfElse",t);}}function GS(s,e){if(s&1&&ve(0,11),s&2){let t=ie(3).$implicit;Ki(t.totalReplies)(t.totalReplies),Yi(0);}}function WS(s,e){if(s&1){let t=et();q(0,"button",30),Pe("click",function(){ce(t);let n=ie(2).$implicit,r=ie(2);return he(r.viewReplies(n.id));}),Oe(1,"span",31),Se(2,BS,1,0,"ng-container",32)(3,$S,3,2,"ng-template",null,1,ji)(5,GS,1,2,"ng-template",null,2,ji),Oe(7,"my-loader",33),W();}if(s&2){let t=Xi(4),i=Xi(6),n=ie(2).$implicit,r=ie(2);z(2),J("ngIf",n.totalRepliesFromVideoAuthor>0)("ngIfThen",t)("ngIfElse",i),z(5),J("loading",r.threadLoading[n.id]);}}function zS(s,e){if(s&1){let t=et();q(0,"my-video-comment",28),Pe("wantedToReply",function(n){ce(t);let r=ie(3);return he(r.onWantedToReply(n));})("wantedToDelete",function(n){ce(t);let r=ie(3);return he(r.onWantedToDelete(n));})("wantedToRedraft",function(n){ce(t);let r=ie(3);return he(r.onWantedToRedraft(n));})("wantedToApprove",function(n){ce(t);let r=ie(3);return he(r.onWantToApprove(n));})("threadCreated",function(n){ce(t);let r=ie(3);return he(r.onThreadCreated(n));})("resetReply",function(){ce(t);let n=ie(3);return he(n.onResetReply());})("timestampClicked",function(n){ce(t);let r=ie(3);return he(r.handleTimestampClicked(n));}),Se(1,WS,8,4,"button",29),W();}
33if(s&2){let t=ie(),i=t.$implicit,n=t.index,r=ie(2);J("comment",i)("video",r.video)("videoPassword",r.videoPassword)("inReplyToCommentId",r.inReplyToCommentId)("commentTree",r.threadComments[i.id])("firstInThread",n+1!==r.comments.length)("redraftValue",r.commentReplyRedraftValue),z(),J("ngIf",i.totalReplies!==0&&!r.threadComments[i.id]);}}function qS(s,e){if(s&1&&(q(0,"div"),Se(1,zS,2,8,"my-video-comment",27),W()),s&2){let t=e.$implicit,i=ie(2);z(),J("ngIf",!i.highlightedThread||t.id!==i.highlightedThread.id);}}function KS(s,e){if(s&1){let t=et();q(0,"my-video-comment-add",20),Pe("commentCreated",function(n){ce(t);let r=ie();return he(r.onCommentThreadCreated(n));}),W(),Se(1,FS,2,0,"div",21),q(2,"div",22),Pe("nearOfBottom",function(){ce(t);let n=ie();return he(n.onNearOfBottom());}),q(3,"div"),Oe(4,"div",23,0),Se(6,VS,1,8,"my-video-comment",24),W(),Se(7,qS,2,1,"div",25),W();}if(s&2){let t=ie();J("video",t.video)("videoPassword",t.videoPassword)("user",t.user)("textValue",t.commentThreadRedraftValue),z(),J("ngIf",t.totalNotDeletedComments===0&&t.comments.length===0),z(),J("dataObservable",t.onDataSubject.asObservable()),z(4),J("ngIf",t.highlightedThread),z(),J("ngForOf",t.comments);}}function YS(s,e){s&1&&(q(0,"div"),ve(1,12),W());}var Hr=class Hr{constructor(e,t,i,n,r,o){this.authService=e;this.notifier=t;this.confirmService=i;this.videoCommentService=n;this.activatedRoute=r;this.hooks=o;F(this,"commentHighlightBlock");F(this,"video");F(this,"videoPassword");F(this,"user");F(this,"timestampClicked",new ct());F(this,"comments",[]);F(this,"highlightedThread");F(this,"sort","-createdAt");F(this,"componentPagination",{currentPage:1,itemsPerPage:10,totalItems:null});F(this,"totalNotDeletedComments");F(this,"inReplyToCommentId");F(this,"commentReplyRedraftValue");F(this,"commentThreadRedraftValue");F(this,"commentsEnabled");F(this,"threadComments",{});F(this,"threadLoading",{});F(this,"syndicationItems",[]);F(this,"onDataSubject",new ua());F(this,"sub");}ngOnInit(){this.sub=this.activatedRoute.params.subscribe(e=>{if(e.threadId){let t=+e.threadId;this.processHighlightedThread(t);}});}ngOnChanges(e){e.video&&this.resetVideo();}ngOnDestroy(){this.sub&&this.sub.unsubscribe();}
33viewReplies(e,t=!1){this.threadLoading[e]=!0;let i={videoId:this.video.uuid,threadId:e,videoPassword:this.videoPassword};this.hooks.wrapObsFun(this.videoCommentService.getVideoThreadComments.bind(this.videoCommentService),i,"video-watch","filter:api.video-watch.video-thread-replies.list.params","filter:api.video-watch.video-thread-replies.list.result").subscribe({next:r=>{this.threadComments[e]=r,this.threadLoading[e]=!1,this.hooks.runAction("action:video-watch.video-thread-replies.loaded","video-watch",{data:r}),t&&(this.highlightedThread=new dg(r.comment),setTimeout(()=>this.commentHighlightBlock.nativeElement.scrollIntoView(),0));},error:r=>{let o=r.body;t&&(o==null?void 0:o.code)===Fn.COMMENT_NOT_ASSOCIATED_TO_VIDEO||this.notifier.error(r.message);}});}loadMoreThreads(){let e={videoId:this.video.uuid,videoPassword:this.videoPassword,componentPagination:this.componentPagination,sort:this.sort};this.hooks.wrapObsFun(this.videoCommentService.getVideoCommentThreads.bind(this.videoCommentService),e,"video-watch","filter:api.video-watch.video-threads.list.params","filter:api.video-watch.video-threads.list.result").subscribe({next:i=>{this.comments=this.comments.concat(i.data),this.componentPagination.totalItems=i.total,this.totalNotDeletedComments=i.totalNotDeletedComments,this.onDataSubject.next(i.data),this.hooks.runAction("action:video-watch.video-threads.loaded","video-watch",{data:this.componentPagination});},error:i=>this.notifier.error(i.message)});}onCommentThreadCreated(e){this.comments.unshift(e),this.commentThreadRedraftValue=void 0;}onWantedToReply(e){this.inReplyToCommentId=e.id;}onResetReply(){this.inReplyToCommentId=void 0,this.commentReplyRedraftValue=void 0;}onThreadCreated(e){this.viewReplies(e.comment.id);}handleSortChange(e){this.sort!==e&&(this.sort=e,this.resetVideo());}handleTimestampClicked(e){this.timestampClicked.emit(e);}onWantedToDelete(n){return Ie(this,arguments,function*(e,t="Delete",i="Do you really want to delete this comment?"){return e.isLocal||this.video.isLocal?i+=" The deletion will be sent to remote instances so they can reflect the change.":i+=" It is a remote comment, so the deletion will only be effective on your instance.",(yield this.confirmService.confirm(i,t))===!1?!1:(this.videoCommentService.deleteVideoComment(e.videoId,e.id).subscribe({next:()=>{var o;((o=this.highlightedThread)==null?void 0:o.id)===e.id&&(e=this.comments.find(a=>a.id===e.id),this.highlightedThread=void 0),this.softDeleteComment(e);},error:o=>this.notifier.error(o.message)}),!0);});}onWantedToRedraft(e){return Ie(this,null,function*(){if(yield this.onWantedToDelete(e,"Delete and re-draft","Do you really want to delete and re-draft this comment?")){this.inReplyToCommentId=e.inReplyToCommentId;let i=e.text.replace(/<br.?\/?>/g,`\r 34`);e.threadId===e.id?this.commentThreadRedraftValue=i:this.commentReplyRedraftValue=i;}});}onWantToApprove(e){this.videoCommentService.approveComments([{commentId:e.id,videoId:e.videoId}]).subscribe({next:()=>{e.heldForReview=!1,this.notifier.success("Comment approved");},error:t=>this.notifier.error(t.message)});}isUserLoggedIn(){return this.authService.isLoggedIn();}onNearOfBottom(){Vm(this.componentPagination)&&(this.componentPagination.currentPage++,this.loadMoreThreads());}softDeleteComment(e){e.isDeleted=!0,e.deletedAt=new Date(),e.text="",e.account=null;}resetVideo(){this.video.commentsPolicy.id!==mm.DISABLED&&(this.highlightedThread=null,this.comments=[],this.threadComments={},this.threadLoading={},this.inReplyToCommentId=void 0,this.componentPagination.currentPage=1,this.componentPagination.totalItems=null,this.totalNotDeletedComments=null,this.commentsEnabled=!0,this.syndicationItems=this.videoCommentService.getVideoCommentsFeeds(this.video),this.loadMoreThreads(),this.activatedRoute.snapshot.params.threadId&&this.processHighlightedThread(+this.activatedRoute.snapshot.params.threadId));}processHighlightedThread(e){this.highlightedThread=this.comments.find(i=>i.id===e),this.viewReplies(e,!0);}};F(Hr,"\u0275fac",function(t){return new(t||Hr)(ye(Qi),ye(ui),ye(Na),ye(Mr),ye(va),ye($n));}),F(Hr,"\u0275cmp",pt({type:Hr,selectors:[["my-video-comments"]],viewQuery:function(t,i){if(t&1&&$t(jS,5),t&2){let n;Gt(n=Wt())&&(i.commentHighlightBlock=n.first);}},inputs:{video:"video",videoPassword:"videoPassword",user:"user"},outputs:{timestampClicked:"timestampClicked"},standalone:!0,features:[Xt,mt],decls:17,vars:4,consts:()=>{let e;e="{VAR_PLURAL, plural, =0 {Comments} =1 {1 Comment}
34 other {{INTERPOLATION} Comments}}",e=zs(e,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let t;t=" SORT BY ";let i;i="Most recent first (default)";let n;n="Most replies first";let r;r="No comments.";let o;o="{VAR_PLURAL, plural, =1 {1 reply} other {{INTERPOLATION} replies}}",o=zs(o,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let a;a=" View "+o+" from "+"\uFFFD2\uFFFD"+" and others ";let l;l="{VAR_PLURAL, plural, =1 {1 reply} other {{INTERPOLATION} replies}}",l=zs(l,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let d;d=" View "+l+" from "+"\uFFFD2\uFFFD"+" ";let u;u="{VAR_PLURAL, plural, =1 {1 reply} other {{INTERPOLATION} replies}}",u=zs(u,{INTERPOLATION:"\uFFFD1\uFFFD",VAR_PLURAL:"\uFFFD0\uFFFD"});let c;c="View "+u+"";let h;return h="Comments are disabled.",[["commentHighlightBlock",""],["hasAuthorComments",""],["noAuthorComments",""],["onlyAuthorComments",""],e,t,i,n,r,a,d,c,h,[1,"title-block"],[1,"title-page"],[3,"syndicationItems"],["ngbDropdown","",1,"d-inline-block","ms-4","dropdown-root"],["id","dropdown-sort-comments","ngbDropdownToggle","",1,"btn","btn-sm","btn-outline-secondary"],["ngbDropdownMenu","","aria-labelledby","dropdown-sort-comments"],["ngbDropdownItem","",3,"click"],[3,"commentCreated","video","videoPassword","user","textValue"],[4,"ngIf"],["myInfiniteScroller","",1,"comment-threads",3,"nearOfBottom","dataObservable"],["id","highlighted-comment",1,"anchor"],[3,"comment","video","videoPassword","inReplyToCommentId","commentTree","highlightedComment","firstInThread","redraftValue","wantedToReply","wantedToDelete","wantedToRedraft","wantedToApprove","threadCreated","resetReply","timestampClicked",4,"ngIf"],[4,"ngFor","ngForOf"],[3,"wantedToReply","wantedToDelete","wantedToRedraft","wantedToApprove","threadCreated","resetReply","timestampClicked","comment","video","videoPassword","inReplyToCommentId","commentTree","highlightedComment","firstInThread","redraftValue"],[3,"comment","video","videoPassword","inReplyToCommentId","commentTree","firstInThread","redraftValue","wantedToReply","wantedToDelete","wantedToRedraft","wantedToApprove","threadCreated","resetReply","timestampClicked",4,"ngIf"],[3,"wantedToReply","wantedToDelete","wantedToRedraft","wantedToApprove","threadCreated","resetReply","timestampClicked","comment","video","videoPassword","inReplyToCommentId","commentTree","firstInThread","redraftValue"],["class","view-replies mb-2 button-unstyle",3,"click",4,"ngIf"],[1,"view-replies","mb-2","button-unstyle",3,"click"],[1,"chevron-down"],[4,"ngIf","ngIfThen","ngIfElse"],["size","sm",1,"ms-1",3,"loading"],[4,"ngIf","ngIfElse"]];},template:function(t,i){t&1&&(q(0,"div")(1,"div",13)(2,"h2",14),De(3," "),ve(4,4),De(5," "),W(),Oe(6,"my-feed",15),q(7,"div",16)(8,"button",17),ve(9,5),W(),q(10,"div",18)(11,"button",19),Pe("click",function(){return i.handleSortChange("-createdAt");}),ve(12,6),W(),q(13,"button",19),Pe("click",function(){return i.handleSortChange("-totalReplies");}),ve(14,7),W()()()(),Se(15,KS,8,8)(16,YS,2,0,"div"),W()),t&2&&(z(4),Ki(i.totalNotDeletedComments)(i.totalNotDeletedComments),Yi(4),z(2),J("syndicationItems",i.syndicationItems),z(9),qi(i.commentsEnabled?15:16));},dependencies:[ug,Oa,ka,Pa,Sm,Em,bt,Vr,Va,za,bi,qm],styles:["#highlighted-comment[_ngcontent-%COMP%]{margin-bottom:25px}.view-replies[_ngcontent-%COMP%]{font-weight:600;cursor:pointer;position:relative}.view-replies[_ngcontent-%COMP%] .chevron-down[_ngcontent-%COMP%]{margin-inline-start:0}.title-block[_ngcontent-%COMP%] .title-page[_ngcontent-%COMP%]{margin-inline-end:0}.title-block[_ngcontent-%COMP%] my-feed[_ngcontent-%COMP%]{display:inline-block;transition:ease-in .2s opacity;width:12px;position:relative;top:-3px;margin-inline-start:.3125rem}#dropdown-sort-comments[_ngcontent-%COMP%]{font-weight:600;text-transform:uppercase;border:0}@media screen and (max-width: 450px){.view-replies[_ngcontent-%COMP%]{font-size:14px}}"]}));var qa=Hr;function XS(s,e){if(s&1){let t=et();q(0,"div",5)(1,"div",6)(2,"span",7)(3,"strong"),ve(4,0),W(),Ut(5),ve(6,1),Lt(),W(),q(7,"a",8),ve(8,2),W()(),q(9,"button",9),Pe("click",function(){ce(t);let n=ie();return he(n.acceptedPrivacyConcern());}),ve(10,3),W()();}}var fn=class fn{constructor(e,t){this.serverService=e;this.userService=t;F(this,"video");F(this,"display",!1);F(this,"serverConfig");}ngOnInit(){this.serverConfig=this.serverService.getHTMLConfig(),this.userService.getAnonymousOrLoggedUser().subscribe(e=>this.updateDisplay(e));}acceptedPrivacyConcern(){Hn.setItem(fn.LOCAL_STORAGE_PRIVACY_CONCERN_KEY,"true"),this.display=!1;}updateDisplay(e){Da(this.video,this.serverConfig,e.p2pEnabled)&&!this.alreadyAccepted()&&(this.display=!0);}alreadyAccepted(){return Hn.getItem(fn.LOCAL_STORAGE_PRIVACY_CONCERN_KEY)==="true";}};F(fn,"LOCAL_STORAGE_PRIVACY_CONCERN_KEY","video-watch-privacy-concern"),F(fn,"\u0275fac",function(t){return new(t||fn)(ye(Rr),ye(Ri));}),F(fn,"\u0275cmp",pt({type:fn,selectors:[["my-privacy-concerns"]],inputs:{video:"video"},standalone:!0,features:[mt],decls:1,vars:1,consts:()=>{let e;e="Get more information";let t;t="Friendly Reminder:";let i;i=" the sharing system used for this video implies that some technical information about your system (such as a public IP address) can be sent to other peers. ";let n;n="More information";let r;return r=" OK ",[t,i,n,r,["class","privacy-concerns",4,"ngIf"],[1,"privacy-concerns"],[1,"privacy-concerns-text"],[1,"me-2"],["title",e,"target","_blank","rel","noopener noreferrer","href","/about/peertube#privacy"],[1,"ms-2","peertube-button","orange-button",3,"click"]];},template:function(t,i){t&1&&Se(0,XS,11,0,"div",4),t&2&&J("ngIf",i.display);},dependencies:[bt],styles:[".privacy-concerns[_ngcontent-%COMP%]{position:fixed;bottom:0;width:calc(100% - 240px);z-index:17500;padding:5px 15px;display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;background-color:#000000e6;color:#fff}.expanded[_nghost-%COMP%] .privacy-concerns[_ngcontent-%COMP%], .expanded [_nghost-%COMP%] .privacy-concerns[_ngcontent-%COMP%]{width:100%}.menu-open[_nghost-%COMP%] .privacy-concerns[_ngcontent-%COMP%], .menu-open [_nghost-%COMP%] .privacy-concerns[_ngcontent-%COMP%]{z-index:12549}@media screen and (max-width: 800px){.privacy-concerns[_ngcontent-%COMP%]{width:100%}}.privacy-concerns-text[_ngcontent-%COMP%]{margin:0 5px}a[_ngcontent-%COMP%]{color:var(--mainColor);transition:color .3s}a[_ngcontent-%COMP%]:hover, a[_ngcontent-%COMP%]:focus, a[_ngcontent-%COMP%]:active{text-decoration:none!important}a[_ngcontent-%COMP%]:focus:not(:focus-visible){outline:none!important}
34a[_ngcontent-%COMP%]:hover{color:var(--mainBackgroundColor)}@media screen and (max-width: 1300px){.privacy-concerns[_ngcontent-%COMP%]{font-size:12px;padding:2px 5px}.privacy-concerns-text[_ngcontent-%COMP%]{margin:0}}"]}));var Ka=fn;function QS(s,e){if(s&1&&(q(0,"div",9),ve(1,0),cn(2,"date"),W()),s&2){let t=ie();z(2),Ki(Ys(2,1,t.video.scheduledUpdate.updateAt,"full")),Yi(1);}}function JS(s,e){s&1&&(q(0,"div",9),ve(1,1),W());}function ZS(s,e){s&1&&(q(0,"div",9),ve(1,2),W());}function eC(s,e){if(s&1&&(q(0,"div",10),De(1),W()),s&2){let t=ie();z(),fi(" ",t.getAlertWarning(),` 35`);}}function tC(s,e){s&1&&(q(0,"div",10),ve(1,3),W());}function iC(s,e){if(s&1&&(q(0,"div",11)(1,"div",12),ve(2,4),W(),De(3),W()),s&2){let t=ie();z(3),fi(" ",t.video.blacklistedReason,` 36`);}}function nC(s,e){s&1&&(q(0,"div",10),ve(1,5),W());}var $r=class $r{constructor(){F(this,"user");F(this,"video");F(this,"noPlaylistVideoFound");}getAlertWarning(){if(this.video)switch(this.video.state.id){case di.TO_TRANSCODE:return"The video is being transcoded, it may not work properly.";case di.TO_IMPORT:return"The video is being imported, it will be available when the import is finished.";case di.TO_MOVE_TO_FILE_SYSTEM:return"The video is being moved to server file system, it may not work properly";case di.TO_MOVE_TO_FILE_SYSTEM_FAILED:return"Move to file system failed, this video may not work properly.";case di.TO_MOVE_TO_EXTERNAL_STORAGE:return"The video is being moved to an external server, it may not work properly.";case di.TO_MOVE_TO_EXTERNAL_STORAGE_FAILED:return"Move to external storage failed, this video may not work properly.";case di.TO_EDIT:return"The video is being edited, it may not work properly.";case di.TRANSCODING_FAILED:return"Transcoding failed, this video may not work properly.";}}hasVideoScheduledPublication(){var e;return((e=this.video)==null?void 0:e.scheduledUpdate)!==void 0;}isWaitingForLive(){var e;return((e=this.video)==null?void 0:e.state.id)===di.WAITING_FOR_LIVE;}isLiveEnded(){var e;return((e=this.video)==null?void 0:e.state.id)===di.LIVE_ENDED;}isVideoPasswordProtected(){var e;return((e=this.video)==null?void 0:e.privacy.id)===nr.PASSWORD_PROTECTED;}};F($r,"\u0275fac",function(t){return new(t||$r)();}),F($r,"\u0275cmp",pt({type:$r,selectors:[["my-video-alert"]],inputs:{user:"user",video:"video",noPlaylistVideoFound:"noPlaylistVideoFound"},standalone:!0,features:[mt],decls:7,vars:7,consts:()=>{let e;e=" This video will be published on "+"\uFFFD0\uFFFD"+".\n";let t;t=" This live is not currently streaming.\n";let i;i=" This live has ended.\n";let n;n=" There are no videos available in this playlist.\n";let r;r="This video is blocked.";let o;return o=" This video is password protected.\n",[e,t,i,n,r,o,["class","alert pt-alert-primary",4,"ngIf"],["class","alert alert-warning",4,"ngIf"],["class","alert alert-danger",4,"ngIf"],[1,"alert","pt-alert-primary"],[1,"alert","alert-warning"],[1,"alert","alert-danger"],[1,"blocked-label"]];},template:function(t,i){t&1&&Se(0,QS,3,4,"div",6)(1,JS,2,0,"div",6)(2,ZS,2,0,"div",6)(3,eC,2,1,"div",7)(4,tC,2,0,"div",7)(5,iC,4,1,"div",8)(6,nC,2,0,"div",7),t&2&&(J("ngIf",i.hasVideoScheduledPublication()),z(),J("ngIf",i.isWaitingForLive()),z(),J("ngIf",i.isLiveEnded()),z(),J("ngIf",i.getAlertWarning()),z(),J("ngIf",i.noPlaylistVideoFound),z(),J("ngIf",i.video==null?null:i.video.blacklisted),z(),J("ngIf",i.video==null?null:i.video.canAccessPasswordProtectedVideoWithoutPassword(i.user)));},dependencies:[bt,ga],styles:[".alert[_ngcontent-%COMP%]{text-align:center;border-radius:0}"]}));var Ya=$r;var rC=s=>({host:s}),Qa=()=>["/search"],Ja=s=>[s],sC=s=>({categoryOneOf:s}),oC=s=>({licenceOneOf:s}),aC=s=>({languageOneOf:s}),lC=s=>({tagsOneOf:s});function dC(s,e){if(s&1&&(q(0,"div",24)(1,"span",10),ve(2,5),W(),q(3,"a",25),De(4),W(),q(5,"a",26),Oe(6,"my-global-icon",27),W()()),s&2){let t=ie();z(3),J("queryParams",ze(3,rC,t.getVideoHost())),z(),ht(t.video.originInstanceHost),z(),J("href",t.video.url,Kp);}}function uC(s,e){if(s&1&&(q(0,"div",28)(1,"span",10),ve(2,6),W(),q(3,"span",11),De(4),cn(5,"date"),W()()),s&2){let t=ie();z(4),ht(Ys(5,1,t.video.inputFileUpdatedAt,"short"));}}function cC(s,e){if(s&1&&(q(0,"div",29)(1,"span",10),ve(2,7),W(),q(3,"span",11),De(4),cn(5,"date"),W()()),s&2){let t=ie();z(4),ht(Ys(5,1,t.video.originallyPublishedAt,"shortDate"));}}function hC(s,e){if(s&1&&(q(0,"span",11),De(1),W()),s&2){let t=ie();z(),ht(t.video.category.label);}}function fC(s,e){if(s&1&&(q(0,"a",30),De(1),W()),s&2){let t=ie();J("routerLink",qs(3,Qa))("queryParams",ze(6,sC,ze(4,Ja,t.video.category.id))),z(),ht(t.video.category.label);}}function pC(s,e){if(s&1&&(q(0,"span",11),De(1),W()),s&2){let t=ie();z(),ht(t.video.licence.label);}}function mC(s,e){if(s&1&&(q(0,"a",30),De(1),W()),s&2){let t=ie();J("routerLink",qs(3,Qa))("queryParams",ze(6,oC,ze(4,Ja,t.video.licence.id))),z(),ht(t.video.licence.label);}}function gC(s,e){if(s&1&&(q(0,"span",11),De(1),W()),s&2){let t=ie();z(),ht(t.video.language.label);}}function vC(s,e){if(s&1&&(q(0,"a",30),De(1),W()),s&2){let t=ie();J("routerLink",qs(3,Qa))("queryParams",ze(6,aC,ze(4,Ja,t.video.language.id))),z(),ht(t.video.language.label);}}function _C(s,e){if(s&1&&(q(0,"a",30),De(1),W()),s&2){let t=e.$implicit;J("routerLink",qs(3,Qa))("queryParams",ze(6,lC,ze(4,Ja,t))),z(),ht(t);}}function yC(s,e){if(s&1&&(q(0,"div",31)(1,"span",10),ve(2,8),W(),q(3,"span",11),De(4),cn(5,"myTimeDurationFormatter"),W()()),s&2){let t=ie();z(4),ht(Ks(5,1,t.video.duration));}}function bC(s,e){if(s&1&&(q(0,"span",11),De(1),W()),s&2){let t=ie().$implicit;z(),ht(t.value);}}function TC(s,e){if(s&1&&Oe(0,"span",34),s&2){let t=ie().$implicit;J("innerHTML",t.safeHTML,jn);}}function EC(s,e){if(s&1&&(q(0,"div",32)(1,"span",10),De(2),W(),Se(3,bC,2,1,"span",16)(4,TC,1,1,"span",33),W()),s&2){let t=e.$implicit;z(2),ht(t.label),z(),J("ngIf",t.value),z(),J("ngIf",t.safeHTML);}}var Gr=class Gr{constructor(e){this.hooks=e;F(this,"video");F(this,"pluginMetadata",[]);}
36ngOnChanges(){return Ie(this,null,function*(){this.pluginMetadata=yield this.hooks.wrapObject(this.pluginMetadata,"video-watch","filter:video-watch.video-plugin-metadata.result",{video:this.video});});}getVideoHost(){return this.video.channel.host;}getVideoTags(){return!this.video||Array.isArray(this.video.tags)===!1?[]:this.video.tags;}};F(Gr,"\u0275fac",function(t){return new(t||Gr)(ye($n));}),F(Gr,"\u0275cmp",pt({type:Gr,selectors:[["my-video-attributes"]],inputs:{video:"video"},standalone:!0,features:[Xt,mt],decls:29,vars:13,consts:()=>{let e;e="Privacy";let t;t="Category";let i;i="Licence";let n;n="Language";let r;r="Tags";let o;o="Open the video on the origin instance";let a;a="Origin";let l;l="Video re-upload";let d;d="Originally published";let u;return u="Duration",[e,t,i,n,r,a,l,d,u,[1,"attribute","attribute-privacy"],[1,"attribute-label"],[1,"attribute-value"],["class","attribute attribute-origin",4,"ngIf"],["class","attribute attribute-re-uploaded-on",4,"ngIf"],["class","attribute attribute-originally-published-at",4,"ngIf"],[1,"attribute","attribute-category"],["class","attribute-value",4,"ngIf"],["class","attribute-value",3,"routerLink","queryParams",4,"ngIf"],[1,"attribute","attribute-licence"],[1,"attribute","attribute-language"],[1,"attribute","attribute-tags"],["class","attribute-value",3,"routerLink","queryParams",4,"ngFor","ngForOf"],["class","attribute attribute-duration",4,"ngIf"],["class","attribute attribute-plugin",4,"ngFor","ngForOf"],[1,"attribute","attribute-origin"],["target","_blank","rel","noopener noreferrer","routerLink","/search",1,"attribute-value",3,"queryParams"],["title",o,"target","_blank","rel","noopener noreferrer",3,"href"],["iconName","external-link"],[1,"attribute","attribute-re-uploaded-on"],[1,"attribute","attribute-originally-published-at"],[1,"attribute-value",3,"routerLink","queryParams"],[1,"attribute","attribute-duration"],[1,"attribute","attribute-plugin"],["class","attribute-value",3,"innerHTML",4,"ngIf"],[1,"attribute-value",3,"innerHTML"]];},template:function(t,i){t&1&&(q(0,"div",9)(1,"span",10),ve(2,0),W(),q(3,"span",11),De(4),W()(),Se(5,dC,7,5,"div",12)(6,uC,6,4,"div",13)(7,cC,6,4,"div",14),q(8,"div",15)(9,"span",10),ve(10,1),W(),Se(11,hC,2,1,"span",16)(12,fC,2,8,"a",17),W(),q(13,"div",18)(14,"span",10),ve(15,2),W(),Se(16,pC,2,1,"span",16)(17,mC,2,8,"a",17),W(),q(18,"div",19)(19,"span",10),ve(20,3),W(),Se(21,gC,2,1,"span",16)(22,vC,2,8,"a",17),W(),q(23,"div",20)(24,"span",10),ve(25,4),W(),Se(26,_C,2,8,"a",21),W(),Se(27,yC,6,3,"div",22)(28,EC,5,3,"div",23)),t&2&&(z(4),ht(i.video.privacy.label),z(),J("ngIf",i.video.isLocal===!1),z(),J("ngIf",!!i.video.inputFileUpdatedAt),z(),J("ngIf",!!i.video.originallyPublishedAt),z(4),J("ngIf",!i.video.category.id),z(),J("ngIf",i.video.category.id),z(4),J("ngIf",!i.video.licence.id),z(),J("ngIf",i.video.licence.id),z(4),J("ngIf",!i.video.language.id),z(),J("ngIf",i.video.language.id),z(4),J("ngForOf",i.getVideoTags()),z(),J("ngIf",!i.video.isLive),z(),J("ngForOf",i.pluginMetadata));},dependencies:[bt,xr,Pi,bi,ga,Tg],styles:['.attribute[_ngcontent-%COMP%]{font-size:13px;display:block;margin-bottom:12px}.attribute-label[_ngcontent-%COMP%]{min-width:142px;display:inline-block;color:var(--greyForegroundColor);font-weight:700;padding-inline-end:.3125rem}a.attribute-value[_ngcontent-%COMP%]{color:var(--mainForegroundColor)}a.attribute-value[_ngcontent-%COMP%]:hover, a.attribute-value[_ngcontent-%COMP%]:focus, a.attribute-value[_ngcontent-%COMP%]:active{text-decoration:none!important}a.attribute-value[_ngcontent-%COMP%]:focus:not(:focus-visible){outline:none!important}a.attribute-value[_ngcontent-%COMP%]:hover{opacity:.9}.attribute-tags[_ngcontent-%COMP%] .attribute-value[_ngcontent-%COMP%]:not(:nth-child(2)):before{content:", "}@media screen and (max-width: 1600px){.attributes[_ngcontent-%COMP%] .attribute[_ngcontent-%COMP%]{margin-bottom:5px}}']}));var Xa=Gr;var SC=s=>["/c",s],CC=s=>["/a",s];function wC(s,e){if(s&1&&Oe(0,"my-actor-avatar",3),s&2){let t=ie();J("actor",t.video.channel)("internalHref",ze(3,SC,t.video.byVideoChannel))("title",t.channelLinkTitle);}}function xC(s,e){if(s&1&&Oe(0,"my-actor-avatar",4),s&2){let t=ie();Jp("second-avatar",t.showChannel),J("actor",t.video.account)("internalHref",ze(5,CC,t.video.byAccount))("title",t.accountLinkTitle);}}
36var Wr=class Wr{constructor(){F(this,"video");F(this,"byAccount");F(this,"showAccount");F(this,"showChannel");F(this,"channelLinkTitle","");F(this,"accountLinkTitle","");}ngOnInit(){this.channelLinkTitle=""+this.video.account.name+" (channel page)",this.accountLinkTitle=""+this.video.byAccount+" (account page)";}};F(Wr,"\u0275fac",function(t){return new(t||Wr)();}),F(Wr,"\u0275cmp",pt({type:Wr,selectors:[["my-video-avatar-channel"]],inputs:{video:"video",byAccount:"byAccount",showAccount:"showAccount",showChannel:"showChannel"},standalone:!0,features:[mt],decls:3,vars:2,consts:[[1,"wrapper"],["class","channel","actorType","channel","size","35",3,"actor","internalHref","title",4,"ngIf"],["class","account","actorType","account","size","35",3,"second-avatar","actor","internalHref","title",4,"ngIf"],["actorType","channel","size","35",1,"channel",3,"actor","internalHref","title"],["actorType","account","size","35",1,"account",3,"actor","internalHref","title"]],template:function(t,i){t&1&&(q(0,"div",0),Se(1,wC,1,5,"my-actor-avatar",1)(2,xC,1,7,"my-actor-avatar",2),W()),t&2&&(z(),J("ngIf",i.showChannel),z(),J("ngIf",i.showAccount));},dependencies:[bt,kr],styles:[".wrapper[_ngcontent-%COMP%]{position:relative;margin-bottom:5px;margin-inline-end:.3125rem}.wrapper[_ngcontent-%COMP%] .second-avatar[_ngcontent-%COMP%]{height:60%;width:60%;position:absolute;bottom:-5px;right:-5px;background-color:#0000}"]}));var Za=Wr;var AC=["descriptionHTML"],IC=s=>({"ellipsis-multiline-3":s});function RC(s,e){s&1&&(Ut(0)(1),ve(2,1),Lt(),Oe(3,"span",8),Lt());}function PC(s,e){s&1&&(Ut(0)(1),ve(2,2),Lt(),Oe(3,"span",9),Lt());}function kC(s,e){if(s&1){let t=et();q(0,"button",6),Pe("click",function(){ce(t);let n=ie();return he(n.completeDescriptionShown=!n.completeDescriptionShown);}),Se(1,RC,4,0,"ng-container",7)(2,PC,4,0,"ng-container",7),W();}if(s&2){let t=ie();z(),J("ngIf",!t.completeDescriptionShown),z(),J("ngIf",t.completeDescriptionShown);}}var zr=class zr{constructor(e){this.markdownService=e;F(this,"descriptionHTML");F(this,"video");F(this,"timestampClicked",new ct());F(this,"completeDescriptionShown",!1);F(this,"videoHTMLDescription","");}ngOnChanges(){this.completeDescriptionShown=!1,this.setVideoDescriptionHTML();}hasEllipsis(){var t;let e=(t=this.descriptionHTML)==null?void 0:t.nativeElement;return e?e.offsetHeight<e.scrollHeight:!1;}showMoreDescription(){this.completeDescriptionShown=!0;}showLessDescription(){this.completeDescriptionShown=!1;}onTimestampClicked(e){this.timestampClicked.emit(e);}setVideoDescriptionHTML(){return Ie(this,null,function*(){let e=yield this.markdownService.textMarkdownToHTML({markdown:this.video.description,withHtml:!0,withEmoji:!0});this.videoHTMLDescription=this.markdownService.processVideoTimestamps(this.video.shortUUID,e);});}};F(zr,"\u0275fac",function(t){return new(t||zr)(ye(Fa));}),F(zr,"\u0275cmp",pt({type:zr,selectors:[["my-video-description"]],viewQuery:function(t,i){if(t&1&&$t(AC,5),t&2){let n;Gt(n=Wt())&&(i.descriptionHTML=n.first);}},inputs:{video:"video"},outputs:{timestampClicked:"timestampClicked"},standalone:!0,features:[Xt,mt],decls:4,vars:5,consts:()=>{let e;e="Show more";let t;return t="Show less",[["descriptionHTML",""],e,t,[1,"video-info-description"],["myTimestampRouteTransformer","",1,"video-info-description-html",3,"timestampClicked","ngClass","innerHTML"],["class","video-info-description-more button-unstyle",3,"click",4,"ngIf"],[1,"video-info-description-more","button-unstyle",3,"click"],[4,"ngIf"],[1,"chevron-down"],[1,"chevron-up"]];},template:function(t,i){if(t&1){let n=et();q(0,"div",3)(1,"div",4,0),Pe("timestampClicked",function(o){return ce(n),he(i.onTimestampClicked(o));}),W(),Se(3,kC,3,2,"button",5),W();}t&2&&(z(),J("ngClass",ze(3,IC,!i.completeDescriptionShown))("innerHTML",i.videoHTMLDescription,jn),z(2),J("ngIf",i.hasEllipsis()&&!i.completeDescriptionShown||i.completeDescriptionShown));},dependencies:[Ur,Qt,bt],styles:[".video-info-description[_ngcontent-%COMP%]{margin-top:20px;margin-bottom:20px;margin-inline-start:calc(1.4rem + 1.8vw);margin-inline-end:0}@media (min-width: 1200px){.video-info-description[_ngcontent-%COMP%]{margin-inline-start:2.75rem}}.video-info-description[_ngcontent-%COMP%] .video-info-description-html[_ngcontent-%COMP%]{word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.video-info-description[_ngcontent-%COMP%] .video-info-description-html[_ngcontent-%COMP%] a{text-decoration:none}.video-info-description[_ngcontent-%COMP%] .video-info-description-html[_ngcontent-%COMP%] p:last-child{margin-bottom:0}.video-info-description[_ngcontent-%COMP%] .description-loading[_ngcontent-%COMP%]{margin-inline-start:.3125rem}.video-info-description[_ngcontent-%COMP%] .video-info-description-more[_ngcontent-%COMP%]{cursor:pointer;font-weight:600;color:var(--greyForegroundColor);margin-top:1rem;font-size:.875rem}@media screen and (max-width: 450px){.video-info-description[_ngcontent-%COMP%]{font-size:14px!important}}"]}));var el=zr;var sr=class sr{constructor(e,t,i,n){this.videos=e;this.searchService=t;this.userService=i;this.serverService=n;F(this,"config");F(this,"videoIdsHistory",new Set());this.config=this.serverService.getHTMLConfig();}getRecommentationHistory(){return this.videoIdsHistory;}getRecommendations(e,t=new Set()){this.videoIdsHistory.add(e.id);let i=5,n=Math.min(i+1+t.size,30);return this.fetchPage(e,n).pipe(ir(r=>{let o=r.filter(a=>a.uuid!==e.uuid&&!t.has(a.id));return o.length===0&&r.length!==0&&(o=r.filter(a=>a.uuid!==e.uuid)),o.slice(0,i);}));}fetchPage(e,t){let i={currentPage:1,itemsPerPage:t};return this.userService.getAnonymousOrLoggedUser().pipe(Nn(n=>{let r=n.nsfwPolicy?this.videos.nsfwPolicyToParam(n.nsfwPolicy):void 0,o=this.videos.getVideos({skipCount:!0,videoPagination:i,sort:"-publishedAt",nsfw:r}).pipe(ir(l=>l.data)),a=this.config.search.searchIndex;return a.enabled===!0&&a.disableLocalSearch===!0?o:this.searchService.searchVideos({search:"",componentPagination:i,skipCount:!0,advancedSearch:new lg({tagsOneOf:e.tags.join(","),sort:"-publishedAt",searchTarget:"local",nsfw:r,excludeAlreadyWatched:n.id?!0:void 0})}).pipe(ir(l=>l.data),Nn(l=>l.length<=1?o:Gs(l)));}));}};F(sr,"\u0275fac",function(t){return new(t||sr)(Ws(Or),Ws(Ha),Ws(Ri),Ws(Rr));}),F(sr,"\u0275prov",Wp({token:sr,factory:sr.ɵfac}));var qr=sr;var LC=s=>({"display-as-row":s});function MC(s,e){if(s&1){let t=et();q(0,"div",8)(1,"span"),ve(2,1),W(),q(3,"my-input-switch",9),pa("ngModelChange",function(n){ce(t);let r=ie(2);return fa(r.autoPlayNextVideo,n)||(r.autoPlayNextVideo=n),he(n);}),Pe("ngModelChange",function(){ce(t);let n=ie(2);return he(n.switchAutoPlayNextVideo());}),W()();}if(s&2){let t=ie(2);J("ngbTooltip",t.autoPlayNextVideoTooltip),z(3),ha("ngModel",t.autoPlayNextVideo);}}function DC(s,e){s&1&&(q(0,"span",13),ve(1,2),W());}function NC(s,e){s&1&&Oe(0,"hr");}function jC(s,e){if(s&1){let t=et();Ut(0),Se(1,DC,2,0,"span",10),q(2,"my-video-miniature",11),Pe("videoBlocked",function(){ce(t);let n=ie(2);return he(n.onVideoRemoved());})("videoRemoved",function(){ce(t);let n=ie(2);return he(n.onVideoRemoved());})("videoAccountMuted",function(){ce(t);let n=ie(2);return he(n.onVideoRemoved());}),W(),Se(3,NC,1,0,"hr",12),Lt();}if(s&2){let t=e.$implicit,i=e.index,n=e.count,r=ie(2);z(),J("ngIf",!r.playlist&&i===0&&n!==0&&r.autoPlayNextVideo),z(),J("displayOptions",r.dis
36playOptions)("video",t)("user",r.user)("displayAsRow",r.displayAsRow),z(),J("ngIf",!r.playlist&&i===0&&n>1&&r.autoPlayNextVideo);}}function FC(s,e){if(s&1&&(q(0,"div",4)(1,"h2",5),ve(2,0),W(),Se(3,MC,4,2,"div",6),W(),Se(4,jC,4,6,"ng-container",7)),s&2){let t=ie();z(3),J("ngIf",!t.playlist),z(),J("ngForOf",t.videos);}}var Kr=class Kr{constructor(e,t,i,n){this.userService=e;this.authService=t;this.notifier=i;this.videoRecommendation=n;F(this,"currentVideo");F(this,"playlist");F(this,"displayAsRow");F(this,"gotRecommendations",new ct());F(this,"videos",[]);F(this,"autoPlayNextVideo");F(this,"autoPlayNextVideoTooltip");F(this,"displayOptions",{date:!0,views:!0,by:!0,avatar:!0});F(this,"user");F(this,"userSub");this.autoPlayNextVideoTooltip="When active, the next video is automatically played after the current one.";}ngOnInit(){this.userSub=this.userService.listenAnonymousUpdate().pipe(Gp(!0),Nn(()=>this.userService.getAnonymousOrLoggedUser())).subscribe(e=>{this.user=e,this.autoPlayNextVideo=e.autoPlayNextVideo;});}ngOnChanges(){this.currentVideo&&this.loadRecommendations();}ngOnDestroy(){this.userSub&&this.userSub.unsubscribe();}onVideoRemoved(){this.loadRecommendations();}switchAutoPlayNextVideo(){let e={autoPlayNextVideo:this.autoPlayNextVideo};this.authService.isLoggedIn()?this.userService.updateMyProfile(e).subscribe({next:()=>{this.authService.refreshUserInformation();},error:t=>this.notifier.error(t.message)}):this.userService.updateMyAnonymousProfile(e);}loadRecommendations(){this.videoRecommendation.getRecommendations(this.currentVideo,this.videoRecommendation.getRecommentationHistory()).subscribe({next:e=>{this.videos=e,this.gotRecommendations.emit(this.videos);},error:e=>this.notifier.error(e.message)});}};F(Kr,"\u0275fac",function(t){return new(t||Kr)(ye(Ri),ye(Qi),ye(ui),ye(qr));}),F(Kr,"\u0275cmp",pt({type:Kr,selectors:[["my-recommended-videos"]],inputs:{currentVideo:"currentVideo",playlist:"playlist",displayAsRow:"displayAsRow"},outputs:{gotRecommendations:"gotRecommendations"},standalone:!0,features:[Xt,mt],decls:2,vars:4,consts:()=>{let e;e="Other videos";let t;t="Toggle autoplay next video";let i;i="AUTOPLAY";let n;return n="Next video to be played",[e,i,n,[1,"other-videos",3,"ngClass"],[1,"title-page-container"],[1,"title-page"],["class","title-page-autoplay","placement","bottom-right auto",3,"ngbTooltip",4,"ngIf"],[4,"ngFor","ngForOf"],["placement","bottom-right auto",1,"title-page-autoplay",3,"ngbTooltip"],["label",t,"inputName","autoplay-next-video",1,"small",3,"ngModelChange","ngModel"],["class","title-page-next-video-label",4,"ngIf"],["actorImageSize","32",3,"videoBlocked","videoRemoved","videoAccountMuted","displayOptions","video","user","displayAsRow"],[4,"ngIf"],[1,"title-page-next-video-label"]];},template:function(t,i){t&1&&(q(0,"div",3),Se(1,FC,5,2),W()),t&2&&(J("ngClass",ze(2,LC,i.displayAsRow)),z(),qi(i.videos.length!==0?1:-1));},dependencies:[Qt,bt,Un,Gm,Ir,Ar,ba,bi,ag],styles:[".title-page-container[_ngcontent-%COMP%]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:25px;flex-wrap:wrap-reverse}.title-page-container[_ngcontent-%COMP%] .title-page[_ngcontent-%COMP%]{margin-bottom:unset;margin-top:0;margin-inline-end:.5rem!important}.title-page-autoplay[_ngcontent-%COMP%]{display:flex;width:max-content;height:max-content;align-items:center;margin-inline-start:auto}.title-page-autoplay[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{text-transform:uppercase;font-size:85%;font-weight:600;margin-inline-end:.3rem}.title-page-next-video-label[_ngcontent-%COMP%]{display:block;margin-bottom:5px;font-weight:600}hr[_ngcontent-%COMP%]{margin-top:0}my-video-miniature[_ngcontent-%COMP%]{display:block}.other-videos[_ngcontent-%COMP%]:not(.display-as-row) my-video-miniature[_ngcontent-%COMP%]{min-width:201px;max-width:201px}.display-as-row[_ngcontent-%COMP%] my-video-miniature[_ngcontent-%COMP%]{margin-bottom:20px}.display-as-row[_ngcontent-%COMP%] hr[_ngcontent-%COMP%]{display:none}@media screen and (max-width: 500px){.display-as-row[_ngcontent-%COMP%] my-video-miniature[_ngcontent-%COMP%]{margin-bottom:10px}}"]}));var tl=Kr;var sE=Ve(hn());var fs=Ve(Ye());var Ro=Ve(Ye());var wc=Ve(Ye()),V1=wc.default.getComponent("MenuItem"),Ll=class extends V1{constructor(e,t){super(e,t);}handleClick(e){super.handleClick(e),this.options_.listener(e),setTimeout(()=>{this.player().contextMenu().menu.dispose();},1);}createEl(e,t,i){let n=super.createEl(e,t,i),r=wc.default.dom.createEl("span");return r.innerHTML=`<span class="vjs-menu-item-text">${this.localize(this.options_.label)}</span>`,n.replaceChild(r,n.querySelector(".vjs-menu-item-text")),n;}};var B1=Ro.default.getComponent("Menu"),Ml=class extends B1{constructor(e,t){super(e,Le(we({},t),{menuButton:void 0})),this.dispose=Ro.default.bind(this,this.dispose);for(let i of t.content())this.addItem(new Ll(e,{label:i.label,listener:Ro.default.bind(e,i.listener)}));}createEl(){let e=super.createEl();return Ro.default.dom.addClass(e,"vjs-contextmenu-ui-menu"),e.style.left=this.options_.position.left+"px",e.style.top=this.options_.position.top+"px",e;}};function U1(s){let e;if(s.getBoundingClientRect&&s.parentNode&&(e=s.getBoundingClientRect()),!e)return{left:0,top:0};let t=document.documentElement,i=document.body,n=t.clientLeft||i.clientLeft||0,r=window.pageXOffset||i.scrollLeft,o=e.left+r-n,a=t.clientTop||i.clientTop||0,l=window.pageYOffset||i.scrollTop,d=e.top+l-a;return{left:Math.round(o),top:Math.round(d)};}function C_(s,e){let t={},i=U1(s),n=s.offsetWidth,r=s.offsetHeight,o=i.top,a=i.left,l=e.pageY,d=e.pageX;return e.changedTouches&&(d=e.changedTouches[0].pageX,l=e.changedTouches[0].pageY),t.y=Math.max(0,Math.min(1,(o-l+r)/r)),t.x=Math.max(0,Math.min(1,(d-a)/n)),t;}var H1=fs.default.getPlugin("plugin"),xc=class extends H1{constructor(e,t){super(e,t),this.options_=t,this.menu&&(this.menu.dispose(),this.player.off("contextmenu",this.onContextMenuBind)),this.onContextMenuBind=this.onContextMenu.bind(this),this.player.on("contextmenu",this.onContextMenuBind),this.player.ready(()=>this.player.addClass("vjs-contextmenu-ui"));}onContextMenu(e){if($1(this.player)){this.menu.dispose();return;}if(G1(e.target))return;
36let t=C_(this.player.el(),e),i=this.player.el().getBoundingClientRect(),n=W1(t,i),r=fs.default.browser.IS_FIREFOX?document.documentElement:document;e.preventDefault();let o=this.menu=new Ml(this.player,{content:this.options_.content,position:n});o.on("dispose",()=>{for(let u of["click","tap"])fs.default.off(r,u,o.dispose);this.player.removeChild(o),this.menu=void 0;}),this.player.addChild(o);let a=o.el(),l=a.getBoundingClientRect(),d=document.body.getBoundingClientRect();(l.right>d.width||l.bottom>d.height)&&(a.style.left=Math.floor(Math.min(n.left,this.player.currentWidth()-o.currentWidth()))+"px",a.style.top=Math.floor(Math.min(n.top,this.player.currentHeight()-o.currentHeight()))+"px");for(let u of["click","tap"])fs.default.on(r,u,o.dispose);}};fs.default.registerPlugin("contextMenu",xc);function $1(s){var e;return s.usingPlugin("contextMenu")?!!((e=s.contextMenu().menu)!=null&&e.el()):!1;}function G1(s){let e=s.tagName.toLowerCase();return e==="input"||e==="textarea";}function W1(s,e){return{left:Math.round(e.width*s.x),top:Math.round(e.height-e.height*s.y)};}var Dl=Ve(Ye());function z1(s){return` 37 <div class="vjs-upnext-top"> 38 <span class="vjs-upnext-headtext">${s.headText}</span> 39 <div class="vjs-upnext-title"></div> 40 </div> 41 <div class="vjs-upnext-autoplay-icon"> 42 <svg height="100%" version="1.1" viewbox="0 0 98 98" width="100%"> 43 <circle class="vjs-upnext-svg-autoplay-circle" cx="49" cy="49" fill="#000" fill-opacity="0.8" r="48"></circle> 44 <circle class="vjs-upnext-svg-autoplay-ring" cx="-49" cy="49" fill-opacity="0" r="46.5" 45 stroke="#FFFFFF" stroke-width="4" transform="rotate(-90)" 46 ></circle> 47 <polygon class="vjs-upnext-svg-autoplay-triangle" fill="#fff" points="32,27 72,49 32,71"></polygon></svg> 48 </div> 49 <span class="vjs-upnext-bottom"> 50 <span class="vjs-upnext-cancel"> 51 <button class="vjs-upnext-cancel-button" tabindex="0" aria-label="Cancel autoplay">${s.cancelText}</button> 52 </span> 53 <span class="vjs-upnext-suspended">${s.suspendedText}</span> 54 </span> 55 `;}var q1=Dl.default.getComponent("Component"),Po=class extends q1{constructor(e,t){super(e,t),this.dashOffsetTotal=586,this.dashOffsetStart=293,this.interval=50,this.upNextEvents=new Dl.default.EventTarget(),this.ticks=0,this.totalTicks=this.options_.timeout/this.interval,this.onEndedHandler=()=>{this.options_.isDisplayed()&&(e.addClass("vjs-upnext--showing"),this.showCard(i=>{e.removeClass("vjs-upnext--showing"),this.container.style.display="none",i||this.options_.next();}));},this.onPlayingHandler=()=>{this.upNextEvents.trigger("playing");},e.on(["auto-stopped","ended"],this.onEndedHandler),e.on("playing",this.onPlayingHandler);}dispose(){this.onEndedHandler&&this.player().off(["auto-stopped","ended"],this.onEndedHandler),this.onPlayingHandler&&this.player().off("playing",this.onPlayingHandler),this.timeout&&clearTimeout(this.timeout),super.dispose();}createEl(){let e=super.createEl("div",{className:"vjs-upnext-content",innerHTML:z1(this.options_)});return this.container=e,e.style.display="none",this.autoplayRing=e.getElementsByClassName("vjs-upnext-svg-autoplay-ring")[0],this.title=e.getElementsByClassName("vjs-upnext-title")[0],this.cancelButton=e.getElementsByClassName("vjs-upnext-cancel-button")[0],this.suspendedMessage=e.getElementsByClassName("vjs-upnext-suspended")[0],this.nextButton=e.getElementsByClassName("vjs-upnext-autoplay-icon")[0],this.cancelButton.onclick=()=>{this.upNextEvents.trigger("cancel");},this.nextButton.onclick=()=>{this.upNextEvents.trigger("next");},e;}showCard(e){if(this.autoplayRing.setAttribute("stroke-dasharray",`${this.dashOffsetStart}`),this.autoplayRing.setAttribute("stroke-dashoffset",`${-this.dashOffsetStart}`),this.title.innerText=this.options_.getTitle(),this.totalTicks===0)return e(!1);this.upNextEvents.one("cancel",()=>{clearTimeout(this.timeout),this.timeout=void 0,e(!0);}),this.upNextEvents.one("playing",()=>{clearTimeout(this.timeout),this.timeout=void 0,e(!0);}),this.upNextEvents.one("next",()=>{clearTimeout(this.timeout),this.timeout=void 0,e(!1);});let t=r=>{let o=Math.max(-this.dashOffsetTotal,-this.dashOffsetStart-r*this.dashOffsetTotal/2/100);this.autoplayRing.setAttribute("stroke-dashoffset",""+o);},i=()=>{t(this.ticks++*100/this.totalTicks);},n=()=>{this.options_.isSuspended()?(this.suspendedMessage.innerText=this.options_.suspendedText,t(0),this.ticks=0,this.timeout=setTimeout(n.bind(this),300)):this.ticks>=this.totalTicks?(clearTimeout(this.timeout),this.timeout=void 0,e(!1)):(this.suspendedMessage.innerText="",i(),this.timeout=setTimeout(n.bind(this),this.interval));};this.container.style.display="block",this.timeout=setTimeout(n.bind(this),this.interval);}};Dl.default.registerComponent("EndCard",Po);var Ic=Ve(Ye());var K1=Ic.default.getPlugin("plugin"),Ac=class extends K1{constructor(e,t){super(e);let i={next:t.next,getTitle:t.getTitle,timeout:t.timeout,cancelText:e.localize("Cancel"),headText:e.localize("Up Next"),suspendedText:e.localize("Autoplay is suspended"),isDisplayed:t.isDisplayed,isSuspended:t.isSuspended};this.player.ready(()=>{e.addClass("vjs-upnext");});let n=new Po(e,i);e.addChild(n),this.on("dispose",()=>e.removeChild(n));}}
55;Ic.default.registerPlugin("upnext",Ac);var In=Ve(Ye());function Nl(s){return s.charAt(0).toUpperCase()+s.slice(1);}var Rc=[{max:1024,type:"B",decimals:0},{max:1048576,type:"KB",decimals:0},{max:1073741824,type:"MB",decimals:0},{max:10995116e5,type:"GB",decimals:1}];function hi(s){let e=Rc.find(i=>s<i.max)||Rc[Rc.length-1];return[(s/(e.max/1024)).toFixed(e.decimals),e.type];}function w_(){return{iceServers:[{urls:"stun:stun.stunprotocol.org"},{urls:"stun:stun.framasoft.org"}]};}function jl(s,e){return new URL(s).origin===new URL(e).origin;}var Y1=In.default.getComponent("Component"),ko=class extends Y1{constructor(e,t){super(e,t),this.metadataStore={},this.intervalMs=300,this.playerNetworkInfo={};}createEl(){this.containerEl=In.default.dom.createEl("div",{className:"vjs-stats-content"}),this.containerEl.style.display="none",this.infoListEl=In.default.dom.createEl("div",{className:"vjs-stats-list"});let e=In.default.dom.createEl("button",{className:"vjs-stats-close",tabindex:"0",title:"Close stats",innerText:"[x]"},{"aria-label":"Close stats"});return e.onclick=()=>this.hide(),this.containerEl.appendChild(e),this.containerEl.appendChild(this.infoListEl),this.populateInfoBlocks(),this.onNetworkInfoHandler=(t,i)=>{this.mode=i.source;let n=i.p2p,r=i.http;this.playerNetworkInfo.downloadSpeed=hi(((n==null?void 0:n.downloadSpeed)||0)+(r.downloadSpeed||0)).join(" "),this.playerNetworkInfo.uploadSpeed=hi((n==null?void 0:n.uploadSpeed)||0).join(" "),this.playerNetworkInfo.totalDownloaded=hi(((n==null?void 0:n.downloaded)||0)+r.downloaded).join(" "),this.playerNetworkInfo.totalUploaded=hi((n==null?void 0:n.uploaded)||0).join(" "),this.playerNetworkInfo.numPeers=n==null?void 0:n.peersWithWebSeed,i.source==="p2p-media-loader"&&(this.playerNetworkInfo.averageBandwidth=hi(i.bandwidthEstimate).join(" ")+"/s",this.playerNetworkInfo.downloadedFromServer=hi(r.downloaded).join(" "),this.playerNetworkInfo.downloadedFromPeers=hi((n==null?void 0:n.downloaded)||0).join(" "));},this.player().on("network-info",this.onNetworkInfoHandler),this.containerEl;}dispose(){this.updateInterval&&clearInterval(this.updateInterval),this.player().off("network-info",this.onNetworkInfoHandler),super.dispose();}toggle(){this.updateInterval?this.hide():this.show();}show(){this.containerEl.style.display="block",this.updateInterval=setInterval(()=>Ie(this,null,function*(){try{let e=this.mode==="p2p-media-loader"?this.buildHLSOptions():yield this.buildWebVideoOptions();this.populateInfoValues(e);}catch(e){Ne.error("Cannot update stats.",e),clearInterval(this.updateInterval);}}),this.intervalMs);}hide(){clearInterval(this.updateInterval),this.containerEl.style.display="none";}buildHLSOptions(){let e=this.player_.p2pMediaLoader(),t=e.getCurrentLevel(),i=t!=null&&t.videoCodec||t!=null&&t.audioCodec?`${(t==null?void 0:t.videoCodec)||""} / ${(t==null?void 0:t.audioCodec)||""}`:void 0,n=t!=null&&t.height?`${t.height}p${(t==null?void 0:t.attrs["FRAME-RATE"])||""}`:void 0,r=this.timeRangesToString(this.player().buffered()),o,a,l;return this.options_.videoIsLive?(a=Bn(e.getLiveLatency()),l=Bn(e.getLiveLatencyFromEdge())):o=this.player().bufferedPercent(),{playerNetworkInfo:this.playerNetworkInfo,resolution:n,codecs:i,buffer:r,latency:a,latencyFromEdge:l,progress:o};}buildWebVideoOptions(){return Ie(this,null,function*(){var l;let e=this.player_.webVideo().getCurrentVideoFile();this.metadataStore[e.fileUrl]||(this.metadataStore[e.fileUrl]=yield fetch(e.metadataUrl).then(d=>d.json()));let t=this.metadataStore[e.fileUrl],i="unknown",n="unknown";if((l=t==null?void 0:t.streams)!=null&&l[0]){let d=t.streams[0];i=d.color_space!=="unknown"?d.color_space:"bt709",n=d.codec_name||"avc1";}let r=(e==null?void 0:e.resolution.label)+(e==null?void 0:e.fps),o=this.timeRangesToString(this.player_.buffered()),a=this.player_.bufferedPercent();return{playerNetworkInfo:this.playerNetworkInfo,progress:a,colorSpace:i,codecs:n,resolution:r,buffer:o};});}populateInfoBlocks(){this.playerMode=this.buildInfoRow(this.player().localize("Player mode")),this.p2p=this.buildInfoRow(this.player().localize("P2P")),this.uuid=this.buildInfoRow(this.player().localize("Video UUID")),this.viewport=this.buildInfoRow(this.player().localize("Viewport / Frames")),this.resolution=this.buildInfoRow(this.player().localize("Resolution")),this.volume=this.buildInfoRow(this.player().localize("Volume")),this.codecs=this.buildInfoRow(this.player().localize("Codecs")),this.color=this.buildInfoRow(this.player().localize("Color")),this.connection=this.buildInfoRow(this.player().localize("Connection Speed")),this.network=this.buildInfoRow(this.player().localize("Network Activity")),this.transferred=this.buildInfoRow(this.player().localize("Total Transfered")),this.download=this.buildInfoRow(this.player().localize("Download Breakdown")),this.bufferProgress=this.buildInfoRow(this.player().localize("Buffer Progress")),this.bufferState=this.buildInfoRow(this.player().localize("Buffer State")),this.liveLatency=this.buildInfoRow(this.player().localize("Live Latency")),this.infoListEl.appendChild(this.playerMode.root),this.infoListEl.appendChild(this.p2p.root),this.infoListEl.appendChild(this.uuid.root),this.infoListEl.appendChild(this.viewport.root),this.infoListEl.appendChild(this.resolution.root),this.infoListEl.appendChild(this.volume.root),this.infoListEl.appendChild(this.codecs.root),this.infoListEl.appendChild(this.color.root),this.infoListEl.appendChild(this.connection.root),this.infoListEl.appendChild(this.network.root),this.infoListEl.appendChild(this.transferred.root),this.infoListEl.appendChild(this.download.root),this.infoListEl.appendChild(this.bufferProgress.root),this.infoListEl.appendChild(this.bufferState.root),this.infoListEl.appendChild(this.liveLatency.root);}populateInfoValues(e){let{playerNetworkInfo:t,progress:i,colorSpace:n,co
55decs:r,resolution:o,buffer:a,latency:l,latencyFromEdge:d}=e,{downloadedFromServer:u,downloadedFromPeers:c}=t,h=this.player(),f=h.getVideoPlaybackQuality(),p=Math.max(document.documentElement.clientWidth||0,window.innerWidth||0),g=Math.max(document.documentElement.clientHeight||0,window.innerHeight||0),m=(window.devicePixelRatio||1).toFixed(2),b=`${p}x${g}*${m}`,{droppedVideoFrames:T,totalVideoFrames:S}=f,P=h.localize("{1} / {2} dropped of {3}",[b,T+"",S+""]),R=h.duration(),C=`${Math.round(h.volume()*100)}`;h.muted()&&(C+=h.localize(" (muted)"));let A=t.downloadSpeed?`${t.downloadSpeed} \u21D3 / ${t.uploadSpeed} \u21D1`:void 0,O=t.totalDownloaded?`${t.totalDownloaded} \u21D3`:"";t.totalUploaded&&(O+=`/ ${t.totalUploaded} \u21D1`);let U=t.downloadedFromServer?h.localize("{1} from servers \xB7 {2} from peers",[u,c]):void 0,j=i!==void 0?`${(i*100).toFixed(1)}% (${(i*R).toFixed(1)}s)`:void 0,K=this.options_.p2pEnabled&&this.mode==="p2p-media-loader";this.setInfoValue(this.playerMode,this.mode),this.setInfoValue(this.p2p,h.localize(K?"enabled":"disabled")),this.setInfoValue(this.uuid,this.options_.videoUUID),this.setInfoValue(this.viewport,P),this.setInfoValue(this.resolution,o),this.setInfoValue(this.volume,C),this.setInfoValue(this.codecs,r),this.setInfoValue(this.color,n),this.setInfoValue(this.transferred,O),this.setInfoValue(this.connection,t.averageBandwidth),this.setInfoValue(this.network,A),this.setInfoValue(this.download,U),this.setInfoValue(this.bufferProgress,j),this.setInfoValue(this.bufferState,a),l&&d&&this.setInfoValue(this.liveLatency,h.localize("{1} (from edge: {2})",[l,d]));}setInfoValue(e,t){if(!t){e.root.style.display="none";return;}e.root.style.display="block",e.value.innerText!==t&&(e.value.innerText=t);}buildInfoRow(e){let t=In.default.dom.createEl("div");t.style.display="none";let i=In.default.dom.createEl("div",{innerText:e}),n=In.default.dom.createEl("span");return t.appendChild(i),t.appendChild(n),{root:t,value:n};}timeRangesToString(e){let t="";for(let i=0;i<e.length;i++){let n=Math.floor(e.start(i)),r=Math.floor(e.end(i));t+=`[${Bn(n)}, ${Bn(r)}] `;}return t;}};In.default.registerComponent("StatsCard",ko);var kc=Ve(Ye());var X1=kc.default.getPlugin("plugin"),Pc=class extends X1{constructor(e,t){super(e),this.player.ready(()=>{e.addClass("vjs-stats-for-nerds");}),this.statsCard=new ko(e,t),e.addChild(this.statsCard);}dispose(){this.statsCard&&(this.statsCard.dispose(),this.player.removeChild(this.statsCard)),super.dispose();}show(){this.statsCard.show();}};kc.default.registerPlugin("stats",Pc);var Mc=Ve(Ye());var Oc=Ve(Ye());function x_(){return /iPad|iPhone|iPod/.test(navigator.platform)?!0:!!(navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&navigator.platform.includes("MacIntel"));}function A_(){return /^((?!chrome|android).)*safari/i.test(navigator.userAgent);}function ps(){return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);}function Q1(){return` 56 <div class="vjs-bezels-pause"> 57 <div class="vjs-bezel" role="status" aria-label="Pause"> 58 <div class="vjs-bezel-icon"> 59 <svg height="100%" version="1.1" viewBox="0 0 36 36" width="100%"> 60 <use class="vjs-svg-shadow" xlink:href="#vjs-id-1"></use> 61 <path class="vjs-svg-fill" d="M 12,26 16,26 16,10 12,10 z M 21,26 25,26 25,10 21,10 z" id="vjs-id-1"></path> 62 </svg> 63 </div> 64 </div> 65 </div> 66 `;}function J1(){return` 67 <div class="vjs-bezels-play"> 68 <div class="vjs-bezel" role="status" aria-label="Play"> 69 <div class="vjs-bezel-icon"> 70 <svg height="100%" version="1.1" viewBox="0 0 36 36" width="100%"> 71 <use class="vjs-svg-shadow" xlink:href="#vjs-id-2"></use> 72 <path class="vjs-svg-fill" d="M 12,26 18.5,22 18.5,14 12,10 z M 18.5,22 25,18 25,18 18.5,14 z" id="ytp-id-2"></path> 73 </svg> 74 </div> 75 </div> 76 </div> 77 `;}var Z1=Oc.default.getComponent("Component"),Oo=class extends Z1{constructor(e,t){super(e,t),!ps()&&(this.firstPlayDone=!1,this.paused=!1,this.playerPauseHandler=()=>{e.seeking()||(this.paused=!0,!e.ended()&&(this.container.innerHTML=Q1(),this.showBezel()));},this.playerPlayHandler=()=>{if(e.seeking()||!this.firstPlayDone||!this.paused){this.firstPlayDone=!0;return;}this.paused=!1,this.firstPlayDone=!0,this.container.innerHTML=J1(),this.showBezel();},this.videoChangeHandler=()=>{this.firstPlayDone=!1;},e.on("video-change",()=>this.videoChangeHandler),e.on("pause",this.playerPauseHandler),e.on("play",this.playerPlayHandler));}dispose(){this.playerPauseHandler&&this.player().off("pause",this.playerPauseHandler),this.playerPlayHandler&&this.player().off("play",this.playerPlayHandler),this.videoChangeHandler&&this.player().off("video-change",this.videoChangeHandler),super.dispose();}createEl(){return this.container=super.createEl("div",{className:"vjs-bezels-content"}),this.container.style.display="none",this.container;}showBezel(){this.container.style.display="inherit",setTimeout(()=>{this.container.style.display="none";},500);}};Oc.default.registerComponent("PauseBezel",Oo);var eA=Mc.default.getPlugin("plugin"),Lc=class extends eA{constructor(e,t){super(e),this.player.ready(()=>{e.addClass("vjs-bezels");});let i=new Oo(e,t);e.addChild(i),this.on("dispose",()=>e.removeChild(i));}};Mc.default.registerPlugin("bezels",Lc);var U_=Ve(hn()),Ul=Ve(Ye());function I_(){let s=gr("volume");if(s!=null){let e=parseFloat(s);return isNaN(e)?void 0:e;}}function R_(){let s=gr("mute");if(s!=null)return s==="true";}
77function Fl(){let s=gr("theater-enabled");return s!=null?s==="true":!1;}function P_(s){return qn("volume",s.toString());}function k_(s){return qn("mute",s.toString());}function O_(s){return qn("theater-enabled",s.toString());}function L_(s){return qn("average-bandwidth",s.toString());}function M_(){let s=gr("average-bandwidth");if(s!=null){let e=parseInt(s,10);return isNaN(e)?void 0:e;}}function Dc(s){return qn("last-subtitle",s);}function D_(){return gr("last-subtitle");}function N_(s){return qn("preferred-subtitle",s);}function j_(){return gr("preferred-subtitle");}function F_(s,e){return qn("video-watch-history",JSON.stringify(Le(we({},Vl()),{[s]:{duration:e,date:`${new Date().toISOString()}`}})));}function Vl(s){let e;try{let t=gr("video-watch-history");if(!t)return{};e=JSON.parse(t);}catch(t){Ne.error("Cannot parse video watch history from local storage/",t);}return e=e||{},s?e[s]:e;}function V_(){let s=Vl();if(!s)return;let e=Object.keys(s).reduce((t,i)=>{let n=Date.parse(s[i].date);return Math.ceil((new Date().getTime()-n)/(1e3*3600*24))>30?t:Le(we({},t),{[i]:s[i]});},{});qn("video-watch-history",JSON.stringify(e));}function B_(){let s="session-id",e=tA(s);return e||(e=km(32),iA(s,e),e);}var Bl="peertube-videojs-";function gr(s){return Hn.getItem(Bl+s);}function qn(s,e){Hn.setItem(Bl+s,e);}function tA(s){return Js.getItem(Bl+s);}function iA(s,e){Js.setItem(Bl+s,e);}var ai=(0,U_.default)("peertube:player:peertube"),nA=Ul.default.getPlugin("plugin"),Nc=class extends nA{constructor(t,i){super(t);this.options=i;this.menuOpened=!1,this.mouseInControlBar=!1,this.mouseInSettings=!1,this.hasInitialSeek=!1,this.videoViewUrl=i.videoViewUrl,this.authorizationHeader=i.authorizationHeader,this.hasAutoplay=i.hasAutoplay,this.initialInactivityTimeout=this.player.options_.inactivityTimeout,this.currentSubtitle=this.options.subtitle()||D_(),this.initializePlayer(),this.initOnVideoChange(),this.player.removeClass("vjs-can-play"),this.deleteLegacyIndexedDB(),this.player.on("autoplay-failure",()=>{ai("Autoplay failed"),this.player.removeClass("vjs-has-autoplay"),this.player.poster(i.poster()
77),(x_()||A_())&&this.player.hasStarted(!1);}),this.player.on("ratechange",()=>{this.currentPlaybackRate=this.player.playbackRate(),this.player.defaultPlaybackRate(this.currentPlaybackRate);}),this.player.one("canplay",()=>{let n=this.player.options_,r=I_();r!==void 0&&this.player.volume(r);let o=n.muted!==void 0?n.muted:R_();o!==void 0&&this.player.muted(o),this.player.addClass("vjs-can-play");}),this.player.ready(()=>{this.player.on("volumechange",()=>{P_(this.player.volume()),k_(this.player.muted());}),this.player.textTracks().addEventListener("change",()=>{let n=this.player.textTracks().tracks_.find(r=>r.kind==="captions"&&r.mode==="showing");if(!n){Dc("off"),this.currentSubtitle=void 0;return;}this.currentSubtitle!==n.language&&(this.currentSubtitle=n.language,Dc(n.language),N_(n.language));}),this.player.on("video-change",()=>{this.initOnVideoChange(),this.hideFatalError();}),this.updatePlayerSizeClasses(),typeof ResizeObserver<"u"&&(this.resizeObserver=new ResizeObserver(()=>{this.updatePlayerSizeClasses();}),this.resizeObserver.observe(this.player.el()));}),this.player.on("resolution-change",(n,{resolution:r})=>{if(this.player.paused()){this.player.on("play",()=>this.adaptPosterForAudioOnly(r));return;}this.adaptPosterForAudioOnly(r);}),this.initOnRatioChange();}dispose(){this.videoViewInterval&&clearInterval(this.videoViewInterval),this.resizeObserver&&this.resizeObserver.disconnect(),super.dispose();}onMenuOpened(){this.menuOpened=!0,this.alterInactivity();}onMenuClosed(){this.menuOpened=!1,this.alterInactivity();}displayFatalError(){if(this.errorModal)return;ai("Display fatal error"),this.player.loadingSpinner.hide();let t=i=>{let n=this.player.localize.bind(this.player),r=document.createElement("div"),o=document.createElement("h1");o.innerText=n("Failed to play video"),r.appendChild(o);let a=document.createElement("div");a.innerText=n("The video failed to play due to technical issues."),r.appendChild(a);let l=document.createElement("p");return l.classList.add("error-details"),l.innerText=i.message,r.appendChild(l),r;};this.errorModal=this.player.createModal(t(this.player.error()),{temporary:!0,uncloseable:!0}),this.errorModal.addClass("vjs-custom-error-display"),this.player.addClass("vjs-error-display-enabled"),/googlebot/i.test(navigator.userAgent)?console.error(this.player.error()):Ne.error("Fatal error in player",this.player.error());}hideFatalError(){this.errorModal&&(ai("Hiding fatal error"),this.player.removeClass("vjs-error-display-enabled"),this.player.removeChild(this.errorModal),this.errorModal.close(),this.errorModal=void 0,this.player.loadingSpinner&&this.player.loadingSpinner.show());}initializePlayer(){ps()&&this.player.addClass("vjs-is-mobile"),this.initSmoothProgressBar(),this.player.ready(()=>{this.listenControlBarMouse();}),this.listenFullScreenChange();}initOnVideoChange(){this.hasAutoplay()!==!1?this.player.addClass("vjs-has-autoplay"):this.player.removeClass("vjs-has-autoplay"),this.currentPlaybackRate&&this.currentPlaybackRate!==1&&(ai("Setting playback rate to "+this.currentPlaybackRate),this.player.playbackRate(this.currentPlaybackRate)),this.player.ready(()=>{this.initCaptions(),this.updateControlBar();}),this.handleStartStopTime(),this.runUserViewing();}initOnRatioChange(){if(!this.options.autoPlayerRatio)return;let t=getComputedStyle(this.player.el()).getPropertyValue(this.options.autoPlayerRatio.cssRatioVariable),i=()=>{this.options.videoRatio()&&(this.adaptPlayerFromRatio({ratio:this.options.videoRatio(),defaultRatio:t}),this.updatePlayerSizeClasses());};i(),this.player.on("video-change",()=>i()),this.player.on("video-ratio-changed",(n,r)=>{this.options.videoRatio()||(this.adaptPlayerFromRatio({ratio:r.ratio,defaultRatio:t}),this.updatePlayerSizeClasses());});}adaptPlayerFromRatio(t){let{ratio:i,defaultRatio:n}=t,r=this.player.el(),o=getComputedStyle(r).getPropertyValue(this.options.autoPlayerRatio.cssPlayerPortraitModeVariable)==="1",a=isNaN(i)||!o&&i<1?n:i;r.style.setProperty("--player-ratio",a+"");}runUserViewing(){let t=Vn(this.options.startTime()),i=t,n,r=!1;this.disableUserViewing(),this.videoViewOnPlayHandler=()=>{ai("Notify user is watching on play: "+t),this.notifyUserIsWatching(t,n);},this.videoViewOnSeekedHandler=()=>{if(this.hasInitialSeek){this.hasInitialSeek=!1;return;}let o=Math.floor(this.player.currentTime());if(o===0&&this.player.loop()){ai("Disabling viewing notification after first video loop."),this.disableUserViewing();return;}let a=o-i;a>0&&a<3||(ai("Detected seek event for user watching"),n="seek");},this.videoViewOnEndedHandler=()=>{if(r=!0,this.options.isLive())return;let o=Math.floor(this.player.duration());i=o,ai("Notify user is watching on end: "+o),this.notifyUserIsWatching(o,n),n=void 0;},this.player.one("play",this.videoViewOnPlayHandler),this.player.on("seeked",this.videoViewOnSeekedHandler),this.player.one("ended",this.videoViewOnEndedHandler),this.videoViewInterval=setInterval(()=>{if(r)return;let o=Math.floor(this.player.currentTime());o!==i&&(ai("Notify user is watching: "+o),i=o,this.notifyUserIsWatching(o,n).catch(a=>Ne.error("Cannot notify user is watching.",a)),n=void 0);},this.options.videoViewIntervalMs);}disableUserViewing(){this.videoViewInterval&&(clearInterval(this.videoViewInterval),this.videoViewInterval=void 0),this.videoViewOnPlayHandler&&(this.player.off("play",this.videoViewOnPlayHandler),this.videoViewOnPlayHandler=void 0),this.videoViewOnSeekedHandler&&(this.player.off("seeked",this.videoViewOnSeekedHandler),this.videoViewOnSeekedHandler=void 0),this.videoViewOnEndedHandler&&(this.player.off("ended",this.videoViewOnEndedHandler),this.videoViewOnEndedHandler=void 0);}notifyUserIsWatching(t,i){if(this.authorizationHeader()||F_(this.options.videoUUID(),t),!this.videoViewUrl())return Promise.resolve(!0);let n=B_(),r={currentTime:t,viewEvent:i,sessionId:n},o=new Headers({"Content-type":"application/json; charset=UTF-8"});return this.authorizationHeader()&&o.set("Authorization",this.authorizationHeader()),fetch(this.videoViewUrl(),{method:"POST",body:JSON.stringify(r),headers:o});}adaptPosterForAudioOnly(t){if(ai("Check if we need to adapt player for audio only",t),t===0){this.player.audioPosterMode(!0),this.player.poster(this.options.poster()
77);return;}this.player.audioPosterMode(!1),this.player.poster("");}updatePlayerSizeClasses(){requestAnimationFrame(()=>{if(!this.player)return;ai("Updating player size classes");let t=this.player.currentWidth(),i=[350,570,750];for(let n of i)t<=n?this.player.addClass("vjs-size-"+n):this.player.removeClass("vjs-size-"+n);});}listenFullScreenChange(){this.player.on("fullscreenchange",()=>{this.player.isFullscreen()&&this.player.focus();});}listenControlBarMouse(){let t=this.player.controlBar,i=t.settingsButton;t.on("mouseenter",()=>{this.mouseInControlBar=!0,this.alterInactivity();}),t.on("mouseleave",()=>{this.mouseInControlBar=!1,this.alterInactivity();}),i.dialog.on("mouseenter",()=>{this.mouseInSettings=!0,this.alterInactivity();}),i.dialog.on("mouseleave",()=>{this.mouseInSettings=!1,this.alterInactivity();});}alterInactivity(){if(this.menuOpened||this.mouseInSettings||this.mouseInControlBar){this.setInactivityTimeout(0);return;}this.setInactivityTimeout(this.initialInactivityTimeout),this.player.reportUserActivity(!0);}setInactivityTimeout(t){this.player.cache_.inactivityTimeout=t,this.player.options_.inactivityTimeout=t;}initCaptions(){this.currentSubtitle?ai("Init captions with current subtitle "+this.currentSubtitle):ai("Init captions without current subtitle"),this.player.tech(!0).clearTracks("text"),this.player.removeClass("vjs-has-captions");for(let t of this.options.videoCaptions())this.player.addRemoteTextTrack({kind:"captions",label:t.automaticallyGenerated?this.player.localize("{1} (auto-generated)",[t.label]):t.label,language:t.language,id:t.language,src:t.src,default:this.currentSubtitle===t.language},!0),this.player.addClass("vjs-has-captions");this.player.trigger("captions-changed");}updateControlBar(){ai("Updating control bar"),this.options.isLive()?(this.getPlaybackRateButton().hide(),this.player.controlBar.getChild("progressControl").hide(),this.player.controlBar.getChild("currentTimeDisplay").hide(),this.player.controlBar.getChild("timeDivider").hide(),this.player.controlBar.getChild("durationDisplay").hide(),this.player.controlBar.getChild("peerTubeLiveDisplay").show()):(this.getPlaybackRateButton().show(),this.player.controlBar.getChild("progressControl").show(),this.player.controlBar.getChild("currentTimeDisplay").show(),this.player.controlBar.getChild("timeDivider").show(),this.player.controlBar.getChild("durationDisplay").show(),this.player.controlBar.getChild("peerTubeLiveDisplay").hide()),this.options.videoCaptions().length===0?this.getCaptionsButton().hide():this.getCaptionsButton().show();}handleStartStopTime(){this.player.duration(this.options.videoDuration()),this.stopTimeHandler&&(this.player.off("timeupdate",this.stopTimeHandler),this.stopTimeHandler=void 0),this.player.one("canplaythrough",()=>{let t=this.options.startTime();if(t!=null&&(ai("Start the video at "+t),this.hasInitialSeek=!0,this.player.currentTime(Vn(t))),this.options.stopTime()){let i=Vn(this.options.stopTime());this.stopTimeHandler=()=>{this.player.currentTime()<=i||(ai("Stopping the video at "+this.options.stopTime()),this.player.pause(),this.player.trigger("auto-stopped"),this.player.off("timeupdate",this.stopTimeHandler),this.stopTimeHandler=void 0);},this.player.on("timeupdate",this.stopTimeHandler);}});}initSmoothProgressBar(){let t=Ul.default.getComponent("SeekBar");t.prototype.getPercent=function(){let r=this.player_.currentTime()/this.player_.duration();return r>=1?1:r;},t.prototype.handleMouseMove=function(n){let r=this.calculateDistance(n)*this.player_.duration();r===this.player_.duration()&&(r=r-.1),this.player_.currentTime(r),this.update();};}getCaptionsButton(){return this.player.controlBar.getDescendant(["settingsButton"]).menu.getChild("captionsButton");}getPlaybackRateButton(){return this.player.controlBar.getDescendant(["settingsButton"]).menu.getChild("playbackRateMenuButton");}deleteLegacyIndexedDB(){try{if(typeof window.indexedDB>"u"||!window.indexedDB||typeof window.indexedDB.databases!="function")return;window.indexedDB.databases().then(t=>{for(let i of t)window.indexedDB.deleteDatabase(i.name);});}catch(t){ai("Cannot delete legacy indexed DB",t);}}};Ul.default.registerPlugin("peertube",Nc);var Fc=Ve(Ye()),rA=Fc.default.getPlugin("plugin"),jc=class extends rA{constructor(e){super(e),this.resolutions=[],e.on("video-change",()=>{this.resolutions=[],this.trigger("resolutions-removed");});}add(e){for(let t of e)this.resolutions.push(t);this.currentSelection=this.getSelected(),this.sort(),this.trigger("resolutions-added");}remove(e){this.resolutions=this.resolutions.filter(t=>t.id!==e),this.trigger("resolutions-removed");}getResolutions(){return this.resolutions;}getSelected(){return this.resolutions.find(e=>e.selected);}getAutoResolutionChosen(){return this.resolutions.find(e=>e.id===this.autoResolutionChosenId);}select(e){var r;let{id:t,autoResolutionChosenId:i,fireCallback:n}=e;if(!(((r=this.currentSelection)==null?void 0:r.id)===t&&this.autoResolutionChosenId===i)){i!==void 0&&(this.autoResolutionChosenId=i);for(let o of this.resolutions)o.selected=o.id===t,o.selected&&(this.currentSelection=o,n&&o.selectCallback());this.trigger("resolutions-changed");}}sort(){this.resolutions.sort((e,t)=>
77e.id===-1?1:t.id===-1||e.height>t.height?-1:e.height===t.height?0:1);}};Fc.default.registerPlugin("peertubeResolutions",jc);var Bc=Ve(Ye());var sA=Bc.default.getComponent("Button"),Vc=class extends sA{constructor(e,t){super(e,t),e.on("texttrackchange",()=>this.update());}buildCSSClass(){return`vjs-caption-toggle-control vjs-captions-button ${super.buildCSSClass()}`;}handleClick(e){var i;super.handleClick(e);let t=this.getShowing()||(i=this.getCaptionToEnable())==null?void 0:i.id;for(let n of this.player_.textTracks().tracks_)t&&n.id===t?n.mode="showing":n.mode="disabled";}update(){var e;if(this.getShowing()){this.controlText("Disable subtitles"),this.addClass("enabled");return;}this.controlText(this.player_.localize("Enable {1} subtitle",[(e=this.getCaptionToEnable())==null?void 0:e.label])),this.removeClass("enabled");}getShowing(){return this.listCaptions().find(e=>e.mode==="showing");}getCaptionToEnable(){var i;let e=j_()||((i=this.listCaptions()[0])==null?void 0:i.id),t=this.listCaptions();return t.find(n=>n.id===e)||t[0];}listCaptions(){return this.player_.textTracks().tracks_.filter(e=>e.kind==="captions");}};Bc.default.registerComponent("CaptionToggleButton",Vc);var Kn=Ve(Ye()),oA=Kn.default.getPlugin("plugin"),Uc=class extends oA{constructor(e,t){super(e,t),this.url=t.url,this.height=t.height,this.width=t.width,this.interval=t.interval,this.sprites={},this.boundedHijackMouseTooltip=this.hijackMouseTooltip.bind(this),this.init(),this.player.ready(()=>{e.addClass("vjs-storyboard");});}init(){var t,i,n,r,o;let e=this.player.controlBar;this.progress=e==null?void 0:e.progressControl,this.seekBar=(t=this.progress)==null?void 0:t.seekBar,this.mouseTimeTooltip=(n=(i=this.seekBar)==null?void 0:i.mouseTimeDisplay)==null?void 0:n.timeTooltip,this.spritePlaceholder=Kn.default.dom.createEl("div",{className:"vjs-storyboard-sprite-placeholder"}),(o=(r=this.seekBar)==null?void 0:r.el())==null||o.appendChild(this.spritePlaceholder),this.onReadyOrLoadstartHandler=a=>{if(a.type!=="ready"){let l=this.player.currentSources().find(u=>Object.prototype.hasOwnProperty.call(u,"storyboard")),d=l==null?void 0:l.storyboard;d&&(this.url=d.url,this.height=d.height,this.width=d.width,this.interval=d.interval);}this.cached=!!this.sprites[this.url],this.load();},this.player.on(["ready","loadstart"],this.onReadyOrLoadstartHandler);}dispose(){var e,t;this.onReadyOrLoadstartHandler&&this.player.off(["ready","loadstart"],this.onReadyOrLoadstartHandler),this.progress&&this.progress.off(["mousemove","touchmove"],this.boundedHijackMouseTooltip),(t=(e=this.seekBar)==null?void 0:e.el())==null||t.removeChild(this.spritePlaceholder),super.dispose();}load(){let e=["mousemove","touchmove"];this.isReady()?(this.cached||(this.sprites[this.url]=Kn.default.dom.createEl("img",{src:this.url})),this.progress.on(e,this.boundedHijackMouseTooltip)):(this.progress.off(e,this.boundedHijackMouseTooltip),this.resetMouseTooltip());}hijackMouseTooltip(e){let t=this.sprites[this.url],i=t.naturalWidth,n=t.naturalHeight,r=this.seekBar.el();if(!t.complete||!i||!n){this.resetMouseTooltip();return;}this.player.requestNamedAnimationFrame("StoryBoardPlugin#hijackMouseTooltip",()=>{let o=Kn.default.dom.getBoundingClientRect(r),a=Kn.default.dom.getBoundingClientRect(this.player.el());if(!o||!a)return;let l=Kn.default.dom.getPointerPosition(r,e).x,d=l*this.player.duration(),u=Math.round(n/this.height*(i/this.width))-1;d=Math.min(d/this.interval,u);let c=600,h=this.player.currentWidth(),f=c&&h<c?h/c:1,p=i/this.width,g=this.width*f,m=this.height*f,b=Math.floor(d%p)*-g,T=Math.floor(d/p)*-m,S=`${i*f}px ${n*f}px`,P=this.player.el().querySelector(".vjs-time-tooltip"),R=-m+parseInt(getComputedStyle(P).top.replace("px",""))-20,C=Math.round(g/2),A=o.width*l-C,O=a.left-o.left,U=o.width-g+(a.right-o.right);A<O&&(A=O),A>U&&(A=U);let j={"background-image":`url("${this.url}")`,"background-repeat":"no-repeat","background-position":`${b}px ${T}px`,"background-size":S,color:"#fff","text-shadow":"1px 1px #000",position:"relative",top:`${R}px`,border:"1px solid #000",width:`${g+2}px`,height:`${m+2}px`};j.left=`${A}px`;for(let[K,Y]of Object.entries(j))this.spritePlaceholder.style.setProperty(K,Y);});}resetMouseTooltip(){this.spritePlaceholder&&(this.spritePlaceholder.style.cssText="");}isReady(){return this.mouseTimeTooltip&&this.width&&this.height&&this.url;}};Kn.default.registerPlugin("storyboard",Uc);var $c=Ve(Ye());var Hl=Ve(Ye()),aA=Hl.default.getComponent("Component"),Lo=class extends aA{constructor(e,t){super(e,t);let i=()=>
77{if(!this.hasValidDuration())return;let n=this.el();n.style.setProperty("left",this.buildLeftStyle()),n.style.setProperty("display","inline");};this.player().on("durationchange",i),this.one("dispose",()=>this.player().off("durationchange",i));}createEl(){return Hl.default.dom.createEl("span",{className:"vjs-chapter-marker",style:this.hasValidDuration()?`left: ${this.buildLeftStyle()}`:"display: none;"});}buildLeftStyle(){return`${this.options_.timecode/this.player().duration()*100}%`;}hasValidDuration(){let e=this.player().duration();return!(isNaN(e)||!e);}};Hl.default.registerComponent("ProgressBarMarkerComponent",Lo);var lA=$c.default.getPlugin("plugin"),Hc=class extends lA{constructor(e,t){super(e,t),this.markers=[],this.chapters=t.chapters,this.player.ready(()=>{e.addClass("vjs-chapters");for(let i of this.chapters){if(i.timecode===0)continue;let n=new Lo(e,{timecode:i.timecode});this.markers.push(n),this.getSeekBar().addChild(n);}});}dispose(){for(let e of this.markers)this.getSeekBar().removeChild(e);super.dispose();}getChapter(e){if(this.chapters.length!==0)for(let t=this.chapters.length-1;t>=0;t--){let i=this.chapters[t];if(i.timecode<=e)return this.player.addClass("has-chapter"),i.title;}return this.player.removeClass("has-chapter"),"";}getSeekBar(){return this.player.getDescendant("ControlBar","ProgressControl","SeekBar");}};$c.default.registerPlugin("chapters",Hc);var Wc=Ve(Ye()),dA=Wc.default.getComponent("TimeTooltip"),Gc=class extends dA{write(e){let t=this.player();if(t.usingPlugin("chapters")){if(e===this.currentTimecode)return;if(this.currentTimecode=e,this.currentChapterTitle=t.chapters().getChapter(Vn(this.currentTimecode)),this.currentChapterTitle)return super.write(this.currentChapterTitle+`\r 78`+this.currentTimecode);}return super.write(e);}};Wc.default.registerComponent("TimeTooltip",Gc);var ms=Ve(Ye()),uA=ms.default.getComponent("Button"),$l=class extends uA{constructor(e,t){super(e,t),this.player().on("video-change",()=>{this.updateDisabled(),this.updateShowing();}),this.updateDisabled(),this.updateShowing();}createEl(){let e=this.options_.type,t=ms.default.dom.createEl("button",{className:"vjs-"+e+"-video"}),i=ms.default.dom.createEl("span",{className:"icon icon-"+e});return t.appendChild(i),e==="next"?t.title=this.player_.localize("Next video"):t.title=this.player_.localize("Previous video"),t;}handleClick(){this.options_.handler();}updateDisabled(){this.options_.isDisabled()?this.addClass("vjs-disabled"):this.removeClass("vjs-disabled");}updateShowing(){this.options_.isDisplayed()?this.show():this.hide();}};ms.default.registerComponent("NextVideoButton",$l);ms.default.registerComponent("PreviousVideoButton",$l);var li=Ve(Ye());var cA=li.default.getComponent("Button"),zc=class extends cA{createEl(){let e=li.default.dom.createEl("div",{className:"vjs-peertube"}),t=li.default.dom.createEl("div",{className:"vjs-peertube-hidden"});e.appendChild(t);let i=li.default.dom.createEl("span",{className:"icon icon-download"});t.appendChild(i);let n=li.default.dom.createEl("span",{className:"download-speed-text"}),r=li.default.dom.createEl("span",{className:"download-speed-number"}),o=li.default.dom.createEl("span");n.appendChild(r),n.appendChild(o),t.appendChild(n);let a=li.default.dom.createEl("span",{className:"icon icon-upload"});t.appendChild(a);let l=li.default.dom.createEl("span",{className:"upload-speed-text"}),d=li.default.dom.createEl("span",{className:"upload-speed-number"}),u=li.default.dom.createEl("span");l.appendChild(d),l.appendChild(u),t.appendChild(l);let c=li.default.dom.createEl("span",{className:"peers-text"}),h=li.default.dom.createEl("span",{className:"peers-number"});t.appendChild(h),t.appendChild(c);let f=li.default.dom.createEl("div",{className:"vjs-peertube-hidden"}),p=li.default.dom.createEl("span",{className:"http-fallback"});return f.appendChild(p),e.appendChild(f),this.player_.on("network-info",(g,m)=>{if(!m.p2p)return;t.className="vjs-peertube-displayed",f.className="vjs-peertube-hidden";let b=m.p2p,T=m.http,S=hi(b.downloadSpeed+T.downloadSpeed),P=hi(b.uploadSpeed),R=hi(b.downloaded+T.downloaded),C=hi(b.uploaded),A=b.peersWithWebSeed;if(t.title=this.player().localize("Total downloaded: ")+R.join(" ")+` 79`,m.source==="p2p-media-loader"){let O=hi(T.downloaded).join(" "),U=hi(b.downloaded).join(" ");t.title+=" * "+this.player().localize("From servers: ")+O+` 80 * `+this.player().localize("From peers: ")+U+` 81`;}t.title+=this.player().localize("Total uploaded: ")+C.join(" "),r.textContent=S[0],o.textContent=" "+S[1],d.textContent=P[0],u.textContent=" "+P[1],h.textContent=A.toString(),c.textContent=" "+(A>1?this.player().localize("peers"):this.player_.localize("peer")),f.className="vjs-peertube-hidden",t.className="vjs-peertube-displayed";}),this.player_.on("network-info",(g,m)=>{m.p2p||(m.source==="web-video"?p.textContent="HTTP":m.source==="p2p-media-loader"&&(p.textContent="HLS"),f.className="vjs-peertube-displayed",t.className="vjs-peertube-hidden",f.title=this.player().localize("Total downloaded: ")+hi(m.http.downloaded).join(" "));}),this.player_.on("video-change",()=>{t.className="vjs-peertube-hidden",f.className="vjs-peertube-hidden";}),e;}};li.default.registerComponent("P2PInfoButton",zc);var Gl=Ve(Ye());var hA=Gl.default.getComponent("Component"),qc=class extends hA{constructor(e,t){super(e,t),this.updateShowing(),this.player().on("video-change",()=>this.updateShowing());}dispose(){this.el()||(this.el().removeEventListener("mouseenter",this.mouseEnterHandler),this.el().removeEventListener("click",this.clickHandler),super.dispose());}createEl(){let e=Gl.default.dom.createEl("a",{href:this.buildLink(),innerText:this.options_.instanceName,title:this.player().localize("Video page (new window)"),className:"vjs-peertube-link",target:"_blank"});return this.mouseEnterHandler=()=>this.updateHref(),this.clickHandler=()=>this.player().pause(),e.addEventListener("mouseenter",this.mouseEnterHandler),e.addEventListener("click",this.clickHandler),e;}updateShowing(){this.options_.isDisplayed()?this.show():this.hide();}updateHref(){this.el().setAttribute("href",this.buildLink());}buildLink(){let e=Qs({shortUUID:this.options_.shortUUID()});return Aa({url:e,startTime:this.player().currentTime()});}}
81;Gl.default.registerComponent("PeerTubeLinkButton",qc);var Yc=Ve(Ye());var fA=Yc.default.getComponent("Button"),gs=class gs extends fA{constructor(e,t){super(e,t),this.theaterButtonOptions=t;let i=Fl();i===!0&&(this.player().addClass(gs.THEATER_MODE_CLASS),this.handleTheaterChange()),this.controlText("Theater mode"),this.player().theaterEnabled=i,this.updateShowing(),this.player().on("video-change",()=>this.updateShowing());}buildCSSClass(){return`vjs-theater-control ${super.buildCSSClass()}`;}handleTheaterChange(){let e=this.isTheaterEnabled();e?this.controlText("Normal mode"):this.controlText("Theater mode"),O_(e),this.player_.trigger("theater-change",e);}handleClick(){this.player_.toggleClass(gs.THEATER_MODE_CLASS),this.handleTheaterChange();}isTheaterEnabled(){return this.player_.hasClass(gs.THEATER_MODE_CLASS);}updateShowing(){this.theaterButtonOptions.isDisplayed()?this.show():this.hide();}};F(gs,"THEATER_MODE_CLASS","vjs-theater-enabled");var Kc=gs;Yc.default.registerComponent("TheaterButton",Kc);var Mo=Ve(Ye()),pA=Mo.default.getComponent("ClickableComponent"),Xc=class extends pA{constructor(e,t){super(e,t),this.interval=this.setInterval(()=>this.updateClass(),1e3),this.updateSync(!0);}dispose(){this.interval&&(this.clearInterval(this.interval),this.interval=void 0),this.contentEl_=null,super.dispose();}createEl(){let e=super.createEl("div",{className:"vjs-pt-live-control vjs-control"});return this.contentEl_=Mo.default.dom.createEl("div",{className:"vjs-live-display"},{"aria-live":"off"}),this.contentEl_.appendChild(Mo.default.dom.createEl("span",{className:"vjs-control-text",textContent:`${this.localize("Stream Type")}\xA0`})),this.contentEl_.appendChild(document.createTextNode(this.localize("LIVE"))),e.appendChild(this.contentEl_),e;}handleClick(){let e=this.getHLSJS();e&&(this.player().currentTime(e.liveSyncPosition),this.player().play(),this.updateSync(!0));}updateClass(){let e=this.getHLSJS();if(!e||this.player().currentTime()===0)return;let t=Math.abs(this.player().currentTime()-e.liveSyncPosition)<10;this.updateSync(t);}updateSync(e){e?(this.addClass("synced-with-live-edge"),this.removeAttribute("title"),this.disable()):(this.removeClass("synced-with-live-edge"),this.setAttribute("title",this.localize("Go back to the live")),this.enable());}getHLSJS(){var e;if((e=this.player())!=null&&e.usingPlugin("p2pMediaLoader"))return this.player().p2pMediaLoader().getHLSJS();}};Mo.default.registerComponent("PeerTubeLiveDisplay",Xc);var Qc=Ve(Ye()),mA=Qc.default.getComponent("Menu"),gA=Qc.default.getComponent("Component"),Do=class extends mA{handleKeyDown(e){if(e.key==="Escape"){e.preventDefault(),e.stopPropagation(),this.trigger("escaped-key");return;}return super.handleKeyDown(e);}stepForward(){let e=0;this.focusedChild_!==void 0&&(e=this.focusedChild_+1),this.focus(e);}stepBack(){let e=0;this.focusedChild_!==void 0&&(e=this.focusedChild_-1),this.focus(e);}focus(e=0){let t=this.children().slice();if(t.length&&t[0].hasClass("vjs-menu-title")&&t.shift(),t.length>0){e<0?e=0:e>=t.length&&(e=t.length-1);let n=t[e].el();if(n.classList.contains("vjs-hidden"))return this.focusedChild_<e?e===t.length-1?void 0:this.focus(e+1):e===0?void 0:this.focus(e-1);this.focusedChild_=e,n.focus();}}};gA.registerComponent("MenuFocusFixed",Do);var jo=Ve(Ye());var Jc=Ve(Ye());var vA=Jc.default.getComponent("MenuItem"),No=class extends vA{constructor(e,t){super(e,Le(we({},t),{selectable:!0})),this.autoResolutionChosen="",this.resolutionId=t.resolutionId,this.label=t.label,this.updateSelectionHandler=()=>this.updateSelection(),e.peertubeResolutions().on("resolutions-changed",this.updateSelectionHandler);}dispose(){this.player().peertubeResolutions().off("resolutions-changed",this.updateSelectionHandler),super.dispose();}handleClick(e){super.handleClick(e),this.player().peertubeResolutions().select({id:this.resolutionId,fireCallback:!0});}updateSelection(){var t;let e=this.player().peertubeResolutions().getSelected();this.resolutionId===-1&&(this.autoResolutionChosen=(t=this.player().peertubeResolutions().getAutoResolutionChosen())==null?void 0:t.label),this.selected(this.resolutionId===e.id);}getLabel(){return this.resolutionId===-1?this.label+" <small>"+this.autoResolutionChosen+"</small>":this.label;}};Jc.default.registerComponent("ResolutionMenuItem",No);var _A=jo.default.getComponent("Menu"),yA=jo.default.getComponent("MenuButton"),Zc=class extends yA{constructor(e,t){super(e,t),this.controlText("Quality"),e.peertubeResolutions().on("resolutions-added",()=>this.update()),e.peertubeResolutions().on("resolutions-removed",()=>this.update()),e.peertubeResolutions().on("resolutions-changed",()=>{setTimeout(()=>this.trigger("label-updated"));});}createEl(){let e=super.createEl();return this.labelEl_=jo.default.dom.createEl("div",{className:"vjs-resolution-value"}),e.appendChild(this.labelEl_),e;}updateARIAAttributes(){this.el().setAttribute("aria-label","Quality");}createMenu(){let e=new _A(this.player_,{menuButton:this}),t=this.player().peertubeResolutions().getResolutions();for(let i of t){let n=i.label==="0p"?this.player().localize("Audio only"):i.label,r=new No(this.player_,{id:i.id+"",resolutionId:i.id,label:n,selected:i.selected});e.addItem(r);}return e;}
81update(){super.update(),this.trigger("resolution-menu-changed");}buildCSSClass(){return"vjs-resolution-button "+super.buildCSSClass();}buildWrapperCSSClass(){return"vjs-resolution-control "+super.buildWrapperCSSClass();}};jo.default.registerComponent("ResolutionMenuButton",Zc);var H_=Ve(Ye()),$_=H_.default.getComponent("Component"),eh=class extends $_{constructor(e){super(e),this.hide();}createEl(){let e=this.id(),t="TTsettingsDialogLabel-"+e,i="TTsettingsDialogDescription-"+e;return super.createEl("div",{className:"vjs-settings-dialog vjs-modal-overlay",tabIndex:-1},{role:"dialog","aria-labelledby":t,"aria-describedby":i});}show(){this.player().addClass("vjs-settings-dialog-opened"),super.show();}hide(){this.player().removeClass("vjs-settings-dialog-opened"),super.hide();}};$_.registerComponent("SettingsDialog",eh);var vr=Ve(Ye());var W_=Ve(hn()),qt=Ve(Ye());var bA=(0,W_.default)("peertube:player:settings"),G_=qt.default.getComponent("MenuItem"),TA=qt.default.getComponent("Component"),vs=class extends G_{constructor(e,t){super(e,t),this.settingsButton=t.menuButton,this.dialog=this.settingsButton.dialog,this.mainMenu=this.settingsButton.menu,this.panel=this.dialog.getChild("settingsPanel"),this.panelChild=this.panel.getChild("settingsPanelChild"),this.panelChildEl=this.panelChild.el(),this.size=null,this.menuToLoad="mainmenu";let i=Nl(t.entry),n=qt.default.getComponent(i);if(!n)throw new Error(`Component ${i} does not exist`);let r=Object.assign({},t,{entry:t.menuButton,menuButton:this});this.subMenu=new n(this.player(),r);let o=this.subMenu.buildCSSClass().split(" ")[0];this.settingsSubMenuEl_.className+=" "+o,this.eventHandlers(),e.ready(()=>{setTimeout(()=>{this.player_&&(this.build(),i==="PlaybackRateMenuButton"&&e.on("ratechange",this.submenuClickHandler),i==="CaptionsButton"&&(e.on("captions-changed",()=>{setTimeout(()=>this.rebuildAfterMenuChange());}),e.on("texttrackchange",this.submenuClickHandler)),i==="ResolutionMenuButton"&&this.subMenu.on("resolution-menu-changed",()=>{this.rebuildAfterMenuChange();}),this.reset());},0);});}dispose(){this.settingsSubMenuEl_.removeEventListener("transitionend",this.transitionEndHandler),super.dispose();}eventHandlers(){this.submenuClickHandler=this.onSubmenuClick.bind(this),this.transitionEndHandler=this.onTransitionEnd.bind(this);}onSubmenuClick(e){let t=null;if(e.type==="tap"?t=e.target:t=e.currentTarget||e.target,t!=null&&t.classList.contains("vjs-back-button")){this.loadMainMenu();return;}setTimeout(()=>this.update(e),0),this.subMenu.menu.removeClass("vjs-hidden");}createEl(){let e=qt.default.dom.createEl("li",{className:"vjs-menu-item",tabIndex:0});return this.settingsSubMenuTitleEl_=qt.default.dom.createEl("div",{className:"vjs-settings-sub-menu-title"}),e.appendChild(this.settingsSubMenuTitleEl_),this.settingsSubMenuValueEl_=qt.default.dom.createEl("div",{className:"vjs-settings-sub-menu-value"}),e.appendChild(this.settingsSubMenuValueEl_),this.settingsSubMenuEl_=qt.default.dom.createEl("div",{className:"vjs-settings-sub-menu"}),e;}handleClick(e){this.menuToLoad="submenu",qt.default.dom.removeClass(this.el(),"open"),super.handleClick(e),this.mainMenu.el().style.opacity="0",qt.default.dom.hasClass(this.settingsSubMenuEl_,"vjs-hidden")?(qt.default.dom.removeClass(this.settingsSubMenuEl_,"vjs-hidden"),setTimeout(()=>{this.settingsSubMenuEl_.style.opacity="1",this.settingsSubMenuEl_.style.marginRight="0px";},0),this.settingsButton.setDialogSize(this.size),this.subMenu.menu.focus()):qt.default.dom.addClass(this.settingsSubMenuEl_,"vjs-hidden");}createBackButton(){let e=this.subMenu.menu.addChild("MenuItem",{},0);e.setAttribute("aria-label",this.player().localize("Go back")),e.addClass("vjs-back-button"),e.el().innerHTML=this.player().localize(this.subMenu.controlText());}onTransitionEnd(e){e.propertyName==="margin-right"&&this.menuToLoad==="mainmenu"&&(qt.default.dom.addClass(this.settingsSubMenuEl_,"vjs-hidden"),this.settingsSubMenuEl_.style.opacity="0");}reset(){qt.default.dom.addClass(this.settingsSubMenuEl_,"vjs-hidden"),this.settingsSubMenuEl_.style.opacity="0",this.setMargin();}loadMainMenu(){let e=this.mainMenu.el();this.menuToLoad="mainmenu",this.mainMenu.show(),e.style.opacity="0";let t=this.mainMenu;this.settingsButton.setDialogSize([t.width(),t.height()]),setTimeout(()=>
81{this.setMargin(),e.style.opacity="1",this.mainMenu.focus();},0);}build(){this.subMenu.on("label-updated",()=>{this.update();}),this.settingsSubMenuTitleEl_.innerHTML=this.player().localize(this.subMenu.controlText()),this.settingsSubMenuEl_.appendChild(this.subMenu.menu.el()),this.panelChildEl.appendChild(this.settingsSubMenuEl_),this.update(),this.createBackButton(),this.setSize(),this.bindClickEvents(),this.settingsSubMenuEl_.addEventListener("transitionend",this.transitionEndHandler,!1);}update(e){if(this.subMenu.name()==="PlaybackRateMenuButton")this.settingsSubMenuValueEl_.innerHTML=this.subMenu.labelEl_.textContent;else for(let i of this.subMenu.menu.children_){if(!(i instanceof G_))continue;let n=i;if(n.isSelected_){if(typeof n.getLabel=="function"){this.settingsSubMenuValueEl_.innerHTML=n.getLabel();break;}this.settingsSubMenuValueEl_.innerHTML=this.player().localize(n.options_.label);}}let t=null;e&&e.type==="tap"?t=e.target:e&&(t=e.currentTarget),t&&!t.classList.contains("vjs-back-button")&&this.settingsButton.hideDialog();}bindClickEvents(){for(let e of this.subMenu.menu.children())e instanceof TA&&e.on(["tap","click"],this.submenuClickHandler);}setSize(){this.dialog.removeClass("vjs-hidden"),qt.default.dom.removeClass(this.settingsSubMenuEl_,"vjs-hidden"),this.size=this.settingsButton.getComponentSize(this.settingsSubMenuEl_),this.setMargin(),this.dialog.addClass("vjs-hidden"),qt.default.dom.addClass(this.settingsSubMenuEl_,"vjs-hidden");}setMargin(){if(!this.size)return;let[e]=this.size;this.settingsSubMenuEl_.style.marginRight=`-${e}px`;}hideSubMenu(){this.el()&&qt.default.dom.hasClass(this.el(),"open")&&(qt.default.dom.addClass(this.settingsSubMenuEl_,"vjs-hidden"),qt.default.dom.removeClass(this.el(),"open"));}rebuildAfterMenuChange(){bA("Rebuilding menu "+this.subMenu.name()+" after change"),this.settingsSubMenuEl_.innerHTML="",this.settingsSubMenuEl_.appendChild(this.subMenu.menu.el()),this.update(),this.createBackButton(),this.setSize(),this.bindClickEvents();}};vs.prototype.contentElType="button";qt.default.registerComponent("SettingsMenuItem",vs);var EA=vr.default.getComponent("Button"),z_=vr.default.getComponent("Component"),th=class extends EA{constructor(e,t){super(e,t),this.settingsButtonOptions=t,this.controlText("Settings"),this.dialog=this.player().addChild("settingsDialog"),this.dialogEl=this.dialog.el(),this.menu=null,this.panel=this.dialog.addChild("settingsPanel"),this.panelChild=this.panel.addChild("settingsPanelChild"),this.addClass("vjs-settings"),this.el().setAttribute("aria-label","Settings Button"),this.addSettingsItemHandler=this.onAddSettingsItem.bind(this),this.disposeSettingsItemHandler=this.onDisposeSettingsItem.bind(this),this.documentClickHandler=this.onDocumentClick.bind(this),this.userInactiveHandler=this.onUserInactive.bind(this),this.buildMenu(),this.bindEvents(),this.player().one("play",()=>this.hideDialog());}onDocumentClick(e){var i,n,r;let t=e.target;(i=t==null?void 0:t.classList)!=null&&i.contains("vjs-settings")||(r=(n=t==null?void 0:t.parentElement)==null?void 0:n.classList)!=null&&r.contains("vjs-settings")||this.dialog.hasClass("vjs-hidden")||this.hideDialog();}onDisposeSettingsItem(e,t){if(t===void 0){let i=this.menu.children();for(;i.length>0;)i[0].dispose(),this.menu.removeChild(i[0]);this.addClass("vjs-hidden");}else{let i=this.menu.getChild(t);i&&(i.dispose(),this.menu.removeChild(i));}this.hideDialog(),this.settingsButtonOptions.entries.length===0&&this.addClass("vjs-hidden");}dispose(){document.removeEventListener("click",this.documentClickHandler),this.isInIframe()&&window.removeEventListener("blur",this.documentClickHandler),super.dispose();}onAddSettingsItem(e,t){let[i,n]=t;this.addMenuItem(i,n),this.removeClass("vjs-hidden");}onUserInactive(){this.dialog.hasClass("vjs-hidden")||this.hideDialog();}bindEvents(){document.addEventListener("click",this.documentClickHandler),this.isInIframe()&&window.addEventListener("blur",this.documentClickHandler),this.player().on("addsettingsitem",this.addSettingsItemHandler),this.player().on("disposesettingsitem",this.disposeSettingsItemHandler),this.player().on("userinactive",this.userInactiveHandler);}buildCSSClass(){return`vjs-icon-settings ${super.buildCSSClass()}`;}handleClick(){this.dialog.hasClass("vjs-hidden")?this.showDialog():this.hideDialog();}showDialog(){this.player().peertube().onMenuOpened(),this.menu.el().style.opacity="1",this.dialog.show(),this.el().setAttribute("aria-expanded","true"),this.setDialogSize(this.getComponentSize(this.menu)),this.menu.focus();}hideDialog(){this.player_.peertube().onMenuClosed(),this.dialog.hide(),this.el().setAttribute("aria-expanded","fal
81se"),this.setDialogSize(this.getComponentSize(this.menu)),this.menu.el().style.opacity="1",this.resetChildren();}getComponentSize(e){let t=null,i=null;if(e instanceof z_){let n=e.el();t=n.offsetWidth,i=n.offsetHeight;}else t=e.offsetWidth,i=e.offsetHeight;return[t,i];}setDialogSize([e,t]){if(typeof t!="number")return;let i=this.settingsButtonOptions.setup.maxHeightOffset,n=this.player().el().offsetHeight-i,r=this.panel.el();t>n?(t=n,e+=15,r.style.maxHeight=`${t}px`):r.style.maxHeight!==""&&(r.style.maxHeight=""),this.dialogEl.style.width=`${e}px`,this.dialogEl.style.height=`${t}px`;}buildMenu(){this.menu=new Do(this.player()),this.menu.on("escaped-key",()=>{this.hideDialog(),this.focus();}),this.menu.addClass("vjs-main-menu");let e=this.settingsButtonOptions.entries;if(e.length===0){this.addClass("vjs-hidden"),this.panelChild.addChild(this.menu);return;}for(let t of e)this.addMenuItem(t,this.settingsButtonOptions);this.panelChild.addChild(this.menu);}addMenuItem(e,t){let i=function(){vr.default.dom.hasClass(this.el_,"open")?vr.default.dom.removeClass(this.el_,"open"):vr.default.dom.addClass(this.el_,"open");};t.name=Nl(e);let n=Object.assign({},t,{entry:e,menuButton:this}),r=new vs(this.player(),n);this.menu.addChild(r),r.on("click",vr.default.bind(this,this.hideChildren)),r.on("click",i);}resetChildren(){for(let e of this.menu.children())e.reset();}hideChildren(){for(let e of this.menu.children())e.hideSubMenu();}isInIframe(){return window.self!==window.top;}};z_.registerComponent("SettingsButton",th);var q_=Ve(Ye()),K_=q_.default.getComponent("Component"),ih=class extends K_{createEl(){return super.createEl("div",{className:"vjs-settings-panel",tabIndex:-1});}};K_.registerComponent("SettingsPanel",ih);var Y_=Ve(Ye()),X_=Y_.default.getComponent("Component"),nh=class extends X_{createEl(){return super.createEl("div",{className:"vjs-settings-panel-child",tabIndex:-1});}};X_.registerComponent("SettingsPanelChild",nh);var oh=Ve(Ye());var rh=Ve(Ye()),SA=rh.default.getComponent("ClickableComponent"),Fo=class extends SA{constructor(e,t){super(e,t);}createEl(){this.wrapper=super.createEl("div",{className:"vjs-playlist-button",tabIndex:-1});let e=super.createEl("div",{className:"vjs-playlist-icon",tabIndex:-1});return this.playlistInfoElement=super.createEl("div",{className:"vjs-playlist-info",tabIndex:-1}),this.wrapper.appendChild(e),this.wrapper.appendChild(this.playlistInfoElement),this.update(),this.wrapper;}update(){this.playlistInfoElement.innerText=this.options_.getCurrentPosition()+"/"+this.options_.playlist.videosLength,this.wrapper.title=this.player().localize("Playlist: {1}",[this.options_.playlist.displayName]);}handleClick(){this.options_.playlistMenu.open();}};rh.default.registerComponent("PlaylistButton",Fo);var Z_=Ve(Ye());var Q_=Ve(Ye());var J_=Q_.default.getComponent("Component"),Vo=class extends J_{constructor(e,t){super(e,t),this.emitTapEvents(),this.element=t.element,this.clickHandler=()=>this.switchPlaylistItem(),this.keyDownHandler=i=>this.handleKeyDown(i),this.on(["click","tap"],this.clickHandler),this.on("keydown",this.keyDownHandler);}dispose(){this.off(["click","tap"],this.clickHandler),this.off("keydown",this.keyDownHandler),super.dispose();}createEl(){let e=super.createEl("li",{className:"vjs-playlist-menu-item"});this.options_.element.video||e.classList.add("vjs-disabled");let t=super.createEl("div",{className:"item-position-block"}),i=super.createEl("div",{className:"item-position",innerText:this.options_.element.position});return t.appendChild(i),e.appendChild(t),this.options_.element.video?this.buildAvailableVideo(e,t,this.options_):this.buildUnavailableVideo(e),e;}setSelected(e){e?this.addClass("vjs-selected"):this.removeClass("vjs-selected");}getElement(){return this.element;}buildAvailableVideo(e,t,i){let n=i.element,r=super.createEl("div",{className:"item-player"});t.appendChild(r);let o=super.createEl("img",{src:window.location.origin+n.video.thumbnailPath}),a=super.createEl("div",{className:"info-block"}),l=super.createEl("div",{innerText:n.video.name,className:"title"}),d=super.createEl("div",{innerText:n.video.channel.displayName,className:"channel"});if(a.appendChild(l),a.appendChild(d),n.startTimestamp||n.stopTimestamp){let u="";n.startTimestamp&&(u+=Bn(n.startTimestamp)),n.stopTimestamp&&(u+=" - "+Bn(n.stopTimestamp));let c=super.createEl("div",{innerText:u,className:"timestamps"});a.append(c);}e.append(o),e.append(a);}buildUnavailableVideo(e){let t=super.createEl("div",{className:"item-unavailable",innerText:this.player().localize("Unavailable video")});e.appendChild(t);}handleKeyDown(e){(e.code==="Space"||e.code==="Enter")&&this.switchPlaylistItem();}switchPlaylistItem(){this.options_.onClicked();}};J_.registerComponent("PlaylistMenuItem",Vo);var ey=Z_.default.getComponent("Component"),Bo=class extends ey{constructor(e,t){super(e,t),this.menuItems=[],this.userInactiveHandler=()=>{this.close();},this.onMouseEnter=()=>{this.player().off("userinactive",this.userInactiveHandler);},this.onMouseLeave=()=>{this.player().one("userinactive",this.userInactiveHandler);},this.onPlayerCick=i=>{let n=i.target;do{if(n.classList.contains("vjs-playlist-menu")||n.classList.contains("vjs-playlist-button"))return;n=n.parentElement;}
81while(n);this.close();},this.el().addEventListener("mouseenter",this.onMouseEnter),this.el().addEventListener("mouseleave",this.onMouseLeave),this.player().on("click",this.onPlayerCick);}dispose(){this.el().removeEventListener("mouseenter",this.onMouseEnter),this.el().removeEventListener("mouseleave",this.onMouseLeave),this.player().off("userinactive",this.userInactiveHandler),this.player().off("click",this.onPlayerCick);for(let e of this.menuItems)e.dispose();super.dispose();}createEl(){this.menuItems=[];let e=super.createEl("div",{className:"vjs-playlist-menu",tabIndex:-1}),t=super.createEl("div",{className:"header"}),i=super.createEl("div"),n=super.createEl("div",{innerText:this.options_.playlist.displayName,className:"title"}),r=this.options_.playlist.videoChannel,o=super.createEl("div",{innerText:r?this.player().localize("By {1}",[r.displayName]):"",className:"channel"});i.appendChild(n),i.appendChild(o);let a=super.createEl("div",{className:"cross"});a.addEventListener("click",()=>this.close()),t.appendChild(i),t.appendChild(a);let l=super.createEl("ol");for(let d of this.options_.elements){let u=new Vo(this.player(),{element:d,onClicked:()=>this.onItemClicked(d)});l.appendChild(u.el()),this.menuItems.push(u);}return e.appendChild(t),e.appendChild(l),this.update(),e;}update(){this.updateSelected(this.options_.getCurrentPosition());}open(){this.player().addClass("playlist-menu-displayed");}close(){this.player().removeClass("playlist-menu-displayed");}updateSelected(e){for(let t of this.menuItems)t.setSelected(t.getElement().position===e);}onItemClicked(e){this.options_.onItemClicked(e);}};ey.registerComponent("PlaylistMenu",Bo);var CA=oh.default.getPlugin("plugin"),sh=class extends CA{constructor(e,t){super(e,t),this.playlistMenu=new Bo(e,t),this.playlistButton=new Fo(e,Le(we({},t),{playlistMenu:this.playlistMenu})),e.addChild(this.playlistMenu,t),e.addChild(this.playlistButton,t);}dispose(){this.player.removeClass("vjs-playlist"),this.playlistMenu.dispose(),this.playlistButton.dispose(),this.player.removeChild(this.playlistMenu),this.player.removeChild(this.playlistButton),super.dispose();}};oh.default.registerPlugin("playlist",sh);var ty=Ve(hn()),Wl=Ve(Ye());var _s=(0,ty.default)("peertube:player:mobile"),wA=Wl.default.getPlugin("plugin"),_r=class _r extends wA{constructor(e,t){super(e,t),this.seekAmount=0,Wl.default.browser.IS_ANDROID&&screen.orientation&&this.handleFullscreenRotation(),e.controls()&&(this.peerTubeMobileButtons=e.addChild("PeerTubeMobileButtons",{reportTouchActivity:!1}),this.player.options_.userActions||(this.player.options_.userActions={}),this.player.options_.userActions.click=!1,this.player.options_.userActions.doubleClick=!1,this.onPlayHandler=()=>this.initTouchStartEvents(),this.player.one("play",this.onPlayHandler),this.seekBar=this.player.getDescendant(["controlBar","progressControl","seekBar"]),this.sliderActiveHandler=()=>this.player.addClass("vjs-mobile-sliding"),this.sliderInactiveHandler=()=>this.player.removeClass("vjs-mobile-sliding"),this.seekBar.on("slideractive",this.sliderActiveHandler),this.seekBar.on("sliderinactive",this.sliderInactiveHandler));}dispose(){var e;this.onPlayHandler&&this.player.off("play",this.onPlayHandler),this.onFullScreenChangeHandler&&this.player.off("fullscreenchange",this.onFullScreenChangeHandler),this.onTouchStartHandler&&this.player.off("touchstart",this.onFullScreenChangeHandler),this.onMobileButtonTouchStartHandler&&((e=this.peerTubeMobileButtons)==null||e.el().removeEventListener("touchstart",this.onMobileButtonTouchStartHandler)),super.dispose();}handleFullscreenRotation(){this.onFullScreenChangeHandler=()=>{!this.player.isFullscreen()||this.isPortraitVideo()||screen.orientation.lock("landscape").catch(e=>Ne.error("Cannot lock screen to landscape.",e));},this.player.on("fullscreenchange",this.onFullScreenChangeHandler);}isPortraitVideo(){return this.player.videoWidth()<this.player.videoHeight();}initTouchStartEvents(){let e=(t,i=!1)=>{if(_s("Handle touch start"),this.tapTimeout&&(clearTimeout(this.tapTimeout),this.tapTimeout=void 0),this.doubleTapping||this.lastTapEvent&&t.timeStamp-this.lastTapEvent.timeStamp<_r.DOUBLE_TAP_DELAY_MS){_s("Detected double tap"),this.lastTapEvent=t,this.onDoubleTap(t);return;}i||(this.newActiveState=!this.player.userActive(),!this.player.paused()&&this.newActiveState===!0&&this.player.addClass("vjs-force-inactive"),this.tapTimeout=setTimeout(()=>{_s("No double tap detected, set user active state to "+this.newActiveState),this.player.removeClass("vjs-force-inactive"),this.player.userActive(this.newActiveState);},_r.DOUBLE_TAP_DELAY_MS),this.lastTapEvent=t);};this.onTouchStartHandler=t=>{let i=this.player.userActive();e(t,i);},this.player.on("touchstart",this.onTouchStartHandler),this.onMobileButtonTouchStartHandler=t=>{t.preventDefault(),t.stopPropagation(),e(t);},this.peerTubeMobileButtons.el().addEventListener("touchstart",this.onMobileButtonTouchStartHandler,{passive:!1});}onDoubleTap(e){let t=this.player.currentWidth(),i=this.findPlayerTarget(e.target).getBoundingClientRect(),n=e.targetTouches[0].pageX-i.left;_s("Calculating double tap zone (player width: %d, offset X: %d)",t,n),n>.66*t?(this.seekAmount<0&&(this.seekAmount=0),this.seekAmount+=10,_s("Will forward %d seconds",this.seekAmount)):n<.33*t&&(this.seekAmount>0&&(this.seekAmount=0),this.seekAmount-=10,_s("Will rewind %d seconds",this.seekAmount)),this.peerTubeMobileButtons.displayFastSeek(this.seekAmount),this.scheduleSetCurrentTime();}findPlayerTarget(e){return e.classList.contains("video-js")?e:this.findPlayerTarget(e.parentElement);}scheduleSetCurrentTime(){this.player.pause(),this.player.addClass("vjs-fast-seeking"),this.doubleTapping=!0,this.setCurrentTimeTimeout&&clearTimeout(this.setCurrentTimeTimeout),this.setCurrentTimeTimeout=setTimeout(()=>{let e=this.player.currentTime()+this.seekAmount;this.seekAmount=0,e=Math.max(0,e),e=Math.min(this.player.duration(),e),this.player.currentTime(e),this.seekAmount=0,this.peerTubeMobileButtons.displayFastSeek(0),this.player.userActive(!1),this.doubleTapping=!1,this.player.play(),setTimeout(()=>{this.player.removeClass("vjs-fast-seeking"),this.player.removeClass("vjs-force-inactive");},100);},_r.SET_CURRENT_TIME_DELAY);}};F(_r,"DOUBLE_TAP_DELAY_MS",250),F(_r,"SET_CURRENT_TIME_DELAY",750);var ah=_r;Wl.default.registerPlugin("peertubeMobile",ah);var dh=Ve(Ye()),xA=dh.default.getComponent("Component"),lh=class extends xA{createEl(){let e=super.createEl("div",{className:"vjs-mobile-buttons-overlay"});this.mainButton=super.createEl("div",{className:"main-button"}),this.touchStartHandler=t=>{if(t.stopPropagation(),this.player_.paused()||this.player_.ended()){this.player_.play();return;}this.player_.pause();},this.mainButton.addEventListener("touchstart",this.touchStartHandler,{passive:!0}),this.rewind=super.createEl("div",{className:"rewind-button vjs-hidden"}),this.forward=super.createEl("div",{className:"forward-button vjs-hidden"});for(let t=0;t<3;t++)this.rewind.appendChild(super.createEl("span",{className:"icon"})),this.forward.appendChild(super.createEl("span",{className:"icon"}));return this.rewindText=this.rewind.appendChild(super.createEl("div",{className:"text"})),this.forwardText=this.forward.appendChild(super.createEl("div",{className:"text"})),e.appendChild(this.rewind),e.appendChild(this.mainButton),e.appendChild(this.forward),e;}dispose(){this.touchStartHandler&&this.mainButton.removeEventListener("touchstart",this.touchStartHandler),super.dispose();}displayFastSeek(e){if(e===0){this.hideRewind(),this.hideForward();return;}if(e>0){this.hideRewind(),this.displayForward(e);return;}if(e<0){this.hideForward(),this.displayRewind(e);return;}}hideRewind(){this.rewind.classList.add("vjs-hidden"),this.rewindText.textContent="";}displayRewind(e){this.rewind.classList.remove("vjs-hidden"),this.rewindText.textContent=this.player().localize("{1} seconds",[e+""]);}hideForward(){this.forward.classList.add("vjs-hidden"),this.forwardText.textContent="";}displayForward(e){this.forward.classList.remove("vjs-hidden"),this.forwardText.textContent=this.player().localize("{1} seconds",[e+""]);}};dh.default.registerComponent("PeerTubeMobileButtons",lh);var ch=Ve(Ye());var AA=ch.default.getPlugin("plugin"),Yn=class Yn extends AA{constructor(e,t){super(e,t),this.isLive=t.isLive,this.handlers=this.buildHandlers(),this.handleKeyFunction=i=>this.onKeyDown(i),document.addEventListener("keydown",this.handleKeyFunction);}dispose(){document.removeEventListener("keydown",this.handleKeyFunction),super.dispose();}onKeyDown(e){if(this.isValidKeyTarget(e.target)){for(let t of this.handlers)if(t.accept(e)){t.cb(e);return;}}}buildHandlers(){let e=[{accept:t=>t.key===" "||t.key==="MediaPlayPause",cb:t=>{t.preventDefault(),t.stopPropagation(),this.player.paused()?this.player.play():this.player.pause();}},{accept:t=>this.isNaked(t,"ArrowUp"),cb:t=>{t.preventDefault(),this.player.volume(this.player.volume()+Yn.VOLUME_STEP);}},{accept:t=>this.isNaked(t,"ArrowDown"),cb:t=>{t.preventDefault(),this.player.volume(this.player.volume()-Yn.VOLUME_STEP);}},{accept:t=>this.isNaked(t,"f")||!t.altKey&&t.ctrlKey&&t.key==="Enter",cb:t=>{t.preventDefault(),this.player.isFullscreen()?this.player.exitFullscreen():this.player.requestFullscreen();}},{accept:t=>this.isNaked(t,"m"),cb:t=>{t.preventDefault(),this.player.muted(!this.player.muted());}},{accept:t=>t.key===">",cb:()=>{if(this.isLive)return;let t=Math.min(this.player.playbackRate()+.1,5);this.player.playbackRate(parseFloat(t.toFixed(2)));}},{accept:t=>t.key==="<",cb:()=>{if(this.isLive)return;let t=Math.max(this.player.playbackRate()-.1,.1);this.player.playbackRate(parseFloat(t.toFixed(2)));}},{accept:t=>t.key===",",cb:()=>{if(this.isLive)return;this.player.pause();let t=1/30;this.player.currentTime(this.player.currentTime()-t);}},{accept:t=>t.key===".",cb:()=>{if(this.isLive)return;this.player.pause();let t=1/30;this.player.currentTime(this.player.currentTime()+t);}}];return this.isLive?e:e.concat(this.buildVODHandlers());}buildVODHandlers(){let e=[{accept:t=>this.isNaked(t,"ArrowLeft")||this.isNaked(t,"MediaRewind"),cb:t=>{if(this.isLive)return;t.preventDefault();let i=Math.max(0,this.player.currentTime()-Yn.SEEK_STEP);this.player.currentTime(i);}},{accept:t=>this.isNaked(t,"ArrowRight")||this.isNaked(t,"MediaForward"),cb:t=>{if(this.isLive)return;t.preventDefault();let i=Math.min(this.player.duration(),this.player.currentTime()+Yn.SEEK_STEP);this.player.currentTime(i);}}];for(let t=0;t<10;t++)e.push({accept:i=>this.isNakedOrShift(i,t+""),cb:i=>{this.isLive||(i.preventDefault(),this.player.currentTime(this.player.duration()*t*.1));}});return e;}
81isValidKeyTarget(e){let t=this.player.el(),i=document.activeElement,n=e.tagName.toLowerCase();return i===t||i===t.querySelector(".vjs-tech")||i===t.querySelector(".vjs-control-bar")||e.id==="content"||n==="body"||n==="video";}isNaked(e,t){return t.length===1&&(t=t.toUpperCase()),!e.ctrlKey&&!e.altKey&&!e.metaKey&&!e.shiftKey&&this.getLatinKey(e.key,e.code)===t;}isNakedOrShift(e,t){return!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.key===t;}getLatinKey(e,t){if(e.length!==1)return e;if(e.charCodeAt(0)>=880){if(t.indexOf("Key")===0&&t.length===4)return t.charAt(3);if(t.indexOf("Digit")===0&&t.length===6)return t.charAt(5);}return e.toUpperCase();}};F(Yn,"VOLUME_STEP",.1),F(Yn,"SEEK_STEP",5);var uh=Yn;ch.default.registerPlugin("peerTubeHotkeysPlugin",uh);var iy=Ve(hn()),fh=Ve(Ye());var Uo=(0,iy.default)("peertube:player:metrics"),IA=fh.default.getPlugin("plugin"),hh=class extends IA{constructor(e,t){super(e),this.options_=t,this.downloadedBytesP2P=0,this.downloadedBytesHTTP=0,this.uploadedBytesP2P=0,this.resolutionChanges=0,this.errors=0,this.bufferStalled=0,this.p2pPeers=0,this.trackBytes(),this.trackResolutionChange(),this.trackErrors(),this.trackBufferStalled(),this.one("play",()=>{this.player.on("video-change",()=>{this.runMetricsIntervalOnPlay();});}),this.runMetricsIntervalOnPlay();}dispose(){this.metricsInterval&&clearInterval(this.metricsInterval),super.dispose();}runMetricsIntervalOnPlay(){this.downloadedBytesP2P=0,this.downloadedBytesHTTP=0,this.uploadedBytesP2P=0,this.resolutionChanges=0,this.errors=0,this.bufferStalled=0,this.lastPlayerNetworkInfo=void 0,Uo("Will track metrics on next play"),this.player.one("play",()=>{Uo("Tracking metrics"),this.runMetricsInterval();});}runMetricsInterval(){this.metricsInterval&&clearInterval(this.metricsInterval),this.options_.metricsUrl()&&(this.metricsInterval=setInterval(()=>{let e,t;if(this.player.usingPlugin("p2pMediaLoader")){let r=this.player.p2pMediaLoader().getCurrentLevel();if(!r)return;e=Math.min(r.height||0,r.width||0);let o=r==null?void 0:r.attrs["FRAME-RATE"];t=o?parseInt(o,10):void 0;}else if(this.player.usingPlugin("webVideo")){let r=this.player.webVideo().getCurrentVideoFile();if(!r)return;e=r.resolution.id,t=r.fps&&r.fps!==-1?r.fps:void 0;}else return;let i={resolution:e,fps:t,playerMode:this.options_.mode(),resolutionChanges:this.resolutionChanges,errors:this.errors,bufferStalled:this.bufferStalled,downloadedBytesHTTP:this.downloadedBytesHTTP,downloadedBytesP2P:this.downloadedBytesP2P,uploadedBytesP2P:this.uploadedBytesP2P,p2pPeers:this.p2pPeers,p2pEnabled:this.p2pEnabled,videoId:this.options_.videoUUID()};this.resolutionChanges=0,this.downloadedBytesP2P=0,this.downloadedBytesHTTP=0,this.uploadedBytesP2P=0,this.errors=0,this.bufferStalled=0;let n=new Headers({"Content-type":"application/json; charset=UTF-8"});return fetch(this.options_.metricsUrl(),{method:"POST",body:JSON.stringify(i),headers:n}).catch(r=>Ne.clientWarn("Cannot send metrics to the server.",r));},this.options_.metricsInterval()));}trackBytes(){this.player.on("network-info",(e,t)=>{var i,n,r,o,a,l,d,u;this.downloadedBytesHTTP+=Math.max(Math.round(t.http.downloaded-(((i=this.lastPlayerNetworkInfo)==null?void 0:i.http.downloaded)||0)),0),this.downloadedBytesP2P+=Math.max(Math.round((((n=t.p2p)==null?void 0:n.downloaded)||0)-(((o=(r=this.lastPlayerNetworkInfo)==null?void 0:r.p2p)==null?void 0:o.downloaded)||0)),0),this.uploadedBytesP2P+=Math.max(Math.round((((a=t.p2p)==null?void 0:a.uploaded)||0)-(((d=(l=this.lastPlayerNetworkInfo)==null?void 0:l.p2p)==null?void 0:d.uploaded)||0)),0),this.p2pPeers=(u=t.p2p)==null?void 0:u.peersP2POnly,this.p2pEnabled=!!t.p2p,this.lastPlayerNetworkInfo=t;});}trackResolutionChange(){this.player.on("resolution-change",(e,{initResolutionChange:t})=>{t!==!0&&(Uo("Adding resolution change"),this.resolutionChanges++);});}trackErrors(){this.player.on("error",()=>{Uo("Adding player error"),this.errors++;});}trackBufferStalled(){this.player.on("buffer-stalled",()=>{Uo("Adding buffer stalled"),this.bufferStalled++;});}};fh.default.registerPlugin("metrics",hh);function RA(s){return s&&s.__esModule&&Object.prototype.hasOwnProperty.call(s,"default")?
81s.default:s;}var Qy={exports:{}};(function(s,e){(function(t){var i=/^(?=((?:[a-zA-Z0-9+\-.]+:)?))\1(?=((?:\/\/[^\/?#]*)?))\2(?=((?:(?:[^?#\/]*\/)*[^;?#\/]*)?))\3((?:;[^?#]*)?)(\?[^#]*)?(#[^]*)?$/,n=/^(?=([^\/?#]*))\1([^]*)$/,r=/(?:\/|^)\.(?=\/)/g,o=/(?:\/|^)\.\.\/(?!\.\.\/)[^\/]*(?=\/)/g,a={buildAbsoluteURL:function(l,d,u){if(u=u||{},l=l.trim(),d=d.trim(),!d){if(!u.alwaysNormalize)return l;var c=a.parseURL(l);if(!c)throw new Error("Error trying to parse base URL.");return c.path=a.normalizePath(c.path),a.buildURLFromParts(c);}var h=a.parseURL(d);if(!h)throw new Error("Error trying to parse relative URL.");if(h.scheme)return u.alwaysNormalize?(h.path=a.normalizePath(h.path),a.buildURLFromParts(h)):d;var f=a.parseURL(l);if(!f)throw new Error("Error trying to parse base URL.");if(!f.netLoc&&f.path&&f.path[0]!=="/"){var p=n.exec(f.path);f.netLoc=p[1],f.path=p[2];}f.netLoc&&!f.path&&(f.path="/");var g={scheme:f.scheme,netLoc:h.netLoc,path:null,params:h.params,query:h.query,fragment:h.fragment};if(!h.netLoc&&(g.netLoc=f.netLoc,h.path[0]!=="/"))if(!h.path)g.path=f.path,h.params||(g.params=f.params,h.query||(g.query=f.query));else{var m=f.path,b=m.substring(0,m.lastIndexOf("/")+1)+h.path;g.path=a.normalizePath(b);}return g.path===null&&(g.path=u.alwaysNormalize?a.normalizePath(h.path):h.path),a.buildURLFromParts(g);},parseURL:function(l){var d=i.exec(l);return d?{scheme:d[1]||"",netLoc:d[2]||"",path:d[3]||"",params:d[4]||"",query:d[5]||"",fragment:d[6]||""}:null;},normalizePath:function(l){for(l=l.split("").reverse().join("").replace(r,"");l.length!==(l=l.replace(o,"")).length;);return l.split("").reverse().join("");},buildURLFromParts:function(l){return l.scheme+l.netLoc+l.path+l.params+l.query+l.fragment;}};s.exports=a;})();})(Qy);var Hf=Qy.exports;function ny(s,e){var t=Object.keys(s);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(s);e&&(i=i.filter(function(n){return Object.getOwnPropertyDescriptor(s,n).enumerable;})),t.push.apply(t,i);}return t;}function ri(s){for(var e=1;e<arguments.length;e++){var t=arguments[e]!=null?arguments[e]:{};e%2?ny(Object(t),!0).forEach(function(i){OA(s,i,t[i]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(s,Object.getOwnPropertyDescriptors(t)):ny(Object(t)).forEach(function(i){Object.defineProperty(s,i,Object.getOwnPropertyDescriptor(t,i));});}return s;}function PA(s,e){if(typeof s!="object"||!s)return s;var t=s[Symbol.toPrimitive];if(t!==void 0){var i=t.call(s,e||"default");if(typeof i!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return(e==="string"?String:Number)(s);}function kA(s){var e=PA(s,"string");return typeof e=="symbol"?e:String(e);}function OA(s,e,t){return e=kA(e),e in s?Object.defineProperty(s,e,{value:t,enumerable:!0,configurable:!0,writable:!0}):s[e]=t,s;}function Kt(){return Kt=Object.assign?Object.assign.bind():function(s){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(s[i]=t[i]);}return s;},Kt.apply(this,arguments);}var Re=Number.isFinite||function(s){return typeof s=="number"&&isFinite(s);},LA=Number.isSafeInteger||function(s){return typeof s=="number"&&Math.abs(s)<=MA;},MA=Number.MAX_SAFE_INTEGER||9007199254740991,w=function(s){return s.MEDIA_ATTACHING="hlsMediaAttaching",s.MEDIA_ATTACHED="hlsMediaAttached",s.MEDIA_DETACHING="hlsMediaDetaching",s.MEDIA_DETACHED="hlsMediaDetached",s.BUFFER_RESET="hlsBufferReset",s.BUFFER_CODECS="hlsBufferCodecs",s.BUFFER_CREATED="hlsBufferCreated",s.BUFFER_APPENDING="hlsBufferAppending",s.BUFFER_APPENDED="hlsBufferAppended",s.BUFFER_EOS="hlsBufferEos",s.BUFFER_FLUSHING="hlsBufferFlushing",s.BUFFER_FLUSHED="hlsBufferFlushed",s.MANIFEST_LOADING="hlsManifestLoading",s.MANIFEST_LOADED="hlsManifestLoaded",s.MANIFEST_PARSED="hlsManifestParsed",s.LEVEL_SWITCHING="hlsLevelSwitching",s.LEVEL_SWITCHED="hlsLevelSwitched",s.LEVEL_LOADING="hlsLevelLoading",s.LEVEL_LOADED="hlsLevelLoaded",s.LEVEL_UPDATED="hlsLevelUpdated",s.LEVEL_PTS_UPDATED="hlsLevelPtsUpdated",s.LEVELS_UPDATED="hlsLevelsUpdated",s.AUDIO_TRACKS_UPDATED="hlsAudioTracksUpdated",s.AUDIO_TRACK_SWITCHING="hlsAudioTrackSwitching",s.AUDIO_TRACK_SWITCHED="hlsAudioTrackSwitched",s.AUDIO_TRACK_LOADING="hlsAudioTrackLoading",s.AUDIO_TRACK_LOADED="hlsAudioTrackLoaded",s.SUBTITLE_TRACKS_UPDATED="hlsSubtitleTracksUp
81dated",s.SUBTITLE_TRACKS_CLEARED="hlsSubtitleTracksCleared",s.SUBTITLE_TRACK_SWITCH="hlsSubtitleTrackSwitch",s.SUBTITLE_TRACK_LOADING="hlsSubtitleTrackLoading",s.SUBTITLE_TRACK_LOADED="hlsSubtitleTrackLoaded",s.SUBTITLE_FRAG_PROCESSED="hlsSubtitleFragProcessed",s.CUES_PARSED="hlsCuesParsed",s.NON_NATIVE_TEXT_TRACKS_FOUND="hlsNonNativeTextTracksFound",s.INIT_PTS_FOUND="hlsInitPtsFound",s.FRAG_LOADING="hlsFragLoading",s.FRAG_LOAD_EMERGENCY_ABORTED="hlsFragLoadEmergencyAborted",s.FRAG_LOADED="hlsFragLoaded",s.FRAG_DECRYPTED="hlsFragDecrypted",s.FRAG_PARSING_INIT_SEGMENT="hlsFragParsingInitSegment",s.FRAG_PARSING_USERDATA="hlsFragParsingUserdata",s.FRAG_PARSING_METADATA="hlsFragParsingMetadata",s.FRAG_PARSED="hlsFragParsed",s.FRAG_BUFFERED="hlsFragBuffered",s.FRAG_CHANGED="hlsFragChanged",s.FPS_DROP="hlsFpsDrop",s.FPS_DROP_LEVEL_CAPPING="hlsFpsDropLevelCapping",s.MAX_AUTO_LEVEL_UPDATED="hlsMaxAutoLevelUpdated",s.ERROR="hlsError",s.DESTROYING="hlsDestroying",s.KEY_LOADING="hlsKeyLoading",s.KEY_LOADED="hlsKeyLoaded",s.LIVE_BACK_BUFFER_REACHED="hlsLiveBackBufferReached",s.BACK_BUFFER_REACHED="hlsBackBufferReached",s.STEERING_MANIFEST_LOADED="hlsSteeringManifestLoaded",s;}({}),Be=function(s){return s.NETWORK_ERROR="networkError",s.MEDIA_ERROR="mediaError",s.KEY_SYSTEM_ERROR="keySystemError",s.MUX_ERROR="muxError",s.OTHER_ERROR="otherError",s;}({}),te=function(s){return s.KEY_SYSTEM_NO_KEYS="keySystemNoKeys",s.KEY_SYSTEM_NO_ACCESS="keySystemNoAccess",s.KEY_SYSTEM_NO_SESSION="keySystemNoSession",s.KEY_SYSTEM_NO_CONFIGURED_LICENSE="keySystemNoConfiguredLicense",s.KEY_SYSTEM_LICENSE_REQUEST_FAILED="keySystemLicenseRequestFailed",s.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED="keySystemServerCertificateRequestFailed",s.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED="keySystemServerCertificateUpdateFailed",s.KEY_SYSTEM_SESSION_UPDATE_FAILED="keySystemSessionUpdateFailed",s.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED="keySystemStatusOutputRestricted",s.KEY_SYSTEM_STATUS_INTERNAL_ERROR="keySystemStatusInternalError",s.MANIFEST_LOAD_ERROR="manifestLoadError",s.MANIFEST_LOAD_TIMEOUT="manifestLoadTimeOut",s.MANIFEST_PARSING_ERROR="manifestParsingError",s.MANIFEST_INCOMPATIBLE_CODECS_ERROR="manifestIncompatibleCodecsError",s.LEVEL_EMPTY_ERROR="levelEmptyError",s.LEVEL_LOAD_ERROR="levelLoadError",s.LEVEL_LOAD_TIMEOUT="levelLoadTimeOut",s.LEVEL_PARSING_ERROR="levelParsingError",s.LEVEL_SWITCH_ERROR="levelSwitchError",s.AUDIO_TRACK_LOAD_ERROR="audioTrackLoadError",s.AUDIO_TRACK_LOAD_TIMEOUT="audioTrackLoadTimeOut",s.SUBTITLE_LOAD_ERROR="subtitleTrackLoadError",s.SUBTITLE_TRACK_LOAD_TIMEOUT="subtitleTrackLoadTimeOut",s.FRAG_LOAD_ERROR="fragLoadError",s.FRAG_LOAD_TIMEOUT="fragLoadTimeOut",s.FRAG_DECRYPT_ERROR="fragDecryptError",s.FRAG_PARSING_ERROR="fragParsingError",s.FRAG_GAP="fragGap",s.REMUX_ALLOC_ERROR="remuxAllocError",s.KEY_LOAD_ERROR="keyLoadError",s.KEY_LOAD_TIMEOUT="keyLoadTimeOut",s.BUFFER_ADD_CODEC_ERROR="bufferAddCodecError",s.BUFFER_INCOMPATIBLE_CODECS_ERROR="bufferIncompatibleCodecsError",s.BUFFER_APPEND_ERROR="bufferAppendError",s.BUFFER_APPENDING_ERROR="bufferAppendingError",s.BUFFER_STALLED_ERROR="bufferStalledError",s.BUFFER_FULL_ERROR="bufferFullError",s.BUFFER_SEEK_OVER_HOLE="bufferSeekOverHole",s.BUFFER_NUDGE_ON_STALL="bufferNudgeOnStall",s.INTERNAL_EXCEPTION="internalException",s.INTERNAL_ABORTED="aborted",s.UNKNOWN="unknown",s;}({}),br=function(){},Lh={trace:br,debug:br,log:br,warn:br,info:br,error:br},$o=Lh;function DA(s){let e=self.console[s];return e?e.bind(self.console,`[${s}] >`):br;}function NA(s,...e){e.forEach(function(t){$o[t]=s[t]?s[t].bind(s):DA(t);});}function jA(s,e){if(typeof console=="object"&&s===!0||typeof s=="object"){NA(s,"debug","log","info","warn","error");try{$o.log(`Debug logs enabled for "${e}" in hls.js version 1.5.14`);}catch{$o=Lh;}}else $o=Lh;}var X=$o,FA=/^(\d+)x(\d+)$/,ry=/(.+?)=(".*?"|.*?)(?:,|$)/g,Dt=class s{constructor(e){typeof e=="string"&&(e=s.parseAttrList(e)),Kt(this,e);}get clientAttrs(){return Object.keys(this).filter(e=>e.substring(0,2)==="X-");}decimalInteger(e){let t=parseInt(this[e],10);return t>Number.MAX_SAFE_INTEGER?1/0:t;}hexadecimalInteger(e){if(this[e]){let t=(this[e]||"0x").slice(2);t=(t.length&1?"0":"")+t;let i=new Uint8Array(t.length/2);for(let n=0;n<t.length/2;n++)i[n]=parseInt(t.slice(n*2,n*2+2),16);return i;}else return null;}hexadecimalIntegerAsNumber(e){let t=parseInt(this[e],16);return t>Number.MAX_SAFE_INTEGER?1/0:t;}decimalFloatingPoint(e){return parseFloat(this[e]);}optionalFloat(e,t){let i=this[e];return i?parseFloat(i):t;}enumeratedString(e){return this[e];}bool(e){return this[e]==="YES";}decimalResolution(e){let t=FA.exec(this[e]);if(t!==null)return{width:parseInt(t[1],10),height:parseInt(t[2],10)};}static parseAttrList(e){let t,i={},n='"';for(ry.lastIndex=0;(t=ry.exec(e))!==null;){let r=t[2];r.indexOf(n)===0&&r.lastIndexOf(n)===r.length-1&&(r=r.slice(1,-1));let o=t[1].trim();i[o]=r;}return i;}};function VA(s){return s!=="ID"&&s!=="CLASS"&&s!=="START-DATE"&&s!=="DURATION"&&s!=="END-DATE"&&s!=="END-ON-NEXT";}function BA(s){return s==="SCTE35-OUT"||s==="SCTE35-IN";}var dd=class{constructor(e,t){if(this.attr=void 0,this._startDate=void 0,this._endDate=void 0,this._badValueForSameId=void 0,t){let i=t.attr;for(let n in i)if(Object.prototype.hasOwnProperty.call(e,n)&&e[n]!==i[n]){X.warn(`DATERANGE tag attribute: "${n}" does not match for tags with ID: "${e.ID}"`),this._badValueForSameId=n;break;}e=Kt(new Dt({}),i,e);}if(this.attr=e,this._startDate=new Date(e["START-DATE"]),"END-DATE"in this.attr){let i=new Date(this.attr["END-DATE"]);Re(i.getTime())&&(this._endDate=i);}}get id(){return this.attr.ID;}get class(){return this.attr.CLASS;}get startDate(){return this._startDate;}get endDate(){if(this._endDate)return this._endDate;let e=this.duration;return e!==null?new Date(this._startDate.getTime()+e*1e3):null;}get duration(){if("DURATION"in this.attr){let e=this.attr.decimalFloatingPoint("DURATION");if(Re(e))return e;}else if(this._endDate)return(this._endDate.getTime()-this._startDate.getTime())/1e3;return null;}get plannedDuration(){return"PLANNED-DURATION"in this.attr?this.attr.decimalFloatingPoint("PLANNED-DURATION"):null;}get endOnNext(){return this.attr.bool("END-ON-NEXT");}get isValid(){return!!this.id&&!this._badValueForSameId&&Re(this.startDate.getTime())&&(this.duration===null||this.duration>=0)&&(!this.endOnNext||!!this.class);}},Rs=class{constructor(){this.aborted=!1,this.loaded=0,this.retry=0,this.total=0,this.chunkCount=0,this.bwEstimate=0,this.loading={start:0,first:0,end:0},this.parsing={start:0,end:0},this.buffering={start:0,first:0,end:0};}},gt={AUDIO:"audio",VIDEO:"video",AUDIOVIDEO:"audiovideo"},ud=class{constructor(e){this._byteRange=null,this._url=null,this.baseurl=void 0,this.relurl=void 0,this.elementaryStreams={[gt.AUDIO]:null,[gt.VIDEO]:null,[gt.AUDIOVIDEO]:null},this.baseurl=e;}setByteRange(e,t){let i=e.split("@",2),n;i.length===1?n=(t==null?void 0:t.byteRangeEndOffset)||0:n=parseInt(i[1]),this._byteRange=[n,parseInt(i[0])+n];}get byteRange(){return this._byteRange?this._byteRange:[];}get byteRangeStartOffset(){return this.byteRange[0];}get byteRangeEndOffset(){return this.byteRange[1];}get url(){return!this._url&&this.baseurl&&this.relurl&&(this._url=Hf.buildAbsoluteURL(this.baseurl,this.relurl,{alwaysNormalize:!0})),this._url||"";}set url(e){this._url=e;}},Go=class extends ud{constructor(e,t){super(t),this._decryptdata=null,this.rawProgramDateTime=null,this.programDateTime=null,this.tagList=[],this.duration=0,this.sn=0,this.levelkeys=void 0,this.type=void 0,this.loader=null,this.keyLoader=null,this.level=-1,this.cc=0,this.startPTS=void 0,this.endPTS=void 0,this.startDTS=void 0,this.endDTS=void 0,this.start=0,this.deltaPTS=void 0,this.maxStartPTS=void 0,this.minEndPTS=void 0,this.stats=new Rs(),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 decryptdata(){let{levelkeys:e}=this;if(!e&&!this._decryptdata)return null;if(!this._decryptdata&&this.levelkeys&&!this.levelkeys.NONE){let t=this.levelkeys.identity;if(t)this._decryptdata=t.getDecryptData(this.sn);else{let i=Object.keys(this.levelkeys);if(i.length===1)return this._decryptdata=this.levelkeys[i[0]].getDecryptData(this.sn);}}return this._decryptdata;}get end(){return this.start+this.duration;}get endProgramDateTime(){if(this.programDateTime===null||!Re(this.programDateTime))return null;let e=Re(this.duration)?this.duration:0;return this.programDateTime+e*1e3;}get encrypted(){var e;if((e=this._decryptdata)!=null&&e.encrypted)return!0;
81if(this.levelkeys){let t=Object.keys(this.levelkeys),i=t.length;if(i>1||i===1&&this.levelkeys[t[0]].encrypted)return!0;}return!1;}setKeyFormat(e){if(this.levelkeys){let t=this.levelkeys[e];t&&!this._decryptdata&&(this._decryptdata=t.getDecryptData(this.sn));}}abortRequests(){var e,t;(e=this.loader)==null||e.abort(),(t=this.keyLoader)==null||t.abort();}setElementaryStreamInfo(e,t,i,n,r,o=!1){let{elementaryStreams:a}=this,l=a[e];if(!l){a[e]={startPTS:t,endPTS:i,startDTS:n,endDTS:r,partial:o};return;}l.startPTS=Math.min(l.startPTS,t),l.endPTS=Math.max(l.endPTS,i),l.startDTS=Math.min(l.startDTS,n),l.endDTS=Math.max(l.endDTS,r);}clearElementaryStreamInfo(){let{elementaryStreams:e}=this;e[gt.AUDIO]=null,e[gt.VIDEO]=null,e[gt.AUDIOVIDEO]=null;}},Mh=class extends ud{constructor(e,t,i,n,r){super(i),this.fragOffset=0,this.duration=0,this.gap=!1,this.independent=!1,this.relurl=void 0,this.fragment=void 0,this.index=void 0,this.stats=new Rs(),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=n;let o=e.enumeratedString("BYTERANGE");o&&this.setByteRange(o,r),r&&(this.fragOffset=r.fragOffset+r.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);}},UA=10,Dh=class{constructor(e){this.PTSKnown=!1,this.alignedSliding=!1,this.averagetargetduration=void 0,this.endCC=0,this.endSN=0,this.fragments=void 0,this.fragmentHint=void 0,this.partList=null,this.dateRanges=void 0,this.live=!0,this.ageHeader=0,this.advancedDateTime=void 0,this.updated=!0,this.advanced=!0,this.availabilityDelay=void 0,this.misses=0,this.startCC=0,this.startSN=0,this.startTimeOffset=null,this.targetduration=0,this.totalduration=0,this.type=null,this.url=void 0,this.m3u8="",this.version=null,this.canBlockReload=!1,this.canSkipUntil=0,this.canSkipDateRanges=!1,this.skippedSegments=0,this.recentlyRemovedDateranges=void 0,this.partHoldBack=0,this.holdBack=0,this.partTarget=0,this.preloadHint=void 0,this.renditionReports=void 0,this.tuneInGoal=0,this.deltaUpdateFailed=void 0,this.driftStartTime=0,this.driftEndTime=0,this.driftStart=0,this.driftEnd=0,this.encryptedFragments=void 0,this.playlistParsingError=null,this.variableList=null,this.hasVariableRefs=!1,this.fragments=[],this.encryptedFragments=[],this.dateRanges={},this.url=e;}reloaded(e){if(!e){this.advanced=!0,this.updated=!0;return;}let t=this.lastPartSn-e.lastPartSn,i=this.lastPartIndex-e.lastPartIndex;this.updated=this.endSN!==e.endSN||!!i||!!t||!this.live,this.advanced=this.endSN>e.endSN||t>0||t===0&&i>0,this.updated||this.advanced?this.misses=Math.floor(e.misses*.6):this.misses=e.misses+1,this.availabilityDelay=e.availabilityDelay;}get hasProgramDateTime(){return this.fragments.length?Re(this.fragments[this.fragments.length-1].programDateTime):!1;}get levelTargetDuration(){return this.averagetargetduration||this.targetduration||UA;}
81get drift(){let e=this.driftEndTime-this.driftStartTime;return e>0?(this.driftEnd-this.driftStart)*1e3/e:1;}get edge(){return this.partEnd||this.fragmentEnd;}get partEnd(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].end:this.fragmentEnd;}get fragmentEnd(){var e;return(e=this.fragments)!=null&&e.length?this.fragments[this.fragments.length-1].end:0;}get age(){return this.advancedDateTime?Math.max(Date.now()-this.advancedDateTime,0)/1e3:0;}get lastPartIndex(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].index:-1;}get lastPartSn(){var e;return(e=this.partList)!=null&&e.length?this.partList[this.partList.length-1].fragment.sn:this.endSN;}};function $f(s){return Uint8Array.from(atob(s),e=>e.charCodeAt(0));}function HA(s){let e=Nh(s).subarray(0,16),t=new Uint8Array(16);return t.set(e,16-e.length),t;}function $A(s){let e=function(i,n,r){let o=i[n];i[n]=i[r],i[r]=o;};e(s,0,3),e(s,1,2),e(s,4,5),e(s,6,7);}function GA(s){let e=s.split(":"),t=null;if(e[0]==="data"&&e.length===2){let i=e[1].split(";"),n=i[i.length-1].split(",");if(n.length===2){let r=n[0]==="base64",o=n[1];r?(i.splice(-1,1),t=$f(o)):t=HA(o);}}return t;}function Nh(s){return Uint8Array.from(unescape(encodeURIComponent(s)),e=>e.charCodeAt(0));}var Ps=typeof self<"u"?self:void 0,kt={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.fps",PLAYREADY:"com.microsoft.playready",WIDEVINE:"com.widevine.alpha"},wi={CLEARKEY:"org.w3.clearkey",FAIRPLAY:"com.apple.streamingkeydelivery",PLAYREADY:"com.microsoft.playready",WIDEVINE:"urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed"};function sy(s){switch(s){case wi.FAIRPLAY:return kt.FAIRPLAY;case wi.PLAYREADY:return kt.PLAYREADY;case wi.WIDEVINE:return kt.WIDEVINE;case wi.CLEARKEY:return kt.CLEARKEY;}}var Jy={WIDEVINE:"edef8ba979d64acea3c827dcd51d21ed"};function WA(s){if(s===Jy.WIDEVINE)return kt.WIDEVINE;}function oy(s){switch(s){case kt.FAIRPLAY:return wi.FAIRPLAY;case kt.PLAYREADY:return wi.PLAYREADY;case kt.WIDEVINE:return wi.WIDEVINE;case kt.CLEARKEY:return wi.CLEARKEY;}}function ph(s){let{drmSystems:e,widevineLicenseUrl:t}=s,i=e?[kt.FAIRPLAY,kt.WIDEVINE,kt.PLAYREADY,kt.CLEARKEY].filter(n=>!!e[n]):[];return!i[kt.WIDEVINE]&&t&&i.push(kt.WIDEVINE),i;}var Zy=function(s){return Ps!=null&&(s=Ps.navigator)!=null&&s.requestMediaKeySystemAccess?self.navigator.requestMediaKeySystemAccess.bind(self.navigator):null;}();function zA(s,e,t,i){let n;switch(s){case kt.FAIRPLAY:n=["cenc","sinf"];break;case kt.WIDEVINE:case kt.PLAYREADY:n=["cenc"];break;case kt.CLEARKEY:n=["cenc","keyids"];break;default:throw new Error(`Unknown key-system: ${s}`);}return qA(n,e,t,i);}function qA(s,e,t,i){return[{initDataTypes:s,persistentState:i.persistentState||"optional",distinctiveIdentifier:i.distinctiveIdentifier||"optional",sessionTypes:i.sessionTypes||[i.sessionType||"temporary"],audioCapabilities:e.map(r=>({contentType:`audio/mp4; codecs="${r}"`,robustness:i.audioRobustness||"",encryptionScheme:i.audioEncryptionScheme||null})),videoCapabilities:t.map(r=>({contentType:`video/mp4; codecs="${r}"`,robustness:i.videoRobustness||"",encryptionScheme:i.videoEncryptionScheme||null}))}];}function Er(s,e,t){return Uint8Array.prototype.slice?s.slice(e,t):new Uint8Array(Array.prototype.slice.call(s,e,t));}var Gf=(s,e)=>e+10<=s.length&&s[e]===73&&s[e+1]===68&&s[e+2]===51&&s[e+3]<255&&s[e+4]<255&&s[e+6]<128&&s[e+7]<128&&s[e+8]<128&&s[e+9]<128,eb=(s,e)=>e+10<=s.length&&s[e]===51&&s[e+1]===68&&s[e+2]===73&&s[e+3]<255&&s[e+4]<255&&s[e+6]<128&&s[e+7]<128&&s[e+8]<128&&s[e+9]<128,zo=(s,e)=>{let t=e,i=0;for(;Gf(s,e);){i+=10;let n=Dd(s,e+6);i+=n,eb(s,e+10)&&(i+=10),e+=i;}if(i>0)return s.subarray(t,t+i);},Dd=(s,e)=>{let t=0;return t=(s[e]&127)<<21,t|=(s[e+1]&127)<<14,t|=(s[e+2]&127)<<7,t|=s[e+3]&127,t;},KA=(s,e)=>Gf(s,e)&&Dd(s,e+6)+10<=s.length-e,Wf=s=>{let e=ib(s);for(let t=0;t<e.length;t++){let i=e[t];if(tb(i))return eI(i);}},tb=s=>s&&s.key==="PRIV"&&s.info==="com.apple.streaming.transportStreamTimestamp",YA=s=>{let e=String.fromCharCode(s[0],s[1],s[2],s[3]),t=Dd(s,4),i=10;return{type:e,size:t,data:s.subarray(i,i+t)};},ib=s=>{let e=0,t=[];for(;Gf(s,e);){let i=Dd(s,e+6);e+=10;let n=e+i;for(;e+8<n;){let r=YA(s.subarray(e)),o=XA(r);o&&t.push(o),e+=r.size+10;}eb(s,e)&&(e+=10);}return t;},XA=s=>s.type==="PRIV"?QA(s):s.type[0]==="W"?ZA(s):JA(s),QA=s=>{if(s.size<2)return;let e=an(s.data,!0),t=new Uint8Array(s.data.subarray(e.length+1));return{key:s.type,info:e,data:t.buffer};},JA=s=>{if(s.size<2)return;if(s.type==="TXXX"){let t=1,i=an(s.data.subarray(t),!0);t+=i.length+1;let n=an(s.data.subarray(t));return{key:s.type,info:i,data:n};}let e=an(s.data.subarray(1));return{key:s.type,data:e};},ZA=s=>{if(s.type==="WXXX"){if(s.size<2)return;let t=1,i=an(s.data.subarray(t),!0);t+=i.length+1;let n=an(s.data.subarray(t));return{key:s.type,info:i,data:n};}let e=an(s.data);return{key:s.type,data:e};},eI=s=>{if(s.data.byteLength===8){let e=new Uint8Array(s.data),t=e[3]&1,i=(e[4]<<23)+(e[5]<<15)+(e[6]<<7)+e[7];return i/=45,t&&(i+=4772185884e-2),Math.round(i);}},an=(s,e=!1)=>{let t=tI();if(t){let d=t.decode(s);if(e){let u=d.indexOf("\0");return u!==-1?d.substring(0,u):d;}return d.replace(/\0/g,"");}let i=s.length,n,r,o,a="",l=0;for(;l<i;){if(n=s[l++],n===0&&e)return a;
81if(n===0||n===3)continue;switch(n>>4){case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:a+=String.fromCharCode(n);break;case 12:case 13:r=s[l++],a+=String.fromCharCode((n&31)<<6|r&63);break;case 14:r=s[l++],o=s[l++],a+=String.fromCharCode((n&15)<<12|(r&63)<<6|(o&63)<<0);break;}}return a;},mh;function tI(){if(!navigator.userAgent.includes("PlayStation 4"))return!mh&&typeof self.TextDecoder<"u"&&(mh=new self.TextDecoder("utf-8")),mh;}var rn={hexDump:function(s){let e="";for(let t=0;t<s.length;t++){let i=s[t].toString(16);i.length<2&&(i="0"+i),e+=i;}return e;}},cd=Math.pow(2,32)-1,iI=[].push,nb={video:1,audio:2,id3:3,text:4};function Yt(s){return String.fromCharCode.apply(null,s);}function rb(s,e){let t=s[e]<<8|s[e+1];return t<0?65536+t:t;}function je(s,e){let t=sb(s,e);return t<0?4294967296+t:t;}function ay(s,e){let t=je(s,e);return t*=Math.pow(2,32),t+=je(s,e+4),t;}function sb(s,e){return s[e]<<24|s[e+1]<<16|s[e+2]<<8|s[e+3];}function gh(s,e,t){s[e]=t>>24,s[e+1]=t>>16&255,s[e+2]=t>>8&255,s[e+3]=t&255;}function nI(s){let e=s.byteLength;for(let t=0;t<e;){let i=je(s,t);if(i>8&&s[t+4]===109&&s[t+5]===111&&s[t+6]===111&&s[t+7]===102)return!0;t=i>1?t+i:e;}return!1;}function qe(s,e){let t=[];if(!e.length)return t;let i=s.byteLength;for(let n=0;n<i;){let r=je(s,n),o=Yt(s.subarray(n+4,n+8)),a=r>1?n+r:i;if(o===e[0])if(e.length===1)t.push(s.subarray(n+8,a));else{let l=qe(s.subarray(n+8,a),e.slice(1));l.length&&iI.apply(t,l);}n=a;}return t;}function rI(s){let e=[],t=s[0],i=8,n=je(s,i);i+=4;let r=0,o=0;t===0?(r=je(s,i),o=je(s,i+4),i+=8):(r=ay(s,i),o=ay(s,i+8),i+=16),i+=2;let a=s.length+o,l=rb(s,i);i+=2;for(let d=0;d<l;d++){let u=i,c=je(s,u);u+=4;let h=c&2147483647;if((c&2147483648)>>>31===1)return X.warn("SIDX has hierarchical references (not supported)"),null;let p=je(s,u);u+=4,e.push({referenceSize:h,subsegmentDuration:p,info:{duration:p/n,start:a,end:a+h-1}}),a+=h,u+=4,i=u;}return{earliestPresentationTime:r,timescale:n,version:t,referencesCount:l,references:e};}function ob(s){let e=[],t=qe(s,["moov","trak"]);for(let n=0;n<t.length;n++){let r=t[n],o=qe(r,["tkhd"])[0];if(o){let a=o[0],l=je(o,a===0?12:20),d=qe(r,["mdia","mdhd"])[0];if(d){a=d[0];let u=je(d,a===0?12:20),c=qe(r,["mdia","hdlr"])[0];if(c){let h=Yt(c.subarray(8,12)),f={soun:gt.AUDIO,vide:gt.VIDEO}[h];if(f){let p=qe(r,["mdia","minf","stbl","stsd"])[0],g=sI(p);e[l]={timescale:u,type:f},e[f]=ri({timescale:u,id:l},g);}}}}}return qe(s,["moov","mvex","trex"]).forEach(n=>{let r=je(n,4),o=e[r];o&&(o.default={duration:je(n,12),flags:je(n,20)});}),e;}function sI(s){let e=s.subarray(8),t=e.subarray(86),i=Yt(e.subarray(4,8)),n=i,r=i==="enca"||i==="encv";if(r){let a=qe(e,[i])[0].subarray(i==="enca"?28:78);qe(a,["sinf"]).forEach(d=>{let u=qe(d,["schm"])[0];if(u){let c=Yt(u.subarray(4,8));if(c==="cbcs"||c==="cenc"){let h=qe(d,["frma"])[0];h&&(n=Yt(h));}}});}switch(n){case"avc1":case"avc2":case"avc3":case"avc4":{let o=qe(t,["avcC"])[0];n+="."+zl(o[1])+zl(o[2])+zl(o[3]);break;}case"mp4a":{let o=qe(e,[i])[0],a=qe(o.subarray(28),["esds"])[0];if(a&&a.length>12){let l=4;if(a[l++]!==3)break;l=vh(a,l),l+=2;let d=a[l++];if(d&128&&(l+=2),d&64&&(l+=a[l++]),a[l++]!==4)break;l=vh(a,l);let u=a[l++];if(u===64)n+="."+zl(u);else break;if(l+=12,a[l++]!==5)break;l=vh(a,l);let c=a[l++],h=(c&248)>>3;h===31&&(h+=1+((c&7)<<3)+((a[l]&224)>>5)),n+="."+h;}break;}case"hvc1":case"hev1":{let o=qe(t,["hvcC"])[0],a=o[1],l=["","A","B","C"][a>>6],d=a&31,u=je(o,2),c=(a&32)>>5?"H":"L",h=o[12],f=o.subarray(6,12);n+="."+l+d,n+="."+u.toString(16).toUpperCase(),n+="."+c+h;let p="";for(let g=f.length;g--;){let m=f[g];(m||p)&&(p="."+m.toString(16).toUpperCase()+p);}n+=p;break;}case"dvh1":case"dvhe":{let o=qe(t,["dvcC"])[0],a=o[2]>>1&127,l=o[2]<<5&32|o[3]>>3&31;n+="."+nn(a)+"."+nn(l);break;}case"vp09":{let o=qe(t,["vpcC"])[0],a=o[4],l=o[5],d=o[6]>>4&15;n+="."+nn(a)+"."+nn(l)+"."+nn(d);break;}case"av01":{let o=qe(t,["av1C"])[0],a=o[1]>>>5,l=o[1]&31,d=o[2]>>>7?"H":"M",u=(o[2]&64)>>6,c=(o[2]&32)>>5,h=a===2&&u?c?12:10:u?10:8,f=(o[2]&16)>>4,p=(o[2]&8)>>3,g=(o[2]&4)>>2,m=o[2]&3;n+="."+a+"."+nn(l)+d+"."+nn(h)+"."+f+"."+p+g+m+"."+nn(1)+"."+nn(1)+"."+nn(1)+"."+0;break;}}return{codec:n,encrypted:r};}function vh(s,e){let t=e+5;for(;s[e++]&128&&e<t;);return e;}function zl(s){return("0"+s.toString(16).toUpperCase()).slice(-2);}function nn(s){return(s<10?"0":"")+s;}function oI(s,e){if(!s||!e)return s;let t=e.keyId;
81return t&&e.isCommonEncryption&&qe(s,["moov","trak"]).forEach(n=>{let o=qe(n,["mdia","minf","stbl","stsd"])[0].subarray(8),a=qe(o,["enca"]),l=a.length>0;l||(a=qe(o,["encv"])),a.forEach(d=>{let u=l?d.subarray(28):d.subarray(78);qe(u,["sinf"]).forEach(h=>{let f=ab(h);if(f){let p=f.subarray(8,24);p.some(g=>g!==0)||(X.log(`[eme] Patching keyId in 'enc${l?"a":"v"}>sinf>>tenc' box: ${rn.hexDump(p)} -> ${rn.hexDump(t)}`),f.set(t,8));}});});}),s;}function ab(s){let e=qe(s,["schm"])[0];if(e){let t=Yt(e.subarray(4,8));if(t==="cbcs"||t==="cenc")return qe(s,["schi","tenc"])[0];}return X.error("[eme] missing 'schm' box"),null;}function aI(s,e){return qe(e,["moof","traf"]).reduce((t,i)=>{let n=qe(i,["tfdt"])[0],r=n[0],o=qe(i,["tfhd"]).reduce((a,l)=>{let d=je(l,4),u=s[d];if(u){let c=je(n,4);if(r===1){if(c===cd)return X.warn("[mp4-demuxer]: Ignoring assumed invalid signed 64-bit track fragment decode time"),a;c*=cd+1,c+=je(n,8);}let h=u.timescale||9e4,f=c/h;if(Re(f)&&(a===null||f<a))return f;}return a;},null);return o!==null&&Re(o)&&(t===null||o<t)?o:t;},null);}function lI(s,e){let t=0,i=0,n=0,r=qe(s,["moof","traf"]);for(let o=0;o<r.length;o++){let a=r[o],l=qe(a,["tfhd"])[0],d=je(l,4),u=e[d];if(!u)continue;let c=u.default,h=je(l,0)|(c==null?void 0:c.flags),f=c==null?void 0:c.duration;h&8&&(h&2?f=je(l,12):f=je(l,8));let p=u.timescale||9e4,g=qe(a,["trun"]);for(let m=0;m<g.length;m++){if(t=dI(g[m]),!t&&f){let b=je(g[m],4);t=f*b;}u.type===gt.VIDEO?i+=t/p:u.type===gt.AUDIO&&(n+=t/p);}}if(i===0&&n===0){let o=1/0,a=0,l=0,d=qe(s,["sidx"]);for(let u=0;u<d.length;u++){let c=rI(d[u]);if(c!=null&&c.references){o=Math.min(o,c.earliestPresentationTime/c.timescale);let h=c.references.reduce((f,p)=>f+p.info.duration||0,0);a=Math.max(a,h+c.earliestPresentationTime/c.timescale),l=a-o;}}if(l&&Re(l))return l;}return i||n;}function dI(s){let e=je(s,0),t=8;e&1&&(t+=4),e&4&&(t+=4);let i=0,n=je(s,4);for(let r=0;r<n;r++){if(e&256){let o=je(s,t);i+=o,t+=4;}e&512&&(t+=4),e&1024&&(t+=4),e&2048&&(t+=4);}return i;}function uI(s,e,t){qe(e,["moof","traf"]).forEach(i=>{qe(i,["tfhd"]).forEach(n=>{let r=je(n,4),o=s[r];if(!o)return;let a=o.timescale||9e4;qe(i,["tfdt"]).forEach(l=>{let d=l[0],u=t*a;if(u){let c=je(l,4);if(d===0)c-=u,c=Math.max(c,0),gh(l,4,c);else{c*=Math.pow(2,32),c+=je(l,8),c-=u,c=Math.max(c,0);let h=Math.floor(c/(cd+1)),f=Math.floor(c%(cd+1));gh(l,4,h),gh(l,8,f);}}});});});}function cI(s){let e={valid:null,remainder:null},t=qe(s,["moof"]);if(t.length<2)return e.remainder=s,e;let i=t[t.length-1];return e.valid=Er(s,0,i.byteOffset-8),e.remainder=Er(s,i.byteOffset-8),e;}function Di(s,e){let t=new Uint8Array(s.length+e.length);return t.set(s),t.set(e,s.length),t;}function ly(s,e){let t=[],i=e.samples,n=e.timescale,r=e.id,o=!1;
81return qe(i,["moof"]).map(l=>{let d=l.byteOffset-8;qe(l,["traf"]).map(c=>{let h=qe(c,["tfdt"]).map(f=>{let p=f[0],g=je(f,4);return p===1&&(g*=Math.pow(2,32),g+=je(f,8)),g/n;})[0];return h!==void 0&&(s=h),qe(c,["tfhd"]).map(f=>{let p=je(f,4),g=je(f,0)&16777215,m=(g&1)!==0,b=(g&2)!==0,T=(g&8)!==0,S=0,P=(g&16)!==0,R=0,C=(g&32)!==0,A=8;p===r&&(m&&(A+=8),b&&(A+=4),T&&(S=je(f,A),A+=4),P&&(R=je(f,A),A+=4),C&&(A+=4),e.type==="video"&&(o=hI(e.codec)),qe(c,["trun"]).map(O=>{let U=O[0],j=je(O,0)&16777215,K=(j&1)!==0,Y=0,oe=(j&4)!==0,Ee=(j&256)!==0,xe=0,Ae=(j&512)!==0,He=0,Xe=(j&1024)!==0,Te=(j&2048)!==0,fe=0,me=je(O,4),ge=8;K&&(Y=je(O,ge),ge+=4),oe&&(ge+=4);let We=Y+d;for(let nt=0;nt<me;nt++){if(Ee?(xe=je(O,ge),ge+=4):xe=S,Ae?(He=je(O,ge),ge+=4):He=R,Xe&&(ge+=4),Te&&(U===0?fe=je(O,ge):fe=sb(O,ge),ge+=4),e.type===gt.VIDEO){let tt=0;for(;tt<He;){let dt=je(i,We);if(We+=4,fI(o,i[We])){let Tt=i.subarray(We,We+dt);lb(Tt,o?2:1,s+fe/n,t);}We+=dt,tt+=dt+4;}}s+=xe/n;}}));});});}),t;}function hI(s){if(!s)return!1;let e=s.indexOf("."),t=e<0?s:s.substring(0,e);return t==="hvc1"||t==="hev1"||t==="dvh1"||t==="dvhe";}function fI(s,e){if(s){let t=e>>1&63;return t===39||t===40;}else return(e&31)===6;}function lb(s,e,t,i){let n=db(s),r=0;r+=e;let o=0,a=0,l=0;for(;r<n.length;){o=0;do{if(r>=n.length)break;l=n[r++],o+=l;}while(l===255);a=0;do{if(r>=n.length)break;l=n[r++],a+=l;}while(l===255);let d=n.length-r,u=r;if(a<d)r+=a;else if(a>d){X.error(`Malformed SEI payload. ${a} is too small, only ${d} bytes left to parse.`);break;}if(o===4){if(n[u++]===181){let h=rb(n,u);if(u+=2,h===49){let f=je(n,u);if(u+=4,f===1195456820){let p=n[u++];if(p===3){let g=n[u++],m=31&g,b=64&g,T=b?2+m*3:0,S=new Uint8Array(T);if(b){S[0]=g;for(let P=1;P<T;P++)S[P]=n[u++];}i.push({type:p,payloadType:o,pts:t,bytes:S});}}}}}else if(o===5&&a>16){let c=[];for(let p=0;p<16;p++){let g=n[u++].toString(16);c.push(g.length==1?"0"+g:g),(p===3||p===5||p===7||p===9)&&c.push("-");}let h=a-16,f=new Uint8Array(h);for(let p=0;p<h;p++)f[p]=n[u++];i.push({payloadType:o,pts:t,uuid:c.join(""),userData:an(f),userDataBytes:f});}}}function db(s){let e=s.byteLength,t=[],i=1;for(;i<e-2;)s[i]===0&&s[i+1]===0&&s[i+2]===3?(t.push(i+2),i+=2):i++;if(t.length===0)return s;let n=e-t.length,r=new Uint8Array(n),o=0;for(i=0;i<n;o++,i++)o===t[0]&&(o++,t.shift()),r[i]=s[o];return r;}function pI(s){let e=s[0],t="",i="",n=0,r=0,o=0,a=0,l=0,d=0;if(e===0){for(;Yt(s.subarray(d,d+1))!=="\0";)t+=Yt(s.subarray(d,d+1)),d+=1;for(t+=Yt(s.subarray(d,d+1)),d+=1;Yt(s.subarray(d,d+1))!=="\0";)i+=Yt(s.subarray(d,d+1)),d+=1;i+=Yt(s.subarray(d,d+1)),d+=1,n=je(s,12),r=je(s,16),a=je(s,20),l=je(s,24),d=28;}else if(e===1){d+=4,n=je(s,d),d+=4;let c=je(s,d);d+=4;let h=je(s,d);for(d+=4,o=2**32*c+h,LA(o)||(o=Number.MAX_SAFE_INTEGER,X.warn("Presentation time exceeds safe integer limit and wrapped to max safe integer in parsing emsg box")),a=je(s,d),d+=4,l=je(s,d),d+=4;Yt(s.subarray(d,d+1))!=="\0";)t+=Yt(s.subarray(d,d+1)),d+=1;for(t+=Yt(s.subarray(d,d+1)),d+=1;Yt(s.subarray(d,d+1))!=="\0";)i+=Yt(s.subarray(d,d+1)),d+=1;i+=Yt(s.subarray(d,d+1)),d+=1;}let u=s.subarray(d,s.byteLength);return{schemeIdUri:t,value:i,timeScale:n,presentationTime:o,presentationTimeDelta:r,eventDuration:a,id:l,payload:u};}function mI(s,...e){let t=e.length,i=8,n=t;for(;n--;)i+=e[n].byteLength;let r=new Uint8Array(i);for(r[0]=i>>24&255,r[1]=i>>16&255,r[2]=i>>8&255,r[3]=i&255,r.set(s,4),n=0,i=8;n<t;n++)r.set(e[n],i),i+=e[n].byteLength;return r;}function gI(s,e,t){if(s.byteLength!==16)throw new RangeError("Invalid system id");let i,n;if(e){i=1,n=new Uint8Array(e.length*16);for(let a=0;a<e.length;a++){let l=e[a];if(l.byteLength!==16)throw new RangeError("Invalid key");n.set(l,a*16);}}else i=0,n=new Uint8Array();let r;i>0?(r=new Uint8Array(4),e.length>0&&new DataView(r.buffer).setUint32(0,e.length,!1)):r=new Uint8Array();let o=new Uint8Array(4);return t&&t.byteLength>0&&new DataView(o.buffer).setUint32(0,t.byteLength,!1),mI([112,115,115,104],new Uint8Array([i,0,0,0]),s,r,n,o,t||new Uint8Array());}function vI(s){if(!(s instanceof ArrayBuffer)||s.byteLength<32)return null;let e={version:0,systemId:"",kids:null,data:null},t=new DataView(s),i=t.getUint32(0);if(s.byteLength!==i&&i>44||t.getUint32(4)!==1886614376||(e.version=t.getUint32(8)>>>24,e.version>1))return null;e.systemId=rn.hexDump(new Uint8Array(s,12,16));let r=t.getUint32(28);if(e.version===0){if(i-32<r)return null;e.data=new Uint8Array(s,32,r);}else if(e.version===1){e.kids=[];for(let o=0;o<r;o++)e.kids.push(new Uint8Array(s,32+o*16,16));}return e;}var ql={},qo=class s{static clearKeyUriToKeyIdMap(){ql={};}constructor(e,t,i,n=[1],r=null){this.uri=void 0,this.method=void 0,this.keyFormat=void 0,this.keyFormatVersions=void 0,this.encrypted=void 0,this.isCommonEncryption=void 0,this.iv=null,this.key=null,this.keyId=null,this.pss
81h=null,this.method=e,this.uri=t,this.keyFormat=i,this.keyFormatVersions=n,this.iv=r,this.encrypted=e?e!=="NONE":!1,this.isCommonEncryption=this.encrypted&&e!=="AES-128";}isSupported(){if(this.method){if(this.method==="AES-128"||this.method==="NONE")return!0;if(this.keyFormat==="identity")return this.method==="SAMPLE-AES";switch(this.keyFormat){case wi.FAIRPLAY:case wi.WIDEVINE:case wi.PLAYREADY:case wi.CLEARKEY:return["ISO-23001-7","SAMPLE-AES","SAMPLE-AES-CENC","SAMPLE-AES-CTR"].indexOf(this.method)!==-1;}}return!1;}getDecryptData(e){if(!this.encrypted||!this.uri)return null;if(this.method==="AES-128"&&this.uri&&!this.iv){typeof e!="number"&&(this.method==="AES-128"&&!this.iv&&X.warn(`missing IV for initialization segment with method="${this.method}" - compliance issue`),e=0);let i=_I(e);return new s(this.method,this.uri,"identity",this.keyFormatVersions,i);}let t=GA(this.uri);if(t)switch(this.keyFormat){case wi.WIDEVINE:this.pssh=t,t.length>=22&&(this.keyId=t.subarray(t.length-22,t.length-6));break;case wi.PLAYREADY:{let i=new Uint8Array([154,4,240,121,152,64,66,134,171,146,230,91,224,136,95,149]);this.pssh=gI(i,null,t);let n=new Uint16Array(t.buffer,t.byteOffset,t.byteLength/2),r=String.fromCharCode.apply(null,Array.from(n)),o=r.substring(r.indexOf("<"),r.length),d=new DOMParser().parseFromString(o,"text/xml").getElementsByTagName("KID")[0];if(d){let u=d.childNodes[0]?d.childNodes[0].nodeValue:d.getAttribute("VALUE");if(u){let c=$f(u).subarray(0,16);$A(c),this.keyId=c;}}break;}default:{let i=t.subarray(0,16);if(i.length!==16){let n=new Uint8Array(16);n.set(i,16-i.length),i=n;}this.keyId=i;break;}}if(!this.keyId||this.keyId.byteLength!==16){let i=ql[this.uri];if(!i){let n=Object.keys(ql).length%Number.MAX_SAFE_INTEGER;i=new Uint8Array(16),new DataView(i.buffer,12,4).setUint32(0,n),ql[this.uri]=i;}this.keyId=i;}return this;}};function _I(s){let e=new Uint8Array(16);for(let t=12;t<16;t++)e[t]=s>>8*(15-t)&255;return e;}var ub=/\{\$([a-zA-Z0-9-_]+)\}/g;function dy(s){return ub.test(s);}function Si(s,e,t){if(s.variableList!==null||s.hasVariableRefs)for(let i=t.length;i--;){let n=t[i],r=e[n];r&&(e[n]=jh(s,r));}}function jh(s,e){if(s.variableList!==null||s.hasVariableRefs){let t=s.variableList;return e.replace(ub,i=>{let n=i.substring(2,i.length-1),r=t==null?void 0:t[n];return r===void 0?(s.playlistParsingError||(s.playlistParsingError=new Error(`Missing preceding EXT-X-DEFINE tag for Variable Reference: "${n}"`)),i):r;});}return e;}function uy(s,e,t){let i=s.variableList;i||(s.variableList=i={});let n,r;if("QUERYPARAM"in e){n=e.QUERYPARAM;try{let o=new self.URL(t).searchParams;if(o.has(n))r=o.get(n);else throw new Error(`"${n}" does not match any query parameter in URI: "${t}"`);}catch(o){s.playlistParsingError||(s.playlistParsingError=new Error(`EXT-X-DEFINE QUERYPARAM: ${o.message}`));}}else n=e.NAME,r=e.VALUE;n in i?s.playlistParsingError||(s.playlistParsingError=new Error(`EXT-X-DEFINE duplicate Variable Name declarations: "${n}"`)):i[n]=r||"";}function yI(s,e,t){let i=e.IMPORT;if(t&&i in t){let n=s.variableList;n||(s.variableList=n={}),n[i]=t[i];}else s.playlistParsingError||(s.playlistParsingError=new Error(`EXT-X-DEFINE IMPORT attribute not found in Multivariant Playlist: "${i}"`));}function Sr(s=!0){return typeof self>"u"?void 0:(s||!self.MediaSource)&&self.ManagedMediaSource||self.MediaSource||self.WebKitMediaSource;}function bI(s){return typeof self<"u"&&s===self.ManagedMediaSource;}var hd={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,drac:1,dva1:1,dvav:1,dvh1:.7,dvhe:.7,encv:1,hev1:.75,hvc1:.75,mjp2:1,mp4v:1,mvc1:1,mvc2:1,mvc3:1,mvc4:1,resv:1,rv60:1,s263:1,svc1:1,svc2:1,"vc-1":1,vp08:1,vp09:.9},text:{stpp:1,wvtt:1}};function TI(s,e){let t=hd[e];return!!t&&!!t[s.slice(0,4)];}function _h(s,e,t=!0){return!s.split(",").some(i=>!cb(i,e,t));}function cb(s,e,t=!0){var i;let n=Sr(t);
81return(i=n==null?void 0:n.isTypeSupported(Ko(s,e)))!=null?i:!1;}function Ko(s,e){return`${e}/mp4;codecs="${s}"`;}function cy(s){if(s){let e=s.substring(0,4);return hd.video[e];}return 2;}function fd(s){return s.split(",").reduce((e,t)=>{let i=hd.video[t];return i?(i*2+e)/(e?3:2):(hd.audio[t]+e)/(e?2:1);},0);}var yh={};function EI(s,e=!0){if(yh[s])return yh[s];let t={flac:["flac","fLaC","FLAC"],opus:["opus","Opus"]}[s];for(let i=0;i<t.length;i++)if(cb(t[i],"audio",e))return yh[s]=t[i],t[i];return s;}var SI=/flac|opus/i;function pd(s,e=!0){return s.replace(SI,t=>EI(t.toLowerCase(),e));}function hy(s,e){return s&&s!=="mp4a"?s:e&&e.split(",")[0];}function CI(s){let e=s.split(",");for(let t=0;t<e.length;t++){let i=e[t].split(".");if(i.length>2){let n=i.shift()+".";n+=parseInt(i.shift()).toString(16),n+=("000"+parseInt(i.shift()).toString(16)).slice(-4),e[t]=n;}}return e.join(",");}var fy=/#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,py=/#EXT-X-MEDIA:(.*)/g,wI=/^#EXT(?:INF|-X-TARGETDURATION):/m,my=new RegExp([/#EXTINF:\s*(\d*(?:\.\d+)?)(?:,(.*)\s+)?/.source,/(?!#) *(\S[^\r\n]*)/.source,/#EXT-X-BYTERANGE:*(.+)/.source,/#EXT-X-PROGRAM-DATE-TIME:(.+)/.source,/#.*/.source].join("|"),"g"),xI=new RegExp([/#(EXTM3U)/.source,/#EXT-X-(DATERANGE|DEFINE|KEY|MAP|PART|PART-INF|PLAYLIST-TYPE|PRELOAD-HINT|RENDITION-REPORT|SERVER-CONTROL|SKIP|START):(.+)/.source,/#EXT-X-(BITRATE|DISCONTINUITY-SEQUENCE|MEDIA-SEQUENCE|TARGETDURATION|VERSION): *(\d+)/.source,/#EXT-X-(DISCONTINUITY|ENDLIST|GAP|INDEPENDENT-SEGMENTS)/.source,/(#)([^:]*):(.*)/.source,/(#)(.*)(?:.*)\r?\n?/.source].join("|")),Tr=class s{static findGroup(e,t){for(let i=0;i<e.length;i++){let n=e[i];if(n.id===t)return n;}}static resolve(e,t){return Hf.buildAbsoluteURL(t,e,{alwaysNormalize:!0});}static isMediaPlaylist(e){return wI.test(e);}static parseMasterPlaylist(e,t){let i=dy(e),n={contentSteering:null,levels:[],playlistParsingError:null,sessionData:null,sessionKeys:null,startTimeOffset:null,variableList:null,hasVariableRefs:i},r=[];fy.lastIndex=0;let o;for(;(o=fy.exec(e))!=null;)if(o[1]){var a;let d=new Dt(o[1]);Si(n,d,["CODECS","SUPPLEMENTAL-CODECS","ALLOWED-CPC","PATHWAY-ID","STABLE-VARIANT-ID","AUDIO","VIDEO","SUBTITLES","CLOSED-CAPTIONS","NAME"]);let u=jh(n,o[2]),c={attrs:d,bitrate:d.decimalInteger("BANDWIDTH")||d.decimalInteger("AVERAGE-BANDWIDTH"),name:d.NAME,url:s.resolve(u,t)},h=d.decimalResolution("RESOLUTION");h&&(c.width=h.width,c.height=h.height),AI(d.CODECS,c),(a=c.unknownCodecs)!=null&&a.length||r.push(c),n.levels.push(c);}else if(o[3]){let d=o[3],u=o[4];switch(d){case"SESSION-DATA":{let c=new Dt(u);Si(n,c,["DATA-ID","LANGUAGE","VALUE","URI"]);let h=c["DATA-ID"];h&&(n.sessionData===null&&(n.sessionData={}),n.sessionData[h]=c);break;}case"SESSION-KEY":{let c=gy(u,t,n);c.encrypted&&c.isSupported()?(n.sessionKeys===null&&(n.sessionKeys=[]),n.sessionKeys.push(c)):X.warn(`[Keys] Ignoring invalid EXT-X-SESSION-KEY tag: "${u}"`);break;}case"DEFINE":{{let c=new Dt(u);Si(n,c,["NAME","VALUE","QUERYPARAM"]),uy(n,c,t);}break;}case"CONTENT-STEERING":{let c=new Dt(u);Si(n,c,["SERVER-URI","PATHWAY-ID"]),n.contentSteering={uri:s.resolve(c["SERVER-URI"],t),pathwayId:c["PATHWAY-ID"]||"."};break;}case"START":{n.startTimeOffset=vy(u);break;}}}let l=r.length>0&&r.length<n.levels.length;return n.levels=l?r:n.levels,n.levels.length===0&&(n.playlistParsingError=new Error("no levels found in manifest")),n;}static parseMasterPlaylistMedia(e,t,i){let n,r={},o=i.levels,a={AUDIO:o.map(d=>({id:d.attrs.AUDIO,audioCodec:d.audioCodec})),SUBTITLES:o.map(d=>({id:d.attrs.SUBTITLES,textCodec:d.textCodec})),"CLOSED-CAPTIONS":[]},l=0;for(py.lastIndex=0;(n=py.exec(e))!==null;){let d=new Dt(n[1]),u=d.TYPE;if(u){let c=a[u],h=r[u]||[];r[u]=h,Si(i,d,["URI","GROUP-ID","LANGUAGE","ASSOC-LANGUAGE","STABLE-RENDITION-ID","NAME","INSTREAM-ID","CHARACTERISTICS","CHANNELS"]);let f=d.LANGUAGE,p=d["ASSOC-LANGUAGE"],g=d.CHANNELS,m=d.CHARACTERISTICS,b=d["INSTREAM-ID"],T={attrs:d,bitrate:0,id:l++,groupId:d["GROUP-ID"]||"",name:d.NAME||f||"",type:u,default:d.bool("DEFAULT"),autoselect:d.bool("AUTOSELECT"),forced:d.bool("FORCED"),lang:f,url:d.URI?s.resolve(d.URI,t):""};if(p&&(T.assocLang=p),g&&(T.channels=g),m&&(T.characteristics=m),b&&(T.instreamId=b),c!=null&&c.length){let S=s.findGroup(c,T.groupId)||c[0];_y(T,S,"audioCodec"),_y(T,S,"textCodec");}h.push(T);}}return r;}
81static parseLevelPlaylist(e,t,i,n,r,o){let a=new Dh(t),l=a.fragments,d=null,u=0,c=0,h=0,f=0,p=null,g=new Go(n,t),m,b,T,S=-1,P=!1,R=null;for(my.lastIndex=0,a.m3u8=e,a.hasVariableRefs=dy(e);(m=my.exec(e))!==null;){P&&(P=!1,g=new Go(n,t),g.start=h,g.sn=u,g.cc=f,g.level=i,d&&(g.initSegment=d,g.rawProgramDateTime=d.rawProgramDateTime,d.rawProgramDateTime=null,R&&(g.setByteRange(R),R=null)));let U=m[1];if(U){g.duration=parseFloat(U);let j=(" "+m[2]).slice(1);g.title=j||null,g.tagList.push(j?["INF",U,j]:["INF",U]);}else if(m[3]){if(Re(g.duration)){g.start=h,T&&Ty(g,T,a),g.sn=u,g.level=i,g.cc=f,l.push(g);let j=(" "+m[3]).slice(1);g.relurl=jh(a,j),yy(g,p),p=g,h+=g.duration,u++,c=0,P=!0;}}else if(m[4]){let j=(" "+m[4]).slice(1);p?g.setByteRange(j,p):g.setByteRange(j);}else if(m[5])g.rawProgramDateTime=(" "+m[5]).slice(1),g.tagList.push(["PROGRAM-DATE-TIME",g.rawProgramDateTime]),S===-1&&(S=l.length);else{if(m=m[0].match(xI),!m){X.warn("No matches on slow regex match for level playlist!");continue;}for(b=1;b<m.length&&!(typeof m[b]<"u");b++);let j=(" "+m[b]).slice(1),K=(" "+m[b+1]).slice(1),Y=m[b+2]?(" "+m[b+2]).slice(1):"";switch(j){case"PLAYLIST-TYPE":a.type=K.toUpperCase();break;case"MEDIA-SEQUENCE":u=a.startSN=parseInt(K);break;case"SKIP":{let oe=new Dt(K);Si(a,oe,["RECENTLY-REMOVED-DATERANGES"]);let Ee=oe.decimalInteger("SKIPPED-SEGMENTS");if(Re(Ee)){a.skippedSegments=Ee;for(let Ae=Ee;Ae--;)l.unshift(null);u+=Ee;}let xe=oe.enumeratedString("RECENTLY-REMOVED-DATERANGES");xe&&(a.recentlyRemovedDateranges=xe.split(" "));break;}case"TARGETDURATION":a.targetduration=Math.max(parseInt(K),1);break;case"VERSION":a.version=parseInt(K);break;case"INDEPENDENT-SEGMENTS":case"EXTM3U":break;case"ENDLIST":a.live=!1;break;case"#":(K||Y)&&g.tagList.push(Y?[K,Y]:[K]);break;case"DISCONTINUITY":f++,g.tagList.push(["DIS"]);break;case"GAP":g.gap=!0,g.tagList.push([j]);break;case"BITRATE":g.tagList.push([j,K]);break;case"DATERANGE":{let oe=new Dt(K);Si(a,oe,["ID","CLASS","START-DATE","END-DATE","SCTE35-CMD","SCTE35-OUT","SCTE35-IN"]),Si(a,oe,oe.clientAttrs);let Ee=new dd(oe,a.dateRanges[oe.ID]);Ee.isValid||a.skippedSegments?a.dateRanges[Ee.id]=Ee:X.warn(`Ignoring invalid DATERANGE tag: "${K}"`),g.tagList.push(["EXT-X-DATERANGE",K]);break;}case"DEFINE":{{let oe=new Dt(K);Si(a,oe,["NAME","VALUE","IMPORT","QUERYPARAM"]),"IMPORT"in oe?yI(a,oe,o):uy(a,oe,t);}break;}case"DISCONTINUITY-SEQUENCE":f=parseInt(K);break;case"KEY":{let oe=gy(K,t,a);if(oe.isSupported()){if(oe.method==="NONE"){T=void 0;break;}T||(T={}),T[oe.keyFormat]&&(T=Kt({},T)),T[oe.keyFormat]=oe;}else X.warn(`[Keys] Ignoring invalid EXT-X-KEY tag: "${K}"`);break;}case"START":a.startTimeOffset=vy(K);break;case"MAP":{let oe=new Dt(K);if(Si(a,oe,["BYTERANGE","URI"]),g.duration){let Ee=new Go(n,t);by(Ee,oe,i,T),d=Ee,g.initSegment=d,d.rawProgramDateTime&&!g.rawProgramDateTime&&(g.rawProgramDateTime=d.rawProgramDateTime);}else{let Ee=g.byteRangeEndOffset;if(Ee){let xe=g.byteRangeStartOffset;R=`${Ee-xe}@${xe}`;}else R=null;by(g,oe,i,T),d=g,P=!0;}break;}case"SERVER-CONTROL":{let oe=new Dt(K);a.canBlockReload=oe.bool("CAN-BLOCK-RELOAD"),a.canSkipUntil=oe.optionalFloat("CAN-SKIP-UNTIL",0),a.canSkipDateRanges=a.canSkipUntil>0&&oe.bool("CAN-SKIP-DATERANGES"),a.partHoldBack=oe.optionalFloat("PART-HOLD-BACK",0),a.holdBack=oe.optionalFloat("HOLD-BACK",0);break;}case"PART-INF":{let oe=new Dt(K);a.partTarget=oe.decimalFloatingPoint("PART-TARGET");break;}case"PART":{let oe=a.partList;oe||(oe=a.partList=[]);let Ee=c>0?oe[oe.length-1]:void 0,xe=c++,Ae=new Dt(K);Si(a,Ae,["BYTERANGE","URI"]);let He=new Mh(Ae,g,t,xe,Ee);oe.push(He),g.duration+=He.duration;break;}case"PRELOAD-HINT":{let oe=new Dt(K);Si(a,oe,["URI"]),a.preloadHint=oe;break;}case"RENDITION-REPORT":{let oe=new Dt(K);Si(a,oe,["URI"]),a.renditionReports=a.renditionReports||[],a.renditionReports.push(oe);break;}default:X.warn(`line parsed but not handled: ${m}`);break;}}}p&&!p.relurl?(l.pop(),h-=p.duration,a.partList&&(a.fragmentHint=p)):a.partList&&(yy(g,p),g.cc=f,a.fragmentHint=g,T&&Ty(g,T,a));let C=l.length,A=l[0],O=l[C-1];if(h+=a.skippedSegments*a.targetduration,h>0&&C&&O){a.averagetargetduration=h/C;let U=O.sn;a.endSN=U!=="initSegment"?U:0,a.live||(O.endList=!0),A&&(a.startCC=A.cc);}else a.endSN=0,a.startCC=0;return a.fragmentHint&&(h+=a.fragmentHint.duration),a.totalduration=h,a.endCC=f,S>0&&II(l,S),a;}};function gy(s,e,t){var i,n;let r=new Dt(s);Si(t,r,["KEYFORMAT","KEYFORMATVERSIONS","URI","IV","URI"]);let o=(i=r.METHOD)!=null?i:"",a=r.URI,l=r.hexadecimalInteger("IV"),d=r.KEYFORMATVERSIONS,u=(n=r.KEYFORMAT)!=null?n:"identity";a&&r.IV&&!l&&X.error(`Invalid IV: ${r.IV}`);let c=a?Tr.resolve(a,e):"",h=(d||"1").split("/").map(Number).filter(Number.isFinite);return new qo(o,c,u,h,l);}function vy(s){let t=new Dt(s).decimalFloatingPoint("TIME-OFFSET");return Re(t)?t:null;}function AI(s,e){let t=(s||"").split(/[ ,]+/).filter(i=>i);["video","audio","text"].forEach(i=>
81{let n=t.filter(r=>TI(r,i));n.length&&(e[`${i}Codec`]=n.join(","),t=t.filter(r=>n.indexOf(r)===-1));}),e.unknownCodecs=t;}function _y(s,e,t){let i=e[t];i&&(s[t]=i);}function II(s,e){let t=s[e];for(let i=e;i--;){let n=s[i];if(!n)return;n.programDateTime=t.programDateTime-n.duration*1e3,t=n;}}function yy(s,e){s.rawProgramDateTime?s.programDateTime=Date.parse(s.rawProgramDateTime):e!=null&&e.programDateTime&&(s.programDateTime=e.endProgramDateTime),Re(s.programDateTime)||(s.programDateTime=null,s.rawProgramDateTime=null);}function by(s,e,t,i){s.relurl=e.URI,e.BYTERANGE&&s.setByteRange(e.BYTERANGE),s.level=t,s.sn="initSegment",i&&(s.levelkeys=i),s.initSegment=null;}function Ty(s,e,t){s.levelkeys=e;let{encryptedFragments:i}=t;(!i.length||i[i.length-1].levelkeys!==e)&&Object.keys(e).some(n=>e[n].isCommonEncryption)&&i.push(s);}var st={MANIFEST:"manifest",LEVEL:"level",AUDIO_TRACK:"audioTrack",SUBTITLE_TRACK:"subtitleTrack"},Fe={MAIN:"main",AUDIO:"audio",SUBTITLE:"subtitle"};function Ey(s){let{type:e}=s;switch(e){case st.AUDIO_TRACK:return Fe.AUDIO;case st.SUBTITLE_TRACK:return Fe.SUBTITLE;default:return Fe.MAIN;}}function bh(s,e){let t=s.url;return(t===void 0||t.indexOf("data:")===0)&&(t=e.url),t;}var Fh=class{constructor(e){this.hls=void 0,this.loaders=Object.create(null),this.variableList=null,this.hls=e,this.registerListeners();}startLoad(e){}stopLoad(){this.destroyInternalLoaders();}registerListeners(){let{hls:e}=this;e.on(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.LEVEL_LOADING,this.onLevelLoading,this),e.on(w.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.on(w.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this);}unregisterListeners(){let{hls:e}=this;e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.LEVEL_LOADING,this.onLevelLoading,this),e.off(w.AUDIO_TRACK_LOADING,this.onAudioTrackLoading,this),e.off(w.SUBTITLE_TRACK_LOADING,this.onSubtitleTrackLoading,this);}createInternalLoader(e){let t=this.hls.config,i=t.pLoader,n=t.loader,r=i||n,o=new r(t);return this.loaders[e.type]=o,o;}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:st.MANIFEST,url:i,deliveryDirectives:null});}onLevelLoading(e,t){let{id:i,level:n,pathwayId:r,url:o,deliveryDirectives:a}=t;this.load({id:i,level:n,pathwayId:r,responseType:"text",type:st.LEVEL,url:o,deliveryDirectives:a});}onAudioTrackLoading(e,t){let{id:i,groupId:n,url:r,deliveryDirectives:o}=t;this.load({id:i,groupId:n,level:null,responseType:"text",type:st.AUDIO_TRACK,url:r,deliveryDirectives:o});}onSubtitleTrackLoading(e,t){let{id:i,groupId:n,url:r,deliveryDirectives:o}=t;this.load({id:i,groupId:n,level:null,responseType:"text",type:st.SUBTITLE_TRACK,url:r,deliveryDirectives:o});}load(e){var t;let i=this.hls.config,n=this.getInternalLoader(e);if(n){let d=n.context;if(d&&d.url===e.url&&d.level===e.level){X.trace("[playlist-loader]: playlist request ongoing");return;}X.log(`[playlist-loader]: aborting previous loader for type: ${e.type}`),n.abort();}let r;if(e.type===st.MANIFEST?r=i.manifestLoadPolicy.default:r=Kt({},i.playlistLoadPolicy.default,{timeoutRetry:null,errorRetry:null}),n=this.createInternalLoader(e),Re((t=e.deliveryDirectives)==null?void 0:t.part)){let d;if(e.type===st.LEVEL&&e.level!==null?d=this.hls.levels[e.level].details:e.type===st.AUDIO_TRACK&&e.id!==null?d=this.hls.audioTracks[e.id].details:e.type===st.SUBTITLE_TRACK&&e.id!==null&&(d=this.hls.subtitleTracks[e.id].details),d){let u=d.partTarget,c=d.targetduration;if(u&&c){let h=Math.max(u*3,c*.8)*1e3;r=Kt({},r,{maxTimeToFirstByteMs:Math.min(h,r.maxTimeToFirstByteMs),maxLoadTimeMs:Math.min(h,r.maxTimeToFirstByteMs)});}}}let o=r.errorRetry||r.timeoutRetry||{},a={loadPolicy:r,timeout:r.maxLoadTimeMs,maxRetry:o.maxNumRetry||0,retryDelay:o.retryDelayMs||0,maxRetryDelay:o.maxRetryDelayMs||0},l={onSuccess:(d,u,c,h)=>{let f=this.getInternalLoader(c);this.resetInternalLoader(c.type);let p=d.data;if(p.indexOf("#EXTM3U")!==0){this.handleManifestParsingError(d,c,new Error("no EXTM3U delimiter"),h||null,u);return;}u.parsing.start=performance.now(),Tr.isMediaPlaylist(p)?this.handleTrackOrLevelPlaylist(d,u,c,h||null,f):this.handleMasterPlaylist(d,u,c,h);},onError:(d,u,c,h)=>{this.handleNetworkError(u,c,!1,d,h);},onTimeout:(d,u,c)=>{this.handleNetworkError(u,c,!0,void 0,d);}};n.load(e,a,l);}handleMasterPlaylist(e,t,i,n){let r=this.hls,o=e.data,a=bh(e,i),l=Tr.parseMasterPlaylist(o,a);if(l.playlistParsingError){this.handleManifestParsingError(e,i,l.playlistParsingError,n,t);return;}let{contentSteering:d,levels:u,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:p}=l;this.variableList=p;let{AUDIO:g=[],SUBTITLES:m,"CLOSED-CAPTIONS":b}=Tr.parseMasterPlaylistMedia(o,a,l);g.length&&!g.some(S=>!S.url)&&u[0].audioCodec&&!u[0].attrs.AUDIO&&(X.log("[playlist-loader]: audio codec signaled in quality level, but no embedded audio track signaled, create one"),g.unshift({type:"main",name:"main",groupId:"main",default:!1,autoselect:!1,forced:!1,id:-1,attrs:new Dt({}),bitrate:0,url:""})),r.trigger(w.MANIFEST_LOADED,{levels:u,audioTracks:g,subtitles:m,captions:b,contentSteering:d,url:a,stats:t,networkDetails:n,sessionData:c,sessionKeys:h,startTimeOffset:f,variableList:p});}handleTrackOrLevelPlaylist(e,t,i,n,r){let o=this.hls,{id:a,level:l,type:d}=i,u=bh(e,i),c=0,h=Re(l)?l:Re(a)?a:0,f=Ey(i),p=Tr.parseLevelPlaylist(e.data,u,h,f,c,this.variableList);if(d===st.MANIFEST){let g={attrs:new Dt({}),bitrate:0,details:p,name:"",url:u};o.trigger(w.MANIFEST_LOADED,{levels:[g],audioTracks:[],url:u,stats:t,networkDetails:n,sessionData:null,sessionKeys:null,contentSteering:null,startTimeOffset:null,variableList:null});}t.parsing.end=performance.now(),i.levelDetails=p,this.handlePlaylistLoaded(p,e,t,i,n,r);}handleManifestParsingError(e,t,i,n,r){this.hls.trigger(w.ERROR,{type:Be.NETWORK_E
81RROR,details:te.MANIFEST_PARSING_ERROR,fatal:t.type===st.MANIFEST,url:e.url,err:i,error:i,reason:i.message,response:e,context:t,networkDetails:n,stats:r});}handleNetworkError(e,t,i=!1,n,r){let o=`A network ${i?"timeout":"error"+(n?" (status "+n.code+")":"")} occurred while loading ${e.type}`;e.type===st.LEVEL?o+=`: ${e.level} id: ${e.id}`:(e.type===st.AUDIO_TRACK||e.type===st.SUBTITLE_TRACK)&&(o+=` id: ${e.id} group-id: "${e.groupId}"`);let a=new Error(o);X.warn(`[playlist-loader]: ${o}`);let l=te.UNKNOWN,d=!1,u=this.getInternalLoader(e);switch(e.type){case st.MANIFEST:l=i?te.MANIFEST_LOAD_TIMEOUT:te.MANIFEST_LOAD_ERROR,d=!0;break;case st.LEVEL:l=i?te.LEVEL_LOAD_TIMEOUT:te.LEVEL_LOAD_ERROR,d=!1;break;case st.AUDIO_TRACK:l=i?te.AUDIO_TRACK_LOAD_TIMEOUT:te.AUDIO_TRACK_LOAD_ERROR,d=!1;break;case st.SUBTITLE_TRACK:l=i?te.SUBTITLE_TRACK_LOAD_TIMEOUT:te.SUBTITLE_LOAD_ERROR,d=!1;break;}u&&this.resetInternalLoader(e.type);let c={type:Be.NETWORK_ERROR,details:l,fatal:d,url:e.url,loader:u,context:e,error:a,networkDetails:t,stats:r};if(n){let h=(t==null?void 0:t.url)||e.url;c.response=ri({url:h,data:void 0},n);}this.hls.trigger(w.ERROR,c);}handlePlaylistLoaded(e,t,i,n,r,o){let a=this.hls,{type:l,level:d,id:u,groupId:c,deliveryDirectives:h}=n,f=bh(t,n),p=Ey(n),g=typeof n.level=="number"&&p===Fe.MAIN?d:void 0;if(!e.fragments.length){let b=new Error("No Segments found in Playlist");a.trigger(w.ERROR,{type:Be.NETWORK_ERROR,details:te.LEVEL_EMPTY_ERROR,fatal:!1,url:f,error:b,reason:b.message,response:t,context:n,level:g,parent:p,networkDetails:r,stats:i});return;}e.targetduration||(e.playlistParsingError=new Error("Missing Target Duration"));let m=e.playlistParsingError;if(m){a.trigger(w.ERROR,{type:Be.NETWORK_ERROR,details:te.LEVEL_PARSING_ERROR,fatal:!1,url:f,error:m,reason:m.message,response:t,context:n,level:g,parent:p,networkDetails:r,stats:i});return;}switch(e.live&&o&&(o.getCacheAge&&(e.ageHeader=o.getCacheAge()||0),(!o.getCacheAge||isNaN(e.ageHeader))&&(e.ageHeader=0)),l){case st.MANIFEST:case st.LEVEL:a.trigger(w.LEVEL_LOADED,{details:e,level:g||0,id:u||0,stats:i,networkDetails:r,deliveryDirectives:h});break;case st.AUDIO_TRACK:a.trigger(w.AUDIO_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:i,networkDetails:r,deliveryDirectives:h});break;case st.SUBTITLE_TRACK:a.trigger(w.SUBTITLE_TRACK_LOADED,{details:e,id:u||0,groupId:c||"",stats:i,networkDetails:r,deliveryDirectives:h});break;}}};function hb(s,e){let t;try{t=new Event("addtrack");}catch{t=document.createEvent("Event"),t.initEvent("addtrack",!1,!1);}t.track=s,e.dispatchEvent(t);}function fb(s,e){let t=s.mode;if(t==="disabled"&&(s.mode="hidden"),s.cues&&!s.cues.getCueById(e.id))try{if(s.addCue(e),!s.cues.getCueById(e.id))throw new Error(`addCue is failed for: ${e}`);}catch(i){X.debug(`[texttrack-utils]: ${i}`);try{let n=new self.TextTrackCue(e.startTime,e.endTime,e.text);n.id=e.id,s.addCue(n);}catch(n){X.debug(`[texttrack-utils]: Legacy TextTrackCue fallback failed: ${n}`);}}t==="disabled"&&(s.mode=t);}function Cs(s){let e=s.mode;if(e==="disabled"&&(s.mode="hidden"),s.cues)for(let t=s.cues.length;t--;)s.removeCue(s.cues[t]);e==="disabled"&&(s.mode=e);}function Vh(s,e,t,i){let n=s.mode;if(n==="disabled"&&(s.mode="hidden"),s.cues&&s.cues.length>0){let r=PI(s.cues,e,t);for(let o=0;o<r.length;o++)(!i||i(r[o]))&&s.removeCue(r[o]);}n==="disabled"&&(s.mode=n);}function RI(s,e){if(e<s[0].startTime)return 0;let t=s.length-1;if(e>s[t].endTime)return-1;let i=0,n=t;for(;i<=n;){let r=Math.floor((n+i)/2);if(e<s[r].startTime)n=r-1;else if(e>s[r].startTime&&i<t)i=r+1;else return r;}return s[i].startTime-e<e-s[n].startTime?i:n;}function PI(s,e,t){let i=[],n=RI(s,e);if(n>-1)for(let r=n,o=s.length;r<o;r++){let a=s[r];if(a.startTime>=e&&a.endTime<=t)i.push(a);else if(a.startTime>t)return i;}return i;}function id(s){let e=[];for(let t=0;t<s.length;t++){let i=s[t];(i.kind==="subtitles"||i.kind==="captions")&&i.label&&e.push(s[t]);}return e;}var Gi={audioId3:"org.id3",dateRange:"com.apple.quicktime.HLS",emsg:"https://aomedia.org/emsg/ID3"},kI=.25;function Bh(){if(!(typeof self>"u"))return self.VTTCue||self.TextTrackCue;}function Sy(s,e,t,i,n){let r=new s(e,t,"");try{r.value=i,n&&(r.type=n);}catch{r=new s(e,t,JSON.stringify(n?ri({type:n},i):i));}return r;}var Kl=(()=>{let s=Bh();try{s&&new s(0,Number.POSITIVE_INFINITY,"");}catch{return Number.MAX_VALUE;}return Number.POSITIVE_INFINITY;})();function Th(s,e){return s.getTime()/1e3-e;}function OI(s){return Uint8Array.from(s.replace(/^0x/,"").replace(/([\da-fA-F]{2}) ?/g,"0x$1 ").replace(/ +$/,"").split(" ")).buffer;}var Uh=class{constructor(e){this.hls=void 0,this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=e,this._registerListeners();}destroy(){this._unregisterListeners(),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={},this.hls=null;}_registerListeners(){let{hls:e}=this;
81e.on(w.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.on(w.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(w.LEVEL_UPDATED,this.onLevelUpdated,this);}_unregisterListeners(){let{hls:e}=this;e.off(w.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.FRAG_PARSING_METADATA,this.onFragParsingMetadata,this),e.off(w.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(w.LEVEL_UPDATED,this.onLevelUpdated,this);}onMediaAttached(e,t){this.media=t.media;}onMediaDetaching(){this.id3Track&&(Cs(this.id3Track),this.id3Track=null,this.media=null,this.dateRangeCuesAppended={});}onManifestLoading(){this.dateRangeCuesAppended={};}createTrack(e){let t=this.getID3Track(e.textTracks);return t.mode="hidden",t;}getID3Track(e){if(this.media){for(let t=0;t<e.length;t++){let i=e[t];if(i.kind==="metadata"&&i.label==="id3")return hb(i,this.media),i;}return this.media.addTextTrack("metadata","id3");}}onFragParsingMetadata(e,t){if(!this.media)return;let{hls:{config:{enableEmsgMetadataCues:i,enableID3MetadataCues:n}}}=this;if(!i&&!n)return;let{samples:r}=t;this.id3Track||(this.id3Track=this.createTrack(this.media));let o=Bh();if(o)for(let a=0;a<r.length;a++){let l=r[a].type;if(l===Gi.emsg&&!i||!n)continue;let d=ib(r[a].data);if(d){let u=r[a].pts,c=u+r[a].duration;c>Kl&&(c=Kl),c-u<=0&&(c=u+kI);for(let f=0;f<d.length;f++){let p=d[f];if(!tb(p)){this.updateId3CueEnds(u,l);let g=Sy(o,u,c,p,l);g&&this.id3Track.addCue(g);}}}}}updateId3CueEnds(e,t){var i;let n=(i=this.id3Track)==null?void 0:i.cues;if(n)for(let r=n.length;r--;){let o=n[r];o.type===t&&o.startTime<e&&o.endTime===Kl&&(o.endTime=e);}}onBufferFlushing(e,{startOffset:t,endOffset:i,type:n}){let{id3Track:r,hls:o}=this;if(!o)return;let{config:{enableEmsgMetadataCues:a,enableID3MetadataCues:l}}=o;if(r&&(a||l)){let d;n==="audio"?d=u=>u.type===Gi.audioId3&&l:n==="video"?d=u=>u.type===Gi.emsg&&a:d=u=>u.type===Gi.audioId3&&l||u.type===Gi.emsg&&a,Vh(r,t,i,d);}}onLevelUpdated(e,{details:t}){if(!this.media||!t.hasProgramDateTime||!this.hls.config.enableDateRangeMetadataCues)return;let{dateRangeCuesAppended:i,id3Track:n}=this,{dateRanges:r}=t,o=Object.keys(r);if(n){let u=Object.keys(i).filter(c=>!o.includes(c));for(let c=u.length;c--;){let h=u[c];Object.keys(i[h].cues).forEach(f=>{n.removeCue(i[h].cues[f]);}),delete i[h];}}let a=t.fragments[t.fragments.length-1];if(o.length===0||!Re(a==null?void 0:a.programDateTime))return;this.id3Track||(this.id3Track=this.createTrack(this.media));let l=a.programDateTime/1e3-a.start,d=Bh();for(let u=0;u<o.length;u++){let c=o[u],h=r[c],f=Th(h.startDate,l),p=i[c],g=(p==null?void 0:p.cues)||{},m=(p==null?void 0:p.durationKnown)||!1,b=Kl,T=h.endDate;if(T)b=Th(T,l),m=!0;else if(h.endOnNext&&!m){let P=o.reduce((R,C)=>{if(C!==h.id){let A=r[C];if(A.class===h.class&&A.startDate>h.startDate&&(!R||h.startDate<R.startDate))return A;}return R;},null);P&&(b=Th(P.startDate,l),m=!0);}let S=Object.keys(h.attr);for(let P=0;P<S.length;P++){let R=S[P];if(!VA(R))continue;let C=g[R];if(C)m&&!p.durationKnown&&(C.endTime=b);else if(d){let A=h.attr[R];BA(R)&&(A=OI(A));let O=Sy(d,f,b,{key:R,data:A},Gi.dateRange);O&&(O.id=c,this.id3Track.addCue(O),g[R]=O);}}i[c]={cues:g,dateRange:h,durationKnown:m};}}},Hh=class{constructor(e){this.hls=void 0,this.config=void 0,this.media=null,this.levelDetails=null,this.currentTime=0,this.stallCount=0,this._latency=null,this.timeupdateHandler=()=>this.timeupdate(),this.hls=e,this.config=e.config,this.registerListeners();}get latency(){return this._latency||0;}get maxLatency(){let{config:e,levelDetails:t}=this;return e.liveMaxLatencyDuration!==void 0?e.liveMaxLatencyDuration:t?e.liveMaxLatencyDurationCount*t.targetduration:0;}get targetLatency(){let{levelDetails:e}=this;if(e===null)return null;let{holdBack:t,partHoldBack:i,targetduration:n}=e,{liveSyncDuration:r,liveSyncDurationCount:o,lowLatencyMode:a}=this.config,l=this.hls.userConfig,d=a&&i||t;(l.liveSyncDuration||l.liveSyncDurationCount||d===0)&&(d=r!==void 0?r:o*n);let u=n;return d+Math.min(this.stallCount*1,u);}get liveSyncPosition(){let e=this.estimateLiveEdge(),t=this.targetLatency,i=this.levelDetails;if(e===null||t===null||i===null)return null;let n=i.edge,r=e-t-this.edgeStalled,o=n-i.totalduration,a=n-(this.config.lowLatencyMode&&i.partTarget||i.targetduration);return Math.min(Math.max(o,r),a);}get drift(){let{levelDetails:e}=this;return e===null?1:e.drift;}get edgeStalled(){let{levelDetails:e}=this;if(e===null)return 0;let t=(this.config.lowLatencyMode&&e.partTarget||e.targetduration)*3;return Math.max(e.age-t,0);}get forwardBufferLength(){let{media:e,levelDetails:t}=this;if(!e||!t)return 0;let i=e.buffered.length;return(i?e.buffered.end(i-1):t.edge)-this.currentTime;}destroy(){this.unregisterListeners(),this.onMediaDetaching(),this.levelDetails=null,this.hls=this.timeupdateHandler=null;}
81registerListeners(){this.hls.on(w.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(w.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.on(w.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(w.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.on(w.ERROR,this.onError,this);}unregisterListeners(){this.hls.off(w.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(w.MEDIA_DETACHING,this.onMediaDetaching,this),this.hls.off(w.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(w.LEVEL_UPDATED,this.onLevelUpdated,this),this.hls.off(w.ERROR,this.onError,this);}onMediaAttached(e,t){this.media=t.media,this.media.addEventListener("timeupdate",this.timeupdateHandler);}onMediaDetaching(){this.media&&(this.media.removeEventListener("timeupdate",this.timeupdateHandler),this.media=null);}onManifestLoading(){this.levelDetails=null,this._latency=null,this.stallCount=0;}onLevelUpdated(e,{details:t}){this.levelDetails=t,t.advanced&&this.timeupdate(),!t.live&&this.media&&this.media.removeEventListener("timeupdate",this.timeupdateHandler);}onError(e,t){var i;t.details===te.BUFFER_STALLED_ERROR&&(this.stallCount++,(i=this.levelDetails)!=null&&i.live&&X.warn("[playback-rate-controller]: Stall detected, adjusting target latency"));}timeupdate(){let{media:e,levelDetails:t}=this;if(!e||!t)return;this.currentTime=e.currentTime;let i=this.computeLatency();if(i===null)return;this._latency=i;let{lowLatencyMode:n,maxLiveSyncPlaybackRate:r}=this.config;if(!n||r===1||!t.live)return;let o=this.targetLatency;if(o===null)return;let a=i-o,l=Math.min(this.maxLatency,o+t.targetduration);if(a<l&&a>.05&&this.forwardBufferLength>1){let u=Math.min(2,Math.max(1,r)),c=Math.round(2/(1+Math.exp(-.75*a-this.edgeStalled))*20)/20;e.playbackRate=Math.min(u,Math.max(1,c));}else e.playbackRate!==1&&e.playbackRate!==0&&(e.playbackRate=1);}estimateLiveEdge(){let{levelDetails:e}=this;return e===null?null:e.edge+e.age;}computeLatency(){let e=this.estimateLiveEdge();return e===null?null:e-this.currentTime;}},$h=["NONE","TYPE-0","TYPE-1",null];function LI(s){return $h.indexOf(s)>-1;}var md=["SDR","PQ","HLG"];function MI(s){return!!s&&md.indexOf(s)>-1;}var nd={No:"",Yes:"YES",v2:"v2"};function Cy(s){let{canSkipUntil:e,canSkipDateRanges:t,age:i}=s,n=i<e/2;return e&&n?t?nd.v2:nd.Yes:nd.No;}var gd=class{constructor(e,t,i){this.msn=void 0,this.part=void 0,this.skip=void 0,this.msn=e,this.part=t,this.skip=i;}addDirectives(e){let t=new self.URL(e);return this.msn!==void 0&&t.searchParams.set("_HLS_msn",this.msn.toString()),this.part!==void 0&&t.searchParams.set("_HLS_part",this.part.toString()),this.skip&&t.searchParams.set("_HLS_skip",this.skip),t.href;}},Jn=class{constructor(e){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.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(t=>!!t).map(t=>t.substring(0,4)).join(","),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 wy(this._audioGroups,e);}hasSubtitleGroup(e){return wy(this._subtitleGroups,e);}get audioGroups(){return this._audioGroups;}get subtitleGroups(){return this._subtitleGroups;}addGroupId(e,t){if(t){if(e==="audio"){let i=this._audioGroups;i||(i=this._audioGroups=[]),i.indexOf(t)===-1&&i.push(t);}else if(e==="text"){let i=this._subtitleGroups;i||(i=this._subtitleGroups=[]),i.indexOf(t)===-1&&i.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(e=this.audioGroups)==null?void 0:e[0];}get textGroupId(){var e;return(e=this.subtitleGroups)==null?void 0:e[0];}addFallback(){}};function wy(s,e){return!e||!s?!1:s.indexOf(e)!==-1;}function Eh(s,e){let t=e.startPTS;if(Re(t)){let i=0,n;e.sn>s.sn?(i=t-s.start,n=s):(i=s.start-t,n=e),n.duration!==i&&(n.duration=i);}else e.sn>s.sn?s.cc===e.cc&&s.minEndPTS?e.start=s.start+(s.minEndPTS-s.start):e.start=s.start+s.duration:e.start=Math.max(s.start-e.duration,0);}function pb(s,e,t,i,n,r){i-t<=0&&(X.warn("Fragment should have a positive duration",e),i=t+e.duration,r=n+e.duration);let a=t,l=i,d=e.startPTS,u=e.endPTS;if(Re(d)){let m=Math.abs(d-t);Re(e.deltaPTS)?e.deltaPTS=Math.max(m,e.deltaPTS):e.deltaPTS=m,a=Math.max(t,d),t=Math.min(t,d),n=Math.min(n,e.startDTS),l=Math.min(i,u),i=Math.max(i,u),r=Math.max(r,e.endDTS);}let c=t-e.start;e.start!==0&&(e.start=t),e.duration=i-e.start,e.startPTS=t,e.maxStartPTS=a,e.startDTS=n,e.endPTS=i,e.minEndPTS=l,e.endDTS=r;let h=e.sn;if(!s||h<s.startSN||h>s.endSN)return 0;let f,p=h-s.startSN,g=s.fragments;for(g[p]=e,f=p;f>0;f--)Eh(g[f],g[f-1]);for(f=p;f<g.length-1;f++)Eh(g[f],g[f+1]);return s.fragmentHint&&Eh(g[g.length-1],s.fragmentHint),s.PTSKnown=s.alignedSliding=!0,c;}function DI(s,e){let t=null,i=s.fragments;for(let l=i.length-1;l>=0;l--){let d=i[l].initSegment;if(d){t=d;break;}}s.fragmentHint&&delete s.fragmentHint.endPTS;let n=0,r;if(FI(s,e,(l,d)=>{l.relurl&&(n=l.cc-d.cc),Re(l.startPTS)&&Re(l.endPTS)&&(d.start=d.startPTS=l.startPTS,d.startDTS=l.startDTS,d.maxStartPTS=l.maxStartPTS,d.endPTS=l.endPTS,d.endDTS=l.endDTS,d.minEndPTS=l.minEndPTS,d.duration=l.endPTS-l.startPTS,d.duration&&(r=d),e.PTSKnown=e.alignedSliding=!0),d.elementaryStreams=l.elementaryStreams,d.loader=l.loader,d.stats=l.stats,l.initSegment&&(d.initSegment=l.initSegment,t=l.initSegment);}),t&&(e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments).forEac
81h(d=>{var u;d&&(!d.initSegment||d.initSegment.relurl===((u=t)==null?void 0:u.relurl))&&(d.initSegment=t);}),e.skippedSegments)if(e.deltaUpdateFailed=e.fragments.some(l=>!l),e.deltaUpdateFailed){X.warn("[level-helper] Previous playlist missing segments skipped in delta playlist");for(let l=e.skippedSegments;l--;)e.fragments.shift();e.startSN=e.fragments[0].sn,e.startCC=e.fragments[0].cc;}else e.canSkipDateRanges&&(e.dateRanges=NI(s.dateRanges,e.dateRanges,e.recentlyRemovedDateranges));let o=e.fragments;if(n){X.warn("discontinuity sliding from playlist, take drift into account");for(let l=0;l<o.length;l++)o[l].cc+=n;}e.skippedSegments&&(e.startCC=e.fragments[0].cc),jI(s.partList,e.partList,(l,d)=>{d.elementaryStreams=l.elementaryStreams,d.stats=l.stats;}),r?pb(e,r,r.startPTS,r.endPTS,r.startDTS,r.endDTS):mb(s,e),o.length&&(e.totalduration=e.edge-o[0].start),e.driftStartTime=s.driftStartTime,e.driftStart=s.driftStart;let a=e.advancedDateTime;if(e.advanced&&a){let l=e.edge;e.driftStart||(e.driftStartTime=a,e.driftStart=l),e.driftEndTime=a,e.driftEnd=l;}else e.driftEndTime=s.driftEndTime,e.driftEnd=s.driftEnd,e.advancedDateTime=s.advancedDateTime;}function NI(s,e,t){let i=Kt({},s);return t&&t.forEach(n=>{delete i[n];}),Object.keys(e).forEach(n=>{let r=new dd(e[n].attr,i[n]);r.isValid?i[n]=r:X.warn(`Ignoring invalid Playlist Delta Update DATERANGE tag: "${JSON.stringify(e[n].attr)}"`);}),i;}function jI(s,e,t){if(s&&e){let i=0;for(let n=0,r=s.length;n<=r;n++){let o=s[n],a=e[n+i];o&&a&&o.index===a.index&&o.fragment.sn===a.fragment.sn?t(o,a):i--;}}}function FI(s,e,t){let i=e.skippedSegments,n=Math.max(s.startSN,e.startSN)-e.startSN,r=(s.fragmentHint?1:0)+(i?e.endSN:Math.min(s.endSN,e.endSN))-e.startSN,o=e.startSN-s.startSN,a=e.fragmentHint?e.fragments.concat(e.fragmentHint):e.fragments,l=s.fragmentHint?s.fragments.concat(s.fragmentHint):s.fragments;for(let d=n;d<=r;d++){let u=l[o+d],c=a[d];i&&!c&&d<i&&(c=e.fragments[d]=u),u&&c&&t(u,c);}}function mb(s,e){let t=e.startSN+e.skippedSegments-s.startSN,i=s.fragments;t<0||t>=i.length||Gh(e,i[t].start);}function Gh(s,e){if(e){let t=s.fragments;for(let i=s.skippedSegments;i<t.length;i++)t[i].start+=e;s.fragmentHint&&(s.fragmentHint.start+=e);}}function VI(s,e=1/0){let t=1e3*s.targetduration;if(s.updated){let i=s.fragments;if(i.length&&t*4>e){let r=i[i.length-1].duration*1e3;r<t&&(t=r);}}else t/=2;return Math.round(t);}function BI(s,e,t){if(!(s!=null&&s.details))return null;let i=s.details,n=i.fragments[e-i.startSN];return n||(n=i.fragmentHint,n&&n.sn===e)?n:e<i.startSN&&t&&t.sn===e?t:null;}function xy(s,e,t){var i;return s!=null&&s.details?gb((i=s.details)==null?void 0:i.partList,e,t):null;}function gb(s,e,t){if(s)for(let i=s.length;i--;){let n=s[i];if(n.index===t&&n.fragment.sn===e)return n;}return null;}function vb(s){s.forEach((e,t)=>{let{details:i}=e;i!=null&&i.fragments&&i.fragments.forEach(n=>{n.level=t;});});}function vd(s){switch(s.details){case te.FRAG_LOAD_TIMEOUT:case te.KEY_LOAD_TIMEOUT:case te.LEVEL_LOAD_TIMEOUT:case te.MANIFEST_LOAD_TIMEOUT:return!0;}return!1;}function Ay(s,e){let t=vd(e);return s.default[`${t?"timeout":"error"}Retry`];}function zf(s,e){let t=s.backoff==="linear"?1:Math.pow(2,e);return Math.min(t*s.retryDelayMs,s.maxRetryDelayMs);}function Iy(s){return ri(ri({},s),{errorRetry:null,timeoutRetry:null});}function _d(s,e,t,i){if(!s)return!1;let n=i==null?void 0:i.code,r=e<s.maxNumRetry&&(UI(n)||!!t);return s.shouldRetry?s.shouldRetry(s,e,t,i,r):r;}function UI(s){return s===0&&navigator.onLine===!1||!!s&&(s<400||s>499);}var _b={search:function(s,e){let t=0,i=s.length-1,n=null,r=null;for(;t<=i;){n=(t+i)/2|0,r=s[n];let o=e(r);if(o>0)t=n+1;else if(o<0)i=n-1;else return r;}return null;}};function HI(s,e,t){if(e===null||!Array.isArray(s)||!s.length||!Re(e))return null;let i=s[0].programDateTime;if(e<(i||0))return null;let n=s[s.length-1].endProgramDateTime;if(e>=(n||0))return null;t=t||0;for(let r=0;r<s.length;++r){let o=s[r];if(GI(e,t,o))return o;}return null;}function yd(s,e,t=0,i=0,n=.005){let r=null;if(s){r=e[s.sn-e[0].sn+1]||null;let a=s.endDTS-t;a>0&&a<15e-7&&(t+=15e-7);}else t===0&&e[0].start===0&&(r=e[0]);if(r&&((!s||s.level===r.level)&&Wh(t,i,r)===0||$I(r,s,Math.min(n,i))))return r;let o=_b.search(e,Wh.bind(null,t,i));return o&&(o!==s||!r)?o:r;}function $I(s,e,t){if(e&&e.start===0&&e.level<s.level&&(e.endPTS||0)>0){let i=e.tagList.reduce((n,r)=>(r[0]==="INF"&&(n+=parseFloat(r[1])),n),t);return s.start<=i;}return!1;}function Wh(s=0,e=0,t){if(t.start<=s&&t.start+t.duration>s)return 0;let i=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0));return t.start+t.duration-i<=s?1:t.start-i>s&&t.start?-1:0;}function GI(s,e,t){let i=Math.min(e,t.duration+(t.deltaPTS?t.deltaPTS:0))*1e3;return(t.endProgramDateTime||0)-i>s;}function WI(s,e){return _b.search(s,t=>t.cc<e?1:t.cc>e?-1:0);}var ii={DoNothing:0,SendEndCallback:1,SendAlternateToPenaltyBox:2,RemoveAlternatePermanently:3,InsertDiscontinuity:4,RetryRequest:5},Ui={None:0,MoveAllAlternatesMatchingHost:1,MoveAllAlternatesMatchingHDCP:2,SwitchToSDR:4},zh=class{constructor(e){this.hls=void 0,this.playlistError=0,this.penalizedRenditions={},this.log=void 0,this.warn=void 0,this.error=void 0,this.hls=e,this.log=X.log.bind(X,"[info]:"),this.warn=X.warn.bind(X,"[warning]:"),this.error=X.error.bind(X,"[error]:"),this.registerListeners();}registerListeners(){let e=this.hls;e.on(w.ERROR,this.onError,this),e.on(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.LEVEL_UPDATED,this.onLevelUpdated,this);}unregisterListeners(){let e=this.hls;e&&(e.off(w.ERROR,this.onError,this),e.off(w.ERROR,this.onErrorOut,this),e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.LEVEL_UPDATED,this.onLevelUpdated,this));}destroy(){this.unregisterListeners(),this.hls=null,this.penalizedRenditions={};}startLoad(e){}stopLoad(){this.playlistError=0;}getVariantLevelIndex(e){return(e==null?void 0:e.type)===Fe.MAIN?e.level:this.hls.loadLevel;}onManifestLoading(){this.playlistError=0,this.penalizedRenditions={};}onLevelUpdated(){this.playlistError=0;}onError(e,t){var i,n;if(t.fatal)return;let r=this.hls,o=t.context;switch(t.details){case te.FRAG_LOAD_ERROR:case te.FRAG_LOAD_TIMEOUT:case te.KEY_LOAD_ERROR:case te.KEY_LOAD_TIMEOUT:t.errorAction=this.getFragRetryOrSwitchAction(t);return;case te.FRAG_PARSING_ERROR:if((i=t.frag)!=null&&i.gap){t.errorAction={action:ii.DoNothing,flags:Ui.None};return;}case te.FRAG_GAP:case te.FRAG_DECRYPT_ERROR:{t.errorAction=this.getFragRetryOrSwitchAction(t),t.errorAction.action=ii.SendAlternateToPenaltyBox;return;}case te.LEVEL_EMPTY_ERROR:case te.LEVEL_PARSING_ERROR:{var a,l;let d=t.parent===Fe.MAIN?t.level:r.loadLevel;t.details===te.LEVEL_EMPTY_ERROR&&(a=t.context)!=null&&(l=a.levelDetails)!=null&&l.live?t.errorAction=this.getPlaylistRetryOrSwitchAction(t,d):(t.levelRetry=!1,t.errorAction=this.getLevelSwitchAction(t,d));}return;case te.LEVEL_LOAD_ERROR:case te.LEVEL_LOAD_TIMEOUT:typeof(o==null?void 0:o.level)=="number"&&(t.errorAction=this.getPlaylistRetryOrSwitchAction(t,o.level));return;case te.AUDIO_TRACK_LOAD_ERROR:case te.AUDIO_TRACK_LOAD_TIMEOUT:case te.SUBTITLE_LOAD_ERROR:case te.SUBTITLE_TRACK_LOAD_TIMEOUT:if(o){let d=r.levels[r.loadLevel];if(d&&(o.type===st.AUDIO_TRACK&&d.hasAudioGroup(o.groupId)||o.type===st.SUBTITLE_TRACK&&d.hasSubtitleGroup(o.groupId))){t.errorAction=this.getPlaylistRetryOrSwitchAction(t,r.loadLevel),t.errorAction.action=ii.SendAlternateToPenaltyBox,t.errorAction.flags=Ui.MoveAllAlternatesMatchingHost;return;}}return;case te.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED:{let d=r.levels[r.loadLevel],u=d==null?void 0:d.attrs["HDCP-LEVEL"];u?t.errorAction={action:ii.SendAlternateToPenaltyBox,flags:Ui.MoveAllAlternatesMatchingHDCP,hdcpLevel:u}:this.keySystemError(t);}return;
81case te.BUFFER_ADD_CODEC_ERROR:case te.REMUX_ALLOC_ERROR:case te.BUFFER_APPEND_ERROR:t.errorAction=this.getLevelSwitchAction(t,(n=t.level)!=null?n:r.loadLevel);return;case te.INTERNAL_EXCEPTION:case te.BUFFER_APPENDING_ERROR:case te.BUFFER_FULL_ERROR:case te.LEVEL_SWITCH_ERROR:case te.BUFFER_STALLED_ERROR:case te.BUFFER_SEEK_OVER_HOLE:case te.BUFFER_NUDGE_ON_STALL:t.errorAction={action:ii.DoNothing,flags:Ui.None};return;}t.type===Be.KEY_SYSTEM_ERROR&&this.keySystemError(t);}keySystemError(e){let t=this.getVariantLevelIndex(e.frag);e.levelRetry=!1,e.errorAction=this.getLevelSwitchAction(e,t);}getPlaylistRetryOrSwitchAction(e,t){let i=this.hls,n=Ay(i.config.playlistLoadPolicy,e),r=this.playlistError++;if(_d(n,r,vd(e),e.response))return{action:ii.RetryRequest,flags:Ui.None,retryConfig:n,retryCount:r};let a=this.getLevelSwitchAction(e,t);return n&&(a.retryConfig=n,a.retryCount=r),a;}getFragRetryOrSwitchAction(e){let t=this.hls,i=this.getVariantLevelIndex(e.frag),n=t.levels[i],{fragLoadPolicy:r,keyLoadPolicy:o}=t.config,a=Ay(e.details.startsWith("key")?o:r,e),l=t.levels.reduce((u,c)=>u+c.fragmentError,0);if(n&&(e.details!==te.FRAG_GAP&&n.fragmentError++,_d(a,l,vd(e),e.response)))return{action:ii.RetryRequest,flags:Ui.None,retryConfig:a,retryCount:l};let d=this.getLevelSwitchAction(e,i);return a&&(d.retryConfig=a,d.retryCount=l),d;}getLevelSwitchAction(e,t){let i=this.hls;t==null&&(t=i.loadLevel);let n=this.hls.levels[t];if(n){var r,o;let d=e.details;n.loadError++,d===te.BUFFER_APPEND_ERROR&&n.fragmentError++;let u=-1,{levels:c,loadLevel:h,minAutoLevel:f,maxAutoLevel:p}=i;i.autoLevelEnabled||(i.loadLevel=-1);let g=(r=e.frag)==null?void 0:r.type,b=(g===Fe.AUDIO&&d===te.FRAG_PARSING_ERROR||e.sourceBufferName==="audio"&&(d===te.BUFFER_ADD_CODEC_ERROR||d===te.BUFFER_APPEND_ERROR))&&c.some(({audioCodec:C})=>n.audioCodec!==C),S=e.sourceBufferName==="video"&&(d===te.BUFFER_ADD_CODEC_ERROR||d===te.BUFFER_APPEND_ERROR)&&c.some(({codecSet:C,audioCodec:A})=>n.codecSet!==C&&n.audioCodec===A),{type:P,groupId:R}=(o=e.context)!=null?o:{};for(let C=c.length;C--;){let A=(C+h)%c.length;if(A!==h&&A>=f&&A<=p&&c[A].loadError===0){var a,l;let O=c[A];if(d===te.FRAG_GAP&&g===Fe.MAIN&&e.frag){let U=c[A].details;if(U){let j=yd(e.frag,U.fragments,e.frag.start);if(j!=null&&j.gap)continue;}}else{if(P===st.AUDIO_TRACK&&O.hasAudioGroup(R)||P===st.SUBTITLE_TRACK&&O.hasSubtitleGroup(R))continue;if(g===Fe.AUDIO&&(a=n.audioGroups)!=null&&a.some(U=>O.hasAudioGroup(U))||g===Fe.SUBTITLE&&(l=n.subtitleGroups)!=null&&l.some(U=>O.hasSubtitleGroup(U))||b&&n.audioCodec===O.audioCodec||!b&&n.audioCodec!==O.audioCodec||S&&n.codecSet===O.codecSet)continue;}u=A;break;}}if(u>-1&&i.loadLevel!==u)return e.levelRetry=!0,this.playlistError=0,{action:ii.SendAlternateToPenaltyBox,flags:Ui.None,nextAutoLevel:u};}return{action:ii.SendAlternateToPenaltyBox,flags:Ui.MoveAllAlternatesMatchingHost};}onErrorOut(e,t){var i;switch((i=t.errorAction)==null?void 0:i.action){case ii.DoNothing:break;case ii.SendAlternateToPenaltyBox:this.sendAlternateToPenaltyBox(t),!t.errorAction.resolved&&t.details!==te.FRAG_GAP?t.fatal=!0:/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());break;case ii.RetryRequest:break;}if(t.fatal){this.hls.stopLoad();return;}}sendAlternateToPenaltyBox(e){let t=this.hls,i=e.errorAction;if(!i)return;let{flags:n,hdcpLevel:r,nextAutoLevel:o}=i;switch(n){case Ui.None:this.switchLevel(e,o);break;case Ui.MoveAllAlternatesMatchingHDCP:r&&(t.maxHdcpLevel=$h[$h.indexOf(r)-1],i.resolved=!0),this.warn(`Restricting playback to HDCP-LEVEL of "${t.maxHdcpLevel}" or lower`);break;}i.resolved||this.switchLevel(e,o);}switchLevel(e,t){t!==void 0&&e.errorAction&&(this.warn(`switching to level ${t} after ${e.details}`),this.hls.nextAutoLevel=t,e.errorAction.resolved=!0,this.hls.nextLoadLevel=this.hls.nextAutoLevel);}},Yo=class{constructor(e,t){this.hls=void 0,this.timer=-1,this.requestScheduled=-1,this.canLoad=!1,this.log=void 0,this.warn=void 0,this.log=X.log.bind(X,`${t}:`),this.warn=X.warn.bind(X,`${t}:`),this.hls=e;}destroy(){this.clearTimer(),this.hls=this.log=this.warn=null;}clearTimer(){this.timer!==-1&&(self.clearTimeout(this.timer),this.timer=-1);}startLoad(){this.canLoad=!0,this.requestScheduled=-1,this.loadPlaylist();}stopLoad(){this.canLoad=!1,this.clearTimer();}switchParams(e,t,i){let n=t==null?void 0:t.renditionReports;if(n){let r=-1;for(let o=0;o<n.length;o++){let a=n[o],l;try{l=new self.URL(a.URI,t.url).href;}catch(d){X.warn(`Could not construct new URL for Rendition Report: ${d}`),l=a.URI||"";}if(l===e){r=o;break;}else l===e.substring(0,l.length)&&(r=o);}if(r!==-1){let o=n[r],a=parseInt(o["LAST-MSN"])||(t==null?void 0:t.lastPartSn),l=parseInt(o["LAST-PART"])||(t==null?void 0:t.lastPartIndex);if(this.hls.config.lowLatencyMode){let u=Math.min(t.age-t.partTarget,t.targetduration);l>=0&&u>t.partTarget&&(l+=1);}let d=i&&Cy(i);return new gd(a,l>=0?l:void 0,d);}}}loadPlaylist(e){this.requestScheduled===-1&&(this.requestScheduled=self.performance.now());}shouldLoadPlaylist(e){return this.canLoad&&!!e&&!!e.url&&(!e.details||e.details.live);}shouldReloadPlaylist(e){return this.timer===-1&&this.requestScheduled===-1&&this.shouldLoadPlaylist(e);}playlistLoaded(e,t,i){let{details:n,stats:r}=t,o=self.performance.now(),a=r.loading.first?Math.max(0,o-r.loading.first):0;if(n.advancedDateTime=Date.now()-a,n.live||i!=null&&i.live){if(n.reloaded(i),i&&this.log(`live playlist ${e} ${n.advanced?"REFRESHED "+n.lastPartSn+"-"+n.lastPartIndex:n.updated?"UPDATED":"MISSED"}`),i&&n.fragments.length>0&&DI(i,n),!this.canLoad||!n.live)return;let l,d,u;if(n.canBlockReload&&n.endSN&&n.advanced){let m=this.hls.config.lowLatencyMode,b=n.lastPartSn,T=n.endSN,S=n.lastPartIndex,P=S!==-1,R=b===T,C=m?0:S;P?(d=R?T+1:b,u=R?C:S+1):d=T+1;let A=n.age,O=A+n.ageHeader,U=Math.min(O-n.partTarget,n.targetduration*1.5);if(U>0){if(i&&U>i.tuneInGoal)this.warn(`CDN Tune-in goal increased from: ${i.tuneInGoal} to: ${U} with playlist age: ${n.age}`),U=0;else{let j=Math.floor(U/n.targetduration);if(d+=j,u!==void 0){let K=Math.round(U%n.targetduration/n.partTarget);u+=K;}this.log(`CDN Tune-in age: ${n.ageHeader}s last advanced ${A.toFixed(2)}s goal: ${U}
81 skip sn ${j} to part ${u}`);}n.tuneInGoal=U;}if(l=this.getDeliveryDirectives(n,t.deliveryDirectives,d,u),m||!R){this.loadPlaylist(l);return;}}else(n.canBlockReload||n.canSkipUntil)&&(l=this.getDeliveryDirectives(n,t.deliveryDirectives,d,u));let c=this.hls.mainForwardBufferInfo,h=c?c.end-c.len:0,f=(n.edge-h)*1e3,p=VI(n,f);n.updated&&o>this.requestScheduled+p&&(this.requestScheduled=r.loading.start),d!==void 0&&n.canBlockReload?this.requestScheduled=r.loading.first+p-(n.partTarget*1e3||1e3):this.requestScheduled===-1||this.requestScheduled+p<o?this.requestScheduled=o:this.requestScheduled-o<=0&&(this.requestScheduled+=p);let g=this.requestScheduled-o;g=Math.max(0,g),this.log(`reload live playlist ${e} in ${Math.round(g)} ms`),this.timer=self.setTimeout(()=>this.loadPlaylist(l),g);}else this.clearTimer();}getDeliveryDirectives(e,t,i,n){let r=Cy(e);return t!=null&&t.skip&&e.deltaUpdateFailed&&(i=t.msn,n=t.part,r=nd.No),new gd(i,n,r);}checkRetry(e){let t=e.details,i=vd(e),n=e.errorAction,{action:r,retryCount:o=0,retryConfig:a}=n||{},l=!!n&&!!a&&(r===ii.RetryRequest||!n.resolved&&r===ii.SendAlternateToPenaltyBox);if(l){var d;if(this.requestScheduled=-1,o>=a.maxNumRetry)return!1;if(i&&(d=e.context)!=null&&d.deliveryDirectives)this.warn(`Retrying playlist loading ${o+1}/${a.maxNumRetry} after "${t}" without delivery-directives`),this.loadPlaylist();else{let u=zf(a,o);this.timer=self.setTimeout(()=>this.loadPlaylist(),u),this.warn(`Retrying playlist loading ${o+1}/${a.maxNumRetry} after "${t}" in ${u}ms`);}e.levelRetry=!0,n.resolved=!0;}return l;}},Qn=class{constructor(e,t=0,i=0){this.halfLife=void 0,this.alpha_=void 0,this.estimate_=void 0,this.totalWeight_=void 0,this.halfLife=e,this.alpha_=e?Math.exp(Math.log(.5)/e):0,this.estimate_=t,this.totalWeight_=i;}sample(e,t){let i=Math.pow(this.alpha_,e);this.estimate_=t*(1-i)+i*this.estimate_,this.totalWeight_+=e;}getTotalWeight(){return this.totalWeight_;}getEstimate(){if(this.alpha_){let e=1-Math.pow(this.alpha_,this.totalWeight_);if(e)return this.estimate_/e;}return this.estimate_;}},qh=class{constructor(e,t,i,n=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_
81=new Qn(e),this.fast_=new Qn(t),this.defaultTTFB_=n,this.ttfb_=new Qn(e);}update(e,t){let{slow_:i,fast_:n,ttfb_:r}=this;i.halfLife!==e&&(this.slow_=new Qn(e,i.getEstimate(),i.getTotalWeight())),n.halfLife!==t&&(this.fast_=new Qn(t,n.getEstimate(),n.getTotalWeight())),r.halfLife!==e&&(this.ttfb_=new Qn(e,r.getEstimate(),r.getTotalWeight()));}sample(e,t){e=Math.max(e,this.minDelayMs_);let i=8*t,n=e/1e3,r=i/n;this.fast_.sample(n,r),this.slow_.sample(n,r);}sampleTTFB(e){let t=e/1e3,i=Math.sqrt(2)*Math.exp(-Math.pow(t,2)/2);this.ttfb_.sample(i,Math.max(e,5));}canEstimate(){return this.fast_.getTotalWeight()>=this.minWeight_;}getEstimate(){return this.canEstimate()?Math.min(this.fast_.getEstimate(),this.slow_.getEstimate()):this.defaultEstimate_;}getEstimateTTFB(){return this.ttfb_.getTotalWeight()>=this.minWeight_?this.ttfb_.getEstimate():this.defaultTTFB_;}destroy(){}},yb={supported:!0,configurations:[],decodingInfoResults:[{supported:!0,powerEfficient:!0,smooth:!0}]},Ry={};function zI(s,e,t,i,n,r){let o=s.audioCodec?s.audioGroups:null,a=r==null?void 0:r.audioCodec,l=r==null?void 0:r.channels,d=l?parseInt(l):a?1/0:2,u=null;if(o!=null&&o.length)try{o.length===1&&o[0]?u=e.groups[o[0]].channels:u=o.reduce((c,h)=>{if(h){let f=e.groups[h];if(!f)throw new Error(`Audio track group ${h} not found`);Object.keys(f.channels).forEach(p=>{c[p]=(c[p]||0)+f.channels[p];});}return c;},{2:0});}catch{return!0;}return s.videoCodec!==void 0&&(s.width>1920&&s.height>1088||s.height>1920&&s.width>1088||s.frameRate>Math.max(i,30)||s.videoRange!=="SDR"&&s.videoRange!==t||s.bitrate>Math.max(n,8e6))||!!u&&Re(d)&&Object.keys(u).some(c=>parseInt(c)>d);}function qI(s,e,t){let i=s.videoCodec,n=s.audioCodec;if(!i||!n||!t)return Promise.resolve(yb);let r={width:s.width,height:s.height,bitrate:Math.ceil(Math.max(s.bitrate*.9,s.averageBitrate)),framerate:s.frameRate||30},o=s.videoRange;o!=="SDR"&&(r.transferFunction=o.toLowerCase());let a=i.split(",").map(l=>({type:"media-source",video:ri(ri({},r),{},{contentType:Ko(l,"video")})}));return n&&s.audioGroups&&s.audioGroups.forEach(l=>{var d;l&&((d=e.groups[l])==null||d.tracks.forEach(u=>{if(u.groupId===l){let c=u.channels||"",h=parseFloat(c);Re(h)&&h>2&&a.push.apply(a,n.split(",").map(f=>({type:"media-source",audio:{contentType:Ko(f,"audio"),channels:""+h}})));}}));}),Promise.all(a.map(l=>{let d=KI(l);return Ry[d]||(Ry[d]=t.decodingInfo(l));})).then(l=>({supported:!l.some(d=>!d.supported),configurations:a,decodingInfoResults:l})).catch(l=>({supported:!1,configurations:a,decodingInfoResults:[],error:l}));}function KI(s){let{audio:e,video:t}=s,i=t||e;if(i){let n=i.contentType.split('"')[1];if(t)return`r${t.height}x${t.width}f${Math.ceil(t.framerate)}${t.transferFunction||"sd"}_${n}_${Math.ceil(t.bitrate/1e5)}`;if(e)return`c${e.channels}${e.spatialRendering?"s":"n"}_${n}`;}return"";}function YI(){if(typeof matchMedia=="function"){let s=matchMedia("(dynamic-range: high)"),e=matchMedia("bad query");if(s.media!==e.media)return s.matches===!0;}return!1;}function XI(s,e){let t=!1,i=[];return s&&(t=s!=="SDR",i=[s]),e&&(i=e.allowedVideoRanges||md.slice(0),t=e.preferHDR!==void 0?e.preferHDR:YI(),t?i=i.filter(n=>n!=="SDR"):i=["SDR"]),{preferHDR:t,allowedVideoRanges:i};}function QI(s,e,t,i,n){let r=Object.keys(s),o=i==null?void 0:i.channels,a=i==null?void 0:i.audioCodec,l=o&&parseInt(o)===2,d=!0,u=!1,c=1/0,h=1/0,f=1/0,p=0,g=[],{preferHDR:m,allowedVideoRanges:b}=XI(e,n);for(let R=r.length;R--;){let C=s[r[R]];d=C.channels[2]>0,c=Math.min(c,C.minHeight),h=Math.min(h,C.minFramerate),f=Math.min(f,C.minBitrate);let A=b.filter(O=>C.videoRanges[O]>0);A.length>0&&(u=!0,g=A);}c=Re(c)?c:0,h=Re(h)?h:0;let T=Math.max(1080,c),S=Math.max(30,h);return f=Re(f)?f:t,t=Math.max(f,t),u||(e=void 0,g=[]),{codecSet:r.reduce((R,C)=>{let A=s[C];if(C===R)return R;if(A.minBitrate>t)return Rn(C,`min bitrate of ${A.minBitrate} > current estimate of ${t}`),R;if(!A.hasDefaultAudio)return Rn(C,"no renditions with default or auto-select sound found"),R;if(a&&C.indexOf(a.substring(0,4))%5!==0)return Rn(C,`audio codec preference "${a}" not found`),R;if(o&&!l){if(!A.channels[o])return Rn(C,`no renditions with ${o} channel sound found (channels options: ${Object.keys(A.channels)})`),R;}else if((!a||l)&&d&&A.channels[2]===0)return Rn(C,"no renditions with stereo sound found"),R;return A.minHeight>T?(Rn(C,`min resolution of ${A.minHeight} > maximum of ${T}`),R):A.minFramerate>S?(Rn(C,`min framerate of ${A.minFramerate} > maximum of ${S}`),R):g.some(O=>A.videoRanges[O]>0)?A.maxScore<p?(Rn(C,`max score of ${A.maxScore} < selected max of ${p}`),R):R&&(fd(C)>=fd(R)||A.fragmentError>s[R].fragmentError)?R:(p=A.maxScore,C):(Rn(C,`no variants with VIDEO-RANGE of ${JSON.stringify(g)} found`),R);},void 0),videoRanges:g,preferHDR:m,minFramerate:h,minBitrate:f};}function Rn(s,e){X.log(`[abr] start candidates with "${s}" ignored because ${e}`);}function JI(s){return s.reduce((e,t)=>
81{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 n=t.channels||"2";return i.channels[n]=(i.channels[n]||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 ZI(s,e,t,i){return s.slice(t,i+1).reduce((n,r)=>{if(!r.codecSet)return n;let o=r.audioGroups,a=n[r.codecSet];a||(n[r.codecSet]=a={minBitrate:1/0,minHeight:1/0,minFramerate:1/0,maxScore:0,videoRanges:{SDR:0},channels:{2:0},hasDefaultAudio:!o,fragmentError:0}),a.minBitrate=Math.min(a.minBitrate,r.bitrate);let l=Math.min(r.height,r.width);return a.minHeight=Math.min(a.minHeight,l),a.minFramerate=Math.min(a.minFramerate,r.frameRate),a.maxScore=Math.max(a.maxScore,r.score),a.fragmentError+=r.fragmentError,a.videoRanges[r.videoRange]=(a.videoRanges[r.videoRange]||0)+1,o&&o.forEach(d=>{if(!d)return;let u=e.groups[d];u&&(a.hasDefaultAudio=a.hasDefaultAudio||e.hasDefaultAudio?u.hasDefault:u.hasAutoSelect||!e.hasDefaultAudio&&!e.hasAutoSelectAudio,Object.keys(u.channels).forEach(c=>{a.channels[c]=(a.channels[c]||0)+u.channels[c];}));}),n;},{});}function on(s,e,t){if("attrs"in s){let i=e.indexOf(s);if(i!==-1)return i;}for(let i=0;i<e.length;i++){let n=e[i];if(As(s,n,t))return i;}return-1;}function As(s,e,t){let{groupId:i,name:n,lang:r,assocLang:o,characteristics:a,default:l}=s,d=s.forced;return(i===void 0||e.groupId===i)&&(n===void 0||e.name===n)&&(r===void 0||e.lang===r)&&(r===void 0||e.assocLang===o)&&(l===void 0||e.default===l)&&(d===void 0||e.forced===d)&&(a===void 0||eR(a,e.characteristics))&&(t===void 0||t(s,e));}function eR(s,e=""){let t=s.split(","),i=e.split(",");return t.length===i.length&&!t.some(n=>i.indexOf(n)===-1);}function ys(s,e){let{audioCodec:t,channels:i}=s;return(t===void 0||(e.audioCodec||"").substring(0,4)===t.substring(0,4))&&(i===void 0||i===(e.channels||"2"));}function tR(s,e,t,i,n){let r=e[i],a=e.reduce((h,f,p)=>{let g=f.uri;return(h[g]||(h[g]=[])).push(p),h;},{})[r.uri];a.length>1&&(i=Math.max.apply(Math,a));let l=r.videoRange,d=r.frameRate,u=r.codecSet.substring(0,4),c=Py(e,i,h=>{if(h.videoRange!==l||h.frameRate!==d||h.codecSet.substring(0,4)!==u)return!1;let f=h.audioGroups,p=t.filter(g=>!f||f.indexOf(g.groupId)!==-1);return on(s,p,n)>-1;});return c>-1?c:Py(e,i,h=>{let f=h.audioGroups,p=t.filter(g=>!f||f.indexOf(g.groupId)!==-1);return on(s,p,n)>-1;});}function Py(s,e,t){for(let i=e;i;i--)if(t(s[i]))return i;for(let i=e+1;i<s.length;i++)if(t(s[i]))return i;return-1;}var Kh=class{constructor(e){this.hls=void 0,this.lastLevelLoadSec=0,this.lastLoadedFragLevel=-1,this.firstSelection=-1,this._nextAutoLevel=-1,this.nextAutoLevelKey="",this.audioTracksByGroup=null,this.co
81decTiers=null,this.timer=-1,this.fragCurrent=null,this.partCurrent=null,this.bitrateTestDelay=0,this.bwEstimator=void 0,this._abandonRulesCheck=()=>{let{fragCurrent:t,partCurrent:i,hls:n}=this,{autoLevelEnabled:r,media:o}=n;if(!t||!o)return;let a=performance.now(),l=i?i.stats:t.stats,d=i?i.duration:t.duration,u=a-l.loading.start,c=n.minAutoLevel;if(l.aborted||l.loaded&&l.loaded===l.total||t.level<=c){this.clearTimer(),this._nextAutoLevel=-1;return;}if(!r||o.paused||!o.playbackRate||!o.readyState)return;let h=n.mainForwardBufferInfo;if(h===null)return;let f=this.bwEstimator.getEstimateTTFB(),p=Math.abs(o.playbackRate);if(u<=Math.max(f,1e3*(d/(p*2))))return;let g=h.len/p,m=l.loading.first?l.loading.first-l.loading.start:-1,b=l.loaded&&m>-1,T=this.getBwEstimate(),S=n.levels,P=S[t.level],R=l.total||Math.max(l.loaded,Math.round(d*P.averageBitrate/8)),C=b?u-m:u;C<1&&b&&(C=Math.min(u,l.loaded*8/T));let A=b?l.loaded*1e3/C:0,O=A?(R-l.loaded)/A:R*8/T+f/1e3;if(O<=g)return;let U=A?A*8:T,j=Number.POSITIVE_INFINITY,K;for(K=t.level-1;K>c;K--){let oe=S[K].maxBitrate;if(j=this.getTimeToLoadFrag(f/1e3,U,d*oe,!S[K].details),j<g)break;}if(j>=O||j>d*10)return;n.nextLoadLevel=n.nextAutoLevel=K,b?this.bwEstimator.sample(u-Math.min(f,m),l.loaded):this.bwEstimator.sampleTTFB(u);let Y=S[K].maxBitrate;this.getBwEstimate()*this.hls.config.abrBandWidthUpFactor>Y&&this.resetEstimator(Y),this.clearTimer(),X.warn(`[abr] Fragment ${t.sn}${i?" part "+i.index:""} of level ${t.level} is loading too slowly; 82 Time to underbuffer: ${g.toFixed(3)} s 83 Estimated load time for current fragment: ${O.toFixed(3)} s 84 Estimated load time for down switch fragment: ${j.toFixed(3)} s 85 TTFB estimate: ${m|0} ms 86 Current BW estimate: ${Re(T)?T|0:"Unknown"} bps 87 New BW estimate: ${this.getBwEstimate()|0} bps 88 Switching to level ${K} @ ${Y|0} bps`),n.trigger(w.FRAG_LOAD_EMERGENCY_ABORTED,{frag:t,part:i,stats:l});},this.hls=e,this.bwEstimator=this.initEstimator(),this.registerListeners();}resetEstimator(e){e&&(X.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 qh(e.abrEwmaSlowVoD,e.abrEwmaFastVoD,e.abrEwmaDefaultEstimate);}registerListeners(){let{hls:e}=this;e.on(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.FRAG_LOADING,this.onFragLoading,this),e.on(w.FRAG_LOADED,this.onFragLoaded,this),e.on(w.FRAG_BUFFERED,this.onFragBuffered,this),e.on(w.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(w.LEVEL_LOADED,this.onLevelLoaded,this),e.on(w.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(w.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.on(w.ERROR,this.onError,this);}unregisterListeners(){let{hls:e}=this;e&&(e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.FRAG_LOADING,this.onFragLoading,this),e.off(w.FRAG_LOADED,this.onFragLoaded,this),e.off(w.FRAG_BUFFERED,this.onFragBuffered,this),e.off(w.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(w.LEVEL_LOADED,this.onLevelLoaded,this),e.off(w.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(w.MAX_AUTO_LEVEL_UPDATED,this.onMaxAutoLevelUpdated,this),e.off(w.ERROR,this.onError,this));}destroy(){this.unregisterListeners(),this.clearTimer(),this.hls=this._abandonRulesCheck=null,this.fragCurrent=this.partCurrent=null;}onManifestLoading(e,t){this.lastLoadedFragLevel=-1,this.firstSelection=-1,this.lastLevelLoadSec=0,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 n;this.fragCurrent=i,this.partCurrent=(n=t.part)!=null?n: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 te.BUFFER_ADD_CODEC_ERROR:case te.BUFFER_APPEND_ERROR:this.lastLoadedFragLevel=-1,this.firstSelection=-1;break;case te.FRAG_LOAD_TIMEOUT:{let i=t.frag,{fragCurrent:n,partCurrent:r}=this;if(i&&n&&i.sn===n.sn&&i.level===n.level){let o=performance.now(),a=r?r.stats:i.stats,l=o-a.loading.start,d=a.loading.first?a.loading.first-a.loading.start:-1;if(a.loaded&&d>-1){let c=this.bwEstimator.getEstimateTTFB();this.bwEstimator.sample(l-Math.min(c,d),a.loaded);}else this.bwEstimator.sampleTTFB(l);}break;}}}getTimeToLoadFrag(e,t,i,n){let r=e+i/t,o=n?this.lastLevelLoadSec:0;return r+o;}onLevelLoaded(e,t){let i=this.hls.config,{loading:n}=t.stats,r=n.end-n.start;Re(r)&&(this.lastLevelLoadSec=r/1e3),t.details.live?this.bwEstimator.update(i.abrEwmaSlowLive,i.abrEwmaFastLive):this.bwEstimator.update(i.abrEwmaSlowVoD,i.abrEwmaFastVoD);}onFragLoaded(e,{frag:t,part:i}
vendor: 2,037 bytes, line 88
88){let n=i?i.stats:t.stats;if(t.type===Fe.MAIN&&this.bwEstimator.sampleTTFB(n.loading.first-n.loading.start),!this.ignoreFragment(t)){if(this.clearTimer(),t.level===this._nextAutoLevel&&(this._nextAutoLevel=-1),this.firstSelection=-1,this.hls.config.abrMaxWithRealBitrate){let r=i?i.duration:t.duration,o=this.hls.levels[t.level],a=(o.loaded?o.loaded.bytes:0)+n.loaded,l=(o.loaded?o.loaded.duration:0)+r;o.loaded={bytes:a,duration:l},o.realBitrate=Math.round(8*a/l);}if(t.bitrateTest){let r={stats:n,frag:t,part:i,id:t.type};this.onFragBuffered(w.FRAG_BUFFERED,r),t.bitrateTest=!1;}else this.lastLoadedFragLevel=t.level;}}onFragBuffered(e,t){let{frag:i,part:n}=t,r=n!=null&&n.stats.loaded?n.stats:i.stats;if(r.aborted||this.ignoreFragment(i))return;let o=r.parsing.end-r.loading.start-Math.min(r.loading.first-r.loading.start,this.bwEstimator.getEstimateTTFB());this.bwEstimator.sample(o,r.loaded),r.bwEstimate=this.getBwEstimate(),i.bitrateTest?this.bitrateTestDelay=o/1e3:this.bitrateTestDelay=0;}ignoreFragment(e){return e.type!==Fe.MAIN||e.sn==="initSegment";}clearTimer(){this.timer>-1&&(self.clearInterval(this.timer),this.timer=-1);}get firstAutoLevel(){let{maxAutoLevel:e,minAutoLevel:t}=this.hls,i=this.getBwEstimate(),n=this.hls.config.maxStarvationDelay,r=this.findBestLevel(i,t,e,0,n,1,1);if(r>-1)return r;let o=this.hls.firstLevel,a=Math.min(Math.max(o,t),e);return X.warn(`[abr] Could not find best starting auto level. Defaulting to first in playlist ${o} clamped to ${a}`),a;}get forcedAutoLevel(){return this.nextAutoLevelKey?-1:this._nextAutoLevel;}get nextAutoLevel(){let e=this.forcedAutoLevel,i=this.bwEstimator.canEstimate(),n=this.lastLoadedFragLevel>-1;if(e!==-1&&(!i||!n||this.nextAutoLevelKey===this.getAutoLevelKey()))return e;let r=i&&n?this.getNextABRAutoLevel():this.firstAutoLevel;if(e!==-1){let o=this.hls.levels;if(o.length>Math.max(e,r)&&o[e].loadError<=o[r].loadError)return e;}return this._nextAutoLevel=r,this.nextAutoLevelKey=this.getAutoLevelKey(),r;}getAutoLevelKey(){return`${this.getBwEstimate()}
88_${this.getStarvationDelay().toFixed(2)}`;}getNextABRAutoLevel(){let{fragCurrent:e,partCurrent:t,hls:i}=this,{maxAutoLevel:n,config:r,minAutoLevel:o}=i,a=t?t.duration:e?e.duration:0,l=this.getBwEstimate(),d=this.getStarvationDelay(),u=r.abrBandWidthFactor,c=r.abrBandWidthUpFactor;if(d){let m=this.findBestLevel(l,o,n,d,0,u,c);if(m>=0)return m;}let h=a?Math.min(a,r.maxStarvationDelay):r.maxStarvationDelay;if(!d){let m=this.bitrateTestDelay;m&&(h=(a?Math.min(a,r.maxLoadingDelay):r.maxLoadingDelay)-m,X.info(`[abr] bitrate test took ${Math.round(1e3*m)}ms, set first fragment max fetchDuration to ${Math.round(1e3*h)} ms`),u=c=1);}let f=this.findBestLevel(l,o,n,d,h,u,c);if(X.info(`[abr] ${d?"rebuffering expected":"buffer is empty"}, optimal quality level ${f}`),f>-1)return f;let p=i.levels[o],g=i.levels[i.loadLevel];return(p==null?void 0:p.bitrate)<(g==null?void 0:g.bitrate)?o:i.loadLevel;}getStarvationDelay(){let e=this.hls,t=e.media;if(!t)return 1/0;let i=t&&t.playbackRate!==0?Math.abs(t.playbackRate):1,n=e.mainForwardBufferInfo;return(n?n.len:0)/i;}getBwEstimate(){return this.bwEstimator.canEstimate()?this.bwEstimator.getEstimate():this.hls.config.abrEwmaDefaultEstimate;}findBestLevel(e,t,i,n,r,o,a){var l;let d=n+r,u=this.lastLoadedFragLevel,c=u===-1?this.hls.firstLevel:u,{fragCurrent:h,partCurrent:f}=this,{levels:p,allAudioTracks:g,loadLevel:m,config:b}=this.hls;if(p.length===1)return 0;let T=p[c],S=!!(T!=null&&(l=T.details)!=null&&l.live),P=m===-1||u===-1,R,C="SDR",A=(T==null?void 0:T.frameRate)||0,{audioPreference:O,videoPreference:U}=b,j=this.audioTracksByGroup||(this.audioTracksByGroup=JI(g));if(P){if(this.firstSelection!==-1)return this.firstSelection;let xe=this.codecTiers||(this.codecTiers=ZI(p,j,t,i)),Ae=QI(xe,C,e,O,U),{codecSet:He,videoRanges:Xe,minFramerate:Te,minBitrate:fe,preferHDR:me}=Ae;R=He,C=me?Xe[Xe.length-1]:Xe[0],A=Te,e=Math.max(e,fe),X.log(`[abr] picked start tier ${JSON.stringify(Ae)}`);}else R=T==null?void 0:T.codecSet,C=T==null?void 0:T.videoRange;let K=f?f.duration:h?h.duration:0,Y=this.bwEstimator.getEstimateTTFB()/1e3,oe=[];for(let xe=i;xe>=t;xe--){var Ee;let Ae=p[xe],He=xe>c;if(!Ae)continue;if(b.useMediaCapabilities&&!Ae.supportedResult&&!Ae.supportedPromise){let nt=navigator.mediaCapabilities;typeof(nt==null?void 0:nt.decodingInfo)=="function"&&zI(Ae,j,C,A,e,O)?(Ae.supportedPromise=qI(Ae,j,nt),Ae.supportedPromise.then(tt=>{if(!this.hls)return;Ae.supportedResult=tt;let dt=this.hls.levels,Tt=dt.indexOf(Ae);tt.error?X.warn(`[abr] MediaCapabilities decodingInfo error: "${tt.error}" for level ${Tt} ${JSON.stringify(tt)}`):tt.supported||(X.warn(`[abr] Unsupported MediaCapabilities decodingInfo result for level ${Tt} ${JSON.stringify(tt)}`),Tt>-1&&dt.length>1&&(X.log(`[abr] Removing unsupported level ${Tt}`),this.hls.removeLevel(Tt)));})):Ae.supportedResult=yb;}if(R&&Ae.codecSet!==R||C&&Ae.videoRange!==C||He&&A>Ae.frameRate||!He&&A>0&&A<Ae.frameRate||Ae.supportedResult&&!((Ee=Ae.supportedResult.decodingInfoResults)!=null&&Ee[0].smooth)){oe.push(xe);continue;}let Xe=Ae.details,Te=(f?Xe==null?void 0:Xe.partTarget:Xe==null?void 0:Xe.averagetargetduration)||K,fe;He?fe=a*e:fe=o*e;let me=K&&n>=K*2&&r===0?p[xe].averageBitrate:p[xe].maxBitrate,ge=this.getTimeToLoadFrag(Y,fe,me*Te,Xe===void 0);if(fe>=me&&(xe===u||Ae.loadError===0&&Ae.fragmentError===0)&&(ge<=Y||!Re(ge)||S&&!this.bitrateTestDelay||ge<d)){let nt=this.forcedAutoLevel;return xe!==m&&(nt===-1||nt!==m)&&(oe.length&&X.trace(`[abr] Skipped level(s) ${oe.join(",")} of ${i} max with CODECS and VIDEO-RANGE:"${p[oe[0]].codecs}" ${p[oe[0]].videoRange}; not compatible with "${T.codecs}" ${C}`),X.info(`[abr] switch candidate:${c}->${xe} adjustedbw(${Math.round(fe)})-bitrate=${Math.round(fe-me)} ttfb:${Y.toFixed(1)} avgDuration:${Te.toFixed(1)} maxFetchDuration:${d.toFixed(1)} fetchDuration:${ge.toFixed(1)} firstSelection:${P} codecSet:${R} videoRange:${C} hls.loadLevel:${m}`)),P&&(this.firstSelection=xe),xe;}}return-1;}set nextAutoLevel(e){let{maxAutoLevel:t,minAutoLevel:i}=this.hls,n=Math.min(Math.max(e,i),t);this._nextAutoLevel!==n&&(this.nextAutoLevelKey="",this._nextAutoLevel=n);}},Yh=class{constructor(){this._boundTick=void 0,this._tickTimer=null,this._tickInterval=null,this._tickCallCount=0,this._boundTick=this.tick.bind(this);}destroy(){this.onHandlerDestroying(),this.onHandlerDestroyed();}onHandlerDestroying(){this.clearNextTick(),this.clearInterval();}onHandlerDestroyed(){}hasInterval(){return!!this._tickInterval;}hasNextTick(){return!!this._tickTimer;}setInterval(e){return this._tickInterval?!1:(this._tickCallCount=0,this._tickInterval=self.setInterval(this._boundTick,e),!0);}clearInterval(){return this._tickInterval?(self.clearInterval(this._tickInterval),this._tickInterval=null,!0):!1;}clearNextTick(){return this._tickTimer?(self.clearTimeout(this._tickTimer),this._tickTimer=null,!0):!1;}tick(){this._tickCallCount++,this._tickCallCount===1&&(this.doTick(),this._tickCallCount>1&&this.tickImmediate(),this._tickCallCount=0);}tickImmediate(){this.clearNextTick(),this._tickTimer=self.setTimeout(this._boundTick,0);}doTick(){}},ni={NOT_LOADED:"NOT_LOADED",APPENDING:"APPENDING",PARTIAL:"PARTIAL",OK:"OK"},Xh=class{constructor(e){this.activePartLists=Object.create(null),this.endListFragments=Object.create(null),this.fragments=Object.create(null),this.timeRanges=Object.create(null),this.bufferPadding=.2,this.hls=void 0,this.hasGaps=!1,this.hls=e,this._registerListeners();}_registerListeners(){let{hls:e}=this;e.on(w.BUFFER_APPENDED,this.onBufferAppended,this),e.on(w.FRAG_BUFFERED,this.onFragBuffered,this),e.on(w.FRAG_LOADED,this.onFragLoaded,this);}_unregisterListeners(){let{hls:e}=this;e.off(w.BUFFER_APPENDED,this.onBufferAppended,this),e.off(w.FRAG_BUFFERED,this.onFragBuffered,this),e.off(w.FRAG_LOADED,this.onFragLoaded,this);}destroy(){this._unregisterListeners(),this.fragments=this.activePartLists=this.endListFragments=this.timeRanges=null;}getAppendedFrag(e,t){let i=this.activePartLists[t];if(i)for(let n=i.length;n--;){let r=i[n];if(!r)break;let o=r.end;if(r.start<=e&&o!==null&&e<=o)return r;}return this.getBufferedFrag(e,t);}getBufferedFrag(e,t){let{fragments:i}=this,n=Object.keys(i);for(let r=n.length;r--;){let o=i[n[r]];if((o==null?void 0:o.body.type)===t&&o.buffered){let a=o.body;if(a.start<=e&&e<=a.end)return a;}}return null;}detectEvictedFragments(e,t,i,n){this.timeRanges&&(this.timeRanges[e]=t);let r=(n==null?void 0:n.fragment.sn)||-1;
88Object.keys(this.fragments).forEach(o=>{let a=this.fragments[o];if(!a||r>=a.body.sn)return;if(!a.buffered&&!a.loaded){a.body.type===i&&this.removeFragment(a.body);return;}let l=a.range[e];l&&l.time.some(d=>{let u=!this.isTimeBuffered(d.startPTS,d.endPTS,t);return u&&this.removeFragment(a.body),u;});});}detectPartialFragments(e){let t=this.timeRanges,{frag:i,part:n}=e;if(!t||i.sn==="initSegment")return;let r=bs(i),o=this.fragments[r];if(!o||o.buffered&&i.gap)return;let a=!i.relurl;Object.keys(t).forEach(l=>{let d=i.elementaryStreams[l];if(!d)return;let u=t[l],c=a||d.partial===!0;o.range[l]=this.getBufferedTimes(i,n,c,u);}),o.loaded=null,Object.keys(o.range).length?(o.buffered=!0,(o.body.endList=i.endList||o.body.endList)&&(this.endListFragments[o.body.type]=o),Yl(o)||this.removeParts(i.sn-1,i.type)):this.removeFragment(o.body);}removeParts(e,t){let i=this.activePartLists[t];i&&(this.activePartLists[t]=i.filter(n=>n.fragment.sn>=e));}fragBuffered(e,t){let i=bs(e),n=this.fragments[i];!n&&t&&(n=this.fragments[i]={body:e,appendedPTS:null,loaded:null,buffered:!1,range:Object.create(null)},e.gap&&(this.hasGaps=!0)),n&&(n.loaded=null,n.buffered=!0);}getBufferedTimes(e,t,i,n){let r={time:[],partial:i},o=e.start,a=e.end,l=e.minEndPTS||a,d=e.maxStartPTS||o;for(let u=0;u<n.length;u++){let c=n.start(u)-this.bufferPadding,h=n.end(u)+this.bufferPadding;if(d>=c&&l<=h){r.time.push({startPTS:Math.max(o,n.start(u)),endPTS:Math.min(a,n.end(u))});break;}else if(o<h&&a>c){let f=Math.max(o,n.start(u)),p=Math.min(a,n.end(u));p>f&&(r.partial=!0,r.time.push({startPTS:f,endPTS:p}));}else if(a<=c)break;}return r;}getPartialFragment(e){let t=null,i,n,r,o=0,{bufferPadding:a,fragments:l}=this;return Object.keys(l).forEach(d=>{let u=l[d];u&&Yl(u)&&(n=u.body.start-a,r=u.body.end+a,e>=n&&e<=r&&(i=Math.min(e-n,r-e),o<=i&&(t=u.body,o=i)));}),t;}isEndListAppended(e){let t=this.endListFragments[e];return t!==void 0&&(t.buffered||Yl(t));}getState(e){let t=bs(e),i=this.fragments[t];return i?i.buffered?Yl(i)?ni.PARTIAL:ni.OK:ni.APPENDING:ni.NOT_LOADED;}isTimeBuffered(e,t,i){let n,r;for(let o=0;o<i.length;o++){if(n=i.start(o)-this.bufferPadding,r=i.end(o)+this.bufferPadding,e>=n&&t<=r)return!0;if(t<=n)return!1;}return!1;}onFragLoaded(e,t){let{frag:i,part:n}=t;if(i.sn==="initSegment"||i.bitrateTest)return;let r=n?null:t,o=bs(i);this.fragments[o]={body:i,appendedPTS:null,loaded:r,buffered:!1,range:Object.create(null)};}onBufferAppended(e,t){let{frag:i,part:n,timeRanges:r}=t;if(i.sn==="initSegment")return;let o=i.type;if(n){let a=this.activePartLists[o];a||(this.activePartLists[o]=a=[]),a.push(n);}this.timeRanges=r,Object.keys(r).forEach(a=>{let l=r[a];this.detectEvictedFragments(a,l,o,n);});}onFragBuffered(e,t){this.detectPartialFragments(t);}hasFragment(e){let t=bs(e);return!!this.fragments[t];}hasParts(e){var t;return!!((t=this.activePartLists[e])!=null&&t.length);}removeFragmentsInRange(e,t,i,n,r){n&&!this.hasGaps||Object.keys(this.fragments).forEach(o=>{let a=this.fragments[o];if(!a)return;let l=a.body;l.type!==i||n&&!l.gap||l.start<t&&l.end>e&&(a.buffered||r)&&this.removeFragment(l);});}removeFragment(e){let t=bs(e);e.stats.loaded=0,e.clearElementaryStreamInfo();let i=this.activePartLists[e.type];if(i){let n=e.sn;this.activePartLists[e.type]=i.filter(r=>r.fragment.sn!==n);}delete this.fragments[t],e.endList&&delete this.endListFragments[e.type];}removeAllFragments(){this.fragments=Object.create(null),this.endListFragments=Object.create(null),this.activePartLists=Object.create(null),this.hasGaps=!1;}};function Yl(s){var e,t,i;return s.buffered&&(s.body.gap||((e=s.range.video)==null?void 0:e.partial)||((t=s.range.audio)==null?void 0:t.partial)||((i=s.range.audiovideo)==null?void 0:i.partial));}function bs(s){return`${s.type}_${s.level}_${s.sn}`;}var iR={length:0,start:()=>0,end:()=>0},At=class s{static isBuffered(e,t){try{if(e){let i=s.getBuffered(e);for(let n=0;n<i.length;n++)if(t>=i.start(n)&&t<=i.end(n))return!0;}}catch{}return!1;}static bufferInfo(e,t,i){try{if(e){let n=s.getBuffered(e),r=[],o;for(o=0;o<n.length;o++)r.push({start:n.start(o),end:n.end(o)});return this.bufferedInfo(r,t,i);}}catch{}return{len:0,start:t,end:t,nextStart:void 0};}static bufferedInfo(e,t,i){t=Math.max(0,t),e.sort(function(d,u){let c=d.start-u.start;return c||u.end-d.end;});let n=[];if(i)for(let d=0;d<e.length;d++){let u=n.length;if(u){let c=n[u-1].end;e[d].start-c<i?e[d].end>c&&(n[u-1].end=e[d].end):n.push(e[d]);}else n.push(e[d]);}else n=e;let r=0,o,a=t,l=t;for(let d=0;d<n.length;d++){let u=n[d].start,c=n[d].end;if(t+i>=u&&t<c)a=u,l=c,r=l-t;else if(t+i<u){o=u;break;}}return{len:r,start:a||0,end:l||0,nextStart:o};}static getBuffered(e){try{return e.buffered;}catch(t){return X.log("failed to get media.buffered",t),iR;}}},Xo=class{constructor(e,t,i,n=0,r=-1,o=!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=Xl(),this.buffering={audio:Xl(),video:Xl(),audiovideo:Xl()},this.level=e,this.sn=t,this.id=i,this.size=n,this.part=r,this.partial=o;}};function Xl(){return{start:0,executeStart:0,executeEnd:0,end:0};}function rd(s,e){for(let i=0,n=s.length;i<n;i++){var t;if(((t=s[i])==null?void 0:t.cc)===e)return s[i];}return null;}function nR(s,e,t){return!!(e&&(t.endCC>t.startCC||s&&s.cc<t.startCC));}function rR(s,e){let t=s.fragments,i=e.fragments;if(!i.length||!t.length){X.log("No fragments to align");return;}let n=rd(t,i[0].cc);
88if(!n||n&&!n.startPTS){X.log("No frag in previous level to align on");return;}return n;}function ky(s,e){if(s){let t=s.start+e;s.start=s.startPTS=t,s.endPTS=t+s.duration;}}function bb(s,e){let t=e.fragments;for(let i=0,n=t.length;i<n;i++)ky(t[i],s);e.fragmentHint&&ky(e.fragmentHint,s),e.alignedSliding=!0;}function sR(s,e,t){e&&(oR(s,t,e),!t.alignedSliding&&e&&bd(t,e),!t.alignedSliding&&e&&!t.skippedSegments&&mb(e,t));}function oR(s,e,t){if(nR(s,t,e)){let i=rR(t,e);i&&Re(i.start)&&(X.log(`Adjusting PTS using last level due to CC increase within current level ${e.url}`),bb(i.start,e));}}function bd(s,e){if(!s.hasProgramDateTime||!e.hasProgramDateTime)return;let t=s.fragments,i=e.fragments;if(!t.length||!i.length)return;let n,r,o=Math.min(e.endCC,s.endCC);e.startCC<o&&s.startCC<o&&(n=rd(i,o),r=rd(t,o)),(!n||!r)&&(n=i[Math.floor(i.length/2)],r=rd(t,n.cc)||t[Math.floor(t.length/2)]);let a=n.programDateTime,l=r.programDateTime;if(!a||!l)return;let d=(l-a)/1e3-(r.start-n.start);bb(d,s);}var Oy=Math.pow(2,17),Qh=class{constructor(e){this.config=void 0,this.loader=null,this.partLoadTimeout=-1,this.config=e;}destroy(){this.loader&&(this.loader.destroy(),this.loader=null);}abort(){this.loader&&this.loader.abort();}load(e,t){let i=e.url;if(!i)return Promise.reject(new $i({type:Be.NETWORK_ERROR,details:te.FRAG_LOAD_ERROR,fatal:!1,frag:e,error:new Error(`Fragment does not have a ${i?"part list":"url"}`),networkDetails:null}));this.abort();let n=this.config,r=n.fLoader,o=n.loader;return new Promise((a,l)=>{if(this.loader&&this.loader.destroy(),e.gap)if(e.tagList.some(f=>f[0]==="GAP")){l(My(e));return;}else e.gap=!1;let d=this.loader=e.loader=r?new r(n):new o(n),u=Ly(e),c=Iy(n.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:e.sn==="initSegment"?1/0:Oy};e.stats=d.stats,d.load(u,h,{onSuccess:(f,p,g,m)=>{this.resetLoader(e,d);let b=f.data;g.resetIV&&e.decryptdata&&(e.decryptdata.iv=new Uint8Array(b.slice(0,16)),b=b.slice(16)),a({frag:e,part:null,payload:b,networkDetails:m});},onError:(f,p,g,m)=>{this.resetLoader(e,d),l(new $i({type:Be.NETWORK_ERROR,details:te.FRAG_LOAD_ERROR,fatal:!1,frag:e,response:ri({url:i,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:g,stats:m}));},onAbort:(f,p,g)=>{this.resetLoader(e,d),l(new $i({type:Be.NETWORK_ERROR,details:te.INTERNAL_ABORTED,fatal:!1,frag:e,error:new Error("Aborted"),networkDetails:g,stats:f}));},onTimeout:(f,p,g)=>{this.resetLoader(e,d),l(new $i({type:Be.NETWORK_ERROR,details:te.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:g,stats:f}));},onProgress:(f,p,g,m)=>{t&&t({frag:e,part:null,payload:g,networkDetails:m});}});});}loadPart(e,t,i){this.abort();let n=this.config,r=n.fLoader,o=n.loader;return new Promise((a,l)=>{if(this.loader&&this.loader.destroy(),e.gap||t.gap){l(My(e,t));return;}let d=this.loader=e.loader=r?new r(n):new o(n),u=Ly(e,t),c=Iy(n.fragLoadPolicy.default),h={loadPolicy:c,timeout:c.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0,highWaterMark:Oy};t.stats=d.stats,d.load(u,h,{onSuccess:(f,p,g,m)=>{this.resetLoader(e,d),this.updateStatsFromPart(e,t);let b={frag:e,part:t,payload:f.data,networkDetails:m};i(b),a(b);},onError:(f,p,g,m)=>{this.resetLoader(e,d),l(new $i({type:Be.NETWORK_ERROR,details:te.FRAG_LOAD_ERROR,fatal:!1,frag:e,part:t,response:ri({url:u.url,data:void 0},f),error:new Error(`HTTP Error ${f.code} ${f.text}`),networkDetails:g,stats:m}));},onAbort:(f,p,g)=>{e.stats.aborted=t.stats.aborted,this.resetLoader(e,d),l(new $i({type:Be.NETWORK_ERROR,details:te.INTERNAL_ABORTED,fatal:!1,frag:e,part:t,error:new Error("Aborted"),networkDetails:g,stats:f}));},onTimeout:(f,p,g)=>{this.resetLoader(e,d),l(new $i({type:Be.NETWORK_ERROR,details:te.FRAG_LOAD_TIMEOUT,fatal:!1,frag:e,part:t,error:new Error(`Timeout after ${h.timeout}ms`),networkDetails:g,stats:f}));}});});}updateStatsFromPart(e,t){let i=e.stats,n=t.stats,r=n.total;if(i.loaded+=n.loaded,r){let l=Math.round(e.duration/t.duration),d=Math.min(Math.round(i.loaded/r),l),c=(l-d)*Math.round(i.loaded/d);i.total=i.loaded+c;}else i.total=Math.max(i.loaded,i.total);let o=i.loading,a=n.loading;o.start?o.first+=a.first-a.start:(o.start=a.start,o.first=a.first),o.end=a.end;}
88resetLoader(e,t){e.loader=null,this.loader===t&&(self.clearTimeout(this.partLoadTimeout),this.loader=null),t.destroy();}};function Ly(s,e=null){let t=e||s,i={frag:s,part:e,responseType:"arraybuffer",url:t.url,headers:{},rangeStart:0,rangeEnd:0},n=t.byteRangeStartOffset,r=t.byteRangeEndOffset;if(Re(n)&&Re(r)){var o;let a=n,l=r;if(s.sn==="initSegment"&&((o=s.decryptdata)==null?void 0:o.method)==="AES-128"){let d=r-n;d%16&&(l=r+(16-d%16)),n!==0&&(i.resetIV=!0,a=n-16);}i.rangeStart=a,i.rangeEnd=l;}return i;}function My(s,e){let t=new Error(`GAP ${s.gap?"tag":"attribute"} found`),i={type:Be.MEDIA_ERROR,details:te.FRAG_GAP,fatal:!1,frag:s,error:t,networkDetails:null};return e&&(i.part=e),(e||s).stats.aborted=!0,new $i(i);}var $i=class extends Error{constructor(e){super(e.error.message),this.data=void 0,this.data=e;}},Jh=class{constructor(e,t){this.subtle=void 0,this.aesIV=void 0,this.subtle=e,this.aesIV=t;}decrypt(e,t){return this.subtle.decrypt({name:"AES-CBC",iv:this.aesIV},t,e);}},Zh=class{constructor(e,t){this.subtle=void 0,this.key=void 0,this.subtle=e,this.key=t;}expandKey(){return this.subtle.importKey("raw",this.key,{name:"AES-CBC"},!1,["encrypt","decrypt"]);}};function aR(s){let e=s.byteLength,t=e&&new DataView(s.buffer).getUint8(e-1);return t?Er(s,0,e-t):s;}var ef=class{constructor(){this.rcon=[0,1,2,4,8,16,32,64,128,27,54],this.subMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.invSubMix=[new Uint32Array(256),new Uint32Array(256),new Uint32Array(256),new Uint32Array(256)],this.sBox=new Uint32Array(256),this.invSBox=new Uint32Array(256),this.key=new Uint32Array(0),this.ksRows=0,this.keySize=0,this.keySchedule=void 0,this.invKeySchedule=void 0,this.initTable();}uint8ArrayToUint32Array_(e){let t=new DataView(e),i=new Uint32Array(4);for(let n=0;n<4;n++)i[n]=t.getUint32(n*4);return i;}initTable(){let e=this.sBox,t=this.invSBox,i=this.subMix,n=i[0],r=i[1],o=i[2],a=i[3],l=this.invSubMix,d=l[0],u=l[1],c=l[2],h=l[3],f=new Uint32Array(256),p=0,g=0,m=0;for(m=0;m<256;m++)m<128?f[m]=m<<1:f[m]=m<<1^283;for(m=0;m<256;m++){let b=g^g<<1^g<<2^g<<3^g<<4;b=b>>>8^b&255^99,e[p]=b,t[b]=p;let T=f[p],S=f[T],P=f[S],R=f[b]*257^b*16843008;n[p]=R<<24|R>>>8,r[p]=R<<16|R>>>16,o[p]=R<<8|R>>>24,a[p]=R,R=P*16843009^S*65537^T*257^p*16843008,d[b]=R<<24|R>>>8,u[b]=R<<16|R>>>16,c[b]=R<<8|R>>>24,h[b]=R,p?(p=T^f[f[f[P^T]]],g^=f[f[g]]):p=g=1;}}expandKey(e){let t=this.uint8ArrayToUint32Array_(e),i=!0,n=0;for(;n<t.length&&i;)i=t[n]===this.key[n],n++;if(i)return;this.key=t;let r=this.keySize=t.length;if(r!==4&&r!==6&&r!==8)throw new Error("Invalid aes key size="+r);let o=this.ksRows=(r+6+1)*4,a,l,d=this.keySchedule=new Uint32Array(o),u=this.invKeySchedule=new Uint32Array(o),c=this.sBox,h=this.rcon,f=this.invSubMix,p=f[0],g=f[1],m=f[2],b=f[3],T,S;for(a=0;a<o;a++){if(a<r){T=d[a]=t[a];continue;}S=T,a%r===0?(S=S<<8|S>>>24,S=c[S>>>24]<<24|c[S>>>16&255]<<16|c[S>>>8&255]<<8|c[S&255],S^=h[a/r|0]<<24):r>6&&a%r===4&&(S=c[S>>>24]<<24|c[S>>>16&255]<<16|c[S>>>8&255]<<8|c[S&255]),d[a]=T=(d[a-r]^S)>>>0;}for(l=0;l<o;l++)a=o-l,l&3?S=d[a]:S=d[a-4],l<4||a<=4?u[l]=S:u[l]=p[c[S>>>24]]^g[c[S>>>16&255]]^m[c[S>>>8&255]]^b[c[S&255]],u[l]=u[l]>>>0;}networkToHostOrderSwap(e){return e<<24|(e&65280)<<8|(e&16711680)>>8|e>>>24;}decrypt(e,t,i){let n=this.keySize+6,r=this.invKeySchedule,o=this.invSBox,a=this.invSubMix,l=a[0],d=a[1],u=a[2],c=a[3],h=this.uint8ArrayToUint32Array_(i),f=h[0],p=h[1],g=h[2],m=h[3],b=new Int32Array(e),T=new Int32Array(b.length),S,P,R,C,A,O,U,j,K,Y,oe,Ee,xe,Ae,He=this.networkToHostOrderSwap;for(;t<b.length;){for(K=He(b[t]),Y=He(b[t+1]),oe=He(b[t+2]),Ee=He(b[t+3]),A=K^r[0],O=Ee^r[1],U=oe^r[2],j=Y^r[3],xe=4,Ae=1;Ae<n;Ae++)S=l[A>>>24]^d[O>>16&255]^u[U>>8&255]^c[j&255]^r[xe],P=l[O>>>24]^d[U>>16&255]^u[j>>8&255]^c[A&255]^r[xe+1],R=l[U>>>24]^d[j>>16&255]^u[A>>8&255]^c[O&255]^r[xe+2],C=l[j>>>24]^d[A>>16&255]^u[O>>8&255]^c[U&255]^r[xe+3],A=S,O=P,U=R,j=C,xe=xe+4;S=o[A>>>24]<<24^o[O>>16&255]<<16^o[U>>8&255]<<8^o[j&255]^r[xe],P=o[O>>>24]<<24^o[U>>16&255]<<16^o[j>>8&255]<<8^o[A&255]^r[xe+1],R=o[U>>>24]<<24^o[j>>16&255]<<16^o[A>>8&255]<<8^o[O&255]^r[xe+2],C=o[j>>>24]<<24^o[A>>16&255]<<16^o[O>>8&255]<<8^o[U&255]^r[xe+3],T[t]=He(S^f),T[t+1]=He(C^p),T[t+2]=He(R^g),T[t+3]=He(P^m),f=K,p=Y,g=oe,m=Ee,t=t+4;}return T.buffer;}},lR=16,Qo=class{constructor(e,{removePKCS7Padding:t=!0}={}){if(this.logEnabled=!0,this.removePKCS7Padding=void 0,this.subtle=null,this.softwareDecrypter=null,this.key=null,this.fastAesKey=null,this.remainderData=null,this.currentIV=null,this.currentResult=null,this.useSoftware=void 0,this.useSoftware=e.enableSoftw
88areAES,this.removePKCS7Padding=t,t)try{let i=self.crypto;i&&(this.subtle=i.subtle||i.webkitSubtle);}catch{}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);return this.reset(),this.removePKCS7Padding?aR(i):i;}reset(){this.currentResult=null,this.currentIV=null,this.remainderData=null,this.softwareDecrypter&&(this.softwareDecrypter=null);}decrypt(e,t,i){return this.useSoftware?new Promise((n,r)=>{this.softwareDecrypt(new Uint8Array(e),t,i);let o=this.flush();o?n(o.buffer):r(new Error("[softwareDecrypt] Failed to decrypt data"));}):this.webCryptoDecrypt(new Uint8Array(e),t,i);}softwareDecrypt(e,t,i){let{currentIV:n,currentResult:r,remainderData:o}=this;this.logOnce("JS AES decrypt"),o&&(e=Di(o,e),this.remainderData=null);let a=this.getValidChunk(e);if(!a.length)return null;n&&(i=n);let l=this.softwareDecrypter;l||(l=this.softwareDecrypter=new ef()),l.expandKey(t);let d=r;return this.currentResult=l.decrypt(a.buffer,0,i),this.currentIV=Er(a,-16).buffer,d||null;}webCryptoDecrypt(e,t,i){if(this.key!==t||!this.fastAesKey){if(!this.subtle)return Promise.resolve(this.onWebCryptoError(e,t,i));this.key=t,this.fastAesKey=new Zh(this.subtle,t);}return this.fastAesKey.expandKey().then(n=>this.subtle?(this.logOnce("WebCrypto AES decrypt"),new Jh(this.subtle,new Uint8Array(i)).decrypt(e.buffer,n)):Promise.reject(new Error("web crypto not initialized"))).catch(n=>(X.warn(`[decrypter]: WebCrypto Error, disable WebCrypto API, ${n.name}: ${n.message}`),this.onWebCryptoError(e,t,i)));}onWebCryptoError(e,t,i){this.useSoftware=!0,this.logEnabled=!0,this.softwareDecrypt(e,t,i);let n=this.flush();if(n)return n.buffer;throw new Error("WebCrypto and softwareDecrypt: failed to decrypt data");}getValidChunk(e){let t=e,i=e.length-e.length%lR;return i!==e.length&&(t=Er(e,0,i),this.remainderData=Er(e,i)),t;}logOnce(e){this.logEnabled&&(X.log(`[decrypter]: ${e}`),this.logEnabled=!1);}},dR={toString:function(s){let e="",t=s.length;for(let i=0;i<t;i++)e+=`[${s.start(i).toFixed(3)}-${s.end(i).toFixed(3)}]`;return e;}},le={STOPPED:"STOPPED",IDLE:"IDLE",KEY_LOADING:"KEY_LOADING",FRAG_LOADING:"FRAG_LOADING",FRAG_LOADING_WAITING_RETRY:"FRAG_LOADING_WAITING_RETRY",WAITING_TRACK:"WAITING_TRACK",PARSING:"PARSING",PARSED:"PARSED",ENDED:"ENDED",ERROR:"ERROR",WAITING_INIT_PTS:"WAITING_INIT_PTS",WAITING_LEVEL:"WAITING_LEVEL"},Jo=class extends Yh{constructor(e,t,i,n,r){super(),this.hls=void 0,this.fragPrevious=null,this.fragCurrent=null,this.fragmentTracker=void 0,this.transmuxer=null,this._state=le.STOPPED,this.playlistType=void 0,this.media=null,this.mediaBuffer=null,this.config=void 0,this.bitrateTest=!1,this.lastCurrentTime=0,this.nextLoadPosition=0,this.startPosition=0,this.startTimeOffset=null,this.loadedmetadata=!1,this.retryDate=0,this.levels=null,this.fragmentLoader=void 0,this.keyLoader=void 0,this.levelLastLoaded=null,this.startFragRequested=!1,this.decrypter=void 0,this.initPTS=[],this.onvseeking=null,this.onvended=null,this.logPrefix="",this.log=void 0,this.warn=void 0,this.playlistType=r,this.logPrefix=n,this.log=X.log.bind(X,`${n}:`),this.warn=X.warn.bind(X,`${n}:`),this.hls=e,this.fragmentLoader=new Qh(e.config),this.keyLoader=i,this.fragmentTracker=t,this.config=e.config,this.decrypter=new Qo(e.config),e.on(w.MANIFEST_LOADED,this.onManifestLoaded,this);}doTick(){this.onTickEnd();}onTickEnd(){}startLoad(e){}stopLoad(){this.fragmentLoader.abort(),this.keyLoader.abort(this.playlistType);let e=this.fragCurrent;e!=null&&e.loader&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.resetTransmuxer(),this.fragCurrent=null,this.fragPrevious=null,this.clearInterval(),this.clearNextTick(),this.state=le.STOPPED;}_streamEnded(e,t){if(t.live||e.nextStart||!e.end||!this.media)return!1;let i=t.partList;if(i!=null&&i.length){let r=i[i.length-1];return At.isBuffered(this.media,r.start+r.duration/2);}let n=t.fragments[t.fragments.length-1].type;return this.fragmentTracker.isEndListAppended(n);}
88getLevelDetails(){if(this.levels&&this.levelLastLoaded!==null){var e;return(e=this.levelLastLoaded)==null?void 0:e.details;}}onMediaAttached(e,t){let i=this.media=this.mediaBuffer=t.media;this.onvseeking=this.onMediaSeeking.bind(this),this.onvended=this.onMediaEnded.bind(this),i.addEventListener("seeking",this.onvseeking),i.addEventListener("ended",this.onvended);let n=this.config;this.levels&&n.autoStartLoad&&this.state===le.STOPPED&&this.startLoad(n.startPosition);}onMediaDetaching(){let e=this.media;e!=null&&e.ended&&(this.log("MSE detaching and video ended, reset startPosition"),this.startPosition=this.lastCurrentTime=0),e&&this.onvseeking&&this.onvended&&(e.removeEventListener("seeking",this.onvseeking),e.removeEventListener("ended",this.onvended),this.onvseeking=this.onvended=null),this.keyLoader&&this.keyLoader.detach(),this.media=this.mediaBuffer=null,this.loadedmetadata=!1,this.fragmentTracker.removeAllFragments(),this.stopLoad();}onMediaSeeking(){let{config:e,fragCurrent:t,media:i,mediaBuffer:n,state:r}=this,o=i?i.currentTime:0,a=At.bufferInfo(n||i,o,e.maxBufferHole);if(this.log(`media seeking to ${Re(o)?o.toFixed(3):o}, state: ${r}`),this.state===le.ENDED)this.resetLoadingState();else if(t){let l=e.maxFragLookUpTolerance,d=t.start-l,u=t.start+t.duration+l;if(!a.len||u<a.start||d>a.end){let c=o>u;(o<d||c)&&(c&&t.loader&&(this.log("seeking outside of buffer while fragment load in progress, cancel fragment load"),t.abortRequests(),this.resetLoadingState()),this.fragPrevious=null);}}i&&(this.fragmentTracker.removeFragmentsInRange(o,1/0,this.playlistType,!0),this.lastCurrentTime=o),!this.loadedmetadata&&!a.len&&(this.nextLoadPosition=this.startPosition=o),this.tickImmediate();}onMediaEnded(){this.startPosition=this.lastCurrentTime=0;}onManifestLoaded(e,t){this.startTimeOffset=t.startTimeOffset,this.initPTS=[];}onHandlerDestroying(){this.hls.off(w.MANIFEST_LOADED,this.onManifestLoaded,this),this.stopLoad(),super.onHandlerDestroying(),this.hls=null;}onHandlerDestroyed(){this.state=le.STOPPED,this.fragmentLoader&&this.fragmentLoader.destroy(),this.keyLoader&&this.keyLoader.destroy(),this.decrypter&&this.decrypter.destroy(),this.hls=this.log=this.warn=this.decrypter=this.keyLoader=this.fragmentLoader=this.fragmentTracker=null,super.onHandlerDestroyed();}loadFragment(e,t,i){this._loadFragForPlayback(e,t,i);}_loadFragForPlayback(e,t,i){let n=r=>{if(this.fragContextChanged(e)){this.warn(`Fragment ${e.sn}${r.part?" p: "+r.part.index:""} of level ${e.level} was dropped during download.`),this.fragmentTracker.removeFragment(e);return;}e.stats.chunkCount++,this._handleFragmentLoadProgress(r);};this._doFragLoad(e,t,i,n).then(r=>{if(!r)return;let o=this.state;if(this.fragContextChanged(e)){(o===le.FRAG_LOADING||!this.fragCurrent&&o===le.PARSING)&&(this.fragmentTracker.removeFragment(e),this.state=le.IDLE);return;}"payload"in r&&(this.log(`Loaded fragment ${e.sn} of level ${e.level}`),this.hls.trigger(w.FRAG_LOADED,r)),this._handleFragmentLoadComplete(r);}).catch(r=>{this.state===le.STOPPED||this.state===le.ERROR||(this.warn(`Frag error: ${(r==null?void 0:r.message)||r}`),this.resetFragmentLoading(e));});}clearTrackerIfNeeded(e){var t;let{fragmentTracker:i}=this;if(i.getState(e)===ni.APPENDING){let r=e.type,o=this.getFwdBufferInfo(this.mediaBuffer,r),a=Math.max(e.duration,o?o.len:this.config.maxBufferLength),l=this.backtrackFragment;((l?e.sn-l.sn:0)===1||this.reduceMaxBufferLength(a,e.duration))&&i.removeFragment(e);}else((t=this.mediaBuffer)==null?void 0:t.buffered.length)===0?i.removeAllFragments():i.hasParts(e.type)&&(i.detectPartialFragments({frag:e,part:null,stats:e.stats,id:e.type}),i.getState(e)===ni.PARTIAL&&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);}flushMainBuffer(e,t,i=null){if(!(e-t))return;let n={startOffset:e,endOffset:t,type:i};this.hls.trigger(w.BUFFER_FLUSHING,n);}_loadInitSegment(e,t){this._doFragLoad(e,t).then(i=>{if(!i||this.fragContextChanged(e)||!this.levels)throw new Error("init load aborted");return i;}).then(i=>{let{hls:n}=this,{payload:r}=i,o=e.decryptdata;if(r&&r.byteLength>0&&o!=null&&o.key&&o.iv&&o.method==="AES-128"){let a=self.performance.now();
88return this.decrypter.decrypt(new Uint8Array(r),o.key.buffer,o.iv.buffer).catch(l=>{throw n.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.FRAG_DECRYPT_ERROR,fatal:!1,error:l,reason:l.message,frag:e}),l;}).then(l=>{let d=self.performance.now();return n.trigger(w.FRAG_DECRYPTED,{frag:e,payload:l,stats:{tstart:a,tdecrypt:d}}),i.payload=l,this.completeInitSegmentLoad(i);});}return this.completeInitSegmentLoad(i);}).catch(i=>{this.state===le.STOPPED||this.state===le.ERROR||(this.warn(i),this.resetFragmentLoading(e));});}completeInitSegmentLoad(e){let{levels:t}=this;if(!t)throw new Error("init load aborted, missing levels");let i=e.frag.stats;this.state=le.IDLE,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();}fragContextChanged(e){let{fragCurrent:t}=this;return!e||!t||e.sn!==t.sn||e.level!==t.level;}fragBufferedComplete(e,t){var i,n,r,o;let a=this.mediaBuffer?this.mediaBuffer:this.media;if(this.log(`Buffered ${e.type} sn: ${e.sn}${t?" part: "+t.index:""} of ${this.playlistType===Fe.MAIN?"level":"track"} ${e.level} (frag:[${((i=e.startPTS)!=null?i:NaN).toFixed(3)}-${((n=e.endPTS)!=null?n:NaN).toFixed(3)}] > buffer:${a?dR.toString(At.getBuffered(a)):"(detached)"})`),e.sn!=="initSegment"){var l;if(e.type!==Fe.SUBTITLE){let u=e.elementaryStreams;if(!Object.keys(u).some(c=>!!u[c])){this.state=le.IDLE;return;}}let d=(l=this.levels)==null?void 0:l[e.level];d!=null&&d.fragmentError&&(this.log(`Resetting level fragment error count of ${d.fragmentError} on frag buffered`),d.fragmentError=0);}this.state=le.IDLE,a&&(!this.loadedmetadata&&e.type==Fe.MAIN&&a.buffered.length&&((r=this.fragCurrent)==null?void 0:r.sn)===((o=this.fragPrevious)==null?void 0:o.sn)&&(this.loadedmetadata=!0,this.seekToStartPos()),this.tick());}seekToStartPos(){}_handleFragmentLoadComplete(e){let{transmuxer:t}=this;if(!t)return;let{frag:i,part:n,partsLoaded:r}=e,o=!r||r.length===0||r.some(l=>!l),a=new Xo(i.level,i.sn,i.stats.chunkCount+1,0,n?n.index:-1,!o);t.flush(a);}_handleFragmentLoadProgress(e){}_doFragLoad(e,t,i=null,n){var r;let o=t==null?void 0:t.details;if(!this.levels||!o)throw new Error(`frag load aborted, missing level${o?"":" detail"}s`);let a=null;if(e.encrypted&&!((r=e.decryptdata)!=null&&r.key)?(this.log(`Loading key for ${e.sn} of [${o.startSN}-${o.endSN}], ${this.logPrefix==="[stream-controller]"?"level":"track"} ${e.level}`),this.state=le.KEY_LOADING,this.fragCurrent=e,a=this.keyLoader.load(e).then(u=>{if(!this.fragContextChanged(u.frag))return this.hls.trigger(w.KEY_LOADED,u),this.state===le.KEY_LOADING&&(this.state=le.IDLE),u;}),this.hls.trigger(w.KEY_LOADING,{frag:e}),this.fragCurrent===null&&(a=Promise.reject(new Error("frag load aborted, context changed in KEY_LOADING")))):!e.encrypted&&o.encryptedFragments.length&&this.keyLoader.loadClear(e,o.encryptedFragments),i=Math.max(e.start,i||0),this.config.lowLatencyMode&&e.sn!=="initSegment"){let u=o.partList;if(u&&n){i>e.end&&o.fragmentHint&&(e=o.fragmentHint);let c=this.getNextPart(u,e,i);if(c>-1){let h=u[c];this.log(`Loading part sn: ${e.sn} p: ${h.index} cc: ${e.cc} of playlist [${o.startSN}-${o.endSN}] parts [0-${c}-${u.length-1}] ${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(i.toFixed(3))}`),this.nextLoadPosition=h.start+h.duration,this.state=le.FRAG_LOADING;let f;return a?f=a.then(p=>!p||this.fragContextChanged(p.frag)?null:this.doFragPartsLoad(e,h,t,n)).catch(p=>this.handleFragLoadError(p)):f=this.doFragPartsLoad(e,h,t,n).catch(p=>this.handleFragLoadError(p)),this.hls.trigger(w.FRAG_LOADING,{frag:e,part:h,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING parts")):f;}else if(!e.url||this.loadedEndOfParts(u,i))return Promise.resolve(null);}}this.log(`Loading fragment ${e.sn} cc: ${e.cc} ${o?"of ["+o.startSN+"-"+o.endSN+"] ":""}${this.logPrefix==="[stream-controller]"?"level":"track"}: ${e.level}, target: ${parseFloat(i.toFixed(3))}`),Re(e.sn)&&!this.bitrateTest&&(this.nextLoadPosition=e.start+e.duration),this.state=le.FRAG_LOADING;let l=this.config.progressive,d;return l&&a?d=a.then(u=>!u||this.fragContextChanged(u==null?void 0:u.frag)?null:this.fragmentLoader.load(e,n)).catch(u=>this.handleFragLoadError(u)):d=Promise.all([this.fragmentLoader.load(e,l?n:void 0),a]).then(([u])=>(!l&&u&&n&&n(u),u)).catch(u=>this.handleFragLoadError(u)),this.hls.trigger(w.FRAG_LOADING,{frag:e,targetBufferTime:i}),this.fragCurrent===null?Promise.reject(new Error("frag load aborted, context changed in FRAG_LOADING")):d;}doFragPartsLoad(e,t,i,n){return new Promise((r,o)=>{var a;let l=[],d=(a=i.details)==null?void 0:a.partList,u=c=>{this.fragmentLoader.loadPart(e,c,n).then(h=>{l[c.index]=h;let f=h.part;this.hls.trigger(w.FRAG_LOADED,h);let p=xy(i,e.sn,c.index+1)||gb(d,e.sn,c.index+1);if(p)u(p);else return r({frag:e,part:f,partsLoaded:l});}).catch(o);};u(t);});}handleFragLoadError(e){if("data"in e){let t=e.data;e.data&&t.details===te.INTERNAL_ABORTED?this.handleFragLoadAborted(t.frag,t.part):this.hls.trigger(w.ERROR,t);}else this.hls.trigger(w.ERROR,{type:Be.OTHER_ERROR,details:te.INTERNAL_EXCEPTION,err:e,error:e,fatal:!0});return null;}_handleTransmuxerFlush(e){let t=this.getCurrentContext(e);if(!t||this.state!==le.PARSING){!this.fragCurrent&&this.state!==le.STOPPED&&this.state!==le.ERROR&&(this.state=le.IDLE);return;}let{frag:i,part:n,level:r}=t,o=self.performance.now();i.stats.parsing.end=o,n&&(n.stats.parsing.end=o),this.updateLevelTiming(i,n,r,e.partial);}getCurrentContext(e){let{levels:t,fragCurrent:i}=this,{level:n,sn:r,part:o}=e;if(!(t!=null&&t[n]))return this.warn(`Levels object was unset while buffering fragment ${r} of level ${n}. The current chunk will not be buffered.`),null;let a=t[n],l=o>-1?xy(a,r,o):null,d=l?l.fragment:BI(a,r,i);return d?(i&&i!==d&&(d.stats=i.stats),{frag:d,part:l,level:a}):null;}bufferFragmentData(e,t,i,n,r){var o;if(!e||this.state!==le.PARSING)return;let{data1:a,data2:l}=e,d=a;if(a&&l&&(d=Di(a,l)),!((o=d)!=null&&o.length))return;let u={type:e.type,frag:t,part:i,chunkMeta:n,parent:t.type,data:d};if(this.hls.trigger(w.BUFFER_APPENDING,u),e.dropped&&e.independent&&!i){if(r)return;this.flushBufferGap(t);}}flushBufferGap(e){let t=this.media;if(!t)return;if(!At.isBuffered(t,t.currentTime)){this.flushMainBuffer(0,e.start);return;}let i=t.currentTime,n=At.bufferInfo(t,i,0),r=e.duration,o=Math.min(this.config.maxFragLookUpTolerance*2,r*.25),a=Math.max(Math.min(e.start-o,n.end-o),i+o);e.start-a>o&&this.flushMainBuffer(a,e.start);}getFwdBufferInfo(e,t){let i=this.getLoadPosition();return Re(i)?this.getFwdBufferInfoAtPos(e,i,t):null;}getFwdBufferInfoAtPos(e,t,i){let{config:{maxBufferHole:n}}=this,r=At.bufferInfo(e,t,n);if(r.len===0&&r.nextStart!==void 0){let o=this.fragmentTracker.getBufferedFrag(t,i);
88if(o&&r.nextStart<o.end)return At.bufferInfo(e,t,Math.max(r.nextStart,n));}return r;}getMaxBufferLength(e){let{config:t}=this,i;return e?i=Math.max(8*t.maxBufferSize/e,t.maxBufferLength):i=t.maxBufferLength,Math.min(i,t.maxMaxBufferLength);}reduceMaxBufferLength(e,t){let i=this.config,n=Math.max(Math.min(e-t,i.maxBufferLength),t),r=Math.max(e-t*3,i.maxMaxBufferLength/2,n);return r>=n?(i.maxMaxBufferLength=r,this.warn(`Reduce max buffer length to ${r}s`),!0):!1;}getAppendedFrag(e,t=Fe.MAIN){let i=this.fragmentTracker.getAppendedFrag(e,Fe.MAIN);return i&&"fragment"in i?i.fragment:i;}getNextFragment(e,t){let i=t.fragments,n=i.length;if(!n)return null;let{config:r}=this,o=i[0].start,a;if(t.live){let l=r.initialLiveManifestSize;if(n<l)return this.warn(`Not enough fragments to start playback (have: ${n}, need: ${l})`),null;(!t.PTSKnown&&!this.startFragRequested&&this.startPosition===-1||e<o)&&(a=this.getInitialLiveFragment(t,i),this.startPosition=this.nextLoadPosition=a?this.hls.liveSyncPosition||a.start:e);}else e<=o&&(a=i[0]);if(!a){let l=r.lowLatencyMode?t.partEnd:t.fragmentEnd;a=this.getFragmentAtPosition(e,l,t);}return this.mapToInitFragWhenRequired(a);}isLoopLoading(e,t){let i=this.fragmentTracker.getState(e);return(i===ni.OK||i===ni.PARTIAL&&!!e.gap)&&this.nextLoadPosition>t;}getNextFragmentLoopLoading(e,t,i,n,r){let o=e.gap,a=this.getNextFragment(this.nextLoadPosition,t);if(a===null)return a;
88if(e=a,o&&e&&!e.gap&&i.nextStart){let l=this.getFwdBufferInfoAtPos(this.mediaBuffer?this.mediaBuffer:this.media,i.nextStart,n);if(l!==null&&i.len+l.len>=r)return this.log(`buffer full after gaps in "${n}" playlist starting at sn: ${e.sn}`),null;}return e;}mapToInitFragWhenRequired(e){return e!=null&&e.initSegment&&!(e!=null&&e.initSegment.data)&&!this.bitrateTest?e.initSegment:e;}getNextPart(e,t,i){let n=-1,r=!1,o=!0;for(let a=0,l=e.length;a<l;a++){let d=e[a];if(o=o&&!d.independent,n>-1&&i<d.start)break;let u=d.loaded;u?n=-1:(r||d.independent||o)&&d.fragment===t&&(n=a),r=u;}return n;}loadedEndOfParts(e,t){let i=e[e.length-1];return i&&t>i.start&&i.loaded;}getInitialLiveFragment(e,t){let i=this.fragPrevious,n=null;if(i){if(e.hasProgramDateTime&&(this.log(`Live playlist, switching playlist, load frag with same PDT: ${i.programDateTime}`),n=HI(t,i.endProgramDateTime,this.config.maxFragLookUpTolerance)),!n){let r=i.sn+1;if(r>=e.startSN&&r<=e.endSN){let o=t[r-e.startSN];i.cc===o.cc&&(n=o,this.log(`Live playlist, switching playlist, load frag with next SN: ${n.sn}`));}n||(n=WI(t,i.cc),n&&this.log(`Live playlist, switching playlist, load frag with same CC: ${n.sn}`));}}else{let r=this.hls.liveSyncPosition;r!==null&&(n=this.getFragmentAtPosition(r,this.bitrateTest?e.fragmentEnd:e.edge,e));}return n;}getFragmentAtPosition(e,t,i){let{config:n}=this,{fragPrevious:r}=this,{fragments:o,endSN:a}=i,{fragmentHint:l}=i,{maxFragLookUpTolerance:d}=n,u=i.partList,c=!!(n.lowLatencyMode&&u!=null&&u.length&&l);c&&l&&!this.bitrateTest&&(o=o.concat(l),a=l.sn);let h;if(e<t){let f=e>t-d?0:d;h=yd(r,o,e,f);}else h=o[o.length-1];if(h){let f=h.sn-i.startSN,p=this.fragmentTracker.getState(h);if((p===ni.OK||p===ni.PARTIAL&&h.gap)&&(r=h),r&&h.sn===r.sn&&(!c||u[0].fragment.sn>h.sn)&&r&&h.level===r.level){let m=o[f+1];h.sn<a&&this.fragmentTracker.getState(m)!==ni.OK?h=m:h=null;}}return h;}synchronizeToLiveEdge(e){let{config:t,media:i}=this;if(!i)return;let n=this.hls.liveSyncPosition,r=i.currentTime,o=e.fragments[0].start,a=e.edge,l=r>=o-t.maxFragLookUpTolerance&&r<=a;if(n!==null&&i.duration>n&&(r<n||!l)){let d=t.liveMaxLatencyDuration!==void 0?t.liveMaxLatencyDuration:t.liveMaxLatencyDurationCount*e.targetduration;(!l&&i.readyState<4||r<a-d)&&(this.loadedmetadata||(this.nextLoadPosition=n),i.readyState&&(this.warn(`Playback: ${r.toFixed(3)} is located too far from the end of live sliding playlist: ${a}, reset currentTime to : ${n.toFixed(3)}`),i.currentTime=n));}}alignPlaylists(e,t,i){let n=e.fragments.length;if(!n)return this.warn("No fragments in live playlist"),0;let r=e.fragments[0].start,o=!t,a=e.alignedSliding&&Re(r);if(o||!a&&!r){let{fragPrevious:l}=this;sR(l,i,e);let d=e.fragments[0].start;return this.log(`Live playlist sliding: ${d.toFixed(2)} start-sn: ${t?t.startSN:"na"}->${e.startSN} prev-sn: ${l?l.sn:"na"} fragments: ${n}`),d;}return r;}waitForCdnTuneIn(e){return e.live&&e.canBlockReload&&e.partTarget&&e.tuneInGoal>Math.max(e.partHoldBack,e.partTarget*3);}setStartPosition(e,t){let i=this.startPosition;if(i<t&&(i=-1),i===-1||this.lastCurrentTime===-1){let n=this.startTimeOffset!==null,r=n?this.startTimeOffset:e.startTimeOffset;r!==null&&Re(r)?(i=t+r,r<0&&(i+=e.totalduration),i=Math.min(Math.max(t,i),t+e.totalduration),this.log(`Start time offset ${r} found in ${n?"multivariant":"media"} playlist, adjust startPosition to ${i}`),this.startPosition=i):e.live?i=this.hls.liveSyncPosition||t:this.startPosition=i=0,this.lastCurrentTime=i;}this.nextLoadPosition=i;}getLoadPosition(){let{media:e}=this,t=0;return this.loadedmetadata&&e?t=e.currentTime:this.nextLoadPosition&&(t=this.nextLoadPosition),t;}handleFragLoadAborted(e,t){this.transmuxer&&e.sn!=="initSegment"&&e.stats.aborted&&(this.warn(`Fragment ${e.sn}${t?" part "+t.index:""} of level ${e.level} was aborted`),this.resetFragmentLoading(e));}resetFragmentLoading(e){(!this.fragCurrent||!this.fragContextChanged(e)&&this.state!==le.FRAG_LOADING_WAITING_RETRY)&&(this.state=le.IDLE);}onFragmentOrKeyLoadError(e,t){if(t.chunkMeta&&!t.frag){let u=this.getCurrentContext(t.chunkMeta);u&&(t.frag=u.frag);}let i=t.frag;if(!i||i.type!==e||!this.levels)return;if(this.fragContextChanged(i)){var n;this.warn(`Frag load error must match current frag to retry ${i.url} > ${(n=this.fragCurrent)==null?void 0:n.url}`);return;}let r=t.details===te.FRAG_GAP;r&&this.fragmentTracker.fragBuffered(i,!0);let o=t.errorAction,{action:a,retryCount:l=0,retryConfig:d}=o||{};if(o&&a===ii.RetryRequest&&d){this.resetStartWhenNotLoaded(this.levelLastLoaded);let u=zf(d,l);this.warn(`Fragment ${i.sn} of ${e} ${i.level} errored with ${t.details}, retrying loading ${l+1}/${d.maxNumRetry} in ${u}ms`),o.resolved=!0,this.retryDate=self.performance.now()+u,this.state=le.FRAG_LOADING_WAITING_RETRY;}else if(d&&o){if(this.resetFragmentErrors(e),l<d.maxNumRetry)!r&&a!==ii.RemoveAlternatePermanently&&(o.resolved=!0);else{X.warn(`${t.details} reached or exceeded max retry (${l})`);return;}}else(o==null?void 0:o.action)===ii.SendAlternateToPenaltyBox?this.state=le.WAITING_LEVEL:this.state=le.ERROR;this.tickImmediate();}reduceLengthAndFlushBuffer(e){if(this.state===le.PARSING||this.state===le.PARSED){let t=e.frag,i=e.parent,n=this.getFwdBufferInfo(this.mediaBuffer,i),r=n&&n.len>.5;r&&this.reduceMaxBufferLength(n.len,(t==null?void 0:t.duration)||10);let o=!r;return o&&this.warn(`Buffer full error while media.currentTime is not buffered, flush ${i} buffer`),t&&(this.fragmentTracker.removeFragment(t),this.nextLoadPosition=t.start),this.resetLoadingState(),o;}return!1;}resetFragmentErrors(e){e===Fe.AUDIO&&(this.fragCurrent=null),this.loadedmetadata||(this.startFragRequested=!1),this.state!==le.STOPPED&&(this.state=le.IDLE);}afterBufferFlushed(e,t,i){if(!e)return;let n=At.getBuffered(e);this.fragmentTracker.detectEvictedFragments(t,n,i),this.state===le.ENDED&&this.resetLoadingState();}
88resetLoadingState(){this.log("Reset loading state"),this.fragCurrent=null,this.fragPrevious=null,this.state=le.IDLE;}resetStartWhenNotLoaded(e){if(!this.loadedmetadata){this.startFragRequested=!1;let t=e?e.details:null;t!=null&&t.live?(this.startPosition=-1,this.setStartPosition(t,0),this.resetLoadingState()):this.nextLoadPosition=this.startPosition;}}resetWhenMissingContext(e){this.warn(`The loading context changed while buffering fragment ${e.sn} of level ${e.level}. This chunk will not be buffered.`),this.removeUnbufferedFrags(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState();}removeUnbufferedFrags(e=0){this.fragmentTracker.removeFragmentsInRange(e,1/0,this.playlistType,!1,!0);}updateLevelTiming(e,t,i,n){var r;let o=i.details;if(!o){this.warn("level.details undefined");return;}if(!Object.keys(e.elementaryStreams).reduce((l,d)=>{let u=e.elementaryStreams[d];if(u){let c=u.endPTS-u.startPTS;if(c<=0)return this.warn(`Could not parse fragment ${e.sn} ${d} duration reliably (${c})`),l||!1;let h=n?0:pb(o,e,u.startPTS,u.endPTS,u.startDTS,u.endDTS);return this.hls.trigger(w.LEVEL_PTS_UPDATED,{details:o,level:i,drift:h,type:d,frag:e,start:u.startPTS,end:u.endPTS}),!0;}return l;},!1)&&((r=this.transmuxer)==null?void 0:r.error)===null){let l=new Error(`Found no media in fragment ${e.sn} of level ${e.level} resetting transmuxer to fallback to playlist timing`);if(i.fragmentError===0&&(i.fragmentError++,e.gap=!0,this.fragmentTracker.removeFragment(e),this.fragmentTracker.fragBuffered(e,!0)),this.warn(l.message),this.hls.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.FRAG_PARSING_ERROR,fatal:!1,error:l,frag:e,reason:`Found no media in msn ${e.sn} of level "${i.url}"`}),!this.hls)return;this.resetTransmuxer();}this.state=le.PARSED,this.hls.trigger(w.FRAG_PARSED,{frag:e,part:t});}resetTransmuxer(){this.transmuxer&&(this.transmuxer.destroy(),this.transmuxer=null);}recoverWorkerError(e){e.event==="demuxerWorker"&&(this.fragmentTracker.removeAllFragments(),this.resetTransmuxer(),this.resetStartWhenNotLoaded(this.levelLastLoaded),this.resetLoadingState());}set state(e){let t=this._state;t!==e&&(this._state=e,this.log(`${t}->${e}`));}get state(){return this._state;}},Td=class{constructor(){this.chunks=[],this.dataLength=0;}push(e){this.chunks.push(e),this.dataLength+=e.length;}flush(){let{chunks:e,dataLength:t}=this,i;if(e.length)e.length===1?i=e[0]:i=uR(e,t);else return new Uint8Array(0);return this.reset(),i;}reset(){this.chunks.length=0,this.dataLength=0;}};function uR(s,e){let t=new Uint8Array(e),i=0;for(let n=0;n<s.length;n++){let r=s[n];t.set(r,i),i+=r.length;}return t;}function cR(){return typeof __HLS_WORKER_BUNDLE__=="function";}function hR(){let s=new self.Blob([`var exports={};var module={exports:exports};function define(f){f()};define.amd=true;(${__HLS_WORKER_BUNDLE__.toString()})(true);`],{type:"text/javascript"}),e=self.URL.createObjectURL(s);return{worker:new self.Worker(e),objectURL:e};}function fR(s){let e=new self.URL(s,self.location.href).href;return{worker:new self.Worker(e),scriptURL:e};}function sn(s="",e=9e4){return{type:s,id:-1,pid:-1,inputTimeScale:e,sequenceNumber:-1,samples:[],dropped:0};}var Zo=class{constructor(){this._audioTrack=void 0,this._id3Track=void 0,this.frameIndex=0,this.cachedData=null,this.basePTS=null,this.initPTS=null,this.lastPTS=null;}resetInitSegment(e,t,i,n){this._id3Track={type:"id3",id:3,pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0};}resetTimeStamp(e){this.initPTS=e,this.resetContiguity();}resetContiguity(){this.basePTS=null,this.lastPTS=null,this.frameIndex=0;}canParse(e,t){return!1;}appendFrame(e,t,i){}demux(e,t){this.cachedData&&(e=Di(this.cachedData,e),this.cachedData=null);let i=zo(e,0),n=i?i.length:0,r,o=this._audioTrack,a=this._id3Track,l=i?Wf(i):void 0,d=e.length;for((this.basePTS===null||this.frameIndex===0&&Re(l))&&(this.basePTS=pR(l,t,this.initPTS),this.lastPTS=this.basePTS),this.lastPTS===null&&(this.lastPTS=this.basePTS),i&&i.length>0&&a.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Gi.audioId3,duration:Number.POSITIVE_INFINITY});n<d;){if(this.canParse(e,n)){let u=this.appendFrame(o,e,n);u?(this.frameIndex++,this.lastPTS=u.sample.pts,n+=u.length,r=n):n=d;}else KA(e,n)?(i=zo(e,n),a.samples.push({pts:this.lastPTS,dts:this.lastPTS,data:i,type:Gi.audioId3,duration:Number.POSITIVE_INFINITY}),n+=i.length,r=n):n++;if(n===d&&r!==d){let u=Er(e,r);this.cachedData?this.cachedData=Di(this.cachedData,u):this.cachedData=u;}}return{audioTrack:o,videoTrack:sn(),id3Track:a,textTrack:sn()};}demuxSampleAes(e,t,i){return Promise.reject(new Error(`[${this}] This demuxer does not support Sample-AES decryption`));}flush(e){let t=this.cachedData;return t&&(this.cachedData=null,this.demux(t,0)),{audioTrack:this._audioTrack,videoTrack:sn(),id3Track:this._id3Track,textTrack:sn()};}destroy(){}},pR=(s,e,t)=>{if(Re(s))return s*90;let i=t?t.baseTime*9e4/t.timescale:0;return e*9e4+i;};function mR(s,e,t,i){let n,r,o,a,l=navigator.userAgent.toLowerCase(),d=i,u=[96e3,88200,64e3,48e3,44100,32e3,24e3,22050,16e3,12e3,11025,8e3,7350];n=((e[t+2]&192)>>>6)+1;let c=(e[t+2]&60)>>>2;if(c>u.length-1){let h=new Error(`invalid ADTS sampling index:${c}`);s.emit(w.ERROR,w.ERROR,{type:Be.MEDIA_ERROR,details:te.FRAG_PARSING_ERROR,fatal:!0,error:h,reason:h.message});return;}return o=(e[t+2]&1)<<2,o|=(e[t+3]&192)>>>6,X.log(`manifest codec:${i}, ADTS type:${n}, samplingIndex:${c}`),/firefox/i.test(l)?c>=6?(n=5,a=new Array(4),r=c-3):(n=2,a=new Array(2),r=c):l.indexOf("android")!==-1?(n=2,a=new Array(2),r=c):(n=5,a=new Array(4),i&&(i.indexOf("mp4a.40.29")!==-1||i.indexOf("mp4a.40.5")!==-1)||!i&&c>=6?r=c-3:((i&&i.indexOf("mp4a.40.2")!==-1&&(c>=6&&o===1||/vivaldi/i.test(l))||!i&&o===1)&&(n=2,a=new Array(2)),r=c)),a[0]=n<<3,a[0]|=(c&14)>>1,a[1]|=(c&1)<<7,a[1]|=o<<3,n===5&&(a[1]|=(r&14)>>1,a[2]=(r&1)<<7,a[2]|=8,a[3]=0),{config:a,samplerate:u[c],channelCount:o,codec:"mp4a.40."+n,manifestCodec:d};}function Tb(s,e){return s[e]===255&&(s[e+1]&246)===240;}function Eb(s,e){return s[e+1]&1?7:9;}function qf(s,e){return(s[e+3]&3)<<11|s[e+4]<<3|(s[e+5]&224)>>>5;}function gR(s,e){return e+5<s.length;}function Ed(s,e){return e+1<s.length&&Tb(s,e);}function vR(s,e){return gR(s,e)&&Tb(s,e)&&qf(s,e)<=s.length-e;}function _R(s,e){if(Ed(s,e)){let t=Eb(s,e);if(e+t>=s.length)return!1;let i=qf(s,e);if(i<=t)return!1;let n=e+i;return n===s.length||Ed(s,n);}return!1;}function Sb(s,e,t,i,n){if(!s.samplerate){let r=mR(e,t,i,n);if(!r)return;s.config=r.config,s.samplerate=r.samplerate,s.channelCount=r.channelCount,s.codec=r.codec,s.manifestCodec=r.manifestCodec,X.log(`parsed codec:${s.codec}, rate:${r.samplerate}, channels:${r.channelCount}`);}}function Cb(s){return 1024*9e4/s;}function yR(s,e){let t=Eb(s,e);if(e+t<=s.length){let i=qf(s,e)-t;if(i>0)return{headerLength:t,frameLength:i};}}function wb(s,e,t,i,n){let r=Cb(s.samplerate),o=i+n*r,a=yR(e,t),l;if(a){let{frameLength:c,headerLength:h}=a,f=h+c,p=Math.max(0,t+f-e.length);p?(l=new Uint8Array(f-h),l.set(e.subarray(t+h,e.length),0)):l=e.subarray(t+h,t+f);let g={unit:l,pts:o};return p||s.samples.push(g),{sample:g,length:f,missing:p};}let d=e.length-t;return l=new Uint8Array(d),l.set(e.subarray(t,e.length),0),{sample:{unit:l,pts:o},length:d,missing:-1};}var Ql=null,bR=[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],TR=[44100,48e3,32e3,22050,24e3,16e3,11025,12e3,8e3],ER=[[0,72,144,12],[0,0,0,0],[0,72,144,12],[0,144,144,12]],SR=[0,1,1,4];function xb(s,e,t,i,n){if(t+24>e.length)return;let r=Ab(e,t);if(r&&t+r.frameLength<=e.length){let o=r.samplesPerFrame*9e4/r.sampleRate,a=i+n*o,l={unit:e.subarray(t,t+r.frameLength),pts:a,dts:a};return s.config=[],s.channelCount=r.channelCount,s.samplerate=r.sampleRate,s.samples.push(l),{sample:l,length:r.frameLength,missing:0};}}function Ab(s,e){let t=s[e+1]>>3&3,i=s[e+1]>>1&3,n=s[e+2]>>4&15,r=s[e+2]>>2&3;if(t!==1&&n!==0&&n!==15&&r!==3){let o=s[e+2]>>1&1,a=s[e+3]>>6,l=t===3?3-i:i===3?3:4,d=bR[l*14+n-1]*1e3,c=TR[(t===3?0:t===2?1:2)*3+r],h=a===3?1:2,f=ER[t][i],p=SR[i],g=f*8*p,m=Math.floor(f*d/c+o)*p;if(Ql===null){let S=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Ql=S?parseInt(S[1]):0;}return!!Ql&&Ql<=87&&i===2&&d>=224e3&&a===0&&(s[e+3]=s[e+3]|128),{sampleRate:c,channelCount:h,frameLength:m,samplesPerFrame:g};}}function Kf(s,e){return s[e]===255&&(s[e+1]&224)===224&&(s[e+1]&6)!==0;}function Ib(s,e){return e+1<s.length&&Kf(s,e);}function CR(s,e){return Kf(s,e)&&4<=s.length-e;}function Rb(s,e){if(e+1<s.length&&Kf(s,e)){let i=Ab(s,e),n=4;i!=null&&i.frameLength&&(n=i.frameLength);let r=e+n;return r===s.length||Ib(s,r);}return!1;}var tf=class extends Zo{constructor(e,t){super(),this.observer=void 0,this.config=void 0,this.observer=e,this.config=t;}resetInitSegment(e,t,i,n){super.resetInitSegment(e,t,i,n),this._audioTrack={container:"audio/adts",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"aac",samples:[],manifestCodec:t,duration:n,inputTimeScale:9e4,dropped:0};}static probe(e){if(!e)return!1;let t=zo(e,0),i=(t==null?void 0:t.length)||0;if(Rb(e,i))return!1;for(let n=e.length;i<n;i++)if(_R(e,i))return X.log("ADTS sync word found !"),!0;return!1;}canParse(e,t){return vR(e,t);}appendFrame(e,t,i){Sb(e,this.observer,t,i,e.manifestCodec);let n=wb(e,t,i,this.basePTS,this.frameIndex);if(n&&n.missing===0)return n;}},wR=/\/emsg[-/]ID3/i,nf=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,n){let r=this.videoTrack=sn("video",1),o=this.audioTrack=sn("audio",1),a=this.txtTrack=sn("text",1);if(this.id3Track=sn("id3",1),this.timeOffset=0,!(e!=null&&e.byteLength))return;let l=ob(e);
88if(l.video){let{id:d,timescale:u,codec:c}=l.video;r.id=d,r.timescale=a.timescale=u,r.codec=c;}if(l.audio){let{id:d,timescale:u,codec:c}=l.audio;o.id=d,o.timescale=u,o.codec=c;}a.id=nb.text,r.sampleDuration=0,r.duration=o.duration=n;}resetContiguity(){this.remainderData=null;}static probe(e){return nI(e);}demux(e,t){this.timeOffset=t;let i=e,n=this.videoTrack,r=this.txtTrack;if(this.config.progressive){this.remainderData&&(i=Di(this.remainderData,e));let a=cI(i);this.remainderData=a.remainder,n.samples=a.valid||new Uint8Array();}else n.samples=i;let o=this.extractID3Track(n,t);return r.samples=ly(t,n),{videoTrack:n,audioTrack:this.audioTrack,id3Track:o,textTrack:this.txtTrack};}flush(){let e=this.timeOffset,t=this.videoTrack,i=this.txtTrack;t.samples=this.remainderData||new Uint8Array(),this.remainderData=null;let n=this.extractID3Track(t,this.timeOffset);return i.samples=ly(e,t),{videoTrack:t,audioTrack:sn(),id3Track:n,textTrack:sn()};}extractID3Track(e,t){let i=this.id3Track;if(e.samples.length){let n=qe(e.samples,["emsg"]);n&&n.forEach(r=>{let o=pI(r);if(wR.test(o.schemeIdUri)){let a=Re(o.presentationTime)?o.presentationTime/o.timeScale:t+o.presentationTimeDelta/o.timeScale,l=o.eventDuration===4294967295?Number.POSITIVE_INFINITY:o.eventDuration/o.timeScale;l<=.001&&(l=Number.POSITIVE_INFINITY);let d=o.payload;i.samples.push({data:d,len:d.byteLength,dts:a,pts:a,type:Gi.emsg,duration:l});}});}return i;}demuxSampleAes(e,t,i){return Promise.reject(new Error("The MP4 demuxer does not support SAMPLE-AES decryption"));}destroy(){}},Pb=(s,e)=>{let t=0,i=5;e+=i;let n=new Uint32Array(1),r=new Uint32Array(1),o=new Uint8Array(1);for(;i>0;){o[0]=s[e];let a=Math.min(i,8),l=8-a;r[0]=4278190080>>>24+l<<l,n[0]=(o[0]&r[0])>>l,t=t?t<<a|n[0]:n[0],e+=1,i-=a;}return t;},rf=class extends Zo{constructor(e){super(),this.observer=void 0,this.observer=e;}resetInitSegment(e,t,i,n){super.resetInitSegment(e,t,i,n),this._audioTrack={container:"audio/ac-3",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"ac3",samples:[],manifestCodec:t,duration:n,inputTimeScale:9e4,dropped:0};}canParse(e,t){return t+64<e.length;}appendFrame(e,t,i){let n=kb(e,t,i,this.basePTS,this.frameIndex);if(n!==-1)return{sample:e.samples[e.samples.length-1],length:n,missing:0};}static probe(e){if(!e)return!1;let t=zo(e,0);if(!t)return!1;let i=t.length;return e[i]===11&&e[i+1]===119&&Wf(t)!==void 0&&Pb(e,i)<16;}};function kb(s,e,t,i,n){if(t+8>e.length||e[t]!==11||e[t+1]!==119)return-1;let r=e[t+4]>>6;if(r>=3)return-1;let a=[48e3,44100,32e3][r],l=e[t+4]&63,u=[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][l*3+r]*2;if(t+u>e.length)return-1;let c=e[t+6]>>5,h=0;c===2?h+=2:(c&1&&c!==1&&(h+=2),c&4&&(h+=2));let f=(e[t+6]<<8|e[t+7])>>12-h&1,g=[2,1,2,3,3,4,4,5][c]+f,m=e[t+5]>>3,b=e[t+5]&7,T=new Uint8Array([r<<6|m<<1|b>>2,(b&3)<<6|c<<3|f<<2|l>>4,l<<4&224]),S=1536/a*9e4,P=i+n*S,R=e.subarray(t,t+u);return s.config=T,s.channelCount=g,s.samplerate=a,s.samples.push({unit:R,pts:P}),u;}var sf=class{constructor(){this.VideoSample=null;}createVideoSample(e,t,i,n){return{key:e,frame:!1,pts:t,dts:i,units:[],debug:n,length:0};}getLastNalUnit(e){var t;let i=this.VideoSample,n;if((!i||i.units.length===0)&&(i=e[e.length-1]),(t=i)!=null&&t.units){let r=i.units;n=r[r.length-1];}return n;}pushAccessUnit(e,t){if(e.units.length&&e.frame){if(e.pts===void 0){let i=t.samples,n=i.length;if(n){let r=i[n-1];e.pts=r.pts,e.dts=r.dts;}else{t.dropped++;return;}}t.samples.push(e);}e.debug.length&&X.log(e.pts+"/"+e.dts+":"+e.debug);}},Sd=class{constructor(e){this.data=void 0,this.bytesAvailable=void 0,this.word=void 0,this.bitsAvailable=void 0,this.data=e,this.bytesAvailable=e.byteLength,this.word=0,this.bitsAvailable=0;}loadWord(){let e=this.data,t=this.bytesAvailable,i=e.byteLength-t,n=new Uint8Array(4),r=Math.min(4,t);if(r===0)throw new Error("no bytes available");n.set(e.subarray(i,i+r)),this.word=new DataView(n.buffer).getUint32(0),this.bitsAvailable=r*8,this.bytesAvailable-=r;}skipBits(e){let t;e=Math.min(e,this.bytesAvailable*8+this.bitsAvailable),this.bitsAvailable>
88e?(this.word<<=e,this.bitsAvailable-=e):(e-=this.bitsAvailable,t=e>>3,e-=t<<3,this.bytesAvailable-=t,this.loadWord(),this.word<<=e,this.bitsAvailable-=e);}readBits(e){let t=Math.min(this.bitsAvailable,e),i=this.word>>>32-t;if(e>32&&X.error("Cannot read more than 32 bits at a time"),this.bitsAvailable-=t,this.bitsAvailable>0)this.word<<=t;else if(this.bytesAvailable>0)this.loadWord();else throw new Error("no bits available");return t=e-t,t>0&&this.bitsAvailable?i<<t|this.readBits(t):i;}skipLZ(){let e;for(e=0;e<this.bitsAvailable;++e)if(this.word&2147483648>>>e)return this.word<<=e,this.bitsAvailable-=e,e;return this.loadWord(),e+this.skipLZ();}skipUEG(){this.skipBits(1+this.skipLZ());}skipEG(){this.skipBits(1+this.skipLZ());}readUEG(){let e=this.skipLZ();return this.readBits(e+1)-1;}readEG(){let e=this.readUEG();return 1&e?1+e>>>1:-1*(e>>>1);}readBoolean(){return this.readBits(1)===1;}readUByte(){return this.readBits(8);}readUShort(){return this.readBits(16);}readUInt(){return this.readBits(32);}skipScalingList(e){let t=8,i=8,n;for(let r=0;r<e;r++)i!==0&&(n=this.readEG(),i=(t+n+256)%256),t=i===0?t:i;}readSPS(){let e=0,t=0,i=0,n=0,r,o,a,l=this.readUByte.bind(this),d=this.readBits.bind(this),u=this.readUEG.bind(this),c=this.readBoolean.bind(this),h=this.skipBits.bind(this),f=this.skipEG.bind(this),p=this.skipUEG.bind(this),g=this.skipScalingList.bind(this);l();let m=l();if(d(5),h(3),l(),p(),m===100||m===110||m===122||m===244||m===44||m===83||m===86||m===118||m===128){let C=u();if(C===3&&h(1),p(),p(),h(1),c())for(o=C!==3?8:12,a=0;a<o;a++)c()&&(a<6?g(16):g(64));}p();let b=u();if(b===0)u();else if(b===1)for(h(1),f(),f(),r=u(),a=0;a<r;a++)f();p(),h(1);let T=u(),S=u(),P=d(1);P===0&&h(1),h(1),c()&&(e=u(),t=u(),i=u(),n=u());let R=[1,1];if(c()&&c())switch(l()){case 1:R=[1,1];break;case 2:R=[12,11];break;case 3:R=[10,11];break;case 4:R=[16,11];break;case 5:R=[40,33];break;case 6:R=[24,11];break;case 7:R=[20,11];break;case 8:R=[32,11];break;case 9:R=[80,33];break;case 10:R=[18,11];break;case 11:R=[15,11];break;case 12:R=[64,33];break;case 13:R=[160,99];break;case 14:R=[4,3];break;case 15:R=[3,2];break;case 16:R=[2,1];break;case 255:{R=[l()<<8|l(),l()<<8|l()];break;}}return{width:Math.ceil((T+1)*16-e*2-t*2),height:(2-P)*(S+1)*16-(P?2:4)*(i+n),pixelRatio:R};}readSliceType(){return this.readUByte(),this.readUEG(),this.readUEG();}},of=class extends sf{parseAVCPES(e,t,i,n,r){let o=this.parseAVCNALu(e,i.data),a=this.VideoSample,l,d=!1;i.data=null,a&&o.length&&!e.audFound&&(this.pushAccessUnit(a,e),a=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts,"")),o.forEach(u=>{var c;switch(u.type){case 1:{let g=!1;l=!0;let m=u.data;if(d&&m.length>4){let b=new Sd(m).readSliceType();(b===2||b===4||b===7||b===9)&&(g=!0);}if(g){var h;(h=a)!=null&&h.frame&&!a.key&&(this.pushAccessUnit(a,e),a=this.VideoSample=null);}a||(a=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts,"")),a.frame=!0,a.key=g;break;}case 5:l=!0,(c=a)!=null&&c.frame&&!a.key&&(this.pushAccessUnit(a,e),a=this.VideoSample=null),a||(a=this.VideoSample=this.createVideoSample(!0,i.pts,i.dts,"")),a.key=!0,a.frame=!0;break;case 6:{l=!0,lb(u.data,1,i.pts,t.samples);break;}case 7:{var f,p;l=!0,d=!0;let g=u.data,b=new Sd(g).readSPS();if(!e.sps||e.width!==b.width||e.height!==b.height||((f=e.pixelRatio)==null?void 0:f[0])!==b.pixelRatio[0]||((p=e.pixelRatio)==null?void 0:p[1])!==b.pixelRatio[1]){e.width=b.width,e.height=b.height,e.pixelRatio=b.pixelRatio,e.sps=[g],e.duration=r;let T=g.subarray(1,4),S="avc1.";for(let P=0;P<3;P++){let R=T[P].toString(16);R.length<2&&(R="0"+R),S+=R;}e.codec=S;}break;}case 8:l=!0,e.pps=[u.data];break;case 9:l=!0,e.audFound=!0,a&&this.pushAccessUnit(a,e),a=this.VideoSample=this.createVideoSample(!1,i.pts,i.dts,"");break;case 12:l=!0;break;default:l=!1,a&&(a.debug+="unknown NAL "+u.type+" ");break;}a&&l&&a.units.push(u);}),n&&a&&(this.pushAccessUnit(a,e),this.VideoSample=null);}parseAVCNALu(e,t){let i=t.byteLength,n=e.naluState||0,r=n,o=[],a=0,l,d,u,c=-1,h=0;for(n===-1&&(c=0,h=t[0]&31,n=0,a=1);a<i;){if(l=t[a++],!n){n=l?0:1;continue;}if(n===1){n=l?0:2;continue;}if(!l)n=3;else if(l===1){if(d=a-n-1,c>=0){let f={data:t.subarray(c,d),type:h};o.push(f);}else{let f=this.getLastNalUnit(e.samples);f&&(r&&a<=4-r&&f.state&&(f.data=f.data.subarray(0,f.data.byteLength-r)),d>0&&(f.data=Di(f.data,t.subarray(0,d)),f.state=0));}a<i?(u=t[a]&31,c=a,h=u,n=0):n=-1;}else n=0;}if(c>=0&&n>=0){let f={data:t.subarray(c,i),type:h,state:n};o.push(f);}if(o.length===0){let f=this.getLastNalUnit(e.samples);f&&(f.data=Di(f.data,t));}return e.naluState=n,o;}},af=class{constructor(e,t,i){this.keyData=void 0,this.decrypter=void 0,this.keyData=i,this.decrypter=new Qo(t,{removePKCS7Padding:!1});}decryptBuffer(e){return this.decrypter.decrypt(e,this.keyData.key.buffer,this.keyData.iv.buffer);}decryptAacSample(e,t,i){let n=e[t].unit;if(n.length<=16)return;let r=n.subarray(16,n.length-n.length%16),o=r.buffer.slice(r.byteOffset,r.byteOffset+r.length);this.decryptBuffer(o).then(a=>{let l=new Uint8Array(a);n.set(l,16),this.decrypter.isSync()||this.decryptAacSamples(e,t+1,i);});}decryptAacSamples(e,t,i){for(;;t++){if(t>=e.length){i();return;}if(!(e[t].unit.length<32)&&(this.decryptAacSample(e,t,i),!this.decrypter.isSync()))return;}}getAvcEncryptedData(e){let t=Math.floor((e.length-48)/160)*16+16,i=new Int8Array(t),n=0;for(let r=32;r<e.length-16;r+=160,n+=16)i.set(e.subarray(r,r+16),n);return i;}getAvcDecryptedUnit(e,t){let i=new Uint8Array(t),n=0;for(let r=32;r<e.length-16;r+=160,n+=16)e.set(i.subarray(n,n+16),r);return e;}decryptAvcSample(e,t,i,n,r){let o=db(r.data),a=this.getAvcEncryptedData(o);this.decryptBuffer(a.buffer).then(l=>{r.data=this.getAvcDecryptedUnit(o,l),this.decrypter.isSync()||this.decryptAvcSamples(e,t,i+1,n);});}decryptAvcSamples(e,t,i,n){if(e instanceof Uint8Array)throw new Error("Cannot decrypt samples of type Uint8Array");for(;;t++,i=0){if(t>=e.length){n();return;}let r=e[t].units;for(;!(i>=r.length);i++){let o=r[i];if(!(o.data.length<=48||o.type!==1&&o.type!==5)&&(this.decryptAvcSample(e,t,i,n,o),!this.decrypter.isSync()))return;}}}},ti=188,lf=class s{constructor(e,t,i){this.observer=void 0,this.config=void 0,this.typeSupp
88orted=void 0,this.sampleAes=null,this.pmtParsed=!1,this.audioCodec=void 0,this.videoCodec=void 0,this._duration=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.videoParser=new of();}static probe(e){let t=s.syncOffset(e);return t>0&&X.warn(`MPEG2-TS detected but first sync word found @ offset ${t}`),t!==-1;}static syncOffset(e){let t=e.length,i=Math.min(ti*5,t-ti)+1,n=0;for(;n<i;){let r=!1,o=-1,a=0;for(let l=n;l<t;l+=ti)if(e[l]===71&&(t-l===ti||e[l+ti]===71)){if(a++,o===-1&&(o=l,o!==0&&(i=Math.min(o+ti*99,e.length-ti)+1)),r||(r=df(e,l)===0),r&&a>1&&(o===0&&a>2||l+ti>i))return o;}else{if(a)return-1;break;}n++;}return-1;}static createTrack(e,t){return{container:e==="video"||e==="audio"?"video/mp2t":void 0,type:e,id:nb[e],pid:-1,inputTimeScale:9e4,sequenceNumber:0,samples:[],dropped:0,duration:e==="audio"?t:void 0};}resetInitSegment(e,t,i,n){this.pmtParsed=!1,this._pmtId=-1,this._videoTrack=s.createTrack("video"),this._audioTrack=s.createTrack("audio",n),this._id3Track=s.createTrack("id3"),this._txtTrack=s.createTrack("text"),this._audioTrack.segmentCodec="aac",this.aacOverFlow=null,this.remainderData=null,this.audioCodec=t,this.videoCodec=i,this._duration=n;}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,n=!1){i||(this.sampleAes=null);let r,o=this._videoTrack,a=this._audioTrack,l=this._id3Track,d=this._txtTrack,u=o.pid,c=o.pesData,h=a.pid,f=l.pid,p=a.pesData,g=l.pesData,m=null,b=this.pmtParsed,T=this._pmtId,S=e.length;if(this.remainderData&&(e=Di(this.remainderData,e),S=e.length,this.remainderData=null),S<ti&&!n)return this.remainderData=e,{audioTrack:a,videoTrack:o,id3Track:l,textTrack:d};let P=Math.max(0,s.syncOffset(e));S-=(S-P)%ti,S<e.byteLength&&!n&&(this.remainderData=new Uint8Array(e.buffer,S,e.buffer.byteLength-S));let R=0;for(let A=P;A<S;A+=ti)if(e[A]===71){let O=!!(e[A+1]&64),U=df(e,A),j=(e[A+3]&48)>>4,K;if(j>1){if(K=A+5+e[A+4],K===A+ti)continue;}else K=A+4;switch(U){case u:O&&(c&&(r=Ts(c))&&this.videoParser.parseAVCPES(o,d,r,!1,this._duration),c={data:[],size:0}),c&&(c.data.push(e.subarray(K,A+ti)),c.size+=A+ti-K);break;case h:if(O){if(p&&(r=Ts(p)))switch(a.segmentCodec){case"aac":this.parseAACPES(a,r);break;case"mp3":this.parseMPEGPES(a,r);break;case"ac3":this.parseAC3PES(a,r);break;}p={data:[],size:0};}p&&(p.data.push(e.subarray(K,A+ti)),p.size+=A+ti-K);break;case f:O&&(g&&(r=Ts(g))&&this.parseID3PES(l,r),g={data:[],size:0}),g&&(g.data.push(e.subarray(K,A+ti)),g.size+=A+ti-K);break;case 0:O&&(K+=e[K]+1),T=this._pmtId=xR(e,K);break;case T:{O&&(K+=e[K]+1);let Y=AR(e,K,this.typeSupported,i,this.observer);u=Y.videoPid,u>0&&(o.pid=u,o.segmentCodec=Y.segmentVideoCodec),h=Y.audioPid,h>0&&(a.pid=h,a.segmentCodec=Y.segmentAudioCodec),f=Y.id3Pid,f>0&&(l.pid=f),m!==null&&!b&&(X.warn(`MPEG-TS PMT found at ${A} after unknown PID '${m}'. Backtracking to sync byte @${P} to parse all TS packets.`),m=null,A=P-188),b=this.pmtParsed=!0;break;}case 17:case 8191:break;default:m=U;break;}}else R++;R>0&&Cd(this.observer,new Error(`Found ${R} TS packet/s that do not start with 0x47`)),o.pesData=c,a.pesData=p,l.pesData=g;let C={audioTrack:a,videoTrack:o,id3Track:l,textTrack:d};return n&&this.extractRemainingSamples(C),C;}flush(){let{remainderData:e}=this;this.remainderData=null;let t;return e?t=this.demux(e,-1,!1,!0):t={videoTrack:this._videoTrack,audioTrack:this._audioTrack,id3Track:this._id3Track,textTrack:this._txtTrack},this.extractRemainingSamples(t),this.sampleAes?this.decrypt(t,this.sampleAes):t;}extractRemainingSamples(e){let{audioTrack:t,videoTrack:i,id3Track:n,textTrack:r}=e,o=i.pesData,a=t.pesData,l=n.pesData,d;if(o&&(d=Ts(o))?(this.videoParser.parseAVCPES(i,r,d,!0,this._duration),i.pesData=null):i.pesData=o,a&&(d=Ts(a))){switch(t.segmentCodec){case"aac":this.parseAACPES(t,d);break;case"mp3":this.parseMPEGPES(t,d);break;case"ac3":this.parseAC3PES(t,d);break;}t.pesData=null;}else a!=null&&a.size&&X.log("last AAC PES packet truncated,might overlap between fragments"),t.pesData=a;l&&(d=Ts(l))?(this.parseID3PES(n,d),n.pesData=null):n.pesData=l;}demuxSampleAes(e,t,i){let n=this.demux(e,i,!0,!this.config.progressive),r=this.sampleAes=new af(this.observer,this.config,t);return this.decrypt(n,r);}decrypt(e,t){return new Promise(i=>{let{audioTrack:n,videoTrack:r}=e;n.samples&&n.segmentCodec==="aac"?t.decryptAacSamples(n.samples,0,()=>{r.samples?t.decryptAvcSamples(r.samples,0,0,()=>{i(e);}):i(e);}):r.samples&&t.decryptAvcSamples(r.samples,0,0,()=>{i(e);});});}destroy(){this._duration=0;}parseAACPES(e,t){let i=0,n=this.aacOverFlow,r=t.data;if(n){this.aacOverFlow=null;
vendor: 7,062 bytes, line 88
88let c=n.missing,h=n.sample.unit.byteLength;if(c===-1)r=Di(n.sample.unit,r);else{let f=h-c;n.sample.unit.set(r.subarray(0,c),f),e.samples.push(n.sample),i=n.missing;}}let o,a;for(o=i,a=r.length;o<a-1&&!Ed(r,o);o++);if(o!==i){let c,h=o<a-1;if(h?c=`AAC PES did not start with ADTS header,offset:${o}`:c="No ADTS header found in AAC PES",Cd(this.observer,new Error(c),h),!h)return;}Sb(e,this.observer,r,o,this.audioCodec);let l;if(t.pts!==void 0)l=t.pts;else if(n){let c=Cb(e.samplerate);l=n.sample.pts+c;}else{X.warn("[tsdemuxer]: AAC PES unknown PTS");return;}let d=0,u;for(;o<a;)if(u=wb(e,r,o,l,d),o+=u.length,u.missing){this.aacOverFlow=u;break;}else for(d++;o<a-1&&!Ed(r,o);o++);}parseMPEGPES(e,t){let i=t.data,n=i.length,r=0,o=0,a=t.pts;if(a===void 0){X.warn("[tsdemuxer]: MPEG PES unknown PTS");return;}for(;o<n;)if(Ib(i,o)){let l=xb(e,i,o,a,r);if(l)o+=l.length,r++;else break;}else o++;}parseAC3PES(e,t){{let i=t.data,n=t.pts;if(n===void 0){X.warn("[tsdemuxer]: AC3 PES unknown PTS");return;}let r=i.length,o=0,a=0,l;for(;a<r&&(l=kb(e,i,a,n,o++))>0;)a+=l;}}parseID3PES(e,t){if(t.pts===void 0){X.warn("[tsdemuxer]: ID3 PES unknown PTS");return;}let i=Kt({},t,{type:this._videoTrack?Gi.emsg:Gi.audioId3,duration:Number.POSITIVE_INFINITY});e.samples.push(i);}};function df(s,e){return((s[e+1]&31)<<8)+s[e+2];}function xR(s,e){return(s[e+10]&31)<<8|s[e+11];}function AR(s,e,t,i,n){let r={audioPid:-1,videoPid:-1,id3Pid:-1,segmentVideoCodec:"avc",segmentAudioCodec:"aac"},o=(s[e+1]&15)<<8|s[e+2],a=e+3+o-4,l=(s[e+10]&15)<<8|s[e+11];for(e+=12+l;e<a;){let d=df(s,e),u=(s[e+3]&15)<<8|s[e+4];switch(s[e]){case 207:if(!i){Sh("ADTS AAC");break;}case 15:r.audioPid===-1&&(r.audioPid=d);break;case 21:r.id3Pid===-1&&(r.id3Pid=d);break;case 219:if(!i){Sh("H.264");break;}case 27:r.videoPid===-1&&(r.videoPid=d,r.segmentVideoCodec="avc");break;case 3:case 4:!t.mpeg&&!t.mp3?X.log("MPEG audio found, not supported in this browser"):r.audioPid===-1&&(r.audioPid=d,r.segmentAudioCodec="mp3");break;case 193:if(!i){Sh("AC-3");break;}case 129:t.ac3?r.audioPid===-1&&(r.audioPid=d,r.segmentAudioCodec="ac3"):X.log("AC-3 audio found, not supported in this browser");break;case 6:if(r.audioPid===-1&&u>0){let c=e+5,h=u;for(;h>2;){switch(s[c]){case 106:t.ac3!==!0?X.log("AC-3 audio found, not supported in this browser for now"):(r.audioPid=d,r.segmentAudioCodec="ac3");break;}let p=s[c+1]+2;c+=p,h-=p;}}break;case 194:case 135:return Cd(n,new Error("Unsupported EC-3 in M2TS found")),r;case 36:return Cd(n,new Error("Unsupported HEVC in M2TS found")),r;}e+=u+5;}return r;}function Cd(s,e,t){X.warn(`parsing error: ${e.message}`),s.emit(w.ERROR,w.ERROR,{type:Be.MEDIA_ERROR,details:te.FRAG_PARSING_ERROR,fatal:!1,levelRetry:t,error:e,reason:e.message});}function Sh(s){X.log(`${s} with AES-128-CBC encryption found in unencrypted stream`);}function Ts(s){let e=0,t,i,n,r,o,a=s.data;if(!s||s.size===0)return null;for(;a[0].length<19&&a.length>1;)a[0]=Di(a[0],a[1]),a.splice(1,1);if(t=a[0],(t[0]<<16)+(t[1]<<8)+t[2]===1){if(i=(t[4]<<8)+t[5],i&&i>s.size-6)return null;let d=t[7];d&192&&(r=(t[9]&14)*536870912+(t[10]&255)*4194304+(t[11]&254)*16384+(t[12]&255)*128+(t[13]&254)/2,d&64?(o=(t[14]&14)*536870912+(t[15]&255)*4194304+(t[16]&254)*16384+(t[17]&255)*128+(t[18]&254)/2,r-o>60*9e4&&(X.warn(`${Math.round((r-o)/9e4)}s delta between PTS and DTS, align them`),r=o)):o=r),n=t[8];let u=n+9;if(s.size<=u)return null;s.size-=u;let c=new Uint8Array(s.size);for(let h=0,f=a.length;h<f;h++){t=a[h];let p=t.byteLength;if(u)if(u>p){u-=p;continue;}else t=t.subarray(u),p-=u,u=0;c.set(t,e),e+=p;}return i&&(i-=n+3),{data:c,pts:r,dts:o,len:i};}return null;}var uf=class extends Zo{resetInitSegment(e,t,i,n){super.resetInitSegment(e,t,i,n),this._audioTrack={container:"audio/mpeg",type:"audio",id:2,pid:-1,sequenceNumber:0,segmentCodec:"mp3",samples:[],manifestCodec:t,duration:n,inputTimeScale:9e4,dropped:0};}static probe(e){if(!e)return!1;let t=zo(e,0),i=(t==null?void 0:t.length)||0;if(t&&e[i]===11&&e[i+1]===119&&Wf(t)!==void 0&&Pb(e,i)<=16)return!1;for(let n=e.length;i<n;i++)if(Rb(e,i))return X.log("MPEG Audio sync word found !"),!0;return!1;}canParse(e,t){return CR(e,t);}appendFrame(e,t,i){if(this.basePTS!==null)return xb(e,t,i,this.basePTS,this.frameIndex);}},wd=class{static getSilentFrame(e,t){switch(e){case"mp4a.40.2":if(t===1)return new Uint8Array([0,200,0,128,35,128]);if(t===2)return new Uint8Array([33,0,73,144,2,25,0,35,128]);if(t===3)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,142]);if(t===4)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,128,44,128,8,2,56]);if(t===5)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,56]);if(t===6)return new Uint8Array([0,200,0,128,32,132,1,38,64,8,100,0,130,48,4,153,0,33,144,2,0,178,0,32,8,224]);break;default:if(t===1)return new Uint8Array([1,64,34,128,163,78,230,128,186,8,0,0,0,28,6,241,193,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===2)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);if(t===3)return new Uint8Array([1,64,34,128,163,94,230,128,186,8,0,0,0,0,149,0,6,241,161,10,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,90,94]);break;}}},Xn=Math.pow(2,32)-1,Es=(()=>{class s{static init(){s.types={avc1:[],avcC:[],btrt:[],dinf:[],dref:[],esds:[],ftyp:[],hdlr:[],mdat:[],mdhd:[],mdia:[],mfhd:[],minf:[],moof:[],moov:[],mp4a:[],".mp3":[],dac3:[],"ac-3":[],mvex:[],mvhd:[],pasp:[],sdtp:[],stbl:[],stco:[],stsc:[],stsd:[],stsz:[],stts:[],tfdt:[],tfhd:[],traf:[],trak:[],trun:[],trex:[],tkhd:[],vmhd:[],smhd:[]};let t;for(t in s.types)s.types.hasOwnProperty(t)&&(s.types[t]=[t.charCodeAt(0),t.charCodeAt(1),t.charCodeAt(2),t.charCodeAt(3)]);let i=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]),n=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]);s.HDLR_TYPES={video:i,audio:n};let r=new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,12,117,114,108,32,0,0,0,1]),o=new Uint8Array([0,0,0,0,0,0,0,0]);s.STTS=s.STSC=s.STCO=o,s.STSZ=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0]),s.VMHD=new Uint8Array([0,0,0,1,0,0,0,0,0,0,0,0]),s.SMHD=new Uint8Array([0,0,0,0,0,0,0,0]),s.STSD=new Uint8Array([0,0,0,0,0,0,0,1]);let a=new Uint8Array([105,115,111,109]),l=new Uint8Array([97,118,99,49]),d=new Uint8Array([0,0,0,1]);s.FTYP=s.box(s.types.ftyp,a,d,a,l),s.DINF=s.box(s.types.dinf,s.box(s.types.dref,r));}static box(t,...i){let n=8,r=i.length,o=r;for(;r--;)n+=i[r].byteLength;let a=new Uint8Array(n);for(a[0]=n>>24&255,a[1]=n>>16&255,a[2]=n>>8&255,a[3]=n&255,a.set(t,4),r=0,n=8;r<o;r++)a.set(i[r],n),n+=i[r].byteLength;return a;}static hdlr(t){return s.box(s.types.hdlr,s.HDLR_TYPES[t]);}static mdat(t){return s.box(s.types.mdat,t);}static mdhd(t,i){i*=t;
88let n=Math.floor(i/(Xn+1)),r=Math.floor(i%(Xn+1));return s.box(s.types.mdhd,new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,n>>24,n>>16&255,n>>8&255,n&255,r>>24,r>>16&255,r>>8&255,r&255,85,196,0,0]));}static mdia(t){return s.box(s.types.mdia,s.mdhd(t.timescale,t.duration),s.hdlr(t.type),s.minf(t));}static mfhd(t){return s.box(s.types.mfhd,new Uint8Array([0,0,0,0,t>>24,t>>16&255,t>>8&255,t&255]));}static minf(t){return t.type==="audio"?s.box(s.types.minf,s.box(s.types.smhd,s.SMHD),s.DINF,s.stbl(t)):s.box(s.types.minf,s.box(s.types.vmhd,s.VMHD),s.DINF,s.stbl(t));}static moof(t,i,n){return s.box(s.types.moof,s.mfhd(t),s.traf(n,i));}static moov(t){let i=t.length,n=[];for(;i--;)n[i]=s.trak(t[i]);return s.box.apply(null,[s.types.moov,s.mvhd(t[0].timescale,t[0].duration)].concat(n).concat(s.mvex(t)));}static mvex(t){let i=t.length,n=[];for(;i--;)n[i]=s.trex(t[i]);return s.box.apply(null,[s.types.mvex,...n]);}static mvhd(t,i){i*=t;let n=Math.floor(i/(Xn+1)),r=Math.floor(i%(Xn+1)),o=new Uint8Array([1,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,t>>24&255,t>>16&255,t>>8&255,t&255,n>>24,n>>16&255,n>>8&255,n&255,r>>24,r>>16&255,r>>8&255,r&255,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255]);return s.box(s.types.mvhd,o);}static sdtp(t){let i=t.samples||[],n=new Uint8Array(4+i.length),r,o;for(r=0;r<i.length;r++)o=i[r].flags,n[r+4]=o.dependsOn<<4|o.isDependedOn<<2|o.hasRedundancy;return s.box(s.types.sdtp,n);}static stbl(t){return s.box(s.types.stbl,s.stsd(t),s.box(s.types.stts,s.STTS),s.box(s.types.stsc,s.STSC),s.box(s.types.stsz,s.STSZ),s.box(s.types.stco,s.STCO));}static avc1(t){let i=[],n=[],r,o,a;for(r=0;r<t.sps.length;r++)o=t.sps[r],a=o.byteLength,i.push(a>>>8&255),i.push(a&255),i=i.concat(Array.prototype.slice.call(o));for(r=0;r<t.pps.length;r++)o=t.pps[r],a=o.byteLength,n.push(a>>>8&255),n.push(a&255),n=n.concat(Array.prototype.slice.call(o));let l=s.box(s.types.avcC,new Uint8Array([1,i[3],i[4],i[5],255,224|t.sps.length].concat(i).concat([t.pps.length]).concat(n))),d=t.width,u=t.height,c=t.pixelRatio[0],h=t.pixelRatio[1];return s.box(s.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,d>>8&255,d&255,u>>8&255,u&255,0,72,0,0,0,72,0,0,0,0,0,0,0,1,18,100,97,105,108,121,109,111,116,105,111,110,47,104,108,115,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,17,17]),l,s.box(s.types.btrt,new Uint8Array([0,28,156,128,0,45,198,192,0,45,198,192])),s.box(s.types.pasp,new Uint8Array([c>>24,c>>16&255,c>>8&255,c&255,h>>24,h>>16&255,h>>8&255,h&255])));}static esds(t){let i=t.config.length;return new Uint8Array([0,0,0,0,3,23+i,0,1,0,4,15+i,64,21,0,0,0,0,0,0,0,0,0,0,0,5].concat([i]).concat(t.config).concat([6,1,2]));}static audioStsd(t){let i=t.samplerate;return new Uint8Array([0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,t.channelCount,0,16,0,0,0,0,i>>8&255,i&255,0,0]);}static mp4a(t){return s.box(s.types.mp4a,s.audioStsd(t),s.box(s.types.esds,s.esds(t)));}static mp3(t){return s.box(s.types[".mp3"],s.audioStsd(t));}static ac3(t){return s.box(s.types["ac-3"],s.audioStsd(t),s.box(s.types.dac3,t.config));}static stsd(t){return t.type==="audio"?t.segmentCodec==="mp3"&&t.codec==="mp3"?s.box(s.types.stsd,s.STSD,s.mp3(t)):t.segmentCodec==="ac3"?s.box(s.types.stsd,s.STSD,s.ac3(t)):s.box(s.types.stsd,s.STSD,s.mp4a(t)):s.box(s.types.stsd,s.STSD,s.avc1(t));}static tkhd(t){let i=t.id,n=t.duration*t.timescale,r=t.width,o=t.height,a=Math.floor(n/(Xn+1)),l=Math.floor(n%(Xn+1));return s.box(s.types.tkhd,new Uint8Array([1,0,0,7,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,i>>24&255,i>>16&255,i>>8&255,i&255,0,0,0,0,a>>24,a>>16&255,a>>8&255,a&255,l>>24,l>>16&255,l>>8&255,l&255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,0,0,0,r>>8&255,r&255,0,0,o>>8&255,o&255,0,0]));}static traf(t,i){let n=s.sdtp(t),r=t.id,o=Math.floor(i/(Xn+1)),a=Math.floor(i%(Xn+1));return s.box(s.types.traf,s.box(s.types.tfhd,new Uint8Array([0,0,0,0,r>>24,r>>16&255,r>>8&255,r&255])),s.box(s.types.tfdt,new Uint8Array([1,0,0,0,o>>24,o>>16&255,o>>8&255,o&255,a>>24,a>>16&255,a>>8&255,a&255])),s.trun(t,n.length+16+20+8+16+8+8),n);}static trak(t){return t.duration=t.duration||4294967295,s.box(s.types.trak,s.tkhd(t),s.mdia(t));}static trex(t){let i=t.id;return s.box(s.types.trex,new Uint8Array([0,0,0,0,i>>24,i>>16&255,i>>8&255,i&255,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,1]));}static trun(t,i){let n=t.samples||[],r=n.length,o=12+16*r,a=new Uint8Array(o),l,d,u,c,h,f;for(i+=8+o,a.set([t.type==="video"?1:0,0,15,1,r>>>24&255,r>>>16&255,r>>>8&255,r&255,i>>>24&255,i>>>16&255,i>>>8&255,i&255],0),l=0;l<r;l++)d=n[l],u=d.duration,c=d.size,h=d.flags,f=d.cts,a.set([u>>>24&255,u>>>16&255,u>>>8&255,u&255,c>>>24&255,c>>>16&255,c>>>8&255,c&255,h.isLeading<<2|h.dependsOn,h.isDependedOn<<6|h.hasRedundancy<<4|h.paddingValue<<1|h.isNonSync,h.degradPrio&61440,h.degradPrio&15,f>>>24&255,f>>>16&255,f>>>8&255,f&255],12+16*l);return s.box(s.types.trun,a);}static initSegment(t){s.types||s.init();let i=s.moov(t);return Di(s.FTYP,i);}}return s.types=void 0,s.HDLR_TYPES=void 0,s.STTS=void 0,s.STSC=void 0,s.STCO=void 0,s.STSZ=void 0,s.VMHD=void 0,s.SMH
88D=void 0,s.STSD=void 0,s.FTYP=void 0,s.DINF=void 0,s;})(),Ob=9e4;function Yf(s,e,t=1,i=!1){let n=s*e*t;return i?Math.round(n):n;}function IR(s,e,t=1,i=!1){return Yf(s,e,1/t,i);}function Ho(s,e=!1){return Yf(s,1e3,1/Ob,e);}function RR(s,e=1){return Yf(s,Ob,1/e);}var PR=10*1e3,Dy=1024,kR=1152,OR=1536,Ss=null,Ch=null,Is=class{constructor(e,t,i,n=""){if(this.observer=void 0,this.config=void 0,this.typeSupported=void 0,this.ISGenerated=!1,this._initPTS=null,this._initDTS=null,this.nextAvcDts=null,this.nextAudioPts=null,this.videoSampleDuration=null,this.isAudioContiguous=!1,this.isVideoContiguous=!1,this.videoTrackConfig=void 0,this.observer=e,this.config=t,this.typeSupported=i,this.ISGenerated=!1,Ss===null){let o=(navigator.userAgent||"").match(/Chrome\/(\d+)/i);Ss=o?parseInt(o[1]):0;}if(Ch===null){let r=navigator.userAgent.match(/Safari\/(\d+)/i);Ch=r?parseInt(r[1]):0;}}destroy(){this.config=this.videoTrackConfig=this._initPTS=this._initDTS=null;}resetTimeStamp(e){X.log("[mp4-remuxer]: initPTS & initDTS reset"),this._initPTS=this._initDTS=e;}resetNextTimestamp(){X.log("[mp4-remuxer]: reset next timestamp"),this.isVideoContiguous=!1,this.isAudioContiguous=!1;}resetInitSegment(){X.log("[mp4-remuxer]: ISGenerated flag reset"),this.ISGenerated=!1,this.videoTrackConfig=void 0;}getVideoStartPts(e){let t=!1,i=e.reduce((n,r)=>{let o=r.pts-n;return o<-4294967296?(t=!0,Mi(n,r.pts)):o>0?n:r.pts;},e[0].pts);return t&&X.debug("PTS rollover detected"),i;}remux(e,t,i,n,r,o,a,l){let d,u,c,h,f,p,g=r,m=r,b=e.pid>-1,T=t.pid>-1,S=t.samples.length,P=e.samples.length>0,R=a&&S>0||S>1;if((!b||P)&&(!T||R)||this.ISGenerated||a){if(this.ISGenerated){var A,O,U,j;let Ee=this.videoTrackConfig;Ee&&(t.width!==Ee.width||t.height!==Ee.height||((A=t.pixelRatio)==null?void 0:A[0])!==((O=Ee.pixelRatio)==null?void 0:O[0])||((U=t.pixelRatio)==null?void 0:U[1])!==((j=Ee.pixelRatio)==null?void 0:j[1]))&&this.resetInitSegment();}else c=this.generateIS(e,t,r,o);let K=this.isVideoContiguous,Y=-1,oe;if(R&&(Y=LR(t.samples),!K&&this.config.forceKeyFrameOnDiscontinuity))if(p=!0,Y>0){X.warn(`[mp4-remuxer]: Dropped ${Y} out of ${S} video samples due to a missing keyframe`);let Ee=this.getVideoStartPts(t.samples);t.samples=t.samples.slice(Y),t.dropped+=Y,m+=(t.samples[0].pts-Ee)/t.inputTimeScale,oe=m;}else Y===-1&&(X.warn(`[mp4-remuxer]: No keyframe found out of ${S} video samples`),p=!1);if(this.ISGenerated){if(P&&R){let Ee=this.getVideoStartPts(t.samples),Ae=(Mi(e.samples[0].pts,Ee)-Ee)/t.inputTimeScale;g+=Math.max(0,Ae),m+=Math.max(0,-Ae);}if(P){if(e.samplerate||(X.warn("[mp4-remuxer]: regenerate InitSegment as audio detected"),c=this.generateIS(e,t,r,o)),u=this.remuxAudio(e,g,this.isAudioContiguous,o,T||R||l===Fe.AUDIO?m:void 0),R){let Ee=u?u.endPTS-u.startPTS:0;t.inputTimeScale||(X.warn("[mp4-remuxer]: regenerate InitSegment as video detected"),c=this.generateIS(e,t,r,o)),d=this.remuxVideo(t,m,K,Ee);}}else R&&(d=this.remuxVideo(t,m,K,0));d&&(d.firstKeyFrame=Y,d.independent=Y!==-1,d.firstKeyFramePTS=oe);}}return this.ISGenerated&&this._initPTS&&this._initDTS&&(i.samples.length&&(f=Lb(i,r,this._initPTS,this._initDTS)),n.samples.length&&(h=Mb(n,r,this._initPTS))),{audio:u,video:d,initSegment:c,independent:p,text:h,id3:f};}generateIS(e,t,i,n){let r=e.samples,o=t.samples,a=this.typeSupported,l={},d=this._initPTS,u=!d||n,c="audio/mp4",h,f,p;if(u&&(h=f=1/0),e.config&&r.length){switch(e.timescale=e.samplerate,e.segmentCodec){case"mp3":a.mpeg?(c="audio/mpeg",e.codec=""):a.mp3&&(e.codec="mp3");break;case"ac3":e.codec="ac-3";break;}l.audio={id:"audio",container:c,codec:e.codec,initSegment:e.segmentCodec==="mp3"&&a.mpeg?new Uint8Array(0):Es.initSegment([e]),metadata:{channelCount:e.channelCount}},u&&(p=e.inputTimeScale,!d||p!==d.timescale?h=f=r[0].pts-Math.round(p*i):u=!1);}if(t.sps&&t.pps&&o.length){if(t.timescale=t.inputTimeScale,l.video={id:"main",container:"video/mp4",codec:t.codec,initSegment:Es.initSegment([t]),metadata:{width:t.width,height:t.height}},u)if(p=t.inputTimeScale,!d||p!==d.timescale){let g=this.getVideoStartPts(o),m=Math.round(p*i);f=Math.min(f,Mi(o[0].dts,g)-m),h=Math.min(h,g-m);}else u=!1;this.videoTrackConfig={width:t.width,height:t.height,pixelRatio:t.pixelRatio};}if(Object.keys(l).length)return this.ISGenerated=!0,u?(this._initPTS={baseTime:h,timescale:p},this._initDTS={baseTime:f,timescale:p}):h=p=void 0,{tracks:l,initPTS:h,timescale:p};}remuxVideo(e,t,i,n){let r=e.inputTimeScale,o=e.samples,a=[],l=o.length,d=this._initPTS,u=this.nextAvcDts,c=8,h=this.videoSampleDuration,f,p,g=Number.POSITIVE_INFINITY,m=Number.NEGATIVE_INFINITY,b
88=!1;if(!i||u===null){let Te=t*r,fe=o[0].pts-Mi(o[0].dts,o[0].pts);Ss&&u!==null&&Math.abs(Te-fe-u)<15e3?i=!0:u=Te-fe;}let T=d.baseTime*r/d.timescale;for(let Te=0;Te<l;Te++){let fe=o[Te];fe.pts=Mi(fe.pts-T,u),fe.dts=Mi(fe.dts-T,u),fe.dts<o[Te>0?Te-1:Te].dts&&(b=!0);}b&&o.sort(function(Te,fe){let me=Te.dts-fe.dts,ge=Te.pts-fe.pts;return me||ge;}),f=o[0].dts,p=o[o.length-1].dts;let S=p-f,P=S?Math.round(S/(l-1)):h||e.inputTimeScale/30;if(i){let Te=f-u,fe=Te>P,me=Te<-1;if((fe||me)&&(fe?X.warn(`AVC: ${Ho(Te,!0)} ms (${Te}dts) hole between fragments detected at ${t.toFixed(3)}`):X.warn(`AVC: ${Ho(-Te,!0)} ms (${Te}dts) overlapping between fragments detected at ${t.toFixed(3)}`),!me||u>=o[0].pts||Ss)){f=u;let ge=o[0].pts-Te;if(fe)o[0].dts=f,o[0].pts=ge;else for(let We=0;We<o.length&&!(o[We].dts>ge);We++)o[We].dts-=Te,o[We].pts-=Te;X.log(`Video: Initial PTS/DTS adjusted: ${Ho(ge,!0)}/${Ho(f,!0)}, delta: ${Ho(Te,!0)} ms`);}}f=Math.max(0,f);let R=0,C=0,A=f;for(let Te=0;Te<l;Te++){let fe=o[Te],me=fe.units,ge=me.length,We=0;for(let nt=0;nt<ge;nt++)We+=me[nt].data.length;C+=We,R+=ge,fe.length=We,fe.dts<A?(fe.dts=A,A+=P/4|0||1):A=fe.dts,g=Math.min(fe.pts,g),m=Math.max(fe.pts,m);}p=o[l-1].dts;let O=C+4*R+8,U;try{U=new Uint8Array(O);}catch(Te){this.observer.emit(w.ERROR,w.ERROR,{type:Be.MUX_ERROR,details:te.REMUX_ALLOC_ERROR,fatal:!1,error:Te,bytes:O,reason:`fail allocating video mdat ${O}`});return;}let j=new DataView(U.buffer);j.setUint32(0,O),U.set(Es.types.mdat,4);let K=!1,Y=Number.POSITIVE_INFINITY,oe=Number.POSITIVE_INFINITY,Ee=Number.NEGATIVE_INFINITY,xe=Number.NEGATIVE_INFINITY;for(let Te=0;Te<l;Te++){let fe=o[Te],me=fe.units,ge=0;for(let tt=0,dt=me.length;tt<dt;tt++){let Tt=me[tt],k=Tt.data,M=Tt.data.byteLength;j.setUint32(c,M),c+=4,U.set(k,c),c+=M,ge+=4+M;}let We;if(Te<l-1)h=o[Te+1].dts-fe.dts,We=o[Te+1].pts-fe.pts;else{let tt=this.config,dt=Te>0?fe.dts-o[Te-1].dts:P;if(We=Te>0?fe.pts-o[Te-1].pts:P,tt.stretchShortVideoTrack&&this.nextAudioPts!==null){let Tt=Math.floor(tt.maxBufferHole*r),k=(n?g+n*r:this.nextAudioPts)-fe.pts;k>Tt?(h=k-dt,h<0?h=dt:K=!0,X.log(`[mp4-remuxer]: It is approximately ${k/90} ms to the next segment; using duration ${h/90} ms for the last video frame.`)):h=dt;}else h=dt;}let nt=Math.round(fe.pts-fe.dts);Y=Math.min(Y,h),Ee=Math.max(Ee,h),oe=Math.min(oe,We),xe=Math.max(xe,We),a.push(new xd(fe.key,h,ge,nt));}if(a.length){if(Ss){if(Ss<70){let Te=a[0].flags;Te.dependsOn=2,Te.isNonSync=0;}}else if(Ch&&xe-oe<Ee-Y&&P/Ee<.025&&a[0].cts===0){X.warn("Found irregular gaps in sample duration. Using PTS instead of DTS to determine MP4 sample duration.");let Te=f;for(let fe=0,me=a.length;fe<me;fe++){let ge=Te+a[fe].duration,We=Te+a[fe].cts;if(fe<me-1){let nt=ge+a[fe+1].cts;a[fe].duration=nt-We;}else a[fe].duration=fe?a[fe-1].duration:P;a[fe].cts=0,Te=ge;}}}h=K||!h?P:h,this.nextAvcDts=u=p+h,this.videoSampleDuration=h,this.isVideoContiguous=!0;let Xe={data1:Es.moof(e.sequenceNumber++,f,Kt({},e,{samples:a})),data2:U,startPTS:g/r,endPTS:(m+h)/r,startDTS:f/r,endDTS:u/r,type:"video",hasAudio:!1,hasVideo:!0,nb:a.length,dropped:e.dropped};return e.samples=[],e.dropped=0,Xe;}getSamplesPerFrame(e){switch(e.segmentCodec){case"mp3":return kR;case"ac3":return OR;default:return Dy;}}remuxAudio(e,t,i,n,r){let o=e.inputTimeScale,a=e.samplerate?e.samplerate:o,l=o/a,d=this.getSamplesPerFrame(e),u=d*l,c=this._initPTS,h=e.segmentCodec==="mp3"&&this.typeSupported.mpeg,f=[],p=r!==void 0,g=e.samples,m=h?0:8,b=this.nextAudioPts||-1,T=t*o,S=c.baseTime*o/c.timescale;if(this.isAudioContiguous=i=i||g.length&&b>0&&(n&&Math.abs(T-b)<9e3||Math.abs(Mi(g[0].pts-S,T)-b)<20*u),g.forEach(function(Ae){Ae.pts=Mi(Ae.pts-S,T);}),!i||b<0){if(g=g.filter(Ae=>Ae.pts>=0),!g.length)return;r===0?b=0:n&&!p?b=Math.max(0,T):b=g[0].pts;}if(e.segmentCodec==="aac"){let Ae=this.config.maxAudioFramesDrift;for(let He=0,Xe=b;He<g.length;He++){let Te=g[He],fe=Te.pts,me=fe-Xe,ge=Math.abs(1e3*me/o);if(me<=-Ae*u&&p)He===0&&(X.warn(`Audio frame @ ${(fe/o).toFixed(3)}s overlaps nextAudioPts by ${Math.round(1e3*me/o)} ms.`),this.nextAudioPts=b=Xe=fe);else if(me>=Ae*u&&ge<PR&&p){let We=Math.round(me/u);Xe=fe-We*u,Xe<0&&(We--,Xe+=u),He===0&&(this.nextAudioPts=b=Xe),X.warn(`[mp4-remuxer]: Injecting ${We} audio frame @ ${(Xe/o).toFixed(3)}s due to ${Math.round(1e3*me/o)} ms gap.`);for(let nt=0;nt<We;nt++){let tt=Math.max(Xe,0),dt=wd.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);dt||(X.log("[mp4-remuxer]: Unable to get silent frame for given audio codec; duplicating last frame instead."),dt=Te.unit.subarray()),g.splice(He,0,{unit:dt,pts:tt}),Xe+=u,He++;}}Te.pts=Xe,Xe+=u;}}let P=null,R=null,C,A=0,O=g.length;for(;O--;)A+=g[O].unit.byteLength;for(let Ae=0,He=g.length;Ae<He;Ae++){let Xe=g[Ae],Te=Xe.unit,fe=Xe.pts;if(R!==null){let ge=f[Ae-1];
88ge.duration=Math.round((fe-R)/l);}else if(i&&e.segmentCodec==="aac"&&(fe=b),P=fe,A>0){A+=m;try{C=new Uint8Array(A);}catch(ge){this.observer.emit(w.ERROR,w.ERROR,{type:Be.MUX_ERROR,details:te.REMUX_ALLOC_ERROR,fatal:!1,error:ge,bytes:A,reason:`fail allocating audio mdat ${A}`});return;}h||(new DataView(C.buffer).setUint32(0,A),C.set(Es.types.mdat,4));}else return;C.set(Te,m);let me=Te.byteLength;m+=me,f.push(new xd(!0,d,me,0)),R=fe;}let U=f.length;if(!U)return;let j=f[f.length-1];this.nextAudioPts=b=R+l*j.duration;let K=h?new Uint8Array(0):Es.moof(e.sequenceNumber++,P/l,Kt({},e,{samples:f}));e.samples=[];let Y=P/o,oe=b/o,xe={data1:K,data2:C,startPTS:Y,endPTS:oe,startDTS:Y,endDTS:oe,type:"audio",hasAudio:!0,hasVideo:!1,nb:U};return this.isAudioContiguous=!0,xe;}remuxEmptyAudio(e,t,i,n){let r=e.inputTimeScale,o=e.samplerate?e.samplerate:r,a=r/o,l=this.nextAudioPts,d=this._initDTS,u=d.baseTime*9e4/d.timescale,c=(l!==null?l:n.startDTS*r)+u,h=n.endDTS*r+u,f=a*Dy,p=Math.ceil((h-c)/f),g=wd.getSilentFrame(e.manifestCodec||e.codec,e.channelCount);if(X.warn("[mp4-remuxer]: remux empty Audio"),!g){X.trace("[mp4-remuxer]: Unable to remuxEmptyAudio since we were unable to get a silent frame for given audio codec");return;}let m=[];for(let b=0;b<p;b++){let T=c+b*f;m.push({unit:g,pts:T,dts:T});}return e.samples=m,this.remuxAudio(e,t,i,!1);}};function Mi(s,e){let t;if(e===null)return s;for(e<s?t=-8589934592:t=8589934592;Math.abs(s-e)>4294967296;)s+=t;return s;}function LR(s){for(let e=0;e<s.length;e++)if(s[e].key)return e;return-1;}function Lb(s,e,t,i){let n=s.samples.length;if(!n)return;let r=s.inputTimeScale;for(let a=0;a<n;a++){let l=s.samples[a];l.pts=Mi(l.pts-t.baseTime*r/t.timescale,e*r)/r,l.dts=Mi(l.dts-i.baseTime*r/i.timescale,e*r)/r;}let o=s.samples;return s.samples=[],{samples:o};}function Mb(s,e,t){let i=s.samples.length;if(!i)return;let n=s.inputTimeScale;for(let o=0;o<i;o++){let a=s.samples[o];a.pts=Mi(a.pts-t.baseTime*n/t.timescale,e*n)/n;}s.samples.sort((o,a)=>o.pts-a.pts);let r=s.samples;return s.samples=[],{samples:r};}var xd=class{constructor(e,t,i,n){this.size=void 0,this.duration=void 0,this.cts=void 0,this.flags=void 0,this.duration=t,this.size=i,this.cts=n,this.flags={isLeading:0,isDependedOn:0,hasRedundancy:0,degradPrio:0,dependsOn:e?2:1,isNonSync:e?0:1};}},cf=class{constructor(){this.emitInitSegment=!1,this.audioCodec=void 0,this.videoCodec=void 0,this.initData=void 0,this.initPTS=null,this.initTracks=void 0,this.lastEndTime=null;}destroy(){}resetTimeStamp(e){this.initPTS=e,this.lastEndTime=null;}resetNextTimestamp(){this.lastEndTime=null;}resetInitSegment(e,t,i,n){this.audioCodec=t,this.videoCodec=i,this.generateInitSegment(oI(e,n)),this.emitInitSegment=!0;}generateInitSegment(e){let{audioCodec:t,videoCodec:i}=this;if(!(e!=null&&e.byteLength)){this.initTracks=void 0,this.initData=void 0;return;}let n=this.initData=ob(e);n.audio&&(t=Ny(n.audio,gt.AUDIO)),n.video&&(i=Ny(n.video,gt.VIDEO));let r={};n.audio&&n.video?r.audiovideo={container:"video/mp4",codec:t+","+i,initSegment:e,id:"main"}:n.audio?r.audio={container:"audio/mp4",codec:t,initSegment:e,id:"audio"}:n.video?r.video={container:"video/mp4",codec:i,initSegment:e,id:"main"}:X.warn("[passthrough-remuxer.ts]: initSegment does not contain moov or trak boxes."),this.initTracks=r;}remux(e,t,i,n,r,o){var a,l;let{initPTS:d,lastEndTime:u}=this,c={audio:void 0,video:void 0,text:n,id3:i,initSegment:void 0};Re(u)||(u=this.lastEndTime=r||0);let h=t.samples;if(!(h!=null&&h.length))return c;let f={initPTS:void 0,timescale:1},p=this.initData;if((a=p)!=null&&a.length||(this.generateInitSegment(h),p=this.initData),!((l=p)!=null&&l.length))return X.warn("[passthrough-remuxer.ts]: Failed to generate initSegment."),c;this.emitInitSegment&&(f.tracks=this.initTracks,this.emitInitSegment=!1);let g=lI(h,p),m=aI(p,h),b=m===null?r:m;(MR(d,b,r,g)||f.timescale!==d.timescale&&o)&&(f.initPTS=b-r,d&&d.timescale===1&&X.warn(`Adjusting initPTS by ${f.initPTS-d.baseTime}`),this.initPTS=d={baseTime:f.initPTS,timescale:1});let T=e?b-d.baseTime/d.timescale:u,S=T+g;uI(p,h,d.baseTime/d.timescale),g>0?this.lastEndTime=S:(X.warn("Duration parsed from mp4 should be greater than zero"),this.resetNextTimestamp());let P=!!p.audio,R=!!p.video,C="";P&&(C+="audio"),R&&(C+="video");let A={data1:h,startPTS:T,startDTS:T,endPTS:S,endDTS:S,type:C,hasAudio:P,hasVideo:R,nb:1,dropped:0};return c.audio=A.type==="audio"?A:void 0,c.video=A.type!=="audio"?A:void 0,c.initSegment=f,c.id3=Lb(i,r,d,d),n.samples.length&&(c.text=Mb(n,r,d)),c;}};function MR(s,e,t,i){if(s===null)return!0;let n=Math.max(i,1),r=e-s.baseTime/s.timescale;return Math.abs(r-t)>n;}function Ny(s,e){let t=s==null?void 0:s.codec;if(t&&t.length>4)return t;if(e===gt.AUDIO){if(t==="ec-3"||t==="ac-3"||t==="alac")return t;if(t==="fLaC"||t==="Opus")return pd(t,!1);let i="mp4a.40.5";return X.info(`Parsed audio codec "${t}" or audio object type not handled. Using "${i}"`),i;}return X.warn(`Unhandled video codec "${t}"`),t==="hvc1"||t==="hev1"?"hvc1.1.6.L120.90":t==="av01"?"av01.0.04M.08":"avc1.42e01e";}var kn;try{kn=self.performance.now.bind(self.performance);}catch{X.debug("Unable to use Performance API on this environment"),kn=Ps==null?void 0:Ps.Date.now;}var sd=[{demux:nf,remux:cf},{demux:lf,remux:Is},{demux:tf,remux:Is},{demux:uf,remux:Is}];sd.splice(2,0,{demux:rf,remux:Is});var Ad=class{constructor(e,t,i,n,r){this.async=!1,this.observer=void 0,this.typeSupp
88orted=void 0,this.config=void 0,this.vendor=void 0,this.id=void 0,this.demuxer=void 0,this.remuxer=void 0,this.decrypter=void 0,this.probe=void 0,this.decryptionPromise=null,this.transmuxConfig=void 0,this.currentTransmuxState=void 0,this.observer=e,this.typeSupported=t,this.config=i,this.vendor=n,this.id=r;}configure(e){this.transmuxConfig=e,this.decrypter&&this.decrypter.reset();}push(e,t,i,n){let r=i.transmuxing;r.executeStart=kn();let o=new Uint8Array(e),{currentTransmuxState:a,transmuxConfig:l}=this;n&&(this.currentTransmuxState=n);let{contiguous:d,discontinuity:u,trackSwitch:c,accurateTimeOffset:h,timeOffset:f,initSegmentChange:p}=n||a,{audioCodec:g,videoCodec:m,defaultInitPts:b,duration:T,initSegmentData:S}=l,P=DR(o,t);if(P&&P.method==="AES-128"){let O=this.getDecrypter();if(O.isSync()){let U=O.softwareDecrypt(o,P.key.buffer,P.iv.buffer);if(i.part>-1&&(U=O.flush()),!U)return r.executeEnd=kn(),wh(i);o=new Uint8Array(U);}else return this.decryptionPromise=O.webCryptoDecrypt(o,P.key.buffer,P.iv.buffer).then(U=>{let j=this.push(U,null,i);return this.decryptionPromise=null,j;}),this.decryptionPromise;}let R=this.needsProbing(u,c);if(R){let O=this.configureTransmuxer(o);if(O)return X.warn(`[transmuxer] ${O.message}`),this.observer.emit(w.ERROR,w.ERROR,{type:Be.MEDIA_ERROR,details:te.FRAG_PARSING_ERROR,fatal:!1,error:O,reason:O.message}),r.executeEnd=kn(),wh(i);}(u||c||p||R)&&this.resetInitSegment(S,g,m,T,t),(u||p||R)&&this.resetInitialTimestamp(b),d||this.resetContiguity();let C=this.transmux(o,P,f,h,i),A=this.currentTransmuxState;return A.contiguous=!0,A.discontinuity=!1,A.trackSwitch=!1,r.executeEnd=kn(),C;}flush(e){let t=e.transmuxing;t.executeStart=kn();let{decrypter:i,currentTransmuxState:n,decryptionPromise:r}=this;if(r)return r.then(()=>this.flush(e));let o=[],{timeOffset:a}=n;
88if(i){let c=i.flush();c&&o.push(this.push(c,null,e));}let{demuxer:l,remuxer:d}=this;if(!l||!d)return t.executeEnd=kn(),[wh(e)];let u=l.flush(a);return od(u)?u.then(c=>(this.flushRemux(o,c,e),o)):(this.flushRemux(o,u,e),o);}flushRemux(e,t,i){let{audioTrack:n,videoTrack:r,id3Track:o,textTrack:a}=t,{accurateTimeOffset:l,timeOffset:d}=this.currentTransmuxState;X.log(`[transmuxer.ts]: Flushed fragment ${i.sn}${i.part>-1?" p: "+i.part:""} of level ${i.level}`);let u=this.remuxer.remux(n,r,o,a,d,l,!0,this.id);e.push({remuxResult:u,chunkMeta:i}),i.transmuxing.executeEnd=kn();}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,n,r){let{demuxer:o,remuxer:a}=this;!o||!a||(o.resetInitSegment(e,t,i,n),a.resetInitSegment(e,t,i,r));}destroy(){this.demuxer&&(this.demuxer.destroy(),this.demuxer=void 0),this.remuxer&&(this.remuxer.destroy(),this.remuxer=void 0);}transmux(e,t,i,n,r){let o;return t&&t.method==="SAMPLE-AES"?o=this.transmuxSampleAes(e,t,i,n,r):o=this.transmuxUnencrypted(e,i,n,r),o;}transmuxUnencrypted(e,t,i,n){let{audioTrack:r,videoTrack:o,id3Track:a,textTrack:l}=this.demuxer.demux(e,t,!1,!this.config.progressive);return{remuxResult:this.remuxer.remux(r,o,a,l,t,i,!1,this.id),chunkMeta:n};}transmuxSampleAes(e,t,i,n,r){return this.demuxer.demuxSampleAes(e,t,i).then(o=>({remuxResult:this.remuxer.remux(o.audioTrack,o.videoTrack,o.id3Track,o.textTrack,i,n,!1,this.id),chunkMeta:r}));}configureTransmuxer(e){let{config:t,observer:i,typeSupported:n,vendor:r}=this,o;for(let h=0,f=sd.length;h<f;h++){var a;if((a=sd[h].demux)!=null&&a.probe(e)){o=sd[h];break;}}if(!o)return new Error("Failed to find demuxer by probing fragment data");let l=this.demuxer,d=this.remuxer,u=o.remux,c=o.demux;(!d||!(d instanceof u))&&(this.remuxer=new u(i,t,n,r)),(!l||!(l instanceof c))&&(this.demuxer=new c(i,t,n),this.probe=c.probe);}needsProbing(e,t){return!this.demuxer||!this.remuxer||e||t;}getDecrypter(){let e=this.decrypter;return e||(e=this.decrypter=new Qo(this.config)),e;}};function DR(s,e){let t=null;return s.byteLength>0&&(e==null?void 0:e.key)!=null&&e.iv!==null&&e.method!=null&&(t=e),t;}var wh=s=>({remuxResult:{},chunkMeta:s});function od(s){return"then"in s&&s.then instanceof Function;}var hf=class{constructor(e,t,i,n,r){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=n,this.defaultInitPts=r||null;}},ff=class{constructor(e,t,i,n,r,o){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=n,this.timeOffset=r,this.initSegmentChange=o;}},Db={exports:{}};(function(s){var e=Object.prototype.hasOwnProperty,t="~";function i(){}Object.create&&(i.prototype=Object.create(null),new i().__proto__||(t=!1));function n(l,d,u){this.fn=l,this.context=d,this.once=u||!1;}function r(l,d,u,c,h){if(typeof u!="function")throw new TypeError("The listener must be a function");var f=new n(u,c||l,h),p=t?t+d:d;return l._events[p]?l._events[p].fn?l._events[p]=[l._events[p],f]:l._events[p].push(f):(l._events[p]=f,l._eventsCount++),l;}function o(l,d){--l._eventsCount===0?l._events=new i():delete l._events[d];}function a(){this._events=new i(),this._eventsCount=0;}a.prototype.eventNames=function(){var d=[],u,c;if(this._eventsCount===0)return d;for(c in u=this._events)e.call(u,c)&&d.push(t?c.slice(1):c);return Object.getOwnPropertySymbols?d.concat(Object.getOwnPropertySymbols(u)):d;},a.prototype.listeners=function(d){var u=t?t+d:d,c=this._events[u];if(!c)return[];
88if(c.fn)return[c.fn];for(var h=0,f=c.length,p=new Array(f);h<f;h++)p[h]=c[h].fn;return p;},a.prototype.listenerCount=function(d){var u=t?t+d:d,c=this._events[u];return c?c.fn?1:c.length:0;},a.prototype.emit=function(d,u,c,h,f,p){var g=t?t+d:d;if(!this._events[g])return!1;var m=this._events[g],b=arguments.length,T,S;if(m.fn){switch(m.once&&this.removeListener(d,m.fn,void 0,!0),b){case 1:return m.fn.call(m.context),!0;case 2:return m.fn.call(m.context,u),!0;case 3:return m.fn.call(m.context,u,c),!0;case 4:return m.fn.call(m.context,u,c,h),!0;case 5:return m.fn.call(m.context,u,c,h,f),!0;case 6:return m.fn.call(m.context,u,c,h,f,p),!0;}for(S=1,T=new Array(b-1);S<b;S++)T[S-1]=arguments[S];m.fn.apply(m.context,T);}else{var P=m.length,R;for(S=0;S<P;S++)switch(m[S].once&&this.removeListener(d,m[S].fn,void 0,!0),b){case 1:m[S].fn.call(m[S].context);break;case 2:m[S].fn.call(m[S].context,u);break;case 3:m[S].fn.call(m[S].context,u,c);break;case 4:m[S].fn.call(m[S].context,u,c,h);break;default:if(!T)for(R=1,T=new Array(b-1);R<b;R++)T[R-1]=arguments[R];m[S].fn.apply(m[S].context,T);}}return!0;},a.prototype.on=function(d,u,c){return r(this,d,u,c,!1);},a.prototype.once=function(d,u,c){return r(this,d,u,c,!0);},a.prototype.removeListener=function(d,u,c,h){var f=t?t+d:d;if(!this._events[f])return this;if(!u)return o(this,f),this;var p=this._events[f];if(p.fn)p.fn===u&&(!h||p.once)&&(!c||p.context===c)&&o(this,f);else{for(var g=0,m=[],b=p.length;g<b;g++)(p[g].fn!==u||h&&!p[g].once||c&&p[g].context!==c)&&m.push(p[g]);m.length?this._events[f]=m.length===1?m[0]:m:o(this,f);}return this;},a.prototype.removeAllListeners=function(d){var u;return d?(u=t?t+d:d,this._events[u]&&o(this,u)):(this._events=new i(),this._eventsCount=0),this;},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=t,a.EventEmitter=a,s.exports=a;})(Db);var NR=Db.exports,Xf=RA(NR),Id=class{constructor(e,t,i,n){this.error=null,this.hls=void 0,this.id=void 0,this.observer=void 0,this.frag=null,this.part=null,this.useWorker=void 0,this.workerContext=null,this.onwmsg=void 0,this.transmuxer=null,this.onTransmuxComplete=void 0,this.onFlush=void 0;let r=e.config;this.hls=e,this.id=t,this.useWorker=!!r.enableWorker,this.onTransmuxComplete=i,this.onFlush=n;let o=(d,u)=>{u=u||{},u.frag=this.frag,u.id=this.id,d===w.ERROR&&(this.error=u.error),this.hls.trigger(d,u);};this.observer=new Xf(),this.observer.on(w.FRAG_DECRYPTED,o),this.observer.on(w.ERROR,o);let a=Sr(r.preferManagedMediaSource)||{isTypeSupported:()=>!1},l={mpeg:a.isTypeSupported("audio/mpeg"),mp3:a.isTypeSupported('audio/mp4; codecs="mp3"'),ac3:a.isTypeSupported('audio/mp4; codecs="ac-3"')};if(this.useWorker&&typeof Worker<"u"&&(r.workerPath||cR())){try{r.workerPath?(X.log(`loading Web Worker ${r.workerPath} for "${t}"`),this.workerContext=fR(r.workerPath)):(X.log(`injecting Web Worker for "${t}"`),this.workerContext=hR()),this.onwmsg=c=>this.onWorkerMessage(c);let{worker:u}=this.workerContext;u.addEventListener("message",this.onwmsg),u.onerror=c=>{let h=new Error(`${c.message} (${c.filename}:${c.lineno})`);r.enableWorker=!1,X.warn(`Error in "${t}" Web Worker, fallback to inline`),this.hls.trigger(w.ERROR,{type:Be.OTHER_ERROR,details:te.INTERNAL_EXCEPTION,fatal:!1,event:"demuxerWorker",error:h});},u.postMessage({cmd:"init",typeSupported:l,vendor:"",id:t,config:JSON.stringify(r)});}catch(u){X.warn(`Error setting up "${t}" Web Worker, fallback to inline`,u),this.resetWorker(),this.error=null,this.transmuxer=new Ad(this.observer,l,r,"",t);}return;}this.transmuxer=new Ad(this.observer,l,r,"",t);}resetWorker(){if(this.workerContext){let{worker:e,objectURL:t}=this.workerContext;t&&self.URL.revokeObjectURL(t),e.removeEventListener("message",this.onwmsg),e.onerror=null,e.terminate(),this.workerContext=null;}}destroy(){if(this.workerContext)this.resetWorker(),this.onwmsg=void 0;else{let t=this.transmuxer;t&&(t.destroy(),this.transmuxer=null);}let e=this.observer;e&&e.removeAllListeners(),this.frag=null,this.observer=null,this.hls=null;}push(e,t,i,n,r,o,a,l,d,u){var c,h;d.transmuxing.start=self.performance.now();let{transmuxer:f}=this,p=o?o.start:r.start,g=r.decryptdata,m=this.frag,b=!(m&&r.cc===m.cc),T=!(m&&d.level===m.level),S=m?d.sn-m.sn:-1,P=this.part?d.part-this.part.index:-1,R=S===0&&d.id>1&&d.id===(m==null?void 0:m.stats.chunkCount),C=!T&&(S===1||S===0&&(P===1||R&&P<=0)),A=self.performance.now();(T||S||r.stats.parsing.start===0)&&(r.stats.parsing.start=A),o&&(P||!C)&&(o.stats.parsing.start=A);let O=!(m&&((c=r.initSegment)==null?void 0:c.url)===((h=m.initSegment)==null?void 0:h.url)),U=new ff(b,C,l,T,p,O);if(!C||b||O){X.log(`[transmuxer-interface, ${r.type}]: Starting new transmux session for sn: ${d.sn} p: ${d.part} level: ${d.level} id: ${d.id} 89 discontinuity: ${b} 90 trackSwitch: ${T} 91 contiguous: ${C}
92 accurateTimeOffset: ${l} 93 timeOffset: ${p} 94 initSegmentChange: ${O}`);let j=new hf(i,n,t,a,u);this.configureTransmuxer(j);}if(this.frag=r,this.part=o,this.workerContext)this.workerContext.worker.postMessage({cmd:"demux",data:e,decryptdata:g,chunkMeta:d,state:U},e instanceof ArrayBuffer?[e]:[]);else if(f){let j=f.push(e,g,d,U);od(j)?(f.async=!0,j.then(K=>{this.handleTransmuxComplete(K);}).catch(K=>{this.transmuxerError(K,d,"transmuxer-interface push error");})):(f.async=!1,this.handleTransmuxComplete(j));}}flush(e){e.transmuxing.start=self.performance.now();let{transmuxer:t}=this;if(this.workerContext)this.workerContext.worker.postMessage({cmd:"flush",chunkMeta:e});else if(t){let i=t.flush(e);od(i)||t.async?(od(i)||(i=Promise.resolve(i)),i.then(r=>{this.handleFlushResult(r,e);}).catch(r=>{this.transmuxerError(r,e,"transmuxer-interface flush error");})):this.handleFlushResult(i,e);}}transmuxerError(e,t,i){this.hls&&(this.error=e,this.hls.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.FRAG_PARSING_ERROR,chunkMeta:t,frag:this.frag||void 0,fatal:!1,error:e,err:e,reason:i}));}handleFlushResult(e,t){e.forEach(i=>{this.handleTransmuxComplete(i);}),this.onFlush(t);}onWorkerMessage(e){let t=e.data;if(!(t!=null&&t.event)){X.warn(`worker message received with no ${t?"event name":"data"}`);return;}let i=this.hls;if(this.hls)switch(t.event){case"init":{var n;let r=(n=this.workerContext)==null?void 0:n.objectURL;r&&self.URL.revokeObjectURL(r);break;}case"transmuxComplete":{this.handleTransmuxComplete(t.data);break;}case"flush":{this.onFlush(t.data);break;}case"workerLog":X[t.data.logType]&&X[t.data.logType](t.data.message);break;default:{t.data=t.data||{},t.data.frag=this.frag,t.data.id=this.id,i.trigger(t.event,t.data);break;}}}configureTransmuxer(e){let{transmuxer:t}=this;this.workerContext?this.workerContext.worker.postMessage({cmd:"configure",config:e}):t&&t.configure(e);}handleTransmuxComplete(e){e.chunkMeta.transmuxing.end=self.performance.now(),this.onTransmuxComplete(e);}};function Nb(s,e){if(s.length!==e.length)return!1;for(let t=0;t<s.length;t++)if(!ks(s[t].attrs,e[t].attrs))return!1;return!0;}function ks(s,e,t){let i=s["STABLE-RENDITION-ID"];return i&&!t?i===e["STABLE-RENDITION-ID"]:!(t||["LANGUAGE","NAME","CHARACTERISTICS","AUTOSELECT","DEFAULT","FORCED","ASSOC-LANGUAGE"]).some(n=>s[n]!==e[n]);}function pf(s,e){return e.label.toLowerCase()===s.name.toLowerCase()&&(!e.language||e.language.toLowerCase()===(s.lang||"").toLowerCase());}var jy=100,mf=class extends Jo{constructor(e,t,i){super(e,t,i,"[audio-stream-controller]",Fe.AUDIO),this.videoBuffer=null,this.videoTrackCC=-1,this.waitingVideoCC=-1,this.bufferedTrack=null,this.switchingTrack=null,this.trackId=-1,this.waitingData=null,this.mainDetails=null,this.flushing=!1,this.bufferFlushed=!1,this.cachedTrackLoadedData=null,this._registerListeners();}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null,this.bufferedTrack=null,this.switchingTrack=null;}_registerListeners(){let{hls:e}=this;e.on(w.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.LEVEL_LOADED,this.onLevelLoaded,this),e.on(w.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.on(w.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(w.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(w.ERROR,this.onError,this),e.on(w.BUFFER_RESET,this.onBufferReset,this),e.on(w.BUFFER_CREATED,this.onBufferCreated,this),e.on(w.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(w.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(w.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(w.FRAG_BUFFERED,this.onFragBuffered,this);}_unregisterListeners(){let{hls:e}=this;e.off(w.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.LEVEL_LOADED,this.onLevelLoaded,this),e.off(w.AUDIO_TRACKS_UPDATED,this.onAudioTracksUpdated,this),e.off(w.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(w.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(w.ERROR,this.onError,this),e.off(w.BUFFER_RESET,this.onBufferReset,this),e.off(w.BUFFER_CREATED,this.onBufferCreated,this),e.off(w.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(w.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(w.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(w.FRAG_BUFFERED,this.onFragBuffered,this);}onInitPtsFound(e,{frag:t,id:i,initPTS:n,timescale:r}){if(i==="main"){let o=t.cc;this.initPTS[t.cc]={baseTime:n,timescale:r},this.log(`InitPTS for cc: ${o} found from main: ${n}`),this.videoTrackCC=o,this.state===le.WAITING_INIT_PTS&&this.tick();}}startLoad(e){if(!this.levels){this.startPosition=e,this.state=le.STOPPED;return;}let t=this.lastCurrentTime;this.stopLoad(),this.setInterval(jy),t>0&&e===-1?(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t,this.state=le.IDLE):(this.loadedmetadata=!1,this.state=le.WAITING_TRACK),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick();}doTick(){switch(this.state){case le.IDLE:this.doTickIdle();break;case le.WAITING_TRACK:{var e;let{levels:i,trackId:n}=this,r=i==null||(e=i[n])==null?void 0:e.details;if(r){if(this.waitForCdnTuneIn(r))break;this.state=le.WAITING_INIT_PTS;}break;}case le.FRAG_LOADING_WAITING_RETRY:{var t;let i=performance.now(),n=this.retryDate;if(!n||i>=n||(t=this.media)!=null&&t.seeking){let{levels:r,trackId:o}=this;this.log("RetryDate reached, switch back to IDLE state"),this.resetStartWhenNotLoaded((r==null?void 0:r[o])||null),this.state=le.IDLE;}break;}case le.WAITING_INIT_PTS:{let i=this.waitingData;if(i){let{frag:n,part:r,cache:o,complete:a}=i;if(this.initPTS[n.cc]!==void 0){this.waitingData=null,this.waitingVideoCC=-1,this.state=le.FRAG_LOADING;let l=o.flush(),d={frag:n,part:r,payload:l,networkDetails:null};this._handleFragmentLoadProgress(d),a&&super._handleFragmentLoadComplete(d);}else if(this.videoTrackCC!==this.waitingVideoCC)this.log(`Waiting fragment cc (${n.cc}) cancelled because video is at cc ${this.videoTrackCC}`),this.clearWaitingFragment();else{let l=this.getLoadPosition(),d=At.bufferInfo(this.mediaBuffer,l,this.config.maxBufferHole);Wh(d.end,this.config.maxFragLookUpTolerance,n)<0&&(this.log(`Waiting fragment cc (${n.cc}) @ ${n.start} cancelled because another fragment at ${d.end} is needed`),this.clearWaitingFragment());}}else this.state=le.IDLE;}}this.onTickEnd();}clearWaitingFragment(){let e=this.waitingData;e&&(this.fragmentTracker.removeFragment(e.frag),this.waitingData=null,this.waitingVideoCC=-1,this.state=le.IDLE);}
94resetLoadingState(){this.clearWaitingFragment(),super.resetLoadingState();}onTickEnd(){let{media:e}=this;e!=null&&e.readyState&&(this.lastCurrentTime=e.currentTime);}doTickIdle(){let{hls:e,levels:t,media:i,trackId:n}=this,r=e.config;if(!i&&(this.startFragRequested||!r.startFragPrefetch)||!(t!=null&&t[n]))return;let o=t[n],a=o.details;if(!a||a.live&&this.levelLastLoaded!==o||this.waitForCdnTuneIn(a)){this.state=le.WAITING_TRACK;return;}let l=this.mediaBuffer?this.mediaBuffer:this.media;this.bufferFlushed&&l&&(this.bufferFlushed=!1,this.afterBufferFlushed(l,gt.AUDIO,Fe.AUDIO));let d=this.getFwdBufferInfo(l,Fe.AUDIO);if(d===null)return;let{bufferedTrack:u,switchingTrack:c}=this;if(!c&&this._streamEnded(d,a)){e.trigger(w.BUFFER_EOS,{type:"audio"}),this.state=le.ENDED;return;}let h=this.getFwdBufferInfo(this.videoBuffer?this.videoBuffer:this.media,Fe.MAIN),f=d.len,p=this.getMaxBufferLength(h==null?void 0:h.len),g=a.fragments,m=g[0].start,b=this.flushing?this.getLoadPosition():d.end;if(c&&i){let R=this.getLoadPosition();u&&!ks(c.attrs,u.attrs)&&(b=R),a.PTSKnown&&R<m&&(d.end>m||d.nextStart)&&(this.log("Alt audio track ahead of main track, seek to start of alt audio track"),i.currentTime=m+.05);}if(f>=p&&!c&&b<g[g.length-1].start)return;let T=this.getNextFragment(b,a),S=!1;if(T&&this.isLoopLoading(T,b)&&(S=!!T.gap,T=this.getNextFragmentLoopLoading(T,a,d,Fe.MAIN,p)),!T){this.bufferFlushed=!0;return;}let P=h&&T.start>h.end+a.targetduration;if(P||!(h!=null&&h.len)&&d.len){let R=this.getAppendedFrag(T.start,Fe.MAIN);if(R===null||(S||(S=!!R.gap||!!P&&h.len===0),P&&!S||S&&d.nextStart&&d.nextStart<R.end))return;}this.loadFragment(T,o,b);}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.min(Math.max(t,e),this.config.maxMaxBufferLength):t;}onMediaDetaching(){this.videoBuffer=null,this.bufferFlushed=this.flushing=!1,super.onMediaDetaching();}onAudioTracksUpdated(e,{audioTracks:t}){this.resetTransmuxer(),this.levels=t.map(i=>new Jn(i));}onAudioTrackSwitching(e,t){let i=!!t.url;this.trackId=t.id;let{fragCurrent:n}=this;n&&(n.abortRequests(),this.removeUnbufferedFrags(n.start)),this.resetLoadingState(),i?this.setInterval(jy):this.resetTransmuxer(),i?(this.switchingTrack=t,this.state=le.IDLE,this.flushAudioIfNeeded(t)):(this.switchingTrack=null,this.bufferedTrack=t,this.state=le.STOPPED),this.tick();}onManifestLoading(){this.fragmentTracker.removeAllFragments(),this.startPosition=this.lastCurrentTime=0,this.bufferFlushed=this.flushing=!1,this.levels=this.mainDetails=this.waitingData=this.bufferedTrack=this.cachedTrackLoadedData=this.switchingTrack=null,this.startFragRequested=!1,this.trackId=this.videoTrackCC=this.waitingVideoCC=-1;}onLevelLoaded(e,t){this.mainDetails=t.details,this.cachedTrackLoadedData!==null&&(this.hls.trigger(w.AUDIO_TRACK_LOADED,this.cachedTrackLoadedData),this.cachedTrackLoadedData=null);}onAudioTrackLoaded(e,t){var i;if(this.mainDetails==null){this.cachedTrackLoadedData=t;return;}let{levels:n}=this,{details:r,id:o}=t;if(!n){this.warn(`Audio tracks were reset while loading level ${o}`);return;}this.log(`Audio track ${o} loaded [${r.startSN},${r.endSN}]${r.lastPartSn?`[part-${r.lastPartSn}-${r.lastPartIndex}]`:""},duration:${r.totalduration}`);let a=n[o],l=0;if(r.live||(i=a.details)!=null&&i.live){this.checkLiveUpdate(r);let u=this.mainDetails;if(r.deltaUpdateFailed||!u)return;if(!a.details&&r.hasProgramDateTime&&u.hasProgramDateTime)bd(r,u),l=r.fragments[0].start;else{var d;l=this.alignPlaylists(r,a.details,(d=this.levelLastLoaded)==null?void 0:d.details);}}a.details=r,this.levelLastLoaded=a,!this.startFragRequested&&(this.mainDetails||!r.live)&&this.setStartPosition(this.mainDetails||r,l),this.state===le.WAITING_TRACK&&!this.waitForCdnTuneIn(r)&&(this.state=le.IDLE),this.tick();}_handleFragmentLoadProgress(e){var t;let{frag:i,part:n,payload:r}
94=e,{config:o,trackId:a,levels:l}=this;if(!l){this.warn(`Audio tracks were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);return;}let d=l[a];if(!d){this.warn("Audio track is undefined on fragment load progress");return;}let u=d.details;if(!u){this.warn("Audio track details undefined on fragment load progress"),this.removeUnbufferedFrags(i.start);return;}let c=o.defaultAudioCodec||d.audioCodec||"mp4a.40.2",h=this.transmuxer;h||(h=this.transmuxer=new Id(this.hls,Fe.AUDIO,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)));let f=this.initPTS[i.cc],p=(t=i.initSegment)==null?void 0:t.data;if(f!==void 0){let m=n?n.index:-1,b=m!==-1,T=new Xo(i.level,i.sn,i.stats.chunkCount,r.byteLength,m,b);h.push(r,p,c,"",i,n,u.totalduration,!1,T,f);}else{this.log(`Unknown video PTS for cc ${i.cc}, waiting for video PTS before demuxing audio frag ${i.sn} of [${u.startSN} ,${u.endSN}],track ${a}`);let{cache:g}=this.waitingData=this.waitingData||{frag:i,part:n,cache:new Td(),complete:!1};g.push(new Uint8Array(r)),this.waitingVideoCC=this.videoTrackCC,this.state=le.WAITING_INIT_PTS;}}_handleFragmentLoadComplete(e){if(this.waitingData){this.waitingData.complete=!0;return;}super._handleFragmentLoadComplete(e);}onBufferReset(){this.mediaBuffer=this.videoBuffer=null,this.loadedmetadata=!1;}onBufferCreated(e,t){let i=t.tracks.audio;i&&(this.mediaBuffer=i.buffer||null),t.tracks.video&&(this.videoBuffer=t.tracks.video.buffer||null);}onFragBuffered(e,t){let{frag:i,part:n}=t;if(i.type!==Fe.AUDIO){if(!this.loadedmetadata&&i.type===Fe.MAIN){let r=this.videoBuffer||this.media;r&&At.getBuffered(r).length&&(this.loadedmetadata=!0);}return;}if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${n?" p: "+n.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}, audioSwitch: ${this.switchingTrack?this.switchingTrack.name:"false"}`);return;}if(i.sn!=="initSegment"){this.fragPrevious=i;let r=this.switchingTrack;r&&(this.bufferedTrack=r,this.switchingTrack=null,this.hls.trigger(w.AUDIO_TRACK_SWITCHED,ri({},r)));}this.fragBufferedComplete(i,n);}onError(e,t){var i;if(t.fatal){this.state=le.ERROR;return;}switch(t.details){case te.FRAG_GAP:case te.FRAG_PARSING_ERROR:case te.FRAG_DECRYPT_ERROR:case te.FRAG_LOAD_ERROR:case te.FRAG_LOAD_TIMEOUT:case te.KEY_LOAD_ERROR:case te.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Fe.AUDIO,t);break;case te.AUDIO_TRACK_LOAD_ERROR:case te.AUDIO_TRACK_LOAD_TIMEOUT:case te.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===le.WAITING_TRACK&&((i=t.context)==null?void 0:i.type)===st.AUDIO_TRACK&&(this.state=le.IDLE);break;case te.BUFFER_APPEND_ERROR:case te.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="audio")return;if(t.details===te.BUFFER_APPEND_ERROR){this.resetLoadingState();return;}this.reduceLengthAndFlushBuffer(t)&&(this.bufferedTrack=null,super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"));break;case te.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break;}}onBufferFlushing(e,{type:t}){t!==gt.VIDEO&&(this.flushing=!0);}onBufferFlushed(e,{type:t}){if(t!==gt.VIDEO){this.flushing=!1,this.bufferFlushed=!0,this.state===le.ENDED&&(this.state=le.IDLE);let i=this.mediaBuffer||this.media;i&&(this.afterBufferFlushed(i,t,Fe.AUDIO),this.tick());}}_handleTransmuxComplete(e){var t;let i="audio",{hls:n}=this,{remuxResult:r,chunkMeta:o}=e,a=this.getCurrentContext(o);if(!a){this.resetWhenMissingContext(o);return;}let{frag:l,part:d,level:u}=a,{details:c}=u,{audio:h,text:f,id3:p,initSegment:g}=r;if(this.fragContextChanged(l)||!c){this.fragmentTracker.removeFragment(l);return;}if(this.state=le.PARSING,this.switchingTrack&&h&&this.completeAudioSwitch(this.switchingTrack),g!=null&&g.tracks){let m=l.initSegment||l;this._bufferInitSegment(u,g.tracks,m,o),n.trigger(w.FRAG_PARSING_INIT_SEGMENT,{frag:m,id:i,tracks:g.tracks});}if(h){let{startPTS:m,endPTS:b,startDTS:T,endDTS:S}=h;d&&(d.elementaryStreams[gt.AUDIO]={startPTS:m,endPTS:b,startDTS:T,endDTS:S}),l.setElementaryStreamInfo(gt.AUDIO,m,b,T,S),this.bufferFragmentData(h,l,d,o);}if(p!=null&&(t=p.samples)!=null&&t.length){let m=Kt({id:i,frag:l,details:c},p);n.trigger(w.FRAG_PARSING_METADATA,m);}if(f){let m=Kt({id:i,frag:l,details:c},f);n.trigger(w.FRAG_PARSING_USERDATA,m);}}_bufferInitSegment(e,t,i,n){if(this.state!==le.PARSING)return;t.video&&delete t.video;let r=t.audio;if(!r)return;r.id="audio";let o=e.audioCodec;this.log(`Init audio buffer, container:${r.container}, codecs[level/parsed]=[${o}/${r.codec}]`),o&&o.split(",").length===1&&(r.levelCodec=o),this.hls.trigger(w.BUFFER_CODECS,t);let a=r.initSegment;if(a!=null&&a.byteLength){let l={type:"audio",frag:i,part:null,chunkMeta:n,parent:i.type,data:a};this.hls.trigger(w.BUFFER_APPENDING,l);}this.tickImmediate();}loadFragment(e,t,i){let n=this.fragmentTracker.getState(e);if(this.fragCurrent=e,this.switchingTrack||n===ni.NOT_LOADED||n===ni.PARTIAL){var r;if(e.sn==="initSegment")this._loadInitSegment(e,t);else if((r=t.details)!=null&&r.live&&!this.initPTS[e.cc]){this.log(`Waiting for video PTS in continuity counter ${e.cc} of live stream before loading audio fragment ${e.sn} of level ${this.trackId}`),this.state=le.WAITING_INIT_PTS;let o=this.mainDetails;o&&o.fragments[0].start!==t.details.fragments[0].start&&bd(t.details,o);}else this.startFragRequested=!0,super.loadFragment(e,t,i);}else this.clearTrackerIfNeeded(e);}flushAudioIfNeeded(e){let{media:t,bufferedTrack:i}=this,n=i==null?void 0:i.attrs,r=e.attrs;t&&n&&(n.CHANNELS!==r.CHANNELS||i.name!==e.name||i.lang!==e.lang)&&(this.log("Switching audio track : flushing all audio"),super.flushMainBuffer(0,Number.POSITIVE_INFINITY,"audio"),this.bufferedTrack=null);}completeAudioSwitch(e){let{hls:t}=this;this.flushAudioIfNeeded(e),this.bufferedTrack=e,this.switchingTrack=null,t.trigger(w.AUDIO_TRACK_SWITCHED,ri({},e));}},gf=class extends Yo{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(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.MANIFEST_PARSED,this.onManifestParsed,this),e.on(w.LEVEL_LOADING,this.onLevelLoading,this),e.on(w.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(w.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.on(w.ERROR,this.onError,this);}unregisterListeners(){let{hls:e}=this;e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.MANIFEST_PARSED,this.onManifestParsed,this),e.off(w.LEVEL_LOADING,this.onLevelLoading,this),e.off(w.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(w.AUDIO_TRACK_LOADED,this.onAudioTrackLoaded,this),e.off(w.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:n,details:r}=t,o=this.tracksInGroup[i];if(!o||o.groupId!==n){this.warn(`Audio track with id:${i} and group:${n} not found in active group ${o==null?void 0:o.groupId}`);return;}let a=o.details;o.details=t.details,this.log(`Audio track ${i} "${o.name}" lang:${o.lang} group:${n} loaded [${r.startSN}-${r.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,a);}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;
94let i=t.audioGroups||null,n=this.groupIds,r=this.currentTrack;if(!i||(n==null?void 0:n.length)!==(i==null?void 0:i.length)||i!=null&&i.some(a=>(n==null?void 0:n.indexOf(a))===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;let a=this.tracks.filter(h=>!i||i.indexOf(h.groupId)!==-1);if(a.length)this.selectDefaultTrack&&!a.some(h=>h.default)&&(this.selectDefaultTrack=!1),a.forEach((h,f)=>{h.id=f;});else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=a;let l=this.hls.config.audioPreference;if(!r&&l){let h=on(l,a,ys);if(h>-1)r=a[h];else{let f=on(l,this.tracks);r=this.tracks[f];}}let d=this.findTrackId(r);d===-1&&r&&(d=this.findTrackId(null));let u={audioTracks:a};this.log(`Updating audio tracks, ${a.length} track(s) found in group(s): ${i==null?void 0:i.join(",")}`),this.hls.trigger(w.AUDIO_TRACKS_UPDATED,u);let c=this.trackId;if(d!==-1&&c===-1)this.setAudioTrack(d);else if(a.length&&c===-1){var o;let h=new Error(`No audio track selected for current audio group-ID(s): ${(o=this.groupIds)==null?void 0:o.join(",")} track count: ${a.length}`);this.warn(h.message),this.hls.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.AUDIO_TRACK_LOAD_ERROR,fatal:!0,error:h});}}else this.shouldReloadPlaylist(r)&&this.setAudioTrack(this.trackId);}onError(e,t){t.fatal||!t.context||t.context.type===st.AUDIO_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&(this.requestScheduled=-1,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 i=this.allAudioTracks;
94if(this.selectDefaultTrack=!1,i.length){let n=this.currentTrack;if(n&&As(e,n,ys))return n;let r=on(e,this.tracksInGroup,ys);if(r>-1){let o=this.tracksInGroup[r];return this.setAudioTrack(r),o;}else if(n){let o=t.loadLevel;o===-1&&(o=t.firstAutoLevel);let a=tR(e,t.levels,i,o,ys);if(a===-1)return null;t.nextLoadLevel=a;}if(e.channels||e.audioCodec){let o=on(e,i);if(o>-1)return i[o];}}}return null;}setAudioTrack(e){let t=this.tracksInGroup;if(e<0||e>=t.length){this.warn(`Invalid audio track id: ${e}`);return;}this.clearTimer(),this.selectDefaultTrack=!1;let i=this.currentTrack,n=t[e],r=n.details&&!n.details.live;if(e===this.trackId&&n===i&&r||(this.log(`Switching to audio-track ${e} "${n.name}" lang:${n.lang} group:${n.groupId} channels:${n.channels}`),this.trackId=e,this.currentTrack=n,this.hls.trigger(w.AUDIO_TRACK_SWITCHING,ri({},n)),r))return;let o=this.switchParams(n.url,i==null?void 0:i.details,n.details);this.loadPlaylist(o);}findTrackId(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++){let n=t[i];if(!(this.selectDefaultTrack&&!n.default)&&(!e||As(e,n,ys)))return i;}if(e){let{name:i,lang:n,assocLang:r,characteristics:o,audioCodec:a,channels:l}=e;for(let d=0;d<t.length;d++){let u=t[d];if(As({name:i,lang:n,assocLang:r,characteristics:o,audioCodec:a,channels:l},u,ys))return d;}for(let d=0;d<t.length;d++){let u=t[d];if(ks(e.attrs,u.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return d;}for(let d=0;d<t.length;d++){let u=t[d];if(ks(e.attrs,u.attrs,["LANGUAGE"]))return d;}}return-1;}loadPlaylist(e){let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){super.loadPlaylist();let i=t.id,n=t.groupId,r=t.url;if(e)try{r=e.addDirectives(r);}catch(o){this.warn(`Could not construct new URL with HLS Delivery Directives: ${o}`);}this.log(`loading audio-track playlist ${i} "${t.name}" lang:${t.lang} group:${n}`),this.clearTimer(),this.hls.trigger(w.AUDIO_TRACK_LOADING,{url:r,id:i,groupId:n,deliveryDirectives:e||null});}}},Fy=500,vf=class extends Jo{constructor(e,t,i){super(e,t,i,"[subtitle-stream-controller]",Fe.SUBTITLE),this.currentTrackId=-1,this.tracksBuffered=[],this.mainDetails=null,this._registerListeners();}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying(),this.mainDetails=null;}_registerListeners(){let{hls:e}=this;e.on(w.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.LEVEL_LOADED,this.onLevelLoaded,this),e.on(w.ERROR,this.onError,this),e.on(w.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(w.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.on(w.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(w.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.on(w.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(w.FRAG_BUFFERED,this.onFragBuffered,this);}_unregisterListeners(){let{hls:e}=this;e.off(w.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.LEVEL_LOADED,this.onLevelLoaded,this),e.off(w.ERROR,this.onError,this),e.off(w.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(w.SUBTITLE_TRACK_SWITCH,this.onSubtitleTrackSwitch,this),e.off(w.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(w.SUBTITLE_FRAG_PROCESSED,this.onSubtitleFragProcessed,this),e.off(w.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(w.FRAG_BUFFERED,this.onFragBuffered,this);}startLoad(e){this.stopLoad(),this.state=le.IDLE,this.setInterval(Fy),this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick();}onManifestLoading(){this.mainDetails=null,this.fragmentTracker.removeAllFragments();}onMediaDetaching(){this.tracksBuffered=[],super.onMediaDetaching();}onLevelLoaded(e,t){this.mainDetails=t.details;}onSubtitleFragProcessed(e,t){let{frag:i,success:n}=t;if(this.fragPrevious=i,this.state=le.IDLE,!n)return;let r=this.tracksBuffered[this.currentTrackId];if(!r)return;let o,a=i.start;for(let d=0;d<r.length;d++)if(a>=r[d].start&&a<=r[d].end){o=r[d];break;}let l=i.start+i.duration;o?o.end=l:(o={start:a,end:l},r.push(o)),this.fragmentTracker.fragBuffered(i),this.fragBufferedComplete(i,null);}onBufferFlushing(e,t){let{startOffset:i,endOffset:n}=t;if(i===0&&n!==Number.POSITIVE_INFINITY){let r=n-1;if(r<=0)return;t.endOffsetSubtitles=Math.max(0,r),this.tracksBuffered.forEach(o=>{for(let a=0;a<o.length;){if(o[a].end<=r){o.shift();continue;}else if(o[a].start<r)o[a].start=r;else break;a++;}}),this.fragmentTracker.removeFragmentsInRange(i,r,Fe.SUBTITLE);}}onFragBuffered(e,t){if(!this.loadedmetadata&&t.frag.type===Fe.MAIN){var i;(i=this.media)!=null&&i.buffered.length&&(this.loadedmetadata=!0);}}onError(e,t){let i=t.frag;(i==null?void 0:i.type)===Fe.SUBTITLE&&(t.details===te.FRAG_GAP&&this.fragmentTracker.fragBuffered(i,!0),this.fragCurrent&&this.fragCurrent.abortRequests(),this.state!==le.STOPPED&&(this.state=le.IDLE));}
94onSubtitleTracksUpdated(e,{subtitleTracks:t}){if(this.levels&&Nb(this.levels,t)){this.levels=t.map(i=>new Jn(i));return;}this.tracksBuffered=[],this.levels=t.map(i=>{let n=new Jn(i);return this.tracksBuffered[n.id]=[],n;}),this.fragmentTracker.removeFragmentsInRange(0,Number.POSITIVE_INFINITY,Fe.SUBTITLE),this.fragPrevious=null,this.mediaBuffer=null;}onSubtitleTrackSwitch(e,t){var i;if(this.currentTrackId=t.id,!((i=this.levels)!=null&&i.length)||this.currentTrackId===-1){this.clearInterval();return;}let n=this.levels[this.currentTrackId];n!=null&&n.details?this.mediaBuffer=this.mediaBufferTimeRanges:this.mediaBuffer=null,n&&this.setInterval(Fy);}onSubtitleTrackLoaded(e,t){var i;let{currentTrackId:n,levels:r}=this,{details:o,id:a}=t;if(!r){this.warn(`Subtitle tracks were reset while loading level ${a}`);return;}let l=r[a];if(a>=r.length||!l)return;this.log(`Subtitle track ${a} loaded [${o.startSN},${o.endSN}]${o.lastPartSn?`[part-${o.lastPartSn}-${o.lastPartIndex}]`:""},duration:${o.totalduration}`),this.mediaBuffer=this.mediaBufferTimeRanges;let d=0;if(o.live||(i=l.details)!=null&&i.live){let c=this.mainDetails;if(o.deltaUpdateFailed||!c)return;let h=c.fragments[0];if(!l.details)o.hasProgramDateTime&&c.hasProgramDateTime?(bd(o,c),d=o.fragments[0].start):h&&(d=h.start,Gh(o,d));else{var u;d=this.alignPlaylists(o,l.details,(u=this.levelLastLoaded)==null?void 0:u.details),d===0&&h&&(d=h.start,Gh(o,d));}}l.details=o,this.levelLastLoaded=l,a===n&&(!this.startFragRequested&&(this.mainDetails||!o.live)&&this.setStartPosition(this.mainDetails||o,d),this.tick(),o.live&&!this.fragCurrent&&this.media&&this.state===le.IDLE&&(yd(null,o.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,n=t.decryptdata,r=this.hls;if(!this.fragContextChanged(t)&&i&&i.byteLength>0&&n!=null&&n.key&&n.iv&&n.method==="AES-128"){let o=performance.now();this.decrypter.decrypt(new Uint8Array(i),n.key.buffer,n.iv.buffer).catch(a=>{throw r.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.FRAG_DECRYPT_ERROR,fatal:!1,error:a,reason:a.message,frag:t}),a;}).then(a=>{let l=performance.now();r.trigger(w.FRAG_DECRYPTED,{frag:t,payload:a,stats:{tstart:o,tdecrypt:l}});}).catch(a=>{this.warn(`${a.name}: ${a.message}`),this.state=le.IDLE;});}}doTick(){if(!this.media){this.state=le.IDLE;return;}if(this.state===le.IDLE){let{currentTrackId:e,levels:t}=this,i=t==null?void 0:t[e];if(!i||!t.length||!i.details)return;let{config:n}=this,r=this.getLoadPosition(),o=At.bufferedInfo(this.tracksBuffered[this.currentTrackId]||[],r,n.maxBufferHole),{end:a,len:l}=o,d=this.getFwdBufferInfo(this.media,Fe.MAIN),u=i.details,c=this.getMaxBufferLength(d==null?void 0:d.len)+u.levelTargetDuration;if(l>c)return;let h=u.fragments,f=h.length,p=u.edge,g=null,m=this.fragPrevious;if(a<p){let b=n.maxFragLookUpTolerance,T=a>p-b?0:b;g=yd(m,h,Math.max(h[0].start,a),T),!g&&m&&m.start<h[0].start&&(g=h[0]);}else g=h[f-1];if(!g)return;if(g=this.mapToInitFragWhenRequired(g),g.sn!=="initSegment"){let b=g.sn-u.startSN,T=h[b-1];T&&T.cc===g.cc&&this.fragmentTracker.getState(T)===ni.NOT_LOADED&&(g=T);}this.fragmentTracker.getState(g)===ni.NOT_LOADED&&this.loadFragment(g,i,a);}}getMaxBufferLength(e){let t=super.getMaxBufferLength();return e?Math.max(t,e):t;}loadFragment(e,t,i){this.fragCurrent=e,e.sn==="initSegment"?this._loadInitSegment(e,t):(this.startFragRequested=!0,super.loadFragment(e,t,i));}get mediaBufferTimeRanges(){return new _f(this.tracksBuffered[this.currentTrackId]||[]);}},_f=class{constructor(e){this.buffered=void 0;let t=(i,n,r)=>{if(n=n>>>0,n>r-1)throw new DOMException(`Failed to execute '${i}' on 'TimeRanges': The index provided (${n}) is greater than the maximum bound (${r})`);return e[n][i];};this.buffered={get length(){return e.length;},end(i){return t("end",i,e.length);},start(i){return t("start",i,e.length);}};}},yf=class extends Yo{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.asyncPollTrackChange=()=>this.pollTrackChange(0),this.useTextTrackPolling=!1,this.subtitlePollingInterval=-1,this._subtitleDisplay=!0,this.onTextTracksChanged=()=>
94{if(this.useTextTrackPolling||self.clearInterval(this.subtitlePollingInterval),!this.media||!this.hls.config.renderTextTracksNatively)return;let t=null,i=id(this.media.textTracks);for(let r=0;r<i.length;r++)if(i[r].mode==="hidden")t=i[r];else if(i[r].mode==="showing"){t=i[r];break;}let n=this.findTrackForTextTrack(t);this.subtitleTrack!==n&&this.setSubtitleTrack(n);},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;e.on(w.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.MANIFEST_PARSED,this.onManifestParsed,this),e.on(w.LEVEL_LOADING,this.onLevelLoading,this),e.on(w.LEVEL_SWITCHING,this.onLevelSwitching,this),e.on(w.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.on(w.ERROR,this.onError,this);}unregisterListeners(){let{hls:e}=this;e.off(w.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.MANIFEST_PARSED,this.onManifestParsed,this),e.off(w.LEVEL_LOADING,this.onLevelLoading,this),e.off(w.LEVEL_SWITCHING,this.onLevelSwitching,this),e.off(w.SUBTITLE_TRACK_LOADED,this.onSubtitleTrackLoaded,this),e.off(w.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(){if(!this.media)return;self.clearInterval(this.subtitlePollingInterval),this.useTextTrackPolling||this.media.textTracks.removeEventListener("change",this.asyncPollTrackChange),this.trackId>-1&&(this.queuedDefaultTrack=this.trackId),id(this.media.textTracks).forEac
94h(t=>{Cs(t);}),this.subtitleTrack=-1,this.media=null;}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:n,details:r}=t,o=this.tracksInGroup[i];if(!o||o.groupId!==n){this.warn(`Subtitle track with id:${i} and group:${n} not found in active group ${o==null?void 0:o.groupId}`);return;}let a=o.details;o.details=t.details,this.log(`Subtitle track ${i} "${o.name}" lang:${o.lang} group:${n} loaded [${r.startSN}-${r.endSN}]`),i===this.trackId&&this.playlistLoaded(i,t,a);}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,n=this.groupIds,r=this.currentTrack;if(!i||(n==null?void 0:n.length)!==(i==null?void 0:i.length)||i!=null&&i.some(o=>(n==null?void 0:n.indexOf(o))===-1)){this.groupIds=i,this.trackId=-1,this.currentTrack=null;let o=this.tracks.filter(u=>!i||i.indexOf(u.groupId)!==-1);if(o.length)this.selectDefaultTrack&&!o.some(u=>u.default)&&(this.selectDefaultTrack=!1),o.forEach((u,c)=>{u.id=c;});else if(!r&&!this.tracksInGroup.length)return;this.tracksInGroup=o;let a=this.hls.config.subtitlePreference;if(!r&&a){this.selectDefaultTrack=!1;let u=on(a,o);if(u>-1)r=o[u];else{let c=on(a,this.tracks);r=this.tracks[c];}}let l=this.findTrackId(r);l===-1&&r&&(l=this.findTrackId(null));let d={subtitleTracks:o};this.log(`Updating subtitle tracks, ${o.length} track(s) found in "${i==null?void 0:i.join(",")}" group-id`),this.hls.trigger(w.SUBTITLE_TRACKS_UPDATED,d),l!==-1&&this.trackId===-1&&this.setSubtitleTrack(l);}else this.shouldReloadPlaylist(r)&&this.setSubtitleTrack(this.trackId);}findTrackId(e){let t=this.tracksInGroup,i=this.selectDefaultTrack;for(let n=0;n<t.length;n++){let r=t[n];if(!(i&&!r.default||!i&&!e)&&(!e||As(r,e)))return n;}if(e){for(let n=0;n<t.length;n++){let r=t[n];if(ks(e.attrs,r.attrs,["LANGUAGE","ASSOC-LANGUAGE","CHARACTERISTICS"]))return n;}for(let n=0;n<t.length;n++){let r=t[n];if(ks(e.attrs,r.attrs,["LANGUAGE"]))return n;}}return-1;}findTrackForTextTrack(e){if(e){let t=this.tracksInGroup;for(let i=0;i<t.length;i++){let n=t[i];if(pf(n,e))return i;}}return-1;}onError(e,t){t.fatal||!t.context||t.context.type===st.SUBTITLE_TRACK&&t.context.id===this.trackId&&(!this.groupIds||this.groupIds.indexOf(t.context.groupId)!==-1)&&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);}
94setSubtitleOption(e){if(this.hls.config.subtitlePreference=e,e){let t=this.allSubtitleTracks;if(this.selectDefaultTrack=!1,t.length){let i=this.currentTrack;if(i&&As(e,i))return i;let n=on(e,this.tracksInGroup);if(n>-1){let r=this.tracksInGroup[n];return this.setSubtitleTrack(n),r;}else{if(i)return null;{let r=on(e,t);if(r>-1)return t[r];}}}}return null;}loadPlaylist(e){super.loadPlaylist();let t=this.currentTrack;if(this.shouldLoadPlaylist(t)&&t){let i=t.id,n=t.groupId,r=t.url;if(e)try{r=e.addDirectives(r);}catch(o){this.warn(`Could not construct new URL with HLS Delivery Directives: ${o}`);}this.log(`Loading subtitle playlist for id ${i}`),this.hls.trigger(w.SUBTITLE_TRACK_LOADING,{url:r,id:i,groupId:n,deliveryDirectives:e||null});}}toggleTrackModes(){let{media:e}=this;if(!e)return;let t=id(e.textTracks),i=this.currentTrack,n;if(i&&(n=t.filter(r=>pf(i,r))[0],n||this.warn(`Unable to find subtitle TextTrack with name "${i.name}" and language "${i.lang}"`)),[].slice.call(t).forEach(r=>{r.mode!=="disabled"&&r!==n&&(r.mode="disabled");}),n){let r=this.subtitleDisplay?"showing":"hidden";n.mode!==r&&(n.mode=r);}}setSubtitleTrack(e){let t=this.tracksInGroup;if(!this.media){this.queuedDefaultTrack=e;return;}if(e<-1||e>=t.length||!Re(e)){this.warn(`Invalid subtitle track id: ${e}`);return;}this.clearTimer(),this.selectDefaultTrack=!1;let i=this.currentTrack,n=t[e]||null;if(this.trackId=e,this.currentTrack=n,this.toggleTrackModes(),!n){this.hls.trigger(w.SUBTITLE_TRACK_SWITCH,{id:e});return;}let r=!!n.details&&!n.details.live;if(e===this.trackId&&n===i&&r)return;this.log(`Switching to subtitle-track ${e}`+(n?` "${n.name}" lang:${n.lang} group:${n.groupId}`:""));let{id:o,groupId:a="",name:l,type:d,url:u}=n;this.hls.trigger(w.SUBTITLE_TRACK_SWITCH,{id:o,groupId:a,name:l,type:d,url:u});let c=this.switchParams(n.url,i==null?void 0:i.details,n.details);this.loadPlaylist(c);}},bf=class{constructor(e){this.buffers=void 0,this.queues={video:[],audio:[],audiovideo:[]},this.buffers=e;}append(e,t,i){let n=this.queues[t];n.push(e),n.length===1&&!i&&this.executeNext(t);}insertAbort(e,t){this.queues[t].unshift(e),this.executeNext(t);}appendBlocker(e){let t,i=new Promise(r=>{t=r;}),n={execute:t,onStart:()=>{},onComplete:()=>{},onError:()=>{}};return this.append(n,e),i;}executeNext(e){let t=this.queues[e];if(t.length){let i=t[0];try{i.execute();}catch(n){X.warn(`[buffer-operation-queue]: Exception executing "${e}" SourceBuffer operation: ${n}`),i.onError(n);let r=this.buffers[e];r!=null&&r.updating||this.shiftAndExecuteNext(e);}}}shiftAndExecuteNext(e){this.queues[e].shift(),this.executeNext(e);}current(e){return this.queues[e][0];}},Vy=/(avc[1234]|hvc1|hev1|dvh[1e]|vp09|av01)(?:\.[^.,]+)+/,Tf=class{constructor(e){this.details=null,this._objectUrl=null,this.operationQueue=void 0,this.listeners=void 0,this.hls=void 0,this.bufferCodecEventsExpected=0,this._bufferCodecEventsTotal=0,this.media=null,this.mediaSource=null,this.lastMpegAudioChunk=null,this.appendSource=void 0,this.appendErrors={audio:0,video:0,audiovideo:0},this.tracks={},this.pendingTracks={},this.sourceBuffer=void 0,this.log=void 0,this.warn=void 0,this.error=void 0,this._onEndStreaming=i=>{this.hls&&this.hls.pauseBuffering();},this._onStartStreaming=i=>{this.hls&&this.hls.resumeBuffering();},this._onMediaSourceOpen=()=>{let{media:i,mediaSource:n}=this;this.log("Media source opened"),i&&(i.removeEventListener("emptied",this._onMediaEmptied),this.updateMediaElementDuration(),this.hls.trigger(w.MEDIA_ATTACHED,{media:i,mediaSource:n})),n&&n.removeEventListener("sourceopen",this._onMediaSourceOpen),this.checkPendingTracks();},this._onMediaSourceClose=()=>{this.log("Media source closed");},this._onMediaSourceEnded=()=>{this.log("Media source ended");},this._onMediaEmptied=()=>{let{mediaSrc:i,_objectUrl:n}=this;i!==n&&X.error(`Media element src was set while attaching MediaSource (${n} > ${i})`);},this.hls=e;let t="[buffer-controller]";this.appendSource=bI(Sr(e.config.preferManagedMediaSource)),this.log=X.log.bind(X,t),this.warn=X.warn.bind(X,t),this.error=X.error.bind(X,t),this._initSourceBuffer(),this.registerListeners();}
94hasSourceTypes(){return this.getSourceBufferTypes().length>0||Object.keys(this.pendingTracks).length>0;}destroy(){this.unregisterListeners(),this.details=null,this.lastMpegAudioChunk=null,this.hls=null;}registerListeners(){let{hls:e}=this;e.on(w.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.MANIFEST_PARSED,this.onManifestParsed,this),e.on(w.BUFFER_RESET,this.onBufferReset,this),e.on(w.BUFFER_APPENDING,this.onBufferAppending,this),e.on(w.BUFFER_CODECS,this.onBufferCodecs,this),e.on(w.BUFFER_EOS,this.onBufferEos,this),e.on(w.BUFFER_FLUSHING,this.onBufferFlushing,this),e.on(w.LEVEL_UPDATED,this.onLevelUpdated,this),e.on(w.FRAG_PARSED,this.onFragParsed,this),e.on(w.FRAG_CHANGED,this.onFragChanged,this);}unregisterListeners(){let{hls:e}=this;e.off(w.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.MANIFEST_PARSED,this.onManifestParsed,this),e.off(w.BUFFER_RESET,this.onBufferReset,this),e.off(w.BUFFER_APPENDING,this.onBufferAppending,this),e.off(w.BUFFER_CODECS,this.onBufferCodecs,this),e.off(w.BUFFER_EOS,this.onBufferEos,this),e.off(w.BUFFER_FLUSHING,this.onBufferFlushing,this),e.off(w.LEVEL_UPDATED,this.onLevelUpdated,this),e.off(w.FRAG_PARSED,this.onFragParsed,this),e.off(w.FRAG_CHANGED,this.onFragChanged,this);}_initSourceBuffer(){this.sourceBuffer={},this.operationQueue=new bf(this.sourceBuffer),this.listeners={audio:[],video:[],audiovideo:[]},this.appendErrors={audio:0,video:0,audiovideo:0},this.lastMpegAudioChunk=null;}onManifestLoading(){this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=0,this.details=null;}onManifestParsed(e,t){let i=2;(t.audio&&!t.video||!t.altAudio)&&(i=1),this.bufferCodecEventsExpected=this._bufferCodecEventsTotal=i,this.log(`${this.bufferCodecEventsExpected} bufferCodec event(s) expected`);}onMediaAttaching(e,t){let i=this.media=t.media,n=Sr(this.appendSource);if(i&&n){var r;let o=this.mediaSource=new n();this.log(`created media source: ${(r=o.constructor)==null?void 0:r.name}`),o.addEventListener("sourceopen",this._onMediaSourceOpen),o.addEventListener("sourceended",this._onMediaSourceEnded),o.addEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(o.addEventListener("startstreaming",this._onStartStreaming),o.addEventListener("endstreaming",this._onEndStreaming));let a=this._objectUrl=self.URL.createObjectURL(o);if(this.appendSource)try{i.removeAttribute("src");let l=self.ManagedMediaSource;i.disableRemotePlayback=i.disableRemotePlayback||l&&o instanceof l,By(i),jR(i,a),i.load();}catch{i.src=a;}else i.src=a;i.addEventListener("emptied",this._onMediaEmptied);}}onMediaDetaching(){let{media:e,mediaSource:t,_objectUrl:i}=this;if(t){if(this.log("media source detaching"),t.readyState==="open")try{t.endOfStream();}catch(n){this.warn(`onMediaDetaching: ${n.message} while calling endOfStream`);}this.onBufferReset(),t.removeEventListener("sourceopen",this._onMediaSourceOpen),t.removeEventListener("sourceended",this._onMediaSourceEnded),t.removeEventListener("sourceclose",this._onMediaSourceClose),this.appendSource&&(t.removeEventListener("startstreaming",this._onStartStreaming),t.removeEventListener("endstreaming",this._onEndStreaming)),e&&(e.removeEventListener("emptied",this._onMediaEmptied),i&&self.URL.revokeObjectURL(i),this.mediaSrc===i?(e.removeAttribute("src"),this.appendSource&&By(e),e.load()):this.warn("media|source.src was changed by a third party - skip cleanup")),this.mediaSource=null,this.media=null,this._objectUrl=null,this.bufferCodecEventsExpected=this._bufferCodecEventsTotal,this.pendingTracks={},this.tracks={};}this.hls.trigger(w.MEDIA_DETACHED,void 0);}onBufferReset(){this.getSourceBufferTypes().forEach(e=>{this.resetBuffer(e);}),this._initSourceBuffer();}resetBuffer(e){let t=this.sourceBuffer[e];try{if(t){var i;this.removeBufferListeners(e),this.sourceBuffer[e]=void 0,(i=this.mediaSource)!=null&&i.sourceBuffers.length&&this.mediaSource.removeSourceBuffer(t);}}catch(n){this.warn(`onBufferReset ${e}`,n);}}onBufferCodecs(e,t){let i=this.getSourceBufferTypes().length,n=Object.keys(t);if(n.forEach(o=>{if(i){let l=this.tracks[o];if(l&&typeof l.buffer.changeType=="function"){var a;let{id:d,codec:u,levelCodec:c,container:h,metadata:f}=t[o],p=hy(l.codec,l.levelCodec),g=p==null?void 0:p.replace(Vy,"$1"),m=hy(u,c),b=(a=m)==null?void 0:a.replace(Vy,"$1");if(m&&g!==b){o.slice(0,5)==="audio"&&(m=pd(m,this.appendSource));let T=`${h};codecs=${m}`;this.appendChangeType(o,T),this.log(`switching codec ${p} to ${m}`),this.tracks[o]={buffer:l.buffer,codec:u,container:h,levelCodec:c,metadata:f,id:d};}}}
94else this.pendingTracks[o]=t[o];}),i)return;let r=Math.max(this.bufferCodecEventsExpected-1,0);this.bufferCodecEventsExpected!==r&&(this.log(`${r} bufferCodec event(s) expected ${n.join(",")}`),this.bufferCodecEventsExpected=r),this.mediaSource&&this.mediaSource.readyState==="open"&&this.checkPendingTracks();}appendChangeType(e,t){let{operationQueue:i}=this,n={execute:()=>{let r=this.sourceBuffer[e];r&&(this.log(`changing ${e} sourceBuffer type to ${t}`),r.changeType(t)),i.shiftAndExecuteNext(e);},onStart:()=>{},onComplete:()=>{},onError:r=>{this.warn(`Failed to change ${e} SourceBuffer type`,r);}};i.append(n,e,!!this.pendingTracks[e]);}onBufferAppending(e,t){let{hls:i,operationQueue:n,tracks:r}=this,{data:o,type:a,frag:l,part:d,chunkMeta:u}=t,c=u.buffering[a],h=self.performance.now();c.start=h;let f=l.stats.buffering,p=d?d.stats.buffering:null;f.start===0&&(f.start=h),p&&p.start===0&&(p.start=h);let g=r.audio,m=!1;a==="audio"&&(g==null?void 0:g.container)==="audio/mpeg"&&(m=!this.lastMpegAudioChunk||u.id===1||this.lastMpegAudioChunk.sn!==u.sn,this.lastMpegAudioChunk=u);let b=l.start,T={execute:()=>{if(c.executeStart=self.performance.now(),m){let S=this.sourceBuffer[a];if(S){let P=b-S.timestampOffset;Math.abs(P)>=.1&&(this.log(`Updating audio SourceBuffer timestampOffset to ${b} (delta: ${P}) sn: ${l.sn})`),S.timestampOffset=b);}}this.appendExecutor(o,a);},onStart:()=>{},onComplete:()=>{let S=self.performance.now();c.executeEnd=c.end=S,f.first===0&&(f.first=S),p&&p.first===0&&(p.first=S);let{sourceBuffer:P}=this,R={};for(let C in P)R[C]=At.getBuffered(P[C]);this.appendErrors[a]=0,a==="audio"||a==="video"?this.appendErrors.audiovideo=0:(this.appendErrors.audio=0,this.appendErrors.video=0),this.hls.trigger(w.BUFFER_APPENDED,{type:a,frag:l,part:d,chunkMeta:u,parent:l.type,timeRanges:R});},onError:S=>{let P={type:Be.MEDIA_ERROR,parent:l.type,details:te.BUFFER_APPEND_ERROR,sourceBufferName:a,frag:l,part:d,chunkMeta:u,error:S,err:S,fatal:!1};if(S.code===DOMException.QUOTA_EXCEEDED_ERR)P.details=te.BUFFER_FULL_ERROR;else{let R=++this.appendErrors[a];P.details=te.BUFFER_APPEND_ERROR,this.warn(`Failed ${R}/${i.config.appendErrorMaxRetry} times to append segment in "${a}" sourceBuffer`),R>=i.config.appendErrorMaxRetry&&(P.fatal=!0);}i.trigger(w.ERROR,P);}};n.append(T,a,!!this.pendingTracks[a]);}onBufferFlushing(e,t){let{operationQueue:i}=this,n=r=>({execute:this.removeExecutor.bind(this,r,t.startOffset,t.endOffset),onStart:()=>{},onComplete:()=>{this.hls.trigger(w.BUFFER_FLUSHED,{type:r});},onError:o=>{this.warn(`Failed to remove from ${r} SourceBuffer`,o);}});t.type?i.append(n(t.type),t.type):this.getSourceBufferTypes().forEach(r=>{i.append(n(r),r);});}onFragParsed(e,t){let{frag:i,part:n}=t,r=[],o=n?n.elementaryStreams:i.elementaryStreams;o[gt.AUDIOVIDEO]?r.push("audiovideo"):(o[gt.AUDIO]&&r.push("audio"),o[gt.VIDEO]&&r.push("video"));let a=()=>{let l=self.performance.now();i.stats.buffering.end=l,n&&(n.stats.buffering.end=l);let d=n?n.stats:i.stats;this.hls.trigger(w.FRAG_BUFFERED,{frag:i,part:n,stats:d,id:i.type});};r.length===0&&this.warn(`Fragments must have at least one ElementaryStreamType set. type: ${i.type} level: ${i.level} sn: ${i.sn}`),this.blockBuffers(a,r);}onFragChanged(e,t){this.trimBuffers();}onBufferEos(e,t){this.getSourceBufferTypes().reduce((n,r)=>{let o=this.sourceBuffer[r];return o&&(!t.type||t.type===r)&&(o.ending=!0,o.ended||(o.ended=!0,this.log(`${r} sourceBuffer now EOS`))),n&&!!(!o||o.ended);},!0)&&(this.log("Queueing mediaSource.endOfStream()"),this.blockBuffers(()=>{this.getSourceBufferTypes().forEach(r=>{let o=this.sourceBuffer[r];o&&(o.ending=!1);});let{mediaSource:n}=this;if(!n||n.readyState!=="open"){n&&this.log(`Could not call mediaSource.endOfStream(). mediaSource.readyState: ${n.readyState}`);return;}this.log("Calling mediaSource.endOfStream()"),n.endOfStream();}));}onLevelUpdated(e,{details:t}){t.fragments.length&&(this.details=t,this.getSourceBufferTypes().length?this.blockBuffers(this.updateMediaElementDuration.bind(this)):this.updateMediaElementDuration());}trimBuffers(){let{hls:e,details:t,media:i}=this;if(!i||t===null||!this.getSourceBufferTypes().length)return;let r=e.config,o=i.currentTime,a=t.levelTargetDuration,l=t.live&&r.liveBackBufferLength!==null?r.liveBackBufferLength:r.backBufferLength;if(Re(l)&&l>0){let d=Math.max(l,a),u=Math.floor(o/a)*a-d;this.flushBackBuffer(o,a,u);}if(Re(r.frontBufferFlushThreshold)&&r.frontBufferFlushThreshold>0){let d=Math.max(r.maxBufferLength,r.frontBufferFlushThreshold),u=Math.max(d,a),c=Math.floor(o/a)*a+u;this.flushFrontBuffer(o,a,c);}}flushBackBuffer(e,t,i){let{details:n,sourceBuffer:r}=this;
94this.getSourceBufferTypes().forEach(a=>{let l=r[a];if(l){let d=At.getBuffered(l);if(d.length>0&&i>d.start(0)){if(this.hls.trigger(w.BACK_BUFFER_REACHED,{bufferEnd:i}),n!=null&&n.live)this.hls.trigger(w.LIVE_BACK_BUFFER_REACHED,{bufferEnd:i});else if(l.ended&&d.end(d.length-1)-e<t*2){this.log(`Cannot flush ${a} back buffer while SourceBuffer is in ended state`);return;}this.hls.trigger(w.BUFFER_FLUSHING,{startOffset:0,endOffset:i,type:a});}}});}flushFrontBuffer(e,t,i){let{sourceBuffer:n}=this;this.getSourceBufferTypes().forEach(o=>{let a=n[o];if(a){let l=At.getBuffered(a),d=l.length;if(d<2)return;let u=l.start(d-1),c=l.end(d-1);if(i>u||e>=u&&e<=c)return;if(a.ended&&e-c<2*t){this.log(`Cannot flush ${o} front buffer while SourceBuffer is in ended state`);return;}this.hls.trigger(w.BUFFER_FLUSHING,{startOffset:u,endOffset:1/0,type:o});}});}updateMediaElementDuration(){if(!this.details||!this.media||!this.mediaSource||this.mediaSource.readyState!=="open")return;let{details:e,hls:t,media:i,mediaSource:n}=this,r=e.fragments[0].start+e.totalduration,o=i.duration,a=Re(n.duration)?n.duration:0;e.live&&t.config.liveDurationInfinity?(n.duration=1/0,this.updateSeekableRange(e)):(r>a&&r>o||!Re(o))&&(this.log(`Updating Media Source duration to ${r.toFixed(3)}`),n.duration=r);}updateSeekableRange(e){let t=this.mediaSource,i=e.fragments;if(i.length&&e.live&&t!=null&&t.setLiveSeekableRange){let r=Math.max(0,i[0].start),o=Math.max(r,r+e.totalduration);this.log(`Media Source duration is set to ${t.duration}. Setting seekable range to ${r}-${o}.`),t.setLiveSeekableRange(r,o);}}checkPendingTracks(){let{bufferCodecEventsExpected:e,operationQueue:t,pendingTracks:i}=this,n=Object.keys(i).length;if(n&&(!e||n===2||"audiovideo"in i)){this.createSourceBuffers(i),this.pendingTracks={};let r=this.getSourceBufferTypes();if(r.length)this.hls.trigger(w.BUFFER_CREATED,{tracks:this.tracks}),r.forEach(o=>{t.executeNext(o);});else{let o=new Error("could not create source buffer for media codec(s)");this.hls.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.BUFFER_INCOMPATIBLE_CODECS_ERROR,fatal:!0,error:o,reason:o.message});}}}createSourceBuffers(e){let{sourceBuffer:t,mediaSource:i}=this;if(!i)throw Error("createSourceBuffers called when mediaSource was null");for(let r in e)if(!t[r]){var n;let o=e[r];if(!o)throw Error(`source buffer exists for track ${r}, however track does not`);let a=((n=o.levelCodec)==null?void 0:n.indexOf(","))===-1?o.levelCodec:o.codec;a&&r.slice(0,5)==="audio"&&(a=pd(a,this.appendSource));let l=`${o.container};codecs=${a}`;this.log(`creating sourceBuffer(${l})`);try{let d=t[r]=i.addSourceBuffer(l),u=r;this.addBufferListener(u,"updatestart",this._onSBUpdateStart),this.addBufferListener(u,"updateend",this._onSBUpdateEnd),this.addBufferListener(u,"error",this._onSBUpdateError),this.appendSource&&this.addBufferListener(u,"bufferedchange",(c,h)=>{let f=h.removedRanges;f!=null&&f.length&&this.hls.trigger(w.BUFFER_FLUSHED,{type:r});}),this.tracks[r]={buffer:d,codec:a,container:o.container,levelCodec:o.levelCodec,metadata:o.metadata,id:o.id};}catch(d){this.error(`error while trying to add sourceBuffer: ${d.message}`),this.hls.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.BUFFER_ADD_CODEC_ERROR,fatal:!1,error:d,sourceBufferName:r,mimeType:l});}}}get mediaSrc(){var e,t;let i=((e=this.media)==null||(t=e.querySelector)==null?void 0:t.call(e,"source"))||this.media;return i==null?void 0:i.src;}_onSBUpdateStart(e){let{operationQueue:t}=this;t.current(e).onStart();}_onSBUpdateEnd(e){var t;if(((t=this.mediaSource)==null?void 0:t.readyState)==="closed"){this.resetBuffer(e);return;}let{operationQueue:i}=this;i.current(e).onComplete(),i.shiftAndExecuteNext(e);}_onSBUpdateError(e,t){var i;let n=new Error(`${e} SourceBuffer error. MediaSource readyState: ${(i=this.mediaSource)==null?void 0:i.readyState}`);this.error(`${n}`,t),this.hls.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.BUFFER_APPENDING_ERROR,sourceBufferName:e,error:n,fatal:!1});let r=this.operationQueue.current(e);r&&r.onError(n);}removeExecutor(e,t,i){let{media:n,mediaSource:r,operationQueue:o,sourceBuffer:a}=this,l=a[e];if(!n||!r||!l){this.warn(`Attempting to remove from the ${e} SourceBuffer, but it does not exist`),o.shiftAndExecuteNext(e);return;}let d=Re(n.duration)?n.duration:1/0,u=Re(r.duration)?r.duration:1/0,c=Math.max(0,t),h=Math.min(i,d,u);h>c&&(!l.ending||l.ended)?(l.ended=!1,this.log(`Removing [${c},${h}] from the ${e} SourceBuffer`),l.remove(c,h)):o.shiftAndExecuteNext(e);}appendExecutor(e,t){let i=this.sourceBuffer[t];if(!i){if(!this.pendingTracks[t])throw new Error(`Attempting to append to the ${t} SourceBuffer, but it does not exist`);return;}i.ended=!1,i.appendBuffer(e);}blockBuffers(e,t=this.getSourceBufferTypes()){if(!t.length){this.log("Blocking operation requested, but no SourceBuffers exist"),Promise.resolve().then(e);return;}let{operationQueue:i}=this,n=t.map(r=>i.appendBlocker(r));Promise.all(n).then(()=>{e(),t.forEach(r=>{let o=this.sourceBuffer[r];o!=null&&o.updating||i.shiftAndExecuteNext(r);});});}getSourceBufferTypes(){return Object.keys(this.sourceBuffer);}addBufferListener(e,t,i){let n=this.sourceBuffer[e];
94if(!n)return;let r=i.bind(this,e);this.listeners[e].push({event:t,listener:r}),n.addEventListener(t,r);}removeBufferListeners(e){let t=this.sourceBuffer[e];t&&this.listeners[e].forEach(i=>{t.removeEventListener(i.event,i.listener);});}};function By(s){let e=s.querySelectorAll("source");[].slice.call(e).forEach(t=>{s.removeChild(t);});}function jR(s,e){let t=self.document.createElement("source");t.type="video/mp4",t.src=e,s.appendChild(t);}var FR={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},jb=s=>String.fromCharCode(FR[s]||s),Hi=15,Pn=100,VR={17:1,18:3,21:5,22:7,23:9,16:11,19:12,20:14},BR={17:2,18:4,21:6,22:8,23:10,19:13,20:15},UR={25:1,26:3,29:5,30:7,31:9,24:11,27:12,28:14},HR={25:2,26:4,29:6,30:8,31:10,27:13,28:15},$R=["white","green","blue","cyan","red","yellow","magenta","black","transparent"],Ef=class{constructor(){this.time=null,this.verboseLevel=0;}log(e,t){if(this.verboseLevel>=e){let i=typeof t=="function"?t():t;X.log(`${this.time} [${e}] ${i}`);}}},yr=function(e){let t=[];for(let i=0;i<e.length;i++)t.push(e[i].toString(16));return t;},Rd=class{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 n=t[i];e.hasOwnProperty(n)&&(this[n]=e[n]);}}isDefault(){return this.foreground==="white"&&!this.underline&&!this.italics&&this.background==="black"&&!this.flash;}equals(e){return this.foreground===e.foreground&&this.underline===e.underline&&this.italics===e.italics&&this.background===e.background&&this.flash===e.flash;}copy(e){this.foreground=e.foreground,this.underline=e.underline,this.italics=e.italics,this.background=e.background,this.flash=e.flash;}toString(){return"color="+this.foreground+", underline="+this.underline+", italics="+this.italics+", background="+this.background+", flash="+this.flash;}},Sf=class{constructor(){this.uchar=" ",this.penState=new Rd();}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();}},Cf=class{constructor(e){this.chars=[],this.pos=0,this.currPenState=new Rd(),this.cueStartTime=null,this.logger=void 0;for(let t=0;t<Pn;t++)this.chars.push(new Sf());this.logger=e;}equals(e){for(let t=0;t<Pn;t++)if(!this.chars[t].equals(e.chars[t]))return!1;return!0;}copy(e){for(let t=0;t<Pn;t++)this.chars[t].copy(e.chars[t]);}isEmpty(){let e=!0;for(let t=0;t<Pn;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>Pn&&(this.logger.log(3,"Too large cursor position "+this.pos),this.pos=Pn);}moveCursor(e){let t=this.pos+e;if(e>1)for(let i=this.pos+1;i<t+1;i++)this.chars[i].setPenState(this.currPenState);this.setCursor(t);}backSpace(){this.moveCursor(-1),this.chars[this.pos].setChar(" ",this.currPenState);}insertChar(e){e>=144&&this.backSpace();let t=jb(e);if(this.pos>=Pn){this.logger.log(0,()=>"Cannot insert "+e.toString(16)+" ("+t+") at position "+this.pos+". Skipping it!");return;}this.chars[this.pos].setChar(t,this.currPenState),this.moveCursor(1);}clearFromPos(e){let t;for(t=e;t<Pn;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<Pn;i++){let n=this.chars[i].uchar;n!==" "&&(t=!1),e.push(n);}return t?"":e.join("");}setPenStyles(e){this.currPenState.setStyles(e),this.chars[this.pos].setPenState(this.currPenState);}},Wo=class{constructor(e){this.rows=[],this.currRow=Hi-1,this.nrRollUpRows=null,this.lastOutputScreen=null,this.logger=void 0;for(let t=0;t<Hi;t++)this.rows.push(new Cf(e));this.logger=e;}reset(){for(let e=0;e<Hi;e++)this.rows[e].clear();this.currRow=Hi-1;}equals(e){let t=!0;for(let i=0;i<Hi;i++)if(!this.rows[i].equals(e.rows[i])){t=!1;break;}return t;}copy(e){for(let t=0;t<Hi;t++)this.rows[t].copy(e.rows[t]);}isEmpty(){let e=!0;for(let t=0;t<Hi;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);}
94setCursor(e){this.logger.log(2,"setCursor: "+e),this.rows[this.currRow].setCursor(e);}setPAC(e){this.logger.log(2,()=>"pacData = "+JSON.stringify(e));let t=e.row-1;if(this.nrRollUpRows&&t<this.nrRollUpRows-1&&(t=this.nrRollUpRows-1),this.nrRollUpRows&&this.currRow!==t){for(let a=0;a<Hi;a++)this.rows[a].clear();let r=this.currRow+1-this.nrRollUpRows,o=this.lastOutputScreen;if(o){let a=o.rows[r].cueStartTime,l=this.logger.time;if(a!==null&&l!==null&&a<l)for(let d=0;d<this.nrRollUpRows;d++)this.rows[t-this.nrRollUpRows+d+1].copy(o.rows[r+d]);}}this.currRow=t;let i=this.rows[this.currRow];if(e.indent!==null){let r=e.indent,o=Math.max(r-1,0);i.setCursor(e.indent),e.color=i.chars[o].penState.foreground;}let n={foreground:e.color,underline:e.underline,italics:e.italics,background:"black",flash:!1};this.setPen(n);}setBkgData(e){this.logger.log(2,()=>"bkgData = "+JSON.stringify(e)),this.backSpace(),this.setPen(e),this.insertChar(32);}setRollUpRows(e){this.nrRollUpRows=e;}rollUp(){if(this.nrRollUpRows===null){this.logger.log(3,"roll_up but nrRollUpRows not set yet");return;}this.logger.log(1,()=>this.getDisplayText());let e=this.currRow+1-this.nrRollUpRows,t=this.rows.splice(e,1)[0];t.clear(),this.rows.splice(this.currRow,0,t),this.logger.log(2,"Rolling up");}getDisplayText(e){e=e||!1;let t=[],i="",n=-1;for(let r=0;r<Hi;r++){let o=this.rows[r].getTextString();o&&(n=r+1,e?t.push("Row "+n+": '"+o+"'"):t.push(o.trim()));}return t.length>0&&(e?i="["+t.join(" | ")+"]":i=t.join(` 95`)),i;}getTextAndFormat(){return this.rows;}},Pd=class{constructor(e,t,i){this.chNr=void 0,this.outputFilter=void 0,this.mode=void 0,this.verbose=void 0,this.displayedMemory=void 0,this.nonDisplayedMemory=void 0,this.lastOutputScreen=void 0,this.currRollUpRow=void 0,this.writeScreen=void 0,this.cueStartTime=void 0,this.logger=void 0,this.chNr=e,this.outputFilter=t,this.mode=null,this.verbose=0,this.displayedMemory=new Wo(i),this.nonDisplayedMemory=new Wo(i),this.lastOutputScreen=new Wo(i),this.currRollUpRow=this.displayedMemory.rows[Hi-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null,this.logger=i;}reset(){this.mode=null,this.displayedMemory.reset(),this.nonDisplayedMemory.reset(),this.lastOutputScreen.reset(),this.outputFilter.reset(),this.currRollUpRow=this.displayedMemory.rows[Hi-1],this.writeScreen=this.displayedMemory,this.mode=null,this.cueStartTime=null;}getHandler(){return this.outputFilter;}setHandler(e){this.outputFilter=e;}setPAC(e){this.writeScreen.setPAC(e);}setBkgData(e){this.writeScreen.setBkgData(e);}setMode(e){e!==this.mode&&(this.mode=e,this.logger.log(2,()=>"MODE="+e),this.mode==="MODE_POP-ON"?this.writeScreen=this.nonDisplayedMemory:(this.writeScreen=this.displayedMemory,this.writeScreen.reset()),this.mode!=="MODE_ROLL-UP"&&(this.displayedMemory.nrRollUpRows=null,this.nonDisplayedMemory.nrRollUpRows=null),this.mode=e);}insertChars(e){for(let i=0;i<e.length;i++)this.writeScreen.insertChar(e[i]);let t=this.writeScreen===this.displayedMemory?"DISP":"NON_DISP";this.logger.log(2,()=>t+": "+this.writeScreen.getDisplayText(!0)),(this.mode==="MODE_PAINT-ON"||this.mode==="MODE_ROLL-UP")&&(this.logger.log(1,()=>"DISPLAYED: "+this.displayedMemory.getDisplayText(!0)),this.outputDataUpdate());}ccRCL(){this.logger.log(2,"RCL - Resume Caption Loading"),this.setMode("MODE_POP-ON");}ccBS(){this.logger.log(2,"BS - BackSpace"),this.mode!=="MODE_TEXT"&&(this.writeScreen.backSpace(),this.writeScreen===this.displayedMemory&&this.outputDataUpdate());}ccAOF(){}ccAON(){}ccDER(){this.logger.log(2,"DER- Delete to End of Row"),this.writeScreen.clearToEndOfRow(),this.outputDataUpdate();}ccRU(e){this.logger.log(2,"RU("+e+") - Roll Up"),this.writeScreen=this.displayedMemory,this.setMode("MODE_ROLL-UP"),this.writeScreen.setRollUpRows(e);}ccFON(){this.logger.log(2,"FON - Flash On"),this.writeScreen.setPen({flash:!0});}ccRDC(){this.logger.log(2,"RDC - Resume Direct Captioning"),this.setMode("MODE_PAINT-ON");}ccTR(){this.logger.log(2,"TR"),this.setMode("MODE_TEXT");}ccRTD(){this.logger.log(2,"RTD"),this.setMode("MODE_TEXT");}ccEDM(){this.logger.log(2,"EDM - Erase Displayed Memory"),this.displayedMemory.reset(),this.outputDataUpdate(!0);}ccCR(){this.logger.log(2,"CR - Carriage Return"),this.writeScreen.rollUp(),this.outputDataUpdate(!0);}ccENM(){this.logger.log(2,"ENM - Erase Non-displayed Memory"),this.nonDisplayedMemory.reset();}ccEOC(){if(this.logger.log(2,"EOC - End Of Caption"),this.mode==="MODE_POP-ON"){let e=this.displayedMemory;this.displayedMemory=this.nonDisplayedMemory,this.nonDisplayedMemory=e,this.writeScreen=this.nonDisplayedMemory,this.logger.log(1,()=>"DISP: "+this.displayedMemory.getDisplayText());}this.outputDataUpdate(!0);}ccTO(e){this.logger.log(2,"TO("+e+") - Tab Offset"),this.writeScreen.moveCursor(e);}ccMIDROW(e){let t={flash:!1};if(t.underline=e%2===1,t.italics=e>=46,t.italics)t.foreground="white";else{let i=Math.floor(e/2)-16,n=["white","green","blue","cyan","red","yellow","magenta"];t.foreground=n[i];}this.logger.log(2,"MIDROW: "+JSON.stringify(t)),this.writeScreen.setPen(t);}outputDataUpdate(e=!1){let t=this.logger.time;t!==null&&this.outputFilter&&(this.cueStartTime===null&&!this.displayedMemory.isEmpty()?this.cueStartTime=t:this.displayedMemory.equals(this.lastOutputScreen)||(this.outputFilter.newCue(this.cueStartTime,t,this.lastOutputScreen),e&&this.outputFilter.dispatchCue&&this.outputFilter.dispatchCue(),this.cueStartTime=this.displayedMemory.isEmpty()?null:t),this.lastOutputScreen.copy(this.displayedMemory));}cueSplitAtTime(e){this.outputFilter&&(this.displayedMemory.isEmpty()||(this.outputFilter.newCue&&this.outputFilter.newCue(this.cueStartTime,e,this.displayedMemory),this.cueStartTime=e));}},kd=class{constructor(e,t,i){this.channels=void 0,this.currentChannel=0,this.cmdHistory=WR(),this.logger=void 0;let n=this.logger=new Ef();this.channels=[null,new Pd(e,t,n),new Pd(e+1,i,n)];}getHandler(e){return this.channels[e].getHandler();}setHandler(e,t){this.channels[e].setHandler(t);}addData(e,t){this.logger.time=e;for(let i=0;i<t.length;i+=2){let n=t[i]&127,r=t[i+1]&127,o=!1,a=null;if(n===0&&r===0)continue;this.logger.log(3,()=>"["+yr([t[i],t[i+1]])+"] -> ("+yr([n,r])+")");let l=this.cmdHistory;if(n>=16&&n<=31){if(GR(n,r,l)){Jl(null,null,l),this.logger.log(3,()=>"Repeated command ("+yr([n,r])+") is dropped");continue;}Jl(n,r,this.cmdHistory),o=this.parseCmd(n,r),o||(o=this.parseMidrow(n,r)),o||(o=this.parsePAC(n,r)),o||(o=this.parseBackgroun
95dAttributes(n,r));}else Jl(null,null,l);if(!o&&(a=this.parseChars(n,r),a)){let u=this.currentChannel;u&&u>0?this.channels[u].insertChars(a):this.logger.log(2,"No channel found yet. TEXT-MODE?");}!o&&!a&&this.logger.log(2,()=>"Couldn't parse cleaned data "+yr([n,r])+" orig: "+yr([t[i],t[i+1]]));}}parseCmd(e,t){let i=(e===20||e===28||e===21||e===29)&&t>=32&&t<=47,n=(e===23||e===31)&&t>=33&&t<=35;if(!(i||n))return!1;let r=e===20||e===21||e===23?1:2,o=this.channels[r];return e===20||e===21||e===28||e===29?t===32?o.ccRCL():t===33?o.ccBS():t===34?o.ccAOF():t===35?o.ccAON():t===36?o.ccDER():t===37?o.ccRU(2):t===38?o.ccRU(3):t===39?o.ccRU(4):t===40?o.ccFON():t===41?o.ccRDC():t===42?o.ccTR():t===43?o.ccRTD():t===44?o.ccEDM():t===45?o.ccCR():t===46?o.ccENM():t===47&&o.ccEOC():o.ccTO(t-32),this.currentChannel=r,!0;}parseMidrow(e,t){let i=0;if((e===17||e===25)&&t>=32&&t<=47){if(e===17?i=1:i=2,i!==this.currentChannel)return this.logger.log(0,"Mismatch channel in midrow parsing"),!1;let n=this.channels[i];return n?(n.ccMIDROW(t),this.logger.log(3,()=>"MIDROW ("+yr([e,t])+")"),!0):!1;}return!1;}parsePAC(e,t){let i,n=(e>=17&&e<=23||e>=25&&e<=31)&&t>=64&&t<=127,r=(e===16||e===24)&&t>=64&&t<=95;if(!(n||r))return!1;let o=e<=23?1:2;t>=64&&t<=95?i=o===1?VR[e]:UR[e]:i=o===1?BR[e]:HR[e];let a=this.channels[o];return a?(a.setPAC(this.interpretPAC(i,t)),this.currentChannel=o,!0):!1;}interpretPAC(e,t){let i,n={color:null,italics:!1,indent:null,underline:!1,row:e};return t>95?i=t-96:i=t-64,n.underline=(i&1)===1,i<=13?n.color=["white","green","blue","cyan","red","yellow","magenta","white"][Math.floor(i/2)]:i<=15?(n.italics=!0,n.color="white"):n.indent=Math.floor((i-16)/2)*4,n;}parseChars(e,t){let i,n=null,r=null;if(e>=25?(i=2,r=e-8):(i=1,r=e),r>=17&&r<=19){let o;r===17?o=t+80:r===18?o=t+112:o=t+144,this.logger.log(2,()=>"Special char '"+jb(o)+"' in channel "+i),n=[o];}else e>=32&&e<=127&&(n=t===0?[e]:[e,t]);return n&&this.logger.log(3,()=>"Char codes = "+yr(n).join(",")),n;}parseBackgroundAttributes(e,t){let i=(e===16||e===24)&&t>=32&&t<=47,n=(e===23||e===31)&&t>=45&&t<=47;if(!(i||n))return!1;let r,o={};e===16||e===24?(r=Math.floor((t-32)/2),o.background=$R[r],t%2===1&&(o.background=o.background+"_semi")):t===45?o.background="transparent":(o.foreground="black",t===47&&(o.underline=!0));let a=e<=23?1:2;return this.channels[a].setBkgData(o),!0;}reset(){for(let e=0;e<Object.keys(this.channels).length;e++){let t=this.channels[e];t&&t.reset();}Jl(null,null,this.cmdHistory);}cueSplitAtTime(e){for(let t=0;t<this.channels.length;t++){let i=this.channels[t];i&&i.cueSplitAtTime(e);}}};function Jl(s,e,t){t.a=s,t.b=e;}function GR(s,e,t){return t.a===s&&t.b===e;}function WR(){return{a:null,b:null};}var ws=class{constructor(e,t){this.timelineController=void 0,this.cueRanges=[],this.trackName=void 0,this.startTime=null,this.endTime=null,this.screen=null,this.timelineController=e,this.trackName=t;}dispatchCue(){this.startTime!==null&&(this.timelineController.addCues(this.trackName,this.startTime,this.endTime,this.screen,this.cueRanges),this.startTime=null);}newCue(e,t,i){(this.startTime===null||this.startTime>e)&&(this.startTime=e),this.endTime=t,this.screen=i,this.timelineController.createCaptionsTrack(this.trackName);}reset(){this.cueRanges=[],this.startTime=null;}},Qf=function(){if(Ps!=null&&Ps.VTTCue)return self.VTTCue;let s=["","lr","rl"],e=["start","middle","end","left","right"];function t(a,l){if(typeof l!="string"||!Array.isArray(a))return!1;let d=l.toLowerCase();return~a.indexOf(d)?d:!1;}function i(a){return t(s,a);}function n(a){return t(e,a);}function r(a,...l){let d=1;for(;d<arguments.length;d++){let u=arguments[d];for(let c in u)a[c]=u[c];}return a;}function o(a,l,d){let u=this,c={enumerable:!0};u.hasBeenReset=!1;let h="",f=!1,p=a,g=l,m=d,b=null,T="",S=!0,P="auto",R="start",C=50,A="middle",O=50,U="middle";Object.defineProperty(u,"id",r({},c,{get:function(){return h;},set:function(j){h=""+j;}})),Object.defineProperty(u,"pauseOnExit",r({},c,{get:function(){return f;},set:function(j){f=!!j;}})),Object.defineProperty(u,"startTime",r({},c,{get:function(){return p;},set:function(j){if(typeof j!="number")throw new TypeError("Start time must be set to a number.");p=j,this.hasBeenReset=!0;}})),Object.defineProperty(u,"endTime",r({},c,{get:function(){return g;},set:function(j){if(typeof j!="number")throw new TypeError("End time must be set to a number.");g=j,this.hasBeenReset=!0;}})),Object.defineProperty(u,"text",r({},c,{get:function(){return m;},set:function(j){m=""+j,this.hasBeenReset=!0;}})),Object.defineProperty(u,"region",r({},c,{get:function(){return b;},set:function(j){b=j,this.hasBeenReset=!0;}})),Object.defineProperty(u,"vertical",r({},c,{get:function(){return T;},set:function(j){let K=i(j);if(K===!1)throw new SyntaxError("An invalid or illegal string was specified.");T=K,this.hasBeenReset=!0;}})),Object.defineProperty(u,"snapToLines",r({},c,{get:function(){return S;},set:function(j){S=!!j,this.hasBeenReset=!0;}})),Object.defineProperty(u,"line",r({},c,{get:function(){return P;},set:function(j){if(typeof j!="number"&&j!=="auto")throw new SyntaxError("An invalid number or illegal string was specified.");P=j,this.hasBeenReset=!0;}})),Object.defineProperty(u,"lineAlign",r({},c,{get:function(){return R;},set:function(j){let K=n(j);if(!K)throw new SyntaxError("An invalid or illegal string was specified.");R=K,this.hasBeenReset=!0;}})),Object.defineProperty(u,"position",r({},c,{get:function(){return C;},set:function(j){if(j<0||j>100)throw new Error("Position must be between 0 and 100.");C=j,this.hasBeenReset=!0;}})),Object.defineProperty(u,"positionAlign",r({},c,{get:function(){return A;},set:function(j){let K=n(j);if(!K)throw new SyntaxError("An invalid or illegal string was specified.");A=K,this.hasBeenReset=!0;}})),Object.defineProperty(u,"size",r({},c,{get:function(){return O;},set:function(j){if(j<0||j>100)throw new Error("Size must be between 0 and 100.");O=j,this.hasBeenReset=!0;}})),Object.defineProperty(u,"align",r({},c,{get:function(){return U;},set:function(j){let K=n(j);if(!K)throw new SyntaxError("An invalid or illegal string was specified.");U=K,this.hasBeenReset=!0;}})),u.displayState=void 0;}return o.prototype.getCueAsHTML=function(){return self.WebVTT.convertCueToDOMTree(self,this.text);},o;}(),wf=class{decode(e,t){if(!e)return"";if(typeof e!="string")throw new Error("Error - expected string data.");return decodeURIComponent(encodeURIComponent(e));}};function Fb(s){function e(i,n,r,o){return(i|0)*3600+(n|0)*60+(r|0)+parseFloat(o||0);}let t=s.match(/^(?:(\d+):)?(\d{2}):(\d{2})(\.\d+)?/);return t?parseFloat(t[2])>59?e(t[2],t[3],0,t[4]):e(t[1],t[2],t[3],t[4]):null;}var xf=class{constructor(){this.values=Object.create(null);}set(e,t){!this.get(e)&&t!==""&&(this.values[e]=t);}get(e,t,i){return i?this.has(e)?this.values[e]:t[i]:this.has(e)?this.values[e]:t;}has(e){return e in this.values;}alt(e,t,i){for(let n=0;n<i.length;++n)if(t===i[n]){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 Vb(s,e,t,i){let n=i?s.split(i):[s];for(let r in n){if(typeof n[r]!="string")continue;let o=n[r].split(t);if(o.length!==2)continue;let a=o[0],l=o[1];e(a,l);}}var Af=new Qf(0,0,""),Zl=Af.align==="middle"?"middle":"center";function zR(s,e,t){let i=s;function n(){let a=Fb(s);if(a===null)throw new Error("Malformed timestamp: "+i);return s=s.replace(/^[^\sa-zA-Z-]+/,""),a;}function r(a,l){let d=new xf();Vb(a,function(h,f){let p;switch(h){case"region":for(let g=t.length-1;g>=0;g--)if(t[g].id===f){d.set(h,t[g].region);break;}break;case"vertical":d.alt(h,f,["rl","lr"]);break;case"line":p=f.split(","),d.integer(h,p[0]),d.percent(h,p[0])&&d.set("snapToLines",!1),d.alt(h,p[0],["auto"]),p.length===2&&d.alt("lineAlign",p[1],["start",Zl,"end"]);break;case"position":p=f.split(","),d.percent(h,p[0]),p.length===2&&d.alt("positionAlign",p[1],["start",Zl,"end","line-left","line-right","auto"]);break;case"size":d.percent(h,f);break;case"align":d.alt(h,f,["start",Zl,"end","left","right"]);break;}}
95,/:/,/\s/),l.region=d.get("region",null),l.vertical=d.get("vertical","");let u=d.get("line","auto");u==="auto"&&Af.line===-1&&(u=-1),l.line=u,l.lineAlign=d.get("lineAlign","start"),l.snapToLines=d.get("snapToLines",!0),l.size=d.get("size",100),l.align=d.get("align",Zl);let c=d.get("position","auto");c==="auto"&&Af.position===50&&(c=l.align==="start"||l.align==="left"?0:l.align==="end"||l.align==="right"?100:50),l.position=c;}function o(){s=s.replace(/^\s+/,"");}if(o(),e.startTime=n(),o(),s.slice(0,3)!=="-->")throw new Error("Malformed time stamp (time stamps must be separated by '-->'): "+i);s=s.slice(3),o(),e.endTime=n(),o(),r(s,e);}function Bb(s){return s.replace(/<br(?: \/)?>/gi,` 96`);}var If=class{constructor(){this.state="INITIAL",this.buffer="",this.decoder=new wf(),this.regionList=[],this.cue=null,this.oncue=void 0,this.onparsingerror=void 0,this.onflush=void 0;}parse(e){let t=this;e&&(t.buffer+=t.decoder.decode(e,{stream:!0}));function i(){let r=t.buffer,o=0;for(r=Bb(r);o<r.length&&r[o]!=="\r"&&r[o]!==` 97`;)++o;let a=r.slice(0,o);return r[o]==="\r"&&++o,r[o]===` 98`&&++o,t.buffer=r.slice(o),a;}function n(r){Vb(r,function(o,a){},/:/);}try{let r="";if(t.state==="INITIAL"){if(!/\r\n|\n/.test(t.buffer))return this;r=i();let a=r.match(/^()?WEBVTT([ \t].*)?$/);if(!(a!=null&&a[0]))throw new Error("Malformed WebVTT signature.");t.state="HEADER";}let o=!1;for(;t.buffer;){if(!/\r\n|\n/.test(t.buffer))return this;switch(o?o=!1:r=i(),t.state){case"HEADER":/:/.test(r)?n(r):r||(t.state="ID");continue;case"NOTE":r||(t.state="ID");continue;case"ID":if(/^NOTE($|[ \t])/.test(r)){t.state="NOTE";break;}if(!r)continue;if(t.cue=new Qf(0,0,""),t.state="CUE",r.indexOf("-->")===-1){t.cue.id=r;continue;}case"CUE":if(!t.cue){t.state="BADCUE";continue;}try{zR(r,t.cue,t.regionList);}catch{t.cue=null,t.state="BADCUE";continue;}t.state="CUETEXT";continue;case"CUETEXT":{let a=r.indexOf("-->")!==-1;if(!r||a&&(o=!0)){t.oncue&&t.cue&&t.oncue(t.cue),t.cue=null,t.state="ID";continue;}if(t.cue===null)continue;t.cue.text&&(t.cue.text+=` 99`),t.cue.text+=r;}continue;case"BADCUE":r||(t.state="ID");}}}catch{t.state==="CUETEXT"&&t.cue&&t.oncue&&t.oncue(t.cue),t.cue=null,t.state=t.state==="INITIAL"?"BADWEBVTT":"BADCUE";}return this;}flush(){let e=this;try{if((e.cue||e.state==="HEADER")&&(e.buffer+=` 100 101`,e.parse()),e.state==="INITIAL"||e.state==="BADWEBVTT")throw new Error("Malformed WebVTT signature.");}catch(t){e.onparsingerror&&e.onparsingerror(t);}return e.onflush&&e.onflush(),this;}},qR=/\r\n|\n\r|\n|\r/g,xh=function(e,t,i=0){return e.slice(i,i+t.length)===t;},KR=function(e){let t=parseInt(e.slice(-3)),i=parseInt(e.slice(-6,-4)),n=parseInt(e.slice(-9,-7)),r=e.length>9?parseInt(e.substring(0,e.indexOf(":"))):0;if(!Re(t)||!Re(i)||!Re(n)||!Re(r))throw Error(`Malformed X-TIMESTAMP-MAP: Local:${e}`);return t+=1e3*i,t+=60*1e3*n,t+=60*60*1e3*r,t;},Ah=function(e){let t=5381,i=e.length;for(;i;)t=t*33^e.charCodeAt(--i);return(t>>>0).toString();};function Jf(s,e,t){return Ah(s.toString())+Ah(e.toString())+Ah(t);}var YR=function(e,t,i){let n=e[t],r=e[n.prevCC];if(!r||!r.new&&n.new){e.ccOffset=e.presentationOffset=n.start,n.new=!1;return;}for(;(o=r)!=null&&o.new;){var o;e.ccOffset+=n.start-r.start,n.new=!1,n=r,r=e[n.prevCC];}e.presentationOffset=i;};function XR(s,e,t,i,n,r,o){let a=new If(),l=an(new Uint8Array(s)).trim().replace(qR,` 102`).split(` 103`),d=[],u=e?RR(e.baseTime,e.timescale):0,c="00:00.000",h=0,f=0,p,g=!0;a.oncue=function(m){let b=t[i],T=t.ccOffset,S=(h-u)/9e4;if(b!=null&&b.new&&(f!==void 0?T=t.ccOffset=b.start:YR(t,i,S)),S){if(!e){p=new Error("Missing initPTS for VTT MPEGTS");return;}T=S-t.presentationOffset;}let P=m.endTime-m.startTime,R=Mi((m.startTime+T-f)*9e4,n*9e4)/9e4;m.startTime=Math.max(R,0),m.endTime=Math.max(R+P,0);let C=m.text.trim();m.text=decodeURIComponent(encodeURIComponent(C)),m.id||(m.id=Jf(m.startTime,m.endTime,C)),m.endTime>0&&d.push(m);},a.onparsingerror=function(m){p=m;},a.onflush=function(){if(p){o(p);return;}r(d);},l.forEach(m=>{if(g)if(xh(m,"X-TIMESTAMP-MAP=")){g=!1,m.slice(16).split(",").forEach(b=>{xh(b,"LOCAL:")?c=b.slice(6):xh(b,"MPEGTS:")&&(h=parseInt(b.slice(7)));});try{f=KR(c)/1e3;}catch(b){p=b;}return;}else m===""&&(g=!1);a.parse(m+` 104`);}),a.flush();}var Ih="stpp.ttml.im1t",Ub=/^(\d{2,}):(\d{2}):(\d{2}):(\d{2})\.?(\d+)?$/,Hb=/^(\d*(?:\.\d*)?)(h|m|s|ms|f|t)$/,QR={left:"start",center:"center",right:"end",start:"start",end:"end"};function Uy(s,e,t,i){let n=qe(new Uint8Array(s),["mdat"]);if(n.length===0){i(new Error("Could not parse IMSC1 mdat"));return;}let r=n.map(a=>an(a)),o=IR(e.baseTime,1,e.timescale);try{r.forEach(a=>t(JR(a,o)));}catch(a){i(a);}}function JR(s,e){let n=new DOMParser().parseFromString(s,"text/xml").getElementsByTagName("tt")[0];if(!n)throw new Error("Invalid ttml");let r={frameRate:30,subFrameRate:1,frameRateMultiplier:0,tickRate:0},o=Object.keys(r).reduce((c,h)=>(c[h]=n.getAttribute(`ttp:${h}`)||r[h],c),{}),a=n.getAttribute("xml:space")!=="preserve",l=Hy(Rh(n,"styling","style")),d=Hy(Rh(n,"layout","region")),u=Rh(n,"body","[begin]");return[].map.call(u,c=>{let h=$b(c,a);if(!h||!c.hasAttribute("begin"))return null;let f=kh(c.getAttribute("begin"),o),p=kh(c.getAttribute("dur"),o),g=kh(c.getAttribute("end"),o);if(f===null)throw $y(c);if(g===null){if(p===null)throw $y(c);g=f+p;}let m=new Qf(f-e,g-e,h);m.id=Jf(m.startTime,m.endTime,m.text);let b=d[c.getAttribute("region")],T=l[c.getAttribute("style")],S=ZR(b,T,l),{textAlign:P}=S;if(P){let R=QR[P];R&&(m.lineAlign=R),m.align=P;}return Kt(m,S),m;}).filter(c=>c!==null);}function Rh(s,e,t){let i=s.getElementsByTagName(e)[0];return i?[].slice.call(i.querySelectorAll(t)):[];}function Hy(s){return s.reduce((e,t)=>
104{let i=t.getAttribute("xml:id");return i&&(e[i]=t),e;},{});}function $b(s,e){return[].slice.call(s.childNodes).reduce((t,i,n)=>{var r;return i.nodeName==="br"&&n?t+` 105`:(r=i.childNodes)!=null&&r.length?$b(i,e):e?t+i.textContent.trim().replace(/\s+/g," "):t+i.textContent;},"");}function ZR(s,e,t){let i="http://www.w3.org/ns/ttml#styling",n=null,r=["displayAlign","textAlign","color","backgroundColor","fontSize","fontFamily"],o=s!=null&&s.hasAttribute("style")?s.getAttribute("style"):null;return o&&t.hasOwnProperty(o)&&(n=t[o]),r.reduce((a,l)=>{let d=Ph(e,i,l)||Ph(s,i,l)||Ph(n,i,l);return d&&(a[l]=d),a;},{});}function Ph(s,e,t){return s&&s.hasAttributeNS(e,t)?s.getAttributeNS(e,t):null;}function $y(s){return new Error(`Could not parse ttml timestamp ${s}`);}function kh(s,e){if(!s)return null;let t=Fb(s);return t===null&&(Ub.test(s)?t=eP(s,e):Hb.test(s)&&(t=tP(s,e))),t;}function eP(s,e){let t=Ub.exec(s),i=(t[4]|0)+(t[5]|0)/e.subFrameRate;return(t[1]|0)*3600+(t[2]|0)*60+(t[3]|0)+i/e.frameRate;}function tP(s,e){let t=Hb.exec(s),i=Number(t[1]);switch(t[2]){case"h":return i*3600;case"m":return i*60;case"ms":return i*1e3;case"f":return i/e.frameRate;case"t":return i/e.tickRate;}return i;}var Rf=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=Wy(),this.captionsProperties=void 0,this.hls=e,this.config=e.config,this.Cues=e.config.cueHandler,this.captionsProperties={textTrack1:{label:this.config.captionsTextTrack1Label,languageCode:this.config.captionsTextTrack1LanguageCode},textTrack2:{label:this.config.captionsTextTrack2Label,languageCode:this.config.captionsTextTrack2LanguageCode},textTrack3:{label:this.config.captionsTextTrack3Label,languageCode:this.config.captionsTextTrack3LanguageCode},textTrack4:{label:this.config.captionsTextTrack4Label,languageCode:this.config.captionsTextTrack4LanguageCode}},e.on(w.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(w.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.on(w.FRAG_LOADING,this.onFragLoading,this),e.on(w.FRAG_LOADED,this.onFragLoaded,this),e.on(w.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.on(w.FRAG_DECRYPTED,this.onFragDecrypted,this),e.on(w.INIT_PTS_FOUND,this.onInitPtsFound,this),e.on(w.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.on(w.BUFFER_FLUSHING,this.onBufferFlushing,this);}destroy(){let{hls:e}=this;e.off(w.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(w.SUBTITLE_TRACKS_UPDATED,this.onSubtitleTracksUpdated,this),e.off(w.FRAG_LOADING,this.onFragLoading,this),e.off(w.FRAG_LOADED,this.onFragLoaded,this),e.off(w.FRAG_PARSING_USERDATA,this.onFragParsingUserdata,this),e.off(w.FRAG_DECRYPTED,this.onFragDecrypted,this),e.off(w.INIT_PTS_FOUND,this.onInitPtsFound,this),e.off(w.SUBTITLE_TRACKS_CLEARED,this.onSubtitleTracksCleared,this),e.off(w.BUFFER_FLUSHING,this.onBufferFlushing,this),this.hls=this.config=null,this.cea608Parser1=this.cea608Parser2=void 0;}initCea608Parsers(){if(this.config.enableCEA708Captions&&(!this.cea608Parser1||!this.cea608Parser2)){let e=new ws(this,"textTrack1"),t=new ws(this,"textTrack2"),i=new ws(this,"textTrack3"),n=new ws(this,"textTrack4");this.cea608Parser1=new kd(1,e,t),this.cea608Parser2=new kd(3,i,n);}}addCues(e,t,i,n,r){let o=!1;for(let a=r.length;a--;){let l=r[a],d=iP(l[0],l[1],t,i);if(d>=0&&(l[0]=Math.min(l[0],t),l[1]=Math.max(l[1],i),o=!0,d/(i-t)>.5))return;}if(o||r.push([t,i]),this.config.renderTextTracksNatively){let a=this.captionsTracks[e];this.Cues.newCue(a,t,i,n);}else{let a=this.Cues.newCue(null,t,i,n);this.hls.trigger(w.CUES_PARSED,{type:"captions",cues:a,track:e});}}onInitPtsFound(e,{frag:t,id:i,initPTS:n,timescale:r}){let{unparsedVttFrags:o}=this;i==="main"&&(this.initPTS[t.cc]={baseTime:n,timescale:r}),o.length&&(this.unparsedVttFrags=[],o.forEach(a=>{this.onFragLoaded(w.FRAG_LOADED,a);}));}getExistingTrack(e,t){let{media:i}=this;if(i)for(let n=0;n<i.textTracks.length;n++){let r=i.textTracks[n];if(Gy(r,{name:e,lang:t,attrs:{}}))return r;}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:n}=this,{label:r,languageCode:o}=t[e],a=this.getExistingTrack(r,o);if(a)i[e]=a,Cs(i[e]),hb(i[e],n);else{let l=this.createTextTrack("captions",r,o);l&&(l[e]=!0,i[e]=l);}}createNonNativeTrack(e){if(this.nonNativeCaptionsTracks[e])return;let t=this.captionsProperties[e];if(!t)return;let i=t.label,n={_id:e,label:i,kind:"captions",default:t.media?!!t.media.default:!1,closedCaptions:t.media};this.nonNativeCaptionsTracks[e]=n,this.hls.trigger(w.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:[n]});}createTextTrack(e,t,i){let n=this.media;if(n)return n.addTextTrack(e,t,i);}onMediaAttaching(e,t){this.media=t.media,this._cleanTracks();}onMediaDetaching(){let{captionsTracks:e}=this;Object.keys(e).forEach(t=>{Cs(e[t]),delete e[t];}),this.nonNativeCaptionsTracks={};}onManifestLoading(){this.lastCc=-1,this.lastSn=-1,this.lastPartIndex=-1,this.prevCC=-1,this.vttCCs=Wy(),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;
105if(t)for(let i=0;i<t.length;i++)Cs(t[i]);}onSubtitleTracksUpdated(e,t){let i=t.subtitleTracks||[],n=i.some(r=>r.textCodec===Ih);if(this.config.enableWebVTT||n&&this.config.enableIMSC1){if(Nb(this.tracks,i)){this.tracks=i;return;}if(this.textTracks=[],this.tracks=i,this.config.renderTextTracksNatively){let o=this.media,a=o?id(o.textTracks):null;if(this.tracks.forEach((l,d)=>{let u;if(a){let c=null;for(let h=0;h<a.length;h++)if(a[h]&&Gy(a[h],l)){c=a[h],a[h]=null;break;}c&&(u=c);}if(u)Cs(u);else{let c=Gb(l);u=this.createTextTrack(c,l.name,l.lang),u&&(u.mode="disabled");}u&&this.textTracks.push(u);}),a!=null&&a.length){let l=a.filter(d=>d!==null).map(d=>d.label);l.length&&X.warn(`Media element contains unused subtitle tracks: ${l.join(", ")}. Replace media element for each source to clear TextTracks and captions menu.`);}}else if(this.tracks.length){let o=this.tracks.map(a=>({label:a.name,kind:a.type.toLowerCase(),default:a.default,subtitleTrack:a}));this.hls.trigger(w.NON_NATIVE_TEXT_TRACKS_FOUND,{tracks:o});}}}onManifestLoaded(e,t){this.config.enableCEA708Captions&&t.captions&&t.captions.forEach(i=>{let n=/(?:CC|SERVICE)([1-4])/.exec(i.instreamId);if(!n)return;let r=`textTrack${n[1]}`,o=this.captionsProperties[r];o&&(o.label=i.name,i.lang&&(o.languageCode=i.lang),o.media=i);});}closedCaptionsForLevel(e){let t=this.hls.levels[e.level];return t==null?void 0:t.attrs["CLOSED-CAPTIONS"];}onFragLoading(e,t){if(this.enabled&&t.frag.type===Fe.MAIN){var i,n;let{cea608Parser1:r,cea608Parser2:o,lastSn:a}=this,{cc:l,sn:d}=t.frag,u=(i=(n=t.part)==null?void 0:n.index)!=null?i:-1;r&&o&&(d!==a+1||d===a&&u!==this.lastPartIndex+1||l!==this.lastCc)&&(r.reset(),o.reset()),this.lastCc=l,this.lastSn=d,this.lastPartIndex=u;}}onFragLoaded(e,t){let{frag:i,payload:n}=t;if(i.type===Fe.SUBTITLE)if(n.byteLength){let r=i.decryptdata,o="stats"in t;if(r==null||!r.encrypted||o){let a=this.tracks[i.level],l=this.vttCCs;l[i.cc]||(l[i.cc]={start:i.start,prevCC:this.prevCC,new:!0},this.prevCC=i.cc),a&&a.textCodec===Ih?this._parseIMSC1(i,n):this._parseVTTs(t);}}else this.hls.trigger(w.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:new Error("Empty subtitle payload")});}_parseIMSC1(e,t){let i=this.hls;Uy(t,this.initPTS[e.cc],n=>{this._appendCues(n,e.level),i.trigger(w.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:e});},n=>{X.log(`Failed to parse IMSC1: ${n}`),i.trigger(w.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:e,error:n});});}_parseVTTs(e){var t;let{frag:i,payload:n}=e,{initPTS:r,unparsedVttFrags:o}=this,a=r.length-1;if(!r[i.cc]&&a===-1){o.push(e);return;}let l=this.hls,d=(t=i.initSegment)!=null&&t.data?Di(i.initSegment.data,new Uint8Array(n)):n;XR(d,this.initPTS[i.cc],this.vttCCs,i.cc,i.start,u=>{this._appendCues(u,i.level),l.trigger(w.SUBTITLE_FRAG_PROCESSED,{success:!0,frag:i});},u=>{let c=u.message==="Missing initPTS for VTT MPEGTS";c?o.push(e):this._fallbackToIMSC1(i,n),X.log(`Failed to parse VTT cue: ${u}`),!(c&&a>i.cc)&&l.trigger(w.SUBTITLE_FRAG_PROCESSED,{success:!1,frag:i,error:u});});}_fallbackToIMSC1(e,t){let i=this.tracks[e.level];i.textCodec||Uy(t,this.initPTS[e.cc],()=>{i.textCodec=Ih,this._parseIMSC1(e,t);},()=>{i.textCodec="wvtt";});}_appendCues(e,t){let i=this.hls;if(this.config.renderTextTracksNatively){let n=this.textTracks[t];if(!n||n.mode==="disabled")return;e.forEach(r=>fb(n,r));}else{let n=this.tracks[t];if(!n)return;let r=n.default?"default":"subtitles"+t;i.trigger(w.CUES_PARSED,{type:"subtitles",cues:e,track:r});}}onFragDecrypted(e,t){let{frag:i}=t;i.type===Fe.SUBTITLE&&this.onFragLoaded(w.FRAG_LOADED,t);}onSubtitleTracksCleared(){this.tracks=[],this.captionsTracks={};}onFragParsingUserdata(e,t){this.initCea608Parsers();let{cea608Parser1:i,cea608Parser2:n}=this;if(!this.enabled||!i||!n)return;let{frag:r,samples:o}=t;if(!(r.type===Fe.MAIN&&this.closedCaptionsForLevel(r)==="NONE"))for(let a=0;a<o.length;a++){let l=o[a].bytes;if(l){let d=this.extractCea608Data(l);i.addData(o[a].pts,d[0]),n.addData(o[a].pts,d[1]);}}}onBufferFlushing(e,{startOffset:t,endOffset:i,endOffsetSubtitles:n,type:r}){let{media:o}=this;if(!(!o||o.currentTime<i)){if(!r||r==="video"){let{captionsTracks:a}=this;
105Object.keys(a).forEach(l=>Vh(a[l],t,i));}if(this.config.renderTextTracksNatively&&t===0&&n!==void 0){let{textTracks:a}=this;Object.keys(a).forEach(l=>Vh(a[l],t,n));}}}extractCea608Data(e){let t=[[],[]],i=e[0]&31,n=2;for(let r=0;r<i;r++){let o=e[n++],a=127&e[n++],l=127&e[n++];if(a===0&&l===0)continue;if((4&o)!==0){let u=3&o;(u===0||u===1)&&(t[u].push(a),t[u].push(l));}}return t;}};function Gb(s){return s.characteristics&&/transcribes-spoken-dialog/gi.test(s.characteristics)&&/describes-music-and-sound/gi.test(s.characteristics)?"captions":"subtitles";}function Gy(s,e){return!!s&&s.kind===Gb(e)&&pf(e,s);}function iP(s,e,t,i){return Math.min(e,i)-Math.max(s,t);}function Wy(){return{ccOffset:0,presentationOffset:0,0:{start:0,prevCC:-1,new:!0}};}var Pf=class s{constructor(e){this.hls=void 0,this.autoLevelCapping=void 0,this.firstLevel=void 0,this.media=void 0,this.restrictedLevels=void 0,this.timer=void 0,this.clientRect=void 0,this.streamController=void 0,this.hls=e,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.firstLevel=-1,this.media=null,this.restrictedLevels=[],this.timer=void 0,this.clientRect=null,this.registerListeners();}setStreamController(e){this.streamController=e;}destroy(){this.hls&&this.unregisterListener(),this.timer&&this.stopCapping(),this.media=null,this.clientRect=null,this.hls=this.streamController=null;}registerListeners(){let{hls:e}=this;e.on(w.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.on(w.MEDIA_ATTACHING,this.onMediaAttaching,this),e.on(w.MANIFEST_PARSED,this.onManifestParsed,this),e.on(w.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(w.BUFFER_CODECS,this.onBufferCodecs,this),e.on(w.MEDIA_DETACHING,this.onMediaDetaching,this);}unregisterListener(){let{hls:e}=this;e.off(w.FPS_DROP_LEVEL_CAPPING,this.onFpsDropLevelCapping,this),e.off(w.MEDIA_ATTACHING,this.onMediaAttaching,this),e.off(w.MANIFEST_PARSED,this.onManifestParsed,this),e.off(w.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(w.BUFFER_CODECS,this.onBufferCodecs,this),e.off(w.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&&Re(this.autoLevelCapping)&&this.detectPlayerSize();}onBufferCodecs(e,t){this.hls.config.capLevelToPlayerSize&&t.video&&this.startCapping();}onMediaDetaching(){this.stopCapping();}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&&X.log(`Setting autoLevelCapping to ${i}: ${e[i].height}p@${e[i].bitrate} for media ${this.mediaWidth}x${this.mediaHeight}`),t.autoLevelCapping=i,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((n,r)=>this.isLevelAllowed(n)&&r<=e);return this.clientRect=null,s.getMaxLevelByMediaSize(i,this.mediaWidth,this.mediaHeight);}startCapping(){this.timer||(this.autoLevelCapping=Number.POSITIVE_INFINITY,self.clearInterval(this.timer),this.timer=self.setInterval(this.detectPlayerSize.bind(this),1e3),this.detectPlayerSize());}stopCapping(){this.restrictedLevels=[],this.firstLevel=-1,this.autoLevelCapping=Number.POSITIVE_INFINITY,this.timer&&(self.clearInterval(this.timer),this.timer=void 0);}getDimensions(){if(this.clientRect)return this.clientRect;let e=this.media,t={width:0,height:0};if(e){let i=e.getBoundingClientRect();t.width=i.width,t.height=i.height,!t.width&&!t.height&&(t.width=i.right-i.left||e.width||0,t.height=i.bottom-i.top||e.height||0);}return this.clientRect=t,t;}get mediaWidth(){return this.getDimensions().width*this.contentScaleFactor;}get mediaHeight(){return this.getDimensions().height*this.contentScaleFactor;}get contentScaleFactor(){let e=1;if(!this.hls.config.ignoreDevicePixelRatio)try{e=self.devicePixelRatio;}catch{}return e;}isLevelAllowed(e){return!this.restrictedLevels.some(i=>e.bitrate===i.bitrate&&e.width===i.width&&e.height===i.height);}static getMaxLevelByMediaSize(e,t,i){if(!(e!=null&&e.length))return-1;let n=(a,l)=>l?a.width!==l.width||a.height!==l.height:!0,r=e.length-1,o=Math.max(t,i);for(let a=0;a<e.length;a+=1){let l=e[a];if((l.width>=o||l.height>=o)&&n(l,e[a+1])){r=a;break;}}return r;}},kf=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;}
105registerListeners(){this.hls.on(w.MEDIA_ATTACHING,this.onMediaAttaching,this);}unregisterListeners(){this.hls.off(w.MEDIA_ATTACHING,this.onMediaAttaching,this);}destroy(){this.timer&&clearInterval(this.timer),this.unregisterListeners(),this.isVideoPlaybackQualityAvailable=!1,this.media=null;}onMediaAttaching(e,t){let i=this.hls.config;if(i.capLevelOnFPSDrop){let n=t.media instanceof self.HTMLVideoElement?t.media:null;this.media=n,n&&typeof n.getVideoPlaybackQuality=="function"&&(this.isVideoPlaybackQualityAvailable=!0),self.clearInterval(this.timer),this.timer=self.setInterval(this.checkFPSInterval.bind(this),i.fpsDroppedMonitoringPeriod);}}checkFPS(e,t,i){let n=performance.now();if(t){if(this.lastTime){let r=n-this.lastTime,o=i-this.lastDroppedFrames,a=t-this.lastDecodedFrames,l=1e3*o/r,d=this.hls;if(d.trigger(w.FPS_DROP,{currentDropped:o,currentDecoded:a,totalDroppedFrames:i}),l>0&&o>d.config.fpsDroppedMonitoringThreshold*a){let u=d.currentLevel;X.warn("drop FPS ratio greater than max allowed value for currentLevel: "+u),u>0&&(d.autoLevelCapping===-1||d.autoLevelCapping>=u)&&(u=u-1,d.trigger(w.FPS_DROP_LEVEL_CAPPING,{level:u,droppedLevel:d.currentLevel}),d.autoLevelCapping=u,this.streamController.nextLevelSwitch());}}this.lastTime=n,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);}},ed="[eme]",nP=(()=>{class s{constructor(t){this.hls=void 0,this.config=void 0,this.media=null,this.keyFormatPromise=null,this.keySystemAccessPromises={},this._requestLicenseFailureCount=0,this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},this.setMediaKeysQueue=s.CDMCleanupPromise?[s.CDMCleanupPromise]:[],this.onMediaEncrypted=this._onMediaEncrypted.bind(this),this.onWaitingForKey=this._onWaitingForKey.bind(this),this.debug=X.debug.bind(X,ed),this.log=X.log.bind(X,ed),this.warn=X.warn.bind(X,ed),this.error=X.error.bind(X,ed),this.hls=t,this.config=t.config,this.registerListeners();}destroy(){this.unregisterListeners(),this.onMediaDetached();let t=this.config;t.requestMediaKeySystemAccessFunc=null,t.licenseXhrSetup=t.licenseResponseCallback=void 0,t.drmSystems=t.drmSystemOptions={},this.hls=this.onMediaEncrypted=this.onWaitingForKey=this.keyIdToKeySessionPromise=null,this.config=null;}registerListeners(){this.hls.on(w.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.on(w.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.on(w.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.on(w.MANIFEST_LOADED,this.onManifestLoaded,this);}unregisterListeners(){this.hls.off(w.MEDIA_ATTACHED,this.onMediaAttached,this),this.hls.off(w.MEDIA_DETACHED,this.onMediaDetached,this),this.hls.off(w.MANIFEST_LOADING,this.onManifestLoading,this),this.hls.off(w.MANIFEST_LOADED,this.onManifestLoaded,this);}getLicenseServerUrl(t){let{drmSystems:i,widevineLicenseUrl:n}=this.config,r=i[t];if(r)return r.licenseUrl;if(t===kt.WIDEVINE&&n)return n;throw new Error(`no license server URL configured for key-system "${t}"`);}getServerCertificateUrl(t){let{drmSystems:i}=this.config,n=i[t];if(n)return n.serverCertificateUrl;this.log(`No Server Certificate in config.drmSystems["${t}"]`);}attemptKeySystemAccess(t){let i=this.hls.levels,n=(a,l,d)=>!!a&&d.indexOf(a)===l,r=i.map(a=>a.audioCodec).filter(n),o=i.map(a=>a.videoCodec).filter(n);return r.length+o.length===0&&o.push("avc1.42e01e"),new Promise((a,l)=>{let d=u=>{let c=u.shift();this.getMediaKeysPromise(c,r,o).then(h=>a({keySystem:c,mediaKeys:h})).catch(h=>{u.length?d(u):h instanceof Ci?l(h):l(new Ci({type:Be.KEY_SYSTEM_ERROR,details:te.KEY_SYSTEM_NO_ACCESS,error:h,fatal:!0},h.message));});};d(t);});}requestMediaKeySystemAccess(t,i){let{requestMediaKeySystemAccessFunc:n}=this.config;if(typeof n!="function"){let r=`Configured requestMediaKeySystemAccess is not a function ${n}`;return Zy===null&&self.location.protocol==="http:"&&(r=`navigator.requestMediaKeySystemAccess is not available over insecure protocol ${location.protocol}`),Promise.reject(new Error(r));}return n(t,i);}
105getMediaKeysPromise(t,i,n){let r=zA(t,i,n,this.config.drmSystemOptions),o=this.keySystemAccessPromises[t],a=o==null?void 0:o.keySystemAccess;if(!a){this.log(`Requesting encrypted media "${t}" key-system access with config: ${JSON.stringify(r)}`),a=this.requestMediaKeySystemAccess(t,r);let l=this.keySystemAccessPromises[t]={keySystemAccess:a};return a.catch(d=>{this.log(`Failed to obtain access to key-system "${t}": ${d}`);}),a.then(d=>{this.log(`Access for key-system "${d.keySystem}" obtained`);let u=this.fetchServerCertificate(t);return this.log(`Create media-keys for "${t}"`),l.mediaKeys=d.createMediaKeys().then(c=>(this.log(`Media-keys created for "${t}"`),u.then(h=>h?this.setMediaKeysServerCertificate(c,t,h):c))),l.mediaKeys.catch(c=>{this.error(`Failed to create media-keys for "${t}"}: ${c}`);}),l.mediaKeys;});}return a.then(()=>o.mediaKeys);}createMediaKeySessionContext({decryptdata:t,keySystem:i,mediaKeys:n}){this.log(`Creating key-system session "${i}" keyId: ${rn.hexDump(t.keyId||[])}`);let r=n.createSession(),o={decryptdata:t,keySystem:i,mediaKeys:n,mediaKeysSession:r,keyStatus:"status-pending"};return this.mediaKeySessions.push(o),o;}renewKeySession(t){let i=t.decryptdata;if(i.pssh){let n=this.createMediaKeySessionContext(t),r=this.getKeyIdString(i),o="cenc";this.keyIdToKeySessionPromise[r]=this.generateRequestWithPreferredKeySession(n,o,i.pssh,"expired");}else this.warn("Could not renew expired session. Missing pssh initData.");this.removeSession(t);}getKeyIdString(t){if(!t)throw new Error("Could not read keyId of undefined decryptdata");if(t.keyId===null)throw new Error("keyId is null");return rn.hexDump(t.keyId);}updateKeySession(t,i){var n;let r=t.mediaKeysSession;return this.log(`Updating key-session "${r.sessionId}" for keyID ${rn.hexDump(((n=t.decryptdata)==null?void 0:n.keyId)||[])} 106 } (data length: ${i&&i.byteLength})`),r.update(i);}selectKeySystemFormat(t){let i=Object.keys(t.levelkeys||{});return this.keyFormatPromise||(this.log(`Selecting key-system from fragment (sn: ${t.sn} ${t.type}: ${t.level}) key formats ${i.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(i)),this.keyFormatPromise;}getKeyFormatPromise(t){return new Promise((i,n)=>{let r=ph(this.config),o=t.map(sy).filter(a=>!!a&&r.indexOf(a)!==-1);return this.getKeySystemSelectionPromise(o).then(({keySystem:a})=>{let l=oy(a);l?i(l):n(new Error(`Unable to find format for key-system "${a}"`));}).catch(n);});}loadKey(t){let i=t.keyInfo.decryptdata,n=this.getKeyIdString(i),r=`(keyId: ${n} format: "${i.keyFormat}" method: ${i.method} uri: ${i.uri})`;this.log(`Starting session for key ${r}`);let o=this.keyIdToKeySessionPromise[n];return o||(o=this.keyIdToKeySessionPromise[n]=this.getKeySystemForKeyPromise(i).then(({keySystem:a,mediaKeys:l})=>(this.throwIfDestroyed(),this.log(`Handle encrypted media sn: ${t.frag.sn} ${t.frag.type}: ${t.frag.level} using key ${r}`),this.attemptSetMediaKeys(a,l).then(()=>{this.throwIfDestroyed();let d=this.createMediaKeySessionContext({keySystem:a,mediaKeys:l,decryptdata:i});return this.generateRequestWithPreferredKeySession(d,"cenc",i.pssh,"playlist-key");}))),o.catch(a=>this.handleError(a))),o;}throwIfDestroyed(t="Invalid state"){if(!this.hls)throw new Error("invalid state");}handleError(t){this.hls&&(this.error(t.message),t instanceof Ci?this.hls.trigger(w.ERROR,t.data):this.hls.trigger(w.ERROR,{type:Be.KEY_SYSTEM_ERROR,details:te.KEY_SYSTEM_NO_KEYS,error:t,fatal:!0}));}getKeySystemForKeyPromise(t){let i=this.getKeyIdString(t),n=this.keyIdToKeySessionPromise[i];if(!n){let r=sy(t.keyFormat),o=r?[r]:ph(this.config);return this.attemptKeySystemAccess(o);}return n;}getKeySystemSelectionPromise(t){if(t.length||(t=ph(this.config)),t.length===0)throw new Ci({type:Be.KEY_SYSTEM_ERROR,details:te.KEY_SYSTEM_NO_CONFIGURED_LICENSE,fatal:!0},`Missing key-system license configuration options ${JSON.stringify({drmSystems:this.config.drmSystems})}`);return this.attemptKeySystemAccess(t);}_onMediaEncrypted(t){let{initDataType:i,initData:n}=t;if(this.debug(`"${t.type}" event: init data type: "${i}"`),n===null)return;let r,o;if(i==="sinf"&&this.config.drmSystems[kt.FAIRPLAY]){let c=Yt(new Uint8Array(n));
106try{let h=$f(JSON.parse(c).sinf),f=ab(new Uint8Array(h));if(!f)return;r=f.subarray(8,24),o=kt.FAIRPLAY;}catch{this.warn('Failed to parse sinf "encrypted" event message initData');return;}}else{let c=vI(n);if(c===null)return;c.version===0&&c.systemId===Jy.WIDEVINE&&c.data&&(r=c.data.subarray(8,24)),o=WA(c.systemId);}if(!o||!r)return;let a=rn.hexDump(r),{keyIdToKeySessionPromise:l,mediaKeySessions:d}=this,u=l[a];for(let c=0;c<d.length;c++){let h=d[c],f=h.decryptdata;if(f.pssh||!f.keyId)continue;let p=rn.hexDump(f.keyId);if(a===p||f.uri.replace(/-/g,"").indexOf(a)!==-1){u=l[p],delete l[p],f.pssh=new Uint8Array(n),f.keyId=r,u=l[a]=u.then(()=>this.generateRequestWithPreferredKeySession(h,i,n,"encrypted-event-key-match"));break;}}u||(u=l[a]=this.getKeySystemSelectionPromise([o]).then(({keySystem:c,mediaKeys:h})=>{var f;this.throwIfDestroyed();let p=new qo("ISO-23001-7",a,(f=oy(c))!=null?f:"");return p.pssh=new Uint8Array(n),p.keyId=r,this.attemptSetMediaKeys(c,h).then(()=>{this.throwIfDestroyed();let g=this.createMediaKeySessionContext({decryptdata:p,keySystem:c,mediaKeys:h});return this.generateRequestWithPreferredKeySession(g,i,n,"encrypted-event-no-match");});})),u.catch(c=>this.handleError(c));}_onWaitingForKey(t){this.log(`"${t.type}" event`);}attemptSetMediaKeys(t,i){let n=this.setMediaKeysQueue.slice();this.log(`Setting media-keys for "${t}"`);let r=Promise.all(n).then(()=>{if(!this.media)throw new Error("Attempted to set mediaKeys without media element attached");return this.media.setMediaKeys(i);});return this.setMediaKeysQueue.push(r),r.then(()=>{this.log(`Media-keys set for "${t}"`),n.push(r),this.setMediaKeysQueue=this.setMediaKeysQueue.filter(o=>n.indexOf(o)===-1);});}generateRequestWithPreferredKeySession(t,i,n,r){var o,a;let l=(o=this.config.drmSystems)==null||(a=o[t.keySystem])==null?void 0:a.generateRequest;if(l)try{let g=l.call(this.hls,i,n,t);if(!g)throw new Error("Invalid response from configured generateRequest filter");i=g.initDataType,n=t.decryptdata.pssh=g.initData?new Uint8Array(g.initData):null;}catch(g){var d;if(this.warn(g.message),(d=this.hls)!=null&&d.config.debug)throw g;}if(n===null)return this.log(`Skipping key-session request for "${r}" (no initData)`),Promise.resolve(t);let u=this.getKeyIdString(t.decryptdata);this.log(`Generating key-session request for "${r}": ${u} (init data type: ${i} length: ${n?n.byteLength:null})`);let c=new Xf(),h=t._onmessage=g=>{let m=t.mediaKeysSession;if(!m){c.emit("error",new Error("invalid state"));return;}let{messageType:b,message:T}=g;this.log(`"${b}" message event for session "${m.sessionId}" message size: ${T.byteLength}`),b==="license-request"||b==="license-renewal"?this.renewLicense(t,T).catch(S=>{this.handleError(S),c.emit("error",S);}):b==="license-release"?t.keySystem===kt.FAIRPLAY&&(this.updateKeySession(t,Nh("acknowledged")),this.removeSession(t)):this.warn(`unhandled media key message type "${b}"`);},f=t._onkeystatuseschange=g=>{if(!t.mediaKeysSession){c.emit("error",new Error("invalid state"));return;}this.onKeyStatusChange(t);let b=t.keyStatus;c.emit("keyStatus",b),b==="expired"&&(this.warn(`${t.keySystem} expired for key ${u}`),this.renewKeySession(t));};t.mediaKeysSession.addEventListener("message",h),t.mediaKeysSession.addEventListener("keystatuseschange",f);let p=new Promise((g,m)=>{c.on("error",m),c.on("keyStatus",b=>{b.startsWith("usable")?g():b==="output-restricted"?m(new Ci({type:Be.KEY_SYSTEM_ERROR,details:te.KEY_SYSTEM_STATUS_OUTPUT_RESTRICTED,fatal:!1},"HDCP level output restricted")):b==="internal-error"?m(new Ci({type:Be.KEY_SYSTEM_ERROR,details:te.KEY_SYSTEM_STATUS_INTERNAL_ERROR,fatal:!0},`key status changed to "${b}"`)):b==="expired"?m(new Error("key expired while generating request")):this.warn(`unhandled key status change "${b}"`);});});return t.mediaKeysSession.generateRequest(i,n).then(()=>{var g;this.log(`Request generated for key-session "${(g=t.mediaKeysSession)==null?void 0:g.sessionId}" keyId: ${u}`);}).catch(g=>{throw new Ci({type:Be.KEY_SYSTEM_ERROR,details:te.KEY_SYSTEM_NO_SESSION,error:g,fatal:!1},`Error generating key-session request: ${g}`);}).then(()=>p).catch(g=>{throw c.removeAllListeners(),this.removeSession(t),g;}).then(()=>(c.removeAllListeners(),t));}
106onKeyStatusChange(t){t.mediaKeysSession.keyStatuses.forEach((i,n)=>{this.log(`key status change "${i}" for keyStatuses keyId: ${rn.hexDump("buffer"in n?new Uint8Array(n.buffer,n.byteOffset,n.byteLength):new Uint8Array(n))} session keyId: ${rn.hexDump(new Uint8Array(t.decryptdata.keyId||[]))} uri: ${t.decryptdata.uri}`),t.keyStatus=i;});}fetchServerCertificate(t){let i=this.config,n=i.loader,r=new n(i),o=this.getServerCertificateUrl(t);return o?(this.log(`Fetching server certificate for "${t}"`),new Promise((a,l)=>{let d={responseType:"arraybuffer",url:o},u=i.certLoadPolicy.default,c={loadPolicy:u,timeout:u.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},h={onSuccess:(f,p,g,m)=>{a(f.data);},onError:(f,p,g,m)=>{l(new Ci({type:Be.KEY_SYSTEM_ERROR,details:te.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:ri({url:d.url,data:void 0},f)},`"${t}" certificate request failed (${o}). Status: ${f.code} (${f.text})`));},onTimeout:(f,p,g)=>{l(new Ci({type:Be.KEY_SYSTEM_ERROR,details:te.KEY_SYSTEM_SERVER_CERTIFICATE_REQUEST_FAILED,fatal:!0,networkDetails:g,response:{url:d.url,data:void 0}},`"${t}" certificate request timed out (${o})`));},onAbort:(f,p,g)=>{l(new Error("aborted"));}};r.load(d,c,h);})):Promise.resolve();}setMediaKeysServerCertificate(t,i,n){return new Promise((r,o)=>{t.setServerCertificate(n).then(a=>{this.log(`setServerCertificate ${a?"success":"not supported by CDM"} (${n==null?void 0:n.byteLength}) on "${i}"`),r(t);}).catch(a=>{o(new Ci({type:Be.KEY_SYSTEM_ERROR,details:te.KEY_SYSTEM_SERVER_CERTIFICATE_UPDATE_FAILED,error:a,fatal:!0},a.message));});});}renewLicense(t,i){return this.requestLicense(t,new Uint8Array(i)).then(n=>this.updateKeySession(t,new Uint8Array(n)).catch(r=>{throw new Ci({type:Be.KEY_SYSTEM_ERROR,details:te.KEY_SYSTEM_SESSION_UPDATE_FAILED,error:r,fatal:!0},r.message);}));}unpackPlayReadyKeyMessage(t,i){let n=String.fromCharCode.apply(null,new Uint16Array(i.buffer));if(!n.includes("PlayReadyKeyMessage"))return t.setRequestHeader("Content-Type","text/xml; charset=utf-8"),i;let r=new DOMParser().parseFromString(n,"application/xml"),o=r.querySelectorAll("HttpHeader");if(o.length>0){let c;for(let h=0,f=o.length;h<f;h++){var a,l;c=o[h];let p=(a=c.querySelector("name"))==null?void 0:a.textContent,g=(l=c.querySelector("value"))==null?void 0:l.textContent;p&&g&&t.setRequestHeader(p,g);}}let d=r.querySelector("Challenge"),u=d==null?void 0:d.textContent;if(!u)throw new Error("Cannot find <Challenge> in key message");return Nh(atob(u));}setupLicenseXHR(t,i,n,r){let o=this.config.licenseXhrSetup;return o?Promise.resolve().then(()=>{if(!n.decryptdata)throw new Error("Key removed");return o.call(this.hls,t,i,n,r);}).catch(a=>{if(!n.decryptdata)throw a;return t.open("POST",i,!0),o.call(this.hls,t,i,n,r);}).then(a=>(t.readyState||t.open("POST",i,!0),{xhr:t,licenseChallenge:a||r})):(t.open("POST",i,!0),Promise.resolve({xhr:t,licenseChallenge:r}));}requestLicense(t,i){let n=this.config.keyLoadPolicy.default;return new Promise((r,o)=>{let a=this.getLicenseServerUrl(t.keySystem);this.log(`Sending license request to URL: ${a}`);let l=new XMLHttpRequest();l.responseType="arraybuffer",l.onreadystatechange=()=>{if(!this.hls||!t.mediaKeysSession)return o(new Error("invalid state"));if(l.readyState===4)if(l.status===200){this._requestLicenseFailureCount=0;let d=l.response;this.log(`License received ${d instanceof ArrayBuffer?d.byteLength:d}`);let u=this.config.licenseResponseCallback;if(u)try{d=u.call(this.hls,l,a,t);}catch(c){this.error(c);}r(d);}else{let d=n.errorRetry,u=d?d.maxNumRetry:0;if(this._requestLicenseFailureCount++,this._requestLicenseFailureCount>u||l.status>=400&&l.status<500)o(new Ci({type:Be.KEY_SYSTEM_ERROR,details:te.KEY_SYSTEM_LICENSE_REQUEST_FAILED,fatal:!0,networkDetails:l,response:{url:a,data:void 0,code:l.status,text:l.statusText}},`License Request XHR failed (${a}). Status: ${l.status} (${l.statusText})`));else{let c=u-this._requestLicenseFailureCount+1;this.warn(`Retrying license request, ${c} attempts left`),this.requestLicense(t,i).then(r,o);}}},t.licenseXhr&&t.licenseXhr.readyState!==XMLHttpRequest.DONE&&t.licenseXhr.abort(),t.licenseXhr=l,this.setupLicenseXHR(l,a,t,i).then(({xhr:d,licenseChallenge:u})=>{t.keySystem==kt.PLAYREADY&&(u=this.unpackPlayReadyKeyMessage(d,u)),d.send(u);});});}onMediaAttached(t,i){if(!this.config.emeEnabled)return;let n=i.media;this.media=n,n.addEventListener("encrypted",this.onMediaEncrypted),n.addEventListener("waitingforkey",this.onWaitingForKey);}onMediaDetached(){let t=this.media,i=this.mediaKeySessions;t&&(t.removeEventListener("encrypted",this.onMediaEncrypted),t.removeEventListener("waitingforkey",this.onWaitingForKey),this.media=null),this._requestLicenseFailureCount=0,this.setMediaKeysQueue=[],this.mediaKeySessions=[],this.keyIdToKeySessionPromise={},qo.clearKeyUriToKeyIdMap();let n=i.length;s.CDMCleanupPromise=Promise.all(i.map(r=>this.removeSession(r)).concat(t==null?void 0:t.setMediaKeys(null).cat
106ch(r=>{this.log(`Could not clear media keys: ${r}`);}))).then(()=>{n&&(this.log("finished closing key sessions and clearing media keys"),i.length=0);}).catch(r=>{this.log(`Could not close sessions and clear media keys: ${r}`);});}onManifestLoading(){this.keyFormatPromise=null;}onManifestLoaded(t,{sessionKeys:i}){if(!(!i||!this.config.emeEnabled)&&!this.keyFormatPromise){let n=i.reduce((r,o)=>(r.indexOf(o.keyFormat)===-1&&r.push(o.keyFormat),r),[]);this.log(`Selecting key-system from session-keys ${n.join(", ")}`),this.keyFormatPromise=this.getKeyFormatPromise(n);}}removeSession(t){let{mediaKeysSession:i,licenseXhr:n}=t;if(i){this.log(`Remove licenses and keys and close session ${i.sessionId}`),t._onmessage&&(i.removeEventListener("message",t._onmessage),t._onmessage=void 0),t._onkeystatuseschange&&(i.removeEventListener("keystatuseschange",t._onkeystatuseschange),t._onkeystatuseschange=void 0),n&&n.readyState!==XMLHttpRequest.DONE&&n.abort(),t.mediaKeysSession=t.decryptdata=t.licenseXhr=void 0;let r=this.mediaKeySessions.indexOf(t);return r>-1&&this.mediaKeySessions.splice(r,1),i.remove().catch(o=>{this.log(`Could not remove session: ${o}`);}).then(()=>i.close()).catch(o=>{this.log(`Could not close session: ${o}`);});}}}return s.CDMCleanupPromise=void 0,s;})(),Ci=class extends Error{constructor(e,t){super(t),this.data=void 0,e.error||(e.error=new Error(t)),this.data=e,e.err=e.error;}},yi=function(s){return s.MANIFEST="m",s.AUDIO="a",s.VIDEO="v",s.MUXED="av",s.INIT="i",s.CAPTION="c",s.TIMED_TEXT="tt",s.KEY="k",s.OTHER="o",s;}(yi||{}),Wb=function(s){return s.DASH="d",s.HLS="h",s.SMOOTH="s",s.OTHER="o",s;}(Wb||{}),xs=function(s){return s.OBJECT="CMCD-Object",s.REQUEST="CMCD-Request",s.SESSION="CMCD-Session",s.STATUS="CMCD-Status",s;}(xs||{}),rP={[xs.OBJECT]:["br","d","ot","tb"],[xs.REQUEST]:["bl","dl","mtp","nor","nrr","su"],[xs.SESSION]:["cid","pr","sf","sid","st","v"],[xs.STATUS]:["bs","rtp"]},ea=class s{constructor(e,t){this.value=void 0,this.params=void 0,Array.isArray(e)&&(e=e.map(i=>i instanceof s?i:new s(i))),this.value=e,this.params=t;}},Od=class{constructor(e){this.description=void 0,this.description=e;}},sP="Dict";function oP(s){return Array.isArray(s)?JSON.stringify(s):s instanceof Map?"Map{}":s instanceof Set?"Set{}":typeof s=="object"?JSON.stringify(s):String(s);}function aP(s,e,t,i){return new Error(`failed to ${s} "${oP(e)}" as ${t}`,{cause:i});}var zy="Bare Item",lP="Boolean",dP="Byte Sequence",uP="Decimal",cP="Integer";function hP(s){return s<-999999999999999||999999999999999<s;}var fP=/[\x00-\x1f\x7f]+/,pP="Token",mP="Key";function ln(s,e,t){return aP("serialize",s,e,t);}function gP(s){if(typeof s!="boolean")throw ln(s,lP);return s?"?1":"?0";}function vP(s){return btoa(String.fromCharCode(...s));}function _P(s){if(ArrayBuffer.isView(s)===!1)throw ln(s,dP);return`:${vP(s)}:`;}function zb(s){if(hP(s))throw ln(s,cP);return s.toString();}function yP(s){return`@${zb(s.getTime()/1e3)}`;}function qb(s,e){if(s<0)return-qb(-s,e);let t=Math.pow(10,e);if(Math.abs(s*t%1-.5)<Number.EPSILON){let n=Math.floor(s*t);return(n%2===0?n:n+1)/t;}else return Math.round(s*t)/t;}function bP(s){let e=qb(s,3);if(Math.floor(Math.abs(e)).toString().length>12)throw ln(s,uP);let t=e.toString();return t.includes(".")?t:`${t}.0`;}var TP="String";function EP(s){if(fP.test(s))throw ln(s,TP);return`"${s.replace(/\\/g,"\\\\").replace(/"/g,'\\"')}"`;}function SP(s){return s.description||s.toString().slice(7,-1);}function qy(s){let e=SP(s);if(/^([a-zA-Z*])([!#$%&'*+\-.^_`|~\w:/]*)$/.test(e)===!1)throw ln(e,pP);return e;}function Of(s){switch(typeof s){case"number":if(!Re(s))throw ln(s,zy);return Number.isInteger(s)?zb(s):bP(s);case"string":return EP(s);case"symbol":return qy(s);case"boolean":return gP(s);case"object":if(s instanceof Date)return yP(s);if(s instanceof Uint8Array)return _P(s);if(s instanceof Od)return qy(s);default:throw ln(s,zy);}}function Lf(s){if(/^[a-z*][a-z0-9\-_.*]*$/.test(s)===!1)throw ln(s,mP);return s;}function Zf(s){return s==null?"":Object.entries(s).map(([e,t])=>t===!0?`;${Lf(e)}`:`;${Lf(e)}=${Of(t)}`).join("");}function Kb(s){return s instanceof ea?`${Of(s.value)}${Zf(s.params)}`:Of(s);}function CP(s){return`(${s.value.map(Kb).join(" ")})${Zf(s.params)}`;}function wP(s,e={whitespace:!0}){if(typeof s!="object")throw ln(s,sP);let t=s instanceof Map?s.entries():Object.entries(s),i=e!=null&&e.whitespace?" ":"";return Array.from(t).map(([n,r])=>{r instanceof ea||(r=new ea(r));let o=Lf(n);return r.value===!0?o+=Zf(r.params):(o+="=",Array.isArray(r.value)?o+=CP(r):o+=Kb(r)),o;}).join(`,${i}`);}function xP(s,e){return wP(s,e);}var AP=s=>s==="ot"||s==="sf"||s==="st",IP=s=>typeof s=="number"?Re(s):s!=null&&s!==""&&s!==!1;function RP(s,e){let t=new URL(s),i=new URL(e);if(t.origin!==i.origin)return s;let n=t.pathname.split("/").slice(1),r=i.pathname.split("/").slice(1,-1);for(;n[0]===r[0];)n.shift(),r.shift();for(;r.length;)r.shift(),n.unshift("..");return n.join("/");}function PP(){try{return crypto.randomUUID();}catch{try{let e=URL.createObjectURL(new Blob()),t=e.toString();return URL.revokeObjectURL(e),t.slice(t.lastIndexOf("/")+1);}catch{let t=new Date().getTime();return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,n=>{let r=(t+Math.random()*16)%16|0;return t=Math.floor(t/16),(n=="x"?r:r&3|8).toString(16);});}}}var ad=s=>Math.round(s),kP=(s,e)=>(e!=null&&e.baseUrl&&(s=RP(s,e.baseUrl)),encodeURIComponent(s)),td=s=>ad(s/100)*100,OP={br:ad,d:ad,bl:td,dl:td,mtp:td,nor:kP,rtp:td,tb:ad};function LP(s,e){let t={};if(s==null||typeof s!="object")return t;let i=Object.keys(s).sort(),n=Kt({},OP,e==null?void 0:e.formatters),r=e==null?void 0:e.filter;
106return i.forEach(o=>{if(r!=null&&r(o))return;let a=s[o],l=n[o];l&&(a=l(a,e)),!(o==="v"&&a===1)&&(o=="pr"&&a===1||IP(a)&&(AP(o)&&typeof a=="string"&&(a=new Od(a)),t[o]=a));}),t;}function Yb(s,e={}){return s?xP(LP(s,e),Kt({whitespace:!1},e)):"";}function MP(s,e={}){if(!s)return{};let t=Object.entries(s),i=Object.entries(rP).concat(Object.entries((e==null?void 0:e.customHeaderMap)||{})),n=t.reduce((r,o)=>{var a,l;let[d,u]=o,c=((a=i.find(h=>h[1].includes(d)))==null?void 0:a[0])||xs.REQUEST;return(l=r[c])!=null||(r[c]={}),r[c][d]=u,r;},{});return Object.entries(n).reduce((r,[o,a])=>(r[o]=Yb(a,e),r),{});}function DP(s,e,t){return Kt(s,MP(e,t));}var NP="CMCD";function jP(s,e={}){if(!s)return"";let t=Yb(s,e);return`${NP}=${encodeURIComponent(t)}`;}var Ky=/CMCD=[^&#]+/;function FP(s,e,t){let i=jP(e,t);if(!i)return s;if(Ky.test(s))return s.replace(Ky,i);let n=s.includes("?")?"&":"?";return`${s}${n}${i}`;}var Mf=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=n=>{try{this.apply(n,{ot:yi.MANIFEST,su:!this.initialized});}catch(r){X.warn("Could not generate manifest CMCD data.",r);}},this.applyFragmentData=n=>{try{let r=n.frag,o=this.hls.levels[r.level],a=this.getObjectType(r),l={d:r.duration*1e3,ot:a};(a===yi.VIDEO||a===yi.AUDIO||a==yi.MUXED)&&(l.br=o.bitrate/1e3,l.tb=this.getTopBandwidth(a)/1e3,l.bl=this.getBufferLength(a)),this.apply(n,l);}catch(r){X.warn("Could not generate segment CMCD data.",r);}},this.hls=e;let t=this.config=e.config,{cmcd:i}=t;i!=null&&(t.pLoader=this.createPlaylistLoader(),t.fLoader=this.createFragmentLoader(),this.sid=i.sessionId||PP(),this.cid=i.contentId,this.useHeaders=i.useHeaders===!0,this.includeKeys=i.includeKeys,this.registerListeners());}registerListeners(){let e=this.hls;e.on(w.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(w.MEDIA_DETACHED,this.onMediaDetached,this),e.on(w.BUFFER_CREATED,this.onBufferCreated,this);}unregisterListeners(){let e=this.hls;e.off(w.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(w.MEDIA_DETACHED,this.onMediaDetached,this),e.off(w.BUFFER_CREATED,this.onBufferCreated,this);}destroy(){this.unregisterListeners(),this.onMediaDetached(),this.hls=this.config=this.audioBuffer=this.videoBuffer=null,this.onWaiting=this.onPlaying=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,n;this.audioBuffer=(i=t.tracks.audio)==null?void 0:i.buffer,this.videoBuffer=(n=t.tracks.video)==null?void 0:n.buffer;}createData(){var e;return{v:1,sf:Wb.HLS,sid:this.sid,cid:this.cid,pr:(e=this.media)==null?void 0:e.playbackRate,mtp:this.hls.bandwidthEstimate/1e3};}apply(e,t={}){Kt(t,this.createData());let i=t.ot===yi.INIT||t.ot===yi.VIDEO||t.ot===yi.MUXED;this.starved&&i&&(t.bs=!0,t.su=!0,this.starved=!1),t.su==null&&(t.su=this.buffering);let{includeKeys:n}=this;n&&(t=Object.keys(t).reduce((r,o)=>(n.includes(o)&&(r[o]=t[o]),r),{})),this.useHeaders?(e.headers||(e.headers={}),DP(e.headers,t)):e.url=FP(e.url,t);}getObjectType(e){let{type:t}=e;if(t==="subtitle")return yi.TIMED_TEXT;if(e.sn==="initSegment")return yi.INIT;if(t==="audio")return yi.AUDIO;if(t==="main")return this.hls.audioTracks.length?yi.VIDEO:yi.MUXED;}getTopBandwidth(e){let t=0,i,n=this.hls;if(e===yi.AUDIO)i=n.audioTracks;else{let r=n.maxAutoLevel,o=r>-1?r+1:n.levels.length;i=n.levels.slice(0,o);}for(let r of i)r.bitrate>t&&(t=r.bitrate);return t>0?t:NaN;}getBufferLength(e){let t=this.hls.media,i=e===yi.AUDIO?this.audioBuffer:this.videoBuffer;return!i||!t?NaN:At.bufferInfo(i,t.currentTime,this.config.maxBufferHole).len*1e3;}createPlaylistLoader(){let{pLoader:e}=this.config,t=this.applyPlaylistData,i=e||this.config.loader;return class{constructor(r){this.loader=void 0,this.loader=new i(r);}get stats(){return this.loader.stats;}get context(){return this.loader.context;}destroy(){this.loader.destroy();}abort(){this.loader.abort();}load(r,o,a){t(r),this.loader.load(r,o,a);}};}createFragmentLoader(){let{fLoader:e}=this.config,t=this.applyFragmentData,i=e||this.config.loader;return class{constructor(r){this.loader=void 0,this.loader=new i(r);}get stats(){return this.loader.stats;}get context(){return this.loader.context;}destroy(){this.loader.destroy();}abort(){this.loader.abort();}load(r,o,a){t(r),this.loader.load(r,o,a);}};}},VP=3e5,Df=class{constructor(e){this.hls=void 0,this.log=void 0,this.loader=null,this.uri=null,this.pathwayId=".",this.pathwayPriority=null,this.timeToLoad=300,this.reloadTimer=-1,this.updated=0,this.started=!1,this.enabled=!0,this.levels=null,this.audioTracks=null,this.subtitleTracks=null,this.penalizedPathways={},this.hls=e,this.log=X.log.bind(X,"[content-steering]:"),this.registerListeners();}registerListeners(){let e=this.hls;e.on(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(w.MANIFEST_PARSED,this.onManifestParsed,this),e.on(w.ERROR,this.onError,this);}unregisterListeners(){let e=this.hls;e&&(e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(w.MANIFEST_PARSED,this.onManifestParsed,this),e.off(w.ERROR,this.onError,this));}
106startLoad(){if(this.started=!0,this.clearTimeout(),this.enabled&&this.uri){if(this.updated){let e=this.timeToLoad*1e3-(performance.now()-this.updated);if(e>0){this.scheduleRefresh(this.uri,e);return;}}this.loadSteeringManifest(this.uri);}}stopLoad(){this.started=!1,this.loader&&(this.loader.destroy(),this.loader=null),this.clearTimeout();}clearTimeout(){this.reloadTimer!==-1&&(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(i=>i!==e));}onManifestLoading(){this.stopLoad(),this.enabled=!0,this.timeToLoad=300,this.updated=0,this.uri=null,this.pathwayId=".",this.levels=this.audioTracks=this.subtitleTracks=null;}onManifestLoaded(e,t){let{contentSteering:i}=t;i!==null&&(this.pathwayId=i.pathwayId,this.uri=i.uri,this.started&&this.startLoad());}onManifestParsed(e,t){this.audioTracks=t.audioTracks,this.subtitleTracks=t.subtitleTracks;}onError(e,t){let{errorAction:i}=t;if((i==null?void 0:i.action)===ii.SendAlternateToPenaltyBox&&i.flags===Ui.MoveAllAlternatesMatchingHost){let n=this.levels,r=this.pathwayPriority,o=this.pathwayId;if(t.context){let{groupId:a,pathwayId:l,type:d}=t.context;a&&n?o=this.getPathwayForGroupId(a,d,o):l&&(o=l);}o in this.penalizedPathways||(this.penalizedPathways[o]=performance.now()),!r&&n&&(r=n.reduce((a,l)=>(a.indexOf(l.pathwayId)===-1&&a.push(l.pathwayId),a),[])),r&&r.length>1&&(this.updatePathwayPriority(r),i.resolved=this.pathwayId!==o),i.resolved||X.warn(`Could not resolve ${t.details} ("${t.error.message}") with content-steering for Pathway: ${o} levels: ${n&&n.length} priorities: ${JSON.stringify(r)} penalized: ${JSON.stringify(this.penalizedPathways)}`);}}filterParsedLevels(e){this.levels=e;let t=this.getLevelsForPathway(this.pathwayId);if(t.length===0){let i=e[0].pathwayId;this.log(`No levels found in Pathway ${this.pathwayId}. Setting initial Pathway to "${i}"`),t=this.getLevelsForPathway(i),this.pathwayId=i;}return t.length!==e.length?(this.log(`Found ${t.length}/${e.length} levels in Pathway "${this.pathwayId}"`),t):e;}getLevelsForPathway(e){return this.levels===null?[]:this.levels.filter(t=>e===t.pathwayId);}updatePathwayPriority(e){this.pathwayPriority=e;let t,i=this.penalizedPathways,n=performance.now();
106Object.keys(i).forEach(r=>{n-i[r]>VP&&delete i[r];});for(let r=0;r<e.length;r++){let o=e[r];if(o in i)continue;if(o===this.pathwayId)return;let a=this.hls.nextLoadLevel,l=this.hls.levels[a];if(t=this.getLevelsForPathway(o),t.length>0){this.log(`Setting Pathway to "${o}"`),this.pathwayId=o,vb(t),this.hls.trigger(w.LEVELS_UPDATED,{levels:t});let d=this.hls.levels[a];l&&d&&this.levels&&(d.attrs["STABLE-VARIANT-ID"]!==l.attrs["STABLE-VARIANT-ID"]&&d.bitrate!==l.bitrate&&this.log(`Unstable Pathways change from bitrate ${l.bitrate} to ${d.bitrate}`),this.hls.nextLoadLevel=a);break;}}}getPathwayForGroupId(e,t,i){let n=this.getLevelsForPathway(i).concat(this.levels||[]);for(let r=0;r<n.length;r++)if(t===st.AUDIO_TRACK&&n[r].hasAudioGroup(e)||t===st.SUBTITLE_TRACK&&n[r].hasSubtitleGroup(e))return n[r].pathwayId;return i;}clonePathways(e){let t=this.levels;if(!t)return;let i={},n={};e.forEach(r=>{let{ID:o,"BASE-ID":a,"URI-REPLACEMENT":l}=r;if(t.some(u=>u.pathwayId===o))return;let d=this.getLevelsForPathway(a).map(u=>{let c=new Dt(u.attrs);c["PATHWAY-ID"]=o;let h=c.AUDIO&&`${c.AUDIO}_clone_${o}`,f=c.SUBTITLES&&`${c.SUBTITLES}_clone_${o}`;h&&(i[c.AUDIO]=h,c.AUDIO=h),f&&(n[c.SUBTITLES]=f,c.SUBTITLES=f);let p=Xb(u.uri,c["STABLE-VARIANT-ID"],"PER-VARIANT-URIS",l),g=new Jn({attrs:c,audioCodec:u.audioCodec,bitrate:u.bitrate,height:u.height,name:u.name,url:p,videoCodec:u.videoCodec,width:u.width});if(u.audioGroups)for(let m=1;m<u.audioGroups.length;m++)g.addGroupId("audio",`${u.audioGroups[m]}_clone_${o}`);if(u.subtitleGroups)for(let m=1;m<u.subtitleGroups.length;m++)g.addGroupId("text",`${u.subtitleGroups[m]}_clone_${o}`);return g;});t.push(...d),Yy(this.audioTracks,i,l,o),Yy(this.subtitleTracks,n,l,o);});}loadSteeringManifest(e){let t=this.hls.config,i=t.loader;this.loader&&this.loader.destroy(),this.loader=new i(t);let n;try{n=new self.URL(e);}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest URI: ${e}`);return;}if(n.protocol!=="data:"){let u=(this.hls.bandwidthEstimate||t.abrEwmaDefaultEstimate)|0;n.searchParams.set("_HLS_pathway",this.pathwayId),n.searchParams.set("_HLS_throughput",""+u);}let r={responseType:"json",url:n.href},o=t.steeringManifestLoadPolicy.default,a=o.errorRetry||o.timeoutRetry||{},l={loadPolicy:o,timeout:o.maxLoadTimeMs,maxRetry:a.maxNumRetry||0,retryDelay:a.retryDelayMs||0,maxRetryDelay:a.maxRetryDelayMs||0},d={onSuccess:(u,c,h,f)=>{this.log(`Loaded steering manifest: "${n}"`);let p=u.data;if(p.VERSION!==1){this.log(`Steering VERSION ${p.VERSION} not supported!`);return;}this.updated=performance.now(),this.timeToLoad=p.TTL;let{"RELOAD-URI":g,"PATHWAY-CLONES":m,"PATHWAY-PRIORITY":b}=p;if(g)try{this.uri=new self.URL(g,n).href;}catch{this.enabled=!1,this.log(`Failed to parse Steering Manifest RELOAD-URI: ${g}`);return;}this.scheduleRefresh(this.uri||h.url),m&&this.clonePathways(m);let T={steeringManifest:p,url:n.toString()};this.hls.trigger(w.STEERING_MANIFEST_LOADED,T),b&&this.updatePathwayPriority(b);},onError:(u,c,h,f)=>{if(this.log(`Error loading steering manifest: ${u.code} ${u.text} (${c.url})`),this.stopLoad(),u.code===410){this.enabled=!1,this.log(`Steering manifest ${c.url} no longer available`);return;}let p=this.timeToLoad*1e3;if(u.code===429){let g=this.loader;if(typeof(g==null?void 0:g.getResponseHeader)=="function"){let m=g.getResponseHeader("Retry-After");m&&(p=parseFloat(m)*1e3);}this.log(`Steering manifest ${c.url} rate limited`);return;}this.scheduleRefresh(this.uri||c.url,p);},onTimeout:(u,c,h)=>{this.log(`Timeout loading steering manifest (${c.url})`),this.scheduleRefresh(this.uri||c.url);}};this.log(`Requesting steering manifest: ${n}`),this.loader.load(r,l,d);}scheduleRefresh(e,t=this.timeToLoad*1e3){this.clearTimeout(),this.reloadTimer=self.setTimeout(()=>{var i;let n=(i=this.hls)==null?void 0:i.media;if(n&&!n.ended){this.loadSteeringManifest(e);return;}this.scheduleRefresh(e,this.timeToLoad*1e3);},t);}};function Yy(s,e,t,i){s&&Object.keys(e).forEach(n=>{let r=s.filter(o=>o.groupId===n).map(o=>{let a=Kt({},o);return a.details=void 0,a.attrs=new Dt(a.attrs),a.url=a.attrs.URI=Xb(o.url,o.attrs["STABLE-RENDITION-ID"],"PER-RENDITION-URIS",t),a.groupId=a.attrs["GROUP-ID"]=e[n],a.attrs["PATHWAY-ID"]=i,a;});s.push(...r);});}function Xb(s,e,t,i){let{HOST:n,PARAMS:r,[t]:o}=i,a;e&&(a=o==null?void 0:o[e],a&&(s=a));let l=new self.URL(s);
106return n&&!a&&(l.host=n),r&&Object.keys(r).sort().forEach(d=>{d&&l.searchParams.set(d,r[d]);}),l.href;}var BP=/^age:\s*[\d.]+\s*$/im,Ld=class{constructor(e){this.xhrSetup=void 0,this.requestTimeout=void 0,this.retryTimeout=void 0,this.retryDelay=void 0,this.config=null,this.callbacks=null,this.context=null,this.loader=null,this.stats=void 0,this.xhrSetup=e&&e.xhrSetup||null,this.stats=new Rs(),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,e.readyState!==4&&(this.stats.aborted=!0,e.abort()));}abort(){var e;this.abortInternal(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.loader);}load(e,t,i){if(this.stats.loading.start)throw new Error("Loader can only be used once.");this.stats.loading.start=self.performance.now(),this.context=e,this.config=t,this.callbacks=i,this.loadInternal();}loadInternal(){let{config:e,context:t}=this;if(!e||!t)return;let i=this.loader=new self.XMLHttpRequest(),n=this.stats;n.loading.first=0,n.loaded=0,n.aborted=!1;let r=this.xhrSetup;r?Promise.resolve().then(()=>{if(!(this.loader!==i||this.stats.aborted))return r(i,t.url);}).catch(o=>{if(!(this.loader!==i||this.stats.aborted))return i.open("GET",t.url,!0),r(i,t.url);}).then(()=>{this.loader!==i||this.stats.aborted||this.openAndSendXhr(i,t,e);}).catch(o=>{this.callbacks.onError({code:i.status,text:o.message},t,i,n);}):this.openAndSendXhr(i,t,e);}openAndSendXhr(e,t,i){e.readyState||e.open("GET",t.url,!0);let n=t.headers,{maxTimeToFirstByteMs:r,maxLoadTimeMs:o}=i.loadPolicy;if(n)for(let a in n)e.setRequestHeader(a,n[a]);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=r&&Re(r)?r:o,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 n=t.readyState,r=this.config;if(!i.aborted&&n>=2&&(i.loading.first===0&&(i.loading.first=Math.max(self.performance.now(),i.loading.start),r.timeout!==r.loadPolicy.maxLoadTimeMs&&(self.clearTimeout(this.requestTimeout),r.timeout=r.loadPolicy.maxLoadTimeMs,this.requestTimeout=self.setTimeout(this.loadtimeout.bind(this),r.loadPolicy.maxLoadTimeMs-(i.loading.first-i.loading.start)))),n===4)){self.clearTimeout(this.requestTimeout),t.onreadystatechange=null,t.onprogress=null;let o=t.status,a=t.responseType!=="text";if(o>=200&&o<300&&(a&&t.response||t.responseText!==null)){i.loading.end=Math.max(self.performance.now(),i.loading.first);let l=a?t.response:t.responseText,d=t.responseType==="arraybuffer"?l.byteLength:l.length;if(i.loaded=i.total=d,i.bwEstimate=i.total*8e3/(i.loading.end-i.loading.first),!this.callbacks)return;let u=this.callbacks.onProgress;if(u&&u(i,e,l,t),!this.callbacks)return;let c={url:t.responseURL,data:l,code:o};this.callbacks.onSuccess(c,i,e,t);}else{let l=r.loadPolicy.errorRetry,d=i.retry,u={url:e.url,data:void 0,code:o};_d(l,d,!1,u)?this.retry(l):(X.error(`${o} while loading ${e.url}`),this.callbacks.onError({code:o,text:t.statusText},e,t,i));}}}loadtimeout(){if(!this.config)return;let e=this.config.loadPolicy.timeoutRetry,t=this.stats.retry;if(_d(e,t,!0))this.retry(e);else{var i;X.warn(`timeout while loading ${(i=this.context)==null?void 0:i.url}`);let n=this.callbacks;n&&(this.abortInternal(),n.onTimeout(this.stats,this.context,this.loader));}}retry(e){let{context:t,stats:i}=this;this.retryDelay=zf(e,i.retry),i.retry++,X.warn(`${status?"HTTP Status "+status:"Timeout"} while loading ${t==null?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&&BP.test(this.loader.getAllResponseHeaders())){let t=this.loader.getResponseHeader("age");e=t?parseFloat(t):null;}return e;}getResponseHeader(e){return this.loader&&new RegExp(`^${e}:\\s*[\\d.]+\\s*$`,"im").test(this.loader.getAllResponseHeaders())?this.loader.getResponseHeader(e):null;}};function UP(){if(self.fetch&&self.AbortController&&self.ReadableStream&&self.Request)try{return new self.ReadableStream({}),!0;}catch{}return!1;}var HP=/(\d+)-(\d+)\/(\d+)/,Md=class{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||zP,this.controller=new self.AbortController(),this.stats=new Rs();}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(),(e=this.callbacks)!=null&&e.onAbort&&this.callbacks.onAbort(this.stats,this.context,this.response);}load(e,t,i){let n=this.stats;if(n.loading.start)throw new Error("Loader can only be used once.");
106n.loading.start=self.performance.now();let r=$P(e,this.controller.signal),o=i.onProgress,a=e.responseType==="arraybuffer",l=a?"byteLength":"length",{maxTimeToFirstByteMs:d,maxLoadTimeMs:u}=t.loadPolicy;this.context=e,this.config=t,this.callbacks=i,this.request=this.fetchSetup(e,r),self.clearTimeout(this.requestTimeout),t.timeout=d&&Re(d)?d:u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),i.onTimeout(n,e,this.response);},t.timeout),self.fetch(this.request).then(c=>{this.response=this.loader=c;let h=Math.max(self.performance.now(),n.loading.start);if(self.clearTimeout(this.requestTimeout),t.timeout=u,this.requestTimeout=self.setTimeout(()=>{this.abortInternal(),i.onTimeout(n,e,this.response);},u-(h-n.loading.start)),!c.ok){let{status:f,statusText:p}=c;throw new Nf(p||"fetch, bad network response",f,c);}return n.loading.first=h,n.total=WP(c.headers)||n.total,o&&Re(t.highWaterMark)?this.loadProgressively(c,n,e,t.highWaterMark,o):a?c.arrayBuffer():e.responseType==="json"?c.json():c.text();}).then(c=>{let h=this.response;if(!h)throw new Error("loader destroyed");self.clearTimeout(this.requestTimeout),n.loading.end=Math.max(self.performance.now(),n.loading.first);let f=c[l];f&&(n.loaded=n.total=f);let p={url:h.url,data:c,code:h.status};o&&!Re(t.highWaterMark)&&o(n,e,c,h),i.onSuccess(p,n,e,h);}).catch(c=>{if(self.clearTimeout(this.requestTimeout),n.aborted)return;let h=c&&c.code||0,f=c?c.message:null;i.onError({code:h,text:f},e,c?c.details:null,n);});}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,n=0,r){let o=new Td(),a=e.body.getReader(),l=()=>a.read().then(d=>{if(d.done)return o.dataLength&&r(t,i,o.flush(),e),Promise.resolve(new ArrayBuffer(0));let u=d.value,c=u.length;return t.loaded+=c,c<n||o.dataLength?(o.push(u),o.dataLength>=n&&r(t,i,o.flush(),e)):r(t,i,u,e),l();}).catch(()=>Promise.reject());return l();}};function $P(s,e){let t={method:"GET",mode:"cors",credentials:"same-origin",signal:e,headers:new self.Headers(Kt({},s.headers))};return s.rangeEnd&&t.headers.set("Range","bytes="+s.rangeStart+"-"+String(s.rangeEnd-1)),t;}function GP(s){let e=HP.exec(s);if(e)return parseInt(e[2])-parseInt(e[1])+1;}function WP(s){let e=s.get("Content-Range");if(e){let i=GP(e);if(Re(i))return i;}let t=s.get("Content-Length");if(t)return parseInt(t);}function zP(s,e){return new self.Request(s.url,e);}var Nf=class extends Error{constructor(e,t,i){super(e),this.code=void 0,this.details=void 0,this.code=t,this.details=i;}},qP=/\s/,KP={newCue(s,e,t,i){let n=[],r,o,a,l,d,u=self.VTTCue||self.TextTrackCue;for(let h=0;h<i.rows.length;h++)if(r=i.rows[h],a=!0,l=0,d="",!r.isEmpty()){var c;for(let g=0;g<r.chars.length;g++)qP.test(r.chars[g].uchar)&&a?l++:(d+=r.chars[g].uchar,a=!1);r.cueStartTime=e,e===t&&(t+=1e-4),l>=16?l--:l++;let f=Bb(d.trim()),p=Jf(e,t,f);s!=null&&(c=s.cues)!=null&&c.getCueById(p)||(o=new u(e,t,f),o.id=p,o.line=h+1,o.align="left",o.position=10+Math.min(80,Math.floor(l*8/32)*10),n.push(o));}return s&&n.length&&(n.sort((h,f)=>h.line==="auto"||f.line==="auto"?0:h.line>8&&f.line>8?f.line-h.line:h.line-f.line),n.forEach(h=>fb(s,h))),n;}},YP={maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:null,errorRetry:null},Qb=ri(ri({autoStartLoad:!0,startPosition:-1,defaultAudioCodec:void 0,debug:!1,capLevelOnFPSDrop:!1,capLevelToPlayerSize:!1,ignoreDevicePixelRatio:!1,preferManagedMediaSource:!0,initialLiveManifestSize:1,maxBufferLength:30,backBufferLength:1/0,frontBufferFlushThreshold:1/0,maxBufferSize:60*1e3*1e3,maxBufferHole:.1,highBufferWatchdogPeriod:2,nudgeOffset:.1,nudgeMaxRetry:3,maxFragLookUpTolerance:.25,liveSyncDurationCount:3,liveMaxLatencyDurationCount:1/0,liveSyncDuration:void 0,liveMaxLatencyDuration:void 0,maxLiveSyncPlaybackRate:1,liveDurationInfinity:!1,liveBackBufferLength:null,maxMaxBufferLength:600,enableWorker:!0,workerPath:null,enableSoftwareAES:!0,startLevel:void 0,startFragPrefetch:!1,fpsDroppedMonitoringPeriod:5e3,fpsDroppedMonitoringThreshold:.2,appendErrorMaxRetry:3,loader:Ld,fLoader:void 0,pLoader:void 0,xhrSetup:void 0,licenseXhrSetup:void 0,licenseResponseCallback:void 0,abrController:Kh,bufferController:Tf,capLevelController:Pf,errorController:zh,fpsController:kf,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:Zy,testBandwidth:!0,progressive:!1,lowLatencyMode:!0,cmcd:void 0,enableDateRangeMetadataCues:!0,enableEmsgMetadataCues:!0,enableID3MetadataCues:!0,useMediaCapabilities:!0,cert
106LoadPolicy:{default:YP},keyLoadPolicy:{default:{maxTimeToFirstByteMs:8e3,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"},errorRetry:{maxNumRetry:8,retryDelayMs:1e3,maxRetryDelayMs:2e4,backoff:"linear"}}},manifestLoadPolicy:{default:{maxTimeToFirstByteMs:1/0,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},playlistLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:2,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},fragLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:12e4,timeoutRetry:{maxNumRetry:4,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:6,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},steeringManifestLoadPolicy:{default:{maxTimeToFirstByteMs:1e4,maxLoadTimeMs:2e4,timeoutRetry:{maxNumRetry:2,retryDelayMs:0,maxRetryDelayMs:0},errorRetry:{maxNumRetry:1,retryDelayMs:1e3,maxRetryDelayMs:8e3}}},manifestLoadingTimeOut:1e4,manifestLoadingMaxRetry:1,manifestLoadingRetryDelay:1e3,manifestLoadingMaxRetryTimeout:64e3,levelLoadingTimeOut:1e4,levelLoadingMaxRetry:4,levelLoadingRetryDelay:1e3,levelLoadingMaxRetryTimeout:64e3,fragLoadingTimeOut:2e4,fragLoadingMaxRetry:6,fragLoadingRetryDelay:1e3,fragLoadingMaxRetryTimeout:64e3},XP()),{},{subtitleStreamController:vf,subtitleTrackController:yf,timelineController:Rf,audioStreamController:mf,audioTrackController:gf,emeController:nP,cmcdController:Mf,contentSteeringController:Df});function XP(){return{cueHandler:KP,enableWebVTT:!0,enableIMSC1:!0,enableCEA708Captions:!0,captionsTextTrack1Label:"English",captionsTextTrack1LanguageCode:"en",captionsTextTrack2Label:"Spanish",captionsTextTrack2LanguageCode:"es",captionsTextTrack3Label:"Unknown CC",captionsTextTrack3LanguageCode:"",captionsTextTrack4Label:"Unknown CC",captionsTextTrack4LanguageCode:"",renderTextTracksNatively:!0};}function QP(s,e){if((e.liveSyncDurationCount||e.liveMaxLatencyDurationCount)&&(e.liveSyncDuration||e.liveMaxLatencyDuration))throw new Error("Illegal hls.js config: don't mix up liveSyncDurationCount/liveMaxLatencyDurationCount and liveSyncDuration/liveMaxLatencyDuration");if(e.liveMaxLatencyDurationCount!==void 0&&(e.liveSyncDurationCount===void 0||e.liveMaxLatencyDurationCount<=e.liveSyncDurationCount))throw new Error('Illegal hls.js config: "liveMaxLatencyDurationCount" must be greater than "liveSyncDurationCount"');if(e.liveMaxLatencyDuration!==void 0&&(e.liveSyncDuration===void 0||e.liveMaxLatencyDuration<=e.liveSyncDuration))throw new Error('Illegal hls.js config: "liveMaxLatencyDuration" must be greater than "liveSyncDuration"');let t=jf(s),i=["manifest","level","frag"],n=["TimeOut","MaxRetry","RetryDelay","MaxRetryTimeout"];return i.forEach(r=>{let o=`${r==="level"?"playlist":r}LoadPolicy`,a=e[o]===void 0,l=[];n.forEach(d=>{let u=`${r}Loading${d}`,c=e[u];if(c!==void 0&&a){l.push(u);let h=t[o].default;switch(e[o]={default:h},d){case"TimeOut":h.maxLoadTimeMs=c,h.maxTimeToFirstByteMs=c;break;case"MaxRetry":h.errorRetry.maxNumRetry=c,h.timeoutRetry.maxNumRetry=c;break;case"RetryDelay":h.errorRetry.retryDelayMs=c,h.timeoutRetry.retryDelayMs=c;break;case"MaxRetryTimeout":h.errorRetry.maxRetryDelayMs=c,h.timeoutRetry.maxRetryDelayMs=c;break;}}}),l.length&&X.warn(`hls.js config: "${l.join('", "')}" setting(s) are deprecated, use "${o}": ${JSON.stringify(e[o])}`);}),ri(ri({},t),e);}function jf(s){return s&&typeof s=="object"?Array.isArray(s)?s.map(jf):Object.keys(s).reduce((e,t)=>(e[t]=jf(s[t]),e),{}):s;}function JP(s){let e=s.loader;e!==Md&&e!==Ld?(X.log("[config]: Custom loader detected, cannot enable progressive streaming"),s.progressive=!1):UP()&&(s.loader=Md,s.progressive=!0,s.enableSoftwareAES=!0,X.log("[config]: Progressive streaming enabled, using FetchLoader"));}var Oh,Ff=class extends Yo{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(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.MANIFEST_LOADED,this.onManifestLoaded,this),e.on(w.LEVEL_LOADED,this.onLevelLoaded,this),e.on(w.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(w.FRAG_BUFFERED,this.onFragBuffered,this),e.on(w.ERROR,this.onError,this);}_unregisterListeners(){let{hls:e}=this;e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.MANIFEST_LOADED,this.onManifestLoaded,this),e.off(w.LEVEL_LOADED,this.onLevelLoaded,this),e.off(w.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(w.FRAG_BUFFERED,this.onFragBuffered,this),e.off(w.ERROR,this.onError,this);}destroy(){this._unregisterListeners(),this.steering=null,this.resetLevels(),super.destroy();}
106stopLoad(){this._levels.forEach(t=>{t.loadError=0,t.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,n=[],r={},o={},a=!1,l=!1,d=!1;t.levels.forEach(u=>{var c,h;let f=u.attrs,{audioCodec:p,videoCodec:g}=u;((c=p)==null?void 0:c.indexOf("mp4a.40.34"))!==-1&&(Oh||(Oh=/chrome|firefox/i.test(navigator.userAgent)),Oh&&(u.audioCodec=p=void 0)),p&&(u.audioCodec=p=pd(p,i)),((h=g)==null?void 0:h.indexOf("avc1"))===0&&(g=u.videoCodec=CI(g));let{width:m,height:b,unknownCodecs:T}=u;if(a||(a=!!(m&&b)),l||(l=!!g),d||(d=!!p),T!=null&&T.length||p&&!_h(p,"audio",i)||g&&!_h(g,"video",i))return;let{CODECS:S,"FRAME-RATE":P,"HDCP-LEVEL":R,"PATHWAY-ID":C,RESOLUTION:A,"VIDEO-RANGE":O}=f,j=`${`${C||"."}-`}${u.bitrate}-${A}-${P}-${S}-${O}-${R}`;if(r[j]){if(r[j].uri!==u.url&&!u.attrs["PATHWAY-ID"]){let K=o[j]+=1;u.attrs["PATHWAY-ID"]=new Array(K+1).join(".");let Y=new Jn(u);r[j]=Y,n.push(Y);}else r[j].addGroupId("audio",f.AUDIO),r[j].addGroupId("text",f.SUBTITLES);}else{let K=new Jn(u);r[j]=K,o[j]=1,n.push(K);}}),this.filterAndSortMediaOptions(n,t,a,l,d);}filterAndSortMediaOptions(e,t,i,n,r){let o=[],a=[],l=e;if((i||n)&&r&&(l=l.filter(({videoCodec:p,videoRange:g,width:m,height:b})=>(!!p||!!(m&&b))&&MI(g))),l.length===0){Promise.resolve().then(()=>{if(this.hls){t.levels.length&&this.warn(`One or more CODECS in variant not supported: ${JSON.stringify(t.levels[0].attrs)}`);let p=new Error("no level with compatible codecs found in manifest");this.hls.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.MANIFEST_INCOMPATIBLE_CODECS_ERROR,fatal:!0,url:t.url,error:p,reason:p.message});}});return;}if(t.audioTracks){let{preferManagedMediaSource:p}=this.hls.config;o=t.audioTracks.filter(g=>!g.audioCodec||_h(g.audioCodec,"audio",p)),Xy(o);}t.subtitles&&(a=t.subtitles,Xy(a));let d=l.slice(0);l.sort((p,g)=>{if(p.attrs["HDCP-LEVEL"]!==g.attrs["HDCP-LEVEL"])return(p.attrs["HDCP-LEVEL"]||"")>(g.attrs["HDCP-LEVEL"]||"")?1:-1;if(i&&p.height!==g.height)return p.height-g.height;if(p.frameRate!==g.frameRate)return p.frameRate-g.frameRate;if(p.videoRange!==g.videoRange)return md.indexOf(p.videoRange)-md.indexOf(g.videoRange);if(p.videoCodec!==g.videoCodec){let m=cy(p.videoCodec),b=cy(g.videoCodec);if(m!==b)return b-m;}if(p.uri===g.uri&&p.codecSet!==g.codecSet){let m=fd(p.codecSet),b=fd(g.codecSet);if(m!==b)return b-m;}return p.averageBitrate!==g.averageBitrate?p.averageBitrate-g.averageBitrate:0;});let u=d[0];if(this.steering&&(l=this.steering.filterParsedLevels(l),l.length!==d.length)){for(let p=0;p<d.length;p++)if(d[p].pathwayId===l[0].pathwayId){u=d[p];break;}}this._levels=l;for(let p=0;p<l.length;p++)if(l[p]===u){var c;this._firstLevel=p;let g=u.bitrate,m=this.hls.bandwidthEstimate;if(this.log(`manifest loaded, ${l.length} level(s) found, first bitrate: ${g}`),((c=this.hls.userConfig)==null?void 0:c.abrEwmaDefaultEstimate)===void 0){let b=Math.min(g,this.hls.config.abrEwmaDefaultEstimateMax);b>m&&m===Qb.abrEwmaDefaultEstimate&&(this.hls.bandwidthEstimate=b);}break;}let h=r&&!n,f={levels:l,audioTracks:o,subtitleTracks:a,sessionData:t.sessionData,sessionKeys:t.sessionKeys,firstLevel:this._firstLevel,stats:t.stats,audio:r,video:n,altAudio:!h&&o.some(p=>!!p.url)};this.hls.trigger(w.MANIFEST_PARSED,f),(this.hls.config.autoStartLoad||this.hls.forceStartLoad)&&this.hls.startLoad(this.hls.config.startPosition);}get levels(){return this._levels.length===0?null:this._levels;}get level(){return this.currentLevelIndex;}set level(e){let t=this._levels;if(t.length===0)return;if(e<0||e>=t.length){let u=new Error("invalid level idx"),c=e<0;if(this.hls.trigger(w.ERROR,{type:Be.OTHER_ERROR,details:te.LEVEL_SWITCH_ERROR,level:e,fatal:c,error:u,reason:u.message}),c)return;e=Math.min(e,t.length-1);}let i=this.currentLevelIndex,n=this.currentLevel,r=n?n.attrs["PATHWAY-ID"]:void 0,o=t[e],a=o.attrs["PATHWAY-ID"];if(this.currentLevelIndex=e,this.currentLevel=o,i===e&&o.details&&n&&r===a)return;this.log(`Switching to level ${e} (${o.height?o.height+"p ":""}${o.videoRange?o.videoRange+" ":""}${o.codecSet?o.codecSet+" ":""}@${o.bitrate})${a?" with Pathway "+a:""} from level ${i}${r?" with Pathway "+r:""}`);let l={level:e,attrs:o.attrs,details:o.details,bitrate:o.bitrate,averageBitrate:o.averageBitrate,maxBitrate:o.maxBitrate,realBitrate:o.realBitrate,width:o.width,height:o.height,codecSet:o.codecSet,audioCodec:o.audioCodec,videoCodec:o.videoCodec,audioGroups:o.audioGroups,subtitleGroups:o.subtitleGroups,loaded:o.loaded,loadError:o.loadError,fragmentError:o.fragmentError,name:o.name,id:o.id,uri:o.uri,url:o.url,urlId:0,audioGroupIds:o.audioGroupIds,textGroupIds:o.textGroupIds};this.hls.trigger(w.LEVEL_SWITCHING,l);let d=o.details;if(!d||d.live){let u=this.switchParams(o.uri,n==null?void 0:n.details,d);this.loadPlaylist(u);}}get manualLevel(){return this.manualLevelIndex;}set manualLevel(e){this.manualLevelIndex=e,this._startLevel===void 0&&(this._startLevel=e),e!==-1&&(this.level=e);}get firstLevel(){return this._firstLevel;}set firstLevel(e){this._firstLevel=e;}get startLevel(){if(this._startLevel===void 0){let e=this.hls.config.startLevel;return e!==void 0?e:this.hls.firstAutoLevel;}return this._startLevel;}set startLevel(e){this._startLevel=e;}onError(e,t){t.fatal||!t.context||t.context.type===st.LEVEL&&t.context.level===this.level&&this.checkRetry(t);}onFragBuffered(e,{frag:t}){if(t!==void 0&&t.type===Fe.MAIN){let i=t.elementaryStreams;if(!Object.keys(i).some(r=>!!i[r]))return;let n=this._levels[t.level];n!=null&&n.loadError&&(this.log(`Resetting level error count of ${n.loadError} on frag buffered`),n.loadError=0);}}onLevelLoaded(e,t){var i;let{level:n,details:r}=t,o=this._levels[n];if(!o){var a;this.warn(`Invalid level index ${n}
106`),(a=t.deliveryDirectives)!=null&&a.skip&&(r.deltaUpdateFailed=!0);return;}n===this.currentLevelIndex?(o.fragmentError===0&&(o.loadError=0),this.playlistLoaded(n,t,o.details)):(i=t.deliveryDirectives)!=null&&i.skip&&(r.deltaUpdateFailed=!0);}loadPlaylist(e){super.loadPlaylist();let t=this.currentLevelIndex,i=this.currentLevel;if(i&&this.shouldLoadPlaylist(i)){let n=i.uri;if(e)try{n=e.addDirectives(n);}catch(o){this.warn(`Could not construct new URL with HLS Delivery Directives: ${o}`);}let r=i.attrs["PATHWAY-ID"];this.log(`Loading level index ${t}${(e==null?void 0:e.msn)!==void 0?" at sn "+e.msn+" part "+e.part:""} with${r?" Pathway "+r:""} ${n}`),this.clearTimer(),this.hls.trigger(w.LEVEL_LOADING,{url:n,level:t,pathwayId:i.attrs["PATHWAY-ID"],id:0,deliveryDirectives:e||null});}}get nextLoadLevel(){return this.manualLevelIndex!==-1?this.manualLevelIndex:this.hls.nextAutoLevel;}set nextLoadLevel(e){this.level=e,this.manualLevelIndex===-1&&(this.hls.nextAutoLevel=e);}removeLevel(e){var t;let i=this._levels.filter((n,r)=>r!==e?!0:(this.steering&&this.steering.removeLevel(n),n===this.currentLevel&&(this.currentLevel=null,this.currentLevelIndex=-1,n.details&&n.details.fragments.forEach(o=>o.level=-1)),!1));vb(i),this._levels=i,this.currentLevelIndex>-1&&(t=this.currentLevel)!=null&&t.details&&(this.currentLevelIndex=this.currentLevel.details.fragments[0].level),this.hls.trigger(w.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(w.MAX_AUTO_LEVEL_UPDATED,{autoLevelCapping:e,levels:this.levels,maxAutoLevel:t,minAutoLevel:this.hls.minAutoLevel,maxHdcpLevel:i}));}};function Xy(s){let e={};s.forEach(t=>{let i=t.groupId||"";t.id=e[i]=e[i]||0,e[i]++;});}var Vf=class{constructor(e){this.config=void 0,this.keyUriToKeyInfo={},this.emeController=null,this.config=e;}abort(e){for(let i in this.keyUriToKeyInfo){let n=this.keyUriToKeyInfo[i].loader;if(n){var t;if(e&&e!==((t=n.context)==null?void 0:t.frag.type))return;n.abort();}}}detach(){for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e];(t.mediaKeySessionContext||t.decryptdata.isCommonEncryption)&&delete this.keyUriToKeyInfo[e];}}destroy(){this.detach();for(let e in this.keyUriToKeyInfo){let t=this.keyUriToKeyInfo[e].loader;t&&t.destroy();}this.keyUriToKeyInfo={};}createKeyLoadError(e,t=te.KEY_LOAD_ERROR,i,n,r){return new $i({type:Be.NETWORK_ERROR,details:t,fatal:!1,frag:e,response:r,error:i,networkDetails:n});}loadClear(e,t){if(this.emeController&&this.config.emeEnabled){let{sn:i,cc:n}=e;for(let r=0;r<t.length;r++){let o=t[r];if(n<=o.cc&&(i==="initSegment"||o.sn==="initSegment"||i<o.sn)){this.emeController.selectKeySystemFormat(o).then(a=>{o.setKeyFormat(a);});break;}}}}load(e){return!e.decryptdata&&e.encrypted&&this.emeController?this.emeController.selectKeySystemFormat(e).then(t=>this.loadInternal(e,t)):this.loadInternal(e);}loadInternal(e,t){var i,n;t&&e.setKeyFormat(t);let r=e.decryptdata;if(!r){let d=new Error(t?`Expected frag.decryptdata to be defined after setting format ${t}`:"Missing decryption data on fragment in onKeyLoading");return Promise.reject(this.createKeyLoadError(e,te.KEY_LOAD_ERROR,d));}let o=r.uri;if(!o)return Promise.reject(this.createKeyLoadError(e,te.KEY_LOAD_ERROR,new Error(`Invalid key URI: "${o}"`)));let a=this.keyUriToKeyInfo[o];if((i=a)!=null&&i.decryptdata.key)return r.key=a.decryptdata.key,Promise.resolve({frag:e,keyInfo:a});if((n=a)!=null&&n.keyLoadPromise){var l;switch((l=a.mediaKeySessionContext)==null?void 0:l.keyStatus){case void 0:case"status-pending":case"usable":case"usable-in-future":return a.keyLoadPromise.then(d=>(r.key=d.keyInfo.decryptdata.key,{frag:e,keyInfo:a}));}}switch(a=this.keyUriToKeyInfo[o]={decryptdata:r,keyLoadPromise:null,loader:null,mediaKeySessionContext:null},r.method){case"ISO-23001-7":case"SAMPLE-AES":case"SAMPLE-AES-CENC":case"SAMPLE-AES-CTR":return r.keyFormat==="identity"?this.loadKeyHTTP(a,e):this.loadKeyEME(a,e);case"AES-128":return this.loadKeyHTTP(a,e);default:return Promise.reject(this.createKeyLoadError(e,te.KEY_LOAD_ERROR,new Error(`Key supplied with unsupported METHOD: "${r.method}"`)));}}loadKeyEME(e,t){let i={frag:t,keyInfo:e};if(this.emeController&&this.config.emeEnabled){let n=this.emeController.loadKey(i);
106if(n)return(e.keyLoadPromise=n.then(r=>(e.mediaKeySessionContext=r,i))).catch(r=>{throw e.keyLoadPromise=null,r;});}return Promise.resolve(i);}loadKeyHTTP(e,t){let i=this.config,n=i.loader,r=new n(i);return t.keyLoader=e.loader=r,e.keyLoadPromise=new Promise((o,a)=>{let l={keyInfo:e,frag:t,responseType:"arraybuffer",url:e.decryptdata.uri},d=i.keyLoadPolicy.default,u={loadPolicy:d,timeout:d.maxLoadTimeMs,maxRetry:0,retryDelay:0,maxRetryDelay:0},c={onSuccess:(h,f,p,g)=>{let{frag:m,keyInfo:b,url:T}=p;if(!m.decryptdata||b!==this.keyUriToKeyInfo[T])return a(this.createKeyLoadError(m,te.KEY_LOAD_ERROR,new Error("after key load, decryptdata unset or changed"),g));b.decryptdata.key=m.decryptdata.key=new Uint8Array(h.data),m.keyLoader=null,b.loader=null,o({frag:m,keyInfo:b});},onError:(h,f,p,g)=>{this.resetLoader(f),a(this.createKeyLoadError(t,te.KEY_LOAD_ERROR,new Error(`HTTP Error ${h.code} loading key ${h.text}`),p,ri({url:l.url,data:void 0},h)));},onTimeout:(h,f,p)=>{this.resetLoader(f),a(this.createKeyLoadError(t,te.KEY_LOAD_TIMEOUT,new Error("key loading timed out"),p));},onAbort:(h,f,p)=>{this.resetLoader(f),a(this.createKeyLoadError(t,te.INTERNAL_ABORTED,new Error("key loading aborted"),p));}};r.load(l,u,c);});}resetLoader(e){let{frag:t,keyInfo:i,url:n}=e,r=i.loader;t.keyLoader===r&&(t.keyLoader=null,i.loader=null),delete this.keyUriToKeyInfo[n],r&&r.destroy();}};function Jb(){return self.SourceBuffer||self.WebKitSourceBuffer;}function Zb(){if(!Sr())return!1;let e=Jb();return!e||e.prototype&&typeof e.prototype.appendBuffer=="function"&&typeof e.prototype.remove=="function";}function ZP(){if(!Zb())return!1;let s=Sr();return typeof(s==null?void 0:s.isTypeSupported)=="function"&&(["avc1.42E01E,mp4a.40.2","av01.0.01M.08","vp09.00.50.08"].some(e=>s.isTypeSupported(Ko(e,"video")))||["mp4a.40.2","fLaC"].some(e=>s.isTypeSupported(Ko(e,"audio"))));}function ek(){var s;let e=Jb();return typeof(e==null||(s=e.prototype)==null?void 0:s.changeType)=="function";}var tk=250,ld=2,ik=.1,nk=.05,Bf=class{constructor(e,t,i,n){this.config=void 0,this.media=null,this.fragmentTracker=void 0,this.hls=void 0,this.nudgeRetry=0,this.stallReported=!1,this.stalled=null,this.moved=!1,this.seeking=!1,this.config=e,this.media=t,this.fragmentTracker=i,this.hls=n;}destroy(){this.media=null,this.hls=this.fragmentTracker=null;}poll(e,t){let{config:i,media:n,stalled:r}=this;if(n===null)return;let{currentTime:o,seeking:a}=n,l=this.seeking&&!a,d=!this.seeking&&a;if(this.seeking=a,o!==e){if(this.moved=!0,a||(this.nudgeRetry=0),r!==null){if(this.stallReported){let m=self.performance.now()-r;X.warn(`playback not stuck anymore @${o}, after ${Math.round(m)}ms`),this.stallReported=!1;}this.stalled=null;}return;}if(d||l){this.stalled=null;return;}if(n.paused&&!a||n.ended||n.playbackRate===0||!At.getBuffered(n).length){this.nudgeRetry=0;return;}let u=At.bufferInfo(n,o,0),c=u.nextStart||0;if(a){let m=u.len>ld,b=!c||t&&t.start<=o||c-o>ld&&!this.fragmentTracker.getPartialFragment(o);if(m||b)return;this.moved=!1;}if(!this.moved&&this.stalled!==null){var h;if(!(u.len>0)&&!c)return;let b=Math.max(c,u.start||0)-o,T=this.hls.levels?this.hls.levels[this.hls.currentLevel]:null,P=(T==null||(h=T.details)==null?void 0:h.live)?T.details.targetduration*2:ld,R=this.fragmentTracker.getPartialFragment(o);if(b>0&&(b<=P||R)){n.paused||this._trySkipBufferHole(R);return;}}let f=self.performance.now();if(r===null){this.stalled=f;return;}let p=f-r;if(!a&&p>=tk&&(this._reportStall(u),!this.media))return;let g=At.bufferInfo(n,o,i.maxBufferHole);this._tryFixBufferStall(g,p);}_tryFixBufferStall(e,t){let{config:i,fragmentTracker:n,media:r}=this;if(r===null)return;let o=r.currentTime,a=n.getPartialFragment(o);a&&(this._trySkipBufferHole(a)||!this.media)||(e.len>i.maxBufferHole||e.nextStart&&e.nextStart-o<i.maxBufferHole)&&t>i.highBufferWatchdogPeriod*1e3&&(X.warn("Trying to nudge playhead over buffer-hole"),this.stalled=null,this._tryNudgeBuffer());}_reportStall(e){let{hls:t,media:i,stallReported:n}=this;if(!n&&i){this.stallReported=!0;let r=new Error(`Playback stalling at @${i.currentTime} due to low buffer (${JSON.stringify(e)})`);X.warn(r.message),t.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.BUFFER_STALLED_ERROR,fatal:!1,error:r,buffer:e.len});}}
106_trySkipBufferHole(e){let{config:t,hls:i,media:n}=this;if(n===null)return 0;let r=n.currentTime,o=At.bufferInfo(n,r,0),a=r<o.start?o.start:o.nextStart;if(a){let l=o.len<=t.maxBufferHole,d=o.len>0&&o.len<1&&n.readyState<3,u=a-r;if(u>0&&(l||d)){if(u>t.maxBufferHole){let{fragmentTracker:h}=this,f=!1;if(r===0){let p=h.getAppendedFrag(0,Fe.MAIN);p&&a<p.end&&(f=!0);}if(!f){let p=e||h.getAppendedFrag(r,Fe.MAIN);if(p){let g=!1,m=p.end;for(;m<a;){let b=h.getPartialFragment(m);if(b)m+=b.duration;else{g=!0;break;}}if(g)return 0;}}}let c=Math.max(a+nk,r+ik);if(X.warn(`skipping hole, adjusting currentTime from ${r} to ${c}`),this.moved=!0,this.stalled=null,n.currentTime=c,e&&!e.gap){let h=new Error(`fragment loaded with buffer holes, seeking from ${r} to ${c}`);i.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.BUFFER_SEEK_OVER_HOLE,fatal:!1,error:h,reason:h.message,frag:e});}return c;}}return 0;}_tryNudgeBuffer(){let{config:e,hls:t,media:i,nudgeRetry:n}=this;if(i===null)return;let r=i.currentTime;if(this.nudgeRetry++,n<e.nudgeMaxRetry){let o=r+(n+1)*e.nudgeOffset,a=new Error(`Nudging 'currentTime' from ${r} to ${o}`);X.warn(a.message),i.currentTime=o,t.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.BUFFER_NUDGE_ON_STALL,error:a,fatal:!1});}else{let o=new Error(`Playhead still not moving while enough data buffered @${r} after ${e.nudgeMaxRetry} nudges`);X.error(o.message),t.trigger(w.ERROR,{type:Be.MEDIA_ERROR,details:te.BUFFER_STALLED_ERROR,error:o,fatal:!0});}}},rk=100,Uf=class extends Jo{constructor(e,t,i){super(e,t,i,"[stream-controller]",Fe.MAIN),this.audioCodecSwap=!1,this.gapController=null,this.level=-1,this._forceStartLoad=!1,this.altAudio=!1,this.audioOnly=!1,this.fragPlaying=null,this.onvplaying=null,this.onvseeked=null,this.fragLastKbps=0,this.couldBacktrack=!1,this.backtrackFragment=null,this.audioCodecSwitch=!1,this.videoBuffer=null,this._registerListeners();}_registerListeners(){let{hls:e}=this;e.on(w.MEDIA_ATTACHED,this.onMediaAttached,this),e.on(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.on(w.MANIFEST_LOADING,this.onManifestLoading,this),e.on(w.MANIFEST_PARSED,this.onManifestParsed,this),e.on(w.LEVEL_LOADING,this.onLevelLoading,this),e.on(w.LEVEL_LOADED,this.onLevelLoaded,this),e.on(w.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.on(w.ERROR,this.onError,this),e.on(w.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.on(w.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.on(w.BUFFER_CREATED,this.onBufferCreated,this),e.on(w.BUFFER_FLUSHED,this.onBufferFlushed,this),e.on(w.LEVELS_UPDATED,this.onLevelsUpdated,this),e.on(w.FRAG_BUFFERED,this.onFragBuffered,this);}_unregisterListeners(){let{hls:e}=this;e.off(w.MEDIA_ATTACHED,this.onMediaAttached,this),e.off(w.MEDIA_DETACHING,this.onMediaDetaching,this),e.off(w.MANIFEST_LOADING,this.onManifestLoading,this),e.off(w.MANIFEST_PARSED,this.onManifestParsed,this),e.off(w.LEVEL_LOADED,this.onLevelLoaded,this),e.off(w.FRAG_LOAD_EMERGENCY_ABORTED,this.onFragLoadEmergencyAborted,this),e.off(w.ERROR,this.onError,this),e.off(w.AUDIO_TRACK_SWITCHING,this.onAudioTrackSwitching,this),e.off(w.AUDIO_TRACK_SWITCHED,this.onAudioTrackSwitched,this),e.off(w.BUFFER_CREATED,this.onBufferCreated,this),e.off(w.BUFFER_FLUSHED,this.onBufferFlushed,this),e.off(w.LEVELS_UPDATED,this.onLevelsUpdated,this),e.off(w.FRAG_BUFFERED,this.onFragBuffered,this);}onHandlerDestroying(){this._unregisterListeners(),super.onHandlerDestroying();}startLoad(e){if(this.levels){let{lastCurrentTime:t,hls:i}=this;if(this.stopLoad(),this.setInterval(rk),this.level=-1,!this.startFragRequested){let n=i.startLevel;n===-1&&(i.config.testBandwidth&&this.levels.length>1?(n=0,this.bitrateTest=!0):n=i.firstAutoLevel),i.nextLoadLevel=n,this.level=i.loadLevel,this.loadedmetadata=!1;}t>0&&e===-1&&(this.log(`Override startPosition with lastCurrentTime @${t.toFixed(3)}`),e=t),this.state=le.IDLE,this.nextLoadPosition=this.startPosition=this.lastCurrentTime=e,this.tick();}else this._forceStartLoad=!0,this.state=le.STOPPED;}stopLoad(){this._forceStartLoad=!1,super.stopLoad();}doTick(){switch(this.state){case le.WAITING_LEVEL:{let{levels:t,level:i}=this,n=t==null?void 0:t[i],r=n==null?void 0:n.details;if(r&&(!r.live||this.levelLastLoaded===n)){if(this.waitForCdnTuneIn(r))break;this.state=le.IDLE;break;}else if(this.hls.nextLoadLevel!==this.level){this.state=le.IDLE;break;}break;}case le.FRAG_LOADING_WAITING_RETRY:{var e;let t=self.performance.now(),i=this.retryDate;if(!i||t>=i||(e=this.media)!=null&&e.seeking){let{levels:n,level:r}=this,o=n==null?void 0:n[r];this.resetStartWhenNotLoaded(o||null),this.state=le.IDLE;}}break;}this.state===le.IDLE&&this.doTickIdle(),this.onTickEnd();}onTickEnd(){super.onTickEnd(),this.checkBuffer(),this.checkFragmentChanged();}doTickIdle(){let{hls:e,levelLastLoaded:t,levels:i,media:n}=this;if(t===null||!n&&(this.startFragRequested||!e.config.startFragPrefetch)||this.altAudio&&this.audioOnly)return;let r=e.nextLoadLevel;if(!(i!=null&&i[r]))return;let o=i[r],a=this.getMainFwdBufferInfo();if(a===null)return;let l=this.getLevelDetails();if(l&&this._streamEnded(a,l)){let g={};this.altAudio&&(g.type="video"),this.hls.trigger(w.BUFFER_EOS,g),this.state=le.ENDED;return;}e.loadLevel!==r&&e.manualLevel===-1&&this.log(`Adapting to level ${r} from level ${this.level}`),this.level=e.nextLoadLevel=r;let d=o.details;if(!d||this.state===le.WAITING_LEVEL||d.live&&this.levelLastLoaded!==o){this.level=r,this.state=le.WAITING_LEVEL;return;}let u=a.len,c=this.getMaxBufferLength(o.maxBitrate);
106if(u>=c)return;this.backtrackFragment&&this.backtrackFragment.start>a.end&&(this.backtrackFragment=null);let h=this.backtrackFragment?this.backtrackFragment.start:a.end,f=this.getNextFragment(h,d);if(this.couldBacktrack&&!this.fragPrevious&&f&&f.sn!=="initSegment"&&this.fragmentTracker.getState(f)!==ni.OK){var p;let m=((p=this.backtrackFragment)!=null?p:f).sn-d.startSN,b=d.fragments[m-1];b&&f.cc===b.cc&&(f=b,this.fragmentTracker.removeFragment(b));}else this.backtrackFragment&&a.len&&(this.backtrackFragment=null);if(f&&this.isLoopLoading(f,h)){if(!f.gap){let m=this.audioOnly&&!this.altAudio?gt.AUDIO:gt.VIDEO,b=(m===gt.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;b&&this.afterBufferFlushed(b,m,Fe.MAIN);}f=this.getNextFragmentLoopLoading(f,d,a,Fe.MAIN,c);}f&&(f.initSegment&&!f.initSegment.data&&!this.bitrateTest&&(f=f.initSegment),this.loadFragment(f,o,h));}loadFragment(e,t,i){let n=this.fragmentTracker.getState(e);this.fragCurrent=e,n===ni.NOT_LOADED||n===ni.PARTIAL?e.sn==="initSegment"?this._loadInitSegment(e,t):this.bitrateTest?(this.log(`Fragment ${e.sn} of level ${e.level} is being downloaded to test bitrate and will not be buffered`),this._loadBitrateTestFrag(e,t)):(this.startFragRequested=!0,super.loadFragment(e,t,i)):this.clearTrackerIfNeeded(e);}getBufferedFrag(e){return this.fragmentTracker.getBufferedFrag(e,Fe.MAIN);}followingBufferedFrag(e){return e?this.getBufferedFrag(e.end+.5):null;}immediateLevelSwitch(){this.abortCurrentFrag(),this.flushMainBuffer(0,Number.POSITIVE_INFINITY);}nextLevelSwitch(){let{levels:e,media:t}=this;if(t!=null&&t.readyState){let i,n=this.getAppendedFrag(t.currentTime);n&&n.start>1&&this.flushMainBuffer(0,n.start-1);let r=this.getLevelDetails();if(r!=null&&r.live){let a=this.getMainFwdBufferInfo();if(!a||a.len<r.targetduration*2)return;}if(!t.paused&&e){let a=this.hls.nextLoadLevel,l=e[a],d=this.fragLastKbps;d&&this.fragCurrent?i=this.fragCurrent.duration*l.maxBitrate/(1e3*d)+1:i=0;}else i=0;let o=this.getBufferedFrag(t.currentTime+i);if(o){let a=this.followingBufferedFrag(o);if(a){this.abortCurrentFrag();let l=a.maxStartPTS?a.maxStartPTS:a.start,d=a.duration,u=Math.max(o.end,l+Math.min(Math.max(d-this.config.maxFragLookUpTolerance,d*(this.couldBacktrack?.5:.125)),d*(this.couldBacktrack?.75:.25)));this.flushMainBuffer(u,Number.POSITIVE_INFINITY);}}}}abortCurrentFrag(){let e=this.fragCurrent;switch(this.fragCurrent=null,this.backtrackFragment=null,e&&(e.abortRequests(),this.fragmentTracker.removeFragment(e)),this.state){case le.KEY_LOADING:case le.FRAG_LOADING:case le.FRAG_LOADING_WAITING_RETRY:case le.PARSING:case le.PARSED:this.state=le.IDLE;break;}this.nextLoadPosition=this.getLoadPosition();}flushMainBuffer(e,t){super.flushMainBuffer(e,t,this.altAudio?"video":null);}onMediaAttached(e,t){super.onMediaAttached(e,t);let i=t.media;this.onvplaying=this.onMediaPlaying.bind(this),this.onvseeked=this.onMediaSeeked.bind(this),i.addEventListener("playing",this.onvplaying),i.addEventListener("seeked",this.onvseeked),this.gapController=new Bf(this.config,i,this.fragmentTracker,this.hls);}onMediaDetaching(){let{media:e}=this;e&&this.onvplaying&&this.onvseeked&&(e.removeEventListener("playing",this.onvplaying),e.removeEventListener("seeked",this.onvseeked),this.onvplaying=this.onvseeked=null,this.videoBuffer=null),this.fragPlaying=null,this.gapController&&(this.gapController.destroy(),this.gapController=null),super.onMediaDetaching();}onMediaPlaying(){this.tick();}onMediaSeeked(){let e=this.media,t=e?e.currentTime:null;Re(t)&&this.log(`Media seeked to ${t.toFixed(3)}`);let i=this.getMainFwdBufferInfo();if(i===null||i.len===0){this.warn(`Main forward buffer length on "seeked" event ${i?i.len:"empty"})`);return;}this.tick();}onManifestLoading(){this.log("Trigger BUFFER_RESET"),this.hls.trigger(w.BUFFER_RESET,void 0),this.fragmentTracker.removeAllFragments(),this.couldBacktrack=!1,this.startPosition=this.lastCurrentTime=this.fragLastKbps=0,this.levels=this.fragPlaying=this.backtrackFragment=this.levelLastLoaded=null,this.altAudio=this.audioOnly=this.startFragRequested=!1;}onManifestParsed(e,t){let i=!1,n=!1;
106t.levels.forEach(r=>{let o=r.audioCodec;o&&(i=i||o.indexOf("mp4a.40.2")!==-1,n=n||o.indexOf("mp4a.40.5")!==-1);}),this.audioCodecSwitch=i&&n&&!ek(),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!==le.IDLE)return;let n=i[t.level];(!n.details||n.details.live&&this.levelLastLoaded!==n||this.waitForCdnTuneIn(n.details))&&(this.state=le.WAITING_LEVEL);}onLevelLoaded(e,t){var i;let{levels:n}=this,r=t.level,o=t.details,a=o.totalduration;if(!n){this.warn(`Levels were reset while loading level ${r}`);return;}this.log(`Level ${r} loaded [${o.startSN},${o.endSN}]${o.lastPartSn?`[part-${o.lastPartSn}-${o.lastPartIndex}]`:""}, cc [${o.startCC}, ${o.endCC}] duration:${a}`);let l=n[r],d=this.fragCurrent;d&&(this.state===le.FRAG_LOADING||this.state===le.FRAG_LOADING_WAITING_RETRY)&&d.level!==t.level&&d.loader&&this.abortCurrentFrag();let u=0;if(o.live||(i=l.details)!=null&&i.live){var c;if(this.checkLiveUpdate(o),o.deltaUpdateFailed)return;u=this.alignPlaylists(o,l.details,(c=this.levelLastLoaded)==null?void 0:c.details);}if(l.details=o,this.levelLastLoaded=l,this.hls.trigger(w.LEVEL_UPDATED,{details:o,level:r}),this.state===le.WAITING_LEVEL){if(this.waitForCdnTuneIn(o))return;this.state=le.IDLE;}this.startFragRequested?o.live&&this.synchronizeToLiveEdge(o):this.setStartPosition(o,u),this.tick();}_handleFragmentLoadProgress(e){var t;let{frag:i,part:n,payload:r}=e,{levels:o}=this;if(!o){this.warn(`Levels were reset while fragment load was in progress. Fragment ${i.sn} of level ${i.level} will not be buffered`);return;}let a=o[i.level],l=a.details;if(!l){this.warn(`Dropping fragment ${i.sn} of level ${i.level} after level details were reset`),this.fragmentTracker.removeFragment(i);return;}let d=a.videoCodec,u=l.PTSKnown||!l.live,c=(t=i.initSegment)==null?void 0:t.data,h=this._getAudioCodec(a),f=this.transmuxer=this.transmuxer||new Id(this.hls,Fe.MAIN,this._handleTransmuxComplete.bind(this),this._handleTransmuxerFlush.bind(this)),p=n?n.index:-1,g=p!==-1,m=new Xo(i.level,i.sn,i.stats.chunkCount,r.byteLength,p,g),b=this.initPTS[i.cc];f.push(r,c,h,d,i,n,l.totalduration,u,m,b);}onAudioTrackSwitching(e,t){let i=this.altAudio;if(!!!t.url){if(this.mediaBuffer!==this.media){this.log("Switching on main audio, use media.buffered to schedule main fragment loading"),this.mediaBuffer=this.media;let o=this.fragCurrent;o&&(this.log("Switching to main audio track, cancel main fragment load"),o.abortRequests(),this.fragmentTracker.removeFragment(o)),this.resetTransmuxer(),this.resetLoadingState();}else this.audioOnly&&this.resetTransmuxer();let r=this.hls;i&&(r.trigger(w.BUFFER_FLUSHING,{startOffset:0,endOffset:Number.POSITIVE_INFINITY,type:null}),this.fragmentTracker.removeAllFragments()),r.trigger(w.AUDIO_TRACK_SWITCHED,t);}}onAudioTrackSwitched(e,t){let i=t.id,n=!!this.hls.audioTracks[i].url;if(n){let r=this.videoBuffer;r&&this.mediaBuffer!==r&&(this.log("Switching on alternate audio, use video.buffered to schedule main fragment loading"),this.mediaBuffer=r);}this.altAudio=n,this.tick();}onBufferCreated(e,t){let i=t.tracks,n,r,o=!1;for(let a in i){let l=i[a];if(l.id==="main"){if(r=a,n=l,a==="video"){let d=i[a];d&&(this.videoBuffer=d.buffer);}}else o=!0;}o&&n?(this.log(`Alternate track found, use ${r}.buffered to schedule main fragment loading`),this.mediaBuffer=n.buffer):this.mediaBuffer=this.media;}onFragBuffered(e,t){let{frag:i,part:n}=t;if(i&&i.type!==Fe.MAIN)return;if(this.fragContextChanged(i)){this.warn(`Fragment ${i.sn}${n?" p: "+n.index:""} of level ${i.level} finished buffering, but was aborted. state: ${this.state}`),this.state===le.PARSED&&(this.state=le.IDLE);return;}let r=n?n.stats:i.stats;this.fragLastKbps=Math.round(8*r.total/(r.buffering.end-r.loading.first)),i.sn!=="initSegment"&&(this.fragPrevious=i),this.fragBufferedComplete(i,n);}onError(e,t){var i;if(t.fatal){this.state=le.ERROR;return;}switch(t.details){case te.FRAG_GAP:case te.FRAG_PARSING_ERROR:case te.FRAG_DECRYPT_ERROR:case te.FRAG_LOAD_ERROR:case te.FRAG_LOAD_TIMEOUT:case te.KEY_LOAD_ERROR:case te.KEY_LOAD_TIMEOUT:this.onFragmentOrKeyLoadError(Fe.MAIN,t);break;case te.LEVEL_LOAD_ERROR:case te.LEVEL_LOAD_TIMEOUT:case te.LEVEL_PARSING_ERROR:!t.levelRetry&&this.state===le.WAITING_LEVEL&&((i=t.context)==null?void 0:i.type)===st.LEVEL&&(this.state=le.IDLE);break;case te.BUFFER_APPEND_ERROR:case te.BUFFER_FULL_ERROR:if(!t.parent||t.parent!=="main")return;if(t.details===te.BUFFER_APPEND_ERROR){this.resetLoadingState();return;}this.reduceLengthAndFlushBuffer(t)&&this.flushMainBuffer(0,Number.POSITIVE_INFINITY);break;case te.INTERNAL_EXCEPTION:this.recoverWorkerError(t);break;}}
106checkBuffer(){let{media:e,gapController:t}=this;if(!(!e||!t||!e.readyState)){if(this.loadedmetadata||!At.getBuffered(e).length){let i=this.state!==le.IDLE?this.fragCurrent:null;t.poll(this.lastCurrentTime,i);}this.lastCurrentTime=e.currentTime;}}onFragLoadEmergencyAborted(){this.state=le.IDLE,this.loadedmetadata||(this.startFragRequested=!1,this.nextLoadPosition=this.startPosition),this.tickImmediate();}onBufferFlushed(e,{type:t}){if(t!==gt.AUDIO||this.audioOnly&&!this.altAudio){let i=(t===gt.VIDEO?this.videoBuffer:this.mediaBuffer)||this.media;this.afterBufferFlushed(i,t,Fe.MAIN),this.tick();}}onLevelsUpdated(e,t){this.level>-1&&this.fragCurrent&&(this.level=this.fragCurrent.level),this.levels=t.levels;}swapAudioCodec(){this.audioCodecSwap=!this.audioCodecSwap;}seekToStartPos(){let{media:e}=this;if(!e)return;let t=e.currentTime,i=this.startPosition;if(i>=0&&t<i){if(e.seeking){this.log(`could not seek to ${i}, already seeking at ${t}`);return;}let n=At.getBuffered(e),o=(n.length?n.start(0):0)-i;o>0&&(o<this.config.maxBufferHole||o<this.config.maxFragLookUpTolerance)&&(this.log(`adjusting start position by ${o} to match buffer start`),i+=o,this.startPosition=i),this.log(`seek to target start position ${i} from current time ${t}`),e.currentTime=i;}}_getAudioCodec(e){let t=this.config.defaultAudioCodec||e.audioCodec;return this.audioCodecSwap&&t&&(this.log("Swapping audio codec"),t.indexOf("mp4a.40.5")!==-1?t="mp4a.40.2":t="mp4a.40.5"),t;}_loadBitrateTestFrag(e,t){e.bitrateTest=!0,this._doFragLoad(e,t).then(i=>{let{hls:n}=this;if(!i||this.fragContextChanged(e))return;t.fragmentError=0,this.state=le.IDLE,this.startFragRequested=!1,this.bitrateTest=!1;let r=e.stats;r.parsing.start=r.parsing.end=r.buffering.start=r.buffering.end=self.performance.now(),n.trigger(w.FRAG_LOADED,i),e.bitrateTest=!1;});}_handleTransmuxComplete(e){var t;let i="main",{hls:n}=this,{remuxResult:r,chunkMeta:o}=e,a=this.getCurrentContext(o);if(!a){this.resetWhenMissingContext(o);return;}let{frag:l,part:d,level:u}=a,{video:c,text:h,id3:f,initSegment:p}=r,{details:g}=u,m=this.altAudio?void 0:r.audio;if(this.fragContextChanged(l)){this.fragmentTracker.removeFragment(l);return;}if(this.state=le.PARSING,p){if(p!=null&&p.tracks){let S=l.initSegment||l;this._bufferInitSegment(u,p.tracks,S,o),n.trigger(w.FRAG_PARSING_INIT_SEGMENT,{frag:S,id:i,tracks:p.tracks});}let b=p.initPTS,T=p.timescale;Re(b)&&(this.initPTS[l.cc]={baseTime:b,timescale:T},n.trigger(w.INIT_PTS_FOUND,{frag:l,id:i,initPTS:b,timescale:T}));}if(c&&g&&l.sn!=="initSegment"){let b=g.fragments[l.sn-1-g.startSN],T=l.sn===g.startSN,S=!b||l.cc>b.cc;if(r.independent!==!1){let{startPTS:P,endPTS:R,startDTS:C,endDTS:A}=c;if(d)d.elementaryStreams[c.type]={startPTS:P,endPTS:R,startDTS:C,endDTS:A};else if(c.firstKeyFrame&&c.independent&&o.id===1&&!S&&(this.couldBacktrack=!0),c.dropped&&c.independent){let O=this.getMainFwdBufferInfo(),U=(O?O.end:this.getLoadPosition())+this.config.maxBufferHole,j=c.firstKeyFramePTS?c.firstKeyFramePTS:P;if(!T&&U<j-this.config.maxBufferHole&&!S){this.backtrack(l);return;}else S&&(l.gap=!0);l.setElementaryStreamInfo(c.type,l.start,R,l.start,A,!0);}else T&&P>ld&&(l.gap=!0);l.setElementaryStreamInfo(c.type,P,R,C,A),this.backtrackFragment&&(this.backtrackFragment=l),this.bufferFragmentData(c,l,d,o,T||S);}else if(T||S)l.gap=!0;else{this.backtrack(l);return;}}if(m){let{startPTS:b,endPTS:T,startDTS:S,endDTS:P}=m;d&&(d.elementaryStreams[gt.AUDIO]={startPTS:b,endPTS:T,startDTS:S,endDTS:P}),l.setElementaryStreamInfo(gt.AUDIO,b,T,S,P),this.bufferFragmentData(m,l,d,o);}if(g&&f!=null&&(t=f.samples)!=null&&t.length){let b={id:i,frag:l,details:g,samples:f.samples};n.trigger(w.FRAG_PARSING_METADATA,b);}if(g&&h){let b={id:i,frag:l,details:g,samples:h.samples};n.trigger(w.FRAG_PARSING_USERDATA,b);}}_bufferInitSegment(e,t,i,n){if(this.state!==le.PARSING)return;this.audioOnly=!!t.audio&&!t.video,this.altAudio&&!this.audioOnly&&delete t.audio;let{audio:r,video:o,audiovideo:a}=t;if(r){let l=e.audioCodec,d=navigator.userAgent.toLowerCase();if(this.audioCodecSwitch){l&&(l.indexOf("mp4a.40.5")!==-1?l="mp4a.40.2":l="mp4a.40.5");let u=r.metadata;u&&"channelCount"in u&&(u.channelCount||1)!==1&&d.indexOf("firefox")===-1&&(l="mp4a.40.5");}l&&l.indexOf("mp4a.40.5")!==-1&&d.indexOf("android")!==-1&&r.container!=="audio/mpeg"&&(l="mp4a.40.2",this.log(`Android: force audio codec to ${l}`)),e.audioCodec&&e.audioCodec!==l&&this.log(`Swapping manifest audio codec "${e.audioCodec}" for "${l}"`),r.levelCodec=l,r.id="main",this.log(`Init audio buffer, container:${r.container}, codecs[selected/level/parsed]=[${l||""}/${e.audioCodec||""}/${r.codec}]`);}o&&(o.levelCodec=e.videoCodec,o.id="main",this.log(`Init video buffer, container:${o.container}, codecs[level/parsed]=[${e.videoCodec||""}/${o.codec}]`)),a&&this.log(`Init audiovideo buffer, container:${a.container}, codecs[level/parsed]=[${e.codecs}/${a.codec}]`),this.hls.trigger(w.BUFFER_CODECS,t),Object.keys(t).forEach(l=>{let u=t[l].initSegment;u!=null&&u.byteLength&&this.hls.trigger(w.BUFFER_APPENDING,{type:l,data:u,frag:i,part:null,chunkMeta:n,parent:i.type});}),this.tickImmediate();}getMainFwdBufferInfo(){return this.getFwdBufferInfo(this.mediaBuffer?this.mediaBuffer:this.media,Fe.MAIN);}backtrack(e){this.couldBacktrack=!0,this.backtrackFragment=e,this.resetTransmuxer(),this.flushBufferGap(e),this.fragmentTracker.removeFragment(e),this.fragPrevious=null,this.nextLoadPosition=e.start,this.state=le.IDLE;}checkFragmentChanged(){let e=this.media,t=null;if(e&&e.readyState>1&&e.seeking===!1){let i=e.currentTime;if(At.isBuffered(e,i)?t=this.getAppendedFrag(i):At.isBuffered(e,i+.
1061)&&(t=this.getAppendedFrag(i+.1)),t){this.backtrackFragment=null;let n=this.fragPlaying,r=t.level;(!n||t.sn!==n.sn||n.level!==r)&&(this.fragPlaying=t,this.hls.trigger(w.FRAG_CHANGED,{frag:t}),(!n||n.level!==r)&&this.hls.trigger(w.LEVEL_SWITCHED,{level:r}));}}}get nextLevel(){let e=this.nextBufferedFrag;return e?e.level:-1;}get currentFrag(){let e=this.media;return e?this.fragPlaying||this.getAppendedFrag(e.currentTime):null;}get currentProgramDateTime(){let e=this.media;if(e){let t=e.currentTime,i=this.currentFrag;if(i&&Re(t)&&Re(i.programDateTime)){let n=i.programDateTime+(t-i.start)*1e3;return new Date(n);}}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;}},Ot=(()=>{class s{static get version(){return"1.5.14";}static isMSESupported(){return Zb();}static isSupported(){return ZP();}static getMediaSource(){return Sr();}static get Events(){return w;}static get ErrorTypes(){return Be;}static get ErrorDetails(){return te;}static get DefaultConfig(){return s.defaultConfig?s.defaultConfig:Qb;}static set DefaultConfig(t){s.defaultConfig=t;}constructor(t={}){this.config=void 0,this.userConfig=void 0,this.coreComponents=void 0,this.networkControllers=void 0,this.started=!1,this._emitter=new Xf(),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.audioTrackController=void 0,this.subtitleTrackController=void 0,this.emeController=void 0,this.cmcdController=void 0,this._media=null,this.url=null,this.triggeringException=void 0,jA(t.debug||!1,"Hls instance");let i=this.config=QP(s.DefaultConfig,t);this.userConfig=t,i.progressive&&JP(i);let{abrController:n,bufferController:r,capLevelController:o,errorController:a,fpsController:l}=i,d=new a(this),u=this.abrController=new n(this),c=this.bufferController=new r(this),h=this.capLevelController=new o(this),f=new l(this),p=new Fh(this),g=new Uh(this),m=i.contentSteeringController,b=m?new m(this):null,T=this.levelController=new Ff(this,b),S=new Xh(this),P=new Vf(this.config),R=this.streamController=new Uf(this,S,P);h.setStreamController(R),f.setStreamController(R);let C=[p,T,R];b&&C.splice(1,0,b),this.networkControllers=C;let A=[u,c,h,f,g,S];this.audioTrackController=this.createController(i.audioTrackController,C);let O=i.audioStreamController;O&&C.push(new O(this,S,P)),this.subtitleTrackController=this.createController(i.subtitleTrackController,C);let U=i.subtitleStreamController;U&&C.push(new U(this,S,P)),this.createController(i.timelineController,A),P.emeController=this.emeController=this.createController(i.emeController,A),this.cmcdController=this.createController(i.cmcdController,A),this.latencyController=this.createController(Hh,A),this.coreComponents=A,C.push(d);let j=d.onErrorOut;typeof j=="function"&&this.on(w.ERROR,j,d);}createController(t,i){if(t){let n=new t(this);return i&&i.push(n),n;}return null;}on(t,i,n=this){this._emitter.on(t,i,n);}once(t,i,n=this){this._emitter.once(t,i,n);}removeAllListeners(t){this._emitter.removeAllListeners(t);}off(t,i,n=this,r){this._emitter.off(t,i,n,r);}listeners(t){return this._emitter.listeners(t);}emit(t,i,n){return this._emitter.emit(t,i,n);}trigger(t,i){if(this.config.debug)return this.emit(t,t,i);try{return this.emit(t,t,i);}catch(n){if(X.error("An internal error happened while handling event "+t+'. Error message: "'+n.message+'". Here is a stacktrace:',n),!this.triggeringException){this.triggeringException=!0;let r=t===w.ERROR;this.trigger(w.ERROR,{type:Be.OTHER_ERROR,details:te.INTERNAL_EXCEPTION,fatal:r,event:t,error:n}),this.triggeringException=!1;}}return!1;}listenerCount(t){return this._emitter.listenerCount(t);}destroy(){X.log("destroy"),this.trigger(w.DESTROYING,void 0),this.detachMedia(),this.removeAllListeners(),this._autoLevelCapping=-1,this.url=null,this.networkControllers.forEach(i=>i.destroy()),this.networkControllers.length=0,this.coreComponents.forEac
106h(i=>i.destroy()),this.coreComponents.length=0;let t=this.config;t.xhrSetup=t.fetchSetup=void 0,this.userConfig=null;}attachMedia(t){X.log("attachMedia"),this._media=t,this.trigger(w.MEDIA_ATTACHING,{media:t});}detachMedia(){X.log("detachMedia"),this.trigger(w.MEDIA_DETACHING,void 0),this._media=null;}loadSource(t){this.stopLoad();let i=this.media,n=this.url,r=this.url=Hf.buildAbsoluteURL(self.location.href,t,{alwaysNormalize:!0});this._autoLevelCapping=-1,this._maxHdcpLevel=null,X.log(`loadSource:${r}`),i&&n&&(n!==r||this.bufferController.hasSourceTypes())&&(this.detachMedia(),this.attachMedia(i)),this.trigger(w.MANIFEST_LOADING,{url:t});}startLoad(t=-1){X.log(`startLoad(${t})`),this.started=!0,this.networkControllers.forEach(i=>{i.startLoad(t);});}stopLoad(){X.log("stopLoad"),this.started=!1,this.networkControllers.forEach(t=>{t.stopLoad();});}resumeBuffering(){this.started&&this.networkControllers.forEach(t=>{"fragmentLoader"in t&&t.startLoad(-1);});}pauseBuffering(){this.networkControllers.forEach(t=>{"fragmentLoader"in t&&t.stopLoad();});}swapAudioCodec(){X.log("swapAudioCodec"),this.streamController.swapAudioCodec();}recoverMediaError(){X.log("recoverMediaError");let t=this._media;this.detachMedia(),t&&this.attachMedia(t);}removeLevel(t){this.levelController.removeLevel(t);}get levels(){let t=this.levelController.levels;return t||[];}get currentLevel(){return this.streamController.currentLevel;}set currentLevel(t){X.log(`set currentLevel:${t}`),this.levelController.manualLevel=t,this.streamController.immediateLevelSwitch();}get nextLevel(){return this.streamController.nextLevel;}set nextLevel(t){X.log(`set nextLevel:${t}`),this.levelController.manualLevel=t,this.streamController.nextLevelSwitch();}get loadLevel(){return this.levelController.level;}set loadLevel(t){X.log(`set loadLevel:${t}`),this.levelController.manualLevel=t;}get nextLoadLevel(){return this.levelController.nextLoadLevel;}set nextLoadLevel(t){this.levelController.nextLoadLevel=t;}get firstLevel(){return Math.max(this.levelController.firstLevel,this.minAutoLevel);}set firstLevel(t){X.log(`set firstLevel:${t}`),this.levelController.firstLevel=t;}get startLevel(){let t=this.levelController.startLevel;return t===-1&&this.abrController.forcedAutoLevel>-1?this.abrController.forcedAutoLevel:t;}set startLevel(t){X.log(`set startLevel:${t}`),t!==-1&&(t=Math.max(t,this.minAutoLevel)),this.levelController.startLevel=t;}get capLevelToPlayerSize(){return this.config.capLevelToPlayerSize;}set capLevelToPlayerSize(t){let i=!!t;i!==this.config.capLevelToPlayerSize&&(i?this.capLevelController.startCapping():(this.capLevelController.stopCapping(),this.autoLevelCapping=-1,this.streamController.nextLevelSwitch()),this.config.capLevelToPlayerSize=i);}get autoLevelCapping(){return this._autoLevelCapping;}get bandwidthEstimate(){let{bwEstimator:t}=this.abrController;return t?t.getEstimate():NaN;}set bandwidthEstimate(t){this.abrController.resetEstimator(t);}get ttfbEstimate(){let{bwEstimator:t}=this.abrController;return t?t.getEstimateTTFB():NaN;}set autoLevelCapping(t){this._autoLevelCapping!==t&&(X.log(`set autoLevelCapping:${t}`),this._autoLevelCapping=t,this.levelController.checkMaxAutoUpdated());}get maxHdcpLevel(){return this._maxHdcpLevel;}set maxHdcpLevel(t){LI(t)&&this._maxHdcpLevel!==t&&(this._maxHdcpLevel=t,this.levelController.checkMaxAutoUpdated());}get autoLevelEnabled(){return this.levelController.manualLevel===-1;}get manualLevel(){return this.levelController.manualLevel;}get minAutoLevel(){let{levels:t,config:{minAutoBitrate:i}}=this;if(!t)return 0;let n=t.length;for(let r=0;r<n;r++)if(t[r].maxBitrate>=i)return r;return 0;}get maxAutoLevel(){let{levels:t,autoLevelCapping:i,maxHdcpLevel:n}=this,r;if(i===-1&&t!=null&&t.length?r=t.length-1:r=i,n)for(let o=r;o--;){let a=t[o].attrs["HDCP-LEVEL"];if(a&&a<=n)return o;}return r;}get firstAutoLevel(){return this.abrController.firstAutoLevel;}get nextAutoLevel(){return this.abrController.nextAutoLevel;}set nextAutoLevel(t){this.abrController.nextAutoLevel=t;}get playingDate(){return this.streamController.currentProgramDateTime;}get mainForwardBufferInfo(){return this.streamController.getMainFwdBufferInfo();}setAudioOption(t){var i;return(i=this.audioTrackController)==null?void 0:i.setAudioOption(t);}
106setSubtitleOption(t){var i;return(i=this.subtitleTrackController)==null||i.setSubtitleOption(t),null;}get allAudioTracks(){let t=this.audioTrackController;return t?t.allAudioTracks:[];}get audioTracks(){let t=this.audioTrackController;return t?t.audioTracks:[];}get audioTrack(){let t=this.audioTrackController;return t?t.audioTrack:-1;}set audioTrack(t){let i=this.audioTrackController;i&&(i.audioTrack=t);}get allSubtitleTracks(){let t=this.subtitleTrackController;return t?t.allSubtitleTracks:[];}get subtitleTracks(){let t=this.subtitleTrackController;return t?t.subtitleTracks:[];}get subtitleTrack(){let t=this.subtitleTrackController;return t?t.subtitleTrack:-1;}get media(){return this._media;}set subtitleTrack(t){let i=this.subtitleTrackController;i&&(i.subtitleTrack=t);}get subtitleDisplay(){let t=this.subtitleTrackController;return t?t.subtitleDisplay:!1;}set subtitleDisplay(t){let i=this.subtitleTrackController;i&&(i.subtitleDisplay=t);}get lowLatencyMode(){return this.config.lowLatencyMode;}set lowLatencyMode(t){this.config.lowLatencyMode=t;}get liveSyncPosition(){return this.latencyController.liveSyncPosition;}get latency(){return this.latencyController.latency;}get maxLatency(){return this.latencyController.maxLatency;}get targetLatency(){return this.latencyController.targetLatency;}get drift(){return this.latencyController.drift;}get forceStartLoad(){return this.streamController.forceStartLoad;}}return s.defaultConfig=void 0,s;})();var Nd=Ve(Ye());var eT=!1,sk=function(s){if(!Ot.isSupported()){Ne.info("Hls.js is not supported in this browser.");return;}let e=s.getTech("Html5");
106if(!e){Ne.error('No "Html5" tech found in videojs');return;}eT||(eT=!0,e.registerSourceHandler({canHandleSource:function(t){let i=/^application\/x-mpegURL|application\/vnd\.apple\.mpegurl$/i,n=/\.m3u8/i;return i.test(t.type)?"probably":n.test(t.src)?"maybe":"";},handleSource:function(t,i){return i.hlsProvider&&i.hlsProvider.dispose(),i.hlsProvider=new ta(s,t,i),i.hlsProvider;}},0),s.Html5Hlsjs=ta);},ok=Nd.default.getPlugin("plugin"),ep=class extends ok{constructor(e,t){super(e,t),t&&(e.srOptions_||(e.srOptions_={}),e.srOptions_.hlsjsConfig||(e.srOptions_.hlsjsConfig=t.hlsjsConfig),t.levelLabelHandler&&!e.srOptions_.levelLabelHandler&&(e.srOptions_.levelLabelHandler=t.levelLabelHandler),sk(Nd.default));}dispose(){this.player.srOptions_=void 0;let e=this.player.tech(!0);e.hlsProvider&&(e.hlsProvider.dispose(),e.hlsProvider=void 0),super.dispose();}};Nd.default.registerPlugin("hlsjs",ep);var ta=class{constructor(e,t,i){F(this,"videoElement");F(this,"errorCounts",{});F(this,"player");F(this,"tech");F(this,"source");F(this,"vjs");F(this,"maxNetworkErrorRecovery",5);F(this,"hls");F(this,"hlsjsConfig",null);F(this,"_duration",null);F(this,"metadata",null);F(this,"isLive",null);F(this,"dvrDuration",null);F(this,"edgeMargin",null);F(this,"liveEnded",!1);F(this,"handlers",{play:null,error:null});F(this,"audioMode",!1);this.vjs=e,this.source=t,this.tech=i,this.tech.name_="Hlsjs",this.videoElement=i.el(),this.player=e(i.options_.playerId),this.handlers.error=n=>{let r,o=(n.currentTarget||n.target).error;if(o){switch(Ne.info(o),o.code){case o.MEDIA_ERR_ABORTED:r="You aborted the video playback";break;case o.MEDIA_ERR_DECODE:r="The video playback was aborted due to a corruption problem or because the video used features your browser did not support",this._handleMediaError(o);break;case o.MEDIA_ERR_NETWORK:r="A network error caused the video download to fail part-way";break;case o.MEDIA_ERR_SRC_NOT_SUPPORTED:r="The video could not be loaded, either because the server or network failed or because the format is not supported";break;default:r=o.message;}Ne.error(`MEDIA_ERROR: ${r}`);}},this.videoElement.addEventListener("error",this.handlers.error),this.initialize();}duration(){return this._duration===1/0?1/0:isNaN(this.videoElement.duration)?this._duration||0:this.videoElement.duration;}seekable(){if(this.hls.media){if(!this.isLive)return this.vjs.createTimeRanges(0,this.hls.media.duration);let e=Math.round(this.hls.media.duration-this.dvrDuration),t=Math.round(this.hls.media.duration-this.edgeMargin);return this.vjs.createTimeRanges(e,t);}return this.vjs.createTimeRanges();}dispose(){this.videoElement.removeEventListener("play",this.handlers.play),this.videoElement.removeEventListener("error",this.handlers.error),this.hls.destroy();}_getHumanErrorMsg(e){switch(e.code){default:return e.message;}}_handleUnrecovarableError(e){if(this.hls.levels.filter(t=>t.id>-1).length>1){this._removeQuality(this.hls.loadLevel);return;}this.hls.destroy(),Ne.info("bubbling error up to VIDEOJS"),this.tech.error=()=>Le(we({},e),{message:this._getHumanErrorMsg(e)}),this.tech.trigger("error");}_handleMediaError(e){if(this.errorCounts[Ot.ErrorTypes.MEDIA_ERROR]===1){Ne.info("trying to recover media error"),this.hls.recoverMediaError();return;}if(this.errorCounts[Ot.ErrorTypes.MEDIA_ERROR]===2){Ne.info("2nd try to recover media error (by swapping audio codec"),this.hls.swapAudioCodec(),this.hls.recoverMediaError();return;}this.errorCounts[Ot.ErrorTypes.MEDIA_ERROR]>2&&this._handleUnrecovarableError(e);}_handleNetworkError(e){var t,i;if(navigator.onLine!==!1){if(this.liveEnded){Ne.info("Forcing end of live stream after a network error"),(t=this.player)==null||t.handleTechEnded_(),(i=this.hls)==null||i.stopLoad();return;}if(this.errorCounts[Ot.ErrorTypes.NETWORK_ERROR]<=this.maxNetworkErrorRecovery){Ne.info("trying to recover network error"),setTimeout(()=>this.hls.startLoad(),1e3),this.hls.once(Ot.Events.FRAG_LOADED,()=>{this.errorCounts[Ot.ErrorTypes.NETWORK_ERROR]=0;});return;}this._handleUnrecovarableError(e);}}_onError(e,t){let i={message:`HLS.js error: ${t.type} - fatal: ${t.fatal} - ${t.details}`};this.errorCounts[t.type]?this.errorCounts[t.type]+=1:this.errorCounts[t.type]=1,/googlebot/i.test(navigator.userAgent)||(t.fatal?Ne.error(i.message,{currentTime:this.player.currentTime(),data:t}
106):Ne.clientWarn(i.message)),t.type===Ot.ErrorTypes.NETWORK_ERROR?(i.code=2,this._handleNetworkError(i)):t.fatal&&t.type===Ot.ErrorTypes.MEDIA_ERROR&&t.details!=="manifestIncompatibleCodecsError"?(i.code=3,this._handleMediaError(i)):t.fatal&&this._handleUnrecovarableError(i);}buildLevelLabel(e){return this.player.srOptions_.levelLabelHandler(e,this.player);}_removeQuality(e){this.hls.removeLevel(e),this.player.peertubeResolutions().remove(e),this.hls.currentLevel=-1;}_notifyVideoQualities(){if(!this.metadata)return;let e=[];if(this.metadata.levels.forEach((i,n)=>{e.push({id:n,height:i.height,width:i.width,bitrate:i.bitrate,label:this.buildLevelLabel(i),selected:i.id===this.hls.manualLevel,selectCallback:()=>this.manuallySelectVideoLevel(n)});}),e.filter(i=>i.height!==0).length!==0&&this.getSeparateAudioTrack()){let i=this.getSeparateAudioTrack();e.push({id:-2,label:this.player.localize("Audio only"),selected:!1,selectCallback:()=>{this.audioMode||(this.audioMode=!0,this.updateToAudioOrVideo(i));}});}e.push({id:-1,label:this.player.localize("Auto"),selected:!0,selectCallback:()=>this.manuallySelectVideoLevel(-1)}),this.player.peertubeResolutions().add(e);}manuallySelectVideoLevel(e){if(this.audioMode){this.audioMode=!1,this.updateToAudioOrVideo(this.source.src,e);return;}this.hls.currentLevel=e;}_startLoad(){this.hls.startLoad(-1),this.videoElement.removeEventListener("play",this.handlers.play);}_onMetaData(e,t){this.metadata=t,this._notifyVideoQualities();}initialize(){this.liveEnded=!1,this.buildBaseConfig(),["","auto"].includes(this.videoElement.preload)&&!this.videoElement.autoplay&&this.hlsjsConfig.autoStartLoad===void 0&&(this.hlsjsConfig.autoStartLoad=!1),this.hlsjsConfig.autoStartLoad===!1&&(this.handlers.play=this._startLoad.bind(this),this.videoElement.addEventListener("play",this.handlers.play));let e=this.hlsjsConfig.loaderBuilder();this.hls=new Ot(Le(we({},this.hlsjsConfig),{loader:e})),this.player.trigger("hlsjs-initialized",{hlsjs:this.hls,engine:e.getEngine()}),this.hls.on(Ot.Events.ERROR,(t,i)=>this._onError(t,i)),this.hls.on(Ot.Events.MANIFEST_PARSED,(t,i)=>this._onMetaData(t,i)),this.hls.on(Ot.Events.LEVEL_LOADED,(t,i)=>{this.hlsjsConfig.liveSyncDuration?this.edgeMargin=this.hlsjsConfig.liveSyncDuration:this.hlsjsConfig.liveSyncDurationCount&&(this.edgeMargin=this.hlsjsConfig.liveSyncDurationCount*i.details.targetduration),this.isLive&&!i.details.live&&(this.liveEnded=!0,this.player.trigger("hlsjs-live-ended")),this.isLive=i.details.live,this.dvrDuration=i.details.totalduration,this._duration=this.isLive?1/0:i.details.totalduration,this.isLive&&(this.maxNetworkErrorRecovery=30);}),this.registerLevelEventSwitch(),this.hls.once(Ot.Events.FRAG_LOADED,()=>{this.tech.trigger("loadedmetadata");}),this.hls.attachMedia(this.videoElement),this.hls.loadSource(this.source.src);}updateToAudioOrVideo(e,t){this.player.addClass("vjs-updating-resolution");let i=this.player.currentTime();this.dispose(),this.buildBaseConfig(),this.hlsjsConfig.autoStartLoad=!0,this.player.autoplay("play");let n=this.hlsjsConfig.loaderBuilder();this.hls=new Ot(Le(we({},this.hlsjsConfig),{loader:n,startPosition:this.duration()===1/0?void 0:i,startLevel:t})),this.player.trigger("hlsjs-initialized",{hlsjs:this.hls,engine:n.getEngine()}),this.hls.on(Ot.Events.ERROR,(r,o)=>this._onError(r,o)),this.registerLevelEventSwitch(),this.hls.attachMedia(this.videoElement),this.hls.loadSource(e),this.player.one("canplay",()=>{this.player.removeClass("vjs-updating-resolution");});}registerLevelEventSwitch(){this.hls.on(Ot.Events.LEVEL_SWITCHING,(e,t)=>{let i=t.level,n=-1;this.audioMode?i=-2:this.hls.autoLevelEnabled&&(i=-1,n=t.level),this.player.peertubeResolutions().select({id:i,autoResolutionChosenId:n,fireCallback:!1});});}buildBaseConfig(){let e=this.tech.options_,t=this.player.srOptions_,i=(t==null?void 0:t.hlsjsConfig)||e.hlsjsConfig;this.hlsjsConfig=i?we({},i):{};}getSeparateAudioTrack(){if(this.metadata.audioTracks.length!==0)return this.metadata.audioTracks[0].url;}};F(ta,"hooks",{});var ak=Object.create,cp=Object.defineProperty,lk=Object.getOwnPropertyDescriptor,gT=Object.getOwnPropertyNames,dk=Object.getPrototypeOf,uk=Object.prototype.hasOwnProperty,Me=(s,e)=>function(){return e||(0,s[gT(s)[0]])((e={exports:{}}).exports,e),e.exports;},ck=(s,e)=>{for(var t in e)cp(s,t,{get:e[t],enumerable:!0});},sp=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of gT(e))!uk.call(s,n)&&n!==t&&cp(s,n,{get:()=>e[n],enumerable:!(i=lk(e,n))||i.enumerable});return s;},hk=(s,e,t)=>(sp(s,e,"default"),t&&sp(t,e,"default")),vt=(s,e,t)=>(t=s!=null?ak(dk(s)):{},sp(e||!s||!s.__esModule?cp(t,"default",{value:s,enumerable:!0}):t,s)),fk=Me({"node_modules/ms/index.js"(s,e){var t=1e3,i=t*60,n=i*60,r=n*24,o=r*7,a=r*365.25;e.exports=function(h,f){f=f||{};var p=typeof h;
106if(p==="string"&&h.length>0)return l(h);if(p==="number"&&isFinite(h))return f.long?u(h):d(h);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(h));};function l(h){if(h=String(h),!(h.length>100)){var f=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(h);if(f){var p=parseFloat(f[1]),g=(f[2]||"ms").toLowerCase();switch(g){case"years":case"year":case"yrs":case"yr":case"y":return p*a;case"weeks":case"week":case"w":return p*o;case"days":case"day":case"d":return p*r;case"hours":case"hour":case"hrs":case"hr":case"h":return p*n;case"minutes":case"minute":case"mins":case"min":case"m":return p*i;case"seconds":case"second":case"secs":case"sec":case"s":return p*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return p;default:return;}}}}function d(h){var f=Math.abs(h);return f>=r?Math.round(h/r)+"d":f>=n?Math.round(h/n)+"h":f>=i?Math.round(h/i)+"m":f>=t?Math.round(h/t)+"s":h+"ms";}function u(h){var f=Math.abs(h);return f>=r?c(h,f,r,"day"):f>=n?c(h,f,n,"hour"):f>=i?c(h,f,i,"minute"):f>=t?c(h,f,t,"second"):h+" ms";}function c(h,f,p,g){var m=f>=p*1.5;return Math.round(h/p)+" "+g+(m?"s":"");}}}),pk=Me({"node_modules/debug/src/common.js"(s,e){function t(i){r.debug=r,r.default=r,r.coerce=c,r.disable=l,r.enable=a,r.enabled=d,r.humanize=fk(),r.destroy=h,Object.keys(i).forEac
106h(f=>{r[f]=i[f];}),r.names=[],r.skips=[],r.formatters={};function n(f){let p=0;for(let g=0;g<f.length;g++)p=(p<<5)-p+f.charCodeAt(g),p|=0;return r.colors[Math.abs(p)%r.colors.length];}r.selectColor=n;function r(f){let p,g=null,m,b;function T(...S){if(!T.enabled)return;let P=T,R=Number(new Date()),C=R-(p||R);P.diff=C,P.prev=p,P.curr=R,p=R,S[0]=r.coerce(S[0]),typeof S[0]!="string"&&S.unshift("%O");let A=0;S[0]=S[0].replace(/%([a-zA-Z%])/g,(U,j)=>{if(U==="%%")return"%";A++;let K=r.formatters[j];if(typeof K=="function"){let Y=S[A];U=K.call(P,Y),S.splice(A,1),A--;}return U;}),r.formatArgs.call(P,S),(P.log||r.log).apply(P,S);}return T.namespace=f,T.useColors=r.useColors(),T.color=r.selectColor(f),T.extend=o,T.destroy=r.destroy,Object.defineProperty(T,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(m!==r.namespaces&&(m=r.namespaces,b=r.enabled(f)),b),set:S=>{g=S;}}),typeof r.init=="function"&&r.init(T),T;}function o(f,p){let g=r(this.namespace+(typeof p>"u"?":":p)+f);return g.log=this.log,g;}function a(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let p,g=(typeof f=="string"?f:"").split(/[\s,]+/),m=g.length;for(p=0;p<m;p++)g[p]&&(f=g[p].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.slice(1)+"$")):r.names.push(new RegExp("^"+f+"$")));}function l(){let f=[...r.names.map(u),...r.skips.map(u).map(p=>"-"+p)].join(",");return r.enable(""),f;}function d(f){if(f[f.length-1]==="*")return!0;let p,g;for(p=0,g=r.skips.length;p<g;p++)if(r.skips[p].test(f))return!1;for(p=0,g=r.names.length;p<g;p++)if(r.names[p].test(f))return!0;return!1;}function u(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*");}function c(f){return f instanceof Error?f.stack||f.message:f;}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");}return r.enable(r.load()),r;}e.exports=t;}}),dn=Me({"node_modules/debug/src/browser.js"(s,e){s.formatArgs=i,s.save=n,s.load=r,s.useColors=t,s.storage=o(),s.destroy=(()=>{let l=!1;return()=>{l||(l=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."));};})(),s.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function t(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);}function i(l){if(l[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+l[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;let d="color: "+this.color;l.splice(1,0,d,"color: inherit");let u=0,c=0;l[0].replace(/%[a-zA-Z%]/g,h=>{h!=="%%"&&(u++,h==="%c"&&(c=u));}),l.splice(c,0,d);}s.log=console.debug||console.log||(()=>{});function n(l){try{l?s.storage.setItem("debug",l):s.storage.removeItem("debug");}catch{}}function r(){let l;try{l=s.storage.getItem("debug");}catch{}return!l&&typeof process<"u"&&"env"in process&&(l=process.env.DEBUG),l;}function o(){try{return localStorage;}catch{}}e.exports=pk()(s);var{formatters:a}=e.exports;a.j=function(l){try{return JSON.stringify(l);}catch(d){return"[UnexpectedJSONParseError]: "+d.message;}};}}
vendor: 6,904 bytes, line 106
106),Cr=Me({"node_modules/events/events.js"(s,e){"use strict";var t=typeof Reflect=="object"?Reflect:null,i=t&&typeof t.apply=="function"?t.apply:function(A,O,U){return Function.prototype.apply.call(A,O,U);},n;t&&typeof t.ownKeys=="function"?n=t.ownKeys:Object.getOwnPropertySymbols?n=function(A){return Object.getOwnPropertyNames(A).concat(Object.getOwnPropertySymbols(A));}:n=function(A){return Object.getOwnPropertyNames(A);};function r(C){console&&console.warn&&console.warn(C);}var o=Number.isNaN||function(A){return A!==A;};function a(){a.init.call(this);}e.exports=a,e.exports.once=S,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function d(C){if(typeof C!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof C);}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return l;},set:function(C){if(typeof C!="number"||C<0||o(C))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+C+".");l=C;}}),a.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0;},a.prototype.setMaxListeners=function(A){if(typeof A!="number"||A<0||o(A))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+A+".");return this._maxListeners=A,this;};function u(C){return C._maxListeners===void 0?a.defaultMaxListeners:C._maxListeners;}a.prototype.getMaxListeners=function(){return u(this);},a.prototype.emit=function(A){for(var O=[],U=1;U<arguments.length;U++)O.push(arguments[U]);var j=A==="error",K=this._events;if(K!==void 0)j=j&&K.error===void 0;else if(!j)return!1;if(j){var Y;if(O.length>0&&(Y=O[0]),Y instanceof Error)throw Y;var oe=new Error("Unhandled error."+(Y?" ("+Y.message+")":""));throw oe.context=Y,oe;}var Ee=K[A];if(Ee===void 0)return!1;if(typeof Ee=="function")i(Ee,this,O);else for(var xe=Ee.length,Ae=m(Ee,xe),U=0;U<xe;++U)i(Ae[U],this,O);return!0;};function c(C,A,O,U){var j,K,Y;if(d(O),K=C._events,K===void 0?(K=C._events=Object.create(null),C._eventsCount=0):(K.newListener!==void 0&&(C.emit("newListener",A,O.listener?O.listener:O),K=C._events),Y=K[A]),Y===void 0)Y=K[A]=O,++C._eventsCount;else if(typeof Y=="function"?Y=K[A]=U?[O,Y]:[Y,O]:U?Y.unshift(O):Y.push(O),j=u(C),j>0&&Y.length>j&&!Y.warned){Y.warned=!0;var oe=new Error("Possible EventEmitter memory leak detected. "+Y.length+" "+String(A)+" listeners added. Use emitter.setMaxListeners() to increase limit");oe.name="MaxListenersExceededWarning",oe.emitter=C,oe.type=A,oe.count=Y.length,r(oe);}return C;}a.prototype.addListener=function(A,O){return c(this,A,O,!1);},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(A,O){return c(this,A,O,!0);};function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments);}function f(C,A,O){var U={fired:!1,wrapFn:void 0,target:C,type:A,listener:O},j=h.bind(U);return j.listener=O,U.wrapFn=j,j;}a.prototype.once=function(A,O){return d(O),this.on(A,f(this,A,O)),this;},a.prototype.prependOnceListener=function(A,O){return d(O),this.prependListener(A,f(this,A,O)),this;},a.prototype.removeListener=function(A,O){var U,j,K,Y,oe;if(d(O),j=this._events,j===void 0)return this;if(U=j[A],U===void 0)return this;if(U===O||U.listener===O)--this._eventsCount===0?this._events=Object.create(null):(delete j[A],j.removeListener&&this.emit("removeListener",A,U.listener||O));else if(typeof U!="function"){for(K=-1,Y=U.length-1;Y>=0;Y--)if(U[Y]===O||U[Y].listener===O){oe=U[Y].listener,K=Y;break;}if(K<0)return this;K===0?U.shift():b(U,K),U.length===1&&(j[A]=U[0]),j.removeListener!==void 0&&this.emit("removeListener",A,oe||O);}return this;},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(A){var O,U,j;if(U=this._events,U===void 0)return this;if(U.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):U[A]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete U[A]),this;if(arguments.length===0){var K=Object.keys(U),Y;for(j=0;j<K.length;++j)Y=K[j],Y!=="removeListener"&&this.removeAllListeners(Y);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this;}if(O=U[A],typeof O=="function")this.removeListener(A,O);else if(O!==void 0)for(j=O.length-1;j>=0;j--)this.removeListener(A,O[j]);return this;};function p(C,A,O){var U=C._events;if(U===void 0)return[];var j=U[A];return j===void 0?[]:typeof j=="function"?O?[j.listener||j]:[j]:O?T(j):m(j,j.length);}a.prototype.listeners=function(A){return p(this,A,!0);},a.prototype.rawListeners=function(A){return p(this,A,!1);},a.listenerCount=function(C,A){return typeof C.listenerCount=="function"?C.listenerCount(A):g.call(C,A);},a.prototype.listenerCount=g;function g(C){var A=this._events;if(A!==void 0){var O=A[C];if(typeof O=="function")return 1;if(O!==void 0)return O.length;}return 0;}a.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[];};function m(C,A){for(var O=new Array(A),U=0;U<A;++U)O[U]=C[U];return O;}function b(C,A){for(;A+1<C.length;A++)C[A]=C[A+1];C.pop();}function T(C){for(var A=new Array(C.length),O=0;O<A.length;++O)A[O]=C[O].listener||C[O];return A;}function S(C,A){return new Promise(function(O,U){function j(Y){C.removeListener(A,K),U(Y);}function K(){typeof C.removeListener=="function"&&C.removeListener("error",j),O([].slice.call(arguments));}R(C,A,K,{once:!0}),A!=="error"&&P(C,j,{once:!0});});}function P(C,A,O){typeof C.on=="function"&&R(C,"error",A,O);}function R(C,A,O,U){if(typeof C.on=="function")U.once?C.once(A,O):C.on(A,O);else if(typeof C.addEventListener=="function")C.addEventListener(A,function j(K){U.once&&C.removeEventListener(A,j),O(K);});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof C);}}}),mk=Me({"node_modules/get-browser-rtc/index.js"(s,e){e.exports=function(){if(typeof globalThis>"u")return null;var i={RTCPeerConnection:globalThis.RTCPeerConnection||globalThis.mozRTCPeerConnection||globalThis.webkitRTCPeerConnection,RTCSessionDescription:globalThis.RTCSessionDescription||globalThis.mozRTCSessionDescription||globalThis.webkitRTCSessionDescription,RTCIceCandidate:globalThis.RTCIceCandidate||globalThis.mozRTCIceCandidate||globalThis.webkitRTCIceCandidate};return i.RTCPeerConnection?i:null;};}}),vT=Me({"node_modules/base64-js/index.js"(s){"use strict";s.byteLength=l,s.toByteArray=u,s.fromByteArray=f;var e=[],t=[],i=typeof Uint8Array<"u"?Uint8Array:Array,n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789
vendor: 4,576 bytes, line 106
106+/";for(r=0,o=n.length;r<o;++r)e[r]=n[r],t[n.charCodeAt(r)]=r;var r,o;t[45]=62,t[95]=63;function a(p){var g=p.length;if(g%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var m=p.indexOf("=");m===-1&&(m=g);var b=m===g?0:4-m%4;return[m,b];}function l(p){var g=a(p),m=g[0],b=g[1];return(m+b)*3/4-b;}function d(p,g,m){return(g+m)*3/4-m;}function u(p){var g,m=a(p),b=m[0],T=m[1],S=new i(d(p,b,T)),P=0,R=T>0?b-4:b,C;for(C=0;C<R;C+=4)g=t[p.charCodeAt(C)]<<18|t[p.charCodeAt(C+1)]<<12|t[p.charCodeAt(C+2)]<<6|t[p.charCodeAt(C+3)],S[P++]=g>>16&255,S[P++]=g>>8&255,S[P++]=g&255;return T===2&&(g=t[p.charCodeAt(C)]<<2|t[p.charCodeAt(C+1)]>>4,S[P++]=g&255),T===1&&(g=t[p.charCodeAt(C)]<<10|t[p.charCodeAt(C+1)]<<4|t[p.charCodeAt(C+2)]>>2,S[P++]=g>>8&255,S[P++]=g&255),S;}function c(p){return e[p>>18&63]+e[p>>12&63]+e[p>>6&63]+e[p&63];}function h(p,g,m){for(var b,T=[],S=g;S<m;S+=3)b=(p[S]<<16&16711680)+(p[S+1]<<8&65280)+(p[S+2]&255),T.push(c(b));return T.join("");}function f(p){for(var g,m=p.length,b=m%3,T=[],S=16383,P=0,R=m-b;P<R;P+=S)T.push(h(p,P,P+S>R?R:P+S));return b===1?(g=p[m-1],T.push(e[g>>2]+e[g<<4&63]+"==")):b===2&&(g=(p[m-2]<<8)+p[m-1],T.push(e[g>>10]+e[g>>4&63]+e[g<<2&63]+"=")),T.join("");}}}),_T=Me({"node_modules/ieee754/index.js"(s){s.read=function(e,t,i,n,r){var o,a,l=r*8-n-1,d=(1<<l)-1,u=d>>1,c=-7,h=i?r-1:0,f=i?-1:1,p=e[t+h];for(h+=f,o=p&(1<<-c)-1,p>>=-c,c+=l;c>0;o=o*256+e[t+h],h+=f,c-=8);for(a=o&(1<<-c)-1,o>>=-c,c+=n;c>0;a=a*256+e[t+h],h+=f,c-=8);if(o===0)o=1-u;else{if(o===d)return a?NaN:(p?-1:1)*(1/0);a=a+Math.pow(2,n),o=o-u;}return(p?-1:1)*a*Math.pow(2,o-n);},s.write=function(e,t,i,n,r,o){var a,l,d,u=o*8-r-1,c=(1<<u)-1,h=c>>1,f=r===23?Math.pow(2,-24)-Math.pow(2,-77):0,p=n?0:o-1,g=n?1:-1,m=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(l=isNaN(t)?1:0,a=c):(a=Math.floor(Math.log(t)/Math.LN2),t*(d=Math.pow(2,-a))<1&&(a--,d*=2),a+h>=1?t+=f/d:t+=f*Math.pow(2,1-h),t*d>=2&&(a++,d/=2),a+h>=c?(l=0,a=c):a+h>=1?(l=(t*d-1)*Math.pow(2,r),a=a+h):(l=t*Math.pow(2,h-1)*Math.pow(2,r),a=0));r>=8;e[i+p]=l&255,p+=g,l/=256,r-=8);for(a=a<<r|l,u+=r;u>0;e[i+p]=a&255,p+=g,a/=256,u-=8);e[i+p-g]|=m*128;};}}),hp=Me({"node_modules/buffer/index.js"(s){"use strict";var e=vT(),t=_T(),i=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;s.Buffer=a,s.SlowBuffer=T,s.INSPECT_MAX_BYTES=50;var n=2147483647;s.kMaxLength=n,a.TYPED_ARRAY_SUPPORT=r(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function r(){try{var x=new Uint8Array(1),_={foo:function(){return 42;}};return Object.setPrototypeOf(_,Uint8Array.prototype),Object.setPrototypeOf(x,_),x.foo()===42;}catch{return!1;}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer;}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset;}});function o(x){if(x>n)throw new RangeError('The value "'+x+'" is invalid for option "size"');var _=new Uint8Array(x);return Object.setPrototypeOf(_,a.prototype),_;}function a(x,_,E){if(typeof x=="number"){if(typeof _=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return c(x);}return l(x,_,E);}a.poolSize=8192;function l(x,_,E){if(typeof x=="string")return h(x,_);if(ArrayBuffer.isView(x))return p(x);if(x==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof x);if(pe(x,ArrayBuffer)||x&&pe(x.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(pe(x,SharedArrayBuffer)||x&&pe(x.buffer,SharedArrayBuffer)))return g(x,_,E);if(typeof x=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var L=x.valueOf&&x.valueOf();if(L!=null&&L!==x)return a.from(L,_,E);var G=m(x);if(G)return G;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof x[Symbol.toPrimitive]=="function")return a.from(x[Symbol.toPrimitive]("string"),_,E);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof x);}a.from=function(x,_,E){return l(x,_,E);},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function d(x){if(typeof x!="number")throw new TypeError('"size" argument must be of type number');
vendor: 17,502 bytes, line 106
106if(x<0)throw new RangeError('The value "'+x+'" is invalid for option "size"');}function u(x,_,E){return d(x),x<=0?o(x):_!==void 0?typeof E=="string"?o(x).fill(_,E):o(x).fill(_):o(x);}a.alloc=function(x,_,E){return u(x,_,E);};function c(x){return d(x),o(x<0?0:b(x)|0);}a.allocUnsafe=function(x){return c(x);},a.allocUnsafeSlow=function(x){return c(x);};function h(x,_){if((typeof _!="string"||_==="")&&(_="utf8"),!a.isEncoding(_))throw new TypeError("Unknown encoding: "+_);var E=S(x,_)|0,L=o(E),G=L.write(x,_);return G!==E&&(L=L.slice(0,G)),L;}function f(x){for(var _=x.length<0?0:b(x.length)|0,E=o(_),L=0;L<_;L+=1)E[L]=x[L]&255;return E;}function p(x){if(pe(x,Uint8Array)){var _=new Uint8Array(x);return g(_.buffer,_.byteOffset,_.byteLength);}return f(x);}function g(x,_,E){if(_<0||x.byteLength<_)throw new RangeError('"offset" is outside of buffer bounds');if(x.byteLength<_+(E||0))throw new RangeError('"length" is outside of buffer bounds');var L;return _===void 0&&E===void 0?L=new Uint8Array(x):E===void 0?L=new Uint8Array(x,_):L=new Uint8Array(x,_,E),Object.setPrototypeOf(L,a.prototype),L;}function m(x){if(a.isBuffer(x)){var _=b(x.length)|0,E=o(_);return E.length===0||x.copy(E,0,0,_),E;}if(x.length!==void 0)return typeof x.length!="number"||N(x.length)?o(0):f(x);if(x.type==="Buffer"&&Array.isArray(x.data))return f(x.data);}function b(x){if(x>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return x|0;}function T(x){return+x!=x&&(x=0),a.alloc(+x);}a.isBuffer=function(_){return _!=null&&_._isBuffer===!0&&_!==a.prototype;},a.compare=function(_,E){if(pe(_,Uint8Array)&&(_=a.from(_,_.offset,_.byteLength)),pe(E,Uint8Array)&&(E=a.from(E,E.offset,E.byteLength)),!a.isBuffer(_)||!a.isBuffer(E))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(_===E)return 0;for(var L=_.length,G=E.length,se=0,ae=Math.min(L,G);se<ae;++se)if(_[se]!==E[se]){L=_[se],G=E[se];break;}return L<G?-1:G<L?1:0;},a.isEncoding=function(_){switch(String(_).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1;}},a.concat=function(_,E){if(!Array.isArray(_))throw new TypeError('"list" argument must be an Array of Buffers');if(_.length===0)return a.alloc(0);var L;if(E===void 0)for(E=0,L=0;L<_.length;++L)E+=_[L].length;var G=a.allocUnsafe(E),se=0;for(L=0;L<_.length;++L){var ae=_[L];if(pe(ae,Uint8Array))se+ae.length>G.length?a.from(ae).copy(G,se):Uint8Array.prototype.set.call(G,ae,se);else if(a.isBuffer(ae))ae.copy(G,se);else throw new TypeError('"list" argument must be an Array of Buffers');se+=ae.length;}return G;};function S(x,_){if(a.isBuffer(x))return x.length;if(ArrayBuffer.isView(x)||pe(x,ArrayBuffer))return x.byteLength;if(typeof x!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof x);var E=x.length,L=arguments.length>2&&arguments[2]===!0;if(!L&&E===0)return 0;for(var G=!1;;)switch(_){case"ascii":case"latin1":case"binary":return E;case"utf8":case"utf-8":return k(x).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return E*2;case"hex":return E>>>1;case"base64":return ee(x).length;default:if(G)return L?-1:k(x).length;_=(""+_).toLowerCase(),G=!0;}}a.byteLength=S;function P(x,_,E){var L=!1;if((_===void 0||_<0)&&(_=0),_>this.length||((E===void 0||E>this.length)&&(E=this.length),E<=0)||(E>>>=0,_>>>=0,E<=_))return"";for(x||(x="utf8");;)switch(x){case"hex":return Te(this,_,E);case"utf8":case"utf-8":return Ee(this,_,E);case"ascii":return He(this,_,E);case"latin1":case"binary":return Xe(this,_,E);case"base64":return oe(this,_,E);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fe(this,_,E);default:if(L)throw new TypeError("Unknown encoding: "+x);x=(x+"").toLowerCase(),L=!0;}}a.prototype._isBuffer=!0;function R(x,_,E){var L=x[_];x[_]=x[E],x[E]=L;}a.prototype.swap16=function(){var _=this.length;if(_%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var E=0;E<_;E+=2)R(this,E,E+1);return this;},a.prototype.swap32=function(){var _=this.length;if(_%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var E=0;E<_;E+=4)R(this,E,E+3),R(this,E+1,E+2);return this;},a.prototype.swap64=function(){var _=this.length;if(_%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var E=0;E<_;E+=8)R(this,E,E+7),R(this,E+1,E+6),R(this,E+2,E+5),R(this,E+3,E+4);return this;},a.prototype.toString=function(){var _=this.length;return _===0?"":arguments.length===0?Ee(this,0,_):P.apply(this,arguments);},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(_){if(!a.isBuffer(_))throw new TypeError("Argument must be a Buffer");return this===_?!0:a.compare(this,_)===0;},a.prototype.inspect=function(){var _="",E=s.INSPECT_MAX_BYTES;return _=this.toString("hex",0,E).replace(/(.{2})/g,"$1 ").trim(),this.length>E&&(_+=" ... "),"<Buffer "+_+">";},i&&(a.prototype[i]=a.prototype.inspect),a.prototype.compare=function(_,E,L,G,se){if(pe(_,Uint8Array)&&(_=a.from(_,_.offset,_.byteLength)),!a.isBuffer(_))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof _);if(E===void 0&&(E=0),L===void 0&&(L=_?_.length:0),G===void 0&&(G=0),se===void 0&&(se=this.length),E<0||L>_.length||G<0||se>this.length)throw new RangeError("out of range index");if(G>=se&&E>=L)return 0;if(G>=se)return-1;if(E>=L)return 1;if(E>>>=0,L>>>=0,G>>>=0,se>>>=0,this===_)return 0;for(var ae=se-G,Ke=L-E,ot=Math.min(ae,Ke),it=this.slice(G,se),Et=_.slice(E,L),I=0;I<ot;++I)if(it[I]!==Et[I]){ae=it[I],Ke=Et[I];break;}return ae<Ke?-1:Ke<ae?1:0;};function C(x,_,E,L,G){if(x.length===0)return-1;if(typeof E=="string"?(L=E,E=0):E>2147483647?E=2147483647:E<-2147483648&&(E=-2147483648),E=+E,N(E)&&(E=G?0:x.length-1),E<0&&(E=x.length+E),E>=x.length){if(G)return-1;E=x.length-1;}else if(E<0)if(G)E=0;else return-1;if(typeof _=="string"&&(_=a.from(_,L)),a.isBuffer(_))return _.length===0?-1:A(x,_,E,L,G);if(typeof _=="number")return _=_&255,typeof Uint8Array.prototype.indexOf=="function"?G?Uint8Array.prototype.indexOf.call(x,_,E):Uint8Array.prototype.lastIndexOf.call(x,_,E):A(x,[_],E,L,G);throw new TypeError("val must be string, number or Buffer");}function A(x,_,E,L,G){var se=1,ae=x.length,Ke=_.length;if(L!==void 0&&(L=String(L).toLowerCase(),L==="ucs2"||L==="ucs-2"||L==="utf16le"||L==="utf-16le")){if(x.length<2||_.length<2)return-1;se=2,ae/=2,Ke/=2,E/=2;}function ot(y,D){return se===1?y[D]:y.readUInt16BE(D*se);}var it;if(G){var Et=-1;for(it=E;it<ae;it++)if(ot(x,it)===ot(_,Et===-1?0:it-Et)){if(Et===-1&&(Et=it),it-Et+1===Ke)return Et*se;}else Et!==-1&&(it-=it-Et),Et=-1;}else for(E+Ke>ae&&(E=ae-Ke),it=E;it>=0;it--){for(var I=!0,v=0;v<Ke;v++)if(ot(x,it+v)!==ot(_,v)){I=!1;break;}if(I)return it;}return-1;}a.prototype.includes=function(_,E,L){return this.indexOf(_,E,L)!==-1;},a.prototype.indexOf=function(_,E,L){return C(this,_,E,L,!0);},a.prototype.lastIndexOf=function(_,E,L){return C(this,_,E,L,!1);};function O(x,_,E,L){E=Number(E)||0;var G=x.length-E;L?(L=Number(L),L>G&&(L=G)):L=G;var se=_.length;L>se/2&&(L=se/2);for(var ae=0;ae<L;++ae){var Ke=parseInt(_.substr(ae*2,2),16);if(N(Ke))return ae;x[E+ae]=Ke;}return ae;}function U(x,_,E,L){return ue(k(_,x.length-E),x,E,L);}function j(x,_,E,L){return ue(M(_),x,E,L);}function K(x,_,E,L){return ue(ee(_),x,E,L);}function Y(x,_,E,L){return ue(H(_,x.length-E),x,E,L);}a.prototype.write=function(_,E,L,G){if(E===void 0)G="utf8",L=this.length,E=0;else if(L===void 0&&typeof E=="string")G=E,L=this.length,E=0;else if(isFinite(E))E=E>>>0,isFinite(L)?(L=L>>>0,G===void 0&&(G="utf8")):(G=L,L=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var se=this.length-E;if((L===void 0||L>se)&&(L=se),_.length>0&&(L<0||E<0)||E>this.length)throw new RangeError("Attempt to write outside buffer bounds");G||(G="utf8");for(var ae=!1;;)switch(G){case"hex":return O(this,_,E,L);case"utf8":case"utf-8":return U(this,_,E,L);case"ascii":case"latin1":case"binary":return j(this,_,E,L);case"base64":return K(this,_,E,L);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Y(this,_,E,L);default:if(ae)throw new TypeError("Unknown encoding: "+G);G=(""+G).toLowerCase(),ae=!0;}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)};};function oe(x,_,E){return _===0&&E===x.length?e.fromByteArray(x):e.fromByteArray(x.slice(_,E));}function Ee(x,_,E){E=Math.min(x.length,E);for(var L=[],G=_;G<E;){var se=x[G],ae=null,Ke=se>239?4:se>223?3:se>191?2:1;if(G+Ke<=E){var ot,it,Et,I;switch(Ke){case 1:se<128&&(ae=se);break;case 2:ot=x[G+1],(ot&192)===128&&(I=(se&31)<<6|ot&63,I>127&&(ae=I));break;case 3:ot=x[G+1],it=x[G+2],(ot&192)===128&&(it&192)===128&&(I=(se&15)<<12|(ot&63)<<6|it&63,I>2047&&(I<55296||I>57343)&&(ae=I));break;case 4:ot=x[G+1],it=x[G+2],Et=x[G+3],(ot&192)===128&&(it&192)===128&&(Et&192)===128&&(I=(se&15)<<18|(ot&63)<<12|(it&63)<<6|Et&63,I>65535&&I<1114112&&(ae=I));}}ae===null?(ae=65533,Ke=1):ae>65535&&(ae-=65536,L.push(ae>>>10&1023|55296),ae=56320|ae&1023),L.push(ae),G+=Ke;}return Ae(L);}var xe=4096;function Ae(x){var _=x.length;if(_<=xe)return String.fromCharCode.apply(String,x);for(var E="",L=0;L<_;)E+=String.fromCharCode.apply(String,x.slice(L,L+=xe));return E;}function He(x,_,E){var L="";E=Math.min(x.length,E);for(var G=_;G<E;++G)L+=String.fromCharCode(x[G]&127);return L;}function Xe(x,_,E){var L="";E=Math.min(x.length,E);for(var G=_;G<E;++G)L+=String.fromCharCode(x[G]);return L;}function Te(x,_,E){var L=x.length;(!_||_<0)&&(_=0),(!E||E<0||E>L)&&(E=L);for(var G="",se=_;se<E;++se)G+=V[x[se]];return G;}function fe(x,_,E){for(var L=x.slice(_,E),G="",se=0;se<L.length-1;se+=2)G+=String.fromCharCode(L[se]+L[se+1]*256);return G;}a.prototype.slice=function(_,E){var L=this.length;_=~~_,E=E===void 0?L:~~E,_<0?(_+=L,_<0&&(_=0)):_>L&&(_=L),E<0?(E+=L,E<0&&(E=0)):E>L&&(E=L),E<_&&(E=_);var G=this.subarray(_,E);return Object.setPrototypeOf(G,a.prototype),G;};function me(x,_,E){if(x%1!==0||x<0)throw new RangeError("offset is not uint");if(x+_>E)throw new RangeError("Trying to access beyond buffer length");}a.prototype.readUintLE=a.prototype.readUIntLE=function(_,E,L){_=_>>>0,E=E>>>0,L||me(_,E,this.length);for(var G=this[_],se=1,ae=0;++ae<E&&(se*=256);)G+=this[_+ae]*se;return G;},a.prototype.readUintBE=a.prototype.readUIntBE=function(_,E,L){_=_>>>0,E=E>>>0,L||me(_,E,this.length);for(var G=this[_+--E],se=1;E>0&&(se*=256);)G+=this[_+--E]*se;return G;},a.prototype.readUint8=a.prototype.readUInt8=function(_,E){return _=_>>>0,E||me(_,1,this.length),this[_];},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(_,E){return _=_>>>0,E||me(_,2,this.length),this[_]|this[_+1]<<8;},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(_,E){return _=_>>>0,E||me(_,2,this.length),this[_]<<8|this[_+1];},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(_,E){return _=_>>>0,E||me(_,4,this.length),(this[_]|this[_+1]<<8|this[_+2]<<16)+this[_+3]*16777216;},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(_,E){return _=_>>>0,E||me(_,4,this.length),this[_]*16777216+(this[_+1]<<16|this[_+2]<<8|this[_+3]);},a.prototype.readIntLE=function(_,E,L){_=_>>>0,E=E>>>0,L||me(_,E,this.length);for(var G=this[_],se=1,ae=0;++ae<E&&(se*=256);)G+=this[_+ae]*se;return se*=128,G>=se&&(G-=Math.pow(2,8*E)),G;},a.prototype.readIntBE=function(_,E,L){_=_>>>0,E=E>>>0,L||me(_,E,this.length);for(var G=E,se=1,ae=this[_+--G];G>0&&(se*=256);)ae+=this[_+--G]*se;return se*=128,ae>=se&&(ae-=Math.pow(2,8*E)),ae;},a.prototype.readInt8=function(_,E){return _=_>>>0,E||me(_,1,this.length),this[_]&128?(255-this[_]+1)*-1:this[_];},a.prototype.readInt16LE=function(_,E){_=_>>>0,E||me(_,2,this.length);var L=this[_]|this[_+1]<<8;return L&32768?L|4294901760:L;},a.prototype.readInt16BE=function(_,E){_=_>>>0,E||me(_,2,this.length);var L=this[_+1]|this[_]<<8;return L&32768?L|4294901760:L;},a.prototype.readInt32LE=function(_,E){return _=_>>>0,E||me(_,4,this.length),this[_]|this[_+1]<<8|this[_+2]<<16|this[_+3]<<24;},a.prototype.readInt32BE=function(_,E){return _=_>>>0,E||me(_,4,this.length),this[_]<<24|this[_+1]<<16|this[_+2]<<8|this[_+3];},a.prototype.readFloatLE=function(_,E){return _=_>>>0,E||me(_,4,this.length),t.read(this,_,!0,23,4);},a.prototype.readFloatBE=function(_,E){return _=_>>>0,E||me(_,4,this.length),t.read(this,_,!1,23,4);},a.prototype.readDoubleLE=function(_,E){return _=_>>>0,E||me(_,8,this.length),t.read(this,_,!0,52,8);},a.prototype.readDoubleBE=function(_,E){return _=_>>>0,E||me(_,8,this.length),t.read(this,_,!1,52,8);};function ge(x,_,E,L,G,se){if(!a.isBuffer(x))throw new TypeError('"buffer" argument must be a Buffer instance');if(_>G||_<se)throw new RangeError('"value" argument is out of bounds');if(E+L>x.length)throw new RangeError("Index out of range");}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(_,E,L,G){if(_=+_,E=E>>>0,L=L>>>0,!G){var se=Math.pow(2,8*L)-1;ge(this,_,E,L,se,0);}var ae=1,Ke=0;for(this[E]=_&255;++Ke<L&&(ae*=256);)this[E+Ke]=_/ae&255;return E+L;},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(_,E,L,G){if(_=+_,E=E>>>0,L=L>>>0,!G){var se=Math.pow(2,8*L)-1;ge(this,_,E,L,se,0);}var ae=L-1,Ke=1;for(this[E+ae]=_&255;--ae>=0&&(Ke*=256);)this[E+ae]=_/Ke&255;return E+L;},a.prototype.writeUint8=a.prototype.writeUInt8=function(_,E,L){return _=+_,E=E>>>0,L||ge(this,_,E,1,255,0),this[E]=_&255,E+1;},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(_,E,L){return _=+_,E=E>>>0,L||ge(this,_,E,2,65535,0),this[E]=_&255,this[E+1]=_>>>8,E+2;},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(_,E,L){return _=+_,E=E>>>0,L||ge(this,_,E,2,65535,0),this[E]=_>>>8,this[E+1]=_&255,E+2;},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(_,E,L){return _=+_,E=E>>>0,L||ge(this,_,E,4,4294967295,0),this[E+3]=_>>>24,this[E+2]=_>>>16,this[E+1]=_>>>8,this[E]=_&255,E+4;},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(_,E,L){return _=+_,E=E>>>0,L||ge(this,_,E,4,4294967295,0),this[E]=_>>>24,this[E+1]=_>>>16,this[E+2]=_>>>8,this[E+3]=_&255,E+4;},a.prototype.writeIntLE=function(_,E,L,G){if(_=+_,E=E>>>0,!G){var se=Math.pow(2,8*L-1);ge(this,_,E,L,se-1,-se);}var ae=0,Ke=1,ot=0;for(this[E]=_&255;++ae<L&&(Ke*=256);)_<0&&ot===0&&this[E+ae-1]!==0&&(ot=1),this[E+ae]=(_/Ke>>0)-ot&255;return E+L;},a.prototype.writeIntBE=function(_,E,L,G){if(_=+_,E=E>>>0,!G){var se=Math.pow(2,8*L-1);ge(this,_,E,L,se-1,-se);}var ae=L-1,Ke=1,ot=0;for(this[E+ae]=_&255;--ae>=0&&(Ke*=256);)_<0&&ot===0&&this[E+ae+1]!==0&&(ot=1),this[E+ae]=(_/Ke>>0)-ot&255;return E+L;},a.prototype.writeInt8=function(_,E,L){return _=+_,E=E>>>0,L||ge(this,_,E,1,127,-128),_<0&&(_=255+_+1),this[E]=_&255,E+1;},a.prototype.writeInt16LE=function(_,E,L){return _=+_,E=E>>>0,L||ge(this,_,E,2,32767,-32768),this[E]=_&255,this[E+1]=_>>>8,E+2;},a.prototype.writeInt16BE=function(_,E,L){return _=+_,E=E>>>0,L||ge(this,_,E,2,32767,-32768),this[E]=_>>>8,this[E+1]=_&255,E+2;},a.prototype.writeInt32LE=function(_,E,L){return _=+_,E=E>>>0,L||ge(this,_,E,4,2147483647,-2147483648),this[E]=_&255,this[E+1]=_>>>8,this[E+2]=_>>>16,this[E+3]=_>>>24,E+4;},a.prototype.writeInt32BE=function(_,E,L){return _=+_,E=E>>>0,L||ge(this,_,E,4,2147483647,-2147483648),_<0&&(_=4294967295+_+1),this[E]=_>>>24,this[E+1]=_>>>16,this[E+2]=_>>>8,this[E+3]=_&255,E+4;};function We(x,_,E,L,G,se){if(E+L>x.length)throw new RangeError("Index out of range");if(E<0)throw new RangeError("Index out of range");}function nt(x,_,E,L,G){return _=+_,E=E>>>0,G||We(x,_,E,4,34028234663852886e22,-34028234663852886e22),t.write(x,_,E,L,23,4),E+4;}a.prototype.writeFloatLE=function(_,E,L){return nt(this,_,E,!0,L);},a.prototype.writeFloatBE=function(_,E,L){return nt(this,_,E,!1,L);};function tt(x,_,E,L,G){return _=+_,E=E>>>0,G||We(x,_,E,8,17976931348623157e292,-17976931348623157e292),t.write(x,_,E,L,52,8),E+8;}a.prototype.writeDoubleLE=function(_,E,L){return tt(this,_,E,!0,L);},a.prototype.writeDoubleBE=function(_,E,L){return tt(this,_,E,!1,L);},a.prototype.copy=function(_,E,L,G){if(!a.isBuffer(_))throw new TypeError("argument should be a Buffer");if(L||(L=0),!G&&G!==0&&(G=this.length),E>=_.length&&(E=_.length),E||(E=0),G>0&&G<L&&(G=L),G===L||_.length===0||this.length===0)return 0;if(E<0)throw new RangeError("targetStart out of bounds");if(L<0||L>=this.length)throw new RangeError("Index out of range");if(G<0)throw new RangeError("sourceEnd out of bounds");G>this.length&&(G=this.length),_.length-E<G-L&&(G=_.length-E+L);var se=G-L;return this===_&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(E,L,G):Uint8Array.prototype.set.call(_,this.subarray(L,G),E),se;},a.prototype.fill=function(_,E,L,G){if(typeof _=="string"){if(typeof E=="string"?(G=E,E=0,L=this.length):typeof L=="string"&&(G=L,L=this.length),G!==void 0&&typeof G!="string")throw new TypeError("encoding must be a string");if(typeof G=="string"&&!a.isEncoding(G))throw new TypeError("Unknown encoding: "+G);if(_.length===1){var se=_.charCodeAt(0);(G==="utf8"&&se<128||G==="latin1")&&(_=se);}}else typeof _=="number"?_=_&255:typeof _=="boolean"&&(_=Number(_));if(E<0||this.length<E||this.length<L)throw new RangeError("Out of range index");if(L<=E)return this;E=E>>>0,L=L===void 0?this.length:L>>>0,_||(_=0);var ae;if(typeof _=="number")for(ae=E;ae<L;++ae)this[ae]=_;else{var Ke=a.isBuffer(_)?_:a.from(_,G),ot=Ke.length;
106if(ot===0)throw new TypeError('The value "'+_+'" is invalid for argument "value"');for(ae=0;ae<L-E;++ae)this[ae+E]=Ke[ae%ot];}return this;};var dt=/[^+/0-9A-Za-z-_]/g;function Tt(x){if(x=x.split("=")[0],x=x.trim().replace(dt,""),x.length<2)return"";for(;x.length%4!==0;)x=x+"=";return x;}function k(x,_){_=_||1/0;for(var E,L=x.length,G=null,se=[],ae=0;ae<L;++ae){if(E=x.charCodeAt(ae),E>55295&&E<57344){if(!G){if(E>56319){(_-=3)>-1&&se.push(239,191,189);continue;}else if(ae+1===L){(_-=3)>-1&&se.push(239,191,189);continue;}G=E;continue;}if(E<56320){(_-=3)>-1&&se.push(239,191,189),G=E;continue;}E=(G-55296<<10|E-56320)+65536;}else G&&(_-=3)>-1&&se.push(239,191,189);if(G=null,E<128){if((_-=1)<0)break;se.push(E);}else if(E<2048){if((_-=2)<0)break;se.push(E>>6|192,E&63|128);}else if(E<65536){if((_-=3)<0)break;se.push(E>>12|224,E>>6&63|128,E&63|128);}else if(E<1114112){if((_-=4)<0)break;se.push(E>>18|240,E>>12&63|128,E>>6&63|128,E&63|128);}else throw new Error("Invalid code point");}return se;}function M(x){for(var _=[],E=0;E<x.length;++E)_.push(x.charCodeAt(E)&255);return _;}function H(x,_){for(var E,L,G,se=[],ae=0;ae<x.length&&!((_-=2)<0);++ae)E=x.charCodeAt(ae),L=E>>8,G=E%256,se.push(G),se.push(L);return se;}function ee(x){return e.toByteArray(Tt(x));}function ue(x,_,E,L){for(var G=0;G<L&&!(G+E>=_.length||G>=x.length);++G)_[G+E]=x[G];return G;}function pe(x,_){return x instanceof _||x!=null&&x.constructor!=null&&x.constructor.name!=null&&x.constructor.name===_.name;}function N(x){return x!==x;}var V=function(){for(var x="0123456789abcdef",_=new Array(256),E=0;E<16;++E)for(var L=E*16,G=0;G<16;++G)_[L+G]=x[E]+x[G];return _;}();}}),Ud=Me({"node_modules/safe-buffer/index.js"(s,e){var t=hp(),i=t.Buffer;function n(o,a){for(var l in o)a[l]=o[l];}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=t:(n(t,s),s.Buffer=r);function r(o,a,l){return i(o,a,l);}r.prototype=Object.create(i.prototype),n(i,r),r.from=function(o,a,l){if(typeof o=="number")throw new TypeError("Argument must not be a number");return i(o,a,l);},r.alloc=function(o,a,l){if(typeof o!="number")throw new TypeError("Argument must be a number");var d=i(o);return a!==void 0?typeof l=="string"?d.fill(a,l):d.fill(a):d.fill(0),d;},r.allocUnsafe=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return i(o);},r.allocUnsafeSlow=function(o){if(typeof o!="number")throw new TypeError("Argument must be a number");return t.SlowBuffer(o);};}}),gk=Me({"node_modules/randombytes/browser.js"(s,e){"use strict";var t=65536,i=4294967295;function n(){throw new Error(`Secure random number generation is not supported by this browser. 107Use Chrome, Firefox or Internet Explorer 11`);}var r=Ud().Buffer,o=global.crypto||global.msCrypto;o&&o.getRandomValues?e.exports=a:e.exports=n;function a(l,d){if(l>i)throw new RangeError("requested too many random bytes");var u=r.allocUnsafe(l);if(l>0)if(l>t)for(var c=0;c<l;c+=t)o.getRandomValues(u.slice(c,c+t));else o.getRandomValues(u);return typeof d=="function"?process.nextTick(function(){d(null,u);}):u;}}}),yT=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/internal/streams/stream-browser.js"(s,e){e.exports=Cr().EventEmitter;}}),Hd=Me({"node_modules/simple-peer/node_modules/buffer/index.js"(s){"use strict";var e=vT(),t=_T(),i=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;s.Buffer=a,s.SlowBuffer=T,s.INSPECT_MAX_BYTES=50;var n=2147483647;s.kMaxLength=n,a.TYPED_ARRAY_SUPPORT=r(),!a.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function r(){try{let I=new Uint8Array(1),v={foo:function(){return 42;}};return Object.setPrototypeOf(v,Uint8Array.prototype),Object.setPrototypeOf(I,v),I.foo()===42;}catch{return!1;}}Object.defineProperty(a.prototype,"parent",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.buffer;}}),Object.defineProperty(a.prototype,"offset",{enumerable:!0,get:function(){if(a.isBuffer(this))return this.byteOffset;}});function o(I){if(I>
vendor: 20,505 bytes, line 107
107n)throw new RangeError('The value "'+I+'" is invalid for option "size"');let v=new Uint8Array(I);return Object.setPrototypeOf(v,a.prototype),v;}function a(I,v,y){if(typeof I=="number"){if(typeof v=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return c(I);}return l(I,v,y);}a.poolSize=8192;function l(I,v,y){if(typeof I=="string")return h(I,v);if(ArrayBuffer.isView(I))return p(I);if(I==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof I);if(ae(I,ArrayBuffer)||I&&ae(I.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(ae(I,SharedArrayBuffer)||I&&ae(I.buffer,SharedArrayBuffer)))return g(I,v,y);if(typeof I=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let D=I.valueOf&&I.valueOf();if(D!=null&&D!==I)return a.from(D,v,y);let $=m(I);if($)return $;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof I[Symbol.toPrimitive]=="function")return a.from(I[Symbol.toPrimitive]("string"),v,y);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof I);}a.from=function(I,v,y){return l(I,v,y);},Object.setPrototypeOf(a.prototype,Uint8Array.prototype),Object.setPrototypeOf(a,Uint8Array);function d(I){if(typeof I!="number")throw new TypeError('"size" argument must be of type number');if(I<0)throw new RangeError('The value "'+I+'" is invalid for option "size"');}function u(I,v,y){return d(I),I<=0?o(I):v!==void 0?typeof y=="string"?o(I).fill(v,y):o(I).fill(v):o(I);}a.alloc=function(I,v,y){return u(I,v,y);};function c(I){return d(I),o(I<0?0:b(I)|0);}a.allocUnsafe=function(I){return c(I);},a.allocUnsafeSlow=function(I){return c(I);};function h(I,v){if((typeof v!="string"||v==="")&&(v="utf8"),!a.isEncoding(v))throw new TypeError("Unknown encoding: "+v);let y=S(I,v)|0,D=o(y),$=D.write(I,v);return $!==y&&(D=D.slice(0,$)),D;}function f(I){let v=I.length<0?0:b(I.length)|0,y=o(v);for(let D=0;D<v;D+=1)y[D]=I[D]&255;return y;}function p(I){if(ae(I,Uint8Array)){let v=new Uint8Array(I);return g(v.buffer,v.byteOffset,v.byteLength);}return f(I);}function g(I,v,y){if(v<0||I.byteLength<v)throw new RangeError('"offset" is outside of buffer bounds');if(I.byteLength<v+(y||0))throw new RangeError('"length" is outside of buffer bounds');let D;return v===void 0&&y===void 0?D=new Uint8Array(I):y===void 0?D=new Uint8Array(I,v):D=new Uint8Array(I,v,y),Object.setPrototypeOf(D,a.prototype),D;}function m(I){if(a.isBuffer(I)){let v=b(I.length)|0,y=o(v);return y.length===0||I.copy(y,0,0,v),y;}if(I.length!==void 0)return typeof I.length!="number"||Ke(I.length)?o(0):f(I);if(I.type==="Buffer"&&Array.isArray(I.data))return f(I.data);}function b(I){if(I>=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return I|0;}function T(I){return+I!=I&&(I=0),a.alloc(+I);}a.isBuffer=function(v){return v!=null&&v._isBuffer===!0&&v!==a.prototype;},a.compare=function(v,y){if(ae(v,Uint8Array)&&(v=a.from(v,v.offset,v.byteLength)),ae(y,Uint8Array)&&(y=a.from(y,y.offset,y.byteLength)),!a.isBuffer(v)||!a.isBuffer(y))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(v===y)return 0;let D=v.length,$=y.length;for(let Z=0,ne=Math.min(D,$);Z<ne;++Z)if(v[Z]!==y[Z]){D=v[Z],$=y[Z];break;}return D<$?-1:$<D?1:0;},a.isEncoding=function(v){switch(String(v).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1;}},a.concat=function(v,y){if(!Array.isArray(v))throw new TypeError('"list" argument must be an Array of Buffers');if(v.length===0)return a.alloc(0);let D;if(y===void 0)for(y=0,D=0;D<v.length;++D)y+=v[D].length;let $=a.allocUnsafe(y),Z=0;for(D=0;D<v.length;++D){let ne=v[D];if(ae(ne,Uint8Array))Z+ne.length>$.length?(a.isBuffer(ne)||(ne=a.from(ne)),ne.copy($,Z)):Uint8Array.prototype.set.call($,ne,Z);else if(a.isBuffer(ne))ne.copy($,Z);else throw new TypeError('"list" argument must be an Array of Buffers');Z+=ne.length;}return $;};function S(I,v){if(a.isBuffer(I))return I.length;if(ArrayBuffer.isView(I)||ae(I,ArrayBuffer))return I.byteLength;if(typeof I!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof I);let y=I.length,D=arguments.length>2&&arguments[2]===!0;if(!D&&y===0)return 0;let $=!1;for(;;)switch(v){case"ascii":case"latin1":case"binary":return y;case"utf8":case"utf-8":return _(I).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return y*2;case"hex":return y>>>1;case"base64":return G(I).length;default:if($)return D?-1:_(I).length;v=(""+v).toLowerCase(),$=!0;}}a.byteLength=S;function P(I,v,y){let D=!1;if((v===void 0||v<0)&&(v=0),v>this.length||((y===void 0||y>this.length)&&(y=this.length),y<=0)||(y>>>=0,v>>>=0,y<=v))return"";for(I||(I="utf8");;)switch(I){case"hex":return Te(this,v,y);case"utf8":case"utf-8":return Ee(this,v,y);case"ascii":return He(this,v,y);case"latin1":case"binary":return Xe(this,v,y);case"base64":return oe(this,v,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return fe(this,v,y);default:if(D)throw new TypeError("Unknown encoding: "+I);I=(I+"").toLowerCase(),D=!0;}}a.prototype._isBuffer=!0;function R(I,v,y){let D=I[v];I[v]=I[y],I[y]=D;}a.prototype.swap16=function(){let v=this.length;if(v%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let y=0;y<v;y+=2)R(this,y,y+1);return this;},a.prototype.swap32=function(){let v=this.length;if(v%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let y=0;y<v;y+=4)R(this,y,y+3),R(this,y+1,y+2);return this;},a.prototype.swap64=function(){let v=this.length;if(v%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let y=0;y<v;y+=8)R(this,y,y+7),R(this,y+1,y+6),R(this,y+2,y+5),R(this,y+3,y+4);return this;},a.prototype.toString=function(){let v=this.length;return v===0?"":arguments.length===0?Ee(this,0,v):P.apply(this,arguments);},a.prototype.toLocaleString=a.prototype.toString,a.prototype.equals=function(v){if(!a.isBuffer(v))throw new TypeError("Argument must be a Buffer");return this===v?!0:a.compare(this,v)===0;},a.prototype.inspect=function(){let v="",y=s.INSPECT_MAX_BYTES;return v=this.toString("hex",0,y).replace(/(.{2})/g,"$1 ").trim(),this.length>y&&(v+=" ... "),"<Buffer "+v+">";},i&&(a.prototype[i]=a.prototype.inspect),a.prototype.compare=function(v,y,D,$,Z){if(ae(v,Uint8Array)&&(v=a.from(v,v.offset,v.byteLength)),!a.isBuffer(v))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof v);if(y===void 0&&(y=0),D===void 0&&(D=v?v.length:0),$===void 0&&($=0),Z===void 0&&(Z=this.length),y<0||D>v.length||$<0||Z>this.length)throw new RangeError("out of range index");if($>=Z&&y>=D)return 0;if($>=Z)return-1;if(y>=D)return 1;if(y>>>=0,D>>>=0,$>>>=0,Z>>>=0,this===v)return 0;let ne=Z-$,Qe=D-y,Rt=Math.min(ne,Qe),_t=this.slice($,Z),Pt=v.slice(y,D);for(let ft=0;ft<Rt;++ft)if(_t[ft]!==Pt[ft]){ne=_t[ft],Qe=Pt[ft];break;}return ne<Qe?-1:Qe<ne?1:0;};function C(I,v,y,D,$){if(I.length===0)return-1;if(typeof y=="string"?(D=y,y=0):y>2147483647?y=2147483647:y<-2147483648&&(y=-2147483648),y=+y,Ke(y)&&(y=$?0:I.length-1),y<0&&(y=I.length+y),y>=I.length){if($)return-1;y=I.length-1;}else if(y<0)if($)y=0;else return-1;if(typeof v=="string"&&(v=a.from(v,D)),a.isBuffer(v))return v.length===0?-1:A(I,v,y,D,$);if(typeof v=="number")return v=v&255,typeof Uint8Array.prototype.indexOf=="function"?$?Uint8Array.prototype.indexOf.call(I,v,y):Uint8Array.prototype.lastIndexOf.call(I,v,y):A(I,[v],y,D,$);throw new TypeError("val must be string, number or Buffer");}function A(I,v,y,D,$){let Z=1,ne=I.length,Qe=v.length;if(D!==void 0&&(D=String(D).toLowerCase(),D==="ucs2"||D==="ucs-2"||D==="utf16le"||D==="utf-16le")){if(I.length<2||v.length<2)return-1;Z=2,ne/=2,Qe/=2,y/=2;}function Rt(Pt,ft){return Z===1?Pt[ft]:Pt.readUInt16BE(ft*Z);}let _t;if($){let Pt=-1;for(_t=y;_t<ne;_t++)if(Rt(I,_t)===Rt(v,Pt===-1?0:_t-Pt)){if(Pt===-1&&(Pt=_t),_t-Pt+1===Qe)return Pt*Z;}else Pt!==-1&&(_t-=_t-Pt),Pt=-1;}else for(y+Qe>ne&&(y=ne-Qe),_t=y;_t>=0;_t--){let Pt=!0;for(let ft=0;ft<Qe;ft++)if(Rt(I,_t+ft)!==Rt(v,ft)){Pt=!1;break;}if(Pt)return _t;}return-1;}a.prototype.includes=function(v,y,D){return this.indexOf(v,y,D)!==-1;},a.prototype.indexOf=function(v,y,D){return C(this,v,y,D,!0);},a.prototype.lastIndexOf=function(v,y,D){return C(this,v,y,D,!1);};function O(I,v,y,D){y=Number(y)||0;let $=I.length-y;D?(D=Number(D),D>$&&(D=$)):D=$;let Z=v.length;D>Z/2&&(D=Z/2);let ne;for(ne=0;ne<D;++ne){let Qe=parseInt(v.substr(ne*2,2),16);if(Ke(Qe))return ne;I[y+ne]=Qe;}return ne;}function U(I,v,y,D){return se(_(v,I.length-y),I,y,D);}function j(I,v,y,D){return se(E(v),I,y,D);}function K(I,v,y,D){return se(G(v),I,y,D);}function Y(I,v,y,D){return se(L(v,I.length-y),I,y,D);}a.prototype.write=function(v,y,D,$){if(y===void 0)$="utf8",D=this.length,y=0;else if(D===void 0&&typeof y=="string")$=y,D=this.length,y=0;else if(isFinite(y))y=y>>>0,isFinite(D)?(D=D>>>0,$===void 0&&($="utf8")):($=D,D=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let Z=this.length-y;if((D===void 0||D>Z)&&(D=Z),v.length>0&&(D<0||y<0)||y>this.length)throw new RangeError("Attempt to write outside buffer bounds");$||($="utf8");let ne=!1;for(;;)switch($){case"hex":return O(this,v,y,D);case"utf8":case"utf-8":return U(this,v,y,D);case"ascii":case"latin1":case"binary":return j(this,v,y,D);case"base64":return K(this,v,y,D);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Y(this,v,y,D);default:if(ne)throw new TypeError("Unknown encoding: "+$);$=(""+$).toLowerCase(),ne=!0;}},a.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)};};function oe(I,v,y){return v===0&&y===I.length?e.fromByteArray(I):e.fromByteArray(I.slice(v,y));}function Ee(I,v,y){y=Math.min(I.length,y);let D=[],$=v;for(;$<y;){let Z=I[$],ne=null,Qe=Z>239?4:Z>223?3:Z>191?2:1;if($+Qe<=y){let Rt,_t,Pt,ft;switch(Qe){case 1:Z<128&&(ne=Z);break;case 2:Rt=I[$+1],(Rt&192)===128&&(ft=(Z&31)<<6|Rt&63,ft>127&&(ne=ft));break;case 3:Rt=I[$+1],_t=I[$+2],(Rt&192)===128&&(_t&192)===128&&(ft=(Z&15)<<12|(Rt&63)<<6|_t&63,ft>2047&&(ft<55296||ft>57343)&&(ne=ft));break;case 4:Rt=I[$+1],_t=I[$+2],Pt=I[$+3],(Rt&192)===128&&(_t&192)===128&&(Pt&192)===128&&(ft=(Z&15)<<18|(Rt&63)<<12|(_t&63)<<6|Pt&63,ft>65535&&ft<1114112&&(ne=ft));}}ne===null?(ne=65533,Qe=1):ne>65535&&(ne-=65536,D.push(ne>>>10&1023|55296),ne=56320|ne&1023),D.push(ne),$+=Qe;}return Ae(D);}var xe=4096;function Ae(I){let v=I.length;if(v<=xe)return String.fromCharCode.apply(String,I);let y="",D=0;for(;D<v;)y+=String.fromCharCode.apply(String,I.slice(D,D+=xe));return y;}function He(I,v,y){let D="";y=Math.min(I.length,y);for(let $=v;$<y;++$)D+=String.fromCharCode(I[$]&127);return D;}function Xe(I,v,y){let D="";y=Math.min(I.length,y);for(let $=v;$<y;++$)D+=String.fromCharCode(I[$]);return D;}function Te(I,v,y){let D=I.length;(!v||v<0)&&(v=0),(!y||y<0||y>D)&&(y=D);let $="";for(let Z=v;Z<y;++Z)$+=ot[I[Z]];return $;}function fe(I,v,y){let D=I.slice(v,y),$="";for(let Z=0;Z<D.length-1;Z+=2)$+=String.fromCharCode(D[Z]+D[Z+1]*256);return $;}a.prototype.slice=function(v,y){let D=this.length;v=~~v,y=y===void 0?D:~~y,v<0?(v+=D,v<0&&(v=0)):v>D&&(v=D),y<0?(y+=D,y<0&&(y=0)):y>D&&(y=D),y<v&&(y=v);let $=this.subarray(v,y);return Object.setPrototypeOf($,a.prototype),$;};function me(I,v,y){if(I%1!==0||I<0)throw new RangeError("offset is not uint");if(I+v>y)throw new RangeError("Trying to access beyond buffer length");}a.prototype.readUintLE=a.prototype.readUIntLE=function(v,y,D){v=v>>>0,y=y>>>0,D||me(v,y,this.length);let $=this[v],Z=1,ne=0;for(;++ne<y&&(Z*=256);)$+=this[v+ne]*Z;return $;},a.prototype.readUintBE=a.prototype.readUIntBE=function(v,y,D){v=v>>>0,y=y>>>0,D||me(v,y,this.length);let $=this[v+--y],Z=1;for(;y>0&&(Z*=256);)$+=this[v+--y]*Z;return $;},a.prototype.readUint8=a.prototype.readUInt8=function(v,y){return v=v>>>0,y||me(v,1,this.length),this[v];},a.prototype.readUint16LE=a.prototype.readUInt16LE=function(v,y){return v=v>>>0,y||me(v,2,this.length),this[v]|this[v+1]<<8;},a.prototype.readUint16BE=a.prototype.readUInt16BE=function(v,y){return v=v>>>0,y||me(v,2,this.length),this[v]<<8|this[v+1];},a.prototype.readUint32LE=a.prototype.readUInt32LE=function(v,y){return v=v>>>0,y||me(v,4,this.length),(this[v]|this[v+1]<<8|this[v+2]<<16)+this[v+3]*16777216;},a.prototype.readUint32BE=a.prototype.readUInt32BE=function(v,y){return v=v>>>0,y||me(v,4,this.length),this[v]*16777216+(this[v+1]<<16|this[v+2]<<8|this[v+3]);},a.prototype.readBigUInt64LE=it(function(v){v=v>>>0,pe(v,"offset");let y=this[v],D=this[v+7];(y===void 0||D===void 0)&&N(v,this.length-8);let $=y+this[++v]*2**8+this[++v]*2**16+this[++v]*2**24,Z=this[++v]+this[++v]*2**8+this[++v]*2**16+D*2**24;return BigInt($)+(BigInt(Z)<<BigInt(32));}),a.prototype.readBigUInt64BE=it(function(v){v=v>>>0,pe(v,"offset");let y=this[v],D=this[v+7];(y===void 0||D===void 0)&&N(v,this.length-8);let $=y*2**24+this[++v]*2**16+this[++v]*2**8+this[++v],Z=this[++v]*2**24+this[++v]*2**16+this[++v]*2**8+D;return(BigInt($)<<BigInt(32))+BigInt(Z);}),a.prototype.readIntLE=function(v,y,D){v=v>>>0,y=y>>>0,D||me(v,y,this.length);let $=this[v],Z=1,ne=0;for(;++ne<y&&(Z*=256);)$+=this[v+ne]*Z;return Z*=128,$>=Z&&($-=Math.pow(2,8*y)),$;},a.prototype.readIntBE=function(v,y,D){v=v>>>0,y=y>>>0,D||me(v,y,this.length);let $=y,Z=1,ne=this[v+--$];for(;$>0&&(Z*=256);)ne+=this[v+--$]*Z;return Z*=128,ne>=Z&&(ne-=Math.pow(2,8*y)),ne;},a.prototype.readInt8=function(v,y){return v=v>>>0,y||me(v,1,this.length),this[v]&128?(255-this[v]+1)*-1:this[v];},a.prototype.readInt16LE=function(v,y){v=v>>>0,y||me(v,2,this.length);let D=this[v]|this[v+1]<<8;return D&32768?D|4294901760:D;},a.prototype.readInt16BE=function(v,y){v=v>>>0,y||me(v,2,this.length);let D=this[v+1]|this[v]<<8;return D&32768?D|4294901760:D;},a.prototype.readInt32LE=function(v,y){return v=v>>>0,y||me(v,4,this.length),this[v]|this[v+1]<<8|this[v+2]<<16|this[v+3]<<24;},a.prototype.readInt32BE=function(v,y){return v=v>>>0,y||me(v,4,this.length),this[v]<<24|this[v+1]<<16|this[v+2]<<8|this[v+3];},a.prototype.readBigInt64LE=it(function(v){v=v>>>0,pe(v,"offset");let y=this[v],D=this[v+7];(y===void 0||D===void 0)&&N(v,this.length-8);let $=this[v+4]+this[v+5]*2**8+this[v+6]*2**16+(D<<24);return(BigInt($)<<BigInt(32))+BigInt(y+this[++v]*2**8+this[++v]*2**16+this[++v]*2**24);}),a.prototype.readBigInt64BE=it(function(v){v=v>>>0,pe(v,"offset");let y=this[v],D=this[v+7];(y===void 0||D===void 0)&&N(v,this.length-8);let $=(y<<24)+this[++v]*2**16+this[++v]*2**8+this[++v];return(BigInt($)<<BigInt(32))+BigInt(this[++v]*2**24+this[++v]*2**16+this[++v]*2**8+D);}),a.prototype.readFloatLE=function(v,y){return v=v>>>0,y||me(v,4,this.length),t.read(this,v,!0,23,4);},a.prototype.readFloatBE=function(v,y){return v=v>>>0,y||me(v,4,this.length),t.read(this,v,!1,23,4);},a.prototype.readDoubleLE=function(v,y){return v=v>>>0,y||me(v,8,this.length),t.read(this,v,!0,52,8);},a.prototype.readDoubleBE=function(v,y){return v=v>>>0,y||me(v,8,this.length),t.read(this,v,!1,52,8);};function ge(I,v,y,D,$,Z){if(!a.isBuffer(I))throw new TypeError('"buffer" argument must be a Buffer instance');if(v>$||v<Z)throw new RangeError('"value" argument is out of bounds');if(y+D>I.length)throw new RangeError("Index out of range");}a.prototype.writeUintLE=a.prototype.writeUIntLE=function(v,y,D,$){if(v=+v,y=y>>>0,D=D>>>0,!$){let Qe=Math.pow(2,8*D)-1;ge(this,v,y,D,Qe,0);}let Z=1,ne=0;for(this[y]=v&255;++ne<D&&(Z*=256);)this[y+ne]=v/Z&255;return y+D;},a.prototype.writeUintBE=a.prototype.writeUIntBE=function(v,y,D,$){if(v=+v,y=y>>>0,D=D>>>0,!$){let Qe=Math.pow(2,8*D)-1;ge(this,v,y,D,Qe,0);}let Z=D-1,ne=1;for(this[y+Z]=v&255;--Z>=0&&(ne*=256);)this[y+Z]=v/ne&255;return y+D;},a.prototype.writeUint8=a.prototype.writeUInt8=function(v,y,D){return v=+v,y=y>>>0,D||ge(this,v,y,1,255,0),this[y]=v&255,y+1;},a.prototype.writeUint16LE=a.prototype.writeUInt16LE=function(v,y,D){return v=+v,y=y>>>0,D||ge(this,v,y,2,65535,0),this[y]=v&255,this[y+1]=v>>>8,y+2;},a.prototype.writeUint16BE=a.prototype.writeUInt16BE=function(v,y,D){return v=+v,y=y>>>0,D||ge(this,v,y,2,65535,0),this[y]=v>>>8,this[y+1]=v&255,y+2;},a.prototype.writeUint32LE=a.prototype.writeUInt32LE=function(v,y,D){return v=+v,y=y>>>0,D||ge(this,v,y,4,4294967295,0),this[y+3]=v>>>24,this[y+2]=v>>>16,this[y+1]=v>>>8,this[y]=v&255,y+4;},a.prototype.writeUint32BE=a.prototype.writeUInt32BE=function(v,y,D){return v=+v,y=y>>>0,D||ge(this,v,y,4,4294967295,0),this[y]=v>>>24,this[y+1]=v>>>16,this[y+2]=v>>>8,this[y+3]=v&255,y+4;};function We(I,v,y,D,$){ue(v,D,$,I,y,7);let Z=Number(v&BigInt(4294967295));I[y++]=Z,Z=Z>>8,I[y++]=Z,Z=Z>>8,I[y++]=Z,Z=Z>>8,I[y++]=Z;let ne=Number(v>>BigInt(32)&BigInt(4294967295));return I[y++]=ne,ne=ne>>8,I[y++]=ne,ne=ne>>8,I[y++]=ne,ne=ne>>8,I[y++]=ne,y;}function nt(I,v,y,D,$){ue(v,D,$,I,y,7);let Z=Number(v&BigInt(4294967295));I[y+7]=Z,Z=Z>>8,I[y+6]=Z,Z=Z>>8,I[y+5]=Z,Z=Z>>8,I[y+4]=Z;let ne=Number(v>>BigInt(32)&BigInt(4294967295));return I[y+3]=ne,ne=ne>>8,I[y+2]=ne,ne=ne>>8,I[y+1]=ne,ne=ne>>8,I[y]=ne,y+8;}a.prototype.writeBigUInt64LE=it(function(v,y=0){return We(this,v,y,BigInt(0),BigInt("0xffffffffffffffff"));}),a.prototype.writeBigUInt64BE=it(function(v,y=0){return nt(this,v,y,BigInt(0),BigInt("0xffffffffffffffff"));}),a.prototype.writeIntLE=function(v,y,D,$){if(v=+v,y=y>>>0,!$){let Rt=Math.pow(2,8*D-1);ge(this,v,y,D,Rt-1,-Rt);}let Z=0,ne=1,Qe=0;for(this[y]=v&255;++Z<D&&(ne*=256);)v<0&&Qe===0&&this[y+Z-1]!==0&&(Qe=1),this[y+Z]=(v/ne>>0)-Qe&255;return y+D;},a.prototype.writeIntBE=function(v,y,D,$){if(v=+v,y=y>>>0,!$){let Rt=Math.pow(2,8*D-1);ge(this,v,y,D,Rt-1,-Rt);}let Z=D-1,ne=1,Qe=0;for(this[y+Z]=v&255;--Z>=0&&(ne*=256);)v<0&&Qe===0&&this[y+Z+1]!==0&&(Qe=1),this[y+Z]=(v/ne>>0)-Qe&255;return y+D;},a.prototype.writeInt8=function(v,y,D){return v=+v,y=y>>>0,D||ge(this,v,y,1,127,-128),v<0&&(v=255+v+1),this[y]=v&255,y+1;},a.prototype.writeInt16LE=function(v,y,D){return v=+v,y=y>>>0,D||ge(this,v,y,2,32767,-32768),this[y]=v&255,this[y+1]=v>>>8,y+2;},a.prototype.writeInt16BE=function(v,y,D){return v=+v,y=y>>>0,D||ge(this,v,y,2,32767,-32768),this[y]=v>>>8,this[y+1]=v&255,y+2;},a.prototype.writeInt32LE=function(v,y,D){return v=+v,y=y>>>0,D||ge(this,v,y,4,2147483647,-2147483648),this[y]=v&255,this[y+1]=v>>>8,this[y+2]=v>>>16,this[y+3]=v>>>24,y+4;},a.prototype.writeInt32BE=function(v,y,D){return v=+v,y=y>>>0,D||ge(this,v,y,4,2147483647,-2147483648),v<0&&(v=4294967295+v+1),this[y]=v>>>24,this[y+1]=v>>>16,this[y+2]=v>>>8,this[y+3]=v&255,y+4;},a.prototype.writeBigInt64LE=it(function(v,y=0){return We(this,v,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"));}),a.prototype.writeBigInt64BE=it(function(v,y=0){return nt(this,v,y,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"));});function tt(I,v,y,D,$,Z){if(y+D>I.length)throw new RangeError("Index out of range");if(y<0)throw new RangeError("Index out of range");}function dt(I,v,y,D,$){return v=+v,y=y>>>0,$||tt(I,v,y,4,34028234663852886e22,-34028234663852886e22),t.write(I,v,y,D,23,4),y+4;}a.prototype.writeFloatLE=function(v,y,D){return dt(this,v,y,!0,D);},a.prototype.writeFloatBE=function(v,y,D){return dt(this,v,y,!1,D);};function Tt(I,v,y,D,$){return v=+v,y=y>>>0,$||tt(I,v,y,8,17976931348623157e292,-17976931348623157e292),t.write(I,v,y,D,52,8),y+8;}a.prototype.writeDoubleLE=function(v,y,D){return Tt(this,v,y,!0,D);},a.prototype.writeDoubleBE=function(v,y,D){return Tt(this,v,y,!1,D);},a.prototype.copy=function(v,y,D,$){if(!a.isBuffer(v))throw new TypeError("argument should be a Buffer");if(D||(D=0),!$&&$!==0&&($=this.length),y>=v.length&&(y=v.length),y||(y=0),$>0&&$<D&&($=D),$===D||v.length===0||this.length===0)return 0;if(y<0)throw new RangeError("targetStart out of bounds");if(D<0||D>=this.length)throw new RangeError("Index out of range");if($<0)throw new RangeError("sourceEnd out of bounds");$>this.length&&($=this.length),v.length-y<$-D&&($=v.length-y+D);let Z=$-D;return this===v&&typeof Uint8Array.prototype.copyWithin=="function"?this.copyWithin(y,D,$):Uint8Array.prototype.set.call(v,this.subarray(D,$),y),Z;},a.prototype.fill=function(v,y,D,$){if(typeof v=="string"){if(typeof y=="string"?($=y,y=0,D=this.length):typeof D=="str
107ing"&&($=D,D=this.length),$!==void 0&&typeof $!="string")throw new TypeError("encoding must be a string");if(typeof $=="string"&&!a.isEncoding($))throw new TypeError("Unknown encoding: "+$);if(v.length===1){let ne=v.charCodeAt(0);($==="utf8"&&ne<128||$==="latin1")&&(v=ne);}}else typeof v=="number"?v=v&255:typeof v=="boolean"&&(v=Number(v));if(y<0||this.length<y||this.length<D)throw new RangeError("Out of range index");if(D<=y)return this;y=y>>>0,D=D===void 0?this.length:D>>>0,v||(v=0);let Z;if(typeof v=="number")for(Z=y;Z<D;++Z)this[Z]=v;else{let ne=a.isBuffer(v)?v:a.from(v,$),Qe=ne.length;if(Qe===0)throw new TypeError('The value "'+v+'" is invalid for argument "value"');for(Z=0;Z<D-y;++Z)this[Z+y]=ne[Z%Qe];}return this;};var k={};function M(I,v,y){k[I]=class extends y{constructor(){super(),Object.defineProperty(this,"message",{value:v.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${I}]`,this.stack,delete this.name;}get code(){return I;}set code($){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:$,writable:!0});}toString(){return`${this.name} [${I}]: ${this.message}`;}};}M("ERR_BUFFER_OUT_OF_BOUNDS",function(I){return I?`${I} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds";},RangeError),M("ERR_INVALID_ARG_TYPE",function(I,v){return`The "${I}" argument must be of type number. Received type ${typeof v}`;},TypeError),M("ERR_OUT_OF_RANGE",function(I,v,y){let D=`The value of "${I}" is out of range.`,$=y;return Number.isInteger(y)&&Math.abs(y)>2**32?$=H(String(y)):typeof y=="bigint"&&($=String(y),(y>BigInt(2)**BigInt(32)||y<-(BigInt(2)**BigInt(32)))&&($=H($)),$+="n"),D+=` It must be ${v}. Received ${$}`,D;},RangeError);function H(I){let v="",y=I.length,D=I[0]==="-"?1:0;for(;y>=D+4;y-=3)v=`_${I.slice(y-3,y)}${v}`;return`${I.slice(0,y)}${v}`;}function ee(I,v,y){pe(v,"offset"),(I[v]===void 0||I[v+y]===void 0)&&N(v,I.length-(y+1));}function ue(I,v,y,D,$,Z){if(I>y||I<v){let ne=typeof v=="bigint"?"n":"",Qe;throw Z>3?v===0||v===BigInt(0)?Qe=`>= 0${ne} and < 2${ne} ** ${(Z+1)*8}${ne}`:Qe=`>= -(2${ne} ** ${(Z+1)*8-1}${ne}) and < 2 ** ${(Z+1)*8-1}${ne}`:Qe=`>= ${v}${ne} and <= ${y}${ne}`,new k.ERR_OUT_OF_RANGE("value",Qe,I);}ee(D,$,Z);}function pe(I,v){if(typeof I!="number")throw new k.ERR_INVALID_ARG_TYPE(v,"number",I);}function N(I,v,y){throw Math.floor(I)!==I?(pe(I,y),new k.ERR_OUT_OF_RANGE(y||"offset","an integer",I)):v<0?new k.ERR_BUFFER_OUT_OF_BOUNDS():new k.ERR_OUT_OF_RANGE(y||"offset",`>= ${y?1:0} and <= ${v}`,I);}var V=/[^+/0-9A-Za-z-_]/g;function x(I){if(I=I.split("=")[0],I=I.trim().replace(V,""),I.length<2)return"";for(;I.length%4!==0;)I=I+"=";return I;}function _(I,v){v=v||1/0;let y,D=I.length,$=null,Z=[];for(let ne=0;ne<D;++ne){if(y=I.charCodeAt(ne),y>55295&&y<57344){if(!$){if(y>56319){(v-=3)>-1&&Z.push(239,191,189);continue;}else if(ne+1===D){(v-=3)>-1&&Z.push(239,191,189);continue;}$=y;continue;}if(y<56320){(v-=3)>-1&&Z.push(239,191,189),$=y;continue;}y=($-55296<<10|y-56320)+65536;}else $&&(v-=3)>-1&&Z.push(239,191,189);if($=null,y<128){if((v-=1)<0)break;Z.push(y);}else if(y<2048){if((v-=2)<0)break;Z.push(y>>6|192,y&63|128);}else if(y<65536){if((v-=3)<0)break;Z.push(y>>12|224,y>>6&63|128,y&63|128);}else if(y<1114112){if((v-=4)<0)break;Z.push(y>>18|240,y>>12&63|128,y>>6&63|128,y&63|128);}else throw new Error("Invalid code point");}return Z;}function E(I){let v=[];for(let y=0;y<I.length;++y)v.push(I.charCodeAt(y)&255);return v;}function L(I,v){let y,D,$,Z=[];for(let ne=0;ne<I.length&&!((v-=2)<0);++ne)y=I.charCodeAt(ne),D=y>>8,$=y%256,Z.push($),Z.push(D);return Z;}function G(I){return e.toByteArray(x(I));}function se(I,v,y,D){let $;for($=0;$<D&&!($+y>=v.length||$>=I.length);++$)v[$+y]=I[$];return $;}function ae(I,v){return I instanceof v||I!=null&&I.constructor!=null&&I.constructor.name!=null&&I.constructor.name===v.name;}function Ke(I){return I!==I;}var ot=function(){let I="0123456789abcdef",v=new Array(256);for(let y=0;y<16;++y){let D=y*16;for(let $=0;$<16;++$)v[D+$]=I[y]+I[$];}return v;}();function it(I){return typeof BigInt>"u"?Et:I;}function Et(){throw new Error("BigInt not supported");}}}),bT=Me({"(disabled):util"(){}}),vk=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/internal/stream
107s/buffer_list.js"(s,e){"use strict";function t(p,g){var m=Object.keys(p);if(Object.getOwnPropertySymbols){var b=Object.getOwnPropertySymbols(p);g&&(b=b.filter(function(T){return Object.getOwnPropertyDescriptor(p,T).enumerable;})),m.push.apply(m,b);}return m;}function i(p){for(var g=1;g<arguments.length;g++){var m=arguments[g]!=null?arguments[g]:{};g%2?t(Object(m),!0).forEach(function(b){n(p,b,m[b]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(p,Object.getOwnPropertyDescriptors(m)):t(Object(m)).forEach(function(b){Object.defineProperty(p,b,Object.getOwnPropertyDescriptor(m,b));});}return p;}function n(p,g,m){return g in p?Object.defineProperty(p,g,{value:m,enumerable:!0,configurable:!0,writable:!0}):p[g]=m,p;}function r(p,g){if(!(p instanceof g))throw new TypeError("Cannot call a class as a function");}function o(p,g){for(var m=0;m<g.length;m++){var b=g[m];b.enumerable=b.enumerable||!1,b.configurable=!0,"value"in b&&(b.writable=!0),Object.defineProperty(p,b.key,b);}}function a(p,g,m){return g&&o(p.prototype,g),m&&o(p,m),p;}var l=Hd(),d=l.Buffer,u=bT(),c=u.inspect,h=c&&c.custom||"inspect";function f(p,g,m){d.prototype.copy.call(p,g,m);}e.exports=function(){function p(){r(this,p),this.head=null,this.tail=null,this.length=0;}return a(p,[{key:"push",value:function(m){var b={data:m,next:null};this.length>0?this.tail.next=b:this.head=b,this.tail=b,++this.length;}},{key:"unshift",value:function(m){var b={data:m,next:this.head};this.length===0&&(this.tail=b),this.head=b,++this.length;}},{key:"shift",value:function(){if(this.length!==0){var m=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,m;}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0;}},{key:"join",value:function(m){if(this.length===0)return"";for(var b=this.head,T=""+b.data;b=b.next;)T+=m+b.data;return T;}},{key:"concat",value:function(m){if(this.length===0)return d.alloc(0);for(var b=d.allocUnsafe(m>>>0),T=this.head,S=0;T;)f(T.data,b,S),S+=T.data.length,T=T.next;return b;}},{key:"consume",value:function(m,b){var T;return m<this.head.data.length?(T=this.head.data.slice(0,m),this.head.data=this.head.data.slice(m)):m===this.head.data.length?T=this.shift():T=b?this._getString(m):this._getBuffer(m),T;}},{key:"first",value:function(){return this.head.data;}},{key:"_getString",value:function(m){var b=this.head,T=1,S=b.data;for(m-=S.length;b=b.next;){var P=b.data,R=m>P.length?P.length:m;if(R===P.length?S+=P:S+=P.slice(0,m),m-=R,m===0){R===P.length?(++T,b.next?this.head=b.next:this.head=this.tail=null):(this.head=b,b.data=P.slice(R));break;}++T;}return this.length-=T,S;}},{key:"_getBuffer",value:function(m){var b=d.allocUnsafe(m),T=this.head,S=1;for(T.data.copy(b),m-=T.data.length;T=T.next;){var P=T.data,R=m>P.length?P.length:m;if(P.copy(b,b.length-m,0,R),m-=R,m===0){R===P.length?(++S,T.next?this.head=T.next:this.head=this.tail=null):(this.head=T,T.data=P.slice(R));break;}++S;}return this.length-=S,b;}},{key:h,value:function(m,b){return c(this,i({},b,{depth:0,customInspect:!1}));}}]),p;}();}}),TT=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/internal/streams/destroy.js"(s,e){"use strict";function t(l,d){var u=this,c=this._readableState&&this._readableState.destroyed,h=this._writableState&&this._writableState.destroyed;return c||h?(d?d(l):l&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(o,this,l)):process.nextTick(o,this,l)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(l||null,function(f){!d&&f?u._writableState?u._writableState.errorEmitted?process.nextTick(n,u):(u._writableState.errorEmitted=!0,process.nextTick(i,u,f)):process.nextTick(i,u,f):d?(process.nextTick(n,u),d(f)):process.nextTick(n,u);}),this);}function i(l,d){o(l,d),n(l);}function n(l){l._writableState&&!l._writableState.emitClose||l._readableState&&!l._readableState.emitClose||l.emit("close");}function r(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1);}function o(l,d){l.emit("error",d);}function a(l,d){var u=l._readableState,c=l._writableState;u&&u.autoDestroy||c&&c.autoDestroy?l.destroy(d):l.emit("error",d);}e.exports={destroy:t,undestroy:r,errorOrDestroy:a};}}),Ds=Me({"node_modules/simple-peer/node_modules/readable-stream/errors-browser.js"(s,e){"use strict";function t(d,u){d.prototype=Object.create(u.prototype),d.prototype.constructor=d,d.__proto__=u;}var i={};function n(d,u,c){c||(c=Error);function h(p,g,m){return typeof u=="string"?u:u(p,g,m);}var f=function(p){t(g,p);function g(m,b,T){return p.call(this,h(m,b,T))||this;}return g;}(c);f.prototype.name=c.name,f.prototype.code=d,i[d]=f;}function r(d,u){if(Array.isArray(d)){var c=d.length;return d=d.map(function(h){return String(h);}),c>2?"one of ".concat(u," ").concat(d.slice(0,c-1).join(", "),", or ")+d[c-1]:c===2?"one of ".concat(u," ").concat(d[0]," or ").concat(d[1]):"of ".concat(u," ").concat(d[0]);}else return"of ".concat(u," ").concat(String(d));}function o(d,u,c){return d.substr(!c||c<0?0:+c,u.length)===u;}function a(d,u,c){return(c===void 0||c>d.length)&&(c=d.length),d.substring(c-u.length,c)===u;}function l(d,u,c){return typeof c!="number"&&(c=0),c+u.length>d.length?!1:d.indexOf(u,c)!==-1;}n("ERR_INVALID_OPT_VALUE",function(d,u){return'The value "'+u+'" is invali
107d for option "'+d+'"';},TypeError),n("ERR_INVALID_ARG_TYPE",function(d,u,c){var h;typeof u=="string"&&o(u,"not ")?(h="must not be",u=u.replace(/^not /,"")):h="must be";var f;if(a(d," argument"))f="The ".concat(d," ").concat(h," ").concat(r(u,"type"));else{var p=l(d,".")?"property":"argument";f='The "'.concat(d,'" ').concat(p," ").concat(h," ").concat(r(u,"type"));}return f+=". Received type ".concat(typeof c),f;},TypeError),n("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),n("ERR_METHOD_NOT_IMPLEMENTED",function(d){return"The "+d+" method is not implemented";}),n("ERR_STREAM_PREMATURE_CLOSE","Premature close"),n("ERR_STREAM_DESTROYED",function(d){return"Cannot call "+d+" after a stream was destroyed";}),n("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),n("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),n("ERR_STREAM_WRITE_AFTER_END","write after end"),n("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),n("ERR_UNKNOWN_ENCODING",function(d){return"Unknown encoding: "+d;},TypeError),n("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),e.exports.codes=i;}}),ET=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/internal/streams/state.js"(s,e){"use strict";var t=Ds().codes.ERR_INVALID_OPT_VALUE;function i(r,o,a){return r.highWaterMark!=null?r.highWaterMark:o?r[a]:null;}function n(r,o,a,l){var d=i(o,l,a);if(d!=null){if(!(isFinite(d)&&Math.floor(d)===d)||d<0){var u=l?a:"highWaterMark";throw new t(u,d);}return Math.floor(d);}return r.objectMode?16:16*1024;}e.exports={getHighWaterMark:n};}}),Ns=Me({"node_modules/inherits/inherits_browser.js"(s,e){typeof Object.create=="function"?e.exports=function(i,n){n&&(i.super_=n,i.prototype=Object.create(n.prototype,{constructor:{value:i,enumerable:!1,writable:!0,configurable:!0}}));}:e.exports=function(i,n){if(n){i.super_=n;var r=function(){};r.prototype=n.prototype,i.prototype=new r(),i.prototype.constructor=i;}};}}),_k=Me({"node_modules/util-deprecate/browser.js"(s,e){e.exports=t;function t(n,r){if(i("noDeprecation"))return n;var o=!1;function a(){if(!o){if(i("throwDeprecation"))throw new Error(r);i("traceDeprecation")?console.trace(r):console.warn(r),o=!0;}return n.apply(this,arguments);}return a;}function i(n){try{if(!global.localStorage)return!1;}catch{return!1;}var r=global.localStorage[n];return r==null?!1:String(r).toLowerCase()==="true";}}}),ST=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/_stream_writable.js"(s,e){"use strict";e.exports=j;function t(k){var M=this;this.next=null,this.entry=null,this.finish=function(){Tt(M,k);};}var i;j.WritableState=O;var n={deprecate:_k()},r=yT(),o=Hd().Buffer,a=global.Uint8Array||function(){};function l(k){return o.from(k);}function d(k){return o.isBuffer(k)||k instanceof a;}var u=TT(),c=ET(),h=c.getHighWaterMark,f=Ds().codes,p=f.ERR_INVALID_ARG_TYPE,g=f.ERR_METHOD_NOT_IMPLEMENTED,m=f.ERR_MULTIPLE_CALLBACK,b=f.ERR_STREAM_CANNOT_PIPE,T=f.ERR_STREAM_DESTROYED,S=f.ERR_STREAM_NULL_VALUES,P=f.ERR_STREAM_WRITE_AFTER_END,R=f.ERR_UNKNOWN_ENCODING,C=u.errorOrDestroy;Ns()(j,r);function A(){}function O(k,M,H){i=i||Ls(),k=k||{},typeof H!="boolean"&&(H=M instanceof i),this.objectMode=!!k.objectMode,H&&(this.objectMode=this.objectMode||!!k.writableObjectMode),this.highWaterMark=h(this,k,"writableHighWaterMark",H),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var ee=k.decodeStrings===!1;this.decodeStrings=!ee,this.defaultEncoding=k.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(ue){Xe(M,ue);},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=k.emitClose!==!1,this.autoDestroy=!!k.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new t(this);}O.prototype.getBuffer=function(){for(var M=this.bufferedRequest,H=[];M;)H.push(M),M=M.next;return H;},function(){try{Object.defineProperty(O.prototype,"buffer",{get:n.deprecate(function(){return this.getBuffer();},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")});}catch{}}();var U;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(U=Function.prototype[Symbol.hasInstance],Object.defineProperty(j,Symbol.hasInstance,{value:function(M){return U.call(this,M)?!0:this!==j?!1:M&&M._writableState instanceof O;}})):U=function(M){return M instanceof this;};function j(k){i=i||Ls();var M=this instanceof i;if(!M&&!U.call(j,this))return new j(k);this._writableState=new O(k,this,M),this.writable=!0,k&&(typeof k.write=="function"&&(this._write=k.write),typeof k.writev=="function"&&(this._writev=k.writev),typeof k.destroy=="function"&&(this._destroy=k.destroy),typeof k.final=="function"&&(this._final=k.final)),r.call(this);}j.prototype.pipe=function(){C(this,new b());};function K(k,M){var H=new P();C(k,H),process.nextTick(M,H);}function Y(k,M,H,ee){var ue;return H===null?ue=new S():typeof H!="string"&&!M.objectMode&&(ue=new p("chunk",["string","Buffer"],H)),ue?(C(k,ue),process.nextTick(ee,ue),!1):!0;}j.prototype.write=function(k,M,H){var ee=this._writableState,ue=!1,pe=!ee.objectMode&&d(k);return pe&&!o.isBuffer(k)&&(k=l(k)),typeof M=="function"&&(H=M,M=null),pe?M="buffer":M||(M=ee.defaultEncoding),typeof H!="function"&&(H=A),ee.ending?K(this,H):(pe||Y(this,ee,k,H))&&(ee.pendingcb++,ue=Ee(this,ee,pe,k,M,H)),ue;},j.prototype.cork=function(){this._writableState.corked++;},j.prototype.uncork=function(){var k=this._writableState;k.corked&&(k.corked--,!k.writing&&!k.corked&&!k.bufferProcessing&&k.bufferedRequest&&me(this,k));}
107,j.prototype.setDefaultEncoding=function(M){if(typeof M=="string"&&(M=M.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((M+"").toLowerCase())>-1))throw new R(M);return this._writableState.defaultEncoding=M,this;},Object.defineProperty(j.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer();}});function oe(k,M,H){return!k.objectMode&&k.decodeStrings!==!1&&typeof M=="string"&&(M=o.from(M,H)),M;}Object.defineProperty(j.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark;}});function Ee(k,M,H,ee,ue,pe){if(!H){var N=oe(M,ee,ue);ee!==N&&(H=!0,ue="buffer",ee=N);}var V=M.objectMode?1:ee.length;M.length+=V;var x=M.length<M.highWaterMark;if(x||(M.needDrain=!0),M.writing||M.corked){var _=M.lastBufferedRequest;M.lastBufferedRequest={chunk:ee,encoding:ue,isBuf:H,callback:pe,next:null},_?_.next=M.lastBufferedRequest:M.bufferedRequest=M.lastBufferedRequest,M.bufferedRequestCount+=1;}else xe(k,M,!1,V,ee,ue,pe);return x;}function xe(k,M,H,ee,ue,pe,N){M.writelen=ee,M.writecb=N,M.writing=!0,M.sync=!0,M.destroyed?M.onwrite(new T("write")):H?k._writev(ue,M.onwrite):k._write(ue,pe,M.onwrite),M.sync=!1;}function Ae(k,M,H,ee,ue){--M.pendingcb,H?(process.nextTick(ue,ee),process.nextTick(tt,k,M),k._writableState.errorEmitted=!0,C(k,ee)):(ue(ee),k._writableState.errorEmitted=!0,C(k,ee),tt(k,M));}function He(k){k.writing=!1,k.writecb=null,k.length-=k.writelen,k.writelen=0;}function Xe(k,M){var H=k._writableState,ee=H.sync,ue=H.writecb;if(typeof ue!="function")throw new m();if(He(H),M)Ae(k,H,ee,M,ue);else{var pe=ge(H)||k.destroyed;!pe&&!H.corked&&!H.bufferProcessing&&H.bufferedRequest&&me(k,H),ee?process.nextTick(Te,k,H,pe,ue):Te(k,H,pe,ue);}}function Te(k,M,H,ee){H||fe(k,M),M.pendingcb--,ee(),tt(k,M);}function fe(k,M){M.length===0&&M.needDrain&&(M.needDrain=!1,k.emit("drain"));}function me(k,M){M.bufferProcessing=!0;var H=M.bufferedRequest;if(k._writev&&H&&H.next){var ee=M.bufferedRequestCount,ue=new Array(ee),pe=M.corkedRequestsFree;pe.entry=H;for(var N=0,V=!0;H;)ue[N]=H,H.isBuf||(V=!1),H=H.next,N+=1;ue.allBuffers=V,xe(k,M,!0,M.length,ue,"",pe.finish),M.pendingcb++,M.lastBufferedRequest=null,pe.next?(M.corkedRequestsFree=pe.next,pe.next=null):M.corkedRequestsFree=new t(M),M.bufferedRequestCount=0;}else{for(;H;){var x=H.chunk,_=H.encoding,E=H.callback,L=M.objectMode?1:x.length;if(xe(k,M,!1,L,x,_,E),H=H.next,M.bufferedRequestCount--,M.writing)break;}H===null&&(M.lastBufferedRequest=null);}M.bufferedRequest=H,M.bufferProcessing=!1;}j.prototype._write=function(k,M,H){H(new g("_write()"));},j.prototype._writev=null,j.prototype.end=function(k,M,H){var ee=this._writableState;return typeof k=="function"?(H=k,k=null,M=null):typeof M=="function"&&(H=M,M=null),k!=null&&this.write(k,M),ee.corked&&(ee.corked=1,this.uncork()),ee.ending||dt(this,ee,H),this;},Object.defineProperty(j.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length;}});function ge(k){return k.ending&&k.length===0&&k.bufferedRequest===null&&!k.finished&&!k.writing;}function We(k,M){k._final(function(H){M.pendingcb--,H&&C(k,H),M.prefinished=!0,k.emit("prefinish"),tt(k,M);});}function nt(k,M){!M.prefinished&&!M.finalCalled&&(typeof k._final=="function"&&!M.destroyed?(M.pendingcb++,M.finalCalled=!0,process.nextTick(We,k,M)):(M.prefinished=!0,k.emit("prefinish")));}function tt(k,M){var H=ge(M);if(H&&(nt(k,M),M.pendingcb===0&&(M.finished=!0,k.emit("finish"),M.autoDestroy))){var ee=k._readableState;(!ee||ee.autoDestroy&&ee.endEmitted)&&k.destroy();}return H;}function dt(k,M,H){M.ending=!0,tt(k,M),H&&(M.finished?process.nextTick(H):k.once("finish",H)),M.ended=!0,k.writable=!1;}function Tt(k,M,H){var ee=k.entry;for(k.entry=null;ee;){var ue=ee.callback;M.pendingcb--,ue(H),ee=ee.next;}M.corkedRequestsFree.next=k;}Object.defineProperty(j.prototype,"destroyed",{enumerable:!1,get:function(){return this._writableState===void 0?!1:this._writableState.destroyed;},set:function(M){this._writableState&&(this._writableState.destroyed=M);}}),j.prototype.destroy=u.destroy,j.prototype._undestroy=u.undestroy,j.prototype._destroy=function(k,M){M(k);};}}),Ls=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/_stream_duplex.js"(s,e){"use strict";var t=Object.keys||function(c){var h=[];for(var f in c)h.push(f);return h;};e.exports=l;var i=CT(),n=ST();for(Ns()(l,i),r=t(n.prototype),a=0;a<r.length;a++)o=r[a],l.prototype[o]||(l.prototype[o]=n.prototype[o]);var r,o,a;function l(c){if(!(this instanceof l))return new l(c);i.call(this,c),n.call(this,c),this.allowHalfOpen=!0,c&&(c.readable===!1&&(this.readable=!1),c.writable===!1&&(this.writable=!1),c.allowHalfOpen===!1&&(this.allowHalfOpen=!1,this.once("end",d)));}Object.defineProperty(l.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark;}}),Object.defineProperty(l.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer();}}),Object.defineProperty(l.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length;}});function d(){this._writableState.ended||process.nextTick(u,this);}function u(c){c.end();}Object.defineProperty(l.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0||this._writableState===void 0?!1:this._readableState.destroyed&&this._writableState.destroyed;},set:function(h){this._readableState===void 0||this._writableState===void 0||(this._readableState.destroyed=h,this._writableState.destroyed=h);}});}}),tT=Me({"node_modules/string_decoder/lib/string_decoder.js"(s){"use strict";var e=Ud().Buffer,t=e.isEncoding||function(T){switch(T=""+T,T&&T.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1;}};function i(T){if(!T)return"utf8";for(var S;;)switch(T){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";
107case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return T;default:if(S)return;T=(""+T).toLowerCase(),S=!0;}}function n(T){var S=i(T);if(typeof S!="string"&&(e.isEncoding===t||!t(T)))throw new Error("Unknown encoding: "+T);return S||T;}s.StringDecoder=r;function r(T){this.encoding=n(T);var S;switch(this.encoding){case"utf16le":this.text=h,this.end=f,S=4;break;case"utf8":this.fillLast=d,S=4;break;case"base64":this.text=p,this.end=g,S=3;break;default:this.write=m,this.end=b;return;}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(S);}r.prototype.write=function(T){if(T.length===0)return"";var S,P;if(this.lastNeed){if(S=this.fillLast(T),S===void 0)return"";P=this.lastNeed,this.lastNeed=0;}else P=0;return P<T.length?S?S+this.text(T,P):this.text(T,P):S||"";},r.prototype.end=c,r.prototype.text=u,r.prototype.fillLast=function(T){if(this.lastNeed<=T.length)return T.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);T.copy(this.lastChar,this.lastTotal-this.lastNeed,0,T.length),this.lastNeed-=T.length;};function o(T){return T<=127?0:T>>5===6?2:T>>4===14?3:T>>3===30?4:T>>6===2?-1:-2;}function a(T,S,P){var R=S.length-1;if(R<P)return 0;var C=o(S[R]);return C>=0?(C>0&&(T.lastNeed=C-1),C):--R<P||C===-2?0:(C=o(S[R]),C>=0?(C>0&&(T.lastNeed=C-2),C):--R<P||C===-2?0:(C=o(S[R]),C>=0?(C>0&&(C===2?C=0:T.lastNeed=C-3),C):0));}function l(T,S,P){if((S[0]&192)!==128)return T.lastNeed=0,"\uFFFD";if(T.lastNeed>1&&S.length>1){if((S[1]&192)!==128)return T.lastNeed=1,"\uFFFD";if(T.lastNeed>2&&S.length>2&&(S[2]&192)!==128)return T.lastNeed=2,"\uFFFD";}}function d(T){var S=this.lastTotal-this.lastNeed,P=l(this,T,S);if(P!==void 0)return P;if(this.lastNeed<=T.length)return T.copy(this.lastChar,S,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);T.copy(this.lastChar,S,0,T.length),this.lastNeed-=T.length;}function u(T,S){var P=a(this,T,S);if(!this.lastNeed)return T.toString("utf8",S);this.lastTotal=P;var R=T.length-(P-this.lastNeed);return T.copy(this.lastChar,0,R),T.toString("utf8",S,R);}function c(T){var S=T&&T.length?this.write(T):"";return this.lastNeed?S+"\uFFFD":S;}function h(T,S){if((T.length-S)%2===0){var P=T.toString("utf16le",S);if(P){var R=P.charCodeAt(P.length-1);if(R>=55296&&R<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=T[T.length-2],this.lastChar[1]=T[T.length-1],P.slice(0,-1);}return P;}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=T[T.length-1],T.toString("utf16le",S,T.length-1);}function f(T){var S=T&&T.length?this.write(T):"";if(this.lastNeed){var P=this.lastTotal-this.lastNeed;return S+this.lastChar.toString("utf16le",0,P);}return S;}function p(T,S){var P=(T.length-S)%3;return P===0?T.toString("base64",S):(this.lastNeed=3-P,this.lastTotal=3,P===1?this.lastChar[0]=T[T.length-1]:(this.lastChar[0]=T[T.length-2],this.lastChar[1]=T[T.length-1]),T.toString("base64",S,T.length-P));}function g(T){var S=T&&T.length?this.write(T):"";return this.lastNeed?S+this.lastChar.toString("base64",0,3-this.lastNeed):S;}function m(T){return T.toString(this.encoding);}function b(T){return T&&T.length?this.write(T):"";}}}),fp=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/internal/streams/end-of-stream.js"(s,e){"use strict";var t=Ds().codes.ERR_STREAM_PREMATURE_CLOSE;function i(a){var l=!1;return function(){if(!l){l=!0;for(var d=arguments.length,u=new Array(d),c=0;c<d;c++)u[c]=arguments[c];a.apply(this,u);}};}function n(){}function r(a){return a.setHeader&&typeof a.abort=="function";}function o(a,l,d){if(typeof l=="function")return o(a,null,l);l||(l={}),d=i(d||n);var u=l.readable||l.readable!==!1&&a.readable,c=l.writable||l.writable!==!1&&a.writable,h=function(){a.writable||p();},f=a._writableState&&a._writableState.finished,p=function(){c=!1,f=!0,u||d.call(a);},g=a._readableState&&a._readableState.endEmitted,m=function(){u=!1,g=!0,c||d.call(a);},b=function(R){d.call(a,R);},T=function(){var R;if(u&&!g)return(!a._readableState||!a._readableState.ended)&&(R=new t()),d.call(a,R);if(c&&!f)return(!a._writableState||!a._writableState.ended)&&(R=new t()),d.call(a,R);},S=function(){a.req.on("finish",p);};return r(a)?(a.on("complete",p),a.on("abort",T),a.req?S():a.on("request",S)):c&&!a._writableState&&(a.on("end",h),a.on("close",h)),a.on("end",m),a.on("finish",p),l.error!==!1&&a.on("error",b),a.on("close",T),function(){a.removeListener("complete",p),a.removeListener("abort",T),a.removeListener("request",S),a.req&&a.req.removeListener("finish",p),a.removeListener("end",h),a.removeListener("close",h),a.removeListener("finish",p),a.removeListener("end",m),a.removeListener("error",b),a.removeListener("close",T);};}e.exports=o;}}),yk=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/internal/stream
107s/async_iterator.js"(s,e){"use strict";var t;function i(S,P,R){return P in S?Object.defineProperty(S,P,{value:R,enumerable:!0,configurable:!0,writable:!0}):S[P]=R,S;}var n=fp(),r=Symbol("lastResolve"),o=Symbol("lastReject"),a=Symbol("error"),l=Symbol("ended"),d=Symbol("lastPromise"),u=Symbol("handlePromise"),c=Symbol("stream");function h(S,P){return{value:S,done:P};}function f(S){var P=S[r];if(P!==null){var R=S[c].read();R!==null&&(S[d]=null,S[r]=null,S[o]=null,P(h(R,!1)));}}function p(S){process.nextTick(f,S);}function g(S,P){return function(R,C){S.then(function(){if(P[l]){R(h(void 0,!0));return;}P[u](R,C);},C);};}var m=Object.getPrototypeOf(function(){}),b=Object.setPrototypeOf((t={get stream(){return this[c];},next:function(){var P=this,R=this[a];if(R!==null)return Promise.reject(R);if(this[l])return Promise.resolve(h(void 0,!0));if(this[c].destroyed)return new Promise(function(U,j){process.nextTick(function(){P[a]?j(P[a]):U(h(void 0,!0));});});var C=this[d],A;if(C)A=new Promise(g(C,this));else{var O=this[c].read();if(O!==null)return Promise.resolve(h(O,!1));A=new Promise(this[u]);}return this[d]=A,A;}},i(t,Symbol.asyncIterator,function(){return this;}),i(t,"return",function(){var P=this;return new Promise(function(R,C){P[c].destroy(null,function(A){if(A){C(A);return;}R(h(void 0,!0));});});}),t),m),T=function(P){var R,C=Object.create(b,(R={},i(R,c,{value:P,writable:!0}),i(R,r,{value:null,writable:!0}),i(R,o,{value:null,writable:!0}),i(R,a,{value:null,writable:!0}),i(R,l,{value:P._readableState.endEmitted,writable:!0}),i(R,u,{value:function(O,U){var j=C[c].read();j?(C[d]=null,C[r]=null,C[o]=null,O(h(j,!1))):(C[r]=O,C[o]=U);},writable:!0}),R));return C[d]=null,n(P,function(A){if(A&&A.code!=="ERR_STREAM_PREMATURE_CLOSE"){var O=C[o];O!==null&&(C[d]=null,C[r]=null,C[o]=null,O(A)),C[a]=A;return;}var U=C[r];U!==null&&(C[d]=null,C[r]=null,C[o]=null,U(h(void 0,!0))),C[l]=!0;}),P.on("readable",p.bind(null,C)),C;};e.exports=T;}}),bk=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/internal/streams/from-browser.js"(s,e){e.exports=function(){throw new Error("Readable.from is not available in the browser");};}}),CT=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/_stream_readable.js"(s,e){"use strict";e.exports=Y;var t;Y.ReadableState=K;var i=Cr().EventEmitter,n=function(V,x){return V.listeners(x).length;},r=yT(),o=Hd().Buffer,a=global.Uint8Array||function(){};function l(N){return o.from(N);}function d(N){return o.isBuffer(N)||N instanceof a;}var u=bT(),c;u&&u.debuglog?c=u.debuglog("stream"):c=function(){};var h=vk(),f=TT(),p=ET(),g=p.getHighWaterMark,m=Ds().codes,b=m.ERR_INVALID_ARG_TYPE,T=m.ERR_STREAM_PUSH_AFTER_EOF,S=m.ERR_METHOD_NOT_IMPLEMENTED,P=m.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,R,C,A;Ns()(Y,r);var O=f.errorOrDestroy,U=["error","close","destroy","pause","resume"];function j(N,V,x){if(typeof N.prependListener=="function")return N.prependListener(V,x);!N._events||!N._events[V]?N.on(V,x):Array.isArray(N._events[V])?N._events[V].unshift(x):N._events[V]=[x,N._events[V]];}function K(N,V,x){t=t||Ls(),N=N||{},typeof x!="boolean"&&(x=V instanceof t),this.objectMode=!!N.objectMode,x&&(this.objectMode=this.objectMode||!!N.readableObjectMode),this.highWaterMark=g(this,N,"readableHighWaterMark",x),this.buffer=new h(),this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=N.emitClose!==!1,this.autoDestroy=!!N.autoDestroy,this.destroyed=!1,this.defaultEncoding=N.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,N.encoding&&(R||(R=tT().StringDecoder),this.decoder=new R(N.encoding),this.encoding=N.encoding);}function Y(N){if(t=t||Ls(),!(this instanceof Y))return new Y(N);var V=this instanceof t;this._readableState=new K(N,this,V),this.readable=!0,N&&(typeof N.read=="function"&&(this._read=N.read),typeof N.destroy=="function"&&(this._destroy=N.destroy)),r.call(this);}Object.defineProperty(Y.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed;},set:function(V){this._readableState&&(this._readableState.destroyed=V);}}),Y.prototype.destroy=f.destroy,Y.prototype._undestroy=f.undestroy,Y.prototype._destroy=function(N,V){V(N);},Y.prototype.push=function(N,V){var x=this._readableState,_;return x.objectMode?_=!0:typeof N=="string"&&(V=V||x.defaultEncoding,V!==x.encoding&&(N=o.from(N,V),V=""),_=!0),oe(this,N,V,!1,_);},Y.prototype.unshift=function(N){return oe(this,N,null,!0,!1);};function oe(N,V,x,_,E){c("readableAddChunk",V);var L=N._readableState;if(V===null)L.reading=!1,Te(N,L);else{var G;if(E||(G=xe(L,V)),G)O(N,G);else if(L.objectMode||V&&V.length>
vendor: 7,117 bytes, line 107
1070){if(typeof V!="string"&&!L.objectMode&&Object.getPrototypeOf(V)!==o.prototype&&(V=l(V)),_)L.endEmitted?O(N,new P()):Ee(N,L,V,!0);else if(L.ended)O(N,new T());else{if(L.destroyed)return!1;L.reading=!1,L.decoder&&!x?(V=L.decoder.write(V),L.objectMode||V.length!==0?Ee(N,L,V,!1):ge(N,L)):Ee(N,L,V,!1);}}else _||(L.reading=!1,ge(N,L));}return!L.ended&&(L.length<L.highWaterMark||L.length===0);}function Ee(N,V,x,_){V.flowing&&V.length===0&&!V.sync?(V.awaitDrain=0,N.emit("data",x)):(V.length+=V.objectMode?1:x.length,_?V.buffer.unshift(x):V.buffer.push(x),V.needReadable&&fe(N)),ge(N,V);}function xe(N,V){var x;return!d(V)&&typeof V!="string"&&V!==void 0&&!N.objectMode&&(x=new b("chunk",["string","Buffer","Uint8Array"],V)),x;}Y.prototype.isPaused=function(){return this._readableState.flowing===!1;},Y.prototype.setEncoding=function(N){R||(R=tT().StringDecoder);var V=new R(N);this._readableState.decoder=V,this._readableState.encoding=this._readableState.decoder.encoding;for(var x=this._readableState.buffer.head,_="";x!==null;)_+=V.write(x.data),x=x.next;return this._readableState.buffer.clear(),_!==""&&this._readableState.buffer.push(_),this._readableState.length=_.length,this;};var Ae=1073741824;function He(N){return N>=Ae?N=Ae:(N--,N|=N>>>1,N|=N>>>2,N|=N>>>4,N|=N>>>8,N|=N>>>16,N++),N;}function Xe(N,V){return N<=0||V.length===0&&V.ended?0:V.objectMode?1:N!==N?V.flowing&&V.length?V.buffer.head.data.length:V.length:(N>V.highWaterMark&&(V.highWaterMark=He(N)),N<=V.length?N:V.ended?V.length:(V.needReadable=!0,0));}Y.prototype.read=function(N){c("read",N),N=parseInt(N,10);var V=this._readableState,x=N;if(N!==0&&(V.emittedReadable=!1),N===0&&V.needReadable&&((V.highWaterMark!==0?V.length>=V.highWaterMark:V.length>0)||V.ended))return c("read: emitReadable",V.length,V.ended),V.length===0&&V.ended?ee(this):fe(this),null;if(N=Xe(N,V),N===0&&V.ended)return V.length===0&&ee(this),null;var _=V.needReadable;c("need readable",_),(V.length===0||V.length-N<V.highWaterMark)&&(_=!0,c("length less than watermark",_)),V.ended||V.reading?(_=!1,c("reading or ended",_)):_&&(c("do read"),V.reading=!0,V.sync=!0,V.length===0&&(V.needReadable=!0),this._read(V.highWaterMark),V.sync=!1,V.reading||(N=Xe(x,V)));var E;return N>0?E=H(N,V):E=null,E===null?(V.needReadable=V.length<=V.highWaterMark,N=0):(V.length-=N,V.awaitDrain=0),V.length===0&&(V.ended||(V.needReadable=!0),x!==N&&V.ended&&ee(this)),E!==null&&this.emit("data",E),E;};function Te(N,V){if(c("onEofChunk"),!V.ended){if(V.decoder){var x=V.decoder.end();x&&x.length&&(V.buffer.push(x),V.length+=V.objectMode?1:x.length);}V.ended=!0,V.sync?fe(N):(V.needReadable=!1,V.emittedReadable||(V.emittedReadable=!0,me(N)));}}function fe(N){var V=N._readableState;c("emitReadable",V.needReadable,V.emittedReadable),V.needReadable=!1,V.emittedReadable||(c("emitReadable",V.flowing),V.emittedReadable=!0,process.nextTick(me,N));}function me(N){var V=N._readableState;c("emitReadable_",V.destroyed,V.length,V.ended),!V.destroyed&&(V.length||V.ended)&&(N.emit("readable"),V.emittedReadable=!1),V.needReadable=!V.flowing&&!V.ended&&V.length<=V.highWaterMark,M(N);}function ge(N,V){V.readingMore||(V.readingMore=!0,process.nextTick(We,N,V));}function We(N,V){for(;!V.reading&&!V.ended&&(V.length<V.highWaterMark||V.flowing&&V.length===0);){var x=V.length;if(c("maybeReadMore read 0"),N.read(0),x===V.length)break;}V.readingMore=!1;}Y.prototype._read=function(N){O(this,new S("_read()"));},Y.prototype.pipe=function(N,V){var x=this,_=this._readableState;switch(_.pipesCount){case 0:_.pipes=N;break;case 1:_.pipes=[_.pipes,N];break;default:_.pipes.push(N);break;}_.pipesCount+=1,c("pipe count=%d opts=%j",_.pipesCount,V);var E=(!V||V.end!==!1)&&N!==process.stdout&&N!==process.stderr,L=E?se:y;_.endEmitted?process.nextTick(L):x.once("end",L),N.on("unpipe",G);function G(D,$){c("onunpipe"),D===x&&$&&$.hasUnpiped===!1&&($.hasUnpiped=!0,ot());}function se(){c("onend"),N.end();}var ae=nt(x);N.on("drain",ae);var Ke=!1;function ot(){c("cleanup"),N.removeListener("close",I),N.removeListener("finish",v),N.removeListener("drain",ae),N.removeListener("error",Et),N.removeListener("unpipe",G),x.removeListener("end",se),x.removeListener("end",y),x.removeListener("data",it),Ke=!0,_.awaitDrain&&(!N._writableState||N._writableState.needDrain)&&ae();}x.on("data",it);function it(D){c("ondata");var $=N.write(D);c("dest.write",$),$===!1&&((_.pipesCount===1&&_.pipes===N||_.pipesCount>1&&pe(_.pipes,N)!==-1)&&!Ke&&(c("false write response, pause",_.awaitDrain),_.awaitDrain++),x.pause());}function Et(D){c("onerror",D),y(),N.removeListener("error",Et),n(N,"error")===0&&O(N,D);}j(N,"error",Et);function I(){N.removeListener("finish",v),y();}N.once("close",I);function v(){c("onfinish"),N.removeListener("close",I),y();}N.once("finish",v);function y(){c("unpipe"),x.unpipe(N);}return N.emit("pipe",x),_.flowing||(c("pipe resume"),x.resume()),N;};function nt(N){return function(){var x=N._readableState;c("pipeOnDrain",x.awaitDrain),x.awaitDrain&&x.awaitDrain--,x.awaitDrain===0&&n(N,"data")&&(x.flowing=!0,M(N));};}Y.prototype.unpipe=function(N){var V=this._readableState,x={hasUnpiped:!1};if(V.pipesCount===0)return this;if(V.pipesCount===1)return N&&N!==V.pipes?this:(N||(N=V.pipes),V.pipes=null,V.pipesCount=0,V.flowing=!1,N&&N.emit("unpipe",this,x),this);if(!N){var _=V.pipes,E=V.pipesCount;V.pipes=null,V.pipesCount=0,V.flowing=!1;for(var L=0;L<E;L++)_[L].emit("unpipe",this,{hasUnpiped:!1});return this;}var G=pe(V.pipes,N);return G===-1?this:(V.pipes.splice(G,1),V.pipesCount-=1,V.pipesCount===1&&(V.pipes=V.pipes[0]),N.emit("unpipe",this,x),this);},Y.prototype.on=function(N,V){var x=r.prototype.on.call(this,N,V),_=this._readableState;return N==="data"?(_.readableListening=this.listenerCount("readable")>0,_.flowing!==!1&&this.resume()):N==="readable"&&!_.endEmitted&&!_.readableListening&&(_.readableListening=_.needReadable=!0,_.flowing=!1,_.emittedReadable=!1,c("on readable",_.length,_.reading),_.length?fe(this):_.reading||process.nextTick(dt,this)),x;},Y.prototype.addListener=Y.prototype.on,Y.prototype.removeListener=function(N,V){var x=r.prototype.removeListener.call(this,N,V);return N==="readable"&&process.nextTick(tt,this),x;},Y.prototype.removeAllListeners=function(N){var V=r.prototype.removeAllListeners.apply(this,arguments);return(N==="readable"||N===void 0)&&process.nextTick(tt,this),V;};function tt(N){var V=N._readableState;V.readableListening=N.listenerCount("readable")>0,V.resumeScheduled&&!V.paused?V.flowing=!0:N.listenerCount("data")>0&&N.resume();}function dt(N){c("readable nexttick read 0"),N.read(0);}Y.prototype.resume=function(){var N=this._readableState;return N.flowing||(c("resume"),N.flowing=!N.readableListening,Tt(this,N)),N.paused=!1,this;};function Tt(N,V){V.resumeScheduled||(V.resumeScheduled=!0,process.nextTick(k,N,V));}function k(N,V){c("resume",V.reading),V.reading||N.read(0),V.resumeScheduled=!1,N.emit("resume"),M(N),V.flowing&&!V.reading&&N.read(0);}Y.prototype.pause=function(){return c("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(c("pause"),this._readableState.flowing=!1,this.emit
107("pause")),this._readableState.paused=!0,this;};function M(N){var V=N._readableState;for(c("flow",V.flowing);V.flowing&&N.read()!==null;);}Y.prototype.wrap=function(N){var V=this,x=this._readableState,_=!1;N.on("end",function(){if(c("wrapped end"),x.decoder&&!x.ended){var G=x.decoder.end();G&&G.length&&V.push(G);}V.push(null);}),N.on("data",function(G){if(c("wrapped data"),x.decoder&&(G=x.decoder.write(G)),!(x.objectMode&&G==null)&&!(!x.objectMode&&(!G||!G.length))){var se=V.push(G);se||(_=!0,N.pause());}});for(var E in N)this[E]===void 0&&typeof N[E]=="function"&&(this[E]=function(se){return function(){return N[se].apply(N,arguments);};}(E));for(var L=0;L<U.length;L++)N.on(U[L],this.emit.bind(this,U[L]));return this._read=function(G){c("wrapped _read",G),_&&(_=!1,N.resume());},this;},typeof Symbol=="function"&&(Y.prototype[Symbol.asyncIterator]=function(){return C===void 0&&(C=yk()),C(this);}),Object.defineProperty(Y.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark;}}),Object.defineProperty(Y.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer;}}),Object.defineProperty(Y.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing;},set:function(V){this._readableState&&(this._readableState.flowing=V);}}),Y._fromList=H,Object.defineProperty(Y.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length;}});function H(N,V){if(V.length===0)return null;var x;return V.objectMode?x=V.buffer.shift():!N||N>=V.length?(V.decoder?x=V.buffer.join(""):V.buffer.length===1?x=V.buffer.first():x=V.buffer.concat(V.length),V.buffer.clear()):x=V.buffer.consume(N,V.decoder),x;}function ee(N){var V=N._readableState;c("endReadable",V.endEmitted),V.endEmitted||(V.ended=!0,process.nextTick(ue,V,N));}function ue(N,V){if(c("endReadableNT",N.endEmitted,N.length),!N.endEmitted&&N.length===0&&(N.endEmitted=!0,V.readable=!1,V.emit("end"),N.autoDestroy)){var x=V._writableState;(!x||x.autoDestroy&&x.finished)&&V.destroy();}}typeof Symbol=="function"&&(Y.from=function(N,V){return A===void 0&&(A=bk()),A(Y,N,V);});function pe(N,V){for(var x=0,_=N.length;x<_;x++)if(N[x]===V)return x;return-1;}}}),wT=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/_stream_transform.js"(s,e){"use strict";e.exports=d;var t=Ds().codes,i=t.ERR_METHOD_NOT_IMPLEMENTED,n=t.ERR_MULTIPLE_CALLBACK,r=t.ERR_TRANSFORM_ALREADY_TRANSFORMING,o=t.ERR_TRANSFORM_WITH_LENGTH_0,a=Ls();Ns()(d,a);function l(h,f){var p=this._transformState;p.transforming=!1;var g=p.writecb;if(g===null)return this.emit("error",new n());p.writechunk=null,p.writecb=null,f!=null&&this.push(f),g(h);var m=this._readableState;m.reading=!1,(m.needReadable||m.length<m.highWaterMark)&&this._read(m.highWaterMark);}function d(h){if(!(this instanceof d))return new d(h);a.call(this,h),this._transformState={afterTransform:l.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,h&&(typeof h.transform=="function"&&(this._transform=h.transform),typeof h.flush=="function"&&(this._flush=h.flush)),this.on("prefinish",u);}function u(){var h=this;typeof this._flush=="function"&&!this._readableState.destroyed?this._flush(function(f,p){c(h,f,p);}):c(this,null,null);}d.prototype.push=function(h,f){return this._transformState.needTransform=!1,a.prototype.push.call(this,h,f);},d.prototype._transform=function(h,f,p){p(new i("_transform()"));},d.prototype._write=function(h,f,p){var g=this._transformState;if(g.writecb=p,g.writechunk=h,g.writeencoding=f,!g.transforming){var m=this._readableState;(g.needTransform||m.needReadable||m.length<m.highWaterMark)&&this._read(m.highWaterMark);}},d.prototype._read=function(h){var f=this._transformState;f.writechunk!==null&&!f.transforming?(f.transforming=!0,this._transform(f.writechunk,f.writeencoding,f.afterTransform)):f.needTransform=!0;},d.prototype._destroy=function(h,f){a.prototype._destroy.call(this,h,function(p){f(p);});};function c(h,f,p){if(f)return h.emit("error",f);if(p!=null&&h.push(p),h._writableState.length)throw new o();if(h._transformState.transforming)throw new r();return h.push(null);}}}),Tk=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/_stream_passthrough.js"(s,e){"use strict";e.exports=i;var t=wT();Ns()(i,t);function i(n){if(!(this instanceof i))return new i(n);t.call(this,n);}i.prototype._transform=function(n,r,o){o(null,n);};}}),Ek=Me({"node_modules/simple-peer/node_modules/readable-stream/lib/internal/stream
107s/pipeline.js"(s,e){"use strict";var t;function i(p){var g=!1;return function(){g||(g=!0,p.apply(void 0,arguments));};}var n=Ds().codes,r=n.ERR_MISSING_ARGS,o=n.ERR_STREAM_DESTROYED;function a(p){if(p)throw p;}function l(p){return p.setHeader&&typeof p.abort=="function";}function d(p,g,m,b){b=i(b);var T=!1;p.on("close",function(){T=!0;}),t===void 0&&(t=fp()),t(p,{readable:g,writable:m},function(P){if(P)return b(P);T=!0,b();});var S=!1;return function(P){if(!T&&!S){if(S=!0,l(p))return p.abort();if(typeof p.destroy=="function")return p.destroy();b(P||new o("pipe"));}};}function u(p){p();}function c(p,g){return p.pipe(g);}function h(p){return!p.length||typeof p[p.length-1]!="function"?a:p.pop();}function f(){for(var p=arguments.length,g=new Array(p),m=0;m<p;m++)g[m]=arguments[m];var b=h(g);if(Array.isArray(g[0])&&(g=g[0]),g.length<2)throw new r("streams");var T,S=g.map(function(P,R){var C=R<g.length-1,A=R>0;return d(P,C,A,function(O){T||(T=O),O&&S.forEach(u),!C&&(S.forEach(u),b(T));});});return g.reduce(c);}e.exports=f;}}),Sk=Me({"node_modules/simple-peer/node_modules/readable-stream/readable-browser.js"(s,e){s=e.exports=CT(),s.Stream=s,s.Readable=s,s.Writable=ST(),s.Duplex=Ls(),s.Transform=wT(),s.PassThrough=Tk(),s.finished=fp(),s.pipeline=Ek();}}),$d=Me({"node_modules/queue-microtask/index.js"(s,e){var t;e.exports=typeof queueMicrotask=="function"?queueMicrotask.bind(typeof window<"u"?window:global):i=>(t||(t=Promise.resolve())).then(i).catch(n=>setTimeout(()=>{throw n;},0));}}),xT=Me({"node_modules/err-code/index.js"(s,e){"use strict";function t(n,r){for(let o in r)Object.defineProperty(n,o,{value:r[o],enumerable:!0,configurable:!0});return n;}function i(n,r,o){if(!n||typeof n=="string")throw new TypeError("Please pass an Error to err-code");o||(o={}),typeof r=="object"&&(o=r,r=""),r&&(o.code=r);try{return t(n,o);}catch{o.message=n.message,o.stack=n.stack;let l=function(){};return l.prototype=Object.create(Object.getPrototypeOf(n)),t(new l(),o);}}e.exports=i;}}),Ck=Me({"node_modules/simple-peer/index.js"(s,e){var t=dn()("simple-peer"),i=mk(),n=gk(),r=Sk(),o=$d(),a=xT(),{Buffer:l}=Hd(),d=64*1024,u=5*1e3,c=5*1e3;function h(g){return g.replace(/a=ice-options:trickle\s\n/g,"");}function f(g){console.warn(g);}var p=class op extends r.Duplex{constructor(m){if(m=Object.assign({allowHalfOpen:!1},m),super(m),this._id=n(4).toString("hex").slice(0,7),this._debug("new peer %o",m),this.channelName=m.initiator?m.channelName||n(20).toString("hex"):null,this.initiator=m.initiator||!1,this.channelConfig=m.channelConfig||op.channelConfig,this.channelNegotiated=this.channelConfig.negotiated,this.config=Object.assign({},op.config,m.config),this.offerOptions=m.offerOptions||{},this.answerOptions=m.answerOptions||{},this.sdpTransform=m.sdpTransform||(b=>b),this.streams=m.streams||(m.stream?[m.stream]:[]),this.trickle=m.trickle!==void 0?m.trickle:!0,this.allowHalfTrickle=m.allowHalfTrickle!==void 0?m.allowHalfTrickle:!1,this.iceCompleteTimeout=m.iceCompleteTimeout||u,this.destroyed=!1,this.destroying=!1,this._connected=!1,this.remoteAddress=void 0,this.remoteFamily=void 0,this.remotePort=void 0,this.localAddress=void 0,this.localFamily=void 0,this.localPort=void 0,this._wrtc=m.wrtc&&typeof m.wrtc=="object"?m.wrtc:i(),!this._wrtc)throw a(typeof window>"u"?new Error("No WebRTC support: Specify `opts.wrtc` option in this environment"):new Error("No WebRTC support: Not a supported browser"),"ERR_WEBRTC_SUPPORT");this._pcReady=!1,this._channelReady=!1,this._iceComplete=!1,this._iceCompleteTimer=null,this._channel=null,this._pendingCandidates=[],this._isNegotiating=!1,this._firstNegotiation=!0,this._batchedNegotiation=!1,this._queuedNegotiation=!1,this._sendersAwaitingStable=[],this._senderMap=new Map(),this._closingInterval=null,this._remoteTracks=[],this._remoteStreams=[],this._chunk=null,this._cb=null,this._interval=null;try{this._pc=new this._wrtc.RTCPeerConnection(this.config);}catch(b){this.destroy(a(b,"ERR_PC_CONSTRUCTOR"));return;}this._isReactNativeWebrtc=typeof this._pc._peerConnectionId=="number",this._pc.oniceconnectionstatechange=()=>{this._onIceStateChange();},this._pc.onicegatheringstatechange=()=>{this._onIceStateChange();},this._pc.onconnectionstatechange=()=>{this._onConnectionStateChange();},this._pc.onsignalingstatechange=()=>{this._onSignalingStateChange();},this._pc.onicecandidate=b=>{this._onIceCandidate(b);},typeof this._pc.peerIdentity=="object"&&this._pc.peerIdentity.catch(b=>{this.destroy(a(b,"ERR_PC_PEER_IDENTITY"));}),this.initiator||this.channelNegotiated?this._setupData({channel:this._pc.createDataChannel
107(this.channelName,this.channelConfig)}):this._pc.ondatachannel=b=>{this._setupData(b);},this.streams&&this.streams.forEach(b=>{this.addStream(b);}),this._pc.ontrack=b=>{this._onTrack(b);},this._debug("initial negotiation"),this._needsNegotiation(),this._onFinishBound=()=>{this._onFinish();},this.once("finish",this._onFinishBound);}get bufferSize(){return this._channel&&this._channel.bufferedAmount||0;}get connected(){return this._connected&&this._channel.readyState==="open";}address(){return{port:this.localPort,family:this.localFamily,address:this.localAddress};}signal(m){if(!this.destroying){if(this.destroyed)throw a(new Error("cannot signal after peer is destroyed"),"ERR_DESTROYED");if(typeof m=="string")try{m=JSON.parse(m);}catch{m={};}this._debug("signal()"),m.renegotiate&&this.initiator&&(this._debug("got request to renegotiate"),this._needsNegotiation()),m.transceiverRequest&&this.initiator&&(this._debug("got request for transceiver"),this.addTransceiver(m.transceiverRequest.kind,m.transceiverRequest.init)),m.candidate&&(this._pc.remoteDescription&&this._pc.remoteDescription.type?this._addIceCandidate(m.candidate):this._pendingCandidates.push(m.candidate)),m.sdp&&this._pc.setRemoteDescription(new this._wrtc.RTCSessionDescription(m)).then(()=>{this.destroyed||(this._pendingCandidates.forEach(b=>{this._addIceCandidate(b);}),this._pendingCandidates=[],this._pc.remoteDescription.type==="offer"&&this._createAnswer());}).catch(b=>{this.destroy(a(b,"ERR_SET_REMOTE_DESCRIPTION"));}),!m.sdp&&!m.candidate&&!m.renegotiate&&!m.transceiverRequest&&this.destroy(a(new Error("signal() called with invalid signal data"),"ERR_SIGNALING"));}}_addIceCandidate(m){let b=new this._wrtc.RTCIceCandidate(m);this._pc.addIceCandidate(b).catch(T=>{!b.address||b.address.endsWith(".local")?f("Ignoring unsupported ICE candidate."):this.destroy(a(T,"ERR_ADD_ICE_CA
107NDIDATE"));});}send(m){if(!this.destroying){if(this.destroyed)throw a(new Error("cannot send after peer is destroyed"),"ERR_DESTROYED");this._channel.send(m);}}addTransceiver(m,b){if(!this.destroying){if(this.destroyed)throw a(new Error("cannot addTransceiver after peer is destroyed"),"ERR_DESTROYED");if(this._debug("addTransceiver()"),this.initiator)try{this._pc.addTransceiver(m,b),this._needsNegotiation();}catch(T){this.destroy(a(T,"ERR_ADD_TRANSCEIVER"));}else this.emit("signal",{type:"transceiverRequest",transceiverRequest:{kind:m,init:b}});}}addStream(m){if(!this.destroying){if(this.destroyed)throw a(new Error("cannot addStream after peer is destroyed"),"ERR_DESTROYED");this._debug("addStream()"),m.getTracks().forEach(b=>{this.addTrack(b,m);});}}addTrack(m,b){if(this.destroying)return;if(this.destroyed)throw a(new Error("cannot addTrack after peer is destroyed"),"ERR_DESTROYED");this._debug("addTrack()");let T=this._senderMap.get(m)||new Map(),S=T.get(b);if(!S)S=this._pc.addTrack(m,b),T.set(b,S),this._senderMap.set(m,T),this._needsNegotiation();else throw S.removed?a(new Error("Track has been removed. You should enable/disable tracks that you want to re-add."),"ERR_SENDER_REMOVED"):a(new Error("Track has already been added to that stream."),"ERR_SENDER_ALREADY_ADDED");}replaceTrack(m,b,T){if(this.destroying)return;if(this.destroyed)throw a(new Error("cannot replaceTrack after peer is destroyed"),"ERR_DESTROYED");this._debug("replaceTrack()");let S=this._senderMap.get(m),P=S?S.get(T):null;if(!P)throw a(new Error("Cannot replace track that was never added."),"ERR_TRACK_NOT_ADDED");b&&this._senderMap.set(b,S),P.replaceTrack!=null?P.replaceTrack(b):this.destroy(a(new Error("replaceTrack is not supported in this browser"),"ERR_UNSUPPORTED_REPLACETRACK"));}removeTrack(m,b){if(this.destroying)return;if(this.destroyed)throw a(new Error("cannot removeTrack after peer is destroyed"),"ERR_DESTROYED");this._debug("removeSender()");let T=this._senderMap.get(m),S=T?T.get(b):null;if(!S)throw a(new Error("Cannot remove track that was never added."),"ERR_TRACK_NOT_ADDED");try{S.removed=!0,this._pc.removeTrack(S);}catch(P){P.name==="NS_ERROR_UNEXPECTED"?this._sendersAwaitingStable.push(S):this.destroy(a(P,"ERR_REMOVE_TRACK"));}this._needsNegotiation();}removeStream(m){if(!this.destroying){if(this.destroyed)throw a(new Error("cannot removeStream after peer is destroyed"),"ERR_DESTROYED");this._debug("removeSenders()"),m.getTracks().forEach(b=>{this.removeTrack(b,m);});}}_needsNegotiation(){this._debug("_needsNegotiation"),!this._batchedNegotiation&&(this._batchedNegotiation=!0,o(()=>{this._batchedNegotiation=!1,this.initiator||!this._firstNegotiation?(this._debug("starting batched negotiation"),this.negotiate()):this._debug("non-initiator initial negotiation request discarded"),this._firstNegotiation=!1;}));}negotiate(){if(!this.destroying){if(this.destroyed)throw a(new Error("cannot negotiate after peer is destroyed"),"ERR_DESTROYED");this.initiator?this._isNegotiating?(this._queuedNegotiation=!0,this._debug("already negotiating, queueing")):(this._debug("start negotiation"),setTimeout(()=>{this._createOffer();},0)):this._isNegotiating?(this._queuedNegotiation=!0,this._debug("already negotiating, queueing")):(this._debug("requesting negotiation from initiator"),this.emit("signal",{type:"renegotiate",renegotiate:!0})),this._isNegotiating=!0;}}destroy(m){this._destroy(m,()=>{});}_destroy(m,b){this.destroyed||this.destroying||(this.destroying=!0,this._debug("destroying (error: %s)",m&&(m.message||m)),o(()=>{if(this.destroyed=!0,this.destroying=!1,this._debug("destroy (error: %s)",m&&(m.message||m)),this.readable=this.writable=!1,this._readableState.ended||this.push(null),this._writableState.finished||this.end(),this._connected=!1,this._pcReady=!1,this._channelReady=!1,this._remoteTracks=null,this._remoteStreams=null,this._senderMap=null,clearInterval(this._closingInterval),this._closingInterval=null,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._onFinishBound&&this.removeListener("finish",this._onFinishBound),this._onFinishBound=null,this._channel){try{this._channel.close();}catch{}this._channel.onmessage=null,this._channel.onopen=null,this._channel.onclose=null,this._channel.onerror=null;}if(this._pc){try{this._pc.close();}catch{}this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ontrack=null,this._pc.ondatachannel=null;}
107this._pc=null,this._channel=null,m&&this.emit("error",m),this.emit("close"),b();}));}_setupData(m){if(!m.channel)return this.destroy(a(new Error("Data channel event is missing `channel` property"),"ERR_DATA_CHANNEL"));this._channel=m.channel,this._channel.binaryType="arraybuffer",typeof this._channel.bufferedAmountLowThreshold=="number"&&(this._channel.bufferedAmountLowThreshold=d),this.channelName=this._channel.label,this._channel.onmessage=T=>{this._onChannelMessage(T);},this._channel.onbufferedamountlow=()=>{this._onChannelBufferedAmountLow();},this._channel.onopen=()=>{this._onChannelOpen();},this._channel.onclose=()=>{this._onChannelClose();},this._channel.onerror=T=>{let S=T.error instanceof Error?T.error:new Error(`Datachannel error: ${T.message} ${T.filename}:${T.lineno}:${T.colno}`);this.destroy(a(S,"ERR_DATA_CHANNEL"));};let b=!1;this._closingInterval=setInterval(()=>{this._channel&&this._channel.readyState==="closing"?(b&&this._onChannelClose(),b=!0):b=!1;},c);}_read(){}_write(m,b,T){if(this.destroyed)return T(a(new Error("cannot write after peer is destroyed"),"ERR_DATA_CHANNEL"));if(this._connected){try{this.send(m);}catch(S){return this.destroy(a(S,"ERR_DATA_CHANNEL"));}this._channel.bufferedAmount>d?(this._debug("start backpressure: bufferedAmount %d",this._channel.bufferedAmount),this._cb=T):T(null);}else this._debug("write before connect"),this._chunk=m,this._cb=T;}_onFinish(){if(this.destroyed)return;let m=()=>{setTimeout(()=>this.destroy(),1e3);};this._connected?m():this.once("connect",m);}_startIceCompleteTimeout(){this.destroyed||this._iceCompleteTimer||(this._debug("started iceComplete timeout"),this._iceCompleteTimer=setTimeout(()=>{this._iceComplete||(this._iceComplete=!0,this._debug("iceComplete timeout completed"),this.emit("iceTimeout"),this.emit("_iceComplete"));},this.iceCompleteTimeout));}_createOffer(){this.destroyed||this._pc.createOffer(this.offerOptions).then(m=>{if(this.destroyed)return;!this.trickle&&!this.allowHalfTrickle&&(m.sdp=h(m.sdp)),m.sdp=this.sdpTransform(m.sdp);let b=()=>{if(this.destroyed)return;let P=this._pc.localDescription||m;this._debug("signal"),this.emit("signal",{type:P.type,sdp:P.sdp});},T=()=>{this._debug("createOffer success"),!this.destroyed&&(this.trickle||this._iceComplete?b():this.once("_iceComplete",b));},S=P=>{this.destroy(a(P,"ERR_SET_LOCAL_DESCRIPTION"));};this._pc.setLocalDescription(m).then(T).catch(S);}).catch(m=>{this.destroy(a(m,"ERR_CREATE_OFFER"));});}_requestMissingTransceivers(){this._pc.getTransceivers&&this._pc.getTransceivers().forEach(m=>{!m.mid&&m.sender.track&&!m.requested&&(m.requested=!0,this.addTransceiver(m.sender.track.kind));});}_createAnswer(){this.destroyed||this._pc.createAnswer(this.answerOptions).then(m=>{if(this.destroyed)return;!this.trickle&&!this.allowHalfTrickle&&(m.sdp=h(m.sdp)),m.sdp=this.sdpTransform(m.sdp);let b=()=>{if(this.destroyed)return;let P=this._pc.localDescription||m;this._debug("signal"),this.emit("signal",{type:P.type,sdp:P.sdp}),this.initiator||this._requestMissingTransceivers();},T=()=>{this.destroyed||(this.trickle||this._iceComplete?b():this.once("_iceComplete",b));},S=P=>{this.destroy(a(P,"ERR_SET_LOCAL_DESCRIPTION"));};this._pc.setLocalDescription(m).then(T).catch(S);}).catch(m=>{this.destroy(a(m,"ERR_CREATE_ANSWER"));});}_onConnectionStateChange(){this.destroyed||this._pc.connectionState==="failed"&&this.destroy(a(new Error("Connection failed."),"ERR_CONNECTION_FAILURE"));}_onIceStateChange(){if(this.destroyed)return;let m=this._pc.iceConnectionState,b=this._pc.iceGatheringState;this._debug("iceStateChange (connection: %s) (gathering: %s)",m,b),this.emit("iceStateChange",m,b),(m==="connected"||m==="completed")&&(this._pcReady=!0,this._maybeReady()),m==="failed"&&this.destroy(a(new Error("Ice connection failed."),"ERR_ICE_CONNECTION_FAILURE")),m==="closed"&&this.destroy(a(new Error("Ice connection closed."),"ERR_ICE_CONNECTION_CLOSED"));}getStats(m){let b=T=>(Object.prototype.toString.call(T.values)==="[object Array]"&&T.values.forEach(S=>{Object.assign(T,S);}),T);this._pc.getStats.length===0||this._isReactNativeWebrtc?this._pc.getStats().then(T=>{let S=[];T.forEach(P=>{S.push(b(P));}),m(null,S);},T=>m(T)):this._pc.getStats.length>0?this._pc.getStats(T=>{if(this.destroyed)return;let S=[];
107T.result().forEach(P=>{let R={};P.names().forEach(C=>{R[C]=P.stat(C);}),R.id=P.id,R.type=P.type,R.timestamp=P.timestamp,S.push(b(R));}),m(null,S);},T=>m(T)):m(null,[]);}_maybeReady(){if(this._debug("maybeReady pc %s channel %s",this._pcReady,this._channelReady),this._connected||this._connecting||!this._pcReady||!this._channelReady)return;this._connecting=!0;let m=()=>{this.destroyed||this.getStats((b,T)=>{if(this.destroyed)return;b&&(T=[]);let S={},P={},R={},C=!1;T.forEach(O=>{(O.type==="remotecandidate"||O.type==="remote-candidate")&&(S[O.id]=O),(O.type==="localcandidate"||O.type==="local-candidate")&&(P[O.id]=O),(O.type==="candidatepair"||O.type==="candidate-pair")&&(R[O.id]=O);});let A=O=>{C=!0;let U=P[O.localCandidateId];U&&(U.ip||U.address)?(this.localAddress=U.ip||U.address,this.localPort=Number(U.port)):U&&U.ipAddress?(this.localAddress=U.ipAddress,this.localPort=Number(U.portNumber)):typeof O.googLocalAddress=="string"&&(U=O.googLocalAddress.split(":"),this.localAddress=U[0],this.localPort=Number(U[1])),this.localAddress&&(this.localFamily=this.localAddress.includes(":")?"IPv6":"IPv4");let j=S[O.remoteCandidateId];j&&(j.ip||j.address)?(this.remoteAddress=j.ip||j.address,this.remotePort=Number(j.port)):j&&j.ipAddress?(this.remoteAddress=j.ipAddress,this.remotePort=Number(j.portNumber)):typeof O.googRemoteAddress=="string"&&(j=O.googRemoteAddress.split(":"),this.remoteAddress=j[0],this.remotePort=Number(j[1])),this.remoteAddress&&(this.remoteFamily=this.remoteAddress.includes(":")?"IPv6":"IPv4"),this._debug("connect local: %s:%s remote: %s:%s",this.localAddress,this.localPort,this.remoteAddress,this.remotePort);};if(T.forEach(O=>{O.type==="transport"&&O.selectedCandidatePairId&&A(R[O.selectedCandidatePairId]),(O.type==="googCandidatePair"&&O.googActiveConnection==="true"||(O.type==="candidatepair"||O.type==="candidate-pair")&&O.selected)&&A(O);}),!C&&(!Object.keys(R).length||Object.keys(P).length)){setTimeout(m,100);return;}else this._connecting=!1,this._connected=!0;if(this._chunk){try{this.send(this._chunk);}catch(U){return this.destroy(a(U,"ERR_DATA_CHANNEL"));}this._chunk=null,this._debug('sent chunk from "write before connect"');let O=this._cb;this._cb=null,O(null);}typeof this._channel.bufferedAmountLowThreshold!="number"&&(this._interval=setInterval(()=>this._onInterval(),150),this._interval.unref&&this._interval.unref()),this._debug("connect"),this.emit("connect");});};m();}_onInterval(){!this._cb||!this._channel||this._channel.bufferedAmount>d||this._onChannelBufferedAmountLow();}_onSignalingStateChange(){this.destroyed||(this._pc.signalingState==="stable"&&(this._isNegotiating=!1,this._debug("flushing sender queue",this._sendersAwaitingStable),this._sendersAwaitingStable.forEach(m=>{this._pc.removeTrack(m),this._queuedNegotiation=!0;}),this._sendersAwaitingStable=[],this._queuedNegotiation?(this._debug("flushing negotiation queue"),this._queuedNegotiation=!1,this._needsNegotiation()):(this._debug("negotiated"),this.emit("negotiated"))),this._debug("signalingStateChange %s",this._pc.signalingState),this.emit("signalingStateChange",this._pc.signalingState));}_onIceCandidate(m){this.destroyed||(m.candidate&&this.trickle?this.emit("signal",{type:"candidate",candidate:{candidate:m.candidate.candidate,sdpMLineIndex:m.candidate.sdpMLineIndex,sdpMid:m.candidate.sdpMid}}):!m.candidate&&!this._iceComplete&&(this._iceComplete=!0,this.emit("_iceComplete")),m.candidate&&this._startIceCompleteTimeout());}_onChannelMessage(m){if(this.destroyed)return;let b=m.data;b instanceof ArrayBuffer&&(b=l.from(b)),this.push(b);}_onChannelBufferedAmountLow(){if(this.destroyed||!this._cb)return;this._debug("ending backpressure: bufferedAmount %d",this._channel.bufferedAmount);let m=this._cb;this._cb=null,m(null);}_onChannelOpen(){this._connected||this.destroyed||(this._debug("on channel open"),this._channelReady=!0,this._maybeReady());}_onChannelClose(){this.destroyed||(this._debug("on channel close"),this.destroy());}_onTrack(m){this.destroyed||m.streams.forEach(b=>{this._debug("on track"),this.emit("track",m.track,b),this._remoteTracks.push({track:m.track,stream:b}),!this._remoteStreams.some(T=>T.id===b.id)&&(this._remoteStreams.push(b),o(()=>
107{this._debug("on stream"),this.emit("stream",b);}));});}_debug(){let m=[].slice.call(arguments);m[0]="["+this._id+"] "+m[0],t.apply(null,m);}};p.WEBRTC_SUPPORT=!!i(),p.config={iceServers:[{urls:["stun:stun.l.google.com:19302","stun:global.stun.twilio.com:3478"]}],sdpSemantics:"unified-plan"},p.channelConfig={},e.exports=p;}}),wk=Me({"node_modules/wrappy/wrappy.js"(s,e){e.exports=t;function t(i,n){if(i&&n)return t(i)(n);if(typeof i!="function")throw new TypeError("need wrapper function");return Object.keys(i).forEach(function(o){r[o]=i[o];}),r;function r(){for(var o=new Array(arguments.length),a=0;a<o.length;a++)o[a]=arguments[a];var l=i.apply(this,o),d=o[o.length-1];return typeof l=="function"&&l!==d&&Object.keys(d).forEach(function(u){l[u]=d[u];}),l;}}}}),xk=Me({"node_modules/once/once.js"(s,e){var t=wk();e.exports=t(i),e.exports.strict=t(n),i.proto=i(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return i(this);},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return n(this);},configurable:!0});});function i(r){var o=function(){return o.called?o.value:(o.called=!0,o.value=r.apply(this,arguments));};return o.called=!1,o;}function n(r){var o=function(){if(o.called)throw new Error(o.onceError);return o.called=!0,o.value=r.apply(this,arguments);},a=r.name||"Function wrapped with `once`";return o.onceError=a+" shouldn't be called more than once",o.called=!1,o;}}}),Ak=Me({"node_modules/run-parallel/index.js"(s,e){e.exports=i;var t=$d();function i(n,r){let o,a,l,d=!0;Array.isArray(n)?(o=[],a=n.length):(l=Object.keys(n),o={},a=l.length);function u(h){function f(){r&&r(h,o),r=null;}d?t(f):f();}function c(h,f,p){o[h]=p,(--a===0||f)&&u(f);}a?l?l.forEach(function(h){n[h](function(f,p){c(h,f,p);});}):n.forEach(function(h,f){h(function(p,g){c(f,p,g);});}):u(null),d=!1;}}}),Ik=Me({"node_modules/queue-tick/queue-microtask.js"(s,e){e.exports=typeof queueMicrotask=="function"?queueMicrotask:t=>Promise.resolve().then(t);}}),Rk=Me({"node_modules/fast-fifo/fixed-size.js"(s,e){e.exports=class{constructor(i){if(!(i>0)||i-1&i)throw new Error("Max size for a FixedFIFO should be a power of two");this.buffer=new Array(i),this.mask=i-1,this.top=0,this.btm=0,this.next=null;}clear(){this.top=this.btm=0,this.next=null,this.buffer.fill(void 0);}push(i){return this.buffer[this.top]!==void 0?!1:(this.buffer[this.top]=i,this.top=this.top+1&this.mask,!0);}shift(){let i=this.buffer[this.btm];if(i!==void 0)return this.buffer[this.btm]=void 0,this.btm=this.btm+1&this.mask,i;}peek(){return this.buffer[this.btm];}isEmpty(){return this.buffer[this.btm]===void 0;}};}}),Pk=Me({"node_modules/fast-fifo/index.js"(s,e){var t=Rk();e.exports=class{constructor(n){this.hwm=n||16,this.head=new t(this.hwm),this.tail=this.head,this.length=0;}clear(){this.head=this.tail,this.head.clear(),this.length=0;}push(n){if(this.length++,!this.head.push(n)){let r=this.head;this.head=r.next=new t(2*this.head.buffer.length),this.head.push(n);}}shift(){this.length!==0&&this.length--;let n=this.tail.shift();if(n===void 0&&this.tail.next){let r=this.tail.next;return this.tail.next=null,this.tail=r,this.tail.shift();}return n;}peek(){let n=this.tail.peek();return n===void 0&&this.tail.next?this.tail.next.peek():n;}isEmpty(){return this.length===0;}};}}),kk=Me({"node_modules/b4a/lib/ascii.js"(s,e){function t(r){return r.length;}function i(r){let o=r.byteLength,a="";for(let l=0;l<o;l++)a+=String.fromCharCode(r[l]);return a;}function n(r,o,a=0,l=t(o)){let d=Math.min(l,r.byteLength-a);for(let u=0;u<d;u++)r[a+u]=o.charCodeAt(u);return d;}e.exports={byteLength:t,toString:i,write:n};}}),Ok=Me({"node_modules/b4a/lib/base64.js"(s,e){var t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",i=new Uint8Array(256);for(let a=0;a<t.length;a++)i[t.charCodeAt(a)]=a;i[45]=62,i[95]=63;function n(a){let l=a.length;return a.charCodeAt(l-1)===61&&l--,l>1&&a.charCodeAt(l-1)===61&&l--,l*3>>>2;}function r(a){let l=a.byteLength,d="";for(let u=0;u<l;u+=3)d+=t[a[u]>>2]+t[(a[u]&3)<<4|a[u+1]>>4]+t[(a[u+1]&15)<<2|a[u+2]>>6]+t[a[u+2]&63];return l%3===2?d=d.substring(0,d.length-1)+"=":l%3===1&&(d=d.substring(0,d.length-2)+"=="),d;}function o(a,l,d=0,u=n(l)){let c=Math.min(u,a.byteLength-d);for(let h=0,f=0;f<c;h+=4){let p=i[l.charCodeAt(h)],g=i[l.charCodeAt(h+1)],m=i[l.charCodeAt(h+2)],b=i[l.charCodeAt(h+3)];a[f++]=p<<2|g>>4,a[f++]=(g&15)<<4|m>>2,a[f++]=(m&3)<<6|b&63;}return c;}e.exports={byteLength:n,toString:r,write:o};}}),Lk=Me({"node_modules/b4a/lib/hex.js"(s,e){function t(o){return o.length>>>1;}function i(o){let a=o.byteLength;o=new DataView(o.buffer,o.byteOffset,a);let l="",d=0;for(let u=a-a%4;d<u;d+=4)l+=o.getUint32(d).toString(16).padStart(8,"0");for(;d<a;d++)l+=o.getUint8(d).toString(16).padStart(2,"0");return l;}function n(o,a,l=0,d=t(a)){let u=Math.min(d,o.byteLength-l);for(let c=0;c<u;
107c++){let h=r(a.charCodeAt(c*2)),f=r(a.charCodeAt(c*2+1));if(h===void 0||f===void 0)return o.subarray(0,c);o[l+c]=h<<4|f;}return u;}e.exports={byteLength:t,toString:i,write:n};function r(o){if(o>=48&&o<=57)return o-48;if(o>=65&&o<=70)return o-65+10;if(o>=97&&o<=102)return o-97+10;}}}),Mk=Me({"node_modules/b4a/lib/utf8.js"(s,e){function t(r){let o=0;for(let a=0,l=r.length;a<l;a++){let d=r.charCodeAt(a);if(d>=55296&&d<=56319&&a+1<l){let u=r.charCodeAt(a+1);if(u>=56320&&u<=57343){o+=4,a++;continue;}}d<=127?o+=1:d<=2047?o+=2:o+=3;}return o;}var i;if(typeof TextDecoder<"u"){let r=new TextDecoder();i=function(a){return r.decode(a);};}else i=function(o){let a=o.byteLength,l="",d=0;for(;d<a;){let u=o[d];if(u<=127){l+=String.fromCharCode(u),d++;continue;}let c=0,h=0;if(u<=223?(c=1,h=u&31):u<=239?(c=2,h=u&15):u<=244&&(c=3,h=u&7),a-d-c>0){let f=0;for(;f<c;)u=o[d+f+1],h=h<<6|u&63,f+=1;}else h=65533,c=a-d;l+=String.fromCodePoint(h),d+=c+1;}return l;};var n;if(typeof TextEncoder<"u"){let r=new TextEncoder();n=function(a,l,d=0,u=t(l)){let c=Math.min(u,a.byteLength-d);return r.encodeInto(l,a.subarray(d,d+c)),c;};}else n=function(o,a,l=0,d=t(a)){let u=Math.min(d,o.byteLength-l);o=o.subarray(l,l+u);let c=0,h=0;for(;c<a.length;){let f=a.codePointAt(c);if(f<=127){o[h++]=f,c++;continue;}let p=0,g=0;for(f<=2047?(p=6,g=192):f<=65535?(p=12,g=224):f<=2097151&&(p=18,g=240),o[h++]=g|f>>p,p-=6;p>=0;)o[h++]=128|f>>p&63,p-=6;c+=f>=65536?2:1;}return u;};e.exports={byteLength:t,toString:i,write:n};}}),Dk=Me({"node_modules/b4a/lib/utf16le.js"(s,e){function t(r){return r.length*2;}function i(r){let o=r.byteLength,a="";for(let l=0;l<o-1;l+=2)a+=String.fromCharCode(r[l]+r[l+1]*256);return a;}function n(r,o,a=0,l=t(o)){let d=Math.min(l,r.byteLength-a),u=d;for(let c=0;c<o.length&&!((u-=2)<0);++c){let h=o.charCodeAt(c),f=h>>8,p=h%256;r[a+c*2]=p,r[a+c*2+1]=f;}return d;}e.exports={byteLength:t,toString:i,write:n};}}),AT=Me({"node_modules/b4a/browser.js"(s,e){var t=kk(),i=Ok(),n=Lk(),r=Mk(),o=Dk(),a=new Uint8Array(Uint16Array.of(255).buffer)[0]===255;function l(k){switch(k){case"ascii":return t;case"base64":return i;case"hex":return n;case"utf8":case"utf-8":case void 0:return r;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return o;default:throw new Error(`Unknown encoding: ${k}`);}}function d(k){return k instanceof Uint8Array;}function u(k){try{return l(k),!0;}catch{return!1;}}function c(k,M,H){let ee=new Uint8Array(k);return M!==void 0&&s.fill(ee,M,0,ee.byteLength,H),ee;}function h(k){return new Uint8Array(k);}function f(k){return new Uint8Array(k);}function p(k,M){return l(M).byteLength(k);}function g(k,M){if(k===M)return 0;let H=Math.min(k.byteLength,M.byteLength);k=new DataView(k.buffer,k.byteOffset,k.byteLength),M=new DataView(M.buffer,M.byteOffset,M.byteLength);let ee=0;for(let ue=H-H%4;ee<ue;ee+=4){let pe=k.getUint32(ee,a),N=M.getUint32(ee,a);if(pe!==N)break;}for(;ee<H;ee++){let ue=k.getUint8(ee),pe=M.getUint8(ee);if(ue<pe)return-1;if(ue>pe)return 1;}return k.byteLength>M.byteLength?1:k.byteLength<M.byteLength?-1:0;}function m(k,M){M===void 0&&(M=k.reduce((ue,pe)=>ue+pe.byteLength,0));let H=new Uint8Array(M),ee=0;for(let ue of k){if(ee+ue.byteLength>H.byteLength){let pe=ue.subarray(0,H.byteLength-ee);return H.set(pe,ee),H;}H.set(ue,ee),ee+=ue.byteLength;}return H;}function b(k,M,H=0,ee=0,ue=k.byteLength){if(ue>0&&ue<ee||ue===ee||k.byteLength===0||M.byteLength===0)return 0;if(H<0)throw new RangeError("targetStart is out of range");if(ee<0||ee>=k.byteLength)throw new RangeError("sourceStart is out of range");if(ue<0)throw new RangeError("sourceEnd is out of range");H>=M.byteLength&&(H=M.byteLength),ue>k.byteLength&&(ue=k.byteLength),M.byteLength-H<ue-ee&&(ue=M.length-H+ee);let pe=ue-ee;return k===M?M.copyWithin(H,ee,ue):M.set(k.subarray(ee,ue),H),pe;}function T(k,M){if(k===M)return!0;if(k.byteLength!==M.byteLength)return!1;let H=k.byteLength;k=new DataView(k.buffer,k.byteOffset,k.byteLength),M=new DataView(M.buffer,M.byteOffset,M.byteLength);let ee=0;for(let ue=H-H%4;ee<ue;ee+=4)if(k.getUint32(ee,a)!==M.getUint32(ee,a))return!1;for(;ee<H;ee++)if(k.getUint8(ee)!==M.getUint8(ee))return!1;return!0;}
107function S(k,M,H,ee,ue){if(typeof M=="string"?typeof H=="string"?(ue=H,H=0,ee=k.byteLength):typeof ee=="string"&&(ue=ee,ee=k.byteLength):typeof M=="number"?M=M&255:typeof M=="boolean"&&(M=+M),H<0||k.byteLength<H||k.byteLength<ee)throw new RangeError("Out of range index");if(H===void 0&&(H=0),ee===void 0&&(ee=k.byteLength),ee<=H)return k;if(M||(M=0),typeof M=="number")for(let pe=H;pe<ee;++pe)k[pe]=M;else{M=d(M)?M:P(M,ue);let pe=M.byteLength;for(let N=0;N<ee-H;++N)k[N+H]=M[N%pe];}return k;}function P(k,M,H){return typeof k=="string"?R(k,M):Array.isArray(k)?C(k):ArrayBuffer.isView(k)?A(k):O(k,M,H);}function R(k,M){let H=l(M),ee=new Uint8Array(H.byteLength(k));return H.write(ee,k,0,ee.byteLength),ee;}function C(k){let M=new Uint8Array(k.length);return M.set(k),M;}function A(k){let M=new Uint8Array(k.byteLength);return M.set(k),M;}function O(k,M,H){return new Uint8Array(k,M,H);}function U(k,M,H,ee){return K(k,M,H,ee)!==-1;}function j(k,M,H,ee,ue){if(k.byteLength===0)return-1;if(typeof H=="string"?(ee=H,H=0):H===void 0?H=ue?0:k.length-1:H<0&&(H+=k.byteLength),H>=k.byteLength){if(ue)return-1;H=k.byteLength-1;}else if(H<0)if(ue)H=0;else return-1;if(typeof M=="string")M=P(M,ee);else if(typeof M=="number")return M=M&255,ue?k.indexOf(M,H):k.lastIndexOf(M,H);if(M.byteLength===0)return-1;if(ue){let pe=-1;for(let N=H;N<k.byteLength;N++)if(k[N]===M[pe===-1?0:N-pe]){if(pe===-1&&(pe=N),N-pe+1===M.byteLength)return pe;}else pe!==-1&&(N-=N-pe),pe=-1;}else{H+M.byteLength>k.byteLength&&(H=k.byteLength-M.byteLength);for(let pe=H;pe>=0;pe--){let N=!0;for(let V=0;V<M.byteLength;V++)if(k[pe+V]!==M[V]){N=!1;break;}if(N)return pe;}}return-1;}function K(k,M,H,ee){return j(k,M,H,ee,!0);}function Y(k,M,H,ee){return j(k,M,H,ee,!1);}function oe(k,M,H){let ee=k[M];k[M]=k[H],k[H]=ee;}function Ee(k){let M=k.byteLength;if(M%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let H=0;H<M;H+=2)oe(k,H,H+1);return k;}function xe(k){let M=k.byteLength;if(M%4!==0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let H=0;H<M;H+=4)oe(k,H,H+3),oe(k,H+1,H+2);return k;}function Ae(k){let M=k.byteLength;if(M%8!==0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let H=0;H<M;H+=8)oe(k,H,H+7),oe(k,H+1,H+6),oe(k,H+2,H+5),oe(k,H+3,H+4);return k;}function He(k){return k;}function Xe(k,M,H=0,ee=k.byteLength){let ue=k.byteLength;return H>=ue||ee<=H?"":(H<0&&(H=0),ee>ue&&(ee=ue),(H!==0||ee<ue)&&(k=k.subarray(H,ee)),l(M).toString(k));}function Te(k,M,H,ee,ue){return H===void 0?ue="utf8":ee===void 0&&typeof H=="string"?(ue=H,H=void 0):ue===void 0&&typeof ee=="string"&&(ue=ee,ee=void 0),l(ue).write(k,M,H,ee);}function fe(k,M,H){return H===void 0&&(H=0),new DataView(k.buffer,k.byteOffset,k.byteLength).setFloat64(H,M,!0),H+8;}function me(k,M,H){return H===void 0&&(H=0),new DataView(k.buffer,k.byteOffset,k.byteLength).setFloat32(H,M,!0),H+4;}function ge(k,M,H){return H===void 0&&(H=0),new DataView(k.buffer,k.byteOffset,k.byteLength).setUint32(H,M,!0),H+4;}function We(k,M,H){return H===void 0&&(H=0),new DataView(k.buffer,k.byteOffset,k.byteLength).setInt32(H,M,!0),H+4;}function nt(k,M){return M===void 0&&(M=0),new DataView(k.buffer,k.byteOffset,k.byteLength).getFloat64(M,!0);}function tt(k,M){return M===void 0&&(M=0),new DataView(k.buffer,k.byteOffset,k.byteLength).getFloat32(M,!0);}function dt(k,M){return M===void 0&&(M=0),new DataView(k.buffer,k.byteOffset,k.byteLength).getUint32(M,!0);}function Tt(k,M){return M===void 0&&(M=0),new DataView(k.buffer,k.byteOffset,k.byteLength).getInt32(M,!0);}e.exports=s={isBuffer:d,isEncoding:u,alloc:c,allocUnsafe:h,allocUnsafeSlow:f,byteLength:p,compare:g,concat:m,copy:b,equals:T,fill:S,from:P,includes:U,indexOf:K,lastIndexOf:Y,swap16:Ee,swap32:xe,swap64:Ae,toBuffer:He,toString:Xe,write:Te,writeDoubleLE:fe,writeFloatLE:me,writeUInt32LE:ge,writeInt32LE:We,readDoubleLE:nt,readFloatLE:tt,readUInt32LE:dt,readInt32LE:Tt};}}),Nk=Me({"node_modules/text-decoder/lib/pass-through-decoder.js"(s,e){var t=AT();e.exports=class{constructor(n){this.encoding=n;}decode(n){return t.toString(n,this.encoding);}flush(){return"";}};}}),jk=Me({"node_modules/text-decoder/lib/utf8-decoder.js"(s,e){var t=AT();
107e.exports=class{constructor(){this.codePoint=0,this.bytesSeen=0,this.bytesNeeded=0,this.lowerBoundary=128,this.upperBoundary=191;}decode(n){if(this.bytesNeeded===0){let o=!0;for(let a=Math.max(0,n.byteLength-4),l=n.byteLength;a<l&&o;a++)o=n[a]<=127;if(o)return t.toString(n,"utf8");}let r="";for(let o=0,a=n.byteLength;o<a;o++){let l=n[o];if(this.bytesNeeded===0){l<=127?r+=String.fromCharCode(l):l>=194&&l<=223?(this.bytesNeeded=1,this.codePoint=l&31):l>=224&&l<=239?(l===224?this.lowerBoundary=160:l===237&&(this.upperBoundary=159),this.bytesNeeded=2,this.codePoint=l&15):l>=240&&l<=244?(l===240&&(this.lowerBoundary=144),l===244&&(this.upperBoundary=143),this.bytesNeeded=3,this.codePoint=l&7):r+="\uFFFD";continue;}if(l<this.lowerBoundary||l>this.upperBoundary){this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,r+="\uFFFD";continue;}this.lowerBoundary=128,this.upperBoundary=191,this.codePoint=this.codePoint<<6|l&63,this.bytesSeen++,this.bytesSeen===this.bytesNeeded&&(r+=String.fromCodePoint(this.codePoint),this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0);}return r;}flush(){let n=this.bytesNeeded>0?"\uFFFD":"";return this.codePoint=0,this.bytesNeeded=0,this.bytesSeen=0,this.lowerBoundary=128,this.upperBoundary=191,n;}};}}),Fk=Me({"node_modules/text-decoder/index.js"(s,e){var t=Nk(),i=jk();e.exports=class{constructor(o="utf8"){switch(this.encoding=n(o),this.encoding){case"utf8":this.decoder=new i();break;case"utf16le":case"base64":throw new Error("Unsupported encoding: "+this.encoding);default:this.decoder=new t(this.encoding);}}push(o){return typeof o=="string"?o:this.decoder.decode(o);}write(o){return this.push(o);}end(o){let a="";return o&&(a=this.push(o)),a+=this.decoder.flush(),a;}};function n(r){switch(r=r.toLowerCase(),r){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return r;default:throw new Error("Unknown encoding: "+r);}}}}),IT=Me({"node_modules/streamx/index.js"(s,e){var{EventEmitter:t}=Cr(),i=new Error("Stream was destroyed"),n=new Error("Premature close"),r=Ik(),o=Pk(),a=Fk(),l=(1<<29)-1,d=1,u=2,c=4,h=8,f=l^d,p=l^u,g=16,m=32,b=64,T=128,S=256,P=512,R=1024,C=2048,A=4096,O=8192,U=16384,j=32768,K=65536,Y=131072,oe=S|P,Ee=g|K,xe=b|g,Ae=A|T,He=S|Y,Xe=l^g,Te=l^b,fe=l^(b|K),me=l^K,ge=l^S,We=l^(T|O),nt=l^R,tt=l^oe,dt=l^j,Tt=l^m,k=l^Y,M=l^He,H=1<<18,ee=2<<18,ue=4<<18,pe=8<<18,N=16<<18,V=32<<18,x=64<<18,_=128<<18,E=256<<18,L=512<<18,G=1024<<18,se=l^(H|E),ae=l^ue,Ke=l^L,ot=l^N,it=l^pe,Et=l^_,I=l^ee,v=l^G,y=g|H,D=l^y,$=U|V,Z=c|h|u,ne=Z|d,Qe=Z|$,Rt=ae&Te,_t=_|j,Pt=_t&D,ft=ne|Pt,aE=ne|R|U,Ip=ne|U|T,lE=ne|R|T,dE=ne|A|T|O,uE=ne|g|R|U|K|Y,cE=Z|R|U,hE=m|ne|j|b,fE=ne|L|V,pE=pe|N,Rp=pe|H,mE=pe|N|ne|H,Pp=ne|H|pe|G,gE=ue|H,vE=H|E,_E=ne|L|Rp|V,yE=N|Z|L|V,bE=ee|ne|_|ue,da=Symbol.asyncIterator||Symbol("asyncIterator"),kp=class{constructor(B,{highWaterMark:Q=16384,map:Ue=null,mapWritable:$e,byteLength:St,byteLengthWritable:Vt}={}){this.stream=B,this.queue=new o(),this.highWaterMark=Q,this.buffered=0,this.error=null,this.pipeline=null,this.drains=null,this.byteLength=Vt||St||Vp,this.map=$e||Ue,this.afterWrite=xE.bind(this),this.afterUpdateNextTick=RE.bind(this);}get ended(){return(this.stream._duplexState&V)!==0;}push(B){return this.map!==null&&(B=this.map(B)),this.buffered+=this.byteLength(B),this.queue.push(B),this.buffered<this.highWaterMark?(this.stream._duplexState|=pe,!0):(this.stream._duplexState|=pE,!1);}shift(){let B=this.queue.shift();return this.buffered-=this.byteLength(B),this.buffered===0&&(this.stream._duplexState&=it),B;}end(B){typeof B=="function"?this.stream.once("finish",B):B!=null&&this.push(B),this.stream._duplexState=(this.stream._duplexState|L)&ae;}autoBatch(B,Q){let Ue=[],$e=this.stream;for(Ue.push(B);($e._duplexState&Pp)===Rp;)Ue.push($e._writableState.shift());if($e._duplexState&ne)return Q(null);$e._writev(Ue,Q);}update(){let B=this.stream;B._duplexState|=ee;do{for(;(B._duplexState&Pp)===pe;){let Q=this.shift();B._duplexState|=vE,B._write(Q,this.afterWrite);}B._duplexState&gE||this.updateNonPrimary();}while(this.continueUpdate()===!0);B._duplexState&=I;}updateNonPrimary(){let B=this.stream;if((B._duplexState&_E)===L){B._duplexState=(B._duplexState|H)&Ke,B._final(wE.bind(this));return;}if((B._duplexState&Z)===c){B._duplexState&_t||(B._duplexState|=y,B._destroy(Op.bind(this)));return;}(B._duplexState&ft)===d&&(B._duplexState=(B._duplexState|y)&f,B._open(Lp.bind(this)));}continueUpdate(){return this.stream._duplexState&_?(this.stream._duplexState&=Et,!0):!1;}updateCallback(){(this.stream._duplexState&bE)===ue?this.update():this.updateNextTick();}updateNextTick(){this.stream._duplexState&_||(this.stream._duplexState|=_,this.stream._duplexState&ee||r(this.afterUpdateNextTick));}},TE=class{constructor(B,{highWaterMark:Q=16384,map:Ue=null,mapReadable:$e,byteLength:St,byteLengthReadable:Vt}={}){this.stream=B,this.queue=new o(),this.highWaterMark=Q===0?1:Q,this.buffered=0,this.readAhead=Q>0,this.error=null,this.pipeline=null,this.byteLength=Vt||St||Vp,this.map=$e||Ue,this.pipeTo=null,this.afterRead=AE.bind(this),this.afterUpdateNextTick=IE.bind(this);}get ended(){return(this.stream._duplexState&U)!==0;}pipe(B,Q){if(this.pipeTo!==null)throw new Error("Can only pipe to one destination");if(typeof Q!="function"&&(Q=null),this.stream._duplexState|=P,this.pipeTo=B,this.pipeline=new SE(this.stream,B,Q),Q&&this.stream.on("error",Bp),Hs(B))B._writableState.pipeline=this.pipeline,Q&&B.on("error",Bp),B.on("finish",this.pipeline.finished.bind(this.pipeline));else{let Ue=this.pipeline.done.bind(this.pipeline,B),$e=this.pipeline.done.bind(this.pipeline,B,null);B.on("error",Ue),B.on("close",$e),B.on("finish",this.pipeline.finished.bind(this.pipeline));}B.on("drain",CE.bind(this)),this.stream.emit("piping",B),B.emit("pipe",this.stream);}push(B){let Q=this.stream;return B===null?(this.highWaterMark=0,Q._duplexState=(Q._duplexState|R)&fe,!1):this.map!==null&&(B=this.map(B),B===null)?this.buffered<this.highWaterMark:(this.buffered+=this.byteLength(B),this.queue.push(B),Q._duplexState=(Q._duplexState|T)&me,this.buffered<this.highWaterMark);}shift(){let B=this.queue.shift();return this.buffered-=this.byteLength(B),this.buffered===0&&(this.stream._duplexState&=We),B;}unshift(B){let Q=[this.map!==null?this.map(B):B];for(;this.buffered>0;)Q.push(this.shift());for(let Ue=0;Ue<Q.length-1;Ue++){let $e=Q[Ue];this.buffered+=this.byteLength($e),this.queue.push($e);}this.push(Q[Q.length-1]);}read(){let B=this.stream;if((B._duplexState&Ip)===T){let Q=this.shift();return this.pipeTo!==null&&this.pipeTo.write(Q)===!1&&(B._duplexState&=tt),B._duplexState&C&&B.emit("data",Q),Q;}return this.readAhead===!1&&(B._duplexState|=Y,this.updateNextTick()),null;}drain(){let B=this.stream;for(;(B._duplexState&Ip)===T&&B._duplexState&oe;){let Q=this.shift();this.pipeTo!==null&&this.pipeTo.write(Q)===!1&&(B._duplexState&=tt),B._duplexState&C&&B.emit("data",Q);}}update(){let B=this.stream;B._duplexState|=m;do{for(this.drain();this.buffered<this.highWaterMark&&(B._duplexState&uE)===Y;)B._duplexState|=Ee,B._read(this.afterRead),this.drain();(B._duplexState&dE)===Ae&&(B._duplexState|=O,B.emit("readable")),B._duplexState&xe||this.updateNonPrimary();}while(this.continueUpdate()===!0);B._duplexState&=Tt;}updateNonPrimary(){let B=this.stream;if((B._duplexState&lE)===R&&(B._duplexState=(B._duplexState|U)&nt,B.emit("end"),(B._duplexState&Qe)===$&&(B._duplexState|=c),this.pipeTo!==null&&this.pipeTo.end()),(B._duplexState&Z)===c){B._duplexState&_t||(B._duplexState|=y,B._destroy(Op.bind(this)));return;}(B._duplexState&ft)===d&&(B._duplexState=(B._duplexState|y)&f,B._open(Lp.bind(this)));}continueUpdate(){return this.stream._duplexState&j?(this.stream._duplexState&=dt,!0):!1;}updateCallback(){(this.stream._duplexState&hE)===b?this.update():this.updateNextTick();}updateNextTick(){this.stream._duplexState&j||(this.stream._duplexState|=j,this.stream._duplexState&m||r(this.afterUpdateNextTick));}},EE=class{constructor(B){this.data=null,this.afterTransform=kE.bind(B),this.afterFinal=null;}},SE=class{constructor(B,Q,Ue){this.from=B,this.to=Q,this.afterPipe=Ue,this.error=null,this.pipeToFinished=!1;}finished(){this.pipeToFinished=!0;}done(B,Q){if(Q&&(this.error=Q),B===this.to&&(this.to=null,this.from!==null)){(!(this.from._duplexState&U)||!this.pipeToFinished)&&this.from.destroy(this.error||new Error("Writable stream closed prematurely"));return;}if(B===this.from&&(this.from=null,this.to!==null)){B._duplexState&U||this.to.destroy(this.error||new Error("Readable stream closed before ending"));return;}this.afterPipe!==null&&this.afterPipe(this.error),this.to=this.from=this.afterPipe=null;}};function CE(){this.stream._duplexState|=P,this.updateCallback();}function wE(B){let Q=this.stream;
107B&&Q.destroy(B),Q._duplexState&Z||(Q._duplexState|=V,Q.emit("finish")),(Q._duplexState&Qe)===$&&(Q._duplexState|=c),Q._duplexState&=se,Q._duplexState&ee?this.updateNextTick():this.update();}function Op(B){let Q=this.stream;!B&&this.error!==i&&(B=this.error),B&&Q.emit("error",B),Q._duplexState|=h,Q.emit("close");let Ue=Q._readableState,$e=Q._writableState;if(Ue!==null&&Ue.pipeline!==null&&Ue.pipeline.done(Q,B),$e!==null){for(;$e.drains!==null&&$e.drains.length>0;)$e.drains.shift().resolve(!1);$e.pipeline!==null&&$e.pipeline.done(Q,B);}}function xE(B){let Q=this.stream;B&&Q.destroy(B),Q._duplexState&=se,this.drains!==null&&PE(this.drains),(Q._duplexState&mE)===N&&(Q._duplexState&=ot,(Q._duplexState&x)===x&&Q.emit("drain")),this.updateCallback();}function AE(B){B&&this.stream.destroy(B),this.stream._duplexState&=Xe,this.readAhead===!1&&!(this.stream._duplexState&S)&&(this.stream._duplexState&=k),this.updateCallback();}function IE(){this.stream._duplexState&m||(this.stream._duplexState&=dt,this.update());}function RE(){this.stream._duplexState&ee||(this.stream._duplexState&=Et,this.update());}function PE(B){for(let Q=0;Q<B.length;Q++)--B[Q].writes===0&&(B.shift().resolve(!0),Q--);}function Lp(B){let Q=this.stream;B&&Q.destroy(B),Q._duplexState&c||(Q._duplexState&aE||(Q._duplexState|=b),Q._duplexState&fE||(Q._duplexState|=ue),Q.emit("open")),Q._duplexState&=D,Q._writableState!==null&&Q._writableState.updateCallback(),Q._readableState!==null&&Q._readableState.updateCallback();}function kE(B,Q){Q!=null&&this.push(Q),this._writableState.afterWrite(B);}function OE(B){this._readableState!==null&&(B==="data"&&(this._duplexState|=C|He,this._readableState.updateNextTick()),B==="readable"&&(this._duplexState|=A,this._readableState.updateNextTick())),this._writableState!==null&&B==="drain"&&(this._duplexState|=x,this._writableState.updateNextTick());}var nu=class extends t{constructor(B){super(),this._duplexState=0,this._readableState=null,this._writableState=null,B&&(B.open&&(this._open=B.open),B.destroy&&(this._destroy=B.destroy),B.predestroy&&(this._predestroy=B.predestroy),B.signal&&B.signal.addEventListener("abort",BE.bind(this))),this.on("newListener",OE);}_open(B){B(null);}_destroy(B){B(null);}_predestroy(){}get readable(){return this._readableState!==null?!0:void 0;}get writable(){return this._writableState!==null?!0:void 0;}get destroyed(){return(this._duplexState&h)!==0;}get destroying(){return(this._duplexState&Z)!==0;}destroy(B){this._duplexState&Z||(B||(B=i),this._duplexState=(this._duplexState|c)&Rt,this._readableState!==null&&(this._readableState.highWaterMark=0,this._readableState.error=B),this._writableState!==null&&(this._writableState.highWaterMark=0,this._writableState.error=B),this._duplexState|=u,this._predestroy(),this._duplexState&=p,this._readableState!==null&&this._readableState.updateNextTick(),this._writableState!==null&&this._writableState.updateNextTick());}},Mp=class ap extends nu{constructor(Q){super(Q),this._duplexState|=d|V|Y,this._readableState=new TE(this,Q),Q&&(this._readableState.readAhead===!1&&(this._duplexState&=k),Q.read&&(this._read=Q.read),Q.eagerOpen&&this._readableState.updateNextTick(),Q.encoding&&this.setEncoding(Q.encoding));}setEncoding(Q){let Ue=new a(Q),$e=this._readableState.map||NE;return this._readableState.map=St,this;function St(Vt){let Bt=Ue.push(Vt);return Bt===""?null:$e(Bt);}}_read(Q){Q(null);}pipe(Q,Ue){return this._readableState.updateNextTick(),this._readableState.pipe(Q,Ue),Q;}read(){return this._readableState.updateNextTick(),this._readableState.read();}push(Q){return this._readableState.updateNextTick(),this._readableState.push(Q);}unshift(Q){return this._readableState.updateNextTick(),this._readableState.unshift(Q);}resume(){return this._duplexState|=He,this._readableState.updateNextTick(),this;}pause(){return this._duplexState&=this._readableState.readAhead===!1?M:ge,this;}static _fromAsyncIterator(Q,Ue){let $e,St=new ap(Le(we({},Ue),{read(Bt){Q.next().then(Vt).then(Bt.bind(null,null)).catch(Bt);},predestroy(){$e=Q.return();},destroy(Bt){if(!$e)return Bt(null);$e.then(Bt.bind(null,null)).catch(Bt);}}));return St;function Vt(Bt){Bt.done?St.push(null):St.push(Bt.value);}}
107static from(Q,Ue){if(FE(Q))return Q;if(Q[da])return this._fromAsyncIterator(Q[da](),Ue);Array.isArray(Q)||(Q=Q===void 0?[]:[Q]);let $e=0;return new ap(Le(we({},Ue),{read(St){this.push($e===Q.length?null:Q[$e++]),St(null);}}));}static isBackpressured(Q){return(Q._duplexState&cE)!==0||Q._readableState.buffered>=Q._readableState.highWaterMark;}static isPaused(Q){return(Q._duplexState&S)===0;}[da](){let Q=this,Ue=null,$e=null,St=null;return this.on("error",at=>{Ue=at;}),this.on("readable",Vt),this.on("close",Bt),{[da](){return this;},next(){return new Promise(function(at,Ni){$e=at,St=Ni;let Dn=Q.read();Dn!==null?wr(Dn):Q._duplexState&h&&wr(null);});},return(){return $s(null);},throw(at){return $s(at);}};function Vt(){$e!==null&&wr(Q.read());}function Bt(){$e!==null&&wr(null);}function wr(at){St!==null&&(Ue?St(Ue):at===null&&!(Q._duplexState&U)?St(i):$e({value:at,done:at===null}),St=$e=null);}function $s(at){return Q.destroy(at),new Promise((Ni,Dn)=>{if(Q._duplexState&h)return Ni({value:void 0,done:!0});Q.once("close",function(){at?Dn(at):Ni({value:void 0,done:!0});});});}}},Dp=class extends nu{constructor(B){super(B),this._duplexState|=d|U,this._writableState=new kp(this,B),B&&(B.writev&&(this._writev=B.writev),B.write&&(this._write=B.write),B.final&&(this._final=B.final),B.eagerOpen&&this._writableState.updateNextTick());}cork(){this._duplexState|=G;}uncork(){this._duplexState&=v,this._writableState.updateNextTick();}_writev(B,Q){Q(null);}_write(B,Q){this._writableState.autoBatch(B,Q);}_final(B){B(null);}static isBackpressured(B){return(B._duplexState&yE)!==0;}static drained(B){if(B.destroyed)return Promise.resolve(!1);let Q=B._writableState,$e=(UE(B)?Math.min(1,Q.queue.length):Q.queue.length)+(B._duplexState&E?1:0);return $e===0?Promise.resolve(!0):(Q.drains===null&&(Q.drains=[]),new Promise(St=>{Q.drains.push({writes:$e,resolve:St});}));}write(B){return this._writableState.updateNextTick(),this._writableState.push(B);}end(B){return this._writableState.updateNextTick(),this._writableState.end(B),this;}},ru=class extends Mp{constructor(B){super(B),this._duplexState=d|this._duplexState&Y,this._writableState=new kp(this,B),B&&(B.writev&&(this._writev=B.writev),B.write&&(this._write=B.write),B.final&&(this._final=B.final));}cork(){this._duplexState|=G;}uncork(){this._duplexState&=v,this._writableState.updateNextTick();}_writev(B,Q){Q(null);}_write(B,Q){this._writableState.autoBatch(B,Q);}_final(B){B(null);}write(B){return this._writableState.updateNextTick(),this._writableState.push(B);}end(B){return this._writableState.updateNextTick(),this._writableState.end(B),this;}},Np=class extends ru{constructor(B){super(B),this._transformState=new EE(this),B&&(B.transform&&(this._transform=B.transform),B.flush&&(this._flush=B.flush));}_write(B,Q){this._readableState.buffered>=this._readableState.highWaterMark?this._transformState.data=B:this._transform(B,this._transformState.afterTransform);}_read(B){if(this._transformState.data!==null){let Q=this._transformState.data;this._transformState.data=null,B(null),this._transform(Q,this._transformState.afterTransform);}else B(null);}destroy(B){super.destroy(B),this._transformState.data!==null&&(this._transformState.data=null,this._transformState.afterTransform());}_transform(B,Q){Q(null,B);}_flush(B){B(null);}_final(B){this._transformState.afterFinal=B,this._flush(ME.bind(this));}},LE=class extends Np{};function ME(B,Q){let Ue=this._transformState.afterFinal;if(B)return Ue(B);Q!=null&&this.push(Q),this.push(null),Ue(null);}function DE(...B){return new Promise((Q,Ue)=>jp(...B,$e=>{if($e)return Ue($e);Q();}));}function jp(B,...Q){let Ue=Array.isArray(B)?[...B,...Q]:[B,...Q],$e=Ue.length&&typeof Ue[Ue.length-1]=="function"?Ue.pop():null;if(Ue.length<2)throw new Error("Pipeline requires at least 2 streams");let St=Ue[0],Vt=null,Bt=null;for(let at=1;at<Ue.length;at++)Vt=Ue[at],Hs(St)?St.pipe(Vt,$s):(wr(St,!0,at>1,$s),St.pipe(Vt)),St=Vt;if($e){let at=!1,Ni=Hs(Vt)||!!(Vt._writableState&&Vt._writableState.autoDestroy);Vt.on("error",Dn=>{Bt===null&&(Bt=Dn);}),Vt.on("finish",()=>{at=!0,Ni||$e(Bt);}),Ni&&Vt.on("close",()=>$e(Bt||(at?null:n)));}return Vt;function wr(at,Ni,Dn,su){at.on("error",su),at.on("close",HE);function HE(){if(Ni&&at._readableState&&!at._readableState.ended||Dn&&at._writableState&&!at._writableState.ended)return su(n);}}function $s(at){if(!(!at||Bt)){Bt=at;for(let Ni of Ue)Ni.destroy(at);}}}function NE(B){return B;}function Fp(B){return!!B._readableState||!!B._writableState;}function Hs(B){return typeof B._duplexState=="number"&&Fp(B);}function jE(B){let Q=B._readableState&&B._readableState.error||B._writableState&&B._writableState.error;return Q===i?null:Q;}function FE(B){return Hs(B)&&B.readable;}function VE(B){return typeof B=="object"&&B!==null&&typeof B.byteLength=="number";}function Vp(B){return VE(B)?B.byteLength:1024;}function Bp(){}function BE(){this.destroy(new Error("Stream aborted."));}function UE(B){return B._writev!==Dp.prototype._writev&&B._writev!==ru.prototype._writev;}e.exports={pipeline:jp,pipelinePromise:DE,isStream:Fp,isStreamx:Hs,get
107StreamError:jE,Stream:nu,Writable:Dp,Readable:Mp,Duplex:ru,Transform:Np,PassThrough:LE};}}),RT=Me({"(disabled):node_modules/bittorrent-tracker/lib/common-node.js"(){}}),Vk=Me({"(disabled):node_modules/bittorrent-tracker/lib/client/http-tracker.js"(){}}),Bk=Me({"(disabled):node_modules/bittorrent-tracker/lib/client/udp-tracker.js"(){}}),Uk=Me({"(disabled):node_modules/ws/browser.js"(){}}),Hk=Me({"node_modules/sha.js/hash.js"(s,e){var t=Ud().Buffer;function i(n,r){this._block=t.alloc(n),this._finalSize=r,this._blockSize=n,this._len=0;}i.prototype.update=function(n,r){typeof n=="string"&&(r=r||"utf8",n=t.from(n,r));for(var o=this._block,a=this._blockSize,l=n.length,d=this._len,u=0;u<l;){for(var c=d%a,h=Math.min(l-u,a-c),f=0;f<h;f++)o[c+f]=n[u+f];d+=h,u+=h,d%a===0&&this._update(o);}return this._len+=l,this;},i.prototype.digest=function(n){var r=this._len%this._blockSize;this._block[r]=128,this._block.fill(0,r+1),r>=this._finalSize&&(this._update(this._block),this._block.fill(0));var o=this._len*8;if(o<=4294967295)this._block.writeUInt32BE(o,this._blockSize-4);else{var a=(o&4294967295)>>>0,l=(o-a)/4294967296;this._block.writeUInt32BE(l,this._blockSize-8),this._block.writeUInt32BE(a,this._blockSize-4);}this._update(this._block);var d=this._hash();return n?d.toString(n):d;},i.prototype._update=function(){throw new Error("_update must be implemented by subclass");},e.exports=i;}}),$k=Me({"node_modules/sha.js/sha1.js"(s,e){var t=Ns(),i=Hk(),n=Ud().Buffer,r=[1518500249,1859775393,-1894007588,-899497514],o=new Array(80);function a(){this.init(),this._w=o,i.call(this,64,56);}t(a,i),a.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this;};function l(h){return h<<1|h>>>31;}function d(h){return h<<5|h>>>27;}function u(h){return h<<30|h>>>2;}function c(h,f,p,g){return h===0?f&p|~f&g:h===2?f&p|f&g|p&g:f^p^g;}a.prototype._update=function(h){for(var f=this._w,p=this._a|0,g=this._b|0,m=this._c|0,b=this._d|0,T=this._e|0,S=0;S<16;++S)f[S]=h.readInt32BE(S*4);for(;S<80;++S)f[S]=l(f[S-3]^f[S-8]^f[S-14]^f[S-16]);for(var P=0;P<80;++P){var R=~~(P/20),C=d(p)+c(R,g,m,b)+T+f[P]+r[R]|0;T=b,b=m,m=u(g),g=p,p=C;}this._a=p+this._a|0,this._b=g+this._b|0,this._c=m+this._c|0,this._d=b+this._d|0,this._e=T+this._e|0;},a.prototype._hash=function(){var h=n.allocUnsafe(20);return h.writeInt32BE(this._a|0,0),h.writeInt32BE(this._b|0,4),h.writeInt32BE(this._c|0,8),h.writeInt32BE(this._d|0,12),h.writeInt32BE(this._e|0,16),h;},e.exports=a;}}),Nt=(s=>(s.SegmentLoaded="segment_loaded",s.SegmentError="segment_error",s.SegmentSize="segment_size",s.SegmentAbort="segment_abort",s.SegmentStartLoad="segment_start_load",s.PeerConnect="peer_connect",s.PeerClose="peer_close",s.PieceBytesDownloaded="piece_bytes_downloaded",s.PieceBytesUploaded="piece_bytes_uploaded",s))(Nt||{}),iT=vt(dn(),1),Gk=vt(Cr(),1),Wk=vt(Ck(),1),zk=vt(dn(),1),qk=vt(Cr(),1),pp=class extends qk.EventEmitter{constructor(){super(...arguments),this.on=(s,e)=>super.on(s,e),this.emit=(s,...e)=>super.emit(s,...e);}},Kk=class extends pp{},Yk=class extends Kk{constructor(s){super(),this.settings=s,this.xhrRequests=new Map(),this.failedSegments=new Map(),this.debug=(0,zk.default)("p2pml:http-media-manager"),this.download=(e,t)=>{if(this.isDownloading(e))return;this.cleanTimedOutFailedSegments(),this.emit("segment-start-load",e);let i=e.priority<=this.settings.skipSegmentBuilderPriority?e.url:this.buildSegmentUrl(e);this.debug("http segment download",i,e.id),e.requestUrl=i;let n=new XMLHttpRequest();if(n.open("GET",i,!0),n.responseType="arraybuffer",e.range)n.setRequestHeader("Range",e.range),t=void 0;else if(t!==void 0&&this.settings.httpUseRanges){let r=0;for(let o of t)r+=o.byteLength;n.setRequestHeader("Range",`bytes=${r}-`),this.debug("continue download from",r);}else t=void 0;this.setupXhrEvents(n,e,t),this.settings.xhrSetup&&this.settings.xhrSetup(n,i),this.xhrRequests.set(e.id,{xhr:n,segment:e,initialPriority:e.priority,segmentUrl:i}),n.send();},this.updatePriority=e=>{let t=this.xhrRequests.get(e.id);if(!t)throw new Error("Cannot update priority of not downloaded segment "+e.id);e.priority<=this.settings.skipSegmentBuilderPriority&&t.initialPriority>this.settings.skipSegmentBuilderPriority&&t.segmentUrl!==e.url&&(this.debug("aborting http segment because the segment is now in a high priority",e.id),this.abort(e),this.download(e));},this.abort=e=>{let t=this.xhrRequests.get(e.id);t&&(t.xhr.abort(),this.xhrRequests.delete(e.id),this.debug("http segment abort",e.id));},this.isDownloading=e=>this.xhrRequests.has(e.id),this.isFailed=e=>{let t=this.failedSegments.get(e.id);return t!==void 0&&t>this.now();},this.getActiveDownloads=()=>this.xhrRequests,this.getActiveDownloadsCount=()=>this.xhrRequests.size,this.destroy=()=>
107{this.xhrRequests.forEach(e=>e.xhr.abort()),this.xhrRequests.clear();},this.setupXhrEvents=(e,t,i)=>{let n=0;e.addEventListener("progress",r=>{let o=r.loaded-n;this.emit("bytes-downloaded",t,o),n=r.loaded,r.lengthComputable&&this.emit("segment-size",t,r.total);}),e.addEventListener("load",r=>Ie(this,null,function*(){if(e.status<200||e.status>=300){this.segmentFailure(t,r,e);return;}let o=e.response;if(i!==void 0&&e.status===206){let a=0;for(let u of i)a+=u.byteLength;let l=new Uint8Array(a+o.byteLength),d=0;for(let u of i)l.set(new Uint8Array(u),d),d+=u.byteLength;l.set(new Uint8Array(o),d),o=l.buffer;}yield this.segmentDownloadFinished(t,o,e);})),e.addEventListener("error",r=>{this.segmentFailure(t,r,e);}),e.addEventListener("timeout",r=>{this.segmentFailure(t,r,e);});},this.segmentDownloadFinished=(e,t,i)=>Ie(this,null,function*(){if(e.responseUrl=i.responseURL===null?void 0:i.responseURL,this.settings.segmentValidator)try{yield this.settings.segmentValidator(Le(we({},e),{data:t}),"http");}catch(n){this.debug("segment validator failed",n),this.segmentFailure(e,n,i);return;}this.xhrRequests.delete(e.id),this.emit("segment-loaded",e,t);}),this.segmentFailure=(e,t,i)=>{e.responseUrl=i.responseURL===null?void 0:i.responseURL,this.xhrRequests.delete(e.id),this.failedSegments.set(e.id,this.now()+this.settings.httpFailedSegmentTimeout),this.emit("segment-error",e,t);},this.cleanTimedOutFailedSegments=()=>{let e=this.now(),t=[];this.failedSegments.forEach((i,n)=>{i<e&&t.push(n);}),t.forEach(i=>this.failedSegments.delete(i));},this.now=()=>performance.now();}buildSegmentUrl(s){return this.settings.segmentUrlBuilder?this.settings.segmentUrlBuilder(s):s.url;}},Xk=vt(dn(),1),Qk=vt(dn(),1),Jk=vt(Cr(),1),Zk=vt(xk(),1),eO=vt(Ak(),1),tO=vt(dn(),1),It=typeof window<"u"?window:self,tp=It.RTCPeerConnection||It.mozRTCPeerConnection||It.webkitRTCPeerConnection,iO=It.RTCSessionDescription||It.mozRTCSessionDescription||It.webkitRTCSessionDescription,nO=It.RTCIceCandidate||It.mozRTCIceCandidate||It.webkitRTCIceCandidate,fV=It.RTCIceTransport,pV=It.RTCDataChannel,mV=It.RTCSctpTransport,gV=It.RTCDtlsTransport,vV=It.RTCCertificate,_V=It.MediaStream,yV=It.MediaStreamTrack,bV=It.MediaStreamTrackEvent,TV=It.RTCPeerConnectionIceEvent,EV=It.RTCDataChannelEvent,SV=It.RTCTrackEvent,CV=It.RTCError,wV=It.RTCErrorEvent,xV=It.RTCRtpTransceiver,AV=It.RTCRtpReceiver,IV=It.RTCRtpSender,rO=vt(IT(),1),Ft=vt(xT(),1),jd="0123456789abcdef",PT=[],Fd=[];for(let s=0;s<256;s++)PT[s]=jd[s>>4&15]+jd[s&15],s<16&&(s<10?Fd[48+s]=s:Fd[87+s]=s);var Ms=s=>{let e=s.length,t="",i=0;for(;i<e;)t+=PT[s[i++]];return t;},lp=s=>{let e=s.length>>1,t=e<<1,i=new Uint8Array(e),n=0,r=0;for(;r<t;)i[n++]=Fd[s.charCodeAt(r++)]<<4|Fd[s.charCodeAt(r++)];return i;},nT="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",sO=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(ia=0;ia<nT.length;ia++)sO[nT.charCodeAt(ia)]=ia;var ia,oO=new TextDecoder(),kT=(s,e)=>e?new TextDecoder(e).decode(s):oO.decode(s),aO=new TextEncoder(),mp=s=>aO.encode(s),Os=s=>{let e="",t,i=0,n=s.length;for(;i<n;)t=s.charCodeAt(i++),e+=jd[t>>4]+jd[t&15];return e;},rT=65536,ra=s=>{let e=lp(s);if(e.length<=rT)return String.fromCharCode(...e);let t="",i=0;for(;i<e.length;)t+=String.fromCharCode(...e.subarray(i,i+=rT));return t;},sT=typeof window<"u"?window:self,dp=sT.crypto||sT.msCrypto||{},RV=dp.subtle||dp.webkitSubtle,Vd=s=>{let e=new Uint8Array(s);return dp.getRandomValues(e);},lO=(0,tO.default)("simple-peer"),ip=64*1024,dO=5*1e3,uO=5*1e3;function oT(s){return s.replace(/a=ice-options:trickle\s\n/g,"");}function cO(s){console.warn(s);}var hO=(()=>{let s=class up extends rO.Duplex{constructor(i){i=Object.assign({allowHalfOpen:!1},i);super(i);F(this,"_pc");if(this.__objectMode=!!i.objectMode,this._id=Ms(Vd(4)).slice(0,7),this._debug("new peer %o",i),this.channelName=i.initiator?i.channelName||Ms(Vd(20)):null,this.initiator=i.initiator||!1,this.channelConfig=i.channelConfig||up.channelConfig,this.channelNegotiated=this.channelConfig.negotiated,this.config=Object.assign({},up.config,i.config),this.offerOptions=i.offerOptions||{},this.answerOptions=i.answerOptions||{},this.sdpTransform=i.sdpTransform||(n=>n),this.trickle=i.trickle!==void 0?i.trickle:!0,this.allowHalfTrickle=i.allowHalfTrickle!==void 0?i.allowHalfTrickle:!1,this.iceCompleteTimeout=i.iceCompleteTimeout||dO,this._destroying=!1,this._connected=!1,this.remoteAddress=void 0,this.remoteFamily=void 0,this.remotePort=void 0,this.localAddress=void 0,this.localFamily=void 0,this.localPort=void 0,!tp)throw typeof window>"u"?(0,Ft.default)(new Error("No WebRTC support: Specify `opts.wrtc` option in this environment"),"ERR_WEBRTC_SUPPORT"):(0,Ft.default)(new Error("No WebRTC support: Not a supported browser"),"ERR_WEBRTC_SUPPORT");this._pcReady=!1,this._channelReady=!1,this._iceComplete=!1,this._iceCompleteTimer=null,this._channel=null,this._pendingCandidates=[],this._isNegotiating=!1,this._firstNegotiation=!0,this._batchedNegotiation=!1,this._queuedNegotiation=!1,this._sendersAwaitingStable=[],this._closingInterval=null,this._remoteTracks=[],this._remoteStreams=[],this._chunk=null,this._cb=null,this._interval=null;try{this._pc=new tp(this.config);}catch(n){this.__destroy((0,Ft.default)(n,"ERR_PC_CONSTRUCTOR"));return;}this._isReactNativeWebrtc=typeof this._pc._peerConnectionId=="number",this._pc.oniceconnectionstatechange=()=>{this._onIceStateChange();},this._pc.onicegatheringstatechange=()=>{this._onIceStateChange();},this._pc.onconnectionstatechange=()=>{this._onConnectionStateChange();},this._pc.onsignalingstatechange=()=>{this._onSignalingStateChange();},this._pc.onicecandidate=n=>{this._onIceCandidate(n);},typeof this._pc.peerIdentity=="object"&&this._pc.peerIdentity.catch(n=>{this.__destroy((0,Ft.default)(n,"ERR_PC_PEER_IDENTITY"));}),this.initiator||this.channelNegotiated?this._setupData({channel:this._pc.createDataChannel
107(this.channelName,this.channelConfig)}):this._pc.ondatachannel=n=>{this._setupData(n);},this._debug("initial negotiation"),this._needsNegotiation(),this._onFinishBound=()=>{this._onFinish();},this.once("finish",this._onFinishBound);}get bufferSize(){return this._channel&&this._channel.bufferedAmount||0;}get connected(){return this._connected&&this._channel.readyState==="open";}address(){return{port:this.localPort,family:this.localFamily,address:this.localAddress};}signal(i){if(!this._destroying){if(this.destroyed)throw(0,Ft.default)(new Error("cannot signal after peer is destroyed"),"ERR_DESTROYED");if(typeof i=="string")try{i=JSON.parse(i);}catch{i={};}this._debug("signal()"),i.renegotiate&&this.initiator&&(this._debug("got request to renegotiate"),this._needsNegotiation()),i.transceiverRequest&&this.initiator&&(this._debug("got request for transceiver"),this.addTransceiver(i.transceiverRequest.kind,i.transceiverRequest.init)),i.candidate&&(this._pc.remoteDescription&&this._pc.remoteDescription.type?this._addIceCandidate(i.candidate):this._pendingCandidates.push(i.candidate)),i.sdp&&this._pc.setRemoteDescription(new iO(i)).then(()=>{this.destroyed||(this._pendingCandidates.forEach(n=>{this._addIceCandidate(n);}),this._pendingCandidates=[],this._pc.remoteDescription.type==="offer"&&this._createAnswer());}).catch(n=>{this.__destroy((0,Ft.default)(n,"ERR_SET_REMOTE_DESCRIPTION"));}),!i.sdp&&!i.candidate&&!i.renegotiate&&!i.transceiverRequest&&this.__destroy((0,Ft.default)(new Error("signal() called with invalid signal data"),"ERR_SIGNALING"));}}_addIceCandidate(i){let n=new nO(i);this._pc.addIceCandidate(n).catch(r=>{!n.address||n.address.endsWith(".local")?cO("Ignoring unsupported ICE candidate."):this.__destroy((0,Ft.default)(r,"ERR_ADD_ICE_CA
107NDIDATE"));});}send(i){if(!this._destroying){if(this.destroyed)throw(0,Ft.default)(new Error("cannot send after peer is destroyed"),"ERR_DESTROYED");this._channel.send(i);}}_needsNegotiation(){this._debug("_needsNegotiation"),!this._batchedNegotiation&&(this._batchedNegotiation=!0,queueMicrotask(()=>{this._batchedNegotiation=!1,this.initiator||!this._firstNegotiation?(this._debug("starting batched negotiation"),this.negotiate()):this._debug("non-initiator initial negotiation request discarded"),this._firstNegotiation=!1;}));}negotiate(){if(!this._destroying){if(this.destroyed)throw(0,Ft.default)(new Error("cannot negotiate after peer is destroyed"),"ERR_DESTROYED");this.initiator?this._isNegotiating?(this._queuedNegotiation=!0,this._debug("already negotiating, queueing")):(this._debug("start negotiation"),setTimeout(()=>{this._createOffer();},0)):this._isNegotiating?(this._queuedNegotiation=!0,this._debug("already negotiating, queueing")):(this._debug("requesting negotiation from initiator"),this.emit("signal",{type:"renegotiate",renegotiate:!0})),this._isNegotiating=!0;}}_final(i){this._readableState.ended||this.push(null),i(null);}__destroy(i){this.end(),this._destroy(()=>{},i);}_destroy(i,n){this.destroyed||this._destroying||(this._destroying=!0,this._debug("destroying (error: %s)",n&&(n.message||n)),setTimeout(()=>{if(this._connected=!1,this._pcReady=!1,this._channelReady=!1,this._remoteTracks=null,this._remoteStreams=null,this._senderMap=null,clearInterval(this._closingInterval),this._closingInterval=null,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._onFinishBound&&this.removeListener("finish",this._onFinishBound),this._onFinishBound=null,this._channel){try{this._channel.close();}catch{}this._channel.onmessage=null,this._channel.onopen=null,this._channel.onclose=null,this._channel.onerror=null;}if(this._pc){try{this._pc.close();}catch{}this._pc.oniceconnectionstatechange=null,this._pc.onicegatheringstatechange=null,this._pc.onsignalingstatechange=null,this._pc.onicecandidate=null,this._pc.ontrack=null,this._pc.ondatachannel=null;}this._pc=null,this._channel=null,n&&this.emit("error",n),i();},0));}_setupData(i){if(!i.channel)return this.__destroy((0,Ft.default)(new Error("Data channel event is missing `channel` property"),"ERR_DATA_CHANNEL"));this._channel=i.channel,this._channel.binaryType="arraybuffer",typeof this._channel.bufferedAmountLowThreshold=="number"&&(this._channel.bufferedAmountLowThreshold=ip),this.channelName=this._channel.label,this._channel.onmessage=r=>{this._onChannelMessage(r);},this._channel.onbufferedamountlow=()=>{this._onChannelBufferedAmountLow();},this._channel.onopen=()=>{this._onChannelOpen();},this._channel.onclose=()=>{this._onChannelClose();},this._channel.onerror=r=>{let o=r.error instanceof Error?r.error:new Error(`Datachannel error: ${r.message} ${r.filename}:${r.lineno}:${r.colno}`);this.__destroy((0,Ft.default)(o,"ERR_DATA_CHANNEL"));};let n=!1;this._closingInterval=setInterval(()=>{this._channel&&this._channel.readyState==="closing"?(n&&this._onChannelClose(),n=!0):n=!1;},uO);}_write(i,n){if(this.destroyed)return n((0,Ft.default)(new Error("cannot write after peer is destroyed"),"ERR_DATA_CHANNEL"));if(this._connected){try{this.send(i);}catch(r){return this.__destroy((0,Ft.default)(r,"ERR_DATA_CHANNEL"));}this._channel.bufferedAmount>ip?(this._debug("start backpressure: bufferedAmount %d",this._channel.bufferedAmount),this._cb=n):n(null);}else this._debug("write before connect"),this._chunk=i,this._cb=n;}_onFinish(){if(this.destroyed)return;let i=()=>{setTimeout(()=>this.__destroy(),1e3);};this._connected?i():this.once("connect",i);}_startIceCompleteTimeout(){this.destroyed||this._iceCompleteTimer||(this._debug("started iceComplete timeout"),this._iceCompleteTimer=setTimeout(()=>{this._iceComplete||(this._iceComplete=!0,this._debug("iceComplete timeout completed"),this.emit("iceTimeout"),this.emit("_iceComplete"));},this.iceCompleteTimeout));}_createOffer(){this.destroyed||this._pc.createOffer(this.offerOptions).then(i=>{if(this.destroyed)return;!this.trickle&&!this.allowHalfTrickle&&(i.sdp=oT(i.sdp)),i.sdp=this.sdpTransform(i.sdp);let n=()=>
107{if(this.destroyed)return;let a=this._pc.localDescription||i;this._debug("signal"),this.emit("signal",{type:a.type,sdp:a.sdp});},r=()=>{this._debug("createOffer success"),!this.destroyed&&(this.trickle||this._iceComplete?n():this.once("_iceComplete",n));},o=a=>{this.__destroy((0,Ft.default)(a,"ERR_SET_LOCAL_DESCRIPTION"));};this._pc.setLocalDescription(i).then(r).catch(o);}).catch(i=>{this.__destroy((0,Ft.default)(i,"ERR_CREATE_OFFER"));});}_createAnswer(){this.destroyed||this._pc.createAnswer(this.answerOptions).then(i=>{if(this.destroyed)return;!this.trickle&&!this.allowHalfTrickle&&(i.sdp=oT(i.sdp)),i.sdp=this.sdpTransform(i.sdp);let n=()=>{var l;if(this.destroyed)return;let a=this._pc.localDescription||i;this._debug("signal"),this.emit("signal",{type:a.type,sdp:a.sdp}),this.initiator||(l=this._requestMissingTransceivers)==null||l.call(this);},r=()=>{this.destroyed||(this.trickle||this._iceComplete?n():this.once("_iceComplete",n));},o=a=>{this.__destroy((0,Ft.default)(a,"ERR_SET_LOCAL_DESCRIPTION"));};this._pc.setLocalDescription(i).then(r).catch(o);}).catch(i=>{this.__destroy((0,Ft.default)(i,"ERR_CREATE_ANSWER"));});}_onConnectionStateChange(){this.destroyed||this._destroying||this._pc.connectionState==="failed"&&this.__destroy((0,Ft.default)(new Error("Connection failed."),"ERR_CONNECTION_FAILURE"));}_onIceStateChange(){if(this.destroyed)return;let i=this._pc.iceConnectionState,n=this._pc.iceGatheringState;this._debug("iceStateChange (connection: %s) (gathering: %s)",i,n),this.emit("iceStateChange",i,n),(i==="connected"||i==="completed")&&(this._pcReady=!0,this._maybeReady()),i==="failed"&&this.__destroy((0,Ft.default)(new Error("Ice connection failed."),"ERR_ICE_CONNECTION_FAILURE")),i==="closed"&&this.__destroy((0,Ft.default)(new Error("Ice connection closed."),"ERR_ICE_CONNECTION_CLOSED"));}getStats(i){let n=r=>(Object.prototype.toString.call(r.values)==="[object Array]"&&r.values.forEach(o=>{Object.assign(r,o);}),r);this._pc.getStats.length===0||this._isReactNativeWebrtc?this._pc.getStats().then(r=>{let o=[];r.forEach(a=>{o.push(n(a));}),i(null,o);},r=>i(r)):this._pc.getStats.length>0?this._pc.getStats(r=>{if(this.destroyed)return;let o=[];r.result().forEach(a=>{let l={};a.names().forEach(d=>{l[d]=a.stat(d);}),l.id=a.id,l.type=a.type,l.timestamp=a.timestamp,o.push(n(l));}),i(null,o);},r=>i(r)):i(null,[]);}_maybeReady(){if(this._debug("maybeReady pc %s channel %s",this._pcReady,this._channelReady),this._connected||this._connecting||!this._pcReady||!this._channelReady)return;this._connecting=!0;let i=()=>{this.destroyed||this._destroying||this.getStats((n,r)=>{if(this.destroyed||this._destroying)return;n&&(r=[]);let o={},a={},l={},d=!1;r.forEach(c=>{(c.type==="remotecandidate"||c.type==="remote-candidate")&&(o[c.id]=c),(c.type==="localcandidate"||c.type==="local-candidate")&&(a[c.id]=c),(c.type==="candidatepair"||c.type==="candidate-pair")&&(l[c.id]=c);});let u=c=>{d=!0;let h=a[c.localCandidateId];h&&(h.ip||h.address)?(this.localAddress=h.ip||h.address,this.localPort=Number(h.port)):h&&h.ipAddress?(this.localAddress=h.ipAddress,this.localPort=Number(h.portNumber)):typeof c.googLocalAddress=="string"&&(h=c.googLocalAddress.split(":"),this.localAddress=h[0],this.localPort=Number(h[1])),this.localAddress&&(this.localFamily=this.localAddress.includes(":")?"IPv6":"IPv4");let f=o[c.remoteCandidateId];f&&(f.ip||f.address)?(this.remoteAddress=f.ip||f.address,this.remotePort=Number(f.port)):f&&f.ipAddress?(this.remoteAddress=f.ipAddress,this.remotePort=Number(f.portNumber)):typeof c.googRemoteAddress=="string"&&(f=c.googRemoteAddress.split(":"),this.remoteAddress=f[0],this.remotePort=Number(f[1])),this.remoteAddress&&(this.remoteFamily=this.remoteAddress.includes(":")?"IPv6":"IPv4"),this._debug("connect local: %s:%s remote: %s:%s",this.localAddress,this.localPort,this.remoteAddress,this.remotePort);};if(r.forEach(c=>{c.type==="transport"&&c.selectedCandidatePairId&&u(l[c.selectedCandidatePairId]),(c.type==="googCandidatePair"&&c.googActiveConnection==="true"||(c.type==="candidatepair"||c.type==="candidate-pair")&&c.selected)&&u(c);}),!d&&(!Object.keys(l).length||Object.keys(a).length)){setTimeout(i,100);return;}else this._connecting=!1,this._connected=!0;if(this._chunk){try{this.send(this._chunk);}catch(h){return this.__destroy((0,Ft.default)(h,"ERR_DATA_CHANNEL"));}this._chunk=null,this._debug('sent chunk from "write before connect"');let c=this._cb;this._cb=null,c(null);}typeof this._channel.bufferedAmountLowThreshold!="number"&&(this._interval=setInterval(()=>this._onInterval(),150),this._interval.unref&&this._interval.unref()),this._debug("connect"),this.emit
107("connect");});};i();}_onInterval(){!this._cb||!this._channel||this._channel.bufferedAmount>ip||this._onChannelBufferedAmountLow();}_onSignalingStateChange(){this.destroyed||(this._pc.signalingState==="stable"&&(this._isNegotiating=!1,this._debug("flushing sender queue",this._sendersAwaitingStable),this._sendersAwaitingStable.forEach(i=>{this._pc.removeTrack(i),this._queuedNegotiation=!0;}),this._sendersAwaitingStable=[],this._queuedNegotiation?(this._debug("flushing negotiation queue"),this._queuedNegotiation=!1,this._needsNegotiation()):(this._debug("negotiated"),this.emit("negotiated"))),this._debug("signalingStateChange %s",this._pc.signalingState),this.emit("signalingStateChange",this._pc.signalingState));}_onIceCandidate(i){this.destroyed||(i.candidate&&this.trickle?this.emit("signal",{type:"candidate",candidate:{candidate:i.candidate.candidate,sdpMLineIndex:i.candidate.sdpMLineIndex,sdpMid:i.candidate.sdpMid}}):!i.candidate&&!this._iceComplete&&(this._iceComplete=!0,this.emit("_iceComplete")),i.candidate&&this._startIceCompleteTimeout());}_onChannelMessage(i){if(this.destroyed)return;let n=i.data;n instanceof ArrayBuffer?n=new Uint8Array(n):this.__objectMode===!1&&(n=mp(n)),this.push(n);}_onChannelBufferedAmountLow(){if(this.destroyed||!this._cb)return;this._debug("ending backpressure: bufferedAmount %d",this._channel.bufferedAmount);let i=this._cb;this._cb=null,i(null);}_onChannelOpen(){this._connected||this.destroyed||(this._debug("on channel open"),this._channelReady=!0,this._maybeReady());}_onChannelClose(){this.destroyed||(this._debug("on channel close"),this.__destroy());}_debug(){let i=[].slice.call(arguments);i[0]="["+this._id+"] "+i[0],lO.apply(null,i);}};return s.WEBRTC_SUPPORT=!!tp,s.config={iceServers:[{urls:["stun:stun.l.google.com:19302","stun:global.stun.twilio.com:3478"]}],sdpSemantics:"unified-plan"},s.channelConfig={},s;})(),OT=hO,fO=vt($d(),1),LT={};ck(LT,{DEFAULT_ANNOUNCE_PEERS:()=>MT,MAX_ANNOUNCE_PEERS:()=>DT,default:()=>Bd,parseUrl:()=>NT});var pO=vt(RT(),1);hk(LT,vt(RT(),1));var MT=50,DT=82,NT=s=>{let e=new URL(s.replace(/^udp:/,"http:"));return s.match(/^udp:/)&&Object.defineProperties(e,{href:{value:e.href.replace(/^http/,"udp")},protocol:{value:e.protocol.replace(/^http/,"udp")},origin:{value:e.origin.replace(/^http/,"udp")}}),e;},Bd=we({DEFAULT_ANNOUNCE_PEERS:MT,MAX_ANNOUNCE_PEERS:DT,parseUrl:NT},pO),aT=vt(Vk(),1),lT=vt(Bk(),1),mO=vt(dn(),1),gO=vt(dn(),1),dT=vt($d(),1),sa=vt(Uk(),1),vO=vt(IT(),1),_O=(0,gO.default)("simple-websocket"),na=typeof sa.default!="function"?WebSocket:sa.default,uT=64*1024,yO=(()=>{let s=class extends vO.Duplex{constructor(e={}){if(typeof e=="string"&&(e={url:e}),e=Object.assign({allowHalfOpen:!1},e),super(e),this.__objectMode=!!e.objectMode,e.objectMode!=null&&delete e.objectMode,e.url==null&&e.socket==null)throw new Error("Missing required `url` or `socket` option");
107if(e.url!=null&&e.socket!=null)throw new Error("Must specify either `url` or `socket` option, not both");if(this._id=Ms(Vd(4)).slice(0,7),this._debug("new websocket: %o",e),this.connected=!1,this._chunk=null,this._cb=null,this._interval=null,e.socket)this.url=e.socket.url,this._ws=e.socket,this.connected=e.socket.readyState===na.OPEN;else{this.url=e.url;try{typeof sa.default=="function"?this._ws=new na(e.url,Le(we({},e),{encoding:void 0})):this._ws=new na(e.url);}catch(t){(0,dT.default)(()=>this.destroy(t));return;}}this._ws.binaryType="arraybuffer",e.socket&&this.connected?(0,dT.default)(()=>this._handleOpen()):this._ws.onopen=()=>this._handleOpen(),this._ws.onmessage=t=>this._handleMessage(t),this._ws.onclose=()=>this._handleClose(),this._ws.onerror=t=>this._handleError(t),this._handleFinishBound=()=>this._handleFinish(),this.once("finish",this._handleFinishBound);}send(e){this._ws.send(e);}_final(e){this._readableState.ended||this.push(null),e(null);}_destroy(e){if(!this.destroyed){if(this._writableState.ended||this.end(),this.connected=!1,clearInterval(this._interval),this._interval=null,this._chunk=null,this._cb=null,this._handleFinishBound&&this.removeListener("finish",this._handleFinishBound),this._handleFinishBound=null,this._ws){let t=this._ws,i=()=>{t.onclose=null;};if(t.readyState===na.CLOSED)i();else try{t.onclose=i,t.close();}catch{i();}t.onopen=null,t.onmessage=null,t.onerror=()=>{};}this._ws=null,e();}}_write(e,t){if(this.destroyed)return t(new Error("cannot write after socket is destroyed"));if(this.connected){try{this.send(e);}catch(i){return this.destroy(i);}typeof sa.default!="function"&&this._ws.bufferedAmount>uT?(this._debug("start backpressure: bufferedAmount %d",this._ws.bufferedAmount),this._cb=t):t(null);}else this._debug("write before connect"),this._chunk=e,this._cb=t;}_handleOpen(){if(!(this.connected||this.destroyed)){if(this.connected=!0,this._chunk){try{this.send(this._chunk);}catch(t){return this.destroy(t);}this._chunk=null,this._debug('sent chunk from "write before connect"');let e=this._cb;this._cb=null,e(null);}typeof sa.default!="function"&&(this._interval=setInterval(()=>this._onInterval(),150),this._interval.unref&&this._interval.unref()),this._debug("connect"),this.emit("connect");}}_handleMessage(e){if(this.destroyed)return;let t=e.data;t instanceof ArrayBuffer&&(t=new Uint8Array(t)),this.__objectMode===!1&&(t=mp(t)),this.push(t);}_handleClose(){this.destroyed||(this._debug("on close"),this.destroy());}_handleError(e){this.destroy(new Error(`Error connecting to ${this.url}`));}
107_handleFinish(){if(this.destroyed)return;let e=()=>{setTimeout(()=>this.destroy(),1e3);};this.connected?e():this.once("connect",e);}_onInterval(){if(!this._cb||!this._ws||this._ws.bufferedAmount>uT)return;this._debug("ending backpressure: bufferedAmount %d",this._ws.bufferedAmount);let e=this._cb;this._cb=null,e(null);}_debug(){let e=[].slice.call(arguments);e[0]="["+this._id+"] "+e[0],_O.apply(null,e);}};return s.WEBSOCKET_SUPPORT=!!na,s;})(),bO=vt(Cr(),1),TO=class extends bO.default{constructor(s,e){super(),this.client=s,this.announceUrl=e,this.interval=null,this.destroyed=!1;}setInterval(s){s==null&&(s=this.DEFAULT_ANNOUNCE_INTERVAL),clearInterval(this.interval),s&&(this.interval=setInterval(()=>{this.announce(this.client._defaultAnnounceOpts());},s),this.interval.unref&&this.interval.unref());}},EO=TO,Wi=(0,mO.default)("bittorrent-tracker:websocket-tracker"),On={},SO=10*1e3,CO=60*60*1e3,wO=5*60*1e3,xO=50*1e3,gp=class extends EO{constructor(s,e){super(s,e),Wi("new websocket tracker %s",e),this.peers={},this.socket=null,this.reconnecting=!1,this.retries=0,this.reconnectTimer=null,this.expectingResponse=!1,this._openSocket();}announce(s){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected){this.socket.once("connect",()=>{this.announce(s);});return;}let e=Object.assign({},s,{action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary});if(this._trackerId&&(e.trackerid=this._trackerId),s.event==="stopped"||s.event==="completed")this._send(e);else{let t=Math.min(s.numwant,5);this._generateOffers(t,i=>{e.numwant=t,e.offers=i,this._send(e);});}}scrape(s){if(this.destroyed||this.reconnecting)return;if(!this.socket.connected){this.socket.once("connect",()=>{this.scrape(s);});return;}let t={action:"scrape",info_hash:Array.isArray(s.infoHash)&&s.infoHash.length>0?s.infoHash.map(i=>
107ra(i)):s.infoHash&&ra(s.infoHash)||this.client._infoHashBinary};this._send(t);}destroy(s=cT){if(this.destroyed)return s(null);this.destroyed=!0,clearInterval(this.interval),clearTimeout(this.reconnectTimer);for(let n in this.peers){let r=this.peers[n];clearTimeout(r.trackerTimeout),r.destroy();}if(this.peers=null,this.socket&&(this.socket.removeListener("connect",this._onSocketConnectBound),this.socket.removeListener("data",this._onSocketDataBound),this.socket.removeListener("close",this._onSocketCloseBound),this.socket.removeListener("error",this._onSocketErrorBound),this.socket=null),this._onSocketConnectBound=null,this._onSocketErrorBound=null,this._onSocketDataBound=null,this._onSocketCloseBound=null,On[this.announceUrl]&&(On[this.announceUrl].consumers-=1),On[this.announceUrl].consumers>0)return s();let e=On[this.announceUrl];delete On[this.announceUrl],e.on("error",cT),e.once("close",s);let t;if(!this.expectingResponse)return i();t=setTimeout(i,Bd.DESTROY_TIMEOUT),e.once("data",i);function i(){t&&(clearTimeout(t),t=null),e.removeListener("data",i),e.destroy(),e=null;}}_openSocket(){if(this.destroyed=!1,this.peers||(this.peers={}),this._onSocketConnectBound=()=>{this._onSocketConnect();},this._onSocketErrorBound=s=>{this._onSocketError(s);},this._onSocketDataBound=s=>{this._onSocketData(s);},this._onSocketCloseBound=()=>{this._onSocketClose();},this.socket=On[this.announceUrl],this.socket)On[this.announceUrl].consumers+=1,this.socket.connected&&this._onSocketConnectBound();else{let s=new URL(this.announceUrl),e;this.client._proxyOpts&&(e=s.protocol==="wss:"?this.client._proxyOpts.httpsAgent:this.client._proxyOpts.httpAgent,!e&&this.client._proxyOpts.socksProxy&&(e=this.client._proxyOpts.socksProxy)),this.socket=On[this.announceUrl]=new yO({url:this.announceUrl,agent:e}),this.socket.consumers=1,this.socket.once("connect",this._onSocketConnectBound);}this.socket.on("data",this._onSocketDataBound),this.socket.once("close",this._onSocketCloseBound),this.socket.once("error",this._onSocketErrorBound);}_onSocketConnect(){this.destroyed||this.reconnecting&&(this.reconnecting=!1,this.retries=0,this.announce(this.client._defaultAnnounceOpts()));}_onSocketData(s){if(!this.destroyed){this.expectingResponse=!1;try{s=JSON.parse(kT(s));}catch{this.client.emit("warning",new Error("Invalid tracker response"));return;}s.action==="announce"?this._onAnnounceResponse(s):s.action==="scrape"?this._onScrapeResponse(s):this._onSocketError(new Error(`invalid action in WS response: ${s.action}`));}}_onAnnounceResponse(s){if(s.info_hash!==this.client._infoHashBinary){Wi("ignoring websocket data from %s for %s (looking for %s: reused socket)",this.announceUrl,Os(s.info_hash),this.client.infoHash);return;}if(s.peer_id&&s.peer_id===this.client._peerIdBinary)return;Wi("received %s from %s for %s",JSON.stringify(s),this.announceUrl,this.client.infoHash);let e=s["failure reason"];if(e)return this.client.emit("warning",new Error(e));let t=s["warning message"];t&&this.client.emit("warning",new Error(t));let i=s.interval||s["min interval"];i&&this.setInterval(i*1e3);let n=s["tracker id"];if(n&&(this._trackerId=n),s.complete!=null){let o=Object.assign({},s,{announce:this.announceUrl,infoHash:Os(s.info_hash)});this.client.emit("update",o);}let r;if(s.offer&&s.peer_id&&(Wi("creating peer (from remote offer)"),r=this._createPeer(),r.id=Os(s.peer_id),r.once("signal",o=>{let a={action:"announce",info_hash:this.client._infoHashBinary,peer_id:this.client._peerIdBinary,to_peer_id:s.peer_id,answer:o,offer_id:s.offer_id};this._trackerId&&(a.trackerid=this._trackerId),this._send(a);}),this.client.emit("peer",r),r.signal(s.offer)),s.answer&&s.peer_id){let o=Os(s.offer_id);r=this.peers[o],r?(r.id=Os(s.peer_id),this.client.emit("peer",r),r.signal(s.answer),clearTimeout(r.trackerTimeout),r.trackerTimeout=null,delete this.peers[o]):Wi(`got unexpected answer: ${JSON.stringify(s.answer)}`);}}_onScrapeResponse(s){s=s.files||{};let e=Object.keys(s);if(e.length===0){this.client.emit("warning",new Error("invalid scrape response"));return;}e.forEach(t=>{let i=Object.assign(s[t],{announce:this.announceUrl,infoHash:Os(t)});this.client.emit("scrape",i);});}_onSocketClose(){this.destroyed||(this.destroy(),this._startReconnectTimer());}_onSocketError(s){this.destroyed||(this.destroy(),this.client.emit("warning",s),this._startReconnectTimer());}_startReconnectTimer(){let s=Math.floor(Math.random()*wO)+Math.min(Math.pow(2,this.retries)*SO,CO);this.reconnecting=!0,clearTimeout(this.reconnectTimer),this.reconnectTimer=setTimeout(()=>{this.retries++,this._openSocket();},s),this.reconnectTimer.unref&&this.reconnectTimer.unref(),Wi("reconnecting socket in %s ms",s);}_send(s){if(this.destroyed)return;this.expectingResponse=!0;let e=JSON.stringify(s);Wi("send %s",e),this.socket.send(e);}_generateOffers(s,e){let t=this,i=[];Wi("generating %s offers",s);for(let o=0;o<s;++o)n();r();function n(){let o=Ms(Vd(20));Wi("creating peer (from _generateOffers)");let a=t.peers[o]=t._createPeer({initiator:!0});a.once("signal",l=>{i.push({offer:l,offer_id:ra(o)}),r();}),a.trackerTimeout=setTimeout(()=>{Wi("tracker timeout: destroying peer"),a.trackerTimeout=null,delete t.peers[o],a.destroy();},xO),a.trackerTimeout.unref&&a.trackerTimeout.unref();}function r(){i.length===s&&(Wi("generated %s offers",s),e(i));}}_createPeer(s){let e=this;s=Object.assign({trickle:!1,config:e.client._rtcConfig,wrtc:e.client._wrtc},s);let t=new OT(s);return t.once("error",i),t.once("connect",n),t;function i(r){e.client.emit("warning",new Error(`Connection error: ${r.message}`)),t.destroy();}function n(){t.removeListener("error",i),t.removeListener("connect",n);}}};gp.prototype.DEFAULT_ANNOUNCE_INTERVAL=30*1e3;gp._socketPool=On;function cT(){}var AO=gp,Zn=(0,Qk.default)("bittorrent-tracker:client"),IO=(()=>{let s=class extends Jk.default{constructor(e={}){if(super(),!e.peerId)throw new Error("Option `peerId` is required");if(!e.infoHash)throw new Error("Option `infoHash` is required");if(!e.announce)throw new Error("Option `announce` is required");if(!process.browser&&!e.port)throw new Error("Option `port` is required");this.peerId=typeof e.peerId=="string"?e.peerId:Ms(e.peerId),this._peerIdBuffer=lp(this.peerId),this._peerIdBinary=ra(this.peerId),this.infoH
107ash=typeof e.infoHash=="string"?e.infoHash.toLowerCase():Ms(e.infoHash),this._infoHashBuffer=lp(this.infoHash),this._infoHashBinary=ra(this.infoHash),Zn("new client %s",this.infoHash),this.destroyed=!1,this._port=e.port,this._getAnnounceOpts=e.getAnnounceOpts,this._rtcConfig=e.rtcConfig,this._userAgent=e.userAgent,this._proxyOpts=e.proxyOpts,this._wrtc=typeof e.wrtc=="function"?e.wrtc():e.wrtc;let t=typeof e.announce=="string"?[e.announce]:e.announce==null?[]:e.announce;t=t.map(r=>(ArrayBuffer.isView(r)&&(r=kT(r)),r[r.length-1]==="/"&&(r=r.substring(0,r.length-1)),r)),t=Array.from(new Set(t));let i=this._wrtc!==!1&&(!!this._wrtc||OT.WEBRTC_SUPPORT),n=r=>{(0,fO.default)(()=>{this.emit("warning",r);});};this._trackers=t.map(r=>{let o;try{o=Bd.parseUrl(r);}catch{return n(new Error(`Invalid tracker URL: ${r}`)),null;}let a=o.port;if(a<0||a>65535)return n(new Error(`Invalid tracker port: ${r}`)),null;let l=o.protocol;return(l==="http:"||l==="https:")&&typeof aT.default=="function"?new aT.default(this,r):l==="udp:"&&typeof lT.default=="function"?new lT.default(this,r):(l==="ws:"||l==="wss:")&&i?l==="ws:"&&typeof window<"u"&&window.location.protocol==="https:"?(n(new Error(`Unsupported tracker protocol: ${r}`)),null):new AO(this,r):(n(new Error(`Unsupported tracker protocol: ${r}`)),null);}).filter(Boolean);}start(e){e=this._defaultAnnounceOpts(e),e.event="started",Zn("send `start` %o",e),this._announce(e),this._trackers.forEach(t=>{t.setInterval();});}stop(e){e=this._defaultAnnounceOpts(e),e.event="stopped",Zn("send `stop` %o",e),this._announce(e);}complete(e){e||(e={}),e=this._defaultAnnounceOpts(e),e.event="completed",Zn("send `complete` %o",e),this._announce(e);}update(e){e=this._defaultAnnounceOpts(e),e.event&&delete e.event,Zn("send `update` %o",e),this._announce(e);}_announce(e){this._trackers.forEach(t=>{t.announce(e);});}scrape(e){Zn("send `scrape`"),e||(e={}),this._trackers.forEach(t=>{t.scrape(e);});}setInterval(e){Zn("setInterval %d",e),this._trackers.forEach(t=>{t.setInterval(e);});}destroy(e){if(this.destroyed)return;this.destroyed=!0,Zn("destroy");let t=this._trackers.map(i=>n=>{i.destroy(n);});(0,eO.default)(t,e),this._trackers=[],this._getAnnounceOpts=null;}_defaultAnnounceOpts(e={}){return e.numwant==null&&(e.numwant=Bd.DEFAULT_ANNOUNCE_PEERS),e.uploaded==null&&(e.uploaded=0),e.downloaded==null&&(e.downloaded=0),this._getAnnounceOpts&&(e=Object.assign({},e,this._getAnnounceOpts())),e;}};return s.scrape=(e,t)=>{if(t=(0,Zk.default)(t),!e.infoHash)throw new Error("Option `infoHash` is required");if(!e.announce)throw new Error("Option `announce` is required");let i=Object.assign({},e,{infoHash:Array.isArray(e.infoHash)?e.infoHash[0]:e.infoHash,peerId:mp("01234567890123456789"),port:6881}),n=new s(i);n.once("error",t),n.once("warning",t);let r=Array.isArray(e.infoHash)?e.infoHash.length:1,o={};return n.on("scrape",a=>{if(r-=1,o[a.infoHash]=a,r===0){n.destroy();let l=Object.keys(o);l.length===1?t(null,o[l[0]]):t(null,o);}}),n.scrape({infoHash:e.infoHash}),n;},s;})(),RO=IO,PO=RO,np=vt(hp(),1),kO=vt($k(),1),OO=vt(dn(),1),LO=vt(hp(),1),jT=(s=>(s[s.Loaded=0]="Loaded",s[s.LoadingByHttp=1]="LoadingByHttp",s))(jT||{}),MO=class{constructor(s,e){this.id=s,this.size=e,this.bytesDownloaded=0,this.pieces=[];}},DO=class extends pp{constructor(s,e){super(),this.peer=s,this.settings=e,this.remoteAddress="",this.downloadingSegmentId=null,this.downloadingSegment=null,this.segmentsMap=new Map(),this.debug=(0,OO.default)("p2pml:media-peer"),this.timer=null,this.onPeerConnect=()=>{this.debug("peer connect",this.id,this),this.remoteAddress=this.peer.remoteAddress,this.emit("connect",this);},this.onPeerClose=()=>{this.debug("peer close",this.id,this),this.terminateSegmentRequest(),this.emit("close",this);},this.onPeerError=t=>{this.debug("peer error",this.id,t,this);},this.receiveSegmentPiece=t=>{if(!this.downloadingSegment){this.debug("peer segment not requested",this.id,this);return;}this.downloadingSegment.bytesDownloaded+=t.byteLength,this.downloadingSegment.pieces.push(t);let i=this.downloadingSegment.id;if(this.emit("bytes-downloaded",this,i,t.byteLength),this.downloadingSegment.bytesDownloaded===this.downloadingSegment.size){let n=new Uint8Array(this.downloadingSegment.size),r=0;for(let o of this.downloadingSegment.pieces)n.set(new Uint8Array(o),r),r+=o.byteLength;this.debug("peer segment download done",this.id,i,this),this.terminateSegmentRequest(),this.emit
107("segment-loaded",this,i,n.buffer);}else this.downloadingSegment.bytesDownloaded>this.downloadingSegment.size&&(this.debug("peer segment download bytes mismatch",this.id,i,this),this.terminateSegmentRequest(),this.emit("segment-error",this,i,"Too many bytes received for segment"));},this.getJsonCommand=t=>{let i=new Uint8Array(t);if(i[0]===123&&i[1]===34&&i[t.byteLength-1]===125)try{return JSON.parse(new TextDecoder().decode(t));}catch{return null;}return null;},this.onPeerData=t=>{let i=this.getJsonCommand(t);if(i===null){this.receiveSegmentPiece(t);return;}if(this.downloadingSegment){this.debug("peer segment download is interrupted by a command",this.id,this);let n=this.downloadingSegment.id;this.terminateSegmentRequest(),this.emit("segment-error",this,n,"Segment download is interrupted by a command");return;}switch(this.debug("peer receive command",this.id,i,this),i.c){case 2:this.segmentsMap=this.createSegmentsMap(i.m),this.emit("data-updated");break;case 3:this.emit("segment-request",this,i.i);break;case 0:this.downloadingSegmentId&&this.downloadingSegmentId===i.i&&typeof i.s=="number"&&i.s>=0&&(this.downloadingSegment=new MO(i.i,i.s),this.emit("segment-start-load",this.downloadingSegment.id),this.emit("segment-size",this.downloadingSegment.id,this.downloadingSegment.size),this.cancelResponseTimeoutTimer());break;case 1:this.downloadingSegmentId&&this.downloadingSegmentId===i.i&&(this.terminateSegmentRequest(),this.segmentsMap.delete(i.i),this.emit("segment-absent",this,i.i));break;case 4:break;default:break;}},this.createSegmentsMap=t=>{if(!(t instanceof Object))return new Map();let i=new Map();for(let n of Object.keys(t)){let r=t[n];if(!(r instanceof Array)||r.length!==2||typeof r[0]!="string"||!(r[1]instanceof Array))return new Map();let o=r[0].split("|"),a=r[1];if(o.length!==a.length)return new Map();for(let l=0;l<o.length;l++){let d=a[l];if(typeof d!="number"||jT[d]===void 0)return new Map();i.set(`${n}+${o[l]}`,d);}}return i;},this.sendCommand=t=>{this.debug("peer send command",this.id,t,this),this.peer.write(JSON.stringify(t));},this.destroy=()=>{this.debug("peer destroy",this.id,this),this.terminateSegmentRequest(),this.peer.destroy();},this.getDownloadingSegmentId=()=>
107this.downloadingSegmentId,this.getSegmentsMap=()=>this.segmentsMap,this.sendSegmentsMap=t=>{this.sendCommand({c:2,m:t});},this.sendSegmentData=(t,i)=>{this.sendCommand({c:0,i:t,s:i.byteLength});let n=i.byteLength;for(;n>0;){let r=n>=this.settings.webRtcMaxMessageSize?this.settings.webRtcMaxMessageSize:n,o=LO.Buffer.from(i,i.byteLength-n,r);this.peer.write(o),n-=r;}this.emit("bytes-uploaded",this,t,i.byteLength);},this.sendSegmentAbsent=t=>{this.sendCommand({c:1,i:t});},this.requestSegment=t=>{if(this.downloadingSegmentId)throw new Error("A segment is already downloading: "+this.downloadingSegmentId);this.sendCommand({c:3,i:t}),this.downloadingSegmentId=t,this.runResponseTimeoutTimer();},this.cancelSegmentRequest=()=>{let t;if(this.downloadingSegmentId){let i=this.downloadingSegmentId;t=this.downloadingSegment?this.downloadingSegment.pieces:void 0,this.terminateSegmentRequest(),this.sendCommand({c:4,i});}return t;},this.runResponseTimeoutTimer=()=>{this.timer=setTimeout(()=>{if(this.timer=null,!this.downloadingSegmentId)return;let t=this.downloadingSegmentId;this.cancelSegmentRequest(),this.emit("segment-timeout",this,t);},this.settings.p2pSegmentDownloadTimeout);},this.cancelResponseTimeoutTimer=()=>{this.timer&&(clearTimeout(this.timer),this.timer=null);},this.terminateSegmentRequest=()=>{this.downloadingSegmentId=null,this.downloadingSegment=null,this.cancelResponseTimeoutTimer();},this.peer.on("connect",this.onPeerConnect),this.peer.on("close",this.onPeerClose),this.peer.on("error",this.onPeerError),this.peer.on("data",this.onPeerData),this.id=s.id;}},NO="0.6.2",jO=2,FO=NO.replace(/\d*./g,s=>`0${parseInt(s,10)%100}`.slice(-2)).slice(0,4),hT=`-WW${FO}-`,VO=class{constructor(s,e){this.peerId=s,this.segment=e;}};function BO(){let s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",t=hT;for(let i=0;i<20-hT.length;i++)t+=s.charAt(Math.floor(Math.random()*s.length));return new TextEncoder().encode(t).buffer;}var UO=class extends pp{constructor(s,e){super(),this.segmentsStorage=s,this.settings=e,this.trackerClient=null,this.peers=new Map(),this.peerCandidates=new Map(),this.peerSegmentRequests=new Map(),this.streamSwarmId=null,this.debug=(0,Xk.default)("p2pml:p2p-media-manager"),this.pendingTrackerClient=null,this.getPeers=()=>this.peers,this.getPeerId=()=>np.Buffer.from(this.peerId).toString("hex"),this.setStreamSwarmId=(t,i)=>{if(this.streamSwarmId===t)return;this.destroy(!0),this.streamSwarmId=t,this.masterSwarmId=i,this.debug("stream swarm ID",this.streamSwarmId),this.pendingTrackerClient={isDestroyed:!1};let n=this.pendingTrackerClient,r=new kO.default().update(`${jO}${this.streamSwarmId}`).digest();n.isDestroyed?this.trackerClient!==null&&(this.trackerClient.destroy(),this.trackerClient=null):(this.pendingTrackerClient=null,this.createClient(r));},this.createClient=t=>{if(!this.settings.useP2P)return;let i={infoHash:np.Buffer.from(t,0,20),peerId:np.Buffer.from(this.peerId,0,20),announce:this.settings.trackerAnnounce,rtcConfig:this.settings.rtcConfig,port:6881,getAnnounceOpts:()=>({numwant:this.settings.peerRequestsPerAnnounce})},n=this.trackerClient;this.trackerClient=new PO(i),this.trackerClient.on("error",this.onTrackerError),this.trackerClient.on("warning",this.onTrackerWarning),this.trackerClient.on("update",this.onTrackerUpdate),this.trackerClient.on("peer",this.onTrackerPeer),this.trackerClient.start(),n!==null&&(n.destroy(),n=null);},this.onTrackerError=t=>{this.debug("tracker error",t);},this.onTrackerWarning=t=>{this.debug("tracker warning",t);},this.onTrackerUpdate=t=>{this.debug("tracker update",t),this.emit("tracker-update",t);},this.onTrackerPeer=t=>{if(this.debug("tracker peer",t.id,t),this.peers.has(t.id)){this.debug("tracker peer already connected",t.id,t),t.destroy();return;}let i=new DO(t,this.settings);i.on("connect",this.onPeerConnect),i.on("close",this.onPeerClose),i.on("data-updated",this.onPeerDataUpdated),i.on("segment-request",this.onSegmentRequest),i.on("segment-loaded",this.onSegmentLoaded),i.on("segment-absent",this.onSegmentAbsent),i.on("segment-error",this.onSegmentError),i.on("segment-size",this.onSegmentSize),i.on("segment-start-load",this.onSegmentStartLoad),i.on("segment-timeout",this.onSegmentTimeout),i.on("bytes-downloaded",this.onPieceBytesDownloaded),i.on("bytes-uploaded",this.onPieceBytesUploaded);let n=this.peerCandidates.get(i.id);n||(n=[],this.peerCandidates.set(i.id,n)),n.push(i);},this.download=t=>{if(this.isDownloading(t))return!1;let i=[];for(let r of this.peers.values())r.getDownloadingSegmentId()===null&&r.getSegmentsMap().get(t.id)===0&&i.push(r);if(i.length===0)return!1;let n=i[Math.floor(Math.random()*i.length)];return n.requestSegment(t.id),this.peerSegmentRequests.set(t.id,new VO(n.id,t)),!0;},this.abort=t=>{let i,n=this.peerSegmentRequests.get(t.id);if(n){let r=this.peers.get(n.peerId);r&&(i=r.cancelSegmentRequest()),this.peerSegmentRequests.delete(t.id);}return i;},this.isDownloading=t=>this.peerSegmentRequests.has(t.id),this.getActiveDownloadsCount=()=>this.peerSegmentRequests.size,this.destroy=(t=!1)=>{this.streamSwarmId=null,this.trackerClient&&(this.trackerClient.stop(),t?(this.trackerClient.removeAllListeners("error"),this.trackerClient.removeAllListeners("warning"),this.trackerClient.removeAllListeners("update"),this.trackerClient.removeAllListeners("peer")):(this.trackerClient.de
107stroy(),this.trackerClient=null)),this.pendingTrackerClient&&(this.pendingTrackerClient.isDestroyed=!0,this.pendingTrackerClient=null),this.peers.forEach(i=>i.destroy()),this.peers.clear(),this.peerSegmentRequests.clear();for(let i of this.peerCandidates.values())for(let n of i)n.destroy();this.peerCandidates.clear();},this.sendSegmentsMapToAll=t=>{this.peers.forEach(i=>i.sendSegmentsMap(t));},this.sendSegmentsMap=(t,i)=>{let n=this.peers.get(t);n&&n.sendSegmentsMap(i);},this.getOverallSegmentsMap=()=>{let t=new Map();for(let i of this.peers.values())for(let[n,r]of i.getSegmentsMap())r===0?t.set(n,0):t.get(n)||t.set(n,1);return t;},this.onPieceBytesDownloaded=(t,i,n)=>{let r=this.peerSegmentRequests.get(i);r&&this.emit("bytes-downloaded",r.segment,n,t.id);},this.onPieceBytesUploaded=(t,i,n)=>Ie(this,null,function*(){if(this.masterSwarmId===void 0)return;let r=yield this.segmentsStorage.getSegment(i,this.masterSwarmId);r&&this.emit("bytes-uploaded",r,n,t.id);}),this.onPeerConnect=t=>{if(this.peers.get(t.id)){this.debug("tracker peer already connected (in peer connect)",t.id,t),t.destroy();return;}this.peers.set(t.id,t);let n=this.peerCandidates.get(t.id);if(n){for(let r of n)r!==t&&r.destroy();this.peerCandidates.delete(t.id);}this.emit("peer-connected",{id:t.id,remoteAddress:t.remoteAddress});},this.onPeerClose=t=>{if(this.peers.get(t.id)!==t){let i=this.peerCandidates.get(t.id);if(!i)return;let n=i.indexOf(t);n!==-1&&i.splice(n,1),i.length===0&&this.peerCandidates.delete(t.id);return;}for(let[i,n]of this.peerSegmentRequests)n.peerId===t.id&&this.peerSegmentRequests.delete(i);this.peers.delete(t.id),this.emit("peer-data-updated"),this.emit("peer-closed",t.id);},this.onPeerDataUpdated=()=>{this.emit("peer-data-updated");},this.onSegmentRequest=(t,i)=>Ie(this,null,function*(){if(this.masterSwarmId===void 0)return;let n=yield this.segmentsStorage.getSegment(i,this.masterSwarmId);n&&n.data?t.sendSegmentData(i,n.data):t.sendSegmentAbsent(i);}),this.onSegmentLoaded=(t,i,n)=>Ie(this,null,function*(){let r=this.peerSegmentRequests.get(i);if(!r)return;let o=r.segment;if(this.settings.segmentValidator)try{yield this.settings.segmentValidator(Le(we({},o),{data:n}),"p2p",t.id);}catch(a){this.debug("segment validator failed",a),this.peerSegmentRequests.delete(i),this.emit("segment-error",o,a,t.id),this.onPeerClose(t);return;}this.peerSegmentRequests.delete(i),this.emit("segment-loaded",o,n,t.id);}),this.onSegmentAbsent=(t,i)=>{this.peerSegmentRequests.delete(i),this.emit("peer-data-updated");},this.onSegmentError=(t,i,n)=>{let r=this.peerSegmentRequests.get(i);r&&(this.peerSegmentRequests.delete(i),this.emit("segment-error",r.segment,n,t.id));},this.onSegmentSize=(t,i)=>{let n=this.peerSegmentRequests.get(t);n&&this.emit("segment-size",n.segment,i);},this.onSegmentStartLoad=(t,i)=>{let n=this.peerSegmentRequests.get(t);n&&this.emit("segment-start-load",n.segment,i);},this.onSegmentTimeout=(t,i)=>{let n=this.peerSegmentRequests.get(i);n&&(this.peerSegmentRequests.delete(i),t.destroy(),this.peers.delete(n.peerId)&&this.emit("peer-data-updated"));},this.peerId=e.useP2P?BO():new ArrayBuffer(0),this.debug.enabled&&this.debug("peer ID",this.getPeerId(),new TextDecoder().decode(this.peerId));}},HO=vt(dn(),1),fT=(0,HO.default)("p2pml:bandwidth-approximator"),rp=2*1e3,pT=40*1e3,mT=class{constructor(s,e){this.value=s,this.timeStamp=e;}},$O=class{constructor(){this.lastBytes=[],this.currentBytesSum=0,this.lastBandwidth=[],this.addBytes=(s,e)=>{for(fT("Add %d bytes.",s),this.lastBytes.push(new mT(s,e)),this.currentBytesSum+=s;e-this.lastBytes[0].timeStamp>rp;)this.currentBytesSum-=this.lastBytes.shift().value;let t=Math.min(rp,e);this.lastBandwidth.push(new mT(this.currentBytesSum/t,e));},this.getBandwidth=s=>{for(;this.lastBandwidth.length!==0&&s-this.lastBandwidth[0].timeStamp>pT;)this.lastBandwidth.shift();let e=0;for(let t of this.lastBandwidth)t.value>e&&(e=t.value);return fT("Max bandwidth: %d.",e),e;},this.getSmoothInterval=()=>rp,this.getMeasureInterval=()=>pT;}},GO=class{constructor(s){this.settings=s,this.cache=new Map(),this.storeSegment=e=>Ie(this,null,function*(){this.cache.set(e.id,{segment:e,lastAccessed:performance.now()});}
107),this.getSegmentsMap=()=>Ie(this,null,function*(){return this.cache;}),this.getSegment=e=>Ie(this,null,function*(){let t=this.cache.get(e);if(t!==void 0)return t.lastAccessed=performance.now(),t.segment;}),this.hasSegment=e=>Ie(this,null,function*(){return this.cache.has(e);}),this.clean=(e,t)=>Ie(this,null,function*(){let i=[],n=[],r=performance.now();for(let a of this.cache.values())r-a.lastAccessed>this.settings.cachedSegmentExpiration?i.push(a.segment.id):n.push(a);let o=n.length-this.settings.cachedSegmentsCount;if(o>0){n.sort((a,l)=>a.lastAccessed-l.lastAccessed);for(let a of n)if((t===void 0||!t(a.segment.id))&&(i.push(a.segment.id),o--,o===0))break;}return i.forEach(a=>this.cache.delete(a)),i.length>0;}),this.destroy=()=>Ie(this,null,function*(){this.cache.clear();});}},WO={cachedSegmentExpiration:5*60*1e3,cachedSegmentsCount:30,useP2P:!0,consumeOnly:!1,requiredSegmentsPriority:1,skipSegmentBuilderPriority:1,simultaneousHttpDownloads:2,httpDownloadProbability:.1,httpDownloadProbabilityInterval:1e3,httpDownloadProbabilitySkipIfNoPeers:!1,httpFailedSegmentTimeout:1e4,httpDownloadMaxPriority:20,httpDownloadInitialTimeout:0,httpDownloadInitialTimeoutPerSegment:4e3,httpUseRanges:!1,simultaneousP2PDownloads:3,p2pDownloadMaxPriority:20,p2pSegmentDownloadTimeout:6e4,webRtcMaxMessageSize:64*1024-1,trackerAnnounce:["wss://tracker.novage.com.ua","wss://tracker.openwebtorrent.com"],peerRequestsPerAnnounce:10,rtcConfig:Wk.default.config},vp=(()=>{var e;return e=class extends Gk.EventEmitter{constructor(i={}){super(),this.debug=(0,iT.default)("p2pml:hybrid-loader"),this.debugSegments=(0,iT.default)("p2pml:hybrid-loader-segments"),this.segmentsQueue=[],this.bandwidthApproximator=new $O(),this.httpDownloadInitialTimeoutTimestamp=-1/0,this.createHttpManager=()=>new Yk(this.settings),this.createP2PManager=()=>new UO(this.segmentsStorage,this.settings),this.load=(r,o)=>Ie(this,null,function*(){this.initRandomDownloadIntervalIfNeeded(),r.length>0&&(this.masterSwarmId=r[0].masterSwarmId),this.masterSwarmId!==void 0&&this.p2pManager.setStreamSwarmId(o,this.masterSwarmId),this.debug("load segments");let a=this.abortUnknownSegments(r);if(this.debug.enabled)for(let d of r)this.segmentsQueue.find(u=>u.id===d.id)||this.debug("add segment",d.id);if(this.segmentsQueue=r,this.masterSwarmId===void 0)return;let l=yield this.segmentsStorage.getSegmentsMap(this.masterSwarmId);a=this.processSegmentsQueue(l)||a,(yield this.cleanSegmentsStorage())&&(l=yield this.segmentsStorage.getSegmentsMap(this.masterSwarmId),a=!0),a&&!this.settings.consumeOnly&&this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(l));}
107),this.getSegment=r=>Ie(this,null,function*(){return this.masterSwarmId===void 0?void 0:this.segmentsStorage.getSegment(r,this.masterSwarmId);}),this.getSettings=()=>this.settings,this.getDetails=()=>({peerId:this.p2pManager.getPeerId()}),this.getBandwidthEstimate=()=>this.bandwidthApproximator.getBandwidth(this.now()),this.destroy=()=>Ie(this,null,function*(){this.httpRandomDownloadInterval!==void 0&&(clearInterval(this.httpRandomDownloadInterval),this.httpRandomDownloadInterval=void 0),this.httpDownloadInitialTimeoutTimestamp=-1/0,this.segmentsQueue=[],this.httpManager.destroy(),this.p2pManager.destroy(),this.masterSwarmId=void 0,yield this.segmentsStorage.destroy();}),this.processInitialSegmentTimeout=()=>Ie(this,null,function*(){if(this.httpRandomDownloadInterval!==void 0){if(this.masterSwarmId!==void 0){let r=yield this.segmentsStorage.getSegmentsMap(this.masterSwarmId);this.processSegmentsQueue(r)&&!this.settings.consumeOnly&&this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(r));}this.httpDownloadInitialTimeoutTimestamp!==-1/0&&setTimeout(this.processInitialSegmentTimeout,this.settings.httpDownloadInitialTimeoutPerSegment);}}),this.processSegmentsQueue=r=>{let o=this.segmentsQueue.length>0?this.segmentsQueue[0].priority:0;if(this.debugSegments(`process segments queue. priority: ${o}, queue length: ${this.segmentsQueue.length}`),this.masterSwarmId===void 0||this.segmentsQueue.length===0)return!1;let a=!1,l,d=!0;if(this.httpDownloadInitialTimeoutTimestamp!==-1/0){let c;for(let f of this.segmentsQueue)if(!r.has(f.id)){c=f.priority;break;}let h=this.now()-this.httpDownloadInitialTimeoutTimestamp;d=h>=this.settings.httpDownloadInitialTimeout||c!==void 0&&h>this.settings.httpDownloadInitialTimeoutPerSegment&&c<=0,d&&(this.debugSegments("cancel initial HTTP download timeout - timed out"),this.httpDownloadInitialTimeoutTimestamp=-1/0);}let u=!1;for(let c=0;c<this.segmentsQueue.length;c++){let h=this.segmentsQueue[c];if(r.has(h.id))continue;if(this.httpManager.isDownloading(h)){this.httpManager.updatePriority(h);continue;}let f=d&&h.priority<=this.settings.requiredSegmentsPriority;if(f&&!this.httpManager.isFailed(h)){if(this.httpManager.getActiveDownloadsCount()>=this.settings.simultaneousHttpDownloads)for(let p=this.segmentsQueue.length-1;p>c;p--){let g=this.segmentsQueue[p];if(this.httpManager.isDownloading(g)){this.debugSegments("cancel HTTP download",g.priority,g.id),this.httpManager.abort(g);break;}}if(this.httpManager.getActiveDownloadsCount()<this.settings.simultaneousHttpDownloads){let p=this.p2pManager.abort(h);this.httpManager.download(h,p),this.debugSegments("HTTP download (priority)",h.priority,h.id),a=!0;continue;}}if(f&&this.httpManager.isFailed(h)&&(u=!0),!this.p2pManager.isDownloading(h)){if(h.priority<=this.settings.requiredSegmentsPriority){if(l=l||this.p2pManager.getOverallSegmentsMap(),l.get(h.id)!==0)continue;if(this.p2pManager.getActiveDownloadsCount()>=this.settings.simultaneousP2PDownloads)for(let p=this.segmentsQueue.length-1;p>c;p--){let g=this.segmentsQueue[p];if(this.p2pManager.isDownloading(g)){this.debugSegments("cancel P2P download",g.priority,g.id),this.p2pManager.abort(g);break;}}if(this.p2pManager.getActiveDownloadsCount()<this.settings.simultaneousP2PDownloads&&this.p2pManager.download(h)){this.debugSegments("P2P download (priority)",h.priority,h.id);continue;}continue;}this.p2pManager.getActiveDownloadsCount()<this.settings.simultaneousP2PDownloads&&h.priority<=this.settings.p2pDownloadMaxPriority&&this.p2pManager.download(h)&&this.debugSegments("P2P download",h.priority,h.id);}}return u&&setTimeout(()=>Ie(this,null,function*(){if(this.masterSwarmId===void 0)return;let c=yield this.segmentsStorage.getSegmentsMap(this.masterSwarmId);this.processSegmentsQueue(c);}),this.settings.httpFailedSegmentTimeout),a;},this.downloadRandomSegmentOverHttp=()=>Ie(this,null,function*(){if(this.masterSwarmId===void 0||this.httpRandomDownloadInterval===void 0||this.httpDownloadInitialTimeoutTimestamp!==-1/0||this.httpManager.getActiveDownloadsCount()>=this.settings.simultaneousHttpDownloads||this.settings.httpDownloadProbabilitySkipIfNoPeers&&this.p2pManager.getPeers().size===0||this.settings.consumeOnly)return;let r=yield this.segmentsStorage.getSegmentsMap(this.masterSwarmId),o=this.p2pManager.getOverallSegmentsMap(),a=this.segmentsQueue.filter(d=>!this.p2pManager.isDownloading(d)&&!this.httpManager.isDownloading(d)&&!o.has(d.id)&&!this.httpManager.isFailed(d)&&d.priority<=this.settings.httpDownloadMaxPriority&&!r.has(d.id));if(a.length===0||Math.random()>this.settings.httpDownloadProbability*a.length)return;let l=a[Math.floor(Math.random()*a.length)];this.debugSegments("HTTP download (random)",l.priority,l.id),this.httpManager.download(l),this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(r));}),this.onSegmentStartLoad=(r,o)=>
107{this.emit("segment_start_load",r,o);},this.onPieceBytesDownloaded=(r,o,a,l)=>{this.bandwidthApproximator.addBytes(a,this.now()),this.emit("piece_bytes_downloaded",r,o,a,l);},this.onPieceBytesUploaded=(r,o,a,l)=>{this.emit("piece_bytes_uploaded",r,o,a,l);},this.onSegmentLoaded=(r,o,a)=>Ie(this,null,function*(){if(this.debugSegments("segment loaded",r.id,r.id),this.masterSwarmId===void 0)return;r.data=o,r.downloadBandwidth=this.bandwidthApproximator.getBandwidth(this.now()),yield this.segmentsStorage.storeSegment(r),this.emit("segment_loaded",r,a);let l=yield this.segmentsStorage.getSegmentsMap(this.masterSwarmId);this.processSegmentsQueue(l),this.settings.consumeOnly||this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(l));}),this.onSegmentError=(r,o,a)=>Ie(this,null,function*(){if(this.debugSegments("segment error",r.id,r.id,a,o),this.emit("segment_error",r,o,a),this.masterSwarmId!==void 0){let l=yield this.segmentsStorage.getSegmentsMap(this.masterSwarmId);this.processSegmentsQueue(l)&&!this.settings.consumeOnly&&this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(l));}}),this.onSegmentSize=(r,o)=>Ie(this,null,function*(){this.debugSegments("segment size",r.id,o),this.emit("segment_size",r,o);}
107),this.getStreamSwarmId=r=>r.streamId===void 0?r.masterSwarmId:`${r.masterSwarmId}+${r.streamId}`,this.createSegmentsMap=r=>{let o={},a=(l,d)=>{let u=this.getStreamSwarmId(l),c=l.sequence,h=o[u];h===void 0&&(h=["",[]],o[u]=h);let f=h[1];h[0]+=f.length===0?c:`|${c}`,f.push(d);};for(let l of r.values())a(l.segment,0);for(let l of this.httpManager.getActiveDownloads().values())a(l.segment,1);return o;},this.onPeerConnect=r=>Ie(this,null,function*(){this.emit("peer_connect",r),!this.settings.consumeOnly&&this.masterSwarmId!==void 0&&this.p2pManager.sendSegmentsMap(r.id,this.createSegmentsMap(yield this.segmentsStorage.getSegmentsMap(this.masterSwarmId)));}),this.onPeerClose=r=>{this.emit("peer_close",r);},this.onTrackerUpdate=r=>Ie(this,null,function*(){if(this.httpDownloadInitialTimeoutTimestamp!==-1/0&&r.incomplete!==void 0&&r.incomplete<=1&&(this.debugSegments("cancel initial HTTP download timeout - no peers"),this.httpDownloadInitialTimeoutTimestamp=-1/0,this.masterSwarmId!==void 0)){let o=yield this.segmentsStorage.getSegmentsMap(this.masterSwarmId);this.processSegmentsQueue(o)&&!this.settings.consumeOnly&&this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(o));}}),this.cleanSegmentsStorage=()=>Ie(this,null,function*(){return this.masterSwarmId===void 0?!1:this.segmentsStorage.clean(this.masterSwarmId,r=>this.segmentsQueue.find(o=>o.id===r)!==void 0);}),this.now=()=>performance.now(),this.initRandomDownloadIntervalIfNeeded=()=>{this.httpRandomDownloadInterval===void 0&&(this.httpRandomDownloadInterval=setInterval(this.downloadRandomSegmentOverHttp,this.settings.httpDownloadProbabilityInterval),this.settings.httpDownloadInitialTimeout>0&&this.settings.httpDownloadInitialTimeoutPerSegment>0&&(this.debugSegments("enable initial HTTP download timeout",this.settings.httpDownloadInitialTimeout,"per segment",this.settings.httpDownloadInitialTimeoutPerSegment),this.httpDownloadInitialTimeoutTimestamp=this.now(),setTimeout(this.processInitialSegmentTimeout,this.settings.httpDownloadInitialTimeoutPerSegment+100)));},this.abortUnknownSegments=r=>{let o=!1;for(let a of this.segmentsQueue)r.find(l=>l.id===a.id)||(this.debug("remove segment",a.id),this.httpManager.isDownloading(a)?(o=!0,this.httpManager.abort(a)):this.p2pManager.abort(a),this.emit("segment_abort",a));return o;},this.settings=we(we({},WO),i);let{bufferedSegmentsCount:n}=i;typeof n=="number"&&(i.p2pDownloadMaxPriority===void 0&&(this.settings.p2pDownloadMaxPriority=n),i.httpDownloadMaxPriority===void 0&&(this.settings.p2pDownloadMaxPriority=n)),this.segmentsStorage=this.settings.segmentsStorage===void 0?new GO(this.settings):this.settings.segmentsStorage,this.debug("loader settings",this.settings),this.httpManager=this.createHttpManager(),this.httpManager.on("segment-start-load",r=>this.onSegmentStartLoad("http",r)),this.httpManager.on("segment-loaded",this.onSegmentLoaded),this.httpManager.on("segment-error",this.onSegmentError),this.httpManager.on("segment-size",this.onSegmentSize),this.httpManager.on("bytes-downloaded",(r,o)=>{this.onPieceBytesDownloaded("http",r,o);}),this.p2pManager=this.createP2PManager(),this.p2pManager.on("segment-start-load",r=>this.onSegmentStartLoad("p2p",r)),this.p2pManager.on("segment-loaded",this.onSegmentLoaded),this.p2pManager.on("segment-error",this.onSegmentError),this.p2pManager.on("segment-size",this.onSegmentSize),this.p2pManager.on("peer-data-updated",()=>Ie(this,null,function*(){if(this.masterSwarmId===void 0)return;let r=yield this.segmentsStorage.getSegmentsMap(this.masterSwarmId);this.processSegmentsQueue(r)&&!this.settings.consumeOnly&&this.p2pManager.sendSegmentsMapToAll(this.createSegmentsMap(r));})),this.p2pManager.on("bytes-downloaded",(r,o,a)=>this.onPieceBytesDownloaded("p2p",r,o,a)),this.p2pManager.on("bytes-uploaded",(r,o,a)=>this.onPieceBytesUploaded("p2p",r,o,a)),this.p2pManager.on("peer-connected",this.onPeerConnect),this.p2pManager.on("peer-closed",this.onPeerClose),this.p2pManager.on("tracker-update",this.onTrackerUpdate);}},e.isSupported=()=>window.RTCPeerConnection.prototype.createDataChannel!==void 0,e;})();var zO=Object.create,UT=Object.defineProperty,qO=Object.getOwnPropertyDescriptor,HT=Object.getOwnPropertyNames,KO=Object.getPrototypeOf,YO=Object.prototype.hasOwnProperty,oa=(s,e)=>function(){return e||(0,s[HT(s)[0]])((e={exports:{}}).exports,e),e.exports;},XO=(s,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of HT(e))!YO.call(s,n)&&n!==t&&UT(s,n,{get:()=>e[n],enumerable:!(i=qO(e,n))||i.enumerable});return s;},aa=(s,e,t)=>(t=s!=null?zO(KO(s)):{},XO(e||!s||!s.__esModule?UT(t,"default",{value:s,enumerable:!0}):t,s)),QO=oa({"node_modules/events/events.js"(s,e){"use strict";var t=typeof Reflect=="object"?Reflect:null,i=t&&typeof t.apply=="function"?t.apply:function(A,O,U){return Function.prototype.apply.call(A,O,U);},n;t&&typeof t.ownKeys=="function"?n=t.ownKeys:Object.getOwnPropertySymbols?n=function(A){return Object.getOwnPropertyNames(A).concat(Object.getOwnPropertySymbols(A));}:n=function(A){return Object.getOwnPropertyNames(A);};function r(C){console&&console.warn&&console.warn(C);}var o=Number.isNaN||function(A){return A!==A;};function a(){a.init.call(this);}e.exports=a,e.exports.once=S,a.EventEmitter=a,a.prototype._events=void 0,a.prototype._eventsCount=0,a.prototype._maxListeners=void 0;var l=10;function d(C){if(typeof C!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof C);}Object.defineProperty(a,"defaultMaxListeners",{enumerable:!0,get:function(){return l;},set:function(C){if(typeof C!="number"||C<0||o(C))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+C+".");l=C;}}),a.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0;},a.prototype.setMaxListeners=function(A){if(typeof A!="number"||A<0||o(A))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+A+".");return this._maxListeners=A,this;};function u(C){return C._maxListeners===void 0?a.defaultMaxListeners:C._maxListeners;}a.prototype.getMaxListeners=function(){return u(this);},a.prototype.emit=function(A){for(var O=[],U=1;U<arguments.length;U++)O.push(arguments[U]);var j=A==="error",K=this._events;if(K!==void 0)j=j&&K.error===void 0;else if(!j)return!1;if(j){var Y;if(O.length>0&&(Y=O[0]),Y instanceof Error)throw Y;var oe=new Error("Unhandled error."+(Y?" ("+Y.message+")":""));throw oe.context=Y,oe;}var Ee=K[A];if(Ee===void 0)return!1;if(typeof Ee=="function")i(Ee,this,O);else for(var xe=Ee.length,Ae=m(Ee,xe),U=0;U<xe;++U)i(Ae[U],this,O);return!0;};function c(C,A,O,U){var j,K,Y;if(d(O),K=C._events,K===void 0?(K=C._events=Object.create(null),C._eventsCount=0):(K.newListener!==void 0&&(C.emit("newListener",A,O.listener?O.listener:O),K=C._events),Y=K[A]),Y===void 0)Y=K[A]=O,++C._eventsCount;else if(typeof Y=="function"?Y=K[A]=U?[O,Y]:[Y,O]:U?Y.unshift(O):Y.push(O),j=u(C),j>0&&Y.length>j&&!Y.warned){Y.warned=!0;var oe=new Error("Possible EventEmitter memory leak detected. "+Y.length+" "+String(A)+" listeners added. Use emitter.setMaxListeners() to increase limit");oe.name="MaxListenersExceededWarning",oe.emitter=C,oe.type=A,oe.count=Y.length,r(oe);}return C;}a.prototype.addListener=function(A,O){return c(this,A,O,!1);},a.prototype.on=a.prototype.addListener,a.prototype.prependListener=function(A,O){return c(this,A,O,!0);};function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments);}function f(C,A,O){var U={fired:!1,wrapFn:void 0,target:C,type:A,listener:O},j=h.bind(U);return j.listener=O,U.wrapFn=j,j;}a.prototype.once=function(A,O){return d(O),this.on(A,f(this,A,O)),this;},a.prototype.prependOnceListener=function(A,O){return d(O),this.prependListener(A,f(this,A,O)),this;},a.prototype.removeListener=function(A,O){var U,j,K,Y,oe;if(d(O),j=this._events,j===void 0)return this;if(U=j[A],U===void 0)return this;if(U===O||U.listener===O)--this._eventsCount===0?this._events=Object.create(null):(delete j[A],j.removeListener&&this.emit
107("removeListener",A,U.listener||O));else if(typeof U!="function"){for(K=-1,Y=U.length-1;Y>=0;Y--)if(U[Y]===O||U[Y].listener===O){oe=U[Y].listener,K=Y;break;}if(K<0)return this;K===0?U.shift():b(U,K),U.length===1&&(j[A]=U[0]),j.removeListener!==void 0&&this.emit("removeListener",A,oe||O);}return this;},a.prototype.off=a.prototype.removeListener,a.prototype.removeAllListeners=function(A){var O,U,j;if(U=this._events,U===void 0)return this;if(U.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):U[A]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete U[A]),this;if(arguments.length===0){var K=Object.keys(U),Y;for(j=0;j<K.length;++j)Y=K[j],Y!=="removeListener"&&this.removeAllListeners(Y);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this;}if(O=U[A],typeof O=="function")this.removeListener(A,O);else if(O!==void 0)for(j=O.length-1;j>=0;j--)this.removeListener(A,O[j]);return this;};function p(C,A,O){var U=C._events;if(U===void 0)return[];var j=U[A];return j===void 0?[]:typeof j=="function"?O?[j.listener||j]:[j]:O?T(j):m(j,j.length);}a.prototype.listeners=function(A){return p(this,A,!0);},a.prototype.rawListeners=function(A){return p(this,A,!1);},a.listenerCount=function(C,A){return typeof C.listenerCount=="function"?C.listenerCount(A):g.call(C,A);},a.prototype.listenerCount=g;function g(C){var A=this._events;if(A!==void 0){var O=A[C];if(typeof O=="function")return 1;if(O!==void 0)return O.length;}return 0;}a.prototype.eventNames=function(){return this._eventsCount>0?n(this._events):[];};function m(C,A){for(var O=new Array(A),U=0;U<A;++U)O[U]=C[U];return O;}function b(C,A){for(;A+1<C.length;A++)C[A]=C[A+1];C.pop();}function T(C){for(var A=new Array(C.length),O=0;O<A.length;++O)A[O]=C[O].listener||C[O];return A;}function S(C,A){return new Promise(function(O,U){function j(Y){C.removeListener(A,K),U(Y);}function K(){typeof C.removeListener=="function"&&C.removeListener("error",j),O([].slice.call(arguments));}R(C,A,K,{once:!0}),A!=="error"&&P(C,j,{once:!0});});}function P(C,A,O){typeof C.on=="function"&&R(C,"error",A,O);}function R(C,A,O,U){if(typeof C.on=="function")U.once?C.once(A,O):C.on(A,O);else if(typeof C.addEventListener=="function")C.addEventListener(A,function j(K){U.once&&C.removeEventListener(A,j),O(K);});else throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof C);}}}),JO=oa({"node_modules/ms/index.js"(s,e){var t=1e3,i=t*60,n=i*60,r=n*24,o=r*7,a=r*365.25;e.exports=function(h,f){f=f||{};var p=typeof h;if(p==="string"&&h.length>0)return l(h);if(p==="number"&&isFinite(h))return f.long?u(h):d(h);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(h));};function l(h){if(h=String(h),!(h.length>100)){var f=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(h);if(f){var p=parseFloat(f[1]),g=(f[2]||"ms").toLowerCase();switch(g){case"years":case"year":case"yrs":case"yr":case"y":return p*a;case"weeks":case"week":case"w":return p*o;case"days":case"day":case"d":return p*r;case"hours":case"hour":case"hrs":case"hr":case"h":return p*n;case"minutes":case"minute":case"mins":case"min":case"m":return p*i;case"seconds":case"second":case"secs":case"sec":case"s":return p*t;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return p;default:return;}}}}function d(h){var f=Math.abs(h);return f>=r?Math.round(h/r)+"d":f>=n?Math.round(h/n)+"h":f>=i?Math.round(h/i)+"m":f>=t?Math.round(h/t)+"s":h+"ms";}function u(h){var f=Math.abs(h);return f>=r?c(h,f,r,"day"):f>=n?c(h,f,n,"hour"):f>=i?c(h,f,i,"minute"):f>=t?c(h,f,t,"second"):h+" ms";}function c(h,f,p,g){var m=f>=p*1.5;return Math.round(h/p)+" "+g+(m?"s":"");}}}),ZO=oa({"node_modules/debug/src/common.js"(s,e){function t(i){r.debug=r,r.default=r,r.coerce=c,r.disable=l,r.enable=a,r.enabled=d,r.humanize=JO(),r.destroy=h,Object.keys(i).forEac
107h(f=>{r[f]=i[f];}),r.names=[],r.skips=[],r.formatters={};function n(f){let p=0;for(let g=0;g<f.length;g++)p=(p<<5)-p+f.charCodeAt(g),p|=0;return r.colors[Math.abs(p)%r.colors.length];}r.selectColor=n;function r(f){let p,g=null,m,b;function T(...S){if(!T.enabled)return;let P=T,R=Number(new Date()),C=R-(p||R);P.diff=C,P.prev=p,P.curr=R,p=R,S[0]=r.coerce(S[0]),typeof S[0]!="string"&&S.unshift("%O");let A=0;S[0]=S[0].replace(/%([a-zA-Z%])/g,(U,j)=>{if(U==="%%")return"%";A++;let K=r.formatters[j];if(typeof K=="function"){let Y=S[A];U=K.call(P,Y),S.splice(A,1),A--;}return U;}),r.formatArgs.call(P,S),(P.log||r.log).apply(P,S);}return T.namespace=f,T.useColors=r.useColors(),T.color=r.selectColor(f),T.extend=o,T.destroy=r.destroy,Object.defineProperty(T,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(m!==r.namespaces&&(m=r.namespaces,b=r.enabled(f)),b),set:S=>{g=S;}}),typeof r.init=="function"&&r.init(T),T;}function o(f,p){let g=r(this.namespace+(typeof p>"u"?":":p)+f);return g.log=this.log,g;}function a(f){r.save(f),r.namespaces=f,r.names=[],r.skips=[];let p,g=(typeof f=="string"?f:"").split(/[\s,]+/),m=g.length;for(p=0;p<m;p++)g[p]&&(f=g[p].replace(/\*/g,".*?"),f[0]==="-"?r.skips.push(new RegExp("^"+f.slice(1)+"$")):r.names.push(new RegExp("^"+f+"$")));}function l(){let f=[...r.names.map(u),...r.skips.map(u).map(p=>"-"+p)].join(",");return r.enable(""),f;}function d(f){if(f[f.length-1]==="*")return!0;let p,g;for(p=0,g=r.skips.length;p<g;p++)if(r.skips[p].test(f))return!1;for(p=0,g=r.names.length;p<g;p++)if(r.names[p].test(f))return!0;return!1;}function u(f){return f.toString().substring(2,f.toString().length-2).replace(/\.\*\?$/,"*");}function c(f){return f instanceof Error?f.stack||f.message:f;}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");}return r.enable(r.load()),r;}e.exports=t;}}),Ep=oa({"node_modules/debug/src/browser.js"(s,e){s.formatArgs=i,s.save=n,s.load=r,s.useColors=t,s.storage=o(),s.destroy=(()=>{let l=!1;return()=>{l||(l=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."));};})(),s.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function t(){return typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs)?!0:typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/)?!1:typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/);}function i(l){if(l[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+l[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;let d="color: "+this.color;l.splice(1,0,d,"color: inherit");let u=0,c=0;l[0].replace(/%[a-zA-Z%]/g,h=>{h!=="%%"&&(u++,h==="%c"&&(c=u));}),l.splice(c,0,d);}s.log=console.debug||console.log||(()=>{});function n(l){try{l?s.storage.setItem("debug",l):s.storage.removeItem("debug");}catch{}}function r(){let l;try{l=s.storage.getItem("debug");}catch{}return!l&&typeof process<"u"&&"env"in process&&(l=process.env.DEBUG),l;}function o(){try{return localStorage;}catch{}}e.exports=ZO()(s);var{formatters:a}=e.exports;a.j=function(l){try{return JSON.stringify(l);}catch(d){return"[UnexpectedJSONParseError]: "+d.message;}};}}
107),eL=oa({"node_modules/global/window.js"(s,e){var t;typeof window<"u"?t=window:typeof global<"u"?t=global:typeof self<"u"?t=self:t={},e.exports=t;}}),tL=aa(QO(),1),iL=aa(Ep(),1);function bp(s,e){return bp=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(i,n){return i.__proto__=n,i;},bp(s,e);}function Sp(s,e){s.prototype=Object.create(e.prototype),s.prototype.constructor=s,bp(s,e);}var Cp=function(){function s(){this.listeners={};}var e=s.prototype;return e.on=function(i,n){this.listeners[i]||(this.listeners[i]=[]),this.listeners[i].push(n);},e.off=function(i,n){if(!this.listeners[i])return!1;var r=this.listeners[i].indexOf(n);return this.listeners[i]=this.listeners[i].slice(0),this.listeners[i].splice(r,1),r>-1;},e.trigger=function(i){var n=this.listeners[i];if(n)if(arguments.length===2)for(var r=n.length,o=0;o<r;++o)n[o].call(this,arguments[1]);else for(var a=Array.prototype.slice.call(arguments,1),l=n.length,d=0;d<l;++d)n[d].apply(this,a);},e.dispose=function(){this.listeners={};},e.pipe=function(i){this.on("data",function(n){i.push(n);});},s;}();function Wd(){return Wd=Object.assign?Object.assign.bind():function(s){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)Object.prototype.hasOwnProperty.call(t,i)&&(s[i]=t[i]);}return s;},Wd.apply(this,arguments);}function nL(s){if(s===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return s;}var FT=aa(eL()),rL=function(e){return FT.default.atob?FT.default.atob(e):Buffer.from(e,"base64").toString("binary");};function sL(s){for(var e=rL(s),t=new Uint8Array(e.length),i=0;i<e.length;i++)t[i]=e.charCodeAt(i);return t;}var oL=function(s){Sp(e,s);function e(){var i;return i=s.call(this)||this,i.buffer="",i;}var t=e.prototype;return t.push=function(n){var r;for(this.buffer+=n,r=this.buffer.indexOf(` 108`);r>-1;r=this.buffer.indexOf(` 109`))this.trigger("data",this.buffer.substring(0,r)),this.buffer=this.buffer.substring(r+1);},e;}(Cp),aL=" ",_p=function(e){var t=/([0-9.]*)?@?([0-9.]*)?/.exec(e||""),i={};return t[1]&&(i.length=parseInt(t[1],10)),t[2]&&(i.offset=parseInt(t[2],10)),i;},lL=function(){var e="[^=]*",t='"[^"]*"|[^,]*',i="(?:"+e+")=(?:"+t+")";return new RegExp("(?:^|,)("+i+")");},zi=function(e){for(var t=e.split(lL()),i={},n=t.length,r;n--;)t[n]!==""&&(r=/([^=]*)=(.*)/.exec(t[n]).slice(1),r[0]=r[0].replace(/^\s+|\s+$/g,""),r[1]=r[1].replace(/^\s+|\s+$/g,""),r[1]=r[1].replace(/^['"](.*)['"]$/g,"$1"),i[r[0]]=r[1]);return i;},dL=function(s){Sp(e,s);function e(){var i;return i=s.call(this)||this,i.customParsers=[],i.tagMappers=[],i;}var t=e.prototype;return t.push=function(n){var r=this,o,a;if(n=n.trim(),n.length!==0){if(n[0]!=="#"){this.trigger("data",{type:"uri",uri:n});return;}var l=this.tagMappers.reduce(function(d,u){var c=u(n);return c===n?d:d.concat([c]);},[n]);l.forEach(function(d){for(var u=0;u<r.customParsers.length;u++)if(r.customParsers[u].call(r,d))return;if(d.indexOf("#EXT")!==0){r.trigger("data",{type:"comment",text:d.slice(1)});return;}if(d=d.replace("\r",""),o=/^#EXTM3U/.exec(d),o){r.trigger("data",{type:"tag",tagType:"m3u"});return;}if(o=/^#EXTINF:?([0-9\.]*)?,?(.*)?$/.exec(d),o){a={type:"tag",tagType:"inf"},o[1]&&(a.duration=parseFloat(o[1])),o[2]&&(a.title=o[2]),r.trigger("data",a);return;}if(o=/^#EXT-X-TARGETDURATION:?([0-9.]*)?/.exec(d),o){a={type:"tag",tagType:"targetduration"},o[1]&&(a.duration=parseInt(o[1],10)),r.trigger("data",a);return;}if(o=/^#EXT-X-VERSION:?([0-9.]*)?/.exec(d),o){a={type:"tag",tagType:"version"},o[1]&&(a.version=parseInt(o[1],10)),r.trigger("data",a);return;}if(o=/^#EXT-X-MEDIA-SEQUENCE:?(\-?[0-9.]*)?/.exec(d),o){a={type:"tag",tagType:"media-sequence"},o[1]&&(a.number=parseInt(o[1],10)),r.trigger("data",a);return;}if(o=/^#EXT-X-DISCONTINUITY-SEQUENCE:?(\-?[0-9.]*)?/.exec(d),o){a={type:"tag",tagType:"discontinuity-sequence"},o[1]&&(a.number=parseInt(o[1],10)),r.trigger("data",a);return;}if(o=/^#EXT-X-PLAYLIST-TYPE:?(.*)?$/.exec(d),o){a={type:"tag",tagType:"playlist-type"},o[1]&&(a.playlistType=o[1]),r.trigger("data",a);return;}if(o=/^#EXT-X-BYTERANGE:?(.*)?$/.exec(d),o){a=Wd(_p(o[1]),{type:"tag",tagType:"byterange"}),r.trigger("data",a);return;}if(o=/^#EXT-X-ALLOW-CACHE:?(YES|NO)?/.exec(d),o){a={type:"tag",tagType:"allow-cache"},o[1]&&(a.allowed=!/NO/.test(o[1])),r.trigger("data",a);return;}if(o=/^#EXT-X-MAP:?(.*)$/.exec(d),o){if(a={type:"tag",tagType:"map"},o[1]){var c=zi(o[1]);c.URI&&(a.uri=c.URI),c.BYTERANGE&&(a.byterange=_p(c.BYTERANGE));}r.trigger("data",a);return;}if(o=/^#EXT-X-STREAM-INF:?(.*)$/.exec(d),o){if(a={type:"tag",tagType:"stream-inf"},o[1]){if(a.attributes=zi(o[1]),a.attributes.RESOLUTION){var h=a.attributes.RESOLUTION.split("x"),f={};h[0]&&(f.width=parseInt(h[0],10)),h[1]&&(f.height=parseInt(h[1],10)),a.attributes.RESOLUTION=f;}a.attributes.BANDWIDTH&&(a.attributes.BANDWIDTH=parseInt(a.attributes.BANDWIDTH,10)),a.attributes["PROGRAM-ID"]&&(a.attributes["PROGRAM-ID"]=parseInt(a.attributes["PROGRAM-ID"],10));}r.trigger("data",a);return;}if(o=/^#EXT-X-MEDIA:?(.*)$/.exec(d),o){a={type:"tag",tagType:"media"},o[1]&&(a.attributes=zi(o[1])),r.trigger("data",a);return;}if(o=/^#EXT-X-ENDLIST/.exec(d),o){r.trigger("data",{type:"tag",tagType:"endlist"});return;}if(o=/^#EXT-X-DISCONTINUITY/.exec(d),o){r.trigger("data",{type:"tag",tagType:"discontinuity"});return;}if(o=/^#EXT-X-PROGRAM-DATE-TIME:?(.*)$/.exec(d),o){a={type:"tag",tagType:"program-date-time"}
109,o[1]&&(a.dateTimeString=o[1],a.dateTimeObject=new Date(o[1])),r.trigger("data",a);return;}if(o=/^#EXT-X-KEY:?(.*)$/.exec(d),o){a={type:"tag",tagType:"key"},o[1]&&(a.attributes=zi(o[1]),a.attributes.IV&&(a.attributes.IV.substring(0,2).toLowerCase()==="0x"&&(a.attributes.IV=a.attributes.IV.substring(2)),a.attributes.IV=a.attributes.IV.match(/.{8}/g),a.attributes.IV[0]=parseInt(a.attributes.IV[0],16),a.attributes.IV[1]=parseInt(a.attributes.IV[1],16),a.attributes.IV[2]=parseInt(a.attributes.IV[2],16),a.attributes.IV[3]=parseInt(a.attributes.IV[3],16),a.attributes.IV=new Uint32Array(a.attributes.IV))),r.trigger("data",a);return;}if(o=/^#EXT-X-START:?(.*)$/.exec(d),o){a={type:"tag",tagType:"start"},o[1]&&(a.attributes=zi(o[1]),a.attributes["TIME-OFFSET"]=parseFloat(a.attributes["TIME-OFFSET"]),a.attributes.PRECISE=/YES/.test(a.attributes.PRECISE)),r.trigger("data",a);return;}if(o=/^#EXT-X-CUE-OUT-CONT:?(.*)?$/.exec(d),o){a={type:"tag",tagType:"cue-out-cont"},o[1]?a.data=o[1]:a.data="",r.trigger("data",a);return;}if(o=/^#EXT-X-CUE-OUT:?(.*)?$/.exec(d),o){a={type:"tag",tagType:"cue-out"},o[1]?a.data=o[1]:a.data="",r.trigger("data",a);return;}if(o=/^#EXT-X-CUE-IN:?(.*)?$/.exec(d),o){a={type:"tag",tagType:"cue-in"},o[1]?a.data=o[1]:a.data="",r.trigger("data",a);return;}if(o=/^#EXT-X-SKIP:(.*)$/.exec(d),o&&o[1]){a={type:"tag",tagType:"skip"},a.attributes=zi(o[1]),a.attributes.hasOwnProperty("SKIPPED-SEGMENTS")&&(a.attributes["SKIPPED-SEGMENTS"]=parseInt(a.attributes["SKIPPED-SEGMENTS"],10)),a.attributes.hasOwnProperty("RECENTLY-REMOVED-DATERANGES")&&(a.attributes["RECENTLY-REMOVED-DATERANGES"]=a.attributes["RECENTLY-REMOVED-DATERANGES"].split(aL)),r.trigger("data",a);return;}if(o=/^#EXT-X-PART:(.*)$/.exec(d),o&&o[1]){a={type:"tag",tagType:"part"},a.attributes=zi(o[1]),["DURATION"].forEach(function(p){a.attributes.hasOwnProperty(p)&&(a.attributes[p]=parseFloat(a.attributes[p]));}),["INDEPENDENT","GAP"].forEach(function(p){a.attributes.hasOwnProperty(p)&&(a.attributes[p]=/YES/.test(a.attributes[p]));}),a.attributes.hasOwnProperty("BYTERANGE")&&(a.attributes.byterange=_p(a.attributes.BYTERANGE)),r.trigger("data",a);return;}if(o=/^#EXT-X-SERVER-CONTROL:(.*)$/.exec(d),o&&o[1]){a={type:"tag",tagType:"server-control"},a.attributes=zi(o[1]),["CAN-SKIP-UNTIL","PART-HOLD-BACK","HOLD-BACK"].forEach(function(p){a.attributes.hasOwnProperty(p)&&(a.attributes[p]=parseFloat(a.attributes[p]));}),["CAN-SKIP-DATERANGES","CAN-BLOCK-RELOAD"].forEach(function(p){a.attributes.hasOwnProperty(p)&&(a.attributes[p]=/YES/.test(a.attributes[p]));}),r.trigger("data",a);return;}if(o=/^#EXT-X-PART-INF:(.*)$/.exec(d),o&&o[1]){a={type:"tag",tagType:"part-inf"},a.attributes=zi(o[1]),["PART-TARGET"].forEach(function(p){a.attributes.hasOwnProperty(p)&&(a.attributes[p]=parseFloat(a.attributes[p]));}),r.trigger("data",a);return;}if(o=/^#EXT-X-PRELOAD-HINT:(.*)$/.exec(d),o&&o[1]){a={type:"tag",tagType:"preload-hint"},a.attributes=zi(o[1]),["BYTERANGE-START","BYTERANGE-LENGTH"].forEach(function(p){if(a.attributes.hasOwnProperty(p)){a.attributes[p]=parseInt(a.attributes[p],10);var g=p==="BYTERANGE-LENGTH"?"length":"offset";a.attributes.byterange=a.attributes.byterange||{},a.attributes.byterange[g]=a.attributes[p],delete a.attributes[p];}}),r.trigger("data",a);return;}if(o=/^#EXT-X-RENDITION-REPORT:(.*)$/.exec(d),o&&o[1]){a={type:"tag",tagType:"rendition-report"},a.attributes=zi(o[1]),["LAST-MSN","LAST-PART"].forEach(function(p){a.attributes.hasOwnProperty(p)&&(a.attributes[p]=parseInt(a.attributes[p],10));}),r.trigger("data",a);return;}r.trigger("data",{type:"tag",data:d.slice(4)});});}},t.addParser=function(n){var r=this,o=n.expression,a=n.customType,l=n.dataParser,d=n.segment;typeof l!="function"&&(l=function(c){return c;}),this.customParsers.push(function(u){var c=o.exec(u);if(c)return r.trigger("data",{type:"custom",data:l(u),customType:a,segment:d}),!0;});},t.addTagMapper=function(n){var r=n.expression,o=n.map,a=function(d){return r.test(d)?o(d):d;};this.tagMappers.push(a);},e;}(Cp),uL=function(e){return e.toLowerCase().replace(/-(\w)/g,function(t){return t[1].toUpperCase();});},js=function(e){var t={};return Object.keys(e).forEach(function(i){t[uL(i)]=e[i];}),t;},yp=function(e){var t=e.serverControl,i=e.targetDuration,n=e.partTargetDuration;if(t){var r="#EXT-X-SERVER-CONTROL",o="holdBack",a="partHoldBack",l=i&&i*3,d=n&&n*2;i&&!t.hasOwnProperty(o)&&(t[o]=l,this.trigger("info",{message:r+" defaulting HOLD-BACK to targetDuration * 3 ("+l+")."})),l&&t[o]<l&&(this.trigger("warn",{message:r+" clamping HOLD-BACK ("+t[o]+") to targetDuration * 3 ("+l+")"}),t[o]=l),n&&!t.hasOwnProperty(a)&&(t[a]=n*3,this.trigger("info",{message:r+" defaulting PART-HOLD-BACK to partTargetDuration * 3 ("+t[a]+")."})),n&&t[a]<d&&(this.trigger("warn",{message:r+" clamping PART-HOLD-BACK ("+t[a]+") to partTargetDuration * 2 ("+d+")."}),t[a]=d);}},cL=function(s){Sp(e,s);function e(){var i;i=s.call(this)||this,i.lineStream=new oL(),i.parseStream=new dL(),i.lineStream.pipe(i.parseStream);var n=nL(i),r=[],o={},a,l,d=!1,u=function(){},c={AUDIO:{},VIDEO:{},"CLOSED-CAPTIONS":{},SUBTITLES:{}},h="urn:uuid:edef8ba9-79d6-4ace-a3c8-27dcd51d21ed",f=0;i.manifest={allowCache:!0,discontinuityStarts:[],segments:[]};var p=0,g=0;return i.on("end",function(){o.uri||!o.parts&&!o.preloadHints||(!o.map&&a&&(o.map=a),!o.key&&l&&(o.key=l),!o.timeline&&typeof f=="number"&&(o.timeline=f),i.manifest.preloadSegment=o);}),i.parseStream.on("data",function(m){var b,T;({tag:function(){({version:function(){m.version&&(this.manifest.version=m.version);},"allow-cache":function(){this.manifest.allowCache=m.allowed,"allowed"in m||(this.trigger("info",{message:"defaulting allowCache to YES"}),this.manifest.allowCache=!0);},byterange:function(){var R={};"length"in m&&(o.byterange=R,R.length=m.length,"offset"in m||(m.offset=p)),"offset"in m&&(o.byterange=R,R.offset=m.offset),p=R.offset+R.length;},endlist:function(){this.manifest.endList=!0;},inf:function(){"mediaSequence"in this.manifest||(this.manifest.mediaSequence=0,this.trigger("info",{message:"defaulting media sequence to zero"})),"discontinuitySequence"in this.manifest||(this.manifest.discontinuitySequence=0,this.trigger("info",{message:"defaulting discontinuity sequence to zero"})),m.duration>0&&(o.duration=m.duration),m.duration===0&&(o.duration=.01,this.trigger("info",{message:"updating zero segment duration to a small value"})),this.manifest.segments=r;},key:function(){if(!m.attributes){this.trigger("warn",{message:"ignoring key declaration without attribute list"});return;}if(m.attributes.METHOD==="NONE"){l=null;return;}if(!m.attributes.URI){this.trigger("warn",{message:"ignoring key declaration without URI"});return;}if(m.attributes.KEYFORMAT==="com.apple.streamingkeydelivery"){this.manifest.contentProtection=this.manifest.contentProtection||{},this.manifest.contentProtection["com.apple.fps.1_0"]={attributes:m.attributes};return;}if(m.attributes.KEYFORMAT==="com.microsoft.playready"){this.manifest.contentProtection=this.manifest.contentProtection||{},this.manifest.contentProtection["com.microsoft.playready"]={uri:m.attributes.URI};return;}if(m.attributes.KEYFORMAT===h){var R=["SAMPLE-AES","SAMPLE-AES-CTR","SAMPLE-AES-CENC"];if(R.indexOf(m.attributes.METHOD)===-1){this.trigger("warn",{message:"invalid key method provided for Widevine"});return;}if(m.attributes.METHOD==="SAMPLE-AES-CENC"&&this.trigger("warn",{message:"SAMPLE-AES-CENC is deprecated, please use SAMPLE-AES-CTR instead"}),m.attributes.URI.substring(0,23)!=="data:text/plain;base64,"){this.trigger("warn",{message:"invalid key URI provided for Widevine"});return;}if(!(m.attributes.KEYID&&m.attributes.KEYID.substring(0,2)==="0x")){this.trigger("warn",{message:"invalid key ID provided for Widevine"});return;}this.manifest.contentProtection=this.manifest.contentProtection||{},this.manifest.contentProtection["com.widevine.alpha"]={attributes:{schemeIdUri:m.attributes.KEYFORMAT,keyId:m.attributes.KEYID.substring(2)},pssh:sL(m.attributes.URI.split(",")[1])};return;}m.attributes.METHOD||this.trigger("warn",{message:"defaulting key method to AES-128"}),l={method:m.attributes.METHOD||"AES-128",uri:m.attributes.URI},typeof m.attributes.IV<"u"&&(l.iv=m.attributes.IV);},"media-sequence":function(){if(!isFinite(m.number)){this.trigger("warn",{message:"ignoring invalid media sequence: "+m.number});return;}this.manifest.mediaSequence=m.number;},"discontinuity-sequence":function(){if(!isFinite(m.number)){this.trigger("warn",{message:"ignoring invalid discontinuity sequence: "+m.number});return;}this.manifest.discontinuitySequence=m.number,f=m.number;},"playlist-type":function(){if(!/VOD|EVENT/.test(m.playlistType)){this.trigger("warn",{message:"ignoring unknown playlist type: "+m.playlist});return;}this.manifest.playlistType=m.playlistType;},map:function(){a={},m.uri&&(a.uri=m.uri),m.byterange&&(a.byterange=m.byterange),l&&(
109a.key=l);},"stream-inf":function(){if(this.manifest.playlists=r,this.manifest.mediaGroups=this.manifest.mediaGroups||c,!m.attributes){this.trigger("warn",{message:"ignoring empty stream-inf attributes"});return;}o.attributes||(o.attributes={}),Wd(o.attributes,m.attributes);},media:function(){if(this.manifest.mediaGroups=this.manifest.mediaGroups||c,!(m.attributes&&m.attributes.TYPE&&m.attributes["GROUP-ID"]&&m.attributes.NAME)){this.trigger("warn",{message:"ignoring incomplete or missing media group"});return;}var R=this.manifest.mediaGroups[m.attributes.TYPE];R[m.attributes["GROUP-ID"]]=R[m.attributes["GROUP-ID"]]||{},b=R[m.attributes["GROUP-ID"]],T={default:/yes/i.test(m.attributes.DEFAULT)},T.default?T.autoselect=!0:T.autoselect=/yes/i.test(m.attributes.AUTOSELECT),m.attributes.LANGUAGE&&(T.language=m.attributes.LANGUAGE),m.attributes.URI&&(T.uri=m.attributes.URI),m.attributes["INSTREAM-ID"]&&(T.instreamId=m.attributes["INSTREAM-ID"]),m.attributes.CHARACTERISTICS&&(T.characteristics=m.attributes.CHARACTERISTICS),m.attributes.FORCED&&(T.forced=/yes/i.test(m.attributes.FORCED)),b[m.attributes.NAME]=T;},discontinuity:function(){f+=1,o.discontinuity=!0,this.manifest.discontinuityStarts.push(r.length);},"program-date-time":function(){typeof this.manifest.dateTimeString>"u"&&(this.manifest.dateTimeString=m.dateTimeString,this.manifest.dateTimeObject=m.dateTimeObject),o.dateTimeString=m.dateTimeString,o.dateTimeObject=m.dateTimeObject;},targetduration:function(){if(!isFinite(m.duration)||m.duration<0){this.trigger("warn",{message:"ignoring invalid target duration: "+m.duration});return;}this.manifest.targetDuration=m.duration,yp.call(this,this.manifest);},start:function(){if(!m.attributes||isNaN(m.attributes["TIME-OFFSET"])){this.trigger("warn",{message:"ignoring start declaration without appropriate attribute list"});return;}this.manifest.start={timeOffset:m.attributes["TIME-OFFSET"],precise:m.attributes.PRECISE};},"cue-out":function(){o.cueOut=m.data;},"cue-out-cont":function(){o.cueOutCont=m.data;},"cue-in":function(){o.cueIn=m.data;},skip:function(){this.manifest.skip=js(m.attributes),this.warnOnMissingAttributes_("#EXT-X-SKIP",m.attributes,["SKIPPED-SEGMENTS"]);},part:function(){var R=this;d=!0;var C=this.manifest.segments.length,A=js(m.attributes);o.parts=o.parts||[],o.parts.push(A),A.byterange&&(A.byterange.hasOwnProperty("offset")||(A.byterange.offset=g),g=A.byterange.offset+A.byterange.length);var O=o.parts.length-1;this.warnOnMissingAttributes_("#EXT-X-PART #"+O+" for segment #"+C,m.attributes,["URI","DURATION"]),this.manifest.renditionReports&&this.manifest.renditionReports.forEach(function(U,j){U.hasOwnProperty("lastPart")||R.trigger("warn",{message:"#EXT-X-RENDITION-REPORT #"+j+" lacks required attribute(s): LAST-PART"});});},"server-control":function(){var R=this.manifest.serverControl=js(m.attributes);R.hasOwnProperty("canBlockReload")||(R.canBlockReload=!1,this.trigger("info",{message:"#EXT-X-SERVER-CONTROL defaulting CAN-BLOCK-RELOAD to false"})),yp.call(this,this.manifest),R.canSkipDateranges&&!R.hasOwnProperty("canSkipUntil")&&this.trigger("warn",{message:"#EXT-X-SERVER-CONTROL lacks required attribute CAN-SKIP-UNTIL which is required when CAN-SKIP-DATERANGES is set"});},"preload-hint":function(){var R=this.manifest.segments.length,C=js(m.attributes),A=C.type&&C.type==="PART";o.preloadHints=o.preloadHints||[],o.preloadHints.push(C),C.byterange&&(C.byterange.hasOwnProperty("offset")||(C.byterange.offset=A?g:0,A&&(g=C.byterange.offset+C.byterange.length)));var O=o.preloadHints.length-1;if(this.warnOnMissingAttributes_("#EXT-X-PRELOAD-HINT #"+O+" for segment #"+R,m.attributes,["TYPE","URI"]),!!C.type)for(var U=0;U<o.preloadHints.length-1;U++){var j=o.preloadHints[U];j.type&&j.type===C.type&&this.trigger("warn",{message:"#EXT-X-PRELOAD-HINT #"+O+" for segment #"+R+" has the same TYPE "+C.type+" as preload hint #"+U});}},"rendition-report":function(){var R=js(m.attributes);this.manifest.renditionReports=this.manifest.renditionReports||[],this.manifest.renditionReports.push(R);var C=this.manifest.renditionReports.length-1,A=["LAST-MSN","URI"];d&&A.push("LAST-PART"),this.warnOnMissingAttributes_("#EXT-X-RENDITION-REPORT #"+C,m.attributes,A);},"part-inf":function(){this.manifest.partInf=js(m.attributes),this.warnOnMissingAttributes_("#EXT-X-PART-INF",m.attributes,["PART-TARGET"]),this.manifest.partInf.partTarget&&(this.manifest.partTargetDuration=this.manifest.partInf.partTarget),yp.call(this,this.manifest);}}[m.tagType]||u).call(n);},uri:function(){o.uri=m.uri,r.push(o),this.manifest.targetDuration&&!("duration"in o)&&(this.trigger("warn",{message:"defaulting segment duration to the target duration"}),o.duration=this.manifest.targetDuration),l&&(o.key=l),o.timeline=f,a&&(o.map=a),g=0,o={};},comment:function(){},custom:function(){m.segment?(o.custom=o.custom||{},o.custom[m.customType]=m.data):(this.manifest.custom=this.manifest.custom||{},this.manifest.custom[m.customType]=m.data);}})[m.type].call(n);}),i;}var t=e.prototype;return t.warnOnMissingAttributes_=function(n,r,o){var a=[];o.forEach(function(l){r.hasOwnProperty(l)||a.push(l);}),a.length&&this.trigger("warn",{message:n+" lacks required attribute(s): "+a.join(", ")});},t.push=function(n){this.lineStream.push(n);},t.end=function(){this.lineStream.push(` 110`),this.trigger("end");},t.addParser=function(n){this.parseStream.addParser(n);},t.addTagMapper=function(n){this.parseStream.addTagMapper(n);},e;}(Cp);function VT(s){return s.rangeEnd&&s.rangeStart!==void 0?{offset:s.rangeStart,length:s.rangeEnd-s.rangeStart}:void 0;}function Tp(s,e){return s===void 0?e===void 0:e!==void 0&&s.length===e.length&&s.offset===e.offset;}function Fs(s){if(s===void 0)return;let e=s.offset+s.length-1;return`bytes=${s.offset}-${e}`;}var hL={forwardSegmentCount:20,swarmId:void 0,assetsStorage:void 0},fL=class{constructor(s,e={}){this.debug=(0,iL.default)("p2pml:segment-manager"),this.masterPlaylist=null,this.variantPlaylists=new Map(),this.segmentRequest=null,this.playQueue=[],this.onSegmentLoaded=t=>{this.segmentRequest&&this.segmentRequest.segmentUrl===t.url&&Fs(this.segmentRequest.segmentByteRange)===t.range&&(this.segmentRequest.onSuccess(t.data.slice(0),t.downloadBandwidth),this.segmentRequest=null);},this.onSegmentError=(t,i)=>{this.segmentRequest&&this.segmentRequest.segmentUrl===t.url&&Fs(this.segmentRequest.segmentByteRange)===t.range&&(this.segmentRequest.onError(i),this.segmentRequest=null);},this.onSegmentAbort=t=>{this.segmentRequest&&this.segmentRequest.segmentUrl===t.url&&Fs(this.segmentRequest.segmentByteRange)===t.range&&(this.segmentRequest.onError("Loading aborted: internal abort"),this.segmentRequest=null);},this.settings=we(we({},hL),e),this.loader=s,this.loader.on(Nt.SegmentLoaded,this.onSegmentLoaded),this.loader.on(Nt.SegmentError,this.onSegmentError),this.loader.on(Nt.SegmentAbort,this.onSegmentAbort);}getSettings(){return this.settings;}processPlaylist(s,e,t){let i=new cL();i.push(e),i.end();let n=new pL(s,t,i.manifest);if(n.manifest.playlists){this.masterPlaylist=n;for(let[r,o]of this.variantPlaylists){let{streamSwarmId:a,found:l,index:d}=this.getStreamSwarmId(o.requestUrl);l?(o.streamSwarmId=a,o.streamId="V"+d.toString()):this.variantPlaylists.delete(r);}}else{let{streamSwarmId:r,found:o,index:a}=this.getStreamSwarmId(s);(o||this.masterPlaylist===null)&&(n.streamSwarmId=r,n.streamId=this.masterPlaylist===null?void 0:"V"+a.toString(),this.variantPlaylists.set(s,n),this.updateSegments());}}loadPlaylist(s){return Ie(this,null,function*(){let e=this.settings.assetsStorage,t;if(e!==void 0){let i;i=this.getMasterSwarmId(),i===void 0&&(i=s.split("?")[0]);let n=yield e.getAsset(s,void 0,i);n!==void 0?t={responseURL:n.responseUri,response:n.data}:(t=yield this.loadContent(s,"text"),e.storeAsset({masterManifestUri:this.masterPlaylist!==null?this.masterPlaylist.requestUrl:s,masterSwarmId:i,requestUri:s,responseUri:t.responseURL,data:t.response}));}else t=yield this.loadContent(s,"text");return this.processPlaylist(s,t.response,t.responseURL),t;});}loadSegment(s,e){return Ie(this,null,function*(){var o;let t=this.getSegmentLocation(s,e),i=Fs(e);if(!t){let a,l=this.settings.assetsStorage;if(l!==void 0){let d=(o=this.masterPlaylist)==null?void 0:o.requestUrl,u;if(u=this.getMasterSwarmId(),u===void 0&&this.variantPlaylists.size===1){let c=this.variantPlaylists.values().next();c.done||(u=c.value.requestUrl.split("?")[0]);}if(d===void 0&&this.variantPlaylists.size===1){let c=this.variantPlaylists.values().next();c.done||(d=c.value.requestUrl);}if(u!==void 0&&d!==void 0){let c=yield l.getAsset(s,i,u);if(c!==void 0)a=c.data;else{let h=yield this.loadContent(s,"arraybuffer",i);a=h.response,l.storeAsset({masterManifestUri:d,masterSwarmId:u,requestUri:s,requestRange:i,responseUri:h.responseURL,data:a});}}}return a===void 0&&(a=(yield this.loadContent(s,"arraybuffer",i)).response),{content:a,downloadBandwidth:0};}let n=(t.playlist.manifest.mediaSequence?t.playlist.manifest.mediaSequence:0)+t.segmentIndex;this.playQueue.length>0&&this.playQueue[this.playQueue.length-1].segmentSequence!==n-1&&(this.playQueue=[]),this.segmentRequest&&this.segmentRequest.onError("Cancel segment request: simultaneous segment requests are not supported");let r=new Promise((a,l)=>{this.segmentRequest=new mL(s,e,n,t.playlist.requestUrl,(d,u)=>a({content:d,downloadBandwidth:u}),d=>l(d));});return this.playQueue.push({segmentUrl:s,segmentByteRange:e,segmentSequence:n}),this.loadSegments(t.playlist,t.segmentIndex,!0),r;});}setPlayingSegment(s,e,t,i){let n=this.playQueue.findIndex(r=>r.segmentUrl===s&&Tp(r.segmentByteRange,e));this.debug("Set playing segment to index %d",n,this.playQueue),n>=0&&(this.playQueue=this.playQueue.slice(n),this.playQueue[0].playPosition={start:t,duration:i},this.updateSegments());}setPlayingSegmentByCurrentTime(s){if(this.playQueue.length===0||!this.playQueue[0].playPosition)return;let e=this.playQueue[0].playPosition;e.start+e.duration-s<.2&&(this.playQueue=this.playQueue.slice(1),this.updateSegments());}abortSegment(s,e){this.segmentRequest&&this.segmentRequest.segmentUrl===s&&Tp(this.segmentRequest.segmentByteRange,e)&&(this.segmentRequest.onSuccess(void 0,0),this.segmentRequest=null);}abortCurrentSegment(){this.segmentRequest&&(this.segmentRequest.onSuccess(void 0,0),this.segmentRequest=null);}destroy(){return Ie(this,null,function*(){this.segmentRequest&&(this.segmentRequest.onError("Loading aborted: object destroyed"),this.segmentRequest=null),this.masterPlaylist=null,this.variantPlaylists.clear(),this.playQueue=[],this.settings.assetsStorage!==void 0&&(yield this.settings.assetsStorage.destroy()),yield this.loader.destroy();});}updateSegments(){if(!this.segmentRequest)return;let s=this.getSegmentLocation(this.segmentRequest.segmentUrl,this.segmentRequest.segmentByteRange);this.debug("update segments",s),s&&this.loadSegments(s.playlist,s.segmentIndex,!1);}getSegmentLocation(s,e){for(let t of this.variantPlaylists.values()){let i=t.getSegmentIndex(s,e);if(i>=0)return{playlist:t,segmentIndex:i};}}loadSegments(s,e,t){return Ie(this,null,function*(){var d;let i=[],n=s.manifest.segments,r=(d=s.manifest.mediaSequence)!=null?d:0,o=null,a=Math.max(0,this.playQueue.length-1),l=this.getMasterSwarmId();this.debug("load segments",a,e);for(let u=e;u<n.length&&i.length<this.settings.forwardSegmentCount;++u){let c=s.manifest.segments[u],h=s.getSegmentAbsoluteUrl(c.uri),f=c.byterange,p=this.getSegmentId(s,r+u);i.push({id:p,url:h,masterSwarmId:l!==void 0?l:s.streamSwarmId,masterManifestUri:this.masterPlaylist!==null?this.masterPlaylist.requestUrl:s.requestUrl,streamId:s.streamId,sequence:(r+u).toString(),range:Fs(f),priority:a++}),t&&!o&&(o=p);}if(this.loader.load(i,s.streamSwarmId),o){let u=yield this.loader.getSegment(o);u&&this.onSegmentLoaded(u);}});}getSegmentId(s,e){return`${s.streamSwarmId}+${e}`;}getMasterSwarmId(){let s=this.settings.swarmId&&this.settings.swarmId.length!==0?this.settings.swarmId:void 0;return s!==void 0?s:this.masterPlaylist!==null?this.masterPlaylist.requestUrl.split("?")[0]:void 0;}getStreamSwarmId(s){let e=this.getMasterSwarmId();if(this.masterPlaylist&&this.masterPlaylist.manifest.playlists&&e){for(let t=0;t<this.masterPlaylist.manifest.playlists.length;++t)if(new URL(this.masterPlaylist.manifest.playlists[t].uri,this.masterPlaylist.responseUrl).toString()===s)return{streamSwarmId:`${e}+V${t}`,found:!0,index:t};}return{streamSwarmId:e!=null?e:s.split("?")[0],found:!1,index:-1};}loadContent(s,e,t){return Ie(this,null,function*(){return new Promise((i,n)=>{let r=new XMLHttpRequest();r.open("GET",s,!0),r.responseType=e,t&&r.setRequestHeader("Range",t),r.addEventListener("readystatechange",()=>{r.readyState===4&&(r.status>=200&&r.status<300?i(r):n(r.statusText));});let o=this.loader.getSettings().xhrSetup;o&&o(r,s),r.send();});});}},pL=class{constructor(s,e,t){this.requestUrl=s,this.responseUrl=e,this.manifest=t,this.streamSwarmId="";}getSegmentIndex(s,e){for(let t=0;t<this.manifest.segments.length;++t){let i=this.manifest.segments[t],n=this.getSegmentAbsoluteUrl(i.uri);if(s===n&&Tp(i.byterange,e))return t;}return-1;}getSegmentAbsoluteUrl(s){return new URL(s,this.responseUrl).toString();}},mL=class{constructor(s,e,t,i,n,r){this.segmentUrl=s,this.segmentByteRange=e,this.segmentSequence=t,this.playlistRequestUrl=i,this.onSuccess=n,this.onError=r;}},gL=aa(Ep(),1),vL=class Gd{constructor(e){this.segmentManager=e,this.debug=(0,gL.default)("p2pml:hlsjs-loader"),this.stats={loaded:0,total:0,aborted:!1,retry:0,chunkCount:0,bwEstimate:0,loading:{start:0,end:0,first:0},parsing:{start:0,end:0},buffering:{start:0,end:0,first:0}},this.boundOnSegmentAbort=this.onSegmentAbort.bind(this),this.boundOnUpdateSegmentSize=this.onUpdateSegmentSize.bind(this),this.boundOnUpdateLoaded=this.onUpdateLoaded.bind(this),this.boundOnSegmentStartLoad=this.onSegmentStartLoad.bind(this),this.debugId="";}load(e,t,i){return Ie(this,null,function*(){if(this.context=e,this.callbacks=i,Gd.updateStatsToStartLoading(this.stats),this.context.type){this.debug(`Loading playlist ${this.context.url}.`);try{let n=yield this.segmentManager.loadPlaylist(this.context.url);this.debug(`Playlist ${this.context.url} loaded.`),this.successPlaylist(n,this.context,this.callbacks);}catch(n){this.error(n,this.context,this.callbacks);}}else if(this.context.frag){this.loader=this.segmentManager.loader,this.byteRange=VT(this.context),this.debugId=this.byteRange?`${this.context.url} / ${this.byteRange.offset}`:this.context.url,this.debug(`Loading fragment ${this.debugId}.`),this.interval=setInterval(()=>Gd.updateStatsToStartLoading(this.stats),200),this.loader.on(Nt.SegmentAbort,this.boundOnSegmentAbort),this.loader.on(Nt.SegmentSize,this.boundOnUpdateSegmentSize),this.loader.on(Nt.SegmentStartLoad,this.boundOnSegmentStartLoad);try{let n=yield this.segmentManager.loadSegment(this.context.url,this.byteRange),{content:r}=n;r?(this.successSegment(r,this.context,this.callbacks),this.debug(`Loaded fragment ${this.debugId}.`)):(this.cleanup(),this.debug(`Loaded empty fragment ${this.debugId} (aborted?).`));}catch(n){setTimeout(()=>this.error(n,this.context,this.callbacks),0),this.debug(`Error in fragment ${this.debugId} loading.`,n);}}else console.warn("Unknown load request",this.context);});}abort(e,t){if(this.stats.loading.end||this.stats.aborted)return;this.debug(`Aborting by hls.js fragment ${this.debugId} loading.`),this.cleanup(),this.segmentManager.abortSegment(e.url,VT(e)),this.stats.aborted=!0;let i=t==null?void 0:t.onAbort;i&&i(this.stats,e,void 0);}successPlaylist(e,t,i){this.cleanup();let n=performance.now();this.stats.loading.end=n,this.stats.loaded=e.response.length,this.stats.total=e.response.length,i.onSuccess({url:e.responseURL,data:e.response},this.stats,t,void 0);}successSegment(e,t,i){this.cleanup();let n=performance.now();this.stats.loading.end=n,this.stats.loaded=e.byteLength,this.stats.total=e.byteLength,i.onProgress&&i.onProgress(this.stats,t,e,void 0),i.onSuccess({url:t.url,data:e},this.stats,t,void 0);}error(e,t,i){this.cleanup(),i.onError(e,t,void 0,this.stats);}cleanup(){this.interval&&(clearInterval(this.interval),this.interval=void 0),this.loader&&(this.loader.off(Nt.SegmentStartLoad,this.boundOnSegmentStartLoad),this.loader.off(Nt.SegmentSize,this.boundOnUpdateSegmentSize),this.loader.off(Nt.PieceBytesDownloaded,this.boundOnUpdateLoaded),this.loader
110.off(Nt.SegmentAbort,this.boundOnSegmentAbort));}onSegmentAbort(e){var i;if(!this.isSegment(e))return;this.debug(`Aborting by p2p-media-loader fragment ${this.debugId||""}.`),this.stats.aborted=!0;let t=(i=this.callbacks)==null?void 0:i.onAbort;t&&t(this.stats,this.context,void 0),this.cleanup();}onUpdateSegmentSize(e,t){this.isSegment(e)&&(this.stats.total=t);}onUpdateLoaded(e,t,i){this.isSegment(t)&&(this.stats.loaded+=i);}onSegmentStartLoad(e,t){!this.interval||e!=="http"||!this.isSegment(t)||(clearInterval(this.interval),this.interval=void 0,Gd.updateStatsToStartLoading(this.stats),this.loader.on(Nt.PieceBytesDownloaded,this.boundOnUpdateLoaded));}isSegment(e){return e.url===this.context.url&&e.range===Fs(this.byteRange);}static updateStatsToStartLoading(e){if(e.aborted)return;let t=performance.now();e.loading.start=t,e.loading.first=t;}},$T=class extends tL.EventEmitter{constructor(s={}){super(),this.currentLoaders=[],this.loader=new vp(s.loader),this.segmentManager=new fL(this.loader,s.segments),Object.keys(Nt).map(e=>Nt[e]).forEach(e=>this.loader.on(e,(...t)=>this.emit(e,...t)));}static isSupported(){return vp.isSupported();}createLoaderClass(){this.abortCurrentRequest();let s=this;return(()=>{var i;return i=class{constructor(){this.load=(r,o,a)=>Ie(this,null,function*(){r.url.endsWith(".m3u8")!==!0&&s.addLoaderImpl(this),this.context=r,this.callbacks=a,yield this.impl.load(r,o,a);}),this.abort=()=>{this.context&&this.impl.abort(this.context,this.callbacks);},this.destroy=()=>{this.context&&this.impl.abort(this.context),s.removeLoaderImpl(this);},this.getResponseHeader=()=>{},this.impl=new vL(s.segmentManager),this.stats=this.impl.stats;}},i.getEngine=()=>s,i;})();}destroy(){return Ie(this,null,function*(){this.currentLoaders=[],yield this.segmentManager.destroy();});}abortCurrentRequest(){for(let s of this.currentLoaders)s.abort();this.currentLoaders=[];}getSettings(){return{segments:this.segmentManager.getSettings(),loader:this.loader.getSettings()};}getDetails(){return{loader:this.loader.getDetails()};}setPlayingSegment(s,e,t,i){this.segmentManager.setPlayingSegment(s,e,t,i);}setPlayingSegmentByCurrentTime(s){this.segmentManager.setPlayingSegmentByCurrentTime(s);}addLoaderImpl(s){this.currentLoaders.push(s);}removeLoaderImpl(s){this.currentLoaders=this.currentLoaders.filter(e=>e!==s);}},_L=aa(Ep(),1);var BT=(0,_L.default)("p2pml:hlsjs-init");function GT(s,e){e&&e.config&&e.config.loader&&typeof e.config.loader.getEngine=="function"&&yL(s,e,e.config.loader.getEngine());}function yL(s,e,t){let i=function(){BT("Player seeking."),t.abortCurrentRequest();};s.on("seeking",i),e.on("hlsFragChanged",(n,r)=>{BT("HLS Frag changed.",r);let o=r.frag,a=o.byteRange.length!==2?void 0:{offset:o.byteRange[0],length:o.byteRange[1]-o.byteRange[0]};t.setPlayingSegment(o.url,a,o.start,o.duration);}),e.on("hlsError",(n,r)=>{if(r.details==="bufferStalledError"){let o=s.media===void 0?s.el_:s.media;o&&t.setPlayingSegmentByCurrentTime(o.currentTime);}}),e.on("hlsDestroying",()=>Ie(this,null,function*(){try{yield t.destroy(),s.off("seeking",i);}catch(n){console.error(n);}}));}var zT=Ve(hn());var zd=Ve(Ye()),WT=(0,zT.default)("peertube:player:p2p-media-loader"),bL=zd.default.getPlugin("plugin"),wp=class extends bL{constructor(e,t){if(super(e),this.options=t,this.statsP2PBytes={pendingDownload:[],pendingUpload:[],peersWithWebSeed:0,peersP2POnly:0,totalDownload:0,totalUpload:0},this.statsHTTPBytes={pendingDownload:[],totalDownload:0},this.liveEnded=!1,!zd.default.Html5Hlsjs){if(e.canPlayType("application/vnd.apple.mpegurl")){this.fallbackToBuiltInIOS();return;}let i="HLS.js does not seem to be supported. Cannot fallback to built-in HLS";Ne.warn(i);let n={code:MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED,message:i,MEDIA_ERR_ABORTED:MediaError.MEDIA_ERR_ABORTED,MEDIA_ERR_DECODE:MediaError.MEDIA_ERR_DECODE,MEDIA_ERR_NETWORK:MediaError.MEDIA_ERR_NETWORK,MEDIA_ERR_SRC_NOT_SUPPORTED:MediaError.MEDIA_ERR_SRC_NOT_SUPPORTED};e.ready(()=>e.error(n));return;}{let i=(r,{hlsjs:o,engine:a})=>{var l,d;(l=this.p2pEngine)==null||l.removeAllListeners(),(d=this.p2pEngine)==null||d.destroy(),clearInterval(this.networkInfoInterval),this.hlsjs=o,this.p2pEngine=a,WT
110("hls.js initialized, initializing p2p-media-loader plugin",{hlsjs:o,engine:a}),e.ready(()=>this.initializePlugin());};e.on("hlsjs-initialized",i);let n=()=>{WT("hls.js says the live is ended"),this.liveEnded=!0;};e.on("hlsjs-live-ended",n),this.on("dispose",()=>{this.player.off("hlsjs-initialized",i),this.player.off("hlsjs-live-ended",n);});}e.src({type:t.type,src:t.src});}dispose(){var e,t,i,n;(e=this.p2pEngine)==null||e.removeAllListeners(),(t=this.p2pEngine)==null||t.destroy(),(i=this.hlsjs)==null||i.destroy(),(n=this.options.segmentValidator)==null||n.destroy(),clearInterval(this.networkInfoInterval),super.dispose();}getCurrentLevel(){if(this.hlsjs)return this.hlsjs.levels[this.hlsjs.currentLevel];}getLiveLatency(){return Math.round(this.hlsjs.latency);}getLiveLatencyFromEdge(){return Math.round(this.hlsjs.latency-this.hlsjs.targetLatency);}getHLSJS(){return this.hlsjs;}initializePlugin(){GT(this.player,this.hlsjs),this.p2pEngine.on(Nt.SegmentError,(i,n)=>{navigator.onLine===!1||this.liveEnded||(Ne.clientError(`Segment ${i.id} error.`,n),this.options.redundancyUrlManager&&this.options.redundancyUrlManager.removeBySegmentUrl(i.requestUrl));});let e=this.options.redundancyUrlManager?this.options.redundancyUrlManager.countBaseUrls():0;this.statsP2PBytes.peersWithWebSeed=1+e,this.runStats();let t=!0;this.hlsjs.on(Ot.Events.LEVEL_SWITCHED,()=>{let i=this.getCurrentLevel(),n=Math.min((i==null?void 0:i.height)||0,(i==null?void 0:i.width)||0);this.player.trigger("resolution-change",{resolution:n,initResolutionChange:t}),t=!1;}),this.hlsjs.on(Ot.Events.MANIFEST_PARSED,(i,n)=>{if(Array.isArray(n.levels)&&n.levels.length>=1){let r=n.levels[0];this.player.trigger("video-ratio-changed",{ratio:r.width/r.height});}}),this.hlsjs.on(Ot.Events.ERROR,(i,n)=>{n.type===Ot.ErrorTypes.MEDIA_ERROR&&n.details===Ot.ErrorDetails.BUFFER_STALLED_ERROR&&this.player.trigger("buffer-stalled");});}runStats(){this.p2pEngine.on(Nt.PieceBytesDownloaded,(e,t,i)=>{let n=e==="p2p"?this.statsP2PBytes:this.statsHTTPBytes;n.pendingDownload.push(i),n.totalDownload+=i;}),this.p2pEngine.on(Nt.PieceBytesUploaded,(e,t,i)=>{if(e!=="p2p"){Ne.error(`Received upload from unknown method ${e}`);return;}this.statsP2PBytes.pendingUpload.push(i),this.statsP2PBytes.totalUpload+=i;}),this.p2pEngine.on(Nt.PeerConnect,()=>{this.statsP2PBytes.peersWithWebSeed++,this.statsP2PBytes.peersP2POnly++;}),this.p2pEngine.on(Nt.PeerClose,()=>{this.statsP2PBytes.peersWithWebSeed--,this.statsP2PBytes.peersP2POnly--;}),this.networkInfoInterval=setInterval(()=>{let e=this.arraySum(this.statsP2PBytes.pendingDownload),t=this.arraySum(this.statsP2PBytes.pendingUpload),i=this.arraySum(this.statsHTTPBytes.pendingDownload);return this.statsP2PBytes.pendingDownload=[],this.statsP2PBytes.pendingUpload=[],this.statsHTTPBytes.pendingDownload=[],this.player.trigger("network-info",{source:"p2p-media-loader",bandwidthEstimate:this.hlsjs.bandwidthEstimate/8,http:{downloadSpeed:i,downloaded:this.statsHTTPBytes.totalDownload},p2p:this.options.p2pEnabled?{downloadSpeed:e,uploadSpeed:t,peersWithWebSeed:this.statsP2PBytes.peersWithWebSeed,peersP2POnly:this.statsP2PBytes.peersP2POnly,downloaded:this.statsP2PBytes.totalDownload,uploaded:this.statsP2PBytes.totalUpload}:void 0});},1e3);}arraySum(e){return e.reduce((t,i)=>t+i,0);}fallbackToBuiltInIOS(){Ne.info("HLS.js does not seem to be supported. Fallback to built-in HLS."),this.player.src({type:this.options.type,src:xa(this.options.src,{videoFileToken:this.options.videoFileToken(),reinjectVideoFileToken:"true"})}),this.getResolutionButton().hide();}getResolutionButton(){return this.player.controlBar.getDescendant(["settingsButton"]).menu.getChild("resolutionMenuButton");}};zd.default.registerPlugin("p2pMediaLoader",wp);var KT=Ve(hn()),Ap=Ve(Ye()),qT=(0,KT.default)("peertube:player:web-video-plugin"),TL=Ap.default.getPlugin("plugin"),xp=class extends TL{constructor(e,t){super(e,t),this.videoFiles=t.videoFiles,this.videoFileToken=t.videoFileToken;let i=this.pickAverageVideoFile();i&&this.updateVideoFile({videoFile:i,isUserResolutionChange:!1}),this.onLoadedMetadata=()=>{e.trigger("video-ratio-changed",{ratio:this.player.videoWidth()/this.player.videoHeight()});},e.on("loadedmetadata",this.onLoadedMetadata),e.ready(()=>
110{if(this.videoFiles.length===0){this.player.addClass("disabled");return;}this.buildQualities(),this.setupNetworkInfoInterval();});}dispose(){this.networkInfoInterval&&clearInterval(this.networkInfoInterval),this.onLoadedMetadata&&this.player.off("loadedmetadata",this.onLoadedMetadata),this.onErrorHandler&&this.player.off("error",this.onErrorHandler),this.onPlayHandler&&this.player.off("canplay",this.onPlayHandler),super.dispose();}getCurrentResolutionId(){var e;return(e=this.currentVideoFile)==null?void 0:e.resolution.id;}updateVideoFile(e){this.currentVideoFile=e.videoFile,qT("Updating web video file to "+this.currentVideoFile.fileUrl);let t=this.player.paused(),i=this.player.playbackRate(),n=this.player.currentTime();this.onErrorHandler||(this.onErrorHandler=()=>this.player.peertube().displayFatalError(),this.player.one("error",this.onErrorHandler));let r=this.currentVideoFile.fileUrl;this.videoFileToken()&&(r=xa(r,{videoFileToken:this.videoFileToken()}));let o=this.player.autoplay();e.isUserResolutionChange&&(this.player.autoplay(!1),this.player.addClass("vjs-updating-resolution")),this.player.src(r),this.onPlayHandler=()=>{var a;this.player.playbackRate(i),this.player.currentTime(n),this.player.trigger("resolution-change",{resolution:(a=this.currentVideoFile)==null?void 0:a.resolution.id,initResolutionChange:!e.isUserResolutionChange}),e.isUserResolutionChange&&(this.player.trigger("web-video-source-change"),this.tryToPlay().then(()=>{t&&this.player.pause(),this.player.autoplay(o);}));},this.player.one("canplay",this.onPlayHandler);}getCurrentVideoFile(){return this.currentVideoFile;}tryToPlay(){qT("Try to play manually the video");let e=this.player.play();if(e!==void 0)return e.catch(t=>{t.message.includes("The play() request was interrupted by a call to pause()")||(Ne.warn(t),this.player.pause(),this.player.posterImage.show(),this.player.removeClass("vjs-has-autoplay"),this.player.removeClass("vjs-playing-audio-only-content"));}).finally(()=>{this.player.removeClass("vjs-updating-resolution");});}pickAverageVideoFile(){if(!this.videoFiles||this.videoFiles.length===0)return;if(this.videoFiles.length===1)return this.videoFiles[0];let e=this.videoFiles.filter(t=>t.resolution.id!==0);return e[Math.floor(e.length/2)];}buildQualities(){let e=this.videoFiles.map(t=>{var i;return{id:t.resolution.id,label:this.player.localize(Ra(t.resolution.label,t.fps)),height:t.resolution.id,selected:t.id===((i=this.currentVideoFile)==null?void 0:i.id),selectCallback:()=>this.updateVideoFile({videoFile:t,isUserResolutionChange:!0})};});this.player.peertubeResolutions().add(e);}setupNetworkInfoInterval(){this.networkInfoInterval=setInterval(()=>{var e;return this.player.trigger("network-info",{source:"web-video",http:{downloaded:this.player.bufferedPercent()*((e=this.currentVideoFile)==null?void 0:e.size)}});},1e3);}};Ap.default.registerPlugin("webVideo",xp);var Ln=Ve(Ye());var qd=class{constructor(e){this.options=e;}getChildrenOptions(){return Le(we(we(we(Le(we(we(we(Le(we({},this.getPreviousVideo()),{playToggle:{}}),this.getNextVideo()),this.getTimeControls()),this.getProgressControl()),{p2PInfoButton:{},muteToggle:{},volumeControl:{},captionToggleButton:{}}),this.getSettingsButton()),this.getPeerTubeLinkButton()),this.getTheaterButton()),{fullscreenToggle:{}});}getSettingsButton(){let e=[];return e.push("playbackRateMenuButton"),e.push("captionsButton"),e.push("resolutionMenuButton"),{settingsButton:{setup:{maxHeightOffset:60},entries:e}};}getTimeControls(){return{peerTubeLiveDisplay:{},currentTimeDisplay:{},timeDivider:{},durationDisplay:{}};}getProgressControl(){return{progressControl:{children:{seekBar:{children:{loadProgressBar:{},mouseTimeDisplay:{},playProgressBar:{}}}}}};}getPreviousVideo(){return{previousVideoButton:{type:"previous",handler:()=>this.options.previousVideo().handler(),isDisabled:()=>!this.options.previousVideo().enabled,isDisplayed:()=>this.options.previousVideo().displayControlBarButton}};}getNextVideo(){return{nextVideoButton:{type:"next",handler:()=>this.options.nextVideo().handler(),isDisabled:()=>!this.options.nextVideo().enabled,isDisplayed:()=>this.options.nextVideo().displayControlBarButton}};}getPeerTubeLinkButton(){return{peerTubeLinkButton:{isDisplayed:this.options.peertubeLink,shortUUID:this.options.videoShortUUID,instanceName:this.options.instanceName}};}getTheaterButton(){return{theaterButton:{isDisplayed:()=>this.options.theaterButton}};}};var Kd=class{constructor(e=[]){this.baseUrls=e;}removeBySegmentUrl(e){let t=SL(e),i=t.length;this.baseUrls=this.baseUrls.filter(n=>n!==t&&n!==t+"/"),i!==this.baseUrls.length&&Ne.info(`Removed redundancy of segment URL ${e}.`);}buildUrl(e){let t=this.baseUrls.length+1,i=this.getRandomInt(t);if(i===t-1)return e;let n=this.baseUrls[i],r=n.endsWith("/")?"":"/";return n+r+EL(e);}countBaseUrls(){return this.baseUrls.length;}getRandomInt(e){return Math.floor(Math.random()*Math.floor(e));}};function EL(s){return s.split("/").pop();}function SL(s){let e=s.split("/");return e.pop(),e.join("/");}function YT(s){return function(t){return s?s.buildUrl(t.url):t.url;};}var XT=Ve(hn());var CL=(0,XT.default)("peertube:player:segment-validator"),wL=10,Yd=class{constructor(e){this.options=e;F(this,"bytesRangeRegex",/bytes=(\d+)-(\d+)/);F(this,"destroyed",!1);F(this,"segmentJSONPromise");}validate(e,t,i,n=1){return Ie(this,null,function*(){if(this.destroyed)return;this.loadSha256SegmentsPromiseIfNeeded();let r=gm(e.url).split("/").pop(),o=(yield this.segmentJSONPromise)[r];if(!o&&n>wL)throw new Error(`Unknown segment name ${r} in segment validator`);if(!o){Ne.info(`Refetching sha segments for ${r}`),yield pm(500),this.loadSha256SegmentsPromise(),yield this.validate(e,t,i,n+1);return;}let a,l="";
110if(typeof o=="string")a=o;else{let u=this.bytesRangeRegex.exec(e.range);l=u[1]+"-"+u[2],a=o[l];}if(a===void 0)throw new Error(`Unknown segment name ${r}/${l} in segment validator`);CL(`Validating ${r}`+(e.range?` range ${e.range}`:""));let d=yield this.sha256Hex(e.data);if(d!==a)throw new Error(`Hashes does not correspond for segment ${r}/${l}(expected: ${a} instead of ${d})`);});}destroy(){this.destroyed=!0;}loadSha256SegmentsPromiseIfNeeded(){this.segmentJSONPromise||this.loadSha256SegmentsPromise();}loadSha256SegmentsPromise(){this.segmentJSONPromise=this.fetchSha256Segments();}fetchSha256Segments(){let e={};return jl(this.options.serverUrl,this.options.segmentsSha256Url)&&(this.options.requiresPassword?e={"x-peertube-video-password":this.options.videoPassword()}:this.options.requiresUserAuth&&(e={Authorization:this.options.authorizationHeader()})),fetch(this.options.segmentsSha256Url,{headers:e}).then(t=>t.json()).catch(t=>(Ne.error("Cannot get sha256 segments",t),{}));}sha256Hex(e){return Ie(this,null,function*(){if(!e)return;if(window.crypto.subtle)return window.crypto.subtle.digest("SHA-256",e).then(i=>this.bufferToHex(i));let t=(yield import("./chunk-SYIDGV3L.js")).default;return new t.sha256().update(Buffer.from(e)).digest("hex");});}bufferToHex(e){if(!e)return"";let t="",i="0123456789abcdef";return new Uint8Array(e).forEach(r=>{t+=i[r>>4]+i[r&15];}),t;}};var Xd=class{constructor(e){this.options=e;}getPluginOptions(){return Ie(this,null,function*(){let e=this.options.hls.segmentsSha256Url;e||Ne.info("No segmentsSha256Url found. Disabling P2P & redundancy.");let t=e?new Kd(this.options.hls.redundancyBaseUrls):null,i=e?new Yd({segmentsSha256Url:e,authorizationHeader:this.options.authorizationHeader,requiresUserAuth:this.options.requiresUserAuth,serverUrl:this.options.serverUrl,requiresPassword:this.options.requiresPassword,videoPassword:this.options.videoPassword}):null,n=yield this.options.pluginsManager.runHook("filter:internal.player.p2p-media-loader.options.result",this.getP2PMediaLoaderOptions({redundancyUrlManager:t,segmentValidator:i})),r=()=>new $T(n).createLoaderClass(),o={requiresUserAuth:this.options.requiresUserAuth,videoFileToken:this.options.videoFileToken,p2pEnabled:e&&this.options.p2pEnabled,redundancyUrlManager:t,type:"application/x-mpegURL",src:this.options.hls.playlistUrl,segmentValidator:i},a={hlsjsConfig:this.getHLSJSOptions(r),levelLabelHandler:(l,d)=>{var f,p,g;let u=Math.min(l.height||0,l.width||0),c=this.options.hls.videoFiles.find(m=>m.resolution.id===u),h=ym({resolution:u,height:(f=c==null?void 0:c.height)!=null?f:l.height,width:(p=c==null?void 0:c.width)!=null?p:l.width});return d.localize(Ra(h,(g=c==null?void 0:c.fps)!=null?g:l.frameRate));}};return{p2pMediaLoader:o,hlsjs:a};});}getP2PMediaLoaderOptions(e){var a,l;let{redundancyUrlManager:t,segmentValidator:i}=e,n=!1;(((a=navigator==null?void 0:navigator.connection)==null?void 0:a.type)==="cellular"||Hn.getItem("peertube-videojs-p2p-consume-only")==="true")&&(Ne.info("We are on a cellular connection: disabling seeding."),n=!0);let r=this.options.hls.trackerAnnounce.filter(d=>d.startsWith("ws")),o=this.options.isLive?this.getP2PMediaLoaderLiveOptions():this.getP2PMediaLoaderVODOptions();return{loader:we({trackerAnnounce:r,rtcConfig:w_(),simultaneousHttpDownloads:1,httpFailedSegmentTimeout:1e3,xhrSetup:(d,u)=>{let{requiresUserAuth:c,requiresPassword:h}=this.options;(c||h)&&jl(this.options.serverUrl,u)&&(h?d.setRequestHeader("x-peertube-video-password",this.options.videoPassword()):d.setRequestHeader("Authorization",this.options.authorizationHeader()));},segmentValidator:i?i.validate.bind(i):null,segmentUrlBuilder:YT(t),useP2P:this.options.p2pEnabled,consumeOnly:n},o),segments:{swarmId:this.options.hls.playlistUrl,forwardSegmentCount:(l=o.p2pDownloadMaxPriority)!=null?l:20}};}getP2PMediaLoaderLiveOptions(){let e={requiredSegmentsPriority:1};switch(this.options.liveOptions.latencyMode){case Xs.SMALL_LATENCY:return Le(we({},e),{useP2P:!1,requiredSegmentsPriority:10});case Xs.HIGH_LATENCY:return e;default:return e;}}getP2PMediaLoaderVODOptions(){return{requiredSegmentsPriority:3,skipSegmentBuilderPriority:1,cachedSegmentExpiration:864e5,cachedSegmentsCount:100,httpDownloadMaxPriority:9,httpDownloadProbability:.06,httpDownloadProbabilitySkipIfNoPeers:!0,p2pDownloadMaxPriority:50};}getHLSJSOptions(e){let t=this.options.isLive?this.getHLSLiveOptions():this.getHLSVODOptions(),i=we({capLevelToPlayerSize:!0,autoStartLoad:!1,loaderBuilder:e},t),n=M_();return n?Le(we({},i),{abrEwmaDefaultEstimate:n*8,backBufferLength:90,startLevel:-1,testBandwidth:!1,debug:!1,enableWorker:!1}):i;}getHLSLiveOptions(){switch(this.options.liveOptions.latencyMode){case Xs.SMALL_LATENCY:return{liveSyncDurationCount:2};case Xs.HIGH_LATENCY:return{liveSyncDurationCount:10};default:return{liveSyncDurationCount:5};}}getHLSVODOptions(){return{liveSyncDurationCount:5};}};var Qd=class{constructor(e){this.options=e;}getPluginOptions(){var e;return{videoFileToken:this.options.videoFileToken,videoFiles:this.options.webVideo.videoFiles.length!==0?this.options.webVideo.videoFiles:((e=this.options.hls)==null?void 0:e.videoFiles)||[]};}};var er=class er{static getServerTranslations(e,t){let i=er.getLocalePath(e,t);return i?fetch(i+"/server.json").then(n=>n.json()).catch(n=>{Ne.error("Cannot get server translations",n);}):Promise.resolve(void 0);}static loadLocaleInVideoJS(e,t,i){let n=er.getLocalePath(e,t);if(!n)return Promise.resolve(void 0);let r;er.videojsLocaleCache[n]?r=Promise.resolve(er.videojsLocaleCache[n]):r=fetch(n+"/player.json").then(a=>a.json()).then(a=>(er.videojsLocaleCache[n]=a,a)).catch(a=>{Ne.error("Cannot get player translations",a);});let o=au(t);return r.then(a=>i.addLanguage(_m(o),a));}static getLocalePath(e,t){let i=au(t);if(!(!vm(i)||Ia(i)))return e+"/client/locales/"+i;}};F(er,"videojsLocaleCache",{});var Jd=er;Ln.default.getComponent("PlaybackRateMenuButton").prototype.controlText_="Speed";var JT=Ln.default.getComponent("CaptionsButton");JT.prototype.controlText_="Subtitles/CC";JT.prototype.label_=" ";var QT=Ln.default.getComponent("PlayProgressBar");QT.prototype.options_.children.includes("timeTooltip")!==!0&&QT.prototype.options_.children.push("timeTooltip");var Zd=class{constructor(e){this.options=e;F(this,"pluginsManager");F(this,"videojsDecodeErrors",0);F(this,"player");F(this,"currentLoadOptions");this.pluginsManager=e.pluginsManager;}unload(){this.player&&(this.disposeDynamicPluginsIfNeeded(),this.player.reset());}load(e){return Ie(this,null,function*(){this.currentLoadOptions=e,this.setPoster(""),this.disposeDynamicPluginsIfNeeded(),yield this.buildPlayerIfNeeded(),this.currentLoadOptions.mode==="p2p-media-loader"?yield this.loadP2PMediaLoader():this.loadWebVideo(),this.loadDynamicPlugins(),this.options.controlBar===!1?this.player.controlBar.hide():this.player.controlBar.show(),this.player.autoplay(this.getAutoPlayValue(this.currentLoadOptions.autoplay)),this.player.autoplay()||this.setPoster(e.poster),this.player.trigger("video-change");});}getPlayer(){return this.player;}
110destroy(){this.player&&this.player.dispose();}setPoster(e){var t;if(!this.player){this.options.playerElement().poster=e;return;}(t=this.player)==null||t.poster(e),this.options.playerElement().poster="";}enable(){this.player&&(this.player.el().style.pointerEvents="auto");}disable(){this.player&&(this.player.isFullscreen()&&this.player.exitFullscreen(),this.player.hasStarted(!1),this.player.removeClass("vjs-has-autoplay"),this.player.bigPlayButton.hide(),this.player.el().style.pointerEvents="none");}setCurrentTime(e){if(this.player.paused()){this.currentLoadOptions.startTime=e,this.player.play();return;}this.player.currentTime(e),this.player.userActive(!0);}loadP2PMediaLoader(){return Ie(this,null,function*(){let e=new Xd(we(we({},wa(this.options,["pluginsManager","serverUrl","authorizationHeader"])),wa(this.currentLoadOptions,["videoPassword","requiresUserAuth","videoFileToken","requiresPassword","isLive","p2pEnabled","liveOptions","hls"]))),{hlsjs:t,p2pMediaLoader:i}=yield e.getPluginOptions();this.player.hlsjs(t),this.player.p2pMediaLoader(i);});}loadWebVideo(){let e=new Qd(wa(this.currentLoadOptions,["videoFileToken","webVideo","hls"]));this.player.webVideo(e.getPluginOptions());}buildPlayerIfNeeded(){return Ie(this,null,function*(){if(this.player)return;yield Jd.loadLocaleInVideoJS(this.options.serverUrl,this.options.language,Ln.default);let e=yield this.pluginsManager.runHook("filter:internal.player.videojs.options.result",this.getVideojsOptions());this.player=(0,Ln.default)(this.options.playerElement(),e),this.player.ready(()=>{isNaN(+this.options.playbackRate)||this.player.playbackRate(+this.options.playbackRate);let t=!1,i=()=>{t||(t=!0,this.currentLoadOptions.mode==="p2p-media-loader"?this.tryToRecoverHLSError(this.player.error()):this.maybeFallbackToWebVideo());};this.player.on("video-change",()=>t=!1),this.player.on("error",()=>i()),this.player.on("network-info",(n,r)=>{r.source!=="p2p-media-loader"||isNaN(r.bandwidthEstimate)||L_(r.bandwidthEstimate);}),this.player.contextMenu(this.getContextMenuOptions()),this.displayNotificationWhenOffline();});});}disposeDynamicPluginsIfNeeded(){this.player&&(this.player.usingPlugin("peertubeMobile")&&this.player.peertubeMobile().dispose(),this.player.usingPlugin("peerTubeHotkeysPlugin")&&this.player.peerTubeHotkeysPlugin().dispose(),this.player.usingPlugin("playlist")&&this.player.playlist().dispose(),this.player.usingPlugin("bezels")&&this.player.bezels().dispose(),this.player.usingPlugin("upnext")&&this.player.upnext().dispose(),this.player.usingPlugin("stats")&&this.player.stats().dispose(),this.player.usingPlugin("storyboard")&&this.player.storyboard().dispose(),this.player.usingPlugin("chapters")&&this.player.chapters().dispose(),this.player.usingPlugin("peertubeDock")&&this.player.peertubeDock().dispose(),this.player.usingPlugin("p2pMediaLoader")&&this.player.p2pMediaLoader().dispose(),this.player.usingPlugin("hlsjs")&&this.player.hlsjs().dispose(),this.player.usingPlugin("webVideo")&&this.player.webVideo().dispose());}loadDynamicPlugins(){ps()&&this.player.peertubeMobile(),this.player.bezels(),this.player.stats({videoUUID:this.currentLoadOptions.videoUUID,videoIsLive:this.currentLoadOptions.isLive,mode:this.currentLoadOptions.mode,p2pEnabled:this.currentLoadOptions.p2pEnabled}),this.options.enableHotkeys===!0&&this.player.peerTubeHotkeysPlugin({isLive:this.currentLoadOptions.isLive}),this.currentLoadOptions.playlist&&this.player.playlist(this.currentLoadOptions.playlist),this.currentLoadOptions.upnext&&this.player.upnext({timeout:this.currentLoadOptions.upnext.timeout,getTitle:()=>this.currentLoadOptions.nextVideo.getVideoTitle(),next:()=>this.currentLoadOptions.nextVideo.handler(),isDisplayed:()=>this.currentLoadOptions.nextVideo.enabled&&this.currentLoadOptions.upnext.isEnabled(),isSuspended:()=>this.currentLoadOptions.upnext.isSuspended(this.player)}),this.currentLoadOptions.storyboard&&this.player.storyboard(this.currentLoadOptions.storyboard),this.currentLoadOptions.videoChapters&&this.player.chapters({chapters:this.currentLoadOptions.videoChapters}),this.currentLoadOptions.dock&&this.player.peertubeDock(this.currentLoadOptions.dock);}tryToRecoverHLSError(e){return Ie(this,null,function*(){if(e.code===MediaError.MEDIA_ERR_DECODE){if(this.videojsDecodeErrors===0&&this.options.errorNotifier(this.player.localize("The video failed to play, will try to fast forward.")),this.videojsDecodeErrors===20){this.maybeFallbackToWebVideo();return;}Ne.info("Fast forwarding HLS to recover from an error.",{err:e,videoShortUUID:this.currentLoadOptions.videoShortUUID,currentTime:this.player.currentTime(),resolution:this.player.videoHeight()}),this.videojsDecodeErrors++,yield this.load(Le(we({},this.currentLoadOptions),{mode:"p2p-media-loader",startTime:this.player.currentTime()+2,autoplay:!0}));}else this.maybeFallbackToWebVideo();});}maybeFallbackToWebVideo(){return Ie(this,null,function*(){if(this.currentLoadOptions.mode==="web-video"){this.player.peertube().displayFatalError();return;}Ne.info("Fallback to web-video."),yield this.load(Le(we({},this.currentLoadOptions),{mode:"web-video",startTime:this.player.currentTime(),autoplay:!0}));});}getVideojsOptions(){let e={preloadTextTracks:!1,nativeTextTracks:!1},t={peertube:{hasAutoplay:()=>this.getAutoPlayValue(this.currentLoadOptions.autoplay),videoViewUrl:()=>this.currentLoadOptions.videoViewUrl,videoViewIntervalMs:this.options.videoViewIntervalMs,authorizationHeader:this.options.authorizationHeader,videoDuration:()=>this.currentLoadOptions.duration,startTime:()=>this.currentLoadOptions.startTime,stopTime:()=>this.currentLoadOptions.stopTime,videoCaptions:()=>this.currentLoadOptions.videoCaptions,isLive:()=>this.currentLoadOptions.isLive,videoUUID:()=>this.currentLoadOptions.videoUUID,subtitle:()=>this.currentLoadOptions.subtitle,videoRatio:()=>this.currentLoadOptions.videoRatio,poster:()=>this.currentLoadOptions.poster,autoPlayerRatio:this.options.autoPlayerRatio},metrics:{mode:()=>this.currentLoadOptions.mode,metricsUrl:()=>this.options.metricsUrl,metricsInterval:()=>this.options.metricsInterval,videoUUID:()=>this.currentLoadOptions.videoUUID}},i=new qd(Le(we({},this.options),{videoShortUUID:()=>this.currentLoadOptions.videoShortUUID,p2pEnabled:()=>this.currentLoadOptions.p2pEnabled,nextVideo:()=>this.currentLoadOptions.nextVideo,previousVideo:()=>this.currentLoadOptions.previousVideo}));return{html5:e,textTrackSettings:!1,controls:this.options.controls!==void 0?this.options.controls:!0,loop:this.options.loop!==void 0?this.options.loop:!1,muted:this.options.muted!==void 0?this.options.muted:void 0,autoplay:this.getAutoPlayValue(this.currentLoadOptions.autoplay),poster:this.currentLoadOptions.poster,inactivityTimeout:this.options.inactivityTimeout,playbackRates:[.5,.75,1,1.25,1.5,1.75,2],plugins:t,controlBar:{children:i.getChildrenOptions()},language:this.options.language&&!Ia(this.options.language)?this.options.language:void 0};}getAutoPlayValue(e){return e!==!0?!1:this.currentLoadOptions.forceAutoplay?"any":"play";}displayNotificationWhenOffline(){let e=document.createElement("div");e.classList.add("vjs-peertube-offline-notification"),e.innerText=this.player.localize("You seem to be offline and the video may not work");let t=!1,i=()=>
110{t&&(this.player.el().removeChild(e),t=!1,Ne.info("The browser is online"));},n=()=>{t||(this.player.el().appendChild(e),t=!0,Ne.info("The browser is offline"));};window.addEventListener("online",i),window.addEventListener("offline",n),this.player.on("dispose",()=>{window.removeEventListener("online",i),window.removeEventListener("offline",n);});}getContextMenuOptions(){return{content:()=>{let t=this,i=this.player,n=t.currentLoadOptions.videoShortUUID,r=i.options_.loop,o=[{icon:"repeat",label:i.localize("Play in loop")+(r?'<span class="vjs-icon-tick-white"></span>':""),listener:function(){i.options_.loop=!r;}},{label:i.localize("Copy the video URL"),listener:function(){Ta(Qs({shortUUID:n}),i.el());}},{label:i.localize("Copy the video URL at the current time"),listener:function(){let a=Qs({shortUUID:n});Ta(Aa({url:a,startTime:i.currentTime()}),i.el());}},{icon:"code",label:i.localize("Copy embed code"),listener:()=>{Ta(Om({embedUrl:t.currentLoadOptions.embedUrl,embedTitle:t.currentLoadOptions.embedTitle}),i.el());}}];return o.push({icon:"info",label:i.localize("Stats for nerds"),listener:()=>{i.stats().show();}}),o.map(a=>Le(we({},a),{label:`<span class="vjs-icon-${a.icon||"link-2"}"></span>`+a.label}));}};}};var Vs=class Vs{};F(Vs,"\u0275fac",function(t){return new(t||Vs)();}),F(Vs,"\u0275cmp",pt({type:Vs,selectors:[["my-player-styles"]],standalone:!0,features:[mt],decls:0,vars:0,template:function(t,i){},styles:[`.vjs-modal-dialog .vjs-modal-dialog-content,.video-js .vjs-modal-dialog,.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-button>.vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{text-align:center}@font-face{font-family:VideoJS;src:url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAABDkAAsAAAAAG6gAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADsAAABUIIslek9TLzIAAAFEAAAAPgAAAFZRiV3hY21hcAAAAYQAAADaAAADPv749/pnbHlmAAACYAAAC3AAABHQZg6OcWhlYWQAAA3QAAAAKwAAADYZw251aGhlYQAADfwAAAAdAAAAJA+RCLFobXR4AAAOHAAAABMAAACM744AAGxvY2EAAA4wAAAASAAAAEhF6kqubWF4cAAADngAAAAfAAAAIAE0AIFuYW1lAAAOmAAAASUAAAIK1cf1oHBvc3QAAA/AAAABJAAAAdPExYuNeJxjYGRgYOBiMGCwY2BycfMJYeDLSSzJY5BiYGGAAJA8MpsxJzM9kYEDxgPKsYBpDiBmg4gCACY7BUgAeJxjYGS7wTiBgZWBgaWQ5RkDA8MvCM0cwxDOeI6BgYmBlZkBKwhIc01hcPjI+FGJHcRdyA4RZgQRADK3CxEAAHic7dFZbsMgAEXRS0ycyZnnOeG7y+qC8pU1dHusIOXxuoxaOlwZYWQB0Aea4quIEN4E9LzKbKjzDeM6H/mua6Lmc/p8yhg0lvdYx15ZG8uOLQOGjMp3EzqmzJizYMmKNRu27Nhz4MiJMxeu3Ljz4Ekqm7T8P52G8PP3lnTOVk++Z6iN6QZzNN1F7ptuN7eGOjDUoaGODHVsuvU8MdTO9Hd5aqgzQ50b6sJQl4a6MtS1oW4MdWuoO0PdG+rBUI+GejLUs6FeDPVqqDdDvRvqw1CfhpqM9At0iFLaAAB4nJ1YDXBTVRZ+5/22TUlJ8we0pHlJm7RJf5O8F2j6EymlSPkpxaL8U2xpa3DKj0CBhc2IW4eWKSokIoLsuMqssM64f+jA4HSdWXXXscBq67IOs3FXZ1ZYWVyRFdo899yXtIBQZ90k7717zz3v3HPPOfd854YCCj9cL9dL0RQFOqCbGJnrHb5EayiKIWN8iA/hWBblo6hUWm8TtCDwE80WMJus/irwyxOdxeB0MDb14VNJHnXYoLLSl6FfCUYO9nYPTA8Epg9090LprfbBbZ2hY0UlJUXHQp3/vtWkS6EBv8+rPMq5u9692f/dNxJNiqwC1xPE9TCUgCsSdQWgE3XQD25lkG4CN2xmTcOXWBOyser6RN6KnGbKSbmQ3+d0OI1m2W8QzLLkI2sykrWAgJJEtA8vGGW/2Q+CmT3n8zS9wZwu2DCvtuZKZN3xkrLh36yCZuUomQSqGpY8t/25VfHVhw8z4ebGBtfLb0ya9PCaDc+8dGTvk2dsh6z7WzvowlXKUSWo9MJ15a3KrEP2loOr2Ojhw6iW6hf2BDdEccQvZGpaAy7YovSwq8kr7HGllxpd71rkS6G0Sf11sl9OvMK1+jwPPODxjUwkOim9CU3ix1wNjXDfmJSEn618Bs6lpWwUpU+8PCqLMY650zjq8VhCIP17NEKTx3eaLL+s5Pi6yJWaWjTHLR1jYzPSV9VF/6Ojdb/1kO3Mk3uhHC0x6gc1BjlKQ+nQFxTYdaJkZ7ySVxLBbhR1dsboNXp1tCYKW2LRaEzpYcIx2BKNxaL0ZaUnSqfFoiNhHKR/GkX6PWUSAaJelQaqZL1EpoHNsajSEyPSoJ9IjhIxTdjHLmwZvhRDOiFTY/YeQnvrVZmiTQtGncECXtFTBZLOVwwMRgoXHAkXzMzPn1nAJJ8jYSbMDaqN2waGLzNhih/bZynUBMpIWSg7VYi7
110DRx2m8ALkIdRCJwI6ArJx2EI8kaDWeTQKeAFk9fjl/1AvwktjQ1P7NjyMGQyfd4vjipX6M/i52D7Cq80kqlcxEcGXRr/FEcgs0u5uGgB4VWuMFfpdn2Re6Hi3PqzmxWKsz6+ae2Pn9hXXw/fqM859UiGC0oKYYILJBqJrsn1Z1E5qOs9rQCiUQRREjm8yJcbHF5cUJufX1vAHlefw0XgUoboS3ETfQlTxBC4SOtuE8VPRJTBSCQSjZCpk7Gqzu+masaZ2y7Zjehho4F3g82BNDkAHpORG4+OCS+f6JTPmtRn/PH1kch6d04sp7AQb25aQ/pqUyXeQ8vrebG8OYQdXOQ+585u0sdW9rqalzRURiJ+9F4MweRFrKUjl1GUYhH1A27WOHw5cTFSFPMo9EeUIGnQTZHIaJ7AHLaOKsOODaNF9jkBjYG2QEsQ2xjMUAx2bBEbeTBWMHwskBjngq56S/yfgkBnWBa4K9sqKtq2t1UI8S9He5XuBRbawAdatrQEAi30Aks2+LM8WeCbalVZkWNylvJ+dqJnzVb+OHlSoKW8nPCP7Rd+CcZ2DdWAGqJ2CBFOphgywFFCFBNtfAbGtNPBCwxvygHeYMZMY9ZboBqwq/pVrsbgN5tkv152ODlbMfiqwGMBgxa4Exz3QhovRIUp6acqZmQzRq0ypDXS2TPLT02YIkQETnOE445oOGxOmXAqUJNNG7XgupMjPq2ua9asrj5yY/yuKteO1Kx0YNJTufrirLe1mZnat7OL6rnUdCWenpW6I8mAnbsY8KWs1PuSovCW9A/Z25PQ24a7cNOqgmTkLmBMgh4THgc4b9k2IVv1/g/F5nGljwPLfOgHAzJzh45V/4+WenTzmMtR5Z7us2Tys909UHqrPY7KbckoxRvRHhmVc3cJGE97uml0R1S0jdULVl7EvZtDFVBF35N9cEdjpgmAiOlFZ+Dtoh93+D3zzHr8RRNZQhnCNMNbcegOvpEwZoL+06cJQ07h+th3fZ/7PVbVC6ngTAV/KoLFuO6+2KFcU651gEb5ugPSIb1D+Xp8V4+k3sEIGnw5mYe4If4k1lFYr6SCzmM2EQ8iWtmwjnBI9kTwe1TlfAmXh7H02by9fW2gsjKwtv0aaURKil4OdV7rDL1MXIFNrhdxohcZXYTnq47WisrKitaObbf5+yvkLi5J6lCNZZ+B6GC38VNBZBDidSS/+mSvh6s+srgC8pyKMvDtt+de3c9fU76ZPfuM8ud4Kv0fyP/LqfepMT/3oZxSqpZaTa1DaQYLY8TFsHYbWYsPoRhRWfL5eSSQbhUGgGC3YLbVMk6PitTFNGpAsNrC6D1VNBKgBHMejaiuRWEWGgsSDBTJjqWIl8kJLlsaLJ2tXDr6xGfT85bM2Q06a46x2HTgvdnV8z5YDy/27J4zt6x2VtkzjoYpkq36kaBr4eQSg7tyiVweWubXZugtadl58ydapfbORfKsDTuZ0OBgx4cfdjCf5tbWNITnL120fdOi1RV1C3uKGzNdwYLcMvZ3BxoPyTOCD1XvXTp7U10gWCVmTV9b3r2z0SkGWovb2hp9I89O8a2smlyaO8muMU+dRmtzp60IzAoFpjLr1n388boLyf0dRvxhsHZ0qbWqDkwqvvpkj4l0fY6EIXRi5sQSrAvsVYwXRy4qJ2EVtD1AN7a0HWth9ymvL1xc3WTUKK/TAHA/bXDVtVWfOMfuGxGZv4Ln/jVr9jc3j1yMv0tndmyt9Vq88Y9gH1wtLX3KWjot5++jWHgAoZZkQ14wGQ20Fli71UmKJAy4xKMSTGbVdybW7FDDAut9XpD5AzWrYO7zQ8qffqF8+Ynd/clrHcdyxGy3a/3+mfNnzC/cBsveTjnTvXf1o6vzOlZw7WtqtdmPK/Errz/6NNtD72zmNOZfbmYdTGHfoofqI79Oc+R2n1lrnL6pOm0Up7kwxhTW12Amm7WYkXR2qYrF2AmgmbAsxZjwy1xpg/m1Je2vrp8v/nz2xpmlBg4E9hrMU341wVpTOh/OfmGvAnra8q6uctr60ZQHV3Q+WMQJykMj8ZsWn2QBOmmHMB+m5pDIpTFonYigiaKAhGEiAHF7EliVnQkjoLVIMPtJpBKHYd3A8GYH9jJzrWwmHx5Qjp7vDAX0suGRym1vtm/9W1/HyR8vczfMs6Sk8DSv855/5dlX9oQq52hT8syyp2rx5Id17IAyAM3wIjQPMOHzytEB64q6D5zT91yNbnx3V/nqnd017S9Y0605k3izoXLpsxde2n38yoOV9s1LcjwzNjbdX6asnBVaBj/6/DwKwPkpcqbDG7BnsXoSqWnUAmottYF6jMSdVyYZh3zVXCjwTiwwHH6sGuRiEHQGzuRX6whZkp123oy1BWE2mEfJ/tvIRtM4ZM5bDXiMsPMaAKOTyc5uL57rqyyc5y5JE5pm1i2S2iUX0CcaQ6lC6Zog7JqSqZmYlosl2K6pwNA84zRnQW6SaALYZQGW5lhCtU/W34N6o+bKfZ8cf3/Cl/+iTX3wBzpOY4mRkeNf3rptycGSshQWgGbYt5jFc2e0+DglIrwl6DVWQ7BuwaJ3Xk1J4VL5urnLl/Wf+gHU/hZoZdKNym6lG+I34FaNeZKcSpJIo2IeCVvpdsDGfKvzJnAwmeD37Ow65ZWwSowpgwX5T69s/rB55dP5BcpgDKFV8p7q2sn/1uc93bVzT/w6UrCqDTWvfCq/oCD/qZXNoUj8BL5Kp6GU017frfNXkAtiiyf/SOCEeLqnd8R/Ql9GlCRfctS6k5chvIBuQ1zCCjoCHL2DHNHIXxMJ3kQeO8lbsUXONeSfA5EjcG6/E+KdhN4bP04vBhdi883+BFBzQbxFbvZzQeY9LNBZc0FNfn5NwfDn6rCTnTw6R8o+gfpf5hCom33cRuiTlss3KHmZjD+BPN+5gXuA2ziS/Q73mLxUkpbKN/eqwz5uK0X9F3h2d1V4nGNgZGBgAOJd776+iue3+crAzc4AAje5Bfcg0xz9YHEOBiYQBQA8FQlFAHicY2BkYGBnAAGOPgaG//85+hkYGVCBMgBGGwNYAAAAeJxjYGBgYB8EmKOPgQEAQ04BfgAAAAAAAA4AaAB+AMwA4AECAUIBbAGYAcICGAJYArQC4AMwA7AD3gQwBJYE3AUkBWYFigYgBmYGtAbqB1gIEghYCG4IhAi2COh4nGNgZGBgUGYoZWBnAAEmIOYCQgaG/2A+AwAYCQG2AHicXZBNaoNAGIZfE5PQCKFQ2lUps2oXBfOzzAESyDKBQJdGR2NQR3QSSE/QE/QEPUUPUHqsvsrXjTMw83zPvPMNCuAWP3DQDAejdm1GjzwS7pMmwi75XngAD4/CQ/oX4TFe4Qt7uMMbOzjuDc0EmXCP/C7cJ38Iu+RP4QEe8CU8pP8WHmOPX2EPz87TPo202ey2OjlnQSXV/6arOjWFmvszMWtd6CqwOlKHq6ovycLaWMWVydXKFFZnmVFlZU46tP7R2nI5ncbi/dDkfDtFBA2DDXbYkhKc+V0Bqs5Zt9JM1HQGBRTm/EezTmZNKtpcAMs9Yu6AK9caF76zoLWIWcfMGOSkVduvSWechqZsz040Ib2PY3urxBJTzriT95lipz+TN1fmAAAAeJxtkMl2wjAMRfOAhABlKm2h80C3+ajgCKKDY6cegP59TYBzukAL+z1Zsq8ctaJTTKPrsUQLbXQQI0EXKXroY4AbDDHCGBNMcYsZ7nCPB8yxwCOe8IwXvOIN7/jAJ76wxHfUqWX+OzgumWAjJMV17i0Ndlr6irLKO+qftdT7i6y4uFSUvCknay+lFYZIZaQcmfH/xIFdYn98bqhra1aKTM/6lWMnyaYirx1rFUQZFBkb2zJUtoXeJCeg0WnLtHeSFc3OtrnozNwqi0TkSpBMDB1nSde5oJXW23hTS2/T0LilglXX7dmFVxLnq5U0vYATHFk3zX3BOisoQHNDFDeZnqKDy9hRNawN7Vh727hFzcJ5c8TILrKZfH7tIPxAFP0BpLeJPA==) format("woff");font-weight:400;font-style:normal}.vjs-icon-play,.video-js .vjs-play-control .vjs-icon-placeholder,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play:before,.video-js .vjs-play-control .vjs-icon-placeholder:before,.video-js .vjs-big-play-button .vjs-icon-placeholder:before{content:"\\f101"}.vjs-icon-play-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-play-circle:before{content:"\\f102"}.vjs-icon-pause,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pause:before,.video-js .vjs-play-control.vjs-playing .vjs-icon-placeholder:before{content:"\\f103"}.vjs-icon-volume-mute,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-mute:before,.video-js .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder:before{content:"\\f104"}.vjs-icon-volume-low,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-low:before,.video-js .vjs-mute-control.vjs-vol-1 .vjs-icon-placeholder:before{content:"\\f105"}.vjs-icon-volume-mid,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-mid:before,.video-js .vjs-mute-control.vjs-vol-2 .vjs-icon-placeholder:before{content:"\\f106"}.vjs-icon-volume-high,.video-js .vjs-mute-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-volume-high:before,.video-js .vjs-mute-control .vjs-icon-placeholder:before{content:"\\f107"}.vjs-icon-fullscreen-enter,.video-js .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-fullscreen-enter:before,.video-js .vjs-fullscreen-control .vjs-icon-placeholder:before{content:"\\f108"}.vjs-icon-fullscreen-exit,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-fullscreen-exit:before,.video-js.vjs-fullscreen .vjs-fullscreen-control .vjs-icon-placeholder:before{content:"\\f109"}.vjs-icon-square{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-square:before{content:"\\f10a"}.vjs-icon-spinner{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-spinner:before{content:"\\f10b"}.vjs-icon-subtitles,.video-js .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-subtitles-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-subtitles:before,.video-js .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-GB) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-IE) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-AU) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js.video-js:lang(en-NZ) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-subtitles-button .vjs-icon-placeholder:before{content:"\\f10c"}.vjs-icon-captions,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder,.video-js .vjs-captions-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-captions:before,.video-js:lang(en) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js:lang(fr-CA) .vjs-subs-caps-button .vjs-icon-placeholder:before,.video-js .vjs-captions-button .vjs-icon-placeholder:before{content:"\\f10d"}.vjs-icon-chapters,.video-js .vjs-chapters-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-chapters:before,.video-js .vjs-chapters-button .vjs-icon-placeholder:before{content:"\\f10e"}
110.vjs-icon-share{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-share:before{content:"\\f10f"}.vjs-icon-cog{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cog:before{content:"\\f110"}.vjs-icon-circle,.vjs-seek-to-live-control .vjs-icon-placeholder,.video-js .vjs-volume-level,.video-js .vjs-play-progress{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle:before,.vjs-seek-to-live-control .vjs-icon-placeholder:before,.video-js .vjs-volume-level:before,.video-js .vjs-play-progress:before{content:"\\f111"}.vjs-icon-circle-outline{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-outline:before{content:"\\f112"}.vjs-icon-circle-inner-circle{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-circle-inner-circle:before{content:"\\f113"}.vjs-icon-hd{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-hd:before{content:"\\f114"}.vjs-icon-cancel,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-cancel:before,.video-js .vjs-control.vjs-close-button .vjs-icon-placeholder:before{content:"\\f115"}.vjs-icon-replay,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-replay:before,.video-js .vjs-play-control.vjs-ended .vjs-icon-placeholder:before{content:"\\f116"}.vjs-icon-facebook{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-facebook:before{content:"\\f117"}.vjs-icon-gplus{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-gplus:before{content:"\\f118"}.vjs-icon-linkedin{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-linkedin:before{content:"\\f119"}.vjs-icon-twitter{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-twitter:before{content:"\\f11a"}.vjs-icon-tumblr{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-tumblr:before{content:"\\f11b"}.vjs-icon-pinterest{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-pinterest:before{content:"\\f11c"}.vjs-icon-audio-description,.video-js .vjs-descriptions-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-audio-description:before,.video-js .vjs-descriptions-button .vjs-icon-placeholder:before{content:"\\f11d"}.vjs-icon-audio,.video-js .vjs-audio-button .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-audio:before,.video-js .vjs-audio-button .vjs-icon-placeholder:before{content:"\\f11e"}.vjs-icon-next-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-next-item:before{content:"\\f11f"}.vjs-icon-previous-item{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-previous-item:before{content:"\\f120"}.vjs-icon-picture-in-picture-enter,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-picture-in-picture-enter:before,.video-js .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:"\\f121"}.vjs-icon-picture-in-picture-exit,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-icon-picture-in-picture-exit:before,.video-js.vjs-picture-in-picture .vjs-picture-in-picture-control .vjs-icon-placeholder:before{content:"\\f122"}.video-js{display:block;vertical-align:top;box-sizing:border-box;color:#fff;background-color:#000;position:relative;padding:0;font-size:10px;line-height:1;font-weight:400;font-style:normal;font-family:Arial,Helvetica,sans-serif;word-break:initial}.video-js:-moz-full-screen{position:absolute}.video-js:-webkit-full-screen{width:100%!important;height:100%!important}.video-js[tabindex="-1"]{outline:none}.video-js *,.video-js *:before,.video-js *:after{box-sizing:inherit}.video-js ul{font-family:inherit;font-size:inherit;line-height:inherit;list-style-position:outside;margin:0}.video-js.vjs-fluid,.video-js.vjs-16-9,.video-js.vjs-4-3,.video-js.vjs-9-16,.video-js.vjs-1-1{width:100%;max-width:100%}.video-js.vjs-fluid:not(.vjs-audio-only-mode),.video-js.vjs-16-9:not(.vjs-audio-only-mode),.video-js.vjs-4-3:not(.vjs-audio-only-mode),.video-js.vjs-9-16:not(.vjs-audio-only-mode),.video-js.vjs-1-1:not(.vjs-audio-only-mode){height:0}.video-js.vjs-16-9:not(.vjs-audio-only-mode){padding-top:56.25%}.video-js.vjs-4-3:not(.vjs-audio-only-mode){padding-top:75%}.video-js.vjs-9-16:not(.vjs-audio-only-mode){padding-top:177.7777777778%}.video-js.vjs-1-1:not(.vjs-audio-only-mode){padding-top:100%}.video-js.vjs-fill:not(.vjs-audio-only-mode){width:100%;height:100%}.video-js .vjs-tech{position:absolute;top:0;left:0;width:100%;height:100%}.video-js.vjs-audio-only-mode .vjs-tech{display:none}body.vjs-full-window{padding:0;margin:0;height:100%}.vjs-full-window .video-js.vjs-fullscreen{position:fixed;overflow:hidden;z-index:1000;left:0;top:0;bottom:0;right:0}.video-js.vjs-fullscreen:not(.vjs-ios-native-fs){width:100%!important;height:100%!important;padding-top:0!important}.video-js.vjs-fullscreen.vjs-user-inactive{cursor:none}.vjs-hidden{display:none!important}.vjs-disabled{opacity:.5;cursor:default}.video-js .vjs-offscreen{height:1px;left:-9999px;position:absolute;top:0;width:1px}.vjs-lock-showing{display:block!important;opacity:1!important;visibility:visible!important}.vjs-no-js{padding:20px;color:#fff;background-color:#000;font-size:18px;font-family:Arial,Helvetica,sans-serif;text-align:center;width:300px;height:150px;margin:0 auto}.vjs-no-js a,.vjs-no-js a:visited{color:#66a8cc}.video-js .vjs-big-play-button{font-size:3em;line-height:1.5em;height:1.63332em;width:3em;display:block;position:absolute;top:10px;left:10px;padding:0;cursor:pointer;opacity:1;border:.06666em solid #fff;background-color:#2b333f;background-color:#2b333fb3;border-radius:.3em;transition:all .4s}.vjs-big-play-centered .vjs-big-play-button{top:50%;left:50%;margin-top:-.81666em;margin-left:-1.5em}.video-js:hover .vjs-big-play-button,.video-js .vjs-big-play-button:focus{border-color:#fff;background-color:#73859f;background-color:#73859f80;transition:all 0s}.vjs-controls-disabled .vjs-big-play-button,.vjs-has-started .vjs-big-play-button,.vjs-using-native-control
110s .vjs-big-play-button,.vjs-error .vjs-big-play-button{display:none}.vjs-has-started.vjs-paused.vjs-show-big-play-button-on-pause .vjs-big-play-button{display:block}.video-js button{background:none;border:none;color:inherit;display:inline-block;font-size:inherit;line-height:inherit;text-transform:none;text-decoration:none;transition:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.vjs-control .vjs-button{width:100%;height:100%}.video-js .vjs-control.vjs-close-button{cursor:pointer;height:3em;position:absolute;right:0;top:.5em;z-index:2}.video-js .vjs-modal-dialog{background:#000c;background:linear-gradient(180deg,#000c,#fff0);overflow:auto}.video-js .vjs-modal-dialog>*{box-sizing:border-box}.vjs-modal-dialog .vjs-modal-dialog-content{font-size:1.2em;line-height:1.5;padding:20px 24px;z-index:1}.vjs-menu-button{cursor:pointer}.vjs-menu-button.vjs-disabled{cursor:default}.vjs-workinghover .vjs-menu-button.vjs-disabled:hover .vjs-menu{display:none}.vjs-menu .vjs-menu-content{display:block;padding:0;margin:0;font-family:Arial,Helvetica,sans-serif;overflow:auto}.vjs-menu .vjs-menu-content>*{box-sizing:border-box}.vjs-scrubbing .vjs-control.vjs-menu-button:hover .vjs-menu{display:none}.vjs-menu li{list-style:none;margin:0;padding:.2em 0;line-height:1.4em;font-size:1.2em;text-align:center;text-transform:lowercase}.vjs-menu li.vjs-menu-item:focus,.vjs-menu li.vjs-menu-item:hover,.js-focus-visible .vjs-menu li.vjs-menu-item:hover{background-color:#73859f;background-color:#73859f80}.vjs-menu li.vjs-selected,.vjs-menu li.vjs-selected:focus,.vjs-menu li.vjs-selected:hover,.js-focus-visible .vjs-menu li.vjs-selected:hover{background-color:#fff;color:#2b333f}.video-js .vjs-menu *:not(.vjs-selected):focus:not(:focus-visible),.js-focus-visible .vjs-menu *:not(.vjs-selected):focus:not(.focus-visible){background:none}.vjs-menu li.vjs-menu-title{text-align:center;text-transform:uppercase;font-size:1em;line-height:2em;padding:0;margin:0 0 .3em;font-weight:700;cursor:default}.vjs-menu-button-popup .vjs-menu{display:none;position:absolute;bottom:0;width:10em;left:-3em;height:0em;margin-bottom:1.5em;border-top-color:#2b333fb3}.vjs-menu-button-popup .vjs-menu .vjs-menu-content{background-color:#2b333f;background-color:#2b333fb3;position:absolute;width:100%;bottom:1.5em;max-height:15em}.vjs-layout-tiny .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:5em}.vjs-layout-small .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:10em}.vjs-layout-medium .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:14em}.vjs-layout-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-x-large .vjs-menu-button-popup .vjs-menu .vjs-menu-content,.vjs-layout-huge .vjs-menu-button-popup .vjs-menu .vjs-menu-content{max-height:25em}.vjs-workinghover .vjs-menu-button-popup.vjs-hover .vjs-menu,.vjs-menu-button-popup .vjs-menu.vjs-lock-showing{display:block}.video-js .vjs-menu-button-inline{transition:all .4s;overflow:hidden}.video-js .vjs-menu-button-inline:before{width:2.222222222em}.video-js .vjs-menu-button-inline:hover,.video-js .vjs-menu-button-inline:focus,.video-js .vjs-menu-button-inline.vjs-slider-active,.video-js.vjs-no-flex .vjs-menu-button-inline{width:12em}.vjs-menu-button-inline .vjs-menu{opacity:0;height:100%;width:auto;position:absolute;left:4em;top:0;padding:0;margin:0;transition:all .4s}.vjs-menu-button-inline:hover .vjs-menu,.vjs-menu-button-inline:focus .vjs-menu,.vjs-menu-button-inline.vjs-slider-active .vjs-menu{display:block;opacity:1}.vjs-no-flex .vjs-menu-button-inline .vjs-menu{display:block;opacity:1;position:relative;width:auto}.vjs-no-flex .vjs-menu-button-inline:hover .vjs-menu,.vjs-no-flex .vjs-menu-button-inline:focus .vjs-menu,.vjs-no-flex .vjs-menu-button-inline.vjs-slider-active .vjs-menu{width:auto}.vjs-menu-button-inline .vjs-menu-content{width:auto;height:100%;margin:0;overflow:hidden}.video-js .vjs-control-bar{display:none;width:100%;position:absolute;bottom:0;left:0;right:0;height:3em;background-color:#2b333f;background-color:#2b333fb3}.vjs-has-started .vjs-control-bar,.vjs-audio-only-mode .vjs-control-bar{display:flex;visibility:visible;opacity:1;transition:visibility .1s,opacity .1s}.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{visibility:visible;opacity:0;pointer-events:none;transition:visibility 1s,opacity 1s}.vjs-controls-disabled .vjs-control-bar,.vjs-using-native-control
110s .vjs-control-bar,.vjs-error .vjs-control-bar{display:none!important}.vjs-audio.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar,.vjs-audio-only-mode.vjs-has-started.vjs-user-inactive.vjs-playing .vjs-control-bar{opacity:1;visibility:visible;pointer-events:auto}.vjs-has-started.vjs-no-flex .vjs-control-bar{display:table}.video-js .vjs-control{position:relative;text-align:center;margin:0;padding:0;height:100%;width:4em;flex:none}.video-js .vjs-control.vjs-visible-text{width:auto;padding-left:1em;padding-right:1em}.vjs-button>.vjs-icon-placeholder:before{font-size:1.8em;line-height:1.67}.vjs-button>.vjs-icon-placeholder{display:block}.video-js .vjs-control:focus:before,.video-js .vjs-control:hover:before,.video-js .vjs-control:focus{text-shadow:0em 0em 1em white}.video-js *:not(.vjs-visible-text)>.vjs-control-text{border:0;clip:rect(0 0 0 0);height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.vjs-no-flex .vjs-control{display:table-cell;vertical-align:middle}.video-js .vjs-custom-control-spacer{display:none}.video-js .vjs-progress-control{cursor:pointer;flex:auto;display:flex;align-items:center;min-width:4em;touch-action:none}.video-js .vjs-progress-control.disabled{cursor:default}.vjs-live .vjs-progress-control{display:none}.vjs-liveui .vjs-progress-control{display:flex;align-items:center}.vjs-no-flex .vjs-progress-control{width:auto}.video-js .vjs-progress-holder{flex:auto;transition:all .2s;height:.3em}.video-js .vjs-progress-control .vjs-progress-holder{margin:0 10px}.video-js .vjs-progress-control:hover .vjs-progress-holder{font-size:1.6666666667em}.video-js .vjs-progress-control:hover .vjs-progress-holder.disabled{font-size:1em}.video-js .vjs-progress-holder .vjs-play-progress,.video-js .vjs-progress-holder .vjs-load-progress,.video-js .vjs-progress-holder .vjs-load-progress div{position:absolute;display:block;height:100%;margin:0;padding:0;width:0}.video-js .vjs-play-progress{background-color:#fff}.video-js .vjs-play-progress:before{font-size:.9em;position:absolute;right:-.5em;top:-.3333333333em;z-index:1}.video-js .vjs-load-progress{background:#73859f80}.video-js .vjs-load-progress div{background:#73859fbf}.video-js .vjs-time-tooltip{background-color:#fff;background-color:#fffc;border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-progress-holder:focus .vjs-time-tooltip{display:none}.video-js .vjs-progress-control:hover .vjs-time-tooltip,.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-time-tooltip{display:block;font-size:.6em;visibility:visible}.video-js .vjs-progress-control.disabled:hover .vjs-time-tooltip{font-size:1em}.video-js .vjs-progress-control .vjs-mouse-display{display:none;position:absolute;width:1px;height:100%;background-color:#000;z-index:1}.vjs-no-flex .vjs-progress-control .vjs-mouse-display{z-index:0}.video-js .vjs-progress-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-progress-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.video-js.vjs-user-inactive.vjs-no-flex .vjs-progress-control .vjs-mouse-display{display:none}.vjs-mouse-display .vjs-time-tooltip{color:#fff;background-color:#000;background-color:#000c}.video-js .vjs-slider{position:relative;cursor:pointer;padding:0;margin:0 .45em;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:#73859f;background-color:#73859f80}.video-js .vjs-slider.disabled{cursor:default}.video-js .vjs-slider:focus{text-shadow:0em 0em 1em white;box-shadow:0 0 1em #fff}.video-js .vjs-mute-control{cursor:pointer;flex:none}.video-js .vjs-volume-control{cursor:pointer;margin-right:1em;display:flex}.video-js .vjs-volume-control.vjs-volume-horizontal{width:5em}.video-js .vjs-volume-panel .vjs-volume-control{visibility:visible;opacity:0;width:1px;height:1px;margin-left:-1px}.video-js .vjs-volume-panel{transition:width 1s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control,.video-js .vjs-volume-panel:active .vjs-volume-control,.video-js .vjs-volume-panel:focus .vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control:active,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active{visibility:visible;opacity:1;position:relative;transition:visibility .1s,opacity .1s,height .1s,width .1s,left 0s,top 0s}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-horizontal,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-horizontal,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-horizontal{width:5em;height:3em;margin-right:0}.video-js .vjs-volume-panel.vjs-hover .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:active .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel:focus .vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control:active.vjs-volume-vertical,.video-js .vjs-volume-panel.vjs-hover .vjs-mute-control~.vjs-volume-control.vjs-volume-vertical,.video-js .vjs-volume-panel .vjs-volume-control.vjs-slider-active.vjs-volume-vertical{left
110:-3.5em;transition:left 0s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active{width:10em;transition:width .1s}.video-js .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-mute-toggle-only{width:4em}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{height:8em;width:3em;left:-3000em;transition:visibility 1s,opacity 1s,height 1s 1s,width 1s 1s,left 1s 1s,top 1s 1s}.video-js .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{transition:visibility 1s,opacity 1s,height 1s 1s,width 1s,left 1s 1s,top 1s 1s}.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-horizontal{width:5em;height:3em;visibility:visible;opacity:1;position:relative;transition:none}.video-js.vjs-no-flex .vjs-volume-control.vjs-volume-vertical,.video-js.vjs-no-flex .vjs-volume-panel .vjs-volume-control.vjs-volume-vertical{position:absolute;bottom:3em;left:.5em}.video-js .vjs-volume-panel{display:flex}.video-js .vjs-volume-bar{margin:1.35em .45em}.vjs-volume-bar.vjs-slider-horizontal{width:5em;height:.3em}.vjs-volume-bar.vjs-slider-vertical{width:.3em;height:5em;margin:1.35em auto}.video-js .vjs-volume-level{position:absolute;bottom:0;left:0;background-color:#fff}.video-js .vjs-volume-level:before{position:absolute;font-size:.9em;z-index:1}.vjs-slider-vertical .vjs-volume-level{width:.3em}.vjs-slider-vertical .vjs-volume-level:before{top:-.5em;left:-.3em;z-index:1}.vjs-slider-horizontal .vjs-volume-level{height:.3em}.vjs-slider-horizontal .vjs-volume-level:before{top:-.3em;right:-.5em}.video-js .vjs-volume-panel.vjs-volume-panel-vertical{width:4em}.vjs-volume-bar.vjs-slider-vertical .vjs-volume-level{height:100%}.vjs-volume-bar.vjs-slider-horizontal .vjs-volume-level{width:100%}.video-js .vjs-volume-vertical{width:3em;height:8em;bottom:8em;background-color:#2b333f;background-color:#2b333fb3}.video-js .vjs-volume-horizontal .vjs-menu{left:-2em}.video-js .vjs-volume-tooltip{background-color:#fff;background-color:#fffc;border-radius:.3em;color:#000;float:right;font-family:Arial,Helvetica,sans-serif;font-size:1em;padding:6px 8px 8px;pointer-events:none;position:absolute;top:-3.4em;visibility:hidden;z-index:1}.video-js .vjs-volume-control:hover .vjs-volume-tooltip,.video-js .vjs-volume-control:hover .vjs-progress-holder:focus .vjs-volume-tooltip{display:block;font-size:1em;visibility:visible}.video-js .vjs-volume-vertical:hover .vjs-volume-tooltip,.video-js .vjs-volume-vertical:hover .vjs-progress-holder:focus .vjs-volume-tooltip{left:1em;top:-12px}.video-js .vjs-volume-control.disabled:hover .vjs-volume-tooltip{font-size:1em}.video-js .vjs-volume-control .vjs-mouse-display{display:none;position:absolute;width:100%;height:1px;background-color:#000;z-index:1}.video-js .vjs-volume-horizontal .vjs-mouse-display{width:1px;height:100%}.vjs-no-flex .vjs-volume-control .vjs-mouse-display{z-index:0}.video-js .vjs-volume-control:hover .vjs-mouse-display{display:block}.video-js.vjs-user-inactive .vjs-volume-control .vjs-mouse-display{visibility:hidden;opacity:0;transition:visibility 1s,opacity 1s}.video-js.vjs-user-inactive.vjs-no-flex .vjs-volume-control .vjs-mouse-display{display:none}.vjs-mouse-display .vjs-volume-tooltip{color:#fff;background-color:#000;background-color:#000c}.vjs-poster{display:inline-block;vertical-align:middle;background-repeat:no-repeat;background-position:50% 50%;background-size:contain;background-color:#000;cursor:pointer;margin:0;padding:0;position:absolute;top:0;right:0;bottom:0;left:0;height:100%}.vjs-has-started .vjs-poster,.vjs-using-native-controls .vjs-poster{display:none}.vjs-audio.vjs-has-started .vjs-poster,.vjs-has-started.vjs-audio-poster-mode .vjs-poster{display:block}.video-js .vjs-live-control{display:flex;align-items:flex-start;flex:auto;font-size:1em;line-height:3em}.vjs-no-flex .vjs-live-control{display:table-cell;width:auto;text-align:left}.video-js:not(.vjs-live) .vjs-live-control,.video-js.vjs-liveui .vjs-live-control{display:none}.video-js .vjs-seek-to-live-control{align-items:center;cursor:pointer;flex:none;display:inline-flex;height:100%;padding-left:.5em;padding-right:.5em;font-size:1em;line-height:3em;width:auto;min-width:4em}.vjs-no-flex .vjs-seek-to-live-control{display:table-cell;width:auto;text-align:left}.video-js.vjs-live:not(.vjs-liveui) .vjs-seek-to-live-control,.video-js:not(.vjs-live) .vjs-seek-to-live-control{display:none}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge{cursor:auto}.vjs-seek-to-live-control .vjs-icon-placeholder{margin-right:.5em;color:#888}.vjs-seek-to-live-control.vjs-control.vjs-at-live-edge .vjs-icon-placeholder{color:red}.video-js .vjs-time-control{flex:none;font-size:1em;line-height:3em;min-width:2em;width:auto;padding-left:1em;padding-right:1em}.vjs-live .vjs-time-control,.video-js .vjs-current-time,.vjs-no-flex .vjs-current-time,.video-js .vjs-duration,.vjs-no-flex .vjs-duration{dis
110play:none}.vjs-time-divider{display:none;line-height:3em}.vjs-live .vjs-time-divider{display:none}.video-js .vjs-play-control{cursor:pointer}.video-js .vjs-play-control .vjs-icon-placeholder{flex:none}.vjs-text-track-display{position:absolute;bottom:3em;left:0;right:0;top:0;pointer-events:none}.video-js.vjs-controls-disabled .vjs-text-track-display,.video-js.vjs-user-inactive.vjs-playing .vjs-text-track-display{bottom:1em}.video-js .vjs-text-track{font-size:1.4em;text-align:center;margin-bottom:.1em}.vjs-subtitles{color:#fff}.vjs-captions{color:#fc6}.vjs-tt-cue{display:block}video::-webkit-media-text-track-display{transform:translateY(-3em)}.video-js.vjs-controls-disabled video::-webkit-media-text-track-display,.video-js.vjs-user-inactive.vjs-playing video::-webkit-media-text-track-display{transform:translateY(-1.5em)}.video-js .vjs-picture-in-picture-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-picture-in-picture-control{display:none}.video-js .vjs-fullscreen-control{cursor:pointer;flex:none}.video-js.vjs-audio-only-mode .vjs-fullscreen-control{display:none}.vjs-playback-rate>.vjs-menu-button,.vjs-playback-rate .vjs-playback-rate-value{position:absolute;top:0;left:0;width:100%;height:100%}.vjs-playback-rate .vjs-playback-rate-value{pointer-events:none;font-size:1.5em;line-height:2;text-align:center}.vjs-playback-rate .vjs-menu{width:4em;left:0}.vjs-error .vjs-error-display .vjs-modal-dialog-content{font-size:1.4em;text-align:center}.vjs-error .vjs-error-display:before{color:#fff;content:"X";font-family:Arial,Helvetica,sans-serif;font-size:4em;left:0;line-height:1;margin-top:-.5em;position:absolute;text-shadow:.05em .05em .1em #000;text-align:center;top:50%;vertical-align:middle;width:100%}.vjs-loading-spinner{display:none;position:absolute;top:50%;left:50%;margin:-25px 0 0 -25px;opacity:.85;text-align:left;border:6px solid rgba(43,51,63,.7);box-sizing:border-box;background-clip:padding-box;width:50px;height:50px;border-radius:25px;visibility:hidden}.vjs-seeking .vjs-loading-spinner,.vjs-waiting .vjs-loading-spinner{display:block;-webkit-animation:vjs-spinner-show 0s linear .3s forwards;animation:vjs-spinner-show 0s linear .3s forwards}.vjs-loading-spinner:before,.vjs-loading-spinner:after{content:"";position:absolute;margin:-6px;box-sizing:inherit;width:inherit;height:inherit;border-radius:inherit;opacity:1;border:inherit;border-color:transparent;border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:before,.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:after{-webkit-animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite;animation:vjs-spinner-spin 1.1s cubic-bezier(.6,.2,0,.8) infinite,vjs-spinner-fade 1.1s linear infinite}.vjs-seeking .vjs-loading-spinner:before,.vjs-waiting .vjs-loading-spinner:before{border-top-color:#fff}.vjs-seeking .vjs-loading-spinner:after,.vjs-waiting .vjs-loading-spinner:after{border-top-color:#fff;-webkit-animation-delay:.44s;animation-delay:.44s}@keyframes vjs-spinner-show{to{visibility:visible}}@-webkit-keyframes vjs-spinner-show{to{visibility:visible}}@keyframes vjs-spinner-spin{to{transform:rotate(360deg)}}@-webkit-keyframes vjs-spinner-spin{to{-webkit-transform:rotate(360deg)}}@keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}@-webkit-keyframes vjs-spinner-fade{0%{border-top-color:#73859f}20%{border-top-color:#73859f}35%{border-top-color:#fff}60%{border-top-color:#73859f}to{border-top-color:#73859f}}.video-js.vjs-audio-only-mode .vjs-captions-button{display:none}.vjs-chapters-button .vjs-menu ul{width:24em}.video-js.vjs-audio-only-mode .vjs-descriptions-button{display:none}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-subs-caps-button+.vjs-menu .vjs-captions-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:"\\f10d";font-size:1.5em;line-height:inherit}.video-js.vjs-audio-only-mode .vjs-subs-caps-button{display:none}.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder{vertical-align:middle;display:inline-block;margin-bottom:-.1em}.video-js .vjs-audio-button+.vjs-menu .vjs-main-desc-menu-item .vjs-menu-item-text .vjs-icon-placeholder:before{font-family:VideoJS;content:" \\f11d";font-size:1.5em;line-height:inherit}.video-js.vjs-layout-small .vjs-current-time,.video-js.vjs-layout-small .vjs-time-divider,.video-js.vjs-layout-small .vjs-duration,.video-js.vjs-layout-small .vjs-remaining-time,.video-js.vjs-layout-small .vjs-playback-rate,.video-js.vjs-layout-small .vjs-volume-control,.video-js.vjs-layout-x-small .vjs-current-time,.video-js.vjs-layout-x-small .vjs-time-divider,.video-js.vjs-layout-x-small .vjs-duration,.video-js.vjs-layout-x-small .vjs-remaining-time,.video-js.vjs-layout-x-small .vjs-playback-rate,.video-js.vjs-layout-x-small .vjs-volume-control,.video-js.vjs-layout-tiny .vjs-current-time,.video-js.vjs-layout-tiny .vjs-time-divider,.video-js.vjs-layout-tiny .vjs-duration,.video-js.vjs-layout-tiny .vjs-remaining-time,.video-js.vjs-layout-tiny .vjs-playback-rate,.video-js.vjs-layout-tiny .vjs-volume-control{display:none}.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-x-small .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:hover,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-layout-tiny .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-hover{width:auto;width:initial}.video-js.vjs-layout-x-small .vjs-progress-control,.video-js.vjs-layout-tiny .vjs-progress-control{display:none}.video-js.vjs-layout-x-small .vjs-custom-control-spacer{flex:auto;display:block}.video-js.vjs-layout-x-small.vjs-no-flex .vjs-custom-control-spacer{width:auto}.vjs-modal-dialog.vjs-text-track-settings{background-color:#2b333f;background-color:#2b333fbf;color:#fff;height:70%}.vjs-text-track-settings .vjs-modal-dialog-content{display:table}.vjs-text-track-settings .vjs-track-settings-colors,.vjs-text-track-settings .vjs-track-settings-font,.vjs-text-track-settings .vjs-track-settings-controls{display:table-cell}.vjs-text-track-settings .vjs-track-settings-controls{text-align:right;vertical-align:bottom}@supports (display: grid){.vjs-text-track-settings .vjs-modal-dialog-content{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;padding:20px 24px 0}.vjs-track-settings-controls .vjs-default-button{margin-bottom:20px}.vjs-text-track-settings .vjs-track-settings-controls{grid-column:1/-1}.vjs-layout-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-x-small .vjs-text-track-settings .vjs-modal-dialog-content,.vjs-layout-tiny .vjs-text-track-settings .vjs-modal-dialog-content{grid-template-columns:1fr}}.vjs-track-setting>select{margin-right:1em;margin-bottom:.5em}.vjs-text-track-settings fieldset{margin:5px;padding:3px;border:none}
110.vjs-text-track-settings fieldset span{display:inline-block}.vjs-text-track-settings fieldset span>select{max-width:7.3em}.vjs-text-track-settings legend{color:#fff;margin:0 0 5px}.vjs-text-track-settings .vjs-label{position:absolute;clip:rect(1px 1px 1px 1px);clip:rect(1px,1px,1px,1px);display:block;margin:0 0 5px;padding:0;border:0;height:1px;width:1px;overflow:hidden}.vjs-track-settings-controls button:focus,.vjs-track-settings-controls button:active{outline-style:solid;outline-width:medium;background-image:linear-gradient(0deg,#fff 88%,#73859f)}.vjs-track-settings-controls button:hover{color:#2b333fbf}.vjs-track-settings-controls button{background-color:#fff;background-image:linear-gradient(-180deg,#fff 88%,#73859f);color:#2b333f;cursor:pointer;border-radius:2px}.vjs-track-settings-controls .vjs-default-button{margin-right:1em}@media print{.video-js>*:not(.vjs-tech):not(.vjs-poster){visibility:hidden}}.vjs-resize-manager{position:absolute;top:0;left:0;width:100%;height:100%;border:none;z-index:-1000}.js-focus-visible .video-js *:focus:not(.focus-visible){outline:none}.video-js *:focus:not(:focus-visible){outline:none}body{--embedForegroundColor: #fff;--embedBigPlayBackgroundColor: rgba(0, 0, 0, .8)}.video-js.vjs-peertube-skin{font-size:13px;color:var(--embedForegroundColor)}.video-js.vjs-peertube-skin.disabled{cursor:default;pointer-events:none}.video-js.vjs-peertube-skin.disabled .vjs-big-play-button{display:none!important}.video-js.vjs-peertube-skin .vjs-audio-button{display:none}.video-js.vjs-peertube-skin .vjs-big-play-button{outline:0;font-size:6em;border:2px solid #fff;border-radius:100%;left:50%;top:50%;width:1.2em;height:1.2em;line-height:1.2em;margin-top:-.6em;transition:.2s background-color;margin-inline-start:-.6em}.video-js.vjs-peertube-skin .vjs-big-play-button::-moz-focus-inner{border:0;padding:0}.video-js.vjs-peertube-skin .vjs-big-play-button .vjs-icon-placeholder:before{content:"";background-image:url("./media/big-play-button-EKJZWIDB.svg");width:45px;height:45px;top:calc(50% - 22.5px);left:calc(53% - 22.5px)}.video-js.vjs-peertube-skin .vjs-big-play-button:focus-visible,.video-js.vjs-peertube-skin .vjs-big-play-button:hover{background-color:var(--mainColor, #696969)}.video-js.vjs-peertube-skin.vjs-playing-audio-only-content .vjs-poster{display:block;visibility:visible}.video-js.vjs-peertube-skin.vjs-playing-audio-only-content .vjs-control-bar{opacity:1}.video-js.vjs-peertube-skin.vjs-has-autoplay:not(.vjs-has-started) .vjs-poster,.video-js.vjs-peertube-skin.vjs-updating-resolution .vjs-poster{display:none!important}.video-js.vjs-peertube-skin.vjs-has-autoplay .vjs-big-play-button,.video-js.vjs-peertube-skin.vjs-updating-resolution .vjs-big-play-button{display:none!important}.video-js.vjs-peertube-skin .vjs-big-play-button{background-color:var(--embedBigPlayBackgroundColor)}.video-js.vjs-peertube-skin .vjs-settings-dialog,.video-js.vjs-peertube-skin .vjs-control-bar{background-color:#000c}.video-js.vjs-peertube-skin .vjs-poster{outline:0;background-size:cover}.video-js.vjs-peertube-skin.vjs-theater-enabled .vjs-theater-control{width:30px}.video-js.vjs-peertube-skin.vjs-theater-enabled .vjs-theater-control .vjs-icon-placeholder{transform:scale(.8)}.video-js.vjs-peertube-skin.vjs-fullscreen .vjs-theater-control{display:none}.vjs-has-started .vjs-play-control.vjs-playing{animation:remove-pause-button .25s ease}.vjs-has-started .vjs-play-control.vjs-paused{animation:add-play-button .25s ease}@keyframes remove-pause-button{0%{transform:rotate(90deg)}to{transform:rotate(0)}}@keyframes add-play-button{0%{transform:rotate(-90deg)}to{transform:rotate(0)}}.vjs-error-display{display:none}.vjs-custom-error-display{font-family:Source Sans Pro,sans-serif}.vjs-custom-error-display .error-details{margin-top:40px;font-size:80%}.vjs-modal-dialog-content{padding-top:40px!important}.vjs-error:not(.vjs-error-display-enabled) .vjs-custom-error-display{display:none}.vjs-error:not(.vjs-error-display-enabled) .vjs-loading-spinner{display:block}.vjs-error.vjs-error-display-enabled .vjs-custom-error-display{display:block}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-big-play-button{font-size:5em;border-width:3px}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-big-play-button .vjs-icon-placeholder:before{width:32px;height:32px;top:calc(50% - 16px);left:calc(53% - 16px)}.video-js.vjs-peertube-skin.vjs-size-350 .vjs-big-play-button{font-size:3em;border-width:2px}.video-js.vjs-peertube-skin.vjs-size-350 .vjs-big-play-button .vjs-icon-placeholder:before{width:20px;height:20px;
110top:calc(50% - 10px);left:calc(53% - 10px)}.video-js.vjs-peertube-skin .peertube-dock{--avatarSize: 48px;transition:opacity .1s;display:flex;align-items:center;pointer-events:none;position:absolute;top:0;left:0;width:100%;font-size:23px;padding:20px;background:linear-gradient(to bottom,#141414b3 0,#14141400);padding-inline-end:calc(1.5rem + 3vw)}@media (min-width: 1200px){.video-js.vjs-peertube-skin .peertube-dock{padding-inline-end:3.75rem}}.video-js.vjs-peertube-skin .peertube-dock-avatar{border-radius:50%;margin-right:10px;min-width:var(--avatarSize);min-height:var(--avatarSize);max-height:var(--avatarSize)}.video-js.vjs-peertube-skin .peertube-dock-title-description{min-width:0}.video-js.vjs-peertube-skin .peertube-dock-title{font-weight:600;letter-spacing:1px;line-height:normal;min-width:0}.video-js.vjs-peertube-skin .peertube-dock-title,.video-js.vjs-peertube-skin .peertube-dock-description{text-shadow:0 1px 3px rgba(0,0,0,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-js.vjs-peertube-skin .peertube-dock-title+.peertube-dock-description{margin-top:3px}.video-js.vjs-peertube-skin .peertube-dock-description{font-size:11px;line-height:1.5}.video-js.vjs-peertube-skin.vjs-playing.vjs-user-inactive .peertube-dock{opacity:0;transition:opacity 1s}.video-js.vjs-peertube-skin.vjs-size-750 .peertube-dock-avatar{--avatarSize: 40px}.video-js.vjs-peertube-skin.vjs-size-750 .peertube-dock{font-size:16px}.video-js.vjs-peertube-skin.vjs-size-750 .peertube-dock-description{font-size:9px}.video-js.vjs-peertube-skin.vjs-size-570 .peertube-dock-avatar{--avatarSize: 35px}.video-js.vjs-peertube-skin.vjs-size-570 .peertube-dock{font-size:14px}.video-js.vjs-peertube-skin.vjs-size-350 .peertube-dock-avatar{--avatarSize: 30px}.video-js.vjs-peertube-skin.vjs-size-350 .peertube-dock{font-size:13px}.vjs-peertube-skin.has-chapter .vjs-time-tooltip{white-space:pre;line-height:1.5;padding-top:4px;padding-bottom:4px;top:-4.9em}.vjs-chapter-marker{position:absolute;top:-3px;height:9px;width:9px;border-radius:9px;margin-left:-4.5px;background-color:#fff;cursor:pointer;transition:transform 50ms ease-in-out,border-color 50ms ease-in-out;border:2px solid transparent;z-index:2}.vjs-chapter-marker:hover{transform:scale(1.5);border-color:#f2690d}.video-js.vjs-peertube-skin .vjs-control-bar{z-index:100;height:38px;background:linear-gradient(#0003,#0009);box-shadow:0 -15px 40px 10px #0003;text-shadow:0 0 2px rgba(0,0,0,.5);transition:visibility .3s,opacity .3s!important}.video-js.vjs-peertube-skin .vjs-control-bar>button:not(.vjs-hidden):first-child,.video-js.vjs-peertube-skin .vjs-control-bar>button.vjs-hidden+button:not(.vjs-hidden){margin-inline-start:.625rem}.video-js.vjs-peertube-skin .vjs-control-bar>button:last-child{margin-inline-end:.625rem}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-play-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-playback-rate,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-mute-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-resolution-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings{color:var(--embedForegroundColor)!important;opacity:.9;transition:opacity .1s}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control:hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-play-control:hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-playback-rate:hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-mute-control:hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-control:hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-resolution-control:hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control:hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link:hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control:hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control:hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings:hover{opacity:1}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-current-time,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-duration,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube{color:var(--embedForegroundColor);opacity:.9}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control{position:absolute;top:-15px;z-index:100;width:calc(100% - 20px);height:20px;margin-inline-start:.625rem}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control .vjs-slider{margin:0;border-radius:0;background-color:#fff3;height:3px;transition:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control .vjs-slider .vjs-play-progress{background:var(--embedForegroundColor)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control .vjs-slider .vjs-play-progress:before{opacity:0;transition:opacity .1s ease;font-size:15px;z-index:3}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control .vjs-slider .vjs-play-progress .vjs-time-tooltip{display:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control .vjs-slider .vjs-load-progress,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control .vjs-slider .vjs-load-progress div{background:#fff3}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control:hover .vjs-slider,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control .vjs-slider.vjs-sliding{height:5px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control:hover .vjs-slider .vjs-play-progress:before,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control .vjs-slider.vjs-sliding .vjs-play-progress:before{opacity:1}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control:hover .vjs-slider .vjs-chapter-marker,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-progress-control .vjs-slider.vjs-sliding .vjs-chapter-marker{top:-2px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-play-control{cursor:pointer;width:38px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-play-control:focus:not(:focus-visible){outline:none!important}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-play-control .vjs-icon-placeholder:before{font-size:34px;line-height:unset;position:relative;top:-1px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control{line-height:inherit}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control.vjs-current-time{font-size:14px;display:inline-block;padding:0;margin-inline-start:.5em}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control.vjs-current-time .vjs-current-time-display{line-height:37px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control.vjs-current-time .vjs-current-time-display:after{content:"/";margin-inline-start:.125rem;margin-inline-end:.0625rem;margin-top:0;margin-bottom:0}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control.vjs-duration{font-size:14px;display:inline-block;padding:0}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control.vjs-duration .vjs-duration-display{line-height:37px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-time-control.vjs-remaining-time{display:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-pt-live-control{padding:5px 7px;border-radius:3px;height:fit-content;margin:auto 10px;font-weight:700;max-width:fit-content;opacity:1!important;line-height:normal;position:relative;top:-1px;width:auto}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-pt-live-control.synced-with-live-edge{background:#d7281c}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-pt-live-control:not(.synced-with-live-edge){cursor:pointer;background:#80807f}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-live-display{white-space:nowrap}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube{line-height:38px;text-align:end;overflow:hidden;font-size:14px;margin-inline-end:.375rem;margin-inline-start:auto}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .vjs-peertube-displayed{display:block}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .vjs-peertube-hidden{display:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .download-speed-number,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .upload-speed-number,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .peers-number,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .http-fallback{font-weight:600}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .download-speed-text,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .upload-speed-text,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .peers-text,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .http-fallback{margin-inline-end:.9375rem}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .icon{display:inline-block;width:15px;height:15px;background-size:contain;vertical-align:middle;background-repeat:no-repeat;position:relative;top:-1px;margin-inline-end:.125rem}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .icon.icon-download{background-image:url("./media/arrow-down-FPC44VYM.svg")}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube .icon.icon-upload{background-image:url("./media/arrow-up-VYAAR5XL.svg")}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-next-video,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-previous-video{width:34px;
110cursor:pointer}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-next-video.vjs-disabled,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-previous-video.vjs-disabled{cursor:default}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-next-video .icon.icon-next,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-next-video .icon.icon-previous,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-previous-video .icon.icon-next,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-previous-video .icon.icon-previous{mask-image:url("./media/next-PO43PJBZ.svg");-webkit-mask-image:url("./media/next-PO43PJBZ.svg");mask-size:cover;-webkit-mask-size:cover;background-color:#fff;width:14px;height:14px;display:inline-block}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-next-video .icon.icon-previous,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-previous-video .icon.icon-previous{transform:rotate(180deg)}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-mute-control{padding:0;width:26px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-mute-control:focus:not(:focus-visible){outline:none!important}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-mute-control .vjs-icon-placeholder{display:inline-block;width:26px;height:26px;vertical-align:middle;background:url("./media/volume-NEWRURZS.svg") no-repeat;background-size:contain}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-mute-control .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-mute-control.vjs-vol-0 .vjs-icon-placeholder{background:url("./media/volume-mute-CMNT6PT5.svg") no-repeat;background-size:contain}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-control{width:28px;display:flex;align-items:center;margin-inline-start:.3125rem;margin-inline-end:.3125rem;margin-top:0;margin-bottom:0}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-bar{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAcCAQAAACw95UnAAAAMElEQVRIx2NgoBL4n4YKGUYNHkEG4zJg1OCRYDCpBowaPJwMppbLRg0eNXjUYBLEAXWNUA6QNm1lAAAAAElFTkSuQmCC) no-repeat;background-size:26px 16px;height:100%;width:100%;max-width:26px;max-height:16px;margin:0;border-radius:0}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-bar .vjs-volume-level{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACwAAAAcAQAAAAAyhWABAAAAAnRSTlMAAHaTzTgAAAAZSURBVHgBYwAB/g9EUv+JokCqiaT+U4MCAPKPS7WUUOc1AAAAAElFTkSuQmCC) no-repeat;background-size:26px 16px;max-width:26px;height:100%;max-height:16px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-bar .vjs-volume-level:before{content:""}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-bar:focus{text-shadow:none;box-shadow:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel.vjs-volume-panel-horizontal.vjs-slider-active,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel.vjs-volume-panel-horizontal:active,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel.vjs-volume-panel-horizontal:focus,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel.vjs-volume-panel-horizontal:hover{width:6em;transition-property:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel .vjs-mute-control:hover~.vjs-volume-control.vjs-volume-horizontal{width:3em;height:auto}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel .vjs-mute-control:hover~.vjs-volume-control{transition-property:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel .vjs-mute-control{width:2em;z-index:1;padding:0}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-volume-panel .vjs-volume-control{display:inline-block;position:relative;left:5px;opacity:1;width:3em;height:auto}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings{cursor:pointer;width:34px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings:focus:not(:focus-visible){outline:none!important}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings .vjs-icon-placeholder{display:inline-block;height:22px;width:22px;vertical-align:middle;background:url("./media/settings-CSRV23LV.svg") no-repeat;background-size:contain}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-settings .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link{text-decoration:none;line-height:38px;font-weight:600;padding:0 5px;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link:hover,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link:focus,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link:active{text-decoration:none!important}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-peertube-link:focus:not(:focus-visible){outline:none!important}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control{width:38px;cursor:pointer}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control:focus:not(:focus-visible){outline:none!important}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control .vjs-icon-placeholder{transition:transform .2s ease;display:inline-block;width:26px;height:26px;vertical-align:middle;background:url("./media/theater-BAN3PLLC.svg") no-repeat;background-size:contain}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-theater-control .vjs-icon-placeholder:before{content:""}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control{display:none;width:34px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control:hover{opacity:.5}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control.enabled,.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control.enabled:hover{opacity:.9}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control:focus{text-shadow:none}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-caption-toggle-control>.vjs-icon-placeholder:before{font-size:2.3em;line-height:38px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control{width:38px}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control:focus:not(:focus-visible){outline:none!important}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control .vjs-icon-placeholder{display:inline-block;width:26px;height:26px;vertical-align:middle;background:url("./media/fullscreen-JUB5VLOB.svg") no-repeat;background-size:contain}.video-js.vjs-peertube-skin .vjs-control-bar .vjs-fullscreen-control .vjs-icon-placeholder:before{content:""}.vjs-peertube-skin.vjs-has-captions .vjs-caption-toggle-control{display:block!important}.video-js.vjs-peertube-skin.vjs-size-750 .vjs-control-bar .vjs-theater-control{display:none}.video-js.vjs-peertube-skin.vjs-size-750 .vjs-control-bar .vjs-peertube .icon,.video-js.vjs-peertube-skin.vjs-size-750 .vjs-control-bar .vjs-peertube .download-speed-text,.video-js.vjs-peertube-skin.vjs-size-750 .vjs-control-bar .vjs-peertube .upload-speed-text{display:none!important}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar .vjs-volume-control{display:none}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar .vjs-mute-control{margin-inline-start:.3125rem;margin-inline-end:.3125rem;margin-top:0;margin-bottom:0}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar .vjs-peertube{padding:0!important}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar .vjs-peertube .vjs-peertube-displayed{display:none!important}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar .vjs-peertube-link{max-width:100px}.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar.vjs-live .vjs-duration,.video-js.vjs-peertube-skin.vjs-size-570 .vjs-control-bar.vjs-live .vjs-peertube,.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar .vjs-next-video,.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar .vjs-previous-video{display:none!important}.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar .vjs-peertube-link{padding:0!important}.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar>button:first-child{margin-inline-start:.3125rem}.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar>button:last-child{margin-inline-end:.3125rem}.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar .vjs-play-control{width:30px;margin-inline-start:0}.video-js.vjs-peertube-skin.vjs-size-350 .vjs-control-bar.vjs-live .vjs-current-time,.video-js.vjs-peertube-skin.vjs-is-mobile .vjs-mouse-display{display:none!important}.video-js.vjs-peertube-skin.vjs-is-mobile .vjs-storyboard-sprite-placeholder{display:none}.video-js.vjs-peertube-skin.vjs-is-mobile .vjs-progress-control .vjs-sliding .vjs-time-tooltip,.video-js.vjs-peertube-skin.vjs-is-mobile .vjs-progress-control .vjs-sliding .vjs-storyboard-sprite-placeholder{display:block!important;visibility:visible!important}.video-js.vjs-peertube-skin.vjs-is-mobile .vjs-progress-control .vjs-sliding .vjs-time-tooltip{color:#fff;background-color:#000c}.video-js.vjs-peertube-skin.vjs-is-mobile .vjs-control-bar .vjs-progress-control .vjs-slider .vjs-play-progress:before{margin-top:-1px;opacity:1}.vjs-mobile-buttons-overlay{display:none;position:absolute;background-color:#0006;width:100%;height:100%;top:0}.vjs-mobile-buttons-overlay .vjs-user-active:not(.vjs-force-inactive),.vjs-mobile-buttons-overlay .vjs-paused{display:block}.vjs-mobile-buttons-overlay .main-button,.vjs-mobile-buttons-overlay .rewind-button,.vjs-mobile-buttons-overlay .forward-button{width:fit-content;height:fit-content;position:relative;
110top:calc(50% - 10px);transform:translateY(-50%);-webkit-user-select:none;user-select:none}.vjs-mobile-buttons-overlay .main-button,.vjs-mobile-buttons-overlay .rewind-button .icon,.vjs-mobile-buttons-overlay .forward-button .icon{font-family:VideoJS;font-weight:400;font-style:normal}.vjs-mobile-buttons-overlay .main-button{font-size:5em;margin:auto}.vjs-mobile-buttons-overlay .rewind-button,.vjs-mobile-buttons-overlay .forward-button{margin:0 10px;position:absolute;text-align:center}.vjs-mobile-buttons-overlay .rewind-button .icon,.vjs-mobile-buttons-overlay .forward-button .icon{opacity:0;animation:fadeInAndOut .75s linear infinite}.vjs-mobile-buttons-overlay .rewind-button .icon:before,.vjs-mobile-buttons-overlay .forward-button .icon:before{font-size:20px;content:"\\f101";display:inline-block;width:16px}.vjs-mobile-buttons-overlay .forward-button{right:5px}.vjs-mobile-buttons-overlay .forward-button .icon:before{margin-left:-2px}.vjs-mobile-buttons-overlay .forward-button .icon:nth-child(2){animation-delay:.25s}.vjs-mobile-buttons-overlay .forward-button .icon:nth-child(3){animation-delay:.5s}.vjs-mobile-buttons-overlay .rewind-button{left:5px}.vjs-mobile-buttons-overlay .rewind-button .icon:before{margin-right:-2px;transform:scaleX(-1)}.vjs-mobile-buttons-overlay .rewind-button .icon:nth-child(1){animation-delay:.5s}.vjs-mobile-buttons-overlay .rewind-button .icon:nth-child(2){animation-delay:.25s}.vjs-paused .main-button:before{content:"\\f101"}.vjs-playing .main-button:before{content:"\\f103"}.vjs-ended .main-button:before{content:"\\f116"}.vjs-can-play.vjs-has-started.vjs-user-active:not(.vjs-force-inactive) .vjs-mobile-buttons-overlay,.vjs-can-play.vjs-has-started.vjs-paused .vjs-mobile-buttons-overlay{display:block}.vjs-can-play.vjs-has-started.vjs-scrubbing .vjs-mobile-buttons-overlay,.vjs-can-play.vjs-has-started.vjs-mobile-sliding .vjs-mobile-buttons-overlay,.vjs-can-play.vjs-has-started.vjs-seeking .main-button,.vjs-can-play.vjs-has-started.vjs-waiting .main-button,.vjs-can-play.vjs-has-started.vjs-fast-seeking .main-button,.vjs-force-inactive .vjs-control-bar,.vjs-fast-seeking .vjs-control-bar{display:none}@keyframes fadeInAndOut{0%,20%{opacity:0}60%,70%{opacity:1}to{opacity:0}}.video-js .vjs-contextmenu-ui-menu{position:absolute;background-color:#000c;padding:8px 0;border-radius:4px;width:350px;z-index:105}.video-js .vjs-contextmenu-ui-menu .vjs-menu-content{opacity:.9;color:var(--embedForegroundColor);font-size:13px!important;font-weight:600}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item{cursor:pointer;font-size:1em;padding:8px 16px;text-align:start;text-transform:none}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item:hover{background-color:#fff3}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-]{display:inline-flex;position:relative;top:2px;cursor:pointer;width:14px;height:14px;background-color:#fff;-webkit-mask-size:cover;mask-size:cover;margin-inline-end:.8rem!important}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-][class$=-link-2]{mask-image:url("./media/link-2-G4QOVEHI.svg");-webkit-mask-image:url("./media/link-2-G4QOVEHI.svg")}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-][class$=-repeat]{mask-image:url("./media/repeat-H3XHKAWO.svg");-webkit-mask-image:url("./media/repeat-H3XHKAWO.svg")}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-][class$=-code]{mask-image:url("./media/code-GV6TFDL7.svg");-webkit-mask-image:url("./media/code-GV6TFDL7.svg")}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-][class$=-tick-white]{mask-image:url("./media/tick-white-DB6RWDOS.svg");-webkit-mask-image:url("./media/tick-white-DB6RWDOS.svg")}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-][class$=-info]{mask-image:url("./media/info-CFX5LIQK.svg");-webkit-mask-image:url("./media/info-CFX5LIQK.svg")}.video-js .vjs-contextmenu-ui-menu .vjs-menu-item [class^=vjs-icon-][class$=-tick-white]{float:right;margin:0!important}.video-js .vjs-settings-sub-menu-title{width:4em;text-transform:initial}.video-js .vjs-settings-dialog{position:absolute;right:.5em;bottom:4em;color:var(--embedForegroundColor);opacity:.9;margin:0 auto;font-size:13px!important;z-index:100;border-radius:10px;width:auto;overflow:hidden;transition:width .15s ease-out,height .15s ease-out}.video-js .vjs-settings-dialog .vjs-settings-sub-menu-value,.video-js .vjs-settings-dialog .vjs-settings-sub-menu-title{display:table-cell;padding:0 5px;text-transform:capitalize}.video-js .vjs-settings-dialog .vjs-settings-sub-menu-title{text-align:start;font-weight:600}.video-js .vjs-settings-dialog .vjs-settings-sub-menu-value{width:100%;text-align:end}.video-js .vjs-settings-dialog .vjs-settings-sub-menu-value small{font-size:.85em;opacity:.8}.video-js .vjs-settings-dialog .vjs-settings-panel{position:absolute;overflow-y:auto;overflow-x:hidden}@supports (inset-inline-end: 0){.video-js .vjs-settings-dialog .vjs-settings-panel{inset-inline-end:0}}@supports not (inset-inline-end: 0){.video-js .vjs-settings-dialog .vjs-settings-panel{right:0}}.video-js .vjs-settings-dialog .vjs-settings-panel-child{display:flex;align-items:flex-end;white-space:nowrap}.video-js .vjs-settings-dialog .vjs-settings-panel-child:focus,.video-js .vjs-settings-dialog .vjs-settings-panel-child:active{outline:none}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu{flex:1;
110min-width:200px;padding:5px 0}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu,.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu{transition:all .15s ease-out}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-menu-item,.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item{font-size:1em;text-transform:initial}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-menu-item:hover,.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item:hover{cursor:pointer;background-color:#fff3}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-menu-item.disabled,.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.disabled{opacity:.5;cursor:default!important;background-color:inherit!important}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-menu-item{padding:8px 16px}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-settings-sub-menu-value:after{left:0;border-style:solid;border-width:2px 2px 0 0;content:"";display:inline-block;transform:rotate(-45deg);height:9px;width:9px;position:relative;margin-inline-start:.3125rem}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-menu .vjs-settings-sub-menu-value:after{transform:rotate(45deg)}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu{min-width:80px}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item{outline:0;font-weight:600;text-align:end;padding:8px 15px}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-back-button{padding:12px 15px;margin-bottom:5px;border-bottom:1px solid #808080;text-align:start}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-back-button:before{left:.25em;border-style:solid;border-width:2px 2px 0 0;content:"";display:inline-block;transform:rotate(-45deg);height:9px;width:9px;position:relative;margin-inline-end:.625rem}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-back-button:before{transform:rotate(-135deg)}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-selected{background-color:inherit;color:inherit;position:relative}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-selected:focus{background-color:#73859f80}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-selected:before{position:absolute;content:" ";margin-top:1px;background-image:url("./media/tick-white-DB6RWDOS.svg");display:inline-block;background-repeat:no-repeat;background-size:contain;width:15px;height:15px;vertical-align:middle;cursor:pointer}@supports (inset-inline-start: 15px){.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-selected:before{inset-inline-start:15px}}@supports not (inset-inline-start: 15px){.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu-item.vjs-selected:before{left:15px}}.video-js .vjs-settings-dialog .vjs-settings-panel-child>
110.vjs-settings-sub-menu.vjs-captions-button{min-width:200px}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu.vjs-captions-button .vjs-menu-item{text-align:start}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu.vjs-captions-button .vjs-menu-item .vjs-menu-item-text{text-transform:capitalize;margin-inline-start:calc(1.28125rem + .375vw)}@media (min-width: 1200px){.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu.vjs-captions-button .vjs-menu-item .vjs-menu-item-text{margin-inline-start:1.5625rem}}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu.vjs-resolution-button .vjs-menu-item-text{margin-inline-start:calc(1.28125rem + .375vw)}@media (min-width: 1200px){.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu.vjs-resolution-button .vjs-menu-item-text{margin-inline-start:1.5625rem}}.video-js .vjs-settings-dialog .vjs-settings-panel-child>.vjs-settings-sub-menu .vjs-menu{width:inherit}:root[dir=rtl] .vjs-back-button:before{transform:rotate(45deg)!important}.vjs-loading-spinner{left:50%;font-size:10px;text-indent:-9999em;border:.7em solid rgba(255,255,255,.2);border-left-color:#fff;transform:translateZ(0);animation:.3s ease-out 1.1s forwards vjs-spinner-show,spinner 1.4s infinite linear!important;overflow:hidden;visibility:hidden}.vjs-loading-spinner:before{animation:none!important}.vjs-loading-spinner:after{border-radius:50%;width:6em;height:6em;animation:none!important}@keyframes spinner{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes vjs-spinner-show{0%{opacity:0}1%{visibility:visible;opacity:0}to{visibility:visible;opacity:1}}.video-js .vjs-upnext-content{transition:opacity .1s;font-size:1.8em;pointer-events:auto;position:absolute;top:0;bottom:0;background:#0009;width:100%}.video-js .vjs-upnext-top{margin:0 auto 60px;width:100%;position:absolute;bottom:50%}.video-js .vjs-upnext-bottom{margin:52px auto 0;width:100%;position:absolute;top:50%}.video-js .vjs-upnext-suspended,.video-js .vjs-upnext-cancel{display:block;float:none;text-align:center}.video-js .vjs-upnext-suspended{font-size:50%;margin-top:1rem}.video-js .vjs-upnext-headtext{display:block;font-size:14px;text-align:center;padding-bottom:7px}.video-js .vjs-upnext-title{display:block;padding:10px 10px 2px;text-align:center;font-size:22px;font-weight:600;overflow:hidden;white-space:nowrap;word-wrap:normal;text-overflow:ellipsis}.video-js .vjs-upnext-cancel-button{cursor:pointer;display:inline-block;float:none;padding:10px!important;font-size:16px!important;border:0}.video-js .vjs-upnext-cancel-button,.video-js .vjs-upnext-cancel-button:focus{outline:0}.video-js .vjs-upnext-cancel-button:hover{background-color:#ffffff40;border-radius:2px}.video-js.vjs-no-flex .vjs-upnext-content{padding-bottom:1em}.video-js .vjs-upnext-autoplay-icon{transition:stroke-dasharray .1s cubic-bezier(.4,0,1,1);position:absolute;top:50%;left:50%;width:98px;height:98px;margin:-49px 0 0 -49px;cursor:pointer}.video-js.vjs-upnext--showing .vjs-control-bar{z-index:1}@keyframes bezels-fadeout{0%{opacity:1}to{opacity:0;transform:scale(2)}}.vjs-bezel{position:absolute;left:50%;top:50%;width:52px;height:52px;z-index:19;margin-top:-26px;background:#00000080;border-radius:26px;animation:bezels-fadeout .5s linear 1 normal forwards;pointer-events:none;margin-inline-start:calc(-1.2875rem - .45vw)}@media (min-width: 1200px){.vjs-bezel{margin-inline-start:-1.625rem}}.vjs-bezel-icon{width:36px;height:36px;margin:8px}.vjs-bezel-icon svg .vjs-svg-fill{fill:#fff}.vjs-playlist-menu{position:absolute;height:100%;width:350px;background:#000c!important;z-index:101;transition:right .2s;overflow-y:scroll;right:-350px}.vjs-playlist-menu ol{padding:0;margin:0}.vjs-playlist-menu .header{border-bottom:1px solid #e9eff6;padding:20px 10px;display:flex;justify-content:space-between}.vjs-playlist-menu .header .title{font-size:14px;margin-bottom:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vjs-playlist-menu .header .channel{font-size:11px;color:#bfbfbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vjs-playlist-menu .header .cross{mask-image:url("./media/x-XMW7QPWL.svg");-webkit-mask-image:url("./media/x-XMW7QPWL.svg");mask-size:cover;-webkit-mask-size:cover;cursor:pointer;width:20px;height:20px;background-color:#fff}.playlist-menu-displayed .vjs-playlist-menu{right:0;display:block}.playlist-menu-displayed .vjs-playlist-button{display:none}@media screen and (max-width: 350px){.vjs-playlist-menu{width:100%;min-width:unset;display:none}.playlist-menu-displayed .vjs-playlist-menu{display:block}}.vjs-playlist-button{font-size:16px;position:absolute;right:0;top:0;z-index:100;padding:20px;cursor:pointer}.vjs-playlist-icon{mask-image:url("./media/list-YYBD4DMH.svg");-webkit-mask-image:url("./media/list-YYBD4DMH.svg");mask-size:cover;-webkit-mask-size:cover;width:22px;height:22px;background-color:#fff;margin-bottom:3px}.vjs-playing.vjs-user-inactive .vjs-playlist-button{opacity:0;transition:opacity 1s}.vjs-playing.vjs-no-flex.vjs-user-inactive .vjs-playlist-button{display:none}.vjs-playlist-menu-item{display:flex;padding:10px 0;height:60px}.vjs-playlist-menu-item:not(.vjs-disabled){cursor:pointer}.vjs-playlist-menu-item .item-position-block{position:relative;display:flex;align-items:center;justify-content:center;width:30px;flex-shrink:0}
110.vjs-playlist-menu-item .item-unavailable{position:relative;display:flex;align-items:center;justify-content:center}.vjs-playlist-menu-item .item-player{display:none;width:0;height:0;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.5);border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:20px solid rgba(255,255,255,.95)}.vjs-playlist-menu-item.vjs-selected{background-color:#9696964d}.vjs-playlist-menu-item.vjs-selected .item-position{display:none}.vjs-playlist-menu-item.vjs-selected .item-player{display:block}.vjs-playlist-menu-item:hover:not(.vjs-disabled){background-color:#96969633}.vjs-playlist-menu-item img{width:80px;height:40px}.vjs-playlist-menu-item .info-block{margin:0 10px;min-width:1px}.vjs-playlist-menu-item .info-block .title{font-size:13px;margin-bottom:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vjs-playlist-menu-item .info-block .channel,.vjs-playlist-menu-item .info-block .timestamps{font-size:11px;color:#bfbfbf;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vjs-playlist-menu-item .info-block .timestamps{font-size:10px;margin-top:3px}.video-js .vjs-stats-content{transition:opacity .1s;position:absolute;background-color:#0009;padding:5px 0;border-radius:4px;width:420px;min-width:27em;max-width:calc(100vw - 20px);left:10px;top:10px;z-index:64;font-size:12px;line-height:1.2}.video-js .vjs-stats-close{cursor:pointer;position:absolute;right:3px;top:3px;padding:0}.video-js .vjs-stats-list>div>div{display:inline-block;font-weight:600;padding:0 .5em;text-align:end;min-width:11.5em;white-space:nowrap}.vjs-peertube-offline-notification{position:absolute;top:0;left:0;right:0;height:40px;color:#000;background-color:var(--mainColorLightest);text-align:center;z-index:1;display:flex;justify-content:center;align-items:center}.video-js .vjs-progress-holder .vjs-storyboard-sprite-placeholder{display:none}.video-js .vjs-progress-control:hover .vjs-storyboard-sprite-placeholder,.video-js .vjs-progress-control:hover .vjs-progress-holder:focus .vjs-storyboard-sprite-placeholder{display:block;font-size:.6em;visibility:visible}.video-js.vjs-settings-dialog-opened .vjs-storyboard-sprite-placeholder,.video-js.vjs-settings-dialog-opened .vjs-time-tooltip,.video-js.vjs-settings-dialog-opened .vjs-mouse-display{display:none!important} 111`],encapsulation:2}));var eu=Vs;var tE=s=>typeof s.id=="string"&&typeof s.from=="number"&&typeof s.to=="number"&&typeof s.text=="string",tr=s=>!s||/^\s*$/.test(s),si={ID:"ID",TIME_LINE:"TIME_LINE",TEXT:"TEXT",MULTI_LINE_TEXT:"MULTI_LINE_TEXT",FIN_ENTRY:"FIN_
111ENTRY",FINISH:"FINISH"},ZT=s=>{let e=s.split(":"),t,i,n;return e.length===2?[i,n]=e:[t,i,n]=e,parseInt(n.replace(",",""),10)+parseInt(i,10)*60*1e3+(t?parseInt(t,10):0)*60*60*1e3;},xL=()=>({start(s){let e=si.ID,t={tokens:s.split(/\n/),pos:0,result:[],current:{}};for(;e!==si.FINISH;){let i=this[e](t);t=i.params,e=i.next;}return t.result;},[si.ID](s){let{tokens:e,pos:t,current:i}=s;if(e.length<=t)return{next:si.FINISH,params:s};if(tr(e[t]))return{next:si.ID,params:Le(we({},s),{pos:t+1})};let n=e[t].includes("-->");return i.id=n?"":e[t],{next:si.TIME_LINE,params:Le(we({},s),{current:i,tokens:e,pos:n?t:t+1})};},[si.TIME_LINE](s){let{tokens:e,pos:t,current:i}=s,n=e[t],[r,o]=n.split("-->");return i.from=ZT(r),i.to=ZT(o),{next:si.TEXT,params:Le(we({},s),{current:i,pos:t+1})};},[si.TEXT](s){let{tokens:e,pos:t,current:i}=s;return e.length<=t?{next:si.FINISH,params:s}:(i.text=e[t],{next:si.MULTI_LINE_TEXT,params:Le(we({},s),{current:i,pos:t+1})});},[si.MULTI_LINE_TEXT](s){let{tokens:e,pos:t,current:i}=s;return e.length<=t||tr(e[t])?{next:si.FIN_ENTRY,params:s}:(i.text=`${i.text} 112${e[t]}`,{next:si.MULTI_LINE_TEXT,params:Le(we({},s),{current:i,pos:t+1})});},[si.FIN_ENTRY](s){let{pos:e,current:t,result:i}=s;if(tE(t))i.push(t);else throw new Error(`Parsing error current not complete ${JSON.stringify(t)}`);return{next:si.ID,params:Le(we({},s),{current:{},pos:e+1})};},[si.FINISH](s){return{next:si.FINISH,params:s};}}),AL=s=>({entries:xL().start(s)}),Ze={HEADER:"HEADER",ID:"ID",TIME_LINE:"TIME_LINE",ID_OR_NOTE_OR_STYLE_OR_REGION:"ID_OR_NOTE_OR_STYLE_OR_REGION",STYLE:"STYLE",NOTE:"NOTE",REGION:"REGION",LEGACY_HEADER:"LEGACY_HEADER",TEXT:"TEXT",MULTI_LINE_TEXT:"MULTI_LINE_TEXT",FIN_ENTRY:"FIN_
112ENTRY",FINISH:"FINISH"},eE=s=>{let e=s.split(":"),t,i,n;return e.length===2?[i,n]=e:[t,i,n]=e,parseInt(n.replace(".",""),10)+parseInt(i,10)*60*1e3+(t?parseInt(t,10):0)*60*60*1e3;},IL=()=>({start(s){let e=Ze.HEADER,t={tokens:s.split(/\n/),pos:0,result:[],current:{}};for(;e!==Ze.FINISH;){let i=this[e](t);t=i.params,e=i.next;}return t.result;},[Ze.HEADER](s){return{next:Ze.LEGACY_HEADER,params:Le(we({},s),{pos:s.pos+1})};},[Ze.LEGACY_HEADER](s){let{tokens:e,pos:t}=s;return e.length<=t?{next:Ze.FINISH,params:s}:e[t].includes(":")&&!e[t].includes("-->")?{next:Ze.LEGACY_HEADER,params:Le(we({},s),{pos:t+1})}:{next:Ze.ID_OR_NOTE_OR_STYLE_OR_REGION,params:s};},[Ze.ID_OR_NOTE_OR_STYLE_OR_REGION](s){let{tokens:e,pos:t}=s;return e.length<=t?{next:Ze.FINISH,params:s}:tr(e[t])?{next:Ze.ID_OR_NOTE_OR_STYLE_OR_REGION,params:Le(we({},s),{pos:t+1})}:e[t].toUpperCase().includes("NOTE")?{next:Ze.NOTE,params:s}:e[t].toUpperCase().includes("STYLE")?{next:Ze.STYLE,params:s}:e[t].toUpperCase().includes("REGION")?{next:Ze.REGION,params:s}:{next:Ze.ID,params:s};},[Ze.STYLE](s){let{tokens:e,pos:t}=s;return tr(e[t])?{next:Ze.ID_OR_NOTE_OR_STYLE_OR_REGION,params:Le(we({},s),{pos:t+1})}:{next:Ze.STYLE,params:Le(we({},s),{pos:t+1})};},[Ze.NOTE](s){let{tokens:e,pos:t}=s;return tr(e[t])?{next:Ze.ID_OR_NOTE_OR_STYLE_OR_REGION,params:Le(we({},s),{pos:t+1})}:{next:Ze.STYLE,params:Le(we({},s),{pos:t+1})};},[Ze.REGION](s){let{tokens:e,pos:t}=s;return tr(e[t])?{next:Ze.ID_OR_NOTE_OR_STYLE_OR_REGION,params:Le(we({},s),{pos:t+1})}:{next:Ze.REGION,params:Le(we({},s),{pos:t+1})};},[Ze.ID](s){let{tokens:e,pos:t,current:i}=s;if(e.length<=t)return{next:Ze.FINISH,params:s};if(tr(e[t]))return{next:Ze.ID,params:Le(we({},s),{pos:t+1})};let n=e[t].includes("-->");return i.id=n?"":e[t],{next:Ze.TIME_LINE,params:Le(we({},s),{current:i,tokens:e,pos:n?t:t+1})};},[Ze.TIME_LINE](s){let{tokens:e,pos:t,current:i}=s,n=e[t],[r,o]=n.split("-->");return i.from=eE(r),i.to=eE(o),{next:Ze.TEXT,params:Le(we({},s),{current:i,pos:t+1})};},[Ze.TEXT](s){let{tokens:e,pos:t,current:i}=s;return e.length<=t?{next:Ze.FINISH,params:s}:(i.text=e[t],{next:Ze.MULTI_LINE_TEXT,params:Le(we({},s),{current:i,pos:t+1})});},[Ze.MULTI_LINE_TEXT](s){let{tokens:e,pos:t,current:i}=s;return e.length<=t||tr(e[t])?{next:Ze.FIN_ENTRY,params:s}:(i.text=`${i.text} 113${e[t]}`,{next:Ze.MULTI_LINE_TEXT,params:Le(we({},s),{current:i,pos:t+1})});},[Ze.FIN_ENTRY](s){let{pos:e,current:t,result:i}=s;if(tE(t))i.push(t);else throw new Error(`Parsing error current not complete ${JSON.stringify(t)}`);return{next:Ze.ID_OR_NOTE_OR_STYLE_OR_REGION,params:Le(we({},s),{current:{},pos:e+1})};},[Ze.FINISH](s){return{next:Ze.FINISH,params:s};}}),RL=s=>({entries:IL().start(s)}),iE=s=>s.startsWith("WEBVTT")?RL(s):AL(s);var nE=Ve(hn());var kL=["settingsPanel"];function OL(s,e){s&1&&(q(0,"div"),ve(1,3),W());}function LL(s,e){if(s&1){let t=et();q(0,"div",20),Pe("keyup.enter",function(n){let r=ce(t).$implicit,o=ie();return he(o.onSegmentClick(n,r));})("click",function(n){let r=ce(t).$implicit,o=ie();return he(o.onSegmentClick(n,r));}),q(1,"strong",21),De(2),W(),q(3,"span",22),De(4),W()();}if(s&2){let t=e.$implicit,i=ie();J("ngClass",i.getSegmentClasses(t)),z(2),ht(t.startFormatted),z(2),ht(t.text);}}var ML=(0,nE.default)("peertube:watch:VideoTranscriptionComponent"),Bs=class Bs{constructor(e,t){this.notifier=e;this.captionService=t;F(this,"settingsPanel");F(this,"video");F(this,"captions");F(this,"currentTime");F(this,"segmentClicked",new ct());F(this,"closeTranscription",new ct());F(this,"currentCaption");F(this,"segments",[]);F(this,"activeSegment");F(this,"search","");F(this,"currentLanguage");F(this,"languagesOptions",[]);F(this,"isSettingsPanelCollapsed");F(this,"settingsPanelShown");F(this,"segmentsStore",[]);F(this,"searchSubject",new ua());}clickout(e){var t;this.settingsPanelShown&&((t=this.settingsPanel)!=null&&t.nativeElement.contains(e.target)||(this.isSettingsPanelCollapsed=!0));}ngOnInit(){this.searchSubject.asObservable().pipe(Hp(100),$p()).subscribe(e=>this.filterSegments(e));}ngOnChanges(e){if(e.video||e.captions){this.load();return;}e.currentTime&&this.findActiveSegment();}getSegmentClasses(e){return{active:this.activeSegment===e,["segment-"+e.start]:!0};}updateCurrentCaption(){this.currentCaption=this.captions.find(e=>e.language.id===this.currentLanguage),this.parseCurrentCaption();}load(){this.search="",this.segmentsStore=[],this.segments=[],this.activeSegment=void 0,this.currentCaption=void 0,this.isSettingsPanelCollapsed=!0,this.settingsPanelShown=!1,this.languagesOptions=[],!(!this.video||!this.captions||this.captions.length===0)&&(this.currentLanguage=this.captions.some(e=>e.language.id===this.video.language.id)?this.video.language.id:this.captions[0].language.id,this.languagesOptions=this.captions.map(e=>({id:e.language.id,label:e.automaticallyGenerated?""+e.language.label+" (automatically generated)":e.language.label})),this.updateCurrentCaption());}parseCurrentCaption(){this.captionService.getCaptionContent({captionPath:this.currentCaption.captionPath}).subscribe({next:e=>{try{let t=iE(e).entries;this.segmentsStore=t.map(({from:i,to:n,text:r})=>{let o=Math.round(i/1e3),a=Math.round(n/1e3);return{start:o,startFormatted:xm(o),end:a,text:r};}),this.segments=this.segmentsStore;}catch(t){this.notifier.error("Cannot load transcript: "+t.message+"");}},error:e=>this.notifier.error(e.message)});}onSearchChange(e){let t=e.target;this.searchSubject.next(t.value);}
113onSegmentClick(e,t){e.preventDefault(),this.segmentClicked.emit(t.start);}filterSegments(e){this.search=e;let t=e.toLocaleLowerCase();this.segments=this.segmentsStore.filter(i=>i.text.toLocaleLowerCase().includes(t));}findActiveSegment(){let e=this.activeSegment;if(this.activeSegment=void 0,!isNaN(this.currentTime)){for(let t=this.segmentsStore.length-1;t>=0;t--){let i=this.segmentsStore[t];if(i.start<=this.currentTime){this.activeSegment=i;break;}}e!==this.activeSegment&&setTimeout(()=>{let t=document.querySelector(".segment-"+this.activeSegment.start);if(!t)return;let i=document.querySelector(".widget-root");Ma(t,i)||(i.scrollTop=t.offsetTop,ML(`Set transcription segment ${this.activeSegment.start} in viewport`));});}}};F(Bs,"\u0275fac",function(t){return new(t||Bs)(ye(ui),ye(Ua));}),F(Bs,"\u0275cmp",pt({type:Bs,selectors:[["my-video-transcription"]],viewQuery:function(t,i){if(t&1&&$t(kL,5),t&2){let n;Gt(n=Wt())&&(i.settingsPanel=n.first);}},hostBindings:function(t,i){t&1&&Pe("click",function(r){return i.clickout(r);},!1,Yp);},inputs:{video:"video",captions:"captions",currentTime:"currentTime"},outputs:{segmentClicked:"segmentClicked",closeTranscription:"closeTranscription"},standalone:!0,features:[Xt,mt],decls:22,vars:6,consts:()=>{let e;e="Settings";let t;t="Close transcription widget";let i;i="Search transcript";let n;n="Jump to this segment";let r;r="Transcription";let o;o="Language";let a;return a="No results for your search",[["settingsPanel","","settingsPanelCollapse","ngbCollapse"],r,o,a,[1,"widget-root"],[1,"widget-header","d-flex","justify-content-between"],[1,"widget-title"],["title",e,"aria-controls","video-transcription-settings-panel",1,"border-0","p-0","me-3","settings-button",3,"click"],["iconName","filter"],["title",t,1,"border-0","p-0",3,"click"],["iconName","cross"],[1,"widget-content"],[1,"widget-content-padded"],["id","video-transcription-settings-panel",1,"settings-panel",3,"shown","hidden","ngbCollapse"],[1,"card"],[1,"card-body"],["for","transcription-language"],["labelForId","transcription-language","clearable","false",3,"ngModelChange","items","ngModel"],["type","text","name","search-transcript","placeholder",i,1,"mb-3",3,"input"],["role","button","tabindex","0","class","segment widget-content-padded pt-1 pb-1","title",n,3,"ngClass","keyup.enter","click",4,"ngFor","ngForOf"],["role","button","tabindex","0","title",n,1,"segment","widget-content-padded","pt-1","pb-1",3,"keyup.enter","click","ngClass"],[1,"segment-start","me-2"],[1,"segment-text","fs-7"]];},template:function(t,i){if(t&1){let n=et();q(0,"div",4)(1,"div",5)(2,"div",6),ve(3,1),W(),q(4,"div")(5,"button",7),Pe("click",function(){return ce(n),he(i.isSettingsPanelCollapsed=!i.isSettingsPanelCollapsed);}),Oe(6,"my-global-icon",8),W(),q(7,"button",9),Pe("click",function(){return ce(n),he(i.closeTranscription.emit());}),Oe(8,"my-global-icon",10),W()()(),q(9,"div",11)(10,"div",12)(11,"div",13,0),Pe("shown",function(){return ce(n),he(i.settingsPanelShown=!0);})("hidden",function(){return ce(n),he(i.settingsPanelShown=!1);}),q(14,"div",14)(15,"div",15)(16,"label",16),ve(17,2),W(),q(18,"my-select-options",17),pa("ngModelChange",function(o){return ce(n),fa(i.currentLanguage,o)||(i.currentLanguage=o),he(o);}),Pe("ngModelChange",function(){return ce(n),he(i.updateCurrentCaption());}),W()()()(),q(19,"input",18),Pe("input",function(o){return ce(n),he(i.onSearchChange(o));}),W(),Se(20,OL,2,0,"div"),W(),Se(21,LL,5,3,"div",19),W()();}t&2&&(z(5),un("aria-expanded",!i.isSettingsPanelCollapsed),z(6),J("ngbCollapse",i.isSettingsPanelCollapsed),z(7),J("items",i.languagesOptions),ha("ngModel",i.currentLanguage),z(2),qi(i.search&&i.segments.length===0?20:-1),z(),J("ngForOf",i.segments));},dependencies:[Qt,Pi,bi,Tm,Ir,Ar,ba,Ym],styles:[".widget-root[_ngcontent-%COMP%]{position:relative;
113min-width:200px;width:25vw;max-width:470px;height:66vh;background-color:var(--mainBackgroundColor);overflow-y:auto;border-bottom:1px solid rgba(0,0,0,.1)}.widget-root[_ngcontent-%COMP%] .widget-header[_ngcontent-%COMP%]{background-color:var(--submenuBackgroundColor);padding:1rem 2rem}.widget-root[_ngcontent-%COMP%] .widget-content-padded[_ngcontent-%COMP%]{padding:0 2rem}.widget-root[_ngcontent-%COMP%] .widget-title[_ngcontent-%COMP%]{font-size:18px;font-weight:600}.widget-root[_ngcontent-%COMP%] .widget-title[_ngcontent-%COMP%] .pt-badge[_ngcontent-%COMP%]{margin-inline-start:.3125rem}.widget-root[_ngcontent-%COMP%] .widget-content[_ngcontent-%COMP%]{padding-top:.5rem;padding-bottom:.5rem}",".segment.active[_ngcontent-%COMP%], .segment[_ngcontent-%COMP%]:hover{background:var(--mainBackgroundHoverColor)}input[type=text][_ngcontent-%COMP%]{font-size:15px;padding:3px 15px;width:100%;max-width:100%;color:var(--inputForegroundColor);background-color:var(--inputBackgroundColor);border:1px solid var(--inputBorderColor);border-radius:3px;line-height:23px}input[type=text][_ngcontent-%COMP%]::placeholder{color:var(--inputPlaceholderColor)}input[type=text][readonly][_ngcontent-%COMP%]{opacity:.7}@media screen and (max-width: calc(100% + 40px)){input[type=text][_ngcontent-%COMP%]{width:100%}}.settings-button[_ngcontent-%COMP%] my-global-icon[_ngcontent-%COMP%]{width:18px;height:18px}.settings-panel[_ngcontent-%COMP%]{position:absolute;width:100%;padding:0 1.5rem;left:0;right:0}"]}));var tu=Bs;var rE=s=>({active:s});function NL(s,e){s&1&&(q(0,"span",19),ve(1,0),W());}function jL(s,e){s&1&&(q(0,"span",20),ve(1,1),W());}function FL(s,e){s&1&&(q(0,"span",21),ve(1,2),W());}function VL(s,e){if(s&1){let t=et();q(0,"div",22)(1,"my-video-playlist-element-miniature",23),Pe("elementRemoved",function(n){ce(t);let r=ie(2);return he(r.onElementRemoved(n));}),W()();}if(s&2){let t=e.$implicit,i=ie(2);J("ngClass","element-"+t.position),z(),J("playlistElement",t)("playlist",i.playlist)("owned",i.isPlaylistOwned())("playing",i.currentPlaylistPosition===t.position)("accountLink",!1)("position",t.position)("touchScreenEditButton",!0);}}function BL(s,e){if(s&1){let t=et();q(0,"div",4),Pe("nearOfBottom",function(){ce(t);let n=ie();return he(n.onPlaylistVideosNearOfBottom());}),q(1,"div",5)(2,"div",6),De(3),Se(4,NL,2,0,"span",7)(5,jL,2,0,"span",8)(6,FL,2,0,"span",9),W(),q(7,"div",10)(8,"div",11),De(9),W(),q(10,"div",12)(11,"span"),De(12),W(),q(13,"span"),De(14),W()()(),q(15,"div",13)(16,"button",14),Pe("click",function(){ce(t);let n=ie();return he(n.switchAutoPlayNextVideoPlaylist());}),Oe(17,"my-global-icon",15),W(),q(18,"button",16),Pe("click",function(){ce(t);let n=ie();return he(n.switchLoopPlaylist());}),Oe(19,"my-global-icon",17),W()()(),Se(20,VL,2,8,"div",18),W();}if(s&2){let t=ie();J("onItself",!0),z(3),fi(" ",t.playlist.displayName," "),z(),J("ngIf",t.isUnlistedPlaylist()),z(),J("ngIf",t.isPrivatePlaylist()),z(),J("ngIf",t.isPublicPlaylist()),z(3),ht(t.playlist.ownerBy),z(3),ht(t.currentPlaylistPosition),z(2),ht(t.playlistPagination.totalItems),z(2),J("ngClass",ze(15,rE,t.autoPlayNextVideoPlaylist))("ngbTooltip",t.autoPlayNextVideoPlaylistSwitchText)("ariaLabel",t.autoPlayNextVideoPlaylistSwitchText),z(2),J("ngClass",ze(17,rE,t.loopPlaylist))("ngbTooltip",t.loopPlaylistSwitchText)("ariaLabel",t.loopPlaylistSwitchText),z(2),J("ngForOf",t.playlistElements);}}var Mn=class Mn{constructor(e,t,i,n,r,o,a){this.hooks=e;this.userService=t;this.auth=i;this.notifier=n;this.videoPlaylist=r;this.sessionStorage=o;this.router=a;F(this,"playlist");F(this,"videoFound",new ct());F(this,"noVideoFound",new ct());F(this,"playlistElements",[]);F(this,"playlistPagination",{currentPage:1,itemsPerPage:30,totalItems:null});F(this,"autoPlayNextVideoPlaylist");F(this,"autoPlayNextVideoPlaylistSwitchText","");F(this,"loopPlaylist");F(this,"loopPlaylistSwitchText","");F(this,"noPlaylistVideos",!1);F(this,"currentPlaylistPosition");this.userService.getAnonymousOrLoggedUser().subscribe(l=>this.autoPlayNextVideoPlaylist=l.autoPlayNextVideoPlaylist),this.setAutoPlayNextVideoPlaylistSwitchText(),this.loopPlaylist=Pm(this.sessionStorage.getItem(Mn.SESSION_STORAGE_LOOP_PLAYLIST),!1),this.setLoopPlaylistSwitchText();}onPlaylistVideosNearOfBottom(e){this.playlistPagination.totalItems<=this.playlistPagination.currentPage*this.playlistPagination.itemsPerPage||(this.playlistPagination.currentPage+=1,this.loadPlaylistElements(this.playlist,!1,e));}onElementRemoved(e){this.playlistElements=this.playlistElements.filter(t=>t.id!==e.id),this.playlistPagination.totalItems--;}isPlaylistOwned(){return this.playlist.isLocal===!0&&this.auth.isLoggedIn()&&this.playlist.ownerAccount.name===this.auth.getUser().username;}isUnlistedPlaylist(){return this.playlist.privacy.id===Ca.UNLISTED;}isPrivatePlaylist(){return this.playlist.privacy.id===Ca.PRIVATE;}isPublicPlaylist(){return this.playlist.privacy.id===Ca.PUBLIC;}loadPlaylistElements(e,t=!1,i){this.hooks.wrapObsFun(this.videoPlaylist.getPlaylistVideos.bind(this.videoPlaylist),{videoPlaylistId:e.uuid,componentPagination:this.playlistPagination},"video-watch","filter:api.video-watch.video-playlist-elements.get.params","filter:api.video-watch.video-playlist-elements.get.result").subscribe(({total:r,data:o})=>{this.playlistElements=this.playlistElements.concat(o),this.playlistPagination.totalItems=r;let a=this.playlistElements.find(l=>!!l.video);if(!a){this.noPlaylistVideos=!0,this.noVideoFound.emit();return;}if(i&&this.updatePlaylistIndex(i),t){let l={queryParams:{start:a.startTimestamp,stop:a.stopTimestamp,playlistPosition:a.position},replaceUrl:!0};this.router.navigate([],l);}});}updatePlaylistIndex(e){if(!(this.playlistElements.length===0||!e)){e<0&&(e=this.playlist.videosLength+e+1);for(let t of this.playlistElements)if(t.video&&t.position>=e){this.currentPlaylistPosition=t.position,this.videoFound.emit(t.video.uuid),setTimeout(()=>{let i=document.querySelector(".element-"+this.currentPlaylistPosition),n=document.querySelector(".playlist");Ma(i,n)||(n.scrollTop=i.offsetTop);});return;}this.onPlaylistVideosNearOfBottom(e);}}hasPreviousVideo(){return!!this.getPreviousVideo();}getPreviousVideo(){return this.findPlaylistVideo(this.currentPlaylistPosition-1,"previous");}hasNextVideo(){return!!this.getNextVideo();}getNextVideo(){return this.findPlaylistVideo(this.currentPlaylistPosition+1,"next");}navigateToPreviousPlaylistVideo(){let e=this.findPlaylistVideo(this.currentPlaylistPosition-1,"previous");if(!e)return;let t=e.startTimestamp,i=e.stopTimestamp;this.router.navigate([],{queryParams:{playlistPosition:e.position,start:t,stop:i}});}findPlaylistVideo(e,t){if(t==="next"&&e>
113this.playlistPagination.totalItems||t==="previous"&&e<1){if(!this.loopPlaylist)return;e=t==="previous"?this.playlistPagination.totalItems:1;}let i=this.playlistElements.find(r=>r.position===e);if(i!=null&&i.video)return i;let n=t==="previous"?e-1:e+1;return this.findPlaylistVideo(n,t);}navigateToNextPlaylistVideo(){let e=this.findPlaylistVideo(this.currentPlaylistPosition+1,"next");if(!e)return;let t=e.startTimestamp,i=e.stopTimestamp;this.router.navigate([],{queryParams:{playlistPosition:e.position,start:t,stop:i}});}switchAutoPlayNextVideoPlaylist(){this.autoPlayNextVideoPlaylist=!this.autoPlayNextVideoPlaylist,this.setAutoPlayNextVideoPlaylistSwitchText();let e={autoPlayNextVideoPlaylist:this.autoPlayNextVideoPlaylist};this.auth.isLoggedIn()?this.userService.updateMyProfile(e).subscribe({next:()=>{this.auth.refreshUserInformation();},error:t=>this.notifier.error(t.message)}):this.userService.updateMyAnonymousProfile(e);}switchLoopPlaylist(){this.loopPlaylist=!this.loopPlaylist,this.setLoopPlaylistSwitchText(),Js.setItem(Mn.SESSION_STORAGE_LOOP_PLAYLIST,this.loopPlaylist.toString());}setAutoPlayNextVideoPlaylistSwitchText(){this.autoPlayNextVideoPlaylistSwitchText=this.autoPlayNextVideoPlaylist?"Stop autoplaying next video":"Autoplay next video";}setLoopPlaylistSwitchText(){this.loopPlaylistSwitchText=this.loopPlaylist?"Stop looping playlist videos":"Loop playlist videos";}};F(Mn,"SESSION_STORAGE_LOOP_PLAYLIST","loop_playlist"),F(Mn,"\u0275fac",function(t){return new(t||Mn)(ye($n),ye(Ri),ye(Qi),ye(ui),ye(Lr),ye(Dm),ye(_a));}),F(Mn,"\u0275cmp",pt({type:Mn,selectors:[["my-video-watch-playlist"]],inputs:{playlist:"playlist"},outputs:{videoFound:"videoFound",noVideoFound:"noVideoFound"},standalone:!0,features:[mt],decls:1,vars:1,consts:()=>{let e;e="Unlisted";let t;t="Private";let i;return i="Public",[e,t,i,["class","widget-root playlist","myInfiniteScroller","",3,"onItself","nearOfBottom",4,"ngIf"],["myInfiniteScroller","",1,"widget-root","playlist",3,"nearOfBottom","onItself"],[1,"widget-header","playlist-info"],[1,"widget-title","playlist-display-name"],["class","pt-badge badge-warning",4,"ngIf"],["class","pt-badge badge-danger",4,"ngIf"],["class","pt-badge badge-info",4,"ngIf"],[1,"playlist-by-index"],[1,"playlist-by"],[1,"playlist-index"],[1,"playlist-controls"],["placement","bottom auto","container","body",1,"border-0","p-0","me-2",3,"click","ngClass","ngbTooltip","ariaLabel"],["iconName","videos"],["placement","bottom auto","container","body",1,"border-0","p-0",3,"click","ngClass","ngbTooltip","ariaLabel"],["iconName","repeat"],[3,"ngClass",4,"ngFor","ngForOf"],[1,"pt-badge","badge-warning"],[1,"pt-badge","badge-danger"],[1,"pt-badge","badge-info"],[3,"ngClass"],[3,"elementRemoved","playlistElement","playlist","owned","playing","accountLink","position","touchScreenEditButton"]];},template:function(t,i){t&1&&Se(0,BL,21,19,"div",3),t&2&&J("ngIf",i.playlist&&(i.currentPlaylistPosition||i.noPlaylistVideos));},dependencies:[bt,Va,Qt,Un,Pi,bi,vg],styles:[".widget-root[_ngcontent-%COMP%]{position:relative;
113min-width:200px;width:25vw;max-width:470px;height:66vh;background-color:var(--mainBackgroundColor);overflow-y:auto;border-bottom:1px solid rgba(0,0,0,.1)}.widget-root[_ngcontent-%COMP%] .widget-header[_ngcontent-%COMP%]{background-color:var(--submenuBackgroundColor);padding:1rem 2rem}.widget-root[_ngcontent-%COMP%] .widget-content-padded[_ngcontent-%COMP%]{padding:0 2rem}.widget-root[_ngcontent-%COMP%] .widget-title[_ngcontent-%COMP%]{font-size:18px;font-weight:600}.widget-root[_ngcontent-%COMP%] .widget-title[_ngcontent-%COMP%] .pt-badge[_ngcontent-%COMP%]{margin-inline-start:.3125rem}.widget-root[_ngcontent-%COMP%] .widget-content[_ngcontent-%COMP%]{padding-top:.5rem;padding-bottom:.5rem}",'.playlist[_ngcontent-%COMP%] .playlist-by-index[_ngcontent-%COMP%]{color:var(--greyForegroundColor);display:flex}.playlist[_ngcontent-%COMP%] .playlist-by-index[_ngcontent-%COMP%] .playlist-by[_ngcontent-%COMP%]{margin-inline-end:.3125rem}.playlist[_ngcontent-%COMP%] .playlist-by-index[_ngcontent-%COMP%] .playlist-index[_ngcontent-%COMP%] span[_ngcontent-%COMP%]:first-child:after{content:"/";margin:0 3px}.playlist[_ngcontent-%COMP%] .playlist-controls[_ngcontent-%COMP%]{display:flex;margin:10px 0}.playlist[_ngcontent-%COMP%] .playlist-controls[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:not(.active){opacity:.5}.playlist[_ngcontent-%COMP%] my-video-playlist-element-miniature[_ngcontent-%COMP%] .video .position{margin-inline-end:0}.playlist[_ngcontent-%COMP%] my-video-playlist-element-miniature[_ngcontent-%COMP%] .video .video-info .video-info-name{font-size:15px}.playlist[_ngcontent-%COMP%] my-video-playlist-element-miniature[_ngcontent-%COMP%] my-video-thumbnail .video-thumbnail{width:90px;height:50px}.playlist[_ngcontent-%COMP%] my-video-playlist-element-miniature[_ngcontent-%COMP%] .fake-thumbnail{width:90px;height:50px}']}));var iu=Mn;var UL=["videoWatchPlaylist"],HL=["subscribeButton"],$L=["playerElement"],GL=s=>({"theater-enabled":s}),WL=s=>[s],zL=s=>["/c",s],oE=s=>["/a",s];function qL(s,e){s&1&&(q(0,"div",21),Ut(1),ve(2,4),Lt(),Oe(3,"br"),Ut(4),ve(5,5),Lt(),W());}function KL(s,e){if(s&1){let t=et();q(0,"my-video-transcription",22),Pe("segmentClicked",function(n){ce(t);let r=ie();return he(r.handleTimestampClicked(n));})("closeTranscription",function(){ce(t);let n=ie();return he(n.transcriptionWidgetOpened=!1);}),W();}if(s&2){let t=ie();J("video",t.video)("captions",t.videoCaptions)("currentTime",t.getCurrentTime());}}function YL(s,e){if(s&1&&(Ut(0),em(1,6),Oe(2,"my-date-toggle",45),tm(),Lt(),De(3," \u2022 "),Oe(4,"my-video-views-counter",42)),s&2){let t=ie(2);z(2),J("date",t.video.publishedAt),z(2),J("video",t.video);}}function XL(s,e){}function QL(s,e){s&1&&Se(0,XL,0,0,"ng-template");}function JL(s,e){}function ZL(s,e){s&1&&Se(0,JL,0,0,"ng-template");}function eM(s,e){if(s&1&&(Ut(0),q(1,"a",46),De(2),W(),q(3,"a",47)(4,"span"),ve(5,7),W()(),Lt()),s&2){let t=ie(2);z(),J("routerLink",ze(4,zL,t.video.byVideoChannel)),z(),fi(" ",t.video.channel.displayName," "),z(),J("routerLink",ze(6,oE,t.video.byAccount)),z(2),Ki(t.video.byAccount),Yi(5);}}function tM(s,e){if(s&1&&(Ut(0),q(1,"a",48)(2,"span"),ve(3,8),W()(),Lt()),s&2){let t=ie(2);z(),J("routerLink",ze(2,oE,t.video.byAccount)),z(2),Ki(t.video.byAccount),Yi(3);}}function iM(s,e){if(s&1){let t=et();q(0,"div",23)(1,"div",24)(2,"div",25)(3,"div"),Se(4,YL,5,2,"ng-template",null,2,ji),q(6,"div",26)(7,"h1",27),De(8),W(),q(9,"div",28),Se(10,QL,1,0,null,29),W()(),q(11,"div",30)(12,"div",31)(13,"h1",27),De(14),W()(),q(15,"div",32)(16,"div",33),Se(17,ZL,1,0,null,29),W(),q(18,"my-action-buttons",34),Pe("showTranscriptionWidget",function(){ce(t);let n=ie();return he(n.transcriptionWidgetOpened=!0);})("hideTranscriptionWidget",function(){ce(t);let n=ie();return he(n.transcriptionWidgetOpened=!1);}),W()()(),q(19,"div",35)(20,"div",36),Oe(21,"my-video-avatar-channel",37),q(22,"div",38),Se(23,eM,6,8,"ng-container",39)(24,tM,4,4,"ng-container",39),W()(),Oe(25,"my-subscribe-button",40,3),W()()(),q(27,"my-video-description",41),Pe("timestampClicked",function(n){ce(t);let r=ie();return he(r.handleTimestampClicked(n));}),W(),Oe(28,"my-video-attributes",42),q(29,"my-video-comments",43),Pe("timestampClicked",function(n){ce(t);let r=ie();return he(r.handleTimestampClicked(n));}),W()(),q(30,"my-recommended-videos",44),Pe("gotRecommendations",function(n){ce(t);let r=ie();return he(r.onRecommendations(n));}),W()();}if(s&2){let t=Xi(5),i=ie();z(8),ht(i.video.name),z(2),J("ngTemplateOutlet",t),z(4),ht(i.video.name),z(3),J("ngTemplateOutlet",t),z(),J("video",i.video)("videoPassword",i.videoPassword)("videoCaptions",i.videoCaptions)("isUserLoggedIn",i.isUserLoggedIn())("isUserOwner",i.isUserOwner())("transcriptionWidgetOpened",i.transcriptionWidgetOpened)("playlist",i.playlist)("currentTime",i.getCurrentTime())("currentPlaylistPosition",i.getCurrentPlaylistPosition()),z(3),J("video",i.video)("showChannel",!i.isChannelDisplayNameGeneric()),z(2),J("ngIf",!i.isChannelDisplayNameGeneric()),z(),J("ngIf",i.isChannelDisplayNameGeneric()),z(),J("videoChannels",ze(26,WL,i.video.channel)),z(2),J("video",i.video),z(),J("video",i.video),z(),J("video",i.video)("videoPassword",i.videoPassword)("user",i.user),z(),J("displayAsRow",i.displayOtherVideosAsRow())("currentVideo",i.video)("playlist",i.playlist);}}function nM(s,e){if(s&1&&Oe(0,"my-privacy-concerns",42),s&2){let t=ie();J("video",t.video);}}var rM=(0,sE.default)("peertube:watch:VideoWatchComponent"),Us=class Us{constructor(e,t,i,n,r,o,a,l,d,u,c,h,f,p,g,m,b,T,S,P,R,C,A){this.route=e;this.router=t;this.videoService=i;this.playlistService=n;this.liveVideoService=r;this.confirmService=o;this.authService=a;this.userService=l;this.serverService=d;this.restExtractor=u;this.notifier=c;this.zone=h;this.videoCaptionService=f;this.videoChapterService=p;this.hotkeysService=g;this.hooks=m;this.pluginService=b;this.peertubeSocket=T;this.screenService=S;this.videoFileTokenService=P;this.location=R;this.metaService=C;this.localeId=A;F(this,"videoWatchPlaylist");F(this,"subscribeButton");F(this,"playerElement");F(this,"peertubePlayer");F(this,"theaterEnabled",!1);F(this,"video",null);F(this,"videoCaptions",[]);F(this,"videoChapters",[]);F(this,"liveVideo");F(this,"videoPassword");F(this,"storyboards",[]);F(this,"playlistPosition");F(this,"playlist",null);F(this,"remoteServerDown",!1);F(this,"noPlaylistVideoFound",!1);F(this,"transcriptionWidgetOpened",!1);F(this,"nextRecommendedVideoUUID","");F(this,"nextRecommendedVideoTitle","");F(this,"videoFileToken");F(this,"currentTime");F(this,"paramsSub");F(this,"queryParamsSub");F(this,"configSub");F(this,"liveVideosSub");F(this,"serverConfig");F(this,"hotkeys",[]);}get user(){return this.authService.getUser();}get anonymousUser(){return this.userService.getAnonymousUser();}ngOnInit(){return Ie(this,null,function*(){this.serverConfig=this.serverService.getHTMLConfig(),this.loadRouteParam
113s(),this.loadRouteQuery(),this.theaterEnabled=Fl(),this.hooks.runAction("action:video-watch.init","video-watch"),setTimeout(V_,1500);let e=yield this.hooks.wrapFun(this.buildPeerTubePlayerConstructorOptions.bind(this),{urlOptions:this.getUrlOptions()},"video-watch","filter:internal.video-watch.player.build-options.params","filter:internal.video-watch.player.build-options.result");this.peertubePlayer=new Zd(e);});}ngOnDestroy(){this.peertubePlayer&&this.peertubePlayer.destroy(),this.paramsSub&&this.paramsSub.unsubscribe(),this.queryParamsSub&&this.queryParamsSub.unsubscribe(),this.configSub&&this.configSub.unsubscribe(),this.liveVideosSub&&this.liveVideosSub.unsubscribe(),this.hotkeysService.remove(this.hotkeys);}getCurrentTime(){return this.currentTime;}getCurrentPlaylistPosition(){return this.videoWatchPlaylist.currentPlaylistPosition;}onRecommendations(e){if(e.length===0)return;let t=e[0];this.nextRecommendedVideoUUID=t.uuid,this.nextRecommendedVideoTitle=t.name;}handleTimestampClicked(e){!this.peertubePlayer||this.video.isLive||!this.peertubePlayer.getPlayer()||(this.peertubePlayer.setCurrentTime(e),Am());}onPlaylistVideoFound(e){this.loadVideo({videoId:e,forceAutoplay:!1});}onPlaylistNoVideoFound(){this.noPlaylistVideoFound=!0;}isUserLoggedIn(){return this.authService.isLoggedIn();}isUserOwner(){var e;return this.video.isLocal===!0&&this.video.account.name===((e=this.user)==null?void 0:e.username);}isVideoBlur(e){return e.isVideoNSFWForUser(this.user,this.serverConfig);}isChannelDisplayNameGeneric(){return[`Main ${this.video.channel.ownerAccount.name} channel`,`Default ${this.video.channel.ownerAccount.name} channel`].includes(this.video.channel.displayName);}displayOtherVideosAsRow(){return this.screenService.getWindowInnerWidth()<=1100;}
113loadRouteParams(){this.paramsSub=this.route.params.subscribe(e=>{let t=e.videoId;if(t)return this.loadVideo({videoId:t,forceAutoplay:!1});let i=e.playlistId;if(i)return this.loadPlaylist(i);});}loadRouteQuery(){this.queryParamsSub=this.route.queryParams.subscribe(e=>{var n;let t=e.playlistPosition;if(!t)return;this.playlistPosition=t==="last"?-1:parseInt(t+"",10),isNaN(this.playlistPosition)&&(Ne.error(`playlistPosition query param '${t}' was parsed as NaN, defaulting to 1.`),this.playlistPosition=1),this.videoWatchPlaylist.updatePlaylistIndex(this.playlistPosition);let i=e.start;(n=this.peertubePlayer)!=null&&n.getPlayer()&&i&&this.peertubePlayer.setCurrentTime(parseInt(i,10));});}loadVideo(e){let{videoId:t,liveRefresh:i,forceAutoplay:n,videoPassword:r}=e;if(!i&&this.isSameElement(this.video,t))return;let a=this.hooks.wrapObsFun(this.videoService.getVideo.bind(this.videoService),{videoId:t,videoPassword:r},"video-watch","filter:api.video-watch.video.get.params","filter:api.video-watch.video.get.result").pipe(Nn(l=>l.isLive?this.liveVideoService.getVideoLive(l.uuid).pipe(ir(d=>({live:d,video:l}))):Gs({video:l,live:void 0})),Nn(({video:l,live:d})=>Mm(l)?this.videoFileTokenService.getVideoFileToken({videoUUID:l.uuid,videoPassword:r}).pipe(ir(({token:u})=>({video:l,live:d,videoFileToken:u}))):Gs({video:l,live:d,videoFileToken:void 0})));Up([a,this.videoCaptionService.listCaptions(t,r),this.videoChapterService.getChapters({videoId:t,videoPassword:r}),this.videoService.getStoryboards(t,r),this.userService.getAnonymousOrLoggedUser()]).subscribe({next:([{video:l,live:d,videoFileToken:u},c,h,f,p])=>{this.onVideoFetched({video:l,live:d,videoCaptions:c.data,videoChapters:h.chapters,storyboards:f,videoFileToken:u,videoPassword:r,loggedInOrAnonymousUser:p,forceAutoplay:n}).catch(g=>{this.handleGlobalError(g);});},error:l=>Ie(this,null,function*(){if(l.body.code===Fn.VIDEO_REQUIRES_PASSWORD||l.body.code===Fn.INCORRECT_VIDEO_PASSWORD){let{confirmed:d,password:u}=yield this.handleVideoPasswordError(l);if(d===!1)return this.location.back();this.loadVideo(Le(we({},e),{videoPassword:u}));}else this.handleRequestError(l);})});}loadPlaylist(e){this.isSameElement(this.playlist,e)||(this.noPlaylistVideoFound=!1,this.playlistService.getVideoPlaylist(e).subscribe({next:t=>{this.playlist=t,this.videoWatchPlaylist.loadPlaylistElements(t,!this.playlistPosition,this.playlistPosition);},error:t=>this.handleRequestError(t)}));}isSameElement(e,t){return e?e.id+""===t||e.uuid===t||e.shortUUID===t:!1;}handleRequestError(e){return Ie(this,null,function*(){var i;let t=e.body;if((t==null?void 0:t.code)===Fn.DOES_NOT_RESPECT_FOLLOW_CONSTRAINTS&&t.originUrl){let n=t.originUrl+((i=window.location.search)!=null?i:"");if((yield this.confirmService.confirm("This video is not available on this instance. Do you want to be redirected on the origin instance: <a href=\""+n+"\">"+n+"</a>?","Redirection"))===!0)return window.location.href=n;}return this.restExtractor.redirectTo404IfNotFound(e,"video",[Ea.BAD_REQUEST_400,Ea.FORBIDDEN_403,Ea.NOT_FOUND_404]);});}handleGlobalError(e){let t=typeof e=="string"?e:e.message;t&&this.notifier.error(t);}handleVideoPasswordError(e){let t;return e.body.code===Fn.VIDEO_REQUIRES_PASSWORD?t=!1:e.body.code===Fn.INCORRECT_VIDEO_PASSWORD&&(this.videoPassword=void 0,t=!0),this.confirmService.confirmWithPassword({message:"You need a password to watch this video",title:"This video is password protected",errorMessage:t?"Incorrect password, please enter a correct password":""});}onVideoFetched(e){return Ie(this,null,function*(){let{video:t,live:i,videoCaptions:n,videoChapters:r,storyboards:o,videoFileToken:a,videoPassword:l,loggedInOrAnonymousUser:d,forceAutoplay:u}=e;if(this.subscribeToLiveEventsIfNeeded(this.video,t),this.video=t,this.videoCaptions=n,this.videoChapters=r,this.liveVideo=i,this.videoFileToken=a,this.videoPassword=l,this.storyboards=o,this.remoteServerDown=!1,this.currentTime=void 0,this.transcriptionWidgetOpened&&this.videoCaptions.length===0&&(this.transcriptionWidgetOpened=!1),this.isVideoBlur(this.video)&&(yield this.confirmService.confirm("This video contains mature or explicit content. Are you sure you want to watch it?","Mature or explicit content"))===!1)return this.location.back();this.buildHotkeysHelp(t),this.setMetaTags(t),this.loadPlayer({loggedInOrAnonymousUser:d,forceAutoplay:u}).catch(h=>Ne.error("Cannot build the player",h));let c={videojs:Ln.default,video:this.video,playlist:this.playlist};this.hooks.runAction("action:video-watch.video.loaded","video-watch",c);});}loadPlayer(e){return Ie(this,null,function*(){var a;let{loggedInOrAnonymousUser:t,forceAutoplay:i}=e,n=this.video.state.id;if(n===di.LIVE_ENDED||n===di.WAITING_FOR_LIVE){this.updatePlayerOnNoLive();return;}(a=this.peertubePlayer)==null||a.enable();let r={video:this.video,videoCaptions:this.videoCaptions,videoChapters:this.videoChapters,storyboards:this.storyboards,liveVideo:this.liveVideo,videoFileToken:this.videoFileToken,videoPassword:this.videoPassword,urlOptions:this.getUrlOptions(),loggedInOrAnonymousUser:t,forceAutoplay:i,user:this.user},o=yield this.hooks.wrapFun(this.buildPeerTubePlayerLoadOptions.bind(this),r,"video-watch","filter:internal.video-watch.player.load-options.params","filter:internal.video-watch.player.load-options.result");this.zone.runOutsideAngular(()=>Ie(this,null,function*(){yield this.peertubePlayer.load(o);let l=this.peertubePlayer.getPlayer();l.on("timeupdate",()=>{let d=Math.floor(l.currentTime());(!this.currentTime||Math.abs(d-this.currentTime)>=1)&&(rM("Updating current time to "+d),this.zone.run(()=>this.currentTime=d));}),this.video.isLive&&l.one("ended",()=>{this.zone.run(()=>this.endLive());}),l.on("theater-change",(d,u)=>{this.zone.run(()=>this.theaterEnabled=u);}),this.hooks.runAction("action:video-watch.player.loaded","video-watch",{player:l,playlist:this.playlist,playlistPosition:this.playlistPosition,videojs:Ln.default,video:this.video});}));});}hasNextVideo(){return this.playlist?this.videoWatchPlaylist.hasNextVideo():!0;}getNextVideoTitle(){var e,t;return this.playlist?((t=(e=this.videoWatchPlaylist.getNextVideo())==null?void 0:e.video)==null?void 0:t.name)||"":this.nextRecommendedVideoTitle;}playNextVideoInAngularZone(){this.zone.run(()=>
113{if(this.playlist){this.videoWatchPlaylist.navigateToNextPlaylistVideo();return;}this.nextRecommendedVideoUUID&&this.router.navigate(["/w",this.nextRecommendedVideoUUID]);});}isAutoplay(){if(this.route.snapshot.params.threadId)return!1;if(this.user)return this.user.autoPlayVideo;if(this.anonymousUser)return this.anonymousUser.autoPlayVideo;throw new Error("Cannot guess autoplay because user and anonymousUser are not defined");}isAutoPlayNext(){var e;return((e=this.user)==null?void 0:e.autoPlayNextVideo)||this.anonymousUser.autoPlayNextVideo;}isPlaylistAutoPlayNext(){var e;return((e=this.user)==null?void 0:e.autoPlayNextVideoPlaylist)||this.anonymousUser.autoPlayNextVideoPlaylist;}buildPeerTubePlayerConstructorOptions(e){let{urlOptions:t}=e;return{playerElement:()=>this.playerElement.nativeElement,enableHotkeys:!0,inactivityTimeout:2500,theaterButton:!0,controls:t.controls,controlBar:t.controlBar,muted:t.muted,loop:t.loop,playbackRate:t.playbackRate,instanceName:this.serverConfig.instance.name,language:this.localeId,metricsUrl:this.serverConfig.openTelemetry.metrics.enabled?Zs.apiUrl+"/api/v1/metrics/playback":null,metricsInterval:this.serverConfig.openTelemetry.metrics.playbackStatsInterval,videoViewIntervalMs:this.isUserLoggedIn()?this.serverConfig.views.videos.watchingInterval.users:this.serverConfig.views.videos.watchingInterval.anonymous,authorizationHeader:()=>this.authService.getRequestHeaderValue(),serverUrl:Zs.originServerUrl||window.location.origin,errorNotifier:i=>this.notifier.error(i),peertubeLink:()=>!1,pluginsManager:this.pluginService.getPluginsManager(),autoPlayerRatio:{cssRatioVariable:"--player-ratio",cssPlayerPortraitModeVariable:"--player-portrait-mode"}};}buildPeerTubePlayerLoadOptions(e){let{video:t,liveVideo:i,videoCaptions:n,videoChapters:r,storyboards:o,videoFileToken:a,videoPassword:l,urlOptions:d,loggedInOrAnonymousUser:u,forceAutoplay:c}=e,h;d.playerMode?d.playerMode==="p2p-media-loader"?h="p2p-media-loader":h="web-video":t.hasHlsPlaylist()?h="p2p-media-loader":h="web-video";let f;if(t.hasHlsPlaylist()){let S=t.getHlsPlaylist();f={playlistUrl:S.playlistUrl,segmentsSha256Url:S.segmentsSha256Url,redundancyBaseUrls:S.redundancies.map(P=>P.baseUrl),trackerAnnounce:t.trackerUrls,videoFiles:S.files};}let g=(()=>{if(t.isLive)return;let S=d.startTime!==void 0,P=t.userHistory&&(!this.playlist||d.resume!==void 0),R=Vl(t.uuid);if(S)return Vn(d.startTime);let C=0;return P&&(C=t.userHistory.currentTime),R&&(C=R.duration),t.duration-C<=1&&(C=0),C;})(),m=n.map(S=>({label:S.language.label,language:S.language.id,automaticallyGenerated:S.automaticallyGenerated,src:Zs.apiUrl+S.captionPath})),b=o.length!==0?{url:Zs.apiUrl+o[0].storyboardPath,height:o[0].spriteHeight,width:o[0].spriteWidth,interval:o[0].spriteDuration}:void 0,T=t.isLive?{latencyMode:i.latencyMode}:void 0;return{mode:h,autoplay:this.isAutoplay(),forceAutoplay:c,duration:this.video.duration,poster:t.previewUrl,p2pEnabled:Da(t,this.serverConfig,u.p2pEnabled),startTime:g,stopTime:d.stopTime,subtitle:d.subtitle,embedUrl:t.embedUrl,embedTitle:t.name,isLive:t.isLive,liveOptions:T,videoViewUrl:t.privacy.id!==nr.PRIVATE?this.videoService.getVideoViewUrl(t.uuid):null,videoFileToken:()=>a,requiresUserAuth:Lm(t,l),requiresPassword:t.privacy.id===nr.PASSWORD_PROTECTED&&!t.canAccessPasswordProtectedVideoWithoutPassword(this.user),videoPassword:()=>l,videoCaptions:m,videoChapters:r,storyboard:b,videoShortUUID:t.shortUUID,videoUUID:t.uuid,videoRatio:t.aspectRatio,previousVideo:{enabled:this.playlist&&this.videoWatchPlaylist.hasPreviousVideo(),handler:this.playlist?()=>this.zone.run(()=>this.videoWatchPlaylist.navigateToPreviousPlaylistVideo()):void 0,displayControlBarButton:!!this.playlist},nextVideo:{enabled:this.hasNextVideo(),handler:()=>this.playNextVideoInAngularZone(),getVideoTitle:()=>this.getNextVideoTitle(),displayControlBarButton:this.hasNextVideo()},upnext:{isEnabled:()=>this.playlist?this.isPlaylistAutoPlayNext():this.isAutoPlayNext(),isSuspended:S=>!Im(S.el(),80),timeout:this.playlist?0:5e3},hls:f,webVideo:{videoFiles:t.files}};}subscribeToLiveEventsIfNeeded(e,t){return Ie(this,null,function*(){this.liveVideosSub||(this.liveVideosSub=this.buildLiveEventsSubscription()),e&&e.id!==t.id&&this.peertubeSocket.unsubscribeLiveVideos(e.id),t.isLive&&(yield this.peertubeSocket.subscribeToLiveVideosSocket(t.id));});}buildLiveEventsSubscription(){return this.peertubeSocket.getLiveVideosObservable().subscribe(({type:e,payload:t})=>{if(e==="state-change")return this.handleLiveStateChange(t.state);if(e==="views-change")return this.handleLiveViewsChange(t.viewers);if(e==="force-end")return this.endLive();});}handleLiveStateChange(e){if(e!==di.PUBLISHED)return;Ne.info("Loading video after live update.");let t=this.video.uuid;this.loadVideo({videoId:t,forceAutoplay:!0,liveRefresh:!0});}handleLiveViewsChange(e){if(!this.video){Ne.error("Cannot update video live views because video is no defined.");return;}Ne.info("Updating live views."),this.video.viewers=e;}updatePlayerOnNoLive(){this.peertubePlayer.unload(),this.peertubePlayer.disable(),this.peertubePlayer.setPoster(this.video.previewPath);}buildHotkeysHelp(e){this.hotkeys.length!==0&&this.hotkeysService.remove(this.hotkeys),this.hotkeys=[new Jt("f",t=>t,"Enter/exit fullscreen"),new Jt("space",t=>t,"Play/Pause the video"),new Jt("m",t=>t,"Mute/unmute the video"),new Jt("up",t=>t,"Increase the volume"),new Jt("down",t=>t,"Decrease the volume"),new Jt("t",t=>(this.theaterEnabled=!this.theaterEnabled,!1),"Toggle theater mode")],e.isLive||(this.hotkeys=this.hotkeys.concat([new Jt("0-9",t=>t,"Skip to a percentage of the video: 0 is 0% and 9 is 90%"),new Jt("right",t=>t,"Seek the video forward"),new Jt("left",t=>t,"Seek the video backward"),new Jt(">",t=>t,"Increase playback rate"),new Jt("<",t=>t,"Decrease playback rate"),new Jt(",",t=>t,"Navigate in the video to the previous frame"),new Jt(".",t=>t,"Navigate in the video to the next frame")])),this.isUserLoggedIn()&&(this.hotkeys=this.hotkeys.concat([new Jt("shift+s",()=>(this.subscribeButton.isSubscribedToAll()?this.subscribeButton.unsubscribe():this.subscribeButton.subscribe(),!1),"Subscribe to the account")])),this.hotkeysService.add(this.hotkeys);}setMetaTags(e){this.metaService.setTitle(e.name),this.metaService.setTag("description",e.description);}
113getUrlOptions(){let e=this.route.snapshot.queryParams;return{resume:e.resume,startTime:e.start,stopTime:e.stop,muted:La(e.muted),loop:La(e.loop),subtitle:e.subtitle,playerMode:e.mode,playbackRate:e.playbackRate,controlBar:La(e.controlBar),peertubeLink:!1};}endLive(){this.video.isLive&&(this.video.state.id=di.LIVE_ENDED,this.updatePlayerOnNoLive());}};F(Us,"\u0275fac",function(t){return new(t||Us)(ye(va),ye(_a),ye(Or),ye(Lr),ye(Ba),ye(Na),ye(Qi),ye(Ri),ye(Rr),ye(Fm),ye(ui),ye(zp),ye(Ua),ye(Eg),ye(ja),ye($n),ye(Um),ye(Bm),ye(Pr),ye(tg),ye(rm),ye(jm),ye(ma));}),F(Us,"\u0275cmp",pt({type:Us,selectors:[["my-video-watch"]],viewQuery:function(t,i){if(t&1&&($t(UL,7),$t(HL,5),$t($L,5)),t&2){let n;Gt(n=Wt())&&(i.videoWatchPlaylist=n.first),Gt(n=Wt())&&(i.subscribeButton=n.first),Gt(n=Wt())&&(i.playerElement=n.first);}},standalone:!0,features:[mt],decls:15,vars:13,consts:()=>{let e;e="Sorry, but this video did not load because the remote instance did not respond.";let t;t="Please try refreshing the page, or try again later.";let i;i="Published "+"\uFFFD#2\uFFFD"+""+"\uFFFD/#2\uFFFD"+"";let n;n="Channel page";let r;r="Account page";let o;o="By "+"\uFFFD0\uFFFD"+"";let a;a="Account page";let l;return l=""+"\uFFFD0\uFFFD"+"",[["playerElement",""],["videoWatchPlaylist",""],["publishedTemplate",""],["subscribeButton",""],e,t,i,o,l,[1,"root",3,"ngClass","hidden"],["id","video-wrapper"],["class","remote-server-down",4,"ngIf"],["id","videojs-wrapper"],["playsinline","true",1,"video-js","vjs-peertube-skin"],[1,"player-widget-component"],[3,"noVideoFound","videoFound","playlist","hidden"],[3,"video","captions","currentTime"],["pluginId","player-next"],[3,"video","user","noPlaylistVideoFound"],["class","margin-content video-bottom",4,"ngIf"],[3,"video",4,"ngIf"],[1,"remote-server-down"],[3,"segmentClicked","closeTranscription","video","captions","currentTime"],[1,"margin-content","video-bottom"],[1,"video-info"],[1,"video-info-first-row"],[1,"d-block","d-md-none"],[1,"video-info-name"],[1,"video-info-date-views"],[4,"ngTemplateOutlet"],[1,"d-flex","justify-content-between","flex-direction-column"],[1,"d-none","d-md-block"],[1,"video-info-first-row-bottom"],[1,"d-none","d-md-block","video-info-date-views"],[3,"showTranscriptionWidget","hideTranscriptionWidget","video","videoPassword","videoCaptions","isUserLoggedIn","isUserOwner","transcriptionWidgetOpened","playlist","currentTime","currentPlaylistPosition"],[1,"pt-3","border-top","video-info-channel","d-flex"],[1,"video-info-channel-left","d-flex"],[3,"video","showChannel"],[1,"video-info-channel-left-links","ms-1"],[4,"ngIf"],["size","small",3,"videoChannels"],[3,"timestampClicked","video"],[3,"video"],[1,"border-top",3,"timestampClicked","video","videoPassword","user"],[3,"gotRecommendations","displayAsRow","currentVideo","playlist"],[3,"date"],["title",n,3,"routerLink"],["title",r,3,"routerLink"],["title",a,1,"single-link",3,"routerLink"]];},template:function(t,i){if(t&1){let n=et();q(0,"div",9)(1,"div",10),Se(2,qL,6,0,"div",11),q(3,"div",12),Oe(4,"video",13,0),W(),q(6,"div",14)(7,"my-video-watch-playlist",15,1),Pe("noVideoFound",function(){return ce(n),he(i.onPlaylistNoVideoFound());})("videoFound",function(o){return ce(n),he(i.onPlaylistVideoFound(o));}),W(),Se(9,KL,1,3,"my-video-transcription",16),W(),Oe(10,"my-plugin-placeholder",17),W(),Oe(11,"my-video-alert",18),Se(12,iM,31,28,"div",19)(13,nM,1,1,"my-privacy-concerns",20),W(),Oe(14,"my-player-styles");}t&2&&(J("ngClass",ze(11,GL,i.theaterEnabled))("hidden",!i.playlist&&!i.video),z(2),J("ngIf",i.remoteServerDown),z(5),J("playlist",i.playlist)("hidden",i.transcriptionWidgetOpened),z(2),qi(i.transcriptionWidgetOpened?9:-1),z(2),J("video",i.video)("user",i.user)("noPlaylistVideoFound",i.noPlaylistVideoFound),z(),J("ngIf",i.video),z(),J("ngIf",i.video));},dependencies:[Qt,bt,iu,_g,Ya,og,sg,am,Ga,Za,xr,gg,el,Xa,qa,tl,Ka,eu,tu],styles:[".blocked-label[_ngcontent-%COMP%]{font-weight:600}.placeholder-image[_ngcontent-%COMP%]{height:100%;max-width:100%;object-fit:contain}.flex-direction-column[_ngcontent-%COMP%]{flex-direction:column}
113.root.theater-enabled[_ngcontent-%COMP%] #video-wrapper[_ngcontent-%COMP%]{flex-direction:column;justify-content:center}.root.theater-enabled[_ngcontent-%COMP%] #video-wrapper[_ngcontent-%COMP%] #videojs-wrapper[_ngcontent-%COMP%]{width:100%;height:calc(100vh - 165px)}.root.theater-enabled[_ngcontent-%COMP%] #video-wrapper[_ngcontent-%COMP%] .video-js{--player-height: calc(100vh - 165px) }.root.theater-enabled[_ngcontent-%COMP%] #video-wrapper[_ngcontent-%COMP%] .player-widget-component[_ngcontent-%COMP%] .widget-root{width:100%!important;height:auto!important;max-height:300px!important;max-width:initial;border-bottom:1px solid rgba(0,0,0,.1)!important}#video-wrapper[_ngcontent-%COMP%]{background-color:#000;display:flex;justify-content:center}#video-wrapper[_ngcontent-%COMP%] #videojs-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:center;flex-grow:1;height:66vh}#video-wrapper[_ngcontent-%COMP%] .video-js{--player-height: 66vh;--player-portrait-mode: 0;--player-ratio: 1.7777777778;width:100%;height:var(--player-height);max-width:calc(var(--player-height) * var(--player-ratio))}#video-wrapper[_ngcontent-%COMP%] .video-js video{outline:0;position:relative!important}.remote-server-down[_ngcontent-%COMP%]{color:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;background-color:#141313;width:100%;font-size:24px;height:500px}@media screen and (max-width: 1000px){.remote-server-down[_ngcontent-%COMP%]{font-size:20px}}@media screen and (max-width: 600px){.remote-server-down[_ngcontent-%COMP%]{font-size:16px}}#video-not-found[_ngcontent-%COMP%]{height:300px;line-height:300px;margin-top:50px;text-align:center;font-weight:600}.video-bottom[_ngcontent-%COMP%]{display:flex;margin-top:1.5rem}.video-info[_ngcontent-%COMP%]{flex-grow:1;min-width:1px;max-width:100%}.video-info-first-row[_ngcontent-%COMP%]{display:flex}.video-info-first-row[_ngcontent-%COMP%] > div[_ngcontent-%COMP%]:first-child{flex-grow:1}.video-info-name[_ngcontent-%COMP%]{min-height:40px;font-size:27px;font-weight:600;flex-grow:1;word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin-inline-end:calc(1.3125rem + .75vw)}@media (min-width: 1200px){.video-info-name[_ngcontent-%COMP%]{margin-inline-end:1.875rem}}.video-info-first-row-bottom[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;width:100%}.video-info-date-views[_ngcontent-%COMP%]{margin-bottom:10px;align-self:start;font-size:14px;margin-inline-end:.625rem}.video-info-channel[_ngcontent-%COMP%]{font-weight:600}.video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--mainForegroundColor);word-break:break-word;word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover, .video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus, .video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:active{text-decoration:none!important}.video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:focus:not(:focus-visible){outline:none!important}.video-info-channel[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:hover{opacity:.8}.video-info-channel-left[_ngcontent-%COMP%]{flex-grow:1}.video-info-channel-left[_ngcontent-%COMP%] .video-info-channel-left-links[_ngcontent-%COMP%]{display:flex;flex-direction:column;position:relative;line-height:1.37}.video-info-channel-left[_ngcontent-%COMP%] .video-info-channel-left-links[_ngcontent-%COMP%] a[_ngcontent-%COMP%]:nth-of-type(2){font-weight:400;font-size:90%}.video-info-channel-left[_ngcontent-%COMP%] .video-info-channel-left-links[_ngcontent-%COMP%] a.single-link[_ngcontent-%COMP%]{margin-top:7px}my-subscribe-button[_ngcontent-%COMP%]{margin-inline-start:.3125rem}my-video-attributes[_ngcontent-%COMP%]{display:block;margin-bottom:15px;margin-inline-start:calc(1.4rem + 1.8vw)}@media (min-width: 1200px){my-video-attributes[_ngcontent-%COMP%]{margin-inline-start:2.75rem}}my-action-buttons[_ngcontent-%COMP%]{display:block;margin-top:0;margin-bottom:10px;align-items:start;width:max-content;margin-inline-start:auto;margin-inline-end:0}my-recommended-videos[_ngcontent-%COMP%]{display:block;min-width:250px;padding-inline-start:.9375rem}
113my-video-comments[_ngcontent-%COMP%]{display:inline-block;width:100%;margin-bottom:20px}@media screen and (max-width: 1100px){#video-wrapper[_ngcontent-%COMP%]{flex-direction:column;justify-content:center}#video-wrapper[_ngcontent-%COMP%] .player-widget-component[_ngcontent-%COMP%] .widget-root{width:100%!important;height:auto!important;max-height:300px!important;max-width:initial;border-bottom:1px solid rgba(0,0,0,.1)!important}.video-bottom[_ngcontent-%COMP%]{flex-direction:column}my-recommended-videos[_ngcontent-%COMP%]{padding-inline-start:0}}@media screen and (max-width: 600px){#videojs-wrapper[_ngcontent-%COMP%]{height:initial!important}#videojs-wrapper[_ngcontent-%COMP%] .remote-server-down[_ngcontent-%COMP%], #videojs-wrapper[_ngcontent-%COMP%] .video-js{--player-portrait-mode: 1;--player-height: calc(100vw / var(--player-ratio)) !important;max-height:calc(100vh - 100px)}.video-bottom[_ngcontent-%COMP%]{margin-top:20px!important;padding-bottom:20px!important}.video-info[_ngcontent-%COMP%]{padding:0}.video-info-name[_ngcontent-%COMP%]{font-size:20px;height:auto}}@media screen and (max-width: 450px){.video-info-name[_ngcontent-%COMP%]{font-size:18px}.video-info-date-views[_ngcontent-%COMP%]{font-size:14px}my-action-buttons[_ngcontent-%COMP%]{margin-top:10px}}#video-wrapper[_ngcontent-%COMP%] .video-js.vjs-fullscreen{max-width:unset}"]}));var la=Us;var cH=[{path:"",providers:[Sg,pg,Lr,ng,Zm,Ba,Mr,qr,Ha,Qm,hg,cg],children:[{path:"p/:playlistId",component:la},{path:":videoId/comments/:commentId",redirectTo:":videoId"},{path:":videoId",component:la}]}];export{cH as default};/**i18n:99973c82ff611cbb922666058656bb9da78f200382f6c1add276d87c62e5b7fb*/
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.