@vkontakte/videoplayer-core 2.0.141-dev.48273beb.0 → 2.0.141-dev.752fa0a9.0

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