@vkontakte/videoplayer-core 2.0.140-dev.562ded66.0 → 2.0.140-dev.59ffc991.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2015.cjs.js +13 -13
- package/es2015.esm.js +12 -12
- package/es2018.cjs.js +10 -10
- package/es2018.esm.js +9 -9
- package/es2024.cjs.js +5 -5
- package/es2024.esm.js +5 -5
- package/esnext.cjs.js +5 -5
- package/esnext.esm.js +5 -5
- package/evergreen.esm.js +3 -3
- package/package.json +2 -2
package/esnext.cjs.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @vkontakte/videoplayer-core v2.0.140-dev.
|
|
3
|
-
*
|
|
2
|
+
* @vkontakte/videoplayer-core v2.0.140-dev.59ffc991.0
|
|
3
|
+
* Mon, 15 Sep 2025 13:37:46 GMT
|
|
4
4
|
* https://st.mycdn.me/static/vkontakte-videoplayer/2-0-140/doc/
|
|
5
5
|
*/
|
|
6
|
-
"use strict";var kv=Object.create;var ds=Object.defineProperty;var Rv=Object.getOwnPropertyDescriptor;var Lv=Object.getOwnPropertyNames;var $v=Object.getPrototypeOf,Mv=Object.prototype.hasOwnProperty;var g=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),Dv=(a,e)=>{for(var t in e)ds(a,t,{get:e[t],enumerable:!0})},tc=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Lv(e))!Mv.call(a,r)&&r!==t&&ds(a,r,{get:()=>e[r],enumerable:!(i=Rv(e,r))||i.enumerable});return a};var Q=(a,e,t)=>(t=a!=null?kv($v(a)):{},tc(e||!a||!a.__esModule?ds(t,"default",{value:a,enumerable:!0}):t,a)),Cv=a=>tc(ds({},"__esModule",{value:!0}),a);var Se=g((io,ic)=>{"use strict";var kr=function(a){return a&&a.Math===Math&&a};ic.exports=kr(typeof globalThis=="object"&&globalThis)||kr(typeof window=="object"&&window)||kr(typeof self=="object"&&self)||kr(typeof global=="object"&&global)||kr(typeof io=="object"&&io)||function(){return this}()||Function("return this")()});var we=g((wL,rc)=>{"use strict";rc.exports=function(a){try{return!!a()}catch{return!0}}});var Rr=g((AL,ac)=>{"use strict";var Bv=we();ac.exports=!Bv(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var ro=g((PL,uc)=>{"use strict";var Vv=Rr(),oc=Function.prototype,sc=oc.apply,nc=oc.call;uc.exports=typeof Reflect=="object"&&Reflect.apply||(Vv?nc.bind(sc):function(){return nc.apply(sc,arguments)})});var Ae=g((kL,dc)=>{"use strict";var lc=Rr(),cc=Function.prototype,ao=cc.call,_v=lc&&cc.bind.bind(ao,ao);dc.exports=lc?_v:function(a){return function(){return ao.apply(a,arguments)}}});var pi=g((RL,hc)=>{"use strict";var pc=Ae(),Ov=pc({}.toString),Fv=pc("".slice);hc.exports=function(a){return Fv(Ov(a),8,-1)}});var so=g((LL,fc)=>{"use strict";var Nv=pi(),qv=Ae();fc.exports=function(a){if(Nv(a)==="Function")return qv(a)}});var ve=g(($L,mc)=>{"use strict";var no=typeof document=="object"&&document.all;mc.exports=typeof no>"u"&&no!==void 0?function(a){return typeof a=="function"||a===no}:function(a){return typeof a=="function"}});var Ke=g((ML,bc)=>{"use strict";var Uv=we();bc.exports=!Uv(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Xe=g((DL,gc)=>{"use strict";var Hv=Rr(),fs=Function.prototype.call;gc.exports=Hv?fs.bind(fs):function(){return fs.apply(fs,arguments)}});var oo=g(yc=>{"use strict";var Sc={}.propertyIsEnumerable,vc=Object.getOwnPropertyDescriptor,jv=vc&&!Sc.call({1:2},1);yc.f=jv?function(e){var t=vc(this,e);return!!t&&t.enumerable}:Sc});var Lr=g((BL,Tc)=>{"use strict";Tc.exports=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}}});var Ec=g((VL,Ic)=>{"use strict";var Qv=Ae(),Wv=we(),Gv=pi(),uo=Object,zv=Qv("".split);Ic.exports=Wv(function(){return!uo("z").propertyIsEnumerable(0)})?function(a){return Gv(a)==="String"?zv(a,""):uo(a)}:uo});var $r=g((_L,xc)=>{"use strict";xc.exports=function(a){return a==null}});var Xt=g((OL,wc)=>{"use strict";var Yv=$r(),Kv=TypeError;wc.exports=function(a){if(Yv(a))throw new Kv("Can't call method on "+a);return a}});var hi=g((FL,Ac)=>{"use strict";var Xv=Ec(),Jv=Xt();Ac.exports=function(a){return Xv(Jv(a))}});var Ne=g((NL,Pc)=>{"use strict";var Zv=ve();Pc.exports=function(a){return typeof a=="object"?a!==null:Zv(a)}});var fi=g((qL,kc)=>{"use strict";kc.exports={}});var Vt=g((UL,Lc)=>{"use strict";var lo=fi(),co=Se(),ey=ve(),Rc=function(a){return ey(a)?a:void 0};Lc.exports=function(a,e){return arguments.length<2?Rc(lo[a])||Rc(co[a]):lo[a]&&lo[a][e]||co[a]&&co[a][e]}});var Mr=g((HL,$c)=>{"use strict";var ty=Ae();$c.exports=ty({}.isPrototypeOf)});var mi=g((jL,Cc)=>{"use strict";var iy=Se(),Mc=iy.navigator,Dc=Mc&&Mc.userAgent;Cc.exports=Dc?String(Dc):""});var ho=g((QL,Nc)=>{"use strict";var Fc=Se(),po=mi(),Bc=Fc.process,Vc=Fc.Deno,_c=Bc&&Bc.versions||Vc&&Vc.version,Oc=_c&&_c.v8,ht,ms;Oc&&(ht=Oc.split("."),ms=ht[0]>0&&ht[0]<4?1:+(ht[0]+ht[1]));!ms&&po&&(ht=po.match(/Edge\/(\d+)/),(!ht||ht[1]>=74)&&(ht=po.match(/Chrome\/(\d+)/),ht&&(ms=+ht[1])));Nc.exports=ms});var fo=g((WL,Uc)=>{"use strict";var qc=ho(),ry=we(),ay=Se(),sy=ay.String;Uc.exports=!!Object.getOwnPropertySymbols&&!ry(function(){var a=Symbol("symbol detection");return!sy(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&qc&&qc<41})});var mo=g((GL,Hc)=>{"use strict";var ny=fo();Hc.exports=ny&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var bo=g((zL,jc)=>{"use strict";var oy=Vt(),uy=ve(),ly=Mr(),cy=mo(),dy=Object;jc.exports=cy?function(a){return typeof a=="symbol"}:function(a){var e=oy("Symbol");return uy(e)&&ly(e.prototype,dy(a))}});var Dr=g((YL,Qc)=>{"use strict";var py=String;Qc.exports=function(a){try{return py(a)}catch{return"Object"}}});var wt=g((KL,Wc)=>{"use strict";var hy=ve(),fy=Dr(),my=TypeError;Wc.exports=function(a){if(hy(a))return a;throw new my(fy(a)+" is not a function")}});var Cr=g((XL,Gc)=>{"use strict";var by=wt(),gy=$r();Gc.exports=function(a,e){var t=a[e];return gy(t)?void 0:by(t)}});var Yc=g((JL,zc)=>{"use strict";var go=Xe(),So=ve(),vo=Ne(),Sy=TypeError;zc.exports=function(a,e){var t,i;if(e==="string"&&So(t=a.toString)&&!vo(i=go(t,a))||So(t=a.valueOf)&&!vo(i=go(t,a))||e!=="string"&&So(t=a.toString)&&!vo(i=go(t,a)))return i;throw new Sy("Can't convert object to primitive value")}});var ft=g((ZL,Kc)=>{"use strict";Kc.exports=!0});var Zc=g((e$,Jc)=>{"use strict";var Xc=Se(),vy=Object.defineProperty;Jc.exports=function(a,e){try{vy(Xc,a,{value:e,configurable:!0,writable:!0})}catch{Xc[a]=e}return e}});var Br=g((t$,id)=>{"use strict";var yy=ft(),Ty=Se(),Iy=Zc(),ed="__core-js_shared__",td=id.exports=Ty[ed]||Iy(ed,{});(td.versions||(td.versions=[])).push({version:"3.43.0",mode:yy?"pure":"global",copyright:"\xA9 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.43.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var yo=g((i$,ad)=>{"use strict";var rd=Br();ad.exports=function(a,e){return rd[a]||(rd[a]=e||{})}});var Ni=g((r$,sd)=>{"use strict";var Ey=Xt(),xy=Object;sd.exports=function(a){return xy(Ey(a))}});var mt=g((a$,nd)=>{"use strict";var wy=Ae(),Ay=Ni(),Py=wy({}.hasOwnProperty);nd.exports=Object.hasOwn||function(e,t){return Py(Ay(e),t)}});var To=g((s$,od)=>{"use strict";var ky=Ae(),Ry=0,Ly=Math.random(),$y=ky(1.1.toString);od.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+$y(++Ry+Ly,36)}});var Le=g((n$,ld)=>{"use strict";var My=Se(),Dy=yo(),ud=mt(),Cy=To(),By=fo(),Vy=mo(),qi=My.Symbol,Io=Dy("wks"),_y=Vy?qi.for||qi:qi&&qi.withoutSetter||Cy;ld.exports=function(a){return ud(Io,a)||(Io[a]=By&&ud(qi,a)?qi[a]:_y("Symbol."+a)),Io[a]}});var hd=g((o$,pd)=>{"use strict";var Oy=Xe(),cd=Ne(),dd=bo(),Fy=Cr(),Ny=Yc(),qy=Le(),Uy=TypeError,Hy=qy("toPrimitive");pd.exports=function(a,e){if(!cd(a)||dd(a))return a;var t=Fy(a,Hy),i;if(t){if(e===void 0&&(e="default"),i=Oy(t,a,e),!cd(i)||dd(i))return i;throw new Uy("Can't convert object to primitive value")}return e===void 0&&(e="number"),Ny(a,e)}});var Eo=g((u$,fd)=>{"use strict";var jy=hd(),Qy=bo();fd.exports=function(a){var e=jy(a,"string");return Qy(e)?e:e+""}});var bs=g((l$,bd)=>{"use strict";var Wy=Se(),md=Ne(),xo=Wy.document,Gy=md(xo)&&md(xo.createElement);bd.exports=function(a){return Gy?xo.createElement(a):{}}});var wo=g((c$,gd)=>{"use strict";var zy=Ke(),Yy=we(),Ky=bs();gd.exports=!zy&&!Yy(function(){return Object.defineProperty(Ky("div"),"a",{get:function(){return 7}}).a!==7})});var yd=g(vd=>{"use strict";var Xy=Ke(),Jy=Xe(),Zy=oo(),eT=Lr(),tT=hi(),iT=Eo(),rT=mt(),aT=wo(),Sd=Object.getOwnPropertyDescriptor;vd.f=Xy?Sd:function(e,t){if(e=tT(e),t=iT(t),aT)try{return Sd(e,t)}catch{}if(rT(e,t))return eT(!Jy(Zy.f,e,t),e[t])}});var Ao=g((p$,Td)=>{"use strict";var sT=we(),nT=ve(),oT=/#|\.prototype\./,Vr=function(a,e){var t=lT[uT(a)];return t===dT?!0:t===cT?!1:nT(e)?sT(e):!!e},uT=Vr.normalize=function(a){return String(a).replace(oT,".").toLowerCase()},lT=Vr.data={},cT=Vr.NATIVE="N",dT=Vr.POLYFILL="P";Td.exports=Vr});var Ui=g((h$,Ed)=>{"use strict";var Id=so(),pT=wt(),hT=Rr(),fT=Id(Id.bind);Ed.exports=function(a,e){return pT(a),e===void 0?a:hT?fT(a,e):function(){return a.apply(e,arguments)}}});var Po=g((f$,xd)=>{"use strict";var mT=Ke(),bT=we();xd.exports=mT&&bT(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var At=g((m$,wd)=>{"use strict";var gT=Ne(),ST=String,vT=TypeError;wd.exports=function(a){if(gT(a))return a;throw new vT(ST(a)+" is not an object")}});var bi=g(Pd=>{"use strict";var yT=Ke(),TT=wo(),IT=Po(),gs=At(),Ad=Eo(),ET=TypeError,ko=Object.defineProperty,xT=Object.getOwnPropertyDescriptor,Ro="enumerable",Lo="configurable",$o="writable";Pd.f=yT?IT?function(e,t,i){if(gs(e),t=Ad(t),gs(i),typeof e=="function"&&t==="prototype"&&"value"in i&&$o in i&&!i[$o]){var r=xT(e,t);r&&r[$o]&&(e[t]=i.value,i={configurable:Lo in i?i[Lo]:r[Lo],enumerable:Ro in i?i[Ro]:r[Ro],writable:!1})}return ko(e,t,i)}:ko:function(e,t,i){if(gs(e),t=Ad(t),gs(i),TT)try{return ko(e,t,i)}catch{}if("get"in i||"set"in i)throw new ET("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var Hi=g((g$,kd)=>{"use strict";var wT=Ke(),AT=bi(),PT=Lr();kd.exports=wT?function(a,e,t){return AT.f(a,e,PT(1,t))}:function(a,e,t){return a[e]=t,a}});var Te=g((S$,Ld)=>{"use strict";var _r=Se(),kT=ro(),RT=so(),LT=ve(),$T=yd().f,MT=Ao(),ji=fi(),DT=Ui(),Qi=Hi(),Rd=mt();Br();var CT=function(a){var e=function(t,i,r){if(this instanceof e){switch(arguments.length){case 0:return new a;case 1:return new a(t);case 2:return new a(t,i)}return new a(t,i,r)}return kT(a,this,arguments)};return e.prototype=a.prototype,e};Ld.exports=function(a,e){var t=a.target,i=a.global,r=a.stat,s=a.proto,n=i?_r:r?_r[t]:_r[t]&&_r[t].prototype,u=i?ji:ji[t]||Qi(ji,t,{})[t],o=u.prototype,l,p,d,c,h,m,b,S,v;for(c in e)l=MT(i?c:t+(r?".":"#")+c,a.forced),p=!l&&n&&Rd(n,c),m=u[c],p&&(a.dontCallGetSet?(v=$T(n,c),b=v&&v.value):b=n[c]),h=p&&b?b:e[c],!(!l&&!s&&typeof m==typeof h)&&(a.bind&&p?S=DT(h,_r):a.wrap&&p?S=CT(h):s&<(h)?S=RT(h):S=h,(a.sham||h&&h.sham||m&&m.sham)&&Qi(S,"sham",!0),Qi(u,c,S),s&&(d=t+"Prototype",Rd(ji,d)||Qi(ji,d,{}),Qi(ji[d],c,h),a.real&&o&&(l||!o[c])&&Qi(o,c,h)))}});var Ss=g((v$,Md)=>{"use strict";var BT=yo(),VT=To(),$d=BT("keys");Md.exports=function(a){return $d[a]||($d[a]=VT(a))}});var Cd=g((y$,Dd)=>{"use strict";var _T=we();Dd.exports=!_T(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype})});var vs=g((T$,Vd)=>{"use strict";var OT=mt(),FT=ve(),NT=Ni(),qT=Ss(),UT=Cd(),Bd=qT("IE_PROTO"),Mo=Object,HT=Mo.prototype;Vd.exports=UT?Mo.getPrototypeOf:function(a){var e=NT(a);if(OT(e,Bd))return e[Bd];var t=e.constructor;return FT(t)&&e instanceof t?t.prototype:e instanceof Mo?HT:null}});var Od=g((I$,_d)=>{"use strict";var jT=Math.ceil,QT=Math.floor;_d.exports=Math.trunc||function(e){var t=+e;return(t>0?QT:jT)(t)}});var Or=g((E$,Fd)=>{"use strict";var WT=Od();Fd.exports=function(a){var e=+a;return e!==e||e===0?0:WT(e)}});var qd=g((x$,Nd)=>{"use strict";var GT=Or(),zT=Math.max,YT=Math.min;Nd.exports=function(a,e){var t=GT(a);return t<0?zT(t+e,0):YT(t,e)}});var Do=g((w$,Ud)=>{"use strict";var KT=Or(),XT=Math.min;Ud.exports=function(a){var e=KT(a);return e>0?XT(e,9007199254740991):0}});var Wi=g((A$,Hd)=>{"use strict";var JT=Do();Hd.exports=function(a){return JT(a.length)}});var Co=g((P$,Qd)=>{"use strict";var ZT=hi(),eI=qd(),tI=Wi(),jd=function(a){return function(e,t,i){var r=ZT(e),s=tI(r);if(s===0)return!a&&-1;var n=eI(i,s),u;if(a&&t!==t){for(;s>n;)if(u=r[n++],u!==u)return!0}else for(;s>n;n++)if((a||n in r)&&r[n]===t)return a||n||0;return!a&&-1}};Qd.exports={includes:jd(!0),indexOf:jd(!1)}});var ys=g((k$,Wd)=>{"use strict";Wd.exports={}});var Yd=g((R$,zd)=>{"use strict";var iI=Ae(),Bo=mt(),rI=hi(),aI=Co().indexOf,sI=ys(),Gd=iI([].push);zd.exports=function(a,e){var t=rI(a),i=0,r=[],s;for(s in t)!Bo(sI,s)&&Bo(t,s)&&Gd(r,s);for(;e.length>i;)Bo(t,s=e[i++])&&(~aI(r,s)||Gd(r,s));return r}});var Vo=g((L$,Kd)=>{"use strict";Kd.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var _o=g(($$,Xd)=>{"use strict";var nI=Yd(),oI=Vo();Xd.exports=Object.keys||function(e){return nI(e,oI)}});var Oo=g((M$,ip)=>{"use strict";var Zd=Ke(),uI=we(),ep=Ae(),lI=vs(),cI=_o(),dI=hi(),pI=oo().f,tp=ep(pI),hI=ep([].push),fI=Zd&&uI(function(){var a=Object.create(null);return a[2]=2,!tp(a,2)}),Jd=function(a){return function(e){for(var t=dI(e),i=cI(t),r=fI&&lI(t)===null,s=i.length,n=0,u=[],o;s>n;)o=i[n++],(!Zd||(r?o in t:tp(t,o)))&&hI(u,a?[o,t[o]]:t[o]);return u}};ip.exports={entries:Jd(!0),values:Jd(!1)}});var rp=g(()=>{"use strict";var mI=Te(),bI=Oo().values;mI({target:"Object",stat:!0},{values:function(e){return bI(e)}})});var sp=g((B$,ap)=>{"use strict";rp();var gI=fi();ap.exports=gI.Object.values});var op=g((V$,np)=>{"use strict";var SI=sp();np.exports=SI});var gi=g((_$,up)=>{"use strict";var vI=op();up.exports=vI});var Fr=g((O$,lp)=>{"use strict";lp.exports=function(){}});var cp=g(()=>{"use strict";var yI=Te(),TI=Co().includes,II=we(),EI=Fr(),xI=II(function(){return!Array(1).includes()});yI({target:"Array",proto:!0,forced:xI},{includes:function(e){return TI(this,e,arguments.length>1?arguments[1]:void 0)}});EI("includes")});var Jt=g((q$,dp)=>{"use strict";var wI=Vt();dp.exports=wI});var hp=g((U$,pp)=>{"use strict";cp();var AI=Jt();pp.exports=AI("Array","includes")});var mp=g((H$,fp)=>{"use strict";var PI=hp();fp.exports=PI});var qe=g((j$,bp)=>{"use strict";var kI=mp();bp.exports=kI});var Sp=g(()=>{"use strict";var LI=Te(),$I=Oo().entries;LI({target:"Object",stat:!0},{entries:function(e){return $I(e)}})});var yp=g((rM,vp)=>{"use strict";Sp();var MI=fi();vp.exports=MI.Object.entries});var Ip=g((aM,Tp)=>{"use strict";var DI=yp();Tp.exports=DI});var Gi=g((sM,Ep)=>{"use strict";var CI=Ip();Ep.exports=CI});var Si=g((nM,xp)=>{"use strict";xp.exports={}});var Pp=g((oM,Ap)=>{"use strict";var BI=Se(),VI=ve(),wp=BI.WeakMap;Ap.exports=VI(wp)&&/native code/.test(String(wp))});var Uo=g((uM,Lp)=>{"use strict";var _I=Pp(),Rp=Se(),OI=Ne(),FI=Hi(),Fo=mt(),No=Br(),NI=Ss(),qI=ys(),kp="Object already initialized",qo=Rp.TypeError,UI=Rp.WeakMap,Is,Nr,Es,HI=function(a){return Es(a)?Nr(a):Is(a,{})},jI=function(a){return function(e){var t;if(!OI(e)||(t=Nr(e)).type!==a)throw new qo("Incompatible receiver, "+a+" required");return t}};_I||No.state?(bt=No.state||(No.state=new UI),bt.get=bt.get,bt.has=bt.has,bt.set=bt.set,Is=function(a,e){if(bt.has(a))throw new qo(kp);return e.facade=a,bt.set(a,e),e},Nr=function(a){return bt.get(a)||{}},Es=function(a){return bt.has(a)}):(vi=NI("state"),qI[vi]=!0,Is=function(a,e){if(Fo(a,vi))throw new qo(kp);return e.facade=a,FI(a,vi,e),e},Nr=function(a){return Fo(a,vi)?a[vi]:{}},Es=function(a){return Fo(a,vi)});var bt,vi;Lp.exports={set:Is,get:Nr,has:Es,enforce:HI,getterFor:jI}});var Qo=g((lM,Mp)=>{"use strict";var Ho=Ke(),QI=mt(),$p=Function.prototype,WI=Ho&&Object.getOwnPropertyDescriptor,jo=QI($p,"name"),GI=jo&&function(){}.name==="something",zI=jo&&(!Ho||Ho&&WI($p,"name").configurable);Mp.exports={EXISTS:jo,PROPER:GI,CONFIGURABLE:zI}});var Cp=g(Dp=>{"use strict";var YI=Ke(),KI=Po(),XI=bi(),JI=At(),ZI=hi(),eE=_o();Dp.f=YI&&!KI?Object.defineProperties:function(e,t){JI(e);for(var i=ZI(t),r=eE(t),s=r.length,n=0,u;s>n;)XI.f(e,u=r[n++],i[u]);return e}});var Wo=g((dM,Bp)=>{"use strict";var tE=Vt();Bp.exports=tE("document","documentElement")});var Ko=g((pM,Up)=>{"use strict";var iE=At(),rE=Cp(),Vp=Vo(),aE=ys(),sE=Wo(),nE=bs(),oE=Ss(),_p=">",Op="<",zo="prototype",Yo="script",Np=oE("IE_PROTO"),Go=function(){},qp=function(a){return Op+Yo+_p+a+Op+"/"+Yo+_p},Fp=function(a){a.write(qp("")),a.close();var e=a.parentWindow.Object;return a=null,e},uE=function(){var a=nE("iframe"),e="java"+Yo+":",t;return a.style.display="none",sE.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(qp("document.F=Object")),t.close(),t.F},xs,ws=function(){try{xs=new ActiveXObject("htmlfile")}catch{}ws=typeof document<"u"?document.domain&&xs?Fp(xs):uE():Fp(xs);for(var a=Vp.length;a--;)delete ws[zo][Vp[a]];return ws()};aE[Np]=!0;Up.exports=Object.create||function(e,t){var i;return e!==null?(Go[zo]=iE(e),i=new Go,Go[zo]=null,i[Np]=e):i=ws(),t===void 0?i:rE.f(i,t)}});var zi=g((hM,Hp)=>{"use strict";var lE=Hi();Hp.exports=function(a,e,t,i){return i&&i.enumerable?a[e]=t:lE(a,e,t),a}});var eu=g((fM,Wp)=>{"use strict";var cE=we(),dE=ve(),pE=Ne(),hE=Ko(),jp=vs(),fE=zi(),mE=Le(),bE=ft(),Zo=mE("iterator"),Qp=!1,_t,Xo,Jo;[].keys&&(Jo=[].keys(),"next"in Jo?(Xo=jp(jp(Jo)),Xo!==Object.prototype&&(_t=Xo)):Qp=!0);var gE=!pE(_t)||cE(function(){var a={};return _t[Zo].call(a)!==a});gE?_t={}:bE&&(_t=hE(_t));dE(_t[Zo])||fE(_t,Zo,function(){return this});Wp.exports={IteratorPrototype:_t,BUGGY_SAFARI_ITERATORS:Qp}});var As=g((mM,zp)=>{"use strict";var SE=Le(),vE=SE("toStringTag"),Gp={};Gp[vE]="z";zp.exports=String(Gp)==="[object z]"});var qr=g((bM,Yp)=>{"use strict";var yE=As(),TE=ve(),Ps=pi(),IE=Le(),EE=IE("toStringTag"),xE=Object,wE=Ps(function(){return arguments}())==="Arguments",AE=function(a,e){try{return a[e]}catch{}};Yp.exports=yE?Ps:function(a){var e,t,i;return a===void 0?"Undefined":a===null?"Null":typeof(t=AE(e=xE(a),EE))=="string"?t:wE?Ps(e):(i=Ps(e))==="Object"&&TE(e.callee)?"Arguments":i}});var Xp=g((gM,Kp)=>{"use strict";var PE=As(),kE=qr();Kp.exports=PE?{}.toString:function(){return"[object "+kE(this)+"]"}});var Ur=g((SM,Zp)=>{"use strict";var RE=As(),LE=bi().f,$E=Hi(),ME=mt(),DE=Xp(),CE=Le(),Jp=CE("toStringTag");Zp.exports=function(a,e,t,i){var r=t?a:a&&a.prototype;r&&(ME(r,Jp)||LE(r,Jp,{configurable:!0,value:e}),i&&!RE&&$E(r,"toString",DE))}});var th=g((vM,eh)=>{"use strict";var BE=eu().IteratorPrototype,VE=Ko(),_E=Lr(),OE=Ur(),FE=Si(),NE=function(){return this};eh.exports=function(a,e,t,i){var r=e+" Iterator";return a.prototype=VE(BE,{next:_E(+!i,t)}),OE(a,r,!1,!0),FE[r]=NE,a}});var rh=g((yM,ih)=>{"use strict";var qE=Ae(),UE=wt();ih.exports=function(a,e,t){try{return qE(UE(Object.getOwnPropertyDescriptor(a,e)[t]))}catch{}}});var sh=g((TM,ah)=>{"use strict";var HE=Ne();ah.exports=function(a){return HE(a)||a===null}});var oh=g((IM,nh)=>{"use strict";var jE=sh(),QE=String,WE=TypeError;nh.exports=function(a){if(jE(a))return a;throw new WE("Can't set "+QE(a)+" as a prototype")}});var tu=g((EM,uh)=>{"use strict";var GE=rh(),zE=Ne(),YE=Xt(),KE=oh();uh.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var a=!1,e={},t;try{t=GE(Object.prototype,"__proto__","set"),t(e,[]),a=e instanceof Array}catch{}return function(r,s){return YE(r),KE(s),zE(r)&&(a?t(r,s):r.__proto__=s),r}}():void 0)});var vh=g((xM,Sh)=>{"use strict";var XE=Te(),JE=Xe(),ks=ft(),bh=Qo(),ZE=ve(),ex=th(),lh=vs(),ch=tu(),tx=Ur(),ix=Hi(),iu=zi(),rx=Le(),dh=Si(),gh=eu(),ax=bh.PROPER,sx=bh.CONFIGURABLE,ph=gh.IteratorPrototype,Rs=gh.BUGGY_SAFARI_ITERATORS,Hr=rx("iterator"),hh="keys",jr="values",fh="entries",mh=function(){return this};Sh.exports=function(a,e,t,i,r,s,n){ex(t,e,i);var u=function(v){if(v===r&&c)return c;if(!Rs&&v&&v in p)return p[v];switch(v){case hh:return function(){return new t(this,v)};case jr:return function(){return new t(this,v)};case fh:return function(){return new t(this,v)}}return function(){return new t(this)}},o=e+" Iterator",l=!1,p=a.prototype,d=p[Hr]||p["@@iterator"]||r&&p[r],c=!Rs&&d||u(r),h=e==="Array"&&p.entries||d,m,b,S;if(h&&(m=lh(h.call(new a)),m!==Object.prototype&&m.next&&(!ks&&lh(m)!==ph&&(ch?ch(m,ph):ZE(m[Hr])||iu(m,Hr,mh)),tx(m,o,!0,!0),ks&&(dh[o]=mh))),ax&&r===jr&&d&&d.name!==jr&&(!ks&&sx?ix(p,"name",jr):(l=!0,c=function(){return JE(d,this)})),r)if(b={values:u(jr),keys:s?c:u(hh),entries:u(fh)},n)for(S in b)(Rs||l||!(S in p))&&iu(p,S,b[S]);else XE({target:e,proto:!0,forced:Rs||l},b);return(!ks||n)&&p[Hr]!==c&&iu(p,Hr,c,{name:r}),dh[e]=c,b}});var Th=g((wM,yh)=>{"use strict";yh.exports=function(a,e){return{value:a,done:e}}});var au=g((AM,Ah)=>{"use strict";var nx=hi(),ru=Fr(),Ih=Si(),xh=Uo(),ox=bi().f,ux=vh(),Ls=Th(),lx=ft(),cx=Ke(),wh="Array Iterator",dx=xh.set,px=xh.getterFor(wh);Ah.exports=ux(Array,"Array",function(a,e){dx(this,{type:wh,target:nx(a),index:0,kind:e})},function(){var a=px(this),e=a.target,t=a.index++;if(!e||t>=e.length)return a.target=null,Ls(void 0,!0);switch(a.kind){case"keys":return Ls(t,!1);case"values":return Ls(e[t],!1)}return Ls([t,e[t]],!1)},"values");var Eh=Ih.Arguments=Ih.Array;ru("keys");ru("values");ru("entries");if(!lx&&cx&&Eh.name!=="values")try{ox(Eh,"name",{value:"values"})}catch{}});var kh=g((PM,Ph)=>{"use strict";var hx=Le(),fx=Si(),mx=hx("iterator"),bx=Array.prototype;Ph.exports=function(a){return a!==void 0&&(fx.Array===a||bx[mx]===a)}});var su=g((kM,Lh)=>{"use strict";var gx=qr(),Rh=Cr(),Sx=$r(),vx=Si(),yx=Le(),Tx=yx("iterator");Lh.exports=function(a){if(!Sx(a))return Rh(a,Tx)||Rh(a,"@@iterator")||vx[gx(a)]}});var Mh=g((RM,$h)=>{"use strict";var Ix=Xe(),Ex=wt(),xx=At(),wx=Dr(),Ax=su(),Px=TypeError;$h.exports=function(a,e){var t=arguments.length<2?Ax(a):e;if(Ex(t))return xx(Ix(t,a));throw new Px(wx(a)+" is not iterable")}});var Bh=g((LM,Ch)=>{"use strict";var kx=Xe(),Dh=At(),Rx=Cr();Ch.exports=function(a,e,t){var i,r;Dh(a);try{if(i=Rx(a,"return"),!i){if(e==="throw")throw t;return t}i=kx(i,a)}catch(s){r=!0,i=s}if(e==="throw")throw t;if(r)throw i;return Dh(i),t}});var Ms=g(($M,Fh)=>{"use strict";var Lx=Ui(),$x=Xe(),Mx=At(),Dx=Dr(),Cx=kh(),Bx=Wi(),Vh=Mr(),Vx=Mh(),_x=su(),_h=Bh(),Ox=TypeError,$s=function(a,e){this.stopped=a,this.result=e},Oh=$s.prototype;Fh.exports=function(a,e,t){var i=t&&t.that,r=!!(t&&t.AS_ENTRIES),s=!!(t&&t.IS_RECORD),n=!!(t&&t.IS_ITERATOR),u=!!(t&&t.INTERRUPTED),o=Lx(e,i),l,p,d,c,h,m,b,S=function(I){return l&&_h(l,"normal"),new $s(!0,I)},v=function(I){return r?(Mx(I),u?o(I[0],I[1],S):o(I[0],I[1])):u?o(I,S):o(I)};if(s)l=a.iterator;else if(n)l=a;else{if(p=_x(a),!p)throw new Ox(Dx(a)+" is not iterable");if(Cx(p)){for(d=0,c=Bx(a);c>d;d++)if(h=v(a[d]),h&&Vh(Oh,h))return h;return new $s(!1)}l=Vx(a,p)}for(m=s?a.next:l.next;!(b=$x(m,l)).done;){try{h=v(b.value)}catch(I){_h(l,"throw",I)}if(typeof h=="object"&&h&&Vh(Oh,h))return h}return new $s(!1)}});var qh=g((MM,Nh)=>{"use strict";var Fx=Ke(),Nx=bi(),qx=Lr();Nh.exports=function(a,e,t){Fx?Nx.f(a,e,qx(0,t)):a[e]=t}});var Uh=g(()=>{"use strict";var Ux=Te(),Hx=Ms(),jx=qh();Ux({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Hx(e,function(i,r){jx(t,i,r)},{AS_ENTRIES:!0}),t}})});var jh=g((BM,Hh)=>{"use strict";au();Uh();var Qx=fi();Hh.exports=Qx.Object.fromEntries});var Wh=g((VM,Qh)=>{"use strict";Qh.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}});var zh=g(()=>{"use strict";au();var Wx=Wh(),Gx=Se(),zx=Ur(),Gh=Si();for(Ds in Wx)zx(Gx[Ds],Ds),Gh[Ds]=Gh.Array;var Ds});var Kh=g((FM,Yh)=>{"use strict";var Yx=jh();zh();Yh.exports=Yx});var nu=g((NM,Xh)=>{"use strict";var Kx=Kh();Xh.exports=Kx});var Jh=g(()=>{"use strict"});var ou=g((HM,Zh)=>{"use strict";var Qr=Se(),Xx=mi(),Jx=pi(),Cs=function(a){return Xx.slice(0,a.length)===a};Zh.exports=function(){return Cs("Bun/")?"BUN":Cs("Cloudflare-Workers")?"CLOUDFLARE":Cs("Deno/")?"DENO":Cs("Node.js/")?"NODE":Qr.Bun&&typeof Bun.version=="string"?"BUN":Qr.Deno&&typeof Deno.version=="object"?"DENO":Jx(Qr.process)==="process"?"NODE":Qr.window&&Qr.document?"BROWSER":"REST"}()});var Bs=g((jM,ef)=>{"use strict";var Zx=ou();ef.exports=Zx==="NODE"});var rf=g((QM,tf)=>{"use strict";var ew=bi();tf.exports=function(a,e,t){return ew.f(a,e,t)}});var nf=g((WM,sf)=>{"use strict";var tw=Vt(),iw=rf(),rw=Le(),aw=Ke(),af=rw("species");sf.exports=function(a){var e=tw(a);aw&&e&&!e[af]&&iw(e,af,{configurable:!0,get:function(){return this}})}});var uf=g((GM,of)=>{"use strict";var sw=Mr(),nw=TypeError;of.exports=function(a,e){if(sw(e,a))return a;throw new nw("Incorrect invocation")}});var lu=g((zM,lf)=>{"use strict";var ow=Ae(),uw=ve(),uu=Br(),lw=ow(Function.toString);uw(uu.inspectSource)||(uu.inspectSource=function(a){return lw(a)});lf.exports=uu.inspectSource});var du=g((YM,ff)=>{"use strict";var cw=Ae(),dw=we(),cf=ve(),pw=qr(),hw=Vt(),fw=lu(),df=function(){},pf=hw("Reflect","construct"),cu=/^\s*(?:class|function)\b/,mw=cw(cu.exec),bw=!cu.test(df),Wr=function(e){if(!cf(e))return!1;try{return pf(df,[],e),!0}catch{return!1}},hf=function(e){if(!cf(e))return!1;switch(pw(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return bw||!!mw(cu,fw(e))}catch{return!0}};hf.sham=!0;ff.exports=!pf||dw(function(){var a;return Wr(Wr.call)||!Wr(Object)||!Wr(function(){a=!0})||a})?hf:Wr});var bf=g((KM,mf)=>{"use strict";var gw=du(),Sw=Dr(),vw=TypeError;mf.exports=function(a){if(gw(a))return a;throw new vw(Sw(a)+" is not a constructor")}});var pu=g((XM,Sf)=>{"use strict";var gf=At(),yw=bf(),Tw=$r(),Iw=Le(),Ew=Iw("species");Sf.exports=function(a,e){var t=gf(a).constructor,i;return t===void 0||Tw(i=gf(t)[Ew])?e:yw(i)}});var yf=g((JM,vf)=>{"use strict";var xw=Ae();vf.exports=xw([].slice)});var If=g((ZM,Tf)=>{"use strict";var ww=TypeError;Tf.exports=function(a,e){if(a<e)throw new ww("Not enough arguments");return a}});var hu=g((eD,Ef)=>{"use strict";var Aw=mi();Ef.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(Aw)});var Iu=g((tD,Mf)=>{"use strict";var Je=Se(),Pw=ro(),kw=Ui(),xf=ve(),Rw=mt(),$f=we(),wf=Wo(),Lw=yf(),Af=bs(),$w=If(),Mw=hu(),Dw=Bs(),vu=Je.setImmediate,yu=Je.clearImmediate,Cw=Je.process,fu=Je.Dispatch,Bw=Je.Function,Pf=Je.MessageChannel,Vw=Je.String,mu=0,Gr={},kf="onreadystatechange",zr,yi,bu,gu;$f(function(){zr=Je.location});var Tu=function(a){if(Rw(Gr,a)){var e=Gr[a];delete Gr[a],e()}},Su=function(a){return function(){Tu(a)}},Rf=function(a){Tu(a.data)},Lf=function(a){Je.postMessage(Vw(a),zr.protocol+"//"+zr.host)};(!vu||!yu)&&(vu=function(e){$w(arguments.length,1);var t=xf(e)?e:Bw(e),i=Lw(arguments,1);return Gr[++mu]=function(){Pw(t,void 0,i)},yi(mu),mu},yu=function(e){delete Gr[e]},Dw?yi=function(a){Cw.nextTick(Su(a))}:fu&&fu.now?yi=function(a){fu.now(Su(a))}:Pf&&!Mw?(bu=new Pf,gu=bu.port2,bu.port1.onmessage=Rf,yi=kw(gu.postMessage,gu)):Je.addEventListener&&xf(Je.postMessage)&&!Je.importScripts&&zr&&zr.protocol!=="file:"&&!$f(Lf)?(yi=Lf,Je.addEventListener("message",Rf,!1)):kf in Af("script")?yi=function(a){wf.appendChild(Af("script"))[kf]=function(){wf.removeChild(this),Tu(a)}}:yi=function(a){setTimeout(Su(a),0)});Mf.exports={set:vu,clear:yu}});var Bf=g((iD,Cf)=>{"use strict";var Df=Se(),_w=Ke(),Ow=Object.getOwnPropertyDescriptor;Cf.exports=function(a){if(!_w)return Df[a];var e=Ow(Df,a);return e&&e.value}});var Eu=g((rD,_f)=>{"use strict";var Vf=function(){this.head=null,this.tail=null};Vf.prototype={add:function(a){var e={item:a,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var a=this.head;if(a){var e=this.head=a.next;return e===null&&(this.tail=null),a.item}}};_f.exports=Vf});var Ff=g((aD,Of)=>{"use strict";var Fw=mi();Of.exports=/ipad|iphone|ipod/i.test(Fw)&&typeof Pebble<"u"});var qf=g((sD,Nf)=>{"use strict";var Nw=mi();Nf.exports=/web0s(?!.*chrome)/i.test(Nw)});var zf=g((nD,Gf)=>{"use strict";var Ki=Se(),qw=Bf(),Uf=Ui(),xu=Iu().set,Uw=Eu(),Hw=hu(),jw=Ff(),Qw=qf(),wu=Bs(),Hf=Ki.MutationObserver||Ki.WebKitMutationObserver,jf=Ki.document,Qf=Ki.process,Vs=Ki.Promise,ku=qw("queueMicrotask"),Yi,Au,Pu,_s,Wf;ku||(Yr=new Uw,Kr=function(){var a,e;for(wu&&(a=Qf.domain)&&a.exit();e=Yr.get();)try{e()}catch(t){throw Yr.head&&Yi(),t}a&&a.enter()},!Hw&&!wu&&!Qw&&Hf&&jf?(Au=!0,Pu=jf.createTextNode(""),new Hf(Kr).observe(Pu,{characterData:!0}),Yi=function(){Pu.data=Au=!Au}):!jw&&Vs&&Vs.resolve?(_s=Vs.resolve(void 0),_s.constructor=Vs,Wf=Uf(_s.then,_s),Yi=function(){Wf(Kr)}):wu?Yi=function(){Qf.nextTick(Kr)}:(xu=Uf(xu,Ki),Yi=function(){xu(Kr)}),ku=function(a){Yr.head||Yi(),Yr.add(a)});var Yr,Kr;Gf.exports=ku});var Kf=g((oD,Yf)=>{"use strict";Yf.exports=function(a,e){try{arguments.length===1?console.error(a):console.error(a,e)}catch{}}});var Os=g((uD,Xf)=>{"use strict";Xf.exports=function(a){try{return{error:!1,value:a()}}catch(e){return{error:!0,value:e}}}});var Ti=g((lD,Jf)=>{"use strict";var Ww=Se();Jf.exports=Ww.Promise});var Xi=g((cD,im)=>{"use strict";var Gw=Se(),Xr=Ti(),zw=ve(),Yw=Ao(),Kw=lu(),Xw=Le(),Zf=ou(),Jw=ft(),Ru=ho(),em=Xr&&Xr.prototype,Zw=Xw("species"),Lu=!1,tm=zw(Gw.PromiseRejectionEvent),eA=Yw("Promise",function(){var a=Kw(Xr),e=a!==String(Xr);if(!e&&Ru===66||Jw&&!(em.catch&&em.finally))return!0;if(!Ru||Ru<51||!/native code/.test(a)){var t=new Xr(function(s){s(1)}),i=function(s){s(function(){},function(){})},r=t.constructor={};if(r[Zw]=i,Lu=t.then(function(){})instanceof i,!Lu)return!0}return!e&&(Zf==="BROWSER"||Zf==="DENO")&&!tm});im.exports={CONSTRUCTOR:eA,REJECTION_EVENT:tm,SUBCLASSING:Lu}});var Ji=g((dD,am)=>{"use strict";var rm=wt(),tA=TypeError,iA=function(a){var e,t;this.promise=new a(function(i,r){if(e!==void 0||t!==void 0)throw new tA("Bad Promise constructor");e=i,t=r}),this.resolve=rm(e),this.reject=rm(t)};am.exports.f=function(a){return new iA(a)}});var xm=g(()=>{"use strict";var rA=Te(),aA=ft(),Us=Bs(),Zt=Se(),sA=fi(),ir=Xe(),sm=zi(),nm=tu(),nA=Ur(),oA=nf(),uA=wt(),qs=ve(),lA=Ne(),cA=uf(),dA=pu(),dm=Iu().set,Bu=zf(),pA=Kf(),hA=Os(),fA=Eu(),pm=Uo(),Hs=Ti(),Vu=Xi(),hm=Ji(),js="Promise",fm=Vu.CONSTRUCTOR,mA=Vu.REJECTION_EVENT,bA=Vu.SUBCLASSING,$u=pm.getterFor(js),gA=pm.set,Zi=Hs&&Hs.prototype,Ii=Hs,Fs=Zi,mm=Zt.TypeError,Mu=Zt.document,_u=Zt.process,Du=hm.f,SA=Du,vA=!!(Mu&&Mu.createEvent&&Zt.dispatchEvent),bm="unhandledrejection",yA="rejectionhandled",om=0,gm=1,TA=2,Ou=1,Sm=2,Ns,um,vm,lm,ym=function(a){var e;return lA(a)&&qs(e=a.then)?e:!1},Tm=function(a,e){var t=e.value,i=e.state===gm,r=i?a.ok:a.fail,s=a.resolve,n=a.reject,u=a.domain,o,l,p;try{r?(i||(e.rejection===Sm&&EA(e),e.rejection=Ou),r===!0?o=t:(u&&u.enter(),o=r(t),u&&(u.exit(),p=!0)),o===a.promise?n(new mm("Promise-chain cycle")):(l=ym(o))?ir(l,o,s,n):s(o)):n(t)}catch(d){u&&!p&&u.exit(),n(d)}},Im=function(a,e){a.notified||(a.notified=!0,Bu(function(){for(var t=a.reactions,i;i=t.get();)Tm(i,a);a.notified=!1,e&&!a.rejection&&IA(a)}))},Em=function(a,e,t){var i,r;vA?(i=Mu.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(a,!1,!0),Zt.dispatchEvent(i)):i={promise:e,reason:t},!mA&&(r=Zt["on"+a])?r(i):a===bm&&pA("Unhandled promise rejection",t)},IA=function(a){ir(dm,Zt,function(){var e=a.facade,t=a.value,i=cm(a),r;if(i&&(r=hA(function(){Us?_u.emit("unhandledRejection",t,e):Em(bm,e,t)}),a.rejection=Us||cm(a)?Sm:Ou,r.error))throw r.value})},cm=function(a){return a.rejection!==Ou&&!a.parent},EA=function(a){ir(dm,Zt,function(){var e=a.facade;Us?_u.emit("rejectionHandled",e):Em(yA,e,a.value)})},er=function(a,e,t){return function(i){a(e,i,t)}},tr=function(a,e,t){a.done||(a.done=!0,t&&(a=t),a.value=e,a.state=TA,Im(a,!0))},Cu=function(a,e,t){if(!a.done){a.done=!0,t&&(a=t);try{if(a.facade===e)throw new mm("Promise can't be resolved itself");var i=ym(e);i?Bu(function(){var r={done:!1};try{ir(i,e,er(Cu,r,a),er(tr,r,a))}catch(s){tr(r,s,a)}}):(a.value=e,a.state=gm,Im(a,!1))}catch(r){tr({done:!1},r,a)}}};if(fm&&(Ii=function(e){cA(this,Fs),uA(e),ir(Ns,this);var t=$u(this);try{e(er(Cu,t),er(tr,t))}catch(i){tr(t,i)}},Fs=Ii.prototype,Ns=function(e){gA(this,{type:js,done:!1,notified:!1,parent:!1,reactions:new fA,rejection:!1,state:om,value:null})},Ns.prototype=sm(Fs,"then",function(e,t){var i=$u(this),r=Du(dA(this,Ii));return i.parent=!0,r.ok=qs(e)?e:!0,r.fail=qs(t)&&t,r.domain=Us?_u.domain:void 0,i.state===om?i.reactions.add(r):Bu(function(){Tm(r,i)}),r.promise}),um=function(){var a=new Ns,e=$u(a);this.promise=a,this.resolve=er(Cu,e),this.reject=er(tr,e)},hm.f=Du=function(a){return a===Ii||a===vm?new um(a):SA(a)},!aA&&qs(Hs)&&Zi!==Object.prototype)){lm=Zi.then,bA||sm(Zi,"then",function(e,t){var i=this;return new Ii(function(r,s){ir(lm,i,r,s)}).then(e,t)},{unsafe:!0});try{delete Zi.constructor}catch{}nm&&nm(Zi,Fs)}rA({global:!0,constructor:!0,wrap:!0,forced:fm},{Promise:Ii});vm=sA.Promise;nA(Ii,js,!1,!0);oA(js)});var Rm=g((fD,km)=>{"use strict";var xA=Le(),Am=xA("iterator"),Pm=!1;try{wm=0,Fu={next:function(){return{done:!!wm++}},return:function(){Pm=!0}},Fu[Am]=function(){return this},Array.from(Fu,function(){throw 2})}catch{}var wm,Fu;km.exports=function(a,e){try{if(!e&&!Pm)return!1}catch{return!1}var t=!1;try{var i={};i[Am]=function(){return{next:function(){return{done:t=!0}}}},a(i)}catch{}return t}});var Nu=g((mD,Lm)=>{"use strict";var wA=Ti(),AA=Rm(),PA=Xi().CONSTRUCTOR;Lm.exports=PA||!AA(function(a){wA.all(a).then(void 0,function(){})})});var $m=g(()=>{"use strict";var kA=Te(),RA=Xe(),LA=wt(),$A=Ji(),MA=Os(),DA=Ms(),CA=Nu();kA({target:"Promise",stat:!0,forced:CA},{all:function(e){var t=this,i=$A.f(t),r=i.resolve,s=i.reject,n=MA(function(){var u=LA(t.resolve),o=[],l=0,p=1;DA(e,function(d){var c=l++,h=!1;p++,RA(u,t,d).then(function(m){h||(h=!0,o[c]=m,--p||r(o))},s)}),--p||r(o)});return n.error&&s(n.value),i.promise}})});var Dm=g(()=>{"use strict";var BA=Te(),VA=ft(),_A=Xi().CONSTRUCTOR,Uu=Ti(),OA=Vt(),FA=ve(),NA=zi(),Mm=Uu&&Uu.prototype;BA({target:"Promise",proto:!0,forced:_A,real:!0},{catch:function(a){return this.then(void 0,a)}});!VA&&FA(Uu)&&(qu=OA("Promise").prototype.catch,Mm.catch!==qu&&NA(Mm,"catch",qu,{unsafe:!0}));var qu});var Cm=g(()=>{"use strict";var qA=Te(),UA=Xe(),HA=wt(),jA=Ji(),QA=Os(),WA=Ms(),GA=Nu();qA({target:"Promise",stat:!0,forced:GA},{race:function(e){var t=this,i=jA.f(t),r=i.reject,s=QA(function(){var n=HA(t.resolve);WA(e,function(u){UA(n,t,u).then(i.resolve,r)})});return s.error&&r(s.value),i.promise}})});var Bm=g(()=>{"use strict";var zA=Te(),YA=Ji(),KA=Xi().CONSTRUCTOR;zA({target:"Promise",stat:!0,forced:KA},{reject:function(e){var t=YA.f(this),i=t.reject;return i(e),t.promise}})});var Hu=g((xD,Vm)=>{"use strict";var XA=At(),JA=Ne(),ZA=Ji();Vm.exports=function(a,e){if(XA(a),JA(e)&&e.constructor===a)return e;var t=ZA.f(a),i=t.resolve;return i(e),t.promise}});var Fm=g(()=>{"use strict";var eP=Te(),tP=Vt(),_m=ft(),iP=Ti(),Om=Xi().CONSTRUCTOR,rP=Hu(),aP=tP("Promise"),sP=_m&&!Om;eP({target:"Promise",stat:!0,forced:_m||Om},{resolve:function(e){return rP(sP&&this===aP?iP:this,e)}})});var Nm=g(()=>{"use strict";xm();$m();Dm();Cm();Bm();Fm()});var jm=g(()=>{"use strict";var nP=Te(),oP=ft(),Qs=Ti(),uP=we(),Um=Vt(),Hm=ve(),lP=pu(),qm=Hu(),cP=zi(),Qu=Qs&&Qs.prototype,dP=!!Qs&&uP(function(){Qu.finally.call({then:function(){}},function(){})});nP({target:"Promise",proto:!0,real:!0,forced:dP},{finally:function(a){var e=lP(this,Um("Promise")),t=Hm(a);return this.then(t?function(i){return qm(e,a()).then(function(){return i})}:a,t?function(i){return qm(e,a()).then(function(){throw i})}:a)}});!oP&&Hm(Qs)&&(ju=Um("Promise").prototype.finally,Qu.finally!==ju&&cP(Qu,"finally",ju,{unsafe:!0}));var ju});var Wm=g(($D,Qm)=>{"use strict";Jh();Nm();jm();var pP=Jt();Qm.exports=pP("Promise","finally")});var zm=g((MD,Gm)=>{"use strict";var hP=Wm();Gm.exports=hP});var Ws=g((DD,Ym)=>{"use strict";var fP=zm();Ym.exports=fP});var db=g(()=>{"use strict";var kP=Te(),RP=Ni(),LP=Wi(),$P=Or(),MP=Fr();kP({target:"Array",proto:!0},{at:function(e){var t=RP(this),i=LP(t),r=$P(e),s=r>=0?r:i+r;return s<0||s>=i?void 0:t[s]}});MP("at")});var hb=g((pB,pb)=>{"use strict";db();var DP=Jt();pb.exports=DP("Array","at")});var mb=g((hB,fb)=>{"use strict";var CP=hb();fb.exports=CP});var gt=g((fB,bb)=>{"use strict";var BP=mb();bb.exports=BP});var pl=g((zV,qb)=>{"use strict";var WP=pi();qb.exports=Array.isArray||function(e){return WP(e)==="Array"}});var Hb=g((YV,Ub)=>{"use strict";var GP=TypeError,zP=9007199254740991;Ub.exports=function(a){if(a>zP)throw GP("Maximum allowed index exceeded");return a}});var Wb=g((KV,Qb)=>{"use strict";var YP=pl(),KP=Wi(),XP=Hb(),JP=Ui(),jb=function(a,e,t,i,r,s,n,u){for(var o=r,l=0,p=n?JP(n,u):!1,d,c;l<i;)l in t&&(d=p?p(t[l],l,e):t[l],s>0&&YP(d)?(c=KP(d),o=jb(a,e,d,c,o,s-1)-1):(XP(o+1),a[o]=d),o++),l++;return o};Qb.exports=jb});var Kb=g((XV,Yb)=>{"use strict";var Gb=pl(),ZP=du(),ek=Ne(),tk=Le(),ik=tk("species"),zb=Array;Yb.exports=function(a){var e;return Gb(a)&&(e=a.constructor,ZP(e)&&(e===zb||Gb(e.prototype))?e=void 0:ek(e)&&(e=e[ik],e===null&&(e=void 0))),e===void 0?zb:e}});var Jb=g((JV,Xb)=>{"use strict";var rk=Kb();Xb.exports=function(a,e){return new(rk(a))(e===0?0:e)}});var Zb=g(()=>{"use strict";var ak=Te(),sk=Wb(),nk=wt(),ok=Ni(),uk=Wi(),lk=Jb();ak({target:"Array",proto:!0},{flatMap:function(e){var t=ok(this),i=uk(t),r;return nk(e),r=lk(t,0),r.length=sk(r,t,t,i,0,1,e,arguments.length>1?arguments[1]:void 0),r}})});var eg=g(()=>{"use strict";var ck=Fr();ck("flatMap")});var ig=g((r0,tg)=>{"use strict";Zb();eg();var dk=Jt();tg.exports=dk("Array","flatMap")});var ag=g((a0,rg)=>{"use strict";var pk=ig();rg.exports=pk});var la=g((s0,sg)=>{"use strict";var hk=ag();sg.exports=hk});var ca=g((n0,ng)=>{"use strict";var fk=qr(),mk=String;ng.exports=function(a){if(fk(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return mk(a)}});var hl=g((o0,og)=>{"use strict";og.exports=`
|
|
7
|
-
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`});var cg=g((u0,lg)=>{"use strict";var bk=Ae(),gk=Xt(),Sk=ca(),ml=hl(),ug=bk("".replace),vk=RegExp("^["+ml+"]+"),yk=RegExp("(^|[^"+ml+"])["+ml+"]+$"),fl=function(a){return function(e){var t=Sk(gk(e));return a&1&&(t=ug(t,vk,"")),a&2&&(t=ug(t,yk,"$1")),t}};lg.exports={start:fl(1),end:fl(2),trim:fl(3)}});var fg=g((l0,hg)=>{"use strict";var Tk=Qo().PROPER,Ik=we(),dg=hl(),pg="\u200B\x85\u180E";hg.exports=function(a){return Ik(function(){return!!dg[a]()||pg[a]()!==pg||Tk&&dg[a].name!==a})}});var bl=g((c0,mg)=>{"use strict";var Ek=cg().start,xk=fg();mg.exports=xk("trimStart")?function(){return Ek(this)}:"".trimStart});var gg=g(()=>{"use strict";var wk=Te(),bg=bl();wk({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==bg},{trimLeft:bg})});var vg=g(()=>{"use strict";gg();var Ak=Te(),Sg=bl();Ak({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==Sg},{trimStart:Sg})});var Tg=g((m0,yg)=>{"use strict";vg();var Pk=Jt();yg.exports=Pk("String","trimLeft")});var Eg=g((b0,Ig)=>{"use strict";var kk=Tg();Ig.exports=kk});var wg=g((g0,xg)=>{"use strict";var Rk=Eg();xg.exports=Rk});var Ng=g(()=>{"use strict"});var qg=g(()=>{"use strict"});var Hg=g((JO,Ug)=>{"use strict";var Yk=Ne(),Kk=pi(),Xk=Le(),Jk=Xk("match");Ug.exports=function(a){var e;return Yk(a)&&((e=a[Jk])!==void 0?!!e:Kk(a)==="RegExp")}});var Wg=g((ZO,Qg)=>{"use strict";var Zk=Se(),eR=we(),jg=Zk.RegExp,tR=!eR(function(){var a=!0;try{jg(".","d")}catch{a=!1}var e={},t="",i=a?"dgimsy":"gimsy",r=function(o,l){Object.defineProperty(e,o,{get:function(){return t+=l,!0}})},s={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(s.hasIndices="d");for(var n in s)r(n,s[n]);var u=Object.getOwnPropertyDescriptor(jg.prototype,"flags").get.call(e);return u!==i||t!==i});Qg.exports={correct:tR}});var zg=g((eF,Gg)=>{"use strict";var iR=At();Gg.exports=function(){var a=iR(this),e="";return a.hasIndices&&(e+="d"),a.global&&(e+="g"),a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.dotAll&&(e+="s"),a.unicode&&(e+="u"),a.unicodeSets&&(e+="v"),a.sticky&&(e+="y"),e}});var Xg=g((tF,Kg)=>{"use strict";var rR=Xe(),aR=mt(),sR=Mr(),Yg=Wg(),nR=zg(),oR=RegExp.prototype;Kg.exports=Yg.correct?function(a){return a.flags}:function(a){return!Yg.correct&&sR(oR,a)&&!aR(a,"flags")?rR(nR,a):a.flags}});var Zg=g((iF,Jg)=>{"use strict";var yl=Ae(),uR=Ni(),lR=Math.floor,Sl=yl("".charAt),cR=yl("".replace),vl=yl("".slice),dR=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,pR=/\$([$&'`]|\d{1,2})/g;Jg.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=pR;return r!==void 0&&(r=uR(r),o=dR),cR(s,o,function(l,p){var d;switch(Sl(p,0)){case"$":return"$";case"&":return a;case"`":return vl(e,0,t);case"'":return vl(e,n);case"<":d=r[vl(p,1,-1)];break;default:var c=+p;if(c===0)return l;if(c>u){var h=lR(c/10);return h===0?l:h<=u?i[h-1]===void 0?Sl(p,1):i[h-1]+Sl(p,1):l}d=i[c-1]}return d===void 0?"":d})}});var iS=g(()=>{"use strict";var hR=Te(),fR=Xe(),Il=Ae(),eS=Xt(),mR=ve(),bR=Ne(),gR=Hg(),fr=ca(),SR=Cr(),vR=Xg(),yR=Zg(),TR=Le(),IR=ft(),ER=TR("replace"),xR=TypeError,Tl=Il("".indexOf),wR=Il("".replace),tS=Il("".slice),AR=Math.max;hR({target:"String",proto:!0},{replaceAll:function(e,t){var i=eS(this),r,s,n,u,o,l,p,d,c,h,m=0,b="";if(bR(e)){if(r=gR(e),r&&(s=fr(eS(vR(e))),!~Tl(s,"g")))throw new xR("`.replaceAll` does not allow non-global regexes");if(n=SR(e,ER),n)return fR(n,e,i,t);if(IR&&r)return wR(fr(i),e,t)}for(u=fr(i),o=fr(e),l=mR(t),l||(t=fr(t)),p=o.length,d=AR(1,p),c=Tl(u,o);c!==-1;)h=l?fr(t(o,c,u)):yR(o,u,c,[],void 0,t),b+=tS(u,m,c)+h,m=c+p,c=c+d>u.length?-1:Tl(u,o,c+d);return m<u.length&&(b+=tS(u,m)),b}})});var aS=g((sF,rS)=>{"use strict";Ng();qg();iS();var PR=Jt();rS.exports=PR("String","replaceAll")});var nS=g((nF,sS)=>{"use strict";var kR=aS();sS.exports=kR});var uS=g((oF,oS)=>{"use strict";var RR=nS();oS.exports=RR});var cS=g((uF,lS)=>{"use strict";var LR=Or(),$R=ca(),MR=Xt(),DR=RangeError;lS.exports=function(e){var t=$R(MR(this)),i="",r=LR(e);if(r<0||r===1/0)throw new DR("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var mS=g((lF,fS)=>{"use strict";var hS=Ae(),CR=Do(),dS=ca(),BR=cS(),VR=Xt(),_R=hS(BR),OR=hS("".slice),FR=Math.ceil,pS=function(a){return function(e,t,i){var r=dS(VR(e)),s=CR(t),n=r.length,u=i===void 0?" ":dS(i),o,l;return s<=n||u===""?r:(o=s-n,l=_R(u,FR(o/u.length)),l.length>o&&(l=OR(l,0,o)),a?r+l:l+r)}};fS.exports={start:pS(!1),end:pS(!0)}});var gS=g((cF,bS)=>{"use strict";var NR=mi();bS.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(NR)});var SS=g(()=>{"use strict";var qR=Te(),UR=mS().start,HR=gS();qR({target:"String",proto:!0,forced:HR},{padStart:function(e){return UR(this,e,arguments.length>1?arguments[1]:void 0)}})});var yS=g((hF,vS)=>{"use strict";SS();var jR=Jt();vS.exports=jR("String","padStart")});var IS=g((fF,TS)=>{"use strict";var QR=yS();TS.exports=QR});var xS=g((mF,ES)=>{"use strict";var WR=IS();ES.exports=WR});var TL={};Dv(TL,{ChromecastState:()=>Ar,HttpConnectionType:()=>ps,Observable:()=>Ct.Observable,PlaybackState:()=>Ve,Player:()=>is,PredefinedQualityLimits:()=>Pr,SDK_VERSION:()=>yL,Subject:()=>Ct.Subject,Subscription:()=>Ct.Subscription,Surface:()=>hs,VERSION:()=>to,ValueSubject:()=>Ct.ValueSubject,VideoFormat:()=>xt,VideoQuality:()=>Ct.VideoQuality,areValidLiveRecordSources:()=>rb,clientChecker:()=>W,isMobile:()=>rr});module.exports=Cv(TL);var to="2.0.140-dev.562ded66.0";var Ve=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Ve||{}),xt=(w=>(w.MPEG="MPEG",w.DASH="DASH",w.DASH_SEP="DASH_SEP",w.DASH_SEP_VK="DASH_SEP",w.DASH_WEBM="DASH_WEBM",w.DASH_WEBM_AV1="DASH_WEBM_AV1",w.DASH_STREAMS="DASH_STREAMS",w.DASH_WEBM_VK="DASH_WEBM",w.DASH_ONDEMAND="DASH_ONDEMAND",w.DASH_ONDEMAND_VK="DASH_ONDEMAND",w.DASH_LIVE="DASH_LIVE",w.DASH_LIVE_CMAF="DASH_LIVE_CMAF",w.DASH_LIVE_WEBM="DASH_LIVE_WEBM",w.HLS="HLS",w.HLS_ONDEMAND="HLS_ONDEMAND",w.HLS_JS="HLS",w.HLS_FMP4="HLS_FMP4",w.HLS_LIVE="HLS_LIVE",w.HLS_LIVE_CMAF="HLS_LIVE_CMAF",w.WEB_RTC_LIVE="WEB_RTC_LIVE",w))(xt||{});var Ar=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(Ar||{}),ps=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(ps||{});var hs=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(hs||{}),Pr=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Pr||{});var Zl=Q(gi(),1),Ev=Q(qe(),1);var J=require("@vkontakte/videoplayer-shared");var gp=a=>new Promise((e,t)=>{let i=document.createElement("script");i.setAttribute("src",a),i.onload=()=>e(),i.onerror=r=>t(r),document.body.appendChild(i)});var Ts=class{constructor(e){this.connection$=new J.ValueSubject(void 0);this.castState$=new J.ValueSubject("NOT_AVAILABLE");this.errorEvent$=new J.Subject;this.realCastState$=new J.ValueSubject("NOT_AVAILABLE");this.subscription=new J.Subscription;this.isDestroyed=!1;this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");let t="chrome"in window;if(this.log({message:`[constructor] receiverApplicationId: ${this.params.receiverApplicationId}, isDisabled: ${this.params.isDisabled}, isSupported: ${t}`}),e.isDisabled||!t)return;let i=(0,J.isNonNullable)(window.chrome?.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},r||gp("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:J.ErrorCategory.NETWORK,message:"Script loading failed!"})))}connect(){cast.framework.CastContext.getInstance()?.requestSession()}disconnect(){cast.framework.CastContext.getInstance()?.getCurrentSession()?.endSession(!0)}stopMedia(){return new Promise((e,t)=>{cast.framework.CastContext.getInstance()?.getCurrentSession()?.getMediaSession()?.stop(new chrome.cast.media.StopRequest,e,t)})}toggleConnection(){(0,J.isNonNullable)(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();(0,J.isNullable)(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();(0,J.isNullable)(t)||e!==t.remotePlayer.isMuted&&t.remotePlayerController.muteOrUnmute()}destroy(){this.isDestroyed=!0,this.subscription.unsubscribe()}initListeners(){let e=new cast.framework.RemotePlayer,t=new cast.framework.RemotePlayerController(e),i=cast.framework.CastContext.getInstance();this.subscription.add((0,J.fromEvent)(i,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe(r=>{switch(r.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:this.contentId=i.getCurrentSession()?.getMediaSession()?.media?.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:this.contentId=void 0;break;default:return(0,J.assertNever)(r.sessionState)}})).add((0,J.merge)((0,J.fromEvent)(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe((0,J.tap)(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),(0,J.map)(r=>r.castState)),(0,J.observableFrom)([i.getCastState()])).pipe((0,J.filterChanged)(),(0,J.map)(RI),(0,J.tap)(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{let s=r==="CONNECTED",n=(0,J.isNonNullable)(this.connection$.getValue());if(s&&!n){let u=i.getCurrentSession();(0,J.assertNonNullable)(u);let o=u.getCastDevice(),l=u.getMediaSession()?.media?.contentId;((0,J.isNullable)(l)||l===this.contentId)&&(this.log({message:"connection created"}),this.connection$.next({remotePlayer:e,remotePlayerController:t,session:u,castDevice:o}))}else!s&&n&&(this.log({message:"connection destroyed"}),this.connection$.next(void 0));this.castState$.next(r==="CONNECTED"?(0,J.isNonNullable)(this.connection$.getValue())?"CONNECTED":"AVAILABLE":r)}))}initializeCastApi(){let e,t,i;try{e=cast.framework.CastContext.getInstance(),t=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,i=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch{return}try{e.setOptions({receiverApplicationId:this.params.receiverApplicationId??t,autoJoinPolicy:i}),this.initListeners()}catch(r){this.errorEvent$.next({id:"ChromecastInitializer",category:J.ErrorCategory.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:r})}}},RI=a=>{switch(a){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return"NOT_AVAILABLE";case cast.framework.CastState.NOT_CONNECTED:return"AVAILABLE";case cast.framework.CastState.CONNECTING:return"CONNECTING";case cast.framework.CastState.CONNECTED:return"CONNECTED";default:return(0,J.assertNever)(a)}};var Kl=Q(qe(),1),cv=Q(Gi(),1),dv=Q(nu(),1);var sb=Q(Ws(),1);var Wu=require("@vkontakte/videoplayer-shared");var ye=(a,e=0,t=0)=>{switch(t){case 0:return a.replace("_offset_p",e===0?"":"_"+e.toFixed(0));case 1:{if(e===0)return a;let i=new URL(a);return i.searchParams.append("playback_shift",e.toFixed(0)),i.toString()}case 2:{let i=new URL(a);return!i.searchParams.get("offset_p")&&e===0?a:(i.searchParams.set("offset_p",e.toFixed(0)),i.toString())}default:(0,Wu.assertNever)(t)}return a},ei=(a,e)=>{switch(e){case 0:return NaN;case 1:{let t=new URL(a);return Number(t.searchParams.get("playback_shift"))}case 2:{let t=new URL(a);return Number(t.searchParams.get("offset_p")??0)}default:(0,Wu.assertNever)(e)}};var B=(a,e,t=!1)=>{let i=a.getTransition();(t||!i||i.to===e)&&a.setState(e)};var Pt=require("@vkontakte/videoplayer-shared"),Z=class{constructor(e){this.transitionStarted$=new Pt.Subject;this.transitionEnded$=new Pt.Subject;this.transitionUpdated$=new Pt.Subject;this.forceChanged$=new Pt.Subject;this.stateChangeStarted$=(0,Pt.merge)(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=(0,Pt.merge)(this.transitionEnded$,this.forceChanged$);this.state=e,this.prevState=void 0}setState(e){let t=this.transition,i=this.state;this.transition=void 0,this.prevState=i,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:i,to:e,canceledTransition:t})}startTransitionTo(e){let t=this.transition,i=this.state;i===e||(0,Pt.isNonNullable)(t)&&t.to===e||(this.prevState=i,this.state=e,t?(this.transition={from:t.from,to:e,canceledTransition:t},this.transitionUpdated$.next(this.transition)):(this.transition={from:i,to:e},this.transitionStarted$.next(this.transition)))}getTransition(){return this.transition}getState(){return this.state}getPrevState(){return this.prevState}};var zu=require("@vkontakte/videoplayer-shared");var Gs=class{constructor(){this._isMiuiBrowser=!1}get current(){return this._current}get isChrome(){return this.current==="Chrome"}get isFirefox(){return this.current==="Firefox"}get isSafari(){return this.current==="Safari"}get isOpera(){return this.current==="Opera"}get isEdge(){return this.current==="Edge"}get isYandex(){return this.current==="Yandex"}get isSamsungBrowser(){return this.current==="SamsungBrowser"}get currentVersion(){return this._current_version}get chromeVersion(){return this._chromeVersion}get firefoxVersion(){return this._firefoxVersion}get safariVersion(){return this._safariVersion}get operaVersion(){return this._operaVersion}get edgeVersion(){return this._edgeVersion}get yandexVersion(){return this._yandexVersion}get isMiuiBrowser(){return this._isMiuiBrowser}detect(){let{userAgent:e}=navigator;try{let t=/yabrowser/i.test(e)?"Yandex":void 0,i=/samsungbrowser/i.test(e)?"SamsungBrowser":void 0,r=/chrome|crios/i.test(e)?"Chrome":void 0,s=/chromium/i.test(e)?"Chromium":void 0,n=/firefox|fxios/i.test(e)?"Firefox":void 0,u=/webkit|safari|khtml/i.test(e)?"Safari":void 0,o=/opr\//i.test(e)?"Opera":void 0,l=/edg/i.test(e)?"Edge":void 0;this._isMiuiBrowser=/(XiaoMi)|(MiuiBrowser)/i.test(e),this._current=t||i||n||o||l||r||s||u||"Rest"}catch(t){console.error(t)}this.isChrome&&this.detectChromeVersion(),this.isFirefox&&this.detectFirefoxVersion(),this.isSafari&&this.detectSafariVersion(),this.isOpera&&this.detectOperaVersion(),this.isEdge&&this.detectEdgeVersion(),this.isYandex&&this.detectYandexVersion()}detectVersion(e){try{let{userAgent:t}=window.navigator,i=t.match(e);if(!i)return;let r=i[1],s=parseInt(r,10);if(!isNaN(s))return this._current_version=s,s}catch(t){console.error(t)}}detectChromeVersion(){this._chromeVersion=this.detectVersion(/Chrome\/(\d+\.\d+)/)}detectFirefoxVersion(){this._firefoxVersion=this.detectVersion(/Firefox\/(\d+\.\d+)/)}detectSafariVersion(){this._safariVersion=this.detectVersion(/Version\/(\d+)/)}detectOperaVersion(){this._operaVersion=this.detectVersion(/OPR\/(\d+\.\d+)/)}detectEdgeVersion(){this._edgeVersion=this.detectVersion(/Edg\/(\d+\.\d+)/)}detectYandexVersion(){this._yandexVersion=this.detectVersion(/YaBrowser\/(\d+\.\d+\.\d+)/)}};var Km=Q(qe(),1);var rr=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var zs=class{constructor(e){this._highEntropyValues={};this._displayChecker=e}get current(){return this._current}get isIOS(){let e=["iPhone","iPad","iPod"];return this._highEntropyValues.platform==="iOS"||(0,Km.default)(e,this.current)}get isMac(){return this._highEntropyValues.platform==="macOS"||this.current==="Mac"}get isApple(){return this.isIOS||this.isMac}get isIphoneOrOldIpad(){if(!this.isApple||!this._displayChecker.isTouch)return!1;let e=this.current==="iPad"||this._displayChecker.width>700,t=this._iosVersion;return!e||e&&!!t&&t<16}get isAndroid(){return this._highEntropyValues.platform==="Android"||this.current==="Android"}get isMobile(){return this._highEntropyValues.mobile||this._isMobile}get iOSVersion(){return this._iosVersion}detect(){let{userAgent:e}=navigator;try{this._isMobile=rr()}catch(t){console.error(t)}this.detectDevice(e),this.detectHighEntropyValues(),this.isIOS&&this.detectIOSVersion()}async detectHighEntropyValues(){let{userAgentData:e}=navigator;if(e?.getHighEntropyValues){let t=await e.getHighEntropyValues(["architecture","bitness","brands","mobile","platform","formFactor","model","platformVersion","wow64"]);this._highEntropyValues=t}}detectDevice(e){try{let t=/android/i.test(e)?"Android":void 0,i=/iphone/i.test(e)?"iPhone":void 0,r=/ipad/i.test(e)?"iPad":void 0,s=/ipod/i.test(e)?"iPod":void 0,n=/mac/i.test(e)?"Mac":void 0,u=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?"RestMobile":void 0;this._current=t||i||r||s||u||n||"Desktop"}catch(t){console.error(t)}}detectIOSVersion(){try{if(this._highEntropyValues.platformVersion){let s=this._highEntropyValues.platformVersion.split(".").slice(0,2).join("."),n=parseFloat(s);this._iosVersion=n;return}let{userAgent:e}=window.navigator,t=e.match(/OS (\d+(_\d+)?)/i);if(!t)return;let i=t[1].replace(/_/g,".");if(!i)return;let r=parseFloat(i);if(isNaN(r))return;this._iosVersion=r}catch(e){console.error(e)}}};var Ys=class{get isTouch(){return typeof this._maxTouchPoints=="number"?this._maxTouchPoints>1:"ontouchstart"in window}get maxTouchPoints(){return this._maxTouchPoints}get height(){return this._height}get width(){return this._width}get screenHeight(){return this._screenHeight}get screenWidth(){return this._screenWidth}get pixelRatio(){return this._pixelRatio}get isHDR(){return this._isHdr}get colorDepth(){return this._colorDepth}detect(){let{maxTouchPoints:e}=navigator;try{this._maxTouchPoints=e??0,this._isHdr=!!matchMedia("(dynamic-range: high)")?.matches,this._colorDepth=screen.colorDepth}catch(t){console.error(t)}try{this._pixelRatio=window.devicePixelRatio||1,this._height=screen.height,this._width=screen.width,this._height=screen.height,this._screenHeight=this._height*this._pixelRatio,this._screenWidth=this._width*this._pixelRatio}catch(t){console.error(t)}}};var Ze=()=>window.ManagedMediaSource||window.MediaSource,ar=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),Xm=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),Ks=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var mP=document.createElement("video"),bP='video/mp4; codecs="avc1.42000a,mp4a.40.2"',gP='video/mp4; codecs="hev1.1.6.L93.B0"',Jm='video/webm; codecs="vp09.00.10.08"',Zm='video/webm; codecs="av01.0.00M.08"',SP='audio/mp4; codecs="mp4a.40.2"',vP='audio/webm; codecs="opus"',eb,yP=async()=>{if(!window.navigator.mediaCapabilities)return;let a={type:"media-source",video:{contentType:"video/webm",width:1280,height:720,bitrate:1e6,framerate:30}},[e,t]=await Promise.all([window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Zm}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Jm}})]);eb={DASH_WEBM_AV1:e,DASH_WEBM:t}};yP().catch(a=>{console.log(mP),console.error(a)});var Xs=class{constructor(e,t){this._deviceChecker=e,this._browserChecker=t}get protocols(){return this._protocols}get containers(){return this._containers}get codecs(){return this._codecs}get webmDecodingInfo(){return eb}get supportedCodecs(){return Object.keys(this._codecs).filter(e=>this._codecs[e])}get nativeHlsSupported(){return this._nativeHlsSupported}detect(){this._video=document.createElement("video");try{this._protocols={mms:ar(),mse:Xm(),hls:!!(this._video.canPlayType?.("application/x-mpegurl")||this._video.canPlayType?.("vnd.apple.mpegURL")),webrtc:!!window.RTCPeerConnection,ws:!!window.WebSocket},this._containers={mp4:!!this._video.canPlayType?.("video/mp4"),webm:!!this._video.canPlayType?.("video/webm"),cmaf:!0};let e=!!Ze()?.isTypeSupported?.(bP),t=!!Ze()?.isTypeSupported?.(gP),i=!!Ze()?.isTypeSupported?.(SP);this._codecs={h264:e,h265:t,vp9:!!Ze()?.isTypeSupported?.(Jm),av1:!!Ze()?.isTypeSupported?.(Zm),aac:i,opus:!!Ze()?.isTypeSupported?.(vP),mpeg:(e||t)&&i},this._nativeHlsSupported=this._protocols.hls&&this._containers.mp4}catch(e){console.error(e)}try{this.destroyVideoElement()}catch(e){console.error("Error destroying video element:",e)}}destroyVideoElement(){if(!this._video)return;if(this._video.pause(),this._video.currentTime=0,this._video.removeAttribute("src"),this._video.src="",this._video.load(),this._video.remove){this._video.remove(),this._video=null;return}this._video.parentNode&&this._video.parentNode.removeChild(this._video);let e=this._video.cloneNode(!1);this._video.parentNode?.replaceChild(e,this._video),this._video=null}};var tb="audio/mpeg",Js=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(tb)},this._codecs={mp3:!!Ze()?.isTypeSupported?.(tb)}}catch(e){console.error(e)}try{this.destroyAudioElement()}catch(e){console.error("Error destroying audio element:",e)}}destroyAudioElement(){if(!this._audio)return;if(this._audio.pause(),this._audio.currentTime=0,this._audio.removeAttribute("src"),this._audio.src="",this._audio.load(),this._audio.remove){this._audio.remove(),this._audio=null;return}this._audio.parentNode&&this._audio.parentNode.removeChild(this._audio);let e=this._audio.cloneNode(!1);this._audio.parentNode?.replaceChild(e,this._audio),this._audio=null}};var ib=require("@vkontakte/videoplayer-shared"),Gu=class{constructor(){this.isInited$=new ib.ValueSubject(!1);this._displayChecker=new Ys,this._deviceChecker=new zs(this._displayChecker),this._browserChecker=new Gs,this._videoChecker=new Xs(this._deviceChecker,this._browserChecker),this._audioChecker=new Js,this.detect()}get display(){return this._displayChecker}get device(){return this._deviceChecker}get browser(){return this._browserChecker}get video(){return this._videoChecker}get audio(){return this._audioChecker}async detect(){this._displayChecker.detect(),this._deviceChecker.detect(),this._browserChecker.detect(),this._videoChecker.detect(),this._audioChecker.detect(),this.isInited$.next(!0)}},W=new Gu;var Yu=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=W.video,s=(i.h264||i.h265)&&i.aac,n=t.mse||t.mms;return a.filter(u=>{switch(u){case"DASH_SEP":return n&&e.mp4&&s;case"DASH_WEBM":return n&&e.webm&&i.vp9&&i.opus;case"DASH_WEBM_AV1":return n&&e.webm&&i.av1&&i.opus;case"DASH_STREAMS":return n&&(e.mp4&&s||e.webm&&(i.vp9||i.av1)&&(i.opus||i.aac));case"DASH_LIVE":return n&&e.mp4&&s;case"DASH_LIVE_CMAF":return n&&e.mp4&&s&&e.cmaf;case"DASH_ONDEMAND":return n&&e.mp4&&s;case"HLS":case"HLS_ONDEMAND":case"HLS_FMP4":case"HLS_LIVE":case"HLS_LIVE_CMAF":return r;case"MPEG":return e.mp4;case"DASH":case"DASH_LIVE_WEBM":return!1;case"WEB_RTC_LIVE":return t.webrtc&&t.ws&&i.h264&&(e.mp4||e.webm);default:return(0,zu.assertNever)(u)}})},Ku=a=>{switch(a){case"MPEG":case"DASH":case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":return!1;case"DASH_LIVE":case"DASH_LIVE_CMAF":case"HLS_LIVE":case"HLS_LIVE_CMAF":case"DASH_LIVE_WEBM":case"WEB_RTC_LIVE":return!0;default:return(0,zu.assertNever)(a)}},rb=a=>{let t=Object.keys(a).filter(i=>!Ku(i));return Yu(t).length>0};var q=require("@vkontakte/videoplayer-shared");var TP=5,IP=5,EP=500,ab=7e3,Jr=class{constructor(e){this.subscription=new q.Subscription;this.loadMediaTimeoutSubscription=new q.Subscription;this.videoState=new Z("stopped");this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),s=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${i}; desiredPlaybackStateTransition: ${this.params.desiredState.playbackState.getTransition()}; seekState: ${JSON.stringify(s)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.stop());return}if(!t){if(r?.to!=="paused"&&s.state==="requested"&&e!=="stopped"){this.seek(s.position/1e3);return}switch(i){case"ready":{switch(e){case"playing":case"paused":case"ready":break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,q.assertNever)(e)}break}case"playing":{switch(e){case"playing":break;case"paused":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"ready":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,q.assertNever)(e)}break}case"paused":{switch(e){case"playing":this.videoState.startTransitionTo("paused"),this.params.connection.remotePlayerController.playOrPause();break;case"paused":break;case"ready":this.videoState.startTransitionTo("paused"),this.videoState.setState("paused");break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,q.assertNever)(e)}break}default:(0,q.assertNever)(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(Ku(e.format)),this.params.output.isAudioAvailable$.next(!0),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});let t=this.params.connection.session.getMediaSession();t&&this.restoreSession(t),this.subscribe()}destroy(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()}subscribe(){this.subscription.add(this.loadMediaTimeoutSubscription);let e=new q.Subscription;this.subscription.add(e),this.subscription.add((0,q.merge)(this.videoState.stateChangeStarted$.pipe((0,q.map)(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe((0,q.map)(r=>`stateChangeEnded$ ${JSON.stringify(r)}`))).subscribe(r=>this.log({message:`[videoState] ${r}`})));let t=(r,s)=>this.subscription.add(r.subscribe(s));if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{let r=new q.Subject;e.add(r.pipe((0,q.debounce)(EP)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe(n=>{this.logRemoteEvent(n);let u=n.value;this.params.output.position$.next(u),(this.params.desiredState.seekState.getState().state==="applying"||Math.abs(u-s)>TP)&&r.next(u),s=u})),e.add((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),r=>{this.logRemoteEvent(r);let{remotePlayer:s}=this.params.connection,n=r.value,u=this.params.output.isBuffering$.getValue(),o=n===chrome.cast.media.PlayerState.BUFFERING;switch(u!==o&&this.params.output.isBuffering$.next(o),n){case chrome.cast.media.PlayerState.IDLE:!this.params.output.isLive$.getValue()&&s.duration-s.currentTime<IP&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),B(this.params.desiredState.playbackState,"stopped");break;case chrome.cast.media.PlayerState.PAUSED:{this.handleRemotePause();break}case chrome.cast.media.PlayerState.PLAYING:this.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:(0,q.assertNever)(n)}}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=(0,q.merge)(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,(0,q.observableFrom)(["init"])).pipe((0,q.debounce)(0));t(i,this.syncPlayback)}restoreSession(e){this.log({message:"restoreSession"});let{remotePlayer:t}=this.params.connection;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState("paused"),B(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),B(this.params.desiredState.playbackState,"playing"));let i=this.params.output.isLive$.getValue();this.params.output.duration$.next(i?0:t.duration),this.params.output.position$.next(i?0:t.currentTime),this.params.desiredState.seekState.setState({state:"none"})}}prepare(){let e=this.params.format;this.log({message:`[prepare] format: ${e}`});let t=this.createMediaInfo(e),i=this.createLoadRequest(t);this.loadMedia(i)}handleRemotePause(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="paused"||e==="playing")&&(this.videoState.setState("paused"),B(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),B(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&B(this.params.desiredState.playbackState,"ready")}handleRemoteStop(){this.videoState.getState()!=="stopped"&&this.videoState.setState("stopped")}handleRemoteVolumeChange(e){let t=this.params.output.volume$.getValue(),i={volume:e.volume??t.volume,muted:e.muted??t.muted};(i.volume!==t.volume||i.muted!==i.muted)&&this.params.output.volume$.next(i)}seek(e){this.params.output.willSeekEvent$.next();let{remotePlayer:t,remotePlayerController:i}=this.params.connection;t.currentTime=e,i.seek()}stop(){let{remotePlayerController:e}=this.params.connection;e.stop()}createMediaInfo(e){let t=this.params.source,i,r,s;switch(e){case"MPEG":{let l=t[e];(0,q.assertNonNullable)(l);let p=(0,q.getHighestQuality)(Object.keys(l));(0,q.assertNonNullable)(p);let d=l[p];(0,q.assertNonNullable)(d),i=d,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];(0,q.assertNonNullable)(l),i=l.url,r="application/x-mpegurl",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":{let l=t[e];(0,q.assertNonNullable)(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];(0,q.assertNonNullable)(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.LIVE;break}case"HLS_LIVE":case"HLS_LIVE_CMAF":{let l=t[e];(0,q.assertNonNullable)(l),i=ye(l.url),r="application/x-mpegurl",s=chrome.cast.media.StreamType.LIVE;break}case"DASH_LIVE":case"WEB_RTC_LIVE":{let l="Unsupported format for Chromecast",p=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:q.ErrorCategory.VIDEO_PIPELINE,message:l,thrown:p}),p}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return(0,q.assertNever)(e)}let n=new chrome.cast.media.MediaInfo(this.params.meta.videoId??i,r);n.contentUrl=i,n.streamType=s,n.metadata=new chrome.cast.media.GenericMediaMetadata;let{title:u,subtitle:o}=this.params.meta;return(0,q.isNonNullable)(u)&&(n.metadata.title=u),(0,q.isNonNullable)(o)&&(n.metadata.subtitle=o),n}createLoadRequest(e){let t=new chrome.cast.media.LoadRequest(e);t.autoplay=!1;let i=this.params.desiredState.seekState.getState();return i.state==="applying"||i.state==="requested"?t.currentTime=this.params.output.isLive$.getValue()?0:i.position/1e3:t.currentTime=0,t}loadMedia(e){let t=this.params.connection.session.loadMedia(e),i=new Promise((r,s)=>{this.loadMediaTimeoutSubscription.add((0,q.timeout)(ab).subscribe(()=>s(`timeout(${ab})`)))});(0,sb.default)(Promise.race([t,i]).then(()=>{this.log({message:`[loadMedia] completed, format: ${this.params.format}`}),this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.handleRemoteReady()},r=>{let s=`[prepare] loadMedia failed, format: ${this.params.format}, reason: ${r}`;this.log({message:s}),this.params.output.error$.next({id:"ChromecastProvider.loadMedia",category:q.ErrorCategory.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var cl=Q(qe(),1);var el=require("@vkontakte/videoplayer-shared");var nb=require("@vkontakte/videoplayer-shared"),ob=a=>{try{a.pause(),a.playbackRate=0,(0,nb.clearVideoElement)(a),a.remove()}catch(e){console.error(e)}};var Zs=require("@vkontakte/videoplayer-shared"),Xu=class{constructor(){this.attribute="data-pool-reused"}get(e){return e.hasAttribute(this.attribute)}set(e,t){e.toggleAttribute(this.attribute,t)}delete(e){e.removeAttribute(this.attribute)}},Ju=window.WeakMap?new WeakMap:new Xu,Zu=window.WeakMap?new WeakMap:new Map,xP=(a,e=20)=>{let t=0;return(0,Zs.fromEvent)(a,"ratechange").subscribe(i=>{t++,t>=e&&(a.currentTime=a.currentTime,t=0)})},Ue=(a,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=a.querySelector("video"),r=!!i;i?(0,el.clearVideoElement)(i):(i=document.createElement("video"),a.appendChild(i)),Ju.set(i,r);let s=new Zs.Subscription;return s.add(xP(i,e)),Zu.set(i,s),i.setAttribute("crossorigin","anonymous"),i.setAttribute("playsinline","playsinline"),t&&i.setAttribute("x-yandex-pip","false"),i.controls=!1,i.setAttribute("poster","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),i},He=a=>{Zu.get(a)?.unsubscribe(),Zu.delete(a);let t=Ju.get(a);Ju.delete(a),t?(0,el.clearVideoElement)(a):ob(a)};var tl=Q(gi(),1),U=require("@vkontakte/videoplayer-shared");var ti=require("@vkontakte/videoplayer-shared"),en=(a,e,t,{equal:i=(n,u)=>n===u,changed$:r,onError:s}={})=>{let n=a.getState(),u=e(),o=(0,ti.isNullable)(r),l=new ti.Subscription;return r&&l.add(r.subscribe(p=>{let d=a.getState();i(p,d)&&a.setState(p)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(p=>{t(p.to),o&&a.setState(p.to)},s)),l},kt=(a,e,t)=>en(e,()=>a.loop,i=>{(0,ti.isNonNullable)(i)&&(a.loop=i)},{onError:t}),je=(a,e,t,i)=>en(e,()=>({muted:a.muted,volume:a.volume}),r=>{(0,ti.isNonNullable)(r)&&(a.muted=r.muted,a.volume=r.volume)},{equal:(r,s)=>r===s||r?.muted===s?.muted&&r?.volume===s?.volume,changed$:t,onError:i}),nt=(a,e,t,i)=>en(e,()=>a.playbackRate,r=>{(0,ti.isNonNullable)(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),Zr=en;var wP=a=>["__",a.language,a.label].join("|"),AP=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},il=class a{constructor(e){this.available$=new U.Subject;this.current$=new U.ValueSubject(void 0);this.error$=new U.Subject;this.subscription=new U.Subscription;this.externalTracks=new Map;this.internalTracks=new Map;this.baseURL=e}connect(e,t,i){this.video=e,this.cueSettings=t.textTrackCuesSettings,this.subscribe();let r=s=>{this.error$.next({id:"TextTracksManager",category:U.ErrorCategory.WTF,message:"Generic HtmlVideoTextTrackManager error",thrown:s})};this.subscription.add(this.available$.subscribe(i.availableTextTracks$)),this.subscription.add(this.current$.subscribe(i.currentTextTrack$)),this.subscription.add(this.error$.subscribe(i.error$)),this.subscription.add(Zr(t.internalTextTracks,()=>(0,tl.default)(this.internalTracks),s=>{(0,U.isNonNullable)(s)&&this.setInternal(s)},{equal:(s,n)=>(0,U.isNonNullable)(s)&&(0,U.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,U.map)(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(Zr(t.externalTextTracks,()=>(0,tl.default)(this.externalTracks),s=>{(0,U.isNonNullable)(s)&&this.setExternal(s)},{equal:(s,n)=>(0,U.isNonNullable)(s)&&(0,U.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,U.map)(s=>s.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(Zr(t.currentTextTrack,()=>{if(this.video)return;let s=this.htmlTextTracksAsArray().find(({mode:n})=>n==="showing");return s&&this.htmlTextTrackToITextTrack(s).id},s=>this.select(s),{changed$:this.current$,onError:r})),this.subscription.add(Zr(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){(0,U.assertNonNullable)(this.video);let{textTracks:e}=this.video;this.subscription.add((0,U.fromEvent)(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add((0,U.merge)((0,U.fromEvent)(e,"addtrack"),(0,U.fromEvent)(e,"removetrack"),(0,U.observableFrom)(["init"])).pipe((0,U.map)(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),(0,U.filterChanged)((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add((0,U.merge)((0,U.fromEvent)(e,"change"),(0,U.observableFrom)(["init"])).pipe((0,U.map)(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),(0,U.map)(i=>i&&this.htmlTextTrackToITextTrack(i).id),(0,U.filterChanged)()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add((0,U.fromEvent)(e,"addtrack").subscribe(i=>{i.track?.addEventListener("cuechange",t);let r=s=>{let n=s.target?.cues??null;n&&n.length&&(this.applyCueSettings(s.target?.cues??null),s.target?.removeEventListener("cuechange",r))};i.track?.addEventListener("cuechange",r)})),this.subscription.add((0,U.fromEvent)(e,"removetrack").subscribe(i=>{i.track?.removeEventListener("cuechange",t)}))}applyCueSettings(e){if(!e||!e.length)return;let t=this.cueSettings.getState();for(let i of Array.from(e)){let r=i;(0,U.isNonNullable)(t.align)&&(r.align=t.align),(0,U.isNonNullable)(t.position)&&(r.position=t.position),(0,U.isNonNullable)(t.size)&&(r.size=t.size),(0,U.isNonNullable)(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){(0,U.assertNonNullable)(this.video);let t=[...this.video.textTracks];return e?t:t.filter(a.isHealthyTrack)}htmlTextTrackToITextTrack(e){let{language:t,label:i}=e,r=e.id?e.id:wP(e),s=this.externalTracks.has(r),n=(s?this.externalTracks.get(r)?.isAuto:this.internalTracks.get(r)?.isAuto)??r.includes("auto");return s?{id:r,type:"external",isAuto:n,language:t,label:i,url:this.externalTracks.get(r)?.url}:{id:r,type:"internal",isAuto:n,language:t,label:i,url:this.internalTracks.get(r)?.url}}static isHealthyTrack(e){return!(e.kind==="metadata"||e.groupId||e.id===""&&e.label===""&&e.language==="")}setExternal(e){this.internalTracks.size>0&&Array.from(this.internalTracks).forEach(([,t])=>this.detach(t)),e.filter(({id:t})=>!this.externalTracks.has(t)).forEach(t=>this.attach(t)),Array.from(this.externalTracks).filter(([t])=>!e.find(i=>i.id===t)).forEach(([,t])=>this.detach(t))}setInternal(e){let t=[...this.externalTracks];e.filter(({id:i,language:r,isAuto:s})=>!this.internalTracks.has(i)&&!t.some(([,n])=>n.language===r&&n.isAuto===s)).forEach(i=>this.attach(i)),Array.from(this.internalTracks).filter(([i])=>!e.find(r=>r.id===i)).forEach(([,i])=>this.detach(i))}select(e){(0,U.assertNonNullable)(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))((0,U.isNullable)(e)||!AP(t,e))&&(t.mode="disabled")}destroy(){if(this.subscription.unsubscribe(),this.video)for(let e of Array.from(this.video.getElementsByTagName("track"))){let t=e.getAttribute("id");t&&this.externalTracks.has(t)&&this.video.removeChild(e)}this.externalTracks.clear()}attach(e){(0,U.assertNonNullable)(this.video);let t=document.createElement("track");this.baseURL?t.setAttribute("src",new URL(e.url,this.baseURL).toString()):t.setAttribute("src",e.url),t.setAttribute("id",e.id),e.label&&t.setAttribute("label",e.label),e.language&&t.setAttribute("srclang",e.language),e.type==="external"?this.externalTracks.set(e.id,e):e.type==="internal"&&this.internalTracks.set(e.id,e),this.video.appendChild(t)}detach(e){(0,U.assertNonNullable)(this.video);let t=Array.prototype.find.call(this.video.getElementsByTagName("track"),i=>i.getAttribute("id")===e.id);t&&this.video.removeChild(t),e.type==="external"?this.externalTracks.delete(e.id):e.type==="internal"&&this.internalTracks.delete(e.id)}},ot=il;var Ei=class{constructor(){this.pausedTime=0;this.streamOffset=0;this.pauseTimestamp=0}getTotalPausedTime(){return this.pausedTime+this.getCurrentPausedTime()}getCurrentPausedTime(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0}getStreamOffset(){return this.streamOffset}getTotalOffset(){return this.getTotalPausedTime()+this.streamOffset}pause(){this.pauseTimestamp===0&&(this.pauseTimestamp=Date.now())}resume(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)}resetTo(e,t=!1){this.streamOffset=e,this.pauseTimestamp=0,this.pausedTime=0,t&&this.pause()}};var ub=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},rl=a=>{let e=ub(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},lb=a=>{let e=ub(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};var $=require("@vkontakte/videoplayer-shared");var PP=3,cb=(a,e,t=PP)=>{let i=0,r=0;for(let s=0;s<a.length;s++){let n=a.start(s),u=a.end(s);if(n<=e&&e<=u){if(i=n,r=u,!t)return{from:i,to:r};for(let o=s-1;o>=0;o--)a.end(o)+t>=i&&(i=a.start(o));for(let o=s+1;o<a.length;o++)a.start(o)-t<=r&&(r=a.end(o))}}return{from:i,to:r}};var Qe=a=>{let e=L=>(0,$.fromEvent)(a,L).pipe((0,$.mapTo)(void 0),(0,$.shareReplay)(1)),t=new $.Subscription,i=()=>t.unsubscribe(),r=(0,$.merge)((0,$.fromEvent)(a,"progress"),(0,$.fromEvent)(a,"timeupdate")).pipe((0,$.map)(()=>cb(a.buffered,a.currentTime)),(0,$.shareReplay)(1)),s=W.browser.isSafari?(0,$.combine)({play:e("play").pipe((0,$.once)()),playing:e("playing")}).pipe((0,$.mapTo)(void 0),(0,$.shareReplay)(1)):e("playing"),n=(0,$.fromEvent)(a,"volumechange").pipe((0,$.map)(()=>({muted:a.muted,volume:a.volume})),(0,$.shareReplay)(1)),u=(0,$.fromEvent)(a,"ratechange").pipe((0,$.map)(()=>a.playbackRate),(0,$.shareReplay)(1)),o=(0,$.fromEvent)(a,"error").pipe((0,$.filter)(()=>!!(a.error||a.played.length)),(0,$.map)(()=>{let L=a.error;return{id:L?`MediaError#${L.code}`:"HtmlVideoError",category:$.ErrorCategory.VIDEO_PIPELINE,message:L?L.message:"Error event from HTML video element",thrown:a.error??void 0}}),(0,$.shareReplay)(1)),l=(0,$.fromEvent)(a,"timeupdate").pipe((0,$.map)(()=>a.currentTime),(0,$.shareReplay)(1)),p=["waiting","seeking","seeked","timeupdate"],d=new $.Subject,c=.3,h;t.add((0,$.merge)(...p.map(L=>(0,$.fromEvent)(a,L))).subscribe(L=>{let ee=a.currentTime;a.loop&&(0,$.isNonNullable)(h)&&(0,$.isNonNullable)(ee)&&h>=a.duration-c&&ee<=c&&d.next(h),h=ee}));let m=e("pause").pipe((0,$.filter)(()=>!a.error&&h!==a.duration),(0,$.shareReplay)(1)),b=(0,$.fromEvent)(a,"enterpictureinpicture").pipe((0,$.shareReplay)(1)),S=(0,$.fromEvent)(a,"leavepictureinpicture").pipe((0,$.shareReplay)(1)),v=new $.ValueSubject(lb(a));t.add(b.subscribe(()=>v.next(!0))),t.add(S.subscribe(()=>v.next(!1)));let I=new $.ValueSubject(rl(a)),k=(0,$.fromEvent)(a,"fullscreenchange").pipe((0,$.shareReplay)(1));t.add(k.pipe((0,$.map)(()=>rl(a))).subscribe(I));let w=.1,C=1e3,V=(0,$.fromEvent)(a,"timeupdate").pipe((0,$.map)(L=>a.duration-a.currentTime<w),(0,$.filterChanged)(),(0,$.shareReplay)(1)),_=(0,$.merge)(V.pipe((0,$.filter)(L=>!a.loop&&L)),(0,$.fromEvent)(a,"ended")).pipe((0,$.throttle)(C),(0,$.mapTo)(void 0),(0,$.shareReplay)(1)),j=(0,$.merge)(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(L=>(0,$.fromEvent)(a,L)),V.pipe((0,$.map)(L=>({type:L?"ended":"unknown"})))).pipe((0,$.map)(L=>W.browser.isFirefox&&L.type==="ended"?a.readyState<2:a.readyState<3),(0,$.filterChanged)(),(0,$.shareReplay)(1));return{playing$:s,pause$:m,canplay$:e("canplay"),ended$:_,looped$:d,error$:o,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:(0,$.fromEvent)(a,"durationchange").pipe((0,$.map)(()=>a.duration),(0,$.shareReplay)(1)),isBuffering$:j,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:v,inFullscreen$:I,enterPip$:b,leavePip$:S,destroy:i}};var Ft=require("@vkontakte/videoplayer-shared"),ii=a=>{switch(a){case"mobile":return Ft.VideoQuality.Q_144P;case"lowest":return Ft.VideoQuality.Q_240P;case"low":return Ft.VideoQuality.Q_360P;case"sd":case"medium":return Ft.VideoQuality.Q_480P;case"hd":case"high":return Ft.VideoQuality.Q_720P;case"fullhd":case"full":return Ft.VideoQuality.Q_1080P;case"quadhd":case"quad":return Ft.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return Ft.VideoQuality.Q_2160P}};var Oe=Q(gt(),1),sl=Q(qe(),1),xi=Q(Gi(),1),D=require("@vkontakte/videoplayer-shared");var al=!1,Nt={},gb=a=>{al=a},Sb=()=>{Nt={}},vb=a=>{a(Nt)},ea=(a,e)=>{al&&(Nt.meta=Nt.meta??{},Nt.meta[a]=e)},_e=class{constructor(e){this.name=e}next(e){if(!al)return;Nt.series=Nt.series??{};let t=Nt.series[this.name]??[];t.push([Date.now(),e]),Nt.series[this.name]=t}};var Ie=require("@vkontakte/videoplayer-shared");function yb(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function sr(a,e,t){return(0,Ie.isNullable)(a)||(0,Ie.isNonNullable)(a.min)&&(0,Ie.isNonNullable)(a.max)&&(0,Ie.isLower)(a.max,a.min)||(0,Ie.isNonNullable)(a.min)&&e&&(0,Ie.isHigher)(a.min,e)||(0,Ie.isNonNullable)(a.max)&&t&&(0,Ie.isLower)(a.max,t)}function Tb({limits:a,highestAvailableHeight:e,lowestAvailableHeight:t}){return sr({max:a?.max?(0,Ie.videoHeightToQuality)(a.max):void 0,min:a?.min?(0,Ie.videoHeightToQuality)(a.min):void 0},e?(0,Ie.videoHeightToQuality)(e):void 0,t?(0,Ie.videoHeightToQuality)(t):void 0)}var Ab=new _e("best_bitrate"),rn=(a,e,t)=>(e-t)*Math.pow(2,-10*a)+t;var nr=a=>(e,t)=>a*(Number(e.bitrate)-Number(t.bitrate)),ri=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=(0,D.now)()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},an='Assertion "ABR Tracks is empty array" failed',tn=new WeakMap,Ib=new WeakMap,Eb=new WeakMap,ta=(a,e,t,i)=>{let r=[...e].sort(nr(1)),s=[...t].sort(nr(1)),n=s.filter(o=>(0,D.isNonNullable)(o.bitrate)&&(0,D.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Oe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Oe.default)(s,-1);return u&&(0,sl.default)(n,u)?u:n.length?(0,Oe.default)(n,-1):(0,Oe.default)(s,0)},ia=(a,e,t,i)=>{let r=tn.get(e);r||(r=[...e].sort(nr(1)),tn.set(e,r));let s=tn.get(t);s||(s=[...t].sort(nr(1)),tn.set(t,s));let n=Eb.get(a);n||(n=s.filter(o=>(0,D.isNonNullable)(o.bitrate)&&(0,D.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),Eb.set(a,n));let u=(0,Oe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Oe.default)(s,-1);return u&&(0,sl.default)(n,u)?u:n.length?(0,Oe.default)(n,-1):(0,Oe.default)(s,0)},xb=a=>"quality"in a,sn=(a,e,t,i)=>{let r=(0,D.isNonNullable)(i?.last?.bitrate)&&(0,D.isNonNullable)(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&(0,D.now)()-i.history[t.id]<=r&&(!i.last||t.id!==i.last.id);if(t?.id&&i&&!s&&i.recordSelection(t),s&&i?.last){let n=i.last;i?.recordSwitch(n);let u=xb(n)?"video":"audio",o=xb(n)?n.quality:n.bitrate;return e({message:`
|
|
6
|
+
"use strict";var kv=Object.create;var ds=Object.defineProperty;var Rv=Object.getOwnPropertyDescriptor;var Lv=Object.getOwnPropertyNames;var $v=Object.getPrototypeOf,Mv=Object.prototype.hasOwnProperty;var g=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),Dv=(a,e)=>{for(var t in e)ds(a,t,{get:e[t],enumerable:!0})},tc=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Lv(e))!Mv.call(a,r)&&r!==t&&ds(a,r,{get:()=>e[r],enumerable:!(i=Rv(e,r))||i.enumerable});return a};var Q=(a,e,t)=>(t=a!=null?kv($v(a)):{},tc(e||!a||!a.__esModule?ds(t,"default",{value:a,enumerable:!0}):t,a)),Cv=a=>tc(ds({},"__esModule",{value:!0}),a);var Se=g((io,ic)=>{"use strict";var kr=function(a){return a&&a.Math===Math&&a};ic.exports=kr(typeof globalThis=="object"&&globalThis)||kr(typeof window=="object"&&window)||kr(typeof self=="object"&&self)||kr(typeof global=="object"&&global)||kr(typeof io=="object"&&io)||function(){return this}()||Function("return this")()});var we=g((wL,rc)=>{"use strict";rc.exports=function(a){try{return!!a()}catch{return!0}}});var Rr=g((AL,ac)=>{"use strict";var Bv=we();ac.exports=!Bv(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var ro=g((PL,uc)=>{"use strict";var Vv=Rr(),oc=Function.prototype,sc=oc.apply,nc=oc.call;uc.exports=typeof Reflect=="object"&&Reflect.apply||(Vv?nc.bind(sc):function(){return nc.apply(sc,arguments)})});var Ae=g((kL,dc)=>{"use strict";var lc=Rr(),cc=Function.prototype,ao=cc.call,_v=lc&&cc.bind.bind(ao,ao);dc.exports=lc?_v:function(a){return function(){return ao.apply(a,arguments)}}});var pi=g((RL,hc)=>{"use strict";var pc=Ae(),Ov=pc({}.toString),Fv=pc("".slice);hc.exports=function(a){return Fv(Ov(a),8,-1)}});var so=g((LL,fc)=>{"use strict";var Nv=pi(),qv=Ae();fc.exports=function(a){if(Nv(a)==="Function")return qv(a)}});var ve=g(($L,mc)=>{"use strict";var no=typeof document=="object"&&document.all;mc.exports=typeof no>"u"&&no!==void 0?function(a){return typeof a=="function"||a===no}:function(a){return typeof a=="function"}});var Ke=g((ML,bc)=>{"use strict";var Uv=we();bc.exports=!Uv(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Xe=g((DL,gc)=>{"use strict";var Hv=Rr(),fs=Function.prototype.call;gc.exports=Hv?fs.bind(fs):function(){return fs.apply(fs,arguments)}});var oo=g(yc=>{"use strict";var Sc={}.propertyIsEnumerable,vc=Object.getOwnPropertyDescriptor,jv=vc&&!Sc.call({1:2},1);yc.f=jv?function(e){var t=vc(this,e);return!!t&&t.enumerable}:Sc});var Lr=g((BL,Tc)=>{"use strict";Tc.exports=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}}});var Ec=g((VL,Ic)=>{"use strict";var Qv=Ae(),Wv=we(),Gv=pi(),uo=Object,zv=Qv("".split);Ic.exports=Wv(function(){return!uo("z").propertyIsEnumerable(0)})?function(a){return Gv(a)==="String"?zv(a,""):uo(a)}:uo});var $r=g((_L,xc)=>{"use strict";xc.exports=function(a){return a==null}});var Xt=g((OL,wc)=>{"use strict";var Yv=$r(),Kv=TypeError;wc.exports=function(a){if(Yv(a))throw new Kv("Can't call method on "+a);return a}});var hi=g((FL,Ac)=>{"use strict";var Xv=Ec(),Jv=Xt();Ac.exports=function(a){return Xv(Jv(a))}});var Ne=g((NL,Pc)=>{"use strict";var Zv=ve();Pc.exports=function(a){return typeof a=="object"?a!==null:Zv(a)}});var fi=g((qL,kc)=>{"use strict";kc.exports={}});var Vt=g((UL,Lc)=>{"use strict";var lo=fi(),co=Se(),ey=ve(),Rc=function(a){return ey(a)?a:void 0};Lc.exports=function(a,e){return arguments.length<2?Rc(lo[a])||Rc(co[a]):lo[a]&&lo[a][e]||co[a]&&co[a][e]}});var Mr=g((HL,$c)=>{"use strict";var ty=Ae();$c.exports=ty({}.isPrototypeOf)});var mi=g((jL,Cc)=>{"use strict";var iy=Se(),Mc=iy.navigator,Dc=Mc&&Mc.userAgent;Cc.exports=Dc?String(Dc):""});var ho=g((QL,Nc)=>{"use strict";var Fc=Se(),po=mi(),Bc=Fc.process,Vc=Fc.Deno,_c=Bc&&Bc.versions||Vc&&Vc.version,Oc=_c&&_c.v8,ht,ms;Oc&&(ht=Oc.split("."),ms=ht[0]>0&&ht[0]<4?1:+(ht[0]+ht[1]));!ms&&po&&(ht=po.match(/Edge\/(\d+)/),(!ht||ht[1]>=74)&&(ht=po.match(/Chrome\/(\d+)/),ht&&(ms=+ht[1])));Nc.exports=ms});var fo=g((WL,Uc)=>{"use strict";var qc=ho(),ry=we(),ay=Se(),sy=ay.String;Uc.exports=!!Object.getOwnPropertySymbols&&!ry(function(){var a=Symbol("symbol detection");return!sy(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&qc&&qc<41})});var mo=g((GL,Hc)=>{"use strict";var ny=fo();Hc.exports=ny&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var bo=g((zL,jc)=>{"use strict";var oy=Vt(),uy=ve(),ly=Mr(),cy=mo(),dy=Object;jc.exports=cy?function(a){return typeof a=="symbol"}:function(a){var e=oy("Symbol");return uy(e)&&ly(e.prototype,dy(a))}});var Dr=g((YL,Qc)=>{"use strict";var py=String;Qc.exports=function(a){try{return py(a)}catch{return"Object"}}});var wt=g((KL,Wc)=>{"use strict";var hy=ve(),fy=Dr(),my=TypeError;Wc.exports=function(a){if(hy(a))return a;throw new my(fy(a)+" is not a function")}});var Cr=g((XL,Gc)=>{"use strict";var by=wt(),gy=$r();Gc.exports=function(a,e){var t=a[e];return gy(t)?void 0:by(t)}});var Yc=g((JL,zc)=>{"use strict";var go=Xe(),So=ve(),vo=Ne(),Sy=TypeError;zc.exports=function(a,e){var t,i;if(e==="string"&&So(t=a.toString)&&!vo(i=go(t,a))||So(t=a.valueOf)&&!vo(i=go(t,a))||e!=="string"&&So(t=a.toString)&&!vo(i=go(t,a)))return i;throw new Sy("Can't convert object to primitive value")}});var ft=g((ZL,Kc)=>{"use strict";Kc.exports=!0});var Zc=g((e$,Jc)=>{"use strict";var Xc=Se(),vy=Object.defineProperty;Jc.exports=function(a,e){try{vy(Xc,a,{value:e,configurable:!0,writable:!0})}catch{Xc[a]=e}return e}});var Br=g((t$,id)=>{"use strict";var yy=ft(),Ty=Se(),Iy=Zc(),ed="__core-js_shared__",td=id.exports=Ty[ed]||Iy(ed,{});(td.versions||(td.versions=[])).push({version:"3.43.0",mode:yy?"pure":"global",copyright:"\xA9 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.43.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var yo=g((i$,ad)=>{"use strict";var rd=Br();ad.exports=function(a,e){return rd[a]||(rd[a]=e||{})}});var Ni=g((r$,sd)=>{"use strict";var Ey=Xt(),xy=Object;sd.exports=function(a){return xy(Ey(a))}});var mt=g((a$,nd)=>{"use strict";var wy=Ae(),Ay=Ni(),Py=wy({}.hasOwnProperty);nd.exports=Object.hasOwn||function(e,t){return Py(Ay(e),t)}});var To=g((s$,od)=>{"use strict";var ky=Ae(),Ry=0,Ly=Math.random(),$y=ky(1.1.toString);od.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+$y(++Ry+Ly,36)}});var Le=g((n$,ld)=>{"use strict";var My=Se(),Dy=yo(),ud=mt(),Cy=To(),By=fo(),Vy=mo(),qi=My.Symbol,Io=Dy("wks"),_y=Vy?qi.for||qi:qi&&qi.withoutSetter||Cy;ld.exports=function(a){return ud(Io,a)||(Io[a]=By&&ud(qi,a)?qi[a]:_y("Symbol."+a)),Io[a]}});var hd=g((o$,pd)=>{"use strict";var Oy=Xe(),cd=Ne(),dd=bo(),Fy=Cr(),Ny=Yc(),qy=Le(),Uy=TypeError,Hy=qy("toPrimitive");pd.exports=function(a,e){if(!cd(a)||dd(a))return a;var t=Fy(a,Hy),i;if(t){if(e===void 0&&(e="default"),i=Oy(t,a,e),!cd(i)||dd(i))return i;throw new Uy("Can't convert object to primitive value")}return e===void 0&&(e="number"),Ny(a,e)}});var Eo=g((u$,fd)=>{"use strict";var jy=hd(),Qy=bo();fd.exports=function(a){var e=jy(a,"string");return Qy(e)?e:e+""}});var bs=g((l$,bd)=>{"use strict";var Wy=Se(),md=Ne(),xo=Wy.document,Gy=md(xo)&&md(xo.createElement);bd.exports=function(a){return Gy?xo.createElement(a):{}}});var wo=g((c$,gd)=>{"use strict";var zy=Ke(),Yy=we(),Ky=bs();gd.exports=!zy&&!Yy(function(){return Object.defineProperty(Ky("div"),"a",{get:function(){return 7}}).a!==7})});var yd=g(vd=>{"use strict";var Xy=Ke(),Jy=Xe(),Zy=oo(),eT=Lr(),tT=hi(),iT=Eo(),rT=mt(),aT=wo(),Sd=Object.getOwnPropertyDescriptor;vd.f=Xy?Sd:function(e,t){if(e=tT(e),t=iT(t),aT)try{return Sd(e,t)}catch{}if(rT(e,t))return eT(!Jy(Zy.f,e,t),e[t])}});var Ao=g((p$,Td)=>{"use strict";var sT=we(),nT=ve(),oT=/#|\.prototype\./,Vr=function(a,e){var t=lT[uT(a)];return t===dT?!0:t===cT?!1:nT(e)?sT(e):!!e},uT=Vr.normalize=function(a){return String(a).replace(oT,".").toLowerCase()},lT=Vr.data={},cT=Vr.NATIVE="N",dT=Vr.POLYFILL="P";Td.exports=Vr});var Ui=g((h$,Ed)=>{"use strict";var Id=so(),pT=wt(),hT=Rr(),fT=Id(Id.bind);Ed.exports=function(a,e){return pT(a),e===void 0?a:hT?fT(a,e):function(){return a.apply(e,arguments)}}});var Po=g((f$,xd)=>{"use strict";var mT=Ke(),bT=we();xd.exports=mT&&bT(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var At=g((m$,wd)=>{"use strict";var gT=Ne(),ST=String,vT=TypeError;wd.exports=function(a){if(gT(a))return a;throw new vT(ST(a)+" is not an object")}});var bi=g(Pd=>{"use strict";var yT=Ke(),TT=wo(),IT=Po(),gs=At(),Ad=Eo(),ET=TypeError,ko=Object.defineProperty,xT=Object.getOwnPropertyDescriptor,Ro="enumerable",Lo="configurable",$o="writable";Pd.f=yT?IT?function(e,t,i){if(gs(e),t=Ad(t),gs(i),typeof e=="function"&&t==="prototype"&&"value"in i&&$o in i&&!i[$o]){var r=xT(e,t);r&&r[$o]&&(e[t]=i.value,i={configurable:Lo in i?i[Lo]:r[Lo],enumerable:Ro in i?i[Ro]:r[Ro],writable:!1})}return ko(e,t,i)}:ko:function(e,t,i){if(gs(e),t=Ad(t),gs(i),TT)try{return ko(e,t,i)}catch{}if("get"in i||"set"in i)throw new ET("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var Hi=g((g$,kd)=>{"use strict";var wT=Ke(),AT=bi(),PT=Lr();kd.exports=wT?function(a,e,t){return AT.f(a,e,PT(1,t))}:function(a,e,t){return a[e]=t,a}});var Te=g((S$,Ld)=>{"use strict";var _r=Se(),kT=ro(),RT=so(),LT=ve(),$T=yd().f,MT=Ao(),ji=fi(),DT=Ui(),Qi=Hi(),Rd=mt();Br();var CT=function(a){var e=function(t,i,r){if(this instanceof e){switch(arguments.length){case 0:return new a;case 1:return new a(t);case 2:return new a(t,i)}return new a(t,i,r)}return kT(a,this,arguments)};return e.prototype=a.prototype,e};Ld.exports=function(a,e){var t=a.target,i=a.global,r=a.stat,s=a.proto,n=i?_r:r?_r[t]:_r[t]&&_r[t].prototype,u=i?ji:ji[t]||Qi(ji,t,{})[t],o=u.prototype,l,p,d,c,h,m,b,S,v;for(c in e)l=MT(i?c:t+(r?".":"#")+c,a.forced),p=!l&&n&&Rd(n,c),m=u[c],p&&(a.dontCallGetSet?(v=$T(n,c),b=v&&v.value):b=n[c]),h=p&&b?b:e[c],!(!l&&!s&&typeof m==typeof h)&&(a.bind&&p?S=DT(h,_r):a.wrap&&p?S=CT(h):s&<(h)?S=RT(h):S=h,(a.sham||h&&h.sham||m&&m.sham)&&Qi(S,"sham",!0),Qi(u,c,S),s&&(d=t+"Prototype",Rd(ji,d)||Qi(ji,d,{}),Qi(ji[d],c,h),a.real&&o&&(l||!o[c])&&Qi(o,c,h)))}});var Ss=g((v$,Md)=>{"use strict";var BT=yo(),VT=To(),$d=BT("keys");Md.exports=function(a){return $d[a]||($d[a]=VT(a))}});var Cd=g((y$,Dd)=>{"use strict";var _T=we();Dd.exports=!_T(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype})});var vs=g((T$,Vd)=>{"use strict";var OT=mt(),FT=ve(),NT=Ni(),qT=Ss(),UT=Cd(),Bd=qT("IE_PROTO"),Mo=Object,HT=Mo.prototype;Vd.exports=UT?Mo.getPrototypeOf:function(a){var e=NT(a);if(OT(e,Bd))return e[Bd];var t=e.constructor;return FT(t)&&e instanceof t?t.prototype:e instanceof Mo?HT:null}});var Od=g((I$,_d)=>{"use strict";var jT=Math.ceil,QT=Math.floor;_d.exports=Math.trunc||function(e){var t=+e;return(t>0?QT:jT)(t)}});var Or=g((E$,Fd)=>{"use strict";var WT=Od();Fd.exports=function(a){var e=+a;return e!==e||e===0?0:WT(e)}});var qd=g((x$,Nd)=>{"use strict";var GT=Or(),zT=Math.max,YT=Math.min;Nd.exports=function(a,e){var t=GT(a);return t<0?zT(t+e,0):YT(t,e)}});var Do=g((w$,Ud)=>{"use strict";var KT=Or(),XT=Math.min;Ud.exports=function(a){var e=KT(a);return e>0?XT(e,9007199254740991):0}});var Wi=g((A$,Hd)=>{"use strict";var JT=Do();Hd.exports=function(a){return JT(a.length)}});var Co=g((P$,Qd)=>{"use strict";var ZT=hi(),eI=qd(),tI=Wi(),jd=function(a){return function(e,t,i){var r=ZT(e),s=tI(r);if(s===0)return!a&&-1;var n=eI(i,s),u;if(a&&t!==t){for(;s>n;)if(u=r[n++],u!==u)return!0}else for(;s>n;n++)if((a||n in r)&&r[n]===t)return a||n||0;return!a&&-1}};Qd.exports={includes:jd(!0),indexOf:jd(!1)}});var ys=g((k$,Wd)=>{"use strict";Wd.exports={}});var Yd=g((R$,zd)=>{"use strict";var iI=Ae(),Bo=mt(),rI=hi(),aI=Co().indexOf,sI=ys(),Gd=iI([].push);zd.exports=function(a,e){var t=rI(a),i=0,r=[],s;for(s in t)!Bo(sI,s)&&Bo(t,s)&&Gd(r,s);for(;e.length>i;)Bo(t,s=e[i++])&&(~aI(r,s)||Gd(r,s));return r}});var Vo=g((L$,Kd)=>{"use strict";Kd.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var _o=g(($$,Xd)=>{"use strict";var nI=Yd(),oI=Vo();Xd.exports=Object.keys||function(e){return nI(e,oI)}});var Oo=g((M$,ip)=>{"use strict";var Zd=Ke(),uI=we(),ep=Ae(),lI=vs(),cI=_o(),dI=hi(),pI=oo().f,tp=ep(pI),hI=ep([].push),fI=Zd&&uI(function(){var a=Object.create(null);return a[2]=2,!tp(a,2)}),Jd=function(a){return function(e){for(var t=dI(e),i=cI(t),r=fI&&lI(t)===null,s=i.length,n=0,u=[],o;s>n;)o=i[n++],(!Zd||(r?o in t:tp(t,o)))&&hI(u,a?[o,t[o]]:t[o]);return u}};ip.exports={entries:Jd(!0),values:Jd(!1)}});var rp=g(()=>{"use strict";var mI=Te(),bI=Oo().values;mI({target:"Object",stat:!0},{values:function(e){return bI(e)}})});var sp=g((B$,ap)=>{"use strict";rp();var gI=fi();ap.exports=gI.Object.values});var op=g((V$,np)=>{"use strict";var SI=sp();np.exports=SI});var gi=g((_$,up)=>{"use strict";var vI=op();up.exports=vI});var Fr=g((O$,lp)=>{"use strict";lp.exports=function(){}});var cp=g(()=>{"use strict";var yI=Te(),TI=Co().includes,II=we(),EI=Fr(),xI=II(function(){return!Array(1).includes()});yI({target:"Array",proto:!0,forced:xI},{includes:function(e){return TI(this,e,arguments.length>1?arguments[1]:void 0)}});EI("includes")});var Jt=g((q$,dp)=>{"use strict";var wI=Vt();dp.exports=wI});var hp=g((U$,pp)=>{"use strict";cp();var AI=Jt();pp.exports=AI("Array","includes")});var mp=g((H$,fp)=>{"use strict";var PI=hp();fp.exports=PI});var qe=g((j$,bp)=>{"use strict";var kI=mp();bp.exports=kI});var Sp=g(()=>{"use strict";var LI=Te(),$I=Oo().entries;LI({target:"Object",stat:!0},{entries:function(e){return $I(e)}})});var yp=g((rM,vp)=>{"use strict";Sp();var MI=fi();vp.exports=MI.Object.entries});var Ip=g((aM,Tp)=>{"use strict";var DI=yp();Tp.exports=DI});var Gi=g((sM,Ep)=>{"use strict";var CI=Ip();Ep.exports=CI});var Si=g((nM,xp)=>{"use strict";xp.exports={}});var Pp=g((oM,Ap)=>{"use strict";var BI=Se(),VI=ve(),wp=BI.WeakMap;Ap.exports=VI(wp)&&/native code/.test(String(wp))});var Uo=g((uM,Lp)=>{"use strict";var _I=Pp(),Rp=Se(),OI=Ne(),FI=Hi(),Fo=mt(),No=Br(),NI=Ss(),qI=ys(),kp="Object already initialized",qo=Rp.TypeError,UI=Rp.WeakMap,Is,Nr,Es,HI=function(a){return Es(a)?Nr(a):Is(a,{})},jI=function(a){return function(e){var t;if(!OI(e)||(t=Nr(e)).type!==a)throw new qo("Incompatible receiver, "+a+" required");return t}};_I||No.state?(bt=No.state||(No.state=new UI),bt.get=bt.get,bt.has=bt.has,bt.set=bt.set,Is=function(a,e){if(bt.has(a))throw new qo(kp);return e.facade=a,bt.set(a,e),e},Nr=function(a){return bt.get(a)||{}},Es=function(a){return bt.has(a)}):(vi=NI("state"),qI[vi]=!0,Is=function(a,e){if(Fo(a,vi))throw new qo(kp);return e.facade=a,FI(a,vi,e),e},Nr=function(a){return Fo(a,vi)?a[vi]:{}},Es=function(a){return Fo(a,vi)});var bt,vi;Lp.exports={set:Is,get:Nr,has:Es,enforce:HI,getterFor:jI}});var Qo=g((lM,Mp)=>{"use strict";var Ho=Ke(),QI=mt(),$p=Function.prototype,WI=Ho&&Object.getOwnPropertyDescriptor,jo=QI($p,"name"),GI=jo&&function(){}.name==="something",zI=jo&&(!Ho||Ho&&WI($p,"name").configurable);Mp.exports={EXISTS:jo,PROPER:GI,CONFIGURABLE:zI}});var Cp=g(Dp=>{"use strict";var YI=Ke(),KI=Po(),XI=bi(),JI=At(),ZI=hi(),eE=_o();Dp.f=YI&&!KI?Object.defineProperties:function(e,t){JI(e);for(var i=ZI(t),r=eE(t),s=r.length,n=0,u;s>n;)XI.f(e,u=r[n++],i[u]);return e}});var Wo=g((dM,Bp)=>{"use strict";var tE=Vt();Bp.exports=tE("document","documentElement")});var Ko=g((pM,Up)=>{"use strict";var iE=At(),rE=Cp(),Vp=Vo(),aE=ys(),sE=Wo(),nE=bs(),oE=Ss(),_p=">",Op="<",zo="prototype",Yo="script",Np=oE("IE_PROTO"),Go=function(){},qp=function(a){return Op+Yo+_p+a+Op+"/"+Yo+_p},Fp=function(a){a.write(qp("")),a.close();var e=a.parentWindow.Object;return a=null,e},uE=function(){var a=nE("iframe"),e="java"+Yo+":",t;return a.style.display="none",sE.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(qp("document.F=Object")),t.close(),t.F},xs,ws=function(){try{xs=new ActiveXObject("htmlfile")}catch{}ws=typeof document<"u"?document.domain&&xs?Fp(xs):uE():Fp(xs);for(var a=Vp.length;a--;)delete ws[zo][Vp[a]];return ws()};aE[Np]=!0;Up.exports=Object.create||function(e,t){var i;return e!==null?(Go[zo]=iE(e),i=new Go,Go[zo]=null,i[Np]=e):i=ws(),t===void 0?i:rE.f(i,t)}});var zi=g((hM,Hp)=>{"use strict";var lE=Hi();Hp.exports=function(a,e,t,i){return i&&i.enumerable?a[e]=t:lE(a,e,t),a}});var eu=g((fM,Wp)=>{"use strict";var cE=we(),dE=ve(),pE=Ne(),hE=Ko(),jp=vs(),fE=zi(),mE=Le(),bE=ft(),Zo=mE("iterator"),Qp=!1,_t,Xo,Jo;[].keys&&(Jo=[].keys(),"next"in Jo?(Xo=jp(jp(Jo)),Xo!==Object.prototype&&(_t=Xo)):Qp=!0);var gE=!pE(_t)||cE(function(){var a={};return _t[Zo].call(a)!==a});gE?_t={}:bE&&(_t=hE(_t));dE(_t[Zo])||fE(_t,Zo,function(){return this});Wp.exports={IteratorPrototype:_t,BUGGY_SAFARI_ITERATORS:Qp}});var As=g((mM,zp)=>{"use strict";var SE=Le(),vE=SE("toStringTag"),Gp={};Gp[vE]="z";zp.exports=String(Gp)==="[object z]"});var qr=g((bM,Yp)=>{"use strict";var yE=As(),TE=ve(),Ps=pi(),IE=Le(),EE=IE("toStringTag"),xE=Object,wE=Ps(function(){return arguments}())==="Arguments",AE=function(a,e){try{return a[e]}catch{}};Yp.exports=yE?Ps:function(a){var e,t,i;return a===void 0?"Undefined":a===null?"Null":typeof(t=AE(e=xE(a),EE))=="string"?t:wE?Ps(e):(i=Ps(e))==="Object"&&TE(e.callee)?"Arguments":i}});var Xp=g((gM,Kp)=>{"use strict";var PE=As(),kE=qr();Kp.exports=PE?{}.toString:function(){return"[object "+kE(this)+"]"}});var Ur=g((SM,Zp)=>{"use strict";var RE=As(),LE=bi().f,$E=Hi(),ME=mt(),DE=Xp(),CE=Le(),Jp=CE("toStringTag");Zp.exports=function(a,e,t,i){var r=t?a:a&&a.prototype;r&&(ME(r,Jp)||LE(r,Jp,{configurable:!0,value:e}),i&&!RE&&$E(r,"toString",DE))}});var th=g((vM,eh)=>{"use strict";var BE=eu().IteratorPrototype,VE=Ko(),_E=Lr(),OE=Ur(),FE=Si(),NE=function(){return this};eh.exports=function(a,e,t,i){var r=e+" Iterator";return a.prototype=VE(BE,{next:_E(+!i,t)}),OE(a,r,!1,!0),FE[r]=NE,a}});var rh=g((yM,ih)=>{"use strict";var qE=Ae(),UE=wt();ih.exports=function(a,e,t){try{return qE(UE(Object.getOwnPropertyDescriptor(a,e)[t]))}catch{}}});var sh=g((TM,ah)=>{"use strict";var HE=Ne();ah.exports=function(a){return HE(a)||a===null}});var oh=g((IM,nh)=>{"use strict";var jE=sh(),QE=String,WE=TypeError;nh.exports=function(a){if(jE(a))return a;throw new WE("Can't set "+QE(a)+" as a prototype")}});var tu=g((EM,uh)=>{"use strict";var GE=rh(),zE=Ne(),YE=Xt(),KE=oh();uh.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var a=!1,e={},t;try{t=GE(Object.prototype,"__proto__","set"),t(e,[]),a=e instanceof Array}catch{}return function(r,s){return YE(r),KE(s),zE(r)&&(a?t(r,s):r.__proto__=s),r}}():void 0)});var vh=g((xM,Sh)=>{"use strict";var XE=Te(),JE=Xe(),ks=ft(),bh=Qo(),ZE=ve(),ex=th(),lh=vs(),ch=tu(),tx=Ur(),ix=Hi(),iu=zi(),rx=Le(),dh=Si(),gh=eu(),ax=bh.PROPER,sx=bh.CONFIGURABLE,ph=gh.IteratorPrototype,Rs=gh.BUGGY_SAFARI_ITERATORS,Hr=rx("iterator"),hh="keys",jr="values",fh="entries",mh=function(){return this};Sh.exports=function(a,e,t,i,r,s,n){ex(t,e,i);var u=function(v){if(v===r&&c)return c;if(!Rs&&v&&v in p)return p[v];switch(v){case hh:return function(){return new t(this,v)};case jr:return function(){return new t(this,v)};case fh:return function(){return new t(this,v)}}return function(){return new t(this)}},o=e+" Iterator",l=!1,p=a.prototype,d=p[Hr]||p["@@iterator"]||r&&p[r],c=!Rs&&d||u(r),h=e==="Array"&&p.entries||d,m,b,S;if(h&&(m=lh(h.call(new a)),m!==Object.prototype&&m.next&&(!ks&&lh(m)!==ph&&(ch?ch(m,ph):ZE(m[Hr])||iu(m,Hr,mh)),tx(m,o,!0,!0),ks&&(dh[o]=mh))),ax&&r===jr&&d&&d.name!==jr&&(!ks&&sx?ix(p,"name",jr):(l=!0,c=function(){return JE(d,this)})),r)if(b={values:u(jr),keys:s?c:u(hh),entries:u(fh)},n)for(S in b)(Rs||l||!(S in p))&&iu(p,S,b[S]);else XE({target:e,proto:!0,forced:Rs||l},b);return(!ks||n)&&p[Hr]!==c&&iu(p,Hr,c,{name:r}),dh[e]=c,b}});var Th=g((wM,yh)=>{"use strict";yh.exports=function(a,e){return{value:a,done:e}}});var au=g((AM,Ah)=>{"use strict";var nx=hi(),ru=Fr(),Ih=Si(),xh=Uo(),ox=bi().f,ux=vh(),Ls=Th(),lx=ft(),cx=Ke(),wh="Array Iterator",dx=xh.set,px=xh.getterFor(wh);Ah.exports=ux(Array,"Array",function(a,e){dx(this,{type:wh,target:nx(a),index:0,kind:e})},function(){var a=px(this),e=a.target,t=a.index++;if(!e||t>=e.length)return a.target=null,Ls(void 0,!0);switch(a.kind){case"keys":return Ls(t,!1);case"values":return Ls(e[t],!1)}return Ls([t,e[t]],!1)},"values");var Eh=Ih.Arguments=Ih.Array;ru("keys");ru("values");ru("entries");if(!lx&&cx&&Eh.name!=="values")try{ox(Eh,"name",{value:"values"})}catch{}});var kh=g((PM,Ph)=>{"use strict";var hx=Le(),fx=Si(),mx=hx("iterator"),bx=Array.prototype;Ph.exports=function(a){return a!==void 0&&(fx.Array===a||bx[mx]===a)}});var su=g((kM,Lh)=>{"use strict";var gx=qr(),Rh=Cr(),Sx=$r(),vx=Si(),yx=Le(),Tx=yx("iterator");Lh.exports=function(a){if(!Sx(a))return Rh(a,Tx)||Rh(a,"@@iterator")||vx[gx(a)]}});var Mh=g((RM,$h)=>{"use strict";var Ix=Xe(),Ex=wt(),xx=At(),wx=Dr(),Ax=su(),Px=TypeError;$h.exports=function(a,e){var t=arguments.length<2?Ax(a):e;if(Ex(t))return xx(Ix(t,a));throw new Px(wx(a)+" is not iterable")}});var Bh=g((LM,Ch)=>{"use strict";var kx=Xe(),Dh=At(),Rx=Cr();Ch.exports=function(a,e,t){var i,r;Dh(a);try{if(i=Rx(a,"return"),!i){if(e==="throw")throw t;return t}i=kx(i,a)}catch(s){r=!0,i=s}if(e==="throw")throw t;if(r)throw i;return Dh(i),t}});var Ms=g(($M,Fh)=>{"use strict";var Lx=Ui(),$x=Xe(),Mx=At(),Dx=Dr(),Cx=kh(),Bx=Wi(),Vh=Mr(),Vx=Mh(),_x=su(),_h=Bh(),Ox=TypeError,$s=function(a,e){this.stopped=a,this.result=e},Oh=$s.prototype;Fh.exports=function(a,e,t){var i=t&&t.that,r=!!(t&&t.AS_ENTRIES),s=!!(t&&t.IS_RECORD),n=!!(t&&t.IS_ITERATOR),u=!!(t&&t.INTERRUPTED),o=Lx(e,i),l,p,d,c,h,m,b,S=function(I){return l&&_h(l,"normal"),new $s(!0,I)},v=function(I){return r?(Mx(I),u?o(I[0],I[1],S):o(I[0],I[1])):u?o(I,S):o(I)};if(s)l=a.iterator;else if(n)l=a;else{if(p=_x(a),!p)throw new Ox(Dx(a)+" is not iterable");if(Cx(p)){for(d=0,c=Bx(a);c>d;d++)if(h=v(a[d]),h&&Vh(Oh,h))return h;return new $s(!1)}l=Vx(a,p)}for(m=s?a.next:l.next;!(b=$x(m,l)).done;){try{h=v(b.value)}catch(I){_h(l,"throw",I)}if(typeof h=="object"&&h&&Vh(Oh,h))return h}return new $s(!1)}});var qh=g((MM,Nh)=>{"use strict";var Fx=Ke(),Nx=bi(),qx=Lr();Nh.exports=function(a,e,t){Fx?Nx.f(a,e,qx(0,t)):a[e]=t}});var Uh=g(()=>{"use strict";var Ux=Te(),Hx=Ms(),jx=qh();Ux({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Hx(e,function(i,r){jx(t,i,r)},{AS_ENTRIES:!0}),t}})});var jh=g((BM,Hh)=>{"use strict";au();Uh();var Qx=fi();Hh.exports=Qx.Object.fromEntries});var Wh=g((VM,Qh)=>{"use strict";Qh.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}});var zh=g(()=>{"use strict";au();var Wx=Wh(),Gx=Se(),zx=Ur(),Gh=Si();for(Ds in Wx)zx(Gx[Ds],Ds),Gh[Ds]=Gh.Array;var Ds});var Kh=g((FM,Yh)=>{"use strict";var Yx=jh();zh();Yh.exports=Yx});var nu=g((NM,Xh)=>{"use strict";var Kx=Kh();Xh.exports=Kx});var Jh=g(()=>{"use strict"});var ou=g((HM,Zh)=>{"use strict";var Qr=Se(),Xx=mi(),Jx=pi(),Cs=function(a){return Xx.slice(0,a.length)===a};Zh.exports=function(){return Cs("Bun/")?"BUN":Cs("Cloudflare-Workers")?"CLOUDFLARE":Cs("Deno/")?"DENO":Cs("Node.js/")?"NODE":Qr.Bun&&typeof Bun.version=="string"?"BUN":Qr.Deno&&typeof Deno.version=="object"?"DENO":Jx(Qr.process)==="process"?"NODE":Qr.window&&Qr.document?"BROWSER":"REST"}()});var Bs=g((jM,ef)=>{"use strict";var Zx=ou();ef.exports=Zx==="NODE"});var rf=g((QM,tf)=>{"use strict";var ew=bi();tf.exports=function(a,e,t){return ew.f(a,e,t)}});var nf=g((WM,sf)=>{"use strict";var tw=Vt(),iw=rf(),rw=Le(),aw=Ke(),af=rw("species");sf.exports=function(a){var e=tw(a);aw&&e&&!e[af]&&iw(e,af,{configurable:!0,get:function(){return this}})}});var uf=g((GM,of)=>{"use strict";var sw=Mr(),nw=TypeError;of.exports=function(a,e){if(sw(e,a))return a;throw new nw("Incorrect invocation")}});var lu=g((zM,lf)=>{"use strict";var ow=Ae(),uw=ve(),uu=Br(),lw=ow(Function.toString);uw(uu.inspectSource)||(uu.inspectSource=function(a){return lw(a)});lf.exports=uu.inspectSource});var du=g((YM,ff)=>{"use strict";var cw=Ae(),dw=we(),cf=ve(),pw=qr(),hw=Vt(),fw=lu(),df=function(){},pf=hw("Reflect","construct"),cu=/^\s*(?:class|function)\b/,mw=cw(cu.exec),bw=!cu.test(df),Wr=function(e){if(!cf(e))return!1;try{return pf(df,[],e),!0}catch{return!1}},hf=function(e){if(!cf(e))return!1;switch(pw(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return bw||!!mw(cu,fw(e))}catch{return!0}};hf.sham=!0;ff.exports=!pf||dw(function(){var a;return Wr(Wr.call)||!Wr(Object)||!Wr(function(){a=!0})||a})?hf:Wr});var bf=g((KM,mf)=>{"use strict";var gw=du(),Sw=Dr(),vw=TypeError;mf.exports=function(a){if(gw(a))return a;throw new vw(Sw(a)+" is not a constructor")}});var pu=g((XM,Sf)=>{"use strict";var gf=At(),yw=bf(),Tw=$r(),Iw=Le(),Ew=Iw("species");Sf.exports=function(a,e){var t=gf(a).constructor,i;return t===void 0||Tw(i=gf(t)[Ew])?e:yw(i)}});var yf=g((JM,vf)=>{"use strict";var xw=Ae();vf.exports=xw([].slice)});var If=g((ZM,Tf)=>{"use strict";var ww=TypeError;Tf.exports=function(a,e){if(a<e)throw new ww("Not enough arguments");return a}});var hu=g((eD,Ef)=>{"use strict";var Aw=mi();Ef.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(Aw)});var Iu=g((tD,Mf)=>{"use strict";var Je=Se(),Pw=ro(),kw=Ui(),xf=ve(),Rw=mt(),$f=we(),wf=Wo(),Lw=yf(),Af=bs(),$w=If(),Mw=hu(),Dw=Bs(),vu=Je.setImmediate,yu=Je.clearImmediate,Cw=Je.process,fu=Je.Dispatch,Bw=Je.Function,Pf=Je.MessageChannel,Vw=Je.String,mu=0,Gr={},kf="onreadystatechange",zr,yi,bu,gu;$f(function(){zr=Je.location});var Tu=function(a){if(Rw(Gr,a)){var e=Gr[a];delete Gr[a],e()}},Su=function(a){return function(){Tu(a)}},Rf=function(a){Tu(a.data)},Lf=function(a){Je.postMessage(Vw(a),zr.protocol+"//"+zr.host)};(!vu||!yu)&&(vu=function(e){$w(arguments.length,1);var t=xf(e)?e:Bw(e),i=Lw(arguments,1);return Gr[++mu]=function(){Pw(t,void 0,i)},yi(mu),mu},yu=function(e){delete Gr[e]},Dw?yi=function(a){Cw.nextTick(Su(a))}:fu&&fu.now?yi=function(a){fu.now(Su(a))}:Pf&&!Mw?(bu=new Pf,gu=bu.port2,bu.port1.onmessage=Rf,yi=kw(gu.postMessage,gu)):Je.addEventListener&&xf(Je.postMessage)&&!Je.importScripts&&zr&&zr.protocol!=="file:"&&!$f(Lf)?(yi=Lf,Je.addEventListener("message",Rf,!1)):kf in Af("script")?yi=function(a){wf.appendChild(Af("script"))[kf]=function(){wf.removeChild(this),Tu(a)}}:yi=function(a){setTimeout(Su(a),0)});Mf.exports={set:vu,clear:yu}});var Bf=g((iD,Cf)=>{"use strict";var Df=Se(),_w=Ke(),Ow=Object.getOwnPropertyDescriptor;Cf.exports=function(a){if(!_w)return Df[a];var e=Ow(Df,a);return e&&e.value}});var Eu=g((rD,_f)=>{"use strict";var Vf=function(){this.head=null,this.tail=null};Vf.prototype={add:function(a){var e={item:a,next:null},t=this.tail;t?t.next=e:this.head=e,this.tail=e},get:function(){var a=this.head;if(a){var e=this.head=a.next;return e===null&&(this.tail=null),a.item}}};_f.exports=Vf});var Ff=g((aD,Of)=>{"use strict";var Fw=mi();Of.exports=/ipad|iphone|ipod/i.test(Fw)&&typeof Pebble<"u"});var qf=g((sD,Nf)=>{"use strict";var Nw=mi();Nf.exports=/web0s(?!.*chrome)/i.test(Nw)});var zf=g((nD,Gf)=>{"use strict";var Ki=Se(),qw=Bf(),Uf=Ui(),xu=Iu().set,Uw=Eu(),Hw=hu(),jw=Ff(),Qw=qf(),wu=Bs(),Hf=Ki.MutationObserver||Ki.WebKitMutationObserver,jf=Ki.document,Qf=Ki.process,Vs=Ki.Promise,ku=qw("queueMicrotask"),Yi,Au,Pu,_s,Wf;ku||(Yr=new Uw,Kr=function(){var a,e;for(wu&&(a=Qf.domain)&&a.exit();e=Yr.get();)try{e()}catch(t){throw Yr.head&&Yi(),t}a&&a.enter()},!Hw&&!wu&&!Qw&&Hf&&jf?(Au=!0,Pu=jf.createTextNode(""),new Hf(Kr).observe(Pu,{characterData:!0}),Yi=function(){Pu.data=Au=!Au}):!jw&&Vs&&Vs.resolve?(_s=Vs.resolve(void 0),_s.constructor=Vs,Wf=Uf(_s.then,_s),Yi=function(){Wf(Kr)}):wu?Yi=function(){Qf.nextTick(Kr)}:(xu=Uf(xu,Ki),Yi=function(){xu(Kr)}),ku=function(a){Yr.head||Yi(),Yr.add(a)});var Yr,Kr;Gf.exports=ku});var Kf=g((oD,Yf)=>{"use strict";Yf.exports=function(a,e){try{arguments.length===1?console.error(a):console.error(a,e)}catch{}}});var Os=g((uD,Xf)=>{"use strict";Xf.exports=function(a){try{return{error:!1,value:a()}}catch(e){return{error:!0,value:e}}}});var Ti=g((lD,Jf)=>{"use strict";var Ww=Se();Jf.exports=Ww.Promise});var Xi=g((cD,im)=>{"use strict";var Gw=Se(),Xr=Ti(),zw=ve(),Yw=Ao(),Kw=lu(),Xw=Le(),Zf=ou(),Jw=ft(),Ru=ho(),em=Xr&&Xr.prototype,Zw=Xw("species"),Lu=!1,tm=zw(Gw.PromiseRejectionEvent),eA=Yw("Promise",function(){var a=Kw(Xr),e=a!==String(Xr);if(!e&&Ru===66||Jw&&!(em.catch&&em.finally))return!0;if(!Ru||Ru<51||!/native code/.test(a)){var t=new Xr(function(s){s(1)}),i=function(s){s(function(){},function(){})},r=t.constructor={};if(r[Zw]=i,Lu=t.then(function(){})instanceof i,!Lu)return!0}return!e&&(Zf==="BROWSER"||Zf==="DENO")&&!tm});im.exports={CONSTRUCTOR:eA,REJECTION_EVENT:tm,SUBCLASSING:Lu}});var Ji=g((dD,am)=>{"use strict";var rm=wt(),tA=TypeError,iA=function(a){var e,t;this.promise=new a(function(i,r){if(e!==void 0||t!==void 0)throw new tA("Bad Promise constructor");e=i,t=r}),this.resolve=rm(e),this.reject=rm(t)};am.exports.f=function(a){return new iA(a)}});var xm=g(()=>{"use strict";var rA=Te(),aA=ft(),Us=Bs(),Zt=Se(),sA=fi(),ir=Xe(),sm=zi(),nm=tu(),nA=Ur(),oA=nf(),uA=wt(),qs=ve(),lA=Ne(),cA=uf(),dA=pu(),dm=Iu().set,Bu=zf(),pA=Kf(),hA=Os(),fA=Eu(),pm=Uo(),Hs=Ti(),Vu=Xi(),hm=Ji(),js="Promise",fm=Vu.CONSTRUCTOR,mA=Vu.REJECTION_EVENT,bA=Vu.SUBCLASSING,$u=pm.getterFor(js),gA=pm.set,Zi=Hs&&Hs.prototype,Ii=Hs,Fs=Zi,mm=Zt.TypeError,Mu=Zt.document,_u=Zt.process,Du=hm.f,SA=Du,vA=!!(Mu&&Mu.createEvent&&Zt.dispatchEvent),bm="unhandledrejection",yA="rejectionhandled",om=0,gm=1,TA=2,Ou=1,Sm=2,Ns,um,vm,lm,ym=function(a){var e;return lA(a)&&qs(e=a.then)?e:!1},Tm=function(a,e){var t=e.value,i=e.state===gm,r=i?a.ok:a.fail,s=a.resolve,n=a.reject,u=a.domain,o,l,p;try{r?(i||(e.rejection===Sm&&EA(e),e.rejection=Ou),r===!0?o=t:(u&&u.enter(),o=r(t),u&&(u.exit(),p=!0)),o===a.promise?n(new mm("Promise-chain cycle")):(l=ym(o))?ir(l,o,s,n):s(o)):n(t)}catch(d){u&&!p&&u.exit(),n(d)}},Im=function(a,e){a.notified||(a.notified=!0,Bu(function(){for(var t=a.reactions,i;i=t.get();)Tm(i,a);a.notified=!1,e&&!a.rejection&&IA(a)}))},Em=function(a,e,t){var i,r;vA?(i=Mu.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(a,!1,!0),Zt.dispatchEvent(i)):i={promise:e,reason:t},!mA&&(r=Zt["on"+a])?r(i):a===bm&&pA("Unhandled promise rejection",t)},IA=function(a){ir(dm,Zt,function(){var e=a.facade,t=a.value,i=cm(a),r;if(i&&(r=hA(function(){Us?_u.emit("unhandledRejection",t,e):Em(bm,e,t)}),a.rejection=Us||cm(a)?Sm:Ou,r.error))throw r.value})},cm=function(a){return a.rejection!==Ou&&!a.parent},EA=function(a){ir(dm,Zt,function(){var e=a.facade;Us?_u.emit("rejectionHandled",e):Em(yA,e,a.value)})},er=function(a,e,t){return function(i){a(e,i,t)}},tr=function(a,e,t){a.done||(a.done=!0,t&&(a=t),a.value=e,a.state=TA,Im(a,!0))},Cu=function(a,e,t){if(!a.done){a.done=!0,t&&(a=t);try{if(a.facade===e)throw new mm("Promise can't be resolved itself");var i=ym(e);i?Bu(function(){var r={done:!1};try{ir(i,e,er(Cu,r,a),er(tr,r,a))}catch(s){tr(r,s,a)}}):(a.value=e,a.state=gm,Im(a,!1))}catch(r){tr({done:!1},r,a)}}};if(fm&&(Ii=function(e){cA(this,Fs),uA(e),ir(Ns,this);var t=$u(this);try{e(er(Cu,t),er(tr,t))}catch(i){tr(t,i)}},Fs=Ii.prototype,Ns=function(e){gA(this,{type:js,done:!1,notified:!1,parent:!1,reactions:new fA,rejection:!1,state:om,value:null})},Ns.prototype=sm(Fs,"then",function(e,t){var i=$u(this),r=Du(dA(this,Ii));return i.parent=!0,r.ok=qs(e)?e:!0,r.fail=qs(t)&&t,r.domain=Us?_u.domain:void 0,i.state===om?i.reactions.add(r):Bu(function(){Tm(r,i)}),r.promise}),um=function(){var a=new Ns,e=$u(a);this.promise=a,this.resolve=er(Cu,e),this.reject=er(tr,e)},hm.f=Du=function(a){return a===Ii||a===vm?new um(a):SA(a)},!aA&&qs(Hs)&&Zi!==Object.prototype)){lm=Zi.then,bA||sm(Zi,"then",function(e,t){var i=this;return new Ii(function(r,s){ir(lm,i,r,s)}).then(e,t)},{unsafe:!0});try{delete Zi.constructor}catch{}nm&&nm(Zi,Fs)}rA({global:!0,constructor:!0,wrap:!0,forced:fm},{Promise:Ii});vm=sA.Promise;nA(Ii,js,!1,!0);oA(js)});var Rm=g((fD,km)=>{"use strict";var xA=Le(),Am=xA("iterator"),Pm=!1;try{wm=0,Fu={next:function(){return{done:!!wm++}},return:function(){Pm=!0}},Fu[Am]=function(){return this},Array.from(Fu,function(){throw 2})}catch{}var wm,Fu;km.exports=function(a,e){try{if(!e&&!Pm)return!1}catch{return!1}var t=!1;try{var i={};i[Am]=function(){return{next:function(){return{done:t=!0}}}},a(i)}catch{}return t}});var Nu=g((mD,Lm)=>{"use strict";var wA=Ti(),AA=Rm(),PA=Xi().CONSTRUCTOR;Lm.exports=PA||!AA(function(a){wA.all(a).then(void 0,function(){})})});var $m=g(()=>{"use strict";var kA=Te(),RA=Xe(),LA=wt(),$A=Ji(),MA=Os(),DA=Ms(),CA=Nu();kA({target:"Promise",stat:!0,forced:CA},{all:function(e){var t=this,i=$A.f(t),r=i.resolve,s=i.reject,n=MA(function(){var u=LA(t.resolve),o=[],l=0,p=1;DA(e,function(d){var c=l++,h=!1;p++,RA(u,t,d).then(function(m){h||(h=!0,o[c]=m,--p||r(o))},s)}),--p||r(o)});return n.error&&s(n.value),i.promise}})});var Dm=g(()=>{"use strict";var BA=Te(),VA=ft(),_A=Xi().CONSTRUCTOR,Uu=Ti(),OA=Vt(),FA=ve(),NA=zi(),Mm=Uu&&Uu.prototype;BA({target:"Promise",proto:!0,forced:_A,real:!0},{catch:function(a){return this.then(void 0,a)}});!VA&&FA(Uu)&&(qu=OA("Promise").prototype.catch,Mm.catch!==qu&&NA(Mm,"catch",qu,{unsafe:!0}));var qu});var Cm=g(()=>{"use strict";var qA=Te(),UA=Xe(),HA=wt(),jA=Ji(),QA=Os(),WA=Ms(),GA=Nu();qA({target:"Promise",stat:!0,forced:GA},{race:function(e){var t=this,i=jA.f(t),r=i.reject,s=QA(function(){var n=HA(t.resolve);WA(e,function(u){UA(n,t,u).then(i.resolve,r)})});return s.error&&r(s.value),i.promise}})});var Bm=g(()=>{"use strict";var zA=Te(),YA=Ji(),KA=Xi().CONSTRUCTOR;zA({target:"Promise",stat:!0,forced:KA},{reject:function(e){var t=YA.f(this),i=t.reject;return i(e),t.promise}})});var Hu=g((xD,Vm)=>{"use strict";var XA=At(),JA=Ne(),ZA=Ji();Vm.exports=function(a,e){if(XA(a),JA(e)&&e.constructor===a)return e;var t=ZA.f(a),i=t.resolve;return i(e),t.promise}});var Fm=g(()=>{"use strict";var eP=Te(),tP=Vt(),_m=ft(),iP=Ti(),Om=Xi().CONSTRUCTOR,rP=Hu(),aP=tP("Promise"),sP=_m&&!Om;eP({target:"Promise",stat:!0,forced:_m||Om},{resolve:function(e){return rP(sP&&this===aP?iP:this,e)}})});var Nm=g(()=>{"use strict";xm();$m();Dm();Cm();Bm();Fm()});var jm=g(()=>{"use strict";var nP=Te(),oP=ft(),Qs=Ti(),uP=we(),Um=Vt(),Hm=ve(),lP=pu(),qm=Hu(),cP=zi(),Qu=Qs&&Qs.prototype,dP=!!Qs&&uP(function(){Qu.finally.call({then:function(){}},function(){})});nP({target:"Promise",proto:!0,real:!0,forced:dP},{finally:function(a){var e=lP(this,Um("Promise")),t=Hm(a);return this.then(t?function(i){return qm(e,a()).then(function(){return i})}:a,t?function(i){return qm(e,a()).then(function(){throw i})}:a)}});!oP&&Hm(Qs)&&(ju=Um("Promise").prototype.finally,Qu.finally!==ju&&cP(Qu,"finally",ju,{unsafe:!0}));var ju});var Wm=g(($D,Qm)=>{"use strict";Jh();Nm();jm();var pP=Jt();Qm.exports=pP("Promise","finally")});var zm=g((MD,Gm)=>{"use strict";var hP=Wm();Gm.exports=hP});var Ws=g((DD,Ym)=>{"use strict";var fP=zm();Ym.exports=fP});var db=g(()=>{"use strict";var kP=Te(),RP=Ni(),LP=Wi(),$P=Or(),MP=Fr();kP({target:"Array",proto:!0},{at:function(e){var t=RP(this),i=LP(t),r=$P(e),s=r>=0?r:i+r;return s<0||s>=i?void 0:t[s]}});MP("at")});var hb=g((pB,pb)=>{"use strict";db();var DP=Jt();pb.exports=DP("Array","at")});var mb=g((hB,fb)=>{"use strict";var CP=hb();fb.exports=CP});var gt=g((fB,bb)=>{"use strict";var BP=mb();bb.exports=BP});var pl=g((z0,qb)=>{"use strict";var WP=pi();qb.exports=Array.isArray||function(e){return WP(e)==="Array"}});var Hb=g((Y0,Ub)=>{"use strict";var GP=TypeError,zP=9007199254740991;Ub.exports=function(a){if(a>zP)throw GP("Maximum allowed index exceeded");return a}});var Wb=g((K0,Qb)=>{"use strict";var YP=pl(),KP=Wi(),XP=Hb(),JP=Ui(),jb=function(a,e,t,i,r,s,n,u){for(var o=r,l=0,p=n?JP(n,u):!1,d,c;l<i;)l in t&&(d=p?p(t[l],l,e):t[l],s>0&&YP(d)?(c=KP(d),o=jb(a,e,d,c,o,s-1)-1):(XP(o+1),a[o]=d),o++),l++;return o};Qb.exports=jb});var Kb=g((X0,Yb)=>{"use strict";var Gb=pl(),ZP=du(),ek=Ne(),tk=Le(),ik=tk("species"),zb=Array;Yb.exports=function(a){var e;return Gb(a)&&(e=a.constructor,ZP(e)&&(e===zb||Gb(e.prototype))?e=void 0:ek(e)&&(e=e[ik],e===null&&(e=void 0))),e===void 0?zb:e}});var Jb=g((J0,Xb)=>{"use strict";var rk=Kb();Xb.exports=function(a,e){return new(rk(a))(e===0?0:e)}});var Zb=g(()=>{"use strict";var ak=Te(),sk=Wb(),nk=wt(),ok=Ni(),uk=Wi(),lk=Jb();ak({target:"Array",proto:!0},{flatMap:function(e){var t=ok(this),i=uk(t),r;return nk(e),r=lk(t,0),r.length=sk(r,t,t,i,0,1,e,arguments.length>1?arguments[1]:void 0),r}})});var eg=g(()=>{"use strict";var ck=Fr();ck("flatMap")});var ig=g((rV,tg)=>{"use strict";Zb();eg();var dk=Jt();tg.exports=dk("Array","flatMap")});var ag=g((aV,rg)=>{"use strict";var pk=ig();rg.exports=pk});var la=g((sV,sg)=>{"use strict";var hk=ag();sg.exports=hk});var ca=g((nV,ng)=>{"use strict";var fk=qr(),mk=String;ng.exports=function(a){if(fk(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return mk(a)}});var hl=g((oV,og)=>{"use strict";og.exports=`
|
|
7
|
+
\v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`});var cg=g((uV,lg)=>{"use strict";var bk=Ae(),gk=Xt(),Sk=ca(),ml=hl(),ug=bk("".replace),vk=RegExp("^["+ml+"]+"),yk=RegExp("(^|[^"+ml+"])["+ml+"]+$"),fl=function(a){return function(e){var t=Sk(gk(e));return a&1&&(t=ug(t,vk,"")),a&2&&(t=ug(t,yk,"$1")),t}};lg.exports={start:fl(1),end:fl(2),trim:fl(3)}});var fg=g((lV,hg)=>{"use strict";var Tk=Qo().PROPER,Ik=we(),dg=hl(),pg="\u200B\x85\u180E";hg.exports=function(a){return Ik(function(){return!!dg[a]()||pg[a]()!==pg||Tk&&dg[a].name!==a})}});var bl=g((cV,mg)=>{"use strict";var Ek=cg().start,xk=fg();mg.exports=xk("trimStart")?function(){return Ek(this)}:"".trimStart});var gg=g(()=>{"use strict";var wk=Te(),bg=bl();wk({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==bg},{trimLeft:bg})});var vg=g(()=>{"use strict";gg();var Ak=Te(),Sg=bl();Ak({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==Sg},{trimStart:Sg})});var Tg=g((mV,yg)=>{"use strict";vg();var Pk=Jt();yg.exports=Pk("String","trimLeft")});var Eg=g((bV,Ig)=>{"use strict";var kk=Tg();Ig.exports=kk});var wg=g((gV,xg)=>{"use strict";var Rk=Eg();xg.exports=Rk});var Ng=g(()=>{"use strict"});var qg=g(()=>{"use strict"});var Hg=g((JO,Ug)=>{"use strict";var Yk=Ne(),Kk=pi(),Xk=Le(),Jk=Xk("match");Ug.exports=function(a){var e;return Yk(a)&&((e=a[Jk])!==void 0?!!e:Kk(a)==="RegExp")}});var Wg=g((ZO,Qg)=>{"use strict";var Zk=Se(),eR=we(),jg=Zk.RegExp,tR=!eR(function(){var a=!0;try{jg(".","d")}catch{a=!1}var e={},t="",i=a?"dgimsy":"gimsy",r=function(o,l){Object.defineProperty(e,o,{get:function(){return t+=l,!0}})},s={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};a&&(s.hasIndices="d");for(var n in s)r(n,s[n]);var u=Object.getOwnPropertyDescriptor(jg.prototype,"flags").get.call(e);return u!==i||t!==i});Qg.exports={correct:tR}});var zg=g((eF,Gg)=>{"use strict";var iR=At();Gg.exports=function(){var a=iR(this),e="";return a.hasIndices&&(e+="d"),a.global&&(e+="g"),a.ignoreCase&&(e+="i"),a.multiline&&(e+="m"),a.dotAll&&(e+="s"),a.unicode&&(e+="u"),a.unicodeSets&&(e+="v"),a.sticky&&(e+="y"),e}});var Xg=g((tF,Kg)=>{"use strict";var rR=Xe(),aR=mt(),sR=Mr(),Yg=Wg(),nR=zg(),oR=RegExp.prototype;Kg.exports=Yg.correct?function(a){return a.flags}:function(a){return!Yg.correct&&sR(oR,a)&&!aR(a,"flags")?rR(nR,a):a.flags}});var Zg=g((iF,Jg)=>{"use strict";var yl=Ae(),uR=Ni(),lR=Math.floor,Sl=yl("".charAt),cR=yl("".replace),vl=yl("".slice),dR=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,pR=/\$([$&'`]|\d{1,2})/g;Jg.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=pR;return r!==void 0&&(r=uR(r),o=dR),cR(s,o,function(l,p){var d;switch(Sl(p,0)){case"$":return"$";case"&":return a;case"`":return vl(e,0,t);case"'":return vl(e,n);case"<":d=r[vl(p,1,-1)];break;default:var c=+p;if(c===0)return l;if(c>u){var h=lR(c/10);return h===0?l:h<=u?i[h-1]===void 0?Sl(p,1):i[h-1]+Sl(p,1):l}d=i[c-1]}return d===void 0?"":d})}});var iS=g(()=>{"use strict";var hR=Te(),fR=Xe(),Il=Ae(),eS=Xt(),mR=ve(),bR=Ne(),gR=Hg(),fr=ca(),SR=Cr(),vR=Xg(),yR=Zg(),TR=Le(),IR=ft(),ER=TR("replace"),xR=TypeError,Tl=Il("".indexOf),wR=Il("".replace),tS=Il("".slice),AR=Math.max;hR({target:"String",proto:!0},{replaceAll:function(e,t){var i=eS(this),r,s,n,u,o,l,p,d,c,h,m=0,b="";if(bR(e)){if(r=gR(e),r&&(s=fr(eS(vR(e))),!~Tl(s,"g")))throw new xR("`.replaceAll` does not allow non-global regexes");if(n=SR(e,ER),n)return fR(n,e,i,t);if(IR&&r)return wR(fr(i),e,t)}for(u=fr(i),o=fr(e),l=mR(t),l||(t=fr(t)),p=o.length,d=AR(1,p),c=Tl(u,o);c!==-1;)h=l?fr(t(o,c,u)):yR(o,u,c,[],void 0,t),b+=tS(u,m,c)+h,m=c+p,c=c+d>u.length?-1:Tl(u,o,c+d);return m<u.length&&(b+=tS(u,m)),b}})});var aS=g((sF,rS)=>{"use strict";Ng();qg();iS();var PR=Jt();rS.exports=PR("String","replaceAll")});var nS=g((nF,sS)=>{"use strict";var kR=aS();sS.exports=kR});var uS=g((oF,oS)=>{"use strict";var RR=nS();oS.exports=RR});var cS=g((uF,lS)=>{"use strict";var LR=Or(),$R=ca(),MR=Xt(),DR=RangeError;lS.exports=function(e){var t=$R(MR(this)),i="",r=LR(e);if(r<0||r===1/0)throw new DR("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var mS=g((lF,fS)=>{"use strict";var hS=Ae(),CR=Do(),dS=ca(),BR=cS(),VR=Xt(),_R=hS(BR),OR=hS("".slice),FR=Math.ceil,pS=function(a){return function(e,t,i){var r=dS(VR(e)),s=CR(t),n=r.length,u=i===void 0?" ":dS(i),o,l;return s<=n||u===""?r:(o=s-n,l=_R(u,FR(o/u.length)),l.length>o&&(l=OR(l,0,o)),a?r+l:l+r)}};fS.exports={start:pS(!1),end:pS(!0)}});var gS=g((cF,bS)=>{"use strict";var NR=mi();bS.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(NR)});var SS=g(()=>{"use strict";var qR=Te(),UR=mS().start,HR=gS();qR({target:"String",proto:!0,forced:HR},{padStart:function(e){return UR(this,e,arguments.length>1?arguments[1]:void 0)}})});var yS=g((hF,vS)=>{"use strict";SS();var jR=Jt();vS.exports=jR("String","padStart")});var IS=g((fF,TS)=>{"use strict";var QR=yS();TS.exports=QR});var xS=g((mF,ES)=>{"use strict";var WR=IS();ES.exports=WR});var TL={};Dv(TL,{ChromecastState:()=>Ar,HttpConnectionType:()=>ps,Observable:()=>Ct.Observable,PlaybackState:()=>Ve,Player:()=>is,PredefinedQualityLimits:()=>Pr,SDK_VERSION:()=>yL,Subject:()=>Ct.Subject,Subscription:()=>Ct.Subscription,Surface:()=>hs,VERSION:()=>to,ValueSubject:()=>Ct.ValueSubject,VideoFormat:()=>xt,VideoQuality:()=>Ct.VideoQuality,areValidLiveRecordSources:()=>rb,clientChecker:()=>W,isMobile:()=>rr});module.exports=Cv(TL);var to="2.0.140-dev.59ffc991.0";var Ve=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Ve||{}),xt=(w=>(w.MPEG="MPEG",w.DASH="DASH",w.DASH_SEP="DASH_SEP",w.DASH_SEP_VK="DASH_SEP",w.DASH_WEBM="DASH_WEBM",w.DASH_WEBM_AV1="DASH_WEBM_AV1",w.DASH_STREAMS="DASH_STREAMS",w.DASH_WEBM_VK="DASH_WEBM",w.DASH_ONDEMAND="DASH_ONDEMAND",w.DASH_ONDEMAND_VK="DASH_ONDEMAND",w.DASH_LIVE="DASH_LIVE",w.DASH_LIVE_CMAF="DASH_LIVE_CMAF",w.DASH_LIVE_WEBM="DASH_LIVE_WEBM",w.HLS="HLS",w.HLS_ONDEMAND="HLS_ONDEMAND",w.HLS_JS="HLS",w.HLS_FMP4="HLS_FMP4",w.HLS_LIVE="HLS_LIVE",w.HLS_LIVE_CMAF="HLS_LIVE_CMAF",w.WEB_RTC_LIVE="WEB_RTC_LIVE",w))(xt||{});var Ar=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(Ar||{}),ps=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(ps||{});var hs=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(hs||{}),Pr=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Pr||{});var Zl=Q(gi(),1),Ev=Q(qe(),1);var J=require("@vkontakte/videoplayer-shared");var gp=a=>new Promise((e,t)=>{let i=document.createElement("script");i.setAttribute("src",a),i.onload=()=>e(),i.onerror=r=>t(r),document.body.appendChild(i)});var Ts=class{constructor(e){this.connection$=new J.ValueSubject(void 0);this.castState$=new J.ValueSubject("NOT_AVAILABLE");this.errorEvent$=new J.Subject;this.realCastState$=new J.ValueSubject("NOT_AVAILABLE");this.subscription=new J.Subscription;this.isDestroyed=!1;this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastInitializer");let t="chrome"in window;if(this.log({message:`[constructor] receiverApplicationId: ${this.params.receiverApplicationId}, isDisabled: ${this.params.isDisabled}, isSupported: ${t}`}),e.isDisabled||!t)return;let i=(0,J.isNonNullable)(window.chrome?.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},r||gp("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:J.ErrorCategory.NETWORK,message:"Script loading failed!"})))}connect(){cast.framework.CastContext.getInstance()?.requestSession()}disconnect(){cast.framework.CastContext.getInstance()?.getCurrentSession()?.endSession(!0)}stopMedia(){return new Promise((e,t)=>{cast.framework.CastContext.getInstance()?.getCurrentSession()?.getMediaSession()?.stop(new chrome.cast.media.StopRequest,e,t)})}toggleConnection(){(0,J.isNonNullable)(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();(0,J.isNullable)(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();(0,J.isNullable)(t)||e!==t.remotePlayer.isMuted&&t.remotePlayerController.muteOrUnmute()}destroy(){this.isDestroyed=!0,this.subscription.unsubscribe()}initListeners(){let e=new cast.framework.RemotePlayer,t=new cast.framework.RemotePlayerController(e),i=cast.framework.CastContext.getInstance();this.subscription.add((0,J.fromEvent)(i,cast.framework.CastContextEventType.SESSION_STATE_CHANGED).subscribe(r=>{switch(r.sessionState){case cast.framework.SessionState.SESSION_STARTED:case cast.framework.SessionState.SESSION_STARTING:case cast.framework.SessionState.SESSION_RESUMED:this.contentId=i.getCurrentSession()?.getMediaSession()?.media?.contentId;break;case cast.framework.SessionState.NO_SESSION:case cast.framework.SessionState.SESSION_ENDING:case cast.framework.SessionState.SESSION_ENDED:case cast.framework.SessionState.SESSION_START_FAILED:this.contentId=void 0;break;default:return(0,J.assertNever)(r.sessionState)}})).add((0,J.merge)((0,J.fromEvent)(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe((0,J.tap)(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),(0,J.map)(r=>r.castState)),(0,J.observableFrom)([i.getCastState()])).pipe((0,J.filterChanged)(),(0,J.map)(RI),(0,J.tap)(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{let s=r==="CONNECTED",n=(0,J.isNonNullable)(this.connection$.getValue());if(s&&!n){let u=i.getCurrentSession();(0,J.assertNonNullable)(u);let o=u.getCastDevice(),l=u.getMediaSession()?.media?.contentId;((0,J.isNullable)(l)||l===this.contentId)&&(this.log({message:"connection created"}),this.connection$.next({remotePlayer:e,remotePlayerController:t,session:u,castDevice:o}))}else!s&&n&&(this.log({message:"connection destroyed"}),this.connection$.next(void 0));this.castState$.next(r==="CONNECTED"?(0,J.isNonNullable)(this.connection$.getValue())?"CONNECTED":"AVAILABLE":r)}))}initializeCastApi(){let e,t,i;try{e=cast.framework.CastContext.getInstance(),t=chrome.cast.media.DEFAULT_MEDIA_RECEIVER_APP_ID,i=chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED}catch{return}try{e.setOptions({receiverApplicationId:this.params.receiverApplicationId??t,autoJoinPolicy:i}),this.initListeners()}catch(r){this.errorEvent$.next({id:"ChromecastInitializer",category:J.ErrorCategory.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:r})}}},RI=a=>{switch(a){case cast.framework.CastState.NO_DEVICES_AVAILABLE:return"NOT_AVAILABLE";case cast.framework.CastState.NOT_CONNECTED:return"AVAILABLE";case cast.framework.CastState.CONNECTING:return"CONNECTING";case cast.framework.CastState.CONNECTED:return"CONNECTED";default:return(0,J.assertNever)(a)}};var Kl=Q(qe(),1),cv=Q(Gi(),1),dv=Q(nu(),1);var sb=Q(Ws(),1);var Wu=require("@vkontakte/videoplayer-shared");var ye=(a,e=0,t=0)=>{switch(t){case 0:return a.replace("_offset_p",e===0?"":"_"+e.toFixed(0));case 1:{if(e===0)return a;let i=new URL(a);return i.searchParams.append("playback_shift",e.toFixed(0)),i.toString()}case 2:{let i=new URL(a);return!i.searchParams.get("offset_p")&&e===0?a:(i.searchParams.set("offset_p",e.toFixed(0)),i.toString())}default:(0,Wu.assertNever)(t)}return a},ei=(a,e)=>{switch(e){case 0:return NaN;case 1:{let t=new URL(a);return Number(t.searchParams.get("playback_shift"))}case 2:{let t=new URL(a);return Number(t.searchParams.get("offset_p")??0)}default:(0,Wu.assertNever)(e)}};var B=(a,e,t=!1)=>{let i=a.getTransition();(t||!i||i.to===e)&&a.setState(e)};var Pt=require("@vkontakte/videoplayer-shared"),Z=class{constructor(e){this.transitionStarted$=new Pt.Subject;this.transitionEnded$=new Pt.Subject;this.transitionUpdated$=new Pt.Subject;this.forceChanged$=new Pt.Subject;this.stateChangeStarted$=(0,Pt.merge)(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=(0,Pt.merge)(this.transitionEnded$,this.forceChanged$);this.state=e,this.prevState=void 0}setState(e){let t=this.transition,i=this.state;this.transition=void 0,this.prevState=i,this.state=e,t?t.to===e?this.transitionEnded$.next(t):this.forceChanged$.next({from:t.from,to:e,canceledTransition:t}):this.forceChanged$.next({from:i,to:e,canceledTransition:t})}startTransitionTo(e){let t=this.transition,i=this.state;i===e||(0,Pt.isNonNullable)(t)&&t.to===e||(this.prevState=i,this.state=e,t?(this.transition={from:t.from,to:e,canceledTransition:t},this.transitionUpdated$.next(this.transition)):(this.transition={from:i,to:e},this.transitionStarted$.next(this.transition)))}getTransition(){return this.transition}getState(){return this.state}getPrevState(){return this.prevState}};var zu=require("@vkontakte/videoplayer-shared");var Gs=class{constructor(){this._isMiuiBrowser=!1}get current(){return this._current}get isChrome(){return this.current==="Chrome"}get isFirefox(){return this.current==="Firefox"}get isSafari(){return this.current==="Safari"}get isOpera(){return this.current==="Opera"}get isEdge(){return this.current==="Edge"}get isYandex(){return this.current==="Yandex"}get isSamsungBrowser(){return this.current==="SamsungBrowser"}get currentVersion(){return this._current_version}get chromeVersion(){return this._chromeVersion}get firefoxVersion(){return this._firefoxVersion}get safariVersion(){return this._safariVersion}get operaVersion(){return this._operaVersion}get edgeVersion(){return this._edgeVersion}get yandexVersion(){return this._yandexVersion}get isMiuiBrowser(){return this._isMiuiBrowser}detect(){let{userAgent:e}=navigator;try{let t=/yabrowser/i.test(e)?"Yandex":void 0,i=/samsungbrowser/i.test(e)?"SamsungBrowser":void 0,r=/chrome|crios/i.test(e)?"Chrome":void 0,s=/chromium/i.test(e)?"Chromium":void 0,n=/firefox|fxios/i.test(e)?"Firefox":void 0,u=/webkit|safari|khtml/i.test(e)?"Safari":void 0,o=/opr\//i.test(e)?"Opera":void 0,l=/edg/i.test(e)?"Edge":void 0;this._isMiuiBrowser=/(XiaoMi)|(MiuiBrowser)/i.test(e),this._current=t||i||n||o||l||r||s||u||"Rest"}catch(t){console.error(t)}this.isChrome&&this.detectChromeVersion(),this.isFirefox&&this.detectFirefoxVersion(),this.isSafari&&this.detectSafariVersion(),this.isOpera&&this.detectOperaVersion(),this.isEdge&&this.detectEdgeVersion(),this.isYandex&&this.detectYandexVersion()}detectVersion(e){try{let{userAgent:t}=window.navigator,i=t.match(e);if(!i)return;let r=i[1],s=parseInt(r,10);if(!isNaN(s))return this._current_version=s,s}catch(t){console.error(t)}}detectChromeVersion(){this._chromeVersion=this.detectVersion(/Chrome\/(\d+\.\d+)/)}detectFirefoxVersion(){this._firefoxVersion=this.detectVersion(/Firefox\/(\d+\.\d+)/)}detectSafariVersion(){this._safariVersion=this.detectVersion(/Version\/(\d+)/)}detectOperaVersion(){this._operaVersion=this.detectVersion(/OPR\/(\d+\.\d+)/)}detectEdgeVersion(){this._edgeVersion=this.detectVersion(/Edg\/(\d+\.\d+)/)}detectYandexVersion(){this._yandexVersion=this.detectVersion(/YaBrowser\/(\d+\.\d+\.\d+)/)}};var Km=Q(qe(),1);var rr=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var zs=class{constructor(e){this._highEntropyValues={};this._displayChecker=e}get current(){return this._current}get isIOS(){let e=["iPhone","iPad","iPod"];return this._highEntropyValues.platform==="iOS"||(0,Km.default)(e,this.current)}get isMac(){return this._highEntropyValues.platform==="macOS"||this.current==="Mac"}get isApple(){return this.isIOS||this.isMac}get isIphoneOrOldIpad(){if(!this.isApple||!this._displayChecker.isTouch)return!1;let e=this.current==="iPad"||this._displayChecker.width>700,t=this._iosVersion;return!e||e&&!!t&&t<16}get isAndroid(){return this._highEntropyValues.platform==="Android"||this.current==="Android"}get isMobile(){return this._highEntropyValues.mobile||this._isMobile}get iOSVersion(){return this._iosVersion}detect(){let{userAgent:e}=navigator;try{this._isMobile=rr()}catch(t){console.error(t)}this.detectDevice(e),this.detectHighEntropyValues(),this.isIOS&&this.detectIOSVersion()}async detectHighEntropyValues(){let{userAgentData:e}=navigator;if(e?.getHighEntropyValues){let t=await e.getHighEntropyValues(["architecture","bitness","brands","mobile","platform","formFactor","model","platformVersion","wow64"]);this._highEntropyValues=t}}detectDevice(e){try{let t=/android/i.test(e)?"Android":void 0,i=/iphone/i.test(e)?"iPhone":void 0,r=/ipad/i.test(e)?"iPad":void 0,s=/ipod/i.test(e)?"iPod":void 0,n=/mac/i.test(e)?"Mac":void 0,u=/webOS|BlackBerry|IEMobile|Opera Mini/i.test(e)?"RestMobile":void 0;this._current=t||i||r||s||u||n||"Desktop"}catch(t){console.error(t)}}detectIOSVersion(){try{if(this._highEntropyValues.platformVersion){let s=this._highEntropyValues.platformVersion.split(".").slice(0,2).join("."),n=parseFloat(s);this._iosVersion=n;return}let{userAgent:e}=window.navigator,t=e.match(/OS (\d+(_\d+)?)/i);if(!t)return;let i=t[1].replace(/_/g,".");if(!i)return;let r=parseFloat(i);if(isNaN(r))return;this._iosVersion=r}catch(e){console.error(e)}}};var Ys=class{get isTouch(){return typeof this._maxTouchPoints=="number"?this._maxTouchPoints>1:"ontouchstart"in window}get maxTouchPoints(){return this._maxTouchPoints}get height(){return this._height}get width(){return this._width}get screenHeight(){return this._screenHeight}get screenWidth(){return this._screenWidth}get pixelRatio(){return this._pixelRatio}get isHDR(){return this._isHdr}get colorDepth(){return this._colorDepth}detect(){let{maxTouchPoints:e}=navigator;try{this._maxTouchPoints=e??0,this._isHdr=!!matchMedia("(dynamic-range: high)")?.matches,this._colorDepth=screen.colorDepth}catch(t){console.error(t)}try{this._pixelRatio=window.devicePixelRatio||1,this._height=screen.height,this._width=screen.width,this._height=screen.height,this._screenHeight=this._height*this._pixelRatio,this._screenWidth=this._width*this._pixelRatio}catch(t){console.error(t)}}};var Ze=()=>window.ManagedMediaSource||window.MediaSource,ar=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),Xm=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),Ks=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var mP=document.createElement("video"),bP='video/mp4; codecs="avc1.42000a,mp4a.40.2"',gP='video/mp4; codecs="hev1.1.6.L93.B0"',Jm='video/webm; codecs="vp09.00.10.08"',Zm='video/webm; codecs="av01.0.00M.08"',SP='audio/mp4; codecs="mp4a.40.2"',vP='audio/webm; codecs="opus"',eb,yP=async()=>{if(!window.navigator.mediaCapabilities)return;let a={type:"media-source",video:{contentType:"video/webm",width:1280,height:720,bitrate:1e6,framerate:30}},[e,t]=await Promise.all([window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Zm}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Jm}})]);eb={DASH_WEBM_AV1:e,DASH_WEBM:t}};yP().catch(a=>{console.log(mP),console.error(a)});var Xs=class{constructor(e,t){this._deviceChecker=e,this._browserChecker=t}get protocols(){return this._protocols}get containers(){return this._containers}get codecs(){return this._codecs}get webmDecodingInfo(){return eb}get supportedCodecs(){return Object.keys(this._codecs).filter(e=>this._codecs[e])}get nativeHlsSupported(){return this._nativeHlsSupported}detect(){this._video=document.createElement("video");try{this._protocols={mms:ar(),mse:Xm(),hls:!!(this._video.canPlayType?.("application/x-mpegurl")||this._video.canPlayType?.("vnd.apple.mpegURL")),webrtc:!!window.RTCPeerConnection,ws:!!window.WebSocket},this._containers={mp4:!!this._video.canPlayType?.("video/mp4"),webm:!!this._video.canPlayType?.("video/webm"),cmaf:!0};let e=!!Ze()?.isTypeSupported?.(bP),t=!!Ze()?.isTypeSupported?.(gP),i=!!Ze()?.isTypeSupported?.(SP);this._codecs={h264:e,h265:t,vp9:!!Ze()?.isTypeSupported?.(Jm),av1:!!Ze()?.isTypeSupported?.(Zm),aac:i,opus:!!Ze()?.isTypeSupported?.(vP),mpeg:(e||t)&&i},this._nativeHlsSupported=this._protocols.hls&&this._containers.mp4}catch(e){console.error(e)}try{this.destroyVideoElement()}catch(e){console.error("Error destroying video element:",e)}}destroyVideoElement(){if(!this._video)return;if(this._video.pause(),this._video.currentTime=0,this._video.removeAttribute("src"),this._video.src="",this._video.load(),this._video.remove){this._video.remove(),this._video=null;return}this._video.parentNode&&this._video.parentNode.removeChild(this._video);let e=this._video.cloneNode(!1);this._video.parentNode?.replaceChild(e,this._video),this._video=null}};var tb="audio/mpeg",Js=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(tb)},this._codecs={mp3:!!Ze()?.isTypeSupported?.(tb)}}catch(e){console.error(e)}try{this.destroyAudioElement()}catch(e){console.error("Error destroying audio element:",e)}}destroyAudioElement(){if(!this._audio)return;if(this._audio.pause(),this._audio.currentTime=0,this._audio.removeAttribute("src"),this._audio.src="",this._audio.load(),this._audio.remove){this._audio.remove(),this._audio=null;return}this._audio.parentNode&&this._audio.parentNode.removeChild(this._audio);let e=this._audio.cloneNode(!1);this._audio.parentNode?.replaceChild(e,this._audio),this._audio=null}};var ib=require("@vkontakte/videoplayer-shared"),Gu=class{constructor(){this.isInited$=new ib.ValueSubject(!1);this._displayChecker=new Ys,this._deviceChecker=new zs(this._displayChecker),this._browserChecker=new Gs,this._videoChecker=new Xs(this._deviceChecker,this._browserChecker),this._audioChecker=new Js,this.detect()}get display(){return this._displayChecker}get device(){return this._deviceChecker}get browser(){return this._browserChecker}get video(){return this._videoChecker}get audio(){return this._audioChecker}async detect(){this._displayChecker.detect(),this._deviceChecker.detect(),this._browserChecker.detect(),this._videoChecker.detect(),this._audioChecker.detect(),this.isInited$.next(!0)}},W=new Gu;var Yu=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=W.video,s=(i.h264||i.h265)&&i.aac,n=t.mse||t.mms;return a.filter(u=>{switch(u){case"DASH_SEP":return n&&e.mp4&&s;case"DASH_WEBM":return n&&e.webm&&i.vp9&&i.opus;case"DASH_WEBM_AV1":return n&&e.webm&&i.av1&&i.opus;case"DASH_STREAMS":return n&&(e.mp4&&s||e.webm&&(i.vp9||i.av1)&&(i.opus||i.aac));case"DASH_LIVE":return n&&e.mp4&&s;case"DASH_LIVE_CMAF":return n&&e.mp4&&s&&e.cmaf;case"DASH_ONDEMAND":return n&&e.mp4&&s;case"HLS":case"HLS_ONDEMAND":case"HLS_FMP4":case"HLS_LIVE":case"HLS_LIVE_CMAF":return r;case"MPEG":return e.mp4;case"DASH":case"DASH_LIVE_WEBM":return!1;case"WEB_RTC_LIVE":return t.webrtc&&t.ws&&i.h264&&(e.mp4||e.webm);default:return(0,zu.assertNever)(u)}})},Ku=a=>{switch(a){case"MPEG":case"DASH":case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":return!1;case"DASH_LIVE":case"DASH_LIVE_CMAF":case"HLS_LIVE":case"HLS_LIVE_CMAF":case"DASH_LIVE_WEBM":case"WEB_RTC_LIVE":return!0;default:return(0,zu.assertNever)(a)}},rb=a=>{let t=Object.keys(a).filter(i=>!Ku(i));return Yu(t).length>0};var q=require("@vkontakte/videoplayer-shared");var TP=5,IP=5,EP=500,ab=7e3,Jr=class{constructor(e){this.subscription=new q.Subscription;this.loadMediaTimeoutSubscription=new q.Subscription;this.videoState=new Z("stopped");this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),s=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${i}; desiredPlaybackStateTransition: ${this.params.desiredState.playbackState.getTransition()}; seekState: ${JSON.stringify(s)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.stop());return}if(!t){if(r?.to!=="paused"&&s.state==="requested"&&e!=="stopped"){this.seek(s.position/1e3);return}switch(i){case"ready":{switch(e){case"playing":case"paused":case"ready":break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,q.assertNever)(e)}break}case"playing":{switch(e){case"playing":break;case"paused":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"ready":this.videoState.startTransitionTo("playing"),this.params.connection.remotePlayerController.playOrPause();break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,q.assertNever)(e)}break}case"paused":{switch(e){case"playing":this.videoState.startTransitionTo("paused"),this.params.connection.remotePlayerController.playOrPause();break;case"paused":break;case"ready":this.videoState.startTransitionTo("paused"),this.videoState.setState("paused");break;case"stopped":this.videoState.startTransitionTo("ready"),this.prepare();break;default:(0,q.assertNever)(e)}break}default:(0,q.assertNever)(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(Ku(e.format)),this.params.output.isAudioAvailable$.next(!0),this.handleRemoteVolumeChange({volume:this.params.connection.remotePlayer.volumeLevel,muted:this.params.connection.remotePlayer.isMuted});let t=this.params.connection.session.getMediaSession();t&&this.restoreSession(t),this.subscribe()}destroy(){this.log({message:"[destroy]"}),this.subscription.unsubscribe()}subscribe(){this.subscription.add(this.loadMediaTimeoutSubscription);let e=new q.Subscription;this.subscription.add(e),this.subscription.add((0,q.merge)(this.videoState.stateChangeStarted$.pipe((0,q.map)(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe((0,q.map)(r=>`stateChangeEnded$ ${JSON.stringify(r)}`))).subscribe(r=>this.log({message:`[videoState] ${r}`})));let t=(r,s)=>this.subscription.add(r.subscribe(s));if(this.params.output.isLive$.getValue())this.params.output.position$.next(0),this.params.output.duration$.next(0);else{let r=new q.Subject;e.add(r.pipe((0,q.debounce)(EP)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.CURRENT_TIME_CHANGED).subscribe(n=>{this.logRemoteEvent(n);let u=n.value;this.params.output.position$.next(u),(this.params.desiredState.seekState.getState().state==="applying"||Math.abs(u-s)>TP)&&r.next(u),s=u})),e.add((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.PLAYER_STATE_CHANGED),r=>{this.logRemoteEvent(r);let{remotePlayer:s}=this.params.connection,n=r.value,u=this.params.output.isBuffering$.getValue(),o=n===chrome.cast.media.PlayerState.BUFFERING;switch(u!==o&&this.params.output.isBuffering$.next(o),n){case chrome.cast.media.PlayerState.IDLE:!this.params.output.isLive$.getValue()&&s.duration-s.currentTime<IP&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),B(this.params.desiredState.playbackState,"stopped");break;case chrome.cast.media.PlayerState.PAUSED:{this.handleRemotePause();break}case chrome.cast.media.PlayerState.PLAYING:this.handleRemotePlay();break;case chrome.cast.media.PlayerState.BUFFERING:break;default:(0,q.assertNever)(n)}}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t((0,q.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=(0,q.merge)(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,(0,q.observableFrom)(["init"])).pipe((0,q.debounce)(0));t(i,this.syncPlayback)}restoreSession(e){this.log({message:"restoreSession"});let{remotePlayer:t}=this.params.connection;if(e.playerState!==chrome.cast.media.PlayerState.IDLE){t.isPaused?(this.videoState.setState("paused"),B(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),B(this.params.desiredState.playbackState,"playing"));let i=this.params.output.isLive$.getValue();this.params.output.duration$.next(i?0:t.duration),this.params.output.position$.next(i?0:t.currentTime),this.params.desiredState.seekState.setState({state:"none"})}}prepare(){let e=this.params.format;this.log({message:`[prepare] format: ${e}`});let t=this.createMediaInfo(e),i=this.createLoadRequest(t);this.loadMedia(i)}handleRemotePause(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="paused"||e==="playing")&&(this.videoState.setState("paused"),B(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),B(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&B(this.params.desiredState.playbackState,"ready")}handleRemoteStop(){this.videoState.getState()!=="stopped"&&this.videoState.setState("stopped")}handleRemoteVolumeChange(e){let t=this.params.output.volume$.getValue(),i={volume:e.volume??t.volume,muted:e.muted??t.muted};(i.volume!==t.volume||i.muted!==i.muted)&&this.params.output.volume$.next(i)}seek(e){this.params.output.willSeekEvent$.next();let{remotePlayer:t,remotePlayerController:i}=this.params.connection;t.currentTime=e,i.seek()}stop(){let{remotePlayerController:e}=this.params.connection;e.stop()}createMediaInfo(e){let t=this.params.source,i,r,s;switch(e){case"MPEG":{let l=t[e];(0,q.assertNonNullable)(l);let p=(0,q.getHighestQuality)(Object.keys(l));(0,q.assertNonNullable)(p);let d=l[p];(0,q.assertNonNullable)(d),i=d,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];(0,q.assertNonNullable)(l),i=l.url,r="application/x-mpegurl",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_SEP":case"DASH_ONDEMAND":case"DASH_WEBM":case"DASH_WEBM_AV1":case"DASH_STREAMS":{let l=t[e];(0,q.assertNonNullable)(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];(0,q.assertNonNullable)(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.LIVE;break}case"HLS_LIVE":case"HLS_LIVE_CMAF":{let l=t[e];(0,q.assertNonNullable)(l),i=ye(l.url),r="application/x-mpegurl",s=chrome.cast.media.StreamType.LIVE;break}case"DASH_LIVE":case"WEB_RTC_LIVE":{let l="Unsupported format for Chromecast",p=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:q.ErrorCategory.VIDEO_PIPELINE,message:l,thrown:p}),p}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return(0,q.assertNever)(e)}let n=new chrome.cast.media.MediaInfo(this.params.meta.videoId??i,r);n.contentUrl=i,n.streamType=s,n.metadata=new chrome.cast.media.GenericMediaMetadata;let{title:u,subtitle:o}=this.params.meta;return(0,q.isNonNullable)(u)&&(n.metadata.title=u),(0,q.isNonNullable)(o)&&(n.metadata.subtitle=o),n}createLoadRequest(e){let t=new chrome.cast.media.LoadRequest(e);t.autoplay=!1;let i=this.params.desiredState.seekState.getState();return i.state==="applying"||i.state==="requested"?t.currentTime=this.params.output.isLive$.getValue()?0:i.position/1e3:t.currentTime=0,t}loadMedia(e){let t=this.params.connection.session.loadMedia(e),i=new Promise((r,s)=>{this.loadMediaTimeoutSubscription.add((0,q.timeout)(ab).subscribe(()=>s(`timeout(${ab})`)))});(0,sb.default)(Promise.race([t,i]).then(()=>{this.log({message:`[loadMedia] completed, format: ${this.params.format}`}),this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.handleRemoteReady()},r=>{let s=`[prepare] loadMedia failed, format: ${this.params.format}, reason: ${r}`;this.log({message:s}),this.params.output.error$.next({id:"ChromecastProvider.loadMedia",category:q.ErrorCategory.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var cl=Q(qe(),1);var el=require("@vkontakte/videoplayer-shared");var nb=require("@vkontakte/videoplayer-shared"),ob=a=>{try{a.pause(),a.playbackRate=0,(0,nb.clearVideoElement)(a),a.remove()}catch(e){console.error(e)}};var Zs=require("@vkontakte/videoplayer-shared"),Xu=class{constructor(){this.attribute="data-pool-reused"}get(e){return e.hasAttribute(this.attribute)}set(e,t){e.toggleAttribute(this.attribute,t)}delete(e){e.removeAttribute(this.attribute)}},Ju=window.WeakMap?new WeakMap:new Xu,Zu=window.WeakMap?new WeakMap:new Map,xP=(a,e=20)=>{let t=0;return(0,Zs.fromEvent)(a,"ratechange").subscribe(i=>{t++,t>=e&&(a.currentTime=a.currentTime,t=0)})},Ue=(a,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=a.querySelector("video"),r=!!i;i?(0,el.clearVideoElement)(i):(i=document.createElement("video"),a.appendChild(i)),Ju.set(i,r);let s=new Zs.Subscription;return s.add(xP(i,e)),Zu.set(i,s),i.setAttribute("crossorigin","anonymous"),i.setAttribute("playsinline","playsinline"),t&&i.setAttribute("x-yandex-pip","false"),i.controls=!1,i.setAttribute("poster","data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="),i},He=a=>{Zu.get(a)?.unsubscribe(),Zu.delete(a);let t=Ju.get(a);Ju.delete(a),t?(0,el.clearVideoElement)(a):ob(a)};var tl=Q(gi(),1),U=require("@vkontakte/videoplayer-shared");var ti=require("@vkontakte/videoplayer-shared"),en=(a,e,t,{equal:i=(n,u)=>n===u,changed$:r,onError:s}={})=>{let n=a.getState(),u=e(),o=(0,ti.isNullable)(r),l=new ti.Subscription;return r&&l.add(r.subscribe(p=>{let d=a.getState();i(p,d)&&a.setState(p)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(p=>{t(p.to),o&&a.setState(p.to)},s)),l},kt=(a,e,t)=>en(e,()=>a.loop,i=>{(0,ti.isNonNullable)(i)&&(a.loop=i)},{onError:t}),je=(a,e,t,i)=>en(e,()=>({muted:a.muted,volume:a.volume}),r=>{(0,ti.isNonNullable)(r)&&(a.muted=r.muted,a.volume=r.volume)},{equal:(r,s)=>r===s||r?.muted===s?.muted&&r?.volume===s?.volume,changed$:t,onError:i}),nt=(a,e,t,i)=>en(e,()=>a.playbackRate,r=>{(0,ti.isNonNullable)(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),Zr=en;var wP=a=>["__",a.language,a.label].join("|"),AP=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},il=class a{constructor(e){this.available$=new U.Subject;this.current$=new U.ValueSubject(void 0);this.error$=new U.Subject;this.subscription=new U.Subscription;this.externalTracks=new Map;this.internalTracks=new Map;this.baseURL=e}connect(e,t,i){this.video=e,this.cueSettings=t.textTrackCuesSettings,this.subscribe();let r=s=>{this.error$.next({id:"TextTracksManager",category:U.ErrorCategory.WTF,message:"Generic HtmlVideoTextTrackManager error",thrown:s})};this.subscription.add(this.available$.subscribe(i.availableTextTracks$)),this.subscription.add(this.current$.subscribe(i.currentTextTrack$)),this.subscription.add(this.error$.subscribe(i.error$)),this.subscription.add(Zr(t.internalTextTracks,()=>(0,tl.default)(this.internalTracks),s=>{(0,U.isNonNullable)(s)&&this.setInternal(s)},{equal:(s,n)=>(0,U.isNonNullable)(s)&&(0,U.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,U.map)(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(Zr(t.externalTextTracks,()=>(0,tl.default)(this.externalTracks),s=>{(0,U.isNonNullable)(s)&&this.setExternal(s)},{equal:(s,n)=>(0,U.isNonNullable)(s)&&(0,U.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,U.map)(s=>s.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(Zr(t.currentTextTrack,()=>{if(this.video)return;let s=this.htmlTextTracksAsArray().find(({mode:n})=>n==="showing");return s&&this.htmlTextTrackToITextTrack(s).id},s=>this.select(s),{changed$:this.current$,onError:r})),this.subscription.add(Zr(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){(0,U.assertNonNullable)(this.video);let{textTracks:e}=this.video;this.subscription.add((0,U.fromEvent)(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add((0,U.merge)((0,U.fromEvent)(e,"addtrack"),(0,U.fromEvent)(e,"removetrack"),(0,U.observableFrom)(["init"])).pipe((0,U.map)(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),(0,U.filterChanged)((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add((0,U.merge)((0,U.fromEvent)(e,"change"),(0,U.observableFrom)(["init"])).pipe((0,U.map)(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),(0,U.map)(i=>i&&this.htmlTextTrackToITextTrack(i).id),(0,U.filterChanged)()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add((0,U.fromEvent)(e,"addtrack").subscribe(i=>{i.track?.addEventListener("cuechange",t);let r=s=>{let n=s.target?.cues??null;n&&n.length&&(this.applyCueSettings(s.target?.cues??null),s.target?.removeEventListener("cuechange",r))};i.track?.addEventListener("cuechange",r)})),this.subscription.add((0,U.fromEvent)(e,"removetrack").subscribe(i=>{i.track?.removeEventListener("cuechange",t)}))}applyCueSettings(e){if(!e||!e.length)return;let t=this.cueSettings.getState();for(let i of Array.from(e)){let r=i;(0,U.isNonNullable)(t.align)&&(r.align=t.align),(0,U.isNonNullable)(t.position)&&(r.position=t.position),(0,U.isNonNullable)(t.size)&&(r.size=t.size),(0,U.isNonNullable)(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){(0,U.assertNonNullable)(this.video);let t=[...this.video.textTracks];return e?t:t.filter(a.isHealthyTrack)}htmlTextTrackToITextTrack(e){let{language:t,label:i}=e,r=e.id?e.id:wP(e),s=this.externalTracks.has(r),n=(s?this.externalTracks.get(r)?.isAuto:this.internalTracks.get(r)?.isAuto)??r.includes("auto");return s?{id:r,type:"external",isAuto:n,language:t,label:i,url:this.externalTracks.get(r)?.url}:{id:r,type:"internal",isAuto:n,language:t,label:i,url:this.internalTracks.get(r)?.url}}static isHealthyTrack(e){return!(e.kind==="metadata"||e.groupId||e.id===""&&e.label===""&&e.language==="")}setExternal(e){this.internalTracks.size>0&&Array.from(this.internalTracks).forEach(([,t])=>this.detach(t)),e.filter(({id:t})=>!this.externalTracks.has(t)).forEach(t=>this.attach(t)),Array.from(this.externalTracks).filter(([t])=>!e.find(i=>i.id===t)).forEach(([,t])=>this.detach(t))}setInternal(e){let t=[...this.externalTracks];e.filter(({id:i,language:r,isAuto:s})=>!this.internalTracks.has(i)&&!t.some(([,n])=>n.language===r&&n.isAuto===s)).forEach(i=>this.attach(i)),Array.from(this.internalTracks).filter(([i])=>!e.find(r=>r.id===i)).forEach(([,i])=>this.detach(i))}select(e){(0,U.assertNonNullable)(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))((0,U.isNullable)(e)||!AP(t,e))&&(t.mode="disabled")}destroy(){if(this.subscription.unsubscribe(),this.video)for(let e of Array.from(this.video.getElementsByTagName("track"))){let t=e.getAttribute("id");t&&this.externalTracks.has(t)&&this.video.removeChild(e)}this.externalTracks.clear()}attach(e){(0,U.assertNonNullable)(this.video);let t=document.createElement("track");this.baseURL?t.setAttribute("src",new URL(e.url,this.baseURL).toString()):t.setAttribute("src",e.url),t.setAttribute("id",e.id),e.label&&t.setAttribute("label",e.label),e.language&&t.setAttribute("srclang",e.language),e.type==="external"?this.externalTracks.set(e.id,e):e.type==="internal"&&this.internalTracks.set(e.id,e),this.video.appendChild(t)}detach(e){(0,U.assertNonNullable)(this.video);let t=Array.prototype.find.call(this.video.getElementsByTagName("track"),i=>i.getAttribute("id")===e.id);t&&this.video.removeChild(t),e.type==="external"?this.externalTracks.delete(e.id):e.type==="internal"&&this.internalTracks.delete(e.id)}},ot=il;var Ei=class{constructor(){this.pausedTime=0;this.streamOffset=0;this.pauseTimestamp=0}getTotalPausedTime(){return this.pausedTime+this.getCurrentPausedTime()}getCurrentPausedTime(){return this.pauseTimestamp>0?Date.now()-this.pauseTimestamp:0}getStreamOffset(){return this.streamOffset}getTotalOffset(){return this.getTotalPausedTime()+this.streamOffset}pause(){this.pauseTimestamp===0&&(this.pauseTimestamp=Date.now())}resume(){this.pauseTimestamp>0&&(this.pausedTime+=this.getCurrentPausedTime(),this.pauseTimestamp=0)}resetTo(e,t=!1){this.streamOffset=e,this.pauseTimestamp=0,this.pausedTime=0,t&&this.pause()}};var ub=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},rl=a=>{let e=ub(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},lb=a=>{let e=ub(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};var $=require("@vkontakte/videoplayer-shared");var PP=3,cb=(a,e,t=PP)=>{let i=0,r=0;for(let s=0;s<a.length;s++){let n=a.start(s),u=a.end(s);if(n<=e&&e<=u){if(i=n,r=u,!t)return{from:i,to:r};for(let o=s-1;o>=0;o--)a.end(o)+t>=i&&(i=a.start(o));for(let o=s+1;o<a.length;o++)a.start(o)-t<=r&&(r=a.end(o))}}return{from:i,to:r}};var Qe=a=>{let e=L=>(0,$.fromEvent)(a,L).pipe((0,$.mapTo)(void 0),(0,$.shareReplay)(1)),t=new $.Subscription,i=()=>t.unsubscribe(),r=(0,$.merge)((0,$.fromEvent)(a,"progress"),(0,$.fromEvent)(a,"timeupdate")).pipe((0,$.map)(()=>cb(a.buffered,a.currentTime)),(0,$.shareReplay)(1)),s=W.browser.isSafari?(0,$.combine)({play:e("play").pipe((0,$.once)()),playing:e("playing")}).pipe((0,$.mapTo)(void 0),(0,$.shareReplay)(1)):e("playing"),n=(0,$.fromEvent)(a,"volumechange").pipe((0,$.map)(()=>({muted:a.muted,volume:a.volume})),(0,$.shareReplay)(1)),u=(0,$.fromEvent)(a,"ratechange").pipe((0,$.map)(()=>a.playbackRate),(0,$.shareReplay)(1)),o=(0,$.fromEvent)(a,"error").pipe((0,$.filter)(()=>!!(a.error||a.played.length)),(0,$.map)(()=>{let L=a.error;return{id:L?`MediaError#${L.code}`:"HtmlVideoError",category:$.ErrorCategory.VIDEO_PIPELINE,message:L?L.message:"Error event from HTML video element",thrown:a.error??void 0}}),(0,$.shareReplay)(1)),l=(0,$.fromEvent)(a,"timeupdate").pipe((0,$.map)(()=>a.currentTime),(0,$.shareReplay)(1)),p=["waiting","seeking","seeked","timeupdate"],d=new $.Subject,c=.3,h;t.add((0,$.merge)(...p.map(L=>(0,$.fromEvent)(a,L))).subscribe(L=>{let ee=a.currentTime;a.loop&&(0,$.isNonNullable)(h)&&(0,$.isNonNullable)(ee)&&h>=a.duration-c&&ee<=c&&d.next(h),h=ee}));let m=e("pause").pipe((0,$.filter)(()=>!a.error&&h!==a.duration),(0,$.shareReplay)(1)),b=(0,$.fromEvent)(a,"enterpictureinpicture").pipe((0,$.shareReplay)(1)),S=(0,$.fromEvent)(a,"leavepictureinpicture").pipe((0,$.shareReplay)(1)),v=new $.ValueSubject(lb(a));t.add(b.subscribe(()=>v.next(!0))),t.add(S.subscribe(()=>v.next(!1)));let I=new $.ValueSubject(rl(a)),k=(0,$.fromEvent)(a,"fullscreenchange").pipe((0,$.shareReplay)(1));t.add(k.pipe((0,$.map)(()=>rl(a))).subscribe(I));let w=.1,C=1e3,V=(0,$.fromEvent)(a,"timeupdate").pipe((0,$.map)(L=>a.duration-a.currentTime<w),(0,$.filterChanged)(),(0,$.shareReplay)(1)),_=(0,$.merge)(V.pipe((0,$.filter)(L=>!a.loop&&L)),(0,$.fromEvent)(a,"ended")).pipe((0,$.throttle)(C),(0,$.mapTo)(void 0),(0,$.shareReplay)(1)),j=(0,$.merge)(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(L=>(0,$.fromEvent)(a,L)),V.pipe((0,$.map)(L=>({type:L?"ended":"unknown"})))).pipe((0,$.map)(L=>W.browser.isFirefox&&L.type==="ended"?a.readyState<2:a.readyState<3),(0,$.filterChanged)(),(0,$.shareReplay)(1));return{playing$:s,pause$:m,canplay$:e("canplay"),ended$:_,looped$:d,error$:o,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:(0,$.fromEvent)(a,"durationchange").pipe((0,$.map)(()=>a.duration),(0,$.shareReplay)(1)),isBuffering$:j,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:v,inFullscreen$:I,enterPip$:b,leavePip$:S,destroy:i}};var Ft=require("@vkontakte/videoplayer-shared"),ii=a=>{switch(a){case"mobile":return Ft.VideoQuality.Q_144P;case"lowest":return Ft.VideoQuality.Q_240P;case"low":return Ft.VideoQuality.Q_360P;case"sd":case"medium":return Ft.VideoQuality.Q_480P;case"hd":case"high":return Ft.VideoQuality.Q_720P;case"fullhd":case"full":return Ft.VideoQuality.Q_1080P;case"quadhd":case"quad":return Ft.VideoQuality.Q_1440P;case"ultrahd":case"ultra":return Ft.VideoQuality.Q_2160P}};var Oe=Q(gt(),1),sl=Q(qe(),1),xi=Q(Gi(),1),D=require("@vkontakte/videoplayer-shared");var al=!1,Nt={},gb=a=>{al=a},Sb=()=>{Nt={}},vb=a=>{a(Nt)},ea=(a,e)=>{al&&(Nt.meta=Nt.meta??{},Nt.meta[a]=e)},_e=class{constructor(e){this.name=e}next(e){if(!al)return;Nt.series=Nt.series??{};let t=Nt.series[this.name]??[];t.push([Date.now(),e]),Nt.series[this.name]=t}};var Ie=require("@vkontakte/videoplayer-shared");function yb(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function sr(a,e,t){return(0,Ie.isNullable)(a)||(0,Ie.isNonNullable)(a.min)&&(0,Ie.isNonNullable)(a.max)&&(0,Ie.isLower)(a.max,a.min)||(0,Ie.isNonNullable)(a.min)&&e&&(0,Ie.isHigher)(a.min,e)||(0,Ie.isNonNullable)(a.max)&&t&&(0,Ie.isLower)(a.max,t)}function Tb({limits:a,highestAvailableHeight:e,lowestAvailableHeight:t}){return sr({max:a?.max?(0,Ie.videoHeightToQuality)(a.max):void 0,min:a?.min?(0,Ie.videoHeightToQuality)(a.min):void 0},e?(0,Ie.videoHeightToQuality)(e):void 0,t?(0,Ie.videoHeightToQuality)(t):void 0)}var Ab=new _e("best_bitrate"),rn=(a,e,t)=>(e-t)*Math.pow(2,-10*a)+t;var nr=a=>(e,t)=>a*(Number(e.bitrate)-Number(t.bitrate)),ri=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=(0,D.now)()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},an='Assertion "ABR Tracks is empty array" failed',tn=new WeakMap,Ib=new WeakMap,Eb=new WeakMap,ta=(a,e,t,i)=>{let r=[...e].sort(nr(1)),s=[...t].sort(nr(1)),n=s.filter(o=>(0,D.isNonNullable)(o.bitrate)&&(0,D.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Oe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Oe.default)(s,-1);return u&&(0,sl.default)(n,u)?u:n.length?(0,Oe.default)(n,-1):(0,Oe.default)(s,0)},ia=(a,e,t,i)=>{let r=tn.get(e);r||(r=[...e].sort(nr(1)),tn.set(e,r));let s=tn.get(t);s||(s=[...t].sort(nr(1)),tn.set(t,s));let n=Eb.get(a);n||(n=s.filter(o=>(0,D.isNonNullable)(o.bitrate)&&(0,D.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),Eb.set(a,n));let u=(0,Oe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Oe.default)(s,-1);return u&&(0,sl.default)(n,u)?u:n.length?(0,Oe.default)(n,-1):(0,Oe.default)(s,0)},xb=a=>"quality"in a,sn=(a,e,t,i)=>{let r=(0,D.isNonNullable)(i?.last?.bitrate)&&(0,D.isNonNullable)(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&(0,D.now)()-i.history[t.id]<=r&&(!i.last||t.id!==i.last.id);if(t?.id&&i&&!s&&i.recordSelection(t),s&&i?.last){let n=i.last;i?.recordSwitch(n);let u=xb(n)?"video":"audio",o=xb(n)?n.quality:n.bitrate;return e({message:`
|
|
8
8
|
[last ${u} selected] ${o}
|
|
9
9
|
`}),n}return i?.recordSwitch(t),t},VP=(a,e)=>Math.log(e)/Math.log(a),Pb=({tuning:a,container:e,limits:t,panelSize:i})=>{let r=a.containerSizeFactor;if(i)return{containerSizeLimit:i,containerSizeFactor:r};if(a.usePixelRatio&&W.display.pixelRatio){let s=W.display.pixelRatio;if(a.pixelRatioMultiplier)r*=a.pixelRatioMultiplier*(s-1)+1;else{let n=a.pixelRatioLogBase,[u=0,o=0,l=0]=a.pixelRatioLogCoefficients,p=VP(n,u*s+o)+l;Number.isFinite(p)&&(r*=p)}}return(0,D.isNonNullable)(t?.min)&&(0,D.isHigherOrEqual)(t.min,a.highQualityLimit)&&(r*=2),{containerSizeLimit:a.limitByContainer&&e&&e.width>0&&e.height>0?{width:e.width*r,height:e.height*r}:void 0,containerSizeFactor:r}},wb=new WeakMap,Rt=(a,{container:e,estimatedThroughput:t,tuning:i,limits:r,reserve:s=0,forwardBufferHealth:n,playbackRate:u,current:o,history:l,visible:p,droppedVideoMaxQualityLimit:d,stallsVideoMaxQualityLimit:c,stallsPredictedThroughput:h,abrLogger:m,panelSize:b})=>{(0,D.assertNotEmptyArray)(a,an);let{containerSizeFactor:S,containerSizeLimit:v}=Pb({container:e,tuning:i,limits:r,panelSize:b}),I=i.considerPlaybackRate&&(0,D.isNonNullable)(u)?u:1,k=wb.get(a);k||(k=a.filter(x=>!(0,D.isInvariantQuality)(x.quality)).sort((x,R)=>(0,D.isHigher)(x.quality,R.quality)?-1:1),wb.set(a,k));let w=(0,Oe.default)(k,-1)?.quality,C=(0,Oe.default)(k,0)?.quality,V=sr(r,C,w),_=I*rn(n??.5,i.bitrateFactorAtEmptyBuffer,i.bitrateFactorAtFullBuffer),M={},j=null;for(let x of k){let R=!0;if(v)if(x.size)R=x.size.width<=v.width&&x.size.height<=v.height;else{let ae=v&&(0,D.videoSizeToQuality)(v);R=ae?(0,D.isLowerOrEqual)(x.quality,ae):!0}if(!R){M[x.quality]="FitsContainer";continue}let oe=h||t,N=(0,D.isNonNullable)(oe)&&isFinite(oe)&&(0,D.isNonNullable)(x.bitrate)?oe-s>=x.bitrate*_:!0,re=r?.min===x.quality;if(!N&&!re){M[x.quality]="FitsThroughput";continue}if(i.lazyQualitySwitch&&(0,D.isNonNullable)(i.minBufferToSwitchUp)&&o&&!(0,D.isInvariantQuality)(o.quality)&&(n??0)<i.minBufferToSwitchUp&&(0,D.isHigher)(x.quality,o.quality)){M[x.quality]="Buffer";continue}if(!!d&&(0,D.isHigherOrEqual)(x.quality,d)&&!re){M[x.quality]="DroppedFramesLimit";continue}if(!!c&&(0,D.isHigherOrEqual)(x.quality,c)&&!re){M[x.quality]="StallsLimit";continue}let ke=V||((0,D.isNullable)(r?.max)||(0,D.isLowerOrEqual)(x.quality,r.max))&&((0,D.isNullable)(r?.min)||(0,D.isHigherOrEqual)(x.quality,r.min)),Re=(0,D.isNonNullable)(p)&&!p?(0,D.isLowerOrEqual)(x.quality,i.backgroundVideoQualityLimit):!0;if(!ke||!Re){M[x.quality]="FitsQualityLimits";continue}j||(j=x)}j&&j.bitrate&&Ab.next(j.bitrate);let L=j??(0,Oe.default)(k,-1)??a[0],ee=l?.last,F=sn(i,m,L,l);return(0,D.isNonNullable)(l)&&F.quality!==ee?.quality&&m({message:`
|
|
10
10
|
[VIDEO TRACKS ABR]
|
|
@@ -114,7 +114,7 @@
|
|
|
114
114
|
minBufferToSwitchUp: ${r.minBufferToSwitchUp},
|
|
115
115
|
|
|
116
116
|
[selected audio track] ${I?.id}
|
|
117
|
-
`}),I};var $e=a=>new URL(a).hostname;var Y=require("@vkontakte/videoplayer-shared");var Db=Q(gt(),1);var Rb=Q(qe(),1),kb=a=>{if(a instanceof DOMException&&(0,Rb.default)(["Failed to load because no supported source was found.","The element has no supported sources."],a.message))throw a;return!(a instanceof DOMException&&(a.code===20||a.name==="AbortError"))},We=async(a,e)=>{let t=a.muted;try{await a.play()}catch(i){if(!kb(i))return!1;if(e&&e(),t)return console.warn(i),!1;a.muted=!0;try{await a.play()}catch(r){return kb(r)&&(a.muted=!1,console.warn(r)),!1}}return!0};var et=require("@vkontakte/videoplayer-shared");var Lb=Q(gi(),1),Lt=require("@vkontakte/videoplayer-shared");function Pe(){return(0,Lt.now)()}function nl(a){return Pe()-a}function ol(a){let e=a.split("/"),t=e.slice(0,e.length-1).join("/"),i=/^([a-z]+:)?\/\//i,r=n=>i.test(n);return{resolve:(n,u,o=!1)=>{r(n)||(n.startsWith("/")||(n="/"+n),n=t+n);let l=n.indexOf("?")>-1?"&":"?";return o&&(n+=l+"lowLat=1",l="&"),u&&(n+=l+"_rnd="+Math.floor(999999999*Math.random())),n}}}function $b(a,e,t){let i=(...r)=>{t.apply(null,r),a.removeEventListener(e,i)};a.addEventListener(e,i)}function or(a,e,t,i){let r=window.XMLHttpRequest,s,n,u,o=!1,l=0,p,d,c=!1,h="arraybuffer",m=7e3,b=2e3,S=()=>{if(o)return;(0,Lt.assertNonNullable)(p);let F=nl(p),x;if(F<b){x=b-F,setTimeout(S,x);return}b*=2,b>m&&(b=m),n&&n.abort(),n=new r,V()},v=F=>(s=F,ee),I=F=>(d=F,ee),k=()=>(h="json",ee),w=()=>{if(!o){if(--l>=0){S(),i&&i();return}o=!0,d&&d(),t&&t()}},C=F=>(c=F,ee),V=()=>{p=Pe(),n=new r,n.open("get",a);let F=0,x,R=0,oe=()=>((0,Lt.assertNonNullable)(p),Math.max(p,Math.max(x||0,R||0)));if(s&&n.addEventListener("progress",N=>{let re=Pe();s.updateChunk&&N.loaded>F&&(s.updateChunk(oe(),N.loaded-F),F=N.loaded,x=re)}),u&&(n.timeout=u,n.addEventListener("timeout",()=>w())),n.addEventListener("load",()=>{if(o)return;(0,Lt.assertNonNullable)(n);let N=n.status;if(N>=200&&N<300){let{response:re,responseType:le}=n,ge=re?.byteLength;if(typeof ge=="number"&&s){let Ee=ge-F;Ee&&s.updateChunk&&s.updateChunk(oe(),Ee)}le==="json"&&(!re||!(0,Lb.default)(re).length)?w():(d&&d(),e(re))}else w()}),n.addEventListener("error",()=>{w()}),c){let N=()=>{(0,Lt.assertNonNullable)(n),n.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(R=Pe(),n.removeEventListener("readystatechange",N))};n.addEventListener("readystatechange",N)}return n.responseType=h,n.send(),ee},ee={withBitrateReporting:v,withParallel:C,withJSONResponse:k,withRetryCount:F=>(l=F,ee),withRetryInterval:(F,x)=>((0,Lt.isNonNullable)(F)&&(b=F),(0,Lt.isNonNullable)(x)&&(m=x),ee),withTimeout:F=>(u=F,ee),withFinally:I,send:V,abort:()=>{n&&(n.abort(),n=void 0),o=!0,d&&d()}};return ee}var ra=class{constructor(e){this.intervals=[];this.currentRate=0;this.logger=e}_updateRate(e){let t=.2;this.currentRate&&(e<this.currentRate*.1?t=.8:e<this.currentRate*.5?t=.5:e<this.currentRate*.7&&(t=.3)),e=Math.max(1,Math.min(e,100*1024*1024)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e}_createInterval(e,t,i){return{start:e,end:t,bytes:i}}_doMergeIntervals(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes}_mergeIntervals(e,t){return e.start<=t.end&&t.start<=e.end?(this._doMergeIntervals(e,t),!0):!1}_flushIntervals(){if(!this.intervals.length)return!1;let e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){let i=0,r=0;for(;this.intervals.length>0;){let s=this.intervals[0];if(s.end<=t)i+=s.end-s.start,r+=s.bytes,this.intervals.splice(0,1);else{if(s.start>=t)break;{let n=t-s.start,u=s.end-s.start;i+=n;let o=s.bytes*n/u;r+=o,s.start=t,s.bytes-=o}}}if(r>0&&i>0){let s=r*8/(i/1e3);return this._updateRate(s),this.logger(`rate updated, new=${Math.round(s/1024)}K; average=${Math.round(this.currentRate/1024)}K bytes/ms=${Math.round(r)}/${Math.round(i)} interval=${Math.round(t-e)}`),!0}}return!1}_joinIntervals(){let e;do{e=!1;for(let t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)}addInterval(e,t,i){return this.intervals.push(this._createInterval(e,t,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger(`too many intervals (${this.intervals.length}); will merge`,{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()}getBitRate(){return this.currentRate}};var Mb=Q(gi(),1);var aa=class{constructor(e,t,i,r,s){this.pendingQueue=[];this.activeRequests={};this.completeRequests={};this.averageSegmentDuration=2e3;this.lastPrefetchStart=0;this.throttleTimeout=null;this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=s}limitCompleteCount(){let e;for(;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){let t=e[Math.floor(Math.random()*e.length)];this.logger(`Dropping completed request for url ${t}`,{type:"warn"}),delete this.completeRequests[t]}}_sendRequest(e,t){let i=Pe(),r=o=>{delete this.activeRequests[t],this.limitCompleteCount(),this.completeRequests[t]=e,this._sendPending(),e._error=1,e._errorMsg=o,e._errorCB?e._errorCB(o):(this.limitCompleteCount(),this.completeRequests[t]=e)},s=o=>{e._complete=1,e._responseData=o,e._downloadTime=Pe()-i,delete this.activeRequests[t],this._sendPending(),e._cb?e._cb(o,e._downloadTime):(this.limitCompleteCount(),this.completeRequests[t]=e)},n=()=>{e._finallyCB&&e._finallyCB()},u=()=>{e._retry=1,e._retryCB&&e._retryCB()};e._request=or(t,s,()=>r("error"),u),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally(n),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=Pe()}_getParallelRequestCount(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)}_getPrefetchDelay(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))}_canSendPending(){let e=this._getParallelRequestCount(),t=Pe();if(Object.keys(this.activeRequests).length>=e)return!1;let i=this._getPrefetchDelay()-(t-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),i>0?(this.throttleTimeout=window.setTimeout(()=>this._sendPending(),i),!1):!0}_sendPending(){for(;this._canSendPending();){let e=this.pendingQueue.pop();if(e){if(this.activeRequests[e]||this.completeRequests[e])continue;this.logger(`Submitting pending request url=${e}`),this._sendRequest({},e)}else return}}_removeFromActive(e){delete this.completeRequests[e],delete this.activeRequests[e]}abortAll(){(0,Mb.default)(this.activeRequests).forEach(e=>{e&&e._request&&e._request.abort()}),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}}requestData(e,t,i,r){let s={};return s.send=()=>{let n=this.activeRequests[e]||this.completeRequests[e];if(n)n._cb=t,n._errorCB=i,n._retryCB=r,n._finallyCB=s._finallyCB,n._error||n._complete?(this._removeFromActive(e),setTimeout(()=>{n._complete?(this.logger(`Requested url already prefetched, url=${e}`),t(n._responseData,n._downloadTime)):(this.logger(`Requested url already prefetched with error, url=${e}`),i(n._errorMsg)),s._finallyCB&&s._finallyCB()},0)):this.logger(`Attached to active request, url=${e}`);else{let u=this.pendingQueue.indexOf(e);u!==-1&&this.pendingQueue.splice(u,1),this.logger(`Request not prefetched, starting new request, url=${e}${u===-1?"":"; removed pending"}`),this._sendRequest(s,e)}},s._cb=t,s._errorCB=i,s._retryCB=r,s.abort=function(){s.request&&s.request.abort()},s.withFinally=n=>(s._finallyCB=n,s),s}prefetch(e){this.activeRequests[e]||this.completeRequests[e]?this.logger(`Request already active for url=${e}`):(this.logger(`Added to pending queue; url=${e}`),this.pendingQueue.unshift(e),this._sendPending())}optimizeForSegDuration(e){this.averageSegmentDuration=e}};var Cb=require("@vkontakte/videoplayer-shared");var ln=1e4,ul=3;var OP=6e4,FP=10,NP=1,qP=500,sa=class{constructor(e){this.paused=!1;this.autoQuality=!0;this.autoQualityLimits=void 0;this.buffering=!0;this.destroyed=!1;this.videoPlayStarted=!1;this.lowLatency=!1;this.bitrate=0;this.manifest=[];this.sourceBuffer=0;this.bufferStates=[];this.sourceJitter=-1;this.waitingForFirstBufferAfterSrcChange=!1;this.params=e,this.soundProhibitedEvent$=new Cb.Subject,this.chunkRateEstimator=new ra(this.params.logger),this._initVideo()}attachSource(e){this.manifestUrl=e,this.urlResolver=ol(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()}setAutoQualityEnabled(e){this.autoQuality=e}setAutoQualityLimits(e){this.autoQualityLimits=e}switchByName(e){let t;for(let i=0;i<this.manifest.length;++i)if(t=this.manifest[i],t.name===e){this._switchToQuality(t);return}}catchUp(){if(this.rep&&this.rep.stop(),this.currentManifestEntry){let e=this.params.playbackState.getState();this.paused=e==="paused",this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0)}}stop(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)}pause(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)}play(){this.paused=!1;let e=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!e?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement():this._notifyBuffering(!0)):this.catchUp()}startPlay(e,t){this.autoQuality=t,this._initPlayerWith(e)}destroy(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)}reinit(e){this.manifestUrl=e,this.urlResolver=ol(e),this.catchUp()}_handleNetworkError(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})}_retryCallback(){this.params.playerCallback({name:"retry"})}_getBufferSizeSec(){let e=this.params.videoElement,t=0,i=e.buffered.length;return i!==0&&(t=e.buffered.end(i-1)-Math.max(e.currentTime,e.buffered.start(0))),t}_notifyBuffering(e){this.destroyed||(this.params.logger(`buffering: ${e}`),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)}_initVideo(){let{videoElement:e,logger:t}=this.params;e.addEventListener("error",()=>{!!e.error&&!this.destroyed&&(t(`Video element error: ${e.error?.code}, details: ${e.error?.message}`),this.params.playerCallback({name:"error",type:"media"}))}),e.addEventListener("timeupdate",()=>{let i=this._getBufferSizeSec();!this.paused&&i<.3?this.buffering||(this.buffering=!0,window.setTimeout(()=>{!this.paused&&this.buffering&&this._notifyBuffering(!0)},(i+.1)*1e3)):this.buffering&&this.videoPlayStarted&&this._notifyBuffering(!1)}),e.addEventListener("playing",()=>{t("playing")}),e.addEventListener("stalled",()=>this._fixupStall()),e.addEventListener("waiting",()=>this._fixupStall())}_fixupStall(){let{logger:e,videoElement:t}=this.params,i=t.buffered.length,r;i!==0&&!this.waitingForFirstBufferAfterSrcChange&&(r=t.buffered.start(i-1),t.currentTime<r&&(e("Fixup stall"),t.currentTime=r))}_selectQuality(e){let{videoElement:t}=this.params,i,r,s,n=t&&1.62*(W.display.pixelRatio||1)*t.offsetHeight||520;for(let u=0;u<this.manifest.length;++u){s=this.manifest[u];let{max:o,min:l}=this.autoQualityLimits||{};!Tb({limits:this.autoQualityLimits,highestAvailableHeight:this.manifest[0].video.height,lowestAvailableHeight:(0,Db.default)(this.manifest,-1).video.height})&&(o&&s.video.height>o||l&&s.video.height<l)||(s.bitrate<e&&n>Math.min(s.video.height,s.video.width)?(!r||s.bitrate>r.bitrate)&&(r=s):(!i||i.bitrate>s.bitrate)&&(i=s))}return r||i}shouldPlay(){if(this.paused)return!1;let t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||(0,et.isNonNullable)(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)}_setVideoSrc(e,t){let{logger:i,videoElement:r,playerCallback:s}=this.params;this.mediaSource=new window.MediaSource,i("setting video src"),r.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",()=>{this.mediaSource&&(this.sourceBuffer=this.mediaSource.addSourceBuffer(e.codecs),this.bufferStates=[],t())}),this.videoPlayStarted=!1,r.addEventListener("canplay",()=>{this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement())});let n=()=>{$b(r,"progress",()=>{r.buffered.length?(r.currentTime=r.buffered.start(0),this.waitingForFirstBufferAfterSrcChange=!1,s({name:"playing"})):n()})};this.waitingForFirstBufferAfterSrcChange=!0,n()}_initPlayerWith(e){this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new aa(ul,ln,this.bitrateSwitcher,this.params.config.maxParallelRequests,this.params.logger),this._setVideoSrc(e,()=>this._switchToQuality(e))}_representation(e){let{logger:t,videoElement:i,playerCallback:r}=this.params,s=!1,n=null,u=null,o=null,l=null,p=!1,d=()=>{let w=s&&(!p||p===this.rep);return w||t("Not running!"),w},c=(w,C,V)=>{o&&o.abort(),o=or(this.urlResolver.resolve(w,!1),C,V,()=>this._retryCallback()).withTimeout(ln).withBitrateReporting(this.bitrateSwitcher).withRetryCount(ul).withFinally(()=>{o=null}).send()},h=(w,C,V)=>{(0,et.assertNonNullable)(this.filesFetcher),u?.abort(),u=this.filesFetcher.requestData(this.urlResolver.resolve(w,!1),C,V,()=>this._retryCallback()).withFinally(()=>{u=null}).send()},m=w=>{let C=i.playbackRate;i.playbackRate!==w&&(t(`Playback rate switch: ${C}=>${w}`),i.playbackRate=w)},b=w=>{this.lowLatency=w,t(`lowLatency changed to ${w}`),S()},S=()=>{if(!this.lowLatency&&!this.params.config.isLiveCatchUpMode)m(1);else{let w=this._getBufferSizeSec();if(this.bufferStates.length<5){m(1);return}let V=Pe()-1e4,_=0;for(let j=0;j<this.bufferStates.length;j++){let L=this.bufferStates[j];w=Math.min(w,L.buf),L.ts<V&&_++}this.bufferStates.splice(0,_),t(`update playback rate; minBuffer=${w} drop=${_} jitter=${this.sourceJitter}`);let M=w-NP;this.sourceJitter>=0?M-=this.sourceJitter/2:this.sourceJitter-=1,M>3?m(1.15):M>1?m(1.1):M>.3?m(1.05):m(1)}},v=w=>{let C,V=()=>C&&C.start?C.start.length:0,_=N=>C.start[N]/1e3,M=N=>C.dur[N]/1e3,j=N=>C.fragIndex+N,L=(N,re)=>({chunkIdx:j(N),startTS:_(N),dur:M(N),discontinuity:re}),ee=()=>{let N=0;if(C&&C.dur){let re=this.lowLatency?this.params.config.lowLatencyMinBuffer:this.params.config.minBuffer,le=this.lowLatency?this.params.config.lowLatencyMinBufferSegments:this.params.config.minBufferSegments,ge=re;this.sourceJitter>1&&(ge+=this.sourceJitter-1);let Ee=C.dur.length-1;for(;Ee>=0&&(ge-=C.dur[Ee],!(ge<=0));--Ee);N=Math.min(Ee,C.dur.length-1-le),N=Math.max(N,0)}return L(N,!0)},F=N=>{let re=V();if(!(re<=0)){if((0,et.isNonNullable)(N)){for(let le=0;le<re;le++)if(_(le)>N)return L(le)}return ee()}},x=N=>{let re=V(),le=N?N.chunkIdx+1:0,ge=le-C.fragIndex;if(!(re<=0)){if(!N||ge<0||ge-re>FP)return t(`Resync: offset=${ge} bChunks=${re} chunk=`+JSON.stringify(N)),ee();if(!(ge>=re))return L(le-C.fragIndex,!1)}},R=(N,re,le)=>{l&&l.abort(),l=or(this.urlResolver.resolve(N,!0,this.lowLatency),re,le,()=>this._retryCallback()).withTimeout(ln).withRetryCount(ul).withFinally(()=>{l=null}).withJSONResponse().send()};return{seek:(N,re)=>{R(w,le=>{if(!d())return;C=le;let ge=!!C.lowLatency;ge!==this.lowLatency&&b(ge);let Ee=0;for(let ke=0;ke<C.dur.length;++ke)Ee+=C.dur[ke];Ee>0&&((0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.optimizeForSegDuration(Ee/C.dur.length)),r({name:"index",zeroTime:C.zeroTime,shiftDuration:C.shiftDuration}),this.sourceJitter=C.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,C.jitter/1e3)):1,N(F(re))},()=>this._handleNetworkError())},nextChunk:x}},I=()=>{s=!1,u&&u.abort(),o&&o.abort(),l&&l.abort(),(0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.abortAll()};return p={start:w=>{let{videoElement:C,logger:V}=this.params,_=v(e.jidxUrl),M,j,L,ee,F=0,x,R,oe,N=()=>{x&&(clearTimeout(x),x=void 0);let te=Math.max(qP,1e3*(this._getBufferSizeSec()-this.sourceJitter-5)),Fe=F+te,Ce=Pe(),xe=Math.min(1e4,Fe-Ce);F=Ce;let at=()=>{l||d()&&_.seek(()=>{d()&&(F=Pe(),re(),N())})};xe>0?x=window.setTimeout(()=>{this.paused?N():at()},xe):at()},re=()=>{let te;for(;te=_.nextChunk(ee);)ee=te,Re(te);let Fe=_.nextChunk(L);if(Fe){if(L&&Fe.discontinuity){V("Detected discontinuity; restarting playback"),this.paused?N():(I(),this._initPlayerWith(e));return}ke(Fe)}else N()},le=(te,Fe)=>{if(!d()||!this.sourceBuffer)return;let Ce,xe,at,Gt=yt=>{window.setTimeout(()=>{d()&&le(te,Fe)},yt)};if(this.sourceBuffer.updating)V("Source buffer is updating; delaying appendBuffer"),Gt(100);else{let yt=Pe(),Ye=C.currentTime;!this.paused&&C.buffered.length>1&&R===Ye&&yt-oe>500&&(V("Stall suspected; trying to fix"),this._fixupStall()),R!==Ye&&(R=Ye,oe=yt);let zt=this._getBufferSizeSec();if(zt>30)V(`Buffered ${zt} seconds; delaying appendBuffer`),Gt(2e3);else try{this.sourceBuffer.appendBuffer(te),this.videoPlayStarted?(this.bufferStates.push({ts:yt,buf:zt}),S(),this.bufferStates.length>200&&this.bufferStates.shift()):this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement()),Fe&&Fe()}catch(Tt){if(Tt.name==="QuotaExceededError")V("QuotaExceededError; delaying appendBuffer"),at=this.sourceBuffer.buffered.length,at!==0&&(Ce=this.sourceBuffer.buffered.start(0),xe=Ye,xe-Ce>4&&this.sourceBuffer.remove(Ce,xe-3)),Gt(1e3);else throw Tt}}},ge=()=>{j&&M&&(V([`Appending chunk, sz=${j.byteLength}:`,JSON.stringify(L)]),le(j,function(){j=null,re()}))},Ee=te=>e.fragUrlTemplate.replace("%%id%%",te.chunkIdx),ke=te=>{d()&&h(Ee(te),(Fe,Ce)=>{if(d()){if(Ce/=1e3,j=Fe,L=te,n=te.startTS,Ce){let xe=Math.min(10,te.dur/Ce);this.downloadRate=this.downloadRate?(1-.3)*this.downloadRate+.3*xe:xe}ge()}},()=>this._handleNetworkError())},Re=te=>{d()&&((0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.prefetch(this.urlResolver.resolve(Ee(te),!1)))},ae=te=>{d()&&(e.cachedHeader=te,le(te,()=>{M=!0,ge()}))};s=!0,_.seek(te=>{if(d()){if(F=Pe(),!te){N();return}ee=te,!(0,et.isNullable)(w)||te.startTS>w?ke(te):(L=te,re())}},w),e.cachedHeader?ae(e.cachedHeader):c(e.headerUrl,ae,()=>this._handleNetworkError())},stop:I,getTimestampSec:()=>n},p}_switchToQuality(e){let{logger:t,playerCallback:i}=this.params,r;e.bitrate!==this.bitrate&&(this.rep&&(r=this.rep.getTimestampSec(),(0,et.isNonNullable)(r)&&(r+=.1),this.rep.stop()),this.currentManifestEntry=e,this.rep=this._representation(e),t(`switch to quality: codecs=${e.codecs}; headerUrl=${e.headerUrl}; bitrate=${e.bitrate}`),this.bitrate=e.bitrate,(0,et.assertNonNullable)(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(r),i({name:"qualitySwitch",quality:e}))}_qualityAvailable(e){return(0,et.isNonNullable)(this.manifest.find(t=>t.name===e))}_initBitrateSwitcher(){let{logger:e,playerCallback:t}=this.params,i=d=>{if(!this.autoQuality)return;let c,h,m;if(this.currentManifestEntry&&this._qualityAvailable(this.currentManifestEntry.name)&&d<this.bitrate&&(h=this._getBufferSizeSec(),m=d/this.bitrate,h>10&&m>.8||h>15&&m>.5||h>20&&m>.3)){e(`Not switching: buffer=${Math.floor(h)}; bitrate=${this.bitrate}; newRate=${Math.floor(d)}`);return}c=this._selectQuality(d),c?this._switchToQuality(c):e(`Could not find quality by bitrate ${d}`)},s={updateChunk:(c,h)=>{let m=Pe();if(this.chunkRateEstimator.addInterval(c,m,h)){let S=this.chunkRateEstimator.getBitRate();return t({name:"bandwidth",size:h,duration:m-c,speed:S}),!0}},get:()=>{let c=this.chunkRateEstimator.getBitRate();return c?c*.85:0}},n=-1/0,u,o=!0,l=()=>{let d=s.get();if(d&&u&&this.autoQuality){if(o&&d>u&&nl(n)<3e4)return;i(d)}o=this.autoQuality};return{updateChunk:(d,c)=>{let h=s.updateChunk(d,c);return h&&l(),h},notifySwitch:d=>{let c=Pe();d<u&&(n=c),u=d}}}_fetchManifest(e,t,i){this.manifestRequest=or(this.urlResolver.resolve(e,!0),t,i,()=>this._retryCallback()).withJSONResponse().withTimeout(ln).withRetryCount(this.params.config.manifestRetryMaxCount).withRetryInterval(this.params.config.manifestRetryInterval,this.params.config.manifestRetryMaxInterval).send().withFinally(()=>{this.manifestRequest=void 0})}_playVideoElement(){let{videoElement:e}=this.params;We(e,()=>{this.soundProhibitedEvent$.next()}).then(t=>{t||(this.params.liveOffset.pause(),this.params.videoState.setState("paused"))})}_handleManifestUpdate(e){let{logger:t,playerCallback:i,videoElement:r}=this.params,s=n=>{let u=[];return n?.length?(n.forEach((o,l)=>{o.video&&r.canPlayType(o.codecs).replace(/no/,"")&&window.MediaSource?.isTypeSupported?.(o.codecs)&&(o.index=l,u.push(o))}),u.sort(function(o,l){return o.video&&l.video?l.video.height-o.video.height:l.bitrate-o.bitrate}),u):(i({name:"error",type:"empty_manifest"}),[])};this.manifest=s(e),t(`Valid manifest entries: ${this.manifest.length}/${e.length}`),i({name:"manifest",manifest:this.manifest})}_refetchManifest(e){this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout(()=>{this._fetchManifest(e,t=>{this.destroyed||(this._handleManifestUpdate(t),this._refetchManifest(e))},()=>this._refetchManifest(e))},OP))}_initManifest(){this._fetchManifest(this.manifestUrl,e=>{this.destroyed||(this._handleManifestUpdate(e),this._refetchManifest(this.manifestUrl))},()=>this._handleNetworkError())}};var Bb=Q(Gi(),1),be=require("@vkontakte/videoplayer-shared"),ll=class{constructor(){this.onDroopedVideoFramesLimit$=new be.Subject;this.subscription=new be.Subscription;this.playing=!1;this.tracks=[];this.forceChecker$=new be.Subject;this.isForceCheckCounter=0;this.prevTotalVideoFrames=0;this.prevDroppedVideoFrames=0;this.limitCounts={};this.handleChangeVideoQuality=()=>{let e=this.tracks.find(({size:t})=>t?.height===this.video.videoHeight&&t?.width===this.video.videoWidth);e&&!(0,be.isInvariantQuality)(e.quality)&&this.onChangeQuality(e.quality)};this.checkDroppedFrames=()=>{let{totalVideoFrames:e,droppedVideoFrames:t}=this.video.getVideoPlaybackQuality(),i=e-this.prevTotalVideoFrames,r=t-this.prevDroppedVideoFrames,s=1-(i-r)/i;!isNaN(s)&&s>0&&this.log({message:`[dropped]. current dropped percent: ${s}, limit: ${this.droppedFramesChecker.percentLimit}`}),!isNaN(s)&&s>=this.droppedFramesChecker.percentLimit&&(0,be.isHigher)(this.currentQuality,this.droppedFramesChecker.minQualityBanLimit)&&(this.limitCounts[this.currentQuality]=(this.limitCounts[this.currentQuality]??0)+1,this.maxQualityLimit=this.getMaxQualityLimit(this.currentQuality),this.currentTimer&&window.clearTimeout(this.currentTimer),this.currentTimer=window.setTimeout(()=>this.maxQualityLimit=this.getMaxQualityLimit(),this.droppedFramesChecker.qualityUpWaitingTime),this.onDroopedVideoFramesLimitTrigger()),this.savePrevFrameCounts(e,t)}}connect(e){this.log=e.logger.createComponentLog("DroppedFramesManager"),this.video=e.video,this.isAuto=e.isAuto,this.tracks=e.tracks,this.droppedFramesChecker=e.droppedFramesChecker,this.subscription.add(e.playing$.subscribe(()=>this.playing=!0)),this.subscription.add(e.pause$.subscribe(()=>this.playing=!1)),this.isEnabled&&this.subscribe()}destroy(){this.currentTimer&&window.clearTimeout(this.currentTimer),this.subscription.unsubscribe()}get droppedVideoMaxQualityLimit(){return this.maxQualityLimit}subscribe(){this.subscription.add((0,be.fromEvent)(this.video,"resize").subscribe(this.handleChangeVideoQuality));let e=(0,be.interval)(this.droppedFramesChecker.checkTime).pipe((0,be.filter)(()=>this.playing),(0,be.filter)(()=>{let r=!!this.isForceCheckCounter;return r&&(this.isForceCheckCounter-=1),!r})),t=this.forceChecker$.pipe((0,be.debounce)(this.droppedFramesChecker.checkTime)),i=(0,be.merge)(e,t);this.subscription.add(i.subscribe(this.checkDroppedFrames))}onChangeQuality(e){this.currentQuality=e;let{totalVideoFrames:t,droppedVideoFrames:i}=this.video.getVideoPlaybackQuality();this.savePrevFrameCounts(t,i),this.isForceCheckCounter=this.droppedFramesChecker.tickCountAfterQualityChange,this.forceChecker$.next()}onDroopedVideoFramesLimitTrigger(){this.isAuto.getState()&&(this.log({message:`[onDroopedVideoFramesLimit]. maxQualityLimit: ${this.maxQualityLimit}`}),this.onDroopedVideoFramesLimit$.next())}getMaxQualityLimit(e){let t=(0,Bb.default)(this.limitCounts).filter(([,i])=>i>=this.droppedFramesChecker.countLimit).sort(([i],[r])=>(0,be.isLower)(i,r)?-1:1)?.[0]?.[0];return e??t}get isEnabled(){return this.droppedFramesChecker.enabled&&this.isDroppedFramesCheckerSupport}get isDroppedFramesCheckerSupport(){return!!this.video&&typeof this.video.getVideoPlaybackQuality=="function"}savePrevFrameCounts(e,t){this.prevTotalVideoFrames=e,this.prevDroppedVideoFrames=t}},ur=ll;var cn=require("@vkontakte/videoplayer-shared"),Vb=require("@vkontakte/videoplayer-shared");var na=()=>!!window.documentPictureInPicture?.window||!!document.pictureInPictureElement;var UP=(a,e)=>new cn.Observable(t=>{if(!window.IntersectionObserver)return;let i={root:null},r=new IntersectionObserver((n,u)=>{n.forEach(o=>t.next(o.isIntersecting||na()))},{...i,...e});r.observe(a);let s=(0,Vb.fromEvent)(document,"visibilitychange").pipe((0,cn.map)(n=>!document.hidden||na())).subscribe(n=>t.next(n));return()=>{r.unobserve(a),s.unsubscribe()}}),ut=UP;var HP=["paused","playing","ready"],jP=["paused","playing","ready"],oa=class{constructor(e){this.subscription=new Y.Subscription;this.videoState=new Z("stopped");this.representations$=new Y.ValueSubject([]);this.droppedFramesManager=new ur;this.maxSeekBackTime$=new Y.ValueSubject(1/0);this.zeroTime$=new Y.ValueSubject(void 0);this.liveOffset=new Ei;this._dashCb=e=>{switch(e.name){case"buffering":{let t=e.isBuffering;this.params.output.isBuffering$.next(t);break}case"error":{this.params.output.error$.next({id:`DashLiveProviderInternal:${e.type}`,category:Y.ErrorCategory.WTF,message:"LiveDashPlayer reported error"});break}case"manifest":{let t=e.manifest,i=[];for(let r of t){let s=r.name??r.index.toString(10),n=ii(r.name)??(0,Y.videoSizeToQuality)(r.video),u=r.bitrate/1e3,o={...r.video};if(!n)continue;let l={id:s,quality:n,bitrate:u,size:o};i.push({track:l,representation:r})}this.representations$.next(i),this.params.output.availableVideoTracks$.next(i.map(({track:r})=>r)),this.videoState.getTransition()?.to==="manifest_ready"&&this.videoState.setState("manifest_ready");break}case"qualitySwitch":{let t=e.quality,i=this.representations$.getValue().find(({representation:r})=>r===t)?.track;this.params.output.hostname$.next(new URL(t.headerUrl,this.params.source.url).hostname),(0,Y.isNonNullable)(i)&&this.params.output.currentVideoTrack$.next(i);break}case"bandwidth":{let{size:t,duration:i}=e;this.params.dependencies.throughputEstimator.addRawSpeed(t,i);break}case"index":{this.maxSeekBackTime$.next(e.shiftDuration||0),this.zeroTime$.next(e.zeroTime);break}}};this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),s=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${i}; seekState: ${JSON.stringify(s)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.dash.destroy(),this.video.removeAttribute("src"),this.video.load(),this.videoState.setState("stopped"));return}if(t)return;let n=this.params.desiredState.videoTrack.getTransition(),u=this.params.desiredState.autoVideoTrackSwitching.getTransition();if((0,cl.default)(jP,e)&&(n||u)){this.prepare();return}if(r?.to!=="paused"&&s.state==="requested"&&(0,cl.default)(HP,e)){this.seek(s.position-this.liveOffset.getTotalPausedTime());return}switch(e){case"stopped":this.videoState.startTransitionTo("manifest_ready"),this.dash.attachSource(ye(this.params.source.url));return;case"manifest_ready":this.videoState.startTransitionTo("ready"),this.prepare();break;case"ready":if(i==="paused")this.videoState.setState("paused");else if(i==="playing"){this.videoState.startTransitionTo("playing");let o=r?.from;o&&o==="ready"&&this.dash.catchUp(),this.dash.play()}return;case"playing":i==="paused"&&(this.videoState.startTransitionTo("paused"),this.liveOffset.pause(),this.dash.pause());return;case"paused":if(i==="playing")if(this.videoState.startTransitionTo("playing"),this.liveOffset.getTotalPausedTime()<this.params.config.maxPausedTime&&this.liveOffset.getTotalOffset()<this.maxSeekBackTime$.getValue())this.liveOffset.resume(),this.dash.play(),this.params.output.position$.next(-this.liveOffset.getTotalOffset()/1e3);else{let o=this.liveOffset.getTotalOffset();o>=this.maxSeekBackTime$.getValue()&&(o=0,this.liveOffset.resetTo(o)),this.liveOffset.resume(),this.params.output.position$.next(-o/1e3),this.dash.reinit(ye(this.params.source.url,o))}return;default:return(0,Y.assertNever)(e)}};this.textTracksManager=new ot(e.source.url),this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");let t=r=>{e.output.error$.next({id:"DashLiveProvider",category:Y.ErrorCategory.WTF,message:"DashLiveProvider internal logic error",thrown:r})};this.subscription.add((0,Y.merge)(this.videoState.stateChangeStarted$.pipe((0,Y.map)(r=>({transition:r,type:"start"}))),this.videoState.stateChangeEnded$.pipe((0,Y.map)(r=>({transition:r,type:"end"})))).subscribe(({transition:r,type:s})=>{this.log({message:`[videoState change] ${s}: ${JSON.stringify(r)}`})})),this.video=Ue(e.container,e.tuning),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.subscription.add(this.dash.soundProhibitedEvent$.subscribe(this.params.output.soundProhibitedEvent$)),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.canChangePlaybackSpeed$.next(!1),this.params.output.hostname$.next($e(this.params.source.url)),this.params.output.autoVideoTrackLimitingAvailable$.next(!0),this.params.output.availableVideoTracks$.next([]),this.params.output.availableAudioTracks$.next([]),this.params.output.isAudioAvailable$.next(!0),this.params.output.availableTextTracks$.next([]),this.params.desiredState.internalTextTracks.setState([]),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);let i=Qe(this.video);this.subscription.add(()=>i.destroy()),this.subscription.add(this.representations$.pipe((0,Y.map)(r=>r.map(({track:s})=>s)),(0,Y.filter)(r=>!!r.length),(0,Y.once)()).subscribe(r=>this.droppedFramesManager.connect({logger:this.params.dependencies.logger,video:this.video,droppedFramesChecker:this.params.tuning.droppedFramesChecker,isAuto:this.params.desiredState.autoVideoTrackSwitching,playing$:i.playing$,pause$:i.pause$,tracks:r}))),this.subscription.add(i.canplay$.subscribe(()=>{this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready")},t)).add(i.pause$.subscribe(()=>{this.videoState.setState("paused")},t)).add(i.playing$.subscribe(()=>{this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.videoState.setState("playing")},t)).add(i.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe((0,Y.filterChanged)(),(0,Y.map)(r=>-r/1e3)).subscribe(this.params.output.duration$)).add((0,Y.combine)({zeroTime:this.zeroTime$.pipe((0,Y.filter)(Y.isNonNullable)),position:i.timeUpdate$}).subscribe(({zeroTime:r,position:s})=>this.params.output.liveTime$.next(r+s*1e3),t)).add(kt(this.video,this.params.desiredState.isLooped,t)).add(je(this.video,this.params.desiredState.volume,i.volumeState$,t)).add(i.volumeState$.subscribe(this.params.output.volume$,t)).add(nt(this.video,this.params.desiredState.playbackRate,i.playbackRateState$,t)).add(i.loadStart$.subscribe(this.params.output.firstBytesEvent$)).add(i.loadedMetadata$.subscribe(this.params.output.loadedMetadataEvent$)).add(i.playing$.subscribe(this.params.output.firstFrameEvent$)).add(i.canplay$.subscribe(this.params.output.canplay$)).add(i.inPiP$.subscribe(this.params.output.inPiP$)).add(i.inFullscreen$.subscribe(this.params.output.inFullscreen$)).add(ut(this.video).subscribe(this.params.output.elementVisible$)).add(this.params.desiredState.autoVideoTrackLimits.stateChangeStarted$.subscribe(({to:{max:r,min:s}})=>{this.dash.setAutoQualityLimits({max:r&&(0,Y.videoQualityToHeight)(r),min:s&&(0,Y.videoQualityToHeight)(s)}),this.params.output.autoVideoTrackLimits$.next({max:r,min:s})})).add(this.videoState.stateChangeEnded$.subscribe(r=>{switch(r.to){case"stopped":this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.desiredState.playbackState.setState("stopped");break;case"manifest_ready":case"ready":this.params.desiredState.playbackState.getTransition()?.to==="ready"&&this.params.desiredState.playbackState.setState("ready");break;case"paused":this.params.desiredState.playbackState.setState("paused");break;case"playing":this.params.desiredState.playbackState.setState("playing");break;default:return(0,Y.assertNever)(r.to)}},t)).add((0,Y.merge)(e.desiredState.playbackState.stateChangeStarted$,e.desiredState.seekState.stateChangeEnded$,e.desiredState.videoTrack.stateChangeStarted$,e.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,this.droppedFramesManager.onDroopedVideoFramesLimit$,(0,Y.observableFrom)(["init"])).pipe((0,Y.debounce)(0)).subscribe(this.syncPlayback,t))}destroy(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.droppedFramesManager.destroy(),this.dash.destroy(),this.params.output.element$.next(void 0),He(this.video)}createLiveDashPlayer(){let e=new sa({videoElement:this.video,videoState:this.videoState,playbackState:this.params.desiredState.playbackState,liveOffset:this.liveOffset,config:{maxParallelRequests:this.params.config.maxParallelRequests,minBuffer:this.params.tuning.live.minBuffer,minBufferSegments:this.params.tuning.live.minBufferSegments,lowLatencyMinBuffer:this.params.tuning.live.lowLatencyMinBuffer,lowLatencyMinBufferSegments:this.params.tuning.live.lowLatencyMinBufferSegments,isLiveCatchUpMode:this.params.tuning.live.isLiveCatchUpMode,manifestRetryInterval:this.params.tuning.manifestRetryInterval,manifestRetryMaxInterval:this.params.tuning.manifestRetryMaxInterval,manifestRetryMaxCount:this.params.tuning.manifestRetryMaxCount},playerCallback:this._dashCb,logger:t=>{this.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return e.pause(),e}prepare(){let e=this.representations$.getValue(),t=this.params.desiredState.videoTrack.getTransition()?.to??this.params.desiredState.videoTrack.getState(),i=this.params.desiredState.autoVideoTrackSwitching.getTransition()?.to??this.params.desiredState.autoVideoTrackSwitching.getState(),r=!i&&(0,Y.isNonNullable)(t)?t:Rt(e.map(({track:l})=>l),{container:this.video.getBoundingClientRect(),panelSize:this.params.panelSize,estimatedThroughput:this.params.dependencies.throughputEstimator.throughput$.getValue(),tuning:this.params.tuning.autoTrackSelection,limits:this.params.desiredState.autoVideoTrackLimits.getState(),droppedVideoMaxQualityLimit:this.droppedFramesManager.droppedVideoMaxQualityLimit,abrLogger:this.params.dependencies.abrLogger}),s=r?.id,n=this.params.desiredState.videoTrack.getTransition(),u=this.params.desiredState.videoTrack.getState()?.id,o=this.params.desiredState.autoVideoTrackSwitching.getTransition();if(r&&(n||s!==u)&&this.setVideoTrack(r),o&&this.setAutoQuality(i),n||o||s!==u){let l=e.find(({track:p})=>p.id===s)?.representation;(0,Y.assertNonNullable)(l,"Representations missing"),this.dash.startPlay(l,i)}}setVideoTrack(e){let t=this.representations$.getValue().find(({track:i})=>i.id===e.id)?.representation;(0,Y.assertNonNullable)(t,`No such representation ${e.id}`),this.dash.switchByName(t.name),this.params.desiredState.videoTrack.setState(e)}setAutoQuality(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)}seek(e){this.log({message:`[seek] position: ${e}`}),this.params.output.willSeekEvent$.next();let t=this.params.desiredState.playbackState.getState(),i=this.videoState.getState(),r=t==="paused"&&i==="paused",s=-e,n=s<=this.maxSeekBackTime$.getValue()?s:0;this.params.output.position$.next(e/1e3),this.dash.reinit(ye(this.params.source.url,n)),r&&this.dash.pause(),this.liveOffset.resetTo(n,r)}};var _b=oa;var Me=(a,e)=>{let t=0;for(let i=0;i<a.length;i++){let r=a.start(i)*1e3,s=a.end(i)*1e3;r<=e&&e<=s&&(t=s)}return Math.max(t-e,0)};var O=require("@vkontakte/videoplayer-shared");var{NativeAbortSignal:CV,NativeAbortController:BV}=function(a){return{NativeAbortSignal:a.AbortSignal,NativeAbortController:a.AbortController}}(typeof self<"u"?self:global);function Ob(a){let e;try{e=new Event("abort")}catch{typeof document<"u"?document.createEvent?(e=document.createEvent("Event"),e.initEvent("abort",!1,!1)):(e=document.createEventObject(),e.type="abort"):e={type:"abort",bubbles:!1,cancelable:!1}}return e.reason=a,e}function Fb(a){if(a===void 0)if(typeof document>"u")a=new Error("This operation was aborted"),a.name="AbortError";else try{a=new DOMException("signal is aborted without reason"),Object.defineProperty(a,"name",{value:"AbortError"})}catch{a=new Error("This operation was aborted"),a.name="AbortError"}return a}var dn=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:i})}removeEventListener(e,t){if(!(e in this.listeners))return;let i=this.listeners[e];for(let r=0,s=i.length;r<s;r++)if(i[r].callback===t){i.splice(r,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let r=0,s=i.length;r<s;r++){let n=i[r];try{n.callback.call(this,e)}catch(u){Promise.resolve().then(()=>{throw u})}n.options&&n.options.once&&this.removeEventListener(e.type,n.callback)}return!e.defaultPrevented}},lr=class extends dn{constructor(){super(),this.listeners||dn.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,e)),super.dispatchEvent(e)}throwIfAborted(){let{aborted:e,reason:t="Aborted"}=this;if(e)throw t}static timeout(e){let t=new wi;return setTimeout(()=>t.abort(new DOMException(`This signal is timeout in ${e}ms`,"TimeoutError")),e),t.signal}static any(e){let t=new wi;function i(){t.abort(this.reason),r()}function r(){for(let s of e)s.removeEventListener("abort",i)}for(let s of e)if(s.aborted){t.abort(s.reason);break}else s.addEventListener("abort",i);return t.signal}},wi=class{constructor(){Object.defineProperty(this,"signal",{value:new lr,writable:!0,configurable:!0})}abort(e){let t=Fb(e),i=Ob(t);this.signal.reason=t,this.signal.dispatchEvent(i)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(wi.prototype[Symbol.toStringTag]="AbortController",lr.prototype[Symbol.toStringTag]="AbortSignal");function pn(a){return a.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof a.Request=="function"&&!a.Request.prototype.hasOwnProperty("signal")||!a.AbortController}function dl(a){typeof a=="function"&&(a={fetch:a});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r=!1}=a;if(!pn({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r}))return{fetch:e,Request:s};let s=t;(s&&!s.prototype.hasOwnProperty("signal")||r)&&(s=function(l,p){let d;p&&p.signal&&(d=p.signal,delete p.signal);let c=new t(l,p);return d&&Object.defineProperty(c,"signal",{writable:!1,enumerable:!1,configurable:!0,value:d}),c},s.prototype=t.prototype);let n=e;return{fetch:(o,l)=>{let p=s&&s.prototype.isPrototypeOf(o)?o.signal:l?l.signal:void 0;if(p){let d;try{d=new DOMException("Aborted","AbortError")}catch{d=new Error("Aborted"),d.name="AbortError"}if(p.aborted)return Promise.reject(d);let c=new Promise((h,m)=>{p.addEventListener("abort",()=>m(d),{once:!0})});return l&&l.signal&&delete l.signal,Promise.race([c,n(o,l)])}return n(o,l)},Request:s}}var QP=()=>"fetch"in window,ua=QP()&&pn({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),Nb=ua?dl({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,lt=ua?Nb.fetch:window.fetch,QV=ua?Nb.Request:window.Request,ue=ua?wi:window.AbortController,WV=ua?lr:window.AbortSignal;var US=Q(qe(),1),Bl=Q(la(),1);var Ag=Q(wg(),1),cr=require("@vkontakte/videoplayer-shared"),hn=a=>{if(!a)return{id:"EmptyResponse",category:cr.ErrorCategory.PARSER,message:"Empty response"};if(a.length<=2&&a.match(/^\d+$/))return{id:`UVError#${a}`,category:cr.ErrorCategory.NETWORK,message:`UV Error ${a}`};let e=(0,Ag.default)(a).substring(0,100).toLowerCase();if(e.startsWith("<!doctype")||e.startsWith("<html>")||e.startsWith("<body>")||e.startsWith("<head>"))return{id:"UnexpectedHTML",category:cr.ErrorCategory.NETWORK,message:"Received unexpected HTML, possibly a ISP block"};if(e.startsWith("<?xml"))return new DOMParser().parseFromString(a,"text/xml").querySelector("parsererror")?{id:"InvalidXML",category:cr.ErrorCategory.PARSER,message:"XML parsing error"}:{id:"XMLParserLogicError",category:cr.ErrorCategory.PARSER,message:"Response is valid XML, but parser failed"}};var De=(a,e,t=0)=>{for(let i=0;i<a.length;i++)if(a.start(i)*1e3-t<=e&&a.end(i)*1e3+t>e)return!0;return!1};var T=require("@vkontakte/videoplayer-shared");var bn=Q(qe(),1),ki=Q(gt(),1),gn=Q(la(),1);var Lk=(a,e={})=>{let i=e.timeout||1,r=performance.now();return window.setTimeout(()=>{a({get didTimeout(){return e.timeout?!1:performance.now()-r-1>i},timeRemaining(){return Math.max(0,1+(performance.now()-r))}})},1)},$k=a=>window.clearTimeout(a),Pg=a=>typeof a=="function"&&a?.toString().endsWith("{ [native code] }"),kg=!Pg(window.requestIdleCallback)||!Pg(window.cancelIdleCallback),dr=kg?Lk:window.requestIdleCallback,$t=kg?$k:window.cancelIdleCallback;var VS=Q(Ws(),1);var ai=require("@vkontakte/videoplayer-shared");var Mk=18,Rg=!1;try{Rg=W.browser.isSafari&&!!W.browser.safariVersion&&W.browser.safariVersion<=Mk}catch(a){console.error(a)}var gl=class{constructor(e){this.bufferFull$=new ai.Subject;this.error$=new ai.Subject;this.queue=[];this.currentTask=null;this.destroyed=!1;this.abortRequested=!1;this.completeTask=()=>{try{if(this.currentTask){let e=this.currentTask.signal?.aborted;this.currentTask.callback(!e),this.currentTask=null}this.queue.length&&this.pull()}catch(e){this.error$.next({id:"BufferTaskQueueUnknown",category:ai.ErrorCategory.VIDEO_PIPELINE,message:"Buffer appending or removal failed",thrown:e})}};this.buffer=e,this.buffer.addEventListener("updateend",this.completeTask)}async append(e,t){return t&&t.aborted?!1:new Promise(i=>{let r={operation:"append",data:e,signal:t,callback:i};this.queue.push(r),this.pull()})}async remove(e,t,i){return i&&i.aborted?!1:new Promise(r=>{let s={operation:"remove",from:e,to:t,signal:i,callback:r};this.queue.unshift(s),this.pull()})}async abort(e){return new Promise(t=>{let i,r=s=>{this.abortRequested=!1,t(s)};Rg&&e?i={operation:"safariAbort",init:e,callback:r}:i={operation:"abort",callback:r};for(let{callback:s}of this.queue)s(!1);this.abortRequested=!0,i&&(this.queue=[i]),this.pull()})}destroy(){this.destroyed=!0,this.buffer.removeEventListener("updateend",this.completeTask),this.queue=[],this.currentTask=null;try{this.buffer.abort()}catch(e){if(!(e instanceof DOMException&&e.name==="InvalidStateError"))throw e}}pull(){if((this.buffer.updating||this.currentTask||this.destroyed)&&!this.abortRequested)return;let e=this.queue.shift();if(!e)return;if(e.signal?.aborted){e.callback(!1),this.pull();return}this.currentTask=e;let{operation:t}=this.currentTask;try{this.execute(this.currentTask)}catch(r){r instanceof DOMException&&r.name==="QuotaExceededError"&&t==="append"?this.bufferFull$.next(this.currentTask.data.byteLength):r instanceof DOMException&&r.name==="InvalidStateError"||this.error$.next({id:`BufferTaskQueue:${t}`,category:ai.ErrorCategory.VIDEO_PIPELINE,message:"Buffer operation failed",thrown:r}),this.currentTask.callback(!1),this.currentTask=null}this.currentTask&&this.currentTask.operation==="abort"&&this.completeTask()}execute(e){let{operation:t}=e;switch(t){case"append":this.buffer.appendBuffer(e.data);break;case"remove":this.buffer.remove(e.from/1e3,e.to/1e3);break;case"abort":this.buffer.abort();break;case"safariAbort":{this.buffer.abort(),this.buffer.appendBuffer(e.init);break}default:(0,ai.assertNever)(t)}}},Lg=gl;var pr=a=>{let e=0;for(let t=0;t<a.length;t++)e+=a.end(t)-a.start(t);return e*1e3};var A=require("@vkontakte/videoplayer-shared");var Mg=Q(gt(),1);var fn=a=>a.valid,se=class{constructor(e,t){this.cursor=0;this.source=e,this.boxParser=t,this.children=[];let i=this.readUint32();this.type=this.readString(4),i===1&&(this.cursor+=8);let r=e.byteOffset+this.cursor,s;i===0?(this.size=void 0,this.valid=!1,s=void 0):i===1?(this.size=void 0,this.valid=!1,s=void 0):i>e.byteLength?(this.size=i,this.valid=!1,s=Math.min(i-this.cursor,e.byteLength-this.cursor)):(this.size=i,this.valid=!0,s=i-this.cursor),this.content=new DataView(e.buffer,r,s)}get id(){return this.type}scanForBoxes(e){return this.boxParser.parse(e)}readString(e,t="ascii"){let r=new TextDecoder(t).decode(new DataView(this.source.buffer,this.source.byteOffset+this.cursor,e));return this.cursor+=e,r}readUint8(){let e=this.source.getUint8(this.cursor);return this.cursor+=1,e}readUint16(){let e=this.source.getUint16(this.cursor);return this.cursor+=2,e}readUint32(){let e=this.source.getUint32(this.cursor);return this.cursor+=4,e}readUint64(){let e=this.source.getBigInt64(this.cursor);return this.cursor+=8,e}};var hr=class extends se{};var $g=require("@vkontakte/videoplayer-shared");var da=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readString(16),r=new DataView(this.content.buffer,this.content.byteOffset+16,this.content.byteLength-16);this.userData=this.parseData(i,r)}parseData(e,t){switch(e){case"ondemandlivejson":{let i=new TextDecoder("ascii").decode(t),r=JSON.parse(i);return{received:r["t-in"],prepared:r["t-out"]}}default:(0,$g.assertNever)(e)}}};var pa=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;this.compatibleBrands=[],this.majorBrand=this.readString(4),this.minorVersion=this.readUint32();let i=new DataView(this.content.buffer,this.content.byteOffset+8,this.content.byteLength-8);for(let r=0;r<i.byteLength;r+=4){let s=this.readString(4);this.compatibleBrands.push(s)}}};var ha=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var pe=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readUint32();this.version=i>>>24,this.flags=i&16777215,this.content=new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)}};var fa=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.timescale=this.readUint32(),this.duration=this.readUint32(),this.rate=this.readUint32(),this.volume=this.readUint16())}};var ma=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ba=class extends se{constructor(e,t){super(e,t),this.data=this.content}};var Ai=class extends pe{get earliestPresentationTime(){return this.earliestPresentationTime32}get firstOffset(){return this.firstOffset32}constructor(e,t){if(super(e,t),!!this.valid){this.segments=[],this.referenceId=this.readUint32(),this.timescale=this.readUint32(),this.earliestPresentationTime32=this.readUint32(),this.firstOffset32=this.readUint32(),this.earliestPresentationTime64=0,this.firstOffset64=0,this.referenceCount=this.readUint32()&65535;for(let i=0;i<this.referenceCount;i++){let r=this.readUint32(),s=r>>>31,n=r<<1>>>1,u=this.readUint32();r=this.readUint32();let o=r>>>28,l=r<<3>>>3;this.segments.push({referenceType:s,referencedSize:n,subsegmentDuration:u,SAPType:o,SAPDeltaTime:l})}}}};var ga=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Sa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var va=class extends pe{constructor(e,t){if(super(e,t),!this.valid)return;switch(this.readUint8()){case 0:this.stereoMode=0;break;case 1:this.stereoMode=1;break;case 2:this.stereoMode=2;break;case 3:this.stereoMode=3;break;case 4:this.stereoMode=4;break}this.cursor+=1}};var ya=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.poseYawDegrees=this.readUint32(),this.posePitchDegrees=this.readUint32(),this.poseRollDegrees=this.readUint32())}};var Ta=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.projectionBoundsTop=this.readUint32(),this.projectionBoundsBottom=this.readUint32(),this.projectionBoundsLeft=this.readUint32(),this.projectionBoundsRight=this.readUint32())}};var Ia=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ea=class extends pe{constructor(e,t){super(e,t),this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.trackId=this.readUint32(),this.cursor+=4,this.duration=this.readUint32(),this.cursor+=8,this.layer=this.readUint16(),this.alternateGroup=this.readUint16(),this.cursor+=2,this.cursor+=2,this.matrix=[[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()]],this.width=this.readUint32(),this.height=this.readUint32()}};var xa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var wa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Aa=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.sequenceNumber=this.readUint32())}};var Pa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ka=class extends pe{constructor(e,t){super(e,t),this.trackId=this.readUint32(),this.flags&1&&(this.baseDataOffset=this.readUint64()),this.flags&2&&(this.sampleDescriptionIndex=this.readUint32()),this.flags&8&&(this.defaultSampleDuration=this.readUint32()),this.flags&16&&(this.defaultSampleSize=this.readUint32()),this.flags&32&&(this.defaultSampleFlags=this.readUint32())}};var Ra=class extends pe{constructor(t,i){super(t,i);this.baseMediaDecodeTime32=0;this.baseMediaDecodeTime64=BigInt(0);this.version===1?this.baseMediaDecodeTime64=this.readUint64():this.baseMediaDecodeTime32=this.readUint32()}get baseMediaDecodeTime(){return this.version===1?this.baseMediaDecodeTime64:this.baseMediaDecodeTime32}};var La=class extends pe{constructor(t,i){super(t,i);this.sampleDuration=[];this.sampleSize=[];this.sampleFlags=[];this.sampleCompositionTimeOffset=[];this.optionalFields=0;this.sampleCount=this.readUint32(),this.flags&1&&(this.dataOffset=this.readUint32()),this.flags&4&&(this.firstSampleFlags=this.readUint32());for(let r=0;r<this.sampleCount;r++)this.flags&256&&this.sampleDuration.push(this.readUint32()),this.flags&512&&this.sampleSize.push(this.readUint32()),this.flags&1024&&this.sampleFlags.push(this.readUint32()),this.flags&2048&&this.sampleCompositionTimeOffset.push(this.readUint32())}};var $a=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ma=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.entryCount=this.readUint32(),this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)))}};var Da=class extends se{constructor(e,t){super(e,t),this.valid&&(this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+78,this.content.byteLength-78)))}};var Ck={ftyp:pa,moov:ha,mvhd:fa,moof:ma,mdat:ba,sidx:Ai,trak:ga,mdia:Ia,mfhd:Aa,tkhd:Ea,traf:Pa,tfhd:ka,tfdt:Ra,trun:La,minf:xa,sv3d:Sa,st3d:va,prhd:ya,proj:wa,equi:Ta,uuid:da,stbl:$a,stsd:Ma,avc1:Da,unknown:hr},qt=class a{constructor(e={}){this.options={offset:0,...e}}parse(e){let t=[],i=this.options.offset;for(;i<e.byteLength;){let s=new TextDecoder("ascii").decode(new DataView(e.buffer,e.byteOffset+i+4,4)),n;try{n=this.createBox(s,new DataView(e.buffer,e.byteOffset+i,e.byteLength-i))}catch(u){if(!(u instanceof RangeError))throw u}if(!n||!fn(n))break;t.push(n),i+=n.size}return t}createBox(e,t){let i=Ck[e];return i?new i(t,new a):new hr(t,new a)}};var si=class{constructor(e){this.index={},this.indexBoxLevel(e)}indexBoxLevel(e){e.forEach(t=>{fn(t)&&(this.index[t.type]??=[],this.index[t.type].push(t),t.children.length>0&&this.indexBoxLevel(t.children))})}find(e){return this.index[e]&&this.index[e][0]?this.index[e][0]:null}findAll(e){return this.index[e]||[]}};var Vk=new TextDecoder("ascii"),_k=a=>Vk.decode(new DataView(a.buffer,a.byteOffset+4,4))==="ftyp",Ok=a=>{let e=new Ai(a,new qt),t=e.earliestPresentationTime/e.timescale*1e3,i=a.byteOffset+a.byteLength+e.firstOffset;return e.segments.map(s=>{if(s.referenceType!==0)throw new Error("Unsupported multilevel sidx");let n=s.subsegmentDuration/e.timescale*1e3,u={status:"none",time:{from:t,to:t+n},byte:{from:i,to:i+s.referencedSize-1}};return t+=n,i+=s.referencedSize,u})},Fk=(a,e)=>{let i=new qt().parse(a),r=new si(i),s=r.findAll("moof"),n=e?r.findAll("uuid"):r.findAll("mdat");if(!(n.length&&s.length))return null;let u=s[0],o=n[n.length-1],l=u.source.byteOffset,d=o.source.byteOffset-u.source.byteOffset+o.size;return new DataView(a.buffer,l,d)},Nk=a=>{let t=new qt().parse(a),i=new si(t),r={},s=i.findAll("uuid"),n=(0,Mg.default)(s,-1);return n?{serverDataReceivedTimestamp:n.userData.received,serverDataPreparedTime:n.userData.received}:r},qk=a=>{let t=new qt().parse(a);return new si(t).find("sidx")?.timescale},Uk=(a,e)=>{let i=new qt().parse(a),s=new si(i).findAll("traf"),n=s[s.length-1].children.find(d=>d.type==="tfhd"),u=s[s.length-1].children.find(d=>d.type==="tfdt"),o=s[s.length-1].children.find(d=>d.type==="trun"),l=0;return o.sampleDuration.length?l=o.sampleDuration.reduce((d,c)=>d+c,0):l=n.defaultSampleDuration*o.sampleCount,(Number(u.baseMediaDecodeTime)+l)/e*1e3},Hk=a=>{let e={is3dVideo:!1,stereoMode:0,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}},i=new qt().parse(a),r=new si(i);if(r.find("sv3d")){e.is3dVideo=!0;let n=r.find("st3d");n&&(e.stereoMode=n.stereoMode);let u=r.find("prhd");u&&(e.projectionData.pose.yaw=u.poseYawDegrees,e.projectionData.pose.pitch=u.posePitchDegrees,e.projectionData.pose.roll=u.poseRollDegrees);let o=r.find("equi");o&&(e.projectionData.bounds.top=o.projectionBoundsTop,e.projectionData.bounds.right=o.projectionBoundsRight,e.projectionData.bounds.bottom=o.projectionBoundsBottom,e.projectionData.bounds.left=o.projectionBoundsLeft)}return e},Dg={validateData:_k,parseInit:Hk,getIndexRange:()=>{},parseSegments:Ok,parseFeedableSegmentChunk:Fk,getChunkEndTime:Uk,getServerLatencyTimestamps:Nk,getTimescaleFromIndex:qk};var Va=Q(qe(),1),Ut=require("@vkontakte/videoplayer-shared");var Bg=require("@vkontakte/videoplayer-shared");var Cg={440786851:{type:"master"},17030:{type:"uint"},17143:{type:"uint"},17138:{type:"uint"},17139:{type:"uint"},17026:{type:"string"},17031:{type:"uint"},17029:{type:"uint"},236:{type:"binary"},408125543:{type:"master"},290298740:{type:"master"},19899:{type:"master"},21419:{type:"binary"},21420:{type:"uint"},357149030:{type:"master"},2807729:{type:"uint"},17545:{type:"float"},374648427:{type:"master"},174:{type:"master"},224:{type:"master"},30320:{type:"master"},30321:{type:"uint"},30322:{type:"master"},272869232:{type:"master"},524531317:{type:"master"},231:{type:"uint"},22612:{type:"master"},22743:{type:"uint"},167:{type:"uint"},171:{type:"uint"},163:{type:"binary"},160:{type:"master"},175:{type:"binary"},423732329:{type:"master"},307544935:{type:"master"},475249515:{type:"master"},187:{type:"master"},179:{type:"uint"},183:{type:"master"},247:{type:"uint"},241:{type:"uint"},240:{type:"uint"},178:{type:"uint"},21368:{type:"uint"},234:{type:"uint"},219:{type:"master"},150:{type:"uint"}},Vg=a=>{let e=a.getUint8(0),t=0;e&128?t=1:e&64?t=2:e&32?t=3:e&16&&(t=4);let i=Ba(a,t),r=i in Cg,s=r?Cg[i].type:"binary",n=a.getUint8(t),u=0;n&128?u=1:n&64?u=2:n&32?u=3:n&16?u=4:n&8?u=5:n&4?u=6:n&2?u=7:n&1&&(u=8);let o=new DataView(a.buffer,a.byteOffset+t+1,u-1),l=n&255>>u,p=Ba(o),d=l*2**((u-1)*8)+p,c=t+u,h;return c+d>a.byteLength?h=new DataView(a.buffer,a.byteOffset+c):h=new DataView(a.buffer,a.byteOffset+c,d),{tag:r?i:"0x"+i.toString(16).toUpperCase(),type:s,tagHeaderSize:c,tagSize:c+d,value:h,valueSize:d}},Ba=(a,e=a.byteLength)=>{switch(e){case 1:return a.getUint8(0);case 2:return a.getUint16(0);case 3:return a.getUint8(0)*2**16+a.getUint16(1);case 4:return a.getUint32(0);case 5:return a.getUint8(0)*2**32+a.getUint32(1);case 6:return a.getUint16(0)*2**32+a.getUint32(2);case 7:{let t=a.getUint8(0)*281474976710656+a.getUint16(1)*4294967296+a.getUint32(3);if(Number.isSafeInteger(t))return t}case 8:throw new ReferenceError("Int64 is not supported")}return 0},St=(a,e)=>{switch(e){case"int":return a.getInt8(0);case"uint":return Ba(a);case"float":return a.byteLength===4?a.getFloat32(0):a.getFloat64(0);case"string":return new TextDecoder("ascii").decode(a);case"utf8":return new TextDecoder("utf-8").decode(a);case"date":return new Date(Date.UTC(2001,0)+a.getInt8(0)).getTime();case"master":return a;case"binary":return a;default:(0,Bg.assertNever)(e)}},Pi=(a,e)=>{let t=0;for(;t<a.byteLength;){let i=new DataView(a.buffer,a.byteOffset+t),r=Vg(i);if(!e(r))return;r.type==="master"&&Pi(r.value,e),t=r.value.byteOffset-a.byteOffset+r.valueSize}},_g=a=>{if(a.getUint32(0)!==440786851)return!1;let e,t,i,r=Vg(a);return Pi(r.value,({tag:s,type:n,value:u})=>(s===17143?e=St(u,n):s===17026?t=St(u,n):s===17029&&(i=St(u,n)),!0)),(e===void 0||e<=1)&&t!==void 0&&t==="webm"&&(i===void 0||i<=2)};var Og=[357149030,290298740,374648427,174,224,30320,30321,30322,272869232,524531317,475249515,423732329,307544935],jk=[231,22612,22743,167,171,163,160,175],Qk=a=>{let e,t,i,r,s=!1,n=!1,u=!1,o,l,p=!1,d=0;return Pi(a,({tag:c,type:h,value:m,valueSize:b})=>{if(c===21419){let S=St(m,h);l=Ba(S)}else c!==21420&&(l=void 0);return c===408125543?(e=m.byteOffset,t=m.byteOffset+b):c===357149030?s=!0:c===290298740?n=!0:c===2807729?i=St(m,h):c===17545?r=St(m,h):c===21420&&l===475249515?o=St(m,h):c===374648427?Pi(m,({tag:S,type:v,value:I})=>S===30321?(p=St(I,v)===1,!1):!0):s&&n&&(0,Va.default)(Og,c)&&(u=!0),!u}),(0,Ut.assertNonNullable)(e,"Failed to parse webm Segment start"),(0,Ut.assertNonNullable)(t,"Failed to parse webm Segment end"),(0,Ut.assertNonNullable)(r,"Failed to parse webm Segment duration"),i=i??1e6,{segmentStart:Math.round(e/1e9*i*1e3),segmentEnd:Math.round(t/1e9*i*1e3),timeScale:i,segmentDuration:Math.round(r/1e9*i*1e3),cuesSeekPosition:o,is3dVideo:p,stereoMode:d,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}}},Wk=a=>{if((0,Ut.isNullable)(a.cuesSeekPosition))return;let e=a.segmentStart+a.cuesSeekPosition,t=1024*1024;return{from:e,to:e+t}},Gk=(a,e)=>{let t=!1,i=!1,r=u=>(0,Ut.isNonNullable)(u.time)&&(0,Ut.isNonNullable)(u.position),s=[],n;return Pi(a,({tag:u,type:o,value:l})=>{switch(u){case 475249515:t=!0;break;case 187:n&&r(n)&&s.push(n),n={};break;case 179:n&&(n.time=St(l,o));break;case 183:break;case 241:n&&(n.position=St(l,o));break;default:t&&(0,Va.default)(Og,u)&&(i=!0)}return!(t&&i)}),n&&r(n)&&s.push(n),s.map((u,o)=>{let{time:l,position:p}=u,d=s[o+1];return{status:"none",time:{from:l,to:d?d.time:e.segmentDuration},byte:{from:e.segmentStart+p,to:d?e.segmentStart+d.position-1:e.segmentEnd-1}}})},zk=a=>{let e=0,t=!1;try{Pi(a,i=>i.tag===524531317?i.tagSize<=a.byteLength?(e=i.tagSize,!1):(e+=i.tagHeaderSize,!0):(0,Va.default)(jk,i.tag)?(e+i.tagSize<=a.byteLength&&(e+=i.tagSize,t||=(0,Va.default)([163,160,175],i.tag)),!0):!1)}catch{}return e>0&&e<=a.byteLength&&t?new DataView(a.buffer,a.byteOffset,e):null},Fg={validateData:_g,parseInit:Qk,getIndexRange:Wk,parseSegments:Gk,parseFeedableSegmentChunk:zk};var Mt=a=>{let e=/^(.+)\/([^;]+)(?:;.*)?$/.exec(a);if(e){let[,t,i]=e;if(t==="audio"||t==="video")switch(i){case"webm":return Fg;case"mp4":return Dg}}throw new ReferenceError(`Unsupported mime type ${a}`)};var Dt=a=>a instanceof DOMException&&(a.name==="AbortError"||a.code===20);var xl=Q(uS(),1),RS=Q(Gi(),1),LS=Q(xS(),1),$S=Q(gt(),1),wl=Q(gi(),1);var wS=Q(qe(),1),El=a=>{let e=a.split("."),[t,...i]=e;if(!t)return!1;switch(t){case"av01":{let[r,s,n]=i;return!!(n&&parseInt(n,10)>8)}case"vp09":{let[r,s,n]=i;return!!(r&&parseInt(r,10)>=2&&n&&parseInt(n,10)>8)}case"avc1":{let r=i[0];if(!r||r.length!==6)return!1;let[s,n]=r.toUpperCase(),u=s+n;return(0,wS.default)(["6E","7A","F4"],u)}}return!1};var _a=require("@vkontakte/videoplayer-shared");var AS=a=>{if(a.includes("/")){let e=a.split("/");return parseInt(e[0])/parseInt(e[1])}else return parseFloat(a)};var PS=a=>{try{let e=GR(),t=a.match(e),{groups:i}=t??{};if(i){let r={};if(i.extensions){let u=i.extensions.toLowerCase().match(/(?:[0-9a-wy-z](?:-[a-z0-9]{2,8})+)/g);Array.from(u||[]).forEach(o=>{r[o[0]]=o.slice(2)})}let s=i.variants?.split(/-/).filter(u=>u!==""),n={extlang:i.extlang,langtag:i.langtag,language:i.language,privateuse:i.privateuse||i.privateuse2,region:i.region,script:i.script,extensions:r,variants:s};return Object.keys(n).forEach(u=>{let o=n[u];(typeof o>"u"||o==="")&&delete n[u]}),n}return null}catch{return null}};function GR(){let a="(?<extlang>(?:[a-z]{3}(?:-[a-z]{3}){0,2}))",e="x(?:-[a-z0-9]{1,8})+",p=`^(?:(?<langtag>${`
|
|
117
|
+
`}),I};var $e=a=>new URL(a).hostname;var Y=require("@vkontakte/videoplayer-shared");var Db=Q(gt(),1);var Rb=Q(qe(),1),kb=a=>{if(a instanceof DOMException&&(0,Rb.default)(["Failed to load because no supported source was found.","The element has no supported sources."],a.message))throw a;return!(a instanceof DOMException&&(a.code===20||a.name==="AbortError"))},We=async(a,e)=>{let t=a.muted;try{await a.play()}catch(i){if(!kb(i))return!1;if(e&&e(),t)return console.warn(i),!1;a.muted=!0;try{await a.play()}catch(r){return kb(r)&&(a.muted=!1,console.warn(r)),!1}}return!0};var et=require("@vkontakte/videoplayer-shared");var Lb=Q(gi(),1),Lt=require("@vkontakte/videoplayer-shared");function Pe(){return(0,Lt.now)()}function nl(a){return Pe()-a}function ol(a){let e=a.split("/"),t=e.slice(0,e.length-1).join("/"),i=/^([a-z]+:)?\/\//i,r=n=>i.test(n);return{resolve:(n,u,o=!1)=>{r(n)||(n.startsWith("/")||(n="/"+n),n=t+n);let l=n.indexOf("?")>-1?"&":"?";return o&&(n+=l+"lowLat=1",l="&"),u&&(n+=l+"_rnd="+Math.floor(999999999*Math.random())),n}}}function $b(a,e,t){let i=(...r)=>{t.apply(null,r),a.removeEventListener(e,i)};a.addEventListener(e,i)}function or(a,e,t,i){let r=window.XMLHttpRequest,s,n,u,o=!1,l=0,p,d,c=!1,h="arraybuffer",m=7e3,b=2e3,S=()=>{if(o)return;(0,Lt.assertNonNullable)(p);let F=nl(p),x;if(F<b){x=b-F,setTimeout(S,x);return}b*=2,b>m&&(b=m),n&&n.abort(),n=new r,V()},v=F=>(s=F,ee),I=F=>(d=F,ee),k=()=>(h="json",ee),w=()=>{if(!o){if(--l>=0){S(),i&&i();return}o=!0,d&&d(),t&&t()}},C=F=>(c=F,ee),V=()=>{p=Pe(),n=new r,n.open("get",a);let F=0,x,R=0,oe=()=>((0,Lt.assertNonNullable)(p),Math.max(p,Math.max(x||0,R||0)));if(s&&n.addEventListener("progress",N=>{let re=Pe();s.updateChunk&&N.loaded>F&&(s.updateChunk(oe(),N.loaded-F),F=N.loaded,x=re)}),u&&(n.timeout=u,n.addEventListener("timeout",()=>w())),n.addEventListener("load",()=>{if(o)return;(0,Lt.assertNonNullable)(n);let N=n.status;if(N>=200&&N<300){let{response:re,responseType:le}=n,ge=re?.byteLength;if(typeof ge=="number"&&s){let Ee=ge-F;Ee&&s.updateChunk&&s.updateChunk(oe(),Ee)}le==="json"&&(!re||!(0,Lb.default)(re).length)?w():(d&&d(),e(re))}else w()}),n.addEventListener("error",()=>{w()}),c){let N=()=>{(0,Lt.assertNonNullable)(n),n.readyState===XMLHttpRequest.HEADERS_RECEIVED&&(R=Pe(),n.removeEventListener("readystatechange",N))};n.addEventListener("readystatechange",N)}return n.responseType=h,n.send(),ee},ee={withBitrateReporting:v,withParallel:C,withJSONResponse:k,withRetryCount:F=>(l=F,ee),withRetryInterval:(F,x)=>((0,Lt.isNonNullable)(F)&&(b=F),(0,Lt.isNonNullable)(x)&&(m=x),ee),withTimeout:F=>(u=F,ee),withFinally:I,send:V,abort:()=>{n&&(n.abort(),n=void 0),o=!0,d&&d()}};return ee}var ra=class{constructor(e){this.intervals=[];this.currentRate=0;this.logger=e}_updateRate(e){let t=.2;this.currentRate&&(e<this.currentRate*.1?t=.8:e<this.currentRate*.5?t=.5:e<this.currentRate*.7&&(t=.3)),e=Math.max(1,Math.min(e,100*1024*1024)),this.currentRate=this.currentRate?this.currentRate*(1-t)+e*t:e}_createInterval(e,t,i){return{start:e,end:t,bytes:i}}_doMergeIntervals(e,t){e.start=Math.min(t.start,e.start),e.end=Math.max(t.end,e.end),e.bytes+=t.bytes}_mergeIntervals(e,t){return e.start<=t.end&&t.start<=e.end?(this._doMergeIntervals(e,t),!0):!1}_flushIntervals(){if(!this.intervals.length)return!1;let e=this.intervals[0].start,t=this.intervals[this.intervals.length-1].end-500;if(t-e>2e3){let i=0,r=0;for(;this.intervals.length>0;){let s=this.intervals[0];if(s.end<=t)i+=s.end-s.start,r+=s.bytes,this.intervals.splice(0,1);else{if(s.start>=t)break;{let n=t-s.start,u=s.end-s.start;i+=n;let o=s.bytes*n/u;r+=o,s.start=t,s.bytes-=o}}}if(r>0&&i>0){let s=r*8/(i/1e3);return this._updateRate(s),this.logger(`rate updated, new=${Math.round(s/1024)}K; average=${Math.round(this.currentRate/1024)}K bytes/ms=${Math.round(r)}/${Math.round(i)} interval=${Math.round(t-e)}`),!0}}return!1}_joinIntervals(){let e;do{e=!1;for(let t=0;t<this.intervals.length-1;++t)this._mergeIntervals(this.intervals[t],this.intervals[t+1])&&(this.intervals.splice(t+1,1),e=!0)}while(e)}addInterval(e,t,i){return this.intervals.push(this._createInterval(e,t,i)),this._joinIntervals(),this.intervals.length>100&&(this.logger(`too many intervals (${this.intervals.length}); will merge`,{type:"warn"}),this._doMergeIntervals(this.intervals[1],this.intervals[0]),this.intervals.splice(0,1)),this._flushIntervals()}getBitRate(){return this.currentRate}};var Mb=Q(gi(),1);var aa=class{constructor(e,t,i,r,s){this.pendingQueue=[];this.activeRequests={};this.completeRequests={};this.averageSegmentDuration=2e3;this.lastPrefetchStart=0;this.throttleTimeout=null;this.RETRY_COUNT=e,this.TIMEOUT=t,this.BITRATE_ESTIMATOR=i,this.MAX_PARALLEL_REQUESTS=r,this.logger=s}limitCompleteCount(){let e;for(;(e=Object.keys(this.completeRequests)).length>this._getParallelRequestCount()+2;){let t=e[Math.floor(Math.random()*e.length)];this.logger(`Dropping completed request for url ${t}`,{type:"warn"}),delete this.completeRequests[t]}}_sendRequest(e,t){let i=Pe(),r=o=>{delete this.activeRequests[t],this.limitCompleteCount(),this.completeRequests[t]=e,this._sendPending(),e._error=1,e._errorMsg=o,e._errorCB?e._errorCB(o):(this.limitCompleteCount(),this.completeRequests[t]=e)},s=o=>{e._complete=1,e._responseData=o,e._downloadTime=Pe()-i,delete this.activeRequests[t],this._sendPending(),e._cb?e._cb(o,e._downloadTime):(this.limitCompleteCount(),this.completeRequests[t]=e)},n=()=>{e._finallyCB&&e._finallyCB()},u=()=>{e._retry=1,e._retryCB&&e._retryCB()};e._request=or(t,s,()=>r("error"),u),e._request.withRetryCount(this.RETRY_COUNT).withTimeout(this.TIMEOUT).withBitrateReporting(this.BITRATE_ESTIMATOR).withParallel(this._getParallelRequestCount()>1).withFinally(n),this.activeRequests[t]=e,e._request.send(),this.lastPrefetchStart=Pe()}_getParallelRequestCount(){return Math.min(this.MAX_PARALLEL_REQUESTS,this.averageSegmentDuration<3e3?3:2)}_getPrefetchDelay(){return Math.max(100,Math.min(5e3,this.averageSegmentDuration/3))}_canSendPending(){let e=this._getParallelRequestCount(),t=Pe();if(Object.keys(this.activeRequests).length>=e)return!1;let i=this._getPrefetchDelay()-(t-this.lastPrefetchStart);return this.throttleTimeout&&clearTimeout(this.throttleTimeout),i>0?(this.throttleTimeout=window.setTimeout(()=>this._sendPending(),i),!1):!0}_sendPending(){for(;this._canSendPending();){let e=this.pendingQueue.pop();if(e){if(this.activeRequests[e]||this.completeRequests[e])continue;this.logger(`Submitting pending request url=${e}`),this._sendRequest({},e)}else return}}_removeFromActive(e){delete this.completeRequests[e],delete this.activeRequests[e]}abortAll(){(0,Mb.default)(this.activeRequests).forEach(e=>{e&&e._request&&e._request.abort()}),this.activeRequests={},this.pendingQueue=[],this.completeRequests={}}requestData(e,t,i,r){let s={};return s.send=()=>{let n=this.activeRequests[e]||this.completeRequests[e];if(n)n._cb=t,n._errorCB=i,n._retryCB=r,n._finallyCB=s._finallyCB,n._error||n._complete?(this._removeFromActive(e),setTimeout(()=>{n._complete?(this.logger(`Requested url already prefetched, url=${e}`),t(n._responseData,n._downloadTime)):(this.logger(`Requested url already prefetched with error, url=${e}`),i(n._errorMsg)),s._finallyCB&&s._finallyCB()},0)):this.logger(`Attached to active request, url=${e}`);else{let u=this.pendingQueue.indexOf(e);u!==-1&&this.pendingQueue.splice(u,1),this.logger(`Request not prefetched, starting new request, url=${e}${u===-1?"":"; removed pending"}`),this._sendRequest(s,e)}},s._cb=t,s._errorCB=i,s._retryCB=r,s.abort=function(){s.request&&s.request.abort()},s.withFinally=n=>(s._finallyCB=n,s),s}prefetch(e){this.activeRequests[e]||this.completeRequests[e]?this.logger(`Request already active for url=${e}`):(this.logger(`Added to pending queue; url=${e}`),this.pendingQueue.unshift(e),this._sendPending())}optimizeForSegDuration(e){this.averageSegmentDuration=e}};var Cb=require("@vkontakte/videoplayer-shared");var ln=1e4,ul=3;var OP=6e4,FP=10,NP=1,qP=500,sa=class{constructor(e){this.paused=!1;this.autoQuality=!0;this.autoQualityLimits=void 0;this.buffering=!0;this.destroyed=!1;this.videoPlayStarted=!1;this.lowLatency=!1;this.bitrate=0;this.manifest=[];this.sourceBuffer=0;this.bufferStates=[];this.sourceJitter=-1;this.waitingForFirstBufferAfterSrcChange=!1;this.params=e,this.soundProhibitedEvent$=new Cb.Subject,this.chunkRateEstimator=new ra(this.params.logger),this._initVideo()}attachSource(e){this.manifestUrl=e,this.urlResolver=ol(e),this.bitrateSwitcher=this._initBitrateSwitcher(),this._initManifest()}setAutoQualityEnabled(e){this.autoQuality=e}setAutoQualityLimits(e){this.autoQualityLimits=e}switchByName(e){let t;for(let i=0;i<this.manifest.length;++i)if(t=this.manifest[i],t.name===e){this._switchToQuality(t);return}}catchUp(){if(this.rep&&this.rep.stop(),this.currentManifestEntry){let e=this.params.playbackState.getState();this.paused=e==="paused",this._initPlayerWith(this.currentManifestEntry),this._notifyBuffering(!0)}}stop(){this.params.videoElement.pause(),this.rep&&(this.rep.stop(),this.rep=null)}pause(){this.paused=!0,this.params.videoElement.pause(),this.videoPlayStarted=!1,this._notifyBuffering(!1)}play(){this.paused=!1;let e=this.lowLatency&&this._getBufferSizeSec()>this.sourceJitter+5;this.rep&&!e?(this.bufferStates=[],this.videoPlayStarted=!1,this.shouldPlay()?this._playVideoElement():this._notifyBuffering(!0)):this.catchUp()}startPlay(e,t){this.autoQuality=t,this._initPlayerWith(e)}destroy(){this.destroyed=!0,this.rep&&(this.rep.stop(),this.rep=null),this.manifestRequest&&this.manifestRequest.abort(),this.manifestRefetchTimer&&(clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=void 0)}reinit(e){this.manifestUrl=e,this.urlResolver=ol(e),this.catchUp()}_handleNetworkError(){this.params.logger("Fatal network error"),this.params.playerCallback({name:"error",type:"network"})}_retryCallback(){this.params.playerCallback({name:"retry"})}_getBufferSizeSec(){let e=this.params.videoElement,t=0,i=e.buffered.length;return i!==0&&(t=e.buffered.end(i-1)-Math.max(e.currentTime,e.buffered.start(0))),t}_notifyBuffering(e){this.destroyed||(this.params.logger(`buffering: ${e}`),this.params.playerCallback({name:"buffering",isBuffering:e}),this.buffering=e)}_initVideo(){let{videoElement:e,logger:t}=this.params;e.addEventListener("error",()=>{!!e.error&&!this.destroyed&&(t(`Video element error: ${e.error?.code}, details: ${e.error?.message}`),this.params.playerCallback({name:"error",type:"media"}))}),e.addEventListener("timeupdate",()=>{let i=this._getBufferSizeSec();!this.paused&&i<.3?this.buffering||(this.buffering=!0,window.setTimeout(()=>{!this.paused&&this.buffering&&this._notifyBuffering(!0)},(i+.1)*1e3)):this.buffering&&this.videoPlayStarted&&this._notifyBuffering(!1)}),e.addEventListener("playing",()=>{t("playing")}),e.addEventListener("stalled",()=>this._fixupStall()),e.addEventListener("waiting",()=>this._fixupStall())}_fixupStall(){let{logger:e,videoElement:t}=this.params,i=t.buffered.length,r;i!==0&&!this.waitingForFirstBufferAfterSrcChange&&(r=t.buffered.start(i-1),t.currentTime<r&&(e("Fixup stall"),t.currentTime=r))}_selectQuality(e){let{videoElement:t}=this.params,i,r,s,n=t&&1.62*(W.display.pixelRatio||1)*t.offsetHeight||520;for(let u=0;u<this.manifest.length;++u){s=this.manifest[u];let{max:o,min:l}=this.autoQualityLimits||{};!Tb({limits:this.autoQualityLimits,highestAvailableHeight:this.manifest[0].video.height,lowestAvailableHeight:(0,Db.default)(this.manifest,-1).video.height})&&(o&&s.video.height>o||l&&s.video.height<l)||(s.bitrate<e&&n>Math.min(s.video.height,s.video.width)?(!r||s.bitrate>r.bitrate)&&(r=s):(!i||i.bitrate>s.bitrate)&&(i=s))}return r||i}shouldPlay(){if(this.paused)return!1;let t=this._getBufferSizeSec()-Math.max(1,this.sourceJitter);return t>3||(0,et.isNonNullable)(this.downloadRate)&&(this.downloadRate>1.5&&t>2||this.downloadRate>2&&t>1)}_setVideoSrc(e,t){let{logger:i,videoElement:r,playerCallback:s}=this.params;this.mediaSource=new window.MediaSource,i("setting video src"),r.src=URL.createObjectURL(this.mediaSource),this.mediaSource.addEventListener("sourceopen",()=>{this.mediaSource&&(this.sourceBuffer=this.mediaSource.addSourceBuffer(e.codecs),this.bufferStates=[],t())}),this.videoPlayStarted=!1,r.addEventListener("canplay",()=>{this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement())});let n=()=>{$b(r,"progress",()=>{r.buffered.length?(r.currentTime=r.buffered.start(0),this.waitingForFirstBufferAfterSrcChange=!1,s({name:"playing"})):n()})};this.waitingForFirstBufferAfterSrcChange=!0,n()}_initPlayerWith(e){this.bitrate=0,this.rep=0,this.sourceBuffer=0,this.bufferStates=[],this.filesFetcher&&this.filesFetcher.abortAll(),this.filesFetcher=new aa(ul,ln,this.bitrateSwitcher,this.params.config.maxParallelRequests,this.params.logger),this._setVideoSrc(e,()=>this._switchToQuality(e))}_representation(e){let{logger:t,videoElement:i,playerCallback:r}=this.params,s=!1,n=null,u=null,o=null,l=null,p=!1,d=()=>{let w=s&&(!p||p===this.rep);return w||t("Not running!"),w},c=(w,C,V)=>{o&&o.abort(),o=or(this.urlResolver.resolve(w,!1),C,V,()=>this._retryCallback()).withTimeout(ln).withBitrateReporting(this.bitrateSwitcher).withRetryCount(ul).withFinally(()=>{o=null}).send()},h=(w,C,V)=>{(0,et.assertNonNullable)(this.filesFetcher),u?.abort(),u=this.filesFetcher.requestData(this.urlResolver.resolve(w,!1),C,V,()=>this._retryCallback()).withFinally(()=>{u=null}).send()},m=w=>{let C=i.playbackRate;i.playbackRate!==w&&(t(`Playback rate switch: ${C}=>${w}`),i.playbackRate=w)},b=w=>{this.lowLatency=w,t(`lowLatency changed to ${w}`),S()},S=()=>{if(!this.lowLatency&&!this.params.config.isLiveCatchUpMode)m(1);else{let w=this._getBufferSizeSec();if(this.bufferStates.length<5){m(1);return}let V=Pe()-1e4,_=0;for(let j=0;j<this.bufferStates.length;j++){let L=this.bufferStates[j];w=Math.min(w,L.buf),L.ts<V&&_++}this.bufferStates.splice(0,_),t(`update playback rate; minBuffer=${w} drop=${_} jitter=${this.sourceJitter}`);let M=w-NP;this.sourceJitter>=0?M-=this.sourceJitter/2:this.sourceJitter-=1,M>3?m(1.15):M>1?m(1.1):M>.3?m(1.05):m(1)}},v=w=>{let C,V=()=>C&&C.start?C.start.length:0,_=N=>C.start[N]/1e3,M=N=>C.dur[N]/1e3,j=N=>C.fragIndex+N,L=(N,re)=>({chunkIdx:j(N),startTS:_(N),dur:M(N),discontinuity:re}),ee=()=>{let N=0;if(C&&C.dur){let re=this.lowLatency?this.params.config.lowLatencyMinBuffer:this.params.config.minBuffer,le=this.lowLatency?this.params.config.lowLatencyMinBufferSegments:this.params.config.minBufferSegments,ge=re;this.sourceJitter>1&&(ge+=this.sourceJitter-1);let Ee=C.dur.length-1;for(;Ee>=0&&(ge-=C.dur[Ee],!(ge<=0));--Ee);N=Math.min(Ee,C.dur.length-1-le),N=Math.max(N,0)}return L(N,!0)},F=N=>{let re=V();if(!(re<=0)){if((0,et.isNonNullable)(N)){for(let le=0;le<re;le++)if(_(le)>N)return L(le)}return ee()}},x=N=>{let re=V(),le=N?N.chunkIdx+1:0,ge=le-C.fragIndex;if(!(re<=0)){if(!N||ge<0||ge-re>FP)return t(`Resync: offset=${ge} bChunks=${re} chunk=`+JSON.stringify(N)),ee();if(!(ge>=re))return L(le-C.fragIndex,!1)}},R=(N,re,le)=>{l&&l.abort(),l=or(this.urlResolver.resolve(N,!0,this.lowLatency),re,le,()=>this._retryCallback()).withTimeout(ln).withRetryCount(ul).withFinally(()=>{l=null}).withJSONResponse().send()};return{seek:(N,re)=>{R(w,le=>{if(!d())return;C=le;let ge=!!C.lowLatency;ge!==this.lowLatency&&b(ge);let Ee=0;for(let ke=0;ke<C.dur.length;++ke)Ee+=C.dur[ke];Ee>0&&((0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.optimizeForSegDuration(Ee/C.dur.length)),r({name:"index",zeroTime:C.zeroTime,shiftDuration:C.shiftDuration}),this.sourceJitter=C.hasOwnProperty("jitter")?Math.min(10,Math.max(.01,C.jitter/1e3)):1,N(F(re))},()=>this._handleNetworkError())},nextChunk:x}},I=()=>{s=!1,u&&u.abort(),o&&o.abort(),l&&l.abort(),(0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.abortAll()};return p={start:w=>{let{videoElement:C,logger:V}=this.params,_=v(e.jidxUrl),M,j,L,ee,F=0,x,R,oe,N=()=>{x&&(clearTimeout(x),x=void 0);let te=Math.max(qP,1e3*(this._getBufferSizeSec()-this.sourceJitter-5)),Fe=F+te,Ce=Pe(),xe=Math.min(1e4,Fe-Ce);F=Ce;let at=()=>{l||d()&&_.seek(()=>{d()&&(F=Pe(),re(),N())})};xe>0?x=window.setTimeout(()=>{this.paused?N():at()},xe):at()},re=()=>{let te;for(;te=_.nextChunk(ee);)ee=te,Re(te);let Fe=_.nextChunk(L);if(Fe){if(L&&Fe.discontinuity){V("Detected discontinuity; restarting playback"),this.paused?N():(I(),this._initPlayerWith(e));return}ke(Fe)}else N()},le=(te,Fe)=>{if(!d()||!this.sourceBuffer)return;let Ce,xe,at,Gt=yt=>{window.setTimeout(()=>{d()&&le(te,Fe)},yt)};if(this.sourceBuffer.updating)V("Source buffer is updating; delaying appendBuffer"),Gt(100);else{let yt=Pe(),Ye=C.currentTime;!this.paused&&C.buffered.length>1&&R===Ye&&yt-oe>500&&(V("Stall suspected; trying to fix"),this._fixupStall()),R!==Ye&&(R=Ye,oe=yt);let zt=this._getBufferSizeSec();if(zt>30)V(`Buffered ${zt} seconds; delaying appendBuffer`),Gt(2e3);else try{this.sourceBuffer.appendBuffer(te),this.videoPlayStarted?(this.bufferStates.push({ts:yt,buf:zt}),S(),this.bufferStates.length>200&&this.bufferStates.shift()):this.shouldPlay()&&(this.videoPlayStarted=!0,this._playVideoElement()),Fe&&Fe()}catch(Tt){if(Tt.name==="QuotaExceededError")V("QuotaExceededError; delaying appendBuffer"),at=this.sourceBuffer.buffered.length,at!==0&&(Ce=this.sourceBuffer.buffered.start(0),xe=Ye,xe-Ce>4&&this.sourceBuffer.remove(Ce,xe-3)),Gt(1e3);else throw Tt}}},ge=()=>{j&&M&&(V([`Appending chunk, sz=${j.byteLength}:`,JSON.stringify(L)]),le(j,function(){j=null,re()}))},Ee=te=>e.fragUrlTemplate.replace("%%id%%",te.chunkIdx),ke=te=>{d()&&h(Ee(te),(Fe,Ce)=>{if(d()){if(Ce/=1e3,j=Fe,L=te,n=te.startTS,Ce){let xe=Math.min(10,te.dur/Ce);this.downloadRate=this.downloadRate?(1-.3)*this.downloadRate+.3*xe:xe}ge()}},()=>this._handleNetworkError())},Re=te=>{d()&&((0,et.assertNonNullable)(this.filesFetcher),this.filesFetcher.prefetch(this.urlResolver.resolve(Ee(te),!1)))},ae=te=>{d()&&(e.cachedHeader=te,le(te,()=>{M=!0,ge()}))};s=!0,_.seek(te=>{if(d()){if(F=Pe(),!te){N();return}ee=te,!(0,et.isNullable)(w)||te.startTS>w?ke(te):(L=te,re())}},w),e.cachedHeader?ae(e.cachedHeader):c(e.headerUrl,ae,()=>this._handleNetworkError())},stop:I,getTimestampSec:()=>n},p}_switchToQuality(e){let{logger:t,playerCallback:i}=this.params,r;e.bitrate!==this.bitrate&&(this.rep&&(r=this.rep.getTimestampSec(),(0,et.isNonNullable)(r)&&(r+=.1),this.rep.stop()),this.currentManifestEntry=e,this.rep=this._representation(e),t(`switch to quality: codecs=${e.codecs}; headerUrl=${e.headerUrl}; bitrate=${e.bitrate}`),this.bitrate=e.bitrate,(0,et.assertNonNullable)(this.bitrateSwitcher),this.bitrateSwitcher.notifySwitch(this.bitrate),this.rep.start(r),i({name:"qualitySwitch",quality:e}))}_qualityAvailable(e){return(0,et.isNonNullable)(this.manifest.find(t=>t.name===e))}_initBitrateSwitcher(){let{logger:e,playerCallback:t}=this.params,i=d=>{if(!this.autoQuality)return;let c,h,m;if(this.currentManifestEntry&&this._qualityAvailable(this.currentManifestEntry.name)&&d<this.bitrate&&(h=this._getBufferSizeSec(),m=d/this.bitrate,h>10&&m>.8||h>15&&m>.5||h>20&&m>.3)){e(`Not switching: buffer=${Math.floor(h)}; bitrate=${this.bitrate}; newRate=${Math.floor(d)}`);return}c=this._selectQuality(d),c?this._switchToQuality(c):e(`Could not find quality by bitrate ${d}`)},s={updateChunk:(c,h)=>{let m=Pe();if(this.chunkRateEstimator.addInterval(c,m,h)){let S=this.chunkRateEstimator.getBitRate();return t({name:"bandwidth",size:h,duration:m-c,speed:S}),!0}},get:()=>{let c=this.chunkRateEstimator.getBitRate();return c?c*.85:0}},n=-1/0,u,o=!0,l=()=>{let d=s.get();if(d&&u&&this.autoQuality){if(o&&d>u&&nl(n)<3e4)return;i(d)}o=this.autoQuality};return{updateChunk:(d,c)=>{let h=s.updateChunk(d,c);return h&&l(),h},notifySwitch:d=>{let c=Pe();d<u&&(n=c),u=d}}}_fetchManifest(e,t,i){this.manifestRequest=or(this.urlResolver.resolve(e,!0),t,i,()=>this._retryCallback()).withJSONResponse().withTimeout(ln).withRetryCount(this.params.config.manifestRetryMaxCount).withRetryInterval(this.params.config.manifestRetryInterval,this.params.config.manifestRetryMaxInterval).send().withFinally(()=>{this.manifestRequest=void 0})}_playVideoElement(){let{videoElement:e}=this.params;We(e,()=>{this.soundProhibitedEvent$.next()}).then(t=>{t||(this.params.liveOffset.pause(),this.params.videoState.setState("paused"))})}_handleManifestUpdate(e){let{logger:t,playerCallback:i,videoElement:r}=this.params,s=n=>{let u=[];return n?.length?(n.forEach((o,l)=>{o.video&&r.canPlayType(o.codecs).replace(/no/,"")&&window.MediaSource?.isTypeSupported?.(o.codecs)&&(o.index=l,u.push(o))}),u.sort(function(o,l){return o.video&&l.video?l.video.height-o.video.height:l.bitrate-o.bitrate}),u):(i({name:"error",type:"empty_manifest"}),[])};this.manifest=s(e),t(`Valid manifest entries: ${this.manifest.length}/${e.length}`),i({name:"manifest",manifest:this.manifest})}_refetchManifest(e){this.destroyed||(this.manifestRefetchTimer&&clearTimeout(this.manifestRefetchTimer),this.manifestRefetchTimer=window.setTimeout(()=>{this._fetchManifest(e,t=>{this.destroyed||(this._handleManifestUpdate(t),this._refetchManifest(e))},()=>this._refetchManifest(e))},OP))}_initManifest(){this._fetchManifest(this.manifestUrl,e=>{this.destroyed||(this._handleManifestUpdate(e),this._refetchManifest(this.manifestUrl))},()=>this._handleNetworkError())}};var Bb=Q(Gi(),1),be=require("@vkontakte/videoplayer-shared"),ll=class{constructor(){this.onDroopedVideoFramesLimit$=new be.Subject;this.subscription=new be.Subscription;this.playing=!1;this.tracks=[];this.forceChecker$=new be.Subject;this.isForceCheckCounter=0;this.prevTotalVideoFrames=0;this.prevDroppedVideoFrames=0;this.limitCounts={};this.handleChangeVideoQuality=()=>{let e=this.tracks.find(({size:t})=>t?.height===this.video.videoHeight&&t?.width===this.video.videoWidth);e&&!(0,be.isInvariantQuality)(e.quality)&&this.onChangeQuality(e.quality)};this.checkDroppedFrames=()=>{let{totalVideoFrames:e,droppedVideoFrames:t}=this.video.getVideoPlaybackQuality(),i=e-this.prevTotalVideoFrames,r=t-this.prevDroppedVideoFrames,s=1-(i-r)/i;!isNaN(s)&&s>0&&this.log({message:`[dropped]. current dropped percent: ${s}, limit: ${this.droppedFramesChecker.percentLimit}`}),!isNaN(s)&&s>=this.droppedFramesChecker.percentLimit&&(0,be.isHigher)(this.currentQuality,this.droppedFramesChecker.minQualityBanLimit)&&(this.limitCounts[this.currentQuality]=(this.limitCounts[this.currentQuality]??0)+1,this.maxQualityLimit=this.getMaxQualityLimit(this.currentQuality),this.currentTimer&&window.clearTimeout(this.currentTimer),this.currentTimer=window.setTimeout(()=>this.maxQualityLimit=this.getMaxQualityLimit(),this.droppedFramesChecker.qualityUpWaitingTime),this.onDroopedVideoFramesLimitTrigger()),this.savePrevFrameCounts(e,t)}}connect(e){this.log=e.logger.createComponentLog("DroppedFramesManager"),this.video=e.video,this.isAuto=e.isAuto,this.tracks=e.tracks,this.droppedFramesChecker=e.droppedFramesChecker,this.subscription.add(e.playing$.subscribe(()=>this.playing=!0)),this.subscription.add(e.pause$.subscribe(()=>this.playing=!1)),this.isEnabled&&this.subscribe()}destroy(){this.currentTimer&&window.clearTimeout(this.currentTimer),this.subscription.unsubscribe()}get droppedVideoMaxQualityLimit(){return this.maxQualityLimit}subscribe(){this.subscription.add((0,be.fromEvent)(this.video,"resize").subscribe(this.handleChangeVideoQuality));let e=(0,be.interval)(this.droppedFramesChecker.checkTime).pipe((0,be.filter)(()=>this.playing),(0,be.filter)(()=>{let r=!!this.isForceCheckCounter;return r&&(this.isForceCheckCounter-=1),!r})),t=this.forceChecker$.pipe((0,be.debounce)(this.droppedFramesChecker.checkTime)),i=(0,be.merge)(e,t);this.subscription.add(i.subscribe(this.checkDroppedFrames))}onChangeQuality(e){this.currentQuality=e;let{totalVideoFrames:t,droppedVideoFrames:i}=this.video.getVideoPlaybackQuality();this.savePrevFrameCounts(t,i),this.isForceCheckCounter=this.droppedFramesChecker.tickCountAfterQualityChange,this.forceChecker$.next()}onDroopedVideoFramesLimitTrigger(){this.isAuto.getState()&&(this.log({message:`[onDroopedVideoFramesLimit]. maxQualityLimit: ${this.maxQualityLimit}`}),this.onDroopedVideoFramesLimit$.next())}getMaxQualityLimit(e){let t=(0,Bb.default)(this.limitCounts).filter(([,i])=>i>=this.droppedFramesChecker.countLimit).sort(([i],[r])=>(0,be.isLower)(i,r)?-1:1)?.[0]?.[0];return e??t}get isEnabled(){return this.droppedFramesChecker.enabled&&this.isDroppedFramesCheckerSupport}get isDroppedFramesCheckerSupport(){return!!this.video&&typeof this.video.getVideoPlaybackQuality=="function"}savePrevFrameCounts(e,t){this.prevTotalVideoFrames=e,this.prevDroppedVideoFrames=t}},ur=ll;var cn=require("@vkontakte/videoplayer-shared"),Vb=require("@vkontakte/videoplayer-shared");var na=()=>!!window.documentPictureInPicture?.window||!!document.pictureInPictureElement;var UP=(a,e)=>new cn.Observable(t=>{if(!window.IntersectionObserver)return;let i={root:null},r=new IntersectionObserver((n,u)=>{n.forEach(o=>t.next(o.isIntersecting||na()))},{...i,...e});r.observe(a);let s=(0,Vb.fromEvent)(document,"visibilitychange").pipe((0,cn.map)(n=>!document.hidden||na())).subscribe(n=>t.next(n));return()=>{r.unobserve(a),s.unsubscribe()}}),ut=UP;var HP=["paused","playing","ready"],jP=["paused","playing","ready"],oa=class{constructor(e){this.subscription=new Y.Subscription;this.videoState=new Z("stopped");this.representations$=new Y.ValueSubject([]);this.droppedFramesManager=new ur;this.maxSeekBackTime$=new Y.ValueSubject(1/0);this.zeroTime$=new Y.ValueSubject(void 0);this.liveOffset=new Ei;this._dashCb=e=>{switch(e.name){case"buffering":{let t=e.isBuffering;this.params.output.isBuffering$.next(t);break}case"error":{this.params.output.error$.next({id:`DashLiveProviderInternal:${e.type}`,category:Y.ErrorCategory.WTF,message:"LiveDashPlayer reported error"});break}case"manifest":{let t=e.manifest,i=[];for(let r of t){let s=r.name??r.index.toString(10),n=ii(r.name)??(0,Y.videoSizeToQuality)(r.video),u=r.bitrate/1e3,o={...r.video};if(!n)continue;let l={id:s,quality:n,bitrate:u,size:o};i.push({track:l,representation:r})}this.representations$.next(i),this.params.output.availableVideoTracks$.next(i.map(({track:r})=>r)),this.videoState.getTransition()?.to==="manifest_ready"&&this.videoState.setState("manifest_ready");break}case"qualitySwitch":{let t=e.quality,i=this.representations$.getValue().find(({representation:r})=>r===t)?.track;this.params.output.hostname$.next(new URL(t.headerUrl,this.params.source.url).hostname),(0,Y.isNonNullable)(i)&&this.params.output.currentVideoTrack$.next(i);break}case"bandwidth":{let{size:t,duration:i}=e;this.params.dependencies.throughputEstimator.addRawSpeed(t,i);break}case"index":{this.maxSeekBackTime$.next(e.shiftDuration||0),this.zeroTime$.next(e.zeroTime);break}}};this.syncPlayback=()=>{let e=this.videoState.getState(),t=this.videoState.getTransition(),i=this.params.desiredState.playbackState.getState(),r=this.params.desiredState.playbackState.getTransition(),s=this.params.desiredState.seekState.getState();if(this.log({message:`[syncPlayback] videoState: ${e}; videoTransition: ${JSON.stringify(t)}; desiredPlaybackState: ${i}; seekState: ${JSON.stringify(s)};`}),i==="stopped"){e!=="stopped"&&(this.videoState.startTransitionTo("stopped"),this.dash.destroy(),this.video.removeAttribute("src"),this.video.load(),this.videoState.setState("stopped"));return}if(t)return;let n=this.params.desiredState.videoTrack.getTransition(),u=this.params.desiredState.autoVideoTrackSwitching.getTransition();if((0,cl.default)(jP,e)&&(n||u)){this.prepare();return}if(r?.to!=="paused"&&s.state==="requested"&&(0,cl.default)(HP,e)){this.seek(s.position-this.liveOffset.getTotalPausedTime());return}switch(e){case"stopped":this.videoState.startTransitionTo("manifest_ready"),this.dash.attachSource(ye(this.params.source.url));return;case"manifest_ready":this.videoState.startTransitionTo("ready"),this.prepare();break;case"ready":if(i==="paused")this.videoState.setState("paused");else if(i==="playing"){this.videoState.startTransitionTo("playing");let o=r?.from;o&&o==="ready"&&this.dash.catchUp(),this.dash.play()}return;case"playing":i==="paused"&&(this.videoState.startTransitionTo("paused"),this.liveOffset.pause(),this.dash.pause());return;case"paused":if(i==="playing")if(this.videoState.startTransitionTo("playing"),this.liveOffset.getTotalPausedTime()<this.params.config.maxPausedTime&&this.liveOffset.getTotalOffset()<this.maxSeekBackTime$.getValue())this.liveOffset.resume(),this.dash.play(),this.params.output.position$.next(-this.liveOffset.getTotalOffset()/1e3);else{let o=this.liveOffset.getTotalOffset();o>=this.maxSeekBackTime$.getValue()&&(o=0,this.liveOffset.resetTo(o)),this.liveOffset.resume(),this.params.output.position$.next(-o/1e3),this.dash.reinit(ye(this.params.source.url,o))}return;default:return(0,Y.assertNever)(e)}};this.textTracksManager=new ot(e.source.url),this.params=e,this.log=this.params.dependencies.logger.createComponentLog("DashLiveProvider");let t=r=>{e.output.error$.next({id:"DashLiveProvider",category:Y.ErrorCategory.WTF,message:"DashLiveProvider internal logic error",thrown:r})};this.subscription.add((0,Y.merge)(this.videoState.stateChangeStarted$.pipe((0,Y.map)(r=>({transition:r,type:"start"}))),this.videoState.stateChangeEnded$.pipe((0,Y.map)(r=>({transition:r,type:"end"})))).subscribe(({transition:r,type:s})=>{this.log({message:`[videoState change] ${s}: ${JSON.stringify(r)}`})})),this.video=Ue(e.container,e.tuning),this.params.output.element$.next(this.video),this.dash=this.createLiveDashPlayer(),this.subscription.add(this.dash.soundProhibitedEvent$.subscribe(this.params.output.soundProhibitedEvent$)),this.params.output.duration$.next(1/0),this.params.output.position$.next(0),this.params.output.isLive$.next(!0),this.params.output.canChangePlaybackSpeed$.next(!1),this.params.output.hostname$.next($e(this.params.source.url)),this.params.output.autoVideoTrackLimitingAvailable$.next(!0),this.params.output.availableVideoTracks$.next([]),this.params.output.availableAudioTracks$.next([]),this.params.output.isAudioAvailable$.next(!0),this.params.output.availableTextTracks$.next([]),this.params.desiredState.internalTextTracks.setState([]),this.textTracksManager.connect(this.video,this.params.desiredState,this.params.output);let i=Qe(this.video);this.subscription.add(()=>i.destroy()),this.subscription.add(this.representations$.pipe((0,Y.map)(r=>r.map(({track:s})=>s)),(0,Y.filter)(r=>!!r.length),(0,Y.once)()).subscribe(r=>this.droppedFramesManager.connect({logger:this.params.dependencies.logger,video:this.video,droppedFramesChecker:this.params.tuning.droppedFramesChecker,isAuto:this.params.desiredState.autoVideoTrackSwitching,playing$:i.playing$,pause$:i.pause$,tracks:r}))),this.subscription.add(i.canplay$.subscribe(()=>{this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready")},t)).add(i.pause$.subscribe(()=>{this.videoState.setState("paused")},t)).add(i.playing$.subscribe(()=>{this.params.desiredState.seekState.getState().state==="applying"&&this.params.output.seekedEvent$.next(),this.videoState.setState("playing")},t)).add(i.error$.subscribe(this.params.output.error$)).add(this.maxSeekBackTime$.pipe((0,Y.filterChanged)(),(0,Y.map)(r=>-r/1e3)).subscribe(this.params.output.duration$)).add((0,Y.combine)({zeroTime:this.zeroTime$.pipe((0,Y.filter)(Y.isNonNullable)),position:i.timeUpdate$}).subscribe(({zeroTime:r,position:s})=>this.params.output.liveTime$.next(r+s*1e3),t)).add(kt(this.video,this.params.desiredState.isLooped,t)).add(je(this.video,this.params.desiredState.volume,i.volumeState$,t)).add(i.volumeState$.subscribe(this.params.output.volume$,t)).add(nt(this.video,this.params.desiredState.playbackRate,i.playbackRateState$,t)).add(i.loadStart$.subscribe(this.params.output.firstBytesEvent$)).add(i.loadedMetadata$.subscribe(this.params.output.loadedMetadataEvent$)).add(i.playing$.subscribe(this.params.output.firstFrameEvent$)).add(i.canplay$.subscribe(this.params.output.canplay$)).add(i.inPiP$.subscribe(this.params.output.inPiP$)).add(i.inFullscreen$.subscribe(this.params.output.inFullscreen$)).add(ut(this.video).subscribe(this.params.output.elementVisible$)).add(this.params.desiredState.autoVideoTrackLimits.stateChangeStarted$.subscribe(({to:{max:r,min:s}})=>{this.dash.setAutoQualityLimits({max:r&&(0,Y.videoQualityToHeight)(r),min:s&&(0,Y.videoQualityToHeight)(s)}),this.params.output.autoVideoTrackLimits$.next({max:r,min:s})})).add(this.videoState.stateChangeEnded$.subscribe(r=>{switch(r.to){case"stopped":this.params.output.position$.next(0),this.params.output.duration$.next(1/0),this.params.desiredState.playbackState.setState("stopped");break;case"manifest_ready":case"ready":this.params.desiredState.playbackState.getTransition()?.to==="ready"&&this.params.desiredState.playbackState.setState("ready");break;case"paused":this.params.desiredState.playbackState.setState("paused");break;case"playing":this.params.desiredState.playbackState.setState("playing");break;default:return(0,Y.assertNever)(r.to)}},t)).add((0,Y.merge)(e.desiredState.playbackState.stateChangeStarted$,e.desiredState.seekState.stateChangeEnded$,e.desiredState.videoTrack.stateChangeStarted$,e.desiredState.autoVideoTrackSwitching.stateChangeStarted$,this.videoState.stateChangeEnded$,this.droppedFramesManager.onDroopedVideoFramesLimit$,(0,Y.observableFrom)(["init"])).pipe((0,Y.debounce)(0)).subscribe(this.syncPlayback,t))}destroy(){this.subscription.unsubscribe(),this.textTracksManager.destroy(),this.droppedFramesManager.destroy(),this.dash.destroy(),this.params.output.element$.next(void 0),He(this.video)}createLiveDashPlayer(){let e=new sa({videoElement:this.video,videoState:this.videoState,playbackState:this.params.desiredState.playbackState,liveOffset:this.liveOffset,config:{maxParallelRequests:this.params.config.maxParallelRequests,minBuffer:this.params.tuning.live.minBuffer,minBufferSegments:this.params.tuning.live.minBufferSegments,lowLatencyMinBuffer:this.params.tuning.live.lowLatencyMinBuffer,lowLatencyMinBufferSegments:this.params.tuning.live.lowLatencyMinBufferSegments,isLiveCatchUpMode:this.params.tuning.live.isLiveCatchUpMode,manifestRetryInterval:this.params.tuning.manifestRetryInterval,manifestRetryMaxInterval:this.params.tuning.manifestRetryMaxInterval,manifestRetryMaxCount:this.params.tuning.manifestRetryMaxCount},playerCallback:this._dashCb,logger:t=>{this.params.dependencies.logger.log({message:String(t),component:"LiveDashPlayer"})}});return e.pause(),e}prepare(){let e=this.representations$.getValue(),t=this.params.desiredState.videoTrack.getTransition()?.to??this.params.desiredState.videoTrack.getState(),i=this.params.desiredState.autoVideoTrackSwitching.getTransition()?.to??this.params.desiredState.autoVideoTrackSwitching.getState(),r=!i&&(0,Y.isNonNullable)(t)?t:Rt(e.map(({track:l})=>l),{container:this.video.getBoundingClientRect(),panelSize:this.params.panelSize,estimatedThroughput:this.params.dependencies.throughputEstimator.throughput$.getValue(),tuning:this.params.tuning.autoTrackSelection,limits:this.params.desiredState.autoVideoTrackLimits.getState(),droppedVideoMaxQualityLimit:this.droppedFramesManager.droppedVideoMaxQualityLimit,abrLogger:this.params.dependencies.abrLogger}),s=r?.id,n=this.params.desiredState.videoTrack.getTransition(),u=this.params.desiredState.videoTrack.getState()?.id,o=this.params.desiredState.autoVideoTrackSwitching.getTransition();if(r&&(n||s!==u)&&this.setVideoTrack(r),o&&this.setAutoQuality(i),n||o||s!==u){let l=e.find(({track:p})=>p.id===s)?.representation;(0,Y.assertNonNullable)(l,"Representations missing"),this.dash.startPlay(l,i)}}setVideoTrack(e){let t=this.representations$.getValue().find(({track:i})=>i.id===e.id)?.representation;(0,Y.assertNonNullable)(t,`No such representation ${e.id}`),this.dash.switchByName(t.name),this.params.desiredState.videoTrack.setState(e)}setAutoQuality(e){this.dash.setAutoQualityEnabled(e),this.params.desiredState.autoVideoTrackSwitching.setState(e)}seek(e){this.log({message:`[seek] position: ${e}`}),this.params.output.willSeekEvent$.next();let t=this.params.desiredState.playbackState.getState(),i=this.videoState.getState(),r=t==="paused"&&i==="paused",s=-e,n=s<=this.maxSeekBackTime$.getValue()?s:0;this.params.output.position$.next(e/1e3),this.dash.reinit(ye(this.params.source.url,n)),r&&this.dash.pause(),this.liveOffset.resetTo(n,r)}};var _b=oa;var Me=(a,e)=>{let t=0;for(let i=0;i<a.length;i++){let r=a.start(i)*1e3,s=a.end(i)*1e3;r<=e&&e<=s&&(t=s)}return Math.max(t-e,0)};var O=require("@vkontakte/videoplayer-shared");var{NativeAbortSignal:C0,NativeAbortController:B0}=function(a){return{NativeAbortSignal:a.AbortSignal,NativeAbortController:a.AbortController}}(typeof self<"u"?self:global);function Ob(a){let e;try{e=new Event("abort")}catch{typeof document<"u"?document.createEvent?(e=document.createEvent("Event"),e.initEvent("abort",!1,!1)):(e=document.createEventObject(),e.type="abort"):e={type:"abort",bubbles:!1,cancelable:!1}}return e.reason=a,e}function Fb(a){if(a===void 0)if(typeof document>"u")a=new Error("This operation was aborted"),a.name="AbortError";else try{a=new DOMException("signal is aborted without reason"),Object.defineProperty(a,"name",{value:"AbortError"})}catch{a=new Error("This operation was aborted"),a.name="AbortError"}return a}var dn=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:i})}removeEventListener(e,t){if(!(e in this.listeners))return;let i=this.listeners[e];for(let r=0,s=i.length;r<s;r++)if(i[r].callback===t){i.splice(r,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let r=0,s=i.length;r<s;r++){let n=i[r];try{n.callback.call(this,e)}catch(u){Promise.resolve().then(()=>{throw u})}n.options&&n.options.once&&this.removeEventListener(e.type,n.callback)}return!e.defaultPrevented}},lr=class extends dn{constructor(){super(),this.listeners||dn.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,e)),super.dispatchEvent(e)}throwIfAborted(){let{aborted:e,reason:t="Aborted"}=this;if(e)throw t}static timeout(e){let t=new wi;return setTimeout(()=>t.abort(new DOMException(`This signal is timeout in ${e}ms`,"TimeoutError")),e),t.signal}static any(e){let t=new wi;function i(){t.abort(this.reason),r()}function r(){for(let s of e)s.removeEventListener("abort",i)}for(let s of e)if(s.aborted){t.abort(s.reason);break}else s.addEventListener("abort",i);return t.signal}},wi=class{constructor(){Object.defineProperty(this,"signal",{value:new lr,writable:!0,configurable:!0})}abort(e){let t=Fb(e),i=Ob(t);this.signal.reason=t,this.signal.dispatchEvent(i)}toString(){return"[object AbortController]"}};typeof Symbol<"u"&&Symbol.toStringTag&&(wi.prototype[Symbol.toStringTag]="AbortController",lr.prototype[Symbol.toStringTag]="AbortSignal");function pn(a){return a.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof a.Request=="function"&&!a.Request.prototype.hasOwnProperty("signal")||!a.AbortController}function dl(a){typeof a=="function"&&(a={fetch:a});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r=!1}=a;if(!pn({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:r}))return{fetch:e,Request:s};let s=t;(s&&!s.prototype.hasOwnProperty("signal")||r)&&(s=function(l,p){let d;p&&p.signal&&(d=p.signal,delete p.signal);let c=new t(l,p);return d&&Object.defineProperty(c,"signal",{writable:!1,enumerable:!1,configurable:!0,value:d}),c},s.prototype=t.prototype);let n=e;return{fetch:(o,l)=>{let p=s&&s.prototype.isPrototypeOf(o)?o.signal:l?l.signal:void 0;if(p){let d;try{d=new DOMException("Aborted","AbortError")}catch{d=new Error("Aborted"),d.name="AbortError"}if(p.aborted)return Promise.reject(d);let c=new Promise((h,m)=>{p.addEventListener("abort",()=>m(d),{once:!0})});return l&&l.signal&&delete l.signal,Promise.race([c,n(o,l)])}return n(o,l)},Request:s}}var QP=()=>"fetch"in window,ua=QP()&&pn({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),Nb=ua?dl({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,lt=ua?Nb.fetch:window.fetch,Q0=ua?Nb.Request:window.Request,ue=ua?wi:window.AbortController,W0=ua?lr:window.AbortSignal;var US=Q(qe(),1),Bl=Q(la(),1);var Ag=Q(wg(),1),cr=require("@vkontakte/videoplayer-shared"),hn=a=>{if(!a)return{id:"EmptyResponse",category:cr.ErrorCategory.PARSER,message:"Empty response"};if(a.length<=2&&a.match(/^\d+$/))return{id:`UVError#${a}`,category:cr.ErrorCategory.NETWORK,message:`UV Error ${a}`};let e=(0,Ag.default)(a).substring(0,100).toLowerCase();if(e.startsWith("<!doctype")||e.startsWith("<html>")||e.startsWith("<body>")||e.startsWith("<head>"))return{id:"UnexpectedHTML",category:cr.ErrorCategory.NETWORK,message:"Received unexpected HTML, possibly a ISP block"};if(e.startsWith("<?xml"))return new DOMParser().parseFromString(a,"text/xml").querySelector("parsererror")?{id:"InvalidXML",category:cr.ErrorCategory.PARSER,message:"XML parsing error"}:{id:"XMLParserLogicError",category:cr.ErrorCategory.PARSER,message:"Response is valid XML, but parser failed"}};var De=(a,e,t=0)=>{for(let i=0;i<a.length;i++)if(a.start(i)*1e3-t<=e&&a.end(i)*1e3+t>e)return!0;return!1};var T=require("@vkontakte/videoplayer-shared");var bn=Q(qe(),1),ki=Q(gt(),1),gn=Q(la(),1);var Lk=(a,e={})=>{let i=e.timeout||1,r=performance.now();return window.setTimeout(()=>{a({get didTimeout(){return e.timeout?!1:performance.now()-r-1>i},timeRemaining(){return Math.max(0,1+(performance.now()-r))}})},1)},$k=a=>window.clearTimeout(a),Pg=a=>typeof a=="function"&&a?.toString().endsWith("{ [native code] }"),kg=!Pg(window.requestIdleCallback)||!Pg(window.cancelIdleCallback),dr=kg?Lk:window.requestIdleCallback,$t=kg?$k:window.cancelIdleCallback;var VS=Q(Ws(),1);var ai=require("@vkontakte/videoplayer-shared");var Mk=18,Rg=!1;try{Rg=W.browser.isSafari&&!!W.browser.safariVersion&&W.browser.safariVersion<=Mk}catch(a){console.error(a)}var gl=class{constructor(e){this.bufferFull$=new ai.Subject;this.error$=new ai.Subject;this.queue=[];this.currentTask=null;this.destroyed=!1;this.abortRequested=!1;this.completeTask=()=>{try{if(this.currentTask){let e=this.currentTask.signal?.aborted;this.currentTask.callback(!e),this.currentTask=null}this.queue.length&&this.pull()}catch(e){this.error$.next({id:"BufferTaskQueueUnknown",category:ai.ErrorCategory.VIDEO_PIPELINE,message:"Buffer appending or removal failed",thrown:e})}};this.buffer=e,this.buffer.addEventListener("updateend",this.completeTask)}async append(e,t){return t&&t.aborted?!1:new Promise(i=>{let r={operation:"append",data:e,signal:t,callback:i};this.queue.push(r),this.pull()})}async remove(e,t,i){return i&&i.aborted?!1:new Promise(r=>{let s={operation:"remove",from:e,to:t,signal:i,callback:r};this.queue.unshift(s),this.pull()})}async abort(e){return new Promise(t=>{let i,r=s=>{this.abortRequested=!1,t(s)};Rg&&e?i={operation:"safariAbort",init:e,callback:r}:i={operation:"abort",callback:r};for(let{callback:s}of this.queue)s(!1);this.abortRequested=!0,i&&(this.queue=[i]),this.pull()})}destroy(){this.destroyed=!0,this.buffer.removeEventListener("updateend",this.completeTask),this.queue=[],this.currentTask=null;try{this.buffer.abort()}catch(e){if(!(e instanceof DOMException&&e.name==="InvalidStateError"))throw e}}pull(){if((this.buffer.updating||this.currentTask||this.destroyed)&&!this.abortRequested)return;let e=this.queue.shift();if(!e)return;if(e.signal?.aborted){e.callback(!1),this.pull();return}this.currentTask=e;let{operation:t}=this.currentTask;try{this.execute(this.currentTask)}catch(r){r instanceof DOMException&&r.name==="QuotaExceededError"&&t==="append"?this.bufferFull$.next(this.currentTask.data.byteLength):r instanceof DOMException&&r.name==="InvalidStateError"||this.error$.next({id:`BufferTaskQueue:${t}`,category:ai.ErrorCategory.VIDEO_PIPELINE,message:"Buffer operation failed",thrown:r}),this.currentTask.callback(!1),this.currentTask=null}this.currentTask&&this.currentTask.operation==="abort"&&this.completeTask()}execute(e){let{operation:t}=e;switch(t){case"append":this.buffer.appendBuffer(e.data);break;case"remove":this.buffer.remove(e.from/1e3,e.to/1e3);break;case"abort":this.buffer.abort();break;case"safariAbort":{this.buffer.abort(),this.buffer.appendBuffer(e.init);break}default:(0,ai.assertNever)(t)}}},Lg=gl;var pr=a=>{let e=0;for(let t=0;t<a.length;t++)e+=a.end(t)-a.start(t);return e*1e3};var A=require("@vkontakte/videoplayer-shared");var Mg=Q(gt(),1);var fn=a=>a.valid,se=class{constructor(e,t){this.cursor=0;this.source=e,this.boxParser=t,this.children=[];let i=this.readUint32();this.type=this.readString(4),i===1&&(this.cursor+=8);let r=e.byteOffset+this.cursor,s;i===0?(this.size=void 0,this.valid=!1,s=void 0):i===1?(this.size=void 0,this.valid=!1,s=void 0):i>e.byteLength?(this.size=i,this.valid=!1,s=Math.min(i-this.cursor,e.byteLength-this.cursor)):(this.size=i,this.valid=!0,s=i-this.cursor),this.content=new DataView(e.buffer,r,s)}get id(){return this.type}scanForBoxes(e){return this.boxParser.parse(e)}readString(e,t="ascii"){let r=new TextDecoder(t).decode(new DataView(this.source.buffer,this.source.byteOffset+this.cursor,e));return this.cursor+=e,r}readUint8(){let e=this.source.getUint8(this.cursor);return this.cursor+=1,e}readUint16(){let e=this.source.getUint16(this.cursor);return this.cursor+=2,e}readUint32(){let e=this.source.getUint32(this.cursor);return this.cursor+=4,e}readUint64(){let e=this.source.getBigInt64(this.cursor);return this.cursor+=8,e}};var hr=class extends se{};var $g=require("@vkontakte/videoplayer-shared");var da=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readString(16),r=new DataView(this.content.buffer,this.content.byteOffset+16,this.content.byteLength-16);this.userData=this.parseData(i,r)}parseData(e,t){switch(e){case"ondemandlivejson":{let i=new TextDecoder("ascii").decode(t),r=JSON.parse(i);return{received:r["t-in"],prepared:r["t-out"]}}default:(0,$g.assertNever)(e)}}};var pa=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;this.compatibleBrands=[],this.majorBrand=this.readString(4),this.minorVersion=this.readUint32();let i=new DataView(this.content.buffer,this.content.byteOffset+8,this.content.byteLength-8);for(let r=0;r<i.byteLength;r+=4){let s=this.readString(4);this.compatibleBrands.push(s)}}};var ha=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var pe=class extends se{constructor(e,t){if(super(e,t),!this.valid)return;let i=this.readUint32();this.version=i>>>24,this.flags=i&16777215,this.content=new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)}};var fa=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.timescale=this.readUint32(),this.duration=this.readUint32(),this.rate=this.readUint32(),this.volume=this.readUint16())}};var ma=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ba=class extends se{constructor(e,t){super(e,t),this.data=this.content}};var Ai=class extends pe{get earliestPresentationTime(){return this.earliestPresentationTime32}get firstOffset(){return this.firstOffset32}constructor(e,t){if(super(e,t),!!this.valid){this.segments=[],this.referenceId=this.readUint32(),this.timescale=this.readUint32(),this.earliestPresentationTime32=this.readUint32(),this.firstOffset32=this.readUint32(),this.earliestPresentationTime64=0,this.firstOffset64=0,this.referenceCount=this.readUint32()&65535;for(let i=0;i<this.referenceCount;i++){let r=this.readUint32(),s=r>>>31,n=r<<1>>>1,u=this.readUint32();r=this.readUint32();let o=r>>>28,l=r<<3>>>3;this.segments.push({referenceType:s,referencedSize:n,subsegmentDuration:u,SAPType:o,SAPDeltaTime:l})}}}};var ga=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Sa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var va=class extends pe{constructor(e,t){if(super(e,t),!this.valid)return;switch(this.readUint8()){case 0:this.stereoMode=0;break;case 1:this.stereoMode=1;break;case 2:this.stereoMode=2;break;case 3:this.stereoMode=3;break;case 4:this.stereoMode=4;break}this.cursor+=1}};var ya=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.poseYawDegrees=this.readUint32(),this.posePitchDegrees=this.readUint32(),this.poseRollDegrees=this.readUint32())}};var Ta=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.projectionBoundsTop=this.readUint32(),this.projectionBoundsBottom=this.readUint32(),this.projectionBoundsLeft=this.readUint32(),this.projectionBoundsRight=this.readUint32())}};var Ia=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ea=class extends pe{constructor(e,t){super(e,t),this.creationTime=this.readUint32(),this.modificationTime=this.readUint32(),this.trackId=this.readUint32(),this.cursor+=4,this.duration=this.readUint32(),this.cursor+=8,this.layer=this.readUint16(),this.alternateGroup=this.readUint16(),this.cursor+=2,this.cursor+=2,this.matrix=[[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()],[this.readUint32(),this.readUint32(),this.readUint32()]],this.width=this.readUint32(),this.height=this.readUint32()}};var xa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var wa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Aa=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.sequenceNumber=this.readUint32())}};var Pa=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var ka=class extends pe{constructor(e,t){super(e,t),this.trackId=this.readUint32(),this.flags&1&&(this.baseDataOffset=this.readUint64()),this.flags&2&&(this.sampleDescriptionIndex=this.readUint32()),this.flags&8&&(this.defaultSampleDuration=this.readUint32()),this.flags&16&&(this.defaultSampleSize=this.readUint32()),this.flags&32&&(this.defaultSampleFlags=this.readUint32())}};var Ra=class extends pe{constructor(t,i){super(t,i);this.baseMediaDecodeTime32=0;this.baseMediaDecodeTime64=BigInt(0);this.version===1?this.baseMediaDecodeTime64=this.readUint64():this.baseMediaDecodeTime32=this.readUint32()}get baseMediaDecodeTime(){return this.version===1?this.baseMediaDecodeTime64:this.baseMediaDecodeTime32}};var La=class extends pe{constructor(t,i){super(t,i);this.sampleDuration=[];this.sampleSize=[];this.sampleFlags=[];this.sampleCompositionTimeOffset=[];this.optionalFields=0;this.sampleCount=this.readUint32(),this.flags&1&&(this.dataOffset=this.readUint32()),this.flags&4&&(this.firstSampleFlags=this.readUint32());for(let r=0;r<this.sampleCount;r++)this.flags&256&&this.sampleDuration.push(this.readUint32()),this.flags&512&&this.sampleSize.push(this.readUint32()),this.flags&1024&&this.sampleFlags.push(this.readUint32()),this.flags&2048&&this.sampleCompositionTimeOffset.push(this.readUint32())}};var $a=class extends se{constructor(e,t){super(e,t),this.children=this.scanForBoxes(this.content)}};var Ma=class extends pe{constructor(e,t){super(e,t),this.valid&&(this.entryCount=this.readUint32(),this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+4,this.content.byteLength-4)))}};var Da=class extends se{constructor(e,t){super(e,t),this.valid&&(this.children=this.scanForBoxes(new DataView(this.content.buffer,this.content.byteOffset+78,this.content.byteLength-78)))}};var Ck={ftyp:pa,moov:ha,mvhd:fa,moof:ma,mdat:ba,sidx:Ai,trak:ga,mdia:Ia,mfhd:Aa,tkhd:Ea,traf:Pa,tfhd:ka,tfdt:Ra,trun:La,minf:xa,sv3d:Sa,st3d:va,prhd:ya,proj:wa,equi:Ta,uuid:da,stbl:$a,stsd:Ma,avc1:Da,unknown:hr},qt=class a{constructor(e={}){this.options={offset:0,...e}}parse(e){let t=[],i=this.options.offset;for(;i<e.byteLength;){let s=new TextDecoder("ascii").decode(new DataView(e.buffer,e.byteOffset+i+4,4)),n;try{n=this.createBox(s,new DataView(e.buffer,e.byteOffset+i,e.byteLength-i))}catch(u){if(!(u instanceof RangeError))throw u}if(!n||!fn(n))break;t.push(n),i+=n.size}return t}createBox(e,t){let i=Ck[e];return i?new i(t,new a):new hr(t,new a)}};var si=class{constructor(e){this.index={},this.indexBoxLevel(e)}indexBoxLevel(e){e.forEach(t=>{fn(t)&&(this.index[t.type]??=[],this.index[t.type].push(t),t.children.length>0&&this.indexBoxLevel(t.children))})}find(e){return this.index[e]&&this.index[e][0]?this.index[e][0]:null}findAll(e){return this.index[e]||[]}};var Vk=new TextDecoder("ascii"),_k=a=>Vk.decode(new DataView(a.buffer,a.byteOffset+4,4))==="ftyp",Ok=a=>{let e=new Ai(a,new qt),t=e.earliestPresentationTime/e.timescale*1e3,i=a.byteOffset+a.byteLength+e.firstOffset;return e.segments.map(s=>{if(s.referenceType!==0)throw new Error("Unsupported multilevel sidx");let n=s.subsegmentDuration/e.timescale*1e3,u={status:"none",time:{from:t,to:t+n},byte:{from:i,to:i+s.referencedSize-1}};return t+=n,i+=s.referencedSize,u})},Fk=(a,e)=>{let i=new qt().parse(a),r=new si(i),s=r.findAll("moof"),n=e?r.findAll("uuid"):r.findAll("mdat");if(!(n.length&&s.length))return null;let u=s[0],o=n[n.length-1],l=u.source.byteOffset,d=o.source.byteOffset-u.source.byteOffset+o.size;return new DataView(a.buffer,l,d)},Nk=a=>{let t=new qt().parse(a),i=new si(t),r={},s=i.findAll("uuid"),n=(0,Mg.default)(s,-1);return n?{serverDataReceivedTimestamp:n.userData.received,serverDataPreparedTime:n.userData.received}:r},qk=a=>{let t=new qt().parse(a);return new si(t).find("sidx")?.timescale},Uk=(a,e)=>{let i=new qt().parse(a),s=new si(i).findAll("traf"),n=s[s.length-1].children.find(d=>d.type==="tfhd"),u=s[s.length-1].children.find(d=>d.type==="tfdt"),o=s[s.length-1].children.find(d=>d.type==="trun"),l=0;return o.sampleDuration.length?l=o.sampleDuration.reduce((d,c)=>d+c,0):l=n.defaultSampleDuration*o.sampleCount,(Number(u.baseMediaDecodeTime)+l)/e*1e3},Hk=a=>{let e={is3dVideo:!1,stereoMode:0,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}},i=new qt().parse(a),r=new si(i);if(r.find("sv3d")){e.is3dVideo=!0;let n=r.find("st3d");n&&(e.stereoMode=n.stereoMode);let u=r.find("prhd");u&&(e.projectionData.pose.yaw=u.poseYawDegrees,e.projectionData.pose.pitch=u.posePitchDegrees,e.projectionData.pose.roll=u.poseRollDegrees);let o=r.find("equi");o&&(e.projectionData.bounds.top=o.projectionBoundsTop,e.projectionData.bounds.right=o.projectionBoundsRight,e.projectionData.bounds.bottom=o.projectionBoundsBottom,e.projectionData.bounds.left=o.projectionBoundsLeft)}return e},Dg={validateData:_k,parseInit:Hk,getIndexRange:()=>{},parseSegments:Ok,parseFeedableSegmentChunk:Fk,getChunkEndTime:Uk,getServerLatencyTimestamps:Nk,getTimescaleFromIndex:qk};var Va=Q(qe(),1),Ut=require("@vkontakte/videoplayer-shared");var Bg=require("@vkontakte/videoplayer-shared");var Cg={440786851:{type:"master"},17030:{type:"uint"},17143:{type:"uint"},17138:{type:"uint"},17139:{type:"uint"},17026:{type:"string"},17031:{type:"uint"},17029:{type:"uint"},236:{type:"binary"},408125543:{type:"master"},290298740:{type:"master"},19899:{type:"master"},21419:{type:"binary"},21420:{type:"uint"},357149030:{type:"master"},2807729:{type:"uint"},17545:{type:"float"},374648427:{type:"master"},174:{type:"master"},224:{type:"master"},30320:{type:"master"},30321:{type:"uint"},30322:{type:"master"},272869232:{type:"master"},524531317:{type:"master"},231:{type:"uint"},22612:{type:"master"},22743:{type:"uint"},167:{type:"uint"},171:{type:"uint"},163:{type:"binary"},160:{type:"master"},175:{type:"binary"},423732329:{type:"master"},307544935:{type:"master"},475249515:{type:"master"},187:{type:"master"},179:{type:"uint"},183:{type:"master"},247:{type:"uint"},241:{type:"uint"},240:{type:"uint"},178:{type:"uint"},21368:{type:"uint"},234:{type:"uint"},219:{type:"master"},150:{type:"uint"}},Vg=a=>{let e=a.getUint8(0),t=0;e&128?t=1:e&64?t=2:e&32?t=3:e&16&&(t=4);let i=Ba(a,t),r=i in Cg,s=r?Cg[i].type:"binary",n=a.getUint8(t),u=0;n&128?u=1:n&64?u=2:n&32?u=3:n&16?u=4:n&8?u=5:n&4?u=6:n&2?u=7:n&1&&(u=8);let o=new DataView(a.buffer,a.byteOffset+t+1,u-1),l=n&255>>u,p=Ba(o),d=l*2**((u-1)*8)+p,c=t+u,h;return c+d>a.byteLength?h=new DataView(a.buffer,a.byteOffset+c):h=new DataView(a.buffer,a.byteOffset+c,d),{tag:r?i:"0x"+i.toString(16).toUpperCase(),type:s,tagHeaderSize:c,tagSize:c+d,value:h,valueSize:d}},Ba=(a,e=a.byteLength)=>{switch(e){case 1:return a.getUint8(0);case 2:return a.getUint16(0);case 3:return a.getUint8(0)*2**16+a.getUint16(1);case 4:return a.getUint32(0);case 5:return a.getUint8(0)*2**32+a.getUint32(1);case 6:return a.getUint16(0)*2**32+a.getUint32(2);case 7:{let t=a.getUint8(0)*281474976710656+a.getUint16(1)*4294967296+a.getUint32(3);if(Number.isSafeInteger(t))return t}case 8:throw new ReferenceError("Int64 is not supported")}return 0},St=(a,e)=>{switch(e){case"int":return a.getInt8(0);case"uint":return Ba(a);case"float":return a.byteLength===4?a.getFloat32(0):a.getFloat64(0);case"string":return new TextDecoder("ascii").decode(a);case"utf8":return new TextDecoder("utf-8").decode(a);case"date":return new Date(Date.UTC(2001,0)+a.getInt8(0)).getTime();case"master":return a;case"binary":return a;default:(0,Bg.assertNever)(e)}},Pi=(a,e)=>{let t=0;for(;t<a.byteLength;){let i=new DataView(a.buffer,a.byteOffset+t),r=Vg(i);if(!e(r))return;r.type==="master"&&Pi(r.value,e),t=r.value.byteOffset-a.byteOffset+r.valueSize}},_g=a=>{if(a.getUint32(0)!==440786851)return!1;let e,t,i,r=Vg(a);return Pi(r.value,({tag:s,type:n,value:u})=>(s===17143?e=St(u,n):s===17026?t=St(u,n):s===17029&&(i=St(u,n)),!0)),(e===void 0||e<=1)&&t!==void 0&&t==="webm"&&(i===void 0||i<=2)};var Og=[357149030,290298740,374648427,174,224,30320,30321,30322,272869232,524531317,475249515,423732329,307544935],jk=[231,22612,22743,167,171,163,160,175],Qk=a=>{let e,t,i,r,s=!1,n=!1,u=!1,o,l,p=!1,d=0;return Pi(a,({tag:c,type:h,value:m,valueSize:b})=>{if(c===21419){let S=St(m,h);l=Ba(S)}else c!==21420&&(l=void 0);return c===408125543?(e=m.byteOffset,t=m.byteOffset+b):c===357149030?s=!0:c===290298740?n=!0:c===2807729?i=St(m,h):c===17545?r=St(m,h):c===21420&&l===475249515?o=St(m,h):c===374648427?Pi(m,({tag:S,type:v,value:I})=>S===30321?(p=St(I,v)===1,!1):!0):s&&n&&(0,Va.default)(Og,c)&&(u=!0),!u}),(0,Ut.assertNonNullable)(e,"Failed to parse webm Segment start"),(0,Ut.assertNonNullable)(t,"Failed to parse webm Segment end"),(0,Ut.assertNonNullable)(r,"Failed to parse webm Segment duration"),i=i??1e6,{segmentStart:Math.round(e/1e9*i*1e3),segmentEnd:Math.round(t/1e9*i*1e3),timeScale:i,segmentDuration:Math.round(r/1e9*i*1e3),cuesSeekPosition:o,is3dVideo:p,stereoMode:d,projectionType:1,projectionData:{pose:{yaw:0,pitch:0,roll:0},bounds:{top:0,bottom:0,left:0,right:0}}}},Wk=a=>{if((0,Ut.isNullable)(a.cuesSeekPosition))return;let e=a.segmentStart+a.cuesSeekPosition,t=1024*1024;return{from:e,to:e+t}},Gk=(a,e)=>{let t=!1,i=!1,r=u=>(0,Ut.isNonNullable)(u.time)&&(0,Ut.isNonNullable)(u.position),s=[],n;return Pi(a,({tag:u,type:o,value:l})=>{switch(u){case 475249515:t=!0;break;case 187:n&&r(n)&&s.push(n),n={};break;case 179:n&&(n.time=St(l,o));break;case 183:break;case 241:n&&(n.position=St(l,o));break;default:t&&(0,Va.default)(Og,u)&&(i=!0)}return!(t&&i)}),n&&r(n)&&s.push(n),s.map((u,o)=>{let{time:l,position:p}=u,d=s[o+1];return{status:"none",time:{from:l,to:d?d.time:e.segmentDuration},byte:{from:e.segmentStart+p,to:d?e.segmentStart+d.position-1:e.segmentEnd-1}}})},zk=a=>{let e=0,t=!1;try{Pi(a,i=>i.tag===524531317?i.tagSize<=a.byteLength?(e=i.tagSize,!1):(e+=i.tagHeaderSize,!0):(0,Va.default)(jk,i.tag)?(e+i.tagSize<=a.byteLength&&(e+=i.tagSize,t||=(0,Va.default)([163,160,175],i.tag)),!0):!1)}catch{}return e>0&&e<=a.byteLength&&t?new DataView(a.buffer,a.byteOffset,e):null},Fg={validateData:_g,parseInit:Qk,getIndexRange:Wk,parseSegments:Gk,parseFeedableSegmentChunk:zk};var Mt=a=>{let e=/^(.+)\/([^;]+)(?:;.*)?$/.exec(a);if(e){let[,t,i]=e;if(t==="audio"||t==="video")switch(i){case"webm":return Fg;case"mp4":return Dg}}throw new ReferenceError(`Unsupported mime type ${a}`)};var Dt=a=>a instanceof DOMException&&(a.name==="AbortError"||a.code===20);var xl=Q(uS(),1),RS=Q(Gi(),1),LS=Q(xS(),1),$S=Q(gt(),1),wl=Q(gi(),1);var wS=Q(qe(),1),El=a=>{let e=a.split("."),[t,...i]=e;if(!t)return!1;switch(t){case"av01":{let[r,s,n]=i;return!!(n&&parseInt(n,10)>8)}case"vp09":{let[r,s,n]=i;return!!(r&&parseInt(r,10)>=2&&n&&parseInt(n,10)>8)}case"avc1":{let r=i[0];if(!r||r.length!==6)return!1;let[s,n]=r.toUpperCase(),u=s+n;return(0,wS.default)(["6E","7A","F4"],u)}}return!1};var _a=require("@vkontakte/videoplayer-shared");var AS=a=>{if(a.includes("/")){let e=a.split("/");return parseInt(e[0])/parseInt(e[1])}else return parseFloat(a)};var PS=a=>{try{let e=GR(),t=a.match(e),{groups:i}=t??{};if(i){let r={};if(i.extensions){let u=i.extensions.toLowerCase().match(/(?:[0-9a-wy-z](?:-[a-z0-9]{2,8})+)/g);Array.from(u||[]).forEach(o=>{r[o[0]]=o.slice(2)})}let s=i.variants?.split(/-/).filter(u=>u!==""),n={extlang:i.extlang,langtag:i.langtag,language:i.language,privateuse:i.privateuse||i.privateuse2,region:i.region,script:i.script,extensions:r,variants:s};return Object.keys(n).forEach(u=>{let o=n[u];(typeof o>"u"||o==="")&&delete n[u]}),n}return null}catch{return null}};function GR(){let a="(?<extlang>(?:[a-z]{3}(?:-[a-z]{3}){0,2}))",e="x(?:-[a-z0-9]{1,8})+",p=`^(?:(?<langtag>${`
|
|
118
118
|
(?<language>${`(?:[a-z]{2,3}(?:-${a})?|[a-z]{4}|[a-z]{5,8})`})
|
|
119
119
|
(-(?<script>[a-z]{4}))?
|
|
120
120
|
(-(?<region>(?:[a-z]{2}|[0-9]{3})))?
|