@vkontakte/videoplayer-interactive 1.0.28 → 1.0.29-dev.6887ae27.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.
Files changed (58) hide show
  1. package/es2015.cjs.js +7 -7
  2. package/es2015.esm.js +7 -7
  3. package/es2018.cjs.js +7 -7
  4. package/es2018.esm.js +7 -7
  5. package/esnext.cjs.js +7 -7
  6. package/esnext.esm.js +7 -7
  7. package/evergreen.esm.js +7 -7
  8. package/package.json +4 -4
  9. package/types/index.d.ts +2 -3
  10. package/types/manifest/index.d.ts +3 -0
  11. package/types/{movika.core/manifest/types.d.ts → manifest/utils.d.ts} +23 -6
  12. package/types/modules/Graph/Graph.d.ts +3 -2
  13. package/types/modules/Interactives/Interactives.d.ts +20 -18
  14. package/types/modules/Interactives/Layout.d.ts +7 -7
  15. package/types/modules/Interactives/containers/ChoiceContainer.d.ts +3 -3
  16. package/types/modules/Interactives/containers/Container.d.ts +4 -4
  17. package/types/modules/Interactives/controls/Control.d.ts +3 -4
  18. package/types/modules/Interactives/controls/types.d.ts +4 -5
  19. package/types/modules/Interactives/index.d.ts +2 -2
  20. package/types/modules/Interactives/types.d.ts +3 -3
  21. package/types/modules/Interactives/utils/GameController.d.ts +18 -15
  22. package/types/modules/Interactives/utils/GroupsStack.d.ts +5 -5
  23. package/types/modules/Interactives/utils/HistoryController.d.ts +3 -2
  24. package/types/modules/Interactives/utils/InteractiveEvents.d.ts +2 -2
  25. package/types/modules/Interactives/utils/SelectBranches.d.ts +6 -4
  26. package/types/modules/Interactives/utils/SelectBranches.types.d.ts +18 -14
  27. package/types/modules/Interactives/utils/events.d.ts +31 -8
  28. package/types/modules/Interactives/utils/events.types.d.ts +47 -0
  29. package/types/modules/Interactives/utils/fallbackStrategies.d.ts +6 -6
  30. package/types/modules/Interactives/utils/gameUtils.d.ts +14 -14
  31. package/types/modules/Interactives/utils/getInteractiveRanges.d.ts +1 -1
  32. package/types/modules/Interactives/utils/renderingUtils.d.ts +9 -7
  33. package/types/modules/Loaders/vkVideoLoader/types.d.ts +2 -2
  34. package/types/modules/Loaders/vkVideoLoader/utils.d.ts +0 -2
  35. package/types/modules/ManifestController/ManifestController.d.ts +11 -12
  36. package/types/modules/ManifestController/utils.d.ts +6 -6
  37. package/types/modules/SeamlessController/SeamlessController.d.ts +2 -2
  38. package/types/modules/SeamlessController/utils.d.ts +2 -2
  39. package/types/modules/SeekToInteractiveController/SeekToInteractiveController.d.ts +2 -2
  40. package/types/utils/LastFrame.d.ts +1 -1
  41. package/types/utils/chapterHelpers.d.ts +1 -1
  42. package/types/utils/extractVkMovieId.d.ts +1 -1
  43. package/types/movika.core/manifest/index.d.ts +0 -28
  44. package/types/movika.core/manifest/manifest_3_2/chapter.d.ts +0 -63
  45. package/types/movika.core/manifest/manifest_3_2/control.d.ts +0 -67
  46. package/types/movika.core/manifest/manifest_3_2/manifest.d.ts +0 -50
  47. package/types/movika.core/manifest/manifest_3_2/template.d.ts +0 -34
  48. package/types/movika.core/manifest/manifest_3_3/chapter.d.ts +0 -72
  49. package/types/movika.core/manifest/manifest_3_3/control.d.ts +0 -66
  50. package/types/movika.core/manifest/manifest_3_3/graph.d.ts +0 -73
  51. package/types/movika.core/manifest/manifest_3_3/manifest.d.ts +0 -52
  52. package/types/movika.core/manifest/manifest_3_3/template.d.ts +0 -34
  53. package/types/movika.core/manifest/migrations/index.d.ts +0 -1
  54. package/types/movika.core/manifest/migrations/migrateManifestToLatestVersion.d.ts +0 -1
  55. package/types/movika.core/manifest/migrations/migrate_from_3_0_to_3_1.d.ts +0 -21
  56. package/types/movika.core/manifest/migrations/migrate_from_3_1_to_3_2.d.ts +0 -2
  57. package/types/movika.core/manifest/migrations/migrate_from_3_2_to_3_3.d.ts +0 -8
  58. package/types/movika.core/manifest/utils.d.ts +0 -5
package/es2018.cjs.js CHANGED
@@ -1,9 +1,9 @@
1
1
  /**
2
- * @vkontakte/videoplayer-interactive v1.0.28
3
- * Thu, 12 Dec 2024 09:26:04 GMT
4
- * https://st.mycdn.me/static/vkontakte-videoplayer/1-0-28/doc/
2
+ * @vkontakte/videoplayer-interactive v1.0.29-dev.6887ae27.0
3
+ * Mon, 16 Dec 2024 12:38:34 GMT
4
+ * https://st.mycdn.me/static/vkontakte-videoplayer/1-0-29/doc/
5
5
  */
6
- "use strict";var jo=Object.create;var rt=Object.defineProperty;var Fo=Object.getOwnPropertyDescriptor;var No=Object.getOwnPropertyNames;var $o=Object.getPrototypeOf,qo=Object.prototype.hasOwnProperty;var oi=r=>{throw TypeError(r)};var p=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Bo=(r,e)=>{for(var t in e)rt(r,t,{get:e[t],enumerable:!0})},li=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of No(e))!qo.call(r,n)&&n!==t&&rt(r,n,{get:()=>e[n],enumerable:!(i=Fo(e,n))||i.enumerable});return r};var z=(r,e,t)=>(t=r!=null?jo($o(r)):{},li(e||!r||!r.__esModule?rt(t,"default",{value:r,enumerable:!0}):t,r)),Do=r=>li(rt({},"__esModule",{value:!0}),r);var ci=(r,e,t)=>e.has(r)||oi("Cannot "+t);var x=(r,e,t)=>(ci(r,e,"read from private field"),t?t.call(r):e.get(r)),N=(r,e,t)=>e.has(r)?oi("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),P=(r,e,t,i)=>(ci(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var pi=(r,e,t,i)=>({set _(n){P(r,e,n,t)},get _(){return x(r,e,i)}});var W=p((Jt,vi)=>{"use strict";var Le=function(r){return r&&r.Math===Math&&r};vi.exports=Le(typeof globalThis=="object"&&globalThis)||Le(typeof window=="object"&&window)||Le(typeof self=="object"&&self)||Le(typeof global=="object"&&global)||Le(typeof Jt=="object"&&Jt)||function(){return this}()||Function("return this")()});var $=p((Gh,gi)=>{"use strict";gi.exports=function(r){try{return!!r()}catch(e){return!0}}});var Me=p((Uh,bi)=>{"use strict";var Go=$();bi.exports=!Go(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var Ti=p((zh,Ii)=>{"use strict";var Uo=Me(),xi=Function.prototype,Ci=xi.apply,Ei=xi.call;Ii.exports=typeof Reflect=="object"&&Reflect.apply||(Uo?Ei.bind(Ci):function(){return Ei.apply(Ci,arguments)})});var H=p((Wh,_i)=>{"use strict";var Si=Me(),wi=Function.prototype,er=wi.call,zo=Si&&wi.bind.bind(er,er);_i.exports=Si?zo:function(r){return function(){return er.apply(r,arguments)}}});var Re=p((Kh,Li)=>{"use strict";var Ai=H(),Wo=Ai({}.toString),Ko=Ai("".slice);Li.exports=function(r){return Ko(Wo(r),8,-1)}});var tr=p((Qh,Mi)=>{"use strict";var Qo=Re(),Yo=H();Mi.exports=function(r){if(Qo(r)==="Function")return Yo(r)}});var q=p((Yh,Ri)=>{"use strict";var rr=typeof document=="object"&&document.all;Ri.exports=typeof rr=="undefined"&&rr!==void 0?function(r){return typeof r=="function"||r===rr}:function(r){return typeof r=="function"}});var ie=p((Zh,Pi)=>{"use strict";var Zo=$();Pi.exports=!Zo(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var ft=p((Xh,Oi)=>{"use strict";var Xo=Me(),dt=Function.prototype.call;Oi.exports=Xo?dt.bind(dt):function(){return dt.apply(dt,arguments)}});var ir=p(ji=>{"use strict";var ki={}.propertyIsEnumerable,Vi=Object.getOwnPropertyDescriptor,Jo=Vi&&!ki.call({1:2},1);ji.f=Jo?function(e){var t=Vi(this,e);return!!t&&t.enumerable}:ki});var nr=p((ed,Fi)=>{"use strict";Fi.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var $i=p((td,Ni)=>{"use strict";var el=H(),tl=$(),rl=Re(),ar=Object,il=el("".split);Ni.exports=tl(function(){return!ar("z").propertyIsEnumerable(0)})?function(r){return rl(r)==="String"?il(r,""):ar(r)}:ar});var sr=p((rd,qi)=>{"use strict";qi.exports=function(r){return r==null}});var or=p((id,Bi)=>{"use strict";var nl=sr(),al=TypeError;Bi.exports=function(r){if(nl(r))throw new al("Can't call method on "+r);return r}});var Pe=p((nd,Di)=>{"use strict";var sl=$i(),ol=or();Di.exports=function(r){return sl(ol(r))}});var ge=p((ad,Hi)=>{"use strict";var ll=q();Hi.exports=function(r){return typeof r=="object"?r!==null:ll(r)}});var mt=p((sd,Gi)=>{"use strict";Gi.exports={}});var yt=p((od,zi)=>{"use strict";var lr=mt(),cr=W(),cl=q(),Ui=function(r){return cl(r)?r:void 0};zi.exports=function(r,e){return arguments.length<2?Ui(lr[r])||Ui(cr[r]):lr[r]&&lr[r][e]||cr[r]&&cr[r][e]}});var Ki=p((ld,Wi)=>{"use strict";var pl=H();Wi.exports=pl({}.isPrototypeOf)});var Xi=p((cd,Zi)=>{"use strict";var ul=W(),Qi=ul.navigator,Yi=Qi&&Qi.userAgent;Zi.exports=Yi?String(Yi):""});var sn=p((pd,an)=>{"use strict";var nn=W(),pr=Xi(),Ji=nn.process,en=nn.Deno,tn=Ji&&Ji.versions||en&&en.version,rn=tn&&tn.v8,G,vt;rn&&(G=rn.split("."),vt=G[0]>0&&G[0]<4?1:+(G[0]+G[1]));!vt&&pr&&(G=pr.match(/Edge\/(\d+)/),(!G||G[1]>=74)&&(G=pr.match(/Chrome\/(\d+)/),G&&(vt=+G[1])));an.exports=vt});var ur=p((ud,ln)=>{"use strict";var on=sn(),hl=$(),dl=W(),fl=dl.String;ln.exports=!!Object.getOwnPropertySymbols&&!hl(function(){var r=Symbol("symbol detection");return!fl(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&on&&on<41})});var hr=p((hd,cn)=>{"use strict";var ml=ur();cn.exports=ml&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var dr=p((dd,pn)=>{"use strict";var yl=yt(),vl=q(),gl=Ki(),bl=hr(),Cl=Object;pn.exports=bl?function(r){return typeof r=="symbol"}:function(r){var e=yl("Symbol");return vl(e)&&gl(e.prototype,Cl(r))}});var hn=p((fd,un)=>{"use strict";var El=String;un.exports=function(r){try{return El(r)}catch(e){return"Object"}}});var fr=p((md,dn)=>{"use strict";var xl=q(),Il=hn(),Tl=TypeError;dn.exports=function(r){if(xl(r))return r;throw new Tl(Il(r)+" is not a function")}});var mn=p((yd,fn)=>{"use strict";var Sl=fr(),wl=sr();fn.exports=function(r,e){var t=r[e];return wl(t)?void 0:Sl(t)}});var vn=p((vd,yn)=>{"use strict";var mr=ft(),yr=q(),vr=ge(),_l=TypeError;yn.exports=function(r,e){var t,i;if(e==="string"&&yr(t=r.toString)&&!vr(i=mr(t,r))||yr(t=r.valueOf)&&!vr(i=mr(t,r))||e!=="string"&&yr(t=r.toString)&&!vr(i=mr(t,r)))return i;throw new _l("Can't convert object to primitive value")}});var bn=p((gd,gn)=>{"use strict";gn.exports=!0});var xn=p((bd,En)=>{"use strict";var Cn=W(),Al=Object.defineProperty;En.exports=function(r,e){try{Al(Cn,r,{value:e,configurable:!0,writable:!0})}catch(t){Cn[r]=e}return e}});var gt=p((Cd,Sn)=>{"use strict";var Ll=bn(),Ml=W(),Rl=xn(),In="__core-js_shared__",Tn=Sn.exports=Ml[In]||Rl(In,{});(Tn.versions||(Tn.versions=[])).push({version:"3.38.0",mode:Ll?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var gr=p((Ed,_n)=>{"use strict";var wn=gt();_n.exports=function(r,e){return wn[r]||(wn[r]=e||{})}});var Oe=p((xd,An)=>{"use strict";var Pl=or(),Ol=Object;An.exports=function(r){return Ol(Pl(r))}});var be=p((Id,Ln)=>{"use strict";var kl=H(),Vl=Oe(),jl=kl({}.hasOwnProperty);Ln.exports=Object.hasOwn||function(e,t){return jl(Vl(e),t)}});var br=p((Td,Mn)=>{"use strict";var Fl=H(),Nl=0,$l=Math.random(),ql=Fl(1 .toString);Mn.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+ql(++Nl+$l,36)}});var ke=p((Sd,Pn)=>{"use strict";var Bl=W(),Dl=gr(),Rn=be(),Hl=br(),Gl=ur(),Ul=hr(),Ce=Bl.Symbol,Cr=Dl("wks"),zl=Ul?Ce.for||Ce:Ce&&Ce.withoutSetter||Hl;Pn.exports=function(r){return Rn(Cr,r)||(Cr[r]=Gl&&Rn(Ce,r)?Ce[r]:zl("Symbol."+r)),Cr[r]}});var jn=p((wd,Vn)=>{"use strict";var Wl=ft(),On=ge(),kn=dr(),Kl=mn(),Ql=vn(),Yl=ke(),Zl=TypeError,Xl=Yl("toPrimitive");Vn.exports=function(r,e){if(!On(r)||kn(r))return r;var t=Kl(r,Xl),i;if(t){if(e===void 0&&(e="default"),i=Wl(t,r,e),!On(i)||kn(i))return i;throw new Zl("Can't convert object to primitive value")}return e===void 0&&(e="number"),Ql(r,e)}});var Er=p((_d,Fn)=>{"use strict";var Jl=jn(),ec=dr();Fn.exports=function(r){var e=Jl(r,"string");return ec(e)?e:e+""}});var qn=p((Ad,$n)=>{"use strict";var tc=W(),Nn=ge(),xr=tc.document,rc=Nn(xr)&&Nn(xr.createElement);$n.exports=function(r){return rc?xr.createElement(r):{}}});var Ir=p((Ld,Bn)=>{"use strict";var ic=ie(),nc=$(),ac=qn();Bn.exports=!ic&&!nc(function(){return Object.defineProperty(ac("div"),"a",{get:function(){return 7}}).a!==7})});var Gn=p(Hn=>{"use strict";var sc=ie(),oc=ft(),lc=ir(),cc=nr(),pc=Pe(),uc=Er(),hc=be(),dc=Ir(),Dn=Object.getOwnPropertyDescriptor;Hn.f=sc?Dn:function(e,t){if(e=pc(e),t=uc(t),dc)try{return Dn(e,t)}catch(i){}if(hc(e,t))return cc(!oc(lc.f,e,t),e[t])}});var zn=p((Rd,Un)=>{"use strict";var fc=$(),mc=q(),yc=/#|\.prototype\./,Ve=function(r,e){var t=gc[vc(r)];return t===Cc?!0:t===bc?!1:mc(e)?fc(e):!!e},vc=Ve.normalize=function(r){return String(r).replace(yc,".").toLowerCase()},gc=Ve.data={},bc=Ve.NATIVE="N",Cc=Ve.POLYFILL="P";Un.exports=Ve});var Tr=p((Pd,Kn)=>{"use strict";var Wn=tr(),Ec=fr(),xc=Me(),Ic=Wn(Wn.bind);Kn.exports=function(r,e){return Ec(r),e===void 0?r:xc?Ic(r,e):function(){return r.apply(e,arguments)}}});var Yn=p((Od,Qn)=>{"use strict";var Tc=ie(),Sc=$();Qn.exports=Tc&&Sc(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var Xn=p((kd,Zn)=>{"use strict";var wc=ge(),_c=String,Ac=TypeError;Zn.exports=function(r){if(wc(r))return r;throw new Ac(_c(r)+" is not an object")}});var ta=p(ea=>{"use strict";var Lc=ie(),Mc=Ir(),Rc=Yn(),bt=Xn(),Jn=Er(),Pc=TypeError,Sr=Object.defineProperty,Oc=Object.getOwnPropertyDescriptor,wr="enumerable",_r="configurable",Ar="writable";ea.f=Lc?Rc?function(e,t,i){if(bt(e),t=Jn(t),bt(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Ar in i&&!i[Ar]){var n=Oc(e,t);n&&n[Ar]&&(e[t]=i.value,i={configurable:_r in i?i[_r]:n[_r],enumerable:wr in i?i[wr]:n[wr],writable:!1})}return Sr(e,t,i)}:Sr:function(e,t,i){if(bt(e),t=Jn(t),bt(i),Mc)try{return Sr(e,t,i)}catch(n){}if("get"in i||"set"in i)throw new Pc("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var ia=p((jd,ra)=>{"use strict";var kc=ie(),Vc=ta(),jc=nr();ra.exports=kc?function(r,e,t){return Vc.f(r,e,jc(1,t))}:function(r,e,t){return r[e]=t,r}});var Fe=p((Fd,aa)=>{"use strict";var je=W(),Fc=Ti(),Nc=tr(),$c=q(),qc=Gn().f,Bc=zn(),Ee=mt(),Dc=Tr(),xe=ia(),na=be();gt();var Hc=function(r){var e=function(t,i,n){if(this instanceof e){switch(arguments.length){case 0:return new r;case 1:return new r(t);case 2:return new r(t,i)}return new r(t,i,n)}return Fc(r,this,arguments)};return e.prototype=r.prototype,e};aa.exports=function(r,e){var t=r.target,i=r.global,n=r.stat,a=r.proto,o=i?je:n?je[t]:je[t]&&je[t].prototype,l=i?Ee:Ee[t]||xe(Ee,t,{})[t],s=l.prototype,c,d,f,m,C,T,R,g,h;for(m in e)c=Bc(i?m:t+(n?".":"#")+m,r.forced),d=!c&&o&&na(o,m),T=l[m],d&&(r.dontCallGetSet?(h=qc(o,m),R=h&&h.value):R=o[m]),C=d&&R?R:e[m],!(!c&&!a&&typeof T==typeof C)&&(r.bind&&d?g=Dc(C,je):r.wrap&&d?g=Hc(C):a&&$c(C)?g=Nc(C):g=C,(r.sham||C&&C.sham||T&&T.sham)&&xe(g,"sham",!0),xe(l,m,g),a&&(f=t+"Prototype",na(Ee,f)||xe(Ee,f,{}),xe(Ee[f],m,C),r.real&&s&&(c||!s[m])&&xe(s,m,C)))}});var oa=p((Nd,sa)=>{"use strict";var Gc=Math.ceil,Uc=Math.floor;sa.exports=Math.trunc||function(e){var t=+e;return(t>0?Uc:Gc)(t)}});var Ne=p(($d,la)=>{"use strict";var zc=oa();la.exports=function(r){var e=+r;return e!==e||e===0?0:zc(e)}});var pa=p((qd,ca)=>{"use strict";var Wc=Ne(),Kc=Math.min;ca.exports=function(r){var e=Wc(r);return e>0?Kc(e,9007199254740991):0}});var $e=p((Bd,ua)=>{"use strict";var Qc=pa();ua.exports=function(r){return Qc(r.length)}});var Ct=p((Dd,ha)=>{"use strict";ha.exports=function(){}});var da=p(()=>{"use strict";var Yc=Fe(),Zc=Oe(),Xc=$e(),Jc=Ne(),ep=Ct();Yc({target:"Array",proto:!0},{at:function(e){var t=Zc(this),i=Xc(t),n=Jc(e),a=n>=0?n:i+n;return a<0||a>=i?void 0:t[a]}});ep("at")});var Et=p((Ud,fa)=>{"use strict";var tp=yt();fa.exports=tp});var ya=p((zd,ma)=>{"use strict";da();var rp=Et();ma.exports=rp("Array","at")});var ga=p((Wd,va)=>{"use strict";var ip=ya();va.exports=ip});var Lr=p((Kd,ba)=>{"use strict";var np=ga();ba.exports=np});var Da=p((cm,Ba)=>{"use strict";var Cp=gr(),Ep=br(),qa=Cp("keys");Ba.exports=function(r){return qa[r]||(qa[r]=Ep(r))}});var Ga=p((pm,Ha)=>{"use strict";var xp=$();Ha.exports=!xp(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var Wa=p((um,za)=>{"use strict";var Ip=be(),Tp=q(),Sp=Oe(),wp=Da(),_p=Ga(),Ua=wp("IE_PROTO"),$r=Object,Ap=$r.prototype;za.exports=_p?$r.getPrototypeOf:function(r){var e=Sp(r);if(Ip(e,Ua))return e[Ua];var t=e.constructor;return Tp(t)&&e instanceof t?t.prototype:e instanceof $r?Ap:null}});var Qa=p((hm,Ka)=>{"use strict";var Lp=Ne(),Mp=Math.max,Rp=Math.min;Ka.exports=function(r,e){var t=Lp(r);return t<0?Mp(t+e,0):Rp(t,e)}});var qr=p((dm,Za)=>{"use strict";var Pp=Pe(),Op=Qa(),kp=$e(),Ya=function(r){return function(e,t,i){var n=Pp(e),a=kp(n);if(a===0)return!r&&-1;var o=Op(i,a),l;if(r&&t!==t){for(;a>o;)if(l=n[o++],l!==l)return!0}else for(;a>o;o++)if((r||o in n)&&n[o]===t)return r||o||0;return!r&&-1}};Za.exports={includes:Ya(!0),indexOf:Ya(!1)}});var Ja=p((fm,Xa)=>{"use strict";Xa.exports={}});var rs=p((mm,ts)=>{"use strict";var Vp=H(),Br=be(),jp=Pe(),Fp=qr().indexOf,Np=Ja(),es=Vp([].push);ts.exports=function(r,e){var t=jp(r),i=0,n=[],a;for(a in t)!Br(Np,a)&&Br(t,a)&&es(n,a);for(;e.length>i;)Br(t,a=e[i++])&&(~Fp(n,a)||es(n,a));return n}});var ns=p((ym,is)=>{"use strict";is.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var ss=p((vm,as)=>{"use strict";var $p=rs(),qp=ns();as.exports=Object.keys||function(e){return $p(e,qp)}});var hs=p((gm,us)=>{"use strict";var ls=ie(),Bp=$(),cs=H(),Dp=Wa(),Hp=ss(),Gp=Pe(),Up=ir().f,ps=cs(Up),zp=cs([].push),Wp=ls&&Bp(function(){var r=Object.create(null);return r[2]=2,!ps(r,2)}),os=function(r){return function(e){for(var t=Gp(e),i=Hp(t),n=Wp&&Dp(t)===null,a=i.length,o=0,l=[],s;a>o;)s=i[o++],(!ls||(n?s in t:ps(t,s)))&&zp(l,r?[s,t[s]]:t[s]);return l}};us.exports={entries:os(!0),values:os(!1)}});var ds=p(()=>{"use strict";var Kp=Fe(),Qp=hs().values;Kp({target:"Object",stat:!0},{values:function(e){return Qp(e)}})});var ms=p((Em,fs)=>{"use strict";ds();var Yp=mt();fs.exports=Yp.Object.values});var vs=p((xm,ys)=>{"use strict";var Zp=ms();ys.exports=Zp});var kt=p((Im,gs)=>{"use strict";var Xp=vs();gs.exports=Xp});var Es=p(()=>{"use strict";var Jp=Fe(),eu=qr().includes,tu=$(),ru=Ct(),iu=tu(function(){return!Array(1).includes()});Jp({target:"Array",proto:!0,forced:iu},{includes:function(e){return eu(this,e,arguments.length>1?arguments[1]:void 0)}});ru("includes")});var Is=p((Am,xs)=>{"use strict";Es();var nu=Et();xs.exports=nu("Array","includes")});var Ss=p((Lm,Ts)=>{"use strict";var au=Is();Ts.exports=au});var Vt=p((Mm,ws)=>{"use strict";var su=Ss();ws.exports=su});var Ur=p((Um,Ps)=>{"use strict";var lu=Re();Ps.exports=Array.isArray||function(e){return lu(e)==="Array"}});var ks=p((zm,Os)=>{"use strict";var cu=TypeError,pu=9007199254740991;Os.exports=function(r){if(r>pu)throw cu("Maximum allowed index exceeded");return r}});var Fs=p((Wm,js)=>{"use strict";var uu=Ur(),hu=$e(),du=ks(),fu=Tr(),Vs=function(r,e,t,i,n,a,o,l){for(var s=n,c=0,d=o?fu(o,l):!1,f,m;c<i;)c in t&&(f=d?d(t[c],c,e):t[c],a>0&&uu(f)?(m=hu(f),s=Vs(r,e,f,m,s,a-1)-1):(du(s+1),r[s]=f),s++),c++;return s};js.exports=Vs});var qs=p((Km,$s)=>{"use strict";var mu=ke(),yu=mu("toStringTag"),Ns={};Ns[yu]="z";$s.exports=String(Ns)==="[object z]"});var Ds=p((Qm,Bs)=>{"use strict";var vu=qs(),gu=q(),Ft=Re(),bu=ke(),Cu=bu("toStringTag"),Eu=Object,xu=Ft(function(){return arguments}())==="Arguments",Iu=function(r,e){try{return r[e]}catch(t){}};Bs.exports=vu?Ft:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=Iu(e=Eu(r),Cu))=="string"?t:xu?Ft(e):(i=Ft(e))==="Object"&&gu(e.callee)?"Arguments":i}});var Gs=p((Ym,Hs)=>{"use strict";var Tu=H(),Su=q(),zr=gt(),wu=Tu(Function.toString);Su(zr.inspectSource)||(zr.inspectSource=function(r){return wu(r)});Hs.exports=zr.inspectSource});var Ys=p((Zm,Qs)=>{"use strict";var _u=H(),Au=$(),Us=q(),Lu=Ds(),Mu=yt(),Ru=Gs(),zs=function(){},Ws=Mu("Reflect","construct"),Wr=/^\s*(?:class|function)\b/,Pu=_u(Wr.exec),Ou=!Wr.test(zs),Ze=function(e){if(!Us(e))return!1;try{return Ws(zs,[],e),!0}catch(t){return!1}},Ks=function(e){if(!Us(e))return!1;switch(Lu(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Ou||!!Pu(Wr,Ru(e))}catch(t){return!0}};Ks.sham=!0;Qs.exports=!Ws||Au(function(){var r;return Ze(Ze.call)||!Ze(Object)||!Ze(function(){r=!0})||r})?Ks:Ze});var eo=p((Xm,Js)=>{"use strict";var Zs=Ur(),ku=Ys(),Vu=ge(),ju=ke(),Fu=ju("species"),Xs=Array;Js.exports=function(r){var e;return Zs(r)&&(e=r.constructor,ku(e)&&(e===Xs||Zs(e.prototype))?e=void 0:Vu(e)&&(e=e[Fu],e===null&&(e=void 0))),e===void 0?Xs:e}});var ro=p((Jm,to)=>{"use strict";var Nu=eo();to.exports=function(r,e){return new(Nu(r))(e===0?0:e)}});var io=p(()=>{"use strict";var $u=Fe(),qu=Fs(),Bu=Oe(),Du=$e(),Hu=Ne(),Gu=ro();$u({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=Bu(this),i=Du(t),n=Gu(t,0);return n.length=qu(n,t,t,i,0,e===void 0?1:Hu(e)),n}})});var no=p(()=>{"use strict";var Uu=Ct();Uu("flat")});var so=p((ny,ao)=>{"use strict";io();no();var zu=Et();ao.exports=zu("Array","flat")});var lo=p((ay,oo)=>{"use strict";var Wu=so();oo.exports=Wu});var po=p((sy,co)=>{"use strict";var Ku=lo();co.exports=Ku});var ih={};Bo(ih,{CustomError:()=>V,EVENT_NAMES:()=>b,Interactives:()=>et,ManifestController:()=>le,SDKInfo:()=>rh,chapterIdsToVKVideoIds:()=>$t,compareVersions:()=>Y,getChapterIdByVkVideoId:()=>Mo,getVKVideoIdByMedia:()=>Yr,getVideoRawIdByMedia:()=>Ao,graphEventTypes:()=>Se,hasEndTemplate:()=>Qe,interactivesEventTypes:()=>w,isLastChapter:()=>U,isOneTextCtrlContainer:()=>oe,isSupportedManifest:()=>Ue,isVKVariantItem:()=>Lo,utils:()=>ko,vkVideoIdsToChapterIds:()=>Zr});module.exports=Do(ih);var ui="1.0.28";function zt(r,e=1){let t="0",i="0",n="0";return r.length===4?(t="0x"+r[1]+r[1],i="0x"+r[2]+r[2],n="0x"+r[3]+r[3]):r.length===7&&(t="0x"+r[1]+r[2],i="0x"+r[3]+r[4],n="0x"+r[5]+r[6]),`rgba(${+t},${+i},${+n},${e})`}var F="interactive",Ho="interactive-controls-container",it=()=>document.querySelector(`.${Ho}`),hi=.4,j={textColor:"#000",textSize:.4,textContent:"",roundCorners:0,borderWidth:0,borderColor:"#000",borderAlpha:1,backgroundColor:"#fff",backgroundAlpha:1,innerSizesDependOn:"self",angle:0},di=(i=>(i.top="flex-start",i.bottom="flex-end",i.center="center",i))(di||{}),fi=(i=>(i.start="flex-start",i.end="flex-end",i.center="center",i))(fi||{}),mi=(i=>(i.start="left",i.end="right",i.center="center",i))(mi||{}),nt=({target:r,props:e})=>{var t,i,n,a,o,l;r.style.alignItems=(i=((t=e.text)==null?void 0:t.gravityVertical)&&di[e.text.gravityVertical])!=null?i:"center",r.style.justifyContent=(a=((n=e.text)==null?void 0:n.gravityHorizontal)&&fi[e.text.gravityHorizontal])!=null?a:"center",r.style.textAlign=(l=((o=e.text)==null?void 0:o.alignment)&&mi[e.text.alignment])!=null?l:"left"},at=({target:r,props:e,fallback:t,dependsOn:i})=>{var n,a,o,l,s,c;r.style.color=(a=(n=e==null?void 0:e.text)==null?void 0:n.color)!=null?a:t.textColor,r.style.fontSize=`calc(${i.height} * ${(l=(o=e==null?void 0:e.text)==null?void 0:o.size)!=null?l:t.textSize})`,r.textContent=(c=(s=e==null?void 0:e.text)==null?void 0:s.value)!=null?c:t.textContent},st=({target:r,props:e,fallback:t})=>{var i,n,a,o;r.style.backgroundColor=zt((n=(i=e==null?void 0:e.background)==null?void 0:i.color)!=null?n:t.backgroundColor,(o=(a=e==null?void 0:e.background)==null?void 0:a.alpha)!=null?o:t.backgroundAlpha)},ot=({target:r,props:e,fallback:t,dependsOn:i})=>{var n,a,o,l,s,c,d,f,m,C,T;r.style.border=`calc(${i.height} * ${(o=(a=(n=e==null?void 0:e.shape)==null?void 0:n.border)==null?void 0:a.width)!=null?o:t.borderWidth}) solid ${zt((c=(s=(l=e==null?void 0:e.shape)==null?void 0:l.border)==null?void 0:s.color)!=null?c:t.borderColor,(m=(f=(d=e==null?void 0:e.shape)==null?void 0:d.border)==null?void 0:f.alpha)!=null?m:t.borderAlpha)}`,r.style.borderRadius=`calc(${i.height} * ${(T=(C=e==null?void 0:e.shape)==null?void 0:C.roundCorners)!=null?T:t.roundCorners})`},ye=({target:r,layoutParams:e,fallback:t})=>{var n;let i=(n=e.angle)!=null?n:t.angle;i=i&&i*-1,r.style.transform=`rotate(${i}rad)`};var Q=class{constructor(e){this.control=e;this.container=null;this.controlElement=null;this.clickListener=null}createContainerElement(e){var n;let t=document.createElement("div");t.classList.add(`${F}-control-container-${this.control.id}`),e(t,this.control.layoutParams);let i=((n=this.control.layoutParams.innerSizesDependOn)!=null?n:j.innerSizesDependOn)==="self"?{height:t.style.height,width:t.style.width}:{height:"var(--interactive-content-height)",width:"var(--interactive-content-width)"};this.container={element:t,dimensions:i}}createClickListener(e){return t=>{t.stopPropagation(),e()}}setEvents(e){!this.container||!this.control.events||this.control.events.forEach(t=>{var n;switch(t.type.trim().toLowerCase()){case"onclick":this.clickListener=this.createClickListener(()=>e({action:t.action,controlId:this.control.id,controlType:this.control.type})),(n=this.container)==null||n.element.addEventListener("click",this.clickListener);break;default:break}})}removeListeners(){var e,t;(e=this.container)!=null&&e.element&&this.clickListener&&((t=this.container)==null||t.element.removeEventListener("click",this.clickListener))}};var Wt="int",re=(i=>(i.AREA=`${Wt}_area`,i.TEXT=`${Wt}_text`,i.BUTTON=`${Wt}_bttn`,i))(re||{});var lt=r=>{if(r.type.trim().toLowerCase()==="area")return new Kt(r)},Kt=class extends Q{constructor(e){super(e)}createView({parentElement:e,layoutCallback:t}){if(super.createContainerElement(t),!this.container)return;let i=document.createElement("button");i.type="button",i.classList.add(`${F}-${this.control.id}`),i.setAttribute("data-testid",re.AREA),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.cursor="pointer",st({target:i,props:this.control.props,fallback:{...j,backgroundColor:"transparent"}}),ot({target:i,props:this.control.props,fallback:{...j,borderAlpha:0},dependsOn:this.container.dimensions}),ye({target:i,layoutParams:this.control.layoutParams,fallback:j}),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){this.controlElement&&(this.controlElement.style.cursor="default")}enable(){this.controlElement&&(this.controlElement.style.cursor="pointer")}getElement(){return this.controlElement}};var ct=()=>{let r=document.createElement("span");return r.style.display="inline-block",r.style.whiteSpace="pre",r.style.overflow="hidden",r.style.textOverflow="ellipsis",r.style.maxWidth="100%",r.style.maxHeight="100%",r};var pt=r=>{if(r.type.trim().toLowerCase()==="button")return new Qt(r)},Qt=class extends Q{constructor(e){super(e)}createView({parentElement:e,layoutCallback:t}){if(super.createContainerElement(t),!this.container)return;let i=document.createElement("button");i.type="button",i.classList.add(`${F}-${this.control.id}`),i.setAttribute("data-testid",re.BUTTON),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.cursor="pointer",i.style.fontFamily="inherit",ye({target:i,layoutParams:this.control.layoutParams,fallback:j}),st({target:i,props:this.control.props,fallback:j}),ot({target:i,props:this.control.props,fallback:j,dependsOn:this.container.dimensions}),nt({target:i,props:this.control.props});let n=ct();at({target:n,props:this.control.props,fallback:j,dependsOn:this.container.dimensions}),i.append(n),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){this.controlElement&&(this.controlElement.style.cursor="default")}enable(){this.controlElement&&(this.controlElement.style.cursor="pointer")}getElement(){return this.controlElement}};var yi=r=>{if(r.type.trim().toLowerCase()==="text")return new Yt(r)},Yt=class extends Q{constructor(e){super(e)}createView({parentElement:e,layoutCallback:t}){if(super.createContainerElement(t),!this.container)return;let i=document.createElement("div");i.classList.add(`${F}-${this.control.id}`),i.setAttribute("data-testid",re.TEXT),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.fontFamily="inherit",ye({target:i,layoutParams:this.control.layoutParams,fallback:j}),nt({target:i,props:this.control.props});let n=ct();at({target:n,props:this.control.props,fallback:j,dependsOn:this.container.dimensions}),i.append(n),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){}enable(){}getElement(){return this.controlElement}};var Zt=class{constructor(e){this.layout=e}},ut=class extends Zt{constructor(e){super(e)}setContainerLayout(e){e.style.position="relative"}setControlLayout(e,t){e.style.position="absolute",e.style.width=`calc(var(--interactive-content-width) * ${t.width})`,e.style.height=`calc(var(--interactive-content-height) * ${t.height})`,e.style.left=`calc(var(--interactive-content-width) * ${t.x} + ((var(--interactive-width) - var(--interactive-content-width)) / 2))`,e.style.top=`calc(var(--interactive-content-height) * ${t.y} + ((var(--interactive-height) - var(--interactive-content-height)) / 2))`}};var ve=class{constructor(e){this.container=e,this.factories=new Map,this.controls=[],this.setControls()}addControlFactory(e,t){this.factories.set(e.trim().toLowerCase(),t),this.setControls()}removeControlFactory(e){this.factories.delete(e.trim().toLowerCase()),this.setControls()}setControls(){this.controls=this.chooseControls()}chooseControls(){var e;return((e=this.container.controls)==null?void 0:e.reduce((t,i)=>{let n=i.type.trim().toLowerCase(),a=this.factories.get(n);if(a){let o=a(i);if(o)return[...t,o]}return[...t]},[]))||[]}};var ht=(r,e)=>{if(r.type.trim().toLowerCase()==="choice")return new Xt(r,e)},Xt=class extends ve{constructor(e,t){super(e),this.rootElement=t!=null?t:it(),this.layout=new ut(this.container.layout),this.isRemoved=!1,this.isDisabled=!1,this.addControlFactory("button",pt),this.addControlFactory("text",yi),this.addControlFactory("area",lt)}createView(e){let t=document.createElement("div");return t.classList.add(`${F}-${this.container.id}`),this.layout.setContainerLayout(t),this.controls.forEach(i=>{i.createView({parentElement:t,layoutCallback:this.layout.setControlLayout}),i.setEvents(e)}),this.rootElement.append(t),this.isRemoved=!1,t}hide(){let e=this.getElement();e&&(e.style.visibility="hidden")}show(){let e=this.getElement();e&&(e.style.visibility="visible")}enable(){let e=this.getElement();e&&(this.controls.forEach(t=>t.enable()),e.style.opacity="1",this.isDisabled=!1)}disable(){let e=this.getElement();e&&(this.controls.forEach(t=>t.disable()),e.style.opacity=`${hi}`,this.isDisabled=!0)}removeView(){var e;this.isRemoved||(this.controls.forEach(t=>t.removeListeners()),(e=this.getElement())==null||e.remove(),this.isRemoved=!0)}getElement(){return this.rootElement.querySelector(`.${F}-${this.container.id}`)}};var Oo=z(Lr(),1),I=require("@vkontakte/videoplayer-shared/es2018"),Ae=require("@vkontakte/videoplayer-statistics/es2018");var Ta=require("@vkontakte/videoplayer-shared/es2018");function qe(r,e){let t;return(...i)=>{clearTimeout(t),t=setTimeout(()=>r(...i),e)}}var ne=(r,e)=>Object.prototype.toString.call(r)===`[object ${e}]`,Be=r=>ne(r,"Object"),xt=r=>ne(r,"String"),It=r=>ne(r,"Array"),Tt=r=>ne(r,"Number"),Ca=r=>ne(r,"Function");var Mr=r=>Tt(r)&&!isNaN(r);var ae=r=>Be(r)&&Object.keys(r).length===0,Rr=r=>It(r)&&!r.length;var De=(r,e)=>xt(r)&&(e?r.trim():r).length;var Ea="video_interactive",xa="videoint";var Ia=250,He=class{constructor(e){this.handleZoomChange=qe(e=>{this.lastZoomInfo=e},Ia);this.onResize=e=>{var i;if(!this.isReady||this.isHidden||!e[0].contentRect.width||!e[0].contentRect.height)return;let t=this.getNextPoint();t&&((i=this.ngEditor)==null||i.zoomTo(t)),this.ngEditorSize={width:e[0].contentRect.width,height:e[0].contentRect.height}};this.handleChapterChange=e=>{var t,i,n;if(this.manifest){if(this.isHidden||this.hide(),!(e!=null&&e.id)){(t=this.onError)==null||t.call(this,"Id is not found"),console.error("Id is not found");return}this.visitedChapterIds.add(e.id),(i=this.ngEditor)==null||i.selectChapter(e.id),(n=this.ngEditor)==null||n.setVisitedChapters(Array.from(this.visitedChapterIds)),this.currentChapterId=e.id,this.lastZoomInfo=null}};this.handleManifestChange=(e,t=[])=>{var i;if(this.isReady=!1,!Tt(e.graph.edit.chapters[0].x)){(i=this.onError)==null||i.call(this,"Can't show graph"),console.error("Can't show graph");return}this.lastZoomInfo=null,this.manifest=e,this.visitedChapterIds=new Set(t),this.ngEditor&&(this.manifest.metadata.id!==this.currentManifestId?(this.ngEditor.update(e),this.currentManifestId=this.manifest.metadata.id):this.ngEditor.setVisitedChapters(Array.from(t)),this.isReady=!0)};this.init(e)}init({root:e,onOpenPreviewClick:t,onError:i,lang:n,visitedChapters:a=[]}){this.isReady=!1,this.isHidden=!0,this.manifest=null,this.visitedChapterIds=new Set(a),this.onOpenPreviewClick=t,this.onError=i,this.lang=n!=null?n:"ru",this.zoom=.7,this.lastZoomInfo=null,this.currentManifestId=null,this.currentChapterId=null,this.ngEditor=null,this.ngEditorSize=null,this.graphWrapperElement=ap(e),this.resizeObserver=new ResizeObserver(qe(this.onResize,Ia)),this.resizeObserver.observe(this.graphWrapperElement)}getNextPoint(e=this.ngEditorSize){return!this.lastZoomInfo||!e?null:[(this.lastZoomInfo.x-e.width/2)/this.lastZoomInfo.value*-1,(this.lastZoomInfo.y-e.height/2)/this.lastZoomInfo.value*-1]}setVisitedChapters(e){var t;this.visitedChapterIds=new Set([...this.visitedChapterIds,...e]),(t=this.ngEditor)==null||t.setVisitedChapters(Array.from(this.visitedChapterIds))}updateVideosInfo(e){var t;(t=this.ngEditor)==null||t.updateVideosInfo(e)}async show(){var e;this.manifest&&(this.ngEditor||await this.initNgEditor(),this.graphWrapperElement.style.display="block",!this.lastZoomInfo&&this.currentChapterId&&((e=this.ngEditor)==null||e.focusChapter(this.currentChapterId)),this.isHidden=!1)}async initNgEditor(){if(!this.manifest)return;let e;try{e=await(0,Ta.loadVKLangPack)(this.lang,Ea,xa)}catch(i){console.log("Unable to load graph language pack")}let{GraphEditor:t}=await import("@interactiveplatform/movika-graph-editor");this.ngEditor=new t(this.graphWrapperElement,{mode:"read",lang:this.lang==="ru"?"ru":"en",translation:e}),this.currentManifestId=this.manifest.metadata.id,this.ngEditor.update(this.manifest),this.ngEditor.setVisitedChapters(Array.from(this.visitedChapterIds)),this.ngEditor.on("control",({name:i,...n})=>{var a;i==="openPreview"&&"chapterId"in n&&((a=this.onOpenPreviewClick)==null||a.call(this,n.chapterId))}),this.ngEditor.on("zoom",this.handleZoomChange),this.isReady=!0}hide(){this.graphWrapperElement.style.display="none",this.isHidden=!0}destroy(){var e,t;this.hide(),this.manifest=null,this.resizeObserver.disconnect(),(e=this.ngEditor)==null||e.setVisitedChapters([]),this.onOpenPreviewClick=void 0,(t=this.ngEditor)==null||t.dispose(),this.graphWrapperElement.remove(),this.isReady=!1}};function ap(r){let e=document.createElement("div");return e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.height="100%",e.style.width="100%",e.style.display="none",r.append(e),e}var Ge=class{constructor(){this._containers=[];this._player=null;this.setPlayer=e=>{this._player=e};this.setContainers=e=>{this._containers=e};this.deleteContainer=e=>{this._containers=this._containers.filter(t=>t.id!==e)};this.getNextInteractiveTime=(e=3e3)=>{if(!this._containers.length||this._player===null)return null;let t=-1,i=!1,n=Math.round(this._player.info.position$.getValue()*1e3);for(let a of this._containers){let o=a.startTime-e;if(o<=n&&(a.endTime&&n<=a.endTime||a.endTime===null)){i=!0;break}n<o&&(t=t===-1?o:Math.min(t,o))}return!i&&t!==-1?t:null}}};var Y=(r="",e="")=>{let t=r.split("."),i=e.split("."),n=0;for(let a=0;a<Math.max(t.length,i.length)&&!n;a++)t[a]>i[a]?n=1:t[a]<i[a]?n=-1:n=0;return n};var wa=require("uuid"),sp="3.1",Sa={default:"setNextBranch",random:"setRandomBranch",weightlessRandom:"setWeightlessRandomBranch",max:"setMaxWeightBranch",min:"setMinWeightBranch"},op={type:"onSuspense",action:{type:"continuePlayback",args:{shouldOpenNow:!0,isDetachContainer:!0}}},_a=r=>{let e=[];for(let t of r.chapters){let i,n=[];for(let{isDefault:l,...s}of t.branches)l&&(i=s.id),n.push(s);let a=[],o=[];for(let{fallbackStrategy:l,...s}of t.containers){let c=!!s.endTime,d=[op];switch(l){case"await":c?d=[]:a=[];break;case"default":{let f={type:"onSuspense",action:{type:Sa.default,args:{branchId:i,shouldOpenNow:!c,isDetachContainer:!0}}};c?d=[f]:a=[f];break}case"random":case"weightlessRandom":case"max":case"min":{let f={type:"onSuspense",action:{type:Sa[l],args:{}}};c?d=[f]:a=[f];break}}for(let f of s.controls)o.push({...s,controls:[{...f}],id:(0,wa.v4)(),events:d})}e.push({...t,containers:o,events:a,branches:n})}return r.metadata.version=sp,r.metadata.updated=new Date().toISOString(),{...r,chapters:e}};var lp="3.2",Aa=r=>{if(!r.media){let{media:e,...t}=r.metadata;return{...r,metadata:{...t,version:lp},media:e}}return r};var cp="3.3",pp=(r=[])=>({edit:{chapters:r},view:{}}),La={type:"onSuspense",action:{type:"expect",args:{shouldOpenNow:!0,isDetachContainer:!0}}},Ma=r=>{var i;let e=[],t=[];for(let n of r.chapters){let{id:a,x:o,y:l,...s}=n,c=s.containers.map(d=>{var f;return{...d,controls:d.controls.map(({subtype:m,type:C,...T})=>({...T,type:m!=null?m:C})),events:(f=d.events)!=null&&f.length?d.events:[La]}});e.push({id:a,...s,containers:c,events:(i=s.events)!=null&&i.length?s.events:[La]}),t.push({id:a,x:o,y:l})}return{...r,chapters:e,graph:pp(t),metadata:{...r.metadata,version:cp}}};var up=[{version:"3.0",migrate:_a},{version:"3.1",migrate:Aa},{version:"3.2",migrate:Ma}],Pr=r=>up.reduce((e,t)=>Y(e.metadata.version,t.version)?e:t.migrate(e),r);var Ra={Button:"Button",Area:"Area",Text:"Text"};var A={openURI:"openURI",setNextBranch:"setNextBranch",setWeightlessRandomBranch:"setWeightlessRandomBranch",setRandomBranch:"setRandomBranch",setMaxWeightBranch:"setMaxWeightBranch",setMinWeightBranch:"setMinWeightBranch",setDefaultBranch:"setDefaultBranch",continuePlayback:"continuePlayback",expect:"expect"};var Pa={metadata:"Object",chapters:"Array"},hp="3.0.0",dp="3.3.0",Ue=r=>{let e=Y(r,hp);return e===-1?!1:e===0?!0:Y(r,dp)!==1},Oa=r=>{if(!Be(r))return!1;for(let e in Pa)if(!r[e]||!ne(r[e],Pa[e]))return!1;return Ue(r.metadata.version)},St=r=>r.type===Ra.Text;var V=class{constructor(e,t,...i){this.severity=e;this.category=t;this.data=i}toString(){return`Interactive SDK error ${JSON.stringify(this,null," ")}`}};var wt=class{constructor(){this.listeners={}}addListener(e,t){return this.listeners[e]=this.listeners[e]||[],this.listeners[e].push(t),this}on(e,t){return this.addListener(e,t)}once(e,t){this.listeners[e]=this.listeners[e]||[];let i=()=>{t(),this.off(e,i)};return this.listeners[e].push(i),this}off(e,t){return this.removeListener(e,t)}reset(){this.listeners={}}removeListener(e,t){let i=this.listeners[e]||[];for(let n=i.length;n>0;n--)if(i[n]===t){i.splice(n,1);break}return this}emit(e,...t){let i=this.listeners[e];return i?(i.forEach(n=>{n(...t)}),!0):!1}listenerCount(e){return this.rawListeners(e).length}rawListeners(e){return this.listeners[e]||[]}};var _t=class{constructor(e){this.fns=[];this.addFn=(e,t=!1)=>{Ca(e)&&(this.fns.push(e),t&&this.updateFn())};this.removeFn=(e,t=!1)=>{this.fns=this.fns.filter(i=>i!==e),t&&this.updateFn()};this.updateFn=()=>{this.fn=()=>{this.fns.forEach(e=>e()),this.raf&&this.forceRequestAnimation()}};this.forceRequestAnimation=()=>{this.fn&&(this.raf=requestAnimationFrame(this.fn))};this.requestAnimation=()=>{this.raf||this.forceRequestAnimation()};this.cancelAnimation=()=>{this.raf&&(cancelAnimationFrame(this.raf),this.raf=void 0)};e&&(this.fn=e,this.addFn(e))}release(){this.cancelAnimation(),this.fn=void 0,this.fns=[]}};var $a=require("@vkontakte/videoplayer-shared/es2018");var At=class{constructor(e){var t,i;this.loaders={chapterLoaders:(t=e==null?void 0:e.chapterLoaders)!=null?t:[],manifestLoaders:(i=e==null?void 0:e.manifestLoaders)!=null?i:[]}}async exec(e,t){return fp(...this.loaders[e])(t)}};function fp(...r){return async function(t){let i=[...r];for(;i.length>0;)t=await i.shift()(t);return t}}function ze(r,e,t){return r?{...r,[e]:r[e]?[t,...r[e]]:[t]}:{[e]:[t]}}function Lt({actions:r,errors:e,chapterId:t,...i}){if(t){let n=r.getManifest(),a=r.getChapter(n.chapters,t);if(a){let o=r.getMedia(n.media,a.videoId),l=r.getGraph(n.graph,a.id);return o?{...i,actions:r,errors:e,result:{chapter:a,media:o,graph:l}}:{...i,errors:ze(e,Lt.name,"Could not find media"),actions:r}}}return{...i,errors:ze(e,Lt.name,"Could not find chapter"),actions:r}}var Mt=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:i})}removeEventListener(e,t){if(!(e in this.listeners))return;let i=this.listeners[e];for(let n=0,a=i.length;n<a;n++)if(i[n].callback===t){i.splice(n,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let n=0,a=i.length;n<a;n++){let o=i[n];try{o.callback.call(this,e)}catch(l){Promise.resolve().then(()=>{throw l})}o.options&&o.options.once&&this.removeEventListener(e.type,o.callback)}return!e.defaultPrevented}},Ie=class extends Mt{constructor(){super(),this.listeners||Mt.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,e)),super.dispatchEvent(e)}},We=class{constructor(){Object.defineProperty(this,"signal",{value:new Ie,writable:!0,configurable:!0})}abort(e){let t;try{t=new Event("abort")}catch(n){typeof document!="undefined"?document.createEvent?(t=document.createEvent("Event"),t.initEvent("abort",!1,!1)):(t=document.createEventObject(),t.type="abort"):t={type:"abort",bubbles:!1,cancelable:!1}}let i=e;if(i===void 0)if(typeof document=="undefined")i=new Error("This operation was aborted"),i.name="AbortError";else try{i=new DOMException("signal is aborted without reason")}catch(n){i=new Error("This operation was aborted"),i.name="AbortError"}this.signal.reason=i,this.signal.dispatchEvent(t)}toString(){return"[object AbortController]"}};typeof Symbol!="undefined"&&Symbol.toStringTag&&(We.prototype[Symbol.toStringTag]="AbortController",Ie.prototype[Symbol.toStringTag]="AbortSignal");function Rt(r){return r.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof r.Request=="function"&&!r.Request.prototype.hasOwnProperty("signal")||!r.AbortController}function Or(r){typeof r=="function"&&(r={fetch:r});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:n=!1}=r;if(!Rt({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:n}))return{fetch:e,Request:a};let a=t;(a&&!a.prototype.hasOwnProperty("signal")||n)&&(a=function(c,d){let f;d&&d.signal&&(f=d.signal,delete d.signal);let m=new t(c,d);return f&&Object.defineProperty(m,"signal",{writable:!1,enumerable:!1,configurable:!0,value:f}),m},a.prototype=t.prototype);let o=e;return{fetch:(s,c)=>{let d=a&&a.prototype.isPrototypeOf(s)?s.signal:c?c.signal:void 0;if(d){let f;try{f=new DOMException("Aborted","AbortError")}catch(C){f=new Error("Aborted"),f.name="AbortError"}if(d.aborted)return Promise.reject(f);let m=new Promise((C,T)=>{d.addEventListener("abort",()=>T(f),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([m,o(s,c)])}return o(s,c)},Request:a}}var Ke=Rt({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),ka=Ke?Or({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,kr=Ke?ka.fetch:window.fetch,Gf=Ke?ka.Request:window.Request,Uf=Ke?We:window.AbortController,zf=Ke?Ie:window.AbortSignal;var mp=async r=>{try{let e={},t;if(xt(r)){t=new URL(r).href;let n=await kr(t);if(!n.ok)return{};e=await n.json()}else if(Be(r))e=r;else return{};if(!Oa(e))return{};let i=e.metadata.media;if(xt(i)&&!e.media)try{let n;t?n=new URL(i,t).href:(n=new URL(i).href,t=n);let a=await kr(n);if(!a.ok)throw new Error;e.metadata.media=await a.json()}catch(n){return gp(e.metadata.version)?{manifest:e}:{}}return{manifest:e,manifestURL:t}}catch(e){return{}}};async function Va(r){let{manifest:e,manifestURL:t}=await mp(r),i=Pr(e);return i.media=yp(i.media,t),delete i.metadata.media,i}function Pt(r,e){if(e)return r.find(t=>t.id===e)}function Vr(r,e){var t,i;return(t=r.edit)!=null&&t.chapters?r.edit.chapters.find(n=>n.id===e):(i=r.view)!=null&&i.chapters?r.view.chapters.find(n=>n.id===e):void 0}function jr(r,e){return r.videos.find(t=>t.id===e)}function yp(r,e){return{...r,videos:r.videos.map(t=>({...t,variants:t.variants.map(i=>{let n="url"in i?i.url:"",a=vp(n,e);return{...i,url:a||n}})}))}}function vp(r="",e){try{return new URL(r,e).href}catch(t){return""}}function gp(r){return Y(r,"3.2.0")>=0}var Ot=r=>It(r)&&!Rr(r),U=r=>r.order==="end",Qe=r=>It(r.containers)&&!Rr(r.containers)&&U(r),ja=(r,e)=>{var i;let t=r*1e3;return Ot(e.controls)&&t<((i=e.startTime)!=null?i:0)},Fr=(r,e)=>{var i,n;let t=r*1e3;return Ot(e.controls)&&t>=((i=e.startTime)!=null?i:0)&&t<=((n=e.endTime)!=null?n:1/0)};var se=(r=[])=>r.some(e=>e.action.type==="expect"),Nr=(r=[])=>r.find(e=>e.action.type==="expect"),bp=r=>(r==null?void 0:r.length)===1,oe=r=>bp(r)&&St(r[0]);function Fa(r,...e){return t=>typeof e[0]=="object"&&typeof t=="object"?r({...e[0],...t}):r(...e,...t)}var Na=(r,e)=>se(r.events)?!1:e.some(({container:t})=>t.container.id!==r.id&&se(t.container.events)&&t.container.endTime===r.endTime&&!t.isRemoved);var le=class extends At{constructor(t,i){super(t);this.manifest=null;this.chapter=null;this.media=null;this.graph=null;this.prevChapter$=new $a.ValueSubject(null);this.onError=i,this.release()}release(){return this.manifest=null,this.chapter=null,this.media=null,this.graph=null,this.prevChapter$.next(null),this}async setManifest(t){var n;this.release();let i=await this.exec("manifestLoaders",{actions:{addErrorMessage:ze},result:null,errors:null,source:t});return i.errors&&this.errorHandler(i.errors),this.manifest=await Va((n=i.result)!=null?n:t),this}async setInitial(){return this.setNext()}async setNext(t=(i=>(i=this.manifest)==null?void 0:i.metadata.initChapterId)()){if(!t)return this;this.prevChapter$.next(this.chapter);let n=await this.exec("chapterLoaders",Lt({actions:{getManifest:()=>this.manifest,getCurrent:this.getCurrent,getGraph:Vr,getChapter:Pt,getMedia:jr,getByBranches:this.getByBranches.bind(this),addErrorMessage:ze},result:null,errors:null,chapterId:t}));return n.errors&&this.errorHandler(n.errors),this.chapter=n.result.chapter,this.media=n.result.media,this.graph=n.result.graph,this}errorHandler(t){this.onError(t),console.error("Something went wrong with loaders",{errors:t})}getInitial(){var i;return this.getByChapterId((i=this.manifest)==null?void 0:i.metadata.initChapterId)||null}getByChapterId(t=(i=>(i=this.manifest)==null?void 0:i.metadata.initChapterId)()){if(!t||!this.manifest)return null;let n=Pt(this.manifest.chapters,t);if(n){let a=jr(this.manifest.media,n.videoId),o=Vr(this.manifest.graph,n.id);if(a)return{chapter:n,media:a,graph:o}}return null}getBranches(t=(i=>(i=this.chapter)==null?void 0:i.id)()){var n,a,o;if(t===((n=this.chapter)==null?void 0:n.id))return this.getByBranches((a=this.chapter)==null?void 0:a.branches);{let l=Pt(((o=this.manifest)==null?void 0:o.chapters)||[],t);return this.getByBranches(l==null?void 0:l.branches)}}getByBranches(t=[]){return t.reduce((i,n)=>{let a=this.getByChapterId(n.chapterId);return a&&i.push(a),i},[])}getCurrent(){return{chapter:this.chapter,media:this.media,graph:this.graph}}isInitialChapter(){var t,i;return((t=this.chapter)==null?void 0:t.id)===((i=this.manifest)==null?void 0:i.metadata.initChapterId)}isEndChapter(){return this.chapter?U(this.chapter):!1}};var _s=z(kt(),1),As=require("@vkontakte/videoplayer-core/es2018"),te=require("@vkontakte/videoplayer-shared/es2018");var bs=r=>{let e=r.variants.find(t=>{var i;return((i=t.payload)==null?void 0:i.type)==="vk"});if(e&&"payload"in e){let[t,i]=e.payload.id.split("_");return[t,i]}return[]};var Cs=z(kt(),1);function Dr(){let r=new Map;function e({listId:a=Math.random().toString(),itemId:o=Math.random().toString(),...l}){let s=r.get(a),c={...l};return s?s[o]=c:r.set(a,{[o]:c}),{listId:a,itemId:o,...l}}function t(a){var o,l;a.player.destroy(),a.container.remove(),a.subscription.unsubscribe(),(o=a.statistics)==null||o.oneStat.destroy(),(l=a.statistics)==null||l.statSubscription.unsubscribe()}function i(a,o){let l=r.get(a);if(!l)throw Error("Can't remove. Not find.");if(o){let s=l[o];s&&t(s),delete l[o],Object.keys(l).length||r.delete(a)}else{for(let s of(0,Cs.default)(l))t(s);r.delete(a)}}function n(){for(let a of r)i(a[0])}return{createPlayer:e,removePlayer:i,map:r,removeAll:n}}var Te=z(Vt(),1);function Hr(r,e=[]){var a,o,l;let t={},i,n=!e.length;for(let s of r.variants)if(!i&&"cover"in s&&(i=s.cover),"url"in s)switch(s.type.toLowerCase()){case"mp4":(n||(0,Te.default)(e,"mp4"))&&(t.MPEG={...t.MPEG,[(a=s.standard)!=null?a:"Invariant quality"]:s.url});break;case"mpeg":(n||(0,Te.default)(e,"mpeg"))&&(t.MPEG={...t.MPEG,[(o=s.standard)!=null?o:"Invariant quality"]:s.url});break;case"hls":(n||(0,Te.default)(e,"hls"))&&(t={...t,HLS:{type:"url",url:s.url}});break;case"dash":(n||(0,Te.default)(e,"dash"))&&(t={...t,DASH_SEP:{compatibilityMode:!0,type:"url",url:s.url}});break;default:break}return{sources:t,thumbUrl:i,title:(l=r.title)!=null?l:""}}var Ye=(r,e)=>{let t=r.info.currentQuality$.getValue(),i=r.info.availableQualities$.getValue();t!==e&&(0,Te.default)(i,e)&&(r.setQuality(e),r.setAutoQuality(!1))};var ou=2;function Gr(r){let e=Dr(),t=new te.Subscription,i={},n=null,a=!1,o,l=new te.ValueSubject(null);r&&s(r);function s(g){n=g}function c(g,h,u){var y;if(!n)throw Error("need to set interactive controller");if(!n.options)return;let E=((y=e.map.get(g))!=null?y:{})[h];if(E){i={chapterId:u,listId:g,itemId:h,...E};let L=i.player;i.subscription.add(L.info.currentQuality$.subscribe(_=>{let O=L.info.position$.getValue(),S=L.info.isAutoQualityEnabled$.getValue();if(!(!_||!O||S))for(let M of e.map)(0,_s.default)(M[1]).forEach(({player:k})=>{Ye(k,_)})})).add(L.events.started$.subscribe(()=>{d(h)})),E.container.remove(),n.setPlayer(E.player),a||(n.init(),a=!0),l.next({player:i.player,config:i.config,statistics:i.statistics});return}throw Error("Can't set. Not find.")}async function d(g){if(!n)throw Error("need to set interactive controller");if(ae(i)||g!==i.itemId)return;let h=n.getChapterBranches(),u=new Set;for(let v of h)u.has(v.media.id)||(await m({media:v.media,chapterId:v.chapter.id,setAsActive:!1,title:v.chapter.label}),u.add(v.media.id))}async function f({chapter:{id:g},manifestVideo:h}){if(ae(i)||!n)return;let u=i.player.info.muted$.getValue(),v=i.player.info.currentQuality$.getValue(),E=i.player.info.isAutoQualityEnabled$.getValue(),y=i.player.info.volume$.getValue(),L=i.player.info.currentPlaybackRate$.getValue(),_=!E,O=!1;for(let S of e.map)if(S[0]===h.id&&!n.state.isReplay$.getValue()){let M=Object.keys(S[1]);for(let k of M)k===i.itemId?(M.length<ou||(O=!0),e.removePlayer(S[0],k)):(O=!0,c(S[0],k,g),_?Ye(i.player,v):i.player.setAutoQuality(!0),i.player.setVolume(y),i.player.setMuted(u),i.player.setPlaybackRate(L))}else e.removePlayer(S[0]);O||(await m({media:h,chapterId:g,setAsActive:!0,playbackRate:L}),_?Ye(i.player,v):i.player.setAutoQuality(!0),i.player.setVolume(y),i.player.setMuted(u))}async function m({media:g,chapterId:h,prefetch:u=!0,setAsActive:v=!0,autoplay:E=!1,preferredExt:y,title:L,playbackRate:_}){var ti,ri,ii,ni,ai;let O=Math.random().toString(),S=document.createElement("div");o.append(S);let M;if((ti=n==null?void 0:n.options)!=null&&ti.vkVideoLoader){let tt=bs(g);tt.length&&(M=await n.options.vkVideoLoader(...tt))}let k=((ri=n==null?void 0:n.options)==null?void 0:ri.coreConfig)||void 0,de={...k,configName:[...(ii=k==null?void 0:k.configName)!=null?ii:[],"interactive"]},fe={container:S,...((ni=M==null?void 0:M.videos)==null?void 0:ni[0])||{sources:Hr(g,y).sources},title:L,failoverHosts:(M==null?void 0:M.failoverHosts)||[]},ee=new As.Player(de,te.Tracer.createRootTracer());ee.initVideo(fe);let Jr=null;if(M!=null&&M.videos&&(n!=null&&n.options.createOneStat)){let tt=M.videos[0],Ut=n.options.createOneStat(tt),si=new te.Subscription;Ut&&(si.add(Ut.attachTo(ee)),Jr={oneStat:Ut,statSubscription:si})}let ei=new te.Subscription,Vo=(ai=i==null?void 0:i.player)==null?void 0:ai.info.isAutoQualityEnabled$.getValue();ei.add(ee.events.canplay$.subscribe(function(){Vo||Ye(ee,i.player.info.currentQuality$.getValue()),_&&ee.setPlaybackRate(_)}));let me=e.createPlayer({listId:g.id,itemId:O,player:ee,container:S,sources:Hr(g,y).sources,config:fe,subscription:ei,statistics:Jr});return v&&c(g.id,me.itemId,h),E&&me.player.play(),u&&!E&&me.player.prepare(),{player:me.player,config:me.config,statistics:me.statistics}}function C(){T(),n=null,o.remove()}function T(){t.unsubscribe(),e.removeAll(),i={},a=!1}async function R(){if(!n)throw Error("need to set interactive controller");T(),o=document.createElement("div");let{media:g,chapter:h}=n.getCurrentChapter();g&&h?(t.add(n.events.chapterChanged$.subscribe(f)),await m({media:g,chapterId:h.id,title:h.label})):console.error("not found")}return{...e,init:R,setInteractiveController:s,createPlayer:m,removeAll:C,getActivePlayer:function(){return i},activePlayerChanged:l}}var b={graph:"graph",interactives:"interactives",chapterChanged:"chapter-changed",playerChanged:"player-changed",manifestChanged:"manifest-changed",errors:"errors",eachTick:"eachTick",historyInited:"history-inited",historyDestroyed:"history-destroyed"},Se={visibility:"visibility",watchAgainClicked:"watchAgainClicked"},w={actionChoiceCanceled:"action-choice-canceled",actionChoice:"action-choice",actionExecution:"action-execution",visibility:"visibility",containerRemoved:"container-removed",rangeEnded:"range-ended"};var Ls=z(Vt(),1),Ms=require("@vkontakte/videoplayer-shared/es2018");var jt=class{constructor({player:e,container:t,branches:i,selectBranches:n,interactiveEvents:a,globalEvents:o,globalEventEmitter:l,ignoreContainerEvent:s,permanentTextControls:c,disabledControls$:d,onRemove:f}){this.hide=()=>{setTimeout(()=>{var e,t;this.gameState!==4&&(se(this.container.container.events)&&this.gameState===3||this.selectBranches.state.isExpect||(this.gameState!==2&&((t=(e=this.container).hide)==null||t.call(e)),this.globalEventEmitter.emit(b.interactives,{subjectId:this.container.container.id,subjectName:"container",type:w.visibility,visibility:!1})))})};this.show=()=>{var e,t,i,n;if(this.gameState===2&&!this.isSelectedControlEvent)if(this.container.getElement())(n=(i=this.container).show)==null||n.call(i),this.globalEventEmitter.emit(b.interactives,{subjectId:this.container.container.id,subjectName:"container",type:w.visibility,visibility:!0,isFirst:!1});else{let o=Fa(this.selectBranches.onControlEvent,{isDisabled:()=>this.container.isDisabled,branches:this.branches,containerId:this.container.container.id,onDetachContainer:()=>{this.removeView(),this.globalEventEmitter.emit(b.interactives,{subjectId:this.container.container.id,subjectName:"container",type:w.visibility,visibility:!1})},onEvent:(l,s)=>{this.isSelectedControlEvent=!0,l!==!1&&(this.removeView(),this.globalEventEmitter.emit(b.interactives,{subjectId:this.container.container.id,subjectName:"container",type:w.visibility,visibility:!1})),(this.gameState===4||this.gameState===3||this.selectBranches.state.isExpect)&&(this.selectBranches.stopExpect(),s(),this.removeView(),this.globalEventEmitter.emit(b.interactives,{subjectId:this.container.container.id,subjectName:"container",type:w.visibility,visibility:!1}))},isEOV:()=>this.gameState===4});this.container.createView(o),this.globalEventEmitter.emit(b.interactives,{subjectId:this.container.container.id,subjectName:"container",type:w.visibility,visibility:!0,isFirst:!0}),this.disabledControls$.getValue()&&((t=(e=this.container).disable)==null||t.call(e))}};this.onEndOfVideo=()=>{this.gameState=4,this.selectContainerEvent(!0)};this.whilePlaying=()=>{var c;let e=this.player.experimental.element$.getValue(),i=e instanceof HTMLVideoElement?e.readyState:void 0,n=[6,5];if(!i||(0,Ls.default)(n,this.gameState)&&!this.isPermanentText)return;let a=this.player.getExactTime();if(ja(a,this.container.container))this.gameState!==1&&(this.gameState=1,this.onBeforeStartTime());else if(Fr(a,this.container.container))this.gameState!==2&&(this.gameState=2,this.onStartTime());else if(this.gameState!==3){let d=this.gameState;this.gameState=3,d===2&&this.onEndTime()}else this.isPermanentText||this.removeView();let o=Fr(a,this.container.container),l=this.container.container.startTime?[this.container.container.startTime,(c=this.container.container.endTime)!=null?c:1/0]:[],s={subjectId:this.container.container.id,subjectName:"container",range:l,currentTime:a,isInteractiveTime:o};this.globalEventEmitter.emit(b.eachTick,s),this.globalEvents.eachTick$.next(s)};this.container=t,this.branches=i,this.selectBranches=n,this.subscription=new Ms.Subscription,this.player=e,this.interactiveEvents=a,this.ignoreContainerEvent=s,this.isPermanentText=c&&oe(t.container.controls),this.disabledControls$=d,this.onRemove=f,this.globalEventEmitter=l,this.gameState=0,this.globalEvents=o,this.isSelectedControlEvent=!1,this.isSelectedContainerEvent=!1,this.registerEvents()}registerEvents(){this.subscription.add(this.player.events.playing$.subscribe(this.show)).add(this.player.events.paused$.subscribe(this.hide)).add(this.player.events.ended$.subscribe(this.onEndOfVideo)).add(this.disabledControls$.subscribe(e=>{var t,i,n,a;e?(i=(t=this.container).disable)==null||i.call(t):(a=(n=this.container).enable)==null||a.call(n)}))}selectContainerEvent(e=!1){var t;this.interactiveEvents.containersEventsCallState.setCalled({timestamp:e?1/0:this.container.container.endTime,id:this.container.container.id}),!(this.isSelectedControlEvent||this.isSelectedContainerEvent)&&(this.isSelectedContainerEvent=!0,this.ignoreContainerEvent()||this.selectBranches.setManifestContainerEvents({container:this.container.container,branches:this.branches,isEOV:e}),!e&&this.interactiveEvents.exec((t=this.container.container.endTime)!=null?t:1/0))}onStartTime(){this.show()}onEndTime(){this.selectContainerEvent(!1);let e=se(this.container.container.events)||this.ignoreContainerEvent();(this.isSelectedControlEvent||!e)&&this.removeView()}onBeforeStartTime(){var e,t;(t=(e=this.container).hide)==null||t.call(e),this.globalEventEmitter.emit(b.interactives,{subjectId:this.container.container.id,subjectName:"container",type:w.visibility,visibility:!1})}reset(){this.isSelectedControlEvent=!1,this.isSelectedContainerEvent=!1,this.gameState=1}removeView(){var e;this.container.removeView(),this.globalEventEmitter.emit(b.interactives,{subjectId:this.container.container.id,subjectName:"container",type:w.containerRemoved,visibility:!1}),this.gameState=5,(e=this.onRemove)==null||e.call(this)}destroy(){var e;this.reset(),this.removeView(),this.gameState=6,this.subscription.unsubscribe(),this.branches=[],this.interactiveEvents.containersEventsCallState.setCalled({timestamp:(e=this.container.container.endTime)!=null?e:1/0,id:this.container.container.id})}};var Rs=(r=[])=>r.reduce((e,t,i)=>{var a,o,l;let n=((a=t==null?void 0:t.controls)!=null?a:[]).filter(s=>!St(s));if(Ot(n)){let s=[(o=t.startTime)!=null?o:0,(l=t.endTime)!=null?l:1/0],c=t.id;if(!i)e.push({subjects:[c],range:s});else{let d=[],f=-1/0,m=1/0,C=[],T=[];for(let R=0;R<e.length;R++){let g=e[R];if(T.push(...g.subjects),g.range[0]<m&&(m=g.range[0]),g.range[1]>f&&(f=g.range[1]),s[0]>=g.range[0]&&s[1]<=g.range[1])return e[R].subjects.push(c),e;s[0]<g.range[0]&&s[1]>g.range[0]&&(d.push(R),C=C.concat(g.subjects)),s[0]>=g.range[0]&&s[0]<=g.range[1]&&(d.push(R),C=C.concat(g.subjects),s[0]=g.range[0]),s[1]>=g.range[0]&&s[1]<=g.range[1]&&(d.push(R),C=C.concat(g.subjects),s[1]=g.range[1])}if(T.push(c),s[0]<=m&&s[1]>=f)return[{subjects:T,range:s}];d.length&&d.reverse().forEach(R=>{e.splice(R,1)}),e.push({subjects:C.concat([c]),range:s})}}return e},[]).sort((e,t)=>e.range[0]-t.range[0]);var ho=z(Vt(),1),Kr=z(kt(),1),fo=z(po(),1);function uo(){let r={};function e(){for(let l in r)Object.prototype.hasOwnProperty.call(r,l)&&delete r[l]}function t(l){let s={};for(let c in r)+c<=l&&(s[c]=r[c]);return s}function i(l){let s={};for(let c in r)+c>=l&&(s[c]=r[c]);return s}function n({timestamp:l,priority:s,initiator:c}){var d;if(Mr(l)){let f=(d=r[l])!=null?d:null;if(f&&s&&De(s,!0)){let m={},C=f[s];if(C&&(m={...m,...C}),m=ae(m)?null:m,m&&De(c,!0)){let T=m[c];return T!=null?T:null}return m}return f}return null}function a({timestamp:l,priority:s,initiator:c}){if(Mr(l))if(r[l]){if(s&&De(s,!0))if(r[l][s]){if(c&&De(c,!0))if(r[l][s][c]){if(delete r[l][s][c],!ae(r[l][s]))return!0}else return!1;if(delete r[l][s],!ae(r[l]))return!0}else return!1;return delete r[l]}else return!1;return!1}function o({timestamp:l,priority:s,initiator:c,...d}){var f,m,C;(m=(f=r[l])==null?void 0:f[s])!=null&&m[c]?r[l][s][c].push({...d}):(C=r[l])!=null&&C[s]?r[l][s]={...r[l][s],[c]:[{...d}]}:r[l]?r[l]={...r[l],[s]:{[c]:[{...d}]}}:r[l]={[s]:{[c]:[{...d}]}}}return{map:r,remove:a,add:o,removeAll:e,get:n,getLte:t,getGte:i}}var Qu=[A.expect,A.setNextBranch],Yu=1/0;function mo(r){let e=r,t,i=Zu(),n=uo(),a,o=()=>{m(),h()},l=u=>{n.add.call(void 0,u),T()},s=(u=[])=>{for(let v of u)if(v.action(),(0,ho.default)(Qu,v.actionType))break},c=(u=1/0)=>{var L,_,O;let v=Nt((L=n.get({timestamp:u,priority:"control"}))!=null?L:{}),E=Nt((_=n.get({timestamp:u,priority:"container"}))!=null?_:{}),y=Nt((O=n.get({timestamp:u,priority:"chapter"}))!=null?O:{});return[...v,...E,...y]},d=u=>{i.isReady(u)&&s(c(u))},f=()=>{var u;s([...Nt((u=n.get({timestamp:1/0,priority:"chapter"}))!=null?u:{})])},m=()=>{t&&(a==null||a.unsubscribe(),t=void 0)},C=u=>{},T=()=>{t||(t=()=>setTimeout(()=>{d(1/0)}),a=e.events.ended$.subscribe(t))},R=u=>{m(),e=u},g=u=>{u.priority==="container"&&i.resetCalled(u.timestamp),n.remove(u)},h=()=>{i.release(),n.removeAll()};return{setPlayer:R,add:l,remove:g,exec:d,execEndOfVideo:f,listen:T,unlisten:m,release:o,containersEventsCallState:i,getPreparedToExecActions:c}}function Zu(){let r=new Map;return{setCalled:({timestamp:o,id:l})=>{let s=r.get(o);s&&s[l]!==void 0&&(s[l]=!0)},setData:(o=[])=>{var l,s;for(let c of o){let d=(l=c.endTime)!=null?l:Yu,f=(s=r.get(d))!=null?s:{};r.set(d,{...f,[c.id]:!1})}},resetCalled:o=>{let l=r.get(o);if(l)for(let s in l)l[s]=!1},isReady:o=>{let l=r.get(o);return l?!(0,Kr.default)(l).some(s=>!s):!0},release:()=>r.clear()}}function Nt(r){return(0,fo.default)((0,Kr.default)(r)).sort(e=>e.actionType===A.expect?-1:1)}var yo={videoContentHeight:0,videoContentWidth:0},vo=(r,e)=>{let{height:t,width:i}=e.info.intrinsicVideoSize$.getValue()||{};if(!(t&&i))return yo;let{clientHeight:n,clientWidth:a}=e.experimental.element$.getValue()||{};if(!(n&&a))return yo;let o=t/i,l=n/a,s,c;return l>o?(c=a,s=a*o):l<o?(c=n/o,s=n):(c=a,s=n),{videoContentWidth:c,videoContentHeight:s}};var Xu=250;function go(r){let e=()=>{},t=new ResizeObserver(l=>{a(l),e=a.bind(null,l)});function i(l){let{parentElement:s,player:c}=r();if(s&&c){let{videoContentWidth:d,videoContentHeight:f}=vo(s,c);s.style.setProperty("--interactive-content-width",`${d}px`),s.style.setProperty("--interactive-content-height",`${f}px`),s.style.setProperty("--interactive-width",`${l[0].contentRect.width}px`),s.style.setProperty("--interactive-height",`${l[0].contentRect.height}px`)}}function n(){let{parentElement:l}=r();l.removeAttribute("style")}let a=qe(l=>{let{fns:s=[]}=r();i(l);for(let c of s)c()},Xu);function o(){e=void 0,t.disconnect(),n()}return{resizeObserver:t,calc:()=>{e==null||e()},release:o}}var Xe=class{constructor(){this.map={}}push(e,t){e in this.map?this.map[e].push(t):this.map[e]=[t]}get(e){let t=this.map[e];return t?t.slice():null}getAll(){let e=[];for(let t in this.map)e.concat(this.map[t]);return e}remove(e,t){e in this.map&&(this.map[e]=this.map[e].filter(i=>i!==t),this.map[e].length===0&&delete this.map[e])}clear(){this.map={}}keys(){return Object.keys(this.map)}size(){return this.keys().length}};var Ju=r=>Math.floor(Math.random()*r),Co=r=>{var n;let e=r.length,t=1/0,i=null;for(;e--;){let a=r[e],o=(n=a.weight)!=null?n:1;o<t&&(t=o,i=a)}return i},Eo=r=>{var n;let e=r.length,t=-1/0,i=null;for(;e--;){let a=r[e],o=(n=a.weight)!=null?n:0;o>t&&(t=o,i=a)}return i};var xo=r=>{let e=r.length,t=Ju(e);return r[t]},bo=1,Io=r=>{var i,n;let e=0;for(let a=0;a<r.length;++a)e+=(i=r[a].weight)!=null?i:bo;let t=Math.random()*e;e=0;for(let a=0;a<r.length-1;++a)if(e+=(n=r[a].weight)!=null?n:bo,e>=t)return r[a];return r[r.length-1]};var To={shouldOpenNow:!0,isDetachContainer:!0};var Qr=(r,e=!1)=>({...r,args:e?{...r.args,...To}:{...To,...r.args}}),_o=({globalEventEmitter:r,player:e,interactiveEvents:t,removeControllers:i})=>{let n={isExpect:!1},a=()=>{n.isExpect&&(n.isExpect=!1)},o=({action:h,controlType:u,controlId:v,containerId:E,branches:y=[],onEvent:L,isEOV:_=()=>!1,isDisabled:O=()=>!1})=>{let S=Qr(h,_()),M={timestamp:1/0,priority:"control",initiator:v,actionType:S.type},k=O(),de=r.emit.bind(r,b.interactives,{subjectId:v,subjectType:u,subjectName:"control",type:k?w.actionChoiceCanceled:w.actionChoice,actionType:h.type,payload:{containerId:E,...S.args}});if(k){de();return}switch(S.type.trim().toLowerCase()){case A.setNextBranch.trim().toLowerCase():{let fe=y.find(ee=>ee.id===S.args.branchId);if(!fe)return;L(S.args.isDetachContainer,m.bind(null,{subjectId:v,subjectName:"control"})),de(),S.args.shouldOpenNow?T({subjectId:v,subjectName:"control",subjectType:u,action:S,payload:{chapterId:fe.chapterId,autoSelect:!1}}):(t.add({...M,action:T.bind(null,{subjectId:v,subjectName:"control",subjectType:u,action:S,payload:{chapterId:fe.chapterId,autoSelect:!1}})}),i==null||i());return}case A.continuePlayback.trim().toLowerCase():{L(S.args.isDetachContainer,m.bind(null,{subjectId:v,subjectName:"control"})),de(),S.args.shouldOpenNow?C({subjectId:v,subjectName:"control",subjectType:u,action:h}):t.add({...M,action:C.bind(null,{subjectId:v,subjectName:"control",subjectType:u,action:h})});return}case A.openURI.trim().toLowerCase():{L(S.args.isDetachContainer,m.bind(null,{subjectId:v,subjectName:"control"})),de(),S.args.shouldOpenNow?g({subjectId:v,subjectName:"control",subjectType:u,action:S,payload:{URI:h.args.uri}}):(t.add({...M,action:g.bind(null,{subjectId:v,subjectName:"control",subjectType:u,action:S,payload:{URI:h.args.uri}})}),i==null||i());return}default:console.error("Unexpected control event"),r.emit(b.errors,new V(1,1,{message:"Unexpected control event"}));return}},l=({action:h,container:{id:u,endTime:v},branches:E=[],isEOV:y=!1,autoSelected:L=!1})=>{let _=Qr(h,y),O={timestamp:!_.args.shouldOpenNow||y?1/0:v!=null?v:1/0,priority:"container",initiator:u,actionType:_.type},S=r.emit.bind(r,b.interactives,{subjectId:u,subjectName:"container",type:w.actionChoice,actionType:_.type,payload:_.args});switch(_.type.trim().toLowerCase()){case A.setNextBranch.trim().toLowerCase():{let M=E.find(k=>k.id===_.args.branchId);if(!M)return;S(),t.add({...O,action:T.bind(null,{subjectId:u,subjectName:"container",action:_,payload:{chapterId:M.chapterId,autoSelect:L}})}),i==null||i();return}case A.setMaxWeightBranch.trim().toLowerCase():return;case A.setMinWeightBranch.trim().toLowerCase():return;case A.setRandomBranch.trim().toLowerCase():return;case A.setWeightlessRandomBranch.trim().toLowerCase():return;case A.continuePlayback.trim().toLowerCase():{S(),t.add({...O,action:C.bind(null,{subjectId:u,subjectName:"container",action:_})});return}case A.openURI.trim().toLowerCase():{S(),t.add({...O,action:g.bind(null,{subjectId:u,subjectName:"container",action:_,payload:{URI:h.args.uri}})}),i==null||i();return}default:console.error("Unexpected container event"),r.emit(b.errors,new V(1,1,{message:"Unexpected container event"}));return}};function s({container:h,branches:u,isEOV:v=!1}){var y,L;let E=Nr(h.events);if(E){let _=Qr(E.action,v);r.emit(b.interactives,{subjectId:h.id,subjectName:"container",type:w.actionChoice,actionType:_.type,payload:_.args}),t.add({timestamp:v?1/0:(y=h.endTime)!=null?y:1/0,priority:"container",initiator:h.id,actionType:A.expect,action:f.bind(null,{subjectId:h.id,subjectName:"container"})}),n.isExpect=!0}else for(let _ of(L=h.events)!=null?L:[])l({action:_.action,container:h,branches:u,isEOV:v})}let c=({chapterId:h,action:u,branches:v=[]})=>{let E=r.emit.bind(r,b.interactives,{subjectId:h,subjectName:"chapter",type:w.actionChoice,actionType:u.type,payload:u.args});switch(u.type.trim().toLowerCase()){case A.setNextBranch.trim().toLowerCase():{let y=v.find(L=>L.id===u.args.branchId);return y!=null&&y.chapterId?(E(),T.bind(null,{subjectId:h,subjectName:"chapter",action:u,payload:{chapterId:y.chapterId,autoSelect:!0}})):void 0}case A.setWeightlessRandomBranch.trim().toLowerCase():{let y=xo(v);return y!=null&&y.chapterId?(E(),T.bind(null,{subjectId:h,subjectName:"chapter",action:u,payload:{chapterId:y.chapterId,autoSelect:!0}})):void 0}case A.setRandomBranch.trim().toLowerCase():{let y=Io(v);return y!=null&&y.chapterId?(E(),T.bind(null,{subjectId:h,subjectName:"chapter",action:u,payload:{chapterId:y.chapterId,autoSelect:!0}})):void 0}case A.setMaxWeightBranch.trim().toLowerCase():{let y=Eo(v);return y!=null&&y.chapterId?(E(),T.bind(null,{subjectId:h,subjectName:"chapter",action:u,payload:{chapterId:y.chapterId,autoSelect:!0}})):void 0}case A.setMinWeightBranch.trim().toLowerCase():{let y=Co(v);return y!=null&&y.chapterId?(E(),T.bind(null,{subjectId:h,subjectName:"chapter",action:u,payload:{chapterId:y.chapterId,autoSelect:!0}})):void 0}case A.continuePlayback.trim().toLowerCase():return E(),C.bind(null,{subjectId:h,subjectName:"chapter",action:u});case A.openURI.trim().toLowerCase():return E(),g.bind(null,{subjectId:h,subjectName:"chapter",action:u,payload:{URI:u.args.uri}});default:console.error("Unexpected chapter event"),r.emit(b.errors,new V(1,1,{message:"Unexpected chapter event"}));return}};function d(h){var v;let u=Nr(h.events);if(u){if(U(h))return;r.emit(b.interactives,{subjectId:h.id,subjectName:"chapter",type:w.actionChoice,actionType:u.action.type,payload:u.action.args}),t.add({timestamp:1/0,priority:"chapter",initiator:h.id,actionType:A.expect,action:f.bind(null,{subjectId:h.id,subjectName:"chapter"})})}else(v=h.events)==null||v.forEach(E=>{let y=c({chapterId:h.id,action:E.action,branches:h.branches});y&&t.add({timestamp:1/0,priority:"chapter",initiator:h.id,actionType:E.action.type,action:y})})}let f=({subjectId:h,subjectName:u})=>{e.pause(),r.emit(b.interactives,{subjectId:h,subjectName:u,type:w.actionExecution,actionType:A.expect})},m=({subjectId:h,subjectName:u})=>{e.info.isEnded$.getValue()?t.execEndOfVideo():e.play(),r.emit(b.interactives,{subjectId:h,subjectName:u,type:w.actionExecution,actionType:"after-expect"})},C=({subjectId:h,subjectName:u,subjectType:v,action:E})=>{r.emit(b.interactives,{subjectId:h,subjectName:u,subjectType:v,type:w.actionExecution,actionType:E.type})},T=({subjectId:h,subjectName:u,subjectType:v,action:E,payload:y})=>{y.behaviour="change-chapter",r.emit(b.interactives,{subjectId:h,subjectName:u,subjectType:v,type:w.actionExecution,actionType:E.type,payload:y})},R=({subjectId:h,subjectName:u,subjectType:v,action:E,payload:y})=>{y.behaviour="change-manifest",r.emit(b.interactives,{subjectId:h,subjectName:u,subjectType:v,type:w.actionExecution,actionType:E.type,payload:y})},g=({subjectId:h,subjectName:u,subjectType:v,action:E,payload:y})=>{if(!y.URI)return;let L=window.open(y.URI,"_blank","noopener,noreferrer");L&&(L.opener=null),r.emit(b.interactives,{subjectId:h,subjectName:u,subjectType:v,type:w.actionExecution,actionType:E.type})};return{onControlEvent:o,onContainerEvent:l,onChapterEvent:c,onExpectEvent:f,expectEventHandler:m,setManifestChapterEvents:d,setManifestContainerEvents:s,stopExpect:a,state:n}};var Xr=z(Lr(),1),D=require("@vkontakte/videoplayer-shared/es2018");var $t=(r,e)=>{let t={};return r.map(i=>{if(!t[i]){let n=e.chapters.find(o=>o.id===i);if(!n)return null;let a=e.media.videos.find(o=>n.videoId===o.id);if(!a)return null;t[i]=Yr(a)}return t[i]}).filter(Boolean)},Ao=r=>{for(let e of r.variants)if(Lo(e)&&"payload"in e)return e.payload.id},Lo=r=>r.type==="custom"&&"payload"in r&&r.payload.type==="vk",Yr=r=>{let e=Ao(r);if(!e)return null;let t=e.split("_").pop();return t?parseInt(t,10):null},Mo=(r,e)=>{for(let t of r.media.videos)if(e===Yr(t)){for(let i of r.chapters)if(i.videoId===t.id)return i.id;return}},Zr=(r,e)=>r.reduce((t,i)=>{let n=Mo(e,i);return n?[...t,n]:t},[]);var Z,ce,pe,B,qt,X,J,K,ue,we,_e,Je=class{constructor({globalEventEmitter:e,videoId:t,interactiveController:i,historyApi:n,settings:a}){this.state={history$:new D.ValueSubject([]),hasPrevChapter$:new D.ValueSubject(!1),prevChapter$:new D.ValueSubject(null),isInitialChapter$:new D.ValueSubject(!1),isGoBackLimited$:new D.ValueSubject(!1)};N(this,Z,null);N(this,ce);N(this,pe,!1);N(this,B,null);N(this,qt,null);this.events={inited$:new D.Subject,destroyed$:new D.Subject,error$:new D.Subject};N(this,X,null);N(this,J,null);N(this,K,null);N(this,ue,new D.Subscription);N(this,we,!1);N(this,_e,0);var o;P(this,X,t),P(this,K,e),P(this,J,i),P(this,Z,n),P(this,ce,a),this.state.history$&&x(this,ue)&&((o=x(this,ue))==null||o.add(this.state.history$.subscribe(l=>{var s,c;this.state.prevChapter$.next((0,Xr.default)(l,-2)||null),this.state.hasPrevChapter$.next(l.length>1),this.state.isInitialChapter$.next(this.getInitialChapterId()===((c=(s=x(this,B))==null?void 0:s.metadata)==null?void 0:c.initChapterId)),this.state.isGoBackLimited$.next(x(this,_e)===x(this,ce).maxLength-1)})))}async setManifest(e){if(!x(this,J)||!x(this,K))return;P(this,B,e),await this.getProjectHistory();let t=this.getInitialChapterId();await x(this,J).setChapter({chapterId:t,pushToHistory:!1}),x(this,pe)||(P(this,pe,!0),this.events.inited$.next({initChapterId:t}))}get inited(){return x(this,pe)}async updateHistory(e,t=!0){var l;if(!x(this,B))return;x(this,we)?(P(this,we,!1),pi(this,_e)._++):P(this,_e,0);let i=x(this,B),n=e.length-x(this,ce).maxLength,a=n>0?e.slice(n):e,o=$t(a,i);if(P(this,qt,o),this.state.history$.next(a),!(!t||!x(this,Z)||!x(this,X)))try{await x(this,Z).save(x(this,X),o)}catch(s){let c=new V(1,5,"Unable to save interactive history");this.events.error$.next(c),(l=x(this,K))==null||l.emit(b.errors,c)}}async goBack(){var i;if(!this.state||!x(this,J)){let n=new V(1,5,"Unable to save interactive history");return this.events.error$.next(n),(i=x(this,K))==null?void 0:i.emit(b.errors,n)}P(this,we,!0);let e=this.state.history$.getValue().slice(0,-1),t=e.pop();this.state.history$.next(e),await x(this,J).setChapter({chapterId:t,playPrev:!0})}async getProjectHistory(){var n;if(!x(this,B)||!x(this,X))return;let e=x(this,B),t=[this.getInitialVideoId()];if(x(this,Z))try{let a=await x(this,Z).get(x(this,X));a.length&&(t=a)}catch(a){let o=new V(1,5,"Error while trying to fetch data");this.events.error$.next(o),(n=x(this,K))==null||n.emit(b.errors,o)}let i=Zr(t,e);this.state.history$.next(i)}getInitialChapterId(){var t;let e=this.state.history$.getValue();return(0,Xr.default)(e,-1)||x(this,ce).initChapterId||((t=x(this,B))==null?void 0:t.metadata.initChapterId)}getInitialVideoId(){if(x(this,B)){let e=this.getInitialChapterId();return $t([e],x(this,B)).pop()}return null}destroy(){var e,t;P(this,X,null),P(this,Z,null),P(this,J,null),(e=x(this,ue))==null||e.unsubscribe(),P(this,ue,null),P(this,pe,!1),(t=x(this,K))==null||t.emit(b.historyDestroyed),this.events.destroyed$.next(),P(this,K,null)}};Z=new WeakMap,ce=new WeakMap,pe=new WeakMap,B=new WeakMap,qt=new WeakMap,X=new WeakMap,J=new WeakMap,K=new WeakMap,ue=new WeakMap,we=new WeakMap,_e=new WeakMap;var he=class he{constructor(e,t,i,n){this.target=e,this.type=t,this.listener=i,this.options=he._convertOptions(e,n),this.target.addEventListener(t,i,this.options)}unlisten(){var e;this.type&&this.listener&&this.options&&((e=this.target)==null||e.removeEventListener(this.type,this.listener,this.options)),this.target=null,this.type=null,this.listener=null,this.options=!1}static _convertOptions(e,t){if(t===void 0)return!1;if(typeof t=="boolean")return t;{let i=new Set(["passive","capture"]),n=Object.keys(t).filter(o=>!i.has(o));return n.length===0&&console.warn("Unsupported flag(s) to addEventListener: "+n.join(",")),he._doesSupportObject(e)?t:t.capture||!1}}static _doesSupportObject(e){let t=he._supportsObject;if(t===void 0){t=!1;try{let i={},n={get:()=>(t=!0,!1)};Object.defineProperty(i,"passive",n),Object.defineProperty(i,"capture",n);let a=()=>{};e.addEventListener("test",a,i),e.removeEventListener("test",a,i)}catch(i){t=!1}he._supportsObject=t}return t||!1}};he._supportsObject=void 0;var Bt=he;var Dt=class{constructor(){this.bindingMap=new Xe}release(){this.removeAll(),this.bindingMap=null}listen(e,t,i,n){if(!this.bindingMap)return;let a=new Bt(e,t,i,n);this.bindingMap.push(t,a)}listenOnce(e,t,i,n){let a=o=>{this.unlisten(e,t,a),i(o)};this.listen(e,t,a,n)}unlisten(e,t,i){if(!this.bindingMap)return;let n=this.bindingMap.get(t)||[];for(let a of n)a.target===e&&(i===a.listener||!i)&&(a.unlisten(),this.bindingMap.remove(t,a))}removeAll(){if(!this.bindingMap)return;let e=this.bindingMap.getAll();for(let t of e)t.unlisten();this.bindingMap.clear()}};var Ht=class{constructor(){this._prevSizeId=0;this.rootElement=document.createElement("canvas")}clear(){var e;(e=this.rootElement.getContext("2d"))==null||e.clearRect(0,0,this.rootElement.width,this.rootElement.height)}isImageDrawn(){var n;let e=(n=this.rootElement.getContext("2d"))==null?void 0:n.getImageData(0,0,this.rootElement.width,this.rootElement.height);if(!e)return!1;let t=e.data,i=t.length;for(let a=3;a<i;a+=40)if(t[a]!==0)return!0;return!1}destroy(){this.rootElement.remove()}show(){this.rootElement.style.visibility="visible"}hide(){this.rootElement.style.visibility="hidden"}setCanvasImageSource(e){this.canvasImgSrc=e}draw(){var e;this.canvasImgSrc&&((e=this.rootElement.getContext("2d"))==null||e.drawImage(this.canvasImgSrc,0,0,this.rootElement.width,this.rootElement.height))}async updateCanvasDimensions(e,t=!1){let i=e.width+e.height;if(this._prevSizeId===i)return;let n;t&&(n=await this.save()),this.rootElement.width=e.width,this.rootElement.height=e.height,t&&n&&this.restore(n),this._prevSizeId=i}async save(){let e=this.rootElement.toDataURL("image/jpeg",1),t=new Image;return t.crossOrigin="anonymous",t.src=e,await t.decode(),t}restore(e){var t;this.rootElement&&((t=this.rootElement.getContext("2d"))==null||t.drawImage(e,0,0,this.rootElement.width,this.rootElement.height))}};var Gt=class{constructor({parentElement:e,endOffsetMs:t=250,onError:i}){this.currentVideoDurationMs=1/0;this._containerTimeFrameShouldReceived=!1;this._endTimeFrameReceived=!1;this._shouldCallSkip=!1;this.onEachTick=e=>{let t=e!=null?e:this.lastFrameCanvas.canvasImgSrc.currentTime*1e3,i=this.isChapterEndTime(t);if(this.isContainerTime(t))this._endTimeFrameReceived=!1,this._containerTimeFrameShouldReceived=!0,this._shouldCallSkip=!0;else if(i)this._containerTimeFrameShouldReceived=!1,this._shouldCallSkip=!1,this._endTimeFrameReceived||(this.draw(),this._endTimeFrameReceived=!0,this.show());else{if(this._shouldCallSkip){this._shouldCallSkip=!1;return}this.reset()}};this.onSeek=()=>{this.onEachTick(),!this._containerTimeFrameShouldReceived&&!this._endTimeFrameReceived&&(this.hide(),this.lastFrameCanvas.clear())};this.rootElement=document.createElement("div"),this.rootElement.style.cssText=`
6
+ "use strict";var Oo=Object.create;var nt=Object.defineProperty;var Po=Object.getOwnPropertyDescriptor;var Mo=Object.getOwnPropertyNames;var ko=Object.getPrototypeOf,Vo=Object.prototype.hasOwnProperty;var oi=r=>{throw TypeError(r)};var u=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),jo=(r,e)=>{for(var t in e)nt(r,t,{get:e[t],enumerable:!0})},li=(r,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Mo(e))!Vo.call(r,n)&&n!==t&&nt(r,n,{get:()=>e[n],enumerable:!(i=Po(e,n))||i.enumerable});return r};var Q=(r,e,t)=>(t=r!=null?Oo(ko(r)):{},li(e||!r||!r.__esModule?nt(t,"default",{value:r,enumerable:!0}):t,r)),Lo=r=>li(nt({},"__esModule",{value:!0}),r);var ci=(r,e,t)=>e.has(r)||oi("Cannot "+t);var T=(r,e,t)=>(ci(r,e,"read from private field"),t?t.call(r):e.get(r)),F=(r,e,t)=>e.has(r)?oi("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(r):e.set(r,t),j=(r,e,t,i)=>(ci(r,e,"write to private field"),i?i.call(r,t):e.set(r,t),t);var ui=(r,e,t,i)=>({set _(n){j(r,e,n,t)},get _(){return T(r,e,i)}});var Y=u((rr,vi)=>{"use strict";var Pe=function(r){return r&&r.Math===Math&&r};vi.exports=Pe(typeof globalThis=="object"&&globalThis)||Pe(typeof window=="object"&&window)||Pe(typeof self=="object"&&self)||Pe(typeof global=="object"&&global)||Pe(typeof rr=="object"&&rr)||function(){return this}()||Function("return this")()});var q=u((Lh,bi)=>{"use strict";bi.exports=function(r){try{return!!r()}catch(e){return!0}}});var Me=u(($h,gi)=>{"use strict";var No=q();gi.exports=!No(function(){var r=function(){}.bind();return typeof r!="function"||r.hasOwnProperty("prototype")})});var Ti=u((Nh,xi)=>{"use strict";var _o=Me(),Ii=Function.prototype,Ci=Ii.apply,Ei=Ii.call;xi.exports=typeof Reflect=="object"&&Reflect.apply||(_o?Ei.bind(Ci):function(){return Ei.apply(Ci,arguments)})});var G=u((_h,Ai)=>{"use strict";var Si=Me(),wi=Function.prototype,ir=wi.call,Fo=Si&&wi.bind.bind(ir,ir);Ai.exports=Si?Fo:function(r){return function(){return ir.apply(r,arguments)}}});var ke=u((Fh,Oi)=>{"use strict";var Ri=G(),qo=Ri({}.toString),Bo=Ri("".slice);Oi.exports=function(r){return Bo(qo(r),8,-1)}});var nr=u((qh,Pi)=>{"use strict";var Do=ke(),Ho=G();Pi.exports=function(r){if(Do(r)==="Function")return Ho(r)}});var B=u((Bh,Mi)=>{"use strict";var sr=typeof document=="object"&&document.all;Mi.exports=typeof sr=="undefined"&&sr!==void 0?function(r){return typeof r=="function"||r===sr}:function(r){return typeof r=="function"}});var oe=u((Dh,ki)=>{"use strict";var Go=q();ki.exports=!Go(function(){return Object.defineProperty({},1,{get:function(){return 7}})[1]!==7})});var yt=u((Hh,Vi)=>{"use strict";var Uo=Me(),mt=Function.prototype.call;Vi.exports=Uo?mt.bind(mt):function(){return mt.apply(mt,arguments)}});var ar=u($i=>{"use strict";var ji={}.propertyIsEnumerable,Li=Object.getOwnPropertyDescriptor,zo=Li&&!ji.call({1:2},1);$i.f=zo?function(e){var t=Li(this,e);return!!t&&t.enumerable}:ji});var or=u((Uh,Ni)=>{"use strict";Ni.exports=function(r,e){return{enumerable:!(r&1),configurable:!(r&2),writable:!(r&4),value:e}}});var Fi=u((zh,_i)=>{"use strict";var Wo=G(),Ko=q(),Qo=ke(),lr=Object,Yo=Wo("".split);_i.exports=Ko(function(){return!lr("z").propertyIsEnumerable(0)})?function(r){return Qo(r)==="String"?Yo(r,""):lr(r)}:lr});var cr=u((Wh,qi)=>{"use strict";qi.exports=function(r){return r==null}});var ur=u((Kh,Bi)=>{"use strict";var Xo=cr(),Zo=TypeError;Bi.exports=function(r){if(Xo(r))throw new Zo("Can't call method on "+r);return r}});var Ve=u((Qh,Di)=>{"use strict";var Jo=Fi(),el=ur();Di.exports=function(r){return Jo(el(r))}});var ge=u((Yh,Hi)=>{"use strict";var tl=B();Hi.exports=function(r){return typeof r=="object"?r!==null:tl(r)}});var vt=u((Xh,Gi)=>{"use strict";Gi.exports={}});var bt=u((Zh,zi)=>{"use strict";var pr=vt(),hr=Y(),rl=B(),Ui=function(r){return rl(r)?r:void 0};zi.exports=function(r,e){return arguments.length<2?Ui(pr[r])||Ui(hr[r]):pr[r]&&pr[r][e]||hr[r]&&hr[r][e]}});var Ki=u((Jh,Wi)=>{"use strict";var il=G();Wi.exports=il({}.isPrototypeOf)});var Zi=u((ed,Xi)=>{"use strict";var nl=Y(),Qi=nl.navigator,Yi=Qi&&Qi.userAgent;Xi.exports=Yi?String(Yi):""});var an=u((td,sn)=>{"use strict";var nn=Y(),dr=Zi(),Ji=nn.process,en=nn.Deno,tn=Ji&&Ji.versions||en&&en.version,rn=tn&&tn.v8,U,gt;rn&&(U=rn.split("."),gt=U[0]>0&&U[0]<4?1:+(U[0]+U[1]));!gt&&dr&&(U=dr.match(/Edge\/(\d+)/),(!U||U[1]>=74)&&(U=dr.match(/Chrome\/(\d+)/),U&&(gt=+U[1])));sn.exports=gt});var fr=u((rd,ln)=>{"use strict";var on=an(),sl=q(),al=Y(),ol=al.String;ln.exports=!!Object.getOwnPropertySymbols&&!sl(function(){var r=Symbol("symbol detection");return!ol(r)||!(Object(r)instanceof Symbol)||!Symbol.sham&&on&&on<41})});var mr=u((id,cn)=>{"use strict";var ll=fr();cn.exports=ll&&!Symbol.sham&&typeof Symbol.iterator=="symbol"});var yr=u((nd,un)=>{"use strict";var cl=bt(),ul=B(),pl=Ki(),hl=mr(),dl=Object;un.exports=hl?function(r){return typeof r=="symbol"}:function(r){var e=cl("Symbol");return ul(e)&&pl(e.prototype,dl(r))}});var hn=u((sd,pn)=>{"use strict";var fl=String;pn.exports=function(r){try{return fl(r)}catch(e){return"Object"}}});var vr=u((ad,dn)=>{"use strict";var ml=B(),yl=hn(),vl=TypeError;dn.exports=function(r){if(ml(r))return r;throw new vl(yl(r)+" is not a function")}});var mn=u((od,fn)=>{"use strict";var bl=vr(),gl=cr();fn.exports=function(r,e){var t=r[e];return gl(t)?void 0:bl(t)}});var vn=u((ld,yn)=>{"use strict";var br=yt(),gr=B(),Cr=ge(),Cl=TypeError;yn.exports=function(r,e){var t,i;if(e==="string"&&gr(t=r.toString)&&!Cr(i=br(t,r))||gr(t=r.valueOf)&&!Cr(i=br(t,r))||e!=="string"&&gr(t=r.toString)&&!Cr(i=br(t,r)))return i;throw new Cl("Can't convert object to primitive value")}});var gn=u((cd,bn)=>{"use strict";bn.exports=!0});var In=u((ud,En)=>{"use strict";var Cn=Y(),El=Object.defineProperty;En.exports=function(r,e){try{El(Cn,r,{value:e,configurable:!0,writable:!0})}catch(t){Cn[r]=e}return e}});var Ct=u((pd,Sn)=>{"use strict";var Il=gn(),xl=Y(),Tl=In(),xn="__core-js_shared__",Tn=Sn.exports=xl[xn]||Tl(xn,{});(Tn.versions||(Tn.versions=[])).push({version:"3.38.0",mode:Il?"pure":"global",copyright:"\xA9 2014-2024 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.38.0/LICENSE",source:"https://github.com/zloirock/core-js"})});var Er=u((hd,An)=>{"use strict";var wn=Ct();An.exports=function(r,e){return wn[r]||(wn[r]=e||{})}});var je=u((dd,Rn)=>{"use strict";var Sl=ur(),wl=Object;Rn.exports=function(r){return wl(Sl(r))}});var Ce=u((fd,On)=>{"use strict";var Al=G(),Rl=je(),Ol=Al({}.hasOwnProperty);On.exports=Object.hasOwn||function(e,t){return Ol(Rl(e),t)}});var Ir=u((md,Pn)=>{"use strict";var Pl=G(),Ml=0,kl=Math.random(),Vl=Pl(1 .toString);Pn.exports=function(r){return"Symbol("+(r===void 0?"":r)+")_"+Vl(++Ml+kl,36)}});var Le=u((yd,kn)=>{"use strict";var jl=Y(),Ll=Er(),Mn=Ce(),$l=Ir(),Nl=fr(),_l=mr(),Ee=jl.Symbol,xr=Ll("wks"),Fl=_l?Ee.for||Ee:Ee&&Ee.withoutSetter||$l;kn.exports=function(r){return Mn(xr,r)||(xr[r]=Nl&&Mn(Ee,r)?Ee[r]:Fl("Symbol."+r)),xr[r]}});var $n=u((vd,Ln)=>{"use strict";var ql=yt(),Vn=ge(),jn=yr(),Bl=mn(),Dl=vn(),Hl=Le(),Gl=TypeError,Ul=Hl("toPrimitive");Ln.exports=function(r,e){if(!Vn(r)||jn(r))return r;var t=Bl(r,Ul),i;if(t){if(e===void 0&&(e="default"),i=ql(t,r,e),!Vn(i)||jn(i))return i;throw new Gl("Can't convert object to primitive value")}return e===void 0&&(e="number"),Dl(r,e)}});var Tr=u((bd,Nn)=>{"use strict";var zl=$n(),Wl=yr();Nn.exports=function(r){var e=zl(r,"string");return Wl(e)?e:e+""}});var qn=u((gd,Fn)=>{"use strict";var Kl=Y(),_n=ge(),Sr=Kl.document,Ql=_n(Sr)&&_n(Sr.createElement);Fn.exports=function(r){return Ql?Sr.createElement(r):{}}});var wr=u((Cd,Bn)=>{"use strict";var Yl=oe(),Xl=q(),Zl=qn();Bn.exports=!Yl&&!Xl(function(){return Object.defineProperty(Zl("div"),"a",{get:function(){return 7}}).a!==7})});var Gn=u(Hn=>{"use strict";var Jl=oe(),ec=yt(),tc=ar(),rc=or(),ic=Ve(),nc=Tr(),sc=Ce(),ac=wr(),Dn=Object.getOwnPropertyDescriptor;Hn.f=Jl?Dn:function(e,t){if(e=ic(e),t=nc(t),ac)try{return Dn(e,t)}catch(i){}if(sc(e,t))return rc(!ec(tc.f,e,t),e[t])}});var zn=u((Id,Un)=>{"use strict";var oc=q(),lc=B(),cc=/#|\.prototype\./,$e=function(r,e){var t=pc[uc(r)];return t===dc?!0:t===hc?!1:lc(e)?oc(e):!!e},uc=$e.normalize=function(r){return String(r).replace(cc,".").toLowerCase()},pc=$e.data={},hc=$e.NATIVE="N",dc=$e.POLYFILL="P";Un.exports=$e});var Ar=u((xd,Kn)=>{"use strict";var Wn=nr(),fc=vr(),mc=Me(),yc=Wn(Wn.bind);Kn.exports=function(r,e){return fc(r),e===void 0?r:mc?yc(r,e):function(){return r.apply(e,arguments)}}});var Yn=u((Td,Qn)=>{"use strict";var vc=oe(),bc=q();Qn.exports=vc&&bc(function(){return Object.defineProperty(function(){},"prototype",{value:42,writable:!1}).prototype!==42})});var Zn=u((Sd,Xn)=>{"use strict";var gc=ge(),Cc=String,Ec=TypeError;Xn.exports=function(r){if(gc(r))return r;throw new Ec(Cc(r)+" is not an object")}});var ts=u(es=>{"use strict";var Ic=oe(),xc=wr(),Tc=Yn(),Et=Zn(),Jn=Tr(),Sc=TypeError,Rr=Object.defineProperty,wc=Object.getOwnPropertyDescriptor,Or="enumerable",Pr="configurable",Mr="writable";es.f=Ic?Tc?function(e,t,i){if(Et(e),t=Jn(t),Et(i),typeof e=="function"&&t==="prototype"&&"value"in i&&Mr in i&&!i[Mr]){var n=wc(e,t);n&&n[Mr]&&(e[t]=i.value,i={configurable:Pr in i?i[Pr]:n[Pr],enumerable:Or in i?i[Or]:n[Or],writable:!1})}return Rr(e,t,i)}:Rr:function(e,t,i){if(Et(e),t=Jn(t),Et(i),xc)try{return Rr(e,t,i)}catch(n){}if("get"in i||"set"in i)throw new Sc("Accessors not supported");return"value"in i&&(e[t]=i.value),e}});var is=u((Ad,rs)=>{"use strict";var Ac=oe(),Rc=ts(),Oc=or();rs.exports=Ac?function(r,e,t){return Rc.f(r,e,Oc(1,t))}:function(r,e,t){return r[e]=t,r}});var _e=u((Rd,ss)=>{"use strict";var Ne=Y(),Pc=Ti(),Mc=nr(),kc=B(),Vc=Gn().f,jc=zn(),Ie=vt(),Lc=Ar(),xe=is(),ns=Ce();Ct();var $c=function(r){var e=function(t,i,n){if(this instanceof e){switch(arguments.length){case 0:return new r;case 1:return new r(t);case 2:return new r(t,i)}return new r(t,i,n)}return Pc(r,this,arguments)};return e.prototype=r.prototype,e};ss.exports=function(r,e){var t=r.target,i=r.global,n=r.stat,s=r.proto,o=i?Ne:n?Ne[t]:Ne[t]&&Ne[t].prototype,l=i?Ie:Ie[t]||xe(Ie,t,{})[t],a=l.prototype,c,f,b,m,x,O,M,d,V;for(m in e)c=jc(i?m:t+(n?".":"#")+m,r.forced),f=!c&&o&&ns(o,m),O=l[m],f&&(r.dontCallGetSet?(V=Vc(o,m),M=V&&V.value):M=o[m]),x=f&&M?M:e[m],!(!c&&!s&&typeof O==typeof x)&&(r.bind&&f?d=Lc(x,Ne):r.wrap&&f?d=$c(x):s&&kc(x)?d=Mc(x):d=x,(r.sham||x&&x.sham||O&&O.sham)&&xe(d,"sham",!0),xe(l,m,d),s&&(b=t+"Prototype",ns(Ie,b)||xe(Ie,b,{}),xe(Ie[b],m,x),r.real&&a&&(c||!a[m])&&xe(a,m,x)))}});var os=u((Od,as)=>{"use strict";var Nc=Math.ceil,_c=Math.floor;as.exports=Math.trunc||function(e){var t=+e;return(t>0?_c:Nc)(t)}});var Fe=u((Pd,ls)=>{"use strict";var Fc=os();ls.exports=function(r){var e=+r;return e!==e||e===0?0:Fc(e)}});var us=u((Md,cs)=>{"use strict";var qc=Fe(),Bc=Math.min;cs.exports=function(r){var e=qc(r);return e>0?Bc(e,9007199254740991):0}});var qe=u((kd,ps)=>{"use strict";var Dc=us();ps.exports=function(r){return Dc(r.length)}});var It=u((Vd,hs)=>{"use strict";hs.exports=function(){}});var ds=u(()=>{"use strict";var Hc=_e(),Gc=je(),Uc=qe(),zc=Fe(),Wc=It();Hc({target:"Array",proto:!0},{at:function(e){var t=Gc(this),i=Uc(t),n=zc(e),s=n>=0?n:i+n;return s<0||s>=i?void 0:t[s]}});Wc("at")});var xt=u(($d,fs)=>{"use strict";var Kc=bt();fs.exports=Kc});var ys=u((Nd,ms)=>{"use strict";ds();var Qc=xt();ms.exports=Qc("Array","at")});var bs=u((_d,vs)=>{"use strict";var Yc=ys();vs.exports=Yc});var kr=u((Fd,gs)=>{"use strict";var Xc=bs();gs.exports=Xc});var js=u((qf,Vs)=>{"use strict";var pu=Er(),hu=Ir(),ks=pu("keys");Vs.exports=function(r){return ks[r]||(ks[r]=hu(r))}});var $s=u((Bf,Ls)=>{"use strict";var du=q();Ls.exports=!du(function(){function r(){}return r.prototype.constructor=null,Object.getPrototypeOf(new r)!==r.prototype})});var Fs=u((Df,_s)=>{"use strict";var fu=Ce(),mu=B(),yu=je(),vu=js(),bu=$s(),Ns=vu("IE_PROTO"),Dr=Object,gu=Dr.prototype;_s.exports=bu?Dr.getPrototypeOf:function(r){var e=yu(r);if(fu(e,Ns))return e[Ns];var t=e.constructor;return mu(t)&&e instanceof t?t.prototype:e instanceof Dr?gu:null}});var Bs=u((Hf,qs)=>{"use strict";var Cu=Fe(),Eu=Math.max,Iu=Math.min;qs.exports=function(r,e){var t=Cu(r);return t<0?Eu(t+e,0):Iu(t,e)}});var Hr=u((Gf,Hs)=>{"use strict";var xu=Ve(),Tu=Bs(),Su=qe(),Ds=function(r){return function(e,t,i){var n=xu(e),s=Su(n);if(s===0)return!r&&-1;var o=Tu(i,s),l;if(r&&t!==t){for(;s>o;)if(l=n[o++],l!==l)return!0}else for(;s>o;o++)if((r||o in n)&&n[o]===t)return r||o||0;return!r&&-1}};Hs.exports={includes:Ds(!0),indexOf:Ds(!1)}});var Us=u((Uf,Gs)=>{"use strict";Gs.exports={}});var Ks=u((zf,Ws)=>{"use strict";var wu=G(),Gr=Ce(),Au=Ve(),Ru=Hr().indexOf,Ou=Us(),zs=wu([].push);Ws.exports=function(r,e){var t=Au(r),i=0,n=[],s;for(s in t)!Gr(Ou,s)&&Gr(t,s)&&zs(n,s);for(;e.length>i;)Gr(t,s=e[i++])&&(~Ru(n,s)||zs(n,s));return n}});var Ys=u((Wf,Qs)=>{"use strict";Qs.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]});var Zs=u((Kf,Xs)=>{"use strict";var Pu=Ks(),Mu=Ys();Xs.exports=Object.keys||function(e){return Pu(e,Mu)}});var na=u((Qf,ia)=>{"use strict";var ea=oe(),ku=q(),ta=G(),Vu=Fs(),ju=Zs(),Lu=Ve(),$u=ar().f,ra=ta($u),Nu=ta([].push),_u=ea&&ku(function(){var r=Object.create(null);return r[2]=2,!ra(r,2)}),Js=function(r){return function(e){for(var t=Lu(e),i=ju(t),n=_u&&Vu(t)===null,s=i.length,o=0,l=[],a;s>o;)a=i[o++],(!ea||(n?a in t:ra(t,a)))&&Nu(l,r?[a,t[a]]:t[a]);return l}};ia.exports={entries:Js(!0),values:Js(!1)}});var sa=u(()=>{"use strict";var Fu=_e(),qu=na().values;Fu({target:"Object",stat:!0},{values:function(e){return qu(e)}})});var oa=u((Zf,aa)=>{"use strict";sa();var Bu=vt();aa.exports=Bu.Object.values});var ca=u((Jf,la)=>{"use strict";var Du=oa();la.exports=Du});var $t=u((em,ua)=>{"use strict";var Hu=ca();ua.exports=Hu});var da=u(()=>{"use strict";var Gu=_e(),Uu=Hr().includes,zu=q(),Wu=It(),Ku=zu(function(){return!Array(1).includes()});Gu({target:"Array",proto:!0,forced:Ku},{includes:function(e){return Uu(this,e,arguments.length>1?arguments[1]:void 0)}});Wu("includes")});var ma=u((sm,fa)=>{"use strict";da();var Qu=xt();fa.exports=Qu("Array","includes")});var va=u((am,ya)=>{"use strict";var Yu=ma();ya.exports=Yu});var Nt=u((om,ba)=>{"use strict";var Xu=va();ba.exports=Xu});var Kr=u((Im,Sa)=>{"use strict";var Ju=ke();Sa.exports=Array.isArray||function(e){return Ju(e)==="Array"}});var Aa=u((xm,wa)=>{"use strict";var ep=TypeError,tp=9007199254740991;wa.exports=function(r){if(r>tp)throw ep("Maximum allowed index exceeded");return r}});var Pa=u((Tm,Oa)=>{"use strict";var rp=Kr(),ip=qe(),np=Aa(),sp=Ar(),Ra=function(r,e,t,i,n,s,o,l){for(var a=n,c=0,f=o?sp(o,l):!1,b,m;c<i;)c in t&&(b=f?f(t[c],c,e):t[c],s>0&&rp(b)?(m=ip(b),a=Ra(r,e,b,m,a,s-1)-1):(np(a+1),r[a]=b),a++),c++;return a};Oa.exports=Ra});var Va=u((Sm,ka)=>{"use strict";var ap=Le(),op=ap("toStringTag"),Ma={};Ma[op]="z";ka.exports=String(Ma)==="[object z]"});var La=u((wm,ja)=>{"use strict";var lp=Va(),cp=B(),Ft=ke(),up=Le(),pp=up("toStringTag"),hp=Object,dp=Ft(function(){return arguments}())==="Arguments",fp=function(r,e){try{return r[e]}catch(t){}};ja.exports=lp?Ft:function(r){var e,t,i;return r===void 0?"Undefined":r===null?"Null":typeof(t=fp(e=hp(r),pp))=="string"?t:dp?Ft(e):(i=Ft(e))==="Object"&&cp(e.callee)?"Arguments":i}});var Na=u((Am,$a)=>{"use strict";var mp=G(),yp=B(),Qr=Ct(),vp=mp(Function.toString);yp(Qr.inspectSource)||(Qr.inspectSource=function(r){return vp(r)});$a.exports=Qr.inspectSource});var Ha=u((Rm,Da)=>{"use strict";var bp=G(),gp=q(),_a=B(),Cp=La(),Ep=bt(),Ip=Na(),Fa=function(){},qa=Ep("Reflect","construct"),Yr=/^\s*(?:class|function)\b/,xp=bp(Yr.exec),Tp=!Yr.test(Fa),Ze=function(e){if(!_a(e))return!1;try{return qa(Fa,[],e),!0}catch(t){return!1}},Ba=function(e){if(!_a(e))return!1;switch(Cp(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Tp||!!xp(Yr,Ip(e))}catch(t){return!0}};Ba.sham=!0;Da.exports=!qa||gp(function(){var r;return Ze(Ze.call)||!Ze(Object)||!Ze(function(){r=!0})||r})?Ba:Ze});var Wa=u((Om,za)=>{"use strict";var Ga=Kr(),Sp=Ha(),wp=ge(),Ap=Le(),Rp=Ap("species"),Ua=Array;za.exports=function(r){var e;return Ga(r)&&(e=r.constructor,Sp(e)&&(e===Ua||Ga(e.prototype))?e=void 0:wp(e)&&(e=e[Rp],e===null&&(e=void 0))),e===void 0?Ua:e}});var Qa=u((Pm,Ka)=>{"use strict";var Op=Wa();Ka.exports=function(r,e){return new(Op(r))(e===0?0:e)}});var Ya=u(()=>{"use strict";var Pp=_e(),Mp=Pa(),kp=je(),Vp=qe(),jp=Fe(),Lp=Qa();Pp({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=kp(this),i=Vp(t),n=Lp(t,0);return n.length=Mp(n,t,t,i,0,e===void 0?1:jp(e)),n}})});var Xa=u(()=>{"use strict";var $p=It();$p("flat")});var Ja=u((Lm,Za)=>{"use strict";Ya();Xa();var Np=xt();Za.exports=Np("Array","flat")});var to=u(($m,eo)=>{"use strict";var _p=Ja();eo.exports=_p});var io=u((Nm,ro)=>{"use strict";var Fp=to();ro.exports=Fp});var Kp={};jo(Kp,{ContainerTypes:()=>v.ContainerTypes,ControlTypes:()=>v.ControlTypes,CustomError:()=>L,EVENT_NAMES:()=>A,EventActionTypes:()=>v.EventActionTypes,EventTypes:()=>v.EventTypes,Interactives:()=>tt,ManifestController:()=>he,SDKInfo:()=>Wp,chapterIdsToVKVideoIds:()=>Bt,compareVersions:()=>Vt,containerTypes:()=>tu,controlTypes:()=>ru,eventActionTypes:()=>nu,eventTypes:()=>iu,getChapterIdByVkVideoId:()=>To,getVKVideoIdByMedia:()=>Jr,getVideoRawIdByMedia:()=>Io,graphEventTypes:()=>we,hasEndTemplate:()=>Ye,interactivesEventTypes:()=>k,isAreaControl:()=>eu,isButtonControl:()=>Jc,isLastChapter:()=>z,isOneTextCtrlContainer:()=>pe,isSupportedManifest:()=>v.isSupportedManifest,isTextControl:()=>ze,isVKVariantItem:()=>xo,isValidManifest:()=>Lr,migrateManifestToLatestVersion:()=>v.migrateManifestToLatestVersion,utils:()=>Ro,vkVideoIdsToChapterIds:()=>ei});module.exports=Lo(Kp);var pi="1.0.29-dev.6887ae27.0";function Qt(r,e=1){let t="0",i="0",n="0";return r.length===4?(t="0x"+r[1]+r[1],i="0x"+r[2]+r[2],n="0x"+r[3]+r[3]):r.length===7&&(t="0x"+r[1]+r[2],i="0x"+r[3]+r[4],n="0x"+r[5]+r[6]),`rgba(${+t},${+i},${+n},${e})`}var _="interactive",$o="interactive-controls-container",st=()=>document.querySelector(`.${$o}`),hi=.4,$={textColor:"#000",textSize:.4,textContent:"",roundCorners:0,borderWidth:0,borderColor:"#000",borderAlpha:1,backgroundColor:"#fff",backgroundAlpha:1,innerSizesDependOn:"self",angle:0},di=(i=>(i.top="flex-start",i.bottom="flex-end",i.center="center",i))(di||{}),fi=(i=>(i.start="flex-start",i.end="flex-end",i.center="center",i))(fi||{}),mi=(i=>(i.start="left",i.end="right",i.center="center",i))(mi||{}),at=({target:r,props:e})=>{var t,i,n;r.style.alignItems=(t=(e==null?void 0:e.gravityVertical)&&di[e.gravityVertical])!=null?t:"center",r.style.justifyContent=(i=(e==null?void 0:e.gravityHorizontal)&&fi[e.gravityHorizontal])!=null?i:"center",r.style.textAlign=(n=(e==null?void 0:e.alignment)&&mi[e.alignment])!=null?n:"left"},ot=({target:r,props:e,fallback:t,dependsOn:i})=>{var n,s,o,l,a,c;r.style.color=(s=(n=e==null?void 0:e.text)==null?void 0:n.color)!=null?s:t.textColor,r.style.fontSize=`calc(${i.height} * ${(l=(o=e==null?void 0:e.text)==null?void 0:o.size)!=null?l:t.textSize})`,r.textContent=(c=(a=e==null?void 0:e.text)==null?void 0:a.value)!=null?c:t.textContent},lt=({target:r,props:e,fallback:t})=>{var i,n,s,o;r.style.backgroundColor=Qt((n=(i=e==null?void 0:e.background)==null?void 0:i.color)!=null?n:t.backgroundColor,(o=(s=e==null?void 0:e.background)==null?void 0:s.alpha)!=null?o:t.backgroundAlpha)},ct=({target:r,props:e,fallback:t,dependsOn:i})=>{var n,s,o,l,a,c,f,b,m,x,O;r.style.border=`calc(${i.height} * ${(o=(s=(n=e==null?void 0:e.shape)==null?void 0:n.border)==null?void 0:s.width)!=null?o:t.borderWidth}) solid ${Qt((c=(a=(l=e==null?void 0:e.shape)==null?void 0:l.border)==null?void 0:a.color)!=null?c:t.borderColor,(m=(b=(f=e==null?void 0:e.shape)==null?void 0:f.border)==null?void 0:b.alpha)!=null?m:t.borderAlpha)}`,r.style.borderRadius=`calc(${i.height} * ${(O=(x=e==null?void 0:e.shape)==null?void 0:x.roundCorners)!=null?O:t.roundCorners})`},ve=({target:r,layoutParams:e,fallback:t})=>{var n;let i=(n=e.angle)!=null?n:t.angle;i=i&&i*-1,r.style.transform=`rotate(${i}rad)`};var ee=class{constructor(e){this.control=e;this.container=null;this.controlElement=null;this.clickListener=null}createContainerElement(e){var n;let t=document.createElement("div");t.classList.add(`${_}-control-container-${this.control.id}`),e(t,this.control.layoutParams);let i=((n=this.control.layoutParams.innerSizesDependOn)!=null?n:$.innerSizesDependOn)==="self"?{height:t.style.height,width:t.style.width}:{height:"var(--interactive-content-height)",width:"var(--interactive-content-width)"};this.container={element:t,dimensions:i}}createClickListener(e){return t=>{t.stopPropagation(),e()}}setEvents(e){!this.container||!this.control.events||this.control.events.forEach(t=>{var n;switch(t.type.trim().toLowerCase()){case"onclick":this.clickListener=this.createClickListener(()=>e({action:t.action,controlId:this.control.id,controlType:this.control.type})),(n=this.container)==null||n.element.addEventListener("click",this.clickListener);break;default:break}})}removeListeners(){var e,t;(e=this.container)!=null&&e.element&&this.clickListener&&((t=this.container)==null||t.element.removeEventListener("click",this.clickListener))}};var Yt="int",ae=(i=>(i.AREA=`${Yt}_area`,i.TEXT=`${Yt}_text`,i.BUTTON=`${Yt}_bttn`,i))(ae||{});var ut=r=>{if(r.type.trim().toLowerCase()==="area")return new Xt(r)},Xt=class extends ee{constructor(e){super(e)}createView({parentElement:e,layoutCallback:t}){if(super.createContainerElement(t),!this.container)return;let i=document.createElement("button");i.type="button",i.classList.add(`${_}-${this.control.id}`),i.setAttribute("data-testid",ae.AREA),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.cursor="pointer",lt({target:i,props:this.control.props,fallback:{...$,backgroundColor:"transparent"}}),ct({target:i,props:this.control.props,fallback:{...$,borderAlpha:0},dependsOn:this.container.dimensions}),ve({target:i,layoutParams:this.control.layoutParams,fallback:$}),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){this.controlElement&&(this.controlElement.style.cursor="default")}enable(){this.controlElement&&(this.controlElement.style.cursor="pointer")}getElement(){return this.controlElement}};var pt=()=>{let r=document.createElement("span");return r.style.display="inline-block",r.style.whiteSpace="pre",r.style.overflow="hidden",r.style.textOverflow="ellipsis",r.style.maxWidth="100%",r.style.maxHeight="100%",r};var ht=r=>{if(r.type.trim().toLowerCase()==="button")return new Zt(r)},Zt=class extends ee{constructor(e){super(e)}createView({parentElement:e,layoutCallback:t}){if(super.createContainerElement(t),!this.container)return;let i=document.createElement("button");i.type="button",i.classList.add(`${_}-${this.control.id}`),i.setAttribute("data-testid",ae.BUTTON),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.cursor="pointer",i.style.fontFamily="inherit",ve({target:i,layoutParams:this.control.layoutParams,fallback:$}),lt({target:i,props:this.control.props,fallback:$}),ct({target:i,props:this.control.props,fallback:$,dependsOn:this.container.dimensions}),at({target:i,props:{...this.control.props.text,alignment:this.control.layoutParams.alignment}});let n=pt();ot({target:n,props:this.control.props,fallback:$,dependsOn:this.container.dimensions}),i.append(n),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){this.controlElement&&(this.controlElement.style.cursor="default")}enable(){this.controlElement&&(this.controlElement.style.cursor="pointer")}getElement(){return this.controlElement}};var yi=r=>{if(r.type.trim().toLowerCase()==="text")return new Jt(r)},Jt=class extends ee{constructor(e){super(e)}createView({parentElement:e,layoutCallback:t}){if(super.createContainerElement(t),!this.container)return;let i=document.createElement("div");i.classList.add(`${_}-${this.control.id}`),i.setAttribute("data-testid",ae.TEXT),i.style.display="flex",i.style.width="100%",i.style.height="100%",i.style.fontFamily="inherit",ve({target:i,layoutParams:this.control.layoutParams,fallback:$}),at({target:i,props:{...this.control.props.text,alignment:this.control.layoutParams.alignment}});let n=pt();ot({target:n,props:this.control.props,fallback:$,dependsOn:this.container.dimensions}),i.append(n),this.container.element.append(i),e.append(this.container.element),this.controlElement=i}disable(){}enable(){}getElement(){return this.controlElement}};var er=class{constructor(e){this.layout=e}},dt=class extends er{constructor(e){super(e)}setContainerLayout(e){e.style.position="relative"}setControlLayout(e,t){e.style.position="absolute",e.style.width=`calc(var(--interactive-content-width) * ${t.width})`,e.style.height=`calc(var(--interactive-content-height) * ${t.height})`,e.style.left=`calc(var(--interactive-content-width) * ${t.x} + ((var(--interactive-width) - var(--interactive-content-width)) / 2))`,e.style.top=`calc(var(--interactive-content-height) * ${t.y} + ((var(--interactive-height) - var(--interactive-content-height)) / 2))`}};var be=class{constructor(e){this.container=e,this.factories=new Map,this.controls=[],this.setControls()}addControlFactory(e,t){this.factories.set(e.trim().toLowerCase(),t),this.setControls()}removeControlFactory(e){this.factories.delete(e.trim().toLowerCase()),this.setControls()}setControls(){this.controls=this.chooseControls()}chooseControls(){var e;return((e=this.container.controls)==null?void 0:e.reduce((t,i)=>{let n=i.type.trim().toLowerCase(),s=this.factories.get(n);if(s){let o=s(i);if(o)return[...t,o]}return[...t]},[]))||[]}};var ft=(r,e)=>{if(r.type.trim().toLowerCase()==="choice")return new tr(r,e)},tr=class extends be{constructor(e,t){super(e),this.rootElement=t!=null?t:st(),this.layout=new dt(this.container.layout),this.isRemoved=!1,this.isDisabled=!1,this.addControlFactory("button",ht),this.addControlFactory("text",yi),this.addControlFactory("area",ut)}createView(e){let t=document.createElement("div");return t.classList.add(`${_}-${this.container.id}`),this.layout.setContainerLayout(t),this.controls.forEach(i=>{i.createView({parentElement:t,layoutCallback:this.layout.setControlLayout}),i.setEvents(e)}),this.rootElement.append(t),this.isRemoved=!1,t}hide(){let e=this.getElement();e&&(e.style.visibility="hidden")}show(){let e=this.getElement();e&&(e.style.visibility="visible")}enable(){let e=this.getElement();e&&(this.controls.forEach(t=>t.enable()),e.style.opacity="1",this.isDisabled=!1)}disable(){let e=this.getElement();e&&(this.controls.forEach(t=>t.disable()),e.style.opacity=`${hi}`,this.isDisabled=!0)}removeView(){var e;this.isRemoved||(this.controls.forEach(t=>t.removeListeners()),(e=this.getElement())==null||e.remove(),this.isRemoved=!0)}getElement(){return this.rootElement.querySelector(`.${_}-${this.container.id}`)}};var Ao=Q(kr(),1),E=require("@vkontakte/videoplayer-shared/es2018"),Oe=require("@vkontakte/videoplayer-statistics/es2018");var Ts=require("@vkontakte/videoplayer-shared/es2018");function Be(r,e){let t;return(...i)=>{clearTimeout(t),t=setTimeout(()=>r(...i),e)}}var le=(r,e)=>Object.prototype.toString.call(r)===`[object ${e}]`,De=r=>le(r,"Object"),Tt=r=>le(r,"String"),St=r=>le(r,"Array"),wt=r=>le(r,"Number"),Cs=r=>le(r,"Function");var Vr=r=>wt(r)&&!isNaN(r);var ce=r=>De(r)&&Object.keys(r).length===0,jr=r=>St(r)&&!r.length;var He=(r,e)=>Tt(r)&&(e?r.trim():r).length;var Es="video_interactive",Is="videoint";var xs=250,Ge=class{constructor(e){this.handleZoomChange=Be(e=>{this.lastZoomInfo=e},xs);this.onResize=e=>{var i;if(!this.isReady||this.isHidden||!e[0].contentRect.width||!e[0].contentRect.height)return;let t=this.getNextPoint();t&&((i=this.ngEditor)==null||i.zoomTo(t)),this.ngEditorSize={width:e[0].contentRect.width,height:e[0].contentRect.height}};this.handleChapterChange=e=>{var t,i,n;if(this.manifest){if(this.isHidden||this.hide(),!(e!=null&&e.id)){(t=this.onError)==null||t.call(this,"Id is not found"),console.error("Id is not found");return}this.visitedChapterIds.add(e.id),(i=this.ngEditor)==null||i.selectChapter(e.id),(n=this.ngEditor)==null||n.setVisitedChapters(Array.from(this.visitedChapterIds)),this.currentChapterId=e.id,this.lastZoomInfo=null}};this.handleManifestChange=(e,t=[])=>{var i;if(this.isReady=!1,!wt(e.graph.edit.chapters[0].x)){(i=this.onError)==null||i.call(this,"Can't show graph"),console.error("Can't show graph");return}this.lastZoomInfo=null,this.manifest=e,this.visitedChapterIds=new Set(t),this.ngEditor&&(this.manifest.metadata.id!==this.currentManifestId?(this.ngEditor.update(e),this.currentManifestId=this.manifest.metadata.id):this.ngEditor.setVisitedChapters(Array.from(t)),this.isReady=!0)};this.init(e)}init({root:e,onOpenPreviewClick:t,onError:i,lang:n,visitedChapters:s=[]}){this.isReady=!1,this.isHidden=!0,this.manifest=null,this.visitedChapterIds=new Set(s),this.onOpenPreviewClick=t,this.onError=i,this.lang=n!=null?n:"ru",this.zoom=.7,this.lastZoomInfo=null,this.currentManifestId=null,this.currentChapterId=null,this.ngEditor=null,this.ngEditorSize=null,this.graphWrapperElement=Zc(e),this.resizeObserver=new ResizeObserver(Be(this.onResize,xs)),this.resizeObserver.observe(this.graphWrapperElement)}getNextPoint(e=this.ngEditorSize){return!this.lastZoomInfo||!e?null:[(this.lastZoomInfo.x-e.width/2)/this.lastZoomInfo.value*-1,(this.lastZoomInfo.y-e.height/2)/this.lastZoomInfo.value*-1]}setVisitedChapters(e){var t;this.visitedChapterIds=new Set([...this.visitedChapterIds,...e]),(t=this.ngEditor)==null||t.setVisitedChapters(Array.from(this.visitedChapterIds))}updateVideosInfo(e){var t;(t=this.ngEditor)==null||t.updateVideosInfo(e)}async show(){var e;this.manifest&&(this.ngEditor||await this.initNgEditor(),this.graphWrapperElement.style.display="block",!this.lastZoomInfo&&this.currentChapterId&&((e=this.ngEditor)==null||e.focusChapter(this.currentChapterId)),this.isHidden=!1)}async initNgEditor(){if(!this.manifest)return;let e;try{e=await(0,Ts.loadVKLangPack)(this.lang,Es,Is)}catch(i){console.log("Unable to load graph language pack")}let{GraphEditor:t}=await import("@interactiveplatform/movika-graph-editor");this.ngEditor=new t(this.graphWrapperElement,{mode:"read",lang:this.lang==="ru"?"ru":"en",translation:e}),this.currentManifestId=this.manifest.metadata.id,this.ngEditor.update(this.manifest),this.ngEditor.setVisitedChapters(Array.from(this.visitedChapterIds)),this.currentChapterId&&this.ngEditor.selectChapter(this.currentChapterId),this.ngEditor.on("control",({name:i,...n})=>{var s;i==="openPreview"&&"chapterId"in n&&((s=this.onOpenPreviewClick)==null||s.call(this,n.chapterId))}),this.ngEditor.on("zoom",this.handleZoomChange),this.isReady=!0}hide(){this.graphWrapperElement.style.display="none",this.isHidden=!0}destroy(){var e,t;this.hide(),this.manifest=null,this.resizeObserver.disconnect(),(e=this.ngEditor)==null||e.setVisitedChapters([]),this.onOpenPreviewClick=void 0,(t=this.ngEditor)==null||t.dispose(),this.graphWrapperElement.remove(),this.isReady=!1}};function Zc(r){let e=document.createElement("div");return e.style.position="absolute",e.style.top="0",e.style.left="0",e.style.height="100%",e.style.width="100%",e.style.display="none",r.append(e),e}var Ue=class{constructor(){this._containers=[];this._player=null;this.setPlayer=e=>{this._player=e};this.setContainers=e=>{this._containers=e};this.deleteContainer=e=>{this._containers=this._containers.filter(t=>t.id!==e)};this.getNextInteractiveTime=(e=3e3)=>{if(!this._containers.length||this._player===null)return null;let t=-1,i=!1,n=Math.round(this._player.info.position$.getValue()*1e3);for(let s of this._containers){let o=s.startTime-e;if(o<=n&&(s.endTime&&n<=s.endTime||s.endTime===null)){i=!0;break}n<o&&(t=t===-1?o:Math.min(t,o))}return!i&&t!==-1?t:null}}};var v=require("@interactiveplatform/movika-manifest");var Ss={metadata:"Object",chapters:"Array"},Lr=r=>{if(!De(r))return!1;for(let e in Ss)if(!r[e]||!le(r[e],Ss[e]))return!1;return(0,v.isSupportedManifest)(r.metadata.version)},ze=r=>r.type===v.ControlTypes.Text,Jc=r=>r.type===v.ControlTypes.Button,eu=r=>r.type===v.ControlTypes.Area,tu={Choice:"Choice",TextInput:"TextInput"},ru={Button:"Button",Area:"Area",Text:"Text"},iu={onClick:"onClick",onSuspense:"onSuspense"},nu={openURI:"openURI",setNextBranch:"setNextBranch",setWeightlessRandomBranch:"setWeightlessRandomBranch",setRandomBranch:"setRandomBranch",setMaxWeightBranch:"setMaxWeightBranch",setMinWeightBranch:"setMinWeightBranch",setDefaultBranch:"setDefaultBranch",continuePlayback:"continuePlayback",expect:"expect"};var L=class{constructor(e,t,...i){this.severity=e;this.category=t;this.data=i}toString(){return`Interactive SDK error ${JSON.stringify(this,null," ")}`}};var At=class{constructor(){this.listeners={}}addListener(e,t){return this.listeners[e]=this.listeners[e]||[],this.listeners[e].push(t),this}on(e,t){return this.addListener(e,t)}once(e,t){this.listeners[e]=this.listeners[e]||[];let i=()=>{t(),this.off(e,i)};return this.listeners[e].push(i),this}off(e,t){return this.removeListener(e,t)}reset(){this.listeners={}}removeListener(e,t){let i=this.listeners[e]||[];for(let n=i.length;n>0;n--)if(i[n]===t){i.splice(n,1);break}return this}emit(e,...t){let i=this.listeners[e];return i?(i.forEach(n=>{n(...t)}),!0):!1}listenerCount(e){return this.rawListeners(e).length}rawListeners(e){return this.listeners[e]||[]}};var Rt=class{constructor(e){this.fns=[];this.addFn=(e,t=!1)=>{Cs(e)&&(this.fns.push(e),t&&this.updateFn())};this.removeFn=(e,t=!1)=>{this.fns=this.fns.filter(i=>i!==e),t&&this.updateFn()};this.updateFn=()=>{this.fn=()=>{this.fns.forEach(e=>e()),this.raf&&this.forceRequestAnimation()}};this.forceRequestAnimation=()=>{this.fn&&(this.raf=requestAnimationFrame(this.fn))};this.requestAnimation=()=>{this.raf||this.forceRequestAnimation()};this.cancelAnimation=()=>{this.raf&&(cancelAnimationFrame(this.raf),this.raf=void 0)};e&&(this.fn=e,this.addFn(e))}release(){this.cancelAnimation(),this.fn=void 0,this.fns=[]}};var Ms=require("@vkontakte/videoplayer-shared/es2018");var Ot=class{constructor(e){var t,i;this.loaders={chapterLoaders:(t=e==null?void 0:e.chapterLoaders)!=null?t:[],manifestLoaders:(i=e==null?void 0:e.manifestLoaders)!=null?i:[]}}async exec(e,t){return su(...this.loaders[e])(t)}};function su(...r){return async function(t){let i=[...r];for(;i.length>0;)t=await i.shift()(t);return t}}function We(r,e,t){return r?{...r,[e]:r[e]?[t,...r[e]]:[t]}:{[e]:[t]}}function Pt({actions:r,errors:e,chapterId:t,...i}){if(t){let n=r.getManifest(),s=r.getChapter(n.chapters,t);if(s){let o=r.getMedia(n.media,s.videoId),l=r.getGraph(n.graph,s.id);return o?{...i,actions:r,errors:e,result:{chapter:s,media:o,graph:l}}:{...i,errors:We(e,Pt.name,"Could not find media"),actions:r}}}return{...i,errors:We(e,Pt.name,"Could not find chapter"),actions:r}}var Mt=class{constructor(){Object.defineProperty(this,"listeners",{value:{},writable:!0,configurable:!0})}addEventListener(e,t,i){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push({callback:t,options:i})}removeEventListener(e,t){if(!(e in this.listeners))return;let i=this.listeners[e];for(let n=0,s=i.length;n<s;n++)if(i[n].callback===t){i.splice(n,1);return}}dispatchEvent(e){if(!(e.type in this.listeners))return;let i=this.listeners[e.type].slice();for(let n=0,s=i.length;n<s;n++){let o=i[n];try{o.callback.call(this,e)}catch(l){Promise.resolve().then(()=>{throw l})}o.options&&o.options.once&&this.removeEventListener(e.type,o.callback)}return!e.defaultPrevented}},Te=class extends Mt{constructor(){super(),this.listeners||Mt.call(this),Object.defineProperty(this,"aborted",{value:!1,writable:!0,configurable:!0}),Object.defineProperty(this,"onabort",{value:null,writable:!0,configurable:!0}),Object.defineProperty(this,"reason",{value:void 0,writable:!0,configurable:!0})}toString(){return"[object AbortSignal]"}dispatchEvent(e){e.type==="abort"&&(this.aborted=!0,typeof this.onabort=="function"&&this.onabort.call(this,e)),super.dispatchEvent(e)}},Ke=class{constructor(){Object.defineProperty(this,"signal",{value:new Te,writable:!0,configurable:!0})}abort(e){let t;try{t=new Event("abort")}catch(n){typeof document!="undefined"?document.createEvent?(t=document.createEvent("Event"),t.initEvent("abort",!1,!1)):(t=document.createEventObject(),t.type="abort"):t={type:"abort",bubbles:!1,cancelable:!1}}let i=e;if(i===void 0)if(typeof document=="undefined")i=new Error("This operation was aborted"),i.name="AbortError";else try{i=new DOMException("signal is aborted without reason")}catch(n){i=new Error("This operation was aborted"),i.name="AbortError"}this.signal.reason=i,this.signal.dispatchEvent(t)}toString(){return"[object AbortController]"}};typeof Symbol!="undefined"&&Symbol.toStringTag&&(Ke.prototype[Symbol.toStringTag]="AbortController",Te.prototype[Symbol.toStringTag]="AbortSignal");function kt(r){return r.__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL?(console.log("__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL=true is set, will force install polyfill"),!0):typeof r.Request=="function"&&!r.Request.prototype.hasOwnProperty("signal")||!r.AbortController}function $r(r){typeof r=="function"&&(r={fetch:r});let{fetch:e,Request:t=e.Request,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:n=!1}=r;if(!kt({fetch:e,Request:t,AbortController:i,__FORCE_INSTALL_ABORTCONTROLLER_POLYFILL:n}))return{fetch:e,Request:s};let s=t;(s&&!s.prototype.hasOwnProperty("signal")||n)&&(s=function(c,f){let b;f&&f.signal&&(b=f.signal,delete f.signal);let m=new t(c,f);return b&&Object.defineProperty(m,"signal",{writable:!1,enumerable:!1,configurable:!0,value:b}),m},s.prototype=t.prototype);let o=e;return{fetch:(a,c)=>{let f=s&&s.prototype.isPrototypeOf(a)?a.signal:c?c.signal:void 0;if(f){let b;try{b=new DOMException("Aborted","AbortError")}catch(x){b=new Error("Aborted"),b.name="AbortError"}if(f.aborted)return Promise.reject(b);let m=new Promise((x,O)=>{f.addEventListener("abort",()=>O(b),{once:!0})});return c&&c.signal&&delete c.signal,Promise.race([m,o(a,c)])}return o(a,c)},Request:s}}var Qe=kt({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}),ws=Qe?$r({fetch:window.fetch,Request:window.Request,AbortController:window.AbortController}):void 0,Nr=Qe?ws.fetch:window.fetch,Ef=Qe?ws.Request:window.Request,If=Qe?Ke:window.AbortController,xf=Qe?Te:window.AbortSignal;var Vt=(r="",e="")=>{let t=r.split("."),i=e.split("."),n=0;for(let s=0;s<Math.max(t.length,i.length)&&!n;s++)t[s]>i[s]?n=1:t[s]<i[s]?n=-1:n=0;return n};var au=async r=>{try{let e={},t;if(Tt(r)){t=new URL(r).href;let n=await Nr(t);if(!n.ok)return{};e=await n.json()}else if(De(r))e=r;else return{};if(!Lr(e))return{};let i=e.metadata.media;if(Tt(i)&&!("media"in e))try{let n;t?n=new URL(i,t).href:(n=new URL(i).href,t=n);let s=await Nr(n);if(!s.ok)throw new Error;e.metadata.media=await s.json()}catch(n){return cu(e.metadata.version)?{manifest:e}:{}}return{manifest:e,manifestURL:t}}catch(e){return{}}};async function As(r){let{manifest:e,manifestURL:t}=await au(r);if(!e)throw new Error("Failed on fetch");let i=(0,v.migrateManifestToLatestVersion)(e);return i.media=ou(i.media,t),delete i.metadata.media,i}function jt(r,e){if(e)return r.find(t=>t.id===e)}function _r(r,e){var t,i;return(t=r.edit)!=null&&t.chapters?r.edit.chapters.find(n=>n.id===e):(i=r.view)!=null&&i.chapters?r.view.chapters.find(n=>n.id===e):void 0}function Fr(r,e){return r.videos.find(t=>t.id===e)}function ou(r,e){return{...r,videos:r.videos.map(t=>({...t,variants:t.variants.map(i=>{let n="url"in i?i.url:"",s=lu(n,e);return{...i,url:s||n}})}))}}function lu(r="",e){try{return new URL(r,e).href}catch(t){return""}}function cu(r){return Vt(r,"3.2.0")>=0}var Lt=r=>St(r)&&!jr(r),z=r=>r.order==="end",Ye=r=>St(r.containers)&&!jr(r.containers)&&z(r),Rs=(r,e)=>{var i;let t=r*1e3;return Lt(e.controls)&&t<((i=e.startTime)!=null?i:0)},qr=(r,e)=>{var i,n;let t=r*1e3;return Lt(e.controls)&&t>=((i=e.startTime)!=null?i:0)&&t<=((n=e.endTime)!=null?n:1/0)};var ue=(r=[])=>r.some(e=>e.action.type==="expect"),Br=(r=[])=>r.find(e=>e.action.type==="expect"),uu=r=>(r==null?void 0:r.length)===1,pe=r=>uu(r)&&ze(r[0]);function Os(r,...e){return t=>typeof e[0]=="object"&&typeof t=="object"?r({...e[0],...t}):r(...e,...t)}var Ps=(r,e)=>ue(r.events)?!1:e.some(({container:t})=>t.container.id!==r.id&&ue(t.container.events)&&t.container.endTime===r.endTime&&!t.isRemoved);var he=class extends Ot{constructor(t,i){super(t);this.manifest=null;this.chapter=null;this.media=null;this.graph=null;this.prevChapter$=new Ms.ValueSubject(null);this.onError=i,this.release()}release(){return this.manifest=null,this.chapter=null,this.media=null,this.graph=null,this.prevChapter$.next(null),this}async setManifest(t){var n;this.release();let i=await this.exec("manifestLoaders",{actions:{addErrorMessage:We},result:null,errors:null,source:t});return i.errors&&this.errorHandler(i.errors),this.manifest=await As((n=i.result)!=null?n:t),this}async setInitial(){return this.setNext()}async setNext(t=(i=>(i=this.manifest)==null?void 0:i.metadata.initChapterId)()){if(!t)return this;this.prevChapter$.next(this.chapter);let n=await this.exec("chapterLoaders",Pt({actions:{getManifest:()=>this.manifest,getCurrent:this.getCurrent,getGraph:_r,getChapter:jt,getMedia:Fr,getByBranches:this.getByBranches.bind(this),addErrorMessage:We},result:null,errors:null,chapterId:t}));return n.errors&&this.errorHandler(n.errors),this.chapter=n.result.chapter,this.media=n.result.media,this.graph=n.result.graph,this}errorHandler(t){this.onError(t),console.error("Something went wrong with loaders",{errors:t})}getInitial(){var i;return this.getByChapterId((i=this.manifest)==null?void 0:i.metadata.initChapterId)||null}getByChapterId(t=(i=>(i=this.manifest)==null?void 0:i.metadata.initChapterId)()){if(!t||!this.manifest)return null;let n=jt(this.manifest.chapters,t);if(n){let s=Fr(this.manifest.media,n.videoId),o=_r(this.manifest.graph,n.id);if(s)return{chapter:n,media:s,graph:o}}return null}getBranches(t=(i=>(i=this.chapter)==null?void 0:i.id)()){var n,s,o;if(t===((n=this.chapter)==null?void 0:n.id))return this.getByBranches((s=this.chapter)==null?void 0:s.branches);{let l=jt(((o=this.manifest)==null?void 0:o.chapters)||[],t);return this.getByBranches(l==null?void 0:l.branches)}}getByBranches(t=[]){return t.reduce((i,n)=>{let s=this.getByChapterId(n.chapterId);return s&&i.push(s),i},[])}getCurrent(){return{chapter:this.chapter,media:this.media,graph:this.graph}}isInitialChapter(){var t,i;return((t=this.chapter)==null?void 0:t.id)===((i=this.manifest)==null?void 0:i.metadata.initChapterId)}isEndChapter(){return this.chapter?z(this.chapter):!1}};var ga=Q($t(),1),Ca=require("@vkontakte/videoplayer-core/es2018"),ne=require("@vkontakte/videoplayer-shared/es2018");var pa=r=>{let e=r.variants.find(t=>{var i;return((i=t.payload)==null?void 0:i.type)==="vk"});if(e&&e.payload){let[t,i]=e.payload.id.split("_");return[t,i]}return[]};var ha=Q($t(),1);function Ur(){let r=new Map;function e({listId:s=Math.random().toString(),itemId:o=Math.random().toString(),...l}){let a=r.get(s),c={...l};return a?a[o]=c:r.set(s,{[o]:c}),{listId:s,itemId:o,...l}}function t(s){var o,l;s.player.destroy(),s.container.remove(),s.subscription.unsubscribe(),(o=s.statistics)==null||o.oneStat.destroy(),(l=s.statistics)==null||l.statSubscription.unsubscribe()}function i(s,o){let l=r.get(s);if(!l)throw Error("Can't remove. Not find.");if(o){let a=l[o];a&&t(a),delete l[o],Object.keys(l).length||r.delete(s)}else{for(let a of(0,ha.default)(l))t(a);r.delete(s)}}function n(){for(let s of r)i(s[0])}return{createPlayer:e,removePlayer:i,map:r,removeAll:n}}var Se=Q(Nt(),1);function zr(r,e=[]){var s,o,l;let t={},i,n=!e.length;for(let a of r.variants)if(!i&&"cover"in a&&(i=a.cover),"url"in a)switch(a.type.toLowerCase()){case"mp4":(n||(0,Se.default)(e,"mp4"))&&(t.MPEG={...t.MPEG,[(s=a.standard)!=null?s:"Invariant quality"]:a.url});break;case"mpeg":(n||(0,Se.default)(e,"mpeg"))&&(t.MPEG={...t.MPEG,[(o=a.standard)!=null?o:"Invariant quality"]:a.url});break;case"hls":(n||(0,Se.default)(e,"hls"))&&(t={...t,HLS:{type:"url",url:a.url}});break;case"dash":(n||(0,Se.default)(e,"dash"))&&(t={...t,DASH_SEP:{compatibilityMode:!0,type:"url",url:a.url}});break;default:break}return{sources:t,thumbUrl:i,title:(l=r.title)!=null?l:""}}var Xe=(r,e)=>{let t=r.info.currentQuality$.getValue(),i=r.info.availableQualities$.getValue();t!==e&&(0,Se.default)(i,e)&&(r.setQuality(e),r.setAutoQuality(!1))};var Zu=2;function Wr(r){let e=Ur(),t=new ne.Subscription,i={},n=null,s=!1,o,l=new ne.ValueSubject(null);r&&a(r);function a(d){n=d}function c(d,V,S){var y;if(!n)throw Error("need to set interactive controller");if(!n.options)return;let h=((y=e.map.get(d))!=null?y:{})[V];if(h){i={chapterId:S,listId:d,itemId:V,...h};let C=i.player;i.subscription.add(C.info.currentQuality$.subscribe(I=>{let P=C.info.position$.getValue(),w=C.info.isAutoQualityEnabled$.getValue();if(!(!I||!P||w))for(let g of e.map)(0,ga.default)(g[1]).forEach(({player:R})=>{Xe(R,I)})})).add(C.events.started$.subscribe(()=>{f(V)})),h.container.remove(),n.setPlayer(h.player),s||(n.init(),s=!0),l.next({player:i.player,config:i.config,statistics:i.statistics});return}throw Error("Can't set. Not find.")}async function f(d){if(!n)throw Error("need to set interactive controller");if(ce(i)||d!==i.itemId)return;let V=n.getChapterBranches(),S=new Set;for(let p of V)S.has(p.media.id)||(await m({media:p.media,chapterId:p.chapter.id,setAsActive:!1,title:p.chapter.label}),S.add(p.media.id))}async function b({chapter:{id:d},manifestVideo:V}){if(ce(i)||!n)return;let S=i.player.info.muted$.getValue(),p=i.player.info.currentQuality$.getValue(),h=i.player.info.isAutoQualityEnabled$.getValue(),y=i.player.info.volume$.getValue(),C=i.player.info.currentPlaybackRate$.getValue(),I=!h,P=!1;for(let w of e.map)if(w[0]===V.id&&!n.state.isReplay$.getValue()){let g=Object.keys(w[1]);for(let R of g)R===i.itemId?(g.length<Zu||(P=!0),e.removePlayer(w[0],R)):(P=!0,c(w[0],R,d),I?Xe(i.player,p):i.player.setAutoQuality(!0),i.player.setVolume(y),i.player.setMuted(S),i.player.setPlaybackRate(C))}else e.removePlayer(w[0]);P||(await m({media:V,chapterId:d,setAsActive:!0,playbackRate:C}),I?Xe(i.player,p):i.player.setAutoQuality(!0),i.player.setVolume(y),i.player.setMuted(S))}async function m({media:d,chapterId:V,prefetch:S=!0,setAsActive:p=!0,autoplay:h=!1,preferredExt:y,title:C,playbackRate:I}){var rt,ri,ii,ni,si;let P=Math.random().toString(),w=document.createElement("div");o.append(w);let g;if((rt=n==null?void 0:n.options)!=null&&rt.vkVideoLoader){let it=pa(d);it.length&&(g=await n.options.vkVideoLoader(...it))}let R=((ri=n==null?void 0:n.options)==null?void 0:ri.coreConfig)||void 0,Z={...R,configName:[...(ii=R==null?void 0:R.configName)!=null?ii:[],"interactive"]},J={container:w,...((ni=g==null?void 0:g.videos)==null?void 0:ni[0])||{sources:zr(d,y).sources},title:C,failoverHosts:(g==null?void 0:g.failoverHosts)||[]},N=new Ca.Player(Z,ne.Tracer.createRootTracer());N.initVideo(J);let W=null;if(g!=null&&g.videos&&(n!=null&&n.options.createOneStat)){let it=g.videos[0],Kt=n.options.createOneStat(it),ai=new ne.Subscription;Kt&&(ai.add(Kt.attachTo(N)),W={oneStat:Kt,statSubscription:ai})}let se=new ne.Subscription,Wt=(si=i==null?void 0:i.player)==null?void 0:si.info.isAutoQualityEnabled$.getValue();se.add(N.events.canplay$.subscribe(function(){Wt||Xe(N,i.player.info.currentQuality$.getValue()),I&&N.setPlaybackRate(I)}));let K=e.createPlayer({listId:d.id,itemId:P,player:N,container:w,sources:zr(d,y).sources,config:J,subscription:se,statistics:W});return p&&c(d.id,K.itemId,V),h&&K.player.play(),S&&!h&&K.player.prepare(),{player:K.player,config:K.config,statistics:K.statistics}}function x(){O(),n=null,o.remove()}function O(){t.unsubscribe(),e.removeAll(),i={},s=!1}async function M(){if(!n)throw Error("need to set interactive controller");O(),o=document.createElement("div");let{media:d,chapter:V}=n.getCurrentChapter();d&&V?(t.add(n.events.chapterChanged$.subscribe(b)),await m({media:d,chapterId:V.id,title:V.label})):console.error("not found")}return{...e,init:M,setInteractiveController:a,createPlayer:m,removeAll:x,getActivePlayer:function(){return i},activePlayerChanged:l}}var A={graph:"graph",interactives:"interactives",chapterChanged:"chapter-changed",playerChanged:"player-changed",manifestChanged:"manifest-changed",errors:"errors",eachTick:"eachTick",historyInited:"history-inited",historyDestroyed:"history-destroyed"},we={visibility:"visibility",watchAgainClicked:"watchAgainClicked"},k={actionChoiceCanceled:"action-choice-canceled",actionChoice:"action-choice",actionExecution:"action-execution",visibility:"visibility",containerRemoved:"container-removed",rangeEnded:"range-ended"};var Ia=Q(Nt(),1),xa=require("@vkontakte/videoplayer-shared/es2018");var _t=class{constructor({player:e,container:t,branches:i,selectBranches:n,interactiveEvents:s,globalEvents:o,globalEventEmitter:l,ignoreContainerEvent:a,permanentTextControls:c,disabledControls$:f,onRemove:b}){this.hide=()=>{setTimeout(()=>{var e,t;this.gameState!==4&&(ue(this.container.container.events)&&this.gameState===3||this.selectBranches.state.isExpect||(this.gameState!==2&&((t=(e=this.container).hide)==null||t.call(e)),this.emitContainerVisibilityEvent(!1)))})};this.show=()=>{var e,t,i,n;if(this.gameState===2&&!this.isSelectedControlEvent)if(this.container.getElement())(n=(i=this.container).show)==null||n.call(i),this.emitContainerVisibilityEvent(!0,!1);else{let o=Os(this.selectBranches.onControlEvent,{isDisabled:()=>this.container.isDisabled,branches:this.branches,containerId:this.container.container.id,onDetachContainer:()=>{this.removeView(),this.emitContainerVisibilityEvent(!1)},onEvent:(l,a)=>{this.isSelectedControlEvent=!0,l!==!1&&(this.removeView(),this.emitContainerVisibilityEvent(!1)),(this.gameState===4||this.gameState===3||this.selectBranches.state.isExpect)&&(this.selectBranches.stopExpect(),a(),this.removeView(),this.emitContainerVisibilityEvent(!1))},isEOV:()=>this.gameState===4});this.container.createView(o),this.emitContainerVisibilityEvent(!0,!0),this.disabledControls$.getValue()&&((t=(e=this.container).disable)==null||t.call(e))}};this.onEndOfVideo=()=>{this.gameState=4,this.selectContainerEvent(!0)};this.whilePlaying=()=>{var c;let e=this.player.experimental.element$.getValue(),i=e instanceof HTMLVideoElement?e.readyState:void 0,n=[6,5];if(!i||(0,Ia.default)(n,this.gameState)&&!this.isPermanentText)return;let s=this.player.getExactTime();if(Rs(s,this.container.container))this.gameState!==1&&(this.gameState=1,this.onBeforeStartTime());else if(qr(s,this.container.container))this.gameState!==2&&(this.gameState=2,this.onStartTime());else if(this.gameState!==3){let f=this.gameState;this.gameState=3,f===2&&this.onEndTime()}else this.isPermanentText||this.removeView();let o=qr(s,this.container.container),l=this.container.container.startTime?[this.container.container.startTime,(c=this.container.container.endTime)!=null?c:1/0]:[],a={subjectId:this.container.container.id,subjectName:"container",range:l,currentTime:s,isInteractiveTime:o};this.globalEventEmitter.emit(A.eachTick,a),this.globalEvents.eachTick$.next(a)};this.container=t,this.branches=i,this.selectBranches=n,this.subscription=new xa.Subscription,this.player=e,this.interactiveEvents=s,this.ignoreContainerEvent=a,this.isPermanentText=c&&pe(t.container.controls),this.disabledControls$=f,this.onRemove=b,this.globalEventEmitter=l,this.gameState=0,this.globalEvents=o,this.isSelectedControlEvent=!1,this.isSelectedContainerEvent=!1,this.registerEvents()}emitContainerVisibilityEvent(e,t=!1){e?(this.globalEventEmitter.emit(A.interactives,{subjectId:this.container.container.id,subjectName:"container",type:k.visibility,visibility:e,isFirst:t}),this.globalEvents.interactiveVisibilityChanged$.next({subjectId:this.container.container.id,subjectName:"container",type:"visibility",visibility:e,isFirst:t})):(this.globalEventEmitter.emit(A.interactives,{subjectId:this.container.container.id,subjectName:"container",type:k.visibility,visibility:!1}),this.globalEvents.interactiveVisibilityChanged$.next({subjectId:this.container.container.id,subjectName:"container",type:"visibility",visibility:e}))}registerEvents(){this.subscription.add(this.player.events.playing$.subscribe(this.show)).add(this.player.events.paused$.subscribe(this.hide)).add(this.player.events.ended$.subscribe(this.onEndOfVideo)).add(this.disabledControls$.subscribe(e=>{var t,i,n,s;e?(i=(t=this.container).disable)==null||i.call(t):(s=(n=this.container).enable)==null||s.call(n)}))}selectContainerEvent(e=!1){var t;this.interactiveEvents.containersEventsCallState.setCalled({timestamp:e?1/0:this.container.container.endTime,id:this.container.container.id}),!(this.isSelectedControlEvent||this.isSelectedContainerEvent)&&(this.isSelectedContainerEvent=!0,this.ignoreContainerEvent()||this.selectBranches.setManifestContainerEvents({container:this.container.container,branches:this.branches,isEOV:e}),!e&&this.interactiveEvents.exec((t=this.container.container.endTime)!=null?t:1/0))}onStartTime(){this.show()}onEndTime(){this.selectContainerEvent(!1);let e=ue(this.container.container.events)||this.ignoreContainerEvent();(this.isSelectedControlEvent||!e)&&this.removeView()}onBeforeStartTime(){var e,t;(t=(e=this.container).hide)==null||t.call(e),this.emitContainerVisibilityEvent(!1)}reset(){this.isSelectedControlEvent=!1,this.isSelectedContainerEvent=!1,this.gameState=1}removeView(){var e;this.container.removeView(),this.globalEventEmitter.emit(A.interactives,{subjectId:this.container.container.id,subjectName:"container",type:k.containerRemoved,visibility:!1}),this.globalEvents.interactiveContainerRemoved$.next({subjectId:this.container.container.id,subjectName:"container",type:"container-removed"}),this.gameState=5,(e=this.onRemove)==null||e.call(this)}destroy(){var e;this.reset(),this.removeView(),this.gameState=6,this.subscription.unsubscribe(),this.branches=[],this.interactiveEvents.containersEventsCallState.setCalled({timestamp:(e=this.container.container.endTime)!=null?e:1/0,id:this.container.container.id})}};var Ta=(r=[])=>r.reduce((e,t,i)=>{var s,o,l;let n=((s=t==null?void 0:t.controls)!=null?s:[]).filter(a=>!ze(a));if(Lt(n)){let a=[(o=t.startTime)!=null?o:0,(l=t.endTime)!=null?l:1/0],c=t.id;if(!i)e.push({subjects:[c],range:a});else{let f=[],b=-1/0,m=1/0,x=[],O=[];for(let M=0;M<e.length;M++){let d=e[M];if(O.push(...d.subjects),d.range[0]<m&&(m=d.range[0]),d.range[1]>b&&(b=d.range[1]),a[0]>=d.range[0]&&a[1]<=d.range[1])return e[M].subjects.push(c),e;a[0]<d.range[0]&&a[1]>d.range[0]&&(f.push(M),x=x.concat(d.subjects)),a[0]>=d.range[0]&&a[0]<=d.range[1]&&(f.push(M),x=x.concat(d.subjects),a[0]=d.range[0]),a[1]>=d.range[0]&&a[1]<=d.range[1]&&(f.push(M),x=x.concat(d.subjects),a[1]=d.range[1])}if(O.push(c),a[0]<=m&&a[1]>=b)return[{subjects:O,range:a}];f.length&&f.reverse().forEach(M=>{e.splice(M,1)}),e.push({subjects:x.concat([c]),range:a})}}return e},[]).sort((e,t)=>e.range[0]-t.range[0]);var so=Q(Nt(),1),Xr=Q($t(),1),ao=Q(io(),1);function no(){let r={};function e(){for(let l in r)Object.prototype.hasOwnProperty.call(r,l)&&delete r[l]}function t(l){let a={};for(let c in r)+c<=l&&(a[c]=r[c]);return a}function i(l){let a={};for(let c in r)+c>=l&&(a[c]=r[c]);return a}function n({timestamp:l,priority:a,initiator:c}){var f;if(Vr(l)){let b=(f=r[l])!=null?f:null;if(b&&a&&He(a,!0)){let m={},x=b[a];if(x&&(m={...m,...x}),m=ce(m)?null:m,m&&He(c,!0)){let O=m[c];return O!=null?O:null}return m}return b}return null}function s({timestamp:l,priority:a,initiator:c}){if(Vr(l))if(r[l]){if(a&&He(a,!0))if(r[l][a]){if(c&&He(c,!0))if(r[l][a][c]){if(delete r[l][a][c],!ce(r[l][a]))return!0}else return!1;if(delete r[l][a],!ce(r[l]))return!0}else return!1;return delete r[l]}else return!1;return!1}function o({timestamp:l,priority:a,initiator:c,...f}){var b,m,x;(m=(b=r[l])==null?void 0:b[a])!=null&&m[c]?r[l][a][c].push({...f}):(x=r[l])!=null&&x[a]?r[l][a]={...r[l][a],[c]:[{...f}]}:r[l]?r[l]={...r[l],[a]:{[c]:[{...f}]}}:r[l]={[a]:{[c]:[{...f}]}}}return{map:r,remove:s,add:o,removeAll:e,get:n,getLte:t,getGte:i}}var qp=[v.EventActionTypes.expect,v.EventActionTypes.setNextBranch],Bp=1/0;function oo(r){let e=r,t,i=Dp(),n=no(),s,o=()=>{m(),V()},l=S=>{n.add.call(void 0,S),O()},a=(S=[])=>{for(let p of S)if(p.action(),(0,so.default)(qp,p.actionType))break},c=(S=1/0)=>{var C,I,P;let p=qt((C=n.get({timestamp:S,priority:"control"}))!=null?C:{}),h=qt((I=n.get({timestamp:S,priority:"container"}))!=null?I:{}),y=qt((P=n.get({timestamp:S,priority:"chapter"}))!=null?P:{});return[...p,...h,...y]},f=S=>{i.isReady(S)&&a(c(S))},b=()=>{var S;a([...qt((S=n.get({timestamp:1/0,priority:"chapter"}))!=null?S:{})])},m=()=>{t&&(s==null||s.unsubscribe(),t=void 0)},x=S=>{},O=()=>{t||(t=()=>setTimeout(()=>{f(1/0)}),s=e.events.ended$.subscribe(t))},M=S=>{m(),e=S},d=S=>{S.priority==="container"&&i.resetCalled(S.timestamp),n.remove(S)},V=()=>{i.release(),n.removeAll()};return{setPlayer:M,add:l,remove:d,exec:f,execEndOfVideo:b,listen:O,unlisten:m,release:o,containersEventsCallState:i,getPreparedToExecActions:c}}function Dp(){let r=new Map;return{setCalled:({timestamp:o,id:l})=>{let a=r.get(o);a&&a[l]!==void 0&&(a[l]=!0)},setData:(o=[])=>{var l,a;for(let c of o){let f=(l=c.endTime)!=null?l:Bp,b=(a=r.get(f))!=null?a:{};r.set(f,{...b,[c.id]:!1})}},resetCalled:o=>{let l=r.get(o);if(l)for(let a in l)l[a]=!1},isReady:o=>{let l=r.get(o);return l?!(0,Xr.default)(l).some(a=>!a):!0},release:()=>r.clear()}}function qt(r){return(0,ao.default)((0,Xr.default)(r)).sort(e=>e.actionType===v.EventActionTypes.expect?-1:1)}var lo={videoContentHeight:0,videoContentWidth:0},co=(r,e)=>{let{height:t,width:i}=e.info.intrinsicVideoSize$.getValue()||{};if(!(t&&i))return lo;let{clientHeight:n,clientWidth:s}=e.experimental.element$.getValue()||{};if(!(n&&s))return lo;let o=t/i,l=n/s,a,c;return l>o?(c=s,a=s*o):l<o?(c=n/o,a=n):(c=s,a=n),{videoContentWidth:c,videoContentHeight:a}};var Hp=250;function uo(r){let e=()=>{},t=new ResizeObserver(l=>{s(l),e=s.bind(null,l)});function i(l){let{parentElement:a,player:c}=r();if(a&&c){let{videoContentWidth:f,videoContentHeight:b}=co(a,c);a.style.setProperty("--interactive-content-width",`${f}px`),a.style.setProperty("--interactive-content-height",`${b}px`),a.style.setProperty("--interactive-width",`${l[0].contentRect.width}px`),a.style.setProperty("--interactive-height",`${l[0].contentRect.height}px`)}}function n(){let{parentElement:l}=r();l.removeAttribute("style")}let s=Be(l=>{let{fns:a=[]}=r();i(l);for(let c of a)c()},Hp);function o(){e=void 0,t.disconnect(),n()}return{resizeObserver:t,calc:()=>{e==null||e()},release:o}}var Je=class{constructor(){this.map={}}push(e,t){e in this.map?this.map[e].push(t):this.map[e]=[t]}get(e){let t=this.map[e];return t?t.slice():null}getAll(){let e=[];for(let t in this.map)e.concat(this.map[t]);return e}remove(e,t){e in this.map&&(this.map[e]=this.map[e].filter(i=>i!==t),this.map[e].length===0&&delete this.map[e])}clear(){this.map={}}keys(){return Object.keys(this.map)}size(){return this.keys().length}};var Gp=r=>Math.floor(Math.random()*r),ho=r=>{var n;let e=r.length,t=1/0,i=null;for(;e--;){let s=r[e],o=(n=s.weight)!=null?n:1;o<t&&(t=o,i=s)}return i},fo=r=>{var n;let e=r.length,t=-1/0,i=null;for(;e--;){let s=r[e],o=(n=s.weight)!=null?n:0;o>t&&(t=o,i=s)}return i};var mo=r=>{let e=r.length,t=Gp(e);return r[t]},po=1,yo=r=>{var i,n;let e=0;for(let s=0;s<r.length;++s)e+=(i=r[s].weight)!=null?i:po;let t=Math.random()*e;e=0;for(let s=0;s<r.length-1;++s)if(e+=(n=r[s].weight)!=null?n:po,e>=t)return r[s];return r[r.length-1]};var vo={shouldOpenNow:!0,isDetachContainer:!0},bo="after-expect";var Zr=(r,e=!1)=>({...r,args:e?{...r.args,...vo}:{...vo,...r.args}}),Eo=({globalEventEmitter:r,globalEvents:e,player:t,interactiveEvents:i,removeControllers:n})=>{let s={isExpect:!1},o=()=>{s.isExpect&&(s.isExpect=!1)},l=({action:p,controlType:h,controlId:y,containerId:C,branches:I=[],onEvent:P,isEOV:w=()=>!1,isDisabled:g=()=>!1})=>{let R=Zr(p,w()),Z={timestamp:1/0,priority:"control",initiator:y,actionType:R.type},J=g(),N=r.emit.bind(r,A.interactives,{subjectId:y,subjectType:h,subjectName:"control",type:J?k.actionChoiceCanceled:k.actionChoice,actionType:p.type,payload:{containerId:C,...R.args}}),W=()=>{e.interactiveActionChoice$.next({subjectId:y,subjectType:h,subjectName:"control",type:J?"action-choice-canceled":"action-choice",actionType:p.type,payload:{containerId:C,...R.args}})};if(J){N(),W();return}switch(R.type.trim().toLowerCase()){case v.EventActionTypes.setNextBranch.trim().toLowerCase():{let K=I.find(rt=>rt.id===R.args.branchId);if(!K)return;P(R.args.isDetachContainer,O.bind(null,{subjectId:y,subjectName:"control"})),N(),W(),R.args.shouldOpenNow?d({subjectId:y,subjectName:"control",subjectType:h,action:R,payload:{chapterId:K.chapterId,autoSelect:!1}}):(i.add({...Z,action:d.bind(null,{subjectId:y,subjectName:"control",subjectType:h,action:R,payload:{chapterId:K.chapterId,autoSelect:!1}})}),n==null||n());return}case v.EventActionTypes.continuePlayback.trim().toLowerCase():{P(R.args.isDetachContainer,O.bind(null,{subjectId:y,subjectName:"control"})),N(),W(),R.args.shouldOpenNow?M({subjectId:y,subjectName:"control",subjectType:h,action:p}):i.add({...Z,action:M.bind(null,{subjectId:y,subjectName:"control",subjectType:h,action:p})});return}case v.EventActionTypes.openURI.trim().toLowerCase():{P(R.args.isDetachContainer,O.bind(null,{subjectId:y,subjectName:"control"})),N(),W(),R.args.shouldOpenNow?S({subjectId:y,subjectName:"control",subjectType:h,action:R,payload:{URI:p.args.uri}}):(i.add({...Z,action:S.bind(null,{subjectId:y,subjectName:"control",subjectType:h,action:R,payload:{URI:p.args.uri}})}),n==null||n());return}default:let se="Unexpected control event",Wt=new L(1,1,{message:se});b(Wt,se);return}},a=({action:p,container:{id:h,endTime:y},branches:C=[],isEOV:I=!1,autoSelected:P=!1})=>{let w=Zr(p,I),g={timestamp:!w.args.shouldOpenNow||I?1/0:y!=null?y:1/0,priority:"container",initiator:h,actionType:w.type},R=r.emit.bind(r,A.interactives,{subjectId:h,subjectName:"container",type:k.actionChoice,actionType:w.type,payload:w.args}),Z=()=>{e.interactiveActionChoice$.next({subjectId:h,subjectName:"container",type:"action-choice",actionType:w.type,payload:w.args})};switch(w.type.trim().toLowerCase()){case v.EventActionTypes.setNextBranch.trim().toLowerCase():{let W=C.find(se=>se.id===w.args.branchId);if(!W)return;R(),Z(),i.add({...g,action:d.bind(null,{subjectId:h,subjectName:"container",action:w,payload:{chapterId:W.chapterId,autoSelect:P}})}),n==null||n();return}case v.EventActionTypes.setMaxWeightBranch.trim().toLowerCase():return;case v.EventActionTypes.setMinWeightBranch.trim().toLowerCase():return;case v.EventActionTypes.setRandomBranch.trim().toLowerCase():return;case v.EventActionTypes.setWeightlessRandomBranch.trim().toLowerCase():return;case v.EventActionTypes.continuePlayback.trim().toLowerCase():{R(),Z(),i.add({...g,action:M.bind(null,{subjectId:h,subjectName:"container",action:w})});return}case v.EventActionTypes.openURI.trim().toLowerCase():{R(),Z(),i.add({...g,action:S.bind(null,{subjectId:h,subjectName:"container",action:w,payload:{URI:p.args.uri}})}),n==null||n();return}default:let J="Unexpected container event",N=new L(1,1,{message:J});b(N,J);return}};function c({container:p,branches:h,isEOV:y=!1}){var I,P;let C=Br(p.events);if(C){let w=Zr(C.action,y);r.emit(A.interactives,{subjectId:p.id,subjectName:"container",type:k.actionChoice,actionType:w.type,payload:w.args}),e.interactiveActionChoice$.next({subjectId:p.id,subjectName:"container",type:"action-choice",actionType:w.type,payload:w.args}),i.add({timestamp:y?1/0:(I=p.endTime)!=null?I:1/0,priority:"container",initiator:p.id,actionType:v.EventActionTypes.expect,action:x.bind(null,{subjectId:p.id,subjectName:"container"})}),s.isExpect=!0}else for(let w of(P=p.events)!=null?P:[])a({action:w.action,container:p,branches:h,isEOV:y})}let f=({chapterId:p,action:h,branches:y=[]})=>{let C=r.emit.bind(r,A.interactives,{subjectId:p,subjectName:"chapter",type:k.actionChoice,actionType:h.type,payload:h.args}),I=()=>{e.interactiveActionChoice$.next({subjectId:p,subjectName:"chapter",type:"action-choice",actionType:h.type,payload:h.args})};switch(h.type.trim().toLowerCase()){case v.EventActionTypes.setNextBranch.trim().toLowerCase():{let g=y.find(R=>R.id===h.args.branchId);return g!=null&&g.chapterId?(C(),I(),d.bind(null,{subjectId:p,subjectName:"chapter",action:h,payload:{chapterId:g.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.setWeightlessRandomBranch.trim().toLowerCase():{let g=mo(y);return g!=null&&g.chapterId?(C(),I(),d.bind(null,{subjectId:p,subjectName:"chapter",action:h,payload:{chapterId:g.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.setRandomBranch.trim().toLowerCase():{let g=yo(y);return g!=null&&g.chapterId?(C(),I(),d.bind(null,{subjectId:p,subjectName:"chapter",action:h,payload:{chapterId:g.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.setMaxWeightBranch.trim().toLowerCase():{let g=fo(y);return g!=null&&g.chapterId?(C(),I(),d.bind(null,{subjectId:p,subjectName:"chapter",action:h,payload:{chapterId:g.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.setMinWeightBranch.trim().toLowerCase():{let g=ho(y);return g!=null&&g.chapterId?(C(),I(),d.bind(null,{subjectId:p,subjectName:"chapter",action:h,payload:{chapterId:g.chapterId,autoSelect:!0}})):void 0}case v.EventActionTypes.continuePlayback.trim().toLowerCase():return C(),I(),M.bind(null,{subjectId:p,subjectName:"chapter",action:h});case v.EventActionTypes.openURI.trim().toLowerCase():return C(),I(),S.bind(null,{subjectId:p,subjectName:"chapter",action:h,payload:{URI:h.args.uri}});default:let P="Unexpected chapter event",w=new L(1,1,{message:P});b(w,P);return}};function b(p,h){console.error(h),e.error$.next(p),r.emit(A.errors,p)}function m(p){var y;let h=Br(p.events);if(h){if(z(p))return;r.emit(A.interactives,{subjectId:p.id,subjectName:"chapter",type:k.actionChoice,actionType:h.action.type,payload:h.action.args}),e.interactiveActionChoice$.next({subjectId:p.id,subjectName:"chapter",type:"action-choice",actionType:h.action.type,payload:h.action.args}),i.add({timestamp:1/0,priority:"chapter",initiator:p.id,actionType:v.EventActionTypes.expect,action:x.bind(null,{subjectId:p.id,subjectName:"chapter"})})}else(y=p.events)==null||y.forEach(C=>{let I=f({chapterId:p.id,action:C.action,branches:p.branches});I&&i.add({timestamp:1/0,priority:"chapter",initiator:p.id,actionType:C.action.type,action:I})})}let x=({subjectId:p,subjectName:h})=>{t.pause(),r.emit(A.interactives,{subjectId:p,subjectName:h,type:k.actionExecution,actionType:v.EventActionTypes.expect}),e.interactiveActionExecution$.next({subjectId:p,subjectName:h,type:"action-execution",actionType:v.EventActionTypes.expect})},O=({subjectId:p,subjectName:h})=>{t.info.isEnded$.getValue()?i.execEndOfVideo():t.play(),r.emit(A.interactives,{subjectId:p,subjectName:h,type:k.actionExecution,actionType:bo}),e.interactiveActionExecution$.next({subjectId:p,subjectName:h,type:"action-execution",actionType:bo})},M=({subjectId:p,subjectName:h,subjectType:y,action:C})=>{r.emit(A.interactives,{subjectId:p,subjectName:h,subjectType:y,type:k.actionExecution,actionType:C.type}),e.interactiveActionExecution$.next({subjectId:p,subjectName:h,subjectType:y,type:"action-execution",actionType:C.type})},d=({subjectId:p,subjectName:h,subjectType:y,action:C,payload:I})=>{I.behaviour="change-chapter",r.emit(A.interactives,{subjectId:p,subjectName:h,subjectType:y,type:k.actionExecution,actionType:C.type,payload:I}),e.interactiveActionExecution$.next({subjectId:p,subjectName:h,subjectType:y,type:"action-execution",actionType:C.type,payload:I})},V=({subjectId:p,subjectName:h,subjectType:y,action:C,payload:I})=>{I.behaviour="change-manifest",r.emit(A.interactives,{subjectId:p,subjectName:h,subjectType:y,type:k.actionExecution,actionType:C.type,payload:I}),e.interactiveActionExecution$.next({subjectId:p,subjectName:h,subjectType:y,type:"action-execution",actionType:C.type,payload:I})},S=({subjectId:p,subjectName:h,subjectType:y,action:C,payload:I})=>{if(!I.URI)return;let P=window.open(I.URI,"_blank","noopener,noreferrer");P&&(P.opener=null),r.emit(A.interactives,{subjectId:p,subjectName:h,subjectType:y,type:k.actionExecution,actionType:C.type}),e.interactiveActionExecution$.next({subjectId:p,subjectName:h,subjectType:y,type:"action-execution",actionType:C.type})};return{onControlEvent:l,onContainerEvent:a,onChapterEvent:f,onExpectEvent:x,expectEventHandler:O,setManifestChapterEvents:m,setManifestContainerEvents:c,stopExpect:o,state:s}};var ti=Q(kr(),1),H=require("@vkontakte/videoplayer-shared/es2018");var Bt=(r,e)=>{let t={};return r.map(i=>{if(!t[i]){let n=e.chapters.find(o=>o.id===i);if(!n)return null;let s=e.media.videos.find(o=>n.videoId===o.id);if(!s)return null;t[i]=Jr(s)}return t[i]}).filter(Boolean)},Io=r=>{for(let e of r.variants)if(xo(e)&&e.payload)return e.payload.id},xo=r=>!!(r.type==="custom"&&r.payload&&r.payload.type==="vk"),Jr=r=>{let e=Io(r);if(!e)return null;let t=e.split("_").pop();return t?parseInt(t,10):null},To=(r,e)=>{for(let t of r.media.videos)if(e===Jr(t)){for(let i of r.chapters)if(i.videoId===t.id)return i.id;return}},ei=(r,e)=>r.reduce((t,i)=>{let n=To(e,i);return n?[...t,n]:t},[]);var te,de,fe,D,Dt,re,ie,X,me,Ae,Re,et=class{constructor({globalEventEmitter:e,videoId:t,interactiveController:i,historyApi:n,settings:s}){this.state={history$:new H.ValueSubject([]),hasPrevChapter$:new H.ValueSubject(!1),prevChapter$:new H.ValueSubject(null),isInitialChapter$:new H.ValueSubject(!1),isGoBackLimited$:new H.ValueSubject(!1)};F(this,te,null);F(this,de);F(this,fe,!1);F(this,D,null);F(this,Dt,null);this.events={inited$:new H.Subject,destroyed$:new H.Subject,error$:new H.Subject};F(this,re,null);F(this,ie,null);F(this,X,null);F(this,me,new H.Subscription);F(this,Ae,!1);F(this,Re,0);var o;j(this,re,t),j(this,X,e),j(this,ie,i),j(this,te,n),j(this,de,s),this.state.history$&&T(this,me)&&((o=T(this,me))==null||o.add(this.state.history$.subscribe(l=>{var a,c;this.state.prevChapter$.next((0,ti.default)(l,-2)||null),this.state.hasPrevChapter$.next(l.length>1),this.state.isInitialChapter$.next(this.getInitialChapterId()===((c=(a=T(this,D))==null?void 0:a.metadata)==null?void 0:c.initChapterId)),this.state.isGoBackLimited$.next(T(this,Re)===T(this,de).maxLength-1)})))}async setManifest(e){if(!T(this,ie)||!T(this,X))return;j(this,D,e),await this.getProjectHistory();let t=this.getInitialChapterId();await T(this,ie).setChapter({chapterId:t,pushToHistory:!1}),T(this,fe)||(j(this,fe,!0),this.events.inited$.next({initChapterId:t}))}get inited(){return T(this,fe)}async updateHistory(e,t=!0){var l;if(!T(this,D))return;T(this,Ae)?(j(this,Ae,!1),ui(this,Re)._++):j(this,Re,0);let i=T(this,D),n=e.length-T(this,de).maxLength,s=n>0?e.slice(n):e,o=Bt(s,i);if(j(this,Dt,o),this.state.history$.next(s),!(!t||!T(this,te)||!T(this,re)))try{await T(this,te).save(T(this,re),o)}catch(a){let c=new L(1,5,"Unable to save interactive history");this.events.error$.next(c),(l=T(this,X))==null||l.emit(A.errors,c)}}async goBack(){var i;if(!this.state||!T(this,ie)){let n=new L(1,5,"Unable to save interactive history");return this.events.error$.next(n),(i=T(this,X))==null?void 0:i.emit(A.errors,n)}j(this,Ae,!0);let e=this.state.history$.getValue().slice(0,-1),t=e.pop();this.state.history$.next(e),await T(this,ie).setChapter({chapterId:t,playPrev:!0})}async getProjectHistory(){var n;if(!T(this,D)||!T(this,re))return;let e=T(this,D),t=[this.getInitialVideoId()];if(T(this,te))try{let s=await T(this,te).get(T(this,re));s.length&&(t=s)}catch(s){let o=new L(1,5,"Error while trying to fetch data");this.events.error$.next(o),(n=T(this,X))==null||n.emit(A.errors,o)}let i=ei(t,e);this.state.history$.next(i)}getInitialChapterId(){var t;let e=this.state.history$.getValue();return(0,ti.default)(e,-1)||T(this,de).initChapterId||((t=T(this,D))==null?void 0:t.metadata.initChapterId)}getInitialVideoId(){if(T(this,D)){let e=this.getInitialChapterId();return Bt([e],T(this,D)).pop()}return null}destroy(){var e,t;j(this,re,null),j(this,te,null),j(this,ie,null),(e=T(this,me))==null||e.unsubscribe(),j(this,me,null),j(this,fe,!1),(t=T(this,X))==null||t.emit(A.historyDestroyed),this.events.destroyed$.next(),j(this,X,null)}};te=new WeakMap,de=new WeakMap,fe=new WeakMap,D=new WeakMap,Dt=new WeakMap,re=new WeakMap,ie=new WeakMap,X=new WeakMap,me=new WeakMap,Ae=new WeakMap,Re=new WeakMap;var ye=class ye{constructor(e,t,i,n){this.target=e,this.type=t,this.listener=i,this.options=ye._convertOptions(e,n),this.target.addEventListener(t,i,this.options)}unlisten(){var e;this.type&&this.listener&&this.options&&((e=this.target)==null||e.removeEventListener(this.type,this.listener,this.options)),this.target=null,this.type=null,this.listener=null,this.options=!1}static _convertOptions(e,t){if(t===void 0)return!1;if(typeof t=="boolean")return t;{let i=new Set(["passive","capture"]),n=Object.keys(t).filter(o=>!i.has(o));return n.length===0&&console.warn("Unsupported flag(s) to addEventListener: "+n.join(",")),ye._doesSupportObject(e)?t:t.capture||!1}}static _doesSupportObject(e){let t=ye._supportsObject;if(t===void 0){t=!1;try{let i={},n={get:()=>(t=!0,!1)};Object.defineProperty(i,"passive",n),Object.defineProperty(i,"capture",n);let s=()=>{};e.addEventListener("test",s,i),e.removeEventListener("test",s,i)}catch(i){t=!1}ye._supportsObject=t}return t||!1}};ye._supportsObject=void 0;var Ht=ye;var Gt=class{constructor(){this.bindingMap=new Je}release(){this.removeAll(),this.bindingMap=null}listen(e,t,i,n){if(!this.bindingMap)return;let s=new Ht(e,t,i,n);this.bindingMap.push(t,s)}listenOnce(e,t,i,n){let s=o=>{this.unlisten(e,t,s),i(o)};this.listen(e,t,s,n)}unlisten(e,t,i){if(!this.bindingMap)return;let n=this.bindingMap.get(t)||[];for(let s of n)s.target===e&&(i===s.listener||!i)&&(s.unlisten(),this.bindingMap.remove(t,s))}removeAll(){if(!this.bindingMap)return;let e=this.bindingMap.getAll();for(let t of e)t.unlisten();this.bindingMap.clear()}};var Ut=class{constructor(){this._prevSizeId=0;this.rootElement=document.createElement("canvas")}clear(){var e;(e=this.rootElement.getContext("2d"))==null||e.clearRect(0,0,this.rootElement.width,this.rootElement.height)}isImageDrawn(){var n;let e=(n=this.rootElement.getContext("2d"))==null?void 0:n.getImageData(0,0,this.rootElement.width,this.rootElement.height);if(!e)return!1;let t=e.data,i=t.length;for(let s=3;s<i;s+=40)if(t[s]!==0)return!0;return!1}destroy(){this.rootElement.remove()}show(){this.rootElement.style.visibility="visible"}hide(){this.rootElement.style.visibility="hidden"}setCanvasImageSource(e){this.canvasImgSrc=e}draw(){var e;this.canvasImgSrc&&((e=this.rootElement.getContext("2d"))==null||e.drawImage(this.canvasImgSrc,0,0,this.rootElement.width,this.rootElement.height))}async updateCanvasDimensions(e,t=!1){let i=e.width+e.height;if(this._prevSizeId===i)return;let n;t&&(n=await this.save()),this.rootElement.width=e.width,this.rootElement.height=e.height,t&&n&&this.restore(n),this._prevSizeId=i}async save(){let e=this.rootElement.toDataURL("image/jpeg",1),t=new Image;return t.crossOrigin="anonymous",t.src=e,await t.decode(),t}restore(e){var t;this.rootElement&&((t=this.rootElement.getContext("2d"))==null||t.drawImage(e,0,0,this.rootElement.width,this.rootElement.height))}};var zt=class{constructor({parentElement:e,endOffsetMs:t=250,onError:i}){this.currentVideoDurationMs=1/0;this._containerTimeFrameShouldReceived=!1;this._endTimeFrameReceived=!1;this._shouldCallSkip=!1;this.onEachTick=e=>{let t=e!=null?e:this.lastFrameCanvas.canvasImgSrc.currentTime*1e3,i=this.isChapterEndTime(t);if(this.isContainerTime(t))this._endTimeFrameReceived=!1,this._containerTimeFrameShouldReceived=!0,this._shouldCallSkip=!0;else if(i)this._containerTimeFrameShouldReceived=!1,this._shouldCallSkip=!1,this._endTimeFrameReceived||(this.draw(),this._endTimeFrameReceived=!0,this.show());else{if(this._shouldCallSkip){this._shouldCallSkip=!1;return}this.reset()}};this.onSeek=()=>{this.onEachTick(),!this._containerTimeFrameShouldReceived&&!this._endTimeFrameReceived&&(this.hide(),this.lastFrameCanvas.clear())};this.rootElement=document.createElement("div"),this.rootElement.style.cssText=`
7
7
  position: absolute;
8
8
  top: 0;
9
9
  left: 0;
@@ -11,13 +11,13 @@
11
11
  height: var(--interactive-height);
12
12
  background-color: var(--black);
13
13
  visibility: hidden;
14
- `,this.lastFrameCanvas=new Ht,this.endOffsetMs=t,this._callbacks={onError:i},this.lastFrameCanvas.rootElement.style.cssText=`
14
+ `,this.lastFrameCanvas=new Ut,this.endOffsetMs=t,this._callbacks={onError:i},this.lastFrameCanvas.rootElement.style.cssText=`
15
15
  position: absolute;
16
16
  top: 50%;
17
17
  left: 50%;
18
18
  transform: translate(-50%, -50%);
19
- `,this.rootElement.prepend(this.lastFrameCanvas.rootElement),e.prepend(this.rootElement)}destroy(){this.hide(),this.reset(),this._callbacks=void 0,this.lastFrameCanvas.destroy(),this.rootElement.remove()}setVideoDuration(e){this.currentVideoDurationMs=e}setVideoElement(e){this.lastFrameCanvas.setCanvasImageSource(e)}setCurrentChapter(e){this.currentChapter=e}show(){this.rootElement.style.visibility="visible"}hide(){this.rootElement.style.visibility="hidden"}async updateCanvasDimensions(e=!1){this._containerTimeFrameShouldReceived||this._endTimeFrameReceived||(e=!1);let t=getComputedStyle(this.rootElement),i={width:parseInt(t.getPropertyValue("--interactive-content-width"),10),height:parseInt(t.getPropertyValue("--interactive-content-height"),10)};try{this.lastFrameCanvas.updateCanvasDimensions(i,e)}catch(n){this._onError(n)}}draw(){(this._containerTimeFrameShouldReceived||!this._containerTimeFrameShouldReceived&&!this._endTimeFrameReceived)&&this.lastFrameCanvas.draw()}isChapterEndTime(e){return this.currentVideoDurationMs&&e>=this.currentVideoDurationMs-this.endOffsetMs}isContainerTime(e){if(this.currentChapter)return this.currentChapter.containers.some(t=>{var i,n,a;return((i=t.controls)==null?void 0:i.length)&&e>=((n=t.startTime)!=null?n:0)&&e<=Math.min((a=t.endTime)!=null?a:1/0,this.currentVideoDurationMs-this.endOffsetMs)})}reset(){this._endTimeFrameReceived=!1,this._containerTimeFrameShouldReceived=!1,this._shouldCallSkip=!1}_onError(e){var t,i;(i=(t=this._callbacks)==null?void 0:t.onError)==null||i.call(t,e)}};function Ro(r=0){return new Promise(e=>{setTimeout(()=>{e(0)},r)})}var Po=Object.freeze({lang:I.InterfaceLanguage.RU,loaders:{},graph:!1,initSeamless:!1,lastFrame:!1,permanentTextControls:!0,config:{historyMaxLength:100,noInteractionEventTimeout:3e4}});function th(){let r=document.createElement("div");return r.style.cssText=`
19
+ `,this.rootElement.prepend(this.lastFrameCanvas.rootElement),e.prepend(this.rootElement)}destroy(){this.hide(),this.reset(),this._callbacks=void 0,this.lastFrameCanvas.destroy(),this.rootElement.remove()}setVideoDuration(e){this.currentVideoDurationMs=e}setVideoElement(e){this.lastFrameCanvas.setCanvasImageSource(e)}setCurrentChapter(e){this.currentChapter=e}show(){this.rootElement.style.visibility="visible"}hide(){this.rootElement.style.visibility="hidden"}async updateCanvasDimensions(e=!1){this._containerTimeFrameShouldReceived||this._endTimeFrameReceived||(e=!1);let t=getComputedStyle(this.rootElement),i={width:parseInt(t.getPropertyValue("--interactive-content-width"),10),height:parseInt(t.getPropertyValue("--interactive-content-height"),10)};try{this.lastFrameCanvas.updateCanvasDimensions(i,e)}catch(n){this._onError(n)}}draw(){(this._containerTimeFrameShouldReceived||!this._containerTimeFrameShouldReceived&&!this._endTimeFrameReceived)&&this.lastFrameCanvas.draw()}isChapterEndTime(e){return this.currentVideoDurationMs&&e>=this.currentVideoDurationMs-this.endOffsetMs}isContainerTime(e){if(this.currentChapter)return this.currentChapter.containers.some(t=>{var i,n,s;return((i=t.controls)==null?void 0:i.length)&&e>=((n=t.startTime)!=null?n:0)&&e<=Math.min((s=t.endTime)!=null?s:1/0,this.currentVideoDurationMs-this.endOffsetMs)})}reset(){this._endTimeFrameReceived=!1,this._containerTimeFrameShouldReceived=!1,this._shouldCallSkip=!1}_onError(e){var t,i;(i=(t=this._callbacks)==null?void 0:t.onError)==null||i.call(t,e)}};function So(r=0){return new Promise(e=>{setTimeout(()=>{e(0)},r)})}var wo=Object.freeze({lang:E.InterfaceLanguage.RU,loaders:{},graph:!1,initSeamless:!1,lastFrame:!1,permanentTextControls:!0,config:{historyMaxLength:100,noInteractionEventTimeout:3e4}});function zp(){let r=document.createElement("div");return r.style.cssText=`
20
20
  position: absolute;
21
21
  top: 0;
22
22
  left: 0;
23
- `,r}var et=class{constructor(e){this.subscription=new I.Subscription;this.globalEventEmitter=new wt;this.animation=new _t;this.eventManager=new Dt;this.seekToInteractiveController=new Ge;this.endedRanges=new Set;this.gameControllers=[];this.rootElement=th();this.factories=new Map([["choice",ht]]);this.isFirstChapterFetched=!1;this.player=null;this.interactiveEvents=null;this.selectBranches=null;this.seamlessController=null;this.seamlessControllerSubs=new I.Subscription;this.graph=null;this.lastFrame=null;this.appState=0;this.state={prevChapter$:new I.ValueSubject(null),isInitialChapter$:new I.ValueSubject(!1),isFirstChapter$:new I.ValueSubject(!0),isEndChapter$:new I.ValueSubject(!1),isInteractiveExpectation$:new I.ValueSubject(!1),isReplay$:new I.ValueSubject(!1),calledByInteractive$:new I.ValueSubject(!1),lastChapterChangeWasInitiatedByInteractive$:new I.ValueSubject(!1),disabledControls$:new I.ValueSubject(!1),interactiveRanges$:new I.ValueSubject([]),isInteractiveTime$:new I.ValueSubject(!1),statistics$:new I.ValueSubject(null),isSeekable$:new I.ValueSubject(!1)};this.events={noInteraction$:new I.Subject,graphVisibilityChanged$:new I.Subject,watchAgainIsClicked$:new I.Subject,chapterChanged$:new I.Subject,playerChanged$:new I.Subject,error$:new I.Subject,eachTick$:new I.Subject,manifestChanged$:new I.Subject};this.clearHistoryIfEnded=()=>{var n;let e=(n=this.player)==null?void 0:n.info.isEnded$.getValue(),t=this.state.isInteractiveExpectation$.getValue(),{chapter:i}=this.getCurrentChapter();e&&i&&U(i)&&!t&&this.historyController.updateHistory([]),window.removeEventListener("beforeunload",this.clearHistoryIfEnded)};this.handleSeamlessPlayerChanged=e=>{if(!e)return;let{statistics:t,...i}=e;if(t){let{statSubscription:n,oneStat:a}=t;n.add(a.attachToInteractive(this.getStatEvents())),this.state.statistics$.next(t)}this.state.isReplay$.getValue()&&this.state.isReplay$.next(!1),this.events.playerChanged$.next(i),this.globalEventEmitter.emit(b.playerChanged,i)};this.onPlaybackStarted=()=>{var e;(e=this.resizeManager)==null||e.calc(),this.animation.requestAnimation()};this.removeControllers=(e=!0)=>{this.gameControllers.forEach(t=>{!e&&t.isPermanentText||(this.animation.removeFn(t.whilePlaying),t.destroy())})};this.completeInteractiveRange=e=>{let{interactiveRanges$:t}=this.state,n=t.getValue().map(a=>({...a,subjects:a.subjects.filter(o=>o!==e)}));t.next(n)};this.clearNoInteractionTimeout=()=>{this.noInteractionTimeout&&(clearTimeout(this.noInteractionTimeout),this.noInteractionTimeout=void 0)};var t;this._options={...Po,...e,config:{...Po.config,...e.config}},this._options.parentElement.append(this.rootElement),this.historyController=new Je({interactiveController:this,globalEventEmitter:this.globalEventEmitter,videoId:(t=this._options.projectInfo)==null?void 0:t.videoId,historyApi:this._options.historyApi,settings:{maxLength:this._options.config.historyMaxLength,initChapterId:this._options.initChapterId}}),this._options.lastFrame&&(this.lastFrame=new Gt({parentElement:this._options.parentElement,onError:i=>this.globalEventEmitter.emit(b.errors,new V(1,6,i))})),this.eventManager.listen(this.rootElement,"mousedown",i=>i.stopPropagation()),this.eventManager.listen(this.rootElement,"mouseup",i=>i.stopPropagation()),this.manifestController=new le(this._options.loaders,i=>this.globalEventEmitter.emit(b.errors,new V(1,3,i))),this.resizeManager=go(()=>{var i,n;return{player:this.player,parentElement:(i=this._options)==null?void 0:i.parentElement,fns:(n=this._options)!=null&&n.lastFrame?[()=>{var a;(a=this.lastFrame)==null||a.updateCanvasDimensions(!0)}]:[]}}),this._options.graph&&(this.graph=new He({root:this._options.parentElement,lang:this._options.lang,onOpenPreviewClick:i=>{this.setChapter({chapterId:i}),this.globalEventEmitter.emit(b.graph,{type:Se.watchAgainClicked,chapterId:i}),this.events.watchAgainIsClicked$.next(i)},onError:i=>this.globalEventEmitter.emit(b.errors,new V(1,4,{message:i}))})),this.initSubscriptions()}initSubscriptions(){this.subscription.add(this.historyController.events.inited$.subscribe(async({videosInfo:e=[]})=>{this._options.initSeamless&&(await this.initSeamless(),this.updateGraphVideosInfo(e))})),this.globalEventEmitter.on(b.interactives,async e=>{var t,i;if(e.type===w.actionExecution){if(this.state.calledByInteractive$.next(!0),this.state.lastChapterChangeWasInitiatedByInteractive$.next(!0),((t=e.payload)==null?void 0:t.behaviour)==="change-chapter"){let{chapterId:a}=e.payload;this.setChapter({chapterId:a}),this.state.isFirstChapter$.getValue()&&this.state.isFirstChapter$.next(!1)}if(((i=e.payload)==null?void 0:i.behaviour)==="change-manifest"){let{manifestURL:a}=e.payload;this.setManifest(a)}let n=e.type==="action-execution";n&&e.actionType==="expect"?this.state.isInteractiveExpectation$.next(!0):n&&e.actionType==="after-expect"&&this.state.isInteractiveExpectation$.next(!1)}e.type===w.containerRemoved&&this.completeInteractiveRange(e.subjectId)}),this.subscription.add(this.events.manifestChanged$.subscribe(()=>{this.state.calledByInteractive$.next(!1),this.state.lastChapterChangeWasInitiatedByInteractive$.next(!1)})),this.globalEventEmitter.on(b.manifestChanged,()=>{this.state.calledByInteractive$.next(!1),this.state.lastChapterChangeWasInitiatedByInteractive$.next(!1)})}async initSeamless(){this.seamlessController=Gr(this),this.seamlessControllerSubs.add(this.seamlessController.activePlayerChanged.subscribe(this.handleSeamlessPlayerChanged)),await this.seamlessController.init()}handlePositionChange(e){(!this.graph||this.graph.isHidden)&&this.checkIfSeekable();let t=e*1e3,n=this.getInteractiveRanges().reverse().find(({range:a})=>t>=a[1]);if(n){let a=n.range.join("-");this.endedRanges.has(a)||(this.endedRanges.add(a),this.globalEventEmitter.emit(b.interactives,{type:w.rangeEnded,payload:n,visibility:!0}))}}registerVideoEvents(){this.player&&(window.removeEventListener("beforeunload",this.clearHistoryIfEnded),this.subscription.unsubscribe(),window.addEventListener("beforeunload",this.clearHistoryIfEnded),this.subscription.add(this.player.events.started$.pipe((0,I.once)()).subscribe(this.onPlaybackStarted)).add(this.player.events.playing$.subscribe(this.animation.requestAnimation)).add(this.player.events.willPause$.subscribe(this.animation.cancelAnimation)).add(this.player.info.position$.subscribe(this.handlePositionChange.bind(this))).add(this.manifestController.prevChapter$.subscribe(e=>this.state.prevChapter$.next(e))).add((0,I.combine)({position:this.player.info.position$,interactiveRanges:this.state.interactiveRanges$,isInteractiveExpectation:this.state.isInteractiveExpectation$}).subscribe(({position:e,interactiveRanges:t,isInteractiveExpectation:i})=>{var s;let n;if(i)n=!0;else{let c=e*1e3;n=!!t.find(({range:[f,m],subjects:C})=>f<c&&c<m&&C.length)}n!==this.state.isInteractiveTime$.getValue()&&this.state.isInteractiveTime$.next(n);let a=!!this.noInteractionTimeout,l=((s=this.player)==null?void 0:s.info.playbackState$.getValue())==="playing"||i;n&&!a&&l?this.noInteractionTimeout=window.setTimeout(()=>{this.events.noInteraction$.next()},this._options.config.noInteractionEventTimeout):a&&!l&&this.clearNoInteractionTimeout()})),this.subscription.add(this.historyController.events.error$.subscribe(this.events.error$)),this._options.lastFrame&&this.subscription.add(this.player.info.duration$.subscribe(e=>{var t;(t=this.lastFrame)==null||t.setVideoDuration(e*1e3)})).add(this.player.experimental.element$.subscribe(e=>{var t;e&&((t=this.lastFrame)==null||t.setVideoElement(e))})).add(this.player.events.firstFrame$.subscribe(()=>{var e;(e=this.lastFrame)==null||e.reset(),setTimeout(()=>{var t,i;(t=this.lastFrame)==null||t.hide(),(i=this.lastFrame)==null||i.lastFrameCanvas.clear()},50)})).add(this.player.events.seeked$.subscribe(this.lastFrame.onSeek)))}setGameControllers(){var t,i;let e=this.manifestController.chapter;e&&this.appState===1&&((t=this.selectBranches)==null||t.setManifestChapterEvents(e),this.gameControllers=this.filterGameControllers(e),(i=this.interactiveEvents)==null||i.containersEventsCallState.setData(e.containers),this.seekToInteractiveController.setContainers(this.gameControllers.map(n=>n.container.container).filter(n=>!oe(n.controls))),this._options.lastFrame&&this.animation.addFn(()=>{var n;this.player&&((n=this.lastFrame)==null||n.onEachTick(this.player.info.position$.getValue()*1e3))},!0),this.state.interactiveRanges$.next(this.getInteractiveRanges()),this.appState=2)}filterGameControllers(e){let t=[];return e.containers.forEach(i=>{let n=i.type.trim().toLowerCase(),a=this.factories.get(n);if(a){let o=new jt({player:this.player,container:a(i,this.rootElement),branches:e.branches,selectBranches:this.selectBranches,interactiveEvents:this.interactiveEvents,globalEvents:this.events,globalEventEmitter:this.globalEventEmitter,ignoreContainerEvent:()=>Na(i,this.gameControllers),permanentTextControls:this._options.permanentTextControls,disabledControls$:this.state.disabledControls$,onRemove:()=>{this.seekToInteractiveController.deleteContainer(i.id)}});this.animation.addFn(o.whilePlaying,!0),t.push(o)}}),t}checkIfSeekable(){if(this.state.isInteractiveExpectation$.getValue()){this.state.isSeekable$.next(!1);return}let t=this.state.isSeekable$.getValue(),i=!!this.seekToInteractiveController.getNextInteractiveTime();(i&&!t||!i&&t)&&this.state.isSeekable$.next(!t)}updateLastEventInfo(){this.state.calledByInteractive$.getValue()?this.state.calledByInteractive$.next(!1):this.state.lastChapterChangeWasInitiatedByInteractive$.next(!1)}pushChapterToHistory(e){var l,s;if(this.updateLastEventInfo(),!this.historyController.inited)return;let t=this.state.lastChapterChangeWasInitiatedByInteractive$.getValue(),i=this.state.prevChapter$.getValue(),n=(l=i&&U(i)&&Qe(i))!=null?l:!1,a=((s=this.manifestController.manifest)==null?void 0:s.metadata.initChapterId)===e,o=this.historyController.state.history$.getValue();if(a||n&&t){this.historyController.updateHistory([e]);return}(0,Oo.default)(o,-1)!==e&&this.historyController.updateHistory([...o,e])}reset(){var e;this.appState===2&&(this.removeControllers(),this.gameControllers=[],this.animation.release(),(e=this.interactiveEvents)==null||e.release(),this.appState=1,this.state.isSeekable$.next(!1),this.clearNoInteractionTimeout())}get options(){return this._options}init(){var e;this.manifestController.chapter&&this._options.parentElement&&this.player&&this._options.fullscreenTargetElement&&this.appState===0&&((e=this.resizeManager)==null||e.resizeObserver.observe(this._options.fullscreenTargetElement),this.registerVideoEvents(),this.appState=1,this.setGameControllers())}async setManifest(e){this.reset(),this.isFirstChapterFetched=!1;let t=await this.manifestController.setManifest(e);if(t.manifest)return this.graph&&await this.graph.handleManifestChange(t.manifest),await this.historyController.setManifest(t.manifest),this.events.manifestChanged$.next(t.manifest),this.globalEventEmitter.emit(b.manifestChanged,{manifest:t.manifest}),this.setGameControllers(),t.manifest}setPlayer(e){this.reset(),this.player=e,this.seekToInteractiveController.setPlayer(this.player),this.interactiveEvents?this.interactiveEvents.setPlayer(this.player):this.interactiveEvents=mo(this.player),this.selectBranches=_o({player:this.player,interactiveEvents:this.interactiveEvents,globalEventEmitter:this.globalEventEmitter,removeControllers:()=>this.removeControllers(!1)}),this.appState===1&&(this.registerVideoEvents(),this.setGameControllers())}async setChapter({chapterId:e,pushToHistory:t=!0,playPrev:i=!1}={}){var s,c;this.reset(),this.lastFrame&&this.isFirstChapterFetched&&(this.lastFrame.draw(),this.lastFrame.show()),I.clientChecker.isSafari&&await Ro(35);let n=!i&&this.state.isEndChapter$.getValue()&&((s=this.getCurrentManifest())==null?void 0:s.metadata.initChapterId)===e;this.state.isReplay$.next(n);let{chapter:a,media:o,graph:l}=await(e?this.manifestController.setNext(e):this.manifestController.setInitial());(!e||n)&&this.state.isFirstChapter$.next(!0),!(!a||!o)&&(t&&this.pushChapterToHistory(a.id),this.state.isInitialChapter$.next(this.manifestController.isInitialChapter()),this.state.isEndChapter$.next(this.manifestController.isEndChapter()),this.graph&&this.graph.handleChapterChange(a),(c=this.lastFrame)==null||c.setCurrentChapter(a),this.events.chapterChanged$.next({chapter:a,manifestVideo:o}),this.globalEventEmitter.emit(b.chapterChanged,{chapter:a,media:o,graph:l}),this.setGameControllers(),this.endedRanges=new Set,this.isFirstChapterFetched=!0)}getStatEvents(){return{click$:new I.Observable(e=>{this.globalEventEmitter.on(b.graph,({type:t,visibility:i})=>{t==="visibility"&&e.next(i?Ae.InteractiveInterfaceClick.GRAPH_SHOW:Ae.InteractiveInterfaceClick.GRAPH_HIDE),t==="watchAgainClicked"&&e.next(Ae.InteractiveInterfaceClick.WATCH_AGAIN)}),this.globalEventEmitter.on(b.interactives,({type:t,subjectName:i,subjectType:n})=>{t!=="action-choice"||i!=="control"||(n==="Button"&&e.next(Ae.InteractiveInterfaceClick.NEXT_BUTTON),n==="Area"&&e.next(Ae.InteractiveInterfaceClick.NEXT_AREA))})}),nextMovie$:new I.Observable(e=>{this.events.playerChanged$.subscribe(({config:t})=>{t!=null&&t.unitedVideoId&&!this.state.isFirstChapter$.getValue()&&e.next(t.unitedVideoId)})})}}toggleGraphView(e=!0){this.graph&&(e?(this.graph.show(),this.state.isSeekable$.next(!1)):(this.graph.hide(),this.checkIfSeekable()),this.globalEventEmitter.emit(b.graph,{type:Se.visibility,visibility:e}),this.events.graphVisibilityChanged$.next(e))}setVisitedChapters(e){var t;Array.isArray(e)&&((t=this.graph)==null||t.setVisitedChapters(e))}updateGraphVideosInfo(e){var t;Array.isArray(e)&&((t=this.graph)==null||t.updateVideosInfo(e))}deadEndCheck(){var i;return!(((i=this.interactiveEvents)==null?void 0:i.getPreparedToExecActions())||[]).some(n=>n.actionType===A.setNextBranch)}allControlsAreRemoved(){return!this.gameControllers.some(t=>!t.container.isRemoved)}isEndedExpectation(){if(!this.player||!this.gameControllers)return!1;let e=this.player.info.position$.getValue(),t=this.player.info.duration$.getValue();return e===t&&this.gameControllers.some(i=>{let n=i.container.container;return!i.container.isRemoved&&n.endTime===null&&se(n.events)})}playPrevChapter(){this.historyController.goBack()}setDisabledControls(e){this.state.disabledControls$.next(e)}isSupport(e=this.manifestController.manifest){return!!e&&Ue(e.metadata.version)}getInitialVideoInfo(){return{videoId:this.historyController.getInitialVideoId(),chapterId:this.historyController.getInitialChapterId()}}getHistoryState(){return this.historyController.state}getIsSeekable(){return this.state.isSeekable$}getInteractiveRanges(){var e;return Rs((e=this.manifestController.chapter)==null?void 0:e.containers)}getNextInteractiveStartTime(e){return this.seekToInteractiveController.getNextInteractiveTime(e)}getChapterBranches(e){return this.manifestController.getBranches(e)}getCurrentChapter(){return this.manifestController.getCurrent()}getCurrentManifest(){return this.manifestController.manifest}on(e,t){return this.globalEventEmitter.on(e,t),this}off(e,t){return this.globalEventEmitter.off(e,t),this}once(e,t){return this.globalEventEmitter.once(e,t),this}destroy(){var e,t,i,n,a;this.clearHistoryIfEnded(),this.removeControllers(),this.gameControllers=[],(e=this.graph)==null||e.destroy(),this.seamlessControllerSubs.unsubscribe(),(t=this.seamlessController)==null||t.removeAll(),(i=this.resizeManager)==null||i.release(),this.animation.release(),(n=this.interactiveEvents)==null||n.release(),this.manifestController.release(),this.eventManager.release(),this.subscription.unsubscribe(),this.globalEventEmitter.reset(),(a=this.lastFrame)==null||a.destroy(),this.rootElement.remove(),this.historyController.destroy(),this.isFirstChapterFetched=!1,this.appState=3}};var ko={Container:ve,createChoiceContainer:ht,createAreaControl:lt,createButtonControl:pt,getRootEl:it,classnamesPrefix:F};var rh={version:ui};
23
+ `,r}var tt=class{constructor(e){this.subscription=new E.Subscription;this.globalEventEmitter=new At;this.eventsSubs=new E.Subscription;this.animation=new Rt;this.eventManager=new Gt;this.seekToInteractiveController=new Ue;this.endedRanges=new Set;this.gameControllers=[];this.rootElement=zp();this.factories=new Map([["choice",ft]]);this.isFirstChapterFetched=!1;this.player=null;this.interactiveEvents=null;this.selectBranches=null;this.seamlessController=null;this.seamlessControllerSubs=new E.Subscription;this.graph=null;this.lastFrame=null;this.appState=0;this.state={prevChapter$:new E.ValueSubject(null),isInitialChapter$:new E.ValueSubject(!1),isFirstChapter$:new E.ValueSubject(!0),isEndChapter$:new E.ValueSubject(!1),isInteractiveExpectation$:new E.ValueSubject(!1),isReplay$:new E.ValueSubject(!1),calledByInteractive$:new E.ValueSubject(!1),lastChapterChangeWasInitiatedByInteractive$:new E.ValueSubject(!1),disabledControls$:new E.ValueSubject(!1),interactiveRanges$:new E.ValueSubject([]),isInteractiveTime$:new E.ValueSubject(!1),statistics$:new E.ValueSubject(null),isSeekable$:new E.ValueSubject(!1)};this.events={noInteraction$:new E.Subject,graphVisibilityChanged$:new E.Subject,watchAgainIsClicked$:new E.Subject,chapterChanged$:new E.Subject,playerChanged$:new E.Subject,error$:new E.Subject,eachTick$:new E.Subject,manifestChanged$:new E.Subject,interactiveRangeEnded$:new E.Subject,interactiveContainerRemoved$:new E.Subject,interactiveActionExecution$:new E.Subject,interactiveActionChoice$:new E.Subject,interactiveVisibilityChanged$:new E.Subject};this.emitErrorEvent=e=>{this.events.error$.next(e),this.globalEventEmitter.emit(A.errors,e)};this.clearHistoryIfEnded=()=>{var n;let e=(n=this.player)==null?void 0:n.info.isEnded$.getValue(),t=this.state.isInteractiveExpectation$.getValue(),{chapter:i}=this.getCurrentChapter();e&&i&&z(i)&&!t&&this.historyController.updateHistory([]),window.removeEventListener("beforeunload",this.clearHistoryIfEnded)};this.handleSeamlessPlayerChanged=e=>{if(!e)return;let{statistics:t,...i}=e;if(t){let{statSubscription:n,oneStat:s}=t;n.add(s.attachToInteractive(this.getStatEvents())),this.state.statistics$.next(t)}this.state.isReplay$.getValue()&&this.state.isReplay$.next(!1),this.events.playerChanged$.next(i),this.globalEventEmitter.emit(A.playerChanged,i)};this.onPlaybackStarted=()=>{var e;(e=this.resizeManager)==null||e.calc(),this.animation.requestAnimation()};this.removeControllers=(e=!0)=>{this.gameControllers.forEach(t=>{!e&&t.isPermanentText||(this.animation.removeFn(t.whilePlaying),t.destroy())})};this.completeInteractiveRange=e=>{let{interactiveRanges$:t}=this.state,n=t.getValue().map(s=>({...s,subjects:s.subjects.filter(o=>o!==e)}));t.next(n)};this.clearNoInteractionTimeout=()=>{this.noInteractionTimeout&&(clearTimeout(this.noInteractionTimeout),this.noInteractionTimeout=void 0)};var t;this._options={...wo,...e,config:{...wo.config,...e.config}},this._options.parentElement.append(this.rootElement),this.historyController=new et({interactiveController:this,globalEventEmitter:this.globalEventEmitter,videoId:(t=this._options.projectInfo)==null?void 0:t.videoId,historyApi:this._options.historyApi,settings:{maxLength:this._options.config.historyMaxLength,initChapterId:this._options.initChapterId}}),this._options.lastFrame&&(this.lastFrame=new zt({parentElement:this._options.parentElement,onError:i=>{let n=new L(1,6,i);this.emitErrorEvent(n)}})),this.eventManager.listen(this.rootElement,"mousedown",i=>i.stopPropagation()),this.eventManager.listen(this.rootElement,"mouseup",i=>i.stopPropagation()),this.manifestController=new he(this._options.loaders,i=>{let n=new L(1,3,i);this.emitErrorEvent(n)}),this.resizeManager=uo(()=>{var i,n;return{player:this.player,parentElement:(i=this._options)==null?void 0:i.parentElement,fns:(n=this._options)!=null&&n.lastFrame?[()=>{var s;(s=this.lastFrame)==null||s.updateCanvasDimensions(!0)}]:[]}}),this._options.graph&&(this.graph=new Ge({root:this._options.parentElement,lang:this._options.lang,onOpenPreviewClick:i=>{this.setChapter({chapterId:i}),this.globalEventEmitter.emit(A.graph,{type:we.watchAgainClicked,chapterId:i}),this.events.watchAgainIsClicked$.next(i)},onError:i=>{let n=new L(1,4,{message:i});this.emitErrorEvent(n)}})),this.initSubscriptions()}initSubscriptions(){this.subscription.add(this.historyController.events.inited$.subscribe(async({videosInfo:e=[]})=>{this._options.initSeamless&&(await this.initSeamless(),this.updateGraphVideosInfo(e))})),this.eventsSubs.add(this.events.interactiveContainerRemoved$.subscribe(({subjectId:e})=>{this.completeInteractiveRange(e)})).add(this.events.interactiveActionExecution$.subscribe(e=>{var t,i;if(this.state.calledByInteractive$.next(!0),this.state.lastChapterChangeWasInitiatedByInteractive$.next(!0),((t=e.payload)==null?void 0:t.behaviour)==="change-chapter"){let{chapterId:n}=e.payload;this.setChapter({chapterId:n}),this.state.isFirstChapter$.getValue()&&this.state.isFirstChapter$.next(!1)}else if(((i=e.payload)==null?void 0:i.behaviour)==="change-manifest"){let{manifestURL:n}=e.payload;n&&this.setManifest(n)}e.actionType==="expect"?this.state.isInteractiveExpectation$.next(!0):e.actionType==="after-expect"&&this.state.isInteractiveExpectation$.next(!1)})),this.eventsSubs.add(this.events.manifestChanged$.subscribe(()=>{this.state.calledByInteractive$.next(!1),this.state.lastChapterChangeWasInitiatedByInteractive$.next(!1)}))}async initSeamless(){this.seamlessController=Wr(this),this.seamlessControllerSubs.add(this.seamlessController.activePlayerChanged.subscribe(this.handleSeamlessPlayerChanged)),await this.seamlessController.init()}handlePositionChange(e){(!this.graph||this.graph.isHidden)&&this.checkIfSeekable();let t=e*1e3,n=this.getInteractiveRanges().reverse().find(({range:s})=>t>=s[1]);if(n){let s=n.range.join("-");this.endedRanges.has(s)||(this.endedRanges.add(s),this.globalEventEmitter.emit(A.interactives,{type:k.rangeEnded,payload:n,visibility:!0}),this.events.interactiveRangeEnded$.next({type:"range-ended",payload:n}))}}registerVideoEvents(){this.player&&(window.removeEventListener("beforeunload",this.clearHistoryIfEnded),this.subscription.unsubscribe(),window.addEventListener("beforeunload",this.clearHistoryIfEnded),this.subscription.add(this.player.events.started$.pipe((0,E.once)()).subscribe(this.onPlaybackStarted)).add(this.player.events.playing$.subscribe(this.animation.requestAnimation)).add(this.player.events.willPause$.subscribe(this.animation.cancelAnimation)).add(this.player.info.position$.subscribe(this.handlePositionChange.bind(this))).add(this.manifestController.prevChapter$.subscribe(e=>this.state.prevChapter$.next(e))).add((0,E.combine)({position:this.player.info.position$,interactiveRanges:this.state.interactiveRanges$,isInteractiveExpectation:this.state.isInteractiveExpectation$}).subscribe(({position:e,interactiveRanges:t,isInteractiveExpectation:i})=>{var a;let n;if(i)n=!0;else{let c=e*1e3;n=!!t.find(({range:[b,m],subjects:x})=>b<c&&c<m&&x.length)}n!==this.state.isInteractiveTime$.getValue()&&this.state.isInteractiveTime$.next(n);let s=!!this.noInteractionTimeout,l=((a=this.player)==null?void 0:a.info.playbackState$.getValue())==="playing"||i;n&&!s&&l?this.noInteractionTimeout=window.setTimeout(()=>{this.events.noInteraction$.next()},this._options.config.noInteractionEventTimeout):s&&!l&&this.clearNoInteractionTimeout()})),this.subscription.add(this.historyController.events.error$.subscribe(this.events.error$)),this._options.lastFrame&&this.subscription.add(this.player.info.duration$.subscribe(e=>{var t;(t=this.lastFrame)==null||t.setVideoDuration(e*1e3)})).add(this.player.experimental.element$.subscribe(e=>{var t;e&&((t=this.lastFrame)==null||t.setVideoElement(e))})).add(this.player.events.firstFrame$.subscribe(()=>{var e;(e=this.lastFrame)==null||e.reset(),setTimeout(()=>{var t,i;(t=this.lastFrame)==null||t.hide(),(i=this.lastFrame)==null||i.lastFrameCanvas.clear()},50)})).add(this.player.events.seeked$.subscribe(this.lastFrame.onSeek)))}setGameControllers(){var t,i;let e=this.manifestController.chapter;e&&this.appState===1&&((t=this.selectBranches)==null||t.setManifestChapterEvents(e),this.gameControllers=this.filterGameControllers(e),(i=this.interactiveEvents)==null||i.containersEventsCallState.setData(e.containers),this.seekToInteractiveController.setContainers(this.gameControllers.map(n=>n.container.container).filter(n=>!pe(n.controls))),this._options.lastFrame&&this.animation.addFn(()=>{var n;this.player&&((n=this.lastFrame)==null||n.onEachTick(this.player.info.position$.getValue()*1e3))},!0),this.state.interactiveRanges$.next(this.getInteractiveRanges()),this.appState=2)}filterGameControllers(e){let t=[];return e.containers.forEach(i=>{let n=i.type.trim().toLowerCase(),s=this.factories.get(n),o=s==null?void 0:s(i,this.rootElement);if(o&&this.selectBranches&&this.interactiveEvents&&this.player){let l=new _t({player:this.player,container:o,branches:e.branches,selectBranches:this.selectBranches,interactiveEvents:this.interactiveEvents,globalEvents:this.events,globalEventEmitter:this.globalEventEmitter,ignoreContainerEvent:()=>Ps(i,this.gameControllers),permanentTextControls:this._options.permanentTextControls,disabledControls$:this.state.disabledControls$,onRemove:()=>{this.seekToInteractiveController.deleteContainer(i.id)}});this.animation.addFn(l.whilePlaying,!0),t.push(l)}}),t}checkIfSeekable(){if(this.state.isInteractiveExpectation$.getValue()){this.state.isSeekable$.next(!1);return}let t=this.state.isSeekable$.getValue(),i=!!this.seekToInteractiveController.getNextInteractiveTime();(i&&!t||!i&&t)&&this.state.isSeekable$.next(!t)}updateLastEventInfo(){this.state.calledByInteractive$.getValue()?this.state.calledByInteractive$.next(!1):this.state.lastChapterChangeWasInitiatedByInteractive$.next(!1)}pushChapterToHistory(e){var l,a;if(this.updateLastEventInfo(),!this.historyController.inited)return;let t=this.state.lastChapterChangeWasInitiatedByInteractive$.getValue(),i=this.state.prevChapter$.getValue(),n=(l=i&&z(i)&&Ye(i))!=null?l:!1,s=((a=this.manifestController.manifest)==null?void 0:a.metadata.initChapterId)===e,o=this.historyController.state.history$.getValue();if(s||n&&t){this.historyController.updateHistory([e]);return}(0,Ao.default)(o,-1)!==e&&this.historyController.updateHistory([...o,e])}reset(){var e;this.appState===2&&(this.removeControllers(),this.gameControllers=[],this.animation.release(),(e=this.interactiveEvents)==null||e.release(),this.appState=1,this.state.isSeekable$.next(!1),this.clearNoInteractionTimeout())}get options(){return this._options}init(){var e;this.manifestController.chapter&&this._options.parentElement&&this.player&&this._options.fullscreenTargetElement&&this.appState===0&&((e=this.resizeManager)==null||e.resizeObserver.observe(this._options.fullscreenTargetElement),this.registerVideoEvents(),this.appState=1,this.setGameControllers())}async setManifest(e){this.reset(),this.isFirstChapterFetched=!1;let t=await this.manifestController.setManifest(e);if(t.manifest)return this.graph&&this.graph.handleManifestChange(t.manifest),await this.historyController.setManifest(t.manifest),this.events.manifestChanged$.next(t.manifest),this.globalEventEmitter.emit(A.manifestChanged,{manifest:t.manifest}),this.setGameControllers(),t.manifest}setPlayer(e){this.reset(),this.player=e,this.seekToInteractiveController.setPlayer(this.player),this.interactiveEvents?this.interactiveEvents.setPlayer(this.player):this.interactiveEvents=oo(this.player),this.selectBranches=Eo({player:this.player,interactiveEvents:this.interactiveEvents,globalEvents:this.events,globalEventEmitter:this.globalEventEmitter,removeControllers:()=>this.removeControllers(!1)}),this.appState===1&&(this.registerVideoEvents(),this.setGameControllers())}async setChapter({chapterId:e,pushToHistory:t=!0,playPrev:i=!1}={}){var a,c;this.reset(),this.lastFrame&&this.isFirstChapterFetched&&(this.lastFrame.draw(),this.lastFrame.show()),E.clientChecker.isSafari&&await So(35);let n=!i&&this.state.isEndChapter$.getValue()&&((a=this.getCurrentManifest())==null?void 0:a.metadata.initChapterId)===e;this.state.isReplay$.next(n);let{chapter:s,media:o,graph:l}=await(e?this.manifestController.setNext(e):this.manifestController.setInitial());(!e||n)&&this.state.isFirstChapter$.next(!0),!(!s||!o)&&(t&&this.pushChapterToHistory(s.id),this.state.isInitialChapter$.next(this.manifestController.isInitialChapter()),this.state.isEndChapter$.next(this.manifestController.isEndChapter()),this.graph&&this.graph.handleChapterChange(s),(c=this.lastFrame)==null||c.setCurrentChapter(s),this.events.chapterChanged$.next({chapter:s,manifestVideo:o}),this.globalEventEmitter.emit(A.chapterChanged,{chapter:s,media:o,graph:l}),this.setGameControllers(),this.endedRanges=new Set,this.isFirstChapterFetched=!0)}getStatEvents(){return{click$:new E.Observable(e=>{this.eventsSubs.add(this.events.graphVisibilityChanged$.subscribe(t=>{e.next(t?Oe.InteractiveInterfaceClick.GRAPH_SHOW:Oe.InteractiveInterfaceClick.GRAPH_HIDE)})).add(this.events.watchAgainIsClicked$.subscribe(()=>{e.next(Oe.InteractiveInterfaceClick.WATCH_AGAIN)})).add(this.events.interactiveActionChoice$.subscribe(({type:t,subjectName:i,subjectType:n})=>{t!=="action-choice"||i!=="control"||(n==="Button"&&e.next(Oe.InteractiveInterfaceClick.NEXT_BUTTON),n==="Area"&&e.next(Oe.InteractiveInterfaceClick.NEXT_AREA))}))}),nextMovie$:new E.Observable(e=>{this.events.playerChanged$.subscribe(({config:t})=>{t!=null&&t.unitedVideoId&&!this.state.isFirstChapter$.getValue()&&e.next(t.unitedVideoId)})})}}toggleGraphView(e=!0){this.graph&&(e?(this.graph.show(),this.state.isSeekable$.next(!1)):(this.graph.hide(),this.checkIfSeekable()),this.globalEventEmitter.emit(A.graph,{type:we.visibility,visibility:e}),this.events.graphVisibilityChanged$.next(e))}setVisitedChapters(e){var t;Array.isArray(e)&&((t=this.graph)==null||t.setVisitedChapters(e))}updateGraphVideosInfo(e){var t;Array.isArray(e)&&((t=this.graph)==null||t.updateVideosInfo(e))}deadEndCheck(){var i;return!(((i=this.interactiveEvents)==null?void 0:i.getPreparedToExecActions())||[]).some(n=>n.actionType===v.EventActionTypes.setNextBranch)}allControlsAreRemoved(){return!this.gameControllers.some(t=>!t.container.isRemoved)}isEndedExpectation(){if(!this.player||!this.gameControllers)return!1;let e=this.player.info.position$.getValue(),t=this.player.info.duration$.getValue();return e===t&&this.gameControllers.some(i=>{let n=i.container.container;return!i.container.isRemoved&&n.endTime===null&&ue(n.events)})}playPrevChapter(){this.historyController.goBack()}setDisabledControls(e){this.state.disabledControls$.next(e)}isSupport(e=this.manifestController.manifest){return!!e&&(0,v.isSupportedManifest)(e.metadata.version)}getInitialVideoInfo(){return{videoId:this.historyController.getInitialVideoId(),chapterId:this.historyController.getInitialChapterId()}}getHistoryState(){return this.historyController.state}getIsSeekable(){return this.state.isSeekable$}getInteractiveRanges(){var e;return Ta((e=this.manifestController.chapter)==null?void 0:e.containers)}getNextInteractiveStartTime(e){return this.seekToInteractiveController.getNextInteractiveTime(e)}getChapterBranches(e){return this.manifestController.getBranches(e)}getCurrentChapter(){return this.manifestController.getCurrent()}getCurrentManifest(){return this.manifestController.manifest}on(e,t){return this.globalEventEmitter.on(e,t),this}off(e,t){return this.globalEventEmitter.off(e,t),this}once(e,t){return this.globalEventEmitter.once(e,t),this}destroy(){var e,t,i,n,s;this.clearHistoryIfEnded(),this.removeControllers(),this.gameControllers=[],(e=this.graph)==null||e.destroy(),this.seamlessControllerSubs.unsubscribe(),(t=this.seamlessController)==null||t.removeAll(),(i=this.resizeManager)==null||i.release(),this.animation.release(),(n=this.interactiveEvents)==null||n.release(),this.manifestController.release(),this.eventManager.release(),this.subscription.unsubscribe(),this.eventsSubs.unsubscribe(),this.globalEventEmitter.reset(),(s=this.lastFrame)==null||s.destroy(),this.rootElement.remove(),this.historyController.destroy(),this.isFirstChapterFetched=!1,this.appState=3}};var Ro={Container:be,createChoiceContainer:ft,createAreaControl:ut,createButtonControl:ht,getRootEl:st,classnamesPrefix:_};var Wp={version:pi};