trtc-sdk-v5 5.13.2-wasm.6 → 5.14.0-wasm.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/trtc.js CHANGED
@@ -1 +1 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TRTC=t()}(this,(function(){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=function(e){return e&&e.Math===Math&&e},r=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof e&&e)||t("object"==typeof e&&e)||function(){return this}()||Function("return this")(),i={},o=function(e){try{return!!e()}catch(t){return!0}},n=!o((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})),a=!o((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),s=a,c=Function.prototype.call,l=s?c.bind(c):function(){return c.apply(c,arguments)},d={},u={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!u.call({1:2},1);d.f=p?function(e){var t=h(this,e);return!!t&&t.enumerable}:u;var m,f,_=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},g=a,E=Function.prototype,v=E.call,y=g&&E.bind.bind(v,v),T=g?y:function(e){return function(){return v.apply(e,arguments)}},I=T,A=I({}.toString),S=I("".slice),R=function(e){return S(A(e),8,-1)},b=o,w=R,C=Object,D=T("".split),N=b((function(){return!C("z").propertyIsEnumerable(0)}))?function(e){return"String"===w(e)?D(e,""):C(e)}:C,k=function(e){return null==e},O=k,M=TypeError,L=function(e){if(O(e))throw new M("Can't call method on "+e);return e},P=N,x=L,U=function(e){return P(x(e))},V="object"==typeof document&&document.all,F=void 0===V&&void 0!==V?function(e){return"function"==typeof e||e===V}:function(e){return"function"==typeof e},B=F,H=function(e){return"object"==typeof e?null!==e:B(e)},W=r,j=F,G=function(e,t){return arguments.length<2?(r=W[e],j(r)?r:void 0):W[e]&&W[e][t];var r},z=T({}.isPrototypeOf),K=r.navigator,q=K&&K.userAgent,Y=q?String(q):"",J=r,X=Y,$=J.process,Q=J.Deno,Z=$&&$.versions||Q&&Q.version,ee=Z&&Z.v8;ee&&(f=(m=ee.split("."))[0]>0&&m[0]<4?1:+(m[0]+m[1])),!f&&X&&(!(m=X.match(/Edge\/(\d+)/))||m[1]>=74)&&(m=X.match(/Chrome\/(\d+)/))&&(f=+m[1]);var te=f,re=te,ie=o,oe=r.String,ne=!!Object.getOwnPropertySymbols&&!ie((function(){var e=Symbol("symbol detection");return!oe(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&re&&re<41})),ae=ne&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,se=G,ce=F,le=z,de=Object,ue=ae?function(e){return"symbol"==typeof e}:function(e){var t=se("Symbol");return ce(t)&&le(t.prototype,de(e))},he=String,pe=function(e){try{return he(e)}catch(t){return"Object"}},me=F,fe=pe,_e=TypeError,ge=function(e){if(me(e))return e;throw new _e(fe(e)+" is not a function")},Ee=ge,ve=k,ye=function(e,t){var r=e[t];return ve(r)?void 0:Ee(r)},Te=l,Ie=F,Ae=H,Se=TypeError,Re={exports:{}},be=r,we=Object.defineProperty,Ce=function(e,t){try{we(be,e,{value:t,configurable:!0,writable:!0})}catch(r){be[e]=t}return t},De=r,Ne=Ce,ke="__core-js_shared__",Oe=Re.exports=De[ke]||Ne(ke,{});(Oe.versions||(Oe.versions=[])).push({version:"3.40.0",mode:"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Me=Re.exports,Le=Me,Pe=function(e,t){return Le[e]||(Le[e]=t||{})},xe=L,Ue=Object,Ve=function(e){return Ue(xe(e))},Fe=Ve,Be=T({}.hasOwnProperty),He=Object.hasOwn||function(e,t){return Be(Fe(e),t)},We=T,je=0,Ge=Math.random(),ze=We(1..toString),Ke=function(e){return"Symbol("+(void 0===e?"":e)+")_"+ze(++je+Ge,36)},qe=Pe,Ye=He,Je=Ke,Xe=ne,$e=ae,Qe=r.Symbol,Ze=qe("wks"),et=$e?Qe.for||Qe:Qe&&Qe.withoutSetter||Je,tt=function(e){return Ye(Ze,e)||(Ze[e]=Xe&&Ye(Qe,e)?Qe[e]:et("Symbol."+e)),Ze[e]},rt=l,it=H,ot=ue,nt=ye,at=function(e,t){var r,i;if("string"===t&&Ie(r=e.toString)&&!Ae(i=Te(r,e)))return i;if(Ie(r=e.valueOf)&&!Ae(i=Te(r,e)))return i;if("string"!==t&&Ie(r=e.toString)&&!Ae(i=Te(r,e)))return i;throw new Se("Can't convert object to primitive value")},st=TypeError,ct=tt("toPrimitive"),lt=function(e,t){if(!it(e)||ot(e))return e;var r,i=nt(e,ct);if(i){if(void 0===t&&(t="default"),r=rt(i,e,t),!it(r)||ot(r))return r;throw new st("Can't convert object to primitive value")}return void 0===t&&(t="number"),at(e,t)},dt=lt,ut=ue,ht=function(e){var t=dt(e,"string");return ut(t)?t:t+""},pt=H,mt=r.document,ft=pt(mt)&&pt(mt.createElement),_t=function(e){return ft?mt.createElement(e):{}},gt=_t,Et=!n&&!o((function(){return 7!==Object.defineProperty(gt("div"),"a",{get:function(){return 7}}).a})),vt=n,yt=l,Tt=d,It=_,At=U,St=ht,Rt=He,bt=Et,wt=Object.getOwnPropertyDescriptor;i.f=vt?wt:function(e,t){if(e=At(e),t=St(t),bt)try{return wt(e,t)}catch(r){}if(Rt(e,t))return It(!yt(Tt.f,e,t),e[t])};var Ct={},Dt=n&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Nt=H,kt=String,Ot=TypeError,Mt=function(e){if(Nt(e))return e;throw new Ot(kt(e)+" is not an object")},Lt=n,Pt=Et,xt=Dt,Ut=Mt,Vt=ht,Ft=TypeError,Bt=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Wt="enumerable",jt="configurable",Gt="writable";Ct.f=Lt?xt?function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),"function"==typeof e&&"prototype"===t&&"value"in r&&Gt in r&&!r[Gt]){var i=Ht(e,t);i&&i[Gt]&&(e[t]=r.value,r={configurable:jt in r?r[jt]:i[jt],enumerable:Wt in r?r[Wt]:i[Wt],writable:!1})}return Bt(e,t,r)}:Bt:function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),Pt)try{return Bt(e,t,r)}catch(i){}if("get"in r||"set"in r)throw new Ft("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var zt=Ct,Kt=_,qt=n?function(e,t,r){return zt.f(e,t,Kt(1,r))}:function(e,t,r){return e[t]=r,e},Yt={exports:{}},Jt=n,Xt=He,$t=Function.prototype,Qt=Jt&&Object.getOwnPropertyDescriptor,Zt=Xt($t,"name"),er={EXISTS:Zt,PROPER:Zt&&"something"===function(){}.name,CONFIGURABLE:Zt&&(!Jt||Jt&&Qt($t,"name").configurable)},tr=F,rr=Me,ir=T(Function.toString);tr(rr.inspectSource)||(rr.inspectSource=function(e){return ir(e)});var or,nr,ar,sr=rr.inspectSource,cr=F,lr=r.WeakMap,dr=cr(lr)&&/native code/.test(String(lr)),ur=Ke,hr=Pe("keys"),pr=function(e){return hr[e]||(hr[e]=ur(e))},mr={},fr=dr,_r=r,gr=H,Er=qt,vr=He,yr=Me,Tr=pr,Ir=mr,Ar="Object already initialized",Sr=_r.TypeError,Rr=_r.WeakMap;if(fr||yr.state){var br=yr.state||(yr.state=new Rr);br.get=br.get,br.has=br.has,br.set=br.set,or=function(e,t){if(br.has(e))throw new Sr(Ar);return t.facade=e,br.set(e,t),t},nr=function(e){return br.get(e)||{}},ar=function(e){return br.has(e)}}else{var wr=Tr("state");Ir[wr]=!0,or=function(e,t){if(vr(e,wr))throw new Sr(Ar);return t.facade=e,Er(e,wr,t),t},nr=function(e){return vr(e,wr)?e[wr]:{}},ar=function(e){return vr(e,wr)}}var Cr={set:or,get:nr,has:ar,enforce:function(e){return ar(e)?nr(e):or(e,{})},getterFor:function(e){return function(t){var r;if(!gr(t)||(r=nr(t)).type!==e)throw new Sr("Incompatible receiver, "+e+" required");return r}}},Dr=T,Nr=o,kr=F,Or=He,Mr=n,Lr=er.CONFIGURABLE,Pr=sr,xr=Cr.enforce,Ur=Cr.get,Vr=String,Fr=Object.defineProperty,Br=Dr("".slice),Hr=Dr("".replace),Wr=Dr([].join),jr=Mr&&!Nr((function(){return 8!==Fr((function(){}),"length",{value:8}).length})),Gr=String(String).split("String"),zr=Yt.exports=function(e,t,r){"Symbol("===Br(Vr(t),0,7)&&(t="["+Hr(Vr(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!Or(e,"name")||Lr&&e.name!==t)&&(Mr?Fr(e,"name",{value:t,configurable:!0}):e.name=t),jr&&r&&Or(r,"arity")&&e.length!==r.arity&&Fr(e,"length",{value:r.arity});try{r&&Or(r,"constructor")&&r.constructor?Mr&&Fr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var i=xr(e);return Or(i,"source")||(i.source=Wr(Gr,"string"==typeof t?t:"")),e};Function.prototype.toString=zr((function(){return kr(this)&&Ur(this).source||Pr(this)}),"toString");var Kr=Yt.exports,qr=F,Yr=Ct,Jr=Kr,Xr=Ce,$r=function(e,t,r,i){i||(i={});var o=i.enumerable,n=void 0!==i.name?i.name:t;if(qr(r)&&Jr(r,n,i),i.global)o?e[t]=r:Xr(t,r);else{try{i.unsafe?e[t]&&(o=!0):delete e[t]}catch(a){}o?e[t]=r:Yr.f(e,t,{value:r,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return e},Qr={},Zr=Math.ceil,ei=Math.floor,ti=Math.trunc||function(e){var t=+e;return(t>0?ei:Zr)(t)},ri=ti,ii=function(e){var t=+e;return t!=t||0===t?0:ri(t)},oi=ii,ni=Math.max,ai=Math.min,si=function(e,t){var r=oi(e);return r<0?ni(r+t,0):ai(r,t)},ci=ii,li=Math.min,di=function(e){var t=ci(e);return t>0?li(t,9007199254740991):0},ui=di,hi=function(e){return ui(e.length)},pi=U,mi=si,fi=hi,_i=function(e){return function(t,r,i){var o=pi(t),n=fi(o);if(0===n)return!e&&-1;var a,s=mi(i,n);if(e&&r!=r){for(;n>s;)if((a=o[s++])!=a)return!0}else for(;n>s;s++)if((e||s in o)&&o[s]===r)return e||s||0;return!e&&-1}},gi={includes:_i(!0),indexOf:_i(!1)},Ei=He,vi=U,yi=gi.indexOf,Ti=mr,Ii=T([].push),Ai=function(e,t){var r,i=vi(e),o=0,n=[];for(r in i)!Ei(Ti,r)&&Ei(i,r)&&Ii(n,r);for(;t.length>o;)Ei(i,r=t[o++])&&(~yi(n,r)||Ii(n,r));return n},Si=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ri=Ai,bi=Si.concat("length","prototype");Qr.f=Object.getOwnPropertyNames||function(e){return Ri(e,bi)};var wi={};wi.f=Object.getOwnPropertySymbols;var Ci=G,Di=Qr,Ni=wi,ki=Mt,Oi=T([].concat),Mi=Ci("Reflect","ownKeys")||function(e){var t=Di.f(ki(e)),r=Ni.f;return r?Oi(t,r(e)):t},Li=He,Pi=Mi,xi=i,Ui=Ct,Vi=function(e,t,r){for(var i=Pi(t),o=Ui.f,n=xi.f,a=0;a<i.length;a++){var s=i[a];Li(e,s)||r&&Li(r,s)||o(e,s,n(t,s))}},Fi=o,Bi=F,Hi=/#|\.prototype\./,Wi=function(e,t){var r=Gi[ji(e)];return r===Ki||r!==zi&&(Bi(t)?Fi(t):!!t)},ji=Wi.normalize=function(e){return String(e).replace(Hi,".").toLowerCase()},Gi=Wi.data={},zi=Wi.NATIVE="N",Ki=Wi.POLYFILL="P",qi=Wi,Yi=r,Ji=i.f,Xi=qt,$i=$r,Qi=Ce,Zi=Vi,eo=qi,to=function(e,t){var r,i,o,n,a,s=e.target,c=e.global,l=e.stat;if(r=c?Yi:l?Yi[s]||Qi(s,{}):Yi[s]&&Yi[s].prototype)for(i in t){if(n=t[i],o=e.dontCallGetSet?(a=Ji(r,i))&&a.value:r[i],!eo(c?i:s+(l?".":"#")+i,e.forced)&&void 0!==o){if(typeof n==typeof o)continue;Zi(n,o)}(e.sham||o&&o.sham)&&Xi(n,"sham",!0),$i(r,i,n,e)}},ro={};ro[tt("toStringTag")]="z";var io="[object z]"===String(ro),oo=F,no=R,ao=tt("toStringTag"),so=Object,co="Arguments"===no(function(){return arguments}()),lo=io?no:function(e){var t,r,i;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(r){}}(t=so(e),ao))?r:co?no(t):"Object"===(i=no(t))&&oo(t.callee)?"Arguments":i},uo=lo,ho=String,po=function(e){if("Symbol"===uo(e))throw new TypeError("Cannot convert a Symbol value to a string");return ho(e)},mo=Kr,fo=Ct,_o=function(e,t,r){return r.get&&mo(r.get,t,{getter:!0}),r.set&&mo(r.set,t,{setter:!0}),fo.f(e,t,r)},go=to,Eo=n,vo=T,yo=He,To=F,Io=z,Ao=po,So=_o,Ro=Vi,bo=r.Symbol,wo=bo&&bo.prototype;if(Eo&&To(bo)&&(!("description"in wo)||void 0!==bo().description)){var Co={},Do=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:Ao(arguments[0]),t=Io(wo,this)?new bo(e):void 0===e?bo():bo(e);return""===e&&(Co[t]=!0),t};Ro(Do,bo),Do.prototype=wo,wo.constructor=Do;var No="Symbol(description detection)"===String(bo("description detection")),ko=vo(wo.valueOf),Oo=vo(wo.toString),Mo=/^Symbol\((.*)\)[^)]+$/,Lo=vo("".replace),Po=vo("".slice);So(wo,"description",{configurable:!0,get:function(){var e=ko(this);if(yo(Co,e))return"";var t=Oo(e),r=No?Po(t,7,-1):Lo(t,Mo,"$1");return""===r?void 0:r}}),go({global:!0,constructor:!0,forced:!0},{Symbol:Do})}var xo=r,Uo={},Vo=tt;Uo.f=Vo;var Fo=xo,Bo=He,Ho=Uo,Wo=Ct.f,jo=function(e){var t=Fo.Symbol||(Fo.Symbol={});Bo(t,e)||Wo(t,e,{value:Ho.f(e)})};jo("asyncIterator");var Go=R,zo=Array.isArray||function(e){return"Array"===Go(e)},Ko=TypeError,qo=R,Yo=T,Jo=function(e){if("Function"===qo(e))return Yo(e)},Xo=ge,$o=a,Qo=Jo(Jo.bind),Zo=function(e,t){return Xo(e),void 0===t?e:$o?Qo(e,t):function(){return e.apply(t,arguments)}},en=zo,tn=hi,rn=function(e){if(e>9007199254740991)throw Ko("Maximum allowed index exceeded");return e},on=Zo,nn=function(e,t,r,i,o,n,a,s){for(var c,l,d=o,u=0,h=!!a&&on(a,s);u<i;)u in r&&(c=h?h(r[u],u,t):r[u],n>0&&en(c)?(l=tn(c),d=nn(e,t,c,l,d,n-1)-1):(rn(d+1),e[d]=c),d++),u++;return d},an=nn,sn=T,cn=o,ln=F,dn=lo,un=sr,hn=function(){},pn=G("Reflect","construct"),mn=/^\s*(?:class|function)\b/,fn=sn(mn.exec),_n=!mn.test(hn),gn=function(e){if(!ln(e))return!1;try{return pn(hn,[],e),!0}catch(t){return!1}},En=function(e){if(!ln(e))return!1;switch(dn(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return _n||!!fn(mn,un(e))}catch(t){return!0}};En.sham=!0;var vn=!pn||cn((function(){var e;return gn(gn.call)||!gn(Object)||!gn((function(){e=!0}))||e}))?En:gn,yn=zo,Tn=vn,In=H,An=tt("species"),Sn=Array,Rn=function(e){var t;return yn(e)&&(t=e.constructor,(Tn(t)&&(t===Sn||yn(t.prototype))||In(t)&&null===(t=t[An]))&&(t=void 0)),void 0===t?Sn:t},bn=function(e,t){return new(Rn(e))(0===t?0:t)},wn=an,Cn=Ve,Dn=hi,Nn=ii,kn=bn;to({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=Cn(this),r=Dn(t),i=kn(t,0);return i.length=wn(i,t,t,r,0,void 0===e?1:Nn(e)),i}});var On={},Mn=Ai,Ln=Si,Pn=Object.keys||function(e){return Mn(e,Ln)},xn=n,Un=Dt,Vn=Ct,Fn=Mt,Bn=U,Hn=Pn;On.f=xn&&!Un?Object.defineProperties:function(e,t){Fn(e);for(var r,i=Bn(t),o=Hn(t),n=o.length,a=0;n>a;)Vn.f(e,r=o[a++],i[r]);return e};var Wn,jn=G("document","documentElement"),Gn=Mt,zn=On,Kn=Si,qn=mr,Yn=jn,Jn=_t,Xn="prototype",$n="script",Qn=pr("IE_PROTO"),Zn=function(){},ea=function(e){return"<"+$n+">"+e+"</"+$n+">"},ta=function(e){e.write(ea("")),e.close();var t=e.parentWindow.Object;return e=null,t},ra=function(){try{Wn=new ActiveXObject("htmlfile")}catch(t){}ra="undefined"!=typeof document?document.domain&&Wn?ta(Wn):function(){var e,t=Jn("iframe"),r="java"+$n+":";return t.style.display="none",Yn.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(ea("document.F=Object")),e.close(),e.F}():ta(Wn);for(var e=Kn.length;e--;)delete ra[Xn][Kn[e]];return ra()};qn[Qn]=!0;var ia=Object.create||function(e,t){var r;return null!==e?(Zn[Xn]=Gn(e),r=new Zn,Zn[Xn]=null,r[Qn]=e):r=ra(),void 0===t?r:zn.f(r,t)},oa=tt,na=ia,aa=Ct.f,sa=oa("unscopables"),ca=Array.prototype;void 0===ca[sa]&&aa(ca,sa,{configurable:!0,value:na(null)});var la=function(e){ca[sa][e]=!0},da=gi.includes,ua=la;to({target:"Array",proto:!0,forced:o((function(){return!Array(1).includes()}))},{includes:function(e){return da(this,e,arguments.length>1?arguments[1]:void 0)}}),ua("includes");var ha,pa,ma,fa={},_a=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),ga=He,Ea=F,va=Ve,ya=_a,Ta=pr("IE_PROTO"),Ia=Object,Aa=Ia.prototype,Sa=ya?Ia.getPrototypeOf:function(e){var t=va(e);if(ga(t,Ta))return t[Ta];var r=t.constructor;return Ea(r)&&t instanceof r?r.prototype:t instanceof Ia?Aa:null},Ra=o,ba=F,wa=H,Ca=Sa,Da=$r,Na=tt("iterator"),ka=!1;[].keys&&("next"in(ma=[].keys())?(pa=Ca(Ca(ma)))!==Object.prototype&&(ha=pa):ka=!0);var Oa=!wa(ha)||Ra((function(){var e={};return ha[Na].call(e)!==e}));Oa&&(ha={}),ba(ha[Na])||Da(ha,Na,(function(){return this}));var Ma={IteratorPrototype:ha,BUGGY_SAFARI_ITERATORS:ka},La=Ct.f,Pa=He,xa=tt("toStringTag"),Ua=function(e,t,r){e&&!r&&(e=e.prototype),e&&!Pa(e,xa)&&La(e,xa,{configurable:!0,value:t})},Va=Ma.IteratorPrototype,Fa=ia,Ba=_,Ha=Ua,Wa=fa,ja=function(){return this},Ga=function(e,t,r,i){var o=t+" Iterator";return e.prototype=Fa(Va,{next:Ba(+!i,r)}),Ha(e,o,!1),Wa[o]=ja,e},za=T,Ka=ge,qa=H,Ya=function(e){return qa(e)||null===e},Ja=String,Xa=TypeError,$a=function(e,t,r){try{return za(Ka(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(i){}},Qa=H,Za=L,es=function(e){if(Ya(e))return e;throw new Xa("Can't set "+Ja(e)+" as a prototype")},ts=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=$a(Object.prototype,"__proto__","set"))(r,[]),t=r instanceof Array}catch(i){}return function(r,i){return Za(r),es(i),Qa(r)?(t?e(r,i):r.__proto__=i,r):r}}():void 0),rs=to,is=l,os=F,ns=Ga,as=Sa,ss=ts,cs=Ua,ls=qt,ds=$r,us=fa,hs=er.PROPER,ps=er.CONFIGURABLE,ms=Ma.IteratorPrototype,fs=Ma.BUGGY_SAFARI_ITERATORS,_s=tt("iterator"),gs="keys",Es="values",vs="entries",ys=function(){return this},Ts=function(e,t,r,i,o,n,a){ns(r,t,i);var s,c,l,d=function(e){if(e===o&&f)return f;if(!fs&&e&&e in p)return p[e];switch(e){case gs:case Es:case vs:return function(){return new r(this,e)}}return function(){return new r(this)}},u=t+" Iterator",h=!1,p=e.prototype,m=p[_s]||p["@@iterator"]||o&&p[o],f=!fs&&m||d(o),_="Array"===t&&p.entries||m;if(_&&(s=as(_.call(new e)))!==Object.prototype&&s.next&&(as(s)!==ms&&(ss?ss(s,ms):os(s[_s])||ds(s,_s,ys)),cs(s,u,!0)),hs&&o===Es&&m&&m.name!==Es&&(ps?ls(p,"name",Es):(h=!0,f=function(){return is(m,this)})),o)if(c={values:d(Es),keys:n?f:d(gs),entries:d(vs)},a)for(l in c)(fs||h||!(l in p))&&ds(p,l,c[l]);else rs({target:t,proto:!0,forced:fs||h},c);return p[_s]!==f&&ds(p,_s,f,{name:o}),us[t]=f,c},Is=function(e,t){return{value:e,done:t}},As=U,Ss=la,Rs=fa,bs=Cr,ws=Ct.f,Cs=Ts,Ds=Is,Ns=n,ks="Array Iterator",Os=bs.set,Ms=bs.getterFor(ks),Ls=Cs(Array,"Array",(function(e,t){Os(this,{type:ks,target:As(e),index:0,kind:t})}),(function(){var e=Ms(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,Ds(void 0,!0);switch(e.kind){case"keys":return Ds(r,!1);case"values":return Ds(t[r],!1)}return Ds([r,t[r]],!1)}),"values"),Ps=Rs.Arguments=Rs.Array;if(Ss("keys"),Ss("values"),Ss("entries"),Ns&&"values"!==Ps.name)try{ws(Ps,"name",{value:"values"})}catch(xG){}var xs=ge,Us=Ve,Vs=N,Fs=hi,Bs=TypeError,Hs="Reduce of empty array with no initial value",Ws=function(e){return function(t,r,i,o){var n=Us(t),a=Vs(n),s=Fs(n);if(xs(r),0===s&&i<2)throw new Bs(Hs);var c=e?s-1:0,l=e?-1:1;if(i<2)for(;;){if(c in a){o=a[c],c+=l;break}if(c+=l,e?c<0:s<=c)throw new Bs(Hs)}for(;e?c>=0:s>c;c+=l)c in a&&(o=r(o,a[c],c,n));return o}},js={left:Ws(!1),right:Ws(!0)},Gs=o,zs=function(e,t){var r=[][e];return!!r&&Gs((function(){r.call(null,t||function(){return 1},1)}))},Ks=r,qs=Y,Ys=R,Js=function(e){return qs.slice(0,e.length)===e},Xs=Js("Bun/")?"BUN":Js("Cloudflare-Workers")?"CLOUDFLARE":Js("Deno/")?"DENO":Js("Node.js/")?"NODE":Ks.Bun&&"string"==typeof Bun.version?"BUN":Ks.Deno&&"object"==typeof Deno.version?"DENO":"process"===Ys(Ks.process)?"NODE":Ks.window&&Ks.document?"BROWSER":"REST",$s="NODE"===Xs,Qs=js.left;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!zs("reduce")},{reduce:function(e){var t=arguments.length;return Qs(this,e,t,t>1?arguments[1]:void 0)}});var Zs=js.right;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!zs("reduceRight")},{reduceRight:function(e){return Zs(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}});var ec=to,tc=zo,rc=T([].reverse),ic=[1,2];ec({target:"Array",proto:!0,forced:String(ic)===String(ic.reverse())},{reverse:function(){return tc(this)&&(this.length=this.length),rc(this)}});var oc=pe,nc=TypeError,ac=T([].slice),sc=ac,cc=Math.floor,lc=function(e,t){var r=e.length;if(r<8)for(var i,o,n=1;n<r;){for(o=n,i=e[n];o&&t(e[o-1],i)>0;)e[o]=e[--o];o!==n++&&(e[o]=i)}else for(var a=cc(r/2),s=lc(sc(e,0,a),t),c=lc(sc(e,a),t),l=s.length,d=c.length,u=0,h=0;u<l||h<d;)e[u+h]=u<l&&h<d?t(s[u],c[h])<=0?s[u++]:c[h++]:u<l?s[u++]:c[h++];return e},dc=lc,uc=Y.match(/firefox\/(\d+)/i),hc=!!uc&&+uc[1],pc=/MSIE|Trident/.test(Y),mc=Y.match(/AppleWebKit\/(\d+)\./),fc=!!mc&&+mc[1],_c=to,gc=T,Ec=ge,vc=Ve,yc=hi,Tc=function(e,t){if(!delete e[t])throw new nc("Cannot delete property "+oc(t)+" of "+oc(e))},Ic=po,Ac=o,Sc=dc,Rc=zs,bc=hc,wc=pc,Cc=te,Dc=fc,Nc=[],kc=gc(Nc.sort),Oc=gc(Nc.push),Mc=Ac((function(){Nc.sort(void 0)})),Lc=Ac((function(){Nc.sort(null)})),Pc=Rc("sort"),xc=!Ac((function(){if(Cc)return Cc<70;if(!(bc&&bc>3)){if(wc)return!0;if(Dc)return Dc<603;var e,t,r,i,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(i=0;i<47;i++)Nc.push({k:t+i,v:r})}for(Nc.sort((function(e,t){return t.v-e.v})),i=0;i<Nc.length;i++)t=Nc[i].k.charAt(0),o.charAt(o.length-1)!==t&&(o+=t);return"DGBEFHACIJK"!==o}}));_c({target:"Array",proto:!0,forced:Mc||!Lc||!Pc||!xc},{sort:function(e){void 0!==e&&Ec(e);var t=vc(this);if(xc)return void 0===e?kc(t):kc(t,e);var r,i,o=[],n=yc(t);for(i=0;i<n;i++)i in t&&Oc(o,t[i]);for(Sc(o,function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:Ic(t)>Ic(r)?1:-1}}(e)),r=yc(o),i=0;i<r;)t[i]=o[i++];for(;i<n;)Tc(t,i++);return t}}),la("flat");var Uc="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,Vc=$r,Fc=function(e,t,r){for(var i in t)Vc(e,i,t[i],r);return e},Bc=z,Hc=TypeError,Wc=function(e,t){if(Bc(t,e))return e;throw new Hc("Incorrect invocation")},jc=ii,Gc=di,zc=RangeError,Kc=function(e){if(void 0===e)return 0;var t=jc(e),r=Gc(t);if(t!==r)throw new zc("Wrong length or index");return r},qc=Math.sign||function(e){var t=+e;return 0===t||t!=t?t:t<0?-1:1},Yc=4503599627370496,Jc=qc,Xc=function(e){return e+Yc-Yc},$c=Math.abs,Qc=function(e,t,r,i){var o=+e,n=$c(o),a=Jc(o);if(n<i)return a*Xc(n/i/t)*i*t;var s=(1+t/2220446049250313e-31)*n,c=s-(s-n);return c>r||c!=c?Infinity*a:a*c},Zc=Math.fround||function(e){return Qc(e,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)},el=Array,tl=Math.abs,rl=Math.pow,il=Math.floor,ol=Math.log,nl=Math.LN2,al={pack:function(e,t,r){var i,o,n,a=el(r),s=8*r-t-1,c=(1<<s)-1,l=c>>1,d=23===t?rl(2,-24)-rl(2,-77):0,u=e<0||0===e&&1/e<0?1:0,h=0;for((e=tl(e))!=e||Infinity===e?(o=e!=e?1:0,i=c):(i=il(ol(e)/nl),e*(n=rl(2,-i))<1&&(i--,n*=2),(e+=i+l>=1?d/n:d*rl(2,1-l))*n>=2&&(i++,n/=2),i+l>=c?(o=0,i=c):i+l>=1?(o=(e*n-1)*rl(2,t),i+=l):(o=e*rl(2,l-1)*rl(2,t),i=0));t>=8;)a[h++]=255&o,o/=256,t-=8;for(i=i<<t|o,s+=t;s>0;)a[h++]=255&i,i/=256,s-=8;return a[h-1]|=128*u,a},unpack:function(e,t){var r,i=e.length,o=8*i-t-1,n=(1<<o)-1,a=n>>1,s=o-7,c=i-1,l=e[c--],d=127&l;for(l>>=7;s>0;)d=256*d+e[c--],s-=8;for(r=d&(1<<-s)-1,d>>=-s,s+=t;s>0;)r=256*r+e[c--],s-=8;if(0===d)d=1-a;else{if(d===n)return r?NaN:l?-Infinity:Infinity;r+=rl(2,t),d-=a}return(l?-1:1)*r*rl(2,d-t)}},sl=Ve,cl=si,ll=hi,dl=function(e){for(var t=sl(this),r=ll(t),i=arguments.length,o=cl(i>1?arguments[1]:void 0,r),n=i>2?arguments[2]:void 0,a=void 0===n?r:cl(n,r);a>o;)t[o++]=e;return t},ul=F,hl=H,pl=ts,ml=function(e,t,r){var i,o;return pl&&ul(i=t.constructor)&&i!==r&&hl(o=i.prototype)&&o!==r.prototype&&pl(e,o),e},fl=r,_l=T,gl=n,El=Uc,vl=qt,yl=_o,Tl=Fc,Il=o,Al=Wc,Sl=ii,Rl=di,bl=Kc,wl=Zc,Cl=al,Dl=Sa,Nl=ts,kl=dl,Ol=ac,Ml=ml,Ll=Vi,Pl=Ua,xl=Cr,Ul=er.PROPER,Vl=er.CONFIGURABLE,Fl="ArrayBuffer",Bl="DataView",Hl="prototype",Wl="Wrong index",jl=xl.getterFor(Fl),Gl=xl.getterFor(Bl),zl=xl.set,Kl=fl[Fl],ql=Kl,Yl=ql&&ql[Hl],Jl=fl[Bl],Xl=Jl&&Jl[Hl],$l=Object.prototype,Ql=fl.Array,Zl=fl.RangeError,ed=_l(kl),td=_l([].reverse),rd=Cl.pack,id=Cl.unpack,od=function(e){return[255&e]},nd=function(e){return[255&e,e>>8&255]},ad=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},sd=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},cd=function(e){return rd(wl(e),23,4)},ld=function(e){return rd(e,52,8)},dd=function(e,t,r){yl(e[Hl],t,{configurable:!0,get:function(){return r(this)[t]}})},ud=function(e,t,r,i){var o=Gl(e),n=bl(r),a=!!i;if(n+t>o.byteLength)throw new Zl(Wl);var s=o.bytes,c=n+o.byteOffset,l=Ol(s,c,c+t);return a?l:td(l)},hd=function(e,t,r,i,o,n){var a=Gl(e),s=bl(r),c=i(+o),l=!!n;if(s+t>a.byteLength)throw new Zl(Wl);for(var d=a.bytes,u=s+a.byteOffset,h=0;h<t;h++)d[u+h]=c[l?h:t-h-1]};if(El){var pd=Ul&&Kl.name!==Fl;Il((function(){Kl(1)}))&&Il((function(){new Kl(-1)}))&&!Il((function(){return new Kl,new Kl(1.5),new Kl(NaN),1!==Kl.length||pd&&!Vl}))?pd&&Vl&&vl(Kl,"name",Fl):((ql=function(e){return Al(this,Yl),Ml(new Kl(bl(e)),this,ql)})[Hl]=Yl,Yl.constructor=ql,Ll(ql,Kl)),Nl&&Dl(Xl)!==$l&&Nl(Xl,$l);var md=new Jl(new ql(2)),fd=_l(Xl.setInt8);md.setInt8(0,2147483648),md.setInt8(1,2147483649),!md.getInt8(0)&&md.getInt8(1)||Tl(Xl,{setInt8:function(e,t){fd(this,e,t<<24>>24)},setUint8:function(e,t){fd(this,e,t<<24>>24)}},{unsafe:!0})}else Yl=(ql=function(e){Al(this,Yl);var t=bl(e);zl(this,{type:Fl,bytes:ed(Ql(t),0),byteLength:t}),gl||(this.byteLength=t,this.detached=!1)})[Hl],Xl=(Jl=function(e,t,r){Al(this,Xl),Al(e,Yl);var i=jl(e),o=i.byteLength,n=Sl(t);if(n<0||n>o)throw new Zl("Wrong offset");if(n+(r=void 0===r?o-n:Rl(r))>o)throw new Zl("Wrong length");zl(this,{type:Bl,buffer:e,byteLength:r,byteOffset:n,bytes:i.bytes}),gl||(this.buffer=e,this.byteLength=r,this.byteOffset=n)})[Hl],gl&&(dd(ql,"byteLength",jl),dd(Jl,"buffer",Gl),dd(Jl,"byteLength",Gl),dd(Jl,"byteOffset",Gl)),Tl(Xl,{getInt8:function(e){return ud(this,1,e)[0]<<24>>24},getUint8:function(e){return ud(this,1,e)[0]},getInt16:function(e){var t=ud(this,2,e,arguments.length>1&&arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=ud(this,2,e,arguments.length>1&&arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return sd(ud(this,4,e,arguments.length>1&&arguments[1]))},getUint32:function(e){return sd(ud(this,4,e,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(e){return id(ud(this,4,e,arguments.length>1&&arguments[1]),23)},getFloat64:function(e){return id(ud(this,8,e,arguments.length>1&&arguments[1]),52)},setInt8:function(e,t){hd(this,1,e,od,t)},setUint8:function(e,t){hd(this,1,e,od,t)},setInt16:function(e,t){hd(this,2,e,nd,t,arguments.length>2&&arguments[2])},setUint16:function(e,t){hd(this,2,e,nd,t,arguments.length>2&&arguments[2])},setInt32:function(e,t){hd(this,4,e,ad,t,arguments.length>2&&arguments[2])},setUint32:function(e,t){hd(this,4,e,ad,t,arguments.length>2&&arguments[2])},setFloat32:function(e,t){hd(this,4,e,cd,t,arguments.length>2&&arguments[2])},setFloat64:function(e,t){hd(this,8,e,ld,t,arguments.length>2&&arguments[2])}});Pl(ql,Fl),Pl(Jl,Bl);var _d={ArrayBuffer:ql,DataView:Jl},gd=G,Ed=_o,vd=n,yd=tt("species"),Td=function(e){var t=gd(e);vd&&t&&!t[yd]&&Ed(t,yd,{configurable:!0,get:function(){return this}})},Id=Td,Ad="ArrayBuffer",Sd=_d[Ad];to({global:!0,constructor:!0,forced:r[Ad]!==Sd},{ArrayBuffer:Sd}),Id(Ad);var Rd=to,bd=Jo,wd=o,Cd=Mt,Dd=si,Nd=di,kd=_d.ArrayBuffer,Od=_d.DataView,Md=Od.prototype,Ld=bd(kd.prototype.slice),Pd=bd(Md.getUint8),xd=bd(Md.setUint8);Rd({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:wd((function(){return!new kd(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(Ld&&void 0===t)return Ld(Cd(this),e);for(var r=Cd(this).byteLength,i=Dd(e,r),o=Dd(void 0===t?r:t,r),n=new kd(Nd(o-i)),a=new Od(this),s=new Od(n),c=0;i<o;)xd(s,c++,Pd(a,i++));return n}});var Ud,Vd,Fd,Bd,Hd=vn,Wd=pe,jd=TypeError,Gd=function(e){if(Hd(e))return e;throw new jd(Wd(e)+" is not a constructor")},zd=Mt,Kd=Gd,qd=k,Yd=tt("species"),Jd=function(e,t){var r,i=zd(e).constructor;return void 0===i||qd(r=zd(i)[Yd])?t:Kd(r)},Xd=a,$d=Function.prototype,Qd=$d.apply,Zd=$d.call,eu="object"==typeof Reflect&&Reflect.apply||(Xd?Zd.bind(Qd):function(){return Zd.apply(Qd,arguments)}),tu=TypeError,ru=function(e,t){if(e<t)throw new tu("Not enough arguments");return e},iu=/(?:ipad|iphone|ipod).*applewebkit/i.test(Y),ou=r,nu=eu,au=Zo,su=F,cu=He,lu=o,du=jn,uu=ac,hu=_t,pu=ru,mu=iu,fu=$s,_u=ou.setImmediate,gu=ou.clearImmediate,Eu=ou.process,vu=ou.Dispatch,yu=ou.Function,Tu=ou.MessageChannel,Iu=ou.String,Au=0,Su={},Ru="onreadystatechange";lu((function(){Ud=ou.location}));var bu=function(e){if(cu(Su,e)){var t=Su[e];delete Su[e],t()}},wu=function(e){return function(){bu(e)}},Cu=function(e){bu(e.data)},Du=function(e){ou.postMessage(Iu(e),Ud.protocol+"//"+Ud.host)};_u&&gu||(_u=function(e){pu(arguments.length,1);var t=su(e)?e:yu(e),r=uu(arguments,1);return Su[++Au]=function(){nu(t,void 0,r)},Vd(Au),Au},gu=function(e){delete Su[e]},fu?Vd=function(e){Eu.nextTick(wu(e))}:vu&&vu.now?Vd=function(e){vu.now(wu(e))}:Tu&&!mu?(Bd=(Fd=new Tu).port2,Fd.port1.onmessage=Cu,Vd=au(Bd.postMessage,Bd)):ou.addEventListener&&su(ou.postMessage)&&!ou.importScripts&&Ud&&"file:"!==Ud.protocol&&!lu(Du)?(Vd=Du,ou.addEventListener("message",Cu,!1)):Vd=Ru in hu("script")?function(e){du.appendChild(hu("script"))[Ru]=function(){du.removeChild(this),bu(e)}}:function(e){setTimeout(wu(e),0)});var Nu={set:_u,clear:gu},ku=r,Ou=n,Mu=Object.getOwnPropertyDescriptor,Lu=function(e){if(!Ou)return ku[e];var t=Mu(ku,e);return t&&t.value},Pu=function(){this.head=null,this.tail=null};Pu.prototype={add:function(e){var t={item:e,next:null},r=this.tail;r?r.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return null===(this.head=e.next)&&(this.tail=null),e.item}};var xu,Uu,Vu,Fu,Bu,Hu=Pu,Wu=/ipad|iphone|ipod/i.test(Y)&&"undefined"!=typeof Pebble,ju=/web0s(?!.*chrome)/i.test(Y),Gu=r,zu=Lu,Ku=Zo,qu=Nu.set,Yu=Hu,Ju=iu,Xu=Wu,$u=ju,Qu=$s,Zu=Gu.MutationObserver||Gu.WebKitMutationObserver,eh=Gu.document,th=Gu.process,rh=Gu.Promise,ih=zu("queueMicrotask");if(!ih){var oh=new Yu,nh=function(){var e,t;for(Qu&&(e=th.domain)&&e.exit();t=oh.get();)try{t()}catch(xG){throw oh.head&&xu(),xG}e&&e.enter()};Ju||Qu||$u||!Zu||!eh?!Xu&&rh&&rh.resolve?((Fu=rh.resolve(void 0)).constructor=rh,Bu=Ku(Fu.then,Fu),xu=function(){Bu(nh)}):Qu?xu=function(){th.nextTick(nh)}:(qu=Ku(qu,Gu),xu=function(){qu(nh)}):(Uu=!0,Vu=eh.createTextNode(""),new Zu(nh).observe(Vu,{characterData:!0}),xu=function(){Vu.data=Uu=!Uu}),ih=function(e){oh.head||xu(),oh.add(e)}}var ah=ih,sh=function(e){try{return{error:!1,value:e()}}catch(xG){return{error:!0,value:xG}}},ch=r.Promise,lh=r,dh=ch,uh=F,hh=qi,ph=sr,mh=tt,fh=Xs,_h=te;dh&&dh.prototype;var gh=mh("species"),Eh=!1,vh=uh(lh.PromiseRejectionEvent),yh=hh("Promise",(function(){var e=ph(dh),t=e!==String(dh);if(!t&&66===_h)return!0;if(!_h||_h<51||!/native code/.test(e)){var r=new dh((function(e){e(1)})),i=function(e){e((function(){}),(function(){}))};if((r.constructor={})[gh]=i,!(Eh=r.then((function(){}))instanceof i))return!0}return!(t||"BROWSER"!==fh&&"DENO"!==fh||vh)})),Th={CONSTRUCTOR:yh,REJECTION_EVENT:vh,SUBCLASSING:Eh},Ih={},Ah=ge,Sh=TypeError,Rh=function(e){var t,r;this.promise=new e((function(e,i){if(void 0!==t||void 0!==r)throw new Sh("Bad Promise constructor");t=e,r=i})),this.resolve=Ah(t),this.reject=Ah(r)};Ih.f=function(e){return new Rh(e)};var bh,wh,Ch,Dh=to,Nh=$s,kh=r,Oh=l,Mh=$r,Lh=ts,Ph=Ua,xh=Td,Uh=ge,Vh=F,Fh=H,Bh=Wc,Hh=Jd,Wh=Nu.set,jh=ah,Gh=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(xG){}},zh=sh,Kh=Hu,qh=Cr,Yh=ch,Jh=Ih,Xh="Promise",$h=Th.CONSTRUCTOR,Qh=Th.REJECTION_EVENT,Zh=Th.SUBCLASSING,ep=qh.getterFor(Xh),tp=qh.set,rp=Yh&&Yh.prototype,ip=Yh,op=rp,np=kh.TypeError,ap=kh.document,sp=kh.process,cp=Jh.f,lp=cp,dp=!!(ap&&ap.createEvent&&kh.dispatchEvent),up="unhandledrejection",hp=function(e){var t;return!(!Fh(e)||!Vh(t=e.then))&&t},pp=function(e,t){var r,i,o,n=t.value,a=1===t.state,s=a?e.ok:e.fail,c=e.resolve,l=e.reject,d=e.domain;try{s?(a||(2===t.rejection&&Ep(t),t.rejection=1),!0===s?r=n:(d&&d.enter(),r=s(n),d&&(d.exit(),o=!0)),r===e.promise?l(new np("Promise-chain cycle")):(i=hp(r))?Oh(i,r,c,l):c(r)):l(n)}catch(xG){d&&!o&&d.exit(),l(xG)}},mp=function(e,t){e.notified||(e.notified=!0,jh((function(){for(var r,i=e.reactions;r=i.get();)pp(r,e);e.notified=!1,t&&!e.rejection&&_p(e)})))},fp=function(e,t,r){var i,o;dp?((i=ap.createEvent("Event")).promise=t,i.reason=r,i.initEvent(e,!1,!0),kh.dispatchEvent(i)):i={promise:t,reason:r},!Qh&&(o=kh["on"+e])?o(i):e===up&&Gh("Unhandled promise rejection",r)},_p=function(e){Oh(Wh,kh,(function(){var t,r=e.facade,i=e.value;if(gp(e)&&(t=zh((function(){Nh?sp.emit("unhandledRejection",i,r):fp(up,r,i)})),e.rejection=Nh||gp(e)?2:1,t.error))throw t.value}))},gp=function(e){return 1!==e.rejection&&!e.parent},Ep=function(e){Oh(Wh,kh,(function(){var t=e.facade;Nh?sp.emit("rejectionHandled",t):fp("rejectionhandled",t,e.value)}))},vp=function(e,t,r){return function(i){e(t,i,r)}},yp=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=2,mp(e,!0))},Tp=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw new np("Promise can't be resolved itself");var i=hp(t);i?jh((function(){var r={done:!1};try{Oh(i,t,vp(Tp,r,e),vp(yp,r,e))}catch(xG){yp(r,xG,e)}})):(e.value=t,e.state=1,mp(e,!1))}catch(xG){yp({done:!1},xG,e)}}};if($h&&(op=(ip=function(e){Bh(this,op),Uh(e),Oh(bh,this);var t=ep(this);try{e(vp(Tp,t),vp(yp,t))}catch(xG){yp(t,xG)}}).prototype,(bh=function(e){tp(this,{type:Xh,done:!1,notified:!1,parent:!1,reactions:new Kh,rejection:!1,state:0,value:null})}).prototype=Mh(op,"then",(function(e,t){var r=ep(this),i=cp(Hh(this,ip));return r.parent=!0,i.ok=!Vh(e)||e,i.fail=Vh(t)&&t,i.domain=Nh?sp.domain:void 0,0===r.state?r.reactions.add(i):jh((function(){pp(i,r)})),i.promise})),wh=function(){var e=new bh,t=ep(e);this.promise=e,this.resolve=vp(Tp,t),this.reject=vp(yp,t)},Jh.f=cp=function(e){return e===ip||undefined===e?new wh(e):lp(e)},Vh(Yh)&&rp!==Object.prototype)){Ch=rp.then,Zh||Mh(rp,"then",(function(e,t){var r=this;return new ip((function(e,t){Oh(Ch,r,e,t)})).then(e,t)}),{unsafe:!0});try{delete rp.constructor}catch(xG){}Lh&&Lh(rp,op)}Dh({global:!0,constructor:!0,wrap:!0,forced:$h},{Promise:ip}),Ph(ip,Xh,!1),xh(Xh);var Ip=fa,Ap=tt("iterator"),Sp=Array.prototype,Rp=function(e){return void 0!==e&&(Ip.Array===e||Sp[Ap]===e)},bp=lo,wp=ye,Cp=k,Dp=fa,Np=tt("iterator"),kp=function(e){if(!Cp(e))return wp(e,Np)||wp(e,"@@iterator")||Dp[bp(e)]},Op=l,Mp=ge,Lp=Mt,Pp=pe,xp=kp,Up=TypeError,Vp=function(e,t){var r=arguments.length<2?xp(e):t;if(Mp(r))return Lp(Op(r,e));throw new Up(Pp(e)+" is not iterable")},Fp=l,Bp=Mt,Hp=ye,Wp=function(e,t,r){var i,o;Bp(e);try{if(!(i=Hp(e,"return"))){if("throw"===t)throw r;return r}i=Fp(i,e)}catch(xG){o=!0,i=xG}if("throw"===t)throw r;if(o)throw i;return Bp(i),r},jp=Zo,Gp=l,zp=Mt,Kp=pe,qp=Rp,Yp=hi,Jp=z,Xp=Vp,$p=kp,Qp=Wp,Zp=TypeError,em=function(e,t){this.stopped=e,this.result=t},tm=em.prototype,rm=function(e,t,r){var i,o,n,a,s,c,l,d=r&&r.that,u=!(!r||!r.AS_ENTRIES),h=!(!r||!r.IS_RECORD),p=!(!r||!r.IS_ITERATOR),m=!(!r||!r.INTERRUPTED),f=jp(t,d),_=function(e){return i&&Qp(i,"normal",e),new em(!0,e)},g=function(e){return u?(zp(e),m?f(e[0],e[1],_):f(e[0],e[1])):m?f(e,_):f(e)};if(h)i=e.iterator;else if(p)i=e;else{if(!(o=$p(e)))throw new Zp(Kp(e)+" is not iterable");if(qp(o)){for(n=0,a=Yp(e);a>n;n++)if((s=g(e[n]))&&Jp(tm,s))return s;return new em(!1)}i=Xp(e,o)}for(c=h?e.next:i.next;!(l=Gp(c,i)).done;){try{s=g(l.value)}catch(xG){Qp(i,"throw",xG)}if("object"==typeof s&&s&&Jp(tm,s))return s}return new em(!1)},im=tt("iterator"),om=!1;try{var nm=0,am={next:function(){return{done:!!nm++}},return:function(){om=!0}};am[im]=function(){return this},Array.from(am,(function(){throw 2}))}catch(xG){}var sm=function(e,t){try{if(!t&&!om)return!1}catch(xG){return!1}var r=!1;try{var i={};i[im]=function(){return{next:function(){return{done:r=!0}}}},e(i)}catch(xG){}return r},cm=ch,lm=Th.CONSTRUCTOR||!sm((function(e){cm.all(e).then(void 0,(function(){}))})),dm=l,um=ge,hm=Ih,pm=sh,mm=rm;to({target:"Promise",stat:!0,forced:lm},{all:function(e){var t=this,r=hm.f(t),i=r.resolve,o=r.reject,n=pm((function(){var r=um(t.resolve),n=[],a=0,s=1;mm(e,(function(e){var c=a++,l=!1;s++,dm(r,t,e).then((function(e){l||(l=!0,n[c]=e,--s||i(n))}),o)})),--s||i(n)}));return n.error&&o(n.value),r.promise}});var fm=to,_m=Th.CONSTRUCTOR,gm=ch,Em=G,vm=F,ym=$r,Tm=gm&&gm.prototype;if(fm({target:"Promise",proto:!0,forced:_m,real:!0},{catch:function(e){return this.then(void 0,e)}}),vm(gm)){var Im=Em("Promise").prototype.catch;Tm.catch!==Im&&ym(Tm,"catch",Im,{unsafe:!0})}var Am=l,Sm=ge,Rm=Ih,bm=sh,wm=rm;to({target:"Promise",stat:!0,forced:lm},{race:function(e){var t=this,r=Rm.f(t),i=r.reject,o=bm((function(){var o=Sm(t.resolve);wm(e,(function(e){Am(o,t,e).then(r.resolve,i)}))}));return o.error&&i(o.value),r.promise}});var Cm=Ih;to({target:"Promise",stat:!0,forced:Th.CONSTRUCTOR},{reject:function(e){var t=Cm.f(this);return(0,t.reject)(e),t.promise}});var Dm=Mt,Nm=H,km=Ih,Om=function(e,t){if(Dm(e),Nm(t)&&t.constructor===e)return t;var r=km.f(e);return(0,r.resolve)(t),r.promise},Mm=to,Lm=Th.CONSTRUCTOR,Pm=Om;G("Promise"),Mm({target:"Promise",stat:!0,forced:Lm},{resolve:function(e){return Pm(this,e)}});var xm=to,Um=ch,Vm=o,Fm=G,Bm=F,Hm=Jd,Wm=Om,jm=$r,Gm=Um&&Um.prototype;if(xm({target:"Promise",proto:!0,real:!0,forced:!!Um&&Vm((function(){Gm.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=Hm(this,Fm("Promise")),r=Bm(e);return this.then(r?function(r){return Wm(t,e()).then((function(){return r}))}:e,r?function(r){return Wm(t,e()).then((function(){throw r}))}:e)}}),Bm(Um)){var zm=Fm("Promise").prototype.finally;Gm.finally!==zm&&jm(Gm,"finally",zm,{unsafe:!0})}var Km=H,qm=R,Ym=tt("match"),Jm=function(e){var t;return Km(e)&&(void 0!==(t=e[Ym])?!!t:"RegExp"===qm(e))},Xm=Mt,$m=function(){var e=Xm(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t},Qm=l,Zm=He,ef=z,tf=$m,rf=RegExp.prototype,of=function(e){var t=e.flags;return void 0!==t||"flags"in rf||Zm(e,"flags")||!ef(rf,e)?t:Qm(tf,e)},nf=o,af=r.RegExp,sf=nf((function(){var e=af("a","y");return e.lastIndex=2,null!==e.exec("abcd")})),cf=sf||nf((function(){return!af("a","y").sticky})),lf={BROKEN_CARET:sf||nf((function(){var e=af("^r","gy");return e.lastIndex=2,null!==e.exec("str")})),MISSED_STICKY:cf,UNSUPPORTED_Y:sf},df=Ct.f,uf=o,hf=r.RegExp,pf=uf((function(){var e=hf(".","s");return!(e.dotAll&&e.test("\n")&&"s"===e.flags)})),mf=o,ff=r.RegExp,_f=mf((function(){var e=ff("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),gf=n,Ef=r,vf=T,yf=qi,Tf=ml,If=qt,Af=ia,Sf=Qr.f,Rf=z,bf=Jm,wf=po,Cf=of,Df=lf,Nf=function(e,t,r){r in e||df(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})},kf=$r,Of=o,Mf=He,Lf=Cr.enforce,Pf=Td,xf=pf,Uf=_f,Vf=tt("match"),Ff=Ef.RegExp,Bf=Ff.prototype,Hf=Ef.SyntaxError,Wf=vf(Bf.exec),jf=vf("".charAt),Gf=vf("".replace),zf=vf("".indexOf),Kf=vf("".slice),qf=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Yf=/a/g,Jf=/a/g,Xf=new Ff(Yf)!==Yf,$f=Df.MISSED_STICKY,Qf=Df.UNSUPPORTED_Y,Zf=gf&&(!Xf||$f||xf||Uf||Of((function(){return Jf[Vf]=!1,Ff(Yf)!==Yf||Ff(Jf)===Jf||"/a/i"!==String(Ff(Yf,"i"))})));if(yf("RegExp",Zf)){for(var e_=function(e,t){var r,i,o,n,a,s,c=Rf(Bf,this),l=bf(e),d=void 0===t,u=[],h=e;if(!c&&l&&d&&e.constructor===e_)return e;if((l||Rf(Bf,e))&&(e=e.source,d&&(t=Cf(h))),e=void 0===e?"":wf(e),t=void 0===t?"":wf(t),h=e,xf&&"dotAll"in Yf&&(i=!!t&&zf(t,"s")>-1)&&(t=Gf(t,/s/g,"")),r=t,$f&&"sticky"in Yf&&(o=!!t&&zf(t,"y")>-1)&&Qf&&(t=Gf(t,/y/g,"")),Uf&&(n=function(e){for(var t,r=e.length,i=0,o="",n=[],a=Af(null),s=!1,c=!1,l=0,d="";i<=r;i++){if("\\"===(t=jf(e,i)))t+=jf(e,++i);else if("]"===t)s=!1;else if(!s)switch(!0){case"["===t:s=!0;break;case"("===t:if(o+=t,"?:"===Kf(e,i+1,i+3))continue;Wf(qf,Kf(e,i+1))&&(i+=2,c=!0),l++;continue;case">"===t&&c:if(""===d||Mf(a,d))throw new Hf("Invalid capture group name");a[d]=!0,n[n.length]=[d,l],c=!1,d="";continue}c?d+=t:o+=t}return[o,n]}(e),e=n[0],u=n[1]),a=Tf(Ff(e,t),c?this:Bf,e_),(i||o||u.length)&&(s=Lf(a),i&&(s.dotAll=!0,s.raw=e_(function(e){for(var t,r=e.length,i=0,o="",n=!1;i<=r;i++)"\\"!==(t=jf(e,i))?n||"."!==t?("["===t?n=!0:"]"===t&&(n=!1),o+=t):o+="[\\s\\S]":o+=t+jf(e,++i);return o}(e),r)),o&&(s.sticky=!0),u.length&&(s.groups=u)),e!==h)try{If(a,"source",""===h?"(?:)":h)}catch(xG){}return a},t_=Sf(Ff),r_=0;t_.length>r_;)Nf(e_,Ff,t_[r_++]);Bf.constructor=e_,e_.prototype=Bf,kf(Ef,"RegExp",e_,{constructor:!0})}Pf("RegExp");var i_=l,o_=T,n_=po,a_=$m,s_=lf,c_=ia,l_=Cr.get,d_=pf,u_=_f,h_=Pe("native-string-replace",String.prototype.replace),p_=RegExp.prototype.exec,m_=p_,f_=o_("".charAt),__=o_("".indexOf),g_=o_("".replace),E_=o_("".slice),v_=function(){var e=/a/,t=/b*/g;return i_(p_,e,"a"),i_(p_,t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),y_=s_.BROKEN_CARET,T_=void 0!==/()??/.exec("")[1];(v_||T_||y_||d_||u_)&&(m_=function(e){var t,r,i,o,n,a,s,c=this,l=l_(c),d=n_(e),u=l.raw;if(u)return u.lastIndex=c.lastIndex,t=i_(m_,u,d),c.lastIndex=u.lastIndex,t;var h=l.groups,p=y_&&c.sticky,m=i_(a_,c),f=c.source,_=0,g=d;if(p&&(m=g_(m,"y",""),-1===__(m,"g")&&(m+="g"),g=E_(d,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==f_(d,c.lastIndex-1))&&(f="(?: "+f+")",g=" "+g,_++),r=new RegExp("^(?:"+f+")",m)),T_&&(r=new RegExp("^"+f+"$(?!\\s)",m)),v_&&(i=c.lastIndex),o=i_(p_,p?r:c,g),p?o?(o.input=E_(o.input,_),o[0]=E_(o[0],_),o.index=c.lastIndex,c.lastIndex+=o[0].length):c.lastIndex=0:v_&&o&&(c.lastIndex=c.global?o.index+o[0].length:i),T_&&o&&o.length>1&&i_(h_,o[0],r,(function(){for(n=1;n<arguments.length-2;n++)void 0===arguments[n]&&(o[n]=void 0)})),o&&h)for(o.groups=a=c_(null),n=0;n<h.length;n++)a[(s=h[n])[0]]=o[s[1]];return o});var I_=m_;to({target:"RegExp",proto:!0,forced:/./.exec!==I_},{exec:I_});var A_=n,S_=_o,R_=$m,b_=o,w_=r.RegExp,C_=w_.prototype,D_=A_&&b_((function(){var e=!0;try{w_(".","d")}catch(xG){e=!1}var t={},r="",i=e?"dgimsy":"gimsy",o=function(e,i){Object.defineProperty(t,e,{get:function(){return r+=i,!0}})},n={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var a in e&&(n.hasIndices="d"),n)o(a,n[a]);return Object.getOwnPropertyDescriptor(C_,"flags").get.call(t)!==i||r!==i}));D_&&S_(C_,"flags",{configurable:!0,get:R_});var N_=ii,k_=po,O_=L,M_=RangeError,L_=T,P_=di,x_=po,U_=function(e){var t=k_(O_(this)),r="",i=N_(e);if(i<0||Infinity===i)throw new M_("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(r+=t);return r},V_=L,F_=L_(U_),B_=L_("".slice),H_=Math.ceil,W_=function(e){return function(t,r,i){var o,n,a=x_(V_(t)),s=P_(r),c=a.length,l=void 0===i?" ":x_(i);return s<=c||""===l?a:((n=F_(l,H_((o=s-c)/l.length))).length>o&&(n=B_(n,0,o)),e?a+n:n+a)}},j_={start:W_(!1),end:W_(!0)},G_=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Y),z_=j_.start;to({target:"String",proto:!0,forced:G_},{padStart:function(e){return z_(this,e,arguments.length>1?arguments[1]:void 0)}});var K_=l,q_=$r,Y_=I_,J_=o,X_=tt,$_=qt,Q_=X_("species"),Z_=RegExp.prototype,eg=T,tg=ii,rg=po,ig=L,og=eg("".charAt),ng=eg("".charCodeAt),ag=eg("".slice),sg=function(e){return function(t,r){var i,o,n=rg(ig(t)),a=tg(r),s=n.length;return a<0||a>=s?e?"":void 0:(i=ng(n,a))<55296||i>56319||a+1===s||(o=ng(n,a+1))<56320||o>57343?e?og(n,a):i:e?ag(n,a,a+2):o-56320+(i-55296<<10)+65536}},cg={codeAt:sg(!1),charAt:sg(!0)},lg=cg.charAt,dg=T,ug=Ve,hg=Math.floor,pg=dg("".charAt),mg=dg("".replace),fg=dg("".slice),_g=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,gg=/\$([$&'`]|\d{1,2})/g,Eg=function(e,t,r,i,o,n){var a=r+e.length,s=i.length,c=gg;return void 0!==o&&(o=ug(o),c=_g),mg(n,c,(function(n,c){var l;switch(pg(c,0)){case"$":return"$";case"&":return e;case"`":return fg(t,0,r);case"'":return fg(t,a);case"<":l=o[fg(c,1,-1)];break;default:var d=+c;if(0===d)return n;if(d>s){var u=hg(d/10);return 0===u?n:u<=s?void 0===i[u-1]?pg(c,1):i[u-1]+pg(c,1):n}l=i[d-1]}return void 0===l?"":l}))},vg=l,yg=Mt,Tg=F,Ig=R,Ag=I_,Sg=TypeError,Rg=eu,bg=l,wg=T,Cg=function(e,t,r,i){var o=X_(e),n=!J_((function(){var t={};return t[o]=function(){return 7},7!==""[e](t)})),a=n&&!J_((function(){var t=!1,r=/a/;return"split"===e&&((r={}).constructor={},r.constructor[Q_]=function(){return r},r.flags="",r[o]=/./[o]),r.exec=function(){return t=!0,null},r[o](""),!t}));if(!n||!a||r){var s=/./[o],c=t(o,""[e],(function(e,t,r,i,o){var a=t.exec;return a===Y_||a===Z_.exec?n&&!o?{done:!0,value:K_(s,t,r,i)}:{done:!0,value:K_(e,r,t,i)}:{done:!1}}));q_(String.prototype,e,c[0]),q_(Z_,o,c[1])}i&&$_(Z_[o],"sham",!0)},Dg=o,Ng=Mt,kg=F,Og=k,Mg=ii,Lg=di,Pg=po,xg=L,Ug=function(e,t,r){return t+(r?lg(e,t).length:1)},Vg=ye,Fg=Eg,Bg=function(e,t){var r=e.exec;if(Tg(r)){var i=vg(r,e,t);return null!==i&&yg(i),i}if("RegExp"===Ig(e))return vg(Ag,e,t);throw new Sg("RegExp#exec called on incompatible receiver")},Hg=tt("replace"),Wg=Math.max,jg=Math.min,Gg=wg([].concat),zg=wg([].push),Kg=wg("".indexOf),qg=wg("".slice),Yg=function(e){return void 0===e?e:String(e)},Jg="$0"==="a".replace(/./,"$0"),Xg=!!/./[Hg]&&""===/./[Hg]("a","$0");Cg("replace",(function(e,t,r){var i=Xg?"$":"$0";return[function(e,r){var i=xg(this),o=Og(e)?void 0:Vg(e,Hg);return o?bg(o,e,i,r):bg(t,Pg(i),e,r)},function(e,o){var n=Ng(this),a=Pg(e);if("string"==typeof o&&-1===Kg(o,i)&&-1===Kg(o,"$<")){var s=r(t,n,a,o);if(s.done)return s.value}var c=kg(o);c||(o=Pg(o));var l,d=n.global;d&&(l=n.unicode,n.lastIndex=0);for(var u,h=[];null!==(u=Bg(n,a))&&(zg(h,u),d);){""===Pg(u[0])&&(n.lastIndex=Ug(a,Lg(n.lastIndex),l))}for(var p="",m=0,f=0;f<h.length;f++){for(var _,g=Pg((u=h[f])[0]),E=Wg(jg(Mg(u.index),a.length),0),v=[],y=1;y<u.length;y++)zg(v,Yg(u[y]));var T=u.groups;if(c){var I=Gg([g],v,E,a);void 0!==T&&zg(I,T),_=Pg(Rg(o,void 0,I))}else _=Fg(g,a,E,v,T,o);E>=m&&(p+=qg(a,m,E)+_,m=E+g.length)}return p+qg(a,m)}]}),!!Dg((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")}))||!Jg||Xg);var $g="\t\n\v\f\r                 \u2028\u2029\ufeff",Qg=L,Zg=po,eE=$g,tE=T("".replace),rE=RegExp("^["+eE+"]+"),iE=RegExp("(^|[^"+eE+"])["+eE+"]+$"),oE=function(e){return function(t){var r=Zg(Qg(t));return 1&e&&(r=tE(r,rE,"")),2&e&&(r=tE(r,iE,"$1")),r}},nE={start:oE(1),end:oE(2),trim:oE(3)},aE=er.PROPER,sE=o,cE=$g,lE=nE.trim;to({target:"String",proto:!0,forced:function(e){return sE((function(){return!!cE[e]()||"​…᠎"!=="​…᠎"[e]()||aE&&cE[e].name!==e}))}("trim")},{trim:function(){return lE(this)}});var dE,uE,hE,pE={exports:{}},mE=Uc,fE=n,_E=r,gE=F,EE=H,vE=He,yE=lo,TE=pe,IE=qt,AE=$r,SE=_o,RE=z,bE=Sa,wE=ts,CE=tt,DE=Ke,NE=Cr.enforce,kE=Cr.get,OE=_E.Int8Array,ME=OE&&OE.prototype,LE=_E.Uint8ClampedArray,PE=LE&&LE.prototype,xE=OE&&bE(OE),UE=ME&&bE(ME),VE=Object.prototype,FE=_E.TypeError,BE=CE("toStringTag"),HE=DE("TYPED_ARRAY_TAG"),WE="TypedArrayConstructor",jE=mE&&!!wE&&"Opera"!==yE(_E.opera),GE=!1,zE={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},KE={BigInt64Array:8,BigUint64Array:8},qE=function(e){var t=bE(e);if(EE(t)){var r=kE(t);return r&&vE(r,WE)?r[WE]:qE(t)}},YE=function(e){if(!EE(e))return!1;var t=yE(e);return vE(zE,t)||vE(KE,t)};for(dE in zE)(hE=(uE=_E[dE])&&uE.prototype)?NE(hE)[WE]=uE:jE=!1;for(dE in KE)(hE=(uE=_E[dE])&&uE.prototype)&&(NE(hE)[WE]=uE);if((!jE||!gE(xE)||xE===Function.prototype)&&(xE=function(){throw new FE("Incorrect invocation")},jE))for(dE in zE)_E[dE]&&wE(_E[dE],xE);if((!jE||!UE||UE===VE)&&(UE=xE.prototype,jE))for(dE in zE)_E[dE]&&wE(_E[dE].prototype,UE);if(jE&&bE(PE)!==UE&&wE(PE,UE),fE&&!vE(UE,BE))for(dE in GE=!0,SE(UE,BE,{configurable:!0,get:function(){return EE(this)?this[HE]:void 0}}),zE)_E[dE]&&IE(_E[dE],HE,dE);var JE={NATIVE_ARRAY_BUFFER_VIEWS:jE,TYPED_ARRAY_TAG:GE&&HE,aTypedArray:function(e){if(YE(e))return e;throw new FE("Target is not a typed array")},aTypedArrayConstructor:function(e){if(gE(e)&&(!wE||RE(xE,e)))return e;throw new FE(TE(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,r,i){if(fE){if(r)for(var o in zE){var n=_E[o];if(n&&vE(n.prototype,e))try{delete n.prototype[e]}catch(xG){try{n.prototype[e]=t}catch(a){}}}UE[e]&&!r||AE(UE,e,r?t:jE&&ME[e]||t,i)}},exportTypedArrayStaticMethod:function(e,t,r){var i,o;if(fE){if(wE){if(r)for(i in zE)if((o=_E[i])&&vE(o,e))try{delete o[e]}catch(xG){}if(xE[e]&&!r)return;try{return AE(xE,e,r?t:jE&&xE[e]||t)}catch(xG){}}for(i in zE)!(o=_E[i])||o[e]&&!r||AE(o,e,t)}},getTypedArrayConstructor:qE,isView:function(e){if(!EE(e))return!1;var t=yE(e);return"DataView"===t||vE(zE,t)||vE(KE,t)},isTypedArray:YE,TypedArray:xE,TypedArrayPrototype:UE},XE=r,$E=o,QE=sm,ZE=JE.NATIVE_ARRAY_BUFFER_VIEWS,ev=XE.ArrayBuffer,tv=XE.Int8Array,rv=!ZE||!$E((function(){tv(1)}))||!$E((function(){new tv(-1)}))||!QE((function(e){new tv,new tv(null),new tv(1.5),new tv(e)}),!0)||$E((function(){return 1!==new tv(new ev(2),1,void 0).length})),iv=H,ov=Math.floor,nv=Number.isInteger||function(e){return!iv(e)&&isFinite(e)&&ov(e)===e},av=ii,sv=RangeError,cv=function(e){var t=av(e);if(t<0)throw new sv("The argument can't be less than 0");return t},lv=RangeError,dv=function(e,t){var r=cv(e);if(r%t)throw new lv("Wrong offset");return r},uv=Math.round,hv=lo,pv=lt,mv=TypeError,fv=function(e){var t=pv(e,"number");if("number"==typeof t)throw new mv("Can't convert number to bigint");return BigInt(t)},_v=Zo,gv=l,Ev=Gd,vv=Ve,yv=hi,Tv=Vp,Iv=kp,Av=Rp,Sv=function(e){var t=hv(e);return"BigInt64Array"===t||"BigUint64Array"===t},Rv=JE.aTypedArrayConstructor,bv=fv,wv=Zo,Cv=N,Dv=Ve,Nv=hi,kv=bn,Ov=T([].push),Mv=function(e){var t=1===e,r=2===e,i=3===e,o=4===e,n=6===e,a=7===e,s=5===e||n;return function(c,l,d,u){for(var h,p,m=Dv(c),f=Cv(m),_=Nv(f),g=wv(l,d),E=0,v=u||kv,y=t?v(c,_):r||a?v(c,0):void 0;_>E;E++)if((s||E in f)&&(p=g(h=f[E],E,m),e))if(t)y[E]=p;else if(p)switch(e){case 3:return!0;case 5:return h;case 6:return E;case 2:Ov(y,h)}else switch(e){case 4:return!1;case 7:Ov(y,h)}return n?-1:i||o?o:y}},Lv={forEach:Mv(0),map:Mv(1),filter:Mv(2),some:Mv(3),every:Mv(4),find:Mv(5),findIndex:Mv(6),filterReject:Mv(7)},Pv=hi,xv=to,Uv=r,Vv=l,Fv=n,Bv=rv,Hv=JE,Wv=_d,jv=Wc,Gv=_,zv=qt,Kv=nv,qv=di,Yv=Kc,Jv=dv,Xv=function(e){var t=uv(e);return t<0?0:t>255?255:255&t},$v=ht,Qv=He,Zv=lo,ey=H,ty=ue,ry=ia,iy=z,oy=ts,ny=Qr.f,ay=function(e){var t,r,i,o,n,a,s,c,l=Ev(this),d=vv(e),u=arguments.length,h=u>1?arguments[1]:void 0,p=void 0!==h,m=Iv(d);if(m&&!Av(m))for(c=(s=Tv(d,m)).next,d=[];!(a=gv(c,s)).done;)d.push(a.value);for(p&&u>2&&(h=_v(h,arguments[2])),r=yv(d),i=new(Rv(l))(r),o=Sv(i),t=0;r>t;t++)n=p?h(d[t],t):d[t],i[t]=o?bv(n):+n;return i},sy=Lv.forEach,cy=Td,ly=_o,dy=Ct,uy=i,hy=function(e,t,r){for(var i=0,o=arguments.length>2?r:Pv(t),n=new e(o);o>i;)n[i]=t[i++];return n},py=ml,my=Cr.get,fy=Cr.set,_y=Cr.enforce,gy=dy.f,Ey=uy.f,vy=Uv.RangeError,yy=Wv.ArrayBuffer,Ty=yy.prototype,Iy=Wv.DataView,Ay=Hv.NATIVE_ARRAY_BUFFER_VIEWS,Sy=Hv.TYPED_ARRAY_TAG,Ry=Hv.TypedArray,by=Hv.TypedArrayPrototype,wy=Hv.isTypedArray,Cy="BYTES_PER_ELEMENT",Dy="Wrong length",Ny=function(e,t){ly(e,t,{configurable:!0,get:function(){return my(this)[t]}})},ky=function(e){var t;return iy(Ty,e)||"ArrayBuffer"===(t=Zv(e))||"SharedArrayBuffer"===t},Oy=function(e,t){return wy(e)&&!ty(t)&&t in e&&Kv(+t)&&t>=0},My=function(e,t){return t=$v(t),Oy(e,t)?Gv(2,e[t]):Ey(e,t)},Ly=function(e,t,r){return t=$v(t),!(Oy(e,t)&&ey(r)&&Qv(r,"value"))||Qv(r,"get")||Qv(r,"set")||r.configurable||Qv(r,"writable")&&!r.writable||Qv(r,"enumerable")&&!r.enumerable?gy(e,t,r):(e[t]=r.value,e)};Fv?(Ay||(uy.f=My,dy.f=Ly,Ny(by,"buffer"),Ny(by,"byteOffset"),Ny(by,"byteLength"),Ny(by,"length")),xv({target:"Object",stat:!0,forced:!Ay},{getOwnPropertyDescriptor:My,defineProperty:Ly}),pE.exports=function(e,t,r){var i=e.match(/\d+/)[0]/8,o=e+(r?"Clamped":"")+"Array",n="get"+e,a="set"+e,s=Uv[o],c=s,l=c&&c.prototype,d={},u=function(e,t){gy(e,t,{get:function(){return function(e,t){var r=my(e);return r.view[n](t*i+r.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,o){var n=my(e);n.view[a](t*i+n.byteOffset,r?Xv(o):o,!0)}(this,t,e)},enumerable:!0})};Ay?Bv&&(c=t((function(e,t,r,o){return jv(e,l),py(ey(t)?ky(t)?void 0!==o?new s(t,Jv(r,i),o):void 0!==r?new s(t,Jv(r,i)):new s(t):wy(t)?hy(c,t):Vv(ay,c,t):new s(Yv(t)),e,c)})),oy&&oy(c,Ry),sy(ny(s),(function(e){e in c||zv(c,e,s[e])})),c.prototype=l):(c=t((function(e,t,r,o){jv(e,l);var n,a,s,d=0,h=0;if(ey(t)){if(!ky(t))return wy(t)?hy(c,t):Vv(ay,c,t);n=t,h=Jv(r,i);var p=t.byteLength;if(void 0===o){if(p%i)throw new vy(Dy);if((a=p-h)<0)throw new vy(Dy)}else if((a=qv(o)*i)+h>p)throw new vy(Dy);s=a/i}else s=Yv(t),n=new yy(a=s*i);for(fy(e,{buffer:n,byteOffset:h,byteLength:a,length:s,view:new Iy(n)});d<s;)u(e,d++)})),oy&&oy(c,Ry),l=c.prototype=ry(by)),l.constructor!==c&&zv(l,"constructor",c),_y(l).TypedArrayConstructor=c,Sy&&zv(l,Sy,o);var h=c!==s;d[o]=c,xv({global:!0,constructor:!0,forced:h,sham:!Ay},d),Cy in c||zv(c,Cy,i),Cy in l||zv(l,Cy,i),cy(o)}):pE.exports=function(){};var Py=pE.exports;Py("Float32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Py("Float64",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Py("Int8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Py("Int16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Py("Int32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Py("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Py("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}}),!0),Py("Uint16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Py("Uint32",(function(e){return function(t,r,i){return e(this,t,r,i)}}));var xy=dl,Uy=fv,Vy=lo,Fy=l,By=o,Hy=JE.aTypedArray,Wy=JE.exportTypedArrayMethod,jy=T("".slice);Wy("fill",(function(e){var t=arguments.length;Hy(this);var r="Big"===jy(Vy(this),0,3)?Uy(e):+e;return Fy(xy,this,r,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),By((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var Gy=r,zy=l,Ky=JE,qy=hi,Yy=dv,Jy=Ve,Xy=o,$y=Gy.RangeError,Qy=Gy.Int8Array,Zy=Qy&&Qy.prototype,eT=Zy&&Zy.set,tT=Ky.aTypedArray,rT=Ky.exportTypedArrayMethod,iT=!Xy((function(){var e=new Uint8ClampedArray(2);return zy(eT,e,{length:1,0:3},1),3!==e[1]})),oT=iT&&Ky.NATIVE_ARRAY_BUFFER_VIEWS&&Xy((function(){var e=new Qy(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));rT("set",(function(e){tT(this);var t=Yy(arguments.length>1?arguments[1]:void 0,1),r=Jy(e);if(iT)return zy(eT,this,r,t);var i=this.length,o=qy(r),n=0;if(o+t>i)throw new $y("Wrong length");for(;n<o;)this[t+n]=r[n++]}),!iT||oT);var nT=Jo,aT=o,sT=ge,cT=dc,lT=hc,dT=pc,uT=te,hT=fc,pT=JE.aTypedArray,mT=JE.exportTypedArrayMethod,fT=r.Uint16Array,_T=fT&&nT(fT.prototype.sort),gT=!(!_T||aT((function(){_T(new fT(2),null)}))&&aT((function(){_T(new fT(2),{})}))),ET=!!_T&&!aT((function(){if(uT)return uT<74;if(lT)return lT<67;if(dT)return!0;if(hT)return hT<602;var e,t,r=new fT(516),i=Array(516);for(e=0;e<516;e++)t=e%4,r[e]=515-e,i[e]=e-2*t+3;for(_T(r,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(r[e]!==i[e])return!0}));mT("sort",(function(e){return void 0!==e&&sT(e),ET?_T(this,e):cT(pT(this),function(e){return function(t,r){return void 0!==e?+e(t,r)||0:r!=r?-1:t!=t?1:0===t&&0===r?1/t>0&&1/r<0?1:-1:t>r}}(e))}),!ET||gT);var vT=to,yT=l,TT=T,IT=L,AT=F,ST=k,RT=Jm,bT=po,wT=ye,CT=of,DT=Eg,NT=tt("replace"),kT=TypeError,OT=TT("".indexOf);TT("".replace);var MT=TT("".slice),LT=Math.max;vT({target:"String",proto:!0},{replaceAll:function(e,t){var r,i,o,n,a,s,c,l,d,u=IT(this),h=0,p="";if(!ST(e)){if(RT(e)&&(r=bT(IT(CT(e))),!~OT(r,"g")))throw new kT("`.replaceAll` does not allow non-global regexes");if(i=wT(e,NT))return yT(i,e,u,t)}for(o=bT(u),n=bT(e),(a=AT(t))||(t=bT(t)),s=n.length,c=LT(1,s),l=OT(o,n);-1!==l;)d=a?bT(t(n,l,o)):DT(n,o,l,[],void 0,t),p+=MT(o,h,l)+d,h=l+s,l=l+c>o.length?-1:OT(o,n,l+c);return h<o.length&&(p+=MT(o,h)),p}});var PT={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},xT=_t("span").classList,UT=xT&&xT.constructor&&xT.constructor.prototype,VT=UT===Object.prototype?void 0:UT,FT=Lv.forEach,BT=zs("forEach")?[].forEach:function(e){return FT(this,e,arguments.length>1?arguments[1]:void 0)},HT=r,WT=PT,jT=VT,GT=BT,zT=qt,KT=function(e){if(e&&e.forEach!==GT)try{zT(e,"forEach",GT)}catch(xG){e.forEach=GT}};for(var qT in WT)WT[qT]&&KT(HT[qT]&&HT[qT].prototype);KT(jT);var YT=r,JT=PT,XT=VT,$T=Ls,QT=qt,ZT=Ua,eI=tt("iterator"),tI=$T.values,rI=function(e,t){if(e){if(e[eI]!==tI)try{QT(e,eI,tI)}catch(xG){e[eI]=tI}if(ZT(e,t,!0),JT[t])for(var r in $T)if(e[r]!==$T[r])try{QT(e,r,$T[r])}catch(xG){e[r]=$T[r]}}};for(var iI in JT)rI(YT[iI]&&YT[iI].prototype,iI);rI(XT,"DOMTokenList");var oI=Nu.clear;to({global:!0,bind:!0,enumerable:!0,forced:r.clearImmediate!==oI},{clearImmediate:oI});var nI=r,aI=eu,sI=F,cI=Xs,lI=Y,dI=ac,uI=ru,hI=nI.Function,pI=/MSIE .\./.test(lI)||"BUN"===cI&&function(){var e=nI.Bun.version.split(".");return e.length<3||"0"===e[0]&&(e[1]<3||"3"===e[1]&&"0"===e[2])}(),mI=to,fI=r,_I=Nu.set,gI=function(e,t){var r=t?2:1;return pI?function(i,o){var n=uI(arguments.length,1)>r,a=sI(i)?i:hI(i),s=n?dI(arguments,r):[],c=n?function(){aI(a,this,s)}:a;return t?e(c,o):e(c)}:e},EI=fI.setImmediate?gI(_I,!1):_I;mI({global:!0,bind:!0,enumerable:!0,forced:fI.setImmediate!==EI},{setImmediate:EI});var vI=cg.charAt,yI=po,TI=Cr,II=Ts,AI=Is,SI="String Iterator",RI=TI.set,bI=TI.getterFor(SI);II(String,"String",(function(e){RI(this,{type:SI,string:yI(e),index:0})}),(function(){var e,t=bI(this),r=t.string,i=t.index;return i>=r.length?AI(void 0,!0):(e=vI(r,i),t.index+=e.length,AI(e,!1))}));var wI=o,CI=n,DI=tt("iterator"),NI=!wI((function(){var e=new URL("b?a=1&b=2&c=3","https://a"),t=e.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),i="";return e.pathname="c%20d",t.forEach((function(e,r){t.delete("b"),i+=r+e})),r.delete("a",2),r.delete("b",void 0),!t.size&&!CI||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[DI]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==i||"x"!==new URL("https://x",void 0).host})),kI=n,OI=T,MI=l,LI=o,PI=Pn,xI=wi,UI=d,VI=Ve,FI=N,BI=Object.assign,HI=Object.defineProperty,WI=OI([].concat),jI=!BI||LI((function(){if(kI&&1!==BI({b:1},BI(HI({},"a",{enumerable:!0,get:function(){HI(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},r=Symbol("assign detection"),i="abcdefghijklmnopqrst";return e[r]=7,i.split("").forEach((function(e){t[e]=e})),7!==BI({},e)[r]||PI(BI({},t)).join("")!==i}))?function(e,t){for(var r=VI(e),i=arguments.length,o=1,n=xI.f,a=UI.f;i>o;)for(var s,c=FI(arguments[o++]),l=n?WI(PI(c),n(c)):PI(c),d=l.length,u=0;d>u;)s=l[u++],kI&&!MI(a,c,s)||(r[s]=c[s]);return r}:BI,GI=Mt,zI=Wp,KI=n,qI=Ct,YI=_,JI=Zo,XI=l,$I=Ve,QI=function(e,t,r,i){try{return i?t(GI(r)[0],r[1]):t(r)}catch(xG){zI(e,"throw",xG)}},ZI=Rp,eA=vn,tA=hi,rA=function(e,t,r){KI?qI.f(e,t,YI(0,r)):e[t]=r},iA=Vp,oA=kp,nA=Array,aA=T,sA=2147483647,cA=/[^\0-\u007E]/,lA=/[.\u3002\uFF0E\uFF61]/g,dA="Overflow: input needs wider integers to process",uA=RangeError,hA=aA(lA.exec),pA=Math.floor,mA=String.fromCharCode,fA=aA("".charCodeAt),_A=aA([].join),gA=aA([].push),EA=aA("".replace),vA=aA("".split),yA=aA("".toLowerCase),TA=function(e){return e+22+75*(e<26)},IA=function(e,t,r){var i=0;for(e=r?pA(e/700):e>>1,e+=pA(e/t);e>455;)e=pA(e/35),i+=36;return pA(i+36*e/(e+38))},AA=function(e){var t=[];e=function(e){for(var t=[],r=0,i=e.length;r<i;){var o=fA(e,r++);if(o>=55296&&o<=56319&&r<i){var n=fA(e,r++);56320==(64512&n)?gA(t,((1023&o)<<10)+(1023&n)+65536):(gA(t,o),r--)}else gA(t,o)}return t}(e);var r,i,o=e.length,n=128,a=0,s=72;for(r=0;r<e.length;r++)(i=e[r])<128&&gA(t,mA(i));var c=t.length,l=c;for(c&&gA(t,"-");l<o;){var d=sA;for(r=0;r<e.length;r++)(i=e[r])>=n&&i<d&&(d=i);var u=l+1;if(d-n>pA((sA-a)/u))throw new uA(dA);for(a+=(d-n)*u,n=d,r=0;r<e.length;r++){if((i=e[r])<n&&++a>sA)throw new uA(dA);if(i===n){for(var h=a,p=36;;){var m=p<=s?1:p>=s+26?26:p-s;if(h<m)break;var f=h-m,_=36-m;gA(t,mA(TA(m+f%_))),h=pA(f/_),p+=36}gA(t,mA(TA(h))),s=IA(a,u,l===c),a=0,l++}}a++,n++}return _A(t,"")},SA=to,RA=T,bA=si,wA=RangeError,CA=String.fromCharCode,DA=String.fromCodePoint,NA=RA([].join);SA({target:"String",stat:!0,arity:1,forced:!!DA&&1!==DA.length},{fromCodePoint:function(e){for(var t,r=[],i=arguments.length,o=0;i>o;){if(t=+arguments[o++],bA(t,1114111)!==t)throw new wA(t+" is not a valid code point");r[o]=t<65536?CA(t):CA(55296+((t-=65536)>>10),t%1024+56320)}return NA(r,"")}});var kA=to,OA=r,MA=Lu,LA=G,PA=l,xA=T,UA=n,VA=NI,FA=$r,BA=_o,HA=Fc,WA=Ua,jA=Ga,GA=Cr,zA=Wc,KA=F,qA=He,YA=Zo,JA=lo,XA=Mt,$A=H,QA=po,ZA=ia,eS=_,tS=Vp,rS=kp,iS=Is,oS=ru,nS=dc,aS=tt("iterator"),sS="URLSearchParams",cS=sS+"Iterator",lS=GA.set,dS=GA.getterFor(sS),uS=GA.getterFor(cS),hS=MA("fetch"),pS=MA("Request"),mS=MA("Headers"),fS=pS&&pS.prototype,_S=mS&&mS.prototype,gS=OA.TypeError,ES=OA.encodeURIComponent,vS=String.fromCharCode,yS=LA("String","fromCodePoint"),TS=parseInt,IS=xA("".charAt),AS=xA([].join),SS=xA([].push),RS=xA("".replace),bS=xA([].shift),wS=xA([].splice),CS=xA("".split),DS=xA("".slice),NS=xA(/./.exec),kS=/\+/g,OS=/^[0-9a-f]+$/i,MS=function(e,t){var r=DS(e,t,t+2);return NS(OS,r)?TS(r,16):NaN},LS=function(e){for(var t=0,r=128;r>0&&e&r;r>>=1)t++;return t},PS=function(e){var t=null;switch(e.length){case 1:t=e[0];break;case 2:t=(31&e[0])<<6|63&e[1];break;case 3:t=(15&e[0])<<12|(63&e[1])<<6|63&e[2];break;case 4:t=(7&e[0])<<18|(63&e[1])<<12|(63&e[2])<<6|63&e[3]}return t>1114111?null:t},xS=function(e){for(var t=(e=RS(e,kS," ")).length,r="",i=0;i<t;){var o=IS(e,i);if("%"===o){if("%"===IS(e,i+1)||i+3>t){r+="%",i++;continue}var n=MS(e,i+1);if(n!=n){r+=o,i++;continue}i+=2;var a=LS(n);if(0===a)o=vS(n);else{if(1===a||a>4){r+="�",i++;continue}for(var s=[n],c=1;c<a&&!(++i+3>t||"%"!==IS(e,i));){var l=MS(e,i+1);if(l!=l){i+=3;break}if(l>191||l<128)break;SS(s,l),i+=2,c++}if(s.length!==a){r+="�";continue}var d=PS(s);null===d?r+="�":o=yS(d)}}r+=o,i++}return r},US=/[!'()~]|%20/g,VS={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},FS=function(e){return VS[e]},BS=function(e){return RS(ES(e),US,FS)},HS=jA((function(e,t){lS(this,{type:cS,target:dS(e).entries,index:0,kind:t})}),sS,(function(){var e=uS(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,iS(void 0,!0);var i=t[r];switch(e.kind){case"keys":return iS(i.key,!1);case"values":return iS(i.value,!1)}return iS([i.key,i.value],!1)}),!0),WS=function(e){this.entries=[],this.url=null,void 0!==e&&($A(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===IS(e,0)?DS(e,1):e:QA(e)))};WS.prototype={type:sS,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,i,o,n,a,s,c=this.entries,l=rS(e);if(l)for(r=(t=tS(e,l)).next;!(i=PA(r,t)).done;){if(n=(o=tS(XA(i.value))).next,(a=PA(n,o)).done||(s=PA(n,o)).done||!PA(n,o).done)throw new gS("Expected sequence with length 2");SS(c,{key:QA(a.value),value:QA(s.value)})}else for(var d in e)qA(e,d)&&SS(c,{key:d,value:QA(e[d])})},parseQuery:function(e){if(e)for(var t,r,i=this.entries,o=CS(e,"&"),n=0;n<o.length;)(t=o[n++]).length&&(r=CS(t,"="),SS(i,{key:xS(bS(r)),value:xS(AS(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],i=0;i<t.length;)e=t[i++],SS(r,BS(e.key)+"="+BS(e.value));return AS(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var jS=function(){zA(this,GS);var e=lS(this,new WS(arguments.length>0?arguments[0]:void 0));UA||(this.size=e.entries.length)},GS=jS.prototype;if(HA(GS,{append:function(e,t){var r=dS(this);oS(arguments.length,2),SS(r.entries,{key:QA(e),value:QA(t)}),UA||this.length++,r.updateURL()},delete:function(e){for(var t=dS(this),r=oS(arguments.length,1),i=t.entries,o=QA(e),n=r<2?void 0:arguments[1],a=void 0===n?n:QA(n),s=0;s<i.length;){var c=i[s];if(c.key!==o||void 0!==a&&c.value!==a)s++;else if(wS(i,s,1),void 0!==a)break}UA||(this.size=i.length),t.updateURL()},get:function(e){var t=dS(this).entries;oS(arguments.length,1);for(var r=QA(e),i=0;i<t.length;i++)if(t[i].key===r)return t[i].value;return null},getAll:function(e){var t=dS(this).entries;oS(arguments.length,1);for(var r=QA(e),i=[],o=0;o<t.length;o++)t[o].key===r&&SS(i,t[o].value);return i},has:function(e){for(var t=dS(this).entries,r=oS(arguments.length,1),i=QA(e),o=r<2?void 0:arguments[1],n=void 0===o?o:QA(o),a=0;a<t.length;){var s=t[a++];if(s.key===i&&(void 0===n||s.value===n))return!0}return!1},set:function(e,t){var r=dS(this);oS(arguments.length,1);for(var i,o=r.entries,n=!1,a=QA(e),s=QA(t),c=0;c<o.length;c++)(i=o[c]).key===a&&(n?wS(o,c--,1):(n=!0,i.value=s));n||SS(o,{key:a,value:s}),UA||(this.size=o.length),r.updateURL()},sort:function(){var e=dS(this);nS(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,r=dS(this).entries,i=YA(e,arguments.length>1?arguments[1]:void 0),o=0;o<r.length;)i((t=r[o++]).value,t.key,this)},keys:function(){return new HS(this,"keys")},values:function(){return new HS(this,"values")},entries:function(){return new HS(this,"entries")}},{enumerable:!0}),FA(GS,aS,GS.entries,{name:"entries"}),FA(GS,"toString",(function(){return dS(this).serialize()}),{enumerable:!0}),UA&&BA(GS,"size",{get:function(){return dS(this).entries.length},configurable:!0,enumerable:!0}),WA(jS,sS),kA({global:!0,constructor:!0,forced:!VA},{URLSearchParams:jS}),!VA&&KA(mS)){var zS=xA(_S.has),KS=xA(_S.set),qS=function(e){if($A(e)){var t,r=e.body;if(JA(r)===sS)return t=e.headers?new mS(e.headers):new mS,zS(t,"content-type")||KS(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),ZA(e,{body:eS(0,QA(r)),headers:eS(0,t)})}return e};if(KA(hS)&&kA({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return hS(e,arguments.length>1?qS(arguments[1]):{})}}),KA(pS)){var YS=function(e){return zA(this,fS),new pS(e,arguments.length>1?qS(arguments[1]):{})};fS.constructor=YS,YS.prototype=fS,kA({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:YS})}}var JS,XS=to,$S=n,QS=NI,ZS=r,eR=Zo,tR=T,rR=$r,iR=_o,oR=Wc,nR=He,aR=jI,sR=function(e){var t=$I(e),r=eA(this),i=arguments.length,o=i>1?arguments[1]:void 0,n=void 0!==o;n&&(o=JI(o,i>2?arguments[2]:void 0));var a,s,c,l,d,u,h=oA(t),p=0;if(!h||this===nA&&ZI(h))for(a=tA(t),s=r?new this(a):nA(a);a>p;p++)u=n?o(t[p],p):t[p],rA(s,p,u);else for(s=r?new this:[],d=(l=iA(t,h)).next;!(c=XI(d,l)).done;p++)u=n?QI(l,o,[c.value,p],!0):c.value,rA(s,p,u);return s.length=p,s},cR=ac,lR=cg.codeAt,dR=function(e){var t,r,i=[],o=vA(EA(yA(e),lA,"."),".");for(t=0;t<o.length;t++)r=o[t],gA(i,hA(cA,r)?"xn--"+AA(r):r);return _A(i,".")},uR=po,hR=Ua,pR=ru,mR={URLSearchParams:jS,getState:dS},fR=Cr,_R=fR.set,gR=fR.getterFor("URL"),ER=mR.URLSearchParams,vR=mR.getState,yR=ZS.URL,TR=ZS.TypeError,IR=ZS.parseInt,AR=Math.floor,SR=Math.pow,RR=tR("".charAt),bR=tR(/./.exec),wR=tR([].join),CR=tR(1..toString),DR=tR([].pop),NR=tR([].push),kR=tR("".replace),OR=tR([].shift),MR=tR("".split),LR=tR("".slice),PR=tR("".toLowerCase),xR=tR([].unshift),UR="Invalid scheme",VR="Invalid host",FR="Invalid port",BR=/[a-z]/i,HR=/[\d+-.a-z]/i,WR=/\d/,jR=/^0x/i,GR=/^[0-7]+$/,zR=/^\d+$/,KR=/^[\da-f]+$/i,qR=/[\0\t\n\r #%/:<>?@[\\\]^|]/,YR=/[\0\t\n\r #/:<>?@[\\\]^|]/,JR=/^[\u0000-\u0020]+/,XR=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,$R=/[\t\n\r]/g,QR=function(e){var t,r,i,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)xR(t,e%256),e=AR(e/256);return wR(t,".")}if("object"==typeof e){for(t="",i=function(e){for(var t=null,r=1,i=null,o=0,n=0;n<8;n++)0!==e[n]?(o>r&&(t=i,r=o),i=null,o=0):(null===i&&(i=n),++o);return o>r?i:t}(e),r=0;r<8;r++)o&&0===e[r]||(o&&(o=!1),i===r?(t+=r?":":"::",o=!0):(t+=CR(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},ZR={},eb=aR({},ZR,{" ":1,'"':1,"<":1,">":1,"`":1}),tb=aR({},eb,{"#":1,"?":1,"{":1,"}":1}),rb=aR({},tb,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),ib=function(e,t){var r=lR(e,0);return r>32&&r<127&&!nR(t,e)?e:encodeURIComponent(e)},ob={ftp:21,file:null,http:80,https:443,ws:80,wss:443},nb=function(e,t){var r;return 2===e.length&&bR(BR,RR(e,0))&&(":"===(r=RR(e,1))||!t&&"|"===r)},ab=function(e){var t;return e.length>1&&nb(LR(e,0,2))&&(2===e.length||"/"===(t=RR(e,2))||"\\"===t||"?"===t||"#"===t)},sb=function(e){return"."===e||"%2e"===PR(e)},cb={},lb={},db={},ub={},hb={},pb={},mb={},fb={},_b={},gb={},Eb={},vb={},yb={},Tb={},Ib={},Ab={},Sb={},Rb={},bb={},wb={},Cb={},Db=function(e,t,r){var i,o,n,a=uR(e);if(t){if(o=this.parse(a))throw new TR(o);this.searchParams=null}else{if(void 0!==r&&(i=new Db(r,!0)),o=this.parse(a,null,i))throw new TR(o);(n=vR(new ER)).bindURL(this),this.searchParams=n}};Db.prototype={type:"URL",parse:function(e,t,r){var i,o,n,a,s,c=this,l=t||cb,d=0,u="",h=!1,p=!1,m=!1;for(e=uR(e),t||(c.scheme="",c.username="",c.password="",c.host=null,c.port=null,c.path=[],c.query=null,c.fragment=null,c.cannotBeABaseURL=!1,e=kR(e,JR,""),e=kR(e,XR,"$1")),e=kR(e,$R,""),i=sR(e);d<=i.length;){switch(o=i[d],l){case cb:if(!o||!bR(BR,o)){if(t)return UR;l=db;continue}u+=PR(o),l=lb;break;case lb:if(o&&(bR(HR,o)||"+"===o||"-"===o||"."===o))u+=PR(o);else{if(":"!==o){if(t)return UR;u="",l=db,d=0;continue}if(t&&(c.isSpecial()!==nR(ob,u)||"file"===u&&(c.includesCredentials()||null!==c.port)||"file"===c.scheme&&!c.host))return;if(c.scheme=u,t)return void(c.isSpecial()&&ob[c.scheme]===c.port&&(c.port=null));u="","file"===c.scheme?l=Tb:c.isSpecial()&&r&&r.scheme===c.scheme?l=ub:c.isSpecial()?l=fb:"/"===i[d+1]?(l=hb,d++):(c.cannotBeABaseURL=!0,NR(c.path,""),l=bb)}break;case db:if(!r||r.cannotBeABaseURL&&"#"!==o)return UR;if(r.cannotBeABaseURL&&"#"===o){c.scheme=r.scheme,c.path=cR(r.path),c.query=r.query,c.fragment="",c.cannotBeABaseURL=!0,l=Cb;break}l="file"===r.scheme?Tb:pb;continue;case ub:if("/"!==o||"/"!==i[d+1]){l=pb;continue}l=_b,d++;break;case hb:if("/"===o){l=gb;break}l=Rb;continue;case pb:if(c.scheme=r.scheme,o===JS)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=cR(r.path),c.query=r.query;else if("/"===o||"\\"===o&&c.isSpecial())l=mb;else if("?"===o)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=cR(r.path),c.query="",l=wb;else{if("#"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=cR(r.path),c.path.length--,l=Rb;continue}c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=cR(r.path),c.query=r.query,c.fragment="",l=Cb}break;case mb:if(!c.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,l=Rb;continue}l=gb}else l=_b;break;case fb:if(l=_b,"/"!==o||"/"!==RR(u,d+1))continue;d++;break;case _b:if("/"!==o&&"\\"!==o){l=gb;continue}break;case gb:if("@"===o){h&&(u="%40"+u),h=!0,n=sR(u);for(var f=0;f<n.length;f++){var _=n[f];if(":"!==_||m){var g=ib(_,rb);m?c.password+=g:c.username+=g}else m=!0}u=""}else if(o===JS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(h&&""===u)return"Invalid authority";d-=sR(u).length+1,u="",l=Eb}else u+=o;break;case Eb:case vb:if(t&&"file"===c.scheme){l=Ab;continue}if(":"!==o||p){if(o===JS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(c.isSpecial()&&""===u)return VR;if(t&&""===u&&(c.includesCredentials()||null!==c.port))return;if(a=c.parseHost(u))return a;if(u="",l=Sb,t)return;continue}"["===o?p=!0:"]"===o&&(p=!1),u+=o}else{if(""===u)return VR;if(a=c.parseHost(u))return a;if(u="",l=yb,t===vb)return}break;case yb:if(!bR(WR,o)){if(o===JS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()||t){if(""!==u){var E=IR(u,10);if(E>65535)return FR;c.port=c.isSpecial()&&E===ob[c.scheme]?null:E,u=""}if(t)return;l=Sb;continue}return FR}u+=o;break;case Tb:if(c.scheme="file","/"===o||"\\"===o)l=Ib;else{if(!r||"file"!==r.scheme){l=Rb;continue}switch(o){case JS:c.host=r.host,c.path=cR(r.path),c.query=r.query;break;case"?":c.host=r.host,c.path=cR(r.path),c.query="",l=wb;break;case"#":c.host=r.host,c.path=cR(r.path),c.query=r.query,c.fragment="",l=Cb;break;default:ab(wR(cR(i,d),""))||(c.host=r.host,c.path=cR(r.path),c.shortenPath()),l=Rb;continue}}break;case Ib:if("/"===o||"\\"===o){l=Ab;break}r&&"file"===r.scheme&&!ab(wR(cR(i,d),""))&&(nb(r.path[0],!0)?NR(c.path,r.path[0]):c.host=r.host),l=Rb;continue;case Ab:if(o===JS||"/"===o||"\\"===o||"?"===o||"#"===o){if(!t&&nb(u))l=Rb;else if(""===u){if(c.host="",t)return;l=Sb}else{if(a=c.parseHost(u))return a;if("localhost"===c.host&&(c.host=""),t)return;u="",l=Sb}continue}u+=o;break;case Sb:if(c.isSpecial()){if(l=Rb,"/"!==o&&"\\"!==o)continue}else if(t||"?"!==o)if(t||"#"!==o){if(o!==JS&&(l=Rb,"/"!==o))continue}else c.fragment="",l=Cb;else c.query="",l=wb;break;case Rb:if(o===JS||"/"===o||"\\"===o&&c.isSpecial()||!t&&("?"===o||"#"===o)){if(".."===(s=PR(s=u))||"%2e."===s||".%2e"===s||"%2e%2e"===s?(c.shortenPath(),"/"===o||"\\"===o&&c.isSpecial()||NR(c.path,"")):sb(u)?"/"===o||"\\"===o&&c.isSpecial()||NR(c.path,""):("file"===c.scheme&&!c.path.length&&nb(u)&&(c.host&&(c.host=""),u=RR(u,0)+":"),NR(c.path,u)),u="","file"===c.scheme&&(o===JS||"?"===o||"#"===o))for(;c.path.length>1&&""===c.path[0];)OR(c.path);"?"===o?(c.query="",l=wb):"#"===o&&(c.fragment="",l=Cb)}else u+=ib(o,tb);break;case bb:"?"===o?(c.query="",l=wb):"#"===o?(c.fragment="",l=Cb):o!==JS&&(c.path[0]+=ib(o,ZR));break;case wb:t||"#"!==o?o!==JS&&("'"===o&&c.isSpecial()?c.query+="%27":c.query+="#"===o?"%23":ib(o,ZR)):(c.fragment="",l=Cb);break;case Cb:o!==JS&&(c.fragment+=ib(o,eb))}d++}},parseHost:function(e){var t,r,i;if("["===RR(e,0)){if("]"!==RR(e,e.length-1))return VR;if(t=function(e){var t,r,i,o,n,a,s,c=[0,0,0,0,0,0,0,0],l=0,d=null,u=0,h=function(){return RR(e,u)};if(":"===h()){if(":"!==RR(e,1))return;u+=2,d=++l}for(;h();){if(8===l)return;if(":"!==h()){for(t=r=0;r<4&&bR(KR,h());)t=16*t+IR(h(),16),u++,r++;if("."===h()){if(0===r)return;if(u-=r,l>6)return;for(i=0;h();){if(o=null,i>0){if(!("."===h()&&i<4))return;u++}if(!bR(WR,h()))return;for(;bR(WR,h());){if(n=IR(h(),10),null===o)o=n;else{if(0===o)return;o=10*o+n}if(o>255)return;u++}c[l]=256*c[l]+o,2!=++i&&4!==i||l++}if(4!==i)return;break}if(":"===h()){if(u++,!h())return}else if(h())return;c[l++]=t}else{if(null!==d)return;u++,d=++l}}if(null!==d)for(a=l-d,l=7;0!==l&&a>0;)s=c[l],c[l--]=c[d+a-1],c[d+--a]=s;else if(8!==l)return;return c}(LR(e,1,-1)),!t)return VR;this.host=t}else if(this.isSpecial()){if(e=dR(e),bR(qR,e))return VR;if(t=function(e){var t,r,i,o,n,a,s,c=MR(e,".");if(c.length&&""===c[c.length-1]&&c.length--,(t=c.length)>4)return e;for(r=[],i=0;i<t;i++){if(""===(o=c[i]))return e;if(n=10,o.length>1&&"0"===RR(o,0)&&(n=bR(jR,o)?16:8,o=LR(o,8===n?1:2)),""===o)a=0;else{if(!bR(10===n?zR:8===n?GR:KR,o))return e;a=IR(o,n)}NR(r,a)}for(i=0;i<t;i++)if(a=r[i],i===t-1){if(a>=SR(256,5-t))return null}else if(a>255)return null;for(s=DR(r),i=0;i<r.length;i++)s+=r[i]*SR(256,3-i);return s}(e),null===t)return VR;this.host=t}else{if(bR(YR,e))return VR;for(t="",r=sR(e),i=0;i<r.length;i++)t+=ib(r[i],ZR);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"===this.scheme},includesCredentials:function(){return""!==this.username||""!==this.password},isSpecial:function(){return nR(ob,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"===this.scheme&&1===t&&nb(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,r=e.username,i=e.password,o=e.host,n=e.port,a=e.path,s=e.query,c=e.fragment,l=t+":";return null!==o?(l+="//",e.includesCredentials()&&(l+=r+(i?":"+i:"")+"@"),l+=QR(o),null!==n&&(l+=":"+n)):"file"===t&&(l+="//"),l+=e.cannotBeABaseURL?a[0]:a.length?"/"+wR(a,"/"):"",null!==s&&(l+="?"+s),null!==c&&(l+="#"+c),l},setHref:function(e){var t=this.parse(e);if(t)throw new TR(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"===e)try{return new Nb(e.path[0]).origin}catch(xG){return"null"}return"file"!==e&&this.isSpecial()?e+"://"+QR(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(uR(e)+":",cb)},getUsername:function(){return this.username},setUsername:function(e){var t=sR(uR(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=ib(t[r],rb)}},getPassword:function(){return this.password},setPassword:function(e){var t=sR(uR(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=ib(t[r],rb)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?QR(e):QR(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,Eb)},getHostname:function(){var e=this.host;return null===e?"":QR(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,vb)},getPort:function(){var e=this.port;return null===e?"":uR(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""===(e=uR(e))?this.port=null:this.parse(e,yb))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+wR(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,Sb))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""===(e=uR(e))?this.query=null:("?"===RR(e,0)&&(e=LR(e,1)),this.query="",this.parse(e,wb)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!==(e=uR(e))?("#"===RR(e,0)&&(e=LR(e,1)),this.fragment="",this.parse(e,Cb)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var Nb=function(e){var t=oR(this,kb),r=pR(arguments.length,1)>1?arguments[1]:void 0,i=_R(t,new Db(e,!1,r));$S||(t.href=i.serialize(),t.origin=i.getOrigin(),t.protocol=i.getProtocol(),t.username=i.getUsername(),t.password=i.getPassword(),t.host=i.getHost(),t.hostname=i.getHostname(),t.port=i.getPort(),t.pathname=i.getPathname(),t.search=i.getSearch(),t.searchParams=i.getSearchParams(),t.hash=i.getHash())},kb=Nb.prototype,Ob=function(e,t){return{get:function(){return gR(this)[e]()},set:t&&function(e){return gR(this)[t](e)},configurable:!0,enumerable:!0}};if($S&&(iR(kb,"href",Ob("serialize","setHref")),iR(kb,"origin",Ob("getOrigin")),iR(kb,"protocol",Ob("getProtocol","setProtocol")),iR(kb,"username",Ob("getUsername","setUsername")),iR(kb,"password",Ob("getPassword","setPassword")),iR(kb,"host",Ob("getHost","setHost")),iR(kb,"hostname",Ob("getHostname","setHostname")),iR(kb,"port",Ob("getPort","setPort")),iR(kb,"pathname",Ob("getPathname","setPathname")),iR(kb,"search",Ob("getSearch","setSearch")),iR(kb,"searchParams",Ob("getSearchParams")),iR(kb,"hash",Ob("getHash","setHash"))),rR(kb,"toJSON",(function(){return gR(this).serialize()}),{enumerable:!0}),rR(kb,"toString",(function(){return gR(this).serialize()}),{enumerable:!0}),yR){var Mb=yR.createObjectURL,Lb=yR.revokeObjectURL;Mb&&rR(Nb,"createObjectURL",eR(Mb,yR)),Lb&&rR(Nb,"revokeObjectURL",eR(Lb,yR))}hR(Nb,"URL"),XS({global:!0,constructor:!0,forced:!QS,sham:!$S},{URL:Nb});var Pb=l;to({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return Pb(URL.prototype.toString,this)}});var xb,Ub=Object.create,Vb=Object.defineProperty,Fb=Object.defineProperties,Bb=Object.getOwnPropertyDescriptor,Hb=Object.getOwnPropertyDescriptors,Wb=Object.getOwnPropertyNames,jb=Object.getOwnPropertySymbols,Gb=Object.getPrototypeOf,zb=Object.prototype.hasOwnProperty,Kb=Object.prototype.propertyIsEnumerable,qb=Reflect.get,Yb=Math.pow,Jb=(e,t,r)=>t in e?Vb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Xb=(e,t)=>{for(var r in t||(t={}))zb.call(t,r)&&Jb(e,r,t[r]);if(jb)for(var r of jb(t))Kb.call(t,r)&&Jb(e,r,t[r]);return e},$b=(e,t)=>Fb(e,Hb(t)),Qb=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Zb=(e,t)=>{for(var r in t)Vb(e,r,{get:t[r],enumerable:!0})},ew=(e,t,r)=>(r=null!=e?Ub(Gb(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of Wb(t))!zb.call(e,o)&&o!==r&&Vb(e,o,{get:()=>t[o],enumerable:!(i=Bb(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:Vb(r,"default",{value:e,enumerable:!0}),e)),tw=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?Bb(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(n=(i?o(t,r,n):o(n))||n);return i&&n&&Vb(t,r,n),n},rw=(e,t,r)=>Jb(e,"symbol"!=typeof t?t+"":t,r),iw=(e,t,r)=>qb(Gb(e),r,t),ow=(e,t,r)=>new Promise(((i,o)=>{var n=e=>{try{s(r.next(e))}catch(ZO){o(ZO)}},a=e=>{try{s(r.throw(e))}catch(ZO){o(ZO)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(n,a);s((r=r.apply(e,t)).next())})),nw=Qb(((e,t)=>{var r=Object.prototype.hasOwnProperty,i="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new n(r,o||e,a),c=i?i+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,o=[];if(0===this._eventsCount)return o;for(t in e=this._events)r.call(e,t)&&o.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,n=r.length,a=new Array(n);o<n;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,n,a){var s=i?i+e:e;if(!this._events[s])return!1;var c,l,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,o),!0;case 5:return d.fn.call(d.context,t,r,o,n),!0;case 6:return d.fn.call(d.context,t,r,o,n,a),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(e,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,t);break;case 3:d[l].fn.call(d[l].context,t,r);break;case 4:d[l].fn.call(d[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[l].context,c)}}return!0},c.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},c.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},c.prototype.removeListener=function(e,t,r,o){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return s(this,n),this;var a=this._events[n];if(a.fn)a.fn===t&&(!o||a.once)&&(!r||a.context===r)&&s(this,n);else{for(var c=0,l=[],d=a.length;c<d;c++)(a[c].fn!==t||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[n]=1===l.length?l[0]:l:s(this,n)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&s(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,void 0!==t&&(t.exports=c)})),aw=Qb(((e,t)=>{var r=t.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),t+=null!=e["network-id"]?" network-id %d":"%v",t+=null!=e["network-cost"]?" network-cost %d":"%v"}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(null!=e.clksrcExt?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=null!=e.id?"id=%s %s":"%v%s",t+=null!=e.mediaClockValue?"=%s":"",t+=null!=e.rateNumerator?" rate=%s":"",t+=null!=e.rateDenominator?"/%s":""}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};Object.keys(r).forEach((function(e){r[e].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")}))}))})),sw=Qb((e=>{var t=function(e){return String(Number(e))===e?Number(e):e},r=function(e,r,i){var o=e.name&&e.names;e.push&&!r[e.push]?r[e.push]=[]:o&&!r[e.name]&&(r[e.name]={});var n=e.push?{}:o?r[e.name]:r;(function(e,r,i,o){if(o&&!i)r[o]=t(e[1]);else for(var n=0;n<i.length;n+=1)null!=e[n+1]&&(r[i[n]]=t(e[n+1]))})(i.match(e.reg),n,e.names,e.name),e.push&&r[e.push].push(n)},i=aw(),o=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},n=[],a=t;return e.split(/(\r\n|\r|\n)/).filter(o).forEach((function(e){var t=e[0],o=e.slice(2);"m"===t&&(n.push({rtp:[],fmtp:[]}),a=n[n.length-1]);for(var s=0;s<(i[t]||[]).length;s+=1){var c=i[t][s];if(c.reg.test(o))return r(c,a,o)}})),t.media=n,t};var n=function(e,r){var i=r.split(/=(.+)/,2);return 2===i.length?e[i[0]]=t(i[1]):1===i.length&&r.length>1&&(e[i[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(n,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var r=[],i=e.split(" ").map(t),o=0;o<i.length;o+=3)r.push({component:i[o],ip:i[o+1],port:i[o+2]});return r},e.parseImageAttributes=function(e){return e.split(" ").map((function(e){return e.substring(1,e.length-1).split(",").reduce(n,{})}))},e.parseSimulcastStreamList=function(e){return e.split(";").map((function(e){return e.split(",").map((function(e){var r,i=!1;return"~"!==e[0]?r=t(e):(r=t(e.substring(1,e.length)),i=!0),{scid:r,paused:i}}))}))}})),cw=Qb(((e,t)=>{var r=aw(),i=/%[sdv%]/g,o=function(e){var t=1,r=arguments,o=r.length;return e.replace(i,(function(e){if(t>=o)return e;var i=r[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(i);case"%d":return Number(i);case"%v":return""}}))},n=function(e,t,r){var i=[e+"="+(t.format instanceof Function?t.format(t.push?r:r[t.name]):t.format)];if(t.names)for(var n=0;n<t.names.length;n+=1){var a=t.names[n];t.name?i.push(r[t.name][a]):i.push(r[t.names[n]])}else i.push(r[t.name]);return o.apply(null,i)},a=["v","o","s","i","u","e","p","c","b","t","r","z","a"],s=["i","c","b","a"];t.exports=function(e,t){t=t||{},null==e.version&&(e.version=0),null==e.name&&(e.name=" "),e.media.forEach((function(e){null==e.payloads&&(e.payloads="")}));var i=t.outerOrder||a,o=t.innerOrder||s,c=[];return i.forEach((function(t){r[t].forEach((function(r){r.name in e&&null!=e[r.name]?c.push(n(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach((function(e){c.push(n(t,r,e))}))}))})),e.media.forEach((function(e){c.push(n("m",r.m[0],e)),o.forEach((function(t){r[t].forEach((function(r){r.name in e&&null!=e[r.name]?c.push(n(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach((function(e){c.push(n(t,r,e))}))}))}))})),c.join("\r\n")+"\r\n"}})),lw=Qb((e=>{var t=sw(),r=cw(),i=aw();e.grammar=i,e.write=r,e.parse=t.parse,e.parseParams=t.parseParams,e.parseFmtpConfig=t.parseFmtpConfig,e.parsePayloads=t.parsePayloads,e.parseRemoteCandidates=t.parseRemoteCandidates,e.parseImageAttributes=t.parseImageAttributes,e.parseSimulcastStreamList=t.parseSimulcastStreamList})),dw=((xb=dw||{})[xb.INVALID_PARAMETER=4096]="INVALID_PARAMETER",xb[xb.INVALID_OPERATION=4097]="INVALID_OPERATION",xb[xb.NOT_SUPPORTED=4098]="NOT_SUPPORTED",xb[xb.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",xb[xb.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",xb[xb.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",xb[xb.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",xb[xb.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",xb[xb.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",xb[xb.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",xb[xb.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",xb[xb.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",xb[xb.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",xb[xb.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",xb[xb.CLIENT_BANNED=16448]="CLIENT_BANNED",xb[xb.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",xb[xb.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",xb[xb.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",xb[xb.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",xb[xb.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",xb[xb.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",xb[xb.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",xb[xb.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",xb[xb.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",xb[xb.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",xb[xb.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",xb[xb.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",xb[xb.API_CALL_ABORTED=16461]="API_CALL_ABORTED",xb[xb.SPC_INITIALIZED_FAILED=16462]="SPC_INITIALIZED_FAILED",xb[xb.VIDEO_MANAGER_ERROR=16463]="VIDEO_MANAGER_ERROR",xb[xb.SWITCH_ROOM_FAILED=16464]="SWITCH_ROOM_FAILED",xb[xb.VIDEO_ENCODE_FAILED=16465]="VIDEO_ENCODE_FAILED",xb[xb.AUDIO_ENCODE_FAILED=16466]="AUDIO_ENCODE_FAILED",xb[xb.UNKNOWN=65535]="UNKNOWN",xb),uw=dw,hw=class extends Error{constructor(e){let{name:t="RtcError",message:r,code:i=uw.UNKNOWN,extraCode:o=0,constraint:n}=e,a="<".concat(function(e){for(let t in uw)if(uw[t]===e)return t;return"UNKNOWN"}(i)," 0x").concat(i.toString(16),">"),s="".concat(r).concat(n?" constraint: ".concat(n):"").concat(null!=r&&r.includes(a)?"":" ".concat(a));super(s),rw(this,"code"),rw(this,"extraCode"),rw(this,"message"),rw(this,"originMessage"),rw(this,"name"),rw(this,"constraint"),this.code=i,this.extraCode=o,this.name=t,this.message=s,this.constraint=n,this.originMessage=r}getCode(){return this.code}getExtraCode(){return this.extraCode}toString(){return this.originMessage}},pw=hw,mw=function(){return 0},fw=function(){return Date.now()+0},_w=function(){let e=new Date;return e.setTime(fw()),e.toLocaleString()},gw=function(e){let t=String(e.getMilliseconds());return"padStart"in String.prototype&&(t=t.toString().padStart(3,"0")),"".concat(e.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(t)},Ew={};Zb(Ew,{REPORT_TYPE:()=>wN,buildSSOPackage:()=>CN,bytes2ms:()=>CD,calculateScaleResolutionDownNumber:()=>AN,concatArrayBuffers:()=>DN,convertObjectNumberToInt:()=>EN,copyProperties:()=>wD,deepClone:()=>cN,deepCloneBasic:()=>bN,deepMerge:()=>sN,delay:()=>vN,fibonacci:()=>PD,formatedTime:()=>uN,getConstructorName:()=>JD,getContainerFromElement:()=>dN,getEnv:()=>vD,getFirst16Bits:()=>kN,getInternalVersion:()=>tN,getLast16Bits:()=>NN,getLoggerUrl:()=>TD,getMediaStreamTrackInfo:()=>IN,getMuteStateFromFlag:()=>oN,getNetworkType:()=>AD,getNumNetworkType:()=>bD,getReconnectionTimeout:()=>xD,getStringByteLength:()=>mN,getTurnServer:()=>nN,getUint32Version:()=>gN,getValueType:()=>UD,getViewListFromView:()=>lN,glog:()=>OD,ipv4ToUint32:()=>aN,isArray:()=>GD,isAudioWorkletSupported:()=>XD,isBoolean:()=>WD,isConstructor:()=>YD,isEmpty:()=>iN,isFunction:()=>VD,isLangChinese:()=>MD,isMediaStreamTrack:()=>zD,isNumber:()=>HD,isObject:()=>jD,isOverseaSdkAppId:()=>yD,isPlainObject:()=>LD,isPortrait:()=>fN,isPromise:()=>qD,isRemoteTrack:()=>KD,isRotate90Or270:()=>SN,isSetSinkIdSupported:()=>$D,isString:()=>BD,isUndefined:()=>FD,loadImage:()=>_N,loadVideo:()=>RN,ms2bytes:()=>ND,ms2samples:()=>kD,normalizeUrl:()=>TN,performanceNow:()=>ZD,promiseAny:()=>QD,samples2ms:()=>DD,setNetworkType:()=>RD,stringify:()=>hN,stringifyIncludeValue:()=>pN,throttlePromise:()=>yN});var vw={};Zb(vw,{AUDIO_MUTE_BIT:()=>nC,AUDIO_STAT_BIT:()=>oC,AUX_STAT_BIT:()=>iC,AUX_STREAM_MSID:()=>dC,BACKEND_ENV:()=>Zw,BASE_DOC_URL:()=>Lw,BASE_HOST:()=>Nw,CAPABILITIES_KEYS:()=>$C,CLASS_NAME:()=>WC,CLOUD_CONSOLE_URL:()=>Mw,CROSS_ROOM_BIT:()=>cC,DATA_FREEZE_TIMING:()=>PC,DOC_URL:()=>Pw,DTLS_STATE_UNKNOWN:()=>yC,ENV_NAME:()=>Bw,EXCHANGE_SDP_TIMEOUT:()=>NC,IS_WORKER:()=>Rw,IS_WORKLET:()=>bw,KIBANA_EVENT:()=>wC,LOCAL_STREAM_PUBLISH_STATE:()=>LC,LOGGER_CMD_TYPE:()=>Fw,LOGGER_DOMAIN:()=>xw,LOGGER_DOMAIN_OVERSEA:()=>Uw,LOG_LEVEL:()=>Hw,LOG_LEVEL_NAME:()=>qC,MAIN_STREAM_MSID:()=>lC,MAX_RTT:()=>QC,MICROPHONE_COMMUNICATIONS:()=>KC,MICROPHONE_DEFAULT:()=>GC,MUTE_ALL_BIT:()=>sC,NAME:()=>$w,NETWORK_TYPE:()=>Gw,NOT_SUPPORTED_H264:()=>MC,PAUSED_RETRY_COUNT:()=>jC,PEERCONNECTION_CONNECTING_TIMEOUT:()=>FC,PEER_CONNECTION_STATE:()=>TC,PEER_LEAVE_REASON:()=>YC,RECOVER_CAPTURE_INTERVAL:()=>XC,REMOTE_STREAM_TYPE_AUX:()=>hC,REMOTE_STREAM_TYPE_MAIN:()=>uC,RENDER_FREEZE_TIMING:()=>xC,SCHEDULE_DOMAIN:()=>BC,SCHEDULE_TIMEOUT:()=>HC,SDP_SEMANTICS_PLAN_B:()=>OC,SDP_SEMANTICS_UNIFIED_PLAN:()=>kC,SECOND_HOST:()=>kw,SIGNAL_PING_PONG_INTERVAL:()=>jw,SIGNAL_PING_TIMEOUT:()=>Ww,SIGNAL_RECONNECTION_COUNT:()=>bC,SMALL_STAT_BIT:()=>rC,SPEAKER_DEFAULT:()=>zC,STORAGE_EXPIRES_TIME:()=>zw,STREAM_TYPE_BIG:()=>UC,STREAM_TYPE_SMALL:()=>VC,SUBSCRIBE_SMALL_RETRY_COUNT:()=>JC,SYNC_USER_LIST_INTERVAL:()=>CC,Scene:()=>eC,THIRD_HOST:()=>Ow,TRANSPORT_DIRECTION:()=>Qw,TRTC_ERROR_ASSISTANCE:()=>Vw,TRTC_QUALITY_BAD:()=>gC,TRTC_QUALITY_DISCONNECTED:()=>vC,TRTC_QUALITY_EXCELLENT:()=>mC,TRTC_QUALITY_GOOD:()=>fC,TRTC_QUALITY_POOR:()=>_C,TRTC_QUALITY_UNKNOWN:()=>pC,TRTC_QUALITY_VERY_BAD:()=>EC,UPDATE_OFFER_TIMEOUT:()=>DC,VIDEO_MUTE_BIT:()=>aC,VIDEO_STAT_BIT:()=>tC,audioProfileMap:()=>Kw,defaultBigVideoProfile:()=>Yw,defaultSmallVideoProfile:()=>Jw,getRetryCount:()=>SC,getScriptDir:()=>ww,innerVersion:()=>yw,loggerProxy:()=>Cw,screenProfileMap:()=>Xw,setLoggerProxy:()=>Dw,setRetryCount:()=>AC,setVersion:()=>Iw,version:()=>Tw,videoProfileMap:()=>qw});var yw="4.15.00.1600",Tw="5.0.0";function Iw(e){Tw=e;let[t,r,i]=e.split(".").map((e=>parseInt(e,10)));yw="".concat(t,".").concat(Math.min(15,r),".").concat(Math.min(15,i),".").concat(r.toString().padStart(2,"0")).concat(i.toString().padStart(2,"0"))}var Aw,Sw,Rw="undefined"!=typeof importScripts,bw="undefined"!=typeof registerProcessor,ww=()=>{let e=Rw?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf("/")+1)},Cw="",Dw=e=>Cw=e,Nw="web.sdk.qcloud.com",kw="web.sdk.tencent.cn",Ow="web.sdk.cloud.tencent.cn",Mw="https://console.cloud.tencent.com/trtc",Lw="https://".concat(Nw,"/trtc/webrtc/v5/doc"),Pw="".concat(Lw,"/zh-cn/"),xw="https://yun.tim.qq.com",Uw="https://apisgp.my-imcloud.com",Vw="trtc_error_assistance",Fw={LOG:"jssdk_log",EVENT:"jssdk_event",KEY_POINT:"jssdk_new_endreport",KV_STAT:"jssdk_key_metrics_report"},Bw={QCLOUD:"qcloud",OLD_CLOUD_LADDER:"trtc",WEBRTC:"webrtc"},Hw=((Sw=Hw||{})[Sw.TRACE=0]="TRACE",Sw[Sw.DEBUG=1]="DEBUG",Sw[Sw.INFO=2]="INFO",Sw[Sw.WARN=3]="WARN",Sw[Sw.ERROR=4]="ERROR",Sw[Sw.NONE=5]="NONE",Sw),Ww=18e3,jw=2e3,Gw={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5,"5g":6},zw=6048e5,Kw={standard:{sampleRate:48e3,channelCount:1,bitrate:40},"standard-stereo":{sampleRate:48e3,channelCount:2,bitrate:64},high:{sampleRate:48e3,channelCount:1,bitrate:128},"high-stereo":{sampleRate:48e3,channelCount:2,bitrate:192}},qw={"120p":{width:160,height:120,frameRate:15,bitrate:200},"120p_2":{width:160,height:120,frameRate:15,bitrate:100},"180p":{width:320,height:180,frameRate:15,bitrate:350},"180p_2":{width:320,height:180,frameRate:15,bitrate:150},"240p":{width:320,height:240,frameRate:15,bitrate:400},"240p_2":{width:320,height:240,frameRate:15,bitrate:200},"360p":{width:640,height:360,frameRate:15,bitrate:800},"360p_2":{width:640,height:360,frameRate:15,bitrate:400},"480p":{width:640,height:480,frameRate:15,bitrate:900},"480p_2":{width:640,height:480,frameRate:15,bitrate:500},"720p":{width:1280,height:720,frameRate:15,bitrate:1500},"1080p":{width:1920,height:1080,frameRate:15,bitrate:2e3},"1440p":{width:2560,height:1440,frameRate:30,bitrate:4860},"4K":{width:3840,height:2160,frameRate:30,bitrate:9e3}},Yw=qw["480p_2"],Jw=qw["120p_2"],Xw={"480p":{width:640,height:480,frameRate:5,bitrate:900},"480p_2":{width:640,height:480,frameRate:30,bitrate:1e3},"720p":{width:1280,height:720,frameRate:5,bitrate:1200},"720p_2":{width:1280,height:720,frameRate:30,bitrate:3e3},"1080p":{width:1920,height:1080,frameRate:5,bitrate:1600},"1080p_2":{width:1920,height:1080,frameRate:30,bitrate:4e3}},$w={CANVAS:"canvas",AUDIO:"audio",VIDEO:"video",SCREEN:"screen",SMALL:"small",BIG:"big",AUXILIARY:"auxiliary",SMALL_VIDEO:"smallVideo",FACING_MODE_USER:"user",FACING_MODE_ENVIRONMENT:"environment",MUTE:"mute",UNMUTE:"unmute",ENDED:"ended",PLAYING:"playing",PAUSE:"pause",ERROR:"error",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",AUDIO_INPUT:"audioinput",VIDEO_INPUT:"videoinput",DETAIL:"detail",TEXT:"text",MAIN:"main",BACKUP:"backup",BANNED:"banned",KICK:"kick",USER_TIME_OUT:"user_time_out",ROOM_DISBAND:"room_disband",SEI_MESSAGE:"sei-message",ADD:"add",REMOVE:"remove",REPLACE:"replace",TRACK:"track",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",TRANSCEIVER_DIRECTION_SENDONLY:"sendonly",TRANSCEIVER_DIRECTION_RECVONLY:"recvonly",ENTER_PICTURE_IN_PICTURE:"enterpictureinpicture",LEAVE_PICTURE_IN_PICTURE:"leavepictureinpicture",RESIZE:"resize",TIME_UPDATE:"timeupdate"},Qw={INACTIVE:"inactive",SENDONLY:"sendonly",RECVONLY:"recvonly"},Zw={OLD_CLOUD_LADDER:"wss://trtc.rtc.qq.com",WEBRTC:"wss://webrtc.qq.com"},eC=((Aw=eC||{}).LIVE="live",Aw.RTC="rtc",Aw),tC=1,rC=2,iC=4,oC=8,nC=64,aC=16,sC=112,cC=128,lC="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",dC="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",uC=$w.MAIN,hC=$w.AUXILIARY,pC=0,mC=1,fC=2,_C=3,gC=4,EC=5,vC=6,yC="unknown",TC={NEW:"new",CONNECTING:"connecting",FAILED:"failed",CLOSED:"closed",DISCONNECTED:"disconnected",CONNECTED:"connected",COMPLETED:"completed"},IC=1/0;function AC(e){IC=e}function SC(){return IC}var RC,bC=30,wC={JOIN:"join",DELTA_JOIN:"delta-join",REJOIN:"rejoin",LEAVE:"leave",DELTA_LEAVE:"delta-leave",PUBLISH:"publish",DELTA_PUBLISH:"delta-publish",UNPUBLISH:"unpublish",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",UPLINK_CONNECTION:"uplink-connection",UPLINK_RECONNECTION:"uplink-reconnection",DOWNLINK_CONNECTION:"downlink-connection",DOWNLINK_RECONNECTION:"downlink-reconnection",ON_TRACK:"ontrack",ICE_CONNECTION_STATE:"iceConnectionState",LOCAL_STREAM_INITIALIZE:"stream-initialize",SIGNAL_CONNECTION:"websocketConnectionState",SIGNAL_RECONNECTION:"websocketReconnectionState",UPDATE_STREAM:"update-stream",RECOVER_LOCAL_AUDIO_TRACK:"recover-local-audio-track",RECOVER_LOCAL_VIDEO_TRACK:"recover-local-video-track",RECOVER_SUBSCRIPTION:"recover-subscription",START_MIX_TRANSCODE:"start-mix-transcode",STOP_MIX_TRANSCODE:"stop-mix-transcode",PLAYER_ERROR:"player-error",SCHEDULE:"schedule",LOAD_WORKLET:"load-worklet",VIDEO_FROZEN_COUNT:"videoFrozenCount",GET_USER_MEDIA_RETRY:"getUserMedia-retry",VIDEO_ENCODE_FAILED_DURING_CALL:"video-encode-failed-during-call",AUDIO_ENCODE_FAILED_DURING_CALL:"audio-encode-failed-during-call"},CC=1e4,DC=1e4,NC=1e4,kC="unified-plan",OC="plan-b",MC=1028,LC=((RC=LC||{})[RC.UNPUBLISH=-1]="UNPUBLISH",RC[RC.PUBLISHING=0]="PUBLISHING",RC[RC.PUBLISHED=1]="PUBLISHED",RC),PC=500,xC=1e3,UC=$w.BIG,VC=$w.SMALL,FC=1e4,BC={MAIN:"schedule.cloud-rtc.com",BACKUP:"schedule.cloud-rtc.net",MAIN_OVERSEA:"schedule.rtc-web.com",BACKUP_OVERSEA:"schedule.rtc-web.io",MAIN_OVERSEA_BACKUP:"intl-schedule.cloud-rtc.com"},HC=2e3,WC={TRTC:"TRTC",CLIENT:"Client",LOCAL_STREAM:"LocalStream",REMOTE_STREAM:"RemoteStream",STREAM:"Stream"},jC=5,GC="default",zC=GC,KC="communications",qC=Object.keys(Hw),YC=["normal leave","timeout leave","kick","role change"],JC=10,XC=2e3,$C=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId","min","max"],QC=1e4,ZC=function(e,t,r,i){return new(r||(r=Promise))((function(o,n){function a(e){try{c(i.next(e))}catch(t){n(t)}}function s(e){try{c(i.throw(e))}catch(t){n(t)}}function c(e){e.done?o(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((i=i.apply(e,t||[])).next())}))},eD=Symbol(32),tD=Symbol(16),rD=Symbol(8),iD=class{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return ZC(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)},this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(eD)}readU16(){return this.read(tD)}readU8(){return this.read(rD)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null,t=this.buffer.subarray(this.consumed),r=0,i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===eD){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===tD){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===rD){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){let t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{let e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}};iD.U32=eD,iD.U16=tD,iD.U8=rD;var oD=128;function nD(e){let t=new iD;for(;e>=128;)t.malloc(1)[0]=255&e|oD,e>>>=7;return t.malloc(1)[0]=255&e,t.buffer||new Uint8Array(0)}function aD(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=new iD,i=t<<3;switch(typeof e){case"boolean":let o=r.malloc(2);o[0]=i,o[1]=e?1:0;break;case"number":r.malloc(1)[0]=i,r.write(nD(e));break;case"string":r.malloc(1)[0]=2|i;let n=(new TextEncoder).encode(e);r.write(nD(n.length));let a=r.malloc(n.length);for(let e=0;e<n.length;e++)a[e]=n[e];break;case"object":let s=new iD;if(Array.isArray(e))for(let t=0;t<e.length;t++){let r=aD(e[t],t+1);r&&s.write(r)}else{let t=1;for(let r in e){let i=aD(e[r],t++);i&&s.write(i)}}0===t?s.buffer&&r.write(s.buffer):(r.malloc(1)[0]=2|i,s.buffer&&(r.write(nD(s.buffer.length)),r.write(s.buffer)))}return r.buffer||new Uint8Array(0)}var sD=class{constructor(){rw(this,"buffer"),this.buffer=[]}get data(){return this.buffer}get length(){return this.buffer.length}writeInt32(e){this.buffer.push(e>>>24&255),this.buffer.push(e>>>16&255),this.buffer.push(e>>>8&255),this.buffer.push(255&e)}writeInt16(e){this.buffer.push(e>>>8&255),this.buffer.push(255&e)}writeByte(e){this.buffer.push(255&e)}writeBytes(e){for(let t=0;t<e.length;t++)this.buffer.push(e[t])}};function cD(e,t,r){e[r]=t>>>24&255,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=255&t}function lD(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function dD(e,t){return e[t]}function uD(e,t,r){return(new TextDecoder).decode(function(e,t,r){return e.slice(t,t+r)}(e,t,r))}var hD=0,pD=2654435769,mD=16,fD=2,_D=7;function gD(e,t){let r=new sD,i=function(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"AVQualityReportSvc.C2S";return{version:arguments.length>4&&void 0!==arguments[4]?arguments[4]:2e3,encryption:arguments.length>5&&void 0!==arguments[5]?arguments[5]:2,d2:"",d2Len:0,uinType:arguments.length>6&&void 0!==arguments[6]?arguments[6]:30,uin:"",uinLen:0,reqHead:{seqNumber:r,appId:e,appidAtThird:new Uint8Array(0),a2:"",a2Len:0,serviceCmd:i,serviceCmdLen:0,cookie:"",cookieLen:0,imei:"",imeiLen:0,ksid:"",ksidLen:0,clientVersionInfo:"",clientVersionInfoLen:0},busiBuff:t}}(t,e,hD);hD=hD+1&2147483647,r.writeInt32(0),r.writeInt32(i.version),r.writeByte(i.encryption);let o=(new TextEncoder).encode(i.d2);r.writeInt32(o.length+4),o&&r.writeBytes(o),r.writeByte(i.uinType);let n=(new TextEncoder).encode(i.uin);r.writeInt32(n.length+4),n.length&&r.writeBytes(n);let a=new sD;a.writeInt32(0),a.writeInt32(i.reqHead.seqNumber),a.writeInt32(i.reqHead.appId),a.writeByte(i.reqHead.appId>>>24&255),a.writeByte(i.reqHead.appId>>>16&255),a.writeByte(i.reqHead.appId>>>8&255),a.writeByte(255&i.reqHead.appId);for(let E=4;E<16;E++)a.writeByte(0);let s=(new TextEncoder).encode(i.reqHead.a2);a.writeInt32(s.length+4),s.length&&a.writeBytes(s);let c=(new TextEncoder).encode(i.reqHead.serviceCmd);a.writeInt32(c.length+4),c.length&&a.writeBytes(c);let l=(new TextEncoder).encode(i.reqHead.cookie);a.writeInt32(l.length+4),l.length&&a.writeBytes(l);let d=(new TextEncoder).encode(i.reqHead.imei);a.writeInt32(d.length+4),d.length&&a.writeBytes(d);let u=(new TextEncoder).encode(i.reqHead.ksid);a.writeInt32(u.length+4),u.length&&a.writeBytes(u);let h=(new TextEncoder).encode(i.reqHead.clientVersionInfo);a.writeInt16(h.length+2),h.length&&a.writeBytes(h);let p=a.length;a.data[0]=p>>>24&255,a.data[1]=p>>>16&255,a.data[2]=p>>>8&255,a.data[3]=255&p,BD(e)&&(e=(new TextEncoder).encode(e)),a.writeInt32(e.length+4),e.length&&a.writeBytes(e);let m=new Uint8Array(a.data),f=null;1===i.encryption?f=(new TextEncoder).encode(i.uin):2===i.encryption&&(f=new Uint8Array(16)),f&&(m=function(e,t){let r=e.length,i=(r+1+fD+_D)%8;i&&(i=8-i);let o=r+1+fD+_D+i,n=new Uint8Array(o),a=0,s=new Uint8Array(8),c=new Uint8Array(8),l=new Uint8Array(8),d=0;s[0]=248&Math.floor(256*Math.random())|i,d=1;for(let h=0;h<i;h++)s[d]=255&Math.floor(256*Math.random()),d+=1;for(let h=0;h<fD;)if(d<8&&(s[d]=255&Math.floor(256*Math.random()),d+=1,h+=1),8===d){ED(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}let u=0;for(;u<r;)if(d<8&&(s[d]=e[u],d+=1,u+=1),8===d){ED(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}for(let h=0;h<_D;)if(d<8&&(s[d]=0,d+=1,h+=1),8===d){ED(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}return n}(m,f)),r.writeBytes(m);let _=new Uint8Array(r.data),g=_.length;return _[0]=g>>>24&255,_[1]=g>>>16&255,_[2]=g>>>8&255,_[3]=255&g,_}function ED(e,t,r,i,o,n){for(let a=0;a<8;a++)e[a]^=i[a];!function(e,t,r,i){let o=lD(e,0),n=lD(e,4),a=[];for(let c=0;c<4;c++)a[c]=lD(t,4*c);let s=0;for(let c=0;c<mD;c++)s+=pD,s>>>=0,o+=(n<<4)+a[0]^n+s^(n>>>5)+a[1],o>>>=0,n+=(o<<4)+a[2]^o+s^(o>>>5)+a[3],n>>>=0;cD(r,o,i),cD(r,n,i+4)}(e,t,o,n);for(let a=0;a<8;a++)o[n+a]^=r[a];for(let a=0;a<8;a++)r[a]=e[a]}var vD=function(){return new URLSearchParams(location.search).get("trtc_env")||""},yD=e=>Number(e)<14e8,TD=function(e,t){let r;r=Cw||(yD(e)?Uw:xw);let i=Math.floor(Math.random()*Yb(2,31));return"".concat(r,"/v5/AVQualityReportSvc/C2S?random=").concat(i,"&sdkappid=").concat(e,"&cmdtype=").concat(t)},ID="unknown";function AD(){if("unknown"!==ID)return ID;let{userAgent:e,connection:t}=navigator,r=(e.match(/NetType\/\S+/)||[])[0]||"";r=r.toLowerCase().replace("nettype/",""),"3gnet"===r&&(r="3g");let i=t&&t.type&&t.type.toLowerCase(),o=t&&t.effectiveType&&t.effectiveType.toLowerCase();return"slow-2"===o&&(o="2g"),i&&(ID=SD(i,o)),ID}function SD(e,t){if(Gw[e])return e;switch(e){case"cellular":case"wimax":return t||"unknown";case"ethernet":return"wired";default:return"unknown"}}function RD(e){ID=SD(e)}function bD(){return Gw[AD()]}function wD(e,t){for(let r of Reflect.ownKeys(t))if("constructor"!==r&&"prototype"!==r&&"name"!==r){let i=Object.getOwnPropertyDescriptor(t,r)||"";Object.defineProperty(e,r,i)}return e}function CD(e){return DD(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function DD(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function ND(e){return 4*kD(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function kD(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var OD="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:()=>{},MD=()=>{let e=navigator.language;return e=e.substring(0,2),"zh"===e},LD=function(e){if(!e||"object"!=typeof e||"[object Object]"!=Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);if(null===t)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)};function PD(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:PD(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function xD(e){return e>8?3e4:1e3*PD(e)}function UD(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var VD=e=>"function"==typeof e,FD=e=>void 0===e,BD=e=>"string"==typeof e,HD=e=>"number"==typeof e,WD=e=>"boolean"==typeof e,jD=e=>"object"===UD(e),GD=e=>"array"===UD(e),zD=e=>UD(e)==="MediaStreamTrack".toLowerCase(),KD=e=>e.isRemote,qD=e=>"promise"===UD(e),YD=e=>VD(e)&&e.prototype.constructor===e,JD=e=>YD(e)?e.prototype.constructor.name:"",XD="undefined"!=typeof AudioWorkletNode,$D="undefined"!=typeof HTMLMediaElement&&"setSinkId"in HTMLMediaElement.prototype;function QD(e){return new Promise(((t,r)=>{let i=[];e.forEach((o=>{o.then(t).catch((t=>{i.push(t),i.length===e.length&&r(i)}))}))}))}function ZD(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var eN=e=>+e<10?"0".concat(e):e,tN=e=>{let t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;let r=t.split("."),i=eN(r[1])+eN(r[2]);return r[1]-15>0&&(r[1]="15"),r[2]-15>0&&(r[2]="15"),"".concat(r.join("."),".").concat(i)},rN=Object.prototype.hasOwnProperty;function iN(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(LD(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(rN.call(e,t))return!1;return!0}return!1}function oN(e,t){return{userId:t,hasAudio:!!(e&oC),hasVideo:!!(e&tC),hasAuxiliary:!!(e&iC),hasSmall:!!(e&rC),audioMuted:!!(e&nC),videoMuted:!!(e&aC),audioAvailable:!(!(e&oC)||e&nC),videoAvailable:!(!(e&tC)||e&aC)}}function nN(e){let t={urls:e.url.startsWith("turn:")||e.url.startsWith("turns:")?e.url:"turn:".concat(e.url)};return!FD(e.username)&&!FD(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType="password",FD(e.credentialType)||(t.credentialType=e.credentialType)),t}function aN(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!BD(e))return 0;let r=e.split(".");return t?(Number(r[0])<<24|Number(r[1])<<16|Number(r[2])<<8|Number(r[3]))>>>0:(Number(r[3])<<24|Number(r[2])<<16|Number(r[1])<<8|Number(r[0]))>>>0}var sN=function(e,t,r,i){if(!jD(e)||!jD(t))return 0;let o,n=0,a=Object.keys(t);for(let s=0,c=a.length;s<c;s++)if(o=a[s],!(FD(t[o])||r&&r.includes(o)))if(jD(e[o])&&jD(t[o]))n+=sN(e[o],t[o],r,i);else{if(i&&i.includes(t[o]))continue;e[o]!==t[o]&&(e[o]=cN(t[o]),n+=1)}return n};function cN(e){if(GD(e)){let t=[];return e.forEach(((e,r)=>{t[r]=cN(e)})),t}if(jD(e)){let t={};return Object.keys(e).forEach((r=>{t[r]=cN(e[r])})),t}return e}var lN=e=>{let t=[];if(GD(e))t=[...e];else if(BD(e)){let r=document.getElementById(e);r&&t.push(r)}else e&&t.push(e);return t},dN=e=>BD(e)?document.getElementById(e):e,uN=()=>(e=>{let t=e=>e<10?"0".concat(e):"".concat(e),r=e.getFullYear(),i=e.getMonth()+1,o=e.getDate(),n=t(e.getHours()),a=t(e.getMinutes()),s=t(e.getSeconds());return"".concat(r,"/").concat(i,"/").concat(o," ").concat(n,":").concat(a,":").concat(s)})(new Date);function hN(e,t){let{keysToInclude:r,keysToExclude:i}=t;try{if(GD(e))return"[".concat(e.map((e=>hN(e,{keysToInclude:r,keysToExclude:i}))).join(","),"]");if(!LD(e)||!GD(r)&&!GD(i))return JSON.stringify(e);let t={},o=new Set(r),n=new Set(i);return Object.keys(e).forEach((a=>{(0===n.size&&o.has(a)||0===o.size&&!n.has(a))&&(t[a]=LD(e[a])||GD(e[a])?JSON.parse(hN(e[a],{keysToExclude:i,keysToInclude:r})):e[a])})),JSON.stringify(t)}catch(RC){return"{}"}}function pN(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];return Object.keys(e).forEach((i=>{t===e[i]&&r.push(i)})),hN(e,{keysToInclude:r})}function mN(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}var fN=()=>{var e,t,r,i;return null!=(e=window.screen)&&e.orientation?!(null==(i=null==(r=null==(t=window.screen)?void 0:t.orientation)?void 0:r.type)||!i.includes("portrait")):0===window.orientation||180===window.orientation},_N=e=>ow(void 0,null,(function*(){return new Promise(((t,r)=>{let i;if(BD(e))i=new Image,i.crossOrigin="anonymous",i.src=e;else if(i=e,i.complete)return void t(i);i.onload=()=>t(i),i.onerror=()=>{r(new pw({code:uw.INVALID_PARAMETER,message:"load image failed, url: ".concat(e)}))}}))})),gN=e=>{let t=e.split(".");return+t[0]<<24|+t[1]<<16|+t[2]<<8|+t[3]},EN=e=>(Object.keys(e).forEach((t=>{HD(e[t])&&(t.startsWith("uint")||t.startsWith("int"))?e[t]=Math.floor(e[t]):(LD(e[t])||GD(e[t]))&&EN(e[t])})),e);function vN(e,t){return new Promise((r=>{let i=setTimeout(r,e);t&&t(i)}))}function yN(e,t){let r=null;return function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return r||(r=e.apply(t||this,o),r.finally((()=>r=null)),r)}}function TN(e){return e.replace(/(^|[^:])\/{2,}/g,"$1/")}function IN(e){var t;try{let{width:r,height:i,frameRate:o,sampleRate:n,sampleSize:a,channelCount:s}=null==(t=e.getSettings)?void 0:t.call(e),c=e.kind===$w.AUDIO?"".concat(n,"x").concat(a,"@").concat(s):"".concat(r,"x").concat(i,"@").concat(o),l=e.stats?" stats: ".concat(JSON.stringify(e.stats).replaceAll('"',"")):"";return"".concat(e.id," ").concat(e.readyState," muted:").concat(e.muted," ").concat(e.kind," ").concat(e.label," ").concat(c).concat(l)}catch(Aw){return""}}function AN(e,t){return e.width*e.height==t.width*t.height?1:fN()&&t.width>t.height&&e.height>t.width?Math.max(e.width/t.height,e.height/t.width,1):Math.max(e.width/t.width,e.height/t.height,1)}function SN(e){return 90===e||270===e}function RN(e){return ow(this,null,(function*(){return new Promise(((t,r)=>{let i=document.createElement("video");i.crossOrigin="anonymous",i.src=e,i.muted=!0,i.loop=!0,i.playsInline=!0,i.play().then((()=>t(i))),i.onerror=()=>{r(i.error)}}))}))}function bN(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);if(Array.isArray(e)){let r=[];return t.set(e,r),e.forEach(((e,i)=>{r[i]=bN(e,t)})),r}if("[object Object]"===Object.prototype.toString.call(e)){let r={};return t.set(e,r),Reflect.ownKeys(e).forEach((i=>{r[i]=bN(e[i],t)})),r}return e}var wN=(e=>(e[e.END_REPORT=2001]="END_REPORT",e[e.LOG=2002]="LOG",e[e.KEY_METRIC_REPORT=2003]="KEY_METRIC_REPORT",e))(wN||{});function CN(e,t,r,i){try{let o=function(e,t,r,i){let o={data:e,random:Math.floor(2147483648*Math.random()),sdkAppId:r};return FD(i)||(o=$b(Xb({},o),{gzip:+i})),{uint32_sdkappid:0,uint64_from_uin:0,uint32_timestamp:0,uint32_seq:0,msg_common_info:{msg_device_info:{enum_device_type:0,str_device_brand:"",str_device_model:"",str_device_board:"",str_device_cpu_abi:""},msg_system_info:{enum_os_type:0,str_os_version:"",msg_network_info:0},msg_network_info:{enum_network_type:0}},msg_report_content:{uint32_type:t,bytes_report_data:JSON.stringify(o)}}}(e,t,r,i);return gD(aD(o),r)}catch(iM){return JSON.stringify(e)}}function DN(e,t){let r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer}function NN(e){return(65535&e)>>>0}function kN(e){return(4294901760&e)>>>0}function ON(e){let t=function(e){try{let t={},r=0;t.totalLength=lD(e,r),r+=4,t.version=lD(e,r),r+=4,t.encryption=dD(e,r),r+=1,t.uinType=dD(e,r),r+=1,t.uinLength=lD(e,r),r+=4,t.uin=t.uinLength>4?uD(e,r,t.uinLength-4):"",r+=t.uinLength-4;let i=e.slice(r);if(2===t.encryption){e=function(e,t){let r=0,i=new Uint8Array(8).fill(0),o=new Uint8Array(e.slice(0,8)),n=MN(o,t),a=7&n[0],s=e.length-1-a-fD-_D,c=new Uint8Array(s),l=0,d=i,u=e.slice(0,8);r=8;let h=1;h+=a;for(let m=1;m<=fD;)if(h<8)h++,m++;else if(8===h){let i=LN(e,r,d,u,n,t);d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}let p=s;for(;p>0;)if(h<8)c[l++]=n[h]^d[h],h++,p--;else if(8===h){let i=LN(e,r,d,u,n,t);d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}for(let m=1;m<=_D;)if(h<8)n[h],d[h],h++,m++;else if(8===h){if(r>=e.length)break;let i=LN(e,r,d,u,n,t);if(!i.success)break;d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}return c}(i,new Uint8Array(16).fill(0)),t.decrypted=!0,r=0}else e=i,r=0;return t.rspHeadLength=lD(e,r),r+=4,t.seqNo=lD(e,r),r+=4,t.retCode=lD(e,r),r+=4,t.retStrLength=lD(e,r),r+=4,t.retStr=t.retStrLength?uD(e,r,t.retStrLength-4):"",r+=t.retStrLength-4,t.serviceCmdLength=lD(e,r),r+=4,t.serviceCmd=t.serviceCmdLength?uD(e,r,t.serviceCmdLength-4):"",r+=t.serviceCmdLength-4,t.cookieLength=lD(e,r),r+=4,t.cookie=t.cookieLength?uD(e,r,t.cookieLength-4):"",r+=t.cookieLength-4,t.flag=lD(e,r),r+=4,t.busiBuffLength=lD(e,r),r+=4,t.busiBuff=t.busiBuffLength?uD(e,r,t.busiBuffLength-4):"",r+=t.busiBuffLength-4,t}catch(t){}}(e);return null==t?void 0:t.busiBuff}function MN(e,t){let r=e[0]<<24|e[1]<<16|e[2]<<8|e[3],i=e[4]<<24|e[5]<<16|e[6]<<8|e[7];r>>>=0,i>>>=0;let o=pD*mD>>>0;for(let n=0;n<mD;n++)i-=(r<<4)+t[2]^r+o^(r>>>5)+t[3],i>>>=0,r-=(i<<4)+t[0]^i+o^(i>>>5)+t[1],r>>>=0,o-=pD,o>>>=0;return new Uint8Array([r>>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i])}function LN(e,t,r,i,o,n){if(t+8>e.length)return{success:!1};let a=new Uint8Array(i),s=e.slice(t,t+8),c=new Uint8Array(8);for(let l=0;l<8;l++)c[l]=o[l]^s[l];return{success:!0,ivPreCrypt:a,ivCurCrypt:s,debiBuf:MN(c,n),bufPos:t+8}}var PN="undefined"!=typeof TextDecoder?new TextDecoder:void 0;function xN(e){let{url:t,body:r,method:i="POST",timeout:o,priority:n}=e;return new Promise(((e,a)=>{if("fetch"in window)return fetch(t,{method:i,body:r,priority:n}).then((e=>e.clone().json().then((e=>({data:e})),(()=>e.arrayBuffer().then((e=>({data:ON(new Uint8Array(e))||(PN?PN.decode(e):e)}))))))).then(e,a);let s=new XMLHttpRequest;s.onreadystatechange=()=>{if(4===s.readyState)if(s.status>=200&&s.status<300)try{let t=JSON.parse(s.response);e({data:t})}catch(nM){e({data:s.response})}else a({status:s.status,statusText:s.statusText||"request failed!"})},s.timeout=o||5e3,s.open(i,t,!0),s.send(r)}))}function UN(e){return ow(this,null,(function*(){let t=ZD(),r=JSON.stringify(e);try{if(!CompressionStream||r.length<=2800)return r;let e=new Blob([r],{type:"application/json"}).stream().pipeThrough(new CompressionStream("gzip")),i=yield(yield(yield new Response(e)).blob()).arrayBuffer();return qO.debug("compressJSON ".concat(r.length," -> ").concat(i.byteLength," ").concat(ZD()-t,"ms")),i}catch(RC){return r}}))}var VN=Object.prototype.hasOwnProperty,FN=e=>"function"==typeof e,BN=e=>e.isRemote,HN=function(e){if(!e||"object"!=typeof e||"[object Object]"!=Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);if(null===t)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)};var WN=function(e){let{retryFunction:t,settings:r,onError:i,onRetrying:o,onRetryFailed:n,onRetrySuccess:a,context:s}=e;return function(){for(var e=arguments.length,c=new Array(e),l=0;l<e;l++)c[l]=arguments[l];let{retries:d=5,timeout:u=1e3}=r,h=0,p=-1,m=0,f=(e,r)=>ow(this,null,(function*(){let l=s||this;try{let r=yield t.apply(l,c);h>0&&a&&a.call(this,h),h=0,e(r)}catch(cL){let a=()=>{clearTimeout(p),h=0,m=2,r(cL)},s=()=>{2!==m&&h<(FN(d)?d():d)?(h++,m=1,FN(o)&&o.call(this,h,a),p=window.setTimeout((()=>{p=-1,f(e,r)}),FN(u)?u(h):u)):(a(),FN(n)&&n.call(this,cL))};FN(i)?i.call(this,{error:cL,retry:s,reject:r,retryFuncArgs:c,retriedCount:h}):s()}}));return new Promise(f)}},jN=class{constructor(e){rw(this,"userId"),rw(this,"remoteUserId"),rw(this,"id"),rw(this,"sdkAppId"),rw(this,"type"),rw(this,"isLocal"),this.id=e.id,this.userId=e.userId,this.sdkAppId=e.sdkAppId,this.remoteUserId=e.remoteUserId,this.isLocal="boolean"!=typeof e.isLocal||e.isLocal,this.type=this.isLocal?"":e.type}createChild(e){return Object.setPrototypeOf(e,this)}setUserId(e){this.userId=e}setSdkAppId(e){this.sdkAppId=e}log(e,t){let r=this.isLocal?this.userId:this.remoteUserId;t.unshift("[".concat(this.isLocal?"↑":"↓").concat(this.type&&"main"!==this.type?"*":"").concat(this.id).concat(r?"|".concat(r):"","]")),qO.log(e,t,void 0===this.userId||function(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(HN(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(VN.call(e,t))return!1;return!0}return!1}(this.userId),this.userId,this.sdkAppId)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(2,t)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(1,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(3,t)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(4,t)}},GN={};Zb(GN,{ANDROID_VERSION:()=>ik,CHROME_MAJOR_VERSION:()=>cO,CHROME_VERSION:()=>lO,EDGE_VERSION:()=>dk,EDG_MAJOR_VERSION:()=>pk,EDG_VERSION:()=>hk,ELECTRON_MAJOR_VERSION:()=>dO,FIREFOX_MAJOR_VERSION:()=>ck,FIREFOX_VERSION:()=>sk,HUAWEI_VERSION:()=>Yk,IE_VERSION:()=>Sk,IOS_MAIN_VERSION:()=>EO,IOS_VERSION:()=>fO,IPADQQB_VERSION:()=>Pk,IS_ANDROID:()=>rk,IS_ANDROID_WEBVIEW:()=>mO,IS_ANY_SAFARI:()=>hO,IS_CHROME:()=>aO,IS_CHROME_OS:()=>Fk,IS_CHROMIUM_BASE:()=>nO,IS_DESKTOP_IOS_CHROME:()=>IO,IS_EDG:()=>uk,IS_EDGE:()=>lk,IS_ELECTRON:()=>Wk,IS_FIREFOX:()=>ak,IS_HEADLESS_CHROME:()=>sO,IS_HONOR:()=>qk,IS_HUAWEI:()=>Kk,IS_HUAWEIBROWSER:()=>zk,IS_IE:()=>Ak,IS_IE8:()=>Ik,IS_IOS:()=>tk,IS_IOS_13_OR_14:()=>TO,IS_IOS_15_1:()=>yO,IS_IOS_CHROME:()=>oO,IS_IPAD:()=>$N,IS_IPADQQB:()=>Lk,IS_IPAD_PRO:()=>QN,IS_IPHONE:()=>ZN,IS_IPOD:()=>ek,IS_LINUX:()=>Vk,IS_LOCAL:()=>AO,IS_MAC:()=>Uk,IS_MACQQB:()=>Ok,IS_MIBROWSER:()=>jk,IS_MQQB:()=>Ck,IS_NATIVE_ANDROID:()=>nk,IS_OLD_ANDROID:()=>ok,IS_OPENHARMONY:()=>tO,IS_OPPOBROWSER:()=>$k,IS_SAFARI:()=>uO,IS_SAFARI_15_1:()=>vO,IS_SAMSUNGBROWSER:()=>Jk,IS_SOGOU:()=>_k,IS_SOGOUM:()=>mk,IS_TBS:()=>Ek,IS_UCBROWSER:()=>Hk,IS_VIVOBROWSER:()=>Zk,IS_WECHAT:()=>Rk,IS_WIN:()=>xk,IS_WQQB:()=>Nk,IS_WX:()=>Bk,IS_X5MQQB:()=>wk,IS_XWEB:()=>yk,MACQQB_VERSION:()=>Mk,MI_VERSION:()=>Gk,MQQB_VERSION:()=>Dk,OPENHARMONY_VERSION:()=>rO,OPPO_VERSION:()=>Qk,SAFARI_VERSION:()=>pO,SAMSUNG_VERSION:()=>Xk,SOGOUM_VERSION:()=>fk,SOGOU_VERSION:()=>gk,TBS_VERSION:()=>vk,UA_DATA_STRING:()=>DO,USER_AGENT:()=>zN,VIVO_VERSION:()=>eO,WECHAT_VERSION:()=>bk,WQQB_VERSION:()=>kk,XWEB_VERSION:()=>Tk,browserInfo:()=>RO,getBrowserCoreNumber:()=>UO,getBrowserInfo:()=>bO,getChromeMajorVersion:()=>iO,getDeviceModel:()=>OO,getDeviceModelFromUA:()=>MO,getGPUInfo:()=>kO,getOSName:()=>PO,getOSNumber:()=>xO,getOSString:()=>VO,getOSType:()=>BO,getTerminalType:()=>FO,getUserAgentData:()=>NO,isLocalStorageEnabled:()=>SO,isMobile:()=>CO,isVersionLargerThan:()=>gO,isVersionSmallerThan:()=>_O});var zN="undefined"==typeof navigator?"":navigator.userAgent,KN=e=>new RegExp(e,"i").test(zN),qN=e=>{if(KN(e)){let t=new RegExp("".concat(e,"\\/([\\d.]+)")),r=zN.match(t);if(r&&r[1])return r[1]}return""},YN=e=>{if(KN(e)){let t=new RegExp("".concat(e,"\\/(\\d+)")),r=zN.match(t);if(r&&r[1])return parseFloat(r[1])}return NaN},JN=/AppleWebKit\/([\d.]+)/i.exec(zN),XN=JN?parseFloat(JN[1]):NaN,$N=KN("iPad"),QN="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&KN("Macintosh"),ZN=KN("iPhone")&&!$N,ek=KN("iPod"),tk=ZN||$N||ek||QN,rk=KN("Android"),ik=function(){if(rk){let e=zN.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(e){let t=e[1]&&parseFloat(e[1]),r=e[2]&&parseFloat(e[2]);if(t&&r)return parseFloat("".concat(e[1],".").concat(e[2]));if(t)return t}}return NaN}(),ok=rk&&KN("webkit")&&ik<2.3,nk=rk&&ik<5&&XN<537,ak=KN("Firefox"),sk=qN("Firefox"),ck=YN("Firefox"),lk=KN("Edge"),dk=qN("Edge"),uk=KN("Edg"),hk=qN("Edg"),pk=YN("Edg"),mk=KN("SogouMobileBrowser"),fk=qN("SogouMobileBrowser"),_k=KN("MetaSr\\s"),gk=qN("MetaSr\\s"),Ek=KN("TBS"),vk=qN("TBS"),yk=KN("XWEB"),Tk=qN("XWEB"),Ik=KN("MSIE\\s8\\.0"),Ak=KN("MSIE\\/\\d+"),Sk=function(){if(Ak){let e=/MSIE\s(\d+)\.\d/.exec(zN),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(zN)&&/rv:11.0/.test(zN)&&(t=11),t}return NaN}(),Rk=KN("(micromessenger|webbrowser)"),bk=qN("MicroMessenger"),wk=!Ek&&KN("MQQBrowser")&&KN("COVC"),Ck=!Ek&&KN("MQQBrowser")&&!KN("COVC"),Dk=Ck||wk?qN("MQQBrowser"):"",Nk=!Ek&&KN(" QQBrowser"),kk=qN(" QQBrowser"),Ok=!Ek&&KN("QQBrowserLite"),Mk=qN("QQBrowserLite"),Lk=!Ek&&KN("MQBHD"),Pk=qN("MQBHD"),xk=KN("Windows"),Uk=!tk&&KN("MAC OS X"),Vk=!rk&&KN("Linux"),Fk=KN("CrOS"),Bk=KN("MicroMessenger"),Hk=KN("UCBrowser"),Wk=KN("Electron"),jk=KN("MiuiBrowser"),Gk=qN("MiuiBrowser"),zk=KN("HuaweiBrowser"),Kk=KN("Huawei")||KN("HUAWEI"),qk=KN("Honor")||KN("HONOR"),Yk=qN("HuaweiBrowser"),Jk=KN("SamsungBrowser"),Xk=qN("SamsungBrowser"),$k=KN("HeyTapBrowser"),Qk=qN("HeyTapBrowser"),Zk=KN("VivoBrowser"),eO=qN("VivoBrowser"),tO=KN("OpenHarmony"),rO=qN("OpenHarmony"),iO=()=>YN("Chrome"),oO=KN("CriOS"),nO=KN("Chrome"),aO=!lk&&!_k&&!mk&&!Ek&&!yk&&!uk&&!Nk&&!jk&&!zk&&!Jk&&!$k&&!Zk&&nO,sO=KN("HeadlessChrome"),cO=iO(),lO=qN("Chrome"),dO=YN("Electron"),uO=!nO&&!Ck&&!wk&&!Ok&&!Lk&&KN("Safari"),hO=uO||tk,pO=qN("Version"),mO=/Android.*(wv|.0.0.0)/.test(zN),fO=(()=>{if(QN)return pO;if(tk){let e=zN.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""})();function _O(e,t){let r=e.split(".").map((e=>Number(e))),i=t.split(".").map((e=>Number(e)));for(let o=0;o<Math.max(r.length,i.length);o++){let e=r[o]||0,t=i[o]||0;if(e<t)return!0;if(e>t)return!1}return!1}function gO(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=e.split(".").map((e=>Number(e))),o=t.split(".").map((e=>Number(e)));for(let n=0;n<Math.max(i.length,o.length);n++){let e=i[n]||0,t=o[n]||0;if(e>t)return!0;if(e<t)return!1}return r}var EO=Number(fO.split(".")[0]),vO="15.1"===pO,yO="15.1"===fO,TO=(()=>{let e=Number(fO.split(".")[0]);return 14===e||13===e})(),IO=oO&&"11.1.1"===pO,AO="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),SO=(()=>{let e;return()=>{if(void 0===e)try{e=!!window.localStorage}catch(tM){e=!1}return e}})(),RO=bO();function bO(){let e=new Map([[ak,["Firefox",sk]],[uk,["Edg",hk]],[aO,["Chrome",lO]],[oO,["ChiOS",qN("CriOS")]],[uO&&!oO,["Safari",pO]],[Ek,["TBS",vk]],[yk,["XWEB",Tk]],[Rk&&ZN,["WeChat",bk]],[Nk,["QQ(Win)",kk]],[Ck,["QQ(Mobile)",Dk]],[wk,["QQ(Mobile X5)",Dk]],[Ok,["QQ(Mac)",Mk]],[Lk,["QQ(iPad)",Pk]],[jk,["MI",Gk]],[zk,["HW",Yk]],[Jk,["Samsung",Xk]],[$k,["OPPO",Qk]],[Zk,["VIVO",eO]],[lk,["EDGE",dk]],[mk,["SogouMobile",fk]],[_k,["Sogou",gk]]]),t="unknown",r="unknown";return e.has(!0)&&([t,r]=e.get(!0)),{name:t,version:r}}var wO=null;function CO(){return wO&&"boolean"==typeof wO.mobile?wO.mobile:rk||tk||ZN||$N||tO}var DO="";function NO(){return ow(this,null,(function*(){if(wO)return wO;if(!navigator.userAgentData||"function"!=typeof navigator.userAgentData.getHighEntropyValues)return null;try{return(wO=yield navigator.userAgentData.getHighEntropyValues(["architecture","bitness","model","platformVersion","fullVersionList"]))&&!DO&&(DO="UAData: ".concat(wO.platform,"/").concat(wO.platformVersion),wO.architecture&&wO.bitness&&(DO+=" ".concat(wO.architecture,"/").concat(wO.bitness)),wO.mobile&&(DO+=" mobile"),wO.model&&(DO+=" model: ".concat(wO.model.replace(/\s+/g,"/"))),wO.fullVersionList&&(DO+=" ".concat(wO.fullVersionList.filter((e=>"Not/A)Brand"!==e.brand)).map((e=>"".concat(e.brand,"/").concat(e.version))).join(",")))),wO}catch(yH){return null}}))}function kO(){try{let e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");if(!t)return"";let r=t.getExtension("WEBGL_debug_renderer_info");if(r){let e=t.getParameter(r.UNMASKED_VENDOR_WEBGL),i=t.getParameter(r.UNMASKED_RENDERER_WEBGL);return"".concat(e," ").concat(i)}return""}catch(yH){return""}}function OO(){return(null==wO?void 0:wO.model)||MO()||""}function MO(){let e=zN.match(/;\s*([^;)]+)\s+Build\//);return null!=e&&e[1]?e[1].trim():null}var LO=new Map([[rk,"Android"],[tk,"iOS"],[xk,"Windows"],[Uk,"MacOS"],[Vk,"Linux"],[Fk,"ChromeOS"]]),PO=function(){return LO.get(!0)?LO.get(!0):wO?wO.platform:"unknown"};function xO(){return xk?1:rk?2:Uk?3:tk?4:Vk?5:Fk?6:tO?7:0}function UO(){return nO?1:uO?2:ak?3:0}var VO=()=>{let e=PO();return null!=wO&&wO.platformVersion?e+="/".concat(wO.platformVersion):tk?e+="/".concat(fO):rk&&(e+="/".concat(ik)),e+="/".concat(RO.name,"/").concat(uO&&!oO?RO.version:RO.version.split(".")[0]),null!=wO&&wO.architecture&&(e+="/".concat(wO.architecture)),e};function FO(){return rk?4:ZN?2:$N?3:Uk?12:xk?5:Vk?13:tO?22:1}function BO(){return rk?"Android":ZN?"iPhone":$N?"iPad":Uk?"Mac":xk?"Windows":Vk?"Linux":"unknown"}var HO,WO=new(ew(nw(),1).default),jO=((HO=jO||{}).ROOM_DESTROY="1",HO.JOIN_START="21",HO.JOIN_SCHEDULE_SUCCESS="22",HO.JOIN_SIGNAL_CONNECTION_START="23",HO.JOIN_SIGNAL_CONNECTION_END="24",HO.JOIN_SEND_CMD="25",HO.JOIN_RECEIVED_CMD_RES="26",HO.JOIN_SUCCESS="27",HO.JOIN_FAILED="28",HO.LEAVE_START="51",HO.LEAVE_SEND_CMD="52",HO.LEAVE_SUCCESS="53",HO.PUBLISH_START="61",HO.SEND_FIRST_VIDEO_FRAME="62",HO.PUBLISH_FAILED="63",HO.SUBSCRIBE_START="81",HO.SUBSCRIBE_SUCCESS="82",HO.SUBSCRIBE_FAILED="84",HO.UNSUBSCRIBE_SUCCESS="83",HO.LOCAL_TRACK_CAPTURE_START="101",HO.LOCAL_TRACK_CAPTURE_SUCCESS="102",HO.LOCAL_TRACK_CAPTURE_FAILED="103",HO.LOCAL_TRACK_PUBLISHED="104",HO.LOCAL_TRACK_UNPUBLISHED="105",HO.LOCAL_TRACK_REPLACED="106",HO.SWITCH_DEVICE_SUCCESS="107",HO.TRACK_MUTED="108",HO.TRACK_UNMUTED="109",HO.REMOTE_TRACK_SUBSCRIBED="110",HO.REMOTE_TRACK_UNSUBSCRIBED="111",HO.LOCAL_TRACK_RECAPTURE="112",HO.LOCAL_AUDIO_STARTED="113",HO.LOCAL_AUDIO_STOPPED="114",HO.REMOTE_AUDIO_STARTED="115",HO.REMOTE_AUDIO_STOPPED="116",HO.PLAY_TRACK_START="151",HO.PLAYER_STATE_CHANGED="152",HO.VIDEO_LOADED_DATA="153",HO.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",HO.AUDIO_CONTEXT_LONG_SUSPENDED="155",HO.SIGNAL_CONNECTION_STATE_CHANGED="201",HO.PEER_CONNECTION_STATE_CHANGED="202",HO.SINGLE_CONNECTION_STAT="203",HO.SPC_RECONNECTED="204",HO.HEARTBEAT_REPORT="251",HO.RECEIVED_PUBLISHED_USER_LIST="252",HO.REMOTE_PUBLISH_STATE_CHANGED="253",HO.AUDIO_LEVEL_INTERVAL="260",HO.NETWORK_QUALITY="261",HO.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",HO.QUALITY_LIMITATION_CHANGED="263",HO.LOG="264",HO.AUDIO_PROCESSOR_DEBUG="265",HO.SSO_SWITCH="266",HO.SWITCH_ROOM_START="401",HO.SWITCH_ROOM_SUCCESS="407",HO.SWITCH_ROOM_FAILED="408",HO),GO=jO,zO=new class{constructor(){rw(this,"enable",!1),rw(this,"ssoFailCount",0),WO.on("22",(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.sso&&WO.emit("266",{enable:!0})})),WO.on("266",(e=>{let{enable:t}=e;this.enable=t}))}handleUploadFailed(){this.ssoFailCount++,this.ssoFailCount>3&&WO.emit("266",{enable:!1})}},KO=class e{constructor(){rw(this,"_isEnableUploadLog",!0),rw(this,"_localJoinedUser",new Map),rw(this,"_queue",[]),rw(this,"_timeoutId",-1),rw(this,"_logLevel",1),rw(this,"_logLevelToUpload",2),!Rw&&!bw&&(this.checkURLParam(),this.installEvents())}get isAbleToUpload(){return this._isEnableUploadLog&&-1!==this._timeoutId}installEvents(){WO.on(GO.JOIN_SCHEDULE_SUCCESS,(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.logLevelToUpload&&Hw[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),WO.on(GO.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),WO.once(GO.JOIN_FAILED,(()=>{this.startUpload()})),WO.on(GO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.deleteJoinedUser(t.userId)}))}startUpload(){-1===this._timeoutId&&this.uploadInterval()}addJoinedUser(e){this._localJoinedUser.set(e.userId,e),this.startUpload()}deleteJoinedUser(e){this._localJoinedUser.delete(e)}uploadInterval(){this.upload().catch((()=>{})),this._timeoutId=window.setTimeout((()=>this.uploadInterval()),5e3)}getLogsToUpload(){let e={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&0===this._localJoinedUser.size)return e;let t=0;for(;t<this._queue.length&&50!==t;t++){let r=this._queue[t];if(r.forAllJoinedClients)this._localJoinedUser.forEach((t=>{let{userId:i,sdkAppId:o}=t;e.map.has(i)?e.map.get(i).logs.push(r):e.map.set(i,{userId:i,sdkAppId:o,logs:[r]})}));else if(BD(r.userId)&&HD(r.sdkAppId)){let{userId:t,sdkAppId:i}=r;e.map.has(t)?e.map.get(t).logs.push(r):e.map.set(t,{userId:t,sdkAppId:i,logs:[r]})}}return e.map.size>0&&(e.splicedQueue=this._queue.splice(0,t)),e}upload(){return ow(this,null,(function*(){if(0===this._queue.length||!this._isEnableUploadLog)return;let{map:e,splicedQueue:t}=this.getLogsToUpload();if(0===e.size)return;try{let t=[...e.values()];for(let e=0;e<t.length;e++){let{userId:r,sdkAppId:i,logs:o}=t[e],n={timestamp:_w(),sdkAppId:String(i),userId:r,version:Tw,log:o.map((e=>e.log)).join("\n")},a=JSON.stringify(n),s=zO.enable?CN(n,2002,i):a;yield this.uploadLogWithRetry(s,i,s instanceof Uint8Array,a),o.forEach((e=>e.uploaded=!0))}}catch(iM){}let r=t.filter((e=>!e.uploaded));r.length>0&&(this._queue=r.concat(this._queue))}))}uploadLogWithRetry(e,t,r,i){return WN({retryFunction:()=>xN({url:TD(t,Fw.LOG),body:e,timeout:5e3,priority:"low"}).then((e=>{r&&"ok"!==e.data&&(zO.handleUploadFailed(),this.uploadLogWithRetry(i,t,!1,i))})),settings:{retries:3,timeout:2e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;return t.setTime(fw()),"[".concat(gw(t),"] <").concat(Hw[e],">")}getLogLevel(){return this._logLevel}setLogLevel(e){FD(Hw[e])||(this._logLevel!==e&&this.info("setLogLevel",e),this._logLevel=e)}enableUploadLog(){this._isEnableUploadLog=!0}disableUploadLog(){this.warn("disableUploadLog"),this._isEnableUploadLog=!1}logChunkToString(e){if(BD(e))return e;try{return e instanceof Error?e.toString():JSON.stringify(e)}catch(Aw){return""}}addLogToQueue(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,n={log:t.reduce(((e,t)=>"".concat(e," ").concat(this.logChunkToString(t)).trim()),""),level:e,userId:i,sdkAppId:o,forAllJoinedClients:r};WO.emit(GO.LOG,{log:n}),this._isEnableUploadLog&&e>=this._logLevelToUpload&&this._queue.push(n)}log(t,r){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0;var a;if(r.unshift(this.getPrefix(t)),this.addLogToQueue(t,r,i,o,n),t<this._logLevel)return;let s=(null==(a=Hw[t])?void 0:a.toLowerCase())||"info";e.PRINT_LOG_TAG?console[s]("%cTRTC%c%s","padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;","display: inline",...r):console[s](...r)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(1,t)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(2,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(3,t)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(4,t)}createLogger(e){return new jN(e)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),t=e?Number(e):-1;Hw[t]&&(this._logLevelToUpload=t)}getQueue(){return this._queue}};rw(KO,"PRINT_LOG_TAG",!(tk||rk||sO));var qO=new KO,YO=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{let t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},JO=new class{constructor(){rw(this,"_prefix","TRTC"),rw(this,"_queue",new Map)}getRealKey(e){return"".concat(this._prefix,"_").concat(e)}checkStorage(){SO()&&(setInterval(this.doFlush.bind(this),2e4),Object.keys(localStorage).filter((e=>{if(e.startsWith(this._prefix))try{let t=localStorage.getItem(e);if(!t)return!1;let r=JSON.parse(t);if(r&&r.expiresIn<Date.now())return!0}catch(iM){return!1}return!1})).forEach((e=>localStorage.removeItem(e))))}doFlush(){if(SO())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(tM){qO.warn(tM)}}getItem(e){if(!SO())return null;try{let t=localStorage.getItem(this.getRealKey(e));if(!t)return null;let r=JSON.parse(t);return r&&r.expiresIn>=Date.now()?r.value:null}catch(Aw){qO.warn(Aw)}}setItem(e,t){if(SO())try{let r={expiresIn:Date.now()+zw,value:t};this._queue.set(this.getRealKey(e),r)}catch(RC){qO.warn(RC)}}deleteItem(e){if(!SO())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(Aw){return qO.warn(Aw),!1}}clear(){if(SO())try{localStorage.clear()}catch(tM){qO.warn(tM)}}},XO={};Zb(XO,{HTTPS_API:()=>UL,IS_GET_CAPABILITIES_FROM_INPUTDEVICE_SUPPORTED:()=>nP,IS_GET_CAPABILITIES_SUPPORTED:()=>oP,IS_GET_SETTINGS_SUPPORTED:()=>iP,IS_GET_SYNCHRONIZATION_SOURCES_SUPPORTED:()=>rP,IS_INSERTABLE_STREAM_SUPPORTED:()=>aP,IS_JITTER_BUFFER_TARGET_SUPPORTED:()=>vP,IS_RTC_RTP_SENDER_SUPPORTED:()=>ZL,IS_SCRIPT_TRANSFORM_SUPPORTED:()=>sP,IS_SEI_SUPPORTED:()=>cP,IS_SPC_SUPPORTED:()=>$L,basis:()=>mP,capabilityCheck:()=>gP,checkSystemRequirementsInternal:()=>kL,decodeSupportStatus:()=>NL,detectVideoCodecCapabilities:()=>IP,detectVideoDecoderCapabilities:()=>SP,detectVideoEncoderCapabilities:()=>AP,encodeSupportStatus:()=>DL,getBrowserInfo:()=>TL,getDisplayResolution:()=>FL,getH264ProfileLevelIds:()=>RP,isAddTransceiverSupported:()=>XL,isBrowserSupported:()=>IL,isCanvasCaptureStreamAPISupported:()=>WL,isCanvasSmallStreamSupported:()=>jL,isGetReceiversSupported:()=>qL,isGetSendersSupported:()=>YL,isGetTransceiversSupported:()=>JL,isGetUserMediaSupported:()=>BL,isMediaDevicesSupported:()=>SL,isMediaSessionSupported:()=>uP,isMediaStreamTrackGeneratorSupported:()=>CL,isMediaStreamTrackProcessorSupported:()=>wL,isReplaceTrackSupported:()=>eP,isRequestVideoFrameCallbackSupported:()=>EP,isSIMDSupported:()=>pP,isScaleResolutionDownBySupported:()=>GL,isScreenCaptureApiAvailable:()=>ML,isSelectedCandidatePair:()=>VL,isSetParametersSupported:()=>tP,isSetSinkIdSupported:()=>LL,isSmallStreamSupported:()=>zL,isStopTransceiverSupported:()=>QL,isTRTCSupported:()=>OL,isUnifiedPlanDefault:()=>KL,isUsedInHttpProtocol:()=>bL,isWebAudioSupported:()=>HL,isWebCodecSupported:()=>dP,isWebCodecsSupported:()=>AL,isWebRTCSupported:()=>lP,isWebTransportSupported:()=>hP});var $O={};Zb($O,{AUDIO_LEVEL_SCALE:()=>jM,AudioCodecPipelineType:()=>JM,AudioDecoderDowngradeState:()=>SM,AudioPlayerMode:()=>BM,AudioType:()=>NM,BASIC_TYPE:()=>KM,BannedReason:()=>HM,CONNECTION_CLOSED_REASON:()=>uM,CheckPermissionType:()=>tL,ClientEvent:()=>hM,CodecType:()=>XM,ConnectionEvent:()=>dM,ConnectionState:()=>AM,DECODE_FAILED_ERROR_CODE:()=>$M,DenoiserMode:()=>GM,DeviceType:()=>rL,FacingMode:()=>VM,FrameWorkType:()=>lM,LeaveReason:()=>WM,LocalTrackEvent:()=>mM,MULTI_VIDEO_DATA_TYPE:()=>LM,MediaType:()=>CM,MediaTypeLabel:()=>DM,MonitorEventId:()=>PM,MutedFlag:()=>vM,NetworkQualityValue:()=>xM,PlayerState:()=>fM,ReceiveMode:()=>UM,RemoteStreamType:()=>MM,RemoteTrackEvent:()=>EM,RoomEvent:()=>_M,SMALL_MODE:()=>eL,SceneNumber:()=>yM,StreamEvent:()=>pM,StreamType:()=>OM,SubscribeMediaType:()=>zM,TIMER_TYPE:()=>ZM,TRACK_ACTION:()=>wM,TRACK_KIND:()=>bM,TrackEvent:()=>gM,UserRole:()=>IM,UserRoleNumber:()=>TM,VideoCodec:()=>qM,VideoCodecPipelineType:()=>YM,VideoContentHint:()=>QM,VideoDecoderDowngradeState:()=>RM,VideoPlayerMode:()=>FM,VideoType:()=>kM});var QO,ZO,eM,tM,rM,iM,oM,nM,aM,sM,cM,lM=(e=>(e[e.WEBRTC=30]="WEBRTC",e[e.WASM=37]="WASM",e))(lM||{}),dM=((cM=dM||{}).TRACK_ADDED="track-added",cM.TRACK_UPDATED="track-updated",cM.TRACK_SUBSCRIBED="track-subscribed",cM.STREAM_ADDED="stream-added",cM.STREAM_REMOVED="stream-removed",cM.STREAM_UPDATED="stream-updated",cM.STREAM_PUBLISHED="stream-published",cM.STREAM_SUBSCRIBED="stream-subscribed",cM.STREAM_UNSUBSCRIBED="stream-unsubscribed",cM.STATE_CHANGED="state-changed",cM.ERROR="error",cM.CONNECTION_STATE_CHANGED="connection-state-changed",cM.FIREWALL_RESTRICTION="firewall-restriction",cM.SEI_MESSAGE="sei-message",cM.CLOSED="closed",cM),uM=(e=>(e.REMOTE_LEAVE="remote user exitRoom",e.REMOTE_UNPUBLISH="remote user unpublished",e.LOCAL_LEAVE="you exitRoom",e.LOCAL_UNPUBLISH="you unpublished",e.LOCAL_UNSUBSCRIBE="you unsubscribed",e.SWITCH_ROLE="you switch role to audience",e))(uM||{}),hM=((sM=hM||{}).STREAM_ADDED="stream-added",sM.STREAM_REMOVED="stream-removed",sM.STREAM_UPDATED="stream-updated",sM.STREAM_SUBSCRIBED="stream-subscribed",sM.CONNECTION_STATE_CHANGED="connection-state-changed",sM.PEER_JOIN="peer-join",sM.PEER_LEAVE="peer-leave",sM.MUTE_AUDIO="mute-audio",sM.MUTE_VIDEO="mute-video",sM.UNMUTE_AUDIO="unmute-audio",sM.UNMUTE_VIDEO="unmute-video",sM.CLIENT_BANNED="client-banned",sM.NETWORK_QUALITY="network-quality",sM.AUDIO_VOLUME="audio-volume",sM.SEI_MESSAGE="sei-message",sM.ERROR="error",sM),pM=((aM=pM||{}).PLAYER_STATE_CHANGED="player-state-changed",aM.SCREEN_SHARING_STOPPED="screen-sharing-stopped",aM.CONNECTION_STATE_CHANGED="connection-state-changed",aM.DEVICE_AUTO_RECOVERED="device-auto-recovered",aM.ERROR="error",aM),mM=((nM=mM||{}).DEVICE_AUTO_RECOVERED="1",nM.DEVICE_RECOVER_FAILED="5",nM.DEVICE_CHANGED="2",nM.ERROR="3",nM.PUBLISH_STATE_CHANGED="4",nM.ENCODE_FAILED="6",nM.TRACK_ENDED="7",nM.RENDER="render",nM),fM=(e=>(e.PAUSED="PAUSED",e.PLAYING="PLAYING",e.STOPPED="STOPPED",e))(fM||{}),_M=((oM=_M||{}).PEER_JOIN="peer-join",oM.PEER_LEAVE="peer-leave",oM.SIGNAL_CONNECTION_STATE_CHANGED="signal-connection-state-changed",oM.MEDIA_CONNECTION_STATE_CHANGED="media-connection-state-changed",oM.BANNED="banned",oM.NETWORK_QUALITY="network-quality",oM.AUDIO_VOLUME="audio-volume",oM.SEI_MESSAGE="sei-message",oM.ERROR="error",oM.REMOTE_PUBLISH_STATE_CHANGED="remote-publish-state-changed",oM.REMOTE_PUBLISHED="remote-published",oM.REMOTE_UNPUBLISHED="remote-unpublished",oM.FIREWALL_RESTRICTION="firewall-restriction",oM.HEARTBEAT_REPORT="heartbeat-report",oM.CUSTOM_MESSAGE="custom-message",oM.LAYER_DATA="layerData",oM.FIRST_VIDEO_FRAME="first-video-frame",oM.DUMP="dump",oM.AUDIO_FRAME="audio-frame",oM.SUBSCRIBE_SMALL_VIDEO_CHANGED="subscribe-small-video-changed",oM.LOCAL_PUBLISH_FLAG_CHANGED="local-publish-flag-changed",oM.NTP_TIME_UPDATED="ntp-time-updated",oM),gM=(e=>(e.PLAYER_STATE_CHANGED="player-state-changed",e.MUTE="mute",e.UNMUTE="unmute",e.ERROR="error",e.INPUT_MEDIA_TRACK_CHANGED="input-media-track-changed",e.OUTPUT_MEDIA_TRACK_CHANGED="output-media-track-changed",e.FIRST_VIDEO_FRAME="first-video-frame",e.VIDEO_SIZE_CHANGED="video-size-changed",e))(gM||{}),EM=((iM=EM||{}).DECODE_FAILED="decode-failed",iM.DECODE_DOWNGRADE_STATE_CHANGED="decode-downgrade-state-changed",iM.REMOTE_PUBLISH_CHANGED="remote-publish-changed",iM.AUDIO_FRAME_WITH_NTP="audio-frame-with-ntp",iM),vM=((rM=vM||{})[rM.VIDEO=1]="VIDEO",rM[rM.SMALL=2]="SMALL",rM[rM.AUX=4]="AUX",rM[rM.AUDIO=8]="AUDIO",rM[rM.VIDEO_MUTE=16]="VIDEO_MUTE",rM[rM.AUX_MUTE=32]="AUX_MUTE",rM[rM.AUDIO_MUTE=64]="AUDIO_MUTE",rM),yM=(e=>(e[e.RTC=1]="RTC",e[e.LIVE=2]="LIVE",e))(yM||{}),TM=(e=>(e[e.ANCHOR=20]="ANCHOR",e[e.AUDIENCE=21]="AUDIENCE",e))(TM||{}),IM=(e=>(e.ANCHOR="anchor",e.AUDIENCE="audience",e))(IM||{}),AM=(e=>(e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.RECONNECTED="RECONNECTED",e.RECONNECTING="RECONNECTING",e))(AM||{}),SM=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(SM||{}),RM=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(RM||{}),bM=(e=>(e.AUDIO="audio",e.VIDEO="video",e.AUXILIARY="auxVideo",e))(bM||{}),wM=(e=>(e.ADD="add",e.REMOVE="remove",e))(wM||{}),CM=(e=>(e[e.NULL=0]="NULL",e[e.AUDIO=1]="AUDIO",e[e.AUX_VIDEO=2]="AUX_VIDEO",e[e.BIG_VIDEO=4]="BIG_VIDEO",e[e.SMALL_VIDEO=8]="SMALL_VIDEO",e))(CM||{}),DM={1:"audio",2:"auxVideo",4:"video"},NM=((tM=NM||{})[tM.opus=111]="opus",tM),kM=(e=>(e[e.h264=100]="h264",e[e.vp8=101]="vp8",e))(kM||{}),OM=(e=>(e.Big="big",e.Small="small",e))(OM||{}),MM=(e=>(e.Main="main",e.Aux="auxiliary",e))(MM||{}),LM=(e=>(e[e.MULTI_DATA_AUDIO=1]="MULTI_DATA_AUDIO",e[e.MULTI_DATA_BIG_IMG=2]="MULTI_DATA_BIG_IMG",e[e.MULTI_DATA_SMALL_IMG=3]="MULTI_DATA_SMALL_IMG",e[e.MULTI_DATA_AUX_IMG=7]="MULTI_DATA_AUX_IMG",e[e.MULTI_DATA_TYPE_BUTT=12]="MULTI_DATA_TYPE_BUTT",e))(LM||{}),PM=((eM=PM||{})[eM.PUBLISH_VIDEO=32768]="PUBLISH_VIDEO",eM[eM.PUBLISH_AUDIO=32769]="PUBLISH_AUDIO",eM[eM.UNPUBLISH_VIDEO=32770]="UNPUBLISH_VIDEO",eM[eM.UNPUBLISH_AUDIO=32771]="UNPUBLISH_AUDIO",eM[eM.MUTE_AUDIO=32772]="MUTE_AUDIO",eM[eM.MUTE_VIDEO=32773]="MUTE_VIDEO",eM[eM.UNMUTE_AUDIO=32774]="UNMUTE_AUDIO",eM[eM.UNMUTE_VIDEO=32775]="UNMUTE_VIDEO",eM[eM.SUBSCRIBE_VIDEO=32776]="SUBSCRIBE_VIDEO",eM[eM.SUBSCRIBE_AUDIO=32777]="SUBSCRIBE_AUDIO",eM[eM.UNSUBSCRIBE_VIDEO=32778]="UNSUBSCRIBE_VIDEO",eM[eM.UNSUBSCRIBE_AUDIO=32779]="UNSUBSCRIBE_AUDIO",eM[eM.SWITCH_CAMERA=32780]="SWITCH_CAMERA",eM[eM.SWITCH_MICROPHONE=32781]="SWITCH_MICROPHONE",eM[eM.REPLACE_VIDEO=32782]="REPLACE_VIDEO",eM[eM.REPLACE_AUDIO=32783]="REPLACE_AUDIO",eM[eM.MUTE_REMOTE_VIDEO=32784]="MUTE_REMOTE_VIDEO",eM[eM.MUTE_REMOTE_AUDIO=32785]="MUTE_REMOTE_AUDIO",eM[eM.UNMUTE_REMOTE_VIDEO=32786]="UNMUTE_REMOTE_VIDEO",eM[eM.UNMUTE_REMOTE_AUDIO=32787]="UNMUTE_REMOTE_AUDIO",eM[eM.JOIN=32788]="JOIN",eM[eM.LEAVE=32789]="LEAVE",eM[eM.SIGNAL_DISCONNECTED=32790]="SIGNAL_DISCONNECTED",eM[eM.SIGNAL_CONNECTED=32791]="SIGNAL_CONNECTED",eM[eM.TRANSPORT_UPLINK_CONNECTED=32792]="TRANSPORT_UPLINK_CONNECTED",eM[eM.TRANSPORT_DOWNLINK_CONNECTED=32793]="TRANSPORT_DOWNLINK_CONNECTED",eM[eM.SIGNAl_RECONNECTING=32794]="SIGNAl_RECONNECTING",eM[eM.SIGNAL_RECONNECT_SUCCESS=32795]="SIGNAL_RECONNECT_SUCCESS",eM[eM.SIGNAL_RECONNECT_FAIL=32796]="SIGNAL_RECONNECT_FAIL",eM[eM.TRANSPORT_UPLINK_RECONNECTING=32797]="TRANSPORT_UPLINK_RECONNECTING",eM[eM.TRANSPORT_UPLINK_RECONNECT_SUCCESS=32798]="TRANSPORT_UPLINK_RECONNECT_SUCCESS",eM[eM.TRANSPORT_UPLINK_RECONNECT_FAIL=32799]="TRANSPORT_UPLINK_RECONNECT_FAIL",eM[eM.TRANSPORT_DOWNLINK_RECONNECTING=32800]="TRANSPORT_DOWNLINK_RECONNECTING",eM[eM.TRANSPORT_DOWNLINK_RECONNECT_SUCCESS=32801]="TRANSPORT_DOWNLINK_RECONNECT_SUCCESS",eM[eM.TRANSPORT_DOWNLINK_RECONNECT_FAIL=32802]="TRANSPORT_DOWNLINK_RECONNECT_FAIL",eM[eM.SUBSCRIBE_SMALL_VIDEO=32803]="SUBSCRIBE_SMALL_VIDEO",eM[eM.UNSUBSCRIBE_SMALL_VIDEO=32804]="UNSUBSCRIBE_SMALL_VIDEO",eM[eM.PUBLISH_AUX=32805]="PUBLISH_AUX",eM[eM.UNPUBLISH_AUX=32806]="UNPUBLISH_AUX",eM[eM.DEVICE_CAPTURE=2003]="DEVICE_CAPTURE",eM[eM.VIDEO_ENCODER=4004]="VIDEO_ENCODER",eM[eM.VIDEO_DECODER=4005]="VIDEO_DECODER",eM),xM=(e=>(e[e.UNKNOWN=0]="UNKNOWN",e[e.EXCELLENT=1]="EXCELLENT",e[e.GOOD=2]="GOOD",e[e.POOR=3]="POOR",e[e.BAD=4]="BAD",e[e.VERY_BAD=5]="VERY_BAD",e[e.DISCONNECTED=6]="DISCONNECTED",e))(xM||{}),UM=(e=>(e[e.MANUAL=0]="MANUAL",e[e.AUTO_AUDIO=1]="AUTO_AUDIO",e[e.AUTO_VIDEO=2]="AUTO_VIDEO",e[e.AUTO_ALL=3]="AUTO_ALL",e))(UM||{}),VM=(e=>(e.user="user",e.environment="environment",e))(VM||{}),FM=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CANVAS_FROM_ELEMENT=1]="CANVAS_FROM_ELEMENT",e[e.CANVAS_WITHOUT_ELEMENT=2]="CANVAS_WITHOUT_ELEMENT",e))(FM||{}),BM=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CONTEXT=1]="CONTEXT",e))(BM||{}),HM=(e=>(e.BANNED="banned",e.KICK="kick",e.USER_TIME_OUT="user_time_out",e.ROOM_DISBAND="room_disband",e))(HM||{}),WM=((ZO=WM||{})[ZO.USER_EXIT_REASON_TC_USER_EXIT_NORMAL=0]="USER_EXIT_REASON_TC_USER_EXIT_NORMAL",ZO[ZO.USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT=1]="USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT",ZO[ZO.USER_EXIT_REASON_TC_USER_EXIT_KICKED=2]="USER_EXIT_REASON_TC_USER_EXIT_KICKED",ZO[ZO.USER_EXIT_REASON_TC_USER_EXIT_CHANGED=3]="USER_EXIT_REASON_TC_USER_EXIT_CHANGED",ZO[ZO.USER_KICK_OUT_CODE_BUSINESS_USER=4]="USER_KICK_OUT_CODE_BUSINESS_USER",ZO[ZO.USER_KICK_OUT_CODE_BUSINESS_ROOM=5]="USER_KICK_OUT_CODE_BUSINESS_ROOM",ZO[ZO.USER_KICK_OUT_CODE_SERVER_USER=6]="USER_KICK_OUT_CODE_SERVER_USER",ZO[ZO.USER_KICK_OUT_CODE_SERVER_ROOM=7]="USER_KICK_OUT_CODE_SERVER_ROOM",ZO[ZO.USER_KICK_SESS_EXSIT=8]="USER_KICK_SESS_EXSIT",ZO),jM=1e8,GM=(e=>(e[e.NORMAL=0]="NORMAL",e[e.FAR_FIELD_REDUCTION=1]="FAR_FIELD_REDUCTION",e))(GM||{}),zM=class{constructor(){rw(this,"mediaType",0)}set audio(e){e?this.mediaType|=1:this.mediaType&=-2}get audio(){return!!(1&this.mediaType)}set video(e){e?this.mediaType|=4:this.mediaType&=-5}get video(){return!!(4&this.mediaType)}set auxiliary(e){e?this.mediaType|=2:this.mediaType&=-3}get auxiliary(){return!!(2&this.mediaType)}set smallVideo(e){e?this.mediaType|=8:this.mediaType&=-9}get smallVideo(){return!!(8&this.mediaType)}},KM=(e=>(e.String="string",e.Number="number",e.Boolean="boolean",e.Array="array",e.Object="object",e))(KM||{}),qM=(e=>(e.H264="h264",e.H265="h265",e.VP8="vp8",e.VP9="vp9",e.AV1="av1",e))(qM||{}),YM=(e=>(e[e.ENCRYPT_AND_DECRYPT=0]="ENCRYPT_AND_DECRYPT",e[e.DUMP=1]="DUMP",e[e.SEI=2]="SEI",e[e.ENCODE_AND_DECODE=3]="ENCODE_AND_DECODE",e))(YM||{}),JM=(e=>(e[e.ENCRYPT_AND_DECRYPT=0]="ENCRYPT_AND_DECRYPT",e[e.NTP_TO_AUDIO_FRAME=1]="NTP_TO_AUDIO_FRAME",e[e.DUMP=2]="DUMP",e[e.ENCODE_AND_DECODE=3]="ENCODE_AND_DECODE",e))(JM||{}),XM=(e=>(e.WebRTC="webrtc",e.WebCodecs="webcodecs",e.WebAssembly="webassembly",e))(XM||{}),$M=((QO=$M||{})[QO.SUCCESS=0]="SUCCESS",QO[QO.FAILED=1]="FAILED",QO[QO.WEBCODEC_INIT=2]="WEBCODEC_INIT",QO[QO.WEBCODEC_CONFIG_NOT_SUPPORT=3]="WEBCODEC_CONFIG_NOT_SUPPORT",QO[QO.WEBCODEC_DECODER_ERROR=4]="WEBCODEC_DECODER_ERROR",QO[QO.WEBCODEC_TRACK_MUTE=5]="WEBCODEC_TRACK_MUTE",QO[QO.WASM_INIT=6]="WASM_INIT",QO[QO.WASM_WEBGL_UNAVALIABLE=7]="WASM_WEBGL_UNAVALIABLE",QO[QO.WASM_DECODER_ERROR=8]="WASM_DECODER_ERROR",QO[QO.WASM_TRACK_MUTE=9]="WASM_TRACK_MUTE",QO[QO.TEST=10]="TEST",QO[QO.RENDER_2D_ERROR=11]="RENDER_2D_ERROR",QO),QM=(e=>(e.NONE="",e.DETAIL="detail",e.MOTION="motion",e.TEXT="text",e))(QM||{}),ZM=(e=>(e.INTERVAL="interval",e.TIMEOUT="timeout",e.RAF="raf",e.RIC="ric",e.INTERVAL_IN_WORKER="intervalInWorker",e))(ZM||{}),eL=(e=>(e.CANVAS="canvas",e.API="api",e))(eL||{}),tL=(e=>(e[e.NONE=0]="NONE",e[e.MICROPHONE=1]="MICROPHONE",e[e.CAMERA=2]="CAMERA",e[e.BOTH=3]="BOTH",e))(tL||{}),rL=(e=>(e.CAMERA="camera",e.MICROPHONE="microphone",e))(rL||{}),iL={AVOID_REPEATED_CALL:"AVOID_REPEATED_CALL",INVALID_PARAMETER_REQUIRED:"INVALID_PARAMETER_REQUIRED",INVALID_PARAMETER_TYPE:"INVALID_PARAMETER_TYPE",INVALID_PARAMETER_EMPTY:"INVALID_PARAMETER_EMPTY",INVALID_PARAMETER_INSTANCE:"INVALID_PARAMETER_INSTANCE",INVALID_PARAMETER_RANGE:"INVALID_PARAMETER_RANGE",INVALID_PARAMETER_MIN:"INVALID_PARAMETER_MIN",INVALID_PARAMETER_MAX:"INVALID_PARAMETER_MAX",INVALID_PARAMETER_STREAMTYPE:"INVALID_PARAMETER_STREAMTYPE",API_CALL_TIMEOUT:"API_CALL_TIMEOUT",SIGNAL_CHANNEL_RECONNECTION_FAILED:"SIGNAL_CHANNEL_RECONNECTION_FAILED",SIGNAL_CHANNEL_SETUP_FAILED:"SIGNAL_CHANNEL_SETUP_FAILED",ERROR_MESSAGE:"ERROR_MESSAGE",EXCHANGE_SDP_TIMEOUT:"EXCHANGE_SDP_TIMEOUT",DOWNLINK_RECONNECTION_FAILED:"DOWNLINK_RECONNECTION_FAILED",EXCHANGE_SDP_FAILED:"EXCHANGE_SDP_FAILED",UPDATE_OFFER_TIMEOUT:"UPDATE_OFFER_TIMEOUT",UPLINK_RECONNECTION_FAILED:"UPLINK_RECONNECTION_FAILED",INVALID_RECORDID:"INVALID_RECORDID",INVALID_PURE_AUDIO:"INVALID_PURE_AUDIO",INVALID_STREAMID:"INVALID_STREAMID",INVALID_USER_DEFINE_RECORDID:"INVALID_USER_DEFINE_RECORDID",INVALID_USER_DEFINE_PUSH_ARGS:"INVALID_USER_DEFINE_PUSH_ARGS",INVALID_PROXY:"INVALID_PROXY",INVALID_JOIN:"INVALID_JOIN",INVALID_ROOMID_STRING:"INVALID_ROOMID_STRING",INVALID_ROOMID_INTEGER:"INVALID_ROOMID_INTEGER",INVALID_SIGNAL_CHANNEL:"INVALID_SIGNAL_CHANNEL",JOIN_ROOM_TIMEOUT:"JOIN_ROOM_TIMEOUT",JOIN_ROOM_FAILED:"JOIN_ROOM_FAILED",REJOIN_ROOM_FAILED:"REJOIN_ROOM_FAILED",INVALID_DESTROY:"INVALID_DESTROY",INVALID_PUBLISH:"INVALID_PUBLISH",INVALID_UNPUBLISH:"INVALID_UNPUBLISH",INVALID_AUDIENCE:"INVALID_AUDIENCE",INVALID_INITIALIZE:"INVALID_INITIALIZE",INVALID_DUPLICATE_PUBLISHING:"INVALID_DUPLICATE_PUBLISHING",INVALID_SUBSCRIBE_UNDEFINED:"INVALID_SUBSCRIBE_UNDEFINED",INVALID_SUBSCRIBE_LOCAL:"INVALID_SUBSCRIBE_LOCAL",INVALID_REMOTE_STREAM:"INVALID_REMOTE_STREAM",SUBSCRIBE_FAILED:"SUBSCRIBE_FAILED",INVALID_ROLE:"INVALID_ROLE",INVALID_PARAMETER_SWITCH_ROLE:"INVALID_PARAMETER_SWITCH_ROLE",INVALID_OPERATION_SWITCH_ROLE:"INVALID_OPERATION_SWITCH_ROLE",SWITCH_ROLE_TIMEOUT:"SWITCH_ROLE_TIMEOUT",SWITCH_ROLE_FAILED:"SWITCH_ROLE_FAILED",CLIENT_BANNED:"CLIENT_BANNED",INVALID_OPERATION_START_PUBLISH_CDN:"INVALID_OPERATION_START_PUBLISH_CDN",INVALID_OPERATION_STOP_PUBLISH_CDN:"INVALID_OPERATION_STOP_PUBLISH_CDN",INVALID_STREAM_ID:"INVALID_STREAM_ID",START_PUBLISH_CDN_FAILED:"START_PUBLISH_CDN_FAILED",STOP_PUBLISH_CDN_FAILED:"STOP_PUBLISH_CDN_FAILED",START_MIX_TRANSCODE:"START_MIX_TRANSCODE",STOP_MIX_TRANSCODE:"STOP_MIX_TRANSCODE",INVALID_AUDIO_VOLUME:"INVALID_AUDIO_VOLUME",ENABLE_SMALL_STREAM_PUBLISHED:"ENABLE_SMALL_STREAM_PUBLISHED",DISABLE_SMALL_STREAM_PUBLISHED:"DISABLE_SMALL_STREAM_PUBLISHED",NOT_SUPPORTED_SMALL_STREAM:"NOT_SUPPORTED_SMALL_STREAM",INVALID_SMALL_STREAM_PROFILE:"INVALID_SMALL_STREAM_PROFILE",INVALID_PARAMETER_REMOTE_STREAM:"INVALID_PARAMETER_REMOTE_STREAM",INVALID_OPERATION_CHANGE_SMALL:"INVALID_OPERATION_CHANGE_SMALL",REMOTE_NOT_PUBLISH_SMALL_STREAM:"REMOTE_NOT_PUBLISH_SMALL_STREAM",INVALID_SWITCH_DEVICE:"INVALID_SWITCH_DEVICE",INVALID_SWITCH_DEVICE_PUBLISHING:"INVALID_SWITCH_DEVICE_PUBLISHING",INVALID_REPLACE_TRACK:"INVALID_REPLACE_TRACK",INVALID_INITIALIZE_LOCAL_STREAM:"INVALID_INITIALIZE_LOCAL_STREAM",INVALID_ADD_TRACK_REPETITIVE:"INVALID_ADD_TRACK_REPETITIVE",INVALID_ADD_TRACK_REMOVING:"INVALID_ADD_TRACK_REMOVING",INVALID_ADD_TRACK_PUBLISHING:"INVALID_ADD_TRACK_PUBLISHING",INVALID_STREAM_INITIALIZED:"INVALID_STREAM_INITIALIZED",INVALID_ADD_TRACK_NUMBER:"INVALID_ADD_TRACK_NUMBER",INVALID_REMOVE_AUDIO_TRACK:"INVALID_REMOVE_AUDIO_TRACK",INVALID_REMOVE_AUDIO_ADDING:"INVALID_REMOVE_AUDIO_ADDING",INVALID_REMOVE_AUDIO_ON:"INVALID_REMOVE_AUDIO_ON",INVALID_REMOVE_TRACK_PUBLISHING:"INVALID_REMOVE_TRACK_PUBLISHING",INVALID_REMOVE_TRACK_NOT_TRACK:"INVALID_REMOVE_TRACK_NOT_TRACK",INVALID_REMOVE_TRACK_NUMBER:"INVALID_REMOVE_TRACK_NUMBER",INVALID_REPLACE_TRACK_NO_TRACK:"INVALID_REPLACE_TRACK_NO_TRACK",REPEAT_JOIN:"REPEAT_JOIN",CLIENT_DESTROYED:"CLIENT_DESTROYED",NOT_BUG_PACKAGE:"NOT_BUG_PACKAGE",START_MIX_TRANSCODE_FAILED:"START_MIX_TRANSCODE_FAILED",STOP_MIX_TRANSCODE_FAILED:"STOP_MIX_TRANSCODE_FAILED",MIX_TRANSCODE_NOT_STARTED:"MIX_TRANSCODE_NOT_STARTED",CANNOT_LESS_THAN_ZERO:"CANNOT_LESS_THAN_ZERO",MIX_PARAMS_VIDEO_FRAMERATE:"MIX_PARAMS_VIDEO_FRAMERATE",MIX_PARAMS_VIDEO_GOP:"MIX_PARAMS_VIDEO_GOP",MIX_PARAMS_AUDIO_BITRATE:"MIX_PARAMS_AUDIO_BITRATE",MIX_PARAMS_USER_Z_ORDER:"MIX_PARAMS_USER_Z_ORDER",MIX_PARAMS_NOT_SELF:"MIX_PARAMS_NOT_SELF",MIX_PARAMS_USER_STREAM:"MIX_PARAMS_USER_STREAM",INVALID_PLAY:"INVALID_PLAY",INVALID_ELEMENT_ID:"INVALID_ELEMENT_ID",INVALID_ELEMENT_ID_TYPE:"INVALID_ELEMENT_ID_TYPE",PLAY_FAILED:"PLAY_FAILED",INVALID_USERID:"INVALID_USERID",INVALID_CREATE_STREAM_SOURCE:"INVALID_CREATE_STREAM_SOURCE",INVALID_CREATE_STREAM_SCREEN:"INVALID_CREATE_STREAM_SCREEN",INVALID_CREATE_STREAM_AUDIO:"INVALID_CREATE_STREAM_AUDIO",INVALID_CREATE_STREAM_SCREEN_AUDIO:"INVALID_CREATE_STREAM_SCREEN_AUDIO",NOT_SUPPORTED_HTTP:"NOT_SUPPORTED_HTTP",NOT_SUPPORTED_WEBRTC:"NOT_SUPPORTED_WEBRTC",NOT_SUPPORTED_PROFILE:"NOT_SUPPORTED_PROFILE",NOT_SUPPORTED_MEDIA:"NOT_SUPPORTED_MEDIA",NOT_SUPPORTED_H264ENCODE:"NOT_SUPPORTED_H264ENCODE",NOT_SUPPORTED_H264DECODE:"NOT_SUPPORTED_H264DECODE",NOT_SUPPORTED_TRACK:"NOT_SUPPORTED_TRACK",NOT_SUPPORTED_SWITCH_DEVICE:"NOT_SUPPORTED_SWITCH_DEVICE",NOT_SUPPORTED_CAPTURE:"NOT_SUPPORTED_CAPTURE",NOT_SUPPORTED_AUX:"NOT_SUPPORTED_AUX",MICROPHONE_NOT_FOUND:"MICROPHONE_NOT_FOUND",CAMERA_NOT_FOUND:"CAMERA_NOT_FOUND",SIGNAL_RESPONSE_FAILED:"SIGNAL_RESPONSE_FAILED",CATCH_HANDLER_ERROR:"CATCH_HANDLER_ERROR",API_NOT_EXIST:"API_NOT_EXIST",CONNECTION_CLOSED:"CONNECTION_CLOSED",SUBSCRIBE_ALL_FALSE:"SUBSCRIBE_ALL_FALSE",SEI_NOT_SUPPORT:"SEI_NOT_SUPPORT",SEI_DISABLED:"SEI_DISABLED",SEI_BEFORE_PUBLISH:"SEI_BEFORE_PUBLISH",SEI_NOT_VIDEO:"SEI_NOT_VIDEO",CALL_FREQUENCY_LIMIT:"CALL_FREQUENCY_LIMIT",CONNECTION_ABORTED:"CONNECTION_ABORTED",API_CALL_ABORTED:"API_CALL_ABORTED",DUPLICATE_AUX:"DUPLICATE_AUX"},oL={AVOID_REPEATED_CALL:e=>"previous ".concat(e.name,"() is ongoing, please avoid repeated calls."),INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' is a required param when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="";return a=Array.isArray(r.type)?r.type.join("|"):r.type,"'".concat(n,"' must be type of ").concat(a," when calling ").concat(i,"(), received type: ").concat(UD(o),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be '").concat(o,"' when calling ").concat(i,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="".concat(r.instanceOf.name||r.instanceOf);return"'".concat(n,"' must be instanceof ").concat(a," when calling ").concat(i,"(), received type: ").concat(UD(o),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' must be one of ").concat(r.values.join("|")," when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_MIN(e){let{key:t,rule:r,fnName:i,value:o}=e;return"the min value of ".concat(t||r.name," is ").concat(r.min,", received: ").concat(o,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:r,fnName:i,value:o}=e;return"the max value of ".concat(t||r.name," is ").concat(r.max,", received: ").concat(o,".")},API_CALL_TIMEOUT:e=>"".concat(e.commandDesc||e.command," timeout observed."),SIGNAL_CHANNEL_RECONNECTION_FAILED:"signal channel reconnection failed, please check your network.",SIGNAL_CHANNEL_SETUP_FAILED:e=>"SignalChannel setup failure: (errorCode: ".concat(e.errorCode,", errorMsg: ").concat(e.errorMsg," })."),ERROR_MESSAGE(e){let t="".concat(e.type," failed");return e.message&&(t="".concat(t,": ").concat(e.message,".")),t},EXCHANGE_SDP_TIMEOUT:"exchange sdp timeout.",DOWNLINK_RECONNECTION_FAILED:"downlink reconnection failed, please check your network and re-join room.",EXCHANGE_SDP_FAILED:e=>"exchange sdp failed ".concat(e.errMsg,"."),UPDATE_OFFER_TIMEOUT:"update offer timeout observed.",UPLINK_RECONNECTION_FAILED:"uplink reconnection failed, please check your network and publish again.",INVALID_RECORDID:"recordId must be an integer number.",INVALID_PURE_AUDIO:"pureAudioPushMode must be 1 or 2.",INVALID_STREAMID:"streamId must be a sting literal within 64 bytes, and not be empty.",INVALID_USER_DEFINE_RECORDID:"userDefineRecordId must be a sting literal contains (a-zA-Z),(0-9), underline and hyphen, within 64 bytes, and not be empty.",INVALID_USER_DEFINE_PUSH_ARGS:"userDefinePushArgs must be a sting literal within 256 bytes, and not be empty.",INVALID_PROXY:'proxy server url must start with "wss://".',INVALID_JOIN:"duplicate join() called.",INVALID_ROOMID_STRING:e=>"'".concat(e,"' must be validate string when useStringRoomId is true."),INVALID_ROOMID_INTEGER:e=>"'".concat(e,"' must be an integer between [1, 4294967294] when useStringRoomId is false."),INVALID_SIGNAL_CHANNEL:"SignalChannel is not ready yet.",JOIN_ROOM_TIMEOUT:"join room timeout.",JOIN_ROOM_FAILED(e){let{error:t,code:r}=e;return"Failed to join room - ".concat(t," code: ").concat(r)},REJOIN_ROOM_FAILED:e=>"reJoin room: ".concat(e.roomId," failed, please check your network."),INVALID_DESTROY:"please call leave() before destroy().",INVALID_PUBLISH:"please call join() before publish().",INVALID_UNPUBLISH:"stream has not been published yet.",INVALID_AUDIENCE:'no permission to publish() under live/audience, please call switchRole("anchor") firstly before publish().',INVALID_INITIALIZE:"cannot publish stream because stream is not initialized, is switching device, or has been closed.",INVALID_DUPLICATE_PUBLISHING:e=>"duplicate ".concat(e," stream publishing, please unpublish your prev ").concat(e," stream and then re-publish."),INVALID_SUBSCRIBE_UNDEFINED:"stream is undefined or null.",INVALID_SUBSCRIBE_LOCAL:"stream cannot be LocalStream.",INVALID_REMOTE_STREAM:"remoteStream does not exist because it has been unpublished by remote peer.",SUBSCRIBE_FAILED(e){let{message:t,userId:r,streamType:i}=e;return"failed to subscribe ".concat(r," ").concat(i," stream, reason: ").concat(t,".")},INVALID_ROLE:"switchRole can only be called in live mode.",INVALID_PARAMETER_SWITCH_ROLE:"role could only be set to a value as anchor or audience.",INVALID_OPERATION_SWITCH_ROLE:"please call join() before switchRole().",SWITCH_ROLE_TIMEOUT:"switchRole timeout.",SWITCH_ROLE_FAILED:e=>"switchRole failed, errCode: ".concat(e.code," errMsg: ").concat(e.message,"."),CLIENT_BANNED:e=>"client was banned because of ".concat(e.message,"."),INVALID_OPERATION_START_PUBLISH_CDN:"please call startPublishCDNStream() after join room and publish the local stream.",INVALID_OPERATION_STOP_PUBLISH_CDN:"please call startPublishCDNStream() before stopPublishCDNStream().",START_PUBLISH_CDN_FAILED:e=>"startPublishCDNStream failed, errMsg: ".concat(e.message,"."),STOP_PUBLISH_CDN_FAILED:e=>"stopPublishCDNStream failed, errMsg: ".concat(e.message,"."),INVALID_STREAM_ID:e=>"'".concat(e,"' can only consist of uppercase and lowercase english letters (a-zA-Z), numbers (0-9), hyphens and underscores."),START_MIX_TRANSCODE:"please call startMixTranscode() after join().",STOP_MIX_TRANSCODE:"please call stopMixTranscode() after startMixTranscode().",INVALID_AUDIO_VOLUME:"interval must be a number.",ENABLE_SMALL_STREAM_PUBLISHED:"Cannot enable small stream after localStream published.",DISABLE_SMALL_STREAM_PUBLISHED:"Cannot disable small stream after localStream published.",NOT_SUPPORTED_SMALL_STREAM:"your browser does not support opening small stream.",INVALID_SMALL_STREAM_PROFILE:"small stream profile is invalid.",INVALID_PARAMETER_REMOTE_STREAM:"remoteStream is invalid.",INVALID_OPERATION_CHANGE_SMALL:"cannot switch to the small stream without subscribing to the video of remoteStream.",REMOTE_NOT_PUBLISH_SMALL_STREAM:"remote peer does not publish small stream.",INVALID_SWITCH_DEVICE:"cannot switch device on current stream.",INVALID_SWITCH_DEVICE_PUBLISHING:"cannot switch device when publishing localStream.",INVALID_REPLACE_TRACK:"cannot replace track when publishing localStream.",INVALID_INITIALIZE_LOCAL_STREAM:"local stream has not initialized yet.",INVALID_ADD_TRACK_REPETITIVE:"previous addTrack is ongoing, please avoid repetitive execution.",INVALID_ADD_TRACK_REMOVING:"cannot add track when a track is removing.",INVALID_ADD_TRACK_PUBLISHING:"cannot add track when publishing localStream.",INVALID_STREAM_INITIALIZED:"your local stream haven't been initialized yet.",INVALID_ADD_TRACK_NUMBER:"a Stream has at most one audio track and one video track.",INVALID_REMOVE_AUDIO_TRACK:"remove audio track is not supported on your browser.",INVALID_REMOVE_AUDIO_ADDING:"cannot remove track when a track is adding.",INVALID_REMOVE_AUDIO_ON:"previous removeTrack is ongoing, please avoid repetitive execution.",INVALID_REMOVE_TRACK_PUBLISHING:"cannot remove track when publishing localStream.",INVALID_REMOVE_TRACK_NOT_TRACK:"localStream has not this track.",INVALID_REMOVE_TRACK_NUMBER:"remove the only video track is not supported, please use replaceTrack or muteVideo.",INVALID_REPLACE_TRACK_NO_TRACK:e=>"cannot replace ".concat(e.kind," track because stream has not ").concat(e.kind," track"),NOT_BUG_PACKAGE:"You need to buy packages, refer to tencent console.",START_MIX_TRANSCODE_FAILED:e=>"startMixTranscode failed, errMsg: ".concat(e.message,"."),STOP_MIX_TRANSCODE_FAILED:e=>"stopMixTranscode failed, errMsg: ".concat(e.message,"."),MIX_TRANSCODE_NOT_STARTED:"mixTranscode has not been started.",CANNOT_LESS_THAN_ZERO(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be less than 0 when calling ").concat(i,"().")},MIX_PARAMS_VIDEO_FRAMERATE:"'config.videoFramerate' should be an integer between 0 and 30, excluding 0.",MIX_PARAMS_VIDEO_GOP:"'config.videoGOP' should be an integer between 1 and 8.",MIX_PARAMS_AUDIO_BITRATE:"'config.audioBitrate' should be an integer between 32 and 192.",MIX_PARAMS_USER_Z_ORDER:e=>"'".concat(e,"' is required and must be between 1 and 15."),MIX_PARAMS_NOT_SELF:"'config.mixUsers' must contain self.",MIX_PARAMS_USER_STREAM:"'config.videoWidth' and 'config.videoHeight' of output stream should be contain all mix stream.",INVALID_PLAY:"duplicate play() call observed, please stop() firstly.",INVALID_ELEMENT_ID:e=>{let{key:t,fnName:r}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(r,"().")},INVALID_ELEMENT_ID_TYPE:e=>{let{key:t,fnName:r,type:i}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(r,"(), received: ").concat(i,".")},PLAY_FAILED:e=>"".concat(e.media," play failed, browser exception: ").concat(e.error.toString()),INVALID_USERID:"userId cannot be all spaces.",INVALID_CREATE_STREAM_SOURCE:"LocalStream must be created by createStream() with either audio/video or audioSource/videoSource, but can not be mixed with audio/video and audioSource/videoSource.",INVALID_CREATE_STREAM_SCREEN:"screen/video cannot be both true.",INVALID_CREATE_STREAM_AUDIO:"audio/screenAudio cannot be both true.",INVALID_CREATE_STREAM_SCREEN_AUDIO:"when screen is true, screenAudio can be configured.",NOT_SUPPORTED_HTTP:"http protocol does not support the ability to capture microphone, camera and screen. please use https to deploy your page.",NOT_SUPPORTED_WEBRTC:"your browser or environment does not support full WebRTC capabilities.",NOT_SUPPORTED_PROFILE:"your browser does not support setVideoProfile.",NOT_SUPPORTED_MEDIA:"your browser or environment does not support navigator.mediaDevices.",NOT_SUPPORTED_H264ENCODE:"your device does not support H.264 encoding.",NOT_SUPPORTED_H264DECODE:"your device does not support H.264 decoding.",NOT_SUPPORTED_TRACK:e=>"".concat(e,"Track is not supported on your browser."),NOT_SUPPORTED_SWITCH_DEVICE:"switchDevice is not supported on your browser.",NOT_SUPPORTED_CAPTURE:"Your browser or environment does not support screen sharing, please check whether the browser version.",MICROPHONE_NOT_FOUND:"no microphone detected, please check your microphone.",CAMERA_NOT_FOUND:"no camera detected, please check your camera.",SIGNAL_RESPONSE_FAILED:e=>"".concat(e.signalResponse," failed, response code is ").concat(e.code," , errMsg: ").concat(e.message,"."),CATCH_HANDLER_ERROR(e){let{name:t,event:r}=e;return"an error was caught in ".concat(t,".on('").concat(r,"', handler), please check your code in 'handler'.")},API_NOT_EXIST(e){let{name:t}=e;return"experimental api ".concat(t," does not exist.")},REPEAT_JOIN:e=>"please avoid repeated join.",CONNECTION_CLOSED:"remoteStream has been unsubscribed or unpublished by remote user.",SUBSCRIBE_ALL_FALSE:"cannot subscribe when both audio & video are false, use client.unsubscribe() instead",CLIENT_DESTROYED(e){let{funName:t}=e;return"failed to call ".concat(t,"() because client was destroyed.")},SEI_NOT_SUPPORT:e=>"not support to sendSEIMessage".concat(!1===e?" without using h264 codec":""),SEI_DISABLED:"SEI is disabled",SEI_BEFORE_PUBLISH:"please call sendSEIMessage() after publish() success",SEI_NOT_VIDEO:"cannot send sei when localStream has not video.",CALL_FREQUENCY_LIMIT:e=>{let{isSize:t,name:r,timesInSecond:i,maxSizeInSecond:o}=e;return"api ".concat(r," call ").concat(t?"size":"times"," is over ").concat(t?"".concat(o," bytes"):i," in a second.")},CONNECTION_ABORTED:e=>"connection aborted due to: ".concat(e),API_CALL_ABORTED(e){let t;return t=e.message.includes("REMOTE_STREAM_NOT_EXIST")?"Subscribe ".concat(e.userId," ").concat(e.streamType," stream aborted, reason: remote user ").concat(e.userId," unpublished stream."):"API aborted, reason: ".concat(e.message),t},DUPLICATE_AUX:"only one auxiliary stream can be published in a room.",NOT_SUPPORTED_AUX:"publish auxiliary stream is not supported on your browser.",INVALID_PARAMETER_STREAMTYPE:e=>"'streamType' is required when 'userId' is not '*', calling ".concat(e,"()")},nL=(e,t)=>t?"".concat(Lw,"/").concat(e,"/").concat(t):"".concat(Lw,"/").concat(e,"/index.html"),aL=()=>{if(window.TRTC_ERROR_INFO&&window.TRTC_ERROR_LINK)return{TRTC_ERROR_INFO:window.TRTC_ERROR_INFO,TRTC_ERROR_LINK:window.TRTC_ERROR_LINK};let e=null==localStorage?void 0:localStorage.getItem(Vw);if(e){e=JSON.parse(e);let t=document.createElement("script");t.type="text/javascript",t.text=e.message,document.body.appendChild(t);let r=window.TRTC_ERROR_INFO,i=window.TRTC_ERROR_LINK;return document.body.removeChild(t),{TRTC_ERROR_INFO:r,TRTC_ERROR_LINK:i}}return{}};function sL(e){let{key:t,data:r,link:i,addDocLink:o=!0}=e,n="",a="",s="";VD(oL[t])?n=oL[t](r):BD(oL[t])&&(n=oL[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=aL();i?s="".concat(i.className,".html#").concat(i.fnName):l&&l[t]&&(VD(l[t])?s=l[t](r):BD(l[t])&&(s=l[t]));let d=n;return MD()&&(c&&c[t]&&(VD(c[t])?a=c[t](r):BD(c[t])&&(a=c[t])),a&&(d=o?"".concat(a,"\n请查看文档: ").concat(nL("zh-cn",s),"\n\n"):"".concat(a,"\n\n"),d+=n)),o&&(d+=" \nRefer to: ".concat(nL("en",s),"\n")),d}var cL,lL=ew(lw(),1),dL=class{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];rw(this,"countMap",new Map),rw(this,"distributionMap",new Map),rw(this,"version"),rw(this,"log",qO.createLogger({id:"kv"})),e&&(WO.on("102",(e=>{let{track:t,cost:r}=e;this.addSuccessEvent({key:t.kind===$w.AUDIO?501700:511700,cost:r})})),WO.on("103",(e=>{let{track:t,error:r}=e;this.addFailedEvent({key:t.kind===$w.AUDIO?501700:511700,error:r})})),WO.on("266",(e=>{let{enable:t}=e;this.log.info("".concat(t?"enable":"disable"," sso")),t?this.addSuccessEvent({key:525701}):this.addFailedEvent({key:525701})})))}getReportData(e,t){let r={msg_sdk_basic_info:{uint32_sdk_version:gN(this.version||Tw),uint32_terminal_type:15,bytes_device_name:"",bytes_os_version:"",uint32_framework:30,uint32_network_type:0},stats_count:[...this.countMap.entries()].map((e=>{let[t,r]=e;return{uint32_key:t,uint32_count:r}})),stats_distribution:[...this.distributionMap.entries()].map((e=>{let[t,r]=e;return{uint32_key:t,distribution_items:[...r.entries()].map((e=>{let[t,r]=e;return{uint32_item_key:t,uint32_item_value:r}}))}})),str_user_sig:e,bytes_report_token:t};return this.countMap.clear(),this.distributionMap.clear(),r}clear(){this.countMap.clear(),this.distributionMap.clear()}isEnumKey(e){let t=+String(e).slice(-3);return t>=700&&t<799}isErrorCodeKey(e){let t=+String(e).slice(-3);return t>=600&&t<699}isCountKey(e){let t=+String(e).slice(-3);return t>=0&&t<599}isNumberKey(e){let t=+String(e).slice(-3);return t>=800&&t<899}addCount(e){let{key:t,useUV:r=!1}=e;this.isCountKey(t)?r&&this.countMap.has(t)||this.countMap.set(t,(this.countMap.get(t)||0)+1):this.log.debug("".concat(t," is not count key, last 3 number should be 0~599"))}addEnum(e){let{key:t,value:r,useUV:i=!0}=e;var o;if(!this.isEnumKey(t))return this.log.debug("".concat(t," is not enum key, last 3 number should be 700~799"));if(i&&this.countMap.has(t))return;this.countMap.set(t,(this.countMap.get(t)||0)+1);let n=(null==(o=this.distributionMap)?void 0:o.get(t))||new Map;n.set(r,(n.get(r)||0)+1),this.distributionMap.set(t,n)}addNumber(e){let{key:t,value:r,split:i=100,useUV:o=!1,max:n=5e3}=e;var a;if(!this.isNumberKey(t))return this.log.debug("".concat(t," is not number key, last 3 number should be 800~899"));if(o&&this.countMap.has(t))return;r>n&&(r=n),this.countMap.set(t,(this.countMap.get(t)||0)+1);let s=(null==(a=this.distributionMap)?void 0:a.get(t))||new Map,c=0;if(HD(i))c=Math.floor(r/i);else for(let l=i.length-1;l>0;l--)if(r>i[l]){c=l;break}s.set(c,(s.get(c)||0)+1),this.distributionMap.set(t,s)}addSuccessEvent(e){let{key:t,cost:r,timeKey:i,split:o}=e;if(t&&(this.addEnum({key:t,value:1,useUV:!1}),r)){let e=+String(t).slice(-3);e<800&&e>=700?this.addNumber({key:i||t+100,value:r,split:o}):i||this.log.debug("time stat ignored, ".concat(t))}}addFailedEvent(e){let{key:t,error:r}=e;if(!t)return;let i=uw.UNKNOWN;r&&(HD(r)?i=r:(!FD(r.extraCode)||!FD(r.code))&&(i=r.extraCode||r.code)),this.addEnum({key:t,value:0,useUV:!1}),this.addEnum({key:t,value:Math.abs(i),useUV:!1})}},uL=(e=>(e[e.enterRoom=500700]="enterRoom",e[e.exitRoom=500701]="exitRoom",e[e.switchRole=500702]="switchRole",e[e.destroy=500703]="destroy",e[e.startLocalAudio=500704]="startLocalAudio",e[e.updateLocalAudio=500705]="updateLocalAudio",e[e.stopLocalAudio=500706]="stopLocalAudio",e[e.startLocalVideo=500707]="startLocalVideo",e[e.updateLocalVideo=500708]="updateLocalVideo",e[e.stopLocalVideo=500709]="stopLocalVideo",e[e.startScreenShare=500710]="startScreenShare",e[e.updateScreenShare=500711]="updateScreenShare",e[e.stopScreenShare=500712]="stopScreenShare",e[e.startRemoteVideo=500713]="startRemoteVideo",e[e.updateRemoteVideo=500714]="updateRemoteVideo",e[e.stopRemoteVideo=500715]="stopRemoteVideo",e[e.muteRemoteAudio=500716]="muteRemoteAudio",e[e.setRemoteAudioVolume=500717]="setRemoteAudioVolume",e[e.use=500718]="use",e[e.switchRoom=500719]="switchRoom",e[e.sendSEIMessage=5e5]="sendSEIMessage",e[e.sendCustomMessage=500001]="sendCustomMessage",e))(uL||{}),hL=(e=>(e[e.AudioMixer=550700]="AudioMixer",e[e.AIDenoiser=551700]="AIDenoiser",e[e.VirtualBackground=570700]="VirtualBackground",e[e.Beauty=571700]="Beauty",e[e.Watermark=572700]="Watermark",e[e.BasicBeauty=574700]="BasicBeauty",e[e.CDNStreaming=590700]="CDNStreaming",e[e.DeviceDetector=591700]="DeviceDetector",e[e.Debug=592700]="Debug",e[e.SmallStreamAutoSwitcher=593700]="SmallStreamAutoSwitcher",e[e.VideoMixer=594700]="VideoMixer",e[e.AudioProcessor=595700]="AudioProcessor",e))(hL||{}),pL=(e=>(e[e.AudioMixer=550701]="AudioMixer",e[e.AIDenoiser=551701]="AIDenoiser",e[e.VirtualBackground=570701]="VirtualBackground",e[e.Beauty=571701]="Beauty",e[e.Watermark=572701]="Watermark",e[e.BasicBeauty=574701]="BasicBeauty",e[e.CDNStreaming=590701]="CDNStreaming",e[e.DeviceDetector=591701]="DeviceDetector",e[e.Debug=592701]="Debug",e[e.SmallStreamAutoSwitcher=593701]="SmallStreamAutoSwitcher",e[e.VideoMixer=594701]="VideoMixer",e[e.AudioProcessor=595701]="AudioProcessor",e))(pL||{}),mL=(e=>(e[e.AudioMixer=550702]="AudioMixer",e[e.AIDenoiser=551702]="AIDenoiser",e[e.VirtualBackground=570702]="VirtualBackground",e[e.Beauty=571702]="Beauty",e[e.Watermark=572702]="Watermark",e[e.BasicBeauty=574702]="BasicBeauty",e[e.CDNStreaming=590702]="CDNStreaming",e[e.DeviceDetector=591702]="DeviceDetector",e[e.Debug=592702]="Debug",e[e.SmallStreamAutoSwitcher=593702]="SmallStreamAutoSwitcher",e[e.VideoMixer=594702]="VideoMixer",e[e.AudioProcessor=595702]="AudioProcessor",e))(mL||{}),fL=((cL=fL||{})[cL.DECODER_TYPE=514700]="DECODER_TYPE",cL[cL.DECODER_HW_SW=514701]="DECODER_HW_SW",cL[cL.DECODE_RESULT=514702]="DECODE_RESULT",cL[cL.DECODE_FAILED_OS=514703]="DECODE_FAILED_OS",cL[cL.DOWNGRADE_RESULT=514704]="DOWNGRADE_RESULT",cL[cL.DOWNGRADE_WEBCODECS_VIDEO=514705]="DOWNGRADE_WEBCODECS_VIDEO",cL[cL.DOWNGRADE_WEBCODECS_2D=514706]="DOWNGRADE_WEBCODECS_2D",cL[cL.DOWNGRADE_WASM_WEGBL=514707]="DOWNGRADE_WASM_WEGBL",cL[cL.DOWNGRADE_WASM_VIDEO=514708]="DOWNGRADE_WASM_VIDEO",cL[cL.DOWNGRADE_WASM_2D=514709]="DOWNGRADE_WASM_2D",cL[cL.DECODE_H264_RESULT=514710]="DECODE_H264_RESULT",cL[cL.DECODE_H265_RESULT=514711]="DECODE_H265_RESULT",cL[cL.DECODE_VP8_RESULT=514712]="DECODE_VP8_RESULT",cL[cL.DECODE_CAPABILITIES=514713]="DECODE_CAPABILITIES",cL[cL.RENDER_FREEZE_RATE=514850]="RENDER_FREEZE_RATE",cL[cL.DATA_FREEZE_RATE=514851]="DATA_FREEZE_RATE",cL[cL.VIDEO_CONSUME_RENDER_RATE=514852]="VIDEO_CONSUME_RENDER_RATE",cL),_L=new dL(!0),gL=new dL(!1),EL=_L,vL={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH265EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1,isH265DecodeSupported:!1}},yL=new Map([[ak,["Firefox",sk]],[uk,["Edg",hk]],[aO,["Chrome",lO]],[uO,["Safari",pO]],[Ek,["TBS",vk]],[yk,["XWEB",Tk]],[Rk&&ZN,["WeChat",bk]],[Nk,["QQ(Win)",kk]],[Ck,["QQ(Mobile)",Dk]],[wk,["QQ(Mobile X5)",Dk]],[Ok,["QQ(Mac)",Mk]],[Lk,["QQ(iPad)",Pk]],[jk,["MI",Gk]],[zk,["HW",Yk]],[Jk,["Samsung",Xk]],[$k,["OPPO",Qk]],[Zk,["VIVO",eO]],[lk,["EDGE",dk]],[mk,["SogouMobile",fk]],[_k,["Sogou",gk]]]);function TL(){let e=yL.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var IL=function(){return!(Hk||lk||uk&&pk<80||ak&&ck<56)},AL=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder"].every((e=>e in window))},SL=function(){if(!navigator.mediaDevices)return bL()||qO.error(oL.NOT_SUPPORTED_MEDIA),!1;let e=["getUserMedia","enumerateDevices"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},RL=!1;function bL(){return"http:"===location.protocol&&!AO&&(RL||qO.error(sL({key:iL.NOT_SUPPORTED_HTTP})),RL=!0,!0)}var wL=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},CL=function(){return!(null==window||!window.MediaStreamTrackGenerator)},DL=function(){return ow(this,null,(function*(){var e,t,r;if(vL.detail.isH264EncodeSupported&&vL.detail.isVp8EncodeSupported)return{isH264EncodeSupported:vL.detail.isH264EncodeSupported,isVp8EncodeSupported:vL.detail.isVp8EncodeSupported,isH265EncodeSupported:vL.detail.isH265EncodeSupported};let i,o=!1,n=!1,a=!1;try{let s=new RTCPeerConnection,c=document.createElement($w.CANVAS);c.getContext("2d");let l=c.captureStream(0);return s.addTrack(l.getVideoTracks()[0],l),i=yield s.createOffer(),o=-1!==(null==(e=i.sdp)?void 0:e.toLowerCase().indexOf("h264")),n=-1!==(null==(t=i.sdp)?void 0:t.toLowerCase().indexOf("vp8")),a=-1!==(null==(r=i.sdp)?void 0:r.toLowerCase().indexOf("h265")),s.close(),{isH264EncodeSupported:o,isVp8EncodeSupported:n,isH265EncodeSupported:a}}catch(rM){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH265EncodeSupported:!1}}}))},NL=function(){return ow(this,null,(function*(){var e;if(vL.detail.isH264DecodeSupported&&vL.detail.isVp8DecodeSupported)return{isH264DecodeSupported:vL.detail.isH264DecodeSupported,isVp8DecodeSupported:vL.detail.isVp8DecodeSupported,isH265DecodeSupported:vL.detail.isH265DecodeSupported};let t,r=!1,i=!1;try{let o=new RTCPeerConnection;XL()?(o.addTransceiver($w.VIDEO,{direction:"recvonly"}),t=yield o.createOffer()):t=yield o.createOffer({offerToReceiveVideo:!0}),-1!==t.sdp.toLowerCase().indexOf("h264")&&(r=!0),-1!==t.sdp.toLowerCase().indexOf("vp8")&&(i=!0);let n=-1!==(null==(e=t.sdp)?void 0:e.toLowerCase().indexOf("h265"));return o.close(),{isH264DecodeSupported:r,isVp8DecodeSupported:i,isH265DecodeSupported:n}}catch(iM){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1,isH265DecodeSupported:!1}}}))};var kL=yN((e=>ow(void 0,null,(function*(){let t=Date.now(),r=lP(),i=SL(),o=AL();if(vL.detail.isWebRTCSupported=r,vL.detail.isMediaDevicesSupported=i,vL.detail.isWebCodecsSupported=o,vL.detail.isScreenShareSupported=ML(),vL.detail.isSmallStreamSupported=zL(),37===e)return Object.assign(vL.detail,yield function(){return ow(this,null,(function*(){return xL||(xL=new Promise((e=>ow(this,null,(function*(){let t={isH264EncodeSupported:!1,isH264DecodeSupported:!1,isVp8EncodeSupported:!1,isVp8DecodeSupported:!1};if(!AL())return void e(t);let r=null,i=null,o=null,n=()=>{o&&clearTimeout(o),r=null,i=null};try{r=document.createElement("canvas"),i=r.getContext("2d"),r.width=320,r.height=240;let a=0,s=()=>{!i||!r||(i.fillStyle="hsl(".concat(a%360,", 50%, 50%)"),i.fillRect(0,0,r.width,r.height),i.fillStyle="white",i.font="20px Arial",i.fillText("Frame ".concat(a),10,30),a++)};o=setTimeout((()=>{n(),e(t)}),5e3);let c=[{type:"h264",encodeConfig:{codec:"avc1.42E01E",avc:{format:"annexb"},width:320,height:240,bitrate:1e6},decodeConfig:{codec:"avc1.42E01E",avc:{format:"annexb"}}},{type:"vp8",encodeConfig:{codec:"vp8",width:320,height:240,bitrate:1e6},decodeConfig:{codec:"vp8"}}];(yield Promise.all(c.map((e=>ow(this,null,(function*(){let t,i={type:e.type,encodeSupported:!1,decodeSupported:!1};try{t=yield new Promise(((t,o)=>ow(this,null,(function*(){try{let n=new VideoEncoder({output:e=>{t(e),i.encodeSupported=!0},error:o});n.configure(e.encodeConfig),s();let a=new VideoFrame(r,{timestamp:0});n.encode(a,{keyFrame:!0}),a.close(),yield n.flush(),n.close()}catch(cM){o(cM)}}))))}catch(p){return qO.warn("".concat(e.type," encoder error:"),p),i}try{yield new Promise(((r,o)=>ow(this,null,(function*(){try{let n=new VideoDecoder({output:e=>{i.decodeSupported=!0,r(0),e.close()},error:o});n.configure(e.decodeConfig),n.decode(t),yield n.flush(),n.close()}catch(cM){o(cM)}}))))}catch(p){qO.warn("".concat(e.type," decoder error:"),p)}return i})))))).forEach((e=>{"h264"===e.type?(t.isH264EncodeSupported=e.encodeSupported,t.isH264DecodeSupported=e.decodeSupported):"vp8"===e.type&&(t.isVp8EncodeSupported=e.encodeSupported,t.isVp8DecodeSupported=e.decodeSupported)})),n(),e(t)}catch(a){n(),qO.warn("detectWebCodecsSupported failed:",a),e(t)}})))),xL)}))}()),vL.detail.isBrowserSupported=o,vL.result=i&&o,vL.result||qO.error("".concat(navigator.userAgent," ").concat(pN(vL.detail,!1))),_P(e),EL.addNumber({key:523800,value:Date.now()-t}),vL;if(vL.result&&vL.detail.isH264EncodeSupported&&vL.detail.isVp8EncodeSupported&&vL.detail.isH265EncodeSupported&&vL.detail.isH264DecodeSupported&&vL.detail.isVp8DecodeSupported&&vL.detail.isH265DecodeSupported)return vL;let n=IL(),{encode:a,decode:s}=yield function(){return ow(this,null,(function*(){let[e,t]=yield Promise.all([DL(),NL()]);return{encode:{h264:e.isH264EncodeSupported,vp8:e.isVp8EncodeSupported,h265:e.isH265EncodeSupported},decode:{h264:t.isH264DecodeSupported,vp8:t.isVp8DecodeSupported,h265:t.isH265DecodeSupported}}}))}(),{h264:c,vp8:l}=a,{h264:d}=s,{h265:u}=a,{vp8:h,h265:p}=s;if(!c||!l){let e=yield DL();qO.warn("detect encode again h264:".concat(c," vp8:").concat(l," result: ").concat(JSON.stringify(e))),c=e.isH264EncodeSupported,l=e.isVp8EncodeSupported}if(c&&d&&rk&&nO&&!yk&&!Ek&&(!$k||115!==cO)){let{encode:e,decode:t}=yield function(){return ow(this,null,(function*(){return PL||(PL=new Promise((e=>ow(this,null,(function*(){let t={encode:!1,decode:!1},r=()=>{};try{let i=document.createElement("canvas"),o=i.getContext("2d");i.width=640,i.height=480;let n=setInterval((()=>{o.fillText("test",Math.floor(640*Math.random()),Math.floor(480*Math.random()))}),66),a=-1,s=-1;r=()=>{clearInterval(a),clearInterval(n),clearTimeout(s),l.close(),d.close(),c.getTracks().forEach((e=>e.stop()))},s=setTimeout((()=>{r(),e(t)}),2e3);let c=i.captureStream(),l=new RTCPeerConnection({}),d=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0});l.addEventListener("icecandidate",(e=>d.addIceCandidate(e.candidate))),d.addEventListener("icecandidate",(e=>l.addIceCandidate(e.candidate))),l.addTrack(c.getVideoTracks()[0],c);let u=yield l.createOffer();yield l.setLocalDescription(u),yield d.setRemoteDescription(u);let h=yield d.createAnswer(),p=lL.default.parse(h.sdp),m=p.media[0].rtp.findIndex((e=>"H264"===e.codec));p.media[0].rtp=[p.media[0].rtp[m]],p.media[0].fmtp=p.media[0].fmtp.filter((e=>e.payload===p.media[0].rtp[0].payload)),p.media[0].rtcpFb&&(p.media[0].rtcpFb=p.media[0].rtcpFb.filter((e=>e.payload===p.media[0].rtp[0].payload))),h.sdp=lL.default.write(p),yield d.setLocalDescription(h),yield l.setRemoteDescription(h),a=setInterval((()=>ow(this,null,(function*(){t.encode&&t.decode&&(r(),e(t));let[i,o]=yield Promise.all([l.getSenders()[0].getStats(),d.getReceivers()[0].getStats()]);t.encode||i.forEach((e=>{"outbound-rtp"===e.type&&e.mediaType===$w.VIDEO&&e.bytesSent>0&&(t.encode=!0)})),t.decode||o.forEach((e=>{"inbound-rtp"===e.type&&e.mediaType===$w.VIDEO&&e.bytesReceived>0&&(t.decode=!0)}))}))),100)}catch(i){r(),qO.warn("detectH264Supported failed",i),e({encode:!0,decode:!0})}})))).then((e=>(e.encode||(e.decode=!0),(!e.encode||!e.decode)&&qO.warn("detectH264Supported encode: ".concat(e.encode," decode: ").concat(e.decode," ").concat(DO)),e))),PL)}))}();c=e,d=t}return vL.result=n&&r&&i&&(c||l)&&(d||h),vL.detail.isBrowserSupported=n,vL.detail.isWebRTCSupported=r,vL.detail.isH264EncodeSupported=c,vL.detail.isVp8EncodeSupported=l,vL.detail.isH265EncodeSupported=u,vL.detail.isH264DecodeSupported=d,vL.detail.isVp8DecodeSupported=h,vL.detail.isH265DecodeSupported=p,vL.result||qO.error("".concat(navigator.userAgent," ").concat(pN(vL.detail,!1))),_P(),EL.addNumber({key:523800,value:Date.now()-t}),vL})))),OL=function(){return vL.result},ML=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},LL="undefined"!=typeof HTMLMediaElement&&"setSinkId"in HTMLMediaElement.prototype,PL=null;var xL=null;var UL=(e,t,r)=>{"http:"===location.protocol&&!AO&&(e[t]=()=>{throw new pw({code:uw.INVALID_OPERATION,message:oL.NOT_SUPPORTED_HTTP})})},VL=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(WD(e.selected)&&!e.selected)};function FL(){let e="";if(screen.width){let t=screen.width?screen.width*window.devicePixelRatio:"",r=screen.height?screen.height*window.devicePixelRatio:"";e+="".concat(t," * ").concat(r)}return e}function BL(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function HL(){let e={isSupported:!1},t=["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"];for(let r=0;r<t.length;r++)if(t[r]in window){e.isSupported=!0;break}return e.isSupported}function WL(){return"captureStream"in HTMLCanvasElement.prototype}function jL(){return!(Rk||tk||cO&&cO<63)&&!(!IL()||!WL())}function GL(){return!(cO<74||lk||EO<11||ck<46)}function zL(){return jL()||GL()}var KL=function(){if(FD(window.RTCRtpTransceiver)||!XL()||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;let e=null,t=!1;try{e=new RTCPeerConnection({sdpSemantics:kC}),e.addTransceiver($w.AUDIO),t=!0}catch(Aw){}return null==e||e.close(),t};function qL(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function YL(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function JL(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function XL(){return!(11===EO&&!IO)&&("RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype)}var $L=!(!XL()||nO&&cO<86);function QL(){return"RTCRtpTransceiver"in window&&"stop"in window.RTCRtpTransceiver.prototype}var ZL="RTCRtpSender"in window;function eP(){return ZL&&"replaceTrack"in window.RTCRtpSender.prototype}function tP(){return ZL&&"setParameters"in window.RTCRtpSender.prototype&&YL()}var rP="RTCRtpReceiver"in window&&"getSynchronizationSources"in window.RTCRtpReceiver.prototype,iP=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,oP=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,nP="undefined"!=typeof InputDeviceInfo&&"getCapabilities"in InputDeviceInfo.prototype,aP=ZL&&"createEncodedStreams"in window.RTCRtpSender.prototype&&iO()>=86,sP="RTCRtpScriptTransform"in window,cP=ZL&&(aP||sP),lP=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter((e=>e in window)).length>0};function dP(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return FD(window.AudioDecoder)||(e.AudioDecoder=!0),FD(window.AudioEncoder)||(e.AudioEncoder=!0),FD(window.VideoDecoder)||(e.VideoDecoder=!0),FD(window.VideoEncoder)||(e.VideoEncoder=!0),FD(window.ImageDecoder)||(e.ImageDecoder=!0),e}function uP(){return"mediaSession"in navigator&&!FD(navigator.mediaSession.setActionHandler)}function hP(){return!FD(window.WebTransport)}function pP(){return"undefined"!=typeof WebAssembly&&WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))}function mP(){let e={browser:"".concat(RO.name,"/").concat(RO.version),os:PO(),displayResolution:FL(),isScreenShareSupported:ML(),isWebRTCSupported:lP(),isGetUserMediaSupported:BL(),isWebAudioSupported:HL(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:dP(),isMediaSessionSupported:uP(),isWebTransportSupported:hP()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var fP="checkResult";function _P(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30;JO.setItem(fP+e,{ua:navigator.userAgent,checkResult:vL})}function gP(e){bL();let t=JO.getItem(fP+e);t&&t.ua===navigator.userAgent&&t.checkResult&&function(e,t){return!!jD(e)&&Object.keys(t).every((t=>t in e))}(t.checkResult.detail,vL.detail)&&(vL=t.checkResult),kL(e)}function EP(){return"requestVideoFrameCallback"in HTMLVideoElement.prototype}var vP="RTCRtpReceiver"in window&&"jitterBufferTarget"in window.RTCRtpReceiver.prototype;function yP(e){return{h264:1,h265:2,vp8:3,vp9:4,av1:5}[e]}var TP=!1;function IP(){return ow(this,null,(function*(){var e;try{if(TP||null==(e=null==navigator?void 0:navigator.mediaCapabilities)||!e.encodingInfo)return;let t=xO(),r=UO();if(0===t||0===r)return;TP=!0;let i=["H264","VP8","VP9","AV1","H265"],[o,n]=yield Promise.all([AP(i),SP(i)]);o&&Object.keys(o).forEach((e=>{let i=yP(e.toLowerCase());EL.addEnum({key:513707,value:+"".concat(i).concat(+o[e].supported).concat(+o[e].powerEfficient).concat(t).concat(r),useUV:!1})})),n&&Object.keys(n).forEach((e=>{let i=yP(e.toLowerCase());EL.addEnum({key:514713,value:+"".concat(i).concat(+n[e].supported).concat(+n[e].powerEfficient).concat(t).concat(r),useUV:!1})}))}catch(tM){qO.info("detectVideoCodecCapabilities failed",tM)}}))}function AP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1920,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1080,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3e3;return ow(this,null,(function*(){let n={};try{for(let a of e){let e=yield navigator.mediaCapabilities.encodingInfo({type:"webrtc",video:{contentType:"video/".concat(a),width:t,height:r,bitrate:o,framerate:i}});n[a]=e}}catch(Sw){}return n}))}function SP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1920,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1080,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3e3;return ow(this,null,(function*(){let n={};try{for(let a of e){let e=yield navigator.mediaCapabilities.decodingInfo({type:"webrtc",video:{contentType:"video/".concat(a),width:t,height:r,bitrate:o,framerate:i}});n[a]=e}}catch(Sw){}return n}))}function RP(){let e={sender:new Set,receiver:new Set,senderHex:new Set,receiverHex:new Set};try{if(RTCRtpSender&&"function"==typeof RTCRtpSender.getCapabilities){let t=RTCRtpSender.getCapabilities("video");t&&t.codecs&&t.codecs.filter((e=>"video/h264"===e.mimeType.toLowerCase())).forEach((t=>{if(t.sdpFmtpLine){let r=t.sdpFmtpLine.match(/profile-level-id=([0-9a-fA-F]+)/);if(r&&r[1]){let t=r[1];e.senderHex.add(t);let i=parseInt(t,16);isNaN(i)||e.sender.add(i)}}}))}if(RTCRtpReceiver&&"function"==typeof RTCRtpReceiver.getCapabilities){let t=RTCRtpReceiver.getCapabilities("video");t&&t.codecs&&t.codecs.filter((e=>"video/h264"===e.mimeType.toLowerCase())).forEach((t=>{if(t.sdpFmtpLine){let r=t.sdpFmtpLine.match(/profile-level-id=([0-9a-fA-F]+)/);if(r&&r[1]){let t=r[1];e.receiverHex.add(t);let i=parseInt(t,16);isNaN(i)||e.receiver.add(i)}}}))}}catch(tM){qO.warn("get H264 profile levelId failed",tM)}return e}var bP=ew(nw(),1),wP=Symbol("instance"),CP=Symbol("cacheResult"),DP=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,LP.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},NP=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var kP=new Map;function OP(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i,o,n)=>{let a=r.action||o;if(!r.context){let r=kP.get(i)||[];kP.has(i)||kP.set(i,r),r.push({from:e,to:t,action:a})}let s=n.value;n.value=function(){let i=this;for(var o=arguments.length,n=new Array(o),c=0;c<o;c++)n[c]=arguments[c];if(r.context&&(i=PP.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[CP]:Promise.resolve(i[CP]);i.state instanceof DP&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof DP&&i.state.abort(i):("string"!=typeof i.state||!e.includes(i.state))&&(l=new NP(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(l=new NP(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let d=e=>{if(r.fail&&r.fail.call(this,e),r.sync){if(r.ignoreError)return e;throw e}return r.ignoreError?Promise.resolve(e):Promise.reject(e)};if(l)return d(l);let u=i.state,h=new DP(u,t,a);LP.call(i,h);let p=e=>{var o;return i[CP]=e,h.aborted||(LP.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[CP])),e},m=e=>(LP.call(i,u,e),d(e));try{let e=s.apply(this,n);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(p).catch(m):r.sync?p(e):Promise.resolve(p(e))}catch(sM){return m(new NP(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(sM),sM instanceof Error?sM:new Error(String(sM))))}}}}var MP="undefined"!=typeof window&&window.__AFSM__?(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))}:"undefined"!=typeof importScripts?(e,t)=>{postMessage({type:e,payload:t})}:()=>{};function LP(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(PP.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var PP=class e extends bP.default{constructor(t,r,i){super(),this.name=t,this.groupName=r,this._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),r||(this.groupName=this.constructor.name);let o=i[wP];o?this.name=o.name+"-"+o.count++:i[wP]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=kP.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);kP.has(a)&&(a.stateDiagram.forEach((e=>r.add(e))),a.allStates.forEach((e=>n.add(e)))),t.forEach((e=>{let{from:t,to:r,action:n}=e;"string"==typeof t?i.push({from:t,to:r,action:n}):t.length?t.forEach((e=>{i.push({from:e,to:r,action:n})})):o.push({to:r,action:n})})),i.forEach((e=>{let{from:t,to:i,action:o}=e;n.add(t),n.add(i),n.add(o+"ing"),r.add("".concat(t," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(i," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(t," : ").concat(o," 🔴"))})),o.forEach((e=>{let{to:t,action:i}=e;r.add("".concat(i,"ing --\x3e ").concat(t," : ").concat(i," 🟢")),n.forEach((e=>{e!==t&&r.add("".concat(e," --\x3e ").concat(i,"ing : ").concat(i))}))}));let s=[...r];return Object.defineProperties(e,{stateDiagram:{value:s},allStates:{value:n}}),s}static get(t){let r;return"string"==typeof t?(r=e.instances.get(t),r||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype)))):(r=e.instances2.get(t),r||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype)))),r}static getState(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}updateDevTools(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};MP(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){LP.call(this,e)}};PP.STATECHANGED="stateChanged",PP.UPDATEAFSM="updateAFSM",PP.INIT="[*]",PP.ON="on",PP.OFF="off",PP.instances=new Map,PP.instances2=new WeakMap;var xP="undefined"!=typeof window,UP=xP&&window.requestIdleCallback||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},VP=xP&&window.cancelIdleCallback||function(e){clearTimeout(e)},FP=xP&&(window.cancelAnimationFrame||window.mozCancelAnimationFrame),BP=class e{static generateTaskID(){return this.currentTaskID++}static run(e,t,r){null!=r&&r.fps&&(r.delay=r.delay||Number((1e3/r.fps).toFixed(2))),r=Xb("interval"===e?{delay:2e3,count:0,backgroundTask:!0}:"ric"===e?{delay:1e4,count:0}:"raf"===e?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0},r);let i=$b(Xb({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:e,callback:t},r),{delay:r.delay});return this.taskMap.set(i.taskID,i),this[e](i),i.taskID}static interval(t){return t.intervalID=setInterval((()=>{t.callback(),t.loopCount+=1,e.isBreakLoop(t)}),t.delay)}static intervalInWorker(t){e.sharedWorker||(e.sharedWorker=new Worker(URL.createObjectURL(new Blob(["\n const timers = new Map();\n self.onmessage = function(e) {\n const { taskId, delay, type } = e.data;\n if (type === 'start') {\n timers.set(taskId, setInterval(() => {\n self.postMessage({ type: 'tick', taskId });\n }, delay));\n } else if (type === 'stop') {\n clearInterval(timers.get(taskId));\n timers.delete(taskId);\n }\n };\n "],{type:"application/javascript"}))),e.sharedWorker.onmessage=t=>{var r;if("tick"===t.data.type){let i=e.workerTasks.get(t.data.taskId);i&&(e.isBreakLoop(i)?(null==(r=e.sharedWorker)||r.postMessage({type:"stop",taskId:i.taskID}),e.workerTasks.delete(i.taskID)):(i.callback(),i.loopCount+=1))}}),e.workerTasks.set(t.taskID,t),e.sharedWorker.postMessage({taskId:t.taskID,delay:t.delay,type:"start"})}static timeout(t){let r=()=>{if(t.callback(),t.loopCount+=1,!e.isBreakLoop(t))return t.timeoutID=setTimeout(r,t.delay)};return t.timeoutID=setTimeout(r,t.delay)}static ric(t){let r,i=ZD(),o=()=>{if(r=ZD()-i,r>=t.delay&&(i=ZD()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),!e.isBreakLoop(t))return t.ricID=UP(o,{timeout:t.delay})};return t.ricID=UP(o,{timeout:t.delay})}static raf(t){let r,i=ZD(),o=()=>document.hidden&&t.backgroundTask?(r=ZD()-i,i=ZD(),t.callback(),t.loopCount+=1,e.isBreakLoop(t)?void 0:t.timeoutID=setTimeout(o,t.delay-Math.floor(r%t.delay))):(r=ZD()-i,r>=t.delay&&(i=ZD()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),e.isBreakLoop(t)?void 0:t.rafID=requestAnimationFrame(o));if(t.rafID=requestAnimationFrame(o),t.backgroundTask){let e=()=>{if(document.hidden){let e=ZD()-i;e>=t.delay?o():t.timeoutID=setTimeout(o,t.delay-e)}};document.addEventListener("visibilitychange",e),t.onVisibilitychange=e,document.hidden&&e()}return t.taskID}static hasTask(e){return this.taskMap.has(e)}static clearTask(e){if(!this.taskMap.has(e))return!0;let{intervalID:t,timeoutID:r,rafID:i,ricID:o,onVisibilitychange:n}=this.taskMap.get(e);return t&&clearInterval(t),r&&clearTimeout(r),i&&FP&&FP(i),o&&VP(o),n&&document.removeEventListener("visibilitychange",n),this.taskMap.delete(e),!0}static isBreakLoop(e){return!this.hasTask(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}};rw(BP,"taskMap",new Map),rw(BP,"currentTaskID",1),rw(BP,"sharedWorker",null),rw(BP,"workerTasks",new Map);var HP=BP;$w.SEI_MESSAGE;var WP={LOADED_DATA:$w.LOADEDDATA,LOADED_META_DATA:$w.LOADEDMETADATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed",ERROR:"error",RESIZE:$w.RESIZE,TIME_UPDATE:"time-update"},jP={};Zb(jP,{create:()=>zP,remove:()=>KP});var GP=new WeakMap;function zP(e,t){GP.has(e)||GP.set(e,[]);let r=GP.get(e),i={add:(e,o)=>("addEventListener"in t?(r.push(t.removeEventListener.bind(t,e,o)),t.addEventListener(e,o)):(r.push(t.off.bind(t,e,o)),t.on(e,o)),i)};return i}function KP(e){let t=GP.get(e);t&&(t.forEach((e=>e())),GP.delete(e))}var qP=new class{constructor(){rw(this,"_roomIdMap",new Map),rw(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:Tw,env:Bw.QCLOUD,browserVersion:RO.name+RO.version,ua:navigator.userAgent})}setConfig(e){let{sdkAppId:t,env:r,userId:i,roomId:o}=e;t!==this._configs.sdkAppId&&(this._configs.sdkAppId=String(t)),this._configs.env=r,this._configs.userId=i,this._roomIdMap.set(i,String(o))}logSuccessEvent(e){AO||!qO.isAbleToUpload||this._configs.env===Bw.QCLOUD&&this.uploadEventToKibana($b(Xb({},e),{result:"success"}))}logFailedEvent(e){if(AO||!qO.isAbleToUpload)return;let{eventType:t,code:r,error:i,userId:o}=e,n={roomId:this._roomIdMap.get(o||this._configs.userId),userId:o,eventType:t,result:"failed",code:r||(null==i?void 0:i.extraCode)||(null==i?void 0:i.code)||uw.UNKNOWN};this._configs.env===Bw.QCLOUD&&this.uploadEventToKibana($b(Xb({},n),{error:i}))}uploadEventToKibana(e){let t="stat-".concat(e.eventType,"-").concat(e.result);("delta-join"===e.eventType||"delta-leave"===e.eventType||"delta-publish"===e.eventType)&&(t="".concat(e.eventType,":").concat(e.delta)),this.uploadEvent({log:t,userId:e.userId}),"failed"===e.result&&(t="stat-".concat(e.eventType,"-").concat(e.result,"-").concat(e.code),this.uploadEvent({log:t,userId:e.userId,error:e.error}))}uploadEvent(e){let{log:t,userId:r,error:i}=e,o={timestamp:_w(),sdkAppId:this._configs.sdkAppId,userId:r||this._configs.userId,version:Tw,log:t};i&&(o.errorInfo=i.message,i.stack&&(o.errorInfo+="\n".concat(i.stack)));let n=zO.enable?CN(o,2002,Number(this._configs.sdkAppId)):JSON.stringify(o);this.sendRequest(TD(this._configs.sdkAppId,Fw.LOG),n)}sendRequest(e,t){setTimeout((()=>xN({url:e,body:t,priority:"low"}).catch((()=>{}))),2e3)}},YP=new WeakMap;function JP(e){let{settings:t={retries:5,timeout:2e3},onError:r,onRetrying:i,onRetryFailed:o}=e;return function(e,n,a){let s=WN({retryFunction:a.value,settings:t,onError(t){let{error:i,retry:o,reject:a,retryFuncArgs:s}=t;var c;r?r.call(this,i,(()=>{var t;null!=(t=YP.get(e))&&t.has(n)?o():a(i)}),a,s):null!=(c=YP.get(e))&&c.has(n)?o():a(i)},onRetrying(t,r){var o;FN(i)&&i.call(this,t,r),null!=(o=YP.get(e))&&o.has(n)&&(YP.get(e).get(n).stopRetry=r)},onRetryFailed:o});return a.value=function(){let t=YP.get(e);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return t?t.set(n,{args:i}):YP.set(e,new Map([[n,{args:i}]])),s.apply(this,i).finally((()=>{var t;return null==(t=YP.get(e))?void 0:t.delete(n)}))},a}}var XP=class extends PP{constructor(e,t){super(e.id,"".concat(t,"-player")),this.options=e,this.kind=t,rw(this,"id"),rw(this,"element",null),rw(this,"track"),rw(this,"url"),rw(this,"attr"),rw(this,"mode"),rw(this,"muted"),rw(this,"_log"),rw(this,"_isPausedByUserCall",!1),rw(this,"_pausedRetryCount"),rw(this,"_isElementPlayingFired",!1),rw(this,"_interval"),rw(this,"_delayDestroyTimeoutId",0),rw(this,"_playSuccessResolve"),rw(this,"_isReplayByRecreateMediaStreamCalled",!1),rw(this,"isInAutoPlayFailedState",!1),this.id=e.id,this._log=e.log,this.track=e.track,this.muted=e.muted,this._pausedRetryCount=jC,this._state="STOPPED",this.bindTrackEvents(),this._log.info("create ".concat(t,"-player ").concat(this.id))}get isPlaying(){var e;return"PLAYING"===this._state&&!1===(null==(e=this.element)?void 0:e.paused)}get isPaused(){var e;return"PAUSED"===this._state||!0===(null==(e=this.element)?void 0:e.paused)}get isStopped(){return"STOPPED"===this._state}setAttr(e){this.attr=e}setUrl(e){this.track&&(this.unbindTrackEvents(),this.element&&(this.element.srcObject=null),this.track=null),e!==this.url&&(this.url=e,null!==e&&this.element&&(this.element.crossOrigin="anonymous",this.element.src=e))}play(){return ow(this,null,(function*(){if(!this.isPlaying)try{this._delayDestroyTimeoutId&&(clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0,this.bindTrackEvents(),this.bindElementEvents()),this.bindAutoPlayEvent(),yield new Promise(((e,t)=>{this._playSuccessResolve=e,this.element.play().then(e,t)}))}catch(Aw){let t=sL({key:iL.PLAY_FAILED,data:{media:this.kind,error:Aw}});if(this._log.warn(Aw),t.includes("NotAllowedError"))throw this.isInAutoPlayFailedState=!0,new pw({code:uw.PLAY_NOT_ALLOWED,message:t})}}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;this._isElementPlayingFired=!1,this.unbindEvents(),e>0&&!hO?this._delayDestroyTimeoutId||(null==(t=this.element)||t.remove(),this._log.info("destroy element after 3 * ".concat(e)),this._delayDestroyTimeoutId=setTimeout((()=>this.destroyElement()),3*e)):this.destroyElement(),this.handleStopped($w.ENDED),this._interval>0&&HP.clearTask(this._interval)}destroyElement(){this.element&&(this._log.debug("destroy element"),this.element.remove(),this.element.src="",this.element.srcObject=null,this.element=null),clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0}pause(){var e;this._log.info("pause"),null==(e=this.element)||e.pause(),this._isPausedByUserCall=!0,this instanceof yx&&nO&&cO>=128&&this.setPoster(this.getVideoFrame())}resume(){return this._isPausedByUserCall=!1,this.doResume()}doResume(){return this._log.info("resume"),this._isPausedByUserCall||this.isPlaying?Promise.resolve():yO?this.replay():(this.element&&this.track&&nO&&cO>=128&&(this.element.srcObject=new MediaStream([this.track])),this.play().catch((()=>{})))}setMuted(e){this.element&&(this.element.muted=e),this.muted=e}replay(){return this.stop(),this.play().catch((()=>{}))}bindElementEvents(){if(this.element){let e=this.handleElementEvent.bind(this);return zP(this.element,this.element).add($w.PLAYING,e).add($w.ENDED,e).add($w.PAUSE,e).add($w.ERROR,e).add($w.LOADEDDATA,e).add($w.LOADEDMETADATA,e)}}bindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;if(e){let t=this.handleTrackEvent.bind(this);null==jP||jP.create(e,e).add($w.ENDED,t).add($w.MUTE,t).add($w.UNMUTE,t),e.readyState===$w.ENDED&&this.handleTrackEvent({type:$w.ENDED}),e.muted&&this.handleTrackEvent({type:$w.MUTE})}}bindAutoPlayEvent(){WO.on(GO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;e&&KP(e)}unbindEvents(){this.element&&KP(this.element),this.unbindTrackEvents(),WO.off(GO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){switch(e.type){case $w.PLAYING:fx()||(this.isInAutoPlayFailedState=!1),this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying($w.PLAYING),this._interval&&(HP.clearTask(this._interval),this._interval=-1);break;case $w.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped($w.ENDED);break;case $w.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused($w.PAUSE),tk&&(this._interval=HP.run("timeout",(()=>{this.element&&"PAUSED"===this._state&&this.doResume()}),{delay:3e3}));break;case $w.ERROR:if(this.element&&this.element.error){this.handlePaused($w.ERROR);let{code:e,message:t}=this.element.error;this._log.error("".concat(this.kind," ").concat(this._log.isLocal?"local":"remote"," MediaError code: ").concat(e," message: ").concat(t," userAgent: ").concat(navigator.userAgent)),qP.uploadEvent({log:"stat-".concat(this.kind,"-").concat(wC.PLAYER_ERROR,"-").concat(e,"-").concat(navigator.userAgent),error:this.element.error}),qk||Kk?this.emit(WP.ERROR,this.element.error):this.replayByRecreateMediaStream(this.element.error)}break;case $w.LOADEDDATA:this.kind===$w.VIDEO&&this.emit(WP.LOADED_DATA);break;case $w.LOADEDMETADATA:this.kind===$w.VIDEO&&this.emit(WP.LOADED_META_DATA)}}replayByRecreateMediaStream(e){if(!this._isReplayByRecreateMediaStreamCalled)return this._isReplayByRecreateMediaStreamCalled=!0,this.doReplayByRecreateMediaStream(1e3).then((()=>{this._log.warn("replayByRecreateMediaStream success"),qP.uploadEvent({log:"stat-replayByRecreateMediaStream-success"}),EL.addSuccessEvent({key:this.kind===$w.AUDIO?506700:516700})})).catch((()=>{var t;this._log.error("replayByRecreateMediaStream failed"),qP.uploadEvent({log:"stat-replayByRecreateMediaStream-failed"}),EL.addFailedEvent({key:this.kind===$w.AUDIO?506700:516700,error:null==(t=this.element)?void 0:t.error}),this.emit(WP.ERROR,e)}))}doReplayByRecreateMediaStream(e){return this._log.warn("delay ".concat(e,"ms to recreate mediaStream")),new Promise(((t,r)=>{vN(e).then((()=>{this.element&&(this.element.srcObject=null,this.element.srcObject=new MediaStream([this.track]),this._log.warn("recreated mediaStream"),this.element.onerror=()=>{var e,t,i;this._log.warn("element onerror ".concat(null==(t=null==(e=this.element)?void 0:e.error)?void 0:t.code," fired after recreated mediaStream")),r(null==(i=this.element)?void 0:i.error)}),vN(5e3).then((()=>{var e,i;(!this.isPlaying||null!=(e=this.element)&&e.error)&&r(null==(i=this.element)?void 0:i.error),t()}))}))})).finally((()=>{this.element&&(this.element.onerror=null)}))}handleTrackEvent(e){return ow(this,null,(function*(){switch(e.type){case $w.ENDED:this.handleStopped($w.ENDED);break;case $w.MUTE:this.handlePaused($w.MUTE);break;case $w.UNMUTE:this.mode>0?this.handlePlaying(this.mode.toString()):this.element&&(this.element.paused&&(this._log.warn("track unmuted and element is paused, resume"),yield this.doResume()),!this.element.paused&&this._isElementPlayingFired&&this.handlePlaying($w.UNMUTE))}}))}handlePlaying(e){var t;return this._log.debug("handlePlaying",e),null==(t=this._playSuccessResolve)||t.call(this,e),e}handlePaused(e){return this._log.debug("handlePaused",e),e}handleStopped(e){return this._log.debug("handleStopped",e),e}getElement(){return this.element}};rw(XP,"PlayerEvent",WP),tw([JP({settings:{retries:2,timeout:0},onError(e,t,r,i){i[0]=(i[0]||1e3)+1e3,t()}})],XP.prototype,"doReplayByRecreateMediaStream",1),tw([OP([],"PLAYING",{sync:!0,success(e){this.emit(WP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}})],XP.prototype,"handlePlaying",1),tw([OP("PLAYING","PAUSED",{ignoreError:!0,sync:!0,success(e){this.emit(WP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}})],XP.prototype,"handlePaused",1),tw([OP([],"STOPPED",{sync:!0,success(e){this.emit(WP.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}})],XP.prototype,"handleStopped",1);var $P,QP="trtc_autoplay",ZP="".concat(QP,"_mask"),ex="".concat(QP,"_wrapper"),tx="".concat(QP,"_header"),rx="".concat(QP,"_content"),ix="".concat(QP,"_action_wrapper"),ox="".concat(QP,"_question"),nx="".concat(QP,"_collapse"),ax="".concat(QP,"_action_confirm"),sx="".concat(QP,"_detail"),cx="#2473E8",lx="dialog",dx="".concat(lx,"-show"),ux="".concat(lx,"-1"),hx="".concat(lx,"-2"),px=!1,mx=!1,fx=()=>mx,_x="".concat(Lw,"/").concat(MD()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),gx="<br><a href='".concat(_x,"' target='_blank'>").concat(MD()?"其他方案?":"Any other solution?","</a>"),Ex="".concat(MD()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(gx):"Autoplay Policy: Before user interacts with the web page (clicking, touching), page will not be allowed to play media with sound. This Dialog is used to help users resume playback. ".concat(gx)),vx=class{constructor(){if(rw(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),rw(this,"_dialogNode",null),rw(this,"_bodyPosition",""),rw(this,"_showDetail",!1),rw(this,"_isCollapseClicked",!1),rw(this,"_isQuestionClicked",!1),MD()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!px){let e=document.createElement("style");e.innerHTML=".".concat(ZP,"{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,0.5);z-index:1500;}.").concat(ZP," div:not(.").concat(ix,"){display:block !important;}.").concat(ex,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(ex," a{color:").concat(cx,";}.").concat(tx,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(rx,"{margin:8px 0;}.").concat(ix,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(nx,"{margin-right:auto;cursor:pointer}.").concat(ox,"{height:100%;line-height:16px;cursor:pointer;}.").concat(ax,"{margin-left:8px;color:#fff;background:").concat(cx,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(ax,":hover{opacity:0.9;}.").concat(nx,",.").concat(ax,",.").concat(rx,",.").concat(ox,"{font-size:14px;}@media screen and (max-width:750px){.").concat(ex,"{width:80vw;}}"),document.head.appendChild(e),px=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement("template");e.innerHTML='<div class="'.concat(ZP,"\"><div class='").concat(ex,"'><div class='").concat(tx,"'>").concat(location.host,"</div><div class='").concat(rx,"'>").concat(this.content,"</div><div class='").concat(sx,'\' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">').concat(Ex,"</div><div class='").concat(ix,"'></div></div></div>").trim();let t=document.createElement("button");t.className=ax,t.innerText=MD()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);let r=document.createElement("div");r.className=ox,r.innerHTML='<?xml version="1.0" encoding="UTF-8"?>\n <svg class="icon" width="18" height="18" p-id="2030" t="1639646523624" version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">\n <path d="m464 784.35c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z" p-id="2031"/>\n <path d="m512 960c-247.04 0-448-200.96-448-448s200.96-448 448-448 448 200.96 448 448-200.96 448-448 448zm0-831.71c-211.58 0-383.71 172.13-383.71 383.71 0 211.55 172.13 383.71 383.71 383.71 211.55 0 383.71-172.16 383.71-383.71 0-211.58-172.16-383.71-383.71-383.71z" p-id="2032"/>\n <path d="m512 673.7c-17.665 0-32.001-14.336-32.001-31.999v-54.112c0-52.353 40-92.352 75.328-127.65 25.887-25.92 52.672-52.672 52.672-74.017 0-53.343-43.072-96.735-95.999-96.735-53.823 0-95.999 41.536-95.999 94.559 0 17.665-14.336 31.999-32.001 31.999s-32.001-14.336-32.001-31.999c0-87.424 71.775-158.56 160-158.56s160 72.095 160 160.74c0 47.904-36.32 84.192-71.424 119.3-27.84 27.776-56.576 56.512-56.576 82.336v54.112c0 17.665-14.336 32.032-32.001 32.032z" p-id="2033"/>\n </svg>\n ',r.onclick=this.onQuestionClick.bind(this);let i=document.createElement("div");i.className=nx,i.innerText="".concat(MD()?"详情 >":"Detail >"),i.onclick=this.onCollapseClick.bind(this);let o=e.content.firstChild,n=o.querySelector(".".concat(ix));return n.appendChild(i),n.appendChild(r),n.appendChild(t),o}addDiaLog(){fx()||(mx=!0,this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(ex)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position="fixed",qO.info("show autoplay dialog"),qP.uploadEvent({log:dx}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null,mx=!1)}onConfirm(){qO.warn("confirm clicked, try resume stream"),WO.emit(GO.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(".".concat(sx));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||qP.uploadEvent({log:ux}),this._isCollapseClicked=!0}onQuestionClick(){window.open(_x,"_blank"),this._isQuestionClicked||qP.uploadEvent({log:hx}),this._isQuestionClicked=!0}},yx=class extends XP{constructor(e){super(e,$w.VIDEO),rw(this,"stat",{}),rw(this,"_calculateTimeout",-1),rw(this,"viewMirror",!1),rw(this,"objectFit"),rw(this,"container"),rw(this,"canvas"),rw(this,"_preSize",{width:0,height:0}),this.mode=e.canvas?1:0,this.container=e.container,this.canvas=e.canvas,FD(e.viewMirror)||(this.viewMirror=e.viewMirror),FD(e.objectFit)||(this.objectFit=e.objectFit),this.initializeElement()}get isPlaying(){var e;return!("PLAYING"!==this._state||this.element&&this.element.paused)&&("live"===(null==(e=this.track)?void 0:e.readyState)&&!this.track.muted)}initializeElement(){var e;let t=document.createElement($w.VIDEO);this.track&&2!==this.mode&&(t.srcObject=new MediaStream([this.track])),t.muted=!0,t.setAttribute("id","video_".concat(this.id)),t.setAttribute("style",this.styleAttribute),this.canvas&&this.canvas.setAttribute("style",this.styleAttribute),t.setAttribute("autoplay","autoplay"),t.setAttribute("playsinline","playsinline"),this.element=t,rk&&(t.poster="noposter"),null==(e=this.container)||e.appendChild(this.elementToRender),this.bindElementEvents(),this.calculateStat()}get styleAttribute(){let e="width: 100%; height: 100%; object-fit: ".concat(this.objectFit,";background-color: black;");return this.viewMirror&&(e+="transform: scaleX(-1);"),e}setContainer(e){var t;this.container=e,this.track&&this.elementToRender&&(null==(t=this.container)||t.appendChild(this.elementToRender))}bindElementEvents(){let e=super.bindElementEvents();this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add($w.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add($w.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent).add($w.RESIZE,this.handleElementEvent)}handleTrackEvent(e){var t;return e.type===$w.MUTE&&null!=(t=this.stat)&&t.fps&&(this.stat.fps=0),super.handleTrackEvent(e)}handleElementEvent(e){var t,r,i,o,n,a,s,c;if(2===this.mode)return;super.handleElementEvent(e);let l=e.type;if(l===$w.PAUSE&&(this.container&&document.getElementById(this.container.id)||this._log.warn("".concat(this.kind," player has been remove, element ID: ").concat(null==(t=this.container)?void 0:t.id)),this.container&&this.container!==document.getElementById(this.container.id)&&(this._pausedRetryCount=jC,this._log.info("view container ".concat(null==(r=this.container)?void 0:r.id," is recreated"))),this._pausedRetryCount>0&&!fx()&&!this._isPausedByUserCall&&(this._log.info("[".concat(jC-this._pausedRetryCount+1,"/").concat(jC,"] ").concat(this.kind," player auto resume when paused")),this.doResume(),this._pausedRetryCount--),this.stat.fps&&(this.stat.fps=0)),this.viewMirror&&this.element){let e=this.element.style.transform;l===$w.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace("scaleX(-1)",""):l===$w.LEAVE_PICTURE_IN_PICTURE&&!e.includes("scaleX")&&(this.element.style.transform="".concat(e," scaleX(-1)"))}l===$w.RESIZE&&(this._preSize.height!==(null==(i=this.element)?void 0:i.videoHeight)||this._preSize.width!==(null==(o=this.element)?void 0:o.videoWidth))&&(this._log.info("video size changed to ".concat(null==(n=this.element)?void 0:n.videoWidth,"x").concat(null==(a=this.element)?void 0:a.videoHeight)),this._preSize.height=(null==(s=this.element)?void 0:s.videoHeight)||0,this._preSize.width=(null==(c=this.element)?void 0:c.videoWidth)||0,this.emit(WP.RESIZE,{newWidth:this._preSize.width,newHeight:this._preSize.height}))}setCanvas(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;var r,i,o,n;this.canvas!==e&&(null==(r=this.canvas)||r.remove(),null==e||e.setAttribute("style",this.styleAttribute),this.canvas=e,this.mode=e?t:0,2===this.mode&&this.setTrack(e.captureStream().getVideoTracks()[0]),e?(null==(i=this.element)||i.remove(),null==(o=this.container)||o.appendChild(e)):this.element&&(null==(n=this.container)||n.appendChild(this.element)))}setAttr(e){let t=Object.assign({autoplay:"autoplay",playsinline:"playsinline",muted:!0},e);t.style=Object.assign({width:"100%",height:"100%"},t.style),super.setAttr(t)}get mirror(){return this.viewMirror}setRect(e,t){this.elementToRender&&(this.elementToRender.style.width="".concat(e,"px"),this.elementToRender.style.height="".concat(t,"px"))}setViewMirror(e){this.elementToRender&&(this.elementToRender.style.transform=e?"scaleX(-1)":""),this.viewMirror=e}setObjectFit(e){this.elementToRender&&(this.elementToRender.style.objectFit="".concat(e)),this.objectFit=e}setPoster(e){this.element&&(this.element.poster=e)}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;super.stop(e),null==(t=this.canvas)||t.remove()}play(){return this.element?this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender):this.initializeElement(),2===this.mode?Promise.resolve():super.play()}get elementToRender(){return this.canvas||this.element}setTrack(e){e!==this.track&&(this.unbindTrackEvents(),this.track=e,this.emit(WP.MEDIA_TRACK_CHANGED,e),null!==e&&(this.bindTrackEvents(),this.element&&2!==this.mode&&(this.element.srcObject=new MediaStream([e]),this.element.remove()),this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender)))}getVideoFrame(){if(this.canvas)return this.canvas.toDataURL("image/png");if(!this.element)return"";let e=document.createElement("canvas");return e.width=this.element.videoWidth,e.height=this.element.videoHeight,e.getContext("2d").drawImage(this.element,0,0),e.toDataURL("image/png")}getElement(){return this.element}calculateStat(){try{if(EP()&&this.element&&this._calculateTimeout<0){let e=0,t=null,r=(i,o)=>{this.stat.width=o.width,this.stat.height=o.height,t&&(this.stat.fps=Math.round((o.presentedFrames-t.presentedFrames)/(i-e)*1e3)),e=i,t=o,this._calculateTimeout=-1,this.element&&(this._calculateTimeout=setTimeout((()=>{var e;return null==(e=this.element)?void 0:e.requestVideoFrameCallback(r)}),2e3))};this.element.requestVideoFrameCallback(r)}}catch(Aw){this._log.warn("init stat failed",Aw)}}};function Tx(e,t){return ow(this,null,(function*(){if(!e.audioWorklet)return Promise.reject("audioWorklet is not supported");try{yield e.audioWorklet.addModule(t),qO.info("worklet addModule success")}catch(Aw){throw qO.info("worklet addModule catch error. ".concat(Aw.message)),Aw}}))}"undefined"!=typeof AudioContext?$P=AudioContext:"undefined"!=typeof webkitAudioContext?$P=webkitAudioContext:"undefined"!=typeof mozAudioContext&&($P=mozAudioContext);var Ix,Ax=1500,Sx=-1,Rx=0,bx=-1,wx=!1,Cx=0,Dx=-1,Nx=-1;!function e(){try{if(Ix)return;(Ix=new $P({sampleRate:48e3})).onstatechange=()=>{qO.info("context state: ".concat(Ix.state).concat("running"!==Ix.state?" visibilityState: ".concat(document.visibilityState):"")),kx()},clearTimeout(Sx)}catch(yH){qO.error("initAudioContext failed: ".concat(yH," typeof AudioContextClass: ").concat(typeof $P)),Sx=setTimeout(e,1e3)}}();var kx=()=>{"suspended"===Ix.state?(Rx=ZD(),-1===bx&&(bx=setTimeout((()=>{"suspended"===Ix.state&&(wx=!0,WO.emit("155",{isSuspended:!0}))}),Ax)),Lx(),document.addEventListener("click",kx)):"interrupted"===Ix.state?Lx():(Rx&&(EL.addNumber({key:507800,value:ZD()-Rx,split:[0,500,1e3,1500,2e3,3e3,4e3,5e3,1e4,3e4],max:6e4}),Rx=0),-1!==bx&&(clearTimeout(bx),bx=-1,wx&&(wx=!1,WO.emit("155",{isSuspended:!1}))),document.removeEventListener("visibilitychange",kx),document.removeEventListener("click",kx))},Ox=0,Mx=-1;function Lx(){return new Promise(((e,t)=>{if("running"===Ix.state)return e();Date.now()-Ox<1e3?(clearTimeout(Mx),Mx=setTimeout((()=>{Ox=Date.now(),Ix.resume().then(e,t)}),1e3)):(clearTimeout(Mx),Ox=Date.now(),Ix.resume().then(e,t))})).catch((e=>{qO.warn("context resume failed: ".concat(e)),document.addEventListener("visibilitychange",kx)}))}document.addEventListener("click",kx);var Px=e=>Ix,xx=class{constructor(e){this.name=e,rw(this,"node"),rw(this,"node2"),rw(this,"pre",new Set),rw(this,"next",new Set),rw(this,"context"),rw(this,"connectedNodes",new Set),rw(this,"nextInputChannelMap",new Map),rw(this,"_channelCount",1)}get channelCount(){return this._channelCount}set channelCount(e){this._channelCount=e,this.setChannelCount(this.node,e),this.setChannelCount(this.node2,e),this.next.forEach((t=>t.channelCount=e))}setChannelCount(e,t){!e||e instanceof ScriptProcessorNode||(e.channelCountMode="explicit",e.channelCount=t||this.channelCount||1)}setContext(e){this.context=e,this.node&&e.addMixWeight()}removeContext(){var e;this.node&&(null==(e=this.context)||e.reduceMixWeight()),delete this.context}replaceNode(e){var t;if(e!==this.node)try{this.node?this._disconnect():null==(t=this.context)||t.addMixWeight(),this.node=e,this.setChannelCount(this.node),this.preNodeReconnect(),this.reconnect()}catch(RC){qO.error(RC)}}setNode(e,t){var r;if(!this.node)try{null==(r=this.context)||r.addMixWeight(),this.node=e,this.setChannelCount(this.node),t&&(this.node2=t,this.setChannelCount(this.node2)),this.preNodeReconnect(),this.reconnect(),EL.addSuccessEvent({key:502701})}catch(iM){qO.error(iM),EL.addFailedEvent({key:502701,error:iM})}}deleteNode(){var e;if(this.node)try{this._disconnect(),delete this.node,delete this.node2,null==(e=this.context)||e.reduceMixWeight(),this.preNodeReconnect(),EL.addSuccessEvent({key:502702})}catch(Aw){qO.error(Aw),EL.addFailedEvent({key:502702,error:Aw})}}preNodeReconnect(){this.pre.forEach((e=>{e.node?e.reconnect():e.preNodeReconnect()}))}connectNext(e){this.next.forEach((t=>{let r=this.nextInputChannelMap.get(t);e._connect(t.node,r)||t.connectNext(e)}))}_connect(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return!(!this.node||!e)&&((this.node2||this.node).connect(e,0,t),this.connectedNodes.add(e),!0)}_disconnect(){this.connectedNodes.forEach((e=>{var t;return null==(t=this.node2||this.node)?void 0:t.disconnect(e)})),this.connectedNodes.clear()}reconnect(){this._disconnect(),this.connectNext(this)}pipeTo(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.next.add(e),e.pre.add(this),this.nextInputChannelMap.set(e,t),e}},Ux=class extends xx{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;super(),this.fftSize=e,rw(this,"dataArray",new Uint8Array(0))}setNode(e){e.fftSize=this.fftSize,this.dataArray=new Uint8Array(e.frequencyBinCount),super.setNode(e)}getByteTimeDomainData(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),this.dataArray}get level(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),Math.max(...this.dataArray)/128-1}get timeDomainPathData(){let e=this.getByteTimeDomainData(),t=0,r=0,i="M".concat(t,",").concat(r);for(let o=0;o<e.length;o++)r=e[o]/128*100/2,i+="L".concat(t,",").concat(r),t+=1;return i}},Vx=class{constructor(){rw(this,"source",new xx),rw(this,"gain",new xx),rw(this,"destination",new xx)}get volume(){var e;return(null==(e=this.gain.node)?void 0:e.gain.value)||1}setVolume(e){1!==e?(this.gain.node||this.gain.setNode(Px().createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}replaceSource(e){let t=Wx(e);t&&this.source.replaceNode(t)}get track(){var e;return null==(e=this.stream)?void 0:e.getAudioTracks()[0]}get stream(){var e;return null==(e=this.destination.node)?void 0:e.stream}},Fx=class extends Vx{constructor(e){super(),this.context=e,rw(this,"aec",new xx("aec")),rw(this,"mixNode",new xx("mixNode")),rw(this,"silentNode",new xx("silentNode")),rw(this,"denoiser",new xx("denoiser")),rw(this,"voiceChanger",new xx("voiceChanger")),this.source.pipeTo(this.aec).pipeTo(this.denoiser).pipeTo(this.voiceChanger).pipeTo(this.gain).pipeTo(this.destination),this.silentNode.pipeTo(this.mixNode).pipeTo(this.aec,1)}get isProcessEnabled(){return this.aec.node||this.denoiser.node||this.voiceChanger.node||this.gain.node}connect(){this.context.inputs.has(this)||(this.destination.setNode(this.context.destination),this.source.setContext(this.context),this.aec.setContext(this.context),this.silentNode.setContext(this.context),this.mixNode.setContext(this.context),this.denoiser.setContext(this.context),this.voiceChanger.setContext(this.context),this.gain.setContext(this.context),this.context.inputs.add(this))}disconnect(){this.context.inputs.has(this)&&(this.destination.deleteNode(),this.source.removeContext(),this.aec.removeContext(),this.silentNode.removeContext(),this.mixNode.removeContext(),this.denoiser.removeContext(),this.voiceChanger.removeContext(),this.gain.removeContext(),this.context.inputs.delete(this))}remove(){this.gain.deleteNode(),this.aec.deleteNode(),this.silentNode.deleteNode(),this.mixNode.deleteNode(),this.denoiser.deleteNode(),this.voiceChanger.deleteNode(),this.source.deleteNode(),this.disconnect()}setVolume(e){1!==e?(this.gain.node||this.gain.setNode(this.context.audioContext.createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}},Bx=class{constructor(){rw(this,"audioContext",Px()),rw(this,"destination",this.audioContext.createMediaStreamDestination()),rw(this,"inputs",new Set),rw(this,"mixWeight",0),this.destination.channelCount=1}addMixWeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.mixWeight+=e,this.mixWeight-1==e+1>>1&&this.mixOnChange()}reduceMixWeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.addMixWeight(-e)}close(){this.inputs.forEach((e=>e.remove()))}get mixTrack(){return this.destination.stream.getAudioTracks()[0]}},Hx=new WeakMap;function Wx(e){try{let t=Hx.get(e);if(t)return t;let r=Px();if(e instanceof HTMLAudioElement)t=r.createMediaElementSource(e);else{if(!(e instanceof MediaStreamTrack))return e;t=r.createMediaStreamSource(new MediaStream([e]))}return Hx.set(e,t),t}catch(tM){if(!(ak&&tM instanceof Error&&"NotSupportedError"===tM.name))throw tM;qO.warn(tM)}}var jx=class e{constructor(e){rw(this,"_volume",0),rw(this,"_volumeDb",0),rw(this,"_log"),rw(this,"_scriptProcessorNode",null),rw(this,"_audioWorkletNode",null),rw(this,"_interval",200),rw(this,"ready",this.preload());let{log:t}=e;this._log=t,WO.on(GO.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}static get isRunning(){return Date.now()-e.lastMessageTime<2e3}get node(){return this._audioWorkletNode||this._scriptProcessorNode}preload(){if(!e.workletReady){let t='class VolumeMeterWorklet extends AudioWorkletProcessor{constructor(){super(),this.volume=0,this.intervalTime=200,this.tick=200,this.isStop=!1,this.cache=[],this.sentFirstInfo1=!1,this.unmute=!1,this.port.onmessage=t=>{var e=t.data;switch(e.name){case"chunk":this.cache.push(...e.data),this.sentFirstInfo1||(this.port.postMessage({cl:e.data.length}),this.sentFirstInfo1=!0);break;case"setIntervalTime":this.intervalTime=e.intervalTime;break;case"unmute":this.unmute=!0;break;case"stop":this.isStop=!0}}}process(t,s){t=t[0],s=s[0];if(t||s){if(this.isStop)return!1;var i=s&&s[0]?s[0].length:0,h=this.cache.length,a=(i<h?(s[0].set(this.cache.slice(0,i)),this.cache=this.cache.slice(i)):this.unmute&&s[0].set(t[0]),(i<h?s:t)[0]);if(a){let e=0;for(let t=0;t<a.length;++t)e=Math.max(Math.abs(a[t]),e);s=a.reduce((t,e)=>t+e*e,0)/a.length;this.volume=e,this.tick-=a.length,this.tick<0&&(this.tick+=this.intervalTime/1e3*sampleRate,this.port.postMessage({volume:this.volume,volumeDb:Math.max(10*Math.log10(s)+100,0)/100,cacheLen:h,outputLen:i}))}}return!0}}registerProcessor("volume-meter",VolumeMeterWorklet);';e.workletReady=Tx(e.audioContext,URL.createObjectURL(new Blob([t],{type:"application/javascript"})))}return e.workletReady.then((()=>this.initAudioWorklet())).catch((e=>(this._log.error("volumeMeter preload error: ".concat(e)),this.initScriptProcessor())))}initAudioWorklet(){if(!this._audioWorkletNode)try{this._audioWorkletNode=new AudioWorkletNode(e.audioContext,"volume-meter");let t=!1;this._audioWorkletNode.port.onmessage=r=>{e.lastMessageTime=Date.now(),this._volume=r.data.volume||0,this._volumeDb=r.data.volumeDb||0,!t&&r.data.cacheLen&&r.data.outputLen&&(this._log.warn("worklet play success"),t=!0)},this.handleAudioLevelInterval({interval:this._interval})}catch(tM){this._log.error("volumeMeter init audio worklet error: ".concat(tM)),qP.logFailedEvent({userId:this._log.userId,eventType:wC.LOAD_WORKLET,error:tM}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=Px().createScriptProcessor(2048,1,1),this._scriptProcessorNode.onaudioprocess=t=>{e.lastMessageTime=Date.now();let r=t.inputBuffer.getChannelData(0),i=0;for(let e=0;e<r.length;++e)i+=r[e]*r[e];this._volume=Math.sqrt(i/r.length)||0}}catch(tM){this._log.error("volumeMeter init script processor error: ".concat(tM))}}destroy(){this._scriptProcessorNode&&(this._scriptProcessorNode.onaudioprocess=null),this._audioWorkletNode&&(this._audioWorkletNode.port.postMessage({name:"stop"}),this._audioWorkletNode.port.onmessage=null),this._audioWorkletNode=null,this._scriptProcessorNode=null,WO.off(GO.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}getInternalAudioLevel(){return this._volume}getCalculatedVolume(){return parseFloat(this._volume.toFixed(2))}getVolumeDb(){return Math.floor(100*this._volumeDb)}handleAudioLevelInterval(e){var t;let{interval:r}=e;this._interval=r,null==(t=this._audioWorkletNode)||t.port.postMessage({name:"setIntervalTime",intervalTime:r})}};rw(jx,"lastMessageTime",0),rw(jx,"audioContext",Px()),rw(jx,"workletReady");var Gx=jx,zx=class extends xx{constructor(e){super(),rw(this,"_volumeMeter"),this._volumeMeter=new Gx(e)}deleteNode(){super.deleteNode(),this._volumeMeter.destroy()}init(){return ow(this,null,(function*(){yield this._volumeMeter.preload(),this.setNode(this._volumeMeter.node)}))}getCalculatedVolume(){return this._volumeMeter.getCalculatedVolume()}getInternalAudioLevel(){return this._volumeMeter.getInternalAudioLevel()}getVolumeDb(){return this._volumeMeter.getVolumeDb()}write(e){if(this.node){let t=e.allocationSize({planeIndex:0}),r=new Float32Array(t>>2);e.copyTo(r,{planeIndex:0}),this.node.port.postMessage({name:"chunk",data:r},[r.buffer]),e.close()}}},Kx=Gx,qx=ew(nw(),1),Yx=e=>t=>t.deviceId===e,Jx=class{constructor(e,t){rw(this,"kind"),rw(this,"type"),rw(this,"devices",[]),this.kind=e,this.type=t}update(e,t){let r=e.filter((e=>e.kind==="".concat(this.kind).concat(this.type.toLocaleLowerCase())));1===this.devices.length&&Qx(this.devices[0])||t&&(r.forEach((e=>{if(e.deviceId&&!this.devices.find(Yx(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Added");qO.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!r.find(Yx(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Removed");qO.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}}))),this.devices=r}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},Xx=class extends qx.EventEmitter{constructor(){super(),rw(this,"audioInputs",new Jx($w.AUDIO,"Input")),rw(this,"videoInputs",new Jx($w.VIDEO,"Input")),rw(this,"audioOutputs",new Jx($w.AUDIO,"Output")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",(()=>this.update())),"ondevicechange"in navigator.mediaDevices||HP.run("interval",(()=>{this.update()}),{delay:1e4}))}init(){Zx().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return ow(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){let r=yield Zx(t);return e.audioInputs.update(r,e),e.videoInputs.update(r,e),e.audioOutputs.update(r,e),e}()}))}hasBlueTooth(){var e;if(1e3*(null==(e=Px())?void 0:e.outputLatency)>150)return!0;let t=["bluetooth","air","wireless","bt","tws","buds","headset","headphone"];return this.audioOutputs.devices.some((e=>t.some((t=>e.label.toLowerCase().includes(t)))))||this.audioInputs.devices.some((e=>t.some((t=>e.label.toLowerCase().includes(t)))))}},$x=bw||Rw?null:new Xx;function Qx(e){return e.deviceId===e.groupId&&""===e.groupId}function Zx(){return ow(this,arguments,(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){if(bL()||!SL())return[];let t=yield navigator.mediaDevices.enumerateDevices();if(0!==e){let r={audio:!1,video:!1};if(t.forEach((e=>{Qx(e)&&(e.kind===$w.AUDIO_INPUT?r.audio=!0:e.kind===$w.VIDEO_INPUT&&(r.video=!0))})),2===e&&(r.audio=!1),1===e&&(r.video=!1),r.audio||r.video){let e;try{e=yield navigator.mediaDevices.getUserMedia(r),r.audio&&Lx()}catch(iM){qO.debug("capture before getDevices failed: ",iM)}t=yield navigator.mediaDevices.enumerateDevices(),null==e||e.getTracks().forEach((e=>e.stop()))}}return t.map(((e,t)=>{let r={kind:e.kind,deviceId:e.deviceId,groupId:e.groupId,label:e.label||"".concat(e.kind,"_").concat(t)};return e.deviceId.length>0&&oU.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(r.getCapabilities=()=>e.getCapabilities()),r}))}()}))}function eU(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return $x.update(e?1:0).then((e=>e.audioInputs.devices))}function tU(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return $x.update(e?2:0).then((e=>e.videoInputs.devices))}var rU=!1;function iU(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return ow(this,null,(function*(){return(tk||uO)&&(e=!1),$x.update(e?1:0).then((e=>e.audioOutputs.devices))}))}var oU=new Set;function nU(e,t){return ow(this,null,(function*(){let r=(yield eU()).find((e=>e.deviceId===GC));return!t&&(null==r?void 0:r.groupId)===e||(null==r?void 0:r.groupId)===e&&r.label===t}))}var aU,sU=class extends Vx{constructor(e){super(),this.log=e,rw(this,"volumeMeter"),rw(this,"volumeMeterAfter3A"),rw(this,"volumeDestination"),rw(this,"analyser",new Ux),this.volumeMeter=new zx({log:this.log}),this.volumeMeterAfter3A=new zx({log:this.log}),this.volumeDestination=new xx,this.volumeMeter.pipeTo(this.volumeDestination)}destroy(){this.gain.deleteNode(),this.volumeMeter.deleteNode(),this.analyser.deleteNode(),this.source.deleteNode(),this.destination.deleteNode(),this.volumeDestination.deleteNode()}},cU=class e extends XP{constructor(e){super(e,$w.AUDIO),rw(this,"_outputDeviceId"),rw(this,"_volume",1),rw(this,"_destination",Px().createMediaStreamDestination()),rw(this,"pipeline"),rw(this,"volumeMeterMode","worklet"),rw(this,"enableVolumeControlInIOS"),this.enableVolumeControlInIOS=e.enableVolumeControlInIOS,this.mode=0,e.url&&(this.url=e.url),this.pipeline=new sU(this._log)}get duration(){var e;return Math.floor(1e3*((null==(e=this.element)?void 0:e.duration)||0))}get currentTime(){var e;return Math.floor(1e3*((null==(e=this.element)?void 0:e.currentTime)||0))}set currentTime(e){this.element&&(this.element.currentTime=e/1e3)}getMediaStream(){return this.pipeline.stream||(this.track?new MediaStream([this.track]):null)}initializeElement(e){if(("15.2"===fO||"15.3"===fO||"15.4"===fO)&&this.muted)return void this._log.info("audioElement is muted.");let t=aU||new Audio;t.setAttribute("autoplay","autoplay"),t.srcObject=this.getMediaStream(),t.muted=this.muted,this.url&&(t.crossOrigin="anonymous",t.src=this.url),this.element=t,HD(e)&&(this.element.volume=Math.min(Math.max(e,0),1)),t===aU&&(aU=void 0),this.options.enableTimeupdateEvent&&(this.element.ontimeupdate=()=>this.emit(WP.TIME_UPDATE,this.currentTime)),this.bindElementEvents()}play(t){return ow(this,null,(function*(){if(this.track||this.url)return!this.pipeline.source.node&&this.track&&this.pipeline.replaceSource(this.track),this.element||this.initializeElement(null==t?void 0:t.volume),this._outputDeviceId&&(yield this.setSinkId(this._outputDeviceId)),"worklet"===this.volumeMeterMode?(this.pipeline.volumeMeter.init(),this.pipeline.volumeMeterAfter3A.init()):"analyser"===this.volumeMeterMode&&this.pipeline.analyser.setNode(Px().createAnalyser()),function(){ow(this,null,(function*(){try{rU||(rU=!0,qO.info("speakers:".concat((yield iU()).map((e=>" ".concat(e.deviceId.slice(0,8),": ").concat(e.label))))))}catch(e){}}))}(),iw(e.prototype,this,"play").call(this)}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy(),super.stop(e)}setVolume(e){this._volume=e,this.element&&(this.element.volume=e)}setSinkId(e){return ow(this,null,(function*(){var t,r;this._outputDeviceId!==e&&(this._outputDeviceId=e),this.element&&this.element.sinkId!==e&&(yield null==(r=(t=this.element).setSinkId)?void 0:r.call(t,e))}))}get useDestination(){return!!this.pipeline.stream}setLoop(e){this.element&&(this.element.loop=e)}getAudioLevel(){return this.pipeline.volumeMeter.getCalculatedVolume()}getInternalAudioLevel(){return this.pipeline.volumeMeter.getInternalAudioLevel()}getInternalAudioLevelAfter3A(){return this.pipeline.volumeMeterAfter3A.getInternalAudioLevel()}},lU=class extends cU{setTrack(e){this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(WP.MEDIA_TRACK_CHANGED,e),e&&(this.bindTrackEvents(),this.element&&(this.element.srcObject=new MediaStream([e]))))}},dU=class extends cU{constructor(e){super(e),rw(this,"_sourceElement"),rw(this,"_output",new xx),this.pipeline.source.pipeTo(this.pipeline.gain),this.pipeline.gain.pipeTo(this.pipeline.volumeMeter).pipeTo(this._output),this.pipeline.gain.pipeTo(this.pipeline.destination)}setOutput(){this.mode=1,this._output.setNode(Px().destination)}write(e){this.pipeline.volumeMeter.write(e)}setTrack(e){var t,r,i;(null==(r=null==(t=this.element)?void 0:t.error)?void 0:r.code)!==MediaError.MEDIA_ERR_DECODE&&this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(WP.MEDIA_TRACK_CHANGED,e),e?(this.bindTrackEvents(),this._sourceElement?this._sourceElement.srcObject=new MediaStream([e]):!this.useDestination&&this.element&&(this.element.srcObject=new MediaStream([e])),this.pipeline.source.channelCount=(null==(i=e.getSettings())?void 0:i.channelCount)||1,this.pipeline.replaceSource(e)):this.pipeline.source.deleteNode())}setVolume(e){if(this._volume=e,this.useDestination)this.pipeline.setVolume(e),this._log.info("set pipeline volume: ".concat(e));else if(e<=1&&!tk)this.element?(this._log.info("set element volume: ".concat(e)),this.element.volume=e):this._log.info("set element volume: no element");else{if(tk){if(!this.enableVolumeControlInIOS)return;!function(){if(!tk||-1!==Nx)return;let e=()=>{ZD()-Cx<500||(Ix&&"running"===Ix.state&&Ix.currentTime===Dx&&(qO.warn("context is fake running, auto resume"),Ix.suspend().catch((e=>{qO.warn("context suspend failed: ".concat(e))}))),Dx=Ix.currentTime,Cx=ZD())};Nx=setInterval((()=>{e()}),2e3),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&e()}))}()}if(ak&&!this.pipeline.source.node)return void this._log.warn("set pipeline volume failed: no source node");this._log.info("start set pipeline volume: ".concat(e)),this.pipeline.setVolume(e),this.element&&!this._sourceElement&&(this.pipeline.destination.setNode(this._destination),KP(this.element),this._sourceElement=this.element,this._sourceElement.muted=!0,this.element=null,this.play())}}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy();let t=this._sourceElement||this.element;t&&hO&&(aU=t),this._sourceElement&&(this._sourceElement.srcObject=null,delete this._sourceElement),super.stop(e)}},uU=class extends PP{constructor(e){let{userId:t,sdkAppId:r,mediaType:i,room:o,PlayerClass:n=(1===i?dU:yx)}=e;var a;super(),rw(this,"id",YO()),rw(this,"userId",""),rw(this,"isRemote"),rw(this,"mediaType"),rw(this,"room"),rw(this,"user"),rw(this,"_log"),rw(this,"_inputTrack"),rw(this,"_outputTrack"),rw(this,"isPlayCalled"),rw(this,"container",null),rw(this,"player"),rw(this,"subVideoPlayerMap"),rw(this,"muted",!1),rw(this,"abortCtrl"),rw(this,"objectFit","cover"),rw(this,"mirror"),rw(this,"rotation"),rw(this,"isScreen",!1),rw(this,"manager"),rw(this,"trackSettings"),rw(this,"isFirstVideoFrameEmitted",!1),this.userId=t||"",this.mediaType=i,this._log=qO.createLogger({id:"".concat(this.kind[0],"t"),userId:null==(a=o||this.room)?void 0:a.userId,remoteUserId:this instanceof YF?void 0:this.userId,sdkAppId:r,type:2===this.mediaType?"auxiliary":"main",isLocal:this instanceof YF}),this.player=new n({id:this.userId||this.id,track:null,muted:!1,container:null,log:this._log,enableVolumeControlInIOS:null==o?void 0:o.enableVolumeControlInIOS}),this.player.on(WP.PLAYER_STATE_CHANGED,(e=>{WO.emit(GO.PLAYER_STATE_CHANGED,Xb({track:this},e)),this.emit("player-state-changed",e)})),this.kind===$w.VIDEO&&(this.player.on(WP.LOADED_DATA,(()=>{this.emitFirstVideoFrameEvent(WP.LOADED_DATA),WO.emit(GO.VIDEO_LOADED_DATA,{track:this})})),this.player.on(WP.LOADED_META_DATA,(()=>{this.emitFirstVideoFrameEvent(WP.LOADED_META_DATA)})),this.player.on(WP.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))})),this.player.on(WP.RESIZE,(e=>{this.emitFirstVideoFrameEvent(WP.RESIZE),this.emit("video-size-changed",Xb({userId:this.userId,streamType:2===this.mediaType?"auxiliary":"main"},e))}))),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this),this.onPlayerError&&this.player.on(WP.ERROR,this.onPlayerError.bind(this))}get log(){return this._log||qO}get kind(){return 1===this.mediaType?$w.AUDIO:$w.VIDEO}get isAudio(){return this.kind===$w.AUDIO}get strMediaType(){return 4===this.mediaType?$w.VIDEO:2===this.mediaType?$w.SCREEN:$w.AUDIO}get streamType(){return 2&this.mediaType?"auxiliary":"main"}get isMediaTrackActive(){return!!this.mediaTrack&&(!this.mediaTrack.muted&&"live"===this.mediaTrack.readyState&&this.mediaTrack.enabled)}play(e,t){return ow(this,null,(function*(){let r=GD(e)?e[0]:e;if(this.isPlayCalled)return this.log.info("play update options: ".concat(JSON.stringify(t))),t&&!FD(t.muted)&&this.setPlayerMute(t.muted),t&&!FD(t.objectFit)&&(this.objectFit=t.objectFit),void(this.player instanceof yx&&(this.player.setObjectFit(this.objectFit),this.container!==r&&r&&(this.container=r,this.player.setContainer(r)),GD(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!FD(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===$w.VIDEO)&&this.setPlayerMute(!0),t&&!FD(t.objectFit)&&(this.objectFit=t.objectFit),this.player instanceof yx&&(this.player.setObjectFit(this.objectFit),t&&!FD(t.poster)&&this.player.setPoster(t.poster)),this.isPlayCalled=!0,r&&(this.container=r,this.player instanceof yx&&this.player.setContainer(r)),WO.emit(GO.PLAY_TRACK_START,{track:this}),this._outputTrack){this._log.info("play with options: ".concat(JSON.stringify(t)));try{this.player.setTrack(this.playerMediaTrack),yield this.player.play(t),GD(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(aM){throw this.handleAutoPlayFailed(aM),aM}}else this.log.info("play has not mediaTrack, abort")}))}setMirror(e,t){if(this.isScreen||this.kind!==$w.VIDEO||FD(e)||e===this.mirror)return;this.mirror=e;let r=this.player;t&&(r=t);let i=this.manager;if(WD(this.mirror))return r.setViewMirror(this.mirror),void(!this.isRemote&&i&&(i.mirror=!1));switch(this.mirror){case"view":i&&(i.mirror=!1),r.setViewMirror(!0);break;case"publish":i&&(i.mirror=!0),r.setViewMirror(!0);break;case"both":i&&(i.mirror=!0),r.setViewMirror(!1)}}playSubContainer(e,t){return ow(this,null,(function*(){if(!this._outputTrack||this.kind===$w.AUDIO)return;this.subVideoPlayerMap||(this.subVideoPlayerMap=new Map),this.subVideoPlayerMap.forEach(((t,r)=>{var i;e.find((e=>r===e))||(t.stop(),null==(i=this.subVideoPlayerMap)||i.delete(r))}));for(let[i,o]of e.entries()){let e=this.subVideoPlayerMap.get(o);e?t&&(FD(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(o,new yx({id:this.userId||this.id,track:this.playerMediaTrack,container:o,muted:this.player.muted,objectFit:this.objectFit,log:this.log.createChild({id:"vp-sub".concat(i+1)})}))}let r=[...this.subVideoPlayerMap.values()];for(let e of r)e.setViewMirror(this.player.mirror),yield e.play()}))}setAudioOutput(e){return this.player.setSinkId(e)}setAudioVolume(e){this.player.setVolume(e)}getAudioLevel(){return this.player.getAudioLevel()||0}getInternalAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getInternalAudioLevel())||0}stop(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isPlayCalled&&(this.isPlayCalled=!1,this.player&&(this.log.info("stop ".concat(this.kind," player")),this.player.stop(BN(this)&&!e?this.jitterBufferDelay:0)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop()})),this.container=null)}resume(){return ow(this,null,(function*(){var e;this.isPlayCalled&&(yield null==(e=this.player)?void 0:e.resume())}))}close(){this.log.info("close"),this.isPlayCalled&&this.stop(!0)}setMute(e){this.muted=e,this._inputTrack&&(this._inputTrack.enabled=!e),this._outputTrack&&(this._outputTrack.enabled=!e),this.emit(e?"mute":"unmute",this),WO.emit(e?GO.TRACK_MUTED:GO.TRACK_UNMUTED,{track:this})}setPlayerMute(e){this.player.setMuted(e)}get mediaTrack(){return this._inputTrack||null}get outMediaTrack(){return this._outputTrack||null}get playerMediaTrack(){return this.outMediaTrack}installTrackEvent(e){zP(e,e).add($w.MUTE,this.onTrackMuted).add($w.UNMUTE,this.onTrackUnmuted).add($w.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===$w.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){KP(e)}setInputMediaStreamTrack(e){var t;let r=this._inputTrack;if(e!==r)return this._inputTrack=e,this.trackSettings=null==(t=e.getSettings)?void 0:t.call(e),e.enabled=!this.muted,r&&this.uninstallTrackEvent(r),this.installTrackEvent(e),this.emit("input-media-track-changed",e||null,r||null),this.manager?this.manager.changeInput(this):this.setOutputMediaStreamTrack(e)}setOutputMediaStreamTrack(e){var t;e!==this._outputTrack&&(this.isRemote?this.log.debug("setOutputMediaStreamTrack",e.label):this.log.info("setOutputMediaStreamTrack",null==(t=e.getSettings)?void 0:t.call(e).deviceId,e.label),this._outputTrack=e,this._inputTrack&&(this._outputTrack.contentHint=this._inputTrack.contentHint,this._outputTrack.enabled=this._inputTrack.enabled),this.updatePlayingState(!!e),this.emit("output-media-track-changed",e))}setMediaType(e){this.mediaType=e}updatePlayingState(e){if(this.isPlayCalled)if(e){if(this.player.setTrack(this.playerMediaTrack),this.player.isStopped)return this.player.play().catch((e=>this.handleAutoPlayFailed(e))),void this.log.info("playing state updated, play ".concat(this.kind))}else if(!this.player.isStopped)return this.player.stop(BN(this)?this.jitterBufferDelay:0),void this.log.info("playing state updated, stop ".concat(this.kind));this.log.debug("updatePlayingState abort ".concat(this.isPlayCalled," ").concat(e," ").concat(this.player.isStopped))}handleAutoPlayFailed(e){if(this.room&&this.room.enableAutoPlayDialog)new vx;else{let e=()=>{this.resume().then((()=>{document.removeEventListener("click",e,!0)}))};document.addEventListener("click",e,!0)}this.emit("error",e)}getVideoFrame(){return this.player instanceof yx?this.player.getVideoFrame():""}emitFirstVideoFrameEvent(e){var t,r,i;if(this.isFirstVideoFrameEmitted)return;let o=null==(t=this.mediaTrack)?void 0:t.getSettings(),n=(null==o?void 0:o.width)||(null==(r=this.player.element)?void 0:r.videoWidth)||0,a=(null==o?void 0:o.height)||(null==(i=this.player.element)?void 0:i.videoHeight)||0;e===WP.RESIZE&&!n&&!a||e===WP.LOADED_META_DATA&&!n&&!a||(e===WP.LOADED_DATA&&!n&&!a&&this._log.warn("the dimension of video is 0x0 in first-video-frame event"),this.isFirstVideoFrameEmitted=!0,SN(this.rotation)&&([n,a]=[a,n]),this.emit("first-video-frame",{width:n,height:a,streamType:this.streamType,userId:this.isRemote?this.userId:""}))}onTrackMuted(){this._log.warn("".concat(this.kind," track is unable to provide media output"))}onTrackUnmuted(){this._log.info("".concat(this.kind," track is able to provide media output"))}onTrackEnded(){this._log.warn("".concat(this.kind," track ended"))}};tw([OP([],PP.INIT,{sync:!0})],uU.prototype,"close",1);var hU=Object.prototype.hasOwnProperty;var pU=function(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(LD(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(hU.call(e,t))return!1;return!0}return!1},mU=WN({retryFunction:function(e){return ow(this,null,(function*(){let t=function(e){return{audio:_U(e),video:gU(e)}}(e);qO.info("getUserMedia with constraints: ".concat(JSON.stringify(t)));let r=[],i=[],o=["label","deviceId","groupId"];if(t.audio&&(r=yield eU(),qO.info("microphones: ".concat(hN(r.map((e=>$b(Xb({},e),{groupId:e.groupId.substring(0,8)}))),{keysToInclude:o})))),t.video&&(i=yield tU(),qO.info("cameras: ".concat(hN(i,{keysToInclude:o}))),"user"===t.video.facingMode&&!t.video.deviceId)){let e=i.filter((e=>!e.label.includes("infrared"))).find((e=>e.label.includes("facing front")));e&&(t.video.deviceId=e.deviceId,qO.info("exclude infrared camera: ".concat(JSON.stringify(t))))}try{let r=yield navigator.mediaDevices.getUserMedia(t);return oP&&r.getTracks().forEach((t=>{var r;let i=t.getCapabilities();qO.info("".concat(t.kind," capabilities: ").concat(hN(i,{keysToInclude:$C}))),!FD(e.echoCancellation)&&-1===(null==(r=i.echoCancellation)?void 0:r.indexOf(e.echoCancellation))&&qO.warn("Invalid argument for 'echoCancellation'. Expected one of [".concat(JSON.stringify(i.echoCancellation),"], but received '").concat(e.echoCancellation,"'"))})),t.audio&&Lx(),r}catch(aM){let{message:o}=aM;throw"NotFoundError"===aM.name&&(e.video&&i&&0===i.length&&(o=sL({key:iL.CAMERA_NOT_FOUND})),e.audio&&r&&0===r.length&&(o=sL({key:iL.MICROPHONE_NOT_FOUND}))),new pw({code:uw.INITIALIZE_FAILED,name:aM.name,message:o,constraint:aM.constraint})}}))},settings:{retries:3,timeout:500},onError:e=>{let{error:t,retry:r,reject:i,retryFuncArgs:o,retriedCount:n}=e,a=n+1;"NotReadableError"===t.name||"OverconstrainedError"===t.name||"AbortError"===t.name?(1===a?(o[0].video&&(o[0].maxResolution=!1,(!uO||o[0].width*o[0].height<=2073600)&&o[0].frameRate&&(o[0].frameRate=o[0].frameRate>10?10:5)),o[0].retryWhenExactFailed&&o[0].useExactDeviceId&&(o[0].useExactDeviceId=!1)):2===a?o[0].useDeviceIdOnly=!0:3===a&&!o[0].useExactDeviceId&&(o[0].useTrueAsConstraint=!0),r()):i(t),o[0].microphoneId&&fU(o[0].microphoneId,!1),o[0].cameraId&&fU(o[0].cameraId,!0)},onRetrying:e=>{qO.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:e=>{qP.logFailedEvent({eventType:wC.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{qP.logSuccessEvent({eventType:wC.GET_USER_MEDIA_RETRY}),qP.uploadEvent({log:"stat-".concat(wC.GET_USER_MEDIA_RETRY,"-success-").concat(e)})}});function fU(e,t){return ow(this,null,(function*(){let r=(t?yield tU():yield eU()).find((t=>t.deviceId===e));r&&VD(r.getCapabilities)&&qO.warn(hN(r.getCapabilities(),{keysToInclude:$C}))}))}function _U(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:e.sampleRate};return!pU(e.microphoneId)&&(t.deviceId=e.useExactDeviceId?{exact:e.microphoneId}:e.microphoneId,e.useDeviceIdOnly)?t:(HD(e.channelCount)&&(t.channelCount=e.channelCount),(WD(e.echoCancellation)||"remote-only"===e.echoCancellation||"all"===e.echoCancellation)&&(t.echoCancellation=e.echoCancellation),WD(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),WD(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!pU(t)||t)}function gU(e){if(!e.video)return!1;if(e.useTrueAsConstraint)return!0;let{maxResolution:t=!0}=e,r={};return e.cameraId?r.deviceId=e.useExactDeviceId?{exact:e.cameraId}:e.cameraId:e.facingMode&&(r.facingMode=e.facingMode),e.useDeviceIdOnly&&!pU(r)?r:(e.width&&(r.width={ideal:e.width},t&&!ak&&(r.width.max=e.width)),e.height&&(r.height={ideal:e.height},t&&!ak&&(r.height.max=e.height)),ak&&Uk&&e.width&&e.height&&e.width*e.height<101376&&(r.width=e.width,r.height=e.height),e.frameRate&&(r.frameRate=e.frameRate),!!pU(r)||r)}var EU=mU;function vU(e){return yU(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return ow(this,null,(function*(){let r=yield t.apply(this,i);return yield e.call(this,...i),r}))}))}function yU(e){return function(t,r,i){return i.value=e(i.value,r),i}}var TU=(()=>{let e=!1,t=document.visibilityState;return()=>{document.visibilityState!==t&&qO.info("visibility change: ".concat(document.visibilityState)),!e&&(document.addEventListener("visibilitychange",(()=>{qO.info("visibility change: ".concat(document.visibilityState)),t=document.visibilityState})),e=!0)}})(),IU=0,AU=class{constructor(){rw(this,"log",qO.createLogger({id:"fq".concat(++IU)})),rw(this,"isRunning",!1),rw(this,"queue",[])}get length(){return this.queue.length}get lastQueueItem(){return 0===this.length?null:this.queue[this.length-1]}push(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r,i;let o=Xb({},e),n=new Promise(((e,t)=>{o.resolve=e,o.reject=t}));return o.promise=n,t?this.length<=1?this.queue.push(o):null==(i=null==(r=this.lastQueueItem)?void 0:r.promise)||i.then(o.resolve,o.reject):this.queue.push(o),this.log.debug("push ".concat(this.length)),this.isRunning||this.callNext(),n}shift(){let e=this.queue.shift();return this.log.debug("shift ".concat(this.length)),e}callNext(){if(this.isRunning||0===this.length)return;this.log.debug("callNext ",this.length);let{fn:e,args:t,context:r,resolve:i,reject:o}=this.queue[0];this.isRunning=!0,e.apply(r,t).then(i,o).finally((()=>{this.isRunning=!1,this.shift(),this.callNext()}))}},SU=new WeakMap,RU=new WeakMap;function bU(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,r,i){let o=i.value;return i.value=function(){let t=SU.get(this)||new AU;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];return SU.set(this,t),t.push({fn:o,args:i,context:this},e)},i}}function wU(e,t){return yU(((r,i)=>function(){let i=e;try{for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let e=r.apply(this,n),s=ZD();return qD(e)?e.then((e=>(t?EL.addSuccessEvent({key:i,cost:ZD()-s}):EL.addSuccessEvent({key:i}),e))).catch((e=>{throw EL.addFailedEvent({key:i,error:e}),e})):(EL.addSuccessEvent({key:i}),e)}catch(Sw){throw EL.addFailedEvent({key:i,error:Sw}),Sw}}))}var CU={};function DU(){}Zb(CU,{Events:()=>GU,Inspect:()=>PU,LastSink:()=>xU,Sink:()=>UU,Subscribe:()=>VU,TimeoutError:()=>zU,audit:()=>QV,bindCallback:()=>wV,bindNodeCallback:()=>CV,buffer:()=>oV,bufferCount:()=>iV,bufferTime:()=>PF,call:()=>NU,catchError:()=>UF,combineLatest:()=>ZU,concat:()=>XU,concatMap:()=>AF,concatMapTo:()=>SF,count:()=>LV,create:()=>BU,debounce:()=>tF,debounceTime:()=>rF,defer:()=>sV,delay:()=>xF,deliver:()=>HU,dispose:()=>OU,elementAt:()=>iF,empty:()=>kV,every:()=>cF,exhaustMap:()=>kF,exhaustMapTo:()=>OF,expand:()=>FF,filter:()=>VV,find:()=>oF,findIndex:()=>nF,first:()=>aF,fromAnimationFrame:()=>RV,fromArray:()=>mV,fromEvent:()=>vV,fromEventPattern:()=>EV,fromFetch:()=>TV,fromIterable:()=>IV,fromPromise:()=>yV,fromReadableStream:()=>SV,fromReader:()=>AV,groupBy:()=>MF,identity:()=>kU,ignoreElements:()=>FV,iif:()=>QU,inspect:()=>MU,interval:()=>fV,last:()=>sF,map:()=>hF,mapTo:()=>pF,max:()=>PV,merge:()=>YU,mergeMap:()=>wF,mergeMapTo:()=>CF,min:()=>xV,never:()=>DV,nothing:()=>DU,of:()=>pV,pairwise:()=>dF,pipe:()=>FU,race:()=>JU,range:()=>bV,reduce:()=>MV,retry:()=>zF,scan:()=>lF,setAsapScheduler:()=>uV,share:()=>qU,shareReplay:()=>$U,skip:()=>GV,skipUntil:()=>zV,skipWhile:()=>KV,startWith:()=>tV,subject:()=>aV,subscribe:()=>WF,sum:()=>UV,switchMap:()=>EF,switchMapTo:()=>yF,take:()=>BV,takeLast:()=>jV,takeUntil:()=>HV,takeWhile:()=>WV,tap:()=>jF,throttle:()=>XV,throwError:()=>NV,timeInterval:()=>LF,timeout:()=>GF,timer:()=>_V,toPromise:()=>BF,toReadableStream:()=>HF,withLatestFrom:()=>rV,zip:()=>eV});var NU=e=>e(),kU=e=>e;function OU(){this.dispose()}var MU=()=>"undefined"!=typeof __FASTRX_DEVTOOLS__,LU=1,PU=class extends Function{toString(){return"".concat(this.name,"(").concat(this.args.length?[...this.args].join(", "):"",")")}subscribe(e){let t=new jU(e,this,this.streamId++);return GU.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},xU=class{constructor(){this.defers=new Set,this.disposed=!1}next(e){}complete(){this.dispose()}error(e){this.dispose()}get bindDispose(){return()=>this.dispose()}dispose(){this.disposed=!0,this.complete=DU,this.error=DU,this.next=DU,this.dispose=DU,this.subscribe=DU,this.doDefer()}subscribe(e){return e instanceof PU?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(NU),this.defers.clear()}defer(e){this.defers.add(e)}removeDefer(e){this.defers.delete(e)}reset(){this.disposed=!1,delete this.complete,delete this.next,delete this.dispose,delete this.next,delete this.subscribe}resetNext(){delete this.next}resetComplete(){delete this.complete}resetError(){delete this.error}},UU=class extends xU{constructor(e){super(),this.sink=e,e.defer(this.bindDispose)}next(e){this.sink.next(e)}complete(){this.sink.complete()}error(e){this.sink.error(e)}},VU=class extends xU{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DU,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:DU,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:DU;if(super(),this._next=t,this._error=r,this._complete=i,this.then=DU,e instanceof PU){let o={toString:()=>"subscribe",id:0,source:e};this.defer((()=>{GU.defer(o,0)})),GU.create(o),GU.pipe(o),this.sourceId=o.id,this.subscribe(e),GU.subscribe({id:o.id,end:!0}),t==DU?this._next=e=>GU.next(o,0,e):this.next=e=>{GU.next(o,0,e),t(e)},i==DU?this._complete=()=>GU.complete(o,0):this.complete=()=>{this.dispose(),GU.complete(o,0),i()},r==DU?this._error=e=>GU.complete(o,0,e):this.error=e=>{this.dispose(),GU.complete(o,0,e),r(e)}}else this.subscribe(e)}next(e){this._next(e)}complete(){this.dispose(),this._complete()}error(e){this.dispose(),this._error(e)}};function FU(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return r.reduce(((e,t)=>t(e)),e)}function BU(e,t,r){if(MU()){let i=Object.defineProperties(Object.setPrototypeOf(e,PU.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:r,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});GU.create(i);for(let e=0;e<r.length;e++){let t=r[e];"function"==typeof t&&t instanceof PU&&GU.addSource(i,t)}return i}return e}function HU(e,t){return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return r=>{if(r instanceof PU){let o=BU((t=>{let n=new e(t,...i);n.sourceId=o.id,n.subscribe(r)}),t,arguments);return o.source=r,GU.pipe(o),o}return t=>r(new e(t,...i))}}}function WU(e,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:e,payload:t}})}var jU=class extends UU{constructor(e,t,r){super(e),this.source=t,this.id=r,this.sourceId=e.sourceId,this.defer((()=>{GU.defer(this.source,this.id)}))}next(e){GU.next(this.source,this.id,e),this.sink.next(e)}complete(){GU.complete(this.source,this.id),this.sink.complete()}error(e){GU.complete(this.source,this.id,e),this.sink.error(e)}},GU={addSource(e,t){WU("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,r){WU("next",{id:e.id,streamId:t,data:r&&r.toString()})},subscribe(e,t){let{id:r,end:i}=e;WU("subscribe",{id:r,end:i,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,r){WU("complete",{id:e.id,streamId:t,err:r?r.toString():null})},defer(e,t){WU("defer",{id:e.id,streamId:t})},pipe(e){WU("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){WU("update",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=LU++),WU("create",{name:e.toString(),id:e.id})}},zU=class extends Error{constructor(e){super("timeout after ".concat(e,"ms")),this.timeout=e}},KU=class extends xU{constructor(e){super(),this.source=e,this.sinks=new Set}add(e){e.defer((()=>this.remove(e))),1===this.sinks.add(e).size&&(this.reset(),this.subscribe(this.source))}remove(e){this.sinks.delete(e),0===this.sinks.size&&this.dispose()}next(e){this.sinks.forEach((t=>t.next(e)))}complete(){this.sinks.forEach((e=>e.complete())),this.sinks.clear()}error(e){this.sinks.forEach((t=>t.error(e))),this.sinks.clear()}};function qU(){return e=>{let t=new KU(e);if(e instanceof PU){let r=BU((e=>{t.add(e)}),"share",arguments);return t.sourceId=r.id,r.source=e,GU.pipe(r),r}return BU(t.add.bind(t),"share",arguments)}}function YU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return BU((e=>{let r=new UU(e),i=t.length;r.complete=()=>{0==--i&&e.complete()},t.forEach(r.bindSubscribe)}),"merge",arguments)}function JU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return BU((e=>{let r=new Map;t.forEach((t=>{let i=new UU(e);r.set(t,i),i.complete=()=>{r.delete(t),0===r.size?e.complete():i.dispose()},i.next=e=>{r.delete(t),r.forEach((e=>e.dispose())),i.resetNext(),i.resetComplete(),i.next(e)}})),t.forEach((e=>r.get(e).subscribe(e)))}),"race",arguments)}function XU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return BU((e=>{let r=0,i=t.length,o=new UU(e);o.complete=()=>{r<i&&!o.disposed?(o.doDefer(),o.subscribe(t[r++])):e.complete()},o.complete()}),"concat",arguments)}function $U(e){return t=>{let r=new KU(t),i=[];return r.next=function(t){i.push(t),i.length>e&&i.shift(),this.sinks.forEach((e=>e.next(t)))},BU((e=>{e.defer((()=>r.remove(e))),i.forEach((t=>e.next(t))),r.add(e)}),"shareReplay",arguments)}}function QU(e,t,r){return BU((i=>e()?t(i):r(i)),"iif",arguments)}function ZU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return BU((e=>{let r=t.length,i=r,o=r,n=new Array(r),a=()=>{0==--o&&e.complete()};t.forEach(((t,r)=>{let o=new UU(e);o.next=t=>{i--,o.next=t=>{n[r]=t,0===i&&e.next(n)},o.next(t)},o.complete=a,o.subscribe(t)}))}),"combineLatest",arguments)}function eV(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return BU((e=>{let r=t.length,i=r,o=new Array(r),n=()=>{0==--i&&e.complete()};t.forEach(((t,r)=>{let i=new UU(e),a=[];o[r]=a,i.next=t=>{a.push(t),o.every((e=>e.length))&&e.next(o.map((e=>e.shift())))},i.complete=n,i.subscribe(t)}))}),"zip",arguments)}function tV(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>BU((function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length;for(;i<o&&!r.disposed;)r.next(t[i++]);r.disposed||r.subscribe(e)}),"startWith",arguments)}var rV=HU(class extends UU{constructor(e){super(e);let t=new UU(this.sink);for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];t.next=e=>this.buffer=e,t.complete=DU,t.subscribe(ZU(...i))}next(e){this.buffer&&this.sink.next([e,...this.buffer])}},"withLatestFrom"),iV=HU(class extends UU{constructor(e,t,r){super(e),this.bufferSize=t,this.startBufferEvery=r,this.buffer=[],this.count=0,this.startBufferEvery&&(this.buffers=[[]])}next(e){this.startBufferEvery?(this.count++===this.startBufferEvery&&(this.buffers.push([]),this.count=1),this.buffers.forEach((t=>{t.push(e)})),this.buffers[0].length===this.bufferSize&&this.sink.next(this.buffers.shift())):(this.buffer.push(e),this.buffer.length===this.bufferSize&&(this.sink.next(this.buffer),this.buffer=[]))}complete(){this.buffer.length?this.sink.next(this.buffer):this.buffers.length&&this.buffers.forEach((e=>this.sink.next(e))),super.complete()}},"bufferCount"),oV=HU(class extends UU{constructor(e,t){super(e),this.buffer=[];let r=new UU(e);r.next=t=>{e.next(this.buffer),this.buffer=[]},r.complete=DU,r.subscribe(t)}next(e){this.buffer.push(e)}complete(){this.buffer.length&&this.sink.next(this.buffer),super.complete()}},"buffer"),nV=function(e,t,r,i){return new(r||(r=Promise))((function(o,n){function a(e){try{c(i.next(e))}catch(t){n(t)}}function s(e){try{c(i.throw(e))}catch(t){n(t)}}function c(e){e.done?o(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((i=i.apply(e,t||[])).next())}))};function aV(e){let t=arguments,r=qU()(BU((t=>{r.next=e=>t.next(e),r.complete=()=>t.complete(),r.error=e=>t.error(e),e&&t.subscribe(e)}),"subject",t));return r.next=DU,r.complete=DU,r.error=DU,r}function sV(e){return BU((t=>t.subscribe(e())),"defer",arguments)}var cV={promise:e=>{Promise.resolve().then(e)},setImmediate:"undefined"!=typeof setImmediate?e=>setImmediate(e):null,setTimeout:e=>setTimeout(e,0)},lV="undefined"!=typeof Promise?cV.promise:cV.setImmediate?cV.setImmediate:cV.setTimeout,dV=e=>t=>{lV((()=>e(t)))},uV=e=>{"function"==typeof e?lV=e:cV[e]&&(lV=cV[e])},hV=e=>dV((t=>{for(let r=0;!t.disposed&&r<e.length;r++)t.next(e[r]);t.complete()}));function pV(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return BU(hV(t),"of",arguments)}function mV(e){return BU(hV(e),"fromArray",arguments)}function fV(e){return BU((t=>{let r=0,i=setInterval((()=>t.next(r++)),e);return t.defer((()=>{clearInterval(i)})),"interval"}),"interval",arguments)}function _V(e,t){return BU((r=>{let i=0,o=setTimeout((()=>{if(r.removeDefer(n),r.next(i++),t){let e=setInterval((()=>r.next(i++)),t);r.defer((()=>{clearInterval(e)}))}else r.complete()}),e),n=()=>clearTimeout(o);r.defer(n)}),"timer",arguments)}function gV(e,t){return r=>{let i=e=>r.next(e);r.defer((()=>t(i))),e(i)}}function EV(e,t){return BU(gV(e,t),"fromEventPattern",arguments)}function vV(e,t){if("on"in e&&"off"in e)return BU(gV((r=>e.on(t,r)),(r=>e.off(t,r))),"fromEvent",arguments);if("addListener"in e&&"removeListener"in e)return BU(gV((r=>e.addListener(t,r)),(r=>e.removeListener(t,r))),"fromEvent",arguments);if("addEventListener"in e)return BU(gV((r=>e.addEventListener(t,r)),(r=>e.removeEventListener(t,r))),"fromEvent",arguments);throw"target is not a EventDispachter"}function yV(e){return BU((t=>{e.then(t.next.bind(t),t.error.bind(t))}),"fromPromise",arguments)}function TV(e,t){return BU(sV((()=>yV(fetch(e,t)))),"fromFetch",arguments)}function IV(e){return BU(dV((t=>{try{for(let r of e){if(t.disposed)return;t.next(r)}t.complete()}catch(Aw){t.error(Aw)}})),"fromIterable",arguments)}function AV(e){let t=r=>nV(this,void 0,void 0,(function*(){if(r.disposed)return;let{done:i,value:o}=yield e.read();i?r.complete():(r.next(o),t(r))}));return BU((e=>{t(e)}),"fromReader",arguments)}function SV(e){return BU((t=>{let r=new AbortController,i=r.signal;t.defer((()=>r.abort("cancelled"))),e.pipeTo(new WritableStream({write(e){t.next(e)},close(){t.complete()},abort(e){t.error(e)}}),{signal:i}).then((()=>t.complete()),(e=>t.error(e)))}),"fromReadableStream",arguments)}function RV(){return BU((e=>{let t=requestAnimationFrame((function r(i){e.disposed||(e.next(i),t=requestAnimationFrame(r))}));e.defer((()=>cancelAnimationFrame(t)))}),"fromAnimationFrame",arguments)}function bV(e,t){return BU((function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t+e;for(;i<o&&!r.disposed;)r.next(i++);return r.complete(),"range"}),"range",arguments)}function wV(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return BU((r=>{let o=i.concat((e=>(r.next(e),r.complete())));e.apply(t,o)}),"bindCallback",arguments)}function CV(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return BU((r=>{let o=i.concat(((e,t)=>e?r.error(e):(r.next(t),r.complete())));e.apply(t,o)}),"bindNodeCallback",arguments)}function DV(){return BU((()=>{}),"never",arguments)}function NV(e){return BU((t=>t.error(e)),"throwError",arguments)}function kV(){return BU((e=>e.complete()),"empty",arguments)}var OV=class extends UU{constructor(e,t,r){super(e),this.f=t;let i=()=>{this.sink.next(this.acc),this.sink.complete()};void 0===r?this.next=e=>{this.acc=e,this.complete=i,this.resetNext()}:(this.acc=r,this.complete=i)}next(e){this.acc=this.f(this.acc,e)}},MV=HU(OV,"reduce"),LV=e=>HU(OV,"count")(((t,r)=>e(r)?t+1:t),0),PV=()=>HU(OV,"max")(Math.max),xV=()=>HU(OV,"min")(Math.min),UV=()=>HU(OV,"sum")(((e,t)=>e+t),0),VV=HU(class extends UU{constructor(e,t,r){super(e),this.filter=t,this.thisArg=r}next(e){this.filter.call(this.thisArg,e)&&this.sink.next(e)}},"filter"),FV=HU(class extends UU{next(e){}},"ignoreElements"),BV=HU(class extends UU{constructor(e,t){super(e),this.count=t}next(e){this.sink.next(e),0==--this.count&&(this.doDefer(),this.complete())}},"take"),HV=HU(class extends UU{constructor(e,t){super(e);let r=new UU(e);r.next=()=>{r.doDefer(),e.complete()},r.complete=OU,r.subscribe(t)}},"takeUntil"),WV=HU(class extends UU{constructor(e,t){super(e),this.f=t}next(e){this.f(e)?this.sink.next(e):(this.doDefer(),this.complete())}},"takeWhile"),jV=e=>MV(((t,r)=>(t.push(r),t.length>e&&t.shift(),t)),[]),GV=HU(class extends UU{constructor(e,t){super(e),this.count=t}next(e){0==--this.count&&(this.next=super.next)}},"skip"),zV=HU(class extends UU{constructor(e,t){super(e),e.next=DU;let r=new UU(e);r.next=()=>{r.doDefer(),e.resetNext()},r.complete=OU,r.subscribe(t)}},"skipUntil"),KV=HU(class extends UU{constructor(e,t){super(e),this.f=t}next(e){this.f(e)||(this.next=super.next,this.next(e))}},"skipWhile"),qV={leading:!0,trailing:!1},YV=class extends UU{constructor(e,t,r){super(e),this.durationSelector=t,this.trailing=r}cacheValue(e){this.last=e,this.disposed&&this.throttle(e)}send(e){this.sink.next(e),this.throttle(e)}throttle(e){this.reset(),this.subscribe(this.durationSelector(e))}next(){this.complete()}complete(){this.dispose(),this.trailing&&this.send(this.last)}},JV=class extends UU{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:qV;super(e),this.durationSelector=t,this.config=r,this._throttle=new YV(this.sink,this.durationSelector,this.config.trailing),this._throttle.dispose()}next(e){this._throttle.disposed&&this.config.leading?this._throttle.send(e):this._throttle.cacheValue(e)}complete(){this._throttle.throttle=DU,this._throttle.complete(),super.complete()}},XV=HU(JV,"throttle"),$V={leading:!1,trailing:!0},QV=e=>HU(JV,"audit")(e,$V),ZV=class extends UU{next(){this.complete()}complete(){this.dispose(),this.sink.next(this.last)}},eF=class extends UU{constructor(e,t){super(e),this.durationSelector=t,this._debounce=new ZV(this.sink),this._debounce.dispose()}next(e){this._debounce.dispose(),this._debounce.reset(),this._debounce.last=e,this._debounce.subscribe(this.durationSelector(e))}complete(){this._debounce.complete(),super.complete()}},tF=HU(eF,"debounce"),rF=e=>HU(eF,"debounceTime")((t=>_V(e))),iF=HU(class extends UU{constructor(e,t,r){super(e),this.count=t,this.defaultValue=r}next(e){0==this.count--&&(this.defaultValue=e,this.doDefer(),this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("not enough elements in sequence"))}},"elementAt"),oF=e=>t=>BV(1)(KV((t=>!e(t)))(t)),nF=HU(class extends UU{constructor(e,t){super(e),this.f=t,this.i=0}next(e){this.f(e)?(this.sink.next(this.i++),this.doDefer(),this.complete()):++this.i}},"findIndex"),aF=HU(class extends UU{constructor(e,t,r){super(e),this.f=t,this.defaultValue=r,this.index=0}next(e){(!this.f||this.f(e,this.index++))&&(this.defaultValue=e,this.doDefer(),this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"first"),sF=HU(class extends UU{constructor(e,t,r){super(e),this.f=t,this.defaultValue=r,this.index=0}next(e){(!this.f||this.f(e,this.index++))&&(this.defaultValue=e)}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"last"),cF=HU(class extends UU{constructor(e,t){super(e),this.predicate=t,this.index=0}next(e){this.predicate(e,this.index++)?this.result=!0:(this.result=!1,this.doDefer(),this.complete())}complete(){void 0!==this.result?(this.sink.next(this.result),super.complete()):this.error(new Error("no elements in sequence"))}},"every"),lF=HU(class extends UU{constructor(e,t,r){super(e),this.f=t,void 0===r?this.next=e=>{this.acc=e,this.resetNext(),this.sink.next(this.acc)}:this.acc=r}next(e){this.sink.next(this.acc=this.f(this.acc,e))}},"scan"),dF=HU(class extends UU{constructor(){super(...arguments),this.hasLast=!1}next(e){this.hasLast?this.sink.next([this.last,e]):this.hasLast=!0,this.last=e}},"pairwise"),uF=class extends UU{constructor(e,t,r){super(e),this.mapper=t,this.thisArg=r}next(e){super.next(this.mapper.call(this.thisArg,e))}},hF=HU(uF,"map"),pF=e=>HU(uF,"mapTo")((t=>e)),mF=class extends UU{constructor(e,t,r){super(e),this.data=t,this.context=r}next(e){let t=this.context.combineResults;t?this.sink.next(t(this.data,e)):this.sink.next(e)}tryComplete(){this.context.resetComplete(),this.dispose()}},fF=class e extends UU{constructor(e,t,r){super(e),this.makeSource=t,this.combineResults=r,this.index=0}subInner(t,r){let i=this.currentSink=new r(this.sink,t,this);this.complete===e.prototype.complete&&(this.complete=this.tryComplete),i.complete=i.tryComplete,i.subscribe(this.makeSource(t,this.index++))}complete(){this.sink.complete()}tryComplete(){this.currentSink.resetComplete(),this.dispose()}},_F=class extends mF{},gF=class extends fF{next(e){this.subInner(e,_F),this.next=e=>{this.currentSink.dispose(),this.subInner(e,_F)}}},EF=HU(gF,"switchMap");function vF(e){return(t,r)=>e((()=>t),r)}var yF=vF(HU(gF,"switchMapTo")),TF=class extends mF{tryComplete(){this.dispose(),this.context.sources.length?this.context.subNext():(this.context.resetNext(),this.context.resetComplete())}},IF=class extends fF{constructor(){super(...arguments),this.sources=[],this.next2=this.sources.push.bind(this.sources)}next(e){this.next2(e),this.subNext()}subNext(){this.next=this.next2,this.subInner(this.sources.shift(),TF),this.disposed&&0===this.sources.length&&this.currentSink.resetComplete()}tryComplete(){0===this.sources.length&&this.currentSink.resetComplete(),this.dispose()}},AF=HU(IF,"concatMap"),SF=vF(HU(IF,"concatMapTo")),RF=class extends mF{tryComplete(){this.context.inners.delete(this),super.dispose(),0===this.context.inners.size&&this.context.resetComplete()}},bF=class extends fF{constructor(){super(...arguments),this.inners=new Set}next(e){this.subInner(e,RF),this.inners.add(this.currentSink)}tryComplete(){1===this.inners.size?this.inners.forEach((e=>e.resetComplete())):this.dispose()}},wF=HU(bF,"mergeMap"),CF=vF(HU(bF,"mergeMapTo")),DF=class extends mF{dispose(){this.context.resetNext(),super.dispose()}},NF=class extends fF{next(e){this.next=DU,this.subInner(e,DF)}},kF=HU(NF,"exhaustMap"),OF=vF(HU(NF,"exhaustMapTo")),MF=HU(class extends UU{constructor(e,t){super(e),this.f=t,this.groups=new Map}next(e){let t=this.f(e),r=this.groups.get(t);void 0===r&&(r=aV(),r.key=t,this.groups.set(t,r),super.next(r)),r.next(e)}complete(){this.groups.forEach((e=>e.complete())),super.complete()}error(e){this.groups.forEach((t=>t.error(e))),super.error(e)}},"groupBy"),LF=HU(class extends UU{constructor(){super(...arguments),this.start=new Date}next(e){this.sink.next({value:e,interval:Number(new Date)-Number(this.start)}),this.start=new Date}},"timeInterval"),PF=HU(class extends UU{constructor(e,t){super(e),this.miniseconds=t,this.buffer=[],this.id=setInterval((()=>{this.sink.next(this.buffer.concat()),this.buffer.length=0}),this.miniseconds)}next(e){this.buffer.push(e)}complete(){this.sink.next(this.buffer),super.complete()}dispose(){clearInterval(this.id),super.dispose()}},"bufferTime"),xF=HU(class extends UU{constructor(e,t){super(e),this.buffer=[],this.delayTime=t}dispose(){clearTimeout(this.timeoutId),super.dispose()}delay(e){this.timeoutId=setTimeout((()=>{let e=this.buffer.shift();if(e){let{time:t,data:r}=e;super.next(r),this.buffer.length&&this.delay(Number(this.buffer[0].time)-Number(t))}}),e)}next(e){this.buffer.length||this.delay(this.delayTime),this.buffer.push({time:new Date,data:e})}complete(){this.timeoutId=setTimeout((()=>super.complete()),this.delayTime)}},"delay"),UF=HU(class extends UU{constructor(e,t){super(e),this.selector=t}error(e){this.dispose(),this.selector(e)(this.sink)}},"catchError"),VF=class extends mF{tryComplete(){let e=this.context.inners.delete(this);super.dispose(),e&&this.context.checkComplete()}next(e){this.sink.next(e),this.context.expandValue(e)}},FF=HU(class extends fF{constructor(e,t){super(e,t),this.project=t,this.inners=new Set,this.sourceCompleted=!1}next(e){this.sink.next(e),this.expandValue(e)}expandValue(e){let t=new VF(this.sink,e,this);this.currentSink=t,this.complete=this.tryComplete,t.complete=t.tryComplete,this.inners.add(t),t.subscribe(this.makeSource(e,this.index++))}complete(){this.sourceCompleted=!0,this.checkComplete()}checkComplete(){this.sourceCompleted&&0===this.inners.size&&(this.resetComplete(),super.complete())}tryComplete(){this.sourceCompleted=!0,this.checkComplete()}},"expand"),BF=()=>e=>new Promise(((t,r)=>{let i;new VU(e,(e=>i=e),r,(()=>t(i)))})),HF=()=>e=>{let t;return new ReadableStream({start(r){t=new VU(e,r.enqueue.bind(r),r.error.bind(r),r.close.bind(r))},cancel(){t.dispose()}})},WF=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:DU,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:DU,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:DU;return i=>new VU(i,e,t,r)},jF=HU(class extends UU{constructor(e,t){super(e),t instanceof Function?this.next=r=>{t(r),e.next(r)}:(t.next&&(this.next=r=>{t.next(r),e.next(r)}),t.complete&&(this.complete=()=>{t.complete(),e.complete()}),t.error&&(this.error=r=>{t.error(r),e.error(r)}))}},"tap"),GF=HU(class extends UU{constructor(e,t){super(e),this.timeout=t,this.id=setTimeout((()=>this.error(new zU(this.timeout))),this.timeout)}next(e){super.next(e),clearTimeout(this.id),this.next=super.next}dispose(){clearTimeout(this.id),super.dispose()}},"timeout"),zF=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;return t=>{if(t instanceof PU){let r=BU((i=>{let o=e,n=new UU(i);n.error=e=>{o-- >0?n.subscribe(t):i.error(e)},n.sourceId=r.id,n.subscribe(t)}),"retry",[e]);return r.source=t,GU.pipe(r),r}return r=>{let i=e,o=new UU(r);o.error=e=>{i-- >0?t(o):r.error(e)},t(o)}}},KF=(e=>(e[e.AUTO_SWITCH_NEW_DEVICE=0]="AUTO_SWITCH_NEW_DEVICE",e[e.WAIT_CURRENT_DEVICE=1]="WAIT_CURRENT_DEVICE",e))(KF||{}),qF=class e extends uU{constructor(e,t){super({mediaType:e,PlayerClass:t}),rw(this,"isRemote",!1),rw(this,"deviceId"),rw(this,"groupId",""),rw(this,"label",""),rw(this,"sourceTrack"),rw(this,"enableAutoSwitchWhenRecapturing",!0),rw(this,"_isRecapturing",!1),rw(this,"_lastRecaptureTime",0),rw(this,"_onMuteTimeoutId",-1),rw(this,"_encodeCheckTimeoutId",-1),rw(this,"recaptureMode",0),rw(this,"profile"),rw(this,"retryEncodeFailed")}get enableEncodeFrame(){return!1}get isPublishing(){return"publishing"===this.state.toString()}get isPublished(){return"publish"===this.state}get isUseCustomSource(){return this.sourceTrack&&this.mediaTrack&&this.sourceTrack!==this.mediaTrack}encodeFrame(e,t){throw new Error("Method not implemented.")}installTrackEvent(e){zP(e,e).add($w.MUTE,this.onTrackMuted).add($w.UNMUTE,this.onTrackUnmuted).add($w.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===$w.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){KP(e)}setStateToReady(){}capture(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return ow(this,null,(function*(){var r;let i=this.sourceTrack;try{let i,o=ZD();WO.emit(GO.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(i=new MediaStream,i.addTrack(e.customSource)):(t||null==(r=this.sourceTrack)||r.stop(),i=yield EU(e));let n=i.getTracks()[0];return yield this.setInputMediaStreamTrack(n),e.customSource||(this.sourceTrack=n,this.updateDeviceIdInUse(),this.listenDeviceChange()),WO.emit(GO.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this,cost:ZD()-o}),i}catch(Sw){throw WO.emit(GO.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:Sw}),this.log.error("getUserMedia error observed ".concat(Sw)),Sw}finally{t&&(null==i||i.stop())}}))}setOutputMediaStreamTrack(e){var t;if(super.setOutputMediaStreamTrack(e),this.setStateToReady(),this.isPublishing||this.isPublished)return null==(t=this.room)?void 0:t.replaceTrack(this)}get hasFlag(){var e,t;let r=oN((null==(e=this.room)?void 0:e.localPublishFlag)||0,(null==(t=this.room)?void 0:t.userId)||"");return 4===this.mediaType&&r.hasVideo||1===this.mediaType&&r.hasAudio||2===this.mediaType&&r.hasAuxiliary}publish(e,t){return this.room=e,this.emit("4",{mediaType:this.strMediaType,state:"starting",prevState:"stopped"}),this.userId=e.userId,this._log.setUserId(e.userId),this._log.setSdkAppId(e.sdkAppId),Promise.all([t,new Promise(((t,r)=>ow(this,null,(function*(){var i,o;this.hasFlag?t():FU(vV(e,"local-publish-flag-changed"),VV((()=>this.hasFlag)),HV(YU(vV(this,PP.INIT),vV(this,"ready"))),WF(t)),!(((null==(o=null==(i=this.room)?void 0:i.networkQuality)?void 0:o.uplinkNetworkQuality)||0)>3)&&(this._encodeCheckTimeoutId=setTimeout((()=>ow(this,null,(function*(){var e,t,i,o,n,a;if(!(((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&(this.isPublished||this.isPublishing)&&this.isMediaTrackActive){let e=this.kind===$w.AUDIO,t=this.stat.bytesSent>0;if(EL[t?"addSuccessEvent":"addFailedEvent"]({key:e?503700:513702}),!e){let e={H264:513704,H265:513705,VP8:513706}[(null==(o=null==(i=this.room)?void 0:i.videoCodec)?void 0:o.toUpperCase())||"H264"];e&&EL[t?"addSuccessEvent":"addFailedEvent"]({key:e})}if(!t){if(EL.addEnum({key:e?503701:513703,value:xO()}),qP.uploadEvent({log:"stat-encode-failed-".concat(this.kind,"-").concat(OO()||VO()),userId:this.userId}),this.log.warn(e?"encode failed":"".concat(null==(a=null==(n=this.room)?void 0:n.videoCodec)?void 0:a.toUpperCase()," encode failed")),this.retryEncodeFailed&&(this.log.warn("retry encode"),yield this.retryEncodeFailed(this),this.stat.bytesSent>0||this.hasFlag||(yield vN(5e3),this.stat.bytesSent>0||this.hasFlag)))return;this.emit("6",this),r(new pw({message:"".concat(this.strMediaType," encode failed"),code:e?uw.AUDIO_ENCODE_FAILED:uw.VIDEO_ENCODE_FAILED}))}}}))),5e3))}))))])}unpublish(){this.room&&this.room.localTracks.delete(this),WO.emit(GO.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return ow(this,null,(function*(){if(this.sourceTrack&&iP){let{deviceId:e,groupId:t}=this.sourceTrack.getSettings(),{label:r}=this.sourceTrack;(yield function(e){return ow(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:r,oldGroupId:i,oldLabel:o,kind:n}=e;return function*(){return t===r&&(n!==$w.AUDIO||t!==GC||(yield nU(i,o)))}()}))}({newDeviceId:e,oldDeviceId:this.deviceId,oldGroupId:this.groupId,oldLabel:this.label,kind:this.kind}))||(this.deviceId=e,this.label=r,t&&(this.groupId=t),Zx().then((r=>{let i=r.find((r=>{let i=r.deviceId===e;return t&&(i=i&&r.groupId===t),i}));i&&this.emit("2",i)})))}}))}setProfile(e){this.log.info("setProfile",e),Object.assign(this.profile,e)}isNeedToRecapture(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!(!this.deviceId||!this.sourceTrack||this.kind===$w.AUDIO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;let t=e.label.toLocaleLowerCase();if(t.includes("mic")||t.includes("麦克风"))return!0;let r="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat($w.AUDIO_INPUT);return!!oU.has(r)}(this.sourceTrack)||this.kind===$w.VIDEO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;let t=e.label.toLocaleLowerCase();if(t.includes("camera")||t.includes("webcam"))return!0;let r="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat($w.VIDEO_INPUT);return!!oU.has(r)}(this.sourceTrack)||this._isRecapturing||e&&Uk&&uO)}onTrackMuted(){if(super.onTrackMuted(),TU(),this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTime<XC)return void setTimeout((()=>this.onTrackMuted()),XC);this._onMuteTimeoutId=setTimeout((()=>ow(this,null,(function*(){var e;if(null!=(e=this.sourceTrack)&&e.muted){if((tk||rk)&&"visible"!==document.visibilityState)return;this.recapture(yield this.getRecoverCaptureDeviceId())}}))),5e3)}}onTrackUnmuted(){super.onTrackUnmuted(),this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return ow(this,null,(function*(){if(iw(e.prototype,this,"onTrackEnded").call(this),this.isNeedToRecapture()&&0===this.recaptureMode){if(Date.now()-this._lastRecaptureTime<XC)return void setTimeout((()=>this.onTrackEnded()),XC);this.emit("7"),this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return ow(this,null,(function*(){var r;if(this._isRecapturing||!this.sourceTrack)return;this.log.warn("recapture trying");let i=this.sourceTrack;t||null==(r=this.sourceTrack)||r.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now();let o={useExactDeviceId:!0};if("user"===e||"environment"===e)o.facingMode=e;else{let t;("audio"===this.kind?yield eU():yield tU()).find((t=>t.deviceId===e))&&(t=e),o.deviceId=t}return this.capture(o,t).then((()=>{this._isRecapturing=!1,this.log.warn("recapture success"),this.emit("1",{deviceId:this.deviceId}),WO.emit(GO.LOCAL_TRACK_RECAPTURE,{track:this})})).catch((e=>{this._isRecapturing=!1,this.log.warn("recapture failed ".concat(e.message)),this.emit("5",e),WO.emit(GO.LOCAL_TRACK_RECAPTURE,{track:this,error:e})})).finally((()=>{t&&(null==i||i.stop())}))}))}getRecoverCaptureDeviceId(){return ow(this,null,(function*(){let e=this instanceof eB;if(e&&this.facingMode)return this.facingMode;let{deviceId:t}=this;if(t){let r=(JF.get(t)||0)+1;if(JF.set(t,r),r>=3&&this.enableAutoSwitchWhenRecapturing){let i=e?(yield tU()).find((e=>!JF.has(e.deviceId))):(yield eU()).find((e=>!JF.has(e.deviceId)));i&&(this.log.warn("".concat(t," capture fail ").concat(r," times, change new ").concat(i.deviceId)),t=i.deviceId)}}return t}))}stopCapture(){var e;this.sourceTrack&&(this.sourceTrack.stop(),this.uninstallTrackEvent(this.sourceTrack)),null==(e=this.manager)||e.removeInput(this)}close(){super.close(),this.stopCapture()}};tw([OP(PP.INIT,"ready",{ignoreError:!0,sync:!0})],qF.prototype,"setStateToReady",1),tw([bU()],qF.prototype,"capture",1),tw([OP("ready","publish",{ignoreError:!0,success(){this.room.localTracks.add(this),WO.emit(GO.LOCAL_TRACK_PUBLISHED,{track:this,room:this.room}),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"})},fail(e){let t="error";if(e.cause instanceof pw){let r=e.cause;r.message.includes("timeout")?t="timeout":r.code===uw.API_CALL_ABORTED&&(t="api-call")}this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:e.cause||e})}}),wU(521714,!1)],qF.prototype,"publish",1),tw([yU((e=>function(){return ow(this,null,(function*(){let t="publish"===this.state?"started":"starting";e.call(this),this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:t,reason:"api-call"}),clearTimeout(this._encodeCheckTimeoutId)}))})),OP([],"ready",{sync:!0})],qF.prototype,"unpublish",1);var YF=qF,JF=new Map;WO.on(GO.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&JF.delete(e.track.deviceId)}));var XF=class e extends YF{constructor(e){super(1,lU),rw(this,"mediaType",1),rw(this,"volume",0),rw(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),rw(this,"playerMuted",!0),rw(this,"pipeline"),rw(this,"earMonitorGainNode",new xx),rw(this,"_output",new xx),rw(this,"codecPipeline",[]),rw(this,"stat",{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0}),rw(this,"mixedAudioReferenceMap",new Map),rw(this,"isAudioContextLongSuspended",!1),this.manager=e,this.pipeline=new Fx(e),this.pipeline.source.pipeTo(this.player.pipeline.volumeMeter),this.pipeline.gain.pipeTo(this.earMonitorGainNode).pipeTo(this._output),this.pipeline.gain.pipeTo(this.player.pipeline.volumeMeterAfter3A),this.handleMicrophoneAdded=this.handleMicrophoneAdded.bind(this),this.handleMicrophoneRemoved=this.handleMicrophoneRemoved.bind(this),WO.on(GO.AUDIO_CONTEXT_LONG_SUSPENDED,this.handleAudioContextLongSuspended,this)}get dbVolume(){return Kx.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}getAudioLevel(){let e=(this.volume||super.getAudioLevel())*this.captureVolume;return e>1?1:e}getInternalAudioLevelAfter3A(){if(this.pipeline.aec.node||this.pipeline.denoiser.node)return this.player.getInternalAudioLevelAfter3A()}setInputMediaStreamTrack(t){return ow(this,null,(function*(){let r=this.trackSettings||{};EL.addEnum({key:501701,value:r.channelCount||0,useUV:!1}),EL.addEnum({key:501702,value:r.sampleRate||0,useUV:!1}),EL.addEnum({key:502700,value:0});let{sampleRate:i,channelCount:o}=r;this._log.info("local audio track input ".concat(JSON.stringify({sampleRate:i,channelCount:o}))),this.pipeline.source.channelCount=o||1,this.pipeline.replaceSource(t),yield iw(e.prototype,this,"setInputMediaStreamTrack").call(this,t),this.updatePlayingState(!!t)}))}capture(t){return ow(this,arguments,(function(t){var r=this;let{deviceId:i,customSource:o,useExactDeviceId:n=!0,retryWhenExactFailed:a}=t,s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function*(){let t=yield iw(e.prototype,r,"capture").call(r,{video:!1,audio:!0,microphoneId:i,echoCancellation:r.profile.echoCancellation,autoGainControl:r.profile.autoGainControl,noiseSuppression:r.profile.noiseSuppression,sampleRate:r.profile.sampleRate,channelCount:r.profile.channelCount,useExactDeviceId:n,retryWhenExactFailed:a,customSource:o},s);return Lx(),t}()}))}switchDevice(e){return ow(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e&&!this.isUseCustomSource){if(e!==GC)return;if(yield nU(this.groupId,this.label))return}try{this.log.info("switchDevice audio to: ".concat(e)),this.sourceTrack&&this.sourceTrack.stop(),yield this.capture({deviceId:e,useExactDeviceId:!0,retryWhenExactFailed:!1}),WO.emit(GO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch microphone success")}catch(RC){throw this.log.error("switch microphone failed ".concat(RC)),this.deviceId&&this.recapture(this.deviceId),RC}}}))}listenDeviceChange(){$x&&!$x.listeners("audioInputRemoved").includes(this.handleMicrophoneRemoved)&&$x.on("audioInputRemoved",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return ow(this,null,(function*(){if(e.deviceId===this.deviceId){let t=1===this.recaptureMode;if(this.log.warn("RecaptureMode: ".concat(KF[this.recaptureMode],". Current microphone is lost: ").concat(JSON.stringify(e))),0===this.recaptureMode){HB(this.userId,{eventId:2003,param1:6,streamType:1});let e=yield eU();e[0]?this.recapture(e[0].deviceId):t=!0}t&&$x.on("audioInputAdded",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){1===this.recaptureMode&&e.deviceId!==this.deviceId||($x.off("audioInputAdded",this.handleMicrophoneAdded,this),this.log.warn("microphone added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId))}update3A(e){return ow(this,arguments,(function(e){var t=this;let{echoCancellation:r,noiseSuppression:i,autoGainControl:o}=e;return function*(){let e=t.sourceTrack||t.mediaTrack;if(!e)return;let n=e.getConstraints(),a=!1;!FD(r)&&r!==t.profile.echoCancellation&&(t.profile.echoCancellation=r,n.echoCancellation=r,a=!0),!FD(i)&&i!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=i,n.noiseSuppression=i,a=!0),!FD(o)&&o!==t.profile.autoGainControl&&(t.profile.autoGainControl=o,n.autoGainControl=o,a=!0),a&&(ak||uO?yield e.applyConstraints(n).catch((e=>t._log.warn("update3A failed: ",e))):t.deviceId&&(yield t.recapture(t.deviceId,!0)))}()}))}get captureVolume(){return this.pipeline.volume}setCaptureVolume(e){this.pipeline.setVolume(e/100),this.pipeline.gain.node&&EL.addEnum({key:502700,value:2})}setAudioVolume(e){super.setAudioVolume(0),tk&&this.player.setMuted(!0),this.earMonitorGainNode.node||(this.earMonitorGainNode.setNode(Px().createGain()),this._output.setNode(Px().destination)),this.earMonitorGainNode.node.gain.value=e}enableTrackANS(e){return this.update3A({noiseSuppression:e})}enableTrackAEC(e){if(this.sourceTrack&&!uO&&!tk)return this.update3A({echoCancellation:e})}addDenoiser(e){var t;cO<=92&&48e3!==(null==(t=this.trackSettings)?void 0:t.sampleRate)?this._log.warn("denoiser only support sampleRate 48000 before chrome 93"):(EL.addEnum({key:502700,value:1}),this.pipeline.denoiser.setNode(e),this.enableTrackANS(!1))}mixAudioReference(e,t){if(this.mixedAudioReferenceMap.has(t))return;this.log.info("mixAudioReference() => ".concat(t));let r=Wx(e);if(!r)return;let i=new xx,o=Px().createGain();o.gain.value=1;let n=new xx;i.pipeTo(n).pipeTo(this.pipeline.mixNode),i.setNode(r),n.setNode(o),this.mixedAudioReferenceMap.set(t,[i,n])}unMixAudioReference(e){let[t,r]=this.mixedAudioReferenceMap.get(e)||[];t&&(this.log.info("unMixAudioReference() => ".concat(e)),t.deleteNode(),null==r||r.deleteNode(),this.mixedAudioReferenceMap.delete(e))}setAudioReferenceVolume(e,t){let[r,i]=this.mixedAudioReferenceMap.get(e)||[];null!=i&&i.node&&(i.node.gain.value=t/100,this.log.info("setAudioReferenceVolume() => ".concat(e," ").concat(i.node.gain.value)))}addAudioProcessor(e,t,r){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e)}removeDenoiser(e){if(this.pipeline.denoiser.node===e)return this.pipeline.denoiser.deleteNode(),this.enableTrackANS(!0)}removeAudioProcessor(e){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode())}close(){this.mixedAudioReferenceMap.forEach((e=>{let[t,r]=e;t.deleteNode(),r.deleteNode()})),this.mixedAudioReferenceMap.clear(),this.pipeline.remove(),this.earMonitorGainNode.deleteNode(),this._output.deleteNode(),$x.off("audioInputAdded",this.handleMicrophoneAdded,this),$x.off("audioInputRemoved",this.handleMicrophoneRemoved,this),WO.off(GO.AUDIO_CONTEXT_LONG_SUSPENDED,this.handleAudioContextLongSuspended,this),super.close()}recapture(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return ow(this,null,(function*(){try{yield iw(e.prototype,this,"recapture").call(this,t,r)}catch(iM){let i=(yield eU()).find((e=>e.deviceId!==t));if(!i)throw iM;yield iw(e.prototype,this,"recapture").call(this,i.deviceId)}}))}encodeFrame(e){return this.manager?this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e,ntp:fw()}):e),e):e}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}handleAudioContextLongSuspended(e){let{isSuspended:t}=e;if(this.pipeline.isProcessEnabled)if(t){this.isAudioContextLongSuspended=!0,this.log.warn("context has suspended for ".concat(1.5," seconds, change to source audio").concat(hO?"":", non-Safari"));let e=this.sourceTrack||this.mediaTrack;e&&this.setOutputMediaStreamTrack(e)}else this.isAudioContextLongSuspended=!1,this.log.warn("context has resumed, change to processed audio"),this.pipeline.track&&this.setOutputMediaStreamTrack(this.pipeline.track)}setOutputMediaStreamTrack(e){if(this.isAudioContextLongSuspended){let t=this.sourceTrack||this.mediaTrack;t&&(e=t)}super.setOutputMediaStreamTrack(e)}},$F=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.dataView=e,this.isSEI&&(t?this.addPreventionByte():this.removePreventionByte())}addPreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-2,r=[],i=0;for(let n=e;n<=t;n++){let e=this.dataView.getInt8(n);switch(e){case 0:case 1:case 2:case 3:2===i&&(r.push(3),i=0),0==e?i++:i=0,r.push(e);break;default:i=0,r.push(e)}}r.push(this.dataView.getInt8(this.dataView.byteLength-1));let o=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...r]).buffer);this.dataView=o}removePreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-1,r=[],i=0;for(let n=e;n<=t;n++)switch(this.dataView.getInt8(n)){case 0:i++,r.push(this.dataView.getInt8(n));break;case 3:2!==i&&r.push(this.dataView.getInt8(n)),i=0;break;default:r.push(this.dataView.getInt8(n)),i=0}let o=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...r]).buffer);this.dataView=o}get isSEI(){return 6===this.dataView.getUint8(4)}get seiPayloadStartIndex(){let e=6;for(let t=6;t<this.dataView.buffer.byteLength&&(e++,255===this.dataView.getUint8(t));t++);return e}get seiPayloadType(){return this.isSEI?this.dataView.getUint8(5):null}get seiPayload(){if(!this.isSEI)return null;let e=0,t=6;for(let o=6;o<this.dataView.buffer.byteLength;o++){let r=this.dataView.getUint8(o);if(t++,255!==r){e+=r;break}e+=255}let r=new ArrayBuffer(e),i=new DataView(r);for(let o=0;o<r.byteLength;o++,t++)i.setInt8(o,this.dataView.getInt8(t));return i}},QF=class{constructor(){rw(this,"_seiMessageList",[]),rw(this,"_smallSeiMessageList",[]),rw(this,"_seiPayloadType",243)}encodeSEINalu(e){let t=e.byteLength,r=parseInt(String(t/255),10),i=t%255,o=[];o.push(0,0,0,1,6,this._seiPayloadType);for(let a=0;a<r;a++)o.push(255);o.push(i);let n=new DataView(e);return o.push(...new Uint8Array(n.buffer)),o.push(128),new $F(new DataView(new Uint8Array(o).buffer),!0)}sendSEI(e,t){null!=t&&t.seiPayloadType&&(this._seiPayloadType=t.seiPayloadType),this._seiMessageList.push(e),null!=t&&t.small&&this._smallSeiMessageList.push(e)}isEmpty(){return!this._seiMessageList.length}getNaluCount(e){let t=0,r=0,i=new DataView(e);for(let o=0;o<e.byteLength;o++)switch(i.getUint8(o)){case 0:t++;break;case 1:(2===t||3===t)&&r++,t=0;break;default:t=0}return r}encode(e,t){let r=t?this._smallSeiMessageList:this._seiMessageList;if(r.length>0&&e.data.byteLength>0){let t=9-this.getNaluCount(e.data);if(t<=0)return 0;let i=r.splice(0,t).reverse().map(this.encodeSEINalu.bind(this)),o=i.reduce(((e,t)=>e+t.dataView.byteLength),0),n=new ArrayBuffer(o+e.data.byteLength),a=new DataView(n),s=new DataView(e.data),c=0;for(let e=0;e<i.length;e++)for(let t=0;t<i[e].dataView.byteLength;t++)a.setInt8(c++,i[e].dataView.getInt8(t));for(let r=0;r<e.data.byteLength;r++)a.setInt8(c++,s.getInt8(r));return e.data=n,i.length}return 0}},ZF=class e extends YF{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,yx),rw(this,"profile",Xb({},Yw)),rw(this,"avoidCropping",!1),rw(this,"_scaleResolutionDownBy"),rw(this,"stat",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0,fpsCapture:0,framesCaptured:0}),rw(this,"small"),rw(this,"isNeedToSetBandwidth"),rw(this,"muteImage"),rw(this,"manager"),rw(this,"_seiCodec",new QF),this.manager=e;let t=()=>{this.isAllowed2k4k(this.profile)?this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1}):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),this.setProfile($b(Xb({},this.profile),{width:1920,height:1080})),this.applyProfile())};this.on("input-media-track-changed",t),this.on("publish",t),this.handleCameraAdded=this.handleCameraAdded.bind(this),this.handleCameraRemoved=this.handleCameraRemoved.bind(this)}get facingMode(){if(iP&&this.mediaTrack)return this.mediaTrack.getSettings().facingMode}get contentHint(){var e;return(null==(e=this._inputTrack)?void 0:e.contentHint)||""}get isQosClearFirst(){var e;return"detail"===(null==(e=this._inputTrack)?void 0:e.contentHint)}setMute(t){return ow(this,null,(function*(){var r,i,o;if(BD(t)){if(this.muteImage===t)return;yield null==(r=this.manager)?void 0:r.deleteWatermark("mute"),yield null==(i=this.manager)?void 0:i.setWatermark({x:0,y:0,width:this.settings.width,height:this.settings.height,type:"mute",zIndex:999,imageUrl:t}),this.muteImage=t,iw(e.prototype,this,"setMute").call(this,!1)}else this.muteImage&&(yield null==(o=this.manager)?void 0:o.deleteWatermark("mute"),this.muteImage=void 0),iw(e.prototype,this,"setMute").call(this,t)}))}capture(t){return ow(this,arguments,(function(t){var r=this;let{deviceId:i,facingMode:o,useExactDeviceId:n=!0,customSource:a,retryWhenExactFailed:s=!0}=t;return function*(){let t={audio:!1,video:!0,facingMode:o||r.facingMode,cameraId:i,width:r.profile.width,height:r.profile.height,frameRate:r.profile.frameRate,useExactDeviceId:n,retryWhenExactFailed:s,customSource:a};if("environment"===t.facingMode){let e=yield r.getDeviceIdWhenUsingBackCamera();e&&(t.cameraId=e)}return iw(e.prototype,r,"capture").call(r,t)}()}))}setProfile(e){let t=this.fallbackProfile(e);t.bitrate&&(this.isNeedToSetBandwidth=t.bitrate!==this.profile.bitrate),this.isAllowed2k4k(this.profile)?super.setProfile(t):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),super.setProfile($b(Xb({},this.profile),{width:1920,height:1080})))}applyProfile(){return ow(this,null,(function*(){var e;if(!this.mediaTrack)return;let{width:t=0,height:r=0}=(this.sourceTrack||this.mediaTrack).getSettings(),i=t*r,o=this.settings,n=o.height!==this.profile.height||o.width!==this.profile.width||o.frameRate!==this.profile.frameRate;if(n&&(16===EO&&this.deviceId?yield this.recapture(this.deviceId):(yield null==(e=this.sourceTrack||this.mediaTrack)?void 0:e.applyConstraints({width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate}),this.manager&&this.manager.changeInput(this)),this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1})),this.isNeedToSetBandwidth&&this.room&&this.room.setBandWidth){this.isNeedToSetBandwidth=!1;let{width:e=0,height:t=0}=(this.sourceTrack||this.mediaTrack).getSettings(),r=e*t;return n&&r&&i&&r===i?void this.log.warn("set bandwidth failed: resolution is not changed"):this.room.setBandWidth({bandwidth:this.profile.bitrate,type:$w.VIDEO,videoType:$w.BIG})}}))}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate},t=this.sourceTrack||this.mediaTrack;return iP&&t&&Object.assign(e,t.getSettings()),e}get scaleResolutionDownBy(){return this._scaleResolutionDownBy?this._scaleResolutionDownBy:AN(this.settings,this.profile)}isAllowed2k4k(e){var t;return!(this.room&&this.room.scheduleResult&&!this.isScreen&&!(e.height*e.width<3686400))||1===(null==(t=this.room.scheduleResult.trtcAutoConf)?void 0:t["2k4k"])}isNeedToSwitchDevice(e){return!(!this.mediaTrack||this.deviceId===e||this.facingMode===e)}switchDevice(e){return ow(this,null,(function*(){try{if(!this.isNeedToSwitchDevice(e)&&!this.isUseCustomSource)return;let t={useExactDeviceId:!0,retryWhenExactFailed:!1};"user"===e||"environment"===e?t.facingMode=e:t.deviceId=e,this.sourceTrack&&this.sourceTrack.stop(),yield this.capture(t),WO.emit(GO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success")}catch(RC){throw this.log.error("switch camera failed ".concat(RC)),this.deviceId&&this.recapture(this.deviceId),RC}}))}getDeviceIdWhenUsingBackCamera(){return ow(this,null,(function*(){let e;try{if(Kk&&!tO&&nP){let t=(yield tU(!0)).map((e=>{var t;return $b(Xb({},e),{capabilities:null==(t=e.getCapabilities)?void 0:t.call(e)})})).filter((e=>{var t,r;return null==(r=null==(t=e.capabilities)?void 0:t.facingMode)?void 0:r.includes("environment")})),r=t[0];t.forEach((e=>{var t,i,o,n;let{capabilities:a}=e;(null!=(t=a.width)&&t.max&&null!=(i=a.height)&&i.max?a.width.max*a.height.max:0)>(null!=(o=r.capabilities.width)&&o.max&&null!=(n=r.capabilities.height)&&n.max?r.capabilities.width.max*r.capabilities.height.max:0)&&(r=e)})),null!=r&&r.capabilities&&(this._log.info("use max resolution back camera",r),e=r.deviceId)}}catch(RC){this._log.warn("get max res camera failed",RC)}return e}))}updateSmallConfig(e){var t,r;this._log.info("update small stream config: ".concat(JSON.stringify(e)));let i=!this.small;this.small=this.fallbackProfile(e,!0),null==(t=this.manager)||t.update(),i&&(null==(r=this.room)||r.enableSmall(!0)),this.log.info("update small stream config success")}fallbackProfile(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.width>e.height,i=Xb({},e);return e.width*e.height<=19200&&rk&&nO&&(this.log.warn("".concat(t?"small ":"","resolution is ").concat(e.width,"*").concat(e.height,", fallback to 240*180 for android chrome")),i.width=r?240:180,i.height=r?180:240,i.bitrate=Math.max(e.bitrate,150)),e.width*e.height>921600&&TO&&(i.width=r?1280:720,i.height=r?720:1280,this.log.warn("reset to 1280 * 720 on iOS 13~14")),_O(fO,"14.3")&&gO(fO,"14.0",!0)&&this.on("7",(()=>{let e=this.profile.width>this.profile.height;this.profile.width*this.profile.height>307200?(this.profile.width=e?640:480,this.profile.height=e?480:640,this.log.warn("reduce the resolution to 480p on iOS 14.0 ~ 14.2")):this.profile.width*this.profile.height>230400&&(this.profile.width=e?640:360,this.profile.height=e?360:640,this.log.warn("reduce the resolution to 360p on iOS 14.0 ~ 14.2"))})),!t&&this.avoidCropping&&(nO||ak)&&!CO()&&e.width*e.height<=230400&&e.width/e.height==16/9&&(this._scaleResolutionDownBy=1280/e.width,e.width=1280,e.height=720,this.log.warn("capture 720p, scale: ".concat(this._scaleResolutionDownBy))),i}stopSmall(){var e,t;this.small&&(delete this.small,null==(e=this.manager)||e.update(),null==(t=this.room)||t.enableSmall(!1))}listenDeviceChange(){$x&&!$x.listeners("videoInputRemoved").includes(this.handleCameraRemoved)&&$x.on("videoInputRemoved",this.handleCameraRemoved,this)}handleCameraRemoved(e){return ow(this,null,(function*(){if(e.deviceId===this.deviceId){let t=1===this.recaptureMode;if(this.log.warn("RecaptureMode: ".concat(KF[this.recaptureMode],". Current camera is lost: ").concat(JSON.stringify(e))),0===this.recaptureMode){HB(this.userId,{eventId:2003,param1:7,streamType:2});let e=yield tU();e[0]?this.recapture(e[0].deviceId):t=!0}t&&$x.on("videoInputAdded",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return ow(this,null,(function*(){1===this.recaptureMode&&e.deviceId!==this.deviceId||($x.off("videoInputAdded",this.handleCameraAdded,this),this.log.warn("camera added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId))}))}encodeFrame(e,t){if(!this.manager)return e;let r=t?8:this.mediaType;return this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e,mediaType:r}):e),e)}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}play(e,t){return FD(this.mirror)&&!this.isScreen&&this.setMirror("view"),super.play(e,t)}close(){$x.off("videoInputAdded",this.handleCameraAdded,this),$x.off("videoInputRemoved",this.handleCameraRemoved,this),super.close()}recapture(t){return ow(this,null,(function*(){try{yield iw(e.prototype,this,"recapture").call(this,t)}catch(RC){let i=(yield tU()).find((e=>e.deviceId!==t));if(!i)throw RC;yield iw(e.prototype,this,"recapture").call(this,i.deviceId)}}))}setContentHint(e){this.mediaTrack&&"contentHint"in this.mediaTrack&&(this.mediaTrack.contentHint!==e&&(this.log.info("setContentHint ".concat(e)),this.mediaTrack.contentHint=e),this.outMediaTrack&&this.outMediaTrack.contentHint!==e&&(this.outMediaTrack.contentHint=e))}setRotation(e){this.manager&&(this.isScreen||FD(e)||e!==this.rotation&&(this.rotation=e,this.manager.rotation=e))}};tw([vU((function(e){this.setContentHint(e.contentHint||"motion")}))],ZF.prototype,"capture",1);var eB=ZF,tB={};Zb(tB,{REPORT_TYPE:()=>wN,buildSSOPackage:()=>CN,bytes2ms:()=>CD,calculateScaleResolutionDownNumber:()=>AN,concatArrayBuffers:()=>DN,convertObjectNumberToInt:()=>EN,copyProperties:()=>wD,deepClone:()=>cN,deepCloneBasic:()=>bN,deepMerge:()=>sN,delay:()=>vN,fibonacci:()=>PD,formatedTime:()=>uN,getConstructorName:()=>JD,getContainerFromElement:()=>dN,getEnv:()=>vD,getFirst16Bits:()=>kN,getInternalVersion:()=>tN,getLast16Bits:()=>NN,getLoggerUrl:()=>TD,getMediaStreamTrackInfo:()=>IN,getMuteStateFromFlag:()=>oN,getNetworkType:()=>AD,getNumNetworkType:()=>bD,getReconnectionTimeout:()=>xD,getStringByteLength:()=>mN,getTurnServer:()=>nN,getUint32Version:()=>gN,getValueType:()=>UD,getViewListFromView:()=>lN,glog:()=>OD,ipv4ToUint32:()=>aN,isArray:()=>GD,isAudioWorkletSupported:()=>XD,isBoolean:()=>WD,isConstructor:()=>YD,isEmpty:()=>iN,isFunction:()=>VD,isLangChinese:()=>MD,isMediaStreamTrack:()=>zD,isNumber:()=>HD,isObject:()=>jD,isOverseaSdkAppId:()=>yD,isPlainObject:()=>LD,isPortrait:()=>fN,isPromise:()=>qD,isRemoteTrack:()=>KD,isRotate90Or270:()=>SN,isSetSinkIdSupported:()=>$D,isString:()=>BD,isUndefined:()=>FD,loadImage:()=>_N,loadVideo:()=>RN,ms2bytes:()=>ND,ms2samples:()=>kD,normalizeUrl:()=>TN,performanceNow:()=>ZD,promiseAny:()=>QD,samples2ms:()=>DD,setNetworkType:()=>RD,stringify:()=>hN,stringifyIncludeValue:()=>pN,throttlePromise:()=>yN});var rB=[-1,-1,1,-1,-1,1,1,1],iB=[0,0,1,0,0,1,1,1],oB=class e extends PP{constructor(e,t){if(super(),this.context=e,rw(this,"name"),rw(this,"input"),rw(this,"output"),rw(this,"texture"),rw(this,"ctx2d",null),rw(this,"fbo"),rw(this,"width",0),rw(this,"height",0),rw(this,"x",0),rw(this,"y",0),rw(this,"program"),rw(this,"vertexShader"),rw(this,"fragmentShader"),rw(this,"totalFrames",0),rw(this,"dropFrames",0),rw(this,"matchInputSize",!0),rw(this,"texCoordBuffer"),rw(this,"positionBuffer"),rw(this,"lastInfo",{name:"",timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),rw(this,"cost",0),rw(this,"_canvas",null),rw(this,"_image"),rw(this,"log"),this.context.on("disconnect",this.close,this),this.name=t.name,this.log=t.logger,this.matchInputSize=!1!==t.matchInputSize,this.width=t.width||e.width,this.height=t.height||e.height,this._image=t.image,e instanceof TB)e.ctx&&t.create2d&&("function"==typeof OffscreenCanvas&&16!==EO?this._canvas=new OffscreenCanvas(this.width,this.height):(this._canvas=document.createElement("canvas"),this._canvas.width=this.width,this._canvas.height=this.height),this.ctx2d=this._canvas.getContext("2d"),this._image=this._canvas);else try{let r=e.ctx;this.texCoordBuffer=this.createBuffer(iB),this.positionBuffer=this.createBuffer(rB),!1!==t.createTexture&&(this.texture=r.createTexture(),this.useTexture(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.pixelStorei(r.UNPACK_ALIGNMENT,1)),t.useFbo&&(this.fbo=r.createFramebuffer(),this.useBufferFrame(),this.useTexture(),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,this.width,this.height,0,r.RGBA,r.UNSIGNED_BYTE,null),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,this.texture,0)),t.useDefaultProgram?this.program=e.defaultProgam:(t.vertexShaderSource||t.fragmentShaderSource)&&(this.vertexShader=t.vertexShaderSource?e.createShader(r.VERTEX_SHADER,t.vertexShaderSource):e.defaultVShader,this.fragmentShader=t.fragmentShaderSource?e.createShader(r.FRAGMENT_SHADER,t.fragmentShaderSource):e.defaultFShader,this.program=e.createProgram(this.vertexShader,this.fragmentShader))}catch(iM){this.context.destroy(new pw({code:uw.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(iM.message||iM)}))}}get image(){return this._image}set image(e){this._image=e}createFramebuffer(e){let t=this.context.ctx,r=t.createFramebuffer();return t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),r}connect(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return e.addInput(this,...r),this.output=e,e}addInput(e){this.input=e,this.matchInputSize&&e.width&&e.height&&this.resize(e.width,e.height)}requestFrame(e){let t=Date.now();return!!(this.context instanceof yB&&this.render(e)||this.context instanceof TB&&this.render2d(e))&&(this.totalFrames++,this.cost=Date.now()-t,!0)}render2d(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&this.draw2d(this.input.image,0,0,this.width,this.height)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;null==(t=this.output)||t.update(e)}disconnect(){for(var e,t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];null==(e=this.output)||e.removeInput(this,...r),delete this.output}removeInput(e){delete this.input}close(){var e,t;if(this.context.off("disconnect",this.close,this),null==(e=this.output)||e.removeInput(this),delete this.output,null==(t=this.input)||t.disconnect(),this.context instanceof yB){let e=this.context.ctx;e.deleteBuffer(this.texCoordBuffer),e.deleteBuffer(this.positionBuffer),this.fbo&&e.deleteFramebuffer(this.fbo),this.texture&&e.deleteTexture(this.texture),this.vertexShader&&this.vertexShader!==this.context.defaultVShader&&e.deleteShader(this.vertexShader),this.fragmentShader&&this.fragmentShader!==this.context.defaultFShader&&e.deleteShader(this.fragmentShader),this.program&&this.program!==this.context.defaultProgam&&e.deleteProgram(this.program)}this._canvas&&(this._canvas.width=0,this._canvas.height=0,this.ctx2d=null),this.removeAllListeners()}useTexture(){this.useTextures(this.texture)}useInputTexture(){var e;this.useTextures(null==(e=this.input)?void 0:e.texture)}useTextures(){let e=this.context.ctx;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];r.forEach(((t,r)=>{t&&(e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_2D,t))}))}useProgram(){this.context.ctx.useProgram(this.program)}useBufferFrame(){let e=this.context.ctx;e.bindFramebuffer(e.FRAMEBUFFER,this.fbo||null)}createBuffer(e){let t=this.context.ctx,r=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,r),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW),r}setTexBuffer(e){let t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.texCoordBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}setPosBuffer(e){let t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.positionBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}changeBufferData(e,t){let r=this.context.ctx;r.bindBuffer(r.ARRAY_BUFFER,e),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t),r.STATIC_DRAW)}setAttributes(){let e=this.context.ctx;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];r.forEach(((t,r)=>{e.enableVertexAttribArray(r),e.bindBuffer(e.ARRAY_BUFFER,t),e.vertexAttribPointer(r,2,e.FLOAT,!1,0,0)}))}getVertexPoint(e,t){return[e/this.width*2-1,t/this.height*2-1]}layout2texCoords(e){return[...this.getVertexPoint(e.x,e.y),...this.getVertexPoint(e.x+e.width,e.y),...this.getVertexPoint(e.x,e.y+e.height),...this.getVertexPoint(e.x+e.width,e.y+e.height)]}resize(e,t){if(this.width!==e||this.height!==t){if(this.width=e,this.height=t,this._canvas&&(this._canvas.width=e,this._canvas.height=t),this.texture&&this.fbo){this.useTexture();let r=this.context.ctx;r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,null)}this.output&&this.output.matchInputSize&&this.output.resize(e,t)}}draw(e,t){this.setAttributes(e||this.positionBuffer,t||this.texCoordBuffer);let r=this.context.ctx;r.drawArrays(r.TRIANGLE_STRIP,0,4)}draw2d(t,r,i,o,n,a,s,c,l){let d=!(FD(a)||FD(s)||FD(c)||FD(l));return!(!this.ctx2d||!t)&&(t instanceof ImageData?(d?this.ctx2d.putImageData(t,r,i,a,s,c,l):this.ctx2d.putImageData(t,r,i),this.emit(e.RENDER,this.ctx2d.canvas)):(d?this.ctx2d.drawImage(t,a,s,c,l,r,i,o,n):this.ctx2d.drawImage(t,r,i,o,n),this.emit(e.RENDER,t)),"undefined"!=typeof VideoFrame&&t instanceof VideoFrame&&t.close(),!0)}drawBackGround2d(e){this.ctx2d&&(this.ctx2d.save(),this.ctx2d.fillStyle=e,this.ctx2d.fillRect(0,0,this.width,this.height),this.ctx2d.restore())}getInfo(){var e;let{totalFrames:t,x:r,y:i,width:o,height:n,name:a,cost:s}=this,c=Date.now(),l=(t-this.lastInfo.totalFrames)/((c-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:t,x:r,y:i,width:o,height:n,timestamp:c,fps:l,name:a,cost:s},Xb({parent:null==(e=this.input)?void 0:e.getInfo()},this.lastInfo)}createTexture(e){let t=this.context.ctx,r=t.createTexture();return this.useTextures(r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),r}};rw(oB,"RENDER","render"),tw([OP(PP.INIT,"connected",{sync:!0})],oB.prototype,"connect",1),tw([OP("connected",PP.INIT,{ignoreError:!0,sync:!0})],oB.prototype,"disconnect",1),tw([OP([],"closed",{sync:!0})],oB.prototype,"close",1);var nB=oB,aB=FU(fV(250),hF((()=>performance.now())),qU()),sB=e=>t=>{let r=performance.now();FU(aB,KV((t=>t-r<e)),BV(1))(t)},cB=[0,1,1,1,0,0,1,0],lB=class extends nB{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},t)),rw(this,"_intervalId",0),rw(this,"_sequence",0),rw(this,"checkGLError",!1),rw(this,"checkVisibilityChange"),e instanceof TB?this.ctx2d=e.ctx||null:e.available&&null!=t&&t.mirrorUpAndDown&&this.setTexBuffer(cB)}start(e){this.log.info("".concat(this.name," start render ").concat(e," fps")),HP.clearTask(this._intervalId),this._intervalId=HP.run("intervalInWorker",(()=>{if(e!==this.context.frameRate&&(HP.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++),this.checkGLError&&this.context instanceof yB){let e=this.context.ctx.getError();e&&this.context.destroy(new pw({code:uw.VIDEO_MANAGER_ERROR,extraCode:5,message:"".concat(this.name," req ").concat(this._sequence," render ").concat(this.totalFrames," faild ").concat(e)}))}}),{fps:this.context.frameRate})}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),this.emit(nB.RENDER,this.context._canvas),!0)}addInput(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];super.addInput(e,...r),this.start(this.context.frameRate)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;"closed"!==this.state&&(this._intervalId&&(HP.clearTask(this._intervalId),this._intervalId=0,1===e&&(this.log.info("".concat(this.name," use requestVideoFrameCallback")),this.checkVisibilityChange=()=>{document.hidden&&(this.start(this.context.frameRate),this.log.info("".concat(this.name," use timer")),document.removeEventListener("visibilitychange",this.checkVisibilityChange))},document.addEventListener("visibilitychange",this.checkVisibilityChange))),this.requestFrame(this._sequence++))}removeInput(e){super.removeInput(e),HP.clearTask(this._intervalId)}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}close(){super.close(),HP.clearTask(this._intervalId),document.removeEventListener("visibilitychange",this.checkVisibilityChange)}},dB=class extends lB{constructor(e,t){super(e,t),rw(this,"_videoTrack"),rw(this,"_muteOb"),rw(this,"_closedOb",vV(this,"closed")),rw(this,"_subscription"),rw(this,"_canvasContainer"),Number(pO)<17&&(this._canvasContainer=document.createElement("div"),this._canvasContainer.style.display="none"),[this._videoTrack]=e.canvas.captureStream().getVideoTracks(),this._muteOb=vV(this._videoTrack,"mute"),FU(vV(this._videoTrack,"ended"),HV(this._closedOb),WF((()=>{this.context.destroy(new pw({code:uw.VIDEO_MANAGER_ERROR,extraCode:8,message:"video track ended"}))})))}enableCheckMute(){this._subscription=FU(this._muteOb,HV(this._closedOb),yF(sB(5e3)),VV((()=>{var e;return!(null==(e=this._videoTrack)||!e.muted||document.hidden)})),WF((()=>{this.context.destroy(new pw({code:uw.VIDEO_MANAGER_ERROR,extraCode:7,message:"video track muted"}))})))}disableCheckMute(){var e;null==(e=this._subscription)||e.dispose()}get videoTrack(){return this._videoTrack}putCanvasIntoDom(){!this.context._canvas||!this._canvasContainer||document.getElementById(this.context._canvas.id)||(this.log.info("".concat(this.name," put canvas to body")),document.body.appendChild(this._canvasContainer),this._canvasContainer.appendChild(this.context._canvas))}render(e){return this.putCanvasIntoDom(),super.render(e)}render2d(e){return this.putCanvasIntoDom(),super.render2d(e)}close(){var e,t;super.close(),null==(e=this._videoTrack)||e.stop(),delete this._videoTrack,null==(t=this._canvasContainer)||t.remove()}},uB=class extends dB{render(e){var t;let r=!(null==(t=this.input)||!t.requestFrame(e));if(this.context._canvas2d){let e=this.context._canvas2d.getContext("2d");e.clearRect(0,0,this.context._canvas2d.width,this.context._canvas2d.height),e.drawImage(this.context._canvas,0,0,this.context._canvas2d.width,this.context._canvas2d.height)}return r}},hB=class extends dB{constructor(e,t,r){super(e,{name:"smallDestination",logger:r}),this.resolution=t}resize(e,t){let r,i=e*t,o=this.resolution.width*this.resolution.height;this.log.info("big res: ".concat(e,"*").concat(t," small res: ").concat(this.resolution.width,"*").concat(this.resolution.height," ")),i>o?r=i/o:(this.log.warn("Small stream resolution is not smaller than big stream, which is invalid. big: ".concat(e," * ").concat(t," small: ").concat(this.resolution.width," * ").concat(this.resolution.height)),r=i/19200),super.resize(e/Math.sqrt(r),t/Math.sqrt(r))}},pB=class extends nB{constructor(e,t){super(e,Xb({name:"imageSource"},t)),rw(this,"_lastImage"),rw(this,"_totalFrames",0),rw(this,"_autoResize",!1),rw(this,"_canvasRendered"),rw(this,"videoCallbackId",0),rw(this,"waitingFirstFrame",!0),rw(this,"shouldUpdate",!0),this._autoResize=!1!==(null==t?void 0:t.autoResize),16===EO&&(this._canvasRendered=aV(),FU(this._canvasRendered,tV(this._image),EF((e=>e instanceof HTMLCanvasElement?vV(e,"rendered"):kV())),HV(vV(this,"closed")),WF((()=>{this.update()}))))}onFirstFrame(){this.waitingFirstFrame=!1}tryVideoFrameCallback(){if(!this.shouldUpdate)return;let e=this.image;this.videoCallbackId&&e.cancelVideoFrameCallback(this.videoCallbackId),EP()&&!document.hidden&&(this.videoCallbackId=e.requestVideoFrameCallback(((e,t)=>{this.waitingFirstFrame&&this.onFirstFrame(),document.hidden||(this._totalFrames=t.presentedFrames,this.update(1))})))}_render(e,t){var r;let{width:i,height:o}=this,{image:n}=this;if(n instanceof HTMLVideoElement){if(this.tryVideoFrameCallback(),({videoWidth:i,videoHeight:o}=n),!i||!o)return!1;n.width=i,n.height=o}else if(n instanceof HTMLImageElement||n instanceof ImageData||n instanceof ImageBitmap){if(({width:i,height:o}=n),n!==this._lastImage)this._lastImage=n;else if(i===this.width&&o===this.height)return!0}else n instanceof HTMLCanvasElement||n instanceof OffscreenCanvas?(({width:i,height:o}=n),this._lastImage=n):"undefined"!=typeof VideoFrame&&n instanceof VideoFrame&&(({displayWidth:i,displayHeight:o}=n),null==(r=this._lastImage)||r.close(),this._lastImage=n);if(!this._autoResize)return!0;if(this.width===i&&this.height===o&&this.totalFrames){if(t){this.useTexture();let e=this.context.ctx;e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,n)}}else{if(t){this.useTexture();let e=this.context.ctx;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}this.resize(i,o)}return!0}get image(){return this._image}set image(e){var t;null==(t=this._canvasRendered)||t.next(e),this._image=e}render(e){return this._render(e,!0)}render2d(e){return this._render(e,!1)}},mB=class extends pB{constructor(e,t,r){super(e,r),this._player=t,this.name="videoPlayerSource",FU(vV(this._player,WP.PLAYER_STATE_CHANGED),HV(vV(this,"closed")),VV((e=>{let{state:t}=e;return"PLAYING"===t})),WF((()=>{this.tryVideoFrameCallback()})))}get image(){return this._player.element}},fB=class extends mB{get available(){return this._player.isPlaying&&!this.waitingFirstFrame}constructor(e,t,r){super(e,new yx({id:r.name,track:t,muted:!0,container:null,objectFit:"contain",log:r.logger}),r),this.name="videoTrackSource",this._player.play()}replaceTrack(e){this.waitingFirstFrame=!0,this._player.setTrack(e),this._player.play()}close(){super.close(),this._player.stop()}},_B=class extends nB{constructor(e,t,r){super(e,$b(Xb({name:"textSource"},r),{create2d:!0})),rw(this,"hasChange",!0),rw(this,"content",""),this.ctx2d.textBaseline="top",this.content=t.content||"",t.font&&(this.font=t.font),t.color&&(this.color=t.color)}set font(e){this.ctx2d&&(this.ctx2d.font=e,this.hasChange=!0)}get font(){var e;return(null==(e=this.ctx2d)?void 0:e.font)||""}set color(e){this.ctx2d&&(this.ctx2d.fillStyle=e,this.hasChange=!0)}get color(){var e;return(null==(e=this.ctx2d)?void 0:e.fillStyle)||""}render2d(e){return!(!this.ctx2d||!this.hasChange)&&(this.ctx2d.clearRect(0,0,this.width,this.height),this.drawMultilineText(0,0),this.hasChange=!1,!0)}render(e){return!1}resize(e,t){if(!this.ctx2d)return;let{color:r,font:i}=this;super.resize(e,t),this.color=r,this.font=i}drawMultilineText(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.2;if(!this.ctx2d)return;let i=this.ctx2d.measureText(this.content);t+=i.fontBoundingBoxAscent||i.actualBoundingBoxAscent||0;let o=this.font.match(/(\d+)px/),n=(o?parseInt(o[1],10):16)*r,a=this.content.split("\n");for(let s=0;s<a.length;s++)this.ctx2d.fillText(a[s],e,t+s*n)}},gB=class extends PP{constructor(e){super(),rw(this,"frameRate"),rw(this,"_canvas"),rw(this,"log"),rw(this,"hasAlpha",!1),rw(this,"name"),rw(this,"error"),this.name=e.name,this.log=e.logger.createChild({id:"vc-".concat(this.name)}),this.frameRate=e.frameRate}get canvas(){return this._canvas}set width(e){this._canvas&&(this._canvas.width=e)}get width(){var e;return(null==(e=this._canvas)?void 0:e.width)||0}set height(e){this._canvas&&(this._canvas.height=e)}get height(){var e;return(null==(e=this._canvas)?void 0:e.height)||0}setSize(e,t){this._canvas&&(this._canvas.width=e,this._canvas.height=t)}createVideoTrackSource(e,t){return new fB(this,e,{logger:this.log,name:t})}createVideoTrackDestination(e){return new dB(this,e)}createVideoImageSource(e,t){return new pB(this,t?Object.assign(t,{logger:this.log,image:e}):{logger:this.log,image:e})}createVideoPlayerSource(e,t){return new mB(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}createTextSource(e,t){return new _B(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}get available(){return"created"===this.state}disconnect(){this.emit("disconnect")}};rw(gB,"_ids",0);var EB={alpha:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0,powerPreference:"low-power"},vB=class extends gB{constructor(){super(...arguments),rw(this,"defaultProgam"),rw(this,"defaultVShader"),rw(this,"defaultFShader"),rw(this,"ctx"),rw(this,"_canvas2d")}get canvas(){return this._canvas2d||this._canvas}create(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this._canvas||(this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(gB._ids++)),e&&(this._canvas2d=document.createElement("canvas")),this.ctx=this._canvas.getContext("webgl2",EB),!this.ctx)throw new pw({code:uw.VIDEO_MANAGER_ERROR,extraCode:2,message:"webgl2 not supported"});this.defaultVShader=this.createShader(this.ctx.VERTEX_SHADER,"\n// 顶点着色器\nattribute vec4 a_position;\nattribute vec2 a_texCoord;\nvarying vec2 v_texCoord;\n\nvoid main() {\n gl_Position = a_position;\n v_texCoord = a_texCoord;\n}\n"),this.defaultFShader=this.createShader(this.ctx.FRAGMENT_SHADER,"\n// 片元着色器\nprecision mediump float;\nvarying vec2 v_texCoord;\nuniform sampler2D u_texture;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_texCoord);\n} "),this.defaultProgam=this.createProgram(this.defaultVShader,this.defaultFShader),this._canvas.addEventListener("webglcontextlost",(()=>{this.destroy(new pw({code:uw.VIDEO_MANAGER_ERROR,extraCode:4,message:"webgl context lost"}))}))}destroy(e){let t="";return e&&(t=e.message,this.error=e,EL.addFailedEvent({key:512702,error:e})),this.disconnect(),this.log.info("video context destroy".concat(t)?": ".concat(t):""),this.ctx&&(this.ctx.deleteShader(this.defaultVShader),this.ctx.deleteShader(this.defaultFShader),this.ctx.deleteProgram(this.defaultProgam),delete this.ctx),e}set width(e){var t;null==(t=this.ctx)||t.viewport(0,0,e,this.height),super.width=e,this._canvas2d&&(this._canvas2d.width=e)}set height(e){var t;null==(t=this.ctx)||t.viewport(0,0,this.width,e),super.height=e,this._canvas2d&&(this._canvas2d.height=e)}setSize(e,t){var r;null==(r=this.ctx)||r.viewport(0,0,e,t),super.setSize(e,t),this._canvas2d&&(this._canvas2d.width=e,this._canvas2d.height=t)}createShader(e,t){let r=this.ctx,i=r.createShader(e);return r.shaderSource(i,t),r.compileShader(i),i}createProgram(e,t){let r=this.ctx,i=r.createProgram();return r.attachShader(i,e),r.attachShader(i,t),r.linkProgram(i),r.getProgramParameter(i,r.LINK_STATUS)||this.log.error(r.getProgramInfoLog(i)),i}};rw(vB,"UNAVAILABLE","unavailable"),tw([OP(PP.INIT,"created",{sync:!0,fail(e){this.log.error("video gl context create failed",e.cause),EL.addFailedEvent({key:512700,error:e.cause||e})},success(){this.log.info("video context created use webgl"),EL.addSuccessEvent({key:512700})}})],vB.prototype,"create",1),tw([OP("created",PP.INIT,{ignoreError:!0,sync:!0,success(e){e&&this.emit(vB.UNAVAILABLE,e),this.removeAllListeners()}})],vB.prototype,"destroy",1);var yB=vB,TB=class extends gB{constructor(){super(...arguments),rw(this,"ctx")}create(e){if(this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(gB._ids++),this.ctx=this._canvas.getContext("2d",{alpha:e.alpha}),!this.ctx)throw new pw({code:uw.VIDEO_MANAGER_ERROR,extraCode:2,message:"2d context not supported"});this._canvas.addEventListener("contextlost",(()=>{this.log.error("2d context lost")})),this._canvas.addEventListener("contextrestored",(()=>{this.log.warn("2d context restored")}))}destroy(e){let t="";e&&(t=e.message,this.error=e,EL.addFailedEvent({key:512703,error:e})),this.disconnect(),this.log.info("video context destroy ".concat(t?": ".concat(t):"")),delete this.ctx,this._canvas&&(this._canvas.remove(),this._canvas.width=0,this._canvas.height=0,delete this._canvas),this.removeAllListeners(),EL.addSuccessEvent({key:512703})}};function IB(e,t,r,i,o){arguments.length>5&&void 0!==arguments[5]&&arguments[5]&&([r,i]=[i,r]);let n={sWidth:e,sHeight:t,dWidth:r,dHeight:i,sx:0,sy:0,dx:0,dy:0};if(0===e||0===t)return n;switch(o){case void 0:case"fill":break;case"contain":{let o=Math.min(r/e,i/t);n.dWidth=e*o,n.dHeight=t*o,n.dx=(r-n.dWidth)/2,n.dy=(i-n.dHeight)/2;break}case"cover":{let o=Math.max(r/e,i/t),a=r/o,s=i/o;n.sx=(e-a)/2,n.sy=(t-s)/2,n.sWidth=a,n.sHeight=s;break}}return n}tw([OP(PP.INIT,"created",{sync:!0,fail(e){this.log.error("video 2d context create failed",e.cause),EL.addFailedEvent({key:512701,error:e.cause||e})},success(){this.log.info("video context created use 2d"),EL.addSuccessEvent({key:512701})}})],TB.prototype,"create",1),tw([OP("created",PP.INIT,{ignoreError:!0,sync:!0})],TB.prototype,"destroy",1);var AB=class{constructor(e,t){this.node=e,this.layout=t,rw(this,"positionBuffer")}get x(){return this.layout.x||this.node.x}get y(){return this.layout.y||this.node.y}get width(){return this.layout.width||this.node.width}get height(){return this.layout.height||this.node.height}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get fillMode(){return this.layout.fillMode}get rotation(){return this.layout.rotation}get hidden(){return!!this.layout.hidden}},SB=class extends nB{constructor(e,t){super(e,{useDefaultProgram:!0,useFbo:!0,name:"mix",create2d:!0,logger:t}),rw(this,"inputs",[]),rw(this,"backgroundColor","black")}addInput(e,t){let r=0,i=this.inputs.length;for(;r<i;){let e=Math.floor((r+i)/2);if(this.inputs[e].layout.zIndex<t.zIndex)r=e+1;else{if(!(this.inputs[e].layout.zIndex>t.zIndex))throw new Error("input already exists at zIndex ".concat(t.zIndex));i=e}}let o=new AB(e,t);this.inputs.splice(r,0,o)}changeInputLayout(e,t){let r=this.inputs.findIndex((t=>t.node===e));if(r<0)return;let{x:i,y:o,width:n,height:a,zIndex:s,fillMode:c,rotation:l,hidden:d}=t;if(!FD(s)&&this.inputs.some((t=>t.layout.zIndex===s&&t.node!==e)))throw new Error("input already exists at zIndex ".concat(t.zIndex));let u=this.inputs[r];FD(i)||(u.layout.x=i),FD(o)||(u.layout.y=o),FD(n)||(u.layout.width=n),FD(a)||(u.layout.height=a),FD(l)||(u.layout.rotation=l),FD(d)||(u.layout.hidden=d),c&&(u.layout.fillMode=c),!FD(s)&&s!==u.layout.zIndex&&(u.layout.zIndex=s,this.inputs.sort(((e,t)=>e.layout.zIndex-t.layout.zIndex)))}hasInput(e){return this.inputs.some((t=>t.node===e))}hasNoInput(){return 0===this.inputs.length}resize(e,t){if(!this.matchInputSize)return void super.resize(e,t);let r=this.inputs.reduce(((e,t)=>t?Object.assign(e,{width:Math.max(e.width,t.right),height:Math.max(e.height,t.bottom)}):e),{width:0,height:0});super.resize(r.width,r.height),this.context instanceof yB&&this.inputs.forEach((e=>{if(e){let t=this.layout2texCoords(e);e.positionBuffer?this.changeBufferData(e.positionBuffer,t):e.positionBuffer=this.createBuffer(t)}}))}connect(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return super.connect(e,...r),this.drawBackGround2d(this.backgroundColor),this.matchInputSize&&this.resize(0,0),e}removeInput(e){this.inputs=this.inputs.filter((t=>t.node!==e)),0===this.inputs.length&&this.drawBackGround2d(this.backgroundColor)}render(e){let t=this.context.ctx;if(t.clearColor(0,0,0,0),this.inputs.reduce(((t,r)=>r.node.requestFrame(e)||t),!1)&&t){this.useProgram(),t.enable(t.BLEND),t.blendFunc(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA),this.useBufferFrame();for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];t&&(t.node.useTexture(),this.draw(t.positionBuffer))}return!0}return!1}render2d(e){if(this.inputs.forEach((t=>t.node.requestFrame(e))),this.ctx2d){this.drawBackGround2d(this.backgroundColor);for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];if(t.hidden)continue;let r=IB(t.node.width,t.node.height,t.width,t.height,t.fillMode,SN(t.rotation));this.draw2d(t.node.image,t.x+r.dx,t.y+r.dy,r.dWidth,r.dHeight,r.sx,r.sy,r.sWidth,r.sHeight)}return!0}return!1}debugLayout(e,t,r,i){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];this.ctx2d&&(o&&([r,i]=[i,r]),this.ctx2d.save(),this.ctx2d.strokeStyle="red",this.ctx2d.lineWidth=2,this.ctx2d.strokeRect(e,t,r,i),this.ctx2d.restore())}getInfo(){let{totalFrames:e,x:t,y:r,width:i,height:o,name:n}=this,a=Date.now(),s=(e-this.lastInfo.totalFrames)/((a-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:e,x:t,y:r,width:i,height:o,timestamp:a,fps:s,name:n},Xb({parent:this.inputs.filter((e=>e)).map((e=>e.node.getInfo()))},this.lastInfo)}removeAllInputs(){this.inputs.forEach((e=>{var t;if(e.node.disconnect(),e.positionBuffer&&this.context instanceof yB)try{null==(t=this.context.ctx)||t.deleteBuffer(e.positionBuffer)}catch(iM){}}))}close(){super.close(),this.removeAllInputs()}},RB=[1,0,0,0,1,1,0,1],bB=class extends nB{constructor(e,t,r,i){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:"transform",logger:t}),rw(this,"mirror",!1),rw(this,"rotation",0),r&&(this.mirror=r),i&&(this.rotation=i),e instanceof yB)try{this.setTexBuffer(RB)}catch(Sw){e.destroy(new pw({code:uw.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(Sw.message||Sw)}))}}draw2d(e,t,r,i,o){if(this.ctx2d){this.ctx2d.clearRect(0,0,this.width,this.height),this.ctx2d.save(),this.mirror&&(this.ctx2d.scale(-1,1),this.ctx2d.translate(-this.width,0)),90===this.rotation?(this.ctx2d.translate(i,0),this.ctx2d.rotate(Math.PI/2),this.ctx2d.scale(o/i,i/o)):180===this.rotation?(this.ctx2d.translate(this.width,this.height),this.ctx2d.rotate(Math.PI)):270===this.rotation&&(this.ctx2d.translate(0,o),this.ctx2d.rotate(3*Math.PI/2),this.ctx2d.scale(o/i,i/o));let n=super.draw2d(e,t,r,i,o);return this.ctx2d.restore(),n}return!1}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),!0)}resize(e,t){SN(this.rotation)&&([e,t]=[t,e]),super.resize(e,t)}},wB=class extends YF{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,yx),rw(this,"inputLocalVideoTracks",new Map),rw(this,"inputLocalScreenTracks",new Map),rw(this,"cameraNodeMap",new Map),rw(this,"screenNodeMap",new Map),rw(this,"textNodeMap",new Map),rw(this,"imageNodeMap",new Map),rw(this,"videoNodeMap",new Map),rw(this,"endedIds",new Set),rw(this,"videoContext"),rw(this,"mixNode"),rw(this,"destination"),rw(this,"manager"),rw(this,"stat"),rw(this,"_checkId",0),rw(this,"autoSetFps",!0),this.manager=e,this.log.id+="mix",this.create2dVideoContext(),this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log}),this.destination.on(nB.RENDER,(e=>{this.emit("render",e)})),this.mixNode=new SB(this.videoContext,this.log),this.mixNode.matchInputSize=!1}listenDeviceChange(){throw new Error("Method not implemented.")}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=HP.run("interval",(()=>{this.destination&&this.log.debug(this.destination.getInfo())}),{delay:e})}create2dVideoContext(){this.videoContext?this.videoContext.destroy():this.videoContext=new TB({frameRate:15,logger:this.log,name:"mix-ctx"}),this.videoContext.create({alpha:!1})}setFps(e){this.autoSetFps=!1,this.videoContext.frameRate=e;for(let t of[...this.cameraNodeMap.values(),...this.screenNodeMap.values()])t.shouldUpdate=!1;setTimeout((()=>{var e;return null==(e=this.destination)?void 0:e.start(this.videoContext.frameRate)}),500)}setFpsAuto(){var e;if(!this.autoSetFps)return;for(let o of[...this.cameraNodeMap.values(),...this.screenNodeMap.values()])o.shouldUpdate=!1;let t=null,r=0,i=!0;for(let[o,n]of this.inputLocalVideoTracks)if(n.profile.frameRate>r){if(this.endedIds.has(o)){let e=this.cameraNodeMap.get(o);e&&e.image.cancelVideoFrameCallback(e.videoCallbackId);continue}r=n.profile.frameRate,t=o}for(let[o,n]of this.inputLocalScreenTracks)if(n.profile.frameRate>r){if(this.endedIds.has(o)){let e=this.screenNodeMap.get(o);e&&e.image.cancelVideoFrameCallback(e.videoCallbackId);continue}r=n.profile.frameRate,t=o,i=!1}if(null!==t){let e=i?this.cameraNodeMap.get(t):this.screenNodeMap.get(t);e&&(e.shouldUpdate=!0,e.tryVideoFrameCallback()),this.log.info("set mix fps: ",r)}else null==(e=this.destination)||e.start(this.videoContext.frameRate),this.log.info("fallback to timer, fps: ",this.videoContext.frameRate)}setMixBackground(e){this.mixNode&&(this.mixNode.backgroundColor=e)}resizeMixCanvas(e,t){var r;null==(r=this.mixNode)||r.resize(e,t)}startMix(){return ow(this,null,(function*(){var e;if(!this.mixNode||!this.destination)throw new Error("can't mix without necessary conditions");this.mixNode.disconnect(),this.mixNode.connect(this.destination),hO&&this.player.setCanvas(this.videoContext._canvas),this.setOutputMediaStreamTrack(this.destination.videoTrack),null==(e=this.manager)||e.changeInput(this)}))}addCameraSource(e,t,r){if(this.inputLocalVideoTracks.has(e)||this.cameraNodeMap.has(e))throw new Error("There is already a cameraSource with the same ID: ".concat(e));let i,{mediaTrack:o}=t;if(!o)throw new Error("no mediaTrack, add cameraSource failed");t.recaptureMode=1,zP(this,$x).add("videoInputRemoved",(r=>{r.deviceId===t.deviceId&&(this.endedIds.add(e),this.setFpsAuto())})),t.on("output-media-track-changed",(()=>{this.endedIds.delete(e),this.updateCameraSource(e,r,t.mediaTrack)})),i=16===EO&&o instanceof CanvasCaptureMediaStreamTrack?this.videoContext.createVideoImageSource(o.canvas,{name:"cameraCanvasSource",logger:this.log}):this.videoContext.createVideoTrackSource(o,"cameraNodeSource"),i.resize(t.settings.width,t.settings.height),i.shouldUpdate=!1,this._connectMix(i,r,"cover"),this.inputLocalVideoTracks.set(e,t),this.cameraNodeMap.set(e,i),this.setFpsAuto()}addScreenSource(e,t,r){if(this.inputLocalScreenTracks.has(e)||this.screenNodeMap.has(e))throw new Error("There is already a screenSource with the same ID: ".concat(e));let{mediaTrack:i}=t;if(!i)throw new Error("no mediaTrack, add cameraSource failed");let o=this.videoContext.createVideoTrackSource(i,"screenNodeSource");o.resize(t.settings.width,t.settings.height),o.shouldUpdate=!1,this._connectMix(o,r),this.inputLocalScreenTracks.set(e,t),this.screenNodeMap.set(e,o),this.setFpsAuto()}addTextSource(e){let{id:t,content:r="",font:i,color:o,layout:n}=e;if(this.textNodeMap.has(t))throw new Error("There is already a textSource with the same ID: ".concat(t));let a=this.videoContext.createTextSource({content:r,font:i,color:o});a.resize(n.width,n.height),this._connectMix(a,n),this.textNodeMap.set(t,a)}addImageSource(e,t,r){if(this.imageNodeMap.has(e))throw new Error("There is already a imageSource with the same ID: ".concat(e));let i=this.videoContext.createVideoImageSource(t,{autoResize:!1,logger:this.log});i.resize(t.width,t.height),this._connectMix(i,r),this.imageNodeMap.set(e,i)}addVideoSource(e,t,r){if(this.videoNodeMap.has(e))throw new Error("There is already a videoSource with the same ID: ".concat(e));let i=this.videoContext.createVideoImageSource(t,{autoResize:!1,logger:this.log});i.resize(t.videoWidth,t.videoHeight),i.shouldUpdate=!1,this._connectMix(i,r),this.videoNodeMap.set(e,i)}updateCameraSource(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0,o=this.cameraNodeMap.get(e);if(o){if(r){if(16===EO&&r instanceof CanvasCaptureMediaStreamTrack)if(o instanceof fB){let t=o.output;o.close(),o=this.videoContext.createVideoImageSource(r.canvas,{name:"cameraCanvasSource",logger:this.log}),o.connect(t),this.cameraNodeMap.set(e,o)}else o.image=r.canvas;else if(o instanceof fB)o.replaceTrack(r);else{let t=o.output;o.close(),o=this.videoContext.createVideoTrackSource(r,"cameraNodeSource"),o.connect(t),this.cameraNodeMap.set(e,o)}let{width:t,height:i}=r.getSettings();t&&i&&o.resize(t,i)}i&&o.resize(i.width,i.height),(i||r)&&this.setFpsAuto(),this._changeMixLayout(o,t)}}updateScreenSource(e,t){let r=this.screenNodeMap.get(e);r&&this._changeMixLayout(r,t)}updateTextSource(e){let{id:t,content:r,font:i,color:o,layout:n}=e,a=this.textNodeMap.get(t);a&&(FD(r)||(a.content=r),FD(i)||(a.font=i),FD(o)||(a.color=o),a.resize(n.width,n.height),this._changeMixLayout(a,n))}updateImageSource(e,t,r){let i=this.imageNodeMap.get(e);i&&(r&&(i.image=r,i.resize(r.width,r.height)),this._changeMixLayout(i,t))}updateVideoSource(e,t,r){let i=this.videoNodeMap.get(e);if(i){if(r){let e=i.image;e instanceof HTMLVideoElement&&this.stopVideoElement(e),i.image=r,i.resize(r.videoWidth,r.videoHeight)}this._changeMixLayout(i,t)}}_connectMix(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"contain";if(!this.mixNode)return;let{mirror:i,rotation:o}=t;e.disconnect();let n=new bB(this.videoContext,this.log,i,o);n=e.connect(n),t.fillMode||(t.fillMode=r),n.connect(this.mixNode,t)}_changeMixLayout(e,t){if(!this.mixNode)return;let{mirror:r,rotation:i}=t,o=e.output||e;o instanceof bB&&(FD(r)||(o.mirror=r),FD(i)||(o.rotation=i),o.resize(e.width,e.height)),this.mixNode.changeInputLayout(o,t)}removeCameraSource(e){let t=this.inputLocalVideoTracks.get(e);if(!t)return;t.close(),this.inputLocalVideoTracks.delete(e);let r=this.cameraNodeMap.get(e);r&&(r.output instanceof bB&&r.output.close(),r.close(),this.cameraNodeMap.delete(e)),this.checkAfterRemove(!0)}removeScreenSource(e){let t=this.inputLocalScreenTracks.get(e);if(!t)return;t.close(),this.inputLocalScreenTracks.delete(e);let r=this.screenNodeMap.get(e);r&&(r.output instanceof bB&&r.output.close(),r.close(),this.screenNodeMap.delete(e)),this.checkAfterRemove(!0)}removeTextSource(e){let t=this.textNodeMap.get(e);t&&(t.output instanceof bB&&t.output.close(),t.close(),this.textNodeMap.delete(e)),this.checkAfterRemove()}removeImageSource(e){let t=this.imageNodeMap.get(e);t&&(t.output instanceof bB&&t.output.close(),t.close(),this.imageNodeMap.delete(e)),this.checkAfterRemove()}removeVideoSource(e){let t=this.videoNodeMap.get(e);t&&(t.output instanceof bB&&t.output.close(),t.image instanceof HTMLVideoElement&&this.stopVideoElement(t.image),t.close(),this.videoNodeMap.delete(e)),this.checkAfterRemove()}checkAfterRemove(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.setFpsAuto()}stopVideoElement(e){e.pause(),e.src="",e.srcObject=null,e.remove()}close(){var e;super.close(),HP.clearTask(this._checkId),null==(e=this.videoContext)||e.destroy(),delete this.mixNode,delete this.destination;for(let t of[...this.inputLocalVideoTracks.values(),...this.inputLocalScreenTracks.values()])t.close();this.inputLocalVideoTracks.clear(),this.inputLocalScreenTracks.clear(),this.cameraNodeMap.clear(),this.screenNodeMap.clear(),this.textNodeMap.clear(),this.imageNodeMap.clear(),KP(this);for(let t of this.videoNodeMap.values())t.image instanceof HTMLVideoElement&&this.stopVideoElement(t.image);this.videoNodeMap.clear(),this.log.info("localMixVideoTrack close, stop mix")}},CB=YO();if("undefined"!=typeof navigator&&navigator.mediaDevices&&"setCaptureHandleConfig"in navigator.mediaDevices)try{navigator.mediaDevices.setCaptureHandleConfig({handle:CB,exposeOrigin:!0,permittedOrigins:["*"]})}catch(yH){}var DB=function(e){return ow(this,null,(function*(){let t=null,r=function(e){let t={preferCurrentTab:"current-tab"===e.preferDisplaySurface||!!e.captureElement,systemAudio:"include",selfBrowserSurface:"include",surfaceSwitching:"include"},r={width:uO?{max:e.width}:{ideal:e.width,max:e.width},height:uO?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:e.preferDisplaySurface||"monitor"};if(t.video=r,e.systemAudio){let{echoCancellation:r=!0,noiseSuppression:i=!1,autoGainControl:o=!1}=e;t.audio={echoCancellation:r,noiseSuppression:i,autoGainControl:o,sampleRate:48e3}}return t}(e);qO.info("getDisplayMedia with constraints: ".concat(JSON.stringify(r)));let i=yield navigator.mediaDevices.getDisplayMedia(r);e.systemAudio&&0===i.getAudioTracks().length&&(aO&&cO<74||uO||ak)&&qO.warn("Your browser not support capture system audio");let o=i.getVideoTracks()[0];if(o){if(e.frameRate)try{yield o.applyConstraints({frameRate:{min:e.frameRate,ideal:e.frameRate},width:e.width,height:e.height})}catch(aM){qO.warn("screen applyConstraints failed: ".concat(aM))}e.captureElement&&(yield function(e,t){return ow(this,null,(function*(){var r;if("CropTarget"in window&&"fromElement"in CropTarget&&VD(e.cropTo))try{if((null==(r=e.getCaptureHandle())?void 0:r.handle)!==CB)return;let i=yield CropTarget.fromElement(t);yield e.cropTo(i)}catch(i){qO.warn("cropTo target failed ".concat(i))}}))}(o,e.captureElement))}if(e.audio){let r=function(e){let t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return FD(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);qO.info("getUserMedia with constraints: ".concat(JSON.stringify(r))),t=yield navigator.mediaDevices.getUserMedia(r),i.addTrack(t.getAudioTracks()[0])}return i}))},NB=class extends eB{constructor(e){super(e,2),rw(this,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),rw(this,"objectFit","contain"),rw(this,"isScreen",!0),this._log.id="s-".concat(this._log.id)}get isShareCurrentTab(){var e,t;try{return CB===(null==(t=null==(e=this.mediaTrack)?void 0:e.getCaptureHandle())?void 0:t.handle)}catch(iM){return}}capture(e){return ow(this,arguments,(function(e){var t=this;let{systemAudio:r=!1,autoGainControl:i,echoCancellation:o,noiseSuppression:n,audioTrack:a,videoTrack:s,captureElement:c,preferDisplaySurface:l}=e;return function*(){try{let e;return s||a?(e=new MediaStream,s&&e.addTrack(s),a&&e.addTrack(a)):(e=yield DB({audio:!1,systemAudio:r,width:t.profile.width,height:t.profile.height,frameRate:t.profile.frameRate,autoGainControl:i,echoCancellation:o,noiseSuppression:n,captureElement:c,preferDisplaySurface:l}),t.sourceTrack=e.getVideoTracks()[0]),yield t.setInputMediaStreamTrack(e.getVideoTracks()[0]),e}catch(e){throw t.log.error("getDisplayMedia error observed ".concat(e)),e instanceof pw?e:new pw({code:uw.INITIALIZE_FAILED,name:e.name,message:e.message})}}()}))}switchDevice(e){return ow(this,null,(function*(){throw new Error("Method not implemented.")}))}};tw([vU((function(e){this.setContentHint(e.contentHint||"detail")}))],NB.prototype,"capture",1);var kB,OB=class extends XF{constructor(e){super(e),this._log.id="s-".concat(this._log.id)}addAudioProcessor(e,t,r){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e),this.enableTrackAEC(!1)}removeAudioProcessor(e){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode(),this.enableTrackAEC(!0))}};function MB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3?arguments[3]:void 0;return ow(this,null,(function*(){let o=Px();kB||(kB=Tx(o,URL.createObjectURL(new Blob(['registerProcessor("dumper",class extends AudioWorkletProcessor{constructor(e){super(),this.sourceSampleRate=e.processorOptions.sourceSampleRate||48e3,this.targetSampleRate=e.processorOptions.targetSampleRate||48e3,this.port.onmessage=e=>{this.port2=e.data.port}}process(e){return(this.port2||this.port).postMessage(this.resampleAll(e,this.sourceSampleRate,this.targetSampleRate)),!0}resampleAll(r,s,a){if(s===a)return r;var o=[];for(let t=0;t<r.length;t++){o[t]=[];for(let e=0;e<r[t].length;e++)o[t][e]=this.resample(r[t][e],s,a)}return o}resample(t,e,r){if(e===r)return t;var s=Math.round(t.length*(this.targetSampleRate/this.sourceSampleRate)),a=new Float32Array(s),o=(t.length-1)/(s-1);a[0]=t[0];for(let e=1;e<s-1;e++){var l=e*o,p=Math.floor(l),h=Math.ceil(l);a[e]=t[p]+(t[h]-t[p])*(l-p)}return a[s-1]=t[t.length-1],a}});'],{type:"application/javascript"})))),yield kB;let n=o.sampleRate,a=new AudioWorkletNode(o,"dumper",{numberOfInputs:e.length,numberOfOutputs:0,processorOptions:{sourceSampleRate:n,targetSampleRate:t}});return a.channelCountMode="explicit",a.channelCount=r,i&&a.port.postMessage({port:i},[i]),e.forEach(((e,t)=>e.connect(a,0,t))),new ReadableStream({start(e){a.port.onmessage=t=>{e.enqueue(t.data)}},cancel(){e.forEach((e=>e.disconnect(a))),a.port.close()}})}))}var LB=class extends Bx{constructor(e){super(),this.room=e,rw(this,"_localAudioTrack"),rw(this,"_localScreenAudioTrack"),rw(this,"log",qO.createLogger({id:"am"})),rw(this,"denoiser"),rw(this,"voiceChanger"),rw(this,"mixChangedDebounce"),rw(this,"audioProcessor"),rw(this,"encodePipeline",[]),rw(this,"decodePipeline",[]),rw(this,"getPCMAbortCtrlMap",new Map),rw(this,"audioFrameEventConfigMap",new Map),rw(this,"audioReferenceMap",new Map),rw(this,"isLocalAudioNeedAudioProcess",!1),rw(this,"isScreenAudioNeedAudioProcess",!1),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.installEvent()}get _localAudioPipline(){var e;return null==(e=this._localAudioTrack)?void 0:e.pipeline}get _localScreenAudioPipeline(){var e;return null==(e=this._localScreenAudioTrack)?void 0:e.pipeline}dump(e){var t,r;if(!this._localAudioTrack)return;let i=[],o=[];null!=(t=this._localAudioPipline)&&t.source.node&&(i.push(this._localAudioPipline.source.node),o.push("mic")),null!=(r=this._localAudioPipline)&&r.denoiser.node&&(i.push(this._localAudioPipline.denoiser.node),o.push("mic-processed")),this.mixWeight>1&&(i.push(this.audioContext.createMediaStreamSource(this._localAudioPipline.stream)),o.push("mix")),this.log.info("dump audio track ".concat(o,", duration: ").concat(e));let n=new AbortController,a=[],s=setTimeout((()=>{this.log.info('dump audio track complete please input "download()" to download.'),n.abort("timeout")}),1e3*e),c=()=>{for(let e=0;e<o.length;e++){let t=URL.createObjectURL(new Blob(a[e])),r=document.createElement("a");r.href=t,r.download="".concat(o[e],".pcm"),r.style.display="none",document.body.appendChild(r),r.click(),URL.revokeObjectURL(t),r.remove()}clearTimeout(s),n.abort("download")},l=MB(i).then((e=>e.pipeTo(new WritableStream({write(e){e.forEach(((e,t)=>a[t]=a[t]?a[t].concat(e[0]):[e[0]]))}}),n).catch((e=>c))));return{then:l.then.bind(l),download:c}}getPCM(e,t){var r,i,o;if("undefined"==typeof WritableStream)return void this.log.warn("getPCM failed: browser not support WritableStream");let{enable:n,sampleRate:a=48e3,channelCount:s=1,port:c}=(""===t?this.audioFrameEventConfigMap.get(""):this.audioFrameEventConfigMap.get(t)||this.audioFrameEventConfigMap.get("*"))||{};if(!n)return;this.log.info("getPCM ".concat(t||"local"));let l,d,u=Math.floor(.04*a),h=new Float32Array(u),p=new Float32Array(u),m=0,f=new AbortController,_=""===t?null==(r=this._localAudioTrack)?void 0:r.mediaTrack:null==(o=null==(i=this.room)?void 0:i.remotePublishedUserMap.get(t))?void 0:o.remoteAudioTrack.mediaTrack;if(_)return MB([Px().createMediaStreamSource(new MediaStream([_]))],a,s,c).then((r=>r.pipeTo(new WritableStream({write(r){r[0][0]&&(m+r[0][0].length>u?(h.set(r[0][0].subarray(0,u-m),m),l=r[0][0].subarray(u-m),r[0][1]&&(p.set(r[0][1].subarray(0,u-m),m),d=r[0][1].subarray(u-m)),m+=u-m):(l&&(h.set(l,m),m+=l.length,l=void 0),d&&(p.set(d,m),d=void 0),h.set(r[0][0],m),r[0][1]&&p.set(r[0][1],m),m+=r[0][0].length),m>=u&&(m=0,e({userId:t,sampleRate:a,channelCount:s,data:1===s?h:[h,p]}),h=new Float32Array(u),p=new Float32Array(u)))}}),f).catch((e=>this.log.warn("stop getPCM reason:".concat(e)))))),f;this.log.info("getPCM failed: ".concat(t||"local"," has no audio track"))}get hasScreenAudioTrack(){return!FD(this._localScreenAudioTrack)}get hasAudioTrack(){return!FD(this._localAudioTrack)}changeInput(e){var t,r;return e instanceof OB?(this._localScreenAudioTrack=e,this.isScreenAudioNeedAudioProcess&&null!=(t=this.audioProcessor)&&t.screenAudioWorkletNode&&(e.addAudioProcessor(this.audioProcessor.screenAudioWorkletNode,this.audioProcessor.mixNode,this.audioProcessor.silentNode),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof XF?(this._localAudioTrack=e,this.denoiser&&e.addDenoiser(this.denoiser),this.isLocalAudioNeedAudioProcess&&null!=(r=this.audioProcessor)&&r.localAudioWorkletNode&&(e.addAudioProcessor(this.audioProcessor.localAudioWorkletNode,this.audioProcessor.mixNode,this.audioProcessor.silentNode),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof UB?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}mixAudioReference(e,t){var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}unMixAudioReference(e){var t;null==(t=this._localAudioTrack)||t.unMixAudioReference(e)}setAudioReferenceVolume(e,t){var r;null==(r=this._localAudioTrack)||r.setAudioReferenceVolume(e,t)}mixOnChange(){return this.mixChangedDebounce||(this.mixChangedDebounce=Promise.resolve().then((()=>{var e,t;return delete this.mixChangedDebounce,Promise.all([null==(e=this._localAudioTrack)?void 0:e.setOutputMediaStreamTrack(this.mixWeight>1?this.mixTrack:this._localAudioTrack.mediaTrack),null==(t=this._localScreenAudioTrack)?void 0:t.setOutputMediaStreamTrack(this.mixWeight>1?this.mixTrack:this._localScreenAudioTrack.mediaTrack)])}))),this.mixChangedDebounce}removeInput(e){e instanceof OB?delete this._localScreenAudioTrack:e instanceof XF&&delete this._localAudioTrack}addDenoiser(e){var t;this.denoiser=e,null==(t=this._localAudioTrack)||t.addDenoiser(e)}addAudioProcessor(e,t,r,i){var o;this.audioProcessor={localAudioWorkletNode:r,mixNode:e,silentNode:t,screenAudioWorkletNode:i},this.isLocalAudioNeedAudioProcess&&this._localAudioTrack&&r&&(this._localAudioTrack.addAudioProcessor(r,e,t),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}))),this.isScreenAudioNeedAudioProcess&&this._localScreenAudioTrack&&i&&(null==(o=this._localScreenAudioTrack)||o.addAudioProcessor(i,e,t),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localScreenAudioTrack)||r.mixAudioReference(e,t)})))}removeDenoiser(e){var t;return delete this.denoiser,null==(t=this._localAudioTrack)?void 0:t.removeDenoiser(e)}addVoiceChanger(e,t){var r;this.voiceChanger=[e,t],null==(r=this._localAudioTrack)||r.pipeline.voiceChanger.setNode(e,t)}removeVoiceChanger(){var e;delete this.voiceChanger,null==(e=this._localAudioTrack)||e.pipeline.voiceChanger.deleteNode()}removeAudioProcessor(e,t){var r,i;delete this.audioProcessor,null==(r=this._localAudioTrack)||r.removeAudioProcessor(e),null==(i=this._localScreenAudioTrack)||i.removeAudioProcessor(t)}destroy(){this.close(),this.audioReferenceMap.clear(),this.getPCMAbortCtrlMap.forEach((e=>null==e?void 0:e.abort("destroy"))),this.getPCMAbortCtrlMap.clear(),this.audioFrameEventConfigMap.clear(),this.uninstallEvent()}addEncodeProcessor(e){let{processor:t,type:r}=e;var i;this.encodePipeline.includes(t)||(this.encodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}addDecodeProcessor(e){let{processor:t,type:r}=e;var i;this.decodePipeline.includes(t)||(this.decodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}removeEncodeProcessor(e){let{type:t}=e;this.encodePipeline[t]=void 0}removeDecodeProcessor(e){let{type:t}=e;this.decodePipeline[t]=void 0}handleLocalTrackStarted(e){let{room:t,userId:r}=e;var i;if(t!==this.room||this.getPCMAbortCtrlMap.get(r))return;let o=this.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),"");this.getPCMAbortCtrlMap.set(r,o),this.getPCMAbortCtrlMap.get(r)&&(null==(i=this._localAudioTrack)||i.on("input-media-track-changed",(()=>{let e=this.getPCMAbortCtrlMap.get(r);e&&(e.abort("inputMediaTrackChanged"),e=this.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),""),this.getPCMAbortCtrlMap.set(r,e))})))}handleLocalTrackStopped(e){let{room:t,userId:r}=e;if(t!==this.room)return;let i=this.getPCMAbortCtrlMap.get(r);i&&(i.abort("stopLocalAudio"),this.getPCMAbortCtrlMap.delete(r))}handleRemoteTrackStarted(e){let{room:t,userId:r}=e;if(t===this.room&&!this.getPCMAbortCtrlMap.get(r)){let e=this.room.audioManager.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),r);this.getPCMAbortCtrlMap.set(r,e)}}handleRemoteTrackStopped(e){let{room:t,userId:r}=e;if(t!==this.room)return;let i=this.getPCMAbortCtrlMap.get(r);i&&(i.abort("stopRemoteAudio"),this.getPCMAbortCtrlMap.delete(r))}installEvent(){WO.on("113",this.handleLocalTrackStarted,this),WO.on("114",this.handleLocalTrackStopped,this),WO.on("115",this.handleRemoteTrackStarted,this),WO.on("116",this.handleRemoteTrackStopped,this)}uninstallEvent(){WO.off("113",this.handleLocalTrackStarted),WO.off("114",this.handleLocalTrackStopped),WO.off("115",this.handleRemoteTrackStarted),WO.off("116",this.handleRemoteTrackStopped)}updateAudioReference(e){let{type:t,audioReference:r,refId:i,volume:o}=e;if("add"===t){if(this.audioReferenceMap.get(i)||!r||(this.audioReferenceMap.set(i,r),!this.audioProcessor))return;this.mixAudioReference(r,i)}else if("remove"===t)this.audioReferenceMap.get(i)&&(this.audioReferenceMap.delete(i),this.unMixAudioReference(i));else if("updateVolume"===t){if(!this.audioProcessor||FD(o))return;this.setAudioReferenceVolume(i,o)}}};var PB=class e extends uU{constructor(t,r,i){super({userId:r.userId,sdkAppId:t.sdkAppId,mediaType:i,room:t}),this.room=t,this.user=r,rw(this,"tinyId"),rw(this,"isRemote",!0),rw(this,"jitterBufferDelay",0),rw(this,"availableState"),rw(this,"remotePublishState"),rw(this,"_triggerCheckDecodeSubject",aV(vV(this,e.STATE_SUBSCRIBE))),this.tinyId=r.tinyId,this.availableState=new PP("".concat(r.userId,"-").concat(this.mediaType,"-available"),"remote-track-available"),this.remotePublishState=new PP("".concat(r.userId,"-").concat(this.mediaType,"-remote-publish"),"remote-track-publish"),FU(YU(vV(this,PP.STATECHANGED),vV(this.remotePublishState,PP.STATECHANGED)),hF((()=>this.isRemotePublished&&(this.isSubscribed||this.isSubscribing))),WF((e=>{this.availableState.state!==(e?PP.ON:PP.OFF)&&(this.availableState.state=e?PP.ON:PP.OFF),this.updatePlayingState(e)})));let o=FU(vV(this.player,WP.ERROR),VV((e=>e.code===MediaError.MEDIA_ERR_DECODE))),n=FU(_V(5e3),VV((()=>!(this.ignoreDecodeError||!this.isSubscribed||!this.isPlayCalled||!this.stat.bytesReceived)&&(!this.player.isPlaying&&!(this.kind===$w.AUDIO?this.getAudioLevel()>0:this.stat.framesDecoded>0)||(this.reportDecodeResult(!0),!1))))),a=FU(JU(o,n),HV(vV(this,PP.INIT)));FU(this._triggerCheckDecodeSubject,VV((()=>!this.ignoreDecodeError)),yF(a),WF((e=>{this.reportDecodeResult(!1,e)})))}setMute(e){this.isRemotePublished&&super.setMute(e)}setInputMediaStreamTrack(e){super.setInputMediaStreamTrack(e),this.isRemotePublished&&this.isSubscribed&&this.player.setTrack(this.outMediaTrack)}checkDecodeResult(){this._triggerCheckDecodeSubject.next(!0)}waitHasMediaTrack(){return new Promise((e=>{this.mediaTrack?e():this.once("input-media-track-changed",e)}))}get ignoreDecodeError(){var e,t;return((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.downlinkNetworkQuality)||0)>3||this.player.isInAutoPlayFailedState}get isSubscribing(){return"subscribeing"===this.state.toString()}get isSubscribed(){return this.state===e.STATE_SUBSCRIBE}get isAvailable(){return this.availableState.state===PP.ON}get isNeedPlay(){return this.isAvailable&&this.isPlayCalled}subscribe(e){return e}unsubscribe(){this.player.setTrack(null),"main"===this.streamType&&"video"===this.kind&&this.room.changeType(!1,this.user)}reportDecodeResult(e,t){var r,i;let o=this.kind===$w.AUDIO;if(EL[e?"addSuccessEvent":"addFailedEvent"]({key:o?504700:514702}),!o){let t=(null==(r=this.room)?void 0:r.downlinkVideoCodec.toUpperCase())||"H264";EL[e?"addSuccessEvent":"addFailedEvent"]({key:fL["DECODE_".concat(t,"_RESULT")]}),e||this.log.warn("".concat(null==(i=this.room)?void 0:i.downlinkVideoCodec," decode failed"))}e||(EL.addEnum({key:o?504701:514703,value:xO()}),qP.uploadEvent({log:"stat-decode-failed-".concat(this.kind,"-").concat(OO()||VO()),userId:this.room.userId}),this._log.warn("decode failed: isPlaying: ".concat(this.player.isPlaying," ").concat(this.kind===$w.AUDIO?"audioLevel: ".concat(this.getAudioLevel()):"framesDecoded: ".concat(this.stat.framesDecoded>0))),this.emit("decode-failed",{error:t}))}updatePlayingState(e){if(this.isPlayCalled&&this.player.isStopped===e){if(e&&(!this.isSubscribed||!this.isRemotePublished||!this.outMediaTrack))return void this.log.info("abort play, isSubscribed: ".concat(this.isSubscribed," isAvailable: ").concat(this.isRemotePublished," hasTrack: ").concat(!!this.outMediaTrack," "));super.updatePlayingState(e)}}close(){super.close(),this.outMediaTrack&&this.uninstallTrackEvent(this.outMediaTrack)}onFlagChanged(){this.remotePublishState.state=this.isRemotePublished?PP.ON:PP.OFF,this.emit("remote-publish-changed",this.isRemotePublished)}onTrackMuted(){this.isNeedPlay&&super.onTrackMuted()}onTrackUnmuted(){this.isNeedPlay&&super.onTrackUnmuted()}onTrackEnded(){this.isNeedPlay&&super.onTrackEnded()}};rw(PB,"STATE_SUBSCRIBE","subscribe"),tw([function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return yU(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];return new Promise(((o,a)=>{let s=setTimeout((()=>{let r=new pw({code:uw.API_CALL_TIMEOUT,message:"checkPendingPromise ".concat(i,"() timeout ").concat(e,"s")});(this.log||this._log||qO).warn(r),2===t?a(r):1===t&&o()}),1e3*e);r.apply(this,n).then(o,a).finally((()=>{clearTimeout(s)}))}))}))}(5,1)],PB.prototype,"waitHasMediaTrack",1),tw([OP(PP.INIT,PB.STATE_SUBSCRIBE,{success(){this.log.info("subscribed"),WO.emit(GO.REMOTE_TRACK_SUBSCRIBED,{track:this})},ignoreError:!0}),wU(521716,!1)],PB.prototype,"subscribe",1),tw([OP(PB.STATE_SUBSCRIBE,PP.INIT,{sync:!0,success(){this.log.info("unsubscribed"),WO.emit(GO.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],PB.prototype,"unsubscribe",1);var xB=PB,UB=class extends xB{constructor(e,t){super(e,t,1),rw(this,"volume",0),rw(this,"mediaType",1),rw(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}get dbVolume(){return Kx.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}onPlayerError(e){this.enableDecodeFrame&&(this._log.warn("use audio decoder"),this.room.enableInsertableStreams())}get enableDecodeFrame(){var e,t;return!!this.manager&&(this.manager.decodePipeline.some((e=>e))||(null==(t=null==(e=this.player.element)?void 0:e.error)?void 0:t.code)===MediaError.MEDIA_ERR_DECODE&&dP().AudioDecoder&&aP)}decodeFrame(e){if(!this.manager)return e;let t=e;for(let[r,i]of this.manager.decodePipeline.entries()){if(!i)continue;let o={frame:e,track:this};if(1===r&&this.isAvailable&&"audience"===this.room.role&&(o.onAudioFrameNTPTime=e=>{let{ntp:t,frame:r,hasLeavingTag:i}=e;this.emit("audio-frame-with-ntp",{ntp:t,frame:r,hasLeavingTag:i})}),t=i(o),!t)return}return t}getAudioLevel(){let e=this.volume||super.getAudioLevel();return e>1?1:e}get isRemotePublished(){return this.user.muteState.audioAvailable}};var VB=class extends xB{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),rw(this,"mediaType",4),rw(this,"source"),rw(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.videoManager,this.once("first-video-frame",(e=>{this.room.emit("first-video-frame",e)}))}play(e,t){return(WD(null==t?void 0:t.canvasRender)?t.canvasRender:17===EO)&&!this.source&&this.useCanvasPlayer(),super.play(e,t).then((()=>{this.player.calculateStat()}))}useCanvasPlayer(){if(this.log.info("useCanvasPlayer(), has element:".concat(!!this.player.element)),!this.player.element)return;let e=new TB({frameRate:15,logger:this.log,name:this.userId});e.create({alpha:!1});let t=new lB(e,{name:"remotePlayer",logger:this.log});this.source=e.createVideoPlayerSource(this.player),this.source.connect(t),this.player.setCanvas(e._canvas),EP()||(this.updateCanvasPlayerFPS=this.updateCanvasPlayerFPS.bind(this,e),this.room.on("heartbeat-report",this.updateCanvasPlayerFPS,this))}updateCanvasPlayerFPS(e){let t=this.decodeFPS,r=(i=t,[15,30,45,60].reduce(((e,t)=>Math.abs(t-i)<Math.abs(e-i)?t:e)));var i;!HD(t)||t<=0?this.log.debug("updateCanvasPlayerFPS() ignore decoder: ".concat(t," ")):r!==e.frameRate?(this.log.info("updateCanvasPlayerFPS() decoder: ".concat(t,", closest: ").concat(r,", current: ").concat(e.frameRate)),e.frameRate=r):this.log.debug("updateCanvasPlayerFPS() ignore ClosestFPS ".concat(r," == ").concat(e.frameRate))}get decodeFPS(){var e;let{msg_video_status:t}=(null==(e=this.room.heartbeatReport)?void 0:e.msg_down_stream_info.find((e=>e.msg_user_info.str_identifier===this.userId)))||{},r=2===this.mediaType?7:this.isSmall?3:2;if(!t||0===t.length)return 0;let i=t.find((e=>e.uint32_video_stream_type===r));return(null==i?void 0:i.uint32_video_dec_fps)||0}stop(){return this.room.off("heartbeat-report",this.updateCanvasPlayerFPS,this),super.stop()}decodeFrame(e){if(!this.manager)return e;for(let t of this.manager.decodePipeline)if(t&&!(e=t({frame:e,track:this})))return;return e}get isBig(){return 4===this.mediaType}get isSmall(){return 8===this.mediaType}changeType(e){this.room.changeType(e,this.user)}get isRemotePublished(){return this.user.muteState.videoAvailable}setMirror(e){"publish"===e||"both"===e||super.setMirror(e)}onDecodeDowngradeStateChanged(e){this.emit("decode-downgrade-state-changed",e)}},FB=class extends VB{constructor(e,t){super(e,t,2),rw(this,"mediaType",2),rw(this,"objectFit","contain")}get isRemotePublished(){return this.user.muteState.hasAuxiliary}},BB=new Map;function HB(e,t){let r=$b(Xb({},t),{timestamp:fw()});BB.has(e)?BB.get(e).push(r):BB.set(e,[r])}function WB(e){if(BB.has(e)){let t=BB.get(e).map((e=>({uint32_event_id:e.eventId,uint64_date:e.timestamp,str_userid:e.remoteUserId,uint32_param1:e.param1,uint32_param2:e.param2,uint32_video_stream_type:e.streamType})));return BB.delete(e),t}return[]}function jB(e,t,r,i){try{if(GD(e))for(let o=0;o<e.length;o++)GB.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else GB.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}catch(iM){throw qO.error(iM),iM}}function GB(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;if(FD(r)){if(t.required)throw new pw({code:uw.INVALID_PARAMETER,message:sL({key:iL.INVALID_PARAMETER_REQUIRED,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(FD(t.defaultValue))return;r=t.defaultValue}if(Array.isArray(t.type)){let e=!1;for(let i=0;i<t.type.length;i++)null===t.type[i]&&null===r&&(e=!0),VD(t.type[i])&&r instanceof t.type[i]&&(e=!0),BD(t.type[i])&&UD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new pw({code:uw.INVALID_PARAMETER,message:sL({key:iL.INVALID_PARAMETER_TYPE,data:{key:i,rule:{type:t.type.map((e=>YD(e)?JD(e):BD(e)?e:UD(e)))},fnName:o,value:r},link:{className:n,fnName:o}})})}else if(!FD(t.type)&&UD(r)!==t.type)throw new pw({code:uw.INVALID_PARAMETER,message:sL({key:iL.INVALID_PARAMETER_TYPE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!1===t.allowEmpty){let e=HD(r)&&(0===r||Number.isNaN(r)),a=BD(r)&&""===r.trim();if(e||a)throw new pw({code:uw.INVALID_PARAMETER,message:sL({key:iL.INVALID_PARAMETER_EMPTY,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}if(t.notLessThanZero&&HD(r)&&r<0)throw new pw({code:uw.INVALID_PARAMETER,message:sL({key:iL.CANNOT_LESS_THAN_ZERO,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!FD(t.min)&&HD(r)&&r<t.min)throw new pw({code:uw.INVALID_PARAMETER,message:sL({key:iL.INVALID_PARAMETER_MIN,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!FD(t.max)&&HD(r)&&r>t.max)throw new pw({code:uw.INVALID_PARAMETER,message:sL({key:iL.INVALID_PARAMETER_MAX,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(BD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new pw({code:uw.INVALID_PARAMETER,message:sL({key:iL.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}else if(VD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new pw({code:uw.INVALID_PARAMETER,message:sL({key:iL.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(t.values&&!t.values.includes(r))throw new pw({code:uw.INVALID_PARAMETER,message:sL({key:iL.INVALID_PARAMETER_RANGE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});let{properties:a}=t;LD(a)&&jD(r)&&Object.keys(a).forEach((e=>{GB.call(this,{rule:a[e],value:r&&r[e],key:"".concat(i,".").concat(e),fnName:o,className:n})}));let{arrayItem:s}=t;LD(s)&&GD(r)&&r.forEach(((e,t)=>{GB.call(this,{rule:s,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),VD(t.validate)&&t.validate.call(this,r,i,o,n,this)}WO.on(GO.JOIN_SUCCESS,(e=>{let{room:t}=e;HB(t.userId,{eventId:32788})})),WO.on(GO.LEAVE_START,(e=>{let{room:t}=e;HB(t.userId,{eventId:32789})})),WO.on(GO.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),HB(t.room.userId,{eventId:e})}})),WO.on(GO.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),HB(t.room.userId,{eventId:e})}})),WO.on(GO.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===$w.AUDIO?HB(t.room.userId,{eventId:t.isRemote?32785:32772,remoteUserId:t.isRemote?t.userId:void 0}):HB(t.room.userId,{eventId:t.isRemote?32784:32773,remoteUserId:t.isRemote?t.userId:void 0}))})),WO.on(GO.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===$w.AUDIO?HB(t.room.userId,{eventId:t.isRemote?32787:32774,remoteUserId:t.isRemote?t.userId:void 0}):HB(t.room.userId,{eventId:t.isRemote?32786:32775,remoteUserId:t.isRemote?t.userId:void 0}))})),WO.on(GO.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&HB(t.room.userId,{eventId:32777,remoteUserId:t.userId}),4===t.mediaType&&HB(t.room.userId,{eventId:32776,remoteUserId:t.userId}),8===t.mediaType&&HB(t.room.userId,{eventId:32803,remoteUserId:t.userId}))})),WO.on(GO.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&HB(t.room.userId,{eventId:32779,remoteUserId:t.userId}),4===t.mediaType&&HB(t.room.userId,{eventId:32778,remoteUserId:t.userId}),8===t.mediaType&&HB(t.room.userId,{eventId:32804,remoteUserId:t.userId}))})),WO.on(GO.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&HB(t.room.userId,{eventId:t.kind===$w.VIDEO?32780:32781})})),WO.on(GO.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&HB(t.room.userId,{eventId:t.kind===$w.VIDEO?32782:32783})})),WO.on(GO.SIGNAL_CONNECTION_STATE_CHANGED,(e=>{let t,{room:r,prevState:i,state:o}=e;switch(o){case"CONNECTED":t="RECONNECTING"===i?32795:32791;break;case"DISCONNECTED":t="RECONNECTING"===i?32796:32790;break;case"RECONNECTING":t=32794}t&&HB(r.userId,{eventId:t})})),WO.on(GO.PEER_CONNECTION_STATE_CHANGED,(e=>{let t,{room:r,prevState:i,state:o,remoteUserId:n}=e,a=!!n;switch(o){case"CONNECTED":t="RECONNECTING"===i?a?32801:32798:a?32793:32792;break;case"DISCONNECTED":"RECONNECTING"===i&&(t=a?32802:32799);break;case"RECONNECTING":t=a?32800:32797}t&&HB(r.userId,{eventId:t,remoteUserId:n})})),WO.on(GO.VIDEO_CODEC_IMPLEMENTATION_CHANGED,(e=>{let{implementation:t,userId:r,remoteUserId:i,codec:o,isHWCodec:n,prevImplementation:a,streamType:s}=e,c=n?1:0;a||(c=n?3:2);let l={H264:0,H265:1,VP8:2}[o.toUpperCase()],d={eventId:4004,param1:c,param2:l,streamType:s||2};i&&(d.remoteUserId=i,d.eventId=4005),HB(r,d),EL.addEnum({key:i?514701:513701,value:c}),EL.addEnum({key:i?514700:513700,value:l})})),WO.on(GO.LOCAL_TRACK_RECAPTURE,(e=>{let{track:t,error:r}=e;if(t.userId){let e={eventId:2003,param1:0};t.kind===$w.AUDIO?(e.streamType=1,r&&(e.param1=2)):(e.streamType="auxiliary"===t.streamType?7:2,r&&(e.param1=8)),HB(t.userId,e)}})),ew(nw(),1);var zB=Object.create,KB=Object.defineProperty,qB=Object.defineProperties,YB=Object.getOwnPropertyDescriptor,JB=Object.getOwnPropertyDescriptors,XB=Object.getOwnPropertyNames,$B=Object.getOwnPropertySymbols,QB=Object.getPrototypeOf,ZB=Object.prototype.hasOwnProperty,eH=Object.prototype.propertyIsEnumerable,tH=(e,t,r)=>t in e?KB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,rH=(e,t)=>{for(var r in t||(t={}))ZB.call(t,r)&&tH(e,r,t[r]);if($B)for(var r of $B(t))eH.call(t,r)&&tH(e,r,t[r]);return e},iH=(e,t)=>qB(e,JB(t)),oH=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?YB(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(n=(i?o(t,r,n):o(n))||n);return i&&n&&KB(t,r,n),n},nH=(e,t,r)=>tH(e,"symbol"!=typeof t?t+"":t,r),aH=((e,t)=>function(){return t||(0,e[XB(e)[0]])((t={exports:{}}).exports,t),t.exports})({"../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js"(e,t){var r=Object.prototype.hasOwnProperty,i="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new n(r,o||e,a),c=i?i+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,o=[];if(0===this._eventsCount)return o;for(t in e=this._events)r.call(e,t)&&o.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,n=r.length,a=new Array(n);o<n;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,n,a){var s=i?i+e:e;if(!this._events[s])return!1;var c,l,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,o),!0;case 5:return d.fn.call(d.context,t,r,o,n),!0;case 6:return d.fn.call(d.context,t,r,o,n,a),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(e,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,t);break;case 3:d[l].fn.call(d[l].context,t,r);break;case 4:d[l].fn.call(d[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[l].context,c)}}return!0},c.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},c.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},c.prototype.removeListener=function(e,t,r,o){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return s(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||o&&!a.once||r&&a.context!==r||s(this,n);else{for(var c=0,l=[],d=a.length;c<d;c++)(a[c].fn!==t||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[n]=1===l.length?l[0]:l:s(this,n)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&s(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,void 0!==t&&(t.exports=c)}}),sH=((e,t,r)=>(r=null!=e?zB(QB(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of XB(t))ZB.call(e,o)||o===r||KB(e,o,{get:()=>t[o],enumerable:!(i=YB(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:KB(r,"default",{value:e,enumerable:!0}),e)))(aH(),1),cH=Symbol("instance"),lH=Symbol("cacheResult"),dH=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,fH.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},uH=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var hH=new Map;function pH(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i,o,n)=>{let a=r.action||o;if(!r.context){let r=hH.get(i)||[];hH.has(i)||hH.set(i,r),r.push({from:e,to:t,action:a})}let s=n.value;n.value=function(){let i=this;for(var o=arguments.length,n=new Array(o),c=0;c<o;c++)n[c]=arguments[c];if(r.context&&(i=_H.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[lH]:Promise.resolve(i[lH]);i.state instanceof dH&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof dH&&i.state.abort(i):"string"==typeof i.state&&e.includes(i.state)||(l=new uH(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(l=new uH(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let d=e=>{if(r.fail&&r.fail.call(this,e),r.sync){if(r.ignoreError)return e;throw e}return r.ignoreError?Promise.resolve(e):Promise.reject(e)};if(l)return d(l);let u=i.state,h=new dH(u,t,a);fH.call(i,h);let p=e=>{var o;return i[lH]=e,h.aborted||(fH.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[lH])),e},m=e=>(fH.call(i,u,e),d(e));try{let e=s.apply(this,n);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(p).catch(m):r.sync?p(e):Promise.resolve(p(e))}catch(sM){return m(new uH(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(sM),sM instanceof Error?sM:new Error(String(sM))))}}}}var mH="undefined"!=typeof window&&window.__AFSM__?(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))}:"undefined"!=typeof importScripts?(e,t)=>{postMessage({type:e,payload:t})}:()=>{};function fH(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(_H.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var _H=class e extends sH.default{constructor(t,r,i){super(),this.name=t,this.groupName=r,this._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),r||(this.groupName=this.constructor.name);let o=i[cH];o?this.name=o.name+"-"+o.count++:i[cH]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=hH.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);hH.has(a)&&(a.stateDiagram.forEach((e=>r.add(e))),a.allStates.forEach((e=>n.add(e)))),t.forEach((e=>{let{from:t,to:r,action:n}=e;"string"==typeof t?i.push({from:t,to:r,action:n}):t.length?t.forEach((e=>{i.push({from:e,to:r,action:n})})):o.push({to:r,action:n})})),i.forEach((e=>{let{from:t,to:i,action:o}=e;n.add(t),n.add(i),n.add(o+"ing"),r.add("".concat(t," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(i," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(t," : ").concat(o," 🔴"))})),o.forEach((e=>{let{to:t,action:i}=e;r.add("".concat(i,"ing --\x3e ").concat(t," : ").concat(i," 🟢")),n.forEach((e=>{e!==t&&r.add("".concat(e," --\x3e ").concat(i,"ing : ").concat(i))}))}));let s=[...r];return Object.defineProperties(e,{stateDiagram:{value:s},allStates:{value:n}}),s}static get(t){let r;return"string"==typeof t?(r=e.instances.get(t),r||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype)))):(r=e.instances2.get(t),r||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype)))),r}static getState(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}updateDevTools(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};mH(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){fH.call(this,e)}};_H.STATECHANGED="stateChanged",_H.UPDATEAFSM="updateAFSM",_H.INIT="[*]",_H.ON="on",_H.OFF="off",_H.instances=new Map,_H.instances2=new WeakMap;var gH=class extends _H{constructor(){super(...arguments),nH(this,"decoder"),nH(this,"config")}initialize(){return ow(this,null,(function*(){this.decoder=new VideoDecoder({output:e=>{this.emit("videoFrame",e)},error:e=>{this.close(),this.emit("error",e)}})}))}configure(e){this.config=e,this.decoder.configure(iH(rH({},e),{codec:this.getCodec(e)}))}getCodec(e){switch(e.codec){case"hevc":return"hvc1.1.6.L0.12.34.56.78.9A.BC";case"av1":return"av01.0.05M.08";case"avc":return"avc1.420028";default:return e.codec}}decode(e){"configured"===this.decoder.state&&this.decoder.decode(new EncodedVideoChunk(e))}flush(){this.decoder.flush()}reset(){this.decoder.reset()}close(){"closed"!==this.decoder.state&&this.decoder.close()}};function EH(){var e;self.onmessage=t=>{if("init"===t.data.type){let{canvas:r,wasmScript:i,wasmBinary:o}=t.data,n=null==r?void 0:r.getContext("2d"),a=0,s=0,c={wasmBinary:o,postRun:()=>{e=new c.VideoDecoder({videoInfo(e,t){a=e,s=t,console.log("video info",e,t)},yuvData(e,t){let i=a*s,o=i>>2,l=c.HEAPU32[e>>2],d=c.HEAPU32[1+(e>>2)],u=c.HEAPU32[2+(e>>2)],h=c.HEAPU8.subarray(l,l+i),p=c.HEAPU8.subarray(d,d+o),m=c.HEAPU8.subarray(u,u+o),f=new Uint8Array(i+o+o);f.set(h),f.set(p,i),f.set(m,i+o);let _=new VideoFrame(f,{codedWidth:a,codedHeight:s,format:"I420",timestamp:t});r?(null==n||n.drawImage(_,0,0,r.width,r.height),null==n||n.commit()):self.postMessage({type:"yuvData",videoFrame:_},[_])}}),self.postMessage({type:"ready"})}};Function("var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;return "+i)()(c)}else if("decode"===t.data.type){let{packet:r}=t.data;null==e||e.decode(r.data,"key"==r.type,r.timestamp)}else if("setCodec"===t.data.type){let{codec:r,format:i,description:o}=t.data;null==e||e.setCodec(r,i,null!=o?o:"")}}}oH([pH([_H.INIT,"closed"],"initialized")],gH.prototype,"initialize",1),oH([pH("initialized","configured",{sync:!0})],gH.prototype,"configure",1),oH([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return(e,r,i)=>{let o=i.value,n=r;i.value=function(){if(!t.includes(this.state.toString()))throw new uH(this.state,"".concat(this.name," ").concat(n," failed: current state ").concat(this.state," not in ").concat(t));for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];return o.apply(this,r)}}}("configured")],gH.prototype,"decode",1),oH([pH([],_H.INIT,{sync:!0})],gH.prototype,"reset",1),oH([pH([],"closed",{ignoreError:!0,sync:!0})],gH.prototype,"close",1);var vH=class extends _H{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.createModule=e,this.wasmBinary=t,this.workerMode=r,this.canvas=i,this.yuvMode=o,nH(this,"worker"),nH(this,"decoder"),nH(this,"config"),nH(this,"module",{}),nH(this,"width",0),nH(this,"height",0)}initialize(e){return ow(this,null,(function*(){var t;if(this.workerMode){let e=new RegExp("\\{(.+)\\}","s").exec(EH.toString())[1];this.worker=new Worker(URL.createObjectURL(new Blob([e],{type:"text/javascript"})));let r=null==(t=this.canvas)?void 0:t.transferControlToOffscreen(),i=yield this.wasmBinary;return console.warn("worker mode",i),this.worker.postMessage({type:"init",canvas:r,wasmScript:this.createModule.toString(),wasmBinary:i},r?[r,i]:[i]),new Promise((e=>{this.worker.onmessage=t=>{if("ready"===t.data.type)delete this.wasmBinary,e(),console.warn("worker mode initialize success");else if("yuvData"===t.data.type){let{videoFrame:e}=t.data;this.emit("videoFrame",e)}}}))}let r=this.module;return this.wasmBinary&&(r.wasmBinary=yield this.wasmBinary),r.print=e=>console.log(e),r.printErr=e=>console.log("[JS] ERROR: ".concat(e)),r.onAbort=()=>console.log("[JS] FATAL: WASM ABORTED"),new Promise((t=>{r.postRun=e=>{this.decoder=new this.module.VideoDecoder(this),console.log("video soft decoder initialize success"),t()},e&&Object.assign(r,e),this.createModule(r)}))}))}configure(e){var t,r,i;this.config=e;let o=this.config.codec.startsWith("avc")?"avc":"hevc",n=this.config.description?"avc"==o?"avcc":"hvcc":"annexb";null==(r=this.decoder)||r.setCodec(o,n,null!=(t=this.config.description)?t:""),null==(i=this.worker)||i.postMessage({type:"setCodec",codec:o,format:n,description:this.config.description})}decode(e){var t,r;null==(t=this.decoder)||t.decode(e.data,"key"==e.type,e.timestamp),"configured"===this.state&&(null==(r=this.worker)||r.postMessage({type:"decode",packet:e}))}flush(){}reset(){this.config=void 0,this.decoder&&this.decoder.clear()}close(){this.removeAllListeners(),this.decoder&&(this.decoder.clear(),this.decoder.delete())}videoInfo(e,t){this.width=e,this.height=t;let r={width:e,height:t};this.emit("videoCodecInfo",r)}yuvData(e,t){if(!this.module)return;let r=this.width*this.height,i=r>>2,o=this.module.HEAPU32[e>>2],n=this.module.HEAPU32[1+(e>>2)],a=this.module.HEAPU32[2+(e>>2)],s=this.module.HEAPU8.subarray(o,o+r),c=this.module.HEAPU8.subarray(n,n+i),l=this.module.HEAPU8.subarray(a,a+i);if(this.yuvMode)return void this.emit("videoFrame",{y:s,u:c,v:l,timestamp:t});let d=new Uint8Array(r+i+i);d.set(s),d.set(c,r),d.set(l,r+i),this.emit("videoFrame",new VideoFrame(d,{codedWidth:this.width,codedHeight:this.height,format:"I420",timestamp:t}))}errorInfo(e){let t={errMsg:e};this.emit("error",t)}};oH([pH([_H.INIT,"closed"],"initialized")],vH.prototype,"initialize",1),oH([pH("initialized","configured",{sync:!0})],vH.prototype,"configure",1),oH([pH([],_H.INIT,{sync:!0})],vH.prototype,"reset",1),oH([pH([],"closed",{sync:!0})],vH.prototype,"close",1);var yH,TH=(yH="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,r,i=e;i.ready=new Promise(((e,i)=>{t=e,r=i}));var o,n,a,s=Object.assign({},i),c="./this.program",l="object"==typeof window,d="function"==typeof importScripts,u=("object"==typeof process&&"object"==typeof process.versions&&process.versions.node,"");(l||d)&&(d?u=self.location.href:"undefined"!=typeof document&&document.currentScript&&(u=document.currentScript.src),yH&&(u=yH),u=0!==u.indexOf("blob:")?u.substr(0,u.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),n=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var h,p,m=i.print||console.log.bind(console),f=i.printErr||console.error.bind(console);Object.assign(i,s),s=null,i.arguments&&i.arguments,i.thisProgram&&(c=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(h=i.wasmBinary),i.noExitRuntime,"object"!=typeof WebAssembly&&U("no native wasm support detected");var _,g,E,v,y,T,I,A,S,R,b,w,C,D=!1,N=[],k=[],O=[],M=0,L=null;function P(e){M++,i.monitorRunDependencies&&i.monitorRunDependencies(M)}function x(e){if(M--,i.monitorRunDependencies&&i.monitorRunDependencies(M),0==M&&L){var t=L;L=null,t()}}function U(e){i.onAbort&&i.onAbort(e),f(e="Aborted("+e+")"),D=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw r(t),t}function V(e){return e.startsWith("data:application/octet-stream;base64,")}function F(e){if(e==R&&h)return new Uint8Array(h);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function B(e,t,r){return(i=e,h||!l&&!d||"function"!=typeof fetch?Promise.resolve().then((()=>F(i))):fetch(i,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+i+"'";return e.arrayBuffer()})).catch((()=>F(i)))).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{f("failed to asynchronously prepare wasm: "+e),U(e)}));var i}V(R="videodec.wasm")||(b=R,R=i.locateFile?i.locateFile(b,u):u+b);var H=e=>{for(;e.length>0;)e.shift()(i)};function W(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){T[this.ptr+4>>2]=e},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(e){T[this.ptr+8>>2]=e},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,_[this.ptr+12|0]=e},this.get_caught=function(){return 0!=_[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,_[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=_[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){T[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(Rt(this.get_type()))return T[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var j={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var o=e[i];"."===o?e.splice(i,1):".."===o?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=j.isAbs(e),r="/"===e.substr(-1);return(e=j.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=j.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=j.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return j.normalize(e.join("/"))},join2:(e,t)=>j.normalize(e+"/"+t)},G=e=>(G=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);U("initRandomDevice")})())(e),z={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:ie.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=j.isAbs(i)}return(t?"/":"")+(e=j.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=z.resolve(e).substr(1),t=z.resolve(t).substr(1);for(var i=r(e.split("/")),o=r(t.split("/")),n=Math.min(i.length,o.length),a=n,s=0;s<n;s++)if(i[s]!==o[s]){a=s;break}var c=[];for(s=a;s<i.length;s++)c.push("..");return(c=c.concat(o.slice(a))).join("/")}},K="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,q=(e,t,r)=>{for(var i=t+r,o=t;e[o]&&!(o>=i);)++o;if(o-t>16&&e.buffer&&K)return K.decode(e.subarray(t,o));for(var n="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if((a=224==(240&a)?(15&a)<<12|s<<6|c:(7&a)<<18|s<<12|c<<6|63&e[t++])<65536)n+=String.fromCharCode(a);else{var l=a-65536;n+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else n+=String.fromCharCode((31&a)<<6|s)}else n+=String.fromCharCode(a)}return n},Y=[],J=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++r):t+=3}return t},X=(e,t,r,i)=>{if(!(i>0))return 0;for(var o=r,n=r+i-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=n)break;t[r++]=s}else if(s<=2047){if(r+1>=n)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=n)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=n)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o};function $(e,t,r){var i=r>0?r:J(e)+1,o=new Array(i),n=X(e,o,0,o.length);return t&&(o.length=n),o}var Q={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Q.ttys[e]={input:[],output:[],ops:t},ie.registerDevice(e,Q.stream_ops)},stream_ops:{open:function(e){var t=Q.ttys[e.node.rdev];if(!t)throw new ie.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,r,i,o){if(!e.tty||!e.tty.ops.get_char)throw new ie.ErrnoError(60);for(var n=0,a=0;a<i;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(c){throw new ie.ErrnoError(29)}if(void 0===s&&0===n)throw new ie.ErrnoError(6);if(null==s)break;n++,t[r+a]=s}return n&&(e.node.timestamp=Date.now()),n},write:function(e,t,r,i,o){if(!e.tty||!e.tty.ops.put_char)throw new ie.ErrnoError(60);try{for(var n=0;n<i;n++)e.tty.ops.put_char(e.tty,t[r+n])}catch(a){throw new ie.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),n}},default_tty_ops:{get_char:function(e){return(()=>{if(!Y.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;Y=$(e,!0)}return Y.shift()})()},put_char:function(e,t){null===t||10===t?(m(q(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(m(q(e.output,0)),e.output=[])},ioctl_tcgets:function(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets:function(e,t,r){return 0},ioctl_tiocgwinsz:function(e){return[24,80]}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(f(q(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(f(q(e.output,0)),e.output=[])}}},Z=e=>{U()},ee={ops_table:null,mount:e=>ee.createNode(null,"/",16895,0),createNode(e,t,r,i){if(ie.isBlkdev(r)||ie.isFIFO(r))throw new ie.ErrnoError(63);ee.ops_table||(ee.ops_table={dir:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr,lookup:ee.node_ops.lookup,mknod:ee.node_ops.mknod,rename:ee.node_ops.rename,unlink:ee.node_ops.unlink,rmdir:ee.node_ops.rmdir,readdir:ee.node_ops.readdir,symlink:ee.node_ops.symlink},stream:{llseek:ee.stream_ops.llseek}},file:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr},stream:{llseek:ee.stream_ops.llseek,read:ee.stream_ops.read,write:ee.stream_ops.write,allocate:ee.stream_ops.allocate,mmap:ee.stream_ops.mmap,msync:ee.stream_ops.msync}},link:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr,readlink:ee.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr},stream:ie.chrdev_stream_ops}});var o=ie.createNode(e,t,r,i);return ie.isDir(o.mode)?(o.node_ops=ee.ops_table.dir.node,o.stream_ops=ee.ops_table.dir.stream,o.contents={}):ie.isFile(o.mode)?(o.node_ops=ee.ops_table.file.node,o.stream_ops=ee.ops_table.file.stream,o.usedBytes=0,o.contents=null):ie.isLink(o.mode)?(o.node_ops=ee.ops_table.link.node,o.stream_ops=ee.ops_table.link.stream):ie.isChrdev(o.mode)&&(o.node_ops=ee.ops_table.chrdev.node,o.stream_ops=ee.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=ie.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ie.isDir(e.mode)?t.size=4096:ie.isFile(e.mode)?t.size=e.usedBytes:ie.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ee.resizeFileStorage(e,t.size)},lookup(e,t){throw ie.genericErrors[44]},mknod:(e,t,r,i)=>ee.createNode(e,t,r,i),rename(e,t,r){if(ie.isDir(e.mode)){var i;try{i=ie.lookupNode(t,r)}catch(n){}if(i)for(var o in i.contents)throw new ie.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=ie.lookupNode(e,t);for(var i in r.contents)throw new ie.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=ee.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!ie.isLink(e.mode))throw new ie.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,o){var n=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,i);if(a>8&&n.subarray)t.set(n.subarray(o,o+a),r);else for(var s=0;s<a;s++)t[r+s]=n[o+s];return a},write(e,t,r,i,o,n){if(!i)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(n)return a.contents=t.subarray(r,r+i),a.usedBytes=i,i;if(0===a.usedBytes&&0===o)return a.contents=t.slice(r,r+i),a.usedBytes=i,i;if(o+i<=a.usedBytes)return a.contents.set(t.subarray(r,r+i),o),i}if(ee.expandFileStorage(a,o+i),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+i),o);else for(var s=0;s<i;s++)a.contents[o+s]=t[r+s];return a.usedBytes=Math.max(a.usedBytes,o+i),i},llseek(e,t,r){var i=t;if(1===r?i+=e.position:2===r&&ie.isFile(e.node.mode)&&(i+=e.node.usedBytes),i<0)throw new ie.ErrnoError(28);return i},allocate(e,t,r){ee.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,i,o){if(!ie.isFile(e.node.mode))throw new ie.ErrnoError(43);var n,a,s=e.node.contents;if(2&o||s.buffer!==_.buffer){if((r>0||r+t<s.length)&&(s=s.subarray?s.subarray(r,r+t):Array.prototype.slice.call(s,r,r+t)),a=!0,!(n=Z()))throw new ie.ErrnoError(48);_.set(s,n)}else a=!1,n=s.byteOffset;return{ptr:n,allocated:a}},msync:(e,t,r,i,o)=>(ee.stream_ops.write(e,t,0,i,r,!1),0)}},te=i.preloadPlugins||[];function re(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}var ie={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=z.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new ie.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=ie.root,o="/",n=0;n<r.length;n++){var a=n===r.length-1;if(a&&t.parent)break;if(i=ie.lookupNode(i,r[n]),o=j.join2(o,r[n]),ie.isMountpoint(i)&&(!a||a&&t.follow_mount)&&(i=i.mounted.root),!a||t.follow)for(var s=0;ie.isLink(i.mode);){var c=ie.readlink(o);if(o=z.resolve(j.dirname(o),c),i=ie.lookupPath(o,{recurse_count:t.recurse_count+1}).node,s++>40)throw new ie.ErrnoError(32)}}return{path:o,node:i}},getPath:e=>{for(var t;;){if(ie.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?"".concat(r,"/").concat(t):r+t:r}t=t?"".concat(e.name,"/").concat(t):e.name,e=e.parent}},hashName:(e,t)=>{for(var r=0,i=0;i<t.length;i++)r=(r<<5)-r+t.charCodeAt(i)|0;return(e+r>>>0)%ie.nameTable.length},hashAddNode:e=>{var t=ie.hashName(e.parent.id,e.name);e.name_next=ie.nameTable[t],ie.nameTable[t]=e},hashRemoveNode:e=>{var t=ie.hashName(e.parent.id,e.name);if(ie.nameTable[t]===e)ie.nameTable[t]=e.name_next;else for(var r=ie.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=ie.mayLookup(e);if(r)throw new ie.ErrnoError(r,e);for(var i=ie.hashName(e.id,t),o=ie.nameTable[i];o;o=o.name_next){var n=o.name;if(o.parent.id===e.id&&n===t)return o}return ie.lookup(e,t)},createNode:(e,t,r,i)=>{var o=new ie.FSNode(e,t,r,i);return ie.hashAddNode(o),o},destroyNode:e=>{ie.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ie.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>ie.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return ie.lookupNode(e,t),20}catch(r){}return ie.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var i;try{i=ie.lookupNode(e,t)}catch(n){return n.errno}var o=ie.nodePermissions(e,"wx");if(o)return o;if(r){if(!ie.isDir(i.mode))return 54;if(ie.isRoot(i)||ie.getPath(i)===ie.cwd())return 10}else if(ie.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ie.isLink(e.mode)?32:ie.isDir(e.mode)&&("r"!==ie.flagsToPermissionString(t)||512&t)?31:ie.nodePermissions(e,ie.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var e=0;e<=ie.MAX_OPEN_FDS;e++)if(!ie.streams[e])return e;throw new ie.ErrnoError(33)},getStreamChecked:e=>{var t=ie.getStream(e);if(!t)throw new ie.ErrnoError(8);return t},getStream:e=>ie.streams[e],createStream:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return ie.FSStream||(ie.FSStream=function(){this.shared={}},ie.FSStream.prototype={},Object.defineProperties(ie.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return!!(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new ie.FSStream,e),-1==t&&(t=ie.nextfd()),e.fd=t,ie.streams[t]=e,e},closeStream:e=>{ie.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=ie.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new ie.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{ie.devices[e]={stream_ops:t}},getDevice:e=>ie.devices[e],getMounts:e=>{for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),ie.syncFSRequests++,ie.syncFSRequests>1&&f("warning: ".concat(ie.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var r=ie.getMounts(ie.root.mount),i=0;function o(e){return ie.syncFSRequests--,t(e)}function n(e){if(e)return n.errored?void 0:(n.errored=!0,o(e));++i>=r.length&&o(null)}r.forEach((t=>{if(!t.type.syncfs)return n(null);t.type.syncfs(t,e,n)}))},mount:(e,t,r)=>{var i,o="/"===r,n=!r;if(o&&ie.root)throw new ie.ErrnoError(10);if(!o&&!n){var a=ie.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,ie.isMountpoint(i))throw new ie.ErrnoError(10);if(!ie.isDir(i.mode))throw new ie.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?ie.root=c:i&&(i.mounted=s,i.mount&&i.mount.mounts.push(s)),c},unmount:e=>{var t=ie.lookupPath(e,{follow_mount:!1});if(!ie.isMountpoint(t.node))throw new ie.ErrnoError(28);var r=t.node,i=r.mounted,o=ie.getMounts(i);Object.keys(ie.nameTable).forEach((e=>{for(var t=ie.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&ie.destroyNode(t),t=r}})),r.mounted=null;var n=r.mount.mounts.indexOf(i);r.mount.mounts.splice(n,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,r)=>{var i=ie.lookupPath(e,{parent:!0}).node,o=j.basename(e);if(!o||"."===o||".."===o)throw new ie.ErrnoError(28);var n=ie.mayCreate(i,o);if(n)throw new ie.ErrnoError(n);if(!i.node_ops.mknod)throw new ie.ErrnoError(63);return i.node_ops.mknod(i,o,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ie.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ie.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var r=e.split("/"),i="",o=0;o<r.length;++o)if(r[o]){i+="/"+r[o];try{ie.mkdir(i,t)}catch(n){if(20!=n.errno)throw n}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,ie.mknod(e,t,r)),symlink:(e,t)=>{if(!z.resolve(e))throw new ie.ErrnoError(44);var r=ie.lookupPath(t,{parent:!0}).node;if(!r)throw new ie.ErrnoError(44);var i=j.basename(t),o=ie.mayCreate(r,i);if(o)throw new ie.ErrnoError(o);if(!r.node_ops.symlink)throw new ie.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename:(e,t)=>{var r,i,o=j.dirname(e),n=j.dirname(t),a=j.basename(e),s=j.basename(t);if(r=ie.lookupPath(e,{parent:!0}).node,i=ie.lookupPath(t,{parent:!0}).node,!r||!i)throw new ie.ErrnoError(44);if(r.mount!==i.mount)throw new ie.ErrnoError(75);var c,l=ie.lookupNode(r,a),d=z.relative(e,n);if("."!==d.charAt(0))throw new ie.ErrnoError(28);if("."!==(d=z.relative(t,o)).charAt(0))throw new ie.ErrnoError(55);try{c=ie.lookupNode(i,s)}catch(p){}if(l!==c){var u=ie.isDir(l.mode),h=ie.mayDelete(r,a,u);if(h)throw new ie.ErrnoError(h);if(h=c?ie.mayDelete(i,s,u):ie.mayCreate(i,s))throw new ie.ErrnoError(h);if(!r.node_ops.rename)throw new ie.ErrnoError(63);if(ie.isMountpoint(l)||c&&ie.isMountpoint(c))throw new ie.ErrnoError(10);if(i!==r&&(h=ie.nodePermissions(r,"w")))throw new ie.ErrnoError(h);ie.hashRemoveNode(l);try{r.node_ops.rename(l,i,s)}catch(p){throw p}finally{ie.hashAddNode(l)}}},rmdir:e=>{var t=ie.lookupPath(e,{parent:!0}).node,r=j.basename(e),i=ie.lookupNode(t,r),o=ie.mayDelete(t,r,!0);if(o)throw new ie.ErrnoError(o);if(!t.node_ops.rmdir)throw new ie.ErrnoError(63);if(ie.isMountpoint(i))throw new ie.ErrnoError(10);t.node_ops.rmdir(t,r),ie.destroyNode(i)},readdir:e=>{var t=ie.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ie.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=ie.lookupPath(e,{parent:!0}).node;if(!t)throw new ie.ErrnoError(44);var r=j.basename(e),i=ie.lookupNode(t,r),o=ie.mayDelete(t,r,!1);if(o)throw new ie.ErrnoError(o);if(!t.node_ops.unlink)throw new ie.ErrnoError(63);if(ie.isMountpoint(i))throw new ie.ErrnoError(10);t.node_ops.unlink(t,r),ie.destroyNode(i)},readlink:e=>{var t=ie.lookupPath(e).node;if(!t)throw new ie.ErrnoError(44);if(!t.node_ops.readlink)throw new ie.ErrnoError(28);return z.resolve(ie.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=ie.lookupPath(e,{follow:!t}).node;if(!r)throw new ie.ErrnoError(44);if(!r.node_ops.getattr)throw new ie.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>ie.stat(e,!0),chmod:(e,t,r)=>{var i;if(!(i="string"==typeof e?ie.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{ie.chmod(e,t,!0)},fchmod:(e,t)=>{var r=ie.getStreamChecked(e);ie.chmod(r.node,t)},chown:(e,t,r,i)=>{var o;if(!(o="string"==typeof e?ie.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,t,r)=>{ie.chown(e,t,r,!0)},fchown:(e,t,r)=>{var i=ie.getStreamChecked(e);ie.chown(i.node,t,r)},truncate:(e,t)=>{if(t<0)throw new ie.ErrnoError(28);var r;if(!(r="string"==typeof e?ie.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);if(ie.isDir(r.mode))throw new ie.ErrnoError(31);if(!ie.isFile(r.mode))throw new ie.ErrnoError(28);var i=ie.nodePermissions(r,"w");if(i)throw new ie.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=ie.getStreamChecked(e);if(!(2097155&r.flags))throw new ie.ErrnoError(28);ie.truncate(r.node,t)},utime:(e,t,r)=>{var i=ie.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open:(e,t,r)=>{if(""===e)throw new ie.ErrnoError(44);var o;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?function(e){var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error("Unknown file open mode: ".concat(e));return t}(t):t)?4095&r|32768:0,"object"==typeof e)o=e;else{e=j.normalize(e);try{o=ie.lookupPath(e,{follow:!(131072&t)}).node}catch(c){}}var n=!1;if(64&t)if(o){if(128&t)throw new ie.ErrnoError(20)}else o=ie.mknod(e,r,0),n=!0;if(!o)throw new ie.ErrnoError(44);if(ie.isChrdev(o.mode)&&(t&=-513),65536&t&&!ie.isDir(o.mode))throw new ie.ErrnoError(54);if(!n){var a=ie.mayOpen(o,t);if(a)throw new ie.ErrnoError(a)}512&t&&!n&&ie.truncate(o,0),t&=-131713;var s=ie.createStream({node:o,path:ie.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!i.logReadFiles||1&t||(ie.readFiles||(ie.readFiles={}),e in ie.readFiles||(ie.readFiles[e]=1)),s},close:e=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(t){throw t}finally{ie.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ie.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ie.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:(e,t,r,i,o)=>{if(i<0||o<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(1==(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.read)throw new ie.ErrnoError(28);var n=void 0!==o;if(n){if(!e.seekable)throw new ie.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,i,o);return n||(e.position+=a),a},write:(e,t,r,i,o,n)=>{if(i<0||o<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.write)throw new ie.ErrnoError(28);e.seekable&&1024&e.flags&&ie.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new ie.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,i,o,n);return a||(e.position+=s),s},allocate:(e,t,r)=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);if(t<0||r<=0)throw new ie.ErrnoError(28);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(!ie.isFile(e.node.mode)&&!ie.isDir(e.node.mode))throw new ie.ErrnoError(43);if(!e.stream_ops.allocate)throw new ie.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:(e,t,r,i,o)=>{if(2&i&&!(2&o)&&2!=(2097155&e.flags))throw new ie.ErrnoError(2);if(1==(2097155&e.flags))throw new ie.ErrnoError(2);if(!e.stream_ops.mmap)throw new ie.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,o)},msync:(e,t,r,i,o)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,o):0,munmap:e=>0,ioctl:(e,t,r)=>{if(!e.stream_ops.ioctl)throw new ie.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'.concat(t.encoding,'"'));var r,i=ie.open(e,t.flags),o=ie.stat(e).size,n=new Uint8Array(o);return ie.read(i,n,0,o,0),"utf8"===t.encoding?r=q(n,0):"binary"===t.encoding&&(r=n),ie.close(i),r},writeFile:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=ie.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(J(t)+1),n=X(t,o,0,o.length);ie.write(i,o,0,n,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ie.write(i,t,0,t.byteLength,void 0,r.canOwn)}ie.close(i)},cwd:()=>ie.currentPath,chdir:e=>{var t=ie.lookupPath(e,{follow:!0});if(null===t.node)throw new ie.ErrnoError(44);if(!ie.isDir(t.node.mode))throw new ie.ErrnoError(54);var r=ie.nodePermissions(t.node,"x");if(r)throw new ie.ErrnoError(r);ie.currentPath=t.path},createDefaultDirectories:()=>{ie.mkdir("/tmp"),ie.mkdir("/home"),ie.mkdir("/home/web_user")},createDefaultDevices:()=>{ie.mkdir("/dev"),ie.registerDevice(ie.makedev(1,3),{read:()=>0,write:(e,t,r,i,o)=>i}),ie.mkdev("/dev/null",ie.makedev(1,3)),Q.register(ie.makedev(5,0),Q.default_tty_ops),Q.register(ie.makedev(6,0),Q.default_tty1_ops),ie.mkdev("/dev/tty",ie.makedev(5,0)),ie.mkdev("/dev/tty1",ie.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=G(e).byteLength),e[--t]);ie.createDevice("/dev","random",r),ie.createDevice("/dev","urandom",r),ie.mkdir("/dev/shm"),ie.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{ie.mkdir("/proc");var e=ie.mkdir("/proc/self");ie.mkdir("/proc/self/fd"),ie.mount({mount:()=>{var t=ie.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,i=ie.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{i.stdin?ie.createDevice("/dev","stdin",i.stdin):ie.symlink("/dev/tty","/dev/stdin"),i.stdout?ie.createDevice("/dev","stdout",null,i.stdout):ie.symlink("/dev/tty","/dev/stdout"),i.stderr?ie.createDevice("/dev","stderr",null,i.stderr):ie.symlink("/dev/tty1","/dev/stderr"),ie.open("/dev/stdin",0),ie.open("/dev/stdout",1),ie.open("/dev/stderr",1)},ensureErrnoError:()=>{ie.ErrnoError||(ie.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ie.ErrnoError.prototype=new Error,ie.ErrnoError.prototype.constructor=ie.ErrnoError,[44].forEach((e=>{ie.genericErrors[e]=new ie.ErrnoError(e),ie.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:()=>{ie.ensureErrnoError(),ie.nameTable=new Array(4096),ie.mount(ee,{},"/"),ie.createDefaultDirectories(),ie.createDefaultDevices(),ie.createSpecialDirectories(),ie.filesystems={MEMFS:ee}},init:(e,t,r)=>{ie.init.initialized=!0,ie.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,ie.createStandardStreams()},quit:()=>{ie.init.initialized=!1;for(var e=0;e<ie.streams.length;e++){var t=ie.streams[e];t&&ie.close(t)}},findObject:(e,t)=>{var r=ie.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(i=ie.lookupPath(e,{follow:!t})).path}catch(o){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=ie.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=i.path,r.parentObject=i.node,r.name=j.basename(e),i=ie.lookupPath(e,{follow:!t}),r.exists=!0,r.path=i.path,r.object=i.node,r.name=i.node.name,r.isRoot="/"===i.path}catch(o){r.error=o.errno}return r},createPath:(e,t,r,i)=>{e="string"==typeof e?e:ie.getPath(e);for(var o=t.split("/").reverse();o.length;){var n=o.pop();if(n){var a=j.join2(e,n);try{ie.mkdir(a)}catch(s){}e=a}}return a},createFile:(e,t,r,i,o)=>{var n=j.join2("string"==typeof e?e:ie.getPath(e),t),a=re(i,o);return ie.create(n,a)},createDataFile:(e,t,r,i,o,n)=>{var a=t;e&&(e="string"==typeof e?e:ie.getPath(e),a=t?j.join2(e,t):e);var s=re(i,o),c=ie.create(a,s);if(r){if("string"==typeof r){for(var l=new Array(r.length),d=0,u=r.length;d<u;++d)l[d]=r.charCodeAt(d);r=l}ie.chmod(c,146|s);var h=ie.open(c,577);ie.write(h,r,0,r.length,0,n),ie.close(h),ie.chmod(c,s)}return c},createDevice:(e,t,r,i)=>{var o=j.join2("string"==typeof e?e:ie.getPath(e),t),n=re(!!r,!!i);ie.createDevice.major||(ie.createDevice.major=64);var a=ie.makedev(ie.createDevice.major++,0);return ie.registerDevice(a,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,o,n)=>{for(var a=0,s=0;s<o;s++){var c;try{c=r()}catch(l){throw new ie.ErrnoError(29)}if(void 0===c&&0===a)throw new ie.ErrnoError(6);if(null==c)break;a++,t[i+s]=c}return a&&(e.node.timestamp=Date.now()),a},write:(e,t,r,o,n)=>{for(var a=0;a<o;a++)try{i(t[r+a])}catch(s){throw new ie.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),ie.mkdev(o,n,a)},forceLoadFile:e=>{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!o)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=$(o(e.url),!0),e.usedBytes=e.contents.length}catch(t){throw new ie.ErrnoError(29)}},createLazyFile:(e,t,r,i,o)=>{function n(){this.lengthKnown=!1,this.chunks=[]}if(n.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},n.prototype.setDataGetter=function(e){this.getter=e},n.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,n=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=i);var s=this;s.setDataGetter((e=>{var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,i-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),i!==a&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):$(o.responseText||"",!0)})(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!n&&i||(a=i=1,i=this.getter(0).length,a=i,m("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new n;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:r};var c=ie.createFile(e,t,s,i,o);s.contents?c.contents=s.contents:s.url&&(c.contents=null,c.url=s.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var l={};function u(e,t,r,i,o){var n=e.node.contents;if(o>=n.length)return 0;var a=Math.min(n.length-o,i);if(n.slice)for(var s=0;s<a;s++)t[r+s]=n[o+s];else for(s=0;s<a;s++)t[r+s]=n.get(o+s);return a}return Object.keys(c.stream_ops).forEach((e=>{var t=c.stream_ops[e];l[e]=function(){return ie.forceLoadFile(c),t.apply(null,arguments)}})),l.read=(e,t,r,i,o)=>(ie.forceLoadFile(c),u(e,t,r,i,o)),l.mmap=(e,t,r,i,o)=>{ie.forceLoadFile(c);var n=Z();if(!n)throw new ie.ErrnoError(48);return u(e,_,n,t,r),{ptr:n,allocated:!0}},c.stream_ops=l,c}},oe=(e,t)=>e?q(g,e,t):"",ne={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if(j.isAbs(t))return t;var i;if(i=-100===e?ie.cwd():ne.getStreamFromFD(e).path,0==t.length){if(!r)throw new ie.ErrnoError(44);return i}return j.join2(i,t)},doStat:function(e,t,r){try{var i=e(t)}catch(s){if(s&&s.node&&j.normalize(t)!==j.normalize(ie.getPath(s.node)))return-54;throw s}y[r>>2]=i.dev,y[r+4>>2]=i.mode,T[r+8>>2]=i.nlink,y[r+12>>2]=i.uid,y[r+16>>2]=i.gid,y[r+20>>2]=i.rdev,C=[i.size>>>0,(w=i.size,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+24>>2]=C[0],y[r+28>>2]=C[1],y[r+32>>2]=4096,y[r+36>>2]=i.blocks;var o=i.atime.getTime(),n=i.mtime.getTime(),a=i.ctime.getTime();return C=[Math.floor(o/1e3)>>>0,(w=Math.floor(o/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+40>>2]=C[0],y[r+44>>2]=C[1],T[r+48>>2]=o%1e3*1e3,C=[Math.floor(n/1e3)>>>0,(w=Math.floor(n/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+56>>2]=C[0],y[r+60>>2]=C[1],T[r+64>>2]=n%1e3*1e3,C=[Math.floor(a/1e3)>>>0,(w=Math.floor(a/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+72>>2]=C[0],y[r+76>>2]=C[1],T[r+80>>2]=a%1e3*1e3,C=[i.ino>>>0,(w=i.ino,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+88>>2]=C[0],y[r+92>>2]=C[1],0},doMsync:function(e,t,r,i,o){if(!ie.isFile(t.node.mode))throw new ie.ErrnoError(43);if(2&i)return 0;var n=g.slice(e,e+r);ie.msync(t,n,o,r,i)},varargs:void 0,get:()=>(ne.varargs+=4,y[ne.varargs-4>>2]),getStr:e=>oe(e),getStreamFromFD:function(e){return ie.getStreamChecked(e)}};function ae(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: ".concat(e))}}var se=void 0;function ce(e){for(var t="",r=e;g[r];)t+=se[g[r++]];return t}var le={},de={},ue={},he=void 0;function pe(e){throw new he(e)}var me=void 0;function fe(e){throw new me(e)}function _e(e,t,r){function i(t){var i=r(t);i.length!==e.length&&fe("Mismatched type converter count");for(var o=0;o<e.length;++o)ge(e[o],i[o])}e.forEach((function(e){ue[e]=t}));var o=new Array(t.length),n=[],a=0;t.forEach(((e,t)=>{de.hasOwnProperty(e)?o[t]=de[e]:(n.push(e),le.hasOwnProperty(e)||(le[e]=[]),le[e].push((()=>{o[t]=de[e],++a===n.length&&i(o)})))})),0===n.length&&i(o)}function ge(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||pe('type "'.concat(i,'" must have a positive integer typeid pointer')),de.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;pe("Cannot register type '".concat(i,"' twice"))}if(de[e]=t,delete ue[e],le.hasOwnProperty(e)){var o=le[e];delete le[e],o.forEach((e=>e()))}}(e,t,r)}function Ee(e){pe(e.$$.ptrType.registeredClass.name+" instance already deleted")}var ve=!1;function ye(e){}function Te(e){var t;e.count.value-=1,0===e.count.value&&((t=e).smartPtr?t.smartPtrType.rawDestructor(t.smartPtr):t.ptrType.registeredClass.rawDestructor(t.ptr))}function Ie(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var i=Ie(e,t,r.baseClass);return null===i?null:r.downcast(i)}var Ae={},Se=[];function Re(){for(;Se.length;){var e=Se.pop();e.$$.deleteScheduled=!1,e.delete()}}var be=void 0,we={};function Ce(e,t){return t.ptrType&&t.ptr||fe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&fe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},De(Object.create(e,{$$:{value:t}}))}var De=function(e){return"undefined"==typeof FinalizationRegistry?(De=e=>e,e):(ve=new FinalizationRegistry((e=>{Te(e.$$)})),ye=e=>ve.unregister(e),(De=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ve.register(e,r,e)}return e})(e))};function Ne(){}function ke(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_".concat(e):e}function Oe(e,t){return e=ke(e),{[e]:function(){return t.apply(this,arguments)}}[e]}function Me(e,t,r){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||pe("Function '".concat(r,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(e[t].overloadTable,")!")),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function Le(e,t,r,i,o,n,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=o,this.getActualType=n,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Pe(e,t,r){for(;t!==r;)t.upcast||pe("Expected null or instance of ".concat(r.name,", got an instance of ").concat(t.name)),e=t.upcast(e),t=t.baseClass;return e}function xe(e,t){if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),0;t.$$||pe('Cannot pass "'.concat(tt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name));var r=t.$$.ptrType.registeredClass;return Pe(t.$$.ptr,r,this.registeredClass)}function Ue(e,t){var r;if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||pe('Cannot pass "'.concat(tt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&t.$$.ptrType.isConst&&pe("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));var i=t.$$.ptrType.registeredClass;if(r=Pe(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&pe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:pe("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,et.toHandle((function(){o.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:pe("Unsupporting sharing policy")}return r}function Ve(e,t){if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),0;t.$$||pe('Cannot pass "'.concat(tt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name)),t.$$.ptrType.isConst&&pe("Cannot convert argument of type ".concat(t.$$.ptrType.name," to parameter type ").concat(this.name));var r=t.$$.ptrType.registeredClass;return Pe(t.$$.ptr,r,this.registeredClass)}function Fe(e){return this.fromWireType(y[e>>2])}function Be(e,t,r,i,o,n,a,s,c,l,d){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=o,this.pointeeType=n,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=l,this.rawDestructor=d,o||void 0!==t.baseClass?this.toWireType=Ue:i?(this.toWireType=xe,this.destructorFunction=null):(this.toWireType=Ve,this.destructorFunction=null)}var He=[],We=e=>{var t=He[e];return t||(e>=He.length&&(He.length=e+1),He[e]=t=S.get(e)),t};function je(e,t){var r,o,n,a=(e=ce(e)).includes("j")?(r=e,o=t,n=[],function(){return n.length=0,Object.assign(n,arguments),((e,t,r)=>{return e.includes("j")?(o=t,n=r,a=i["dynCall_"+e],n&&n.length?a.apply(null,[o].concat(n)):a.call(null,o)):We(t).apply(null,r);var o,n,a})(r,o,n)}):We(t);return"function"!=typeof a&&pe("unknown function pointer with signature ".concat(e,": ").concat(t)),a}var Ge=void 0;function ze(e){var t=St(e),r=ce(t);return It(t),r}function Ke(e,t){var r=[],i={};throw t.forEach((function e(t){i[t]||de[t]||(ue[t]?ue[t].forEach(e):(r.push(t),i[t]=!0))})),new Ge("".concat(e,": ")+r.map(ze).join([", "]))}function qe(e,t){for(var r=[],i=0;i<e;i++)r.push(T[t+4*i>>2]);return r}function Ye(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Je(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var r=Oe(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,o=e.apply(i,t);return o instanceof Object?o:i}function Xe(e,t,r,i,o,n){var a=t.length;a<2&&pe("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==r,c=!1,l=1;l<t.length;++l)if(null!==t[l]&&void 0===t[l].destructorFunction){c=!0;break}var d="void"!==t[0].name,u="",h="";for(l=0;l<a-2;++l)u+=(0!==l?", ":"")+"arg"+l,h+=(0!==l?", ":"")+"arg"+l+"Wired";var p="\n return function ".concat(ke(e),"(").concat(u,") {\n if (arguments.length !== ").concat(a-2,") {\n throwBindingError('function ").concat(e," called with ").concat(arguments.length," arguments, expected ").concat(a-2," args!');\n }");c&&(p+="var destructors = [];\n");var m=c?"destructors":"null",f=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],_=[pe,i,o,Ye,t[0],t[1]];for(s&&(p+="var thisWired = classParam.toWireType("+m+", this);\n"),l=0;l<a-2;++l)p+="var arg"+l+"Wired = argType"+l+".toWireType("+m+", arg"+l+"); // "+t[l+2].name+"\n",f.push("argType"+l),_.push(t[l+2]);if(s&&(h="thisWired"+(h.length>0?", ":"")+h),p+=(d||n?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)p+="runDestructors(destructors);\n";else for(l=s?1:2;l<t.length;++l){var g=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==t[l].destructorFunction&&(p+=g+"_dtor("+g+"); // "+t[l].name+"\n",f.push(g+"_dtor"),_.push(t[l].destructorFunction))}return d&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),p+="}\n",f.push(p),Je(Function,f).apply(null,_)}function $e(){this.allocated=[void 0],this.freelist=[]}var Qe=new $e;function Ze(e){e>=Qe.reserved&&0==--Qe.get(e).refcount&&Qe.free(e)}var et={toValue:e=>(e||pe("Cannot use deleted val. handle = "+e),Qe.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Qe.allocate({refcount:1,value:e})}}};function tt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function rt(e,t){switch(t){case 2:return function(e){return this.fromWireType(I[e>>2])};case 3:return function(e){return this.fromWireType(A[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function it(e,t,r){switch(t){case 0:return r?function(e){return _[e]}:function(e){return g[e]};case 1:return r?function(e){return E[e>>1]}:function(e){return v[e>>1]};case 2:return r?function(e){return y[e>>2]}:function(e){return T[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var ot,nt,at="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,st=(e,t)=>{for(var r=e,i=r>>1,o=i+t/2;!(i>=o)&&v[i];)++i;if((r=i<<1)-e>32&&at)return at.decode(g.subarray(e,r));for(var n="",a=0;!(a>=t/2);++a){var s=E[e+2*a>>1];if(0==s)break;n+=String.fromCharCode(s)}return n},ct=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,o=(r-=2)<2*e.length?r/2:e.length,n=0;n<o;++n){var a=e.charCodeAt(n);E[t>>1]=a,t+=2}return E[t>>1]=0,t-i},lt=e=>2*e.length,dt=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var o=y[e+4*r>>2];if(0==o)break;if(++r,o>=65536){var n=o-65536;i+=String.fromCharCode(55296|n>>10,56320|1023&n)}else i+=String.fromCharCode(o)}return i},ut=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,o=i+r-4,n=0;n<e.length;++n){var a=e.charCodeAt(n);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++n)),y[t>>2]=a,(t+=4)+4>o)break}return y[t>>2]=0,t-i},ht=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&++r,t+=4}return t},pt={},mt=[],ft=[],_t={},gt=()=>{if(!gt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:c||"./this.program"};for(var t in _t)void 0===_t[t]?delete e[t]:e[t]=_t[t];var r=[];for(var t in e)r.push("".concat(t,"=").concat(e[t]));gt.strings=r}return gt.strings},Et=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ie.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i};Object.defineProperties(Et.prototype,{read:{get:function(){return!(365&~this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return!(146&~this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return ie.isDir(this.mode)}},isDevice:{get:function(){return ie.isChrdev(this.mode)}}}),ie.FSNode=Et,ie.createPreloadedFile=function(e,t,r,i,o,a,s,c,l,d){var u=t?z.resolve(j.join2(e,t)):e;function h(r){function n(r){d&&d(),c||ie.createDataFile(e,t,r,i,o,l),a&&a(),x()}(function(e,t,r,i){"undefined"!=typeof Browser&&Browser.init();var o=!1;return te.forEach((function(n){o||n.canHandle(t)&&(n.handle(e,t,r,i),o=!0)})),o})(r,u,n,(()=>{s&&s(),x()}))||n(r)}P(),"string"==typeof r?((e,t,r,i)=>{var o=i?"":"al ".concat(e);n(e,(r=>{var i;i='Loading data file "'.concat(e,'" failed (no arrayBuffer).'),r||U(i),t(new Uint8Array(r)),o&&x()}),(t=>{if(!r)throw'Loading data file "'.concat(e,'" failed.');r()})),o&&P()})(r,(e=>h(e)),s):h(r)},ie.staticInit(),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);se=e}(),he=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},me=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Ne.prototype.isAliasOf=function(e){if(!(this instanceof Ne&&e instanceof Ne))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,i=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)o=i.upcast(o),i=i.baseClass;return t===i&&r===o},Ne.prototype.clone=function(){if(this.$$.ptr||Ee(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=De(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},Ne.prototype.delete=function(){this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),ye(this),Te(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},Ne.prototype.isDeleted=function(){return!this.$$.ptr},Ne.prototype.deleteLater=function(){return this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),Se.push(this),1===Se.length&&be&&be(Re),this.$$.deleteScheduled=!0,this},i.getInheritedInstanceCount=function(){return Object.keys(we).length},i.getLiveInheritedInstances=function(){var e=[];for(var t in we)we.hasOwnProperty(t)&&e.push(we[t]);return e},i.flushPendingDeletes=Re,i.setDelayFunction=function(e){be=e,Se.length&&be&&be(Re)},Be.prototype.getPointee=function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},Be.prototype.destructor=function(e){this.rawDestructor&&this.rawDestructor(e)},Be.prototype.argPackAdvance=8,Be.prototype.readValueFromPointer=Fe,Be.prototype.deleteObject=function(e){null!==e&&e.delete()},Be.prototype.fromWireType=function(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=function(e,t){return t=function(e,t){for(void 0===t&&pe("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),we[t]}(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function o(){return this.isSmartPointer?Ce(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ce(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var n,a=this.registeredClass.getActualType(t),s=Ae[a];if(!s)return o.call(this);n=this.isConst?s.constPointerType:s.pointerType;var c=Ie(t,this.registeredClass,n.registeredClass);return null===c?o.call(this):this.isSmartPointer?Ce(n.registeredClass.instancePrototype,{ptrType:n,ptr:c,smartPtrType:this,smartPtr:e}):Ce(n.registeredClass.instancePrototype,{ptrType:n,ptr:c})},Ge=i.UnboundTypeError=(ot=Error,(nt=Oe("UnboundTypeError",(function(e){this.name="UnboundTypeError",this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(ot.prototype),nt.prototype.constructor=nt,nt.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},nt),Object.assign($e.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}}),Qe.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Qe.reserved=Qe.allocated.length,i.count_emval_handles=function(){for(var e=0,t=Qe.reserved;t<Qe.allocated.length;++t)void 0!==Qe.allocated[t]&&++e;return e};var vt,yt={p:function(e,t,r){throw new W(e).init(t,r),e},C:function(e,t,r){ne.varargs=r;try{var i=ne.getStreamFromFD(e);switch(t){case 0:return(o=ne.get())<0?-28:ie.createStream(i,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var o=ne.get();return i.flags|=o,0;case 5:return o=ne.get(),E[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return y[At()>>2]=28,-1}}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return-n.errno}},w:function(e,t,r,i){ne.varargs=i;try{t=ne.getStr(t),t=ne.calculateAt(e,t);var o=i?ne.get():0;return ie.open(t,r,o).fd}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return-n.errno}},t:function(e,t,r,i,o){},n:function(e,t,r,i,o){var n=ae(r);ge(e,{name:t=ce(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?i:o},argPackAdvance:8,readValueFromPointer:function(e){var i;if(1===r)i=_;else if(2===r)i=E;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);i=y}return this.fromWireType(i[e>>n])},destructorFunction:null})},r:function(e,t,r,o,n,a,s,c,l,d,u,h,p){u=ce(u),a=je(n,a),c&&(c=je(s,c)),d&&(d=je(l,d)),p=je(h,p);var m,f,_,g=ke(u);m=g,f=function(){Ke("Cannot construct ".concat(u," due to unbound types"),[o])},i.hasOwnProperty(m)?(pe("Cannot register public name '".concat(m,"' twice")),Me(i,m,m),i.hasOwnProperty(_)&&pe("Cannot register multiple overloads of a function with the same number of arguments (".concat(_,")!")),i[m].overloadTable[_]=f):i[m]=f,_e([e,t,r],o?[o]:[],(function(t){var r,n;t=t[0],n=o?(r=t.registeredClass).instancePrototype:Ne.prototype;var s=Oe(g,(function(){if(Object.getPrototypeOf(this)!==l)throw new he("Use 'new' to construct "+u);if(void 0===h.constructor_body)throw new he(u+" has no accessible constructor");var e=h.constructor_body[arguments.length];if(void 0===e)throw new he("Tried to invoke ctor of ".concat(u," with invalid number of parameters (").concat(arguments.length,") - expected (").concat(Object.keys(h.constructor_body).toString(),") parameters instead!"));return e.apply(this,arguments)})),l=Object.create(n,{constructor:{value:s}});s.prototype=l;var h=new Le(u,s,l,p,r,a,c,d);h.baseClass&&(void 0===h.baseClass.__derivedClasses&&(h.baseClass.__derivedClasses=[]),h.baseClass.__derivedClasses.push(h));var m,f,_,E=new Be(u,h,!0,!1,!1),v=new Be(u+"*",h,!1,!1,!1),y=new Be(u+" const*",h,!1,!0,!1);return Ae[e]={pointerType:v,constPointerType:y},m=g,f=s,i.hasOwnProperty(m)||fe("Replacing nonexistant public symbol"),i[m].overloadTable,i[m]=f,i[m].argCount=_,[E,v,y]}))},q:function(e,t,r,i,o,n){var a=qe(t,r);o=je(i,o),_e([],[e],(function(e){var r="constructor ".concat((e=e[0]).name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new he("Cannot register multiple constructors with identical number of parameters (".concat(t-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[t-1]=()=>{Ke("Cannot construct ".concat(e.name," due to unbound types"),a)},_e([],a,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Xe(r,i,null,o,n),[]})),[]}))},d:function(e,t,r,i,o,n,a,s,c){var l=qe(r,i);t=ce(t),n=je(o,n),_e([],[e],(function(e){var i="".concat((e=e[0]).name,".").concat(t);function o(){Ke("Cannot call ".concat(i," due to unbound types"),l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var d=e.registeredClass.instancePrototype,u=d[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(o.argCount=r-2,o.className=e.name,d[t]=o):(Me(d,t,i),d[t].overloadTable[r-2]=o),_e([],l,(function(o){var s=Xe(i,o,e,n,a,c);return void 0===d[t].overloadTable?(s.argCount=r-2,d[t]=s):d[t].overloadTable[r-2]=s,[]})),[]}))},D:function(e,t){ge(e,{name:t=ce(t),fromWireType:function(e){var t=et.toValue(e);return Ze(e),t},toWireType:function(e,t){return et.toHandle(t)},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:null})},k:function(e,t,r){var i=ae(r);ge(e,{name:t=ce(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:rt(t,i),destructorFunction:null})},c:function(e,t,r,i,o){t=ce(t);var n=ae(r),a=e=>e;if(0===i){var s=32-8*r;a=e=>e<<s>>>s}var c=t.includes("unsigned");ge(e,{name:t,fromWireType:a,toWireType:c?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:it(t,n,0!==i),destructorFunction:null})},b:function(e,t,r){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=T,r=t[e>>=2],o=t[e+1];return new i(t.buffer,o,r)}ge(e,{name:r=ce(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},j:function(e,t){var r="std::string"===(t=ce(t));ge(e,{name:t,fromWireType:function(e){var t,i=T[e>>2],o=e+4;if(r)for(var n=o,a=0;a<=i;++a){var s=o+a;if(a==i||0==g[s]){var c=oe(n,s-n);void 0===t?t=c:(t+="\0",t+=c),n=s+1}}else{var l=new Array(i);for(a=0;a<i;++a)l[a]=String.fromCharCode(g[o+a]);t=l.join("")}return It(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||pe("Cannot pass non-string to std::string"),i=r&&o?J(t):t.length;var n=Tt(4+i+1),a=n+4;if(T[n>>2]=i,r&&o)X(t,g,a,i+1);else if(o)for(var s=0;s<i;++s){var c=t.charCodeAt(s);c>255&&(It(a),pe("String has UTF-16 code units that do not fit in 8 bits")),g[a+s]=c}else for(s=0;s<i;++s)g[a+s]=t[s];return null!==e&&e.push(It,n),n},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){It(e)}})},f:function(e,t,r){var i,o,n,a,s;r=ce(r),2===t?(i=st,o=ct,a=lt,n=()=>v,s=1):4===t&&(i=dt,o=ut,a=ht,n=()=>T,s=2),ge(e,{name:r,fromWireType:function(e){for(var r,o=T[e>>2],a=n(),c=e+4,l=0;l<=o;++l){var d=e+4+l*t;if(l==o||0==a[d>>s]){var u=i(c,d-c);void 0===r?r=u:(r+="\0",r+=u),c=d+t}}return It(e),r},toWireType:function(e,i){"string"!=typeof i&&pe("Cannot pass non-string to C++ string type ".concat(r));var n=a(i),c=Tt(4+n+t);return T[c>>2]=n>>s,o(i,c+4,n+t),null!==e&&e.push(It,c),c},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){It(e)}})},o:function(e,t){ge(e,{isVoid:!0,name:t=ce(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},g:function(e,t,r,i){var o,n;(e=mt[e])(t=et.toValue(t),r=void 0===(n=pt[o=r])?ce(o):n,null,i)},m:Ze,l:function(e,t){var r=function(e,t){for(var r,i,o,n=new Array(e),a=0;a<e;++a)n[a]=(r=T[t+4*a>>2],i="parameter "+a,void 0===(o=de[r])&&pe(i+" has unknown type "+ze(r)),o);return n}(e,t),i=r[0],o=i.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",n=ft[o];if(void 0!==n)return n;for(var a=["retType"],s=[i],c="",l=0;l<e-1;++l)c+=(0!==l?", ":"")+"arg"+l,a.push("argType"+l),s.push(r[1+l]);var d,u,h="return function "+ke("methodCaller_"+o)+"(handle, name, destructors, args) {\n",p=0;for(l=0;l<e-1;++l)h+=" var arg"+l+" = argType"+l+".readValueFromPointer(args"+(p?"+"+p:"")+");\n",p+=r[l+1].argPackAdvance;for(h+=" var rv = handle[name]("+c+");\n",l=0;l<e-1;++l)r[l+1].deleteObject&&(h+=" argType"+l+".deleteObject(arg"+l+");\n");return i.isVoid||(h+=" return retType.toWireType(destructors, rv);\n"),h+="};\n",a.push(h),d=Je(Function,a).apply(null,s),u=mt.length,mt.push(d),n=u,ft[o]=n,n},a:()=>{U("")},e:function(){return Date.now()},v:()=>g.length,A:(e,t,r)=>g.copyWithin(e,t,t+r),u:e=>{g.length,U("OOM")},y:(e,t)=>{var r=0;return gt().forEach((function(i,o){var n=t+r;T[e+4*o>>2]=n,((e,t)=>{for(var r=0;r<e.length;++r)_[0|t++]=e.charCodeAt(r);_[0|t]=0})(i,n),r+=i.length+1})),0},z:(e,t)=>{var r=gt();T[e>>2]=r.length;var i=0;return r.forEach((function(e){i+=e.length+1})),T[t>>2]=i,0},i:function(e){try{var t=ne.getStreamFromFD(e);return ie.close(t),0}catch(r){if(void 0===ie||"ErrnoError"!==r.name)throw r;return r.errno}},x:function(e,t){try{var r=ne.getStreamFromFD(e),i=r.tty?2:ie.isDir(r.mode)?3:ie.isLink(r.mode)?7:4;return _[0|t]=i,E[t+2>>1]=0,C=[0,(w=0,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[t+8>>2]=C[0],y[t+12>>2]=C[1],C=[0,(w=0,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[t+16>>2]=C[0],y[t+20>>2]=C[1],0}catch(o){if(void 0===ie||"ErrnoError"!==o.name)throw o;return o.errno}},B:function(e,t,r,i){try{var o=((e,t,r,i)=>{for(var o=0,n=0;n<r;n++){var a=T[t>>2],s=T[t+4>>2];t+=8;var c=ie.read(e,_,a,s,i);if(c<0)return-1;if(o+=c,c<s)break;void 0!==i&&(i+=c)}return o})(ne.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return n.errno}},s:function(e,t,r,i,o){var n,a,s=(a=r)+2097152>>>0<4194305-!!(n=t)?(n>>>0)+4294967296*a:NaN;try{if(isNaN(s))return 61;var c=ne.getStreamFromFD(e);return ie.llseek(c,s,i),C=[c.position>>>0,(w=c.position,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[o>>2]=C[0],y[o+4>>2]=C[1],c.getdents&&0===s&&0===i&&(c.getdents=null),0}catch(l){if(void 0===ie||"ErrnoError"!==l.name)throw l;return l.errno}},h:function(e,t,r,i){try{var o=((e,t,r,i)=>{for(var o=0,n=0;n<r;n++){var a=T[t>>2],s=T[t+4>>2];t+=8;var c=ie.write(e,_,a,s,i);if(c<0)return-1;o+=c,void 0!==i&&(i+=c)}return o})(ne.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return n.errno}}},Tt=(function(){var e,t,o,n,a={a:yt};function s(e,t){var r,o,n=e.exports;return r=(p=n).E.buffer,i.HEAP8=_=new Int8Array(r),i.HEAP16=E=new Int16Array(r),i.HEAP32=y=new Int32Array(r),i.HEAPU8=g=new Uint8Array(r),i.HEAPU16=v=new Uint16Array(r),i.HEAPU32=T=new Uint32Array(r),i.HEAPF32=I=new Float32Array(r),i.HEAPF64=A=new Float64Array(r),S=p.H,o=p.F,k.unshift(o),x(),n}if(P(),i.instantiateWasm)try{return i.instantiateWasm(a,s)}catch(c){f("Module.instantiateWasm callback failed with error: "+c),r(c)}(e=h,t=R,o=a,n=function(e){s(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||V(t)||"function"!=typeof fetch?B(t,o,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,o).then(n,(function(e){return f("wasm streaming compile failed: "+e),f("falling back to ArrayBuffer instantiation"),B(t,o,n)}))))).catch(r)}(),e=>(Tt=p.G)(e)),It=e=>(It=p.I)(e),At=()=>(At=p.J)(),St=e=>(St=p.K)(e),Rt=(i.__embind_initialize_bindings=()=>(i.__embind_initialize_bindings=p.L)(),e=>(Rt=p.M)(e));function bt(){function e(){vt||(vt=!0,i.calledRun=!0,D||(i.noFSInit||ie.init.initialized||ie.init(),ie.ignorePermissions=!1,H(k),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)e=i.postRun.shift(),O.unshift(e);var e;H(O)}()))}M>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),N.unshift(e);var e;H(N)}(),M>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_jiji=(e,t,r,o,n)=>(i.dynCall_jiji=p.N)(e,t,r,o,n),i._ff_h264_cabac_tables=67061,L=function e(){vt||bt(),vt||(L=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return bt(),e.ready}),IH=TH,AH=class extends vH{constructor(e){super(IH,null!=e&&e.wasmPath?fetch(null==e?void 0:e.wasmPath).then((e=>e.arrayBuffer())):void 0,null==e?void 0:e.workerMode,null==e?void 0:e.canvas,null==e?void 0:e.yuvMode)}};(()=>{var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0})();var SH=(e=>(e[e.TRACE=0]="TRACE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.NONE=5]="NONE",e))(SH||{});function RH(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var bH=class e{constructor(e){this.core=e,nH(this,"contextMap",new Map),nH(this,"decodeProcessorMap",new WeakMap),this.addKVReportBeforeExitRoom=this.addKVReportBeforeExitRoom.bind(this),this.createDecoder=this.createDecoder.bind(this),this.core.innerEmitter.on("51",this.addKVReportBeforeExitRoom)}getAlias(){return"videoDecoder"}getGroup(e){return null!=e&&e.track?"".concat(e.track.userId).concat(e.track.streamType):"*"}getName(){return e.Name}getValidateRule(e){return{type:this.core.enums.BASIC_TYPE.Object}}createDecoder(e,t){var r;switch(e){case"wasm":let e=(null==(r=this.core.assetsPath)?void 0:r.replace(/\/+$/,""))||".";return new AH(iH(rH({},t),{wasmPath:"".concat(e,"/videodec.wasm")}));case"webCodecs":return new gH;case"mse":throw new Error("mse decoder not supported yet");default:throw new Error("Unsupported decoder type")}}start(e){this.decodeProcessorMap.set(e.track,this.decode(e)),this.core.room.videoManager.addDecodeProcessor({processor:e=>{let{frame:t,track:r}=e;var i;return(null==(i=this.decodeProcessorMap.get(r))?void 0:i({frame:t,track:r}))||t},type:3})}decode(e){let{pipe:t,take:r,subscribe:i}=this.core.rx;return o=>{let{frame:n,track:a}=o;if(a!==e.track||"empty"===n.type)return n;if(this.contextMap.has(a))return this.contextMap.get(a).decode(n);let s=this.core.room.videoManager.createDecodeContext(iH(rH({},e),{createDecoder:this.createDecoder}));return t(s.trackDoneOB,r(1),i((()=>{this.core.clearStarted(this,this.getGroup(e)),this.stop({track:a})}))),this.contextMap.set(a,s),s.decode(n)}}stop(e){if(null!=e&&e.track){let t=this.contextMap.get(e.track);t&&(t.close("stop"),this.report(t,e.track),this.contextMap.delete(e.track))}else this.contextMap.forEach(((e,t)=>{e.close("stop"),this.contextMap.delete(t)}));0===this.contextMap.size&&this.core.room.videoManager.removeDecodeProcessor({type:3})}report(e,t){if(e.isReported)return;e.isReported=!0;let r=RH()-e.startPerformanceTime,{renderFreezeTotal:i,dataFreezeTotal:o}=this.getRemoteTrackFreezeDuration(t,e),n="report health data: ".concat(e.track.userId," ").concat(e.track.streamType," ").concat(e.type,"+").concat(e.renderer," goodType:").concat(e.goodType," ").concat(e.failedReason?"failedReason: ".concat(e.failedReason):"");r&&(this.core.kvStatManager.addNumber({key:514850,value:Math.floor(i/r*100),split:1,max:100}),n+=" RENDER_FREEZE_RATE: ".concat(Math.floor(i/r*100),"%")),r&&(this.core.kvStatManager.addNumber({key:514851,value:Math.floor(o/r*100),split:1,max:100}),n+=" DATA_FREEZE_RATE: ".concat(Math.floor(o/r*100),"%")),e.inputFrameCount&&(this.core.kvStatManager.addNumber({key:514852,value:Math.floor(e.decodedFrameCount/e.inputFrameCount*100),split:1,max:100}),n+=" VIDEO_CONSUME_RENDER_RATE: ".concat(Math.floor(e.decodedFrameCount/e.inputFrameCount*100),"%")),this.core.log.info(n)}addKVReportBeforeExitRoom(e){let{room:t}=e;t===this.core.room&&this.contextMap.forEach(((e,t)=>{this.report(e,t)}))}update(e){let t=this.contextMap.get(e.track);t&&("mock"!==e.type?(t.close("update"),this.contextMap.set(e.track,this.core.room.videoManager.createDecodeContext(iH(rH({},e),{createDecoder:this.createDecoder})))):t.mock(this.core.enums.DECODE_FAILED_ERROR_CODE.TEST))}getRemoteTrackFreezeDuration(e,t){let r=this.core.room.badCaseDetector.getRenderFreezeMap().get("".concat(e.userId,"_").concat(e.streamType)),i=this.core.room.badCaseDetector.getDataFreezeMap().get("".concat(e.userId,"_").concat(e.streamType)),o=0;r&&r.freezeTimeline.forEach((e=>{let{startTime:r,endTime:i}=e;r>t.startPerformanceTime&&(o+=0===i?RH()-r:i-r)}));let n=0;return i&&i.durationItemList.forEach((e=>{e.startTime>t.startPerformanceTime&&(n+=e.getDuration())})),{renderFreezeTotal:o,dataFreezeTotal:n}}destroy(){this.core.innerEmitter.off("51",this.addKVReportBeforeExitRoom)}};nH(bH,"Name","TRTCVideoDecoder");var wH=bH,CH=ew(nw());function DH(e){let{timesInSecond:t,maxSizeInSecond:r,getSize:i}=e;return yU(((e,o)=>{let n=new WeakMap;return WO.on(GO.ROOM_DESTROY,(e=>{let{room:t}=e;return n.delete(t)})),function(){let a=n.get(this);for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];if(a||(a={callCountInSecond:0,timestamp:0,totalSizeInSecond:0},n.set(this,a)),0===a.timestamp?a.timestamp=Date.now():Date.now()-a.timestamp>1e3&&(a.timestamp=Date.now(),a.callCountInSecond=0,a.totalSizeInSecond=0),i&&(a.totalSizeInSecond+=i(...c)),0!==a.timestamp&&Date.now()-a.timestamp<1e3&&(a.callCountInSecond>=t||a.totalSizeInSecond>r))throw new pw({code:uw.INVALID_OPERATION,message:sL({key:iL.CALL_FREQUENCY_LIMIT,data:{isTimes:a.callCountInSecond>=t,isSize:a.totalSizeInSecond>r,name:o,timesInSecond:t,maxSizeInSecond:r}})});a.callCountInSecond++,e.call(this,...c)}}))}var NH,kH=!0,OH={SCENE_LIVE:"live",SCENE_RTC:"rtc",ROLE_ANCHOR:"anchor",ROLE_AUDIENCE:"audience",STREAM_TYPE_MAIN:"main",STREAM_TYPE_SUB:"sub",AUDIO_PROFILE_STANDARD:"standard",AUDIO_PROFILE_STANDARD_STEREO:"standard-stereo",AUDIO_PROFILE_HIGH:"high",AUDIO_PROFILE_HIGH_STEREO:"high-stereo",QOS_PREFERENCE_SMOOTH:"smooth",QOS_PREFERENCE_CLEAR:"clear",SPEAKER:"Speakerphone",HEADSET:"Headset earpiece"},MH={INVALID_PARAMETER:5e3,INVALID_OPERATION:5100,ENV_NOT_SUPPORTED:5200,DEVICE_ERROR:5300,SERVER_ERROR:5400,OPERATION_FAILED:5500,OPERATION_ABORT:5998,UNKNOWN_ERROR:5999},LH=((NH=LH||{})[NH.INVALID_PARAMETER=5e3]="INVALID_PARAMETER",NH[NH.INVALID_PARAMETER_REQUIRED=5001]="INVALID_PARAMETER_REQUIRED",NH[NH.INVALID_PARAMETER_TYPE=5002]="INVALID_PARAMETER_TYPE",NH[NH.INVALID_PARAMETER_EMPTY=5003]="INVALID_PARAMETER_EMPTY",NH[NH.INVALID_PARAMETER_INSTANCE=5004]="INVALID_PARAMETER_INSTANCE",NH[NH.INVALID_PARAMETER_RANGE=5005]="INVALID_PARAMETER_RANGE",NH[NH.INVALID_PARAMETER_LESS_THAN_ZERO=5006]="INVALID_PARAMETER_LESS_THAN_ZERO",NH[NH.INVALID_PARAMETER_MIN=5007]="INVALID_PARAMETER_MIN",NH[NH.INVALID_PARAMETER_MAX=5008]="INVALID_PARAMETER_MAX",NH[NH.INVALID_ELEMENT_ID=5009]="INVALID_ELEMENT_ID",NH[NH.INVALID_ELEMENT_ID_TYPE=5010]="INVALID_ELEMENT_ID_TYPE",NH[NH.INVALID_STREAM_ID=5011]="INVALID_STREAM_ID",NH[NH.INVALID_ROOM_ID_STRING=5012]="INVALID_ROOM_ID_STRING",NH[NH.INVALID_ROOM_ID_INTEGER=5013]="INVALID_ROOM_ID_INTEGER",NH[NH.INVALID_STREAM_TYPE=5014]="INVALID_STREAM_TYPE",NH[NH.INVALID_ROOM_ID_REQUIRED=5015]="INVALID_ROOM_ID_REQUIRED",NH[NH.INVALID_ROOM_ID_INTEGER_STRING=5016]="INVALID_ROOM_ID_INTEGER_STRING",NH[NH.INVALID_BUFFER_EMPTY=5017]="INVALID_BUFFER_EMPTY",NH[NH.INVALID_BUFFER_OVERSIZE=5018]="INVALID_BUFFER_OVERSIZE",NH[NH.INVALID_ROOM_ID_TYPE_MISMATCH=5019]="INVALID_ROOM_ID_TYPE_MISMATCH",NH[NH.INVALID_ROOM_ID_DUPLICATE=5020]="INVALID_ROOM_ID_DUPLICATE",NH[NH.INVALID_OPERATION=5100]="INVALID_OPERATION",NH[NH.INVALID_OPERATION_NOT_JOINED=5101]="INVALID_OPERATION_NOT_JOINED",NH[NH.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]="INVALID_OPERATION_REMOTE_USER_NOT_EXIST",NH[NH.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]="INVALID_OPERATION_STREAM_TYPE_NOT_EXIST",NH[NH.INVALID_OPERATION_REPEAT_CALL=5104]="INVALID_OPERATION_REPEAT_CALL",NH[NH.INVALID_OPERATION_NEED_VIDEO=5105]="INVALID_OPERATION_NEED_VIDEO",NH[NH.INVALID_OPERATION_NEED_AUDIO=5106]="INVALID_OPERATION_NEED_AUDIO",NH[NH.INVALID_ROLE_AUDIENCE=5107]="INVALID_ROLE_AUDIENCE",NH[NH.INVALID_NOT_ENABLE_SEI=5108]="INVALID_NOT_ENABLE_SEI",NH[NH.INVALID_NEED_CALL_PUBLISHED=5109]="INVALID_NEED_CALL_PUBLISHED",NH[NH.ENV_NOT_SUPPORTED=5200]="ENV_NOT_SUPPORTED",NH[NH.NOT_SUPPORTED_HTTP=5201]="NOT_SUPPORTED_HTTP",NH[NH.NOT_SUPPORTED_WEBRTC=5202]="NOT_SUPPORTED_WEBRTC",NH[NH.NOT_SUPPORTED_H264_ENCODE=5203]="NOT_SUPPORTED_H264_ENCODE",NH[NH.NOT_SUPPORTED_H264_DECODE=5204]="NOT_SUPPORTED_H264_DECODE",NH[NH.NOT_SUPPORTED_SCREEN_SHARE=5205]="NOT_SUPPORTED_SCREEN_SHARE",NH[NH.NOT_SUPPORTED_SMALL_VIDEO=5206]="NOT_SUPPORTED_SMALL_VIDEO",NH[NH.NOT_SUPPORTED_SEI=5207]="NOT_SUPPORTED_SEI",NH[NH.NOT_SUPPORTED_WEBGL=5208]="NOT_SUPPORTED_WEBGL",NH[NH.NOT_SUPPORTED_CHROME_VERSION=5209]="NOT_SUPPORTED_CHROME_VERSION",NH[NH.NOT_SUPPORTED_PLUGIN=5210]="NOT_SUPPORTED_PLUGIN",NH[NH.DEVICE_ERROR=5300]="DEVICE_ERROR",NH[NH.DEVICE_NOT_FOUND_ERROR=5301]="DEVICE_NOT_FOUND_ERROR",NH[NH.DEVICE_NOT_ALLOWED_ERROR=5302]="DEVICE_NOT_ALLOWED_ERROR",NH[NH.DEVICE_NOT_READABLE_ERROR=5303]="DEVICE_NOT_READABLE_ERROR",NH[NH.DEVICE_OVERCONSTRAINED_ERROR=5304]="DEVICE_OVERCONSTRAINED_ERROR",NH[NH.DEVICE_INVALID_STATE_ERROR=5305]="DEVICE_INVALID_STATE_ERROR",NH[NH.DEVICE_SECURITY_ERROR=5306]="DEVICE_SECURITY_ERROR",NH[NH.DEVICE_ABORT_ERROR=5307]="DEVICE_ABORT_ERROR",NH[NH.CAMERA_RECOVER_FAILED=5308]="CAMERA_RECOVER_FAILED",NH[NH.MICROPHONE_RECOVER_FAILED=5309]="MICROPHONE_RECOVER_FAILED",NH[NH.NOT_SUPPORTED_MISMATCH_SAMPLE_RATE_IN_FIREFOX=5310]="NOT_SUPPORTED_MISMATCH_SAMPLE_RATE_IN_FIREFOX",NH[NH.SERVER_ERROR=5400]="SERVER_ERROR",NH[NH.NEED_TO_BUY=5401]="NEED_TO_BUY",NH[NH.ACCOUNT_NO_MONEY=-100013]="ACCOUNT_NO_MONEY",NH[NH.OPERATION_FAILED=5500]="OPERATION_FAILED",NH[NH.FIREWALL_RESTRICTION=5501]="FIREWALL_RESTRICTION",NH[NH.REJOIN_FAILED=5502]="REJOIN_FAILED",NH[NH.EVENT_HANDLER_ERROR=5503]="EVENT_HANDLER_ERROR",NH[NH.VIDEO_CONTEXT_ERROR=5504]="VIDEO_CONTEXT_ERROR",NH[NH.VIDEO_ENCODE_FAILED=5505]="VIDEO_ENCODE_FAILED",NH[NH.AUDIO_ENCODE_FAILED=5506]="AUDIO_ENCODE_FAILED",NH[NH.VIDEO_DECODE_FAILED=5507]="VIDEO_DECODE_FAILED",NH[NH.AUDIO_DECODE_FAILED=5508]="AUDIO_DECODE_FAILED",NH[NH.OPERATION_ABORT=5998]="OPERATION_ABORT",NH[NH.UNKNOWN_ERROR=5999]="UNKNOWN_ERROR",NH);var PH=$b(Xb({},oL),{INVALID_PARAMETER(e){let{fnName:t}=e;return"the parameters of the '".concat(t,"' you called does not meet the requirements, please check the API documentation.")},INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' is a required param when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="";return a=Array.isArray(r.type)?r.type.join("|"):r.type,"'".concat(n,"' must be type of ").concat(a," when calling ").concat(i,"(), received type: ").concat(UD(o),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be '").concat(o,"' when calling ").concat(i,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="".concat(r.instanceOf.name||r.instanceOf);return"'".concat(n,"' must be instanceof ").concat(a," when calling ").concat(i,"(), received type: ").concat(UD(o),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' must be one of ").concat(r.values.join("|")," when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_LESS_THAN_ZERO(e){let{key:t,rule:r,fnName:i}=e;return"'".concat(t||r.name,"' cannot be less than 0 when calling ").concat(i,"().")},INVALID_PARAMETER_MIN(e){let{key:t,rule:r,value:i}=e;return"the min value of ".concat(t||r.name," is ").concat(r.min,", received: ").concat(i,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:r,value:i}=e;return"the max value of ".concat(t||r.name," is ").concat(r.max,", received: ").concat(i,".")},INVALID_ELEMENT_ID(e){let{key:t,fnName:r}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(r,"().")},INVALID_ELEMENT_ID_TYPE(e){let{key:t,fnName:r,type:i}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(r,"(), received: ").concat(i,".")},INVALID_STREAM_ID(e){let{key:t}=e;return"'".concat(t,"' can only consist of uppercase and lowercase english letters (a-zA-Z), numbers (0-9), hyphens and underscores.")},INVALID_ROOM_ID_STRING(e){let{key:t}=e;return"'".concat(t,"' must be a valid string.")},INVALID_ROOM_ID_INTEGER(e){let{key:t}=e;return"'".concat(t,"' must be an integer between [1, 4294967294].")},INVALID_ROOM_ID_INTEGER_STRING(e){let{key:t}=e;return"'".concat(t,"' must be an integer but go a string, use 'parseInt' to convert it or use 'strRoomId' instead.")},INVALID_ROOM_ID_REQUIRED:()=>"at least one of 'roomId'(between [1, 4294967294]) and 'strRoomId'(not empty) is required.",INVALID_ROOM_ID_TYPE_MISMATCH(e){let{key:t}=e;return"The type of target roomId must match the current roomId. Current room is using '".concat(t,"', but received '").concat("strRoomId"===t?"roomId":"strRoomId","'.")},INVALID_ROOM_ID_DUPLICATE(e){let{key:t}=e;return"the target '".concat(t,"' must not be the same as the current '").concat(t,"'.")},INVALID_STREAM_TYPE:e=>{let{fnName:t}=e;return"'streamType' is required when 'userId' is not '*', calling ".concat(t,"()")},INVALID_IMAGE_URL:"The 'src' param must be filled in when the background type is image.",INVALID_OPERATION(e){let{fnName:t}=e;return"the API '".concat(t,"' you called does not meet the requirements, please check the API documentation.")},INVALID_OPERATION_NOT_JOINED(e){let{fnName:t}=e;return"cannot ".concat(t," because you are not enter room yet.")},INVALID_OPERATION_REMOTE_USER_NOT_EXIST(e){let{fnName:t,value:r}=e;return"cannot ".concat(t," because remote user(userId: ").concat(r.userId,") does not publishing stream.")},INVALID_OPERATION_STREAM_TYPE_NOT_EXIST(e){let{fnName:t,value:r}=e;return"cannot ".concat(t," because remote user(userId: ").concat(r.userId,") does not publishing ").concat(r.streamType," video.")},INVALID_OPERATION_REPEAT_CALL(e){let{fnName:t}=e;return"you are already ".concat(t,"(), cannot repeated call '").concat(t,"'.")},INVALID_OPERATION_NEED_VIDEO(e){let{fnName:t}=e;return"cannot call '".concat(t,"' because the camera is not turned on.")},INVALID_OPERATION_NEED_AUDIO(e){let{fnName:t}=e;return"cannot call '".concat(t,"' because the microphone or screen share is not turned on.")},INVALID_BUFFER_EMPTY:e=>{let{key:t}=e;return"the buffer size of paramerter '".concat(t,"' cannot be empty")},INVALID_BUFFER_OVERSIZE:()=>"buffer size is over 1000 Bytes",INVALID_ROLE_AUDIENCE:()=>"role: 'audience' cannot call this api.",INVALID_NOT_ENABLE_SEI:()=>"you need to enable SEI in TRTC.create({ enableSEI: true })",INVALID_NEED_CALL_PUBLISHED:e=>{let{fnName:t}=e;return"you need to call ".concat(t,"() after publish stream.")},ENV_NOT_SUPPORTED(e){let{fnName:t}=e;return"the current browser does not support the capability of the function '".concat(t,"' you are calling, please check the API documentation.")},NOT_SUPPORTED_WEBRTC:"the current browser does not support WebRTC capability, please check the SDK documentation.",NOT_SUPPORTED_H264_ENCODE:"this browser does not support H264 encode.",NOT_SUPPORTED_H264_DECODE:"this browser does not support H264 decode.",NOT_SUPPORTED_SCREEN_SHARE:"this browser does not support screen share, please check the browser version.",NOT_SUPPORTED_SMALL_VIDEO:"this browser does not support small video, please check the browser version.",NOT_SUPPORTED_SEI:"this browser does not support SEI, please check the browser version.",NOT_SUPPORTED_WEBGL:"this browser does not support WebGL, please check the browser version.",NOT_SUPPORTED_CHROME_VERSION(e){let{fnName:t}=e;return"cannot call ".concat(t," because the browser version is too low, please upgrade to the latest version")},DEVICE_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' got device exception").concat(r?", error: ".concat(r.toString(),"."):".")},DEVICE_NOT_FOUND_ERROR(e){let{fnName:t,deviceType:r=xH(t),error:i}=e;return"NotFoundError, no ".concat(r," detected, please check your device and the configuration on '").concat(t,"'").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_ALLOWED_ERROR(e){let{fnName:t,deviceType:r=xH(t),error:i}=e;return"NotAllowedError, you have disabled ".concat(r," access, please allow the current application to use the ").concat(r).concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_READABLE_ERROR(e){let{fnName:t,deviceType:r=xH(t),error:i}=e;return"NotReadableError, the ".concat(r," maybe in use by another APP, please check if the device is pre-occupied by another APP.")},DEVICE_OVERCONSTRAINED_ERROR(e){let{fnName:t,deviceType:r=xH(t),error:i}=e;return"OverconstrainedError, the device ID is incorrect, please check whether the device ID passed in is correct".concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_INVALID_STATE_ERROR(e){let{fnName:t,deviceType:r=xH(t),error:i}=e;return"InvalidStateError, after the user clicks and interacts with the page, turn on the ".concat(r).concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_SECURITY_ERROR(e){let{fnName:t,deviceType:r=xH(t),error:i}=e;return"SecurityError, check whether the system security policy restricts the use of the ".concat(r,", and it is recommended to turn on the ").concat(r," after the user interacts with the page").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_ABORT_ERROR(e){let{fnName:t,deviceType:r=xH(t),error:i}=e;return"AbortError, an unknown exception in the system makes the device unusable, recommended to change the device or browser and re-check whether the device is normal".concat(i?" error: ".concat(i.toString(),"."):".")},CAMERA_RECOVER_FAILED(e){let{error:t}=e;return"camera recover capture failed ".concat((null==t?void 0:t.name)||"",": ").concat((null==t?void 0:t.originMessage)||(null==t?void 0:t.message))},MICROPHONE_RECOVER_FAILED(e){let{error:t}=e;return"microphone recover capture failed ".concat((null==t?void 0:t.name)||"",": ").concat((null==t?void 0:t.originMessage)||(null==t?void 0:t.message))},OPERATION_FAILED(e){let{fnName:t,error:r}=e;return"'".concat(t,"' failed, reason: ").concat(null==r?void 0:r.toString())},FIREWALL_RESTRICTION:()=>"media connection failure due to firewall restrictions, please try to change your network.",EVENT_HANDLER_ERROR(e){let{eventName:t}=e;return"an error was caught on trtc.on('".concat(t,"', handler), please check your code on 'handler'.")},VIDEO_CONTEXT_ERROR(e){let{reason:t,error:r}=e;return"video context error ".concat(t," ").concat((null==r?void 0:r.name)||""," ").concat((null==r?void 0:r.message)||"")},SERVER_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' got server error: ").concat(null==r?void 0:r.toString(),", please check the SDK documentation.")},NEED_TO_BUY(e){let{value:t,url:r}=e;return"You need to buy packages for ".concat(t,". Refer to: ").concat(r)},ACCOUNT_NO_MONEY:e=>{let{fnParams:t}=e;return"your TRTC account run out of credit, please recharge.".concat(t.sdkAppId?" SDKAppId: ".concat(t.sdkAppId):"")},OPERATION_ABORT(e){let{fnName:t}=e;return"'".concat(t,"' abort")},UNKNOWN_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' throw unknown exception").concat(r?", error: ".concat(r.toString(),"."):".")}});function xH(e){if(!e)return"camera";let t=e.toLowerCase();return t.includes("screen")?"screen share":t.includes("audio")?"microphone":"camera"}var UH=class e extends Error{constructor(e){let{code:t,extraCode:r,message:i="",messageParams:o,fnName:n="",originError:a,data:s}=e;var c;let l;l=i||function(e){let t,{code:r,params:i,enableDocLink:o=!1}=e,a="",s=LH[r];try{t=PH[s]}catch(n){t=PH.UNKNOWN_ERROR}return VD(t)?a=t(i):BD(t)&&(a=t),i.fnName&&!a.includes(i.fnName)&&("."!==a[a.length-1]&&(a+="."),a+=" thrown from ".concat(i.fnName,"()")),o&&(a+=" doc:"),a}({code:t===MH.SERVER_ERROR?t:r||t,params:Xb({fnName:n,error:a},o)}),super(l),rw(this,"name","RtcError"),rw(this,"code"),rw(this,"extraCode"),rw(this,"functionName"),rw(this,"message"),rw(this,"data"),rw(this,"handler"),rw(this,"originError"),this.name=LH[t],this.code=t,this.extraCode=r,this.functionName=n,this.originError=a,this.message=l,this.data=s,5302===this.extraCode&&null!=(c=this.originError)&&c.message.includes("system")&&(this.handler=()=>{let e=document.createElement("a");xk?e.href="ms-settings:privacy-".concat({startLocalVideo:"webcam",startLocalAudio:"microphone"}[this.functionName]):Uk&&(e.href="x-apple.systempreferences:com.apple.preference.security?Privacy_".concat({startLocalVideo:"Camera",startLocalAudio:"Microphone",startScreenShare:"ScreenCapture"}[this.functionName])),e.href.length>0&&e.click()})}static convertFrom(t,r,i){let o=t;if(t instanceof pw){let{stack:n}=t,a={code:MH.UNKNOWN_ERROR,fnName:r,originError:t};switch(t.getCode()){case uw.INVALID_PARAMETER:a.code=MH.INVALID_PARAMETER,a.message=t.message;break;case uw.INVALID_OPERATION:a.code=MH.INVALID_OPERATION;break;case uw.NOT_SUPPORTED:case uw.NOT_SUPPORTED_H264:a.code=MH.ENV_NOT_SUPPORTED,t.getCode()===uw.NOT_SUPPORTED_H264&&(a.extraCode=t.message.includes(oL.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case uw.JOIN_ROOM_FAILED:a.messageParams={fnParams:i};case uw.SERVER_TIMEOUT:case uw.SWITCH_ROLE_FAILED:case uw.SWITCH_ROOM_FAILED:a.code=MH.SERVER_ERROR,a.extraCode=t.getExtraCode();break;case uw.API_CALL_ABORTED:a.code=MH.OPERATION_ABORT;break;case uw.DEVICE_NOT_FOUND:case uw.DEVICE_AUTO_RECOVER_FAILED:case uw.INITIALIZE_FAILED:a.code=5300,t.name&&(a.extraCode=function(e){let t;switch(e){case"NotFoundError":t=5301;break;case"NotAllowedError":t=5302;break;case"NotReadableError":t=5303;break;case"OverconstrainedError":t=5304;break;case"InvalidStateError":t=5305;break;case"SecurityError":t=5306;break;case"AbortError":t=5307;break;default:t=5300}return t}(t.name));break;case uw.VIDEO_ENCODE_FAILED:a.extraCode=5505;case uw.AUDIO_ENCODE_FAILED:a.extraCode=5506,a.code=MH.OPERATION_FAILED;break;case uw.UNKNOWN:break;default:a.code=MH.OPERATION_FAILED}o=new e(a),n&&(o.stack+=n.substr(n.indexOf("\n")))}else{if(t instanceof e)return t;o=new e({code:MH.UNKNOWN_ERROR,fnName:r,originError:t})}return o}};var VH=UH;function FH(e){return"sub"===e?"auxiliary":"auxiliary"===e?"sub":"main"}function BH(e){return e===OH.QOS_PREFERENCE_CLEAR?"detail":e===OH.QOS_PREFERENCE_SMOOTH?"motion":""}function HH(e,t){let r=t?Jw:Yw;return HN(e)?Xb(Xb({},r),e):qw[e]?qw[e]:r}var WH={type:"object",properties:{cameraId:{type:"string"},useFrontCamera:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:["string","boolean"],values:[!0,!1,"view","publish","both"]},small:{type:["string","object","boolean"],properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack}}},jH={type:"object",properties:{systemAudio:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},profile:{type:["string","object"],properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack},audioTrack:{instanceOf:MediaStreamTrack}}},GH={type:["string",HTMLElement,null,"array"],arrayItem:{instanceOf:HTMLElement},validate(e,t,r){if(BD(e)&&!document.getElementById(e))throw new VH({code:MH.INVALID_PARAMETER,extraCode:5009,fnName:r,messageParams:{key:t}})}},zH={name:"userId",required:!0,type:"string"},KH={type:"object",properties:{microphoneId:{type:"string"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:"number",min:0},earMonitorVolume:{type:"number",min:0,max:100},profile:{type:["string","object"],properties:{bitrate:{type:"number"},channelCount:{type:"number"}}},echoCancellation:{values:[!0,!1,"remote-only","all"]},autoGainControl:{type:"boolean"},noiseSuppression:{type:"boolean"}}};function qH(e,t){if(!e)throw new VH({code:MH.INVALID_OPERATION,extraCode:5101,fnName:t})}function YH(e,t,r){if(!e)throw new VH({code:MH.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:r}})}function JH(e,t,r){if(!(/^[1-9]\d*$/.test(String(e))&&e<4294967295))throw new VH({code:MH.INVALID_PARAMETER,extraCode:5013,fnName:t,messageParams:{key:r}})}function XH(e,t,r){if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e))throw new VH({code:MH.INVALID_PARAMETER,extraCode:5012,fnName:t,messageParams:{key:r}})}function $H(e){var t;if(null==(t=null==e?void 0:e.option)||!t.small)return;if(!zL())return qO.warn("small stream is not supported"),void delete e.option.small;let r=HH(e.option.profile),i=HH(e.option.small,!0);return((e,t)=>e.width*e.height>=t.width*t.height&&e.frameRate>=t.frameRate&&e.bitrate>=t.bitrate)(r,i)?void 0:(qO.warn("small stream profile must be less than big stream profile. Big: ".concat(JSON.stringify(r),", Small: ").concat(JSON.stringify(i))),void delete e.option.small)}var QH={create:[{name:"RoomConfig",instanceOf:Function},{name:"CreateConfig",type:"object",properties:{plugins:{type:"array",arrayItem:{instanceOf:Function}}}}],enterRoom:{name:"EnterRoomConfig",type:"object",required:!0,validate(e,t,r){if(this._room.isJoined)throw new VH({code:MH.INVALID_OPERATION,extraCode:5104,fnName:r});if(e.roomId){if(BD(e.roomId))throw new VH({code:MH.INVALID_PARAMETER,extraCode:5016,fnName:r,messageParams:{key:t}});JH(e.roomId,r,t)}else{if(!e.strRoomId)throw new VH({code:MH.INVALID_PARAMETER,extraCode:5015,fnName:r});XH(e.strRoomId,r,t)}},properties:{sdkAppId:{required:!0,type:"number",allowEmpty:!1},userId:{required:!0,type:"string",allowEmpty:!1},userSig:{required:!0,type:"string",allowEmpty:!1},scene:{type:"string",values:["live","rtc"]},role:{type:"string",values:["audience","anchor"]},roomId:{type:["string","number"]},strRoomId:{type:"string"},proxy:{type:["object","string"],properties:{websocketProxy:{type:"string"},turnServer:{type:["object","array"],properties:{url:{required:!0,type:"string"},username:{type:"string"},credential:{type:"string"},credentialType:{type:"string",values:["password"]}}},loggerProxy:{type:"string"},webtransportProxy:{type:"string"}}},enableAutoPlayDialog:{type:"boolean"},userDefineRecordId:{type:"string"},latencyLevel:{type:"number"},playoutDelay:{type:"object",properties:{min:{type:"number",min:0,max:1e3},max:{type:"number",min:0,max:1e4}}}}},startLocalVideo:{name:"LocalVideoConfig",type:"object",properties:{view:GH,mute:{type:["boolean","string"]},publish:{type:"boolean"},capture:{required:!1,type:"boolean"},option:WH},validate(e){var t,r;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&bL())throw new VH({code:MH.ENV_NOT_SUPPORTED,extraCode:5201});null!=(r=null==e?void 0:e.option)&&r.small&&$H(e)}},updateLocalVideo:{name:"updateLocalVideoConfig",type:"object",required:!0,properties:{view:$b(Xb({},GH),{required:!1}),publish:{type:"boolean"},capture:{required:!1,type:"boolean"},mute:{type:["boolean","string"]},option:WH},validate(e){var t;null!=(t=null==e?void 0:e.option)&&t.small&&$H(e)}},startLocalAudio:{name:"LocalAudioConfig",type:"object",properties:{publish:{type:"boolean"},option:KH},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&bL())throw new VH({code:MH.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:"updateLocalAudioConfig",type:"object",required:!0,properties:{publish:{type:"boolean"},mute:{type:"boolean"},option:KH}},startScreenShare:{name:"ScreenShareConfig",type:"object",properties:{view:GH,publish:{type:"boolean"},option:jH},validate(e,t,r,i,o){var n;if(null==(n=null==e?void 0:e.option)||!n.videoTrack){if(bL())throw new VH({code:MH.ENV_NOT_SUPPORTED,extraCode:5201});if(!ML())throw new VH({code:MH.ENV_NOT_SUPPORTED,fnName:r,extraCode:5205})}}},updateScreenShare:{name:"updateScreenShareConfig",type:"object",required:!0,properties:{view:GH,publish:{type:"boolean"},option:jH}},muteRemoteAudio:[zH,{name:"mute",required:!0,type:"boolean"}],setRemoteAudioVolume:[zH,{name:"volume",required:!0,type:"number",min:0}],startRemoteVideo:{name:"startRemoteVideoConfig",type:"object",required:!0,properties:{view:GH,userId:{type:"string",required:!0},streamType:{values:["main","sub"],required:!0},option:{type:"object",properties:{fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"}}}},validate(e,t,r){qH(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(YH(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new VH({code:MH.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},updateRemoteVideo:{name:"updateRemoteVideoConfig",type:"object",required:!0,properties:{view:$b(Xb({},GH),{required:!1}),userId:{type:"string",required:!0},streamType:{values:["main","sub"],required:!0},option:{type:"object",properties:{fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"}}}},validate(e,t,r){qH(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(YH(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new VH({code:MH.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},stopRemoteVideo:{name:"stopRemoteVideoConfig",type:"object",required:!0,properties:{userId:{type:"string",required:!0},streamType:{values:["main","sub"]}},validate(e,t,r){if("*"!==e.userId&&FD(e.streamType))throw new VH({code:MH.INVALID_PARAMETER,extraCode:5014,fnName:r})}},switchRole:{name:"role",required:!0,values:["anchor","audience"],validate(e,t,r){qH(this._room.isJoining||this._room.isJoined,r)}},enableAudioVolumeEvaluation:[{name:"interval",type:"number"},{name:"enableInBackground",type:"boolean"}],sendSEIMessage:[{name:"buffer",required:!0,instanceOf:ArrayBuffer,validate(e,t,r,i){if(!cP)throw new VH({code:MH.ENV_NOT_SUPPORTED,fnName:r,extraCode:5207});if(!this._room.enableSEI)throw new VH({code:MH.INVALID_OPERATION,fnName:r,extraCode:5108});if(e.byteLength>1e3)throw new VH({code:MH.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new VH({code:MH.INVALID_PARAMETER,extraCode:5017,messageParams:{key:t},fnName:r});qH(this._room.isJoined,r)}},{name:"options",type:"object",properties:{seiPayloadType:{type:"number",values:[5,243]},toSubStream:{type:"boolean",validate(e,t,r){if(!e&&!this._room.isMainStreamPublished||e&&!this._room.isAuxStreamPublished)throw new VH({code:MH.INVALID_OPERATION,extraCode:5109,messageParams:{key:t},fnName:r})}}}}],sendCustomMessage:{name:"message",required:!0,type:"object",properties:{cmdId:{type:"number",required:!0,min:1,max:10},data:{instanceOf:ArrayBuffer,required:!0,validate(e,t,r,i){if(e.byteLength>1e3)throw new VH({code:MH.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new VH({code:MH.INVALID_PARAMETER,extraCode:5017,fnName:r,messageParams:{key:t}})}}},validate(e,t,r){if(qH(this._room.isJoined,r),"live"===this._room.scene&&"audience"===this._room.role)throw new VH({code:MH.INVALID_OPERATION,extraCode:5107,fnName:r,messageParams:{key:t}})}},switchRoom:{name:"switchRoomConfig",type:"object",required:!0,validate(e,t,r){if(qH(this._room.isJoined,r),this._room.useStringRoomId&&e.strRoomId===this._room.roomId||!this._room.useStringRoomId&&e.roomId===Number(this._room.roomId))throw new VH({code:MH.INVALID_PARAMETER,extraCode:5020,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId&&this._room.useStringRoomId||!e.roomId&&e.strRoomId&&!this._room.useStringRoomId)throw new VH({code:MH.INVALID_PARAMETER,extraCode:5019,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId)JH(e.roomId,r,t);else{if(!e.strRoomId)throw new VH({code:MH.INVALID_PARAMETER,extraCode:5015,fnName:r});XH(e.strRoomId,r,t)}},properties:{roomId:{type:"number"},strRoomId:{type:"string"},privateMapKey:{type:"string"},userSig:{type:"string",required:!0},autoSubscribeCount:{type:"number",min:0,max:50}}}},ZH={TRTC:QH},eW=class extends Error{};function tW(e,t){let r=cN(e);for(let i=0;i<t.length;i++)sN(r[i],t[i]);return r}function rW(e){this._resolve=Promise.resolve(e)}function iW(e){this._reject=Promise.reject(e)}var oW=class e{constructor(t,r){this.instance=t,this.group=r,rw(this,"started",!1),rw(this,"ops",[]),rw(this,"startSame",(()=>!0)),rw(this,"mergeUpdate",tW);let i=e.instances.get(t);i?i.set(r,this):e.instances.set(t,new Map([[r,this]]))}static get(t,r){if(!r)return;let i=e.instances.get(t);return i&&i.get(r)||new e(t,r)}static gets(t,r){let i=e.instances.get(t),o=[];return i&&i.forEach(((e,t)=>{r.test(t)&&o.push(e)})),o}action(e,t,r){let i=t=>{var r;return 0===e?this.started=!0:3===e&&(this.started=!1),this.ops.shift(),null==(r=this.currentOp)||r.action(),t},o=t=>{var r,i;throw this.ops.shift(),0===e&&2===(null==(r=this.currentOp)?void 0:r.type)&&this.ops.shift().reject(new eW("start failed")),null==(i=this.currentOp)||i.action(),t},n={type:e,action:()=>t(...n.args).then(i,o),args:r,resolve:rW,reject:iW};try{switch(this.state){case 1:if(0===e)throw new eW("already started");break;case 4:if(2===e)throw new eW("not started");break;default:return this.cacheOp(n)}}catch(rM){return Promise.reject(rM)}return this.ops.push(n),n.promise=t(...n.args).then(i,o)}cacheOp(e){if(1===this.ops.length)switch(this.state){case 0:case 2:if(0===e.type)throw new eW("already start");break;case 3:switch(e.type){case 2:throw new eW("update not allowed when stopping");case 3:return this.currentOp.promise}break;default:throw new eW("unknown state")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new eW("keep stop");if(this.ops.slice(1).forEach((t=>t.reject(e))),this.ops=this.ops.slice(0,1),3===this.state)return this.currentOp.promise}break;case 2:switch(this.lastOpType){case 2:return this.lastOp.args=this.mergeUpdate(this.lastOp.args,e.args),this.lastOp.promise;case 3:throw new eW("update not allowed after stop")}break;case 0:switch(this.lastOpType){case 2:throw new eW("start not allowed after update");case 0:throw new eW("duplicate start");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new eW("keep start")),new eW("already start")}}e.promise=new Promise(((t,r)=>{e._resolve?e._resolve.then(t):e.resolve=t,e._reject?e._reject.catch(r):e.reject=r}));let{action:t}=e;return e.action=()=>t().then(e.resolve,e.reject),this.ops.push(e),e.promise}get lastOp(){return this.ops[this.ops.length-1]}get lastOpType(){return this.lastOp.type}get currentOp(){return this.ops[0]}get state(){return this.currentOp?this.currentOp.type:this.started?1:4}};rw(oW,"instances",new WeakMap);var nW=oW,aW=new WeakMap,sW=(e,t)=>{if(t instanceof eW){let{stack:r}=t;t=new VH({code:MH.OPERATION_ABORT,message:"".concat(e," abort: ").concat(t.message),fnName:e}),r&&(t.stack+=r.substr(r.indexOf("\n")))}throw t};function cW(e,t){return yU(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let s=nW.get(this,"string"==typeof e?e:e.call(this,...n));return s?(t&&(s.startSame=t.bind(this)),s.action(0,r.bind(this),n).catch(sW.bind(null,i))):r.apply(this,n)}))}function lW(e,t){let{merge:r,debounce:i}=t||{};return yU(((t,o)=>function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];let c=nW.get(this,"string"==typeof e?e:e.call(this,...a));if(!c)return t.apply(this,a);if(r&&(c.mergeUpdate=r.bind(this)),i&&i.isNeedToDebounce.apply(this,a)){let{delay:e,getKey:r}=i;return new Promise(((i,n)=>{var s,l;let d=null==(s=aW.get(this))?void 0:s.get(r(...a));if(d){let{timeoutId:e,resolve:t}=d;clearTimeout(e),t()}let u=setTimeout((()=>{if(3===c.state||4===c.state)return i();c.action(2,t.bind(this),a).catch(sW.bind(null,o)).then(i,n)}),e);aW.has(this)?null==(l=aW.get(this))||l.set(r(...a),{timeoutId:u,resolve:i}):aW.set(this,new Map([[r(...a),{timeoutId:u,resolve:i}]]))}))}return c.action(2,t.bind(this),a).catch(sW.bind(null,o))}))}function dW(e){return yU(((t,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a="function"==typeof e?e.call(this,...o):e;if(a instanceof RegExp)return Promise.all(nW.gets(this,a).map((e=>e.action(3,(()=>Promise.resolve()),o)))).then((()=>t.call(this,...o)));let s=nW.get(this,a);return s?s.action(3,t.bind(this),o).catch(sW.bind(null,r)):t.apply(this,o)}))}var uW={ERROR:"error",AUTOPLAY_FAILED:"autoplay-failed",KICKED_OUT:"kicked-out",REMOTE_USER_ENTER:"remote-user-enter",REMOTE_USER_EXIT:"remote-user-exit",REMOTE_AUDIO_AVAILABLE:"remote-audio-available",REMOTE_AUDIO_UNAVAILABLE:"remote-audio-unavailable",REMOTE_VIDEO_AVAILABLE:"remote-video-available",REMOTE_VIDEO_UNAVAILABLE:"remote-video-unavailable",AUDIO_VOLUME:"audio-volume",AUDIO_FRAME:"audio-frame",NETWORK_QUALITY:"network-quality",CONNECTION_STATE_CHANGED:"connection-state-changed",AUDIO_PLAY_STATE_CHANGED:"audio-play-state-changed",VIDEO_PLAY_STATE_CHANGED:"video-play-state-changed",SCREEN_SHARE_STOPPED:"screen-share-stopped",DEVICE_CHANGED:"device-changed",PUBLISH_STATE_CHANGED:"publish-state-changed",TRACK:"track",STATISTICS:"statistics",SEI_MESSAGE:"sei-message",CUSTOM_MESSAGE:"custom-message",VIDEO_DECODE_DOWNGRADE_STATE_CHANGED:"video-decode-downgrade-state-changed",LAYER_DATA:"layerData",FIRST_VIDEO_FRAME:"first-video-frame",PERMISSION_STATE_CHANGE:"permission-state-change",VIDEO_SIZE_CHANGED:"video-size-changed"},hW=new Set([uW.ERROR,uW.AUTOPLAY_FAILED,uW.KICKED_OUT,uW.REMOTE_USER_ENTER,uW.REMOTE_USER_EXIT,uW.REMOTE_AUDIO_AVAILABLE,uW.REMOTE_AUDIO_UNAVAILABLE,uW.REMOTE_VIDEO_AVAILABLE,uW.REMOTE_VIDEO_UNAVAILABLE,uW.CONNECTION_STATE_CHANGED,uW.PUBLISH_STATE_CHANGED,uW.SCREEN_SHARE_STOPPED,uW.DEVICE_CHANGED,uW.FIRST_VIDEO_FRAME,uW.PERMISSION_STATE_CHANGE,uW.VIDEO_SIZE_CHANGED]),pW={};Zb(pW,{ScheduleRequestType:()=>yW,getAbilityConfig:()=>IW,getScheduleDomain:()=>AW,isNeedToSchedule:()=>fW,scheduleProxy:()=>EW,sendScheduleRequest:()=>gW,setIsNeedToSchedule:()=>_W,setScheduleProxy:()=>vW});var mW=null,fW=!0;function _W(e){WD(e)&&e!==fW&&(fW=e,qO.info("setIsNeedToSchedule ".concat(e)))}function gW(e){return ow(this,arguments,(function(e){let{userId:t,sdkAppId:r,useStringRoomId:i,roomId:o,userSig:n,version:a,frameWorkType:s,role:c,latencyLevel:l}=e;return function*(){var e;if(!fW&&mW)return{isCached:!0,result:mW};let d={delta:0,count:[1,1],msg:[],detail:[]};try{let u=new FormData;u.append("userId",String(t)),u.append("sdkAppId",String(r)),u.append("isStrGroupId",String(i)),u.append("groupId",String(o)),u.append("sdkVersion",a),u.append("userSig",String(n));let h=(null==(e=yield NO())?void 0:e.model)||MO();h&&u.append("model",h),c&&u.append("role",String(c)),l&&u.append("latencyLevel",String(l)),s&&u.append("frameWorkType",String(s));let p=ZD(),m=yield function(e,t,r){return new Promise(((i,o)=>{let n=null;QD([RW((e=>t.count[0]=e+1),(e=>{let{error:i,retry:o,retriedCount:a,retryFuncArgs:s}=e;t.msg[0]=i.message,n||(a>=1&&(s[0]=TW(r,"config",$w.MAIN,!0)),o())}))(TW(r,"config",$w.MAIN),e,{get timeout(){return 1e3*PD(2+t.count[0])}}),RW((e=>t.count[1]=e+1),(e=>{let{error:i,retry:o,retriedCount:a,retryFuncArgs:s}=e;t.msg[1]=i.message,n||(a>=2&&(s[0]=TW(r,"config",$w.BACKUP,!0)),o())}))(TW(r,"config",$w.BACKUP),e,{get timeout(){return 1e3*PD(2+t.count[1])}})]).then((e=>{n=e,i(n)})).catch(o)}))}(u,d,r);m.config&&(m.config.loggerDomain&&Dw(m.config.loggerDomain),WD(m.config.scheduleCache)&&_W(!m.config.scheduleCache)),d.delta=ZD()-p;let f=function(e,t,r){let i={totalCost:0,local:0,dns:0,tcp:0,tls:0,request:0,response:0};try{let o=performance.getEntriesByType("resource"),n=TW(e,"config",$w.MAIN),a=TW(e,"config",$w.BACKUP);for(let e of o)if(e.startTime>=r&&(e.name===n||e.name===a)&&e.transferSize>0){let r=e.name===n?$w.MAIN:$w.BACKUP,o=Math.round(e.duration),a=Math.round(e.domainLookupStart-e.startTime),s=e.redirectStart>0?Math.round(e.redirectEnd-e.redirectStart):0,c=e.fetchStart>0?Math.round(e.domainLookupStart-e.fetchStart):0,l=Math.round(e.domainLookupEnd-e.domainLookupStart),d=Math.round(e.requestStart-e.secureConnectionStart),u=Math.round(e.secureConnectionStart-e.connectStart),h=Math.round(e.responseStart-e.requestStart),p=Math.round(e.responseEnd-e.responseStart),m=[l,d,u,h,p];qP.uploadEvent({log:"stat-schedule-net:".concat(o,"(").concat(a,"(").concat(s,"->").concat(c,")->").concat(m.join("->"),") ").concat(r),userId:t}),i=$b(Xb({},i),{totalCost:o,local:a,dns:l,tcp:u,tls:d,request:h,response:p});break}}catch(n){qO.error("getScheduleDetailCost error",n)}return i}(Number(r),t,p);return mW=m,{isCached:!1,result:m,detailCost:f}}catch(QO){let t=GD(QO)?QO[0]:QO,r=HD(t.code)?t.code:0,i="schedule failed".concat(t.message?": ".concat(t.message):""),o=new pw({code:uw.SCHEDULE_FAILED,extraCode:r,message:sL({key:iL.JOIN_ROOM_FAILED,data:{error:i,code:r}})});throw qO.error(i,r),o}}()}))}"undefined"!=typeof document&&document.head.insertAdjacentHTML("beforeend",Object.values(BC).map((e=>'<link rel="dns-prefetch" href="https://'.concat(e,'">'))).join("\r\n")),WO.on("28",(()=>_W(!0))),WO.on("63",(()=>_W(!0))),WO.on("84",(()=>_W(!0))),WO.on("201",(e=>{"RECONNECTING"===e.state&&_W(!0)})),WO.on("202",(e=>{"RECONNECTING"===e.state&&_W(!0)}));var EW={main:"",backup:""};function vW(e){GD(e)?(EW.main=e[0],EW.backup=e[1]):EW.main=e}var yW=(e=>(e.CONFIG="config",e.TRTC_AUTO_CONF="trtcAutoConf",e.AUDIO_AI_AUTH="audioAiAuth",e))(yW||{});function TW(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$w.MAIN,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return"https://".concat(EW[r]||AW(e,r,i),"/api/v1/").concat(t)}function IW(e,t,r){let i=TW(e,t),o=TW(e,t,$w.BACKUP),n=new URLSearchParams(r).toString(),a=fetch("".concat(i,"?").concat(n)).then((e=>e.json())),s=fetch("".concat(o,"?").concat(n)).then((e=>e.json()));return QD([a,s])}function AW(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$w.MAIN,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=yD(e)?i?r===$w.MAIN?BC.MAIN_OVERSEA_BACKUP:BC.BACKUP_OVERSEA:r===$w.MAIN?BC.MAIN_OVERSEA:BC.BACKUP_OVERSEA:r===$w.MAIN?BC.MAIN:BC.BACKUP,t}function SW(e,t,r){return new Promise(((i,o)=>{xN({url:e,body:t,timeout:r.timeout,priority:"high"}).then((e=>{0===e.data.code?i(e.data.data):o({code:e.data.code,message:e.data.msg})})).catch(o)}))}var RW=(e,t)=>WN({retryFunction:SW,settings:{retries:3,timeout:0},onError:t,onRetrying:e});var bW=class{constructor(){rw(this,"_log"),this._log=qO.createLogger({id:"fd"})}download(e,t){return ow(this,null,(function*(){let{type:r="blob"}=t||{};e=TN(e);try{let t,i=ZD();if(t=VD(fetch)?yield this.downloadWithFetch(e,r):yield this.downloadWithXHR(e,r),!t||!t.data)throw new Error("data is empty");let o=ZD()-i;return this._log.info("downloaded: ".concat(e,", return type: ").concat(r,", cost: ").concat(o,"ms")),EL.addSuccessEvent({key:522700,cost:ZD()-i}),t.data}catch(iM){throw this._log.error("failed to download: ".concat(e,", error: ").concat(iM)),EL.addFailedEvent({key:522700,error:iM}),iM}}))}downloadWithFetch(e,t){return ow(this,null,(function*(){this._log.info("download with fetch: ".concat(e,", return type: ").concat(t));try{let r,i=yield fetch(e);if(!i.ok){let e=new Error("network response was not ok: ".concat(i.status));throw e.status=i.status,e}return r="arraybuffer"===t?yield i.arrayBuffer():yield i.blob(),{data:r}}catch(RC){throw RC}}))}downloadWithXHR(e,t){return this._log.info("download with xhr: ".concat(e,", return type: ").concat(t)),new Promise(((r,i)=>{let o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType=t,o.onload=()=>{if(200===o.status||0===o.status&&o.response)r({data:o.response});else{let e=new Error("XHR failed, status: ".concat(o.status));e.status=o.status,i(e)}},o.onerror=i,o.send(null)}))}loadWasm(e,t){return ow(this,null,(function*(){this._log.info("loadWasm ".concat(e,", importObject: ").concat(JSON.stringify(t)));let r=ZD(),i=null,o=null;if(VD(WebAssembly.instantiateStreaming)&&!(e=>e.startsWith("data:application/octet-stream;base64,"))(e)&&!(e=>e.startsWith("file://"))(e)&&VD(fetch))try{let r=fetch(e);i=(yield WebAssembly.instantiateStreaming(r,t)).instance}catch(Sw){o=Sw}if(!i)try{let r=yield this.download(e,{type:"arraybuffer"});i=(yield WebAssembly.instantiate(r,t)).instance}catch(Sw){o=Sw}if(i){let t=ZD()-r;return this._log.info("loadedWasm ".concat(e,", cost: ").concat(t,"ms")),EL.addSuccessEvent({key:522701,cost:t}),i}throw this._log.error("failed to loadWasm ".concat(e,", error: ").concat(o)),EL.addFailedEvent({key:522701,error:o}),o}))}loadScript(e){this._log.info("loadScript ".concat(e));let t=ZD();return new Promise(((r,i)=>{let o=document.createElement("script");o.type="text/javascript",o.onload=()=>{this._log.info("loadedScript ".concat(e,", cost: ").concat(ZD()-t,"ms")),EL.addSuccessEvent({key:522702,cost:ZD()-t,split:1e3}),r(o)},o.onerror=t=>{this._log.error("failed to loadScript ".concat(e,", error: ").concat((null==t?void 0:t.message)||JSON.stringify(t))),EL.addFailedEvent({key:522702}),i(t)},o.crossOrigin="anonymous",o.src=e,document.head.append?document.head.append(o):document.getElementsByTagName("head")[0].appendChild(o)}))}};tw([JP({settings:{timeout:0,retries:3},onError(e,t,r){var i;404===(null==e?void 0:e.status)||null!=(i=null==e?void 0:e.message)&&i.includes("404")?(this._log.warn("download 404, stop retry"),r(e)):t()},onRetrying(e){this._log.warn("download retrying: ".concat(e))}})],bW.prototype,"download",1),tw([JP({settings:{timeout:3e3,retries:3},onRetrying(e){this._log.warn("loadScript retrying: ".concat(e))}})],bW.prototype,"loadScript",1);var wW=new bW;function CW(e){var t=this;let{TRTC:r,room:i,errorModule:o,assetsPath:n}=e;return{TRTC:r,LocalMixVideoTrack:wB,LocalVideoTrack:eB,LocalScreenTrack:NB,room:i,assetsPath:n,fileDownloader:wW,innerEmitter:WO,INNER_EVENT:GO,constants:vw,environment:GN,utils:tB,eventLogger:qP,log:this.room.getLogger(),loggerManager:qO,errorModule:o,kvStatManager:EL,rtcDectection:XO,trtc:this,rx:CU,enums:$O,schedule:pW,getDevices:Zx,initVisionTaskRegistry:function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/mediapipe/vision.js";return ow(t,null,(function*(){window.VisionTaskRegistry||(yield wW.loadScript("".concat(e,"/").concat(r).replace(/([^:]\/)\/+/g,"$1"))),yield(yield window.VisionTaskRegistry.getInstance(e)).preloadModels([window.VisionTaskType.ImageSegmenter])}))},audioContext:Px(),deviceDetector:$x,AudioPlayer:cU,AutoPlayDialog:vx,Timer:HP,clearStarted:(e,t)=>{let r=e.getAlias(),i=nW.instances.get(this);if(i)if(t){let e=i.get(r+t);if(!e)return;e.started=!1}else i.forEach(((e,t)=>{t.startsWith(r)&&(e.started=!1)}))},startGetPCM:MB,createAudioNode:Wx,getNetworkTimeOffset:mw,validateSourceNode:()=>{var e;if(ak&&(null==(e=this.room.audioManager._localAudioPipline)||!e.source.node))throw new VH({code:MH.DEVICE_ERROR,extraCode:5310,message:"The audio processing plugin cannot be used due to the microphone's sampling rate is not 48KHz in Firefox. Please switch to another browser such as Chrome."})}}}var DW=new WeakMap;var NW="5.13.2-wasm.6";function kW(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return yU(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{MW.call(this,t,o,r,this._name)}catch(iM){return Promise.reject(iM)}return e.apply(this,o)}))}function OW(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return yU(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{MW.call(this,t,o,r,this._name)}catch(iM){throw iM}return e.apply(this,o)}))}function MW(e,t,r,i){if(GD(e))for(let o=0;o<e.length;o++)LW.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else LW.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}function LW(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;function a(e){return{code:MH.INVALID_PARAMETER,extraCode:e,fnName:o,messageParams:{key:i,rule:t,value:r}}}if(FD(r)){if(t.required)throw new VH(a(5001));if(FD(t.defaultValue))return void(VD(t.validate)&&t.validate.call(this,r,i,o,n,this));r=t.defaultValue}if(Array.isArray(t.type)){let e=!1;for(let i=0;i<t.type.length;i++)null===t.type[i]&&null===r&&(e=!0),VD(t.type[i])&&r instanceof t.type[i]&&(e=!0),BD(t.type[i])&&UD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new VH({code:MH.INVALID_PARAMETER,extraCode:5002,fnName:o,messageParams:{key:i,rule:{type:t.type.map((e=>YD(e)?JD(e):BD(e)?e:UD(e)))},value:r}})}else if(!FD(t.type)&&UD(r)!==t.type)throw new VH(a(5002));if(!1===t.allowEmpty){let e=HD(r)&&(0===r||Number.isNaN(r)),t=BD(r)&&""===r.trim();if(e||t)throw new VH(a(5003))}if(t.notLessThanZero&&HD(r)&&r<0)throw new VH(a(5006));if(!FD(t.min)&&HD(r)&&r<t.min)throw new VH(a(5007));if(!FD(t.max)&&HD(r)&&r>t.max)throw new VH(a(5008));if(BD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new VH(a(5004))}else if(VD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new VH(a(5004));if(Array.isArray(t.values)&&!t.values.includes(r))throw new VH(a(5005));let{properties:s}=t;LD(s)&&jD(r)&&Object.keys(s).forEach((e=>{LW.call(this,{rule:s[e],value:r&&r[e],key:"".concat(e),fnName:o,className:n})}));let{arrayItem:c}=t;LD(c)&&GD(r)&&r.forEach(((e,t)=>{LW.call(this,{rule:c,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),VD(t.validate)&&t.validate.call(this,r,i,o,n,this)}function PW(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{getRemoteId:t=()=>"",replaceArg:r,getKVReportKey:i,ignoreLog:o,ignoreErrorLog:n}=e;return yU(((e,a)=>function(){for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];var d,u,h;function p(e,t,i){if(i&&i.includes(e))return"hided";if(r){let e=r(...c);if(c[e.argIndex]===t)return e.value}if(t===c||e in c)return t;try{return t instanceof HTMLElement?"id: ".concat(t.id," type:").concat(UD(t)):t instanceof MediaStreamTrack?IN(t):(JSON.stringify(t),t)}catch(o){return"type:".concat(UD(t))}}let m=this._log||qO;if(null!=o&&o(...c))return e.apply(this,c);c.length>0?m.info("".concat(a,"() ").concat(JSON.stringify(c,((e,t)=>p(e,t,["userSig","privateMapKey"]))))):m.info("".concat(a,"()"));let f=i?i(...c):uL[a],_=(null==n?void 0:n(...c))||!1;try{let r=e.apply(this,c),i=ZD();if(qD(r)){let e="".concat(a.includes("Plugin")?"".concat((null==(u=(d=c[0]).getName)?void 0:u.call(d))||""," "):" ");return r.then((r=>(m.info("".concat(a,"() success ").concat(e).concat(t.call(this,...c))),EL.addSuccessEvent({key:f,cost:ZD()-i}),r))).catch((r=>{var i;let o=(r=VH.convertFrom.call(this,r,a,1===c.length?c[0]:c)).extraCode||r.code,n=null!=(i=r.message)&&i.includes(o)?"":" code:".concat(o);throw _||m.error("".concat(a,"() failed ").concat(e).concat(t.call(this,...c)," ").concat(r).concat(n," params: ").concat(JSON.stringify(c,p))),EL.addFailedEvent({key:f,error:r}),r}))}return EL.addSuccessEvent({key:f}),r}catch(sM){let t=(sM=VH.convertFrom.call(this,sM,a)).extraCode||sM.code,r=null!=(h=sM.message)&&h.includes(t)?"":" code:".concat(t);throw _||m.error("".concat(a,"() failed ").concat(sM).concat(r," params: ").concat(JSON.stringify(c,p))),EL.addFailedEvent({key:f,error:sM}),sM}}))}var xW,UW=e=>yU(((t,r)=>function(i,o){return ow(this,null,(function*(){let n=this._plugins.get(i);if(!n)throw this._log.error("plugin ".concat(String(i)," is not found")),new VH({code:MH.OPERATION_ABORT,message:"plugin ".concat(String(i)," is not found"),fnName:r});if(VD(n.constructor.isSupported)&&!n.constructor.isSupported())throw this._log.error("plugin ".concat(String(i)," is not supported")),new VH({code:MH.ENV_NOT_SUPPORTED,message:"plugin ".concat(String(i)," is not supported"),extraCode:5210,fnName:r});return MW.call(this,n.getValidateRule(e),[o],r,"TRTC"),t.call(this,n,o)}))})),VW=0,FW=class e{constructor(e){this.core=e,rw(this,"log"),rw(this,"customAudioReferenceMap",new Map),rw(this,"audioRefId",0),rw(this,"audioContext",Px()),rw(this,"localAudioWorkletNode"),rw(this,"screenAudioWorkletNode"),rw(this,"mixNode"),rw(this,"silentNode"),VW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(VW)}),this.log.info("created id=".concat(this.getAlias()).concat(VW)),this.installEvent()}static getStartValidateRule(e){return{name:"options",required:!0,type:"object",properties:{sdkAppId:{type:"number",required:!0},userId:{type:"string",required:!0},userSig:{type:"string",required:!0}},validate(t,r,i,o){if(!e.room.audioManager.hasAudioTrack&&!e.room.audioManager.hasScreenAudioTrack)throw new VH({code:MH.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return xW||(xW=this.doPreload(e)),xW}doPreload(e){return ow(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield Tx(this.audioContext,r)}catch(iM){this.log.error("preload audioProcessor failed. ".concat(iM))}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ap"}getGroup(){return"ap"}getValidateRule(t){switch(t){case"start":return e.getStartValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return ow(this,null,(function*(){var t,r,i,o;let{room:n}=this.core,{sdkAppId:a,userId:s,userSig:c,assetsPath:l=this.core.assetsPath,audioReference:d,processLevel:u,enableDump:h,isLocalAudioNeedAudioProcess:p=!0,isScreenAudioNeedAudioProcess:m=!1}=e;if(this.core.room.audioManager.isLocalAudioNeedAudioProcess=p,this.core.room.audioManager.isScreenAudioNeedAudioProcess=m,!l)throw new VH({code:MH.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(this.core.validateSourceNode(),yield this.preload("".concat(l,"/audioProcessor-wasm.js")),p&&!this.localAudioWorkletNode){let{sign:e,status:t,timestamp:r}=yield this.getAuthData(a,s,c);this.localAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.localAudioWorkletNode,"localAudio",a,s,r,e,t,n)}if(m&&!this.screenAudioWorkletNode){let{sign:e,status:t,timestamp:r}=yield this.getAuthData(a,s,c);this.screenAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.screenAudioWorkletNode,"screenAudio",a,s,r,e,t,n)}this.mixNode||(this.mixNode=this.audioContext.createGain(),this.mixNode.gain.value=1),this.silentNode||(this.silentNode=this.audioContext.createConstantSource(),this.silentNode.offset.setValueAtTime(0,this.audioContext.currentTime),this.silentNode.start()),null==(t=this.localAudioWorkletNode)||t.port.postMessage({type:"enable"}),null==(r=this.screenAudioWorkletNode)||r.port.postMessage({type:"enable"}),n.audioManager.addAudioProcessor(this.mixNode,this.silentNode,this.localAudioWorkletNode,this.screenAudioWorkletNode),FD(d)||d.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})})),FD(u)||null==(i=this.localAudioWorkletNode)||i.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:u}}),FD(h)||null==(o=this.localAudioWorkletNode)||o.port.postMessage({type:"dump",data:{enable:h}})}))}update(e){return ow(this,null,(function*(){var t,r,i;let{audioReference:o,enableDump:n,processLevel:a}=e;FD(o)||(this.customAudioReferenceMap.forEach(((e,t)=>{this.customAudioReferenceMap.delete(t),this.core.room.audioManager.updateAudioReference({type:"remove",refId:e})})),o.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})}))),FD(a)||null==(t=this.localAudioWorkletNode)||t.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:a}}),FD(n)||(null==(r=this.localAudioWorkletNode)||r.port.postMessage({type:"dump",data:{enable:n}}),null==(i=this.screenAudioWorkletNode)||i.port.postMessage({type:"dump",data:{enable:n}}))}))}stop(){return ow(this,null,(function*(){var e,t;let{room:r}=this.core;null==(e=this.localAudioWorkletNode)||e.port.postMessage({type:"disable"}),null==(t=this.screenAudioWorkletNode)||t.port.postMessage({type:"disable"}),yield r.audioManager.removeAudioProcessor(this.localAudioWorkletNode,this.screenAudioWorkletNode)}))}destroy(){this.localAudioWorkletNode&&(this.localAudioWorkletNode.port.onmessage=null),this.screenAudioWorkletNode&&(this.screenAudioWorkletNode.port.onmessage=null),this.uninstallEvent()}getAuthData(e,t,r){return ow(this,null,(function*(){let i=String(Date.now()).slice(0,-3),{auth:o,sign:n,status:a,message:s}=yield function(e){return ow(this,arguments,(function(e){let{sdkAppId:t,userId:r,userSig:i,timestamp:o}=e;return function*(){let e="".concat(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$w.MAIN;return"https://".concat(EW[t]||AW(e,t),"/api/v1/audioAiAuth")}(t),"?sdkAppId=").concat(t,"&userId=").concat(r,"&userSig=").concat(i,"&timestamp=").concat(o),n=yield fetch(e),{data:{errCode:a,errMsg:s,sign:c,status:l}}=yield n.json();if("1"===l)return{auth:!0,sign:c,status:l,message:s};let d=yD(t)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",u="Init RTCAudioProcessor failed.",h="";switch(a){case 1:h="Please check your params.";break;case 2:h="You need to buy packages. Refer to: ".concat(d);break;case 3:h="Server is invalid. Please contact our engineer. ";break;case 4:h="Your packages is not active. Refer to: ".concat(d);break;case 5:h="Your packages is expired. Refer to: ".concat(d);break;case 6:h="Your version is not supported."}return{auth:!1,status:l,message:s?"".concat(u," Reason: ").concat(s,". ").concat(h):"".concat(u,", ").concat(h)}}()}))}({sdkAppId:e,userSig:r,userId:t,timestamp:i});if(!o)throw this.log.info("audioProcessor: ".concat(t," auth result: ").concat(o,". Message: ").concat(s)),new VH({code:MH.INVALID_PARAMETER,message:s});return{sign:n,status:a,timestamp:i}}))}initWorkletNode(e,t,r,i,o,n,a,s){e.port.postMessage({type:"init",data:{sdkAppId:String(r),userId:i,timestamp:o,sign:n,status:a}}),e.port.onmessage=e=>{var r;let{data:i}=e;switch(i.type){case"cost":let e=(null==i?void 0:i.value)>10?"info":"debug";return void this.log[e]("".concat("localAudio"===t?"":"[".concat(t,"] "),"avg cost: ").concat(i.value," max: ").concat(null==i?void 0:i.max,"(").concat(gw(new Date(null==i?void 0:i.maxCostTimestamp)),") hist: ").concat(null==(r=null==i?void 0:i.hist)?void 0:r.join(" ")));case"log":return void this.log[i.logLevel]("".concat("localAudio"===t?"":"[".concat(t,"] ")).concat(i.value));case"dump":return void WO.emit("265",{room:s,data:i.value,type:"localAudio"===t?"dump":"dump-screen-audio"})}}}handleLocalAudioStarted(e){return ow(this,null,(function*(){var t;if(this.hitTest(e.room)&&!0===(null==(t=this.core.room.scheduleResult.config)?void 0:t.audioProcessor))try{yield this.core.trtc.startPlugin("AudioProcessor",{sdkAppId:this.core.room.sdkAppId,userId:this.core.room.userId,userSig:this.core.room.userSig}),this.log.warn("audio processor auto start success")}catch(RC){this.log.warn("audio processor auto start failed, error: ".concat(RC))}}))}handleLocalAudioStopped(e){return ow(this,null,(function*(){var t;!this.hitTest(e.room)||!0!==(null==(t=this.core.room.scheduleResult.config)?void 0:t.audioProcessor)||(yield this.core.trtc.stopPlugin("AudioProcessor"))}))}installEvent(){this.core.innerEmitter.on("104",this.handleLocalAudioStarted,this),this.core.innerEmitter.on("114",this.handleLocalAudioStopped,this)}uninstallEvent(){this.core.innerEmitter.off("104",this.handleLocalAudioStarted,this),this.core.innerEmitter.off("114",this.handleLocalAudioStopped,this)}hitTest(e){return e===this.core.room}};rw(FW,"updateValidateRule",{type:"object"}),rw(FW,"stopValidateRule",{type:"object"}),rw(FW,"Name","AudioProcessor");var BW=FW;var HW=0,WW=class{constructor(e,t){rw(this,"audioObjectURL"),rw(this,"player"),rw(this,"publisher"),rw(this,"mixInput"),this.mixInput=new Fx(t),e.url?(this.player=new Audio(e.url),this.player.crossOrigin="anonymous",this.publisher=new Audio(e.url),this.publisher.crossOrigin="anonymous",this.mixInput.replaceSource(this.publisher)):this.mixInput.replaceSource(e.track),this.mixInput.connect()}updateSettings(e){this.player&&(FD(e.volume)||(this.volume=e.volume),FD(e.loop)||(this.loop=e.loop),FD(e.playbackRate)||(this.playbackRate=e.playbackRate))}updateListener(e){if(this.player){if(e.onDurationChange){let{onDurationChange:t}=e;this.player.ondurationchange=e=>{t(e.target.duration)}}if(e.onTimeUpdate){let t=e.onTimeUpdate,{player:r}=this;r.ontimeupdate=()=>{t(r.currentTime,r.duration)}}e.onEnded&&(this.player.onended=e.onEnded)}}reload(e){return ow(this,null,(function*(){if(e.url){let t=yield wW.download(e.url,{retries:3,type:"blob"});this.audioObjectURL&&URL.revokeObjectURL(this.audioObjectURL),this.audioObjectURL=URL.createObjectURL(t),this.player&&this.publisher?(this.player.src=this.audioObjectURL,this.publisher.src=this.audioObjectURL):(this.player=new Audio(this.audioObjectURL),this.player.crossOrigin="anonymous",this.publisher=new Audio(this.audioObjectURL),this.publisher.crossOrigin="anonymous",this.mixInput.replaceSource(this.publisher),this.updateListener(e),this.updateSettings(e))}else this.mixInput.replaceSource(e.track)}))}reset(){this.seek(0),this.mixInput.connect()}seek(e){this.player&&(e<0&&e>this.player.duration||(this.player.currentTime=e,this.publisher.currentTime=e))}play(){var e,t;return Promise.all([null==(e=this.player)?void 0:e.play(),null==(t=this.publisher)?void 0:t.play()])}pause(){var e,t;null==(e=this.player)||e.pause(),null==(t=this.publisher)||t.pause()}stop(){var e;null==(e=this.player)||e.pause(),this.mixInput.disconnect()}setOperation(e){"pause"===e&&this.pause(),"resume"===e&&(this.pause(),this.play()),"stop"===e&&(this.pause(),this.seek(0))}set volume(e){!this.player||!this.publisher||(this.player.volume=e,this.publisher.volume=e)}set loop(e){!this.player||!this.publisher||(this.player.loop=e,this.publisher.loop=e)}set playbackRate(e){!this.player||!this.publisher||(this.player.playbackRate=e,this.publisher.playbackRate=e)}};function jW(e,t){if(t&&"function"!=typeof t)throw new VH({code:MH.INVALID_PARAMETER,message:"start audioMixer plugin: param ".concat(e," should be a function.")})}var GW=class e{constructor(e){this.core=e,rw(this,"log"),rw(this,"mixedMusicMap",new Map),rw(this,"cacheMusicMap",new Map),HW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(HW)}),this.log.info("created id=".concat(this.getAlias()).concat(HW))}getName(){return e.Name}getAlias(){return"ax"}getGroup(e){return null==e?void 0:e.id}getValidateRule(t){switch(t){case"start":return e.startValidateRule;case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return ow(this,null,(function*(){let{room:t}=this.core;this.core.validateSourceNode(),this.log.info("add music source, id: ".concat(e.id," url: ").concat(e.url,", track: ").concat(e.track));let{id:r,url:i}=e;if(this.mixedMusicMap.has(r))return;let o=this.cacheMusicMap.get(r);o?e.url?o.reset():(o.mixInput.replaceSource(e.track),o.mixInput.connect()):(o=new WW(e,t.audioManager),this.cacheMusicMap.set(r,o)),o.updateListener(e),o.updateSettings(e);try{yield o.play()}catch(Sw){yield this.handleAutoPlayFailed(o,e,Sw)}this.mixedMusicMap.set(r,o),o.mixInput.source.node&&this.core.room.audioManager.updateAudioReference({type:"add",audioReference:o.mixInput.source.node,refId:"ax-".concat(r)}),this.log.info("start mix audio track ".concat(r," success.")),EL.addEnum({key:502700,value:3}),this.kvUpload(e)}))}handleAutoPlayFailed(e,t,r){return ow(this,null,(function*(){if("NotSupportedError"===r.name)this.log.error("play failed, try to reload source. error: ".concat(r)),yield e.reload(t),yield e.play();else{if("NotAllowedError"!==r.name)throw r;if(this.core.room.enableAutoPlayDialog){let t=()=>{var r;null==(r=e.play())||r.finally((()=>{WO.off("154",t,this)}))};WO.on("154",t,this),new vx}else this.core.trtc.emit(uW.AUTOPLAY_FAILED,{userId:"",mediaType:"audio",resume:()=>ow(this,null,(function*(){return e.play()}))})}}))}update(e){return ow(this,null,(function*(){let{id:t,operation:r,seekFrom:i,playbackRate:o}=e;this.log.info("update music source, ".concat(JSON.stringify(e)));let n=this.mixedMusicMap.get(t);n?(n.updateSettings(e),n.updateListener(e),FD(r)||n.setOperation(r),FD(i)||n.seek(i),this.kvUpload(e)):this.log.warn("update music source failed, music id: ".concat(t," not found."))}))}stop(e){return ow(this,arguments,(function(e){var t=this;let{id:r}=e;return function*(){if(t.mixedMusicMap.has(r)){t.log.info("remove music source, music id: ".concat(r));let e=t.mixedMusicMap.get(r);null!=e&&e.mixInput.source.node&&t.core.room.audioManager.updateAudioReference({type:"remove",audioReference:e.mixInput.source.node,refId:"ax-".concat(r)}),null==e||e.stop(),t.mixedMusicMap.delete(r)}"*"===r&&t.destroyAllMusic()}()}))}kvUpload(e){let{track:t,loop:r,volume:i,playbackRate:o,operation:n,seekFrom:a,onTimeUpdate:s,onDurationChange:c,onEnded:l}=e;t&&EL.addCount({key:502009}),r&&EL.addCount({key:502001}),i&&EL.addCount({key:502002}),o&&EL.addCount({key:502003}),n&&EL.addCount({key:502004}),a&&EL.addCount({key:502005}),"function"!=typeof s&&EL.addCount({key:502007}),"function"!=typeof l&&EL.addCount({key:502008}),"function"!=typeof c&&EL.addCount({key:502006})}destroyAllMusic(){this.log.info("destroy all music source."),this.mixedMusicMap.forEach(((e,t)=>{null!=e&&e.mixInput.track&&this.core.room.audioManager.updateAudioReference({type:"remove",audioReference:e.mixInput.track,refId:t}),this.stop({id:t})}))}destroyAllCache(){this.log.info("destroy all music cache."),this.cacheMusicMap.clear()}destroy(){this.log.info("destroy audio mixer plugin."),this.destroyAllMusic(),this.destroyAllCache()}};rw(GW,"startValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},url:{type:"string",required:!1},track:{required:!1},loop:{type:"boolean"},volume:{type:"number"}},validate(e,t,r){if(e.url&&"*"!==e.url){let t=e.url.split("?")[0],i=["mp3","ogg","wav","flac"],o=t.split(".").pop(),n=i.indexOf(o)>=0,a=t.startsWith("blob"),s=t.startsWith("data");if(!(n||a||s))throw new VH({code:MH.INVALID_PARAMETER,message:"start audioMixer plugin: music url is invalid, please check your file format.",fnName:r})}if(!e.url&&!e.track)throw new VH({code:MH.INVALID_PARAMETER,message:"start audioMixer plugin: param url or track is required.",fnName:r});jW("onTimeUpdate",e.onTimeUpdate),jW("onEnded",e.onEnded),jW("onDurationChange",e.onDurationChange)}}),rw(GW,"updateValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},loop:{type:"boolean"},volume:{type:"number"},seekFrom:{type:"number"},operation:{type:"string",values:["pause","resume","stop"]}},validate(e,t,r){jW("onTimeUpdate",e.onTimeUpdate),jW("onEnded",e.onEnded),jW("onDurationChange",e.onDurationChange)}}),rw(GW,"stopValidateRule",{name:"options",type:"object",required:!0,properties:{id:{type:"string",required:!0}}}),rw(GW,"Name","AudioMixer");var zW,KW=GW,qW=0,YW=class e{constructor(e){this.core=e,rw(this,"log"),rw(this,"audioContext",Px()),rw(this,"workletNode"),rw(this,"config",{enableFarFieldReduce:!1,farFieldReduceThreshold:.5}),qW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(qW)}),this.log.info("created id=".concat(this.getAlias()).concat(qW))}static startValidateRule(e){return{name:"options",required:!0,type:"object",properties:{sdkAppId:{type:"number",required:!0},userId:{type:"string",required:!0},userSig:{type:"string",required:!0},mode:{type:"number",required:!1,values:[0,1]},farFieldReduceThreshold:{type:"number",required:!1,min:0,max:1}},validate(t,r,i,o){if(!e.room.audioManager.hasAudioTrack)throw new VH({code:MH.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return zW||(zW=this.doPreload(e)),zW}doPreload(e){return ow(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield Tx(this.audioContext,r)}catch(iM){throw this.log.error("load worklet failed",iM),iM}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ad"}getGroup(){return"AIDenoiser"}getValidateRule(t){switch(t){case"start":return e.startValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return ow(this,null,(function*(){let{room:t,schedule:r}=this.core,{assetsPath:i=this.core.assetsPath}=e;if(!i)throw new VH({code:MH.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(this.core.validateSourceNode(),yield this.preload("".concat(i,"/denoiser-wasm").concat(pP()?"":"-nosimd",".js")),!this.workletNode){let t=String(Date.now()).slice(0,-3),{auth:i,sign:o,status:n,message:a}=yield function(e,t){return ow(this,arguments,(function(e,t){let{sdkAppId:r,userId:i,userSig:n,timestamp:a}=t;return function*(){try{let{data:{errCode:t,errMsg:o,sign:s,status:c}}=yield e.getAbilityConfig(r,e.ScheduleRequestType.AUDIO_AI_AUTH,{sdkAppId:r,userId:i,userSig:n,timestamp:a});if("1"===c)return{auth:!0,sign:s,status:c,message:o};let l=yD(r)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",d="Init RTCAIDenoiser failed.",u="";switch(t){case 1:u="Please check your params.";break;case 2:u="You need to buy packages. Refer to: ".concat(l);break;case 3:u="Server is invalid. Please contact our engineer. ";break;case 4:u="Your packages is not active. Refer to: ".concat(l);break;case 5:u="Your packages is expired. Refer to: ".concat(l);break;case 6:u="Your version is not supported."}return{auth:!1,status:c,message:o?"".concat(d," Reason: ").concat(o,". ").concat(u):"".concat(d,", ").concat(u)}}catch(o){return{auth:!1,status:"0",message:"Init RTCAIDenoiser failed. All requests failed. ".concat(o)}}}()}))}(r,$b(Xb({},e),{timestamp:t}));if(!i)throw this.log.info("RTCAIDenoiser: ".concat(e.userId," auth result: ").concat(i,". Message: ").concat(a)),new VH({code:MH.INVALID_PARAMETER,message:a});this.workletNode=new AudioWorkletNode(this.audioContext,"trtc-denoiser-processor",{numberOfInputs:1,numberOfOutputs:1}),this.workletNode.port.postMessage({type:"init",data:{sdkAppId:String(e.sdkAppId),userId:e.userId,timestamp:t,sign:o,status:n}}),this.workletNode.port.onmessage=e=>{var t;let{data:r}=e;if("cost"===r.type){let e=(null==r?void 0:r.max)>20?"warn":(null==r?void 0:r.max)>10?"info":"debug";this.log[e]("avg cost: ".concat(r.value," max: ").concat(null==r?void 0:r.max,"(").concat(gw(new Date(null==r?void 0:r.maxCostTimestamp)),") hist: ").concat(null==(t=null==r?void 0:r.hist)?void 0:t.join(" ")))}else"log"===r.type&&this.log[r.logLevel]("".concat(r.value))}}this.updateConfig(e),this.workletNode.port.postMessage({type:"enable"}),t.audioManager.addDenoiser(this.workletNode),t.sendAbilityStatus({ai_denoise:1})}))}update(e){return ow(this,null,(function*(){this.updateConfig(e)}))}stop(){return ow(this,null,(function*(){if(!this.workletNode)return;let{room:e}=this.core;this.workletNode.port.postMessage({type:"disable"}),yield e.audioManager.removeDenoiser(this.workletNode)}))}updateConfig(e){if(!this.workletNode)return;let t=!1;FD(e.mode)||(0===e.mode?this.config.enableFarFieldReduce=!1:1===e.mode&&(this.config.enableFarFieldReduce=!0),t=!0),FD(e.farFieldReduceThreshold)||(this.config.farFieldReduceThreshold=e.farFieldReduceThreshold,t=!0),t&&this.workletNode.port.postMessage({type:"setConfig",data:this.config})}destroy(){this.workletNode&&(this.workletNode.port.onmessage=null)}};rw(YW,"updateValidateRule",{type:"object",properties:{mode:{type:"number",required:!1,values:[0,1]},farFieldReduceThreshold:{type:"number",required:!1,min:0,max:1}}}),rw(YW,"stopValidateRule",{type:"object"}),rw(YW,"Name","AIDenoiser");var JW=YW;var XW=ew(nw(),1),$W=class extends XW.EventEmitter{constructor(){super(),rw(this,"observer"),rw(this,"state","nominal"),this.onPressureChange=this.onPressureChange.bind(this)}get stateNum(){switch(this.state){case"nominal":return 1;case"fair":return 2;case"serious":return 3;case"critical":return 4}}start(){return ow(this,null,(function*(){if(!this.observer)try{"PressureObserver"in window&&!rk&&(this.observer=new PressureObserver(this.onPressureChange),yield this.observer.observe("cpu",{sampleInterval:2e3}))}catch(Aw){qP.uploadEvent({log:"stat-pressure-detector-start-failed",error:Aw})}}))}onPressureChange(e){let t=this.stateNum,r=e[e.length-1];this.state=r.state,(this.stateNum>3||t>3)&&qO.info("".concat(r.source,": ").concat(r.state)),this.emit("state-changed",{type:r.source,state:this.state})}destroy(){var e;try{null==(e=this.observer)||e.disconnect(),this.observer=null}catch(RC){qP.uploadEvent({log:"stat-pressure-detector-destroy-failed",error:RC})}}},QW=new $W;function ZW(e){let[t,r]=e,i=r.byteLength,o=parseInt(String(i/255),10),n=i%255,a=[];a.push(0,0,0,1,6,t);for(let c=0;c<o;c++)a.push(255);a.push(n);let s=new DataView(r);return a.push(...new Uint8Array(s.buffer)),a.push(128),new $F(new DataView(new Uint8Array(a).buffer),!0)}function ej(e){let{frame:t,seiMessageList:r}=e;if(!r||0===r.length||0===t.data.byteLength)return t;let i=9-function(e){let t=0,r=0,i=new DataView(e);for(let o=0;o<e.byteLength;o++)switch(i.getUint8(o)){case 0:t++;break;case 1:(2===t||3===t)&&r++,t=0;break;default:t=0}return r}(t.data);if(i<=0)return t;let o=r.splice(0,i).reverse().map(ZW),n=o.reduce(((e,t)=>e+t.dataView.byteLength),0),a=new ArrayBuffer(n+t.data.byteLength),s=new DataView(a),c=new DataView(t.data),l=0;for(let d=0;d<o.length;d++)for(let e=0;e<o[d].dataView.byteLength;e++)s.setInt8(l++,o[d].dataView.getInt8(e));for(let d=0;d<t.data.byteLength;d++)s.setInt8(l++,c.getInt8(d));return t.data=a,t}function tj(e){let{frame:t,onSEI:r}=e;try{let e=new DataView(t.data);if(function(e){return"empty"===e.type||0===e.data.byteLength}(t)||!function(e){return 1===e.getInt32(0)&&6===e.getInt8(4)}(e))return t;let i=[],o=0,n=-1,a=-1;for(let r=0;r<t.data.byteLength;r++){let s=e.getUint8(r);if(0===s)o++;else if(1===s){if(2===o||3===o){let s=r-o;if(-1===n?n=s:-1===a&&(a=s,i.push(new $F(new DataView(e.buffer.slice(n,a)))),n=s,a=-1),6!==e.getUint8(r+1)){t.data=e.buffer.slice(s);break}}o=0}else o=0}null==r||r(i.reverse())}catch(Aw){}return t}var rj=0,ij=class e{constructor(e){this.core=e,rw(this,"log"),rw(this,"_seiMessageList",[]),rw(this,"_smallSeiMessageList",[]),rw(this,"_subStreamSeiMessageList",[]),rj++,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(rj)}),this.log.info("[sei] created id=".concat(this.getAlias()).concat(rj)),this.encode=this.encode.bind(this),this.decode=this.decode.bind(this)}encode(e){let{frame:t,mediaType:r}=e;try{return ej({frame:t,seiMessageList:8===r?this._smallSeiMessageList:2===r?this._subStreamSeiMessageList:this._seiMessageList})}catch(RC){this.log.warn(RC)}return t}decode(e){let{frame:t,track:r}=e;return tj({frame:t,onSEI:e=>{e.forEach((e=>{this.core.trtc.emit(uW.SEI_MESSAGE,{seiPayloadType:e.seiPayloadType,data:e.seiPayload.buffer,userId:r.userId,streamType:2===r.mediaType?"sub":"main"})}))}})}destroy(){this.log.debug("destory"),this.stop(),delete this.core}getValidateRule(e){switch(e){case"start":case"update":case"stop":return{type:"object"}}}start(){this.core.room.videoManager.addEncodeProcessor({processor:aP?this.encode:ej,type:2}),this.core.room.videoManager.addDecodeProcessor({processor:aP?this.decode:tj,type:2})}stop(){this.core.room.videoManager.removeEncodeProcessor({type:2}),this.core.room.videoManager.removeDecodeProcessor({type:2})}update(e){let{buffer:t,options:r}=e;var i;let o=[r.seiPayloadType,t],n=!!r.small;r.toSubStream?this._subStreamSeiMessageList.push(o):(this._seiMessageList.push(o),n&&this._smallSeiMessageList.push(o)),null==(i=this.core.room.scriptTransformWorker)||i.postMessage({type:"sei",data:o,isMain:!r.toSubStream,small:n})}getName(){return e.Name}getAlias(){return"sei"}getGroup(){return"sei"}};rw(ij,"autoStart",!0),rw(ij,"Name","SEI");var oj=ij;function nj(e){let{frame:t,onDump:r}=e;return null==r||r(),t}function aj(e){let{frame:t,onDump:r}=e;return null==r||r(),t}var sj={"play() error: NotAllowedError:":{tips:e=>e.includes("main <video>")||e.includes("main <audio>")?"Remote stream auto play is restricted and playback fails":"Local stream playback failure, generally only occurs in Android WeChat devices, no need to handle",color:"red",class:"red"},"updateStream() try to recover local stream":{tips:"Device acquisition exception, automatic recovery is in progress"},"updateStream() recover local stream successfully":{tips:"Device acquisition exception, automatic recovery is successful"},"updateStream() failed to recover local stream":{tips:"Device acquisition exception, automatic recovery failed"},"main stream - video track is muted":{tips:"Indicates that the received video data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - audio track is muted":{tips:"Indicates that the received audio data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"auxiliary stream - video track is muted":{tips:"Indicates that the received screen sharing data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - video track is unable to provide media output":{tips:"Indicates that the received video data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - audio track is unable to provide media output":{tips:"Indicates that the received audio data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"auxiliary stream - video track is unable to provide media output":{tips:"Indicates that the received screen sharing data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - video track is unmuted":{tips:"Received enough playback video data"},"main stream - audio track is unmuted":{tips:"Received enough playback audio data"},"auxiliary stream - video track is unmuted":{tips:"Received enough playback screen sharing data"},"main stream - audio player track is ended":{tips:"Remote audio track stopped"},"main stream - video player track is ended":{tips:"Remote video track stopped"},"auxiliary stream - video player track is ended":{tips:"Received enough playback screen sharing data"},"stream - video track is muted":{tips:"Camera capture is paused, usually due to the device being occupied by other applications or the browser media permission being revoked. The client needs to re-capture.",color:"orange"},"stream - video track is unable to provide media output":{tips:"The camera acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked, and the customer needs to re-acquire. SDK v4.11.4+ will automatically resume acquisition without customer intervention",color:"orange"},"video track is unable to provide media output":{tips:e=>e.includes("↓")?"The remote track is temporarily unable to decode data, which may be caused by network fluctuations":"The camera acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - video player track is ended":{tips:"The camera acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"video player track is ended":{tips:"The camera acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"stream - audio track is muted":{tips:"Microphone capture is paused, usually due to the device being occupied by other applications or the browser media permission being revoked. The client needs to re-capture.",color:"orange"},"audio track is unable to provide media output":{tips:e=>e.includes("↓")?"The remote track is temporarily unable to decode data, which may be caused by network fluctuations":"Microphone acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - audio track is unable to provide media output":{tips:"The microphone acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - audio player track is ended":{tips:"The microphone acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"audio player track is ended":{tips:"The microphone acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"is adding audio track to current published local stream":{tips:"add audio track",color:"orange"},"is removing audio track from current published local stream":{tips:"remove audio track",color:"orange"},"is removing video track from current published local stream":{tips:"remove video track",color:"orange"},"is adding video track to current published local stream":{tips:"add video track",color:"orange"},"is replacing audio track to current published local main stream":{tips:"replace audio track",color:"orange"},"is replacing video track to current published local main stream":{tips:"replace video track",color:"orange"},"downlink network quality change":{tips:"Downstream network quality change: 1: excellent, 2: good, 3: average, 4: poor, 5: extremely poor"},"uplink network quality change":{tips:"Upstream network quality change: 1: excellent, 2: good, 3: average, 4: poor, 5: extremely poor"},"localStream mute video":{tips:"mute upstream video stream",color:"orange"},"localStream unmute video":{tips:"unmute upstream video stream",color:"orange"},"localStream mute audio":{tips:"mute upstream audio stream",color:"orange"},"localStream unmute audio":{tips:"unmute upstream audio stream",color:"orange"},"black detected":{tips:"Detect black screen, which means fps = 0. It is usually caused by network, and the network will be recovered after a while. If the network is normal but has not been restored, it is an abnormal situation."},'main stream start to play with options: {"muted":true}':{tips:"Play the remote stream in silent mode. Generally, the remote stream does not need to be played in silent mode. You need to confirm whether the parameters passed in the client stream.play API call are correct.",color:"orange"},"main stream - audio player is starting playing":{tips:"Remote stream audio playback success",color:"#0dd90d",class:"success"},"main stream - video player is starting playing":{tips:"Remote stream video playback success",color:"#0dd90d",class:"success"},"video player is playing":{tips:"Local video playback success",color:"#0dd90d",class:"success"},"audio player is playing":{tips:"Local audio playback success",color:"#0dd90d",class:"success"},"stream - video player is starting playing":{tips:"Local video playback success",color:"#0dd90d",class:"success"},"stream - audio player is starting playing":{tips:"Local audio playback success",color:"#0dd90d",class:"success"},"switch camera success":{tips:"Switch camera success",color:"#0dd90d",class:"success"},"switch microphone success":{tips:"Switch microphone success",color:"#0dd90d",class:"success"},gotStream:{tips:"Local stream capture success"},"local stream is published successfully":{tips:"Publish success",color:"#0dd90d",class:"success"},"encoderImplementation change to OpenH264":{tips:"Use software encoding"},"encoderImplementation change to ExternalEncoder":{tips:"Use hardware encoding"},"getUserMedia with constraints":{tips:"Start media (camera/microphone) capture"},"getDisplayMedia with constraints":{tips:"Start screen sharing capture"},"client-banned":{tips:"Kicked out of the room",color:"red",class:"red",textColor:"#fff"},user_timeout:{tips:"The backend is too long without receiving SDK heartbeat, which is usually caused by the JS thread being blocked for a long time. If the reproduction probability is high, the application browser Performance tool analyzes where the JS thread is blocked.",color:"red",class:"red",textColor:"#fff"},"schedule failed":{tips:"Signaling request failed, does not affect the normal room entry process, SDK will connect to the default signaling domain."},"updateStream() video flag is true, but no camera detected, set video to false":{tips:"When trying to resume camera acquisition, the camera acquisition is not resumed because it is detected that there is no camera.",color:"orange",class:"orange",textColor:"#fff"},"qualityLimitationReason change to bandwidth":{tips:"bandwidth estimation is not enough to limit the quality of the encoding, which may cause the code rate, frame rate, and resolution to be lowered.",color:"orange",class:"orange",textColor:"#fff"},"qualityLimitationReason change to cpu":{tips:"cpu load is too high to limit the quality of the encoding, which may cause the code rate, frame rate, and resolution to be lowered.",color:"orange",class:"orange",textColor:"#fff"},"visibility change: hidden":{tips:"User page switched to backend, in mobile devices, this will cause the device to pause the capture, and it will be restored when the user switches backend to the frontend.",color:"orange",class:"orange",textColor:"#fff"},"visibility change: visible":{tips:"User page switched to frontend",color:"orange",class:"orange",textColor:"#fff"},"main stream - audio player is paused":{tips:"The remote stream audio playback is paused, which usually has two possibilities:\n 1. The business side passes in the div tag container for playing audio and video to be removed by the business side from the DOM.\n 2. If the user is in Chrome 70 and below, when the div container is moved, the playback will be paused.",color:"orange",class:"orange",textColor:"#fff"},"main stream - video player is paused":{tips:"The remote stream video playback is paused, which usually has two possibilities:\n 1. The business side passes in the div tag container for playing audio and video to be removed by the business side from the DOM.\n 2. If the user is in Chrome 70 and below, when the div container is moved, the playback will be paused.",color:"orange",class:"orange",textColor:"#fff"},'"displaySurface":"window"':{tips:"Screen sharing captures the application window",color:"blue",class:"blue",textColor:"#fff"},'"displaySurface":"monitor"':{tips:"Screen sharing captures the entire screen",color:"blue",class:"blue",textColor:"#fff"},'"displaySurface":"browser"':{tips:"Screen sharing captures a certain tab page",color:"blue",class:"blue",textColor:"#fff"},updateMediaSettings:{tips:"The resolution and frame rate below are the actual resolution and frame rate captured",color:"blue",class:"blue",textColor:"#fff"},"main stream start to play with":{tips:"Call remoteStream.play interface",color:"blue",class:"blue",textColor:"#fff"},"stream start to play with":{tips:"Call localStream.play interface",color:"blue",class:"blue",textColor:"#fff"},"main setAudioVolume to 0":{tips:"Business side calls remoteStream.setAudioVolume(0) interface to set the playback volume to 0, which will cause the playback to be silent",color:"orange",class:"orange",textColor:"#fff"},"screen sharing was stopped because the video track is ended":{tips:"Screen sharing capture stopped, possible reasons: user clicks the stop button, the window/page shared by the user is closed, etc.",color:"orange",class:"orange",textColor:"#fff"},"Join() => joining room":{tips:"Call client.join interface",color:"blue",class:"blue",textColor:"#fff"},"publish() => publishing local stream":{tips:"Call client.publish interface",color:"blue",class:"blue",textColor:"#fff"},"subscribe() => subscribe to":{tips:"Call client.subscribe interface",color:"blue",class:"blue",textColor:"#fff"},"switchRole() => switch role":{tips:"Call client.switchRole interface",color:"blue",class:"blue",textColor:"#fff"}};["enterRoom","exitRoom","switchRole","destroy","startLocalAudio","updateLocalAudio","stopLocalAudio","startLocalVideo","updateLocalVideo","stopLocalVideo","startScreenShare","updateScreenShare","stopScreenShare","startRemoteVideo","updateRemoteVideo","stopRemoteVideo","muteRemoteAudio","setRemoteAudioVolume"].forEach((e=>{sj["".concat(e,"()")]={tips:"Call trtc.".concat(e),color:"blue",class:"blue",textColor:"#fff"}}));var cj,lj=0,dj=class e{constructor(e){this.core=e,rw(this,"_core"),rw(this,"log"),rw(this,"dumpLocalVideoMap",{}),rw(this,"dumpRemoteVideoMap",{}),rw(this,"dialog"),this._core=e,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(++lj)}),this.log.info("created")}getName(){return e.Name}getAlias(){return"dm"}getGroup(){return"dm"}getValidateRule(e){switch(e){case"start":return{name:"StartDebugOptions",required:!1};case"update":return{name:"UpdateDebugOptions",required:!1};case"stop":return{name:"StopDebugOptions",required:!1}}}start(){return ow(this,null,(function*(){var e;!new URLSearchParams(location.search).has("trtcDebug")&&"true"!==(null==(e=window.sessionStorage)?void 0:e.getItem("TRTC_ENABLE_DEBUG_PLUGIN"))||(yield this.openDebugDiaLog(),this.addVideoProcessor())}))}update(e){return ow(this,arguments,(function(e){var t=this;let{visible:r}=e;return function*(){r?(yield t.openDebugDiaLog(),t.addVideoProcessor()):(t.closeDebugDiaLog(),t.removeVideoProcessor())}()}))}stop(){this.closeDebugDiaLog(),this.removeVideoProcessor()}destroy(){this.stop()}openDebugDiaLog(){return ow(this,null,(function*(){var e;if(!this.dialog)try{if(cj)yield cj;else{let t=new URLSearchParams(location.search).get("trtcDebugDialogPath")||(null==(e=window.sessionStorage)?void 0:e.getItem("TRTC_DEBUG_DIALOG_PATH"))||"https://unpkg.com/".concat("trtc-sdk-v5","@").concat(Tw,"/assets/debug-dialog.js");cj=this._core.fileDownloader.loadScript(t),yield cj}this.dialog=new TRTCDebugDialog(this._core,this.log,this.dumpLocalVideoMap,this.dumpRemoteVideoMap),this._core.kvStatManager.addSuccessEvent({key:592705})}catch(Aw){this._core.kvStatManager.addFailedEvent({key:592705}),this.log.error("load debug dialog script failed: ",JSON.stringify(Aw))}}))}closeDebugDiaLog(){this.dialog&&(this.dialog.closeDialog(),this.dialog=null)}addVideoProcessor(){this._core.room.videoManager.addEncodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.encodeVideo.bind(this):nj,type:1}),this._core.room.videoManager.addDecodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.decodeVideo.bind(this):aj,type:1})}removeVideoProcessor(){this._core.room.videoManager.removeEncodeProcessor({type:1}),this._core.room.videoManager.removeDecodeProcessor({type:1})}encodeVideo(e){let{frame:t,mediaType:r}=e;return nj({frame:t,onDump:()=>{if(!r)return;let e=2===r?"sub":"main",i=this.dumpLocalVideoMap[e];i&&(i.data.push(t.data.slice(0)),i.duration>0&&Date.now()-i.startTimestamp>1e3*i.duration&&i.onDumpEnd())}})}decodeVideo(e){let{frame:t,track:r}=e;return aj({frame:t,onDump:()=>{if(!r)return;let e=this.dumpRemoteVideoMap["".concat(r.userId,"-").concat(r.streamType)];e&&(e.data.push(t.data.slice(0)),e.duration>0&&Date.now()-e.startTimestamp>1e3*e.duration&&e.onDumpEnd())}})}};rw(dj,"Name","Debug"),rw(dj,"autoStart",!0);var uj=dj,hj=e=>{switch(e){case"webCodecs":return 504703;case"wasm":return 504704}throw new Error("decoder type not supported")},pj=class{constructor(e,t,r){rw(this,"trackDoneOB"),rw(this,"startOB"),rw(this,"stopOB"),rw(this,"inputFrameCount",0),rw(this,"decodedFrameCount",0),rw(this,"type","auto"),rw(this,"config"),rw(this,"decoder"),rw(this,"_decodeSink");let{kvStatManager:i,trtc:o}=e;this.config=r.config,this.trackDoneOB=vV(t,PP.INIT),this.stopOB=aV(),this.startOB=aV(),"auto"===r.type?this.type="webCodecs":this.type=r.type;let n=aV();FU(this.startOB,tV(0),EF((e=>{let r=this.pipe(t);return n.next("STARTING"),t.log.info("decoder type: ".concat(this.type)),FU(r,HV(this.stopOB),WF((()=>{}),(r=>{t.log.error(r),i.addFailedEvent({key:hj(this.type),error:r}),e>4?this.startOB.error(r):this.startOB.next(e+1)}))),FU(r,BV(1),UF(kV))})),HV(this.stopOB),WF((()=>{t.player.setOutput(),n.next("STARTED")}),(e=>{n.next("FAILED")}),(()=>{i.addSuccessEvent({key:hj(this.type)}),i.addSuccessEvent({key:504702})})))}mock(e){this._decodeSink?this._decodeSink.error(e):this.startOB.next(0)}close(e){this.stopOB.next(e)}pipe(e){return qU()((t=>ow(this,null,(function*(){this._decodeSink=t,t.defer((()=>{var e;null==(e=this.decoder)||e.close()}));let{type:r}=this;try{if("webCodecs"===r)this.decoder=new AudioDecoder({error:r=>{e.log.error(r),t.error(4)},output:r=>{this.decodedFrameCount++,t.next(r),e.player.write(r)}});this.decoder.configure(this.config)}catch(iM){e.log.error(iM),t.error("webCodecs"===r?2:6)}}))))}decodeFrame(e){var t;this.inputFrameCount++,"configured"===(null==(t=this.decoder)?void 0:t.state)&&this.decoder.decode(new EncodedAudioChunk({data:e.data,timestamp:e.timestamp,type:"key"}))}},mj={type:"object"},fj=class e{constructor(e){this.core=e,rw(this,"log"),rw(this,"contextMap",new Map),rw(this,"decodeProcessorMap",new WeakMap),this.log=e.log.createChild({id:"".concat(this.getAlias())})}getAlias(){return e.Name}getGroup(e){return e.track.userId+e.track.streamType}getName(){return e.Name}getValidateRule(e){return mj}start(e){let{track:t}=e;this.decodeProcessorMap.set(t,this.decode(e)),this.core.room.audioManager.addDecodeProcessor({processor:e=>{let{frame:t,track:r}=e;return this.decodeProcessorMap.has(r)?this.decodeProcessorMap.get(r)({frame:t,track:r}):t},type:3})}decode(e){return t=>{let{frame:r,track:i}=t;if(i!==e.track)return r;if(this.contextMap.has(i))return this.contextMap.get(i).decodeFrame(r);let o=new pj(this.core,i,e);return FU(o.trackDoneOB,BV(1),WF((()=>{this.core.clearStarted(this,this.getGroup(e)),this.stop({track:i})}))),this.contextMap.set(i,o),o.decodeFrame(r)}}stop(e){let{track:t}=e,r=this.contextMap.get(t);r&&(r.close("stop"),this.contextMap.delete(t),0===this.contextMap.size&&this.core.room.audioManager.removeDecodeProcessor({type:3}))}update(e){let t=this.contextMap.get(e.track);if(t){if("mock"===e.type)return void t.mock(10);t.close("update"),this.contextMap.set(e.track,new pj(this.core,e.track,e))}}};rw(fj,"Name","TRTCAudioDecoder");var _j=fj,gj=class{constructor(){rw(this,"log"),this.log=qO.createLogger({id:"exp"})}call(e,t){return ow(this,null,(function*(){return VD(this[e])?this[e](t):Promise.reject(new pw({code:uw.INVALID_PARAMETER,message:sL({key:iL.API_NOT_EXIST,data:{name:e}})}))}))}enableAudioFrameEvent(e){return ow(this,null,(function*(){let{trtcInstance:t,enable:r,userId:i,sampleRate:o=48e3,channelCount:n=1,port:a}=e,{audioManager:s}=t.room,{getPCMAbortCtrlMap:c,audioFrameEventConfigMap:l}=s;if(l.set(i,{enable:r,sampleRate:o,channelCount:n,port:a}),r)if("*"===i)t.room.remotePublishedUserMap.forEach((e=>{if(e.remoteAudioTrack.isAvailable){if(c.get(e.userId))return;let r=s.getPCM((e=>{t.emit(uW.AUDIO_FRAME,e)}),e.userId);c.set(e.userId,r)}}));else{if(c.get(i))return;let e=s.getPCM((e=>{t.emit(uW.AUDIO_FRAME,e)}),i);c.set(i,e)}else if("*"===i)t.room.remotePublishedUserMap.forEach((e=>{if(e.remoteAudioTrack.isSubscribed){let{userId:t}=e,r=c.get(t);null==r||r.abort("disable"),c.delete(t)}}));else{let e=c.get(i);null==e||e.abort("disable"),c.delete(i)}}))}resumeRemotePlayer(e){return ow(this,null,(function*(){if("*"===e.userId){let t=[];return e.trtcInstance.room.remotePublishedUserMap.forEach((r=>{let{remoteAudioTrack:i,remoteVideoTrack:o,remoteAuxiliaryTrack:n}=r;e.streamType?"main"===e.streamType?(i.isAvailable&&t.push(i.player.resume()),o.isAvailable&&t.push(o.player.resume())):n.isAvailable&&t.push(n.player.resume()):(i.isAvailable&&t.push(i.player.resume()),o.isAvailable&&t.push(o.player.resume()),n.isAvailable&&t.push(n.player.resume()))})),Promise.all(t)}let t=e.trtcInstance.room.remotePublishedUserMap.get(e.userId);if(t)return"main"===e.streamType?Promise.all([t.remoteAudioTrack.player.resume(),t.remoteVideoTrack.player.resume()]):t.remoteAuxiliaryTrack.player.resume()}))}pauseRemotePlayer(e){if("*"===e.userId)e.trtcInstance.room.remotePublishedUserMap.forEach((t=>{let{remoteAudioTrack:r,remoteVideoTrack:i,remoteAuxiliaryTrack:o}=t;e.streamType?"main"===e.streamType?(r.isAvailable&&r.player.pause(),i.isAvailable&&i.player.pause()):o.isAvailable&&o.player.pause():(r.isAvailable&&r.player.pause(),i.isAvailable&&i.player.pause(),o.isAvailable&&o.player.pause())}));else{let t=e.trtcInstance.room.remotePublishedUserMap.get(e.userId);t&&("main"===e.streamType?(t.remoteAudioTrack.player.pause(),t.remoteVideoTrack.player.pause()):t.remoteAuxiliaryTrack.player.pause())}}};tw([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return yU(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return jB.call(this,t,o,r,this._name),e.apply(this,o)}))}({name:"options",type:"object",required:!0,properties:{enable:{required:!0,type:"boolean"},userId:{required:!0,type:"string"},sampleRate:{type:"number",values:[8e3,16e3,32e3,44100,48e3]},channelCount:{type:"number",values:[1,2]},port:{type:"messageport"}}})],gj.prototype,"enableAudioFrameEvent",1);var Ej=new gj,vj=ew(nw(),1),yj=class extends vj.EventEmitter{constructor(){super(),rw(this,"states",{}),rw(this,"permissionChangeHandler"),rw(this,"log"),this.log=qO.createLogger({id:"pm"}),this.permissionChangeHandler=()=>{var e,t;this.emit("permission-state-change",{camera:null==(e=this.states.camera)?void 0:e.state,microphone:null==(t=this.states.microphone)?void 0:t.state})}}request(e){return ow(this,null,(function*(){if(this.log.info("request ".concat(e.join(", "))),0===e.length)return Promise.resolve();(yield navigator.mediaDevices.getUserMedia({video:e.includes("camera"),audio:e.includes("microphone")})).getTracks().forEach((e=>e.stop()))}))}get(e){return ow(this,null,(function*(){try{return this.states[e]||(this.states[e]=yield navigator.permissions.query({name:e}),this.states[e].addEventListener("change",this.permissionChangeHandler)),this.log.info("get ".concat(e," permission state: ").concat(this.states[e].state)),this.states[e].state}catch(RC){return this.log.error("get ".concat(e," permission failed, error: ").concat(RC instanceof Error?RC.message:RC)),null}}))}destroy(){Object.values(this.states).forEach((e=>{null==e||e.removeEventListener("change",this.permissionChangeHandler)})),this.states={}}},Tj=new yj,Ij=0,Aj=new Set,Sj=null;Iw(NW),JO.checkStorage();var Rj=class e extends CH.EventEmitter{constructor(t,r){super(),rw(this,"_room"),rw(this,"_eventListened",new Set),rw(this,"_localVideoTrack",null),rw(this,"_localAudioTrack",null),rw(this,"_localScreenTrack",null),rw(this,"_localScreenAudioTrack",null),rw(this,"_localVideoConfig",null),rw(this,"_localScreenConfig",null),rw(this,"_localAudioConfig",null),rw(this,"_remoteVideoConfigMap",new Map),rw(this,"_remoteAudioConfigMap",new Map),rw(this,"_remoteAudioVolumeMap",new Map),rw(this,"_remoteAudioMuteMap",new Map),rw(this,"_mediaTrackMap",new WeakMap),rw(this,"_log",qO.createLogger({id:"t".concat(++Ij)})),rw(this,"_plugins",new Map),rw(this,"_networkQuality",null),rw(this,"_speakerId"),rw(this,"enterRoomParams"),rw(this,"_enableAutoSwitchWhenRecapturing",!0),this._room=new t(Xb({logger:this._log,frameWorkType:e.frameWorkType},r)),this._room.videoDecodeFallbackType=r.videoDecodeFallback,WD(r.enableAutoSwitchWhenRecapturing)&&(this._enableAutoSwitchWhenRecapturing=r.enableAutoSwitchWhenRecapturing),this._log.info("create() ".concat(JSON.stringify(r,((e,t)=>"plugins"===e?t.map((e=>e.Name)):t)))),Object.defineProperties(this,{dumpAudio:{enumerable:!1,value(e){return this._room.audioManager.dump(e)}}}),r.plugins&&r.plugins.forEach((e=>{this._use(e,r.assetsPath)})),this._use(KW,r.assetsPath),this._use(BW,r.assetsPath),this._use(JW,r.assetsPath),this._use(_j,r.assetsPath),this._use(uj),r.enableSEI&&cP&&this._use(oj),this._room.on("audio-volume",(e=>{var t,i;!e.find((e=>""===e.userId))&&this._localAudioTrack&&e.push({userId:"",volume:Math.floor(100*(null!=(t=this._localAudioTrack.getInternalAudioLevelAfter3A())?t:this._localAudioTrack.getAudioLevel())),floatVolume:null!=(i=this._localAudioTrack.getInternalAudioLevelAfter3A())?i:this._localAudioTrack.getInternalAudioLevel()}),1===r.volumeType&&e.forEach((e=>{var t;let r=""===e.userId?this._localAudioTrack:null==(t=this.room.remotePublishedUserMap.get(e.userId))?void 0:t.remoteAudioTrack;r&&(e.volume=r.dbVolume)})),r.enableDbVolume&&e.forEach((e=>{var t;let r=""===e.userId?this._localAudioTrack:null==(t=this.room.remotePublishedUserMap.get(e.userId))?void 0:t.remoteAudioTrack;r&&(e.volume=r.dbVolume)})),this.emit(uW.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on("error",(e=>{this._log.error(new VH({code:MH.OPERATION_FAILED,extraCode:5504,message:e.message,originError:e}))})),this._listenEvents(),this._initActiveSpeaker(),((e,t)=>{let{emit:r}=e;e.emit=function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{return r.apply(e,o)}catch(iM){let r=sL({key:iL.CATCH_HANDLER_ERROR,data:{name:t,event:o[0]},addDocLink:!1});return qO.warn("".concat(r,"\n\n").concat(iM.stack)),!1}}})(this,"trtc")}static create(e){}static _create(t,r){!function(){var e;if(kH){kH=!1,5!==qO.getLogLevel()&&(console.info("******************************************************************************"),console.info("* TRTC Web SDK"),console.info("* API Document: ".concat(Lw,"/en/index.html")),console.info("* Changelog: ".concat(Lw,"/en/tutorial-01-info-changelog.html")),console.info("* Report issues: https://github.com/LiteAVSDK/TRTC_Web/issues"),console.info("******************************************************************************")),qO.info("TRTC Web SDK Version:",Tw),AO||qO.debug("Build Time:","2025-10-22 15:44:59");let t="UA: ".concat(navigator.userAgent," \nCPU core: ").concat(navigator.hardwareConcurrency,", GPU: ").concat(kO()),r=navigator.deviceMemory;r&&(t+=", minRAM: ".concat(r,"GB")),qO.info(t),qO.info("URL: ".concat(location.href).concat("IFRAME"===(null==(e=self.frameElement)?void 0:e.tagName)?" in iframe":"")),NO().then((e=>{e&&qO.info(DO)}))}}();let i=new e(t,r||{});return Aj.add(i),i.__v_skip=!0,i}get room(){return this._room}_listenEvents(){zP(this,this._room).add("peer-join",(e=>{let{userId:t}=e;this.emit(uW.REMOTE_USER_ENTER,{userId:t})})).add("peer-leave",(e=>{this.emit(uW.REMOTE_USER_EXIT,{userId:e})})).add("banned",(e=>{this._exitRoom().finally((()=>{this.emit(uW.KICKED_OUT,{reason:e.reason})}))})).add("error",(e=>{this._exitRoom().finally((()=>{this.emit(uW.ERROR,VH.convertFrom(e))}))})).add("signal-connection-state-changed",(e=>{this.emit(uW.CONNECTION_STATE_CHANGED,e)})).add("network-quality",(e=>{this._networkQuality=e;let t=$b(Xb({},e),{uplinkRTT:Math.min(e.uplinkRTT,QC),downlinkRTT:Math.min(e.downlinkRTT,QC)});this.emit(uW.NETWORK_QUALITY,t)})).add("remote-published",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{zP(t,t).add("player-state-changed",(r=>{let i=$b(Xb({},r),{userId:e.userId});t.kind===$w.VIDEO&&(i.streamType=FH(t.streamType)),this.emit(t.kind===$w.AUDIO?uW.AUDIO_PLAY_STATE_CHANGED:uW.VIDEO_PLAY_STATE_CHANGED,i)})).add("error",(e=>{e.getCode()===uw.PLAY_NOT_ALLOWED&&this.emit(uW.AUTOPLAY_FAILED,{userId:t.userId,mediaType:t.strMediaType,resume:()=>t.player.resume()})}))}))})).add("remote-unpublished",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{KP(e)}))})).add("remote-publish-state-changed",(e=>{let{prevMuteState:t,muteState:r}=e,{userId:i}=r,o=t.audioAvailable,n=t.videoAvailable,{audioAvailable:a,videoAvailable:s}=r;a||this._remoteAudioConfigMap.delete(i),s||this._removeRemoteVideoConfig(i,"main"),r.hasAuxiliary||this._removeRemoteVideoConfig(i,"sub"),n!==s&&(s?this._onVideoAvailable({userId:i,streamType:"main"}):this._onVideoUnavailable({userId:i,streamType:"main"}),this.emit(s?uW.REMOTE_VIDEO_AVAILABLE:uW.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"main"})),o!==a&&(a?this._onAudioAvailable({userId:i}):this._onAudioUnavailable({userId:i,muteState:r}),this.emit(a?uW.REMOTE_AUDIO_AVAILABLE:uW.REMOTE_AUDIO_UNAVAILABLE,{userId:i})),t.hasAuxiliary!==r.hasAuxiliary&&(r.hasAuxiliary?this._onVideoAvailable({userId:i,streamType:"sub"}):this._onVideoUnavailable({userId:i,streamType:"sub"}),this.emit(r.hasAuxiliary?uW.REMOTE_VIDEO_AVAILABLE:uW.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"sub"}))})).add("sei-message",(e=>{this.emit(uW.SEI_MESSAGE,$b(Xb({},e),{streamType:FH(e.streamType)}))})).add("firewall-restriction",(()=>{this.emit(uW.ERROR,new VH({code:MH.OPERATION_FAILED,extraCode:5501}))})).add("heartbeat-report",(e=>{var t,r,i,o,n,a,s;let c={2:"big",3:"small",7:"sub"},l={rtt:Math.min(e.msg_up_stream_info.msg_network_status.uint32_rtt||(null==(t=e.msg_down_stream_info[0])?void 0:t.msg_network_status.uint32_rtt)||(null==(r=this._networkQuality)?void 0:r.uplinkRTT)||(null==(i=this._networkQuality)?void 0:i.downlinkRTT)||0,QC),upLoss:(null==(o=this._networkQuality)?void 0:o.uplinkLoss)||0,downLoss:(null==(n=this._networkQuality)?void 0:n.downlinkLoss)||0,bytesSent:e.bytes_sent||0,bytesReceived:e.bytes_received||0,localStatistics:{audio:{bitrate:((null==(a=e.msg_up_stream_info.msg_audio_status)?void 0:a.uint32_audio_codec_bitrate)||0)/1e3,audioLevel:((null==(s=e.msg_up_stream_info.msg_audio_status)?void 0:s.uint32_audio_level)||0)/jM},video:e.msg_up_stream_info.msg_video_status.filter((e=>c[e.uint32_video_stream_type])).map((e=>({bitrate:(e.uint32_video_codec_bitrate||0)/1e3,width:e.uint32_video_width,height:e.uint32_video_height,frameRate:e.uint32_video_enc_fps,videoType:c[e.uint32_video_stream_type]})))},remoteStatistics:e.msg_down_stream_info.map((e=>({userId:e.msg_user_info.str_identifier,audio:{bitrate:(e.msg_audio_status.uint32_audio_codec_bitrate||0)/1e3,audioLevel:(e.msg_audio_status.uint32_audio_level||0)/jM,point2pointDelay:(e.msg_audio_status.uint32_audio_p2p_delay||0)+(e.msg_audio_status.uint32_audio_cache_ms||0),jitterBufferDelay:e.msg_audio_status.uint32_audio_cache_ms||0},video:e.msg_video_status.map((e=>({bitrate:(e.uint32_video_codec_bitrate||0)/1e3,width:e.uint32_video_width,height:e.uint32_video_height,frameRate:e.uint32_video_dec_fps,videoType:c[e.uint32_video_stream_type],point2pointDelay:(e.uint32_video_p2p_delay||0)+(e.uint32_video_cache_ms||0),jitterBufferDelay:e.uint32_video_cache_ms||0,codec:e.uint32_video_codec})))})))};this.emit(uW.STATISTICS,l)})).add("custom-message",(e=>{this.emit(uW.CUSTOM_MESSAGE,e)})).add("layerData",(e=>this.emit(uW.LAYER_DATA,e))).add("first-video-frame",(e=>{this.emit(uW.FIRST_VIDEO_FRAME,$b(Xb({},e),{streamType:FH(e.streamType)}))})).add("audio-frame",(e=>{this.emit(uW.AUDIO_FRAME,e)})),zP(this,$x).add("audioInputAdded",(e=>{this.emit(uW.DEVICE_CHANGED,{type:"microphone",action:"add",device:e})})).add("audioInputRemoved",(e=>{this.emit(uW.DEVICE_CHANGED,{type:"microphone",action:"remove",device:e})})).add("videoInputAdded",(e=>{this.emit(uW.DEVICE_CHANGED,{type:"camera",action:"add",device:e})})).add("videoInputRemoved",(e=>{this.emit(uW.DEVICE_CHANGED,{type:"camera",action:"remove",device:e})})).add("audioOutputAdded",(e=>ow(this,null,(function*(){if(this.emit(uW.DEVICE_CHANGED,{type:"speaker",action:"add",device:e}),Sj&&Sj.deviceId===zC){let e=(yield iU()).find((e=>e.deviceId===zC));e&&Sj.groupId!==e.groupId&&(Sj=e,this.emit(uW.DEVICE_CHANGED,{type:"speaker",action:"active",device:e}))}})))).add("audioOutputRemoved",(e=>ow(this,null,(function*(){this.emit(uW.DEVICE_CHANGED,{type:"speaker",action:"remove",device:e});let t=(yield iU())[0];if(!t||!Sj||Sj.groupId===t.groupId)return;let r=Sj.deviceId===e.deviceId,i=Sj.deviceId===zC&&Sj.deviceId===t.deviceId;(r||i)&&(Sj=t,this.emit(uW.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}))})))),zP(this,Tj).add("permission-state-change",(e=>{this.emit(uW.PERMISSION_STATE_CHANGE,e)}))}getNetworkTime(){return fw()}use(e){let t,r;return"plugin"in e?(t=e.plugin,r=e.assetsPath):t=e,"Chorus"===t.Name&&(this.room.enableChorus=!0),this._use(t,r)}_use(t,r){let i=this._plugins.get(t.Name);if(i)return this._log.warn("duplicate install plugin",t.Name),i;let o=new t(CW.call(this,{TRTC:e,room:this._room,assetsPath:r,errorModule:{RtcError:VH,ErrorCode:MH,CoreErrorCode:uw,ErrorCodeDictionary:LH}}));return this._plugins.set(t.Name,o),o.__v_skip=!0,t.autoStart&&this.startPlugin(t.Name),o}enterRoom(t){return ow(this,null,(function*(){var r,i;this.enterRoomParams=t;let{scene:o="rtc",enableAutoPlayDialog:n=!0,autoReceiveAudio:a=!0,autoReceiveVideo:s=!1}=t;t.proxy&&(this._room.setProxyServer(t.proxy),!BD(t.proxy)&&t.proxy.turnServer&&(null==(i=(r=this._room).setTurnServer)||i.call(r,t.proxy.turnServer,t.proxy.iceTransportPolicy))),this._room.enableAutoPlayDialog=n,this._room.autoReceiveAudio=a,this._room.autoReceiveVideo=s,WD(t.preferHW)&&(this._room.preferHW=t.preferHW),t.playoutDelay&&(this._room.playoutDelay=t.playoutDelay),t.jitterBufferDelay&&(this._room.jitterBufferDelay=t.jitterBufferDelay);let c={sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,privateMapKey:t.privateMapKey||null,latencyLevel:t.latencyLevel,role:"audience"===t.role?21:20,roomId:t.roomId||0,strRoomId:t.strRoomId||"",businessInfo:t.businessInfo||null,streamId:null,userDefineRecordId:t.userDefineRecordId||null,frameWorkType:t.frameWorkType,component:t.component,language:t.language,priority:t.priority,useVp8:t.useVp8,useH265:t.useH265,keepAlive:t.keepAlive};t.strRoomId&&!t.roomId?this._room.useStringRoomId=!0:this._room.useStringRoomId=!1,yield this._room.join(c,o,e.frameWorkType),this._checkTrackToPublish(),QW.start()}))}exitRoom(){return ow(this,null,(function*(){return yield this._exitRoom()}))}switchRoom(e){return ow(this,null,(function*(){if(this.room.isSwitchRoomSupported())try{this._clearRemoteTracks(),yield this._room.switchRoom(e)}catch(RC){if(!(RC instanceof hw)||RC.code!==uw.API_CALL_TIMEOUT&&RC.code!==uw.SWITCH_ROOM_FAILED)throw RC;this._log.warn("switchRoom ".concat(RC.code===uw.API_CALL_TIMEOUT?"timeout":"failed",", fallback to exitRoom() and enterRoom()")),yield this._rejoinRoom(e)}else yield this._rejoinRoom(e)}))}_rejoinRoom(e){return ow(this,null,(function*(){yield this.exitRoom();let t=Xb(Xb({},this.enterRoomParams),e);yield this.enterRoom(t)}))}_clearRemoteTracks(){new Set([...this._remoteAudioConfigMap.keys(),...this._remoteAudioMuteMap.keys()]).forEach((e=>{this._stopRemoteAudio({userId:e}).catch((()=>{}))})),[...this._remoteVideoConfigMap.keys()].forEach((e=>{let t=e.includes("main")?"main":"sub",r=e.split("_".concat(t))[0];r&&this._stopRemoteVideo({userId:r,streamType:t}).catch((()=>{}))})),this._remoteVideoConfigMap.clear(),this._remoteAudioConfigMap.clear(),this._remoteAudioMuteMap.clear(),function(e){let t=DW.get(e);t&&(t.forEach((e=>clearTimeout(e))),DW.delete(e))}(this),this._room.remotePublishedUserMap.forEach((e=>{KP(e.remoteAudioTrack),KP(e.remoteVideoTrack),KP(e.remoteAuxiliaryTrack)}))}switchRole(e,t){return ow(this,null,(function*(){null!=t&&t.privateMapKey&&(this._room.privateMapKey=t.privateMapKey),null!=t&&t.latencyLevel&&(this._room.latencyLevel=t.latencyLevel),yield this._room.switchRole(e),"anchor"===e&&this._checkTrackToPublish()}))}destroy(){this._plugins.forEach((e=>{var t;return null==(t=e.destroy)?void 0:t.call(e)})),this._plugins.clear(),KP(this),this.removeAllListeners(),this._room.destroy(),Aj.delete(this),0===Aj.size&&QW.destroy(),this._localAudioTrack&&this.stopLocalAudio(),this._localVideoTrack&&this.stopLocalVideo(),this._localScreenTrack&&this.stopScreenShare(),WO.off("102",this._onLocalTrackCaptured,this)}startLocalAudio(){return ow(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0};return function*(){if(e._localAudioTrack)return void e._log.warn("local audio is already started");let{publish:r=!0,mute:i,option:o}=t,n=new XF(e._room.audioManager),a={},s={muted:!0};o&&(FD(o.microphoneId)?FD(o.audioTrack)||(a.customSource=o.audioTrack):a.deviceId=o.microphoneId,o&&HD(o.captureVolume)&&n.setCaptureVolume(o.captureVolume),FD(o.profile)||(BD(o.profile)?Kw[o.profile]&&n.setProfile(Kw[o.profile]):n.setProfile(o.profile)),HD(o.earMonitorVolume)&&(s.muted=!(o.earMonitorVolume>0),s.volume=o.earMonitorVolume),FD(o.echoCancellation)||(n.profile.echoCancellation=o.echoCancellation),FD(o.noiseSuppression)||(n.profile.noiseSuppression=o.noiseSuppression),FD(o.autoGainControl)||(n.profile.autoGainControl=o.autoGainControl),WD(e._enableAutoSwitchWhenRecapturing)&&(n.enableAutoSwitchWhenRecapturing=e._enableAutoSwitchWhenRecapturing)),n.on("5",(t=>{e.emit(uW.ERROR,new VH({code:MH.DEVICE_ERROR,extraCode:5309,messageParams:{error:t}}))})),n.on("2",(t=>{e.emit(uW.DEVICE_CHANGED,{type:"microphone",action:"active",device:t})})),n.on("4",(t=>{let r;t.error&&(r=VH.convertFrom(t.error)),e.emit(uW.PUBLISH_STATE_CHANGED,$b(Xb({},t),{error:r}))})),n.on("6",(()=>{e.emit(uW.ERROR,new VH({code:MH.OPERATION_FAILED,extraCode:5506,message:"audio encode failed"}))})),e._listenOutputTrackChanged(n),e._speakerId&&n.setAudioOutput(e._speakerId),yield n.capture(a),FD(i)||n.setMute(i),zP(n,n).add("player-state-changed",(t=>{e.emit(uW.AUDIO_PLAY_STATE_CHANGED,$b(Xb({},t),{userId:""}))})),r&&e._room.isJoined&&e._room.publish(n).catch((()=>{})),e._localAudioTrack=n,e._localAudioConfig=$b(Xb({},t),{publish:r}),yield e._updateAudioPlayOption({playOption:s,track:n}),WO.emit("113",{userId:"",room:e.room})}()}))}updateLocalAudio(e){return ow(this,null,(function*(){if(!this._localAudioTrack||!this._localAudioConfig)return;let{publish:t,mute:r,option:i}=e,o={};i&&(i.microphoneId?yield this._localAudioTrack.switchDevice(i.microphoneId):FD(i.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(i.audioTrack)),FD(i.captureVolume)||this._localAudioTrack.setCaptureVolume(i.captureVolume),FD(i.earMonitorVolume)||(o.muted=!(i.earMonitorVolume>0),o.volume=i.earMonitorVolume),yield this._localAudioTrack.update3A(i)),this._room.isJoined&&!FD(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),FD(r)||this._localAudioTrack.setMute(r),yield this._updateAudioPlayOption({playOption:o,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),sN(this._localAudioConfig,e)}))}stopLocalAudio(){return ow(this,null,(function*(){this._localAudioTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),WO.emit("114",{userId:"",room:this.room}),this._localAudioTrack.stop(),this._localAudioTrack.close(),this._room.audioManager.removeInput(this._localAudioTrack),KP(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null)}))}startLocalVideo(){return ow(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null,capture:!0};return function*(){var r;if(e._localVideoTrack)return void e._log.warn("local video is already started");let{view:i,publish:o=!0,capture:n=!0,mute:a,option:s}=t,c=new eB(e._room.videoManager),l={},d={};s&&(WD(s.avoidCropping)&&(c.avoidCropping=s.avoidCropping),s.cameraId?l.deviceId=s.cameraId:FD(s.useFrontCamera)?FD(s.videoTrack)||(l.customSource=s.videoTrack):l.facingMode=s.useFrontCamera?$w.FACING_MODE_USER:$w.FACING_MODE_ENVIRONMENT,FD(s.retryWhenExactFailed)||(l.retryWhenExactFailed=s.retryWhenExactFailed),s.qosPreference&&(l.contentHint=BH(s.qosPreference)),FD(s.profile)||(BD(s.profile)?qw[s.profile]&&c.setProfile(qw[s.profile]):c.setProfile(s.profile)),FD(s.fillMode)||(d.objectFit=s.fillMode),FD(s.mirror)||(d.mirror=s.mirror),FD(s.small)||(FD(s.smallMode)||(e._room.smallMode=s.smallMode),WD(s.small)&&!1===s.small?c.stopSmall():c.updateSmallConfig(HH(s.small,!0))),FD(s.rotation)||c.setRotation(s.rotation),WD(e._enableAutoSwitchWhenRecapturing)&&(c.enableAutoSwitchWhenRecapturing=e._enableAutoSwitchWhenRecapturing)),c.once("first-video-frame",(t=>{e.emit(uW.FIRST_VIDEO_FRAME,$b(Xb({},t),{streamType:FH(t.streamType)}))})),c.on("5",(t=>{e.emit(uW.ERROR,new VH({code:MH.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),c.on("2",(t=>{e.emit(uW.DEVICE_CHANGED,{type:"camera",action:"active",device:t})})),c.on("4",(t=>{let r;t.error&&(r=VH.convertFrom(t.error)),e.emit(uW.PUBLISH_STATE_CHANGED,$b(Xb({},t),{error:r}))})),c.on("6",(()=>{e.emit(uW.ERROR,new VH({code:MH.OPERATION_FAILED,extraCode:5505,message:"video encode failed"}))})),e._listenOutputTrackChanged(c),n?yield c.capture(l):null==(r=c.manager)||r.changeInput(c),FD(a)||(yield c.setMute(a)),zP(c,c).add("player-state-changed",(t=>{e.emit(uW.VIDEO_PLAY_STATE_CHANGED,$b(Xb({},t),{userId:"",streamType:"main"}))})).add("video-size-changed",(t=>{e.emit(uW.VIDEO_SIZE_CHANGED,$b(Xb({},t),{streamType:FH(t.streamType)}))})),o&&e._room.isJoined&&e._room.publish(c).catch((()=>{})),e._localVideoTrack=c,e._localVideoConfig=$b(Xb({},t),{view:i,publish:o,capture:n}),yield e._updateVideoPlayOption({view:i,playOption:d,track:c})}()}))}updateLocalVideo(e){return ow(this,null,(function*(){var t,r,i;if(!this._localVideoTrack||!this._localVideoConfig)return;let{view:o,publish:n,mute:a,capture:s,option:c}=e,l={};if(this._localVideoConfig.capture)!1!==s?null!=c&&c.cameraId?yield this._localVideoTrack.switchDevice(null==c?void 0:c.cameraId):FD(null==c?void 0:c.useFrontCamera)?FD(null==c?void 0:c.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(null==c?void 0:c.videoTrack)):yield this._localVideoTrack.switchDevice(null!=c&&c.useFrontCamera?$w.FACING_MODE_USER:$w.FACING_MODE_ENVIRONMENT):this._localVideoTrack.stopCapture();else if(s){let e={};e.deviceId=(null==c?void 0:c.cameraId)||(null==(t=this._localVideoConfig.option)?void 0:t.cameraId),e.facingMode=null!=c&&c.useFrontCamera||null!=(r=this._localVideoConfig.option)&&r.useFrontCamera?$w.FACING_MODE_USER:$w.FACING_MODE_ENVIRONMENT,e.customSource=(null==c?void 0:c.videoTrack)||(null==(i=this._localVideoConfig.option)?void 0:i.videoTrack),yield this._localVideoTrack.capture(e)}c&&(FD(c.profile)||(BD(c.profile)?qw[c.profile]&&this._localVideoTrack.setProfile(qw[c.profile]):this._localVideoTrack.setProfile(c.profile),(!c.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(c.cameraId))&&FD(c.useFrontCamera)&&(yield this._localVideoTrack.applyProfile())),FD(c.fillMode)||(l.objectFit=c.fillMode),FD(c.mirror)||(l.mirror=c.mirror),FD(c.rotation)||this._localVideoTrack.setRotation(c.rotation),c.qosPreference&&this._localVideoTrack.mediaTrack&&this._localVideoTrack.setContentHint(BH(c.qosPreference)),FD(c.small)||(WD(c.small)&&!c.small?this._localVideoTrack.stopSmall():this._localVideoTrack.updateSmallConfig(HH(c.small,!0)))),this._room.isJoined&&FD(n)&&this._localVideoConfig.publish&&s&&!this._localVideoConfig.capture&&this._room.publish(this._localVideoTrack).catch((()=>{})),this._room.isJoined&&((null!=n?n:this._localVideoConfig.publish)?this._room.publish(this._localVideoTrack).catch((()=>{})):this._room.unpublish(this._localVideoTrack).catch((()=>{}))),FD(a)||(yield this._localVideoTrack.setMute(a)),yield this._updateVideoPlayOption({view:o,playOption:l,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),sN(this._localVideoConfig,e)}))}stopLocalVideo(){return ow(this,null,(function*(){this._localVideoTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),KP(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return ow(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null};return function*(){var r,i;if(e._localScreenTrack)return void e._log.warn("screen share is already started");let{view:o=null,publish:n=!0,muteSystemAudio:a,option:s}=t,c=new NB(e._room.videoManager);c.on("4",(t=>{let r;t.error&&(r=VH.convertFrom(t.error)),e.emit(uW.PUBLISH_STATE_CHANGED,$b(Xb({},t),{error:r}))})),c.once("first-video-frame",(t=>{e.emit(uW.FIRST_VIDEO_FRAME,$b(Xb({},t),{streamType:FH(t.streamType)}))})),e._listenOutputTrackChanged(c),"main"===t.streamType&&(c.mediaType=4);let l=null,d={},u={};s&&(FD(s.profile)||(BD(s.profile)?Xw[s.profile]&&c.setProfile(Xw[s.profile]):c.setProfile(s.profile)),s.systemAudio&&(d.systemAudio=!0,d.echoCancellation=s.echoCancellation,d.noiseSuppression=s.noiseSuppression,d.autoGainControl=s.autoGainControl),FD(s.fillMode)||(u.objectFit=s.fillMode),s.videoTrack&&(d.videoTrack=s.videoTrack),s.audioTrack&&(d.audioTrack=s.audioTrack),s.captureElement&&(d.captureElement=s.captureElement),s.preferDisplaySurface&&(d.preferDisplaySurface=s.preferDisplaySurface),s.qosPreference&&(d.contentHint=BH(s.qosPreference)));let h=yield c.capture(d);if(c.mediaTrack.addEventListener($w.ENDED,(()=>{e._stopScreenShare(),e.emit(uW.SCREEN_SHARE_STOPPED)})),h.getAudioTracks()[0]){l=new OB(e._room.audioManager);let o=h.getAudioTracks()[0];null!=(r=t.option)&&r.systemAudio&&!(null!=(i=t.option)&&i.audioTrack)&&(l.sourceTrack=o),yield l.setInputMediaStreamTrack(o),WD(a)&&l.mediaTrack&&(l.mediaTrack.enabled=!a),e._speakerId&&l.setAudioOutput(e._speakerId)}if(zP(c,c).add("player-state-changed",(t=>{e.emit(uW.VIDEO_PLAY_STATE_CHANGED,$b(Xb({},t),{userId:"",streamType:"sub"}))})),n&&e._room.isJoined){let t=[c];l&&(t.push(l),e._checkScreenAudioEchoCancellation(c,l)),e._room.publish(...t).catch((()=>{}))}e._localScreenTrack=c,e._localScreenAudioTrack=l,e._localScreenConfig=$b(Xb({},t),{view:o,publish:n}),yield e._updateVideoPlayOption({view:o,playOption:u,track:c})}()}))}updateScreenShare(e){return ow(this,null,(function*(){var t;if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:r,publish:i,muteSystemAudio:o,option:n}=e,a={};if(n&&(FD(n.fillMode)||(a.objectFit=n.fillMode),n.qosPreference)){let e=BH(n.qosPreference);this._localScreenTrack.setContentHint(e)}if(this._room.isJoined&&!FD(i)){if(i&&!this._localScreenConfig.publish){let e=[this._localScreenTrack];this._localScreenAudioTrack&&e.push(this._localScreenAudioTrack),this._room.publish(...e).catch((()=>{}))}if(this._localScreenConfig.publish&&!i){let e=[this._localScreenTrack];this._localScreenAudioTrack&&e.push(this._localScreenAudioTrack),this._room.unpublish(...e).catch((()=>{}))}}null!=(t=this._localScreenAudioTrack)&&t.mediaTrack&&WD(o)&&(this._localScreenAudioTrack.mediaTrack.enabled=!o),yield this._updateVideoPlayOption({view:r,playOption:a,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),sN(this._localScreenConfig,e)}))}stopScreenShare(){return ow(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return ow(this,null,(function*(){let{view:t,userId:r,streamType:i,option:o}=e,n="".concat(r,"_").concat(i);if(this._remoteVideoConfigMap.has(n))return void this._log.warn("remote video has already started. userId:".concat(r,", streamType:").concat(i));let a=this._room.remotePublishedUserMap.get(r);if(!a)return;let s={},c="main"===i?a.remoteVideoTrack:a.remoteAuxiliaryTrack;c.on("decode-failed",(e=>{this.emit(uW.ERROR,new VH({code:MH.OPERATION_FAILED,extraCode:5507,message:"video decode failed"}))})),c.on("video-size-changed",(e=>{this.emit(uW.VIDEO_SIZE_CHANGED,$b(Xb({},e),{streamType:FH(e.streamType)}))})),this._listenOutputTrackChanged(c),o&&(FD(o.fillMode)||(s.objectFit=o.fillMode),FD(o.mirror)||(s.mirror=o.mirror),FD(o.poster)||(s.poster=o.poster),s.canvasRender=o.canvasRender,"main"===i&&!FD(o.small)&&(!a.remoteVideoTrack.isSubscribing&&!a.remoteVideoTrack.isSubscribed&&a.remoteVideoTrack.setMediaType(o.small?8:4),this._room.changeType(o.small,c.user))),yield this._room.subscribe(c),yield this._enableVideoDecodeFallback(c,i),yield this._updateVideoPlayOption({view:t,playOption:s,track:c}),this._emitTrackEvent(c),this._remoteVideoConfigMap.set(n,{config:e}),o&&!FD(o.receiveWhenViewVisible)&&this._observeView({remoteTrack:c,view:t,receiveWhenViewVisible:o.receiveWhenViewVisible,viewRoot:null==o?void 0:o.viewRoot})}))}updateRemoteVideo(e){return ow(this,null,(function*(){var t,r;let{view:i,userId:o,streamType:n,option:a}=e,s="".concat(o,"_").concat(n),c=this._remoteVideoConfigMap.get(s);if(!c||!this._room.remotePublishedUserMap.has(o))return;let l={};a&&(FD(a.fillMode)||(l.objectFit=a.fillMode),FD(a.mirror)||(l.mirror=a.mirror));let d=null,u=this._room.remotePublishedUserMap.get(o);if("main"===n&&null!=u&&u.muteState.hasVideo&&(d=u.remoteVideoTrack),"sub"===n&&null!=u&&u.muteState.hasAuxiliary&&(d=u.remoteAuxiliaryTrack),!d)return;let{config:h}=c;"main"===n&&a&&!FD(a.small)&&this._room.changeType(a.small,d.user),yield this._updateVideoPlayOption({view:i,playOption:l,track:d,prevConfig:h}),sN(h,e);let p=FD(null==a?void 0:a.receiveWhenViewVisible)?null==(t=h.option)?void 0:t.receiveWhenViewVisible:a.receiveWhenViewVisible,m=FD(i)?h.view:i,f=FD(null==a?void 0:a.viewRoot)?null==(r=h.option)?void 0:r.viewRoot:a.viewRoot;this._observeView({remoteTrack:d,view:m,receiveWhenViewVisible:p,viewRoot:f})}))}stopRemoteVideo(e){return ow(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return ow(this,null,(function*(){let r=[],i=this._room.remotePublishedUserMap.get(e.userId);if(i){let{muteState:t,remoteVideoTrack:o,remoteAuxiliaryTrack:n}=i;"main"===e.streamType&&(o.stop(),t.hasVideo&&r.push(o)),"sub"===e.streamType&&(n.stop(),t.hasAuxiliary&&r.push(n))}for(let e of r)t&&(yield this._room.unsubscribe(e),this._mediaTrackMap.delete(e.outMediaTrack));this._removeRemoteVideoConfig(e.userId,e.streamType)}))}_removeRemoteVideoConfig(e,t){let r="".concat(e,"_").concat(t),i=this._remoteVideoConfigMap.get(r);i&&i.observer&&i.observer.disconnect(),this._remoteVideoConfigMap.delete(r)}muteRemoteAudio(e,t){return ow(this,null,(function*(){this._remoteAudioMuteMap.set(e,t);try{if("*"===e)if(t)yield this._stopRemoteAudio({userId:e});else{let e=[...this._room.remotePublishedUserMap.values()];for(let t of e)t.muteState.hasAudio&&!this._remoteAudioConfigMap.has(t.userId)&&(yield this._startRemoteAudio({userId:t.userId}))}else t?yield this._stopRemoteAudio({userId:e}):this._remoteAudioConfigMap.has(e)||(yield this._startRemoteAudio({userId:e}))}catch(iM){throw iM.code!==MH.OPERATION_ABORT&&this._remoteAudioMuteMap.delete(e),iM}}))}setRemoteAudioVolume(e,t){if("*"===e){this._remoteAudioVolumeMap.set("*",t),this._remoteAudioVolumeMap.forEach(((e,r)=>this._remoteAudioVolumeMap.set(r,t)));let e=[...this._room.remotePublishedUserMap.values()];for(let r of e)this._remoteAudioVolumeMap.set(r.userId,t),r.remoteAudioTrack.isSubscribed&&this._updateAudioPlayOption({playOption:{volume:t},track:r.remoteAudioTrack})}else if(e){let r=this._room.remotePublishedUserMap.get(e);this._remoteAudioVolumeMap.set(e,t),r&&r.remoteAudioTrack.isSubscribed&&this._updateAudioPlayOption({playOption:{volume:t},track:r.remoteAudioTrack})}}startPlugin(e,t){return ow(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return ow(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return ow(this,null,(function*(){return e.stop(t)}))}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._room.enableAudioVolumeEvaluation(e,t)}on(e,t,r){if(this.listeners(e).includes(t))return this;if(this._log.debug("on",e),super.on(e,t,r),this._eventListened.add(e),this.listeners(uW.AUDIO_FRAME).length>0){let{audioFrameEventConfigMap:e}=this.room.audioManager;e.get("")||e.set("",{enable:!0}),this._localAudioTrack&&this.room.audioManager.handleLocalTrackStarted({userId:"",room:this.room})}return this}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];try{hW.has(e)&&this._log.debug("emit ".concat(e," ").concat(JSON.stringify(r)))}catch(iM){}return super.emit(e,...r)}off(t,r,i){if(this._log.debug("off",t),"*"===t?(this._eventListened.clear(),this.removeAllListeners()):super.off(t,r,i),(t===e.EVENT.AUDIO_FRAME||"*"===t)&&0===this.listeners(e.EVENT.AUDIO_FRAME).length){let{getPCMAbortCtrlMap:e}=this.room.audioManager;e.forEach((e=>{null==e||e.abort("off")})),e.clear()}return this}getAudioTrack(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},r=null,i="main",o=!1;if(BD(t)?e=t:(e=t.userId,o=!0===t.processed,t.streamType&&(i=t.streamType)),e){let t=this._room.remotePublishedUserMap.get(e);t&&(r=t.remoteAudioTrack)}else r="sub"===i?this._localScreenAudioTrack:this._localAudioTrack;return r?o&&r.outMediaTrack&&r.outMediaTrack!==r.mediaTrack?r.outMediaTrack.clone():r.mediaTrack:null}getVideoTrack(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},{userId:t="",streamType:r="main",processed:i=!1}=e,o=null;if(""===t)"main"===r&&this._localVideoTrack&&(o=this._localVideoTrack),"sub"===r&&this._localScreenTrack&&(o=this._localScreenTrack);else{let e=this._room.remotePublishedUserMap.get(t);e&&(o="main"===r?e.remoteVideoTrack:e.remoteAuxiliaryTrack)}return o?i&&o.outMediaTrack&&o.outMediaTrack!==o.mediaTrack?o.outMediaTrack.clone():o.mediaTrack:null}getVideoSnapshot(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{userId:t,streamType:r="main"}=e;if(t){let e=this._room.remotePublishedUserMap.get(t);if("main"===r&&null!=e&&e.muteState.hasVideo)return e.remoteVideoTrack.getVideoFrame();if("sub"===r&&null!=e&&e.muteState.hasAuxiliary)return e.remoteAuxiliaryTrack.getVideoFrame()}else{if("main"===r&&this._localVideoTrack)return this._localVideoTrack.getVideoFrame();if("sub"===r&&this._localScreenTrack)return this._localScreenTrack.getVideoFrame()}return""}_setCurrentSpeaker(e){var t,r;this._speakerId=e,null==(t=this._localAudioTrack)||t.setAudioOutput(e),null==(r=this._localScreenAudioTrack)||r.setAudioOutput(e),this._room.remotePublishedUserMap.forEach((t=>t.remoteAudioTrack.setAudioOutput(e)))}setCurrentSpeaker(e){return ow(this,null,(function*(){(yield iU()).forEach((t=>{t.deviceId===e&&(this._setCurrentSpeaker(e),this.emit(uW.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}),Sj=t)})),this._log.warn('the "setCurrentSpeaker" method of the instance will be deprecated in the future, please use "TRTC.setCurrentSpeaker" instead. For more information, please visit: https://web.sdk.qcloud.com/trtc/webrtc/v5/doc/en/TRTC.html#.setCurrentSpeaker')}))}_startRemoteAudio(e){return this._doStartRemoteAudio(e)}_doStartRemoteAudio(e){return ow(this,null,(function*(){var t;let{userId:r}=e;if(this._remoteAudioConfigMap.has(r))return void this._log.warn("remote audio has already started. userId:".concat(r));let i=this._room.remotePublishedUserMap.get(r);if(!i)return;let o={},n=i.remoteAudioTrack;n.on("decode-failed",(e=>{this.emit(uW.ERROR,new VH({code:MH.OPERATION_FAILED,extraCode:5506,message:"audio decode failed"}))})),this._listenOutputTrackChanged(n),this._speakerId&&n.setAudioOutput(this._speakerId);try{let i=null!=(t=this._remoteAudioVolumeMap.get(r))?t:this._remoteAudioVolumeMap.get("*"),a=HD(i)?i:100;o.volume=a,this._remoteAudioConfigMap.set(r,e),yield this._room.subscribe(n),FU(vV(n,"decode-failed"),HV(vV(n,PP.INIT)),WF((()=>{this.startPlugin(_j.Name,{track:n,type:"auto",config:{codec:"opus",sampleRate:48e3,numberOfChannels:1}})}))),yield this._updateAudioPlayOption({playOption:o,track:n}),WO.emit("115",{userId:r,room:this.room}),n.outMediaTrack&&this.room.audioManager.updateAudioReference({type:"add",audioReference:n.outMediaTrack,refId:"ra-".concat(r)})}catch(nM){throw this._remoteAudioConfigMap.delete(r),nM}this._emitTrackEvent(n)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return ow(this,null,(function*(){let r=this._room.remotePublishedUserMap.get(e.userId);r&&(r.remoteAudioTrack.stop(),r.muteState.hasAudio&&t&&(yield this._room.unsubscribe(r.remoteAudioTrack)),this._mediaTrackMap.delete(r.remoteAudioTrack.outMediaTrack)),this._remoteAudioConfigMap.delete("".concat(e.userId)),WO.emit("116",{userId:e.userId,room:this.room}),this.room.audioManager.updateAudioReference({type:"remove",refId:"ra-".concat(e.userId)})}))}_enableVideoDecodeFallback(e,t){let r,i=this._room.videoDecodeFallbackType;i&&this._plugins.has("TRTCVideoDecoder")&&(e.log.debug("remote video will fall back when decode failed",e.id),FU(vV(e,"decode-failed"),HV(vV(e,PP.INIT)),jF((()=>{"h265"!==this._room.downlinkVideoCodec&&this.startPlugin("TRTCVideoDecoder",{type:"auto",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:i})})),yF(vV(e,"decode-downgrade-state-changed")),WF((i=>{r=i.state,this.emit(uW.VIDEO_DECODE_DOWNGRADE_STATE_CHANGED,$b(Xb({},i),{streamType:t,userId:e.userId}))}),(t=>{e.log.error("fallback",t)}),(()=>{"STARTED"===r&&e.log.info("fallback complete")}))))}_updateVideoPlayOption(e){return ow(this,arguments,(function(e){let{view:t,playOption:r,track:i,prevConfig:o}=e;return function*(){if(i.setMirror(r.mirror),FD(t)&&o&&o.view&&!iN(r)){let e=lN(o.view);e.length>0&&(yield i.play(e,r))}if(!FD(t)){let e=lN(t);e.length>0?yield i.play(e,r):i.stop()}}()}))}_updateAudioPlayOption(e){return ow(this,arguments,(function(e){var t=this;let{playOption:r={},track:i,prevConfig:o}=e;return function*(){if(!i.isPlayCalled)try{yield i.play(null,r)}catch(Sw){}if(FD(r.muted)||i.setPlayerMute(r.muted),FD(r.volume)||i.setAudioVolume(r.volume/100),i instanceof XF&&i.mediaTrack){let e=!1===r.muted&&!FD(r.volume)&&r.volume>0?"add":"remove";t.room.audioManager.updateAudioReference({type:e,audioReference:i.mediaTrack,refId:"em"})}else if(i instanceof UB){let e=r.muted?0:r.volume;if(FD(e))return;t.room.audioManager.updateAudioReference({type:"updateVolume",refId:"ra-".concat(i.userId),volume:r.volume})}}()}))}_listenOutputTrackChanged(e){0===e.listeners("output-media-track-changed").length&&e.on("output-media-track-changed",(()=>this._emitTrackEvent(e,!1)))}_emitTrackEvent(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=e.isRemote?e.userId:"";e.outMediaTrack&&(t&&this._mediaTrackMap.get(e.outMediaTrack)===r||(this._mediaTrackMap.set(e.outMediaTrack,r),this.emit(uW.TRACK,{userId:r,streamType:FH(e.streamType),track:e.outMediaTrack,sourceTrack:e.mediaTrack})))}_checkTrackToPublish(){var e,t,r;let i=[];if(null!=(e=this._localAudioConfig)&&e.publish&&this._localAudioTrack&&i.push(this._localAudioTrack),null!=(t=this._localVideoConfig)&&t.publish&&this._localVideoTrack&&i.push(this._localVideoTrack),null!=(r=this._localScreenConfig)&&r.publish&&(this._localScreenTrack&&i.push(this._localScreenTrack),this._localScreenAudioTrack&&i.push(this._localScreenAudioTrack),this._checkScreenAudioEchoCancellation(this._localScreenTrack,this._localScreenAudioTrack)),0!==i.length)return this._room.publish(...i).catch((()=>{}))}_observeView(e){let{remoteTrack:t,view:r,receiveWhenViewVisible:i=!1,viewRoot:o}=e;if(FD(r))return;let n=this._remoteVideoConfigMap.get("".concat(t.userId,"_").concat(FH(t.streamType)));if(!n)return;let a=n.observer||void 0;if(null===r||GD(r)&&0===r.length||!i)return null==a||a.disconnect(),void(t.isSubscribed||this._room.subscribe(t).catch((()=>{})));let s=n.visibleViewMap||new Map,c=-1;(!a||a.root!==o)&&(null==a||a.disconnect(),s.clear(),a=new IntersectionObserver((e=>{e.forEach((e=>{s.set(e.target,e.isIntersecting),t.log.info("view ".concat(e.target.id," is").concat(e.isIntersecting?"":" not"," visible"))})),clearTimeout(c),c=window.setTimeout((()=>{[...s.values()].find((e=>e))?t.isSubscribed||this._room.subscribe(t).catch((()=>{})):t.isSubscribed&&this._room.unsubscribe(t).catch((()=>{}))}),200)}),{root:o}));let l=new Set(lN(r));s.forEach(((e,t)=>{l.has(t)||(a.unobserve(t),s.delete(t))})),l.forEach((e=>{s.set(e,!0),a.observe(e)})),a.takeRecords().forEach((e=>{s.set(e.target,e.isIntersecting)})),n.visibleViewMap=s,n.observer=a}_exitRoom(){return ow(this,null,(function*(){this._room.isJoined&&(yield this._room.leave()),this._clearRemoteTracks()}))}_stopScreenShare(){return ow(this,null,(function*(){var e,t;if(this._localScreenTrack){if(this._room.isJoined){let t=[this._localScreenTrack];this._localScreenAudioTrack&&t.push(this._localScreenAudioTrack),yield null==(e=this._room)?void 0:e.unpublish(...t).catch((()=>{}))}this._localScreenTrack.stop(),this._localScreenTrack.close(),this._localScreenAudioTrack&&(!1===(null==(t=this._localScreenAudioTrack.trackSettings)?void 0:t.echoCancellation)&&this.stopPlugin("AudioProcessor"),this._localScreenAudioTrack.stop(),this._localScreenAudioTrack.close(),this._room.audioManager.removeInput(this._localScreenAudioTrack),this._localScreenAudioTrack=null),KP(this._localScreenTrack),this._localScreenTrack=null,this._localScreenConfig=null}}))}_checkScreenAudioEchoCancellation(e,t){return ow(this,null,(function*(){var r,i;if(!e||!t)return;let o=null==(r=e.trackSettings)?void 0:r.displaySurface;if(!1===(null==(i=t.trackSettings)?void 0:i.echoCancellation)&&("monitor"===o||"browser"===o&&e.isShareCurrentTab)){this._log.warn("echoCancellation of screen audio track is disable. Try starting audioProcessor plugin");try{yield this.startPlugin("AudioProcessor",{sdkAppId:Number(this.room.sdkAppId),userId:this._room.userId,userSig:this.room.userSig,isScreenAudioNeedAudioProcess:!0,isLocalAudioNeedAudioProcess:!1})}catch(rM){this._log.warn("start audioProcessor plugin failed: ",rM)}}}))}_onLocalTrackCaptured(e){let{track:t}=e;"audio"===t.kind&&(!Sj||Qx(Sj))&&(this._initActiveSpeaker(),WO.off("102",this._onLocalTrackCaptured,this))}_initActiveSpeaker(){return ow(this,null,(function*(){if(Sj&&!Qx(Sj))this.emit(uW.DEVICE_CHANGED,{type:"speaker",action:"active",device:Sj});else{let e=yield iU();e[0]&&!Qx(e[0])?(Sj=e[0],this.emit(uW.DEVICE_CHANGED,{type:"speaker",action:"active",device:e[0]})):WO.on("102",this._onLocalTrackCaptured,this)}}))}_onAudioAvailable(e){let{userId:t}=e,r=this._remoteAudioMuteMap.has(t)?this._remoteAudioMuteMap.get(t):this._remoteAudioMuteMap.get("*");(!1===r||this._room.autoReceiveAudio&&!r)&&this._doStartRemoteAudio({userId:t}).catch((()=>{}))}_onVideoAvailable(e){let{userId:t,streamType:r}=e;if(!this._room.autoReceiveVideo)return;let i=this._room.remotePublishedUserMap.get(t);if(i){let e="main"===r?i.remoteVideoTrack:i.remoteAuxiliaryTrack,t=[e];this._room.autoReceiveAudio&&i.remoteAudioTrack.isAvailable&&t.push(i.remoteAudioTrack),this._room.subscribe(...t).then((()=>{this._emitTrackEvent(e)})).catch((()=>{}))}}_onAudioUnavailable(e){let{userId:t,muteState:r}=e;r.hasAudio&&r.audioMuted||this._stopRemoteAudio({userId:t},!1).catch((()=>{}))}_onVideoUnavailable(e){let{userId:t,streamType:r}=e;this._stopRemoteVideo({userId:t,streamType:r},!1).catch((()=>{}))}sendSEIMessage(e,t){var r;let i=this._plugins.get("SEI");i&&(i.update({buffer:e,options:$b(Xb({seiPayloadType:243},t),{small:!(null==(r=this._localVideoTrack)||!r.small)})}),EL.addCount({key:5e5,useUV:!0}))}sendCustomMessage(e){var t,r;null==(r=(t=this._room).sendCustomMessage)||r.call(t,e),EL.addCount({key:500001,useUV:!0})}callExperimentalAPI(e,t){return ow(this,null,(function*(){return this._log.info("callExperimentalAPI(".concat(e,", ").concat(JSON.stringify(t),")")),Ej.call(e,Xb({trtcInstance:this},t))}))}static setLogLevel(e,t){qO.setLogLevel(e),FD(t)||(t?qO.enableUploadLog():qO.disableUploadLog())}static isSupported(){return kL(e.frameWorkType)}static getPermissions(e){return ow(this,arguments,(function(e){let{request:t=!0,types:r=["camera","microphone"]}=e;return function*(){t&&(yield Tj.request(r).catch((e=>{var t;return qO.error("getPermissions request failed, error: ".concat(null!=(t=null==e?void 0:e.message)?t:e))})));let[e,i]=yield Promise.all([Tj.get("camera"),Tj.get("microphone")]);return{camera:e,microphone:i}}()}))}static getCameraList(){return tU(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getMicrophoneList(){return eU(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getSpeakerList(){return iU(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static setCurrentSpeaker(t){return ow(this,null,(function*(){if(!rk||t!==OH.SPEAKER&&t!==OH.HEADSET)(yield iU()).forEach((e=>{e.deviceId===t&&(Aj.forEach((r=>{r._setCurrentSpeaker(t),r.emit(uW.DEVICE_CHANGED,{type:"speaker",action:"active",device:e})})),Sj=e)}));else{let r=yield e.getMicrophoneList(),i="";if(r.forEach((e=>{e.label===t&&(i=e.deviceId)})),!i)return;Aj.forEach((e=>ow(this,null,(function*(){e._localAudioTrack&&(yield e.updateLocalAudio({option:{microphoneId:i}}))}))))}}))}static _addKVStat(e){let{type:t,key:r,value:i,base:o,useUV:n,version:a,max:s}=e;switch(a&&(gL.version=a),t){case"count":gL.addCount({key:r,useUV:n});break;case"enum":gL.addEnum({key:r,value:i,useUV:n});break;case"number":gL.addNumber({key:r,value:i,split:o,max:s})}}};rw(Rj,"VERSION",NW),rw(Rj,"_loggerManager",qO),rw(Rj,"EVENT",uW),rw(Rj,"ERROR_CODE",MH),rw(Rj,"TYPE",OH),rw(Rj,"frameWorkType",30),tw([PW({replaceArg:e=>({argIndex:0,value:{name:"plugin"in e?e.plugin.Name:e.Name,assetsPath:"assetsPath"in e?null==e?void 0:e.assetsPath:"default"}})})],Rj.prototype,"use",1),tw([kW(ZH.TRTC.enterRoom),cW("room",((e,t)=>{let[r]=e,[i]=t;return(r.roomId||r.strRoomId)===(i.roomId||i.strRoomId)&&r.userId===i.userId&&r.sdkAppId===i.sdkAppId})),yU((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t)})),PW()],Rj.prototype,"enterRoom",1),tw([PW()],Rj.prototype,"exitRoom",1),tw([kW(ZH.TRTC.switchRoom),PW(),bU()],Rj.prototype,"switchRoom",1),tw([kW(ZH.TRTC.switchRole),lW("room",{merge:(e,t)=>t}),PW()],Rj.prototype,"switchRole",1),tw([PW()],Rj.prototype,"destroy",1),tw([kW(ZH.TRTC.startLocalAudio),cW("audio",((e,t)=>{let[r]=e,[i]=t;var o,n;return(null==(o=null==r?void 0:r.option)?void 0:o.microphoneId)===(null==(n=null==i?void 0:i.option)?void 0:n.microphoneId)})),PW()],Rj.prototype,"startLocalAudio",1),tw([kW(ZH.TRTC.updateLocalAudio),lW("audio",{debounce:{delay:200,getKey:()=>"".concat(Ij,"-localAudio"),isNeedToDebounce:e=>{var t;return!FD(null==(t=e.option)?void 0:t.captureVolume)}}}),PW()],Rj.prototype,"updateLocalAudio",1),tw([dW("audio"),PW()],Rj.prototype,"stopLocalAudio",1),tw([kW(ZH.TRTC.startLocalVideo),cW("video",((e,t)=>{let[r]=e,[i]=t;var o,n;return(null==(o=null==r?void 0:r.option)?void 0:o.cameraId)===(null==(n=null==i?void 0:i.option)?void 0:n.cameraId)})),PW()],Rj.prototype,"startLocalVideo",1),tw([kW(ZH.TRTC.updateLocalVideo),lW("video"),PW()],Rj.prototype,"updateLocalVideo",1),tw([dW("video"),PW()],Rj.prototype,"stopLocalVideo",1),tw([kW(ZH.TRTC.startScreenShare),cW("screen",(()=>!0)),PW()],Rj.prototype,"startScreenShare",1),tw([kW(ZH.TRTC.updateScreenShare),lW("screen"),PW()],Rj.prototype,"updateScreenShare",1),tw([PW()],Rj.prototype,"stopScreenShare",1),tw([kW(ZH.TRTC.startRemoteVideo),cW((e=>"v".concat(e.userId).concat(e.streamType)),(()=>!0)),PW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],Rj.prototype,"startRemoteVideo",1),tw([kW(ZH.TRTC.updateRemoteVideo),lW((e=>"v".concat(e.userId).concat(e.streamType))),PW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],Rj.prototype,"updateRemoteVideo",1),tw([kW(ZH.TRTC.stopRemoteVideo),yU((e=>function(t){return ow(this,null,(function*(){if("*"===t.userId){let e=[];return this._room.remotePublishedUserMap.forEach((t=>{this._remoteVideoConfigMap.has("".concat(t.userId,"_main"))&&e.push(this.stopRemoteVideo({streamType:"main",userId:t.userId}).catch((()=>{}))),this._remoteVideoConfigMap.has("".concat(t.userId,"_sub"))&&e.push(this.stopRemoteVideo({streamType:"sub",userId:t.userId}).catch((()=>{})))})),Promise.all(e)}return e.call(this,t)}))})),PW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],Rj.prototype,"stopRemoteVideo",1),tw([dW((e=>"v".concat(e.userId).concat(e.streamType)))],Rj.prototype,"_stopRemoteVideo",1),tw([kW(...ZH.TRTC.muteRemoteAudio),PW({getRemoteId:e=>e})],Rj.prototype,"muteRemoteAudio",1),tw([OW(...ZH.TRTC.setRemoteAudioVolume),function(e,t){return yU(((r,i)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a=DW.get(this);a||(a=new Map,DW.set(this,a));let s=t(...o),c=a.get(s);if(!c||c<=0){r.apply(this,o);let t=setTimeout((()=>{var e;null==(e=DW.get(this))||e.delete(s)}),e);a.set(s,t)}else{clearTimeout(c);let t=window.setTimeout((()=>{var e;r.apply(this,o),null==(e=DW.get(this))||e.delete(s)}),e);a.set(s,t)}}))}(200,(e=>e)),PW({getRemoteId:e=>e})],Rj.prototype,"setRemoteAudioVolume",1),tw([UW("start"),vU((e=>{var t;return null==(t=e.afterStart)?void 0:t.call(e)})),cW(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),PW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>hL[e.getName()],ignoreLog:e=>"Debug"===e.getName(),ignoreErrorLog:e=>"AudioProcessor"===e.getName()})],Rj.prototype,"startPlugin",1),tw([UW("update"),lW(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t)),{merge:(e,t)=>(sN(e[1],t[1]),e)}),PW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>pL[e.getName()]})],Rj.prototype,"updatePlugin",1),tw([UW("stop"),dW(((e,t)=>{if(e.disableRandomCall)return null;let r=e.getGroup(t),i=e.getAlias();return"*"===r?new RegExp("".concat(i,".*")):i+r})),PW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>mL[e.getName()]})],Rj.prototype,"stopPlugin",1),tw([OW(...ZH.TRTC.enableAudioVolumeEvaluation)],Rj.prototype,"enableAudioVolumeEvaluation",1),tw([PW()],Rj.prototype,"getVideoSnapshot",1),tw([PW()],Rj.prototype,"_setCurrentSpeaker",1),tw([cW((e=>"a".concat(e.userId)),(()=>!0))],Rj.prototype,"_startRemoteAudio",1),tw([yU((e=>function(t){return ow(this,null,(function*(){return"*"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio($b(Xb({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),dW((e=>"a".concat(e.userId)))],Rj.prototype,"_stopRemoteAudio",1),tw([dW("room")],Rj.prototype,"_exitRoom",1),tw([dW("screen")],Rj.prototype,"_stopScreenShare",1),tw([kW(...ZH.TRTC.sendSEIMessage),DH({timesInSecond:30,maxSizeInSecond:8e3,getSize:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].byteLength}})],Rj.prototype,"sendSEIMessage",1),tw([kW(ZH.TRTC.sendCustomMessage),DH({timesInSecond:30,maxSizeInSecond:8e3,getSize:e=>e.data.byteLength})],Rj.prototype,"sendCustomMessage",1),tw([kW(ZH.TRTC.create)],Rj,"_create",1);var bj=Rj,wj=class{constructor(e,t){rw(this,"_flag"),rw(this,"terminalType"),rw(this,"userId"),rw(this,"tinyId"),rw(this,"role"),rw(this,"remoteAudioTrack"),rw(this,"remoteVideoTrack"),rw(this,"remoteAuxiliaryTrack"),this.userId=t.userId||"",this.tinyId=t.tinyId||"",this.role=t.role||"audience",this.terminalType=t.terminalType,this.remoteAudioTrack=new UB(e,this),this.remoteVideoTrack=new VB(e,this),this.remoteAuxiliaryTrack=new FB(e,this),this.flag=t.flag||0}get subscribeState(){let e={audio:!1,video:!1,auxiliary:!1,smallVideo:!1};return this.remoteVideoTrack.isSubscribed&&(8&this.remoteVideoTrack.mediaType?e.smallVideo=!0:e.video=!0),this.remoteAudioTrack.isSubscribed&&(e.audio=!0),this.remoteAuxiliaryTrack.isSubscribed&&(e.auxiliary=!0),e}get muteState(){return oN(this.flag,this.userId)}get flag(){return this._flag}set flag(e){if(e===this._flag)return;let t,r=this.muteState;this._flag=e;let i=this.muteState;for(t in i)r[t]!=i[t]&&console.log(this.userId,t,r[t],"->",i[t]);this.remoteAudioTrack.onFlagChanged(),this.remoteVideoTrack.onFlagChanged(),this.remoteAuxiliaryTrack.onFlagChanged()}},Cj=class{constructor(){rw(this,"_set",new Set),WO.on(GO.LEAVE_SUCCESS,this.delete,this),WO.on(GO.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess,this)}add(e){let{room:t,roomId:r}=e;if("rtc"===t.scene)return;let i=this.getKey(t.userId,r||t.roomId,t.sdkAppId,t.useStringRoomId);this._set.add(i)}delete(e){let{room:t,roomId:r}=e;if("rtc"===t.scene)return;let i=this.getKey(t.userId,t.roomId||r,t.sdkAppId,t.useStringRoomId);this._set.delete(i)}getKey(e,t,r,i){return"".concat(r,"_").concat(t,"_").concat(e,"_").concat(i)}isJoined(e){let{userId:t,roomId:r,sdkAppId:i,room:o}=e;return"rtc"!==o.scene&&this._set.has(this.getKey(t,r,i,o.useStringRoomId))}handleSwitchRoomSuccess(e){let{room:t,currentRoomId:r,targetRoomId:i}=e;"rtc"!==t.scene&&(this._set.delete(this.getKey(t.userId,r,t.sdkAppId,t.useStringRoomId)),this._set.add(this.getKey(t.userId,i,t.sdkAppId,t.useStringRoomId)))}};function Dj(){return ow(this,null,(function*(){let e,t;try{let t=yield eU();e=t&&t.length}catch(p){}try{let e=yield tU();t=e&&e.length}catch(p){}let r={microphone:e,camera:t},{isH264EncodeSupported:i,isVp8EncodeSupported:o,isH264DecodeSupported:n,isVp8DecodeSupported:a,isH265EncodeSupported:s,isH265DecodeSupported:c}=this.checkSystemResult.detail,l=XO.basis(),d={webRTC:l.isWebRTCSupported,getUserMedia:l.isGetUserMediaSupported,webSocket:l.isWebSocketsSupported,screenShare:l.isScreenShareSupported,webAudio:l.isWebAudioSupported,h264Encode:i,h264Decode:n,vp8Encode:o,vp8Decode:a,h265Encode:s,h265Decode:c},u={browser:l.browser,os:l.os,trtc:d,devices:r},h={isWebCodecSupported:l.isWebCodecSupported,isMediaSessionSupported:l.isMediaSessionSupported,isWebTransportSupported:l.isWebTransportSupported};qP.uploadEvent({log:"trtcstats-".concat(JSON.stringify(u)),userId:this.userId}),this._log.info("TrtcStats-".concat(JSON.stringify(u))),qP.uploadEvent({log:"trtcadvancedstats-".concat(JSON.stringify(h)),userId:this.userId}),IP()}))}var Nj=class{constructor(e){rw(this,"_frameWorkType"),rw(this,"_component"),rw(this,"_language"),rw(this,"connectionType"),rw(this,"_room"),rw(this,"_signalInfo",{tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0,endReportExtend:void 0,reportToken:void 0}),rw(this,"_keyPrefix"),rw(this,"_log"),rw(this,"_intervalId"),rw(this,"_firstPublishedUserList"),rw(this,"_networkQuality"),rw(this,"_basicInfo"),rw(this,"_pathJoinRoom"),rw(this,"_pathLeaveRoom"),rw(this,"_pathMainVideoMap"),rw(this,"_pathMainAudioMap"),rw(this,"_pathAuxiliaryMap"),rw(this,"_remoteStreamStatMap"),rw(this,"_localStreamStat"),rw(this,"_eventMap",new Map),rw(this,"_captureCostSum",0),rw(this,"_captureCostCount",0),rw(this,"isDestroyed",!1),this._frameWorkType=e.frameWorkType||30,this._component=e.component||0,this.connectionType=e.connectionType||1,this._language=e.language||0,this._room=e.room,this._keyPrefix="key_point",this._log=qO.createLogger({id:"kpm",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith("handle")&&VD(this[e])&&(this[e]=function(e){let{fn:t,context:r}=e;return function(){try{for(var e=arguments.length,i=new Array(e),o=0;o<e;o++)i[o]=arguments[o];let n=t.apply(r,i);return qD(n)?n.catch((e=>qO.error("".concat(t.name,"() error observed ").concat(e)))):n}catch(RC){qO.error("".concat(t.name,"() error observed ").concat(RC))}}}({fn:this[e],context:this}))})),this.initData(),this.installEvents()}initData(){this._firstPublishedUserList=[],this._networkQuality={totalUplinkRTT:0,totalUplinkLoss:0,count:0,totalDownlinkRTTAndLossMap:new Map},this._basicInfo={string_sdk_version:Tw,uint32_os_type:15,string_device_name:"",string_http_user_agent:navigator.userAgent,string_os_version:"",uint32_avg_rtt:0,uint32_avg_up_loss:0,uint32_scene:"live"===this._room.scene?1:0,uint32_joining_duration:0,uint32_networkType:0,uint32_framework:this._frameWorkType,uint32_component:this._component,uint32_connection_type:this.connectionType,uint32_caller_coding_language:this._language,string_domain:location.hostname},this._pathJoinRoom={uint64_start_time:0,uint64_send_request_acc_ip_cmd_start_time:0,uint64_send_request_acc_ip_cmd_end_time:0,uint64_send_request_enter_room_cmd_start_time:0,uint64_send_request_enter_room_cmd_end_time:0,uint64_send_first_video_frame_time:0,uint64_recv_userlist_time:0,uint64_end_time:0,int32_send_request_acc_ip_cmd_ret:0,int32_send_request_enter_room_cmd_ret:0,int32_end_ret:0},this._pathLeaveRoom={uint64_start_time:0,uint64_send_request_exit_room_cmd_start_time:0,uint64_send_request_exit_room_cmd_end_time:0,uint64_end_time:0,int32_send_request_exit_room_cmd_ret:0,int32_end_ret:0},this._localStreamStat={totalVideoBitrate:0,totalVideoFPS:0,totalVideoHeight:0,totalVideoWidth:0,totalAudioLevel:0,videoCount:0,audioLevelCount:0,publishStartTime:0,statsToReport:{uint32_audio_capture_db:0,uint32_video_big_capture_fps:0,uint32_video_big_bitrate:0,uint32_video_big_resolution:0}},this._pathMainVideoMap=new Map,this._pathMainAudioMap=new Map,this._pathAuxiliaryMap=new Map,this._remoteStreamStatMap=new Map,NO().then((()=>{this._basicInfo.string_os_version=VO(),this._basicInfo.string_device_name=OO()||this._basicInfo.string_os_version}))}addEvent(e,t){return this._eventMap.set(e,t),WO.on(e,t),this}installEvents(){this.handleUnload=this.handleUnload.bind(this),window.addEventListener("pagehide",this.handleUnload),this._room.once("banned",(()=>this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId}))),this.addEvent(GO.JOIN_START,this.handleJoinStart).addEvent(GO.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(GO.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(GO.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(GO.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(GO.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(GO.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(GO.JOIN_FAILED,this.handleJoinFailed).addEvent(GO.LEAVE_START,this.handleLeaveStart).addEvent(GO.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(GO.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(GO.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(GO.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(GO.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(GO.PUBLISH_START,this.handlePublishStart).addEvent(GO.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(GO.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(GO.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(GO.PLAY_TRACK_START,this.handlePlayStart).addEvent(GO.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(GO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,type:i}=e;!t.isRemote||!this.hitTest(t.room)||"PLAYING"===r&&(i===$w.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(GO.SWITCH_ROOM_START,this.handleSwitchRoomStart).addEvent(GO.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess).addEvent(GO.SWITCH_ROOM_FAILED,this.handleSwitchRoomFailed).addEvent(GO.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(GO.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(GO.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(GO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;if(!this.hitTest(t))return;let o=r.hasAudio||r.hasVideo||r.hasSmall,n=r.hasAuxiliary,a=i.hasAudio||i.hasVideo||i.hasSmall,s=i.hasAuxiliary;!o&&a&&this.handleRemoteStreamAdded(i.userId,"main"),!n&&s&&this.handleRemoteStreamAdded(i.userId,"auxiliary")})).addEvent(GO.SINGLE_CONNECTION_STAT,(e=>{let{room:t,stat:r}=e;this.hitTest(t)&&(this._pathJoinRoom.int32_ice_cost=r.ice,this._pathJoinRoom.int32_dtls_cost=r.dtls,this._pathJoinRoom.int32_peer_connection_cost=r.peerConnection)}))}uninstallEvents(){window.removeEventListener("pagehide",this.handleUnload),this._eventMap.forEach(((e,t)=>WO.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),HP.clearTask(this._intervalId),0===this._pathJoinRoom.uint64_start_time&&(this._room=null),this.isDestroyed=!0}handleUnload(){this._room.isJoined&&this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId})}handleJoinStart(e){this.hitTest(e.room)&&(0===this._pathJoinRoom.uint64_start_time&&(this._pathJoinRoom.uint64_start_time=Date.now()),e.params&&(FD(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),FD(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),FD(e.params.language)||(this._language=e.params.language,this._basicInfo.uint32_caller_coding_language=this._language)))}handleJoinScheduleSuccess(e){let{room:t,detailCost:r}=e;if(this.hitTest(t)&&r){let{totalCost:e,local:t,dns:i,tcp:o,tls:n,request:a,response:s}=r;this._pathJoinRoom.int32_schedule_cost=e,this._pathJoinRoom.int32_schedule_local=t,this._pathJoinRoom.int32_schedule_dns=i,this._pathJoinRoom.int32_schedule_tcp=o,this._pathJoinRoom.int32_schedule_tls=n,this._pathJoinRoom.int32_schedule_request=a,this._pathJoinRoom.int32_schedule_response=s}}handleSignalConnectionStart(e){let{room:t}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_request_acc_ip_cmd_start_time&&(this._pathJoinRoom.uint64_send_request_acc_ip_cmd_start_time=Date.now())}handleSignalConnectionEnd(e){let{room:t,error:r}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_request_acc_ip_cmd_end_time&&(this._pathJoinRoom.uint64_send_request_acc_ip_cmd_end_time=Date.now(),r&&(this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret=r instanceof pw?Number(r.getExtraCode()||r.getCode()):uw.UNKNOWN,this._pathJoinRoom.int32_end_ret=this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret))}handleJoinSendCMD(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time&&(this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time=Date.now())}handleJoinReceivedCMDResponce(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time&&(this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=Date.now(),this._pathJoinRoom.int32_send_request_enter_room_cmd_ret=e.code,0!==e.code&&(this._pathJoinRoom.int32_end_ret=this._pathJoinRoom.int32_send_request_enter_room_cmd_ret))}handleJoinSuccess(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_end_time&&(this._pathJoinRoom.uint64_end_time=Date.now(),this._pathJoinRoom.int32_end_ret=0,this._signalInfo=e.room.getSignalInfo())}handleJoinFailed(e){let{room:t,error:r}=e;this.hitTest(t)&&(this._pathJoinRoom.uint64_end_time=Date.now(),0===this._pathJoinRoom.int32_end_ret&&(this._pathJoinRoom.int32_end_ret=r.code||this._pathJoinRoom.int32_send_request_enter_room_cmd_ret||this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret),setTimeout((()=>{this.report()})))}handleReceivedPublishUserList(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_recv_userlist_time&&(this._pathJoinRoom.uint64_recv_userlist_time=Date.now(),this._firstPublishedUserList=e.publishedUserList||[])}handleSendFirstVideoFrame(e){let{room:t}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_first_video_frame_time&&0!==this._pathJoinRoom.uint64_start_time&&(this._pathJoinRoom.uint64_send_first_video_frame_time=Date.now())}handleLeaveStart(e){this.hitTest(e.room)&&(this._pathLeaveRoom.uint64_start_time=Date.now())}handleLeaveSuccess(e){this.hitTest(e.room)&&0===this._pathLeaveRoom.uint64_end_time&&(this._pathLeaveRoom.uint64_end_time=Date.now(),0!==this._pathJoinRoom.uint64_end_time?this._basicInfo.uint32_joining_duration=this._pathLeaveRoom.uint64_end_time-this._pathJoinRoom.uint64_end_time:this._log.warn("pathJoinRoom endTime is 0"),this.report())}handleLeaveSendCMD(e){this.hitTest(e.room)&&(this._pathLeaveRoom.uint64_send_request_exit_room_cmd_start_time=Date.now(),this._pathLeaveRoom.uint64_send_request_exit_room_cmd_end_time=Date.now())}handleSwitchRoomStart(e){if(this.hitTest(e.room)){let e=Date.now();this.report().then((()=>{this._pathJoinRoom.uint64_start_time=e,this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time=e}))}}handleSwitchRoomSuccess(e){let{room:t}=e;if(this.hitTest(t)&&0===this._pathJoinRoom.uint64_end_time){let e=Date.now();this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=e,this._pathJoinRoom.uint64_end_time=e,this._pathJoinRoom.int32_end_ret}}handleSwitchRoomFailed(e){let{room:t,error:r}=e;if(this.hitTest(t)){let e=Date.now();this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=e,this._pathJoinRoom.uint64_end_time=e,r&&(this._pathJoinRoom.int32_end_ret=r instanceof pw?Number(r.getExtraCode()||r.getCode()):uw.UNKNOWN)}}handleRemoteStreamAdded(e,t){var r;let i="".concat(e,"_").concat(t);if(!this._remoteStreamStatMap.has(i)){let o={userId:e,totalVideoFPS:0,totalVideoBitrate:0,totalAudioLevel:0,totalAudioBitrate:0,totalLoss:0,audioCount:0,audioLevelCount:0,videoCount:0,networkQualityCount:0,streamAddedTime:Date.now(),subscribeStartTime:0,subscribedTime:0,playStreamTime:0,statsToReport:$b(Xb({},Oj),{msg_user_info:new Mj({userId:e,tinyId:null==(r=this._room.remotePublishedUserMap.get(e))?void 0:r.tinyId,role:20})})};o.statsToReport.uint32_stream_type="main"===t?2:7,this._remoteStreamStatMap.set(i,o)}}handleSubscribeStart(e){let{room:t,remotePublishedUser:r,streamType:i,subscribeState:o}=e;if(!this.hitTest(t))return;let{userId:n,tinyId:a,role:s}=r,c=new Mj({userId:n,tinyId:a,role:"anchor"===s?20:21}),l=Date.now(),d="".concat(n,"_").concat(i),u=this._remoteStreamStatMap.get(d);u&&0===u.subscribeStartTime&&(u.subscribeStartTime=l),"main"===i?(r.muteState.hasVideo&&(o.video||o.smallVideo)&&!this._pathMainVideoMap.has(d)&&this._pathMainVideoMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_render_first_frame_time:0,uint64_combine_first_frame_time:0},userId:n,sendSubscribeCMDTime:l}),r.muteState.hasAudio&&o.audio&&!this._pathMainAudioMap.has(d)&&this._pathMainAudioMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_play_first_frame_time:0},userId:n,sendSubscribeCMDTime:l})):r.muteState.hasAuxiliary&&o.auxiliary&&!this._pathAuxiliaryMap.has(d)&&this._pathAuxiliaryMap.set(d,{sendSubscribeCMDTime:l})}handleSubscribed(e){let{room:t,remotePublishedUser:r,streamType:i}=e;if(this.hitTest(t)){let e="".concat(r.userId,"_").concat(i),t=this._remoteStreamStatMap.get(e);t&&0===t.subscribedTime&&(t.subscribedTime=Date.now())}}handlePlayStart(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room))return;let r="".concat(t.userId,"_").concat(t.streamType),i=this._remoteStreamStatMap.get(r);0===(null==i?void 0:i.playStreamTime)&&(i.playStreamTime=Date.now())}handleVideoLoadedData(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room))return;let r="".concat(t.userId,"_").concat(t.streamType),i=this._pathMainVideoMap.get(r);i&&0===i.statsToReport.uint64_combine_first_frame_time&&(i.statsToReport.uint64_combine_first_frame_time=Date.now())}handleVideoPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),r=Date.now(),i=this._pathMainVideoMap.get(t),o=this._remoteStreamStatMap.get(t);if(o){let{statsToReport:t}=o;if(t.uint32_video_render_first||"main"!==e.streamType?this.hasAuxFlag(e.userId):this.hasVideoFlag(e.userId)){let e=r-this._pathJoinRoom.uint64_start_time;t.uint32_video_render_first=e,EL.addNumber({key:516820,value:e})}}0===(null==i?void 0:i.statsToReport.uint64_render_first_frame_time)&&(i.statsToReport.uint64_render_first_frame_time=r)}handleAudioPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),r=this._pathMainAudioMap.get(t);r&&0===r.statsToReport.uint64_play_first_frame_time&&(r.statsToReport.uint64_play_first_frame_time=Date.now())}handleNetworkQuality(e){this.hitTest(e.room)&&(this._networkQuality.totalUplinkLoss+=e.uplink.loss,this._networkQuality.totalUplinkRTT+=e.uplink.rtt,this._networkQuality.count++,e.downlinks.forEach((e=>{let{rtt:t,loss:r,userId:i,videoDelay:o,audioDelay:n}=e,a=this._networkQuality.totalDownlinkRTTAndLossMap.get(i);if(a)a.totalRTT+=t,a.totalLoss+=r,o&&(a.totalVideoDelay=(a.totalVideoDelay||0)+o,a.videoDelayCount=(a.videoDelayCount||0)+1),n&&(a.totalAudioDelay=(a.totalAudioDelay||0)+n,a.audioDelayCount=(a.audioDelayCount||0)+1),a.count++;else{let e,a,s,c;o&&(a=o,s=1),n&&(e=n,c=1),this._networkQuality.totalDownlinkRTTAndLossMap.set(i,{totalRTT:t,totalLoss:r,count:1,totalAudioDelay:e,totalVideoDelay:a,audioDelayCount:c,videoDelayCount:s})}})))}handleHeartbeatStats(e){if(this.hitTest(e.room)){let{msg_device_info:t,msg_up_stream_info:r,msg_down_stream_info:i}=e.report;if(r.msg_video_status[0]){let{uint32_video_codec_bitrate:e,uint32_video_enc_fps:t,uint32_video_width:i,uint32_video_height:o}=r.msg_video_status[0];this._localStreamStat.totalVideoBitrate+=e,this._localStreamStat.totalVideoFPS+=t,this._localStreamStat.totalVideoWidth+=i,this._localStreamStat.totalVideoHeight+=o,this._localStreamStat.videoCount++}if(r.msg_audio_status){let{uint32_audio_level:e}=r.msg_audio_status;Math.floor(e/jM*100)>0&&(this._localStreamStat.totalAudioLevel+=e/jM,this._localStreamStat.audioLevelCount++)}i.forEach((e=>{let{msg_user_info:t,msg_audio_status:r,msg_video_status:i}=e,o=t.str_identifier,n=this._room.remotePublishedUserMap.get(o);if(i.forEach((e=>{let t=2===e.uint32_video_stream_type,r=7===e.uint32_video_stream_type,i="".concat(o,"_").concat(t?"main":"auxiliary"),a=this._remoteStreamStatMap.get(i);if(a&&(t&&null!=n&&n.remoteVideoTrack.isSubscribed||r&&null!=n&&n.remoteAuxiliaryTrack)){a.totalVideoFPS+=e.uint32_video_receive_fps,a.totalVideoBitrate+=e.uint32_video_codec_bitrate,a.videoCount++,0===a.statsToReport.uint32_video_width&&(a.statsToReport.uint32_video_width=e.uint32_video_width),0===a.statsToReport.uint32_video_height&&(a.statsToReport.uint32_video_height=e.uint32_video_height);let r=t?n.remoteVideoTrack:n.remoteAuxiliaryTrack;r.stat.jitterBufferDelay&&(a.videoJitterBufferDelay=r.stat.jitterBufferDelay),r.stat.framesReceived&&(a.statsToReport.uint32_video_consume_render_rate=Math.floor(r.stat.framesDecoded/r.stat.framesReceived*Yb(10,6)))}})),!iN(r)){let e="".concat(o,"_main"),t=this._remoteStreamStatMap.get(e);this._remoteStreamStatMap.has(e)&&t&&null!=n&&n.remoteAudioTrack.isSubscribed&&(t.totalAudioBitrate+=r.uint32_audio_codec_bitrate,t.audioCount++,n.remoteAudioTrack.stat.jitterBufferDelay&&(t.audioJitterBufferDelay=n.remoteAudioTrack.stat.jitterBufferDelay),Math.floor(r.uint32_audio_level/jM*100)>0&&(t.totalAudioLevel+=r.uint32_audio_level/jM,t.audioLevelCount++))}})),t.uint32_audio_capture_cost&&(this._captureCostSum+=t.uint32_audio_capture_cost,this._captureCostCount+=1,this._captureCostCount>=100&&(this._basicInfo.uint32_audio_capture_cost=Math.floor(this._captureCostSum/this._captureCostCount),this._captureCostSum=0,this._captureCostCount=0))}}handlePublishStart(e){let{room:t}=e;this.hitTest(t)&&0===this._localStreamStat.publishStartTime&&(this._localStreamStat.publishStartTime=Date.now())}handleTrackCaptureStart(e){let{track:t}=e;1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_start_time&&(this._pathJoinRoom.uint64_init_audio_start_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_start_time&&(this._pathJoinRoom.uint64_init_camera_start_time=Date.now())}handleTrackCaptureSuccess(e){let{track:t}=e;1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=0,this._pathJoinRoom.uint64_init_audio_end_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_end_time&&(this._pathJoinRoom.int32_init_camera_ret=0,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}handleTrackCaptureFailed(e){let{track:t,error:r}=e,i={NotFoundError:1,NotAllowedError:2,NotReadableError:3,OverConstrainedError:4,AbortError:5,InvalidStateError:6,SecurityError:7,TypeError:8}[r.name]||(r instanceof pw?r.getExtraCode()||r.getCode():uw.UNKNOWN);1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=i,this._pathJoinRoom.uint64_init_audio_end_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_end_time&&(this._pathJoinRoom.int32_init_camera_ret=i,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}hasVideoFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&tC))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&oC))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&iC))>=0}hitTest(e){return e===this._room}prepareReport(){if(this._captureCostCount>0&&!this._basicInfo.uint32_audio_capture_cost&&(this._basicInfo.uint32_audio_capture_cost=Math.floor(this._captureCostSum/this._captureCostCount),this._captureCostSum=0,this._captureCostCount=0),this._networkQuality.count>0&&(this._basicInfo.uint32_avg_rtt=Math.floor(this._networkQuality.totalUplinkRTT/this._networkQuality.count),this._basicInfo.uint32_avg_up_loss=Math.floor(this._networkQuality.totalUplinkLoss/this._networkQuality.count)),this._localStreamStat.videoCount>0){this._localStreamStat.statsToReport.uint32_video_big_capture_fps=Math.floor(this._localStreamStat.totalVideoFPS/this._localStreamStat.videoCount),this._localStreamStat.statsToReport.uint32_video_big_bitrate=Math.floor(this._localStreamStat.totalVideoBitrate/this._localStreamStat.videoCount);let e=Math.floor(this._localStreamStat.totalVideoWidth/this._localStreamStat.videoCount),t=Math.floor(this._localStreamStat.totalVideoHeight/this._localStreamStat.videoCount);this._localStreamStat.statsToReport.uint32_video_big_resolution=e<<16|t}this._localStreamStat.audioLevelCount>0&&(this._localStreamStat.statsToReport.uint32_audio_capture_db=Math.floor(this._localStreamStat.totalAudioLevel/this._localStreamStat.audioLevelCount*100)),this._remoteStreamStatMap.forEach(((e,t)=>{let{userId:r}=e,i=this._networkQuality.totalDownlinkRTTAndLossMap.get(r);if(i){let{totalLoss:t,count:r,audioDelayCount:o,videoDelayCount:n,totalAudioDelay:a,totalVideoDelay:s}=i;e.statsToReport.uint32_avg_down_loss=Math.floor(t/r),o&&a&&(e.statsToReport.uint32_audio_network_p2p_delay=Math.floor(a/o),e.audioJitterBufferDelay&&(e.statsToReport.uint32_p2p_delay=Math.floor(e.statsToReport.uint32_audio_network_p2p_delay+e.audioJitterBufferDelay))),n&&s&&(e.statsToReport.uint32_video_network_p2p_delay=Math.floor(s/n))}e.videoCount>0&&(e.statsToReport.uint32_video_avg_fps=Math.floor(e.totalVideoFPS/e.videoCount),e.statsToReport.uint32_video_avg_bitrate=Math.floor(e.totalVideoBitrate/e.videoCount)),e.audioCount>0&&(e.statsToReport.uint32_audio_recv_bitrate=e.statsToReport.uint32_audio_bitrate=Math.floor(e.totalAudioBitrate/e.audioCount)),e.audioLevelCount>0&&(e.statsToReport.uint32_audio_play_db=Math.floor(e.totalAudioLevel/e.audioLevelCount*100));let{callDurationCalculator:o}=this._room;o&&(e.statsToReport.uint32_audio_play_time=o.getDuration(t,$w.AUDIO),e.statsToReport.uint32_video_play_time=o.getDuration(t,$w.VIDEO)),e.statsToReport.uint32_video_render_first&&(e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,kj));let{badCaseDetector:n}=this._room,{dataFreeze:a,count:s}=n.getDataFreezeDuration(t),{renderFreeze:c}=n.getRenderFreezeDuration(t);e.statsToReport.uint32_video_block_count=s,e.statsToReport.uint32_video_block_time=Math.min(a,e.statsToReport.uint32_video_play_time),e.statsToReport.uint32_video_external_block_time=Math.min(c,e.statsToReport.uint32_video_play_time),n.isBlackStream(t)&&0===e.statsToReport.uint32_video_avg_fps?e.statsToReport.uint32_video_black_screen_subjective=1:e.statsToReport.uint32_video_black_screen_subjective=0})),this._pathMainAudioMap.forEach(((e,t)=>{this.hasAudioFlag(e.userId)?e.statsToReport.uint64_play_first_frame_time-e.statsToReport.uint64_start_enter_time>kj&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+kj):this._pathMainAudioMap.delete(t)})),this._pathMainVideoMap.forEach(((e,t)=>{this.hasVideoFlag(e.userId)?e.statsToReport.uint64_render_first_frame_time-e.statsToReport.uint64_start_enter_time>kj&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+kj):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>kj&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+kj)}getReportData(){this._basicInfo.uint32_networkType=bD();let e={uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new Mj({userId:this._room.userId,tinyId:this._room.tinyId,role:"anchor"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:aN(this._signalInfo.relayIp),uint32_client_ip:aN(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(Math.random()*Yb(2,31)),msg_path_enter_room:this._pathJoinRoom,msg_path_exit_room:this._pathLeaveRoom,msg_path_recv_video:[...this._pathMainVideoMap.values()].map((e=>e.statsToReport)),msg_quality_statistics:[...this._remoteStreamStatMap.values()].map((e=>e.statsToReport)),str_room_name:String(this._room.roomId||0),msg_path_recv_audio:[...this._pathMainAudioMap.values()].map((e=>e.statsToReport)),uint32_info_client_ip:aN(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,bytes_report_buf_from_0x1:this._signalInfo.endReportExtend,str_user_sig:this._room.userSig,bytes_report_token:this._signalInfo.reportToken};return EN(e),e}report(){return ow(this,null,(function*(){try{this.prepareReport();let e=this.getReportData();yield this.upload(e),this.initData()}catch(tM){this._log.warn(tM)}finally{this.isDestroyed&&(this._room=null)}}))}upload(e){return ow(this,null,(function*(){if(0===e.msg_path_enter_room.uint64_start_time)return;let t=Number(this._room.sdkAppId),r=zO.enable?CN(e,2001,t):yield UN(e),i=r instanceof ArrayBuffer,o="".concat(TD(t,Fw.KEY_POINT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r));let a=[this.uploadKVStat(EL),this.uploadKVStat(gL)];n||a.push(xN({url:o,body:r,priority:"low"})),yield Promise.all(a)}))}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}uploadKVStat(e){return ow(this,null,(function*(){let t=e.getReportData(this._room.userSig,this._signalInfo.reportToken);if(0===t.stats_count.length&&0===t.stats_distribution.length)return;t.msg_sdk_basic_info=$b(Xb({},t.msg_sdk_basic_info),{bytes_device_name:this._basicInfo.string_device_name||"",bytes_os_version:this._basicInfo.string_os_version||"",uint32_framework:this._frameWorkType,uint32_network_type:this._basicInfo.uint32_networkType||0}),this._log.debug(t);let r=zO.enable?CN(t,2003,this._room.sdkAppId):yield UN(t),i=r instanceof ArrayBuffer,o="".concat(TD(+this._room.sdkAppId,Fw.KV_STAT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r)),n||xN({url:o,body:r})}))}};tw([JP({settings:{timeout:500,retries:3}})],Nj.prototype,"upload",1);var kj=5e3,Oj={msg_user_info:null,uint32_video_avg_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_avg_bitrate:0,uint32_video_block_time:0,uint32_video_play_time:0,uint32_audio_block_time:0,uint32_audio_play_time:0,uint32_audio_play_db:0,uint32_avg_down_loss:0,uint32_stream_type:0,uint32_video_block_count:0,uint32_audio_block_count:0,uint32_audio_bitrate:0,uint32_video_black_screen_subjective:0,uint32_audio_recv_bitrate:0,uint32_video_external_block_time:0,uint32_video_consume_render_rate:0},Mj=class{constructor(e){rw(this,"str_identifier"),rw(this,"str_tinyid"),rw(this,"uint32_role"),this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},Lj=Nj,Pj=class{constructor(){rw(this,"_startTime"),rw(this,"_endTime"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=ZD())}stop(){0===this._endTime&&(this._endTime=ZD())}getDuration(){return 0===this._endTime?ZD()-this._startTime:this._endTime-this._startTime}get startTime(){return this._startTime}get endTime(){return this._endTime}},xj=class{constructor(e){rw(this,"_room",null),rw(this,"_durationMap"),rw(this,"_eventMap",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(GO.REMOTE_TRACK_SUBSCRIBED,this.handleSubscribed).set(GO.REMOTE_TRACK_UNSUBSCRIBED,this.handleUnsubscribed).set(GO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;var o;let{userId:n}=i;if(!this.hitTest(t))return;r.hasAudio&&!i.hasAudio&&this.stopDurationItem("".concat(n,"_main"),$w.AUDIO),r.hasVideo&&!i.hasVideo&&this.stopDurationItem("".concat(n,"_main"),$w.VIDEO),r.hasAuxiliary&&!i.hasAuxiliary&&this.stopDurationItem("".concat(n,"_auxiliary"),$w.VIDEO);let a=null==(o=this._room)?void 0:o.remotePublishedUserMap.get(n);a&&(!r.hasAudio&&i.hasAudio&&a.remoteAudioTrack.isSubscribed&&this.addDuractionItem(n,$w.AUDIO,"main"),!r.hasVideo&&i.hasVideo&&a.remoteVideoTrack.isSubscribed&&this.addDuractionItem(n,$w.VIDEO,"main"),!r.hasAuxiliary&&i.hasAuxiliary&&a.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(n,$w.VIDEO,"auxiliary"))})),this._eventMap.forEach(((e,t)=>WO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>WO.off(t,e,this))),this._eventMap.clear()}handleSubscribed(e){let{track:t}=e;if(!this.hitTest(t.room))return;let{userId:r,streamType:i,kind:o}=t;t.isSubscribed?this.addDuractionItem(r,o,i):this.stopDurationItem("".concat(r,"_").concat(i),o)}handleUnsubscribed(e){let{track:t}=e;this.hitTest(t.room)&&this.stopDurationItem("".concat(t.userId,"_").concat(t.streamType),t.kind)}isRecording(e){return e.findIndex((e=>0===e.endTime))>=0}addDuractionItem(e,t,r){let i="".concat(e,"_").concat(r),o=new Pj,n=this._durationMap.get(i);n?this.isRecording(n[t])||n[t].push(o):this._durationMap.set(i,{userId:e,type:r,audio:t===$w.AUDIO?[o]:[],video:t===$w.AUDIO?[]:[o]})}stopDurationItem(e,t){if(this._durationMap.has(e)){let r=this._durationMap.get(e)[t].find((e=>0===e.endTime));r&&r.stop()}}hitTest(e){return this._room===e}getDuration(e,t){return this._durationMap.has(e)?this._durationMap.get(e)[t].reduce(((e,t)=>e+t.getDuration()),0):0}getDurationMap(){return this._durationMap}reset(){this._durationMap.clear()}destroy(){this._room=null,this.uninstallEvents()}},Uj=class{constructor(e){rw(this,"_room"),rw(this,"_renderFreezeMap",new Map),rw(this,"_isVideoPlayingEventFiredMap",new Map),rw(this,"_dataFreezeMap",new Map),rw(this,"_monitorFreezeData",new Map),rw(this,"_eventMap",new Map),rw(this,"_videoEncodeFailedCount",0),rw(this,"_audioEncodeFailedCount",0),rw(this,"_encodeFailedThreshold",3),this._room=e.room,this.installEvents()}getRenderFreezeMap(){return this._renderFreezeMap}getDataFreezeMap(){return this._dataFreezeMap}installEvents(){this._eventMap.set(GO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(GO.PLAY_TRACK_START,this.onPlayTrackStart).set(GO.UNSUBSCRIBE_SUCCESS,(e=>{let{room:t,streamType:r,remotePublishedUser:i}=e;if(!this.hitTest(t))return;let{userId:o}=i,n="".concat(o,"_").concat(r);this.stopDataFreeze({key:n,userId:o,type:r})})).set(GO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;if(!this.hitTest(t))return;let{userId:o}=i;if(r.hasVideo&&!i.hasVideo){let e="main",t="".concat(i.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:o,type:e})}if(r.hasAuxiliary&&!i.hasAuxiliary){let e="auxiliary",t="".concat(i.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:o,type:e})}})).set(GO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,reason:i,type:o}=e;if(t.isRemote&&t.room&&this.hitTest(t.room)&&o===$w.VIDEO){if("PLAYING"===r){let e="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}i===$w.MUTE?this.onVideoTrackMuted(t):i===$w.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(GO.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach(((e,t)=>WO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>WO.off(t,e,this))),this._eventMap.clear()}stop(){this._renderFreezeMap.clear(),this._dataFreezeMap.clear(),this._isVideoPlayingEventFiredMap.clear()}onVideoTrackMuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:r}=e,i="".concat(t,"_").concat(r),o=this._dataFreezeMap.get(i),n=new Pj;o?o.durationItemList.push(n):this._dataFreezeMap.set(i,{userId:t,type:r,durationItemList:[n],isFreezing(){let e=this.durationItemList[this.durationItemList.length-1];return e&&0===e.endTime}})}onVideoTrackUnmuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:r}=e,i="".concat(t,"_").concat(r);this.stopDataFreeze({key:i,userId:t,type:r})}onHearBeatReport(e){let{room:t,report:r}=e;if(this.hitTest(t)){if(r.msg_down_stream_info.forEach((e=>{let t=this._room.remotePublishedUserMap.get(e.msg_user_info.str_identifier);if(!t)return;let{userId:r,muteState:i}=t;e.msg_video_status.forEach((e=>{2===e.uint32_video_stream_type&&i.hasVideo&&!i.videoMuted&&t.remoteVideoTrack.isSubscribed&&this.handleRenderFreeze({userId:r,fps:e.uint32_video_dec_fps,type:"main"}),7===e.uint32_video_stream_type&&i.hasAuxiliary&&t.remoteAuxiliaryTrack.isSubscribed&&this.handleRenderFreeze({userId:r,fps:e.uint32_video_dec_fps,type:"auxiliary"})}))})),r.msg_up_stream_info.msg_video_status){let e=r.msg_up_stream_info.msg_video_status,t=Array.from(this._room.localTracks).find((e=>"video"===e.kind&&!e.isScreen)),i=(null==t?void 0:t.stat.bytesSent)||0;if(!1===(null==t?void 0:t.isMediaTrackActive)||i<=0)return;e.forEach((e=>{2===e.uint32_video_stream_type&&(0!==e.uint32_video_capture_fps&&0===e.uint32_video_codec_bitrate&&0===e.uint32_video_enc_fps&&null!=t&&t.isPublished?(this._videoEncodeFailedCount+=1,this._videoEncodeFailedCount===this._encodeFailedThreshold&&(qP.uploadEvent({userId:this._room.userId,log:"stat-".concat(wC.VIDEO_ENCODE_FAILED_DURING_CALL)}),this._videoEncodeFailedCount=0)):this._videoEncodeFailedCount=0)}))}if(r.msg_up_stream_info.msg_audio_status){let e=r.msg_up_stream_info.msg_audio_status,t=Array.from(this._room.localTracks).find((e=>"audio"===e.kind)),i=(null==t?void 0:t.stat.bytesSent)||0;if(!1===(null==t?void 0:t.isMediaTrackActive)||i<=0)return;0===e.uint32_audio_codec_bitrate&&null!=t&&t.isPublished?(this._audioEncodeFailedCount+=1,this._audioEncodeFailedCount===this._encodeFailedThreshold&&(qP.uploadEvent({userId:this._room.userId,log:"stat-".concat(wC.AUDIO_ENCODE_FAILED_DURING_CALL)}),this._audioEncodeFailedCount=0)):this._audioEncodeFailedCount=0}}}stopDataFreeze(e){let{key:t,userId:r,type:i}=e,o=this._dataFreezeMap.get(t);if(!o||!o.isFreezing())return;let n=o.durationItemList[o.durationItemList.length-1];n.stop();let a=n.getDuration();a>PC?this._monitorFreezeData.set(t,{userId:r,type:i,duration:a}):o.durationItemList.pop()}getTotalDuration(e){return e.reduce(((e,t)=>{let r=t.getDuration();return e+Math.min(r,5e3)}),0)}handleRenderFreeze(e){return ow(this,arguments,(function(e){var t=this;let{userId:r,fps:i,type:o}=e;return function*(){let e="".concat(r,"_").concat(o),n=t._renderFreezeMap.get(e);if(i<=2){let i=ZD();n&&!n.isFreeze&&(n.freezeTimeline.push({startTime:i,endTime:0}),n.isFreeze=!0),n||t._renderFreezeMap.set(e,{userId:r,type:o,isFreeze:!0,freezeTimeline:[{startTime:i,endTime:0}],renderFreezeTotal:0})}else if(n&&n.isFreeze){n.isFreeze=!1;let e=n.freezeTimeline.pop();if(e){e.endTime=ZD();let t=e.endTime-e.startTime;n.freezeTimeline.push(e),n.renderFreezeTotal+=Math.min(5e3,t)}}}()}))}onPlayTrackStart(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room)||t.kind!==$w.VIDEO||!t.isRemotePublished)return;let r="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.has(r)||this._isVideoPlayingEventFiredMap.set(r,!1)}getDataFreezeDuration(e){let t={dataFreeze:0,count:0},r=this._dataFreezeMap.get(e);if(r){if(r.isFreezing()){let e=r.durationItemList[r.durationItemList.length-1];e.stop(),e.getDuration()<PC&&r.durationItemList.pop()}t.dataFreeze=this.getTotalDuration(r.durationItemList),t.count=r.durationItemList.length}return t}getRenderFreezeDuration(e){let t=this._renderFreezeMap.get(e),r=0,i=0;if(t)if(t.isFreeze){let e=ZD()-t.freezeTimeline[t.freezeTimeline.length-1].startTime;r=t.renderFreezeTotal+Math.min(e,5e3),i=t.freezeTimeline.length}else r=t.renderFreezeTotal;return{renderFreeze:r,count:i}}getMonitorFreeze(){return this._monitorFreezeData}isBlackStream(e){return!!this._isVideoPlayingEventFiredMap.has(e)&&!this._isVideoPlayingEventFiredMap.get(e)}resetMonitor(){this._monitorFreezeData.clear()}hitTest(e){return e===this._room}destroy(){this.uninstallEvents()}},Vj=ew(nw(),1),Fj=class{constructor(e,t,r,i,o){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:4/3;this.vbMode=e,this.faceDetectorHash=r,this.visionTaskRegistry=i,this.logger=o,rw(this,"animationState"),rw(this,"originalAspect"),rw(this,"totalOffsetX",0),rw(this,"totalOffsetY",0),rw(this,"defaultScaleRatio",.1),rw(this,"isRecovering",!1),rw(this,"boundaryY",280),rw(this,"lastActionTime",0),rw(this,"restTime",400),this.animationState={current:null,target:null,animating:!1,debounceTimer:null,startTime:0,duration:3e3,debounceTime:150,movementThreshold:30,debounceThreshold:15},this.addEvent(this.vbMode,!!this.faceDetectorHash),this.originalAspect=n||4/3,this.visionTaskRegistry.setVideo(this.faceDetectorHash,t)}addEvent(e,t,r){let i=[{key:570704,error:null!=r?r:t?void 0:11},{key:570705,error:null!=r?r:t?void 0:22}][e-1];i&&(t?EL.addSuccessEvent({key:i.key}):EL.addFailedEvent({key:i.key,error:i.error}))}actionCentering(e){let t=Date.now();if(this.animation(),!this.faceDetectorHash||t-this.lastActionTime<this.restTime||this.animationState.animating)return;let{videoWidth:r,videoHeight:i}=e;this.animationState.debounceThreshold=r/30,this.animationState.movementThreshold=r/20,this.boundaryY=.6*i;try{let e=this.visionTaskRegistry.getResult(this.faceDetectorHash);if(e.detections.length<=0)return void(1===this.vbMode&&this.recoverOriginal(r,i));let t=e.detections[0].boundingBox,o=t.originX,n=t.originY,a=t.width,s=t.height;1===this.vbMode?this.dualStageCropping(r,i,o,n,a,s):2===this.vbMode&&this.movingPortrait(r,i,o,n,a,s)}catch(aM){this.logger.error(aM)}this.lastActionTime=t}calculateBoundary(e,t,r,i){let o,n;return e>t/2?(o=t-r-i,n=r-o):(o=r,n=0),{min:o,offset:n}}calculateTargetPosition(e,t,r,i,o,n){let a,s,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.4,l=e+r/2,d=t+i/2,{min:u,offset:h}=this.calculateBoundary(l,o,e,r),{min:p,offset:m}=this.calculateBoundary(d,n,t,i);return a=2*u+r,s=2*p+i,a/s>this.originalAspect?(a=s*this.originalAspect,h=l-a/2):(s=a/this.originalAspect,m=d-s/2),r/o>c&&(h=0,m=0,a=o,s=n),h=Math.max(0,Math.min(h,o-a)),m=Math.max(0,Math.min(m,n-s)),{sx:h,sy:m,cropWidth:a,cropHeight:s,timestamp:Date.now()}}processFacePositionCrop(e,t,r){if(!this.animationState.current||!this.animationState.target){let e={sx:0,sy:0,cropWidth:t,cropHeight:r,timestamp:Date.now()};return this.animationState.current=e,void(this.animationState.target=e)}let i=this.positionDistance(this.animationState.target,e),o=this.positionDistance(this.animationState.current,e),n=this.animationState.current.cropWidth/t;i>this.animationState.debounceThreshold*n&&(clearTimeout(this.animationState.debounceTimer),this.animationState.animating=!1),!this.animationState.animating&&o>this.animationState.movementThreshold*n&&(this.animationState.target=e,this.animationState.debounceTimer=setTimeout((()=>{this.animationState.startTime=Date.now(),this.animationState.animating=!0}),this.animationState.debounceTime))}processFacePositionPortrait(e){if(!this.animationState.current||!this.animationState.target)return this.animationState.current=Xb({},e),void(this.animationState.target=Xb({},e));let t=this.positionDistance(this.animationState.current,e),r=this.positionDistance(this.animationState.target,e);t>this.animationState.debounceThreshold&&(clearTimeout(this.animationState.debounceTimer),this.animationState.animating=!1),!this.animationState.animating&&r>this.animationState.movementThreshold&&(this.animationState.current=e,this.animationState.debounceTimer=setTimeout((()=>{this.animationState.startTime=Date.now(),this.animationState.animating=!0}),this.animationState.debounceTime))}animation(){if(!this.animationState.animating)return;let e=Date.now()-this.animationState.startTime,t=Math.min(e/this.animationState.duration,1),r=e=>e<.5?2*e*e:(4-2*e)*e-1;if(this.animationState.current&&this.animationState.target){let e=(this.animationState.target.sx-this.animationState.current.sx)*r(t);this.animationState.current.sx+=e,this.totalOffsetX+=e;let i=(this.animationState.target.sy-this.animationState.current.sy)*r(t);if(this.animationState.current.sy+=i,this.totalOffsetY+=i,this.animationState.current.cropWidth+=(this.animationState.target.cropWidth-this.animationState.current.cropWidth)*r(t),this.animationState.current.cropHeight+=(this.animationState.target.cropHeight-this.animationState.current.cropHeight)*r(t),this.animationState.current.scaleRatio&&this.animationState.target.scaleRatio&&(this.animationState.current.scaleRatio+=(this.animationState.target.scaleRatio-this.animationState.current.scaleRatio)*r(t)),HD(this.animationState.current.scaleOffsetX)&&HD(this.animationState.target.scaleOffsetX)&&HD(this.animationState.current.scaleOffsetY)&&HD(this.animationState.target.scaleOffsetY)){let e=(this.animationState.target.scaleOffsetX-this.animationState.current.scaleOffsetX)*r(t);this.animationState.current.scaleOffsetX+=e;let i=(this.animationState.target.scaleOffsetY-this.animationState.current.scaleOffsetY)*r(t);this.animationState.current.scaleOffsetY+=i}}t>=1&&(this.animationState.animating=!1,this.animationState.current=this.animationState.target,this.isRecovering=!1)}positionDistance(e,t){return Math.sqrt(Yb(e.sx-t.sx,2)+Yb(e.sy-t.sy,2))}recoverOriginal(e,t){this.animationState.target={sx:0,sy:0,cropWidth:e,cropHeight:t,timestamp:Date.now()},this.animationState.animating=!0,this.animationState.startTime=Date.now(),this.isRecovering=!0}dualStageCropping(e,t,r,i,o,n){let a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.3;if(this.isRecovering)return;let s=this.calculateTargetPosition(r,i,o,n,e,t);this.processFacePositionCrop(s,e,t),o*n/s.cropWidth/s.cropHeight>a&&this.recoverOriginal(e,t)}movingPortrait(e,t,r,i,o,n){var a,s,c,l,d,u,h,p,m,f,_,g;let E={sx:r+o/2+this.totalOffsetX,sy:i+n/2+this.totalOffsetY,cropWidth:e,cropHeight:t,scaleRatio:null!=(s=null==(a=this.animationState.current)?void 0:a.scaleRatio)?s:1,scaleOffsetX:null!=(l=null==(c=this.animationState.current)?void 0:c.scaleOffsetX)?l:0,scaleOffsetY:null!=(u=null==(d=this.animationState.current)?void 0:d.scaleOffsetY)?u:0,timestamp:Date.now()};this.animationState.target={sx:e/2,sy:i+n/2,cropWidth:e,cropHeight:t,scaleRatio:null!=(p=null==(h=this.animationState.target)?void 0:h.scaleRatio)?p:1,scaleOffsetX:null!=(f=null==(m=this.animationState.target)?void 0:m.scaleOffsetX)?f:0,scaleOffsetY:null!=(g=null==(_=this.animationState.target)?void 0:_.scaleOffsetY)?g:0,timestamp:Date.now()},this.animationState.animating||(this.animationState.target.scaleRatio=Math.sqrt(o*n/e/t/this.defaultScaleRatio),this.animationState.target.scaleOffsetX=-this.animationState.target.scaleRatio/2+.5,this.animationState.target.scaleOffsetY=1-this.animationState.target.scaleRatio,(this.animationState.target.sy-this.animationState.target.scaleOffsetY*this.animationState.target.cropHeight)/this.animationState.target.scaleRatio<this.boundaryY&&(this.animationState.target.scaleOffsetY=(this.animationState.target.sy-this.boundaryY*this.animationState.target.scaleRatio)/this.animationState.target.cropHeight)),this.processFacePositionPortrait(E)}set aspectRatio(e){this.originalAspect=e}get current(){return this.animationState.current}get offset(){return{offsetX:this.totalOffsetX,offsetY:this.totalOffsetY}}get targetCrop(){return this.animationState.target}},Bj=class extends fB{constructor(e,t){super(e,t.input,{name:"vb",create2d:!1,useDefaultProgram:!1,useFbo:!1,createTexture:!0,width:t.width,height:t.height,logger:e.log}),rw(this,"_bgTexture"),rw(this,"_waterMarkTexture"),rw(this,"_lastMaskTexture"),rw(this,"_lastMaskFbo"),rw(this,"_textureValid",!1),rw(this,"_selfieTextureValid",!1),rw(this,"_selfieSegmentationHash"),rw(this,"wasm"),rw(this,"predictReady"),rw(this,"_color"),rw(this,"_prePrograme"),rw(this,"_segmentationMask"),rw(this,"_weixin",!1),rw(this,"_centerFace"),rw(this,"_textureMatrixLocation"),rw(this,"_offsetMatrixLocation"),rw(this,"_colorLocation"),rw(this,"_enableFaceCentering",!1),rw(this,"_enableEffectOptimization",!1),rw(this,"_mat4"),rw(this,"_postProcessing"),rw(this,"_onAbort"),rw(this,"_visionTaskRegistry"),rw(this,"resolvePreditReady"),this.init(t).catch((t=>{e.log.error(t),e.destroy(new pw({code:uw.VIDEO_MANAGER_ERROR,extraCode:6,message:"init vb node error ".concat(t.message||t)})),this.resolvePreditReady()}))}init(e){return ow(this,null,(function*(){var t,r,i;this.predictReady=new Promise((e=>{this.resolvePreditReady=e}));let o=e.Wasm,n=this.context.ctx;if(e.color&&(this._color=e.color),e.mat4&&(this._mat4=e.mat4),e.postProcessing&&(this._postProcessing=e.postProcessing),this._enableFaceCentering=null!=(t=e.enableFaceCentering)&&t,this._enableEffectOptimization=null!=(r=e.enableEffectOptimization)&&r,this.wasm=new o.AllIn1(n),this.wasm.blurRadius=e.blurRadius||3,this.wasm.mirror=!!e.mirror,this.wasm.rotation=e.rotation||0,this.wasm.vbMode="blur"===e.bg?1:e.bg instanceof HTMLImageElement?2:"color"===e.bg?3:0,this._onAbort=e.onAbort,e.bg||this.resolvePreditReady(),e.waterMark){let{x:t,y:r,width:i,height:o}=e.waterMark;this.wasm.setWaterMark(t,r,i,o)}if(e.beautyParams){let{beauty:t,brightness:r,ruddy:i}=e.beautyParams;this.wasm.setBeauty(t,r,i,null==e?void 0:e.width,null==e?void 0:e.height)}this.program=this.wasm.init(),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),n.uniform1i(n.getUniformLocation(this.program,"mask"),1),e.bg instanceof HTMLImageElement&&(n.uniform1i(n.getUniformLocation(this.program,"bg"),2),this._bgTexture=this.createTexture(e.bg)),e.waterMark&&(n.uniform1i(n.getUniformLocation(this.program,"waterMark"),3),this._waterMarkTexture=this.createTexture(e.waterMark.image));let a=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);if(this._textureMatrixLocation=n.getUniformLocation(this.program,"u_textureMatrix"),n.uniformMatrix4fv(this._textureMatrixLocation,!1,a),this._offsetMatrixLocation=n.getUniformLocation(this.program,"u_offsetMatrix"),n.uniformMatrix4fv(this._offsetMatrixLocation,!1,a),this._colorLocation=n.getUniformLocation(this.program,"u_color"),n.uniform1i(n.getUniformLocation(this.program,"lastMask"),4),this._weixin){let e=this.context.createShader(n.FRAGMENT_SHADER,"#version 300 es\nprecision highp float;\nuniform sampler2D u_texture;\nuniform sampler2D mask;\n\nin vec2 v_texCoord;\nout vec4 outColor;\nvoid main() {\n outColor = vec4(texture(u_texture, v_texCoord).rgb, texture(mask, v_texCoord).a);\n}"),t=this.context.createShader(n.VERTEX_SHADER,"#version 300 es\nin vec2 a_position;\nin vec2 a_texCoord;\nout vec2 v_texCoord;\nvoid main() {\n gl_Position = vec4(a_position.x, a_position.y, 0, 1);\n v_texCoord = a_texCoord;\n}");this._prePrograme=this.context.createProgram(t,e),n.useProgram(this._prePrograme),this.setAttributes(this.positionBuffer,this.texCoordBuffer),n.uniform1i(n.getUniformLocation(this._prePrograme,"mask"),1)}!this._enableEffectOptimization||2!==this.wasm.vbMode&&3!==this.wasm.vbMode?this._postProcessing=void 0:CO()?(this._postProcessing=void 0,this.log.warn("Virtual background post-processing isn't allowed on mobile.")):null==(i=this._postProcessing)||i.init(n,this.positionBuffer,this.texCoordBuffer,4/3),yield this.initVisionTasks(e)}))}initVisionTasks(e){return ow(this,null,(function*(){if(e.bg){if(this._visionTaskRegistry=yield window.VisionTaskRegistry.getInstance(),!window.VisionTaskRegistry||!this._visionTaskRegistry||!this._visionTaskRegistry.visionWasm)throw new Error("Virtual background assets not found. Please redeploy the assets of the npm package.");if(this._selfieSegmentationHash=yield this._visionTaskRegistry.register(window.VisionTaskType.ImageSegmenter,{canvas:this.context._canvas}),this._visionTaskRegistry.setVideo(this._selfieSegmentationHash,this.image),this._enableFaceCentering)try{this._visionTaskRegistry.models.has(window.VisionTaskType.FaceDetector)||(yield this._visionTaskRegistry.preloadModels([window.VisionTaskType.FaceDetector]));let e=yield this._visionTaskRegistry.register(window.VisionTaskType.FaceDetector);if(!e)return;this._centerFace=new Fj(this.wasm.vbMode,this.image,e,this._visionTaskRegistry,this.context.log)}catch(RC){this.log.error("Face detector model not found. Please redeploy the assets of the npm package.")}}}))}onPredict(e){let t=this.context.ctx;this._weixin&&(this._lastMaskTexture||(this._lastMaskTexture=this.createTexture(this.image),this._lastMaskFbo=this.createFramebuffer(this._lastMaskTexture)));let r=this.getMaskTexture(e);if(!r)return;let i=r;this._postProcessing&&(this._postProcessing.ratio=this.image.videoWidth/this.image.videoHeight,i=this._postProcessing.postProcessing(r)),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),this.useTexture(),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,i||null),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this._bgTexture||null),t.activeTexture(t.TEXTURE3),t.bindTexture(t.TEXTURE_2D,this._waterMarkTexture||null),3===this.wasm.vbMode&&t.uniform3fv(this._colorLocation,this._color),this.useBufferFrame(),this._segmentationMask=e,this.totalFrames++,this.centerFace(),SN(this.wasm.rotation)&&this.resize(this.image.height,this.image.width),t.viewport(0,0,t.canvas.width,t.canvas.height),t.drawArrays(t.TRIANGLE_STRIP,0,4),e.close()}getMaskTexture(e){return e.confidenceMasks?e.confidenceMasks[0].getAsWebGLTexture():void 0}onFirstFrame(){this.waitingFirstFrame=!1;let e=this.context.ctx;this.useTexture(),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image)}render(e){let t=this.context.ctx,{image:r}=this;this.tryVideoFrameCallback();let{videoWidth:i,videoHeight:o}=r;if(SN(this.wasm.rotation)&&!this._visionTaskRegistry&&([i,o]=[o,i]),0===i||0===o||!this.available)return!1;r.width=i,r.height=o;let n=!1;if(this.totalFrames)this.useTexture(),n=this._selfieTextureValid,this._selfieTextureValid=!0;else{if(!this.program)return!1;this.useTexture(),n=this._textureValid,this._textureValid=!0}if(this.width===i&&this.height===o&&n?t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,r):(this.resize(i,o),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r)),this._weixin){if(t.useProgram(this._prePrograme),this.useTexture(),this._segmentationMask){let e=this.getMaskTexture(this._segmentationMask);t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,e||null),t.bindFramebuffer(t.FRAMEBUFFER,this._lastMaskFbo||null)}t.drawArrays(t.TRIANGLE_STRIP,0,4),this.useTexture(),this._segmentationMask?t.copyTexSubImage2D(t.TEXTURE_2D,0,0,0,0,0,i,o):t.copyTexImage2D(t.TEXTURE_2D,0,t.RGBA,0,0,i,o,0)}try{if(this._selfieSegmentationHash&&this._visionTaskRegistry){let e=this._visionTaskRegistry.getResult(this._selfieSegmentationHash);1===this.totalFrames&&this.context._canvas&&this.resolvePreditReady(),this.onPredict(e)}}catch(nM){this._onAbort&&this._onAbort(nM)}return this.totalFrames||(t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this._bgTexture||null),t.activeTexture(t.TEXTURE3),t.bindTexture(t.TEXTURE_2D,this._waterMarkTexture||null),t.drawArrays(t.TRIANGLE_STRIP,0,4)),this._visionTaskRegistry&&this._visionTaskRegistry.resetHashResults(),!1}centerFace(){if(!this._centerFace||!this._enableFaceCentering)return;let e=this.context.ctx;this._centerFace.aspectRatio=e.canvas.width/e.canvas.height,this._centerFace.actionCentering(this.image);let{current:t,offset:r}=this._centerFace;if(t&&(1===this.wasm.vbMode&&this.drawImage(t.sx,t.sy,t.cropWidth,t.cropHeight),r&&2===this.wasm.vbMode)){if(!this._mat4)return;let i=this._mat4.create(),{scaleRatio:o=1,scaleOffsetX:n=0,scaleOffsetY:a=0}=t;this._mat4.fromTranslation(i,[-r.offsetX/e.canvas.width+n,a,0]),this._mat4.scale(i,i,[o,o,1]),e.uniformMatrix4fv(this._offsetMatrixLocation,!1,i)}}drawImage(e,t,r,i){let o=this.context.ctx;if(!this._mat4)return;let{width:n,height:a}=o.canvas,s=this._mat4.create();this._mat4.fromTranslation(s,[e/n,1-(t+i)/a,0]),this._mat4.scale(s,s,[r/n,i/a,1]),o.uniformMatrix4fv(this._textureMatrixLocation,!1,s)}close(){var e;super.close();let t=this.context.ctx;this._bgTexture&&t.deleteTexture(this._bgTexture),this._waterMarkTexture&&t.deleteTexture(this._waterMarkTexture),this._lastMaskTexture&&t.deleteTexture(this._lastMaskTexture),this._lastMaskFbo&&t.deleteFramebuffer(this._lastMaskFbo),this._prePrograme&&t.deleteProgram(this._prePrograme),this._postProcessing&&this._postProcessing.close(),null==(e=this.wasm)||e.close()}},Hj=class extends nB{constructor(e){super(e,{name:"yuv-source",useDefaultProgram:!1,create2d:!1,useFbo:!1,createTexture:!1,logger:e.log,fragmentShaderSource:"\n precision highp float;\n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n varying highp vec2 textureCoord;\n const mat4 YUV2RGB = mat4(\n 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n void main() {\n vec3 yuv;\n yuv.r = texture2D(ySampler, textureCoord).r;\n yuv.g = texture2D(uSampler, textureCoord).r;\n yuv.b = texture2D(vSampler, textureCoord).r;\n gl_FragColor = vec4(yuv,1) * YUV2RGB;\n }\n ",vertexShaderSource:"\n attribute vec4 vertexPos;\n attribute vec2 texturePos;\n varying vec2 textureCoord;\n void main() {\n gl_Position = vertexPos;\n textureCoord = texturePos;\n }"}),rw(this,"yTextureRef"),rw(this,"uTextureRef"),rw(this,"vTextureRef"),rw(this,"Y"),rw(this,"U"),rw(this,"V"),this.useProgram();let t=this.context.ctx;t.pixelStorei(t.PACK_ALIGNMENT,1),t.pixelStorei(t.UNPACK_ALIGNMENT,1),this.setTexBuffer([0,1,1,1,0,0,1,0]),this.yTextureRef=this._initTexture("ySampler",0),this.uTextureRef=this._initTexture("uSampler",1),this.vTextureRef=this._initTexture("vSampler",2),this._canvas=e._canvas}_initTexture(e,t){let r=this.context.ctx,i=r.createTexture();return r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.bindTexture(r.TEXTURE_2D,null),r.uniform1i(r.getUniformLocation(this.program,e),t),i}render(e){let t=this.context.ctx,r=this.width,i=this.height;return this.useProgram(),t.viewport(0,0,r,i),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,this.yTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r,i,t.LUMINANCE,t.UNSIGNED_BYTE,this.Y),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,this.uTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r/2,i/2,t.LUMINANCE,t.UNSIGNED_BYTE,this.U),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this.vTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r/2,i/2,t.LUMINANCE,t.UNSIGNED_BYTE,this.V),this.draw(),!0}resize(e,t){super.resize(e,t);let r=this.context.ctx;r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,this.yTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e,t,0,r.LUMINANCE,r.UNSIGNED_BYTE,null),r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,this.uTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e/2,t/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,null),r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,this.vTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e/2,t/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,null)}},Wj=(e,t)=>{switch(e){case"webCodecs":return"videoFrame"===t?514705:514706;case"wasm":return"webgl"===t?514707:"videoFrame"===t?514708:514709}throw new Error("decoder type not supported")};var jj=0,Gj=class{constructor(e){rw(this,"id",jj++),rw(this,"trackDoneOB"),rw(this,"startOB"),rw(this,"stopOB"),rw(this,"decoder"),rw(this,"videoContext"),rw(this,"gop",0),rw(this,"gop_helper",0),rw(this,"waitFirstKeyFrame",!0),rw(this,"startTimestamp",0),rw(this,"startTime",0),rw(this,"startPerformanceTime",0),rw(this,"inputFrameCount",0),rw(this,"decodedFrameCount",0),rw(this,"decodeFrameCount",0),rw(this,"downgradeLevel",0),rw(this,"lastDowngradeTime",0),rw(this,"lastFrameDiff",0),rw(this,"lastDecodeFrameTimestamp",0),rw(this,"config"),rw(this,"gop_before_configure",[]),rw(this,"videoElement"),rw(this,"type","wasm"),rw(this,"goodType"),rw(this,"renderer","2d"),rw(this,"wasmOption"),rw(this,"createDecoder"),rw(this,"_decodeSink"),rw(this,"isReported",!1),rw(this,"track"),rw(this,"stateChangeOB"),rw(this,"failedReason");let{track:t,createDecoder:r}=e;if(this.stateChangeOB=aV(),this.track=t,this.createDecoder=r,this.wasmOption={yuvMode:"webgl"===e.renderer,wasmPath:e.wasmPath,workerMode:e.workerMode,canvas:e.canvas},this.config=e.config,this.videoElement=e.videoElement,this.renderer=e.renderer,this.trackDoneOB=vV(t.availableState,PP.OFF),this.stopOB=aV(),"auto"===e.type){switch(e.fallback){case"wasm":this.type="wasm",this.renderer="webgl";break;case"wasm_2d":this.type="wasm",this.renderer="2d";break;case"wasm_video":this.type="wasm",this.renderer="videoFrame";break;default:this.type="webCodecs"}this.wasmOption.yuvMode="webgl"===this.renderer}else this.type=e.type;this.changeRenderer(this.renderer),FU(this.stateChangeOB,lF(((e,r)=>(e!==r&&t.onDecodeDowngradeStateChanged({type:this.type,renderer:this.renderer,reason:this.failedReason,prevState:e,state:r}),r)),"INITIALIZED"),HV(this.stopOB),WF()),this.start()}start(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.waitFirstKeyFrame=!0,this.stateChangeOB.next("STARTING");let t=FU(this.pipe(this.track),HV(this.stopOB),qU());FU(t,WF((()=>{this.track.stat.framesDecoded++}),(t=>{if(this.track.log.error("".concat(this.id," play failed: ").concat(t," retryCount: ").concat(e)),EL.addFailedEvent({key:Wj(this.type,this.renderer),error:t}),e>4)this.failedReason=t,this.stateChangeOB.next("FAILED"),EL.addFailedEvent({key:514704});else{if(this.goodType)return void this.start(e);switch(this.type){case"webCodecs":this.type="wasm",this.changeRenderer("webgl");break;case"wasm":if("webgl"===this.renderer)this.changeRenderer("videoFrame")}this.start(e+1)}}),(()=>{this.track.log.warn("".concat(this.id," decoderOB completed")),EL.addSuccessEvent({key:Wj(this.type,this.renderer)}),EL.addSuccessEvent({key:514704})}))),FU(t,BV(1),WF((()=>{this.track.player.handlePlaying("canvas"),this.goodType=this.type,this.stateChangeOB.next("STARTED")})))}mock(e){this._decodeSink?this._decodeSink.error(e):this.start()}close(e){this.stopOB.next(e)}changeRenderer(e){this.renderer=e,"videoFrame"===this.renderer&&!wL()&&(this.renderer="2d"),this.wasmOption.yuvMode="webgl"===this.renderer}decode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r,i;if(this.failedReason)return;this.inputFrameCount++;let o=new Uint8Array(e.data);if(!function(e){return 0===e[0]&&0===e[1]&&0===e[2]&&1===e[3]}(o)||o.length<5)return this.stateChangeOB.next("FAILED"),this.close("not h26x frame ".concat(o.subarray(0,5))),e;let n=!1;switch(31&o[4]){case 5:case 7:n=!0}if("configured"!==(null==(r=this.decoder)?void 0:r.state))return this.track.log.debug("not configured ".concat(this.inputFrameCount)),n&&(this.gop_before_configure=[]),this.gop_before_configure.push({data:e.data,timestamp:e.timestamp,type:e.type}),e;this.gop_before_configure.length>0&&!t&&(this.gop_before_configure.forEach((e=>this.decode(e,!0))),this.gop_before_configure=[]);let{timestamp:a}=e;if(n?(this.gop=this.gop_helper,this.gop_helper=0):this.gop_helper++,this.decoder){if(this.waitFirstKeyFrame){if(!n)return void this.track.log.debug("wait first key frame ".concat(this.inputFrameCount," ").concat(o.subarray(0,5).join(" ")));this.waitFirstKeyFrame=!1,this.startTimestamp=a,this.startTime=Date.now(),this.startPerformanceTime=ZD()}switch(this.downgradeLevel){case 0:case 1:break;case 2:if(this.gop_helper>this.gop>>1)return;break;case 3:if(this.gop_helper>0)return;break;default:return}return(this.decodeFrameCount<10||this.decodeFrameCount%500==0)&&this.track.log.debug("decode ".concat(this.decodeFrameCount," gop: ").concat(this.gop," ").concat(a," ").concat(null==(i=e.getMetadata)?void 0:i.call(e).rtpTimestamp)),this.decodeFrameCount++,this.lastDecodeFrameTimestamp=a,void this.decoder.decode({data:e.data,type:e.type,timestamp:this.lastDecodeFrameTimestamp})}return e}checkDowngradeByFrameDiff(){let e=this.downgradeLevel,t=this.decodeFrameCount-this.decodedFrameCount;t>this.lastFrameDiff?(this.downgradeLevel++,this.downgradeLevel>4&&(this.downgradeLevel=4)):t<=this.lastFrameDiff&&this.downgradeLevel>0&&this.downgradeLevel--,this.downgradeLevel!==e&&this.track.log.debug("downgrade level ".concat(e," to ").concat(this.downgradeLevel," ").concat(this.decodeFrameCount," frameDiff: ").concat(t,", lastFrameDiff: ").concat(this.lastFrameDiff)),this.lastFrameDiff=t,this.lastDowngradeTime=Date.now()}checkDowngradeByTimestampDiff(e){let t=this.downgradeLevel;this.lastDecodeFrameTimestamp-e>9e4?(this.downgradeLevel++,this.downgradeLevel>4&&(this.downgradeLevel=4)):this.downgradeLevel>0&&this.downgradeLevel--,this.downgradeLevel!==t&&this.track.log.debug("downgrade level ".concat(t," to ").concat(this.downgradeLevel))}pipe(e){return t=>ow(this,null,(function*(){this._decodeSink=t;let r,i=e.mediaTrack;t.defer((()=>{var t;i&&(e.player.setCanvas(),e.setInputMediaStreamTrack(i)),null==r||r.close(),null==(t=this.videoContext)||t.destroy(),delete this._decodeSink}));let{renderer:o,type:n}=this;e.log.info("decoder type: ".concat(this.type," renderer: ").concat(this.renderer));try{switch(n){case"wasm":r=this.createDecoder(n,this.wasmOption);break;case"webCodecs":r=this.createDecoder(n);break;default:throw new Error("not supported yet")}let i=0;if(r.on("videoFrame",(r=>{this.decodedFrameCount++,i++,(i<=10||i%500==0)&&e.log.debug("frame ".concat(i," ").concat(this.decodedFrameCount,"/").concat(this.decodeFrameCount," decoded ").concat(r.timestamp)),Date.now()-this.lastDowngradeTime>5e3&&("webCodecs"===this.type?this.checkDowngradeByFrameDiff():"wasm"===this.type&&this.checkDowngradeByTimestampDiff(r.timestamp)),t.next(r)})),r.on("error",(r=>{e.log.error(r),t.error("webCodecs"===n?4:8)})),yield r.initialize(this.videoElement),!this._decodeSink)return;if(r.configure(this.config),"wasm"===n&&"webgl"===o){this.videoContext=new yB({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create(),this.videoContext.on(yB.UNAVAILABLE,(r=>{e.log.error(r),t.error(7)}));let i=new Hj(this.videoContext);r.on("videoCodecInfo",(e=>i.resize(e.width,e.height))),r.on("videoFrame",(e=>{({y:i.Y,u:i.U,v:i.V}=e),1===this.downgradeLevel?this.decodedFrameCount%2==0&&i.render(this.decodedFrameCount):i.render(this.decodedFrameCount)})),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}else if("videoFrame"===o){e.player.setCanvas();let t=new MediaStreamTrackGenerator({kind:"video"}),i=t.writable.getWriter();e.setInputMediaStreamTrack(t),r.on("videoFrame",(e=>i.write(e)))}else{this.videoContext=new TB({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create({alpha:!1});let i=this.videoContext.createVideoImageSource();r.on("videoFrame",(r=>{try{i.image=r,i.update()}catch(o){delete this.goodType,e.log.error(o),t.error(11)}}));let o=new lB(this.videoContext,{name:"remotePlayer",logger:e.log});i.connect(o),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}this.decoder=r}catch(rM){e.log.error(rM),t.error("webCodecs"===n?2:6)}}))}},zj=Promise.resolve(),Kj=class extends Vj.EventEmitter{constructor(e){super(),this.room=e,rw(this,"videoContext"),rw(this,"_glVideoContext"),rw(this,"_2dVideoContext"),rw(this,"destination"),rw(this,"smallVideoContext"),rw(this,"smallDestination"),rw(this,"smallTrackSource"),rw(this,"smallImageSource"),rw(this,"_isMirror",!1),rw(this,"_rotation",0),rw(this,"cameraTrack"),rw(this,"cameraNode"),rw(this,"transformNode"),rw(this,"mixNode"),rw(this,"screenTrack"),rw(this,"screenNode"),rw(this,"selfModel",!1),rw(this,"blurRadius",3),rw(this,"arTrack"),rw(this,"_enableFaceCentering",!1),rw(this,"_enableEffectOptimization",!1),rw(this,"onAbort"),rw(this,"_color"),rw(this,"Wasm"),rw(this,"waterMarkNode"),rw(this,"_waterMarkOption"),rw(this,"watermarkImageList",[]),rw(this,"_beautyParams"),rw(this,"isUsingArTrack",!1),rw(this,"mixTrack"),rw(this,"_isMixScreen",!1),rw(this,"_virtualBackground"),rw(this,"_virtualBackgroundAbortCallback"),rw(this,"virtualBackgroundInstance"),rw(this,"_bgAssetPath"),rw(this,"log",qO.createLogger({id:"vm"})),rw(this,"_mat4"),rw(this,"_postProcessing"),rw(this,"_checkId",0),rw(this,"_use2d",!1),rw(this,"_autoSwitchRenderMode",!0),rw(this,"encodePipeline",[]),rw(this,"decodePipeline",[]),rw(this,"updated",zj),rw(this,"_updateFlag",!1),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.smallVideoContext=new TB({frameRate:15,logger:this.log,name:"s"}),this.enablePrintDetail()}get smallMode(){var e;return(null==(e=this.room)?void 0:e.smallMode)||"canvas"}get _hasVirtualBg(){return!!this._virtualBackground}get _hasWaterMark(){return this.watermarkImageList.length>0}get _isRotate(){return 0!==this._rotation}get _isTransform(){return this._isMirror||this._isRotate}get renderMode(){return this._autoSwitchRenderMode?"auto":this._use2d?"2d":"webgl"}set renderMode(e){if(this._autoSwitchRenderMode="auto"===e,this._autoSwitchRenderMode)return;let t="2d"===e;this._use2d!==t&&(this._use2d=t,this.clear(),this.videoContext=this._use2d?this.get2dVideoContext():this.getGlVideoContext(),this.update())}get cameraResolution(){var e;let{width:t,height:r}=(null==(e=this.cameraTrack)?void 0:e.settings)||{};return SN(this._rotation)?{width:r,height:t}:{width:t,height:r}}get2dVideoContext(){return this._2dVideoContext?this._2dVideoContext.destroy():this._2dVideoContext=new TB({frameRate:15,logger:this.log,name:"m"}),this._2dVideoContext.create({alpha:this._hasWaterMark||this._hasVirtualBg}),this._2dVideoContext}getGlVideoContext(){if(this._glVideoContext){if(this._glVideoContext.available)return this._glVideoContext}else this._glVideoContext=new yB({frameRate:15,logger:this.log,name:"m"});return this.initializeGlVideoContext(),this._glVideoContext}initializeGlVideoContext(){try{this._glVideoContext.create(dO<=22),this._glVideoContext.on(yB.UNAVAILABLE,(e=>{var t;this.emit("error",e),this.log.warn("video context unavailable",e),null==(t=this._virtualBackgroundAbortCallback)||t.call(this,e),this.update().catch((e=>{this.log.error(e)}))}))}catch(Aw){this.emit("error",Aw)}}initVirtualBackground(e,t,r){this.onAbort=e,this._mat4=t,this._postProcessing=r}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=HP.run("interval",(()=>{this.destination&&this.log.debug(this.destination.getInfo())}),{delay:e})}destroy(){var e,t;null==(e=this._2dVideoContext)||e.destroy(),null==(t=this._glVideoContext)||t.destroy(),this.smallVideoContext.destroy(),HP.clearTask(this._checkId)}get needAlpha(){return this._hasWaterMark||this._hasVirtualBg}get active(){return(hO||this._isMixScreen||this._isTransform||this._hasWaterMark||this._hasVirtualBg||this._beautyParams)&&this.checkOrCreateVideoContext()}sendCreateResult(){let e=arguments.length>1?arguments[1]:void 0,t="videoCtxGl"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"videoCtxGl")?512700:512701;e?EL.addFailedEvent({key:t,error:e}):EL.addSuccessEvent({key:t})}checkOrCreateVideoContext(){let e=this._use2d;if(this._autoSwitchRenderMode&&(this._use2d=!this._hasVirtualBg),this.videoContext)if(this.videoContext.available){let t=!this.videoContext.hasAlpha&&this.needAlpha;if(this._autoSwitchRenderMode&&e===this._hasVirtualBg)this.clear();else{if(!t)return!0;if(!this._use2d)return!0;this.clear()}}else{if(this._glVideoContext=new yB({frameRate:15,logger:this.log,name:"m"}),this.initializeGlVideoContext(),this._glVideoContext.available)return this.videoContext=this._glVideoContext,this.videoContext.available;this.log.warn("webgl is still not available"),this.clear(),this._use2d=!0}return this.videoContext=this._use2d?this.get2dVideoContext():this.getGlVideoContext(),this.videoContext.available}get smallTrack(){var e;return null==(e=this.smallDestination)?void 0:e.videoTrack}get hasSmall(){return!!this.smallTrack}get initialTrack(){var e;return null==(e=this.cameraTrack)?void 0:e.mediaTrack}setSmallVideo(e,t){if("api"!==this.smallMode)if(e){if(!this.smallVideoContext.available){if(this.smallVideoContext.create({alpha:!1}),!this.smallVideoContext.available)return;this.smallDestination=new hB(this.smallVideoContext,e,this.log),this.smallVideoContext.on(yB.UNAVAILABLE,(e=>{this.log.warn("small video context lost",e)}))}if(this.smallVideoContext.frameRate=e.frameRate,this.smallDestination.resolution=e,t)this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource),this.smallImageSource?this.smallImageSource.image=t:(this.smallImageSource=this.smallVideoContext.createVideoImageSource(t),this.smallImageSource.resize(t.width,t.height),this.smallImageSource.connect(this.smallDestination));else if(this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource)this.smallTrackSource.replaceTrack(this.initialTrack);else{this.smallTrackSource=this.smallVideoContext.createVideoTrackSource(this.initialTrack,"smallTrackSource");let{width:e,height:t}=this.cameraTrack.settings;this.smallTrackSource.resize(e,t),this.smallTrackSource.connect(this.smallDestination)}}else this.smallVideoContext.available&&(this.smallVideoContext.destroy(),delete this.smallDestination,delete this.smallTrackSource,delete this.smallImageSource)}_setMainOutput(e){var t;try{let r=this.cameraTrack,{small:i,player:o}=r;hO&&o.setCanvas(e);let n=e&&(null==(t=this.destination)?void 0:t.videoTrack)||this.initialTrack;return this.isUsingArTrack&&this.arTrack&&(this.emit("output-track-changed"),n=this.arTrack),this.log.info("set main output ".concat(n?n.label:"no output track")),this.setSmallVideo(i,e),r.setOutputMediaStreamTrack(n)}catch(iM){this.log.error("set main output failed",iM)}}update(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return ow(this,null,(function*(){var t;if(!this.cameraTrack||!this.initialTrack)return;if(!this.active)return this.cameraNode&&this.clear(),this._setMainOutput();let{settings:r,profile:i}=this.cameraTrack;if(this._use2d||!this._virtualBackground&&!this._beautyParams)this.destination||(this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log}),this.destination.on(nB.RENDER,(e=>{var t;null==(t=this.cameraTrack)||t.emit("render",e)}))),16===EO?this.initialTrack instanceof CanvasCaptureMediaStreamTrack?(this.cameraNode&&(this.cameraNode instanceof fB?(this.cameraNode.close(),delete this.cameraNode):this.cameraNode.image=this.initialTrack.canvas),this.cameraNode||(this.cameraNode=this.videoContext.createVideoImageSource(this.initialTrack.canvas,{name:"cameraCanvasSource",logger:this.log}))):(this.cameraNode&&(this.cameraNode instanceof fB?this.cameraNode.replaceTrack(this.initialTrack):(this.cameraNode.close(),delete this.cameraNode)),this.cameraNode||(this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack,"cameraTrackSource"))):this.cameraNode?this.cameraNode.replaceTrack(this.initialTrack):this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack,"cameraNodeSource"),this.cameraNode.resize(r.width,r.height);else if(e&&this.cameraNode&&this.destination)this.cameraNode.replaceTrack(this.initialTrack);else{this.cameraNode&&this.cameraNode.close(),this.destination?this.destination.disableCheckMute():(this.destination=new uB(this.videoContext,{name:"mainDestination",logger:this.log}),this.destination.on(nB.RENDER,(e=>{var t;null==(t=this.cameraTrack)||t.emit("render",e)})));let{width:e,height:t}=this.cameraResolution,r=yield this.getWatermarkImage(e,t);this._waterMarkOption={x:0,y:0,width:r.width,height:r.height,image:r},this.cameraNode=new Bj(this.videoContext,{input:this.initialTrack,width:e,height:t,mirror:this._isMirror,rotation:this._rotation,bg:this._virtualBackground,selfModel:this.selfModel,waterMark:this._waterMarkOption,beautyParams:this._beautyParams,useTflite:!0,blurRadius:this.blurRadius,assetPath:this._bgAssetPath,Wasm:this.Wasm,enableFaceCentering:this._enableFaceCentering,enableEffectOptimization:this._enableEffectOptimization,onAbort:this.onAbort,mat4:this._mat4,postProcessing:this._postProcessing,color:this._color}),this.cameraNode.connect(this.destination),this.destination.enableCheckMute(),yield this.cameraNode.predictReady}if(this.videoContext.frameRate=i.frameRate,this._use2d){let e=this.cameraNode;if(e.disconnect(),this._isTransform&&(this.transformNode?(this.transformNode.mirror=this._isMirror,this.transformNode.rotation=this._rotation):this.transformNode=new bB(this.videoContext,this.log,this._isMirror,this._rotation),e=e.connect(this.transformNode),e.disconnect(),this.log.info("start mirror ".concat(this._isMirror," rotate ").concat(this.rotation))),this.mixNode&&this.mixNode.close(),delete this.mixNode,this._isMixScreen||this._hasWaterMark){if(this.mixNode=new SB(this.videoContext,this.log),e.connect(this.mixNode,{zIndex:1}),this._hasWaterMark&&!this.waterMarkNode&&this._waterMarkOption)this.waterMarkNode=this.videoContext.createVideoImageSource(this._waterMarkOption.image,{autoResize:!1,logger:this.log}),this.waterMarkNode.resize(this._waterMarkOption.width,this._waterMarkOption.height),this.waterMarkNode.x=this._waterMarkOption.x,this.waterMarkNode.y=this._waterMarkOption.y;else if(this.waterMarkNode){let{width:e,height:t}=this.cameraResolution;this.waterMarkNode.image=yield this.getWatermarkImage(e,t),e&&t&&this.waterMarkNode.resize(e,t)}null==(t=this.waterMarkNode)||t.connect(this.mixNode,{zIndex:2}),this._isMixScreen&&this.screenTrack&&(this.screenNode||(this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack,"screenNodeSource"),this.screenNode.resize(this.screenTrack.settings.width,this.screenTrack.settings.height)),this.screenNode.shouldUpdate=!1,this.screenNode.connect(this.mixNode,{zIndex:0})),e=this.mixNode,this.log.info("start mix","".concat(this.mixNode.width,"x").concat(this.mixNode.height))}e.connect(this.destination)}return this.log.info("update ".concat(this._use2d?"2d":"webgl")),this._setMainOutput(this.videoContext.canvas)}))}clearLastFrame(){var e;this.destination&&(null==(e=this.destination.ctx2d)||e.clearRect(0,0,this.destination.width,this.destination.height))}changeInput(e){var t,r,i,o,n;if(e instanceof NB)return this.log.info("change screen input",null==(t=e.mediaTrack)?void 0:t.label),this.setScreenTrack(e);if(e instanceof eB)return this.log.info("change video input",null==(r=e.mediaTrack)?void 0:r.label),this.setCameraTrack(e);if(e instanceof VB){this.log.info("change remote input",null==(i=e.mediaTrack)?void 0:i.label);let t=e.mediaTrack;return e.setOutputMediaStreamTrack(t)}if(e instanceof wB)return this.log.info("change mix input",null==(o=e.outMediaTrack)?void 0:o.label),this.setMixTrack(e);this.log.warn("change unknown input",null==(n=e.mediaTrack)?void 0:n.label)}removeInput(e){var t;e instanceof NB?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof eB?this._isMixScreen?(delete this.cameraNode,this.cameraTrack._inputTrack=null,this.update()):(this.clear(),delete this.cameraTrack,this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource)):e instanceof VB?e.source&&e.source.context.destroy():e instanceof wB&&(delete this.mixTrack,this.update())}setMixTrack(e){this.mixTrack=e}setCameraTrack(e){return this.cameraTrack=e,this.update(!0)}setScreenTrack(e){return ow(this,null,(function*(){return this.screenTrack=e,this._isMixScreen&&(this.screenNode?this.screenNode.replaceTrack(e.mediaTrack):yield this.update()),e.setOutputMediaStreamTrack(e.mediaTrack)}))}getWatermarkImage(e,t){return ow(this,null,(function*(){let r=document.createElement("canvas");t&&e&&(r.height=t,r.width=e);let i=r.getContext("2d");if(!i)throw new pw({code:uw.NOT_SUPPORTED,message:"Make image failed because of canvas context is null"});return this.watermarkImageList.sort(((e,t)=>e.zIndex-t.zIndex)),this.watermarkImageList.forEach((e=>{let{image:t,x:r,y:o,width:n,height:a}=e;i.drawImage(t,r,o,n,a)})),_N(r.toDataURL())}))}pushWaterMarkImageList(e){let{type:t}=e;this.watermarkImageList.some((t=>t.imageUrl===e.imageUrl&&t.height===e.height&&t.width===e.width&&t.x===e.x&&t.y===e.y&&t.type===e.type&&t.zIndex===e.zIndex))||(("mute"===t||"watermark"===t)&&(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==t))),this.watermarkImageList.push(e))}setBeautyParams(e){return ow(this,null,(function*(){this._beautyParams=e,this.update()}))}stopBeauty(){return ow(this,null,(function*(){this._beautyParams=void 0,this.update()}))}setWatermark(e){return ow(this,null,(function*(){let t;try{t=yield _N((null==e?void 0:e.imageElement)||e.imageUrl)}catch(c){throw new pw({code:uw.INVALID_PARAMETER,message:"load image failed, url: ".concat(e.imageUrl)})}let{x:r=0,y:i=0,width:o=t.width,height:n=t.height,type:a="watermark",zIndex:s=2}=e;this.watermarkImageList.some((e=>e.type===a))?(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==a)),this.pushWaterMarkImageList({x:r,y:i,width:o,height:n,image:t,zIndex:s,type:a,imageUrl:e.imageUrl}),t=yield this.getWatermarkImage(this.cameraResolution.width,this.cameraResolution.height),this._waterMarkOption={x:0,y:0,width:t.width,height:t.height,image:t},this.waterMarkNode?(this.waterMarkNode.x=0,this.waterMarkNode.y=0,this.waterMarkNode.resize(t.width,t.height),this.waterMarkNode.image=t):this.update()):(this.pushWaterMarkImageList({x:r,y:i,width:o,height:n,image:t,zIndex:s,type:a,imageUrl:e.imageUrl}),yield this.freshWatermark()),this.log.info("set watermark",JSON.stringify(this.watermarkImageList,((e,t)=>"imageUrl"===e?void 0:t)))}))}deleteWatermark(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"watermark";return ow(this,null,(function*(){this.watermarkImageList=this.watermarkImageList.filter((t=>t.type!==e)),this.log.info("delete watermark",e,JSON.stringify(this.watermarkImageList,((e,t)=>"imageUrl"===e?void 0:t))),yield this.freshWatermark()}))}freshWatermark(){return ow(this,null,(function*(){var e;null==(e=this.waterMarkNode)||e.close(),delete this.waterMarkNode,delete this._waterMarkOption;let{width:t,height:r}=this.cameraResolution,i=yield this.getWatermarkImage(t,r);this._waterMarkOption={x:0,y:0,width:i.width,height:i.height,image:i},this.update()}))}setVirtualBackground(e){return ow(this,null,(function*(){var t,r,i;if(e){if(e.onAbort&&(this._virtualBackgroundAbortCallback=e.onAbort),this._use2d&&!this._autoSwitchRenderMode)return Promise.reject(new Error("not support virtual background in 2d mode"));this._bgAssetPath=e.assetPath,"image"===e.type?this._virtualBackground=yield _N(e.imageUrl):(this.blurRadius=e.blurLevel||this.blurRadius||3,this._virtualBackground=e.type),this._enableFaceCentering=null!=(t=e.enableFaceCentering)?t:this._enableFaceCentering,this._enableEffectOptimization=null!=(r=e.enableEffectOptimization)?r:this._enableEffectOptimization,this._color=null!=(i=e.color)?i:[0,1,0]}else delete this._virtualBackground,delete this._virtualBackgroundAbortCallback;if(this.log.info("".concat(this._virtualBackground?"start":"stop"," virtual background, ").concat((null==e?void 0:e.type)||"",", ").concat(this.blurRadius||"")),yield this.update(),this._virtualBackground&&!this._glVideoContext.available)throw new pw({code:uw.INVALID_OPERATION,message:"webgl context create failed, ".concat(this._glVideoContext.error)})}))}get mixScreen(){return this._isMixScreen}set mixScreen(e){var t;this._isMixScreen=e,this._isMixScreen||(null==(t=this.screenNode)||t.close(),delete this.screenNode),this.update()}set mirror(e){var t;this._isMirror!==e&&(this._isMirror=e,this._isTransform||(null==(t=this.transformNode)||t.close(),delete this.transformNode),this.update())}get mirror(){return this._isMirror}set rotation(e){var t;this._rotation!==e&&(this._rotation=e,this._isTransform||(null==(t=this.transformNode)||t.close(),delete this.transformNode),this.update())}get rotation(){return this._rotation}enableAr(e){this.arTrack=e,this.isUsingArTrack=!0,this.update()}updateAr(){return ow(this,null,(function*(){var e;null!=(e=this.cameraTrack)&&e.mediaTrack&&(yield this.virtualBackgroundInstance.ar.updateInputTrack(this.cameraTrack.mediaTrack.clone()))}))}disableAr(){var e;this.isUsingArTrack=!1,null==(e=this.arTrack)||e.stop(),this.arTrack=void 0,this.update()}createDecodeContext(e){return new Gj(e)}clear(){var e,t;null==(e=this.videoContext)||e.disconnect(),null==(t=this.destination)||t.removeAllListeners(),delete this.destination,delete this.cameraNode,delete this.transformNode,delete this.screenNode,delete this.waterMarkNode}addEncodeProcessor(e){let{processor:t,type:r}=e;var i;this.encodePipeline.includes(t)||(this.encodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}addDecodeProcessor(e){let{processor:t,type:r}=e;var i;this.decodePipeline.includes(t)||(this.decodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}removeEncodeProcessor(e){let{type:t}=e;this.encodePipeline[t]=void 0}removeDecodeProcessor(e){let{type:t}=e;this.decodePipeline[t]=void 0}};tw([function(e){return yU(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return ow(this,null,(function*(){try{return yield t.apply(this,i)}catch(iM){e.call(this,iM)}}))}))}((function(e){this.log.error("update failed",e)})),yU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return ow(this,null,(function*(){this._updateFlag||(this._updateFlag=!0,yield zj,this.updated=new Promise(((t,i)=>{e.apply(this,r).then(t,i),setTimeout(i,5e3,new pw({code:uw.API_CALL_TIMEOUT,message:"update timeout"}))})),this._updateFlag=!1,yield this.updated)}))}))],Kj.prototype,"update",1);var qj=0,Yj=class extends PP{constructor(e){super("room"),rw(this,"seq",++qj),rw(this,"sdkAppId"),rw(this,"userId"),rw(this,"userSig"),rw(this,"privateMapKey"),rw(this,"latencyLevel"),rw(this,"tinyId"),rw(this,"scene"),rw(this,"roomId"),rw(this,"useStringRoomId"),rw(this,"role","anchor"),rw(this,"joinParams",null),rw(this,"localPublishFlag",0),rw(this,"localTracks",new Set),rw(this,"enableAutoPlayDialog",!0),rw(this,"autoReceiveAudio",!0),rw(this,"autoReceiveVideo",!0),rw(this,"proxy_ws"),rw(this,"proxy_wt"),rw(this,"proxy_unified"),rw(this,"checkSystemResult",{result:!0,detail:{isBrowserSupported:!0,isWebRTCSupported:!0,isWebCodecsSupported:!0,isMediaDevicesSupported:!0,isScreenShareSupported:!0,isSmallStreamSupported:!0,isH264EncodeSupported:!0,isVp8EncodeSupported:!0,isH264DecodeSupported:!0,isVp8DecodeSupported:!0,isH265EncodeSupported:!0,isH265DecodeSupported:!0}}),rw(this,"keyPointManager"),rw(this,"audioManager"),rw(this,"videoManager"),rw(this,"callDurationCalculator"),rw(this,"badCaseDetector"),rw(this,"scheduleResult",{domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}),rw(this,"videoDecodeFallbackType"),rw(this,"smallMode","canvas"),rw(this,"enableChorus",!1),rw(this,"_isUsingCachedSchedule",!1),rw(this,"_log",qO.createLogger({id:"r".concat(this.seq)})),rw(this,"_joinedTimestamp",0),rw(this,"_sdkType"),rw(this,"heartbeatReport"),rw(this,"quality"),rw(this,"enableSEI"),rw(this,"isDestroyed",!1),this.useStringRoomId=!!e.useStringRoomId,WD(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),WD(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),WD(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this._sdkType=e.sdkType,this.keyPointManager=new Lj({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new xj({room:this}),this.badCaseDetector=new Uj({room:this}),this.audioManager=new LB(this),this.videoManager=new Kj(this)}get videoCodec(){return"h264"}get scriptTransformWorker(){}get isMainStreamPublished(){for(let e of this.localTracks)if(4&e.mediaType)return!0;return!1}get isAuxStreamPublished(){for(let e of this.localTracks)if(2&e.mediaType)return!0;return!1}get hasAuxStream(){for(let e of this.remotePublishedUserMap.values())if(e.muteState.hasAuxiliary)return!0;return this.isAuxStreamPublished}get localMainVideoTrack(){for(let e of this.localTracks)if(4&e.mediaType)return e;return null}get localAuxVideoTrack(){for(let e of this.localTracks)if(2&e.mediaType)return e;return null}getLogger(){return this._log}get isJoining(){return"joining"===this.state.toString()}get isJoined(){return"joined"===this.state}get isLeft(){return"left"===this.state}addTrack(e){return ow(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return ow(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return ow(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAIVoice(e){throw new Error("Method not implemented.")}setProxyServer(e){if(BD(e))e.startsWith("wss://")?this.proxy_ws=e:e.startsWith("https://")&&(this.proxy_wt=e);else if(LD(e)){let{websocketProxy:t,webtransportProxy:r,loggerProxy:i,scheduleProxy:o,unifiedProxy:n}=e;this.proxy_ws=t,this.proxy_wt=r,this.proxy_unified=n,n?(vW([n,n]),Dw("https://".concat(n))):(i&&Dw(i),o&&vW(o))}WO.once(GO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({sched_domain:EW.main,sched_back_domain:EW.backup,signal_domain:this.proxy_ws||this.proxy_wt||""})))}getRemoteAudioStats(){return ow(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return ow(this,null,(function*(){var e;let t={rtt:(null==(e=this.quality)?void 0:e.uplinkRTT)||0,downlinksRTT:{}};if(this.quality)for(let r of this.quality.downlinkInfo)t.downlinksRTT[r.userId]=r.rtt;return t}))}getRemoteVideoStats(){return ow(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"main";return function*(){let r={};return e.remotePublishedUserMap.forEach((e=>{let i="auxiliary"===t?e.remoteAuxiliaryTrack:e.remoteVideoTrack;r[e.userId]=i.stat})),r}()}))}checkDestroy(){if(this.isDestroyed)throw new pw({code:uw.INVALID_OPERATION,message:sL({key:iL.CLIENT_DESTROYED,data:{funName:"join"}})})}destroy(){if(this.isJoined)throw this._log.warn(oL.INVALID_DESTROY),new pw({code:uw.INVALID_OPERATION,message:sL({key:iL.INVALID_DESTROY})});this._log.info("destroy room"),this.audioManager.destroy(),this.videoManager.destroy(),this.keyPointManager.destroy(),this.callDurationCalculator.destroy(),this.badCaseDetector.destroy(),this.isDestroyed=!0,WO.emit(GO.ROOM_DESTROY,{room:this})}schedule(e,t){return ow(this,null,(function*(){var r,i,o,n;let a=ZD();try{let{isCached:s,result:c,detailCost:l}=yield gW({userId:this.userId,sdkAppId:this.sdkAppId,roomId:this.useStringRoomId?e.strRoomId:e.roomId,useStringRoomId:this.useStringRoomId,version:Tw,userSig:this.userSig,role:"live"===this.scene?e.role:void 0,frameWorkType:t,latencyLevel:e.latencyLevel});this._isUsingCachedSchedule=s,this._log.info("schedule cache:".concat(+s," ").concat(hN(c,{keysToExclude:["username","credential"]}))),s&&WO.once(GO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=Xb(Xb({},this.scheduleResult),c),HD(null==(r=c.config)?void 0:r.retryCount)&&AC(c.config.retryCount),BD(null==(i=c.config)?void 0:i.loggerDomain)&&Dw(c.config.loggerDomain),this.videoDecodeFallbackType=(null==(o=c.config)?void 0:o.videoDecodeFallback)||this.videoDecodeFallbackType,this.smallMode=(null==(n=c.config)?void 0:n.smallMode)||this.smallMode,WO.emit(GO.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:l}),EL.addSuccessEvent({key:521700,cost:ZD()-a})}catch(ZO){throw EL.addFailedEvent({key:521700,error:ZO}),ZO}}))}sendAbilityStatus(e){}enableInsertableStreams(){return Promise.resolve()}switchRoom(e){return Promise.reject()}isSwitchRoomSupported(){return!1}};var Jj={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},Xj="__INLINE__WORKER__",$j="__INLINE__WASM__",{debug:Qj}=console;Jj.debug||(console.debug=()=>{});var Zj,eG=!Xj.startsWith("__"),tG=!$j.startsWith("__");function rG(){let e=TN("".concat(Jj.assetsPath?"".concat(Jj.assetsPath,"/"):"","worker.js"));return eG?URL.createObjectURL(new Blob([atob(Xj)],{type:"application/javascript"})):e.startsWith("http")?fetch(e).then((e=>e.blob().then((e=>URL.createObjectURL(e))))):e}function iG(){return ow(this,null,(function*(){let e=Jj.assetsPath?"".concat(Jj.assetsPath,"/"):"";return Zj||(Zj=tG?(new TextEncoder).encode(atob($j)).buffer:yield fetch(TN("".concat(e,"av_processing.wasm"))).then((e=>e.arrayBuffer())),Zj)}))}var oG=new class{constructor(){rw(this,"playPort"),rw(this,"playPortSent",!1),rw(this,"worklet"),rw(this,"workletPromise")}init(){return this.workletPromise||(this.workletPromise=this._init()),this.workletPromise}_init(){return ow(this,null,(function*(){let e=Px(),t=rG();try{yield e.audioWorklet.addModule("string"==typeof t?t:yield t),qO.info("global audio player worklet addModule success",t)}catch(RC){throw qO.error("global audio player worklet addModule failed:",RC),RC}return this.worklet=new AudioWorkletNode(e,"global-audio-player",{processorOptions:{wasm:yield iG(),flag:Jj},numberOfInputs:2}),qO.info("global audio player worklet created",e.state),this.playPort=this.worklet.port,this.playPort}))}playAudio(e){return ow(this,null,(function*(){var t;yield this.init();let r=new MessageChannel;null==(t=this.playPort)||t.postMessage(null,[r.port1]),e(r.port2)}))}},nG="undefined"!=typeof self&&(!("top"in self)||self===top)&&"showOpenFilePicker"in self&&"showOpenFilePicker";nG?Promise.resolve().then((function(){return lG})):Promise.resolve().then((function(){return fG})),nG?Promise.resolve().then((function(){return pG})):Promise.resolve().then((function(){return _G}));var aG=nG?Promise.resolve().then((function(){return mG})):Promise.resolve().then((function(){return gG}));function sG(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return ow(this,null,(function*(){return(yield aG).default(...t)}))}var cG=e=>ow(void 0,null,(function*(){let t=yield e.getFile();return t.handle=e,t})),lG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return ow(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){Array.isArray(e)||(e=[e]);let t=[];e.forEach(((e,r)=>{t[r]={description:e.description||"Files",accept:{}},e.mimeTypes?e.mimeTypes.map((i=>{t[r].accept[i]=e.extensions||[]})):t[r].accept["*/*"]=e.extensions||[]}));let r=yield window.showOpenFilePicker({id:e[0].id,startIn:e[0].startIn,types:t,multiple:e[0].multiple||!1,excludeAcceptAllOption:e[0].excludeAcceptAllOption||!1}),i=yield Promise.all(r.map(cG));return e[0].multiple?i:i[0]}()}))}};function dG(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return dG=function(e){this.s=e,this.n=e.next},dG.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new dG(e)}var uG,hG=function(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return ow(void 0,[e,t,...i],(function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.name,i=arguments.length>3?arguments[3]:void 0;return function*(){let o=[],n=[];var a,s=!1,c=!1;try{for(var l,d=function(e){var t,r,i,o=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,i=Symbol.iterator);o--;){if(r&&null!=(t=e[r]))return t.call(e);if(i&&null!=(t=e[i]))return new dG(t.call(e));r="@@asyncIterator",i="@@iterator"}throw new TypeError("Object is not async iterable")}(e.values());s=!(l=yield d.next()).done;s=!1){let a=l.value,s="".concat(r,"/").concat(a.name);"file"===a.kind?n.push(a.getFile().then((t=>(t.directoryHandle=e,t.handle=a,Object.defineProperty(t,"webkitRelativePath",{configurable:!0,enumerable:!0,get:()=>s}))))):"directory"!==a.kind||!t||i&&i(a)||o.push(hG(a,t,s,i))}}catch(u){c=!0,a=u}finally{try{s&&null!=d.return&&(yield d.return())}finally{if(c)throw a}}return[...(yield Promise.all(o)).flat(),...yield Promise.all(n)]}()}))},pG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return ow(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){e.recursive=e.recursive||!1,e.mode=e.mode||"read";let t=yield window.showDirectoryPicker({id:e.id,startIn:e.startIn,mode:e.mode});return hG(t,e.recursive,void 0,e.skipDirectory)}()}))}},mG={__proto__:null,default:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return ow(void 0,[e,...r],(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[{}],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return function*(){Array.isArray(t)||(t=[t]),t[0].fileName=t[0].fileName||"Untitled";let n=[],a=null;if(e instanceof Blob&&e.type?a=e.type:e.headers&&e.headers.get("content-type")&&(a=e.headers.get("content-type")),t.forEach(((e,t)=>{n[t]={description:e.description||"Files",accept:{}},e.mimeTypes?(0===t&&a&&e.mimeTypes.push(a),e.mimeTypes.map((r=>{n[t].accept[r]=e.extensions||[]}))):a?n[t].accept[a]=e.extensions||[]:n[t].accept["*/*"]=e.extensions||[]})),r)try{yield r.getFile()}catch(l){if(r=null,i)throw l}let s=r||(yield window.showSaveFilePicker({suggestedName:t[0].fileName,id:t[0].id,startIn:t[0].startIn,types:n,excludeAcceptAllOption:t[0].excludeAcceptAllOption||!1}));!r&&o&&o(s);let c=yield s.createWritable();return"stream"in e?(yield e.stream().pipeTo(c),s):"body"in e?(yield e.body.pipeTo(c),s):(yield c.write(yield e),yield c.close(),s)}()}))}},fG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return ow(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){return Array.isArray(e)||(e=[e]),new Promise(((t,r)=>{let i=document.createElement("input");i.type="file";let o=[...e.map((e=>e.mimeTypes||[])),...e.map((e=>e.extensions||[]))].join();i.multiple=e[0].multiple||!1,i.accept=o||"",i.style.display="none",document.body.append(i);let n=e=>{"function"==typeof a&&a(),t(e)},a=e[0].legacySetup&&e[0].legacySetup(n,(()=>a(r)),i),s=()=>{window.removeEventListener("focus",s),i.remove()};i.addEventListener("click",(()=>{window.addEventListener("focus",s)})),i.addEventListener("change",(()=>{window.removeEventListener("focus",s),i.remove(),n(i.multiple?Array.from(i.files):i.files[0])})),"showPicker"in HTMLInputElement.prototype?i.showPicker():i.click()}))}()}))}},_G={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return ow(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){return Array.isArray(e)||(e=[e]),e[0].recursive=e[0].recursive||!1,new Promise(((t,r)=>{let i=document.createElement("input");i.type="file",i.webkitdirectory=!0;let o=e=>{"function"==typeof n&&n(),t(e)},n=e[0].legacySetup&&e[0].legacySetup(o,(()=>n(r)),i);i.addEventListener("change",(()=>{let t=Array.from(i.files);e[0].recursive?e[0].recursive&&e[0].skipDirectory&&(t=t.filter((t=>t.webkitRelativePath.split("/").every((t=>!e[0].skipDirectory({name:t,kind:"directory"})))))):t=t.filter((e=>2===e.webkitRelativePath.split("/").length)),o(t)})),"showPicker"in HTMLInputElement.prototype?i.showPicker():i.click()}))}()}))}},gG={__proto__:null,default:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return ow(void 0,[e,...r],(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){Array.isArray(t)&&(t=t[0]);let r=document.createElement("a"),i=e;"body"in e&&(i=yield function(e,t){return ow(this,null,(function*(){let r=e.getReader(),i=new ReadableStream({start:e=>function t(){return ow(this,null,(function*(){return r.read().then((r=>{let{done:i,value:o}=r;if(!i)return e.enqueue(o),t();e.close()}))}))}()}),o=new Response(i),n=yield o.blob();return r.releaseLock(),new Blob([n],{type:t})}))}(e.body,e.headers.get("content-type"))),r.download=t.fileName||"Untitled",r.href=URL.createObjectURL(yield i);let o=()=>{"function"==typeof n&&n()},n=t.legacySetup&&t.legacySetup(o,(()=>n()),r);return r.addEventListener("click",(()=>{setTimeout((()=>URL.revokeObjectURL(r.href)),3e4),o()})),r.click(),null}()}))}},EG=class{constructor(e){this.name=e,rw(this,"ready"),rw(this,"worker"),rw(this,"ports"),rw(this,"ids",1),rw(this,"transactions",new Map),rw(this,"log"),rw(this,"addTransaction",(e=>(this.transactions.set(++this.ids,e),this.ids)))}postMessage(e,t){var r;null==(r=this.worker)||r.postMessage(e,t)}create(e){return ow(this,null,(function*(){if(this.ready)return this.ready;e||(e=this.name),console.time("createWorker_".concat(e));let t=rG(),r=new Worker("string"==typeof t?t:yield t,{name:e});return this.worker=r,this.ready=new Promise(((t,i)=>ow(this,null,(function*(){r.onmessage=r=>{let{data:{id:o,type:n,payload:a}}=r;var s;if(o)null==(s=this.transactions.get(o))||s(a),this.transactions.delete(o);else switch(n){case"error":console.timeEnd("createWorker_".concat(e)),console.warn("worker error:",a),i(a);break;case"ready":console.timeEnd("createWorker_".concat(e)),t(this);break;case"updateAFSM":if(a.value){let e="string"==typeof a.old?a.old:"".concat(a.old.action,"ing"),t="string"==typeof a.value?a.value:"".concat(a.value.action,"ing");console.log(uN(),a.group,a.name,e,"👉",t)}break;case"log":console.log(a);break;case"glog":window.dispatchEvent(new CustomEvent(n,{detail:a}))}},r.postMessage({wasm:yield iG(),flag:Jj},this.ports)}))))}))}destroy(){var e;console.log("destroy worker",this.name),delete this.ready,null==(e=this.worker)||e.terminate()}},vG=class{constructor(e,t,r){this.worker=e,rw(this,"channel",new MessageChannel),rw(this,"ready"),this.ready=new Promise(((e,r)=>{this.worker.postMessage({id:this.worker.addTransaction(e),payload:t},[this.channel.port2])})).then((e=>(0===e.err&&(this.worker.sessionCount++,this.channel.port1.onmessage=r),e)))}postMessage(){this.channel.port1.postMessage(...arguments)}destroy(){0==--this.worker.sessionCount&&this.worker.destroy()}},yG=new class e extends EG{constructor(){super("main"),rw(this,"switchValue",new Map),rw(this,"extendChannel"),rw(this,"sessionCount",0)}setSwitchValue(e,t){var r;this.switchValue.set(e,t),null==(r=this.extendChannel)||r.port1.postMessage([e,t])}create(){return ow(this,null,(function*(){return this.ready?this.ready:(this.extendChannel=new MessageChannel,this.ports=[this.extendChannel.port2],yield iw(e.prototype,this,"create").call(this),this.switchValue.forEach(((e,t)=>{this.extendChannel.port1.postMessage([t,e])})),this)}))}};function TG(e){return ow(this,null,(function*(){yield yG.create(),WO.emit(GO.JOIN_SEND_CMD,{room:this});let t=new vG(yG,e,(e=>{let r=e.data;if("string"==typeof r)this.onWorkerEvent(r);else if(null==r)this.onWorkerEvent("client-banned",0),t.destroy();else{let{cmd:e,payload:t}=r;this.onWorkerEvent(e,t)}})),{err:r,data:i}=yield t.ready;if("number"==typeof r){if(WO.emit(GO.JOIN_RECEIVED_CMD_RES,{room:this,code:r}),0===r)return Object.assign(this,i,{session:t});throw new pw({code:uw.JOIN_ROOM_FAILED,extraCode:Number(r),message:sL({key:iL.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:r,errorMsg:""}})})}throw r}))}function IG(e){return ow(this,null,(function*(){yG.setSwitchValue("useAINS",e)}))}function AG(e){return ow(this,null,(function*(){yG.setSwitchValue("useV2",e)}))}function SG(e){let t=new MediaStreamTrackGenerator({kind:"audio"});e.setInputMediaStreamTrack(t),this.postMessage({cmd:"pullAudio",payload:{tinyId:e.tinyId,writable:t.writable}},[t.writable])}function RG(e){return ow(this,null,(function*(){var t;this._log.info("pull video",e);let r=Date.now(),i=0,o=new MessageChannel;this.postMessage({cmd:"pullVideo",payload:{mediaType:e.mediaType,tinyId:e.tinyId}},[o.port1]),(t=e.stat).framesReceived||(t.framesReceived=0),FU(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=Object.defineProperties(aV(),{postMessage:{value:e.postMessage.bind(e)},port:{get:()=>e,set(t){e.onmessage=DU,e.onmessageerror=DU,e=t,i()}}});function i(){e.onmessage=i=>{i.data?i.ports.length||t?r.next(i):r.next(i.data):(r.complete(),e.close())},e.onmessageerror=t=>{r.error(t),e.close()}}return i(),r}(o.port2),HV(vV(e,PP.INIT)),WF((t=>{let{data:o,packetsReceived:n}=t;e.stat.packetsReceived=n,e.stat.framesReceived++,i++;let a,s=31&o[4];if(i<=10){let e=Array.from(o.slice(0,10)).map((e=>e.toString(16).padStart(2,"0"))).join(" ");this._log.info("Frame ".concat(i," - Size: ").concat(o.length," bytes, Type: ").concat(s,", Timestamp: ").concat(Date.now()-r,"ms First 10 bytes: ").concat(e))}switch(s){case 5:case 7:a="key";break;default:a="delta"}e.isAvailable?e.decodeFrame({data:o.buffer,type:a,timestamp:1e3*(Date.now()-r)}):console.warn("track is not available")}),(()=>{}),(()=>{o.port2.postMessage(null),o.port2.close()})))}))}Object.defineProperties(window,{useAINS:{set:IG},useWt:{set:function(e){return ow(this,null,(function*(){yG.setSwitchValue("useWt",e)}))}},enableDebug:{set(e){console.debug=e?Qj:()=>{},yG.setSwitchValue("enableDebug",e)}},useV2:{set:AG},dump:{value(){if(uG||(console.warn("dump audio will be activated at next time join room"),uG=[]),!uG.length)return void console.warn("no audio data to dump,try it later");let e=[];return uG.forEach((t=>{e.push(new Uint16Array([t.length])),e.push(t)})),sG(new Blob(e),{fileName:"audio dump hex",extensions:[".hex"]})}},dumpAudio:{value(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"audio",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2e3,r=[],i=new Promise((i=>{let o=new MessageChannel;yG.extendChannel.port1.postMessage(["dump",e],[o.port1]),o.port2.onmessage=n=>{let{data:a}=n;console.log(a),r.push(a),r.length>t&&(o.port2.onmessage=null,yG.extendChannel.port1.postMessage(["dump",e]),o.port2.close(),i(new Blob(r)))}}));return sG(i,{fileName:e,extensions:[".pcm"]})}},hardDec:{set(e){switch(e){case!0:Jj.useHardDecoder="prefer-hardware";break;case!1:Jj.useHardDecoder="prefer-software";break;default:Jj.useHardDecoder="no-preference"}}}});var bG=[];function wG(e){var t;let r=aV();if("joined"!==this.state)throw new Error("Room is not joined");if("publish"===e.state)return;for(let l=0;l<=bG.length;l++)if(!bG[l]){bG[l]=this,this.index=l;break}let i=e.profile;this._log.info("start push audio",this.index,i);let o=new MessageChannel,n=e.enableEncodeFrame?new MessageChannel:null;null==(t=this.session)||t.postMessage({cmd:"pushAudio",payload:Xb({index:this.index},i)},n?[o.port2,n.port2]:[o.port2]),o.port1.onmessage=t=>{null==t.data||("number"==typeof t.data?r.next(t.data):n&&n.port1.postMessage($b(Xb({},t.data),{data:new Uint8Array(e.encodeFrame({data:t.data.data.buffer,timestamp:t.data.timestamp}).data)})))};let a,s=new MediaStream,c=e=>{let t=s.getAudioTracks()[0];t&&(a.disconnect(),s.removeTrack(t)),s.addTrack(e),this._log.info("push audio track:",e.readyState,e.getSettings().deviceId),a=Px().createMediaStreamSource(s),a.connect(oG.worklet,0,this.index)};FU(vV(e,"output-media-track-changed"),HV(vV(e,"ready")),WF(c,console.error,(()=>{this._log.info("stop push audio",i),e.volume=0,a.disconnect(),bG[this.index]=null,n&&n.port1.postMessage(null),o.port1.postMessage(null)}))),FU(r,jF((t=>e.volume=t)),yF(sB(1e3)),WF((()=>{e.volume=0}))),c(e.outMediaTrack)}var CG=class{constructor(e,t,r,i){this.localTrack=e,this.type=t,this.config=r,this.port=i,rw(this,"track"),rw(this,"label"),rw(this,"insertKeyFrame",!0),rw(this,"session"),rw(this,"tsMap",new Map),e._log.info("create Video Encoder",r)}trans(e,t,r){return ow(this,null,(function*(){let i=yield this.recreate(r,{recreateCount:0,frameEncoded:0,selectConfigIndex:0});t.signal.addEventListener("abort",(()=>{i.encoder.close()}));let o=0;return e.pipeThrough(new TransformStream({transform:(e,t)=>{"configured"===i.encoder.state&&(this.tsMap.set(o,Date.now()),this.encode(e),o++,t.enqueue(e))}}),t)}))}encode(e){var t,r;null==(r=null==(t=this.session)?void 0:t.encoder)||r.encode(e,{keyFrame:this.insertKeyFrame}),this.insertKeyFrame=!1}start(e,t,r){return ow(this,null,(function*(){let i=yield this.recreate(r,{recreateCount:0,frameEncoded:0,selectConfigIndex:0});this.session=i;let o=0;e.pipeTo(new WritableStream({write:e=>{"configured"===i.encoder.state&&(o<10&&this.localTrack.log.info("capture ".concat(this.label," track frame:"),o,Date.now(),e.timestamp,e.displayWidth,e.displayHeight),(e.displayWidth!==this.config.width||e.displayHeight!==this.config.height)&&(this.localTrack.log.info("resize video track frame:",e.displayWidth,e.displayHeight,this.config.width,this.config.height),this.configure({width:e.displayWidth,height:e.displayHeight},i)),this.tsMap.set(o,Date.now()),this.encode(e),o<10&&this.localTrack.log.info("encode ".concat(this.label," track frame:"),o),o++,e.close())}}),t).catch((e=>{this.localTrack.log.warn(e),i.encoder.close()}))}))}recreate(e,t){return ow(this,null,(function*(){let r=0,i=new VideoEncoder({output:i=>{let o=this.tsMap.get(r);if(this.tsMap.delete(i.timestamp),r<10&&(0===r&&0===t.recreateCount&&WO.emit(GO.SEND_FIRST_VIDEO_FRAME,{room:e}),this.localTrack.log.info("encoded ".concat(this.label," track frame:"),r,Date.now(),i.timestamp)),r++,t.frameEncoded=r,!1===this.track.enabled)return;let n=null;if(this.localTrack.enableEncodeFrame){n=new Uint8Array(i.byteLength),i.copyTo(n);let e=this.localTrack.encodeFrame({data:n.buffer},3===this.type);n=new Uint8Array(e.data)}n?(this.localTrack.stat.bytesSent+=n.length,this.port.postMessage({chunk:{type:i.type,timestamp:i.timestamp,data:n,duration:i.duration},timestamp:o},[n.buffer])):(this.localTrack.stat.bytesSent+=i.byteLength,this.port.postMessage({chunk:i,timestamp:o}))},error:r=>{this.localTrack.log.warn(r,this.config),t.recreateCount++,setTimeout((()=>this.recreate(e,t)),100)}});return t.encoder=i,yield this.configure(null,t),t}))}configure(e,t){return ow(this,null,(function*(){var r;e&&Object.assign(this.config,e),null==(r=t.encoder)||r.configure(this.config)}))}close(){this.port.postMessage(null),this.port.close()}};function DG(e,t){return ow(this,null,(function*(){let r=2===e.mediaType,i=r?"screen":"video",o={codec:"avc1.420028",latencyMode:"realtime",avc:{format:"annexb"},hardwareAcceleration:Jj.useHardEncoder,width:t.profile.width,height:t.profile.height,framerate:t.profile.frameRate,bitrate:1e3*t.profile.bitrate},n=new MessageChannel;this.postMessage({cmd:"pushVideo",payload:t},[n.port1]);let a=new CG(e,t.type,o,n.port2);return n.port2.onmessage=e=>{if(260===e.data)a.insertKeyFrame=!0;else if(!r){let{bitrate:t}=e.data;OD({configureBr:[e.data.bitrate,t]}),a.session&&a.configure({bitrate:t},a.session)}},this._log.info("start push",i,t),a}))}function NG(e){return ow(this,null,(function*(){var t;let r=2===e.mediaType,i=r?"screen":"video",o={type:r?7:2,profile:e.profile,trackType:r?"screen":"camera",crypto:!(null==(t=e.manager)||!t.encodePipeline[0])};!r&&e.outMediaTrack instanceof CanvasCaptureMediaStreamTrack&&(o.trackType="canvas");let{trackType:n}=o,{width:a,height:s}=e.outMediaTrack.getSettings();o.profile.width=a,o.profile.height=s;let c=yield DG.call(this,e,o);this._log.info("VideoEncoder created",o);let l,d=t=>ow(this,null,(function*(){if(null==l||l.abort("track changed"),!t)return;l=new AbortController;let{width:r,height:o,displaySurface:a}=t.getSettings();r&&(c.config.width=r),o&&(c.config.height=o);let s,d=zN.match(/Chrome\/(\d+)/);"114"===(null==d?void 0:d[1])&&"browser"===a&&delete c.config.hardwareAcceleration,this._log.info("push",i,"track:",t.readyState,t.getSettings()),s="undefined"==typeof MediaStreamTrackProcessor||t instanceof CanvasCaptureMediaStreamTrack?new ReadableStream({start(t){e.on("render",(r=>{if(0!==e.player.mode)try{t.enqueue(new VideoFrame(r,{timestamp:1e3*performance.now()}))}catch(i){console.warn(i)}}))},pull(t){return ow(this,null,(function*(){if(0===e.player.mode&&EP()&&e.player.element)return new Promise((r=>{e.player.element.requestVideoFrameCallback(((i,o)=>{try{let r=new VideoFrame(e.player.element);t.enqueue(r)}catch(n){console.warn(n)}r()}))}))}))}}):new MediaStreamTrackProcessor({track:t}).readable;let u="small"in e&&e.small;return u?(this.smallEncoder||(this.smallEncoder=yield DG.call(this,e,{profile:u,type:3,trackType:n})),this.smallEncoder.track=t,this.smallEncoder.label="small",s=yield this.smallEncoder.trans(s,l,this)):this.smallEncoder&&(this.smallEncoder.close(),delete this.smallEncoder),c.track=t,c.label=i,c.start(s,l,this)}));return FU(vV(e,"output-media-track-changed"),HV(vV(e,"ready")),WF(d,console.error,(()=>{var e;this._log.info("stop push",i,o),l.abort("unpublish"),c.close(),null==(e=this.smallEncoder)||e.close()}))),d(e.outMediaTrack)}))}var kG=class e extends PP{constructor(t){var r,i;super(null!=(i=null==(r=t.roomid)?void 0:r.toString())?i:t.name,"volumeEvaluation"),this.room=t,rw(this,"enableInBackground",!1),rw(this,"interval",400),t.on("joined",(()=>{this.emit(e.INTERVALCHANGED,this.interval)})),FU(vV(this,e.INTERVALCHANGED),EF((e=>"joined"===this.room.state?this.room.fromWorker("getAudioEnergy",e):FU((e=>t=>{let r=0,i=performance.now();FU(aB,hF((t=>(t-i)/e|0)),VV((e=>e!=r&&(r=e,!0))))(t)})(e),hF((()=>[]))))),WF((e=>{e.forEach((e=>{this.room.remotePublishedUserMap.has(e.userId)&&(this.room.remotePublishedUserMap.get(e.userId).remoteAudioTrack.volume=e.volume)})),(!document.hidden||this.enableInBackground)&&this.state==PP.ON&&this.room.emit("audio-volume",e)})))}start(t,r){this.interval=t,this.enableInBackground=r,this.emit(e.INTERVALCHANGED,this.interval)}stop(){}};rw(kG,"INTERVALCHANGED","intervalChanged"),tw([OP([PP.INIT,PP.OFF],PP.ON)],kG.prototype,"start",1),tw([OP([],PP.OFF)],kG.prototype,"stop",1);var OG=kG,MG=class extends Yj{constructor(e){super(e),rw(this,"index",0),rw(this,"session"),rw(this,"tinyid"),rw(this,"roomid"),rw(this,"openid"),rw(this,"socketid"),rw(this,"relayip"),rw(this,"clientip"),rw(this,"remotePublishedUserMap",new Map),rw(this,"bussinessInfo"),rw(this,"token"),rw(this,"audioVolumeEvalution",new OG(this)),rw(this,"enableAIVoice",IG),rw(this,"AbilityOption",{AVLimit:{EncVideoCodec:"H265",EncVideoWidth:0,EncVideoHeight:0,EncVideoBr:"0",EncVideoFps:0,EncAudioCodec:"opus",EncAudioFS:0,EncAudioCh:0,EncAudioBr:"0"},GeneralLimit:{CPULimit:{uint32_CPU_num:navigator.hardwareConcurrency||0,str_CPU_name:navigator.platform,uint32_CPU_maxfreq:0,model:"",uint32_total_memory:0},uint32_terminal_type:FO(),uint32_device_type:0,str_os_verion:BO(),uint32_link_type:1,str_client_version:Tw,uint32_net_type:Gw[Ew.getNetworkType()],ua:navigator.userAgent,version:""}}),rw(this,"joinAbortController",new AbortController),rw(this,"smallAbortCtrl"),rw(this,"smallEncoder"),e.tinyId&&(this.tinyId=e.tinyId,AG(!0)),this._log||(this._log=e.logger),this.bussinessInfo=e.bussinessInfo,e.encodedDataProcessingListener&&this.setEncodedDataProcessingListener(e.encodedDataProcessingListener)}replaceTrack(e){return ow(this,null,(function*(){}))}getLogger(){return this._log}postMessage(e,t){this.session&&(e?"string"==typeof e?this.session.postMessage({cmd:e,payload:t}):this.session.postMessage(e,t):this.session.postMessage(null))}sendMessage(e,t){return new Promise(((r,i)=>{"joined"!=this.state&&i("join room first");let o=new MessageChannel;this.postMessage({cmd:e,payload:t},[o.port1]),o.port2.onmessageerror=i,o.port2.onmessage=e=>{o.port2.close(),r(e.data)}}))}fromWorker(e,t){if("joined"!=this.state)throw"join room first";return r=>{var i;let o=new MessageChannel;o.port2.onmessage=e=>{e.data?r.next(e.data):r.complete()},o.port2.onmessageerror=e=>r.error(e),r.defer((()=>{o.port2.postMessage(null),o.port2.close()})),null==(i=this.session)||i.postMessage({cmd:e,payload:t},[o.port1])}}switchRole(e){return ow(this,null,(function*(){if(e!==this.role)return this._log.info("switchRole() => switch role to: ".concat(e)),"audience"==e&&this.unpublish(...this.localTracks),this.sendMessage("switchRole","audience"==e?21:20).then((t=>{this.role=e}))}))}join(e,t,r){return ow(this,null,(function*(){var i,o,n;let a=Ew.getEnv(),s=TL(),c={isH264EncodeSupported:this.checkSystemResult.detail.isH264EncodeSupported,isVp8EncodeSupported:this.checkSystemResult.detail.isVp8EncodeSupported,frameWorkType:r,params:e,proxy_wt:null==(i=this.proxy_wt)?void 0:i.replace("https://",""),proxy_ws:null==(o=this.proxy_ws)?void 0:o.replace("wss://",""),proxy_cloud:null!=(n=this.scheduleResult.iceServers)&&n.length?this.scheduleResult.iceServers[0].urls:[],proxy_unified:this.proxy_unified,domains:this.scheduleResult.domains,env:a,osName:PO(),browserInfo:TL(),tinyId:this.tinyId,joinReq:{useStrRoomid:!!this.useStringRoomId,roomid:String(e.roomId||e.strRoomId),sdkAppID:String(e.sdkAppId),userSig:e.userSig,privMapEncrypt:e.privateMapKey||"",privMap:"",pstnBizType:0,role:"user",jsSdkVersion:Tw,browserVersion:s.browserName+s.browserVersion,closeLocalMedia:!0,trtcscene:"live"===t?2:1,trtcrole:e.role,bussinessInfo:e.businessInfo||this.bussinessInfo||"",isAuxUser:0,autoSubscribe:this.autoReceiveAudio&&this.autoReceiveVideo,AbilityOption:this.AbilityOption}};yield TG.call(this,c),console.log(this),oG.playAudio((e=>this.postMessage({cmd:"setAudioWorkletPort"},[e]))),this.checkDestroy()}))}leave(){return ow(this,null,(function*(){this.remotePublishedUserMap.forEach((e=>{e.remoteAudioTrack.close(),e.remoteAuxiliaryTrack.close(),e.remoteVideoTrack.close()})),this.postMessage(null),this.remotePublishedUserMap.clear(),this.localTracks.forEach(((e,t)=>t.unpublish())),this.localTracks.clear()}))}getSignalInfo(){return{tinyId:this.tinyid,clientIp:this.clientip,signalIp:"",relayIp:this.relayip,relayInnerIp:"",relayPort:0}}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e<=0?this.audioVolumeEvalution.stop():this.audioVolumeEvalution.start(e,t)}getLocalAudioStats(){return this.sendMessage("getLocalAudioStats")}getLocalVideoStats(){return this.sendMessage("getLocalVideoStats")}afterJoin(){return ow(this,null,(function*(){FU((e=>ow(this,null,(function*(){let t=new MessageChannel;t.port2.onmessage=r=>{r.data?e.next({data:r.data,port:t.port2}):e.complete()},t.port2.onmessageerror=t=>e.error(t),e.defer((()=>{t.port2.postMessage(null),t.port2.close()})),this.postMessage({cmd:"decodeAudio",payload:!!this.audioManager.decodePipeline[0]},[t.port1])}))),HV(vV(this,"left")),WF((e=>{let{data:t,port:r}=e,i=this.audioManager.decodePipeline[0]({frame:{data:t.data.buffer}});r.postMessage($b(Xb({},t),{data:new Uint8Array(i.data)}),[i.data])})))}))}onWorkerEvent(e,t){switch("network-quality"!==e&&console.info(this.userId,"onWorkerEvent",e,JSON.stringify(t)),e){case GO.RECEIVED_PUBLISHED_USER_LIST:return void WO.emit(e,Xb({room:this},t));case"1":if(t.userId===this.userId)return;return void this.emit("peer-join",t);case"2":return void this.emit("peer-leave",t);case"3":let r=new wj(this,t);return this.remotePublishedUserMap.set(t.userId,r),void this.emit("remote-published",r);case"5":{let e=t,r=this.remotePublishedUserMap.get(e);r&&(r.remoteVideoTrack.close(),r.remoteAuxiliaryTrack.close(),r.remoteAudioTrack.close(),this.remotePublishedUserMap.delete(e),this.emit("remote-unpublished",r))}return;case"banned":switch(t){case 8:return void this.emit("banned",{reason:"kick",message:""});case 2:case 6:case 4:return void this.emit("banned",{reason:"banned",message:""});case 7:case 5:return void this.emit("banned",{reason:"room_disband",message:""})}break;case"6":{let{prevMuteState:e,muteState:r,flag:i}=t,o=this.remotePublishedUserMap.get(r.userId);if(!o)return void this.emit("remote-publish-state-changed",t);o.flag=i}return WO.emit(GO.REMOTE_PUBLISH_STATE_CHANGED,Xb({room:this},t)),void this.emit("remote-publish-state-changed",t);case"7":return void(this.localPublishFlag!==t.flag&&(this.localPublishFlag=t.flag,this.emit("local-publish-flag-changed",t.flag)));case"network-quality":this.quality=Xb({},t);let{uplinkLoss:i,uplinkRTT:o,uplinkInfo:n,downlinkInfo:a,msg_down_stream_info:s}=t,c={str_sdk_version:Tw,uint64_datetime:Date.now(),msg_user_info:{str_identifier:this.userId,uint64_tinyid:this.tinyid},msg_device_info:{uint32_terminal_type:15,str_device_name:navigator.platform,str_os_version:"",uint32_net_type:Gw[AD()]},msg_event_msg:WB(this.userId),str_acc_ip:this.relayip,str_client_ip:this.clientip,msg_up_stream_info:n,msg_down_stream_info:s};WO.emit(GO.HEARTBEAT_REPORT,{room:this,report:c}),this.emit("heartbeat-report",c),WO.emit(GO.NETWORK_QUALITY,{room:this,uplink:{rtt:o,loss:i},downlinks:a}),delete t.downlinkInfo;break;case"signal-connection-state-changed":return void WO.emit(GO.SIGNAL_CONNECTION_STATE_CHANGED,Xb({room:this},t))}this.emit(e,t)}sendStartPublishCDN(e,t){return e.roomid=this.roomId,e.sdkAppID=String(this.sdkAppId),e.socketid=this.socketid,t&&(e.request_time=e.pushRequestTime),this.sendMessage("publishCdn",e)}sendStopPublishCDN(e,t){return e.roomid=this.roomId,e.sdkAppID=String(this.sdkAppId),e.socketid=this.socketid,t&&(e.request_time=e.pushRequestTime),this.sendMessage("stopPublishCdn",e)}sendStartMixTranscode(e){return this.sendMessage("startMcuMix",e)}sendStopMixTranscode(e){return this.sendMessage("stopMcuMix",e)}publish(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return ow(this,null,(function*(){t.forEach((e=>this.localTracks.add(e)));let e=t.reduce(((e,t)=>t.mediaType|e),0),r=this.sendMessage("publish",e).then((e=>0!==e.err?Promise.reject(e.err):e)),i=0;yield Promise.all(t.map((e=>ow(this,null,(function*(){if(1===(yield r,e.muted&&(i|=e.mediaType),zP(e,e).add("mute",(()=>{this.postMessage("mute",{mediaType:e.mediaType,userId:this.userId,srctinyid:this.tinyid,remove:!0})})).add("unmute",(()=>{this.postMessage("unmute",{mediaType:e.mediaType,userId:this.userId,srctinyid:this.tinyid,add:!0})})),e.mediaType))yield oG.init(),wG.call(this,e);else yield NG.call(this,e)}))))),i&&this.postMessage("mute",{mediaType:i,srctinyid:this.tinyid,userId:this.openid,remove:!0})}))}unpublish(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return ow(this,null,(function*(){t.forEach(KP),t.forEach((e=>this.localTracks.delete(e)))}))}subscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return ow(this,null,(function*(){let e=t.reduce(((e,t)=>t.mediaType|e),0),{userId:r,tinyId:i,streamType:o}=t[0],n=this.remotePublishedUserMap.get(r),a=Xb({},n.subscribeState),s=Object.assign(new zM,a);s.mediaType|=e,WO.emit(GO.SUBSCRIBE_START,{room:this,streamType:o,remotePublishedUser:n,subscribeState:s});let c=yield this.sendMessage("subscribe",{mediaType:s.mediaType,userId:r,srctinyid:i,mediaDescription:{audioParam:{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]},videoParam:[4,8,2].filter((e=>s.mediaType&e)).map((e=>({mediaType:e,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]})))}});console.dir("subscribe",c),yield Promise.all(t.filter((e=>!e.isSubscribed)).map((e=>1===e.mediaType?SG.call(this,e):RG.call(this,e)))),WO.emit(GO.SUBSCRIBE_SUCCESS,{room:this,streamType:o,remotePublishedUser:n})}))}unsubscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return ow(this,null,(function*(){let e=0;for(let r of t)e|=r.mediaType;if(t.length){let{userId:r,streamType:i,tinyId:o}=t[0];yield this.sendMessage("unSubscribe",{mediaType:e,srctinyid:o,userId:r});for(let e of t)e.unsubscribe();WO.emit(GO.UNSUBSCRIBE_SUCCESS,{room:this,streamType:i,remotePublishedUser:this.remotePublishedUserMap.get(r)})}}))}enableSmall(e){return ow(this,null,(function*(){var t;if(e){if(this.videoManager.smallTrack){let e=this.videoManager.cameraTrack;this.smallEncoder=yield DG.call(this,e,{profile:e.small,type:3,trackType:"camera"});let t=new MediaStreamTrackProcessor({track:this.videoManager.smallTrack}).readable;this.smallEncoder.track=this.videoManager.smallTrack,this.smallEncoder.label="small",this.smallAbortCtrl=new AbortController,this.smallEncoder.start(t,this.smallAbortCtrl,this),this._log.info("push small")}}else null==(t=this.smallAbortCtrl)||t.abort("stop"),this.smallEncoder&&(this.smallEncoder.close(),delete this.smallEncoder)}))}changeType(e,t){let r=this.remotePublishedUserMap.get(t.userId);if(!r)return;let i=e?8:4;if(r.remoteVideoTrack.mediaType===i)return;let o={srctinyid:r.tinyId,mediaType:i,userId:t.userId,mediaDescription:{audioParam:{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]},videoParam:[4,8].filter((e=>i&e)).map((e=>({mediaType:e,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]})))}};r.remoteVideoTrack.mediaType=o.mediaType,this.postMessage("changetype",o)}destroy(){this.isDestroyed||(super.destroy(),this.isDestroyed=!0,this.joinAbortController.abort("destroy"))}};tw([vU(MG.prototype.afterJoin),OP(["left",PP.INIT],"joined"),yU((e=>{let t=new Cj;return function(r,i,o){return ow(this,null,(function*(){let n=String(r.roomId||r.strRoomId);if(this.userId=r.userId,this.sdkAppId=r.sdkAppId,this.userSig=r.userSig,this._log.setSdkAppId(this.sdkAppId),this._log.setUserId(this.userId),this.scene=i,r.privateMapKey=r.privateMapKey||"",this.isJoined)throw new pw({code:uw.INVALID_OPERATION,message:sL({key:iL.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:n,sdkAppId:this.sdkAppId,room:this}))throw new pw({code:uw.INVALID_OPERATION,message:sL({key:iL.REPEAT_JOIN,data:this.userId})});t.add({room:this,roomId:n}),this.role=21===r.role?"audience":"anchor",this._log.info("Join() => joining room: ".concat(n," useStringRoomId: ").concat(this.useStringRoomId," scene: ").concat(this.scene," role: ").concat(this.role)),WO.emit(GO.JOIN_START,{room:this,roomId:n,params:r});let a=Ew.getEnv();a||(a=Bw.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(Zw.OLD_CLOUD_LADDER)?a=Bw.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(Zw.WEBRTC)&&(a=Bw.WEBRTC))),qP.setConfig({env:a,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:n}),XO.checkSystemRequirementsInternal(o).then((e=>{this.checkSystemResult=e,Dj.call(this)}));try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!Ew.getEnv()&&(yield this.schedule(r,o));let t=yield e.call(this,r,i,o);return this.roomId=n,this._joinedTimestamp=Ew.performanceNow(),WO.emit(GO.JOIN_SUCCESS,{room:this}),30===o&&!r.component&&qP.uploadEvent({log:"stat-conv-".concat(Number(AO),"-").concat(location.hostname),userId:this.userId}),t}catch(rM){throw t.delete({room:this,roomId:n}),WO.emit(GO.JOIN_FAILED,{room:this,error:rM}),rM}}))}}))],MG.prototype,"join",1),tw([OP("joined","left",{ignoreError:!0}),yU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return ow(this,null,(function*(){WO.emit(GO.LEAVE_START,{room:this}),yield e.call(this,...r),WO.emit(GO.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))}))],MG.prototype,"leave",1),tw([bU(),yU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return ow(this,null,(function*(){if("live"===this.scene&&"anchor"!==this.role||(r=r.filter((e=>e.outMediaTrack&&"ready"===e.state)),!r.length))return;WO.emit("61",{room:this});let t=e.apply(this,r);return Promise.all(r.map((e=>e.publish(this,t))))}))}))],MG.prototype,"publish",1),tw([bU(),yU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];let o=e.apply(this,r);return r.forEach((e=>e.unpublish())),o}))],MG.prototype,"unpublish",1),tw([function(e){return function(t,r,i){let o=i.value,n=t=>e(...t);return i.value=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];let i=RU.get(this)||new Map,a=i.get(n(t))||new AU;return i.set(n(t),a),RU.set(this,i),a.push({fn:o,args:t,context:this})},i}}((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].userId})),yU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];let o=e.apply(this,r);return r.forEach((e=>!e.isSubscribed&&e.subscribe(o))),o}))],MG.prototype,"subscribe",1);var LG=MG;bj.frameWorkType=37,bj.create=function(e){let t=bj._create.call(this,LG,e);return t._use(wH,null==e?void 0:e.assetsPath),null!=e&&e.assetsPath&&(Jj.assetsPath=null==e?void 0:e.assetsPath),console.log("trtc wasm sdk:",Tw,"created",Jj),t};var PG=bj.prototype._setCurrentSpeaker;return Object.assign(bj.prototype,{_setCurrentSpeaker(e){PG.call(this,e);let t=Px();return null!=t&&t.setSinkId?t.setSinkId(e):Promise.reject("not support")},_enableVideoDecodeFallback(e,t){return ow(this,null,(function*(){return this.startPlugin(wH.Name,{type:"webCodecs",renderer:"videoFrame",track:e,config:{codec:"avc1.640028",hardwareAcceleration:"prefer-software",optimizeForLatency:!0},fallback:"wasm"}),new Promise(((t,r)=>{FU(vV(e,"decode-downgrade-state-changed"),VV((e=>"STARTED"===e.state)),BV(1),GF(1e4),HV(vV(e,PP.INIT)),WF(t,r))}))}))}}),gP(37),bj}));
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):(e="undefined"!=typeof globalThis?globalThis:e||self).TRTC=t()}(this,(function(){var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},t=function(e){return e&&e.Math===Math&&e},r=t("object"==typeof globalThis&&globalThis)||t("object"==typeof window&&window)||t("object"==typeof self&&self)||t("object"==typeof e&&e)||t("object"==typeof e&&e)||function(){return this}()||Function("return this")(),i={},o=function(e){try{return!!e()}catch(t){return!0}},n=!o((function(){return 7!==Object.defineProperty({},1,{get:function(){return 7}})[1]})),a=!o((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),s=a,c=Function.prototype.call,l=s?c.bind(c):function(){return c.apply(c,arguments)},d={},u={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!u.call({1:2},1);d.f=p?function(e){var t=h(this,e);return!!t&&t.enumerable}:u;var m,f,_=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},g=a,E=Function.prototype,v=E.call,y=g&&E.bind.bind(v,v),T=g?y:function(e){return function(){return v.apply(e,arguments)}},I=T,A=I({}.toString),S=I("".slice),R=function(e){return S(A(e),8,-1)},b=o,w=R,C=Object,D=T("".split),N=b((function(){return!C("z").propertyIsEnumerable(0)}))?function(e){return"String"===w(e)?D(e,""):C(e)}:C,k=function(e){return null==e},O=k,M=TypeError,L=function(e){if(O(e))throw new M("Can't call method on "+e);return e},P=N,x=L,U=function(e){return P(x(e))},V="object"==typeof document&&document.all,F=void 0===V&&void 0!==V?function(e){return"function"==typeof e||e===V}:function(e){return"function"==typeof e},B=F,H=function(e){return"object"==typeof e?null!==e:B(e)},W=r,j=F,G=function(e,t){return arguments.length<2?(r=W[e],j(r)?r:void 0):W[e]&&W[e][t];var r},z=T({}.isPrototypeOf),K=r.navigator,q=K&&K.userAgent,Y=q?String(q):"",J=r,X=Y,$=J.process,Q=J.Deno,Z=$&&$.versions||Q&&Q.version,ee=Z&&Z.v8;ee&&(f=(m=ee.split("."))[0]>0&&m[0]<4?1:+(m[0]+m[1])),!f&&X&&(!(m=X.match(/Edge\/(\d+)/))||m[1]>=74)&&(m=X.match(/Chrome\/(\d+)/))&&(f=+m[1]);var te=f,re=te,ie=o,oe=r.String,ne=!!Object.getOwnPropertySymbols&&!ie((function(){var e=Symbol("symbol detection");return!oe(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&re&&re<41})),ae=ne&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,se=G,ce=F,le=z,de=Object,ue=ae?function(e){return"symbol"==typeof e}:function(e){var t=se("Symbol");return ce(t)&&le(t.prototype,de(e))},he=String,pe=function(e){try{return he(e)}catch(t){return"Object"}},me=F,fe=pe,_e=TypeError,ge=function(e){if(me(e))return e;throw new _e(fe(e)+" is not a function")},Ee=ge,ve=k,ye=function(e,t){var r=e[t];return ve(r)?void 0:Ee(r)},Te=l,Ie=F,Ae=H,Se=TypeError,Re={exports:{}},be=r,we=Object.defineProperty,Ce=function(e,t){try{we(be,e,{value:t,configurable:!0,writable:!0})}catch(r){be[e]=t}return t},De=r,Ne=Ce,ke="__core-js_shared__",Oe=Re.exports=De[ke]||Ne(ke,{});(Oe.versions||(Oe.versions=[])).push({version:"3.40.0",mode:"global",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.40.0/LICENSE",source:"https://github.com/zloirock/core-js"});var Me=Re.exports,Le=Me,Pe=function(e,t){return Le[e]||(Le[e]=t||{})},xe=L,Ue=Object,Ve=function(e){return Ue(xe(e))},Fe=Ve,Be=T({}.hasOwnProperty),He=Object.hasOwn||function(e,t){return Be(Fe(e),t)},We=T,je=0,Ge=Math.random(),ze=We(1..toString),Ke=function(e){return"Symbol("+(void 0===e?"":e)+")_"+ze(++je+Ge,36)},qe=Pe,Ye=He,Je=Ke,Xe=ne,$e=ae,Qe=r.Symbol,Ze=qe("wks"),et=$e?Qe.for||Qe:Qe&&Qe.withoutSetter||Je,tt=function(e){return Ye(Ze,e)||(Ze[e]=Xe&&Ye(Qe,e)?Qe[e]:et("Symbol."+e)),Ze[e]},rt=l,it=H,ot=ue,nt=ye,at=function(e,t){var r,i;if("string"===t&&Ie(r=e.toString)&&!Ae(i=Te(r,e)))return i;if(Ie(r=e.valueOf)&&!Ae(i=Te(r,e)))return i;if("string"!==t&&Ie(r=e.toString)&&!Ae(i=Te(r,e)))return i;throw new Se("Can't convert object to primitive value")},st=TypeError,ct=tt("toPrimitive"),lt=function(e,t){if(!it(e)||ot(e))return e;var r,i=nt(e,ct);if(i){if(void 0===t&&(t="default"),r=rt(i,e,t),!it(r)||ot(r))return r;throw new st("Can't convert object to primitive value")}return void 0===t&&(t="number"),at(e,t)},dt=lt,ut=ue,ht=function(e){var t=dt(e,"string");return ut(t)?t:t+""},pt=H,mt=r.document,ft=pt(mt)&&pt(mt.createElement),_t=function(e){return ft?mt.createElement(e):{}},gt=_t,Et=!n&&!o((function(){return 7!==Object.defineProperty(gt("div"),"a",{get:function(){return 7}}).a})),vt=n,yt=l,Tt=d,It=_,At=U,St=ht,Rt=He,bt=Et,wt=Object.getOwnPropertyDescriptor;i.f=vt?wt:function(e,t){if(e=At(e),t=St(t),bt)try{return wt(e,t)}catch(r){}if(Rt(e,t))return It(!yt(Tt.f,e,t),e[t])};var Ct={},Dt=n&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Nt=H,kt=String,Ot=TypeError,Mt=function(e){if(Nt(e))return e;throw new Ot(kt(e)+" is not an object")},Lt=n,Pt=Et,xt=Dt,Ut=Mt,Vt=ht,Ft=TypeError,Bt=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Wt="enumerable",jt="configurable",Gt="writable";Ct.f=Lt?xt?function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),"function"==typeof e&&"prototype"===t&&"value"in r&&Gt in r&&!r[Gt]){var i=Ht(e,t);i&&i[Gt]&&(e[t]=r.value,r={configurable:jt in r?r[jt]:i[jt],enumerable:Wt in r?r[Wt]:i[Wt],writable:!1})}return Bt(e,t,r)}:Bt:function(e,t,r){if(Ut(e),t=Vt(t),Ut(r),Pt)try{return Bt(e,t,r)}catch(i){}if("get"in r||"set"in r)throw new Ft("Accessors not supported");return"value"in r&&(e[t]=r.value),e};var zt=Ct,Kt=_,qt=n?function(e,t,r){return zt.f(e,t,Kt(1,r))}:function(e,t,r){return e[t]=r,e},Yt={exports:{}},Jt=n,Xt=He,$t=Function.prototype,Qt=Jt&&Object.getOwnPropertyDescriptor,Zt=Xt($t,"name"),er={EXISTS:Zt,PROPER:Zt&&"something"===function(){}.name,CONFIGURABLE:Zt&&(!Jt||Jt&&Qt($t,"name").configurable)},tr=F,rr=Me,ir=T(Function.toString);tr(rr.inspectSource)||(rr.inspectSource=function(e){return ir(e)});var or,nr,ar,sr=rr.inspectSource,cr=F,lr=r.WeakMap,dr=cr(lr)&&/native code/.test(String(lr)),ur=Ke,hr=Pe("keys"),pr=function(e){return hr[e]||(hr[e]=ur(e))},mr={},fr=dr,_r=r,gr=H,Er=qt,vr=He,yr=Me,Tr=pr,Ir=mr,Ar="Object already initialized",Sr=_r.TypeError,Rr=_r.WeakMap;if(fr||yr.state){var br=yr.state||(yr.state=new Rr);br.get=br.get,br.has=br.has,br.set=br.set,or=function(e,t){if(br.has(e))throw new Sr(Ar);return t.facade=e,br.set(e,t),t},nr=function(e){return br.get(e)||{}},ar=function(e){return br.has(e)}}else{var wr=Tr("state");Ir[wr]=!0,or=function(e,t){if(vr(e,wr))throw new Sr(Ar);return t.facade=e,Er(e,wr,t),t},nr=function(e){return vr(e,wr)?e[wr]:{}},ar=function(e){return vr(e,wr)}}var Cr={set:or,get:nr,has:ar,enforce:function(e){return ar(e)?nr(e):or(e,{})},getterFor:function(e){return function(t){var r;if(!gr(t)||(r=nr(t)).type!==e)throw new Sr("Incompatible receiver, "+e+" required");return r}}},Dr=T,Nr=o,kr=F,Or=He,Mr=n,Lr=er.CONFIGURABLE,Pr=sr,xr=Cr.enforce,Ur=Cr.get,Vr=String,Fr=Object.defineProperty,Br=Dr("".slice),Hr=Dr("".replace),Wr=Dr([].join),jr=Mr&&!Nr((function(){return 8!==Fr((function(){}),"length",{value:8}).length})),Gr=String(String).split("String"),zr=Yt.exports=function(e,t,r){"Symbol("===Br(Vr(t),0,7)&&(t="["+Hr(Vr(t),/^Symbol\(([^)]*)\).*$/,"$1")+"]"),r&&r.getter&&(t="get "+t),r&&r.setter&&(t="set "+t),(!Or(e,"name")||Lr&&e.name!==t)&&(Mr?Fr(e,"name",{value:t,configurable:!0}):e.name=t),jr&&r&&Or(r,"arity")&&e.length!==r.arity&&Fr(e,"length",{value:r.arity});try{r&&Or(r,"constructor")&&r.constructor?Mr&&Fr(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var i=xr(e);return Or(i,"source")||(i.source=Wr(Gr,"string"==typeof t?t:"")),e};Function.prototype.toString=zr((function(){return kr(this)&&Ur(this).source||Pr(this)}),"toString");var Kr=Yt.exports,qr=F,Yr=Ct,Jr=Kr,Xr=Ce,$r=function(e,t,r,i){i||(i={});var o=i.enumerable,n=void 0!==i.name?i.name:t;if(qr(r)&&Jr(r,n,i),i.global)o?e[t]=r:Xr(t,r);else{try{i.unsafe?e[t]&&(o=!0):delete e[t]}catch(a){}o?e[t]=r:Yr.f(e,t,{value:r,enumerable:!1,configurable:!i.nonConfigurable,writable:!i.nonWritable})}return e},Qr={},Zr=Math.ceil,ei=Math.floor,ti=Math.trunc||function(e){var t=+e;return(t>0?ei:Zr)(t)},ri=ti,ii=function(e){var t=+e;return t!=t||0===t?0:ri(t)},oi=ii,ni=Math.max,ai=Math.min,si=function(e,t){var r=oi(e);return r<0?ni(r+t,0):ai(r,t)},ci=ii,li=Math.min,di=function(e){var t=ci(e);return t>0?li(t,9007199254740991):0},ui=di,hi=function(e){return ui(e.length)},pi=U,mi=si,fi=hi,_i=function(e){return function(t,r,i){var o=pi(t),n=fi(o);if(0===n)return!e&&-1;var a,s=mi(i,n);if(e&&r!=r){for(;n>s;)if((a=o[s++])!=a)return!0}else for(;n>s;s++)if((e||s in o)&&o[s]===r)return e||s||0;return!e&&-1}},gi={includes:_i(!0),indexOf:_i(!1)},Ei=He,vi=U,yi=gi.indexOf,Ti=mr,Ii=T([].push),Ai=function(e,t){var r,i=vi(e),o=0,n=[];for(r in i)!Ei(Ti,r)&&Ei(i,r)&&Ii(n,r);for(;t.length>o;)Ei(i,r=t[o++])&&(~yi(n,r)||Ii(n,r));return n},Si=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],Ri=Ai,bi=Si.concat("length","prototype");Qr.f=Object.getOwnPropertyNames||function(e){return Ri(e,bi)};var wi={};wi.f=Object.getOwnPropertySymbols;var Ci=G,Di=Qr,Ni=wi,ki=Mt,Oi=T([].concat),Mi=Ci("Reflect","ownKeys")||function(e){var t=Di.f(ki(e)),r=Ni.f;return r?Oi(t,r(e)):t},Li=He,Pi=Mi,xi=i,Ui=Ct,Vi=function(e,t,r){for(var i=Pi(t),o=Ui.f,n=xi.f,a=0;a<i.length;a++){var s=i[a];Li(e,s)||r&&Li(r,s)||o(e,s,n(t,s))}},Fi=o,Bi=F,Hi=/#|\.prototype\./,Wi=function(e,t){var r=Gi[ji(e)];return r===Ki||r!==zi&&(Bi(t)?Fi(t):!!t)},ji=Wi.normalize=function(e){return String(e).replace(Hi,".").toLowerCase()},Gi=Wi.data={},zi=Wi.NATIVE="N",Ki=Wi.POLYFILL="P",qi=Wi,Yi=r,Ji=i.f,Xi=qt,$i=$r,Qi=Ce,Zi=Vi,eo=qi,to=function(e,t){var r,i,o,n,a,s=e.target,c=e.global,l=e.stat;if(r=c?Yi:l?Yi[s]||Qi(s,{}):Yi[s]&&Yi[s].prototype)for(i in t){if(n=t[i],o=e.dontCallGetSet?(a=Ji(r,i))&&a.value:r[i],!eo(c?i:s+(l?".":"#")+i,e.forced)&&void 0!==o){if(typeof n==typeof o)continue;Zi(n,o)}(e.sham||o&&o.sham)&&Xi(n,"sham",!0),$i(r,i,n,e)}},ro={};ro[tt("toStringTag")]="z";var io="[object z]"===String(ro),oo=F,no=R,ao=tt("toStringTag"),so=Object,co="Arguments"===no(function(){return arguments}()),lo=io?no:function(e){var t,r,i;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(r){}}(t=so(e),ao))?r:co?no(t):"Object"===(i=no(t))&&oo(t.callee)?"Arguments":i},uo=lo,ho=String,po=function(e){if("Symbol"===uo(e))throw new TypeError("Cannot convert a Symbol value to a string");return ho(e)},mo=Kr,fo=Ct,_o=function(e,t,r){return r.get&&mo(r.get,t,{getter:!0}),r.set&&mo(r.set,t,{setter:!0}),fo.f(e,t,r)},go=to,Eo=n,vo=T,yo=He,To=F,Io=z,Ao=po,So=_o,Ro=Vi,bo=r.Symbol,wo=bo&&bo.prototype;if(Eo&&To(bo)&&(!("description"in wo)||void 0!==bo().description)){var Co={},Do=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:Ao(arguments[0]),t=Io(wo,this)?new bo(e):void 0===e?bo():bo(e);return""===e&&(Co[t]=!0),t};Ro(Do,bo),Do.prototype=wo,wo.constructor=Do;var No="Symbol(description detection)"===String(bo("description detection")),ko=vo(wo.valueOf),Oo=vo(wo.toString),Mo=/^Symbol\((.*)\)[^)]+$/,Lo=vo("".replace),Po=vo("".slice);So(wo,"description",{configurable:!0,get:function(){var e=ko(this);if(yo(Co,e))return"";var t=Oo(e),r=No?Po(t,7,-1):Lo(t,Mo,"$1");return""===r?void 0:r}}),go({global:!0,constructor:!0,forced:!0},{Symbol:Do})}var xo=r,Uo={},Vo=tt;Uo.f=Vo;var Fo=xo,Bo=He,Ho=Uo,Wo=Ct.f,jo=function(e){var t=Fo.Symbol||(Fo.Symbol={});Bo(t,e)||Wo(t,e,{value:Ho.f(e)})};jo("asyncIterator");var Go=R,zo=Array.isArray||function(e){return"Array"===Go(e)},Ko=TypeError,qo=R,Yo=T,Jo=function(e){if("Function"===qo(e))return Yo(e)},Xo=ge,$o=a,Qo=Jo(Jo.bind),Zo=function(e,t){return Xo(e),void 0===t?e:$o?Qo(e,t):function(){return e.apply(t,arguments)}},en=zo,tn=hi,rn=function(e){if(e>9007199254740991)throw Ko("Maximum allowed index exceeded");return e},on=Zo,nn=function(e,t,r,i,o,n,a,s){for(var c,l,d=o,u=0,h=!!a&&on(a,s);u<i;)u in r&&(c=h?h(r[u],u,t):r[u],n>0&&en(c)?(l=tn(c),d=nn(e,t,c,l,d,n-1)-1):(rn(d+1),e[d]=c),d++),u++;return d},an=nn,sn=T,cn=o,ln=F,dn=lo,un=sr,hn=function(){},pn=G("Reflect","construct"),mn=/^\s*(?:class|function)\b/,fn=sn(mn.exec),_n=!mn.test(hn),gn=function(e){if(!ln(e))return!1;try{return pn(hn,[],e),!0}catch(t){return!1}},En=function(e){if(!ln(e))return!1;switch(dn(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return _n||!!fn(mn,un(e))}catch(t){return!0}};En.sham=!0;var vn=!pn||cn((function(){var e;return gn(gn.call)||!gn(Object)||!gn((function(){e=!0}))||e}))?En:gn,yn=zo,Tn=vn,In=H,An=tt("species"),Sn=Array,Rn=function(e){var t;return yn(e)&&(t=e.constructor,(Tn(t)&&(t===Sn||yn(t.prototype))||In(t)&&null===(t=t[An]))&&(t=void 0)),void 0===t?Sn:t},bn=function(e,t){return new(Rn(e))(0===t?0:t)},wn=an,Cn=Ve,Dn=hi,Nn=ii,kn=bn;to({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=Cn(this),r=Dn(t),i=kn(t,0);return i.length=wn(i,t,t,r,0,void 0===e?1:Nn(e)),i}});var On={},Mn=Ai,Ln=Si,Pn=Object.keys||function(e){return Mn(e,Ln)},xn=n,Un=Dt,Vn=Ct,Fn=Mt,Bn=U,Hn=Pn;On.f=xn&&!Un?Object.defineProperties:function(e,t){Fn(e);for(var r,i=Bn(t),o=Hn(t),n=o.length,a=0;n>a;)Vn.f(e,r=o[a++],i[r]);return e};var Wn,jn=G("document","documentElement"),Gn=Mt,zn=On,Kn=Si,qn=mr,Yn=jn,Jn=_t,Xn="prototype",$n="script",Qn=pr("IE_PROTO"),Zn=function(){},ea=function(e){return"<"+$n+">"+e+"</"+$n+">"},ta=function(e){e.write(ea("")),e.close();var t=e.parentWindow.Object;return e=null,t},ra=function(){try{Wn=new ActiveXObject("htmlfile")}catch(t){}ra="undefined"!=typeof document?document.domain&&Wn?ta(Wn):function(){var e,t=Jn("iframe"),r="java"+$n+":";return t.style.display="none",Yn.appendChild(t),t.src=String(r),(e=t.contentWindow.document).open(),e.write(ea("document.F=Object")),e.close(),e.F}():ta(Wn);for(var e=Kn.length;e--;)delete ra[Xn][Kn[e]];return ra()};qn[Qn]=!0;var ia=Object.create||function(e,t){var r;return null!==e?(Zn[Xn]=Gn(e),r=new Zn,Zn[Xn]=null,r[Qn]=e):r=ra(),void 0===t?r:zn.f(r,t)},oa=tt,na=ia,aa=Ct.f,sa=oa("unscopables"),ca=Array.prototype;void 0===ca[sa]&&aa(ca,sa,{configurable:!0,value:na(null)});var la=function(e){ca[sa][e]=!0},da=gi.includes,ua=la;to({target:"Array",proto:!0,forced:o((function(){return!Array(1).includes()}))},{includes:function(e){return da(this,e,arguments.length>1?arguments[1]:void 0)}}),ua("includes");var ha,pa,ma,fa={},_a=!o((function(){function e(){}return e.prototype.constructor=null,Object.getPrototypeOf(new e)!==e.prototype})),ga=He,Ea=F,va=Ve,ya=_a,Ta=pr("IE_PROTO"),Ia=Object,Aa=Ia.prototype,Sa=ya?Ia.getPrototypeOf:function(e){var t=va(e);if(ga(t,Ta))return t[Ta];var r=t.constructor;return Ea(r)&&t instanceof r?r.prototype:t instanceof Ia?Aa:null},Ra=o,ba=F,wa=H,Ca=Sa,Da=$r,Na=tt("iterator"),ka=!1;[].keys&&("next"in(ma=[].keys())?(pa=Ca(Ca(ma)))!==Object.prototype&&(ha=pa):ka=!0);var Oa=!wa(ha)||Ra((function(){var e={};return ha[Na].call(e)!==e}));Oa&&(ha={}),ba(ha[Na])||Da(ha,Na,(function(){return this}));var Ma={IteratorPrototype:ha,BUGGY_SAFARI_ITERATORS:ka},La=Ct.f,Pa=He,xa=tt("toStringTag"),Ua=function(e,t,r){e&&!r&&(e=e.prototype),e&&!Pa(e,xa)&&La(e,xa,{configurable:!0,value:t})},Va=Ma.IteratorPrototype,Fa=ia,Ba=_,Ha=Ua,Wa=fa,ja=function(){return this},Ga=function(e,t,r,i){var o=t+" Iterator";return e.prototype=Fa(Va,{next:Ba(+!i,r)}),Ha(e,o,!1),Wa[o]=ja,e},za=T,Ka=ge,qa=H,Ya=function(e){return qa(e)||null===e},Ja=String,Xa=TypeError,$a=function(e,t,r){try{return za(Ka(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(i){}},Qa=H,Za=L,es=function(e){if(Ya(e))return e;throw new Xa("Can't set "+Ja(e)+" as a prototype")},ts=Object.setPrototypeOf||("__proto__"in{}?function(){var e,t=!1,r={};try{(e=$a(Object.prototype,"__proto__","set"))(r,[]),t=r instanceof Array}catch(i){}return function(r,i){return Za(r),es(i),Qa(r)?(t?e(r,i):r.__proto__=i,r):r}}():void 0),rs=to,is=l,os=F,ns=Ga,as=Sa,ss=ts,cs=Ua,ls=qt,ds=$r,us=fa,hs=er.PROPER,ps=er.CONFIGURABLE,ms=Ma.IteratorPrototype,fs=Ma.BUGGY_SAFARI_ITERATORS,_s=tt("iterator"),gs="keys",Es="values",vs="entries",ys=function(){return this},Ts=function(e,t,r,i,o,n,a){ns(r,t,i);var s,c,l,d=function(e){if(e===o&&f)return f;if(!fs&&e&&e in p)return p[e];switch(e){case gs:case Es:case vs:return function(){return new r(this,e)}}return function(){return new r(this)}},u=t+" Iterator",h=!1,p=e.prototype,m=p[_s]||p["@@iterator"]||o&&p[o],f=!fs&&m||d(o),_="Array"===t&&p.entries||m;if(_&&(s=as(_.call(new e)))!==Object.prototype&&s.next&&(as(s)!==ms&&(ss?ss(s,ms):os(s[_s])||ds(s,_s,ys)),cs(s,u,!0)),hs&&o===Es&&m&&m.name!==Es&&(ps?ls(p,"name",Es):(h=!0,f=function(){return is(m,this)})),o)if(c={values:d(Es),keys:n?f:d(gs),entries:d(vs)},a)for(l in c)(fs||h||!(l in p))&&ds(p,l,c[l]);else rs({target:t,proto:!0,forced:fs||h},c);return p[_s]!==f&&ds(p,_s,f,{name:o}),us[t]=f,c},Is=function(e,t){return{value:e,done:t}},As=U,Ss=la,Rs=fa,bs=Cr,ws=Ct.f,Cs=Ts,Ds=Is,Ns=n,ks="Array Iterator",Os=bs.set,Ms=bs.getterFor(ks),Ls=Cs(Array,"Array",(function(e,t){Os(this,{type:ks,target:As(e),index:0,kind:t})}),(function(){var e=Ms(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,Ds(void 0,!0);switch(e.kind){case"keys":return Ds(r,!1);case"values":return Ds(t[r],!1)}return Ds([r,t[r]],!1)}),"values"),Ps=Rs.Arguments=Rs.Array;if(Ss("keys"),Ss("values"),Ss("entries"),Ns&&"values"!==Ps.name)try{ws(Ps,"name",{value:"values"})}catch(BG){}var xs=ge,Us=Ve,Vs=N,Fs=hi,Bs=TypeError,Hs="Reduce of empty array with no initial value",Ws=function(e){return function(t,r,i,o){var n=Us(t),a=Vs(n),s=Fs(n);if(xs(r),0===s&&i<2)throw new Bs(Hs);var c=e?s-1:0,l=e?-1:1;if(i<2)for(;;){if(c in a){o=a[c],c+=l;break}if(c+=l,e?c<0:s<=c)throw new Bs(Hs)}for(;e?c>=0:s>c;c+=l)c in a&&(o=r(o,a[c],c,n));return o}},js={left:Ws(!1),right:Ws(!0)},Gs=o,zs=function(e,t){var r=[][e];return!!r&&Gs((function(){r.call(null,t||function(){return 1},1)}))},Ks=r,qs=Y,Ys=R,Js=function(e){return qs.slice(0,e.length)===e},Xs=Js("Bun/")?"BUN":Js("Cloudflare-Workers")?"CLOUDFLARE":Js("Deno/")?"DENO":Js("Node.js/")?"NODE":Ks.Bun&&"string"==typeof Bun.version?"BUN":Ks.Deno&&"object"==typeof Deno.version?"DENO":"process"===Ys(Ks.process)?"NODE":Ks.window&&Ks.document?"BROWSER":"REST",$s="NODE"===Xs,Qs=js.left;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!zs("reduce")},{reduce:function(e){var t=arguments.length;return Qs(this,e,t,t>1?arguments[1]:void 0)}});var Zs=js.right;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!zs("reduceRight")},{reduceRight:function(e){return Zs(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}});var ec=to,tc=zo,rc=T([].reverse),ic=[1,2];ec({target:"Array",proto:!0,forced:String(ic)===String(ic.reverse())},{reverse:function(){return tc(this)&&(this.length=this.length),rc(this)}});var oc=pe,nc=TypeError,ac=T([].slice),sc=ac,cc=Math.floor,lc=function(e,t){var r=e.length;if(r<8)for(var i,o,n=1;n<r;){for(o=n,i=e[n];o&&t(e[o-1],i)>0;)e[o]=e[--o];o!==n++&&(e[o]=i)}else for(var a=cc(r/2),s=lc(sc(e,0,a),t),c=lc(sc(e,a),t),l=s.length,d=c.length,u=0,h=0;u<l||h<d;)e[u+h]=u<l&&h<d?t(s[u],c[h])<=0?s[u++]:c[h++]:u<l?s[u++]:c[h++];return e},dc=lc,uc=Y.match(/firefox\/(\d+)/i),hc=!!uc&&+uc[1],pc=/MSIE|Trident/.test(Y),mc=Y.match(/AppleWebKit\/(\d+)\./),fc=!!mc&&+mc[1],_c=to,gc=T,Ec=ge,vc=Ve,yc=hi,Tc=function(e,t){if(!delete e[t])throw new nc("Cannot delete property "+oc(t)+" of "+oc(e))},Ic=po,Ac=o,Sc=dc,Rc=zs,bc=hc,wc=pc,Cc=te,Dc=fc,Nc=[],kc=gc(Nc.sort),Oc=gc(Nc.push),Mc=Ac((function(){Nc.sort(void 0)})),Lc=Ac((function(){Nc.sort(null)})),Pc=Rc("sort"),xc=!Ac((function(){if(Cc)return Cc<70;if(!(bc&&bc>3)){if(wc)return!0;if(Dc)return Dc<603;var e,t,r,i,o="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:r=3;break;case 68:case 71:r=4;break;default:r=2}for(i=0;i<47;i++)Nc.push({k:t+i,v:r})}for(Nc.sort((function(e,t){return t.v-e.v})),i=0;i<Nc.length;i++)t=Nc[i].k.charAt(0),o.charAt(o.length-1)!==t&&(o+=t);return"DGBEFHACIJK"!==o}}));_c({target:"Array",proto:!0,forced:Mc||!Lc||!Pc||!xc},{sort:function(e){void 0!==e&&Ec(e);var t=vc(this);if(xc)return void 0===e?kc(t):kc(t,e);var r,i,o=[],n=yc(t);for(i=0;i<n;i++)i in t&&Oc(o,t[i]);for(Sc(o,function(e){return function(t,r){return void 0===r?-1:void 0===t?1:void 0!==e?+e(t,r)||0:Ic(t)>Ic(r)?1:-1}}(e)),r=yc(o),i=0;i<r;)t[i]=o[i++];for(;i<n;)Tc(t,i++);return t}}),la("flat");var Uc="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,Vc=$r,Fc=function(e,t,r){for(var i in t)Vc(e,i,t[i],r);return e},Bc=z,Hc=TypeError,Wc=function(e,t){if(Bc(t,e))return e;throw new Hc("Incorrect invocation")},jc=ii,Gc=di,zc=RangeError,Kc=function(e){if(void 0===e)return 0;var t=jc(e),r=Gc(t);if(t!==r)throw new zc("Wrong length or index");return r},qc=Math.sign||function(e){var t=+e;return 0===t||t!=t?t:t<0?-1:1},Yc=4503599627370496,Jc=qc,Xc=function(e){return e+Yc-Yc},$c=Math.abs,Qc=function(e,t,r,i){var o=+e,n=$c(o),a=Jc(o);if(n<i)return a*Xc(n/i/t)*i*t;var s=(1+t/2220446049250313e-31)*n,c=s-(s-n);return c>r||c!=c?Infinity*a:a*c},Zc=Math.fround||function(e){return Qc(e,1.1920928955078125e-7,34028234663852886e22,11754943508222875e-54)},el=Array,tl=Math.abs,rl=Math.pow,il=Math.floor,ol=Math.log,nl=Math.LN2,al={pack:function(e,t,r){var i,o,n,a=el(r),s=8*r-t-1,c=(1<<s)-1,l=c>>1,d=23===t?rl(2,-24)-rl(2,-77):0,u=e<0||0===e&&1/e<0?1:0,h=0;for((e=tl(e))!=e||Infinity===e?(o=e!=e?1:0,i=c):(i=il(ol(e)/nl),e*(n=rl(2,-i))<1&&(i--,n*=2),(e+=i+l>=1?d/n:d*rl(2,1-l))*n>=2&&(i++,n/=2),i+l>=c?(o=0,i=c):i+l>=1?(o=(e*n-1)*rl(2,t),i+=l):(o=e*rl(2,l-1)*rl(2,t),i=0));t>=8;)a[h++]=255&o,o/=256,t-=8;for(i=i<<t|o,s+=t;s>0;)a[h++]=255&i,i/=256,s-=8;return a[h-1]|=128*u,a},unpack:function(e,t){var r,i=e.length,o=8*i-t-1,n=(1<<o)-1,a=n>>1,s=o-7,c=i-1,l=e[c--],d=127&l;for(l>>=7;s>0;)d=256*d+e[c--],s-=8;for(r=d&(1<<-s)-1,d>>=-s,s+=t;s>0;)r=256*r+e[c--],s-=8;if(0===d)d=1-a;else{if(d===n)return r?NaN:l?-Infinity:Infinity;r+=rl(2,t),d-=a}return(l?-1:1)*r*rl(2,d-t)}},sl=Ve,cl=si,ll=hi,dl=function(e){for(var t=sl(this),r=ll(t),i=arguments.length,o=cl(i>1?arguments[1]:void 0,r),n=i>2?arguments[2]:void 0,a=void 0===n?r:cl(n,r);a>o;)t[o++]=e;return t},ul=F,hl=H,pl=ts,ml=function(e,t,r){var i,o;return pl&&ul(i=t.constructor)&&i!==r&&hl(o=i.prototype)&&o!==r.prototype&&pl(e,o),e},fl=r,_l=T,gl=n,El=Uc,vl=qt,yl=_o,Tl=Fc,Il=o,Al=Wc,Sl=ii,Rl=di,bl=Kc,wl=Zc,Cl=al,Dl=Sa,Nl=ts,kl=dl,Ol=ac,Ml=ml,Ll=Vi,Pl=Ua,xl=Cr,Ul=er.PROPER,Vl=er.CONFIGURABLE,Fl="ArrayBuffer",Bl="DataView",Hl="prototype",Wl="Wrong index",jl=xl.getterFor(Fl),Gl=xl.getterFor(Bl),zl=xl.set,Kl=fl[Fl],ql=Kl,Yl=ql&&ql[Hl],Jl=fl[Bl],Xl=Jl&&Jl[Hl],$l=Object.prototype,Ql=fl.Array,Zl=fl.RangeError,ed=_l(kl),td=_l([].reverse),rd=Cl.pack,id=Cl.unpack,od=function(e){return[255&e]},nd=function(e){return[255&e,e>>8&255]},ad=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},sd=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},cd=function(e){return rd(wl(e),23,4)},ld=function(e){return rd(e,52,8)},dd=function(e,t,r){yl(e[Hl],t,{configurable:!0,get:function(){return r(this)[t]}})},ud=function(e,t,r,i){var o=Gl(e),n=bl(r),a=!!i;if(n+t>o.byteLength)throw new Zl(Wl);var s=o.bytes,c=n+o.byteOffset,l=Ol(s,c,c+t);return a?l:td(l)},hd=function(e,t,r,i,o,n){var a=Gl(e),s=bl(r),c=i(+o),l=!!n;if(s+t>a.byteLength)throw new Zl(Wl);for(var d=a.bytes,u=s+a.byteOffset,h=0;h<t;h++)d[u+h]=c[l?h:t-h-1]};if(El){var pd=Ul&&Kl.name!==Fl;Il((function(){Kl(1)}))&&Il((function(){new Kl(-1)}))&&!Il((function(){return new Kl,new Kl(1.5),new Kl(NaN),1!==Kl.length||pd&&!Vl}))?pd&&Vl&&vl(Kl,"name",Fl):((ql=function(e){return Al(this,Yl),Ml(new Kl(bl(e)),this,ql)})[Hl]=Yl,Yl.constructor=ql,Ll(ql,Kl)),Nl&&Dl(Xl)!==$l&&Nl(Xl,$l);var md=new Jl(new ql(2)),fd=_l(Xl.setInt8);md.setInt8(0,2147483648),md.setInt8(1,2147483649),!md.getInt8(0)&&md.getInt8(1)||Tl(Xl,{setInt8:function(e,t){fd(this,e,t<<24>>24)},setUint8:function(e,t){fd(this,e,t<<24>>24)}},{unsafe:!0})}else Yl=(ql=function(e){Al(this,Yl);var t=bl(e);zl(this,{type:Fl,bytes:ed(Ql(t),0),byteLength:t}),gl||(this.byteLength=t,this.detached=!1)})[Hl],Xl=(Jl=function(e,t,r){Al(this,Xl),Al(e,Yl);var i=jl(e),o=i.byteLength,n=Sl(t);if(n<0||n>o)throw new Zl("Wrong offset");if(n+(r=void 0===r?o-n:Rl(r))>o)throw new Zl("Wrong length");zl(this,{type:Bl,buffer:e,byteLength:r,byteOffset:n,bytes:i.bytes}),gl||(this.buffer=e,this.byteLength=r,this.byteOffset=n)})[Hl],gl&&(dd(ql,"byteLength",jl),dd(Jl,"buffer",Gl),dd(Jl,"byteLength",Gl),dd(Jl,"byteOffset",Gl)),Tl(Xl,{getInt8:function(e){return ud(this,1,e)[0]<<24>>24},getUint8:function(e){return ud(this,1,e)[0]},getInt16:function(e){var t=ud(this,2,e,arguments.length>1&&arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=ud(this,2,e,arguments.length>1&&arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return sd(ud(this,4,e,arguments.length>1&&arguments[1]))},getUint32:function(e){return sd(ud(this,4,e,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(e){return id(ud(this,4,e,arguments.length>1&&arguments[1]),23)},getFloat64:function(e){return id(ud(this,8,e,arguments.length>1&&arguments[1]),52)},setInt8:function(e,t){hd(this,1,e,od,t)},setUint8:function(e,t){hd(this,1,e,od,t)},setInt16:function(e,t){hd(this,2,e,nd,t,arguments.length>2&&arguments[2])},setUint16:function(e,t){hd(this,2,e,nd,t,arguments.length>2&&arguments[2])},setInt32:function(e,t){hd(this,4,e,ad,t,arguments.length>2&&arguments[2])},setUint32:function(e,t){hd(this,4,e,ad,t,arguments.length>2&&arguments[2])},setFloat32:function(e,t){hd(this,4,e,cd,t,arguments.length>2&&arguments[2])},setFloat64:function(e,t){hd(this,8,e,ld,t,arguments.length>2&&arguments[2])}});Pl(ql,Fl),Pl(Jl,Bl);var _d={ArrayBuffer:ql,DataView:Jl},gd=G,Ed=_o,vd=n,yd=tt("species"),Td=function(e){var t=gd(e);vd&&t&&!t[yd]&&Ed(t,yd,{configurable:!0,get:function(){return this}})},Id=Td,Ad="ArrayBuffer",Sd=_d[Ad];to({global:!0,constructor:!0,forced:r[Ad]!==Sd},{ArrayBuffer:Sd}),Id(Ad);var Rd=to,bd=Jo,wd=o,Cd=Mt,Dd=si,Nd=di,kd=_d.ArrayBuffer,Od=_d.DataView,Md=Od.prototype,Ld=bd(kd.prototype.slice),Pd=bd(Md.getUint8),xd=bd(Md.setUint8);Rd({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:wd((function(){return!new kd(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(Ld&&void 0===t)return Ld(Cd(this),e);for(var r=Cd(this).byteLength,i=Dd(e,r),o=Dd(void 0===t?r:t,r),n=new kd(Nd(o-i)),a=new Od(this),s=new Od(n),c=0;i<o;)xd(s,c++,Pd(a,i++));return n}});var Ud,Vd,Fd,Bd,Hd=vn,Wd=pe,jd=TypeError,Gd=function(e){if(Hd(e))return e;throw new jd(Wd(e)+" is not a constructor")},zd=Mt,Kd=Gd,qd=k,Yd=tt("species"),Jd=function(e,t){var r,i=zd(e).constructor;return void 0===i||qd(r=zd(i)[Yd])?t:Kd(r)},Xd=a,$d=Function.prototype,Qd=$d.apply,Zd=$d.call,eu="object"==typeof Reflect&&Reflect.apply||(Xd?Zd.bind(Qd):function(){return Zd.apply(Qd,arguments)}),tu=TypeError,ru=function(e,t){if(e<t)throw new tu("Not enough arguments");return e},iu=/(?:ipad|iphone|ipod).*applewebkit/i.test(Y),ou=r,nu=eu,au=Zo,su=F,cu=He,lu=o,du=jn,uu=ac,hu=_t,pu=ru,mu=iu,fu=$s,_u=ou.setImmediate,gu=ou.clearImmediate,Eu=ou.process,vu=ou.Dispatch,yu=ou.Function,Tu=ou.MessageChannel,Iu=ou.String,Au=0,Su={},Ru="onreadystatechange";lu((function(){Ud=ou.location}));var bu=function(e){if(cu(Su,e)){var t=Su[e];delete Su[e],t()}},wu=function(e){return function(){bu(e)}},Cu=function(e){bu(e.data)},Du=function(e){ou.postMessage(Iu(e),Ud.protocol+"//"+Ud.host)};_u&&gu||(_u=function(e){pu(arguments.length,1);var t=su(e)?e:yu(e),r=uu(arguments,1);return Su[++Au]=function(){nu(t,void 0,r)},Vd(Au),Au},gu=function(e){delete Su[e]},fu?Vd=function(e){Eu.nextTick(wu(e))}:vu&&vu.now?Vd=function(e){vu.now(wu(e))}:Tu&&!mu?(Bd=(Fd=new Tu).port2,Fd.port1.onmessage=Cu,Vd=au(Bd.postMessage,Bd)):ou.addEventListener&&su(ou.postMessage)&&!ou.importScripts&&Ud&&"file:"!==Ud.protocol&&!lu(Du)?(Vd=Du,ou.addEventListener("message",Cu,!1)):Vd=Ru in hu("script")?function(e){du.appendChild(hu("script"))[Ru]=function(){du.removeChild(this),bu(e)}}:function(e){setTimeout(wu(e),0)});var Nu={set:_u,clear:gu},ku=r,Ou=n,Mu=Object.getOwnPropertyDescriptor,Lu=function(e){if(!Ou)return ku[e];var t=Mu(ku,e);return t&&t.value},Pu=function(){this.head=null,this.tail=null};Pu.prototype={add:function(e){var t={item:e,next:null},r=this.tail;r?r.next=t:this.head=t,this.tail=t},get:function(){var e=this.head;if(e)return null===(this.head=e.next)&&(this.tail=null),e.item}};var xu,Uu,Vu,Fu,Bu,Hu=Pu,Wu=/ipad|iphone|ipod/i.test(Y)&&"undefined"!=typeof Pebble,ju=/web0s(?!.*chrome)/i.test(Y),Gu=r,zu=Lu,Ku=Zo,qu=Nu.set,Yu=Hu,Ju=iu,Xu=Wu,$u=ju,Qu=$s,Zu=Gu.MutationObserver||Gu.WebKitMutationObserver,eh=Gu.document,th=Gu.process,rh=Gu.Promise,ih=zu("queueMicrotask");if(!ih){var oh=new Yu,nh=function(){var e,t;for(Qu&&(e=th.domain)&&e.exit();t=oh.get();)try{t()}catch(BG){throw oh.head&&xu(),BG}e&&e.enter()};Ju||Qu||$u||!Zu||!eh?!Xu&&rh&&rh.resolve?((Fu=rh.resolve(void 0)).constructor=rh,Bu=Ku(Fu.then,Fu),xu=function(){Bu(nh)}):Qu?xu=function(){th.nextTick(nh)}:(qu=Ku(qu,Gu),xu=function(){qu(nh)}):(Uu=!0,Vu=eh.createTextNode(""),new Zu(nh).observe(Vu,{characterData:!0}),xu=function(){Vu.data=Uu=!Uu}),ih=function(e){oh.head||xu(),oh.add(e)}}var ah=ih,sh=function(e){try{return{error:!1,value:e()}}catch(BG){return{error:!0,value:BG}}},ch=r.Promise,lh=r,dh=ch,uh=F,hh=qi,ph=sr,mh=tt,fh=Xs,_h=te;dh&&dh.prototype;var gh=mh("species"),Eh=!1,vh=uh(lh.PromiseRejectionEvent),yh=hh("Promise",(function(){var e=ph(dh),t=e!==String(dh);if(!t&&66===_h)return!0;if(!_h||_h<51||!/native code/.test(e)){var r=new dh((function(e){e(1)})),i=function(e){e((function(){}),(function(){}))};if((r.constructor={})[gh]=i,!(Eh=r.then((function(){}))instanceof i))return!0}return!(t||"BROWSER"!==fh&&"DENO"!==fh||vh)})),Th={CONSTRUCTOR:yh,REJECTION_EVENT:vh,SUBCLASSING:Eh},Ih={},Ah=ge,Sh=TypeError,Rh=function(e){var t,r;this.promise=new e((function(e,i){if(void 0!==t||void 0!==r)throw new Sh("Bad Promise constructor");t=e,r=i})),this.resolve=Ah(t),this.reject=Ah(r)};Ih.f=function(e){return new Rh(e)};var bh,wh,Ch,Dh=to,Nh=$s,kh=r,Oh=l,Mh=$r,Lh=ts,Ph=Ua,xh=Td,Uh=ge,Vh=F,Fh=H,Bh=Wc,Hh=Jd,Wh=Nu.set,jh=ah,Gh=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(BG){}},zh=sh,Kh=Hu,qh=Cr,Yh=ch,Jh=Ih,Xh="Promise",$h=Th.CONSTRUCTOR,Qh=Th.REJECTION_EVENT,Zh=Th.SUBCLASSING,ep=qh.getterFor(Xh),tp=qh.set,rp=Yh&&Yh.prototype,ip=Yh,op=rp,np=kh.TypeError,ap=kh.document,sp=kh.process,cp=Jh.f,lp=cp,dp=!!(ap&&ap.createEvent&&kh.dispatchEvent),up="unhandledrejection",hp=function(e){var t;return!(!Fh(e)||!Vh(t=e.then))&&t},pp=function(e,t){var r,i,o,n=t.value,a=1===t.state,s=a?e.ok:e.fail,c=e.resolve,l=e.reject,d=e.domain;try{s?(a||(2===t.rejection&&Ep(t),t.rejection=1),!0===s?r=n:(d&&d.enter(),r=s(n),d&&(d.exit(),o=!0)),r===e.promise?l(new np("Promise-chain cycle")):(i=hp(r))?Oh(i,r,c,l):c(r)):l(n)}catch(BG){d&&!o&&d.exit(),l(BG)}},mp=function(e,t){e.notified||(e.notified=!0,jh((function(){for(var r,i=e.reactions;r=i.get();)pp(r,e);e.notified=!1,t&&!e.rejection&&_p(e)})))},fp=function(e,t,r){var i,o;dp?((i=ap.createEvent("Event")).promise=t,i.reason=r,i.initEvent(e,!1,!0),kh.dispatchEvent(i)):i={promise:t,reason:r},!Qh&&(o=kh["on"+e])?o(i):e===up&&Gh("Unhandled promise rejection",r)},_p=function(e){Oh(Wh,kh,(function(){var t,r=e.facade,i=e.value;if(gp(e)&&(t=zh((function(){Nh?sp.emit("unhandledRejection",i,r):fp(up,r,i)})),e.rejection=Nh||gp(e)?2:1,t.error))throw t.value}))},gp=function(e){return 1!==e.rejection&&!e.parent},Ep=function(e){Oh(Wh,kh,(function(){var t=e.facade;Nh?sp.emit("rejectionHandled",t):fp("rejectionhandled",t,e.value)}))},vp=function(e,t,r){return function(i){e(t,i,r)}},yp=function(e,t,r){e.done||(e.done=!0,r&&(e=r),e.value=t,e.state=2,mp(e,!0))},Tp=function(e,t,r){if(!e.done){e.done=!0,r&&(e=r);try{if(e.facade===t)throw new np("Promise can't be resolved itself");var i=hp(t);i?jh((function(){var r={done:!1};try{Oh(i,t,vp(Tp,r,e),vp(yp,r,e))}catch(BG){yp(r,BG,e)}})):(e.value=t,e.state=1,mp(e,!1))}catch(BG){yp({done:!1},BG,e)}}};if($h&&(op=(ip=function(e){Bh(this,op),Uh(e),Oh(bh,this);var t=ep(this);try{e(vp(Tp,t),vp(yp,t))}catch(BG){yp(t,BG)}}).prototype,(bh=function(e){tp(this,{type:Xh,done:!1,notified:!1,parent:!1,reactions:new Kh,rejection:!1,state:0,value:null})}).prototype=Mh(op,"then",(function(e,t){var r=ep(this),i=cp(Hh(this,ip));return r.parent=!0,i.ok=!Vh(e)||e,i.fail=Vh(t)&&t,i.domain=Nh?sp.domain:void 0,0===r.state?r.reactions.add(i):jh((function(){pp(i,r)})),i.promise})),wh=function(){var e=new bh,t=ep(e);this.promise=e,this.resolve=vp(Tp,t),this.reject=vp(yp,t)},Jh.f=cp=function(e){return e===ip||undefined===e?new wh(e):lp(e)},Vh(Yh)&&rp!==Object.prototype)){Ch=rp.then,Zh||Mh(rp,"then",(function(e,t){var r=this;return new ip((function(e,t){Oh(Ch,r,e,t)})).then(e,t)}),{unsafe:!0});try{delete rp.constructor}catch(BG){}Lh&&Lh(rp,op)}Dh({global:!0,constructor:!0,wrap:!0,forced:$h},{Promise:ip}),Ph(ip,Xh,!1),xh(Xh);var Ip=fa,Ap=tt("iterator"),Sp=Array.prototype,Rp=function(e){return void 0!==e&&(Ip.Array===e||Sp[Ap]===e)},bp=lo,wp=ye,Cp=k,Dp=fa,Np=tt("iterator"),kp=function(e){if(!Cp(e))return wp(e,Np)||wp(e,"@@iterator")||Dp[bp(e)]},Op=l,Mp=ge,Lp=Mt,Pp=pe,xp=kp,Up=TypeError,Vp=function(e,t){var r=arguments.length<2?xp(e):t;if(Mp(r))return Lp(Op(r,e));throw new Up(Pp(e)+" is not iterable")},Fp=l,Bp=Mt,Hp=ye,Wp=function(e,t,r){var i,o;Bp(e);try{if(!(i=Hp(e,"return"))){if("throw"===t)throw r;return r}i=Fp(i,e)}catch(BG){o=!0,i=BG}if("throw"===t)throw r;if(o)throw i;return Bp(i),r},jp=Zo,Gp=l,zp=Mt,Kp=pe,qp=Rp,Yp=hi,Jp=z,Xp=Vp,$p=kp,Qp=Wp,Zp=TypeError,em=function(e,t){this.stopped=e,this.result=t},tm=em.prototype,rm=function(e,t,r){var i,o,n,a,s,c,l,d=r&&r.that,u=!(!r||!r.AS_ENTRIES),h=!(!r||!r.IS_RECORD),p=!(!r||!r.IS_ITERATOR),m=!(!r||!r.INTERRUPTED),f=jp(t,d),_=function(e){return i&&Qp(i,"normal",e),new em(!0,e)},g=function(e){return u?(zp(e),m?f(e[0],e[1],_):f(e[0],e[1])):m?f(e,_):f(e)};if(h)i=e.iterator;else if(p)i=e;else{if(!(o=$p(e)))throw new Zp(Kp(e)+" is not iterable");if(qp(o)){for(n=0,a=Yp(e);a>n;n++)if((s=g(e[n]))&&Jp(tm,s))return s;return new em(!1)}i=Xp(e,o)}for(c=h?e.next:i.next;!(l=Gp(c,i)).done;){try{s=g(l.value)}catch(BG){Qp(i,"throw",BG)}if("object"==typeof s&&s&&Jp(tm,s))return s}return new em(!1)},im=tt("iterator"),om=!1;try{var nm=0,am={next:function(){return{done:!!nm++}},return:function(){om=!0}};am[im]=function(){return this},Array.from(am,(function(){throw 2}))}catch(BG){}var sm=function(e,t){try{if(!t&&!om)return!1}catch(BG){return!1}var r=!1;try{var i={};i[im]=function(){return{next:function(){return{done:r=!0}}}},e(i)}catch(BG){}return r},cm=ch,lm=Th.CONSTRUCTOR||!sm((function(e){cm.all(e).then(void 0,(function(){}))})),dm=l,um=ge,hm=Ih,pm=sh,mm=rm;to({target:"Promise",stat:!0,forced:lm},{all:function(e){var t=this,r=hm.f(t),i=r.resolve,o=r.reject,n=pm((function(){var r=um(t.resolve),n=[],a=0,s=1;mm(e,(function(e){var c=a++,l=!1;s++,dm(r,t,e).then((function(e){l||(l=!0,n[c]=e,--s||i(n))}),o)})),--s||i(n)}));return n.error&&o(n.value),r.promise}});var fm=to,_m=Th.CONSTRUCTOR,gm=ch,Em=G,vm=F,ym=$r,Tm=gm&&gm.prototype;if(fm({target:"Promise",proto:!0,forced:_m,real:!0},{catch:function(e){return this.then(void 0,e)}}),vm(gm)){var Im=Em("Promise").prototype.catch;Tm.catch!==Im&&ym(Tm,"catch",Im,{unsafe:!0})}var Am=l,Sm=ge,Rm=Ih,bm=sh,wm=rm;to({target:"Promise",stat:!0,forced:lm},{race:function(e){var t=this,r=Rm.f(t),i=r.reject,o=bm((function(){var o=Sm(t.resolve);wm(e,(function(e){Am(o,t,e).then(r.resolve,i)}))}));return o.error&&i(o.value),r.promise}});var Cm=Ih;to({target:"Promise",stat:!0,forced:Th.CONSTRUCTOR},{reject:function(e){var t=Cm.f(this);return(0,t.reject)(e),t.promise}});var Dm=Mt,Nm=H,km=Ih,Om=function(e,t){if(Dm(e),Nm(t)&&t.constructor===e)return t;var r=km.f(e);return(0,r.resolve)(t),r.promise},Mm=to,Lm=Th.CONSTRUCTOR,Pm=Om;G("Promise"),Mm({target:"Promise",stat:!0,forced:Lm},{resolve:function(e){return Pm(this,e)}});var xm=to,Um=ch,Vm=o,Fm=G,Bm=F,Hm=Jd,Wm=Om,jm=$r,Gm=Um&&Um.prototype;if(xm({target:"Promise",proto:!0,real:!0,forced:!!Um&&Vm((function(){Gm.finally.call({then:function(){}},(function(){}))}))},{finally:function(e){var t=Hm(this,Fm("Promise")),r=Bm(e);return this.then(r?function(r){return Wm(t,e()).then((function(){return r}))}:e,r?function(r){return Wm(t,e()).then((function(){throw r}))}:e)}}),Bm(Um)){var zm=Fm("Promise").prototype.finally;Gm.finally!==zm&&jm(Gm,"finally",zm,{unsafe:!0})}var Km=H,qm=R,Ym=tt("match"),Jm=function(e){var t;return Km(e)&&(void 0!==(t=e[Ym])?!!t:"RegExp"===qm(e))},Xm=Mt,$m=function(){var e=Xm(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t},Qm=l,Zm=He,ef=z,tf=$m,rf=RegExp.prototype,of=function(e){var t=e.flags;return void 0!==t||"flags"in rf||Zm(e,"flags")||!ef(rf,e)?t:Qm(tf,e)},nf=o,af=r.RegExp,sf=nf((function(){var e=af("a","y");return e.lastIndex=2,null!==e.exec("abcd")})),cf=sf||nf((function(){return!af("a","y").sticky})),lf=sf||nf((function(){var e=af("^r","gy");return e.lastIndex=2,null!==e.exec("str")})),df={BROKEN_CARET:lf,MISSED_STICKY:cf,UNSUPPORTED_Y:sf},uf=Ct.f,hf=o,pf=r.RegExp,mf=hf((function(){var e=pf(".","s");return!(e.dotAll&&e.test("\n")&&"s"===e.flags)})),ff=o,_f=r.RegExp,gf=ff((function(){var e=_f("(?<a>b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$<a>c")})),Ef=n,vf=r,yf=T,Tf=qi,If=ml,Af=qt,Sf=ia,Rf=Qr.f,bf=z,wf=Jm,Cf=po,Df=of,Nf=df,kf=function(e,t,r){r in e||uf(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})},Of=$r,Mf=o,Lf=He,Pf=Cr.enforce,xf=Td,Uf=mf,Vf=gf,Ff=tt("match"),Bf=vf.RegExp,Hf=Bf.prototype,Wf=vf.SyntaxError,jf=yf(Hf.exec),Gf=yf("".charAt),zf=yf("".replace),Kf=yf("".indexOf),qf=yf("".slice),Yf=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Jf=/a/g,Xf=/a/g,$f=new Bf(Jf)!==Jf,Qf=Nf.MISSED_STICKY,Zf=Nf.UNSUPPORTED_Y,e_=Ef&&(!$f||Qf||Uf||Vf||Mf((function(){return Xf[Ff]=!1,Bf(Jf)!==Jf||Bf(Xf)===Xf||"/a/i"!==String(Bf(Jf,"i"))})));if(Tf("RegExp",e_)){for(var t_=function(e,t){var r,i,o,n,a,s,c=bf(Hf,this),l=wf(e),d=void 0===t,u=[],h=e;if(!c&&l&&d&&e.constructor===t_)return e;if((l||bf(Hf,e))&&(e=e.source,d&&(t=Df(h))),e=void 0===e?"":Cf(e),t=void 0===t?"":Cf(t),h=e,Uf&&"dotAll"in Jf&&(i=!!t&&Kf(t,"s")>-1)&&(t=zf(t,/s/g,"")),r=t,Qf&&"sticky"in Jf&&(o=!!t&&Kf(t,"y")>-1)&&Zf&&(t=zf(t,/y/g,"")),Vf&&(n=function(e){for(var t,r=e.length,i=0,o="",n=[],a=Sf(null),s=!1,c=!1,l=0,d="";i<=r;i++){if("\\"===(t=Gf(e,i)))t+=Gf(e,++i);else if("]"===t)s=!1;else if(!s)switch(!0){case"["===t:s=!0;break;case"("===t:if(o+=t,"?:"===qf(e,i+1,i+3))continue;jf(Yf,qf(e,i+1))&&(i+=2,c=!0),l++;continue;case">"===t&&c:if(""===d||Lf(a,d))throw new Wf("Invalid capture group name");a[d]=!0,n[n.length]=[d,l],c=!1,d="";continue}c?d+=t:o+=t}return[o,n]}(e),e=n[0],u=n[1]),a=If(Bf(e,t),c?this:Hf,t_),(i||o||u.length)&&(s=Pf(a),i&&(s.dotAll=!0,s.raw=t_(function(e){for(var t,r=e.length,i=0,o="",n=!1;i<=r;i++)"\\"!==(t=Gf(e,i))?n||"."!==t?("["===t?n=!0:"]"===t&&(n=!1),o+=t):o+="[\\s\\S]":o+=t+Gf(e,++i);return o}(e),r)),o&&(s.sticky=!0),u.length&&(s.groups=u)),e!==h)try{Af(a,"source",""===h?"(?:)":h)}catch(BG){}return a},r_=Rf(Bf),i_=0;r_.length>i_;)kf(t_,Bf,r_[i_++]);Hf.constructor=t_,t_.prototype=Hf,Of(vf,"RegExp",t_,{constructor:!0})}xf("RegExp");var o_=l,n_=T,a_=po,s_=$m,c_=df,l_=ia,d_=Cr.get,u_=mf,h_=gf,p_=Pe("native-string-replace",String.prototype.replace),m_=RegExp.prototype.exec,f_=m_,__=n_("".charAt),g_=n_("".indexOf),E_=n_("".replace),v_=n_("".slice),y_=function(){var e=/a/,t=/b*/g;return o_(m_,e,"a"),o_(m_,t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),T_=c_.BROKEN_CARET,I_=void 0!==/()??/.exec("")[1];(y_||I_||T_||u_||h_)&&(f_=function(e){var t,r,i,o,n,a,s,c=this,l=d_(c),d=a_(e),u=l.raw;if(u)return u.lastIndex=c.lastIndex,t=o_(f_,u,d),c.lastIndex=u.lastIndex,t;var h=l.groups,p=T_&&c.sticky,m=o_(s_,c),f=c.source,_=0,g=d;if(p&&(m=E_(m,"y",""),-1===g_(m,"g")&&(m+="g"),g=v_(d,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==__(d,c.lastIndex-1))&&(f="(?: "+f+")",g=" "+g,_++),r=new RegExp("^(?:"+f+")",m)),I_&&(r=new RegExp("^"+f+"$(?!\\s)",m)),y_&&(i=c.lastIndex),o=o_(m_,p?r:c,g),p?o?(o.input=v_(o.input,_),o[0]=v_(o[0],_),o.index=c.lastIndex,c.lastIndex+=o[0].length):c.lastIndex=0:y_&&o&&(c.lastIndex=c.global?o.index+o[0].length:i),I_&&o&&o.length>1&&o_(p_,o[0],r,(function(){for(n=1;n<arguments.length-2;n++)void 0===arguments[n]&&(o[n]=void 0)})),o&&h)for(o.groups=a=l_(null),n=0;n<h.length;n++)a[(s=h[n])[0]]=o[s[1]];return o});var A_=f_;to({target:"RegExp",proto:!0,forced:/./.exec!==A_},{exec:A_});var S_=n,R_=_o,b_=$m,w_=o,C_=r.RegExp,D_=C_.prototype,N_=S_&&w_((function(){var e=!0;try{C_(".","d")}catch(BG){e=!1}var t={},r="",i=e?"dgimsy":"gimsy",o=function(e,i){Object.defineProperty(t,e,{get:function(){return r+=i,!0}})},n={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var a in e&&(n.hasIndices="d"),n)o(a,n[a]);return Object.getOwnPropertyDescriptor(D_,"flags").get.call(t)!==i||r!==i}));N_&&R_(D_,"flags",{configurable:!0,get:b_});var k_=ii,O_=po,M_=L,L_=RangeError,P_=T,x_=di,U_=po,V_=function(e){var t=O_(M_(this)),r="",i=k_(e);if(i<0||Infinity===i)throw new L_("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(r+=t);return r},F_=L,B_=P_(V_),H_=P_("".slice),W_=Math.ceil,j_=function(e){return function(t,r,i){var o,n,a=U_(F_(t)),s=x_(r),c=a.length,l=void 0===i?" ":U_(i);return s<=c||""===l?a:((n=B_(l,W_((o=s-c)/l.length))).length>o&&(n=H_(n,0,o)),e?a+n:n+a)}},G_={start:j_(!1),end:j_(!0)},z_=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Y),K_=G_.start;to({target:"String",proto:!0,forced:z_},{padStart:function(e){return K_(this,e,arguments.length>1?arguments[1]:void 0)}});var q_=l,Y_=$r,J_=A_,X_=o,$_=tt,Q_=qt,Z_=$_("species"),eg=RegExp.prototype,tg=T,rg=ii,ig=po,og=L,ng=tg("".charAt),ag=tg("".charCodeAt),sg=tg("".slice),cg=function(e){return function(t,r){var i,o,n=ig(og(t)),a=rg(r),s=n.length;return a<0||a>=s?e?"":void 0:(i=ag(n,a))<55296||i>56319||a+1===s||(o=ag(n,a+1))<56320||o>57343?e?ng(n,a):i:e?sg(n,a,a+2):o-56320+(i-55296<<10)+65536}},lg={codeAt:cg(!1),charAt:cg(!0)},dg=lg.charAt,ug=T,hg=Ve,pg=Math.floor,mg=ug("".charAt),fg=ug("".replace),_g=ug("".slice),gg=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,Eg=/\$([$&'`]|\d{1,2})/g,vg=function(e,t,r,i,o,n){var a=r+e.length,s=i.length,c=Eg;return void 0!==o&&(o=hg(o),c=gg),fg(n,c,(function(n,c){var l;switch(mg(c,0)){case"$":return"$";case"&":return e;case"`":return _g(t,0,r);case"'":return _g(t,a);case"<":l=o[_g(c,1,-1)];break;default:var d=+c;if(0===d)return n;if(d>s){var u=pg(d/10);return 0===u?n:u<=s?void 0===i[u-1]?mg(c,1):i[u-1]+mg(c,1):n}l=i[d-1]}return void 0===l?"":l}))},yg=l,Tg=Mt,Ig=F,Ag=R,Sg=A_,Rg=TypeError,bg=eu,wg=l,Cg=T,Dg=function(e,t,r,i){var o=$_(e),n=!X_((function(){var t={};return t[o]=function(){return 7},7!==""[e](t)})),a=n&&!X_((function(){var t=!1,r=/a/;return"split"===e&&((r={}).constructor={},r.constructor[Z_]=function(){return r},r.flags="",r[o]=/./[o]),r.exec=function(){return t=!0,null},r[o](""),!t}));if(!n||!a||r){var s=/./[o],c=t(o,""[e],(function(e,t,r,i,o){var a=t.exec;return a===J_||a===eg.exec?n&&!o?{done:!0,value:q_(s,t,r,i)}:{done:!0,value:q_(e,r,t,i)}:{done:!1}}));Y_(String.prototype,e,c[0]),Y_(eg,o,c[1])}i&&Q_(eg[o],"sham",!0)},Ng=o,kg=Mt,Og=F,Mg=k,Lg=ii,Pg=di,xg=po,Ug=L,Vg=function(e,t,r){return t+(r?dg(e,t).length:1)},Fg=ye,Bg=vg,Hg=function(e,t){var r=e.exec;if(Ig(r)){var i=yg(r,e,t);return null!==i&&Tg(i),i}if("RegExp"===Ag(e))return yg(Sg,e,t);throw new Rg("RegExp#exec called on incompatible receiver")},Wg=tt("replace"),jg=Math.max,Gg=Math.min,zg=Cg([].concat),Kg=Cg([].push),qg=Cg("".indexOf),Yg=Cg("".slice),Jg=function(e){return void 0===e?e:String(e)},Xg="$0"==="a".replace(/./,"$0"),$g=!!/./[Wg]&&""===/./[Wg]("a","$0"),Qg=!Ng((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$<a>")}));Dg("replace",(function(e,t,r){var i=$g?"$":"$0";return[function(e,r){var i=Ug(this),o=Mg(e)?void 0:Fg(e,Wg);return o?wg(o,e,i,r):wg(t,xg(i),e,r)},function(e,o){var n=kg(this),a=xg(e);if("string"==typeof o&&-1===qg(o,i)&&-1===qg(o,"$<")){var s=r(t,n,a,o);if(s.done)return s.value}var c=Og(o);c||(o=xg(o));var l,d=n.global;d&&(l=n.unicode,n.lastIndex=0);for(var u,h=[];null!==(u=Hg(n,a))&&(Kg(h,u),d);){""===xg(u[0])&&(n.lastIndex=Vg(a,Pg(n.lastIndex),l))}for(var p="",m=0,f=0;f<h.length;f++){for(var _,g=xg((u=h[f])[0]),E=jg(Gg(Lg(u.index),a.length),0),v=[],y=1;y<u.length;y++)Kg(v,Jg(u[y]));var T=u.groups;if(c){var I=zg([g],v,E,a);void 0!==T&&Kg(I,T),_=xg(bg(o,void 0,I))}else _=Bg(g,a,E,v,T,o);E>=m&&(p+=Yg(a,m,E)+_,m=E+g.length)}return p+Yg(a,m)}]}),!Qg||!Xg||$g);var Zg="\t\n\v\f\r                 \u2028\u2029\ufeff",eE=L,tE=po,rE=Zg,iE=T("".replace),oE=RegExp("^["+rE+"]+"),nE=RegExp("(^|[^"+rE+"])["+rE+"]+$"),aE=function(e){return function(t){var r=tE(eE(t));return 1&e&&(r=iE(r,oE,"")),2&e&&(r=iE(r,nE,"$1")),r}},sE={start:aE(1),end:aE(2),trim:aE(3)},cE=er.PROPER,lE=o,dE=Zg,uE=sE.trim;to({target:"String",proto:!0,forced:function(e){return lE((function(){return!!dE[e]()||"​…᠎"!=="​…᠎"[e]()||cE&&dE[e].name!==e}))}("trim")},{trim:function(){return uE(this)}});var hE,pE,mE,fE={exports:{}},_E=Uc,gE=n,EE=r,vE=F,yE=H,TE=He,IE=lo,AE=pe,SE=qt,RE=$r,bE=_o,wE=z,CE=Sa,DE=ts,NE=tt,kE=Ke,OE=Cr.enforce,ME=Cr.get,LE=EE.Int8Array,PE=LE&&LE.prototype,xE=EE.Uint8ClampedArray,UE=xE&&xE.prototype,VE=LE&&CE(LE),FE=PE&&CE(PE),BE=Object.prototype,HE=EE.TypeError,WE=NE("toStringTag"),jE=kE("TYPED_ARRAY_TAG"),GE="TypedArrayConstructor",zE=_E&&!!DE&&"Opera"!==IE(EE.opera),KE=!1,qE={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},YE={BigInt64Array:8,BigUint64Array:8},JE=function(e){var t=CE(e);if(yE(t)){var r=ME(t);return r&&TE(r,GE)?r[GE]:JE(t)}},XE=function(e){if(!yE(e))return!1;var t=IE(e);return TE(qE,t)||TE(YE,t)};for(hE in qE)(mE=(pE=EE[hE])&&pE.prototype)?OE(mE)[GE]=pE:zE=!1;for(hE in YE)(mE=(pE=EE[hE])&&pE.prototype)&&(OE(mE)[GE]=pE);if((!zE||!vE(VE)||VE===Function.prototype)&&(VE=function(){throw new HE("Incorrect invocation")},zE))for(hE in qE)EE[hE]&&DE(EE[hE],VE);if((!zE||!FE||FE===BE)&&(FE=VE.prototype,zE))for(hE in qE)EE[hE]&&DE(EE[hE].prototype,FE);if(zE&&CE(UE)!==FE&&DE(UE,FE),gE&&!TE(FE,WE))for(hE in KE=!0,bE(FE,WE,{configurable:!0,get:function(){return yE(this)?this[jE]:void 0}}),qE)EE[hE]&&SE(EE[hE],jE,hE);var $E={NATIVE_ARRAY_BUFFER_VIEWS:zE,TYPED_ARRAY_TAG:KE&&jE,aTypedArray:function(e){if(XE(e))return e;throw new HE("Target is not a typed array")},aTypedArrayConstructor:function(e){if(vE(e)&&(!DE||wE(VE,e)))return e;throw new HE(AE(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,r,i){if(gE){if(r)for(var o in qE){var n=EE[o];if(n&&TE(n.prototype,e))try{delete n.prototype[e]}catch(BG){try{n.prototype[e]=t}catch(a){}}}FE[e]&&!r||RE(FE,e,r?t:zE&&PE[e]||t,i)}},exportTypedArrayStaticMethod:function(e,t,r){var i,o;if(gE){if(DE){if(r)for(i in qE)if((o=EE[i])&&TE(o,e))try{delete o[e]}catch(BG){}if(VE[e]&&!r)return;try{return RE(VE,e,r?t:zE&&VE[e]||t)}catch(BG){}}for(i in qE)!(o=EE[i])||o[e]&&!r||RE(o,e,t)}},getTypedArrayConstructor:JE,isView:function(e){if(!yE(e))return!1;var t=IE(e);return"DataView"===t||TE(qE,t)||TE(YE,t)},isTypedArray:XE,TypedArray:VE,TypedArrayPrototype:FE},QE=r,ZE=o,ev=sm,tv=$E.NATIVE_ARRAY_BUFFER_VIEWS,rv=QE.ArrayBuffer,iv=QE.Int8Array,ov=!tv||!ZE((function(){iv(1)}))||!ZE((function(){new iv(-1)}))||!ev((function(e){new iv,new iv(null),new iv(1.5),new iv(e)}),!0)||ZE((function(){return 1!==new iv(new rv(2),1,void 0).length})),nv=H,av=Math.floor,sv=Number.isInteger||function(e){return!nv(e)&&isFinite(e)&&av(e)===e},cv=ii,lv=RangeError,dv=function(e){var t=cv(e);if(t<0)throw new lv("The argument can't be less than 0");return t},uv=RangeError,hv=function(e,t){var r=dv(e);if(r%t)throw new uv("Wrong offset");return r},pv=Math.round,mv=lo,fv=lt,_v=TypeError,gv=function(e){var t=fv(e,"number");if("number"==typeof t)throw new _v("Can't convert number to bigint");return BigInt(t)},Ev=Zo,vv=l,yv=Gd,Tv=Ve,Iv=hi,Av=Vp,Sv=kp,Rv=Rp,bv=function(e){var t=mv(e);return"BigInt64Array"===t||"BigUint64Array"===t},wv=$E.aTypedArrayConstructor,Cv=gv,Dv=Zo,Nv=N,kv=Ve,Ov=hi,Mv=bn,Lv=T([].push),Pv=function(e){var t=1===e,r=2===e,i=3===e,o=4===e,n=6===e,a=7===e,s=5===e||n;return function(c,l,d,u){for(var h,p,m=kv(c),f=Nv(m),_=Ov(f),g=Dv(l,d),E=0,v=u||Mv,y=t?v(c,_):r||a?v(c,0):void 0;_>E;E++)if((s||E in f)&&(p=g(h=f[E],E,m),e))if(t)y[E]=p;else if(p)switch(e){case 3:return!0;case 5:return h;case 6:return E;case 2:Lv(y,h)}else switch(e){case 4:return!1;case 7:Lv(y,h)}return n?-1:i||o?o:y}},xv={forEach:Pv(0),map:Pv(1),filter:Pv(2),some:Pv(3),every:Pv(4),find:Pv(5),findIndex:Pv(6),filterReject:Pv(7)},Uv=hi,Vv=to,Fv=r,Bv=l,Hv=n,Wv=ov,jv=$E,Gv=_d,zv=Wc,Kv=_,qv=qt,Yv=sv,Jv=di,Xv=Kc,$v=hv,Qv=function(e){var t=pv(e);return t<0?0:t>255?255:255&t},Zv=ht,ey=He,ty=lo,ry=H,iy=ue,oy=ia,ny=z,ay=ts,sy=Qr.f,cy=function(e){var t,r,i,o,n,a,s,c,l=yv(this),d=Tv(e),u=arguments.length,h=u>1?arguments[1]:void 0,p=void 0!==h,m=Sv(d);if(m&&!Rv(m))for(c=(s=Av(d,m)).next,d=[];!(a=vv(c,s)).done;)d.push(a.value);for(p&&u>2&&(h=Ev(h,arguments[2])),r=Iv(d),i=new(wv(l))(r),o=bv(i),t=0;r>t;t++)n=p?h(d[t],t):d[t],i[t]=o?Cv(n):+n;return i},ly=xv.forEach,dy=Td,uy=_o,hy=Ct,py=i,my=function(e,t,r){for(var i=0,o=arguments.length>2?r:Uv(t),n=new e(o);o>i;)n[i]=t[i++];return n},fy=ml,_y=Cr.get,gy=Cr.set,Ey=Cr.enforce,vy=hy.f,yy=py.f,Ty=Fv.RangeError,Iy=Gv.ArrayBuffer,Ay=Iy.prototype,Sy=Gv.DataView,Ry=jv.NATIVE_ARRAY_BUFFER_VIEWS,by=jv.TYPED_ARRAY_TAG,wy=jv.TypedArray,Cy=jv.TypedArrayPrototype,Dy=jv.isTypedArray,Ny="BYTES_PER_ELEMENT",ky="Wrong length",Oy=function(e,t){uy(e,t,{configurable:!0,get:function(){return _y(this)[t]}})},My=function(e){var t;return ny(Ay,e)||"ArrayBuffer"===(t=ty(e))||"SharedArrayBuffer"===t},Ly=function(e,t){return Dy(e)&&!iy(t)&&t in e&&Yv(+t)&&t>=0},Py=function(e,t){return t=Zv(t),Ly(e,t)?Kv(2,e[t]):yy(e,t)},xy=function(e,t,r){return t=Zv(t),!(Ly(e,t)&&ry(r)&&ey(r,"value"))||ey(r,"get")||ey(r,"set")||r.configurable||ey(r,"writable")&&!r.writable||ey(r,"enumerable")&&!r.enumerable?vy(e,t,r):(e[t]=r.value,e)};Hv?(Ry||(py.f=Py,hy.f=xy,Oy(Cy,"buffer"),Oy(Cy,"byteOffset"),Oy(Cy,"byteLength"),Oy(Cy,"length")),Vv({target:"Object",stat:!0,forced:!Ry},{getOwnPropertyDescriptor:Py,defineProperty:xy}),fE.exports=function(e,t,r){var i=e.match(/\d+/)[0]/8,o=e+(r?"Clamped":"")+"Array",n="get"+e,a="set"+e,s=Fv[o],c=s,l=c&&c.prototype,d={},u=function(e,t){vy(e,t,{get:function(){return function(e,t){var r=_y(e);return r.view[n](t*i+r.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,o){var n=_y(e);n.view[a](t*i+n.byteOffset,r?Qv(o):o,!0)}(this,t,e)},enumerable:!0})};Ry?Wv&&(c=t((function(e,t,r,o){return zv(e,l),fy(ry(t)?My(t)?void 0!==o?new s(t,$v(r,i),o):void 0!==r?new s(t,$v(r,i)):new s(t):Dy(t)?my(c,t):Bv(cy,c,t):new s(Xv(t)),e,c)})),ay&&ay(c,wy),ly(sy(s),(function(e){e in c||qv(c,e,s[e])})),c.prototype=l):(c=t((function(e,t,r,o){zv(e,l);var n,a,s,d=0,h=0;if(ry(t)){if(!My(t))return Dy(t)?my(c,t):Bv(cy,c,t);n=t,h=$v(r,i);var p=t.byteLength;if(void 0===o){if(p%i)throw new Ty(ky);if((a=p-h)<0)throw new Ty(ky)}else if((a=Jv(o)*i)+h>p)throw new Ty(ky);s=a/i}else s=Xv(t),n=new Iy(a=s*i);for(gy(e,{buffer:n,byteOffset:h,byteLength:a,length:s,view:new Sy(n)});d<s;)u(e,d++)})),ay&&ay(c,wy),l=c.prototype=oy(Cy)),l.constructor!==c&&qv(l,"constructor",c),Ey(l).TypedArrayConstructor=c,by&&qv(l,by,o);var h=c!==s;d[o]=c,Vv({global:!0,constructor:!0,forced:h,sham:!Ry},d),Ny in c||qv(c,Ny,i),Ny in l||qv(l,Ny,i),dy(o)}):fE.exports=function(){};var Uy=fE.exports;Uy("Float32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Uy("Float64",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Uy("Int8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Uy("Int16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Uy("Int32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Uy("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Uy("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}}),!0),Uy("Uint16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),Uy("Uint32",(function(e){return function(t,r,i){return e(this,t,r,i)}}));var Vy=dl,Fy=gv,By=lo,Hy=l,Wy=o,jy=$E.aTypedArray,Gy=$E.exportTypedArrayMethod,zy=T("".slice);Gy("fill",(function(e){var t=arguments.length;jy(this);var r="Big"===zy(By(this),0,3)?Fy(e):+e;return Hy(Vy,this,r,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),Wy((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var Ky=r,qy=l,Yy=$E,Jy=hi,Xy=hv,$y=Ve,Qy=o,Zy=Ky.RangeError,eT=Ky.Int8Array,tT=eT&&eT.prototype,rT=tT&&tT.set,iT=Yy.aTypedArray,oT=Yy.exportTypedArrayMethod,nT=!Qy((function(){var e=new Uint8ClampedArray(2);return qy(rT,e,{length:1,0:3},1),3!==e[1]})),aT=nT&&Yy.NATIVE_ARRAY_BUFFER_VIEWS&&Qy((function(){var e=new eT(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));oT("set",(function(e){iT(this);var t=Xy(arguments.length>1?arguments[1]:void 0,1),r=$y(e);if(nT)return qy(rT,this,r,t);var i=this.length,o=Jy(r),n=0;if(o+t>i)throw new Zy("Wrong length");for(;n<o;)this[t+n]=r[n++]}),!nT||aT);var sT=Jo,cT=o,lT=ge,dT=dc,uT=hc,hT=pc,pT=te,mT=fc,fT=$E.aTypedArray,_T=$E.exportTypedArrayMethod,gT=r.Uint16Array,ET=gT&&sT(gT.prototype.sort),vT=!(!ET||cT((function(){ET(new gT(2),null)}))&&cT((function(){ET(new gT(2),{})}))),yT=!!ET&&!cT((function(){if(pT)return pT<74;if(uT)return uT<67;if(hT)return!0;if(mT)return mT<602;var e,t,r=new gT(516),i=Array(516);for(e=0;e<516;e++)t=e%4,r[e]=515-e,i[e]=e-2*t+3;for(ET(r,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(r[e]!==i[e])return!0}));_T("sort",(function(e){return void 0!==e&&lT(e),yT?ET(this,e):dT(fT(this),function(e){return function(t,r){return void 0!==e?+e(t,r)||0:r!=r?-1:t!=t?1:0===t&&0===r?1/t>0&&1/r<0?1:-1:t>r}}(e))}),!yT||vT);var TT=to,IT=l,AT=T,ST=L,RT=F,bT=k,wT=Jm,CT=po,DT=ye,NT=of,kT=vg,OT=tt("replace"),MT=TypeError,LT=AT("".indexOf);AT("".replace);var PT=AT("".slice),xT=Math.max;TT({target:"String",proto:!0},{replaceAll:function(e,t){var r,i,o,n,a,s,c,l,d,u=ST(this),h=0,p="";if(!bT(e)){if(wT(e)&&(r=CT(ST(NT(e))),!~LT(r,"g")))throw new MT("`.replaceAll` does not allow non-global regexes");if(i=DT(e,OT))return IT(i,e,u,t)}for(o=CT(u),n=CT(e),(a=RT(t))||(t=CT(t)),s=n.length,c=xT(1,s),l=LT(o,n);-1!==l;)d=a?CT(t(n,l,o)):kT(n,o,l,[],void 0,t),p+=PT(o,h,l)+d,h=l+s,l=l+c>o.length?-1:LT(o,n,l+c);return h<o.length&&(p+=PT(o,h)),p}});var UT={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0},VT=_t("span").classList,FT=VT&&VT.constructor&&VT.constructor.prototype,BT=FT===Object.prototype?void 0:FT,HT=xv.forEach,WT=zs("forEach")?[].forEach:function(e){return HT(this,e,arguments.length>1?arguments[1]:void 0)},jT=r,GT=UT,zT=BT,KT=WT,qT=qt,YT=function(e){if(e&&e.forEach!==KT)try{qT(e,"forEach",KT)}catch(BG){e.forEach=KT}};for(var JT in GT)GT[JT]&&YT(jT[JT]&&jT[JT].prototype);YT(zT);var XT=r,$T=UT,QT=BT,ZT=Ls,eI=qt,tI=Ua,rI=tt("iterator"),iI=ZT.values,oI=function(e,t){if(e){if(e[rI]!==iI)try{eI(e,rI,iI)}catch(BG){e[rI]=iI}if(tI(e,t,!0),$T[t])for(var r in ZT)if(e[r]!==ZT[r])try{eI(e,r,ZT[r])}catch(BG){e[r]=ZT[r]}}};for(var nI in $T)oI(XT[nI]&&XT[nI].prototype,nI);oI(QT,"DOMTokenList");var aI=Nu.clear;to({global:!0,bind:!0,enumerable:!0,forced:r.clearImmediate!==aI},{clearImmediate:aI});var sI=r,cI=eu,lI=F,dI=Xs,uI=Y,hI=ac,pI=ru,mI=sI.Function,fI=/MSIE .\./.test(uI)||"BUN"===dI&&function(){var e=sI.Bun.version.split(".");return e.length<3||"0"===e[0]&&(e[1]<3||"3"===e[1]&&"0"===e[2])}(),_I=to,gI=r,EI=Nu.set,vI=function(e,t){var r=t?2:1;return fI?function(i,o){var n=pI(arguments.length,1)>r,a=lI(i)?i:mI(i),s=n?hI(arguments,r):[],c=n?function(){cI(a,this,s)}:a;return t?e(c,o):e(c)}:e},yI=gI.setImmediate?vI(EI,!1):EI;_I({global:!0,bind:!0,enumerable:!0,forced:gI.setImmediate!==yI},{setImmediate:yI});var TI=lg.charAt,II=po,AI=Cr,SI=Ts,RI=Is,bI="String Iterator",wI=AI.set,CI=AI.getterFor(bI);SI(String,"String",(function(e){wI(this,{type:bI,string:II(e),index:0})}),(function(){var e,t=CI(this),r=t.string,i=t.index;return i>=r.length?RI(void 0,!0):(e=TI(r,i),t.index+=e.length,RI(e,!1))}));var DI=o,NI=n,kI=tt("iterator"),OI=!DI((function(){var e=new URL("b?a=1&b=2&c=3","https://a"),t=e.searchParams,r=new URLSearchParams("a=1&a=2&b=3"),i="";return e.pathname="c%20d",t.forEach((function(e,r){t.delete("b"),i+=r+e})),r.delete("a",2),r.delete("b",void 0),!t.size&&!NI||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[kI]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("https://тест").host||"#%D0%B1"!==new URL("https://a#б").hash||"a1c3"!==i||"x"!==new URL("https://x",void 0).host})),MI=n,LI=T,PI=l,xI=o,UI=Pn,VI=wi,FI=d,BI=Ve,HI=N,WI=Object.assign,jI=Object.defineProperty,GI=LI([].concat),zI=!WI||xI((function(){if(MI&&1!==WI({b:1},WI(jI({},"a",{enumerable:!0,get:function(){jI(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},r=Symbol("assign detection"),i="abcdefghijklmnopqrst";return e[r]=7,i.split("").forEach((function(e){t[e]=e})),7!==WI({},e)[r]||UI(WI({},t)).join("")!==i}))?function(e,t){for(var r=BI(e),i=arguments.length,o=1,n=VI.f,a=FI.f;i>o;)for(var s,c=HI(arguments[o++]),l=n?GI(UI(c),n(c)):UI(c),d=l.length,u=0;d>u;)s=l[u++],MI&&!PI(a,c,s)||(r[s]=c[s]);return r}:WI,KI=Mt,qI=Wp,YI=n,JI=Ct,XI=_,$I=Zo,QI=l,ZI=Ve,eA=function(e,t,r,i){try{return i?t(KI(r)[0],r[1]):t(r)}catch(BG){qI(e,"throw",BG)}},tA=Rp,rA=vn,iA=hi,oA=function(e,t,r){YI?JI.f(e,t,XI(0,r)):e[t]=r},nA=Vp,aA=kp,sA=Array,cA=T,lA=2147483647,dA=/[^\0-\u007E]/,uA=/[.\u3002\uFF0E\uFF61]/g,hA="Overflow: input needs wider integers to process",pA=RangeError,mA=cA(uA.exec),fA=Math.floor,_A=String.fromCharCode,gA=cA("".charCodeAt),EA=cA([].join),vA=cA([].push),yA=cA("".replace),TA=cA("".split),IA=cA("".toLowerCase),AA=function(e){return e+22+75*(e<26)},SA=function(e,t,r){var i=0;for(e=r?fA(e/700):e>>1,e+=fA(e/t);e>455;)e=fA(e/35),i+=36;return fA(i+36*e/(e+38))},RA=function(e){var t=[];e=function(e){for(var t=[],r=0,i=e.length;r<i;){var o=gA(e,r++);if(o>=55296&&o<=56319&&r<i){var n=gA(e,r++);56320==(64512&n)?vA(t,((1023&o)<<10)+(1023&n)+65536):(vA(t,o),r--)}else vA(t,o)}return t}(e);var r,i,o=e.length,n=128,a=0,s=72;for(r=0;r<e.length;r++)(i=e[r])<128&&vA(t,_A(i));var c=t.length,l=c;for(c&&vA(t,"-");l<o;){var d=lA;for(r=0;r<e.length;r++)(i=e[r])>=n&&i<d&&(d=i);var u=l+1;if(d-n>fA((lA-a)/u))throw new pA(hA);for(a+=(d-n)*u,n=d,r=0;r<e.length;r++){if((i=e[r])<n&&++a>lA)throw new pA(hA);if(i===n){for(var h=a,p=36;;){var m=p<=s?1:p>=s+26?26:p-s;if(h<m)break;var f=h-m,_=36-m;vA(t,_A(AA(m+f%_))),h=fA(f/_),p+=36}vA(t,_A(AA(h))),s=SA(a,u,l===c),a=0,l++}}a++,n++}return EA(t,"")},bA=to,wA=T,CA=si,DA=RangeError,NA=String.fromCharCode,kA=String.fromCodePoint,OA=wA([].join);bA({target:"String",stat:!0,arity:1,forced:!!kA&&1!==kA.length},{fromCodePoint:function(e){for(var t,r=[],i=arguments.length,o=0;i>o;){if(t=+arguments[o++],CA(t,1114111)!==t)throw new DA(t+" is not a valid code point");r[o]=t<65536?NA(t):NA(55296+((t-=65536)>>10),t%1024+56320)}return OA(r,"")}});var MA=to,LA=r,PA=Lu,xA=G,UA=l,VA=T,FA=n,BA=OI,HA=$r,WA=_o,jA=Fc,GA=Ua,zA=Ga,KA=Cr,qA=Wc,YA=F,JA=He,XA=Zo,$A=lo,QA=Mt,ZA=H,eS=po,tS=ia,rS=_,iS=Vp,oS=kp,nS=Is,aS=ru,sS=dc,cS=tt("iterator"),lS="URLSearchParams",dS=lS+"Iterator",uS=KA.set,hS=KA.getterFor(lS),pS=KA.getterFor(dS),mS=PA("fetch"),fS=PA("Request"),_S=PA("Headers"),gS=fS&&fS.prototype,ES=_S&&_S.prototype,vS=LA.TypeError,yS=LA.encodeURIComponent,TS=String.fromCharCode,IS=xA("String","fromCodePoint"),AS=parseInt,SS=VA("".charAt),RS=VA([].join),bS=VA([].push),wS=VA("".replace),CS=VA([].shift),DS=VA([].splice),NS=VA("".split),kS=VA("".slice),OS=VA(/./.exec),MS=/\+/g,LS=/^[0-9a-f]+$/i,PS=function(e,t){var r=kS(e,t,t+2);return OS(LS,r)?AS(r,16):NaN},xS=function(e){for(var t=0,r=128;r>0&&e&r;r>>=1)t++;return t},US=function(e){var t=null;switch(e.length){case 1:t=e[0];break;case 2:t=(31&e[0])<<6|63&e[1];break;case 3:t=(15&e[0])<<12|(63&e[1])<<6|63&e[2];break;case 4:t=(7&e[0])<<18|(63&e[1])<<12|(63&e[2])<<6|63&e[3]}return t>1114111?null:t},VS=function(e){for(var t=(e=wS(e,MS," ")).length,r="",i=0;i<t;){var o=SS(e,i);if("%"===o){if("%"===SS(e,i+1)||i+3>t){r+="%",i++;continue}var n=PS(e,i+1);if(n!=n){r+=o,i++;continue}i+=2;var a=xS(n);if(0===a)o=TS(n);else{if(1===a||a>4){r+="�",i++;continue}for(var s=[n],c=1;c<a&&!(++i+3>t||"%"!==SS(e,i));){var l=PS(e,i+1);if(l!=l){i+=3;break}if(l>191||l<128)break;bS(s,l),i+=2,c++}if(s.length!==a){r+="�";continue}var d=US(s);null===d?r+="�":o=IS(d)}}r+=o,i++}return r},FS=/[!'()~]|%20/g,BS={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},HS=function(e){return BS[e]},WS=function(e){return wS(yS(e),FS,HS)},jS=zA((function(e,t){uS(this,{type:dS,target:hS(e).entries,index:0,kind:t})}),lS,(function(){var e=pS(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,nS(void 0,!0);var i=t[r];switch(e.kind){case"keys":return nS(i.key,!1);case"values":return nS(i.value,!1)}return nS([i.key,i.value],!1)}),!0),GS=function(e){this.entries=[],this.url=null,void 0!==e&&(ZA(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===SS(e,0)?kS(e,1):e:eS(e)))};GS.prototype={type:lS,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,i,o,n,a,s,c=this.entries,l=oS(e);if(l)for(r=(t=iS(e,l)).next;!(i=UA(r,t)).done;){if(n=(o=iS(QA(i.value))).next,(a=UA(n,o)).done||(s=UA(n,o)).done||!UA(n,o).done)throw new vS("Expected sequence with length 2");bS(c,{key:eS(a.value),value:eS(s.value)})}else for(var d in e)JA(e,d)&&bS(c,{key:d,value:eS(e[d])})},parseQuery:function(e){if(e)for(var t,r,i=this.entries,o=NS(e,"&"),n=0;n<o.length;)(t=o[n++]).length&&(r=NS(t,"="),bS(i,{key:VS(CS(r)),value:VS(RS(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],i=0;i<t.length;)e=t[i++],bS(r,WS(e.key)+"="+WS(e.value));return RS(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var zS=function(){qA(this,KS);var e=uS(this,new GS(arguments.length>0?arguments[0]:void 0));FA||(this.size=e.entries.length)},KS=zS.prototype;if(jA(KS,{append:function(e,t){var r=hS(this);aS(arguments.length,2),bS(r.entries,{key:eS(e),value:eS(t)}),FA||this.length++,r.updateURL()},delete:function(e){for(var t=hS(this),r=aS(arguments.length,1),i=t.entries,o=eS(e),n=r<2?void 0:arguments[1],a=void 0===n?n:eS(n),s=0;s<i.length;){var c=i[s];if(c.key!==o||void 0!==a&&c.value!==a)s++;else if(DS(i,s,1),void 0!==a)break}FA||(this.size=i.length),t.updateURL()},get:function(e){var t=hS(this).entries;aS(arguments.length,1);for(var r=eS(e),i=0;i<t.length;i++)if(t[i].key===r)return t[i].value;return null},getAll:function(e){var t=hS(this).entries;aS(arguments.length,1);for(var r=eS(e),i=[],o=0;o<t.length;o++)t[o].key===r&&bS(i,t[o].value);return i},has:function(e){for(var t=hS(this).entries,r=aS(arguments.length,1),i=eS(e),o=r<2?void 0:arguments[1],n=void 0===o?o:eS(o),a=0;a<t.length;){var s=t[a++];if(s.key===i&&(void 0===n||s.value===n))return!0}return!1},set:function(e,t){var r=hS(this);aS(arguments.length,1);for(var i,o=r.entries,n=!1,a=eS(e),s=eS(t),c=0;c<o.length;c++)(i=o[c]).key===a&&(n?DS(o,c--,1):(n=!0,i.value=s));n||bS(o,{key:a,value:s}),FA||(this.size=o.length),r.updateURL()},sort:function(){var e=hS(this);sS(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,r=hS(this).entries,i=XA(e,arguments.length>1?arguments[1]:void 0),o=0;o<r.length;)i((t=r[o++]).value,t.key,this)},keys:function(){return new jS(this,"keys")},values:function(){return new jS(this,"values")},entries:function(){return new jS(this,"entries")}},{enumerable:!0}),HA(KS,cS,KS.entries,{name:"entries"}),HA(KS,"toString",(function(){return hS(this).serialize()}),{enumerable:!0}),FA&&WA(KS,"size",{get:function(){return hS(this).entries.length},configurable:!0,enumerable:!0}),GA(zS,lS),MA({global:!0,constructor:!0,forced:!BA},{URLSearchParams:zS}),!BA&&YA(_S)){var qS=VA(ES.has),YS=VA(ES.set),JS=function(e){if(ZA(e)){var t,r=e.body;if($A(r)===lS)return t=e.headers?new _S(e.headers):new _S,qS(t,"content-type")||YS(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),tS(e,{body:rS(0,eS(r)),headers:rS(0,t)})}return e};if(YA(mS)&&MA({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return mS(e,arguments.length>1?JS(arguments[1]):{})}}),YA(fS)){var XS=function(e){return qA(this,gS),new fS(e,arguments.length>1?JS(arguments[1]):{})};gS.constructor=XS,XS.prototype=gS,MA({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:XS})}}var $S,QS=to,ZS=n,eR=OI,tR=r,rR=Zo,iR=T,oR=$r,nR=_o,aR=Wc,sR=He,cR=zI,lR=function(e){var t=ZI(e),r=rA(this),i=arguments.length,o=i>1?arguments[1]:void 0,n=void 0!==o;n&&(o=$I(o,i>2?arguments[2]:void 0));var a,s,c,l,d,u,h=aA(t),p=0;if(!h||this===sA&&tA(h))for(a=iA(t),s=r?new this(a):sA(a);a>p;p++)u=n?o(t[p],p):t[p],oA(s,p,u);else for(s=r?new this:[],d=(l=nA(t,h)).next;!(c=QI(d,l)).done;p++)u=n?eA(l,o,[c.value,p],!0):c.value,oA(s,p,u);return s.length=p,s},dR=ac,uR=lg.codeAt,hR=function(e){var t,r,i=[],o=TA(yA(IA(e),uA,"."),".");for(t=0;t<o.length;t++)r=o[t],vA(i,mA(dA,r)?"xn--"+RA(r):r);return EA(i,".")},pR=po,mR=Ua,fR=ru,_R={URLSearchParams:zS,getState:hS},gR=Cr,ER=gR.set,vR=gR.getterFor("URL"),yR=_R.URLSearchParams,TR=_R.getState,IR=tR.URL,AR=tR.TypeError,SR=tR.parseInt,RR=Math.floor,bR=Math.pow,wR=iR("".charAt),CR=iR(/./.exec),DR=iR([].join),NR=iR(1..toString),kR=iR([].pop),OR=iR([].push),MR=iR("".replace),LR=iR([].shift),PR=iR("".split),xR=iR("".slice),UR=iR("".toLowerCase),VR=iR([].unshift),FR="Invalid scheme",BR="Invalid host",HR="Invalid port",WR=/[a-z]/i,jR=/[\d+-.a-z]/i,GR=/\d/,zR=/^0x/i,KR=/^[0-7]+$/,qR=/^\d+$/,YR=/^[\da-f]+$/i,JR=/[\0\t\n\r #%/:<>?@[\\\]^|]/,XR=/[\0\t\n\r #/:<>?@[\\\]^|]/,$R=/^[\u0000-\u0020]+/,QR=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,ZR=/[\t\n\r]/g,eb=function(e){var t,r,i,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)VR(t,e%256),e=RR(e/256);return DR(t,".")}if("object"==typeof e){for(t="",i=function(e){for(var t=null,r=1,i=null,o=0,n=0;n<8;n++)0!==e[n]?(o>r&&(t=i,r=o),i=null,o=0):(null===i&&(i=n),++o);return o>r?i:t}(e),r=0;r<8;r++)o&&0===e[r]||(o&&(o=!1),i===r?(t+=r?":":"::",o=!0):(t+=NR(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},tb={},rb=cR({},tb,{" ":1,'"':1,"<":1,">":1,"`":1}),ib=cR({},rb,{"#":1,"?":1,"{":1,"}":1}),ob=cR({},ib,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),nb=function(e,t){var r=uR(e,0);return r>32&&r<127&&!sR(t,e)?e:encodeURIComponent(e)},ab={ftp:21,file:null,http:80,https:443,ws:80,wss:443},sb=function(e,t){var r;return 2===e.length&&CR(WR,wR(e,0))&&(":"===(r=wR(e,1))||!t&&"|"===r)},cb=function(e){var t;return e.length>1&&sb(xR(e,0,2))&&(2===e.length||"/"===(t=wR(e,2))||"\\"===t||"?"===t||"#"===t)},lb=function(e){return"."===e||"%2e"===UR(e)},db={},ub={},hb={},pb={},mb={},fb={},_b={},gb={},Eb={},vb={},yb={},Tb={},Ib={},Ab={},Sb={},Rb={},bb={},wb={},Cb={},Db={},Nb={},kb=function(e,t,r){var i,o,n,a=pR(e);if(t){if(o=this.parse(a))throw new AR(o);this.searchParams=null}else{if(void 0!==r&&(i=new kb(r,!0)),o=this.parse(a,null,i))throw new AR(o);(n=TR(new yR)).bindURL(this),this.searchParams=n}};kb.prototype={type:"URL",parse:function(e,t,r){var i,o,n,a,s,c=this,l=t||db,d=0,u="",h=!1,p=!1,m=!1;for(e=pR(e),t||(c.scheme="",c.username="",c.password="",c.host=null,c.port=null,c.path=[],c.query=null,c.fragment=null,c.cannotBeABaseURL=!1,e=MR(e,$R,""),e=MR(e,QR,"$1")),e=MR(e,ZR,""),i=lR(e);d<=i.length;){switch(o=i[d],l){case db:if(!o||!CR(WR,o)){if(t)return FR;l=hb;continue}u+=UR(o),l=ub;break;case ub:if(o&&(CR(jR,o)||"+"===o||"-"===o||"."===o))u+=UR(o);else{if(":"!==o){if(t)return FR;u="",l=hb,d=0;continue}if(t&&(c.isSpecial()!==sR(ab,u)||"file"===u&&(c.includesCredentials()||null!==c.port)||"file"===c.scheme&&!c.host))return;if(c.scheme=u,t)return void(c.isSpecial()&&ab[c.scheme]===c.port&&(c.port=null));u="","file"===c.scheme?l=Ab:c.isSpecial()&&r&&r.scheme===c.scheme?l=pb:c.isSpecial()?l=gb:"/"===i[d+1]?(l=mb,d++):(c.cannotBeABaseURL=!0,OR(c.path,""),l=Cb)}break;case hb:if(!r||r.cannotBeABaseURL&&"#"!==o)return FR;if(r.cannotBeABaseURL&&"#"===o){c.scheme=r.scheme,c.path=dR(r.path),c.query=r.query,c.fragment="",c.cannotBeABaseURL=!0,l=Nb;break}l="file"===r.scheme?Ab:fb;continue;case pb:if("/"!==o||"/"!==i[d+1]){l=fb;continue}l=Eb,d++;break;case mb:if("/"===o){l=vb;break}l=wb;continue;case fb:if(c.scheme=r.scheme,o===$S)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=dR(r.path),c.query=r.query;else if("/"===o||"\\"===o&&c.isSpecial())l=_b;else if("?"===o)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=dR(r.path),c.query="",l=Db;else{if("#"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=dR(r.path),c.path.length--,l=wb;continue}c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=dR(r.path),c.query=r.query,c.fragment="",l=Nb}break;case _b:if(!c.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,l=wb;continue}l=vb}else l=Eb;break;case gb:if(l=Eb,"/"!==o||"/"!==wR(u,d+1))continue;d++;break;case Eb:if("/"!==o&&"\\"!==o){l=vb;continue}break;case vb:if("@"===o){h&&(u="%40"+u),h=!0,n=lR(u);for(var f=0;f<n.length;f++){var _=n[f];if(":"!==_||m){var g=nb(_,ob);m?c.password+=g:c.username+=g}else m=!0}u=""}else if(o===$S||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(h&&""===u)return"Invalid authority";d-=lR(u).length+1,u="",l=yb}else u+=o;break;case yb:case Tb:if(t&&"file"===c.scheme){l=Rb;continue}if(":"!==o||p){if(o===$S||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(c.isSpecial()&&""===u)return BR;if(t&&""===u&&(c.includesCredentials()||null!==c.port))return;if(a=c.parseHost(u))return a;if(u="",l=bb,t)return;continue}"["===o?p=!0:"]"===o&&(p=!1),u+=o}else{if(""===u)return BR;if(a=c.parseHost(u))return a;if(u="",l=Ib,t===Tb)return}break;case Ib:if(!CR(GR,o)){if(o===$S||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()||t){if(""!==u){var E=SR(u,10);if(E>65535)return HR;c.port=c.isSpecial()&&E===ab[c.scheme]?null:E,u=""}if(t)return;l=bb;continue}return HR}u+=o;break;case Ab:if(c.scheme="file","/"===o||"\\"===o)l=Sb;else{if(!r||"file"!==r.scheme){l=wb;continue}switch(o){case $S:c.host=r.host,c.path=dR(r.path),c.query=r.query;break;case"?":c.host=r.host,c.path=dR(r.path),c.query="",l=Db;break;case"#":c.host=r.host,c.path=dR(r.path),c.query=r.query,c.fragment="",l=Nb;break;default:cb(DR(dR(i,d),""))||(c.host=r.host,c.path=dR(r.path),c.shortenPath()),l=wb;continue}}break;case Sb:if("/"===o||"\\"===o){l=Rb;break}r&&"file"===r.scheme&&!cb(DR(dR(i,d),""))&&(sb(r.path[0],!0)?OR(c.path,r.path[0]):c.host=r.host),l=wb;continue;case Rb:if(o===$S||"/"===o||"\\"===o||"?"===o||"#"===o){if(!t&&sb(u))l=wb;else if(""===u){if(c.host="",t)return;l=bb}else{if(a=c.parseHost(u))return a;if("localhost"===c.host&&(c.host=""),t)return;u="",l=bb}continue}u+=o;break;case bb:if(c.isSpecial()){if(l=wb,"/"!==o&&"\\"!==o)continue}else if(t||"?"!==o)if(t||"#"!==o){if(o!==$S&&(l=wb,"/"!==o))continue}else c.fragment="",l=Nb;else c.query="",l=Db;break;case wb:if(o===$S||"/"===o||"\\"===o&&c.isSpecial()||!t&&("?"===o||"#"===o)){if(".."===(s=UR(s=u))||"%2e."===s||".%2e"===s||"%2e%2e"===s?(c.shortenPath(),"/"===o||"\\"===o&&c.isSpecial()||OR(c.path,"")):lb(u)?"/"===o||"\\"===o&&c.isSpecial()||OR(c.path,""):("file"===c.scheme&&!c.path.length&&sb(u)&&(c.host&&(c.host=""),u=wR(u,0)+":"),OR(c.path,u)),u="","file"===c.scheme&&(o===$S||"?"===o||"#"===o))for(;c.path.length>1&&""===c.path[0];)LR(c.path);"?"===o?(c.query="",l=Db):"#"===o&&(c.fragment="",l=Nb)}else u+=nb(o,ib);break;case Cb:"?"===o?(c.query="",l=Db):"#"===o?(c.fragment="",l=Nb):o!==$S&&(c.path[0]+=nb(o,tb));break;case Db:t||"#"!==o?o!==$S&&("'"===o&&c.isSpecial()?c.query+="%27":c.query+="#"===o?"%23":nb(o,tb)):(c.fragment="",l=Nb);break;case Nb:o!==$S&&(c.fragment+=nb(o,rb))}d++}},parseHost:function(e){var t,r,i;if("["===wR(e,0)){if("]"!==wR(e,e.length-1))return BR;if(t=function(e){var t,r,i,o,n,a,s,c=[0,0,0,0,0,0,0,0],l=0,d=null,u=0,h=function(){return wR(e,u)};if(":"===h()){if(":"!==wR(e,1))return;u+=2,d=++l}for(;h();){if(8===l)return;if(":"!==h()){for(t=r=0;r<4&&CR(YR,h());)t=16*t+SR(h(),16),u++,r++;if("."===h()){if(0===r)return;if(u-=r,l>6)return;for(i=0;h();){if(o=null,i>0){if(!("."===h()&&i<4))return;u++}if(!CR(GR,h()))return;for(;CR(GR,h());){if(n=SR(h(),10),null===o)o=n;else{if(0===o)return;o=10*o+n}if(o>255)return;u++}c[l]=256*c[l]+o,2!=++i&&4!==i||l++}if(4!==i)return;break}if(":"===h()){if(u++,!h())return}else if(h())return;c[l++]=t}else{if(null!==d)return;u++,d=++l}}if(null!==d)for(a=l-d,l=7;0!==l&&a>0;)s=c[l],c[l--]=c[d+a-1],c[d+--a]=s;else if(8!==l)return;return c}(xR(e,1,-1)),!t)return BR;this.host=t}else if(this.isSpecial()){if(e=hR(e),CR(JR,e))return BR;if(t=function(e){var t,r,i,o,n,a,s,c=PR(e,".");if(c.length&&""===c[c.length-1]&&c.length--,(t=c.length)>4)return e;for(r=[],i=0;i<t;i++){if(""===(o=c[i]))return e;if(n=10,o.length>1&&"0"===wR(o,0)&&(n=CR(zR,o)?16:8,o=xR(o,8===n?1:2)),""===o)a=0;else{if(!CR(10===n?qR:8===n?KR:YR,o))return e;a=SR(o,n)}OR(r,a)}for(i=0;i<t;i++)if(a=r[i],i===t-1){if(a>=bR(256,5-t))return null}else if(a>255)return null;for(s=kR(r),i=0;i<r.length;i++)s+=r[i]*bR(256,3-i);return s}(e),null===t)return BR;this.host=t}else{if(CR(XR,e))return BR;for(t="",r=lR(e),i=0;i<r.length;i++)t+=nb(r[i],tb);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"===this.scheme},includesCredentials:function(){return""!==this.username||""!==this.password},isSpecial:function(){return sR(ab,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"===this.scheme&&1===t&&sb(e[0],!0)||e.length--},serialize:function(){var e=this,t=e.scheme,r=e.username,i=e.password,o=e.host,n=e.port,a=e.path,s=e.query,c=e.fragment,l=t+":";return null!==o?(l+="//",e.includesCredentials()&&(l+=r+(i?":"+i:"")+"@"),l+=eb(o),null!==n&&(l+=":"+n)):"file"===t&&(l+="//"),l+=e.cannotBeABaseURL?a[0]:a.length?"/"+DR(a,"/"):"",null!==s&&(l+="?"+s),null!==c&&(l+="#"+c),l},setHref:function(e){var t=this.parse(e);if(t)throw new AR(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"===e)try{return new Ob(e.path[0]).origin}catch(BG){return"null"}return"file"!==e&&this.isSpecial()?e+"://"+eb(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse(pR(e)+":",db)},getUsername:function(){return this.username},setUsername:function(e){var t=lR(pR(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=nb(t[r],ob)}},getPassword:function(){return this.password},setPassword:function(e){var t=lR(pR(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=nb(t[r],ob)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?eb(e):eb(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,yb)},getHostname:function(){var e=this.host;return null===e?"":eb(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,Tb)},getPort:function(){var e=this.port;return null===e?"":pR(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""===(e=pR(e))?this.port=null:this.parse(e,Ib))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+DR(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,bb))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""===(e=pR(e))?this.query=null:("?"===wR(e,0)&&(e=xR(e,1)),this.query="",this.parse(e,Db)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!==(e=pR(e))?("#"===wR(e,0)&&(e=xR(e,1)),this.fragment="",this.parse(e,Nb)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var Ob=function(e){var t=aR(this,Mb),r=fR(arguments.length,1)>1?arguments[1]:void 0,i=ER(t,new kb(e,!1,r));ZS||(t.href=i.serialize(),t.origin=i.getOrigin(),t.protocol=i.getProtocol(),t.username=i.getUsername(),t.password=i.getPassword(),t.host=i.getHost(),t.hostname=i.getHostname(),t.port=i.getPort(),t.pathname=i.getPathname(),t.search=i.getSearch(),t.searchParams=i.getSearchParams(),t.hash=i.getHash())},Mb=Ob.prototype,Lb=function(e,t){return{get:function(){return vR(this)[e]()},set:t&&function(e){return vR(this)[t](e)},configurable:!0,enumerable:!0}};if(ZS&&(nR(Mb,"href",Lb("serialize","setHref")),nR(Mb,"origin",Lb("getOrigin")),nR(Mb,"protocol",Lb("getProtocol","setProtocol")),nR(Mb,"username",Lb("getUsername","setUsername")),nR(Mb,"password",Lb("getPassword","setPassword")),nR(Mb,"host",Lb("getHost","setHost")),nR(Mb,"hostname",Lb("getHostname","setHostname")),nR(Mb,"port",Lb("getPort","setPort")),nR(Mb,"pathname",Lb("getPathname","setPathname")),nR(Mb,"search",Lb("getSearch","setSearch")),nR(Mb,"searchParams",Lb("getSearchParams")),nR(Mb,"hash",Lb("getHash","setHash"))),oR(Mb,"toJSON",(function(){return vR(this).serialize()}),{enumerable:!0}),oR(Mb,"toString",(function(){return vR(this).serialize()}),{enumerable:!0}),IR){var Pb=IR.createObjectURL,xb=IR.revokeObjectURL;Pb&&oR(Ob,"createObjectURL",rR(Pb,IR)),xb&&oR(Ob,"revokeObjectURL",rR(xb,IR))}mR(Ob,"URL"),QS({global:!0,constructor:!0,forced:!eR,sham:!ZS},{URL:Ob});var Ub=l;to({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return Ub(URL.prototype.toString,this)}});var Vb,Fb=Object.create,Bb=Object.defineProperty,Hb=Object.defineProperties,Wb=Object.getOwnPropertyDescriptor,jb=Object.getOwnPropertyDescriptors,Gb=Object.getOwnPropertyNames,zb=Object.getOwnPropertySymbols,Kb=Object.getPrototypeOf,qb=Object.prototype.hasOwnProperty,Yb=Object.prototype.propertyIsEnumerable,Jb=Reflect.get,Xb=Math.pow,$b=(e,t,r)=>t in e?Bb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Qb=(e,t)=>{for(var r in t||(t={}))qb.call(t,r)&&$b(e,r,t[r]);if(zb)for(var r of zb(t))Yb.call(t,r)&&$b(e,r,t[r]);return e},Zb=(e,t)=>Hb(e,jb(t)),ew=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),tw=(e,t)=>{for(var r in t)Bb(e,r,{get:t[r],enumerable:!0})},rw=(e,t,r)=>(r=null!=e?Fb(Kb(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of Gb(t))!qb.call(e,o)&&o!==r&&Bb(e,o,{get:()=>t[o],enumerable:!(i=Wb(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:Bb(r,"default",{value:e,enumerable:!0}),e)),iw=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?Wb(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(n=(i?o(t,r,n):o(n))||n);return i&&n&&Bb(t,r,n),n},ow=(e,t,r)=>$b(e,"symbol"!=typeof t?t+"":t,r),nw=(e,t,r)=>Jb(Kb(e),r,t),aw=(e,t,r)=>new Promise(((i,o)=>{var n=e=>{try{s(r.next(e))}catch(iM){o(iM)}},a=e=>{try{s(r.throw(e))}catch(iM){o(iM)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(n,a);s((r=r.apply(e,t)).next())})),sw=ew(((e,t)=>{var r=Object.prototype.hasOwnProperty,i="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new n(r,o||e,a),c=i?i+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,o=[];if(0===this._eventsCount)return o;for(t in e=this._events)r.call(e,t)&&o.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,n=r.length,a=new Array(n);o<n;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,n,a){var s=i?i+e:e;if(!this._events[s])return!1;var c,l,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,o),!0;case 5:return d.fn.call(d.context,t,r,o,n),!0;case 6:return d.fn.call(d.context,t,r,o,n,a),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(e,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,t);break;case 3:d[l].fn.call(d[l].context,t,r);break;case 4:d[l].fn.call(d[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[l].context,c)}}return!0},c.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},c.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},c.prototype.removeListener=function(e,t,r,o){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return s(this,n),this;var a=this._events[n];if(a.fn)a.fn===t&&(!o||a.once)&&(!r||a.context===r)&&s(this,n);else{for(var c=0,l=[],d=a.length;c<d;c++)(a[c].fn!==t||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[n]=1===l.length?l[0]:l:s(this,n)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&s(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,void 0!==t&&(t.exports=c)})),cw=ew(((e,t)=>{var r=t.exports={v:[{name:"version",reg:/^(\d*)$/}],o:[{name:"origin",reg:/^(\S*) (\d*) (\d*) (\S*) IP(\d) (\S*)/,names:["username","sessionId","sessionVersion","netType","ipVer","address"],format:"%s %s %d %s IP%d %s"}],s:[{name:"name"}],i:[{name:"description"}],u:[{name:"uri"}],e:[{name:"email"}],p:[{name:"phone"}],z:[{name:"timezones"}],r:[{name:"repeats"}],t:[{name:"timing",reg:/^(\d*) (\d*)/,names:["start","stop"],format:"%d %d"}],c:[{name:"connection",reg:/^IN IP(\d) (\S*)/,names:["version","ip"],format:"IN IP%d %s"}],b:[{push:"bandwidth",reg:/^(TIAS|AS|CT|RR|RS):(\d*)/,names:["type","limit"],format:"%s:%s"}],m:[{reg:/^(\w*) (\d*) ([\w/]*)(?: (.*))?/,names:["type","port","protocol","payloads"],format:"%s %d %s %s"}],a:[{push:"rtp",reg:/^rtpmap:(\d*) ([\w\-.]*)(?:\s*\/(\d*)(?:\s*\/(\S*))?)?/,names:["payload","codec","rate","encoding"],format:function(e){return e.encoding?"rtpmap:%d %s/%s/%s":e.rate?"rtpmap:%d %s/%s":"rtpmap:%d %s"}},{push:"fmtp",reg:/^fmtp:(\d*) ([\S| ]*)/,names:["payload","config"],format:"fmtp:%d %s"},{name:"control",reg:/^control:(.*)/,format:"control:%s"},{name:"rtcp",reg:/^rtcp:(\d*)(?: (\S*) IP(\d) (\S*))?/,names:["port","netType","ipVer","address"],format:function(e){return null!=e.address?"rtcp:%d %s IP%d %s":"rtcp:%d"}},{push:"rtcpFbTrrInt",reg:/^rtcp-fb:(\*|\d*) trr-int (\d*)/,names:["payload","value"],format:"rtcp-fb:%s trr-int %d"},{push:"rtcpFb",reg:/^rtcp-fb:(\*|\d*) ([\w-_]*)(?: ([\w-_]*))?/,names:["payload","type","subtype"],format:function(e){return null!=e.subtype?"rtcp-fb:%s %s %s":"rtcp-fb:%s %s"}},{push:"ext",reg:/^extmap:(\d+)(?:\/(\w+))?(?: (urn:ietf:params:rtp-hdrext:encrypt))? (\S*)(?: (\S*))?/,names:["value","direction","encrypt-uri","uri","config"],format:function(e){return"extmap:%d"+(e.direction?"/%s":"%v")+(e["encrypt-uri"]?" %s":"%v")+" %s"+(e.config?" %s":"")}},{name:"extmapAllowMixed",reg:/^(extmap-allow-mixed)/},{push:"crypto",reg:/^crypto:(\d*) ([\w_]*) (\S*)(?: (\S*))?/,names:["id","suite","config","sessionConfig"],format:function(e){return null!=e.sessionConfig?"crypto:%d %s %s %s":"crypto:%d %s %s"}},{name:"setup",reg:/^setup:(\w*)/,format:"setup:%s"},{name:"connectionType",reg:/^connection:(new|existing)/,format:"connection:%s"},{name:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*(?:\.\d*)*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\d*(?:\.\d*)*)/,format:"maxptime:%d"},{name:"direction",reg:/^(sendrecv|recvonly|sendonly|inactive)/},{name:"icelite",reg:/^(ice-lite)/},{name:"iceUfrag",reg:/^ice-ufrag:(\S*)/,format:"ice-ufrag:%s"},{name:"icePwd",reg:/^ice-pwd:(\S*)/,format:"ice-pwd:%s"},{name:"fingerprint",reg:/^fingerprint:(\S*) (\S*)/,names:["type","hash"],format:"fingerprint:%s %s"},{push:"candidates",reg:/^candidate:(\S*) (\d*) (\S*) (\d*) (\S*) (\d*) typ (\S*)(?: raddr (\S*) rport (\d*))?(?: tcptype (\S*))?(?: generation (\d*))?(?: network-id (\d*))?(?: network-cost (\d*))?/,names:["foundation","component","transport","priority","ip","port","type","raddr","rport","tcptype","generation","network-id","network-cost"],format:function(e){var t="candidate:%s %d %s %d %s %d typ %s";return t+=null!=e.raddr?" raddr %s rport %d":"%v%v",t+=null!=e.tcptype?" tcptype %s":"%v",null!=e.generation&&(t+=" generation %d"),t+=null!=e["network-id"]?" network-id %d":"%v",t+=null!=e["network-cost"]?" network-cost %d":"%v"}},{name:"endOfCandidates",reg:/^(end-of-candidates)/},{name:"remoteCandidates",reg:/^remote-candidates:(.*)/,format:"remote-candidates:%s"},{name:"iceOptions",reg:/^ice-options:(\S*)/,format:"ice-options:%s"},{push:"ssrcs",reg:/^ssrc:(\d*) ([\w_-]*)(?::(.*))?/,names:["id","attribute","value"],format:function(e){var t="ssrc:%d";return null!=e.attribute&&(t+=" %s",null!=e.value&&(t+=":%s")),t}},{push:"ssrcGroups",reg:/^ssrc-group:([\x21\x23\x24\x25\x26\x27\x2A\x2B\x2D\x2E\w]*) (.*)/,names:["semantics","ssrcs"],format:"ssrc-group:%s %s"},{name:"msidSemantic",reg:/^msid-semantic:\s?(\w*) (\S*)/,names:["semantic","token"],format:"msid-semantic: %s %s"},{push:"groups",reg:/^group:(\w*) (.*)/,names:["type","mids"],format:"group:%s %s"},{name:"rtcpMux",reg:/^(rtcp-mux)/},{name:"rtcpRsize",reg:/^(rtcp-rsize)/},{name:"sctpmap",reg:/^sctpmap:([\w_/]*) (\S*)(?: (\S*))?/,names:["sctpmapNumber","app","maxMessageSize"],format:function(e){return null!=e.maxMessageSize?"sctpmap:%s %s %s":"sctpmap:%s %s"}},{name:"xGoogleFlag",reg:/^x-google-flag:([^\s]*)/,format:"x-google-flag:%s"},{push:"rids",reg:/^rid:([\d\w]+) (\w+)(?: ([\S| ]*))?/,names:["id","direction","params"],format:function(e){return e.params?"rid:%s %s %s":"rid:%s %s"}},{push:"imageattrs",reg:new RegExp("^imageattr:(\\d+|\\*)[\\s\\t]+(send|recv)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*)(?:[\\s\\t]+(recv|send)[\\s\\t]+(\\*|\\[\\S+\\](?:[\\s\\t]+\\[\\S+\\])*))?"),names:["pt","dir1","attrs1","dir2","attrs2"],format:function(e){return"imageattr:%s %s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast",reg:new RegExp("^simulcast:(send|recv) ([a-zA-Z0-9\\-_~;,]+)(?:\\s?(send|recv) ([a-zA-Z0-9\\-_~;,]+))?$"),names:["dir1","list1","dir2","list2"],format:function(e){return"simulcast:%s %s"+(e.dir2?" %s %s":"")}},{name:"simulcast_03",reg:/^simulcast:[\s\t]+([\S+\s\t]+)$/,names:["value"],format:"simulcast: %s"},{name:"framerate",reg:/^framerate:(\d+(?:$|\.\d+))/,format:"framerate:%s"},{name:"sourceFilter",reg:/^source-filter: *(excl|incl) (\S*) (IP4|IP6|\*) (\S*) (.*)/,names:["filterMode","netType","addressTypes","destAddress","srcList"],format:"source-filter: %s %s %s %s %s"},{name:"bundleOnly",reg:/^(bundle-only)/},{name:"label",reg:/^label:(.+)/,format:"label:%s"},{name:"sctpPort",reg:/^sctp-port:(\d+)$/,format:"sctp-port:%s"},{name:"maxMessageSize",reg:/^max-message-size:(\d+)$/,format:"max-message-size:%s"},{push:"tsRefClocks",reg:/^ts-refclk:([^\s=]*)(?:=(\S*))?/,names:["clksrc","clksrcExt"],format:function(e){return"ts-refclk:%s"+(null!=e.clksrcExt?"=%s":"")}},{name:"mediaClk",reg:/^mediaclk:(?:id=(\S*))? *([^\s=]*)(?:=(\S*))?(?: *rate=(\d+)\/(\d+))?/,names:["id","mediaClockName","mediaClockValue","rateNumerator","rateDenominator"],format:function(e){var t="mediaclk:";return t+=null!=e.id?"id=%s %s":"%v%s",t+=null!=e.mediaClockValue?"=%s":"",t+=null!=e.rateNumerator?" rate=%s":"",t+=null!=e.rateDenominator?"/%s":""}},{name:"keywords",reg:/^keywds:(.+)$/,format:"keywds:%s"},{name:"content",reg:/^content:(.+)/,format:"content:%s"},{name:"bfcpFloorCtrl",reg:/^floorctrl:(c-only|s-only|c-s)/,format:"floorctrl:%s"},{name:"bfcpConfId",reg:/^confid:(\d+)/,format:"confid:%s"},{name:"bfcpUserId",reg:/^userid:(\d+)/,format:"userid:%s"},{name:"bfcpFloorId",reg:/^floorid:(.+) (?:m-stream|mstrm):(.+)/,names:["id","mStream"],format:"floorid:%s mstrm:%s"},{push:"invalid",names:["value"]}]};Object.keys(r).forEach((function(e){r[e].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")}))}))})),lw=ew((e=>{var t=function(e){return String(Number(e))===e?Number(e):e},r=function(e,r,i){var o=e.name&&e.names;e.push&&!r[e.push]?r[e.push]=[]:o&&!r[e.name]&&(r[e.name]={});var n=e.push?{}:o?r[e.name]:r;(function(e,r,i,o){if(o&&!i)r[o]=t(e[1]);else for(var n=0;n<i.length;n+=1)null!=e[n+1]&&(r[i[n]]=t(e[n+1]))})(i.match(e.reg),n,e.names,e.name),e.push&&r[e.push].push(n)},i=cw(),o=RegExp.prototype.test.bind(/^([a-z])=(.*)/);e.parse=function(e){var t={},n=[],a=t;return e.split(/(\r\n|\r|\n)/).filter(o).forEach((function(e){var t=e[0],o=e.slice(2);"m"===t&&(n.push({rtp:[],fmtp:[]}),a=n[n.length-1]);for(var s=0;s<(i[t]||[]).length;s+=1){var c=i[t][s];if(c.reg.test(o))return r(c,a,o)}})),t.media=n,t};var n=function(e,r){var i=r.split(/=(.+)/,2);return 2===i.length?e[i[0]]=t(i[1]):1===i.length&&r.length>1&&(e[i[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(n,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var r=[],i=e.split(" ").map(t),o=0;o<i.length;o+=3)r.push({component:i[o],ip:i[o+1],port:i[o+2]});return r},e.parseImageAttributes=function(e){return e.split(" ").map((function(e){return e.substring(1,e.length-1).split(",").reduce(n,{})}))},e.parseSimulcastStreamList=function(e){return e.split(";").map((function(e){return e.split(",").map((function(e){var r,i=!1;return"~"!==e[0]?r=t(e):(r=t(e.substring(1,e.length)),i=!0),{scid:r,paused:i}}))}))}})),dw=ew(((e,t)=>{var r=cw(),i=/%[sdv%]/g,o=function(e){var t=1,r=arguments,o=r.length;return e.replace(i,(function(e){if(t>=o)return e;var i=r[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(i);case"%d":return Number(i);case"%v":return""}}))},n=function(e,t,r){var i=[e+"="+(t.format instanceof Function?t.format(t.push?r:r[t.name]):t.format)];if(t.names)for(var n=0;n<t.names.length;n+=1){var a=t.names[n];t.name?i.push(r[t.name][a]):i.push(r[t.names[n]])}else i.push(r[t.name]);return o.apply(null,i)},a=["v","o","s","i","u","e","p","c","b","t","r","z","a"],s=["i","c","b","a"];t.exports=function(e,t){t=t||{},null==e.version&&(e.version=0),null==e.name&&(e.name=" "),e.media.forEach((function(e){null==e.payloads&&(e.payloads="")}));var i=t.outerOrder||a,o=t.innerOrder||s,c=[];return i.forEach((function(t){r[t].forEach((function(r){r.name in e&&null!=e[r.name]?c.push(n(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach((function(e){c.push(n(t,r,e))}))}))})),e.media.forEach((function(e){c.push(n("m",r.m[0],e)),o.forEach((function(t){r[t].forEach((function(r){r.name in e&&null!=e[r.name]?c.push(n(t,r,e)):r.push in e&&null!=e[r.push]&&e[r.push].forEach((function(e){c.push(n(t,r,e))}))}))}))})),c.join("\r\n")+"\r\n"}})),uw=ew((e=>{var t=lw(),r=dw(),i=cw();e.grammar=i,e.write=r,e.parse=t.parse,e.parseParams=t.parseParams,e.parseFmtpConfig=t.parseFmtpConfig,e.parsePayloads=t.parsePayloads,e.parseRemoteCandidates=t.parseRemoteCandidates,e.parseImageAttributes=t.parseImageAttributes,e.parseSimulcastStreamList=t.parseSimulcastStreamList})),hw=((Vb=hw||{})[Vb.INVALID_PARAMETER=4096]="INVALID_PARAMETER",Vb[Vb.INVALID_OPERATION=4097]="INVALID_OPERATION",Vb[Vb.NOT_SUPPORTED=4098]="NOT_SUPPORTED",Vb[Vb.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",Vb[Vb.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",Vb[Vb.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",Vb[Vb.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",Vb[Vb.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",Vb[Vb.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",Vb[Vb.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",Vb[Vb.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",Vb[Vb.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",Vb[Vb.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",Vb[Vb.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",Vb[Vb.CLIENT_BANNED=16448]="CLIENT_BANNED",Vb[Vb.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",Vb[Vb.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",Vb[Vb.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",Vb[Vb.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",Vb[Vb.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",Vb[Vb.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",Vb[Vb.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",Vb[Vb.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",Vb[Vb.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",Vb[Vb.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",Vb[Vb.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",Vb[Vb.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",Vb[Vb.API_CALL_ABORTED=16461]="API_CALL_ABORTED",Vb[Vb.SPC_INITIALIZED_FAILED=16462]="SPC_INITIALIZED_FAILED",Vb[Vb.VIDEO_MANAGER_ERROR=16463]="VIDEO_MANAGER_ERROR",Vb[Vb.SWITCH_ROOM_FAILED=16464]="SWITCH_ROOM_FAILED",Vb[Vb.VIDEO_ENCODE_FAILED=16465]="VIDEO_ENCODE_FAILED",Vb[Vb.AUDIO_ENCODE_FAILED=16466]="AUDIO_ENCODE_FAILED",Vb[Vb.UNKNOWN=65535]="UNKNOWN",Vb),pw=hw,mw=class extends Error{constructor(e){let{name:t="RtcError",message:r,code:i=pw.UNKNOWN,extraCode:o=0,constraint:n}=e,a="<".concat(function(e){for(let t in pw)if(pw[t]===e)return t;return"UNKNOWN"}(i)," 0x").concat(i.toString(16),">"),s="".concat(r).concat(n?" constraint: ".concat(n):"").concat(null!=r&&r.includes(a)?"":" ".concat(a));super(s),ow(this,"code"),ow(this,"extraCode"),ow(this,"message"),ow(this,"originMessage"),ow(this,"name"),ow(this,"constraint"),this.code=i,this.extraCode=o,this.name=t,this.message=s,this.constraint=n,this.originMessage=r}getCode(){return this.code}getExtraCode(){return this.extraCode}toString(){return this.originMessage}},fw=mw,_w=function(){return 0},gw=function(){return Date.now()+0},Ew=function(){let e=new Date;return e.setTime(gw()),e.toLocaleString()},vw=function(e){let t=String(e.getMilliseconds());return"padStart"in String.prototype&&(t=t.toString().padStart(3,"0")),"".concat(e.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(t)},yw={};tw(yw,{REPORT_TYPE:()=>kN,buildSSOPackage:()=>ON,bytes2ms:()=>OD,calculateScaleResolutionDownNumber:()=>wN,concatArrayBuffers:()=>MN,convertObjectNumberToInt:()=>IN,copyProperties:()=>kD,deepClone:()=>hN,deepCloneBasic:()=>NN,deepMerge:()=>uN,delay:()=>AN,fibonacci:()=>FD,formatedTime:()=>fN,getConstructorName:()=>ZD,getContainerFromElement:()=>mN,getEnv:()=>AD,getFirst16Bits:()=>PN,getInternalVersion:()=>nN,getLast16Bits:()=>LN,getLoggerUrl:()=>RD,getMediaStreamTrackInfo:()=>bN,getMuteStateFromFlag:()=>cN,getNetworkType:()=>wD,getNumNetworkType:()=>ND,getReconnectionTimeout:()=>BD,getStringByteLength:()=>EN,getTurnServer:()=>lN,getUint32Version:()=>TN,getValueType:()=>HD,getViewListFromView:()=>pN,glog:()=>xD,ipv4ToUint32:()=>dN,isArray:()=>YD,isAudioWorkletSupported:()=>eN,isBoolean:()=>KD,isConstructor:()=>QD,isEmpty:()=>sN,isFunction:()=>WD,isLangChinese:()=>UD,isMediaStreamTrack:()=>JD,isNumber:()=>zD,isObject:()=>qD,isOverseaSdkAppId:()=>SD,isPlainObject:()=>VD,isPortrait:()=>vN,isPromise:()=>$D,isRemoteTrack:()=>XD,isRotate90Or270:()=>CN,isSetSinkIdSupported:()=>tN,isString:()=>GD,isUndefined:()=>jD,loadImage:()=>yN,loadVideo:()=>DN,ms2bytes:()=>LD,ms2samples:()=>PD,normalizeUrl:()=>RN,performanceNow:()=>iN,promiseAny:()=>rN,samples2ms:()=>MD,setNetworkType:()=>DD,stringify:()=>_N,stringifyIncludeValue:()=>gN,throttlePromise:()=>SN});var Tw={};tw(Tw,{AUDIO_MUTE_BIT:()=>lC,AUDIO_STAT_BIT:()=>cC,AUX_STAT_BIT:()=>sC,AUX_STREAM_MSID:()=>mC,BACKEND_ENV:()=>iC,BASE_DOC_URL:()=>xw,BASE_HOST:()=>Ow,CAPABILITIES_KEYS:()=>tD,CLASS_NAME:()=>KC,CLOUD_CONSOLE_URL:()=>Pw,CROSS_ROOM_BIT:()=>hC,DATA_FREEZE_TIMING:()=>FC,DOC_BILLING_CN:()=>Vw,DOC_BILLING_OVERSEA:()=>Fw,DOC_URL:()=>Uw,DTLS_STATE_UNKNOWN:()=>SC,ENV_NAME:()=>Gw,EXCHANGE_SDP_TIMEOUT:()=>LC,IS_WORKER:()=>ww,IS_WORKLET:()=>Cw,KIBANA_EVENT:()=>kC,LOCAL_STREAM_PUBLISH_STATE:()=>VC,LOGGER_CMD_TYPE:()=>jw,LOGGER_DOMAIN:()=>Bw,LOGGER_DOMAIN_OVERSEA:()=>Hw,LOG_LEVEL:()=>zw,LOG_LEVEL_NAME:()=>$C,MAIN_STREAM_MSID:()=>pC,MAX_RTT:()=>rD,MICROPHONE_COMMUNICATIONS:()=>XC,MICROPHONE_DEFAULT:()=>YC,MUTE_ALL_BIT:()=>uC,NAME:()=>tC,NETWORK_TYPE:()=>Yw,NOT_SUPPORTED_H264:()=>UC,PAUSED_RETRY_COUNT:()=>qC,PEERCONNECTION_CONNECTING_TIMEOUT:()=>jC,PEER_CONNECTION_STATE:()=>RC,PEER_LEAVE_REASON:()=>QC,RECOVER_CAPTURE_INTERVAL:()=>eD,REMOTE_STREAM_TYPE_AUX:()=>_C,REMOTE_STREAM_TYPE_MAIN:()=>fC,RENDER_FREEZE_TIMING:()=>BC,SCHEDULE_DOMAIN:()=>GC,SCHEDULE_TIMEOUT:()=>zC,SDP_SEMANTICS_PLAN_B:()=>xC,SDP_SEMANTICS_UNIFIED_PLAN:()=>PC,SECOND_HOST:()=>Mw,SIGNAL_PING_PONG_INTERVAL:()=>qw,SIGNAL_PING_TIMEOUT:()=>Kw,SIGNAL_RECONNECTION_COUNT:()=>NC,SMALL_STAT_BIT:()=>aC,SPEAKER_DEFAULT:()=>JC,STORAGE_EXPIRES_TIME:()=>Jw,STREAM_TYPE_BIG:()=>HC,STREAM_TYPE_SMALL:()=>WC,SUBSCRIBE_SMALL_RETRY_COUNT:()=>ZC,SYNC_USER_LIST_INTERVAL:()=>OC,Scene:()=>oC,THIRD_HOST:()=>Lw,TRANSPORT_DIRECTION:()=>rC,TRTC_ERROR_ASSISTANCE:()=>Ww,TRTC_QUALITY_BAD:()=>TC,TRTC_QUALITY_DISCONNECTED:()=>AC,TRTC_QUALITY_EXCELLENT:()=>EC,TRTC_QUALITY_GOOD:()=>vC,TRTC_QUALITY_POOR:()=>yC,TRTC_QUALITY_UNKNOWN:()=>gC,TRTC_QUALITY_VERY_BAD:()=>IC,UPDATE_OFFER_TIMEOUT:()=>MC,VIDEO_MUTE_BIT:()=>dC,VIDEO_STAT_BIT:()=>nC,audioProfileMap:()=>Xw,defaultBigVideoProfile:()=>Qw,defaultSmallVideoProfile:()=>Zw,getRetryCount:()=>CC,getScriptDir:()=>Dw,innerVersion:()=>Iw,loggerProxy:()=>Nw,screenProfileMap:()=>eC,setLoggerProxy:()=>kw,setRetryCount:()=>wC,setVersion:()=>Sw,version:()=>Aw,videoProfileMap:()=>$w});var Iw="4.15.00.1600",Aw="5.0.0";function Sw(e){Aw=e;let[t,r,i]=e.split(".").map((e=>parseInt(e,10)));Iw="".concat(t,".").concat(Math.min(15,r),".").concat(Math.min(15,i),".").concat(r.toString().padStart(2,"0")).concat(i.toString().padStart(2,"0"))}var Rw,bw,ww="undefined"!=typeof importScripts,Cw="undefined"!=typeof registerProcessor,Dw=()=>{let e=ww?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf("/")+1)},Nw="",kw=e=>Nw=e,Ow="web.sdk.qcloud.com",Mw="web.sdk.tencent.cn",Lw="web.sdk.cloud.tencent.cn",Pw="https://console.cloud.tencent.com/trtc",xw="https://".concat(Ow,"/trtc/webrtc/v5/doc"),Uw="".concat(xw,"/zh-cn/"),Vw="https://cloud.tencent.com/document/product/647/85386",Fw="https://trtc.io/document/56025",Bw="https://yun.tim.qq.com",Hw="https://apisgp.my-imcloud.com",Ww="trtc_error_assistance",jw={LOG:"jssdk_log",EVENT:"jssdk_event",KEY_POINT:"jssdk_new_endreport",KV_STAT:"jssdk_key_metrics_report"},Gw={QCLOUD:"qcloud",OLD_CLOUD_LADDER:"trtc",WEBRTC:"webrtc"},zw=((bw=zw||{})[bw.TRACE=0]="TRACE",bw[bw.DEBUG=1]="DEBUG",bw[bw.INFO=2]="INFO",bw[bw.WARN=3]="WARN",bw[bw.ERROR=4]="ERROR",bw[bw.NONE=5]="NONE",bw),Kw=18e3,qw=2e3,Yw={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5,"5g":6},Jw=6048e5,Xw={standard:{sampleRate:48e3,channelCount:1,bitrate:40},"standard-stereo":{sampleRate:48e3,channelCount:2,bitrate:64},high:{sampleRate:48e3,channelCount:1,bitrate:128},"high-stereo":{sampleRate:48e3,channelCount:2,bitrate:192}},$w={"120p":{width:160,height:120,frameRate:15,bitrate:200},"120p_2":{width:160,height:120,frameRate:15,bitrate:100},"180p":{width:320,height:180,frameRate:15,bitrate:350},"180p_2":{width:320,height:180,frameRate:15,bitrate:150},"240p":{width:320,height:240,frameRate:15,bitrate:400},"240p_2":{width:320,height:240,frameRate:15,bitrate:200},"360p":{width:640,height:360,frameRate:15,bitrate:800},"360p_2":{width:640,height:360,frameRate:15,bitrate:400},"480p":{width:640,height:480,frameRate:15,bitrate:900},"480p_2":{width:640,height:480,frameRate:15,bitrate:500},"720p":{width:1280,height:720,frameRate:15,bitrate:1500},"1080p":{width:1920,height:1080,frameRate:15,bitrate:2e3},"1440p":{width:2560,height:1440,frameRate:30,bitrate:4860},"4K":{width:3840,height:2160,frameRate:30,bitrate:9e3}},Qw=$w["480p_2"],Zw=$w["120p_2"],eC={"480p":{width:640,height:480,frameRate:5,bitrate:900},"480p_2":{width:640,height:480,frameRate:30,bitrate:1e3},"720p":{width:1280,height:720,frameRate:5,bitrate:1200},"720p_2":{width:1280,height:720,frameRate:30,bitrate:3e3},"1080p":{width:1920,height:1080,frameRate:5,bitrate:1600},"1080p_2":{width:1920,height:1080,frameRate:30,bitrate:4e3}},tC={CANVAS:"canvas",AUDIO:"audio",VIDEO:"video",SCREEN:"screen",SMALL:"small",BIG:"big",AUXILIARY:"auxiliary",SMALL_VIDEO:"smallVideo",FACING_MODE_USER:"user",FACING_MODE_ENVIRONMENT:"environment",MUTE:"mute",UNMUTE:"unmute",ENDED:"ended",PLAYING:"playing",PAUSE:"pause",ERROR:"error",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",AUDIO_INPUT:"audioinput",VIDEO_INPUT:"videoinput",DETAIL:"detail",TEXT:"text",MAIN:"main",BACKUP:"backup",BANNED:"banned",KICK:"kick",USER_TIME_OUT:"user_time_out",ROOM_DISBAND:"room_disband",SEI_MESSAGE:"sei-message",ADD:"add",REMOVE:"remove",REPLACE:"replace",TRACK:"track",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",TRANSCEIVER_DIRECTION_SENDONLY:"sendonly",TRANSCEIVER_DIRECTION_RECVONLY:"recvonly",ENTER_PICTURE_IN_PICTURE:"enterpictureinpicture",LEAVE_PICTURE_IN_PICTURE:"leavepictureinpicture",RESIZE:"resize",TIME_UPDATE:"timeupdate"},rC={INACTIVE:"inactive",SENDONLY:"sendonly",RECVONLY:"recvonly"},iC={OLD_CLOUD_LADDER:"wss://trtc.rtc.qq.com",WEBRTC:"wss://webrtc.qq.com"},oC=((Rw=oC||{}).LIVE="live",Rw.RTC="rtc",Rw),nC=1,aC=2,sC=4,cC=8,lC=64,dC=16,uC=112,hC=128,pC="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",mC="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",fC=tC.MAIN,_C=tC.AUXILIARY,gC=0,EC=1,vC=2,yC=3,TC=4,IC=5,AC=6,SC="unknown",RC={NEW:"new",CONNECTING:"connecting",FAILED:"failed",CLOSED:"closed",DISCONNECTED:"disconnected",CONNECTED:"connected",COMPLETED:"completed"},bC=1/0;function wC(e){bC=e}function CC(){return bC}var DC,NC=30,kC={JOIN:"join",DELTA_JOIN:"delta-join",REJOIN:"rejoin",LEAVE:"leave",DELTA_LEAVE:"delta-leave",PUBLISH:"publish",DELTA_PUBLISH:"delta-publish",UNPUBLISH:"unpublish",SUBSCRIBE:"subscribe",UNSUBSCRIBE:"unsubscribe",UPLINK_CONNECTION:"uplink-connection",UPLINK_RECONNECTION:"uplink-reconnection",DOWNLINK_CONNECTION:"downlink-connection",DOWNLINK_RECONNECTION:"downlink-reconnection",ON_TRACK:"ontrack",ICE_CONNECTION_STATE:"iceConnectionState",LOCAL_STREAM_INITIALIZE:"stream-initialize",SIGNAL_CONNECTION:"websocketConnectionState",SIGNAL_RECONNECTION:"websocketReconnectionState",UPDATE_STREAM:"update-stream",RECOVER_LOCAL_AUDIO_TRACK:"recover-local-audio-track",RECOVER_LOCAL_VIDEO_TRACK:"recover-local-video-track",RECOVER_SUBSCRIPTION:"recover-subscription",START_MIX_TRANSCODE:"start-mix-transcode",STOP_MIX_TRANSCODE:"stop-mix-transcode",PLAYER_ERROR:"player-error",SCHEDULE:"schedule",LOAD_WORKLET:"load-worklet",VIDEO_FROZEN_COUNT:"videoFrozenCount",GET_USER_MEDIA_RETRY:"getUserMedia-retry",VIDEO_ENCODE_FAILED_DURING_CALL:"video-encode-failed-during-call",AUDIO_ENCODE_FAILED_DURING_CALL:"audio-encode-failed-during-call"},OC=1e4,MC=1e4,LC=1e4,PC="unified-plan",xC="plan-b",UC=1028,VC=((DC=VC||{})[DC.UNPUBLISH=-1]="UNPUBLISH",DC[DC.PUBLISHING=0]="PUBLISHING",DC[DC.PUBLISHED=1]="PUBLISHED",DC),FC=500,BC=1e3,HC=tC.BIG,WC=tC.SMALL,jC=1e4,GC={MAIN:"schedule.cloud-rtc.com",BACKUP:"schedule.cloud-rtc.net",MAIN_OVERSEA:"schedule.rtc-web.com",BACKUP_OVERSEA:"schedule.rtc-web.io",MAIN_OVERSEA_BACKUP:"intl-schedule.cloud-rtc.com"},zC=2e3,KC={TRTC:"TRTC",CLIENT:"Client",LOCAL_STREAM:"LocalStream",REMOTE_STREAM:"RemoteStream",STREAM:"Stream"},qC=5,YC="default",JC=YC,XC="communications",$C=Object.keys(zw),QC=["normal leave","timeout leave","kick","role change"],ZC=10,eD=2e3,tD=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId","min","max"],rD=1e4,iD=function(e,t,r,i){return new(r||(r=Promise))((function(o,n){function a(e){try{c(i.next(e))}catch(t){n(t)}}function s(e){try{c(i.throw(e))}catch(t){n(t)}}function c(e){e.done?o(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((i=i.apply(e,t||[])).next())}))},oD=Symbol(32),nD=Symbol(16),aD=Symbol(8),sD=class{constructor(e){this.g=e,this.consumed=0,e&&(this.need=e.next().value)}setG(e){this.g=e,this.demand(e.next().value,!0)}consume(){this.buffer&&this.consumed&&(this.buffer.copyWithin(0,this.consumed),this.buffer=this.buffer.subarray(0,this.buffer.length-this.consumed),this.consumed=0)}demand(e,t){return t&&this.consume(),this.need=e,this.flush()}read(e){return iD(this,void 0,void 0,(function*(){return this.lastReadPromise&&(yield this.lastReadPromise),this.lastReadPromise=new Promise(((t,r)=>{var i;this.reject=r,this.resolve=e=>{delete this.lastReadPromise,delete this.resolve,delete this.need,t(e)},this.demand(e,!0)||null===(i=this.pull)||void 0===i||i.call(this,e)}))}))}readU32(){return this.read(oD)}readU16(){return this.read(nD)}readU8(){return this.read(aD)}close(){var e;this.g&&this.g.return(),this.buffer&&this.buffer.subarray(0,0),null===(e=this.reject)||void 0===e||e.call(this,new Error("EOF")),delete this.lastReadPromise}flush(){if(!this.buffer||!this.need)return;let e=null,t=this.buffer.subarray(this.consumed),r=0,i=e=>t.length<(r=e);if("number"==typeof this.need){if(i(this.need))return;e=t.subarray(0,r)}else if(this.need===oD){if(i(4))return;e=t[0]<<24|t[1]<<16|t[2]<<8|t[3]}else if(this.need===nD){if(i(2))return;e=t[0]<<8|t[1]}else if(this.need===aD){if(i(1))return;e=t[0]}else if("buffer"in this.need){if("byteOffset"in this.need){if(i(this.need.byteLength-this.need.byteOffset))return;new Uint8Array(this.need.buffer,this.need.byteOffset).set(t.subarray(0,r)),e=this.need}else if(this.g)return void this.g.throw(new Error("Unsupported type"))}else{if(i(this.need.byteLength))return;new Uint8Array(this.need).set(t.subarray(0,r)),e=this.need}return this.consumed+=r,this.g?this.demand(this.g.next(e).value,!0):this.resolve&&this.resolve(e),e}write(e){if(e instanceof Uint8Array?this.malloc(e.length).set(e):"buffer"in e?this.malloc(e.byteLength).set(new Uint8Array(e.buffer,e.byteOffset,e.byteLength)):this.malloc(e.byteLength).set(new Uint8Array(e)),!this.g&&!this.resolve)return new Promise((e=>this.pull=e));this.flush()}writeU32(e){this.malloc(4).set([e>>24&255,e>>16&255,e>>8&255,255&e]),this.flush()}writeU16(e){this.malloc(2).set([e>>8&255,255&e]),this.flush()}writeU8(e){this.malloc(1)[0]=e,this.flush()}malloc(e){if(this.buffer){let t=this.buffer.length,r=t+e;if(r<=this.buffer.buffer.byteLength-this.buffer.byteOffset)this.buffer=new Uint8Array(this.buffer.buffer,this.buffer.byteOffset,r);else{let e=new Uint8Array(r);e.set(this.buffer),this.buffer=e}return this.buffer.subarray(t,r)}return this.buffer=new Uint8Array(e),this.buffer}};sD.U32=oD,sD.U16=nD,sD.U8=aD;var cD=128;function lD(e){let t=new sD;for(;e>=128;)t.malloc(1)[0]=255&e|cD,e>>>=7;return t.malloc(1)[0]=255&e,t.buffer||new Uint8Array(0)}function dD(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=new sD,i=t<<3;switch(typeof e){case"boolean":let o=r.malloc(2);o[0]=i,o[1]=e?1:0;break;case"number":r.malloc(1)[0]=i,r.write(lD(e));break;case"string":r.malloc(1)[0]=2|i;let n=(new TextEncoder).encode(e);r.write(lD(n.length));let a=r.malloc(n.length);for(let e=0;e<n.length;e++)a[e]=n[e];break;case"object":let s=new sD;if(Array.isArray(e))for(let t=0;t<e.length;t++){let r=dD(e[t],t+1);r&&s.write(r)}else{let t=1;for(let r in e){let i=dD(e[r],t++);i&&s.write(i)}}0===t?s.buffer&&r.write(s.buffer):(r.malloc(1)[0]=2|i,s.buffer&&(r.write(lD(s.buffer.length)),r.write(s.buffer)))}return r.buffer||new Uint8Array(0)}var uD=class{constructor(){ow(this,"buffer"),this.buffer=[]}get data(){return this.buffer}get length(){return this.buffer.length}writeInt32(e){this.buffer.push(e>>>24&255),this.buffer.push(e>>>16&255),this.buffer.push(e>>>8&255),this.buffer.push(255&e)}writeInt16(e){this.buffer.push(e>>>8&255),this.buffer.push(255&e)}writeByte(e){this.buffer.push(255&e)}writeBytes(e){for(let t=0;t<e.length;t++)this.buffer.push(e[t])}};function hD(e,t,r){e[r]=t>>>24&255,e[r+1]=t>>>16&255,e[r+2]=t>>>8&255,e[r+3]=255&t}function pD(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]}function mD(e,t){return e[t]}function fD(e,t,r){return(new TextDecoder).decode(function(e,t,r){return e.slice(t,t+r)}(e,t,r))}var _D=0,gD=2654435769,ED=16,vD=2,yD=7;function TD(e,t){let r=new uD,i=function(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"AVQualityReportSvc.C2S";return{version:arguments.length>4&&void 0!==arguments[4]?arguments[4]:2e3,encryption:arguments.length>5&&void 0!==arguments[5]?arguments[5]:2,d2:"",d2Len:0,uinType:arguments.length>6&&void 0!==arguments[6]?arguments[6]:30,uin:"",uinLen:0,reqHead:{seqNumber:r,appId:e,appidAtThird:new Uint8Array(0),a2:"",a2Len:0,serviceCmd:i,serviceCmdLen:0,cookie:"",cookieLen:0,imei:"",imeiLen:0,ksid:"",ksidLen:0,clientVersionInfo:"",clientVersionInfoLen:0},busiBuff:t}}(t,e,_D);_D=_D+1&2147483647,r.writeInt32(0),r.writeInt32(i.version),r.writeByte(i.encryption);let o=(new TextEncoder).encode(i.d2);r.writeInt32(o.length+4),o&&r.writeBytes(o),r.writeByte(i.uinType);let n=(new TextEncoder).encode(i.uin);r.writeInt32(n.length+4),n.length&&r.writeBytes(n);let a=new uD;a.writeInt32(0),a.writeInt32(i.reqHead.seqNumber),a.writeInt32(i.reqHead.appId),a.writeByte(i.reqHead.appId>>>24&255),a.writeByte(i.reqHead.appId>>>16&255),a.writeByte(i.reqHead.appId>>>8&255),a.writeByte(255&i.reqHead.appId);for(let E=4;E<16;E++)a.writeByte(0);let s=(new TextEncoder).encode(i.reqHead.a2);a.writeInt32(s.length+4),s.length&&a.writeBytes(s);let c=(new TextEncoder).encode(i.reqHead.serviceCmd);a.writeInt32(c.length+4),c.length&&a.writeBytes(c);let l=(new TextEncoder).encode(i.reqHead.cookie);a.writeInt32(l.length+4),l.length&&a.writeBytes(l);let d=(new TextEncoder).encode(i.reqHead.imei);a.writeInt32(d.length+4),d.length&&a.writeBytes(d);let u=(new TextEncoder).encode(i.reqHead.ksid);a.writeInt32(u.length+4),u.length&&a.writeBytes(u);let h=(new TextEncoder).encode(i.reqHead.clientVersionInfo);a.writeInt16(h.length+2),h.length&&a.writeBytes(h);let p=a.length;a.data[0]=p>>>24&255,a.data[1]=p>>>16&255,a.data[2]=p>>>8&255,a.data[3]=255&p,GD(e)&&(e=(new TextEncoder).encode(e)),a.writeInt32(e.length+4),e.length&&a.writeBytes(e);let m=new Uint8Array(a.data),f=null;1===i.encryption?f=(new TextEncoder).encode(i.uin):2===i.encryption&&(f=new Uint8Array(16)),f&&(m=function(e,t){let r=e.length,i=(r+1+vD+yD)%8;i&&(i=8-i);let o=r+1+vD+yD+i,n=new Uint8Array(o),a=0,s=new Uint8Array(8),c=new Uint8Array(8),l=new Uint8Array(8),d=0;s[0]=248&Math.floor(256*Math.random())|i,d=1;for(let h=0;h<i;h++)s[d]=255&Math.floor(256*Math.random()),d+=1;for(let h=0;h<vD;)if(d<8&&(s[d]=255&Math.floor(256*Math.random()),d+=1,h+=1),8===d){ID(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}let u=0;for(;u<r;)if(d<8&&(s[d]=e[u],d+=1,u+=1),8===d){ID(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}for(let h=0;h<yD;)if(d<8&&(s[d]=0,d+=1,h+=1),8===d){ID(s,t,c,l,n,a),a+=8,d=0;for(let e=0;e<8;e++)l[e]=n[a-8+e]}return n}(m,f)),r.writeBytes(m);let _=new Uint8Array(r.data),g=_.length;return _[0]=g>>>24&255,_[1]=g>>>16&255,_[2]=g>>>8&255,_[3]=255&g,_}function ID(e,t,r,i,o,n){for(let a=0;a<8;a++)e[a]^=i[a];!function(e,t,r,i){let o=pD(e,0),n=pD(e,4),a=[];for(let c=0;c<4;c++)a[c]=pD(t,4*c);let s=0;for(let c=0;c<ED;c++)s+=gD,s>>>=0,o+=(n<<4)+a[0]^n+s^(n>>>5)+a[1],o>>>=0,n+=(o<<4)+a[2]^o+s^(o>>>5)+a[3],n>>>=0;hD(r,o,i),hD(r,n,i+4)}(e,t,o,n);for(let a=0;a<8;a++)o[n+a]^=r[a];for(let a=0;a<8;a++)r[a]=e[a]}var AD=function(){return new URLSearchParams(location.search).get("trtc_env")||""},SD=e=>Number(e)<14e8,RD=function(e,t){let r;r=Nw||(SD(e)?Hw:Bw);let i=Math.floor(Math.random()*Xb(2,31));return"".concat(r,"/v5/AVQualityReportSvc/C2S?random=").concat(i,"&sdkappid=").concat(e,"&cmdtype=").concat(t)},bD="unknown";function wD(){if("unknown"!==bD)return bD;let{userAgent:e,connection:t}=navigator,r=(e.match(/NetType\/\S+/)||[])[0]||"";r=r.toLowerCase().replace("nettype/",""),"3gnet"===r&&(r="3g");let i=t&&t.type&&t.type.toLowerCase(),o=t&&t.effectiveType&&t.effectiveType.toLowerCase();return"slow-2"===o&&(o="2g"),i&&(bD=CD(i,o)),bD}function CD(e,t){if(Yw[e])return e;switch(e){case"cellular":case"wimax":return t||"unknown";case"ethernet":return"wired";default:return"unknown"}}function DD(e){bD=CD(e)}function ND(){return Yw[wD()]}function kD(e,t){for(let r of Reflect.ownKeys(t))if("constructor"!==r&&"prototype"!==r&&"name"!==r){let i=Object.getOwnPropertyDescriptor(t,r)||"";Object.defineProperty(e,r,i)}return e}function OD(e){return MD(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function MD(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function LD(e){return 4*PD(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function PD(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var xD="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:()=>{},UD=()=>{let e=navigator.language;return e=e.substring(0,2),"zh"===e},VD=function(e){if(!e||"object"!=typeof e||"[object Object]"!=Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);if(null===t)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)};function FD(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:FD(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function BD(e){return e>8?3e4:1e3*FD(e)}function HD(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var WD=e=>"function"==typeof e,jD=e=>void 0===e,GD=e=>"string"==typeof e,zD=e=>"number"==typeof e,KD=e=>"boolean"==typeof e,qD=e=>"object"===HD(e),YD=e=>"array"===HD(e),JD=e=>HD(e)==="MediaStreamTrack".toLowerCase(),XD=e=>e.isRemote,$D=e=>"promise"===HD(e),QD=e=>WD(e)&&e.prototype.constructor===e,ZD=e=>QD(e)?e.prototype.constructor.name:"",eN="undefined"!=typeof AudioWorkletNode,tN="undefined"!=typeof HTMLMediaElement&&"setSinkId"in HTMLMediaElement.prototype;function rN(e){return new Promise(((t,r)=>{let i=[];e.forEach((o=>{o.then(t).catch((t=>{i.push(t),i.length===e.length&&r(i)}))}))}))}function iN(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var oN=e=>+e<10?"0".concat(e):e,nN=e=>{let t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;let r=t.split("."),i=oN(r[1])+oN(r[2]);return r[1]-15>0&&(r[1]="15"),r[2]-15>0&&(r[2]="15"),"".concat(r.join("."),".").concat(i)},aN=Object.prototype.hasOwnProperty;function sN(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(VD(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(aN.call(e,t))return!1;return!0}return!1}function cN(e,t){return{userId:t,hasAudio:!!(e&cC),hasVideo:!!(e&nC),hasAuxiliary:!!(e&sC),hasSmall:!!(e&aC),audioMuted:!!(e&lC),videoMuted:!!(e&dC),audioAvailable:!(!(e&cC)||e&lC),videoAvailable:!(!(e&nC)||e&dC)}}function lN(e){let t={urls:e.url.startsWith("turn:")||e.url.startsWith("turns:")?e.url:"turn:".concat(e.url)};return!jD(e.username)&&!jD(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType="password",jD(e.credentialType)||(t.credentialType=e.credentialType)),t}function dN(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!GD(e))return 0;let r=e.split(".");return t?(Number(r[0])<<24|Number(r[1])<<16|Number(r[2])<<8|Number(r[3]))>>>0:(Number(r[3])<<24|Number(r[2])<<16|Number(r[1])<<8|Number(r[0]))>>>0}var uN=function(e,t,r,i){if(!qD(e)||!qD(t))return 0;let o,n=0,a=Object.keys(t);for(let s=0,c=a.length;s<c;s++)if(o=a[s],!(jD(t[o])||r&&r.includes(o)))if(qD(e[o])&&qD(t[o]))n+=uN(e[o],t[o],r,i);else{if(i&&i.includes(t[o]))continue;e[o]!==t[o]&&(e[o]=hN(t[o]),n+=1)}return n};function hN(e){if(YD(e)){let t=[];return e.forEach(((e,r)=>{t[r]=hN(e)})),t}if(qD(e)){let t={};return Object.keys(e).forEach((r=>{t[r]=hN(e[r])})),t}return e}var pN=e=>{let t=[];if(YD(e))t=[...e];else if(GD(e)){let r=document.getElementById(e);r&&t.push(r)}else e&&t.push(e);return t},mN=e=>GD(e)?document.getElementById(e):e,fN=()=>(e=>{let t=e=>e<10?"0".concat(e):"".concat(e),r=e.getFullYear(),i=e.getMonth()+1,o=e.getDate(),n=t(e.getHours()),a=t(e.getMinutes()),s=t(e.getSeconds());return"".concat(r,"/").concat(i,"/").concat(o," ").concat(n,":").concat(a,":").concat(s)})(new Date);function _N(e,t){let{keysToInclude:r,keysToExclude:i}=t;try{if(YD(e))return"[".concat(e.map((e=>_N(e,{keysToInclude:r,keysToExclude:i}))).join(","),"]");if(!VD(e)||!YD(r)&&!YD(i))return JSON.stringify(e);let t={},o=new Set(r),n=new Set(i);return Object.keys(e).forEach((a=>{(0===n.size&&o.has(a)||0===o.size&&!n.has(a))&&(t[a]=VD(e[a])||YD(e[a])?JSON.parse(_N(e[a],{keysToExclude:i,keysToInclude:r})):e[a])})),JSON.stringify(t)}catch(DC){return"{}"}}function gN(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=[];return Object.keys(e).forEach((i=>{t===e[i]&&r.push(i)})),_N(e,{keysToInclude:r})}function EN(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}var vN=()=>{var e,t,r,i;return null!=(e=window.screen)&&e.orientation?!(null==(i=null==(r=null==(t=window.screen)?void 0:t.orientation)?void 0:r.type)||!i.includes("portrait")):0===window.orientation||180===window.orientation},yN=e=>aw(void 0,null,(function*(){return new Promise(((t,r)=>{let i;if(GD(e))i=new Image,i.crossOrigin="anonymous",i.src=e;else if(i=e,i.complete)return void t(i);i.onload=()=>t(i),i.onerror=()=>{r(new fw({code:pw.INVALID_PARAMETER,message:"load image failed, url: ".concat(e)}))}}))})),TN=e=>{let t=e.split(".");return+t[0]<<24|+t[1]<<16|+t[2]<<8|+t[3]},IN=e=>(Object.keys(e).forEach((t=>{zD(e[t])&&(t.startsWith("uint")||t.startsWith("int"))?e[t]=Math.floor(e[t]):(VD(e[t])||YD(e[t]))&&IN(e[t])})),e);function AN(e,t){return new Promise((r=>{let i=setTimeout(r,e);t&&t(i)}))}function SN(e,t){let r=null;return function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return r||(r=e.apply(t||this,o),r.finally((()=>r=null)),r)}}function RN(e){return e.replace(/(^|[^:])\/{2,}/g,"$1/")}function bN(e){var t;try{let{width:r,height:i,frameRate:o,sampleRate:n,sampleSize:a,channelCount:s}=null==(t=e.getSettings)?void 0:t.call(e),c=e.kind===tC.AUDIO?"".concat(n,"x").concat(a,"@").concat(s):"".concat(r,"x").concat(i,"@").concat(o),l=e.stats?" stats: ".concat(JSON.stringify(e.stats).replaceAll('"',"")):"";return"".concat(e.id," ").concat(e.readyState," muted:").concat(e.muted," ").concat(e.kind," ").concat(e.label," ").concat(c).concat(l)}catch(Rw){return""}}function wN(e,t){return e.width*e.height==t.width*t.height?1:vN()&&t.width>t.height&&e.height>t.width?Math.max(e.width/t.height,e.height/t.width,1):Math.max(e.width/t.width,e.height/t.height,1)}function CN(e){return 90===e||270===e}function DN(e){return aw(this,null,(function*(){return new Promise(((t,r)=>{let i=document.createElement("video");i.crossOrigin="anonymous",i.src=e,i.muted=!0,i.loop=!0,i.playsInline=!0,i.play().then((()=>t(i))),i.onerror=()=>{r(i.error)}}))}))}function NN(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new WeakMap;if("object"!=typeof e||null===e)return e;if(t.has(e))return t.get(e);if(Array.isArray(e)){let r=[];return t.set(e,r),e.forEach(((e,i)=>{r[i]=NN(e,t)})),r}if("[object Object]"===Object.prototype.toString.call(e)){let r={};return t.set(e,r),Reflect.ownKeys(e).forEach((i=>{r[i]=NN(e[i],t)})),r}return e}var kN=(e=>(e[e.END_REPORT=2001]="END_REPORT",e[e.LOG=2002]="LOG",e[e.KEY_METRIC_REPORT=2003]="KEY_METRIC_REPORT",e))(kN||{});function ON(e,t,r,i){try{let o=function(e,t,r,i){let o={data:e,random:Math.floor(2147483648*Math.random()),sdkAppId:r};return jD(i)||(o=Zb(Qb({},o),{gzip:+i})),{uint32_sdkappid:0,uint64_from_uin:0,uint32_timestamp:0,uint32_seq:0,msg_common_info:{msg_device_info:{enum_device_type:0,str_device_brand:"",str_device_model:"",str_device_board:"",str_device_cpu_abi:""},msg_system_info:{enum_os_type:0,str_os_version:"",msg_network_info:0},msg_network_info:{enum_network_type:0}},msg_report_content:{uint32_type:t,bytes_report_data:JSON.stringify(o)}}}(e,t,r,i);return TD(dD(o),r)}catch(sM){return JSON.stringify(e)}}function MN(e,t){let r=new Uint8Array(e.byteLength+t.byteLength);return r.set(new Uint8Array(e),0),r.set(new Uint8Array(t),e.byteLength),r.buffer}function LN(e){return(65535&e)>>>0}function PN(e){return(4294901760&e)>>>0}function xN(e){let t=function(e){try{let t={},r=0;t.totalLength=pD(e,r),r+=4,t.version=pD(e,r),r+=4,t.encryption=mD(e,r),r+=1,t.uinType=mD(e,r),r+=1,t.uinLength=pD(e,r),r+=4,t.uin=t.uinLength>4?fD(e,r,t.uinLength-4):"",r+=t.uinLength-4;let i=e.slice(r);if(2===t.encryption){e=function(e,t){let r=0,i=new Uint8Array(8).fill(0),o=new Uint8Array(e.slice(0,8)),n=UN(o,t),a=7&n[0],s=e.length-1-a-vD-yD,c=new Uint8Array(s),l=0,d=i,u=e.slice(0,8);r=8;let h=1;h+=a;for(let m=1;m<=vD;)if(h<8)h++,m++;else if(8===h){let i=VN(e,r,d,u,n,t);d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}let p=s;for(;p>0;)if(h<8)c[l++]=n[h]^d[h],h++,p--;else if(8===h){let i=VN(e,r,d,u,n,t);d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}for(let m=1;m<=yD;)if(h<8)n[h],d[h],h++,m++;else if(8===h){if(r>=e.length)break;let i=VN(e,r,d,u,n,t);if(!i.success)break;d=i.ivPreCrypt,u=i.ivCurCrypt,n=i.debiBuf,r=i.bufPos,h=0}return c}(i,new Uint8Array(16).fill(0)),t.decrypted=!0,r=0}else e=i,r=0;return t.rspHeadLength=pD(e,r),r+=4,t.seqNo=pD(e,r),r+=4,t.retCode=pD(e,r),r+=4,t.retStrLength=pD(e,r),r+=4,t.retStr=t.retStrLength?fD(e,r,t.retStrLength-4):"",r+=t.retStrLength-4,t.serviceCmdLength=pD(e,r),r+=4,t.serviceCmd=t.serviceCmdLength?fD(e,r,t.serviceCmdLength-4):"",r+=t.serviceCmdLength-4,t.cookieLength=pD(e,r),r+=4,t.cookie=t.cookieLength?fD(e,r,t.cookieLength-4):"",r+=t.cookieLength-4,t.flag=pD(e,r),r+=4,t.busiBuffLength=pD(e,r),r+=4,t.busiBuff=t.busiBuffLength?fD(e,r,t.busiBuffLength-4):"",r+=t.busiBuffLength-4,t}catch(t){}}(e);return null==t?void 0:t.busiBuff}function UN(e,t){let r=e[0]<<24|e[1]<<16|e[2]<<8|e[3],i=e[4]<<24|e[5]<<16|e[6]<<8|e[7];r>>>=0,i>>>=0;let o=gD*ED>>>0;for(let n=0;n<ED;n++)i-=(r<<4)+t[2]^r+o^(r>>>5)+t[3],i>>>=0,r-=(i<<4)+t[0]^i+o^(i>>>5)+t[1],r>>>=0,o-=gD,o>>>=0;return new Uint8Array([r>>>24&255,r>>>16&255,r>>>8&255,255&r,i>>>24&255,i>>>16&255,i>>>8&255,255&i])}function VN(e,t,r,i,o,n){if(t+8>e.length)return{success:!1};let a=new Uint8Array(i),s=e.slice(t,t+8),c=new Uint8Array(8);for(let l=0;l<8;l++)c[l]=o[l]^s[l];return{success:!0,ivPreCrypt:a,ivCurCrypt:s,debiBuf:UN(c,n),bufPos:t+8}}var FN="undefined"!=typeof TextDecoder?new TextDecoder:void 0;function BN(e){let{url:t,body:r,method:i="POST",timeout:o,priority:n}=e;return new Promise(((e,a)=>{if("fetch"in window)return fetch(t,{method:i,body:r,priority:n}).then((e=>e.clone().json().then((e=>({data:e})),(()=>e.arrayBuffer().then((e=>({data:xN(new Uint8Array(e))||(FN?FN.decode(e):e)}))))))).then(e,a);let s=new XMLHttpRequest;s.onreadystatechange=()=>{if(4===s.readyState)if(s.status>=200&&s.status<300)try{let t=JSON.parse(s.response);e({data:t})}catch(lM){e({data:s.response})}else a({status:s.status,statusText:s.statusText||"request failed!"})},s.timeout=o||5e3,s.open(i,t,!0),s.send(r)}))}function HN(e){return aw(this,null,(function*(){let t=iN(),r=JSON.stringify(e);try{if(!CompressionStream||r.length<=2800)return r;let e=new Blob([r],{type:"application/json"}).stream().pipeThrough(new CompressionStream("gzip")),i=yield(yield(yield new Response(e)).blob()).arrayBuffer();return $O.debug("compressJSON ".concat(r.length," -> ").concat(i.byteLength," ").concat(iN()-t,"ms")),i}catch(DC){return r}}))}var WN=Object.prototype.hasOwnProperty,jN=e=>"function"==typeof e,GN=e=>e.isRemote,zN=function(e){if(!e||"object"!=typeof e||"[object Object]"!=Object.prototype.toString.call(e))return!1;let t=Object.getPrototypeOf(e);if(null===t)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof r&&r instanceof r&&Function.prototype.toString.call(r)===Function.prototype.toString.call(Object)};var KN=function(e){let{retryFunction:t,settings:r,onError:i,onRetrying:o,onRetryFailed:n,onRetrySuccess:a,context:s}=e;return function(){for(var e=arguments.length,c=new Array(e),l=0;l<e;l++)c[l]=arguments[l];let{retries:d=5,timeout:u=1e3}=r,h=0,p=-1,m=0,f=(e,r)=>aw(this,null,(function*(){let l=s||this;try{let r=yield t.apply(l,c);h>0&&a&&a.call(this,h),h=0,e(r)}catch(hL){let a=()=>{clearTimeout(p),h=0,m=2,r(hL)},s=()=>{2!==m&&h<(jN(d)?d():d)?(h++,m=1,jN(o)&&o.call(this,h,a),p=window.setTimeout((()=>{p=-1,f(e,r)}),jN(u)?u(h):u)):(a(),jN(n)&&n.call(this,hL))};jN(i)?i.call(this,{error:hL,retry:s,reject:r,retryFuncArgs:c,retriedCount:h}):s()}}));return new Promise(f)}},qN=class{constructor(e){ow(this,"userId"),ow(this,"remoteUserId"),ow(this,"id"),ow(this,"sdkAppId"),ow(this,"type"),ow(this,"isLocal"),this.id=e.id,this.userId=e.userId,this.sdkAppId=e.sdkAppId,this.remoteUserId=e.remoteUserId,this.isLocal="boolean"!=typeof e.isLocal||e.isLocal,this.type=this.isLocal?"":e.type}createChild(e){return Object.setPrototypeOf(e,this)}setUserId(e){this.userId=e}setSdkAppId(e){this.sdkAppId=e}log(e,t){let r=this.isLocal?this.userId:this.remoteUserId;t.unshift("[".concat(this.isLocal?"↑":"↓").concat(this.type&&"main"!==this.type?"*":"").concat(this.id).concat(r?"|".concat(r):"","]")),$O.log(e,t,void 0===this.userId||function(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(zN(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(WN.call(e,t))return!1;return!0}return!1}(this.userId),this.userId,this.sdkAppId)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(2,t)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(1,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(3,t)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(4,t)}},YN={};tw(YN,{ANDROID_VERSION:()=>sk,CHROME_MAJOR_VERSION:()=>hO,CHROME_VERSION:()=>pO,EDGE_VERSION:()=>mk,EDG_MAJOR_VERSION:()=>gk,EDG_VERSION:()=>_k,ELECTRON_MAJOR_VERSION:()=>mO,FIREFOX_MAJOR_VERSION:()=>hk,FIREFOX_VERSION:()=>uk,HUAWEI_VERSION:()=>Qk,IE_VERSION:()=>Ck,IOS_MAIN_VERSION:()=>IO,IOS_VERSION:()=>vO,IPADQQB_VERSION:()=>Fk,IS_ANDROID:()=>ak,IS_ANDROID_WEBVIEW:()=>EO,IS_ANY_SAFARI:()=>_O,IS_CHROME:()=>dO,IS_CHROME_OS:()=>jk,IS_CHROMIUM_BASE:()=>lO,IS_DESKTOP_IOS_CHROME:()=>bO,IS_EDG:()=>fk,IS_EDGE:()=>pk,IS_ELECTRON:()=>Kk,IS_FIREFOX:()=>dk,IS_HEADLESS_CHROME:()=>uO,IS_HONOR:()=>$k,IS_HUAWEI:()=>Xk,IS_HUAWEIBROWSER:()=>Jk,IS_IE:()=>wk,IS_IE8:()=>bk,IS_IOS:()=>nk,IS_IOS_13_OR_14:()=>RO,IS_IOS_15_1:()=>SO,IS_IOS_CHROME:()=>cO,IS_IPAD:()=>tk,IS_IPADQQB:()=>Vk,IS_IPAD_PRO:()=>rk,IS_IPHONE:()=>ik,IS_IPOD:()=>ok,IS_LINUX:()=>Wk,IS_LOCAL:()=>wO,IS_MAC:()=>Hk,IS_MACQQB:()=>xk,IS_MIBROWSER:()=>qk,IS_MQQB:()=>Ok,IS_NATIVE_ANDROID:()=>lk,IS_OLD_ANDROID:()=>ck,IS_OPENHARMONY:()=>nO,IS_OPPOBROWSER:()=>tO,IS_SAFARI:()=>fO,IS_SAFARI_15_1:()=>AO,IS_SAMSUNGBROWSER:()=>Zk,IS_SOGOU:()=>yk,IS_SOGOUM:()=>Ek,IS_TBS:()=>Ik,IS_UCBROWSER:()=>zk,IS_VIVOBROWSER:()=>iO,IS_WECHAT:()=>Dk,IS_WIN:()=>Bk,IS_WQQB:()=>Lk,IS_WX:()=>Gk,IS_X5MQQB:()=>kk,IS_XWEB:()=>Sk,MACQQB_VERSION:()=>Uk,MI_VERSION:()=>Yk,MQQB_VERSION:()=>Mk,OPENHARMONY_VERSION:()=>aO,OPPO_VERSION:()=>rO,SAFARI_VERSION:()=>gO,SAMSUNG_VERSION:()=>eO,SOGOUM_VERSION:()=>vk,SOGOU_VERSION:()=>Tk,TBS_VERSION:()=>Ak,UA_DATA_STRING:()=>MO,USER_AGENT:()=>JN,VIVO_VERSION:()=>oO,WECHAT_VERSION:()=>Nk,WQQB_VERSION:()=>Pk,XWEB_VERSION:()=>Rk,browserInfo:()=>DO,getBrowserCoreNumber:()=>HO,getBrowserInfo:()=>NO,getChromeMajorVersion:()=>sO,getDeviceModel:()=>xO,getDeviceModelFromUA:()=>UO,getGPUInfo:()=>PO,getOSName:()=>FO,getOSNumber:()=>BO,getOSString:()=>WO,getOSType:()=>GO,getTerminalType:()=>jO,getUserAgentData:()=>LO,isLocalStorageEnabled:()=>CO,isMobile:()=>OO,isVersionLargerThan:()=>TO,isVersionSmallerThan:()=>yO});var JN="undefined"==typeof navigator?"":navigator.userAgent,XN=e=>new RegExp(e,"i").test(JN),$N=e=>{if(XN(e)){let t=new RegExp("".concat(e,"\\/([\\d.]+)")),r=JN.match(t);if(r&&r[1])return r[1]}return""},QN=e=>{if(XN(e)){let t=new RegExp("".concat(e,"\\/(\\d+)")),r=JN.match(t);if(r&&r[1])return parseFloat(r[1])}return NaN},ZN=/AppleWebKit\/([\d.]+)/i.exec(JN),ek=ZN?parseFloat(ZN[1]):NaN,tk=XN("iPad"),rk="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&XN("Macintosh"),ik=XN("iPhone")&&!tk,ok=XN("iPod"),nk=ik||tk||ok||rk,ak=XN("Android"),sk=function(){if(ak){let e=JN.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(e){let t=e[1]&&parseFloat(e[1]),r=e[2]&&parseFloat(e[2]);if(t&&r)return parseFloat("".concat(e[1],".").concat(e[2]));if(t)return t}}return NaN}(),ck=ak&&XN("webkit")&&sk<2.3,lk=ak&&sk<5&&ek<537,dk=XN("Firefox"),uk=$N("Firefox"),hk=QN("Firefox"),pk=XN("Edge"),mk=$N("Edge"),fk=XN("Edg"),_k=$N("Edg"),gk=QN("Edg"),Ek=XN("SogouMobileBrowser"),vk=$N("SogouMobileBrowser"),yk=XN("MetaSr\\s"),Tk=$N("MetaSr\\s"),Ik=XN("TBS"),Ak=$N("TBS"),Sk=XN("XWEB"),Rk=$N("XWEB"),bk=XN("MSIE\\s8\\.0"),wk=XN("MSIE\\/\\d+"),Ck=function(){if(wk){let e=/MSIE\s(\d+)\.\d/.exec(JN),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(JN)&&/rv:11.0/.test(JN)&&(t=11),t}return NaN}(),Dk=XN("(micromessenger|webbrowser)"),Nk=$N("MicroMessenger"),kk=!Ik&&XN("MQQBrowser")&&XN("COVC"),Ok=!Ik&&XN("MQQBrowser")&&!XN("COVC"),Mk=Ok||kk?$N("MQQBrowser"):"",Lk=!Ik&&XN(" QQBrowser"),Pk=$N(" QQBrowser"),xk=!Ik&&XN("QQBrowserLite"),Uk=$N("QQBrowserLite"),Vk=!Ik&&XN("MQBHD"),Fk=$N("MQBHD"),Bk=XN("Windows"),Hk=!nk&&XN("MAC OS X"),Wk=!ak&&XN("Linux"),jk=XN("CrOS"),Gk=XN("MicroMessenger"),zk=XN("UCBrowser"),Kk=XN("Electron"),qk=XN("MiuiBrowser"),Yk=$N("MiuiBrowser"),Jk=XN("HuaweiBrowser"),Xk=XN("Huawei")||XN("HUAWEI"),$k=XN("Honor")||XN("HONOR"),Qk=$N("HuaweiBrowser"),Zk=XN("SamsungBrowser"),eO=$N("SamsungBrowser"),tO=XN("HeyTapBrowser"),rO=$N("HeyTapBrowser"),iO=XN("VivoBrowser"),oO=$N("VivoBrowser"),nO=XN("OpenHarmony"),aO=$N("OpenHarmony"),sO=()=>QN("Chrome"),cO=XN("CriOS"),lO=XN("Chrome"),dO=!pk&&!yk&&!Ek&&!Ik&&!Sk&&!fk&&!Lk&&!qk&&!Jk&&!Zk&&!tO&&!iO&&lO,uO=XN("HeadlessChrome"),hO=sO(),pO=$N("Chrome"),mO=QN("Electron"),fO=!lO&&!Ok&&!kk&&!xk&&!Vk&&XN("Safari"),_O=fO||nk,gO=$N("Version"),EO=/Android.*(wv|.0.0.0)/.test(JN),vO=(()=>{if(rk)return gO;if(nk){let e=JN.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""})();function yO(e,t){let r=e.split(".").map((e=>Number(e))),i=t.split(".").map((e=>Number(e)));for(let o=0;o<Math.max(r.length,i.length);o++){let e=r[o]||0,t=i[o]||0;if(e<t)return!0;if(e>t)return!1}return!1}function TO(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=e.split(".").map((e=>Number(e))),o=t.split(".").map((e=>Number(e)));for(let n=0;n<Math.max(i.length,o.length);n++){let e=i[n]||0,t=o[n]||0;if(e>t)return!0;if(e<t)return!1}return r}var IO=Number(vO.split(".")[0]),AO="15.1"===gO,SO="15.1"===vO,RO=(()=>{let e=Number(vO.split(".")[0]);return 14===e||13===e})(),bO=cO&&"11.1.1"===gO,wO="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),CO=(()=>{let e;return()=>{if(void 0===e)try{e=!!window.localStorage}catch(nM){e=!1}return e}})(),DO=NO();function NO(){let e=new Map([[dk,["Firefox",uk]],[fk,["Edg",_k]],[dO,["Chrome",pO]],[cO,["ChiOS",$N("CriOS")]],[fO&&!cO,["Safari",gO]],[Ik,["TBS",Ak]],[Sk,["XWEB",Rk]],[Dk&&ik,["WeChat",Nk]],[Lk,["QQ(Win)",Pk]],[Ok,["QQ(Mobile)",Mk]],[kk,["QQ(Mobile X5)",Mk]],[xk,["QQ(Mac)",Uk]],[Vk,["QQ(iPad)",Fk]],[qk,["MI",Yk]],[Jk,["HW",Qk]],[Zk,["Samsung",eO]],[tO,["OPPO",rO]],[iO,["VIVO",oO]],[pk,["EDGE",mk]],[Ek,["SogouMobile",vk]],[yk,["Sogou",Tk]]]),t="unknown",r="unknown";return e.has(!0)&&([t,r]=e.get(!0)),{name:t,version:r}}var kO=null;function OO(){return kO&&"boolean"==typeof kO.mobile?kO.mobile:ak||nk||ik||tk||nO}var MO="";function LO(){return aw(this,null,(function*(){if(kO)return kO;if(!navigator.userAgentData||"function"!=typeof navigator.userAgentData.getHighEntropyValues)return null;try{return(kO=yield navigator.userAgentData.getHighEntropyValues(["architecture","bitness","model","platformVersion","fullVersionList"]))&&!MO&&(MO="UAData: ".concat(kO.platform,"/").concat(kO.platformVersion),kO.architecture&&kO.bitness&&(MO+=" ".concat(kO.architecture,"/").concat(kO.bitness)),kO.mobile&&(MO+=" mobile"),kO.model&&(MO+=" model: ".concat(kO.model.replace(/\s+/g,"/"))),kO.fullVersionList&&(MO+=" ".concat(kO.fullVersionList.filter((e=>"Not/A)Brand"!==e.brand)).map((e=>"".concat(e.brand,"/").concat(e.version))).join(",")))),kO}catch(SH){return null}}))}function PO(){try{let e=document.createElement("canvas"),t=e.getContext("webgl")||e.getContext("experimental-webgl");if(!t)return"";let r=t.getExtension("WEBGL_debug_renderer_info");if(r){let e=t.getParameter(r.UNMASKED_VENDOR_WEBGL),i=t.getParameter(r.UNMASKED_RENDERER_WEBGL);return"".concat(e," ").concat(i)}return""}catch(SH){return""}}function xO(){return(null==kO?void 0:kO.model)||UO()||""}function UO(){let e=JN.match(/;\s*([^;)]+)\s+Build\//);return null!=e&&e[1]?e[1].trim():null}var VO=new Map([[ak,"Android"],[nk,"iOS"],[Bk,"Windows"],[Hk,"MacOS"],[Wk,"Linux"],[jk,"ChromeOS"]]),FO=function(){return VO.get(!0)?VO.get(!0):kO?kO.platform:"unknown"};function BO(){return Bk?1:ak?2:Hk?3:nk?4:Wk?5:jk?6:nO?7:0}function HO(){return lO?1:fO?2:dk?3:0}var WO=()=>{let e=FO();return null!=kO&&kO.platformVersion?e+="/".concat(kO.platformVersion):nk?e+="/".concat(vO):ak&&(e+="/".concat(sk)),e+="/".concat(DO.name,"/").concat(fO&&!cO?DO.version:DO.version.split(".")[0]),null!=kO&&kO.architecture&&(e+="/".concat(kO.architecture)),e};function jO(){return ak?4:ik?2:tk?3:Hk?12:Bk?5:Wk?13:nO?22:1}function GO(){return ak?"Android":ik?"iPhone":tk?"iPad":Hk?"Mac":Bk?"Windows":Wk?"Linux":"unknown"}var zO,KO=new(rw(sw(),1).default),qO=((zO=qO||{}).ROOM_DESTROY="1",zO.JOIN_START="21",zO.JOIN_SCHEDULE_SUCCESS="22",zO.JOIN_SIGNAL_CONNECTION_START="23",zO.JOIN_SIGNAL_CONNECTION_END="24",zO.JOIN_SEND_CMD="25",zO.JOIN_RECEIVED_CMD_RES="26",zO.JOIN_SUCCESS="27",zO.JOIN_FAILED="28",zO.LEAVE_START="51",zO.LEAVE_SEND_CMD="52",zO.LEAVE_SUCCESS="53",zO.PUBLISH_START="61",zO.SEND_FIRST_VIDEO_FRAME="62",zO.PUBLISH_FAILED="63",zO.SUBSCRIBE_START="81",zO.SUBSCRIBE_SUCCESS="82",zO.SUBSCRIBE_FAILED="84",zO.UNSUBSCRIBE_SUCCESS="83",zO.LOCAL_TRACK_CAPTURE_START="101",zO.LOCAL_TRACK_CAPTURE_SUCCESS="102",zO.LOCAL_TRACK_CAPTURE_FAILED="103",zO.LOCAL_TRACK_PUBLISHED="104",zO.LOCAL_TRACK_UNPUBLISHED="105",zO.LOCAL_TRACK_REPLACED="106",zO.SWITCH_DEVICE_SUCCESS="107",zO.TRACK_MUTED="108",zO.TRACK_UNMUTED="109",zO.REMOTE_TRACK_SUBSCRIBED="110",zO.REMOTE_TRACK_UNSUBSCRIBED="111",zO.LOCAL_TRACK_RECAPTURE="112",zO.LOCAL_AUDIO_STARTED="113",zO.LOCAL_AUDIO_STOPPED="114",zO.REMOTE_AUDIO_STARTED="115",zO.REMOTE_AUDIO_STOPPED="116",zO.PLAY_TRACK_START="151",zO.PLAYER_STATE_CHANGED="152",zO.VIDEO_LOADED_DATA="153",zO.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",zO.AUDIO_CONTEXT_LONG_SUSPENDED="155",zO.REMOTE_VIDEO_PLAY_START="156",zO.REMOTE_VIDEO_PLAY_FINISH="157",zO.SIGNAL_CONNECTION_STATE_CHANGED="201",zO.PEER_CONNECTION_STATE_CHANGED="202",zO.SINGLE_CONNECTION_STAT="203",zO.SPC_RECONNECTED="204",zO.HEARTBEAT_REPORT="251",zO.RECEIVED_PUBLISHED_USER_LIST="252",zO.REMOTE_PUBLISH_STATE_CHANGED="253",zO.AUDIO_LEVEL_INTERVAL="260",zO.NETWORK_QUALITY="261",zO.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",zO.QUALITY_LIMITATION_CHANGED="263",zO.LOG="264",zO.AUDIO_PROCESSOR_DEBUG="265",zO.SSO_SWITCH="266",zO.SWITCH_ROOM_START="401",zO.SWITCH_ROOM_SUCCESS="407",zO.SWITCH_ROOM_FAILED="408",zO),YO=qO,JO=new class{constructor(){ow(this,"enable",!1),ow(this,"ssoFailCount",0),KO.on("22",(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.sso&&KO.emit("266",{enable:!0})})),KO.on("266",(e=>{let{enable:t}=e;this.enable=t}))}handleUploadFailed(){this.ssoFailCount++,this.ssoFailCount>3&&KO.emit("266",{enable:!1})}},XO=class e{constructor(){ow(this,"_isEnableUploadLog",!0),ow(this,"_localJoinedUser",new Map),ow(this,"_queue",[]),ow(this,"_timeoutId",-1),ow(this,"_logLevel",1),ow(this,"_logLevelToUpload",2),!ww&&!Cw&&(this.checkURLParam(),this.installEvents())}get isAbleToUpload(){return this._isEnableUploadLog&&-1!==this._timeoutId}installEvents(){KO.on(YO.JOIN_SCHEDULE_SUCCESS,(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.logLevelToUpload&&zw[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),KO.on(YO.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),KO.once(YO.JOIN_FAILED,(()=>{this.startUpload()})),KO.on(YO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.deleteJoinedUser(t.userId)}))}startUpload(){-1===this._timeoutId&&this.uploadInterval()}addJoinedUser(e){this._localJoinedUser.set(e.userId,e),this.startUpload()}deleteJoinedUser(e){this._localJoinedUser.delete(e)}uploadInterval(){this.upload().catch((()=>{})),this._timeoutId=window.setTimeout((()=>this.uploadInterval()),5e3)}getLogsToUpload(){let e={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&0===this._localJoinedUser.size)return e;let t=0;for(;t<this._queue.length&&50!==t;t++){let r=this._queue[t];if(r.forAllJoinedClients)this._localJoinedUser.forEach((t=>{let{userId:i,sdkAppId:o}=t;e.map.has(i)?e.map.get(i).logs.push(r):e.map.set(i,{userId:i,sdkAppId:o,logs:[r]})}));else if(GD(r.userId)&&zD(r.sdkAppId)){let{userId:t,sdkAppId:i}=r;e.map.has(t)?e.map.get(t).logs.push(r):e.map.set(t,{userId:t,sdkAppId:i,logs:[r]})}}return e.map.size>0&&(e.splicedQueue=this._queue.splice(0,t)),e}upload(){return aw(this,null,(function*(){if(0===this._queue.length||!this._isEnableUploadLog)return;let{map:e,splicedQueue:t}=this.getLogsToUpload();if(0===e.size)return;try{let t=[...e.values()];for(let e=0;e<t.length;e++){let{userId:r,sdkAppId:i,logs:o}=t[e],n={timestamp:Ew(),sdkAppId:String(i),userId:r,version:Aw,log:o.map((e=>e.log)).join("\n")},a=JSON.stringify(n),s=JO.enable?ON(n,2002,i):a;yield this.uploadLogWithRetry(s,i,s instanceof Uint8Array,a),o.forEach((e=>e.uploaded=!0))}}catch(sM){}let r=t.filter((e=>!e.uploaded));r.length>0&&(this._queue=r.concat(this._queue))}))}uploadLogWithRetry(e,t,r,i){return KN({retryFunction:()=>BN({url:RD(t,jw.LOG),body:e,timeout:5e3,priority:"low"}).then((e=>{r&&"ok"!==e.data&&(JO.handleUploadFailed(),this.uploadLogWithRetry(i,t,!1,i))})),settings:{retries:3,timeout:2e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;return t.setTime(gw()),"[".concat(vw(t),"] <").concat(zw[e],">")}getLogLevel(){return this._logLevel}setLogLevel(e){jD(zw[e])||(this._logLevel!==e&&this.info("setLogLevel",e),this._logLevel=e)}enableUploadLog(){this._isEnableUploadLog=!0}disableUploadLog(){this.warn("disableUploadLog"),this._isEnableUploadLog=!1}logChunkToString(e){if(GD(e))return e;try{return e instanceof Error?e.toString():JSON.stringify(e)}catch(Rw){return""}}addLogToQueue(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0,n={log:t.reduce(((e,t)=>"".concat(e," ").concat(this.logChunkToString(t)).trim()),""),level:e,userId:i,sdkAppId:o,forAllJoinedClients:r};KO.emit(YO.LOG,{log:n}),this._isEnableUploadLog&&e>=this._logLevelToUpload&&this._queue.push(n)}log(t,r){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],o=arguments.length>3?arguments[3]:void 0,n=arguments.length>4?arguments[4]:void 0;var a;if(r.unshift(this.getPrefix(t)),this.addLogToQueue(t,r,i,o,n),t<this._logLevel)return;let s=(null==(a=zw[t])?void 0:a.toLowerCase())||"info";e.PRINT_LOG_TAG?console[s]("%cTRTC%c%s","padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;","display: inline",...r):console[s](...r)}debug(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(1,t)}info(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(2,t)}warn(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(3,t)}error(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];this.log(4,t)}createLogger(e){return new qN(e)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),t=e?Number(e):-1;zw[t]&&(this._logLevelToUpload=t)}getQueue(){return this._queue}};ow(XO,"PRINT_LOG_TAG",!(nk||ak||uO));var $O=new XO,QO=function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(e=>{let t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},ZO=new class{constructor(){ow(this,"_prefix","TRTC"),ow(this,"_queue",new Map)}getRealKey(e){return"".concat(this._prefix,"_").concat(e)}checkStorage(){CO()&&(setInterval(this.doFlush.bind(this),2e4),Object.keys(localStorage).filter((e=>{if(e.startsWith(this._prefix))try{let t=localStorage.getItem(e);if(!t)return!1;let r=JSON.parse(t);if(r&&r.expiresIn<Date.now())return!0}catch(sM){return!1}return!1})).forEach((e=>localStorage.removeItem(e))))}doFlush(){if(CO())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(nM){$O.warn(nM)}}getItem(e){if(!CO())return null;try{let t=localStorage.getItem(this.getRealKey(e));if(!t)return null;let r=JSON.parse(t);return r&&r.expiresIn>=Date.now()?r.value:null}catch(Rw){$O.warn(Rw)}}setItem(e,t){if(CO())try{let r={expiresIn:Date.now()+Jw,value:t};this._queue.set(this.getRealKey(e),r)}catch(DC){$O.warn(DC)}}deleteItem(e){if(!CO())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(Rw){return $O.warn(Rw),!1}}clear(){if(CO())try{localStorage.clear()}catch(nM){$O.warn(nM)}}},eM={};tw(eM,{HTTPS_API:()=>HL,IS_GET_CAPABILITIES_FROM_INPUTDEVICE_SUPPORTED:()=>lP,IS_GET_CAPABILITIES_SUPPORTED:()=>cP,IS_GET_SETTINGS_SUPPORTED:()=>sP,IS_GET_SYNCHRONIZATION_SOURCES_SUPPORTED:()=>aP,IS_INSERTABLE_STREAM_SUPPORTED:()=>dP,IS_JITTER_BUFFER_TARGET_SUPPORTED:()=>AP,IS_RTC_RTP_SENDER_SUPPORTED:()=>iP,IS_SCRIPT_TRANSFORM_SUPPORTED:()=>uP,IS_SEI_SUPPORTED:()=>hP,IS_SPC_SUPPORTED:()=>tP,basis:()=>EP,capabilityCheck:()=>TP,checkSystemRequirementsInternal:()=>PL,decodeSupportStatus:()=>LL,detectVideoCodecCapabilities:()=>bP,detectVideoDecoderCapabilities:()=>CP,detectVideoEncoderCapabilities:()=>wP,encodeSupportStatus:()=>ML,getBrowserInfo:()=>RL,getDisplayResolution:()=>jL,getH264ProfileLevelIds:()=>DP,isAddTransceiverSupported:()=>eP,isBrowserSupported:()=>bL,isCanvasCaptureStreamAPISupported:()=>KL,isCanvasSmallStreamSupported:()=>qL,isGetReceiversSupported:()=>$L,isGetSendersSupported:()=>QL,isGetTransceiversSupported:()=>ZL,isGetUserMediaSupported:()=>GL,isMediaDevicesSupported:()=>CL,isMediaSessionSupported:()=>fP,isMediaStreamTrackGeneratorSupported:()=>OL,isMediaStreamTrackProcessorSupported:()=>kL,isReplaceTrackSupported:()=>oP,isRequestVideoFrameCallbackSupported:()=>IP,isSIMDSupported:()=>gP,isScaleResolutionDownBySupported:()=>YL,isScreenCaptureApiAvailable:()=>UL,isSelectedCandidatePair:()=>WL,isSetParametersSupported:()=>nP,isSetSinkIdSupported:()=>VL,isSmallStreamSupported:()=>JL,isStopTransceiverSupported:()=>rP,isTRTCSupported:()=>xL,isUnifiedPlanDefault:()=>XL,isUsedInHttpProtocol:()=>NL,isWebAudioSupported:()=>zL,isWebCodecSupported:()=>mP,isWebCodecsSupported:()=>wL,isWebRTCSupported:()=>pP,isWebTransportSupported:()=>_P});var tM={};tw(tM,{AUDIO_LEVEL_SCALE:()=>qM,AudioCodecPipelineType:()=>ZM,AudioDecoderDowngradeState:()=>CM,AudioPlayerMode:()=>GM,AudioType:()=>LM,BASIC_TYPE:()=>XM,BannedReason:()=>zM,CONNECTION_CLOSED_REASON:()=>fM,CheckPermissionType:()=>nL,ClientEvent:()=>_M,CodecType:()=>eL,ConnectionEvent:()=>mM,ConnectionState:()=>wM,DECODE_FAILED_ERROR_CODE:()=>tL,DenoiserMode:()=>YM,DeviceType:()=>aL,FacingMode:()=>WM,FrameWorkType:()=>pM,LeaveReason:()=>KM,LocalTrackEvent:()=>EM,MULTI_VIDEO_DATA_TYPE:()=>VM,MediaType:()=>OM,MediaTypeLabel:()=>MM,MonitorEventId:()=>FM,MutedFlag:()=>AM,NetworkQualityValue:()=>BM,PlayerState:()=>vM,ReceiveMode:()=>HM,RemoteStreamType:()=>UM,RemoteTrackEvent:()=>IM,RoomEvent:()=>yM,SMALL_MODE:()=>oL,SceneNumber:()=>SM,StreamEvent:()=>gM,StreamType:()=>xM,SubscribeMediaType:()=>JM,TIMER_TYPE:()=>iL,TRACK_ACTION:()=>kM,TRACK_KIND:()=>NM,TrackEvent:()=>TM,UserRole:()=>bM,UserRoleNumber:()=>RM,VideoCodec:()=>$M,VideoCodecPipelineType:()=>QM,VideoContentHint:()=>rL,VideoDecoderDowngradeState:()=>DM,VideoPlayerMode:()=>jM,VideoType:()=>PM});var rM,iM,oM,nM,aM,sM,cM,lM,dM,uM,hM,pM=(e=>(e[e.WEBRTC=30]="WEBRTC",e[e.WASM=37]="WASM",e))(pM||{}),mM=((hM=mM||{}).TRACK_ADDED="track-added",hM.TRACK_UPDATED="track-updated",hM.TRACK_SUBSCRIBED="track-subscribed",hM.STREAM_ADDED="stream-added",hM.STREAM_REMOVED="stream-removed",hM.STREAM_UPDATED="stream-updated",hM.STREAM_PUBLISHED="stream-published",hM.STREAM_SUBSCRIBED="stream-subscribed",hM.STREAM_UNSUBSCRIBED="stream-unsubscribed",hM.STATE_CHANGED="state-changed",hM.ERROR="error",hM.CONNECTION_STATE_CHANGED="connection-state-changed",hM.FIREWALL_RESTRICTION="firewall-restriction",hM.SEI_MESSAGE="sei-message",hM.CLOSED="closed",hM),fM=(e=>(e.REMOTE_LEAVE="remote user exitRoom",e.REMOTE_UNPUBLISH="remote user unpublished",e.LOCAL_LEAVE="you exitRoom",e.LOCAL_UNPUBLISH="you unpublished",e.LOCAL_UNSUBSCRIBE="you unsubscribed",e.SWITCH_ROLE="you switch role to audience",e))(fM||{}),_M=((uM=_M||{}).STREAM_ADDED="stream-added",uM.STREAM_REMOVED="stream-removed",uM.STREAM_UPDATED="stream-updated",uM.STREAM_SUBSCRIBED="stream-subscribed",uM.CONNECTION_STATE_CHANGED="connection-state-changed",uM.PEER_JOIN="peer-join",uM.PEER_LEAVE="peer-leave",uM.MUTE_AUDIO="mute-audio",uM.MUTE_VIDEO="mute-video",uM.UNMUTE_AUDIO="unmute-audio",uM.UNMUTE_VIDEO="unmute-video",uM.CLIENT_BANNED="client-banned",uM.NETWORK_QUALITY="network-quality",uM.AUDIO_VOLUME="audio-volume",uM.SEI_MESSAGE="sei-message",uM.ERROR="error",uM),gM=((dM=gM||{}).PLAYER_STATE_CHANGED="player-state-changed",dM.SCREEN_SHARING_STOPPED="screen-sharing-stopped",dM.CONNECTION_STATE_CHANGED="connection-state-changed",dM.DEVICE_AUTO_RECOVERED="device-auto-recovered",dM.ERROR="error",dM),EM=((lM=EM||{}).DEVICE_AUTO_RECOVERED="1",lM.DEVICE_RECOVER_FAILED="5",lM.DEVICE_CHANGED="2",lM.ERROR="3",lM.PUBLISH_STATE_CHANGED="4",lM.ENCODE_FAILED="6",lM.TRACK_ENDED="7",lM.RENDER="render",lM),vM=(e=>(e.PAUSED="PAUSED",e.PLAYING="PLAYING",e.STOPPED="STOPPED",e))(vM||{}),yM=((cM=yM||{}).PEER_JOIN="peer-join",cM.PEER_LEAVE="peer-leave",cM.SIGNAL_CONNECTION_STATE_CHANGED="signal-connection-state-changed",cM.MEDIA_CONNECTION_STATE_CHANGED="media-connection-state-changed",cM.BANNED="banned",cM.NETWORK_QUALITY="network-quality",cM.AUDIO_VOLUME="audio-volume",cM.SEI_MESSAGE="sei-message",cM.ERROR="error",cM.REMOTE_PUBLISH_STATE_CHANGED="remote-publish-state-changed",cM.REMOTE_PUBLISHED="remote-published",cM.REMOTE_UNPUBLISHED="remote-unpublished",cM.FIREWALL_RESTRICTION="firewall-restriction",cM.HEARTBEAT_REPORT="heartbeat-report",cM.CUSTOM_MESSAGE="custom-message",cM.LAYER_DATA="layerData",cM.FIRST_VIDEO_FRAME="first-video-frame",cM.DUMP="dump",cM.AUDIO_FRAME="audio-frame",cM.SUBSCRIBE_SMALL_VIDEO_CHANGED="subscribe-small-video-changed",cM.LOCAL_PUBLISH_FLAG_CHANGED="local-publish-flag-changed",cM.NTP_TIME_UPDATED="ntp-time-updated",cM),TM=(e=>(e.PLAYER_STATE_CHANGED="player-state-changed",e.MUTE="mute",e.UNMUTE="unmute",e.ERROR="error",e.INPUT_MEDIA_TRACK_CHANGED="input-media-track-changed",e.OUTPUT_MEDIA_TRACK_CHANGED="output-media-track-changed",e.FIRST_VIDEO_FRAME="first-video-frame",e.VIDEO_SIZE_CHANGED="video-size-changed",e))(TM||{}),IM=((sM=IM||{}).DECODE_FAILED="decode-failed",sM.DECODE_DOWNGRADE_STATE_CHANGED="decode-downgrade-state-changed",sM.REMOTE_PUBLISH_CHANGED="remote-publish-changed",sM.AUDIO_FRAME_WITH_NTP="audio-frame-with-ntp",sM),AM=((aM=AM||{})[aM.VIDEO=1]="VIDEO",aM[aM.SMALL=2]="SMALL",aM[aM.AUX=4]="AUX",aM[aM.AUDIO=8]="AUDIO",aM[aM.VIDEO_MUTE=16]="VIDEO_MUTE",aM[aM.AUX_MUTE=32]="AUX_MUTE",aM[aM.AUDIO_MUTE=64]="AUDIO_MUTE",aM),SM=(e=>(e[e.RTC=1]="RTC",e[e.LIVE=2]="LIVE",e))(SM||{}),RM=(e=>(e[e.ANCHOR=20]="ANCHOR",e[e.AUDIENCE=21]="AUDIENCE",e))(RM||{}),bM=(e=>(e.ANCHOR="anchor",e.AUDIENCE="audience",e))(bM||{}),wM=(e=>(e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.RECONNECTED="RECONNECTED",e.RECONNECTING="RECONNECTING",e))(wM||{}),CM=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(CM||{}),DM=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(DM||{}),NM=(e=>(e.AUDIO="audio",e.VIDEO="video",e.AUXILIARY="auxVideo",e))(NM||{}),kM=(e=>(e.ADD="add",e.REMOVE="remove",e))(kM||{}),OM=(e=>(e[e.NULL=0]="NULL",e[e.AUDIO=1]="AUDIO",e[e.AUX_VIDEO=2]="AUX_VIDEO",e[e.BIG_VIDEO=4]="BIG_VIDEO",e[e.SMALL_VIDEO=8]="SMALL_VIDEO",e))(OM||{}),MM={1:"audio",2:"auxVideo",4:"video"},LM=((nM=LM||{})[nM.opus=111]="opus",nM),PM=(e=>(e[e.h264=100]="h264",e[e.vp8=101]="vp8",e))(PM||{}),xM=(e=>(e.Big="big",e.Small="small",e))(xM||{}),UM=(e=>(e.Main="main",e.Aux="auxiliary",e))(UM||{}),VM=(e=>(e[e.MULTI_DATA_AUDIO=1]="MULTI_DATA_AUDIO",e[e.MULTI_DATA_BIG_IMG=2]="MULTI_DATA_BIG_IMG",e[e.MULTI_DATA_SMALL_IMG=3]="MULTI_DATA_SMALL_IMG",e[e.MULTI_DATA_AUX_IMG=7]="MULTI_DATA_AUX_IMG",e[e.MULTI_DATA_TYPE_BUTT=12]="MULTI_DATA_TYPE_BUTT",e))(VM||{}),FM=((oM=FM||{})[oM.PUBLISH_VIDEO=32768]="PUBLISH_VIDEO",oM[oM.PUBLISH_AUDIO=32769]="PUBLISH_AUDIO",oM[oM.UNPUBLISH_VIDEO=32770]="UNPUBLISH_VIDEO",oM[oM.UNPUBLISH_AUDIO=32771]="UNPUBLISH_AUDIO",oM[oM.MUTE_AUDIO=32772]="MUTE_AUDIO",oM[oM.MUTE_VIDEO=32773]="MUTE_VIDEO",oM[oM.UNMUTE_AUDIO=32774]="UNMUTE_AUDIO",oM[oM.UNMUTE_VIDEO=32775]="UNMUTE_VIDEO",oM[oM.SUBSCRIBE_VIDEO=32776]="SUBSCRIBE_VIDEO",oM[oM.SUBSCRIBE_AUDIO=32777]="SUBSCRIBE_AUDIO",oM[oM.UNSUBSCRIBE_VIDEO=32778]="UNSUBSCRIBE_VIDEO",oM[oM.UNSUBSCRIBE_AUDIO=32779]="UNSUBSCRIBE_AUDIO",oM[oM.SWITCH_CAMERA=32780]="SWITCH_CAMERA",oM[oM.SWITCH_MICROPHONE=32781]="SWITCH_MICROPHONE",oM[oM.REPLACE_VIDEO=32782]="REPLACE_VIDEO",oM[oM.REPLACE_AUDIO=32783]="REPLACE_AUDIO",oM[oM.MUTE_REMOTE_VIDEO=32784]="MUTE_REMOTE_VIDEO",oM[oM.MUTE_REMOTE_AUDIO=32785]="MUTE_REMOTE_AUDIO",oM[oM.UNMUTE_REMOTE_VIDEO=32786]="UNMUTE_REMOTE_VIDEO",oM[oM.UNMUTE_REMOTE_AUDIO=32787]="UNMUTE_REMOTE_AUDIO",oM[oM.JOIN=32788]="JOIN",oM[oM.LEAVE=32789]="LEAVE",oM[oM.SIGNAL_DISCONNECTED=32790]="SIGNAL_DISCONNECTED",oM[oM.SIGNAL_CONNECTED=32791]="SIGNAL_CONNECTED",oM[oM.TRANSPORT_UPLINK_CONNECTED=32792]="TRANSPORT_UPLINK_CONNECTED",oM[oM.TRANSPORT_DOWNLINK_CONNECTED=32793]="TRANSPORT_DOWNLINK_CONNECTED",oM[oM.SIGNAl_RECONNECTING=32794]="SIGNAl_RECONNECTING",oM[oM.SIGNAL_RECONNECT_SUCCESS=32795]="SIGNAL_RECONNECT_SUCCESS",oM[oM.SIGNAL_RECONNECT_FAIL=32796]="SIGNAL_RECONNECT_FAIL",oM[oM.TRANSPORT_UPLINK_RECONNECTING=32797]="TRANSPORT_UPLINK_RECONNECTING",oM[oM.TRANSPORT_UPLINK_RECONNECT_SUCCESS=32798]="TRANSPORT_UPLINK_RECONNECT_SUCCESS",oM[oM.TRANSPORT_UPLINK_RECONNECT_FAIL=32799]="TRANSPORT_UPLINK_RECONNECT_FAIL",oM[oM.TRANSPORT_DOWNLINK_RECONNECTING=32800]="TRANSPORT_DOWNLINK_RECONNECTING",oM[oM.TRANSPORT_DOWNLINK_RECONNECT_SUCCESS=32801]="TRANSPORT_DOWNLINK_RECONNECT_SUCCESS",oM[oM.TRANSPORT_DOWNLINK_RECONNECT_FAIL=32802]="TRANSPORT_DOWNLINK_RECONNECT_FAIL",oM[oM.SUBSCRIBE_SMALL_VIDEO=32803]="SUBSCRIBE_SMALL_VIDEO",oM[oM.UNSUBSCRIBE_SMALL_VIDEO=32804]="UNSUBSCRIBE_SMALL_VIDEO",oM[oM.PUBLISH_AUX=32805]="PUBLISH_AUX",oM[oM.UNPUBLISH_AUX=32806]="UNPUBLISH_AUX",oM[oM.DEVICE_CAPTURE=2003]="DEVICE_CAPTURE",oM[oM.VIDEO_ENCODER=4004]="VIDEO_ENCODER",oM[oM.VIDEO_DECODER=4005]="VIDEO_DECODER",oM),BM=(e=>(e[e.UNKNOWN=0]="UNKNOWN",e[e.EXCELLENT=1]="EXCELLENT",e[e.GOOD=2]="GOOD",e[e.POOR=3]="POOR",e[e.BAD=4]="BAD",e[e.VERY_BAD=5]="VERY_BAD",e[e.DISCONNECTED=6]="DISCONNECTED",e))(BM||{}),HM=(e=>(e[e.MANUAL=0]="MANUAL",e[e.AUTO_AUDIO=1]="AUTO_AUDIO",e[e.AUTO_VIDEO=2]="AUTO_VIDEO",e[e.AUTO_ALL=3]="AUTO_ALL",e))(HM||{}),WM=(e=>(e.user="user",e.environment="environment",e))(WM||{}),jM=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CANVAS_FROM_ELEMENT=1]="CANVAS_FROM_ELEMENT",e[e.CANVAS_WITHOUT_ELEMENT=2]="CANVAS_WITHOUT_ELEMENT",e))(jM||{}),GM=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CONTEXT=1]="CONTEXT",e))(GM||{}),zM=(e=>(e.BANNED="banned",e.KICK="kick",e.USER_TIME_OUT="user_time_out",e.ROOM_DISBAND="room_disband",e))(zM||{}),KM=((iM=KM||{})[iM.USER_EXIT_REASON_TC_USER_EXIT_NORMAL=0]="USER_EXIT_REASON_TC_USER_EXIT_NORMAL",iM[iM.USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT=1]="USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT",iM[iM.USER_EXIT_REASON_TC_USER_EXIT_KICKED=2]="USER_EXIT_REASON_TC_USER_EXIT_KICKED",iM[iM.USER_EXIT_REASON_TC_USER_EXIT_CHANGED=3]="USER_EXIT_REASON_TC_USER_EXIT_CHANGED",iM[iM.USER_KICK_OUT_CODE_BUSINESS_USER=4]="USER_KICK_OUT_CODE_BUSINESS_USER",iM[iM.USER_KICK_OUT_CODE_BUSINESS_ROOM=5]="USER_KICK_OUT_CODE_BUSINESS_ROOM",iM[iM.USER_KICK_OUT_CODE_SERVER_USER=6]="USER_KICK_OUT_CODE_SERVER_USER",iM[iM.USER_KICK_OUT_CODE_SERVER_ROOM=7]="USER_KICK_OUT_CODE_SERVER_ROOM",iM[iM.USER_KICK_SESS_EXSIT=8]="USER_KICK_SESS_EXSIT",iM),qM=1e8,YM=(e=>(e[e.NORMAL=0]="NORMAL",e[e.FAR_FIELD_REDUCTION=1]="FAR_FIELD_REDUCTION",e))(YM||{}),JM=class{constructor(){ow(this,"mediaType",0)}set audio(e){e?this.mediaType|=1:this.mediaType&=-2}get audio(){return!!(1&this.mediaType)}set video(e){e?this.mediaType|=4:this.mediaType&=-5}get video(){return!!(4&this.mediaType)}set auxiliary(e){e?this.mediaType|=2:this.mediaType&=-3}get auxiliary(){return!!(2&this.mediaType)}set smallVideo(e){e?this.mediaType|=8:this.mediaType&=-9}get smallVideo(){return!!(8&this.mediaType)}},XM=(e=>(e.String="string",e.Number="number",e.Boolean="boolean",e.Array="array",e.Object="object",e))(XM||{}),$M=(e=>(e.H264="h264",e.H265="h265",e.VP8="vp8",e.VP9="vp9",e.AV1="av1",e))($M||{}),QM=(e=>(e[e.ENCRYPT_AND_DECRYPT=0]="ENCRYPT_AND_DECRYPT",e[e.DUMP=1]="DUMP",e[e.SEI=2]="SEI",e[e.ENCODE_AND_DECODE=3]="ENCODE_AND_DECODE",e))(QM||{}),ZM=(e=>(e[e.ENCRYPT_AND_DECRYPT=0]="ENCRYPT_AND_DECRYPT",e[e.NTP_TO_AUDIO_FRAME=1]="NTP_TO_AUDIO_FRAME",e[e.DUMP=2]="DUMP",e[e.ENCODE_AND_DECODE=3]="ENCODE_AND_DECODE",e))(ZM||{}),eL=(e=>(e.WebRTC="webrtc",e.WebCodecs="webcodecs",e.WebAssembly="webassembly",e))(eL||{}),tL=((rM=tL||{})[rM.SUCCESS=0]="SUCCESS",rM[rM.FAILED=1]="FAILED",rM[rM.WEBCODEC_INIT=2]="WEBCODEC_INIT",rM[rM.WEBCODEC_CONFIG_NOT_SUPPORT=3]="WEBCODEC_CONFIG_NOT_SUPPORT",rM[rM.WEBCODEC_DECODER_ERROR=4]="WEBCODEC_DECODER_ERROR",rM[rM.WEBCODEC_TRACK_MUTE=5]="WEBCODEC_TRACK_MUTE",rM[rM.WASM_INIT=6]="WASM_INIT",rM[rM.WASM_WEBGL_UNAVALIABLE=7]="WASM_WEBGL_UNAVALIABLE",rM[rM.WASM_DECODER_ERROR=8]="WASM_DECODER_ERROR",rM[rM.WASM_TRACK_MUTE=9]="WASM_TRACK_MUTE",rM[rM.TEST=10]="TEST",rM[rM.RENDER_2D_ERROR=11]="RENDER_2D_ERROR",rM),rL=(e=>(e.NONE="",e.DETAIL="detail",e.MOTION="motion",e.TEXT="text",e))(rL||{}),iL=(e=>(e.INTERVAL="interval",e.TIMEOUT="timeout",e.RAF="raf",e.RIC="ric",e.INTERVAL_IN_WORKER="intervalInWorker",e))(iL||{}),oL=(e=>(e.CANVAS="canvas",e.API="api",e))(oL||{}),nL=(e=>(e[e.NONE=0]="NONE",e[e.MICROPHONE=1]="MICROPHONE",e[e.CAMERA=2]="CAMERA",e[e.BOTH=3]="BOTH",e))(nL||{}),aL=(e=>(e.CAMERA="camera",e.MICROPHONE="microphone",e))(aL||{}),sL={AVOID_REPEATED_CALL:"AVOID_REPEATED_CALL",INVALID_PARAMETER_REQUIRED:"INVALID_PARAMETER_REQUIRED",INVALID_PARAMETER_TYPE:"INVALID_PARAMETER_TYPE",INVALID_PARAMETER_EMPTY:"INVALID_PARAMETER_EMPTY",INVALID_PARAMETER_INSTANCE:"INVALID_PARAMETER_INSTANCE",INVALID_PARAMETER_RANGE:"INVALID_PARAMETER_RANGE",INVALID_PARAMETER_MIN:"INVALID_PARAMETER_MIN",INVALID_PARAMETER_MAX:"INVALID_PARAMETER_MAX",INVALID_PARAMETER_STREAMTYPE:"INVALID_PARAMETER_STREAMTYPE",API_CALL_TIMEOUT:"API_CALL_TIMEOUT",SIGNAL_CHANNEL_RECONNECTION_FAILED:"SIGNAL_CHANNEL_RECONNECTION_FAILED",SIGNAL_CHANNEL_SETUP_FAILED:"SIGNAL_CHANNEL_SETUP_FAILED",ERROR_MESSAGE:"ERROR_MESSAGE",EXCHANGE_SDP_TIMEOUT:"EXCHANGE_SDP_TIMEOUT",DOWNLINK_RECONNECTION_FAILED:"DOWNLINK_RECONNECTION_FAILED",EXCHANGE_SDP_FAILED:"EXCHANGE_SDP_FAILED",UPDATE_OFFER_TIMEOUT:"UPDATE_OFFER_TIMEOUT",UPLINK_RECONNECTION_FAILED:"UPLINK_RECONNECTION_FAILED",INVALID_RECORDID:"INVALID_RECORDID",INVALID_PURE_AUDIO:"INVALID_PURE_AUDIO",INVALID_STREAMID:"INVALID_STREAMID",INVALID_USER_DEFINE_RECORDID:"INVALID_USER_DEFINE_RECORDID",INVALID_USER_DEFINE_PUSH_ARGS:"INVALID_USER_DEFINE_PUSH_ARGS",INVALID_PROXY:"INVALID_PROXY",INVALID_JOIN:"INVALID_JOIN",INVALID_ROOMID_STRING:"INVALID_ROOMID_STRING",INVALID_ROOMID_INTEGER:"INVALID_ROOMID_INTEGER",INVALID_SIGNAL_CHANNEL:"INVALID_SIGNAL_CHANNEL",JOIN_ROOM_TIMEOUT:"JOIN_ROOM_TIMEOUT",JOIN_ROOM_FAILED:"JOIN_ROOM_FAILED",REJOIN_ROOM_FAILED:"REJOIN_ROOM_FAILED",INVALID_DESTROY:"INVALID_DESTROY",INVALID_PUBLISH:"INVALID_PUBLISH",INVALID_UNPUBLISH:"INVALID_UNPUBLISH",INVALID_AUDIENCE:"INVALID_AUDIENCE",INVALID_INITIALIZE:"INVALID_INITIALIZE",INVALID_DUPLICATE_PUBLISHING:"INVALID_DUPLICATE_PUBLISHING",INVALID_SUBSCRIBE_UNDEFINED:"INVALID_SUBSCRIBE_UNDEFINED",INVALID_SUBSCRIBE_LOCAL:"INVALID_SUBSCRIBE_LOCAL",INVALID_REMOTE_STREAM:"INVALID_REMOTE_STREAM",SUBSCRIBE_FAILED:"SUBSCRIBE_FAILED",INVALID_ROLE:"INVALID_ROLE",INVALID_PARAMETER_SWITCH_ROLE:"INVALID_PARAMETER_SWITCH_ROLE",INVALID_OPERATION_SWITCH_ROLE:"INVALID_OPERATION_SWITCH_ROLE",SWITCH_ROLE_TIMEOUT:"SWITCH_ROLE_TIMEOUT",SWITCH_ROLE_FAILED:"SWITCH_ROLE_FAILED",CLIENT_BANNED:"CLIENT_BANNED",INVALID_OPERATION_START_PUBLISH_CDN:"INVALID_OPERATION_START_PUBLISH_CDN",INVALID_OPERATION_STOP_PUBLISH_CDN:"INVALID_OPERATION_STOP_PUBLISH_CDN",INVALID_STREAM_ID:"INVALID_STREAM_ID",START_PUBLISH_CDN_FAILED:"START_PUBLISH_CDN_FAILED",STOP_PUBLISH_CDN_FAILED:"STOP_PUBLISH_CDN_FAILED",START_MIX_TRANSCODE:"START_MIX_TRANSCODE",STOP_MIX_TRANSCODE:"STOP_MIX_TRANSCODE",INVALID_AUDIO_VOLUME:"INVALID_AUDIO_VOLUME",ENABLE_SMALL_STREAM_PUBLISHED:"ENABLE_SMALL_STREAM_PUBLISHED",DISABLE_SMALL_STREAM_PUBLISHED:"DISABLE_SMALL_STREAM_PUBLISHED",NOT_SUPPORTED_SMALL_STREAM:"NOT_SUPPORTED_SMALL_STREAM",INVALID_SMALL_STREAM_PROFILE:"INVALID_SMALL_STREAM_PROFILE",INVALID_PARAMETER_REMOTE_STREAM:"INVALID_PARAMETER_REMOTE_STREAM",INVALID_OPERATION_CHANGE_SMALL:"INVALID_OPERATION_CHANGE_SMALL",REMOTE_NOT_PUBLISH_SMALL_STREAM:"REMOTE_NOT_PUBLISH_SMALL_STREAM",INVALID_SWITCH_DEVICE:"INVALID_SWITCH_DEVICE",INVALID_SWITCH_DEVICE_PUBLISHING:"INVALID_SWITCH_DEVICE_PUBLISHING",INVALID_REPLACE_TRACK:"INVALID_REPLACE_TRACK",INVALID_INITIALIZE_LOCAL_STREAM:"INVALID_INITIALIZE_LOCAL_STREAM",INVALID_ADD_TRACK_REPETITIVE:"INVALID_ADD_TRACK_REPETITIVE",INVALID_ADD_TRACK_REMOVING:"INVALID_ADD_TRACK_REMOVING",INVALID_ADD_TRACK_PUBLISHING:"INVALID_ADD_TRACK_PUBLISHING",INVALID_STREAM_INITIALIZED:"INVALID_STREAM_INITIALIZED",INVALID_ADD_TRACK_NUMBER:"INVALID_ADD_TRACK_NUMBER",INVALID_REMOVE_AUDIO_TRACK:"INVALID_REMOVE_AUDIO_TRACK",INVALID_REMOVE_AUDIO_ADDING:"INVALID_REMOVE_AUDIO_ADDING",INVALID_REMOVE_AUDIO_ON:"INVALID_REMOVE_AUDIO_ON",INVALID_REMOVE_TRACK_PUBLISHING:"INVALID_REMOVE_TRACK_PUBLISHING",INVALID_REMOVE_TRACK_NOT_TRACK:"INVALID_REMOVE_TRACK_NOT_TRACK",INVALID_REMOVE_TRACK_NUMBER:"INVALID_REMOVE_TRACK_NUMBER",INVALID_REPLACE_TRACK_NO_TRACK:"INVALID_REPLACE_TRACK_NO_TRACK",REPEAT_JOIN:"REPEAT_JOIN",CLIENT_DESTROYED:"CLIENT_DESTROYED",NOT_BUG_PACKAGE:"NOT_BUG_PACKAGE",START_MIX_TRANSCODE_FAILED:"START_MIX_TRANSCODE_FAILED",STOP_MIX_TRANSCODE_FAILED:"STOP_MIX_TRANSCODE_FAILED",MIX_TRANSCODE_NOT_STARTED:"MIX_TRANSCODE_NOT_STARTED",CANNOT_LESS_THAN_ZERO:"CANNOT_LESS_THAN_ZERO",MIX_PARAMS_VIDEO_FRAMERATE:"MIX_PARAMS_VIDEO_FRAMERATE",MIX_PARAMS_VIDEO_GOP:"MIX_PARAMS_VIDEO_GOP",MIX_PARAMS_AUDIO_BITRATE:"MIX_PARAMS_AUDIO_BITRATE",MIX_PARAMS_USER_Z_ORDER:"MIX_PARAMS_USER_Z_ORDER",MIX_PARAMS_NOT_SELF:"MIX_PARAMS_NOT_SELF",MIX_PARAMS_USER_STREAM:"MIX_PARAMS_USER_STREAM",INVALID_PLAY:"INVALID_PLAY",INVALID_ELEMENT_ID:"INVALID_ELEMENT_ID",INVALID_ELEMENT_ID_TYPE:"INVALID_ELEMENT_ID_TYPE",PLAY_FAILED:"PLAY_FAILED",INVALID_USERID:"INVALID_USERID",INVALID_CREATE_STREAM_SOURCE:"INVALID_CREATE_STREAM_SOURCE",INVALID_CREATE_STREAM_SCREEN:"INVALID_CREATE_STREAM_SCREEN",INVALID_CREATE_STREAM_AUDIO:"INVALID_CREATE_STREAM_AUDIO",INVALID_CREATE_STREAM_SCREEN_AUDIO:"INVALID_CREATE_STREAM_SCREEN_AUDIO",NOT_SUPPORTED_HTTP:"NOT_SUPPORTED_HTTP",NOT_SUPPORTED_WEBRTC:"NOT_SUPPORTED_WEBRTC",NOT_SUPPORTED_PROFILE:"NOT_SUPPORTED_PROFILE",NOT_SUPPORTED_MEDIA:"NOT_SUPPORTED_MEDIA",NOT_SUPPORTED_H264ENCODE:"NOT_SUPPORTED_H264ENCODE",NOT_SUPPORTED_H264DECODE:"NOT_SUPPORTED_H264DECODE",NOT_SUPPORTED_TRACK:"NOT_SUPPORTED_TRACK",NOT_SUPPORTED_SWITCH_DEVICE:"NOT_SUPPORTED_SWITCH_DEVICE",NOT_SUPPORTED_CAPTURE:"NOT_SUPPORTED_CAPTURE",NOT_SUPPORTED_AUX:"NOT_SUPPORTED_AUX",MICROPHONE_NOT_FOUND:"MICROPHONE_NOT_FOUND",CAMERA_NOT_FOUND:"CAMERA_NOT_FOUND",SIGNAL_RESPONSE_FAILED:"SIGNAL_RESPONSE_FAILED",CATCH_HANDLER_ERROR:"CATCH_HANDLER_ERROR",API_NOT_EXIST:"API_NOT_EXIST",CONNECTION_CLOSED:"CONNECTION_CLOSED",SUBSCRIBE_ALL_FALSE:"SUBSCRIBE_ALL_FALSE",SEI_NOT_SUPPORT:"SEI_NOT_SUPPORT",SEI_DISABLED:"SEI_DISABLED",SEI_BEFORE_PUBLISH:"SEI_BEFORE_PUBLISH",SEI_NOT_VIDEO:"SEI_NOT_VIDEO",CALL_FREQUENCY_LIMIT:"CALL_FREQUENCY_LIMIT",CONNECTION_ABORTED:"CONNECTION_ABORTED",API_CALL_ABORTED:"API_CALL_ABORTED",DUPLICATE_AUX:"DUPLICATE_AUX"},cL={AVOID_REPEATED_CALL:e=>"previous ".concat(e.name,"() is ongoing, please avoid repeated calls."),INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' is a required param when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="";return a=Array.isArray(r.type)?r.type.join("|"):r.type,"'".concat(n,"' must be type of ").concat(a," when calling ").concat(i,"(), received type: ").concat(HD(o),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be '").concat(o,"' when calling ").concat(i,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="".concat(r.instanceOf.name||r.instanceOf);return"'".concat(n,"' must be instanceof ").concat(a," when calling ").concat(i,"(), received type: ").concat(HD(o),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' must be one of ").concat(r.values.join("|")," when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_MIN(e){let{key:t,rule:r,fnName:i,value:o}=e;return"the min value of ".concat(t||r.name," is ").concat(r.min,", received: ").concat(o,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:r,fnName:i,value:o}=e;return"the max value of ".concat(t||r.name," is ").concat(r.max,", received: ").concat(o,".")},API_CALL_TIMEOUT:e=>"".concat(e.commandDesc||e.command," timeout observed."),SIGNAL_CHANNEL_RECONNECTION_FAILED:"signal channel reconnection failed, please check your network.",SIGNAL_CHANNEL_SETUP_FAILED:e=>"SignalChannel setup failure: (errorCode: ".concat(e.errorCode,", errorMsg: ").concat(e.errorMsg," })."),ERROR_MESSAGE(e){let t="".concat(e.type," failed");return e.message&&(t="".concat(t,": ").concat(e.message,".")),t},EXCHANGE_SDP_TIMEOUT:"exchange sdp timeout.",DOWNLINK_RECONNECTION_FAILED:"downlink reconnection failed, please check your network and re-join room.",EXCHANGE_SDP_FAILED:e=>"exchange sdp failed ".concat(e.errMsg,"."),UPDATE_OFFER_TIMEOUT:"update offer timeout observed.",UPLINK_RECONNECTION_FAILED:"uplink reconnection failed, please check your network and publish again.",INVALID_RECORDID:"recordId must be an integer number.",INVALID_PURE_AUDIO:"pureAudioPushMode must be 1 or 2.",INVALID_STREAMID:"streamId must be a sting literal within 64 bytes, and not be empty.",INVALID_USER_DEFINE_RECORDID:"userDefineRecordId must be a sting literal contains (a-zA-Z),(0-9), underline and hyphen, within 64 bytes, and not be empty.",INVALID_USER_DEFINE_PUSH_ARGS:"userDefinePushArgs must be a sting literal within 256 bytes, and not be empty.",INVALID_PROXY:'proxy server url must start with "wss://".',INVALID_JOIN:"duplicate join() called.",INVALID_ROOMID_STRING:e=>"'".concat(e,"' must be validate string when useStringRoomId is true."),INVALID_ROOMID_INTEGER:e=>"'".concat(e,"' must be an integer between [1, 4294967294] when useStringRoomId is false."),INVALID_SIGNAL_CHANNEL:"SignalChannel is not ready yet.",JOIN_ROOM_TIMEOUT:"join room timeout.",JOIN_ROOM_FAILED(e){let{error:t,code:r}=e;return"Failed to join room - ".concat(t," code: ").concat(r)},REJOIN_ROOM_FAILED:e=>"reJoin room: ".concat(e.roomId," failed, please check your network."),INVALID_DESTROY:"please call leave() before destroy().",INVALID_PUBLISH:"please call join() before publish().",INVALID_UNPUBLISH:"stream has not been published yet.",INVALID_AUDIENCE:'no permission to publish() under live/audience, please call switchRole("anchor") firstly before publish().',INVALID_INITIALIZE:"cannot publish stream because stream is not initialized, is switching device, or has been closed.",INVALID_DUPLICATE_PUBLISHING:e=>"duplicate ".concat(e," stream publishing, please unpublish your prev ").concat(e," stream and then re-publish."),INVALID_SUBSCRIBE_UNDEFINED:"stream is undefined or null.",INVALID_SUBSCRIBE_LOCAL:"stream cannot be LocalStream.",INVALID_REMOTE_STREAM:"remoteStream does not exist because it has been unpublished by remote peer.",SUBSCRIBE_FAILED(e){let{message:t,userId:r,streamType:i}=e;return"failed to subscribe ".concat(r," ").concat(i," stream, reason: ").concat(t,".")},INVALID_ROLE:"switchRole can only be called in live mode.",INVALID_PARAMETER_SWITCH_ROLE:"role could only be set to a value as anchor or audience.",INVALID_OPERATION_SWITCH_ROLE:"please call join() before switchRole().",SWITCH_ROLE_TIMEOUT:"switchRole timeout.",SWITCH_ROLE_FAILED:e=>"switchRole failed, errCode: ".concat(e.code," errMsg: ").concat(e.message,"."),CLIENT_BANNED:e=>"client was banned because of ".concat(e.message,"."),INVALID_OPERATION_START_PUBLISH_CDN:"please call startPublishCDNStream() after join room and publish the local stream.",INVALID_OPERATION_STOP_PUBLISH_CDN:"please call startPublishCDNStream() before stopPublishCDNStream().",START_PUBLISH_CDN_FAILED:e=>"startPublishCDNStream failed, errMsg: ".concat(e.message,"."),STOP_PUBLISH_CDN_FAILED:e=>"stopPublishCDNStream failed, errMsg: ".concat(e.message,"."),INVALID_STREAM_ID:e=>"'".concat(e,"' can only consist of uppercase and lowercase english letters (a-zA-Z), numbers (0-9), hyphens and underscores."),START_MIX_TRANSCODE:"please call startMixTranscode() after join().",STOP_MIX_TRANSCODE:"please call stopMixTranscode() after startMixTranscode().",INVALID_AUDIO_VOLUME:"interval must be a number.",ENABLE_SMALL_STREAM_PUBLISHED:"Cannot enable small stream after localStream published.",DISABLE_SMALL_STREAM_PUBLISHED:"Cannot disable small stream after localStream published.",NOT_SUPPORTED_SMALL_STREAM:"your browser does not support opening small stream.",INVALID_SMALL_STREAM_PROFILE:"small stream profile is invalid.",INVALID_PARAMETER_REMOTE_STREAM:"remoteStream is invalid.",INVALID_OPERATION_CHANGE_SMALL:"cannot switch to the small stream without subscribing to the video of remoteStream.",REMOTE_NOT_PUBLISH_SMALL_STREAM:"remote peer does not publish small stream.",INVALID_SWITCH_DEVICE:"cannot switch device on current stream.",INVALID_SWITCH_DEVICE_PUBLISHING:"cannot switch device when publishing localStream.",INVALID_REPLACE_TRACK:"cannot replace track when publishing localStream.",INVALID_INITIALIZE_LOCAL_STREAM:"local stream has not initialized yet.",INVALID_ADD_TRACK_REPETITIVE:"previous addTrack is ongoing, please avoid repetitive execution.",INVALID_ADD_TRACK_REMOVING:"cannot add track when a track is removing.",INVALID_ADD_TRACK_PUBLISHING:"cannot add track when publishing localStream.",INVALID_STREAM_INITIALIZED:"your local stream haven't been initialized yet.",INVALID_ADD_TRACK_NUMBER:"a Stream has at most one audio track and one video track.",INVALID_REMOVE_AUDIO_TRACK:"remove audio track is not supported on your browser.",INVALID_REMOVE_AUDIO_ADDING:"cannot remove track when a track is adding.",INVALID_REMOVE_AUDIO_ON:"previous removeTrack is ongoing, please avoid repetitive execution.",INVALID_REMOVE_TRACK_PUBLISHING:"cannot remove track when publishing localStream.",INVALID_REMOVE_TRACK_NOT_TRACK:"localStream has not this track.",INVALID_REMOVE_TRACK_NUMBER:"remove the only video track is not supported, please use replaceTrack or muteVideo.",INVALID_REPLACE_TRACK_NO_TRACK:e=>"cannot replace ".concat(e.kind," track because stream has not ").concat(e.kind," track"),NOT_BUG_PACKAGE:"You need to buy packages, refer to tencent console.",START_MIX_TRANSCODE_FAILED:e=>"startMixTranscode failed, errMsg: ".concat(e.message,"."),STOP_MIX_TRANSCODE_FAILED:e=>"stopMixTranscode failed, errMsg: ".concat(e.message,"."),MIX_TRANSCODE_NOT_STARTED:"mixTranscode has not been started.",CANNOT_LESS_THAN_ZERO(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be less than 0 when calling ").concat(i,"().")},MIX_PARAMS_VIDEO_FRAMERATE:"'config.videoFramerate' should be an integer between 0 and 30, excluding 0.",MIX_PARAMS_VIDEO_GOP:"'config.videoGOP' should be an integer between 1 and 8.",MIX_PARAMS_AUDIO_BITRATE:"'config.audioBitrate' should be an integer between 32 and 192.",MIX_PARAMS_USER_Z_ORDER:e=>"'".concat(e,"' is required and must be between 1 and 15."),MIX_PARAMS_NOT_SELF:"'config.mixUsers' must contain self.",MIX_PARAMS_USER_STREAM:"'config.videoWidth' and 'config.videoHeight' of output stream should be contain all mix stream.",INVALID_PLAY:"duplicate play() call observed, please stop() firstly.",INVALID_ELEMENT_ID:e=>{let{key:t,fnName:r}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(r,"().")},INVALID_ELEMENT_ID_TYPE:e=>{let{key:t,fnName:r,type:i}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(r,"(), received: ").concat(i,".")},PLAY_FAILED:e=>"".concat(e.media," play failed, browser exception: ").concat(e.error.toString()),INVALID_USERID:"userId cannot be all spaces.",INVALID_CREATE_STREAM_SOURCE:"LocalStream must be created by createStream() with either audio/video or audioSource/videoSource, but can not be mixed with audio/video and audioSource/videoSource.",INVALID_CREATE_STREAM_SCREEN:"screen/video cannot be both true.",INVALID_CREATE_STREAM_AUDIO:"audio/screenAudio cannot be both true.",INVALID_CREATE_STREAM_SCREEN_AUDIO:"when screen is true, screenAudio can be configured.",NOT_SUPPORTED_HTTP:"http protocol does not support the ability to capture microphone, camera and screen. please use https to deploy your page.",NOT_SUPPORTED_WEBRTC:"your browser or environment does not support full WebRTC capabilities.",NOT_SUPPORTED_PROFILE:"your browser does not support setVideoProfile.",NOT_SUPPORTED_MEDIA:"your browser or environment does not support navigator.mediaDevices.",NOT_SUPPORTED_H264ENCODE:"your device does not support H.264 encoding.",NOT_SUPPORTED_H264DECODE:"your device does not support H.264 decoding.",NOT_SUPPORTED_TRACK:e=>"".concat(e,"Track is not supported on your browser."),NOT_SUPPORTED_SWITCH_DEVICE:"switchDevice is not supported on your browser.",NOT_SUPPORTED_CAPTURE:"Your browser or environment does not support screen sharing, please check whether the browser version.",MICROPHONE_NOT_FOUND:"no microphone detected, please check your microphone.",CAMERA_NOT_FOUND:"no camera detected, please check your camera.",SIGNAL_RESPONSE_FAILED:e=>"".concat(e.signalResponse," failed, response code is ").concat(e.code," , errMsg: ").concat(e.message,"."),CATCH_HANDLER_ERROR(e){let{name:t,event:r}=e;return"an error was caught in ".concat(t,".on('").concat(r,"', handler), please check your code in 'handler'.")},API_NOT_EXIST(e){let{name:t}=e;return"experimental api ".concat(t," does not exist.")},REPEAT_JOIN:e=>"please avoid repeated join.",CONNECTION_CLOSED:"remoteStream has been unsubscribed or unpublished by remote user.",SUBSCRIBE_ALL_FALSE:"cannot subscribe when both audio & video are false, use client.unsubscribe() instead",CLIENT_DESTROYED(e){let{funName:t}=e;return"failed to call ".concat(t,"() because client was destroyed.")},SEI_NOT_SUPPORT:e=>"not support to sendSEIMessage".concat(!1===e?" without using h264 codec":""),SEI_DISABLED:"SEI is disabled",SEI_BEFORE_PUBLISH:"please call sendSEIMessage() after publish() success",SEI_NOT_VIDEO:"cannot send sei when localStream has not video.",CALL_FREQUENCY_LIMIT:e=>{let{isSize:t,name:r,timesInSecond:i,maxSizeInSecond:o}=e;return"api ".concat(r," call ").concat(t?"size":"times"," is over ").concat(t?"".concat(o," bytes"):i," in a second.")},CONNECTION_ABORTED:e=>"connection aborted due to: ".concat(e),API_CALL_ABORTED(e){let t;return t=e.message.includes("REMOTE_STREAM_NOT_EXIST")?"Subscribe ".concat(e.userId," ").concat(e.streamType," stream aborted, reason: remote user ").concat(e.userId," unpublished stream."):"API aborted, reason: ".concat(e.message),t},DUPLICATE_AUX:"only one auxiliary stream can be published in a room.",NOT_SUPPORTED_AUX:"publish auxiliary stream is not supported on your browser.",INVALID_PARAMETER_STREAMTYPE:e=>"'streamType' is required when 'userId' is not '*', calling ".concat(e,"()")},lL=(e,t)=>t?"".concat(xw,"/").concat(e,"/").concat(t):"".concat(xw,"/").concat(e,"/index.html"),dL=()=>{if(window.TRTC_ERROR_INFO&&window.TRTC_ERROR_LINK)return{TRTC_ERROR_INFO:window.TRTC_ERROR_INFO,TRTC_ERROR_LINK:window.TRTC_ERROR_LINK};let e=null==localStorage?void 0:localStorage.getItem(Ww);if(e){e=JSON.parse(e);let t=document.createElement("script");t.type="text/javascript",t.text=e.message,document.body.appendChild(t);let r=window.TRTC_ERROR_INFO,i=window.TRTC_ERROR_LINK;return document.body.removeChild(t),{TRTC_ERROR_INFO:r,TRTC_ERROR_LINK:i}}return{}};function uL(e){let{key:t,data:r,link:i,addDocLink:o=!0}=e,n="",a="",s="";WD(cL[t])?n=cL[t](r):GD(cL[t])&&(n=cL[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=dL();i?s="".concat(i.className,".html#").concat(i.fnName):l&&l[t]&&(WD(l[t])?s=l[t](r):GD(l[t])&&(s=l[t]));let d=n;return UD()&&(c&&c[t]&&(WD(c[t])?a=c[t](r):GD(c[t])&&(a=c[t])),a&&(d=o?"".concat(a,"\n请查看文档: ").concat(lL("zh-cn",s),"\n\n"):"".concat(a,"\n\n"),d+=n)),o&&(d+=" \nRefer to: ".concat(lL("en",s),"\n")),d}var hL,pL=rw(uw(),1),mL=class{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];ow(this,"countMap",new Map),ow(this,"distributionMap",new Map),ow(this,"version"),ow(this,"log",$O.createLogger({id:"kv"})),e&&(KO.on("102",(e=>{let{track:t,cost:r}=e;this.addSuccessEvent({key:t.kind===tC.AUDIO?501700:511700,cost:r})})),KO.on("103",(e=>{let{track:t,error:r}=e;this.addFailedEvent({key:t.kind===tC.AUDIO?501700:511700,error:r})})),KO.on("266",(e=>{let{enable:t}=e;this.log.info("".concat(t?"enable":"disable"," sso")),t?this.addSuccessEvent({key:525701}):this.addFailedEvent({key:525701})})))}getReportData(e,t){let r={msg_sdk_basic_info:{uint32_sdk_version:TN(this.version||Aw),uint32_terminal_type:15,bytes_device_name:"",bytes_os_version:"",uint32_framework:30,uint32_network_type:0},stats_count:[...this.countMap.entries()].map((e=>{let[t,r]=e;return{uint32_key:t,uint32_count:r}})),stats_distribution:[...this.distributionMap.entries()].map((e=>{let[t,r]=e;return{uint32_key:t,distribution_items:[...r.entries()].map((e=>{let[t,r]=e;return{uint32_item_key:t,uint32_item_value:r}}))}})),str_user_sig:e,bytes_report_token:t};return this.countMap.clear(),this.distributionMap.clear(),r}clear(){this.countMap.clear(),this.distributionMap.clear()}isEnumKey(e){let t=+String(e).slice(-3);return t>=700&&t<799}isErrorCodeKey(e){let t=+String(e).slice(-3);return t>=600&&t<699}isCountKey(e){let t=+String(e).slice(-3);return t>=0&&t<599}isNumberKey(e){let t=+String(e).slice(-3);return t>=800&&t<899}addCount(e){let{key:t,useUV:r=!1}=e;this.isCountKey(t)?r&&this.countMap.has(t)||this.countMap.set(t,(this.countMap.get(t)||0)+1):this.log.debug("".concat(t," is not count key, last 3 number should be 0~599"))}addEnum(e){let{key:t,value:r,useUV:i=!0}=e;var o;if(!this.isEnumKey(t))return this.log.debug("".concat(t," is not enum key, last 3 number should be 700~799"));if(i&&this.countMap.has(t))return;this.countMap.set(t,(this.countMap.get(t)||0)+1);let n=(null==(o=this.distributionMap)?void 0:o.get(t))||new Map;n.set(r,(n.get(r)||0)+1),this.distributionMap.set(t,n)}addNumber(e){let{key:t,value:r,split:i=100,useUV:o=!1,max:n=5e3}=e;var a;if(!this.isNumberKey(t))return this.log.debug("".concat(t," is not number key, last 3 number should be 800~899"));if(o&&this.countMap.has(t))return;r>n&&(r=n),this.countMap.set(t,(this.countMap.get(t)||0)+1);let s=(null==(a=this.distributionMap)?void 0:a.get(t))||new Map,c=0;if(zD(i))c=Math.floor(r/i);else for(let l=i.length-1;l>0;l--)if(r>i[l]){c=l;break}s.set(c,(s.get(c)||0)+1),this.distributionMap.set(t,s)}addSuccessEvent(e){let{key:t,cost:r,timeKey:i,split:o}=e;if(t&&(this.addEnum({key:t,value:1,useUV:!1}),r)){let e=+String(t).slice(-3);e<800&&e>=700?this.addNumber({key:i||t+100,value:r,split:o}):i||this.log.debug("time stat ignored, ".concat(t))}}addFailedEvent(e){let{key:t,error:r}=e;if(!t)return;let i=pw.UNKNOWN;r&&(zD(r)?i=r:(!jD(r.extraCode)||!jD(r.code))&&(i=r.extraCode||r.code)),this.addEnum({key:t,value:0,useUV:!1}),this.addEnum({key:t,value:Math.abs(i),useUV:!1})}},fL=(e=>(e[e.enterRoom=500700]="enterRoom",e[e.exitRoom=500701]="exitRoom",e[e.switchRole=500702]="switchRole",e[e.destroy=500703]="destroy",e[e.startLocalAudio=500704]="startLocalAudio",e[e.updateLocalAudio=500705]="updateLocalAudio",e[e.stopLocalAudio=500706]="stopLocalAudio",e[e.startLocalVideo=500707]="startLocalVideo",e[e.updateLocalVideo=500708]="updateLocalVideo",e[e.stopLocalVideo=500709]="stopLocalVideo",e[e.startScreenShare=500710]="startScreenShare",e[e.updateScreenShare=500711]="updateScreenShare",e[e.stopScreenShare=500712]="stopScreenShare",e[e.startRemoteVideo=500713]="startRemoteVideo",e[e.updateRemoteVideo=500714]="updateRemoteVideo",e[e.stopRemoteVideo=500715]="stopRemoteVideo",e[e.muteRemoteAudio=500716]="muteRemoteAudio",e[e.setRemoteAudioVolume=500717]="setRemoteAudioVolume",e[e.use=500718]="use",e[e.switchRoom=500719]="switchRoom",e[e.sendSEIMessage=5e5]="sendSEIMessage",e[e.sendCustomMessage=500001]="sendCustomMessage",e))(fL||{}),_L=(e=>(e[e.AudioMixer=550700]="AudioMixer",e[e.AIDenoiser=551700]="AIDenoiser",e[e.VirtualBackground=570700]="VirtualBackground",e[e.Beauty=571700]="Beauty",e[e.Watermark=572700]="Watermark",e[e.BasicBeauty=574700]="BasicBeauty",e[e.CDNStreaming=590700]="CDNStreaming",e[e.DeviceDetector=591700]="DeviceDetector",e[e.Debug=592700]="Debug",e[e.SmallStreamAutoSwitcher=593700]="SmallStreamAutoSwitcher",e[e.VideoMixer=594700]="VideoMixer",e[e.AudioProcessor=595700]="AudioProcessor",e))(_L||{}),gL=(e=>(e[e.AudioMixer=550701]="AudioMixer",e[e.AIDenoiser=551701]="AIDenoiser",e[e.VirtualBackground=570701]="VirtualBackground",e[e.Beauty=571701]="Beauty",e[e.Watermark=572701]="Watermark",e[e.BasicBeauty=574701]="BasicBeauty",e[e.CDNStreaming=590701]="CDNStreaming",e[e.DeviceDetector=591701]="DeviceDetector",e[e.Debug=592701]="Debug",e[e.SmallStreamAutoSwitcher=593701]="SmallStreamAutoSwitcher",e[e.VideoMixer=594701]="VideoMixer",e[e.AudioProcessor=595701]="AudioProcessor",e))(gL||{}),EL=(e=>(e[e.AudioMixer=550702]="AudioMixer",e[e.AIDenoiser=551702]="AIDenoiser",e[e.VirtualBackground=570702]="VirtualBackground",e[e.Beauty=571702]="Beauty",e[e.Watermark=572702]="Watermark",e[e.BasicBeauty=574702]="BasicBeauty",e[e.CDNStreaming=590702]="CDNStreaming",e[e.DeviceDetector=591702]="DeviceDetector",e[e.Debug=592702]="Debug",e[e.SmallStreamAutoSwitcher=593702]="SmallStreamAutoSwitcher",e[e.VideoMixer=594702]="VideoMixer",e[e.AudioProcessor=595702]="AudioProcessor",e))(EL||{}),vL=((hL=vL||{})[hL.DECODER_TYPE=514700]="DECODER_TYPE",hL[hL.DECODER_HW_SW=514701]="DECODER_HW_SW",hL[hL.DECODE_RESULT=514702]="DECODE_RESULT",hL[hL.DECODE_FAILED_OS=514703]="DECODE_FAILED_OS",hL[hL.DOWNGRADE_RESULT=514704]="DOWNGRADE_RESULT",hL[hL.DOWNGRADE_WEBCODECS_VIDEO=514705]="DOWNGRADE_WEBCODECS_VIDEO",hL[hL.DOWNGRADE_WEBCODECS_2D=514706]="DOWNGRADE_WEBCODECS_2D",hL[hL.DOWNGRADE_WASM_WEGBL=514707]="DOWNGRADE_WASM_WEGBL",hL[hL.DOWNGRADE_WASM_VIDEO=514708]="DOWNGRADE_WASM_VIDEO",hL[hL.DOWNGRADE_WASM_2D=514709]="DOWNGRADE_WASM_2D",hL[hL.DECODE_H264_RESULT=514710]="DECODE_H264_RESULT",hL[hL.DECODE_H265_RESULT=514711]="DECODE_H265_RESULT",hL[hL.DECODE_VP8_RESULT=514712]="DECODE_VP8_RESULT",hL[hL.DECODE_CAPABILITIES=514713]="DECODE_CAPABILITIES",hL[hL.RENDER_FREEZE_RATE=514850]="RENDER_FREEZE_RATE",hL[hL.DATA_FREEZE_RATE=514851]="DATA_FREEZE_RATE",hL[hL.VIDEO_CONSUME_RENDER_RATE=514852]="VIDEO_CONSUME_RENDER_RATE",hL),yL=new mL(!0),TL=new mL(!1),IL=yL,AL={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH265EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1,isH265DecodeSupported:!1}},SL=new Map([[dk,["Firefox",uk]],[fk,["Edg",_k]],[dO,["Chrome",pO]],[fO,["Safari",gO]],[Ik,["TBS",Ak]],[Sk,["XWEB",Rk]],[Dk&&ik,["WeChat",Nk]],[Lk,["QQ(Win)",Pk]],[Ok,["QQ(Mobile)",Mk]],[kk,["QQ(Mobile X5)",Mk]],[xk,["QQ(Mac)",Uk]],[Vk,["QQ(iPad)",Fk]],[qk,["MI",Yk]],[Jk,["HW",Qk]],[Zk,["Samsung",eO]],[tO,["OPPO",rO]],[iO,["VIVO",oO]],[pk,["EDGE",mk]],[Ek,["SogouMobile",vk]],[yk,["Sogou",Tk]]]);function RL(){let e=SL.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var bL=function(){return!(zk||pk||fk&&gk<80||dk&&hk<56)},wL=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder"].every((e=>e in window))},CL=function(){if(!navigator.mediaDevices)return NL()||$O.error(cL.NOT_SUPPORTED_MEDIA),!1;let e=["getUserMedia","enumerateDevices"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},DL=!1;function NL(){return"http:"===location.protocol&&!wO&&(DL||$O.error(uL({key:sL.NOT_SUPPORTED_HTTP})),DL=!0,!0)}var kL=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},OL=function(){return!(null==window||!window.MediaStreamTrackGenerator)},ML=function(){return aw(this,null,(function*(){var e,t,r;if(AL.detail.isH264EncodeSupported&&AL.detail.isVp8EncodeSupported)return{isH264EncodeSupported:AL.detail.isH264EncodeSupported,isVp8EncodeSupported:AL.detail.isVp8EncodeSupported,isH265EncodeSupported:AL.detail.isH265EncodeSupported};let i,o=!1,n=!1,a=!1;try{let s=new RTCPeerConnection,c=document.createElement(tC.CANVAS);c.getContext("2d");let l=c.captureStream(0);return s.addTrack(l.getVideoTracks()[0],l),i=yield s.createOffer(),o=-1!==(null==(e=i.sdp)?void 0:e.toLowerCase().indexOf("h264")),n=-1!==(null==(t=i.sdp)?void 0:t.toLowerCase().indexOf("vp8")),a=-1!==(null==(r=i.sdp)?void 0:r.toLowerCase().indexOf("h265")),s.close(),{isH264EncodeSupported:o,isVp8EncodeSupported:n,isH265EncodeSupported:a}}catch(aM){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH265EncodeSupported:!1}}}))},LL=function(){return aw(this,null,(function*(){var e;if(AL.detail.isH264DecodeSupported&&AL.detail.isVp8DecodeSupported)return{isH264DecodeSupported:AL.detail.isH264DecodeSupported,isVp8DecodeSupported:AL.detail.isVp8DecodeSupported,isH265DecodeSupported:AL.detail.isH265DecodeSupported};let t,r=!1,i=!1;try{let o=new RTCPeerConnection;eP()?(o.addTransceiver(tC.VIDEO,{direction:"recvonly"}),t=yield o.createOffer()):t=yield o.createOffer({offerToReceiveVideo:!0}),-1!==t.sdp.toLowerCase().indexOf("h264")&&(r=!0),-1!==t.sdp.toLowerCase().indexOf("vp8")&&(i=!0);let n=-1!==(null==(e=t.sdp)?void 0:e.toLowerCase().indexOf("h265"));return o.close(),{isH264DecodeSupported:r,isVp8DecodeSupported:i,isH265DecodeSupported:n}}catch(sM){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1,isH265DecodeSupported:!1}}}))};var PL=SN((e=>aw(void 0,null,(function*(){let t=Date.now(),r=pP(),i=CL(),o=wL();if(AL.detail.isWebRTCSupported=r,AL.detail.isMediaDevicesSupported=i,AL.detail.isWebCodecsSupported=o,AL.detail.isScreenShareSupported=UL(),AL.detail.isSmallStreamSupported=JL(),37===e)return Object.assign(AL.detail,yield function(){return aw(this,null,(function*(){return BL||(BL=new Promise((e=>aw(this,null,(function*(){let t={isH264EncodeSupported:!1,isH264DecodeSupported:!1,isVp8EncodeSupported:!1,isVp8DecodeSupported:!1};if(!wL())return void e(t);let r=null,i=null,o=null,n=()=>{o&&clearTimeout(o),r=null,i=null};try{r=document.createElement("canvas"),i=r.getContext("2d"),r.width=320,r.height=240;let a=0,s=()=>{!i||!r||(i.fillStyle="hsl(".concat(a%360,", 50%, 50%)"),i.fillRect(0,0,r.width,r.height),i.fillStyle="white",i.font="20px Arial",i.fillText("Frame ".concat(a),10,30),a++)};o=setTimeout((()=>{n(),e(t)}),5e3);let c=[{type:"h264",encodeConfig:{codec:"avc1.42E01E",avc:{format:"annexb"},width:320,height:240,bitrate:1e6},decodeConfig:{codec:"avc1.42E01E",avc:{format:"annexb"}}},{type:"vp8",encodeConfig:{codec:"vp8",width:320,height:240,bitrate:1e6},decodeConfig:{codec:"vp8"}}];(yield Promise.all(c.map((e=>aw(this,null,(function*(){let t,i={type:e.type,encodeSupported:!1,decodeSupported:!1};try{t=yield new Promise(((t,o)=>aw(this,null,(function*(){try{let n=new VideoEncoder({output:e=>{t(e),i.encodeSupported=!0},error:o});n.configure(e.encodeConfig),s();let a=new VideoFrame(r,{timestamp:0});n.encode(a,{keyFrame:!0}),a.close(),yield n.flush(),n.close()}catch(hM){o(hM)}}))))}catch(p){return $O.warn("".concat(e.type," encoder error:"),p),i}try{yield new Promise(((r,o)=>aw(this,null,(function*(){try{let n=new VideoDecoder({output:e=>{i.decodeSupported=!0,r(0),e.close()},error:o});n.configure(e.decodeConfig),n.decode(t),yield n.flush(),n.close()}catch(hM){o(hM)}}))))}catch(p){$O.warn("".concat(e.type," decoder error:"),p)}return i})))))).forEach((e=>{"h264"===e.type?(t.isH264EncodeSupported=e.encodeSupported,t.isH264DecodeSupported=e.decodeSupported):"vp8"===e.type&&(t.isVp8EncodeSupported=e.encodeSupported,t.isVp8DecodeSupported=e.decodeSupported)})),n(),e(t)}catch(a){n(),$O.warn("detectWebCodecsSupported failed:",a),e(t)}})))),BL)}))}()),AL.detail.isBrowserSupported=o,AL.result=i&&o,AL.result||$O.error("".concat(navigator.userAgent," ").concat(gN(AL.detail,!1))),yP(e),IL.addNumber({key:523800,value:Date.now()-t}),AL;if(AL.result&&AL.detail.isH264EncodeSupported&&AL.detail.isVp8EncodeSupported&&AL.detail.isH265EncodeSupported&&AL.detail.isH264DecodeSupported&&AL.detail.isVp8DecodeSupported&&AL.detail.isH265DecodeSupported)return AL;let n=bL(),{encode:a,decode:s}=yield function(){return aw(this,null,(function*(){let[e,t]=yield Promise.all([ML(),LL()]);return{encode:{h264:e.isH264EncodeSupported,vp8:e.isVp8EncodeSupported,h265:e.isH265EncodeSupported},decode:{h264:t.isH264DecodeSupported,vp8:t.isVp8DecodeSupported,h265:t.isH265DecodeSupported}}}))}(),{h264:c,vp8:l}=a,{h264:d}=s,{h265:u}=a,{vp8:h,h265:p}=s;if(!c||!l){let e=yield ML();$O.warn("detect encode again h264:".concat(c," vp8:").concat(l," result: ").concat(JSON.stringify(e))),c=e.isH264EncodeSupported,l=e.isVp8EncodeSupported}if(c&&d&&ak&&lO&&!Sk&&!Ik&&(!tO||115!==hO)){let{encode:e,decode:t}=yield function(){return aw(this,null,(function*(){return FL||(FL=new Promise((e=>aw(this,null,(function*(){let t={encode:!1,decode:!1},r=()=>{};try{let i=document.createElement("canvas"),o=i.getContext("2d");i.width=640,i.height=480;let n=setInterval((()=>{o.fillText("test",Math.floor(640*Math.random()),Math.floor(480*Math.random()))}),66),a=-1,s=-1;r=()=>{clearInterval(a),clearInterval(n),clearTimeout(s),l.close(),d.close(),c.getTracks().forEach((e=>e.stop()))},s=setTimeout((()=>{r(),e(t)}),2e3);let c=i.captureStream(),l=new RTCPeerConnection({}),d=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0});l.addEventListener("icecandidate",(e=>d.addIceCandidate(e.candidate))),d.addEventListener("icecandidate",(e=>l.addIceCandidate(e.candidate))),l.addTrack(c.getVideoTracks()[0],c);let u=yield l.createOffer();yield l.setLocalDescription(u),yield d.setRemoteDescription(u);let h=yield d.createAnswer(),p=pL.default.parse(h.sdp),m=p.media[0].rtp.findIndex((e=>"H264"===e.codec));p.media[0].rtp=[p.media[0].rtp[m]],p.media[0].fmtp=p.media[0].fmtp.filter((e=>e.payload===p.media[0].rtp[0].payload)),p.media[0].rtcpFb&&(p.media[0].rtcpFb=p.media[0].rtcpFb.filter((e=>e.payload===p.media[0].rtp[0].payload))),h.sdp=pL.default.write(p),yield d.setLocalDescription(h),yield l.setRemoteDescription(h),a=setInterval((()=>aw(this,null,(function*(){t.encode&&t.decode&&(r(),e(t));let[i,o]=yield Promise.all([l.getSenders()[0].getStats(),d.getReceivers()[0].getStats()]);t.encode||i.forEach((e=>{"outbound-rtp"===e.type&&e.mediaType===tC.VIDEO&&e.bytesSent>0&&(t.encode=!0)})),t.decode||o.forEach((e=>{"inbound-rtp"===e.type&&e.mediaType===tC.VIDEO&&e.bytesReceived>0&&(t.decode=!0)}))}))),100)}catch(i){r(),$O.warn("detectH264Supported failed",i),e({encode:!0,decode:!0})}})))).then((e=>(e.encode||(e.decode=!0),(!e.encode||!e.decode)&&$O.warn("detectH264Supported encode: ".concat(e.encode," decode: ").concat(e.decode," ").concat(MO)),e))),FL)}))}();c=e,d=t}return AL.result=n&&r&&i&&(c||l)&&(d||h),AL.detail.isBrowserSupported=n,AL.detail.isWebRTCSupported=r,AL.detail.isH264EncodeSupported=c,AL.detail.isVp8EncodeSupported=l,AL.detail.isH265EncodeSupported=u,AL.detail.isH264DecodeSupported=d,AL.detail.isVp8DecodeSupported=h,AL.detail.isH265DecodeSupported=p,AL.result||$O.error("".concat(navigator.userAgent," ").concat(gN(AL.detail,!1))),yP(),IL.addNumber({key:523800,value:Date.now()-t}),AL})))),xL=function(){return AL.result},UL=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},VL="undefined"!=typeof HTMLMediaElement&&"setSinkId"in HTMLMediaElement.prototype,FL=null;var BL=null;var HL=(e,t,r)=>{"http:"===location.protocol&&!wO&&(e[t]=()=>{throw new fw({code:pw.INVALID_OPERATION,message:cL.NOT_SUPPORTED_HTTP})})},WL=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(KD(e.selected)&&!e.selected)};function jL(){let e="";if(screen.width){let t=screen.width?screen.width*window.devicePixelRatio:"",r=screen.height?screen.height*window.devicePixelRatio:"";e+="".concat(t," * ").concat(r)}return e}function GL(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function zL(){let e={isSupported:!1},t=["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"];for(let r=0;r<t.length;r++)if(t[r]in window){e.isSupported=!0;break}return e.isSupported}function KL(){return"captureStream"in HTMLCanvasElement.prototype}function qL(){return!(Dk||nk||hO&&hO<63)&&!(!bL()||!KL())}function YL(){return!(hO<74||pk||IO<11||hk<46)}function JL(){return qL()||YL()}var XL=function(){if(jD(window.RTCRtpTransceiver)||!eP()||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;let e=null,t=!1;try{e=new RTCPeerConnection({sdpSemantics:PC}),e.addTransceiver(tC.AUDIO),t=!0}catch(Rw){}return null==e||e.close(),t};function $L(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function QL(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function ZL(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function eP(){return!(11===IO&&!bO)&&("RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype)}var tP=!(!eP()||lO&&hO<86);function rP(){return"RTCRtpTransceiver"in window&&"stop"in window.RTCRtpTransceiver.prototype}var iP="RTCRtpSender"in window;function oP(){return iP&&"replaceTrack"in window.RTCRtpSender.prototype}function nP(){return iP&&"setParameters"in window.RTCRtpSender.prototype&&QL()}var aP="RTCRtpReceiver"in window&&"getSynchronizationSources"in window.RTCRtpReceiver.prototype,sP=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,cP=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,lP="undefined"!=typeof InputDeviceInfo&&"getCapabilities"in InputDeviceInfo.prototype,dP=iP&&"createEncodedStreams"in window.RTCRtpSender.prototype&&sO()>=86,uP="RTCRtpScriptTransform"in window,hP=iP&&(dP||uP),pP=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter((e=>e in window)).length>0};function mP(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return jD(window.AudioDecoder)||(e.AudioDecoder=!0),jD(window.AudioEncoder)||(e.AudioEncoder=!0),jD(window.VideoDecoder)||(e.VideoDecoder=!0),jD(window.VideoEncoder)||(e.VideoEncoder=!0),jD(window.ImageDecoder)||(e.ImageDecoder=!0),e}function fP(){return"mediaSession"in navigator&&!jD(navigator.mediaSession.setActionHandler)}function _P(){return!jD(window.WebTransport)}function gP(){return"undefined"!=typeof WebAssembly&&WebAssembly.validate(new Uint8Array([0,97,115,109,1,0,0,0,1,5,1,96,0,1,123,3,2,1,0,10,10,1,8,0,65,0,253,15,253,98,11]))}function EP(){let e={browser:"".concat(DO.name,"/").concat(DO.version),os:FO(),displayResolution:jL(),isScreenShareSupported:UL(),isWebRTCSupported:pP(),isGetUserMediaSupported:GL(),isWebAudioSupported:zL(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:mP(),isMediaSessionSupported:fP(),isWebTransportSupported:_P()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var vP="checkResult";function yP(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30;ZO.setItem(vP+e,{ua:navigator.userAgent,checkResult:AL})}function TP(e){NL();let t=ZO.getItem(vP+e);t&&t.ua===navigator.userAgent&&t.checkResult&&function(e,t){return!!qD(e)&&Object.keys(t).every((t=>t in e))}(t.checkResult.detail,AL.detail)&&(AL=t.checkResult),PL(e)}function IP(){return"requestVideoFrameCallback"in HTMLVideoElement.prototype}var AP="RTCRtpReceiver"in window&&"jitterBufferTarget"in window.RTCRtpReceiver.prototype;function SP(e){return{h264:1,h265:2,vp8:3,vp9:4,av1:5}[e]}var RP=!1;function bP(){return aw(this,null,(function*(){var e;try{if(RP||null==(e=null==navigator?void 0:navigator.mediaCapabilities)||!e.encodingInfo)return;let t=BO(),r=HO();if(0===t||0===r)return;RP=!0;let i=["H264","VP8","VP9","AV1","H265"],[o,n]=yield Promise.all([wP(i),CP(i)]);o&&Object.keys(o).forEach((e=>{let i=SP(e.toLowerCase());IL.addEnum({key:513707,value:+"".concat(i).concat(+o[e].supported).concat(+o[e].powerEfficient).concat(t).concat(r),useUV:!1})})),n&&Object.keys(n).forEach((e=>{let i=SP(e.toLowerCase());IL.addEnum({key:514713,value:+"".concat(i).concat(+n[e].supported).concat(+n[e].powerEfficient).concat(t).concat(r),useUV:!1})}))}catch(nM){$O.info("detectVideoCodecCapabilities failed",nM)}}))}function wP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1920,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1080,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3e3;return aw(this,null,(function*(){let n={};try{for(let a of e){let e=yield navigator.mediaCapabilities.encodingInfo({type:"webrtc",video:{contentType:"video/".concat(a),width:t,height:r,bitrate:o,framerate:i}});n[a]=e}}catch(bw){}return n}))}function CP(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1920,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1080,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:30,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:3e3;return aw(this,null,(function*(){let n={};try{for(let a of e){let e=yield navigator.mediaCapabilities.decodingInfo({type:"webrtc",video:{contentType:"video/".concat(a),width:t,height:r,bitrate:o,framerate:i}});n[a]=e}}catch(bw){}return n}))}function DP(){let e={sender:new Set,receiver:new Set,senderHex:new Set,receiverHex:new Set};try{if(RTCRtpSender&&"function"==typeof RTCRtpSender.getCapabilities){let t=RTCRtpSender.getCapabilities("video");t&&t.codecs&&t.codecs.filter((e=>"video/h264"===e.mimeType.toLowerCase())).forEach((t=>{if(t.sdpFmtpLine){let r=t.sdpFmtpLine.match(/profile-level-id=([0-9a-fA-F]+)/);if(r&&r[1]){let t=r[1];e.senderHex.add(t);let i=parseInt(t,16);isNaN(i)||e.sender.add(i)}}}))}if(RTCRtpReceiver&&"function"==typeof RTCRtpReceiver.getCapabilities){let t=RTCRtpReceiver.getCapabilities("video");t&&t.codecs&&t.codecs.filter((e=>"video/h264"===e.mimeType.toLowerCase())).forEach((t=>{if(t.sdpFmtpLine){let r=t.sdpFmtpLine.match(/profile-level-id=([0-9a-fA-F]+)/);if(r&&r[1]){let t=r[1];e.receiverHex.add(t);let i=parseInt(t,16);isNaN(i)||e.receiver.add(i)}}}))}}catch(nM){$O.warn("get H264 profile levelId failed",nM)}return e}var NP=rw(sw(),1),kP=Symbol("instance"),OP=Symbol("cacheResult"),MP=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,VP.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},LP=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var PP=new Map;function xP(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i,o,n)=>{let a=r.action||o;if(!r.context){let r=PP.get(i)||[];PP.has(i)||PP.set(i,r),r.push({from:e,to:t,action:a})}let s=n.value;n.value=function(){let i=this;for(var o=arguments.length,n=new Array(o),c=0;c<o;c++)n[c]=arguments[c];if(r.context&&(i=FP.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[OP]:Promise.resolve(i[OP]);i.state instanceof MP&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof MP&&i.state.abort(i):("string"!=typeof i.state||!e.includes(i.state))&&(l=new LP(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(l=new LP(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let d=e=>{if(r.fail&&r.fail.call(this,e),r.sync){if(r.ignoreError)return e;throw e}return r.ignoreError?Promise.resolve(e):Promise.reject(e)};if(l)return d(l);let u=i.state,h=new MP(u,t,a);VP.call(i,h);let p=e=>{var o;return i[OP]=e,h.aborted||(VP.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[OP])),e},m=e=>(VP.call(i,u,e),d(e));try{let e=s.apply(this,n);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(p).catch(m):r.sync?p(e):Promise.resolve(p(e))}catch(uM){return m(new LP(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(uM),uM instanceof Error?uM:new Error(String(uM))))}}}}var UP="undefined"!=typeof window&&window.__AFSM__?(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))}:"undefined"!=typeof importScripts?(e,t)=>{postMessage({type:e,payload:t})}:()=>{};function VP(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(FP.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var FP=class e extends NP.default{constructor(t,r,i){super(),this.name=t,this.groupName=r,this._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),r||(this.groupName=this.constructor.name);let o=i[kP];o?this.name=o.name+"-"+o.count++:i[kP]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=PP.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);PP.has(a)&&(a.stateDiagram.forEach((e=>r.add(e))),a.allStates.forEach((e=>n.add(e)))),t.forEach((e=>{let{from:t,to:r,action:n}=e;"string"==typeof t?i.push({from:t,to:r,action:n}):t.length?t.forEach((e=>{i.push({from:e,to:r,action:n})})):o.push({to:r,action:n})})),i.forEach((e=>{let{from:t,to:i,action:o}=e;n.add(t),n.add(i),n.add(o+"ing"),r.add("".concat(t," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(i," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(t," : ").concat(o," 🔴"))})),o.forEach((e=>{let{to:t,action:i}=e;r.add("".concat(i,"ing --\x3e ").concat(t," : ").concat(i," 🟢")),n.forEach((e=>{e!==t&&r.add("".concat(e," --\x3e ").concat(i,"ing : ").concat(i))}))}));let s=[...r];return Object.defineProperties(e,{stateDiagram:{value:s},allStates:{value:n}}),s}static get(t){let r;return"string"==typeof t?(r=e.instances.get(t),r||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype)))):(r=e.instances2.get(t),r||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype)))),r}static getState(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}updateDevTools(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};UP(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){VP.call(this,e)}};FP.STATECHANGED="stateChanged",FP.UPDATEAFSM="updateAFSM",FP.INIT="[*]",FP.ON="on",FP.OFF="off",FP.instances=new Map,FP.instances2=new WeakMap;var BP="undefined"!=typeof window,HP=BP&&window.requestIdleCallback||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},WP=BP&&window.cancelIdleCallback||function(e){clearTimeout(e)},jP=BP&&(window.cancelAnimationFrame||window.mozCancelAnimationFrame),GP=class e{static generateTaskID(){return this.currentTaskID++}static run(e,t,r){null!=r&&r.fps&&(r.delay=r.delay||Number((1e3/r.fps).toFixed(2))),r=Qb("interval"===e?{delay:2e3,count:0,backgroundTask:!0}:"ric"===e?{delay:1e4,count:0}:"raf"===e?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0},r);let i=Zb(Qb({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:e,callback:t},r),{delay:r.delay});return this.taskMap.set(i.taskID,i),this[e](i),i.taskID}static interval(t){return t.intervalID=setInterval((()=>{t.callback(),t.loopCount+=1,e.isBreakLoop(t)}),t.delay)}static intervalInWorker(t){e.sharedWorker||(e.sharedWorker=new Worker(URL.createObjectURL(new Blob(["\n const timers = new Map();\n self.onmessage = function(e) {\n const { taskId, delay, type } = e.data;\n if (type === 'start') {\n timers.set(taskId, setInterval(() => {\n self.postMessage({ type: 'tick', taskId });\n }, delay));\n } else if (type === 'stop') {\n clearInterval(timers.get(taskId));\n timers.delete(taskId);\n }\n };\n "],{type:"application/javascript"}))),e.sharedWorker.onmessage=t=>{var r;if("tick"===t.data.type){let i=e.workerTasks.get(t.data.taskId);i&&(e.isBreakLoop(i)?(null==(r=e.sharedWorker)||r.postMessage({type:"stop",taskId:i.taskID}),e.workerTasks.delete(i.taskID)):(i.callback(),i.loopCount+=1))}}),e.workerTasks.set(t.taskID,t),e.sharedWorker.postMessage({taskId:t.taskID,delay:t.delay,type:"start"})}static timeout(t){let r=()=>{if(t.callback(),t.loopCount+=1,!e.isBreakLoop(t))return t.timeoutID=setTimeout(r,t.delay)};return t.timeoutID=setTimeout(r,t.delay)}static ric(t){let r,i=iN(),o=()=>{if(r=iN()-i,r>=t.delay&&(i=iN()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),!e.isBreakLoop(t))return t.ricID=HP(o,{timeout:t.delay})};return t.ricID=HP(o,{timeout:t.delay})}static raf(t){let r,i=iN(),o=()=>document.hidden&&t.backgroundTask?(r=iN()-i,i=iN(),t.callback(),t.loopCount+=1,e.isBreakLoop(t)?void 0:t.timeoutID=setTimeout(o,t.delay-Math.floor(r%t.delay))):(r=iN()-i,r>=t.delay&&(i=iN()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),e.isBreakLoop(t)?void 0:t.rafID=requestAnimationFrame(o));if(t.rafID=requestAnimationFrame(o),t.backgroundTask){let e=()=>{if(document.hidden){let e=iN()-i;e>=t.delay?o():t.timeoutID=setTimeout(o,t.delay-e)}};document.addEventListener("visibilitychange",e),t.onVisibilitychange=e,document.hidden&&e()}return t.taskID}static hasTask(e){return this.taskMap.has(e)}static clearTask(e){if(!this.taskMap.has(e))return!0;let{intervalID:t,timeoutID:r,rafID:i,ricID:o,onVisibilitychange:n}=this.taskMap.get(e);return t&&clearInterval(t),r&&clearTimeout(r),i&&jP&&jP(i),o&&WP(o),n&&document.removeEventListener("visibilitychange",n),this.taskMap.delete(e),!0}static isBreakLoop(e){return!this.hasTask(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}};ow(GP,"taskMap",new Map),ow(GP,"currentTaskID",1),ow(GP,"sharedWorker",null),ow(GP,"workerTasks",new Map);var zP=GP;tC.SEI_MESSAGE;var KP={LOADED_DATA:tC.LOADEDDATA,LOADED_META_DATA:tC.LOADEDMETADATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed",ERROR:"error",RESIZE:tC.RESIZE,TIME_UPDATE:"time-update"},qP={};tw(qP,{create:()=>JP,remove:()=>XP});var YP=new WeakMap;function JP(e,t){YP.has(e)||YP.set(e,[]);let r=YP.get(e),i={add:(e,o)=>("addEventListener"in t?(r.push(t.removeEventListener.bind(t,e,o)),t.addEventListener(e,o)):(r.push(t.off.bind(t,e,o)),t.on(e,o)),i)};return i}function XP(e){let t=YP.get(e);t&&(t.forEach((e=>e())),YP.delete(e))}var $P=new class{constructor(){ow(this,"_roomIdMap",new Map),ow(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:Aw,env:Gw.QCLOUD,browserVersion:DO.name+DO.version,ua:navigator.userAgent})}setConfig(e){let{sdkAppId:t,env:r,userId:i,roomId:o}=e;t!==this._configs.sdkAppId&&(this._configs.sdkAppId=String(t)),this._configs.env=r,this._configs.userId=i,this._roomIdMap.set(i,String(o))}logSuccessEvent(e){wO||!$O.isAbleToUpload||this._configs.env===Gw.QCLOUD&&this.uploadEventToKibana(Zb(Qb({},e),{result:"success"}))}logFailedEvent(e){if(wO||!$O.isAbleToUpload)return;let{eventType:t,code:r,error:i,userId:o}=e,n={roomId:this._roomIdMap.get(o||this._configs.userId),userId:o,eventType:t,result:"failed",code:r||(null==i?void 0:i.extraCode)||(null==i?void 0:i.code)||pw.UNKNOWN};this._configs.env===Gw.QCLOUD&&this.uploadEventToKibana(Zb(Qb({},n),{error:i}))}uploadEventToKibana(e){let t="stat-".concat(e.eventType,"-").concat(e.result);("delta-join"===e.eventType||"delta-leave"===e.eventType||"delta-publish"===e.eventType)&&(t="".concat(e.eventType,":").concat(e.delta)),this.uploadEvent({log:t,userId:e.userId}),"failed"===e.result&&(t="stat-".concat(e.eventType,"-").concat(e.result,"-").concat(e.code),this.uploadEvent({log:t,userId:e.userId,error:e.error}))}uploadEvent(e){let{log:t,userId:r,error:i}=e,o={timestamp:Ew(),sdkAppId:this._configs.sdkAppId,userId:r||this._configs.userId,version:Aw,log:t};i&&(o.errorInfo=i.message,i.stack&&(o.errorInfo+="\n".concat(i.stack)));let n=JO.enable?ON(o,2002,Number(this._configs.sdkAppId)):JSON.stringify(o);this.sendRequest(RD(this._configs.sdkAppId,jw.LOG),n)}sendRequest(e,t){setTimeout((()=>BN({url:e,body:t,priority:"low"}).catch((()=>{}))),2e3)}},QP=new WeakMap;function ZP(e){let{settings:t={retries:5,timeout:2e3},onError:r,onRetrying:i,onRetryFailed:o}=e;return function(e,n,a){let s=KN({retryFunction:a.value,settings:t,onError(t){let{error:i,retry:o,reject:a,retryFuncArgs:s}=t;var c;r?r.call(this,i,(()=>{var t;null!=(t=QP.get(e))&&t.has(n)?o():a(i)}),a,s):null!=(c=QP.get(e))&&c.has(n)?o():a(i)},onRetrying(t,r){var o;jN(i)&&i.call(this,t,r),null!=(o=QP.get(e))&&o.has(n)&&(QP.get(e).get(n).stopRetry=r)},onRetryFailed:o});return a.value=function(){let t=QP.get(e);for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return t?t.set(n,{args:i}):QP.set(e,new Map([[n,{args:i}]])),s.apply(this,i).finally((()=>{var t;return null==(t=QP.get(e))?void 0:t.delete(n)}))},a}}var ex=class extends FP{constructor(e,t){super(e.id,"".concat(t,"-player")),this.options=e,this.kind=t,ow(this,"id"),ow(this,"element",null),ow(this,"track"),ow(this,"url"),ow(this,"attr"),ow(this,"mode"),ow(this,"muted"),ow(this,"_log"),ow(this,"_isPausedByUserCall",!1),ow(this,"_pausedRetryCount"),ow(this,"_isElementPlayingFired",!1),ow(this,"_interval"),ow(this,"_delayDestroyTimeoutId",0),ow(this,"_playSuccessResolve"),ow(this,"_isReplayByRecreateMediaStreamCalled",!1),ow(this,"isInAutoPlayFailedState",!1),this.id=e.id,this._log=e.log,this.track=e.track,this.muted=e.muted,this._pausedRetryCount=qC,this._state="STOPPED",this.bindTrackEvents(),this._log.info("create ".concat(t,"-player ").concat(this.id))}get isPlaying(){var e;return"PLAYING"===this._state&&!1===(null==(e=this.element)?void 0:e.paused)}get isPaused(){var e;return"PAUSED"===this._state||!0===(null==(e=this.element)?void 0:e.paused)}get isStopped(){return"STOPPED"===this._state}setAttr(e){this.attr=e}setUrl(e){this.track&&(this.unbindTrackEvents(),this.element&&(this.element.srcObject=null),this.track=null),e!==this.url&&(this.url=e,null!==e&&this.element&&(this.element.crossOrigin="anonymous",this.element.src=e))}play(){return aw(this,null,(function*(){if(!this.isPlaying)try{this._delayDestroyTimeoutId&&(clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0,this.bindTrackEvents(),this.bindElementEvents()),this.bindAutoPlayEvent(),yield new Promise(((e,t)=>{this._playSuccessResolve=e,this.element.play().then(e,t)}))}catch(Rw){let t=uL({key:sL.PLAY_FAILED,data:{media:this.kind,error:Rw}});if(this._log.warn(Rw),t.includes("NotAllowedError"))throw this.isInAutoPlayFailedState=!0,new fw({code:pw.PLAY_NOT_ALLOWED,message:t})}}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;this._isElementPlayingFired=!1,this.unbindEvents(),e>0&&!_O?this._delayDestroyTimeoutId||(null==(t=this.element)||t.remove(),this._log.info("destroy element after 3 * ".concat(e)),this._delayDestroyTimeoutId=setTimeout((()=>this.destroyElement()),3*e)):this.destroyElement(),this.handleStopped(tC.ENDED),this._interval>0&&zP.clearTask(this._interval)}destroyElement(){this.element&&(this._log.debug("destroy element"),this.element.remove(),this.element.src="",this.element.srcObject=null,this.element=null),clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0}pause(){var e;this._log.info("pause"),null==(e=this.element)||e.pause(),this._isPausedByUserCall=!0,this instanceof Sx&&lO&&hO>=128&&this.setPoster(this.getVideoFrame())}resume(){return this._isPausedByUserCall=!1,this.doResume()}doResume(){return this._log.info("resume"),this._isPausedByUserCall||this.isPlaying?Promise.resolve():SO?this.replay():(this.element&&this.track&&lO&&hO>=128&&(this.element.srcObject=new MediaStream([this.track])),this.play().catch((()=>{})))}setMuted(e){this.element&&(this.element.muted=e),this.muted=e}replay(){return this.stop(),this.play().catch((()=>{}))}bindElementEvents(){if(this.element){let e=this.handleElementEvent.bind(this);return JP(this.element,this.element).add(tC.PLAYING,e).add(tC.ENDED,e).add(tC.PAUSE,e).add(tC.ERROR,e).add(tC.LOADEDDATA,e).add(tC.LOADEDMETADATA,e)}}bindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;if(e){let t=this.handleTrackEvent.bind(this);null==qP||qP.create(e,e).add(tC.ENDED,t).add(tC.MUTE,t).add(tC.UNMUTE,t),e.readyState===tC.ENDED&&this.handleTrackEvent({type:tC.ENDED}),e.muted&&this.handleTrackEvent({type:tC.MUTE})}}bindAutoPlayEvent(){KO.on(YO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;e&&XP(e)}unbindEvents(){this.element&&XP(this.element),this.unbindTrackEvents(),KO.off(YO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){switch(e.type){case tC.PLAYING:vx()||(this.isInAutoPlayFailedState=!1),this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying(tC.PLAYING),this._interval&&(zP.clearTask(this._interval),this._interval=-1);break;case tC.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped(tC.ENDED);break;case tC.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused(tC.PAUSE),nk&&(this._interval=zP.run("timeout",(()=>{this.element&&"PAUSED"===this._state&&this.doResume()}),{delay:3e3}));break;case tC.ERROR:if(this.element&&this.element.error){this.handlePaused(tC.ERROR);let{code:e,message:t}=this.element.error;this._log.error("".concat(this.kind," ").concat(this._log.isLocal?"local":"remote"," MediaError code: ").concat(e," message: ").concat(t," userAgent: ").concat(navigator.userAgent)),$P.uploadEvent({log:"stat-".concat(this.kind,"-").concat(kC.PLAYER_ERROR,"-").concat(e,"-").concat(navigator.userAgent),error:this.element.error}),$k||Xk?this.emit(KP.ERROR,this.element.error):this.replayByRecreateMediaStream(this.element.error)}break;case tC.LOADEDDATA:this.kind===tC.VIDEO&&this.emit(KP.LOADED_DATA);break;case tC.LOADEDMETADATA:this.kind===tC.VIDEO&&this.emit(KP.LOADED_META_DATA)}}replayByRecreateMediaStream(e){if(!this._isReplayByRecreateMediaStreamCalled)return this._isReplayByRecreateMediaStreamCalled=!0,this.doReplayByRecreateMediaStream(1e3).then((()=>{this._log.warn("replayByRecreateMediaStream success"),$P.uploadEvent({log:"stat-replayByRecreateMediaStream-success"}),IL.addSuccessEvent({key:this.kind===tC.AUDIO?506700:516700})})).catch((()=>{var t;this._log.error("replayByRecreateMediaStream failed"),$P.uploadEvent({log:"stat-replayByRecreateMediaStream-failed"}),IL.addFailedEvent({key:this.kind===tC.AUDIO?506700:516700,error:null==(t=this.element)?void 0:t.error}),this.emit(KP.ERROR,e)}))}doReplayByRecreateMediaStream(e){return this._log.warn("delay ".concat(e,"ms to recreate mediaStream")),new Promise(((t,r)=>{AN(e).then((()=>{this.element&&(this.element.srcObject=null,this.element.srcObject=new MediaStream([this.track]),this._log.warn("recreated mediaStream"),this.element.onerror=()=>{var e,t,i;this._log.warn("element onerror ".concat(null==(t=null==(e=this.element)?void 0:e.error)?void 0:t.code," fired after recreated mediaStream")),r(null==(i=this.element)?void 0:i.error)}),AN(5e3).then((()=>{var e,i;(!this.isPlaying||null!=(e=this.element)&&e.error)&&r(null==(i=this.element)?void 0:i.error),t()}))}))})).finally((()=>{this.element&&(this.element.onerror=null)}))}handleTrackEvent(e){return aw(this,null,(function*(){switch(e.type){case tC.ENDED:this.handleStopped(tC.ENDED);break;case tC.MUTE:this.handlePaused(tC.MUTE);break;case tC.UNMUTE:this.mode>0?this.handlePlaying(this.mode.toString()):this.element&&(this.element.paused&&(this._log.warn("track unmuted and element is paused, resume"),yield this.doResume()),!this.element.paused&&this._isElementPlayingFired&&this.handlePlaying(tC.UNMUTE))}}))}handlePlaying(e){var t;return this._log.debug("handlePlaying",e),null==(t=this._playSuccessResolve)||t.call(this,e),e}handlePaused(e){return this._log.debug("handlePaused",e),e}handleStopped(e){return this._log.debug("handleStopped",e),e}getElement(){return this.element}};ow(ex,"PlayerEvent",KP),iw([ZP({settings:{retries:2,timeout:0},onError(e,t,r,i){i[0]=(i[0]||1e3)+1e3,t()}})],ex.prototype,"doReplayByRecreateMediaStream",1),iw([xP([],"PLAYING",{sync:!0,success(e){this.emit(KP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}})],ex.prototype,"handlePlaying",1),iw([xP("PLAYING","PAUSED",{ignoreError:!0,sync:!0,success(e){this.emit(KP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}})],ex.prototype,"handlePaused",1),iw([xP([],"STOPPED",{sync:!0,success(e){this.emit(KP.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}})],ex.prototype,"handleStopped",1);var tx,rx="trtc_autoplay",ix="".concat(rx,"_mask"),ox="".concat(rx,"_wrapper"),nx="".concat(rx,"_header"),ax="".concat(rx,"_content"),sx="".concat(rx,"_action_wrapper"),cx="".concat(rx,"_question"),lx="".concat(rx,"_collapse"),dx="".concat(rx,"_action_confirm"),ux="".concat(rx,"_detail"),hx="#2473E8",px="dialog",mx="".concat(px,"-show"),fx="".concat(px,"-1"),_x="".concat(px,"-2"),gx=!1,Ex=!1,vx=()=>Ex,yx="".concat(xw,"/").concat(UD()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),Tx="<br><a href='".concat(yx,"' target='_blank'>").concat(UD()?"其他方案?":"Any other solution?","</a>"),Ix="".concat(UD()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(Tx):"Autoplay Policy: Before user interacts with the web page (clicking, touching), page will not be allowed to play media with sound. This Dialog is used to help users resume playback. ".concat(Tx)),Ax=class{constructor(){if(ow(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),ow(this,"_dialogNode",null),ow(this,"_bodyPosition",""),ow(this,"_showDetail",!1),ow(this,"_isCollapseClicked",!1),ow(this,"_isQuestionClicked",!1),UD()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!gx){let e=document.createElement("style");e.innerHTML=".".concat(ix,"{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;display:flex;justify-content:center;align-items:center;background:rgba(0,0,0,0.5);z-index:1500;}.").concat(ix," div:not(.").concat(sx,"){display:block !important;}.").concat(ox,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(ox," a{color:").concat(hx,";}.").concat(nx,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(ax,"{margin:8px 0;}.").concat(sx,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(lx,"{margin-right:auto;cursor:pointer}.").concat(cx,"{height:100%;line-height:16px;cursor:pointer;}.").concat(dx,"{margin-left:8px;color:#fff;background:").concat(hx,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(dx,":hover{opacity:0.9;}.").concat(lx,",.").concat(dx,",.").concat(ax,",.").concat(cx,"{font-size:14px;}@media screen and (max-width:750px){.").concat(ox,"{width:80vw;}}"),document.head.appendChild(e),gx=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement("template");e.innerHTML='<div class="'.concat(ix,"\"><div class='").concat(ox,"'><div class='").concat(nx,"'>").concat(location.host,"</div><div class='").concat(ax,"'>").concat(this.content,"</div><div class='").concat(ux,'\' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">').concat(Ix,"</div><div class='").concat(sx,"'></div></div></div>").trim();let t=document.createElement("button");t.className=dx,t.innerText=UD()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);let r=document.createElement("div");r.className=cx,r.innerHTML='<?xml version="1.0" encoding="UTF-8"?>\n <svg class="icon" width="18" height="18" p-id="2030" t="1639646523624" version="1.1" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg">\n <path d="m464 784.35c0 26.51 21.49 48 48 48s48-21.49 48-48-21.49-48-48-48-48 21.49-48 48z" p-id="2031"/>\n <path d="m512 960c-247.04 0-448-200.96-448-448s200.96-448 448-448 448 200.96 448 448-200.96 448-448 448zm0-831.71c-211.58 0-383.71 172.13-383.71 383.71 0 211.55 172.13 383.71 383.71 383.71 211.55 0 383.71-172.16 383.71-383.71 0-211.58-172.16-383.71-383.71-383.71z" p-id="2032"/>\n <path d="m512 673.7c-17.665 0-32.001-14.336-32.001-31.999v-54.112c0-52.353 40-92.352 75.328-127.65 25.887-25.92 52.672-52.672 52.672-74.017 0-53.343-43.072-96.735-95.999-96.735-53.823 0-95.999 41.536-95.999 94.559 0 17.665-14.336 31.999-32.001 31.999s-32.001-14.336-32.001-31.999c0-87.424 71.775-158.56 160-158.56s160 72.095 160 160.74c0 47.904-36.32 84.192-71.424 119.3-27.84 27.776-56.576 56.512-56.576 82.336v54.112c0 17.665-14.336 32.032-32.001 32.032z" p-id="2033"/>\n </svg>\n ',r.onclick=this.onQuestionClick.bind(this);let i=document.createElement("div");i.className=lx,i.innerText="".concat(UD()?"详情 >":"Detail >"),i.onclick=this.onCollapseClick.bind(this);let o=e.content.firstChild,n=o.querySelector(".".concat(sx));return n.appendChild(i),n.appendChild(r),n.appendChild(t),o}addDiaLog(){vx()||(Ex=!0,this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(ox)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position="fixed",$O.info("show autoplay dialog"),$P.uploadEvent({log:mx}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null,Ex=!1)}onConfirm(){$O.warn("confirm clicked, try resume stream"),KO.emit(YO.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(".".concat(ux));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||$P.uploadEvent({log:fx}),this._isCollapseClicked=!0}onQuestionClick(){window.open(yx,"_blank"),this._isQuestionClicked||$P.uploadEvent({log:_x}),this._isQuestionClicked=!0}},Sx=class extends ex{constructor(e){super(e,tC.VIDEO),ow(this,"stat",{}),ow(this,"_calculateTimeout",-1),ow(this,"viewMirror",!1),ow(this,"objectFit"),ow(this,"container"),ow(this,"canvas"),ow(this,"_preSize",{width:0,height:0}),this.mode=e.canvas?1:0,this.container=e.container,this.canvas=e.canvas,jD(e.viewMirror)||(this.viewMirror=e.viewMirror),jD(e.objectFit)||(this.objectFit=e.objectFit),this.initializeElement()}get isPlaying(){var e;return!("PLAYING"!==this._state||this.element&&this.element.paused)&&("live"===(null==(e=this.track)?void 0:e.readyState)&&!this.track.muted)}initializeElement(){var e;let t=document.createElement(tC.VIDEO);this.track&&2!==this.mode&&(t.srcObject=new MediaStream([this.track])),t.muted=!0,t.setAttribute("id","video_".concat(this.id)),t.setAttribute("style",this.styleAttribute),this.canvas&&this.canvas.setAttribute("style",this.styleAttribute),t.setAttribute("autoplay","autoplay"),t.setAttribute("playsinline","playsinline"),this.element=t,ak&&(t.poster="noposter"),null==(e=this.container)||e.appendChild(this.elementToRender),this.bindElementEvents(),this.calculateStat()}get styleAttribute(){let e="width: 100%; height: 100%; object-fit: ".concat(this.objectFit,";background-color: black;");return this.viewMirror&&(e+="transform: scaleX(-1);"),e}setContainer(e){var t;this.container=e,this.track&&this.elementToRender&&(null==(t=this.container)||t.appendChild(this.elementToRender))}bindElementEvents(){let e=super.bindElementEvents();this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add(tC.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(tC.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent).add(tC.RESIZE,this.handleElementEvent)}handleTrackEvent(e){var t;return e.type===tC.MUTE&&null!=(t=this.stat)&&t.fps&&(this.stat.fps=0),super.handleTrackEvent(e)}handleElementEvent(e){var t,r,i,o,n,a,s,c;if(2===this.mode)return;super.handleElementEvent(e);let l=e.type;if(l===tC.PAUSE&&(this.container&&document.getElementById(this.container.id)||this._log.warn("".concat(this.kind," player has been remove, element ID: ").concat(null==(t=this.container)?void 0:t.id)),this.container&&this.container!==document.getElementById(this.container.id)&&(this._pausedRetryCount=qC,this._log.info("view container ".concat(null==(r=this.container)?void 0:r.id," is recreated"))),this._pausedRetryCount>0&&!vx()&&!this._isPausedByUserCall&&(this._log.info("[".concat(qC-this._pausedRetryCount+1,"/").concat(qC,"] ").concat(this.kind," player auto resume when paused")),this.doResume(),this._pausedRetryCount--),this.stat.fps&&(this.stat.fps=0)),this.viewMirror&&this.element){let e=this.element.style.transform;l===tC.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace("scaleX(-1)",""):l===tC.LEAVE_PICTURE_IN_PICTURE&&!e.includes("scaleX")&&(this.element.style.transform="".concat(e," scaleX(-1)"))}l===tC.RESIZE&&(this._preSize.height!==(null==(i=this.element)?void 0:i.videoHeight)||this._preSize.width!==(null==(o=this.element)?void 0:o.videoWidth))&&(this._log.info("video size changed to ".concat(null==(n=this.element)?void 0:n.videoWidth,"x").concat(null==(a=this.element)?void 0:a.videoHeight)),this._preSize.height=(null==(s=this.element)?void 0:s.videoHeight)||0,this._preSize.width=(null==(c=this.element)?void 0:c.videoWidth)||0,this.emit(KP.RESIZE,{newWidth:this._preSize.width,newHeight:this._preSize.height}))}setCanvas(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;var r,i,o,n;this.canvas!==e&&(null==(r=this.canvas)||r.remove(),null==e||e.setAttribute("style",this.styleAttribute),this.canvas=e,this.mode=e?t:0,2===this.mode&&this.setTrack(e.captureStream().getVideoTracks()[0]),e?(null==(i=this.element)||i.remove(),null==(o=this.container)||o.appendChild(e)):this.element&&(null==(n=this.container)||n.appendChild(this.element)))}setAttr(e){let t=Object.assign({autoplay:"autoplay",playsinline:"playsinline",muted:!0},e);t.style=Object.assign({width:"100%",height:"100%"},t.style),super.setAttr(t)}get mirror(){return this.viewMirror}setRect(e,t){this.elementToRender&&(this.elementToRender.style.width="".concat(e,"px"),this.elementToRender.style.height="".concat(t,"px"))}setViewMirror(e){this.elementToRender&&(this.elementToRender.style.transform=e?"scaleX(-1)":""),this.viewMirror=e}setObjectFit(e){this.elementToRender&&(this.elementToRender.style.objectFit="".concat(e)),this.objectFit=e}setPoster(e){this.element&&(this.element.poster=e)}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;super.stop(e),null==(t=this.canvas)||t.remove()}play(){return this.element?this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender):this.initializeElement(),2===this.mode?Promise.resolve():super.play()}get elementToRender(){return this.canvas||this.element}setTrack(e){e!==this.track&&(this.unbindTrackEvents(),this.track=e,this.emit(KP.MEDIA_TRACK_CHANGED,e),null!==e&&(this.bindTrackEvents(),this.element&&2!==this.mode&&(this.element.srcObject=new MediaStream([e]),this.element.remove()),this.elementToRender&&this.elementToRender.parentElement!==this.container&&this.container&&this.container.append(this.elementToRender)))}getVideoFrame(){if(this.canvas)return this.canvas.toDataURL("image/png");if(!this.element)return"";let e=document.createElement("canvas");return e.width=this.element.videoWidth,e.height=this.element.videoHeight,e.getContext("2d").drawImage(this.element,0,0),e.toDataURL("image/png")}getElement(){return this.element}calculateStat(){try{if(IP()&&this.element&&this._calculateTimeout<0){let e=0,t=null,r=(i,o)=>{this.stat.width=o.width,this.stat.height=o.height,t&&(this.stat.fps=Math.round((o.presentedFrames-t.presentedFrames)/(i-e)*1e3)),e=i,t=o,this._calculateTimeout=-1,this.element&&(this._calculateTimeout=setTimeout((()=>{var e;return null==(e=this.element)?void 0:e.requestVideoFrameCallback(r)}),2e3))};this.element.requestVideoFrameCallback(r)}}catch(Rw){this._log.warn("init stat failed",Rw)}}};function Rx(e,t){return aw(this,null,(function*(){if(!e.audioWorklet)return Promise.reject("audioWorklet is not supported");try{yield e.audioWorklet.addModule(t),$O.info("worklet addModule success")}catch(Rw){throw $O.info("worklet addModule catch error. ".concat(Rw.message)),Rw}}))}"undefined"!=typeof AudioContext?tx=AudioContext:"undefined"!=typeof webkitAudioContext?tx=webkitAudioContext:"undefined"!=typeof mozAudioContext&&(tx=mozAudioContext);var bx,wx=1500,Cx=-1,Dx=0,Nx=-1,kx=!1,Ox=0,Mx=-1,Lx=-1;!function e(){try{if(bx)return;(bx=new tx({sampleRate:48e3})).onstatechange=()=>{$O.info("context state: ".concat(bx.state).concat("running"!==bx.state?" visibilityState: ".concat(document.visibilityState):"")),Px()},clearTimeout(Cx)}catch(SH){$O.error("initAudioContext failed: ".concat(SH," typeof AudioContextClass: ").concat(typeof tx)),Cx=setTimeout(e,1e3)}}();var Px=()=>{"suspended"===bx.state?(Dx=iN(),-1===Nx&&(Nx=setTimeout((()=>{"suspended"===bx.state&&(kx=!0,KO.emit("155",{isSuspended:!0}))}),wx)),Vx(),document.addEventListener("click",Px)):"interrupted"===bx.state?Vx():(Dx&&(IL.addNumber({key:507800,value:iN()-Dx,split:[0,500,1e3,1500,2e3,3e3,4e3,5e3,1e4,3e4],max:6e4}),Dx=0),-1!==Nx&&(clearTimeout(Nx),Nx=-1,kx&&(kx=!1,KO.emit("155",{isSuspended:!1}))),document.removeEventListener("visibilitychange",Px),document.removeEventListener("click",Px))},xx=0,Ux=-1;function Vx(){return new Promise(((e,t)=>{if("running"===bx.state)return e();Date.now()-xx<1e3?(clearTimeout(Ux),Ux=setTimeout((()=>{xx=Date.now(),bx.resume().then(e,t)}),1e3)):(clearTimeout(Ux),xx=Date.now(),bx.resume().then(e,t))})).catch((e=>{$O.warn("context resume failed: ".concat(e)),document.addEventListener("visibilitychange",Px)}))}document.addEventListener("click",Px);var Fx=e=>bx,Bx=class{constructor(e){this.name=e,ow(this,"node"),ow(this,"node2"),ow(this,"pre",new Set),ow(this,"next",new Set),ow(this,"context"),ow(this,"connectedNodes",new Set),ow(this,"nextInputChannelMap",new Map),ow(this,"_channelCount",1)}get channelCount(){return this._channelCount}set channelCount(e){this._channelCount=e,this.setChannelCount(this.node,e),this.setChannelCount(this.node2,e),this.next.forEach((t=>t.channelCount=e))}setChannelCount(e,t){!e||e instanceof ScriptProcessorNode||(e.channelCountMode="explicit",e.channelCount=t||this.channelCount||1)}setContext(e){this.context=e,this.node&&e.addMixWeight()}removeContext(){var e;this.node&&(null==(e=this.context)||e.reduceMixWeight()),delete this.context}replaceNode(e){var t;if(e!==this.node)try{this.node?this._disconnect():null==(t=this.context)||t.addMixWeight(),this.node=e,this.setChannelCount(this.node),this.preNodeReconnect(),this.reconnect()}catch(DC){$O.error(DC)}}setNode(e,t){var r;if(!this.node)try{null==(r=this.context)||r.addMixWeight(),this.node=e,this.setChannelCount(this.node),t&&(this.node2=t,this.setChannelCount(this.node2)),this.preNodeReconnect(),this.reconnect(),IL.addSuccessEvent({key:502701})}catch(sM){$O.error(sM),IL.addFailedEvent({key:502701,error:sM})}}deleteNode(){var e;if(this.node)try{this._disconnect(),delete this.node,delete this.node2,null==(e=this.context)||e.reduceMixWeight(),this.preNodeReconnect(),IL.addSuccessEvent({key:502702})}catch(Rw){$O.error(Rw),IL.addFailedEvent({key:502702,error:Rw})}}preNodeReconnect(){this.pre.forEach((e=>{e.node?e.reconnect():e.preNodeReconnect()}))}connectNext(e){this.next.forEach((t=>{let r=this.nextInputChannelMap.get(t);e._connect(t.node,r)||t.connectNext(e)}))}_connect(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return!(!this.node||!e)&&((this.node2||this.node).connect(e,0,t),this.connectedNodes.add(e),!0)}_disconnect(){this.connectedNodes.forEach((e=>{var t;return null==(t=this.node2||this.node)?void 0:t.disconnect(e)})),this.connectedNodes.clear()}reconnect(){this._disconnect(),this.connectNext(this)}pipeTo(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return this.next.add(e),e.pre.add(this),this.nextInputChannelMap.set(e,t),e}},Hx=class extends Bx{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;super(),this.fftSize=e,ow(this,"dataArray",new Uint8Array(0))}setNode(e){e.fftSize=this.fftSize,this.dataArray=new Uint8Array(e.frequencyBinCount),super.setNode(e)}getByteTimeDomainData(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),this.dataArray}get level(){var e;return null==(e=this.node)||e.getByteTimeDomainData(this.dataArray),Math.max(...this.dataArray)/128-1}get timeDomainPathData(){let e=this.getByteTimeDomainData(),t=0,r=0,i="M".concat(t,",").concat(r);for(let o=0;o<e.length;o++)r=e[o]/128*100/2,i+="L".concat(t,",").concat(r),t+=1;return i}},Wx=class{constructor(){ow(this,"source",new Bx),ow(this,"gain",new Bx),ow(this,"destination",new Bx)}get volume(){var e;return(null==(e=this.gain.node)?void 0:e.gain.value)||1}setVolume(e){1!==e?(this.gain.node||this.gain.setNode(Fx().createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}replaceSource(e){let t=Kx(e);t&&this.source.replaceNode(t)}get track(){var e;return null==(e=this.stream)?void 0:e.getAudioTracks()[0]}get stream(){var e;return null==(e=this.destination.node)?void 0:e.stream}},jx=class extends Wx{constructor(e){super(),this.context=e,ow(this,"aec",new Bx("aec")),ow(this,"mixNode",new Bx("mixNode")),ow(this,"silentNode",new Bx("silentNode")),ow(this,"denoiser",new Bx("denoiser")),ow(this,"voiceChanger",new Bx("voiceChanger")),this.source.pipeTo(this.aec).pipeTo(this.denoiser).pipeTo(this.voiceChanger).pipeTo(this.gain).pipeTo(this.destination),this.silentNode.pipeTo(this.mixNode).pipeTo(this.aec,1)}get isProcessEnabled(){return this.aec.node||this.denoiser.node||this.voiceChanger.node||this.gain.node}connect(){this.context.inputs.has(this)||(this.destination.setNode(this.context.destination),this.source.setContext(this.context),this.aec.setContext(this.context),this.silentNode.setContext(this.context),this.mixNode.setContext(this.context),this.denoiser.setContext(this.context),this.voiceChanger.setContext(this.context),this.gain.setContext(this.context),this.context.inputs.add(this))}disconnect(){this.context.inputs.has(this)&&(this.destination.deleteNode(),this.source.removeContext(),this.aec.removeContext(),this.silentNode.removeContext(),this.mixNode.removeContext(),this.denoiser.removeContext(),this.voiceChanger.removeContext(),this.gain.removeContext(),this.context.inputs.delete(this))}remove(){this.gain.deleteNode(),this.aec.deleteNode(),this.silentNode.deleteNode(),this.mixNode.deleteNode(),this.denoiser.deleteNode(),this.voiceChanger.deleteNode(),this.source.deleteNode(),this.disconnect()}setVolume(e){1!==e?(this.gain.node||this.gain.setNode(this.context.audioContext.createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}},Gx=class{constructor(){ow(this,"audioContext",Fx()),ow(this,"destination",this.audioContext.createMediaStreamDestination()),ow(this,"inputs",new Set),ow(this,"mixWeight",0),this.destination.channelCount=1}addMixWeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.mixWeight+=e,this.mixWeight-1==e+1>>1&&this.mixOnChange()}reduceMixWeight(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1;this.addMixWeight(-e)}close(){this.inputs.forEach((e=>e.remove()))}get mixTrack(){return this.destination.stream.getAudioTracks()[0]}},zx=new WeakMap;function Kx(e){try{let t=zx.get(e);if(t)return t;let r=Fx();if(e instanceof HTMLAudioElement)t=r.createMediaElementSource(e);else{if(!(e instanceof MediaStreamTrack))return e;t=r.createMediaStreamSource(new MediaStream([e]))}return zx.set(e,t),t}catch(nM){if(!(dk&&nM instanceof Error&&"NotSupportedError"===nM.name))throw nM;$O.warn(nM)}}var qx=class e{constructor(e){ow(this,"_volume",0),ow(this,"_volumeDb",0),ow(this,"_log"),ow(this,"_scriptProcessorNode",null),ow(this,"_audioWorkletNode",null),ow(this,"_interval",200),ow(this,"ready",this.preload());let{log:t}=e;this._log=t,KO.on(YO.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}static get isRunning(){return Date.now()-e.lastMessageTime<2e3}get node(){return this._audioWorkletNode||this._scriptProcessorNode}preload(){if(!e.workletReady){let t='class VolumeMeterWorklet extends AudioWorkletProcessor{constructor(){super(),this.volume=0,this.intervalTime=200,this.tick=200,this.isStop=!1,this.cache=[],this.sentFirstInfo1=!1,this.unmute=!1,this.port.onmessage=t=>{var e=t.data;switch(e.name){case"chunk":this.cache.push(...e.data),this.sentFirstInfo1||(this.port.postMessage({cl:e.data.length}),this.sentFirstInfo1=!0);break;case"setIntervalTime":this.intervalTime=e.intervalTime;break;case"unmute":this.unmute=!0;break;case"stop":this.isStop=!0}}}process(t,s){t=t[0],s=s[0];if(t||s){if(this.isStop)return!1;var i=s&&s[0]?s[0].length:0,h=this.cache.length,a=(i<h?(s[0].set(this.cache.slice(0,i)),this.cache=this.cache.slice(i)):this.unmute&&s[0].set(t[0]),(i<h?s:t)[0]);if(a){let e=0;for(let t=0;t<a.length;++t)e=Math.max(Math.abs(a[t]),e);s=a.reduce((t,e)=>t+e*e,0)/a.length;this.volume=e,this.tick-=a.length,this.tick<0&&(this.tick+=this.intervalTime/1e3*sampleRate,this.port.postMessage({volume:this.volume,volumeDb:Math.max(10*Math.log10(s)+100,0)/100,cacheLen:h,outputLen:i}))}}return!0}}registerProcessor("volume-meter",VolumeMeterWorklet);';e.workletReady=Rx(e.audioContext,URL.createObjectURL(new Blob([t],{type:"application/javascript"})))}return e.workletReady.then((()=>this.initAudioWorklet())).catch((e=>(this._log.error("volumeMeter preload error: ".concat(e)),this.initScriptProcessor())))}initAudioWorklet(){if(!this._audioWorkletNode)try{this._audioWorkletNode=new AudioWorkletNode(e.audioContext,"volume-meter");let t=!1;this._audioWorkletNode.port.onmessage=r=>{e.lastMessageTime=Date.now(),this._volume=r.data.volume||0,this._volumeDb=r.data.volumeDb||0,!t&&r.data.cacheLen&&r.data.outputLen&&(this._log.warn("worklet play success"),t=!0)},this.handleAudioLevelInterval({interval:this._interval})}catch(nM){this._log.error("volumeMeter init audio worklet error: ".concat(nM)),$P.logFailedEvent({userId:this._log.userId,eventType:kC.LOAD_WORKLET,error:nM}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=Fx().createScriptProcessor(2048,1,1),this._scriptProcessorNode.onaudioprocess=t=>{e.lastMessageTime=Date.now();let r=t.inputBuffer.getChannelData(0),i=0;for(let e=0;e<r.length;++e)i+=r[e]*r[e];this._volume=Math.sqrt(i/r.length)||0}}catch(nM){this._log.error("volumeMeter init script processor error: ".concat(nM))}}destroy(){this._scriptProcessorNode&&(this._scriptProcessorNode.onaudioprocess=null),this._audioWorkletNode&&(this._audioWorkletNode.port.postMessage({name:"stop"}),this._audioWorkletNode.port.onmessage=null),this._audioWorkletNode=null,this._scriptProcessorNode=null,KO.off(YO.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this)}getInternalAudioLevel(){return this._volume}getCalculatedVolume(){return parseFloat(this._volume.toFixed(2))}getVolumeDb(){return Math.floor(100*this._volumeDb)}handleAudioLevelInterval(e){var t;let{interval:r}=e;this._interval=r,null==(t=this._audioWorkletNode)||t.port.postMessage({name:"setIntervalTime",intervalTime:r})}};ow(qx,"lastMessageTime",0),ow(qx,"audioContext",Fx()),ow(qx,"workletReady");var Yx=qx,Jx=class extends Bx{constructor(e){super(),ow(this,"_volumeMeter"),this._volumeMeter=new Yx(e)}deleteNode(){super.deleteNode(),this._volumeMeter.destroy()}init(){return aw(this,null,(function*(){yield this._volumeMeter.preload(),this.setNode(this._volumeMeter.node)}))}getCalculatedVolume(){return this._volumeMeter.getCalculatedVolume()}getInternalAudioLevel(){return this._volumeMeter.getInternalAudioLevel()}getVolumeDb(){return this._volumeMeter.getVolumeDb()}write(e){if(this.node){let t=e.allocationSize({planeIndex:0}),r=new Float32Array(t>>2);e.copyTo(r,{planeIndex:0}),this.node.port.postMessage({name:"chunk",data:r},[r.buffer]),e.close()}}},Xx=Yx,$x=rw(sw(),1),Qx=e=>t=>t.deviceId===e,Zx=class{constructor(e,t){ow(this,"kind"),ow(this,"type"),ow(this,"devices",[]),this.kind=e,this.type=t}update(e,t){let r=e.filter((e=>e.kind==="".concat(this.kind).concat(this.type.toLocaleLowerCase())));1===this.devices.length&&rU(this.devices[0])||t&&(r.forEach((e=>{if(e.deviceId&&!this.devices.find(Qx(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Added");$O.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!r.find(Qx(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Removed");$O.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}}))),this.devices=r}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},eU=class extends $x.EventEmitter{constructor(){super(),ow(this,"audioInputs",new Zx(tC.AUDIO,"Input")),ow(this,"videoInputs",new Zx(tC.VIDEO,"Input")),ow(this,"audioOutputs",new Zx(tC.AUDIO,"Output")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",(()=>this.update())),"ondevicechange"in navigator.mediaDevices||zP.run("interval",(()=>{this.update()}),{delay:1e4}))}init(){iU().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return aw(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){let r=yield iU(t);return e.audioInputs.update(r,e),e.videoInputs.update(r,e),e.audioOutputs.update(r,e),e}()}))}hasBlueTooth(){var e;if(1e3*(null==(e=Fx())?void 0:e.outputLatency)>150)return!0;let t=["bluetooth","air","wireless","bt","tws","buds","headset","headphone"];return this.audioOutputs.devices.some((e=>t.some((t=>e.label.toLowerCase().includes(t)))))||this.audioInputs.devices.some((e=>t.some((t=>e.label.toLowerCase().includes(t)))))}},tU=Cw||ww?null:new eU;function rU(e){return e.deviceId===e.groupId&&""===e.groupId}function iU(){return aw(this,arguments,(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){if(NL()||!CL())return[];let t=yield navigator.mediaDevices.enumerateDevices();if(0!==e){let r={audio:!1,video:!1};if(t.forEach((e=>{rU(e)&&(e.kind===tC.AUDIO_INPUT?r.audio=!0:e.kind===tC.VIDEO_INPUT&&(r.video=!0))})),2===e&&(r.audio=!1),1===e&&(r.video=!1),r.audio||r.video){let e;try{e=yield navigator.mediaDevices.getUserMedia(r),r.audio&&Vx()}catch(sM){$O.debug("capture before getDevices failed: ",sM)}t=yield navigator.mediaDevices.enumerateDevices(),null==e||e.getTracks().forEach((e=>e.stop()))}}return t.map(((e,t)=>{let r={kind:e.kind,deviceId:e.deviceId,groupId:e.groupId,label:e.label||"".concat(e.kind,"_").concat(t)};return e.deviceId.length>0&&cU.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(r.getCapabilities=()=>e.getCapabilities()),r}))}()}))}function oU(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return tU.update(e?1:0).then((e=>e.audioInputs.devices))}function nU(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return tU.update(e?2:0).then((e=>e.videoInputs.devices))}var aU=!1;function sU(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return aw(this,null,(function*(){return(nk||fO)&&(e=!1),tU.update(e?1:0).then((e=>e.audioOutputs.devices))}))}var cU=new Set;function lU(e,t){return aw(this,null,(function*(){let r=(yield oU()).find((e=>e.deviceId===YC));return!t&&(null==r?void 0:r.groupId)===e||(null==r?void 0:r.groupId)===e&&r.label===t}))}var dU,uU=class extends Wx{constructor(e){super(),this.log=e,ow(this,"volumeMeter"),ow(this,"volumeMeterAfter3A"),ow(this,"volumeDestination"),ow(this,"analyser",new Hx),this.volumeMeter=new Jx({log:this.log}),this.volumeMeterAfter3A=new Jx({log:this.log}),this.volumeDestination=new Bx,this.volumeMeter.pipeTo(this.volumeDestination)}destroy(){this.gain.deleteNode(),this.volumeMeter.deleteNode(),this.analyser.deleteNode(),this.source.deleteNode(),this.destination.deleteNode(),this.volumeDestination.deleteNode()}},hU=class e extends ex{constructor(e){super(e,tC.AUDIO),ow(this,"_outputDeviceId"),ow(this,"_volume",1),ow(this,"_destination",Fx().createMediaStreamDestination()),ow(this,"pipeline"),ow(this,"volumeMeterMode","worklet"),ow(this,"enableVolumeControlInIOS"),this.enableVolumeControlInIOS=e.enableVolumeControlInIOS,this.mode=0,e.url&&(this.url=e.url),this.pipeline=new uU(this._log)}get duration(){var e;return Math.floor(1e3*((null==(e=this.element)?void 0:e.duration)||0))}get currentTime(){var e;return Math.floor(1e3*((null==(e=this.element)?void 0:e.currentTime)||0))}set currentTime(e){this.element&&(this.element.currentTime=e/1e3)}getMediaStream(){return this.pipeline.stream||(this.track?new MediaStream([this.track]):null)}initializeElement(e){if(("15.2"===vO||"15.3"===vO||"15.4"===vO)&&this.muted)return void this._log.info("audioElement is muted.");let t=dU||new Audio;t.setAttribute("autoplay","autoplay"),t.srcObject=this.getMediaStream(),t.muted=this.muted,this.url&&(t.crossOrigin="anonymous",t.src=this.url),this.element=t,zD(e)&&(this.element.volume=Math.min(Math.max(e,0),1)),t===dU&&(dU=void 0),this.options.enableTimeupdateEvent&&(this.element.ontimeupdate=()=>this.emit(KP.TIME_UPDATE,this.currentTime)),this.bindElementEvents()}play(t){return aw(this,null,(function*(){if(this.track||this.url)return!this.pipeline.source.node&&this.track&&this.pipeline.replaceSource(this.track),this.element||this.initializeElement(null==t?void 0:t.volume),this._outputDeviceId&&(yield this.setSinkId(this._outputDeviceId)),"worklet"===this.volumeMeterMode?(this.pipeline.volumeMeter.init(),this.pipeline.volumeMeterAfter3A.init()):"analyser"===this.volumeMeterMode&&this.pipeline.analyser.setNode(Fx().createAnalyser()),function(){aw(this,null,(function*(){try{aU||(aU=!0,$O.info("speakers:".concat((yield sU()).map((e=>" ".concat(e.deviceId.slice(0,8),": ").concat(e.label))))))}catch(e){}}))}(),nw(e.prototype,this,"play").call(this)}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy(),super.stop(e)}setVolume(e){this._volume=e,this.element&&(this.element.volume=e)}setSinkId(e){return aw(this,null,(function*(){var t,r;this._outputDeviceId!==e&&(this._outputDeviceId=e),this.element&&this.element.sinkId!==e&&(yield null==(r=(t=this.element).setSinkId)?void 0:r.call(t,e))}))}get useDestination(){return!!this.pipeline.stream}setLoop(e){this.element&&(this.element.loop=e)}getAudioLevel(){return this.pipeline.volumeMeter.getCalculatedVolume()}getInternalAudioLevel(){return this.pipeline.volumeMeter.getInternalAudioLevel()}getInternalAudioLevelAfter3A(){return this.pipeline.volumeMeterAfter3A.getInternalAudioLevel()}},pU=class extends hU{setTrack(e){this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(KP.MEDIA_TRACK_CHANGED,e),e&&(this.bindTrackEvents(),this.element&&(this.element.srcObject=new MediaStream([e]))))}},mU=class extends hU{constructor(e){super(e),ow(this,"_sourceElement"),ow(this,"_output",new Bx),this.pipeline.source.pipeTo(this.pipeline.gain),this.pipeline.gain.pipeTo(this.pipeline.volumeMeter).pipeTo(this._output),this.pipeline.gain.pipeTo(this.pipeline.destination)}setOutput(){this.mode=1,this._output.setNode(Fx().destination)}write(e){this.pipeline.volumeMeter.write(e)}setTrack(e){var t,r,i;(null==(r=null==(t=this.element)?void 0:t.error)?void 0:r.code)!==MediaError.MEDIA_ERR_DECODE&&this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(KP.MEDIA_TRACK_CHANGED,e),e?(this.bindTrackEvents(),this._sourceElement?this._sourceElement.srcObject=new MediaStream([e]):!this.useDestination&&this.element&&(this.element.srcObject=new MediaStream([e])),this.pipeline.source.channelCount=(null==(i=e.getSettings())?void 0:i.channelCount)||1,this.pipeline.replaceSource(e)):this.pipeline.source.deleteNode())}setVolume(e){if(this._volume=e,this.useDestination)this.pipeline.setVolume(e),this._log.info("set pipeline volume: ".concat(e));else if(e<=1&&!nk)this.element?(this._log.info("set element volume: ".concat(e)),this.element.volume=e):this._log.info("set element volume: no element");else{if(nk){if(!this.enableVolumeControlInIOS)return;!function(){if(!nk||-1!==Lx)return;let e=()=>{iN()-Ox<500||(bx&&"running"===bx.state&&bx.currentTime===Mx&&($O.warn("context is fake running, auto resume"),bx.suspend().catch((e=>{$O.warn("context suspend failed: ".concat(e))}))),Mx=bx.currentTime,Ox=iN())};Lx=setInterval((()=>{e()}),2e3),document.addEventListener("visibilitychange",(()=>{"visible"===document.visibilityState&&e()}))}()}if(dk&&!this.pipeline.source.node)return void this._log.warn("set pipeline volume failed: no source node");this._log.info("start set pipeline volume: ".concat(e)),this.pipeline.setVolume(e),this.element&&!this._sourceElement&&(this.pipeline.destination.setNode(this._destination),XP(this.element),this._sourceElement=this.element,this._sourceElement.muted=!0,this.element=null,this.play())}}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.pipeline.destroy();let t=this._sourceElement||this.element;t&&_O&&(dU=t),this._sourceElement&&(this._sourceElement.srcObject=null,delete this._sourceElement),super.stop(e)}},fU=class extends FP{constructor(e){let{userId:t,sdkAppId:r,mediaType:i,room:o,PlayerClass:n=(1===i?mU:Sx)}=e;var a;super(),ow(this,"id",QO()),ow(this,"userId",""),ow(this,"isRemote"),ow(this,"mediaType"),ow(this,"room"),ow(this,"user"),ow(this,"_log"),ow(this,"_inputTrack"),ow(this,"_outputTrack"),ow(this,"isPlayCalled"),ow(this,"container",null),ow(this,"player"),ow(this,"subVideoPlayerMap"),ow(this,"muted",!1),ow(this,"abortCtrl"),ow(this,"objectFit","cover"),ow(this,"mirror"),ow(this,"rotation"),ow(this,"isScreen",!1),ow(this,"manager"),ow(this,"trackSettings"),ow(this,"isFirstVideoFrameEmitted",!1),this.userId=t||"",this.mediaType=i,this._log=$O.createLogger({id:"".concat(this.kind[0],"t"),userId:null==(a=o||this.room)?void 0:a.userId,remoteUserId:this instanceof QF?void 0:this.userId,sdkAppId:r,type:2===this.mediaType?"auxiliary":"main",isLocal:this instanceof QF}),this.player=new n({id:this.userId||this.id,track:null,muted:!1,container:null,log:this._log,enableVolumeControlInIOS:null==o?void 0:o.enableVolumeControlInIOS}),this.player.on(KP.PLAYER_STATE_CHANGED,(e=>{KO.emit(YO.PLAYER_STATE_CHANGED,Qb({track:this},e)),this.emit("player-state-changed",e)})),this.kind===tC.VIDEO&&(this.player.on(KP.LOADED_DATA,(()=>{this.emitFirstVideoFrameEvent(KP.LOADED_DATA),KO.emit(YO.VIDEO_LOADED_DATA,{track:this})})),this.player.on(KP.LOADED_META_DATA,(()=>{this.emitFirstVideoFrameEvent(KP.LOADED_META_DATA)})),this.player.on(KP.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))})),this.player.on(KP.RESIZE,(e=>{this.emitFirstVideoFrameEvent(KP.RESIZE),this.emit("video-size-changed",Qb({userId:this.userId,streamType:2===this.mediaType?"auxiliary":"main"},e))}))),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this),this.onPlayerError&&this.player.on(KP.ERROR,this.onPlayerError.bind(this))}get log(){return this._log||$O}get kind(){return 1===this.mediaType?tC.AUDIO:tC.VIDEO}get isAudio(){return this.kind===tC.AUDIO}get strMediaType(){return 4===this.mediaType?tC.VIDEO:2===this.mediaType?tC.SCREEN:tC.AUDIO}get streamType(){return 2&this.mediaType?"auxiliary":"main"}get isMediaTrackActive(){return!!this.mediaTrack&&(!this.mediaTrack.muted&&"live"===this.mediaTrack.readyState&&this.mediaTrack.enabled)}play(e,t){return aw(this,null,(function*(){let r=YD(e)?e[0]:e;if(this.isPlayCalled)return this.log.info("play update options: ".concat(JSON.stringify(t))),t&&!jD(t.muted)&&this.setPlayerMute(t.muted),t&&!jD(t.objectFit)&&(this.objectFit=t.objectFit),void(this.player instanceof Sx&&(this.player.setObjectFit(this.objectFit),this.container!==r&&r&&(this.container=r,this.player.setContainer(r)),YD(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!jD(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===tC.VIDEO)&&this.setPlayerMute(!0),t&&!jD(t.objectFit)&&(this.objectFit=t.objectFit),this.player instanceof Sx&&(this.player.setObjectFit(this.objectFit),t&&!jD(t.poster)&&this.player.setPoster(t.poster)),this.isPlayCalled=!0,r&&(this.container=r,this.player instanceof Sx&&this.player.setContainer(r)),KO.emit(YO.PLAY_TRACK_START,{track:this}),this._outputTrack){this._log.info("play with options: ".concat(JSON.stringify(t)));try{this.player.setTrack(this.playerMediaTrack),yield this.player.play(t),YD(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(dM){throw this.handleAutoPlayFailed(dM),dM}}else this.log.info("play has not mediaTrack, abort")}))}setMirror(e,t){if(this.isScreen||this.kind!==tC.VIDEO||jD(e)||e===this.mirror)return;this.mirror=e;let r=this.player;t&&(r=t);let i=this.manager;if(KD(this.mirror))return r.setViewMirror(this.mirror),void(!this.isRemote&&i&&(i.mirror=!1));switch(this.mirror){case"view":i&&(i.mirror=!1),r.setViewMirror(!0);break;case"publish":i&&(i.mirror=!0),r.setViewMirror(!0);break;case"both":i&&(i.mirror=!0),r.setViewMirror(!1)}}playSubContainer(e,t){return aw(this,null,(function*(){if(!this._outputTrack||this.kind===tC.AUDIO)return;this.subVideoPlayerMap||(this.subVideoPlayerMap=new Map),this.subVideoPlayerMap.forEach(((t,r)=>{var i;e.find((e=>r===e))||(t.stop(),null==(i=this.subVideoPlayerMap)||i.delete(r))}));for(let[i,o]of e.entries()){let e=this.subVideoPlayerMap.get(o);e?t&&(jD(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(o,new Sx({id:this.userId||this.id,track:this.playerMediaTrack,container:o,muted:this.player.muted,objectFit:this.objectFit,log:this.log.createChild({id:"vp-sub".concat(i+1)})}))}let r=[...this.subVideoPlayerMap.values()];for(let e of r)e.setViewMirror(this.player.mirror),yield e.play()}))}setAudioOutput(e){return this.player.setSinkId(e)}setAudioVolume(e){this.player.setVolume(e)}getAudioLevel(){return this.player.getAudioLevel()||0}getInternalAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getInternalAudioLevel())||0}stop(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.isPlayCalled&&(this.isPlayCalled=!1,this.player&&(this.log.info("stop ".concat(this.kind," player")),this.player.stop(GN(this)&&!e?this.jitterBufferDelay:0)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop()})),this.container=null)}resume(){return aw(this,null,(function*(){var e;this.isPlayCalled&&(yield null==(e=this.player)?void 0:e.resume())}))}close(){this.log.info("close"),this.isPlayCalled&&this.stop(!0)}setMute(e){this.muted=e,this._inputTrack&&(this._inputTrack.enabled=!e),this._outputTrack&&(this._outputTrack.enabled=!e),this.emit(e?"mute":"unmute",this),KO.emit(e?YO.TRACK_MUTED:YO.TRACK_UNMUTED,{track:this})}setPlayerMute(e){this.player.setMuted(e)}get mediaTrack(){return this._inputTrack||null}get outMediaTrack(){return this._outputTrack||null}get playerMediaTrack(){return this.outMediaTrack}installTrackEvent(e){JP(e,e).add(tC.MUTE,this.onTrackMuted).add(tC.UNMUTE,this.onTrackUnmuted).add(tC.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===tC.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){XP(e)}setInputMediaStreamTrack(e){var t;let r=this._inputTrack;if(e!==r)return this._inputTrack=e,this.trackSettings=null==(t=e.getSettings)?void 0:t.call(e),e.enabled=!this.muted,r&&this.uninstallTrackEvent(r),this.installTrackEvent(e),this.emit("input-media-track-changed",e||null,r||null),this.manager?this.manager.changeInput(this):this.setOutputMediaStreamTrack(e)}setOutputMediaStreamTrack(e){var t;e!==this._outputTrack&&(this.isRemote?this.log.debug("setOutputMediaStreamTrack",e.label):this.log.info("setOutputMediaStreamTrack",null==(t=e.getSettings)?void 0:t.call(e).deviceId,e.label),this._outputTrack=e,this._inputTrack&&(this._outputTrack.contentHint=this._inputTrack.contentHint,this._outputTrack.enabled=this._inputTrack.enabled),this.updatePlayingState(!!e),this.emit("output-media-track-changed",e))}setMediaType(e){this.mediaType=e}updatePlayingState(e){if(this.isPlayCalled)if(e){if(this.player.setTrack(this.playerMediaTrack),this.player.isStopped)return this.player.play().catch((e=>this.handleAutoPlayFailed(e))),void this.log.info("playing state updated, play ".concat(this.kind))}else if(!this.player.isStopped)return this.player.stop(GN(this)?this.jitterBufferDelay:0),void this.log.info("playing state updated, stop ".concat(this.kind));this.log.debug("updatePlayingState abort ".concat(this.isPlayCalled," ").concat(e," ").concat(this.player.isStopped))}handleAutoPlayFailed(e){if(this.room&&this.room.enableAutoPlayDialog)new Ax;else{let e=()=>{this.resume().then((()=>{document.removeEventListener("click",e,!0)}))};document.addEventListener("click",e,!0)}this.emit("error",e)}getVideoFrame(){return this.player instanceof Sx?this.player.getVideoFrame():""}emitFirstVideoFrameEvent(e){var t,r,i;if(this.isFirstVideoFrameEmitted)return;let o=null==(t=this.mediaTrack)?void 0:t.getSettings(),n=(null==o?void 0:o.width)||(null==(r=this.player.element)?void 0:r.videoWidth)||0,a=(null==o?void 0:o.height)||(null==(i=this.player.element)?void 0:i.videoHeight)||0;e===KP.RESIZE&&!n&&!a||e===KP.LOADED_META_DATA&&!n&&!a||(e===KP.LOADED_DATA&&!n&&!a&&this._log.warn("the dimension of video is 0x0 in first-video-frame event"),this.isFirstVideoFrameEmitted=!0,CN(this.rotation)&&([n,a]=[a,n]),this.emit("first-video-frame",{width:n,height:a,streamType:this.streamType,userId:this.isRemote?this.userId:""}))}onTrackMuted(){this._log.warn("".concat(this.kind," track is unable to provide media output"))}onTrackUnmuted(){this._log.info("".concat(this.kind," track is able to provide media output"))}onTrackEnded(){this._log.warn("".concat(this.kind," track ended"))}};iw([xP([],FP.INIT,{sync:!0})],fU.prototype,"close",1);var _U=Object.prototype.hasOwnProperty;var gU=function(e){if(null==e)return!0;if("boolean"==typeof e)return!1;if("number"==typeof e)return 0===e;if("string"==typeof e||"function"==typeof e||Array.isArray(e))return 0===e.length;if(e instanceof Error)return""===e.message;if(VD(e))switch(Object.prototype.toString.call(e)){case"[object File]":case"[object Map]":case"[object Set]":return 0===e.size;case"[object Object]":for(let t in e)if(_U.call(e,t))return!1;return!0}return!1},EU=KN({retryFunction:function(e){return aw(this,null,(function*(){let t=function(e){return{audio:yU(e),video:TU(e)}}(e);$O.info("getUserMedia with constraints: ".concat(JSON.stringify(t)));let r=[],i=[],o=["label","deviceId","groupId"];if(t.audio&&(r=yield oU(),$O.info("microphones: ".concat(_N(r.map((e=>Zb(Qb({},e),{groupId:e.groupId.substring(0,8)}))),{keysToInclude:o})))),t.video&&(i=yield nU(),$O.info("cameras: ".concat(_N(i,{keysToInclude:o}))),"user"===t.video.facingMode&&!t.video.deviceId)){let e=i.filter((e=>!e.label.includes("infrared"))).find((e=>e.label.includes("facing front")));e&&(t.video.deviceId=e.deviceId,$O.info("exclude infrared camera: ".concat(JSON.stringify(t))))}try{let r=yield navigator.mediaDevices.getUserMedia(t);return cP&&r.getTracks().forEach((t=>{var r;let i=t.getCapabilities();$O.info("".concat(t.kind," capabilities: ").concat(_N(i,{keysToInclude:tD}))),!jD(e.echoCancellation)&&-1===(null==(r=i.echoCancellation)?void 0:r.indexOf(e.echoCancellation))&&$O.warn("Invalid argument for 'echoCancellation'. Expected one of [".concat(JSON.stringify(i.echoCancellation),"], but received '").concat(e.echoCancellation,"'"))})),t.audio&&Vx(),r}catch(dM){let{message:o}=dM;throw"NotFoundError"===dM.name&&(e.video&&i&&0===i.length&&(o=uL({key:sL.CAMERA_NOT_FOUND})),e.audio&&r&&0===r.length&&(o=uL({key:sL.MICROPHONE_NOT_FOUND}))),new fw({code:pw.INITIALIZE_FAILED,name:dM.name,message:o,constraint:dM.constraint})}}))},settings:{retries:3,timeout:500},onError:e=>{let{error:t,retry:r,reject:i,retryFuncArgs:o,retriedCount:n}=e,a=n+1;"NotReadableError"===t.name||"OverconstrainedError"===t.name||"AbortError"===t.name?(1===a?(o[0].video&&(o[0].maxResolution=!1,(!fO||o[0].width*o[0].height<=2073600)&&o[0].frameRate&&(o[0].frameRate=o[0].frameRate>10?10:5)),o[0].retryWhenExactFailed&&o[0].useExactDeviceId&&(o[0].useExactDeviceId=!1)):2===a?o[0].useDeviceIdOnly=!0:3===a&&!o[0].useExactDeviceId&&(o[0].useTrueAsConstraint=!0),r()):i(t),o[0].microphoneId&&vU(o[0].microphoneId,!1),o[0].cameraId&&vU(o[0].cameraId,!0)},onRetrying:e=>{$O.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:e=>{$P.logFailedEvent({eventType:kC.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{$P.logSuccessEvent({eventType:kC.GET_USER_MEDIA_RETRY}),$P.uploadEvent({log:"stat-".concat(kC.GET_USER_MEDIA_RETRY,"-success-").concat(e)})}});function vU(e,t){return aw(this,null,(function*(){let r=(t?yield nU():yield oU()).find((t=>t.deviceId===e));r&&WD(r.getCapabilities)&&$O.warn(_N(r.getCapabilities(),{keysToInclude:tD}))}))}function yU(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:e.sampleRate};return!gU(e.microphoneId)&&(t.deviceId=e.useExactDeviceId?{exact:e.microphoneId}:e.microphoneId,e.useDeviceIdOnly)?t:(zD(e.channelCount)&&(t.channelCount=e.channelCount),(KD(e.echoCancellation)||"remote-only"===e.echoCancellation||"all"===e.echoCancellation)&&(t.echoCancellation=e.echoCancellation),KD(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),KD(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!gU(t)||t)}function TU(e){if(!e.video)return!1;if(e.useTrueAsConstraint)return!0;let{maxResolution:t=!0}=e,r={};return e.cameraId?r.deviceId=e.useExactDeviceId?{exact:e.cameraId}:e.cameraId:e.facingMode&&(r.facingMode=e.facingMode),e.useDeviceIdOnly&&!gU(r)?r:(e.width&&(r.width={ideal:e.width},t&&!dk&&(r.width.max=e.width)),e.height&&(r.height={ideal:e.height},t&&!dk&&(r.height.max=e.height)),dk&&Hk&&e.width&&e.height&&e.width*e.height<101376&&(r.width=e.width,r.height=e.height),e.frameRate&&(r.frameRate=e.frameRate),!!gU(r)||r)}var IU=EU;function AU(e){return SU(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return aw(this,null,(function*(){let r=yield t.apply(this,i);return yield e.call(this,...i),r}))}))}function SU(e){return function(t,r,i){return i.value=e(i.value,r),i}}var RU=(()=>{let e=!1,t=document.visibilityState;return()=>{document.visibilityState!==t&&$O.info("visibility change: ".concat(document.visibilityState)),!e&&(document.addEventListener("visibilitychange",(()=>{$O.info("visibility change: ".concat(document.visibilityState)),t=document.visibilityState})),e=!0)}})(),bU=0,wU=class{constructor(){ow(this,"log",$O.createLogger({id:"fq".concat(++bU)})),ow(this,"isRunning",!1),ow(this,"queue",[])}get length(){return this.queue.length}get lastQueueItem(){return 0===this.length?null:this.queue[this.length-1]}push(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r,i;let o=Qb({},e),n=new Promise(((e,t)=>{o.resolve=e,o.reject=t}));return o.promise=n,t?this.length<=1?this.queue.push(o):null==(i=null==(r=this.lastQueueItem)?void 0:r.promise)||i.then(o.resolve,o.reject):this.queue.push(o),this.log.debug("push ".concat(this.length)),this.isRunning||this.callNext(),n}shift(){let e=this.queue.shift();return this.log.debug("shift ".concat(this.length)),e}callNext(){if(this.isRunning||0===this.length)return;this.log.debug("callNext ",this.length);let{fn:e,args:t,context:r,resolve:i,reject:o}=this.queue[0];this.isRunning=!0,e.apply(r,t).then(i,o).finally((()=>{this.isRunning=!1,this.shift(),this.callNext()}))}},CU=new WeakMap,DU=new WeakMap;function NU(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,r,i){let o=i.value;return i.value=function(){let t=CU.get(this)||new wU;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];return CU.set(this,t),t.push({fn:o,args:i,context:this},e)},i}}function kU(e,t){return SU(((r,i)=>function(){let i=e;try{for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let e=r.apply(this,n),s=iN();return $D(e)?e.then((e=>(t?IL.addSuccessEvent({key:i,cost:iN()-s}):IL.addSuccessEvent({key:i}),e))).catch((e=>{throw IL.addFailedEvent({key:i,error:e}),e})):(IL.addSuccessEvent({key:i}),e)}catch(bw){throw IL.addFailedEvent({key:i,error:bw}),bw}}))}var OU={};function MU(){}tw(OU,{Events:()=>YU,Inspect:()=>FU,LastSink:()=>BU,Sink:()=>HU,Subscribe:()=>WU,TimeoutError:()=>JU,audit:()=>rF,bindCallback:()=>kV,bindNodeCallback:()=>OV,buffer:()=>cV,bufferCount:()=>sV,bufferTime:()=>FF,call:()=>LU,catchError:()=>HF,combineLatest:()=>iV,concat:()=>eV,concatMap:()=>wF,concatMapTo:()=>CF,count:()=>VV,create:()=>GU,debounce:()=>nF,debounceTime:()=>aF,defer:()=>uV,delay:()=>BF,deliver:()=>zU,dispose:()=>xU,elementAt:()=>sF,empty:()=>PV,every:()=>hF,exhaustMap:()=>PF,exhaustMapTo:()=>xF,expand:()=>jF,filter:()=>WV,find:()=>cF,findIndex:()=>lF,first:()=>dF,fromAnimationFrame:()=>DV,fromArray:()=>EV,fromEvent:()=>AV,fromEventPattern:()=>IV,fromFetch:()=>RV,fromIterable:()=>bV,fromPromise:()=>SV,fromReadableStream:()=>CV,fromReader:()=>wV,groupBy:()=>UF,identity:()=>PU,ignoreElements:()=>jV,iif:()=>rV,inspect:()=>UU,interval:()=>vV,last:()=>uF,map:()=>_F,mapTo:()=>gF,max:()=>FV,merge:()=>QU,mergeMap:()=>kF,mergeMapTo:()=>OF,min:()=>BV,never:()=>MV,nothing:()=>MU,of:()=>gV,pairwise:()=>mF,pipe:()=>jU,race:()=>ZU,range:()=>NV,reduce:()=>UV,retry:()=>JF,scan:()=>pF,setAsapScheduler:()=>fV,share:()=>$U,shareReplay:()=>tV,skip:()=>YV,skipUntil:()=>JV,skipWhile:()=>XV,startWith:()=>nV,subject:()=>dV,subscribe:()=>KF,sum:()=>HV,switchMap:()=>IF,switchMapTo:()=>SF,take:()=>GV,takeLast:()=>qV,takeUntil:()=>zV,takeWhile:()=>KV,tap:()=>qF,throttle:()=>eF,throwError:()=>LV,timeInterval:()=>VF,timeout:()=>YF,timer:()=>yV,toPromise:()=>GF,toReadableStream:()=>zF,withLatestFrom:()=>aV,zip:()=>oV});var LU=e=>e(),PU=e=>e;function xU(){this.dispose()}var UU=()=>"undefined"!=typeof __FASTRX_DEVTOOLS__,VU=1,FU=class extends Function{toString(){return"".concat(this.name,"(").concat(this.args.length?[...this.args].join(", "):"",")")}subscribe(e){let t=new qU(e,this,this.streamId++);return YU.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},BU=class{constructor(){this.defers=new Set,this.disposed=!1}next(e){}complete(){this.dispose()}error(e){this.dispose()}get bindDispose(){return()=>this.dispose()}dispose(){this.disposed=!0,this.complete=MU,this.error=MU,this.next=MU,this.dispose=MU,this.subscribe=MU,this.doDefer()}subscribe(e){return e instanceof FU?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(LU),this.defers.clear()}defer(e){this.defers.add(e)}removeDefer(e){this.defers.delete(e)}reset(){this.disposed=!1,delete this.complete,delete this.next,delete this.dispose,delete this.next,delete this.subscribe}resetNext(){delete this.next}resetComplete(){delete this.complete}resetError(){delete this.error}},HU=class extends BU{constructor(e){super(),this.sink=e,e.defer(this.bindDispose)}next(e){this.sink.next(e)}complete(){this.sink.complete()}error(e){this.sink.error(e)}},WU=class extends BU{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:MU,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MU,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:MU;if(super(),this._next=t,this._error=r,this._complete=i,this.then=MU,e instanceof FU){let o={toString:()=>"subscribe",id:0,source:e};this.defer((()=>{YU.defer(o,0)})),YU.create(o),YU.pipe(o),this.sourceId=o.id,this.subscribe(e),YU.subscribe({id:o.id,end:!0}),t==MU?this._next=e=>YU.next(o,0,e):this.next=e=>{YU.next(o,0,e),t(e)},i==MU?this._complete=()=>YU.complete(o,0):this.complete=()=>{this.dispose(),YU.complete(o,0),i()},r==MU?this._error=e=>YU.complete(o,0,e):this.error=e=>{this.dispose(),YU.complete(o,0,e),r(e)}}else this.subscribe(e)}next(e){this._next(e)}complete(){this.dispose(),this._complete()}error(e){this.dispose(),this._error(e)}};function jU(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return r.reduce(((e,t)=>t(e)),e)}function GU(e,t,r){if(UU()){let i=Object.defineProperties(Object.setPrototypeOf(e,FU.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:r,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});YU.create(i);for(let e=0;e<r.length;e++){let t=r[e];"function"==typeof t&&t instanceof FU&&YU.addSource(i,t)}return i}return e}function zU(e,t){return function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return r=>{if(r instanceof FU){let o=GU((t=>{let n=new e(t,...i);n.sourceId=o.id,n.subscribe(r)}),t,arguments);return o.source=r,YU.pipe(o),o}return t=>r(new e(t,...i))}}}function KU(e,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:e,payload:t}})}var qU=class extends HU{constructor(e,t,r){super(e),this.source=t,this.id=r,this.sourceId=e.sourceId,this.defer((()=>{YU.defer(this.source,this.id)}))}next(e){YU.next(this.source,this.id,e),this.sink.next(e)}complete(){YU.complete(this.source,this.id),this.sink.complete()}error(e){YU.complete(this.source,this.id,e),this.sink.error(e)}},YU={addSource(e,t){KU("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,r){KU("next",{id:e.id,streamId:t,data:r&&r.toString()})},subscribe(e,t){let{id:r,end:i}=e;KU("subscribe",{id:r,end:i,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,r){KU("complete",{id:e.id,streamId:t,err:r?r.toString():null})},defer(e,t){KU("defer",{id:e.id,streamId:t})},pipe(e){KU("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){KU("update",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=VU++),KU("create",{name:e.toString(),id:e.id})}},JU=class extends Error{constructor(e){super("timeout after ".concat(e,"ms")),this.timeout=e}},XU=class extends BU{constructor(e){super(),this.source=e,this.sinks=new Set}add(e){e.defer((()=>this.remove(e))),1===this.sinks.add(e).size&&(this.reset(),this.subscribe(this.source))}remove(e){this.sinks.delete(e),0===this.sinks.size&&this.dispose()}next(e){this.sinks.forEach((t=>t.next(e)))}complete(){this.sinks.forEach((e=>e.complete())),this.sinks.clear()}error(e){this.sinks.forEach((t=>t.error(e))),this.sinks.clear()}};function $U(){return e=>{let t=new XU(e);if(e instanceof FU){let r=GU((e=>{t.add(e)}),"share",arguments);return t.sourceId=r.id,r.source=e,YU.pipe(r),r}return GU(t.add.bind(t),"share",arguments)}}function QU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return GU((e=>{let r=new HU(e),i=t.length;r.complete=()=>{0==--i&&e.complete()},t.forEach(r.bindSubscribe)}),"merge",arguments)}function ZU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return GU((e=>{let r=new Map;t.forEach((t=>{let i=new HU(e);r.set(t,i),i.complete=()=>{r.delete(t),0===r.size?e.complete():i.dispose()},i.next=e=>{r.delete(t),r.forEach((e=>e.dispose())),i.resetNext(),i.resetComplete(),i.next(e)}})),t.forEach((e=>r.get(e).subscribe(e)))}),"race",arguments)}function eV(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return GU((e=>{let r=0,i=t.length,o=new HU(e);o.complete=()=>{r<i&&!o.disposed?(o.doDefer(),o.subscribe(t[r++])):e.complete()},o.complete()}),"concat",arguments)}function tV(e){return t=>{let r=new XU(t),i=[];return r.next=function(t){i.push(t),i.length>e&&i.shift(),this.sinks.forEach((e=>e.next(t)))},GU((e=>{e.defer((()=>r.remove(e))),i.forEach((t=>e.next(t))),r.add(e)}),"shareReplay",arguments)}}function rV(e,t,r){return GU((i=>e()?t(i):r(i)),"iif",arguments)}function iV(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return GU((e=>{let r=t.length,i=r,o=r,n=new Array(r),a=()=>{0==--o&&e.complete()};t.forEach(((t,r)=>{let o=new HU(e);o.next=t=>{i--,o.next=t=>{n[r]=t,0===i&&e.next(n)},o.next(t)},o.complete=a,o.subscribe(t)}))}),"combineLatest",arguments)}function oV(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return GU((e=>{let r=t.length,i=r,o=new Array(r),n=()=>{0==--i&&e.complete()};t.forEach(((t,r)=>{let i=new HU(e),a=[];o[r]=a,i.next=t=>{a.push(t),o.every((e=>e.length))&&e.next(o.map((e=>e.shift())))},i.complete=n,i.subscribe(t)}))}),"zip",arguments)}function nV(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>GU((function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t.length;for(;i<o&&!r.disposed;)r.next(t[i++]);r.disposed||r.subscribe(e)}),"startWith",arguments)}var aV=zU(class extends HU{constructor(e){super(e);let t=new HU(this.sink);for(var r=arguments.length,i=new Array(r>1?r-1:0),o=1;o<r;o++)i[o-1]=arguments[o];t.next=e=>this.buffer=e,t.complete=MU,t.subscribe(iV(...i))}next(e){this.buffer&&this.sink.next([e,...this.buffer])}},"withLatestFrom"),sV=zU(class extends HU{constructor(e,t,r){super(e),this.bufferSize=t,this.startBufferEvery=r,this.buffer=[],this.count=0,this.startBufferEvery&&(this.buffers=[[]])}next(e){this.startBufferEvery?(this.count++===this.startBufferEvery&&(this.buffers.push([]),this.count=1),this.buffers.forEach((t=>{t.push(e)})),this.buffers[0].length===this.bufferSize&&this.sink.next(this.buffers.shift())):(this.buffer.push(e),this.buffer.length===this.bufferSize&&(this.sink.next(this.buffer),this.buffer=[]))}complete(){this.buffer.length?this.sink.next(this.buffer):this.buffers.length&&this.buffers.forEach((e=>this.sink.next(e))),super.complete()}},"bufferCount"),cV=zU(class extends HU{constructor(e,t){super(e),this.buffer=[];let r=new HU(e);r.next=t=>{e.next(this.buffer),this.buffer=[]},r.complete=MU,r.subscribe(t)}next(e){this.buffer.push(e)}complete(){this.buffer.length&&this.sink.next(this.buffer),super.complete()}},"buffer"),lV=function(e,t,r,i){return new(r||(r=Promise))((function(o,n){function a(e){try{c(i.next(e))}catch(t){n(t)}}function s(e){try{c(i.throw(e))}catch(t){n(t)}}function c(e){e.done?o(e.value):function(e){return e instanceof r?e:new r((function(t){t(e)}))}(e.value).then(a,s)}c((i=i.apply(e,t||[])).next())}))};function dV(e){let t=arguments,r=$U()(GU((t=>{r.next=e=>t.next(e),r.complete=()=>t.complete(),r.error=e=>t.error(e),e&&t.subscribe(e)}),"subject",t));return r.next=MU,r.complete=MU,r.error=MU,r}function uV(e){return GU((t=>t.subscribe(e())),"defer",arguments)}var hV={promise:e=>{Promise.resolve().then(e)},setImmediate:"undefined"!=typeof setImmediate?e=>setImmediate(e):null,setTimeout:e=>setTimeout(e,0)},pV="undefined"!=typeof Promise?hV.promise:hV.setImmediate?hV.setImmediate:hV.setTimeout,mV=e=>t=>{pV((()=>e(t)))},fV=e=>{"function"==typeof e?pV=e:hV[e]&&(pV=hV[e])},_V=e=>mV((t=>{for(let r=0;!t.disposed&&r<e.length;r++)t.next(e[r]);t.complete()}));function gV(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return GU(_V(t),"of",arguments)}function EV(e){return GU(_V(e),"fromArray",arguments)}function vV(e){return GU((t=>{let r=0,i=setInterval((()=>t.next(r++)),e);return t.defer((()=>{clearInterval(i)})),"interval"}),"interval",arguments)}function yV(e,t){return GU((r=>{let i=0,o=setTimeout((()=>{if(r.removeDefer(n),r.next(i++),t){let e=setInterval((()=>r.next(i++)),t);r.defer((()=>{clearInterval(e)}))}else r.complete()}),e),n=()=>clearTimeout(o);r.defer(n)}),"timer",arguments)}function TV(e,t){return r=>{let i=e=>r.next(e);r.defer((()=>t(i))),e(i)}}function IV(e,t){return GU(TV(e,t),"fromEventPattern",arguments)}function AV(e,t){if("on"in e&&"off"in e)return GU(TV((r=>e.on(t,r)),(r=>e.off(t,r))),"fromEvent",arguments);if("addListener"in e&&"removeListener"in e)return GU(TV((r=>e.addListener(t,r)),(r=>e.removeListener(t,r))),"fromEvent",arguments);if("addEventListener"in e)return GU(TV((r=>e.addEventListener(t,r)),(r=>e.removeEventListener(t,r))),"fromEvent",arguments);throw"target is not a EventDispachter"}function SV(e){return GU((t=>{e.then(t.next.bind(t),t.error.bind(t))}),"fromPromise",arguments)}function RV(e,t){return GU(uV((()=>SV(fetch(e,t)))),"fromFetch",arguments)}function bV(e){return GU(mV((t=>{try{for(let r of e){if(t.disposed)return;t.next(r)}t.complete()}catch(Rw){t.error(Rw)}})),"fromIterable",arguments)}function wV(e){let t=r=>lV(this,void 0,void 0,(function*(){if(r.disposed)return;let{done:i,value:o}=yield e.read();i?r.complete():(r.next(o),t(r))}));return GU((e=>{t(e)}),"fromReader",arguments)}function CV(e){return GU((t=>{let r=new AbortController,i=r.signal;t.defer((()=>r.abort("cancelled"))),e.pipeTo(new WritableStream({write(e){t.next(e)},close(){t.complete()},abort(e){t.error(e)}}),{signal:i}).then((()=>t.complete()),(e=>t.error(e)))}),"fromReadableStream",arguments)}function DV(){return GU((e=>{let t=requestAnimationFrame((function r(i){e.disposed||(e.next(i),t=requestAnimationFrame(r))}));e.defer((()=>cancelAnimationFrame(t)))}),"fromAnimationFrame",arguments)}function NV(e,t){return GU((function(r){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:e,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t+e;for(;i<o&&!r.disposed;)r.next(i++);return r.complete(),"range"}),"range",arguments)}function kV(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return GU((r=>{let o=i.concat((e=>(r.next(e),r.complete())));e.apply(t,o)}),"bindCallback",arguments)}function OV(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return GU((r=>{let o=i.concat(((e,t)=>e?r.error(e):(r.next(t),r.complete())));e.apply(t,o)}),"bindNodeCallback",arguments)}function MV(){return GU((()=>{}),"never",arguments)}function LV(e){return GU((t=>t.error(e)),"throwError",arguments)}function PV(){return GU((e=>e.complete()),"empty",arguments)}var xV=class extends HU{constructor(e,t,r){super(e),this.f=t;let i=()=>{this.sink.next(this.acc),this.sink.complete()};void 0===r?this.next=e=>{this.acc=e,this.complete=i,this.resetNext()}:(this.acc=r,this.complete=i)}next(e){this.acc=this.f(this.acc,e)}},UV=zU(xV,"reduce"),VV=e=>zU(xV,"count")(((t,r)=>e(r)?t+1:t),0),FV=()=>zU(xV,"max")(Math.max),BV=()=>zU(xV,"min")(Math.min),HV=()=>zU(xV,"sum")(((e,t)=>e+t),0),WV=zU(class extends HU{constructor(e,t,r){super(e),this.filter=t,this.thisArg=r}next(e){this.filter.call(this.thisArg,e)&&this.sink.next(e)}},"filter"),jV=zU(class extends HU{next(e){}},"ignoreElements"),GV=zU(class extends HU{constructor(e,t){super(e),this.count=t}next(e){this.sink.next(e),0==--this.count&&(this.doDefer(),this.complete())}},"take"),zV=zU(class extends HU{constructor(e,t){super(e);let r=new HU(e);r.next=()=>{r.doDefer(),e.complete()},r.complete=xU,r.subscribe(t)}},"takeUntil"),KV=zU(class extends HU{constructor(e,t){super(e),this.f=t}next(e){this.f(e)?this.sink.next(e):(this.doDefer(),this.complete())}},"takeWhile"),qV=e=>UV(((t,r)=>(t.push(r),t.length>e&&t.shift(),t)),[]),YV=zU(class extends HU{constructor(e,t){super(e),this.count=t}next(e){0==--this.count&&(this.next=super.next)}},"skip"),JV=zU(class extends HU{constructor(e,t){super(e),e.next=MU;let r=new HU(e);r.next=()=>{r.doDefer(),e.resetNext()},r.complete=xU,r.subscribe(t)}},"skipUntil"),XV=zU(class extends HU{constructor(e,t){super(e),this.f=t}next(e){this.f(e)||(this.next=super.next,this.next(e))}},"skipWhile"),$V={leading:!0,trailing:!1},QV=class extends HU{constructor(e,t,r){super(e),this.durationSelector=t,this.trailing=r}cacheValue(e){this.last=e,this.disposed&&this.throttle(e)}send(e){this.sink.next(e),this.throttle(e)}throttle(e){this.reset(),this.subscribe(this.durationSelector(e))}next(){this.complete()}complete(){this.dispose(),this.trailing&&this.send(this.last)}},ZV=class extends HU{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:$V;super(e),this.durationSelector=t,this.config=r,this._throttle=new QV(this.sink,this.durationSelector,this.config.trailing),this._throttle.dispose()}next(e){this._throttle.disposed&&this.config.leading?this._throttle.send(e):this._throttle.cacheValue(e)}complete(){this._throttle.throttle=MU,this._throttle.complete(),super.complete()}},eF=zU(ZV,"throttle"),tF={leading:!1,trailing:!0},rF=e=>zU(ZV,"audit")(e,tF),iF=class extends HU{next(){this.complete()}complete(){this.dispose(),this.sink.next(this.last)}},oF=class extends HU{constructor(e,t){super(e),this.durationSelector=t,this._debounce=new iF(this.sink),this._debounce.dispose()}next(e){this._debounce.dispose(),this._debounce.reset(),this._debounce.last=e,this._debounce.subscribe(this.durationSelector(e))}complete(){this._debounce.complete(),super.complete()}},nF=zU(oF,"debounce"),aF=e=>zU(oF,"debounceTime")((t=>yV(e))),sF=zU(class extends HU{constructor(e,t,r){super(e),this.count=t,this.defaultValue=r}next(e){0==this.count--&&(this.defaultValue=e,this.doDefer(),this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("not enough elements in sequence"))}},"elementAt"),cF=e=>t=>GV(1)(XV((t=>!e(t)))(t)),lF=zU(class extends HU{constructor(e,t){super(e),this.f=t,this.i=0}next(e){this.f(e)?(this.sink.next(this.i++),this.doDefer(),this.complete()):++this.i}},"findIndex"),dF=zU(class extends HU{constructor(e,t,r){super(e),this.f=t,this.defaultValue=r,this.index=0}next(e){(!this.f||this.f(e,this.index++))&&(this.defaultValue=e,this.doDefer(),this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"first"),uF=zU(class extends HU{constructor(e,t,r){super(e),this.f=t,this.defaultValue=r,this.index=0}next(e){(!this.f||this.f(e,this.index++))&&(this.defaultValue=e)}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"last"),hF=zU(class extends HU{constructor(e,t){super(e),this.predicate=t,this.index=0}next(e){this.predicate(e,this.index++)?this.result=!0:(this.result=!1,this.doDefer(),this.complete())}complete(){void 0!==this.result?(this.sink.next(this.result),super.complete()):this.error(new Error("no elements in sequence"))}},"every"),pF=zU(class extends HU{constructor(e,t,r){super(e),this.f=t,void 0===r?this.next=e=>{this.acc=e,this.resetNext(),this.sink.next(this.acc)}:this.acc=r}next(e){this.sink.next(this.acc=this.f(this.acc,e))}},"scan"),mF=zU(class extends HU{constructor(){super(...arguments),this.hasLast=!1}next(e){this.hasLast?this.sink.next([this.last,e]):this.hasLast=!0,this.last=e}},"pairwise"),fF=class extends HU{constructor(e,t,r){super(e),this.mapper=t,this.thisArg=r}next(e){super.next(this.mapper.call(this.thisArg,e))}},_F=zU(fF,"map"),gF=e=>zU(fF,"mapTo")((t=>e)),EF=class extends HU{constructor(e,t,r){super(e),this.data=t,this.context=r}next(e){let t=this.context.combineResults;t?this.sink.next(t(this.data,e)):this.sink.next(e)}tryComplete(){this.context.resetComplete(),this.dispose()}},vF=class e extends HU{constructor(e,t,r){super(e),this.makeSource=t,this.combineResults=r,this.index=0}subInner(t,r){let i=this.currentSink=new r(this.sink,t,this);this.complete===e.prototype.complete&&(this.complete=this.tryComplete),i.complete=i.tryComplete,i.subscribe(this.makeSource(t,this.index++))}complete(){this.sink.complete()}tryComplete(){this.currentSink.resetComplete(),this.dispose()}},yF=class extends EF{},TF=class extends vF{next(e){this.subInner(e,yF),this.next=e=>{this.currentSink.dispose(),this.subInner(e,yF)}}},IF=zU(TF,"switchMap");function AF(e){return(t,r)=>e((()=>t),r)}var SF=AF(zU(TF,"switchMapTo")),RF=class extends EF{tryComplete(){this.dispose(),this.context.sources.length?this.context.subNext():(this.context.resetNext(),this.context.resetComplete())}},bF=class extends vF{constructor(){super(...arguments),this.sources=[],this.next2=this.sources.push.bind(this.sources)}next(e){this.next2(e),this.subNext()}subNext(){this.next=this.next2,this.subInner(this.sources.shift(),RF),this.disposed&&0===this.sources.length&&this.currentSink.resetComplete()}tryComplete(){0===this.sources.length&&this.currentSink.resetComplete(),this.dispose()}},wF=zU(bF,"concatMap"),CF=AF(zU(bF,"concatMapTo")),DF=class extends EF{tryComplete(){this.context.inners.delete(this),super.dispose(),0===this.context.inners.size&&this.context.resetComplete()}},NF=class extends vF{constructor(){super(...arguments),this.inners=new Set}next(e){this.subInner(e,DF),this.inners.add(this.currentSink)}tryComplete(){1===this.inners.size?this.inners.forEach((e=>e.resetComplete())):this.dispose()}},kF=zU(NF,"mergeMap"),OF=AF(zU(NF,"mergeMapTo")),MF=class extends EF{dispose(){this.context.resetNext(),super.dispose()}},LF=class extends vF{next(e){this.next=MU,this.subInner(e,MF)}},PF=zU(LF,"exhaustMap"),xF=AF(zU(LF,"exhaustMapTo")),UF=zU(class extends HU{constructor(e,t){super(e),this.f=t,this.groups=new Map}next(e){let t=this.f(e),r=this.groups.get(t);void 0===r&&(r=dV(),r.key=t,this.groups.set(t,r),super.next(r)),r.next(e)}complete(){this.groups.forEach((e=>e.complete())),super.complete()}error(e){this.groups.forEach((t=>t.error(e))),super.error(e)}},"groupBy"),VF=zU(class extends HU{constructor(){super(...arguments),this.start=new Date}next(e){this.sink.next({value:e,interval:Number(new Date)-Number(this.start)}),this.start=new Date}},"timeInterval"),FF=zU(class extends HU{constructor(e,t){super(e),this.miniseconds=t,this.buffer=[],this.id=setInterval((()=>{this.sink.next(this.buffer.concat()),this.buffer.length=0}),this.miniseconds)}next(e){this.buffer.push(e)}complete(){this.sink.next(this.buffer),super.complete()}dispose(){clearInterval(this.id),super.dispose()}},"bufferTime"),BF=zU(class extends HU{constructor(e,t){super(e),this.buffer=[],this.delayTime=t}dispose(){clearTimeout(this.timeoutId),super.dispose()}delay(e){this.timeoutId=setTimeout((()=>{let e=this.buffer.shift();if(e){let{time:t,data:r}=e;super.next(r),this.buffer.length&&this.delay(Number(this.buffer[0].time)-Number(t))}}),e)}next(e){this.buffer.length||this.delay(this.delayTime),this.buffer.push({time:new Date,data:e})}complete(){this.timeoutId=setTimeout((()=>super.complete()),this.delayTime)}},"delay"),HF=zU(class extends HU{constructor(e,t){super(e),this.selector=t}error(e){this.dispose(),this.selector(e)(this.sink)}},"catchError"),WF=class extends EF{tryComplete(){let e=this.context.inners.delete(this);super.dispose(),e&&this.context.checkComplete()}next(e){this.sink.next(e),this.context.expandValue(e)}},jF=zU(class extends vF{constructor(e,t){super(e,t),this.project=t,this.inners=new Set,this.sourceCompleted=!1}next(e){this.sink.next(e),this.expandValue(e)}expandValue(e){let t=new WF(this.sink,e,this);this.currentSink=t,this.complete=this.tryComplete,t.complete=t.tryComplete,this.inners.add(t),t.subscribe(this.makeSource(e,this.index++))}complete(){this.sourceCompleted=!0,this.checkComplete()}checkComplete(){this.sourceCompleted&&0===this.inners.size&&(this.resetComplete(),super.complete())}tryComplete(){this.sourceCompleted=!0,this.checkComplete()}},"expand"),GF=()=>e=>new Promise(((t,r)=>{let i;new WU(e,(e=>i=e),r,(()=>t(i)))})),zF=()=>e=>{let t;return new ReadableStream({start(r){t=new WU(e,r.enqueue.bind(r),r.error.bind(r),r.close.bind(r))},cancel(){t.dispose()}})},KF=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:MU,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:MU,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:MU;return i=>new WU(i,e,t,r)},qF=zU(class extends HU{constructor(e,t){super(e),t instanceof Function?this.next=r=>{t(r),e.next(r)}:(t.next&&(this.next=r=>{t.next(r),e.next(r)}),t.complete&&(this.complete=()=>{t.complete(),e.complete()}),t.error&&(this.error=r=>{t.error(r),e.error(r)}))}},"tap"),YF=zU(class extends HU{constructor(e,t){super(e),this.timeout=t,this.id=setTimeout((()=>this.error(new JU(this.timeout))),this.timeout)}next(e){super.next(e),clearTimeout(this.id),this.next=super.next}dispose(){clearTimeout(this.id),super.dispose()}},"timeout"),JF=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;return t=>{if(t instanceof FU){let r=GU((i=>{let o=e,n=new HU(i);n.error=e=>{o-- >0?n.subscribe(t):i.error(e)},n.sourceId=r.id,n.subscribe(t)}),"retry",[e]);return r.source=t,YU.pipe(r),r}return r=>{let i=e,o=new HU(r);o.error=e=>{i-- >0?t(o):r.error(e)},t(o)}}},XF=(e=>(e[e.AUTO_SWITCH_NEW_DEVICE=0]="AUTO_SWITCH_NEW_DEVICE",e[e.WAIT_CURRENT_DEVICE=1]="WAIT_CURRENT_DEVICE",e))(XF||{}),$F=class e extends fU{constructor(e,t){super({mediaType:e,PlayerClass:t}),ow(this,"isRemote",!1),ow(this,"deviceId"),ow(this,"groupId",""),ow(this,"label",""),ow(this,"sourceTrack"),ow(this,"enableAutoSwitchWhenRecapturing",!0),ow(this,"_isRecapturing",!1),ow(this,"_lastRecaptureTime",0),ow(this,"_onMuteTimeoutId",-1),ow(this,"_encodeCheckTimeoutId",-1),ow(this,"recaptureMode",0),ow(this,"profile"),ow(this,"retryEncodeFailed")}get enableEncodeFrame(){return!1}get isPublishing(){return"publishing"===this.state.toString()}get isPublished(){return"publish"===this.state}get isUseCustomSource(){return this.sourceTrack&&this.mediaTrack&&this.sourceTrack!==this.mediaTrack}encodeFrame(e,t){throw new Error("Method not implemented.")}installTrackEvent(e){e.addEventListener(tC.MUTE,this.onTrackMuted),e.addEventListener(tC.UNMUTE,this.onTrackUnmuted),e.addEventListener(tC.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===tC.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){e.removeEventListener(tC.MUTE,this.onTrackMuted),e.removeEventListener(tC.UNMUTE,this.onTrackUnmuted),e.removeEventListener(tC.ENDED,this.onTrackEnded)}setStateToReady(){}capture(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return aw(this,null,(function*(){var r;let i=this.sourceTrack;try{let i,o=iN();KO.emit(YO.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(i=new MediaStream,i.addTrack(e.customSource)):(t||null==(r=this.sourceTrack)||r.stop(),i=yield IU(e));let n=i.getTracks()[0];return yield this.setInputMediaStreamTrack(n),e.customSource||(this.sourceTrack=n,this.updateDeviceIdInUse(),this.listenDeviceChange()),KO.emit(YO.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this,cost:iN()-o}),i}catch(bw){throw KO.emit(YO.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:bw}),this.log.error("getUserMedia error observed ".concat(bw)),bw}finally{t&&(null==i||i.stop())}}))}setOutputMediaStreamTrack(e){var t;if(super.setOutputMediaStreamTrack(e),this.setStateToReady(),this.isPublishing||this.isPublished)return null==(t=this.room)?void 0:t.replaceTrack(this)}get hasFlag(){var e,t;let r=cN((null==(e=this.room)?void 0:e.localPublishFlag)||0,(null==(t=this.room)?void 0:t.userId)||"");return 4===this.mediaType&&r.hasVideo||1===this.mediaType&&r.hasAudio||2===this.mediaType&&r.hasAuxiliary}publish(e,t){return this.room=e,this.emit("4",{mediaType:this.strMediaType,state:"starting",prevState:"stopped"}),this.userId=e.userId,this._log.setUserId(e.userId),this._log.setSdkAppId(e.sdkAppId),Promise.all([t,new Promise(((t,r)=>aw(this,null,(function*(){var i,o;this.hasFlag?t():jU(AV(e,"local-publish-flag-changed"),WV((()=>this.hasFlag)),zV(QU(AV(this,FP.INIT),AV(this,"ready"))),KF(t)),!(((null==(o=null==(i=this.room)?void 0:i.networkQuality)?void 0:o.uplinkNetworkQuality)||0)>3)&&(this._encodeCheckTimeoutId=setTimeout((()=>aw(this,null,(function*(){var e,t,i,o,n,a;if(!(((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&(this.isPublished||this.isPublishing)&&this.isMediaTrackActive){let e=this.kind===tC.AUDIO,t=this.stat.bytesSent>0;if(IL[t?"addSuccessEvent":"addFailedEvent"]({key:e?503700:513702}),!e){let e={H264:513704,H265:513705,VP8:513706}[(null==(o=null==(i=this.room)?void 0:i.videoCodec)?void 0:o.toUpperCase())||"H264"];e&&IL[t?"addSuccessEvent":"addFailedEvent"]({key:e})}if(!t){if(IL.addEnum({key:e?503701:513703,value:BO()}),$P.uploadEvent({log:"stat-encode-failed-".concat(this.kind,"-").concat(xO()||WO()),userId:this.userId}),this.log.warn(e?"encode failed":"".concat(null==(a=null==(n=this.room)?void 0:n.videoCodec)?void 0:a.toUpperCase()," encode failed")),this.retryEncodeFailed&&(this.log.warn("retry encode"),yield this.retryEncodeFailed(this),this.stat.bytesSent>0||this.hasFlag||(yield AN(5e3),this.stat.bytesSent>0||this.hasFlag)))return;this.emit("6",this),r(new fw({message:"".concat(this.strMediaType," encode failed"),code:e?pw.AUDIO_ENCODE_FAILED:pw.VIDEO_ENCODE_FAILED}))}}}))),5e3))}))))])}unpublish(){this.room&&this.room.localTracks.delete(this),KO.emit(YO.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return aw(this,null,(function*(){if(this.sourceTrack&&sP){let{deviceId:e,groupId:t}=this.sourceTrack.getSettings(),{label:r}=this.sourceTrack;(yield function(e){return aw(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:r,oldGroupId:i,oldLabel:o,kind:n}=e;return function*(){return t===r&&(n!==tC.AUDIO||t!==YC||(yield lU(i,o)))}()}))}({newDeviceId:e,oldDeviceId:this.deviceId,oldGroupId:this.groupId,oldLabel:this.label,kind:this.kind}))||(this.deviceId=e,this.label=r,t&&(this.groupId=t),iU().then((r=>{let i=r.find((r=>{let i=r.deviceId===e;return t&&(i=i&&r.groupId===t),i}));i&&this.emit("2",i)})))}}))}setProfile(e){this.log.info("setProfile",e),Object.assign(this.profile,e)}isNeedToRecapture(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!(!this.deviceId||!this.sourceTrack||this.kind===tC.AUDIO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;let t=e.label.toLocaleLowerCase();if(t.includes("mic")||t.includes("麦克风"))return!0;let r="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(tC.AUDIO_INPUT);return!!cU.has(r)}(this.sourceTrack)||this.kind===tC.VIDEO&&!function(e){if(e instanceof CanvasCaptureMediaStreamTrack||!(e instanceof MediaStreamTrack))return!1;let t=e.label.toLocaleLowerCase();if(t.includes("camera")||t.includes("webcam"))return!0;let r="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(tC.VIDEO_INPUT);return!!cU.has(r)}(this.sourceTrack)||this._isRecapturing||e&&Hk&&fO)}onTrackMuted(){if(super.onTrackMuted(),RU(),this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTime<eD)return void setTimeout((()=>this.onTrackMuted()),eD);this._onMuteTimeoutId=setTimeout((()=>aw(this,null,(function*(){var e;if(null!=(e=this.sourceTrack)&&e.muted){if((nk||ak)&&"visible"!==document.visibilityState)return;this.recapture(yield this.getRecoverCaptureDeviceId())}}))),5e3)}}onTrackUnmuted(){super.onTrackUnmuted(),this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return aw(this,null,(function*(){if(nw(e.prototype,this,"onTrackEnded").call(this),this.isNeedToRecapture()&&0===this.recaptureMode){if(Date.now()-this._lastRecaptureTime<eD)return void setTimeout((()=>this.onTrackEnded()),eD);this.emit("7"),this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return aw(this,null,(function*(){var r;if(this._isRecapturing||!this.sourceTrack)return;this.log.warn("recapture trying");let i=this.sourceTrack;t||null==(r=this.sourceTrack)||r.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now();let o={useExactDeviceId:!0};if("user"===e||"environment"===e)o.facingMode=e;else{let t;("audio"===this.kind?yield oU():yield nU()).find((t=>t.deviceId===e))&&(t=e),o.deviceId=t}return this.capture(o,t).then((()=>{this._isRecapturing=!1,this.log.warn("recapture success"),this.emit("1",{deviceId:this.deviceId}),KO.emit(YO.LOCAL_TRACK_RECAPTURE,{track:this})})).catch((e=>{this._isRecapturing=!1,this.log.warn("recapture failed ".concat(e.message)),this.emit("5",e),KO.emit(YO.LOCAL_TRACK_RECAPTURE,{track:this,error:e})})).finally((()=>{t&&(null==i||i.stop())}))}))}getRecoverCaptureDeviceId(){return aw(this,null,(function*(){let e=this instanceof oB;if(e&&this.facingMode)return this.facingMode;let{deviceId:t}=this;if(t){let r=(ZF.get(t)||0)+1;if(ZF.set(t,r),r>=3&&this.enableAutoSwitchWhenRecapturing){let i=e?(yield nU()).find((e=>!ZF.has(e.deviceId))):(yield oU()).find((e=>!ZF.has(e.deviceId)));i&&(this.log.warn("".concat(t," capture fail ").concat(r," times, change new ").concat(i.deviceId)),t=i.deviceId)}}return t}))}stopCapture(){var e;this.sourceTrack&&(this.sourceTrack.stop(),this.uninstallTrackEvent(this.sourceTrack)),null==(e=this.manager)||e.removeInput(this)}close(){super.close(),this.stopCapture()}};iw([xP(FP.INIT,"ready",{ignoreError:!0,sync:!0})],$F.prototype,"setStateToReady",1),iw([NU()],$F.prototype,"capture",1),iw([xP("ready","publish",{ignoreError:!0,success(){this.room.localTracks.add(this),KO.emit(YO.LOCAL_TRACK_PUBLISHED,{track:this,room:this.room}),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"})},fail(e){let t="error";if(e.cause instanceof fw){let r=e.cause;r.message.includes("timeout")?t="timeout":r.code===pw.API_CALL_ABORTED&&(t="api-call")}this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:e.cause||e})}}),kU(521714,!1)],$F.prototype,"publish",1),iw([SU((e=>function(){return aw(this,null,(function*(){let t="publish"===this.state?"started":"starting";e.call(this),this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:t,reason:"api-call"}),clearTimeout(this._encodeCheckTimeoutId)}))})),xP([],"ready",{sync:!0})],$F.prototype,"unpublish",1);var QF=$F,ZF=new Map;KO.on(YO.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&ZF.delete(e.track.deviceId)}));var eB=class e extends QF{constructor(e){super(1,pU),ow(this,"mediaType",1),ow(this,"volume",0),ow(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),ow(this,"playerMuted",!0),ow(this,"pipeline"),ow(this,"earMonitorGainNode",new Bx),ow(this,"_output",new Bx),ow(this,"codecPipeline",[]),ow(this,"stat",{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0}),ow(this,"mixedAudioReferenceMap",new Map),ow(this,"isAudioContextLongSuspended",!1),ow(this,"after3aSilenceStartTime",0),this.manager=e,this.pipeline=new jx(e),this.pipeline.source.pipeTo(this.player.pipeline.volumeMeter),this.pipeline.gain.pipeTo(this.earMonitorGainNode).pipeTo(this._output),this.pipeline.gain.pipeTo(this.player.pipeline.volumeMeterAfter3A),this.handleMicrophoneAdded=this.handleMicrophoneAdded.bind(this),this.handleMicrophoneRemoved=this.handleMicrophoneRemoved.bind(this),KO.on(YO.AUDIO_CONTEXT_LONG_SUSPENDED,this.handleAudioContextLongSuspended,this)}get dbVolume(){return Xx.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}getAudioLevel(){let e=(this.volume||super.getAudioLevel())*this.captureVolume;return e>1?1:e}getInternalAudioLevelAfter3A(){if(this.pipeline.aec.node||this.pipeline.denoiser.node)return this.player.getInternalAudioLevelAfter3A()}updateAfter3aSilenceStartTime(e){jD(e)||(0!==e||this.after3aSilenceStartTime?e>0&&(this.after3aSilenceStartTime=0):this.after3aSilenceStartTime=iN())}setInputMediaStreamTrack(t){return aw(this,null,(function*(){let r=this.trackSettings||{};IL.addEnum({key:501701,value:r.channelCount||0,useUV:!1}),IL.addEnum({key:501702,value:r.sampleRate||0,useUV:!1}),IL.addEnum({key:502700,value:0});let{sampleRate:i,channelCount:o}=r;this._log.info("local audio track input ".concat(JSON.stringify({sampleRate:i,channelCount:o}))),this.pipeline.source.channelCount=o||1,this.pipeline.replaceSource(t),yield nw(e.prototype,this,"setInputMediaStreamTrack").call(this,t),this.updatePlayingState(!!t)}))}capture(t){return aw(this,arguments,(function(t){var r=this;let{deviceId:i,customSource:o,useExactDeviceId:n=!0,retryWhenExactFailed:a}=t,s=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function*(){let t=yield nw(e.prototype,r,"capture").call(r,{video:!1,audio:!0,microphoneId:i,echoCancellation:r.profile.echoCancellation,autoGainControl:r.profile.autoGainControl,noiseSuppression:r.profile.noiseSuppression,sampleRate:r.profile.sampleRate,channelCount:r.profile.channelCount,useExactDeviceId:n,retryWhenExactFailed:a,customSource:o},s);return Vx(),t}()}))}switchDevice(e){return aw(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e&&!this.isUseCustomSource){if(e!==YC)return;if(yield lU(this.groupId,this.label))return}try{this.log.info("switchDevice audio to: ".concat(e)),this.sourceTrack&&this.sourceTrack.stop(),yield this.capture({deviceId:e,useExactDeviceId:!0,retryWhenExactFailed:!1}),KO.emit(YO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch microphone success")}catch(DC){throw this.log.error("switch microphone failed ".concat(DC)),this.deviceId&&this.recapture(this.deviceId),DC}}}))}listenDeviceChange(){tU&&!tU.listeners("audioInputRemoved").includes(this.handleMicrophoneRemoved)&&tU.on("audioInputRemoved",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return aw(this,null,(function*(){if(e.deviceId===this.deviceId){let t=1===this.recaptureMode;if(this.log.warn("RecaptureMode: ".concat(XF[this.recaptureMode],". Current microphone is lost: ").concat(JSON.stringify(e))),0===this.recaptureMode){zB(this.userId,{eventId:2003,param1:6,streamType:1});let e=yield oU();e[0]?this.recapture(e[0].deviceId):t=!0}t&&tU.on("audioInputAdded",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){1===this.recaptureMode&&e.deviceId!==this.deviceId||(tU.off("audioInputAdded",this.handleMicrophoneAdded,this),this.log.warn("microphone added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId))}update3A(e){return aw(this,arguments,(function(e){var t=this;let{echoCancellation:r,noiseSuppression:i,autoGainControl:o}=e;return function*(){let e=t.sourceTrack||t.mediaTrack;if(!e)return;let n=e.getConstraints(),a=!1;!jD(r)&&r!==t.profile.echoCancellation&&(t.profile.echoCancellation=r,n.echoCancellation=r,a=!0),!jD(i)&&i!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=i,n.noiseSuppression=i,a=!0),!jD(o)&&o!==t.profile.autoGainControl&&(t.profile.autoGainControl=o,n.autoGainControl=o,a=!0),a&&(dk||fO?yield e.applyConstraints(n).catch((e=>t._log.warn("update3A failed: ",e))):t.deviceId&&(yield t.recapture(t.deviceId,!0)))}()}))}get captureVolume(){return this.pipeline.volume}setCaptureVolume(e){this.pipeline.setVolume(e/100),this.pipeline.gain.node&&IL.addEnum({key:502700,value:2})}setAudioVolume(e){super.setAudioVolume(0),nk&&this.player.setMuted(!0),this.earMonitorGainNode.node||(this.earMonitorGainNode.setNode(Fx().createGain()),this._output.setNode(Fx().destination)),this.earMonitorGainNode.node.gain.value=e}enableTrackANS(e){return this.update3A({noiseSuppression:e})}enableTrackAEC(e){if(this.sourceTrack&&!fO&&!nk)return this.update3A({echoCancellation:e})}addDenoiser(e){var t;hO<=92&&48e3!==(null==(t=this.trackSettings)?void 0:t.sampleRate)?this._log.warn("denoiser only support sampleRate 48000 before chrome 93"):(IL.addEnum({key:502700,value:1}),this.pipeline.denoiser.setNode(e),this.enableTrackANS(!1))}mixAudioReference(e,t){if(this.mixedAudioReferenceMap.has(t))return;this.log.info("mixAudioReference() => ".concat(t));let r=Kx(e);if(!r)return;let i=new Bx,o=Fx().createGain();o.gain.value=1;let n=new Bx;i.pipeTo(n).pipeTo(this.pipeline.mixNode),i.setNode(r),n.setNode(o),this.mixedAudioReferenceMap.set(t,[i,n])}unMixAudioReference(e){let[t,r]=this.mixedAudioReferenceMap.get(e)||[];t&&(this.log.info("unMixAudioReference() => ".concat(e)),t.deleteNode(),null==r||r.deleteNode(),this.mixedAudioReferenceMap.delete(e))}setAudioReferenceVolume(e,t){let[r,i]=this.mixedAudioReferenceMap.get(e)||[];null!=i&&i.node&&(i.node.gain.value=t/100,this.log.info("setAudioReferenceVolume() => ".concat(e," ").concat(i.node.gain.value)))}addAudioProcessor(e,t,r){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e)}removeDenoiser(e){if(this.pipeline.denoiser.node===e)return this.pipeline.denoiser.deleteNode(),this.enableTrackANS(!0)}removeAudioProcessor(e){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode())}close(){this.mixedAudioReferenceMap.forEach((e=>{let[t,r]=e;t.deleteNode(),r.deleteNode()})),this.mixedAudioReferenceMap.clear(),this.pipeline.remove(),this.earMonitorGainNode.deleteNode(),this._output.deleteNode(),tU.off("audioInputAdded",this.handleMicrophoneAdded,this),tU.off("audioInputRemoved",this.handleMicrophoneRemoved,this),KO.off(YO.AUDIO_CONTEXT_LONG_SUSPENDED,this.handleAudioContextLongSuspended,this),super.close()}recapture(t){let r=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return aw(this,null,(function*(){try{yield nw(e.prototype,this,"recapture").call(this,t,r)}catch(sM){let i=(yield oU()).find((e=>e.deviceId!==t));if(!i)throw sM;yield nw(e.prototype,this,"recapture").call(this,i.deviceId)}}))}encodeFrame(e){return this.manager?this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e,ntp:gw()}):e),e):e}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}handleAudioContextLongSuspended(e){let{isSuspended:t}=e;if(this.pipeline.isProcessEnabled)if(t){this.isAudioContextLongSuspended=!0,this.log.warn("context has suspended for ".concat(1.5," seconds, change to source audio").concat(_O?"":", non-Safari"));let e=this.sourceTrack||this.mediaTrack;e&&this.setOutputMediaStreamTrack(e)}else this.isAudioContextLongSuspended=!1,this.log.warn("context has resumed, change to processed audio"),this.pipeline.track&&this.setOutputMediaStreamTrack(this.pipeline.track)}setOutputMediaStreamTrack(e){if(this.isAudioContextLongSuspended){let t=this.sourceTrack||this.mediaTrack;t&&(e=t)}super.setOutputMediaStreamTrack(e)}},tB=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.dataView=e,this.isSEI&&(t?this.addPreventionByte():this.removePreventionByte())}addPreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-2,r=[],i=0;for(let n=e;n<=t;n++){let e=this.dataView.getInt8(n);switch(e){case 0:case 1:case 2:case 3:2===i&&(r.push(3),i=0),0==e?i++:i=0,r.push(e);break;default:i=0,r.push(e)}}r.push(this.dataView.getInt8(this.dataView.byteLength-1));let o=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...r]).buffer);this.dataView=o}removePreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-1,r=[],i=0;for(let n=e;n<=t;n++)switch(this.dataView.getInt8(n)){case 0:i++,r.push(this.dataView.getInt8(n));break;case 3:2!==i&&r.push(this.dataView.getInt8(n)),i=0;break;default:r.push(this.dataView.getInt8(n)),i=0}let o=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...r]).buffer);this.dataView=o}get isSEI(){return 6===this.dataView.getUint8(4)}get seiPayloadStartIndex(){let e=6;for(let t=6;t<this.dataView.buffer.byteLength&&(e++,255===this.dataView.getUint8(t));t++);return e}get seiPayloadType(){return this.isSEI?this.dataView.getUint8(5):null}get seiPayload(){if(!this.isSEI)return null;let e=0,t=6;for(let o=6;o<this.dataView.buffer.byteLength;o++){let r=this.dataView.getUint8(o);if(t++,255!==r){e+=r;break}e+=255}let r=new ArrayBuffer(e),i=new DataView(r);for(let o=0;o<r.byteLength;o++,t++)i.setInt8(o,this.dataView.getInt8(t));return i}},rB=class{constructor(){ow(this,"_seiMessageList",[]),ow(this,"_smallSeiMessageList",[]),ow(this,"_seiPayloadType",243)}encodeSEINalu(e){let t=e.byteLength,r=parseInt(String(t/255),10),i=t%255,o=[];o.push(0,0,0,1,6,this._seiPayloadType);for(let a=0;a<r;a++)o.push(255);o.push(i);let n=new DataView(e);return o.push(...new Uint8Array(n.buffer)),o.push(128),new tB(new DataView(new Uint8Array(o).buffer),!0)}sendSEI(e,t){null!=t&&t.seiPayloadType&&(this._seiPayloadType=t.seiPayloadType),this._seiMessageList.push(e),null!=t&&t.small&&this._smallSeiMessageList.push(e)}isEmpty(){return!this._seiMessageList.length}getNaluCount(e){let t=0,r=0,i=new DataView(e);for(let o=0;o<e.byteLength;o++)switch(i.getUint8(o)){case 0:t++;break;case 1:(2===t||3===t)&&r++,t=0;break;default:t=0}return r}encode(e,t){let r=t?this._smallSeiMessageList:this._seiMessageList;if(r.length>0&&e.data.byteLength>0){let t=9-this.getNaluCount(e.data);if(t<=0)return 0;let i=r.splice(0,t).reverse().map(this.encodeSEINalu.bind(this)),o=i.reduce(((e,t)=>e+t.dataView.byteLength),0),n=new ArrayBuffer(o+e.data.byteLength),a=new DataView(n),s=new DataView(e.data),c=0;for(let e=0;e<i.length;e++)for(let t=0;t<i[e].dataView.byteLength;t++)a.setInt8(c++,i[e].dataView.getInt8(t));for(let r=0;r<e.data.byteLength;r++)a.setInt8(c++,s.getInt8(r));return e.data=n,i.length}return 0}},iB=class e extends QF{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,Sx),ow(this,"profile",Qb({},Qw)),ow(this,"avoidCropping",!1),ow(this,"_scaleResolutionDownBy"),ow(this,"stat",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0,fpsCapture:0,framesCaptured:0}),ow(this,"small"),ow(this,"isNeedToSetBandwidth"),ow(this,"muteImage"),ow(this,"manager"),ow(this,"_seiCodec",new rB),this.manager=e;let t=()=>{var e;if(this.isAllowed2k4k(this.profile))this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1});else{let t=SD((null==(e=this.room)?void 0:e.sdkAppId)||0)?Fw:Vw;this.log.warn("Resolution is reset to 1080p, need to upgrade ability here ".concat(t)),this.setProfile(Zb(Qb({},this.profile),{width:1920,height:1080})),this.applyProfile()}};this.on("input-media-track-changed",t),this.on("publish",t),this.handleCameraAdded=this.handleCameraAdded.bind(this),this.handleCameraRemoved=this.handleCameraRemoved.bind(this)}get facingMode(){if(sP&&this.mediaTrack)return this.mediaTrack.getSettings().facingMode}get contentHint(){var e;return(null==(e=this._inputTrack)?void 0:e.contentHint)||""}get isQosClearFirst(){var e;return"detail"===(null==(e=this._inputTrack)?void 0:e.contentHint)}setMute(t){return aw(this,null,(function*(){var r,i,o;if(GD(t)){if(this.muteImage===t)return;yield null==(r=this.manager)?void 0:r.deleteWatermark("mute"),yield null==(i=this.manager)?void 0:i.setWatermark({x:0,y:0,width:this.settings.width,height:this.settings.height,type:"mute",zIndex:999,imageUrl:t,fillVideo:!0}),this.muteImage=t,nw(e.prototype,this,"setMute").call(this,!1)}else this.muteImage&&(yield null==(o=this.manager)?void 0:o.deleteWatermark("mute"),this.muteImage=void 0),nw(e.prototype,this,"setMute").call(this,t)}))}capture(t){return aw(this,arguments,(function(t){var r=this;let{deviceId:i,facingMode:o,useExactDeviceId:n=!0,customSource:a,retryWhenExactFailed:s=!0}=t;return function*(){let t={audio:!1,video:!0,facingMode:o||r.facingMode,cameraId:i,width:r.profile.width,height:r.profile.height,frameRate:r.profile.frameRate,useExactDeviceId:n,retryWhenExactFailed:s,customSource:a};if("environment"===t.facingMode){let e=yield r.getDeviceIdWhenUsingBackCamera();e&&(t.cameraId=e)}return nw(e.prototype,r,"capture").call(r,t)}()}))}setProfile(e){var t;let r=this.fallbackProfile(e);if(r.bitrate&&(this.isNeedToSetBandwidth=r.bitrate!==this.profile.bitrate),this.isAllowed2k4k(this.profile))super.setProfile(r);else{let e=SD((null==(t=this.room)?void 0:t.sdkAppId)||0)?Fw:Vw;this.log.warn("Resolution is reset to 1080p, need to upgrade ability here ".concat(e)),super.setProfile(Zb(Qb({},this.profile),{width:1920,height:1080}))}}applyProfile(){return aw(this,null,(function*(){var e;if(!this.mediaTrack)return;let{width:t=0,height:r=0}=(this.sourceTrack||this.mediaTrack).getSettings(),i=t*r,o=this.settings,n=o.height!==this.profile.height||o.width!==this.profile.width||o.frameRate!==this.profile.frameRate;if(n&&(16===IO&&this.deviceId?yield this.recapture(this.deviceId):(yield null==(e=this.sourceTrack||this.mediaTrack)?void 0:e.applyConstraints({width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate}),this.manager&&this.manager.changeInput(this)),this.room&&this.settings.height>=1440&&"publish"===this.state&&this.room.sendAbilityStatus({"2k4k":1})),this.isNeedToSetBandwidth&&this.room&&this.room.setBandWidth){this.isNeedToSetBandwidth=!1;let{width:e=0,height:t=0}=(this.sourceTrack||this.mediaTrack).getSettings(),r=e*t;return n&&r&&i&&r===i?void this.log.warn("set bandwidth failed: resolution is not changed"):this.room.setBandWidth({bandwidth:this.profile.bitrate,type:tC.VIDEO,videoType:tC.BIG})}}))}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate},t=this.sourceTrack||this.mediaTrack;return sP&&t&&Object.assign(e,t.getSettings()),e}get scaleResolutionDownBy(){return this._scaleResolutionDownBy?this._scaleResolutionDownBy:wN(this.settings,this.profile)}isAllowed2k4k(e){var t;return!(this.room&&this.room.scheduleResult&&!this.isScreen&&!(e.height*e.width<3686400))||1===(null==(t=this.room.scheduleResult.trtcAutoConf)?void 0:t["2k4k"])}isNeedToSwitchDevice(e){return!(!this.mediaTrack||this.deviceId===e||this.facingMode===e)}switchDevice(e){return aw(this,null,(function*(){try{if(!this.isNeedToSwitchDevice(e)&&!this.isUseCustomSource)return;let t={useExactDeviceId:!0,retryWhenExactFailed:!1};"user"===e||"environment"===e?t.facingMode=e:t.deviceId=e,this.sourceTrack&&this.sourceTrack.stop(),yield this.capture(t),KO.emit(YO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success")}catch(DC){throw this.log.error("switch camera failed ".concat(DC)),this.deviceId&&this.recapture(this.deviceId),DC}}))}getDeviceIdWhenUsingBackCamera(){return aw(this,null,(function*(){let e;try{if(Xk&&!nO&&lP){let t=(yield nU(!0)).map((e=>{var t;return Zb(Qb({},e),{capabilities:null==(t=e.getCapabilities)?void 0:t.call(e)})})).filter((e=>{var t,r;return null==(r=null==(t=e.capabilities)?void 0:t.facingMode)?void 0:r.includes("environment")})),r=t[0];t.forEach((e=>{var t,i,o,n;let{capabilities:a}=e;(null!=(t=a.width)&&t.max&&null!=(i=a.height)&&i.max?a.width.max*a.height.max:0)>(null!=(o=r.capabilities.width)&&o.max&&null!=(n=r.capabilities.height)&&n.max?r.capabilities.width.max*r.capabilities.height.max:0)&&(r=e)})),null!=r&&r.capabilities&&(this._log.info("use max resolution back camera",r),e=r.deviceId)}}catch(DC){this._log.warn("get max res camera failed",DC)}return e}))}updateSmallConfig(e){var t,r;this._log.info("update small stream config: ".concat(JSON.stringify(e)));let i=!this.small;this.small=this.fallbackProfile(e,!0),null==(t=this.manager)||t.update(),i&&(null==(r=this.room)||r.enableSmall(!0)),this.log.info("update small stream config success")}fallbackProfile(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=e.width>e.height,i=Qb({},e);return e.width*e.height<=19200&&ak&&lO&&(this.log.warn("".concat(t?"small ":"","resolution is ").concat(e.width,"*").concat(e.height,", fallback to 240*180 for android chrome")),i.width=r?240:180,i.height=r?180:240,i.bitrate=Math.max(e.bitrate,150)),e.width*e.height>921600&&RO&&(i.width=r?1280:720,i.height=r?720:1280,this.log.warn("reset to 1280 * 720 on iOS 13~14")),yO(vO,"14.3")&&TO(vO,"14.0",!0)&&this.on("7",(()=>{let e=this.profile.width>this.profile.height;this.profile.width*this.profile.height>307200?(this.profile.width=e?640:480,this.profile.height=e?480:640,this.log.warn("reduce the resolution to 480p on iOS 14.0 ~ 14.2")):this.profile.width*this.profile.height>230400&&(this.profile.width=e?640:360,this.profile.height=e?360:640,this.log.warn("reduce the resolution to 360p on iOS 14.0 ~ 14.2"))})),!t&&this.avoidCropping&&(lO||dk)&&!OO()&&e.width*e.height<=230400&&e.width/e.height==16/9&&(this._scaleResolutionDownBy=1280/e.width,e.width=1280,e.height=720,this.log.warn("capture 720p, scale: ".concat(this._scaleResolutionDownBy))),i}stopSmall(){var e,t;this.small&&(delete this.small,null==(e=this.manager)||e.update(),null==(t=this.room)||t.enableSmall(!1))}listenDeviceChange(){tU&&!tU.listeners("videoInputRemoved").includes(this.handleCameraRemoved)&&tU.on("videoInputRemoved",this.handleCameraRemoved,this)}handleCameraRemoved(e){return aw(this,null,(function*(){if(e.deviceId===this.deviceId){let t=1===this.recaptureMode;if(this.log.warn("RecaptureMode: ".concat(XF[this.recaptureMode],". Current camera is lost: ").concat(JSON.stringify(e))),0===this.recaptureMode){zB(this.userId,{eventId:2003,param1:7,streamType:2});let e=yield nU();e[0]?this.recapture(e[0].deviceId):t=!0}t&&tU.on("videoInputAdded",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return aw(this,null,(function*(){1===this.recaptureMode&&e.deviceId!==this.deviceId||(tU.off("videoInputAdded",this.handleCameraAdded,this),this.log.warn("camera added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId))}))}encodeFrame(e,t){if(!this.manager)return e;let r=t?8:this.mediaType;return this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e,mediaType:r}):e),e)}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}play(e,t){return jD(this.mirror)&&!this.isScreen&&this.setMirror("view"),super.play(e,t)}close(){tU.off("videoInputAdded",this.handleCameraAdded,this),tU.off("videoInputRemoved",this.handleCameraRemoved,this),super.close()}recapture(t){return aw(this,null,(function*(){try{yield nw(e.prototype,this,"recapture").call(this,t)}catch(DC){let i=(yield nU()).find((e=>e.deviceId!==t));if(!i)throw DC;yield nw(e.prototype,this,"recapture").call(this,i.deviceId)}}))}setContentHint(e){this.mediaTrack&&"contentHint"in this.mediaTrack&&(this.mediaTrack.contentHint!==e&&(this.log.info("setContentHint ".concat(e)),this.mediaTrack.contentHint=e),this.outMediaTrack&&this.outMediaTrack.contentHint!==e&&(this.outMediaTrack.contentHint=e))}setRotation(e){this.manager&&(this.isScreen||jD(e)||e!==this.rotation&&(this.rotation=e,this.manager.rotation=e))}};iw([AU((function(e){this.setContentHint(e.contentHint||"motion")}))],iB.prototype,"capture",1);var oB=iB,nB={};tw(nB,{REPORT_TYPE:()=>kN,buildSSOPackage:()=>ON,bytes2ms:()=>OD,calculateScaleResolutionDownNumber:()=>wN,concatArrayBuffers:()=>MN,convertObjectNumberToInt:()=>IN,copyProperties:()=>kD,deepClone:()=>hN,deepCloneBasic:()=>NN,deepMerge:()=>uN,delay:()=>AN,fibonacci:()=>FD,formatedTime:()=>fN,getConstructorName:()=>ZD,getContainerFromElement:()=>mN,getEnv:()=>AD,getFirst16Bits:()=>PN,getInternalVersion:()=>nN,getLast16Bits:()=>LN,getLoggerUrl:()=>RD,getMediaStreamTrackInfo:()=>bN,getMuteStateFromFlag:()=>cN,getNetworkType:()=>wD,getNumNetworkType:()=>ND,getReconnectionTimeout:()=>BD,getStringByteLength:()=>EN,getTurnServer:()=>lN,getUint32Version:()=>TN,getValueType:()=>HD,getViewListFromView:()=>pN,glog:()=>xD,ipv4ToUint32:()=>dN,isArray:()=>YD,isAudioWorkletSupported:()=>eN,isBoolean:()=>KD,isConstructor:()=>QD,isEmpty:()=>sN,isFunction:()=>WD,isLangChinese:()=>UD,isMediaStreamTrack:()=>JD,isNumber:()=>zD,isObject:()=>qD,isOverseaSdkAppId:()=>SD,isPlainObject:()=>VD,isPortrait:()=>vN,isPromise:()=>$D,isRemoteTrack:()=>XD,isRotate90Or270:()=>CN,isSetSinkIdSupported:()=>tN,isString:()=>GD,isUndefined:()=>jD,loadImage:()=>yN,loadVideo:()=>DN,ms2bytes:()=>LD,ms2samples:()=>PD,normalizeUrl:()=>RN,performanceNow:()=>iN,promiseAny:()=>rN,samples2ms:()=>MD,setNetworkType:()=>DD,stringify:()=>_N,stringifyIncludeValue:()=>gN,throttlePromise:()=>SN});var aB=[-1,-1,1,-1,-1,1,1,1],sB=[0,0,1,0,0,1,1,1],cB=class e extends FP{constructor(e,t){if(super(),this.context=e,ow(this,"name"),ow(this,"input"),ow(this,"output"),ow(this,"texture"),ow(this,"ctx2d",null),ow(this,"fbo"),ow(this,"width",0),ow(this,"height",0),ow(this,"x",0),ow(this,"y",0),ow(this,"program"),ow(this,"vertexShader"),ow(this,"fragmentShader"),ow(this,"totalFrames",0),ow(this,"dropFrames",0),ow(this,"matchInputSize",!0),ow(this,"texCoordBuffer"),ow(this,"positionBuffer"),ow(this,"lastInfo",{name:"",timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),ow(this,"cost",0),ow(this,"_canvas",null),ow(this,"_image"),ow(this,"log"),this.context.on("disconnect",this.close,this),this.name=t.name,this.log=t.logger,this.matchInputSize=!1!==t.matchInputSize,this.width=t.width||e.width,this.height=t.height||e.height,this._image=t.image,e instanceof RB)e.ctx&&t.create2d&&("function"==typeof OffscreenCanvas&&16!==IO?this._canvas=new OffscreenCanvas(this.width,this.height):(this._canvas=document.createElement("canvas"),this._canvas.width=this.width,this._canvas.height=this.height),this.ctx2d=this._canvas.getContext("2d"),this._image=this._canvas);else try{let r=e.ctx;this.texCoordBuffer=this.createBuffer(sB),this.positionBuffer=this.createBuffer(aB),!1!==t.createTexture&&(this.texture=r.createTexture(),this.useTexture(),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.pixelStorei(r.UNPACK_ALIGNMENT,1)),t.useFbo&&(this.fbo=r.createFramebuffer(),this.useBufferFrame(),this.useTexture(),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,this.width,this.height,0,r.RGBA,r.UNSIGNED_BYTE,null),r.framebufferTexture2D(r.FRAMEBUFFER,r.COLOR_ATTACHMENT0,r.TEXTURE_2D,this.texture,0)),t.useDefaultProgram?this.program=e.defaultProgam:(t.vertexShaderSource||t.fragmentShaderSource)&&(this.vertexShader=t.vertexShaderSource?e.createShader(r.VERTEX_SHADER,t.vertexShaderSource):e.defaultVShader,this.fragmentShader=t.fragmentShaderSource?e.createShader(r.FRAGMENT_SHADER,t.fragmentShaderSource):e.defaultFShader,this.program=e.createProgram(this.vertexShader,this.fragmentShader))}catch(sM){this.context.destroy(new fw({code:pw.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(sM.message||sM)}))}}get image(){return this._image}set image(e){this._image=e}createFramebuffer(e){let t=this.context.ctx,r=t.createFramebuffer();return t.bindFramebuffer(t.FRAMEBUFFER,r),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,e,0),r}connect(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return e.addInput(this,...r),this.output=e,e}addInput(e){this.input=e,this.matchInputSize&&e.width&&e.height&&this.resize(e.width,e.height)}requestFrame(e){let t=Date.now();return!!(this.context instanceof SB&&this.render(e)||this.context instanceof RB&&this.render2d(e))&&(this.totalFrames++,this.cost=Date.now()-t,!0)}render2d(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&this.draw2d(this.input.image,0,0,this.width,this.height)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;var t;null==(t=this.output)||t.update(e)}disconnect(){for(var e,t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];null==(e=this.output)||e.removeInput(this,...r),delete this.output}removeInput(e){delete this.input}close(){var e,t;if(this.context.off("disconnect",this.close,this),null==(e=this.output)||e.removeInput(this),delete this.output,null==(t=this.input)||t.disconnect(),this.context instanceof SB){let e=this.context.ctx;e.deleteBuffer(this.texCoordBuffer),e.deleteBuffer(this.positionBuffer),this.fbo&&e.deleteFramebuffer(this.fbo),this.texture&&e.deleteTexture(this.texture),this.vertexShader&&this.vertexShader!==this.context.defaultVShader&&e.deleteShader(this.vertexShader),this.fragmentShader&&this.fragmentShader!==this.context.defaultFShader&&e.deleteShader(this.fragmentShader),this.program&&this.program!==this.context.defaultProgam&&e.deleteProgram(this.program)}this._canvas&&(this._canvas.width=0,this._canvas.height=0,this.ctx2d=null),this.removeAllListeners()}useTexture(){this.useTextures(this.texture)}useInputTexture(){var e;this.useTextures(null==(e=this.input)?void 0:e.texture)}useTextures(){let e=this.context.ctx;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];r.forEach(((t,r)=>{t&&(e.activeTexture(e.TEXTURE0+r),e.bindTexture(e.TEXTURE_2D,t))}))}useProgram(){this.context.ctx.useProgram(this.program)}useBufferFrame(){let e=this.context.ctx;e.bindFramebuffer(e.FRAMEBUFFER,this.fbo||null)}createBuffer(e){let t=this.context.ctx,r=t.createBuffer();return t.bindBuffer(t.ARRAY_BUFFER,r),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW),r}setTexBuffer(e){let t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.texCoordBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}setPosBuffer(e){let t=this.context.ctx;t.bindBuffer(t.ARRAY_BUFFER,this.positionBuffer),t.bufferData(t.ARRAY_BUFFER,new Float32Array(e),t.STATIC_DRAW)}changeBufferData(e,t){let r=this.context.ctx;r.bindBuffer(r.ARRAY_BUFFER,e),r.bufferData(r.ARRAY_BUFFER,new Float32Array(t),r.STATIC_DRAW)}setAttributes(){let e=this.context.ctx;for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];r.forEach(((t,r)=>{e.enableVertexAttribArray(r),e.bindBuffer(e.ARRAY_BUFFER,t),e.vertexAttribPointer(r,2,e.FLOAT,!1,0,0)}))}getVertexPoint(e,t){return[e/this.width*2-1,t/this.height*2-1]}layout2texCoords(e){return[...this.getVertexPoint(e.x,e.y),...this.getVertexPoint(e.x+e.width,e.y),...this.getVertexPoint(e.x,e.y+e.height),...this.getVertexPoint(e.x+e.width,e.y+e.height)]}resize(e,t){if(this.width!==e||this.height!==t){if(this.width=e,this.height=t,this._canvas&&(this._canvas.width=e,this._canvas.height=t),this.texture&&this.fbo){this.useTexture();let r=this.context.ctx;r.texImage2D(r.TEXTURE_2D,0,r.RGBA,e,t,0,r.RGBA,r.UNSIGNED_BYTE,null)}this.output&&this.output.matchInputSize&&this.output.resize(e,t)}}draw(e,t){this.setAttributes(e||this.positionBuffer,t||this.texCoordBuffer);let r=this.context.ctx;r.drawArrays(r.TRIANGLE_STRIP,0,4)}draw2d(t,r,i,o,n,a,s,c,l){let d=!(jD(a)||jD(s)||jD(c)||jD(l));return!(!this.ctx2d||!t)&&(t instanceof ImageData?(d?this.ctx2d.putImageData(t,r,i,a,s,c,l):this.ctx2d.putImageData(t,r,i),this.emit(e.RENDER,this.ctx2d.canvas)):(d?this.ctx2d.drawImage(t,a,s,c,l,r,i,o,n):this.ctx2d.drawImage(t,r,i,o,n),this.emit(e.RENDER,t)),"undefined"!=typeof VideoFrame&&t instanceof VideoFrame&&t.close(),!0)}drawBackGround2d(e){this.ctx2d&&(this.ctx2d.save(),this.ctx2d.fillStyle=e,this.ctx2d.fillRect(0,0,this.width,this.height),this.ctx2d.restore())}getInfo(){var e;let{totalFrames:t,x:r,y:i,width:o,height:n,name:a,cost:s}=this,c=Date.now(),l=(t-this.lastInfo.totalFrames)/((c-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:t,x:r,y:i,width:o,height:n,timestamp:c,fps:l,name:a,cost:s},Qb({parent:null==(e=this.input)?void 0:e.getInfo()},this.lastInfo)}createTexture(e){let t=this.context.ctx,r=t.createTexture();return this.useTextures(r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),r}};ow(cB,"RENDER","render"),iw([xP(FP.INIT,"connected",{sync:!0})],cB.prototype,"connect",1),iw([xP("connected",FP.INIT,{ignoreError:!0,sync:!0})],cB.prototype,"disconnect",1),iw([xP([],"closed",{sync:!0})],cB.prototype,"close",1);var lB=cB,dB=jU(vV(250),_F((()=>performance.now())),$U()),uB=e=>t=>{let r=performance.now();jU(dB,XV((t=>t-r<e)),GV(1))(t)},hB=[0,1,1,1,0,0,1,0],pB=class extends lB{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},t)),ow(this,"_intervalId",0),ow(this,"_sequence",0),ow(this,"checkGLError",!1),ow(this,"checkVisibilityChange"),e instanceof RB?this.ctx2d=e.ctx||null:e.available&&null!=t&&t.mirrorUpAndDown&&this.setTexBuffer(hB)}start(e){this.log.info("".concat(this.name," start render ").concat(e," fps")),zP.clearTask(this._intervalId),this._intervalId=zP.run("intervalInWorker",(()=>{if(e!==this.context.frameRate&&(zP.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++),this.checkGLError&&this.context instanceof SB){let e=this.context.ctx.getError();e&&this.context.destroy(new fw({code:pw.VIDEO_MANAGER_ERROR,extraCode:5,message:"".concat(this.name," req ").concat(this._sequence," render ").concat(this.totalFrames," faild ").concat(e)}))}}),{fps:this.context.frameRate})}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),this.emit(lB.RENDER,this.context._canvas),!0)}addInput(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];super.addInput(e,...r),this.start(this.context.frameRate)}update(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;"closed"!==this.state&&(this._intervalId&&(zP.clearTask(this._intervalId),this._intervalId=0,1===e&&(this.log.info("".concat(this.name," use requestVideoFrameCallback")),this.checkVisibilityChange=()=>{document.hidden&&(this.start(this.context.frameRate),this.log.info("".concat(this.name," use timer")),document.removeEventListener("visibilitychange",this.checkVisibilityChange))},document.addEventListener("visibilitychange",this.checkVisibilityChange))),this.requestFrame(this._sequence++))}removeInput(e){super.removeInput(e),zP.clearTask(this._intervalId)}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}close(){super.close(),zP.clearTask(this._intervalId),document.removeEventListener("visibilitychange",this.checkVisibilityChange)}},mB=class extends pB{constructor(e,t){super(e,t),ow(this,"_videoTrack"),ow(this,"_muteOb"),ow(this,"_closedOb",AV(this,"closed")),ow(this,"_subscription"),ow(this,"_canvasContainer"),Number(gO)<17&&(this._canvasContainer=document.createElement("div"),this._canvasContainer.style.display="none"),[this._videoTrack]=e.canvas.captureStream().getVideoTracks(),this._muteOb=AV(this._videoTrack,"mute"),jU(AV(this._videoTrack,"ended"),zV(this._closedOb),KF((()=>{this.context.destroy(new fw({code:pw.VIDEO_MANAGER_ERROR,extraCode:8,message:"video track ended"}))})))}enableCheckMute(){this._subscription=jU(this._muteOb,zV(this._closedOb),SF(uB(5e3)),WV((()=>{var e;return!(null==(e=this._videoTrack)||!e.muted||document.hidden)})),KF((()=>{this.context.destroy(new fw({code:pw.VIDEO_MANAGER_ERROR,extraCode:7,message:"video track muted"}))})))}disableCheckMute(){var e;null==(e=this._subscription)||e.dispose()}get videoTrack(){return this._videoTrack}putCanvasIntoDom(){!this.context._canvas||!this._canvasContainer||document.getElementById(this.context._canvas.id)||(this.log.info("".concat(this.name," put canvas to body")),document.body.appendChild(this._canvasContainer),this._canvasContainer.appendChild(this.context._canvas))}render(e){return this.putCanvasIntoDom(),super.render(e)}render2d(e){return this.putCanvasIntoDom(),super.render2d(e)}close(){var e,t;super.close(),null==(e=this._videoTrack)||e.stop(),delete this._videoTrack,null==(t=this._canvasContainer)||t.remove()}},fB=class extends mB{render(e){var t;let r=!(null==(t=this.input)||!t.requestFrame(e));if(this.context._canvas2d){let e=this.context._canvas2d.getContext("2d");e.clearRect(0,0,this.context._canvas2d.width,this.context._canvas2d.height),e.drawImage(this.context._canvas,0,0,this.context._canvas2d.width,this.context._canvas2d.height)}return r}},_B=class extends mB{constructor(e,t,r){super(e,{name:"smallDestination",logger:r}),this.resolution=t}resize(e,t){let r,i=e*t,o=this.resolution.width*this.resolution.height;this.log.info("big res: ".concat(e,"*").concat(t," small res: ").concat(this.resolution.width,"*").concat(this.resolution.height," ")),i>o?r=i/o:(this.log.warn("Small stream resolution is not smaller than big stream, which is invalid. big: ".concat(e," * ").concat(t," small: ").concat(this.resolution.width," * ").concat(this.resolution.height)),r=i/19200),super.resize(e/Math.sqrt(r),t/Math.sqrt(r))}},gB=class extends lB{constructor(e,t){super(e,Qb({name:"imageSource"},t)),ow(this,"_lastImage"),ow(this,"_totalFrames",0),ow(this,"_autoResize",!1),ow(this,"_canvasRendered"),ow(this,"videoCallbackId",0),ow(this,"waitingFirstFrame",!0),ow(this,"shouldUpdate",!0),this._autoResize=!1!==(null==t?void 0:t.autoResize),16===IO&&(this._canvasRendered=dV(),jU(this._canvasRendered,nV(this._image),IF((e=>e instanceof HTMLCanvasElement?AV(e,"rendered"):PV())),zV(AV(this,"closed")),KF((()=>{this.update()}))))}onFirstFrame(){this.waitingFirstFrame=!1}tryVideoFrameCallback(){if(!this.shouldUpdate)return;let e=this.image;this.videoCallbackId&&e.cancelVideoFrameCallback(this.videoCallbackId),IP()&&!document.hidden&&(this.videoCallbackId=e.requestVideoFrameCallback(((e,t)=>{this.waitingFirstFrame&&this.onFirstFrame(),document.hidden||(this._totalFrames=t.presentedFrames,this.update(1))})))}_render(e,t){var r;let{width:i,height:o}=this,{image:n}=this;if(n instanceof HTMLVideoElement){if(this.tryVideoFrameCallback(),({videoWidth:i,videoHeight:o}=n),!i||!o)return!1;n.width=i,n.height=o}else if(n instanceof HTMLImageElement||n instanceof ImageData||n instanceof ImageBitmap){if(({width:i,height:o}=n),n!==this._lastImage)this._lastImage=n;else if(i===this.width&&o===this.height)return!0}else n instanceof HTMLCanvasElement||n instanceof OffscreenCanvas?(({width:i,height:o}=n),this._lastImage=n):"undefined"!=typeof VideoFrame&&n instanceof VideoFrame&&(({displayWidth:i,displayHeight:o}=n),null==(r=this._lastImage)||r.close(),this._lastImage=n);if(!this._autoResize)return!0;if(this.width===i&&this.height===o&&this.totalFrames){if(t){this.useTexture();let e=this.context.ctx;e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,n)}}else{if(t){this.useTexture();let e=this.context.ctx;e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,n)}this.resize(i,o)}return!0}get image(){return this._image}set image(e){var t;null==(t=this._canvasRendered)||t.next(e),this._image=e}render(e){return this._render(e,!0)}render2d(e){return this._render(e,!1)}},EB=class extends gB{constructor(e,t,r){super(e,r),this._player=t,this.name="videoPlayerSource",jU(AV(this._player,KP.PLAYER_STATE_CHANGED),zV(AV(this,"closed")),WV((e=>{let{state:t}=e;return"PLAYING"===t})),KF((()=>{this.tryVideoFrameCallback()})))}get image(){return this._player.element}},vB=class extends EB{get available(){return this._player.isPlaying&&!this.waitingFirstFrame}constructor(e,t,r){super(e,new Sx({id:r.name,track:t,muted:!0,container:null,objectFit:"contain",log:r.logger}),r),this.name="videoTrackSource",this._player.play()}replaceTrack(e){this.waitingFirstFrame=!0,this._player.setTrack(e),this._player.play()}close(){super.close(),this._player.stop()}},yB=class extends lB{constructor(e,t,r){super(e,Zb(Qb({name:"textSource"},r),{create2d:!0})),ow(this,"hasChange",!0),ow(this,"content",""),this.ctx2d.textBaseline="top",this.content=t.content||"",t.font&&(this.font=t.font),t.color&&(this.color=t.color)}set font(e){this.ctx2d&&(this.ctx2d.font=e,this.hasChange=!0)}get font(){var e;return(null==(e=this.ctx2d)?void 0:e.font)||""}set color(e){this.ctx2d&&(this.ctx2d.fillStyle=e,this.hasChange=!0)}get color(){var e;return(null==(e=this.ctx2d)?void 0:e.fillStyle)||""}render2d(e){return!(!this.ctx2d||!this.hasChange)&&(this.ctx2d.clearRect(0,0,this.width,this.height),this.drawMultilineText(0,0),this.hasChange=!1,!0)}render(e){return!1}resize(e,t){if(!this.ctx2d)return;let{color:r,font:i}=this;super.resize(e,t),this.color=r,this.font=i}drawMultilineText(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1.2;if(!this.ctx2d)return;let i=this.ctx2d.measureText(this.content);t+=i.fontBoundingBoxAscent||i.actualBoundingBoxAscent||0;let o=this.font.match(/(\d+)px/),n=(o?parseInt(o[1],10):16)*r,a=this.content.split("\n");for(let s=0;s<a.length;s++)this.ctx2d.fillText(a[s],e,t+s*n)}},TB=class extends FP{constructor(e){super(),ow(this,"frameRate"),ow(this,"_canvas"),ow(this,"log"),ow(this,"hasAlpha",!1),ow(this,"name"),ow(this,"error"),this.name=e.name,this.log=e.logger.createChild({id:"vc-".concat(this.name)}),this.frameRate=e.frameRate}get canvas(){return this._canvas}set width(e){this._canvas&&(this._canvas.width=e)}get width(){var e;return(null==(e=this._canvas)?void 0:e.width)||0}set height(e){this._canvas&&(this._canvas.height=e)}get height(){var e;return(null==(e=this._canvas)?void 0:e.height)||0}setSize(e,t){this._canvas&&(this._canvas.width=e,this._canvas.height=t)}createVideoTrackSource(e,t){return new vB(this,e,{logger:this.log,name:t})}createVideoTrackDestination(e){return new mB(this,e)}createVideoImageSource(e,t){return new gB(this,t?Object.assign(t,{logger:this.log,image:e}):{logger:this.log,image:e})}createVideoPlayerSource(e,t){return new EB(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}createTextSource(e,t){return new yB(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}get available(){return"created"===this.state}disconnect(){this.emit("disconnect")}};ow(TB,"_ids",0);var IB={alpha:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0,powerPreference:"low-power"},AB=class extends TB{constructor(){super(...arguments),ow(this,"defaultProgam"),ow(this,"defaultVShader"),ow(this,"defaultFShader"),ow(this,"ctx"),ow(this,"_canvas2d")}get canvas(){return this._canvas2d||this._canvas}create(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];if(this._canvas||(this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(TB._ids++)),e&&(this._canvas2d=document.createElement("canvas")),this.ctx=this._canvas.getContext("webgl2",IB),!this.ctx)throw new fw({code:pw.VIDEO_MANAGER_ERROR,extraCode:2,message:"webgl2 not supported"});this.defaultVShader=this.createShader(this.ctx.VERTEX_SHADER,"\n// 顶点着色器\nattribute vec4 a_position;\nattribute vec2 a_texCoord;\nvarying vec2 v_texCoord;\n\nvoid main() {\n gl_Position = a_position;\n v_texCoord = a_texCoord;\n}\n"),this.defaultFShader=this.createShader(this.ctx.FRAGMENT_SHADER,"\n// 片元着色器\nprecision mediump float;\nvarying vec2 v_texCoord;\nuniform sampler2D u_texture;\n\nvoid main() {\n gl_FragColor = texture2D(u_texture, v_texCoord);\n} "),this.defaultProgam=this.createProgram(this.defaultVShader,this.defaultFShader),this._canvas.addEventListener("webglcontextlost",(()=>{this.destroy(new fw({code:pw.VIDEO_MANAGER_ERROR,extraCode:4,message:"webgl context lost"}))}))}destroy(e){let t="";return e&&(t=e.message,this.error=e,IL.addFailedEvent({key:512702,error:e})),this.disconnect(),this.log.info("video context destroy".concat(t)?": ".concat(t):""),this.ctx&&(this.ctx.deleteShader(this.defaultVShader),this.ctx.deleteShader(this.defaultFShader),this.ctx.deleteProgram(this.defaultProgam),delete this.ctx),e}set width(e){var t;null==(t=this.ctx)||t.viewport(0,0,e,this.height),super.width=e,this._canvas2d&&(this._canvas2d.width=e)}set height(e){var t;null==(t=this.ctx)||t.viewport(0,0,this.width,e),super.height=e,this._canvas2d&&(this._canvas2d.height=e)}setSize(e,t){var r;null==(r=this.ctx)||r.viewport(0,0,e,t),super.setSize(e,t),this._canvas2d&&(this._canvas2d.width=e,this._canvas2d.height=t)}createShader(e,t){let r=this.ctx,i=r.createShader(e);return r.shaderSource(i,t),r.compileShader(i),i}createProgram(e,t){let r=this.ctx,i=r.createProgram();return r.attachShader(i,e),r.attachShader(i,t),r.linkProgram(i),r.getProgramParameter(i,r.LINK_STATUS)||this.log.error(r.getProgramInfoLog(i)),i}};ow(AB,"UNAVAILABLE","unavailable"),iw([xP(FP.INIT,"created",{sync:!0,fail(e){this.log.error("video gl context create failed",e.cause),IL.addFailedEvent({key:512700,error:e.cause||e})},success(){this.log.info("video context created use webgl"),IL.addSuccessEvent({key:512700})}})],AB.prototype,"create",1),iw([xP("created",FP.INIT,{ignoreError:!0,sync:!0,success(e){e&&this.emit(AB.UNAVAILABLE,e),this.removeAllListeners()}})],AB.prototype,"destroy",1);var SB=AB,RB=class extends TB{constructor(){super(...arguments),ow(this,"ctx")}create(e){if(this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(TB._ids++),this.ctx=this._canvas.getContext("2d",{alpha:e.alpha}),!this.ctx)throw new fw({code:pw.VIDEO_MANAGER_ERROR,extraCode:2,message:"2d context not supported"});this._canvas.addEventListener("contextlost",(()=>{this.log.error("2d context lost")})),this._canvas.addEventListener("contextrestored",(()=>{this.log.warn("2d context restored")}))}destroy(e){let t="";e&&(t=e.message,this.error=e,IL.addFailedEvent({key:512703,error:e})),this.disconnect(),this.log.info("video context destroy ".concat(t?": ".concat(t):"")),delete this.ctx,this._canvas&&(this._canvas.remove(),this._canvas.width=0,this._canvas.height=0,delete this._canvas),this.removeAllListeners(),IL.addSuccessEvent({key:512703})}};function bB(e,t,r,i,o){arguments.length>5&&void 0!==arguments[5]&&arguments[5]&&([r,i]=[i,r]);let n={sWidth:e,sHeight:t,dWidth:r,dHeight:i,sx:0,sy:0,dx:0,dy:0};if(0===e||0===t)return n;switch(o){case void 0:case"fill":break;case"contain":{let o=Math.min(r/e,i/t);n.dWidth=e*o,n.dHeight=t*o,n.dx=(r-n.dWidth)/2,n.dy=(i-n.dHeight)/2;break}case"cover":{let o=Math.max(r/e,i/t),a=r/o,s=i/o;n.sx=(e-a)/2,n.sy=(t-s)/2,n.sWidth=a,n.sHeight=s;break}}return n}iw([xP(FP.INIT,"created",{sync:!0,fail(e){this.log.error("video 2d context create failed",e.cause),IL.addFailedEvent({key:512701,error:e.cause||e})},success(){this.log.info("video context created use 2d"),IL.addSuccessEvent({key:512701})}})],RB.prototype,"create",1),iw([xP("created",FP.INIT,{ignoreError:!0,sync:!0})],RB.prototype,"destroy",1);var wB=class{constructor(e,t){this.node=e,this.layout=t,ow(this,"positionBuffer")}get x(){return this.layout.x||this.node.x}get y(){return this.layout.y||this.node.y}get width(){return this.layout.width||this.node.width}get height(){return this.layout.height||this.node.height}get right(){return this.x+this.width}get bottom(){return this.y+this.height}get fillMode(){return this.layout.fillMode}get rotation(){return this.layout.rotation}get hidden(){return!!this.layout.hidden}},CB=class extends lB{constructor(e,t){super(e,{useDefaultProgram:!0,useFbo:!0,name:"mix",create2d:!0,logger:t}),ow(this,"inputs",[]),ow(this,"backgroundColor","black")}addInput(e,t){let r=0,i=this.inputs.length;for(;r<i;){let e=Math.floor((r+i)/2);if(this.inputs[e].layout.zIndex<t.zIndex)r=e+1;else{if(!(this.inputs[e].layout.zIndex>t.zIndex))throw new Error("input already exists at zIndex ".concat(t.zIndex));i=e}}let o=new wB(e,t);this.inputs.splice(r,0,o)}changeInputLayout(e,t){let r=this.inputs.findIndex((t=>t.node===e));if(r<0)return;let{x:i,y:o,width:n,height:a,zIndex:s,fillMode:c,rotation:l,hidden:d}=t;if(!jD(s)&&this.inputs.some((t=>t.layout.zIndex===s&&t.node!==e)))throw new Error("input already exists at zIndex ".concat(t.zIndex));let u=this.inputs[r];jD(i)||(u.layout.x=i),jD(o)||(u.layout.y=o),jD(n)||(u.layout.width=n),jD(a)||(u.layout.height=a),jD(l)||(u.layout.rotation=l),jD(d)||(u.layout.hidden=d),c&&(u.layout.fillMode=c),!jD(s)&&s!==u.layout.zIndex&&(u.layout.zIndex=s,this.inputs.sort(((e,t)=>e.layout.zIndex-t.layout.zIndex)))}hasInput(e){return this.inputs.some((t=>t.node===e))}hasNoInput(){return 0===this.inputs.length}resize(e,t){if(!this.matchInputSize)return void super.resize(e,t);let r=this.inputs.reduce(((e,t)=>t?Object.assign(e,{width:Math.max(e.width,t.right),height:Math.max(e.height,t.bottom)}):e),{width:0,height:0});super.resize(r.width,r.height),this.context instanceof SB&&this.inputs.forEach((e=>{if(e){let t=this.layout2texCoords(e);e.positionBuffer?this.changeBufferData(e.positionBuffer,t):e.positionBuffer=this.createBuffer(t)}}))}connect(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return super.connect(e,...r),this.drawBackGround2d(this.backgroundColor),this.matchInputSize&&this.resize(0,0),e}removeInput(e){this.inputs=this.inputs.filter((t=>t.node!==e)),0===this.inputs.length&&this.drawBackGround2d(this.backgroundColor)}render(e){let t=this.context.ctx;if(t.clearColor(0,0,0,0),this.inputs.reduce(((t,r)=>r.node.requestFrame(e)||t),!1)&&t){this.useProgram(),t.enable(t.BLEND),t.blendFunc(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA),this.useBufferFrame();for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];t&&(t.node.useTexture(),this.draw(t.positionBuffer))}return!0}return!1}render2d(e){if(this.inputs.forEach((t=>t.node.requestFrame(e))),this.ctx2d){this.drawBackGround2d(this.backgroundColor);for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];if(t.hidden)continue;let r=bB(t.node.width,t.node.height,t.width,t.height,t.fillMode,CN(t.rotation));this.draw2d(t.node.image,t.x+r.dx,t.y+r.dy,r.dWidth,r.dHeight,r.sx,r.sy,r.sWidth,r.sHeight)}return!0}return!1}debugLayout(e,t,r,i){let o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];this.ctx2d&&(o&&([r,i]=[i,r]),this.ctx2d.save(),this.ctx2d.strokeStyle="red",this.ctx2d.lineWidth=2,this.ctx2d.strokeRect(e,t,r,i),this.ctx2d.restore())}getInfo(){let{totalFrames:e,x:t,y:r,width:i,height:o,name:n}=this,a=Date.now(),s=(e-this.lastInfo.totalFrames)/((a-this.lastInfo.timestamp)/1e3)|0;return this.lastInfo={totalFrames:e,x:t,y:r,width:i,height:o,timestamp:a,fps:s,name:n},Qb({parent:this.inputs.filter((e=>e)).map((e=>e.node.getInfo()))},this.lastInfo)}removeAllInputs(){this.inputs.forEach((e=>{var t;if(e.node.disconnect(),e.positionBuffer&&this.context instanceof SB)try{null==(t=this.context.ctx)||t.deleteBuffer(e.positionBuffer)}catch(sM){}}))}close(){super.close(),this.removeAllInputs()}},DB=[1,0,0,0,1,1,0,1],NB=class extends lB{constructor(e,t,r,i){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:"transform",logger:t}),ow(this,"mirror",!1),ow(this,"rotation",0),r&&(this.mirror=r),i&&(this.rotation=i),e instanceof SB)try{this.setTexBuffer(DB)}catch(bw){e.destroy(new fw({code:pw.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(bw.message||bw)}))}}draw2d(e,t,r,i,o){if(this.ctx2d){this.ctx2d.clearRect(0,0,this.width,this.height),this.ctx2d.save(),this.mirror&&(this.ctx2d.scale(-1,1),this.ctx2d.translate(-this.width,0)),90===this.rotation?(this.ctx2d.translate(i,0),this.ctx2d.rotate(Math.PI/2),this.ctx2d.scale(o/i,i/o)):180===this.rotation?(this.ctx2d.translate(this.width,this.height),this.ctx2d.rotate(Math.PI)):270===this.rotation&&(this.ctx2d.translate(0,o),this.ctx2d.rotate(3*Math.PI/2),this.ctx2d.scale(o/i,i/o));let n=super.draw2d(e,t,r,i,o);return this.ctx2d.restore(),n}return!1}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame(),this.useInputTexture(),this.draw(),!0)}resize(e,t){CN(this.rotation)&&([e,t]=[t,e]),super.resize(e,t)}},kB=class extends QF{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,Sx),ow(this,"inputLocalVideoTracks",new Map),ow(this,"inputLocalScreenTracks",new Map),ow(this,"cameraNodeMap",new Map),ow(this,"screenNodeMap",new Map),ow(this,"textNodeMap",new Map),ow(this,"imageNodeMap",new Map),ow(this,"videoNodeMap",new Map),ow(this,"endedIds",new Set),ow(this,"videoContext"),ow(this,"mixNode"),ow(this,"destination"),ow(this,"manager"),ow(this,"stat"),ow(this,"_checkId",0),ow(this,"autoSetFps",!0),this.manager=e,this.log.id+="mix",this.create2dVideoContext(),this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log}),this.destination.on(lB.RENDER,(e=>{this.emit("render",e)})),this.mixNode=new CB(this.videoContext,this.log),this.mixNode.matchInputSize=!1}listenDeviceChange(){throw new Error("Method not implemented.")}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=zP.run("interval",(()=>{this.destination&&this.log.debug(this.destination.getInfo())}),{delay:e})}create2dVideoContext(){this.videoContext?this.videoContext.destroy():this.videoContext=new RB({frameRate:15,logger:this.log,name:"mix-ctx"}),this.videoContext.create({alpha:!1})}setFps(e){this.autoSetFps=!1,this.videoContext.frameRate=e;for(let t of[...this.cameraNodeMap.values(),...this.screenNodeMap.values()])t.shouldUpdate=!1;setTimeout((()=>{var e;return null==(e=this.destination)?void 0:e.start(this.videoContext.frameRate)}),500)}setFpsAuto(){var e;if(!this.autoSetFps)return;for(let o of[...this.cameraNodeMap.values(),...this.screenNodeMap.values()])o.shouldUpdate=!1;let t=null,r=0,i=!0;for(let[o,n]of this.inputLocalVideoTracks)if(n.profile.frameRate>r){if(this.endedIds.has(o)){let e=this.cameraNodeMap.get(o);e&&e.image.cancelVideoFrameCallback(e.videoCallbackId);continue}r=n.profile.frameRate,t=o}for(let[o,n]of this.inputLocalScreenTracks)if(n.profile.frameRate>r){if(this.endedIds.has(o)){let e=this.screenNodeMap.get(o);e&&e.image.cancelVideoFrameCallback(e.videoCallbackId);continue}r=n.profile.frameRate,t=o,i=!1}if(null!==t){let e=i?this.cameraNodeMap.get(t):this.screenNodeMap.get(t);e&&(e.shouldUpdate=!0,e.tryVideoFrameCallback()),this.log.info("set mix fps: ",r)}else null==(e=this.destination)||e.start(this.videoContext.frameRate),this.log.info("fallback to timer, fps: ",this.videoContext.frameRate)}setMixBackground(e){this.mixNode&&(this.mixNode.backgroundColor=e)}resizeMixCanvas(e,t){var r;null==(r=this.mixNode)||r.resize(e,t)}startMix(){return aw(this,null,(function*(){var e;if(!this.mixNode||!this.destination)throw new Error("can't mix without necessary conditions");this.mixNode.disconnect(),this.mixNode.connect(this.destination),_O&&this.player.setCanvas(this.videoContext._canvas),this.setOutputMediaStreamTrack(this.destination.videoTrack),null==(e=this.manager)||e.changeInput(this)}))}addCameraSource(e,t,r){if(this.inputLocalVideoTracks.has(e)||this.cameraNodeMap.has(e))throw new Error("There is already a cameraSource with the same ID: ".concat(e));let i,{mediaTrack:o}=t;if(!o)throw new Error("no mediaTrack, add cameraSource failed");t.recaptureMode=1,JP(this,tU).add("videoInputRemoved",(r=>{r.deviceId===t.deviceId&&(this.endedIds.add(e),this.setFpsAuto())})),t.on("output-media-track-changed",(()=>{this.endedIds.delete(e),this.updateCameraSource(e,r,t.mediaTrack)})),i=16===IO&&o instanceof CanvasCaptureMediaStreamTrack?this.videoContext.createVideoImageSource(o.canvas,{name:"cameraCanvasSource",logger:this.log}):this.videoContext.createVideoTrackSource(o,"cameraNodeSource"),i.resize(t.settings.width,t.settings.height),i.shouldUpdate=!1,this._connectMix(i,r,"cover"),this.inputLocalVideoTracks.set(e,t),this.cameraNodeMap.set(e,i),this.setFpsAuto()}addScreenSource(e,t,r){if(this.inputLocalScreenTracks.has(e)||this.screenNodeMap.has(e))throw new Error("There is already a screenSource with the same ID: ".concat(e));let{mediaTrack:i}=t;if(!i)throw new Error("no mediaTrack, add cameraSource failed");let o=this.videoContext.createVideoTrackSource(i,"screenNodeSource");o.resize(t.settings.width,t.settings.height),o.shouldUpdate=!1,this._connectMix(o,r),this.inputLocalScreenTracks.set(e,t),this.screenNodeMap.set(e,o),this.setFpsAuto()}addTextSource(e){let{id:t,content:r="",font:i,color:o,layout:n}=e;if(this.textNodeMap.has(t))throw new Error("There is already a textSource with the same ID: ".concat(t));let a=this.videoContext.createTextSource({content:r,font:i,color:o});a.resize(n.width,n.height),this._connectMix(a,n),this.textNodeMap.set(t,a)}addImageSource(e,t,r){if(this.imageNodeMap.has(e))throw new Error("There is already a imageSource with the same ID: ".concat(e));let i=this.videoContext.createVideoImageSource(t,{autoResize:!1,logger:this.log});i.resize(t.width,t.height),this._connectMix(i,r),this.imageNodeMap.set(e,i)}addVideoSource(e,t,r){if(this.videoNodeMap.has(e))throw new Error("There is already a videoSource with the same ID: ".concat(e));let i=this.videoContext.createVideoImageSource(t,{autoResize:!1,logger:this.log});i.resize(t.videoWidth,t.videoHeight),i.shouldUpdate=!1,this._connectMix(i,r),this.videoNodeMap.set(e,i)}updateCameraSource(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3?arguments[3]:void 0,o=this.cameraNodeMap.get(e);if(o){if(r){if(16===IO&&r instanceof CanvasCaptureMediaStreamTrack)if(o instanceof vB){let t=o.output;o.close(),o=this.videoContext.createVideoImageSource(r.canvas,{name:"cameraCanvasSource",logger:this.log}),o.connect(t),this.cameraNodeMap.set(e,o)}else o.image=r.canvas;else if(o instanceof vB)o.replaceTrack(r);else{let t=o.output;o.close(),o=this.videoContext.createVideoTrackSource(r,"cameraNodeSource"),o.connect(t),this.cameraNodeMap.set(e,o)}let{width:t,height:i}=r.getSettings();t&&i&&o.resize(t,i)}i&&o.resize(i.width,i.height),(i||r)&&this.setFpsAuto(),this._changeMixLayout(o,t)}}updateScreenSource(e,t){let r=this.screenNodeMap.get(e);r&&this._changeMixLayout(r,t)}updateTextSource(e){let{id:t,content:r,font:i,color:o,layout:n}=e,a=this.textNodeMap.get(t);a&&(jD(r)||(a.content=r),jD(i)||(a.font=i),jD(o)||(a.color=o),a.resize(n.width,n.height),this._changeMixLayout(a,n))}updateImageSource(e,t,r){let i=this.imageNodeMap.get(e);i&&(r&&(i.image=r,i.resize(r.width,r.height)),this._changeMixLayout(i,t))}updateVideoSource(e,t,r){let i=this.videoNodeMap.get(e);if(i){if(r){let e=i.image;e instanceof HTMLVideoElement&&this.stopVideoElement(e),i.image=r,i.resize(r.videoWidth,r.videoHeight)}this._changeMixLayout(i,t)}}_connectMix(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"contain";if(!this.mixNode)return;let{mirror:i,rotation:o}=t;e.disconnect();let n=new NB(this.videoContext,this.log,i,o);n=e.connect(n),t.fillMode||(t.fillMode=r),n.connect(this.mixNode,t)}_changeMixLayout(e,t){if(!this.mixNode)return;let{mirror:r,rotation:i}=t,o=e.output||e;o instanceof NB&&(jD(r)||(o.mirror=r),jD(i)||(o.rotation=i),o.resize(e.width,e.height)),this.mixNode.changeInputLayout(o,t)}removeCameraSource(e){let t=this.inputLocalVideoTracks.get(e);if(!t)return;t.close(),this.inputLocalVideoTracks.delete(e);let r=this.cameraNodeMap.get(e);r&&(r.output instanceof NB&&r.output.close(),r.close(),this.cameraNodeMap.delete(e)),this.checkAfterRemove(!0)}removeScreenSource(e){let t=this.inputLocalScreenTracks.get(e);if(!t)return;t.close(),this.inputLocalScreenTracks.delete(e);let r=this.screenNodeMap.get(e);r&&(r.output instanceof NB&&r.output.close(),r.close(),this.screenNodeMap.delete(e)),this.checkAfterRemove(!0)}removeTextSource(e){let t=this.textNodeMap.get(e);t&&(t.output instanceof NB&&t.output.close(),t.close(),this.textNodeMap.delete(e)),this.checkAfterRemove()}removeImageSource(e){let t=this.imageNodeMap.get(e);t&&(t.output instanceof NB&&t.output.close(),t.close(),this.imageNodeMap.delete(e)),this.checkAfterRemove()}removeVideoSource(e){let t=this.videoNodeMap.get(e);t&&(t.output instanceof NB&&t.output.close(),t.image instanceof HTMLVideoElement&&this.stopVideoElement(t.image),t.close(),this.videoNodeMap.delete(e)),this.checkAfterRemove()}checkAfterRemove(){arguments.length>0&&void 0!==arguments[0]&&arguments[0]&&this.setFpsAuto()}stopVideoElement(e){e.pause(),e.src="",e.srcObject=null,e.remove()}close(){var e;super.close(),zP.clearTask(this._checkId),null==(e=this.videoContext)||e.destroy(),delete this.mixNode,delete this.destination;for(let t of[...this.inputLocalVideoTracks.values(),...this.inputLocalScreenTracks.values()])t.close();this.inputLocalVideoTracks.clear(),this.inputLocalScreenTracks.clear(),this.cameraNodeMap.clear(),this.screenNodeMap.clear(),this.textNodeMap.clear(),this.imageNodeMap.clear(),XP(this);for(let t of this.videoNodeMap.values())t.image instanceof HTMLVideoElement&&this.stopVideoElement(t.image);this.videoNodeMap.clear(),this.log.info("localMixVideoTrack close, stop mix")}},OB=QO();if("undefined"!=typeof navigator&&navigator.mediaDevices&&"setCaptureHandleConfig"in navigator.mediaDevices)try{navigator.mediaDevices.setCaptureHandleConfig({handle:OB,exposeOrigin:!0,permittedOrigins:["*"]})}catch(SH){}var MB=function(e){return aw(this,null,(function*(){let t=null,r=function(e){let t={preferCurrentTab:"current-tab"===e.preferDisplaySurface||!!e.captureElement,systemAudio:"include",selfBrowserSurface:"include",surfaceSwitching:"include"},r={width:fO?{max:e.width}:{ideal:e.width,max:e.width},height:fO?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:e.preferDisplaySurface||"monitor"};if(t.video=r,e.systemAudio){let{echoCancellation:r=!0,noiseSuppression:i=!1,autoGainControl:o=!1}=e;t.audio={echoCancellation:r,noiseSuppression:i,autoGainControl:o,sampleRate:48e3}}return t}(e);$O.info("getDisplayMedia with constraints: ".concat(JSON.stringify(r)));let i=yield navigator.mediaDevices.getDisplayMedia(r);e.systemAudio&&0===i.getAudioTracks().length&&(dO&&hO<74||fO||dk)&&$O.warn("Your browser not support capture system audio");let o=i.getVideoTracks()[0];if(o){if(e.frameRate)try{yield o.applyConstraints({frameRate:{min:e.frameRate,ideal:e.frameRate},width:e.width,height:e.height})}catch(dM){$O.warn("screen applyConstraints failed: ".concat(dM))}e.captureElement&&(yield function(e,t){return aw(this,null,(function*(){var r;if("CropTarget"in window&&"fromElement"in CropTarget&&WD(e.cropTo))try{if((null==(r=e.getCaptureHandle())?void 0:r.handle)!==OB)return;let i=yield CropTarget.fromElement(t);yield e.cropTo(i)}catch(i){$O.warn("cropTo target failed ".concat(i))}}))}(o,e.captureElement))}if(e.audio){let r=function(e){let t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return jD(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);$O.info("getUserMedia with constraints: ".concat(JSON.stringify(r))),t=yield navigator.mediaDevices.getUserMedia(r),i.addTrack(t.getAudioTracks()[0])}return i}))},LB=class extends oB{constructor(e){super(e,2),ow(this,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),ow(this,"objectFit","contain"),ow(this,"isScreen",!0),this._log.id="s-".concat(this._log.id)}get isShareCurrentTab(){var e,t;try{return OB===(null==(t=null==(e=this.mediaTrack)?void 0:e.getCaptureHandle())?void 0:t.handle)}catch(sM){return}}capture(e){return aw(this,arguments,(function(e){var t=this;let{systemAudio:r=!1,autoGainControl:i,echoCancellation:o,noiseSuppression:n,audioTrack:a,videoTrack:s,captureElement:c,preferDisplaySurface:l}=e;return function*(){try{let e;return s||a?(e=new MediaStream,s&&e.addTrack(s),a&&e.addTrack(a)):(e=yield MB({audio:!1,systemAudio:r,width:t.profile.width,height:t.profile.height,frameRate:t.profile.frameRate,autoGainControl:i,echoCancellation:o,noiseSuppression:n,captureElement:c,preferDisplaySurface:l}),t.sourceTrack=e.getVideoTracks()[0]),yield t.setInputMediaStreamTrack(e.getVideoTracks()[0]),e}catch(e){throw t.log.error("getDisplayMedia error observed ".concat(e)),e instanceof fw?e:new fw({code:pw.INITIALIZE_FAILED,name:e.name,message:e.message})}}()}))}switchDevice(e){return aw(this,null,(function*(){throw new Error("Method not implemented.")}))}};iw([AU((function(e){this.setContentHint(e.contentHint||"detail")}))],LB.prototype,"capture",1);var PB,xB=class extends eB{constructor(e){super(e),this._log.id="s-".concat(this._log.id)}addAudioProcessor(e,t,r){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e),this.enableTrackAEC(!1)}removeAudioProcessor(e){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode(),this.enableTrackAEC(!0))}};function UB(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3?arguments[3]:void 0;return aw(this,null,(function*(){let o=Fx();PB||(PB=Rx(o,URL.createObjectURL(new Blob(['registerProcessor("dumper",class extends AudioWorkletProcessor{constructor(e){super(),this.sourceSampleRate=e.processorOptions.sourceSampleRate||48e3,this.targetSampleRate=e.processorOptions.targetSampleRate||48e3,this.port.onmessage=e=>{this.port2=e.data.port}}process(e){return(this.port2||this.port).postMessage(this.resampleAll(e,this.sourceSampleRate,this.targetSampleRate)),!0}resampleAll(r,s,a){if(s===a)return r;var o=[];for(let t=0;t<r.length;t++){o[t]=[];for(let e=0;e<r[t].length;e++)o[t][e]=this.resample(r[t][e],s,a)}return o}resample(t,e,r){if(e===r)return t;var s=Math.round(t.length*(this.targetSampleRate/this.sourceSampleRate)),a=new Float32Array(s),o=(t.length-1)/(s-1);a[0]=t[0];for(let e=1;e<s-1;e++){var l=e*o,p=Math.floor(l),h=Math.ceil(l);a[e]=t[p]+(t[h]-t[p])*(l-p)}return a[s-1]=t[t.length-1],a}});'],{type:"application/javascript"})))),yield PB;let n=o.sampleRate,a=new AudioWorkletNode(o,"dumper",{numberOfInputs:e.length,numberOfOutputs:0,processorOptions:{sourceSampleRate:n,targetSampleRate:t}});return a.channelCountMode="explicit",a.channelCount=r,i&&a.port.postMessage({port:i},[i]),e.forEach(((e,t)=>e.connect(a,0,t))),new ReadableStream({start(e){a.port.onmessage=t=>{e.enqueue(t.data)}},cancel(){e.forEach((e=>e.disconnect(a))),a.port.close()}})}))}var VB=class extends Gx{constructor(e){super(),this.room=e,ow(this,"_localAudioTrack"),ow(this,"_localScreenAudioTrack"),ow(this,"log",$O.createLogger({id:"am"})),ow(this,"denoiser"),ow(this,"voiceChanger"),ow(this,"mixChangedDebounce"),ow(this,"audioProcessor"),ow(this,"encodePipeline",[]),ow(this,"decodePipeline",[]),ow(this,"getPCMAbortCtrlMap",new Map),ow(this,"audioFrameEventConfigMap",new Map),ow(this,"audioReferenceMap",new Map),ow(this,"isLocalAudioNeedAudioProcess",!1),ow(this,"isScreenAudioNeedAudioProcess",!1),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.installEvent()}get localAudioTrack(){return this._localAudioTrack}get _localAudioPipline(){var e;return null==(e=this._localAudioTrack)?void 0:e.pipeline}get _localScreenAudioPipeline(){var e;return null==(e=this._localScreenAudioTrack)?void 0:e.pipeline}dump(e){var t,r;if(!this._localAudioTrack)return;let i=[],o=[];null!=(t=this._localAudioPipline)&&t.source.node&&(i.push(this._localAudioPipline.source.node),o.push("mic")),null!=(r=this._localAudioPipline)&&r.denoiser.node&&(i.push(this._localAudioPipline.denoiser.node),o.push("mic-processed")),this.mixWeight>1&&(i.push(this.audioContext.createMediaStreamSource(this._localAudioPipline.stream)),o.push("mix")),this.log.info("dump audio track ".concat(o,", duration: ").concat(e));let n=new AbortController,a=[],s=setTimeout((()=>{this.log.info('dump audio track complete please input "download()" to download.'),n.abort("timeout")}),1e3*e),c=()=>{for(let e=0;e<o.length;e++){let t=URL.createObjectURL(new Blob(a[e])),r=document.createElement("a");r.href=t,r.download="".concat(o[e],".pcm"),r.style.display="none",document.body.appendChild(r),r.click(),URL.revokeObjectURL(t),r.remove()}clearTimeout(s),n.abort("download")},l=UB(i).then((e=>e.pipeTo(new WritableStream({write(e){e.forEach(((e,t)=>a[t]=a[t]?a[t].concat(e[0]):[e[0]]))}}),n).catch((e=>c))));return{then:l.then.bind(l),download:c}}getPCM(e,t){var r,i,o;if("undefined"==typeof WritableStream)return void this.log.warn("getPCM failed: browser not support WritableStream");let{enable:n,sampleRate:a=48e3,channelCount:s=1,port:c}=(""===t?this.audioFrameEventConfigMap.get(""):this.audioFrameEventConfigMap.get(t)||this.audioFrameEventConfigMap.get("*"))||{};if(!n)return;this.log.info("getPCM ".concat(t||"local"));let l,d,u=Math.floor(.04*a),h=new Float32Array(u),p=new Float32Array(u),m=0,f=new AbortController,_=""===t?null==(r=this._localAudioTrack)?void 0:r.mediaTrack:null==(o=null==(i=this.room)?void 0:i.remotePublishedUserMap.get(t))?void 0:o.remoteAudioTrack.mediaTrack;if(_)return UB([Fx().createMediaStreamSource(new MediaStream([_]))],a,s,c).then((r=>r.pipeTo(new WritableStream({write(r){r[0][0]&&(m+r[0][0].length>u?(h.set(r[0][0].subarray(0,u-m),m),l=r[0][0].subarray(u-m),r[0][1]&&(p.set(r[0][1].subarray(0,u-m),m),d=r[0][1].subarray(u-m)),m+=u-m):(l&&(h.set(l,m),m+=l.length,l=void 0),d&&(p.set(d,m),d=void 0),h.set(r[0][0],m),r[0][1]&&p.set(r[0][1],m),m+=r[0][0].length),m>=u&&(m=0,e({userId:t,sampleRate:a,channelCount:s,data:1===s?h:[h,p]}),h=new Float32Array(u),p=new Float32Array(u)))}}),f).catch((e=>this.log.warn("stop getPCM reason:".concat(e)))))),f;this.log.info("getPCM failed: ".concat(t||"local"," has no audio track"))}get hasScreenAudioTrack(){return!jD(this._localScreenAudioTrack)}get hasAudioTrack(){return!jD(this._localAudioTrack)}changeInput(e){var t,r;return e instanceof xB?(this._localScreenAudioTrack=e,this.isScreenAudioNeedAudioProcess&&null!=(t=this.audioProcessor)&&t.screenAudioWorkletNode&&(e.addAudioProcessor(this.audioProcessor.screenAudioWorkletNode,this.audioProcessor.mixNode,this.audioProcessor.silentNode),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof eB?(this._localAudioTrack=e,this.denoiser&&e.addDenoiser(this.denoiser),this.isLocalAudioNeedAudioProcess&&null!=(r=this.audioProcessor)&&r.localAudioWorkletNode&&(e.addAudioProcessor(this.audioProcessor.localAudioWorkletNode,this.audioProcessor.mixNode,this.audioProcessor.silentNode),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof HB?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}mixAudioReference(e,t){var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}unMixAudioReference(e){var t;null==(t=this._localAudioTrack)||t.unMixAudioReference(e)}setAudioReferenceVolume(e,t){var r;null==(r=this._localAudioTrack)||r.setAudioReferenceVolume(e,t)}mixOnChange(){return this.mixChangedDebounce||(this.mixChangedDebounce=Promise.resolve().then((()=>{var e,t;return delete this.mixChangedDebounce,Promise.all([null==(e=this._localAudioTrack)?void 0:e.setOutputMediaStreamTrack(this.mixWeight>1?this.mixTrack:this._localAudioTrack.mediaTrack),null==(t=this._localScreenAudioTrack)?void 0:t.setOutputMediaStreamTrack(this.mixWeight>1?this.mixTrack:this._localScreenAudioTrack.mediaTrack)])}))),this.mixChangedDebounce}removeInput(e){e instanceof xB?delete this._localScreenAudioTrack:e instanceof eB&&delete this._localAudioTrack}addDenoiser(e){var t;this.denoiser=e,null==(t=this._localAudioTrack)||t.addDenoiser(e)}addAudioProcessor(e,t,r,i){var o;this.audioProcessor={localAudioWorkletNode:r,mixNode:e,silentNode:t,screenAudioWorkletNode:i},this.isLocalAudioNeedAudioProcess&&this._localAudioTrack&&r&&(this._localAudioTrack.addAudioProcessor(r,e,t),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}))),this.isScreenAudioNeedAudioProcess&&this._localScreenAudioTrack&&i&&(null==(o=this._localScreenAudioTrack)||o.addAudioProcessor(i,e,t),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localScreenAudioTrack)||r.mixAudioReference(e,t)})))}removeDenoiser(e){var t;return delete this.denoiser,null==(t=this._localAudioTrack)?void 0:t.removeDenoiser(e)}addVoiceChanger(e,t){var r;this.voiceChanger=[e,t],null==(r=this._localAudioTrack)||r.pipeline.voiceChanger.setNode(e,t)}removeVoiceChanger(){var e;delete this.voiceChanger,null==(e=this._localAudioTrack)||e.pipeline.voiceChanger.deleteNode()}removeAudioProcessor(e,t){var r,i;delete this.audioProcessor,null==(r=this._localAudioTrack)||r.removeAudioProcessor(e),null==(i=this._localScreenAudioTrack)||i.removeAudioProcessor(t)}destroy(){this.close(),this.audioReferenceMap.clear(),this.getPCMAbortCtrlMap.forEach((e=>null==e?void 0:e.abort("destroy"))),this.getPCMAbortCtrlMap.clear(),this.audioFrameEventConfigMap.clear(),this.uninstallEvent()}addEncodeProcessor(e){let{processor:t,type:r}=e;var i;this.encodePipeline.includes(t)||(this.encodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}addDecodeProcessor(e){let{processor:t,type:r}=e;var i;this.decodePipeline.includes(t)||(this.decodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}removeEncodeProcessor(e){let{type:t}=e;this.encodePipeline[t]=void 0}removeDecodeProcessor(e){let{type:t}=e;this.decodePipeline[t]=void 0}handleLocalTrackStarted(e){let{room:t,userId:r}=e;var i;if(t!==this.room||this.getPCMAbortCtrlMap.get(r))return;let o=this.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),"");this.getPCMAbortCtrlMap.set(r,o),this.getPCMAbortCtrlMap.get(r)&&(null==(i=this._localAudioTrack)||i.on("input-media-track-changed",(()=>{let e=this.getPCMAbortCtrlMap.get(r);e&&(e.abort("inputMediaTrackChanged"),e=this.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),""),this.getPCMAbortCtrlMap.set(r,e))})))}handleLocalTrackStopped(e){let{room:t,userId:r}=e;if(t!==this.room)return;let i=this.getPCMAbortCtrlMap.get(r);i&&(i.abort("stopLocalAudio"),this.getPCMAbortCtrlMap.delete(r))}handleRemoteTrackStarted(e){let{room:t,userId:r}=e;if(t===this.room&&!this.getPCMAbortCtrlMap.get(r)){let e=this.room.audioManager.getPCM((e=>{var t;null==(t=this.room)||t.emit("audio-frame",e)}),r);this.getPCMAbortCtrlMap.set(r,e)}}handleRemoteTrackStopped(e){let{room:t,userId:r}=e;if(t!==this.room)return;let i=this.getPCMAbortCtrlMap.get(r);i&&(i.abort("stopRemoteAudio"),this.getPCMAbortCtrlMap.delete(r))}installEvent(){KO.on("113",this.handleLocalTrackStarted,this),KO.on("114",this.handleLocalTrackStopped,this),KO.on("115",this.handleRemoteTrackStarted,this),KO.on("116",this.handleRemoteTrackStopped,this)}uninstallEvent(){KO.off("113",this.handleLocalTrackStarted),KO.off("114",this.handleLocalTrackStopped),KO.off("115",this.handleRemoteTrackStarted),KO.off("116",this.handleRemoteTrackStopped)}updateAudioReference(e){let{type:t,audioReference:r,refId:i,volume:o}=e;if("add"===t){if(this.audioReferenceMap.get(i)||!r||(this.audioReferenceMap.set(i,r),!this.audioProcessor))return;this.mixAudioReference(r,i)}else if("remove"===t)this.audioReferenceMap.get(i)&&(this.audioReferenceMap.delete(i),this.unMixAudioReference(i));else if("updateVolume"===t){if(!this.audioProcessor||jD(o))return;this.setAudioReferenceVolume(i,o)}}};var FB=class e extends fU{constructor(t,r,i){super({userId:r.userId,sdkAppId:t.sdkAppId,mediaType:i,room:t}),this.room=t,this.user=r,ow(this,"tinyId"),ow(this,"isRemote",!0),ow(this,"jitterBufferDelay",0),ow(this,"availableState"),ow(this,"remotePublishState"),ow(this,"_triggerCheckDecodeSubject",dV(AV(this,e.STATE_SUBSCRIBE))),this.tinyId=r.tinyId,this.availableState=new FP("".concat(r.userId,"-").concat(this.mediaType,"-available"),"remote-track-available"),this.remotePublishState=new FP("".concat(r.userId,"-").concat(this.mediaType,"-remote-publish"),"remote-track-publish"),jU(QU(AV(this,FP.STATECHANGED),AV(this.remotePublishState,FP.STATECHANGED)),_F((()=>this.isRemotePublished&&(this.isSubscribed||this.isSubscribing))),KF((e=>{this.availableState.state!==(e?FP.ON:FP.OFF)&&(this.availableState.state=e?FP.ON:FP.OFF),this.updatePlayingState(e)})));let o=jU(AV(this.player,KP.ERROR),WV((e=>e.code===MediaError.MEDIA_ERR_DECODE))),n=jU(yV(5e3),WV((()=>!(this.ignoreDecodeError||!this.isSubscribed||!this.isPlayCalled||!this.stat.bytesReceived)&&(!this.player.isPlaying&&!(this.kind===tC.AUDIO?this.getAudioLevel()>0:this.stat.framesDecoded>0)||(this.reportDecodeResult(!0),!1))))),a=jU(ZU(o,n),zV(AV(this,FP.INIT)));jU(this._triggerCheckDecodeSubject,WV((()=>!this.ignoreDecodeError)),SF(a),KF((e=>{this.reportDecodeResult(!1,e)})))}setMute(e){this.isRemotePublished&&super.setMute(e)}setInputMediaStreamTrack(e){super.setInputMediaStreamTrack(e),this.isRemotePublished&&this.isSubscribed&&this.player.setTrack(this.outMediaTrack)}checkDecodeResult(){this._triggerCheckDecodeSubject.next(!0)}waitHasMediaTrack(){return new Promise((e=>{this.mediaTrack?e():this.once("input-media-track-changed",e)}))}get ignoreDecodeError(){var e,t;return((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.downlinkNetworkQuality)||0)>3||this.player.isInAutoPlayFailedState}get isSubscribing(){return"subscribeing"===this.state.toString()}get isSubscribed(){return this.state===e.STATE_SUBSCRIBE}get isAvailable(){return this.availableState.state===FP.ON}get isNeedPlay(){return this.isAvailable&&this.isPlayCalled}subscribe(e){return e}unsubscribe(){this.player.setTrack(null),"main"===this.streamType&&"video"===this.kind&&this.room.changeType(!1,this.user)}reportDecodeResult(e,t){var r,i;let o=this.kind===tC.AUDIO;if(IL[e?"addSuccessEvent":"addFailedEvent"]({key:o?504700:514702}),!o){let t=(null==(r=this.room)?void 0:r.downlinkVideoCodec.toUpperCase())||"H264";IL[e?"addSuccessEvent":"addFailedEvent"]({key:vL["DECODE_".concat(t,"_RESULT")]}),e||this.log.warn("".concat(null==(i=this.room)?void 0:i.downlinkVideoCodec," decode failed"))}e||(IL.addEnum({key:o?504701:514703,value:BO()}),$P.uploadEvent({log:"stat-decode-failed-".concat(this.kind,"-").concat(xO()||WO()),userId:this.room.userId}),this._log.warn("decode failed: isPlaying: ".concat(this.player.isPlaying," ").concat(this.kind===tC.AUDIO?"audioLevel: ".concat(this.getAudioLevel()):"framesDecoded: ".concat(this.stat.framesDecoded>0))),this.emit("decode-failed",{error:t}))}updatePlayingState(e){if(this.isPlayCalled&&this.player.isStopped===e){if(e&&(!this.isSubscribed||!this.isRemotePublished||!this.outMediaTrack))return void this.log.info("abort play, isSubscribed: ".concat(this.isSubscribed," isAvailable: ").concat(this.isRemotePublished," hasTrack: ").concat(!!this.outMediaTrack," "));super.updatePlayingState(e)}}close(){super.close(),this.outMediaTrack&&this.uninstallTrackEvent(this.outMediaTrack)}onFlagChanged(){this.remotePublishState.state=this.isRemotePublished?FP.ON:FP.OFF,this.emit("remote-publish-changed",this.isRemotePublished)}onTrackMuted(){this.isNeedPlay&&super.onTrackMuted()}onTrackUnmuted(){this.isNeedPlay&&super.onTrackUnmuted()}onTrackEnded(){this.isNeedPlay&&super.onTrackEnded()}};ow(FB,"STATE_SUBSCRIBE","subscribe"),iw([function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return SU(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];return new Promise(((o,a)=>{let s=setTimeout((()=>{let r=new fw({code:pw.API_CALL_TIMEOUT,message:"checkPendingPromise ".concat(i,"() timeout ").concat(e,"s")});(this.log||this._log||$O).warn(r),2===t?a(r):1===t&&o()}),1e3*e);r.apply(this,n).then(o,a).finally((()=>{clearTimeout(s)}))}))}))}(5,1)],FB.prototype,"waitHasMediaTrack",1),iw([xP(FP.INIT,FB.STATE_SUBSCRIBE,{success(){this.log.info("subscribed"),KO.emit(YO.REMOTE_TRACK_SUBSCRIBED,{track:this})},ignoreError:!0}),kU(521716,!1)],FB.prototype,"subscribe",1),iw([xP(FB.STATE_SUBSCRIBE,FP.INIT,{sync:!0,success(){this.log.info("unsubscribed"),KO.emit(YO.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],FB.prototype,"unsubscribe",1);var BB=FB,HB=class extends BB{constructor(e,t){super(e,t,1),ow(this,"volume",0),ow(this,"mediaType",1),ow(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}get dbVolume(){return Xx.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}onPlayerError(e){this.enableDecodeFrame&&(this._log.warn("use audio decoder"),this.room.enableInsertableStreams())}get enableDecodeFrame(){var e,t;return!!this.manager&&(this.manager.decodePipeline.some((e=>e))||(null==(t=null==(e=this.player.element)?void 0:e.error)?void 0:t.code)===MediaError.MEDIA_ERR_DECODE&&mP().AudioDecoder&&dP)}decodeFrame(e){if(!this.manager)return e;let t=e;for(let[r,i]of this.manager.decodePipeline.entries()){if(!i)continue;let o={frame:e,track:this};if(1===r&&this.isAvailable&&"audience"===this.room.role&&(o.onAudioFrameNTPTime=e=>{let{ntp:t,frame:r,hasLeavingTag:i}=e;this.emit("audio-frame-with-ntp",{ntp:t,frame:r,hasLeavingTag:i})}),t=i(o),!t)return}return t}getAudioLevel(){let e=this.volume||super.getAudioLevel();return e>1?1:e}get isRemotePublished(){return this.user.muteState.audioAvailable}};var WB=class extends BB{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),ow(this,"mediaType",4),ow(this,"source"),ow(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.videoManager,this.once("first-video-frame",(e=>{this.room.emit("first-video-frame",e)}))}play(e,t){return(KD(null==t?void 0:t.canvasRender)?t.canvasRender:17===IO)&&!this.source&&this.useCanvasPlayer(),super.play(e,t).then((()=>{this.player.calculateStat(),KO.emit("156",{track:this,player:this.player})}))}useCanvasPlayer(){if(this.log.info("useCanvasPlayer(), has element:".concat(!!this.player.element)),!this.player.element)return;let e=new RB({frameRate:15,logger:this.log,name:this.userId});e.create({alpha:!1});let t=new pB(e,{name:"remotePlayer",logger:this.log});this.source=e.createVideoPlayerSource(this.player),this.source.connect(t),this.player.setCanvas(e._canvas),IP()||(this.updateCanvasPlayerFPS=this.updateCanvasPlayerFPS.bind(this,e),this.room.on("heartbeat-report",this.updateCanvasPlayerFPS,this))}updateCanvasPlayerFPS(e){let t=this.decodeFPS,r=(i=t,[15,30,45,60].reduce(((e,t)=>Math.abs(t-i)<Math.abs(e-i)?t:e)));var i;!zD(t)||t<=0?this.log.debug("updateCanvasPlayerFPS() ignore decoder: ".concat(t," ")):r!==e.frameRate?(this.log.info("updateCanvasPlayerFPS() decoder: ".concat(t,", closest: ").concat(r,", current: ").concat(e.frameRate)),e.frameRate=r):this.log.debug("updateCanvasPlayerFPS() ignore ClosestFPS ".concat(r," == ").concat(e.frameRate))}get decodeFPS(){var e;let{msg_video_status:t}=(null==(e=this.room.heartbeatReport)?void 0:e.msg_down_stream_info.find((e=>e.msg_user_info.str_identifier===this.userId)))||{},r=2===this.mediaType?7:this.isSmall?3:2;if(!t||0===t.length)return 0;let i=t.find((e=>e.uint32_video_stream_type===r));return(null==i?void 0:i.uint32_video_dec_fps)||0}stop(){return this.room.off("heartbeat-report",this.updateCanvasPlayerFPS,this),KO.emit("157",{track:this,player:this.player}),super.stop()}decodeFrame(e){if(!this.manager)return e;for(let t of this.manager.decodePipeline)if(t&&!(e=t({frame:e,track:this})))return;return e}get isBig(){return 4===this.mediaType}get isSmall(){return 8===this.mediaType}changeType(e){this.room.changeType(e,this.user)}get isRemotePublished(){return this.user.muteState.videoAvailable}setMirror(e){"publish"===e||"both"===e||super.setMirror(e)}onDecodeDowngradeStateChanged(e){this.emit("decode-downgrade-state-changed",e)}},jB=class extends WB{constructor(e,t){super(e,t,2),ow(this,"mediaType",2),ow(this,"objectFit","contain")}get isRemotePublished(){return this.user.muteState.hasAuxiliary}},GB=new Map;function zB(e,t){let r=Zb(Qb({},t),{timestamp:gw()});GB.has(e)?GB.get(e).push(r):GB.set(e,[r])}function KB(e){if(GB.has(e)){let t=GB.get(e).map((e=>({uint32_event_id:e.eventId,uint64_date:e.timestamp,str_userid:e.remoteUserId,uint32_param1:e.param1,uint32_param2:e.param2,uint32_video_stream_type:e.streamType})));return GB.delete(e),t}return[]}function qB(e,t,r,i){try{if(YD(e))for(let o=0;o<e.length;o++)YB.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else YB.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}catch(sM){throw $O.error(sM),sM}}function YB(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;if(jD(r)){if(t.required)throw new fw({code:pw.INVALID_PARAMETER,message:uL({key:sL.INVALID_PARAMETER_REQUIRED,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(jD(t.defaultValue))return;r=t.defaultValue}if(Array.isArray(t.type)){let e=!1;for(let i=0;i<t.type.length;i++)null===t.type[i]&&null===r&&(e=!0),WD(t.type[i])&&r instanceof t.type[i]&&(e=!0),GD(t.type[i])&&HD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new fw({code:pw.INVALID_PARAMETER,message:uL({key:sL.INVALID_PARAMETER_TYPE,data:{key:i,rule:{type:t.type.map((e=>QD(e)?ZD(e):GD(e)?e:HD(e)))},fnName:o,value:r},link:{className:n,fnName:o}})})}else if(!jD(t.type)&&HD(r)!==t.type)throw new fw({code:pw.INVALID_PARAMETER,message:uL({key:sL.INVALID_PARAMETER_TYPE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!1===t.allowEmpty){let e=zD(r)&&(0===r||Number.isNaN(r)),a=GD(r)&&""===r.trim();if(e||a)throw new fw({code:pw.INVALID_PARAMETER,message:uL({key:sL.INVALID_PARAMETER_EMPTY,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}if(t.notLessThanZero&&zD(r)&&r<0)throw new fw({code:pw.INVALID_PARAMETER,message:uL({key:sL.CANNOT_LESS_THAN_ZERO,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!jD(t.min)&&zD(r)&&r<t.min)throw new fw({code:pw.INVALID_PARAMETER,message:uL({key:sL.INVALID_PARAMETER_MIN,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!jD(t.max)&&zD(r)&&r>t.max)throw new fw({code:pw.INVALID_PARAMETER,message:uL({key:sL.INVALID_PARAMETER_MAX,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(GD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new fw({code:pw.INVALID_PARAMETER,message:uL({key:sL.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}else if(WD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new fw({code:pw.INVALID_PARAMETER,message:uL({key:sL.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(t.values&&!t.values.includes(r))throw new fw({code:pw.INVALID_PARAMETER,message:uL({key:sL.INVALID_PARAMETER_RANGE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});let{properties:a}=t;VD(a)&&qD(r)&&Object.keys(a).forEach((e=>{YB.call(this,{rule:a[e],value:r&&r[e],key:"".concat(i,".").concat(e),fnName:o,className:n})}));let{arrayItem:s}=t;VD(s)&&YD(r)&&r.forEach(((e,t)=>{YB.call(this,{rule:s,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),WD(t.validate)&&t.validate.call(this,r,i,o,n,this)}KO.on(YO.JOIN_SUCCESS,(e=>{let{room:t}=e;zB(t.userId,{eventId:32788})})),KO.on(YO.LEAVE_START,(e=>{let{room:t}=e;zB(t.userId,{eventId:32789})})),KO.on(YO.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),zB(t.room.userId,{eventId:e})}})),KO.on(YO.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),zB(t.room.userId,{eventId:e})}})),KO.on(YO.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===tC.AUDIO?zB(t.room.userId,{eventId:t.isRemote?32785:32772,remoteUserId:t.isRemote?t.userId:void 0}):zB(t.room.userId,{eventId:t.isRemote?32784:32773,remoteUserId:t.isRemote?t.userId:void 0}))})),KO.on(YO.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===tC.AUDIO?zB(t.room.userId,{eventId:t.isRemote?32787:32774,remoteUserId:t.isRemote?t.userId:void 0}):zB(t.room.userId,{eventId:t.isRemote?32786:32775,remoteUserId:t.isRemote?t.userId:void 0}))})),KO.on(YO.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&zB(t.room.userId,{eventId:32777,remoteUserId:t.userId}),4===t.mediaType&&zB(t.room.userId,{eventId:32776,remoteUserId:t.userId}),8===t.mediaType&&zB(t.room.userId,{eventId:32803,remoteUserId:t.userId}))})),KO.on(YO.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&zB(t.room.userId,{eventId:32779,remoteUserId:t.userId}),4===t.mediaType&&zB(t.room.userId,{eventId:32778,remoteUserId:t.userId}),8===t.mediaType&&zB(t.room.userId,{eventId:32804,remoteUserId:t.userId}))})),KO.on(YO.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&zB(t.room.userId,{eventId:t.kind===tC.VIDEO?32780:32781})})),KO.on(YO.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&zB(t.room.userId,{eventId:t.kind===tC.VIDEO?32782:32783})})),KO.on(YO.SIGNAL_CONNECTION_STATE_CHANGED,(e=>{let t,{room:r,prevState:i,state:o}=e;switch(o){case"CONNECTED":t="RECONNECTING"===i?32795:32791;break;case"DISCONNECTED":t="RECONNECTING"===i?32796:32790;break;case"RECONNECTING":t=32794}t&&zB(r.userId,{eventId:t})})),KO.on(YO.PEER_CONNECTION_STATE_CHANGED,(e=>{let t,{room:r,prevState:i,state:o,remoteUserId:n}=e,a=!!n;switch(o){case"CONNECTED":t="RECONNECTING"===i?a?32801:32798:a?32793:32792;break;case"DISCONNECTED":"RECONNECTING"===i&&(t=a?32802:32799);break;case"RECONNECTING":t=a?32800:32797}t&&zB(r.userId,{eventId:t,remoteUserId:n})})),KO.on(YO.VIDEO_CODEC_IMPLEMENTATION_CHANGED,(e=>{let{implementation:t,userId:r,remoteUserId:i,codec:o,isHWCodec:n,prevImplementation:a,streamType:s}=e,c=n?1:0;a||(c=n?3:2);let l={H264:0,H265:1,VP8:2}[o.toUpperCase()],d={eventId:4004,param1:c,param2:l,streamType:s||2};i&&(d.remoteUserId=i,d.eventId=4005),zB(r,d),IL.addEnum({key:i?514701:513701,value:c}),IL.addEnum({key:i?514700:513700,value:l})})),KO.on(YO.LOCAL_TRACK_RECAPTURE,(e=>{let{track:t,error:r}=e;if(t.userId){let e={eventId:2003,param1:0};t.kind===tC.AUDIO?(e.streamType=1,r&&(e.param1=2)):(e.streamType="auxiliary"===t.streamType?7:2,r&&(e.param1=8)),zB(t.userId,e)}})),rw(sw(),1);var JB=Object.create,XB=Object.defineProperty,$B=Object.defineProperties,QB=Object.getOwnPropertyDescriptor,ZB=Object.getOwnPropertyDescriptors,eH=Object.getOwnPropertyNames,tH=Object.getOwnPropertySymbols,rH=Object.getPrototypeOf,iH=Object.prototype.hasOwnProperty,oH=Object.prototype.propertyIsEnumerable,nH=(e,t,r)=>t in e?XB(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,aH=(e,t)=>{for(var r in t||(t={}))iH.call(t,r)&&nH(e,r,t[r]);if(tH)for(var r of tH(t))oH.call(t,r)&&nH(e,r,t[r]);return e},sH=(e,t)=>$B(e,ZB(t)),cH=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?QB(t,r):t,a=e.length-1;a>=0;a--)(o=e[a])&&(n=(i?o(t,r,n):o(n))||n);return i&&n&&XB(t,r,n),n},lH=(e,t,r)=>nH(e,"symbol"!=typeof t?t+"":t,r),dH=((e,t)=>function(){return t||(0,e[eH(e)[0]])((t={exports:{}}).exports,t),t.exports})({"../node_modules/.pnpm/eventemitter3@4.0.7/node_modules/eventemitter3/index.js"(e,t){var r=Object.prototype.hasOwnProperty,i="~";function o(){}function n(e,t,r){this.fn=e,this.context=t,this.once=r||!1}function a(e,t,r,o,a){if("function"!=typeof r)throw new TypeError("The listener must be a function");var s=new n(r,o||e,a),c=i?i+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],s]:e._events[c].push(s):(e._events[c]=s,e._eventsCount++),e}function s(e,t){0==--e._eventsCount?e._events=new o:delete e._events[t]}function c(){this._events=new o,this._eventsCount=0}Object.create&&(o.prototype=Object.create(null),(new o).__proto__||(i=!1)),c.prototype.eventNames=function(){var e,t,o=[];if(0===this._eventsCount)return o;for(t in e=this._events)r.call(e,t)&&o.push(i?t.slice(1):t);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(e)):o},c.prototype.listeners=function(e){var t=i?i+e:e,r=this._events[t];if(!r)return[];if(r.fn)return[r.fn];for(var o=0,n=r.length,a=new Array(n);o<n;o++)a[o]=r[o].fn;return a},c.prototype.listenerCount=function(e){var t=i?i+e:e,r=this._events[t];return r?r.fn?1:r.length:0},c.prototype.emit=function(e,t,r,o,n,a){var s=i?i+e:e;if(!this._events[s])return!1;var c,l,d=this._events[s],u=arguments.length;if(d.fn){switch(d.once&&this.removeListener(e,d.fn,void 0,!0),u){case 1:return d.fn.call(d.context),!0;case 2:return d.fn.call(d.context,t),!0;case 3:return d.fn.call(d.context,t,r),!0;case 4:return d.fn.call(d.context,t,r,o),!0;case 5:return d.fn.call(d.context,t,r,o,n),!0;case 6:return d.fn.call(d.context,t,r,o,n,a),!0}for(l=1,c=new Array(u-1);l<u;l++)c[l-1]=arguments[l];d.fn.apply(d.context,c)}else{var h,p=d.length;for(l=0;l<p;l++)switch(d[l].once&&this.removeListener(e,d[l].fn,void 0,!0),u){case 1:d[l].fn.call(d[l].context);break;case 2:d[l].fn.call(d[l].context,t);break;case 3:d[l].fn.call(d[l].context,t,r);break;case 4:d[l].fn.call(d[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(u-1);h<u;h++)c[h-1]=arguments[h];d[l].fn.apply(d[l].context,c)}}return!0},c.prototype.on=function(e,t,r){return a(this,e,t,r,!1)},c.prototype.once=function(e,t,r){return a(this,e,t,r,!0)},c.prototype.removeListener=function(e,t,r,o){var n=i?i+e:e;if(!this._events[n])return this;if(!t)return s(this,n),this;var a=this._events[n];if(a.fn)a.fn!==t||o&&!a.once||r&&a.context!==r||s(this,n);else{for(var c=0,l=[],d=a.length;c<d;c++)(a[c].fn!==t||o&&!a[c].once||r&&a[c].context!==r)&&l.push(a[c]);l.length?this._events[n]=1===l.length?l[0]:l:s(this,n)}return this},c.prototype.removeAllListeners=function(e){var t;return e?(t=i?i+e:e,this._events[t]&&s(this,t)):(this._events=new o,this._eventsCount=0),this},c.prototype.off=c.prototype.removeListener,c.prototype.addListener=c.prototype.on,c.prefixed=i,c.EventEmitter=c,void 0!==t&&(t.exports=c)}}),uH=((e,t,r)=>(r=null!=e?JB(rH(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of eH(t))iH.call(e,o)||o===r||XB(e,o,{get:()=>t[o],enumerable:!(i=QB(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:XB(r,"default",{value:e,enumerable:!0}),e)))(dH(),1),hH=Symbol("instance"),pH=Symbol("cacheResult"),mH=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,vH.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},fH=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var _H=new Map;function gH(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(i,o,n)=>{let a=r.action||o;if(!r.context){let r=_H.get(i)||[];_H.has(i)||_H.set(i,r),r.push({from:e,to:t,action:a})}let s=n.value;n.value=function(){let i=this;for(var o=arguments.length,n=new Array(o),c=0;c<o;c++)n[c]=arguments[c];if(r.context&&(i=yH.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[pH]:Promise.resolve(i[pH]);i.state instanceof mH&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof mH&&i.state.abort(i):"string"==typeof i.state&&e.includes(i.state)||(l=new fH(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e.join("|")))):e!==i.state&&(l=new fH(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let d=e=>{if(r.fail&&r.fail.call(this,e),r.sync){if(r.ignoreError)return e;throw e}return r.ignoreError?Promise.resolve(e):Promise.reject(e)};if(l)return d(l);let u=i.state,h=new mH(u,t,a);vH.call(i,h);let p=e=>{var o;return i[pH]=e,h.aborted||(vH.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[pH])),e},m=e=>(vH.call(i,u,e),d(e));try{let e=s.apply(this,n);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(p).catch(m):r.sync?p(e):Promise.resolve(p(e))}catch(uM){return m(new fH(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(uM),uM instanceof Error?uM:new Error(String(uM))))}}}}var EH="undefined"!=typeof window&&window.__AFSM__?(e,t)=>{window.dispatchEvent(new CustomEvent(e,{detail:t}))}:"undefined"!=typeof importScripts?(e,t)=>{postMessage({type:e,payload:t})}:()=>{};function vH(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(yH.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var yH=class e extends uH.default{constructor(t,r,i){super(),this.name=t,this.groupName=r,this._state=e.INIT,t||(t=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),r||(this.groupName=this.constructor.name);let o=i[hH];o?this.name=o.name+"-"+o.count++:i[hH]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=_H.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);_H.has(a)&&(a.stateDiagram.forEach((e=>r.add(e))),a.allStates.forEach((e=>n.add(e)))),t.forEach((e=>{let{from:t,to:r,action:n}=e;"string"==typeof t?i.push({from:t,to:r,action:n}):t.length?t.forEach((e=>{i.push({from:e,to:r,action:n})})):o.push({to:r,action:n})})),i.forEach((e=>{let{from:t,to:i,action:o}=e;n.add(t),n.add(i),n.add(o+"ing"),r.add("".concat(t," --\x3e ").concat(o,"ing : ").concat(o)),r.add("".concat(o,"ing --\x3e ").concat(i," : ").concat(o," 🟢")),r.add("".concat(o,"ing --\x3e ").concat(t," : ").concat(o," 🔴"))})),o.forEach((e=>{let{to:t,action:i}=e;r.add("".concat(i,"ing --\x3e ").concat(t," : ").concat(i," 🟢")),n.forEach((e=>{e!==t&&r.add("".concat(e," --\x3e ").concat(i,"ing : ").concat(i))}))}));let s=[...r];return Object.defineProperties(e,{stateDiagram:{value:s},allStates:{value:n}}),s}static get(t){let r;return"string"==typeof t?(r=e.instances.get(t),r||e.instances.set(t,r=new e(t,void 0,Object.create(e.prototype)))):(r=e.instances2.get(t),r||e.instances2.set(t,r=new e(t.constructor.name,void 0,Object.create(e.prototype)))),r}static getState(t){var r;return null===(r=e.get(t))||void 0===r?void 0:r.state}updateDevTools(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};EH(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){vH.call(this,e)}};yH.STATECHANGED="stateChanged",yH.UPDATEAFSM="updateAFSM",yH.INIT="[*]",yH.ON="on",yH.OFF="off",yH.instances=new Map,yH.instances2=new WeakMap;var TH=class extends yH{constructor(){super(...arguments),lH(this,"decoder"),lH(this,"config")}initialize(){return aw(this,null,(function*(){this.decoder=new VideoDecoder({output:e=>{this.emit("videoFrame",e)},error:e=>{this.close(),this.emit("error",e)}})}))}configure(e){this.config=e,this.decoder.configure(sH(aH({},e),{codec:this.getCodec(e)}))}getCodec(e){switch(e.codec){case"hevc":return"hvc1.1.6.L0.12.34.56.78.9A.BC";case"av1":return"av01.0.05M.08";case"avc":return"avc1.420028";default:return e.codec}}decode(e){"configured"===this.decoder.state&&this.decoder.decode(new EncodedVideoChunk(e))}flush(){this.decoder.flush()}reset(){this.decoder.reset()}close(){"closed"!==this.decoder.state&&this.decoder.close()}};function IH(){var e;self.onmessage=t=>{if("init"===t.data.type){let{canvas:r,wasmScript:i,wasmBinary:o}=t.data,n=null==r?void 0:r.getContext("2d"),a=0,s=0,c={wasmBinary:o,postRun:()=>{e=new c.VideoDecoder({videoInfo(e,t){a=e,s=t,console.log("video info",e,t)},yuvData(e,t){let i=a*s,o=i>>2,l=c.HEAPU32[e>>2],d=c.HEAPU32[1+(e>>2)],u=c.HEAPU32[2+(e>>2)],h=c.HEAPU8.subarray(l,l+i),p=c.HEAPU8.subarray(d,d+o),m=c.HEAPU8.subarray(u,u+o),f=new Uint8Array(i+o+o);f.set(h),f.set(p,i),f.set(m,i+o);let _=new VideoFrame(f,{codedWidth:a,codedHeight:s,format:"I420",timestamp:t});r?(null==n||n.drawImage(_,0,0,r.width,r.height),null==n||n.commit()):self.postMessage({type:"yuvData",videoFrame:_},[_])}}),self.postMessage({type:"ready"})}};Function("var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;return "+i)()(c)}else if("decode"===t.data.type){let{packet:r}=t.data;null==e||e.decode(r.data,"key"==r.type,r.timestamp)}else if("setCodec"===t.data.type){let{codec:r,format:i,description:o}=t.data;null==e||e.setCodec(r,i,null!=o?o:"")}}}cH([gH([yH.INIT,"closed"],"initialized")],TH.prototype,"initialize",1),cH([gH("initialized","configured",{sync:!0})],TH.prototype,"configure",1),cH([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return(e,r,i)=>{let o=i.value,n=r;i.value=function(){if(!t.includes(this.state.toString()))throw new fH(this.state,"".concat(this.name," ").concat(n," failed: current state ").concat(this.state," not in ").concat(t));for(var e=arguments.length,r=new Array(e),i=0;i<e;i++)r[i]=arguments[i];return o.apply(this,r)}}}("configured")],TH.prototype,"decode",1),cH([gH([],yH.INIT,{sync:!0})],TH.prototype,"reset",1),cH([gH([],"closed",{ignoreError:!0,sync:!0})],TH.prototype,"close",1);var AH=class extends yH{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=arguments.length>3?arguments[3]:void 0,o=arguments.length>4&&void 0!==arguments[4]&&arguments[4];super(),this.createModule=e,this.wasmBinary=t,this.workerMode=r,this.canvas=i,this.yuvMode=o,lH(this,"worker"),lH(this,"decoder"),lH(this,"config"),lH(this,"module",{}),lH(this,"width",0),lH(this,"height",0)}initialize(e){return aw(this,null,(function*(){var t;if(this.workerMode){let e=new RegExp("\\{(.+)\\}","s").exec(IH.toString())[1];this.worker=new Worker(URL.createObjectURL(new Blob([e],{type:"text/javascript"})));let r=null==(t=this.canvas)?void 0:t.transferControlToOffscreen(),i=yield this.wasmBinary;return console.warn("worker mode",i),this.worker.postMessage({type:"init",canvas:r,wasmScript:this.createModule.toString(),wasmBinary:i},r?[r,i]:[i]),new Promise((e=>{this.worker.onmessage=t=>{if("ready"===t.data.type)delete this.wasmBinary,e(),console.warn("worker mode initialize success");else if("yuvData"===t.data.type){let{videoFrame:e}=t.data;this.emit("videoFrame",e)}}}))}let r=this.module;return this.wasmBinary&&(r.wasmBinary=yield this.wasmBinary),r.print=e=>console.log(e),r.printErr=e=>console.log("[JS] ERROR: ".concat(e)),r.onAbort=()=>console.log("[JS] FATAL: WASM ABORTED"),new Promise((t=>{r.postRun=e=>{this.decoder=new this.module.VideoDecoder(this),console.log("video soft decoder initialize success"),t()},e&&Object.assign(r,e),this.createModule(r)}))}))}configure(e){var t,r,i;this.config=e;let o=this.config.codec.startsWith("avc")?"avc":"hevc",n=this.config.description?"avc"==o?"avcc":"hvcc":"annexb";null==(r=this.decoder)||r.setCodec(o,n,null!=(t=this.config.description)?t:""),null==(i=this.worker)||i.postMessage({type:"setCodec",codec:o,format:n,description:this.config.description})}decode(e){var t,r;null==(t=this.decoder)||t.decode(e.data,"key"==e.type,e.timestamp),"configured"===this.state&&(null==(r=this.worker)||r.postMessage({type:"decode",packet:e}))}flush(){}reset(){this.config=void 0,this.decoder&&this.decoder.clear()}close(){this.removeAllListeners(),this.decoder&&(this.decoder.clear(),this.decoder.delete())}videoInfo(e,t){this.width=e,this.height=t;let r={width:e,height:t};this.emit("videoCodecInfo",r)}yuvData(e,t){if(!this.module)return;let r=this.width*this.height,i=r>>2,o=this.module.HEAPU32[e>>2],n=this.module.HEAPU32[1+(e>>2)],a=this.module.HEAPU32[2+(e>>2)],s=this.module.HEAPU8.subarray(o,o+r),c=this.module.HEAPU8.subarray(n,n+i),l=this.module.HEAPU8.subarray(a,a+i);if(this.yuvMode)return void this.emit("videoFrame",{y:s,u:c,v:l,timestamp:t});let d=new Uint8Array(r+i+i);d.set(s),d.set(c,r),d.set(l,r+i),this.emit("videoFrame",new VideoFrame(d,{codedWidth:this.width,codedHeight:this.height,format:"I420",timestamp:t}))}errorInfo(e){let t={errMsg:e};this.emit("error",t)}};cH([gH([yH.INIT,"closed"],"initialized")],AH.prototype,"initialize",1),cH([gH("initialized","configured",{sync:!0})],AH.prototype,"configure",1),cH([gH([],yH.INIT,{sync:!0})],AH.prototype,"reset",1),cH([gH([],"closed",{sync:!0})],AH.prototype,"close",1);var SH,RH=(SH="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0,function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};var t,r,i=e;i.ready=new Promise(((e,i)=>{t=e,r=i}));var o,n,a,s=Object.assign({},i),c="./this.program",l="object"==typeof window,d="function"==typeof importScripts,u=("object"==typeof process&&"object"==typeof process.versions&&process.versions.node,"");(l||d)&&(d?u=self.location.href:"undefined"!=typeof document&&document.currentScript&&(u=document.currentScript.src),SH&&(u=SH),u=0!==u.indexOf("blob:")?u.substr(0,u.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},d&&(a=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.responseType="arraybuffer",t.send(null),new Uint8Array(t.response)}),n=(e,t,r)=>{var i=new XMLHttpRequest;i.open("GET",e,!0),i.responseType="arraybuffer",i.onload=()=>{200==i.status||0==i.status&&i.response?t(i.response):r()},i.onerror=r,i.send(null)});var h,p,m=i.print||console.log.bind(console),f=i.printErr||console.error.bind(console);Object.assign(i,s),s=null,i.arguments&&i.arguments,i.thisProgram&&(c=i.thisProgram),i.quit&&i.quit,i.wasmBinary&&(h=i.wasmBinary),i.noExitRuntime,"object"!=typeof WebAssembly&&U("no native wasm support detected");var _,g,E,v,y,T,I,A,S,R,b,w,C,D=!1,N=[],k=[],O=[],M=0,L=null;function P(e){M++,i.monitorRunDependencies&&i.monitorRunDependencies(M)}function x(e){if(M--,i.monitorRunDependencies&&i.monitorRunDependencies(M),0==M&&L){var t=L;L=null,t()}}function U(e){i.onAbort&&i.onAbort(e),f(e="Aborted("+e+")"),D=!0,e+=". Build with -sASSERTIONS for more info.";var t=new WebAssembly.RuntimeError(e);throw r(t),t}function V(e){return e.startsWith("data:application/octet-stream;base64,")}function F(e){if(e==R&&h)return new Uint8Array(h);if(a)return a(e);throw"both async and sync fetching of the wasm failed"}function B(e,t,r){return(i=e,h||!l&&!d||"function"!=typeof fetch?Promise.resolve().then((()=>F(i))):fetch(i,{credentials:"same-origin"}).then((e=>{if(!e.ok)throw"failed to load wasm binary file at '"+i+"'";return e.arrayBuffer()})).catch((()=>F(i)))).then((e=>WebAssembly.instantiate(e,t))).then((e=>e)).then(r,(e=>{f("failed to asynchronously prepare wasm: "+e),U(e)}));var i}V(R="videodec.wasm")||(b=R,R=i.locateFile?i.locateFile(b,u):u+b);var H=e=>{for(;e.length>0;)e.shift()(i)};function W(e){this.excPtr=e,this.ptr=e-24,this.set_type=function(e){T[this.ptr+4>>2]=e},this.get_type=function(){return T[this.ptr+4>>2]},this.set_destructor=function(e){T[this.ptr+8>>2]=e},this.get_destructor=function(){return T[this.ptr+8>>2]},this.set_caught=function(e){e=e?1:0,_[this.ptr+12|0]=e},this.get_caught=function(){return 0!=_[this.ptr+12|0]},this.set_rethrown=function(e){e=e?1:0,_[this.ptr+13|0]=e},this.get_rethrown=function(){return 0!=_[this.ptr+13|0]},this.init=function(e,t){this.set_adjusted_ptr(0),this.set_type(e),this.set_destructor(t)},this.set_adjusted_ptr=function(e){T[this.ptr+16>>2]=e},this.get_adjusted_ptr=function(){return T[this.ptr+16>>2]},this.get_exception_ptr=function(){if(Rt(this.get_type()))return T[this.excPtr>>2];var e=this.get_adjusted_ptr();return 0!==e?e:this.excPtr}}var j={isAbs:e=>"/"===e.charAt(0),splitPath:e=>/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/.exec(e).slice(1),normalizeArray:(e,t)=>{for(var r=0,i=e.length-1;i>=0;i--){var o=e[i];"."===o?e.splice(i,1):".."===o?(e.splice(i,1),r++):r&&(e.splice(i,1),r--)}if(t)for(;r;r--)e.unshift("..");return e},normalize:e=>{var t=j.isAbs(e),r="/"===e.substr(-1);return(e=j.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||t||(e="."),e&&r&&(e+="/"),(t?"/":"")+e},dirname:e=>{var t=j.splitPath(e),r=t[0],i=t[1];return r||i?(i&&(i=i.substr(0,i.length-1)),r+i):"."},basename:e=>{if("/"===e)return"/";var t=(e=(e=j.normalize(e)).replace(/\/$/,"")).lastIndexOf("/");return-1===t?e:e.substr(t+1)},join:function(){var e=Array.prototype.slice.call(arguments);return j.normalize(e.join("/"))},join2:(e,t)=>j.normalize(e+"/"+t)},G=e=>(G=(()=>{if("object"==typeof crypto&&"function"==typeof crypto.getRandomValues)return e=>crypto.getRandomValues(e);U("initRandomDevice")})())(e),z={resolve:function(){for(var e="",t=!1,r=arguments.length-1;r>=-1&&!t;r--){var i=r>=0?arguments[r]:ie.cwd();if("string"!=typeof i)throw new TypeError("Arguments to path.resolve must be strings");if(!i)return"";e=i+"/"+e,t=j.isAbs(i)}return(t?"/":"")+(e=j.normalizeArray(e.split("/").filter((e=>!!e)),!t).join("/"))||"."},relative:(e,t)=>{function r(e){for(var t=0;t<e.length&&""===e[t];t++);for(var r=e.length-1;r>=0&&""===e[r];r--);return t>r?[]:e.slice(t,r-t+1)}e=z.resolve(e).substr(1),t=z.resolve(t).substr(1);for(var i=r(e.split("/")),o=r(t.split("/")),n=Math.min(i.length,o.length),a=n,s=0;s<n;s++)if(i[s]!==o[s]){a=s;break}var c=[];for(s=a;s<i.length;s++)c.push("..");return(c=c.concat(o.slice(a))).join("/")}},K="undefined"!=typeof TextDecoder?new TextDecoder("utf8"):void 0,q=(e,t,r)=>{for(var i=t+r,o=t;e[o]&&!(o>=i);)++o;if(o-t>16&&e.buffer&&K)return K.decode(e.subarray(t,o));for(var n="";t<o;){var a=e[t++];if(128&a){var s=63&e[t++];if(192!=(224&a)){var c=63&e[t++];if((a=224==(240&a)?(15&a)<<12|s<<6|c:(7&a)<<18|s<<12|c<<6|63&e[t++])<65536)n+=String.fromCharCode(a);else{var l=a-65536;n+=String.fromCharCode(55296|l>>10,56320|1023&l)}}else n+=String.fromCharCode((31&a)<<6|s)}else n+=String.fromCharCode(a)}return n},Y=[],J=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i<=127?t++:i<=2047?t+=2:i>=55296&&i<=57343?(t+=4,++r):t+=3}return t},X=(e,t,r,i)=>{if(!(i>0))return 0;for(var o=r,n=r+i-1,a=0;a<e.length;++a){var s=e.charCodeAt(a);if(s>=55296&&s<=57343&&(s=65536+((1023&s)<<10)|1023&e.charCodeAt(++a)),s<=127){if(r>=n)break;t[r++]=s}else if(s<=2047){if(r+1>=n)break;t[r++]=192|s>>6,t[r++]=128|63&s}else if(s<=65535){if(r+2>=n)break;t[r++]=224|s>>12,t[r++]=128|s>>6&63,t[r++]=128|63&s}else{if(r+3>=n)break;t[r++]=240|s>>18,t[r++]=128|s>>12&63,t[r++]=128|s>>6&63,t[r++]=128|63&s}}return t[r]=0,r-o};function $(e,t,r){var i=r>0?r:J(e)+1,o=new Array(i),n=X(e,o,0,o.length);return t&&(o.length=n),o}var Q={ttys:[],init:function(){},shutdown:function(){},register:function(e,t){Q.ttys[e]={input:[],output:[],ops:t},ie.registerDevice(e,Q.stream_ops)},stream_ops:{open:function(e){var t=Q.ttys[e.node.rdev];if(!t)throw new ie.ErrnoError(43);e.tty=t,e.seekable=!1},close:function(e){e.tty.ops.fsync(e.tty)},fsync:function(e){e.tty.ops.fsync(e.tty)},read:function(e,t,r,i,o){if(!e.tty||!e.tty.ops.get_char)throw new ie.ErrnoError(60);for(var n=0,a=0;a<i;a++){var s;try{s=e.tty.ops.get_char(e.tty)}catch(c){throw new ie.ErrnoError(29)}if(void 0===s&&0===n)throw new ie.ErrnoError(6);if(null==s)break;n++,t[r+a]=s}return n&&(e.node.timestamp=Date.now()),n},write:function(e,t,r,i,o){if(!e.tty||!e.tty.ops.put_char)throw new ie.ErrnoError(60);try{for(var n=0;n<i;n++)e.tty.ops.put_char(e.tty,t[r+n])}catch(a){throw new ie.ErrnoError(29)}return i&&(e.node.timestamp=Date.now()),n}},default_tty_ops:{get_char:function(e){return(()=>{if(!Y.length){var e=null;if("undefined"!=typeof window&&"function"==typeof window.prompt?null!==(e=window.prompt("Input: "))&&(e+="\n"):"function"==typeof readline&&null!==(e=readline())&&(e+="\n"),!e)return null;Y=$(e,!0)}return Y.shift()})()},put_char:function(e,t){null===t||10===t?(m(q(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(m(q(e.output,0)),e.output=[])},ioctl_tcgets:function(e){return{c_iflag:25856,c_oflag:5,c_cflag:191,c_lflag:35387,c_cc:[3,28,127,21,4,0,1,0,17,19,26,0,18,15,23,22,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]}},ioctl_tcsets:function(e,t,r){return 0},ioctl_tiocgwinsz:function(e){return[24,80]}},default_tty1_ops:{put_char:function(e,t){null===t||10===t?(f(q(e.output,0)),e.output=[]):0!=t&&e.output.push(t)},fsync:function(e){e.output&&e.output.length>0&&(f(q(e.output,0)),e.output=[])}}},Z=e=>{U()},ee={ops_table:null,mount:e=>ee.createNode(null,"/",16895,0),createNode(e,t,r,i){if(ie.isBlkdev(r)||ie.isFIFO(r))throw new ie.ErrnoError(63);ee.ops_table||(ee.ops_table={dir:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr,lookup:ee.node_ops.lookup,mknod:ee.node_ops.mknod,rename:ee.node_ops.rename,unlink:ee.node_ops.unlink,rmdir:ee.node_ops.rmdir,readdir:ee.node_ops.readdir,symlink:ee.node_ops.symlink},stream:{llseek:ee.stream_ops.llseek}},file:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr},stream:{llseek:ee.stream_ops.llseek,read:ee.stream_ops.read,write:ee.stream_ops.write,allocate:ee.stream_ops.allocate,mmap:ee.stream_ops.mmap,msync:ee.stream_ops.msync}},link:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr,readlink:ee.node_ops.readlink},stream:{}},chrdev:{node:{getattr:ee.node_ops.getattr,setattr:ee.node_ops.setattr},stream:ie.chrdev_stream_ops}});var o=ie.createNode(e,t,r,i);return ie.isDir(o.mode)?(o.node_ops=ee.ops_table.dir.node,o.stream_ops=ee.ops_table.dir.stream,o.contents={}):ie.isFile(o.mode)?(o.node_ops=ee.ops_table.file.node,o.stream_ops=ee.ops_table.file.stream,o.usedBytes=0,o.contents=null):ie.isLink(o.mode)?(o.node_ops=ee.ops_table.link.node,o.stream_ops=ee.ops_table.link.stream):ie.isChrdev(o.mode)&&(o.node_ops=ee.ops_table.chrdev.node,o.stream_ops=ee.ops_table.chrdev.stream),o.timestamp=Date.now(),e&&(e.contents[t]=o,e.timestamp=o.timestamp),o},getFileDataAsTypedArray:e=>e.contents?e.contents.subarray?e.contents.subarray(0,e.usedBytes):new Uint8Array(e.contents):new Uint8Array(0),expandFileStorage(e,t){var r=e.contents?e.contents.length:0;if(!(r>=t)){t=Math.max(t,r*(r<1048576?2:1.125)>>>0),0!=r&&(t=Math.max(t,256));var i=e.contents;e.contents=new Uint8Array(t),e.usedBytes>0&&e.contents.set(i.subarray(0,e.usedBytes),0)}},resizeFileStorage(e,t){if(e.usedBytes!=t)if(0==t)e.contents=null,e.usedBytes=0;else{var r=e.contents;e.contents=new Uint8Array(t),r&&e.contents.set(r.subarray(0,Math.min(t,e.usedBytes))),e.usedBytes=t}},node_ops:{getattr(e){var t={};return t.dev=ie.isChrdev(e.mode)?e.id:1,t.ino=e.id,t.mode=e.mode,t.nlink=1,t.uid=0,t.gid=0,t.rdev=e.rdev,ie.isDir(e.mode)?t.size=4096:ie.isFile(e.mode)?t.size=e.usedBytes:ie.isLink(e.mode)?t.size=e.link.length:t.size=0,t.atime=new Date(e.timestamp),t.mtime=new Date(e.timestamp),t.ctime=new Date(e.timestamp),t.blksize=4096,t.blocks=Math.ceil(t.size/t.blksize),t},setattr(e,t){void 0!==t.mode&&(e.mode=t.mode),void 0!==t.timestamp&&(e.timestamp=t.timestamp),void 0!==t.size&&ee.resizeFileStorage(e,t.size)},lookup(e,t){throw ie.genericErrors[44]},mknod:(e,t,r,i)=>ee.createNode(e,t,r,i),rename(e,t,r){if(ie.isDir(e.mode)){var i;try{i=ie.lookupNode(t,r)}catch(n){}if(i)for(var o in i.contents)throw new ie.ErrnoError(55)}delete e.parent.contents[e.name],e.parent.timestamp=Date.now(),e.name=r,t.contents[r]=e,t.timestamp=e.parent.timestamp,e.parent=t},unlink(e,t){delete e.contents[t],e.timestamp=Date.now()},rmdir(e,t){var r=ie.lookupNode(e,t);for(var i in r.contents)throw new ie.ErrnoError(55);delete e.contents[t],e.timestamp=Date.now()},readdir(e){var t=[".",".."];for(var r in e.contents)e.contents.hasOwnProperty(r)&&t.push(r);return t},symlink(e,t,r){var i=ee.createNode(e,t,41471,0);return i.link=r,i},readlink(e){if(!ie.isLink(e.mode))throw new ie.ErrnoError(28);return e.link}},stream_ops:{read(e,t,r,i,o){var n=e.node.contents;if(o>=e.node.usedBytes)return 0;var a=Math.min(e.node.usedBytes-o,i);if(a>8&&n.subarray)t.set(n.subarray(o,o+a),r);else for(var s=0;s<a;s++)t[r+s]=n[o+s];return a},write(e,t,r,i,o,n){if(!i)return 0;var a=e.node;if(a.timestamp=Date.now(),t.subarray&&(!a.contents||a.contents.subarray)){if(n)return a.contents=t.subarray(r,r+i),a.usedBytes=i,i;if(0===a.usedBytes&&0===o)return a.contents=t.slice(r,r+i),a.usedBytes=i,i;if(o+i<=a.usedBytes)return a.contents.set(t.subarray(r,r+i),o),i}if(ee.expandFileStorage(a,o+i),a.contents.subarray&&t.subarray)a.contents.set(t.subarray(r,r+i),o);else for(var s=0;s<i;s++)a.contents[o+s]=t[r+s];return a.usedBytes=Math.max(a.usedBytes,o+i),i},llseek(e,t,r){var i=t;if(1===r?i+=e.position:2===r&&ie.isFile(e.node.mode)&&(i+=e.node.usedBytes),i<0)throw new ie.ErrnoError(28);return i},allocate(e,t,r){ee.expandFileStorage(e.node,t+r),e.node.usedBytes=Math.max(e.node.usedBytes,t+r)},mmap(e,t,r,i,o){if(!ie.isFile(e.node.mode))throw new ie.ErrnoError(43);var n,a,s=e.node.contents;if(2&o||s.buffer!==_.buffer){if((r>0||r+t<s.length)&&(s=s.subarray?s.subarray(r,r+t):Array.prototype.slice.call(s,r,r+t)),a=!0,!(n=Z()))throw new ie.ErrnoError(48);_.set(s,n)}else a=!1,n=s.byteOffset;return{ptr:n,allocated:a}},msync:(e,t,r,i,o)=>(ee.stream_ops.write(e,t,0,i,r,!1),0)}},te=i.preloadPlugins||[];function re(e,t){var r=0;return e&&(r|=365),t&&(r|=146),r}var ie={root:null,mounts:[],devices:{},streams:[],nextInode:1,nameTable:null,currentPath:"/",initialized:!1,ignorePermissions:!0,ErrnoError:null,genericErrors:{},filesystems:null,syncFSRequests:0,lookupPath:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!(e=z.resolve(e)))return{path:"",node:null};if((t=Object.assign({follow_mount:!0,recurse_count:0},t)).recurse_count>8)throw new ie.ErrnoError(32);for(var r=e.split("/").filter((e=>!!e)),i=ie.root,o="/",n=0;n<r.length;n++){var a=n===r.length-1;if(a&&t.parent)break;if(i=ie.lookupNode(i,r[n]),o=j.join2(o,r[n]),ie.isMountpoint(i)&&(!a||a&&t.follow_mount)&&(i=i.mounted.root),!a||t.follow)for(var s=0;ie.isLink(i.mode);){var c=ie.readlink(o);if(o=z.resolve(j.dirname(o),c),i=ie.lookupPath(o,{recurse_count:t.recurse_count+1}).node,s++>40)throw new ie.ErrnoError(32)}}return{path:o,node:i}},getPath:e=>{for(var t;;){if(ie.isRoot(e)){var r=e.mount.mountpoint;return t?"/"!==r[r.length-1]?"".concat(r,"/").concat(t):r+t:r}t=t?"".concat(e.name,"/").concat(t):e.name,e=e.parent}},hashName:(e,t)=>{for(var r=0,i=0;i<t.length;i++)r=(r<<5)-r+t.charCodeAt(i)|0;return(e+r>>>0)%ie.nameTable.length},hashAddNode:e=>{var t=ie.hashName(e.parent.id,e.name);e.name_next=ie.nameTable[t],ie.nameTable[t]=e},hashRemoveNode:e=>{var t=ie.hashName(e.parent.id,e.name);if(ie.nameTable[t]===e)ie.nameTable[t]=e.name_next;else for(var r=ie.nameTable[t];r;){if(r.name_next===e){r.name_next=e.name_next;break}r=r.name_next}},lookupNode:(e,t)=>{var r=ie.mayLookup(e);if(r)throw new ie.ErrnoError(r,e);for(var i=ie.hashName(e.id,t),o=ie.nameTable[i];o;o=o.name_next){var n=o.name;if(o.parent.id===e.id&&n===t)return o}return ie.lookup(e,t)},createNode:(e,t,r,i)=>{var o=new ie.FSNode(e,t,r,i);return ie.hashAddNode(o),o},destroyNode:e=>{ie.hashRemoveNode(e)},isRoot:e=>e===e.parent,isMountpoint:e=>!!e.mounted,isFile:e=>32768==(61440&e),isDir:e=>16384==(61440&e),isLink:e=>40960==(61440&e),isChrdev:e=>8192==(61440&e),isBlkdev:e=>24576==(61440&e),isFIFO:e=>4096==(61440&e),isSocket:e=>!(49152&~e),flagsToPermissionString:e=>{var t=["r","w","rw"][3&e];return 512&e&&(t+="w"),t},nodePermissions:(e,t)=>ie.ignorePermissions||(!t.includes("r")||292&e.mode)&&(!t.includes("w")||146&e.mode)&&(!t.includes("x")||73&e.mode)?0:2,mayLookup:e=>ie.nodePermissions(e,"x")||(e.node_ops.lookup?0:2),mayCreate:(e,t)=>{try{return ie.lookupNode(e,t),20}catch(r){}return ie.nodePermissions(e,"wx")},mayDelete:(e,t,r)=>{var i;try{i=ie.lookupNode(e,t)}catch(n){return n.errno}var o=ie.nodePermissions(e,"wx");if(o)return o;if(r){if(!ie.isDir(i.mode))return 54;if(ie.isRoot(i)||ie.getPath(i)===ie.cwd())return 10}else if(ie.isDir(i.mode))return 31;return 0},mayOpen:(e,t)=>e?ie.isLink(e.mode)?32:ie.isDir(e.mode)&&("r"!==ie.flagsToPermissionString(t)||512&t)?31:ie.nodePermissions(e,ie.flagsToPermissionString(t)):44,MAX_OPEN_FDS:4096,nextfd:()=>{for(var e=0;e<=ie.MAX_OPEN_FDS;e++)if(!ie.streams[e])return e;throw new ie.ErrnoError(33)},getStreamChecked:e=>{var t=ie.getStream(e);if(!t)throw new ie.ErrnoError(8);return t},getStream:e=>ie.streams[e],createStream:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return ie.FSStream||(ie.FSStream=function(){this.shared={}},ie.FSStream.prototype={},Object.defineProperties(ie.FSStream.prototype,{object:{get(){return this.node},set(e){this.node=e}},isRead:{get(){return 1!=(2097155&this.flags)}},isWrite:{get(){return!!(2097155&this.flags)}},isAppend:{get(){return 1024&this.flags}},flags:{get(){return this.shared.flags},set(e){this.shared.flags=e}},position:{get(){return this.shared.position},set(e){this.shared.position=e}}})),e=Object.assign(new ie.FSStream,e),-1==t&&(t=ie.nextfd()),e.fd=t,ie.streams[t]=e,e},closeStream:e=>{ie.streams[e]=null},chrdev_stream_ops:{open:e=>{var t=ie.getDevice(e.node.rdev);e.stream_ops=t.stream_ops,e.stream_ops.open&&e.stream_ops.open(e)},llseek:()=>{throw new ie.ErrnoError(70)}},major:e=>e>>8,minor:e=>255&e,makedev:(e,t)=>e<<8|t,registerDevice:(e,t)=>{ie.devices[e]={stream_ops:t}},getDevice:e=>ie.devices[e],getMounts:e=>{for(var t=[],r=[e];r.length;){var i=r.pop();t.push(i),r.push.apply(r,i.mounts)}return t},syncfs:(e,t)=>{"function"==typeof e&&(t=e,e=!1),ie.syncFSRequests++,ie.syncFSRequests>1&&f("warning: ".concat(ie.syncFSRequests," FS.syncfs operations in flight at once, probably just doing extra work"));var r=ie.getMounts(ie.root.mount),i=0;function o(e){return ie.syncFSRequests--,t(e)}function n(e){if(e)return n.errored?void 0:(n.errored=!0,o(e));++i>=r.length&&o(null)}r.forEach((t=>{if(!t.type.syncfs)return n(null);t.type.syncfs(t,e,n)}))},mount:(e,t,r)=>{var i,o="/"===r,n=!r;if(o&&ie.root)throw new ie.ErrnoError(10);if(!o&&!n){var a=ie.lookupPath(r,{follow_mount:!1});if(r=a.path,i=a.node,ie.isMountpoint(i))throw new ie.ErrnoError(10);if(!ie.isDir(i.mode))throw new ie.ErrnoError(54)}var s={type:e,opts:t,mountpoint:r,mounts:[]},c=e.mount(s);return c.mount=s,s.root=c,o?ie.root=c:i&&(i.mounted=s,i.mount&&i.mount.mounts.push(s)),c},unmount:e=>{var t=ie.lookupPath(e,{follow_mount:!1});if(!ie.isMountpoint(t.node))throw new ie.ErrnoError(28);var r=t.node,i=r.mounted,o=ie.getMounts(i);Object.keys(ie.nameTable).forEach((e=>{for(var t=ie.nameTable[e];t;){var r=t.name_next;o.includes(t.mount)&&ie.destroyNode(t),t=r}})),r.mounted=null;var n=r.mount.mounts.indexOf(i);r.mount.mounts.splice(n,1)},lookup:(e,t)=>e.node_ops.lookup(e,t),mknod:(e,t,r)=>{var i=ie.lookupPath(e,{parent:!0}).node,o=j.basename(e);if(!o||"."===o||".."===o)throw new ie.ErrnoError(28);var n=ie.mayCreate(i,o);if(n)throw new ie.ErrnoError(n);if(!i.node_ops.mknod)throw new ie.ErrnoError(63);return i.node_ops.mknod(i,o,t,r)},create:(e,t)=>(t=void 0!==t?t:438,t&=4095,t|=32768,ie.mknod(e,t,0)),mkdir:(e,t)=>(t=void 0!==t?t:511,t&=1023,t|=16384,ie.mknod(e,t,0)),mkdirTree:(e,t)=>{for(var r=e.split("/"),i="",o=0;o<r.length;++o)if(r[o]){i+="/"+r[o];try{ie.mkdir(i,t)}catch(n){if(20!=n.errno)throw n}}},mkdev:(e,t,r)=>(void 0===r&&(r=t,t=438),t|=8192,ie.mknod(e,t,r)),symlink:(e,t)=>{if(!z.resolve(e))throw new ie.ErrnoError(44);var r=ie.lookupPath(t,{parent:!0}).node;if(!r)throw new ie.ErrnoError(44);var i=j.basename(t),o=ie.mayCreate(r,i);if(o)throw new ie.ErrnoError(o);if(!r.node_ops.symlink)throw new ie.ErrnoError(63);return r.node_ops.symlink(r,i,e)},rename:(e,t)=>{var r,i,o=j.dirname(e),n=j.dirname(t),a=j.basename(e),s=j.basename(t);if(r=ie.lookupPath(e,{parent:!0}).node,i=ie.lookupPath(t,{parent:!0}).node,!r||!i)throw new ie.ErrnoError(44);if(r.mount!==i.mount)throw new ie.ErrnoError(75);var c,l=ie.lookupNode(r,a),d=z.relative(e,n);if("."!==d.charAt(0))throw new ie.ErrnoError(28);if("."!==(d=z.relative(t,o)).charAt(0))throw new ie.ErrnoError(55);try{c=ie.lookupNode(i,s)}catch(p){}if(l!==c){var u=ie.isDir(l.mode),h=ie.mayDelete(r,a,u);if(h)throw new ie.ErrnoError(h);if(h=c?ie.mayDelete(i,s,u):ie.mayCreate(i,s))throw new ie.ErrnoError(h);if(!r.node_ops.rename)throw new ie.ErrnoError(63);if(ie.isMountpoint(l)||c&&ie.isMountpoint(c))throw new ie.ErrnoError(10);if(i!==r&&(h=ie.nodePermissions(r,"w")))throw new ie.ErrnoError(h);ie.hashRemoveNode(l);try{r.node_ops.rename(l,i,s)}catch(p){throw p}finally{ie.hashAddNode(l)}}},rmdir:e=>{var t=ie.lookupPath(e,{parent:!0}).node,r=j.basename(e),i=ie.lookupNode(t,r),o=ie.mayDelete(t,r,!0);if(o)throw new ie.ErrnoError(o);if(!t.node_ops.rmdir)throw new ie.ErrnoError(63);if(ie.isMountpoint(i))throw new ie.ErrnoError(10);t.node_ops.rmdir(t,r),ie.destroyNode(i)},readdir:e=>{var t=ie.lookupPath(e,{follow:!0}).node;if(!t.node_ops.readdir)throw new ie.ErrnoError(54);return t.node_ops.readdir(t)},unlink:e=>{var t=ie.lookupPath(e,{parent:!0}).node;if(!t)throw new ie.ErrnoError(44);var r=j.basename(e),i=ie.lookupNode(t,r),o=ie.mayDelete(t,r,!1);if(o)throw new ie.ErrnoError(o);if(!t.node_ops.unlink)throw new ie.ErrnoError(63);if(ie.isMountpoint(i))throw new ie.ErrnoError(10);t.node_ops.unlink(t,r),ie.destroyNode(i)},readlink:e=>{var t=ie.lookupPath(e).node;if(!t)throw new ie.ErrnoError(44);if(!t.node_ops.readlink)throw new ie.ErrnoError(28);return z.resolve(ie.getPath(t.parent),t.node_ops.readlink(t))},stat:(e,t)=>{var r=ie.lookupPath(e,{follow:!t}).node;if(!r)throw new ie.ErrnoError(44);if(!r.node_ops.getattr)throw new ie.ErrnoError(63);return r.node_ops.getattr(r)},lstat:e=>ie.stat(e,!0),chmod:(e,t,r)=>{var i;if(!(i="string"==typeof e?ie.lookupPath(e,{follow:!r}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);i.node_ops.setattr(i,{mode:4095&t|-4096&i.mode,timestamp:Date.now()})},lchmod:(e,t)=>{ie.chmod(e,t,!0)},fchmod:(e,t)=>{var r=ie.getStreamChecked(e);ie.chmod(r.node,t)},chown:(e,t,r,i)=>{var o;if(!(o="string"==typeof e?ie.lookupPath(e,{follow:!i}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);o.node_ops.setattr(o,{timestamp:Date.now()})},lchown:(e,t,r)=>{ie.chown(e,t,r,!0)},fchown:(e,t,r)=>{var i=ie.getStreamChecked(e);ie.chown(i.node,t,r)},truncate:(e,t)=>{if(t<0)throw new ie.ErrnoError(28);var r;if(!(r="string"==typeof e?ie.lookupPath(e,{follow:!0}).node:e).node_ops.setattr)throw new ie.ErrnoError(63);if(ie.isDir(r.mode))throw new ie.ErrnoError(31);if(!ie.isFile(r.mode))throw new ie.ErrnoError(28);var i=ie.nodePermissions(r,"w");if(i)throw new ie.ErrnoError(i);r.node_ops.setattr(r,{size:t,timestamp:Date.now()})},ftruncate:(e,t)=>{var r=ie.getStreamChecked(e);if(!(2097155&r.flags))throw new ie.ErrnoError(28);ie.truncate(r.node,t)},utime:(e,t,r)=>{var i=ie.lookupPath(e,{follow:!0}).node;i.node_ops.setattr(i,{timestamp:Math.max(t,r)})},open:(e,t,r)=>{if(""===e)throw new ie.ErrnoError(44);var o;if(r=void 0===r?438:r,r=64&(t="string"==typeof t?function(e){var t={r:0,"r+":2,w:577,"w+":578,a:1089,"a+":1090}[e];if(void 0===t)throw new Error("Unknown file open mode: ".concat(e));return t}(t):t)?4095&r|32768:0,"object"==typeof e)o=e;else{e=j.normalize(e);try{o=ie.lookupPath(e,{follow:!(131072&t)}).node}catch(c){}}var n=!1;if(64&t)if(o){if(128&t)throw new ie.ErrnoError(20)}else o=ie.mknod(e,r,0),n=!0;if(!o)throw new ie.ErrnoError(44);if(ie.isChrdev(o.mode)&&(t&=-513),65536&t&&!ie.isDir(o.mode))throw new ie.ErrnoError(54);if(!n){var a=ie.mayOpen(o,t);if(a)throw new ie.ErrnoError(a)}512&t&&!n&&ie.truncate(o,0),t&=-131713;var s=ie.createStream({node:o,path:ie.getPath(o),flags:t,seekable:!0,position:0,stream_ops:o.stream_ops,ungotten:[],error:!1});return s.stream_ops.open&&s.stream_ops.open(s),!i.logReadFiles||1&t||(ie.readFiles||(ie.readFiles={}),e in ie.readFiles||(ie.readFiles[e]=1)),s},close:e=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);e.getdents&&(e.getdents=null);try{e.stream_ops.close&&e.stream_ops.close(e)}catch(t){throw t}finally{ie.closeStream(e.fd)}e.fd=null},isClosed:e=>null===e.fd,llseek:(e,t,r)=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!e.seekable||!e.stream_ops.llseek)throw new ie.ErrnoError(70);if(0!=r&&1!=r&&2!=r)throw new ie.ErrnoError(28);return e.position=e.stream_ops.llseek(e,t,r),e.ungotten=[],e.position},read:(e,t,r,i,o)=>{if(i<0||o<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(1==(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.read)throw new ie.ErrnoError(28);var n=void 0!==o;if(n){if(!e.seekable)throw new ie.ErrnoError(70)}else o=e.position;var a=e.stream_ops.read(e,t,r,i,o);return n||(e.position+=a),a},write:(e,t,r,i,o,n)=>{if(i<0||o<0)throw new ie.ErrnoError(28);if(ie.isClosed(e))throw new ie.ErrnoError(8);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(ie.isDir(e.node.mode))throw new ie.ErrnoError(31);if(!e.stream_ops.write)throw new ie.ErrnoError(28);e.seekable&&1024&e.flags&&ie.llseek(e,0,2);var a=void 0!==o;if(a){if(!e.seekable)throw new ie.ErrnoError(70)}else o=e.position;var s=e.stream_ops.write(e,t,r,i,o,n);return a||(e.position+=s),s},allocate:(e,t,r)=>{if(ie.isClosed(e))throw new ie.ErrnoError(8);if(t<0||r<=0)throw new ie.ErrnoError(28);if(!(2097155&e.flags))throw new ie.ErrnoError(8);if(!ie.isFile(e.node.mode)&&!ie.isDir(e.node.mode))throw new ie.ErrnoError(43);if(!e.stream_ops.allocate)throw new ie.ErrnoError(138);e.stream_ops.allocate(e,t,r)},mmap:(e,t,r,i,o)=>{if(2&i&&!(2&o)&&2!=(2097155&e.flags))throw new ie.ErrnoError(2);if(1==(2097155&e.flags))throw new ie.ErrnoError(2);if(!e.stream_ops.mmap)throw new ie.ErrnoError(43);return e.stream_ops.mmap(e,t,r,i,o)},msync:(e,t,r,i,o)=>e.stream_ops.msync?e.stream_ops.msync(e,t,r,i,o):0,munmap:e=>0,ioctl:(e,t,r)=>{if(!e.stream_ops.ioctl)throw new ie.ErrnoError(59);return e.stream_ops.ioctl(e,t,r)},readFile:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(t.flags=t.flags||0,t.encoding=t.encoding||"binary","utf8"!==t.encoding&&"binary"!==t.encoding)throw new Error('Invalid encoding type "'.concat(t.encoding,'"'));var r,i=ie.open(e,t.flags),o=ie.stat(e).size,n=new Uint8Array(o);return ie.read(i,n,0,o,0),"utf8"===t.encoding?r=q(n,0):"binary"===t.encoding&&(r=n),ie.close(i),r},writeFile:function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};r.flags=r.flags||577;var i=ie.open(e,r.flags,r.mode);if("string"==typeof t){var o=new Uint8Array(J(t)+1),n=X(t,o,0,o.length);ie.write(i,o,0,n,void 0,r.canOwn)}else{if(!ArrayBuffer.isView(t))throw new Error("Unsupported data type");ie.write(i,t,0,t.byteLength,void 0,r.canOwn)}ie.close(i)},cwd:()=>ie.currentPath,chdir:e=>{var t=ie.lookupPath(e,{follow:!0});if(null===t.node)throw new ie.ErrnoError(44);if(!ie.isDir(t.node.mode))throw new ie.ErrnoError(54);var r=ie.nodePermissions(t.node,"x");if(r)throw new ie.ErrnoError(r);ie.currentPath=t.path},createDefaultDirectories:()=>{ie.mkdir("/tmp"),ie.mkdir("/home"),ie.mkdir("/home/web_user")},createDefaultDevices:()=>{ie.mkdir("/dev"),ie.registerDevice(ie.makedev(1,3),{read:()=>0,write:(e,t,r,i,o)=>i}),ie.mkdev("/dev/null",ie.makedev(1,3)),Q.register(ie.makedev(5,0),Q.default_tty_ops),Q.register(ie.makedev(6,0),Q.default_tty1_ops),ie.mkdev("/dev/tty",ie.makedev(5,0)),ie.mkdev("/dev/tty1",ie.makedev(6,0));var e=new Uint8Array(1024),t=0,r=()=>(0===t&&(t=G(e).byteLength),e[--t]);ie.createDevice("/dev","random",r),ie.createDevice("/dev","urandom",r),ie.mkdir("/dev/shm"),ie.mkdir("/dev/shm/tmp")},createSpecialDirectories:()=>{ie.mkdir("/proc");var e=ie.mkdir("/proc/self");ie.mkdir("/proc/self/fd"),ie.mount({mount:()=>{var t=ie.createNode(e,"fd",16895,73);return t.node_ops={lookup:(e,t)=>{var r=+t,i=ie.getStreamChecked(r),o={parent:null,mount:{mountpoint:"fake"},node_ops:{readlink:()=>i.path}};return o.parent=o,o}},t}},{},"/proc/self/fd")},createStandardStreams:()=>{i.stdin?ie.createDevice("/dev","stdin",i.stdin):ie.symlink("/dev/tty","/dev/stdin"),i.stdout?ie.createDevice("/dev","stdout",null,i.stdout):ie.symlink("/dev/tty","/dev/stdout"),i.stderr?ie.createDevice("/dev","stderr",null,i.stderr):ie.symlink("/dev/tty1","/dev/stderr"),ie.open("/dev/stdin",0),ie.open("/dev/stdout",1),ie.open("/dev/stderr",1)},ensureErrnoError:()=>{ie.ErrnoError||(ie.ErrnoError=function(e,t){this.name="ErrnoError",this.node=t,this.setErrno=function(e){this.errno=e},this.setErrno(e),this.message="FS error"},ie.ErrnoError.prototype=new Error,ie.ErrnoError.prototype.constructor=ie.ErrnoError,[44].forEach((e=>{ie.genericErrors[e]=new ie.ErrnoError(e),ie.genericErrors[e].stack="<generic error, no stack>"})))},staticInit:()=>{ie.ensureErrnoError(),ie.nameTable=new Array(4096),ie.mount(ee,{},"/"),ie.createDefaultDirectories(),ie.createDefaultDevices(),ie.createSpecialDirectories(),ie.filesystems={MEMFS:ee}},init:(e,t,r)=>{ie.init.initialized=!0,ie.ensureErrnoError(),i.stdin=e||i.stdin,i.stdout=t||i.stdout,i.stderr=r||i.stderr,ie.createStandardStreams()},quit:()=>{ie.init.initialized=!1;for(var e=0;e<ie.streams.length;e++){var t=ie.streams[e];t&&ie.close(t)}},findObject:(e,t)=>{var r=ie.analyzePath(e,t);return r.exists?r.object:null},analyzePath:(e,t)=>{try{e=(i=ie.lookupPath(e,{follow:!t})).path}catch(o){}var r={isRoot:!1,exists:!1,error:0,name:null,path:null,object:null,parentExists:!1,parentPath:null,parentObject:null};try{var i=ie.lookupPath(e,{parent:!0});r.parentExists=!0,r.parentPath=i.path,r.parentObject=i.node,r.name=j.basename(e),i=ie.lookupPath(e,{follow:!t}),r.exists=!0,r.path=i.path,r.object=i.node,r.name=i.node.name,r.isRoot="/"===i.path}catch(o){r.error=o.errno}return r},createPath:(e,t,r,i)=>{e="string"==typeof e?e:ie.getPath(e);for(var o=t.split("/").reverse();o.length;){var n=o.pop();if(n){var a=j.join2(e,n);try{ie.mkdir(a)}catch(s){}e=a}}return a},createFile:(e,t,r,i,o)=>{var n=j.join2("string"==typeof e?e:ie.getPath(e),t),a=re(i,o);return ie.create(n,a)},createDataFile:(e,t,r,i,o,n)=>{var a=t;e&&(e="string"==typeof e?e:ie.getPath(e),a=t?j.join2(e,t):e);var s=re(i,o),c=ie.create(a,s);if(r){if("string"==typeof r){for(var l=new Array(r.length),d=0,u=r.length;d<u;++d)l[d]=r.charCodeAt(d);r=l}ie.chmod(c,146|s);var h=ie.open(c,577);ie.write(h,r,0,r.length,0,n),ie.close(h),ie.chmod(c,s)}return c},createDevice:(e,t,r,i)=>{var o=j.join2("string"==typeof e?e:ie.getPath(e),t),n=re(!!r,!!i);ie.createDevice.major||(ie.createDevice.major=64);var a=ie.makedev(ie.createDevice.major++,0);return ie.registerDevice(a,{open:e=>{e.seekable=!1},close:e=>{i&&i.buffer&&i.buffer.length&&i(10)},read:(e,t,i,o,n)=>{for(var a=0,s=0;s<o;s++){var c;try{c=r()}catch(l){throw new ie.ErrnoError(29)}if(void 0===c&&0===a)throw new ie.ErrnoError(6);if(null==c)break;a++,t[i+s]=c}return a&&(e.node.timestamp=Date.now()),a},write:(e,t,r,o,n)=>{for(var a=0;a<o;a++)try{i(t[r+a])}catch(s){throw new ie.ErrnoError(29)}return o&&(e.node.timestamp=Date.now()),a}}),ie.mkdev(o,n,a)},forceLoadFile:e=>{if(e.isDevice||e.isFolder||e.link||e.contents)return!0;if("undefined"!=typeof XMLHttpRequest)throw new Error("Lazy loading should have been performed (contents set) in createLazyFile, but it was not. Lazy loading only works in web workers. Use --embed-file or --preload-file in emcc on the main thread.");if(!o)throw new Error("Cannot load without read() or XMLHttpRequest.");try{e.contents=$(o(e.url),!0),e.usedBytes=e.contents.length}catch(t){throw new ie.ErrnoError(29)}},createLazyFile:(e,t,r,i,o)=>{function n(){this.lengthKnown=!1,this.chunks=[]}if(n.prototype.get=function(e){if(!(e>this.length-1||e<0)){var t=e%this.chunkSize,r=e/this.chunkSize|0;return this.getter(r)[t]}},n.prototype.setDataGetter=function(e){this.getter=e},n.prototype.cacheLength=function(){var e=new XMLHttpRequest;if(e.open("HEAD",r,!1),e.send(null),!(e.status>=200&&e.status<300||304===e.status))throw new Error("Couldn't load "+r+". Status: "+e.status);var t,i=Number(e.getResponseHeader("Content-length")),o=(t=e.getResponseHeader("Accept-Ranges"))&&"bytes"===t,n=(t=e.getResponseHeader("Content-Encoding"))&&"gzip"===t,a=1048576;o||(a=i);var s=this;s.setDataGetter((e=>{var t=e*a,o=(e+1)*a-1;if(o=Math.min(o,i-1),void 0===s.chunks[e]&&(s.chunks[e]=((e,t)=>{if(e>t)throw new Error("invalid range ("+e+", "+t+") or no bytes requested!");if(t>i-1)throw new Error("only "+i+" bytes available! programmer error!");var o=new XMLHttpRequest;if(o.open("GET",r,!1),i!==a&&o.setRequestHeader("Range","bytes="+e+"-"+t),o.responseType="arraybuffer",o.overrideMimeType&&o.overrideMimeType("text/plain; charset=x-user-defined"),o.send(null),!(o.status>=200&&o.status<300||304===o.status))throw new Error("Couldn't load "+r+". Status: "+o.status);return void 0!==o.response?new Uint8Array(o.response||[]):$(o.responseText||"",!0)})(t,o)),void 0===s.chunks[e])throw new Error("doXHR failed!");return s.chunks[e]})),!n&&i||(a=i=1,i=this.getter(0).length,a=i,m("LazyFiles on gzip forces download of the whole file when length is accessed")),this._length=i,this._chunkSize=a,this.lengthKnown=!0},"undefined"!=typeof XMLHttpRequest){if(!d)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var a=new n;Object.defineProperties(a,{length:{get:function(){return this.lengthKnown||this.cacheLength(),this._length}},chunkSize:{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}}});var s={isDevice:!1,contents:a}}else s={isDevice:!1,url:r};var c=ie.createFile(e,t,s,i,o);s.contents?c.contents=s.contents:s.url&&(c.contents=null,c.url=s.url),Object.defineProperties(c,{usedBytes:{get:function(){return this.contents.length}}});var l={};function u(e,t,r,i,o){var n=e.node.contents;if(o>=n.length)return 0;var a=Math.min(n.length-o,i);if(n.slice)for(var s=0;s<a;s++)t[r+s]=n[o+s];else for(s=0;s<a;s++)t[r+s]=n.get(o+s);return a}return Object.keys(c.stream_ops).forEach((e=>{var t=c.stream_ops[e];l[e]=function(){return ie.forceLoadFile(c),t.apply(null,arguments)}})),l.read=(e,t,r,i,o)=>(ie.forceLoadFile(c),u(e,t,r,i,o)),l.mmap=(e,t,r,i,o)=>{ie.forceLoadFile(c);var n=Z();if(!n)throw new ie.ErrnoError(48);return u(e,_,n,t,r),{ptr:n,allocated:!0}},c.stream_ops=l,c}},oe=(e,t)=>e?q(g,e,t):"",ne={DEFAULT_POLLMASK:5,calculateAt:function(e,t,r){if(j.isAbs(t))return t;var i;if(i=-100===e?ie.cwd():ne.getStreamFromFD(e).path,0==t.length){if(!r)throw new ie.ErrnoError(44);return i}return j.join2(i,t)},doStat:function(e,t,r){try{var i=e(t)}catch(s){if(s&&s.node&&j.normalize(t)!==j.normalize(ie.getPath(s.node)))return-54;throw s}y[r>>2]=i.dev,y[r+4>>2]=i.mode,T[r+8>>2]=i.nlink,y[r+12>>2]=i.uid,y[r+16>>2]=i.gid,y[r+20>>2]=i.rdev,C=[i.size>>>0,(w=i.size,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+24>>2]=C[0],y[r+28>>2]=C[1],y[r+32>>2]=4096,y[r+36>>2]=i.blocks;var o=i.atime.getTime(),n=i.mtime.getTime(),a=i.ctime.getTime();return C=[Math.floor(o/1e3)>>>0,(w=Math.floor(o/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+40>>2]=C[0],y[r+44>>2]=C[1],T[r+48>>2]=o%1e3*1e3,C=[Math.floor(n/1e3)>>>0,(w=Math.floor(n/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+56>>2]=C[0],y[r+60>>2]=C[1],T[r+64>>2]=n%1e3*1e3,C=[Math.floor(a/1e3)>>>0,(w=Math.floor(a/1e3),+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+72>>2]=C[0],y[r+76>>2]=C[1],T[r+80>>2]=a%1e3*1e3,C=[i.ino>>>0,(w=i.ino,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[r+88>>2]=C[0],y[r+92>>2]=C[1],0},doMsync:function(e,t,r,i,o){if(!ie.isFile(t.node.mode))throw new ie.ErrnoError(43);if(2&i)return 0;var n=g.slice(e,e+r);ie.msync(t,n,o,r,i)},varargs:void 0,get:()=>(ne.varargs+=4,y[ne.varargs-4>>2]),getStr:e=>oe(e),getStreamFromFD:function(e){return ie.getStreamChecked(e)}};function ae(e){switch(e){case 1:return 0;case 2:return 1;case 4:return 2;case 8:return 3;default:throw new TypeError("Unknown type size: ".concat(e))}}var se=void 0;function ce(e){for(var t="",r=e;g[r];)t+=se[g[r++]];return t}var le={},de={},ue={},he=void 0;function pe(e){throw new he(e)}var me=void 0;function fe(e){throw new me(e)}function _e(e,t,r){function i(t){var i=r(t);i.length!==e.length&&fe("Mismatched type converter count");for(var o=0;o<e.length;++o)ge(e[o],i[o])}e.forEach((function(e){ue[e]=t}));var o=new Array(t.length),n=[],a=0;t.forEach(((e,t)=>{de.hasOwnProperty(e)?o[t]=de[e]:(n.push(e),le.hasOwnProperty(e)||(le[e]=[]),le[e].push((()=>{o[t]=de[e],++a===n.length&&i(o)})))})),0===n.length&&i(o)}function ge(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!("argPackAdvance"in t))throw new TypeError("registerType registeredInstance requires argPackAdvance");return function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};var i=t.name;if(e||pe('type "'.concat(i,'" must have a positive integer typeid pointer')),de.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;pe("Cannot register type '".concat(i,"' twice"))}if(de[e]=t,delete ue[e],le.hasOwnProperty(e)){var o=le[e];delete le[e],o.forEach((e=>e()))}}(e,t,r)}function Ee(e){pe(e.$$.ptrType.registeredClass.name+" instance already deleted")}var ve=!1;function ye(e){}function Te(e){var t;e.count.value-=1,0===e.count.value&&((t=e).smartPtr?t.smartPtrType.rawDestructor(t.smartPtr):t.ptrType.registeredClass.rawDestructor(t.ptr))}function Ie(e,t,r){if(t===r)return e;if(void 0===r.baseClass)return null;var i=Ie(e,t,r.baseClass);return null===i?null:r.downcast(i)}var Ae={},Se=[];function Re(){for(;Se.length;){var e=Se.pop();e.$$.deleteScheduled=!1,e.delete()}}var be=void 0,we={};function Ce(e,t){return t.ptrType&&t.ptr||fe("makeClassHandle requires ptr and ptrType"),!!t.smartPtrType!=!!t.smartPtr&&fe("Both smartPtrType and smartPtr must be specified"),t.count={value:1},De(Object.create(e,{$$:{value:t}}))}var De=function(e){return"undefined"==typeof FinalizationRegistry?(De=e=>e,e):(ve=new FinalizationRegistry((e=>{Te(e.$$)})),ye=e=>ve.unregister(e),(De=e=>{var t=e.$$;if(t.smartPtr){var r={$$:t};ve.register(e,r,e)}return e})(e))};function Ne(){}function ke(e){if(void 0===e)return"_unknown";var t=(e=e.replace(/[^a-zA-Z0-9_]/g,"$")).charCodeAt(0);return t>=48&&t<=57?"_".concat(e):e}function Oe(e,t){return e=ke(e),{[e]:function(){return t.apply(this,arguments)}}[e]}function Me(e,t,r){if(void 0===e[t].overloadTable){var i=e[t];e[t]=function(){return e[t].overloadTable.hasOwnProperty(arguments.length)||pe("Function '".concat(r,"' called with an invalid number of arguments (").concat(arguments.length,") - expects one of (").concat(e[t].overloadTable,")!")),e[t].overloadTable[arguments.length].apply(this,arguments)},e[t].overloadTable=[],e[t].overloadTable[i.argCount]=i}}function Le(e,t,r,i,o,n,a,s){this.name=e,this.constructor=t,this.instancePrototype=r,this.rawDestructor=i,this.baseClass=o,this.getActualType=n,this.upcast=a,this.downcast=s,this.pureVirtualFunctions=[]}function Pe(e,t,r){for(;t!==r;)t.upcast||pe("Expected null or instance of ".concat(r.name,", got an instance of ").concat(t.name)),e=t.upcast(e),t=t.baseClass;return e}function xe(e,t){if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),0;t.$$||pe('Cannot pass "'.concat(tt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name));var r=t.$$.ptrType.registeredClass;return Pe(t.$$.ptr,r,this.registeredClass)}function Ue(e,t){var r;if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),this.isSmartPointer?(r=this.rawConstructor(),null!==e&&e.push(this.rawDestructor,r),r):0;t.$$||pe('Cannot pass "'.concat(tt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name)),!this.isConst&&t.$$.ptrType.isConst&&pe("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));var i=t.$$.ptrType.registeredClass;if(r=Pe(t.$$.ptr,i,this.registeredClass),this.isSmartPointer)switch(void 0===t.$$.smartPtr&&pe("Passing raw pointer to smart pointer is illegal"),this.sharingPolicy){case 0:t.$$.smartPtrType===this?r=t.$$.smartPtr:pe("Cannot convert argument of type ".concat(t.$$.smartPtrType?t.$$.smartPtrType.name:t.$$.ptrType.name," to parameter type ").concat(this.name));break;case 1:r=t.$$.smartPtr;break;case 2:if(t.$$.smartPtrType===this)r=t.$$.smartPtr;else{var o=t.clone();r=this.rawShare(r,et.toHandle((function(){o.delete()}))),null!==e&&e.push(this.rawDestructor,r)}break;default:pe("Unsupporting sharing policy")}return r}function Ve(e,t){if(null===t)return this.isReference&&pe("null is not a valid ".concat(this.name)),0;t.$$||pe('Cannot pass "'.concat(tt(t),'" as a ').concat(this.name)),t.$$.ptr||pe("Cannot pass deleted object as a pointer of type ".concat(this.name)),t.$$.ptrType.isConst&&pe("Cannot convert argument of type ".concat(t.$$.ptrType.name," to parameter type ").concat(this.name));var r=t.$$.ptrType.registeredClass;return Pe(t.$$.ptr,r,this.registeredClass)}function Fe(e){return this.fromWireType(y[e>>2])}function Be(e,t,r,i,o,n,a,s,c,l,d){this.name=e,this.registeredClass=t,this.isReference=r,this.isConst=i,this.isSmartPointer=o,this.pointeeType=n,this.sharingPolicy=a,this.rawGetPointee=s,this.rawConstructor=c,this.rawShare=l,this.rawDestructor=d,o||void 0!==t.baseClass?this.toWireType=Ue:i?(this.toWireType=xe,this.destructorFunction=null):(this.toWireType=Ve,this.destructorFunction=null)}var He=[],We=e=>{var t=He[e];return t||(e>=He.length&&(He.length=e+1),He[e]=t=S.get(e)),t};function je(e,t){var r,o,n,a=(e=ce(e)).includes("j")?(r=e,o=t,n=[],function(){return n.length=0,Object.assign(n,arguments),((e,t,r)=>{return e.includes("j")?(o=t,n=r,a=i["dynCall_"+e],n&&n.length?a.apply(null,[o].concat(n)):a.call(null,o)):We(t).apply(null,r);var o,n,a})(r,o,n)}):We(t);return"function"!=typeof a&&pe("unknown function pointer with signature ".concat(e,": ").concat(t)),a}var Ge=void 0;function ze(e){var t=St(e),r=ce(t);return It(t),r}function Ke(e,t){var r=[],i={};throw t.forEach((function e(t){i[t]||de[t]||(ue[t]?ue[t].forEach(e):(r.push(t),i[t]=!0))})),new Ge("".concat(e,": ")+r.map(ze).join([", "]))}function qe(e,t){for(var r=[],i=0;i<e;i++)r.push(T[t+4*i>>2]);return r}function Ye(e){for(;e.length;){var t=e.pop();e.pop()(t)}}function Je(e,t){if(!(e instanceof Function))throw new TypeError("new_ called with constructor type ".concat(typeof e," which is not a function"));var r=Oe(e.name||"unknownFunctionName",(function(){}));r.prototype=e.prototype;var i=new r,o=e.apply(i,t);return o instanceof Object?o:i}function Xe(e,t,r,i,o,n){var a=t.length;a<2&&pe("argTypes array size mismatch! Must at least get return value and 'this' types!");for(var s=null!==t[1]&&null!==r,c=!1,l=1;l<t.length;++l)if(null!==t[l]&&void 0===t[l].destructorFunction){c=!0;break}var d="void"!==t[0].name,u="",h="";for(l=0;l<a-2;++l)u+=(0!==l?", ":"")+"arg"+l,h+=(0!==l?", ":"")+"arg"+l+"Wired";var p="\n return function ".concat(ke(e),"(").concat(u,") {\n if (arguments.length !== ").concat(a-2,") {\n throwBindingError('function ").concat(e," called with ").concat(arguments.length," arguments, expected ").concat(a-2," args!');\n }");c&&(p+="var destructors = [];\n");var m=c?"destructors":"null",f=["throwBindingError","invoker","fn","runDestructors","retType","classParam"],_=[pe,i,o,Ye,t[0],t[1]];for(s&&(p+="var thisWired = classParam.toWireType("+m+", this);\n"),l=0;l<a-2;++l)p+="var arg"+l+"Wired = argType"+l+".toWireType("+m+", arg"+l+"); // "+t[l+2].name+"\n",f.push("argType"+l),_.push(t[l+2]);if(s&&(h="thisWired"+(h.length>0?", ":"")+h),p+=(d||n?"var rv = ":"")+"invoker(fn"+(h.length>0?", ":"")+h+");\n",c)p+="runDestructors(destructors);\n";else for(l=s?1:2;l<t.length;++l){var g=1===l?"thisWired":"arg"+(l-2)+"Wired";null!==t[l].destructorFunction&&(p+=g+"_dtor("+g+"); // "+t[l].name+"\n",f.push(g+"_dtor"),_.push(t[l].destructorFunction))}return d&&(p+="var ret = retType.fromWireType(rv);\nreturn ret;\n"),p+="}\n",f.push(p),Je(Function,f).apply(null,_)}function $e(){this.allocated=[void 0],this.freelist=[]}var Qe=new $e;function Ze(e){e>=Qe.reserved&&0==--Qe.get(e).refcount&&Qe.free(e)}var et={toValue:e=>(e||pe("Cannot use deleted val. handle = "+e),Qe.get(e).value),toHandle:e=>{switch(e){case void 0:return 1;case null:return 2;case!0:return 3;case!1:return 4;default:return Qe.allocate({refcount:1,value:e})}}};function tt(e){if(null===e)return"null";var t=typeof e;return"object"===t||"array"===t||"function"===t?e.toString():""+e}function rt(e,t){switch(t){case 2:return function(e){return this.fromWireType(I[e>>2])};case 3:return function(e){return this.fromWireType(A[e>>3])};default:throw new TypeError("Unknown float type: "+e)}}function it(e,t,r){switch(t){case 0:return r?function(e){return _[e]}:function(e){return g[e]};case 1:return r?function(e){return E[e>>1]}:function(e){return v[e>>1]};case 2:return r?function(e){return y[e>>2]}:function(e){return T[e>>2]};default:throw new TypeError("Unknown integer type: "+e)}}var ot,nt,at="undefined"!=typeof TextDecoder?new TextDecoder("utf-16le"):void 0,st=(e,t)=>{for(var r=e,i=r>>1,o=i+t/2;!(i>=o)&&v[i];)++i;if((r=i<<1)-e>32&&at)return at.decode(g.subarray(e,r));for(var n="",a=0;!(a>=t/2);++a){var s=E[e+2*a>>1];if(0==s)break;n+=String.fromCharCode(s)}return n},ct=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<2)return 0;for(var i=t,o=(r-=2)<2*e.length?r/2:e.length,n=0;n<o;++n){var a=e.charCodeAt(n);E[t>>1]=a,t+=2}return E[t>>1]=0,t-i},lt=e=>2*e.length,dt=(e,t)=>{for(var r=0,i="";!(r>=t/4);){var o=y[e+4*r>>2];if(0==o)break;if(++r,o>=65536){var n=o-65536;i+=String.fromCharCode(55296|n>>10,56320|1023&n)}else i+=String.fromCharCode(o)}return i},ut=(e,t,r)=>{if(void 0===r&&(r=2147483647),r<4)return 0;for(var i=t,o=i+r-4,n=0;n<e.length;++n){var a=e.charCodeAt(n);if(a>=55296&&a<=57343&&(a=65536+((1023&a)<<10)|1023&e.charCodeAt(++n)),y[t>>2]=a,(t+=4)+4>o)break}return y[t>>2]=0,t-i},ht=e=>{for(var t=0,r=0;r<e.length;++r){var i=e.charCodeAt(r);i>=55296&&i<=57343&&++r,t+=4}return t},pt={},mt=[],ft=[],_t={},gt=()=>{if(!gt.strings){var e={USER:"web_user",LOGNAME:"web_user",PATH:"/",PWD:"/",HOME:"/home/web_user",LANG:("object"==typeof navigator&&navigator.languages&&navigator.languages[0]||"C").replace("-","_")+".UTF-8",_:c||"./this.program"};for(var t in _t)void 0===_t[t]?delete e[t]:e[t]=_t[t];var r=[];for(var t in e)r.push("".concat(t,"=").concat(e[t]));gt.strings=r}return gt.strings},Et=function(e,t,r,i){e||(e=this),this.parent=e,this.mount=e.mount,this.mounted=null,this.id=ie.nextInode++,this.name=t,this.mode=r,this.node_ops={},this.stream_ops={},this.rdev=i};Object.defineProperties(Et.prototype,{read:{get:function(){return!(365&~this.mode)},set:function(e){e?this.mode|=365:this.mode&=-366}},write:{get:function(){return!(146&~this.mode)},set:function(e){e?this.mode|=146:this.mode&=-147}},isFolder:{get:function(){return ie.isDir(this.mode)}},isDevice:{get:function(){return ie.isChrdev(this.mode)}}}),ie.FSNode=Et,ie.createPreloadedFile=function(e,t,r,i,o,a,s,c,l,d){var u=t?z.resolve(j.join2(e,t)):e;function h(r){function n(r){d&&d(),c||ie.createDataFile(e,t,r,i,o,l),a&&a(),x()}(function(e,t,r,i){"undefined"!=typeof Browser&&Browser.init();var o=!1;return te.forEach((function(n){o||n.canHandle(t)&&(n.handle(e,t,r,i),o=!0)})),o})(r,u,n,(()=>{s&&s(),x()}))||n(r)}P(),"string"==typeof r?((e,t,r,i)=>{var o=i?"":"al ".concat(e);n(e,(r=>{var i;i='Loading data file "'.concat(e,'" failed (no arrayBuffer).'),r||U(i),t(new Uint8Array(r)),o&&x()}),(t=>{if(!r)throw'Loading data file "'.concat(e,'" failed.');r()})),o&&P()})(r,(e=>h(e)),s):h(r)},ie.staticInit(),function(){for(var e=new Array(256),t=0;t<256;++t)e[t]=String.fromCharCode(t);se=e}(),he=i.BindingError=class extends Error{constructor(e){super(e),this.name="BindingError"}},me=i.InternalError=class extends Error{constructor(e){super(e),this.name="InternalError"}},Ne.prototype.isAliasOf=function(e){if(!(this instanceof Ne&&e instanceof Ne))return!1;for(var t=this.$$.ptrType.registeredClass,r=this.$$.ptr,i=e.$$.ptrType.registeredClass,o=e.$$.ptr;t.baseClass;)r=t.upcast(r),t=t.baseClass;for(;i.baseClass;)o=i.upcast(o),i=i.baseClass;return t===i&&r===o},Ne.prototype.clone=function(){if(this.$$.ptr||Ee(this),this.$$.preservePointerOnDelete)return this.$$.count.value+=1,this;var e,t=De(Object.create(Object.getPrototypeOf(this),{$$:{value:(e=this.$$,{count:e.count,deleteScheduled:e.deleteScheduled,preservePointerOnDelete:e.preservePointerOnDelete,ptr:e.ptr,ptrType:e.ptrType,smartPtr:e.smartPtr,smartPtrType:e.smartPtrType})}}));return t.$$.count.value+=1,t.$$.deleteScheduled=!1,t},Ne.prototype.delete=function(){this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),ye(this),Te(this.$$),this.$$.preservePointerOnDelete||(this.$$.smartPtr=void 0,this.$$.ptr=void 0)},Ne.prototype.isDeleted=function(){return!this.$$.ptr},Ne.prototype.deleteLater=function(){return this.$$.ptr||Ee(this),this.$$.deleteScheduled&&!this.$$.preservePointerOnDelete&&pe("Object already scheduled for deletion"),Se.push(this),1===Se.length&&be&&be(Re),this.$$.deleteScheduled=!0,this},i.getInheritedInstanceCount=function(){return Object.keys(we).length},i.getLiveInheritedInstances=function(){var e=[];for(var t in we)we.hasOwnProperty(t)&&e.push(we[t]);return e},i.flushPendingDeletes=Re,i.setDelayFunction=function(e){be=e,Se.length&&be&&be(Re)},Be.prototype.getPointee=function(e){return this.rawGetPointee&&(e=this.rawGetPointee(e)),e},Be.prototype.destructor=function(e){this.rawDestructor&&this.rawDestructor(e)},Be.prototype.argPackAdvance=8,Be.prototype.readValueFromPointer=Fe,Be.prototype.deleteObject=function(e){null!==e&&e.delete()},Be.prototype.fromWireType=function(e){var t=this.getPointee(e);if(!t)return this.destructor(e),null;var r=function(e,t){return t=function(e,t){for(void 0===t&&pe("ptr should not be undefined");e.baseClass;)t=e.upcast(t),e=e.baseClass;return t}(e,t),we[t]}(this.registeredClass,t);if(void 0!==r){if(0===r.$$.count.value)return r.$$.ptr=t,r.$$.smartPtr=e,r.clone();var i=r.clone();return this.destructor(e),i}function o(){return this.isSmartPointer?Ce(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ce(this.registeredClass.instancePrototype,{ptrType:this,ptr:e})}var n,a=this.registeredClass.getActualType(t),s=Ae[a];if(!s)return o.call(this);n=this.isConst?s.constPointerType:s.pointerType;var c=Ie(t,this.registeredClass,n.registeredClass);return null===c?o.call(this):this.isSmartPointer?Ce(n.registeredClass.instancePrototype,{ptrType:n,ptr:c,smartPtrType:this,smartPtr:e}):Ce(n.registeredClass.instancePrototype,{ptrType:n,ptr:c})},Ge=i.UnboundTypeError=(ot=Error,(nt=Oe("UnboundTypeError",(function(e){this.name="UnboundTypeError",this.message=e;var t=new Error(e).stack;void 0!==t&&(this.stack=this.toString()+"\n"+t.replace(/^Error(:[^\n]*)?\n/,""))}))).prototype=Object.create(ot.prototype),nt.prototype.constructor=nt,nt.prototype.toString=function(){return void 0===this.message?this.name:"".concat(this.name,": ").concat(this.message)},nt),Object.assign($e.prototype,{get(e){return this.allocated[e]},has(e){return void 0!==this.allocated[e]},allocate(e){var t=this.freelist.pop()||this.allocated.length;return this.allocated[t]=e,t},free(e){this.allocated[e]=void 0,this.freelist.push(e)}}),Qe.allocated.push({value:void 0},{value:null},{value:!0},{value:!1}),Qe.reserved=Qe.allocated.length,i.count_emval_handles=function(){for(var e=0,t=Qe.reserved;t<Qe.allocated.length;++t)void 0!==Qe.allocated[t]&&++e;return e};var vt,yt={p:function(e,t,r){throw new W(e).init(t,r),e},C:function(e,t,r){ne.varargs=r;try{var i=ne.getStreamFromFD(e);switch(t){case 0:return(o=ne.get())<0?-28:ie.createStream(i,o).fd;case 1:case 2:case 6:case 7:return 0;case 3:return i.flags;case 4:var o=ne.get();return i.flags|=o,0;case 5:return o=ne.get(),E[o+0>>1]=2,0;case 16:case 8:default:return-28;case 9:return y[At()>>2]=28,-1}}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return-n.errno}},w:function(e,t,r,i){ne.varargs=i;try{t=ne.getStr(t),t=ne.calculateAt(e,t);var o=i?ne.get():0;return ie.open(t,r,o).fd}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return-n.errno}},t:function(e,t,r,i,o){},n:function(e,t,r,i,o){var n=ae(r);ge(e,{name:t=ce(t),fromWireType:function(e){return!!e},toWireType:function(e,t){return t?i:o},argPackAdvance:8,readValueFromPointer:function(e){var i;if(1===r)i=_;else if(2===r)i=E;else{if(4!==r)throw new TypeError("Unknown boolean type size: "+t);i=y}return this.fromWireType(i[e>>n])},destructorFunction:null})},r:function(e,t,r,o,n,a,s,c,l,d,u,h,p){u=ce(u),a=je(n,a),c&&(c=je(s,c)),d&&(d=je(l,d)),p=je(h,p);var m,f,_,g=ke(u);m=g,f=function(){Ke("Cannot construct ".concat(u," due to unbound types"),[o])},i.hasOwnProperty(m)?(pe("Cannot register public name '".concat(m,"' twice")),Me(i,m,m),i.hasOwnProperty(_)&&pe("Cannot register multiple overloads of a function with the same number of arguments (".concat(_,")!")),i[m].overloadTable[_]=f):i[m]=f,_e([e,t,r],o?[o]:[],(function(t){var r,n;t=t[0],n=o?(r=t.registeredClass).instancePrototype:Ne.prototype;var s=Oe(g,(function(){if(Object.getPrototypeOf(this)!==l)throw new he("Use 'new' to construct "+u);if(void 0===h.constructor_body)throw new he(u+" has no accessible constructor");var e=h.constructor_body[arguments.length];if(void 0===e)throw new he("Tried to invoke ctor of ".concat(u," with invalid number of parameters (").concat(arguments.length,") - expected (").concat(Object.keys(h.constructor_body).toString(),") parameters instead!"));return e.apply(this,arguments)})),l=Object.create(n,{constructor:{value:s}});s.prototype=l;var h=new Le(u,s,l,p,r,a,c,d);h.baseClass&&(void 0===h.baseClass.__derivedClasses&&(h.baseClass.__derivedClasses=[]),h.baseClass.__derivedClasses.push(h));var m,f,_,E=new Be(u,h,!0,!1,!1),v=new Be(u+"*",h,!1,!1,!1),y=new Be(u+" const*",h,!1,!0,!1);return Ae[e]={pointerType:v,constPointerType:y},m=g,f=s,i.hasOwnProperty(m)||fe("Replacing nonexistant public symbol"),i[m].overloadTable,i[m]=f,i[m].argCount=_,[E,v,y]}))},q:function(e,t,r,i,o,n){var a=qe(t,r);o=je(i,o),_e([],[e],(function(e){var r="constructor ".concat((e=e[0]).name);if(void 0===e.registeredClass.constructor_body&&(e.registeredClass.constructor_body=[]),void 0!==e.registeredClass.constructor_body[t-1])throw new he("Cannot register multiple constructors with identical number of parameters (".concat(t-1,") for class '").concat(e.name,"'! Overload resolution is currently only performed using the parameter count, not actual type info!"));return e.registeredClass.constructor_body[t-1]=()=>{Ke("Cannot construct ".concat(e.name," due to unbound types"),a)},_e([],a,(function(i){return i.splice(1,0,null),e.registeredClass.constructor_body[t-1]=Xe(r,i,null,o,n),[]})),[]}))},d:function(e,t,r,i,o,n,a,s,c){var l=qe(r,i);t=ce(t),n=je(o,n),_e([],[e],(function(e){var i="".concat((e=e[0]).name,".").concat(t);function o(){Ke("Cannot call ".concat(i," due to unbound types"),l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var d=e.registeredClass.instancePrototype,u=d[t];return void 0===u||void 0===u.overloadTable&&u.className!==e.name&&u.argCount===r-2?(o.argCount=r-2,o.className=e.name,d[t]=o):(Me(d,t,i),d[t].overloadTable[r-2]=o),_e([],l,(function(o){var s=Xe(i,o,e,n,a,c);return void 0===d[t].overloadTable?(s.argCount=r-2,d[t]=s):d[t].overloadTable[r-2]=s,[]})),[]}))},D:function(e,t){ge(e,{name:t=ce(t),fromWireType:function(e){var t=et.toValue(e);return Ze(e),t},toWireType:function(e,t){return et.toHandle(t)},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:null})},k:function(e,t,r){var i=ae(r);ge(e,{name:t=ce(t),fromWireType:function(e){return e},toWireType:function(e,t){return t},argPackAdvance:8,readValueFromPointer:rt(t,i),destructorFunction:null})},c:function(e,t,r,i,o){t=ce(t);var n=ae(r),a=e=>e;if(0===i){var s=32-8*r;a=e=>e<<s>>>s}var c=t.includes("unsigned");ge(e,{name:t,fromWireType:a,toWireType:c?function(e,t){return this.name,t>>>0}:function(e,t){return this.name,t},argPackAdvance:8,readValueFromPointer:it(t,n,0!==i),destructorFunction:null})},b:function(e,t,r){var i=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][t];function o(e){var t=T,r=t[e>>=2],o=t[e+1];return new i(t.buffer,o,r)}ge(e,{name:r=ce(r),fromWireType:o,argPackAdvance:8,readValueFromPointer:o},{ignoreDuplicateRegistrations:!0})},j:function(e,t){var r="std::string"===(t=ce(t));ge(e,{name:t,fromWireType:function(e){var t,i=T[e>>2],o=e+4;if(r)for(var n=o,a=0;a<=i;++a){var s=o+a;if(a==i||0==g[s]){var c=oe(n,s-n);void 0===t?t=c:(t+="\0",t+=c),n=s+1}}else{var l=new Array(i);for(a=0;a<i;++a)l[a]=String.fromCharCode(g[o+a]);t=l.join("")}return It(e),t},toWireType:function(e,t){var i;t instanceof ArrayBuffer&&(t=new Uint8Array(t));var o="string"==typeof t;o||t instanceof Uint8Array||t instanceof Uint8ClampedArray||t instanceof Int8Array||pe("Cannot pass non-string to std::string"),i=r&&o?J(t):t.length;var n=Tt(4+i+1),a=n+4;if(T[n>>2]=i,r&&o)X(t,g,a,i+1);else if(o)for(var s=0;s<i;++s){var c=t.charCodeAt(s);c>255&&(It(a),pe("String has UTF-16 code units that do not fit in 8 bits")),g[a+s]=c}else for(s=0;s<i;++s)g[a+s]=t[s];return null!==e&&e.push(It,n),n},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){It(e)}})},f:function(e,t,r){var i,o,n,a,s;r=ce(r),2===t?(i=st,o=ct,a=lt,n=()=>v,s=1):4===t&&(i=dt,o=ut,a=ht,n=()=>T,s=2),ge(e,{name:r,fromWireType:function(e){for(var r,o=T[e>>2],a=n(),c=e+4,l=0;l<=o;++l){var d=e+4+l*t;if(l==o||0==a[d>>s]){var u=i(c,d-c);void 0===r?r=u:(r+="\0",r+=u),c=d+t}}return It(e),r},toWireType:function(e,i){"string"!=typeof i&&pe("Cannot pass non-string to C++ string type ".concat(r));var n=a(i),c=Tt(4+n+t);return T[c>>2]=n>>s,o(i,c+4,n+t),null!==e&&e.push(It,c),c},argPackAdvance:8,readValueFromPointer:Fe,destructorFunction:function(e){It(e)}})},o:function(e,t){ge(e,{isVoid:!0,name:t=ce(t),argPackAdvance:0,fromWireType:function(){},toWireType:function(e,t){}})},g:function(e,t,r,i){var o,n;(e=mt[e])(t=et.toValue(t),r=void 0===(n=pt[o=r])?ce(o):n,null,i)},m:Ze,l:function(e,t){var r=function(e,t){for(var r,i,o,n=new Array(e),a=0;a<e;++a)n[a]=(r=T[t+4*a>>2],i="parameter "+a,void 0===(o=de[r])&&pe(i+" has unknown type "+ze(r)),o);return n}(e,t),i=r[0],o=i.name+"_$"+r.slice(1).map((function(e){return e.name})).join("_")+"$",n=ft[o];if(void 0!==n)return n;for(var a=["retType"],s=[i],c="",l=0;l<e-1;++l)c+=(0!==l?", ":"")+"arg"+l,a.push("argType"+l),s.push(r[1+l]);var d,u,h="return function "+ke("methodCaller_"+o)+"(handle, name, destructors, args) {\n",p=0;for(l=0;l<e-1;++l)h+=" var arg"+l+" = argType"+l+".readValueFromPointer(args"+(p?"+"+p:"")+");\n",p+=r[l+1].argPackAdvance;for(h+=" var rv = handle[name]("+c+");\n",l=0;l<e-1;++l)r[l+1].deleteObject&&(h+=" argType"+l+".deleteObject(arg"+l+");\n");return i.isVoid||(h+=" return retType.toWireType(destructors, rv);\n"),h+="};\n",a.push(h),d=Je(Function,a).apply(null,s),u=mt.length,mt.push(d),n=u,ft[o]=n,n},a:()=>{U("")},e:function(){return Date.now()},v:()=>g.length,A:(e,t,r)=>g.copyWithin(e,t,t+r),u:e=>{g.length,U("OOM")},y:(e,t)=>{var r=0;return gt().forEach((function(i,o){var n=t+r;T[e+4*o>>2]=n,((e,t)=>{for(var r=0;r<e.length;++r)_[0|t++]=e.charCodeAt(r);_[0|t]=0})(i,n),r+=i.length+1})),0},z:(e,t)=>{var r=gt();T[e>>2]=r.length;var i=0;return r.forEach((function(e){i+=e.length+1})),T[t>>2]=i,0},i:function(e){try{var t=ne.getStreamFromFD(e);return ie.close(t),0}catch(r){if(void 0===ie||"ErrnoError"!==r.name)throw r;return r.errno}},x:function(e,t){try{var r=ne.getStreamFromFD(e),i=r.tty?2:ie.isDir(r.mode)?3:ie.isLink(r.mode)?7:4;return _[0|t]=i,E[t+2>>1]=0,C=[0,(w=0,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[t+8>>2]=C[0],y[t+12>>2]=C[1],C=[0,(w=0,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[t+16>>2]=C[0],y[t+20>>2]=C[1],0}catch(o){if(void 0===ie||"ErrnoError"!==o.name)throw o;return o.errno}},B:function(e,t,r,i){try{var o=((e,t,r,i)=>{for(var o=0,n=0;n<r;n++){var a=T[t>>2],s=T[t+4>>2];t+=8;var c=ie.read(e,_,a,s,i);if(c<0)return-1;if(o+=c,c<s)break;void 0!==i&&(i+=c)}return o})(ne.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return n.errno}},s:function(e,t,r,i,o){var n,a,s=(a=r)+2097152>>>0<4194305-!!(n=t)?(n>>>0)+4294967296*a:NaN;try{if(isNaN(s))return 61;var c=ne.getStreamFromFD(e);return ie.llseek(c,s,i),C=[c.position>>>0,(w=c.position,+Math.abs(w)>=1?w>0?+Math.floor(w/4294967296)>>>0:~~+Math.ceil((w-+(~~w>>>0))/4294967296)>>>0:0)],y[o>>2]=C[0],y[o+4>>2]=C[1],c.getdents&&0===s&&0===i&&(c.getdents=null),0}catch(l){if(void 0===ie||"ErrnoError"!==l.name)throw l;return l.errno}},h:function(e,t,r,i){try{var o=((e,t,r,i)=>{for(var o=0,n=0;n<r;n++){var a=T[t>>2],s=T[t+4>>2];t+=8;var c=ie.write(e,_,a,s,i);if(c<0)return-1;o+=c,void 0!==i&&(i+=c)}return o})(ne.getStreamFromFD(e),t,r);return T[i>>2]=o,0}catch(n){if(void 0===ie||"ErrnoError"!==n.name)throw n;return n.errno}}},Tt=(function(){var e,t,o,n,a={a:yt};function s(e,t){var r,o,n=e.exports;return r=(p=n).E.buffer,i.HEAP8=_=new Int8Array(r),i.HEAP16=E=new Int16Array(r),i.HEAP32=y=new Int32Array(r),i.HEAPU8=g=new Uint8Array(r),i.HEAPU16=v=new Uint16Array(r),i.HEAPU32=T=new Uint32Array(r),i.HEAPF32=I=new Float32Array(r),i.HEAPF64=A=new Float64Array(r),S=p.H,o=p.F,k.unshift(o),x(),n}if(P(),i.instantiateWasm)try{return i.instantiateWasm(a,s)}catch(c){f("Module.instantiateWasm callback failed with error: "+c),r(c)}(e=h,t=R,o=a,n=function(e){s(e.instance)},e||"function"!=typeof WebAssembly.instantiateStreaming||V(t)||"function"!=typeof fetch?B(t,o,n):fetch(t,{credentials:"same-origin"}).then((e=>WebAssembly.instantiateStreaming(e,o).then(n,(function(e){return f("wasm streaming compile failed: "+e),f("falling back to ArrayBuffer instantiation"),B(t,o,n)}))))).catch(r)}(),e=>(Tt=p.G)(e)),It=e=>(It=p.I)(e),At=()=>(At=p.J)(),St=e=>(St=p.K)(e),Rt=(i.__embind_initialize_bindings=()=>(i.__embind_initialize_bindings=p.L)(),e=>(Rt=p.M)(e));function bt(){function e(){vt||(vt=!0,i.calledRun=!0,D||(i.noFSInit||ie.init.initialized||ie.init(),ie.ignorePermissions=!1,H(k),t(i),i.onRuntimeInitialized&&i.onRuntimeInitialized(),function(){if(i.postRun)for("function"==typeof i.postRun&&(i.postRun=[i.postRun]);i.postRun.length;)e=i.postRun.shift(),O.unshift(e);var e;H(O)}()))}M>0||(function(){if(i.preRun)for("function"==typeof i.preRun&&(i.preRun=[i.preRun]);i.preRun.length;)e=i.preRun.shift(),N.unshift(e);var e;H(N)}(),M>0||(i.setStatus?(i.setStatus("Running..."),setTimeout((function(){setTimeout((function(){i.setStatus("")}),1),e()}),1)):e()))}if(i.dynCall_jiji=(e,t,r,o,n)=>(i.dynCall_jiji=p.N)(e,t,r,o,n),i._ff_h264_cabac_tables=67061,L=function e(){vt||bt(),vt||(L=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return bt(),e.ready}),bH=RH,wH=class extends AH{constructor(e){super(bH,null!=e&&e.wasmPath?fetch(null==e?void 0:e.wasmPath).then((e=>e.arrayBuffer())):void 0,null==e?void 0:e.workerMode,null==e?void 0:e.canvas,null==e?void 0:e.yuvMode)}};(()=>{var e="undefined"!=typeof document&&document.currentScript?document.currentScript.src:void 0})();var CH=(e=>(e[e.TRACE=0]="TRACE",e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.NONE=5]="NONE",e))(CH||{});function DH(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var NH=class e{constructor(e){this.core=e,lH(this,"contextMap",new Map),lH(this,"decodeProcessorMap",new WeakMap),this.addKVReportBeforeExitRoom=this.addKVReportBeforeExitRoom.bind(this),this.createDecoder=this.createDecoder.bind(this),this.core.innerEmitter.on("51",this.addKVReportBeforeExitRoom)}getAlias(){return"videoDecoder"}getGroup(e){return null!=e&&e.track?"".concat(e.track.userId).concat(e.track.streamType):"*"}getName(){return e.Name}getValidateRule(e){return{type:this.core.enums.BASIC_TYPE.Object}}createDecoder(e,t){var r;switch(e){case"wasm":let e=(null==(r=this.core.assetsPath)?void 0:r.replace(/\/+$/,""))||".";return new wH(sH(aH({},t),{wasmPath:"".concat(e,"/videodec.wasm")}));case"webCodecs":return new TH;case"mse":throw new Error("mse decoder not supported yet");default:throw new Error("Unsupported decoder type")}}start(e){this.decodeProcessorMap.set(e.track,this.decode(e)),this.core.room.videoManager.addDecodeProcessor({processor:e=>{let{frame:t,track:r}=e;var i;return(null==(i=this.decodeProcessorMap.get(r))?void 0:i({frame:t,track:r}))||t},type:3})}decode(e){let{pipe:t,take:r,subscribe:i}=this.core.rx;return o=>{let{frame:n,track:a}=o;if(a!==e.track||"empty"===n.type)return n;if(this.contextMap.has(a))return this.contextMap.get(a).decode(n);let s=this.core.room.videoManager.createDecodeContext(sH(aH({},e),{createDecoder:this.createDecoder}));return t(s.trackDoneOB,r(1),i((()=>{this.core.clearStarted(this,this.getGroup(e)),this.stop({track:a})}))),this.contextMap.set(a,s),s.decode(n)}}stop(e){if(null!=e&&e.track){let t=this.contextMap.get(e.track);t&&(t.close("stop"),this.report(t,e.track),this.contextMap.delete(e.track))}else this.contextMap.forEach(((e,t)=>{e.close("stop"),this.contextMap.delete(t)}));0===this.contextMap.size&&this.core.room.videoManager.removeDecodeProcessor({type:3})}report(e,t){if(e.isReported)return;e.isReported=!0;let r=DH()-e.startPerformanceTime,{renderFreezeTotal:i,dataFreezeTotal:o}=this.getRemoteTrackFreezeDuration(t,e),n="report health data: ".concat(e.track.userId," ").concat(e.track.streamType," ").concat(e.type,"+").concat(e.renderer," goodType:").concat(e.goodType," ").concat(e.failedReason?"failedReason: ".concat(e.failedReason):"");r&&(this.core.kvStatManager.addNumber({key:514850,value:Math.floor(i/r*100),split:1,max:100}),n+=" RENDER_FREEZE_RATE: ".concat(Math.floor(i/r*100),"%")),r&&(this.core.kvStatManager.addNumber({key:514851,value:Math.floor(o/r*100),split:1,max:100}),n+=" DATA_FREEZE_RATE: ".concat(Math.floor(o/r*100),"%")),e.inputFrameCount&&(this.core.kvStatManager.addNumber({key:514852,value:Math.floor(e.decodedFrameCount/e.inputFrameCount*100),split:1,max:100}),n+=" VIDEO_CONSUME_RENDER_RATE: ".concat(Math.floor(e.decodedFrameCount/e.inputFrameCount*100),"%")),this.core.log.info(n)}addKVReportBeforeExitRoom(e){let{room:t}=e;t===this.core.room&&this.contextMap.forEach(((e,t)=>{this.report(e,t)}))}update(e){let t=this.contextMap.get(e.track);t&&("mock"!==e.type?(t.close("update"),this.contextMap.set(e.track,this.core.room.videoManager.createDecodeContext(sH(aH({},e),{createDecoder:this.createDecoder})))):t.mock(this.core.enums.DECODE_FAILED_ERROR_CODE.TEST))}getRemoteTrackFreezeDuration(e,t){let r=this.core.room.badCaseDetector.getRenderFreezeMap().get("".concat(e.userId,"_").concat(e.streamType)),i=this.core.room.badCaseDetector.getDataFreezeMap().get("".concat(e.userId,"_").concat(e.streamType)),o=0;r&&r.freezeTimeline.forEach((e=>{let{startTime:r,endTime:i}=e;r>t.startPerformanceTime&&(o+=0===i?DH()-r:i-r)}));let n=0;return i&&i.durationItemList.forEach((e=>{e.startTime>t.startPerformanceTime&&(n+=e.getDuration())})),{renderFreezeTotal:o,dataFreezeTotal:n}}destroy(){this.core.innerEmitter.off("51",this.addKVReportBeforeExitRoom)}};lH(NH,"Name","TRTCVideoDecoder");var kH=NH,OH=rw(sw());function MH(e){let{timesInSecond:t,maxSizeInSecond:r,getSize:i}=e;return SU(((e,o)=>{let n=new WeakMap;return KO.on(YO.ROOM_DESTROY,(e=>{let{room:t}=e;return n.delete(t)})),function(){let a=n.get(this);for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];if(a||(a={callCountInSecond:0,timestamp:0,totalSizeInSecond:0},n.set(this,a)),0===a.timestamp?a.timestamp=Date.now():Date.now()-a.timestamp>1e3&&(a.timestamp=Date.now(),a.callCountInSecond=0,a.totalSizeInSecond=0),i&&(a.totalSizeInSecond+=i(...c)),0!==a.timestamp&&Date.now()-a.timestamp<1e3&&(a.callCountInSecond>=t||a.totalSizeInSecond>r))throw new fw({code:pw.INVALID_OPERATION,message:uL({key:sL.CALL_FREQUENCY_LIMIT,data:{isTimes:a.callCountInSecond>=t,isSize:a.totalSizeInSecond>r,name:o,timesInSecond:t,maxSizeInSecond:r}})});a.callCountInSecond++,e.call(this,...c)}}))}var LH,PH=!0,xH={SCENE_LIVE:"live",SCENE_RTC:"rtc",ROLE_ANCHOR:"anchor",ROLE_AUDIENCE:"audience",STREAM_TYPE_MAIN:"main",STREAM_TYPE_SUB:"sub",AUDIO_PROFILE_STANDARD:"standard",AUDIO_PROFILE_STANDARD_STEREO:"standard-stereo",AUDIO_PROFILE_HIGH:"high",AUDIO_PROFILE_HIGH_STEREO:"high-stereo",QOS_PREFERENCE_SMOOTH:"smooth",QOS_PREFERENCE_CLEAR:"clear",SPEAKER:"Speakerphone",HEADSET:"Headset earpiece"},UH={INVALID_PARAMETER:5e3,INVALID_OPERATION:5100,ENV_NOT_SUPPORTED:5200,DEVICE_ERROR:5300,SERVER_ERROR:5400,OPERATION_FAILED:5500,OPERATION_ABORT:5998,UNKNOWN_ERROR:5999},VH=((LH=VH||{})[LH.INVALID_PARAMETER=5e3]="INVALID_PARAMETER",LH[LH.INVALID_PARAMETER_REQUIRED=5001]="INVALID_PARAMETER_REQUIRED",LH[LH.INVALID_PARAMETER_TYPE=5002]="INVALID_PARAMETER_TYPE",LH[LH.INVALID_PARAMETER_EMPTY=5003]="INVALID_PARAMETER_EMPTY",LH[LH.INVALID_PARAMETER_INSTANCE=5004]="INVALID_PARAMETER_INSTANCE",LH[LH.INVALID_PARAMETER_RANGE=5005]="INVALID_PARAMETER_RANGE",LH[LH.INVALID_PARAMETER_LESS_THAN_ZERO=5006]="INVALID_PARAMETER_LESS_THAN_ZERO",LH[LH.INVALID_PARAMETER_MIN=5007]="INVALID_PARAMETER_MIN",LH[LH.INVALID_PARAMETER_MAX=5008]="INVALID_PARAMETER_MAX",LH[LH.INVALID_ELEMENT_ID=5009]="INVALID_ELEMENT_ID",LH[LH.INVALID_ELEMENT_ID_TYPE=5010]="INVALID_ELEMENT_ID_TYPE",LH[LH.INVALID_STREAM_ID=5011]="INVALID_STREAM_ID",LH[LH.INVALID_ROOM_ID_STRING=5012]="INVALID_ROOM_ID_STRING",LH[LH.INVALID_ROOM_ID_INTEGER=5013]="INVALID_ROOM_ID_INTEGER",LH[LH.INVALID_STREAM_TYPE=5014]="INVALID_STREAM_TYPE",LH[LH.INVALID_ROOM_ID_REQUIRED=5015]="INVALID_ROOM_ID_REQUIRED",LH[LH.INVALID_ROOM_ID_INTEGER_STRING=5016]="INVALID_ROOM_ID_INTEGER_STRING",LH[LH.INVALID_BUFFER_EMPTY=5017]="INVALID_BUFFER_EMPTY",LH[LH.INVALID_BUFFER_OVERSIZE=5018]="INVALID_BUFFER_OVERSIZE",LH[LH.INVALID_ROOM_ID_TYPE_MISMATCH=5019]="INVALID_ROOM_ID_TYPE_MISMATCH",LH[LH.INVALID_ROOM_ID_DUPLICATE=5020]="INVALID_ROOM_ID_DUPLICATE",LH[LH.INVALID_OPERATION=5100]="INVALID_OPERATION",LH[LH.INVALID_OPERATION_NOT_JOINED=5101]="INVALID_OPERATION_NOT_JOINED",LH[LH.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]="INVALID_OPERATION_REMOTE_USER_NOT_EXIST",LH[LH.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]="INVALID_OPERATION_STREAM_TYPE_NOT_EXIST",LH[LH.INVALID_OPERATION_REPEAT_CALL=5104]="INVALID_OPERATION_REPEAT_CALL",LH[LH.INVALID_OPERATION_NEED_VIDEO=5105]="INVALID_OPERATION_NEED_VIDEO",LH[LH.INVALID_OPERATION_NEED_AUDIO=5106]="INVALID_OPERATION_NEED_AUDIO",LH[LH.INVALID_ROLE_AUDIENCE=5107]="INVALID_ROLE_AUDIENCE",LH[LH.INVALID_NOT_ENABLE_SEI=5108]="INVALID_NOT_ENABLE_SEI",LH[LH.INVALID_NEED_CALL_PUBLISHED=5109]="INVALID_NEED_CALL_PUBLISHED",LH[LH.ENV_NOT_SUPPORTED=5200]="ENV_NOT_SUPPORTED",LH[LH.NOT_SUPPORTED_HTTP=5201]="NOT_SUPPORTED_HTTP",LH[LH.NOT_SUPPORTED_WEBRTC=5202]="NOT_SUPPORTED_WEBRTC",LH[LH.NOT_SUPPORTED_H264_ENCODE=5203]="NOT_SUPPORTED_H264_ENCODE",LH[LH.NOT_SUPPORTED_H264_DECODE=5204]="NOT_SUPPORTED_H264_DECODE",LH[LH.NOT_SUPPORTED_SCREEN_SHARE=5205]="NOT_SUPPORTED_SCREEN_SHARE",LH[LH.NOT_SUPPORTED_SMALL_VIDEO=5206]="NOT_SUPPORTED_SMALL_VIDEO",LH[LH.NOT_SUPPORTED_SEI=5207]="NOT_SUPPORTED_SEI",LH[LH.NOT_SUPPORTED_WEBGL=5208]="NOT_SUPPORTED_WEBGL",LH[LH.NOT_SUPPORTED_CHROME_VERSION=5209]="NOT_SUPPORTED_CHROME_VERSION",LH[LH.NOT_SUPPORTED_PLUGIN=5210]="NOT_SUPPORTED_PLUGIN",LH[LH.DEVICE_ERROR=5300]="DEVICE_ERROR",LH[LH.DEVICE_NOT_FOUND_ERROR=5301]="DEVICE_NOT_FOUND_ERROR",LH[LH.DEVICE_NOT_ALLOWED_ERROR=5302]="DEVICE_NOT_ALLOWED_ERROR",LH[LH.DEVICE_NOT_READABLE_ERROR=5303]="DEVICE_NOT_READABLE_ERROR",LH[LH.DEVICE_OVERCONSTRAINED_ERROR=5304]="DEVICE_OVERCONSTRAINED_ERROR",LH[LH.DEVICE_INVALID_STATE_ERROR=5305]="DEVICE_INVALID_STATE_ERROR",LH[LH.DEVICE_SECURITY_ERROR=5306]="DEVICE_SECURITY_ERROR",LH[LH.DEVICE_ABORT_ERROR=5307]="DEVICE_ABORT_ERROR",LH[LH.CAMERA_RECOVER_FAILED=5308]="CAMERA_RECOVER_FAILED",LH[LH.MICROPHONE_RECOVER_FAILED=5309]="MICROPHONE_RECOVER_FAILED",LH[LH.NOT_SUPPORTED_MISMATCH_SAMPLE_RATE_IN_FIREFOX=5310]="NOT_SUPPORTED_MISMATCH_SAMPLE_RATE_IN_FIREFOX",LH[LH.SERVER_ERROR=5400]="SERVER_ERROR",LH[LH.NEED_TO_BUY=5401]="NEED_TO_BUY",LH[LH.ACCOUNT_NO_MONEY=-100013]="ACCOUNT_NO_MONEY",LH[LH.OPERATION_FAILED=5500]="OPERATION_FAILED",LH[LH.FIREWALL_RESTRICTION=5501]="FIREWALL_RESTRICTION",LH[LH.REJOIN_FAILED=5502]="REJOIN_FAILED",LH[LH.EVENT_HANDLER_ERROR=5503]="EVENT_HANDLER_ERROR",LH[LH.VIDEO_CONTEXT_ERROR=5504]="VIDEO_CONTEXT_ERROR",LH[LH.VIDEO_ENCODE_FAILED=5505]="VIDEO_ENCODE_FAILED",LH[LH.AUDIO_ENCODE_FAILED=5506]="AUDIO_ENCODE_FAILED",LH[LH.VIDEO_DECODE_FAILED=5507]="VIDEO_DECODE_FAILED",LH[LH.AUDIO_DECODE_FAILED=5508]="AUDIO_DECODE_FAILED",LH[LH.OPERATION_ABORT=5998]="OPERATION_ABORT",LH[LH.UNKNOWN_ERROR=5999]="UNKNOWN_ERROR",LH);var FH=Zb(Qb({},cL),{INVALID_PARAMETER(e){let{fnName:t}=e;return"the parameters of the '".concat(t,"' you called does not meet the requirements, please check the API documentation.")},INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' is a required param when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="";return a=Array.isArray(r.type)?r.type.join("|"):r.type,"'".concat(n,"' must be type of ").concat(a," when calling ").concat(i,"(), received type: ").concat(HD(o),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' cannot be '").concat(o,"' when calling ").concat(i,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:r,fnName:i,value:o}=e,n="".concat(t||r.name),a="".concat(r.instanceOf.name||r.instanceOf);return"'".concat(n,"' must be instanceof ").concat(a," when calling ").concat(i,"(), received type: ").concat(HD(o),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:r,fnName:i,value:o}=e;return"'".concat(t||r.name,"' must be one of ").concat(r.values.join("|")," when calling ").concat(i,"(), received: ").concat(o,".")},INVALID_PARAMETER_LESS_THAN_ZERO(e){let{key:t,rule:r,fnName:i}=e;return"'".concat(t||r.name,"' cannot be less than 0 when calling ").concat(i,"().")},INVALID_PARAMETER_MIN(e){let{key:t,rule:r,value:i}=e;return"the min value of ".concat(t||r.name," is ").concat(r.min,", received: ").concat(i,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:r,value:i}=e;return"the max value of ".concat(t||r.name," is ").concat(r.max,", received: ").concat(i,".")},INVALID_ELEMENT_ID(e){let{key:t,fnName:r}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(r,"().")},INVALID_ELEMENT_ID_TYPE(e){let{key:t,fnName:r,type:i}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(r,"(), received: ").concat(i,".")},INVALID_STREAM_ID(e){let{key:t}=e;return"'".concat(t,"' can only consist of uppercase and lowercase english letters (a-zA-Z), numbers (0-9), hyphens and underscores.")},INVALID_ROOM_ID_STRING(e){let{key:t}=e;return"'".concat(t,"' must be a valid string.")},INVALID_ROOM_ID_INTEGER(e){let{key:t}=e;return"'".concat(t,"' must be an integer between [1, 4294967294].")},INVALID_ROOM_ID_INTEGER_STRING(e){let{key:t}=e;return"'".concat(t,"' must be an integer but go a string, use 'parseInt' to convert it or use 'strRoomId' instead.")},INVALID_ROOM_ID_REQUIRED:()=>"at least one of 'roomId'(between [1, 4294967294]) and 'strRoomId'(not empty) is required.",INVALID_ROOM_ID_TYPE_MISMATCH(e){let{key:t}=e;return"The type of target roomId must match the current roomId. Current room is using '".concat(t,"', but received '").concat("strRoomId"===t?"roomId":"strRoomId","'.")},INVALID_ROOM_ID_DUPLICATE(e){let{key:t}=e;return"the target '".concat(t,"' must not be the same as the current '").concat(t,"'.")},INVALID_STREAM_TYPE:e=>{let{fnName:t}=e;return"'streamType' is required when 'userId' is not '*', calling ".concat(t,"()")},INVALID_IMAGE_URL:"The 'src' param must be filled in when the background type is image.",INVALID_OPERATION(e){let{fnName:t}=e;return"the API '".concat(t,"' you called does not meet the requirements, please check the API documentation.")},INVALID_OPERATION_NOT_JOINED(e){let{fnName:t}=e;return"cannot ".concat(t," because you are not enter room yet.")},INVALID_OPERATION_REMOTE_USER_NOT_EXIST(e){let{fnName:t,value:r}=e;return"cannot ".concat(t," because remote user(userId: ").concat(r.userId,") does not publishing stream.")},INVALID_OPERATION_STREAM_TYPE_NOT_EXIST(e){let{fnName:t,value:r}=e;return"cannot ".concat(t," because remote user(userId: ").concat(r.userId,") does not publishing ").concat(r.streamType," video.")},INVALID_OPERATION_REPEAT_CALL(e){let{fnName:t}=e;return"you are already ".concat(t,"(), cannot repeated call '").concat(t,"'.")},INVALID_OPERATION_NEED_VIDEO(e){let{fnName:t}=e;return"cannot call '".concat(t,"' because the camera is not turned on.")},INVALID_OPERATION_NEED_AUDIO(e){let{fnName:t}=e;return"cannot call '".concat(t,"' because the microphone or screen share is not turned on.")},INVALID_BUFFER_EMPTY:e=>{let{key:t}=e;return"the buffer size of paramerter '".concat(t,"' cannot be empty")},INVALID_BUFFER_OVERSIZE:()=>"buffer size is over 1000 Bytes",INVALID_ROLE_AUDIENCE:()=>"role: 'audience' cannot call this api.",INVALID_NOT_ENABLE_SEI:()=>"you need to enable SEI in TRTC.create({ enableSEI: true })",INVALID_NEED_CALL_PUBLISHED:e=>{let{fnName:t}=e;return"you need to call ".concat(t,"() after publish stream.")},ENV_NOT_SUPPORTED(e){let{fnName:t}=e;return"the current browser does not support the capability of the function '".concat(t,"' you are calling, please check the API documentation.")},NOT_SUPPORTED_WEBRTC:"the current browser does not support WebRTC capability, please check the SDK documentation.",NOT_SUPPORTED_H264_ENCODE:"this browser does not support H264 encode.",NOT_SUPPORTED_H264_DECODE:"this browser does not support H264 decode.",NOT_SUPPORTED_SCREEN_SHARE:"this browser does not support screen share, please check the browser version.",NOT_SUPPORTED_SMALL_VIDEO:"this browser does not support small video, please check the browser version.",NOT_SUPPORTED_SEI:"this browser does not support SEI, please check the browser version.",NOT_SUPPORTED_WEBGL:"this browser does not support WebGL, please check the browser version.",NOT_SUPPORTED_CHROME_VERSION(e){let{fnName:t}=e;return"cannot call ".concat(t," because the browser version is too low, please upgrade to the latest version")},DEVICE_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' got device exception").concat(r?", error: ".concat(r.toString(),"."):".")},DEVICE_NOT_FOUND_ERROR(e){let{fnName:t,deviceType:r=BH(t),error:i}=e;return"NotFoundError, no ".concat(r," detected, please check your device and the configuration on '").concat(t,"'").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_ALLOWED_ERROR(e){let{fnName:t,deviceType:r=BH(t),error:i}=e;return"NotAllowedError, you have disabled ".concat(r," access, please allow the current application to use the ").concat(r).concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_READABLE_ERROR(e){let{fnName:t,deviceType:r=BH(t),error:i}=e;return"NotReadableError, the ".concat(r," maybe in use by another APP, please check if the device is pre-occupied by another APP.")},DEVICE_OVERCONSTRAINED_ERROR(e){let{fnName:t,deviceType:r=BH(t),error:i}=e;return"OverconstrainedError, the device ID is incorrect, please check whether the device ID passed in is correct".concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_INVALID_STATE_ERROR(e){let{fnName:t,deviceType:r=BH(t),error:i}=e;return"InvalidStateError, after the user clicks and interacts with the page, turn on the ".concat(r).concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_SECURITY_ERROR(e){let{fnName:t,deviceType:r=BH(t),error:i}=e;return"SecurityError, check whether the system security policy restricts the use of the ".concat(r,", and it is recommended to turn on the ").concat(r," after the user interacts with the page").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_ABORT_ERROR(e){let{fnName:t,deviceType:r=BH(t),error:i}=e;return"AbortError, an unknown exception in the system makes the device unusable, recommended to change the device or browser and re-check whether the device is normal".concat(i?" error: ".concat(i.toString(),"."):".")},CAMERA_RECOVER_FAILED(e){let{error:t}=e;return"camera recover capture failed ".concat((null==t?void 0:t.name)||"",": ").concat((null==t?void 0:t.originMessage)||(null==t?void 0:t.message))},MICROPHONE_RECOVER_FAILED(e){let{error:t}=e;return"microphone recover capture failed ".concat((null==t?void 0:t.name)||"",": ").concat((null==t?void 0:t.originMessage)||(null==t?void 0:t.message))},OPERATION_FAILED(e){let{fnName:t,error:r}=e;return"'".concat(t,"' failed, reason: ").concat(null==r?void 0:r.toString())},FIREWALL_RESTRICTION:()=>"media connection failure due to firewall restrictions, please try to change your network.",EVENT_HANDLER_ERROR(e){let{eventName:t}=e;return"an error was caught on trtc.on('".concat(t,"', handler), please check your code on 'handler'.")},VIDEO_CONTEXT_ERROR(e){let{reason:t,error:r}=e;return"video context error ".concat(t," ").concat((null==r?void 0:r.name)||""," ").concat((null==r?void 0:r.message)||"")},SERVER_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' got server error: ").concat(null==r?void 0:r.toString(),", please check the SDK documentation.")},NEED_TO_BUY(e){let{value:t,url:r}=e;return"You need to buy packages for ".concat(t,". Refer to: ").concat(r)},ACCOUNT_NO_MONEY:e=>{let{fnParams:t}=e;return"your TRTC account run out of credit, please recharge.".concat(t.sdkAppId?" SDKAppId: ".concat(t.sdkAppId):"")},OPERATION_ABORT(e){let{fnName:t}=e;return"'".concat(t,"' abort")},UNKNOWN_ERROR(e){let{fnName:t,error:r}=e;return"'".concat(t,"' throw unknown exception").concat(r?", error: ".concat(r.toString(),"."):".")}});function BH(e){if(!e)return"camera";let t=e.toLowerCase();return t.includes("screen")?"screen share":t.includes("audio")?"microphone":"camera"}var HH=class e extends Error{constructor(e){let{code:t,extraCode:r,message:i="",messageParams:o,fnName:n="",originError:a,data:s}=e;var c;let l;l=i||function(e){let t,{code:r,params:i,enableDocLink:o=!1}=e,a="",s=VH[r];try{t=FH[s]}catch(n){t=FH.UNKNOWN_ERROR}return WD(t)?a=t(i):GD(t)&&(a=t),i.fnName&&!a.includes(i.fnName)&&("."!==a[a.length-1]&&(a+="."),a+=" thrown from ".concat(i.fnName,"()")),o&&(a+=" doc:"),a}({code:t===UH.SERVER_ERROR?t:r||t,params:Qb({fnName:n,error:a},o)}),super(l),ow(this,"name","RtcError"),ow(this,"code"),ow(this,"extraCode"),ow(this,"functionName"),ow(this,"message"),ow(this,"data"),ow(this,"handler"),ow(this,"originError"),this.name=VH[t],this.code=t,this.extraCode=r,this.functionName=n,this.originError=a,this.message=l,this.data=s,5302===this.extraCode&&null!=(c=this.originError)&&c.message.includes("system")&&(this.handler=()=>{let e=document.createElement("a");Bk?e.href="ms-settings:privacy-".concat({startLocalVideo:"webcam",startLocalAudio:"microphone"}[this.functionName]):Hk&&(e.href="x-apple.systempreferences:com.apple.preference.security?Privacy_".concat({startLocalVideo:"Camera",startLocalAudio:"Microphone",startScreenShare:"ScreenCapture"}[this.functionName])),e.href.length>0&&e.click()})}static convertFrom(t,r,i){let o=t;if(t instanceof fw){let{stack:n}=t,a={code:UH.UNKNOWN_ERROR,fnName:r,originError:t};switch(t.getCode()){case pw.INVALID_PARAMETER:a.code=UH.INVALID_PARAMETER,a.message=t.message;break;case pw.INVALID_OPERATION:a.code=UH.INVALID_OPERATION;break;case pw.NOT_SUPPORTED:case pw.NOT_SUPPORTED_H264:a.code=UH.ENV_NOT_SUPPORTED,t.getCode()===pw.NOT_SUPPORTED_H264&&(a.extraCode=t.message.includes(cL.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case pw.JOIN_ROOM_FAILED:a.messageParams={fnParams:i};case pw.SERVER_TIMEOUT:case pw.SWITCH_ROLE_FAILED:case pw.SWITCH_ROOM_FAILED:a.code=UH.SERVER_ERROR,a.extraCode=t.getExtraCode();break;case pw.API_CALL_ABORTED:a.code=UH.OPERATION_ABORT;break;case pw.DEVICE_NOT_FOUND:case pw.DEVICE_AUTO_RECOVER_FAILED:case pw.INITIALIZE_FAILED:a.code=5300,t.name&&(a.extraCode=function(e){let t;switch(e){case"NotFoundError":t=5301;break;case"NotAllowedError":t=5302;break;case"NotReadableError":t=5303;break;case"OverconstrainedError":t=5304;break;case"InvalidStateError":t=5305;break;case"SecurityError":t=5306;break;case"AbortError":t=5307;break;default:t=5300}return t}(t.name));break;case pw.VIDEO_ENCODE_FAILED:a.extraCode=5505;case pw.AUDIO_ENCODE_FAILED:a.extraCode=5506,a.code=UH.OPERATION_FAILED;break;case pw.UNKNOWN:break;default:a.code=UH.OPERATION_FAILED}o=new e(a),n&&(o.stack+=n.substr(n.indexOf("\n")))}else{if(t instanceof e)return t;o=new e({code:UH.UNKNOWN_ERROR,fnName:r,originError:t})}return o}};var WH=HH;function jH(e){return"sub"===e?"auxiliary":"auxiliary"===e?"sub":"main"}function GH(e){return e===xH.QOS_PREFERENCE_CLEAR?"detail":e===xH.QOS_PREFERENCE_SMOOTH?"motion":""}function zH(e,t){let r=t?Zw:Qw;return zN(e)?Qb(Qb({},r),e):$w[e]?$w[e]:r}var KH={type:"object",properties:{cameraId:{type:"string"},useFrontCamera:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:["string","boolean"],values:[!0,!1,"view","publish","both"]},small:{type:["string","object","boolean"],properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack}}},qH={type:"object",properties:{systemAudio:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},profile:{type:["string","object"],properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack},audioTrack:{instanceOf:MediaStreamTrack}}},YH={type:["string",HTMLElement,null,"array"],arrayItem:{instanceOf:HTMLElement},validate(e,t,r){if(GD(e)&&!document.getElementById(e))throw new WH({code:UH.INVALID_PARAMETER,extraCode:5009,fnName:r,messageParams:{key:t}})}},JH={name:"userId",required:!0,type:"string"},XH={type:"object",properties:{microphoneId:{type:"string"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:"number",min:0},earMonitorVolume:{type:"number",min:0,max:100},profile:{type:["string","object"],properties:{bitrate:{type:"number"},channelCount:{type:"number"}}},echoCancellation:{values:[!0,!1,"remote-only","all"]},autoGainControl:{type:"boolean"},noiseSuppression:{type:"boolean"}}};function $H(e,t){if(!e)throw new WH({code:UH.INVALID_OPERATION,extraCode:5101,fnName:t})}function QH(e,t,r){if(!e)throw new WH({code:UH.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:r}})}function ZH(e,t,r){if(!(/^[1-9]\d*$/.test(String(e))&&e<4294967295))throw new WH({code:UH.INVALID_PARAMETER,extraCode:5013,fnName:t,messageParams:{key:r}})}function eW(e,t,r){if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e))throw new WH({code:UH.INVALID_PARAMETER,extraCode:5012,fnName:t,messageParams:{key:r}})}function tW(e){var t;if(null==(t=null==e?void 0:e.option)||!t.small)return;if(!JL())return $O.warn("small stream is not supported"),void delete e.option.small;let r=zH(e.option.profile),i=zH(e.option.small,!0);return((e,t)=>e.width*e.height>=t.width*t.height&&e.frameRate>=t.frameRate&&e.bitrate>=t.bitrate)(r,i)?void 0:($O.warn("small stream profile must be less than big stream profile. Big: ".concat(JSON.stringify(r),", Small: ").concat(JSON.stringify(i))),void delete e.option.small)}var rW={create:[{name:"RoomConfig",instanceOf:Function},{name:"CreateConfig",type:"object",properties:{plugins:{type:"array",arrayItem:{instanceOf:Function}}}}],enterRoom:{name:"EnterRoomConfig",type:"object",required:!0,validate(e,t,r){if(this._room.isJoined)throw new WH({code:UH.INVALID_OPERATION,extraCode:5104,fnName:r});if(e.roomId){if(GD(e.roomId))throw new WH({code:UH.INVALID_PARAMETER,extraCode:5016,fnName:r,messageParams:{key:t}});ZH(e.roomId,r,t)}else{if(!e.strRoomId)throw new WH({code:UH.INVALID_PARAMETER,extraCode:5015,fnName:r});eW(e.strRoomId,r,t)}},properties:{sdkAppId:{required:!0,type:"number",allowEmpty:!1},userId:{required:!0,type:"string",allowEmpty:!1},userSig:{required:!0,type:"string",allowEmpty:!1},scene:{type:"string",values:["live","rtc"]},role:{type:"string",values:["audience","anchor"]},roomId:{type:["string","number"]},strRoomId:{type:"string"},proxy:{type:["object","string"],properties:{websocketProxy:{type:"string"},turnServer:{type:["object","array"],properties:{url:{required:!0,type:"string"},username:{type:"string"},credential:{type:"string"},credentialType:{type:"string",values:["password"]}}},loggerProxy:{type:"string"},webtransportProxy:{type:"string"}}},enableAutoPlayDialog:{type:"boolean"},userDefineRecordId:{type:"string"},latencyLevel:{type:"number"},playoutDelay:{type:"object",properties:{min:{type:"number",min:0,max:1e3},max:{type:"number",min:0,max:1e4}}}}},startLocalVideo:{name:"LocalVideoConfig",type:"object",properties:{view:YH,mute:{type:["boolean","string"]},publish:{type:"boolean"},capture:{required:!1,type:"boolean"},option:KH},validate(e){var t,r;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&NL())throw new WH({code:UH.ENV_NOT_SUPPORTED,extraCode:5201});null!=(r=null==e?void 0:e.option)&&r.small&&tW(e)}},updateLocalVideo:{name:"updateLocalVideoConfig",type:"object",required:!0,properties:{view:Zb(Qb({},YH),{required:!1}),publish:{type:"boolean"},capture:{required:!1,type:"boolean"},mute:{type:["boolean","string"]},option:KH},validate(e){var t;null!=(t=null==e?void 0:e.option)&&t.small&&tW(e)}},startLocalAudio:{name:"LocalAudioConfig",type:"object",properties:{publish:{type:"boolean"},option:XH},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&NL())throw new WH({code:UH.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:"updateLocalAudioConfig",type:"object",required:!0,properties:{publish:{type:"boolean"},mute:{type:"boolean"},option:XH}},startScreenShare:{name:"ScreenShareConfig",type:"object",properties:{view:YH,publish:{type:"boolean"},option:qH},validate(e,t,r,i,o){var n;if(null==(n=null==e?void 0:e.option)||!n.videoTrack){if(NL())throw new WH({code:UH.ENV_NOT_SUPPORTED,extraCode:5201});if(!UL())throw new WH({code:UH.ENV_NOT_SUPPORTED,fnName:r,extraCode:5205})}}},updateScreenShare:{name:"updateScreenShareConfig",type:"object",required:!0,properties:{view:YH,publish:{type:"boolean"},option:qH}},muteRemoteAudio:[JH,{name:"mute",required:!0,type:"boolean"}],setRemoteAudioVolume:[JH,{name:"volume",required:!0,type:"number",min:0}],startRemoteVideo:{name:"startRemoteVideoConfig",type:"object",required:!0,properties:{view:YH,userId:{type:"string",required:!0},streamType:{values:["main","sub"],required:!0},option:{type:"object",properties:{fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"}}}},validate(e,t,r){$H(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(QH(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new WH({code:UH.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},updateRemoteVideo:{name:"updateRemoteVideoConfig",type:"object",required:!0,properties:{view:Zb(Qb({},YH),{required:!1}),userId:{type:"string",required:!0},streamType:{values:["main","sub"],required:!0},option:{type:"object",properties:{fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"}}}},validate(e,t,r){$H(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(QH(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new WH({code:UH.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},stopRemoteVideo:{name:"stopRemoteVideoConfig",type:"object",required:!0,properties:{userId:{type:"string",required:!0},streamType:{values:["main","sub"]}},validate(e,t,r){if("*"!==e.userId&&jD(e.streamType))throw new WH({code:UH.INVALID_PARAMETER,extraCode:5014,fnName:r})}},switchRole:{name:"role",required:!0,values:["anchor","audience"],validate(e,t,r){$H(this._room.isJoining||this._room.isJoined,r)}},enableAudioVolumeEvaluation:[{name:"interval",type:"number"},{name:"enableInBackground",type:"boolean"}],sendSEIMessage:[{name:"buffer",required:!0,instanceOf:ArrayBuffer,validate(e,t,r,i){if(!hP)throw new WH({code:UH.ENV_NOT_SUPPORTED,fnName:r,extraCode:5207});if(!this._room.enableSEI)throw new WH({code:UH.INVALID_OPERATION,fnName:r,extraCode:5108});if(e.byteLength>1e3)throw new WH({code:UH.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new WH({code:UH.INVALID_PARAMETER,extraCode:5017,messageParams:{key:t},fnName:r});$H(this._room.isJoined,r)}},{name:"options",type:"object",properties:{seiPayloadType:{type:"number",values:[5,243]},toSubStream:{type:"boolean",validate(e,t,r){if(!e&&!this._room.isMainStreamPublished||e&&!this._room.isAuxStreamPublished)throw new WH({code:UH.INVALID_OPERATION,extraCode:5109,messageParams:{key:t},fnName:r})}}}}],sendCustomMessage:{name:"message",required:!0,type:"object",properties:{cmdId:{type:"number",required:!0,min:1,max:10},data:{instanceOf:ArrayBuffer,required:!0,validate(e,t,r,i){if(e.byteLength>1e3)throw new WH({code:UH.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new WH({code:UH.INVALID_PARAMETER,extraCode:5017,fnName:r,messageParams:{key:t}})}}},validate(e,t,r){if($H(this._room.isJoined,r),"live"===this._room.scene&&"audience"===this._room.role)throw new WH({code:UH.INVALID_OPERATION,extraCode:5107,fnName:r,messageParams:{key:t}})}},switchRoom:{name:"switchRoomConfig",type:"object",required:!0,validate(e,t,r){if($H(this._room.isJoined,r),this._room.useStringRoomId&&e.strRoomId===this._room.roomId||!this._room.useStringRoomId&&e.roomId===Number(this._room.roomId))throw new WH({code:UH.INVALID_PARAMETER,extraCode:5020,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId&&this._room.useStringRoomId||!e.roomId&&e.strRoomId&&!this._room.useStringRoomId)throw new WH({code:UH.INVALID_PARAMETER,extraCode:5019,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId)ZH(e.roomId,r,t);else{if(!e.strRoomId)throw new WH({code:UH.INVALID_PARAMETER,extraCode:5015,fnName:r});eW(e.strRoomId,r,t)}},properties:{roomId:{type:"number"},strRoomId:{type:"string"},privateMapKey:{type:"string"},userSig:{type:"string",required:!0},autoSubscribeCount:{type:"number",min:0,max:50}}}},iW={TRTC:rW},oW=class extends Error{};function nW(e,t){let r=hN(e);for(let i=0;i<t.length;i++)uN(r[i],t[i]);return r}function aW(e){this._resolve=Promise.resolve(e)}function sW(e){this._reject=Promise.reject(e)}var cW=class e{constructor(t,r){this.instance=t,this.group=r,ow(this,"started",!1),ow(this,"ops",[]),ow(this,"startSame",(()=>!0)),ow(this,"mergeUpdate",nW);let i=e.instances.get(t);i?i.set(r,this):e.instances.set(t,new Map([[r,this]]))}static get(t,r){if(!r)return;let i=e.instances.get(t);return i&&i.get(r)||new e(t,r)}static gets(t,r){let i=e.instances.get(t),o=[];return i&&i.forEach(((e,t)=>{r.test(t)&&o.push(e)})),o}action(e,t,r){let i=t=>{var r;return 0===e?this.started=!0:3===e&&(this.started=!1),this.ops.shift(),null==(r=this.currentOp)||r.action(),t},o=t=>{var r,i;throw this.ops.shift(),0===e&&2===(null==(r=this.currentOp)?void 0:r.type)&&this.ops.shift().reject(new oW("start failed")),null==(i=this.currentOp)||i.action(),t},n={type:e,action:()=>t(...n.args).then(i,o),args:r,resolve:aW,reject:sW};try{switch(this.state){case 1:if(0===e)throw new oW("already started");break;case 4:if(2===e)throw new oW("not started");break;default:return this.cacheOp(n)}}catch(aM){return Promise.reject(aM)}return this.ops.push(n),n.promise=t(...n.args).then(i,o)}cacheOp(e){if(1===this.ops.length)switch(this.state){case 0:case 2:if(0===e.type)throw new oW("already start");break;case 3:switch(e.type){case 2:throw new oW("update not allowed when stopping");case 3:return this.currentOp.promise}break;default:throw new oW("unknown state")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new oW("keep stop");if(this.ops.slice(1).forEach((t=>t.reject(e))),this.ops=this.ops.slice(0,1),3===this.state)return this.currentOp.promise}break;case 2:switch(this.lastOpType){case 2:return this.lastOp.args=this.mergeUpdate(this.lastOp.args,e.args),this.lastOp.promise;case 3:throw new oW("update not allowed after stop")}break;case 0:switch(this.lastOpType){case 2:throw new oW("start not allowed after update");case 0:throw new oW("duplicate start");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new oW("keep start")),new oW("already start")}}e.promise=new Promise(((t,r)=>{e._resolve?e._resolve.then(t):e.resolve=t,e._reject?e._reject.catch(r):e.reject=r}));let{action:t}=e;return e.action=()=>t().then(e.resolve,e.reject),this.ops.push(e),e.promise}get lastOp(){return this.ops[this.ops.length-1]}get lastOpType(){return this.lastOp.type}get currentOp(){return this.ops[0]}get state(){return this.currentOp?this.currentOp.type:this.started?1:4}};ow(cW,"instances",new WeakMap);var lW=cW,dW=new WeakMap,uW=(e,t)=>{if(t instanceof oW){let{stack:r}=t;t=new WH({code:UH.OPERATION_ABORT,message:"".concat(e," abort: ").concat(t.message),fnName:e}),r&&(t.stack+=r.substr(r.indexOf("\n")))}throw t};function hW(e,t){return SU(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let s=lW.get(this,"string"==typeof e?e:e.call(this,...n));return s?(t&&(s.startSame=t.bind(this)),s.action(0,r.bind(this),n).catch(uW.bind(null,i))):r.apply(this,n)}))}function pW(e,t){let{merge:r,debounce:i}=t||{};return SU(((t,o)=>function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];let c=lW.get(this,"string"==typeof e?e:e.call(this,...a));if(!c)return t.apply(this,a);if(r&&(c.mergeUpdate=r.bind(this)),i&&i.isNeedToDebounce.apply(this,a)){let{delay:e,getKey:r}=i;return new Promise(((i,n)=>{var s,l;let d=null==(s=dW.get(this))?void 0:s.get(r(...a));if(d){let{timeoutId:e,resolve:t}=d;clearTimeout(e),t()}let u=setTimeout((()=>{if(3===c.state||4===c.state)return i();c.action(2,t.bind(this),a).catch(uW.bind(null,o)).then(i,n)}),e);dW.has(this)?null==(l=dW.get(this))||l.set(r(...a),{timeoutId:u,resolve:i}):dW.set(this,new Map([[r(...a),{timeoutId:u,resolve:i}]]))}))}return c.action(2,t.bind(this),a).catch(uW.bind(null,o))}))}function mW(e){return SU(((t,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a="function"==typeof e?e.call(this,...o):e;if(a instanceof RegExp)return Promise.all(lW.gets(this,a).map((e=>e.action(3,(()=>Promise.resolve()),o)))).then((()=>t.call(this,...o)));let s=lW.get(this,a);return s?s.action(3,t.bind(this),o).catch(uW.bind(null,r)):t.apply(this,o)}))}var fW={ERROR:"error",AUTOPLAY_FAILED:"autoplay-failed",KICKED_OUT:"kicked-out",REMOTE_USER_ENTER:"remote-user-enter",REMOTE_USER_EXIT:"remote-user-exit",REMOTE_AUDIO_AVAILABLE:"remote-audio-available",REMOTE_AUDIO_UNAVAILABLE:"remote-audio-unavailable",REMOTE_VIDEO_AVAILABLE:"remote-video-available",REMOTE_VIDEO_UNAVAILABLE:"remote-video-unavailable",AUDIO_VOLUME:"audio-volume",AUDIO_FRAME:"audio-frame",NETWORK_QUALITY:"network-quality",CONNECTION_STATE_CHANGED:"connection-state-changed",AUDIO_PLAY_STATE_CHANGED:"audio-play-state-changed",VIDEO_PLAY_STATE_CHANGED:"video-play-state-changed",SCREEN_SHARE_STOPPED:"screen-share-stopped",DEVICE_CHANGED:"device-changed",PUBLISH_STATE_CHANGED:"publish-state-changed",TRACK:"track",STATISTICS:"statistics",SEI_MESSAGE:"sei-message",CUSTOM_MESSAGE:"custom-message",VIDEO_DECODE_DOWNGRADE_STATE_CHANGED:"video-decode-downgrade-state-changed",LAYER_DATA:"layerData",FIRST_VIDEO_FRAME:"first-video-frame",PERMISSION_STATE_CHANGE:"permission-state-change",VIDEO_SIZE_CHANGED:"video-size-changed"},_W=new Set([fW.ERROR,fW.AUTOPLAY_FAILED,fW.KICKED_OUT,fW.REMOTE_USER_ENTER,fW.REMOTE_USER_EXIT,fW.REMOTE_AUDIO_AVAILABLE,fW.REMOTE_AUDIO_UNAVAILABLE,fW.REMOTE_VIDEO_AVAILABLE,fW.REMOTE_VIDEO_UNAVAILABLE,fW.CONNECTION_STATE_CHANGED,fW.PUBLISH_STATE_CHANGED,fW.SCREEN_SHARE_STOPPED,fW.DEVICE_CHANGED,fW.FIRST_VIDEO_FRAME,fW.PERMISSION_STATE_CHANGE,fW.VIDEO_SIZE_CHANGED]),gW={};tw(gW,{ScheduleRequestType:()=>SW,getAbilityConfig:()=>bW,getScheduleDomain:()=>wW,isNeedToSchedule:()=>vW,scheduleProxy:()=>IW,sendScheduleRequest:()=>TW,setIsNeedToSchedule:()=>yW,setScheduleProxy:()=>AW});var EW=null,vW=!0;function yW(e){KD(e)&&e!==vW&&(vW=e,$O.info("setIsNeedToSchedule ".concat(e)))}function TW(e){return aw(this,arguments,(function(e){let{userId:t,sdkAppId:r,useStringRoomId:i,roomId:o,userSig:n,version:a,frameWorkType:s,role:c,latencyLevel:l}=e;return function*(){var e;if(!vW&&EW)return{isCached:!0,result:EW};let d={delta:0,count:[1,1],msg:[],detail:[]};try{let u=new FormData;u.append("userId",String(t)),u.append("sdkAppId",String(r)),u.append("isStrGroupId",String(i)),u.append("groupId",String(o)),u.append("sdkVersion",a),u.append("userSig",String(n));let h=(null==(e=yield LO())?void 0:e.model)||UO();h&&u.append("model",h),c&&u.append("role",String(c)),l&&u.append("latencyLevel",String(l)),s&&u.append("frameWorkType",String(s));let p=iN(),m=yield function(e,t,r){return new Promise(((i,o)=>{let n=null;rN([DW((e=>t.count[0]=e+1),(e=>{let{error:i,retry:o,retriedCount:a,retryFuncArgs:s}=e;t.msg[0]=i.message,n||(a>=1&&(s[0]=RW(r,"config",tC.MAIN,!0)),o())}))(RW(r,"config",tC.MAIN),e,{get timeout(){return 1e3*FD(2+t.count[0])}}),DW((e=>t.count[1]=e+1),(e=>{let{error:i,retry:o,retriedCount:a,retryFuncArgs:s}=e;t.msg[1]=i.message,n||(a>=2&&(s[0]=RW(r,"config",tC.BACKUP,!0)),o())}))(RW(r,"config",tC.BACKUP),e,{get timeout(){return 1e3*FD(2+t.count[1])}})]).then((e=>{n=e,i(n)})).catch(o)}))}(u,d,r);m.config&&(m.config.loggerDomain&&kw(m.config.loggerDomain),KD(m.config.scheduleCache)&&yW(!m.config.scheduleCache)),d.delta=iN()-p;let f=function(e,t,r){let i={totalCost:0,local:0,dns:0,tcp:0,tls:0,request:0,response:0};try{let o=performance.getEntriesByType("resource"),n=RW(e,"config",tC.MAIN),a=RW(e,"config",tC.BACKUP);for(let e of o)if(e.startTime>=r&&(e.name===n||e.name===a)&&e.transferSize>0){let r=e.name===n?tC.MAIN:tC.BACKUP,o=Math.round(e.duration),a=Math.round(e.domainLookupStart-e.startTime),s=e.redirectStart>0?Math.round(e.redirectEnd-e.redirectStart):0,c=e.fetchStart>0?Math.round(e.domainLookupStart-e.fetchStart):0,l=Math.round(e.domainLookupEnd-e.domainLookupStart),d=Math.round(e.requestStart-e.secureConnectionStart),u=Math.round(e.secureConnectionStart-e.connectStart),h=Math.round(e.responseStart-e.requestStart),p=Math.round(e.responseEnd-e.responseStart),m=[l,d,u,h,p];$P.uploadEvent({log:"stat-schedule-net:".concat(o,"(").concat(a,"(").concat(s,"->").concat(c,")->").concat(m.join("->"),") ").concat(r),userId:t}),i=Zb(Qb({},i),{totalCost:o,local:a,dns:l,tcp:u,tls:d,request:h,response:p});break}}catch(n){$O.error("getScheduleDetailCost error",n)}return i}(Number(r),t,p);return EW=m,{isCached:!1,result:m,detailCost:f}}catch(rM){let t=YD(rM)?rM[0]:rM,r=zD(t.code)?t.code:0,i="schedule failed".concat(t.message?": ".concat(t.message):""),o=new fw({code:pw.SCHEDULE_FAILED,extraCode:r,message:uL({key:sL.JOIN_ROOM_FAILED,data:{error:i,code:r}})});throw $O.error(i,r),o}}()}))}"undefined"!=typeof document&&document.head.insertAdjacentHTML("beforeend",Object.values(GC).map((e=>'<link rel="dns-prefetch" href="https://'.concat(e,'">'))).join("\r\n")),KO.on("28",(()=>yW(!0))),KO.on("63",(()=>yW(!0))),KO.on("84",(()=>yW(!0))),KO.on("201",(e=>{"RECONNECTING"===e.state&&yW(!0)})),KO.on("202",(e=>{"RECONNECTING"===e.state&&yW(!0)}));var IW={main:"",backup:""};function AW(e){YD(e)?(IW.main=e[0],IW.backup=e[1]):IW.main=e}var SW=(e=>(e.CONFIG="config",e.TRTC_AUTO_CONF="trtcAutoConf",e.AUDIO_AI_AUTH="audioAiAuth",e))(SW||{});function RW(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:tC.MAIN,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return"https://".concat(IW[r]||wW(e,r,i),"/api/v1/").concat(t)}function bW(e,t,r){let i=RW(e,t),o=RW(e,t,tC.BACKUP),n=new URLSearchParams(r).toString(),a=fetch("".concat(i,"?").concat(n)).then((e=>e.json())),s=fetch("".concat(o,"?").concat(n)).then((e=>e.json()));return rN([a,s])}function wW(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:tC.MAIN,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=SD(e)?i?r===tC.MAIN?GC.MAIN_OVERSEA_BACKUP:GC.BACKUP_OVERSEA:r===tC.MAIN?GC.MAIN_OVERSEA:GC.BACKUP_OVERSEA:r===tC.MAIN?GC.MAIN:GC.BACKUP,t}function CW(e,t,r){return new Promise(((i,o)=>{BN({url:e,body:t,timeout:r.timeout,priority:"high"}).then((e=>{0===e.data.code?i(e.data.data):o({code:e.data.code,message:e.data.msg})})).catch(o)}))}var DW=(e,t)=>KN({retryFunction:CW,settings:{retries:3,timeout:0},onError:t,onRetrying:e});var NW=class{constructor(){ow(this,"_log"),this._log=$O.createLogger({id:"fd"})}download(e,t){return aw(this,null,(function*(){let{type:r="blob"}=t||{};e=RN(e);try{let t,i=iN();if(t=WD(fetch)?yield this.downloadWithFetch(e,r):yield this.downloadWithXHR(e,r),!t||!t.data)throw new Error("data is empty");let o=iN()-i;return this._log.info("downloaded: ".concat(e,", return type: ").concat(r,", cost: ").concat(o,"ms")),IL.addSuccessEvent({key:522700,cost:iN()-i}),t.data}catch(sM){throw this._log.error("failed to download: ".concat(e,", error: ").concat(sM)),IL.addFailedEvent({key:522700,error:sM}),sM}}))}downloadWithFetch(e,t){return aw(this,null,(function*(){this._log.info("download with fetch: ".concat(e,", return type: ").concat(t));try{let r,i=yield fetch(e);if(!i.ok){let e=new Error("network response was not ok: ".concat(i.status));throw e.status=i.status,e}return r="arraybuffer"===t?yield i.arrayBuffer():yield i.blob(),{data:r}}catch(DC){throw DC}}))}downloadWithXHR(e,t){return this._log.info("download with xhr: ".concat(e,", return type: ").concat(t)),new Promise(((r,i)=>{let o=new XMLHttpRequest;o.open("GET",e,!0),o.responseType=t,o.onload=()=>{if(200===o.status||0===o.status&&o.response)r({data:o.response});else{let e=new Error("XHR failed, status: ".concat(o.status));e.status=o.status,i(e)}},o.onerror=i,o.send(null)}))}loadWasm(e,t){return aw(this,null,(function*(){this._log.info("loadWasm ".concat(e,", importObject: ").concat(JSON.stringify(t)));let r=iN(),i=null,o=null;if(WD(WebAssembly.instantiateStreaming)&&!(e=>e.startsWith("data:application/octet-stream;base64,"))(e)&&!(e=>e.startsWith("file://"))(e)&&WD(fetch))try{let r=fetch(e);i=(yield WebAssembly.instantiateStreaming(r,t)).instance}catch(bw){o=bw}if(!i)try{let r=yield this.download(e,{type:"arraybuffer"});i=(yield WebAssembly.instantiate(r,t)).instance}catch(bw){o=bw}if(i){let t=iN()-r;return this._log.info("loadedWasm ".concat(e,", cost: ").concat(t,"ms")),IL.addSuccessEvent({key:522701,cost:t}),i}throw this._log.error("failed to loadWasm ".concat(e,", error: ").concat(o)),IL.addFailedEvent({key:522701,error:o}),o}))}loadScript(e){this._log.info("loadScript ".concat(e));let t=iN();return new Promise(((r,i)=>{let o=document.createElement("script");o.type="text/javascript",o.onload=()=>{this._log.info("loadedScript ".concat(e,", cost: ").concat(iN()-t,"ms")),IL.addSuccessEvent({key:522702,cost:iN()-t,split:1e3}),r(o)},o.onerror=t=>{this._log.error("failed to loadScript ".concat(e,", error: ").concat((null==t?void 0:t.message)||JSON.stringify(t))),IL.addFailedEvent({key:522702}),i(t)},o.crossOrigin="anonymous",o.src=e,document.head.append?document.head.append(o):document.getElementsByTagName("head")[0].appendChild(o)}))}};iw([ZP({settings:{timeout:0,retries:3},onError(e,t,r){var i;404===(null==e?void 0:e.status)||null!=(i=null==e?void 0:e.message)&&i.includes("404")?(this._log.warn("download 404, stop retry"),r(e)):t()},onRetrying(e){this._log.warn("download retrying: ".concat(e))}})],NW.prototype,"download",1),iw([ZP({settings:{timeout:3e3,retries:3},onRetrying(e){this._log.warn("loadScript retrying: ".concat(e))}})],NW.prototype,"loadScript",1);var kW=new NW;function OW(e){var t=this;let{TRTC:r,room:i,errorModule:o,assetsPath:n}=e;return{TRTC:r,LocalMixVideoTrack:kB,LocalVideoTrack:oB,LocalScreenTrack:LB,room:i,assetsPath:n,fileDownloader:kW,innerEmitter:KO,INNER_EVENT:YO,constants:Tw,environment:YN,utils:nB,eventLogger:$P,log:this.room.getLogger(),loggerManager:$O,errorModule:o,kvStatManager:IL,rtcDectection:eM,trtc:this,rx:OU,enums:tM,schedule:gW,getDevices:iU,initVisionTaskRegistry:function(e){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"/mediapipe/vision.js";return aw(t,null,(function*(){window.VisionTaskRegistry||(yield kW.loadScript("".concat(e,"/").concat(r).replace(/([^:]\/)\/+/g,"$1"))),yield(yield window.VisionTaskRegistry.getInstance(e)).preloadModels([window.VisionTaskType.ImageSegmenter])}))},audioContext:Fx(),deviceDetector:tU,AudioPlayer:hU,AutoPlayDialog:Ax,Timer:zP,clearStarted:(e,t)=>{let r=e.getAlias(),i=lW.instances.get(this);if(i)if(t){let e=i.get(r+t);if(!e)return;e.started=!1}else i.forEach(((e,t)=>{t.startsWith(r)&&(e.started=!1)}))},startGetPCM:UB,createAudioNode:Kx,getNetworkTimeOffset:_w,validateSourceNode:()=>{var e;if(dk&&(null==(e=this.room.audioManager._localAudioPipline)||!e.source.node))throw new WH({code:UH.DEVICE_ERROR,extraCode:5310,message:"The audio processing plugin cannot be used due to the microphone's sampling rate is not 48KHz in Firefox. Please switch to another browser such as Chrome."})}}}var MW=new WeakMap;var LW="5.14.0-wasm.1";function PW(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return SU(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{UW.call(this,t,o,r,this._name)}catch(sM){return Promise.reject(sM)}return e.apply(this,o)}))}function xW(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return SU(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{UW.call(this,t,o,r,this._name)}catch(sM){throw sM}return e.apply(this,o)}))}function UW(e,t,r,i){if(YD(e))for(let o=0;o<e.length;o++)VW.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else VW.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}function VW(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;function a(e){return{code:UH.INVALID_PARAMETER,extraCode:e,fnName:o,messageParams:{key:i,rule:t,value:r}}}if(jD(r)){if(t.required)throw new WH(a(5001));if(jD(t.defaultValue))return void(WD(t.validate)&&t.validate.call(this,r,i,o,n,this));r=t.defaultValue}if(Array.isArray(t.type)){let e=!1;for(let i=0;i<t.type.length;i++)null===t.type[i]&&null===r&&(e=!0),WD(t.type[i])&&r instanceof t.type[i]&&(e=!0),GD(t.type[i])&&HD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new WH({code:UH.INVALID_PARAMETER,extraCode:5002,fnName:o,messageParams:{key:i,rule:{type:t.type.map((e=>QD(e)?ZD(e):GD(e)?e:HD(e)))},value:r}})}else if(!jD(t.type)&&HD(r)!==t.type)throw new WH(a(5002));if(!1===t.allowEmpty){let e=zD(r)&&(0===r||Number.isNaN(r)),t=GD(r)&&""===r.trim();if(e||t)throw new WH(a(5003))}if(t.notLessThanZero&&zD(r)&&r<0)throw new WH(a(5006));if(!jD(t.min)&&zD(r)&&r<t.min)throw new WH(a(5007));if(!jD(t.max)&&zD(r)&&r>t.max)throw new WH(a(5008));if(GD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new WH(a(5004))}else if(WD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new WH(a(5004));if(Array.isArray(t.values)&&!t.values.includes(r))throw new WH(a(5005));let{properties:s}=t;VD(s)&&qD(r)&&Object.keys(s).forEach((e=>{VW.call(this,{rule:s[e],value:r&&r[e],key:"".concat(e),fnName:o,className:n})}));let{arrayItem:c}=t;VD(c)&&YD(r)&&r.forEach(((e,t)=>{VW.call(this,{rule:c,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),WD(t.validate)&&t.validate.call(this,r,i,o,n,this)}function FW(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{getRemoteId:t=()=>"",replaceArg:r,getKVReportKey:i,ignoreLog:o,ignoreErrorLog:n}=e;return SU(((e,a)=>function(){for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];var d,u,h;function p(e,t,i){if(i&&i.includes(e))return"hided";if(r){let e=r(...c);if(c[e.argIndex]===t)return e.value}if(t===c||e in c)return t;try{return t instanceof HTMLElement?"id: ".concat(t.id," type:").concat(HD(t)):t instanceof MediaStreamTrack?bN(t):(JSON.stringify(t),t)}catch(o){return"type:".concat(HD(t))}}let m=this._log||$O;if(null!=o&&o(...c))return e.apply(this,c);c.length>0?m.info("".concat(a,"() ").concat(JSON.stringify(c,((e,t)=>p(e,t,["userSig","privateMapKey"]))))):m.info("".concat(a,"()"));let f=i?i(...c):fL[a],_=(null==n?void 0:n(...c))||!1;try{let r=e.apply(this,c),i=iN();if($D(r)){let e="".concat(a.includes("Plugin")?"".concat((null==(u=(d=c[0]).getName)?void 0:u.call(d))||""," "):" ");return r.then((r=>(m.info("".concat(a,"() success ").concat(e).concat(t.call(this,...c))),IL.addSuccessEvent({key:f,cost:iN()-i}),r))).catch((r=>{var i;let o=(r=WH.convertFrom.call(this,r,a,1===c.length?c[0]:c)).extraCode||r.code,n=null!=(i=r.message)&&i.includes(o)?"":" code:".concat(o);throw _||m.error("".concat(a,"() failed ").concat(e).concat(t.call(this,...c)," ").concat(r).concat(n," params: ").concat(JSON.stringify(c,p))),IL.addFailedEvent({key:f,error:r}),r}))}return IL.addSuccessEvent({key:f}),r}catch(uM){let t=(uM=WH.convertFrom.call(this,uM,a)).extraCode||uM.code,r=null!=(h=uM.message)&&h.includes(t)?"":" code:".concat(t);throw _||m.error("".concat(a,"() failed ").concat(uM).concat(r," params: ").concat(JSON.stringify(c,p))),IL.addFailedEvent({key:f,error:uM}),uM}}))}var BW,HW=e=>SU(((t,r)=>function(i,o){return aw(this,null,(function*(){let n=this._plugins.get(i);if(!n)throw this._log.error("plugin ".concat(String(i)," is not found")),new WH({code:UH.OPERATION_ABORT,message:"plugin ".concat(String(i)," is not found"),fnName:r});if(WD(n.constructor.isSupported)&&!n.constructor.isSupported())throw this._log.error("plugin ".concat(String(i)," is not supported")),new WH({code:UH.ENV_NOT_SUPPORTED,message:"plugin ".concat(String(i)," is not supported"),extraCode:5210,fnName:r});return UW.call(this,n.getValidateRule(e),[o],r,"TRTC"),t.call(this,n,o)}))})),WW=0,jW=class e{constructor(e){this.core=e,ow(this,"log"),ow(this,"customAudioReferenceMap",new Map),ow(this,"audioRefId",0),ow(this,"audioContext",Fx()),ow(this,"localAudioWorkletNode"),ow(this,"screenAudioWorkletNode"),ow(this,"mixNode"),ow(this,"silentNode"),WW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(WW)}),this.log.info("created id=".concat(this.getAlias()).concat(WW)),this.installEvent()}static getStartValidateRule(e){return{name:"options",required:!0,type:"object",properties:{sdkAppId:{type:"number",required:!0},userId:{type:"string",required:!0},userSig:{type:"string",required:!0}},validate(t,r,i,o){if(!e.room.audioManager.hasAudioTrack&&!e.room.audioManager.hasScreenAudioTrack)throw new WH({code:UH.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return BW||(BW=this.doPreload(e)),BW}doPreload(e){return aw(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield Rx(this.audioContext,r)}catch(sM){this.log.error("preload audioProcessor failed. ".concat(sM))}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ap"}getGroup(){return"ap"}getValidateRule(t){switch(t){case"start":return e.getStartValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return aw(this,null,(function*(){var t,r,i,o;let{room:n}=this.core,{sdkAppId:a,userId:s,userSig:c,assetsPath:l=this.core.assetsPath,audioReference:d,processLevel:u,enableDump:h,isLocalAudioNeedAudioProcess:p=!0,isScreenAudioNeedAudioProcess:m=!1}=e;if(this.core.room.audioManager.isLocalAudioNeedAudioProcess=p,this.core.room.audioManager.isScreenAudioNeedAudioProcess=m,!l)throw new WH({code:UH.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(this.core.validateSourceNode(),yield this.preload("".concat(l,"/audioProcessor-wasm.js")),p&&!this.localAudioWorkletNode){let{sign:e,status:t,timestamp:r}=yield this.getAuthData(a,s,c);this.localAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.localAudioWorkletNode,"localAudio",a,s,r,e,t,n)}if(m&&!this.screenAudioWorkletNode){let{sign:e,status:t,timestamp:r}=yield this.getAuthData(a,s,c);this.screenAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.screenAudioWorkletNode,"screenAudio",a,s,r,e,t,n)}this.mixNode||(this.mixNode=this.audioContext.createGain(),this.mixNode.gain.value=1),this.silentNode||(this.silentNode=this.audioContext.createConstantSource(),this.silentNode.offset.setValueAtTime(0,this.audioContext.currentTime),this.silentNode.start()),null==(t=this.localAudioWorkletNode)||t.port.postMessage({type:"enable"}),null==(r=this.screenAudioWorkletNode)||r.port.postMessage({type:"enable"}),n.audioManager.addAudioProcessor(this.mixNode,this.silentNode,this.localAudioWorkletNode,this.screenAudioWorkletNode),jD(d)||d.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})})),jD(u)||null==(i=this.localAudioWorkletNode)||i.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:u}}),jD(h)||null==(o=this.localAudioWorkletNode)||o.port.postMessage({type:"dump",data:{enable:h}})}))}update(e){return aw(this,null,(function*(){var t,r,i;let{audioReference:o,enableDump:n,processLevel:a}=e;jD(o)||(this.customAudioReferenceMap.forEach(((e,t)=>{this.customAudioReferenceMap.delete(t),this.core.room.audioManager.updateAudioReference({type:"remove",refId:e})})),o.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})}))),jD(a)||null==(t=this.localAudioWorkletNode)||t.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:a}}),jD(n)||(null==(r=this.localAudioWorkletNode)||r.port.postMessage({type:"dump",data:{enable:n}}),null==(i=this.screenAudioWorkletNode)||i.port.postMessage({type:"dump",data:{enable:n}}))}))}stop(){return aw(this,null,(function*(){var e,t;let{room:r}=this.core;null==(e=this.localAudioWorkletNode)||e.port.postMessage({type:"disable"}),null==(t=this.screenAudioWorkletNode)||t.port.postMessage({type:"disable"}),yield r.audioManager.removeAudioProcessor(this.localAudioWorkletNode,this.screenAudioWorkletNode)}))}destroy(){this.localAudioWorkletNode&&(this.localAudioWorkletNode.port.onmessage=null),this.screenAudioWorkletNode&&(this.screenAudioWorkletNode.port.onmessage=null),this.uninstallEvent()}getAuthData(e,t,r){return aw(this,null,(function*(){let i=String(Date.now()).slice(0,-3),{auth:o,sign:n,status:a,message:s}=yield function(e){return aw(this,arguments,(function(e){let{sdkAppId:t,userId:r,userSig:i,timestamp:o}=e;return function*(){let e="".concat(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:tC.MAIN;return"https://".concat(IW[t]||wW(e,t),"/api/v1/audioAiAuth")}(t),"?sdkAppId=").concat(t,"&userId=").concat(r,"&userSig=").concat(i,"&timestamp=").concat(o),n=yield fetch(e),{data:{errCode:a,errMsg:s,sign:c,status:l}}=yield n.json();if("1"===l)return{auth:!0,sign:c,status:l,message:s};let d=SD(t)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",u="Init RTCAudioProcessor failed.",h="";switch(a){case 1:h="Please check your params.";break;case 2:h="You need to buy packages. Refer to: ".concat(d);break;case 3:h="Server is invalid. Please contact our engineer. ";break;case 4:h="Your packages is not active. Refer to: ".concat(d);break;case 5:h="Your packages is expired. Refer to: ".concat(d);break;case 6:h="Your version is not supported."}return{auth:!1,status:l,message:s?"".concat(u," Reason: ").concat(s,". ").concat(h):"".concat(u,", ").concat(h)}}()}))}({sdkAppId:e,userSig:r,userId:t,timestamp:i});if(!o)throw this.log.info("audioProcessor: ".concat(t," auth result: ").concat(o,". Message: ").concat(s)),new WH({code:UH.INVALID_PARAMETER,message:s});return{sign:n,status:a,timestamp:i}}))}initWorkletNode(e,t,r,i,o,n,a,s){e.port.postMessage({type:"init",data:{sdkAppId:String(r),userId:i,timestamp:o,sign:n,status:a}}),e.port.onmessage=e=>{var r;let{data:i}=e;switch(i.type){case"cost":let e=(null==i?void 0:i.value)>10?"info":"debug";return void this.log[e]("".concat("localAudio"===t?"":"[".concat(t,"] "),"avg cost: ").concat(i.value," max: ").concat(null==i?void 0:i.max,"(").concat(vw(new Date(null==i?void 0:i.maxCostTimestamp)),") hist: ").concat(null==(r=null==i?void 0:i.hist)?void 0:r.join(" ")));case"log":return void this.log[i.logLevel]("".concat("localAudio"===t?"":"[".concat(t,"] ")).concat(i.value));case"dump":return void KO.emit("265",{room:s,data:i.value,type:"localAudio"===t?"dump":"dump-screen-audio"})}}}handleLocalAudioStarted(e){return aw(this,null,(function*(){var t;if(this.hitTest(e.room)&&!0===(null==(t=this.core.room.scheduleResult.config)?void 0:t.audioProcessor))try{yield this.core.trtc.startPlugin("AudioProcessor",{sdkAppId:this.core.room.sdkAppId,userId:this.core.room.userId,userSig:this.core.room.userSig}),this.log.warn("audio processor auto start success")}catch(DC){this.log.warn("audio processor auto start failed, error: ".concat(DC))}}))}handleLocalAudioStopped(e){return aw(this,null,(function*(){var t;!this.hitTest(e.room)||!0!==(null==(t=this.core.room.scheduleResult.config)?void 0:t.audioProcessor)||(yield this.core.trtc.stopPlugin("AudioProcessor"))}))}installEvent(){this.core.innerEmitter.on("104",this.handleLocalAudioStarted,this),this.core.innerEmitter.on("114",this.handleLocalAudioStopped,this)}uninstallEvent(){this.core.innerEmitter.off("104",this.handleLocalAudioStarted,this),this.core.innerEmitter.off("114",this.handleLocalAudioStopped,this)}hitTest(e){return e===this.core.room}};ow(jW,"updateValidateRule",{type:"object"}),ow(jW,"stopValidateRule",{type:"object"}),ow(jW,"Name","AudioProcessor");var GW=jW;var zW=0,KW=class{constructor(e,t){ow(this,"audioObjectURL"),ow(this,"player"),ow(this,"publisher"),ow(this,"mixInput"),this.mixInput=new jx(t),e.url?(this.player=new Audio(e.url),this.player.crossOrigin="anonymous",this.publisher=new Audio(e.url),this.publisher.crossOrigin="anonymous",this.mixInput.replaceSource(this.publisher)):this.mixInput.replaceSource(e.track),this.mixInput.connect()}updateSettings(e){this.player&&(jD(e.volume)||(this.volume=e.volume),jD(e.loop)||(this.loop=e.loop),jD(e.playbackRate)||(this.playbackRate=e.playbackRate))}updateListener(e){if(this.player){if(e.onDurationChange){let{onDurationChange:t}=e;this.player.ondurationchange=e=>{t(e.target.duration)}}if(e.onTimeUpdate){let t=e.onTimeUpdate,{player:r}=this;r.ontimeupdate=()=>{t(r.currentTime,r.duration)}}e.onEnded&&(this.player.onended=e.onEnded)}}reload(e){return aw(this,null,(function*(){if(e.url){let t=yield kW.download(e.url,{retries:3,type:"blob"});this.audioObjectURL&&URL.revokeObjectURL(this.audioObjectURL),this.audioObjectURL=URL.createObjectURL(t),this.player&&this.publisher?(this.player.src=this.audioObjectURL,this.publisher.src=this.audioObjectURL):(this.player=new Audio(this.audioObjectURL),this.player.crossOrigin="anonymous",this.publisher=new Audio(this.audioObjectURL),this.publisher.crossOrigin="anonymous",this.mixInput.replaceSource(this.publisher),this.updateListener(e),this.updateSettings(e))}else this.mixInput.replaceSource(e.track)}))}reset(){this.seek(0),this.mixInput.connect()}seek(e){this.player&&(e<0&&e>this.player.duration||(this.player.currentTime=e,this.publisher.currentTime=e))}play(){var e,t;return Promise.all([null==(e=this.player)?void 0:e.play(),null==(t=this.publisher)?void 0:t.play()])}pause(){var e,t;null==(e=this.player)||e.pause(),null==(t=this.publisher)||t.pause()}stop(){var e;null==(e=this.player)||e.pause(),this.mixInput.disconnect()}setOperation(e){"pause"===e&&this.pause(),"resume"===e&&(this.pause(),this.play()),"stop"===e&&(this.pause(),this.seek(0))}set volume(e){!this.player||!this.publisher||(this.player.volume=e,this.publisher.volume=e)}set loop(e){!this.player||!this.publisher||(this.player.loop=e,this.publisher.loop=e)}set playbackRate(e){!this.player||!this.publisher||(this.player.playbackRate=e,this.publisher.playbackRate=e)}};function qW(e,t){if(t&&"function"!=typeof t)throw new WH({code:UH.INVALID_PARAMETER,message:"start audioMixer plugin: param ".concat(e," should be a function.")})}var YW=class e{constructor(e){this.core=e,ow(this,"log"),ow(this,"mixedMusicMap",new Map),ow(this,"cacheMusicMap",new Map),zW+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(zW)}),this.log.info("created id=".concat(this.getAlias()).concat(zW))}getName(){return e.Name}getAlias(){return"ax"}getGroup(e){return null==e?void 0:e.id}getValidateRule(t){switch(t){case"start":return e.startValidateRule;case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return aw(this,null,(function*(){let{room:t}=this.core;this.core.validateSourceNode(),this.log.info("add music source, id: ".concat(e.id," url: ").concat(e.url,", track: ").concat(e.track));let{id:r,url:i}=e;if(this.mixedMusicMap.has(r))return;let o=this.cacheMusicMap.get(r);o?e.url?o.reset():(o.mixInput.replaceSource(e.track),o.mixInput.connect()):(o=new KW(e,t.audioManager),this.cacheMusicMap.set(r,o)),o.updateListener(e),o.updateSettings(e);try{yield o.play()}catch(bw){yield this.handleAutoPlayFailed(o,e,bw)}this.mixedMusicMap.set(r,o),o.mixInput.source.node&&this.core.room.audioManager.updateAudioReference({type:"add",audioReference:o.mixInput.source.node,refId:"ax-".concat(r)}),this.log.info("start mix audio track ".concat(r," success.")),IL.addEnum({key:502700,value:3}),this.kvUpload(e)}))}handleAutoPlayFailed(e,t,r){return aw(this,null,(function*(){if("NotSupportedError"===r.name)this.log.error("play failed, try to reload source. error: ".concat(r)),yield e.reload(t),yield e.play();else{if("NotAllowedError"!==r.name)throw r;if(this.core.room.enableAutoPlayDialog){let t=()=>{var r;null==(r=e.play())||r.finally((()=>{KO.off("154",t,this)}))};KO.on("154",t,this),new Ax}else this.core.trtc.emit(fW.AUTOPLAY_FAILED,{userId:"",mediaType:"audio",resume:()=>aw(this,null,(function*(){return e.play()}))})}}))}update(e){return aw(this,null,(function*(){let{id:t,operation:r,seekFrom:i,playbackRate:o}=e;this.log.info("update music source, ".concat(JSON.stringify(e)));let n=this.mixedMusicMap.get(t);n?(n.updateSettings(e),n.updateListener(e),jD(r)||n.setOperation(r),jD(i)||n.seek(i),this.kvUpload(e)):this.log.warn("update music source failed, music id: ".concat(t," not found."))}))}stop(e){return aw(this,arguments,(function(e){var t=this;let{id:r}=e;return function*(){if(t.mixedMusicMap.has(r)){t.log.info("remove music source, music id: ".concat(r));let e=t.mixedMusicMap.get(r);null!=e&&e.mixInput.source.node&&t.core.room.audioManager.updateAudioReference({type:"remove",audioReference:e.mixInput.source.node,refId:"ax-".concat(r)}),null==e||e.stop(),t.mixedMusicMap.delete(r)}"*"===r&&t.destroyAllMusic()}()}))}kvUpload(e){let{track:t,loop:r,volume:i,playbackRate:o,operation:n,seekFrom:a,onTimeUpdate:s,onDurationChange:c,onEnded:l}=e;t&&IL.addCount({key:502009}),r&&IL.addCount({key:502001}),i&&IL.addCount({key:502002}),o&&IL.addCount({key:502003}),n&&IL.addCount({key:502004}),a&&IL.addCount({key:502005}),"function"!=typeof s&&IL.addCount({key:502007}),"function"!=typeof l&&IL.addCount({key:502008}),"function"!=typeof c&&IL.addCount({key:502006})}destroyAllMusic(){this.log.info("destroy all music source."),this.mixedMusicMap.forEach(((e,t)=>{null!=e&&e.mixInput.track&&this.core.room.audioManager.updateAudioReference({type:"remove",audioReference:e.mixInput.track,refId:t}),this.stop({id:t})}))}destroyAllCache(){this.log.info("destroy all music cache."),this.cacheMusicMap.clear()}destroy(){this.log.info("destroy audio mixer plugin."),this.destroyAllMusic(),this.destroyAllCache()}};ow(YW,"startValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},url:{type:"string",required:!1},track:{required:!1},loop:{type:"boolean"},volume:{type:"number"}},validate(e,t,r){if(e.url&&"*"!==e.url){let t=e.url.split("?")[0],i=["mp3","ogg","wav","flac"],o=t.split(".").pop(),n=i.indexOf(o)>=0,a=t.startsWith("blob"),s=t.startsWith("data");if(!(n||a||s))throw new WH({code:UH.INVALID_PARAMETER,message:"start audioMixer plugin: music url is invalid, please check your file format.",fnName:r})}if(!e.url&&!e.track)throw new WH({code:UH.INVALID_PARAMETER,message:"start audioMixer plugin: param url or track is required.",fnName:r});qW("onTimeUpdate",e.onTimeUpdate),qW("onEnded",e.onEnded),qW("onDurationChange",e.onDurationChange)}}),ow(YW,"updateValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},loop:{type:"boolean"},volume:{type:"number"},seekFrom:{type:"number"},operation:{type:"string",values:["pause","resume","stop"]}},validate(e,t,r){qW("onTimeUpdate",e.onTimeUpdate),qW("onEnded",e.onEnded),qW("onDurationChange",e.onDurationChange)}}),ow(YW,"stopValidateRule",{name:"options",type:"object",required:!0,properties:{id:{type:"string",required:!0}}}),ow(YW,"Name","AudioMixer");var JW,XW=YW,$W=0,QW=class e{constructor(e){this.core=e,ow(this,"log"),ow(this,"audioContext",Fx()),ow(this,"workletNode"),ow(this,"config",{enableFarFieldReduce:!1,farFieldReduceThreshold:.5}),$W+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat($W)}),this.log.info("created id=".concat(this.getAlias()).concat($W))}static startValidateRule(e){return{name:"options",required:!0,type:"object",properties:{sdkAppId:{type:"number",required:!0},userId:{type:"string",required:!0},userSig:{type:"string",required:!0},mode:{type:"number",required:!1,values:[0,1]},farFieldReduceThreshold:{type:"number",required:!1,min:0,max:1}},validate(t,r,i,o){if(!e.room.audioManager.hasAudioTrack)throw new WH({code:UH.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return JW||(JW=this.doPreload(e)),JW}doPreload(e){return aw(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield Rx(this.audioContext,r)}catch(sM){throw this.log.error("load worklet failed",sM),sM}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ad"}getGroup(){return"AIDenoiser"}getValidateRule(t){switch(t){case"start":return e.startValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return aw(this,null,(function*(){let{room:t,schedule:r}=this.core,{assetsPath:i=this.core.assetsPath}=e;if(!i)throw new WH({code:UH.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(this.core.validateSourceNode(),yield this.preload("".concat(i,"/denoiser-wasm").concat(gP()?"":"-nosimd",".js")),!this.workletNode){let t=String(Date.now()).slice(0,-3),{auth:i,sign:o,status:n,message:a}=yield function(e,t){return aw(this,arguments,(function(e,t){let{sdkAppId:r,userId:i,userSig:n,timestamp:a}=t;return function*(){try{let{data:{errCode:t,errMsg:o,sign:s,status:c}}=yield e.getAbilityConfig(r,e.ScheduleRequestType.AUDIO_AI_AUTH,{sdkAppId:r,userId:i,userSig:n,timestamp:a});if("1"===c)return{auth:!0,sign:s,status:c,message:o};let l=SD(r)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",d="Init RTCAIDenoiser failed.",u="";switch(t){case 1:u="Please check your params.";break;case 2:u="You need to buy packages. Refer to: ".concat(l);break;case 3:u="Server is invalid. Please contact our engineer. ";break;case 4:u="Your packages is not active. Refer to: ".concat(l);break;case 5:u="Your packages is expired. Refer to: ".concat(l);break;case 6:u="Your version is not supported."}return{auth:!1,status:c,message:o?"".concat(d," Reason: ").concat(o,". ").concat(u):"".concat(d,", ").concat(u)}}catch(o){return{auth:!1,status:"0",message:"Init RTCAIDenoiser failed. All requests failed. ".concat(o)}}}()}))}(r,Zb(Qb({},e),{timestamp:t}));if(!i)throw this.log.info("RTCAIDenoiser: ".concat(e.userId," auth result: ").concat(i,". Message: ").concat(a)),new WH({code:UH.INVALID_PARAMETER,message:a});this.workletNode=new AudioWorkletNode(this.audioContext,"trtc-denoiser-processor",{numberOfInputs:1,numberOfOutputs:1}),this.workletNode.port.postMessage({type:"init",data:{sdkAppId:String(e.sdkAppId),userId:e.userId,timestamp:t,sign:o,status:n}}),this.workletNode.port.onmessage=e=>{var t;let{data:r}=e;if("cost"===r.type){let e=(null==r?void 0:r.max)>20?"warn":(null==r?void 0:r.max)>10?"info":"debug";this.log[e]("avg cost: ".concat(r.value," max: ").concat(null==r?void 0:r.max,"(").concat(vw(new Date(null==r?void 0:r.maxCostTimestamp)),") hist: ").concat(null==(t=null==r?void 0:r.hist)?void 0:t.join(" ")))}else"log"===r.type&&this.log[r.logLevel]("".concat(r.value))}}this.updateConfig(e),this.workletNode.port.postMessage({type:"enable"}),t.audioManager.addDenoiser(this.workletNode),t.sendAbilityStatus({ai_denoise:1})}))}update(e){return aw(this,null,(function*(){this.updateConfig(e)}))}stop(){return aw(this,null,(function*(){if(!this.workletNode)return;let{room:e}=this.core;this.workletNode.port.postMessage({type:"disable"}),yield e.audioManager.removeDenoiser(this.workletNode)}))}updateConfig(e){if(!this.workletNode)return;let t=!1;jD(e.mode)||(0===e.mode?this.config.enableFarFieldReduce=!1:1===e.mode&&(this.config.enableFarFieldReduce=!0),t=!0),jD(e.farFieldReduceThreshold)||(this.config.farFieldReduceThreshold=e.farFieldReduceThreshold,t=!0),t&&this.workletNode.port.postMessage({type:"setConfig",data:this.config})}destroy(){this.workletNode&&(this.workletNode.port.onmessage=null)}};ow(QW,"updateValidateRule",{type:"object",properties:{mode:{type:"number",required:!1,values:[0,1]},farFieldReduceThreshold:{type:"number",required:!1,min:0,max:1}}}),ow(QW,"stopValidateRule",{type:"object"}),ow(QW,"Name","AIDenoiser");var ZW=QW;var ej=rw(sw(),1),tj=class extends ej.EventEmitter{constructor(){super(),ow(this,"observer"),ow(this,"state","nominal"),this.onPressureChange=this.onPressureChange.bind(this)}get stateNum(){switch(this.state){case"nominal":return 1;case"fair":return 2;case"serious":return 3;case"critical":return 4}}start(){return aw(this,null,(function*(){if(!this.observer)try{"PressureObserver"in window&&!ak&&(this.observer=new PressureObserver(this.onPressureChange),yield this.observer.observe("cpu",{sampleInterval:2e3}))}catch(Rw){$P.uploadEvent({log:"stat-pressure-detector-start-failed",error:Rw})}}))}onPressureChange(e){let t=this.stateNum,r=e[e.length-1];this.state=r.state,(this.stateNum>3||t>3)&&$O.info("".concat(r.source,": ").concat(r.state)),this.emit("state-changed",{type:r.source,state:this.state})}destroy(){var e;try{null==(e=this.observer)||e.disconnect(),this.observer=null}catch(DC){$P.uploadEvent({log:"stat-pressure-detector-destroy-failed",error:DC})}}},rj=new tj;function ij(e){let[t,r]=e,i=r.byteLength,o=parseInt(String(i/255),10),n=i%255,a=[];a.push(0,0,0,1,6,t);for(let c=0;c<o;c++)a.push(255);a.push(n);let s=new DataView(r);return a.push(...new Uint8Array(s.buffer)),a.push(128),new tB(new DataView(new Uint8Array(a).buffer),!0)}function oj(e){let{frame:t,seiMessageList:r}=e;if(!r||0===r.length||0===t.data.byteLength)return t;let i=9-function(e){let t=0,r=0,i=new DataView(e);for(let o=0;o<e.byteLength;o++)switch(i.getUint8(o)){case 0:t++;break;case 1:(2===t||3===t)&&r++,t=0;break;default:t=0}return r}(t.data);if(i<=0)return t;let o=r.splice(0,i).reverse().map(ij),n=o.reduce(((e,t)=>e+t.dataView.byteLength),0),a=new ArrayBuffer(n+t.data.byteLength),s=new DataView(a),c=new DataView(t.data),l=0;for(let d=0;d<o.length;d++)for(let e=0;e<o[d].dataView.byteLength;e++)s.setInt8(l++,o[d].dataView.getInt8(e));for(let d=0;d<t.data.byteLength;d++)s.setInt8(l++,c.getInt8(d));return t.data=a,t}function nj(e){let{frame:t,onSEI:r}=e;try{let e=new DataView(t.data);if(function(e){return"empty"===e.type||0===e.data.byteLength}(t)||!function(e){return 1===e.getInt32(0)&&6===e.getInt8(4)}(e))return t;let i=[],o=0,n=-1,a=-1;for(let r=0;r<t.data.byteLength;r++){let s=e.getUint8(r);if(0===s)o++;else if(1===s){if(2===o||3===o){let s=r-o;if(-1===n?n=s:-1===a&&(a=s,i.push(new tB(new DataView(e.buffer.slice(n,a)))),n=s,a=-1),6!==e.getUint8(r+1)){t.data=e.buffer.slice(s);break}}o=0}else o=0}null==r||r(i.reverse())}catch(Rw){}return t}var aj=0,sj=class e{constructor(e){this.core=e,ow(this,"log"),ow(this,"_seiMessageList",[]),ow(this,"_smallSeiMessageList",[]),ow(this,"_subStreamSeiMessageList",[]),aj++,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(aj)}),this.log.info("[sei] created id=".concat(this.getAlias()).concat(aj)),this.encode=this.encode.bind(this),this.decode=this.decode.bind(this)}encode(e){let{frame:t,mediaType:r}=e;try{return oj({frame:t,seiMessageList:8===r?this._smallSeiMessageList:2===r?this._subStreamSeiMessageList:this._seiMessageList})}catch(DC){this.log.warn(DC)}return t}decode(e){let{frame:t,track:r}=e;return nj({frame:t,onSEI:e=>{e.forEach((e=>{this.core.trtc.emit(fW.SEI_MESSAGE,{seiPayloadType:e.seiPayloadType,data:e.seiPayload.buffer,userId:r.userId,streamType:2===r.mediaType?"sub":"main"})}))}})}destroy(){this.log.debug("destory"),this.stop(),delete this.core}getValidateRule(e){switch(e){case"start":case"update":case"stop":return{type:"object"}}}start(){this.core.room.videoManager.addEncodeProcessor({processor:dP?this.encode:oj,type:2}),this.core.room.videoManager.addDecodeProcessor({processor:dP?this.decode:nj,type:2})}stop(){this.core.room.videoManager.removeEncodeProcessor({type:2}),this.core.room.videoManager.removeDecodeProcessor({type:2})}update(e){let{buffer:t,options:r}=e;var i;let o=[r.seiPayloadType,t],n=!!r.small;r.toSubStream?this._subStreamSeiMessageList.push(o):(this._seiMessageList.push(o),n&&this._smallSeiMessageList.push(o)),null==(i=this.core.room.scriptTransformWorker)||i.postMessage({type:"sei",data:o,isMain:!r.toSubStream,small:n})}getName(){return e.Name}getAlias(){return"sei"}getGroup(){return"sei"}};ow(sj,"autoStart",!0),ow(sj,"Name","SEI");var cj=sj;function lj(e){let{frame:t,onDump:r}=e;return null==r||r(),t}function dj(e){let{frame:t,onDump:r}=e;return null==r||r(),t}var uj={"play() error: NotAllowedError:":{tips:e=>e.includes("main <video>")||e.includes("main <audio>")?"Remote stream auto play is restricted and playback fails":"Local stream playback failure, generally only occurs in Android WeChat devices, no need to handle",color:"red",class:"red"},"updateStream() try to recover local stream":{tips:"Device acquisition exception, automatic recovery is in progress"},"updateStream() recover local stream successfully":{tips:"Device acquisition exception, automatic recovery is successful"},"updateStream() failed to recover local stream":{tips:"Device acquisition exception, automatic recovery failed"},"main stream - video track is muted":{tips:"Indicates that the received video data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - audio track is muted":{tips:"Indicates that the received audio data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"auxiliary stream - video track is muted":{tips:"Indicates that the received screen sharing data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - video track is unable to provide media output":{tips:"Indicates that the received video data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - audio track is unable to provide media output":{tips:"Indicates that the received audio data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"auxiliary stream - video track is unable to provide media output":{tips:"Indicates that the received screen sharing data is not enough for playback. This is usually caused by network reasons. When enough data is received for playback, the state will change to unmuted."},"main stream - video track is unmuted":{tips:"Received enough playback video data"},"main stream - audio track is unmuted":{tips:"Received enough playback audio data"},"auxiliary stream - video track is unmuted":{tips:"Received enough playback screen sharing data"},"main stream - audio player track is ended":{tips:"Remote audio track stopped"},"main stream - video player track is ended":{tips:"Remote video track stopped"},"auxiliary stream - video player track is ended":{tips:"Received enough playback screen sharing data"},"stream - video track is muted":{tips:"Camera capture is paused, usually due to the device being occupied by other applications or the browser media permission being revoked. The client needs to re-capture.",color:"orange"},"stream - video track is unable to provide media output":{tips:"The camera acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked, and the customer needs to re-acquire. SDK v4.11.4+ will automatically resume acquisition without customer intervention",color:"orange"},"video track is unable to provide media output":{tips:e=>e.includes("↓")?"The remote track is temporarily unable to decode data, which may be caused by network fluctuations":"The camera acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - video player track is ended":{tips:"The camera acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"video player track is ended":{tips:"The camera acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"stream - audio track is muted":{tips:"Microphone capture is paused, usually due to the device being occupied by other applications or the browser media permission being revoked. The client needs to re-capture.",color:"orange"},"audio track is unable to provide media output":{tips:e=>e.includes("↓")?"The remote track is temporarily unable to decode data, which may be caused by network fluctuations":"Microphone acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - audio track is unable to provide media output":{tips:"The microphone acquisition is paused, usually because the device is occupied by other applications or the browser media permissions are revoked. The SDK will automatically resume the acquisition.",color:"orange"},"stream - audio player track is ended":{tips:"The microphone acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"audio player track is ended":{tips:"The microphone acquisition stops, usually because the device is unplugged. In this case, the SDK will automatically resume acquisition, and the access side does not need to handle it. It may also be caused by the device being occupied by other applications or the browser media permissions being reclaimed. It is recommended to remind the user to re-acquire on the page."},"is adding audio track to current published local stream":{tips:"add audio track",color:"orange"},"is removing audio track from current published local stream":{tips:"remove audio track",color:"orange"},"is removing video track from current published local stream":{tips:"remove video track",color:"orange"},"is adding video track to current published local stream":{tips:"add video track",color:"orange"},"is replacing audio track to current published local main stream":{tips:"replace audio track",color:"orange"},"is replacing video track to current published local main stream":{tips:"replace video track",color:"orange"},"downlink network quality change":{tips:"Downstream network quality change: 1: excellent, 2: good, 3: average, 4: poor, 5: extremely poor"},"uplink network quality change":{tips:"Upstream network quality change: 1: excellent, 2: good, 3: average, 4: poor, 5: extremely poor"},"localStream mute video":{tips:"mute upstream video stream",color:"orange"},"localStream unmute video":{tips:"unmute upstream video stream",color:"orange"},"localStream mute audio":{tips:"mute upstream audio stream",color:"orange"},"localStream unmute audio":{tips:"unmute upstream audio stream",color:"orange"},"black detected":{tips:"Detect black screen, which means fps = 0. It is usually caused by network, and the network will be recovered after a while. If the network is normal but has not been restored, it is an abnormal situation."},'main stream start to play with options: {"muted":true}':{tips:"Play the remote stream in silent mode. Generally, the remote stream does not need to be played in silent mode. You need to confirm whether the parameters passed in the client stream.play API call are correct.",color:"orange"},"main stream - audio player is starting playing":{tips:"Remote stream audio playback success",color:"#0dd90d",class:"success"},"main stream - video player is starting playing":{tips:"Remote stream video playback success",color:"#0dd90d",class:"success"},"video player is playing":{tips:"Local video playback success",color:"#0dd90d",class:"success"},"audio player is playing":{tips:"Local audio playback success",color:"#0dd90d",class:"success"},"stream - video player is starting playing":{tips:"Local video playback success",color:"#0dd90d",class:"success"},"stream - audio player is starting playing":{tips:"Local audio playback success",color:"#0dd90d",class:"success"},"switch camera success":{tips:"Switch camera success",color:"#0dd90d",class:"success"},"switch microphone success":{tips:"Switch microphone success",color:"#0dd90d",class:"success"},gotStream:{tips:"Local stream capture success"},"local stream is published successfully":{tips:"Publish success",color:"#0dd90d",class:"success"},"encoderImplementation change to OpenH264":{tips:"Use software encoding"},"encoderImplementation change to ExternalEncoder":{tips:"Use hardware encoding"},"getUserMedia with constraints":{tips:"Start media (camera/microphone) capture"},"getDisplayMedia with constraints":{tips:"Start screen sharing capture"},"client-banned":{tips:"Kicked out of the room",color:"red",class:"red",textColor:"#fff"},user_timeout:{tips:"The backend is too long without receiving SDK heartbeat, which is usually caused by the JS thread being blocked for a long time. If the reproduction probability is high, the application browser Performance tool analyzes where the JS thread is blocked.",color:"red",class:"red",textColor:"#fff"},"schedule failed":{tips:"Signaling request failed, does not affect the normal room entry process, SDK will connect to the default signaling domain."},"updateStream() video flag is true, but no camera detected, set video to false":{tips:"When trying to resume camera acquisition, the camera acquisition is not resumed because it is detected that there is no camera.",color:"orange",class:"orange",textColor:"#fff"},"qualityLimitationReason change to bandwidth":{tips:"bandwidth estimation is not enough to limit the quality of the encoding, which may cause the code rate, frame rate, and resolution to be lowered.",color:"orange",class:"orange",textColor:"#fff"},"qualityLimitationReason change to cpu":{tips:"cpu load is too high to limit the quality of the encoding, which may cause the code rate, frame rate, and resolution to be lowered.",color:"orange",class:"orange",textColor:"#fff"},"visibility change: hidden":{tips:"User page switched to backend, in mobile devices, this will cause the device to pause the capture, and it will be restored when the user switches backend to the frontend.",color:"orange",class:"orange",textColor:"#fff"},"visibility change: visible":{tips:"User page switched to frontend",color:"orange",class:"orange",textColor:"#fff"},"main stream - audio player is paused":{tips:"The remote stream audio playback is paused, which usually has two possibilities:\n 1. The business side passes in the div tag container for playing audio and video to be removed by the business side from the DOM.\n 2. If the user is in Chrome 70 and below, when the div container is moved, the playback will be paused.",color:"orange",class:"orange",textColor:"#fff"},"main stream - video player is paused":{tips:"The remote stream video playback is paused, which usually has two possibilities:\n 1. The business side passes in the div tag container for playing audio and video to be removed by the business side from the DOM.\n 2. If the user is in Chrome 70 and below, when the div container is moved, the playback will be paused.",color:"orange",class:"orange",textColor:"#fff"},'"displaySurface":"window"':{tips:"Screen sharing captures the application window",color:"blue",class:"blue",textColor:"#fff"},'"displaySurface":"monitor"':{tips:"Screen sharing captures the entire screen",color:"blue",class:"blue",textColor:"#fff"},'"displaySurface":"browser"':{tips:"Screen sharing captures a certain tab page",color:"blue",class:"blue",textColor:"#fff"},updateMediaSettings:{tips:"The resolution and frame rate below are the actual resolution and frame rate captured",color:"blue",class:"blue",textColor:"#fff"},"main stream start to play with":{tips:"Call remoteStream.play interface",color:"blue",class:"blue",textColor:"#fff"},"stream start to play with":{tips:"Call localStream.play interface",color:"blue",class:"blue",textColor:"#fff"},"main setAudioVolume to 0":{tips:"Business side calls remoteStream.setAudioVolume(0) interface to set the playback volume to 0, which will cause the playback to be silent",color:"orange",class:"orange",textColor:"#fff"},"screen sharing was stopped because the video track is ended":{tips:"Screen sharing capture stopped, possible reasons: user clicks the stop button, the window/page shared by the user is closed, etc.",color:"orange",class:"orange",textColor:"#fff"},"Join() => joining room":{tips:"Call client.join interface",color:"blue",class:"blue",textColor:"#fff"},"publish() => publishing local stream":{tips:"Call client.publish interface",color:"blue",class:"blue",textColor:"#fff"},"subscribe() => subscribe to":{tips:"Call client.subscribe interface",color:"blue",class:"blue",textColor:"#fff"},"switchRole() => switch role":{tips:"Call client.switchRole interface",color:"blue",class:"blue",textColor:"#fff"}};["enterRoom","exitRoom","switchRole","destroy","startLocalAudio","updateLocalAudio","stopLocalAudio","startLocalVideo","updateLocalVideo","stopLocalVideo","startScreenShare","updateScreenShare","stopScreenShare","startRemoteVideo","updateRemoteVideo","stopRemoteVideo","muteRemoteAudio","setRemoteAudioVolume"].forEach((e=>{uj["".concat(e,"()")]={tips:"Call trtc.".concat(e),color:"blue",class:"blue",textColor:"#fff"}}));var hj,pj=0,mj=class e{constructor(e){this.core=e,ow(this,"_core"),ow(this,"log"),ow(this,"dumpLocalVideoMap",{}),ow(this,"dumpRemoteVideoMap",{}),ow(this,"dialog"),this._core=e,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(++pj)}),this.log.info("created")}getName(){return e.Name}getAlias(){return"dm"}getGroup(){return"dm"}getValidateRule(e){switch(e){case"start":return{name:"StartDebugOptions",required:!1};case"update":return{name:"UpdateDebugOptions",required:!1};case"stop":return{name:"StopDebugOptions",required:!1}}}start(){return aw(this,null,(function*(){var e;!new URLSearchParams(location.search).has("trtcDebug")&&"true"!==(null==(e=window.sessionStorage)?void 0:e.getItem("TRTC_ENABLE_DEBUG_PLUGIN"))||(yield this.openDebugDiaLog(),this.addVideoProcessor())}))}update(e){return aw(this,arguments,(function(e){var t=this;let{visible:r}=e;return function*(){r?(yield t.openDebugDiaLog(),t.addVideoProcessor()):(t.closeDebugDiaLog(),t.removeVideoProcessor())}()}))}stop(){this.closeDebugDiaLog(),this.removeVideoProcessor()}destroy(){this.stop()}openDebugDiaLog(){return aw(this,null,(function*(){var e;if(!this.dialog)try{if(hj)yield hj;else{let t=new URLSearchParams(location.search).get("trtcDebugDialogPath")||(null==(e=window.sessionStorage)?void 0:e.getItem("TRTC_DEBUG_DIALOG_PATH"))||"https://unpkg.com/".concat("trtc-sdk-v5","@").concat(Aw,"/assets/debug-dialog.js");hj=this._core.fileDownloader.loadScript(t),yield hj}this.dialog=new TRTCDebugDialog(this._core,this.log,this.dumpLocalVideoMap,this.dumpRemoteVideoMap),this._core.kvStatManager.addSuccessEvent({key:592705})}catch(Rw){this._core.kvStatManager.addFailedEvent({key:592705}),this.log.error("load debug dialog script failed: ",JSON.stringify(Rw))}}))}closeDebugDiaLog(){this.dialog&&(this.dialog.closeDialog(),this.dialog=null)}addVideoProcessor(){this._core.room.videoManager.addEncodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.encodeVideo.bind(this):lj,type:1}),this._core.room.videoManager.addDecodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.decodeVideo.bind(this):dj,type:1})}removeVideoProcessor(){this._core.room.videoManager.removeEncodeProcessor({type:1}),this._core.room.videoManager.removeDecodeProcessor({type:1})}encodeVideo(e){let{frame:t,mediaType:r}=e;return lj({frame:t,onDump:()=>{if(!r)return;let e=2===r?"sub":"main",i=this.dumpLocalVideoMap[e];i&&(i.data.push(t.data.slice(0)),i.duration>0&&Date.now()-i.startTimestamp>1e3*i.duration&&i.onDumpEnd())}})}decodeVideo(e){let{frame:t,track:r}=e;return dj({frame:t,onDump:()=>{if(!r)return;let e=this.dumpRemoteVideoMap["".concat(r.userId,"-").concat(r.streamType)];e&&(e.data.push(t.data.slice(0)),e.duration>0&&Date.now()-e.startTimestamp>1e3*e.duration&&e.onDumpEnd())}})}};ow(mj,"Name","Debug"),ow(mj,"autoStart",!0);var fj=mj,_j=e=>{switch(e){case"webCodecs":return 504703;case"wasm":return 504704}throw new Error("decoder type not supported")},gj=class{constructor(e,t,r){ow(this,"trackDoneOB"),ow(this,"startOB"),ow(this,"stopOB"),ow(this,"inputFrameCount",0),ow(this,"decodedFrameCount",0),ow(this,"type","auto"),ow(this,"config"),ow(this,"decoder"),ow(this,"_decodeSink");let{kvStatManager:i,trtc:o}=e;this.config=r.config,this.trackDoneOB=AV(t,FP.INIT),this.stopOB=dV(),this.startOB=dV(),"auto"===r.type?this.type="webCodecs":this.type=r.type;let n=dV();jU(this.startOB,nV(0),IF((e=>{let r=this.pipe(t);return n.next("STARTING"),t.log.info("decoder type: ".concat(this.type)),jU(r,zV(this.stopOB),KF((()=>{}),(r=>{t.log.error(r),i.addFailedEvent({key:_j(this.type),error:r}),e>4?this.startOB.error(r):this.startOB.next(e+1)}))),jU(r,GV(1),HF(PV))})),zV(this.stopOB),KF((()=>{t.player.setOutput(),n.next("STARTED")}),(e=>{n.next("FAILED")}),(()=>{i.addSuccessEvent({key:_j(this.type)}),i.addSuccessEvent({key:504702})})))}mock(e){this._decodeSink?this._decodeSink.error(e):this.startOB.next(0)}close(e){this.stopOB.next(e)}pipe(e){return $U()((t=>aw(this,null,(function*(){this._decodeSink=t,t.defer((()=>{var e;null==(e=this.decoder)||e.close()}));let{type:r}=this;try{if("webCodecs"===r)this.decoder=new AudioDecoder({error:r=>{e.log.error(r),t.error(4)},output:r=>{this.decodedFrameCount++,t.next(r),e.player.write(r)}});this.decoder.configure(this.config)}catch(sM){e.log.error(sM),t.error("webCodecs"===r?2:6)}}))))}decodeFrame(e){var t;this.inputFrameCount++,"configured"===(null==(t=this.decoder)?void 0:t.state)&&this.decoder.decode(new EncodedAudioChunk({data:e.data,timestamp:e.timestamp,type:"key"}))}},Ej={type:"object"},vj=class e{constructor(e){this.core=e,ow(this,"log"),ow(this,"contextMap",new Map),ow(this,"decodeProcessorMap",new WeakMap),this.log=e.log.createChild({id:"".concat(this.getAlias())})}getAlias(){return e.Name}getGroup(e){return e.track.userId+e.track.streamType}getName(){return e.Name}getValidateRule(e){return Ej}start(e){let{track:t}=e;this.decodeProcessorMap.set(t,this.decode(e)),this.core.room.audioManager.addDecodeProcessor({processor:e=>{let{frame:t,track:r}=e;return this.decodeProcessorMap.has(r)?this.decodeProcessorMap.get(r)({frame:t,track:r}):t},type:3})}decode(e){return t=>{let{frame:r,track:i}=t;if(i!==e.track)return r;if(this.contextMap.has(i))return this.contextMap.get(i).decodeFrame(r);let o=new gj(this.core,i,e);return jU(o.trackDoneOB,GV(1),KF((()=>{this.core.clearStarted(this,this.getGroup(e)),this.stop({track:i})}))),this.contextMap.set(i,o),o.decodeFrame(r)}}stop(e){let{track:t}=e,r=this.contextMap.get(t);r&&(r.close("stop"),this.contextMap.delete(t),0===this.contextMap.size&&this.core.room.audioManager.removeDecodeProcessor({type:3}))}update(e){let t=this.contextMap.get(e.track);if(t){if("mock"===e.type)return void t.mock(10);t.close("update"),this.contextMap.set(e.track,new gj(this.core,e.track,e))}}};ow(vj,"Name","TRTCAudioDecoder");var yj=vj,Tj=class{constructor(){ow(this,"log"),this.log=$O.createLogger({id:"exp"})}call(e,t){return aw(this,null,(function*(){return WD(this[e])?this[e](t):Promise.reject(new fw({code:pw.INVALID_PARAMETER,message:uL({key:sL.API_NOT_EXIST,data:{name:e}})}))}))}enableAudioFrameEvent(e){return aw(this,null,(function*(){let{trtcInstance:t,enable:r,userId:i,sampleRate:o=48e3,channelCount:n=1,port:a}=e,{audioManager:s}=t.room,{getPCMAbortCtrlMap:c,audioFrameEventConfigMap:l}=s;if(l.set(i,{enable:r,sampleRate:o,channelCount:n,port:a}),r)if("*"===i)t.room.remotePublishedUserMap.forEach((e=>{if(e.remoteAudioTrack.isAvailable){if(c.get(e.userId))return;let r=s.getPCM((e=>{t.emit(fW.AUDIO_FRAME,e)}),e.userId);c.set(e.userId,r)}}));else{if(c.get(i))return;let e=s.getPCM((e=>{t.emit(fW.AUDIO_FRAME,e)}),i);c.set(i,e)}else if("*"===i)t.room.remotePublishedUserMap.forEach((e=>{if(e.remoteAudioTrack.isSubscribed){let{userId:t}=e,r=c.get(t);null==r||r.abort("disable"),c.delete(t)}}));else{let e=c.get(i);null==e||e.abort("disable"),c.delete(i)}}))}resumeRemotePlayer(e){return aw(this,null,(function*(){if("*"===e.userId){let t=[];return e.trtcInstance.room.remotePublishedUserMap.forEach((r=>{let{remoteAudioTrack:i,remoteVideoTrack:o,remoteAuxiliaryTrack:n}=r;e.streamType?"main"===e.streamType?(i.isAvailable&&t.push(i.player.resume()),o.isAvailable&&t.push(o.player.resume())):n.isAvailable&&t.push(n.player.resume()):(i.isAvailable&&t.push(i.player.resume()),o.isAvailable&&t.push(o.player.resume()),n.isAvailable&&t.push(n.player.resume()))})),Promise.all(t)}let t=e.trtcInstance.room.remotePublishedUserMap.get(e.userId);if(t)return"main"===e.streamType?Promise.all([t.remoteAudioTrack.player.resume(),t.remoteVideoTrack.player.resume()]):t.remoteAuxiliaryTrack.player.resume()}))}pauseRemotePlayer(e){if("*"===e.userId)e.trtcInstance.room.remotePublishedUserMap.forEach((t=>{let{remoteAudioTrack:r,remoteVideoTrack:i,remoteAuxiliaryTrack:o}=t;e.streamType?"main"===e.streamType?(r.isAvailable&&r.player.pause(),i.isAvailable&&i.player.pause()):o.isAvailable&&o.player.pause():(r.isAvailable&&r.player.pause(),i.isAvailable&&i.player.pause(),o.isAvailable&&o.player.pause())}));else{let t=e.trtcInstance.room.remotePublishedUserMap.get(e.userId);t&&("main"===e.streamType?(t.remoteAudioTrack.player.pause(),t.remoteVideoTrack.player.pause()):t.remoteAuxiliaryTrack.player.pause())}}};iw([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return SU(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return qB.call(this,t,o,r,this._name),e.apply(this,o)}))}({name:"options",type:"object",required:!0,properties:{enable:{required:!0,type:"boolean"},userId:{required:!0,type:"string"},sampleRate:{type:"number",values:[8e3,16e3,32e3,44100,48e3]},channelCount:{type:"number",values:[1,2]},port:{type:"messageport"}}})],Tj.prototype,"enableAudioFrameEvent",1);var Ij=new Tj,Aj=rw(sw(),1),Sj=class extends Aj.EventEmitter{constructor(){super(),ow(this,"states",{}),ow(this,"permissionChangeHandler"),ow(this,"log"),this.log=$O.createLogger({id:"pm"}),this.permissionChangeHandler=()=>{var e,t;this.emit("permission-state-change",{camera:null==(e=this.states.camera)?void 0:e.state,microphone:null==(t=this.states.microphone)?void 0:t.state})}}request(e){return aw(this,null,(function*(){if(this.log.info("request ".concat(e.join(", "))),0===e.length)return Promise.resolve();(yield navigator.mediaDevices.getUserMedia({video:e.includes("camera"),audio:e.includes("microphone")})).getTracks().forEach((e=>e.stop()))}))}get(e){return aw(this,null,(function*(){try{return this.states[e]||(this.states[e]=yield navigator.permissions.query({name:e}),this.states[e].addEventListener("change",this.permissionChangeHandler)),this.log.info("get ".concat(e," permission state: ").concat(this.states[e].state)),this.states[e].state}catch(DC){return this.log.error("get ".concat(e," permission failed, error: ").concat(DC instanceof Error?DC.message:DC)),null}}))}destroy(){Object.values(this.states).forEach((e=>{null==e||e.removeEventListener("change",this.permissionChangeHandler)})),this.states={}}},Rj=new Sj,bj=0,wj=new Set,Cj=null;Sw(LW),ZO.checkStorage();var Dj=class e extends OH.EventEmitter{constructor(t,r){super(),ow(this,"_room"),ow(this,"_eventListened",new Set),ow(this,"_localVideoTrack",null),ow(this,"_localAudioTrack",null),ow(this,"_localScreenTrack",null),ow(this,"_localScreenAudioTrack",null),ow(this,"_localVideoConfig",null),ow(this,"_localScreenConfig",null),ow(this,"_localAudioConfig",null),ow(this,"_remoteVideoConfigMap",new Map),ow(this,"_remoteAudioConfigMap",new Map),ow(this,"_remoteAudioVolumeMap",new Map),ow(this,"_remoteAudioMuteMap",new Map),ow(this,"_mediaTrackMap",new WeakMap),ow(this,"_log",$O.createLogger({id:"t".concat(++bj)})),ow(this,"_plugins",new Map),ow(this,"_networkQuality",null),ow(this,"_speakerId"),ow(this,"enterRoomParams"),ow(this,"_enableAutoSwitchWhenRecapturing",!0),this._room=new t(Qb({logger:this._log,frameWorkType:e.frameWorkType},r)),this._room.videoDecodeFallbackType=r.videoDecodeFallback,KD(r.enableAutoSwitchWhenRecapturing)&&(this._enableAutoSwitchWhenRecapturing=r.enableAutoSwitchWhenRecapturing),this._log.info("create() ".concat(JSON.stringify(r,((e,t)=>"plugins"===e?t.map((e=>e.Name)):t)))),Object.defineProperties(this,{dumpAudio:{enumerable:!1,value(e){return this._room.audioManager.dump(e)}}}),r.plugins&&r.plugins.forEach((e=>{this._use(e,r.assetsPath)})),this._use(XW,r.assetsPath),this._use(GW,r.assetsPath),this._use(ZW,r.assetsPath),this._use(yj,r.assetsPath),this._use(fj),r.enableSEI&&hP&&this._use(cj),this._room.on("audio-volume",(e=>{var t,i;!e.find((e=>""===e.userId))&&this._localAudioTrack&&e.push({userId:"",volume:Math.floor(100*(null!=(t=this._localAudioTrack.getInternalAudioLevelAfter3A())?t:this._localAudioTrack.getAudioLevel())),floatVolume:null!=(i=this._localAudioTrack.getInternalAudioLevelAfter3A())?i:this._localAudioTrack.getInternalAudioLevel()}),1===r.volumeType&&e.forEach((e=>{var t;let r=""===e.userId?this._localAudioTrack:null==(t=this.room.remotePublishedUserMap.get(e.userId))?void 0:t.remoteAudioTrack;r&&(e.volume=r.dbVolume)})),r.enableDbVolume&&e.forEach((e=>{var t;let r=""===e.userId?this._localAudioTrack:null==(t=this.room.remotePublishedUserMap.get(e.userId))?void 0:t.remoteAudioTrack;r&&(e.volume=r.dbVolume)})),this.emit(fW.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on("error",(e=>{this._log.error(new WH({code:UH.OPERATION_FAILED,extraCode:5504,message:e.message,originError:e}))})),this._listenEvents(),this._initActiveSpeaker(),((e,t)=>{let{emit:r}=e;e.emit=function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{return r.apply(e,o)}catch(sM){let r=uL({key:sL.CATCH_HANDLER_ERROR,data:{name:t,event:o[0]},addDocLink:!1});return $O.warn("".concat(r,"\n\n").concat(sM.stack)),!1}}})(this,"trtc")}static create(e){}static _create(t,r){!function(){var e;if(PH){PH=!1,5!==$O.getLogLevel()&&(console.info("******************************************************************************"),console.info("* TRTC Web SDK"),console.info("* API Document: ".concat(xw,"/en/index.html")),console.info("* Changelog: ".concat(xw,"/en/tutorial-01-info-changelog.html")),console.info("* Report issues: https://github.com/LiteAVSDK/TRTC_Web/issues"),console.info("******************************************************************************")),$O.info("TRTC Web SDK Version:",Aw),wO||$O.debug("Build Time:","2025-10-29 16:29:37");let t="UA: ".concat(navigator.userAgent," \nCPU core: ").concat(navigator.hardwareConcurrency,", GPU: ").concat(PO()),r=navigator.deviceMemory;r&&(t+=", minRAM: ".concat(r,"GB")),$O.info(t),$O.info("URL: ".concat(location.href).concat("IFRAME"===(null==(e=self.frameElement)?void 0:e.tagName)?" in iframe":"")),LO().then((e=>{e&&$O.info(MO)}))}}();let i=new e(t,r||{});return wj.add(i),i.__v_skip=!0,i}get room(){return this._room}_listenEvents(){JP(this,this._room).add("peer-join",(e=>{let{userId:t}=e;this.emit(fW.REMOTE_USER_ENTER,{userId:t})})).add("peer-leave",(e=>{this.emit(fW.REMOTE_USER_EXIT,{userId:e})})).add("banned",(e=>{this._exitRoom().finally((()=>{this.emit(fW.KICKED_OUT,{reason:e.reason})}))})).add("error",(e=>{this._exitRoom().finally((()=>{this.emit(fW.ERROR,WH.convertFrom(e))}))})).add("signal-connection-state-changed",(e=>{this.emit(fW.CONNECTION_STATE_CHANGED,e)})).add("network-quality",(e=>{this._networkQuality=e;let t=Zb(Qb({},e),{uplinkRTT:Math.min(e.uplinkRTT,rD),downlinkRTT:Math.min(e.downlinkRTT,rD)});this.emit(fW.NETWORK_QUALITY,t)})).add("remote-published",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{JP(t,t).add("player-state-changed",(r=>{let i=Zb(Qb({},r),{userId:e.userId});t.kind===tC.VIDEO&&(i.streamType=jH(t.streamType)),this.emit(t.kind===tC.AUDIO?fW.AUDIO_PLAY_STATE_CHANGED:fW.VIDEO_PLAY_STATE_CHANGED,i)})).add("error",(e=>{e.getCode()===pw.PLAY_NOT_ALLOWED&&this.emit(fW.AUTOPLAY_FAILED,{userId:t.userId,mediaType:t.strMediaType,resume:()=>t.player.resume()})}))}))})).add("remote-unpublished",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{XP(e)}))})).add("remote-publish-state-changed",(e=>{let{prevMuteState:t,muteState:r}=e,{userId:i}=r,o=t.audioAvailable,n=t.videoAvailable,{audioAvailable:a,videoAvailable:s}=r;a||this._remoteAudioConfigMap.delete(i),s||this._removeRemoteVideoConfig(i,"main"),r.hasAuxiliary||this._removeRemoteVideoConfig(i,"sub"),n!==s&&(s?this._onVideoAvailable({userId:i,streamType:"main"}):this._onVideoUnavailable({userId:i,streamType:"main"}),this.emit(s?fW.REMOTE_VIDEO_AVAILABLE:fW.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"main"})),o!==a&&(a?this._onAudioAvailable({userId:i}):this._onAudioUnavailable({userId:i,muteState:r}),this.emit(a?fW.REMOTE_AUDIO_AVAILABLE:fW.REMOTE_AUDIO_UNAVAILABLE,{userId:i})),t.hasAuxiliary!==r.hasAuxiliary&&(r.hasAuxiliary?this._onVideoAvailable({userId:i,streamType:"sub"}):this._onVideoUnavailable({userId:i,streamType:"sub"}),this.emit(r.hasAuxiliary?fW.REMOTE_VIDEO_AVAILABLE:fW.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"sub"}))})).add("sei-message",(e=>{this.emit(fW.SEI_MESSAGE,Zb(Qb({},e),{streamType:jH(e.streamType)}))})).add("firewall-restriction",(()=>{this.emit(fW.ERROR,new WH({code:UH.OPERATION_FAILED,extraCode:5501}))})).add("heartbeat-report",(e=>{var t,r,i,o,n,a,s;let c={2:"big",3:"small",7:"sub"},l={rtt:Math.min(e.msg_up_stream_info.msg_network_status.uint32_rtt||(null==(t=e.msg_down_stream_info[0])?void 0:t.msg_network_status.uint32_rtt)||(null==(r=this._networkQuality)?void 0:r.uplinkRTT)||(null==(i=this._networkQuality)?void 0:i.downlinkRTT)||0,rD),upLoss:(null==(o=this._networkQuality)?void 0:o.uplinkLoss)||0,downLoss:(null==(n=this._networkQuality)?void 0:n.downlinkLoss)||0,bytesSent:e.bytes_sent||0,bytesReceived:e.bytes_received||0,localStatistics:{audio:{bitrate:((null==(a=e.msg_up_stream_info.msg_audio_status)?void 0:a.uint32_audio_codec_bitrate)||0)/1e3,audioLevel:((null==(s=e.msg_up_stream_info.msg_audio_status)?void 0:s.uint32_audio_level)||0)/qM},video:e.msg_up_stream_info.msg_video_status.filter((e=>c[e.uint32_video_stream_type])).map((e=>({bitrate:(e.uint32_video_codec_bitrate||0)/1e3,width:e.uint32_video_width,height:e.uint32_video_height,frameRate:e.uint32_video_enc_fps,videoType:c[e.uint32_video_stream_type]})))},remoteStatistics:e.msg_down_stream_info.map((e=>({userId:e.msg_user_info.str_identifier,audio:{bitrate:(e.msg_audio_status.uint32_audio_codec_bitrate||0)/1e3,audioLevel:(e.msg_audio_status.uint32_audio_level||0)/qM,point2pointDelay:(e.msg_audio_status.uint32_audio_p2p_delay||0)+(e.msg_audio_status.uint32_audio_cache_ms||0),jitterBufferDelay:e.msg_audio_status.uint32_audio_cache_ms||0},video:e.msg_video_status.map((e=>({bitrate:(e.uint32_video_codec_bitrate||0)/1e3,width:e.uint32_video_width,height:e.uint32_video_height,frameRate:e.uint32_video_dec_fps,videoType:c[e.uint32_video_stream_type],point2pointDelay:(e.uint32_video_p2p_delay||0)+(e.uint32_video_cache_ms||0),jitterBufferDelay:e.uint32_video_cache_ms||0,codec:e.uint32_video_codec})))})))};this.emit(fW.STATISTICS,l)})).add("custom-message",(e=>{this.emit(fW.CUSTOM_MESSAGE,e)})).add("layerData",(e=>this.emit(fW.LAYER_DATA,e))).add("first-video-frame",(e=>{this.emit(fW.FIRST_VIDEO_FRAME,Zb(Qb({},e),{streamType:jH(e.streamType)}))})).add("audio-frame",(e=>{this.emit(fW.AUDIO_FRAME,e)})),JP(this,tU).add("audioInputAdded",(e=>{this.emit(fW.DEVICE_CHANGED,{type:"microphone",action:"add",device:e})})).add("audioInputRemoved",(e=>{this.emit(fW.DEVICE_CHANGED,{type:"microphone",action:"remove",device:e})})).add("videoInputAdded",(e=>{this.emit(fW.DEVICE_CHANGED,{type:"camera",action:"add",device:e})})).add("videoInputRemoved",(e=>{this.emit(fW.DEVICE_CHANGED,{type:"camera",action:"remove",device:e})})).add("audioOutputAdded",(e=>aw(this,null,(function*(){if(this.emit(fW.DEVICE_CHANGED,{type:"speaker",action:"add",device:e}),Cj&&Cj.deviceId===JC){let e=(yield sU()).find((e=>e.deviceId===JC));e&&Cj.groupId!==e.groupId&&(Cj=e,this.emit(fW.DEVICE_CHANGED,{type:"speaker",action:"active",device:e}))}})))).add("audioOutputRemoved",(e=>aw(this,null,(function*(){this.emit(fW.DEVICE_CHANGED,{type:"speaker",action:"remove",device:e});let t=(yield sU())[0];if(!t||!Cj||Cj.groupId===t.groupId)return;let r=Cj.deviceId===e.deviceId,i=Cj.deviceId===JC&&Cj.deviceId===t.deviceId;(r||i)&&(Cj=t,this.emit(fW.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}))})))),JP(this,Rj).add("permission-state-change",(e=>{this.emit(fW.PERMISSION_STATE_CHANGE,e)}))}getNetworkTime(){return gw()}use(e){let t,r;return"plugin"in e?(t=e.plugin,r=e.assetsPath):t=e,"Chorus"===t.Name&&(this.room.enableChorus=!0),this._use(t,r)}_use(t,r){let i=this._plugins.get(t.Name);if(i)return this._log.warn("duplicate install plugin",t.Name),i;let o=new t(OW.call(this,{TRTC:e,room:this._room,assetsPath:r,errorModule:{RtcError:WH,ErrorCode:UH,CoreErrorCode:pw,ErrorCodeDictionary:VH}}));return this._plugins.set(t.Name,o),o.__v_skip=!0,t.autoStart&&this.startPlugin(t.Name),o}enterRoom(t){return aw(this,null,(function*(){var r,i;this.enterRoomParams=t;let{scene:o="rtc",enableAutoPlayDialog:n=!0,autoReceiveAudio:a=!0,autoReceiveVideo:s=!1}=t;t.proxy&&(this._room.setProxyServer(t.proxy),!GD(t.proxy)&&t.proxy.turnServer&&(null==(i=(r=this._room).setTurnServer)||i.call(r,t.proxy.turnServer,t.proxy.iceTransportPolicy))),this._room.enableAutoPlayDialog=n,this._room.autoReceiveAudio=a,this._room.autoReceiveVideo=s,KD(t.preferHW)&&(this._room.preferHW=t.preferHW),t.playoutDelay&&(this._room.playoutDelay=t.playoutDelay),t.jitterBufferDelay&&(this._room.jitterBufferDelay=t.jitterBufferDelay);let c={sdkAppId:t.sdkAppId,userId:t.userId,userSig:t.userSig,privateMapKey:t.privateMapKey||null,latencyLevel:t.latencyLevel,role:"audience"===t.role?21:20,roomId:t.roomId||0,strRoomId:t.strRoomId||"",businessInfo:t.businessInfo||null,streamId:null,userDefineRecordId:t.userDefineRecordId||null,frameWorkType:t.frameWorkType,component:t.component,language:t.language,priority:t.priority,useVp8:t.useVp8,useH265:t.useH265,keepAlive:t.keepAlive};t.strRoomId&&!t.roomId?this._room.useStringRoomId=!0:this._room.useStringRoomId=!1,yield this._room.join(c,o,e.frameWorkType),this._checkTrackToPublish(),rj.start()}))}exitRoom(){return aw(this,null,(function*(){return yield this._exitRoom()}))}switchRoom(e){return aw(this,null,(function*(){if(this.room.isSwitchRoomSupported())try{this._clearRemoteTracks(),yield this._room.switchRoom(e)}catch(DC){if(!(DC instanceof mw)||DC.code!==pw.API_CALL_TIMEOUT&&DC.code!==pw.SWITCH_ROOM_FAILED)throw DC;this._log.warn("switchRoom ".concat(DC.code===pw.API_CALL_TIMEOUT?"timeout":"failed",", fallback to exitRoom() and enterRoom()")),yield this._rejoinRoom(e)}else yield this._rejoinRoom(e)}))}_rejoinRoom(e){return aw(this,null,(function*(){yield this.exitRoom();let t=Qb(Qb({},this.enterRoomParams),e);yield this.enterRoom(t)}))}_clearRemoteTracks(){new Set([...this._remoteAudioConfigMap.keys(),...this._remoteAudioMuteMap.keys()]).forEach((e=>{this._stopRemoteAudio({userId:e}).catch((()=>{}))})),[...this._remoteVideoConfigMap.keys()].forEach((e=>{let t=e.includes("main")?"main":"sub",r=e.split("_".concat(t))[0];r&&this._stopRemoteVideo({userId:r,streamType:t}).catch((()=>{}))})),this._remoteVideoConfigMap.clear(),this._remoteAudioConfigMap.clear(),this._remoteAudioMuteMap.clear(),function(e){let t=MW.get(e);t&&(t.forEach((e=>clearTimeout(e))),MW.delete(e))}(this),this._room.remotePublishedUserMap.forEach((e=>{XP(e.remoteAudioTrack),XP(e.remoteVideoTrack),XP(e.remoteAuxiliaryTrack)}))}switchRole(e,t){return aw(this,null,(function*(){null!=t&&t.privateMapKey&&(this._room.privateMapKey=t.privateMapKey),null!=t&&t.latencyLevel&&(this._room.latencyLevel=t.latencyLevel),yield this._room.switchRole(e),"anchor"===e&&this._checkTrackToPublish()}))}destroy(){this._plugins.forEach((e=>{var t;return null==(t=e.destroy)?void 0:t.call(e)})),this._plugins.clear(),XP(this),this.removeAllListeners(),this._room.destroy(),wj.delete(this),0===wj.size&&rj.destroy(),this._localAudioTrack&&this.stopLocalAudio(),this._localVideoTrack&&this.stopLocalVideo(),this._localScreenTrack&&this.stopScreenShare(),KO.off("102",this._onLocalTrackCaptured,this)}startLocalAudio(){return aw(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0};return function*(){if(e._localAudioTrack)return void e._log.warn("local audio is already started");let{publish:r=!0,mute:i,option:o}=t,n=new eB(e._room.audioManager),a={},s={muted:!0};o&&(jD(o.microphoneId)?jD(o.audioTrack)||(a.customSource=o.audioTrack):a.deviceId=o.microphoneId,o&&zD(o.captureVolume)&&n.setCaptureVolume(o.captureVolume),jD(o.profile)||(GD(o.profile)?Xw[o.profile]&&n.setProfile(Xw[o.profile]):n.setProfile(o.profile)),zD(o.earMonitorVolume)&&(s.muted=!(o.earMonitorVolume>0),s.volume=o.earMonitorVolume),jD(o.echoCancellation)||(n.profile.echoCancellation=o.echoCancellation),jD(o.noiseSuppression)||(n.profile.noiseSuppression=o.noiseSuppression),jD(o.autoGainControl)||(n.profile.autoGainControl=o.autoGainControl),KD(e._enableAutoSwitchWhenRecapturing)&&(n.enableAutoSwitchWhenRecapturing=e._enableAutoSwitchWhenRecapturing)),n.on("5",(t=>{e.emit(fW.ERROR,new WH({code:UH.DEVICE_ERROR,extraCode:5309,messageParams:{error:t}}))})),n.on("2",(t=>{e.emit(fW.DEVICE_CHANGED,{type:"microphone",action:"active",device:t})})),n.on("4",(t=>{let r;t.error&&(r=WH.convertFrom(t.error)),e.emit(fW.PUBLISH_STATE_CHANGED,Zb(Qb({},t),{error:r}))})),n.on("6",(()=>{e.emit(fW.ERROR,new WH({code:UH.OPERATION_FAILED,extraCode:5506,message:"audio encode failed"}))})),e._listenOutputTrackChanged(n),e._speakerId&&n.setAudioOutput(e._speakerId),yield n.capture(a),jD(i)||n.setMute(i),JP(n,n).add("player-state-changed",(t=>{e.emit(fW.AUDIO_PLAY_STATE_CHANGED,Zb(Qb({},t),{userId:""}))})),r&&e._room.isJoined&&e._room.publish(n).catch((()=>{})),e._localAudioTrack=n,e._localAudioConfig=Zb(Qb({},t),{publish:r}),yield e._updateAudioPlayOption({playOption:s,track:n}),KO.emit("113",{userId:"",room:e.room})}()}))}updateLocalAudio(e){return aw(this,null,(function*(){if(!this._localAudioTrack||!this._localAudioConfig)return;let{publish:t,mute:r,option:i}=e,o={};i&&(i.microphoneId?yield this._localAudioTrack.switchDevice(i.microphoneId):jD(i.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(i.audioTrack)),jD(i.captureVolume)||this._localAudioTrack.setCaptureVolume(i.captureVolume),jD(i.earMonitorVolume)||(o.muted=!(i.earMonitorVolume>0),o.volume=i.earMonitorVolume),yield this._localAudioTrack.update3A(i)),this._room.isJoined&&!jD(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),jD(r)||this._localAudioTrack.setMute(r),yield this._updateAudioPlayOption({playOption:o,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),uN(this._localAudioConfig,e)}))}stopLocalAudio(){return aw(this,null,(function*(){this._localAudioTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),KO.emit("114",{userId:"",room:this.room}),this._localAudioTrack.stop(),this._localAudioTrack.close(),this._room.audioManager.removeInput(this._localAudioTrack),XP(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null)}))}startLocalVideo(){return aw(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null,capture:!0};return function*(){var r;if(e._localVideoTrack)return void e._log.warn("local video is already started");let{view:i,publish:o=!0,capture:n=!0,mute:a,option:s}=t,c=new oB(e._room.videoManager),l={},d={};s&&(KD(s.avoidCropping)&&(c.avoidCropping=s.avoidCropping),s.cameraId?l.deviceId=s.cameraId:jD(s.useFrontCamera)?jD(s.videoTrack)||(l.customSource=s.videoTrack):l.facingMode=s.useFrontCamera?tC.FACING_MODE_USER:tC.FACING_MODE_ENVIRONMENT,jD(s.retryWhenExactFailed)||(l.retryWhenExactFailed=s.retryWhenExactFailed),s.qosPreference&&(l.contentHint=GH(s.qosPreference)),jD(s.profile)||(GD(s.profile)?$w[s.profile]&&c.setProfile($w[s.profile]):c.setProfile(s.profile)),jD(s.fillMode)||(d.objectFit=s.fillMode),jD(s.mirror)||(d.mirror=s.mirror),jD(s.small)||(jD(s.smallMode)||(e._room.smallMode=s.smallMode),KD(s.small)&&!1===s.small?c.stopSmall():c.updateSmallConfig(zH(s.small,!0))),jD(s.rotation)||c.setRotation(s.rotation),KD(e._enableAutoSwitchWhenRecapturing)&&(c.enableAutoSwitchWhenRecapturing=e._enableAutoSwitchWhenRecapturing)),c.once("first-video-frame",(t=>{e.emit(fW.FIRST_VIDEO_FRAME,Zb(Qb({},t),{streamType:jH(t.streamType)}))})),c.on("5",(t=>{e.emit(fW.ERROR,new WH({code:UH.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),c.on("2",(t=>{e.emit(fW.DEVICE_CHANGED,{type:"camera",action:"active",device:t})})),c.on("4",(t=>{let r;t.error&&(r=WH.convertFrom(t.error)),e.emit(fW.PUBLISH_STATE_CHANGED,Zb(Qb({},t),{error:r}))})),c.on("6",(()=>{e.emit(fW.ERROR,new WH({code:UH.OPERATION_FAILED,extraCode:5505,message:"video encode failed"}))})),e._listenOutputTrackChanged(c),n?yield c.capture(l):null==(r=c.manager)||r.changeInput(c),jD(a)||(yield c.setMute(a)),JP(c,c).add("player-state-changed",(t=>{e.emit(fW.VIDEO_PLAY_STATE_CHANGED,Zb(Qb({},t),{userId:"",streamType:"main"}))})).add("video-size-changed",(t=>{e.emit(fW.VIDEO_SIZE_CHANGED,Zb(Qb({},t),{streamType:jH(t.streamType)}))})),o&&e._room.isJoined&&e._room.publish(c).catch((()=>{})),e._localVideoTrack=c,e._localVideoConfig=Zb(Qb({},t),{view:i,publish:o,capture:n}),yield e._updateVideoPlayOption({view:i,playOption:d,track:c})}()}))}updateLocalVideo(e){return aw(this,null,(function*(){var t,r,i;if(!this._localVideoTrack||!this._localVideoConfig)return;let{view:o,publish:n,mute:a,capture:s,option:c}=e,l={};if(this._localVideoConfig.capture)!1!==s?null!=c&&c.cameraId?yield this._localVideoTrack.switchDevice(null==c?void 0:c.cameraId):jD(null==c?void 0:c.useFrontCamera)?jD(null==c?void 0:c.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(null==c?void 0:c.videoTrack)):yield this._localVideoTrack.switchDevice(null!=c&&c.useFrontCamera?tC.FACING_MODE_USER:tC.FACING_MODE_ENVIRONMENT):this._localVideoTrack.stopCapture();else if(s){let e={};e.deviceId=(null==c?void 0:c.cameraId)||(null==(t=this._localVideoConfig.option)?void 0:t.cameraId),e.facingMode=null!=c&&c.useFrontCamera||null!=(r=this._localVideoConfig.option)&&r.useFrontCamera?tC.FACING_MODE_USER:tC.FACING_MODE_ENVIRONMENT,e.customSource=(null==c?void 0:c.videoTrack)||(null==(i=this._localVideoConfig.option)?void 0:i.videoTrack),yield this._localVideoTrack.capture(e)}c&&(jD(c.profile)||(GD(c.profile)?$w[c.profile]&&this._localVideoTrack.setProfile($w[c.profile]):this._localVideoTrack.setProfile(c.profile),(!c.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(c.cameraId))&&jD(c.useFrontCamera)&&(yield this._localVideoTrack.applyProfile())),jD(c.fillMode)||(l.objectFit=c.fillMode),jD(c.mirror)||(l.mirror=c.mirror),jD(c.rotation)||this._localVideoTrack.setRotation(c.rotation),c.qosPreference&&this._localVideoTrack.mediaTrack&&this._localVideoTrack.setContentHint(GH(c.qosPreference)),jD(c.small)||(KD(c.small)&&!c.small?this._localVideoTrack.stopSmall():this._localVideoTrack.updateSmallConfig(zH(c.small,!0)))),this._room.isJoined&&jD(n)&&this._localVideoConfig.publish&&s&&!this._localVideoConfig.capture&&this._room.publish(this._localVideoTrack).catch((()=>{})),this._room.isJoined&&((null!=n?n:this._localVideoConfig.publish)?this._room.publish(this._localVideoTrack).catch((()=>{})):this._room.unpublish(this._localVideoTrack).catch((()=>{}))),jD(a)||(yield this._localVideoTrack.setMute(a)),yield this._updateVideoPlayOption({view:o,playOption:l,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),uN(this._localVideoConfig,e)}))}stopLocalVideo(){return aw(this,null,(function*(){this._localVideoTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),XP(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return aw(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null};return function*(){var r,i;if(e._localScreenTrack)return void e._log.warn("screen share is already started");let{view:o=null,publish:n=!0,muteSystemAudio:a,option:s}=t,c=new LB(e._room.videoManager);c.on("4",(t=>{let r;t.error&&(r=WH.convertFrom(t.error)),e.emit(fW.PUBLISH_STATE_CHANGED,Zb(Qb({},t),{error:r}))})),c.once("first-video-frame",(t=>{e.emit(fW.FIRST_VIDEO_FRAME,Zb(Qb({},t),{streamType:jH(t.streamType)}))})),e._listenOutputTrackChanged(c),"main"===t.streamType&&(c.mediaType=4);let l=null,d={},u={};s&&(jD(s.profile)||(GD(s.profile)?eC[s.profile]&&c.setProfile(eC[s.profile]):c.setProfile(s.profile)),s.systemAudio&&(d.systemAudio=!0,d.echoCancellation=s.echoCancellation,d.noiseSuppression=s.noiseSuppression,d.autoGainControl=s.autoGainControl),jD(s.fillMode)||(u.objectFit=s.fillMode),s.videoTrack&&(d.videoTrack=s.videoTrack),s.audioTrack&&(d.audioTrack=s.audioTrack),s.captureElement&&(d.captureElement=s.captureElement),s.preferDisplaySurface&&(d.preferDisplaySurface=s.preferDisplaySurface),s.qosPreference&&(d.contentHint=GH(s.qosPreference)));let h=yield c.capture(d);if(c.mediaTrack.addEventListener(tC.ENDED,(()=>{e._stopScreenShare(),e.emit(fW.SCREEN_SHARE_STOPPED)})),h.getAudioTracks()[0]){l=new xB(e._room.audioManager);let o=h.getAudioTracks()[0];null!=(r=t.option)&&r.systemAudio&&!(null!=(i=t.option)&&i.audioTrack)&&(l.sourceTrack=o),yield l.setInputMediaStreamTrack(o),KD(a)&&l.mediaTrack&&(l.mediaTrack.enabled=!a),e._speakerId&&l.setAudioOutput(e._speakerId)}if(JP(c,c).add("player-state-changed",(t=>{e.emit(fW.VIDEO_PLAY_STATE_CHANGED,Zb(Qb({},t),{userId:"",streamType:"sub"}))})),n&&e._room.isJoined){let t=[c];l&&(t.push(l),e._checkScreenAudioEchoCancellation(c,l)),e._room.publish(...t).catch((()=>{}))}e._localScreenTrack=c,e._localScreenAudioTrack=l,e._localScreenConfig=Zb(Qb({},t),{view:o,publish:n}),yield e._updateVideoPlayOption({view:o,playOption:u,track:c})}()}))}updateScreenShare(e){return aw(this,null,(function*(){var t;if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:r,publish:i,muteSystemAudio:o,option:n}=e,a={};if(n&&(jD(n.fillMode)||(a.objectFit=n.fillMode),n.qosPreference)){let e=GH(n.qosPreference);this._localScreenTrack.setContentHint(e)}if(this._room.isJoined&&!jD(i)){if(i&&!this._localScreenConfig.publish){let e=[this._localScreenTrack];this._localScreenAudioTrack&&e.push(this._localScreenAudioTrack),this._room.publish(...e).catch((()=>{}))}if(this._localScreenConfig.publish&&!i){let e=[this._localScreenTrack];this._localScreenAudioTrack&&e.push(this._localScreenAudioTrack),this._room.unpublish(...e).catch((()=>{}))}}null!=(t=this._localScreenAudioTrack)&&t.mediaTrack&&KD(o)&&(this._localScreenAudioTrack.mediaTrack.enabled=!o),yield this._updateVideoPlayOption({view:r,playOption:a,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),uN(this._localScreenConfig,e)}))}stopScreenShare(){return aw(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return aw(this,null,(function*(){let{view:t,userId:r,streamType:i,option:o}=e,n="".concat(r,"_").concat(i);if(this._remoteVideoConfigMap.has(n))return void this._log.warn("remote video has already started. userId:".concat(r,", streamType:").concat(i));let a=this._room.remotePublishedUserMap.get(r);if(!a)return;let s={},c="main"===i?a.remoteVideoTrack:a.remoteAuxiliaryTrack;c.on("decode-failed",(e=>{this.emit(fW.ERROR,new WH({code:UH.OPERATION_FAILED,extraCode:5507,message:"video decode failed"}))})),c.on("video-size-changed",(e=>{this.emit(fW.VIDEO_SIZE_CHANGED,Zb(Qb({},e),{streamType:jH(e.streamType)}))})),this._listenOutputTrackChanged(c),o&&(jD(o.fillMode)||(s.objectFit=o.fillMode),jD(o.mirror)||(s.mirror=o.mirror),jD(o.poster)||(s.poster=o.poster),s.canvasRender=o.canvasRender,"main"===i&&!jD(o.small)&&(!a.remoteVideoTrack.isSubscribing&&!a.remoteVideoTrack.isSubscribed&&a.remoteVideoTrack.setMediaType(o.small?8:4),this._room.changeType(o.small,c.user))),yield this._room.subscribe(c),yield this._enableVideoDecodeFallback(c,i),yield this._updateVideoPlayOption({view:t,playOption:s,track:c}),this._emitTrackEvent(c),this._remoteVideoConfigMap.set(n,{config:e}),o&&!jD(o.receiveWhenViewVisible)&&this._observeView({remoteTrack:c,view:t,receiveWhenViewVisible:o.receiveWhenViewVisible,viewRoot:null==o?void 0:o.viewRoot})}))}updateRemoteVideo(e){return aw(this,null,(function*(){var t,r;let{view:i,userId:o,streamType:n,option:a}=e,s="".concat(o,"_").concat(n),c=this._remoteVideoConfigMap.get(s);if(!c||!this._room.remotePublishedUserMap.has(o))return;let l={};a&&(jD(a.fillMode)||(l.objectFit=a.fillMode),jD(a.mirror)||(l.mirror=a.mirror));let d=null,u=this._room.remotePublishedUserMap.get(o);if("main"===n&&null!=u&&u.muteState.hasVideo&&(d=u.remoteVideoTrack),"sub"===n&&null!=u&&u.muteState.hasAuxiliary&&(d=u.remoteAuxiliaryTrack),!d)return;let{config:h}=c;"main"===n&&a&&!jD(a.small)&&this._room.changeType(a.small,d.user),yield this._updateVideoPlayOption({view:i,playOption:l,track:d,prevConfig:h}),uN(h,e);let p=jD(null==a?void 0:a.receiveWhenViewVisible)?null==(t=h.option)?void 0:t.receiveWhenViewVisible:a.receiveWhenViewVisible,m=jD(i)?h.view:i,f=jD(null==a?void 0:a.viewRoot)?null==(r=h.option)?void 0:r.viewRoot:a.viewRoot;this._observeView({remoteTrack:d,view:m,receiveWhenViewVisible:p,viewRoot:f})}))}stopRemoteVideo(e){return aw(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return aw(this,null,(function*(){let r=[],i=this._room.remotePublishedUserMap.get(e.userId);if(i){let{muteState:t,remoteVideoTrack:o,remoteAuxiliaryTrack:n}=i;"main"===e.streamType&&(o.stop(),t.hasVideo&&r.push(o)),"sub"===e.streamType&&(n.stop(),t.hasAuxiliary&&r.push(n))}for(let e of r)t&&(yield this._room.unsubscribe(e),this._mediaTrackMap.delete(e.outMediaTrack));this._removeRemoteVideoConfig(e.userId,e.streamType)}))}_removeRemoteVideoConfig(e,t){let r="".concat(e,"_").concat(t),i=this._remoteVideoConfigMap.get(r);i&&i.observer&&i.observer.disconnect(),this._remoteVideoConfigMap.delete(r)}muteRemoteAudio(e,t){return aw(this,null,(function*(){this._remoteAudioMuteMap.set(e,t);try{if("*"===e)if(t)yield this._stopRemoteAudio({userId:e});else{let e=[...this._room.remotePublishedUserMap.values()];for(let t of e)t.muteState.hasAudio&&!this._remoteAudioConfigMap.has(t.userId)&&(yield this._startRemoteAudio({userId:t.userId}))}else t?yield this._stopRemoteAudio({userId:e}):this._remoteAudioConfigMap.has(e)||(yield this._startRemoteAudio({userId:e}))}catch(sM){throw sM.code!==UH.OPERATION_ABORT&&this._remoteAudioMuteMap.delete(e),sM}}))}setRemoteAudioVolume(e,t){if("*"===e){this._remoteAudioVolumeMap.set("*",t),this._remoteAudioVolumeMap.forEach(((e,r)=>this._remoteAudioVolumeMap.set(r,t)));let e=[...this._room.remotePublishedUserMap.values()];for(let r of e)this._remoteAudioVolumeMap.set(r.userId,t),r.remoteAudioTrack.isSubscribed&&this._updateAudioPlayOption({playOption:{volume:t},track:r.remoteAudioTrack})}else if(e){let r=this._room.remotePublishedUserMap.get(e);this._remoteAudioVolumeMap.set(e,t),r&&r.remoteAudioTrack.isSubscribed&&this._updateAudioPlayOption({playOption:{volume:t},track:r.remoteAudioTrack})}}startPlugin(e,t){return aw(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return aw(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return aw(this,null,(function*(){return e.stop(t)}))}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this._room.enableAudioVolumeEvaluation(e,t)}on(e,t,r){if(this.listeners(e).includes(t))return this;if(this._log.debug("on",e),super.on(e,t,r),this._eventListened.add(e),this.listeners(fW.AUDIO_FRAME).length>0){let{audioFrameEventConfigMap:e}=this.room.audioManager;e.get("")||e.set("",{enable:!0}),this._localAudioTrack&&this.room.audioManager.handleLocalTrackStarted({userId:"",room:this.room})}return this}emit(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];try{_W.has(e)&&this._log.debug("emit ".concat(e," ").concat(JSON.stringify(r)))}catch(sM){}return super.emit(e,...r)}off(t,r,i){if(this._log.debug("off",t),"*"===t?(this._eventListened.clear(),this.removeAllListeners()):super.off(t,r,i),(t===e.EVENT.AUDIO_FRAME||"*"===t)&&0===this.listeners(e.EVENT.AUDIO_FRAME).length){let{getPCMAbortCtrlMap:e}=this.room.audioManager;e.forEach((e=>{null==e||e.abort("off")})),e.clear()}return this}getAudioTrack(){let e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},r=null,i="main",o=!1;if(GD(t)?e=t:(e=t.userId,o=!0===t.processed,t.streamType&&(i=t.streamType)),e){let t=this._room.remotePublishedUserMap.get(e);t&&(r=t.remoteAudioTrack)}else r="sub"===i?this._localScreenAudioTrack:this._localAudioTrack;return r?o&&r.outMediaTrack&&r.outMediaTrack!==r.mediaTrack?r.outMediaTrack.clone():r.mediaTrack:null}getVideoTrack(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},{userId:t="",streamType:r="main",processed:i=!1}=e,o=null;if(""===t)"main"===r&&this._localVideoTrack&&(o=this._localVideoTrack),"sub"===r&&this._localScreenTrack&&(o=this._localScreenTrack);else{let e=this._room.remotePublishedUserMap.get(t);e&&(o="main"===r?e.remoteVideoTrack:e.remoteAuxiliaryTrack)}return o?i&&o.outMediaTrack&&o.outMediaTrack!==o.mediaTrack?o.outMediaTrack.clone():o.mediaTrack:null}getVideoSnapshot(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{userId:t,streamType:r="main"}=e;if(t){let e=this._room.remotePublishedUserMap.get(t);if("main"===r&&null!=e&&e.muteState.hasVideo)return e.remoteVideoTrack.getVideoFrame();if("sub"===r&&null!=e&&e.muteState.hasAuxiliary)return e.remoteAuxiliaryTrack.getVideoFrame()}else{if("main"===r&&this._localVideoTrack)return this._localVideoTrack.getVideoFrame();if("sub"===r&&this._localScreenTrack)return this._localScreenTrack.getVideoFrame()}return""}_setCurrentSpeaker(e){var t,r;this._speakerId=e,null==(t=this._localAudioTrack)||t.setAudioOutput(e),null==(r=this._localScreenAudioTrack)||r.setAudioOutput(e),this._room.remotePublishedUserMap.forEach((t=>t.remoteAudioTrack.setAudioOutput(e)))}setCurrentSpeaker(e){return aw(this,null,(function*(){(yield sU()).forEach((t=>{t.deviceId===e&&(this._setCurrentSpeaker(e),this.emit(fW.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}),Cj=t)})),this._log.warn('the "setCurrentSpeaker" method of the instance will be deprecated in the future, please use "TRTC.setCurrentSpeaker" instead. For more information, please visit: https://web.sdk.qcloud.com/trtc/webrtc/v5/doc/en/TRTC.html#.setCurrentSpeaker')}))}_startRemoteAudio(e){return this._doStartRemoteAudio(e)}_doStartRemoteAudio(e){return aw(this,null,(function*(){var t;let{userId:r}=e;if(this._remoteAudioConfigMap.has(r))return void this._log.warn("remote audio has already started. userId:".concat(r));let i=this._room.remotePublishedUserMap.get(r);if(!i)return;let o={},n=i.remoteAudioTrack;n.on("decode-failed",(e=>{this.emit(fW.ERROR,new WH({code:UH.OPERATION_FAILED,extraCode:5506,message:"audio decode failed"}))})),this._listenOutputTrackChanged(n),this._speakerId&&n.setAudioOutput(this._speakerId);try{let i=null!=(t=this._remoteAudioVolumeMap.get(r))?t:this._remoteAudioVolumeMap.get("*"),a=zD(i)?i:100;o.volume=a,this._remoteAudioConfigMap.set(r,e),yield this._room.subscribe(n),jU(AV(n,"decode-failed"),zV(AV(n,FP.INIT)),KF((()=>{this.startPlugin(yj.Name,{track:n,type:"auto",config:{codec:"opus",sampleRate:48e3,numberOfChannels:1}})}))),yield this._updateAudioPlayOption({playOption:o,track:n}),KO.emit("115",{userId:r,room:this.room}),n.outMediaTrack&&this.room.audioManager.updateAudioReference({type:"add",audioReference:n.outMediaTrack,refId:"ra-".concat(r)})}catch(lM){throw this._remoteAudioConfigMap.delete(r),lM}this._emitTrackEvent(n)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return aw(this,null,(function*(){let r=this._room.remotePublishedUserMap.get(e.userId);r&&(r.remoteAudioTrack.stop(),r.muteState.hasAudio&&t&&(yield this._room.unsubscribe(r.remoteAudioTrack)),this._mediaTrackMap.delete(r.remoteAudioTrack.outMediaTrack)),this._remoteAudioConfigMap.delete("".concat(e.userId)),KO.emit("116",{userId:e.userId,room:this.room}),this.room.audioManager.updateAudioReference({type:"remove",refId:"ra-".concat(e.userId)})}))}_enableVideoDecodeFallback(e,t){let r,i=this._room.videoDecodeFallbackType;i&&this._plugins.has("TRTCVideoDecoder")&&(e.log.debug("remote video will fall back when decode failed",e.id),jU(AV(e,"decode-failed"),zV(AV(e,FP.INIT)),qF((()=>{"h265"!==this._room.downlinkVideoCodec&&this.startPlugin("TRTCVideoDecoder",{type:"auto",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:i})})),SF(AV(e,"decode-downgrade-state-changed")),KF((i=>{r=i.state,this.emit(fW.VIDEO_DECODE_DOWNGRADE_STATE_CHANGED,Zb(Qb({},i),{streamType:t,userId:e.userId}))}),(t=>{e.log.error("fallback",t)}),(()=>{"STARTED"===r&&e.log.info("fallback complete")}))))}_updateVideoPlayOption(e){return aw(this,arguments,(function(e){let{view:t,playOption:r,track:i,prevConfig:o}=e;return function*(){if(i.setMirror(r.mirror),jD(t)&&o&&o.view&&!sN(r)){let e=pN(o.view);e.length>0&&(yield i.play(e,r))}if(!jD(t)){let e=pN(t);e.length>0?yield i.play(e,r):i.stop()}}()}))}_updateAudioPlayOption(e){return aw(this,arguments,(function(e){var t=this;let{playOption:r={},track:i,prevConfig:o}=e;return function*(){if(!i.isPlayCalled)try{yield i.play(null,r)}catch(bw){}if(jD(r.muted)||i.setPlayerMute(r.muted),jD(r.volume)||i.setAudioVolume(r.volume/100),i instanceof eB&&i.mediaTrack){let e=!1===r.muted&&!jD(r.volume)&&r.volume>0?"add":"remove";t.room.audioManager.updateAudioReference({type:e,audioReference:i.mediaTrack,refId:"em"})}else if(i instanceof HB){let e=r.muted?0:r.volume;if(jD(e))return;t.room.audioManager.updateAudioReference({type:"updateVolume",refId:"ra-".concat(i.userId),volume:r.volume})}}()}))}_listenOutputTrackChanged(e){0===e.listeners("output-media-track-changed").length&&e.on("output-media-track-changed",(()=>this._emitTrackEvent(e,!1)))}_emitTrackEvent(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],r=e.isRemote?e.userId:"";e.outMediaTrack&&(t&&this._mediaTrackMap.get(e.outMediaTrack)===r||(this._mediaTrackMap.set(e.outMediaTrack,r),this.emit(fW.TRACK,{userId:r,streamType:jH(e.streamType),track:e.outMediaTrack,sourceTrack:e.mediaTrack})))}_checkTrackToPublish(){var e,t,r;let i=[];if(null!=(e=this._localAudioConfig)&&e.publish&&this._localAudioTrack&&i.push(this._localAudioTrack),null!=(t=this._localVideoConfig)&&t.publish&&this._localVideoTrack&&i.push(this._localVideoTrack),null!=(r=this._localScreenConfig)&&r.publish&&(this._localScreenTrack&&i.push(this._localScreenTrack),this._localScreenAudioTrack&&i.push(this._localScreenAudioTrack),this._checkScreenAudioEchoCancellation(this._localScreenTrack,this._localScreenAudioTrack)),0!==i.length)return this._room.publish(...i).catch((()=>{}))}_observeView(e){let{remoteTrack:t,view:r,receiveWhenViewVisible:i=!1,viewRoot:o}=e;if(jD(r))return;let n=this._remoteVideoConfigMap.get("".concat(t.userId,"_").concat(jH(t.streamType)));if(!n)return;let a=n.observer||void 0;if(null===r||YD(r)&&0===r.length||!i)return null==a||a.disconnect(),void(t.isSubscribed||this._room.subscribe(t).catch((()=>{})));let s=n.visibleViewMap||new Map,c=-1;(!a||a.root!==o)&&(null==a||a.disconnect(),s.clear(),a=new IntersectionObserver((e=>{e.forEach((e=>{s.set(e.target,e.isIntersecting),t.log.info("view ".concat(e.target.id," is").concat(e.isIntersecting?"":" not"," visible"))})),clearTimeout(c),c=window.setTimeout((()=>{[...s.values()].find((e=>e))?t.isSubscribed||this._room.subscribe(t).catch((()=>{})):t.isSubscribed&&this._room.unsubscribe(t).catch((()=>{}))}),200)}),{root:o}));let l=new Set(pN(r));s.forEach(((e,t)=>{l.has(t)||(a.unobserve(t),s.delete(t))})),l.forEach((e=>{s.set(e,!0),a.observe(e)})),a.takeRecords().forEach((e=>{s.set(e.target,e.isIntersecting)})),n.visibleViewMap=s,n.observer=a}_exitRoom(){return aw(this,null,(function*(){this._room.isJoined&&(yield this._room.leave()),this._clearRemoteTracks()}))}_stopScreenShare(){return aw(this,null,(function*(){var e,t;if(this._localScreenTrack){if(this._room.isJoined){let t=[this._localScreenTrack];this._localScreenAudioTrack&&t.push(this._localScreenAudioTrack),yield null==(e=this._room)?void 0:e.unpublish(...t).catch((()=>{}))}this._localScreenTrack.stop(),this._localScreenTrack.close(),this._localScreenAudioTrack&&(!1===(null==(t=this._localScreenAudioTrack.trackSettings)?void 0:t.echoCancellation)&&this.stopPlugin("AudioProcessor"),this._localScreenAudioTrack.stop(),this._localScreenAudioTrack.close(),this._room.audioManager.removeInput(this._localScreenAudioTrack),this._localScreenAudioTrack=null),XP(this._localScreenTrack),this._localScreenTrack=null,this._localScreenConfig=null}}))}_checkScreenAudioEchoCancellation(e,t){return aw(this,null,(function*(){var r,i;if(!e||!t)return;let o=null==(r=e.trackSettings)?void 0:r.displaySurface;if(!1===(null==(i=t.trackSettings)?void 0:i.echoCancellation)&&("monitor"===o||"browser"===o&&e.isShareCurrentTab)){this._log.warn("echoCancellation of screen audio track is disable. Try starting audioProcessor plugin");try{yield this.startPlugin("AudioProcessor",{sdkAppId:Number(this.room.sdkAppId),userId:this._room.userId,userSig:this.room.userSig,isScreenAudioNeedAudioProcess:!0,isLocalAudioNeedAudioProcess:!1})}catch(aM){this._log.warn("start audioProcessor plugin failed: ",aM)}}}))}_onLocalTrackCaptured(e){let{track:t}=e;"audio"===t.kind&&(!Cj||rU(Cj))&&(this._initActiveSpeaker(),KO.off("102",this._onLocalTrackCaptured,this))}_initActiveSpeaker(){return aw(this,null,(function*(){if(Cj&&!rU(Cj))this.emit(fW.DEVICE_CHANGED,{type:"speaker",action:"active",device:Cj});else{let e=yield sU();e[0]&&!rU(e[0])?(Cj=e[0],this.emit(fW.DEVICE_CHANGED,{type:"speaker",action:"active",device:e[0]})):KO.on("102",this._onLocalTrackCaptured,this)}}))}_onAudioAvailable(e){let{userId:t}=e,r=this._remoteAudioMuteMap.has(t)?this._remoteAudioMuteMap.get(t):this._remoteAudioMuteMap.get("*");(!1===r||this._room.autoReceiveAudio&&!r)&&this._doStartRemoteAudio({userId:t}).catch((()=>{}))}_onVideoAvailable(e){let{userId:t,streamType:r}=e;if(!this._room.autoReceiveVideo)return;let i=this._room.remotePublishedUserMap.get(t);if(i){let e="main"===r?i.remoteVideoTrack:i.remoteAuxiliaryTrack,t=[e];this._room.autoReceiveAudio&&i.remoteAudioTrack.isAvailable&&t.push(i.remoteAudioTrack),this._room.subscribe(...t).then((()=>{this._emitTrackEvent(e)})).catch((()=>{}))}}_onAudioUnavailable(e){let{userId:t,muteState:r}=e;r.hasAudio&&r.audioMuted||this._stopRemoteAudio({userId:t},!1).catch((()=>{}))}_onVideoUnavailable(e){let{userId:t,streamType:r}=e;this._stopRemoteVideo({userId:t,streamType:r},!1).catch((()=>{}))}sendSEIMessage(e,t){var r;let i=this._plugins.get("SEI");i&&(i.update({buffer:e,options:Zb(Qb({seiPayloadType:243},t),{small:!(null==(r=this._localVideoTrack)||!r.small)})}),IL.addCount({key:5e5,useUV:!0}))}sendCustomMessage(e){var t,r;null==(r=(t=this._room).sendCustomMessage)||r.call(t,e),IL.addCount({key:500001,useUV:!0})}callExperimentalAPI(e,t){return aw(this,null,(function*(){return this._log.info("callExperimentalAPI(".concat(e,", ").concat(JSON.stringify(t),")")),Ij.call(e,Qb({trtcInstance:this},t))}))}static setLogLevel(e,t){$O.setLogLevel(e),jD(t)||(t?$O.enableUploadLog():$O.disableUploadLog())}static isSupported(){return PL(e.frameWorkType)}static getPermissions(e){return aw(this,arguments,(function(e){let{request:t=!0,types:r=["camera","microphone"]}=e;return function*(){t&&(yield Rj.request(r).catch((e=>{var t;return $O.error("getPermissions request failed, error: ".concat(null!=(t=null==e?void 0:e.message)?t:e))})));let[e,i]=yield Promise.all([Rj.get("camera"),Rj.get("microphone")]);return{camera:e,microphone:i}}()}))}static getCameraList(){return nU(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getMicrophoneList(){return oU(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getSpeakerList(){return sU(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static setCurrentSpeaker(t){return aw(this,null,(function*(){if(!ak||t!==xH.SPEAKER&&t!==xH.HEADSET)(yield sU()).forEach((e=>{e.deviceId===t&&(wj.forEach((r=>{r._setCurrentSpeaker(t),r.emit(fW.DEVICE_CHANGED,{type:"speaker",action:"active",device:e})})),Cj=e)}));else{let r=yield e.getMicrophoneList(),i="";if(r.forEach((e=>{e.label===t&&(i=e.deviceId)})),!i)return;wj.forEach((e=>aw(this,null,(function*(){e._localAudioTrack&&(yield e.updateLocalAudio({option:{microphoneId:i}}))}))))}}))}static _addKVStat(e){let{type:t,key:r,value:i,base:o,useUV:n,version:a,max:s}=e;switch(a&&(TL.version=a),t){case"count":TL.addCount({key:r,useUV:n});break;case"enum":TL.addEnum({key:r,value:i,useUV:n});break;case"number":TL.addNumber({key:r,value:i,split:o,max:s})}}};ow(Dj,"VERSION",LW),ow(Dj,"_loggerManager",$O),ow(Dj,"EVENT",fW),ow(Dj,"ERROR_CODE",UH),ow(Dj,"TYPE",xH),ow(Dj,"frameWorkType",30),iw([FW({replaceArg:e=>({argIndex:0,value:{name:"plugin"in e?e.plugin.Name:e.Name,assetsPath:"assetsPath"in e?null==e?void 0:e.assetsPath:"default"}})})],Dj.prototype,"use",1),iw([PW(iW.TRTC.enterRoom),hW("room",((e,t)=>{let[r]=e,[i]=t;return(r.roomId||r.strRoomId)===(i.roomId||i.strRoomId)&&r.userId===i.userId&&r.sdkAppId===i.sdkAppId})),SU((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t)})),FW()],Dj.prototype,"enterRoom",1),iw([FW()],Dj.prototype,"exitRoom",1),iw([PW(iW.TRTC.switchRoom),FW(),NU()],Dj.prototype,"switchRoom",1),iw([PW(iW.TRTC.switchRole),pW("room",{merge:(e,t)=>t}),FW()],Dj.prototype,"switchRole",1),iw([FW()],Dj.prototype,"destroy",1),iw([PW(iW.TRTC.startLocalAudio),hW("audio",((e,t)=>{let[r]=e,[i]=t;var o,n;return(null==(o=null==r?void 0:r.option)?void 0:o.microphoneId)===(null==(n=null==i?void 0:i.option)?void 0:n.microphoneId)})),FW()],Dj.prototype,"startLocalAudio",1),iw([PW(iW.TRTC.updateLocalAudio),pW("audio",{debounce:{delay:200,getKey:()=>"".concat(bj,"-localAudio"),isNeedToDebounce:e=>{var t;return!jD(null==(t=e.option)?void 0:t.captureVolume)}}}),FW()],Dj.prototype,"updateLocalAudio",1),iw([mW("audio"),FW()],Dj.prototype,"stopLocalAudio",1),iw([PW(iW.TRTC.startLocalVideo),hW("video",((e,t)=>{let[r]=e,[i]=t;var o,n;return(null==(o=null==r?void 0:r.option)?void 0:o.cameraId)===(null==(n=null==i?void 0:i.option)?void 0:n.cameraId)})),FW()],Dj.prototype,"startLocalVideo",1),iw([PW(iW.TRTC.updateLocalVideo),pW("video"),FW()],Dj.prototype,"updateLocalVideo",1),iw([mW("video"),FW()],Dj.prototype,"stopLocalVideo",1),iw([PW(iW.TRTC.startScreenShare),hW("screen",(()=>!0)),FW()],Dj.prototype,"startScreenShare",1),iw([PW(iW.TRTC.updateScreenShare),pW("screen"),FW()],Dj.prototype,"updateScreenShare",1),iw([FW()],Dj.prototype,"stopScreenShare",1),iw([PW(iW.TRTC.startRemoteVideo),hW((e=>"v".concat(e.userId).concat(e.streamType)),(()=>!0)),FW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],Dj.prototype,"startRemoteVideo",1),iw([PW(iW.TRTC.updateRemoteVideo),pW((e=>"v".concat(e.userId).concat(e.streamType))),FW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],Dj.prototype,"updateRemoteVideo",1),iw([PW(iW.TRTC.stopRemoteVideo),SU((e=>function(t){return aw(this,null,(function*(){if("*"===t.userId){let e=[];return this._room.remotePublishedUserMap.forEach((t=>{this._remoteVideoConfigMap.has("".concat(t.userId,"_main"))&&e.push(this.stopRemoteVideo({streamType:"main",userId:t.userId}).catch((()=>{}))),this._remoteVideoConfigMap.has("".concat(t.userId,"_sub"))&&e.push(this.stopRemoteVideo({streamType:"sub",userId:t.userId}).catch((()=>{})))})),Promise.all(e)}return e.call(this,t)}))})),FW({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],Dj.prototype,"stopRemoteVideo",1),iw([mW((e=>"v".concat(e.userId).concat(e.streamType)))],Dj.prototype,"_stopRemoteVideo",1),iw([PW(...iW.TRTC.muteRemoteAudio),FW({getRemoteId:e=>e})],Dj.prototype,"muteRemoteAudio",1),iw([xW(...iW.TRTC.setRemoteAudioVolume),function(e,t){return SU(((r,i)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a=MW.get(this);a||(a=new Map,MW.set(this,a));let s=t(...o),c=a.get(s);if(!c||c<=0){r.apply(this,o);let t=setTimeout((()=>{var e;null==(e=MW.get(this))||e.delete(s)}),e);a.set(s,t)}else{clearTimeout(c);let t=window.setTimeout((()=>{var e;r.apply(this,o),null==(e=MW.get(this))||e.delete(s)}),e);a.set(s,t)}}))}(200,(e=>e)),FW({getRemoteId:e=>e})],Dj.prototype,"setRemoteAudioVolume",1),iw([HW("start"),AU((e=>{var t;return null==(t=e.afterStart)?void 0:t.call(e)})),hW(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),FW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>_L[e.getName()],ignoreLog:e=>"Debug"===e.getName(),ignoreErrorLog:e=>"AudioProcessor"===e.getName()})],Dj.prototype,"startPlugin",1),iw([HW("update"),pW(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t)),{merge:(e,t)=>(uN(e[1],t[1]),e)}),FW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>gL[e.getName()]})],Dj.prototype,"updatePlugin",1),iw([HW("stop"),mW(((e,t)=>{if(e.disableRandomCall)return null;let r=e.getGroup(t),i=e.getAlias();return"*"===r?new RegExp("".concat(i,".*")):i+r})),FW({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>EL[e.getName()]})],Dj.prototype,"stopPlugin",1),iw([xW(...iW.TRTC.enableAudioVolumeEvaluation)],Dj.prototype,"enableAudioVolumeEvaluation",1),iw([FW()],Dj.prototype,"getVideoSnapshot",1),iw([FW()],Dj.prototype,"_setCurrentSpeaker",1),iw([hW((e=>"a".concat(e.userId)),(()=>!0))],Dj.prototype,"_startRemoteAudio",1),iw([SU((e=>function(t){return aw(this,null,(function*(){return"*"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio(Zb(Qb({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),mW((e=>"a".concat(e.userId)))],Dj.prototype,"_stopRemoteAudio",1),iw([mW("room")],Dj.prototype,"_exitRoom",1),iw([mW("screen")],Dj.prototype,"_stopScreenShare",1),iw([PW(...iW.TRTC.sendSEIMessage),MH({timesInSecond:30,maxSizeInSecond:8e3,getSize:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].byteLength}})],Dj.prototype,"sendSEIMessage",1),iw([PW(iW.TRTC.sendCustomMessage),MH({timesInSecond:30,maxSizeInSecond:8e3,getSize:e=>e.data.byteLength})],Dj.prototype,"sendCustomMessage",1),iw([PW(iW.TRTC.create)],Dj,"_create",1);var Nj=Dj,kj=class{constructor(e,t){ow(this,"_flag"),ow(this,"terminalType"),ow(this,"userId"),ow(this,"tinyId"),ow(this,"role"),ow(this,"remoteAudioTrack"),ow(this,"remoteVideoTrack"),ow(this,"remoteAuxiliaryTrack"),this.userId=t.userId||"",this.tinyId=t.tinyId||"",this.role=t.role||"audience",this.terminalType=t.terminalType,this.remoteAudioTrack=new HB(e,this),this.remoteVideoTrack=new WB(e,this),this.remoteAuxiliaryTrack=new jB(e,this),this.flag=t.flag||0}get subscribeState(){let e={audio:!1,video:!1,auxiliary:!1,smallVideo:!1};return this.remoteVideoTrack.isSubscribed&&(8&this.remoteVideoTrack.mediaType?e.smallVideo=!0:e.video=!0),this.remoteAudioTrack.isSubscribed&&(e.audio=!0),this.remoteAuxiliaryTrack.isSubscribed&&(e.auxiliary=!0),e}get muteState(){return cN(this.flag,this.userId)}get flag(){return this._flag}set flag(e){if(e===this._flag)return;let t,r=this.muteState;this._flag=e;let i=this.muteState;for(t in i)r[t]!=i[t]&&console.log(this.userId,t,r[t],"->",i[t]);this.remoteAudioTrack.onFlagChanged(),this.remoteVideoTrack.onFlagChanged(),this.remoteAuxiliaryTrack.onFlagChanged()}},Oj=class{constructor(){ow(this,"_set",new Set),KO.on(YO.LEAVE_SUCCESS,this.delete,this),KO.on(YO.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess,this)}add(e){let{room:t,roomId:r}=e;if("rtc"===t.scene)return;let i=this.getKey(t.userId,r||t.roomId,t.sdkAppId,t.useStringRoomId);this._set.add(i)}delete(e){let{room:t,roomId:r}=e;if("rtc"===t.scene)return;let i=this.getKey(t.userId,t.roomId||r,t.sdkAppId,t.useStringRoomId);this._set.delete(i)}getKey(e,t,r,i){return"".concat(r,"_").concat(t,"_").concat(e,"_").concat(i)}isJoined(e){let{userId:t,roomId:r,sdkAppId:i,room:o}=e;return"rtc"!==o.scene&&this._set.has(this.getKey(t,r,i,o.useStringRoomId))}handleSwitchRoomSuccess(e){let{room:t,currentRoomId:r,targetRoomId:i}=e;"rtc"!==t.scene&&(this._set.delete(this.getKey(t.userId,r,t.sdkAppId,t.useStringRoomId)),this._set.add(this.getKey(t.userId,i,t.sdkAppId,t.useStringRoomId)))}};function Mj(){return aw(this,null,(function*(){let e,t;try{let t=yield oU();e=t&&t.length}catch(p){}try{let e=yield nU();t=e&&e.length}catch(p){}let r={microphone:e,camera:t},{isH264EncodeSupported:i,isVp8EncodeSupported:o,isH264DecodeSupported:n,isVp8DecodeSupported:a,isH265EncodeSupported:s,isH265DecodeSupported:c}=this.checkSystemResult.detail,l=eM.basis(),d={webRTC:l.isWebRTCSupported,getUserMedia:l.isGetUserMediaSupported,webSocket:l.isWebSocketsSupported,screenShare:l.isScreenShareSupported,webAudio:l.isWebAudioSupported,h264Encode:i,h264Decode:n,vp8Encode:o,vp8Decode:a,h265Encode:s,h265Decode:c},u={browser:l.browser,os:l.os,trtc:d,devices:r},h={isWebCodecSupported:l.isWebCodecSupported,isMediaSessionSupported:l.isMediaSessionSupported,isWebTransportSupported:l.isWebTransportSupported};$P.uploadEvent({log:"trtcstats-".concat(JSON.stringify(u)),userId:this.userId}),this._log.info("TrtcStats-".concat(JSON.stringify(u))),$P.uploadEvent({log:"trtcadvancedstats-".concat(JSON.stringify(h)),userId:this.userId}),bP()}))}var Lj=class{constructor(e){ow(this,"_frameWorkType"),ow(this,"_component"),ow(this,"_language"),ow(this,"connectionType"),ow(this,"_room"),ow(this,"_signalInfo",{tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0,endReportExtend:void 0,reportToken:void 0}),ow(this,"_keyPrefix"),ow(this,"_log"),ow(this,"_intervalId"),ow(this,"_firstPublishedUserList"),ow(this,"_networkQuality"),ow(this,"_basicInfo"),ow(this,"_pathJoinRoom"),ow(this,"_pathLeaveRoom"),ow(this,"_pathMainVideoMap"),ow(this,"_pathMainAudioMap"),ow(this,"_pathAuxiliaryMap"),ow(this,"_remoteStreamStatMap"),ow(this,"_localStreamStat"),ow(this,"_eventMap",new Map),ow(this,"_captureCostSum",0),ow(this,"_captureCostCount",0),ow(this,"isDestroyed",!1),this._frameWorkType=e.frameWorkType||30,this._component=e.component||0,this.connectionType=e.connectionType||1,this._language=e.language||0,this._room=e.room,this._keyPrefix="key_point",this._log=$O.createLogger({id:"kpm",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith("handle")&&WD(this[e])&&(this[e]=function(e){let{fn:t,context:r}=e;return function(){try{for(var e=arguments.length,i=new Array(e),o=0;o<e;o++)i[o]=arguments[o];let n=t.apply(r,i);return $D(n)?n.catch((e=>$O.error("".concat(t.name,"() error observed ").concat(e)))):n}catch(DC){$O.error("".concat(t.name,"() error observed ").concat(DC))}}}({fn:this[e],context:this}))})),this.initData(),this.installEvents()}initData(){this._firstPublishedUserList=[],this._networkQuality={totalUplinkRTT:0,totalUplinkLoss:0,count:0,totalDownlinkRTTAndLossMap:new Map},this._basicInfo={string_sdk_version:Aw,uint32_os_type:15,string_device_name:"",string_http_user_agent:navigator.userAgent,string_os_version:"",uint32_avg_rtt:0,uint32_avg_up_loss:0,uint32_scene:"live"===this._room.scene?1:0,uint32_joining_duration:0,uint32_networkType:0,uint32_framework:this._frameWorkType,uint32_component:this._component,uint32_connection_type:this.connectionType,uint32_caller_coding_language:this._language,string_domain:location.hostname},this._pathJoinRoom={uint64_start_time:0,uint64_send_request_acc_ip_cmd_start_time:0,uint64_send_request_acc_ip_cmd_end_time:0,uint64_send_request_enter_room_cmd_start_time:0,uint64_send_request_enter_room_cmd_end_time:0,uint64_send_first_video_frame_time:0,uint64_recv_userlist_time:0,uint64_end_time:0,int32_send_request_acc_ip_cmd_ret:0,int32_send_request_enter_room_cmd_ret:0,int32_end_ret:0},this._pathLeaveRoom={uint64_start_time:0,uint64_send_request_exit_room_cmd_start_time:0,uint64_send_request_exit_room_cmd_end_time:0,uint64_end_time:0,int32_send_request_exit_room_cmd_ret:0,int32_end_ret:0},this._localStreamStat={totalVideoBitrate:0,totalVideoFPS:0,totalVideoHeight:0,totalVideoWidth:0,totalAudioLevel:0,videoCount:0,audioLevelCount:0,publishStartTime:0,statsToReport:{uint32_audio_capture_db:0,uint32_video_big_capture_fps:0,uint32_video_big_bitrate:0,uint32_video_big_resolution:0,uint32_audio_capture_thread_health_zero_cnt:0,uint32_after3a_silence_duration:0}},this._pathMainVideoMap=new Map,this._pathMainAudioMap=new Map,this._pathAuxiliaryMap=new Map,this._remoteStreamStatMap=new Map,LO().then((()=>{this._basicInfo.string_os_version=WO(),this._basicInfo.string_device_name=xO()||this._basicInfo.string_os_version}))}addEvent(e,t){return this._eventMap.set(e,t),KO.on(e,t),this}installEvents(){this.handleUnload=this.handleUnload.bind(this),window.addEventListener("pagehide",this.handleUnload),this._room.once("banned",(()=>this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId}))),this.addEvent(YO.JOIN_START,this.handleJoinStart).addEvent(YO.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(YO.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(YO.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(YO.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(YO.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(YO.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(YO.JOIN_FAILED,this.handleJoinFailed).addEvent(YO.LEAVE_START,this.handleLeaveStart).addEvent(YO.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(YO.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(YO.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(YO.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(YO.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(YO.PUBLISH_START,this.handlePublishStart).addEvent(YO.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(YO.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(YO.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(YO.PLAY_TRACK_START,this.handlePlayStart).addEvent(YO.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(YO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,type:i}=e;!t.isRemote||!this.hitTest(t.room)||"PLAYING"===r&&(i===tC.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(YO.SWITCH_ROOM_START,this.handleSwitchRoomStart).addEvent(YO.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess).addEvent(YO.SWITCH_ROOM_FAILED,this.handleSwitchRoomFailed).addEvent(YO.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(YO.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(YO.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(YO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;if(!this.hitTest(t))return;let o=r.hasAudio||r.hasVideo||r.hasSmall,n=r.hasAuxiliary,a=i.hasAudio||i.hasVideo||i.hasSmall,s=i.hasAuxiliary;!o&&a&&this.handleRemoteStreamAdded(i.userId,"main"),!n&&s&&this.handleRemoteStreamAdded(i.userId,"auxiliary")})).addEvent(YO.SINGLE_CONNECTION_STAT,(e=>{let{room:t,stat:r}=e;this.hitTest(t)&&(this._pathJoinRoom.int32_ice_cost=r.ice,this._pathJoinRoom.int32_dtls_cost=r.dtls,this._pathJoinRoom.int32_peer_connection_cost=r.peerConnection)}))}uninstallEvents(){window.removeEventListener("pagehide",this.handleUnload),this._eventMap.forEach(((e,t)=>KO.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),zP.clearTask(this._intervalId),0===this._pathJoinRoom.uint64_start_time&&(this._room=null),this.isDestroyed=!0}handleUnload(){this._room.isJoined&&this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId})}handleJoinStart(e){this.hitTest(e.room)&&(0===this._pathJoinRoom.uint64_start_time&&(this._pathJoinRoom.uint64_start_time=Date.now()),e.params&&(jD(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),jD(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),jD(e.params.language)||(this._language=e.params.language,this._basicInfo.uint32_caller_coding_language=this._language)))}handleJoinScheduleSuccess(e){let{room:t,detailCost:r}=e;if(this.hitTest(t)&&r){let{totalCost:e,local:t,dns:i,tcp:o,tls:n,request:a,response:s}=r;this._pathJoinRoom.int32_schedule_cost=e,this._pathJoinRoom.int32_schedule_local=t,this._pathJoinRoom.int32_schedule_dns=i,this._pathJoinRoom.int32_schedule_tcp=o,this._pathJoinRoom.int32_schedule_tls=n,this._pathJoinRoom.int32_schedule_request=a,this._pathJoinRoom.int32_schedule_response=s}}handleSignalConnectionStart(e){let{room:t}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_request_acc_ip_cmd_start_time&&(this._pathJoinRoom.uint64_send_request_acc_ip_cmd_start_time=Date.now())}handleSignalConnectionEnd(e){let{room:t,error:r}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_request_acc_ip_cmd_end_time&&(this._pathJoinRoom.uint64_send_request_acc_ip_cmd_end_time=Date.now(),r&&(this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret=r instanceof fw?Number(r.getExtraCode()||r.getCode()):pw.UNKNOWN,this._pathJoinRoom.int32_end_ret=this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret))}handleJoinSendCMD(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time&&(this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time=Date.now())}handleJoinReceivedCMDResponce(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time&&(this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=Date.now(),this._pathJoinRoom.int32_send_request_enter_room_cmd_ret=e.code,0!==e.code&&(this._pathJoinRoom.int32_end_ret=this._pathJoinRoom.int32_send_request_enter_room_cmd_ret))}handleJoinSuccess(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_end_time&&(this._pathJoinRoom.uint64_end_time=Date.now(),this._pathJoinRoom.int32_end_ret=0,this._signalInfo=e.room.getSignalInfo())}handleJoinFailed(e){let{room:t,error:r}=e;this.hitTest(t)&&(this._pathJoinRoom.uint64_end_time=Date.now(),0===this._pathJoinRoom.int32_end_ret&&(this._pathJoinRoom.int32_end_ret=r.code||this._pathJoinRoom.int32_send_request_enter_room_cmd_ret||this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret),setTimeout((()=>{this.report()})))}handleReceivedPublishUserList(e){this.hitTest(e.room)&&0===this._pathJoinRoom.uint64_recv_userlist_time&&(this._pathJoinRoom.uint64_recv_userlist_time=Date.now(),this._firstPublishedUserList=e.publishedUserList||[])}handleSendFirstVideoFrame(e){let{room:t}=e;this.hitTest(t)&&0===this._pathJoinRoom.uint64_send_first_video_frame_time&&0!==this._pathJoinRoom.uint64_start_time&&(this._pathJoinRoom.uint64_send_first_video_frame_time=Date.now())}handleLeaveStart(e){this.hitTest(e.room)&&(this._pathLeaveRoom.uint64_start_time=Date.now())}handleLeaveSuccess(e){var t;if(this.hitTest(e.room)&&0===this._pathLeaveRoom.uint64_end_time){if(this._pathLeaveRoom.uint64_end_time=Date.now(),0!==this._pathJoinRoom.uint64_end_time){this._basicInfo.uint32_joining_duration=this._pathLeaveRoom.uint64_end_time-this._pathJoinRoom.uint64_end_time;let e=null==(t=this._room.audioManager.localAudioTrack)?void 0:t.after3aSilenceStartTime;e&&(this._localStreamStat.statsToReport.uint32_after3a_silence_duration=iN()-e)}else this._log.warn("pathJoinRoom endTime is 0");this.report()}}handleLeaveSendCMD(e){this.hitTest(e.room)&&(this._pathLeaveRoom.uint64_send_request_exit_room_cmd_start_time=Date.now(),this._pathLeaveRoom.uint64_send_request_exit_room_cmd_end_time=Date.now())}handleSwitchRoomStart(e){if(this.hitTest(e.room)){let e=Date.now();this.report().then((()=>{this._pathJoinRoom.uint64_start_time=e,this._pathJoinRoom.uint64_send_request_enter_room_cmd_start_time=e}))}}handleSwitchRoomSuccess(e){let{room:t}=e;if(this.hitTest(t)&&0===this._pathJoinRoom.uint64_end_time){let e=Date.now();this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=e,this._pathJoinRoom.uint64_end_time=e,this._pathJoinRoom.int32_end_ret}}handleSwitchRoomFailed(e){let{room:t,error:r}=e;if(this.hitTest(t)){let e=Date.now();this._pathJoinRoom.uint64_send_request_enter_room_cmd_end_time=e,this._pathJoinRoom.uint64_end_time=e,r&&(this._pathJoinRoom.int32_end_ret=r instanceof fw?Number(r.getExtraCode()||r.getCode()):pw.UNKNOWN)}}handleRemoteStreamAdded(e,t){var r;let i="".concat(e,"_").concat(t);if(!this._remoteStreamStatMap.has(i)){let o={userId:e,totalVideoFPS:0,totalVideoBitrate:0,totalAudioLevel:0,totalAudioBitrate:0,totalLoss:0,audioCount:0,audioLevelCount:0,videoCount:0,networkQualityCount:0,streamAddedTime:Date.now(),subscribeStartTime:0,subscribedTime:0,playStreamTime:0,statsToReport:Zb(Qb({},xj),{msg_user_info:new Uj({userId:e,tinyId:null==(r=this._room.remotePublishedUserMap.get(e))?void 0:r.tinyId,role:20})})};o.statsToReport.uint32_stream_type="main"===t?2:7,this._remoteStreamStatMap.set(i,o)}}handleSubscribeStart(e){let{room:t,remotePublishedUser:r,streamType:i,subscribeState:o}=e;if(!this.hitTest(t))return;let{userId:n,tinyId:a,role:s}=r,c=new Uj({userId:n,tinyId:a,role:"anchor"===s?20:21}),l=Date.now(),d="".concat(n,"_").concat(i),u=this._remoteStreamStatMap.get(d);u&&0===u.subscribeStartTime&&(u.subscribeStartTime=l),"main"===i?(r.muteState.hasVideo&&(o.video||o.smallVideo)&&!this._pathMainVideoMap.has(d)&&this._pathMainVideoMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_render_first_frame_time:0,uint64_combine_first_frame_time:0},userId:n,sendSubscribeCMDTime:l}),r.muteState.hasAudio&&o.audio&&!this._pathMainAudioMap.has(d)&&this._pathMainAudioMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_play_first_frame_time:0},userId:n,sendSubscribeCMDTime:l})):r.muteState.hasAuxiliary&&o.auxiliary&&!this._pathAuxiliaryMap.has(d)&&this._pathAuxiliaryMap.set(d,{sendSubscribeCMDTime:l})}handleSubscribed(e){let{room:t,remotePublishedUser:r,streamType:i}=e;if(this.hitTest(t)){let e="".concat(r.userId,"_").concat(i),t=this._remoteStreamStatMap.get(e);t&&0===t.subscribedTime&&(t.subscribedTime=Date.now())}}handlePlayStart(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room))return;let r="".concat(t.userId,"_").concat(t.streamType),i=this._remoteStreamStatMap.get(r);0===(null==i?void 0:i.playStreamTime)&&(i.playStreamTime=Date.now())}handleVideoLoadedData(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room))return;let r="".concat(t.userId,"_").concat(t.streamType),i=this._pathMainVideoMap.get(r);i&&0===i.statsToReport.uint64_combine_first_frame_time&&(i.statsToReport.uint64_combine_first_frame_time=Date.now())}handleVideoPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),r=Date.now(),i=this._pathMainVideoMap.get(t),o=this._remoteStreamStatMap.get(t);if(o){let{statsToReport:t}=o;if(t.uint32_video_render_first||"main"!==e.streamType?this.hasAuxFlag(e.userId):this.hasVideoFlag(e.userId)){let e=r-this._pathJoinRoom.uint64_start_time;t.uint32_video_render_first=e,IL.addNumber({key:516820,value:e})}}0===(null==i?void 0:i.statsToReport.uint64_render_first_frame_time)&&(i.statsToReport.uint64_render_first_frame_time=r)}handleAudioPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),r=this._pathMainAudioMap.get(t);r&&0===r.statsToReport.uint64_play_first_frame_time&&(r.statsToReport.uint64_play_first_frame_time=Date.now())}handleNetworkQuality(e){this.hitTest(e.room)&&(this._networkQuality.totalUplinkLoss+=e.uplink.loss,this._networkQuality.totalUplinkRTT+=e.uplink.rtt,this._networkQuality.count++,e.downlinks.forEach((e=>{let{rtt:t,loss:r,userId:i,videoDelay:o,audioDelay:n}=e,a=this._networkQuality.totalDownlinkRTTAndLossMap.get(i);if(a)a.totalRTT+=t,a.totalLoss+=r,o&&(a.totalVideoDelay=(a.totalVideoDelay||0)+o,a.videoDelayCount=(a.videoDelayCount||0)+1),n&&(a.totalAudioDelay=(a.totalAudioDelay||0)+n,a.audioDelayCount=(a.audioDelayCount||0)+1),a.count++;else{let e,a,s,c;o&&(a=o,s=1),n&&(e=n,c=1),this._networkQuality.totalDownlinkRTTAndLossMap.set(i,{totalRTT:t,totalLoss:r,count:1,totalAudioDelay:e,totalVideoDelay:a,audioDelayCount:c,videoDelayCount:s})}})))}handleHeartbeatStats(e){if(this.hitTest(e.room)){let{msg_device_info:t,msg_up_stream_info:r,msg_down_stream_info:i}=e.report;if(r.msg_video_status[0]){let{uint32_video_codec_bitrate:e,uint32_video_enc_fps:t,uint32_video_width:i,uint32_video_height:o}=r.msg_video_status[0];this._localStreamStat.totalVideoBitrate+=e,this._localStreamStat.totalVideoFPS+=t,this._localStreamStat.totalVideoWidth+=i,this._localStreamStat.totalVideoHeight+=o,this._localStreamStat.videoCount++}if(r.msg_audio_status){let{uint32_audio_level:e}=r.msg_audio_status;Math.floor(e/qM*100)>0&&(this._localStreamStat.totalAudioLevel+=e/qM,this._localStreamStat.audioLevelCount++)}i.forEach((e=>{let{msg_user_info:t,msg_audio_status:r,msg_video_status:i}=e,o=t.str_identifier,n=this._room.remotePublishedUserMap.get(o);if(i.forEach((e=>{let t=2===e.uint32_video_stream_type,r=7===e.uint32_video_stream_type,i="".concat(o,"_").concat(t?"main":"auxiliary"),a=this._remoteStreamStatMap.get(i);if(a&&(t&&null!=n&&n.remoteVideoTrack.isSubscribed||r&&null!=n&&n.remoteAuxiliaryTrack)){a.totalVideoFPS+=e.uint32_video_receive_fps,a.totalVideoBitrate+=e.uint32_video_codec_bitrate,a.videoCount++,0===a.statsToReport.uint32_video_width&&(a.statsToReport.uint32_video_width=e.uint32_video_width),0===a.statsToReport.uint32_video_height&&(a.statsToReport.uint32_video_height=e.uint32_video_height);let r=t?n.remoteVideoTrack:n.remoteAuxiliaryTrack;r.stat.jitterBufferDelay&&(a.videoJitterBufferDelay=r.stat.jitterBufferDelay),r.stat.framesReceived&&(a.statsToReport.uint32_video_consume_render_rate=Math.floor(r.stat.framesDecoded/r.stat.framesReceived*Xb(10,6)))}})),!sN(r)){let e="".concat(o,"_main"),t=this._remoteStreamStatMap.get(e);this._remoteStreamStatMap.has(e)&&t&&null!=n&&n.remoteAudioTrack.isSubscribed&&(t.totalAudioBitrate+=r.uint32_audio_codec_bitrate,t.audioCount++,n.remoteAudioTrack.stat.jitterBufferDelay&&(t.audioJitterBufferDelay=n.remoteAudioTrack.stat.jitterBufferDelay),Math.floor(r.uint32_audio_level/qM*100)>0&&(t.totalAudioLevel+=r.uint32_audio_level/qM,t.audioLevelCount++),r.uint32_audio_block_time&&(t.statsToReport.uint32_audio_block_time+=r.uint32_audio_block_time))}})),t.uint32_audio_capture_cost&&(this._captureCostSum+=t.uint32_audio_capture_cost,this._captureCostCount+=1,this._captureCostCount>=100&&(this._basicInfo.uint32_audio_capture_cost=Math.floor(this._captureCostSum/this._captureCostCount),this._captureCostSum=0,this._captureCostCount=0)),0===t.uint32_audio_capture_cost&&(this._localStreamStat.statsToReport.uint32_audio_capture_thread_health_zero_cnt+=1)}}handlePublishStart(e){let{room:t}=e;this.hitTest(t)&&0===this._localStreamStat.publishStartTime&&(this._localStreamStat.publishStartTime=Date.now())}handleTrackCaptureStart(e){let{track:t}=e;1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_start_time&&(this._pathJoinRoom.uint64_init_audio_start_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_start_time&&(this._pathJoinRoom.uint64_init_camera_start_time=Date.now())}handleTrackCaptureSuccess(e){let{track:t}=e;1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=0,this._pathJoinRoom.uint64_init_audio_end_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_end_time&&(this._pathJoinRoom.int32_init_camera_ret=0,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}handleTrackCaptureFailed(e){let{track:t,error:r}=e,i={NotFoundError:1,NotAllowedError:2,NotReadableError:3,OverConstrainedError:4,AbortError:5,InvalidStateError:6,SecurityError:7,TypeError:8}[r.name]||(r instanceof fw?r.getExtraCode()||r.getCode():pw.UNKNOWN);1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=i,this._pathJoinRoom.uint64_init_audio_end_time=Date.now()),4===t.mediaType&&!this._pathJoinRoom.uint64_init_camera_end_time&&(this._pathJoinRoom.int32_init_camera_ret=i,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}hasVideoFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&nC))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&cC))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&sC))>=0}hitTest(e){return e===this._room}prepareReport(){if(this._captureCostCount>0&&!this._basicInfo.uint32_audio_capture_cost&&(this._basicInfo.uint32_audio_capture_cost=Math.floor(this._captureCostSum/this._captureCostCount),this._captureCostSum=0,this._captureCostCount=0),this._networkQuality.count>0&&(this._basicInfo.uint32_avg_rtt=Math.floor(this._networkQuality.totalUplinkRTT/this._networkQuality.count),this._basicInfo.uint32_avg_up_loss=Math.floor(this._networkQuality.totalUplinkLoss/this._networkQuality.count)),this._localStreamStat.videoCount>0){this._localStreamStat.statsToReport.uint32_video_big_capture_fps=Math.floor(this._localStreamStat.totalVideoFPS/this._localStreamStat.videoCount),this._localStreamStat.statsToReport.uint32_video_big_bitrate=Math.floor(this._localStreamStat.totalVideoBitrate/this._localStreamStat.videoCount);let e=Math.floor(this._localStreamStat.totalVideoWidth/this._localStreamStat.videoCount),t=Math.floor(this._localStreamStat.totalVideoHeight/this._localStreamStat.videoCount);this._localStreamStat.statsToReport.uint32_video_big_resolution=e<<16|t}this._localStreamStat.audioLevelCount>0&&(this._localStreamStat.statsToReport.uint32_audio_capture_db=Math.floor(this._localStreamStat.totalAudioLevel/this._localStreamStat.audioLevelCount*100)),this._remoteStreamStatMap.forEach(((e,t)=>{let{userId:r}=e,i=this._networkQuality.totalDownlinkRTTAndLossMap.get(r);if(i){let{totalLoss:t,count:r,audioDelayCount:o,videoDelayCount:n,totalAudioDelay:a,totalVideoDelay:s}=i;e.statsToReport.uint32_avg_down_loss=Math.floor(t/r),o&&a&&(e.statsToReport.uint32_audio_network_p2p_delay=Math.floor(a/o),e.audioJitterBufferDelay&&(e.statsToReport.uint32_p2p_delay=Math.floor(e.statsToReport.uint32_audio_network_p2p_delay+e.audioJitterBufferDelay))),n&&s&&(e.statsToReport.uint32_video_network_p2p_delay=Math.floor(s/n))}e.videoCount>0&&(e.statsToReport.uint32_video_avg_fps=Math.floor(e.totalVideoFPS/e.videoCount),e.statsToReport.uint32_video_avg_bitrate=Math.floor(e.totalVideoBitrate/e.videoCount)),e.audioCount>0&&(e.statsToReport.uint32_audio_recv_bitrate=e.statsToReport.uint32_audio_bitrate=Math.floor(e.totalAudioBitrate/e.audioCount)),e.audioLevelCount>0&&(e.statsToReport.uint32_audio_play_db=Math.floor(e.totalAudioLevel/e.audioLevelCount*100));let{callDurationCalculator:o}=this._room;o&&(e.statsToReport.uint32_audio_play_time=o.getDuration(t,tC.AUDIO),e.statsToReport.uint32_video_play_time=o.getDuration(t,tC.VIDEO)),e.statsToReport.uint32_video_render_first&&(e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,Pj));let{badCaseDetector:n}=this._room,{dataFreeze:a,count:s}=n.getDataFreezeDuration(t),{renderFreeze:c}=n.getRenderFreezeDuration(t);e.statsToReport.uint32_video_block_count=s,e.statsToReport.uint32_video_block_time=Math.min(a,e.statsToReport.uint32_video_play_time),e.statsToReport.uint32_video_external_block_time=Math.min(c,e.statsToReport.uint32_video_play_time),e.statsToReport.uint32_audio_block_time=Math.min(e.statsToReport.uint32_audio_block_time,e.statsToReport.uint32_audio_play_time),n.isBlackStream(t)&&0===e.statsToReport.uint32_video_avg_fps?e.statsToReport.uint32_video_black_screen_subjective=1:e.statsToReport.uint32_video_black_screen_subjective=0})),this._pathMainAudioMap.forEach(((e,t)=>{this.hasAudioFlag(e.userId)?e.statsToReport.uint64_play_first_frame_time-e.statsToReport.uint64_start_enter_time>Pj&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+Pj):this._pathMainAudioMap.delete(t)})),this._pathMainVideoMap.forEach(((e,t)=>{this.hasVideoFlag(e.userId)?e.statsToReport.uint64_render_first_frame_time-e.statsToReport.uint64_start_enter_time>Pj&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+Pj):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>Pj&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+Pj)}getReportData(){this._basicInfo.uint32_networkType=ND();let e={uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new Uj({userId:this._room.userId,tinyId:this._room.tinyId,role:"anchor"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:dN(this._signalInfo.relayIp),uint32_client_ip:dN(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(Math.random()*Xb(2,31)),msg_path_enter_room:this._pathJoinRoom,msg_path_exit_room:this._pathLeaveRoom,msg_path_recv_video:[...this._pathMainVideoMap.values()].map((e=>e.statsToReport)),msg_quality_statistics:[...this._remoteStreamStatMap.values()].map((e=>e.statsToReport)),str_room_name:String(this._room.roomId||0),msg_path_recv_audio:[...this._pathMainAudioMap.values()].map((e=>e.statsToReport)),uint32_info_client_ip:dN(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,bytes_report_buf_from_0x1:this._signalInfo.endReportExtend,str_user_sig:this._room.userSig,bytes_report_token:this._signalInfo.reportToken};return IN(e),e}report(){return aw(this,null,(function*(){try{this.prepareReport();let e=this.getReportData();yield this.upload(e),this.initData()}catch(nM){this._log.warn(nM)}finally{this.isDestroyed&&(this._room=null)}}))}upload(e){return aw(this,null,(function*(){if(0===e.msg_path_enter_room.uint64_start_time)return;let t=Number(this._room.sdkAppId),r=JO.enable?ON(e,2001,t):yield HN(e),i=r instanceof ArrayBuffer,o="".concat(RD(t,jw.KEY_POINT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r));let a=[this.uploadKVStat(IL),this.uploadKVStat(TL)];n||a.push(BN({url:o,body:r,priority:"low"})),yield Promise.all(a)}))}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}uploadKVStat(e){return aw(this,null,(function*(){let t=e.getReportData(this._room.userSig,this._signalInfo.reportToken);if(0===t.stats_count.length&&0===t.stats_distribution.length)return;t.msg_sdk_basic_info=Zb(Qb({},t.msg_sdk_basic_info),{bytes_device_name:this._basicInfo.string_device_name||"",bytes_os_version:this._basicInfo.string_os_version||"",uint32_framework:this._frameWorkType,uint32_network_type:this._basicInfo.uint32_networkType||0}),this._log.debug(t);let r=JO.enable?ON(t,2003,this._room.sdkAppId):yield HN(t),i=r instanceof ArrayBuffer,o="".concat(RD(+this._room.sdkAppId,jw.KV_STAT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r)),n||BN({url:o,body:r})}))}};iw([ZP({settings:{timeout:500,retries:3}})],Lj.prototype,"upload",1);var Pj=5e3,xj={msg_user_info:null,uint32_video_avg_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_avg_bitrate:0,uint32_video_block_time:0,uint32_video_play_time:0,uint32_audio_block_time:0,uint32_audio_play_time:0,uint32_audio_play_db:0,uint32_avg_down_loss:0,uint32_stream_type:0,uint32_video_block_count:0,uint32_audio_block_count:0,uint32_audio_bitrate:0,uint32_video_black_screen_subjective:0,uint32_audio_recv_bitrate:0,uint32_video_external_block_time:0,uint32_video_consume_render_rate:0},Uj=class{constructor(e){ow(this,"str_identifier"),ow(this,"str_tinyid"),ow(this,"uint32_role"),this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},Vj=Lj,Fj=class{constructor(){ow(this,"_startTime"),ow(this,"_endTime"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=iN())}stop(){0===this._endTime&&(this._endTime=iN())}getDuration(){return 0===this._endTime?iN()-this._startTime:this._endTime-this._startTime}get startTime(){return this._startTime}get endTime(){return this._endTime}},Bj=class{constructor(e){ow(this,"_room",null),ow(this,"_durationMap"),ow(this,"_eventMap",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(YO.REMOTE_TRACK_SUBSCRIBED,this.handleSubscribed).set(YO.REMOTE_TRACK_UNSUBSCRIBED,this.handleUnsubscribed).set(YO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;var o;let{userId:n}=i;if(!this.hitTest(t))return;r.hasAudio&&!i.hasAudio&&this.stopDurationItem("".concat(n,"_main"),tC.AUDIO),r.hasVideo&&!i.hasVideo&&this.stopDurationItem("".concat(n,"_main"),tC.VIDEO),r.hasAuxiliary&&!i.hasAuxiliary&&this.stopDurationItem("".concat(n,"_auxiliary"),tC.VIDEO);let a=null==(o=this._room)?void 0:o.remotePublishedUserMap.get(n);a&&(!r.hasAudio&&i.hasAudio&&a.remoteAudioTrack.isSubscribed&&this.addDuractionItem(n,tC.AUDIO,"main"),!r.hasVideo&&i.hasVideo&&a.remoteVideoTrack.isSubscribed&&this.addDuractionItem(n,tC.VIDEO,"main"),!r.hasAuxiliary&&i.hasAuxiliary&&a.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(n,tC.VIDEO,"auxiliary"))})),this._eventMap.forEach(((e,t)=>KO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>KO.off(t,e,this))),this._eventMap.clear()}handleSubscribed(e){let{track:t}=e;if(!this.hitTest(t.room))return;let{userId:r,streamType:i,kind:o}=t;t.isSubscribed?this.addDuractionItem(r,o,i):this.stopDurationItem("".concat(r,"_").concat(i),o)}handleUnsubscribed(e){let{track:t}=e;this.hitTest(t.room)&&this.stopDurationItem("".concat(t.userId,"_").concat(t.streamType),t.kind)}isRecording(e){return e.findIndex((e=>0===e.endTime))>=0}addDuractionItem(e,t,r){let i="".concat(e,"_").concat(r),o=new Fj,n=this._durationMap.get(i);n?this.isRecording(n[t])||n[t].push(o):this._durationMap.set(i,{userId:e,type:r,audio:t===tC.AUDIO?[o]:[],video:t===tC.AUDIO?[]:[o]})}stopDurationItem(e,t){if(this._durationMap.has(e)){let r=this._durationMap.get(e)[t].find((e=>0===e.endTime));r&&r.stop()}}hitTest(e){return this._room===e}getDuration(e,t){return this._durationMap.has(e)?this._durationMap.get(e)[t].reduce(((e,t)=>e+t.getDuration()),0):0}getDurationMap(){return this._durationMap}reset(){this._durationMap.clear()}destroy(){this._room=null,this.uninstallEvents()}},Hj=class{constructor(){ow(this,"renderFreezeMap",new Map),ow(this,"dataFreezeMap",new Map)}get(e,t){let r=this.renderFreezeMap.get(e),i=this.dataFreezeMap.get(e);return t?"data"===t?i:r:(fO||dk)&&r&&i&&r.duration>i.duration?r:i}set(e,t,r){"data"===r?this.dataFreezeMap.set(e,t):this.renderFreezeMap.set(e,t)}clear(){this.renderFreezeMap.clear(),this.dataFreezeMap.clear()}},Wj=class{constructor(e){ow(this,"_room"),ow(this,"_renderFreezeMap",new Map),ow(this,"_isVideoPlayingEventFiredMap",new Map),ow(this,"_dataFreezeMap",new Map),ow(this,"_monitorFreezeData",new Hj),ow(this,"_eventMap",new Map),ow(this,"_videoEncodeFailedCount",0),ow(this,"_audioEncodeFailedCount",0),ow(this,"_encodeFailedThreshold",3),ow(this,"eventListenerMap",new Map),this._room=e.room,this.installEvents()}getRenderFreezeMap(){return this._renderFreezeMap}getDataFreezeMap(){return this._dataFreezeMap}installEvents(){this._eventMap.set(YO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(YO.PLAY_TRACK_START,this.onPlayTrackStart).set(YO.UNSUBSCRIBE_SUCCESS,(e=>{let{room:t,streamType:r,remotePublishedUser:i}=e;if(!this.hitTest(t))return;let{userId:o}=i,n="".concat(o,"_").concat(r);this.stopDataFreeze({key:n,userId:o,type:r})})).set(YO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:r,muteState:i}=e;if(!this.hitTest(t))return;let{userId:o}=i;if(r.hasVideo&&!i.hasVideo){let e="main",t="".concat(i.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:o,type:e})}if(r.hasAuxiliary&&!i.hasAuxiliary){let e="auxiliary",t="".concat(i.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:o,type:e})}})).set(YO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,reason:i,type:o}=e;if(t.isRemote&&t.room&&this.hitTest(t.room)&&o===tC.VIDEO){if("PLAYING"===r){let e="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}i===tC.MUTE?this.onVideoTrackMuted(t):i===tC.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(YO.HEARTBEAT_REPORT,this.onHearBeatReport).set(YO.REMOTE_VIDEO_PLAY_START,this.onRemoteVideoPlayStart).set(YO.REMOTE_VIDEO_PLAY_FINISH,this.onRemoteVideoPlayEnd),this._eventMap.forEach(((e,t)=>KO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>KO.off(t,e,this))),this._eventMap.clear()}stop(){this._renderFreezeMap.clear(),this._dataFreezeMap.clear(),this._isVideoPlayingEventFiredMap.clear()}onVideoTrackMuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:r}=e,i="".concat(t,"_").concat(r),o=this._dataFreezeMap.get(i),n=new Fj;o?o.durationItemList.push(n):this._dataFreezeMap.set(i,{userId:t,type:r,durationItemList:[n],isFreezing(){let e=this.durationItemList[this.durationItemList.length-1];return e&&0===e.endTime}})}onVideoTrackUnmuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:r}=e,i="".concat(t,"_").concat(r);this.stopDataFreeze({key:i,userId:t,type:r})}onHearBeatReport(e){let{room:t,report:r}=e;if(this.hitTest(t)){if(r.msg_up_stream_info.msg_video_status){let e=r.msg_up_stream_info.msg_video_status,t=Array.from(this._room.localTracks).find((e=>"video"===e.kind&&!e.isScreen)),i=(null==t?void 0:t.stat.bytesSent)||0;if(!1===(null==t?void 0:t.isMediaTrackActive)||i<=0)return;e.forEach((e=>{2===e.uint32_video_stream_type&&(0!==e.uint32_video_capture_fps&&0===e.uint32_video_codec_bitrate&&0===e.uint32_video_enc_fps&&null!=t&&t.isPublished?(this._videoEncodeFailedCount+=1,this._videoEncodeFailedCount===this._encodeFailedThreshold&&($P.uploadEvent({userId:this._room.userId,log:"stat-".concat(kC.VIDEO_ENCODE_FAILED_DURING_CALL)}),this._videoEncodeFailedCount=0)):this._videoEncodeFailedCount=0)}))}if(r.msg_up_stream_info.msg_audio_status){let e=r.msg_up_stream_info.msg_audio_status,t=Array.from(this._room.localTracks).find((e=>"audio"===e.kind)),i=(null==t?void 0:t.stat.bytesSent)||0;if(!1===(null==t?void 0:t.isMediaTrackActive)||i<=0)return;0===e.uint32_audio_codec_bitrate&&null!=t&&t.isPublished?(this._audioEncodeFailedCount+=1,this._audioEncodeFailedCount===this._encodeFailedThreshold&&($P.uploadEvent({userId:this._room.userId,log:"stat-".concat(kC.AUDIO_ENCODE_FAILED_DURING_CALL)}),this._audioEncodeFailedCount=0)):this._audioEncodeFailedCount=0}}}stopDataFreeze(e){let{key:t,userId:r,type:i}=e,o=this._dataFreezeMap.get(t);if(!o||!o.isFreezing())return;let n=o.durationItemList[o.durationItemList.length-1];n.stop();let a=n.getDuration();if(a>FC){let e=this._monitorFreezeData.get(t,"data");this._monitorFreezeData.set(t,{userId:r,type:i,duration:e?e.duration+a:a},"data")}else o.durationItemList.pop()}getTotalDuration(e){return e.reduce(((e,t)=>{let r=t.getDuration();return e+Math.min(r,5e3)}),0)}onPlayTrackStart(e){let{track:t}=e;if(!t.isRemote||!this.hitTest(t.room)||t.kind!==tC.VIDEO||!t.isRemotePublished)return;let r="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.has(r)||this._isVideoPlayingEventFiredMap.set(r,!1)}getDataFreezeDuration(e){let t={dataFreeze:0,count:0},r=this._dataFreezeMap.get(e);if(r){if(r.isFreezing()){let e=r.durationItemList[r.durationItemList.length-1];e.stop(),e.getDuration()<FC&&r.durationItemList.pop()}t.dataFreeze=this.getTotalDuration(r.durationItemList),t.count=r.durationItemList.length}return t}getRenderFreezeDuration(e){let t={renderFreeze:0,count:0},r=this._renderFreezeMap.get(e);return r&&(t.renderFreeze=r.totalDuration,t.count=r.count),t}getMonitorFreeze(){return this._monitorFreezeData}isBlackStream(e){return!!this._isVideoPlayingEventFiredMap.has(e)&&!this._isVideoPlayingEventFiredMap.get(e)}onRemoteVideoPlayStart(e){let{track:t,player:r}=e;var i;if(!IP())return;let o=0,n=()=>{document.hidden||(o=0)};document.addEventListener("visibilitychange",n);let a=(e,i)=>{var n;if(o){let e=t.decodeFPS,r=e>0&&e<=5?600+1e3/e:600,n=i.presentationTime-o;if(n>r){n=Math.min(n,5e3);let e="".concat(t.userId,"_").concat(t.streamType),r=this._monitorFreezeData.get(e,"render");r?r.duration+=n:this._monitorFreezeData.set(e,{userId:t.userId,type:t.streamType,duration:n},"render");let i=this._renderFreezeMap.get(e);i?(i.totalDuration+=n,i.count+=1):this._renderFreezeMap.set(e,{userId:t.userId,type:t.streamType,totalDuration:n,count:1})}}o=i.presentationTime,null==(n=r.element)||n.requestVideoFrameCallback(a)};null==(i=r.element)||i.requestVideoFrameCallback(a),this.eventListenerMap.set("".concat(t.userId,"_").concat(t.streamType),{onVisibilityChange:n})}onRemoteVideoPlayEnd(e){let{track:t,player:r}=e,i="".concat(t.userId,"_").concat(t.streamType),o=this.eventListenerMap.get(i);o&&document.removeEventListener("visibilitychange",o.onVisibilityChange)}resetMonitor(){this._monitorFreezeData.clear()}hitTest(e){return e===this._room}destroy(){this.uninstallEvents()}},jj=rw(sw(),1),Gj=class{constructor(e,t,r,i,o){let n=arguments.length>5&&void 0!==arguments[5]?arguments[5]:4/3;this.vbMode=e,this.faceDetectorHash=r,this.visionTaskRegistry=i,this.logger=o,ow(this,"animationState"),ow(this,"originalAspect"),ow(this,"totalOffsetX",0),ow(this,"totalOffsetY",0),ow(this,"defaultScaleRatio",.1),ow(this,"isRecovering",!1),ow(this,"boundaryY",280),ow(this,"lastActionTime",0),ow(this,"restTime",400),this.animationState={current:null,target:null,animating:!1,debounceTimer:null,startTime:0,duration:3e3,debounceTime:150,movementThreshold:30,debounceThreshold:15},this.addEvent(this.vbMode,!!this.faceDetectorHash),this.originalAspect=n||4/3,this.visionTaskRegistry.setVideo(this.faceDetectorHash,t)}addEvent(e,t,r){let i=[{key:570704,error:null!=r?r:t?void 0:11},{key:570705,error:null!=r?r:t?void 0:22}][e-1];i&&(t?IL.addSuccessEvent({key:i.key}):IL.addFailedEvent({key:i.key,error:i.error}))}actionCentering(e){let t=Date.now();if(this.animation(),!this.faceDetectorHash||t-this.lastActionTime<this.restTime||this.animationState.animating)return;let{videoWidth:r,videoHeight:i}=e;this.animationState.debounceThreshold=r/30,this.animationState.movementThreshold=r/20,this.boundaryY=.6*i;try{let e=this.visionTaskRegistry.getResult(this.faceDetectorHash);if(e.detections.length<=0)return void(1===this.vbMode&&this.recoverOriginal(r,i));let t=e.detections[0].boundingBox,o=t.originX,n=t.originY,a=t.width,s=t.height;1===this.vbMode?this.dualStageCropping(r,i,o,n,a,s):2===this.vbMode&&this.movingPortrait(r,i,o,n,a,s)}catch(dM){this.logger.error(dM)}this.lastActionTime=t}calculateBoundary(e,t,r,i){let o,n;return e>t/2?(o=t-r-i,n=r-o):(o=r,n=0),{min:o,offset:n}}calculateTargetPosition(e,t,r,i,o,n){let a,s,c=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.4,l=e+r/2,d=t+i/2,{min:u,offset:h}=this.calculateBoundary(l,o,e,r),{min:p,offset:m}=this.calculateBoundary(d,n,t,i);return a=2*u+r,s=2*p+i,a/s>this.originalAspect?(a=s*this.originalAspect,h=l-a/2):(s=a/this.originalAspect,m=d-s/2),r/o>c&&(h=0,m=0,a=o,s=n),h=Math.max(0,Math.min(h,o-a)),m=Math.max(0,Math.min(m,n-s)),{sx:h,sy:m,cropWidth:a,cropHeight:s,timestamp:Date.now()}}processFacePositionCrop(e,t,r){if(!this.animationState.current||!this.animationState.target){let e={sx:0,sy:0,cropWidth:t,cropHeight:r,timestamp:Date.now()};return this.animationState.current=e,void(this.animationState.target=e)}let i=this.positionDistance(this.animationState.target,e),o=this.positionDistance(this.animationState.current,e),n=this.animationState.current.cropWidth/t;i>this.animationState.debounceThreshold*n&&(clearTimeout(this.animationState.debounceTimer),this.animationState.animating=!1),!this.animationState.animating&&o>this.animationState.movementThreshold*n&&(this.animationState.target=e,this.animationState.debounceTimer=setTimeout((()=>{this.animationState.startTime=Date.now(),this.animationState.animating=!0}),this.animationState.debounceTime))}processFacePositionPortrait(e){if(!this.animationState.current||!this.animationState.target)return this.animationState.current=Qb({},e),void(this.animationState.target=Qb({},e));let t=this.positionDistance(this.animationState.current,e),r=this.positionDistance(this.animationState.target,e);t>this.animationState.debounceThreshold&&(clearTimeout(this.animationState.debounceTimer),this.animationState.animating=!1),!this.animationState.animating&&r>this.animationState.movementThreshold&&(this.animationState.current=e,this.animationState.debounceTimer=setTimeout((()=>{this.animationState.startTime=Date.now(),this.animationState.animating=!0}),this.animationState.debounceTime))}animation(){if(!this.animationState.animating)return;let e=Date.now()-this.animationState.startTime,t=Math.min(e/this.animationState.duration,1),r=e=>e<.5?2*e*e:(4-2*e)*e-1;if(this.animationState.current&&this.animationState.target){let e=(this.animationState.target.sx-this.animationState.current.sx)*r(t);this.animationState.current.sx+=e,this.totalOffsetX+=e;let i=(this.animationState.target.sy-this.animationState.current.sy)*r(t);if(this.animationState.current.sy+=i,this.totalOffsetY+=i,this.animationState.current.cropWidth+=(this.animationState.target.cropWidth-this.animationState.current.cropWidth)*r(t),this.animationState.current.cropHeight+=(this.animationState.target.cropHeight-this.animationState.current.cropHeight)*r(t),this.animationState.current.scaleRatio&&this.animationState.target.scaleRatio&&(this.animationState.current.scaleRatio+=(this.animationState.target.scaleRatio-this.animationState.current.scaleRatio)*r(t)),zD(this.animationState.current.scaleOffsetX)&&zD(this.animationState.target.scaleOffsetX)&&zD(this.animationState.current.scaleOffsetY)&&zD(this.animationState.target.scaleOffsetY)){let e=(this.animationState.target.scaleOffsetX-this.animationState.current.scaleOffsetX)*r(t);this.animationState.current.scaleOffsetX+=e;let i=(this.animationState.target.scaleOffsetY-this.animationState.current.scaleOffsetY)*r(t);this.animationState.current.scaleOffsetY+=i}}t>=1&&(this.animationState.animating=!1,this.animationState.current=this.animationState.target,this.isRecovering=!1)}positionDistance(e,t){return Math.sqrt(Xb(e.sx-t.sx,2)+Xb(e.sy-t.sy,2))}recoverOriginal(e,t){this.animationState.target={sx:0,sy:0,cropWidth:e,cropHeight:t,timestamp:Date.now()},this.animationState.animating=!0,this.animationState.startTime=Date.now(),this.isRecovering=!0}dualStageCropping(e,t,r,i,o,n){let a=arguments.length>6&&void 0!==arguments[6]?arguments[6]:.3;if(this.isRecovering)return;let s=this.calculateTargetPosition(r,i,o,n,e,t);this.processFacePositionCrop(s,e,t),o*n/s.cropWidth/s.cropHeight>a&&this.recoverOriginal(e,t)}movingPortrait(e,t,r,i,o,n){var a,s,c,l,d,u,h,p,m,f,_,g;let E={sx:r+o/2+this.totalOffsetX,sy:i+n/2+this.totalOffsetY,cropWidth:e,cropHeight:t,scaleRatio:null!=(s=null==(a=this.animationState.current)?void 0:a.scaleRatio)?s:1,scaleOffsetX:null!=(l=null==(c=this.animationState.current)?void 0:c.scaleOffsetX)?l:0,scaleOffsetY:null!=(u=null==(d=this.animationState.current)?void 0:d.scaleOffsetY)?u:0,timestamp:Date.now()};this.animationState.target={sx:e/2,sy:i+n/2,cropWidth:e,cropHeight:t,scaleRatio:null!=(p=null==(h=this.animationState.target)?void 0:h.scaleRatio)?p:1,scaleOffsetX:null!=(f=null==(m=this.animationState.target)?void 0:m.scaleOffsetX)?f:0,scaleOffsetY:null!=(g=null==(_=this.animationState.target)?void 0:_.scaleOffsetY)?g:0,timestamp:Date.now()},this.animationState.animating||(this.animationState.target.scaleRatio=Math.sqrt(o*n/e/t/this.defaultScaleRatio),this.animationState.target.scaleOffsetX=-this.animationState.target.scaleRatio/2+.5,this.animationState.target.scaleOffsetY=1-this.animationState.target.scaleRatio,(this.animationState.target.sy-this.animationState.target.scaleOffsetY*this.animationState.target.cropHeight)/this.animationState.target.scaleRatio<this.boundaryY&&(this.animationState.target.scaleOffsetY=(this.animationState.target.sy-this.boundaryY*this.animationState.target.scaleRatio)/this.animationState.target.cropHeight)),this.processFacePositionPortrait(E)}set aspectRatio(e){this.originalAspect=e}get current(){return this.animationState.current}get offset(){return{offsetX:this.totalOffsetX,offsetY:this.totalOffsetY}}get targetCrop(){return this.animationState.target}},zj=class extends vB{constructor(e,t){super(e,t.input,{name:"vb",create2d:!1,useDefaultProgram:!1,useFbo:!1,createTexture:!0,width:t.width,height:t.height,logger:e.log}),ow(this,"_bgTexture"),ow(this,"_waterMarkTexture"),ow(this,"_lastMaskTexture"),ow(this,"_lastMaskFbo"),ow(this,"_textureValid",!1),ow(this,"_selfieTextureValid",!1),ow(this,"_selfieSegmentationHash"),ow(this,"wasm"),ow(this,"predictReady"),ow(this,"_color"),ow(this,"_prePrograme"),ow(this,"_segmentationMask"),ow(this,"_weixin",!1),ow(this,"_centerFace"),ow(this,"_textureMatrixLocation"),ow(this,"_offsetMatrixLocation"),ow(this,"_colorLocation"),ow(this,"_enableFaceCentering",!1),ow(this,"_enableEffectOptimization",!1),ow(this,"_mat4"),ow(this,"_postProcessing"),ow(this,"_onAbort"),ow(this,"_visionTaskRegistry"),ow(this,"resolvePreditReady"),this.init(t).catch((t=>{e.log.error(t),e.destroy(new fw({code:pw.VIDEO_MANAGER_ERROR,extraCode:6,message:"init vb node error ".concat(t.message||t)})),this.resolvePreditReady()}))}init(e){return aw(this,null,(function*(){var t,r,i;this.predictReady=new Promise((e=>{this.resolvePreditReady=e}));let o=e.Wasm,n=this.context.ctx;if(e.color&&(this._color=e.color),e.mat4&&(this._mat4=e.mat4),e.postProcessing&&(this._postProcessing=e.postProcessing),this._enableFaceCentering=null!=(t=e.enableFaceCentering)&&t,this._enableEffectOptimization=null!=(r=e.enableEffectOptimization)&&r,this.wasm=new o.AllIn1(n),this.wasm.blurRadius=e.blurRadius||3,this.wasm.mirror=!!e.mirror,this.wasm.rotation=e.rotation||0,this.wasm.vbMode="blur"===e.bg?1:e.bg instanceof HTMLImageElement?2:"color"===e.bg?3:0,this._onAbort=e.onAbort,e.bg||this.resolvePreditReady(),e.waterMark){let{x:t,y:r,width:i,height:o}=e.waterMark;this.wasm.setWaterMark(t,r,i,o)}if(e.beautyParams){let{beauty:t,brightness:r,ruddy:i}=e.beautyParams;this.wasm.setBeauty(t,r,i,null==e?void 0:e.width,null==e?void 0:e.height)}this.program=this.wasm.init(),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),n.uniform1i(n.getUniformLocation(this.program,"mask"),1),e.bg instanceof HTMLImageElement&&(n.uniform1i(n.getUniformLocation(this.program,"bg"),2),this._bgTexture=this.createTexture(e.bg)),e.waterMark&&(n.uniform1i(n.getUniformLocation(this.program,"waterMark"),3),this._waterMarkTexture=this.createTexture(e.waterMark.image));let a=new Float32Array([1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1]);if(this._textureMatrixLocation=n.getUniformLocation(this.program,"u_textureMatrix"),n.uniformMatrix4fv(this._textureMatrixLocation,!1,a),this._offsetMatrixLocation=n.getUniformLocation(this.program,"u_offsetMatrix"),n.uniformMatrix4fv(this._offsetMatrixLocation,!1,a),this._colorLocation=n.getUniformLocation(this.program,"u_color"),n.uniform1i(n.getUniformLocation(this.program,"lastMask"),4),this._weixin){let e=this.context.createShader(n.FRAGMENT_SHADER,"#version 300 es\nprecision highp float;\nuniform sampler2D u_texture;\nuniform sampler2D mask;\n\nin vec2 v_texCoord;\nout vec4 outColor;\nvoid main() {\n outColor = vec4(texture(u_texture, v_texCoord).rgb, texture(mask, v_texCoord).a);\n}"),t=this.context.createShader(n.VERTEX_SHADER,"#version 300 es\nin vec2 a_position;\nin vec2 a_texCoord;\nout vec2 v_texCoord;\nvoid main() {\n gl_Position = vec4(a_position.x, a_position.y, 0, 1);\n v_texCoord = a_texCoord;\n}");this._prePrograme=this.context.createProgram(t,e),n.useProgram(this._prePrograme),this.setAttributes(this.positionBuffer,this.texCoordBuffer),n.uniform1i(n.getUniformLocation(this._prePrograme,"mask"),1)}!this._enableEffectOptimization||2!==this.wasm.vbMode&&3!==this.wasm.vbMode?this._postProcessing=void 0:OO()?(this._postProcessing=void 0,this.log.warn("Virtual background post-processing isn't allowed on mobile.")):null==(i=this._postProcessing)||i.init(n,this.positionBuffer,this.texCoordBuffer,4/3),yield this.initVisionTasks(e)}))}initVisionTasks(e){return aw(this,null,(function*(){if(e.bg){if(this._visionTaskRegistry=yield window.VisionTaskRegistry.getInstance(),!window.VisionTaskRegistry||!this._visionTaskRegistry||!this._visionTaskRegistry.visionWasm)throw new Error("Virtual background assets not found. Please redeploy the assets of the npm package.");if(this._selfieSegmentationHash=yield this._visionTaskRegistry.register(window.VisionTaskType.ImageSegmenter,{canvas:this.context._canvas}),this._visionTaskRegistry.setVideo(this._selfieSegmentationHash,this.image),this._enableFaceCentering)try{this._visionTaskRegistry.models.has(window.VisionTaskType.FaceDetector)||(yield this._visionTaskRegistry.preloadModels([window.VisionTaskType.FaceDetector]));let e=yield this._visionTaskRegistry.register(window.VisionTaskType.FaceDetector);if(!e)return;this._centerFace=new Gj(this.wasm.vbMode,this.image,e,this._visionTaskRegistry,this.context.log)}catch(DC){this.log.error("Face detector model not found. Please redeploy the assets of the npm package.")}}}))}onPredict(e){let t=this.context.ctx;this._weixin&&(this._lastMaskTexture||(this._lastMaskTexture=this.createTexture(this.image),this._lastMaskFbo=this.createFramebuffer(this._lastMaskTexture)));let r=this.getMaskTexture(e);if(!r)return;let i=r;this._postProcessing&&(this._postProcessing.ratio=this.image.videoWidth/this.image.videoHeight,i=this._postProcessing.postProcessing(r)),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),this.useTexture(),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,i||null),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this._bgTexture||null),t.activeTexture(t.TEXTURE3),t.bindTexture(t.TEXTURE_2D,this._waterMarkTexture||null),3===this.wasm.vbMode&&t.uniform3fv(this._colorLocation,this._color),this.useBufferFrame(),this._segmentationMask=e,this.totalFrames++,this.centerFace(),CN(this.wasm.rotation)&&this.resize(this.image.height,this.image.width),t.viewport(0,0,t.canvas.width,t.canvas.height),t.drawArrays(t.TRIANGLE_STRIP,0,4),e.close()}getMaskTexture(e){return e.confidenceMasks?e.confidenceMasks[0].getAsWebGLTexture():void 0}onFirstFrame(){this.waitingFirstFrame=!1;let e=this.context.ctx;this.useTexture(),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image)}render(e){let t=this.context.ctx,{image:r}=this;this.tryVideoFrameCallback();let{videoWidth:i,videoHeight:o}=r;if(CN(this.wasm.rotation)&&!this._visionTaskRegistry&&([i,o]=[o,i]),0===i||0===o||!this.available)return!1;r.width=i,r.height=o;let n=!1;if(this.totalFrames)this.useTexture(),n=this._selfieTextureValid,this._selfieTextureValid=!0;else{if(!this.program)return!1;this.useTexture(),n=this._textureValid,this._textureValid=!0}if(this.width===i&&this.height===o&&n?t.texSubImage2D(t.TEXTURE_2D,0,0,0,t.RGBA,t.UNSIGNED_BYTE,r):(this.resize(i,o),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r)),this._weixin){if(t.useProgram(this._prePrograme),this.useTexture(),this._segmentationMask){let e=this.getMaskTexture(this._segmentationMask);t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,e||null),t.bindFramebuffer(t.FRAMEBUFFER,this._lastMaskFbo||null)}t.drawArrays(t.TRIANGLE_STRIP,0,4),this.useTexture(),this._segmentationMask?t.copyTexSubImage2D(t.TEXTURE_2D,0,0,0,0,0,i,o):t.copyTexImage2D(t.TEXTURE_2D,0,t.RGBA,0,0,i,o,0)}try{if(this._selfieSegmentationHash&&this._visionTaskRegistry){let e=this._visionTaskRegistry.getResult(this._selfieSegmentationHash);1===this.totalFrames&&this.context._canvas&&this.resolvePreditReady(),this.onPredict(e)}}catch(lM){this._onAbort&&this._onAbort(lM)}return this.totalFrames||(t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this._bgTexture||null),t.activeTexture(t.TEXTURE3),t.bindTexture(t.TEXTURE_2D,this._waterMarkTexture||null),t.drawArrays(t.TRIANGLE_STRIP,0,4)),this._visionTaskRegistry&&this._visionTaskRegistry.resetHashResults(),!1}centerFace(){if(!this._centerFace||!this._enableFaceCentering)return;let e=this.context.ctx;this._centerFace.aspectRatio=e.canvas.width/e.canvas.height,this._centerFace.actionCentering(this.image);let{current:t,offset:r}=this._centerFace;if(t&&(1===this.wasm.vbMode&&this.drawImage(t.sx,t.sy,t.cropWidth,t.cropHeight),r&&2===this.wasm.vbMode)){if(!this._mat4)return;let i=this._mat4.create(),{scaleRatio:o=1,scaleOffsetX:n=0,scaleOffsetY:a=0}=t;this._mat4.fromTranslation(i,[-r.offsetX/e.canvas.width+n,a,0]),this._mat4.scale(i,i,[o,o,1]),e.uniformMatrix4fv(this._offsetMatrixLocation,!1,i)}}drawImage(e,t,r,i){let o=this.context.ctx;if(!this._mat4)return;let{width:n,height:a}=o.canvas,s=this._mat4.create();this._mat4.fromTranslation(s,[e/n,1-(t+i)/a,0]),this._mat4.scale(s,s,[r/n,i/a,1]),o.uniformMatrix4fv(this._textureMatrixLocation,!1,s)}close(){var e;super.close();let t=this.context.ctx;this._bgTexture&&t.deleteTexture(this._bgTexture),this._waterMarkTexture&&t.deleteTexture(this._waterMarkTexture),this._lastMaskTexture&&t.deleteTexture(this._lastMaskTexture),this._lastMaskFbo&&t.deleteFramebuffer(this._lastMaskFbo),this._prePrograme&&t.deleteProgram(this._prePrograme),this._postProcessing&&this._postProcessing.close(),null==(e=this.wasm)||e.close()}},Kj=class extends lB{constructor(e){super(e,{name:"yuv-source",useDefaultProgram:!1,create2d:!1,useFbo:!1,createTexture:!1,logger:e.log,fragmentShaderSource:"\n precision highp float;\n uniform sampler2D ySampler;\n uniform sampler2D uSampler;\n uniform sampler2D vSampler;\n varying highp vec2 textureCoord;\n const mat4 YUV2RGB = mat4(\n 1.1643828125, 0, 1.59602734375, -.87078515625,\n 1.1643828125, -.39176171875, -.81296875, .52959375,\n 1.1643828125, 2.017234375, 0, -1.081390625,\n 0, 0, 0, 1);\n void main() {\n vec3 yuv;\n yuv.r = texture2D(ySampler, textureCoord).r;\n yuv.g = texture2D(uSampler, textureCoord).r;\n yuv.b = texture2D(vSampler, textureCoord).r;\n gl_FragColor = vec4(yuv,1) * YUV2RGB;\n }\n ",vertexShaderSource:"\n attribute vec4 vertexPos;\n attribute vec2 texturePos;\n varying vec2 textureCoord;\n void main() {\n gl_Position = vertexPos;\n textureCoord = texturePos;\n }"}),ow(this,"yTextureRef"),ow(this,"uTextureRef"),ow(this,"vTextureRef"),ow(this,"Y"),ow(this,"U"),ow(this,"V"),this.useProgram();let t=this.context.ctx;t.pixelStorei(t.PACK_ALIGNMENT,1),t.pixelStorei(t.UNPACK_ALIGNMENT,1),this.setTexBuffer([0,1,1,1,0,0,1,0]),this.yTextureRef=this._initTexture("ySampler",0),this.uTextureRef=this._initTexture("uSampler",1),this.vTextureRef=this._initTexture("vSampler",2),this._canvas=e._canvas}_initTexture(e,t){let r=this.context.ctx,i=r.createTexture();return r.bindTexture(r.TEXTURE_2D,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.bindTexture(r.TEXTURE_2D,null),r.uniform1i(r.getUniformLocation(this.program,e),t),i}render(e){let t=this.context.ctx,r=this.width,i=this.height;return this.useProgram(),t.viewport(0,0,r,i),t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,this.yTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r,i,t.LUMINANCE,t.UNSIGNED_BYTE,this.Y),t.activeTexture(t.TEXTURE1),t.bindTexture(t.TEXTURE_2D,this.uTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r/2,i/2,t.LUMINANCE,t.UNSIGNED_BYTE,this.U),t.activeTexture(t.TEXTURE2),t.bindTexture(t.TEXTURE_2D,this.vTextureRef),t.texSubImage2D(t.TEXTURE_2D,0,0,0,r/2,i/2,t.LUMINANCE,t.UNSIGNED_BYTE,this.V),this.draw(),!0}resize(e,t){super.resize(e,t);let r=this.context.ctx;r.activeTexture(r.TEXTURE0),r.bindTexture(r.TEXTURE_2D,this.yTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e,t,0,r.LUMINANCE,r.UNSIGNED_BYTE,null),r.activeTexture(r.TEXTURE1),r.bindTexture(r.TEXTURE_2D,this.uTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e/2,t/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,null),r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,this.vTextureRef),r.texImage2D(r.TEXTURE_2D,0,r.LUMINANCE,e/2,t/2,0,r.LUMINANCE,r.UNSIGNED_BYTE,null)}},qj=(e,t)=>{switch(e){case"webCodecs":return"videoFrame"===t?514705:514706;case"wasm":return"webgl"===t?514707:"videoFrame"===t?514708:514709}throw new Error("decoder type not supported")};var Yj=0,Jj=class{constructor(e){ow(this,"id",Yj++),ow(this,"trackDoneOB"),ow(this,"startOB"),ow(this,"stopOB"),ow(this,"decoder"),ow(this,"videoContext"),ow(this,"gop",0),ow(this,"gop_helper",0),ow(this,"waitFirstKeyFrame",!0),ow(this,"startTimestamp",0),ow(this,"startTime",0),ow(this,"startPerformanceTime",0),ow(this,"inputFrameCount",0),ow(this,"decodedFrameCount",0),ow(this,"decodeFrameCount",0),ow(this,"downgradeLevel",0),ow(this,"lastDowngradeTime",0),ow(this,"lastFrameDiff",0),ow(this,"lastDecodeFrameTimestamp",0),ow(this,"config"),ow(this,"gop_before_configure",[]),ow(this,"videoElement"),ow(this,"type","wasm"),ow(this,"goodType"),ow(this,"renderer","2d"),ow(this,"wasmOption"),ow(this,"createDecoder"),ow(this,"_decodeSink"),ow(this,"isReported",!1),ow(this,"track"),ow(this,"stateChangeOB"),ow(this,"failedReason");let{track:t,createDecoder:r}=e;if(this.stateChangeOB=dV(),this.track=t,this.createDecoder=r,this.wasmOption={yuvMode:"webgl"===e.renderer,wasmPath:e.wasmPath,workerMode:e.workerMode,canvas:e.canvas},this.config=e.config,this.videoElement=e.videoElement,this.renderer=e.renderer,this.trackDoneOB=AV(t.availableState,FP.OFF),this.stopOB=dV(),"auto"===e.type){switch(e.fallback){case"wasm":this.type="wasm",this.renderer="webgl";break;case"wasm_2d":this.type="wasm",this.renderer="2d";break;case"wasm_video":this.type="wasm",this.renderer="videoFrame";break;default:this.type="webCodecs"}this.wasmOption.yuvMode="webgl"===this.renderer}else this.type=e.type;this.changeRenderer(this.renderer),jU(this.stateChangeOB,pF(((e,r)=>(e!==r&&t.onDecodeDowngradeStateChanged({type:this.type,renderer:this.renderer,reason:this.failedReason,prevState:e,state:r}),r)),"INITIALIZED"),zV(this.stopOB),KF()),this.start()}start(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.waitFirstKeyFrame=!0,this.stateChangeOB.next("STARTING");let t=jU(this.pipe(this.track),zV(this.stopOB),$U());jU(t,KF((()=>{this.track.stat.framesDecoded++}),(t=>{if(this.track.log.error("".concat(this.id," play failed: ").concat(t," retryCount: ").concat(e)),IL.addFailedEvent({key:qj(this.type,this.renderer),error:t}),e>4)this.failedReason=t,this.stateChangeOB.next("FAILED"),IL.addFailedEvent({key:514704});else{if(this.goodType)return void this.start(e);switch(this.type){case"webCodecs":this.type="wasm",this.changeRenderer("webgl");break;case"wasm":if("webgl"===this.renderer)this.changeRenderer("videoFrame")}this.start(e+1)}}),(()=>{this.track.log.warn("".concat(this.id," decoderOB completed")),IL.addSuccessEvent({key:qj(this.type,this.renderer)}),IL.addSuccessEvent({key:514704})}))),jU(t,GV(1),KF((()=>{this.track.player.handlePlaying("canvas"),this.goodType=this.type,this.stateChangeOB.next("STARTED")})))}mock(e){this._decodeSink?this._decodeSink.error(e):this.start()}close(e){this.stopOB.next(e)}changeRenderer(e){this.renderer=e,"videoFrame"===this.renderer&&!kL()&&(this.renderer="2d"),this.wasmOption.yuvMode="webgl"===this.renderer}decode(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];var r,i;if(this.failedReason)return;this.inputFrameCount++;let o=new Uint8Array(e.data);if(!function(e){return 0===e[0]&&0===e[1]&&0===e[2]&&1===e[3]}(o)||o.length<5)return this.stateChangeOB.next("FAILED"),this.close("not h26x frame ".concat(o.subarray(0,5))),e;let n=!1;switch(31&o[4]){case 5:case 7:n=!0}if("configured"!==(null==(r=this.decoder)?void 0:r.state))return this.track.log.debug("not configured ".concat(this.inputFrameCount)),n&&(this.gop_before_configure=[]),this.gop_before_configure.push({data:e.data,timestamp:e.timestamp,type:e.type}),e;this.gop_before_configure.length>0&&!t&&(this.gop_before_configure.forEach((e=>this.decode(e,!0))),this.gop_before_configure=[]);let{timestamp:a}=e;if(n?(this.gop=this.gop_helper,this.gop_helper=0):this.gop_helper++,this.decoder){if(this.waitFirstKeyFrame){if(!n)return void this.track.log.debug("wait first key frame ".concat(this.inputFrameCount," ").concat(o.subarray(0,5).join(" ")));this.waitFirstKeyFrame=!1,this.startTimestamp=a,this.startTime=Date.now(),this.startPerformanceTime=iN()}switch(this.downgradeLevel){case 0:case 1:break;case 2:if(this.gop_helper>this.gop>>1)return;break;case 3:if(this.gop_helper>0)return;break;default:return}return(this.decodeFrameCount<10||this.decodeFrameCount%500==0)&&this.track.log.debug("decode ".concat(this.decodeFrameCount," gop: ").concat(this.gop," ").concat(a," ").concat(null==(i=e.getMetadata)?void 0:i.call(e).rtpTimestamp)),this.decodeFrameCount++,this.lastDecodeFrameTimestamp=a,void this.decoder.decode({data:e.data,type:e.type,timestamp:this.lastDecodeFrameTimestamp})}return e}checkDowngradeByFrameDiff(){let e=this.downgradeLevel,t=this.decodeFrameCount-this.decodedFrameCount;t>this.lastFrameDiff?(this.downgradeLevel++,this.downgradeLevel>4&&(this.downgradeLevel=4)):t<=this.lastFrameDiff&&this.downgradeLevel>0&&this.downgradeLevel--,this.downgradeLevel!==e&&this.track.log.debug("downgrade level ".concat(e," to ").concat(this.downgradeLevel," ").concat(this.decodeFrameCount," frameDiff: ").concat(t,", lastFrameDiff: ").concat(this.lastFrameDiff)),this.lastFrameDiff=t,this.lastDowngradeTime=Date.now()}checkDowngradeByTimestampDiff(e){let t=this.downgradeLevel;this.lastDecodeFrameTimestamp-e>9e4?(this.downgradeLevel++,this.downgradeLevel>4&&(this.downgradeLevel=4)):this.downgradeLevel>0&&this.downgradeLevel--,this.downgradeLevel!==t&&this.track.log.debug("downgrade level ".concat(t," to ").concat(this.downgradeLevel))}pipe(e){return t=>aw(this,null,(function*(){this._decodeSink=t;let r,i=e.mediaTrack;t.defer((()=>{var t;i&&(e.player.setCanvas(),e.setInputMediaStreamTrack(i)),null==r||r.close(),null==(t=this.videoContext)||t.destroy(),delete this._decodeSink}));let{renderer:o,type:n}=this;e.log.info("decoder type: ".concat(this.type," renderer: ").concat(this.renderer));try{switch(n){case"wasm":r=this.createDecoder(n,this.wasmOption);break;case"webCodecs":r=this.createDecoder(n);break;default:throw new Error("not supported yet")}let i=0;if(r.on("videoFrame",(r=>{this.decodedFrameCount++,i++,(i<=10||i%500==0)&&e.log.debug("frame ".concat(i," ").concat(this.decodedFrameCount,"/").concat(this.decodeFrameCount," decoded ").concat(r.timestamp)),Date.now()-this.lastDowngradeTime>5e3&&("webCodecs"===this.type?this.checkDowngradeByFrameDiff():"wasm"===this.type&&this.checkDowngradeByTimestampDiff(r.timestamp)),t.next(r)})),r.on("error",(r=>{e.log.error(r),t.error("webCodecs"===n?4:8)})),yield r.initialize(this.videoElement),!this._decodeSink)return;if(r.configure(this.config),"wasm"===n&&"webgl"===o){this.videoContext=new SB({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create(),this.videoContext.on(SB.UNAVAILABLE,(r=>{e.log.error(r),t.error(7)}));let i=new Kj(this.videoContext);r.on("videoCodecInfo",(e=>i.resize(e.width,e.height))),r.on("videoFrame",(e=>{({y:i.Y,u:i.U,v:i.V}=e),1===this.downgradeLevel?this.decodedFrameCount%2==0&&i.render(this.decodedFrameCount):i.render(this.decodedFrameCount)})),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}else if("videoFrame"===o){e.player.setCanvas();let t=new MediaStreamTrackGenerator({kind:"video"}),i=t.writable.getWriter();e.setInputMediaStreamTrack(t),r.on("videoFrame",(e=>i.write(e)))}else{this.videoContext=new RB({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create({alpha:!1});let i=this.videoContext.createVideoImageSource();r.on("videoFrame",(r=>{try{i.image=r,i.update()}catch(o){delete this.goodType,e.log.error(o),t.error(11)}}));let o=new pB(this.videoContext,{name:"remotePlayer",logger:e.log});i.connect(o),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}this.decoder=r}catch(aM){e.log.error(aM),t.error("webCodecs"===n?2:6)}}))}},Xj=Promise.resolve(),$j=class extends jj.EventEmitter{constructor(e){super(),this.room=e,ow(this,"videoContext"),ow(this,"_glVideoContext"),ow(this,"_2dVideoContext"),ow(this,"destination"),ow(this,"smallVideoContext"),ow(this,"smallDestination"),ow(this,"smallTrackSource"),ow(this,"smallImageSource"),ow(this,"_isMirror",!1),ow(this,"_rotation",0),ow(this,"cameraTrack"),ow(this,"cameraNode"),ow(this,"transformNode"),ow(this,"mixNode"),ow(this,"screenTrack"),ow(this,"screenNode"),ow(this,"selfModel",!1),ow(this,"blurRadius",3),ow(this,"arTrack"),ow(this,"_enableFaceCentering",!1),ow(this,"_enableEffectOptimization",!1),ow(this,"onAbort"),ow(this,"_color"),ow(this,"Wasm"),ow(this,"waterMarkNode"),ow(this,"_waterMarkOption"),ow(this,"watermarkImageList",[]),ow(this,"_beautyParams"),ow(this,"isUsingArTrack",!1),ow(this,"mixTrack"),ow(this,"_isMixScreen",!1),ow(this,"_virtualBackground"),ow(this,"_virtualBackgroundAbortCallback"),ow(this,"virtualBackgroundInstance"),ow(this,"_bgAssetPath"),ow(this,"log",$O.createLogger({id:"vm"})),ow(this,"_mat4"),ow(this,"_postProcessing"),ow(this,"_checkId",0),ow(this,"_use2d",!1),ow(this,"_autoSwitchRenderMode",!0),ow(this,"encodePipeline",[]),ow(this,"decodePipeline",[]),ow(this,"updated",Xj),ow(this,"_updateFlag",!1),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.smallVideoContext=new RB({frameRate:15,logger:this.log,name:"s"}),this.enablePrintDetail()}get smallMode(){var e;return(null==(e=this.room)?void 0:e.smallMode)||"canvas"}get _hasVirtualBg(){return!!this._virtualBackground}get _hasWaterMark(){return this.watermarkImageList.length>0}get _isRotate(){return 0!==this._rotation}get _isTransform(){return this._isMirror||this._isRotate}get renderMode(){return this._autoSwitchRenderMode?"auto":this._use2d?"2d":"webgl"}set renderMode(e){if(this._autoSwitchRenderMode="auto"===e,this._autoSwitchRenderMode)return;let t="2d"===e;this._use2d!==t&&(this._use2d=t,this.clear(),this.videoContext=this._use2d?this.get2dVideoContext():this.getGlVideoContext(),this.update())}get cameraResolution(){var e;let{width:t,height:r}=(null==(e=this.cameraTrack)?void 0:e.settings)||{};return CN(this._rotation)?{width:r,height:t}:{width:t,height:r}}get2dVideoContext(){return this._2dVideoContext?this._2dVideoContext.destroy():this._2dVideoContext=new RB({frameRate:15,logger:this.log,name:"m"}),this._2dVideoContext.create({alpha:this._hasWaterMark||this._hasVirtualBg}),this._2dVideoContext}getGlVideoContext(){if(this._glVideoContext){if(this._glVideoContext.available)return this._glVideoContext}else this._glVideoContext=new SB({frameRate:15,logger:this.log,name:"m"});return this.initializeGlVideoContext(),this._glVideoContext}initializeGlVideoContext(){try{this._glVideoContext.create(mO<=22),this._glVideoContext.on(SB.UNAVAILABLE,(e=>{var t;this.emit("error",e),this.log.warn("video context unavailable",e),null==(t=this._virtualBackgroundAbortCallback)||t.call(this,e),this.update().catch((e=>{this.log.error(e)}))}))}catch(Rw){this.emit("error",Rw)}}initVirtualBackground(e,t,r){this.onAbort=e,this._mat4=t,this._postProcessing=r}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=zP.run("interval",(()=>{this.destination&&this.log.debug(this.destination.getInfo())}),{delay:e})}destroy(){var e,t;null==(e=this._2dVideoContext)||e.destroy(),null==(t=this._glVideoContext)||t.destroy(),this.smallVideoContext.destroy(),zP.clearTask(this._checkId)}get needAlpha(){return this._hasWaterMark||this._hasVirtualBg}get active(){return(_O||this._isMixScreen||this._isTransform||this._hasWaterMark||this._hasVirtualBg||this._beautyParams)&&this.checkOrCreateVideoContext()}sendCreateResult(){let e=arguments.length>1?arguments[1]:void 0,t="videoCtxGl"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"videoCtxGl")?512700:512701;e?IL.addFailedEvent({key:t,error:e}):IL.addSuccessEvent({key:t})}checkOrCreateVideoContext(){let e=this._use2d;if(this._autoSwitchRenderMode&&(this._use2d=!this._hasVirtualBg),this.videoContext)if(this.videoContext.available){let t=!this.videoContext.hasAlpha&&this.needAlpha;if(this._autoSwitchRenderMode&&e===this._hasVirtualBg)this.clear();else{if(!t)return!0;if(!this._use2d)return!0;this.clear()}}else{if(this._glVideoContext=new SB({frameRate:15,logger:this.log,name:"m"}),this.initializeGlVideoContext(),this._glVideoContext.available)return this.videoContext=this._glVideoContext,this.videoContext.available;this.log.warn("webgl is still not available"),this.clear(),this._use2d=!0}return this.videoContext=this._use2d?this.get2dVideoContext():this.getGlVideoContext(),this.videoContext.available}get smallTrack(){var e;return null==(e=this.smallDestination)?void 0:e.videoTrack}get hasSmall(){return!!this.smallTrack}get initialTrack(){var e;return null==(e=this.cameraTrack)?void 0:e.mediaTrack}setSmallVideo(e,t){if("api"!==this.smallMode)if(e){if(!this.smallVideoContext.available){if(this.smallVideoContext.create({alpha:!1}),!this.smallVideoContext.available)return;this.smallDestination=new _B(this.smallVideoContext,e,this.log),this.smallVideoContext.on(SB.UNAVAILABLE,(e=>{this.log.warn("small video context lost",e)}))}if(this.smallVideoContext.frameRate=e.frameRate,this.smallDestination.resolution=e,t)this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource),this.smallImageSource?this.smallImageSource.image=t:(this.smallImageSource=this.smallVideoContext.createVideoImageSource(t),this.smallImageSource.resize(t.width,t.height),this.smallImageSource.connect(this.smallDestination));else if(this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource)this.smallTrackSource.replaceTrack(this.initialTrack);else{this.smallTrackSource=this.smallVideoContext.createVideoTrackSource(this.initialTrack,"smallTrackSource");let{width:e,height:t}=this.cameraTrack.settings;this.smallTrackSource.resize(e,t),this.smallTrackSource.connect(this.smallDestination)}}else this.smallVideoContext.available&&(this.smallVideoContext.destroy(),delete this.smallDestination,delete this.smallTrackSource,delete this.smallImageSource)}_setMainOutput(e){var t;try{let r=this.cameraTrack,{small:i,player:o}=r;_O&&o.setCanvas(e);let n=e&&(null==(t=this.destination)?void 0:t.videoTrack)||this.initialTrack;return this.isUsingArTrack&&this.arTrack&&(this.emit("output-track-changed"),n=this.arTrack),this.log.info("set main output ".concat(n?n.label:"no output track")),this.setSmallVideo(i,e),r.setOutputMediaStreamTrack(n)}catch(sM){this.log.error("set main output failed",sM)}}update(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return aw(this,null,(function*(){var t;if(!this.cameraTrack||!this.initialTrack)return;if(!this.active)return this.cameraNode&&this.clear(),this._setMainOutput();let{settings:r,profile:i}=this.cameraTrack;if(this._use2d||!this._virtualBackground&&!this._beautyParams)this.destination||(this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log}),this.destination.on(lB.RENDER,(e=>{var t;null==(t=this.cameraTrack)||t.emit("render",e)}))),16===IO?this.initialTrack instanceof CanvasCaptureMediaStreamTrack?(this.cameraNode&&(this.cameraNode instanceof vB?(this.cameraNode.close(),delete this.cameraNode):this.cameraNode.image=this.initialTrack.canvas),this.cameraNode||(this.cameraNode=this.videoContext.createVideoImageSource(this.initialTrack.canvas,{name:"cameraCanvasSource",logger:this.log}))):(this.cameraNode&&(this.cameraNode instanceof vB?this.cameraNode.replaceTrack(this.initialTrack):(this.cameraNode.close(),delete this.cameraNode)),this.cameraNode||(this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack,"cameraTrackSource"))):this.cameraNode?this.cameraNode.replaceTrack(this.initialTrack):this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack,"cameraNodeSource"),this.cameraNode.resize(r.width,r.height);else if(e&&this.cameraNode&&this.destination)this.cameraNode.replaceTrack(this.initialTrack);else{this.cameraNode&&this.cameraNode.close(),this.destination?this.destination.disableCheckMute():(this.destination=new fB(this.videoContext,{name:"mainDestination",logger:this.log}),this.destination.on(lB.RENDER,(e=>{var t;null==(t=this.cameraTrack)||t.emit("render",e)})));let{width:e,height:t}=this.cameraResolution,r=yield this.getWatermarkImage(e,t);this._waterMarkOption={x:0,y:0,width:r.width,height:r.height,image:r},this.cameraNode=new zj(this.videoContext,{input:this.initialTrack,width:e,height:t,mirror:this._isMirror,rotation:this._rotation,bg:this._virtualBackground,selfModel:this.selfModel,waterMark:this._waterMarkOption,beautyParams:this._beautyParams,useTflite:!0,blurRadius:this.blurRadius,assetPath:this._bgAssetPath,Wasm:this.Wasm,enableFaceCentering:this._enableFaceCentering,enableEffectOptimization:this._enableEffectOptimization,onAbort:this.onAbort,mat4:this._mat4,postProcessing:this._postProcessing,color:this._color}),this.cameraNode.connect(this.destination),this.destination.enableCheckMute(),yield this.cameraNode.predictReady}if(this.videoContext.frameRate=i.frameRate,this._use2d){let e=this.cameraNode;if(e.disconnect(),this._isTransform&&(this.transformNode?(this.transformNode.mirror=this._isMirror,this.transformNode.rotation=this._rotation):this.transformNode=new NB(this.videoContext,this.log,this._isMirror,this._rotation),e=e.connect(this.transformNode),e.disconnect(),this.log.info("start mirror ".concat(this._isMirror," rotate ").concat(this.rotation))),this.mixNode&&this.mixNode.close(),delete this.mixNode,this._isMixScreen||this._hasWaterMark){if(this.mixNode=new CB(this.videoContext,this.log),e.connect(this.mixNode,{zIndex:1}),this._hasWaterMark&&!this.waterMarkNode&&this._waterMarkOption)this.waterMarkNode=this.videoContext.createVideoImageSource(this._waterMarkOption.image,{autoResize:!1,logger:this.log}),this.waterMarkNode.resize(this._waterMarkOption.width,this._waterMarkOption.height),this.waterMarkNode.x=this._waterMarkOption.x,this.waterMarkNode.y=this._waterMarkOption.y;else if(this.waterMarkNode){let{width:e,height:t}=this.cameraResolution;this.waterMarkNode.image=yield this.getWatermarkImage(e,t),e&&t&&this.waterMarkNode.resize(e,t)}null==(t=this.waterMarkNode)||t.connect(this.mixNode,{zIndex:2}),this._isMixScreen&&this.screenTrack&&(this.screenNode||(this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack,"screenNodeSource"),this.screenNode.resize(this.screenTrack.settings.width,this.screenTrack.settings.height)),this.screenNode.shouldUpdate=!1,this.screenNode.connect(this.mixNode,{zIndex:0})),e=this.mixNode,this.log.info("start mix","".concat(this.mixNode.width,"x").concat(this.mixNode.height))}e.connect(this.destination)}return this.log.info("update ".concat(this._use2d?"2d":"webgl")),this._setMainOutput(this.videoContext.canvas)}))}clearLastFrame(){var e;this.destination&&(null==(e=this.destination.ctx2d)||e.clearRect(0,0,this.destination.width,this.destination.height))}changeInput(e){var t,r,i,o,n;if(e instanceof LB)return this.log.info("change screen input",null==(t=e.mediaTrack)?void 0:t.label),this.setScreenTrack(e);if(e instanceof oB)return this.log.info("change video input",null==(r=e.mediaTrack)?void 0:r.label),this.setCameraTrack(e);if(e instanceof WB){this.log.info("change remote input",null==(i=e.mediaTrack)?void 0:i.label);let t=e.mediaTrack;return e.setOutputMediaStreamTrack(t)}if(e instanceof kB)return this.log.info("change mix input",null==(o=e.outMediaTrack)?void 0:o.label),this.setMixTrack(e);this.log.warn("change unknown input",null==(n=e.mediaTrack)?void 0:n.label)}removeInput(e){var t;e instanceof LB?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof oB?this._isMixScreen?(delete this.cameraNode,this.cameraTrack._inputTrack=null,this.update()):(this.clear(),delete this.cameraTrack,this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource)):e instanceof WB?e.source&&e.source.context.destroy():e instanceof kB&&(delete this.mixTrack,this.update())}setMixTrack(e){this.mixTrack=e}setCameraTrack(e){return this.cameraTrack=e,this.update(!0)}setScreenTrack(e){return aw(this,null,(function*(){return this.screenTrack=e,this._isMixScreen&&(this.screenNode?this.screenNode.replaceTrack(e.mediaTrack):yield this.update()),e.setOutputMediaStreamTrack(e.mediaTrack)}))}getWatermarkImage(e,t){return aw(this,null,(function*(){let r=document.createElement("canvas");t&&e&&(r.height=t,r.width=e);let i=r.getContext("2d");if(!i)throw new fw({code:pw.NOT_SUPPORTED,message:"Make image failed because of canvas context is null"});return this.watermarkImageList.sort(((e,t)=>e.zIndex-t.zIndex)),this.watermarkImageList.forEach((r=>{let{image:o,x:n,y:a,width:s,height:c,fillVideo:l}=r,d=l&&e||s,u=l&&t||c,h=l?0:n,p=l?0:a;i.drawImage(o,h,p,d,u)})),yN(r.toDataURL())}))}pushWaterMarkImageList(e){let{type:t}=e;this.watermarkImageList.some((t=>t.imageUrl===e.imageUrl&&t.height===e.height&&t.width===e.width&&t.x===e.x&&t.y===e.y&&t.type===e.type&&t.zIndex===e.zIndex&&t.fillVideo===e.fillVideo))||(("mute"===t||"watermark"===t)&&(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==t))),this.watermarkImageList.push(e))}setBeautyParams(e){return aw(this,null,(function*(){this._beautyParams=e,this.update()}))}stopBeauty(){return aw(this,null,(function*(){this._beautyParams=void 0,this.update()}))}setWatermark(e){return aw(this,null,(function*(){let t;try{t=yield yN((null==e?void 0:e.imageElement)||e.imageUrl)}catch(rM){throw new fw({code:pw.INVALID_PARAMETER,message:"load image failed, url: ".concat(e.imageUrl)})}let{x:r=0,y:i=0,width:o=t.width,height:n=t.height,type:a="watermark",zIndex:s=2,fillVideo:c=!1}=e;this.watermarkImageList.some((e=>e.type===a))?(this.watermarkImageList=this.watermarkImageList.filter((e=>e.type!==a)),this.pushWaterMarkImageList({x:r,y:i,width:o,height:n,image:t,zIndex:s,type:a,imageUrl:e.imageUrl,fillVideo:c}),t=yield this.getWatermarkImage(this.cameraResolution.width,this.cameraResolution.height),this._waterMarkOption={x:0,y:0,width:t.width,height:t.height,image:t},this.waterMarkNode?(this.waterMarkNode.x=0,this.waterMarkNode.y=0,this.waterMarkNode.resize(t.width,t.height),this.waterMarkNode.image=t):this.update()):(this.pushWaterMarkImageList({x:r,y:i,width:o,height:n,image:t,zIndex:s,type:a,imageUrl:e.imageUrl,fillVideo:c}),yield this.freshWatermark()),this.log.info("set watermark",JSON.stringify(this.watermarkImageList,((e,t)=>"imageUrl"===e?void 0:t)))}))}deleteWatermark(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"watermark";return aw(this,null,(function*(){this.watermarkImageList=this.watermarkImageList.filter((t=>t.type!==e)),this.log.info("delete watermark",e,JSON.stringify(this.watermarkImageList,((e,t)=>"imageUrl"===e?void 0:t))),yield this.freshWatermark()}))}freshWatermark(){return aw(this,null,(function*(){var e;null==(e=this.waterMarkNode)||e.close(),delete this.waterMarkNode,delete this._waterMarkOption;let{width:t,height:r}=this.cameraResolution,i=yield this.getWatermarkImage(t,r);this._waterMarkOption={x:0,y:0,width:i.width,height:i.height,image:i},this.update()}))}setVirtualBackground(e){return aw(this,null,(function*(){var t,r,i;if(e){if(e.onAbort&&(this._virtualBackgroundAbortCallback=e.onAbort),this._use2d&&!this._autoSwitchRenderMode)return Promise.reject(new Error("not support virtual background in 2d mode"));this._bgAssetPath=e.assetPath,"image"===e.type?this._virtualBackground=yield yN(e.imageUrl):(this.blurRadius=e.blurLevel||this.blurRadius||3,this._virtualBackground=e.type),this._enableFaceCentering=null!=(t=e.enableFaceCentering)?t:this._enableFaceCentering,this._enableEffectOptimization=null!=(r=e.enableEffectOptimization)?r:this._enableEffectOptimization,this._color=null!=(i=e.color)?i:[0,1,0]}else delete this._virtualBackground,delete this._virtualBackgroundAbortCallback;if(this.log.info("".concat(this._virtualBackground?"start":"stop"," virtual background, ").concat((null==e?void 0:e.type)||"",", ").concat(this.blurRadius||"")),yield this.update(),this._virtualBackground&&!this._glVideoContext.available)throw new fw({code:pw.INVALID_OPERATION,message:"webgl context create failed, ".concat(this._glVideoContext.error)})}))}get mixScreen(){return this._isMixScreen}set mixScreen(e){var t;this._isMixScreen=e,this._isMixScreen||(null==(t=this.screenNode)||t.close(),delete this.screenNode),this.update()}set mirror(e){var t;this._isMirror!==e&&(this._isMirror=e,this._isTransform||(null==(t=this.transformNode)||t.close(),delete this.transformNode),this.update())}get mirror(){return this._isMirror}set rotation(e){var t;this._rotation!==e&&(this._rotation=e,this._isTransform||(null==(t=this.transformNode)||t.close(),delete this.transformNode),this.update())}get rotation(){return this._rotation}enableAr(e){this.arTrack=e,this.isUsingArTrack=!0,this.update()}updateAr(){return aw(this,null,(function*(){var e;null!=(e=this.cameraTrack)&&e.mediaTrack&&(yield this.virtualBackgroundInstance.ar.updateInputTrack(this.cameraTrack.mediaTrack.clone()))}))}disableAr(){var e;this.isUsingArTrack=!1,null==(e=this.arTrack)||e.stop(),this.arTrack=void 0,this.update()}createDecodeContext(e){return new Jj(e)}clear(){var e,t;null==(e=this.videoContext)||e.disconnect(),null==(t=this.destination)||t.removeAllListeners(),delete this.destination,delete this.cameraNode,delete this.transformNode,delete this.screenNode,delete this.waterMarkNode}addEncodeProcessor(e){let{processor:t,type:r}=e;var i;this.encodePipeline.includes(t)||(this.encodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}addDecodeProcessor(e){let{processor:t,type:r}=e;var i;this.decodePipeline.includes(t)||(this.decodePipeline[r]=t,null==(i=this.room)||i.enableInsertableStreams())}removeEncodeProcessor(e){let{type:t}=e;this.encodePipeline[t]=void 0}removeDecodeProcessor(e){let{type:t}=e;this.decodePipeline[t]=void 0}};iw([function(e){return SU(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return aw(this,null,(function*(){try{return yield t.apply(this,i)}catch(sM){e.call(this,sM)}}))}))}((function(e){this.log.error("update failed",e)})),SU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return aw(this,null,(function*(){this._updateFlag||(this._updateFlag=!0,yield Xj,this.updated=new Promise(((t,i)=>{e.apply(this,r).then(t,i),setTimeout(i,5e3,new fw({code:pw.API_CALL_TIMEOUT,message:"update timeout"}))})),this._updateFlag=!1,yield this.updated)}))}))],$j.prototype,"update",1);var Qj=0,Zj=class extends FP{constructor(e){super("room"),ow(this,"seq",++Qj),ow(this,"sdkAppId"),ow(this,"userId"),ow(this,"userSig"),ow(this,"privateMapKey"),ow(this,"latencyLevel"),ow(this,"tinyId"),ow(this,"scene"),ow(this,"roomId"),ow(this,"useStringRoomId"),ow(this,"role","anchor"),ow(this,"joinParams",null),ow(this,"localPublishFlag",0),ow(this,"localTracks",new Set),ow(this,"enableAutoPlayDialog",!0),ow(this,"autoReceiveAudio",!0),ow(this,"autoReceiveVideo",!0),ow(this,"proxy_ws"),ow(this,"proxy_wt"),ow(this,"proxy_unified"),ow(this,"checkSystemResult",{result:!0,detail:{isBrowserSupported:!0,isWebRTCSupported:!0,isWebCodecsSupported:!0,isMediaDevicesSupported:!0,isScreenShareSupported:!0,isSmallStreamSupported:!0,isH264EncodeSupported:!0,isVp8EncodeSupported:!0,isH264DecodeSupported:!0,isVp8DecodeSupported:!0,isH265EncodeSupported:!0,isH265DecodeSupported:!0}}),ow(this,"keyPointManager"),ow(this,"audioManager"),ow(this,"videoManager"),ow(this,"callDurationCalculator"),ow(this,"badCaseDetector"),ow(this,"scheduleResult",{domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}),ow(this,"videoDecodeFallbackType"),ow(this,"smallMode","canvas"),ow(this,"enableChorus",!1),ow(this,"_isUsingCachedSchedule",!1),ow(this,"_log",$O.createLogger({id:"r".concat(this.seq)})),ow(this,"_joinedTimestamp",0),ow(this,"_sdkType"),ow(this,"heartbeatReport"),ow(this,"quality"),ow(this,"enableSEI"),ow(this,"isDestroyed",!1),this.useStringRoomId=!!e.useStringRoomId,KD(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),KD(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),KD(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this._sdkType=e.sdkType,this.keyPointManager=new Vj({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new Bj({room:this}),this.badCaseDetector=new Wj({room:this}),this.audioManager=new VB(this),this.videoManager=new $j(this)}get videoCodec(){return"h264"}get scriptTransformWorker(){}get isMainStreamPublished(){for(let e of this.localTracks)if(4&e.mediaType)return!0;return!1}get isAuxStreamPublished(){for(let e of this.localTracks)if(2&e.mediaType)return!0;return!1}get hasAuxStream(){for(let e of this.remotePublishedUserMap.values())if(e.muteState.hasAuxiliary)return!0;return this.isAuxStreamPublished}get localMainVideoTrack(){for(let e of this.localTracks)if(4&e.mediaType)return e;return null}get localAuxVideoTrack(){for(let e of this.localTracks)if(2&e.mediaType)return e;return null}getLogger(){return this._log}get isJoining(){return"joining"===this.state.toString()}get isJoined(){return"joined"===this.state}get isLeft(){return"left"===this.state}addTrack(e){return aw(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return aw(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return aw(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAIVoice(e){throw new Error("Method not implemented.")}setProxyServer(e){if(GD(e))e.startsWith("wss://")?this.proxy_ws=e:e.startsWith("https://")&&(this.proxy_wt=e);else if(VD(e)){let{websocketProxy:t,webtransportProxy:r,loggerProxy:i,scheduleProxy:o,unifiedProxy:n}=e;this.proxy_ws=t,this.proxy_wt=r,this.proxy_unified=n,n?(AW([n,n]),kw("https://".concat(n))):(i&&kw(i),o&&AW(o))}KO.once(YO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({sched_domain:IW.main,sched_back_domain:IW.backup,signal_domain:this.proxy_ws||this.proxy_wt||""})))}getRemoteAudioStats(){return aw(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return aw(this,null,(function*(){var e;let t={rtt:(null==(e=this.quality)?void 0:e.uplinkRTT)||0,downlinksRTT:{}};if(this.quality)for(let r of this.quality.downlinkInfo)t.downlinksRTT[r.userId]=r.rtt;return t}))}getRemoteVideoStats(){return aw(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"main";return function*(){let r={};return e.remotePublishedUserMap.forEach((e=>{let i="auxiliary"===t?e.remoteAuxiliaryTrack:e.remoteVideoTrack;r[e.userId]=i.stat})),r}()}))}checkDestroy(){if(this.isDestroyed)throw new fw({code:pw.INVALID_OPERATION,message:uL({key:sL.CLIENT_DESTROYED,data:{funName:"join"}})})}destroy(){if(this.isJoined)throw this._log.warn(cL.INVALID_DESTROY),new fw({code:pw.INVALID_OPERATION,message:uL({key:sL.INVALID_DESTROY})});this._log.info("destroy room"),this.audioManager.destroy(),this.videoManager.destroy(),this.keyPointManager.destroy(),this.callDurationCalculator.destroy(),this.badCaseDetector.destroy(),this.isDestroyed=!0,KO.emit(YO.ROOM_DESTROY,{room:this})}schedule(e,t){return aw(this,null,(function*(){var r,i,o,n;let a=iN();try{let{isCached:s,result:c,detailCost:l}=yield TW({userId:this.userId,sdkAppId:this.sdkAppId,roomId:this.useStringRoomId?e.strRoomId:e.roomId,useStringRoomId:this.useStringRoomId,version:Aw,userSig:this.userSig,role:"live"===this.scene?e.role:void 0,frameWorkType:t,latencyLevel:e.latencyLevel});this._isUsingCachedSchedule=s,this._log.info("schedule cache:".concat(+s," ").concat(_N(c,{keysToExclude:["username","credential"]}))),s&&KO.once(YO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=Qb(Qb({},this.scheduleResult),c),zD(null==(r=c.config)?void 0:r.retryCount)&&wC(c.config.retryCount),GD(null==(i=c.config)?void 0:i.loggerDomain)&&kw(c.config.loggerDomain),this.videoDecodeFallbackType=(null==(o=c.config)?void 0:o.videoDecodeFallback)||this.videoDecodeFallbackType,this.smallMode=(null==(n=c.config)?void 0:n.smallMode)||this.smallMode,KO.emit(YO.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:l}),IL.addSuccessEvent({key:521700,cost:iN()-a})}catch(iM){throw IL.addFailedEvent({key:521700,error:iM}),iM}}))}sendAbilityStatus(e){}enableInsertableStreams(){return Promise.resolve()}switchRoom(e){return Promise.reject()}isSwitchRoomSupported(){return!1}};var eG={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},tG="__INLINE__WORKER__",rG="__INLINE__WASM__",{debug:iG}=console;eG.debug||(console.debug=()=>{});var oG,nG=!tG.startsWith("__"),aG=!rG.startsWith("__");function sG(){let e=RN("".concat(eG.assetsPath?"".concat(eG.assetsPath,"/"):"","worker.js"));return nG?URL.createObjectURL(new Blob([atob(tG)],{type:"application/javascript"})):e.startsWith("http")?fetch(e).then((e=>e.blob().then((e=>URL.createObjectURL(e))))):e}function cG(){return aw(this,null,(function*(){let e=eG.assetsPath?"".concat(eG.assetsPath,"/"):"";return oG||(oG=aG?(new TextEncoder).encode(atob(rG)).buffer:yield fetch(RN("".concat(e,"av_processing.wasm"))).then((e=>e.arrayBuffer())),oG)}))}var lG=new class{constructor(){ow(this,"playPort"),ow(this,"playPortSent",!1),ow(this,"worklet"),ow(this,"workletPromise")}init(){return this.workletPromise||(this.workletPromise=this._init()),this.workletPromise}_init(){return aw(this,null,(function*(){let e=Fx(),t=sG();try{yield e.audioWorklet.addModule("string"==typeof t?t:yield t),$O.info("global audio player worklet addModule success",t)}catch(DC){throw $O.error("global audio player worklet addModule failed:",DC),DC}return this.worklet=new AudioWorkletNode(e,"global-audio-player",{processorOptions:{wasm:yield cG(),flag:eG},numberOfInputs:2}),$O.info("global audio player worklet created",e.state),this.worklet.connect(e.destination),this.playPort=this.worklet.port,this.playPort}))}playAudio(e){return aw(this,null,(function*(){var t;yield this.init();let r=new MessageChannel;null==(t=this.playPort)||t.postMessage(null,[r.port1]),e(r.port2)}))}},dG="undefined"!=typeof self&&(!("top"in self)||self===top)&&"showOpenFilePicker"in self&&"showOpenFilePicker";dG?Promise.resolve().then((function(){return mG})):Promise.resolve().then((function(){return yG})),dG?Promise.resolve().then((function(){return EG})):Promise.resolve().then((function(){return TG}));var uG=dG?Promise.resolve().then((function(){return vG})):Promise.resolve().then((function(){return IG}));function hG(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return aw(this,null,(function*(){return(yield uG).default(...t)}))}var pG=e=>aw(void 0,null,(function*(){let t=yield e.getFile();return t.handle=e,t})),mG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return aw(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){Array.isArray(e)||(e=[e]);let t=[];e.forEach(((e,r)=>{t[r]={description:e.description||"Files",accept:{}},e.mimeTypes?e.mimeTypes.map((i=>{t[r].accept[i]=e.extensions||[]})):t[r].accept["*/*"]=e.extensions||[]}));let r=yield window.showOpenFilePicker({id:e[0].id,startIn:e[0].startIn,types:t,multiple:e[0].multiple||!1,excludeAcceptAllOption:e[0].excludeAcceptAllOption||!1}),i=yield Promise.all(r.map(pG));return e[0].multiple?i:i[0]}()}))}};function fG(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return fG=function(e){this.s=e,this.n=e.next},fG.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var r=this.s.return;return void 0===r?Promise.resolve({value:e,done:!0}):t(r.apply(this.s,arguments))},throw:function(e){var r=this.s.return;return void 0===r?Promise.reject(e):t(r.apply(this.s,arguments))}},new fG(e)}var _G,gG=function(e,t){for(var r=arguments.length,i=new Array(r>2?r-2:0),o=2;o<r;o++)i[o-2]=arguments[o];return aw(void 0,[e,t,...i],(function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:e.name,i=arguments.length>3?arguments[3]:void 0;return function*(){let o=[],n=[];var a,s=!1,c=!1;try{for(var l,d=function(e){var t,r,i,o=2;for("undefined"!=typeof Symbol&&(r=Symbol.asyncIterator,i=Symbol.iterator);o--;){if(r&&null!=(t=e[r]))return t.call(e);if(i&&null!=(t=e[i]))return new fG(t.call(e));r="@@asyncIterator",i="@@iterator"}throw new TypeError("Object is not async iterable")}(e.values());s=!(l=yield d.next()).done;s=!1){let a=l.value,s="".concat(r,"/").concat(a.name);"file"===a.kind?n.push(a.getFile().then((t=>(t.directoryHandle=e,t.handle=a,Object.defineProperty(t,"webkitRelativePath",{configurable:!0,enumerable:!0,get:()=>s}))))):"directory"!==a.kind||!t||i&&i(a)||o.push(gG(a,t,s,i))}}catch(u){c=!0,a=u}finally{try{s&&null!=d.return&&(yield d.return())}finally{if(c)throw a}}return[...(yield Promise.all(o)).flat(),...yield Promise.all(n)]}()}))},EG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return aw(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){e.recursive=e.recursive||!1,e.mode=e.mode||"read";let t=yield window.showDirectoryPicker({id:e.id,startIn:e.startIn,mode:e.mode});return gG(t,e.recursive,void 0,e.skipDirectory)}()}))}},vG={__proto__:null,default:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return aw(void 0,[e,...r],(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[{}],r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3],o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;return function*(){Array.isArray(t)||(t=[t]),t[0].fileName=t[0].fileName||"Untitled";let n=[],a=null;if(e instanceof Blob&&e.type?a=e.type:e.headers&&e.headers.get("content-type")&&(a=e.headers.get("content-type")),t.forEach(((e,t)=>{n[t]={description:e.description||"Files",accept:{}},e.mimeTypes?(0===t&&a&&e.mimeTypes.push(a),e.mimeTypes.map((r=>{n[t].accept[r]=e.extensions||[]}))):a?n[t].accept[a]=e.extensions||[]:n[t].accept["*/*"]=e.extensions||[]})),r)try{yield r.getFile()}catch(l){if(r=null,i)throw l}let s=r||(yield window.showSaveFilePicker({suggestedName:t[0].fileName,id:t[0].id,startIn:t[0].startIn,types:n,excludeAcceptAllOption:t[0].excludeAcceptAllOption||!1}));!r&&o&&o(s);let c=yield s.createWritable();return"stream"in e?(yield e.stream().pipeTo(c),s):"body"in e?(yield e.body.pipeTo(c),s):(yield c.write(yield e),yield c.close(),s)}()}))}},yG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return aw(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){return Array.isArray(e)||(e=[e]),new Promise(((t,r)=>{let i=document.createElement("input");i.type="file";let o=[...e.map((e=>e.mimeTypes||[])),...e.map((e=>e.extensions||[]))].join();i.multiple=e[0].multiple||!1,i.accept=o||"",i.style.display="none",document.body.append(i);let n=e=>{"function"==typeof a&&a(),t(e)},a=e[0].legacySetup&&e[0].legacySetup(n,(()=>a(r)),i),s=()=>{window.removeEventListener("focus",s),i.remove()};i.addEventListener("click",(()=>{window.addEventListener("focus",s)})),i.addEventListener("change",(()=>{window.removeEventListener("focus",s),i.remove(),n(i.multiple?Array.from(i.files):i.files[0])})),"showPicker"in HTMLInputElement.prototype?i.showPicker():i.click()}))}()}))}},TG={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return aw(void 0,[...t],(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[{}];return function*(){return Array.isArray(e)||(e=[e]),e[0].recursive=e[0].recursive||!1,new Promise(((t,r)=>{let i=document.createElement("input");i.type="file",i.webkitdirectory=!0;let o=e=>{"function"==typeof n&&n(),t(e)},n=e[0].legacySetup&&e[0].legacySetup(o,(()=>n(r)),i);i.addEventListener("change",(()=>{let t=Array.from(i.files);e[0].recursive?e[0].recursive&&e[0].skipDirectory&&(t=t.filter((t=>t.webkitRelativePath.split("/").every((t=>!e[0].skipDirectory({name:t,kind:"directory"})))))):t=t.filter((e=>2===e.webkitRelativePath.split("/").length)),o(t)})),"showPicker"in HTMLInputElement.prototype?i.showPicker():i.click()}))}()}))}},IG={__proto__:null,default:function(e){for(var t=arguments.length,r=new Array(t>1?t-1:0),i=1;i<t;i++)r[i-1]=arguments[i];return aw(void 0,[e,...r],(function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function*(){Array.isArray(t)&&(t=t[0]);let r=document.createElement("a"),i=e;"body"in e&&(i=yield function(e,t){return aw(this,null,(function*(){let r=e.getReader(),i=new ReadableStream({start:e=>function t(){return aw(this,null,(function*(){return r.read().then((r=>{let{done:i,value:o}=r;if(!i)return e.enqueue(o),t();e.close()}))}))}()}),o=new Response(i),n=yield o.blob();return r.releaseLock(),new Blob([n],{type:t})}))}(e.body,e.headers.get("content-type"))),r.download=t.fileName||"Untitled",r.href=URL.createObjectURL(yield i);let o=()=>{"function"==typeof n&&n()},n=t.legacySetup&&t.legacySetup(o,(()=>n()),r);return r.addEventListener("click",(()=>{setTimeout((()=>URL.revokeObjectURL(r.href)),3e4),o()})),r.click(),null}()}))}},AG=class{constructor(e){this.name=e,ow(this,"ready"),ow(this,"worker"),ow(this,"ports"),ow(this,"ids",1),ow(this,"transactions",new Map),ow(this,"log"),ow(this,"addTransaction",(e=>(this.transactions.set(++this.ids,e),this.ids)))}postMessage(e,t){var r;null==(r=this.worker)||r.postMessage(e,t)}create(e){return aw(this,null,(function*(){if(this.ready)return this.ready;e||(e=this.name),console.time("createWorker_".concat(e));let t=sG(),r=new Worker("string"==typeof t?t:yield t,{name:e});return this.worker=r,this.ready=new Promise(((t,i)=>aw(this,null,(function*(){r.onmessage=r=>{let{data:{id:o,type:n,payload:a}}=r;var s;if(o)null==(s=this.transactions.get(o))||s(a),this.transactions.delete(o);else switch(n){case"error":console.timeEnd("createWorker_".concat(e)),console.warn("worker error:",a),i(a);break;case"ready":console.timeEnd("createWorker_".concat(e)),t(this);break;case"updateAFSM":if(a.value){let e="string"==typeof a.old?a.old:"".concat(a.old.action,"ing"),t="string"==typeof a.value?a.value:"".concat(a.value.action,"ing");console.log(fN(),a.group,a.name,e,"👉",t)}break;case"log":console.log(a);break;case"glog":window.dispatchEvent(new CustomEvent(n,{detail:a}))}},r.postMessage({wasm:yield cG(),flag:eG},this.ports)}))))}))}destroy(){var e;console.log("destroy worker",this.name),delete this.ready,null==(e=this.worker)||e.terminate()}},SG=class{constructor(e,t,r){this.worker=e,ow(this,"channel",new MessageChannel),ow(this,"ready"),this.ready=new Promise(((e,r)=>{this.worker.postMessage({id:this.worker.addTransaction(e),payload:t},[this.channel.port2])})).then((e=>(0===e.err&&(this.worker.sessionCount++,this.channel.port1.onmessage=r),e)))}postMessage(){this.channel.port1.postMessage(...arguments)}destroy(){0==--this.worker.sessionCount&&this.worker.destroy()}},RG=new class e extends AG{constructor(){super("main"),ow(this,"switchValue",new Map),ow(this,"extendChannel"),ow(this,"sessionCount",0)}setSwitchValue(e,t){var r;this.switchValue.set(e,t),null==(r=this.extendChannel)||r.port1.postMessage([e,t])}create(){return aw(this,null,(function*(){return this.ready?this.ready:(this.extendChannel=new MessageChannel,this.ports=[this.extendChannel.port2],yield nw(e.prototype,this,"create").call(this),this.switchValue.forEach(((e,t)=>{this.extendChannel.port1.postMessage([t,e])})),this)}))}};function bG(e){return aw(this,null,(function*(){yield RG.create(),KO.emit(YO.JOIN_SEND_CMD,{room:this});let t=new SG(RG,e,(e=>{let r=e.data;if("string"==typeof r)this.onWorkerEvent(r);else if(null==r)this.onWorkerEvent("client-banned",0),t.destroy();else{let{cmd:e,payload:t}=r;this.onWorkerEvent(e,t)}})),{err:r,data:i}=yield t.ready;if("number"==typeof r){if(KO.emit(YO.JOIN_RECEIVED_CMD_RES,{room:this,code:r}),0===r)return Object.assign(this,i,{session:t});throw new fw({code:pw.JOIN_ROOM_FAILED,extraCode:Number(r),message:uL({key:sL.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:r,errorMsg:""}})})}throw r}))}function wG(e){return aw(this,null,(function*(){RG.setSwitchValue("useAINS",e)}))}function CG(e){return aw(this,null,(function*(){RG.setSwitchValue("useV2",e)}))}function DG(e){let t=new MediaStreamTrackGenerator({kind:"audio"});e.setInputMediaStreamTrack(t),e.player.setVolume(0),this.postMessage({cmd:"pullAudio",payload:{tinyId:e.tinyId,writable:t.writable}},[t.writable])}function NG(e){return aw(this,null,(function*(){var t;this._log.info("pull video",e);let r=Date.now(),i=0,o=new MessageChannel;this.postMessage({cmd:"pullVideo",payload:{mediaType:e.mediaType,tinyId:e.tinyId}},[o.port1]),(t=e.stat).framesReceived||(t.framesReceived=0),jU(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=Object.defineProperties(dV(),{postMessage:{value:e.postMessage.bind(e)},port:{get:()=>e,set(t){e.onmessage=MU,e.onmessageerror=MU,e=t,i()}}});function i(){e.onmessage=i=>{i.data?i.ports.length||t?r.next(i):r.next(i.data):(r.complete(),e.close())},e.onmessageerror=t=>{r.error(t),e.close()}}return i(),r}(o.port2),zV(AV(e,FP.INIT)),KF((t=>{let{data:o,packetsReceived:n}=t;e.stat.packetsReceived=n,e.stat.framesReceived++,i++;let a,s=31&o[4];if(i<=10){let e=Array.from(o.slice(0,10)).map((e=>e.toString(16).padStart(2,"0"))).join(" ");this._log.info("Frame ".concat(i," - Size: ").concat(o.length," bytes, Type: ").concat(s,", Timestamp: ").concat(Date.now()-r,"ms First 10 bytes: ").concat(e))}switch(s){case 5:case 7:a="key";break;default:a="delta"}e.isAvailable?e.decodeFrame({data:o.buffer,type:a,timestamp:1e3*(Date.now()-r)}):console.warn("track is not available")}),(()=>{}),(()=>{o.port2.postMessage(null),o.port2.close()})))}))}Object.defineProperties(window,{useAINS:{set:wG},useWt:{set:function(e){return aw(this,null,(function*(){RG.setSwitchValue("useWt",e)}))}},enableDebug:{set(e){console.debug=e?iG:()=>{},RG.setSwitchValue("enableDebug",e)}},useV2:{set:CG},dump:{value(){if(_G||(console.warn("dump audio will be activated at next time join room"),_G=[]),!_G.length)return void console.warn("no audio data to dump,try it later");let e=[];return _G.forEach((t=>{e.push(new Uint16Array([t.length])),e.push(t)})),hG(new Blob(e),{fileName:"audio dump hex",extensions:[".hex"]})}},dumpAudio:{value(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"audio",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2e3,r=[],i=new Promise((i=>{let o=new MessageChannel;RG.extendChannel.port1.postMessage(["dump",e],[o.port1]),o.port2.onmessage=n=>{let{data:a}=n;console.log(a),r.push(a),r.length>t&&(o.port2.onmessage=null,RG.extendChannel.port1.postMessage(["dump",e]),o.port2.close(),i(new Blob(r)))}}));return hG(i,{fileName:e,extensions:[".pcm"]})}},hardDec:{set(e){switch(e){case!0:eG.useHardDecoder="prefer-hardware";break;case!1:eG.useHardDecoder="prefer-software";break;default:eG.useHardDecoder="no-preference"}}}});var kG=[];function OG(e){var t;let r=dV();if("joined"!==this.state)throw new Error("Room is not joined");if("publish"===e.state)return;for(let l=0;l<=kG.length;l++)if(!kG[l]){kG[l]=this,this.index=l;break}let i=e.profile;this._log.info("start push audio",this.index,i);let o=new MessageChannel,n=e.enableEncodeFrame?new MessageChannel:null;null==(t=this.session)||t.postMessage({cmd:"pushAudio",payload:Qb({index:this.index},i)},n?[o.port2,n.port2]:[o.port2]),o.port1.onmessage=t=>{null==t.data||("number"==typeof t.data?r.next(t.data):n&&n.port1.postMessage(Zb(Qb({},t.data),{data:new Uint8Array(e.encodeFrame({data:t.data.data.buffer,timestamp:t.data.timestamp}).data)})))};let a,s=new MediaStream,c=e=>{let t=s.getAudioTracks()[0];t&&(a.disconnect(),s.removeTrack(t)),s.addTrack(e),this._log.info("push audio track:",e.readyState,e.getSettings().deviceId),a=Fx().createMediaStreamSource(s),a.connect(lG.worklet,0,this.index)};jU(AV(e,"output-media-track-changed"),zV(AV(e,"ready")),KF(c,console.error,(()=>{this._log.info("stop push audio",i),e.volume=0,a.disconnect(),kG[this.index]=null,n&&n.port1.postMessage(null),o.port1.postMessage(null)}))),jU(r,qF((t=>e.volume=t)),SF(uB(1e3)),KF((()=>{e.volume=0}))),c(e.outMediaTrack)}var MG=class{constructor(e,t,r,i){this.localTrack=e,this.type=t,this.config=r,this.port=i,ow(this,"track"),ow(this,"label"),ow(this,"insertKeyFrame",!0),ow(this,"session"),ow(this,"tsMap",new Map),e._log.info("create Video Encoder",r)}trans(e,t,r){return aw(this,null,(function*(){let i=yield this.recreate(r,{recreateCount:0,frameEncoded:0,selectConfigIndex:0});t.signal.addEventListener("abort",(()=>{i.encoder.close()}));let o=0;return e.pipeThrough(new TransformStream({transform:(e,t)=>{"configured"===i.encoder.state&&(this.tsMap.set(o,Date.now()),this.encode(e),o++,t.enqueue(e))}}),t)}))}encode(e){var t,r;null==(r=null==(t=this.session)?void 0:t.encoder)||r.encode(e,{keyFrame:this.insertKeyFrame}),this.insertKeyFrame=!1}start(e,t,r){return aw(this,null,(function*(){let i=yield this.recreate(r,{recreateCount:0,frameEncoded:0,selectConfigIndex:0});this.session=i;let o=0;e.pipeTo(new WritableStream({write:e=>{"configured"===i.encoder.state&&(o<10&&this.localTrack.log.info("capture ".concat(this.label," track frame:"),o,Date.now(),e.timestamp,e.displayWidth,e.displayHeight),(e.displayWidth!==this.config.width||e.displayHeight!==this.config.height)&&(this.localTrack.log.info("resize video track frame:",e.displayWidth,e.displayHeight,this.config.width,this.config.height),this.configure({width:e.displayWidth,height:e.displayHeight},i)),this.tsMap.set(o,Date.now()),this.encode(e),o<10&&this.localTrack.log.info("encode ".concat(this.label," track frame:"),o),o++,e.close())}}),t).catch((e=>{this.localTrack.log.warn(e),i.encoder.close()}))}))}recreate(e,t){return aw(this,null,(function*(){let r=0,i=new VideoEncoder({output:i=>{let o=this.tsMap.get(r);if(this.tsMap.delete(i.timestamp),r<10&&(0===r&&0===t.recreateCount&&KO.emit(YO.SEND_FIRST_VIDEO_FRAME,{room:e}),this.localTrack.log.info("encoded ".concat(this.label," track frame:"),r,Date.now(),i.timestamp)),r++,t.frameEncoded=r,!1===this.track.enabled)return;let n=null;if(this.localTrack.enableEncodeFrame){n=new Uint8Array(i.byteLength),i.copyTo(n);let e=this.localTrack.encodeFrame({data:n.buffer},3===this.type);n=new Uint8Array(e.data)}n?(this.localTrack.stat.bytesSent+=n.length,this.port.postMessage({chunk:{type:i.type,timestamp:i.timestamp,data:n,duration:i.duration},timestamp:o},[n.buffer])):(this.localTrack.stat.bytesSent+=i.byteLength,this.port.postMessage({chunk:i,timestamp:o}))},error:r=>{this.localTrack.log.warn(r,this.config),t.recreateCount++,setTimeout((()=>this.recreate(e,t)),100)}});return t.encoder=i,yield this.configure(null,t),t}))}configure(e,t){return aw(this,null,(function*(){var r;e&&Object.assign(this.config,e),null==(r=t.encoder)||r.configure(this.config)}))}close(){this.port.postMessage(null),this.port.close()}};function LG(e,t){return aw(this,null,(function*(){let r=2===e.mediaType?"screen":"video",i={codec:"avc1.420028",latencyMode:"realtime",avc:{format:"annexb"},hardwareAcceleration:eG.useHardEncoder,width:t.profile.width,height:t.profile.height,framerate:t.profile.frameRate,bitrate:1e3*t.profile.bitrate},o=new MessageChannel;this.postMessage({cmd:"pushVideo",payload:t},[o.port1]);let n=new MG(e,t.type,i,o.port2);return o.port2.onmessage=e=>{260===e.data&&(n.insertKeyFrame=!0)},this._log.info("start push",r,t),n}))}function PG(e){return aw(this,null,(function*(){var t;let r=2===e.mediaType,i=r?"screen":"video",o={type:r?7:2,profile:e.profile,trackType:r?"screen":"camera",crypto:!(null==(t=e.manager)||!t.encodePipeline[0])};!r&&e.outMediaTrack instanceof CanvasCaptureMediaStreamTrack&&(o.trackType="canvas");let{trackType:n}=o,{width:a,height:s}=e.outMediaTrack.getSettings();o.profile.width=a,o.profile.height=s;let c=yield LG.call(this,e,o);this._log.info("VideoEncoder created",o);let l,d=t=>aw(this,null,(function*(){if(null==l||l.abort("track changed"),!t)return;l=new AbortController;let{width:r,height:o,displaySurface:a}=t.getSettings();r&&(c.config.width=r),o&&(c.config.height=o);let s,d=JN.match(/Chrome\/(\d+)/);"114"===(null==d?void 0:d[1])&&"browser"===a&&delete c.config.hardwareAcceleration,this._log.info("push",i,"track:",t.readyState,t.getSettings()),s="undefined"==typeof MediaStreamTrackProcessor||t instanceof CanvasCaptureMediaStreamTrack?new ReadableStream({start(t){e.on("render",(r=>{if(0!==e.player.mode)try{t.enqueue(new VideoFrame(r,{timestamp:1e3*performance.now()}))}catch(i){console.warn(i)}}))},pull(t){return aw(this,null,(function*(){if(0===e.player.mode&&IP()&&e.player.element)return new Promise((r=>{e.player.element.requestVideoFrameCallback(((i,o)=>{try{let r=new VideoFrame(e.player.element);t.enqueue(r)}catch(n){console.warn(n)}r()}))}))}))}}):new MediaStreamTrackProcessor({track:t}).readable;let u="small"in e&&e.small;return u?(this.smallEncoder||(this.smallEncoder=yield LG.call(this,e,{profile:u,type:3,trackType:n})),this.smallEncoder.track=t,this.smallEncoder.label="small",s=yield this.smallEncoder.trans(s,l,this)):this.smallEncoder&&(this.smallEncoder.close(),delete this.smallEncoder),c.track=t,c.label=i,c.start(s,l,this)}));return jU(AV(e,"output-media-track-changed"),zV(AV(e,"ready")),KF(d,console.error,(()=>{var e;this._log.info("stop push",i,o),l.abort("unpublish"),c.close(),null==(e=this.smallEncoder)||e.close()}))),d(e.outMediaTrack)}))}var xG=class e extends FP{constructor(t){var r,i;super(null!=(i=null==(r=t.roomid)?void 0:r.toString())?i:t.name,"volumeEvaluation"),this.room=t,ow(this,"enableInBackground",!1),ow(this,"interval",400),t.on("joined",(()=>{this.emit(e.INTERVALCHANGED,this.interval)})),jU(AV(this,e.INTERVALCHANGED),IF((e=>"joined"===this.room.state?this.room.fromWorker("getAudioEnergy",e):jU((e=>t=>{let r=0,i=performance.now();jU(dB,_F((t=>(t-i)/e|0)),WV((e=>e!=r&&(r=e,!0))))(t)})(e),_F((()=>[]))))),KF((e=>{e.forEach((e=>{this.room.remotePublishedUserMap.has(e.userId)&&(this.room.remotePublishedUserMap.get(e.userId).remoteAudioTrack.volume=e.volume)})),(!document.hidden||this.enableInBackground)&&this.state==FP.ON&&this.room.emit("audio-volume",e)})))}start(t,r){this.interval=t,this.enableInBackground=r,this.emit(e.INTERVALCHANGED,this.interval)}stop(){}};ow(xG,"INTERVALCHANGED","intervalChanged"),iw([xP([FP.INIT,FP.OFF],FP.ON)],xG.prototype,"start",1),iw([xP([],FP.OFF)],xG.prototype,"stop",1);var UG=xG,VG=class extends Zj{constructor(e){super(e),ow(this,"index",0),ow(this,"session"),ow(this,"tinyid"),ow(this,"roomid"),ow(this,"openid"),ow(this,"socketid"),ow(this,"relayip"),ow(this,"clientip"),ow(this,"remotePublishedUserMap",new Map),ow(this,"bussinessInfo"),ow(this,"token"),ow(this,"audioVolumeEvalution",new UG(this)),ow(this,"enableAIVoice",wG),ow(this,"AbilityOption",{AVLimit:{EncVideoCodec:"H265",EncVideoWidth:0,EncVideoHeight:0,EncVideoBr:"0",EncVideoFps:0,EncAudioCodec:"opus",EncAudioFS:0,EncAudioCh:0,EncAudioBr:"0"},GeneralLimit:{CPULimit:{uint32_CPU_num:navigator.hardwareConcurrency||0,str_CPU_name:navigator.platform,uint32_CPU_maxfreq:0,model:"",uint32_total_memory:0},uint32_terminal_type:jO(),uint32_device_type:0,str_os_verion:GO(),uint32_link_type:1,str_client_version:Aw,uint32_net_type:Yw[yw.getNetworkType()],ua:navigator.userAgent,version:""}}),ow(this,"joinAbortController",new AbortController),ow(this,"smallAbortCtrl"),ow(this,"smallEncoder"),e.tinyId&&(this.tinyId=e.tinyId,CG(!0)),this._log||(this._log=e.logger),this.bussinessInfo=e.bussinessInfo,e.encodedDataProcessingListener&&this.setEncodedDataProcessingListener(e.encodedDataProcessingListener)}replaceTrack(e){return aw(this,null,(function*(){}))}getLogger(){return this._log}postMessage(e,t){this.session&&(e?"string"==typeof e?this.session.postMessage({cmd:e,payload:t}):this.session.postMessage(e,t):this.session.postMessage(null))}sendMessage(e,t){return new Promise(((r,i)=>{"joined"!=this.state&&i("join room first");let o=new MessageChannel;this.postMessage({cmd:e,payload:t},[o.port1]),o.port2.onmessageerror=i,o.port2.onmessage=e=>{o.port2.close(),r(e.data)}}))}fromWorker(e,t){if("joined"!=this.state)throw"join room first";return r=>{var i;let o=new MessageChannel;o.port2.onmessage=e=>{e.data?r.next(e.data):r.complete()},o.port2.onmessageerror=e=>r.error(e),r.defer((()=>{o.port2.postMessage(null),o.port2.close()})),null==(i=this.session)||i.postMessage({cmd:e,payload:t},[o.port1])}}switchRole(e){return aw(this,null,(function*(){if(e!==this.role)return this._log.info("switchRole() => switch role to: ".concat(e)),"audience"==e&&this.unpublish(...this.localTracks),this.sendMessage("switchRole","audience"==e?21:20).then((t=>{this.role=e}))}))}join(e,t,r){return aw(this,null,(function*(){var i,o,n;let a=yw.getEnv(),s=RL(),c={isH264EncodeSupported:this.checkSystemResult.detail.isH264EncodeSupported,isVp8EncodeSupported:this.checkSystemResult.detail.isVp8EncodeSupported,frameWorkType:r,params:e,proxy_wt:null==(i=this.proxy_wt)?void 0:i.replace("https://",""),proxy_ws:null==(o=this.proxy_ws)?void 0:o.replace("wss://",""),proxy_cloud:null!=(n=this.scheduleResult.iceServers)&&n.length?this.scheduleResult.iceServers[0].urls:[],proxy_unified:this.proxy_unified,domains:this.scheduleResult.domains,env:a,osName:FO(),browserInfo:RL(),tinyId:this.tinyId,joinReq:{useStrRoomid:!!this.useStringRoomId,roomid:String(e.roomId||e.strRoomId),sdkAppID:String(e.sdkAppId),userSig:e.userSig,privMapEncrypt:e.privateMapKey||"",privMap:"",pstnBizType:0,role:"user",jsSdkVersion:Aw,browserVersion:s.browserName+s.browserVersion,closeLocalMedia:!0,trtcscene:"live"===t?2:1,trtcrole:e.role,bussinessInfo:e.businessInfo||this.bussinessInfo||"",isAuxUser:0,autoSubscribe:this.autoReceiveAudio&&this.autoReceiveVideo,AbilityOption:this.AbilityOption}};yield bG.call(this,c),console.log(this),lG.playAudio((e=>this.postMessage({cmd:"setAudioWorkletPort"},[e]))),this.checkDestroy()}))}leave(){return aw(this,null,(function*(){this.remotePublishedUserMap.forEach((e=>{e.remoteAudioTrack.close(),e.remoteAuxiliaryTrack.close(),e.remoteVideoTrack.close()})),this.postMessage(null),this.remotePublishedUserMap.clear(),this.localTracks.forEach(((e,t)=>t.unpublish())),this.localTracks.clear()}))}getSignalInfo(){return{tinyId:this.tinyid,clientIp:this.clientip,signalIp:"",relayIp:this.relayip,relayInnerIp:"",relayPort:0}}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];e<=0?this.audioVolumeEvalution.stop():this.audioVolumeEvalution.start(e,t)}getLocalAudioStats(){return this.sendMessage("getLocalAudioStats")}getLocalVideoStats(){return this.sendMessage("getLocalVideoStats")}afterJoin(){return aw(this,null,(function*(){jU((e=>aw(this,null,(function*(){let t=new MessageChannel;t.port2.onmessage=r=>{r.data?e.next({data:r.data,port:t.port2}):e.complete()},t.port2.onmessageerror=t=>e.error(t),e.defer((()=>{t.port2.postMessage(null),t.port2.close()})),this.postMessage({cmd:"decodeAudio",payload:!!this.audioManager.decodePipeline[0]},[t.port1])}))),zV(AV(this,"left")),KF((e=>{let{data:t,port:r}=e,i=this.audioManager.decodePipeline[0]({frame:{data:t.data.buffer}});r.postMessage(Zb(Qb({},t),{data:new Uint8Array(i.data)}),[i.data])})))}))}onWorkerEvent(e,t){switch("network-quality"!==e&&console.info(this.userId,"onWorkerEvent",e,JSON.stringify(t)),e){case YO.RECEIVED_PUBLISHED_USER_LIST:return void KO.emit(e,Qb({room:this},t));case"1":if(t.userId===this.userId)return;return void this.emit("peer-join",t);case"2":return void this.emit("peer-leave",t);case"3":let r=new kj(this,t);return this.remotePublishedUserMap.set(t.userId,r),void this.emit("remote-published",r);case"5":{let e=t,r=this.remotePublishedUserMap.get(e);r&&(r.remoteVideoTrack.close(),r.remoteAuxiliaryTrack.close(),r.remoteAudioTrack.close(),this.remotePublishedUserMap.delete(e),this.emit("remote-unpublished",r))}return;case"banned":switch(t){case 8:return void this.emit("banned",{reason:"kick",message:""});case 2:case 6:case 4:return void this.emit("banned",{reason:"banned",message:""});case 7:case 5:return void this.emit("banned",{reason:"room_disband",message:""})}break;case"6":{let{prevMuteState:e,muteState:r,flag:i}=t,o=this.remotePublishedUserMap.get(r.userId);if(!o)return void this.emit("remote-publish-state-changed",t);o.flag=i}return KO.emit(YO.REMOTE_PUBLISH_STATE_CHANGED,Qb({room:this},t)),void this.emit("remote-publish-state-changed",t);case"7":return void(this.localPublishFlag!==t.flag&&(this.localPublishFlag=t.flag,this.emit("local-publish-flag-changed",t.flag)));case"network-quality":this.quality=Qb({},t);let{uplinkLoss:i,uplinkRTT:o,uplinkInfo:n,downlinkInfo:a,msg_down_stream_info:s}=t,c={str_sdk_version:Aw,uint64_datetime:Date.now(),msg_user_info:{str_identifier:this.userId,uint64_tinyid:this.tinyid},msg_device_info:{uint32_terminal_type:15,str_device_name:navigator.platform,str_os_version:"",uint32_net_type:Yw[wD()]},msg_event_msg:KB(this.userId),str_acc_ip:this.relayip,str_client_ip:this.clientip,msg_up_stream_info:n,msg_down_stream_info:s};KO.emit(YO.HEARTBEAT_REPORT,{room:this,report:c}),this.emit("heartbeat-report",c),KO.emit(YO.NETWORK_QUALITY,{room:this,uplink:{rtt:o,loss:i},downlinks:a}),delete t.downlinkInfo;break;case"signal-connection-state-changed":return void KO.emit(YO.SIGNAL_CONNECTION_STATE_CHANGED,Qb({room:this},t))}this.emit(e,t)}sendStartPublishCDN(e,t){return e.roomid=this.roomId,e.sdkAppID=String(this.sdkAppId),e.socketid=this.socketid,t&&(e.request_time=e.pushRequestTime),this.sendMessage("publishCdn",e)}sendStopPublishCDN(e,t){return e.roomid=this.roomId,e.sdkAppID=String(this.sdkAppId),e.socketid=this.socketid,t&&(e.request_time=e.pushRequestTime),this.sendMessage("stopPublishCdn",e)}sendStartMixTranscode(e){return this.sendMessage("startMcuMix",e)}sendStopMixTranscode(e){return this.sendMessage("stopMcuMix",e)}publish(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return aw(this,null,(function*(){t.forEach((e=>this.localTracks.add(e)));let e=t.reduce(((e,t)=>t.mediaType|e),0),r=this.sendMessage("publish",e).then((e=>0!==e.err?Promise.reject(e.err):e)),i=0;yield Promise.all(t.map((e=>aw(this,null,(function*(){if(1===(yield r,e.muted&&(i|=e.mediaType),JP(e,e).add("mute",(()=>{this.postMessage("mute",{mediaType:e.mediaType,userId:this.userId,srctinyid:this.tinyid,remove:!0})})).add("unmute",(()=>{this.postMessage("unmute",{mediaType:e.mediaType,userId:this.userId,srctinyid:this.tinyid,add:!0})})),e.mediaType))OG.call(this,e);else yield PG.call(this,e)}))))),i&&this.postMessage("mute",{mediaType:i,srctinyid:this.tinyid,userId:this.openid,remove:!0})}))}unpublish(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return aw(this,null,(function*(){t.forEach(XP),t.forEach((e=>this.localTracks.delete(e)))}))}subscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return aw(this,null,(function*(){let e=t.reduce(((e,t)=>t.mediaType|e),0),{userId:r,tinyId:i,streamType:o}=t[0],n=this.remotePublishedUserMap.get(r),a=Qb({},n.subscribeState),s=Object.assign(new JM,a);s.mediaType|=e,KO.emit(YO.SUBSCRIBE_START,{room:this,streamType:o,remotePublishedUser:n,subscribeState:s});let c=yield this.sendMessage("subscribe",{mediaType:s.mediaType,userId:r,srctinyid:i,mediaDescription:{audioParam:{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]},videoParam:[4,8,2].filter((e=>s.mediaType&e)).map((e=>({mediaType:e,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]})))}});console.dir("subscribe",c),yield Promise.all(t.filter((e=>!e.isSubscribed)).map((e=>1===e.mediaType?DG.call(this,e):NG.call(this,e)))),KO.emit(YO.SUBSCRIBE_SUCCESS,{room:this,streamType:o,remotePublishedUser:n})}))}unsubscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return aw(this,null,(function*(){let e=0;for(let r of t)e|=r.mediaType;if(t.length){let{userId:r,streamType:i,tinyId:o}=t[0];yield this.sendMessage("unSubscribe",{mediaType:e,srctinyid:o,userId:r});for(let e of t)e.unsubscribe();KO.emit(YO.UNSUBSCRIBE_SUCCESS,{room:this,streamType:i,remotePublishedUser:this.remotePublishedUserMap.get(r)})}}))}enableSmall(e){return aw(this,null,(function*(){var t;if(e){if(this.videoManager.smallTrack){let e=this.videoManager.cameraTrack;this.smallEncoder=yield LG.call(this,e,{profile:e.small,type:3,trackType:"camera"});let t=new MediaStreamTrackProcessor({track:this.videoManager.smallTrack}).readable;this.smallEncoder.track=this.videoManager.smallTrack,this.smallEncoder.label="small",this.smallAbortCtrl=new AbortController,this.smallEncoder.start(t,this.smallAbortCtrl,this),this._log.info("push small")}}else null==(t=this.smallAbortCtrl)||t.abort("stop"),this.smallEncoder&&(this.smallEncoder.close(),delete this.smallEncoder)}))}changeType(e,t){let r=this.remotePublishedUserMap.get(t.userId);if(!r)return;let i=e?8:4;if(r.remoteVideoTrack.mediaType===i)return;let o={srctinyid:r.tinyId,mediaType:i,userId:t.userId,mediaDescription:{audioParam:{mediaType:1,payloadFmtps:[{payloadType:111,fmtp:"minptime=10;useinbandfec=1"}]},videoParam:[4,8].filter((e=>i&e)).map((e=>({mediaType:e,payloadFmtps:[{payloadType:100,fmtp:"packetization-mode=1;profile-level-id=42e01f"}]})))}};r.remoteVideoTrack.mediaType=o.mediaType,this.postMessage("changetype",o)}destroy(){this.isDestroyed||(super.destroy(),this.isDestroyed=!0,this.joinAbortController.abort("destroy"))}};iw([AU(VG.prototype.afterJoin),xP(["left",FP.INIT],"joined"),SU((e=>{let t=new Oj;return function(r,i,o){return aw(this,null,(function*(){let n=String(r.roomId||r.strRoomId);if(this.userId=r.userId,this.sdkAppId=r.sdkAppId,this.userSig=r.userSig,this._log.setSdkAppId(this.sdkAppId),this._log.setUserId(this.userId),this.scene=i,r.privateMapKey=r.privateMapKey||"",this.isJoined)throw new fw({code:pw.INVALID_OPERATION,message:uL({key:sL.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:n,sdkAppId:this.sdkAppId,room:this}))throw new fw({code:pw.INVALID_OPERATION,message:uL({key:sL.REPEAT_JOIN,data:this.userId})});t.add({room:this,roomId:n}),this.role=21===r.role?"audience":"anchor",this._log.info("Join() => joining room: ".concat(n," useStringRoomId: ").concat(this.useStringRoomId," scene: ").concat(this.scene," role: ").concat(this.role)),KO.emit(YO.JOIN_START,{room:this,roomId:n,params:r});let a=yw.getEnv();a||(a=Gw.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(iC.OLD_CLOUD_LADDER)?a=Gw.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(iC.WEBRTC)&&(a=Gw.WEBRTC))),$P.setConfig({env:a,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:n}),eM.checkSystemRequirementsInternal(o).then((e=>{this.checkSystemResult=e,Mj.call(this)}));try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!yw.getEnv()&&(yield this.schedule(r,o));let t=yield e.call(this,r,i,o);return this.roomId=n,this._joinedTimestamp=yw.performanceNow(),KO.emit(YO.JOIN_SUCCESS,{room:this}),30===o&&!r.component&&$P.uploadEvent({log:"stat-conv-".concat(Number(wO),"-").concat(location.hostname),userId:this.userId}),t}catch(aM){throw t.delete({room:this,roomId:n}),KO.emit(YO.JOIN_FAILED,{room:this,error:aM}),aM}}))}}))],VG.prototype,"join",1),iw([xP("joined","left",{ignoreError:!0}),SU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return aw(this,null,(function*(){KO.emit(YO.LEAVE_START,{room:this}),yield e.call(this,...r),KO.emit(YO.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))}))],VG.prototype,"leave",1),iw([NU(),SU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return aw(this,null,(function*(){if("live"===this.scene&&"anchor"!==this.role||(r=r.filter((e=>e.outMediaTrack&&"ready"===e.state)),!r.length))return;KO.emit("61",{room:this});let t=e.apply(this,r);return Promise.all(r.map((e=>e.publish(this,t))))}))}))],VG.prototype,"publish",1),iw([NU(),SU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];let o=e.apply(this,r);return r.forEach((e=>e.unpublish())),o}))],VG.prototype,"unpublish",1),iw([function(e){return function(t,r,i){let o=i.value,n=t=>e(...t);return i.value=function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];let i=DU.get(this)||new Map,a=i.get(n(t))||new wU;return i.set(n(t),a),DU.set(this,i),a.push({fn:o,args:t,context:this})},i}}((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].userId})),SU((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];let o=e.apply(this,r);return r.forEach((e=>!e.isSubscribed&&e.subscribe(o))),o}))],VG.prototype,"subscribe",1);var FG=VG;return Nj.frameWorkType=37,Nj.create=function(e){let t=Nj._create.call(this,FG,e);return t._use(kH,null==e?void 0:e.assetsPath),null!=e&&e.assetsPath&&(eG.assetsPath=null==e?void 0:e.assetsPath),console.log("trtc wasm sdk:",Aw,"created",eG),t},Object.assign(Nj.prototype,{_setCurrentSpeaker(e){let t=Fx();return null!=t&&t.setSinkId?t.setSinkId(e):Promise.reject("not support")},_enableVideoDecodeFallback(e,t){return aw(this,null,(function*(){return this.startPlugin(kH.Name,{type:"webCodecs",renderer:"videoFrame",track:e,config:{codec:"avc1.640028",hardwareAcceleration:"prefer-software",optimizeForLatency:!0},fallback:"wasm"}),new Promise(((t,r)=>{jU(AV(e,"decode-downgrade-state-changed"),WV((e=>"STARTED"===e.state)),GV(1),YF(1e4),zV(AV(e,FP.INIT)),KF(t,r))}))}))}}),TP(37),Nj}));