@vkontakte/videoplayer-core 2.0.143 → 2.0.144-beta.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/es2024.esm.js CHANGED
@@ -1,10 +1,10 @@
1
1
  /**
2
- * @vkontakte/videoplayer-core v2.0.143
3
- * Mon, 20 Oct 2025 13:33:59 GMT
4
- * https://st.mycdn.me/static/vkontakte-videoplayer/2-0-143/doc/
2
+ * @vkontakte/videoplayer-core v2.0.144-beta.0
3
+ * Thu, 23 Oct 2025 12:36:17 GMT
4
+ * https://st.mycdn.me/static/vkontakte-videoplayer/2-0-144/doc/
5
5
  */
6
6
  var NI=Object.create;var Nd=Object.defineProperty;var qI=Object.getOwnPropertyDescriptor;var UI=Object.getOwnPropertyNames;var HI=Object.getPrototypeOf,jI=Object.prototype.hasOwnProperty;var b=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports);var WI=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of UI(e))!jI.call(a,r)&&r!==t&&Nd(a,r,{get:()=>e[r],enumerable:!(i=qI(e,r))||i.enumerable});return a};var B=(a,e,t)=>(t=a!=null?NI(HI(a)):{},WI(e||!a||!a.__esModule?Nd(t,"default",{value:a,enumerable:!0}):t,a));var te=b((iu,Ud)=>{"use strict";var Nr=function(a){return a&&a.Math===Math&&a};Ud.exports=Nr(typeof globalThis=="object"&&globalThis)||Nr(typeof window=="object"&&window)||Nr(typeof self=="object"&&self)||Nr(typeof global=="object"&&global)||Nr(typeof iu=="object"&&iu)||function(){return this}()||Function("return this")()});var de=b((eV,Hd)=>{"use strict";Hd.exports=function(a){try{return!!a()}catch{return!0}}});var qr=b((tV,jd)=>{"use strict";var QI=de();jd.exports=!QI(function(){var a=function(){}.bind();return typeof a!="function"||a.hasOwnProperty("prototype")})});var ru=b((iV,zd)=>{"use strict";var GI=qr(),Gd=Function.prototype,Wd=Gd.apply,Qd=Gd.call;zd.exports=typeof Reflect=="object"&&Reflect.apply||(GI?Qd.bind(Wd):function(){return Qd.apply(Wd,arguments)})});var pe=b((rV,Xd)=>{"use strict";var Yd=qr(),Kd=Function.prototype,au=Kd.call,zI=Yd&&Kd.bind.bind(au,au);Xd.exports=Yd?zI:function(a){return function(){return au.apply(a,arguments)}}});var oi=b((aV,Zd)=>{"use strict";var Jd=pe(),YI=Jd({}.toString),KI=Jd("".slice);Zd.exports=function(a){return KI(YI(a),8,-1)}});var su=b((sV,ep)=>{"use strict";var XI=oi(),JI=pe();ep.exports=function(a){if(XI(a)==="Function")return JI(a)}});var ie=b((nV,tp)=>{"use strict";var nu=typeof document=="object"&&document.all;tp.exports=typeof nu>"u"&&nu!==void 0?function(a){return typeof a=="function"||a===nu}:function(a){return typeof a=="function"}});var Fe=b((oV,ip)=>{"use strict";var ZI=de();ip.exports=!ZI(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var Ne=b((uV,rp)=>{"use strict";var eE=qr(),Qs=Function.prototype.call;rp.exports=eE?Qs.bind(Qs):function(){return Qs.apply(Qs,arguments)}});var ou=b(np=>{"use strict";var ap={}.propertyIsEnumerable,sp=Object.getOwnPropertyDescriptor,tE=sp&&!ap.call({1:2},1);np.f=tE?function(e){var t=sp(this,e);return!!t&&t.enumerable}:ap});var Ur=b((cV,op)=>{"use strict";op.exports=function(a,e){return{enumerable:!(a&1),configurable:!(a&2),writable:!(a&4),value:e}}});var lp=b((dV,up)=>{"use strict";var iE=pe(),rE=de(),aE=oi(),uu=Object,sE=iE("".split);up.exports=rE(function(){return!uu("z").propertyIsEnumerable(0)})?function(a){return aE(a)==="String"?sE(a,""):uu(a)}:uu});var Hr=b((pV,cp)=>{"use strict";cp.exports=function(a){return a==null}});var Ft=b((hV,dp)=>{"use strict";var nE=Hr(),oE=TypeError;dp.exports=function(a){if(nE(a))throw new oE("Can't call method on "+a);return a}});var ui=b((fV,pp)=>{"use strict";var uE=lp(),lE=Ft();pp.exports=function(a){return uE(lE(a))}});var $e=b((mV,hp)=>{"use strict";var cE=ie();hp.exports=function(a){return typeof a=="object"?a!==null:cE(a)}});var li=b((bV,fp)=>{"use strict";fp.exports={}});var wt=b((gV,bp)=>{"use strict";var lu=li(),cu=te(),dE=ie(),mp=function(a){return dE(a)?a:void 0};bp.exports=function(a,e){return arguments.length<2?mp(lu[a])||mp(cu[a]):lu[a]&&lu[a][e]||cu[a]&&cu[a][e]}});var jr=b((SV,gp)=>{"use strict";var pE=pe();gp.exports=pE({}.isPrototypeOf)});var ci=b((vV,yp)=>{"use strict";var hE=te(),Sp=hE.navigator,vp=Sp&&Sp.userAgent;yp.exports=vp?String(vp):""});var pu=b((yV,Ap)=>{"use strict";var wp=te(),du=ci(),Tp=wp.process,Ip=wp.Deno,Ep=Tp&&Tp.versions||Ip&&Ip.version,xp=Ep&&Ep.v8,tt,Gs;xp&&(tt=xp.split("."),Gs=tt[0]>0&&tt[0]<4?1:+(tt[0]+tt[1]));!Gs&&du&&(tt=du.match(/Edge\/(\d+)/),(!tt||tt[1]>=74)&&(tt=du.match(/Chrome\/(\d+)/),tt&&(Gs=+tt[1])));Ap.exports=Gs});var hu=b((TV,kp)=>{"use strict";var Pp=pu(),fE=de(),mE=te(),bE=mE.String;kp.exports=!!Object.getOwnPropertySymbols&&!fE(function(){var a=Symbol("symbol detection");return!bE(a)||!(Object(a)instanceof Symbol)||!Symbol.sham&&Pp&&Pp<41})});var fu=b((IV,Rp)=>{"use strict";var gE=hu();Rp.exports=gE&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var mu=b((EV,Lp)=>{"use strict";var SE=wt(),vE=ie(),yE=jr(),TE=fu(),IE=Object;Lp.exports=TE?function(a){return typeof a=="symbol"}:function(a){var e=SE("Symbol");return vE(e)&&yE(e.prototype,IE(a))}});var Wr=b((xV,$p)=>{"use strict";var EE=String;$p.exports=function(a){try{return EE(a)}catch{return"Object"}}});var ht=b((wV,Mp)=>{"use strict";var xE=ie(),wE=Wr(),AE=TypeError;Mp.exports=function(a){if(xE(a))return a;throw new AE(wE(a)+" is not a function")}});var Qr=b((AV,Dp)=>{"use strict";var PE=ht(),kE=Hr();Dp.exports=function(a,e){var t=a[e];return kE(t)?void 0:PE(t)}});var Bp=b((PV,Cp)=>{"use strict";var bu=Ne(),gu=ie(),Su=$e(),RE=TypeError;Cp.exports=function(a,e){var t,i;if(e==="string"&&gu(t=a.toString)&&!Su(i=bu(t,a))||gu(t=a.valueOf)&&!Su(i=bu(t,a))||e!=="string"&&gu(t=a.toString)&&!Su(i=bu(t,a)))return i;throw new RE("Can't convert object to primitive value")}});var it=b((kV,Vp)=>{"use strict";Vp.exports=!0});var Fp=b((RV,Op)=>{"use strict";var _p=te(),LE=Object.defineProperty;Op.exports=function(a,e){try{LE(_p,a,{value:e,configurable:!0,writable:!0})}catch{_p[a]=e}return e}});var Gr=b((LV,Up)=>{"use strict";var $E=it(),ME=te(),DE=Fp(),Np="__core-js_shared__",qp=Up.exports=ME[Np]||DE(Np,{});(qp.versions||(qp.versions=[])).push({version:"3.43.0",mode:$E?"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 vu=b(($V,jp)=>{"use strict";var Hp=Gr();jp.exports=function(a,e){return Hp[a]||(Hp[a]=e||{})}});var Ui=b((MV,Wp)=>{"use strict";var CE=Ft(),BE=Object;Wp.exports=function(a){return BE(CE(a))}});var rt=b((DV,Qp)=>{"use strict";var VE=pe(),_E=Ui(),OE=VE({}.hasOwnProperty);Qp.exports=Object.hasOwn||function(e,t){return OE(_E(e),t)}});var yu=b((CV,Gp)=>{"use strict";var FE=pe(),NE=0,qE=Math.random(),UE=FE(1.1.toString);Gp.exports=function(a){return"Symbol("+(a===void 0?"":a)+")_"+UE(++NE+qE,36)}});var ge=b((BV,Yp)=>{"use strict";var HE=te(),jE=vu(),zp=rt(),WE=yu(),QE=hu(),GE=fu(),Hi=HE.Symbol,Tu=jE("wks"),zE=GE?Hi.for||Hi:Hi&&Hi.withoutSetter||WE;Yp.exports=function(a){return zp(Tu,a)||(Tu[a]=QE&&zp(Hi,a)?Hi[a]:zE("Symbol."+a)),Tu[a]}});var Zp=b((VV,Jp)=>{"use strict";var YE=Ne(),Kp=$e(),Xp=mu(),KE=Qr(),XE=Bp(),JE=ge(),ZE=TypeError,ex=JE("toPrimitive");Jp.exports=function(a,e){if(!Kp(a)||Xp(a))return a;var t=KE(a,ex),i;if(t){if(e===void 0&&(e="default"),i=YE(t,a,e),!Kp(i)||Xp(i))return i;throw new ZE("Can't convert object to primitive value")}return e===void 0&&(e="number"),XE(a,e)}});var Iu=b((_V,eh)=>{"use strict";var tx=Zp(),ix=mu();eh.exports=function(a){var e=tx(a,"string");return ix(e)?e:e+""}});var zs=b((OV,ih)=>{"use strict";var rx=te(),th=$e(),Eu=rx.document,ax=th(Eu)&&th(Eu.createElement);ih.exports=function(a){return ax?Eu.createElement(a):{}}});var xu=b((FV,rh)=>{"use strict";var sx=Fe(),nx=de(),ox=zs();rh.exports=!sx&&!nx(function(){return Object.defineProperty(ox("div"),"a",{get:function(){return 7}}).a!==7})});var nh=b(sh=>{"use strict";var ux=Fe(),lx=Ne(),cx=ou(),dx=Ur(),px=ui(),hx=Iu(),fx=rt(),mx=xu(),ah=Object.getOwnPropertyDescriptor;sh.f=ux?ah:function(e,t){if(e=px(e),t=hx(t),mx)try{return ah(e,t)}catch{}if(fx(e,t))return dx(!lx(cx.f,e,t),e[t])}});var wu=b((qV,oh)=>{"use strict";var bx=de(),gx=ie(),Sx=/#|\.prototype\./,zr=function(a,e){var t=yx[vx(a)];return t===Ix?!0:t===Tx?!1:gx(e)?bx(e):!!e},vx=zr.normalize=function(a){return String(a).replace(Sx,".").toLowerCase()},yx=zr.data={},Tx=zr.NATIVE="N",Ix=zr.POLYFILL="P";oh.exports=zr});var ji=b((UV,lh)=>{"use strict";var uh=su(),Ex=ht(),xx=qr(),wx=uh(uh.bind);lh.exports=function(a,e){return Ex(a),e===void 0?a:xx?wx(a,e):function(){return a.apply(e,arguments)}}});var Au=b((HV,ch)=>{"use strict";var Ax=Fe(),Px=de();ch.exports=Ax&&Px(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var ft=b((jV,dh)=>{"use strict";var kx=$e(),Rx=String,Lx=TypeError;dh.exports=function(a){if(kx(a))return a;throw new Lx(Rx(a)+" is not an object")}});var di=b(hh=>{"use strict";var $x=Fe(),Mx=xu(),Dx=Au(),Ys=ft(),ph=Iu(),Cx=TypeError,Pu=Object.defineProperty,Bx=Object.getOwnPropertyDescriptor,ku="enumerable",Ru="configurable",Lu="writable";hh.f=$x?Dx?function(e,t,i){if(Ys(e),t=ph(t),Ys(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Lu in i&&!i[Lu]){var r=Bx(e,t);r&&r[Lu]&&(e[t]=i.value,i={configurable:Ru in i?i[Ru]:r[Ru],enumerable:ku in i?i[ku]:r[ku],writable:!1})}return Pu(e,t,i)}:Pu:function(e,t,i){if(Ys(e),t=ph(t),Ys(i),Mx)try{return Pu(e,t,i)}catch{}if("get"in i||"set"in i)throw new Cx("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var Wi=b((QV,fh)=>{"use strict";var Vx=Fe(),_x=di(),Ox=Ur();fh.exports=Vx?function(a,e,t){return _x.f(a,e,Ox(1,t))}:function(a,e,t){return a[e]=t,a}});var se=b((GV,bh)=>{"use strict";var Yr=te(),Fx=ru(),Nx=su(),qx=ie(),Ux=nh().f,Hx=wu(),Qi=li(),jx=ji(),Gi=Wi(),mh=rt();Gr();var Wx=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 Fx(a,this,arguments)};return e.prototype=a.prototype,e};bh.exports=function(a,e){var t=a.target,i=a.global,r=a.stat,s=a.proto,n=i?Yr:r?Yr[t]:Yr[t]&&Yr[t].prototype,u=i?Qi:Qi[t]||Gi(Qi,t,{})[t],o=u.prototype,l,p,c,d,h,f,m,g,S;for(d in e)l=Hx(i?d:t+(r?".":"#")+d,a.forced),p=!l&&n&&mh(n,d),f=u[d],p&&(a.dontCallGetSet?(S=Ux(n,d),m=S&&S.value):m=n[d]),h=p&&m?m:e[d],!(!l&&!s&&typeof f==typeof h)&&(a.bind&&p?g=jx(h,Yr):a.wrap&&p?g=Wx(h):s&&qx(h)?g=Nx(h):g=h,(a.sham||h&&h.sham||f&&f.sham)&&Gi(g,"sham",!0),Gi(u,d,g),s&&(c=t+"Prototype",mh(Qi,c)||Gi(Qi,c,{}),Gi(Qi[c],d,h),a.real&&o&&(l||!o[d])&&Gi(o,d,h)))}});var Ks=b((zV,Sh)=>{"use strict";var Qx=vu(),Gx=yu(),gh=Qx("keys");Sh.exports=function(a){return gh[a]||(gh[a]=Gx(a))}});var yh=b((YV,vh)=>{"use strict";var zx=de();vh.exports=!zx(function(){function a(){}return a.prototype.constructor=null,Object.getPrototypeOf(new a)!==a.prototype})});var Xs=b((KV,Ih)=>{"use strict";var Yx=rt(),Kx=ie(),Xx=Ui(),Jx=Ks(),Zx=yh(),Th=Jx("IE_PROTO"),$u=Object,ew=$u.prototype;Ih.exports=Zx?$u.getPrototypeOf:function(a){var e=Xx(a);if(Yx(e,Th))return e[Th];var t=e.constructor;return Kx(t)&&e instanceof t?t.prototype:e instanceof $u?ew:null}});var xh=b((XV,Eh)=>{"use strict";var tw=Math.ceil,iw=Math.floor;Eh.exports=Math.trunc||function(e){var t=+e;return(t>0?iw:tw)(t)}});var Kr=b((JV,wh)=>{"use strict";var rw=xh();wh.exports=function(a){var e=+a;return e!==e||e===0?0:rw(e)}});var Ph=b((ZV,Ah)=>{"use strict";var aw=Kr(),sw=Math.max,nw=Math.min;Ah.exports=function(a,e){var t=aw(a);return t<0?sw(t+e,0):nw(t,e)}});var Mu=b((e_,kh)=>{"use strict";var ow=Kr(),uw=Math.min;kh.exports=function(a){var e=ow(a);return e>0?uw(e,9007199254740991):0}});var zi=b((t_,Rh)=>{"use strict";var lw=Mu();Rh.exports=function(a){return lw(a.length)}});var Du=b((i_,$h)=>{"use strict";var cw=ui(),dw=Ph(),pw=zi(),Lh=function(a){return function(e,t,i){var r=cw(e),s=pw(r);if(s===0)return!a&&-1;var n=dw(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}};$h.exports={includes:Lh(!0),indexOf:Lh(!1)}});var Js=b((r_,Mh)=>{"use strict";Mh.exports={}});var Bh=b((a_,Ch)=>{"use strict";var hw=pe(),Cu=rt(),fw=ui(),mw=Du().indexOf,bw=Js(),Dh=hw([].push);Ch.exports=function(a,e){var t=fw(a),i=0,r=[],s;for(s in t)!Cu(bw,s)&&Cu(t,s)&&Dh(r,s);for(;e.length>i;)Cu(t,s=e[i++])&&(~mw(r,s)||Dh(r,s));return r}});var Bu=b((s_,Vh)=>{"use strict";Vh.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Vu=b((n_,_h)=>{"use strict";var gw=Bh(),Sw=Bu();_h.exports=Object.keys||function(e){return gw(e,Sw)}});var _u=b((o_,Uh)=>{"use strict";var Fh=Fe(),vw=de(),Nh=pe(),yw=Xs(),Tw=Vu(),Iw=ui(),Ew=ou().f,qh=Nh(Ew),xw=Nh([].push),ww=Fh&&vw(function(){var a=Object.create(null);return a[2]=2,!qh(a,2)}),Oh=function(a){return function(e){for(var t=Iw(e),i=Tw(t),r=ww&&yw(t)===null,s=i.length,n=0,u=[],o;s>n;)o=i[n++],(!Fh||(r?o in t:qh(t,o)))&&xw(u,a?[o,t[o]]:t[o]);return u}};Uh.exports={entries:Oh(!0),values:Oh(!1)}});var Hh=b(()=>{"use strict";var Aw=se(),Pw=_u().values;Aw({target:"Object",stat:!0},{values:function(e){return Pw(e)}})});var Wh=b((c_,jh)=>{"use strict";Hh();var kw=li();jh.exports=kw.Object.values});var Gh=b((d_,Qh)=>{"use strict";var Rw=Wh();Qh.exports=Rw});var pi=b((p_,zh)=>{"use strict";var Lw=Gh();zh.exports=Lw});var Xr=b((h_,Yh)=>{"use strict";Yh.exports=function(){}});var Kh=b(()=>{"use strict";var $w=se(),Mw=Du().includes,Dw=de(),Cw=Xr(),Bw=Dw(function(){return!Array(1).includes()});$w({target:"Array",proto:!0,forced:Bw},{includes:function(e){return Mw(this,e,arguments.length>1?arguments[1]:void 0)}});Cw("includes")});var Nt=b((b_,Xh)=>{"use strict";var Vw=wt();Xh.exports=Vw});var Zh=b((g_,Jh)=>{"use strict";Kh();var _w=Nt();Jh.exports=_w("Array","includes")});var tf=b((S_,ef)=>{"use strict";var Ow=Zh();ef.exports=Ow});var Me=b((v_,rf)=>{"use strict";var Fw=tf();rf.exports=Fw});var cf=b(()=>{"use strict";var Gw=se(),zw=_u().entries;Gw({target:"Object",stat:!0},{entries:function(e){return zw(e)}})});var pf=b((D_,df)=>{"use strict";cf();var Yw=li();df.exports=Yw.Object.entries});var ff=b((C_,hf)=>{"use strict";var Kw=pf();hf.exports=Kw});var Yi=b((B_,mf)=>{"use strict";var Xw=ff();mf.exports=Xw});var hi=b((V_,bf)=>{"use strict";bf.exports={}});var vf=b((__,Sf)=>{"use strict";var Jw=te(),Zw=ie(),gf=Jw.WeakMap;Sf.exports=Zw(gf)&&/native code/.test(String(gf))});var Hu=b((O_,If)=>{"use strict";var eA=vf(),Tf=te(),tA=$e(),iA=Wi(),Nu=rt(),qu=Gr(),rA=Ks(),aA=Js(),yf="Object already initialized",Uu=Tf.TypeError,sA=Tf.WeakMap,tn,Jr,rn,nA=function(a){return rn(a)?Jr(a):tn(a,{})},oA=function(a){return function(e){var t;if(!tA(e)||(t=Jr(e)).type!==a)throw new Uu("Incompatible receiver, "+a+" required");return t}};eA||qu.state?(at=qu.state||(qu.state=new sA),at.get=at.get,at.has=at.has,at.set=at.set,tn=function(a,e){if(at.has(a))throw new Uu(yf);return e.facade=a,at.set(a,e),e},Jr=function(a){return at.get(a)||{}},rn=function(a){return at.has(a)}):(fi=rA("state"),aA[fi]=!0,tn=function(a,e){if(Nu(a,fi))throw new Uu(yf);return e.facade=a,iA(a,fi,e),e},Jr=function(a){return Nu(a,fi)?a[fi]:{}},rn=function(a){return Nu(a,fi)});var at,fi;If.exports={set:tn,get:Jr,has:rn,enforce:nA,getterFor:oA}});var Qu=b((F_,xf)=>{"use strict";var ju=Fe(),uA=rt(),Ef=Function.prototype,lA=ju&&Object.getOwnPropertyDescriptor,Wu=uA(Ef,"name"),cA=Wu&&function(){}.name==="something",dA=Wu&&(!ju||ju&&lA(Ef,"name").configurable);xf.exports={EXISTS:Wu,PROPER:cA,CONFIGURABLE:dA}});var Af=b(wf=>{"use strict";var pA=Fe(),hA=Au(),fA=di(),mA=ft(),bA=ui(),gA=Vu();wf.f=pA&&!hA?Object.defineProperties:function(e,t){mA(e);for(var i=bA(t),r=gA(t),s=r.length,n=0,u;s>n;)fA.f(e,u=r[n++],i[u]);return e}});var Gu=b((q_,Pf)=>{"use strict";var SA=wt();Pf.exports=SA("document","documentElement")});var Xu=b((U_,Cf)=>{"use strict";var vA=ft(),yA=Af(),kf=Bu(),TA=Js(),IA=Gu(),EA=zs(),xA=Ks(),Rf=">",Lf="<",Yu="prototype",Ku="script",Mf=xA("IE_PROTO"),zu=function(){},Df=function(a){return Lf+Ku+Rf+a+Lf+"/"+Ku+Rf},$f=function(a){a.write(Df("")),a.close();var e=a.parentWindow.Object;return a=null,e},wA=function(){var a=EA("iframe"),e="java"+Ku+":",t;return a.style.display="none",IA.appendChild(a),a.src=String(e),t=a.contentWindow.document,t.open(),t.write(Df("document.F=Object")),t.close(),t.F},an,sn=function(){try{an=new ActiveXObject("htmlfile")}catch{}sn=typeof document<"u"?document.domain&&an?$f(an):wA():$f(an);for(var a=kf.length;a--;)delete sn[Yu][kf[a]];return sn()};TA[Mf]=!0;Cf.exports=Object.create||function(e,t){var i;return e!==null?(zu[Yu]=vA(e),i=new zu,zu[Yu]=null,i[Mf]=e):i=sn(),t===void 0?i:yA.f(i,t)}});var Ki=b((H_,Bf)=>{"use strict";var AA=Wi();Bf.exports=function(a,e,t,i){return i&&i.enumerable?a[e]=t:AA(a,e,t),a}});var tl=b((j_,Of)=>{"use strict";var PA=de(),kA=ie(),RA=$e(),LA=Xu(),Vf=Xs(),$A=Ki(),MA=ge(),DA=it(),el=MA("iterator"),_f=!1,At,Ju,Zu;[].keys&&(Zu=[].keys(),"next"in Zu?(Ju=Vf(Vf(Zu)),Ju!==Object.prototype&&(At=Ju)):_f=!0);var CA=!RA(At)||PA(function(){var a={};return At[el].call(a)!==a});CA?At={}:DA&&(At=LA(At));kA(At[el])||$A(At,el,function(){return this});Of.exports={IteratorPrototype:At,BUGGY_SAFARI_ITERATORS:_f}});var nn=b((W_,Nf)=>{"use strict";var BA=ge(),VA=BA("toStringTag"),Ff={};Ff[VA]="z";Nf.exports=String(Ff)==="[object z]"});var Zr=b((Q_,qf)=>{"use strict";var _A=nn(),OA=ie(),on=oi(),FA=ge(),NA=FA("toStringTag"),qA=Object,UA=on(function(){return arguments}())==="Arguments",HA=function(a,e){try{return a[e]}catch{}};qf.exports=_A?on:function(a){var e,t,i;return a===void 0?"Undefined":a===null?"Null":typeof(t=HA(e=qA(a),NA))=="string"?t:UA?on(e):(i=on(e))==="Object"&&OA(e.callee)?"Arguments":i}});var Hf=b((G_,Uf)=>{"use strict";var jA=nn(),WA=Zr();Uf.exports=jA?{}.toString:function(){return"[object "+WA(this)+"]"}});var ea=b((z_,Wf)=>{"use strict";var QA=nn(),GA=di().f,zA=Wi(),YA=rt(),KA=Hf(),XA=ge(),jf=XA("toStringTag");Wf.exports=function(a,e,t,i){var r=t?a:a&&a.prototype;r&&(YA(r,jf)||GA(r,jf,{configurable:!0,value:e}),i&&!QA&&zA(r,"toString",KA))}});var Gf=b((Y_,Qf)=>{"use strict";var JA=tl().IteratorPrototype,ZA=Xu(),eP=Ur(),tP=ea(),iP=hi(),rP=function(){return this};Qf.exports=function(a,e,t,i){var r=e+" Iterator";return a.prototype=ZA(JA,{next:eP(+!i,t)}),tP(a,r,!1,!0),iP[r]=rP,a}});var Yf=b((K_,zf)=>{"use strict";var aP=pe(),sP=ht();zf.exports=function(a,e,t){try{return aP(sP(Object.getOwnPropertyDescriptor(a,e)[t]))}catch{}}});var Xf=b((X_,Kf)=>{"use strict";var nP=$e();Kf.exports=function(a){return nP(a)||a===null}});var Zf=b((J_,Jf)=>{"use strict";var oP=Xf(),uP=String,lP=TypeError;Jf.exports=function(a){if(oP(a))return a;throw new lP("Can't set "+uP(a)+" as a prototype")}});var il=b((Z_,em)=>{"use strict";var cP=Yf(),dP=$e(),pP=Ft(),hP=Zf();em.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var a=!1,e={},t;try{t=cP(Object.prototype,"__proto__","set"),t(e,[]),a=e instanceof Array}catch{}return function(r,s){return pP(r),hP(s),dP(r)&&(a?t(r,s):r.__proto__=s),r}}():void 0)});var dm=b((eO,cm)=>{"use strict";var fP=se(),mP=Ne(),un=it(),um=Qu(),bP=ie(),gP=Gf(),tm=Xs(),im=il(),SP=ea(),vP=Wi(),rl=Ki(),yP=ge(),rm=hi(),lm=tl(),TP=um.PROPER,IP=um.CONFIGURABLE,am=lm.IteratorPrototype,ln=lm.BUGGY_SAFARI_ITERATORS,ta=yP("iterator"),sm="keys",ia="values",nm="entries",om=function(){return this};cm.exports=function(a,e,t,i,r,s,n){gP(t,e,i);var u=function(S){if(S===r&&d)return d;if(!ln&&S&&S in p)return p[S];switch(S){case sm:return function(){return new t(this,S)};case ia:return function(){return new t(this,S)};case nm:return function(){return new t(this,S)}}return function(){return new t(this)}},o=e+" Iterator",l=!1,p=a.prototype,c=p[ta]||p["@@iterator"]||r&&p[r],d=!ln&&c||u(r),h=e==="Array"&&p.entries||c,f,m,g;if(h&&(f=tm(h.call(new a)),f!==Object.prototype&&f.next&&(!un&&tm(f)!==am&&(im?im(f,am):bP(f[ta])||rl(f,ta,om)),SP(f,o,!0,!0),un&&(rm[o]=om))),TP&&r===ia&&c&&c.name!==ia&&(!un&&IP?vP(p,"name",ia):(l=!0,d=function(){return mP(c,this)})),r)if(m={values:u(ia),keys:s?d:u(sm),entries:u(nm)},n)for(g in m)(ln||l||!(g in p))&&rl(p,g,m[g]);else fP({target:e,proto:!0,forced:ln||l},m);return(!un||n)&&p[ta]!==d&&rl(p,ta,d,{name:r}),rm[e]=d,m}});var hm=b((tO,pm)=>{"use strict";pm.exports=function(a,e){return{value:a,done:e}}});var sl=b((iO,Sm)=>{"use strict";var EP=ui(),al=Xr(),fm=hi(),bm=Hu(),xP=di().f,wP=dm(),cn=hm(),AP=it(),PP=Fe(),gm="Array Iterator",kP=bm.set,RP=bm.getterFor(gm);Sm.exports=wP(Array,"Array",function(a,e){kP(this,{type:gm,target:EP(a),index:0,kind:e})},function(){var a=RP(this),e=a.target,t=a.index++;if(!e||t>=e.length)return a.target=null,cn(void 0,!0);switch(a.kind){case"keys":return cn(t,!1);case"values":return cn(e[t],!1)}return cn([t,e[t]],!1)},"values");var mm=fm.Arguments=fm.Array;al("keys");al("values");al("entries");if(!AP&&PP&&mm.name!=="values")try{xP(mm,"name",{value:"values"})}catch{}});var ym=b((rO,vm)=>{"use strict";var LP=ge(),$P=hi(),MP=LP("iterator"),DP=Array.prototype;vm.exports=function(a){return a!==void 0&&($P.Array===a||DP[MP]===a)}});var nl=b((aO,Im)=>{"use strict";var CP=Zr(),Tm=Qr(),BP=Hr(),VP=hi(),_P=ge(),OP=_P("iterator");Im.exports=function(a){if(!BP(a))return Tm(a,OP)||Tm(a,"@@iterator")||VP[CP(a)]}});var xm=b((sO,Em)=>{"use strict";var FP=Ne(),NP=ht(),qP=ft(),UP=Wr(),HP=nl(),jP=TypeError;Em.exports=function(a,e){var t=arguments.length<2?HP(a):e;if(NP(t))return qP(FP(t,a));throw new jP(UP(a)+" is not iterable")}});var Pm=b((nO,Am)=>{"use strict";var WP=Ne(),wm=ft(),QP=Qr();Am.exports=function(a,e,t){var i,r;wm(a);try{if(i=QP(a,"return"),!i){if(e==="throw")throw t;return t}i=WP(i,a)}catch(s){r=!0,i=s}if(e==="throw")throw t;if(r)throw i;return wm(i),t}});var pn=b((oO,$m)=>{"use strict";var GP=ji(),zP=Ne(),YP=ft(),KP=Wr(),XP=ym(),JP=zi(),km=jr(),ZP=xm(),ek=nl(),Rm=Pm(),tk=TypeError,dn=function(a,e){this.stopped=a,this.result=e},Lm=dn.prototype;$m.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=GP(e,i),l,p,c,d,h,f,m,g=function(v){return l&&Rm(l,"normal"),new dn(!0,v)},S=function(v){return r?(YP(v),u?o(v[0],v[1],g):o(v[0],v[1])):u?o(v,g):o(v)};if(s)l=a.iterator;else if(n)l=a;else{if(p=ek(a),!p)throw new tk(KP(a)+" is not iterable");if(XP(p)){for(c=0,d=JP(a);d>c;c++)if(h=S(a[c]),h&&km(Lm,h))return h;return new dn(!1)}l=ZP(a,p)}for(f=s?a.next:l.next;!(m=zP(f,l)).done;){try{h=S(m.value)}catch(v){Rm(l,"throw",v)}if(typeof h=="object"&&h&&km(Lm,h))return h}return new dn(!1)}});var Dm=b((uO,Mm)=>{"use strict";var ik=Fe(),rk=di(),ak=Ur();Mm.exports=function(a,e,t){ik?rk.f(a,e,ak(0,t)):a[e]=t}});var Cm=b(()=>{"use strict";var sk=se(),nk=pn(),ok=Dm();sk({target:"Object",stat:!0},{fromEntries:function(e){var t={};return nk(e,function(i,r){ok(t,i,r)},{AS_ENTRIES:!0}),t}})});var Vm=b((dO,Bm)=>{"use strict";sl();Cm();var uk=li();Bm.exports=uk.Object.fromEntries});var Om=b((pO,_m)=>{"use strict";_m.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 Nm=b(()=>{"use strict";sl();var lk=Om(),ck=te(),dk=ea(),Fm=hi();for(hn in lk)dk(ck[hn],hn),Fm[hn]=Fm.Array;var hn});var Um=b((mO,qm)=>{"use strict";var pk=Vm();Nm();qm.exports=pk});var ol=b((bO,Hm)=>{"use strict";var hk=Um();Hm.exports=hk});var jm=b(()=>{"use strict"});var ul=b((vO,Wm)=>{"use strict";var ra=te(),fk=ci(),mk=oi(),fn=function(a){return fk.slice(0,a.length)===a};Wm.exports=function(){return fn("Bun/")?"BUN":fn("Cloudflare-Workers")?"CLOUDFLARE":fn("Deno/")?"DENO":fn("Node.js/")?"NODE":ra.Bun&&typeof Bun.version=="string"?"BUN":ra.Deno&&typeof Deno.version=="object"?"DENO":mk(ra.process)==="process"?"NODE":ra.window&&ra.document?"BROWSER":"REST"}()});var mn=b((yO,Qm)=>{"use strict";var bk=ul();Qm.exports=bk==="NODE"});var zm=b((TO,Gm)=>{"use strict";var gk=di();Gm.exports=function(a,e,t){return gk.f(a,e,t)}});var Xm=b((IO,Km)=>{"use strict";var Sk=wt(),vk=zm(),yk=ge(),Tk=Fe(),Ym=yk("species");Km.exports=function(a){var e=Sk(a);Tk&&e&&!e[Ym]&&vk(e,Ym,{configurable:!0,get:function(){return this}})}});var Zm=b((EO,Jm)=>{"use strict";var Ik=jr(),Ek=TypeError;Jm.exports=function(a,e){if(Ik(e,a))return a;throw new Ek("Incorrect invocation")}});var cl=b((xO,eb)=>{"use strict";var xk=pe(),wk=ie(),ll=Gr(),Ak=xk(Function.toString);wk(ll.inspectSource)||(ll.inspectSource=function(a){return Ak(a)});eb.exports=ll.inspectSource});var pl=b((wO,sb)=>{"use strict";var Pk=pe(),kk=de(),tb=ie(),Rk=Zr(),Lk=wt(),$k=cl(),ib=function(){},rb=Lk("Reflect","construct"),dl=/^\s*(?:class|function)\b/,Mk=Pk(dl.exec),Dk=!dl.test(ib),aa=function(e){if(!tb(e))return!1;try{return rb(ib,[],e),!0}catch{return!1}},ab=function(e){if(!tb(e))return!1;switch(Rk(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Dk||!!Mk(dl,$k(e))}catch{return!0}};ab.sham=!0;sb.exports=!rb||kk(function(){var a;return aa(aa.call)||!aa(Object)||!aa(function(){a=!0})||a})?ab:aa});var ob=b((AO,nb)=>{"use strict";var Ck=pl(),Bk=Wr(),Vk=TypeError;nb.exports=function(a){if(Ck(a))return a;throw new Vk(Bk(a)+" is not a constructor")}});var hl=b((PO,lb)=>{"use strict";var ub=ft(),_k=ob(),Ok=Hr(),Fk=ge(),Nk=Fk("species");lb.exports=function(a,e){var t=ub(a).constructor,i;return t===void 0||Ok(i=ub(t)[Nk])?e:_k(i)}});var db=b((kO,cb)=>{"use strict";var qk=pe();cb.exports=qk([].slice)});var hb=b((RO,pb)=>{"use strict";var Uk=TypeError;pb.exports=function(a,e){if(a<e)throw new Uk("Not enough arguments");return a}});var fl=b((LO,fb)=>{"use strict";var Hk=ci();fb.exports=/(?:ipad|iphone|ipod).*applewebkit/i.test(Hk)});var El=b(($O,Eb)=>{"use strict";var qe=te(),jk=ru(),Wk=ji(),mb=ie(),Qk=rt(),Ib=de(),bb=Gu(),Gk=db(),gb=zs(),zk=hb(),Yk=fl(),Kk=mn(),yl=qe.setImmediate,Tl=qe.clearImmediate,Xk=qe.process,ml=qe.Dispatch,Jk=qe.Function,Sb=qe.MessageChannel,Zk=qe.String,bl=0,sa={},vb="onreadystatechange",na,mi,gl,Sl;Ib(function(){na=qe.location});var Il=function(a){if(Qk(sa,a)){var e=sa[a];delete sa[a],e()}},vl=function(a){return function(){Il(a)}},yb=function(a){Il(a.data)},Tb=function(a){qe.postMessage(Zk(a),na.protocol+"//"+na.host)};(!yl||!Tl)&&(yl=function(e){zk(arguments.length,1);var t=mb(e)?e:Jk(e),i=Gk(arguments,1);return sa[++bl]=function(){jk(t,void 0,i)},mi(bl),bl},Tl=function(e){delete sa[e]},Kk?mi=function(a){Xk.nextTick(vl(a))}:ml&&ml.now?mi=function(a){ml.now(vl(a))}:Sb&&!Yk?(gl=new Sb,Sl=gl.port2,gl.port1.onmessage=yb,mi=Wk(Sl.postMessage,Sl)):qe.addEventListener&&mb(qe.postMessage)&&!qe.importScripts&&na&&na.protocol!=="file:"&&!Ib(Tb)?(mi=Tb,qe.addEventListener("message",yb,!1)):vb in gb("script")?mi=function(a){bb.appendChild(gb("script"))[vb]=function(){bb.removeChild(this),Il(a)}}:mi=function(a){setTimeout(vl(a),0)});Eb.exports={set:yl,clear:Tl}});var Ab=b((MO,wb)=>{"use strict";var xb=te(),eR=Fe(),tR=Object.getOwnPropertyDescriptor;wb.exports=function(a){if(!eR)return xb[a];var e=tR(xb,a);return e&&e.value}});var xl=b((DO,kb)=>{"use strict";var Pb=function(){this.head=null,this.tail=null};Pb.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}}};kb.exports=Pb});var Lb=b((CO,Rb)=>{"use strict";var iR=ci();Rb.exports=/ipad|iphone|ipod/i.test(iR)&&typeof Pebble<"u"});var Mb=b((BO,$b)=>{"use strict";var rR=ci();$b.exports=/web0s(?!.*chrome)/i.test(rR)});var Fb=b((VO,Ob)=>{"use strict";var Ji=te(),aR=Ab(),Db=ji(),wl=El().set,sR=xl(),nR=fl(),oR=Lb(),uR=Mb(),Al=mn(),Cb=Ji.MutationObserver||Ji.WebKitMutationObserver,Bb=Ji.document,Vb=Ji.process,bn=Ji.Promise,Rl=aR("queueMicrotask"),Xi,Pl,kl,gn,_b;Rl||(oa=new sR,ua=function(){var a,e;for(Al&&(a=Vb.domain)&&a.exit();e=oa.get();)try{e()}catch(t){throw oa.head&&Xi(),t}a&&a.enter()},!nR&&!Al&&!uR&&Cb&&Bb?(Pl=!0,kl=Bb.createTextNode(""),new Cb(ua).observe(kl,{characterData:!0}),Xi=function(){kl.data=Pl=!Pl}):!oR&&bn&&bn.resolve?(gn=bn.resolve(void 0),gn.constructor=bn,_b=Db(gn.then,gn),Xi=function(){_b(ua)}):Al?Xi=function(){Vb.nextTick(ua)}:(wl=Db(wl,Ji),Xi=function(){wl(ua)}),Rl=function(a){oa.head||Xi(),oa.add(a)});var oa,ua;Ob.exports=Rl});var qb=b((_O,Nb)=>{"use strict";Nb.exports=function(a,e){try{arguments.length===1?console.error(a):console.error(a,e)}catch{}}});var Sn=b((OO,Ub)=>{"use strict";Ub.exports=function(a){try{return{error:!1,value:a()}}catch(e){return{error:!0,value:e}}}});var bi=b((FO,Hb)=>{"use strict";var lR=te();Hb.exports=lR.Promise});var Zi=b((NO,Gb)=>{"use strict";var cR=te(),la=bi(),dR=ie(),pR=wu(),hR=cl(),fR=ge(),jb=ul(),mR=it(),Ll=pu(),Wb=la&&la.prototype,bR=fR("species"),$l=!1,Qb=dR(cR.PromiseRejectionEvent),gR=pR("Promise",function(){var a=hR(la),e=a!==String(la);if(!e&&Ll===66||mR&&!(Wb.catch&&Wb.finally))return!0;if(!Ll||Ll<51||!/native code/.test(a)){var t=new la(function(s){s(1)}),i=function(s){s(function(){},function(){})},r=t.constructor={};if(r[bR]=i,$l=t.then(function(){})instanceof i,!$l)return!0}return!e&&(jb==="BROWSER"||jb==="DENO")&&!Qb});Gb.exports={CONSTRUCTOR:gR,REJECTION_EVENT:Qb,SUBCLASSING:$l}});var er=b((qO,Yb)=>{"use strict";var zb=ht(),SR=TypeError,vR=function(a){var e,t;this.promise=new a(function(i,r){if(e!==void 0||t!==void 0)throw new SR("Bad Promise constructor");e=i,t=r}),this.resolve=zb(e),this.reject=zb(t)};Yb.exports.f=function(a){return new vR(a)}});var mg=b(()=>{"use strict";var yR=se(),TR=it(),In=mn(),qt=te(),IR=li(),ar=Ne(),Kb=Ki(),Xb=il(),ER=ea(),xR=Xm(),wR=ht(),Tn=ie(),AR=$e(),PR=Zm(),kR=hl(),ig=El().set,Vl=Fb(),RR=qb(),LR=Sn(),$R=xl(),rg=Hu(),En=bi(),_l=Zi(),ag=er(),xn="Promise",sg=_l.CONSTRUCTOR,MR=_l.REJECTION_EVENT,DR=_l.SUBCLASSING,Ml=rg.getterFor(xn),CR=rg.set,tr=En&&En.prototype,gi=En,vn=tr,ng=qt.TypeError,Dl=qt.document,Ol=qt.process,Cl=ag.f,BR=Cl,VR=!!(Dl&&Dl.createEvent&&qt.dispatchEvent),og="unhandledrejection",_R="rejectionhandled",Jb=0,ug=1,OR=2,Fl=1,lg=2,yn,Zb,cg,eg,dg=function(a){var e;return AR(a)&&Tn(e=a.then)?e:!1},pg=function(a,e){var t=e.value,i=e.state===ug,r=i?a.ok:a.fail,s=a.resolve,n=a.reject,u=a.domain,o,l,p;try{r?(i||(e.rejection===lg&&NR(e),e.rejection=Fl),r===!0?o=t:(u&&u.enter(),o=r(t),u&&(u.exit(),p=!0)),o===a.promise?n(new ng("Promise-chain cycle")):(l=dg(o))?ar(l,o,s,n):s(o)):n(t)}catch(c){u&&!p&&u.exit(),n(c)}},hg=function(a,e){a.notified||(a.notified=!0,Vl(function(){for(var t=a.reactions,i;i=t.get();)pg(i,a);a.notified=!1,e&&!a.rejection&&FR(a)}))},fg=function(a,e,t){var i,r;VR?(i=Dl.createEvent("Event"),i.promise=e,i.reason=t,i.initEvent(a,!1,!0),qt.dispatchEvent(i)):i={promise:e,reason:t},!MR&&(r=qt["on"+a])?r(i):a===og&&RR("Unhandled promise rejection",t)},FR=function(a){ar(ig,qt,function(){var e=a.facade,t=a.value,i=tg(a),r;if(i&&(r=LR(function(){In?Ol.emit("unhandledRejection",t,e):fg(og,e,t)}),a.rejection=In||tg(a)?lg:Fl,r.error))throw r.value})},tg=function(a){return a.rejection!==Fl&&!a.parent},NR=function(a){ar(ig,qt,function(){var e=a.facade;In?Ol.emit("rejectionHandled",e):fg(_R,e,a.value)})},ir=function(a,e,t){return function(i){a(e,i,t)}},rr=function(a,e,t){a.done||(a.done=!0,t&&(a=t),a.value=e,a.state=OR,hg(a,!0))},Bl=function(a,e,t){if(!a.done){a.done=!0,t&&(a=t);try{if(a.facade===e)throw new ng("Promise can't be resolved itself");var i=dg(e);i?Vl(function(){var r={done:!1};try{ar(i,e,ir(Bl,r,a),ir(rr,r,a))}catch(s){rr(r,s,a)}}):(a.value=e,a.state=ug,hg(a,!1))}catch(r){rr({done:!1},r,a)}}};if(sg&&(gi=function(e){PR(this,vn),wR(e),ar(yn,this);var t=Ml(this);try{e(ir(Bl,t),ir(rr,t))}catch(i){rr(t,i)}},vn=gi.prototype,yn=function(e){CR(this,{type:xn,done:!1,notified:!1,parent:!1,reactions:new $R,rejection:!1,state:Jb,value:null})},yn.prototype=Kb(vn,"then",function(e,t){var i=Ml(this),r=Cl(kR(this,gi));return i.parent=!0,r.ok=Tn(e)?e:!0,r.fail=Tn(t)&&t,r.domain=In?Ol.domain:void 0,i.state===Jb?i.reactions.add(r):Vl(function(){pg(r,i)}),r.promise}),Zb=function(){var a=new yn,e=Ml(a);this.promise=a,this.resolve=ir(Bl,e),this.reject=ir(rr,e)},ag.f=Cl=function(a){return a===gi||a===cg?new Zb(a):BR(a)},!TR&&Tn(En)&&tr!==Object.prototype)){eg=tr.then,DR||Kb(tr,"then",function(e,t){var i=this;return new gi(function(r,s){ar(eg,i,r,s)}).then(e,t)},{unsafe:!0});try{delete tr.constructor}catch{}Xb&&Xb(tr,vn)}yR({global:!0,constructor:!0,wrap:!0,forced:sg},{Promise:gi});cg=IR.Promise;ER(gi,xn,!1,!0);xR(xn)});var yg=b((jO,vg)=>{"use strict";var qR=ge(),gg=qR("iterator"),Sg=!1;try{bg=0,Nl={next:function(){return{done:!!bg++}},return:function(){Sg=!0}},Nl[gg]=function(){return this},Array.from(Nl,function(){throw 2})}catch{}var bg,Nl;vg.exports=function(a,e){try{if(!e&&!Sg)return!1}catch{return!1}var t=!1;try{var i={};i[gg]=function(){return{next:function(){return{done:t=!0}}}},a(i)}catch{}return t}});var ql=b((WO,Tg)=>{"use strict";var UR=bi(),HR=yg(),jR=Zi().CONSTRUCTOR;Tg.exports=jR||!HR(function(a){UR.all(a).then(void 0,function(){})})});var Ig=b(()=>{"use strict";var WR=se(),QR=Ne(),GR=ht(),zR=er(),YR=Sn(),KR=pn(),XR=ql();WR({target:"Promise",stat:!0,forced:XR},{all:function(e){var t=this,i=zR.f(t),r=i.resolve,s=i.reject,n=YR(function(){var u=GR(t.resolve),o=[],l=0,p=1;KR(e,function(c){var d=l++,h=!1;p++,QR(u,t,c).then(function(f){h||(h=!0,o[d]=f,--p||r(o))},s)}),--p||r(o)});return n.error&&s(n.value),i.promise}})});var xg=b(()=>{"use strict";var JR=se(),ZR=it(),eL=Zi().CONSTRUCTOR,Hl=bi(),tL=wt(),iL=ie(),rL=Ki(),Eg=Hl&&Hl.prototype;JR({target:"Promise",proto:!0,forced:eL,real:!0},{catch:function(a){return this.then(void 0,a)}});!ZR&&iL(Hl)&&(Ul=tL("Promise").prototype.catch,Eg.catch!==Ul&&rL(Eg,"catch",Ul,{unsafe:!0}));var Ul});var wg=b(()=>{"use strict";var aL=se(),sL=Ne(),nL=ht(),oL=er(),uL=Sn(),lL=pn(),cL=ql();aL({target:"Promise",stat:!0,forced:cL},{race:function(e){var t=this,i=oL.f(t),r=i.reject,s=uL(function(){var n=nL(t.resolve);lL(e,function(u){sL(n,t,u).then(i.resolve,r)})});return s.error&&r(s.value),i.promise}})});var Ag=b(()=>{"use strict";var dL=se(),pL=er(),hL=Zi().CONSTRUCTOR;dL({target:"Promise",stat:!0,forced:hL},{reject:function(e){var t=pL.f(this),i=t.reject;return i(e),t.promise}})});var jl=b((eF,Pg)=>{"use strict";var fL=ft(),mL=$e(),bL=er();Pg.exports=function(a,e){if(fL(a),mL(e)&&e.constructor===a)return e;var t=bL.f(a),i=t.resolve;return i(e),t.promise}});var Lg=b(()=>{"use strict";var gL=se(),SL=wt(),kg=it(),vL=bi(),Rg=Zi().CONSTRUCTOR,yL=jl(),TL=SL("Promise"),IL=kg&&!Rg;gL({target:"Promise",stat:!0,forced:kg||Rg},{resolve:function(e){return yL(IL&&this===TL?vL:this,e)}})});var $g=b(()=>{"use strict";mg();Ig();xg();wg();Ag();Lg()});var Bg=b(()=>{"use strict";var EL=se(),xL=it(),wn=bi(),wL=de(),Dg=wt(),Cg=ie(),AL=hl(),Mg=jl(),PL=Ki(),Ql=wn&&wn.prototype,kL=!!wn&&wL(function(){Ql.finally.call({then:function(){}},function(){})});EL({target:"Promise",proto:!0,real:!0,forced:kL},{finally:function(a){var e=AL(this,Dg("Promise")),t=Cg(a);return this.then(t?function(i){return Mg(e,a()).then(function(){return i})}:a,t?function(i){return Mg(e,a()).then(function(){throw i})}:a)}});!xL&&Cg(wn)&&(Wl=Dg("Promise").prototype.finally,Ql.finally!==Wl&&PL(Ql,"finally",Wl,{unsafe:!0}));var Wl});var _g=b((oF,Vg)=>{"use strict";jm();$g();Bg();var RL=Nt();Vg.exports=RL("Promise","finally")});var Fg=b((uF,Og)=>{"use strict";var LL=_g();Og.exports=LL});var An=b((lF,Ng)=>{"use strict";var $L=Fg();Ng.exports=$L});var mS=b(()=>{"use strict";var h$=se(),f$=Ui(),m$=zi(),b$=Kr(),g$=Xr();h$({target:"Array",proto:!0},{at:function(e){var t=f$(this),i=m$(t),r=b$(e),s=r>=0?r:i+r;return s<0||s>=i?void 0:t[s]}});g$("at")});var gS=b((eq,bS)=>{"use strict";mS();var S$=Nt();bS.exports=S$("Array","at")});var vS=b((tq,SS)=>{"use strict";var v$=gS();SS.exports=v$});var st=b((iq,yS)=>{"use strict";var y$=vS();yS.exports=y$});var bc=b((GU,iv)=>{"use strict";var eM=oi();iv.exports=Array.isArray||function(e){return eM(e)==="Array"}});var av=b((zU,rv)=>{"use strict";var tM=TypeError,iM=9007199254740991;rv.exports=function(a){if(a>iM)throw tM("Maximum allowed index exceeded");return a}});var ov=b((YU,nv)=>{"use strict";var rM=bc(),aM=zi(),sM=av(),nM=ji(),sv=function(a,e,t,i,r,s,n,u){for(var o=r,l=0,p=n?nM(n,u):!1,c,d;l<i;)l in t&&(c=p?p(t[l],l,e):t[l],s>0&&rM(c)?(d=aM(c),o=sv(a,e,c,d,o,s-1)-1):(sM(o+1),a[o]=c),o++),l++;return o};nv.exports=sv});var dv=b((KU,cv)=>{"use strict";var uv=bc(),oM=pl(),uM=$e(),lM=ge(),cM=lM("species"),lv=Array;cv.exports=function(a){var e;return uv(a)&&(e=a.constructor,oM(e)&&(e===lv||uv(e.prototype))?e=void 0:uM(e)&&(e=e[cM],e===null&&(e=void 0))),e===void 0?lv:e}});var hv=b((XU,pv)=>{"use strict";var dM=dv();pv.exports=function(a,e){return new(dM(a))(e===0?0:e)}});var fv=b(()=>{"use strict";var pM=se(),hM=ov(),fM=ht(),mM=Ui(),bM=zi(),gM=hv();pM({target:"Array",proto:!0},{flatMap:function(e){var t=mM(this),i=bM(t),r;return fM(e),r=gM(t,0),r.length=hM(r,t,t,i,0,1,e,arguments.length>1?arguments[1]:void 0),r}})});var mv=b(()=>{"use strict";var SM=Xr();SM("flatMap")});var gv=b((i1,bv)=>{"use strict";fv();mv();var vM=Nt();bv.exports=vM("Array","flatMap")});var vv=b((r1,Sv)=>{"use strict";var yM=gv();Sv.exports=yM});var wa=b((a1,yv)=>{"use strict";var TM=vv();yv.exports=TM});var Aa=b((s1,Tv)=>{"use strict";var IM=Zr(),EM=String;Tv.exports=function(a){if(IM(a)==="Symbol")throw new TypeError("Cannot convert a Symbol value to a string");return EM(a)}});var gc=b((n1,Iv)=>{"use strict";Iv.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 wv=b((o1,xv)=>{"use strict";var xM=pe(),wM=Ft(),AM=Aa(),vc=gc(),Ev=xM("".replace),PM=RegExp("^["+vc+"]+"),kM=RegExp("(^|[^"+vc+"])["+vc+"]+$"),Sc=function(a){return function(e){var t=AM(wM(e));return a&1&&(t=Ev(t,PM,"")),a&2&&(t=Ev(t,kM,"$1")),t}};xv.exports={start:Sc(1),end:Sc(2),trim:Sc(3)}});var Rv=b((u1,kv)=>{"use strict";var RM=Qu().PROPER,LM=de(),Av=gc(),Pv="\u200B\x85\u180E";kv.exports=function(a){return LM(function(){return!!Av[a]()||Pv[a]()!==Pv||RM&&Av[a].name!==a})}});var yc=b((l1,Lv)=>{"use strict";var $M=wv().start,MM=Rv();Lv.exports=MM("trimStart")?function(){return $M(this)}:"".trimStart});var Mv=b(()=>{"use strict";var DM=se(),$v=yc();DM({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==$v},{trimLeft:$v})});var Cv=b(()=>{"use strict";Mv();var CM=se(),Dv=yc();CM({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==Dv},{trimStart:Dv})});var Vv=b((f1,Bv)=>{"use strict";Cv();var BM=Nt();Bv.exports=BM("String","trimLeft")});var Ov=b((m1,_v)=>{"use strict";var VM=Vv();_v.exports=VM});var Nv=b((b1,Fv)=>{"use strict";var _M=Ov();Fv.exports=_M});var iy=b(()=>{"use strict"});var ry=b(()=>{"use strict"});var sy=b((iW,ay)=>{"use strict";var oD=$e(),uD=oi(),lD=ge(),cD=lD("match");ay.exports=function(a){var e;return oD(a)&&((e=a[cD])!==void 0?!!e:uD(a)==="RegExp")}});var uy=b((rW,oy)=>{"use strict";var dD=te(),pD=de(),ny=dD.RegExp,hD=!pD(function(){var a=!0;try{ny(".","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(ny.prototype,"flags").get.call(e);return u!==i||t!==i});oy.exports={correct:hD}});var cy=b((aW,ly)=>{"use strict";var fD=ft();ly.exports=function(){var a=fD(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 hy=b((sW,py)=>{"use strict";var mD=Ne(),bD=rt(),gD=jr(),dy=uy(),SD=cy(),vD=RegExp.prototype;py.exports=dy.correct?function(a){return a.flags}:function(a){return!dy.correct&&gD(vD,a)&&!bD(a,"flags")?mD(SD,a):a.flags}});var my=b((nW,fy)=>{"use strict";var wc=pe(),yD=Ui(),TD=Math.floor,Ec=wc("".charAt),ID=wc("".replace),xc=wc("".slice),ED=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,xD=/\$([$&'`]|\d{1,2})/g;fy.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=xD;return r!==void 0&&(r=yD(r),o=ED),ID(s,o,function(l,p){var c;switch(Ec(p,0)){case"$":return"$";case"&":return a;case"`":return xc(e,0,t);case"'":return xc(e,n);case"<":c=r[xc(p,1,-1)];break;default:var d=+p;if(d===0)return l;if(d>u){var h=TD(d/10);return h===0?l:h<=u?i[h-1]===void 0?Ec(p,1):i[h-1]+Ec(p,1):l}c=i[d-1]}return c===void 0?"":c})}});var Sy=b(()=>{"use strict";var wD=se(),AD=Ne(),Pc=pe(),by=Ft(),PD=ie(),kD=$e(),RD=sy(),gr=Aa(),LD=Qr(),$D=hy(),MD=my(),DD=ge(),CD=it(),BD=DD("replace"),VD=TypeError,Ac=Pc("".indexOf),_D=Pc("".replace),gy=Pc("".slice),OD=Math.max;wD({target:"String",proto:!0},{replaceAll:function(e,t){var i=by(this),r,s,n,u,o,l,p,c,d,h,f=0,m="";if(kD(e)){if(r=RD(e),r&&(s=gr(by($D(e))),!~Ac(s,"g")))throw new VD("`.replaceAll` does not allow non-global regexes");if(n=LD(e,BD),n)return AD(n,e,i,t);if(CD&&r)return _D(gr(i),e,t)}for(u=gr(i),o=gr(e),l=PD(t),l||(t=gr(t)),p=o.length,c=OD(1,p),d=Ac(u,o);d!==-1;)h=l?gr(t(o,d,u)):MD(o,u,d,[],void 0,t),m+=gy(u,f,d)+h,f=d+p,d=d+c>u.length?-1:Ac(u,o,d+c);return f<u.length&&(m+=gy(u,f)),m}})});var yy=b((lW,vy)=>{"use strict";iy();ry();Sy();var FD=Nt();vy.exports=FD("String","replaceAll")});var Iy=b((cW,Ty)=>{"use strict";var ND=yy();Ty.exports=ND});var xy=b((dW,Ey)=>{"use strict";var qD=Iy();Ey.exports=qD});var Ay=b((pW,wy)=>{"use strict";var UD=Kr(),HD=Aa(),jD=Ft(),WD=RangeError;wy.exports=function(e){var t=HD(jD(this)),i="",r=UD(e);if(r<0||r===1/0)throw new WD("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var $y=b((hW,Ly)=>{"use strict";var Ry=pe(),QD=Mu(),Py=Aa(),GD=Ay(),zD=Ft(),YD=Ry(GD),KD=Ry("".slice),XD=Math.ceil,ky=function(a){return function(e,t,i){var r=Py(zD(e)),s=QD(t),n=r.length,u=i===void 0?" ":Py(i),o,l;return s<=n||u===""?r:(o=s-n,l=YD(u,XD(o/u.length)),l.length>o&&(l=KD(l,0,o)),a?r+l:l+r)}};Ly.exports={start:ky(!1),end:ky(!0)}});var Dy=b((fW,My)=>{"use strict";var JD=ci();My.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(JD)});var Cy=b(()=>{"use strict";var ZD=se(),eC=$y().start,tC=Dy();ZD({target:"String",proto:!0,forced:tC},{padStart:function(e){return eC(this,e,arguments.length>1?arguments[1]:void 0)}})});var Vy=b((gW,By)=>{"use strict";Cy();var iC=Nt();By.exports=iC("String","padStart")});var Oy=b((SW,_y)=>{"use strict";var rC=Vy();_y.exports=rC});var Ny=b((vW,Fy)=>{"use strict";var aC=Oy();Fy.exports=aC});var qd="2.0.143";var Le=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Le||{}),xt=(y=>(y.MPEG="MPEG",y.DASH="DASH",y.DASH_SEP="DASH_SEP",y.DASH_SEP_VK="DASH_SEP",y.DASH_WEBM="DASH_WEBM",y.DASH_WEBM_AV1="DASH_WEBM_AV1",y.DASH_STREAMS="DASH_STREAMS",y.DASH_WEBM_VK="DASH_WEBM",y.DASH_ONDEMAND="DASH_ONDEMAND",y.DASH_ONDEMAND_VK="DASH_ONDEMAND",y.DASH_LIVE="DASH_LIVE",y.DASH_LIVE_CMAF="DASH_LIVE_CMAF",y.DASH_LIVE_WEBM="DASH_LIVE_WEBM",y.HLS="HLS",y.HLS_ONDEMAND="HLS_ONDEMAND",y.HLS_JS="HLS",y.HLS_FMP4="HLS_FMP4",y.HLS_LIVE="HLS_LIVE",y.HLS_LIVE_CMAF="HLS_LIVE_CMAF",y.WEB_RTC_LIVE="WEB_RTC_LIVE",y))(xt||{});var js=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(js||{}),eu=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(eu||{});var tu=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(tu||{}),Ws=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Ws||{});var Od=B(pi(),1),BI=B(Me(),1);import{assertNever as lf,assertNonNullable as Nw,isNonNullable as Zs,ValueSubject as Ou,Subject as qw,Subscription as Uw,merge as Hw,observableFrom as jw,fromEvent as sf,map as nf,tap as of,filterChanged as Ww,isNullable as Fu,ErrorCategory as uf}from"@vkontakte/videoplayer-shared/es2024";var af=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 en=class{constructor(e){this.connection$=new Ou(void 0);this.castState$=new Ou("NOT_AVAILABLE");this.errorEvent$=new qw;this.realCastState$=new Ou("NOT_AVAILABLE");this.subscription=new Uw;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=Zs(window.chrome?.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},r||af("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:uf.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(){Zs(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();Fu(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();Fu(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(sf(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 lf(r.sessionState)}})).add(Hw(sf(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe(of(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),nf(r=>r.castState)),jw([i.getCastState()])).pipe(Ww(),nf(Qw),of(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{let s=r==="CONNECTED",n=Zs(this.connection$.getValue());if(s&&!n){let u=i.getCurrentSession();Nw(u);let o=u.getCastDevice(),l=u.getMediaSession()?.media?.contentId;(Fu(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"?Zs(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:uf.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:r})}}},Qw=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 lf(a)}};var Rd=B(Me(),1),bI=B(Yi(),1),gI=B(ol(),1);var iS=B(An(),1);import{assertNever as qg}from"@vkontakte/videoplayer-shared/es2024";var re=(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:qg(t)}return a},Ut=(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:qg(e)}};var P=(a,e,t=!1)=>{let i=a.getTransition();(t||!i||i.to===e)&&a.setState(e)};import{isNonNullable as ML,Subject as Pn,merge as Ug}from"@vkontakte/videoplayer-shared/es2024";var O=class{constructor(e){this.transitionStarted$=new Pn;this.transitionEnded$=new Pn;this.transitionUpdated$=new Pn;this.forceChanged$=new Pn;this.stateChangeStarted$=Ug(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=Ug(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||ML(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}};import{assertNever as Yg}from"@vkontakte/videoplayer-shared/es2024";var kn=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 Hg=B(Me(),1);var ca=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var Rn=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,Hg.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=ca()}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 Ln=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 Ue=()=>window.ManagedMediaSource||window.MediaSource,sr=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),jg=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),$n=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var DL=document.createElement("video"),CL='video/mp4; codecs="avc1.42000a,mp4a.40.2"',BL='video/mp4; codecs="hev1.1.6.L93.B0"',Wg='video/webm; codecs="vp09.00.10.08"',Qg='video/webm; codecs="av01.0.00M.08"',VL='audio/mp4; codecs="mp4a.40.2"',_L='audio/webm; codecs="opus"',Gg,OL=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:Qg}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Wg}})]);Gg={DASH_WEBM_AV1:e,DASH_WEBM:t}};OL().catch(a=>{console.log(DL),console.error(a)});var Mn=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 Gg}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:sr(),mse:jg(),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=!!Ue()?.isTypeSupported?.(CL),t=!!Ue()?.isTypeSupported?.(BL),i=!!Ue()?.isTypeSupported?.(VL);this._codecs={h264:e,h265:t,vp9:!!Ue()?.isTypeSupported?.(Wg),av1:!!Ue()?.isTypeSupported?.(Qg),aac:i,opus:!!Ue()?.isTypeSupported?.(_L),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 zg="audio/mpeg",Dn=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(zg)},this._codecs={mp3:!!Ue()?.isTypeSupported?.(zg)}}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}};import{ValueSubject as FL}from"@vkontakte/videoplayer-shared/es2024";var Gl=class{constructor(){this.isInited$=new FL(!1);this._displayChecker=new Ln,this._deviceChecker=new Rn(this._displayChecker),this._browserChecker=new kn,this._videoChecker=new Mn(this._deviceChecker,this._browserChecker),this._audioChecker=new Dn,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)}},C=new Gl;var zl=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=C.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 Yg(u)}})},Yl=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 Yg(a)}},NL=a=>{let t=Object.keys(a).filter(i=>!Yl(i));return zl(t).length>0};import{assertNever as nr,assertNonNullable as Si,debounce as Kg,ErrorCategory as Xg,fromEvent as vi,isNonNullable as Jg,map as Zg,merge as eS,observableFrom as qL,Subject as UL,Subscription as Kl,timeout as HL,getHighestQuality as jL}from"@vkontakte/videoplayer-shared/es2024";var WL=5,QL=5,GL=500,tS=7e3,da=class{constructor(e){this.subscription=new Kl;this.loadMediaTimeoutSubscription=new Kl;this.videoState=new O("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:nr(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:nr(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:nr(e)}break}default:nr(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(Yl(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 Kl;this.subscription.add(e),this.subscription.add(eS(this.videoState.stateChangeStarted$.pipe(Zg(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe(Zg(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 UL;e.add(r.pipe(Kg(GL)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add(vi(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)>WL)&&r.next(u),s=u})),e.add(vi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t(vi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t(vi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t(vi(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<QL&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),P(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:nr(n)}}),t(vi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t(vi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=eS(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,qL(["init"])).pipe(Kg(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"),P(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),P(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"),P(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),P(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&P(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];Si(l);let p=jL(Object.keys(l));Si(p);let c=l[p];Si(c),i=c,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];Si(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];Si(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];Si(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];Si(l),i=re(l.url),r="application/x-mpegurl",s=chrome.cast.media.StreamType.LIVE;break}case"DASH_LIVE":case"WEB_RTC_LIVE":{let l="Unsupported format for Chromecast",p=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:Xg.VIDEO_PIPELINE,message:l,thrown:p}),p}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return nr(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 Jg(u)&&(n.metadata.title=u),Jg(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(HL(tS).subscribe(()=>s(`timeout(${tS})`)))});(0,iS.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:Xg.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var fc=B(Me(),1);import{clearVideoElement as aS}from"@vkontakte/videoplayer-shared/es2024";import{clearVideoElement as zL}from"@vkontakte/videoplayer-shared/es2024";var rS=a=>{try{a.pause(),a.playbackRate=0,zL(a),a.remove()}catch(e){console.error(e)}};import{fromEvent as YL,Subscription as KL}from"@vkontakte/videoplayer-shared/es2024";var Xl=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)}},Jl=window.WeakMap?new WeakMap:new Xl,Zl=window.WeakMap?new WeakMap:new Map,XL=(a,e=20)=>{let t=0;return YL(a,"ratechange").subscribe(i=>{t++,t>=e&&(a.currentTime=a.currentTime,t=0)})},De=(a,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=a.querySelector("video"),r=!!i;i?aS(i):(i=document.createElement("video"),a.appendChild(i)),Jl.set(i,r);let s=new KL;return s.add(XL(i,e)),Zl.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},Ce=a=>{Zl.get(a)?.unsubscribe(),Zl.delete(a);let t=Jl.get(a);Jl.delete(a),t?aS(a):rS(a)};var tc=B(pi(),1);import{assertNonNullable as ha,isNonNullable as bt,isNullable as e$,fromEvent as or,merge as sS,observableFrom as nS,filterChanged as oS,map as fa,Subject as uS,Subscription as t$,ValueSubject as i$,ErrorCategory as r$}from"@vkontakte/videoplayer-shared/es2024";import{isNonNullable as ec,isNullable as JL,Subscription as ZL}from"@vkontakte/videoplayer-shared/es2024";var Cn=(a,e,t,{equal:i=(n,u)=>n===u,changed$:r,onError:s}={})=>{let n=a.getState(),u=e(),o=JL(r),l=new ZL;return r&&l.add(r.subscribe(p=>{let c=a.getState();i(p,c)&&a.setState(p)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(p=>{t(p.to),o&&a.setState(p.to)},s)),l},mt=(a,e,t)=>Cn(e,()=>a.loop,i=>{ec(i)&&(a.loop=i)},{onError:t}),Be=(a,e,t,i)=>Cn(e,()=>({muted:a.muted,volume:a.volume}),r=>{ec(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}),ze=(a,e,t,i)=>Cn(e,()=>a.playbackRate,r=>{ec(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),pa=Cn;var a$=a=>["__",a.language,a.label].join("|"),s$=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},ic=class a{constructor(e){this.available$=new uS;this.current$=new i$(void 0);this.error$=new uS;this.subscription=new t$;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:r$.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(pa(t.internalTextTracks,()=>(0,tc.default)(this.internalTracks),s=>{bt(s)&&this.setInternal(s)},{equal:(s,n)=>bt(s)&&bt(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe(fa(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(pa(t.externalTextTracks,()=>(0,tc.default)(this.externalTracks),s=>{bt(s)&&this.setExternal(s)},{equal:(s,n)=>bt(s)&&bt(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe(fa(s=>s.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(pa(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(pa(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){ha(this.video);let{textTracks:e}=this.video;this.subscription.add(or(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add(sS(or(e,"addtrack"),or(e,"removetrack"),nS(["init"])).pipe(fa(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),oS((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add(sS(or(e,"change"),nS(["init"])).pipe(fa(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),fa(i=>i&&this.htmlTextTrackToITextTrack(i).id),oS()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add(or(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(or(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;bt(t.align)&&(r.align=t.align),bt(t.position)&&(r.position=t.position),bt(t.size)&&(r.size=t.size),bt(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){ha(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:a$(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){ha(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))(e$(e)||!s$(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){ha(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){ha(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)}},Ye=ic;var yi=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 lS=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},rc=a=>{let e=lS(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},cS=a=>{let e=lS(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};import{fromEvent as xe,map as gt,merge as Bn,filterChanged as pS,isNonNullable as hS,Subject as o$,filter as ac,mapTo as sc,combine as u$,once as l$,shareReplay as we,throttle as c$,ErrorCategory as d$,ValueSubject as fS,Subscription as p$}from"@vkontakte/videoplayer-shared/es2024";var n$=3,dS=(a,e,t=n$)=>{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 Ve=a=>{let e=x=>xe(a,x).pipe(sc(void 0),we(1)),t=new p$,i=()=>t.unsubscribe(),r=Bn(xe(a,"progress"),xe(a,"timeupdate")).pipe(gt(()=>dS(a.buffered,a.currentTime)),we(1)),s=C.browser.isSafari?u$({play:e("play").pipe(l$()),playing:e("playing")}).pipe(sc(void 0),we(1)):e("playing"),n=xe(a,"volumechange").pipe(gt(()=>({muted:a.muted,volume:a.volume})),we(1)),u=xe(a,"ratechange").pipe(gt(()=>a.playbackRate),we(1)),o=xe(a,"error").pipe(ac(()=>!!(a.error||a.played.length)),gt(()=>{let x=a.error;return{id:x?`MediaError#${x.code}`:"HtmlVideoError",category:d$.VIDEO_PIPELINE,message:x?x.message:"Error event from HTML video element",thrown:a.error??void 0}}),we(1)),l=xe(a,"timeupdate").pipe(gt(()=>a.currentTime),we(1)),p=["waiting","seeking","seeked","timeupdate"],c=new o$,d=.3,h;t.add(Bn(...p.map(x=>xe(a,x))).subscribe(x=>{let F=a.currentTime;a.loop&&hS(h)&&hS(F)&&h>=a.duration-d&&F<=d&&c.next(h),h=F}));let f=e("pause").pipe(ac(()=>!a.error&&h!==a.duration),we(1)),m=xe(a,"enterpictureinpicture").pipe(we(1)),g=xe(a,"leavepictureinpicture").pipe(we(1)),S=new fS(cS(a));t.add(m.subscribe(()=>S.next(!0))),t.add(g.subscribe(()=>S.next(!1)));let v=new fS(rc(a)),I=xe(a,"fullscreenchange").pipe(we(1));t.add(I.pipe(gt(()=>rc(a))).subscribe(v));let y=.1,w=1e3,L=xe(a,"timeupdate").pipe(gt(x=>a.duration-a.currentTime<y),pS(),we(1)),k=Bn(L.pipe(ac(x=>!a.loop&&x)),xe(a,"ended")).pipe(c$(w),sc(void 0),we(1)),M=Bn(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(x=>xe(a,x)),L.pipe(gt(x=>({type:x?"ended":"unknown"})))).pipe(gt(x=>C.browser.isFirefox&&x.type==="ended"?a.readyState<2:a.readyState<3),pS(),we(1));return{playing$:s,pause$:f,canplay$:e("canplay"),ended$:k,looped$:c,error$:o,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:xe(a,"durationchange").pipe(gt(()=>a.duration),we(1)),isBuffering$:M,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:S,inFullscreen$:v,enterPip$:m,leavePip$:g,destroy:i}};import{VideoQuality as Ht}from"@vkontakte/videoplayer-shared/es2024";var jt=a=>{switch(a){case"mobile":return Ht.Q_144P;case"lowest":return Ht.Q_240P;case"low":return Ht.Q_360P;case"sd":case"medium":return Ht.Q_480P;case"hd":case"high":return Ht.Q_720P;case"fullhd":case"full":return Ht.Q_1080P;case"quadhd":case"quad":return Ht.Q_1440P;case"ultrahd":case"ultra":return Ht.Q_2160P}};var Pe=B(st(),1),oc=B(Me(),1),Ii=B(Yi(),1);import{isNonNullable as z,isNullable as Fn,now as $S,isHigher as Nn,isHigherOrEqual as Ti,isInvariantQuality as qn,isLowerOrEqual as lr,videoSizeToQuality as MS,assertNotEmptyArray as Un,assertNonNullable as DS}from"@vkontakte/videoplayer-shared/es2024";var nc=!1,kt={},TS=a=>{nc=a},IS=()=>{kt={}},ES=a=>{a(kt)},ma=(a,e)=>{nc&&(kt.meta=kt.meta??{},kt.meta[a]=e)},Ae=class{constructor(e){this.name=e}next(e){if(!nc)return;kt.series=kt.series??{};let t=kt.series[this.name]??[];t.push([Date.now(),e]),kt.series[this.name]=t}};import{isHigher as T$,isHigherOrEqual as uq,isLower as xS,isLowerOrEqual as lq,isNonNullable as Vn,isNullable as I$,videoHeightToQuality as _n}from"@vkontakte/videoplayer-shared/es2024";function wS(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function ur(a,e,t){return I$(a)||Vn(a.min)&&Vn(a.max)&&xS(a.max,a.min)||Vn(a.min)&&e&&T$(a.min,e)||Vn(a.max)&&t&&xS(a.max,t)}function AS({limits:a,highestAvailableHeight:e,lowestAvailableHeight:t}){return ur({max:a?.max?_n(a.max):void 0,min:a?.min?_n(a.min):void 0},e?_n(e):void 0,t?_n(t):void 0)}var CS=new Ae("best_bitrate"),Hn=(a,e,t)=>(e-t)*Math.pow(2,-10*a)+t;var cr=a=>(e,t)=>a*(Number(e.bitrate)-Number(t.bitrate)),Wt=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=$S()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},jn='Assertion "ABR Tracks is empty array" failed',On=new WeakMap,PS=new WeakMap,kS=new WeakMap,ba=(a,e,t,i)=>{let r=[...e].sort(cr(1)),s=[...t].sort(cr(1)),n=s.filter(o=>z(o.bitrate)&&z(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Pe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Pe.default)(s,-1);return u&&(0,oc.default)(n,u)?u:n.length?(0,Pe.default)(n,-1):(0,Pe.default)(s,0)},ga=(a,e,t,i)=>{let r=On.get(e);r||(r=[...e].sort(cr(1)),On.set(e,r));let s=On.get(t);s||(s=[...t].sort(cr(1)),On.set(t,s));let n=kS.get(a);n||(n=s.filter(o=>z(o.bitrate)&&z(a.bitrate)?a.bitrate/o.bitrate>i:!0),kS.set(a,n));let u=(0,Pe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Pe.default)(s,-1);return u&&(0,oc.default)(n,u)?u:n.length?(0,Pe.default)(n,-1):(0,Pe.default)(s,0)},RS=a=>"quality"in a,Wn=(a,e,t,i)=>{let r=z(i?.last?.bitrate)&&z(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&$S()-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=RS(n)?"video":"audio",o=RS(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 wv=b((o1,xv)=>{"use strict";var xM=pe(),wM=Ft(),AM=Aa(),vc=gc(),Ev=xM("".replace),PM=RegExp("^["+vc+"]+"),kM=RegExp("(^|[^"+vc+"])["+vc+"]+$"),Sc=function(a){return function(e){var t=AM(wM(e));return a&1&&(t=Ev(t,PM,"")),a&2&&(t=Ev(t,kM,"$1")),t}};xv.exports={start:Sc(1),end:Sc(2),trim:Sc(3)}});var Rv=b((u1,kv)=>{"use strict";var RM=Qu().PROPER,LM=de(),Av=gc(),Pv="\u200B\x85\u180E";kv.exports=function(a){return LM(function(){return!!Av[a]()||Pv[a]()!==Pv||RM&&Av[a].name!==a})}});var yc=b((l1,Lv)=>{"use strict";var $M=wv().start,MM=Rv();Lv.exports=MM("trimStart")?function(){return $M(this)}:"".trimStart});var Mv=b(()=>{"use strict";var DM=se(),$v=yc();DM({target:"String",proto:!0,name:"trimStart",forced:"".trimLeft!==$v},{trimLeft:$v})});var Cv=b(()=>{"use strict";Mv();var CM=se(),Dv=yc();CM({target:"String",proto:!0,name:"trimStart",forced:"".trimStart!==Dv},{trimStart:Dv})});var Vv=b((f1,Bv)=>{"use strict";Cv();var BM=Nt();Bv.exports=BM("String","trimLeft")});var Ov=b((m1,_v)=>{"use strict";var VM=Vv();_v.exports=VM});var Nv=b((b1,Fv)=>{"use strict";var _M=Ov();Fv.exports=_M});var iy=b(()=>{"use strict"});var ry=b(()=>{"use strict"});var sy=b((iW,ay)=>{"use strict";var oD=$e(),uD=oi(),lD=ge(),cD=lD("match");ay.exports=function(a){var e;return oD(a)&&((e=a[cD])!==void 0?!!e:uD(a)==="RegExp")}});var uy=b((rW,oy)=>{"use strict";var dD=te(),pD=de(),ny=dD.RegExp,hD=!pD(function(){var a=!0;try{ny(".","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(ny.prototype,"flags").get.call(e);return u!==i||t!==i});oy.exports={correct:hD}});var cy=b((aW,ly)=>{"use strict";var fD=ft();ly.exports=function(){var a=fD(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 hy=b((sW,py)=>{"use strict";var mD=Ne(),bD=rt(),gD=jr(),dy=uy(),SD=cy(),vD=RegExp.prototype;py.exports=dy.correct?function(a){return a.flags}:function(a){return!dy.correct&&gD(vD,a)&&!bD(a,"flags")?mD(SD,a):a.flags}});var my=b((nW,fy)=>{"use strict";var wc=pe(),yD=Ui(),TD=Math.floor,Ec=wc("".charAt),ID=wc("".replace),xc=wc("".slice),ED=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,xD=/\$([$&'`]|\d{1,2})/g;fy.exports=function(a,e,t,i,r,s){var n=t+a.length,u=i.length,o=xD;return r!==void 0&&(r=yD(r),o=ED),ID(s,o,function(l,p){var c;switch(Ec(p,0)){case"$":return"$";case"&":return a;case"`":return xc(e,0,t);case"'":return xc(e,n);case"<":c=r[xc(p,1,-1)];break;default:var d=+p;if(d===0)return l;if(d>u){var h=TD(d/10);return h===0?l:h<=u?i[h-1]===void 0?Ec(p,1):i[h-1]+Ec(p,1):l}c=i[d-1]}return c===void 0?"":c})}});var Sy=b(()=>{"use strict";var wD=se(),AD=Ne(),Pc=pe(),by=Ft(),PD=ie(),kD=$e(),RD=sy(),gr=Aa(),LD=Qr(),$D=hy(),MD=my(),DD=ge(),CD=it(),BD=DD("replace"),VD=TypeError,Ac=Pc("".indexOf),_D=Pc("".replace),gy=Pc("".slice),OD=Math.max;wD({target:"String",proto:!0},{replaceAll:function(e,t){var i=by(this),r,s,n,u,o,l,p,c,d,h,f=0,m="";if(kD(e)){if(r=RD(e),r&&(s=gr(by($D(e))),!~Ac(s,"g")))throw new VD("`.replaceAll` does not allow non-global regexes");if(n=LD(e,BD),n)return AD(n,e,i,t);if(CD&&r)return _D(gr(i),e,t)}for(u=gr(i),o=gr(e),l=PD(t),l||(t=gr(t)),p=o.length,c=OD(1,p),d=Ac(u,o);d!==-1;)h=l?gr(t(o,d,u)):MD(o,u,d,[],void 0,t),m+=gy(u,f,d)+h,f=d+p,d=d+c>u.length?-1:Ac(u,o,d+c);return f<u.length&&(m+=gy(u,f)),m}})});var yy=b((lW,vy)=>{"use strict";iy();ry();Sy();var FD=Nt();vy.exports=FD("String","replaceAll")});var Iy=b((cW,Ty)=>{"use strict";var ND=yy();Ty.exports=ND});var xy=b((dW,Ey)=>{"use strict";var qD=Iy();Ey.exports=qD});var Ay=b((pW,wy)=>{"use strict";var UD=Kr(),HD=Aa(),jD=Ft(),WD=RangeError;wy.exports=function(e){var t=HD(jD(this)),i="",r=UD(e);if(r<0||r===1/0)throw new WD("Wrong number of repetitions");for(;r>0;(r>>>=1)&&(t+=t))r&1&&(i+=t);return i}});var $y=b((hW,Ly)=>{"use strict";var Ry=pe(),QD=Mu(),Py=Aa(),GD=Ay(),zD=Ft(),YD=Ry(GD),KD=Ry("".slice),XD=Math.ceil,ky=function(a){return function(e,t,i){var r=Py(zD(e)),s=QD(t),n=r.length,u=i===void 0?" ":Py(i),o,l;return s<=n||u===""?r:(o=s-n,l=YD(u,XD(o/u.length)),l.length>o&&(l=KD(l,0,o)),a?r+l:l+r)}};Ly.exports={start:ky(!1),end:ky(!0)}});var Dy=b((fW,My)=>{"use strict";var JD=ci();My.exports=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(JD)});var Cy=b(()=>{"use strict";var ZD=se(),eC=$y().start,tC=Dy();ZD({target:"String",proto:!0,forced:tC},{padStart:function(e){return eC(this,e,arguments.length>1?arguments[1]:void 0)}})});var Vy=b((gW,By)=>{"use strict";Cy();var iC=Nt();By.exports=iC("String","padStart")});var Oy=b((SW,_y)=>{"use strict";var rC=Vy();_y.exports=rC});var Ny=b((vW,Fy)=>{"use strict";var aC=Oy();Fy.exports=aC});var qd="2.0.144-beta.0";var Le=(r=>(r.STOPPED="stopped",r.READY="ready",r.PLAYING="playing",r.PAUSED="paused",r))(Le||{}),xt=(y=>(y.MPEG="MPEG",y.DASH="DASH",y.DASH_SEP="DASH_SEP",y.DASH_SEP_VK="DASH_SEP",y.DASH_WEBM="DASH_WEBM",y.DASH_WEBM_AV1="DASH_WEBM_AV1",y.DASH_STREAMS="DASH_STREAMS",y.DASH_WEBM_VK="DASH_WEBM",y.DASH_ONDEMAND="DASH_ONDEMAND",y.DASH_ONDEMAND_VK="DASH_ONDEMAND",y.DASH_LIVE="DASH_LIVE",y.DASH_LIVE_CMAF="DASH_LIVE_CMAF",y.DASH_LIVE_WEBM="DASH_LIVE_WEBM",y.HLS="HLS",y.HLS_ONDEMAND="HLS_ONDEMAND",y.HLS_JS="HLS",y.HLS_FMP4="HLS_FMP4",y.HLS_LIVE="HLS_LIVE",y.HLS_LIVE_CMAF="HLS_LIVE_CMAF",y.WEB_RTC_LIVE="WEB_RTC_LIVE",y))(xt||{});var js=(r=>(r.NOT_AVAILABLE="NOT_AVAILABLE",r.AVAILABLE="AVAILABLE",r.CONNECTING="CONNECTING",r.CONNECTED="CONNECTED",r))(js||{}),eu=(i=>(i.HTTP1="http1",i.HTTP2="http2",i.QUIC="quic",i))(eu||{});var tu=(n=>(n.NONE="none",n.INLINE="inline",n.FULLSCREEN="fullscreen",n.SECOND_SCREEN="second_screen",n.PIP="pip",n.INVISIBLE="invisible",n))(tu||{}),Ws=(i=>(i.TRAFFIC_SAVING="traffic_saving",i.HIGH_QUALITY="high_quality",i.UNKNOWN="unknown",i))(Ws||{});var Od=B(pi(),1),BI=B(Me(),1);import{assertNever as lf,assertNonNullable as Nw,isNonNullable as Zs,ValueSubject as Ou,Subject as qw,Subscription as Uw,merge as Hw,observableFrom as jw,fromEvent as sf,map as nf,tap as of,filterChanged as Ww,isNullable as Fu,ErrorCategory as uf}from"@vkontakte/videoplayer-shared/es2024";var af=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 en=class{constructor(e){this.connection$=new Ou(void 0);this.castState$=new Ou("NOT_AVAILABLE");this.errorEvent$=new qw;this.realCastState$=new Ou("NOT_AVAILABLE");this.subscription=new Uw;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=Zs(window.chrome?.cast),r=!!window.__onGCastApiAvailable;i?this.initializeCastApi():(window.__onGCastApiAvailable=s=>{delete window.__onGCastApiAvailable,s&&!this.isDestroyed&&this.initializeCastApi()},r||af("https://www.gstatic.com/cv/js/sender/v1/cast_sender.js?loadCastFramework=1").catch(()=>this.errorEvent$.next({id:"ChromecastLoading",category:uf.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(){Zs(this.connection$.getValue())?this.disconnect():this.connect()}setVolume(e){let t=this.connection$.getValue();Fu(t)||(t.remotePlayer.volumeLevel=e,t.remotePlayerController.setVolumeLevel())}setMuted(e){let t=this.connection$.getValue();Fu(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(sf(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 lf(r.sessionState)}})).add(Hw(sf(i,cast.framework.CastContextEventType.CAST_STATE_CHANGED).pipe(of(r=>{this.log({message:`[cast.framework.RemotePlayerEventType.CAST_STATE_CHANGED]: ${JSON.stringify(r)}`})}),nf(r=>r.castState)),jw([i.getCastState()])).pipe(Ww(),nf(Qw),of(r=>{this.log({message:`realCastState$: ${r}`})})).subscribe(this.realCastState$)).add(this.realCastState$.subscribe(r=>{let s=r==="CONNECTED",n=Zs(this.connection$.getValue());if(s&&!n){let u=i.getCurrentSession();Nw(u);let o=u.getCastDevice(),l=u.getMediaSession()?.media?.contentId;(Fu(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"?Zs(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:uf.EXTERNAL_API,message:"[initializeCastApi] failed",thrown:r})}}},Qw=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 lf(a)}};var Rd=B(Me(),1),bI=B(Yi(),1),gI=B(ol(),1);var iS=B(An(),1);import{assertNever as qg}from"@vkontakte/videoplayer-shared/es2024";var re=(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:qg(t)}return a},Ut=(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:qg(e)}};var P=(a,e,t=!1)=>{let i=a.getTransition();(t||!i||i.to===e)&&a.setState(e)};import{isNonNullable as ML,Subject as Pn,merge as Ug}from"@vkontakte/videoplayer-shared/es2024";var O=class{constructor(e){this.transitionStarted$=new Pn;this.transitionEnded$=new Pn;this.transitionUpdated$=new Pn;this.forceChanged$=new Pn;this.stateChangeStarted$=Ug(this.transitionStarted$,this.transitionUpdated$);this.stateChangeEnded$=Ug(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||ML(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}};import{assertNever as Yg}from"@vkontakte/videoplayer-shared/es2024";var kn=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 Hg=B(Me(),1);var ca=()=>/Mobile|mini|Fennec|Android|iP(ad|od|hone)/.test(navigator.appVersion??navigator.userAgent)||navigator?.userAgentData?.mobile;var Rn=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,Hg.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=ca()}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 Ln=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 Ue=()=>window.ManagedMediaSource||window.MediaSource,sr=()=>!!(window.ManagedMediaSource&&window.ManagedSourceBuffer?.prototype?.appendBuffer),jg=()=>!!(window.MediaSource&&window.SourceBuffer?.prototype?.appendBuffer),$n=()=>window.ManagedMediaSource?new ManagedMediaSource:new MediaSource;var DL=document.createElement("video"),CL='video/mp4; codecs="avc1.42000a,mp4a.40.2"',BL='video/mp4; codecs="hev1.1.6.L93.B0"',Wg='video/webm; codecs="vp09.00.10.08"',Qg='video/webm; codecs="av01.0.00M.08"',VL='audio/mp4; codecs="mp4a.40.2"',_L='audio/webm; codecs="opus"',Gg,OL=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:Qg}}),window.navigator.mediaCapabilities.decodingInfo({...a,video:{...a.video,contentType:Wg}})]);Gg={DASH_WEBM_AV1:e,DASH_WEBM:t}};OL().catch(a=>{console.log(DL),console.error(a)});var Mn=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 Gg}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:sr(),mse:jg(),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=!!Ue()?.isTypeSupported?.(CL),t=!!Ue()?.isTypeSupported?.(BL),i=!!Ue()?.isTypeSupported?.(VL);this._codecs={h264:e,h265:t,vp9:!!Ue()?.isTypeSupported?.(Wg),av1:!!Ue()?.isTypeSupported?.(Qg),aac:i,opus:!!Ue()?.isTypeSupported?.(_L),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 zg="audio/mpeg",Dn=class{supportMp3(){return this._codecs.mp3&&this._containers.mpeg}detect(){this._audio=document.createElement("audio");try{this._containers={mpeg:!!this._audio.canPlayType?.(zg)},this._codecs={mp3:!!Ue()?.isTypeSupported?.(zg)}}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}};import{ValueSubject as FL}from"@vkontakte/videoplayer-shared/es2024";var Gl=class{constructor(){this.isInited$=new FL(!1);this._displayChecker=new Ln,this._deviceChecker=new Rn(this._displayChecker),this._browserChecker=new kn,this._videoChecker=new Mn(this._deviceChecker,this._browserChecker),this._audioChecker=new Dn,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)}},C=new Gl;var zl=a=>{let{containers:e,protocols:t,codecs:i,nativeHlsSupported:r}=C.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 Yg(u)}})},Yl=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 Yg(a)}},NL=a=>{let t=Object.keys(a).filter(i=>!Yl(i));return zl(t).length>0};import{assertNever as nr,assertNonNullable as Si,debounce as Kg,ErrorCategory as Xg,fromEvent as vi,isNonNullable as Jg,map as Zg,merge as eS,observableFrom as qL,Subject as UL,Subscription as Kl,timeout as HL,getHighestQuality as jL}from"@vkontakte/videoplayer-shared/es2024";var WL=5,QL=5,GL=500,tS=7e3,da=class{constructor(e){this.subscription=new Kl;this.loadMediaTimeoutSubscription=new Kl;this.videoState=new O("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:nr(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:nr(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:nr(e)}break}default:nr(i)}}};this.params=e,this.log=this.params.dependencies.logger.createComponentLog("ChromecastProvider"),this.log({message:`constructor, format: ${e.format}`}),this.params.output.isLive$.next(Yl(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 Kl;this.subscription.add(e),this.subscription.add(eS(this.videoState.stateChangeStarted$.pipe(Zg(r=>`stateChangeStarted$ ${JSON.stringify(r)}`)),this.videoState.stateChangeEnded$.pipe(Zg(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 UL;e.add(r.pipe(Kg(GL)).subscribe(()=>{this.params.output.seekedEvent$.next()}));let s=NaN;e.add(vi(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)>WL)&&r.next(u),s=u})),e.add(vi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.DURATION_CHANGED).subscribe(n=>{this.logRemoteEvent(n),this.params.output.duration$.next(n.value)}))}t(vi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MEDIA_LOADED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemoteReady():(this.handleRemoteStop(),e.unsubscribe())}),t(vi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_PAUSED_CHANGED),r=>{this.logRemoteEvent(r),r.value?this.handleRemotePause():this.handleRemotePlay()}),t(vi(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<QL&&this.params.output.endedEvent$.next(),this.handleRemoteStop(),P(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:nr(n)}}),t(vi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.VOLUME_LEVEL_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({volume:r.value})}),t(vi(this.params.connection.remotePlayerController,cast.framework.RemotePlayerEventType.IS_MUTED_CHANGED),r=>{this.logRemoteEvent(r),this.handleRemoteVolumeChange({muted:r.value})});let i=eS(this.params.desiredState.playbackState.stateChangeStarted$,this.params.desiredState.seekState.stateChangeEnded$,this.videoState.stateChangeEnded$,qL(["init"])).pipe(Kg(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"),P(this.params.desiredState.playbackState,"paused")):(this.videoState.setState("playing"),P(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"),P(this.params.desiredState.playbackState,"paused"))}handleRemotePlay(){let e=this.videoState.getState();(this.videoState.getTransition()?.to==="playing"||e==="paused")&&(this.videoState.setState("playing"),P(this.params.desiredState.playbackState,"playing"))}handleRemoteReady(){this.videoState.getTransition()?.to==="ready"&&this.videoState.setState("ready"),this.params.desiredState.playbackState.getTransition()?.to==="ready"&&P(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];Si(l);let p=jL(Object.keys(l));Si(p);let c=l[p];Si(c),i=c,r="video/mp4",s=chrome.cast.media.StreamType.BUFFERED;break}case"HLS":case"HLS_FMP4":case"HLS_ONDEMAND":{let l=t[e];Si(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];Si(l),i=l.url,r="application/dash+xml",s=chrome.cast.media.StreamType.BUFFERED;break}case"DASH_LIVE_CMAF":{let l=t[e];Si(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];Si(l),i=re(l.url),r="application/x-mpegurl",s=chrome.cast.media.StreamType.LIVE;break}case"DASH_LIVE":case"WEB_RTC_LIVE":{let l="Unsupported format for Chromecast",p=new Error(l);throw this.params.output.error$.next({id:"ChromecastProvider.createMediaInfo()",category:Xg.VIDEO_PIPELINE,message:l,thrown:p}),p}case"DASH":case"DASH_LIVE_WEBM":throw new Error(`${e} is no longer supported`);default:return nr(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 Jg(u)&&(n.metadata.title=u),Jg(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(HL(tS).subscribe(()=>s(`timeout(${tS})`)))});(0,iS.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:Xg.VIDEO_PIPELINE,message:s,thrown:r})}),()=>{this.loadMediaTimeoutSubscription.unsubscribe()})}logRemoteEvent(e){this.log({message:`[remoteEvent] ${JSON.stringify(e)}`})}};var fc=B(Me(),1);import{clearVideoElement as aS}from"@vkontakte/videoplayer-shared/es2024";import{clearVideoElement as zL}from"@vkontakte/videoplayer-shared/es2024";var rS=a=>{try{a.pause(),a.playbackRate=0,zL(a),a.remove()}catch(e){console.error(e)}};import{fromEvent as YL,Subscription as KL}from"@vkontakte/videoplayer-shared/es2024";var Xl=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)}},Jl=window.WeakMap?new WeakMap:new Xl,Zl=window.WeakMap?new WeakMap:new Map,XL=(a,e=20)=>{let t=0;return YL(a,"ratechange").subscribe(i=>{t++,t>=e&&(a.currentTime=a.currentTime,t=0)})},De=(a,{audioVideoSyncRate:e,disableYandexPiP:t})=>{let i=a.querySelector("video"),r=!!i;i?aS(i):(i=document.createElement("video"),a.appendChild(i)),Jl.set(i,r);let s=new KL;return s.add(XL(i,e)),Zl.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},Ce=a=>{Zl.get(a)?.unsubscribe(),Zl.delete(a);let t=Jl.get(a);Jl.delete(a),t?aS(a):rS(a)};var tc=B(pi(),1);import{assertNonNullable as ha,isNonNullable as bt,isNullable as e$,fromEvent as or,merge as sS,observableFrom as nS,filterChanged as oS,map as fa,Subject as uS,Subscription as t$,ValueSubject as i$,ErrorCategory as r$}from"@vkontakte/videoplayer-shared/es2024";import{isNonNullable as ec,isNullable as JL,Subscription as ZL}from"@vkontakte/videoplayer-shared/es2024";var Cn=(a,e,t,{equal:i=(n,u)=>n===u,changed$:r,onError:s}={})=>{let n=a.getState(),u=e(),o=JL(r),l=new ZL;return r&&l.add(r.subscribe(p=>{let c=a.getState();i(p,c)&&a.setState(p)},s)),i(u,n)||(t(n),o&&a.setState(n)),l.add(a.stateChangeStarted$.subscribe(p=>{t(p.to),o&&a.setState(p.to)},s)),l},mt=(a,e,t)=>Cn(e,()=>a.loop,i=>{ec(i)&&(a.loop=i)},{onError:t}),Be=(a,e,t,i)=>Cn(e,()=>({muted:a.muted,volume:a.volume}),r=>{ec(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}),ze=(a,e,t,i)=>Cn(e,()=>a.playbackRate,r=>{ec(r)&&(a.playbackRate=r)},{changed$:t,onError:i}),pa=Cn;var a$=a=>["__",a.language,a.label].join("|"),s$=(a,e)=>{if(a.id===e)return!0;let[t,i,r]=e.split("|");return a.language===i&&a.label===r},ic=class a{constructor(e){this.available$=new uS;this.current$=new i$(void 0);this.error$=new uS;this.subscription=new t$;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:r$.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(pa(t.internalTextTracks,()=>(0,tc.default)(this.internalTracks),s=>{bt(s)&&this.setInternal(s)},{equal:(s,n)=>bt(s)&&bt(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe(fa(s=>s.filter(({type:n})=>n==="internal"))),onError:r})),this.subscription.add(pa(t.externalTextTracks,()=>(0,tc.default)(this.externalTracks),s=>{bt(s)&&this.setExternal(s)},{equal:(s,n)=>bt(s)&&bt(n)&&s.length===n.length&&s.every(({id:u},o)=>u===n[o].id),changed$:this.available$.pipe(fa(s=>s.filter(({type:n})=>n==="external"))),onError:r})),this.subscription.add(pa(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(pa(t.textTrackCuesSettings,()=>({}),()=>{if(this.video)for(let s of this.htmlTextTracksAsArray())this.applyCueSettings(s.cues),this.applyCueSettings(s.activeCues)}))}subscribe(){ha(this.video);let{textTracks:e}=this.video;this.subscription.add(or(e,"addtrack").subscribe(()=>{let i=this.current$.getValue();i&&this.select(i)})),this.subscription.add(sS(or(e,"addtrack"),or(e,"removetrack"),nS(["init"])).pipe(fa(()=>this.htmlTextTracksAsArray().map(i=>this.htmlTextTrackToITextTrack(i))),oS((i,r)=>i.length===r.length&&i.every(({id:s},n)=>s===r[n].id))).subscribe(this.available$)),this.subscription.add(sS(or(e,"change"),nS(["init"])).pipe(fa(()=>this.htmlTextTracksAsArray().find(({mode:i})=>i==="showing")),fa(i=>i&&this.htmlTextTrackToITextTrack(i).id),oS()).subscribe(this.current$));let t=i=>this.applyCueSettings(i.target?.activeCues??null);this.subscription.add(or(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(or(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;bt(t.align)&&(r.align=t.align),bt(t.position)&&(r.position=t.position),bt(t.size)&&(r.size=t.size),bt(t.line)&&(r.line=t.line)}}htmlTextTracksAsArray(e=!1){ha(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:a$(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){ha(this.video);for(let t of this.htmlTextTracksAsArray(!0))t.mode="showing";for(let t of this.htmlTextTracksAsArray(!0))(e$(e)||!s$(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){ha(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){ha(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)}},Ye=ic;var yi=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 lS=a=>{let e=a;for(;!(e instanceof Document)&&!(e instanceof ShadowRoot)&&e!==null;)e=e?.parentNode;return e??void 0},rc=a=>{let e=lS(a);return!!(e&&e.fullscreenElement&&e.fullscreenElement===a)},cS=a=>{let e=lS(a);return!!(e&&e.pictureInPictureElement&&e.pictureInPictureElement===a)};import{fromEvent as xe,map as gt,merge as Bn,filterChanged as pS,isNonNullable as hS,Subject as o$,filter as ac,mapTo as sc,combine as u$,once as l$,shareReplay as we,throttle as c$,ErrorCategory as d$,ValueSubject as fS,Subscription as p$}from"@vkontakte/videoplayer-shared/es2024";var n$=3,dS=(a,e,t=n$)=>{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 Ve=a=>{let e=x=>xe(a,x).pipe(sc(void 0),we(1)),t=new p$,i=()=>t.unsubscribe(),r=Bn(xe(a,"progress"),xe(a,"timeupdate")).pipe(gt(()=>dS(a.buffered,a.currentTime)),we(1)),s=C.browser.isSafari?u$({play:e("play").pipe(l$()),playing:e("playing")}).pipe(sc(void 0),we(1)):e("playing"),n=xe(a,"volumechange").pipe(gt(()=>({muted:a.muted,volume:a.volume})),we(1)),u=xe(a,"ratechange").pipe(gt(()=>a.playbackRate),we(1)),o=xe(a,"error").pipe(ac(()=>!!(a.error||a.played.length)),gt(()=>{let x=a.error;return{id:x?`MediaError#${x.code}`:"HtmlVideoError",category:d$.VIDEO_PIPELINE,message:x?x.message:"Error event from HTML video element",thrown:a.error??void 0}}),we(1)),l=xe(a,"timeupdate").pipe(gt(()=>a.currentTime),we(1)),p=["waiting","seeking","seeked","timeupdate"],c=new o$,d=.3,h;t.add(Bn(...p.map(x=>xe(a,x))).subscribe(x=>{let F=a.currentTime;a.loop&&hS(h)&&hS(F)&&h>=a.duration-d&&F<=d&&c.next(h),h=F}));let f=e("pause").pipe(ac(()=>!a.error&&h!==a.duration),we(1)),m=xe(a,"enterpictureinpicture").pipe(we(1)),g=xe(a,"leavepictureinpicture").pipe(we(1)),S=new fS(cS(a));t.add(m.subscribe(()=>S.next(!0))),t.add(g.subscribe(()=>S.next(!1)));let v=new fS(rc(a)),I=xe(a,"fullscreenchange").pipe(we(1));t.add(I.pipe(gt(()=>rc(a))).subscribe(v));let y=.1,w=1e3,L=xe(a,"timeupdate").pipe(gt(x=>a.duration-a.currentTime<y),pS(),we(1)),k=Bn(L.pipe(ac(x=>!a.loop&&x)),xe(a,"ended")).pipe(c$(w),sc(void 0),we(1)),M=Bn(...["waiting","pause","canplay","play","canplaythrough","playing","seeking","seeked","ended"].map(x=>xe(a,x)),L.pipe(gt(x=>({type:x?"ended":"unknown"})))).pipe(gt(x=>C.browser.isFirefox&&x.type==="ended"?a.readyState<2:a.readyState<3),pS(),we(1));return{playing$:s,pause$:f,canplay$:e("canplay"),ended$:k,looped$:c,error$:o,seeked$:e("seeked"),seeking$:e("seeking"),progress$:e("progress"),loadStart$:e("loadstart"),loadedMetadata$:e("loadedmetadata"),loadedData$:e("loadeddata"),timeUpdate$:l,durationChange$:xe(a,"durationchange").pipe(gt(()=>a.duration),we(1)),isBuffering$:M,currentBuffer$:r,volumeState$:n,playbackRateState$:u,inPiP$:S,inFullscreen$:v,enterPip$:m,leavePip$:g,destroy:i}};import{VideoQuality as Ht}from"@vkontakte/videoplayer-shared/es2024";var jt=a=>{switch(a){case"mobile":return Ht.Q_144P;case"lowest":return Ht.Q_240P;case"low":return Ht.Q_360P;case"sd":case"medium":return Ht.Q_480P;case"hd":case"high":return Ht.Q_720P;case"fullhd":case"full":return Ht.Q_1080P;case"quadhd":case"quad":return Ht.Q_1440P;case"ultrahd":case"ultra":return Ht.Q_2160P}};var Pe=B(st(),1),oc=B(Me(),1),Ii=B(Yi(),1);import{isNonNullable as z,isNullable as Fn,now as $S,isHigher as Nn,isHigherOrEqual as Ti,isInvariantQuality as qn,isLowerOrEqual as lr,videoSizeToQuality as MS,assertNotEmptyArray as Un,assertNonNullable as DS}from"@vkontakte/videoplayer-shared/es2024";var nc=!1,kt={},TS=a=>{nc=a},IS=()=>{kt={}},ES=a=>{a(kt)},ma=(a,e)=>{nc&&(kt.meta=kt.meta??{},kt.meta[a]=e)},Ae=class{constructor(e){this.name=e}next(e){if(!nc)return;kt.series=kt.series??{};let t=kt.series[this.name]??[];t.push([Date.now(),e]),kt.series[this.name]=t}};import{isHigher as T$,isHigherOrEqual as uq,isLower as xS,isLowerOrEqual as lq,isNonNullable as Vn,isNullable as I$,videoHeightToQuality as _n}from"@vkontakte/videoplayer-shared/es2024";function wS(a,e,t){return!a.max&&a.min===e?"high_quality":!a.min&&a.max===t?"traffic_saving":"unknown"}function ur(a,e,t){return I$(a)||Vn(a.min)&&Vn(a.max)&&xS(a.max,a.min)||Vn(a.min)&&e&&T$(a.min,e)||Vn(a.max)&&t&&xS(a.max,t)}function AS({limits:a,highestAvailableHeight:e,lowestAvailableHeight:t}){return ur({max:a?.max?_n(a.max):void 0,min:a?.min?_n(a.min):void 0},e?_n(e):void 0,t?_n(t):void 0)}var CS=new Ae("best_bitrate"),Hn=(a,e,t)=>(e-t)*Math.pow(2,-10*a)+t;var cr=a=>(e,t)=>a*(Number(e.bitrate)-Number(t.bitrate)),Wt=class{constructor(){this.history={}}recordSelection(e){this.history[e.id]=$S()}recordSwitch(e){this.last=e}clear(){this.last=void 0,this.history={}}},jn='Assertion "ABR Tracks is empty array" failed',On=new WeakMap,PS=new WeakMap,kS=new WeakMap,ba=(a,e,t,i)=>{let r=[...e].sort(cr(1)),s=[...t].sort(cr(1)),n=s.filter(o=>z(o.bitrate)&&z(a.bitrate)?a.bitrate/o.bitrate>i:!0),u=(0,Pe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Pe.default)(s,-1);return u&&(0,oc.default)(n,u)?u:n.length?(0,Pe.default)(n,-1):(0,Pe.default)(s,0)},ga=(a,e,t,i)=>{let r=On.get(e);r||(r=[...e].sort(cr(1)),On.set(e,r));let s=On.get(t);s||(s=[...t].sort(cr(1)),On.set(t,s));let n=kS.get(a);n||(n=s.filter(o=>z(o.bitrate)&&z(a.bitrate)?a.bitrate/o.bitrate>i:!0),kS.set(a,n));let u=(0,Pe.default)(s,Math.round(s.length*r.indexOf(a)/(r.length+1)))??(0,Pe.default)(s,-1);return u&&(0,oc.default)(n,u)?u:n.length?(0,Pe.default)(n,-1):(0,Pe.default)(s,0)},RS=a=>"quality"in a,Wn=(a,e,t,i)=>{let r=z(i?.last?.bitrate)&&z(t?.bitrate)&&i.last.bitrate<t.bitrate?a.trackCooldownIncreaseQuality:a.trackCooldownDecreaseQuality,s=t&&i&&i.history[t.id]&&$S()-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=RS(n)?"video":"audio",o=RS(n)?n.quality:n.bitrate;return e({message:`
8
8
  [last ${u} selected] ${o}
9
9
  `}),n}return i?.recordSwitch(t),t},E$=(a,e)=>Math.log(e)/Math.log(a),BS=({tuning:a,container:e,limits:t,panelSize:i})=>{let r=a.containerSizeFactor;if(i)return{containerSizeLimit:i,containerSizeFactor:r};if(a.usePixelRatio&&C.display.pixelRatio){let s=C.display.pixelRatio;if(a.pixelRatioMultiplier)r*=a.pixelRatioMultiplier*(s-1)+1;else{let n=a.pixelRatioLogBase,[u=0,o=0,l=0]=a.pixelRatioLogCoefficients,p=E$(n,u*s+o)+l;Number.isFinite(p)&&(r*=p)}}return z(t?.min)&&Ti(t.min,a.highQualityLimit)&&(r*=2),{containerSizeLimit:a.limitByContainer&&e&&e.width>0&&e.height>0?{width:e.width*r,height:e.height*r}:void 0,containerSizeFactor:r}},LS=new WeakMap,St=(a,{container:e,estimatedThroughput:t,tuning:i,limits:r,reserve:s=0,forwardBufferHealth:n,playbackRate:u,current:o,history:l,visible:p,droppedVideoMaxQualityLimit:c,stallsVideoMaxQualityLimit:d,stallsPredictedThroughput:h,abrLogger:f,panelSize:m})=>{Un(a,jn);let{containerSizeFactor:g,containerSizeLimit:S}=BS({container:e,tuning:i,limits:r,panelSize:m}),v=i.considerPlaybackRate&&z(u)?u:1,I=LS.get(a);I||(I=a.filter(T=>!qn(T.quality)).sort((T,E)=>Nn(T.quality,E.quality)?-1:1),LS.set(a,I));let y=(0,Pe.default)(I,-1)?.quality,w=(0,Pe.default)(I,0)?.quality,L=ur(r,w,y),k=v*Hn(n??.5,i.bitrateFactorAtEmptyBuffer,i.bitrateFactorAtFullBuffer),A={},M=null;for(let T of I){let E=!0;if(S)if(T.size)E=T.size.width<=S.width&&T.size.height<=S.height;else{let U=S&&MS(S);E=U?lr(T.quality,U):!0}if(!E){A[T.quality]="FitsContainer";continue}let Q=h||t,$=z(Q)&&isFinite(Q)&&z(T.bitrate)?Q-s>=T.bitrate*k:!0,q=r?.min===T.quality;if(!$&&!q){A[T.quality]="FitsThroughput";continue}if(i.lazyQualitySwitch&&z(i.minBufferToSwitchUp)&&o&&!qn(o.quality)&&(n??0)<i.minBufferToSwitchUp&&Nn(T.quality,o.quality)){A[T.quality]="Buffer";continue}if(!!c&&Ti(T.quality,c)&&!q){A[T.quality]="DroppedFramesLimit";continue}if(!!d&&Ti(T.quality,d)&&!q){A[T.quality]="StallsLimit";continue}let fe=L||(Fn(r?.max)||lr(T.quality,r.max))&&(Fn(r?.min)||Ti(T.quality,r.min)),me=z(p)&&!p?lr(T.quality,i.backgroundVideoQualityLimit):!0;if(!fe||!me){A[T.quality]="FitsQualityLimits";continue}M||(M=T)}M&&M.bitrate&&CS.next(M.bitrate);let x=M??(0,Pe.default)(I,-1)??a[0],F=l?.last,D=Wn(i,f,x,l);return z(l)&&D.quality!==F?.quality&&f({message:`
10
10
  [VIDEO TRACKS ABR]