@vkontakte/videoplayer-core 2.0.138-dev.2ae4679e.0 → 2.0.138-dev.2ccb74c0.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/esnext.cjs.js CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @vkontakte/videoplayer-core v2.0.138-dev.2ae4679e.0
3
- * Mon, 18 Aug 2025 10:15:14 GMT
2
+ * @vkontakte/videoplayer-core v2.0.138-dev.2ccb74c0.0
3
+ * Mon, 18 Aug 2025 18:48:09 GMT
4
4
  * https://st.mycdn.me/static/vkontakte-videoplayer/2-0-138/doc/
5
5
  */
6
6
  "use strict";var Rv=Object.create;var ls=Object.defineProperty;var Lv=Object.getOwnPropertyDescriptor;var $v=Object.getOwnPropertyNames;var Mv=Object.getPrototypeOf,Dv=Object.prototype.hasOwnProperty;var b=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),Cv=(a,e)=>{for(var t in e)ls(a,t,{get:e[t],enumerable:!0})},ec=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of $v(e))!Dv.call(a,r)&&r!==t&&ls(a,r,{get:()=>e[r],enumerable:!(i=Lv(e,r))||i.enumerable});return a};var H=(a,e,t)=>(t=a!=null?Rv(Mv(a)):{},ec(e||!a||!a.__esModule?ls(t,"default",{value:a,enumerable:!0}):t,a)),Bv=a=>ec(ls({},"__esModule",{value:!0}),a);var Se=b((to,tc)=>{"use strict";var kr=function(a){return a&&a.Math===Math&&a};tc.exports=kr(typeof globalThis=="object"&&globalThis)||kr(typeof window=="object"&&window)||kr(typeof self=="object"&&self)||kr(typeof global=="object"&&global)||kr(typeof to=="object"&&to)||function(){return this}()||Function("return this")()});var we=b((AL,ic)=>{"use strict";ic.exports=function(a){try{return!!a()}catch{return!0}}});var Rr=b((PL,rc)=>{"use strict";var Vv=we();rc.exports=!Vv(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var io=b((kL,oc)=>{"use strict";var _v=Rr(),nc=Function.prototype,ac=nc.apply,sc=nc.call;oc.exports=typeof Reflect=="object"&&Reflect.apply||(_v?sc.bind(ac):function(){return sc.apply(ac,arguments)})});var Ae=b((RL,cc)=>{"use strict";var uc=Rr(),lc=Function.prototype,ro=lc.call,Ov=uc&&lc.bind.bind(ro,ro);cc.exports=uc?Ov:function(a){return function(){return ro.apply(a,arguments)}}});var pi=b((LL,pc)=>{"use strict";var dc=Ae(),Fv=dc({}.toString),Nv=dc("".slice);pc.exports=function(a){return Nv(Fv(a),8,-1)}});var ao=b(($L,hc)=>{"use strict";var qv=pi(),Uv=Ae();hc.exports=function(a){if(qv(a)==="Function")return Uv(a)}});var ve=b((ML,fc)=>{"use strict";var so=typeof document=="object"&&document.all;fc.exports=typeof so>"u"&&so!==void 0?function(a){return typeof a=="function"||a===so}:function(a){return typeof a=="function"}});var Ke=b((DL,mc)=>{"use strict";var Hv=we();mc.exports=!Hv(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Xe=b((CL,bc)=>{"use strict";var jv=Rr(),ps=Function.prototype.call;bc.exports=jv?ps.bind(ps):function(){return ps.apply(ps,arguments)}});var no=b(vc=>{"use strict";var gc={}.propertyIsEnumerable,Sc=Object.getOwnPropertyDescriptor,Qv=Sc&&!gc.call({1:2},1);vc.f=Qv?function(e){var t=Sc(this,e);return!!t&&t.enumerable}:gc});var Lr=b((VL,yc)=>{"use strict";yc.exports=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}}});var Ic=b((_L,Tc)=>{"use strict";var Wv=Ae(),Gv=we(),zv=pi(),oo=Object,Yv=Wv("".split);Tc.exports=Gv(function(){return!oo("z").propertyIsEnumerable(0)})?function(a){return zv(a)==="String"?Yv(a,""):oo(a)}:oo});var $r=b((OL,Ec)=>{"use strict";Ec.exports=function(a){return a==null}});var Xt=b((FL,xc)=>{"use strict";var Kv=$r(),Xv=TypeError;xc.exports=function(a){if(Kv(a))throw new Xv("Can't call method on "+a);return a}});var hi=b((NL,wc)=>{"use strict";var Jv=Ic(),Zv=Xt();wc.exports=function(a){return Jv(Zv(a))}});var qe=b((qL,Ac)=>{"use strict";var ey=ve();Ac.exports=function(a){return typeof a=="object"?a!==null:ey(a)}});var fi=b((UL,Pc)=>{"use strict";Pc.exports={}});var Vt=b((HL,Rc)=>{"use strict";var uo=fi(),lo=Se(),ty=ve(),kc=function(a){return ty(a)?a:void 0};Rc.exports=function(a,e){return arguments.length<2?kc(uo[a])||kc(lo[a]):uo[a]&&uo[a][e]||lo[a]&&lo[a][e]}});var Mr=b((jL,Lc)=>{"use strict";var iy=Ae();Lc.exports=iy({}.isPrototypeOf)});var mi=b((QL,Dc)=>{"use strict";var ry=Se(),$c=ry.navigator,Mc=$c&&$c.userAgent;Dc.exports=Mc?String(Mc):""});var po=b((WL,Fc)=>{"use strict";var Oc=Se(),co=mi(),Cc=Oc.process,Bc=Oc.Deno,Vc=Cc&&Cc.versions||Bc&&Bc.version,_c=Vc&&Vc.v8,ht,hs;_c&&(ht=_c.split("."),hs=ht[0]>0&&ht[0]<4?1:+(ht[0]+ht[1]));!hs&&co&&(ht=co.match(/Edge\/(\d+)/),(!ht||ht[1]>=74)&&(ht=co.match(/Chrome\/(\d+)/),ht&&(hs=+ht[1])));Fc.exports=hs});var ho=b((GL,qc)=>{"use strict";var Nc=po(),ay=we(),sy=Se(),ny=sy.String;qc.exports=!!Object.getOwnPropertySymbols&&!ay(function(){var a=Symbol("symbol detection");return!ny(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Nc&&Nc<41})});var fo=b((zL,Uc)=>{"use strict";var oy=ho();Uc.exports=oy&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var mo=b((YL,Hc)=>{"use strict";var uy=Vt(),ly=ve(),cy=Mr(),dy=fo(),py=Object;Hc.exports=dy?function(a){return typeof a=="symbol"}:function(a){var e=uy("Symbol");return ly(e)&&cy(e.prototype,py(a))}});var Dr=b((KL,jc)=>{"use strict";var hy=String;jc.exports=function(a){try{return hy(a)}catch{return"Object"}}});var wt=b((XL,Qc)=>{"use strict";var fy=ve(),my=Dr(),by=TypeError;Qc.exports=function(a){if(fy(a))return a;throw new by(my(a)+" is not a function")}});var Cr=b((JL,Wc)=>{"use strict";var gy=wt(),Sy=$r();Wc.exports=function(a,e){var t=a[e];return Sy(t)?void 0:gy(t)}});var zc=b((ZL,Gc)=>{"use strict";var bo=Xe(),go=ve(),So=qe(),vy=TypeError;Gc.exports=function(a,e){var t,i;if(e==="string"&&go(t=a.toString)&&!So(i=bo(t,a))||go(t=a.valueOf)&&!So(i=bo(t,a))||e!=="string"&&go(t=a.toString)&&!So(i=bo(t,a)))return i;throw new vy("Can't convert object to primitive value")}});var ft=b((e$,Yc)=>{"use strict";Yc.exports=!0});var Jc=b((t$,Xc)=>{"use strict";var Kc=Se(),yy=Object.defineProperty;Xc.exports=function(a,e){try{yy(Kc,a,{value:e,configurable:!0,writable:!0})}catch{Kc[a]=e}return e}});var Br=b((i$,td)=>{"use strict";var Ty=ft(),Iy=Se(),Ey=Jc(),Zc="__core-js_shared__",ed=td.exports=Iy[Zc]||Ey(Zc,{});(ed.versions||(ed.versions=[])).push({version:"3.43.0",mode:Ty?"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 vo=b((r$,rd)=>{"use strict";var id=Br();rd.exports=function(a,e){return id[a]||(id[a]=e||{})}});var Fi=b((a$,ad)=>{"use strict";var xy=Xt(),wy=Object;ad.exports=function(a){return wy(xy(a))}});var mt=b((s$,sd)=>{"use strict";var Ay=Ae(),Py=Fi(),ky=Ay({}.hasOwnProperty);sd.exports=Object.hasOwn||function(e,t){return ky(Py(e),t)}});var yo=b((n$,nd)=>{"use strict";var Ry=Ae(),Ly=0,$y=Math.random(),My=Ry(1.1.toString);nd.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+My(++Ly+$y,36)}});var $e=b((o$,ud)=>{"use strict";var Dy=Se(),Cy=vo(),od=mt(),By=yo(),Vy=ho(),_y=fo(),Ni=Dy.Symbol,To=Cy("wks"),Oy=_y?Ni.for||Ni:Ni&&Ni.withoutSetter||By;ud.exports=function(a){return od(To,a)||(To[a]=Vy&&od(Ni,a)?Ni[a]:Oy("Symbol."+a)),To[a]}});var pd=b((u$,dd)=>{"use strict";var Fy=Xe(),ld=qe(),cd=mo(),Ny=Cr(),qy=zc(),Uy=$e(),Hy=TypeError,jy=Uy("toPrimitive");dd.exports=function(a,e){if(!ld(a)||cd(a))return a;var t=Ny(a,jy),i;if(t){if(e===void 0&&(e="default"),i=Fy(t,a,e),!ld(i)||cd(i))return i;throw new Hy("Can't convert object to primitive value")}return e===void 0&&(e="number"),qy(a,e)}});var Io=b((l$,hd)=>{"use strict";var Qy=pd(),Wy=mo();hd.exports=function(a){var e=Qy(a,"string");return Wy(e)?e:e+""}});var fs=b((c$,md)=>{"use strict";var Gy=Se(),fd=qe(),Eo=Gy.document,zy=fd(Eo)&&fd(Eo.createElement);md.exports=function(a){return zy?Eo.createElement(a):{}}});var xo=b((d$,bd)=>{"use strict";var Yy=Ke(),Ky=we(),Xy=fs();bd.exports=!Yy&&!Ky(function(){return Object.defineProperty(Xy("div"),"a",{get:function(){return 7}}).a!==7})});var vd=b(Sd=>{"use strict";var Jy=Ke(),Zy=Xe(),eT=no(),tT=Lr(),iT=hi(),rT=Io(),aT=mt(),sT=xo(),gd=Object.getOwnPropertyDescriptor;Sd.f=Jy?gd:function(e,t){if(e=iT(e),t=rT(t),sT)try{return gd(e,t)}catch{}if(aT(e,t))return tT(!Zy(eT.f,e,t),e[t])}});var wo=b((h$,yd)=>{"use strict";var nT=we(),oT=ve(),uT=/#|\.prototype\./,Vr=function(a,e){var t=cT[lT(a)];return t===pT?!0:t===dT?!1:oT(e)?nT(e):!!e},lT=Vr.normalize=function(a){return String(a).replace(uT,".").toLowerCase()},cT=Vr.data={},dT=Vr.NATIVE="N",pT=Vr.POLYFILL="P";yd.exports=Vr});var qi=b((f$,Id)=>{"use strict";var Td=ao(),hT=wt(),fT=Rr(),mT=Td(Td.bind);Id.exports=function(a,e){return hT(a),e===void 0?a:fT?mT(a,e):function(){return a.apply(e,arguments)}}});var Ao=b((m$,Ed)=>{"use strict";var bT=Ke(),gT=we();Ed.exports=bT&&gT(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var At=b((b$,xd)=>{"use strict";var ST=qe(),vT=String,yT=TypeError;xd.exports=function(a){if(ST(a))return a;throw new yT(vT(a)+" is not an object")}});var bi=b(Ad=>{"use strict";var TT=Ke(),IT=xo(),ET=Ao(),ms=At(),wd=Io(),xT=TypeError,Po=Object.defineProperty,wT=Object.getOwnPropertyDescriptor,ko="enumerable",Ro="configurable",Lo="writable";Ad.f=TT?ET?function(e,t,i){if(ms(e),t=wd(t),ms(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Lo in i&&!i[Lo]){var r=wT(e,t);r&&r[Lo]&&(e[t]=i.value,i={configurable:Ro in i?i[Ro]:r[Ro],enumerable:ko in i?i[ko]:r[ko],writable:!1})}return Po(e,t,i)}:Po:function(e,t,i){if(ms(e),t=wd(t),ms(i),IT)try{return Po(e,t,i)}catch{}if("get"in i||"set"in i)throw new xT("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var Ui=b((S$,Pd)=>{"use strict";var AT=Ke(),PT=bi(),kT=Lr();Pd.exports=AT?function(a,e,t){return PT.f(a,e,kT(1,t))}:function(a,e,t){return a[e]=t,a}});var Te=b((v$,Rd)=>{"use strict";var _r=Se(),RT=io(),LT=ao(),$T=ve(),MT=vd().f,DT=wo(),Hi=fi(),CT=qi(),ji=Ui(),kd=mt();Br();var BT=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 RT(a,this,arguments)};return e.prototype=a.prototype,e};Rd.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?Hi:Hi[t]||ji(Hi,t,{})[t],o=u.prototype,l,c,p,d,h,m,g,v,S;for(d in e)l=DT(i?d:t+(r?".":"#")+d,a.forced),c=!l&&n&&kd(n,d),m=u[d],c&&(a.dontCallGetSet?(S=MT(n,d),g=S&&S.value):g=n[d]),h=c&&g?g:e[d],!(!l&&!s&&typeof m==typeof h)&&(a.bind&&c?v=CT(h,_r):a.wrap&&c?v=BT(h):s&&$T(h)?v=LT(h):v=h,(a.sham||h&&h.sham||m&&m.sham)&&ji(v,"sham",!0),ji(u,d,v),s&&(p=t+"Prototype",kd(Hi,p)||ji(Hi,p,{}),ji(Hi[p],d,h),a.real&&o&&(l||!o[d])&&ji(o,d,h)))}});var $d=b((y$,Ld)=>{"use strict";var VT=Math.ceil,_T=Math.floor;Ld.exports=Math.trunc||function(e){var t=+e;return(t>0?_T:VT)(t)}});var Or=b((T$,Md)=>{"use strict";var OT=$d();Md.exports=function(a){var e=+a;return e!==e||e===0?0:OT(e)}});var Cd=b((I$,Dd)=>{"use strict";var FT=Or(),NT=Math.max,qT=Math.min;Dd.exports=function(a,e){var t=FT(a);return t<0?NT(t+e,0):qT(t,e)}});var $o=b((E$,Bd)=>{"use strict";var UT=Or(),HT=Math.min;Bd.exports=function(a){var e=UT(a);return e>0?HT(e,9007199254740991):0}});var Qi=b((x$,Vd)=>{"use strict";var jT=$o();Vd.exports=function(a){return jT(a.length)}});var Mo=b((w$,Od)=>{"use strict";var QT=hi(),WT=Cd(),GT=Qi(),_d=function(a){return function(e,t,i){var r=QT(e),s=GT(r);if(s===0)return!a&&-1;var n=WT(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}};Od.exports={includes:_d(!0),indexOf:_d(!1)}});var Fr=b((A$,Fd)=>{"use strict";Fd.exports=function(){}});var Nd=b(()=>{"use strict";var zT=Te(),YT=Mo().includes,KT=we(),XT=Fr(),JT=KT(function(){return!Array(1).includes()});zT({target:"Array",proto:!0,forced:JT},{includes:function(e){return YT(this,e,arguments.length>1?arguments[1]:void 0)}});XT("includes")});var Jt=b((R$,qd)=>{"use strict";var ZT=Vt();qd.exports=ZT});var Hd=b((L$,Ud)=>{"use strict";Nd();var eI=Jt();Ud.exports=eI("Array","includes")});var Qd=b(($$,jd)=>{"use strict";var tI=Hd();jd.exports=tI});var _e=b((M$,Wd)=>{"use strict";var iI=Qd();Wd.exports=iI});var gs=b((H$,Yd)=>{"use strict";var aI=vo(),sI=yo(),zd=aI("keys");Yd.exports=function(a){return zd[a]||(zd[a]=sI(a))}});var Xd=b((j$,Kd)=>{"use strict";var nI=we();Kd.exports=!nI(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype})});var Ss=b((Q$,Zd)=>{"use strict";var oI=mt(),uI=ve(),lI=Fi(),cI=gs(),dI=Xd(),Jd=cI("IE_PROTO"),Do=Object,pI=Do.prototype;Zd.exports=dI?Do.getPrototypeOf:function(a){var e=lI(a);if(oI(e,Jd))return e[Jd];var t=e.constructor;return uI(t)&&e instanceof t?t.prototype:e instanceof Do?pI:null}});var vs=b((W$,ep)=>{"use strict";ep.exports={}});var rp=b((G$,ip)=>{"use strict";var hI=Ae(),Co=mt(),fI=hi(),mI=Mo().indexOf,bI=vs(),tp=hI([].push);ip.exports=function(a,e){var t=fI(a),i=0,r=[],s;for(s in t)!Co(bI,s)&&Co(t,s)&&tp(r,s);for(;e.length>i;)Co(t,s=e[i++])&&(~mI(r,s)||tp(r,s));return r}});var Bo=b((z$,ap)=>{"use strict";ap.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Vo=b((Y$,sp)=>{"use strict";var gI=rp(),SI=Bo();sp.exports=Object.keys||function(e){return gI(e,SI)}});var _o=b((K$,cp)=>{"use strict";var op=Ke(),vI=we(),up=Ae(),yI=Ss(),TI=Vo(),II=hi(),EI=no().f,lp=up(EI),xI=up([].push),wI=op&&vI(function(){var a=Object.create(null);return a[2]=2,!lp(a,2)}),np=function(a){return function(e){for(var t=II(e),i=TI(t),r=wI&&yI(t)===null,s=i.length,n=0,u=[],o;s>n;)o=i[n++],(!op||(r?o in t:lp(t,o)))&&xI(u,a?[o,t[o]]:t[o]);return u}};cp.exports={entries:np(!0),values:np(!1)}});var dp=b(()=>{"use strict";var AI=Te(),PI=_o().entries;AI({target:"Object",stat:!0},{entries:function(e){return PI(e)}})});var hp=b((Z$,pp)=>{"use strict";dp();var kI=fi();pp.exports=kI.Object.entries});var mp=b((eM,fp)=>{"use strict";var RI=hp();fp.exports=RI});var Wi=b((tM,bp)=>{"use strict";var LI=mp();bp.exports=LI});var gi=b((iM,gp)=>{"use strict";gp.exports={}});var yp=b((rM,vp)=>{"use strict";var $I=Se(),MI=ve(),Sp=$I.WeakMap;vp.exports=MI(Sp)&&/native code/.test(String(Sp))});var qo=b((aM,Ep)=>{"use strict";var DI=yp(),Ip=Se(),CI=qe(),BI=Ui(),Oo=mt(),Fo=Br(),VI=gs(),_I=vs(),Tp="Object already initialized",No=Ip.TypeError,OI=Ip.WeakMap,ys,Nr,Ts,FI=function(a){return Ts(a)?Nr(a):ys(a,{})},NI=function(a){return function(e){var t;if(!CI(e)||(t=Nr(e)).type!==a)throw new No("Incompatible receiver, "+a+" required");return t}};DI||Fo.state?(bt=Fo.state||(Fo.state=new OI),bt.get=bt.get,bt.has=bt.has,bt.set=bt.set,ys=function(a,e){if(bt.has(a))throw new No(Tp);return e.facade=a,bt.set(a,e),e},Nr=function(a){return bt.get(a)||{}},Ts=function(a){return bt.has(a)}):(Si=VI("state"),_I[Si]=!0,ys=function(a,e){if(Oo(a,Si))throw new No(Tp);return e.facade=a,BI(a,Si,e),e},Nr=function(a){return Oo(a,Si)?a[Si]:{}},Ts=function(a){return Oo(a,Si)});var bt,Si;Ep.exports={set:ys,get:Nr,has:Ts,enforce:FI,getterFor:NI}});var jo=b((sM,wp)=>{"use strict";var Uo=Ke(),qI=mt(),xp=Function.prototype,UI=Uo&&Object.getOwnPropertyDescriptor,Ho=qI(xp,"name"),HI=Ho&&function(){}.name==="something",jI=Ho&&(!Uo||Uo&&UI(xp,"name").configurable);wp.exports={EXISTS:Ho,PROPER:HI,CONFIGURABLE:jI}});var Pp=b(Ap=>{"use strict";var QI=Ke(),WI=Ao(),GI=bi(),zI=At(),YI=hi(),KI=Vo();Ap.f=QI&&!WI?Object.defineProperties:function(e,t){zI(e);for(var i=YI(t),r=KI(t),s=r.length,n=0,u;s>n;)GI.f(e,u=r[n++],i[u]);return e}});var Qo=b((oM,kp)=>{"use strict";var XI=Vt();kp.exports=XI("document","documentElement")});var Yo=b((uM,Bp)=>{"use strict";var JI=At(),ZI=Pp(),Rp=Bo(),eE=vs(),tE=Qo(),iE=fs(),rE=gs(),Lp=">",$p="<",Go="prototype",zo="script",Dp=rE("IE_PROTO"),Wo=function(){},Cp=function(a){return $p+zo+Lp+a+$p+"/"+zo+Lp},Mp=function(a){a.write(Cp("")),a.close();var e=a.parentWindow.Object;return a=null,e},aE=function(){var a=iE("iframe"),e="java"+zo+":",t;return a.style.display="none",tE.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(Cp("document.F=Object")),t.close(),t.F},Is,Es=function(){try{Is=new ActiveXObject("htmlfile")}catch{}Es=typeof document<"u"?document.domain&&Is?Mp(Is):aE():Mp(Is);for(var a=Rp.length;a--;)delete Es[Go][Rp[a]];return Es()};eE[Dp]=!0;Bp.exports=Object.create||function(e,t){var i;return e!==null?(Wo[Go]=JI(e),i=new Wo,Wo[Go]=null,i[Dp]=e):i=Es(),t===void 0?i:ZI.f(i,t)}});var Gi=b((lM,Vp)=>{"use strict";var sE=Ui();Vp.exports=function(a,e,t,i){return i&&i.enumerable?a[e]=t:sE(a,e,t),a}});var Zo=b((cM,Fp)=>{"use strict";var nE=we(),oE=ve(),uE=qe(),lE=Yo(),_p=Ss(),cE=Gi(),dE=$e(),pE=ft(),Jo=dE("iterator"),Op=!1,_t,Ko,Xo;[].keys&&(Xo=[].keys(),"next"in Xo?(Ko=_p(_p(Xo)),Ko!==Object.prototype&&(_t=Ko)):Op=!0);var hE=!uE(_t)||nE(function(){var a={};return _t[Jo].call(a)!==a});hE?_t={}:pE&&(_t=lE(_t));oE(_t[Jo])||cE(_t,Jo,function(){return this});Fp.exports={IteratorPrototype:_t,BUGGY_SAFARI_ITERATORS:Op}});var xs=b((dM,qp)=>{"use strict";var fE=$e(),mE=fE("toStringTag"),Np={};Np[mE]="z";qp.exports=String(Np)==="[object z]"});var qr=b((pM,Up)=>{"use strict";var bE=xs(),gE=ve(),ws=pi(),SE=$e(),vE=SE("toStringTag"),yE=Object,TE=ws(function(){return arguments}())==="Arguments",IE=function(a,e){try{return a[e]}catch{}};Up.exports=bE?ws:function(a){var e,t,i;return a===void 0?"Undefined":a===null?"Null":typeof(t=IE(e=yE(a),vE))=="string"?t:TE?ws(e):(i=ws(e))==="Object"&&gE(e.callee)?"Arguments":i}});var jp=b((hM,Hp)=>{"use strict";var EE=xs(),xE=qr();Hp.exports=EE?{}.toString:function(){return"[object "+xE(this)+"]"}});var Ur=b((fM,Wp)=>{"use strict";var wE=xs(),AE=bi().f,PE=Ui(),kE=mt(),RE=jp(),LE=$e(),Qp=LE("toStringTag");Wp.exports=function(a,e,t,i){var r=t?a:a&&a.prototype;r&&(kE(r,Qp)||AE(r,Qp,{configurable:!0,value:e}),i&&!wE&&PE(r,"toString",RE))}});var zp=b((mM,Gp)=>{"use strict";var $E=Zo().IteratorPrototype,ME=Yo(),DE=Lr(),CE=Ur(),BE=gi(),VE=function(){return this};Gp.exports=function(a,e,t,i){var r=e+" Iterator";return a.prototype=ME($E,{next:DE(+!i,t)}),CE(a,r,!1,!0),BE[r]=VE,a}});var Kp=b((bM,Yp)=>{"use strict";var _E=Ae(),OE=wt();Yp.exports=function(a,e,t){try{return _E(OE(Object.getOwnPropertyDescriptor(a,e)[t]))}catch{}}});var Jp=b((gM,Xp)=>{"use strict";var FE=qe();Xp.exports=function(a){return FE(a)||a===null}});var eh=b((SM,Zp)=>{"use strict";var NE=Jp(),qE=String,UE=TypeError;Zp.exports=function(a){if(NE(a))return a;throw new UE("Can't set "+qE(a)+" as a prototype")}});var eu=b((vM,th)=>{"use strict";var HE=Kp(),jE=qe(),QE=Xt(),WE=eh();th.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var a=!1,e={},t;try{t=HE(Object.prototype,"__proto__","set"),t(e,[]),a=e instanceof Array}catch{}return function(r,s){return QE(r),WE(s),jE(r)&&(a?t(r,s):r.__proto__=s),r}}():void 0)});var ph=b((yM,dh)=>{"use strict";var GE=Te(),zE=Xe(),As=ft(),lh=jo(),YE=ve(),KE=zp(),ih=Ss(),rh=eu(),XE=Ur(),JE=Ui(),tu=Gi(),ZE=$e(),ah=gi(),ch=Zo(),ex=lh.PROPER,tx=lh.CONFIGURABLE,sh=ch.IteratorPrototype,Ps=ch.BUGGY_SAFARI_ITERATORS,Hr=ZE("iterator"),nh="keys",jr="values",oh="entries",uh=function(){return this};dh.exports=function(a,e,t,i,r,s,n){KE(t,e,i);var u=function(S){if(S===r&&d)return d;if(!Ps&&S&&S in c)return c[S];switch(S){case nh:return function(){return new t(this,S)};case jr:return function(){return new t(this,S)};case oh:return function(){return new t(this,S)}}return function(){return new t(this)}},o=e+" Iterator",l=!1,c=a.prototype,p=c[Hr]||c["@@iterator"]||r&&c[r],d=!Ps&&p||u(r),h=e==="Array"&&c.entries||p,m,g,v;if(h&&(m=ih(h.call(new a)),m!==Object.prototype&&m.next&&(!As&&ih(m)!==sh&&(rh?rh(m,sh):YE(m[Hr])||tu(m,Hr,uh)),XE(m,o,!0,!0),As&&(ah[o]=uh))),ex&&r===jr&&p&&p.name!==jr&&(!As&&tx?JE(c,"name",jr):(l=!0,d=function(){return zE(p,this)})),r)if(g={values:u(jr),keys:s?d:u(nh),entries:u(oh)},n)for(v in g)(Ps||l||!(v in c))&&tu(c,v,g[v]);else GE({target:e,proto:!0,forced:Ps||l},g);return(!As||n)&&c[Hr]!==d&&tu(c,Hr,d,{name:r}),ah[e]=d,g}});var fh=b((TM,hh)=>{"use strict";hh.exports=function(a,e){return{value:a,done:e}}});var ru=b((IM,vh)=>{"use strict";var ix=hi(),iu=Fr(),mh=gi(),gh=qo(),rx=bi().f,ax=ph(),ks=fh(),sx=ft(),nx=Ke(),Sh="Array Iterator",ox=gh.set,ux=gh.getterFor(Sh);vh.exports=ax(Array,"Array",function(a,e){ox(this,{type:Sh,target:ix(a),index:0,kind:e})},function(){var a=ux(this),e=a.target,t=a.index++;if(!e||t>=e.length)return a.target=null,ks(void 0,!0);switch(a.kind){case"keys":return ks(t,!1);case"values":return ks(e[t],!1)}return ks([t,e[t]],!1)},"values");var bh=mh.Arguments=mh.Array;iu("keys");iu("values");iu("entries");if(!sx&&nx&&bh.name!=="values")try{rx(bh,"name",{value:"values"})}catch{}});var Th=b((EM,yh)=>{"use strict";var lx=$e(),cx=gi(),dx=lx("iterator"),px=Array.prototype;yh.exports=function(a){return a!==void 0&&(cx.Array===a||px[dx]===a)}});var au=b((xM,Eh)=>{"use strict";var hx=qr(),Ih=Cr(),fx=$r(),mx=gi(),bx=$e(),gx=bx("iterator");Eh.exports=function(a){if(!fx(a))return Ih(a,gx)||Ih(a,"@@iterator")||mx[hx(a)]}});var wh=b((wM,xh)=>{"use strict";var Sx=Xe(),vx=wt(),yx=At(),Tx=Dr(),Ix=au(),Ex=TypeError;xh.exports=function(a,e){var t=arguments.length<2?Ix(a):e;if(vx(t))return yx(Sx(t,a));throw new Ex(Tx(a)+" is not iterable")}});var kh=b((AM,Ph)=>{"use strict";var xx=Xe(),Ah=At(),wx=Cr();Ph.exports=function(a,e,t){var i,r;Ah(a);try{if(i=wx(a,"return"),!i){if(e==="throw")throw t;return t}i=xx(i,a)}catch(s){r=!0,i=s}if(e==="throw")throw t;if(r)throw i;return Ah(i),t}});var Ls=b((PM,Mh)=>{"use strict";var Ax=qi(),Px=Xe(),kx=At(),Rx=Dr(),Lx=Th(),$x=Qi(),Rh=Mr(),Mx=wh(),Dx=au(),Lh=kh(),Cx=TypeError,Rs=function(a,e){this.stopped=a,this.result=e},$h=Rs.prototype;Mh.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=Ax(e,i),l,c,p,d,h,m,g,v=function(A){return l&&Lh(l,"normal"),new Rs(!0,A)},S=function(A){return r?(kx(A),u?o(A[0],A[1],v):o(A[0],A[1])):u?o(A,v):o(A)};if(s)l=a.iterator;else if(n)l=a;else{if(c=Dx(a),!c)throw new Cx(Rx(a)+" is not iterable");if(Lx(c)){for(p=0,d=$x(a);d>p;p++)if(h=S(a[p]),h&&Rh($h,h))return h;return new Rs(!1)}l=Mx(a,c)}for(m=s?a.next:l.next;!(g=Px(m,l)).done;){try{h=S(g.value)}catch(A){Lh(l,"throw",A)}if(typeof h=="object"&&h&&Rh($h,h))return h}return new Rs(!1)}});var Ch=b((kM,Dh)=>{"use strict";var Bx=Ke(),Vx=bi(),_x=Lr();Dh.exports=function(a,e,t){Bx?Vx.f(a,e,_x(0,t)):a[e]=t}});var Bh=b(()=>{"use strict";var Ox=Te(),Fx=Ls(),Nx=Ch();Ox({target:"Object",stat:!0},{fromEntries:function(e){var t={};return Fx(e,function(i,r){Nx(t,i,r)},{AS_ENTRIES:!0}),t}})});var _h=b(($M,Vh)=>{"use strict";ru();Bh();var qx=fi();Vh.exports=qx.Object.fromEntries});var Fh=b((MM,Oh)=>{"use strict";Oh.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 qh=b(()=>{"use strict";ru();var Ux=Fh(),Hx=Se(),jx=Ur(),Nh=gi();for($s in Ux)jx(Hx[$s],$s),Nh[$s]=Nh.Array;var $s});var Hh=b((BM,Uh)=>{"use strict";var Qx=_h();qh();Uh.exports=Qx});var su=b((VM,jh)=>{"use strict";var Wx=Hh();jh.exports=Wx});var Qh=b(()=>{"use strict"});var nu=b((FM,Wh)=>{"use strict";var Qr=Se(),Gx=mi(),zx=pi(),Ms=function(a){return Gx.slice(0,a.length)===a};Wh.exports=function(){return Ms("Bun/")?"BUN":Ms("Cloudflare-Workers")?"CLOUDFLARE":Ms("Deno/")?"DENO":Ms("Node.js/")?"NODE":Qr.Bun&&typeof Bun.version=="string"?"BUN":Qr.Deno&&typeof Deno.version=="object"?"DENO":zx(Qr.process)==="process"?"NODE":Qr.window&&Qr.document?"BROWSER":"REST"}()});var Ds=b((NM,Gh)=>{"use strict";var Yx=nu();Gh.exports=Yx==="NODE"});var Yh=b((qM,zh)=>{"use strict";var Kx=bi();zh.exports=function(a,e,t){return Kx.f(a,e,t)}});var Jh=b((UM,Xh)=>{"use strict";var Xx=Vt(),Jx=Yh(),Zx=$e(),ew=Ke(),Kh=Zx("species");Xh.exports=function(a){var e=Xx(a);ew&&e&&!e[Kh]&&Jx(e,Kh,{configurable:!0,get:function(){return this}})}});var ef=b((HM,Zh)=>{"use strict";var tw=Mr(),iw=TypeError;Zh.exports=function(a,e){if(tw(e,a))return a;throw new iw("Incorrect invocation")}});var uu=b((jM,tf)=>{"use strict";var rw=Ae(),aw=ve(),ou=Br(),sw=rw(Function.toString);aw(ou.inspectSource)||(ou.inspectSource=function(a){return sw(a)});tf.exports=ou.inspectSource});var cu=b((QM,of)=>{"use strict";var nw=Ae(),ow=we(),rf=ve(),uw=qr(),lw=Vt(),cw=uu(),af=function(){},sf=lw("Reflect","construct"),lu=/^\s*(?:class|function)\b/,dw=nw(lu.exec),pw=!lu.test(af),Wr=function(e){if(!rf(e))return!1;try{return sf(af,[],e),!0}catch{return!1}},nf=function(e){if(!rf(e))return!1;switch(uw(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return pw||!!dw(lu,cw(e))}catch{return!0}};nf.sham=!0;of.exports=!sf||ow(function(){var a;return Wr(Wr.call)||!Wr(Object)||!Wr(function(){a=!0})||a})?nf:Wr});var lf=b((WM,uf)=>{"use strict";var hw=cu(),fw=Dr(),mw=TypeError;uf.exports=function(a){if(hw(a))return a;throw new mw(fw(a)+" is not a constructor")}});var du=b((GM,df)=>{"use strict";var cf=At(),bw=lf(),gw=$r(),Sw=$e(),vw=Sw("species");df.exports=function(a,e){var t=cf(a).constructor,i;return t===void 0||gw(i=cf(t)[vw])?e:bw(i)}});var hf=b((zM,pf)=>{"use strict";var yw=Ae();pf.exports=yw([].slice)});var mf=b((YM,ff)=>{"use strict";var Tw=TypeError;ff.exports=function(a,e){if(a<e)throw new Tw("Not enough arguments");return a}});var pu=b((KM,bf)=>{"use strict";var Iw=mi();bf.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(Iw)});var Tu=b((XM,wf)=>{"use strict";var Je=Se(),Ew=io(),xw=qi(),gf=ve(),ww=mt(),xf=we(),Sf=Qo(),Aw=hf(),vf=fs(),Pw=mf(),kw=pu(),Rw=Ds(),Su=Je.setImmediate,vu=Je.clearImmediate,Lw=Je.process,hu=Je.Dispatch,$w=Je.Function,yf=Je.MessageChannel,Mw=Je.String,fu=0,Gr={},Tf="onreadystatechange",zr,vi,mu,bu;xf(function(){zr=Je.location});var yu=function(a){if(ww(Gr,a)){var e=Gr[a];delete Gr[a],e()}},gu=function(a){return function(){yu(a)}},If=function(a){yu(a.data)},Ef=function(a){Je.postMessage(Mw(a),zr.protocol+"//"+zr.host)};(!Su||!vu)&&(Su=function(e){Pw(arguments.length,1);var t=gf(e)?e:$w(e),i=Aw(arguments,1);return Gr[++fu]=function(){Ew(t,void 0,i)},vi(fu),fu},vu=function(e){delete Gr[e]},Rw?vi=function(a){Lw.nextTick(gu(a))}:hu&&hu.now?vi=function(a){hu.now(gu(a))}:yf&&!kw?(mu=new yf,bu=mu.port2,mu.port1.onmessage=If,vi=xw(bu.postMessage,bu)):Je.addEventListener&&gf(Je.postMessage)&&!Je.importScripts&&zr&&zr.protocol!=="file:"&&!xf(Ef)?(vi=Ef,Je.addEventListener("message",If,!1)):Tf in vf("script")?vi=function(a){Sf.appendChild(vf("script"))[Tf]=function(){Sf.removeChild(this),yu(a)}}:vi=function(a){setTimeout(gu(a),0)});wf.exports={set:Su,clear:vu}});var kf=b((JM,Pf)=>{"use strict";var Af=Se(),Dw=Ke(),Cw=Object.getOwnPropertyDescriptor;Pf.exports=function(a){if(!Dw)return Af[a];var e=Cw(Af,a);return e&&e.value}});var Iu=b((ZM,Lf)=>{"use strict";var Rf=function(){this.head=null,this.tail=null};Rf.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}}};Lf.exports=Rf});var Mf=b((eD,$f)=>{"use strict";var Bw=mi();$f.exports=/ipad|iphone|ipod/i.test(Bw)&&typeof Pebble<"u"});var Cf=b((tD,Df)=>{"use strict";var Vw=mi();Df.exports=/web0s(?!.*chrome)/i.test(Vw)});var qf=b((iD,Nf)=>{"use strict";var Yi=Se(),_w=kf(),Bf=qi(),Eu=Tu().set,Ow=Iu(),Fw=pu(),Nw=Mf(),qw=Cf(),xu=Ds(),Vf=Yi.MutationObserver||Yi.WebKitMutationObserver,_f=Yi.document,Of=Yi.process,Cs=Yi.Promise,Pu=_w("queueMicrotask"),zi,wu,Au,Bs,Ff;Pu||(Yr=new Ow,Kr=function(){var a,e;for(xu&&(a=Of.domain)&&a.exit();e=Yr.get();)try{e()}catch(t){throw Yr.head&&zi(),t}a&&a.enter()},!Fw&&!xu&&!qw&&Vf&&_f?(wu=!0,Au=_f.createTextNode(""),new Vf(Kr).observe(Au,{characterData:!0}),zi=function(){Au.data=wu=!wu}):!Nw&&Cs&&Cs.resolve?(Bs=Cs.resolve(void 0),Bs.constructor=Cs,Ff=Bf(Bs.then,Bs),zi=function(){Ff(Kr)}):xu?zi=function(){Of.nextTick(Kr)}:(Eu=Bf(Eu,Yi),zi=function(){Eu(Kr)}),Pu=function(a){Yr.head||zi(),Yr.add(a)});var Yr,Kr;Nf.exports=Pu});var Hf=b((rD,Uf)=>{"use strict";Uf.exports=function(a,e){try{arguments.length===1?console.error(a):console.error(a,e)}catch{}}});var Vs=b((aD,jf)=>{"use strict";jf.exports=function(a){try{return{error:!1,value:a()}}catch(e){return{error:!0,value:e}}}});var yi=b((sD,Qf)=>{"use strict";var Uw=Se();Qf.exports=Uw.Promise});var Ki=b((nD,Yf)=>{"use strict";var Hw=Se(),Xr=yi(),jw=ve(),Qw=wo(),Ww=uu(),Gw=$e(),Wf=nu(),zw=ft(),ku=po(),Gf=Xr&&Xr.prototype,Yw=Gw("species"),Ru=!1,zf=jw(Hw.PromiseRejectionEvent),Kw=Qw("Promise",function(){var a=Ww(Xr),e=a!==String(Xr);if(!e&&ku===66||zw&&!(Gf.catch&&Gf.finally))return!0;if(!ku||ku<51||!/native code/.test(a)){var t=new Xr(function(s){s(1)}),i=function(s){s(function(){},function(){})},r=t.constructor={};if(r[Yw]=i,Ru=t.then(function(){})instanceof i,!Ru)return!0}return!e&&(Wf==="BROWSER"||Wf==="DENO")&&!zf});Yf.exports={CONSTRUCTOR:Kw,REJECTION_EVENT:zf,SUBCLASSING:Ru}});var Xi=b((oD,Xf)=>{"use strict";var Kf=wt(),Xw=TypeError,Jw=function(a){var e,t;this.promise=new a(function(i,r){if(e!==void 0||t!==void 0)throw new Xw("Bad Promise constructor");e=i,t=r}),this.resolve=Kf(e),this.reject=Kf(t)};Xf.exports.f=function(a){return new Jw(a)}});var gm=b(()=>{"use strict";var Zw=Te(),eA=ft(),Ns=Ds(),Zt=Se(),tA=fi(),tr=Xe(),Jf=Gi(),Zf=eu(),iA=Ur(),rA=Jh(),aA=wt(),Fs=ve(),sA=qe(),nA=ef(),oA=du(),am=Tu().set,Cu=qf(),uA=Hf(),lA=Vs(),cA=Iu(),sm=qo(),qs=yi(),Bu=Ki(),nm=Xi(),Us="Promise",om=Bu.CONSTRUCTOR,dA=Bu.REJECTION_EVENT,pA=Bu.SUBCLASSING,Lu=sm.getterFor(Us),hA=sm.set,Ji=qs&&qs.prototype,Ti=qs,_s=Ji,um=Zt.TypeError,$u=Zt.document,Vu=Zt.process,Mu=nm.f,fA=Mu,mA=!!($u&&$u.createEvent&&Zt.dispatchEvent),lm="unhandledrejection",bA="rejectionhandled",em=0,cm=1,gA=2,_u=1,dm=2,Os,tm,pm,im,hm=function(a){var e;return sA(a)&&Fs(e=a.then)?e:!1},fm=function(a,e){var t=e.value,i=e.state===cm,r=i?a.ok:a.fail,s=a.resolve,n=a.reject,u=a.domain,o,l,c;try{r?(i||(e.rejection===dm&&vA(e),e.rejection=_u),r===!0?o=t:(u&&u.enter(),o=r(t),u&&(u.exit(),c=!0)),o===a.promise?n(new um("Promise-chain cycle")):(l=hm(o))?tr(l,o,s,n):s(o)):n(t)}catch(p){u&&!c&&u.exit(),n(p)}},mm=function(a,e){a.notified||(a.notified=!0,Cu(function(){for(var t=a.reactions,i;i=t.get();)fm(i,a);a.notified=!1,e&&!a.rejection&&SA(a)}))},bm=function(a,e,t){var i,r;mA?(i=$u.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(a,!1,!0),Zt.dispatchEvent(i)):i={promise:e,reason:t},!dA&&(r=Zt["on"+a])?r(i):a===lm&&uA("Unhandled promise rejection",t)},SA=function(a){tr(am,Zt,function(){var e=a.facade,t=a.value,i=rm(a),r;if(i&&(r=lA(function(){Ns?Vu.emit("unhandledRejection",t,e):bm(lm,e,t)}),a.rejection=Ns||rm(a)?dm:_u,r.error))throw r.value})},rm=function(a){return a.rejection!==_u&&!a.parent},vA=function(a){tr(am,Zt,function(){var e=a.facade;Ns?Vu.emit("rejectionHandled",e):bm(bA,e,a.value)})},Zi=function(a,e,t){return function(i){a(e,i,t)}},er=function(a,e,t){a.done||(a.done=!0,t&&(a=t),a.value=e,a.state=gA,mm(a,!0))},Du=function(a,e,t){if(!a.done){a.done=!0,t&&(a=t);try{if(a.facade===e)throw new um("Promise can't be resolved itself");var i=hm(e);i?Cu(function(){var r={done:!1};try{tr(i,e,Zi(Du,r,a),Zi(er,r,a))}catch(s){er(r,s,a)}}):(a.value=e,a.state=cm,mm(a,!1))}catch(r){er({done:!1},r,a)}}};if(om&&(Ti=function(e){nA(this,_s),aA(e),tr(Os,this);var t=Lu(this);try{e(Zi(Du,t),Zi(er,t))}catch(i){er(t,i)}},_s=Ti.prototype,Os=function(e){hA(this,{type:Us,done:!1,notified:!1,parent:!1,reactions:new cA,rejection:!1,state:em,value:null})},Os.prototype=Jf(_s,"then",function(e,t){var i=Lu(this),r=Mu(oA(this,Ti));return i.parent=!0,r.ok=Fs(e)?e:!0,r.fail=Fs(t)&&t,r.domain=Ns?Vu.domain:void 0,i.state===em?i.reactions.add(r):Cu(function(){fm(r,i)}),r.promise}),tm=function(){var a=new Os,e=Lu(a);this.promise=a,this.resolve=Zi(Du,e),this.reject=Zi(er,e)},nm.f=Mu=function(a){return a===Ti||a===pm?new tm(a):fA(a)},!eA&&Fs(qs)&&Ji!==Object.prototype)){im=Ji.then,pA||Jf(Ji,"then",function(e,t){var i=this;return new Ti(function(r,s){tr(im,i,r,s)}).then(e,t)},{unsafe:!0});try{delete Ji.constructor}catch{}Zf&&Zf(Ji,_s)}Zw({global:!0,constructor:!0,wrap:!0,forced:om},{Promise:Ti});pm=tA.Promise;iA(Ti,Us,!1,!0);rA(Us)});var Im=b((cD,Tm)=>{"use strict";var yA=$e(),vm=yA("iterator"),ym=!1;try{Sm=0,Ou={next:function(){return{done:!!Sm++}},return:function(){ym=!0}},Ou[vm]=function(){return this},Array.from(Ou,function(){throw 2})}catch{}var Sm,Ou;Tm.exports=function(a,e){try{if(!e&&!ym)return!1}catch{return!1}var t=!1;try{var i={};i[vm]=function(){return{next:function(){return{done:t=!0}}}},a(i)}catch{}return t}});var Fu=b((dD,Em)=>{"use strict";var TA=yi(),IA=Im(),EA=Ki().CONSTRUCTOR;Em.exports=EA||!IA(function(a){TA.all(a).then(void 0,function(){})})});var xm=b(()=>{"use strict";var xA=Te(),wA=Xe(),AA=wt(),PA=Xi(),kA=Vs(),RA=Ls(),LA=Fu();xA({target:"Promise",stat:!0,forced:LA},{all:function(e){var t=this,i=PA.f(t),r=i.resolve,s=i.reject,n=kA(function(){var u=AA(t.resolve),o=[],l=0,c=1;RA(e,function(p){var d=l++,h=!1;c++,wA(u,t,p).then(function(m){h||(h=!0,o[d]=m,--c||r(o))},s)}),--c||r(o)});return n.error&&s(n.value),i.promise}})});var Am=b(()=>{"use strict";var $A=Te(),MA=ft(),DA=Ki().CONSTRUCTOR,qu=yi(),CA=Vt(),BA=ve(),VA=Gi(),wm=qu&&qu.prototype;$A({target:"Promise",proto:!0,forced:DA,real:!0},{catch:function(a){return this.then(void 0,a)}});!MA&&BA(qu)&&(Nu=CA("Promise").prototype.catch,wm.catch!==Nu&&VA(wm,"catch",Nu,{unsafe:!0}));var Nu});var Pm=b(()=>{"use strict";var _A=Te(),OA=Xe(),FA=wt(),NA=Xi(),qA=Vs(),UA=Ls(),HA=Fu();_A({target:"Promise",stat:!0,forced:HA},{race:function(e){var t=this,i=NA.f(t),r=i.reject,s=qA(function(){var n=FA(t.resolve);UA(e,function(u){OA(n,t,u).then(i.resolve,r)})});return s.error&&r(s.value),i.promise}})});var km=b(()=>{"use strict";var jA=Te(),QA=Xi(),WA=Ki().CONSTRUCTOR;jA({target:"Promise",stat:!0,forced:WA},{reject:function(e){var t=QA.f(this),i=t.reject;return i(e),t.promise}})});var Uu=b((yD,Rm)=>{"use strict";var GA=At(),zA=qe(),YA=Xi();Rm.exports=function(a,e){if(GA(a),zA(e)&&e.constructor===a)return e;var t=YA.f(a),i=t.resolve;return i(e),t.promise}});var Mm=b(()=>{"use strict";var KA=Te(),XA=Vt(),Lm=ft(),JA=yi(),$m=Ki().CONSTRUCTOR,ZA=Uu(),eP=XA("Promise"),tP=Lm&&!$m;KA({target:"Promise",stat:!0,forced:Lm||$m},{resolve:function(e){return ZA(tP&&this===eP?JA:this,e)}})});var Dm=b(()=>{"use strict";gm();xm();Am();Pm();km();Mm()});var _m=b(()=>{"use strict";var iP=Te(),rP=ft(),Hs=yi(),aP=we(),Bm=Vt(),Vm=ve(),sP=du(),Cm=Uu(),nP=Gi(),ju=Hs&&Hs.prototype,oP=!!Hs&&aP(function(){ju.finally.call({then:function(){}},function(){})});iP({target:"Promise",proto:!0,real:!0,forced:oP},{finally:function(a){var e=sP(this,Bm("Promise")),t=Vm(a);return this.then(t?function(i){return Cm(e,a()).then(function(){return i})}:a,t?function(i){return Cm(e,a()).then(function(){throw i})}:a)}});!rP&&Vm(Hs)&&(Hu=Bm("Promise").prototype.finally,ju.finally!==Hu&&nP(ju,"finally",Hu,{unsafe:!0}));var Hu});var Fm=b((PD,Om)=>{"use strict";Qh();Dm();_m();var uP=Jt();Om.exports=uP("Promise","finally")});var qm=b((kD,Nm)=>{"use strict";var lP=Fm();Nm.exports=lP});var js=b((RD,Um)=>{"use strict";var cP=qm();Um.exports=cP});var tb=b(()=>{"use strict";var TP=Te(),IP=_o().values;TP({target:"Object",stat:!0},{values:function(e){return IP(e)}})});var rb=b((FC,ib)=>{"use strict";tb();var EP=fi();ib.exports=EP.Object.values});var sb=b((NC,ab)=>{"use strict";var xP=rb();ab.exports=xP});var ar=b((qC,nb)=>{"use strict";var wP=sb();nb.exports=wP});var cb=b(()=>{"use strict";var RP=Te(),LP=Fi(),$P=Qi(),MP=Or(),DP=Fr();RP({target:"Array",proto:!0},{at:function(e){var t=LP(this),i=$P(t),r=MP(e),s=r>=0?r:i+r;return s<0||s>=i?void 0:t[s]}});DP("at")});var pb=b((hB,db)=>{"use strict";cb();var CP=Jt();db.exports=CP("Array","at")});var fb=b((fB,hb)=>{"use strict";var BP=pb();hb.exports=BP});var gt=b((mB,mb)=>{"use strict";var VP=fb();mb.exports=VP});var pl=b((Y0,Fb)=>{"use strict";var GP=pi();Fb.exports=Array.isArray||function(e){return GP(e)==="Array"}});var qb=b((K0,Nb)=>{"use strict";var zP=TypeError,YP=9007199254740991;Nb.exports=function(a){if(a>YP)throw zP("Maximum allowed index exceeded");return a}});var jb=b((X0,Hb)=>{"use strict";var KP=pl(),XP=Qi(),JP=qb(),ZP=qi(),Ub=function(a,e,t,i,r,s,n,u){for(var o=r,l=0,c=n?ZP(n,u):!1,p,d;l<i;)l in t&&(p=c?c(t[l],l,e):t[l],s>0&&KP(p)?(d=XP(p),o=Ub(a,e,p,d,o,s-1)-1):(JP(o+1),a[o]=p),o++),l++;return o};Hb.exports=Ub});var zb=b((J0,Gb)=>{"use strict";var Qb=pl(),ek=cu(),tk=qe(),ik=$e(),rk=ik("species"),Wb=Array;Gb.exports=function(a){var e;return Qb(a)&&(e=a.constructor,ek(e)&&(e===Wb||Qb(e.prototype))?e=void 0:tk(e)&&(e=e[rk],e===null&&(e=void 0))),e===void 0?Wb:e}});var Kb=b((Z0,Yb)=>{"use strict";var ak=zb();Yb.exports=function(a,e){return new(ak(a))(e===0?0:e)}});var Xb=b(()=>{"use strict";var sk=Te(),nk=jb(),ok=wt(),uk=Fi(),lk=Qi(),ck=Kb();sk({target:"Array",proto:!0},{flatMap:function(e){var t=uk(this),i=lk(t),r;return ok(e),r=ck(t,0),r.length=nk(r,t,t,i,0,1,e,arguments.length>1?arguments[1]:void 0),r}})});var Jb=b(()=>{"use strict";var dk=Fr();dk("flatMap")});var eg=b((aV,Zb)=>{"use strict";Xb();Jb();var pk=Jt();Zb.exports=pk("Array","flatMap")});var ig=b((sV,tg)=>{"use strict";var hk=eg();tg.exports=hk});var la=b((nV,rg)=>{"use strict";var fk=ig();rg.exports=fk});var ca=b((oV,ag)=>{"use strict";var mk=qr(),bk=String;ag.exports=function(a){if(mk(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return bk(a)}});var hl=b((uV,sg)=>{"use strict";sg.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 ug=b((lV,og)=>{"use strict";var gk=Ae(),Sk=Xt(),vk=ca(),ml=hl(),ng=gk("".replace),yk=RegExp("^["+ml+"]+"),Tk=RegExp("(^|[^"+ml+"])["+ml+"]+$"),fl=function(a){return function(e){var t=vk(Sk(e));return a&1&&(t=ng(t,yk,"")),a&2&&(t=ng(t,Tk,"$1")),t}};og.exports={start:fl(1),end:fl(2),trim:fl(3)}});var pg=b((cV,dg)=>{"use strict";var Ik=jo().PROPER,Ek=we(),lg=hl(),cg="\u200B\x85\u180E";dg.exports=function(a){return Ek(function(){return!!lg[a]()||cg[a]()!==cg||Ik&&lg[a].name!==a})}});var bl=b((dV,hg)=>{"use strict";var xk=ug().start,wk=pg();hg.exports=wk("trimStart")?function(){return xk(this)}:"".trimStart});var mg=b(()=>{"use strict";var Ak=Te(),fg=bl();Ak({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==fg},{trimLeft:fg})});var gg=b(()=>{"use strict";mg();var Pk=Te(),bg=bl();Pk({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==bg},{trimStart:bg})});var vg=b((bV,Sg)=>{"use strict";gg();var kk=Jt();Sg.exports=kk("String","trimLeft")});var Tg=b((gV,yg)=>{"use strict";var Rk=vg();yg.exports=Rk});var Eg=b((SV,Ig)=>{"use strict";var Lk=Tg();Ig.exports=Lk});var Og=b(()=>{"use strict"});var Fg=b(()=>{"use strict"});var qg=b((ZO,Ng)=>{"use strict";var Kk=qe(),Xk=pi(),Jk=$e(),Zk=Jk("match");Ng.exports=function(a){var e;return Kk(a)&&((e=a[Zk])!==void 0?!!e:Xk(a)==="RegExp")}});var jg=b((eF,Hg)=>{"use strict";var eR=Se(),tR=we(),Ug=eR.RegExp,iR=!tR(function(){var a=!0;try{Ug(".","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(Ug.prototype,"flags").get.call(e);return u!==i||t!==i});Hg.exports={correct:iR}});var Wg=b((tF,Qg)=>{"use strict";var rR=At();Qg.exports=function(){var a=rR(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 Yg=b((iF,zg)=>{"use strict";var aR=Xe(),sR=mt(),nR=Mr(),Gg=jg(),oR=Wg(),uR=RegExp.prototype;zg.exports=Gg.correct?function(a){return a.flags}:function(a){return!Gg.correct&&nR(uR,a)&&!sR(a,"flags")?aR(oR,a):a.flags}});var Xg=b((rF,Kg)=>{"use strict";var yl=Ae(),lR=Fi(),cR=Math.floor,Sl=yl("".charAt),dR=yl("".replace),vl=yl("".slice),pR=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,hR=/\$([$&'`]|\d{1,2})/g;Kg.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=hR;return r!==void 0&&(r=lR(r),o=pR),dR(s,o,function(l,c){var p;switch(Sl(c,0)){case"$":return"$";case"&":return a;case"`":return vl(e,0,t);case"'":return vl(e,n);case"<":p=r[vl(c,1,-1)];break;default:var d=+c;if(d===0)return l;if(d>u){var h=cR(d/10);return h===0?l:h<=u?i[h-1]===void 0?Sl(c,1):i[h-1]+Sl(c,1):l}p=i[d-1]}return p===void 0?"":p})}});var eS=b(()=>{"use strict";var fR=Te(),mR=Xe(),Il=Ae(),Jg=Xt(),bR=ve(),gR=qe(),SR=qg(),fr=ca(),vR=Cr(),yR=Yg(),TR=Xg(),IR=$e(),ER=ft(),xR=IR("replace"),wR=TypeError,Tl=Il("".indexOf),AR=Il("".replace),Zg=Il("".slice),PR=Math.max;fR({target:"String",proto:!0},{replaceAll:function(e,t){var i=Jg(this),r,s,n,u,o,l,c,p,d,h,m=0,g="";if(gR(e)){if(r=SR(e),r&&(s=fr(Jg(yR(e))),!~Tl(s,"g")))throw new wR("`.replaceAll` does not allow non-global regexes");if(n=vR(e,xR),n)return mR(n,e,i,t);if(ER&&r)return AR(fr(i),e,t)}for(u=fr(i),o=fr(e),l=bR(t),l||(t=fr(t)),c=o.length,p=PR(1,c),d=Tl(u,o);d!==-1;)h=l?fr(t(o,d,u)):TR(o,u,d,[],void 0,t),g+=Zg(u,m,d)+h,m=d+c,d=d+p>u.length?-1:Tl(u,o,d+p);return m<u.length&&(g+=Zg(u,m)),g}})});var iS=b((nF,tS)=>{"use strict";Og();Fg();eS();var kR=Jt();tS.exports=kR("String","replaceAll")});var aS=b((oF,rS)=>{"use strict";var RR=iS();rS.exports=RR});var nS=b((uF,sS)=>{"use strict";var LR=aS();sS.exports=LR});var uS=b((lF,oS)=>{"use strict";var $R=Or(),MR=ca(),DR=Xt(),CR=RangeError;oS.exports=function(e){var t=MR(DR(this)),i="",r=$R(e);if(r<0||r===1/0)throw new CR("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var hS=b((cF,pS)=>{"use strict";var dS=Ae(),BR=$o(),lS=ca(),VR=uS(),_R=Xt(),OR=dS(VR),FR=dS("".slice),NR=Math.ceil,cS=function(a){return function(e,t,i){var r=lS(_R(e)),s=BR(t),n=r.length,u=i===void 0?" ":lS(i),o,l;return s<=n||u===""?r:(o=s-n,l=OR(u,NR(o/u.length)),l.length>o&&(l=FR(l,0,o)),a?r+l:l+r)}};pS.exports={start:cS(!1),end:cS(!0)}});var mS=b((dF,fS)=>{"use strict";var qR=mi();fS.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(qR)});var bS=b(()=>{"use strict";var UR=Te(),HR=hS().start,jR=mS();UR({target:"String",proto:!0,forced:jR},{padStart:function(e){return HR(this,e,arguments.length>1?arguments[1]:void 0)}})});var SS=b((fF,gS)=>{"use strict";bS();var QR=Jt();gS.exports=QR("String","padStart")});var yS=b((mF,vS)=>{"use strict";var WR=SS();vS.exports=WR});var IS=b((bF,TS)=>{"use strict";var GR=yS();TS.exports=GR});var IL={};Cv(IL,{ChromecastState:()=>Ar,HttpConnectionType:()=>cs,Observable:()=>Ct.Observable,PlaybackState:()=>Ve,Player:()=>es,PredefinedQualityLimits:()=>Pr,SDK_VERSION:()=>TL,Subject:()=>Ct.Subject,Subscription:()=>Ct.Subscription,Surface:()=>ds,VERSION:()=>eo,ValueSubject:()=>Ct.ValueSubject,VideoFormat:()=>xt,VideoQuality:()=>Ct.VideoQuality,areValidLiveRecordSources:()=>Km,clientChecker:()=>j,isMobile:()=>ir});module.exports=Bv(IL);var eo="2.0.138-dev.2ae4679e.0";var Ve=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Ve||{}),xt=(x=>(x.MPEG="MPEG",x.DASH="DASH",x.DASH_SEP="DASH_SEP",x.DASH_SEP_VK="DASH_SEP",x.DASH_WEBM="DASH_WEBM",x.DASH_WEBM_AV1="DASH_WEBM_AV1",x.DASH_STREAMS="DASH_STREAMS",x.DASH_WEBM_VK="DASH_WEBM",x.DASH_ONDEMAND="DASH_ONDEMAND",x.DASH_ONDEMAND_VK="DASH_ONDEMAND",x.DASH_LIVE="DASH_LIVE",x.DASH_LIVE_CMAF="DASH_LIVE_CMAF",x.DASH_LIVE_WEBM="DASH_LIVE_WEBM",x.HLS="HLS",x.HLS_ONDEMAND="HLS_ONDEMAND",x.HLS_JS="HLS",x.HLS_FMP4="HLS_FMP4",x.HLS_LIVE="HLS_LIVE",x.HLS_LIVE_CMAF="HLS_LIVE_CMAF",x.WEB_RTC_LIVE="WEB_RTC_LIVE",x))(xt||{});var Ar=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(Ar||{}),cs=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(cs||{});var ds=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(ds||{}),Pr=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Pr||{});var xv=H(_e(),1);var J=require("@vkontakte/videoplayer-shared");var Gd=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 bs=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||Gd("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=H(_e(),1),dv=H(Wi(),1),pv=H(su(),1);var Jm=H(js(),1);var Qu=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,Qu.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,Qu.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 Gu=require("@vkontakte/videoplayer-shared");var Qs=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 Hm=H(_e(),1);var ir=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var Ws=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,Hm.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=ir()}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 Gs=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,rr=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),jm=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),zs=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var dP=document.createElement("video"),pP='video/mp4; codecs="avc1.42000a,mp4a.40.2"',hP='video/mp4; codecs="hev1.1.6.L93.B0"',Qm='video/webm; codecs="vp09.00.10.08"',Wm='video/webm; codecs="av01.0.00M.08"',fP='audio/mp4; codecs="mp4a.40.2"',mP='audio/webm; codecs="opus"',Gm,bP=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:Wm}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Qm}})]);Gm={DASH_WEBM_AV1:e,DASH_WEBM:t}};bP().catch(a=>{console.log(dP),console.error(a)});var Ys=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 Gm}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:rr(),mse:jm(),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?.(pP),t=!!Ze()?.isTypeSupported?.(hP),i=!!Ze()?.isTypeSupported?.(fP);this._codecs={h264:e,h265:t,vp9:!!Ze()?.isTypeSupported?.(Qm),av1:!!Ze()?.isTypeSupported?.(Wm),aac:i,opus:!!Ze()?.isTypeSupported?.(mP),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 zm="audio/mpeg",Ks=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(zm)},this._codecs={mp3:!!Ze()?.isTypeSupported?.(zm)}}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 Ym=require("@vkontakte/videoplayer-shared"),Wu=class{constructor(){this.isInited$=new Ym.ValueSubject(!1);this._displayChecker=new Gs,this._deviceChecker=new Ws(this._displayChecker),this._browserChecker=new Qs,this._videoChecker=new Ys(this._deviceChecker,this._browserChecker),this._audioChecker=new Ks,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)}},j=new Wu;var zu=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=j.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,Gu.assertNever)(u)}})},Yu=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,Gu.assertNever)(a)}},Km=a=>{let t=Object.keys(a).filter(i=>!Yu(i));return zu(t).length>0};var N=require("@vkontakte/videoplayer-shared");var gP=5,SP=5,vP=500,Xm=7e3,Jr=class{constructor(e){this.subscription=new N.Subscription;this.loadMediaTimeoutSubscription=new N.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,N.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,N.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,N.assertNever)(e)}break}default:(0,N.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(Yu(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 N.Subscription;this.subscription.add(e),this.subscription.add((0,N.merge)(this.videoState.stateChangeStarted$.pipe((0,N.map)(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe((0,N.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 N.Subject;e.add(r.pipe((0,N.debounce)(vP)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add((0,N.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)>gP)&&r.next(u),s=u})),e.add((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t((0,N.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,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t((0,N.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<SP&&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,N.assertNever)(n)}}),t((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=(0,N.merge)(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,(0,N.observableFrom)(["init"])).pipe((0,N.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,N.assertNonNullable)(l);let c=(0,N.getHighestQuality)(Object.keys(l));(0,N.assertNonNullable)(c);let p=l[c];(0,N.assertNonNullable)(p),i=p,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];(0,N.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,N.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,N.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,N.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",c=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:N.ErrorCategory.VIDEO_PIPELINE,message:l,thrown:c}),c}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return(0,N.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,N.isNonNullable)(u)&&(n.metadata.title=u),(0,N.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,N.timeout)(Xm).subscribe(()=>s(`timeout(${Xm})`)))});(0,Jm.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:N.ErrorCategory.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var cl=H(_e(),1);var Zu=require("@vkontakte/videoplayer-shared");var Zm=require("@vkontakte/videoplayer-shared"),eb=a=>{try{a.pause(),a.playbackRate=0,(0,Zm.clearVideoElement)(a),a.remove()}catch(e){console.error(e)}};var Xs=require("@vkontakte/videoplayer-shared"),Ku=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)}},Xu=window.WeakMap?new WeakMap:new Ku,Ju=window.WeakMap?new WeakMap:new Map,yP=(a,e=20)=>{let t=0;return(0,Xs.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,Zu.clearVideoElement)(i):(i=document.createElement("video"),a.appendChild(i)),Xu.set(i,r);let s=new Xs.Subscription;return s.add(yP(i,e)),Ju.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=>{Ju.get(a)?.unsubscribe(),Ju.delete(a);let t=Xu.get(a);Xu.delete(a),t?(0,Zu.clearVideoElement)(a):eb(a)};var el=H(ar(),1),q=require("@vkontakte/videoplayer-shared");var ti=require("@vkontakte/videoplayer-shared"),Js=(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(c=>{let p=a.getState();i(c,p)&&a.setState(c)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(c=>{t(c.to),o&&a.setState(c.to)},s)),l},kt=(a,e,t)=>Js(e,()=>a.loop,i=>{(0,ti.isNonNullable)(i)&&(a.loop=i)},{onError:t}),je=(a,e,t,i)=>Js(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)=>Js(e,()=>a.playbackRate,r=>{(0,ti.isNonNullable)(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),Zr=Js;var AP=a=>["__",a.language,a.label].join("|"),PP=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},tl=class a{constructor(e){this.available$=new q.Subject;this.current$=new q.ValueSubject(void 0);this.error$=new q.Subject;this.subscription=new q.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:q.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,el.default)(this.internalTracks),s=>{(0,q.isNonNullable)(s)&&this.setInternal(s)},{equal:(s,n)=>(0,q.isNonNullable)(s)&&(0,q.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,q.map)(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(Zr(t.externalTextTracks,()=>(0,el.default)(this.externalTracks),s=>{(0,q.isNonNullable)(s)&&this.setExternal(s)},{equal:(s,n)=>(0,q.isNonNullable)(s)&&(0,q.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,q.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,q.assertNonNullable)(this.video);let{textTracks:e}=this.video;this.subscription.add((0,q.fromEvent)(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add((0,q.merge)((0,q.fromEvent)(e,"addtrack"),(0,q.fromEvent)(e,"removetrack"),(0,q.observableFrom)(["init"])).pipe((0,q.map)(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),(0,q.filterChanged)((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add((0,q.merge)((0,q.fromEvent)(e,"change"),(0,q.observableFrom)(["init"])).pipe((0,q.map)(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),(0,q.map)(i=>i&&this.htmlTextTrackToITextTrack(i).id),(0,q.filterChanged)()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add((0,q.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,q.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,q.isNonNullable)(t.align)&&(r.align=t.align),(0,q.isNonNullable)(t.position)&&(r.position=t.position),(0,q.isNonNullable)(t.size)&&(r.size=t.size),(0,q.isNonNullable)(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){(0,q.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:AP(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,q.assertNonNullable)(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))((0,q.isNullable)(e)||!PP(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,q.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,q.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=tl;var Ii=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 ob=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},il=a=>{let e=ob(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},ub=a=>{let e=ob(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};var $=require("@vkontakte/videoplayer-shared");var kP=3,lb=(a,e,t=kP)=>{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=w=>(0,$.fromEvent)(a,w).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)(()=>lb(a.buffered,a.currentTime)),(0,$.shareReplay)(1)),s=j.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 w=a.error;return{id:w?`MediaError#${w.code}`:"HtmlVideoError",category:$.ErrorCategory.VIDEO_PIPELINE,message:w?w.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)),c=["waiting","seeking","seeked","timeupdate"],p=new $.Subject,d=.3,h;t.add((0,$.merge)(...c.map(w=>(0,$.fromEvent)(a,w))).subscribe(w=>{let ee=a.currentTime;a.loop&&(0,$.isNonNullable)(h)&&(0,$.isNonNullable)(ee)&&h>=a.duration-d&&ee<=d&&p.next(h),h=ee}));let m=e("pause").pipe((0,$.filter)(()=>!a.error&&h!==a.duration),(0,$.shareReplay)(1)),g=(0,$.fromEvent)(a,"enterpictureinpicture").pipe((0,$.shareReplay)(1)),v=(0,$.fromEvent)(a,"leavepictureinpicture").pipe((0,$.shareReplay)(1)),S=new $.ValueSubject(ub(a));t.add(g.subscribe(()=>S.next(!0))),t.add(v.subscribe(()=>S.next(!1)));let A=new $.ValueSubject(il(a)),L=(0,$.fromEvent)(a,"fullscreenchange").pipe((0,$.shareReplay)(1));t.add(L.pipe((0,$.map)(()=>il(a))).subscribe(A));let x=.1,D=1e3,U=(0,$.fromEvent)(a,"timeupdate").pipe((0,$.map)(w=>a.duration-a.currentTime<x),(0,$.filterChanged)(),(0,$.shareReplay)(1)),_=(0,$.merge)(U.pipe((0,$.filter)(w=>!a.loop&&w)),(0,$.fromEvent)(a,"ended")).pipe((0,$.throttle)(D),(0,$.mapTo)(void 0),(0,$.shareReplay)(1)),V=(0,$.merge)(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(w=>(0,$.fromEvent)(a,w)),U.pipe((0,$.map)(w=>({type:w?"ended":"unknown"})))).pipe((0,$.map)(w=>j.browser.isFirefox&&w.type==="ended"?a.readyState<2:a.readyState<3),(0,$.filterChanged)(),(0,$.shareReplay)(1));return{playing$:s,pause$:m,canplay$:e("canplay"),ended$:_,looped$:p,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$:V,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:S,inFullscreen$:A,enterPip$:g,leavePip$:v,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 Fe=H(gt(),1),sl=H(_e(),1),Ei=H(Wi(),1),M=require("@vkontakte/videoplayer-shared");var rl=!1,Nt={},bb=a=>{rl=a},gb=()=>{Nt={}},Sb=a=>{a(Nt)},ea=(a,e)=>{rl&&(Nt.meta=Nt.meta??{},Nt.meta[a]=e)},Oe=class{constructor(e){this.name=e}next(e){if(!rl)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 al(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function Zs(a,e,t){return!!a&&al(a,e,t)==="high_quality"}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 vb({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 xb=new Oe("best_bitrate"),tn=(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,M.now)()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},rn='Assertion "ABR Tracks is empty array" failed',en=new WeakMap,yb=new WeakMap,Tb=new WeakMap,ta=(a,e,t,i)=>{let r=[...e].sort(nr(1)),s=[...t].sort(nr(1)),n=s.filter(o=>(0,M.isNonNullable)(o.bitrate)&&(0,M.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Fe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Fe.default)(s,-1);return u&&(0,sl.default)(n,u)?u:n.length?(0,Fe.default)(n,-1):(0,Fe.default)(s,0)},ia=(a,e,t,i)=>{let r=en.get(e);r||(r=[...e].sort(nr(1)),en.set(e,r));let s=en.get(t);s||(s=[...t].sort(nr(1)),en.set(t,s));let n=Tb.get(a);n||(n=s.filter(o=>(0,M.isNonNullable)(o.bitrate)&&(0,M.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),Tb.set(a,n));let u=(0,Fe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Fe.default)(s,-1);return u&&(0,sl.default)(n,u)?u:n.length?(0,Fe.default)(n,-1):(0,Fe.default)(s,0)},Ib=a=>"quality"in a,an=(a,e,t,i)=>{let r=(0,M.isNonNullable)(i?.last?.bitrate)&&(0,M.isNonNullable)(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&(0,M.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=Ib(n)?"video":"audio",o=Ib(n)?n.quality:n.bitrate;return e({message:`
7
+ \v\f\r \xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF`});var ug=b((lV,og)=>{"use strict";var gk=Ae(),Sk=Xt(),vk=ca(),ml=hl(),ng=gk("".replace),yk=RegExp("^["+ml+"]+"),Tk=RegExp("(^|[^"+ml+"])["+ml+"]+$"),fl=function(a){return function(e){var t=vk(Sk(e));return a&1&&(t=ng(t,yk,"")),a&2&&(t=ng(t,Tk,"$1")),t}};og.exports={start:fl(1),end:fl(2),trim:fl(3)}});var pg=b((cV,dg)=>{"use strict";var Ik=jo().PROPER,Ek=we(),lg=hl(),cg="\u200B\x85\u180E";dg.exports=function(a){return Ek(function(){return!!lg[a]()||cg[a]()!==cg||Ik&&lg[a].name!==a})}});var bl=b((dV,hg)=>{"use strict";var xk=ug().start,wk=pg();hg.exports=wk("trimStart")?function(){return xk(this)}:"".trimStart});var mg=b(()=>{"use strict";var Ak=Te(),fg=bl();Ak({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==fg},{trimLeft:fg})});var gg=b(()=>{"use strict";mg();var Pk=Te(),bg=bl();Pk({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==bg},{trimStart:bg})});var vg=b((bV,Sg)=>{"use strict";gg();var kk=Jt();Sg.exports=kk("String","trimLeft")});var Tg=b((gV,yg)=>{"use strict";var Rk=vg();yg.exports=Rk});var Eg=b((SV,Ig)=>{"use strict";var Lk=Tg();Ig.exports=Lk});var Og=b(()=>{"use strict"});var Fg=b(()=>{"use strict"});var qg=b((ZO,Ng)=>{"use strict";var Kk=qe(),Xk=pi(),Jk=$e(),Zk=Jk("match");Ng.exports=function(a){var e;return Kk(a)&&((e=a[Zk])!==void 0?!!e:Xk(a)==="RegExp")}});var jg=b((eF,Hg)=>{"use strict";var eR=Se(),tR=we(),Ug=eR.RegExp,iR=!tR(function(){var a=!0;try{Ug(".","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(Ug.prototype,"flags").get.call(e);return u!==i||t!==i});Hg.exports={correct:iR}});var Wg=b((tF,Qg)=>{"use strict";var rR=At();Qg.exports=function(){var a=rR(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 Yg=b((iF,zg)=>{"use strict";var aR=Xe(),sR=mt(),nR=Mr(),Gg=jg(),oR=Wg(),uR=RegExp.prototype;zg.exports=Gg.correct?function(a){return a.flags}:function(a){return!Gg.correct&&nR(uR,a)&&!sR(a,"flags")?aR(oR,a):a.flags}});var Xg=b((rF,Kg)=>{"use strict";var yl=Ae(),lR=Fi(),cR=Math.floor,Sl=yl("".charAt),dR=yl("".replace),vl=yl("".slice),pR=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,hR=/\$([$&'`]|\d{1,2})/g;Kg.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=hR;return r!==void 0&&(r=lR(r),o=pR),dR(s,o,function(l,c){var p;switch(Sl(c,0)){case"$":return"$";case"&":return a;case"`":return vl(e,0,t);case"'":return vl(e,n);case"<":p=r[vl(c,1,-1)];break;default:var d=+c;if(d===0)return l;if(d>u){var h=cR(d/10);return h===0?l:h<=u?i[h-1]===void 0?Sl(c,1):i[h-1]+Sl(c,1):l}p=i[d-1]}return p===void 0?"":p})}});var eS=b(()=>{"use strict";var fR=Te(),mR=Xe(),Il=Ae(),Jg=Xt(),bR=ve(),gR=qe(),SR=qg(),fr=ca(),vR=Cr(),yR=Yg(),TR=Xg(),IR=$e(),ER=ft(),xR=IR("replace"),wR=TypeError,Tl=Il("".indexOf),AR=Il("".replace),Zg=Il("".slice),PR=Math.max;fR({target:"String",proto:!0},{replaceAll:function(e,t){var i=Jg(this),r,s,n,u,o,l,c,p,d,h,m=0,g="";if(gR(e)){if(r=SR(e),r&&(s=fr(Jg(yR(e))),!~Tl(s,"g")))throw new wR("`.replaceAll` does not allow non-global regexes");if(n=vR(e,xR),n)return mR(n,e,i,t);if(ER&&r)return AR(fr(i),e,t)}for(u=fr(i),o=fr(e),l=bR(t),l||(t=fr(t)),c=o.length,p=PR(1,c),d=Tl(u,o);d!==-1;)h=l?fr(t(o,d,u)):TR(o,u,d,[],void 0,t),g+=Zg(u,m,d)+h,m=d+c,d=d+p>u.length?-1:Tl(u,o,d+p);return m<u.length&&(g+=Zg(u,m)),g}})});var iS=b((nF,tS)=>{"use strict";Og();Fg();eS();var kR=Jt();tS.exports=kR("String","replaceAll")});var aS=b((oF,rS)=>{"use strict";var RR=iS();rS.exports=RR});var nS=b((uF,sS)=>{"use strict";var LR=aS();sS.exports=LR});var uS=b((lF,oS)=>{"use strict";var $R=Or(),MR=ca(),DR=Xt(),CR=RangeError;oS.exports=function(e){var t=MR(DR(this)),i="",r=$R(e);if(r<0||r===1/0)throw new CR("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var hS=b((cF,pS)=>{"use strict";var dS=Ae(),BR=$o(),lS=ca(),VR=uS(),_R=Xt(),OR=dS(VR),FR=dS("".slice),NR=Math.ceil,cS=function(a){return function(e,t,i){var r=lS(_R(e)),s=BR(t),n=r.length,u=i===void 0?" ":lS(i),o,l;return s<=n||u===""?r:(o=s-n,l=OR(u,NR(o/u.length)),l.length>o&&(l=FR(l,0,o)),a?r+l:l+r)}};pS.exports={start:cS(!1),end:cS(!0)}});var mS=b((dF,fS)=>{"use strict";var qR=mi();fS.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(qR)});var bS=b(()=>{"use strict";var UR=Te(),HR=hS().start,jR=mS();UR({target:"String",proto:!0,forced:jR},{padStart:function(e){return HR(this,e,arguments.length>1?arguments[1]:void 0)}})});var SS=b((fF,gS)=>{"use strict";bS();var QR=Jt();gS.exports=QR("String","padStart")});var yS=b((mF,vS)=>{"use strict";var WR=SS();vS.exports=WR});var IS=b((bF,TS)=>{"use strict";var GR=yS();TS.exports=GR});var IL={};Cv(IL,{ChromecastState:()=>Ar,HttpConnectionType:()=>cs,Observable:()=>Ct.Observable,PlaybackState:()=>Ve,Player:()=>es,PredefinedQualityLimits:()=>Pr,SDK_VERSION:()=>TL,Subject:()=>Ct.Subject,Subscription:()=>Ct.Subscription,Surface:()=>ds,VERSION:()=>eo,ValueSubject:()=>Ct.ValueSubject,VideoFormat:()=>xt,VideoQuality:()=>Ct.VideoQuality,areValidLiveRecordSources:()=>Km,clientChecker:()=>j,isMobile:()=>ir});module.exports=Bv(IL);var eo="2.0.138-dev.2ccb74c0.0";var Ve=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Ve||{}),xt=(x=>(x.MPEG="MPEG",x.DASH="DASH",x.DASH_SEP="DASH_SEP",x.DASH_SEP_VK="DASH_SEP",x.DASH_WEBM="DASH_WEBM",x.DASH_WEBM_AV1="DASH_WEBM_AV1",x.DASH_STREAMS="DASH_STREAMS",x.DASH_WEBM_VK="DASH_WEBM",x.DASH_ONDEMAND="DASH_ONDEMAND",x.DASH_ONDEMAND_VK="DASH_ONDEMAND",x.DASH_LIVE="DASH_LIVE",x.DASH_LIVE_CMAF="DASH_LIVE_CMAF",x.DASH_LIVE_WEBM="DASH_LIVE_WEBM",x.HLS="HLS",x.HLS_ONDEMAND="HLS_ONDEMAND",x.HLS_JS="HLS",x.HLS_FMP4="HLS_FMP4",x.HLS_LIVE="HLS_LIVE",x.HLS_LIVE_CMAF="HLS_LIVE_CMAF",x.WEB_RTC_LIVE="WEB_RTC_LIVE",x))(xt||{});var Ar=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(Ar||{}),cs=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(cs||{});var ds=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(ds||{}),Pr=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Pr||{});var xv=H(_e(),1);var J=require("@vkontakte/videoplayer-shared");var Gd=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 bs=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||Gd("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=H(_e(),1),dv=H(Wi(),1),pv=H(su(),1);var Jm=H(js(),1);var Qu=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,Qu.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,Qu.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 Gu=require("@vkontakte/videoplayer-shared");var Qs=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 Hm=H(_e(),1);var ir=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var Ws=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,Hm.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=ir()}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 Gs=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,rr=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),jm=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),zs=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var dP=document.createElement("video"),pP='video/mp4; codecs="avc1.42000a,mp4a.40.2"',hP='video/mp4; codecs="hev1.1.6.L93.B0"',Qm='video/webm; codecs="vp09.00.10.08"',Wm='video/webm; codecs="av01.0.00M.08"',fP='audio/mp4; codecs="mp4a.40.2"',mP='audio/webm; codecs="opus"',Gm,bP=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:Wm}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Qm}})]);Gm={DASH_WEBM_AV1:e,DASH_WEBM:t}};bP().catch(a=>{console.log(dP),console.error(a)});var Ys=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 Gm}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:rr(),mse:jm(),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?.(pP),t=!!Ze()?.isTypeSupported?.(hP),i=!!Ze()?.isTypeSupported?.(fP);this._codecs={h264:e,h265:t,vp9:!!Ze()?.isTypeSupported?.(Qm),av1:!!Ze()?.isTypeSupported?.(Wm),aac:i,opus:!!Ze()?.isTypeSupported?.(mP),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 zm="audio/mpeg",Ks=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(zm)},this._codecs={mp3:!!Ze()?.isTypeSupported?.(zm)}}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 Ym=require("@vkontakte/videoplayer-shared"),Wu=class{constructor(){this.isInited$=new Ym.ValueSubject(!1);this._displayChecker=new Gs,this._deviceChecker=new Ws(this._displayChecker),this._browserChecker=new Qs,this._videoChecker=new Ys(this._deviceChecker,this._browserChecker),this._audioChecker=new Ks,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)}},j=new Wu;var zu=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=j.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,Gu.assertNever)(u)}})},Yu=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,Gu.assertNever)(a)}},Km=a=>{let t=Object.keys(a).filter(i=>!Yu(i));return zu(t).length>0};var N=require("@vkontakte/videoplayer-shared");var gP=5,SP=5,vP=500,Xm=7e3,Jr=class{constructor(e){this.subscription=new N.Subscription;this.loadMediaTimeoutSubscription=new N.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,N.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,N.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,N.assertNever)(e)}break}default:(0,N.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(Yu(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 N.Subscription;this.subscription.add(e),this.subscription.add((0,N.merge)(this.videoState.stateChangeStarted$.pipe((0,N.map)(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe((0,N.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 N.Subject;e.add(r.pipe((0,N.debounce)(vP)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add((0,N.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)>gP)&&r.next(u),s=u})),e.add((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t((0,N.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,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t((0,N.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<SP&&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,N.assertNever)(n)}}),t((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t((0,N.fromEvent)(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=(0,N.merge)(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,(0,N.observableFrom)(["init"])).pipe((0,N.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,N.assertNonNullable)(l);let c=(0,N.getHighestQuality)(Object.keys(l));(0,N.assertNonNullable)(c);let p=l[c];(0,N.assertNonNullable)(p),i=p,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];(0,N.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,N.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,N.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,N.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",c=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:N.ErrorCategory.VIDEO_PIPELINE,message:l,thrown:c}),c}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return(0,N.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,N.isNonNullable)(u)&&(n.metadata.title=u),(0,N.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,N.timeout)(Xm).subscribe(()=>s(`timeout(${Xm})`)))});(0,Jm.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:N.ErrorCategory.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var cl=H(_e(),1);var Zu=require("@vkontakte/videoplayer-shared");var Zm=require("@vkontakte/videoplayer-shared"),eb=a=>{try{a.pause(),a.playbackRate=0,(0,Zm.clearVideoElement)(a),a.remove()}catch(e){console.error(e)}};var Xs=require("@vkontakte/videoplayer-shared"),Ku=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)}},Xu=window.WeakMap?new WeakMap:new Ku,Ju=window.WeakMap?new WeakMap:new Map,yP=(a,e=20)=>{let t=0;return(0,Xs.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,Zu.clearVideoElement)(i):(i=document.createElement("video"),a.appendChild(i)),Xu.set(i,r);let s=new Xs.Subscription;return s.add(yP(i,e)),Ju.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=>{Ju.get(a)?.unsubscribe(),Ju.delete(a);let t=Xu.get(a);Xu.delete(a),t?(0,Zu.clearVideoElement)(a):eb(a)};var el=H(ar(),1),q=require("@vkontakte/videoplayer-shared");var ti=require("@vkontakte/videoplayer-shared"),Js=(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(c=>{let p=a.getState();i(c,p)&&a.setState(c)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(c=>{t(c.to),o&&a.setState(c.to)},s)),l},kt=(a,e,t)=>Js(e,()=>a.loop,i=>{(0,ti.isNonNullable)(i)&&(a.loop=i)},{onError:t}),je=(a,e,t,i)=>Js(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)=>Js(e,()=>a.playbackRate,r=>{(0,ti.isNonNullable)(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),Zr=Js;var AP=a=>["__",a.language,a.label].join("|"),PP=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},tl=class a{constructor(e){this.available$=new q.Subject;this.current$=new q.ValueSubject(void 0);this.error$=new q.Subject;this.subscription=new q.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:q.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,el.default)(this.internalTracks),s=>{(0,q.isNonNullable)(s)&&this.setInternal(s)},{equal:(s,n)=>(0,q.isNonNullable)(s)&&(0,q.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,q.map)(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(Zr(t.externalTextTracks,()=>(0,el.default)(this.externalTracks),s=>{(0,q.isNonNullable)(s)&&this.setExternal(s)},{equal:(s,n)=>(0,q.isNonNullable)(s)&&(0,q.isNonNullable)(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe((0,q.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,q.assertNonNullable)(this.video);let{textTracks:e}=this.video;this.subscription.add((0,q.fromEvent)(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add((0,q.merge)((0,q.fromEvent)(e,"addtrack"),(0,q.fromEvent)(e,"removetrack"),(0,q.observableFrom)(["init"])).pipe((0,q.map)(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),(0,q.filterChanged)((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add((0,q.merge)((0,q.fromEvent)(e,"change"),(0,q.observableFrom)(["init"])).pipe((0,q.map)(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),(0,q.map)(i=>i&&this.htmlTextTrackToITextTrack(i).id),(0,q.filterChanged)()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add((0,q.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,q.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,q.isNonNullable)(t.align)&&(r.align=t.align),(0,q.isNonNullable)(t.position)&&(r.position=t.position),(0,q.isNonNullable)(t.size)&&(r.size=t.size),(0,q.isNonNullable)(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){(0,q.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:AP(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,q.assertNonNullable)(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))((0,q.isNullable)(e)||!PP(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,q.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,q.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=tl;var Ii=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 ob=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},il=a=>{let e=ob(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},ub=a=>{let e=ob(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};var $=require("@vkontakte/videoplayer-shared");var kP=3,lb=(a,e,t=kP)=>{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=w=>(0,$.fromEvent)(a,w).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)(()=>lb(a.buffered,a.currentTime)),(0,$.shareReplay)(1)),s=j.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 w=a.error;return{id:w?`MediaError#${w.code}`:"HtmlVideoError",category:$.ErrorCategory.VIDEO_PIPELINE,message:w?w.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)),c=["waiting","seeking","seeked","timeupdate"],p=new $.Subject,d=.3,h;t.add((0,$.merge)(...c.map(w=>(0,$.fromEvent)(a,w))).subscribe(w=>{let ee=a.currentTime;a.loop&&(0,$.isNonNullable)(h)&&(0,$.isNonNullable)(ee)&&h>=a.duration-d&&ee<=d&&p.next(h),h=ee}));let m=e("pause").pipe((0,$.filter)(()=>!a.error&&h!==a.duration),(0,$.shareReplay)(1)),g=(0,$.fromEvent)(a,"enterpictureinpicture").pipe((0,$.shareReplay)(1)),v=(0,$.fromEvent)(a,"leavepictureinpicture").pipe((0,$.shareReplay)(1)),S=new $.ValueSubject(ub(a));t.add(g.subscribe(()=>S.next(!0))),t.add(v.subscribe(()=>S.next(!1)));let A=new $.ValueSubject(il(a)),L=(0,$.fromEvent)(a,"fullscreenchange").pipe((0,$.shareReplay)(1));t.add(L.pipe((0,$.map)(()=>il(a))).subscribe(A));let x=.1,D=1e3,U=(0,$.fromEvent)(a,"timeupdate").pipe((0,$.map)(w=>a.duration-a.currentTime<x),(0,$.filterChanged)(),(0,$.shareReplay)(1)),_=(0,$.merge)(U.pipe((0,$.filter)(w=>!a.loop&&w)),(0,$.fromEvent)(a,"ended")).pipe((0,$.throttle)(D),(0,$.mapTo)(void 0),(0,$.shareReplay)(1)),V=(0,$.merge)(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(w=>(0,$.fromEvent)(a,w)),U.pipe((0,$.map)(w=>({type:w?"ended":"unknown"})))).pipe((0,$.map)(w=>j.browser.isFirefox&&w.type==="ended"?a.readyState<2:a.readyState<3),(0,$.filterChanged)(),(0,$.shareReplay)(1));return{playing$:s,pause$:m,canplay$:e("canplay"),ended$:_,looped$:p,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$:V,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:S,inFullscreen$:A,enterPip$:g,leavePip$:v,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 Fe=H(gt(),1),sl=H(_e(),1),Ei=H(Wi(),1),M=require("@vkontakte/videoplayer-shared");var rl=!1,Nt={},bb=a=>{rl=a},gb=()=>{Nt={}},Sb=a=>{a(Nt)},ea=(a,e)=>{rl&&(Nt.meta=Nt.meta??{},Nt.meta[a]=e)},Oe=class{constructor(e){this.name=e}next(e){if(!rl)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 al(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function Zs(a,e,t){return!!a&&al(a,e,t)==="high_quality"}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 vb({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 xb=new Oe("best_bitrate"),tn=(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,M.now)()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},rn='Assertion "ABR Tracks is empty array" failed',en=new WeakMap,yb=new WeakMap,Tb=new WeakMap,ta=(a,e,t,i)=>{let r=[...e].sort(nr(1)),s=[...t].sort(nr(1)),n=s.filter(o=>(0,M.isNonNullable)(o.bitrate)&&(0,M.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Fe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Fe.default)(s,-1);return u&&(0,sl.default)(n,u)?u:n.length?(0,Fe.default)(n,-1):(0,Fe.default)(s,0)},ia=(a,e,t,i)=>{let r=en.get(e);r||(r=[...e].sort(nr(1)),en.set(e,r));let s=en.get(t);s||(s=[...t].sort(nr(1)),en.set(t,s));let n=Tb.get(a);n||(n=s.filter(o=>(0,M.isNonNullable)(o.bitrate)&&(0,M.isNonNullable)(a.bitrate)?a.bitrate/o.bitrate>i:!0),Tb.set(a,n));let u=(0,Fe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Fe.default)(s,-1);return u&&(0,sl.default)(n,u)?u:n.length?(0,Fe.default)(n,-1):(0,Fe.default)(s,0)},Ib=a=>"quality"in a,an=(a,e,t,i)=>{let r=(0,M.isNonNullable)(i?.last?.bitrate)&&(0,M.isNonNullable)(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&(0,M.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=Ib(n)?"video":"audio",o=Ib(n)?n.quality:n.bitrate;return e({message:`
8
8
  [last ${u} selected] ${o}
9
9
  `}),n}return i?.recordSwitch(t),t},_P=(a,e)=>Math.log(e)/Math.log(a),wb=({tuning:a,container:e,limits:t,panelSize:i})=>{let r=a.containerSizeFactor;if(i)return{containerSizeLimit:i,containerSizeFactor:r};if(a.usePixelRatio&&j.display.pixelRatio){let s=j.display.pixelRatio;if(a.pixelRatioMultiplier)r*=a.pixelRatioMultiplier*(s-1)+1;else{let n=a.pixelRatioLogBase,[u=0,o=0,l=0]=a.pixelRatioLogCoefficients,c=_P(n,u*s+o)+l;Number.isFinite(c)&&(r*=c)}}return Zs(t,a.highQualityLimit,a.trafficSavingLimit)&&(r*=2),{containerSizeLimit:a.limitByContainer&&e&&e.width>0&&e.height>0?{width:e.width*r,height:e.height*r}:void 0,containerSizeFactor:r}},Eb=new WeakMap,Rt=(a,{container:e,estimatedThroughput:t,tuning:i,limits:r,reserve:s=0,forwardBufferHealth:n,playbackRate:u,current:o,history:l,visible:c,droppedVideoMaxQualityLimit:p,stallsVideoMaxQualityLimit:d,stallsPredictedThroughput:h,abrLogger:m,panelSize:g})=>{(0,M.assertNotEmptyArray)(a,rn);let{containerSizeFactor:v,containerSizeLimit:S}=wb({container:e,tuning:i,limits:r,panelSize:g}),A=i.considerPlaybackRate&&(0,M.isNonNullable)(u)?u:1,L=Eb.get(a);L||(L=a.filter(E=>!(0,M.isInvariantQuality)(E.quality)).sort((E,R)=>(0,M.isHigher)(E.quality,R.quality)?-1:1),Eb.set(a,L));let x=(0,Fe.default)(L,-1)?.quality,D=(0,Fe.default)(L,0)?.quality,U=sr(r,D,x),_=A*tn(n??.5,i.bitrateFactorAtEmptyBuffer,i.bitrateFactorAtFullBuffer),C={},V=null;for(let E of L){let R=!0;if(S)if(E.size)R=E.size.width<=S.width&&E.size.height<=S.height;else{let ae=S&&(0,M.videoSizeToQuality)(S);R=ae?(0,M.isLowerOrEqual)(E.quality,ae):!0}if(!R){C[E.quality]="FitsContainer";continue}let oe=h||t,F=(0,M.isNonNullable)(oe)&&isFinite(oe)&&(0,M.isNonNullable)(E.bitrate)?oe-s>=E.bitrate*_:!0,re=Zs(r,i.highQualityLimit,i.trafficSavingLimit)&&r?.min===E.quality;if(!F&&!re){C[E.quality]="FitsThroughput";continue}if(i.lazyQualitySwitch&&(0,M.isNonNullable)(i.minBufferToSwitchUp)&&o&&!(0,M.isInvariantQuality)(o.quality)&&(n??0)<i.minBufferToSwitchUp&&(0,M.isHigher)(E.quality,o.quality)){C[E.quality]="Buffer";continue}if(!!p&&(0,M.isHigherOrEqual)(E.quality,p)&&!re){C[E.quality]="DroppedFramesLimit";continue}if(!!d&&(0,M.isHigherOrEqual)(E.quality,d)&&!re){C[E.quality]="StallsLimit";continue}let Re=U||((0,M.isNullable)(r?.max)||(0,M.isLowerOrEqual)(E.quality,r.max))&&((0,M.isNullable)(r?.min)||(0,M.isHigherOrEqual)(E.quality,r.min)),Le=(0,M.isNonNullable)(c)&&!c?(0,M.isLowerOrEqual)(E.quality,i.backgroundVideoQualityLimit):!0;if(!Re||!Le){C[E.quality]="FitsQualityLimits";continue}V||(V=E)}V&&V.bitrate&&xb.next(V.bitrate);let w=V??(0,Fe.default)(L,-1)??a[0],ee=l?.last,O=an(i,m,w,l);return(0,M.isNonNullable)(l)&&O.quality!==ee?.quality&&m({message:`
10
10
  [VIDEO TRACKS ABR]