trtc-sdk-v5 5.11.0-wasm.1 → 5.11.0-wasm.2

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)},u={},d={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!d.call({1:2},1);u.f=p?function(e){var t=h(this,e);return!!t&&t.enumerable}:d;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,N=Object,D=T("".split),C=b((function(){return!N("z").propertyIsEnumerable(0)}))?function(e){return"String"===w(e)?D(e,""):N(e)}:N,k=function(e){return null==e},O=k,M=TypeError,P=function(e){if(O(e))throw new M("Can't call method on "+e);return e},L=C,x=P,U=function(e){return L(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},K=T({}.isPrototypeOf),z=r.navigator,q=z&&z.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=K,ue=Object,de=ae?function(e){return"symbol"==typeof e}:function(e){var t=se("Symbol");return ce(t)&&le(t.prototype,ue(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,Ne=function(e,t){try{we(be,e,{value:t,configurable:!0,writable:!0})}catch(r){be[e]=t}return t},De=r,Ce=Ne,ke="__core-js_shared__",Oe=Re.exports=De[ke]||Ce(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,Pe=Me,Le=function(e,t){return Pe[e]||(Pe[e]=t||{})},xe=P,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(),Ke=We(1..toString),ze=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Ke(++je+Ge,36)},qe=Le,Ye=He,Je=ze,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=de,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)},ut=lt,dt=de,ht=function(e){var t=ut(e,"string");return dt(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=u,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 Nt={},Dt=n&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Ct=H,kt=String,Ot=TypeError,Mt=function(e){if(Ct(e))return e;throw new Ot(kt(e)+" is not an object")},Pt=n,Lt=Et,xt=Dt,Ut=Mt,Vt=ht,Ft=TypeError,Bt=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Wt="enumerable",jt="configurable",Gt="writable";Nt.f=Pt?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),Lt)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 Kt=Nt,zt=_,qt=n?function(e,t,r){return Kt.f(e,t,zt(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,ur=cr(lr)&&/native code/.test(String(lr)),dr=ze,hr=Le("keys"),pr=function(e){return hr[e]||(hr[e]=dr(e))},mr={},fr=ur,_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 Nr={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,Cr=o,kr=F,Or=He,Mr=n,Pr=er.CONFIGURABLE,Lr=sr,xr=Nr.enforce,Ur=Nr.get,Vr=String,Fr=Object.defineProperty,Br=Dr("".slice),Hr=Dr("".replace),Wr=Dr([].join),jr=Mr&&!Cr((function(){return 8!==Fr((function(){}),"length",{value:8}).length})),Gr=String(String).split("String"),Kr=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")||Pr&&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=Kr((function(){return kr(this)&&Ur(this).source||Lr(this)}),"toString");var zr=Yt.exports,qr=F,Yr=Nt,Jr=zr,Xr=Ne,$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,ui=function(e){var t=ci(e);return t>0?li(t,9007199254740991):0},di=ui,hi=function(e){return di(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 Ni=G,Di=Qr,Ci=wi,ki=Mt,Oi=T([].concat),Mi=Ni("Reflect","ownKeys")||function(e){var t=Di.f(ki(e)),r=Ci.f;return r?Oi(t,r(e)):t},Pi=He,Li=Mi,xi=i,Ui=Nt,Vi=function(e,t,r){for(var i=Li(t),o=Ui.f,n=xi.f,a=0;a<i.length;a++){var s=i[a];Pi(e,s)||r&&Pi(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===zi||r!==Ki&&(Bi(t)?Fi(t):!!t)},ji=Wi.normalize=function(e){return String(e).replace(Hi,".").toLowerCase()},Gi=Wi.data={},Ki=Wi.NATIVE="N",zi=Wi.POLYFILL="P",qi=Wi,Yi=r,Ji=i.f,Xi=qt,$i=$r,Qi=Ne,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=zr,fo=Nt,_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=K,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 No={},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&&(No[t]=!0),t};Ro(Do,bo),Do.prototype=wo,wo.constructor=Do;var Co="Symbol(description detection)"===String(bo("description detection")),ko=vo(wo.valueOf),Oo=vo(wo.toString),Mo=/^Symbol\((.*)\)[^)]+$/,Po=vo("".replace),Lo=vo("".slice);So(wo,"description",{configurable:!0,get:function(){var e=ko(this);if(yo(No,e))return"";var t=Oo(e),r=Co?Lo(t,7,-1):Po(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=Nt.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,Ko=Array.isArray||function(e){return"Array"===Go(e)},zo=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=Ko,tn=hi,rn=function(e){if(e>9007199254740991)throw zo("Maximum allowed index exceeded");return e},on=Zo,nn=function(e,t,r,i,o,n,a,s){for(var c,l,u=o,d=0,h=!!a&&on(a,s);d<i;)d in r&&(c=h?h(r[d],d,t):r[d],n>0&&en(c)?(l=tn(c),u=nn(e,t,c,l,u,n-1)-1):(rn(u+1),e[u]=c),u++),d++;return u},an=nn,sn=T,cn=o,ln=F,un=lo,dn=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(un(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return _n||!!fn(mn,dn(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=Ko,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,Nn=Ve,Dn=hi,Cn=ii,kn=bn;to({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=Nn(this),r=Dn(t),i=kn(t,0);return i.length=wn(i,t,t,r,0,void 0===e?1:Cn(e)),i}});var On={},Mn=Ai,Pn=Si,Ln=Object.keys||function(e){return Mn(e,Pn)},xn=n,Un=Dt,Vn=Nt,Fn=Mt,Bn=U,Hn=Ln;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,Kn=On,zn=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=zn.length;e--;)delete ra[Xn][zn[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:Kn.f(r,t)},oa=tt,na=ia,aa=Nt.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},ua=gi.includes,da=la;to({target:"Array",proto:!0,forced:o((function(){return!Array(1).includes()}))},{includes:function(e){return ua(this,e,arguments.length>1?arguments[1]:void 0)}}),da("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,Na=Sa,Da=$r,Ca=tt("iterator"),ka=!1;[].keys&&("next"in(ma=[].keys())?(pa=Na(Na(ma)))!==Object.prototype&&(ha=pa):ka=!0);var Oa=!wa(ha)||Ra((function(){var e={};return ha[Ca].call(e)!==e}));Oa&&(ha={}),ba(ha[Ca])||Da(ha,Ca,(function(){return this}));var Ma={IteratorPrototype:ha,BUGGY_SAFARI_ITERATORS:ka},Pa=Nt.f,La=He,xa=tt("toStringTag"),Ua=function(e,t,r){e&&!r&&(e=e.prototype),e&&!La(e,xa)&&Pa(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},Ka=T,za=ge,qa=H,Ya=function(e){return qa(e)||null===e},Ja=String,Xa=TypeError,$a=function(e,t,r){try{return Ka(za(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(i){}},Qa=H,Za=P,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,us=$r,ds=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,u=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)}},d=t+" Iterator",h=!1,p=e.prototype,m=p[_s]||p["@@iterator"]||o&&p[o],f=!fs&&m||u(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])||us(s,_s,ys)),cs(s,d,!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:u(Es),keys:n?f:u(gs),entries:u(vs)},a)for(l in c)(fs||h||!(l in p))&&us(p,l,c[l]);else rs({target:t,proto:!0,forced:fs||h},c);return p[_s]!==f&&us(p,_s,f,{name:o}),ds[t]=f,c},Is=function(e,t){return{value:e,done:t}},As=U,Ss=la,Rs=fa,bs=Nr,ws=Nt.f,Ns=Ts,Ds=Is,Cs=n,ks="Array Iterator",Os=bs.set,Ms=bs.getterFor(ks),Ps=Ns(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"),Ls=Rs.Arguments=Rs.Array;if(Ss("keys"),Ss("values"),Ss("entries"),Cs&&"values"!==Ls.name)try{ws(Ls,"name",{value:"values"})}catch(ZW){}var xs=ge,Us=Ve,Vs=C,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,Ks=function(e,t){var r=[][e];return!!r&&Gs((function(){r.call(null,t||function(){return 1},1)}))},zs=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":zs.Bun&&"string"==typeof Bun.version?"BUN":zs.Deno&&"object"==typeof Deno.version?"DENO":"process"===Ys(zs.process)?"NODE":zs.window&&zs.document?"BROWSER":"REST",$s="NODE"===Xs,Qs=js.left;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!Ks("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||!Ks("reduceRight")},{reduceRight:function(e){return Zs(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}});var ec=to,tc=Ko,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,u=c.length,d=0,h=0;d<l||h<u;)e[d+h]=d<l&&h<u?t(s[d],c[h])<=0?s[d++]:c[h++]:d<l?s[d++]:c[h++];return e},uc=lc,dc=Y.match(/firefox\/(\d+)/i),hc=!!dc&&+dc[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=uc,Rc=Ks,bc=hc,wc=pc,Nc=te,Dc=fc,Cc=[],kc=gc(Cc.sort),Oc=gc(Cc.push),Mc=Ac((function(){Cc.sort(void 0)})),Pc=Ac((function(){Cc.sort(null)})),Lc=Rc("sort"),xc=!Ac((function(){if(Nc)return Nc<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++)Cc.push({k:t+i,v:r})}for(Cc.sort((function(e,t){return t.v-e.v})),i=0;i<Cc.length;i++)t=Cc[i].k.charAt(0),o.charAt(o.length-1)!==t&&(o+=t);return"DGBEFHACIJK"!==o}}));_c({target:"Array",proto:!0,forced:Mc||!Pc||!Lc||!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=K,Hc=TypeError,Wc=function(e,t){if(Bc(t,e))return e;throw new Hc("Incorrect invocation")},jc=ii,Gc=ui,Kc=RangeError,zc=function(e){if(void 0===e)return 0;var t=jc(e),r=Gc(t);if(t!==r)throw new Kc("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,u=23===t?rl(2,-24)-rl(2,-77):0,d=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?u/n:u*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*d,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--],u=127&l;for(l>>=7;s>0;)u=256*u+e[c--],s-=8;for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;)r=256*r+e[c--],s-=8;if(0===u)u=1-a;else{if(u===n)return r?NaN:l?-Infinity:Infinity;r+=rl(2,t),u-=a}return(l?-1:1)*r*rl(2,u-t)}},sl=Ve,cl=si,ll=hi,ul=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},dl=F,hl=H,pl=ts,ml=function(e,t,r){var i,o;return pl&&dl(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=ui,bl=zc,wl=Zc,Nl=al,Dl=Sa,Cl=ts,kl=ul,Ol=ac,Ml=ml,Pl=Vi,Ll=Ua,xl=Nr,Ul=er.PROPER,Vl=er.CONFIGURABLE,Fl="ArrayBuffer",Bl="DataView",Hl="prototype",Wl="Wrong index",jl=xl.getterFor(Fl),Gl=xl.getterFor(Bl),Kl=xl.set,zl=fl[Fl],ql=zl,Yl=ql&&ql[Hl],Jl=fl[Bl],Xl=Jl&&Jl[Hl],$l=Object.prototype,Ql=fl.Array,Zl=fl.RangeError,eu=_l(kl),tu=_l([].reverse),ru=Nl.pack,iu=Nl.unpack,ou=function(e){return[255&e]},nu=function(e){return[255&e,e>>8&255]},au=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},su=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},cu=function(e){return ru(wl(e),23,4)},lu=function(e){return ru(e,52,8)},uu=function(e,t,r){yl(e[Hl],t,{configurable:!0,get:function(){return r(this)[t]}})},du=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:tu(l)},hu=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 u=a.bytes,d=s+a.byteOffset,h=0;h<t;h++)u[d+h]=c[l?h:t-h-1]};if(El){var pu=Ul&&zl.name!==Fl;Il((function(){zl(1)}))&&Il((function(){new zl(-1)}))&&!Il((function(){return new zl,new zl(1.5),new zl(NaN),1!==zl.length||pu&&!Vl}))?pu&&Vl&&vl(zl,"name",Fl):((ql=function(e){return Al(this,Yl),Ml(new zl(bl(e)),this,ql)})[Hl]=Yl,Yl.constructor=ql,Pl(ql,zl)),Cl&&Dl(Xl)!==$l&&Cl(Xl,$l);var mu=new Jl(new ql(2)),fu=_l(Xl.setInt8);mu.setInt8(0,2147483648),mu.setInt8(1,2147483649),!mu.getInt8(0)&&mu.getInt8(1)||Tl(Xl,{setInt8:function(e,t){fu(this,e,t<<24>>24)},setUint8:function(e,t){fu(this,e,t<<24>>24)}},{unsafe:!0})}else Yl=(ql=function(e){Al(this,Yl);var t=bl(e);Kl(this,{type:Fl,bytes:eu(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");Kl(this,{type:Bl,buffer:e,byteLength:r,byteOffset:n,bytes:i.bytes}),gl||(this.buffer=e,this.byteLength=r,this.byteOffset=n)})[Hl],gl&&(uu(ql,"byteLength",jl),uu(Jl,"buffer",Gl),uu(Jl,"byteLength",Gl),uu(Jl,"byteOffset",Gl)),Tl(Xl,{getInt8:function(e){return du(this,1,e)[0]<<24>>24},getUint8:function(e){return du(this,1,e)[0]},getInt16:function(e){var t=du(this,2,e,arguments.length>1&&arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=du(this,2,e,arguments.length>1&&arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return su(du(this,4,e,arguments.length>1&&arguments[1]))},getUint32:function(e){return su(du(this,4,e,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(e){return iu(du(this,4,e,arguments.length>1&&arguments[1]),23)},getFloat64:function(e){return iu(du(this,8,e,arguments.length>1&&arguments[1]),52)},setInt8:function(e,t){hu(this,1,e,ou,t)},setUint8:function(e,t){hu(this,1,e,ou,t)},setInt16:function(e,t){hu(this,2,e,nu,t,arguments.length>2&&arguments[2])},setUint16:function(e,t){hu(this,2,e,nu,t,arguments.length>2&&arguments[2])},setInt32:function(e,t){hu(this,4,e,au,t,arguments.length>2&&arguments[2])},setUint32:function(e,t){hu(this,4,e,au,t,arguments.length>2&&arguments[2])},setFloat32:function(e,t){hu(this,4,e,cu,t,arguments.length>2&&arguments[2])},setFloat64:function(e,t){hu(this,8,e,lu,t,arguments.length>2&&arguments[2])}});Ll(ql,Fl),Ll(Jl,Bl);var _u={ArrayBuffer:ql,DataView:Jl},gu=G,Eu=_o,vu=n,yu=tt("species"),Tu=function(e){var t=gu(e);vu&&t&&!t[yu]&&Eu(t,yu,{configurable:!0,get:function(){return this}})},Iu=Tu,Au="ArrayBuffer",Su=_u[Au];to({global:!0,constructor:!0,forced:r[Au]!==Su},{ArrayBuffer:Su}),Iu(Au);var Ru=to,bu=Jo,wu=o,Nu=Mt,Du=si,Cu=ui,ku=_u.ArrayBuffer,Ou=_u.DataView,Mu=Ou.prototype,Pu=bu(ku.prototype.slice),Lu=bu(Mu.getUint8),xu=bu(Mu.setUint8);Ru({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:wu((function(){return!new ku(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(Pu&&void 0===t)return Pu(Nu(this),e);for(var r=Nu(this).byteLength,i=Du(e,r),o=Du(void 0===t?r:t,r),n=new ku(Cu(o-i)),a=new Ou(this),s=new Ou(n),c=0;i<o;)xu(s,c++,Lu(a,i++));return n}});var Uu,Vu,Fu,Bu,Hu=vn,Wu=pe,ju=TypeError,Gu=function(e){if(Hu(e))return e;throw new ju(Wu(e)+" is not a constructor")},Ku=Mt,zu=Gu,qu=k,Yu=tt("species"),Ju=function(e,t){var r,i=Ku(e).constructor;return void 0===i||qu(r=Ku(i)[Yu])?t:zu(r)},Xu=a,$u=Function.prototype,Qu=$u.apply,Zu=$u.call,ed="object"==typeof Reflect&&Reflect.apply||(Xu?Zu.bind(Qu):function(){return Zu.apply(Qu,arguments)}),td=TypeError,rd=function(e,t){if(e<t)throw new td("Not enough arguments");return e},id=/(?:ipad|iphone|ipod).*applewebkit/i.test(Y),od=r,nd=ed,ad=Zo,sd=F,cd=He,ld=o,ud=jn,dd=ac,hd=_t,pd=rd,md=id,fd=$s,_d=od.setImmediate,gd=od.clearImmediate,Ed=od.process,vd=od.Dispatch,yd=od.Function,Td=od.MessageChannel,Id=od.String,Ad=0,Sd={},Rd="onreadystatechange";ld((function(){Uu=od.location}));var bd=function(e){if(cd(Sd,e)){var t=Sd[e];delete Sd[e],t()}},wd=function(e){return function(){bd(e)}},Nd=function(e){bd(e.data)},Dd=function(e){od.postMessage(Id(e),Uu.protocol+"//"+Uu.host)};_d&&gd||(_d=function(e){pd(arguments.length,1);var t=sd(e)?e:yd(e),r=dd(arguments,1);return Sd[++Ad]=function(){nd(t,void 0,r)},Vu(Ad),Ad},gd=function(e){delete Sd[e]},fd?Vu=function(e){Ed.nextTick(wd(e))}:vd&&vd.now?Vu=function(e){vd.now(wd(e))}:Td&&!md?(Bu=(Fu=new Td).port2,Fu.port1.onmessage=Nd,Vu=ad(Bu.postMessage,Bu)):od.addEventListener&&sd(od.postMessage)&&!od.importScripts&&Uu&&"file:"!==Uu.protocol&&!ld(Dd)?(Vu=Dd,od.addEventListener("message",Nd,!1)):Vu=Rd in hd("script")?function(e){ud.appendChild(hd("script"))[Rd]=function(){ud.removeChild(this),bd(e)}}:function(e){setTimeout(wd(e),0)});var Cd={set:_d,clear:gd},kd=r,Od=n,Md=Object.getOwnPropertyDescriptor,Pd=function(e){if(!Od)return kd[e];var t=Md(kd,e);return t&&t.value},Ld=function(){this.head=null,this.tail=null};Ld.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 xd,Ud,Vd,Fd,Bd,Hd=Ld,Wd=/ipad|iphone|ipod/i.test(Y)&&"undefined"!=typeof Pebble,jd=/web0s(?!.*chrome)/i.test(Y),Gd=r,Kd=Pd,zd=Zo,qd=Cd.set,Yd=Hd,Jd=id,Xd=Wd,$d=jd,Qd=$s,Zd=Gd.MutationObserver||Gd.WebKitMutationObserver,eh=Gd.document,th=Gd.process,rh=Gd.Promise,ih=Kd("queueMicrotask");if(!ih){var oh=new Yd,nh=function(){var e,t;for(Qd&&(e=th.domain)&&e.exit();t=oh.get();)try{t()}catch(ZW){throw oh.head&&xd(),ZW}e&&e.enter()};Jd||Qd||$d||!Zd||!eh?!Xd&&rh&&rh.resolve?((Fd=rh.resolve(void 0)).constructor=rh,Bd=zd(Fd.then,Fd),xd=function(){Bd(nh)}):Qd?xd=function(){th.nextTick(nh)}:(qd=zd(qd,Gd),xd=function(){qd(nh)}):(Ud=!0,Vd=eh.createTextNode(""),new Zd(nh).observe(Vd,{characterData:!0}),xd=function(){Vd.data=Ud=!Ud}),ih=function(e){oh.head||xd(),oh.add(e)}}var ah=ih,sh=function(e){try{return{error:!1,value:e()}}catch(ZW){return{error:!0,value:ZW}}},ch=r.Promise,lh=r,uh=ch,dh=F,hh=qi,ph=sr,mh=tt,fh=Xs,_h=te;uh&&uh.prototype;var gh=mh("species"),Eh=!1,vh=dh(lh.PromiseRejectionEvent),yh=hh("Promise",(function(){var e=ph(uh),t=e!==String(uh);if(!t&&66===_h)return!0;if(!_h||_h<51||!/native code/.test(e)){var r=new uh((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,Nh,Dh=to,Ch=$s,kh=r,Oh=l,Mh=$r,Ph=ts,Lh=Ua,xh=Tu,Uh=ge,Vh=F,Fh=H,Bh=Wc,Hh=Ju,Wh=Cd.set,jh=ah,Gh=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(ZW){}},Kh=sh,zh=Hd,qh=Nr,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,up=!!(ap&&ap.createEvent&&kh.dispatchEvent),dp="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,u=e.domain;try{s?(a||(2===t.rejection&&Ep(t),t.rejection=1),!0===s?r=n:(u&&u.enter(),r=s(n),u&&(u.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(ZW){u&&!o&&u.exit(),l(ZW)}},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;up?((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===dp&&Gh("Unhandled promise rejection",r)},_p=function(e){Oh(Wh,kh,(function(){var t,r=e.facade,i=e.value;if(gp(e)&&(t=Kh((function(){Ch?sp.emit("unhandledRejection",i,r):fp(dp,r,i)})),e.rejection=Ch||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;Ch?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(ZW){yp(r,ZW,e)}})):(e.value=t,e.state=1,mp(e,!1))}catch(ZW){yp({done:!1},ZW,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(ZW){yp(t,ZW)}}).prototype,(bh=function(e){tp(this,{type:Xh,done:!1,notified:!1,parent:!1,reactions:new zh,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=Ch?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)){Nh=rp.then,Zh||Mh(rp,"then",(function(e,t){var r=this;return new ip((function(e,t){Oh(Nh,r,e,t)})).then(e,t)}),{unsafe:!0});try{delete rp.constructor}catch(ZW){}Ph&&Ph(rp,op)}Dh({global:!0,constructor:!0,wrap:!0,forced:$h},{Promise:ip}),Lh(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,Np=k,Dp=fa,Cp=tt("iterator"),kp=function(e){if(!Np(e))return wp(e,Cp)||wp(e,"@@iterator")||Dp[bp(e)]},Op=l,Mp=ge,Pp=Mt,Lp=pe,xp=kp,Up=TypeError,Vp=function(e,t){var r=arguments.length<2?xp(e):t;if(Mp(r))return Pp(Op(r,e));throw new Up(Lp(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(ZW){o=!0,i=ZW}if("throw"===t)throw r;if(o)throw i;return Bp(i),r},jp=Zo,Gp=l,Kp=Mt,zp=pe,qp=Rp,Yp=hi,Jp=K,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,u=r&&r.that,d=!(!r||!r.AS_ENTRIES),h=!(!r||!r.IS_RECORD),p=!(!r||!r.IS_ITERATOR),m=!(!r||!r.INTERRUPTED),f=jp(t,u),_=function(e){return i&&Qp(i,"normal",e),new em(!0,e)},g=function(e){return d?(Kp(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(zp(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(ZW){Qp(i,"throw",ZW)}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(ZW){}var sm=function(e,t){try{if(!t&&!om)return!1}catch(ZW){return!1}var r=!1;try{var i={};i[im]=function(){return{next:function(){return{done:r=!0}}}},e(i)}catch(ZW){}return r},cm=ch,lm=Th.CONSTRUCTOR||!sm((function(e){cm.all(e).then(void 0,(function(){}))})),um=l,dm=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=dm(t.resolve),n=[],a=0,s=1;mm(e,(function(e){var c=a++,l=!1;s++,um(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 Nm=Ih;to({target:"Promise",stat:!0,forced:Th.CONSTRUCTOR},{reject:function(e){var t=Nm.f(this);return(0,t.reject)(e),t.promise}});var Dm=Mt,Cm=H,km=Ih,Om=function(e,t){if(Dm(e),Cm(t)&&t.constructor===e)return t;var r=km.f(e);return(0,r.resolve)(t),r.promise},Mm=to,Pm=Th.CONSTRUCTOR,Lm=Om;G("Promise"),Mm({target:"Promise",stat:!0,forced:Pm},{resolve:function(e){return Lm(this,e)}});var xm=to,Um=ch,Vm=o,Fm=G,Bm=F,Hm=Ju,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 Km=Fm("Promise").prototype.finally;Gm.finally!==Km&&jm(Gm,"finally",Km,{unsafe:!0})}var zm=H,qm=R,Ym=tt("match"),Jm=function(e){var t;return zm(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=K,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")})),uf={BROKEN_CARET:lf,MISSED_STICKY:cf,UNSUPPORTED_Y:sf},df=Nt.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=K,wf=Jm,Nf=po,Df=of,Cf=uf,kf=function(e,t,r){r in e||df(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})},Of=$r,Mf=o,Pf=He,Lf=Nr.enforce,xf=Tu,Uf=mf,Vf=gf,Ff=tt("match"),Bf=vf.RegExp,Hf=Bf.prototype,Wf=vf.SyntaxError,jf=yf(Hf.exec),Gf=yf("".charAt),Kf=yf("".replace),zf=yf("".indexOf),qf=yf("".slice),Yf=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Jf=/a/g,Xf=/a/g,$f=new Bf(Jf)!==Jf,Qf=Cf.MISSED_STICKY,Zf=Cf.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),u=void 0===t,d=[],h=e;if(!c&&l&&u&&e.constructor===t_)return e;if((l||bf(Hf,e))&&(e=e.source,u&&(t=Df(h))),e=void 0===e?"":Nf(e),t=void 0===t?"":Nf(t),h=e,Uf&&"dotAll"in Jf&&(i=!!t&&zf(t,"s")>-1)&&(t=Kf(t,/s/g,"")),r=t,Qf&&"sticky"in Jf&&(o=!!t&&zf(t,"y")>-1)&&Zf&&(t=Kf(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,u="";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(""===u||Pf(a,u))throw new Wf("Invalid capture group name");a[u]=!0,n[n.length]=[u,l],c=!1,u="";continue}c?u+=t:o+=t}return[o,n]}(e),e=n[0],d=n[1]),a=If(Bf(e,t),c?this:Hf,t_),(i||o||d.length)&&(s=Lf(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),d.length&&(s.groups=d)),e!==h)try{Af(a,"source",""===h?"(?:)":h)}catch(ZW){}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_=uf,l_=ia,u_=Nr.get,d_=mf,h_=gf,p_=Le("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_||d_||h_)&&(f_=function(e){var t,r,i,o,n,a,s,c=this,l=u_(c),u=a_(e),d=l.raw;if(d)return d.lastIndex=c.lastIndex,t=o_(f_,d,u),c.lastIndex=d.lastIndex,t;var h=l.groups,p=T_&&c.sticky,m=o_(s_,c),f=c.source,_=0,g=u;if(p&&(m=E_(m,"y",""),-1===g_(m,"g")&&(m+="g"),g=v_(u,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==__(u,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,N_=r.RegExp,D_=N_.prototype,C_=S_&&w_((function(){var e=!0;try{N_(".","d")}catch(ZW){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}));C_&&R_(D_,"flags",{configurable:!0,get:b_});var k_=ii,O_=po,M_=P,P_=RangeError,L_=T,x_=ui,U_=po,V_=function(e){var t=O_(M_(this)),r="",i=k_(e);if(i<0||Infinity===i)throw new P_("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(r+=t);return r},F_=P,B_=L_(V_),H_=L_("".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)},K_=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Y),z_=G_.start;to({target:"String",proto:!0,forced:K_},{padStart:function(e){return z_(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=P,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)},ug=lg.charAt,dg=T,hg=Ve,pg=Math.floor,mg=dg("".charAt),fg=dg("".replace),_g=dg("".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 u=+c;if(0===u)return n;if(u>s){var d=pg(u/10);return 0===d?n:d<=s?void 0===i[d-1]?mg(c,1):i[d-1]+mg(c,1):n}l=i[u-1]}return void 0===l?"":l}))},yg=l,Tg=Mt,Ig=F,Ag=R,Sg=A_,Rg=TypeError,bg=ed,wg=l,Ng=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)},Cg=o,kg=Mt,Og=F,Mg=k,Pg=ii,Lg=ui,xg=po,Ug=P,Vg=function(e,t,r){return t+(r?ug(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,Kg=Ng([].concat),zg=Ng([].push),qg=Ng("".indexOf),Yg=Ng("".slice),Jg="$0"==="a".replace(/./,"$0"),Xg=!!/./[Wg]&&""===/./[Wg]("a","$0"),$g=!Cg((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=Xg?"$":"$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,u=n.global;u&&(l=n.unicode,n.lastIndex=0);for(var d,h=[];null!==(d=Hg(n,a))&&(zg(h,d),u);){""===xg(d[0])&&(n.lastIndex=Vg(a,Lg(n.lastIndex),l))}for(var p,m="",f=0,_=0;_<h.length;_++){for(var g,E=xg((d=h[_])[0]),v=jg(Gg(Pg(d.index),a.length),0),y=[],T=1;T<d.length;T++)zg(y,void 0===(p=d[T])?p:String(p));var I=d.groups;if(c){var A=Kg([E],y,v,a);void 0!==I&&zg(A,I),g=xg(bg(o,void 0,A))}else g=Bg(E,a,v,y,I,o);v>=f&&(m+=Yg(a,f,v)+g,f=v+E.length)}return m+Yg(a,f)}]}),!$g||!Jg||Xg);var Qg="\t\n\v\f\r                 \u2028\u2029\ufeff",Zg=P,eE=po,tE=Qg,rE=T("".replace),iE=RegExp("^["+tE+"]+"),oE=RegExp("(^|[^"+tE+"])["+tE+"]+$"),nE=function(e){return function(t){var r=eE(Zg(t));return 1&e&&(r=rE(r,iE,"")),2&e&&(r=rE(r,oE,"$1")),r}},aE={start:nE(1),end:nE(2),trim:nE(3)},sE=er.PROPER,cE=o,lE=Qg,uE=aE.trim;to({target:"String",proto:!0,forced:function(e){return cE((function(){return!!lE[e]()||"​…᠎"!=="​…᠎"[e]()||sE&&lE[e].name!==e}))}("trim")},{trim:function(){return uE(this)}});var dE,hE,pE,mE={exports:{}},fE=Uc,_E=n,gE=r,EE=F,vE=H,yE=He,TE=lo,IE=pe,AE=qt,SE=$r,RE=_o,bE=K,wE=Sa,NE=ts,DE=tt,CE=ze,kE=Nr.enforce,OE=Nr.get,ME=gE.Int8Array,PE=ME&&ME.prototype,LE=gE.Uint8ClampedArray,xE=LE&&LE.prototype,UE=ME&&wE(ME),VE=PE&&wE(PE),FE=Object.prototype,BE=gE.TypeError,HE=DE("toStringTag"),WE=CE("TYPED_ARRAY_TAG"),jE="TypedArrayConstructor",GE=fE&&!!NE&&"Opera"!==TE(gE.opera),KE=!1,zE={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},qE={BigInt64Array:8,BigUint64Array:8},YE=function(e){var t=wE(e);if(vE(t)){var r=OE(t);return r&&yE(r,jE)?r[jE]:YE(t)}},JE=function(e){if(!vE(e))return!1;var t=TE(e);return yE(zE,t)||yE(qE,t)};for(dE in zE)(pE=(hE=gE[dE])&&hE.prototype)?kE(pE)[jE]=hE:GE=!1;for(dE in qE)(pE=(hE=gE[dE])&&hE.prototype)&&(kE(pE)[jE]=hE);if((!GE||!EE(UE)||UE===Function.prototype)&&(UE=function(){throw new BE("Incorrect invocation")},GE))for(dE in zE)gE[dE]&&NE(gE[dE],UE);if((!GE||!VE||VE===FE)&&(VE=UE.prototype,GE))for(dE in zE)gE[dE]&&NE(gE[dE].prototype,VE);if(GE&&wE(xE)!==VE&&NE(xE,VE),_E&&!yE(VE,HE))for(dE in KE=!0,RE(VE,HE,{configurable:!0,get:function(){return vE(this)?this[WE]:void 0}}),zE)gE[dE]&&AE(gE[dE],WE,dE);var XE={NATIVE_ARRAY_BUFFER_VIEWS:GE,TYPED_ARRAY_TAG:KE&&WE,aTypedArray:function(e){if(JE(e))return e;throw new BE("Target is not a typed array")},aTypedArrayConstructor:function(e){if(EE(e)&&(!NE||bE(UE,e)))return e;throw new BE(IE(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,r,i){if(_E){if(r)for(var o in zE){var n=gE[o];if(n&&yE(n.prototype,e))try{delete n.prototype[e]}catch(ZW){try{n.prototype[e]=t}catch(a){}}}VE[e]&&!r||SE(VE,e,r?t:GE&&PE[e]||t,i)}},exportTypedArrayStaticMethod:function(e,t,r){var i,o;if(_E){if(NE){if(r)for(i in zE)if((o=gE[i])&&yE(o,e))try{delete o[e]}catch(ZW){}if(UE[e]&&!r)return;try{return SE(UE,e,r?t:GE&&UE[e]||t)}catch(ZW){}}for(i in zE)!(o=gE[i])||o[e]&&!r||SE(o,e,t)}},getTypedArrayConstructor:YE,isView:function(e){if(!vE(e))return!1;var t=TE(e);return"DataView"===t||yE(zE,t)||yE(qE,t)},isTypedArray:JE,TypedArray:UE,TypedArrayPrototype:VE},$E=r,QE=o,ZE=sm,ev=XE.NATIVE_ARRAY_BUFFER_VIEWS,tv=$E.ArrayBuffer,rv=$E.Int8Array,iv=!ev||!QE((function(){rv(1)}))||!QE((function(){new rv(-1)}))||!ZE((function(e){new rv,new rv(null),new rv(1.5),new rv(e)}),!0)||QE((function(){return 1!==new rv(new tv(2),1,void 0).length})),ov=H,nv=Math.floor,av=Number.isInteger||function(e){return!ov(e)&&isFinite(e)&&nv(e)===e},sv=ii,cv=RangeError,lv=function(e){var t=sv(e);if(t<0)throw new cv("The argument can't be less than 0");return t},uv=RangeError,dv=function(e,t){var r=lv(e);if(r%t)throw new uv("Wrong offset");return r},hv=Math.round,pv=lo,mv=lt,fv=TypeError,_v=function(e){var t=mv(e,"number");if("number"==typeof t)throw new fv("Can't convert number to bigint");return BigInt(t)},gv=Zo,Ev=l,vv=Gu,yv=Ve,Tv=hi,Iv=Vp,Av=kp,Sv=Rp,Rv=function(e){var t=pv(e);return"BigInt64Array"===t||"BigUint64Array"===t},bv=XE.aTypedArrayConstructor,wv=_v,Nv=Zo,Dv=C,Cv=Ve,kv=hi,Ov=bn,Mv=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,u,d){for(var h,p,m=Cv(c),f=Dv(m),_=kv(f),g=Nv(l,u),E=0,v=d||Ov,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:Mv(y,h)}else switch(e){case 4:return!1;case 7:Mv(y,h)}return n?-1:i||o?o:y}},Lv={forEach:Pv(0),map:Pv(1),filter:Pv(2),some:Pv(3),every:Pv(4),find:Pv(5),findIndex:Pv(6),filterReject:Pv(7)},xv=hi,Uv=to,Vv=r,Fv=l,Bv=n,Hv=iv,Wv=XE,jv=_u,Gv=Wc,Kv=_,zv=qt,qv=av,Yv=ui,Jv=zc,Xv=dv,$v=function(e){var t=hv(e);return t<0?0:t>255?255:255&t},Qv=ht,Zv=He,ey=lo,ty=H,ry=de,iy=ia,oy=K,ny=ts,ay=Qr.f,sy=function(e){var t,r,i,o,n,a,s,c,l=vv(this),u=yv(e),d=arguments.length,h=d>1?arguments[1]:void 0,p=void 0!==h,m=Av(u);if(m&&!Sv(m))for(c=(s=Iv(u,m)).next,u=[];!(a=Ev(c,s)).done;)u.push(a.value);for(p&&d>2&&(h=gv(h,arguments[2])),r=Tv(u),i=new(bv(l))(r),o=Rv(i),t=0;r>t;t++)n=p?h(u[t],t):u[t],i[t]=o?wv(n):+n;return i},cy=Lv.forEach,ly=Tu,uy=_o,dy=Nt,hy=i,py=function(e,t,r){for(var i=0,o=arguments.length>2?r:xv(t),n=new e(o);o>i;)n[i]=t[i++];return n},my=ml,fy=Nr.get,_y=Nr.set,gy=Nr.enforce,Ey=dy.f,vy=hy.f,yy=Vv.RangeError,Ty=jv.ArrayBuffer,Iy=Ty.prototype,Ay=jv.DataView,Sy=Wv.NATIVE_ARRAY_BUFFER_VIEWS,Ry=Wv.TYPED_ARRAY_TAG,by=Wv.TypedArray,wy=Wv.TypedArrayPrototype,Ny=Wv.isTypedArray,Dy="BYTES_PER_ELEMENT",Cy="Wrong length",ky=function(e,t){uy(e,t,{configurable:!0,get:function(){return fy(this)[t]}})},Oy=function(e){var t;return oy(Iy,e)||"ArrayBuffer"===(t=ey(e))||"SharedArrayBuffer"===t},My=function(e,t){return Ny(e)&&!ry(t)&&t in e&&qv(+t)&&t>=0},Py=function(e,t){return t=Qv(t),My(e,t)?Kv(2,e[t]):vy(e,t)},Ly=function(e,t,r){return t=Qv(t),!(My(e,t)&&ty(r)&&Zv(r,"value"))||Zv(r,"get")||Zv(r,"set")||r.configurable||Zv(r,"writable")&&!r.writable||Zv(r,"enumerable")&&!r.enumerable?Ey(e,t,r):(e[t]=r.value,e)};Bv?(Sy||(hy.f=Py,dy.f=Ly,ky(wy,"buffer"),ky(wy,"byteOffset"),ky(wy,"byteLength"),ky(wy,"length")),Uv({target:"Object",stat:!0,forced:!Sy},{getOwnPropertyDescriptor:Py,defineProperty:Ly}),mE.exports=function(e,t,r){var i=e.match(/\d+/)[0]/8,o=e+(r?"Clamped":"")+"Array",n="get"+e,a="set"+e,s=Vv[o],c=s,l=c&&c.prototype,u={},d=function(e,t){Ey(e,t,{get:function(){return function(e,t){var r=fy(e);return r.view[n](t*i+r.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,o){var n=fy(e);n.view[a](t*i+n.byteOffset,r?$v(o):o,!0)}(this,t,e)},enumerable:!0})};Sy?Hv&&(c=t((function(e,t,r,o){return Gv(e,l),my(ty(t)?Oy(t)?void 0!==o?new s(t,Xv(r,i),o):void 0!==r?new s(t,Xv(r,i)):new s(t):Ny(t)?py(c,t):Fv(sy,c,t):new s(Jv(t)),e,c)})),ny&&ny(c,by),cy(ay(s),(function(e){e in c||zv(c,e,s[e])})),c.prototype=l):(c=t((function(e,t,r,o){Gv(e,l);var n,a,s,u=0,h=0;if(ty(t)){if(!Oy(t))return Ny(t)?py(c,t):Fv(sy,c,t);n=t,h=Xv(r,i);var p=t.byteLength;if(void 0===o){if(p%i)throw new yy(Cy);if((a=p-h)<0)throw new yy(Cy)}else if((a=Yv(o)*i)+h>p)throw new yy(Cy);s=a/i}else s=Jv(t),n=new Ty(a=s*i);for(_y(e,{buffer:n,byteOffset:h,byteLength:a,length:s,view:new Ay(n)});u<s;)d(e,u++)})),ny&&ny(c,by),l=c.prototype=iy(wy)),l.constructor!==c&&zv(l,"constructor",c),gy(l).TypedArrayConstructor=c,Ry&&zv(l,Ry,o);var h=c!==s;u[o]=c,Uv({global:!0,constructor:!0,forced:h,sham:!Sy},u),Dy in c||zv(c,Dy,i),Dy in l||zv(l,Dy,i),ly(o)}):mE.exports=function(){};var xy=mE.exports;xy("Float32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Float64",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Int8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Int16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Int32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}}),!0),xy("Uint16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Uint32",(function(e){return function(t,r,i){return e(this,t,r,i)}}));var Uy=ul,Vy=_v,Fy=lo,By=l,Hy=o,Wy=XE.aTypedArray,jy=XE.exportTypedArrayMethod,Gy=T("".slice);jy("fill",(function(e){var t=arguments.length;Wy(this);var r="Big"===Gy(Fy(this),0,3)?Vy(e):+e;return By(Uy,this,r,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),Hy((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var Ky=r,zy=l,qy=XE,Yy=hi,Jy=dv,Xy=Ve,$y=o,Qy=Ky.RangeError,Zy=Ky.Int8Array,eT=Zy&&Zy.prototype,tT=eT&&eT.set,rT=qy.aTypedArray,iT=qy.exportTypedArrayMethod,oT=!$y((function(){var e=new Uint8ClampedArray(2);return zy(tT,e,{length:1,0:3},1),3!==e[1]})),nT=oT&&qy.NATIVE_ARRAY_BUFFER_VIEWS&&$y((function(){var e=new Zy(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));iT("set",(function(e){rT(this);var t=Jy(arguments.length>1?arguments[1]:void 0,1),r=Xy(e);if(oT)return zy(tT,this,r,t);var i=this.length,o=Yy(r),n=0;if(o+t>i)throw new Qy("Wrong length");for(;n<o;)this[t+n]=r[n++]}),!oT||nT);var aT=Jo,sT=o,cT=ge,lT=uc,uT=hc,dT=pc,hT=te,pT=fc,mT=XE.aTypedArray,fT=XE.exportTypedArrayMethod,_T=r.Uint16Array,gT=_T&&aT(_T.prototype.sort),ET=!(!gT||sT((function(){gT(new _T(2),null)}))&&sT((function(){gT(new _T(2),{})}))),vT=!!gT&&!sT((function(){if(hT)return hT<74;if(uT)return uT<67;if(dT)return!0;if(pT)return pT<602;var e,t,r=new _T(516),i=Array(516);for(e=0;e<516;e++)t=e%4,r[e]=515-e,i[e]=e-2*t+3;for(gT(r,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(r[e]!==i[e])return!0}));fT("sort",(function(e){return void 0!==e&&cT(e),vT?gT(this,e):lT(mT(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))}),!vT||ET);var yT=to,TT=l,IT=T,AT=P,ST=F,RT=k,bT=Jm,wT=po,NT=ye,DT=of,CT=vg,kT=tt("replace"),OT=TypeError,MT=IT("".indexOf);IT("".replace);var PT=IT("".slice),LT=Math.max;yT({target:"String",proto:!0},{replaceAll:function(e,t){var r,i,o,n,a,s,c,l,u,d=AT(this),h=0,p="";if(!RT(e)){if(bT(e)&&(r=wT(AT(DT(e))),!~MT(r,"g")))throw new OT("`.replaceAll` does not allow non-global regexes");if(i=NT(e,kT))return TT(i,e,d,t)}for(o=wT(d),n=wT(e),(a=ST(t))||(t=wT(t)),s=n.length,c=LT(1,s),l=MT(o,n);-1!==l;)u=a?wT(t(n,l,o)):CT(n,o,l,[],void 0,t),p+=PT(o,h,l)+u,h=l+s,l=l+c>o.length?-1:MT(o,n,l+c);return h<o.length&&(p+=PT(o,h)),p}});var xT={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},UT=_t("span").classList,VT=UT&&UT.constructor&&UT.constructor.prototype,FT=VT===Object.prototype?void 0:VT,BT=Lv.forEach,HT=Ks("forEach")?[].forEach:function(e){return BT(this,e,arguments.length>1?arguments[1]:void 0)},WT=r,jT=xT,GT=FT,KT=HT,zT=qt,qT=function(e){if(e&&e.forEach!==KT)try{zT(e,"forEach",KT)}catch(ZW){e.forEach=KT}};for(var YT in jT)jT[YT]&&qT(WT[YT]&&WT[YT].prototype);qT(GT);var JT=r,XT=xT,$T=FT,QT=Ps,ZT=qt,eI=Ua,tI=tt("iterator"),rI=QT.values,iI=function(e,t){if(e){if(e[tI]!==rI)try{ZT(e,tI,rI)}catch(ZW){e[tI]=rI}if(eI(e,t,!0),XT[t])for(var r in QT)if(e[r]!==QT[r])try{ZT(e,r,QT[r])}catch(ZW){e[r]=QT[r]}}};for(var oI in XT)iI(JT[oI]&&JT[oI].prototype,oI);iI($T,"DOMTokenList");var nI=lg.charAt,aI=po,sI=Nr,cI=Ts,lI=Is,uI="String Iterator",dI=sI.set,hI=sI.getterFor(uI);cI(String,"String",(function(e){dI(this,{type:uI,string:aI(e),index:0})}),(function(){var e,t=hI(this),r=t.string,i=t.index;return i>=r.length?lI(void 0,!0):(e=nI(r,i),t.index+=e.length,lI(e,!1))}));var pI=o,mI=n,fI=tt("iterator"),_I=!pI((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&&!mI||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[fI]||"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})),gI=n,EI=T,vI=l,yI=o,TI=Ln,II=wi,AI=u,SI=Ve,RI=C,bI=Object.assign,wI=Object.defineProperty,NI=EI([].concat),DI=!bI||yI((function(){if(gI&&1!==bI({b:1},bI(wI({},"a",{enumerable:!0,get:function(){wI(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]||TI(bI({},t)).join("")!==i}))?function(e,t){for(var r=SI(e),i=arguments.length,o=1,n=II.f,a=AI.f;i>o;)for(var s,c=RI(arguments[o++]),l=n?NI(TI(c),n(c)):TI(c),u=l.length,d=0;u>d;)s=l[d++],gI&&!vI(a,c,s)||(r[s]=c[s]);return r}:bI,CI=Mt,kI=Wp,OI=n,MI=Nt,PI=_,LI=Zo,xI=l,UI=Ve,VI=function(e,t,r,i){try{return i?t(CI(r)[0],r[1]):t(r)}catch(ZW){kI(e,"throw",ZW)}},FI=Rp,BI=vn,HI=hi,WI=function(e,t,r){OI?MI.f(e,t,PI(0,r)):e[t]=r},jI=Vp,GI=kp,KI=Array,zI=T,qI=2147483647,YI=/[^\0-\u007E]/,JI=/[.\u3002\uFF0E\uFF61]/g,XI="Overflow: input needs wider integers to process",$I=RangeError,QI=zI(JI.exec),ZI=Math.floor,eA=String.fromCharCode,tA=zI("".charCodeAt),rA=zI([].join),iA=zI([].push),oA=zI("".replace),nA=zI("".split),aA=zI("".toLowerCase),sA=function(e){return e+22+75*(e<26)},cA=function(e,t,r){var i=0;for(e=r?ZI(e/700):e>>1,e+=ZI(e/t);e>455;)e=ZI(e/35),i+=36;return ZI(i+36*e/(e+38))},lA=function(e){var t=[];e=function(e){for(var t=[],r=0,i=e.length;r<i;){var o=tA(e,r++);if(o>=55296&&o<=56319&&r<i){var n=tA(e,r++);56320==(64512&n)?iA(t,((1023&o)<<10)+(1023&n)+65536):(iA(t,o),r--)}else iA(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&&iA(t,eA(i));var c=t.length,l=c;for(c&&iA(t,"-");l<o;){var u=qI;for(r=0;r<e.length;r++)(i=e[r])>=n&&i<u&&(u=i);var d=l+1;if(u-n>ZI((qI-a)/d))throw new $I(XI);for(a+=(u-n)*d,n=u,r=0;r<e.length;r++){if((i=e[r])<n&&++a>qI)throw new $I(XI);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;iA(t,eA(sA(m+f%_))),h=ZI(f/_),p+=36}iA(t,eA(sA(h))),s=cA(a,d,l===c),a=0,l++}}a++,n++}return rA(t,"")},uA=to,dA=T,hA=si,pA=RangeError,mA=String.fromCharCode,fA=String.fromCodePoint,_A=dA([].join);uA({target:"String",stat:!0,arity:1,forced:!!fA&&1!==fA.length},{fromCodePoint:function(e){for(var t,r=[],i=arguments.length,o=0;i>o;){if(t=+arguments[o++],hA(t,1114111)!==t)throw new pA(t+" is not a valid code point");r[o]=t<65536?mA(t):mA(55296+((t-=65536)>>10),t%1024+56320)}return _A(r,"")}});var gA=to,EA=r,vA=Pd,yA=G,TA=l,IA=T,AA=n,SA=_I,RA=$r,bA=_o,wA=Fc,NA=Ua,DA=Ga,CA=Nr,kA=Wc,OA=F,MA=He,PA=Zo,LA=lo,xA=Mt,UA=H,VA=po,FA=ia,BA=_,HA=Vp,WA=kp,jA=Is,GA=rd,KA=uc,zA=tt("iterator"),qA="URLSearchParams",YA=qA+"Iterator",JA=CA.set,XA=CA.getterFor(qA),$A=CA.getterFor(YA),QA=vA("fetch"),ZA=vA("Request"),eS=vA("Headers"),tS=ZA&&ZA.prototype,rS=eS&&eS.prototype,iS=EA.TypeError,oS=EA.encodeURIComponent,nS=String.fromCharCode,aS=yA("String","fromCodePoint"),sS=parseInt,cS=IA("".charAt),lS=IA([].join),uS=IA([].push),dS=IA("".replace),hS=IA([].shift),pS=IA([].splice),mS=IA("".split),fS=IA("".slice),_S=IA(/./.exec),gS=/\+/g,ES=/^[0-9a-f]+$/i,vS=function(e,t){var r=fS(e,t,t+2);return _S(ES,r)?sS(r,16):NaN},yS=function(e){for(var t=0,r=128;r>0&&e&r;r>>=1)t++;return t},TS=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},IS=function(e){for(var t=(e=dS(e,gS," ")).length,r="",i=0;i<t;){var o=cS(e,i);if("%"===o){if("%"===cS(e,i+1)||i+3>t){r+="%",i++;continue}var n=vS(e,i+1);if(n!=n){r+=o,i++;continue}i+=2;var a=yS(n);if(0===a)o=nS(n);else{if(1===a||a>4){r+="�",i++;continue}for(var s=[n],c=1;c<a&&!(++i+3>t||"%"!==cS(e,i));){var l=vS(e,i+1);if(l!=l){i+=3;break}if(l>191||l<128)break;uS(s,l),i+=2,c++}if(s.length!==a){r+="�";continue}var u=TS(s);null===u?r+="�":o=aS(u)}}r+=o,i++}return r},AS=/[!'()~]|%20/g,SS={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},RS=function(e){return SS[e]},bS=function(e){return dS(oS(e),AS,RS)},wS=DA((function(e,t){JA(this,{type:YA,target:XA(e).entries,index:0,kind:t})}),qA,(function(){var e=$A(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,jA(void 0,!0);var i=t[r];switch(e.kind){case"keys":return jA(i.key,!1);case"values":return jA(i.value,!1)}return jA([i.key,i.value],!1)}),!0),NS=function(e){this.entries=[],this.url=null,void 0!==e&&(UA(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===cS(e,0)?fS(e,1):e:VA(e)))};NS.prototype={type:qA,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,i,o,n,a,s,c=this.entries,l=WA(e);if(l)for(r=(t=HA(e,l)).next;!(i=TA(r,t)).done;){if(n=(o=HA(xA(i.value))).next,(a=TA(n,o)).done||(s=TA(n,o)).done||!TA(n,o).done)throw new iS("Expected sequence with length 2");uS(c,{key:VA(a.value),value:VA(s.value)})}else for(var u in e)MA(e,u)&&uS(c,{key:u,value:VA(e[u])})},parseQuery:function(e){if(e)for(var t,r,i=this.entries,o=mS(e,"&"),n=0;n<o.length;)(t=o[n++]).length&&(r=mS(t,"="),uS(i,{key:IS(hS(r)),value:IS(lS(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],i=0;i<t.length;)e=t[i++],uS(r,bS(e.key)+"="+bS(e.value));return lS(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var DS=function(){kA(this,CS);var e=JA(this,new NS(arguments.length>0?arguments[0]:void 0));AA||(this.size=e.entries.length)},CS=DS.prototype;if(wA(CS,{append:function(e,t){var r=XA(this);GA(arguments.length,2),uS(r.entries,{key:VA(e),value:VA(t)}),AA||this.length++,r.updateURL()},delete:function(e){for(var t=XA(this),r=GA(arguments.length,1),i=t.entries,o=VA(e),n=r<2?void 0:arguments[1],a=void 0===n?n:VA(n),s=0;s<i.length;){var c=i[s];if(c.key!==o||void 0!==a&&c.value!==a)s++;else if(pS(i,s,1),void 0!==a)break}AA||(this.size=i.length),t.updateURL()},get:function(e){var t=XA(this).entries;GA(arguments.length,1);for(var r=VA(e),i=0;i<t.length;i++)if(t[i].key===r)return t[i].value;return null},getAll:function(e){var t=XA(this).entries;GA(arguments.length,1);for(var r=VA(e),i=[],o=0;o<t.length;o++)t[o].key===r&&uS(i,t[o].value);return i},has:function(e){for(var t=XA(this).entries,r=GA(arguments.length,1),i=VA(e),o=r<2?void 0:arguments[1],n=void 0===o?o:VA(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=XA(this);GA(arguments.length,1);for(var i,o=r.entries,n=!1,a=VA(e),s=VA(t),c=0;c<o.length;c++)(i=o[c]).key===a&&(n?pS(o,c--,1):(n=!0,i.value=s));n||uS(o,{key:a,value:s}),AA||(this.size=o.length),r.updateURL()},sort:function(){var e=XA(this);KA(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,r=XA(this).entries,i=PA(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 wS(this,"keys")},values:function(){return new wS(this,"values")},entries:function(){return new wS(this,"entries")}},{enumerable:!0}),RA(CS,zA,CS.entries,{name:"entries"}),RA(CS,"toString",(function(){return XA(this).serialize()}),{enumerable:!0}),AA&&bA(CS,"size",{get:function(){return XA(this).entries.length},configurable:!0,enumerable:!0}),NA(DS,qA),gA({global:!0,constructor:!0,forced:!SA},{URLSearchParams:DS}),!SA&&OA(eS)){var kS=IA(rS.has),OS=IA(rS.set),MS=function(e){if(UA(e)){var t,r=e.body;if(LA(r)===qA)return t=e.headers?new eS(e.headers):new eS,kS(t,"content-type")||OS(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),FA(e,{body:BA(0,VA(r)),headers:BA(0,t)})}return e};if(OA(QA)&&gA({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return QA(e,arguments.length>1?MS(arguments[1]):{})}}),OA(ZA)){var PS=function(e){return kA(this,tS),new ZA(e,arguments.length>1?MS(arguments[1]):{})};tS.constructor=PS,PS.prototype=tS,gA({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:PS})}}var LS,xS=to,US=n,VS=_I,FS=r,BS=Zo,HS=T,WS=$r,jS=_o,GS=Wc,KS=He,zS=DI,qS=function(e){var t=UI(e),r=BI(this),i=arguments.length,o=i>1?arguments[1]:void 0,n=void 0!==o;n&&(o=LI(o,i>2?arguments[2]:void 0));var a,s,c,l,u,d,h=GI(t),p=0;if(!h||this===KI&&FI(h))for(a=HI(t),s=r?new this(a):KI(a);a>p;p++)d=n?o(t[p],p):t[p],WI(s,p,d);else for(s=r?new this:[],u=(l=jI(t,h)).next;!(c=xI(u,l)).done;p++)d=n?VI(l,o,[c.value,p],!0):c.value,WI(s,p,d);return s.length=p,s},YS=ac,JS=lg.codeAt,XS=function(e){var t,r,i=[],o=nA(oA(aA(e),JI,"."),".");for(t=0;t<o.length;t++)r=o[t],iA(i,QI(YI,r)?"xn--"+lA(r):r);return rA(i,".")},$S=po,QS=Ua,ZS=rd,eR={URLSearchParams:DS,getState:XA},tR=Nr,rR=tR.set,iR=tR.getterFor("URL"),oR=eR.URLSearchParams,nR=eR.getState,aR=FS.URL,sR=FS.TypeError,cR=FS.parseInt,lR=Math.floor,uR=Math.pow,dR=HS("".charAt),hR=HS(/./.exec),pR=HS([].join),mR=HS(1..toString),fR=HS([].pop),_R=HS([].push),gR=HS("".replace),ER=HS([].shift),vR=HS("".split),yR=HS("".slice),TR=HS("".toLowerCase),IR=HS([].unshift),AR="Invalid scheme",SR="Invalid host",RR="Invalid port",bR=/[a-z]/i,wR=/[\d+-.a-z]/i,NR=/\d/,DR=/^0x/i,CR=/^[0-7]+$/,kR=/^\d+$/,OR=/^[\da-f]+$/i,MR=/[\0\t\n\r #%/:<>?@[\\\]^|]/,PR=/[\0\t\n\r #/:<>?@[\\\]^|]/,LR=/^[\u0000-\u0020]+/,xR=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,UR=/[\t\n\r]/g,VR=function(e){var t,r,i,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)IR(t,e%256),e=lR(e/256);return pR(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+=mR(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},FR={},BR=zS({},FR,{" ":1,'"':1,"<":1,">":1,"`":1}),HR=zS({},BR,{"#":1,"?":1,"{":1,"}":1}),WR=zS({},HR,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),jR=function(e,t){var r=JS(e,0);return r>32&&r<127&&!KS(t,e)?e:encodeURIComponent(e)},GR={ftp:21,file:null,http:80,https:443,ws:80,wss:443},KR=function(e,t){var r;return 2===e.length&&hR(bR,dR(e,0))&&(":"===(r=dR(e,1))||!t&&"|"===r)},zR=function(e){var t;return e.length>1&&KR(yR(e,0,2))&&(2===e.length||"/"===(t=dR(e,2))||"\\"===t||"?"===t||"#"===t)},qR=function(e){return"."===e||"%2e"===TR(e)},YR={},JR={},XR={},$R={},QR={},ZR={},eb={},tb={},rb={},ib={},ob={},nb={},ab={},sb={},cb={},lb={},ub={},db={},hb={},pb={},mb={},fb=function(e,t,r){var i,o,n,a=$S(e);if(t){if(o=this.parse(a))throw new sR(o);this.searchParams=null}else{if(void 0!==r&&(i=new fb(r,!0)),o=this.parse(a,null,i))throw new sR(o);(n=nR(new oR)).bindURL(this),this.searchParams=n}};fb.prototype={type:"URL",parse:function(e,t,r){var i,o,n,a,s,c=this,l=t||YR,u=0,d="",h=!1,p=!1,m=!1;for(e=$S(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=gR(e,LR,""),e=gR(e,xR,"$1")),e=gR(e,UR,""),i=qS(e);u<=i.length;){switch(o=i[u],l){case YR:if(!o||!hR(bR,o)){if(t)return AR;l=XR;continue}d+=TR(o),l=JR;break;case JR:if(o&&(hR(wR,o)||"+"===o||"-"===o||"."===o))d+=TR(o);else{if(":"!==o){if(t)return AR;d="",l=XR,u=0;continue}if(t&&(c.isSpecial()!==KS(GR,d)||"file"===d&&(c.includesCredentials()||null!==c.port)||"file"===c.scheme&&!c.host))return;if(c.scheme=d,t)return void(c.isSpecial()&&GR[c.scheme]===c.port&&(c.port=null));d="","file"===c.scheme?l=sb:c.isSpecial()&&r&&r.scheme===c.scheme?l=$R:c.isSpecial()?l=tb:"/"===i[u+1]?(l=QR,u++):(c.cannotBeABaseURL=!0,_R(c.path,""),l=hb)}break;case XR:if(!r||r.cannotBeABaseURL&&"#"!==o)return AR;if(r.cannotBeABaseURL&&"#"===o){c.scheme=r.scheme,c.path=YS(r.path),c.query=r.query,c.fragment="",c.cannotBeABaseURL=!0,l=mb;break}l="file"===r.scheme?sb:ZR;continue;case $R:if("/"!==o||"/"!==i[u+1]){l=ZR;continue}l=rb,u++;break;case QR:if("/"===o){l=ib;break}l=db;continue;case ZR:if(c.scheme=r.scheme,o===LS)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=YS(r.path),c.query=r.query;else if("/"===o||"\\"===o&&c.isSpecial())l=eb;else if("?"===o)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=YS(r.path),c.query="",l=pb;else{if("#"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=YS(r.path),c.path.length--,l=db;continue}c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=YS(r.path),c.query=r.query,c.fragment="",l=mb}break;case eb:if(!c.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,l=db;continue}l=ib}else l=rb;break;case tb:if(l=rb,"/"!==o||"/"!==dR(d,u+1))continue;u++;break;case rb:if("/"!==o&&"\\"!==o){l=ib;continue}break;case ib:if("@"===o){h&&(d="%40"+d),h=!0,n=qS(d);for(var f=0;f<n.length;f++){var _=n[f];if(":"!==_||m){var g=jR(_,WR);m?c.password+=g:c.username+=g}else m=!0}d=""}else if(o===LS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(h&&""===d)return"Invalid authority";u-=qS(d).length+1,d="",l=ob}else d+=o;break;case ob:case nb:if(t&&"file"===c.scheme){l=lb;continue}if(":"!==o||p){if(o===LS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(c.isSpecial()&&""===d)return SR;if(t&&""===d&&(c.includesCredentials()||null!==c.port))return;if(a=c.parseHost(d))return a;if(d="",l=ub,t)return;continue}"["===o?p=!0:"]"===o&&(p=!1),d+=o}else{if(""===d)return SR;if(a=c.parseHost(d))return a;if(d="",l=ab,t===nb)return}break;case ab:if(!hR(NR,o)){if(o===LS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()||t){if(""!==d){var E=cR(d,10);if(E>65535)return RR;c.port=c.isSpecial()&&E===GR[c.scheme]?null:E,d=""}if(t)return;l=ub;continue}return RR}d+=o;break;case sb:if(c.scheme="file","/"===o||"\\"===o)l=cb;else{if(!r||"file"!==r.scheme){l=db;continue}switch(o){case LS:c.host=r.host,c.path=YS(r.path),c.query=r.query;break;case"?":c.host=r.host,c.path=YS(r.path),c.query="",l=pb;break;case"#":c.host=r.host,c.path=YS(r.path),c.query=r.query,c.fragment="",l=mb;break;default:zR(pR(YS(i,u),""))||(c.host=r.host,c.path=YS(r.path),c.shortenPath()),l=db;continue}}break;case cb:if("/"===o||"\\"===o){l=lb;break}r&&"file"===r.scheme&&!zR(pR(YS(i,u),""))&&(KR(r.path[0],!0)?_R(c.path,r.path[0]):c.host=r.host),l=db;continue;case lb:if(o===LS||"/"===o||"\\"===o||"?"===o||"#"===o){if(!t&&KR(d))l=db;else if(""===d){if(c.host="",t)return;l=ub}else{if(a=c.parseHost(d))return a;if("localhost"===c.host&&(c.host=""),t)return;d="",l=ub}continue}d+=o;break;case ub:if(c.isSpecial()){if(l=db,"/"!==o&&"\\"!==o)continue}else if(t||"?"!==o)if(t||"#"!==o){if(o!==LS&&(l=db,"/"!==o))continue}else c.fragment="",l=mb;else c.query="",l=pb;break;case db:if(o===LS||"/"===o||"\\"===o&&c.isSpecial()||!t&&("?"===o||"#"===o)){if(".."===(s=TR(s=d))||"%2e."===s||".%2e"===s||"%2e%2e"===s?(c.shortenPath(),"/"===o||"\\"===o&&c.isSpecial()||_R(c.path,"")):qR(d)?"/"===o||"\\"===o&&c.isSpecial()||_R(c.path,""):("file"===c.scheme&&!c.path.length&&KR(d)&&(c.host&&(c.host=""),d=dR(d,0)+":"),_R(c.path,d)),d="","file"===c.scheme&&(o===LS||"?"===o||"#"===o))for(;c.path.length>1&&""===c.path[0];)ER(c.path);"?"===o?(c.query="",l=pb):"#"===o&&(c.fragment="",l=mb)}else d+=jR(o,HR);break;case hb:"?"===o?(c.query="",l=pb):"#"===o?(c.fragment="",l=mb):o!==LS&&(c.path[0]+=jR(o,FR));break;case pb:t||"#"!==o?o!==LS&&("'"===o&&c.isSpecial()?c.query+="%27":c.query+="#"===o?"%23":jR(o,FR)):(c.fragment="",l=mb);break;case mb:o!==LS&&(c.fragment+=jR(o,BR))}u++}},parseHost:function(e){var t,r,i;if("["===dR(e,0)){if("]"!==dR(e,e.length-1))return SR;if(t=function(e){var t,r,i,o,n,a,s,c=[0,0,0,0,0,0,0,0],l=0,u=null,d=0,h=function(){return dR(e,d)};if(":"===h()){if(":"!==dR(e,1))return;d+=2,u=++l}for(;h();){if(8===l)return;if(":"!==h()){for(t=r=0;r<4&&hR(OR,h());)t=16*t+cR(h(),16),d++,r++;if("."===h()){if(0===r)return;if(d-=r,l>6)return;for(i=0;h();){if(o=null,i>0){if(!("."===h()&&i<4))return;d++}if(!hR(NR,h()))return;for(;hR(NR,h());){if(n=cR(h(),10),null===o)o=n;else{if(0===o)return;o=10*o+n}if(o>255)return;d++}c[l]=256*c[l]+o,2!=++i&&4!==i||l++}if(4!==i)return;break}if(":"===h()){if(d++,!h())return}else if(h())return;c[l++]=t}else{if(null!==u)return;d++,u=++l}}if(null!==u)for(a=l-u,l=7;0!==l&&a>0;)s=c[l],c[l--]=c[u+a-1],c[u+--a]=s;else if(8!==l)return;return c}(yR(e,1,-1)),!t)return SR;this.host=t}else if(this.isSpecial()){if(e=XS(e),hR(MR,e))return SR;if(t=function(e){var t,r,i,o,n,a,s,c=vR(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"===dR(o,0)&&(n=hR(DR,o)?16:8,o=yR(o,8===n?1:2)),""===o)a=0;else{if(!hR(10===n?kR:8===n?CR:OR,o))return e;a=cR(o,n)}_R(r,a)}for(i=0;i<t;i++)if(a=r[i],i===t-1){if(a>=uR(256,5-t))return null}else if(a>255)return null;for(s=fR(r),i=0;i<r.length;i++)s+=r[i]*uR(256,3-i);return s}(e),null===t)return SR;this.host=t}else{if(hR(PR,e))return SR;for(t="",r=qS(e),i=0;i<r.length;i++)t+=jR(r[i],FR);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"===this.scheme},includesCredentials:function(){return""!==this.username||""!==this.password},isSpecial:function(){return KS(GR,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"===this.scheme&&1===t&&KR(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+=VR(o),null!==n&&(l+=":"+n)):"file"===t&&(l+="//"),l+=e.cannotBeABaseURL?a[0]:a.length?"/"+pR(a,"/"):"",null!==s&&(l+="?"+s),null!==c&&(l+="#"+c),l},setHref:function(e){var t=this.parse(e);if(t)throw new sR(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"===e)try{return new _b(e.path[0]).origin}catch(ZW){return"null"}return"file"!==e&&this.isSpecial()?e+"://"+VR(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse($S(e)+":",YR)},getUsername:function(){return this.username},setUsername:function(e){var t=qS($S(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=jR(t[r],WR)}},getPassword:function(){return this.password},setPassword:function(e){var t=qS($S(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=jR(t[r],WR)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?VR(e):VR(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,ob)},getHostname:function(){var e=this.host;return null===e?"":VR(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,nb)},getPort:function(){var e=this.port;return null===e?"":$S(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""===(e=$S(e))?this.port=null:this.parse(e,ab))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+pR(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,ub))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""===(e=$S(e))?this.query=null:("?"===dR(e,0)&&(e=yR(e,1)),this.query="",this.parse(e,pb)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!==(e=$S(e))?("#"===dR(e,0)&&(e=yR(e,1)),this.fragment="",this.parse(e,mb)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var _b=function(e){var t=GS(this,gb),r=ZS(arguments.length,1)>1?arguments[1]:void 0,i=rR(t,new fb(e,!1,r));US||(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())},gb=_b.prototype,Eb=function(e,t){return{get:function(){return iR(this)[e]()},set:t&&function(e){return iR(this)[t](e)},configurable:!0,enumerable:!0}};if(US&&(jS(gb,"href",Eb("serialize","setHref")),jS(gb,"origin",Eb("getOrigin")),jS(gb,"protocol",Eb("getProtocol","setProtocol")),jS(gb,"username",Eb("getUsername","setUsername")),jS(gb,"password",Eb("getPassword","setPassword")),jS(gb,"host",Eb("getHost","setHost")),jS(gb,"hostname",Eb("getHostname","setHostname")),jS(gb,"port",Eb("getPort","setPort")),jS(gb,"pathname",Eb("getPathname","setPathname")),jS(gb,"search",Eb("getSearch","setSearch")),jS(gb,"searchParams",Eb("getSearchParams")),jS(gb,"hash",Eb("getHash","setHash"))),WS(gb,"toJSON",(function(){return iR(this).serialize()}),{enumerable:!0}),WS(gb,"toString",(function(){return iR(this).serialize()}),{enumerable:!0}),aR){var vb=aR.createObjectURL,yb=aR.revokeObjectURL;vb&&WS(_b,"createObjectURL",BS(vb,aR)),yb&&WS(_b,"revokeObjectURL",BS(yb,aR))}QS(_b,"URL"),xS({global:!0,constructor:!0,forced:!VS,sham:!US},{URL:_b});var Tb=l;to({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return Tb(URL.prototype.toString,this)}});var Ib,Ab=Object.create,Sb=Object.defineProperty,Rb=Object.defineProperties,bb=Object.getOwnPropertyDescriptor,wb=Object.getOwnPropertyDescriptors,Nb=Object.getOwnPropertyNames,Db=Object.getOwnPropertySymbols,Cb=Object.getPrototypeOf,kb=Object.prototype.hasOwnProperty,Ob=Object.prototype.propertyIsEnumerable,Mb=Reflect.get,Pb=Math.pow,Lb=(e,t,r)=>t in e?Sb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,xb=(e,t)=>{for(var r in t||(t={}))kb.call(t,r)&&Lb(e,r,t[r]);if(Db)for(var r of Db(t))Ob.call(t,r)&&Lb(e,r,t[r]);return e},Ub=(e,t)=>Rb(e,wb(t)),Vb=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Fb=(e,t)=>{for(var r in t)Sb(e,r,{get:t[r],enumerable:!0})},Bb=(e,t,r)=>(r=null!=e?Ab(Cb(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of Nb(t))!kb.call(e,o)&&o!==r&&Sb(e,o,{get:()=>t[o],enumerable:!(i=bb(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:Sb(r,"default",{value:e,enumerable:!0}),e)),Hb=(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&&Sb(t,r,n),n},Wb=(e,t,r)=>Lb(e,"symbol"!=typeof t?t+"":t,r),jb=(e,t,r)=>Mb(Cb(e),r,t),Gb=(e,t,r)=>new Promise(((i,o)=>{var n=e=>{try{s(r.next(e))}catch(rO){o(rO)}},a=e=>{try{s(r.throw(e))}catch(rO){o(rO)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(n,a);s((r=r.apply(e,t)).next())})),Kb=Vb(((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,u=this._events[s],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,o),!0;case 5:return u.fn.call(u.context,t,r,o,n),!0;case 6:return u.fn.call(u.context,t,r,o,n,a),!0}for(l=1,c=new Array(d-1);l<d;l++)c[l-1]=arguments[l];u.fn.apply(u.context,c)}else{var h,p=u.length;for(l=0;l<p;l++)switch(u[l].once&&this.removeListener(e,u[l].fn,void 0,!0),d){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,t);break;case 3:u[l].fn.call(u[l].context,t,r);break;case 4:u[l].fn.call(u[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(d-1);h<d;h++)c[h-1]=arguments[h];u[l].fn.apply(u[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=[],u=a.length;c<u;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)})),zb=Vb(((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")}))}))})),qb=Vb((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=zb(),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}}))}))}})),Yb=Vb(((e,t)=>{var r=zb(),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"}})),Jb=Vb((e=>{var t=qb(),r=Yb(),i=zb();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})),Xb=((Ib=Xb||{})[Ib.INVALID_PARAMETER=4096]="INVALID_PARAMETER",Ib[Ib.INVALID_OPERATION=4097]="INVALID_OPERATION",Ib[Ib.NOT_SUPPORTED=4098]="NOT_SUPPORTED",Ib[Ib.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",Ib[Ib.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",Ib[Ib.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",Ib[Ib.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",Ib[Ib.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",Ib[Ib.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",Ib[Ib.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",Ib[Ib.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",Ib[Ib.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",Ib[Ib.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",Ib[Ib.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",Ib[Ib.CLIENT_BANNED=16448]="CLIENT_BANNED",Ib[Ib.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",Ib[Ib.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",Ib[Ib.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",Ib[Ib.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",Ib[Ib.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",Ib[Ib.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",Ib[Ib.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",Ib[Ib.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",Ib[Ib.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",Ib[Ib.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",Ib[Ib.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",Ib[Ib.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",Ib[Ib.API_CALL_ABORTED=16461]="API_CALL_ABORTED",Ib[Ib.SPC_INITIALIZED_FAILED=16462]="SPC_INITIALIZED_FAILED",Ib[Ib.VIDEO_MANAGER_ERROR=16463]="VIDEO_MANAGER_ERROR",Ib[Ib.SWITCH_ROOM_FAILED=16464]="SWITCH_ROOM_FAILED",Ib[Ib.UNKNOWN=65535]="UNKNOWN",Ib),$b=Xb,Qb=class extends Error{constructor(e){let{name:t="RtcError",message:r,code:i=$b.UNKNOWN,extraCode:o=0,constraint:n}=e,a="<".concat(function(e){for(let t in $b)if($b[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),Wb(this,"code"),Wb(this,"extraCode"),Wb(this,"message"),Wb(this,"originMessage"),Wb(this,"name"),Wb(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}},Zb=Qb;(new Date).getTime();var ew=function(){return(new Date).getTime()+0},tw=function(){let e=new Date;return e.setTime(ew()),e.toLocaleString()},rw=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)},iw={};Fb(iw,{bytes2ms:()=>YN,calculateScaleResolutionDownNumber:()=>WD,convertObjectNumberToInt:()=>UD,copyProperties:()=>qN,deepClone:()=>wD,deepMerge:()=>bD,delay:()=>VD,fibonacci:()=>tD,formatedTime:()=>CD,getConstructorName:()=>fD,getContainerFromElement:()=>DD,getEnv:()=>FN,getInternalVersion:()=>yD,getLoggerUrl:()=>HN,getMediaStreamTrackInfo:()=>HD,getMuteStateFromFlag:()=>AD,getNetworkType:()=>jN,getNumNetworkType:()=>zN,getReconnectionTimeout:()=>rD,getStringByteLength:()=>MD,getTurnServer:()=>SD,getUint32Version:()=>xD,getValueType:()=>iD,getViewListFromView:()=>ND,glog:()=>QN,ipv4ToUint32:()=>RD,isArray:()=>uD,isAudioWorkletSupported:()=>_D,isBoolean:()=>cD,isConstructor:()=>mD,isEmpty:()=>ID,isFunction:()=>oD,isLangChinese:()=>ZN,isMediaStreamTrack:()=>dD,isNumber:()=>sD,isObject:()=>lD,isOverseaSdkAppId:()=>BN,isPlainObject:()=>eD,isPortrait:()=>PD,isPromise:()=>pD,isRemoteTrack:()=>hD,isRotate90Or270:()=>jD,isString:()=>aD,isUndefined:()=>nD,loadImage:()=>LD,ms2bytes:()=>XN,ms2samples:()=>$N,normalizeUrl:()=>BD,performanceNow:()=>ED,promiseAny:()=>gD,samples2ms:()=>JN,setNetworkType:()=>KN,stringify:()=>kD,stringifyIncludeValue:()=>OD,throttlePromise:()=>FD});var ow={};Fb(ow,{AUDIO_MUTE_BIT:()=>Kw,AUDIO_STAT_BIT:()=>Gw,AUX_STAT_BIT:()=>jw,AUX_STREAM_MSID:()=>Xw,BACKEND_ENV:()=>Fw,BASE_DOC_URL:()=>vw,BASE_HOST:()=>fw,CAPABILITIES_KEYS:()=>UN,CLASS_NAME:()=>NN,CLOUD_CONSOLE_URL:()=>Ew,CROSS_ROOM_BIT:()=>Yw,DATA_FREEZE_TIMING:()=>TN,DEFAULT_ASSETS_URL:()=>yw,DOC_URL:()=>Tw,DTLS_STATE_UNKNOWN:()=>aN,ENV_NAME:()=>bw,EXCHANGE_SDP_TIMEOUT:()=>_N,IS_WORKER:()=>uw,IS_WORKLET:()=>dw,KIBANA_EVENT:()=>pN,LOCAL_STREAM_PUBLISH_STATE:()=>yN,LOGGER_CMD_TYPE:()=>Rw,LOGGER_DOMAIN:()=>Iw,LOGGER_DOMAIN_OVERSEA:()=>Aw,LOG_LEVEL:()=>ww,LOG_LEVEL_NAME:()=>MN,MAIN_STREAM_MSID:()=>Jw,MAX_RTT:()=>VN,MICROPHONE_COMMUNICATIONS:()=>ON,MICROPHONE_DEFAULT:()=>CN,MUTE_ALL_BIT:()=>qw,NAME:()=>Uw,NETWORK_TYPE:()=>Cw,NOT_SUPPORTED_H264:()=>vN,PAUSED_RETRY_COUNT:()=>DN,PEERCONNECTION_CONNECTING_TIMEOUT:()=>RN,PEER_CONNECTION_STATE:()=>sN,PEER_LEAVE_REASON:()=>PN,RECOVER_CAPTURE_INTERVAL:()=>xN,REMOTE_STREAM_TYPE_AUX:()=>Qw,REMOTE_STREAM_TYPE_MAIN:()=>$w,RENDER_FREEZE_TIMING:()=>IN,SCHEDULE_DOMAIN:()=>bN,SCHEDULE_TIMEOUT:()=>wN,SDP_SEMANTICS_PLAN_B:()=>EN,SDP_SEMANTICS_UNIFIED_PLAN:()=>gN,SECOND_HOST:()=>_w,SIGNAL_PING_PONG_INTERVAL:()=>Dw,SIGNAL_PING_TIMEOUT:()=>Nw,SIGNAL_RECONNECTION_COUNT:()=>hN,SMALL_STAT_BIT:()=>Ww,SPEAKER_DEFAULT:()=>kN,STORAGE_EXPIRES_TIME:()=>kw,STREAM_TYPE_BIG:()=>AN,STREAM_TYPE_SMALL:()=>SN,SUBSCRIBE_SMALL_RETRY_COUNT:()=>LN,SYNC_USER_LIST_INTERVAL:()=>mN,Scene:()=>Bw,THIRD_HOST:()=>gw,TRANSPORT_DIRECTION:()=>Vw,TRTC_ERROR_ASSISTANCE:()=>Sw,TRTC_QUALITY_BAD:()=>iN,TRTC_QUALITY_DISCONNECTED:()=>nN,TRTC_QUALITY_EXCELLENT:()=>eN,TRTC_QUALITY_GOOD:()=>tN,TRTC_QUALITY_POOR:()=>rN,TRTC_QUALITY_UNKNOWN:()=>Zw,TRTC_QUALITY_VERY_BAD:()=>oN,UPDATE_OFFER_TIMEOUT:()=>fN,VIDEO_MUTE_BIT:()=>zw,VIDEO_STAT_BIT:()=>Hw,audioProfileMap:()=>Ow,defaultBigVideoProfile:()=>Pw,defaultSmallVideoProfile:()=>Lw,getRetryCount:()=>uN,getScriptDir:()=>hw,innerVersion:()=>nw,loggerProxy:()=>pw,screenProfileMap:()=>xw,setLoggerProxy:()=>mw,setRetryCount:()=>lN,setVersion:()=>sw,version:()=>aw,videoProfileMap:()=>Mw});var nw="4.15.00.1600",aw="5.0.0";function sw(e){aw=e;let[t,r,i]=e.split(".").map((e=>parseInt(e,10)));nw="".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 cw,lw,uw="undefined"!=typeof importScripts,dw="undefined"!=typeof registerProcessor,hw=()=>{let e=uw?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf("/")+1)},pw="",mw=e=>pw=e,fw="web.sdk.qcloud.com",_w="web.sdk.tencent.cn",gw="web.sdk.cloud.tencent.cn",Ew="https://console.cloud.tencent.com/trtc",vw="https://".concat(fw,"/trtc/webrtc/v5/doc"),yw="https://web.sdk.qcloud.com/trtc/webrtc/v5/assets/",Tw="".concat(vw,"/zh-cn/"),Iw="https://yun.tim.qq.com",Aw="https://apisgp.my-imcloud.com",Sw="trtc_error_assistance",Rw={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"},ww=((lw=ww||{})[lw.TRACE=0]="TRACE",lw[lw.DEBUG=1]="DEBUG",lw[lw.INFO=2]="INFO",lw[lw.WARN=3]="WARN",lw[lw.ERROR=4]="ERROR",lw[lw.NONE=5]="NONE",lw),Nw=18e3,Dw=2e3,Cw={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5,"5g":6},kw=6048e5,Ow={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}},Mw={"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}},Pw=Mw["480p_2"],Lw=Mw["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}},Uw={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"},Vw={INACTIVE:"inactive",SENDONLY:"sendonly",RECVONLY:"recvonly"},Fw={OLD_CLOUD_LADDER:"wss://trtc.rtc.qq.com",WEBRTC:"wss://webrtc.qq.com"},Bw=((cw=Bw||{}).LIVE="live",cw.RTC="rtc",cw),Hw=1,Ww=2,jw=4,Gw=8,Kw=64,zw=16,qw=112,Yw=128,Jw="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",Xw="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",$w=Uw.MAIN,Qw=Uw.AUXILIARY,Zw=0,eN=1,tN=2,rN=3,iN=4,oN=5,nN=6,aN="unknown",sN={NEW:"new",CONNECTING:"connecting",FAILED:"failed",CLOSED:"closed",DISCONNECTED:"disconnected",CONNECTED:"connected",COMPLETED:"completed"},cN=1/0;function lN(e){cN=e}function uN(){return cN}var dN,hN=30,pN={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"},mN=1e4,fN=1e4,_N=1e4,gN="unified-plan",EN="plan-b",vN=1028,yN=((dN=yN||{})[dN.UNPUBLISH=-1]="UNPUBLISH",dN[dN.PUBLISHING=0]="PUBLISHING",dN[dN.PUBLISHED=1]="PUBLISHED",dN),TN=500,IN=1e3,AN=Uw.BIG,SN=Uw.SMALL,RN=1e4,bN={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"},wN=2e3,NN={TRTC:"TRTC",CLIENT:"Client",LOCAL_STREAM:"LocalStream",REMOTE_STREAM:"RemoteStream",STREAM:"Stream"},DN=5,CN="default",kN=CN,ON="communications",MN=Object.keys(ww),PN=["normal leave","timeout leave","kick","role change"],LN=10,xN=2e3,UN=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId","min","max"],VN=1e4,FN=function(){return new URLSearchParams(location.search).get("trtc_env")||""},BN=e=>Number(e)<14e8,HN=function(e,t){let r;r=pw||(BN(e)?Aw:Iw);let i=Math.floor(Math.random()*Pb(2,31));return"".concat(r,"/v5/AVQualityReportSvc/C2S?random=").concat(i,"&sdkappid=").concat(e,"&cmdtype=").concat(t)},WN="unknown";function jN(){if("unknown"!==WN)return WN;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&&(WN=GN(i,o)),WN}function GN(e,t){if(Cw[e])return e;switch(e){case"cellular":case"wimax":return t||"unknown";case"ethernet":return"wired";default:return"unknown"}}function KN(e){WN=GN(e)}function zN(){return Cw[jN()]}function qN(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 YN(e){return JN(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function JN(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function XN(e){return 4*$N(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function $N(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var QN="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:()=>{},ZN=()=>{let e=navigator.language;return e=e.substring(0,2),"zh"===e},eD=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 tD(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:tD(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function rD(e){return e>8?3e4:1e3*tD(e)}function iD(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var oD=e=>"function"==typeof e,nD=e=>void 0===e,aD=e=>"string"==typeof e,sD=e=>"number"==typeof e,cD=e=>"boolean"==typeof e,lD=e=>"object"===iD(e),uD=e=>"array"===iD(e),dD=e=>iD(e)==="MediaStreamTrack".toLowerCase(),hD=e=>e.isRemote,pD=e=>"promise"===iD(e),mD=e=>oD(e)&&e.prototype.constructor===e,fD=e=>mD(e)?e.prototype.constructor.name:"",_D="undefined"!=typeof AudioWorkletNode;function gD(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 ED(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var vD=e=>+e<10?"0".concat(e):e,yD=e=>{let t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;let r=t.split("."),i=vD(r[1])+vD(r[2]);return r[1]-15>0&&(r[1]="15"),r[2]-15>0&&(r[2]="15"),"".concat(r.join("."),".").concat(i)},TD=Object.prototype.hasOwnProperty;function ID(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(eD(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(TD.call(e,t))return!1;return!0}return!1}function AD(e,t){return{userId:t,hasAudio:!!(e&Gw),hasVideo:!!(e&Hw),hasAuxiliary:!!(e&jw),hasSmall:!!(e&Ww),audioMuted:!!(e&Kw),videoMuted:!!(e&zw),audioAvailable:!(!(e&Gw)||e&Kw),videoAvailable:!(!(e&Hw)||e&zw)}}function SD(e){let t={urls:e.url.startsWith("turn:")||e.url.startsWith("turns:")?e.url:"turn:".concat(e.url)};return!nD(e.username)&&!nD(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType="password",nD(e.credentialType)||(t.credentialType=e.credentialType)),t}function RD(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!aD(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 bD=function(e,t,r,i){if(!lD(e)||!lD(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],!(nD(t[o])||r&&r.includes(o)))if(lD(e[o])&&lD(t[o]))n+=bD(e[o],t[o],r,i);else{if(i&&i.includes(t[o]))continue;e[o]!==t[o]&&(e[o]=wD(t[o]),n+=1)}return n};function wD(e){if(uD(e)){let t=[];return e.forEach(((e,r)=>{t[r]=wD(e)})),t}if(lD(e)){let t={};return Object.keys(e).forEach((r=>{t[r]=wD(e[r])})),t}return e}var ND=e=>{let t=[];if(uD(e))t=[...e];else if(aD(e)){let r=document.getElementById(e);r&&t.push(r)}else e&&t.push(e);return t},DD=e=>aD(e)?document.getElementById(e):e,CD=()=>(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 kD(e,t){let{keysToInclude:r,keysToExclude:i}=t;try{if(uD(e))return"[".concat(e.map((e=>kD(e,{keysToInclude:r,keysToExclude:i}))).join(","),"]");if(!eD(e)||!uD(r)&&!uD(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]=eD(e[a])||uD(e[a])?JSON.parse(kD(e[a],{keysToExclude:i,keysToInclude:r})):e[a])})),JSON.stringify(t)}catch(dN){return"{}"}}function OD(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)})),kD(e,{keysToInclude:r})}function MD(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}var PD=()=>{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},LD=e=>Gb(void 0,null,(function*(){return new Promise(((t,r)=>{let i;if(aD(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 Zb({code:$b.INVALID_PARAMETER,message:"load image failed, url: ".concat(e)}))}}))})),xD=e=>{let t=e.split(".");return+t[0]<<24|+t[1]<<16|+t[2]<<8|+t[3]},UD=e=>(Object.keys(e).forEach((t=>{sD(e[t])&&(t.startsWith("uint")||t.startsWith("int"))?e[t]=Math.floor(e[t]):(eD(e[t])||uD(e[t]))&&UD(e[t])})),e);function VD(e,t){return new Promise((r=>{let i=setTimeout(r,e);t&&t(i)}))}function FD(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 BD(e){return e.replace(/(^|[^:])\/{2,}/g,"$1/")}function HD(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===Uw.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(cw){return""}}function WD(e,t){return e.width*e.height==t.width*t.height?1:PD()&&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 jD(e){return 90===e||270===e}function GD(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.text())).then((t=>{try{e({data:JSON.parse(t)})}catch(rO){e({data:t})}}),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(t){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 KD(e){return Gb(this,null,(function*(){let t=ED(),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 Xk.debug("compressJSON ".concat(r.length," -> ").concat(i.byteLength," ").concat(ED()-t,"ms")),i}catch(dN){return r}}))}var zD=Object.prototype.hasOwnProperty,qD=e=>"function"==typeof e,YD=e=>e.isRemote,JD=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 XD=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:u=5,timeout:d=1e3}=r,h=0,p=-1,m=0,f=(e,r)=>Gb(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(_){let t=()=>{clearTimeout(p),h=0,m=2,r(_)},a=()=>{2!==m&&h<(qD(u)?u():u)?(h++,m=1,qD(o)&&o.call(this,h,t),p=window.setTimeout((()=>{p=-1,f(e,r)}),qD(d)?d(h):d)):(t(),qD(n)&&n.call(this,_))};qD(i)?i.call(this,{error:_,retry:a,reject:r,retryFuncArgs:c,retriedCount:h}):a()}}));return new Promise(f)}},$D=class{constructor(e){Wb(this,"userId"),Wb(this,"remoteUserId"),Wb(this,"id"),Wb(this,"sdkAppId"),Wb(this,"type"),Wb(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):"","]")),Xk.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(JD(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(zD.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)}},QD={};Fb(QD,{ANDROID_VERSION:()=>dC,CHROME_MAJOR_VERSION:()=>fk,CHROME_VERSION:()=>_k,EDGE_VERSION:()=>EC,EDG_MAJOR_VERSION:()=>TC,EDG_VERSION:()=>yC,FIREFOX_MAJOR_VERSION:()=>_C,FIREFOX_VERSION:()=>fC,HUAWEI_VERSION:()=>rk,IE_VERSION:()=>OC,IOS_MAIN_VERSION:()=>Ak,IOS_VERSION:()=>Tk,IPADQQB_VERSION:()=>jC,IS_ANDROID:()=>uC,IS_ANDROID_WEBVIEW:()=>yk,IS_ANY_SAFARI:()=>Ek,IS_CHROME:()=>pk,IS_CHROME_OS:()=>qC,IS_CHROMIUM_BASE:()=>hk,IS_DESKTOP_IOS_CHROME:()=>Nk,IS_EDG:()=>vC,IS_EDGE:()=>gC,IS_ELECTRON:()=>XC,IS_FIREFOX:()=>mC,IS_HEADLESS_CHROME:()=>mk,IS_HONOR:()=>tk,IS_HUAWEI:()=>ek,IS_HUAWEIBROWSER:()=>ZC,IS_IE:()=>kC,IS_IE8:()=>CC,IS_IOS:()=>lC,IS_IOS_13_OR_14:()=>bk,IS_IOS_15_1:()=>Rk,IS_IOS_CHROME:()=>wk,IS_IPAD:()=>nC,IS_IPADQQB:()=>WC,IS_IPAD_PRO:()=>aC,IS_IPHONE:()=>sC,IS_IPOD:()=>cC,IS_LINUX:()=>zC,IS_LOCAL:()=>Dk,IS_MAC:()=>KC,IS_MACQQB:()=>BC,IS_MIBROWSER:()=>$C,IS_MQQB:()=>xC,IS_NATIVE_ANDROID:()=>pC,IS_OLD_ANDROID:()=>hC,IS_OPENHARMONY:()=>lk,IS_OPPOBROWSER:()=>nk,IS_SAFARI:()=>gk,IS_SAFARI_15_1:()=>Sk,IS_SAMSUNGBROWSER:()=>ik,IS_SOGOU:()=>SC,IS_SOGOUM:()=>IC,IS_TBS:()=>bC,IS_UCBROWSER:()=>JC,IS_VIVOBROWSER:()=>sk,IS_WECHAT:()=>MC,IS_WIN:()=>GC,IS_WQQB:()=>VC,IS_WX:()=>YC,IS_X5MQQB:()=>LC,IS_XWEB:()=>NC,MACQQB_VERSION:()=>HC,MI_VERSION:()=>QC,MQQB_VERSION:()=>UC,OPENHARMONY_VERSION:()=>uk,OPPO_VERSION:()=>ak,SAFARI_VERSION:()=>vk,SAMSUNG_VERSION:()=>ok,SOGOUM_VERSION:()=>AC,SOGOU_VERSION:()=>RC,TBS_VERSION:()=>wC,UA_DATA_STRING:()=>Lk,USER_AGENT:()=>ZD,VIVO_VERSION:()=>ck,WECHAT_VERSION:()=>PC,WQQB_VERSION:()=>FC,XWEB_VERSION:()=>DC,browserInfo:()=>kk,getBrowserInfo:()=>Ok,getChromeMajorVersion:()=>dk,getDeviceModel:()=>Vk,getGPUInfo:()=>Uk,getOSName:()=>Bk,getOSNumber:()=>Hk,getOSString:()=>Wk,getOSType:()=>Gk,getTerminalType:()=>jk,getUserAgentData:()=>xk,isLocalStorageEnabled:()=>Ck,isMobile:()=>Pk,isVersionSmallerThan:()=>Ik});var ZD="undefined"==typeof navigator?"":navigator.userAgent,eC=e=>new RegExp(e,"i").test(ZD),tC=e=>{if(eC(e)){let t=new RegExp("".concat(e,"\\/([\\d.]+)")),r=ZD.match(t);if(r&&r[1])return r[1]}return""},rC=e=>{if(eC(e)){let t=new RegExp("".concat(e,"\\/(\\d+)")),r=ZD.match(t);if(r&&r[1])return parseFloat(r[1])}return NaN},iC=/AppleWebKit\/([\d.]+)/i.exec(ZD),oC=iC?parseFloat(iC[1]):NaN,nC=eC("iPad"),aC="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&eC("Macintosh"),sC=eC("iPhone")&&!nC,cC=eC("iPod"),lC=sC||nC||cC||aC,uC=eC("Android"),dC=function(){if(uC){let e=ZD.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}(),hC=uC&&eC("webkit")&&dC<2.3,pC=uC&&dC<5&&oC<537,mC=eC("Firefox"),fC=tC("Firefox"),_C=rC("Firefox"),gC=eC("Edge"),EC=tC("Edge"),vC=eC("Edg"),yC=tC("Edg"),TC=rC("Edg"),IC=eC("SogouMobileBrowser"),AC=tC("SogouMobileBrowser"),SC=eC("MetaSr\\s"),RC=tC("MetaSr\\s"),bC=eC("TBS"),wC=tC("TBS"),NC=eC("XWEB"),DC=tC("XWEB"),CC=eC("MSIE\\s8\\.0"),kC=eC("MSIE\\/\\d+"),OC=function(){if(kC){let e=/MSIE\s(\d+)\.\d/.exec(ZD),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(ZD)&&/rv:11.0/.test(ZD)&&(t=11),t}return NaN}(),MC=eC("(micromessenger|webbrowser)"),PC=tC("MicroMessenger"),LC=!bC&&eC("MQQBrowser")&&eC("COVC"),xC=!bC&&eC("MQQBrowser")&&!eC("COVC"),UC=xC||LC?tC("MQQBrowser"):"",VC=!bC&&eC(" QQBrowser"),FC=tC(" QQBrowser"),BC=!bC&&eC("QQBrowserLite"),HC=tC("QQBrowserLite"),WC=!bC&&eC("MQBHD"),jC=tC("MQBHD"),GC=eC("Windows"),KC=!lC&&eC("MAC OS X"),zC=!uC&&eC("Linux"),qC=eC("CrOS"),YC=eC("MicroMessenger"),JC=eC("UCBrowser"),XC=eC("Electron"),$C=eC("MiuiBrowser"),QC=tC("MiuiBrowser"),ZC=eC("HuaweiBrowser"),ek=eC("Huawei")||eC("HUAWEI"),tk=eC("Honor")||eC("HONOR"),rk=tC("HuaweiBrowser"),ik=eC("SamsungBrowser"),ok=tC("SamsungBrowser"),nk=eC("HeyTapBrowser"),ak=tC("HeyTapBrowser"),sk=eC("VivoBrowser"),ck=tC("VivoBrowser"),lk=eC("OpenHarmony"),uk=tC("OpenHarmony"),dk=()=>rC("Chrome"),hk=eC("Chrome"),pk=!gC&&!SC&&!IC&&!bC&&!NC&&!vC&&!VC&&!$C&&!ZC&&!ik&&!nk&&!sk&&hk,mk=eC("HeadlessChrome"),fk=dk(),_k=tC("Chrome"),gk=!hk&&!xC&&!LC&&!BC&&!WC&&eC("Safari"),Ek=gk||lC,vk=tC("Version"),yk=/Android.*(wv|.0.0.0)/.test(ZD),Tk=(()=>{if(aC)return vk;if(lC){let e=ZD.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""})();function Ik(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}var Ak=Number(Tk.split(".")[0]),Sk="15.1"===vk,Rk="15.1"===Tk,bk=(()=>{let e=Number(Tk.split(".")[0]);return 14===e||13===e})(),wk=eC("CriOS"),Nk=wk&&"11.1.1"===vk,Dk="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),Ck=(()=>{let e;return()=>{if(void 0===e)try{e=!!window.localStorage}catch(oO){e=!1}return e}})(),kk=Ok();function Ok(){let e=new Map([[mC,["Firefox",fC]],[vC,["Edg",yC]],[pk,["Chrome",_k]],[gk,["Safari",vk]],[bC,["TBS",wC]],[NC,["XWEB",DC]],[MC&&sC,["WeChat",PC]],[VC,["QQ(Win)",FC]],[xC,["QQ(Mobile)",UC]],[LC,["QQ(Mobile X5)",UC]],[BC,["QQ(Mac)",HC]],[WC,["QQ(iPad)",jC]],[$C,["MI",QC]],[ZC,["HW",rk]],[ik,["Samsung",ok]],[nk,["OPPO",ak]],[sk,["VIVO",ck]],[gC,["EDGE",EC]],[IC,["SogouMobile",AC]],[SC,["Sogou",RC]]]),t="unknown",r="unknown";return e.has(!0)&&([t,r]=e.get(!0)),{name:t,version:r}}var Mk=null;function Pk(){return Mk&&"boolean"==typeof Mk.mobile?Mk.mobile:uC||lC||sC||nC||lk}var Lk="";function xk(){return Gb(this,null,(function*(){if(Mk)return Mk;if(!navigator.userAgentData||"function"!=typeof navigator.userAgentData.getHighEntropyValues)return null;try{return(Mk=yield navigator.userAgentData.getHighEntropyValues(["architecture","bitness","model","platformVersion","fullVersionList"]))&&!Lk&&(Lk="UAData: ".concat(Mk.platform,"/").concat(Mk.platformVersion),Mk.architecture&&Mk.bitness&&(Lk+=" ".concat(Mk.architecture,"/").concat(Mk.bitness)),Mk.mobile&&(Lk+=" mobile"),Mk.model&&(Lk+=" model: ".concat(Mk.model.replace(/\s+/g,"/"))),Mk.fullVersionList&&(Lk+=" ".concat(Mk.fullVersionList.filter((e=>"Not/A)Brand"!==e.brand)).map((e=>"".concat(e.brand,"/").concat(e.version))).join(",")))),Mk}catch(xF){return null}}))}function Uk(){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(xF){return""}}function Vk(){return(null==Mk?void 0:Mk.model)||""}var Fk=new Map([[uC,"Android"],[lC,"iOS"],[GC,"Windows"],[KC,"MacOS"],[zC,"Linux"],[qC,"ChromeOS"]]),Bk=function(){return Fk.get(!0)?Fk.get(!0):Mk?Mk.platform:"unknown"};function Hk(){return GC?1:uC?2:KC?3:lC?4:zC?5:qC?6:0}var Wk=()=>{let e=Bk();return e+="/".concat(kk.name,"/").concat(gk?kk.version:kk.version.split(".")[0]),null!=Mk&&Mk.platformVersion&&(e+="/".concat(Mk.platformVersion)),null!=Mk&&Mk.architecture&&(e+="/".concat(Mk.architecture)),e};function jk(){return uC?4:sC?2:nC?3:KC?12:GC?5:zC?13:lk?22:1}function Gk(){return uC?"Android":sC?"iPhone":nC?"iPad":KC?"Mac":GC?"Windows":zC?"Linux":"unknown"}var Kk,zk=new(Bb(Kb(),1).default),qk=((Kk=qk||{}).ROOM_DESTROY="1",Kk.JOIN_START="21",Kk.JOIN_SCHEDULE_SUCCESS="22",Kk.JOIN_SIGNAL_CONNECTION_START="23",Kk.JOIN_SIGNAL_CONNECTION_END="24",Kk.JOIN_SEND_CMD="25",Kk.JOIN_RECEIVED_CMD_RES="26",Kk.JOIN_SUCCESS="27",Kk.JOIN_FAILED="28",Kk.LEAVE_START="51",Kk.LEAVE_SEND_CMD="52",Kk.LEAVE_SUCCESS="53",Kk.PUBLISH_START="61",Kk.SEND_FIRST_VIDEO_FRAME="62",Kk.PUBLISH_FAILED="63",Kk.SUBSCRIBE_START="81",Kk.SUBSCRIBE_SUCCESS="82",Kk.SUBSCRIBE_FAILED="84",Kk.UNSUBSCRIBE_SUCCESS="83",Kk.LOCAL_TRACK_CAPTURE_START="101",Kk.LOCAL_TRACK_CAPTURE_SUCCESS="102",Kk.LOCAL_TRACK_CAPTURE_FAILED="103",Kk.LOCAL_TRACK_PUBLISHED="104",Kk.LOCAL_TRACK_UNPUBLISHED="105",Kk.LOCAL_TRACK_REPLACED="106",Kk.SWITCH_DEVICE_SUCCESS="107",Kk.TRACK_MUTED="108",Kk.TRACK_UNMUTED="109",Kk.REMOTE_TRACK_SUBSCRIBED="110",Kk.REMOTE_TRACK_UNSUBSCRIBED="111",Kk.LOCAL_TRACK_RECAPTURE="112",Kk.LOCAL_AUDIO_STARTED="113",Kk.LOCAL_AUDIO_STOPPED="114",Kk.REMOTE_AUDIO_STARTED="115",Kk.REMOTE_AUDIO_STOPPED="116",Kk.PLAY_TRACK_START="151",Kk.PLAYER_STATE_CHANGED="152",Kk.VIDEO_LOADED_DATA="153",Kk.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",Kk.SIGNAL_CONNECTION_STATE_CHANGED="201",Kk.PEER_CONNECTION_STATE_CHANGED="202",Kk.SINGLE_CONNECTION_STAT="203",Kk.SPC_RECONNECTED="204",Kk.HEARTBEAT_REPORT="251",Kk.RECEIVED_PUBLISHED_USER_LIST="252",Kk.REMOTE_PUBLISH_STATE_CHANGED="253",Kk.AUDIO_LEVEL_INTERVAL="260",Kk.NETWORK_QUALITY="261",Kk.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",Kk.QUALITY_LIMITATION_CHANGED="263",Kk.LOG="264",Kk.AUDIO_PROCESSOR_DEBUG="265",Kk.SWITCH_ROOM_START="401",Kk.SWITCH_ROOM_SUCCESS="407",Kk.SWITCH_ROOM_FAILED="408",Kk),Yk=qk,Jk=class e{constructor(){Wb(this,"_isEnableUploadLog",!0),Wb(this,"_localJoinedUser",new Map),Wb(this,"_queue",[]),Wb(this,"_timeoutId",-1),Wb(this,"_logLevel",1),Wb(this,"_logLevelToUpload",2),!uw&&!dw&&(this.checkURLParam(),this.installEvents())}get isAbleToUpload(){return this._isEnableUploadLog&&-1!==this._timeoutId}installEvents(){zk.on(Yk.JOIN_SCHEDULE_SUCCESS,(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.logLevelToUpload&&ww[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),zk.on(Yk.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),zk.once(Yk.JOIN_FAILED,(()=>{this.startUpload()})),zk.on(Yk.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(aD(r.userId)&&sD(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 Gb(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];yield this.uploadLogWithRetry(JSON.stringify({timestamp:tw(),sdkAppId:String(i),userId:r,version:aw,log:o.map((e=>e.log)).join("\n")}),i),o.forEach((e=>e.uploaded=!0))}}catch(nO){}let r=t.filter((e=>!e.uploaded));r.length>0&&(this._queue=r.concat(this._queue))}))}uploadLogWithRetry(e,t){return XD({retryFunction:()=>GD({url:HN(t,Rw.LOG),body:e,timeout:5e3,priority:"low"}),settings:{retries:3,timeout:2e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;return t.setTime(ew()),"[".concat(rw(t),"] <").concat(ww[e],">")}getLogLevel(){return this._logLevel}setLogLevel(e){nD(ww[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(aD(e))return e;try{return e instanceof Error?e.toString():JSON.stringify(e)}catch(cw){return""}}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;r.unshift(this.getPrefix(t));let s={log:r.reduce(((e,t)=>"".concat(e," ").concat(this.logChunkToString(t)).trim()),""),level:t,userId:o,sdkAppId:n,forAllJoinedClients:i};if(zk.emit(Yk.LOG,{log:s}),this._isEnableUploadLog&&t>=this._logLevelToUpload&&this._queue.push(s),t<this._logLevel)return;let c=(null==(a=ww[t])?void 0:a.toLowerCase())||"info";e.PRINT_LOG_TAG?console[c]("%cTRTC%c%s","padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;","display: inline",...r):console[c](...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 $D(e)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),t=e?Number(e):-1;ww[t]&&(this._logLevelToUpload=t)}getQueue(){return this._queue}};Wb(Jk,"PRINT_LOG_TAG",!(lC||uC||mk));var Xk=new Jk,$k=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)}))},Qk=new class{constructor(){Wb(this,"_prefix","TRTC"),Wb(this,"_queue",new Map)}getRealKey(e){return"".concat(this._prefix,"_").concat(e)}checkStorage(){Ck()&&(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(nO){return!1}return!1})).forEach((e=>localStorage.removeItem(e))))}doFlush(){if(Ck())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(oO){Xk.warn(oO)}}getItem(e){if(!Ck())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(cw){Xk.warn(cw)}}setItem(e,t){if(Ck())try{let r={expiresIn:Date.now()+kw,value:t};this._queue.set(this.getRealKey(e),r)}catch(dN){Xk.warn(dN)}}deleteItem(e){if(!Ck())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(cw){return Xk.warn(cw),!1}}clear(){if(Ck())try{localStorage.clear()}catch(oO){Xk.warn(oO)}}},Zk={};Fb(Zk,{HTTPS_API:()=>kM,IS_GET_CAPABILITIES_SUPPORTED:()=>XM,IS_GET_SETTINGS_SUPPORTED:()=>JM,IS_GET_SYNCHRONIZATION_SOURCES_SUPPORTED:()=>YM,IS_INSERTABLE_STREAM_SUPPORTED:()=>$M,IS_JITTER_BUFFER_TARGET_SUPPORTED:()=>lP,IS_RTC_RTP_SENDER_SUPPORTED:()=>KM,IS_SCRIPT_TRANSFORM_SUPPORTED:()=>QM,IS_SEI_SUPPORTED:()=>ZM,IS_SPC_SUPPORTED:()=>jM,basis:()=>nP,capabilityCheck:()=>sP,checkSystemRequirementsInternal:()=>wM,decodeSupportStatus:()=>bM,encodeSupportStatus:()=>RM,getBrowserInfo:()=>EM,getDisplayResolution:()=>MM,isAddTransceiverSupported:()=>WM,isBrowserSupported:()=>vM,isGetReceiversSupported:()=>FM,isGetSendersSupported:()=>BM,isGetTransceiversSupported:()=>HM,isGetUserMediaSupported:()=>PM,isMediaDevicesSupported:()=>TM,isMediaSessionSupported:()=>rP,isMediaStreamTrackProcessorSupported:()=>SM,isReplaceTrackSupported:()=>zM,isRequestVideoFrameCallbackSupported:()=>cP,isSIMDSupported:()=>oP,isScreenCaptureApiAvailable:()=>DM,isSelectedCandidatePair:()=>OM,isSetParametersSupported:()=>qM,isSmallStreamAPISupported:()=>xM,isSmallStreamSupported:()=>UM,isStopTransceiverSupported:()=>GM,isTRTCSupported:()=>NM,isUnifiedPlanDefault:()=>VM,isUsedInHttpProtocol:()=>AM,isWebAudioSupported:()=>LM,isWebCodecSupported:()=>tP,isWebCodecsSupported:()=>yM,isWebRTCSupported:()=>eP,isWebTransportSupported:()=>iP});var eO={};Fb(eO,{AUDIO_LEVEL_SCALE:()=>GO,AudioCodecPipelineType:()=>JO,AudioDecoderDowngradeState:()=>RO,AudioPlayerMode:()=>HO,AudioType:()=>kO,BASIC_TYPE:()=>zO,BannedReason:()=>WO,CONNECTION_CLOSED_REASON:()=>hO,ClientEvent:()=>pO,CodecType:()=>XO,ConnectionEvent:()=>dO,ConnectionState:()=>SO,DECODE_FAILED_ERROR_CODE:()=>$O,FacingMode:()=>FO,LeaveReason:()=>jO,LocalTrackEvent:()=>fO,MULTI_VIDEO_DATA_TYPE:()=>LO,MediaType:()=>DO,MediaTypeLabel:()=>CO,MonitorEventId:()=>xO,MutedFlag:()=>yO,NetworkQualityValue:()=>UO,PlayerState:()=>_O,ReceiveMode:()=>VO,RemoteStreamType:()=>PO,RemoteTrackEvent:()=>vO,RoomEvent:()=>gO,SMALL_MODE:()=>eM,SceneNumber:()=>TO,StreamEvent:()=>mO,StreamType:()=>MO,SubscribeMediaType:()=>KO,TIMER_TYPE:()=>ZO,TRACK_ACTION:()=>NO,TRACK_KIND:()=>wO,TrackEvent:()=>EO,UserRole:()=>AO,UserRoleNumber:()=>IO,VideoCodec:()=>qO,VideoCodecPipelineType:()=>YO,VideoContentHint:()=>QO,VideoDecoderDowngradeState:()=>bO,VideoPlayerMode:()=>BO,VideoType:()=>OO});var tO,rO,iO,oO,nO,aO,sO,cO,lO,uO,dO=((uO=dO||{}).TRACK_ADDED="track-added",uO.TRACK_UPDATED="track-updated",uO.TRACK_SUBSCRIBED="track-subscribed",uO.STREAM_ADDED="stream-added",uO.STREAM_REMOVED="stream-removed",uO.STREAM_UPDATED="stream-updated",uO.STREAM_PUBLISHED="stream-published",uO.STREAM_SUBSCRIBED="stream-subscribed",uO.STREAM_UNSUBSCRIBED="stream-unsubscribed",uO.STATE_CHANGED="state-changed",uO.ERROR="error",uO.CONNECTION_STATE_CHANGED="connection-state-changed",uO.FIREWALL_RESTRICTION="firewall-restriction",uO.SEI_MESSAGE="sei-message",uO.CLOSED="closed",uO),hO=(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))(hO||{}),pO=((lO=pO||{}).STREAM_ADDED="stream-added",lO.STREAM_REMOVED="stream-removed",lO.STREAM_UPDATED="stream-updated",lO.STREAM_SUBSCRIBED="stream-subscribed",lO.CONNECTION_STATE_CHANGED="connection-state-changed",lO.PEER_JOIN="peer-join",lO.PEER_LEAVE="peer-leave",lO.MUTE_AUDIO="mute-audio",lO.MUTE_VIDEO="mute-video",lO.UNMUTE_AUDIO="unmute-audio",lO.UNMUTE_VIDEO="unmute-video",lO.CLIENT_BANNED="client-banned",lO.NETWORK_QUALITY="network-quality",lO.AUDIO_VOLUME="audio-volume",lO.SEI_MESSAGE="sei-message",lO.ERROR="error",lO),mO=((cO=mO||{}).PLAYER_STATE_CHANGED="player-state-changed",cO.SCREEN_SHARING_STOPPED="screen-sharing-stopped",cO.CONNECTION_STATE_CHANGED="connection-state-changed",cO.DEVICE_AUTO_RECOVERED="device-auto-recovered",cO.ERROR="error",cO),fO=(e=>(e.DEVICE_AUTO_RECOVERED="1",e.DEVICE_RECOVER_FAILED="5",e.DEVICE_CHANGED="2",e.ERROR="3",e.PUBLISH_STATE_CHANGED="4",e.ENCODE_FAILED="6",e))(fO||{}),_O=(e=>(e.PAUSED="PAUSED",e.PLAYING="PLAYING",e.STOPPED="STOPPED",e))(_O||{}),gO=((sO=gO||{}).PEER_JOIN="peer-join",sO.PEER_LEAVE="peer-leave",sO.SIGNAL_CONNECTION_STATE_CHANGED="signal-connection-state-changed",sO.MEDIA_CONNECTION_STATE_CHANGED="media-connection-state-changed",sO.BANNED="banned",sO.NETWORK_QUALITY="network-quality",sO.AUDIO_VOLUME="audio-volume",sO.SEI_MESSAGE="sei-message",sO.ERROR="error",sO.REMOTE_PUBLISH_STATE_CHANGED="remote-publish-state-changed",sO.REMOTE_PUBLISHED="remote-published",sO.REMOTE_UNPUBLISHED="remote-unpublished",sO.FIREWALL_RESTRICTION="firewall-restriction",sO.HEARTBEAT_REPORT="heartbeat-report",sO.CUSTOM_MESSAGE="custom-message",sO.LAYER_DATA="layerData",sO.FIRST_VIDEO_FRAME="first-video-frame",sO.DUMP="dump",sO.AUDIO_FRAME="audio-frame",sO.SUBSCRIBE_SMALL_VIDEO_CHANGED="subscribe-small-video-changed",sO),EO=((aO=EO||{}).PLAYER_STATE_CHANGED="player-state-changed",aO.MUTE="mute",aO.UNMUTE="unmute",aO.ERROR="error",aO.INPUT_MEDIA_TRACK_CHANGED="input-media-track-changed",aO.OUTPUT_MEDIA_TRACK_CHANGED="output-media-track-changed",aO.FIRST_VIDEO_FRAME="first-video-frame",aO),vO=(e=>(e.DECODE_FAILED="decode-failed",e.DECODE_DOWNGRADE_STATE_CHANGED="decode-downgrade-state-changed",e))(vO||{}),yO=(e=>(e[e.VIDEO=1]="VIDEO",e[e.SMALL=2]="SMALL",e[e.AUX=4]="AUX",e[e.AUDIO=8]="AUDIO",e[e.VIDEO_MUTE=16]="VIDEO_MUTE",e[e.AUX_MUTE=32]="AUX_MUTE",e[e.AUDIO_MUTE=64]="AUDIO_MUTE",e))(yO||{}),TO=(e=>(e[e.RTC=1]="RTC",e[e.LIVE=2]="LIVE",e))(TO||{}),IO=(e=>(e[e.ANCHOR=20]="ANCHOR",e[e.AUDIENCE=21]="AUDIENCE",e))(IO||{}),AO=(e=>(e.ANCHOR="anchor",e.AUDIENCE="audience",e))(AO||{}),SO=(e=>(e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.RECONNECTED="RECONNECTED",e.RECONNECTING="RECONNECTING",e))(SO||{}),RO=((nO=RO||{}).INITIALIZED="INITIALIZED",nO.STARTING="STARTING",nO.STARTED="STARTED",nO.FAILED="FAILED",nO),bO=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(bO||{}),wO=(e=>(e.AUDIO="audio",e.VIDEO="video",e.AUXILIARY="auxVideo",e))(wO||{}),NO=(e=>(e.ADD="add",e.REMOVE="remove",e))(NO||{}),DO=(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))(DO||{}),CO={1:"audio",2:"auxVideo",4:"video"},kO=((oO=kO||{})[oO.opus=111]="opus",oO),OO=(e=>(e[e.h264=100]="h264",e[e.vp8=101]="vp8",e))(OO||{}),MO=(e=>(e.Big="big",e.Small="small",e))(MO||{}),PO=(e=>(e.Main="main",e.Aux="auxiliary",e))(PO||{}),LO=(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))(LO||{}),xO=((iO=xO||{})[iO.PUBLISH_VIDEO=32768]="PUBLISH_VIDEO",iO[iO.PUBLISH_AUDIO=32769]="PUBLISH_AUDIO",iO[iO.UNPUBLISH_VIDEO=32770]="UNPUBLISH_VIDEO",iO[iO.UNPUBLISH_AUDIO=32771]="UNPUBLISH_AUDIO",iO[iO.MUTE_AUDIO=32772]="MUTE_AUDIO",iO[iO.MUTE_VIDEO=32773]="MUTE_VIDEO",iO[iO.UNMUTE_AUDIO=32774]="UNMUTE_AUDIO",iO[iO.UNMUTE_VIDEO=32775]="UNMUTE_VIDEO",iO[iO.SUBSCRIBE_VIDEO=32776]="SUBSCRIBE_VIDEO",iO[iO.SUBSCRIBE_AUDIO=32777]="SUBSCRIBE_AUDIO",iO[iO.UNSUBSCRIBE_VIDEO=32778]="UNSUBSCRIBE_VIDEO",iO[iO.UNSUBSCRIBE_AUDIO=32779]="UNSUBSCRIBE_AUDIO",iO[iO.SWITCH_CAMERA=32780]="SWITCH_CAMERA",iO[iO.SWITCH_MICROPHONE=32781]="SWITCH_MICROPHONE",iO[iO.REPLACE_VIDEO=32782]="REPLACE_VIDEO",iO[iO.REPLACE_AUDIO=32783]="REPLACE_AUDIO",iO[iO.MUTE_REMOTE_VIDEO=32784]="MUTE_REMOTE_VIDEO",iO[iO.MUTE_REMOTE_AUDIO=32785]="MUTE_REMOTE_AUDIO",iO[iO.UNMUTE_REMOTE_VIDEO=32786]="UNMUTE_REMOTE_VIDEO",iO[iO.UNMUTE_REMOTE_AUDIO=32787]="UNMUTE_REMOTE_AUDIO",iO[iO.JOIN=32788]="JOIN",iO[iO.LEAVE=32789]="LEAVE",iO[iO.SIGNAL_DISCONNECTED=32790]="SIGNAL_DISCONNECTED",iO[iO.SIGNAL_CONNECTED=32791]="SIGNAL_CONNECTED",iO[iO.TRANSPORT_UPLINK_CONNECTED=32792]="TRANSPORT_UPLINK_CONNECTED",iO[iO.TRANSPORT_DOWNLINK_CONNECTED=32793]="TRANSPORT_DOWNLINK_CONNECTED",iO[iO.SIGNAl_RECONNECTING=32794]="SIGNAl_RECONNECTING",iO[iO.SIGNAL_RECONNECT_SUCCESS=32795]="SIGNAL_RECONNECT_SUCCESS",iO[iO.SIGNAL_RECONNECT_FAIL=32796]="SIGNAL_RECONNECT_FAIL",iO[iO.TRANSPORT_UPLINK_RECONNECTING=32797]="TRANSPORT_UPLINK_RECONNECTING",iO[iO.TRANSPORT_UPLINK_RECONNECT_SUCCESS=32798]="TRANSPORT_UPLINK_RECONNECT_SUCCESS",iO[iO.TRANSPORT_UPLINK_RECONNECT_FAIL=32799]="TRANSPORT_UPLINK_RECONNECT_FAIL",iO[iO.TRANSPORT_DOWNLINK_RECONNECTING=32800]="TRANSPORT_DOWNLINK_RECONNECTING",iO[iO.TRANSPORT_DOWNLINK_RECONNECT_SUCCESS=32801]="TRANSPORT_DOWNLINK_RECONNECT_SUCCESS",iO[iO.TRANSPORT_DOWNLINK_RECONNECT_FAIL=32802]="TRANSPORT_DOWNLINK_RECONNECT_FAIL",iO[iO.SUBSCRIBE_SMALL_VIDEO=32803]="SUBSCRIBE_SMALL_VIDEO",iO[iO.UNSUBSCRIBE_SMALL_VIDEO=32804]="UNSUBSCRIBE_SMALL_VIDEO",iO[iO.PUBLISH_AUX=32805]="PUBLISH_AUX",iO[iO.UNPUBLISH_AUX=32806]="UNPUBLISH_AUX",iO[iO.DEVICE_CAPTURE=2003]="DEVICE_CAPTURE",iO[iO.VIDEO_ENCODER=4004]="VIDEO_ENCODER",iO[iO.VIDEO_DECODER=4005]="VIDEO_DECODER",iO),UO=(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))(UO||{}),VO=(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))(VO||{}),FO=(e=>(e.user="user",e.environment="environment",e))(FO||{}),BO=(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))(BO||{}),HO=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CONTEXT=1]="CONTEXT",e))(HO||{}),WO=(e=>(e.BANNED="banned",e.KICK="kick",e.USER_TIME_OUT="user_time_out",e.ROOM_DISBAND="room_disband",e))(WO||{}),jO=((rO=jO||{})[rO.USER_EXIT_REASON_TC_USER_EXIT_NORMAL=0]="USER_EXIT_REASON_TC_USER_EXIT_NORMAL",rO[rO.USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT=1]="USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT",rO[rO.USER_EXIT_REASON_TC_USER_EXIT_KICKED=2]="USER_EXIT_REASON_TC_USER_EXIT_KICKED",rO[rO.USER_EXIT_REASON_TC_USER_EXIT_CHANGED=3]="USER_EXIT_REASON_TC_USER_EXIT_CHANGED",rO[rO.USER_KICK_OUT_CODE_BUSINESS_USER=4]="USER_KICK_OUT_CODE_BUSINESS_USER",rO[rO.USER_KICK_OUT_CODE_BUSINESS_ROOM=5]="USER_KICK_OUT_CODE_BUSINESS_ROOM",rO[rO.USER_KICK_OUT_CODE_SERVER_USER=6]="USER_KICK_OUT_CODE_SERVER_USER",rO[rO.USER_KICK_OUT_CODE_SERVER_ROOM=7]="USER_KICK_OUT_CODE_SERVER_ROOM",rO[rO.USER_KICK_SESS_EXSIT=8]="USER_KICK_SESS_EXSIT",rO),GO=1e8,KO=class{constructor(){Wb(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)}},zO=(e=>(e.String="string",e.Number="number",e.Boolean="boolean",e.Array="array",e.Object="object",e))(zO||{}),qO=(e=>(e.H264="h264",e.H265="h265",e.VP8="vp8",e))(qO||{}),YO=(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))(YO||{}),JO=(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))(JO||{}),XO=(e=>(e.WebRTC="webrtc",e.WebCodecs="webcodecs",e.WebAssembly="webassembly",e))(XO||{}),$O=((tO=$O||{})[tO.SUCCESS=0]="SUCCESS",tO[tO.FAILED=1]="FAILED",tO[tO.WEBCODEC_INIT=2]="WEBCODEC_INIT",tO[tO.WEBCODEC_CONFIG_NOT_SUPPORT=3]="WEBCODEC_CONFIG_NOT_SUPPORT",tO[tO.WEBCODEC_DECODER_ERROR=4]="WEBCODEC_DECODER_ERROR",tO[tO.WEBCODEC_TRACK_MUTE=5]="WEBCODEC_TRACK_MUTE",tO[tO.WASM_INIT=6]="WASM_INIT",tO[tO.WASM_WEBGL_UNAVALIABLE=7]="WASM_WEBGL_UNAVALIABLE",tO[tO.WASM_DECODER_ERROR=8]="WASM_DECODER_ERROR",tO[tO.WASM_TRACK_MUTE=9]="WASM_TRACK_MUTE",tO[tO.TEST=10]="TEST",tO[tO.RENDER_2D_ERROR=11]="RENDER_2D_ERROR",tO),QO=(e=>(e.NONE="",e.DETAIL="detail",e.MOTION="motion",e.TEXT="text",e))(QO||{}),ZO=(e=>(e.INTERVAL="interval",e.TIMEOUT="timeout",e.RAF="raf",e.RIC="ric",e.INTERVAL_IN_WORKER="intervalInWorker",e))(ZO||{}),eM=(e=>(e.CANVAS="canvas",e.API="api",e))(eM||{}),tM={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"},rM={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(iD(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(iD(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,"()")},iM=(e,t)=>t?"".concat(vw,"/").concat(e,"/").concat(t):"".concat(vw,"/").concat(e,"/index.html"),oM=()=>{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(Sw);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 nM(e){let{key:t,data:r,link:i,addDocLink:o=!0}=e,n="",a="",s="";oD(rM[t])?n=rM[t](r):aD(rM[t])&&(n=rM[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=oM();i?s="".concat(i.className,".html#").concat(i.fnName):l&&l[t]&&(oD(l[t])?s=l[t](r):aD(l[t])&&(s=l[t]));let u=n;return ZN()&&(c&&c[t]&&(oD(c[t])?a=c[t](r):aD(c[t])&&(a=c[t])),a&&(u=o?"".concat(a,"\n请查看文档: ").concat(iM("zh-cn",s),"\n\n"):"".concat(a,"\n\n"),u+=n)),o&&(u+=" \nRefer to: ".concat(iM("en",s),"\n")),u}var aM,sM=Bb(Jb(),1),cM=class{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];Wb(this,"countMap",new Map),Wb(this,"distributionMap",new Map),Wb(this,"version"),Wb(this,"log",Xk.createLogger({id:"kv"})),e&&(zk.on("102",(e=>{let{track:t,cost:r}=e;this.addSuccessEvent({key:t.kind===Uw.AUDIO?501700:511700,cost:r})})),zk.on("103",(e=>{let{track:t,error:r}=e;this.addFailedEvent({key:t.kind===Uw.AUDIO?501700:511700,error:r})})))}getReportData(){let e={msg_sdk_basic_info:{uint32_sdk_version:xD(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}}))}}))};return this.countMap.clear(),this.distributionMap.clear(),e}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(sD(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=$b.UNKNOWN;r&&(sD(r)?i=r:(!nD(r.extraCode)||!nD(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})}},lM=((aM=lM||{})[aM.enterRoom=500700]="enterRoom",aM[aM.exitRoom=500701]="exitRoom",aM[aM.switchRole=500702]="switchRole",aM[aM.destroy=500703]="destroy",aM[aM.startLocalAudio=500704]="startLocalAudio",aM[aM.updateLocalAudio=500705]="updateLocalAudio",aM[aM.stopLocalAudio=500706]="stopLocalAudio",aM[aM.startLocalVideo=500707]="startLocalVideo",aM[aM.updateLocalVideo=500708]="updateLocalVideo",aM[aM.stopLocalVideo=500709]="stopLocalVideo",aM[aM.startScreenShare=500710]="startScreenShare",aM[aM.updateScreenShare=500711]="updateScreenShare",aM[aM.stopScreenShare=500712]="stopScreenShare",aM[aM.startRemoteVideo=500713]="startRemoteVideo",aM[aM.updateRemoteVideo=500714]="updateRemoteVideo",aM[aM.stopRemoteVideo=500715]="stopRemoteVideo",aM[aM.muteRemoteAudio=500716]="muteRemoteAudio",aM[aM.setRemoteAudioVolume=500717]="setRemoteAudioVolume",aM[aM.use=500718]="use",aM[aM.switchRoom=500719]="switchRoom",aM[aM.sendSEIMessage=5e5]="sendSEIMessage",aM[aM.sendCustomMessage=500001]="sendCustomMessage",aM),uM=(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))(uM||{}),dM=(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))(dM||{}),hM=(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))(hM||{}),pM=new cM(!0),mM=new cM(!1),fM=pM,_M={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1}},gM=new Map([[mC,["Firefox",fC]],[vC,["Edg",yC]],[pk,["Chrome",_k]],[gk,["Safari",vk]],[bC,["TBS",wC]],[NC,["XWEB",DC]],[MC&&sC,["WeChat",PC]],[VC,["QQ(Win)",FC]],[xC,["QQ(Mobile)",UC]],[LC,["QQ(Mobile X5)",UC]],[BC,["QQ(Mac)",HC]],[WC,["QQ(iPad)",jC]],[$C,["MI",QC]],[ZC,["HW",rk]],[ik,["Samsung",ok]],[nk,["OPPO",ak]],[sk,["VIVO",ck]],[gC,["EDGE",EC]],[IC,["SogouMobile",AC]],[SC,["Sogou",RC]]]);function EM(){let e=gM.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var vM=function(){return!(JC||gC||vC&&TC<80||mC&&_C<56)},yM=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder"].every((e=>e in window))},TM=function(){if(!navigator.mediaDevices)return AM()||Xk.error(rM.NOT_SUPPORTED_MEDIA),!1;let e=["getUserMedia","enumerateDevices"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},IM=!1;function AM(){return"http:"===location.protocol&&!Dk&&(IM||Xk.error(nM({key:tM.NOT_SUPPORTED_HTTP})),IM=!0,!0)}var SM=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},RM=function(){return Gb(this,null,(function*(){if(_M.detail.isH264EncodeSupported&&_M.detail.isVp8EncodeSupported)return{isH264EncodeSupported:_M.detail.isH264EncodeSupported,isVp8EncodeSupported:_M.detail.isVp8EncodeSupported};let e,t=!1,r=!1;try{let i=new RTCPeerConnection,o=document.createElement(Uw.CANVAS);o.getContext("2d");let n=o.captureStream(0);return i.addTrack(n.getVideoTracks()[0],n),e=yield i.createOffer(),-1!==e.sdp.toLowerCase().indexOf("h264")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf("vp8")&&(r=!0),i.close(),_M.detail.isH264EncodeSupported=t,_M.detail.isVp8EncodeSupported=r,{isH264EncodeSupported:_M.detail.isH264EncodeSupported,isVp8EncodeSupported:_M.detail.isVp8EncodeSupported}}catch(dN){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1}}}))},bM=function(){return Gb(this,null,(function*(){if(_M.detail.isH264DecodeSupported&&_M.detail.isVp8DecodeSupported)return{isH264DecodeSupported:_M.detail.isH264DecodeSupported,isVp8DecodeSupported:_M.detail.isVp8DecodeSupported};let e,t=!1,r=!1;try{let i=new RTCPeerConnection;return i.addTransceiver(Uw.VIDEO,{direction:"recvonly"}),e=yield i.createOffer(),-1!==e.sdp.toLowerCase().indexOf("h264")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf("vp8")&&(r=!0),i.close(),{isH264DecodeSupported:t,isVp8DecodeSupported:r}}catch(dN){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1}}}))},wM=FD((()=>Gb(void 0,null,(function*(){if(_M.result&&_M.detail.isH264EncodeSupported&&_M.detail.isVp8EncodeSupported&&_M.detail.isH264DecodeSupported&&_M.detail.isVp8DecodeSupported)return _M;let e=Date.now(),t=vM(),r=eP(),i=yM(),o=TM(),[{isH264EncodeSupported:n,isVp8EncodeSupported:a},{isH264DecodeSupported:s,isVp8DecodeSupported:c}]=yield Promise.all([RM(),bM()]);if(!n||!a){let e=yield RM();Xk.warn("detect encode again h264:".concat(n," vp8:").concat(a," result: ").concat(JSON.stringify(e))),n=e.isH264EncodeSupported,a=e.isVp8EncodeSupported}if(n&&s&&uC&&hk&&!NC&&!bC){let{encode:e,decode:t}=yield function(){return Gb(this,null,(function*(){return CM||(CM=new Promise((e=>Gb(this,null,(function*(){let t={encode:!1,decode:!1},r=()=>{};try{let i=document.createElement("canvas"),o=i.getContext("2d");i.width=320,i.height=240;let n=setInterval((()=>{o.fillText("test",Math.floor(320*Math.random()),Math.floor(240*Math.random()))}),66),a=-1,s=-1;r=()=>{clearInterval(a),clearInterval(n),clearTimeout(s),l.close(),u.close(),c.getTracks().forEach((e=>e.stop()))},s=setTimeout((()=>{r(),e(t)}),2e3);let c=i.captureStream(),l=new RTCPeerConnection({}),u=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0});l.addEventListener("icecandidate",(e=>u.addIceCandidate(e.candidate))),u.addEventListener("icecandidate",(e=>l.addIceCandidate(e.candidate))),l.addTrack(c.getVideoTracks()[0],c);let d=yield l.createOffer();yield l.setLocalDescription(d),yield u.setRemoteDescription(d);let h=yield u.createAnswer(),p=sM.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=sM.default.write(p),yield u.setLocalDescription(h),yield l.setRemoteDescription(h),a=setInterval((()=>Gb(this,null,(function*(){t.encode&&t.decode&&(r(),e(t));let[i,o]=yield Promise.all([l.getSenders()[0].getStats(),u.getReceivers()[0].getStats()]);t.encode||i.forEach((e=>{"outbound-rtp"===e.type&&e.mediaType===Uw.VIDEO&&e.bytesSent>0&&(t.encode=!0)})),t.decode||o.forEach((e=>{"inbound-rtp"===e.type&&e.mediaType===Uw.VIDEO&&e.bytesReceived>0&&(t.decode=!0)}))}))),100)}catch(i){r(),Xk.warn("detectH264Supported failed",i),e({encode:!0,decode:!0})}})))).then((e=>(e.encode||(e.decode=!0),(!e.encode||!e.decode)&&Xk.warn("detectH264Supported encode: ".concat(e.encode," decode: ").concat(e.decode," ").concat(Lk)),e))),CM)}))}();n=e,s=t}return _M.result=t&&r&&o&&(n||a)&&(s||c),_M.detail.isBrowserSupported=t,_M.detail.isWebRTCSupported=r,_M.detail.isWebCodecsSupported=i,_M.detail.isMediaDevicesSupported=o,_M.detail.isScreenShareSupported=DM(),_M.detail.isSmallStreamSupported=UM(),_M.detail.isH264EncodeSupported=n,_M.detail.isVp8EncodeSupported=a,_M.detail.isH264DecodeSupported=s,_M.detail.isVp8DecodeSupported=c,_M.result||Xk.error("".concat(navigator.userAgent," ").concat(OD(_M.detail,!1))),Qk.setItem(aP,{ua:navigator.userAgent,checkResult:_M}),fM.addNumber({key:523800,value:Date.now()-e}),_M})))),NM=function(){return _M.result},DM=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},CM=null;var kM=(e,t,r)=>{"http:"===location.protocol&&!Dk&&(e[t]=()=>{throw new Zb({code:$b.INVALID_OPERATION,message:rM.NOT_SUPPORTED_HTTP})})},OM=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(cD(e.selected)&&!e.selected)};function MM(){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 PM(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function LM(){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 xM(){return"captureStream"in HTMLCanvasElement.prototype}function UM(){return!(MC||lC||fk&&fk<63)&&!(!vM()||!xM())}var VM=function(){if(nD(window.RTCRtpTransceiver)||!WM()||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;let e=null,t=!1;try{e=new RTCPeerConnection({sdpSemantics:gN}),e.addTransceiver(Uw.AUDIO),t=!0}catch(cw){}return null==e||e.close(),t};function FM(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function BM(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function HM(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function WM(){return!(11===Ak&&!Nk)&&("RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype)}var jM=!(!WM()||hk&&fk<86);function GM(){return"RTCRtpTransceiver"in window&&"stop"in window.RTCRtpTransceiver.prototype}var KM="RTCRtpSender"in window;function zM(){return KM&&"replaceTrack"in window.RTCRtpSender.prototype}function qM(){return KM&&"setParameters"in window.RTCRtpSender.prototype&&BM()}var YM="RTCRtpReceiver"in window&&"getSynchronizationSources"in window.RTCRtpReceiver.prototype,JM=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,XM=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,$M=KM&&"createEncodedStreams"in window.RTCRtpSender.prototype&&dk()>=86,QM="RTCRtpScriptTransform"in window,ZM=KM&&($M||QM),eP=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter((e=>e in window)).length>0};function tP(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return nD(window.AudioDecoder)||(e.AudioDecoder=!0),nD(window.AudioEncoder)||(e.AudioEncoder=!0),nD(window.VideoDecoder)||(e.VideoDecoder=!0),nD(window.VideoEncoder)||(e.VideoEncoder=!0),nD(window.ImageDecoder)||(e.ImageDecoder=!0),e}function rP(){return"mediaSession"in navigator&&!nD(navigator.mediaSession.setActionHandler)}function iP(){return!nD(window.WebTransport)}function oP(){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 nP(){let e={browser:"".concat(kk.name,"/").concat(kk.version),os:Bk(),displayResolution:MM(),isScreenShareSupported:DM(),isWebRTCSupported:eP(),isGetUserMediaSupported:PM(),isWebAudioSupported:LM(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:tP(),isMediaSessionSupported:rP(),isWebTransportSupported:iP()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var aP="checkResult";function sP(){AM();let e=Qk.getItem(aP);e&&e.ua===navigator.userAgent&&(_M=e.checkResult),wM()}function cP(){return"requestVideoFrameCallback"in HTMLVideoElement.prototype}var lP="RTCRtpReceiver"in window&&"jitterBufferTarget"in window.RTCRtpReceiver.prototype,uP=Bb(Kb(),1),dP=Symbol("instance"),hP=Symbol("cacheResult"),pP=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,EP.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},mP=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var fP=new Map;function _P(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=fP.get(i)||[];fP.has(i)||fP.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=vP.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[hP]:Promise.resolve(i[hP]);i.state instanceof pP&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof pP&&i.state.abort(i):("string"!=typeof i.state||!e.includes(i.state))&&(l=new mP(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 mP(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let u=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 u(l);let d=i.state,h=new pP(d,t,a);EP.call(i,h);let p=e=>{var o;return i[hP]=e,h.aborted||(EP.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[hP])),e},m=e=>(EP.call(i,d,e),u(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(lO){return m(new mP(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(lO),lO instanceof Error?lO:new Error(String(lO))))}}}}var gP="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 EP(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(vP.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var vP=class e extends uP.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[dP];o?this.name=o.name+"-"+o.count++:i[dP]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=fP.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);fP.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]:{};gP(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){EP.call(this,e)}};vP.STATECHANGED="stateChanged",vP.UPDATEAFSM="updateAFSM",vP.INIT="[*]",vP.ON="on",vP.OFF="off",vP.instances=new Map,vP.instances2=new WeakMap;var yP="undefined"!=typeof window,TP=yP&&window.requestIdleCallback||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},IP=yP&&window.cancelIdleCallback||function(e){clearTimeout(e)},AP=yP&&(window.cancelAnimationFrame||window.mozCancelAnimationFrame),SP=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=Ub(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=ED(),o=()=>{if(r=ED()-i,r>=t.delay&&(i=ED()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),!e.isBreakLoop(t))return t.ricID=TP(o,{timeout:t.delay})};return t.ricID=TP(o,{timeout:t.delay})}static raf(t){let r,i=ED(),o=()=>document.hidden&&t.backgroundTask?(r=ED()-i,i=ED(),t.callback(),t.loopCount+=1,e.isBreakLoop(t)?void 0:t.timeoutID=setTimeout(o,t.delay-Math.floor(r%t.delay))):(r=ED()-i,r>=t.delay&&(i=ED()-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=ED()-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&&AP&&AP(i),o&&IP(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)}};Wb(SP,"taskMap",new Map),Wb(SP,"currentTaskID",1),Wb(SP,"sharedWorker",null),Wb(SP,"workerTasks",new Map);var RP=SP;Uw.SEI_MESSAGE;var bP={LOADED_DATA:Uw.LOADEDDATA,LOADED_META_DATA:Uw.LOADEDMETADATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed",ERROR:"error"},wP={};Fb(wP,{create:()=>DP,remove:()=>CP});var NP=new WeakMap;function DP(e,t){NP.has(e)||NP.set(e,[]);let r=NP.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 CP(e){let t=NP.get(e);t&&(t.forEach((e=>e())),NP.delete(e))}var kP=new class{constructor(){Wb(this,"_roomIdMap",new Map),Wb(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:aw,env:bw.QCLOUD,browserVersion:kk.name+kk.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){Dk||!Xk.isAbleToUpload||this._configs.env===bw.QCLOUD&&this.uploadEventToKibana(Ub(xb({},e),{result:"success"}))}logFailedEvent(e){if(Dk||!Xk.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)||$b.UNKNOWN};this._configs.env===bw.QCLOUD&&this.uploadEventToKibana(Ub(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:tw(),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))),this.sendRequest(HN(this._configs.sdkAppId,Rw.LOG),o)}sendRequest(e,t){setTimeout((()=>GD({url:e,body:JSON.stringify(t),priority:"low"}).catch((()=>{}))),2e3)}},OP=new WeakMap;function MP(e){let{settings:t={retries:5,timeout:2e3},onError:r,onRetrying:i,onRetryFailed:o}=e;return function(e,n,a){let s=XD({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=OP.get(e))&&t.has(n)?o():a(i)}),a,s):null!=(c=OP.get(e))&&c.has(n)?o():a(i)},onRetrying(t,r){var o;qD(i)&&i.call(this,t,r),null!=(o=OP.get(e))&&o.has(n)&&(OP.get(e).get(n).stopRetry=r)},onRetryFailed:o});return a.value=function(){let t=OP.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}):OP.set(e,new Map([[n,{args:i}]])),s.apply(this,i).finally((()=>{var t;return null==(t=OP.get(e))?void 0:t.delete(n)}))},a}}var PP=class extends vP{constructor(e,t){super(e.id,"".concat(t,"-player")),this.kind=t,Wb(this,"id"),Wb(this,"element",null),Wb(this,"track"),Wb(this,"url"),Wb(this,"attr"),Wb(this,"mode"),Wb(this,"muted"),Wb(this,"_log"),Wb(this,"_pausedRetryCount"),Wb(this,"_isElementPlayingFired",!1),Wb(this,"_interval"),Wb(this,"_delayDestroyTimeoutId",0),Wb(this,"_playSuccessResolve"),Wb(this,"_isReplayByRecreateMediaStreamCalled",!1),Wb(this,"isInAutoPlayFailedState",!1),this.id=e.id,this._log=e.log,this.track=e.track,this.muted=e.muted,this._pausedRetryCount=DN,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 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 Gb(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(cw){let t=nM({key:tM.PLAY_FAILED,data:{media:this.kind,error:cw}});if(this.track&&!this.track.muted&&this._log.warn(cw),t.includes("NotAllowedError"))throw this.isInAutoPlayFailedState=!0,new Zb({code:$b.PLAY_NOT_ALLOWED,message:t})}}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._isElementPlayingFired=!1,this.unbindEvents(),e>0&&!Ek?this._delayDestroyTimeoutId||(this._log.info("destroy element after 3 * ".concat(e)),this._delayDestroyTimeoutId=setTimeout((()=>this.destroyElement()),3*e)):this.destroyElement(),this.handleStopped(Uw.ENDED),this._interval>0&&RP.clearTask(this._interval)}destroyElement(){this.element&&(this._log.debug("destroy element"),this.element.remove(),this.element.srcObject=null,this.element=null),clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0}pause(){var e;this.isPlaying&&(null==(e=this.element)||e.pause())}resume(){return this._log.info("resume"),this.isPlaying?Promise.resolve():Rk?this.replay():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 DP(this.element,this.element).add(Uw.PLAYING,e).add(Uw.ENDED,e).add(Uw.PAUSE,e).add(Uw.ERROR,e).add(Uw.LOADEDDATA,e).add(Uw.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==wP||wP.create(e,e).add(Uw.ENDED,t).add(Uw.MUTE,t).add(Uw.UNMUTE,t),e.readyState===Uw.ENDED&&this.handleTrackEvent({type:Uw.ENDED}),e.muted&&this.handleTrackEvent({type:Uw.MUTE})}}bindAutoPlayEvent(){zk.on(Yk.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;e&&CP(e)}unbindEvents(){this.element&&CP(this.element),this.unbindTrackEvents(),zk.off(Yk.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){switch(e.type){case Uw.PLAYING:this.isInAutoPlayFailedState=!1,this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying(Uw.PLAYING),this._interval&&(RP.clearTask(this._interval),this._interval=-1);break;case Uw.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped(Uw.ENDED);break;case Uw.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused(Uw.PAUSE),lC&&(this._interval=RP.run("timeout",(()=>{this.element&&"PAUSED"===this._state&&this.resume()}),{delay:3e3}));break;case Uw.ERROR:if(this.element&&this.element.error){this.handlePaused(Uw.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)),kP.uploadEvent({log:"stat-".concat(this.kind,"-").concat(pN.PLAYER_ERROR,"-").concat(e,"-").concat(navigator.userAgent),error:this.element.error}),tk||ek?this.emit(bP.ERROR,this.element.error):this.replayByRecreateMediaStream(this.element.error)}break;case Uw.LOADEDDATA:this.kind===Uw.VIDEO&&this.emit(bP.LOADED_DATA);break;case Uw.LOADEDMETADATA:this.kind===Uw.VIDEO&&this.emit(bP.LOADED_META_DATA)}}replayByRecreateMediaStream(e){if(!this._isReplayByRecreateMediaStreamCalled)return this._isReplayByRecreateMediaStreamCalled=!0,this.doReplayByRecreateMediaStream(1e3).then((()=>{this._log.warn("replayByRecreateMediaStream success"),kP.uploadEvent({log:"stat-replayByRecreateMediaStream-success"}),fM.addSuccessEvent({key:this.kind===Uw.AUDIO?506700:516700})})).catch((()=>{var t;this._log.error("replayByRecreateMediaStream failed"),kP.uploadEvent({log:"stat-replayByRecreateMediaStream-failed"}),fM.addFailedEvent({key:this.kind===Uw.AUDIO?506700:516700,error:null==(t=this.element)?void 0:t.error}),this.emit(bP.ERROR,e)}))}doReplayByRecreateMediaStream(e){return this._log.warn("delay ".concat(e,"ms to recreate mediaStream")),new Promise(((t,r)=>{VD(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)}),VD(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){switch(e.type){case Uw.ENDED:this.handleStopped(Uw.ENDED);break;case Uw.MUTE:this.handlePaused(Uw.MUTE);break;case Uw.UNMUTE:this._isElementPlayingFired?this.handlePlaying(Uw.UNMUTE):this.mode>0&&this.handlePlaying(this.mode.toString())}}handlePlaying(e){var t;null==(t=this._playSuccessResolve)||t.call(this,e),this.emit(bP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}handlePaused(e){this.emit(bP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}handleStopped(e){this.emit(bP.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}getElement(){return this.element}};Hb([MP({settings:{retries:2,timeout:0},onError(e,t,r,i){i[0]=(i[0]||1e3)+1e3,t()}})],PP.prototype,"doReplayByRecreateMediaStream",1),Hb([_P([],"PLAYING",{sync:!0})],PP.prototype,"handlePlaying",1),Hb([_P("PLAYING","PAUSED",{ignoreError:!0,sync:!0})],PP.prototype,"handlePaused",1),Hb([_P([],"STOPPED",{sync:!0})],PP.prototype,"handleStopped",1);var LP,xP="trtc_autoplay",UP="".concat(xP,"_mask"),VP="".concat(xP,"_wrapper"),FP="".concat(xP,"_header"),BP="".concat(xP,"_content"),HP="".concat(xP,"_action_wrapper"),WP="".concat(xP,"_question"),jP="".concat(xP,"_collapse"),GP="".concat(xP,"_action_confirm"),KP="".concat(xP,"_detail"),zP="#2473E8",qP="dialog",YP="".concat(qP,"-show"),JP="".concat(qP,"-1"),XP="".concat(qP,"-2"),$P=!1,QP=()=>!!document.querySelector(".".concat(VP)),ZP="".concat(vw,"/").concat(ZN()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),eL="<br><a href='".concat(ZP,"' target='_blank'>").concat(ZN()?"其他方案?":"Any other solution?","</a>"),tL="".concat(ZN()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(eL):"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(eL)),rL=class{constructor(){if(Wb(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),Wb(this,"_dialogNode",null),Wb(this,"_bodyPosition",""),Wb(this,"_showDetail",!1),Wb(this,"_isCollapseClicked",!1),Wb(this,"_isQuestionClicked",!1),ZN()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!$P){let e=document.createElement("style");e.innerHTML=".".concat(UP,"{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(UP," div:not(.").concat(HP,"){display:block !important;}.").concat(VP,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(VP," a{color:").concat(zP,";}.").concat(FP,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(BP,"{margin:8px 0;}.").concat(HP,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(jP,"{margin-right:auto;cursor:pointer}.").concat(WP,"{height:100%;line-height:16px;cursor:pointer;}.").concat(GP,"{margin-left:8px;color:#fff;background:").concat(zP,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(GP,":hover{opacity:0.9;}.").concat(jP,",.").concat(GP,",.").concat(BP,",.").concat(WP,"{font-size:14px;}@media screen and (max-width:750px){.").concat(VP,"{width:80vw;}}"),document.head.appendChild(e),$P=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement("template");e.innerHTML='<div class="'.concat(UP,"\"><div class='").concat(VP,"'><div class='").concat(FP,"'>").concat(location.host,"</div><div class='").concat(BP,"'>").concat(this.content,"</div><div class='").concat(KP,'\' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">').concat(tL,"</div><div class='").concat(HP,"'></div></div></div>").trim();let t=document.createElement("button");t.className=GP,t.innerText=ZN()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);let r=document.createElement("div");r.className=WP,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=jP,i.innerText="".concat(ZN()?"详情 >":"Detail >"),i.onclick=this.onCollapseClick.bind(this);let o=e.content.firstChild,n=o.querySelector(".".concat(HP));return n.appendChild(i),n.appendChild(r),n.appendChild(t),o}addDiaLog(){QP()||(this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(VP)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position="fixed",Xk.info("show autoplay dialog"),kP.uploadEvent({log:YP}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null)}onConfirm(){Xk.warn("confirm clicked, try resume stream"),zk.emit(Yk.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(".".concat(KP));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||kP.uploadEvent({log:JP}),this._isCollapseClicked=!0}onQuestionClick(){window.open(ZP,"_blank"),this._isQuestionClicked||kP.uploadEvent({log:XP}),this._isQuestionClicked=!0}},iL=class extends PP{constructor(e){super(e,Uw.VIDEO),Wb(this,"stat",{}),Wb(this,"_calculateTimeout",-1),Wb(this,"viewMirror",!1),Wb(this,"objectFit"),Wb(this,"container"),Wb(this,"canvas"),this.mode=e.canvas?1:0,this.container=e.container,this.canvas=e.canvas,nD(e.viewMirror)||(this.viewMirror=e.viewMirror),nD(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(Uw.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,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(Uw.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(Uw.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent)}handleTrackEvent(e){var t;super.handleTrackEvent(e),e.type===Uw.MUTE&&null!=(t=this.stat)&&t.fps&&(this.stat.fps=0)}handleElementEvent(e){var t,r;if(2===this.mode)return;super.handleElementEvent(e);let i=e.type;if(i===Uw.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=DN,this._log.info("view container ".concat(null==(r=this.container)?void 0:r.id," is recreated"))),this._pausedRetryCount>0&&!QP()&&(this._log.info("[".concat(DN-this._pausedRetryCount+1,"/").concat(DN,"] ").concat(this.kind," player auto resume when paused")),this.resume(),this._pausedRetryCount--),this.stat.fps&&(this.stat.fps=0)),this.viewMirror&&this.element){let e=this.element.style.transform;i===Uw.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace("scaleX(-1)",""):i===Uw.LEAVE_PICTURE_IN_PICTURE&&!e.includes("scaleX")&&(this.element.style.transform="".concat(e," scaleX(-1)"))}}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(bP.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(cP()&&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(cw){this._log.warn("init stat failed",cw)}}};function oL(e,t){return Gb(this,null,(function*(){if(!e.audioWorklet)return Promise.reject("audioWorklet is not supported");try{yield e.audioWorklet.addModule(t),Xk.info("worklet addModule success")}catch(cw){throw Xk.info("worklet addModule catch error. ".concat(cw.message)),cw}}))}"undefined"!=typeof AudioContext?LP=AudioContext:"undefined"!=typeof webkitAudioContext?LP=webkitAudioContext:"undefined"!=typeof mozAudioContext&&(LP=mozAudioContext);var nL,aL=-1;!function e(){try{if(nL)return;(nL=new LP({sampleRate:48e3})).onstatechange=()=>{Xk.info("context state: ".concat(nL.state).concat("running"!==nL.state?" visibilityState: ".concat(document.visibilityState):"")),sL()},clearTimeout(aL)}catch(xF){Xk.error("initAudioContext failed: ".concat(xF," typeof AudioContextClass: ").concat(typeof LP)),aL=setTimeout(e,1e3)}}();var sL=()=>{"suspended"===nL.state?(uL(),document.addEventListener("click",sL)):"interrupted"===nL.state?uL():(document.removeEventListener("visibilitychange",sL),document.removeEventListener("click",sL))},cL=0,lL=-1;function uL(){return new Promise(((e,t)=>{if("running"===nL.state)return e();Date.now()-cL<1e3?(clearTimeout(lL),lL=setTimeout((()=>{cL=Date.now(),nL.resume().then(e,t)}),1e3)):(clearTimeout(lL),cL=Date.now(),nL.resume().then(e,t))})).catch((e=>{Xk.warn("context resume failed: ".concat(e)),document.addEventListener("visibilitychange",sL)}))}document.addEventListener("click",sL);var dL=e=>nL,hL=class{constructor(e){this.name=e,Wb(this,"node"),Wb(this,"node2"),Wb(this,"pre",new Set),Wb(this,"next",new Set),Wb(this,"context"),Wb(this,"connectedNodes",new Set),Wb(this,"nextInputChannelMap",new Map),Wb(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(dN){Xk.error(dN)}}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(),fM.addSuccessEvent({key:502701})}catch(nO){Xk.error(nO),fM.addFailedEvent({key:502701,error:nO})}}deleteNode(){var e;if(this.node)try{this._disconnect(),delete this.node,delete this.node2,null==(e=this.context)||e.reduceMixWeight(),this.preNodeReconnect(),fM.addSuccessEvent({key:502702})}catch(cw){Xk.error(cw),fM.addFailedEvent({key:502702,error:cw})}}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}},pL=class extends hL{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;super(),this.fftSize=e,Wb(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}},mL=class{constructor(){Wb(this,"source",new hL),Wb(this,"gain",new hL),Wb(this,"destination",new hL)}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(dL().createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}replaceSource(e){this.source.replaceNode(EL(e))}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}},fL=class extends mL{constructor(e){super(),this.context=e,Wb(this,"aec",new hL("aec")),Wb(this,"mixNode",new hL("mixNode")),Wb(this,"silentNode",new hL("silentNode")),Wb(this,"denoiser",new hL("denoiser")),Wb(this,"voiceChanger",new hL("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)}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()}},_L=class{constructor(){Wb(this,"audioContext",dL()),Wb(this,"destination",this.audioContext.createMediaStreamDestination()),Wb(this,"inputs",new Set),Wb(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]}},gL=new WeakMap;function EL(e){let t=gL.get(e);if(t)return t;let r=dL();if(e instanceof HTMLAudioElement)t=r.createMediaElementSource(e);else{if(!(e instanceof MediaStreamTrack))return e;t=r.createMediaStreamSource(new MediaStream([e]))}return gL.set(e,t),t}var vL=class e{constructor(e){Wb(this,"_volume",0),Wb(this,"_volumeDb",0),Wb(this,"_log"),Wb(this,"_scriptProcessorNode",null),Wb(this,"_audioWorkletNode",null),Wb(this,"_interval",200),Wb(this,"ready",this.preload());let{log:t}=e;this._log=t,zk.on(Yk.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=oL(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(oO){this._log.error("volumeMeter init audio worklet error: ".concat(oO)),kP.logFailedEvent({userId:this._log.userId,eventType:pN.LOAD_WORKLET,error:oO}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=dL().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(oO){this._log.error("volumeMeter init script processor error: ".concat(oO))}}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,zk.off(Yk.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})}};Wb(vL,"lastMessageTime",0),Wb(vL,"audioContext",dL()),Wb(vL,"workletReady");var yL=vL,TL=class extends hL{constructor(e){super(),Wb(this,"_volumeMeter"),this._volumeMeter=new yL(e)}deleteNode(){super.deleteNode(),this._volumeMeter.destroy()}init(){return Gb(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()}}},IL=yL,AL=Bb(Kb(),1),SL=e=>t=>t.deviceId===e,RL=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Input";Wb(this,"kind"),Wb(this,"type"),Wb(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&&NL(this.devices[0])||t&&(r.forEach((e=>{if(e.deviceId&&!this.devices.find(SL(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Added");Xk.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!r.find(SL(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Removed");Xk.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}}))),this.devices=r}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},bL=class extends AL.EventEmitter{constructor(){super(),Wb(this,"audioInputs",new RL(Uw.AUDIO)),Wb(this,"videoInputs",new RL(Uw.VIDEO)),Wb(this,"audioOutputs",new RL(Uw.AUDIO,"Output")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",(()=>this.update())),"ondevicechange"in navigator.mediaDevices||RP.run("interval",(()=>{this.update()}),{delay:1e4}))}init(){DL().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return Gb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){let r=yield DL(t);return e.audioInputs.update(r,e),e.videoInputs.update(r,e),e.audioOutputs.update(r,e),e}()}))}},wL=dw||uw?null:new bL;function NL(e){return e.deviceId===e.groupId&&""===e.groupId}function DL(){return Gb(this,arguments,(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){if(AM()||!TM())return[];let t=yield navigator.mediaDevices.enumerateDevices();if(0!==e){let r={audio:!1,video:!1};if(t.forEach((e=>{NL(e)&&(e.kind===Uw.AUDIO_INPUT?r.audio=!0:e.kind===Uw.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&&uL()}catch(nO){Xk.debug("capture before getDevices failed: ",nO)}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&&PL.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(r.getCapabilities=()=>e.getCapabilities()),r}))}()}))}function CL(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return wL.update(e?1:0).then((e=>e.audioInputs.devices))}function kL(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return wL.update(e?2:0).then((e=>e.videoInputs.devices))}var OL=!1;function ML(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Gb(this,null,(function*(){return(lC||gk)&&(e=!1),wL.update(e?1:0).then((e=>e.audioOutputs.devices))}))}var PL=new Set;function LL(e,t){return Gb(this,null,(function*(){let r=(yield CL()).find((e=>e.deviceId===CN));return!t&&(null==r?void 0:r.groupId)===e||(null==r?void 0:r.groupId)===e&&r.label===t}))}var xL,UL=class extends mL{constructor(e){super(),this.log=e,Wb(this,"volumeMeter"),Wb(this,"volumeDestination"),Wb(this,"analyser",new pL),this.volumeMeter=new TL({log:this.log}),this.volumeDestination=new hL,this.volumeMeter.pipeTo(this.volumeDestination)}destroy(){this.gain.deleteNode(),this.volumeMeter.deleteNode(),this.analyser.deleteNode(),this.source.deleteNode(),this.destination.deleteNode(),this.volumeDestination.deleteNode()}},VL=class e extends PP{constructor(e){super(e,Uw.AUDIO),Wb(this,"_outputDeviceId"),Wb(this,"_volume",1),Wb(this,"_destination",dL().createMediaStreamDestination()),Wb(this,"pipeline"),Wb(this,"volumeMeterMode","worklet"),this.mode=0,this.pipeline=new UL(this._log)}getMediaStream(){return this.pipeline.stream||(this.track?new MediaStream([this.track]):null)}initializeElement(e){if(("15.2"===Tk||"15.3"===Tk||"15.4"===Tk)&&this.muted)return void this._log.info("audioElement is muted.");let t=xL||new Audio;t.setAttribute("autoplay","autoplay"),t.srcObject=this.getMediaStream(),t.muted=this.muted,this.element=t,sD(e)&&(this.element.volume=Math.min(Math.max(e,0),1)),t===xL&&(xL=void 0),this.bindElementEvents()}play(t){return Gb(this,null,(function*(){if(this.track)return this.pipeline.source.node||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():"analyser"===this.volumeMeterMode&&this.pipeline.analyser.setNode(dL().createAnalyser()),function(){Gb(this,null,(function*(){try{OL||(OL=!0,Xk.info("speakers:".concat((yield ML()).map((e=>" ".concat(e.deviceId.slice(0,8),": ").concat(e.label))))))}catch(e){}}))}(),jb(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)}setSinkId(e){return Gb(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()}},FL=class extends VL{setTrack(e){this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(bP.MEDIA_TRACK_CHANGED,e),e&&(this.bindTrackEvents(),this.element&&(this.element.srcObject=new MediaStream([e]))))}setVolume(e){this._volume=e,this.element&&(this.element.volume=e)}},BL=class extends VL{constructor(e){super(e),Wb(this,"_sourceElement"),Wb(this,"_output",new hL),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(dL().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(bP.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){this._volume=e,this.useDestination?(this.pipeline.setVolume(e),this._log.info("set pipeline volume: ".concat(e))):e<=1?this.element?(this._log.info("set element volume: ".concat(e)),this.element.volume=e):this._log.info("set element volume: no element"):lC||(this._log.info("start set pipeline volume: ".concat(e)),this.pipeline.setVolume(e),this.element&&!this._sourceElement&&(this.pipeline.destination.setNode(this._destination),CP(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&&Ek&&(xL=t),this._sourceElement&&(this._sourceElement.srcObject=null,delete this._sourceElement),super.stop(e)}},HL=class extends vP{constructor(e){let{userId:t,sdkAppId:r,mediaType:i,room:o,PlayerClass:n=(1===i?BL:iL)}=e;var a;super(),Wb(this,"id",$k()),Wb(this,"userId",""),Wb(this,"isRemote"),Wb(this,"mediaType"),Wb(this,"room"),Wb(this,"user"),Wb(this,"_log"),Wb(this,"_inputTrack"),Wb(this,"_outputTrack"),Wb(this,"isPlayCalled"),Wb(this,"container",null),Wb(this,"player"),Wb(this,"subVideoPlayerMap"),Wb(this,"muted",!1),Wb(this,"abortCtrl"),Wb(this,"objectFit","cover"),Wb(this,"mirror"),Wb(this,"rotation"),Wb(this,"isScreen",!1),Wb(this,"manager"),Wb(this,"trackSettings"),Wb(this,"isFirstVideoFrameEmitted",!1),this.userId=t||"",this.mediaType=i,this._log=Xk.createLogger({id:"".concat(this.kind[0],"t"),userId:null==(a=o||this.room)?void 0:a.userId,remoteUserId:this instanceof ax?void 0:this.userId,sdkAppId:r,type:2===this.mediaType?"auxiliary":"main",isLocal:this instanceof ax}),this.player=new n({id:this.userId||this.id,track:null,muted:!1,container:null,log:this._log}),this.player.on(bP.PLAYER_STATE_CHANGED,(e=>{zk.emit(Yk.PLAYER_STATE_CHANGED,xb({track:this},e)),this.emit("player-state-changed",e)})),this.kind===Uw.VIDEO&&(this.player.on(bP.LOADED_DATA,(()=>{this.emitFirstVideoFrameEvent(bP.LOADED_DATA),zk.emit(Yk.VIDEO_LOADED_DATA,{track:this})})),this.player.on(bP.LOADED_META_DATA,(()=>{this.emitFirstVideoFrameEvent(bP.LOADED_META_DATA)})),this.player.on(bP.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))}))),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this),this.onPlayerError&&this.player.on(bP.ERROR,this.onPlayerError.bind(this))}get log(){return this._log||Xk}get kind(){return 1===this.mediaType?Uw.AUDIO:Uw.VIDEO}get strMediaType(){return 4===this.mediaType?Uw.VIDEO:2===this.mediaType?Uw.SCREEN:Uw.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 Gb(this,null,(function*(){let r=uD(e)?e[0]:e;if(this.isPlayCalled)return this.log.info("play update options: ".concat(JSON.stringify(t))),t&&!nD(t.muted)&&this.setPlayerMute(t.muted),t&&!nD(t.objectFit)&&(this.objectFit=t.objectFit),void(this.player instanceof iL&&(this.player.setObjectFit(this.objectFit),this.container!==r&&r&&(this.container=r,this.player.setContainer(r)),uD(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!nD(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===Uw.VIDEO)&&this.setPlayerMute(!0),t&&!nD(t.objectFit)&&(this.objectFit=t.objectFit),this.player instanceof iL&&(this.player.setObjectFit(this.objectFit),t&&!nD(t.poster)&&this.player.setPoster(t.poster)),this.isPlayCalled=!0,r&&(this.container=r,this.player instanceof iL&&this.player.setContainer(r)),zk.emit(Yk.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),uD(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(cO){throw this.handleAutoPlayFailed(cO),cO}}else this.log.info("play has not mediaTrack, abort")}))}setMirror(e,t){if(this.isScreen||this.kind!==Uw.VIDEO||nD(e)||e===this.mirror)return;this.mirror=e;let r=this.player;t&&(r=t);let i=this.manager;if(cD(this.mirror))return r.setViewMirror(this.mirror),void(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 Gb(this,null,(function*(){if(!this._outputTrack||this.kind===Uw.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&&(nD(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(o,new iL({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(YD(this)&&!e?this.jitterBufferDelay:0)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop()})),this.container=null)}resume(){return Gb(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),zk.emit(e?Yk.TRACK_MUTED:Yk.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){DP(e,e).add(Uw.MUTE,this.onTrackMuted).add(Uw.UNMUTE,this.onTrackUnmuted).add(Uw.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===Uw.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){CP(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(YD(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 rL;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 iL?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===bP.LOADED_META_DATA&&!n&&!a||(e===bP.LOADED_DATA&&!n&&!a&&this._log.warn("the dimension of video is 0x0 in first-video-frame event"),this.isFirstVideoFrameEmitted=!0,jD(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"))}};Hb([_P([],vP.INIT,{sync:!0})],HL.prototype,"close",1);var WL=Object.prototype.hasOwnProperty;var jL=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(eD(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(WL.call(e,t))return!1;return!0}return!1},GL=XD({retryFunction:function(e){return Gb(this,null,(function*(){let t=function(e){return{audio:zL(e),video:qL(e)}}(e);Xk.info("getUserMedia with constraints: ".concat(JSON.stringify(t)));let r=[],i=[],o=["label","deviceId","groupId"];t.audio&&(r=yield CL(),Xk.info("microphones: ".concat(kD(r.map((e=>Ub(xb({},e),{groupId:e.groupId.substring(0,8)}))),{keysToInclude:o})))),t.video&&(i=yield kL(),Xk.info("cameras: ".concat(kD(i,{keysToInclude:o}))));try{let e=yield navigator.mediaDevices.getUserMedia(t);return XM&&e.getTracks().forEach((e=>{Xk.info("".concat(e.kind," capabilities: ").concat(kD(e.getCapabilities(),{keysToInclude:UN})))})),t.audio&&uL(),e}catch(cO){let{message:o}=cO;throw"NotFoundError"===cO.name&&(e.video&&i&&0===i.length&&(o=nM({key:tM.CAMERA_NOT_FOUND})),e.audio&&r&&0===r.length&&(o=nM({key:tM.MICROPHONE_NOT_FOUND}))),new Zb({code:$b.INITIALIZE_FAILED,name:cO.name,message:o,constraint:cO.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?(1===a?(o[0].video&&(o[0].maxResolution=!1,(!gk||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&&KL(o[0].microphoneId,!1),o[0].cameraId&&KL(o[0].cameraId,!0)},onRetrying:e=>{Xk.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:e=>{kP.logFailedEvent({eventType:pN.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{kP.logSuccessEvent({eventType:pN.GET_USER_MEDIA_RETRY}),kP.uploadEvent({log:"stat-".concat(pN.GET_USER_MEDIA_RETRY,"-success-").concat(e)})}});function KL(e,t){return Gb(this,null,(function*(){let r=(t?yield kL():yield CL()).find((t=>t.deviceId===e));r&&oD(r.getCapabilities)&&Xk.warn(kD(r.getCapabilities(),{keysToInclude:UN}))}))}function zL(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:e.sampleRate};return!jL(e.microphoneId)&&(t.deviceId=e.useExactDeviceId?{exact:e.microphoneId}:e.microphoneId,e.useDeviceIdOnly)?t:(sD(e.channelCount)&&(t.channelCount=e.channelCount),cD(e.echoCancellation)&&!e.echoCancellation&&(t.echoCancellation=!1),cD(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),cD(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!jL(t)||t)}function qL(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&&!jL(r)?r:(e.width&&(r.width={ideal:e.width},t&&!mC&&(r.width.max=e.width)),e.height&&(r.height={ideal:e.height},t&&!mC&&(r.height.max=e.height)),mC&&KC&&e.width&&e.height&&e.width*e.height<101376&&(r.width=e.width,r.height=e.height),e.frameRate&&(r.frameRate=e.frameRate),!!jL(r)||r)}var YL=GL;function JL(e){return XL(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return Gb(this,null,(function*(){let r=yield t.apply(this,i);return yield e.call(this,...i),r}))}))}function XL(e){return function(t,r,i){return i.value=e(i.value,r),i}}var $L=(()=>{let e=!1,t=document.visibilityState;return()=>{document.visibilityState!==t&&Xk.info("visibility change: ".concat(document.visibilityState)),!e&&(document.addEventListener("visibilitychange",(()=>{Xk.info("visibility change: ".concat(document.visibilityState)),t=document.visibilityState})),e=!0)}})(),QL=0,ZL=class{constructor(){Wb(this,"log",Xk.createLogger({id:"fq".concat(++QL)})),Wb(this,"isRunning",!1),Wb(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()}))}},ex=new WeakMap,tx=new WeakMap;function rx(){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=ex.get(this)||new ZL;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];return ex.set(this,t),t.push({fn:o,args:i,context:this},e)},i}}function ix(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=tx.get(this)||new Map,a=i.get(n(t))||new ZL;return i.set(n(t),a),tx.set(this,i),a.push({fn:o,args:t,context:this})},i}}function ox(e,t){return XL(((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=ED();return pD(e)?e.then((e=>(t?fM.addSuccessEvent({key:i,cost:ED()-s}):fM.addSuccessEvent({key:i}),e))).catch((e=>{throw fM.addFailedEvent({key:i,error:e}),e})):(fM.addSuccessEvent({key:i}),e)}catch(lw){throw fM.addFailedEvent({key:i,error:lw}),lw}}))}var nx=class e extends HL{constructor(e,t){super({mediaType:e,PlayerClass:t}),Wb(this,"isRemote",!1),Wb(this,"deviceId"),Wb(this,"groupId",""),Wb(this,"label",""),Wb(this,"sourceTrack"),Wb(this,"_isRecapturing",!1),Wb(this,"_lastRecaptureTime",0),Wb(this,"_onMuteTimeoutId",-1),Wb(this,"_encodeCheckTimeoutId",-1),Wb(this,"profile")}get enableEncodeFrame(){return!1}get isPublishing(){return"publishing"===this.state.toString()}get isPublished(){return"publish"===this.state}encodeFrame(e,t){throw new Error("Method not implemented.")}installTrackEvent(e){DP(e,e).add(Uw.MUTE,this.onTrackMuted).add(Uw.UNMUTE,this.onTrackUnmuted).add(Uw.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===Uw.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){CP(e)}setStateToReady(){}capture(e){return Gb(this,null,(function*(){var t;try{let r,i=ED();zk.emit(Yk.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(r=new MediaStream,r.addTrack(e.customSource)):(null==(t=this.mediaTrack)||t.stop(),r=yield YL(e));let o=r.getTracks()[0];return this.sourceTrack=o,yield this.setInputMediaStreamTrack(o),e.customSource||(this.updateDeviceIdInUse(),this.listenDeviceChange()),zk.emit(Yk.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this,cost:ED()-i}),r}catch(nO){throw zk.emit(Yk.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:nO}),this.log.error("getUserMedia error observed ".concat(nO)),nO}}))}setOutputMediaStreamTrack(e){var t;if(super.setOutputMediaStreamTrack(e),this.setStateToReady(),this.isPublishing||this.isPublished)return null==(t=this.room)?void 0:t.replaceTrack(this)}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),t}unpublish(){this.room&&this.room.localTracks.delete(this),zk.emit(Yk.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return Gb(this,null,(function*(){if(this.mediaTrack&&JM){let{deviceId:e,groupId:t}=this.mediaTrack.getSettings(),{label:r}=this.mediaTrack;(yield function(e){return Gb(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:r,oldGroupId:i,oldLabel:o,kind:n}=e;return function*(){return t===r&&(n!==Uw.AUDIO||t!==CN||(yield LL(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),DL().then((t=>{let r=t.find((t=>t.deviceId===e));r&&this.emit("2",r)})))}}))}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.mediaTrack||this.kind===Uw.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(Uw.AUDIO_INPUT);return!!PL.has(r)}(this.mediaTrack)||this.kind===Uw.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(Uw.VIDEO_INPUT);return!!PL.has(r)}(this.mediaTrack)||this._isRecapturing||e&&KC&&gk)}onTrackMuted(){if(super.onTrackMuted(),$L(),this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTime<xN)return void setTimeout((()=>this.onTrackMuted()),xN);this._onMuteTimeoutId=setTimeout((()=>Gb(this,null,(function*(){var e;if(null!=(e=this.mediaTrack)&&e.muted){if((lC||uC)&&"visible"!==document.visibilityState)return;this.recapture(yield this.getRecoverCaptureDeviceId())}}))),5e3)}}onTrackUnmuted(){super.onTrackUnmuted(),this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return Gb(this,null,(function*(){if(jb(e.prototype,this,"onTrackEnded").call(this),this.isNeedToRecapture()){if(Date.now()-this._lastRecaptureTime<xN)return void setTimeout((()=>this.onTrackEnded()),xN);this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){return Gb(this,null,(function*(){var t;if(this._isRecapturing||!this._inputTrack)return;this.log.warn("recapture trying"),null==(t=this._inputTrack)||t.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now();let r={useExactDeviceId:!0};if("user"===e||"environment"===e)r.facingMode=e;else{let t;("audio"===this.kind?yield CL():yield kL()).find((t=>t.deviceId===e))&&(t=e),r.deviceId=t}return this.capture(r).then((()=>{this._isRecapturing=!1,this.log.warn("recapture success"),this.emit("1",{deviceId:this.deviceId}),zk.emit(Yk.LOCAL_TRACK_RECAPTURE,{track:this})})).catch((e=>{this._isRecapturing=!1,this.log.warn("recapture failed ".concat(e.message)),this.emit("5",e),zk.emit(Yk.LOCAL_TRACK_RECAPTURE,{track:this,error:e})}))}))}getRecoverCaptureDeviceId(){return Gb(this,null,(function*(){let e=this instanceof hx;if(e&&this.facingMode)return this.facingMode;let{deviceId:t}=this;if(t){let r=(sx.get(t)||0)+1;if(sx.set(t,r),r>=3){let i=e?(yield kL()).find((e=>!sx.has(e.deviceId))):(yield CL()).find((e=>!sx.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._inputTrack&&(this._inputTrack.stop(),this.uninstallTrackEvent(this._inputTrack)),null==(e=this.manager)||e.removeInput(this)}close(){super.close(),this.stopCapture()}};Hb([_P(vP.INIT,"ready",{ignoreError:!0,sync:!0})],nx.prototype,"setStateToReady",1),Hb([rx()],nx.prototype,"capture",1),Hb([_P("ready","publish",{ignoreError:!0,success(){var e,t;this.room.localTracks.add(this),zk.emit(Yk.LOCAL_TRACK_PUBLISHED,{track:this}),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"}),!(((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&(this._encodeCheckTimeoutId=setTimeout((()=>{var e,t;if(!(((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&this.isPublished&&this.isMediaTrackActive){let e=this.kind===Uw.AUDIO,t=this.stat.bytesSent>0;fM[t?"addSuccessEvent":"addFailedEvent"]({key:e?503700:513702}),t||(fM.addEnum({key:e?503701:513703,value:Hk()}),kP.uploadEvent({log:"stat-encode-failed-".concat(this.kind,"-").concat(Vk()||Wk()),userId:this.userId}),this.log.warn("encode failed"),this.emit("6",this))}}),5e3))},fail(e){let t="error";if(e.cause instanceof RTCError){let r=e.cause;r.message.includes("timeout")?t="timeout":r.code===$b.API_CALL_ABORTED&&(t="api-call")}this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:e.cause||e})}}),ox(521714,!1)],nx.prototype,"publish",1),Hb([XL((e=>function(){return Gb(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)}))})),_P([],"ready",{sync:!0})],nx.prototype,"unpublish",1);var ax=nx,sx=new Map;zk.on(Yk.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&sx.delete(e.track.deviceId)}));var cx=class e extends ax{constructor(e){super(1,FL),Wb(this,"mediaType",1),Wb(this,"volume",0),Wb(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),Wb(this,"playerMuted",!0),Wb(this,"pipeline"),Wb(this,"earMonitorGainNode",new hL),Wb(this,"_output",new hL),Wb(this,"stat",{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0}),Wb(this,"mixedAudioReferenceMap",new Map),this.manager=e,this.pipeline=new fL(e),this.pipeline.gain.pipeTo(this.earMonitorGainNode).pipeTo(this._output),this.pipeline.gain.pipeTo(this.player.pipeline.volumeMeter),this.handleMicrophoneAdded=this.handleMicrophoneAdded.bind(this),this.handleMicrophoneRemoved=this.handleMicrophoneRemoved.bind(this)}get dbVolume(){return IL.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}setInputMediaStreamTrack(t){return Gb(this,null,(function*(){let r=this.trackSettings||{};fM.addEnum({key:501701,value:r.channelCount||0,useUV:!1}),fM.addEnum({key:501702,value:r.sampleRate||0,useUV:!1}),fM.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 jb(e.prototype,this,"setInputMediaStreamTrack").call(this,t),this.updatePlayingState(!!t)}))}capture(e){let{deviceId:t,customSource:r,useExactDeviceId:i=!0,retryWhenExactFailed:o=!0}=e;return super.capture({video:!1,audio:!0,microphoneId:t,echoCancellation:this.profile.echoCancellation,autoGainControl:this.profile.autoGainControl,noiseSuppression:this.profile.noiseSuppression,sampleRate:this.profile.sampleRate,channelCount:this.profile.channelCount,useExactDeviceId:i,retryWhenExactFailed:o,customSource:r})}switchDevice(e){return Gb(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e){if(e!==CN)return;if(yield LL(this.groupId,this.label))return}try{this.log.info("switchDevice audio to: ".concat(e)),this.mediaTrack&&this.mediaTrack.stop(),yield this.capture({deviceId:e,useExactDeviceId:!0,retryWhenExactFailed:!1}),zk.emit(Yk.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch microphone success")}catch(dN){throw this.log.error("switch microphone failed ".concat(dN)),this.deviceId&&this.recapture(this.deviceId),dN}}}))}listenDeviceChange(){wL&&!wL.listeners("audioInputRemoved").includes(this.handleMicrophoneRemoved)&&wL.on("audioInputRemoved",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return Gb(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn("current microphone is lost: ".concat(JSON.stringify(e))),iF(this.userId,{eventId:2003,param1:6,streamType:1});let t=yield CL();t[0]?this.recapture(t[0].deviceId):wL.on("audioInputAdded",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){this.log.warn("microphone added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId)}update3A(e){return Gb(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;!nD(r)&&r!==t.profile.echoCancellation&&(t.profile.echoCancellation=r,n.echoCancellation=r,a=!0),!nD(i)&&i!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=i,n.noiseSuppression=i,a=!0),!nD(o)&&o!==t.profile.autoGainControl&&(t.profile.autoGainControl=o,n.autoGainControl=o,a=!0),a&&(mC||gk?yield e.applyConstraints(n).catch((e=>t._log.warn("update3A failed: ",e))):t.deviceId&&(yield t.recapture(t.deviceId)))}()}))}get captureVolume(){return this.pipeline.volume}setCaptureVolume(e){this.pipeline.setVolume(e/100),this.pipeline.gain.node&&fM.addEnum({key:502700,value:2})}setAudioVolume(e){super.setAudioVolume(0),lC&&this.player.setMuted(!0),this.earMonitorGainNode.node||(this.earMonitorGainNode.setNode(dL().createGain()),this._output.setNode(dL().destination)),this.earMonitorGainNode.node.gain.value=e}enableTrackANS(e){return this.update3A({noiseSuppression:e})}enableTrackAEC(e){if(this.sourceTrack&&!gk&&!lC)return this.update3A({echoCancellation:e})}addDenoiser(e){var t;fk<=92&&48e3!==(null==(t=this.trackSettings)?void 0:t.sampleRate)?this._log.warn("denoiser only support sampleRate 48000 before chrome 93"):(fM.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=EL(e),i=new hL,o=dL().createGain();o.gain.value=1;let n=new hL;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,i){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e),this.enableTrackAEC(!1)}removeDenoiser(e){this.pipeline.denoiser.node===e&&(this.pipeline.denoiser.deleteNode(),this.enableTrackANS(!0))}removeAudioProcessor(e,t,r,i){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode(),this.enableTrackAEC(!0))}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(),wL.off("audioInputAdded",this.handleMicrophoneAdded,this),wL.off("audioInputRemoved",this.handleMicrophoneRemoved,this),super.close()}recapture(t){return Gb(this,null,(function*(){try{yield jb(e.prototype,this,"recapture").call(this,t)}catch(dN){let i=(yield CL()).find((e=>e.deviceId!==t));if(!i)throw dN;yield jb(e.prototype,this,"recapture").call(this,i.deviceId)}}))}encodeFrame(e){return this.manager?this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e}):e),e):e}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}},lx=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}},ux=class{constructor(){Wb(this,"_seiMessageList",[]),Wb(this,"_smallSeiMessageList",[]),Wb(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 lx(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}},dx=class e extends ax{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,iL),Wb(this,"profile",xb({},Pw)),Wb(this,"avoidCropping",!1),Wb(this,"_scaleResolutionDownBy"),Wb(this,"stat",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0,fpsCapture:0}),Wb(this,"small"),Wb(this,"isNeedToSetBandwidth"),Wb(this,"muteImage"),Wb(this,"manager"),Wb(this,"_seiCodec",new ux),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(Ub(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(JM&&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 Gb(this,null,(function*(){var r,i,o;if(aD(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,jb(e.prototype,this,"setMute").call(this,!1)}else this.muteImage&&(yield null==(o=this.manager)?void 0:o.deleteWatermark("mute"),this.muteImage=void 0),jb(e.prototype,this,"setMute").call(this,t)}))}capture(e){let{deviceId:t,facingMode:r,useExactDeviceId:i=!0,customSource:o,retryWhenExactFailed:n=!0}=e;return super.capture({audio:!1,video:!0,facingMode:r||this.facingMode,cameraId:t,width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate,useExactDeviceId:i,retryWhenExactFailed:n,customSource:o})}setProfile(e){let t=xb({},e),r=t.width>t.height;t.width*t.height<=19200&&uC&&hk&&(this.log.warn("resolution is ".concat(t.width,"*").concat(t.height,", fallback to 240*180")),t.width=r?240:180,t.height=r?180:240,t.bitrate=Math.max(t.bitrate,150)),t.width*t.height>921600&&bk&&(t.width=r?1280:720,t.height=r?720:1280,this.log.warn("reset to 1280 * 720 on iOS 13~14")),this.avoidCropping&&(hk||mC)&&!Pk()&&t.width*t.height<=230400&&t.width/t.height==16/9&&(this._scaleResolutionDownBy=1280/t.width,t.width=1280,t.height=720,this.log.warn("capture 720p, scale: ".concat(this._scaleResolutionDownBy))),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(Ub(xb({},this.profile),{width:1920,height:1080})))}applyProfile(){return Gb(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===Ak&&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:Uw.VIDEO,videoType:Uw.BIG})}}))}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate},t=this.sourceTrack||this.mediaTrack;return JM&&t&&Object.assign(e,t.getSettings()),e}get scaleResolutionDownBy(){return this._scaleResolutionDownBy?this._scaleResolutionDownBy:WD(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 Gb(this,null,(function*(){try{if(!this.isNeedToSwitchDevice(e))return;let t={useExactDeviceId:!0,retryWhenExactFailed:!1};"user"===e||"environment"===e?t.facingMode=e:t.deviceId=e,this.mediaTrack.stop(),yield this.capture(t),zk.emit(Yk.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success")}catch(dN){throw this.log.error("switch camera failed ".concat(dN)),this.deviceId&&this.recapture(this.deviceId),dN}}))}updateSmallConfig(e){var t,r;this._log.info("update small stream config: ".concat(JSON.stringify(e)));let i=!this.small;this.small=e,null==(t=this.manager)||t.update(),i&&(null==(r=this.room)||r.enableSmall(!0)),this.log.info("update small stream config success")}stopSmall(){var e,t;this.small&&(delete this.small,null==(e=this.manager)||e.update(),null==(t=this.room)||t.enableSmall(!1))}listenDeviceChange(){wL&&!wL.listeners("videoInputRemoved").includes(this.handleCameraRemoved)&&wL.on("videoInputRemoved",this.handleCameraRemoved,this)}handleCameraRemoved(e){return Gb(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn("current camera is lost: ".concat(JSON.stringify(e))),iF(this.userId,{eventId:2003,param1:7,streamType:2});let t=yield kL();t[0]?this.recapture(t[0].deviceId):wL.on("videoInputAdded",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return Gb(this,null,(function*(){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 nD(this.mirror)&&!this.isScreen&&this.setMirror("view"),super.play(e,t)}close(){wL.off("videoInputAdded",this.handleCameraAdded,this),wL.off("videoInputRemoved",this.handleCameraRemoved,this),super.close()}recapture(t){return Gb(this,null,(function*(){try{yield jb(e.prototype,this,"recapture").call(this,t)}catch(dN){let i=(yield kL()).find((e=>e.deviceId!==t));if(!i)throw dN;yield jb(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||nD(e)||e!==this.rotation&&(this.rotation=e,this.manager.rotation=e))}};Hb([JL((function(e){this.setContentHint(e.contentHint||"motion")}))],dx.prototype,"capture",1);var hx=dx,px=$k();if("undefined"!=typeof navigator&&navigator.mediaDevices&&"setCaptureHandleConfig"in navigator.mediaDevices)try{navigator.mediaDevices.setCaptureHandleConfig({handle:px,exposeOrigin:!0,permittedOrigins:["*"]})}catch(xF){}var mx=function(e){return Gb(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:gk?{max:e.width}:{ideal:e.width,max:e.width},height:gk?{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);Xk.info("getDisplayMedia with constraints: ".concat(JSON.stringify(r)));let i=yield navigator.mediaDevices.getDisplayMedia(r);e.systemAudio&&0===i.getAudioTracks().length&&(pk&&fk<74||gk||mC)&&Xk.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(cO){Xk.warn("screen applyConstraints failed: ".concat(cO))}e.captureElement&&(yield function(e,t){return Gb(this,null,(function*(){var r;if("CropTarget"in window&&"fromElement"in CropTarget&&oD(e.cropTo))try{if((null==(r=e.getCaptureHandle())?void 0:r.handle)!==px)return;let i=yield CropTarget.fromElement(t);yield e.cropTo(i)}catch(i){Xk.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 nD(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);Xk.info("getUserMedia with constraints: ".concat(JSON.stringify(r))),t=yield navigator.mediaDevices.getUserMedia(r),i.addTrack(t.getAudioTracks()[0])}return i}))},fx=class extends hx{constructor(e){super(e,2),Wb(this,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),Wb(this,"objectFit","contain"),Wb(this,"isScreen",!0),this._log.id="s-".concat(this._log.id)}get isShareCurrentTab(){var e,t;try{return px===(null==(t=null==(e=this.mediaTrack)?void 0:e.getCaptureHandle())?void 0:t.handle)}catch(nO){return}}capture(e){return Gb(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 mx({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}),yield t.setInputMediaStreamTrack(e.getVideoTracks()[0]),e}catch(e){throw t.log.error("getDisplayMedia error observed ".concat(e)),e instanceof Zb?e:new Zb({code:$b.INITIALIZE_FAILED,name:e.name,message:e.message})}}()}))}switchDevice(e){return Gb(this,null,(function*(){throw new Error("Method not implemented.")}))}};Hb([JL((function(e){this.setContentHint(e.contentHint||"detail")}))],fx.prototype,"capture",1);var _x,gx=class extends cx{constructor(e){super(e),this._log.id="s-".concat(this._log.id)}addAudioProcessor(e,t,r,i){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(i),this.enableTrackAEC(!1)}removeAudioProcessor(e,t,r,i){this.pipeline.aec.node===i&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode(),this.enableTrackAEC(!0))}};function Ex(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 Gb(this,null,(function*(){let o=dL();_x||(_x=oL(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 _x;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 vx=class extends _L{constructor(e){super(),this.room=e,Wb(this,"_localAudioTrack"),Wb(this,"_localScreenAudioTrack"),Wb(this,"log",Xk.createLogger({id:"am"})),Wb(this,"denoiser"),Wb(this,"voiceChanger"),Wb(this,"mixChangedDebounce"),Wb(this,"audioProcessor"),Wb(this,"encodePipeline",[]),Wb(this,"decodePipeline",[]),Wb(this,"getPCMAbortCtrlMap",new Map),Wb(this,"audioFrameEventConfigMap",new Map),Wb(this,"audioReferenceMap",new Map),Wb(this,"isLocalAudioNeedAudioProcess",!1),Wb(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=Ex(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(nD(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,u,d=Math.floor(.04*a),h=new Float32Array(d),p=new Float32Array(d),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 Ex([dL().createMediaStreamSource(new MediaStream([_]))],a,s,c).then((r=>r.pipeTo(new WritableStream({write(r){r[0][0]&&(m+r[0][0].length>d?(h.set(r[0][0].subarray(0,d-m),m),l=r[0][0].subarray(d-m),r[0][1]&&(p.set(r[0][1].subarray(0,d-m),m),u=r[0][1].subarray(d-m)),m+=d-m):(l&&(h.set(l,m),m+=l.length,l=void 0),u&&(p.set(u,m),u=void 0),h.set(r[0][0],m),r[0][1]&&p.set(r[0][1],m),m+=r[0][0].length),m>=d&&(m=0,e({userId:t,sampleRate:a,channelCount:s,data:1===s?h:[h,p]}),h=new Float32Array(d),p=new Float32Array(d)))}}),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!nD(this._localScreenAudioTrack)}get hasAudioTrack(){return!nD(this._localAudioTrack)}changeInput(e){return e instanceof gx?(this._localScreenAudioTrack=e,this.isScreenAudioNeedAudioProcess&&this.audioProcessor&&(e.addAudioProcessor(...this.audioProcessor),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof cx?(this._localAudioTrack=e,this.denoiser&&e.addDenoiser(this.denoiser),this.isLocalAudioNeedAudioProcess&&this.audioProcessor&&(e.addAudioProcessor(...this.audioProcessor),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof LV?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 gx?delete this._localScreenAudioTrack:e instanceof cx&&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=[e,t,r,i],this.isLocalAudioNeedAudioProcess&&this._localAudioTrack&&(this._localAudioTrack.addAudioProcessor(...this.audioProcessor),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}))),this.isScreenAudioNeedAudioProcess&&this._localScreenAudioTrack&&(null==(o=this._localScreenAudioTrack)||o.addAudioProcessor(...this.audioProcessor),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localScreenAudioTrack)||r.mixAudioReference(e,t)})))}removeDenoiser(e){var t;delete this.denoiser,null==(t=this._localAudioTrack)||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,r,i){var o;delete this.audioProcessor,null==(o=this._localAudioTrack)||o.removeAudioProcessor(e,t,r,i)}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(){zk.on("113",this.handleLocalTrackStarted,this),zk.on("114",this.handleLocalTrackStopped,this),zk.on("115",this.handleRemoteTrackStarted,this),zk.on("116",this.handleRemoteTrackStopped,this)}uninstallEvent(){zk.off("113",this.handleLocalTrackStarted),zk.off("114",this.handleLocalTrackStopped),zk.off("115",this.handleRemoteTrackStarted),zk.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||nD(o))return;this.setAudioReferenceVolume(i,o)}}};var yx={};function Tx(){}Fb(yx,{Events:()=>xx,Inspect:()=>wx,LastSink:()=>Nx,Sink:()=>Dx,Subscribe:()=>Cx,TimeoutError:()=>Ux,audit:()=>HU,bindCallback:()=>_U,bindNodeCallback:()=>gU,buffer:()=>Xx,bufferCount:()=>Jx,bufferTime:()=>SV,call:()=>Ix,catchError:()=>bV,combineLatest:()=>Kx,concat:()=>Wx,concatMap:()=>hV,concatMapTo:()=>pV,count:()=>AU,create:()=>Ox,debounce:()=>GU,debounceTime:()=>KU,defer:()=>Zx,delay:()=>RV,deliver:()=>Mx,dispose:()=>Sx,elementAt:()=>zU,empty:()=>yU,every:()=>$U,exhaustMap:()=>yV,exhaustMapTo:()=>TV,filter:()=>wU,find:()=>qU,findIndex:()=>YU,first:()=>JU,fromAnimationFrame:()=>mU,fromArray:()=>iU,fromEvent:()=>cU,fromEventPattern:()=>sU,fromFetch:()=>uU,fromIterable:()=>dU,fromPromise:()=>lU,fromReadableStream:()=>pU,fromReader:()=>hU,groupBy:()=>IV,identity:()=>Ax,ignoreElements:()=>NU,iif:()=>Gx,inspect:()=>Rx,interval:()=>oU,last:()=>XU,map:()=>tV,mapTo:()=>rV,max:()=>SU,merge:()=>Bx,mergeMap:()=>_V,mergeMapTo:()=>gV,min:()=>RU,never:()=>EU,nothing:()=>Tx,of:()=>rU,pairwise:()=>ZU,pipe:()=>kx,race:()=>Hx,range:()=>fU,reduce:()=>IU,retry:()=>OV,scan:()=>QU,share:()=>Fx,shareReplay:()=>jx,skip:()=>MU,skipUntil:()=>PU,skipWhile:()=>LU,startWith:()=>qx,subject:()=>Qx,subscribe:()=>DV,sum:()=>bU,switchMap:()=>sV,switchMapTo:()=>lV,take:()=>DU,takeLast:()=>OU,takeUntil:()=>CU,takeWhile:()=>kU,tap:()=>CV,throttle:()=>FU,throwError:()=>vU,timeInterval:()=>AV,timeout:()=>kV,timer:()=>nU,toPromise:()=>wV,toReadableStream:()=>NV,withLatestFrom:()=>Yx,zip:()=>zx});var Ix=e=>e(),Ax=e=>e;function Sx(){this.dispose()}var Rx=()=>"undefined"!=typeof __FASTRX_DEVTOOLS__,bx=1,wx=class extends Function{toString(){return"".concat(this.name,"(").concat(this.args.length?[...this.args].join(", "):"",")")}subscribe(e){let t=new Lx(e,this,this.streamId++);return xx.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},Nx=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=Tx,this.error=Tx,this.next=Tx,this.dispose=Tx,this.subscribe=Tx,this.doDefer()}subscribe(e){return e instanceof wx?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(Ix),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}},Dx=class extends Nx{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)}},Cx=class extends Nx{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Tx,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Tx,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Tx;if(super(),this._next=t,this._error=r,this._complete=i,this.then=Tx,e instanceof wx){let o={toString:()=>"subscribe",id:0,source:e};this.defer((()=>{xx.defer(o,0)})),xx.create(o),xx.pipe(o),this.sourceId=o.id,this.subscribe(e),xx.subscribe({id:o.id,end:!0}),t==Tx?this._next=e=>xx.next(o,0,e):this.next=e=>{xx.next(o,0,e),t(e)},i==Tx?this._complete=()=>xx.complete(o,0):this.complete=()=>{this.dispose(),xx.complete(o,0),i()},r==Tx?this._error=e=>xx.complete(o,0,e):this.error=e=>{this.dispose(),xx.complete(o,0,e),r()}}else this.subscribe(e)}next(e){this._next(e)}complete(){this.dispose(),this._complete()}error(e){this.dispose(),this._error(e)}};function kx(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 Ox(e,t,r){if(Rx()){let i=Object.defineProperties(Object.setPrototypeOf(e,wx.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}});xx.create(i);for(let e=0;e<r.length;e++){let t=r[e];"function"==typeof t&&t instanceof wx&&xx.addSource(i,t)}return i}return e}function Mx(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 wx){let o=Ox((t=>{let n=new e(t,...i);n.sourceId=o.id,n.subscribe(r)}),t,arguments);return o.source=r,xx.pipe(o),o}return t=>r(new e(t,...i))}}}function Px(e,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:e,payload:t}})}var Lx=class extends Dx{constructor(e,t,r){super(e),this.source=t,this.id=r,this.sourceId=e.sourceId,this.defer((()=>{xx.defer(this.source,this.id)}))}next(e){xx.next(this.source,this.id,e),this.sink.next(e)}complete(){xx.complete(this.source,this.id),this.sink.complete()}error(e){xx.complete(this.source,this.id,e),this.sink.error(e)}},xx={addSource(e,t){Px("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,r){Px("next",{id:e.id,streamId:t,data:r&&r.toString()})},subscribe(e,t){let{id:r,end:i}=e;Px("subscribe",{id:r,end:i,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,r){Px("complete",{id:e.id,streamId:t,err:r?r.toString():null})},defer(e,t){Px("defer",{id:e.id,streamId:t})},pipe(e){Px("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){Px("update",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=bx++),Px("create",{name:e.toString(),id:e.id})}},Ux=class extends Error{constructor(e){super("timeout after ".concat(e,"ms")),this.timeout=e}},Vx=class extends Nx{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 Fx(){return e=>{let t=new Vx(e);if(e instanceof wx){let r=Ox((e=>{t.add(e)}),"share",arguments);return t.sourceId=r.id,r.source=e,xx.pipe(r),r}return Ox(t.add.bind(t),"share",arguments)}}function Bx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Ox((e=>{let r=new Dx(e),i=t.length;r.complete=()=>{0==--i&&e.complete()},t.forEach(r.bindSubscribe)}),"merge",arguments)}function Hx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Ox((e=>{let r=new Map;t.forEach((t=>{let i=new Dx(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 Wx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Ox((e=>{let r=0,i=t.length,o=new Dx(e);o.complete=()=>{r<i&&!o.disposed?(o.doDefer(),o.subscribe(t[r++])):e.complete()},o.complete()}),"concat",arguments)}function jx(e){return t=>{let r=new Vx(t),i=[];return r.next=function(t){i.push(t),i.length>e&&i.shift(),this.sinks.forEach((e=>e.next(t)))},Ox((e=>{e.defer((()=>r.remove(e))),i.forEach((t=>e.next(t))),r.add(e)}),"shareReplay",arguments)}}function Gx(e,t,r){return Ox((i=>e()?t(i):r(i)),"iif",arguments)}function Kx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Ox((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 Dx(e);o.next=t=>{0==--i?(o.next=t=>{n[r]=t,e.next(n)},o.next(t)):n[r]=t},o.complete=a,o.subscribe(t)}))}),"combineLatest",arguments)}function zx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Ox((e=>{let r=t.length,i=r,o=new Array(r),n=()=>{0==--i&&e.complete()};t.forEach(((t,r)=>{let i=new Dx(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 qx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>Ox((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 Yx=Mx(class extends Dx{constructor(e){super(e);let t=new Dx(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=Tx,t.subscribe(Kx(...i))}next(e){this.buffer&&this.sink.next([e,...this.buffer])}},"withLatestFrom"),Jx=Mx(class extends Dx{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"),Xx=Mx(class extends Dx{constructor(e,t){super(e),this.buffer=[];let r=new Dx(e);r.next=t=>{e.next(this.buffer),this.buffer=[]},r.complete=Tx,r.subscribe(t)}next(e){this.buffer.push(e)}complete(){this.buffer.length&&this.sink.next(this.buffer),super.complete()}},"buffer"),$x=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 Qx(e){let t=arguments,r=Fx()(Ox((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=Tx,r.complete=Tx,r.error=Tx,r}function Zx(e){return Ox((t=>t.subscribe(e())),"defer",arguments)}var eU=e=>t=>{setTimeout((()=>e(t)))},tU=e=>eU((t=>{for(let r=0;!t.disposed&&r<e.length;r++)t.next(e[r]);t.complete()}));function rU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Ox(tU(t),"of",arguments)}function iU(e){return Ox(tU(e),"fromArray",arguments)}function oU(e){return Ox((t=>{let r=0,i=setInterval((()=>t.next(r++)),e);return t.defer((()=>{clearInterval(i)})),"interval"}),"interval",arguments)}function nU(e,t){return Ox((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 aU(e,t){return r=>{let i=e=>r.next(e);r.defer((()=>t(i))),e(i)}}function sU(e,t){return Ox(aU(e,t),"fromEventPattern",arguments)}function cU(e,t){if("on"in e&&"off"in e)return Ox(aU((r=>e.on(t,r)),(r=>e.off(t,r))),"fromEvent",arguments);if("addListener"in e&&"removeListener"in e)return Ox(aU((r=>e.addListener(t,r)),(r=>e.removeListener(t,r))),"fromEvent",arguments);if("addEventListener"in e)return Ox(aU((r=>e.addEventListener(t,r)),(r=>e.removeEventListener(t,r))),"fromEvent",arguments);throw"target is not a EventDispachter"}function lU(e){return Ox((t=>{e.then(t.next.bind(t),t.error.bind(t))}),"fromPromise",arguments)}function uU(e,t){return Ox(Zx((()=>lU(fetch(e,t)))),"fromFetch",arguments)}function dU(e){return Ox(eU((t=>{try{for(let r of e){if(t.disposed)return;t.next(r)}t.complete()}catch(cw){t.error(cw)}})),"fromIterable",arguments)}function hU(e){let t=r=>$x(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 Ox((e=>{t(e)}),"fromReader",arguments)}function pU(e){return Ox((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 mU(){return Ox((e=>{let t=requestAnimationFrame((function r(i){e.disposed||(e.next(i),t=requestAnimationFrame(r))}));e.defer((()=>cancelAnimationFrame(t)))}),"fromAnimationFrame",arguments)}function fU(e,t){return Ox((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 _U(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 Ox((r=>{let o=i.concat((e=>(r.next(e),r.complete())));e.apply(t,o)}),"bindCallback",arguments)}function gU(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 Ox((r=>{let o=i.concat(((e,t)=>e?r.error(e):(r.next(t),r.complete())));e.apply(t,o)}),"bindNodeCallback",arguments)}function EU(){return Ox((()=>{}),"never",arguments)}function vU(e){return Ox((t=>t.error(e)),"throwError",arguments)}function yU(){return Ox((e=>e.complete()),"empty",arguments)}var TU=class extends Dx{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)}},IU=Mx(TU,"reduce"),AU=e=>Mx(TU,"count")(((t,r)=>e(r)?t+1:t),0),SU=()=>Mx(TU,"max")(Math.max),RU=()=>Mx(TU,"min")(Math.min),bU=()=>Mx(TU,"sum")(((e,t)=>e+t),0),wU=Mx(class extends Dx{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"),NU=Mx(class extends Dx{next(e){}},"ignoreElements"),DU=Mx(class extends Dx{constructor(e,t){super(e),this.count=t}next(e){this.sink.next(e),0==--this.count&&this.complete()}},"take"),CU=Mx(class extends Dx{constructor(e,t){super(e);let r=new Dx(e);r.next=()=>e.complete(),r.complete=Sx,r.subscribe(t)}},"takeUntil"),kU=Mx(class extends Dx{constructor(e,t){super(e),this.f=t}next(e){this.f(e)?this.sink.next(e):this.complete()}},"takeWhile"),OU=e=>IU(((t,r)=>(t.push(r),t.length>e&&t.shift(),t)),[]),MU=Mx(class extends Dx{constructor(e,t){super(e),this.count=t}next(e){0==--this.count&&(this.next=super.next)}},"skip"),PU=Mx(class extends Dx{constructor(e,t){super(e),e.next=Tx;let r=new Dx(e);r.next=()=>{r.dispose(),e.resetNext()},r.complete=Sx,r.subscribe(t)}},"skipUntil"),LU=Mx(class extends Dx{constructor(e,t){super(e),this.f=t}next(e){this.f(e)||(this.next=super.next,this.next(e))}},"skipWhile"),xU={leading:!0,trailing:!1},UU=class extends Dx{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)}},VU=class extends Dx{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:xU;super(e),this.durationSelector=t,this.config=r,this._throttle=new UU(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=Tx,this._throttle.complete(),super.complete()}},FU=Mx(VU,"throttle"),BU={leading:!1,trailing:!0},HU=e=>Mx(VU,"audit")(e,BU),WU=class extends Dx{next(){this.complete()}complete(){this.dispose(),this.sink.next(this.last)}},jU=class extends Dx{constructor(e,t){super(e),this.durationSelector=t,this._debounce=new WU(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()}},GU=Mx(jU,"debounce"),KU=e=>Mx(jU,"debounceTime")((t=>nU(e))),zU=Mx(class extends Dx{constructor(e,t,r){super(e),this.count=t,this.defaultValue=r}next(e){0==this.count--&&(this.defaultValue=e,this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("not enough elements in sequence"))}},"elementAt"),qU=e=>t=>DU(1)(LU((t=>!e(t)))(t)),YU=Mx(class extends Dx{constructor(e,t){super(e),this.f=t,this.i=0}next(e){this.f(e)?(this.sink.next(this.i++),this.complete()):++this.i}},"findIndex"),JU=Mx(class extends Dx{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.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"first"),XU=Mx(class extends Dx{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"),$U=Mx(class extends Dx{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.complete())}complete(){void 0!==this.result?(this.sink.next(this.result),super.complete()):this.error(new Error("no elements in sequence"))}},"every"),QU=Mx(class extends Dx{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"),ZU=Mx(class extends Dx{constructor(){super(...arguments),this.hasLast=!1}next(e){this.hasLast?this.sink.next([this.last,e]):this.hasLast=!0,this.last=e}},"pairwise"),eV=class extends Dx{constructor(e,t,r){super(e),this.mapper=t,this.thisArg=r}next(e){super.next(this.mapper.call(this.thisArg,e))}},tV=Mx(eV,"map"),rV=e=>Mx(eV,"mapTo")((t=>e)),iV=class extends Dx{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()}},oV=class extends Dx{constructor(e,t,r){super(e),this.makeSource=t,this.combineResults=r,this.index=0}subInner(e,t){let r=this.currentSink=new t(this.sink,e,this);this.complete=this.tryComplete,r.complete=r.tryComplete,r.subscribe(this.makeSource(e,this.index++))}tryComplete(){this.currentSink.resetComplete(),this.dispose()}},nV=class extends iV{},aV=class extends oV{next(e){this.subInner(e,nV),this.next=e=>{this.currentSink.dispose(),this.subInner(e,nV)}}},sV=Mx(aV,"switchMap");function cV(e){return(t,r)=>e((()=>t),r)}var lV=cV(Mx(aV,"switchMapTo")),uV=class extends iV{tryComplete(){this.dispose(),this.context.sources.length?this.context.subNext():(this.context.resetNext(),this.context.resetComplete())}},dV=class extends oV{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(),uV),this.disposed&&0===this.sources.length&&this.currentSink.resetComplete()}tryComplete(){0===this.sources.length&&this.currentSink.resetComplete(),this.dispose()}},hV=Mx(dV,"concatMap"),pV=cV(Mx(dV,"concatMapTo")),mV=class extends iV{tryComplete(){this.context.inners.delete(this),super.dispose(),0===this.context.inners.size&&this.context.resetComplete()}},fV=class extends oV{constructor(){super(...arguments),this.inners=new Set}next(e){this.subInner(e,mV),this.inners.add(this.currentSink)}tryComplete(){1===this.inners.size?this.inners.forEach((e=>e.resetComplete())):this.dispose()}},_V=Mx(fV,"mergeMap"),gV=cV(Mx(fV,"mergeMapTo")),EV=class extends iV{dispose(){this.context.resetNext(),super.dispose()}},vV=class extends oV{next(e){this.next=Tx,this.subInner(e,EV)}},yV=Mx(vV,"exhaustMap"),TV=cV(Mx(vV,"exhaustMapTo")),IV=Mx(class extends Dx{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=Qx(),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"),AV=Mx(class extends Dx{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"),SV=Mx(class extends Dx{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"),RV=Mx(class extends Dx{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"),bV=Mx(class extends Dx{constructor(e,t){super(e),this.selector=t}error(e){this.dispose(),this.selector(e)(this.sink)}},"catchError"),wV=()=>e=>new Promise(((t,r)=>{let i;new Cx(e,(e=>i=e),r,(()=>t(i)))})),NV=()=>e=>{let t;return new ReadableStream({start(r){t=new Cx(e,r.enqueue.bind(r),r.error.bind(r),r.close.bind(r))},cancel(){t.dispose()}})},DV=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Tx,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Tx,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Tx;return i=>new Cx(i,e,t,r)},CV=Mx(class extends Dx{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"),kV=Mx(class extends Dx{constructor(e,t){super(e),this.timeout=t,this.id=setTimeout((()=>this.error(new Ux(this.timeout))),this.timeout)}next(e){super.next(e),clearTimeout(this.id),this.next=super.next}dispose(){clearTimeout(this.id),super.dispose()}},"timeout"),OV=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;return t=>{if(t instanceof wx){let r=Ox((i=>{let o=e,n=new Dx(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,xx.pipe(r),r}return r=>{let i=e,o=new Dx(r);o.error=e=>{i-- >0?t(o):r.error(e)},t(o)}}},MV=class e extends HL{constructor(t,r,i){super({userId:r.userId,sdkAppId:t.sdkAppId,mediaType:i,room:t}),this.room=t,this.user=r,Wb(this,"tinyId"),Wb(this,"isRemote",!0),Wb(this,"jitterBufferDelay",0),Wb(this,"availableState"),Wb(this,"remotePublishState"),Wb(this,"_triggerCheckDecodeSubject",Qx(cU(this,e.STATE_SUBSCRIBE))),this.tinyId=r.tinyId,this.availableState=new vP("".concat(r.userId,"-").concat(this.mediaType,"-available"),"remote-track-available"),this.remotePublishState=new vP("".concat(r.userId,"-").concat(this.mediaType,"-remote-publish"),"remote-track-publish"),kx(Bx(cU(this,vP.STATECHANGED),cU(this.remotePublishState,vP.STATECHANGED)),tV((()=>this.isRemotePublished&&(this.isSubscribed||this.isSubscribing))),DV((e=>{this.availableState.state!==(e?vP.ON:vP.OFF)&&(this.availableState.state=e?vP.ON:vP.OFF),this.updatePlayingState(e)})));let o=kx(cU(this.player,bP.ERROR),wU((e=>e.code===MediaError.MEDIA_ERR_DECODE))),n=kx(nU(5e3),wU((()=>!(this.ignoreDecodeError||!this.isSubscribed||!this.isPlayCalled||!this.stat.bytesReceived)&&(!this.player.isPlaying&&!(this.kind===Uw.AUDIO?this.getAudioLevel()>0:this.stat.framesDecoded>0)||(this.reportDecodeResult(!0),!1))))),a=kx(Hx(o,n),CU(cU(this,vP.INIT)));kx(this._triggerCheckDecodeSubject,wU((()=>!this.ignoreDecodeError)),lV(a),DV((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===vP.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){let r=this.kind===Uw.AUDIO;fM[e?"addSuccessEvent":"addFailedEvent"]({key:r?504700:514702}),e||(fM.addEnum({key:r?504701:514703,value:Hk()}),kP.uploadEvent({log:"stat-decode-failed-".concat(this.kind,"-").concat(Vk()||Wk()),userId:this.room.userId}),this._log.warn("decode failed: isPlaying: ".concat(this.player.isPlaying," ").concat(this.kind===Uw.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?vP.ON:vP.OFF}onTrackMuted(){this.isNeedPlay&&super.onTrackMuted()}onTrackUnmuted(){this.isNeedPlay&&super.onTrackUnmuted()}onTrackEnded(){this.isNeedPlay&&super.onTrackEnded()}};Wb(MV,"STATE_SUBSCRIBE","subscribe"),Hb([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 XL(((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 Zb({code:$b.API_CALL_TIMEOUT,message:"checkPendingPromise ".concat(i,"() timeout ").concat(e,"s")});Xk.warn(r),2===t?a(r):1===t&&o()}),1e3*e);r.apply(this,n).then(o,a).finally((()=>{clearTimeout(s)}))}))}))}(5,1)],MV.prototype,"waitHasMediaTrack",1),Hb([_P(vP.INIT,MV.STATE_SUBSCRIBE,{success(){this.log.info("subscribed"),zk.emit(Yk.REMOTE_TRACK_SUBSCRIBED,{track:this})},ignoreError:!0}),ox(521716,!1)],MV.prototype,"subscribe",1),Hb([_P(MV.STATE_SUBSCRIBE,vP.INIT,{sync:!0,success(){this.log.info("unsubscribed"),zk.emit(Yk.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],MV.prototype,"unsubscribe",1);var PV=MV,LV=class extends PV{constructor(e,t){super(e,t,1),Wb(this,"volume",0),Wb(this,"mediaType",1),Wb(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}get dbVolume(){return IL.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}decodeFrame(e){if(!this.manager)return e;let t=e;for(let r of this.manager.decodePipeline)if(r&&(t=r({frame:t,track:this}),!t))return;return t}getAudioLevel(){let e=this.volume||super.getAudioLevel();return e>1?1:e}get isRemotePublished(){return this.user.muteState.audioAvailable}},xV=[-1,-1,1,-1,-1,1,1,1],UV=[0,0,1,0,0,1,1,1],VV=class extends vP{constructor(e,t){if(super(),this.context=e,Wb(this,"name"),Wb(this,"input"),Wb(this,"output"),Wb(this,"texture"),Wb(this,"ctx2d",null),Wb(this,"fbo"),Wb(this,"width",0),Wb(this,"height",0),Wb(this,"x",0),Wb(this,"y",0),Wb(this,"program"),Wb(this,"vertexShader"),Wb(this,"fragmentShader"),Wb(this,"totalFrames",0),Wb(this,"dropFrames",0),Wb(this,"matchInputSize",!0),Wb(this,"texCoordBuffer"),Wb(this,"positionBuffer"),Wb(this,"lastInfo",{name:"",timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),Wb(this,"cost",0),Wb(this,"_canvas",null),Wb(this,"_image"),Wb(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 ZV)e.ctx&&t.create2d&&("function"==typeof OffscreenCanvas&&16!==Ak?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(UV),this.positionBuffer=this.createBuffer(xV),!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.PACK_ALIGNMENT,1),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(nO){this.context.destroy(new Zb({code:$b.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(nO.message||nO)}))}}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 QV&&this.render(e)||this.context instanceof ZV&&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 QV){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(e,t,r,i,o){return!(!this.ctx2d||!e)&&(e instanceof ImageData?this.ctx2d.putImageData(e,t,r):(this.ctx2d.drawImage(e,t,r,i,o),"undefined"!=typeof VideoFrame&&e instanceof VideoFrame&&e.close()),!0)}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.PACK_ALIGNMENT,1),t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),r}};Hb([_P(vP.INIT,"connected",{sync:!0})],VV.prototype,"connect",1),Hb([_P("connected",vP.INIT,{ignoreError:!0,sync:!0})],VV.prototype,"disconnect",1),Hb([_P([],"closed",{sync:!0})],VV.prototype,"close",1);var FV=kx(oU(250),tV((()=>performance.now())),Fx()),BV=e=>t=>{let r=performance.now();kx(FV,LU((t=>t-r<e)),DU(1))(t)},HV=[0,1,1,1,0,0,1,0],WV=class extends VV{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},t)),Wb(this,"_intervalId",0),Wb(this,"_sequence",0),Wb(this,"checkGLError",!1),Wb(this,"checkVisibilityChange"),e instanceof ZV?this.ctx2d=e.ctx||null:e.available&&null!=t&&t.mirrorUpAndDown&&this.setTexBuffer(HV)}start(e){this.log.info("".concat(this.name," start render ").concat(e," fps")),RP.clearTask(this._intervalId),this._intervalId=RP.run("intervalInWorker",(()=>{if(e!==this.context.frameRate&&(RP.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++),this.checkGLError&&this.context instanceof QV){let e=this.context.ctx.getError();e&&this.context.destroy(new Zb({code:$b.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(),!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;if(this._intervalId&&(RP.clearTask(this._intervalId),this._intervalId=0,1===e)){this.log.info("".concat(this.name," use requestVideoFrameCallback"));let e=()=>{document.hidden&&(this.start(this.context.frameRate),this.log.info("".concat(this.name," use timer")),document.removeEventListener("visibilitychange",e))};document.addEventListener("visibilitychange",e)}this.requestFrame(this._sequence++)}removeInput(e){super.removeInput(e),RP.clearTask(this._intervalId)}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}close(){super.close(),RP.clearTask(this._intervalId),document.removeEventListener("visibilitychange",this.checkVisibilityChange)}},jV=class extends WV{constructor(e,t){super(e,t),Wb(this,"_videoTrack"),Wb(this,"_muteOb"),Wb(this,"_closedOb",cU(this,"closed")),Wb(this,"_subscription"),Wb(this,"_canvasContainer"),Number(vk)<17&&(this._canvasContainer=document.createElement("div"),this._canvasContainer.style.display="none"),[this._videoTrack]=e._canvas.captureStream().getVideoTracks(),this._muteOb=cU(this._videoTrack,"mute"),kx(cU(this._videoTrack,"ended"),CU(this._closedOb),DV((()=>{this.context.destroy(new Zb({code:$b.VIDEO_MANAGER_ERROR,extraCode:8,message:"video track ended"}))})))}enableCheckMute(){this._subscription=kx(this._muteOb,CU(this._closedOb),lV(BV(5e3)),wU((()=>{var e;return!(null==(e=this._videoTrack)||!e.muted||document.hidden)})),DV((()=>{this.context.destroy(new Zb({code:$b.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()}},GV=class extends jV{render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))}},KV=class extends jV{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))}},zV=class extends VV{constructor(e,t){super(e,xb({name:"imageSource"},t)),Wb(this,"_lastImage"),Wb(this,"_totalFrames",0),Wb(this,"_autoResize",!1),Wb(this,"_canvasRendered"),Wb(this,"_videoCallbackId",0),Wb(this,"waitingFirstFrame",!0),Wb(this,"shouldUpdate",!0),this._autoResize=!1!==(null==t?void 0:t.autoResize),16===Ak&&(this._canvasRendered=Qx(),kx(this._canvasRendered,qx(this._image),sV((e=>e instanceof HTMLCanvasElement?cU(e,"rendered"):yU())),CU(cU(this,"closed")),DV((()=>{this.update()}))))}onFirstFrame(){this.waitingFirstFrame=!1}tryVideoFrameCallback(){if(!this.shouldUpdate)return;let e=this.image;this._videoCallbackId&&e.cancelVideoFrameCallback(this._videoCallbackId),cP()&&!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!1}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)}},qV=class extends zV{constructor(e,t,r){super(e,r),this._player=t,this.name="videoPlayerSource",kx(cU(this._player,bP.PLAYER_STATE_CHANGED),CU(cU(this,"closed")),wU((e=>{let{state:t}=e;return"PLAYING"===t})),DV((()=>{this.tryVideoFrameCallback()})))}get image(){return this._player.element}},YV=class extends qV{get available(){return this._player.isPlaying&&!this.waitingFirstFrame}constructor(e,t,r){super(e,new iL({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()}},JV=class extends vP{constructor(e){super(),Wb(this,"frameRate"),Wb(this,"_canvas"),Wb(this,"log"),Wb(this,"hasAlpha",!1),Wb(this,"name"),Wb(this,"error"),this.name=e.name,this.log=e.logger.createChild({id:"vc-".concat(this.name)}),this.frameRate=e.frameRate}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 YV(this,e,{logger:this.log,name:t})}createVideoTrackDestination(e){return new jV(this,e)}createVideoImageSource(e,t){return new zV(this,t?Object.assign(t,{logger:this.log,image:e}):{logger:this.log,image:e})}createVideoPlayerSource(e,t){return new qV(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}get available(){return"created"===this.state}disconnect(){this.emit("disconnect")}};Wb(JV,"_ids",0);var XV={alpha:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0,powerPreference:"low-power"},$V=class extends JV{constructor(){super(...arguments),Wb(this,"defaultProgam"),Wb(this,"defaultVShader"),Wb(this,"defaultFShader"),Wb(this,"ctx")}create(){if(this._canvas||(this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(JV._ids++)),this.ctx=this._canvas.getContext("webgl2",XV),!this.ctx)throw new Zb({code:$b.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 Zb({code:$b.VIDEO_MANAGER_ERROR,extraCode:4,message:"webgl context lost"}))}))}destroy(e){let t="";return e&&(t=e.message,this.error=e,fM.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}set height(e){var t;null==(t=this.ctx)||t.viewport(0,0,this.width,e),super.height=e}setSize(e,t){var r;null==(r=this.ctx)||r.viewport(0,0,e,t),super.setSize(e,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}};Wb($V,"UNAVAILABLE","unavailable"),Hb([_P(vP.INIT,"created",{sync:!0,fail(e){this.log.error("video gl context create failed",e.cause),fM.addFailedEvent({key:512700,error:e.cause||e})},success(){this.log.info("video context created use webgl"),fM.addSuccessEvent({key:512700})}})],$V.prototype,"create",1),Hb([_P("created",vP.INIT,{ignoreError:!0,sync:!0,success(e){e&&this.emit($V.UNAVAILABLE,e),this.removeAllListeners()}})],$V.prototype,"destroy",1);var QV=$V,ZV=class extends JV{constructor(){super(...arguments),Wb(this,"ctx")}create(e){if(this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(JV._ids++),this.ctx=this._canvas.getContext("2d",{alpha:e.alpha}),!this.ctx)throw new Zb({code:$b.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,fM.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(),fM.addSuccessEvent({key:512703})}};Hb([_P(vP.INIT,"created",{sync:!0,fail(e){this.log.error("video 2d context create failed",e.cause),fM.addFailedEvent({key:512701,error:e.cause||e})},success(){this.log.info("video context created use 2d"),fM.addSuccessEvent({key:512701})}})],ZV.prototype,"create",1),Hb([_P("created",vP.INIT,{ignoreError:!0,sync:!0})],ZV.prototype,"destroy",1);var eF=class extends PV{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),Wb(this,"mediaType",4),Wb(this,"source"),Wb(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(cD(null==t?void 0:t.canvasRender)?t.canvasRender:17===Ak)&&!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 ZV({frameRate:15,logger:this.log,name:this.userId});e.create({alpha:!1});let t=new WV(e,{name:"remotePlayer",logger:this.log});this.source=e.createVideoPlayerSource(this.player),this.source.connect(t),this.player.setCanvas(e._canvas),cP()||(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;!sD(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)}},tF=class extends eF{constructor(e,t){super(e,t,2),Wb(this,"mediaType",2),Wb(this,"objectFit","contain")}get isRemotePublished(){return this.user.muteState.hasAuxiliary}},rF=new Map;function iF(e,t){let r=Ub(xb({},t),{timestamp:ew()});rF.has(e)?rF.get(e).push(r):rF.set(e,[r])}function oF(e){if(rF.has(e)){let t=rF.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 rF.delete(e),t}return[]}function nF(e,t,r,i){try{if(uD(e))for(let o=0;o<e.length;o++)aF.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else aF.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}catch(nO){throw Xk.error(nO),nO}}function aF(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;if(nD(r)){if(t.required)throw new Zb({code:$b.INVALID_PARAMETER,message:nM({key:tM.INVALID_PARAMETER_REQUIRED,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(nD(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),oD(t.type[i])&&r instanceof t.type[i]&&(e=!0),aD(t.type[i])&&iD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new Zb({code:$b.INVALID_PARAMETER,message:nM({key:tM.INVALID_PARAMETER_TYPE,data:{key:i,rule:{type:t.type.map((e=>mD(e)?fD(e):aD(e)?e:iD(e)))},fnName:o,value:r},link:{className:n,fnName:o}})})}else if(!nD(t.type)&&iD(r)!==t.type)throw new Zb({code:$b.INVALID_PARAMETER,message:nM({key:tM.INVALID_PARAMETER_TYPE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!1===t.allowEmpty){let e=sD(r)&&(0===r||Number.isNaN(r)),a=aD(r)&&""===r.trim();if(e||a)throw new Zb({code:$b.INVALID_PARAMETER,message:nM({key:tM.INVALID_PARAMETER_EMPTY,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}if(t.notLessThanZero&&sD(r)&&r<0)throw new Zb({code:$b.INVALID_PARAMETER,message:nM({key:tM.CANNOT_LESS_THAN_ZERO,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!nD(t.min)&&sD(r)&&r<t.min)throw new Zb({code:$b.INVALID_PARAMETER,message:nM({key:tM.INVALID_PARAMETER_MIN,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!nD(t.max)&&sD(r)&&r>t.max)throw new Zb({code:$b.INVALID_PARAMETER,message:nM({key:tM.INVALID_PARAMETER_MAX,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(aD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new Zb({code:$b.INVALID_PARAMETER,message:nM({key:tM.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}else if(oD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new Zb({code:$b.INVALID_PARAMETER,message:nM({key:tM.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 Zb({code:$b.INVALID_PARAMETER,message:nM({key:tM.INVALID_PARAMETER_RANGE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});let{properties:a}=t;eD(a)&&lD(r)&&Object.keys(a).forEach((e=>{aF.call(this,{rule:a[e],value:r&&r[e],key:"".concat(i,".").concat(e),fnName:o,className:n})}));let{arrayItem:s}=t;eD(s)&&uD(r)&&r.forEach(((e,t)=>{aF.call(this,{rule:s,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),oD(t.validate)&&t.validate.call(this,r,i,o,n,this)}zk.on(Yk.JOIN_SUCCESS,(e=>{let{room:t}=e;iF(t.userId,{eventId:32788})})),zk.on(Yk.LEAVE_START,(e=>{let{room:t}=e;iF(t.userId,{eventId:32789})})),zk.on(Yk.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),iF(t.room.userId,{eventId:e})}})),zk.on(Yk.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),iF(t.room.userId,{eventId:e})}})),zk.on(Yk.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===Uw.AUDIO?iF(t.room.userId,{eventId:t.isRemote?32785:32772,remoteUserId:t.isRemote?t.userId:void 0}):iF(t.room.userId,{eventId:t.isRemote?32784:32773,remoteUserId:t.isRemote?t.userId:void 0}))})),zk.on(Yk.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===Uw.AUDIO?iF(t.room.userId,{eventId:t.isRemote?32787:32774,remoteUserId:t.isRemote?t.userId:void 0}):iF(t.room.userId,{eventId:t.isRemote?32786:32775,remoteUserId:t.isRemote?t.userId:void 0}))})),zk.on(Yk.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&iF(t.room.userId,{eventId:32777,remoteUserId:t.userId}),4===t.mediaType&&iF(t.room.userId,{eventId:32776,remoteUserId:t.userId}),8===t.mediaType&&iF(t.room.userId,{eventId:32803,remoteUserId:t.userId}))})),zk.on(Yk.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&iF(t.room.userId,{eventId:32779,remoteUserId:t.userId}),4===t.mediaType&&iF(t.room.userId,{eventId:32778,remoteUserId:t.userId}),8===t.mediaType&&iF(t.room.userId,{eventId:32804,remoteUserId:t.userId}))})),zk.on(Yk.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&iF(t.room.userId,{eventId:t.kind===Uw.VIDEO?32780:32781})})),zk.on(Yk.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&iF(t.room.userId,{eventId:t.kind===Uw.VIDEO?32782:32783})})),zk.on(Yk.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&&iF(r.userId,{eventId:t})})),zk.on(Yk.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&&iF(r.userId,{eventId:t,remoteUserId:n})})),zk.on(Yk.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"===o?0:2,u={eventId:4004,param1:c,param2:l,streamType:s||2};i&&(u.remoteUserId=i,u.eventId=4005),iF(r,u),fM.addEnum({key:i?514701:513701,value:c}),fM.addEnum({key:i?514700:513700,value:l})})),zk.on(Yk.LOCAL_TRACK_RECAPTURE,(e=>{let{track:t,error:r}=e;if(t.userId){let e={eventId:2003,param1:0};t.kind===Uw.AUDIO?(e.streamType=1,r&&(e.param1=2)):(e.streamType="auxiliary"===t.streamType?7:2,r&&(e.param1=8)),iF(t.userId,e)}})),Bb(Kb(),1);var sF=Object.create,cF=Object.defineProperty,lF=Object.defineProperties,uF=Object.getOwnPropertyDescriptor,dF=Object.getOwnPropertyDescriptors,hF=Object.getOwnPropertyNames,pF=Object.getOwnPropertySymbols,mF=Object.getPrototypeOf,fF=Object.prototype.hasOwnProperty,_F=Object.prototype.propertyIsEnumerable,gF=(e,t,r)=>t in e?cF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,EF=(e,t)=>{for(var r in t||(t={}))fF.call(t,r)&&gF(e,r,t[r]);if(pF)for(var r of pF(t))_F.call(t,r)&&gF(e,r,t[r]);return e},vF=(e,t)=>lF(e,dF(t)),yF=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?uF(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&&cF(t,r,n),n},TF=(e,t,r)=>gF(e,"symbol"!=typeof t?t+"":t,r),IF=((e,t)=>function(){return t||(0,e[hF(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,u=this._events[s],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,o),!0;case 5:return u.fn.call(u.context,t,r,o,n),!0;case 6:return u.fn.call(u.context,t,r,o,n,a),!0}for(l=1,c=new Array(d-1);l<d;l++)c[l-1]=arguments[l];u.fn.apply(u.context,c)}else{var h,p=u.length;for(l=0;l<p;l++)switch(u[l].once&&this.removeListener(e,u[l].fn,void 0,!0),d){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,t);break;case 3:u[l].fn.call(u[l].context,t,r);break;case 4:u[l].fn.call(u[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(d-1);h<d;h++)c[h-1]=arguments[h];u[l].fn.apply(u[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=[],u=a.length;c<u;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)}}),AF=((e,t,r)=>(r=null!=e?sF(mF(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of hF(t))fF.call(e,o)||o===r||cF(e,o,{get:()=>t[o],enumerable:!(i=uF(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:cF(r,"default",{value:e,enumerable:!0}),e)))(IF(),1),SF=Symbol("instance"),RF=Symbol("cacheResult"),bF=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,kF.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},wF=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var NF=new Map;function DF(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=NF.get(i)||[];NF.has(i)||NF.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=OF.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[RF]:Promise.resolve(i[RF]);i.state instanceof bF&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof bF&&i.state.abort(i):"string"==typeof i.state&&e.includes(i.state)||(l=new wF(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 wF(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let u=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 u(l);let d=i.state,h=new bF(d,t,a);kF.call(i,h);let p=e=>{var o;return i[RF]=e,h.aborted||(kF.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[RF])),e},m=e=>(kF.call(i,d,e),u(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(lO){return m(new wF(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(lO),lO instanceof Error?lO:new Error(String(lO))))}}}}var CF="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 kF(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(OF.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var OF=class e extends AF.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[SF];o?this.name=o.name+"-"+o.count++:i[SF]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=NF.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);NF.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]:{};CF(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){kF.call(this,e)}};OF.STATECHANGED="stateChanged",OF.UPDATEAFSM="updateAFSM",OF.INIT="[*]",OF.ON="on",OF.OFF="off",OF.instances=new Map,OF.instances2=new WeakMap;var MF=class extends OF{constructor(){super(...arguments),TF(this,"decoder"),TF(this,"config")}initialize(){return Gb(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(vF(EF({},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 PF(){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],u=c.HEAPU32[1+(e>>2)],d=c.HEAPU32[2+(e>>2)],h=c.HEAPU8.subarray(l,l+i),p=c.HEAPU8.subarray(u,u+o),m=c.HEAPU8.subarray(d,d+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:"")}}}yF([DF([OF.INIT,"closed"],"initialized")],MF.prototype,"initialize",1),yF([DF("initialized","configured",{sync:!0})],MF.prototype,"configure",1),yF([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 wF(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")],MF.prototype,"decode",1),yF([DF([],OF.INIT,{sync:!0})],MF.prototype,"reset",1),yF([DF([],"closed",{ignoreError:!0,sync:!0})],MF.prototype,"close",1);var LF=class extends OF{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,TF(this,"worker"),TF(this,"decoder"),TF(this,"config"),TF(this,"module",{}),TF(this,"width",0),TF(this,"height",0)}initialize(e){return Gb(this,null,(function*(){var t;if(this.workerMode){let e=new RegExp("\\{(.+)\\}","s").exec(PF.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 u=new Uint8Array(r+i+i);u.set(s),u.set(c,r),u.set(l,r+i),this.emit("videoFrame",new VideoFrame(u,{codedWidth:this.width,codedHeight:this.height,format:"I420",timestamp:t}))}errorInfo(e){let t={errMsg:e};this.emit("error",t)}};yF([DF([OF.INIT,"closed"],"initialized")],LF.prototype,"initialize",1),yF([DF("initialized","configured",{sync:!0})],LF.prototype,"configure",1),yF([DF([],OF.INIT,{sync:!0})],LF.prototype,"reset",1),yF([DF([],"closed",{sync:!0})],LF.prototype,"close",1);var xF,UF=(xF="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,u="function"==typeof importScripts,d=("object"==typeof process&&"object"==typeof process.versions&&process.versions.node,"");(l||u)&&(u?d=self.location.href:"undefined"!=typeof document&&document.currentScript&&(d=document.currentScript.src),xF&&(d=xF),d=0!==d.indexOf("blob:")?d.substr(0,d.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(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,N,D=!1,C=[],k=[],O=[],M=0,P=null;function L(e){M++,i.monitorRunDependencies&&i.monitorRunDependencies(M)}function x(e){if(M--,i.monitorRunDependencies&&i.monitorRunDependencies(M),0==M&&P){var t=P;P=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&&!u||"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,d):d+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),K={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=K.resolve(e).substr(1),t=K.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("/")}},z="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&&z)return z.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=K.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=K.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(!K.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),u=K.relative(e,n);if("."!==u.charAt(0))throw new ie.ErrnoError(28);if("."!==(u=K.relative(t,o)).charAt(0))throw new ie.ErrnoError(55);try{c=ie.lookupNode(i,s)}catch(p){}if(l!==c){var d=ie.isDir(l.mode),h=ie.mayDelete(r,a,d);if(h)throw new ie.ErrnoError(h);if(h=c?ie.mayDelete(i,s,d):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 K.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),u=0,d=r.length;u<d;++u)l[u]=r.charCodeAt(u);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(!u)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 d(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),d(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 d(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,N=[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]=N[0],y[r+28>>2]=N[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 N=[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]=N[0],y[r+44>>2]=N[1],T[r+48>>2]=o%1e3*1e3,N=[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]=N[0],y[r+60>>2]=N[1],T[r+64>>2]=n%1e3*1e3,N=[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]=N[0],y[r+76>>2]=N[1],T[r+80>>2]=a%1e3*1e3,N=[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]=N[0],y[r+92>>2]=N[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={},ue={},de={},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){de[e]=t}));var o=new Array(t.length),n=[],a=0;t.forEach(((e,t)=>{ue.hasOwnProperty(e)?o[t]=ue[e]:(n.push(e),le.hasOwnProperty(e)||(le[e]=[]),le[e].push((()=>{o[t]=ue[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')),ue.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;pe("Cannot register type '".concat(i,"' twice"))}if(ue[e]=t,delete de[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 Ne(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 Ce(){}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 Pe(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 Le(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 Le(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=Le(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 Le(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,u){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=u,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 Ke(e){var t=St(e),r=ce(t);return It(t),r}function ze(e,t){var r=[],i={};throw t.forEach((function e(t){i[t]||ue[t]||(de[t]?de[t].forEach(e):(r.push(t),i[t]=!0))})),new Ge("".concat(e,": ")+r.map(Ke).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 u="void"!==t[0].name,d="",h="";for(l=0;l<a-2;++l)d+=(0!==l?", ":"")+"arg"+l,h+=(0!==l?", ":"")+"arg"+l+"Wired";var p="\n return function ".concat(ke(e),"(").concat(d,") {\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+=(u||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 u&&(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,ut=(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},dt=(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,u){var d=t?K.resolve(j.join2(e,t)):e;function h(r){function n(r){u&&u(),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,d,n,(()=>{s&&s(),x()}))||n(r)}L(),"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&&L()})(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"}},Ce.prototype.isAliasOf=function(e){if(!(this instanceof Ce&&e instanceof Ce))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},Ce.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},Ce.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)},Ce.prototype.isDeleted=function(){return!this.$$.ptr},Ce.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?Ne(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ne(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?Ne(n.registeredClass.instancePrototype,{ptrType:n,ptr:c,smartPtrType:this,smartPtr:e}):Ne(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,u,d,h,p){d=ce(d),a=je(n,a),c&&(c=je(s,c)),u&&(u=je(l,u)),p=je(h,p);var m,f,_,g=ke(d);m=g,f=function(){ze("Cannot construct ".concat(d," 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:Ce.prototype;var s=Oe(g,(function(){if(Object.getPrototypeOf(this)!==l)throw new he("Use 'new' to construct "+d);if(void 0===h.constructor_body)throw new he(d+" has no accessible constructor");var e=h.constructor_body[arguments.length];if(void 0===e)throw new he("Tried to invoke ctor of ".concat(d," 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 Pe(d,s,l,p,r,a,c,u);h.baseClass&&(void 0===h.baseClass.__derivedClasses&&(h.baseClass.__derivedClasses=[]),h.baseClass.__derivedClasses.push(h));var m,f,_,E=new Be(d,h,!0,!1,!1),v=new Be(d+"*",h,!1,!1,!1),y=new Be(d+" 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]=()=>{ze("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(){ze("Cannot call ".concat(i," due to unbound types"),l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,d=u[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(o.argCount=r-2,o.className=e.name,u[t]=o):(Me(u,t,i),u[t].overloadTable[r-2]=o),_e([],l,(function(o){var s=Xe(i,o,e,n,a,c);return void 0===u[t].overloadTable?(s.argCount=r-2,u[t]=s):u[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=ut,o=dt,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 u=e+4+l*t;if(l==o||0==a[u>>s]){var d=i(c,u-c);void 0===r?r=d:(r+="\0",r+=d),c=u+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=ue[r])&&pe(i+" has unknown type "+Ke(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 u,d,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),u=Je(Function,a).apply(null,s),d=mt.length,mt.push(u),n=d,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,N=[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]=N[0],y[t+12>>2]=N[1],N=[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]=N[0],y[t+20>>2]=N[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),N=[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]=N[0],y[o+4>>2]=N[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(L(),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(),C.unshift(e);var e;H(C)}(),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,P=function e(){vt||bt(),vt||(P=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return bt(),e.ready}),VF=UF,FF=class extends LF{constructor(e){super(VF,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 BF=(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))(BF||{});function HF(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var WF=class e{constructor(e){this.core=e,TF(this,"contextMap",new Map),TF(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){switch(e){case"wasm":return new FF(vF(EF({},t),{wasmPath:"".concat(this.core.assetsPath||".","/videodec.wasm")}));case"webCodecs":return new MF;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(vF(EF({},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=HF()-e.startPerformanceTime,{renderFreezeTotal:i,dataFreezeTotal:o}=this.getRemoteTrackFreezeDuration(t,e);r&&this.core.kvStatManager.addNumber({key:514850,value:Math.floor(i/r*100),split:1,max:100}),r&&this.core.kvStatManager.addNumber({key:514851,value:Math.floor(o/r*100),split:1,max:100}),e.inputFrameCount&&this.core.kvStatManager.addNumber({key:514852,value:Math.floor(e.decodedFrameCount/e.inputFrameCount*100),split:1,max:100})}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(vF(EF({},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?HF()-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)}};TF(WF,"Name","TRTCVideoDecoder");var jF=WF,GF=Bb(Kb());function KF(e){let{timesInSecond:t,maxSizeInSecond:r,getSize:i}=e;return XL(((e,o)=>{let n=new WeakMap;return zk.on(Yk.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 Zb({code:$b.INVALID_OPERATION,message:nM({key:tM.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 zF,qF=!0,YF={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"},JF={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},XF=((zF=XF||{})[zF.INVALID_PARAMETER=5e3]="INVALID_PARAMETER",zF[zF.INVALID_PARAMETER_REQUIRED=5001]="INVALID_PARAMETER_REQUIRED",zF[zF.INVALID_PARAMETER_TYPE=5002]="INVALID_PARAMETER_TYPE",zF[zF.INVALID_PARAMETER_EMPTY=5003]="INVALID_PARAMETER_EMPTY",zF[zF.INVALID_PARAMETER_INSTANCE=5004]="INVALID_PARAMETER_INSTANCE",zF[zF.INVALID_PARAMETER_RANGE=5005]="INVALID_PARAMETER_RANGE",zF[zF.INVALID_PARAMETER_LESS_THAN_ZERO=5006]="INVALID_PARAMETER_LESS_THAN_ZERO",zF[zF.INVALID_PARAMETER_MIN=5007]="INVALID_PARAMETER_MIN",zF[zF.INVALID_PARAMETER_MAX=5008]="INVALID_PARAMETER_MAX",zF[zF.INVALID_ELEMENT_ID=5009]="INVALID_ELEMENT_ID",zF[zF.INVALID_ELEMENT_ID_TYPE=5010]="INVALID_ELEMENT_ID_TYPE",zF[zF.INVALID_STREAM_ID=5011]="INVALID_STREAM_ID",zF[zF.INVALID_ROOM_ID_STRING=5012]="INVALID_ROOM_ID_STRING",zF[zF.INVALID_ROOM_ID_INTEGER=5013]="INVALID_ROOM_ID_INTEGER",zF[zF.INVALID_STREAM_TYPE=5014]="INVALID_STREAM_TYPE",zF[zF.INVALID_ROOM_ID_REQUIRED=5015]="INVALID_ROOM_ID_REQUIRED",zF[zF.INVALID_ROOM_ID_INTEGER_STRING=5016]="INVALID_ROOM_ID_INTEGER_STRING",zF[zF.INVALID_BUFFER_EMPTY=5017]="INVALID_BUFFER_EMPTY",zF[zF.INVALID_BUFFER_OVERSIZE=5018]="INVALID_BUFFER_OVERSIZE",zF[zF.INVALID_ROOM_ID_TYPE_MISMATCH=5019]="INVALID_ROOM_ID_TYPE_MISMATCH",zF[zF.INVALID_ROOM_ID_DUPLICATE=5020]="INVALID_ROOM_ID_DUPLICATE",zF[zF.INVALID_OPERATION=5100]="INVALID_OPERATION",zF[zF.INVALID_OPERATION_NOT_JOINED=5101]="INVALID_OPERATION_NOT_JOINED",zF[zF.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]="INVALID_OPERATION_REMOTE_USER_NOT_EXIST",zF[zF.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]="INVALID_OPERATION_STREAM_TYPE_NOT_EXIST",zF[zF.INVALID_OPERATION_REPEAT_CALL=5104]="INVALID_OPERATION_REPEAT_CALL",zF[zF.INVALID_OPERATION_NEED_VIDEO=5105]="INVALID_OPERATION_NEED_VIDEO",zF[zF.INVALID_OPERATION_NEED_AUDIO=5106]="INVALID_OPERATION_NEED_AUDIO",zF[zF.INVALID_ROLE_AUDIENCE=5107]="INVALID_ROLE_AUDIENCE",zF[zF.INVALID_NOT_ENABLE_SEI=5108]="INVALID_NOT_ENABLE_SEI",zF[zF.INVALID_NEED_CALL_PUBLISHED=5109]="INVALID_NEED_CALL_PUBLISHED",zF[zF.ENV_NOT_SUPPORTED=5200]="ENV_NOT_SUPPORTED",zF[zF.NOT_SUPPORTED_HTTP=5201]="NOT_SUPPORTED_HTTP",zF[zF.NOT_SUPPORTED_WEBRTC=5202]="NOT_SUPPORTED_WEBRTC",zF[zF.NOT_SUPPORTED_H264_ENCODE=5203]="NOT_SUPPORTED_H264_ENCODE",zF[zF.NOT_SUPPORTED_H264_DECODE=5204]="NOT_SUPPORTED_H264_DECODE",zF[zF.NOT_SUPPORTED_SCREEN_SHARE=5205]="NOT_SUPPORTED_SCREEN_SHARE",zF[zF.NOT_SUPPORTED_SMALL_VIDEO=5206]="NOT_SUPPORTED_SMALL_VIDEO",zF[zF.NOT_SUPPORTED_SEI=5207]="NOT_SUPPORTED_SEI",zF[zF.NOT_SUPPORTED_WEBGL=5208]="NOT_SUPPORTED_WEBGL",zF[zF.NOT_SUPPORTED_CHROME_VERSION=5209]="NOT_SUPPORTED_CHROME_VERSION",zF[zF.NOT_SUPPORTED_PLUGIN=5210]="NOT_SUPPORTED_PLUGIN",zF[zF.DEVICE_ERROR=5300]="DEVICE_ERROR",zF[zF.DEVICE_NOT_FOUND_ERROR=5301]="DEVICE_NOT_FOUND_ERROR",zF[zF.DEVICE_NOT_ALLOWED_ERROR=5302]="DEVICE_NOT_ALLOWED_ERROR",zF[zF.DEVICE_NOT_READABLE_ERROR=5303]="DEVICE_NOT_READABLE_ERROR",zF[zF.DEVICE_OVERCONSTRAINED_ERROR=5304]="DEVICE_OVERCONSTRAINED_ERROR",zF[zF.DEVICE_INVALID_STATE_ERROR=5305]="DEVICE_INVALID_STATE_ERROR",zF[zF.DEVICE_SECURITY_ERROR=5306]="DEVICE_SECURITY_ERROR",zF[zF.DEVICE_ABORT_ERROR=5307]="DEVICE_ABORT_ERROR",zF[zF.CAMERA_RECOVER_FAILED=5308]="CAMERA_RECOVER_FAILED",zF[zF.MICROPHONE_RECOVER_FAILED=5309]="MICROPHONE_RECOVER_FAILED",zF[zF.SERVER_ERROR=5400]="SERVER_ERROR",zF[zF.NEED_TO_BUY=5401]="NEED_TO_BUY",zF[zF.ACCOUNT_NO_MONEY=-100013]="ACCOUNT_NO_MONEY",zF[zF.OPERATION_FAILED=5500]="OPERATION_FAILED",zF[zF.FIREWALL_RESTRICTION=5501]="FIREWALL_RESTRICTION",zF[zF.REJOIN_FAILED=5502]="REJOIN_FAILED",zF[zF.EVENT_HANDLER_ERROR=5503]="EVENT_HANDLER_ERROR",zF[zF.VIDEO_CONTEXT_ERROR=5504]="VIDEO_CONTEXT_ERROR",zF[zF.VIDEO_DECODE_ERROR=5505]="VIDEO_DECODE_ERROR",zF[zF.OPERATION_ABORT=5998]="OPERATION_ABORT",zF[zF.UNKNOWN_ERROR=5999]="UNKNOWN_ERROR",zF);var $F=Ub(xb({},rM),{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(iD(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(iD(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=QF(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=QF(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=QF(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=QF(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=QF(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=QF(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=QF(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 QF(e){if(!e)return"camera";let t=e.toLowerCase();return t.includes("screen")?"screen share":t.includes("audio")?"microphone":"camera"}var ZF=class e extends Error{constructor(e){let{code:t,extraCode:r,message:i="",messageParams:o,fnName:n="",originError:a}=e;var s;let c;c=i||function(e){let t,{code:r,params:i,enableDocLink:o=!1}=e,a="",s=XF[r];try{t=$F[s]}catch(n){t=$F.UNKNOWN_ERROR}return oD(t)?a=t(i):aD(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===JF.SERVER_ERROR?t:r||t,params:xb({fnName:n,error:a},o)}),super(c),Wb(this,"name","RtcError"),Wb(this,"code"),Wb(this,"extraCode"),Wb(this,"functionName"),Wb(this,"message"),Wb(this,"handler"),Wb(this,"originError"),this.name=XF[t],this.code=t,this.extraCode=r,this.functionName=n,this.originError=a,this.message=c,5302===this.extraCode&&null!=(s=this.originError)&&s.message.includes("system")&&(this.handler=()=>{let e=document.createElement("a");GC?e.href="ms-settings:privacy-".concat({startLocalVideo:"webcam",startLocalAudio:"microphone"}[this.functionName]):KC&&(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 Zb){let{stack:n}=t,a={code:JF.UNKNOWN_ERROR,fnName:r,originError:t};switch(t.getCode()){case $b.INVALID_PARAMETER:a.code=JF.INVALID_PARAMETER,a.message=t.message;break;case $b.INVALID_OPERATION:a.code=JF.INVALID_OPERATION;break;case $b.NOT_SUPPORTED:case $b.NOT_SUPPORTED_H264:a.code=JF.ENV_NOT_SUPPORTED,t.getCode()===$b.NOT_SUPPORTED_H264&&(a.extraCode=t.message.includes(rM.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case $b.JOIN_ROOM_FAILED:a.messageParams={fnParams:i};case $b.SERVER_TIMEOUT:case $b.SWITCH_ROLE_FAILED:case $b.SWITCH_ROOM_FAILED:a.code=JF.SERVER_ERROR,a.extraCode=t.getExtraCode();break;case $b.API_CALL_ABORTED:a.code=JF.OPERATION_ABORT;break;case $b.DEVICE_NOT_FOUND:case $b.DEVICE_AUTO_RECOVER_FAILED:case $b.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 $b.UNKNOWN:break;default:a.code=JF.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:JF.UNKNOWN_ERROR,fnName:r,originError:t})}return o}};var eB=ZF;function tB(e){return"sub"===e?"auxiliary":"auxiliary"===e?"sub":"main"}function rB(e){return e===YF.QOS_PREFERENCE_CLEAR?"detail":e===YF.QOS_PREFERENCE_SMOOTH?"motion":""}function iB(e,t){let r=t?Lw:Pw;return JD(e)?xb(xb({},r),e):Mw[e]?Mw[e]:r}var oB={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}}},nB={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}}},aB={type:["string",HTMLElement,null,"array"],arrayItem:{instanceOf:HTMLElement},validate(e,t,r){if(aD(e)&&!document.getElementById(e))throw new eB({code:JF.INVALID_PARAMETER,extraCode:5009,fnName:r,messageParams:{key:t}})}},sB={name:"userId",required:!0,type:"string"},cB={type:"object",properties:{microphoneId:{type:"string"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:"number",min:0},earMonitorVolume:{type:"number",min:0,max:100},profile:{values:[YF.AUDIO_PROFILE_STANDARD,YF.AUDIO_PROFILE_STANDARD_STEREO,YF.AUDIO_PROFILE_HIGH,YF.AUDIO_PROFILE_HIGH_STEREO]},echoCancellation:{type:"boolean"},autoGainControl:{type:"boolean"},noiseSuppression:{type:"boolean"}}};function lB(e,t){if(!e)throw new eB({code:JF.INVALID_OPERATION,extraCode:5101,fnName:t})}function uB(e,t,r){if(!e)throw new eB({code:JF.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:r}})}function dB(e,t,r){if(!(/^[1-9]\d*$/.test(String(e))&&e<4294967295))throw new eB({code:JF.INVALID_PARAMETER,extraCode:5013,fnName:t,messageParams:{key:r}})}function hB(e,t,r){if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e))throw new eB({code:JF.INVALID_PARAMETER,extraCode:5012,fnName:t,messageParams:{key:r}})}function pB(e){var t;if(null==(t=null==e?void 0:e.option)||!t.small)return;if(!UM())return Xk.warn("small stream is not supported"),void delete e.option.small;let r=iB(e.option.profile),i=iB(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:(Xk.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 mB={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 eB({code:JF.INVALID_OPERATION,extraCode:5104,fnName:r});if(e.roomId){if(aD(e.roomId))throw new eB({code:JF.INVALID_PARAMETER,extraCode:5016,fnName:r,messageParams:{key:t}});dB(e.roomId,r,t)}else{if(!e.strRoomId)throw new eB({code:JF.INVALID_PARAMETER,extraCode:5015,fnName:r});hB(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:aB,mute:{type:["boolean","string"]},publish:{type:"boolean"},capture:{required:!1,type:"boolean"},option:oB},validate(e){var t,r;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&AM())throw new eB({code:JF.ENV_NOT_SUPPORTED,extraCode:5201});null!=(r=null==e?void 0:e.option)&&r.small&&pB(e)}},updateLocalVideo:{name:"updateLocalVideoConfig",type:"object",required:!0,properties:{view:Ub(xb({},aB),{required:!1}),publish:{type:"boolean"},capture:{required:!1,type:"boolean"},mute:{type:["boolean","string"]},option:oB},validate(e){var t;null!=(t=null==e?void 0:e.option)&&t.small&&pB(e)}},startLocalAudio:{name:"LocalAudioConfig",type:"object",properties:{publish:{type:"boolean"},option:cB},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&AM())throw new eB({code:JF.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:"updateLocalAudioConfig",type:"object",required:!0,properties:{publish:{type:"boolean"},mute:{type:"boolean"},option:cB}},startScreenShare:{name:"ScreenShareConfig",type:"object",properties:{view:aB,publish:{type:"boolean"},option:nB},validate(e,t,r,i,o){var n;if(null==(n=null==e?void 0:e.option)||!n.videoTrack){if(AM())throw new eB({code:JF.ENV_NOT_SUPPORTED,extraCode:5201});if(!DM())throw new eB({code:JF.ENV_NOT_SUPPORTED,fnName:r,extraCode:5205})}}},updateScreenShare:{name:"updateScreenShareConfig",type:"object",required:!0,properties:{view:aB,publish:{type:"boolean"},option:nB}},muteRemoteAudio:[sB,{name:"mute",required:!0,type:"boolean"}],setRemoteAudioVolume:[sB,{name:"volume",required:!0,type:"number",min:0}],startRemoteVideo:{name:"startRemoteVideoConfig",type:"object",required:!0,properties:{view:aB,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){lB(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(uB(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new eB({code:JF.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},updateRemoteVideo:{name:"updateRemoteVideoConfig",type:"object",required:!0,properties:{view:Ub(xb({},aB),{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){lB(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(uB(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new eB({code:JF.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&&nD(e.streamType))throw new eB({code:JF.INVALID_PARAMETER,extraCode:5014,fnName:r})}},switchRole:{name:"role",required:!0,values:["anchor","audience"],validate(e,t,r){lB(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(!ZM)throw new eB({code:JF.ENV_NOT_SUPPORTED,fnName:r,extraCode:5207});if(!this._room.enableSEI)throw new eB({code:JF.INVALID_OPERATION,fnName:r,extraCode:5108});if(e.byteLength>1e3)throw new eB({code:JF.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new eB({code:JF.INVALID_PARAMETER,extraCode:5017,messageParams:{key:t},fnName:r});lB(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 eB({code:JF.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 eB({code:JF.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new eB({code:JF.INVALID_PARAMETER,extraCode:5017,fnName:r,messageParams:{key:t}})}}},validate(e,t,r){if(lB(this._room.isJoined,r),"live"===this._room.scene&&"audience"===this._room.role)throw new eB({code:JF.INVALID_OPERATION,extraCode:5107,fnName:r,messageParams:{key:t}})}},switchRoom:{name:"switchRoomConfig",type:"object",required:!0,validate(e,t,r){if(lB(this._room.isJoined,r),this._room.useStringRoomId&&e.strRoomId===this._room.roomId||!this._room.useStringRoomId&&e.roomId===Number(this._room.roomId))throw new eB({code:JF.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 eB({code:JF.INVALID_PARAMETER,extraCode:5019,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId)dB(e.roomId,r,t);else{if(!e.strRoomId)throw new eB({code:JF.INVALID_PARAMETER,extraCode:5015,fnName:r});hB(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}}}},fB={TRTC:mB},_B=class extends Error{};function gB(e,t){let r=wD(e);for(let i=0;i<t.length;i++)bD(r[i],t[i]);return r}function EB(e){this._resolve=Promise.resolve(e)}function vB(e){this._reject=Promise.reject(e)}var yB=class e{constructor(t,r){this.instance=t,this.group=r,Wb(this,"started",!1),Wb(this,"ops",[]),Wb(this,"startSame",(()=>!0)),Wb(this,"mergeUpdate",gB);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 _B("start failed")),null==(i=this.currentOp)||i.action(),t},n={type:e,action:()=>t(...n.args).then(i,o),args:r,resolve:EB,reject:vB};try{switch(this.state){case 1:if(0===e)throw new _B("already started");break;case 4:if(2===e)throw new _B("not started");break;default:return this.cacheOp(n)}}catch(aO){return Promise.reject(aO)}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 _B("already start");break;case 3:switch(e.type){case 2:throw new _B("update not allowed when stopping");case 3:return this.currentOp.promise}break;default:throw new _B("unknown state")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new _B("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 _B("update not allowed after stop")}break;case 0:switch(this.lastOpType){case 2:throw new _B("start not allowed after update");case 0:throw new _B("duplicate start");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new _B("keep start")),new _B("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}};Wb(yB,"instances",new WeakMap);var TB=yB,IB=new WeakMap,AB=(e,t)=>{if(t instanceof _B){let{stack:r}=t;t=new eB({code:JF.OPERATION_ABORT,message:"".concat(e," abort: ").concat(t.message),fnName:e}),r&&(t.stack+=r.substr(r.indexOf("\n")))}throw t};function SB(e,t){return XL(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let s=TB.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(AB.bind(null,i))):r.apply(this,n)}))}function RB(e,t){let{merge:r,debounce:i}=t||{};return XL(((t,o)=>function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];let c=TB.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 u=null==(s=IB.get(this))?void 0:s.get(r(...a));if(u){let{timeoutId:e,resolve:t}=u;clearTimeout(e),t()}let d=setTimeout((()=>{if(3===c.state||4===c.state)return i();c.action(2,t.bind(this),a).catch(AB.bind(null,o)).then(i,n)}),e);IB.has(this)?null==(l=IB.get(this))||l.set(r(...a),{timeoutId:d,resolve:i}):IB.set(this,new Map([[r(...a),{timeoutId:d,resolve:i}]]))}))}return c.action(2,t.bind(this),a).catch(AB.bind(null,o))}))}function bB(e){return XL(((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(TB.gets(this,a).map((e=>e.action(3,(()=>Promise.resolve()),o)))).then((()=>t.call(this,...o)));let s=TB.get(this,a);return s?s.action(3,t.bind(this),o).catch(AB.bind(null,r)):t.apply(this,o)}))}var wB={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"},NB=new Set([wB.ERROR,wB.AUTOPLAY_FAILED,wB.KICKED_OUT,wB.REMOTE_USER_ENTER,wB.REMOTE_USER_EXIT,wB.REMOTE_AUDIO_AVAILABLE,wB.REMOTE_AUDIO_UNAVAILABLE,wB.REMOTE_VIDEO_AVAILABLE,wB.REMOTE_VIDEO_UNAVAILABLE,wB.CONNECTION_STATE_CHANGED,wB.PUBLISH_STATE_CHANGED,wB.SCREEN_SHARE_STOPPED,wB.DEVICE_CHANGED,wB.FIRST_VIDEO_FRAME]),DB={};Fb(DB,{bytes2ms:()=>YN,calculateScaleResolutionDownNumber:()=>WD,convertObjectNumberToInt:()=>UD,copyProperties:()=>qN,deepClone:()=>wD,deepMerge:()=>bD,delay:()=>VD,fibonacci:()=>tD,formatedTime:()=>CD,getConstructorName:()=>fD,getContainerFromElement:()=>DD,getEnv:()=>FN,getInternalVersion:()=>yD,getLoggerUrl:()=>HN,getMediaStreamTrackInfo:()=>HD,getMuteStateFromFlag:()=>AD,getNetworkType:()=>jN,getNumNetworkType:()=>zN,getReconnectionTimeout:()=>rD,getStringByteLength:()=>MD,getTurnServer:()=>SD,getUint32Version:()=>xD,getValueType:()=>iD,getViewListFromView:()=>ND,glog:()=>QN,ipv4ToUint32:()=>RD,isArray:()=>uD,isAudioWorkletSupported:()=>_D,isBoolean:()=>cD,isConstructor:()=>mD,isEmpty:()=>ID,isFunction:()=>oD,isLangChinese:()=>ZN,isMediaStreamTrack:()=>dD,isNumber:()=>sD,isObject:()=>lD,isOverseaSdkAppId:()=>BN,isPlainObject:()=>eD,isPortrait:()=>PD,isPromise:()=>pD,isRemoteTrack:()=>hD,isRotate90Or270:()=>jD,isString:()=>aD,isUndefined:()=>nD,loadImage:()=>LD,ms2bytes:()=>XN,ms2samples:()=>$N,normalizeUrl:()=>BD,performanceNow:()=>ED,promiseAny:()=>gD,samples2ms:()=>JN,setNetworkType:()=>KN,stringify:()=>kD,stringifyIncludeValue:()=>OD,throttlePromise:()=>FD});var CB={};Fb(CB,{ScheduleRequestType:()=>UB,getAbilityConfig:()=>FB,getScheduleDomain:()=>BB,isNeedToSchedule:()=>OB,scheduleProxy:()=>LB,sendScheduleRequest:()=>PB,setIsNeedToSchedule:()=>MB,setScheduleProxy:()=>xB});var kB=null,OB=!0;function MB(e){cD(e)&&e!==OB&&(OB=e,Xk.info("setIsNeedToSchedule ".concat(e)))}function PB(e){return Gb(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*(){if(!OB&&kB)return{isCached:!0,result:kB};let e={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 d=yield xk();null!=d&&d.model&&u.append("model",String(null==d?void 0:d.model)),c&&u.append("role",String(c)),l&&u.append("latencyLevel",String(l)),s&&u.append("frameWorkType",String(s));let h=ED(),p=yield function(e,t,r){return new Promise(((i,o)=>{let n=null;gD([WB((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]=VB(r,"config",Uw.MAIN,!0)),o())}))(VB(r,"config",Uw.MAIN),e,{get timeout(){return 1e3*tD(2+t.count[0])}}),WB((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]=VB(r,"config",Uw.BACKUP,!0)),o())}))(VB(r,"config",Uw.BACKUP),e,{get timeout(){return 1e3*tD(2+t.count[1])}})]).then((e=>{n=e,i(n)})).catch(o)}))}(u,e,r);p.config&&(p.config.loggerDomain&&mw(p.config.loggerDomain),cD(p.config.scheduleCache)&&MB(!p.config.scheduleCache)),e.delta=ED()-h;let m=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=VB(e,"config",Uw.MAIN),a=VB(e,"config",Uw.BACKUP);for(let e of o)if(e.startTime>=r&&(e.name===n||e.name===a)&&e.transferSize>0){let r=e.name===n?Uw.MAIN:Uw.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),u=Math.round(e.requestStart-e.secureConnectionStart),d=Math.round(e.secureConnectionStart-e.connectStart),h=Math.round(e.responseStart-e.requestStart),p=Math.round(e.responseEnd-e.responseStart),m=[l,u,d,h,p];kP.uploadEvent({log:"stat-schedule-net:".concat(o,"(").concat(a,"(").concat(s,"->").concat(c,")->").concat(m.join("->"),") ").concat(r),userId:t}),i=Ub(xb({},i),{totalCost:o,local:a,dns:l,tcp:d,tls:u,request:h,response:p});break}}catch(n){Xk.error("getScheduleDetailCost error",n)}return i}(Number(r),t,h);return kB=p,{isCached:!1,result:p,detailCost:m}}catch(u){let e=uD(u)?u[0]:u,t=sD(e.code)?e.code:0,r="schedule failed".concat(e.message?": ".concat(e.message):""),i=new Zb({code:$b.SCHEDULE_FAILED,extraCode:t,message:nM({key:tM.JOIN_ROOM_FAILED,data:{error:r,code:t}})});throw Xk.error(r,t),i}}()}))}"undefined"!=typeof document&&document.head.insertAdjacentHTML("beforeend",Object.values(bN).map((e=>'<link rel="dns-prefetch" href="https://'.concat(e,'">'))).join("\r\n")),zk.on("28",(()=>MB(!0))),zk.on("63",(()=>MB(!0))),zk.on("84",(()=>MB(!0))),zk.on("201",(e=>{"RECONNECTING"===e.state&&MB(!0)})),zk.on("202",(e=>{"RECONNECTING"===e.state&&MB(!0)}));var LB={main:"",backup:""};function xB(e){uD(e)?(LB.main=e[0],LB.backup=e[1]):LB.main=e}var UB=(e=>(e.CONFIG="config",e.TRTC_AUTO_CONF="trtcAutoConf",e.AUDIO_AI_AUTH="audioAiAuth",e))(UB||{});function VB(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Uw.MAIN,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return"https://".concat(LB[r]||BB(e,r,i),"/api/v1/").concat(t)}function FB(e,t,r){let i=VB(e,t),o=VB(e,t,Uw.BACKUP),n=new URLSearchParams(r).toString();return gD([fetch("".concat(i,"?").concat(n)).then((e=>e.json())),fetch("".concat(o,"?").concat(n)).then((e=>e.json()))])}function BB(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Uw.MAIN,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=BN(e)?i?r===Uw.MAIN?bN.MAIN_OVERSEA_BACKUP:bN.BACKUP_OVERSEA:r===Uw.MAIN?bN.MAIN_OVERSEA:bN.BACKUP_OVERSEA:r===Uw.MAIN?bN.MAIN:bN.BACKUP,t}function HB(e,t,r){return new Promise(((i,o)=>{GD({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 WB=(e,t)=>XD({retryFunction:HB,settings:{retries:3,timeout:0},onError:t,onRetrying:e});var jB=class{constructor(){Wb(this,"_log"),this._log=Xk.createLogger({id:"fd"})}download(e,t){return Gb(this,null,(function*(){let{type:r="blob"}=t||{};e=BD(e);try{let t,i=ED();if(t=oD(fetch)?yield this.downloadWithFetch(e,r):yield this.downloadWithXHR(e,r),!t||!t.data)throw new Error("data is empty");let o=ED()-i;return this._log.info("downloaded: ".concat(e,", return type: ").concat(r,", cost: ").concat(o,"ms")),fM.addSuccessEvent({key:522700,cost:ED()-i}),t.data}catch(nO){throw this._log.error("failed to download: ".concat(e,", error: ").concat(nO)),fM.addFailedEvent({key:522700,error:nO}),nO}}))}downloadWithFetch(e,t){return Gb(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)throw new Error("network response was not ok");return r="arraybuffer"===t?yield i.arrayBuffer():yield i.blob(),{data:r}}catch(dN){throw dN}}))}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=()=>{200===o.status||0===o.status&&o.response?r({data:o.response}):i(new Error("XHR failed"))},o.onerror=i,o.send(null)}))}loadWasm(e,t){return Gb(this,null,(function*(){this._log.info("loadWasm ".concat(e,", importObject: ").concat(JSON.stringify(t)));let r=ED(),i=null,o=null;if(oD(WebAssembly.instantiateStreaming)&&!(e=>e.startsWith("data:application/octet-stream;base64,"))(e)&&!(e=>e.startsWith("file://"))(e)&&oD(fetch))try{let r=fetch(e);i=(yield WebAssembly.instantiateStreaming(r,t)).instance}catch(lw){o=lw}if(!i)try{let r=yield this.download(e,{type:"arraybuffer"});i=(yield WebAssembly.instantiate(r,t)).instance}catch(lw){o=lw}if(i){let t=ED()-r;return this._log.info("loadedWasm ".concat(e,", cost: ").concat(t,"ms")),fM.addSuccessEvent({key:522701,cost:t}),i}throw this._log.error("failed to loadWasm ".concat(e,", error: ").concat(o)),fM.addFailedEvent({key:522701,error:o}),o}))}loadScript(e){this._log.info("loadScript ".concat(e));let t=ED();return new Promise(((r,i)=>{let o=document.createElement("script");o.type="text/javascript",o.onload=()=>{this._log.info("loadedScript ".concat(e,", cost: ").concat(ED()-t,"ms")),fM.addSuccessEvent({key:522702,cost:ED()-t,split:1e3}),r(o)},o.onerror=t=>{this._log.error("failed to loadScript ".concat(e,", error: ").concat(t)),fM.addFailedEvent({key:522702}),i(t)},o.crossOrigin="anonymous",o.src=e,document.head.append?document.head.append(o):document.getElementsByTagName("head")[0].appendChild(o)}))}};Hb([MP({settings:{timeout:0,retries:3},onRetrying(e){this._log.warn("download retrying: ".concat(e))}})],jB.prototype,"download",1),Hb([MP({settings:{timeout:3e3,retries:3},onRetrying(e){this._log.warn("loadScript retrying: ".concat(e))}})],jB.prototype,"loadScript",1);var GB=new jB;function KB(e){let{TRTC:t,room:r,errorModule:i,assetsPath:o}=e;return{TRTC:t,room:r,assetsPath:o,fileDownloader:GB,innerEmitter:zk,constants:ow,environment:QD,utils:DB,eventLogger:kP,log:this.room.getLogger(),loggerManager:Xk,errorModule:i,kvStatManager:fM,rtcDectection:Zk,trtc:this,rx:yx,enums:eO,schedule:CB,clearStarted:(e,t)=>{let r=e.getAlias(),i=TB.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:Ex,createAudioNode:EL}}var zB=new WeakMap;function qB(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return XL(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{JB.call(this,t,o,r,this._name)}catch(nO){return Promise.reject(nO)}return e.apply(this,o)}))}function YB(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return XL(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{JB.call(this,t,o,r,this._name)}catch(nO){throw nO}return e.apply(this,o)}))}function JB(e,t,r,i){if(uD(e))for(let o=0;o<e.length;o++)XB.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else XB.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}function XB(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;function a(e){return{code:JF.INVALID_PARAMETER,extraCode:e,fnName:o,messageParams:{key:i,rule:t,value:r}}}if(nD(r)){if(t.required)throw new eB(a(5001));if(nD(t.defaultValue))return void(oD(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),oD(t.type[i])&&r instanceof t.type[i]&&(e=!0),aD(t.type[i])&&iD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new eB({code:JF.INVALID_PARAMETER,extraCode:5002,fnName:o,messageParams:{key:i,rule:{type:t.type.map((e=>mD(e)?fD(e):aD(e)?e:iD(e)))},value:r}})}else if(!nD(t.type)&&iD(r)!==t.type)throw new eB(a(5002));if(!1===t.allowEmpty){let e=sD(r)&&(0===r||Number.isNaN(r)),t=aD(r)&&""===r.trim();if(e||t)throw new eB(a(5003))}if(t.notLessThanZero&&sD(r)&&r<0)throw new eB(a(5006));if(!nD(t.min)&&sD(r)&&r<t.min)throw new eB(a(5007));if(!nD(t.max)&&sD(r)&&r>t.max)throw new eB(a(5008));if(aD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new eB(a(5004))}else if(oD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new eB(a(5004));if(Array.isArray(t.values)&&!t.values.includes(r))throw new eB(a(5005));let{properties:s}=t;eD(s)&&lD(r)&&Object.keys(s).forEach((e=>{XB.call(this,{rule:s[e],value:r&&r[e],key:"".concat(e),fnName:o,className:n})}));let{arrayItem:c}=t;eD(c)&&uD(r)&&r.forEach(((e,t)=>{XB.call(this,{rule:c,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),oD(t.validate)&&t.validate.call(this,r,i,o,n,this)}function $B(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{getRemoteId:t=()=>"",replaceArg:r,getKVReportKey:i,ignoreLog:o,ignoreErrorLog:n}=e;return XL(((e,a)=>function(){for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];var u,d,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(iD(t)):t instanceof MediaStreamTrack?HD(t):(JSON.stringify(t),t)}catch(o){return"type:".concat(iD(t))}}let m=this._log||Xk;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):lM[a],_=(null==n?void 0:n(...c))||!1;try{let r=e.apply(this,c),i=ED();if(pD(r)){let e="".concat(a.includes("Plugin")?"".concat((null==(d=(u=c[0]).getName)?void 0:d.call(u))||""," "):" ");return r.then((r=>(m.info("".concat(a,"() success ").concat(e).concat(t.call(this,...c))),fM.addSuccessEvent({key:f,cost:ED()-i}),r))).catch((r=>{var i;let o=(r=eB.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))),fM.addFailedEvent({key:f,error:r}),r}))}return fM.addSuccessEvent({key:f}),r}catch(lO){let t=(lO=eB.convertFrom.call(this,lO,a)).extraCode||lO.code,r=null!=(h=lO.message)&&h.includes(t)?"":" code:".concat(t);throw _||m.error("".concat(a,"() failed ").concat(lO).concat(r," params: ").concat(JSON.stringify(c,p))),fM.addFailedEvent({key:f,error:lO}),lO}}))}var QB,ZB=e=>XL(((t,r)=>function(i,o){return Gb(this,null,(function*(){let n=this._plugins.get(i);if(!n)throw this._log.error("plugin ".concat(String(i)," is not found")),new eB({code:JF.OPERATION_ABORT,message:"plugin ".concat(String(i)," is not found"),fnName:r});if(oD(n.constructor.isSupported)&&!n.constructor.isSupported())throw this._log.error("plugin ".concat(String(i)," is not supported")),new eB({code:JF.ENV_NOT_SUPPORTED,message:"plugin ".concat(String(i)," is not supported"),extraCode:5210,fnName:r});return JB.call(this,n.getValidateRule(e),[o],r,"TRTC"),t.call(this,n,o)}))})),eH=0,tH=class e{constructor(e){this.core=e,Wb(this,"log"),Wb(this,"customAudioReferenceMap",new Map),Wb(this,"audioRefId",0),Wb(this,"audioContext",dL()),Wb(this,"localAudioWorkletNode"),Wb(this,"screenAudioWorkletNode"),Wb(this,"mixNode"),Wb(this,"silentNode"),eH+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(eH)}),this.log.info("created id=".concat(this.getAlias()).concat(eH)),e.assetsPath&&this.preload("".concat(e.assetsPath,"/audioProcessor-wasm.js"))}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 eB({code:JF.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return QB||(QB=this.doPreload(e)),QB}doPreload(e){return Gb(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield oL(this.audioContext,r)}catch(nO){this.log.error("preload audioProcessor failed. ".concat(nO))}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 Gb(this,null,(function*(){let{room:t}=this.core,{sdkAppId:r,userId:i,assetsPath:o,audioReference:n,processLevel:a,enableDump:s,isLocalAudioNeedAudioProcess:c=!0,isScreenAudioNeedAudioProcess:l=!0}=e;if(this.core.room.audioManager.isLocalAudioNeedAudioProcess=c,this.core.room.audioManager.isScreenAudioNeedAudioProcess=l,yield this.preload("".concat(o,"/audioProcessor-wasm.js")),!this.localAudioWorkletNode||!this.screenAudioWorkletNode){let o=String(Date.now()).slice(0,-3),{auth:n,sign:a,status:s,message:c}=yield function(e){return Gb(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]:Uw.MAIN;return"https://".concat(LB[t]||BB(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 u=BN(t)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",d="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(u);break;case 3:h="Server is invalid. Please contact our engineer. ";break;case 4:h="Your packages is not active. Refer to: ".concat(u);break;case 5:h="Your packages is expired. Refer to: ".concat(u);break;case 6:h="Your version is not supported."}return{auth:!1,status:l,message:s?"".concat(d," Reason: ").concat(s,". ").concat(h):"".concat(d,", ").concat(h)}}()}))}(Ub(xb({},e),{timestamp:o}));if(!n)throw this.log.info("audioProcessor: ".concat(i," auth result: ").concat(n,". Message: ").concat(c)),new eB({code:JF.INVALID_PARAMETER,message:c});this.localAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.localAudioWorkletNode,"localAudio",r,i,o,a,s,t),this.screenAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.screenAudioWorkletNode,"screenAudio",r,i,o,a,s,t)}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()),this.localAudioWorkletNode.port.postMessage({type:"enable"}),this.screenAudioWorkletNode.port.postMessage({type:"enable"}),t.audioManager.addAudioProcessor(this.localAudioWorkletNode,this.mixNode,this.silentNode,this.screenAudioWorkletNode),nD(n)||n.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})})),nD(a)||this.localAudioWorkletNode.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:a}}),nD(s)||this.localAudioWorkletNode.port.postMessage({type:"dump",data:{enable:s}})}))}update(e){return Gb(this,null,(function*(){if(!this.localAudioWorkletNode||!this.screenAudioWorkletNode)return;let{audioReference:t,enableDump:r,processLevel:i}=e;nD(t)||(this.customAudioReferenceMap.forEach(((e,t)=>{this.customAudioReferenceMap.delete(t),this.core.room.audioManager.updateAudioReference({type:"remove",refId:e})})),t.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})}))),nD(i)||this.localAudioWorkletNode.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:i}}),nD(r)||(this.localAudioWorkletNode.port.postMessage({type:"dump",data:{enable:r}}),this.screenAudioWorkletNode.port.postMessage({type:"dump",data:{enable:r}}))}))}stop(){return Gb(this,null,(function*(){if(!(this.localAudioWorkletNode&&this.mixNode&&this.silentNode&&this.screenAudioWorkletNode))return;let{room:e}=this.core;this.localAudioWorkletNode.port.postMessage({type:"disable"}),this.screenAudioWorkletNode.port.postMessage({type:"disable"}),yield e.audioManager.removeAudioProcessor(this.localAudioWorkletNode,this.mixNode,this.silentNode,this.screenAudioWorkletNode)}))}destroy(){this.localAudioWorkletNode&&(this.localAudioWorkletNode.port.onmessage=null),this.screenAudioWorkletNode&&(this.screenAudioWorkletNode.port.onmessage=null)}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(t,"] avg cost: ").concat(i.value," max: ").concat(null==i?void 0:i.max,"(").concat(rw(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(t,"] ").concat(i.value));case"dump":return void zk.emit("265",{room:s,data:i.value,type:"localAudio"===t?"dump":"dump-screen-audio"})}}}};Wb(tH,"updateValidateRule",{type:"object"}),Wb(tH,"stopValidateRule",{type:"object"}),Wb(tH,"Name","AudioProcessor");var rH=tH;var iH=0,oH=class{constructor(e,t){Wb(this,"player"),Wb(this,"publisher"),Wb(this,"mixInput"),this.mixInput=new fL(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&&(nD(e.volume)||(this.volume=e.volume),nD(e.loop)||(this.loop=e.loop),nD(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)}}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 null==(e=this.publisher)||e.play(),null==(t=this.player)?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 nH(e,t){if(t&&"function"!=typeof t)throw new eB({code:JF.INVALID_PARAMETER,message:"start audioMixer plugin: param ".concat(e," should be a function.")})}var aH=class e{constructor(e){this.core=e,Wb(this,"log"),Wb(this,"mixedMusicMap",new Map),Wb(this,"cacheMusicMap",new Map),iH+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(iH)}),this.log.info("created id=".concat(this.getAlias()).concat(iH))}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 Gb(this,null,(function*(){let{room:t}=this.core;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 oH(e,t.audioManager),this.cacheMusicMap.set(r,o)),o.updateListener(e),o.updateSettings(e),yield o.play(),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.")),fM.addEnum({key:502700,value:3}),this.kvUpload(e)}))}update(e){return Gb(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),nD(r)||n.setOperation(r),nD(i)||n.seek(i),this.kvUpload(e)):this.log.warn("update music source failed, music id: ".concat(t," not found."))}))}stop(e){return Gb(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&&fM.addCount({key:502711}),r&&fM.addCount({key:502703}),i&&fM.addCount({key:502704}),o&&fM.addCount({key:502705}),n&&fM.addCount({key:502706}),a&&fM.addCount({key:502707}),"function"!=typeof s&&fM.addCount({key:502709}),"function"!=typeof l&&fM.addCount({key:502710}),"function"!=typeof c&&fM.addCount({key:502708})}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()}};Wb(aH,"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 eB({code:JF.INVALID_PARAMETER,message:"start audioMixer plugin: music url is invalid, please check your file format.",fnName:r})}if(!e.url&&!e.track)throw new eB({code:JF.INVALID_PARAMETER,message:"start audioMixer plugin: param url or track is required.",fnName:r});nH("onTimeUpdate",e.onTimeUpdate),nH("onEnded",e.onEnded),nH("onDurationChange",e.onDurationChange)}}),Wb(aH,"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){nH("onTimeUpdate",e.onTimeUpdate),nH("onEnded",e.onEnded),nH("onDurationChange",e.onDurationChange)}}),Wb(aH,"stopValidateRule",{name:"options",type:"object",required:!0,properties:{id:{type:"string",required:!0}}}),Wb(aH,"Name","AudioMixer");var sH,cH=aH,lH=0,uH=class e{constructor(e){this.core=e,Wb(this,"log"),Wb(this,"audioContext",dL()),Wb(this,"workletNode"),lH+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(lH)}),this.log.info("created id=".concat(this.getAlias()).concat(lH)),e.assetsPath&&this.preload("".concat(e.assetsPath,"/denoiser-wasm.js")).catch((e=>{}))}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}},validate(t,r,i,o){if(!e.room.audioManager.hasAudioTrack)throw new eB({code:JF.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return sH||(sH=this.doPreload(e)),sH}doPreload(e){return Gb(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield oL(this.audioContext,r)}catch(nO){throw this.log.error("load worklet failed",nO),nO}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ad"}getGroup(){return"AIDenoiser_".concat(Date.now())}getValidateRule(t){switch(t){case"start":return e.startValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return Gb(this,null,(function*(){let{room:t,schedule:r}=this.core;if(e.assetsPath&&(yield this.preload("".concat(e.assetsPath,"/denoiser-wasm.js"))),!this.workletNode){let t=String(Date.now()).slice(0,-3),{auth:i,sign:o,status:n,message:a}=yield function(e,t){return Gb(this,arguments,(function(e,t){let{sdkAppId:r,userId:i,userSig:o,timestamp:a}=t;return function*(){try{let{data:{errCode:t,errMsg:n,sign:s,status:c}}=yield e.getAbilityConfig(r,e.ScheduleRequestType.AUDIO_AI_AUTH,{sdkAppId:r,userId:i,userSig:o,timestamp:a});if("1"===c)return{auth:!0,sign:s,status:c,message:n};let l=BN(r)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",u="Init RTCAIDenoiser failed.",d="";switch(t){case 1:d="Please check your params.";break;case 2:d="You need to buy packages. Refer to: ".concat(l);break;case 3:d="Server is invalid. Please contact our engineer. ";break;case 4:d="Your packages is not active. Refer to: ".concat(l);break;case 5:d="Your packages is expired. Refer to: ".concat(l);break;case 6:d="Your version is not supported."}return{auth:!1,status:c,message:n?"".concat(u," Reason: ").concat(n,". ").concat(d):"".concat(u,", ").concat(d)}}catch(n){return{auth:!1,status:"0",message:"Init RTCAIDenoiser failed. All requests failed. ".concat(n)}}}()}))}(r,Ub(xb({},e),{timestamp:t}));if(!i)throw this.log.info("RTCAIDenoiser: ".concat(e.userId," auth result: ").concat(i,". Message: ").concat(a)),new eB({code:JF.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(rw(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.workletNode.port.postMessage({type:"enable"}),t.audioManager.addDenoiser(this.workletNode),t.sendAbilityStatus({ai_denoise:1})}))}update(){return Gb(this,null,(function*(){}))}stop(){return Gb(this,null,(function*(){if(!this.workletNode)return;let{room:e}=this.core;this.workletNode.port.postMessage({type:"disable"}),yield e.audioManager.removeDenoiser(this.workletNode)}))}destroy(){this.workletNode&&(this.workletNode.port.onmessage=null)}};Wb(uH,"updateValidateRule",{type:"object"}),Wb(uH,"stopValidateRule",{type:"object"}),Wb(uH,"Name","AIDenoiser");var dH=uH;var hH=Bb(Kb(),1),pH=class extends hH.EventEmitter{constructor(){super(),Wb(this,"observer"),Wb(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 Gb(this,null,(function*(){if(!this.observer)try{"PressureObserver"in window&&!uC&&(this.observer=new PressureObserver(this.onPressureChange),yield this.observer.observe("cpu",{sampleInterval:2e3}))}catch(cw){kP.uploadEvent({log:"stat-pressure-detector-start-failed",error:cw})}}))}onPressureChange(e){let t=this.stateNum,r=e[e.length-1];this.state=r.state,(this.stateNum>3||t>3)&&Xk.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(dN){kP.uploadEvent({log:"stat-pressure-detector-destroy-failed",error:dN})}}},mH=new pH;function fH(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 lx(new DataView(new Uint8Array(a).buffer),!0)}function _H(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(fH),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 u=0;u<o.length;u++)for(let e=0;e<o[u].dataView.byteLength;e++)s.setInt8(l++,o[u].dataView.getInt8(e));for(let u=0;u<t.data.byteLength;u++)s.setInt8(l++,c.getInt8(u));return t.data=a,t}function gH(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 lx(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(cw){}return t}var EH=0,vH=class e{constructor(e){this.core=e,Wb(this,"log"),Wb(this,"_seiMessageList",[]),Wb(this,"_smallSeiMessageList",[]),Wb(this,"_subStreamSeiMessageList",[]),EH++,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(EH)}),this.log.info("[sei] created id=".concat(this.getAlias()).concat(EH)),this.encode=this.encode.bind(this),this.decode=this.decode.bind(this)}encode(e){let{frame:t,mediaType:r}=e;try{return _H({frame:t,seiMessageList:8===r?this._smallSeiMessageList:2===r?this._subStreamSeiMessageList:this._seiMessageList})}catch(dN){this.log.warn(dN)}return t}decode(e){let{frame:t,track:r}=e;return gH({frame:t,onSEI:e=>{e.forEach((e=>{this.core.trtc.emit(wB.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:$M?this.encode:_H,type:2}),this.core.room.videoManager.addDecodeProcessor({processor:$M?this.decode:gH,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"}};Wb(vH,"autoStart",!0),Wb(vH,"Name","SEI");var yH=vH;function TH(e){let{frame:t,onDump:r}=e;return null==r||r(),t}function IH(e){let{frame:t,onDump:r}=e;return null==r||r(),t}var AH={"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=>{AH["".concat(e,"()")]={tips:"Call trtc.".concat(e),color:"blue",class:"blue",textColor:"#fff"}}));var SH,RH=0,bH=class e{constructor(e){this.core=e,Wb(this,"_core"),Wb(this,"log"),Wb(this,"dumpLocalVideoMap",{}),Wb(this,"dumpRemoteVideoMap",{}),Wb(this,"dialog"),this._core=e,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(++RH)}),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 Gb(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 Gb(this,arguments,(function(e){var t=this;let{forceOpen:r}=e;return function*(){nD(r)&&(r?(yield t.openDebugDiaLog(),t.addVideoProcessor()):(t.closeDebugDiaLog(),t.removeVideoProcessor()))}()}))}stop(){this.closeDebugDiaLog(),this.removeVideoProcessor()}destroy(){this.stop()}openDebugDiaLog(){return Gb(this,null,(function*(){var e;if(!this.dialog)try{if(SH)yield SH;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");SH=this._core.fileDownloader.loadScript(t),yield SH}this.dialog=new TRTCDebugDialog(this._core,this.log,this.dumpLocalVideoMap,this.dumpRemoteVideoMap),this._core.kvStatManager.addSuccessEvent({key:592705})}catch(cw){this._core.kvStatManager.addFailedEvent({key:592705}),this.log.error("load debug dialog script failed: ",JSON.stringify(cw))}}))}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):TH,type:1}),this._core.room.videoManager.addDecodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.decodeVideo.bind(this):IH,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 TH({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 IH({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())}})}};Wb(bH,"Name","Debug"),Wb(bH,"autoStart",!0);var wH=bH,NH=e=>{switch(e){case"webCodecs":return 504703;case"wasm":return 504704}throw new Error("decoder type not supported")},DH=class{constructor(e,t,r){Wb(this,"trackDoneOB"),Wb(this,"startOB"),Wb(this,"stopOB"),Wb(this,"inputFrameCount",0),Wb(this,"decodedFrameCount",0),Wb(this,"type","auto"),Wb(this,"config"),Wb(this,"decoder"),Wb(this,"_decodeSink");let{kvStatManager:i,trtc:o}=e;this.config=r.config,this.trackDoneOB=cU(t,vP.INIT),this.stopOB=Qx(),this.startOB=Qx(),"auto"===r.type?this.type="webCodecs":this.type=r.type;let n=Qx();kx(this.startOB,qx(0),sV((e=>{let r=this.pipe(t);return n.next("STARTING"),t.log.info("decoder type: ".concat(this.type)),kx(r,CU(this.stopOB),DV((()=>{}),(r=>{t.log.error(r),i.addFailedEvent({key:NH(this.type),error:r}),e>4?this.startOB.error(r):this.startOB.next(e+1)}))),kx(r,DU(1),bV(yU))})),CU(this.stopOB),DV((()=>{t.player.setOutput(),n.next("STARTED")}),(e=>{n.next("FAILED")}),(()=>{i.addSuccessEvent({key:NH(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 Fx()((t=>Gb(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(nO){e.log.error(nO),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"}))}},CH={type:"object"},kH=class e{constructor(e){this.core=e,Wb(this,"log"),Wb(this,"contextMap",new Map),Wb(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 CH}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 DH(this.core,i,e);return kx(o.trackDoneOB,DU(1),DV((()=>{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 DH(this.core,e.track,e))}}};Wb(kH,"Name","TRTCAudioDecoder");var OH=kH,MH=class{constructor(){Wb(this,"log"),this.log=Xk.createLogger({id:"exp"})}call(e,t){return Gb(this,null,(function*(){return oD(this[e])?this[e](t):Promise.reject(new Zb({code:$b.INVALID_PARAMETER,message:nM({key:tM.API_NOT_EXIST,data:{name:e}})}))}))}enableAudioFrameEvent(e){return Gb(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(wB.AUDIO_FRAME,e)}),e.userId);c.set(e.userId,r)}}));else{if(c.get(i))return;let e=s.getPCM((e=>{t.emit(wB.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)}}))}};Hb([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return XL(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return nF.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"}}})],MH.prototype,"enableAudioFrameEvent",1);var PH=new MH,LH=0,xH=new Set,UH=null;sw("5.11.0-wasm.1"),Qk.checkStorage(),sP();var VH={RtcError:eB,ErrorCode:JF,ErrorCodeDictionary:XF},FH=class e extends GF.EventEmitter{constructor(t,r){super(),Wb(this,"_room"),Wb(this,"_eventListened",new Set),Wb(this,"_localVideoTrack",null),Wb(this,"_localAudioTrack",null),Wb(this,"_localScreenTrack",null),Wb(this,"_localScreenAudioTrack",null),Wb(this,"_localVideoConfig",null),Wb(this,"_localScreenConfig",null),Wb(this,"_localAudioConfig",null),Wb(this,"_remoteVideoConfigMap",new Map),Wb(this,"_remoteAudioConfigMap",new Map),Wb(this,"_remoteAudioVolumeMap",new Map),Wb(this,"_remoteAudioMuteMap",new Map),Wb(this,"_mediaTrackMap",new WeakMap),Wb(this,"_log",Xk.createLogger({id:"t".concat(++LH)})),Wb(this,"_plugins",new Map),Wb(this,"_networkQuality",null),Wb(this,"_speakerId"),Wb(this,"enterRoomParams"),this._room=new t(xb({logger:this._log,frameWorkType:e.frameWorkType},r)),this._room.videoDecodeFallbackType=r.videoDecodeFallback,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(cH,r.assetsPath),this._use(rH,r.assetsPath),this._use(dH,r.assetsPath),this._use(OH,r.assetsPath||yw),this._use(wH),r.enableSEI&&ZM&&this._use(yH),this._room.on("audio-volume",(e=>{!e.find((e=>""===e.userId))&&this._localAudioTrack&&e.push({userId:"",volume:Math.floor(100*this._localAudioTrack.getAudioLevel())}),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)})),this.emit(wB.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on("error",(e=>{this._log.error(new eB({code:JF.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(nO){let r=nM({key:tM.CATCH_HANDLER_ERROR,data:{name:t,event:o[0]},addDocLink:!1});return Xk.warn("".concat(r,"\n\n").concat(nO.stack)),!1}}})(this,"trtc")}static create(e){}static _create(t,r){!function(){var e;if(qF){qF=!1,5!==Xk.getLogLevel()&&(console.info("******************************************************************************"),console.info("* TRTC Web SDK"),console.info("* API Document: ".concat(vw,"/en/index.html")),console.info("* Changelog: ".concat(vw,"/en/tutorial-01-info-changelog.html")),console.info("* Report issues: https://github.com/LiteAVSDK/TRTC_Web/issues"),console.info("******************************************************************************")),Xk.info("TRTC Web SDK Version:",aw),Dk||Xk.debug("Build Time:","2025-06-11 11:30:02");let t="UA: ".concat(navigator.userAgent," \nCPU core: ").concat(navigator.hardwareConcurrency,", GPU: ").concat(Uk()),r=navigator.deviceMemory;r&&(t+=", minRAM: ".concat(r,"GB")),Xk.info(t),Xk.info("URL: ".concat(location.href).concat("IFRAME"===(null==(e=self.frameElement)?void 0:e.tagName)?" in iframe":"")),xk().then((e=>{e&&Xk.info(Lk)}))}}();let i=new e(t,r||{});return xH.add(i),i}get room(){return this._room}_listenEvents(){DP(this,this._room).add("peer-join",(e=>{let{userId:t}=e;this.emit(wB.REMOTE_USER_ENTER,{userId:t})})).add("peer-leave",(e=>{this.emit(wB.REMOTE_USER_EXIT,{userId:e}),this._remoteAudioVolumeMap.delete(e)})).add("banned",(e=>{this._exitRoom().finally((()=>{this.emit(wB.KICKED_OUT,{reason:e.reason})}))})).add("error",(e=>{this._exitRoom().finally((()=>{this.emit(wB.ERROR,eB.convertFrom(e))}))})).add("signal-connection-state-changed",(e=>{this.emit(wB.CONNECTION_STATE_CHANGED,e)})).add("network-quality",(e=>{this._networkQuality=e;let t=Ub(xb({},e),{uplinkRTT:Math.min(e.uplinkRTT,VN),downlinkRTT:Math.min(e.downlinkRTT,VN)});this.emit(wB.NETWORK_QUALITY,t)})).add("remote-published",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{DP(t,t).add("player-state-changed",(r=>{let i=Ub(xb({},r),{userId:e.userId});t.kind===Uw.VIDEO&&(i.streamType=tB(t.streamType)),this.emit(t.kind===Uw.AUDIO?wB.AUDIO_PLAY_STATE_CHANGED:wB.VIDEO_PLAY_STATE_CHANGED,i)})).add("error",(e=>{e.getCode()===$b.PLAY_NOT_ALLOWED&&this.emit(wB.AUTOPLAY_FAILED,{userId:t.userId,mediaType:t.strMediaType,resume:()=>t.player.resume()})}))}))})).add("remote-unpublished",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{CP(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?wB.REMOTE_VIDEO_AVAILABLE:wB.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"main"})),o!==a&&(a?this._onAudioAvailable({userId:i}):this._onAudioUnavailable({userId:i,muteState:r}),this.emit(a?wB.REMOTE_AUDIO_AVAILABLE:wB.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?wB.REMOTE_VIDEO_AVAILABLE:wB.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"sub"}))})).add("sei-message",(e=>{this.emit(wB.SEI_MESSAGE,Ub(xb({},e),{streamType:tB(e.streamType)}))})).add("firewall-restriction",(()=>{this.emit(wB.ERROR,new eB({code:JF.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,VN),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)/GO},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)/GO,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})))})))};this.emit(wB.STATISTICS,l)})).add("custom-message",(e=>{this.emit(wB.CUSTOM_MESSAGE,e)})).add("layerData",(e=>this.emit(wB.LAYER_DATA,e))).add("first-video-frame",(e=>{this.emit(wB.FIRST_VIDEO_FRAME,Ub(xb({},e),{streamType:tB(e.streamType)}))})).add("audio-frame",(e=>{this.emit(wB.AUDIO_FRAME,e)})),DP(this,wL).add("audioInputAdded",(e=>{this.emit(wB.DEVICE_CHANGED,{type:"microphone",action:"add",device:e})})).add("audioInputRemoved",(e=>{this.emit(wB.DEVICE_CHANGED,{type:"microphone",action:"remove",device:e})})).add("videoInputAdded",(e=>{this.emit(wB.DEVICE_CHANGED,{type:"camera",action:"add",device:e})})).add("videoInputRemoved",(e=>{this.emit(wB.DEVICE_CHANGED,{type:"camera",action:"remove",device:e})})).add("audioOutputAdded",(e=>Gb(this,null,(function*(){if(this.emit(wB.DEVICE_CHANGED,{type:"speaker",action:"add",device:e}),UH&&UH.deviceId===kN){let e=(yield ML()).find((e=>e.deviceId===kN));e&&UH.groupId!==e.groupId&&(UH=e,this.emit(wB.DEVICE_CHANGED,{type:"speaker",action:"active",device:e}))}})))).add("audioOutputRemoved",(e=>Gb(this,null,(function*(){this.emit(wB.DEVICE_CHANGED,{type:"speaker",action:"remove",device:e});let t=(yield ML())[0];if(!t||!UH||UH.groupId===t.groupId)return;let r=UH.deviceId===e.deviceId,i=UH.deviceId===kN&&UH.deviceId===t.deviceId;(r||i)&&(UH=t,this.emit(wB.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}))}))))}use(e){let t,r;"plugin"in e?(t=e.plugin,r=e.assetsPath):t=e,this._use(t,r||yw)}_use(t,r){if(this._plugins.get(t.Name))return void this._log.warn("duplicate install plugin",t.Name);let i=new t(KB.call(this,{TRTC:e,room:this._room,errorModule:VH,assetsPath:r}));this._plugins.set(t.Name,i),t.autoStart&&this.startPlugin(t.Name)}enterRoom(t){return Gb(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),!aD(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,cD(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,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(),mH.start()}))}exitRoom(){return Gb(this,null,(function*(){return yield this._exitRoom()}))}switchRoom(e){return Gb(this,null,(function*(){if(this.room.isSwitchRoomSupported())yield this._room.switchRoom(e);else{yield this.exitRoom();let t=xb(xb({},this.enterRoomParams),e);yield this.enterRoom(t)}}))}switchRole(e,t){return Gb(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(){CP(this),this.removeAllListeners(),this._room.destroy(),xH.delete(this),0===xH.size&&mH.destroy(),this._localAudioTrack&&this.stopLocalAudio(),this._localVideoTrack&&this.stopLocalVideo(),this._localScreenTrack&&this.stopScreenShare(),this._plugins.forEach((e=>{var t;return null==(t=e.destroy)?void 0:t.call(e)})),this._plugins.clear(),zk.off("102",this._onLocalTrackCaptured,this)}startLocalAudio(){return Gb(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 cx(e._room.audioManager),a={},s={muted:!0};o&&(nD(o.microphoneId)?nD(o.audioTrack)||(a.customSource=o.audioTrack):a.deviceId=o.microphoneId,o&&sD(o.captureVolume)&&n.setCaptureVolume(o.captureVolume),nD(o.profile)||(aD(o.profile)?Ow[o.profile]&&n.setProfile(Ow[o.profile]):n.setProfile(o.profile)),sD(o.earMonitorVolume)&&(s.muted=!(o.earMonitorVolume>0),s.volume=o.earMonitorVolume),nD(o.echoCancellation)||(n.profile.echoCancellation=o.echoCancellation),nD(o.noiseSuppression)||(n.profile.noiseSuppression=o.noiseSuppression),nD(o.autoGainControl)||(n.profile.autoGainControl=o.autoGainControl)),n.on("5",(t=>{e.emit(wB.ERROR,new eB({code:JF.DEVICE_ERROR,extraCode:5309,messageParams:{error:t}}))})),n.on("2",(t=>{e.emit(wB.DEVICE_CHANGED,{type:"microphone",action:"active",device:t})})),n.on("4",(t=>{let r;t.error&&(r=eB.convertFrom(t.error)),e.emit(wB.PUBLISH_STATE_CHANGED,Ub(xb({},t),{error:r}))})),e._listenOutputTrackChanged(n),e._speakerId&&n.setAudioOutput(e._speakerId),yield n.capture(a),nD(i)||n.setMute(i),DP(n,n).add("player-state-changed",(t=>{e.emit(wB.AUDIO_PLAY_STATE_CHANGED,Ub(xb({},t),{userId:""}))})),r&&e._room.isJoined&&e._room.publish(n).catch((()=>{})),e._localAudioTrack=n,e._localAudioConfig=Ub(xb({},t),{publish:r}),yield e._updateAudioPlayOption({playOption:s,track:n}),zk.emit("113",{userId:"",room:e.room})}()}))}updateLocalAudio(e){return Gb(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):nD(i.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(i.audioTrack)),nD(i.captureVolume)||this._localAudioTrack.setCaptureVolume(i.captureVolume),nD(i.earMonitorVolume)||(o.muted=!(i.earMonitorVolume>0),o.volume=i.earMonitorVolume),yield this._localAudioTrack.update3A(i)),this._room.isJoined&&!nD(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),nD(r)||this._localAudioTrack.setMute(r),yield this._updateAudioPlayOption({playOption:o,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),bD(this._localAudioConfig,e)}))}stopLocalAudio(){return Gb(this,null,(function*(){this._localAudioTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),zk.emit("114",{userId:"",room:this.room}),this._localAudioTrack.stop(),this._localAudioTrack.close(),this._room.audioManager.removeInput(this._localAudioTrack),CP(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null)}))}startLocalVideo(){return Gb(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 hx(e._room.videoManager),l={},u={};cD(null==s?void 0:s.avoidCropping)&&(c.avoidCropping=s.avoidCropping),s&&(s.cameraId?l.deviceId=s.cameraId:nD(s.useFrontCamera)?nD(s.videoTrack)||(l.customSource=s.videoTrack):l.facingMode=s.useFrontCamera?Uw.FACING_MODE_USER:Uw.FACING_MODE_ENVIRONMENT,nD(s.retryWhenExactFailed)||(l.retryWhenExactFailed=s.retryWhenExactFailed),s.qosPreference&&(l.contentHint=rB(s.qosPreference)),nD(s.profile)||(aD(s.profile)?Mw[s.profile]&&c.setProfile(Mw[s.profile]):c.setProfile(s.profile)),nD(s.fillMode)||(u.objectFit=s.fillMode),nD(s.mirror)||(u.mirror=s.mirror),nD(s.small)||(nD(s.smallMode)||(e._room.smallMode=s.smallMode),cD(s.small)&&!1===s.small?c.stopSmall():c.updateSmallConfig(iB(s.small,!0))),nD(s.rotation)||c.setRotation(s.rotation)),c.once("first-video-frame",(t=>{e.emit(wB.FIRST_VIDEO_FRAME,Ub(xb({},t),{streamType:tB(t.streamType)}))})),c.on("5",(t=>{e.emit(wB.ERROR,new eB({code:JF.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),c.on("2",(t=>{e.emit(wB.DEVICE_CHANGED,{type:"camera",action:"active",device:t})})),c.on("4",(t=>{let r;t.error&&(r=eB.convertFrom(t.error)),e.emit(wB.PUBLISH_STATE_CHANGED,Ub(xb({},t),{error:r}))})),e._listenOutputTrackChanged(c),n?yield c.capture(l):null==(r=c.manager)||r.changeInput(c),nD(a)||(yield c.setMute(a)),DP(c,c).add("player-state-changed",(t=>{e.emit(wB.VIDEO_PLAY_STATE_CHANGED,Ub(xb({},t),{userId:"",streamType:"main"}))})),o&&e._room.isJoined&&e._room.publish(c).catch((()=>{})),e._localVideoTrack=c,e._localVideoConfig=Ub(xb({},t),{view:i,publish:o,capture:n}),yield e._updateVideoPlayOption({view:i,playOption:u,track:c})}()}))}updateLocalVideo(e){return Gb(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):nD(null==c?void 0:c.useFrontCamera)?nD(null==c?void 0:c.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(null==c?void 0:c.videoTrack)):yield this._localVideoTrack.switchDevice(null!=c&&c.useFrontCamera?Uw.FACING_MODE_USER:Uw.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?Uw.FACING_MODE_USER:Uw.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&&(nD(c.profile)||(aD(c.profile)?Mw[c.profile]&&this._localVideoTrack.setProfile(Mw[c.profile]):this._localVideoTrack.setProfile(c.profile),(!c.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(c.cameraId))&&nD(c.useFrontCamera)&&(yield this._localVideoTrack.applyProfile())),nD(c.fillMode)||(l.objectFit=c.fillMode),nD(c.mirror)||(l.mirror=c.mirror),nD(c.rotation)||this._localVideoTrack.setRotation(c.rotation),c.qosPreference&&this._localVideoTrack.mediaTrack&&this._localVideoTrack.setContentHint(rB(c.qosPreference)),nD(c.small)||(cD(c.small)&&!c.small?this._localVideoTrack.stopSmall():this._localVideoTrack.updateSmallConfig(iB(c.small,!0)))),this._room.isJoined&&nD(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((()=>{}))),nD(a)||(yield this._localVideoTrack.setMute(a)),yield this._updateVideoPlayOption({view:o,playOption:l,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),bD(this._localVideoConfig,e)}))}stopLocalVideo(){return Gb(this,null,(function*(){this._localVideoTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),CP(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return Gb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null};return function*(){if(e._localScreenTrack)return void e._log.warn("screen share is already started");let{view:r=null,publish:i=!0,option:o}=t,n=new fx(e._room.videoManager);n.on("4",(t=>{let r;t.error&&(r=eB.convertFrom(t.error)),e.emit(wB.PUBLISH_STATE_CHANGED,Ub(xb({},t),{error:r}))})),n.once("first-video-frame",(t=>{e.emit(wB.FIRST_VIDEO_FRAME,Ub(xb({},t),{streamType:tB(t.streamType)}))})),e._listenOutputTrackChanged(n),"main"===t.streamType&&(n.mediaType=4);let a=null,s={},c={};o&&(nD(o.profile)||(aD(o.profile)?xw[o.profile]&&n.setProfile(xw[o.profile]):n.setProfile(o.profile)),o.systemAudio&&(s.systemAudio=!0,s.echoCancellation=o.echoCancellation,s.noiseSuppression=o.noiseSuppression,s.autoGainControl=o.autoGainControl),nD(o.fillMode)||(c.objectFit=o.fillMode),o.videoTrack&&(s.videoTrack=o.videoTrack),o.audioTrack&&(s.audioTrack=o.audioTrack),o.captureElement&&(s.captureElement=o.captureElement),o.preferDisplaySurface&&(s.preferDisplaySurface=o.preferDisplaySurface),o.qosPreference&&(s.contentHint=rB(o.qosPreference)));let l=yield n.capture(s);if(n.mediaTrack.addEventListener(Uw.ENDED,(()=>{e._stopScreenShare(),e.emit(wB.SCREEN_SHARE_STOPPED)})),l.getAudioTracks()[0]&&(a=new gx(e._room.audioManager),yield a.setInputMediaStreamTrack(l.getAudioTracks()[0]),e._speakerId&&a.setAudioOutput(e._speakerId)),DP(n,n).add("player-state-changed",(t=>{e.emit(wB.VIDEO_PLAY_STATE_CHANGED,Ub(xb({},t),{userId:"",streamType:"sub"}))})),i&&e._room.isJoined){let t=[n];a&&(t.push(a),e._checkScreenAudioEchoCancellation(n,a)),e._room.publish(...t).catch((()=>{}))}e._localScreenTrack=n,e._localScreenAudioTrack=a,e._localScreenConfig=Ub(xb({},t),{view:r,publish:i}),yield e._updateVideoPlayOption({view:r,playOption:c,track:n})}()}))}updateScreenShare(e){return Gb(this,null,(function*(){if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:t,publish:r,option:i}=e,o={};if(i&&(nD(i.fillMode)||(o.objectFit=i.fillMode),i.qosPreference)){let e=rB(i.qosPreference);this._localScreenTrack.setContentHint(e)}this._room.isJoined&&!nD(r)&&(r&&!this._localScreenConfig.publish&&(this._room.publish(this._localScreenTrack).catch((()=>{})),this._localScreenAudioTrack&&this._room.publish(this._localScreenAudioTrack).catch((()=>{}))),this._localScreenConfig.publish&&!r&&(this._room.unpublish(this._localScreenTrack).catch((()=>{})),this._localScreenAudioTrack&&this._room.unpublish(this._localScreenAudioTrack).catch((()=>{})))),yield this._updateVideoPlayOption({view:t,playOption:o,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),bD(this._localScreenConfig,e)}))}stopScreenShare(){return Gb(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return Gb(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;this._listenOutputTrackChanged(c),o&&(nD(o.fillMode)||(s.objectFit=o.fillMode),nD(o.mirror)||(s.mirror=o.mirror),nD(o.poster)||(s.poster=o.poster),s.canvasRender=o.canvasRender,"main"===i&&!nD(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&&!nD(o.receiveWhenViewVisible)&&this._observeView({remoteTrack:c,view:t,receiveWhenViewVisible:o.receiveWhenViewVisible,viewRoot:null==o?void 0:o.viewRoot})}))}updateRemoteVideo(e){return Gb(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&&(nD(a.fillMode)||(l.objectFit=a.fillMode),nD(a.mirror)||(l.mirror=a.mirror));let u=null,d=this._room.remotePublishedUserMap.get(o);if("main"===n&&null!=d&&d.muteState.hasVideo&&(u=d.remoteVideoTrack),"sub"===n&&null!=d&&d.muteState.hasAuxiliary&&(u=d.remoteAuxiliaryTrack),!u)return;let{config:h}=c;"main"===n&&a&&!nD(a.small)&&this._room.changeType(a.small,u.user),yield this._updateVideoPlayOption({view:i,playOption:l,track:u,prevConfig:h}),bD(h,e);let p=nD(null==a?void 0:a.receiveWhenViewVisible)?null==(t=h.option)?void 0:t.receiveWhenViewVisible:a.receiveWhenViewVisible,m=nD(i)?h.view:i,f=nD(null==a?void 0:a.viewRoot)?null==(r=h.option)?void 0:r.viewRoot:a.viewRoot;this._observeView({remoteTrack:u,view:m,receiveWhenViewVisible:p,viewRoot:f})}))}stopRemoteVideo(e){return Gb(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Gb(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 Gb(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(nO){throw this._remoteAudioMuteMap.delete(e),nO}}))}setRemoteAudioVolume(e,t){if("*"===e){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 Gb(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return Gb(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return Gb(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(wB.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{NB.has(e)&&this._log.debug("emit ".concat(e," ").concat(JSON.stringify(r)))}catch(nO){}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(aD(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 Gb(this,null,(function*(){(yield ML()).forEach((t=>{t.deviceId===e&&(this._setCurrentSpeaker(e),this.emit(wB.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}),UH=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 Gb(this,null,(function*(){let{userId:t}=e;if(this._remoteAudioConfigMap.has(t))return void this._log.warn("remote audio has already started. userId:".concat(t));let r=this._room.remotePublishedUserMap.get(t);if(!r)return;let i={},o=r.remoteAudioTrack;this._listenOutputTrackChanged(o),this._speakerId&&o.setAudioOutput(this._speakerId);try{let r=this._remoteAudioVolumeMap.get(t),n=sD(r)?r:100;i.volume=n,this._remoteAudioConfigMap.set(t,e),yield this._room.subscribe(o),kx(cU(o,"decode-failed"),CU(cU(o,vP.INIT)),DV((()=>{this.startPlugin(OH.Name,{track:o,type:"auto",config:{codec:"opus",sampleRate:48e3,numberOfChannels:1}})}))),yield this._updateAudioPlayOption({playOption:i,track:o}),zk.emit("115",{userId:t,room:this.room}),o.outMediaTrack&&this.room.audioManager.updateAudioReference({type:"add",audioReference:o.outMediaTrack,refId:"ra-".concat(t)})}catch(aO){throw this._remoteAudioConfigMap.delete(t),aO}this._emitTrackEvent(o)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Gb(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)),zk.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),kx(cU(e,"decode-failed"),CU(cU(e,vP.INIT)),CV((()=>{this.startPlugin("TRTCVideoDecoder",{type:"auto",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:i})})),lV(cU(e,"decode-downgrade-state-changed")),DV((i=>{r=i.state,this.emit(wB.VIDEO_DECODE_DOWNGRADE_STATE_CHANGED,Ub(xb({},i),{streamType:t,userId:e.userId}))}),(t=>{e.log.error("fallback",t)}),(()=>{"STARTED"===r&&e.log.info("fallback complete")}))))}_updateVideoPlayOption(e){return Gb(this,arguments,(function(e){let{view:t,playOption:r,track:i,prevConfig:o}=e;return function*(){if(i.setMirror(r.mirror),nD(t)&&o&&o.view&&!ID(r)){let e=ND(o.view);e.length>0&&(yield i.play(e,r))}if(!nD(t)){let e=ND(t);e.length>0?yield i.play(e,r):i.stop()}}()}))}_updateAudioPlayOption(e){return Gb(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(lw){}if(nD(r.muted)||i.setPlayerMute(r.muted),nD(r.volume)||i.setAudioVolume(r.volume/100),i instanceof cx&&i.mediaTrack){let e=!1===r.muted&&!nD(r.volume)&&r.volume>0?"add":"remove";t.room.audioManager.updateAudioReference({type:e,audioReference:i.mediaTrack,refId:"em"})}else if(i instanceof LV){let e=r.muted?0:r.volume;if(nD(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(wB.TRACK,{userId:r,streamType:tB(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(nD(r))return;let n=this._remoteVideoConfigMap.get("".concat(t.userId,"_").concat(tB(t.streamType)));if(!n)return;let a=n.observer||void 0;if(null===r||uD(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(ND(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 Gb(this,null,(function*(){this._room.isJoined&&(yield this._room.leave()),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(),this._remoteAudioVolumeMap.clear(),function(e){let t=zB.get(e);t&&(t.forEach((e=>clearTimeout(e))),zB.delete(e))}(this),this._room.remotePublishedUserMap.forEach((e=>{CP(e.remoteAudioTrack),CP(e.remoteVideoTrack),CP(e.remoteAuxiliaryTrack)}))}))}_stopScreenShare(){return Gb(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),CP(this._localScreenTrack),this._localScreenTrack=null,this._localScreenConfig=null}}))}_checkScreenAudioEchoCancellation(e,t){return Gb(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(aO){this._log.warn("start audioProcessor plugin failed: ",aO)}}}))}_onLocalTrackCaptured(e){let{track:t}=e;"audio"===t.kind&&(!UH||NL(UH))&&(this._initActiveSpeaker(),zk.off("102",this._onLocalTrackCaptured,this))}_initActiveSpeaker(){return Gb(this,null,(function*(){if(UH&&!NL(UH))this.emit(wB.DEVICE_CHANGED,{type:"speaker",action:"active",device:UH});else{let e=yield ML();e[0]&&!NL(e[0])?(UH=e[0],this.emit(wB.DEVICE_CHANGED,{type:"speaker",action:"active",device:e[0]})):zk.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:Ub(xb({seiPayloadType:243},t),{small:!(null==(r=this._localVideoTrack)||!r.small)})}),fM.addCount({key:5e5,useUV:!0}))}sendCustomMessage(e){var t,r;null==(r=(t=this._room).sendCustomMessage)||r.call(t,e),fM.addCount({key:500001,useUV:!0})}callExperimentalAPI(e,t){return Gb(this,null,(function*(){return this._log.info("callExperimentalAPI(".concat(e,", ").concat(JSON.stringify(t),")")),PH.call(e,xb({trtcInstance:this},t))}))}static setLogLevel(e,t){Xk.setLogLevel(e),nD(t)||(t?Xk.enableUploadLog():Xk.disableUploadLog())}static isSupported(){return wM()}static getCameraList(){return kL(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getMicrophoneList(){return CL(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getSpeakerList(){return ML(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static setCurrentSpeaker(t){return Gb(this,null,(function*(){if(!uC||t!==YF.SPEAKER&&t!==YF.HEADSET)(yield ML()).forEach((e=>{e.deviceId===t&&(xH.forEach((r=>{r._setCurrentSpeaker(t),r.emit(wB.DEVICE_CHANGED,{type:"speaker",action:"active",device:e})})),UH=e)}));else{let r=yield e.getMicrophoneList(),i="";if(r.forEach((e=>{e.label===t&&(i=e.deviceId)})),!i)return;xH.forEach((e=>Gb(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&&(mM.version=a),t){case"count":mM.addCount({key:r,useUV:n});break;case"enum":mM.addEnum({key:r,value:i,useUV:n});break;case"number":mM.addNumber({key:r,value:i,split:o,max:s})}}};Wb(FH,"_loggerManager",Xk),Wb(FH,"EVENT",wB),Wb(FH,"ERROR_CODE",JF),Wb(FH,"TYPE",YF),Wb(FH,"frameWorkType",30),Hb([$B({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"}})})],FH.prototype,"use",1),Hb([qB(fB.TRTC.enterRoom),SB("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})),XL((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t)})),$B()],FH.prototype,"enterRoom",1),Hb([$B()],FH.prototype,"exitRoom",1),Hb([qB(fB.TRTC.switchRoom),$B(),rx()],FH.prototype,"switchRoom",1),Hb([qB(fB.TRTC.switchRole),RB("room",{merge:(e,t)=>t}),$B()],FH.prototype,"switchRole",1),Hb([$B()],FH.prototype,"destroy",1),Hb([qB(fB.TRTC.startLocalAudio),SB("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)})),$B()],FH.prototype,"startLocalAudio",1),Hb([qB(fB.TRTC.updateLocalAudio),RB("audio",{debounce:{delay:200,getKey:()=>"".concat(LH,"-localAudio"),isNeedToDebounce:e=>{var t;return!nD(null==(t=e.option)?void 0:t.captureVolume)}}}),$B()],FH.prototype,"updateLocalAudio",1),Hb([bB("audio"),$B()],FH.prototype,"stopLocalAudio",1),Hb([qB(fB.TRTC.startLocalVideo),SB("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)})),$B()],FH.prototype,"startLocalVideo",1),Hb([qB(fB.TRTC.updateLocalVideo),RB("video"),$B()],FH.prototype,"updateLocalVideo",1),Hb([bB("video"),$B()],FH.prototype,"stopLocalVideo",1),Hb([qB(fB.TRTC.startScreenShare),SB("screen",(()=>!0)),$B()],FH.prototype,"startScreenShare",1),Hb([qB(fB.TRTC.updateScreenShare),RB("screen"),$B()],FH.prototype,"updateScreenShare",1),Hb([$B()],FH.prototype,"stopScreenShare",1),Hb([qB(fB.TRTC.startRemoteVideo),SB((e=>"v".concat(e.userId).concat(e.streamType)),(()=>!0)),$B({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],FH.prototype,"startRemoteVideo",1),Hb([qB(fB.TRTC.updateRemoteVideo),RB((e=>"v".concat(e.userId).concat(e.streamType))),$B({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],FH.prototype,"updateRemoteVideo",1),Hb([qB(fB.TRTC.stopRemoteVideo),XL((e=>function(t){return Gb(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)}))})),$B({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],FH.prototype,"stopRemoteVideo",1),Hb([bB((e=>"v".concat(e.userId).concat(e.streamType)))],FH.prototype,"_stopRemoteVideo",1),Hb([qB(...fB.TRTC.muteRemoteAudio),$B({getRemoteId:e=>e})],FH.prototype,"muteRemoteAudio",1),Hb([YB(...fB.TRTC.setRemoteAudioVolume),function(e,t){return XL(((r,i)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a=zB.get(this);a||(a=new Map,zB.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=zB.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=zB.get(this))||e.delete(s)}),e);a.set(s,t)}}))}(200,(e=>e)),$B({getRemoteId:e=>e})],FH.prototype,"setRemoteAudioVolume",1),Hb([ZB("start"),JL((e=>{var t;return null==(t=e.afterStart)?void 0:t.call(e)})),SB(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),$B({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>uM[e.getName()],ignoreLog:e=>"Debug"===e.getName(),ignoreErrorLog:e=>"AudioProcessor"===e.getName()})],FH.prototype,"startPlugin",1),Hb([ZB("update"),RB(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),$B({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>dM[e.getName()]})],FH.prototype,"updatePlugin",1),Hb([ZB("stop"),bB(((e,t)=>{if(e.disableRandomCall)return null;let r=e.getGroup(t),i=e.getAlias();return"*"===r?new RegExp("".concat(i,".*")):i+r})),$B({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>hM[e.getName()]})],FH.prototype,"stopPlugin",1),Hb([YB(...fB.TRTC.enableAudioVolumeEvaluation)],FH.prototype,"enableAudioVolumeEvaluation",1),Hb([$B()],FH.prototype,"getVideoSnapshot",1),Hb([$B()],FH.prototype,"_setCurrentSpeaker",1),Hb([SB((e=>"a".concat(e.userId)),(()=>!0))],FH.prototype,"_startRemoteAudio",1),Hb([XL((e=>function(t){return Gb(this,null,(function*(){return"*"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio(Ub(xb({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),bB((e=>"a".concat(e.userId)))],FH.prototype,"_stopRemoteAudio",1),Hb([bB("room")],FH.prototype,"_exitRoom",1),Hb([bB("screen")],FH.prototype,"_stopScreenShare",1),Hb([qB(...fB.TRTC.sendSEIMessage),KF({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}})],FH.prototype,"sendSEIMessage",1),Hb([qB(fB.TRTC.sendCustomMessage),KF({timesInSecond:30,maxSizeInSecond:8e3,getSize:e=>e.data.byteLength})],FH.prototype,"sendCustomMessage",1),Hb([qB(fB.TRTC.create)],FH,"_create",1);var BH=FH,HH=class{constructor(e,t){Wb(this,"_flag"),Wb(this,"terminalType"),Wb(this,"userId"),Wb(this,"tinyId"),Wb(this,"role"),Wb(this,"remoteAudioTrack"),Wb(this,"remoteVideoTrack"),Wb(this,"remoteAuxiliaryTrack"),this.userId=t.userId||"",this.tinyId=t.tinyId||"",this.role=t.role||"audience",this.terminalType=t.terminalType,this.remoteAudioTrack=new LV(e,this),this.remoteVideoTrack=new eF(e,this),this.remoteAuxiliaryTrack=new tF(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 AD(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()}},WH=class{constructor(){Wb(this,"_set",new Set),zk.on(Yk.LEAVE_SUCCESS,this.delete,this),zk.on(Yk.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 jH(){return Gb(this,null,(function*(){let e,t;try{let t=yield CL();e=t&&t.length}catch(d){}try{let e=yield kL();t=e&&e.length}catch(d){}let r={microphone:e,camera:t},{isH264EncodeSupported:i,isVp8EncodeSupported:o,isH264DecodeSupported:n,isVp8DecodeSupported:a}=this.checkSystemResult.detail,s=Zk.basis(),c={webRTC:s.isWebRTCSupported,getUserMedia:s.isGetUserMediaSupported,webSocket:s.isWebSocketsSupported,screenShare:s.isScreenShareSupported,webAudio:s.isWebAudioSupported,h264Encode:i,h264Decode:n,vp8Encode:o,vp8Decode:a},l={browser:s.browser,os:s.os,trtc:c,devices:r},u={isWebCodecSupported:s.isWebCodecSupported,isMediaSessionSupported:s.isMediaSessionSupported,isWebTransportSupported:s.isWebTransportSupported};kP.uploadEvent({log:"trtcstats-".concat(JSON.stringify(l)),userId:this.userId}),this._log.info("TrtcStats-".concat(JSON.stringify(l))),kP.uploadEvent({log:"trtcadvancedstats-".concat(JSON.stringify(u)),userId:this.userId})}))}var GH=class{constructor(e){Wb(this,"_frameWorkType"),Wb(this,"_component"),Wb(this,"_language"),Wb(this,"connectionType"),Wb(this,"_room"),Wb(this,"_signalInfo",{tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0,endReportExtend:void 0}),Wb(this,"_keyPrefix"),Wb(this,"_log"),Wb(this,"_intervalId"),Wb(this,"_firstPublishedUserList"),Wb(this,"_networkQuality"),Wb(this,"_basicInfo"),Wb(this,"_pathJoinRoom"),Wb(this,"_pathLeaveRoom"),Wb(this,"_pathMainVideoMap"),Wb(this,"_pathMainAudioMap"),Wb(this,"_pathAuxiliaryMap"),Wb(this,"_remoteStreamStatMap"),Wb(this,"_localStreamStat"),Wb(this,"_eventMap",new Map),Wb(this,"_captureCostSum",0),Wb(this,"_captureCostCount",0),Wb(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=Xk.createLogger({id:"kpm",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith("handle")&&oD(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 pD(n)?n.catch((e=>Xk.error("".concat(t.name,"() error observed ").concat(e)))):n}catch(dN){Xk.error("".concat(t.name,"() error observed ").concat(dN))}}}({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}},this._pathMainVideoMap=new Map,this._pathMainAudioMap=new Map,this._pathAuxiliaryMap=new Map,this._remoteStreamStatMap=new Map,xk().then((e=>{this._basicInfo.string_os_version=Wk(),this._basicInfo.string_device_name=e&&e.mobile?e.model:this._basicInfo.string_os_version}))}addEvent(e,t){return this._eventMap.set(e,t),zk.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(Yk.JOIN_START,this.handleJoinStart).addEvent(Yk.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(Yk.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(Yk.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(Yk.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(Yk.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(Yk.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(Yk.JOIN_FAILED,this.handleJoinFailed).addEvent(Yk.LEAVE_START,this.handleLeaveStart).addEvent(Yk.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(Yk.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(Yk.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(Yk.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(Yk.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(Yk.PUBLISH_START,this.handlePublishStart).addEvent(Yk.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(Yk.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(Yk.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(Yk.PLAY_TRACK_START,this.handlePlayStart).addEvent(Yk.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(Yk.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,type:i}=e;!t.isRemote||!this.hitTest(t.room)||"PLAYING"===r&&(i===Uw.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(Yk.SWITCH_ROOM_START,this.handleSwitchRoomStart).addEvent(Yk.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess).addEvent(Yk.SWITCH_ROOM_FAILED,this.handleSwitchRoomFailed).addEvent(Yk.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(Yk.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(Yk.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(Yk.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(Yk.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)=>zk.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),RP.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&&(nD(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),nD(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),nD(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 Zb?Number(r.getExtraCode()||r.getCode()):$b.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 Zb?Number(r.getExtraCode()||r.getCode()):$b.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:Ub(xb({},zH),{msg_user_info:new qH({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 qH({userId:n,tinyId:a,role:"anchor"===s?20:21}),l=Date.now(),u="".concat(n,"_").concat(i),d=this._remoteStreamStatMap.get(u);d&&0===d.subscribeStartTime&&(d.subscribeStartTime=l),"main"===i?(r.muteState.hasVideo&&(o.video||o.smallVideo)&&!this._pathMainVideoMap.has(u)&&this._pathMainVideoMap.set(u,{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(u)&&this._pathMainAudioMap.set(u,{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(u)&&this._pathAuxiliaryMap.set(u,{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,fM.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/GO*100)>0&&(this._localStreamStat.totalAudioLevel+=e/GO,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*Pb(10,6)))}})),!ID(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/GO*100)>0&&(t.totalAudioLevel+=r.uint32_audio_level/GO,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 Zb?r.getExtraCode()||r.getCode():$b.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&Hw))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&Gw))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&jw))>=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,Uw.AUDIO),e.statsToReport.uint32_video_play_time=o.getDuration(t,Uw.VIDEO)),e.statsToReport.uint32_video_render_first&&(e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,KH));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>KH&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+KH):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>KH&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+KH):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>KH&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+KH)}getReportData(){this._basicInfo.uint32_networkType=zN();let e={uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new qH({userId:this._room.userId,tinyId:this._room.tinyId,role:"anchor"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:RD(this._signalInfo.relayIp),uint32_client_ip:RD(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(Math.random()*Pb(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:RD(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,bytes_report_buf_from_0x1:this._signalInfo.endReportExtend};return UD(e),e}report(){return Gb(this,null,(function*(){try{this.prepareReport();let e=this.getReportData();yield this.upload(e),this.initData()}catch(oO){this._log.warn(oO)}finally{this.isDestroyed&&(this._room=null)}}))}upload(e){return Gb(this,null,(function*(){if(0===e.msg_path_enter_room.uint64_start_time)return;let t=Number(this._room.sdkAppId),r=yield KD(e),i=r instanceof ArrayBuffer,o="".concat(HN(t,Rw.KEY_POINT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r));let a=[this.uploadKVStat(fM),this.uploadKVStat(mM)];n||a.push(GD({url:o,body:r,priority:"low"})),yield Promise.all(a)}))}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}uploadKVStat(e){return Gb(this,null,(function*(){let t=e.getReportData();if(0===t.stats_count.length&&0===t.stats_distribution.length)return;t.msg_sdk_basic_info=Ub(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=yield KD(t),i="".concat(HN(+this._room.sdkAppId,Rw.KV_STAT),"&gzip=").concat(+(r instanceof ArrayBuffer)),o=!1;navigator.sendBeacon&&(o=navigator.sendBeacon(i,r)),o||GD({url:i,body:r})}))}};Hb([MP({settings:{timeout:500,retries:3}})],GH.prototype,"upload",1);var KH=5e3,zH={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},qH=class{constructor(e){Wb(this,"str_identifier"),Wb(this,"str_tinyid"),Wb(this,"uint32_role"),this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},YH=GH,JH=class{constructor(){Wb(this,"_startTime"),Wb(this,"_endTime"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=ED())}stop(){0===this._endTime&&(this._endTime=ED())}getDuration(){return 0===this._endTime?ED()-this._startTime:this._endTime-this._startTime}get startTime(){return this._startTime}get endTime(){return this._endTime}},XH=class{constructor(e){Wb(this,"_room",null),Wb(this,"_durationMap"),Wb(this,"_eventMap",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(Yk.REMOTE_TRACK_SUBSCRIBED,this.handleSubscribed).set(Yk.REMOTE_TRACK_UNSUBSCRIBED,this.handleUnsubscribed).set(Yk.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"),Uw.AUDIO),r.hasVideo&&!i.hasVideo&&this.stopDurationItem("".concat(n,"_main"),Uw.VIDEO),r.hasAuxiliary&&!i.hasAuxiliary&&this.stopDurationItem("".concat(n,"_auxiliary"),Uw.VIDEO);let a=null==(o=this._room)?void 0:o.remotePublishedUserMap.get(n);a&&(!r.hasAudio&&i.hasAudio&&a.remoteAudioTrack.isSubscribed&&this.addDuractionItem(n,Uw.AUDIO,"main"),!r.hasVideo&&i.hasVideo&&a.remoteVideoTrack.isSubscribed&&this.addDuractionItem(n,Uw.VIDEO,"main"),!r.hasAuxiliary&&i.hasAuxiliary&&a.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(n,Uw.VIDEO,"auxiliary"))})),this._eventMap.forEach(((e,t)=>zk.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>zk.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 JH,n=this._durationMap.get(i);n?this.isRecording(n[t])||n[t].push(o):this._durationMap.set(i,{userId:e,type:r,audio:t===Uw.AUDIO?[o]:[],video:t===Uw.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()}},$H=class{constructor(e){Wb(this,"_room"),Wb(this,"_renderFreezeMap",new Map),Wb(this,"_isVideoPlayingEventFiredMap",new Map),Wb(this,"_dataFreezeMap",new Map),Wb(this,"_monitorFreezeData",new Map),Wb(this,"_eventMap",new Map),this._room=e.room,this.installEvents()}getRenderFreezeMap(){return this._renderFreezeMap}getDataFreezeMap(){return this._dataFreezeMap}installEvents(){this._eventMap.set(Yk.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(Yk.PLAY_TRACK_START,this.onPlayTrackStart).set(Yk.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(Yk.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(Yk.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,reason:i,type:o}=e;if(t.isRemote&&t.room&&this.hitTest(t.room)&&o===Uw.VIDEO){if("PLAYING"===r){let e="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}i===Uw.MUTE?this.onVideoTrackMuted(t):i===Uw.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(Yk.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach(((e,t)=>zk.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>zk.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 JH;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;this.hitTest(t)&&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"})}))}))}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>TN?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 Gb(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=ED();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=ED();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!==Uw.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()<TN&&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=ED()-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()}},QH=Bb(Kb(),1),ZH=[1,0,0,0,1,1,0,1],eW=class extends VV{constructor(e,t,r,i){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:"transform",logger:t}),Wb(this,"mirror",!1),Wb(this,"rotation",0),r&&(this.mirror=r),i&&(this.rotation=i),e instanceof QV)try{this.setTexBuffer(ZH)}catch(lw){e.destroy(new Zb({code:$b.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(lw.message||lw)}))}}draw2d(e,t,r,i,o){if(this.ctx2d){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)}},tW=class{constructor(e,t){this.node=e,this.layout=t,Wb(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}},rW=class extends VV{constructor(e,t){super(e,{useDefaultProgram:!0,useFbo:!0,name:"mix",create2d:!0,matchInputSize:!1,logger:t}),Wb(this,"inputs",[])}addInput(e,t){if(this.inputs[t.zIndex])throw new Error("input already exists");let r=new tW(e,t);this.inputs[t.zIndex]=r}changeInputLayout(e,t){let r=this.inputs.findIndex((t=>!!t&&t.node===e));r<0||Object.entries(t).forEach((e=>{let[t,i]=e;nD(i)||(this.inputs[r].layout[t]=i)}))}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 QV&&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.matchInputSize&&this.resize(0,0),e}removeInput(e){this.inputs[this.inputs.findIndex((t=>(null==t?void 0:t.node)===e))]=void 0}render(e){let t=this.context.ctx;if(t.clearColor(0,0,0,0),this.inputs.reduce(((t,r)=>(null==r?void 0: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.reduce(((t,r)=>(null==r?void 0:r.node.requestFrame(e))||t),!1)&&this.ctx2d){this.ctx2d.fillStyle="black",this.ctx2d.fillRect(0,0,this.width,this.height);for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];t&&this.draw2d(t.node.image,t.x,t.y,t.width,t.height)}return!0}return!1}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)}close(){super.close(),this.inputs.forEach((e=>{var t,r;if(e&&(null==(t=e.node)||t.disconnect(),e.positionBuffer&&this.context instanceof QV))try{null==(r=this.context.ctx)||r.deleteBuffer(e.positionBuffer)}catch(cO){}}))}},iW=class{constructor(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4/3;this.vbMode=e,this.faceDetector=t,this.logger=r,Wb(this,"animationState"),Wb(this,"originalAspect"),Wb(this,"totalOffsetX",0),Wb(this,"totalOffsetY",0),Wb(this,"defaultScaleRatio",.1),Wb(this,"isRecovering",!1),Wb(this,"boundaryY",280),Wb(this,"lastActionTime",0),Wb(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.faceDetector),this.originalAspect=i||4/3}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?fM.addSuccessEvent({key:i.key}):fM.addFailedEvent({key:i.key,error:i.error}))}actionCentering(e){let t=Date.now();if(this.animation(),!this.faceDetector||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;try{let t=this.faceDetector.detectForVideo(e,Date.now());if(t.detections.length<=0)return void this.recoverOriginal(r,i);let o=t.detections[0].boundingBox,n=o.originX,a=o.originY,s=o.width,c=o.height;1===this.vbMode?this.dualStageCropping(r,i,n,a,s,c):2===this.vbMode&&this.movingPortrait(r,i,n,a,s,c)}catch(cO){this.logger.error(cO)}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,u=t+i/2,{min:d,offset:h}=this.calculateBoundary(l,o,e,r),{min:p,offset:m}=this.calculateBoundary(u,n,t,i);return a=2*d+r,s=2*p+i,a/s>this.originalAspect?(a=s*this.originalAspect,h=l-a/2):(s=a/this.originalAspect,m=u-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)),sD(this.animationState.current.scaleOffsetX)&&sD(this.animationState.target.scaleOffsetX)&&sD(this.animationState.current.scaleOffsetY)&&sD(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(Pb(e.sx-t.sx,2)+Pb(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,u,d,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!=(d=null==(u=this.animationState.current)?void 0:u.scaleOffsetY)?d: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}},oW=class extends YV{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}),Wb(this,"_bgTexture"),Wb(this,"_waterMarkTexture"),Wb(this,"_lastMaskTexture"),Wb(this,"_lastMaskFbo"),Wb(this,"_textureValid",!1),Wb(this,"_selfieTextureValid",!1),Wb(this,"_selfieSegmentation"),Wb(this,"wasm"),Wb(this,"_prePrograme"),Wb(this,"_segmentationMask"),Wb(this,"_weixin",!1),Wb(this,"_centerFace"),Wb(this,"_textureMatrixLocation"),Wb(this,"_offsetMatrixLocation"),Wb(this,"_enableFaceCentering",!1),Wb(this,"_mat4"),t.selfieSegmentation&&(this._selfieSegmentation=t.selfieSegmentation,this._selfieSegmentation.onResults=this.onPredict.bind(this));try{this.init(t)}catch(nO){e.log.error(nO),e.destroy(new Zb({code:$b.VIDEO_MANAGER_ERROR,extraCode:6,message:"init vb node error ".concat(nO.message||nO)}))}}init(e){var t;let r=e.Wasm,i=this.context.ctx;if(this._mat4=e.mat4,this.wasm=new r.AllIn1(i),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:"green"===e.bg?3:0,this._enableFaceCentering=null!=(t=e.enableFaceCentering)&&t,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)}if(this.program=this.wasm.init(),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),i.uniform1i(i.getUniformLocation(this.program,"mask"),1),e.bg instanceof HTMLImageElement&&(i.uniform1i(i.getUniformLocation(this.program,"bg"),2),this._bgTexture=this.createTexture(e.bg)),e.waterMark&&(i.uniform1i(i.getUniformLocation(this.program,"waterMark"),3),this._waterMarkTexture=this.createTexture(e.waterMark.image)),this._textureMatrixLocation=i.getUniformLocation(this.program,"u_textureMatrix"),i.uniformMatrix4fv(this._textureMatrixLocation,!1,this._mat4.create()),this._offsetMatrixLocation=i.getUniformLocation(this.program,"u_offsetMatrix"),i.uniformMatrix4fv(this._offsetMatrixLocation,!1,this._mat4.create()),i.uniform1i(i.getUniformLocation(this.program,"lastMask"),4),this._weixin){let e=this.context.createShader(i.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(i.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),i.useProgram(this._prePrograme),this.setAttributes(this.positionBuffer,this.texCoordBuffer),i.uniform1i(i.getUniformLocation(this._prePrograme,"mask"),1)}this._enableFaceCentering&&Gb(this,null,(function*(){return this._centerFace=new iW(this.wasm.vbMode,yield e.faceDetector(),this.context.log)}))}onPredict(e){var t;let r=this.context.ctx;this._weixin&&(this._lastMaskTexture||(this._lastMaskTexture=this.createTexture(this.image),this._lastMaskFbo=this.createFramebuffer(this._lastMaskTexture))),this.useProgram(),this._weixin?this.useTexture():null==this||this._selfieSegmentation.bindTexture(),r.activeTexture(r.TEXTURE1),null==(t=this._selfieSegmentation)||t.bindTexture2d(e),r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,this._bgTexture||null),r.activeTexture(r.TEXTURE3),r.bindTexture(r.TEXTURE_2D,this._waterMarkTexture||null),this.useBufferFrame(),this._segmentationMask=e,this.totalFrames++,this.centerFace(),r.drawArrays(r.TRIANGLE_STRIP,0,4)}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){var t,r,i,o;let n=this.context.ctx,{image:a}=this;this.tryVideoFrameCallback();let{videoWidth:s,videoHeight:c}=a;if(jD(this.wasm.rotation)&&([s,c]=[c,s]),0===s||0===c||!this.available)return!1;a.width=s,a.height=c;let l=!1;if(this.totalFrames)this._weixin?this.useTexture():null==(t=this._selfieSegmentation)||t.bindTexture(),l=this._selfieTextureValid,this._selfieTextureValid=!0;else{if(!this.program)return!1;this.useTexture(),l=this._textureValid,this._textureValid=!0}return this.width===s&&this.height===c&&l?n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,a):(this.resize(s,c),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,a)),this._weixin&&(n.useProgram(this._prePrograme),this.useTexture(),this._segmentationMask&&(n.activeTexture(n.TEXTURE1),null==(r=this._selfieSegmentation)||r.bindTexture2d(this._segmentationMask),n.bindFramebuffer(n.FRAMEBUFFER,this._lastMaskFbo||null)),n.drawArrays(n.TRIANGLE_STRIP,0,4),null==(i=this._selfieSegmentation)||i.bindTexture(),this._segmentationMask?n.copyTexSubImage2D(n.TEXTURE_2D,0,0,0,0,0,s,c):n.copyTexImage2D(n.TEXTURE_2D,0,n.RGBA,0,0,s,c,0)),this.wasm.vbMode&&(null==(o=this._selfieSegmentation)||o.send(s,c)),this.totalFrames||(n.activeTexture(n.TEXTURE2),n.bindTexture(n.TEXTURE_2D,this._bgTexture||null),n.activeTexture(n.TEXTURE3),n.bindTexture(n.TEXTURE_2D,this._waterMarkTexture||null),n.drawArrays(n.TRIANGLE_STRIP,0,4)),!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(e.canvas.width,e.canvas.height,t.sx,t.sy,t.cropWidth,t.cropHeight),r&&2===this.wasm.vbMode)){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,o,n){let a=this.context.ctx,s=this._mat4.create();this._mat4.fromTranslation(s,[r/e,1-(i+n)/t,0]),this._mat4.scale(s,s,[o/e,n/t,1]),a.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),null==(e=this.wasm)||e.close()}},nW=class extends VV{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 }"}),Wb(this,"yTextureRef"),Wb(this,"uTextureRef"),Wb(this,"vTextureRef"),Wb(this,"Y"),Wb(this,"U"),Wb(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)}},aW=[e=>{e.codec="avc1.42e01f"},e=>{delete e.hardwareAcceleration}],sW=(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 cW=0,lW=class{constructor(e){Wb(this,"id",cW++),Wb(this,"trackDoneOB"),Wb(this,"startOB"),Wb(this,"stopOB"),Wb(this,"decoder"),Wb(this,"videoContext"),Wb(this,"gop",0),Wb(this,"gop_helper",0),Wb(this,"waitFirstKeyFrame",!0),Wb(this,"startTimestamp",0),Wb(this,"startTime",0),Wb(this,"startPerformanceTime",0),Wb(this,"inputFrameCount",0),Wb(this,"decodedFrameCount",0),Wb(this,"decodeFrameCount",0),Wb(this,"downgradeLevel",0),Wb(this,"lastDowngradeTime",0),Wb(this,"lastFrameDiff",0),Wb(this,"lastDecodeFrameTimestamp",0),Wb(this,"config"),Wb(this,"gop_before_configure",[]),Wb(this,"videoElement"),Wb(this,"type","wasm"),Wb(this,"goodType"),Wb(this,"renderer","2d"),Wb(this,"wasmOption"),Wb(this,"createDecoder"),Wb(this,"_decodeSink"),Wb(this,"isReported",!1),Wb(this,"track"),Wb(this,"stateChangeOB"),Wb(this,"failedReason");let{track:t,createDecoder:r}=e;if(this.stateChangeOB=Qx(),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=cU(t.availableState,vP.OFF),this.stopOB=Qx(),"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),kx(this.stateChangeOB,QU(((e,r)=>(e!==r&&t.onDecodeDowngradeStateChanged({type:this.type,renderer:this.renderer,reason:this.failedReason,prevState:e,state:r}),r)),"INITIALIZED"),CU(this.stopOB),DV()),this.start()}start(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.waitFirstKeyFrame=!0,this.stateChangeOB.next("STARTING");let t=kx(this.pipe(this.track),CU(this.stopOB),Fx());kx(t,DV((()=>{this.track.stat.framesDecoded++}),(t=>{if(this.track.log.error("".concat(this.id," play failed: ").concat(t," retryCount: ").concat(e)),fM.addFailedEvent({key:sW(this.type,this.renderer),error:t}),e>4)this.failedReason=t,this.stateChangeOB.next("FAILED");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")),fM.addSuccessEvent({key:sW(this.type,this.renderer)}),fM.addSuccessEvent({key:514704})}))),kx(t,DU(1),DV((()=>{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&&!SM()&&(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=ED()}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=>Gb(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":for(let e=0;e<=aW.length;e++){let{supported:r}=yield VideoDecoder.isConfigSupported(this.config);if(r)break;if(e===aW.length)return void t.error(3);aW[e](this.config)}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 QV({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create(),this.videoContext.on(QV.UNAVAILABLE,(r=>{e.log.error(r),t.error(7)}));let i=new nW(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 ZV({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 WV(this.videoContext,{name:"remotePlayer",logger:e.log});i.connect(o),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}this.decoder=r}catch(aO){e.log.error(aO),t.error("webCodecs"===n?2:6)}}))}},uW=class extends QH.EventEmitter{constructor(e){super(),this.room=e,Wb(this,"videoContext"),Wb(this,"_glVideoContext"),Wb(this,"_2dVideoContext"),Wb(this,"destination"),Wb(this,"smallVideoContext"),Wb(this,"smallDestination"),Wb(this,"smallTrackSource"),Wb(this,"smallImageSource"),Wb(this,"_isMirror",!1),Wb(this,"_rotation",0),Wb(this,"cameraTrack"),Wb(this,"cameraNode"),Wb(this,"transformNode"),Wb(this,"mixNode"),Wb(this,"screenTrack"),Wb(this,"screenNode"),Wb(this,"selfModel",!1),Wb(this,"blurRadius",3),Wb(this,"arTrack"),Wb(this,"_enableFaceCentering",!1),Wb(this,"Wasm"),Wb(this,"waterMarkNode"),Wb(this,"_waterMarkOption"),Wb(this,"watermarkImageList",[]),Wb(this,"_beautyParams"),Wb(this,"isUsingArTrack",!1),Wb(this,"_isMixScreen",!1),Wb(this,"_mixScreenOption",{}),Wb(this,"_virtualBackground"),Wb(this,"_virtualBackgroundAbortCallback"),Wb(this,"virtualBackgroundInstance"),Wb(this,"_bgAssetPath"),Wb(this,"log",Xk.createLogger({id:"vm"})),Wb(this,"_faceDetector"),Wb(this,"_mat4"),Wb(this,"_checkId",0),Wb(this,"_use2d",!1),Wb(this,"_autoSwitchRenderMode",!0),Wb(this,"_selfieSegmentation"),Wb(this,"encodePipeline",[]),Wb(this,"decodePipeline",[]),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.smallVideoContext=new ZV({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 jD(this._rotation)?{width:r,height:t}:{width:t,height:r}}get2dVideoContext(){return this._2dVideoContext?this._2dVideoContext.destroy():this._2dVideoContext=new ZV({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 QV({frameRate:15,logger:this.log,name:"m"});return this.initializeGlVideoContext(),this._glVideoContext}initializeGlVideoContext(){try{this._glVideoContext.create(),this._glVideoContext.on(QV.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(cw){this.emit("error",cw)}}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=RP.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(),RP.clearTask(this._checkId)}get needAlpha(){return this._hasWaterMark||this._hasVirtualBg}get active(){return(Ek||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?fM.addFailedEvent({key:t,error:e}):fM.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 QV({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}initVirtualBackground(e,t,r){return this._selfieSegmentation=e,this._faceDetector=t,this._mat4=r,this._selfieSegmentation.changeModel()}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 KV(this.smallVideoContext,e,this.log),this.smallVideoContext.on(QV.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;Ek&&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._selfieSegmentation&&e&&!this._use2d&&(this._selfieSegmentation._glName||this._selfieSegmentation.setCanvas(e)),this.log.info("set main output ".concat(n?n.label:"no output track")),this.setSmallVideo(i,e),r.setOutputMediaStreamTrack(n)}catch(nO){this.log.error("set main output failed",nO)}}update(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Gb(this,null,(function*(){var t;if(!this.cameraTrack)return;if(!this.initialTrack)return this.updateWithoutCamera();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})),16===Ak?this.initialTrack instanceof CanvasCaptureMediaStreamTrack?(this.cameraNode&&(this.cameraNode instanceof YV?(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 YV?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 GV(this.videoContext,{name:"mainDestination",logger:this.log});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 oW(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,selfieSegmentation:this._selfieSegmentation,Wasm:this.Wasm,enableFaceCentering:this._enableFaceCentering,faceDetector:this._faceDetector,mat4:this._mat4}),this.cameraNode.connect(this.destination),this.destination.enableCheckMute()}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 eW(this.videoContext,this.log,this._isMirror,this._rotation),e=e.connect(this.transformNode),e.disconnect(),jD(this._rotation)&&this.transformNode.resize(r.height,r.width),this.log.info("start ".concat(this._isMirror?"mirror":"").concat(this._isRotate?", rotate ".concat(this.rotation):""))),this.mixNode&&this.mixNode.close(),delete this.mixNode,this._isMixScreen||this._hasWaterMark){if(this.mixNode=new rW(this.videoContext,this.log),this.mixNode.resize(r.width,r.height),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})),this.changeMixLayout(this._mixScreenOption),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))}updateWithoutCamera(){return Gb(this,null,(function*(){var e;if(!this._isMixScreen)return;if(!this.screenTrack||!this.screenTrack.mediaTrack)return void this.clearLastFrame();if(this.checkOrCreateVideoContext(),!this._use2d)return;this.destination||(this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log}));let{settings:t,profile:r}=this.screenTrack;return this.videoContext.frameRate=(null==(e=this.cameraTrack)?void 0:e.profile.frameRate)||r.frameRate,this.mixNode&&this.mixNode.close(),this.mixNode=new rW(this.videoContext,this.log),this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack,"screenNodeSource"),this.screenNode.shouldUpdate=!0,this.screenNode.resize(t.width,t.height),this.screenNode.connect(this.mixNode,{zIndex:0}),this.changeMixLayout(this._mixScreenOption),this.mixNode.connect(this.destination),this.log.info("mix without camera"),this._setMainOutput(this.videoContext._canvas)}))}changeInput(e){var t,r,i,o;if(e instanceof fx)return this.log.info("change screen input",null==(t=e.mediaTrack)?void 0:t.label),this.setScreenTrack(e);if(e instanceof hx)return this.log.info("change video input",null==(r=e.mediaTrack)?void 0:r.label),this.setCameraTrack(e);if(e instanceof eF){this.log.info("change remote input",null==(i=e.mediaTrack)?void 0:i.label);let t=e.mediaTrack;return e.setOutputMediaStreamTrack(t)}this.log.warn("change unknown input",null==(o=e.mediaTrack)?void 0:o.label)}removeInput(e){var t;e instanceof fx?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof hx?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 eF&&e.source&&e.source.context.destroy()}setCameraTrack(e){return this.cameraTrack=e,this.update(!0)}setScreenTrack(e){return Gb(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 Gb(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 Zb({code:$b.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)})),LD(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 Gb(this,null,(function*(){this._beautyParams=e,this.update()}))}stopBeauty(){return Gb(this,null,(function*(){this._beautyParams=void 0,this.update()}))}setVideoMixer(e){this._isMixScreen=!0,this._mixScreenOption=e,this.update()}updateVideoMixer(e){this.changeMixLayout(e),bD(this._mixScreenOption,e)}changeMixLayout(e){if(!this._isMixScreen||!this.mixNode)return;let{camera:t,screen:r,container:i}=e;if(this.cameraNode&&t){let{width:e,height:r}=this.cameraNode,{x:i,y:o,width:n,height:a}=t;n&&!a?a=n*r/e:!n&&a&&(n=a*e/r),this.mixNode.changeInputLayout(this.cameraNode,{x:i,y:o,width:n,height:a})}if(this.screenNode&&r){let{width:e,height:t}=this.screenNode,{x:i,y:o,width:n,height:a}=r;n&&!a?a=n*t/e:!n&&a&&(n=a*e/t),this.mixNode.changeInputLayout(this.screenNode,{x:i,y:o,width:n,height:a})}i&&this.mixNode.resize(i.width,i.height)}deleteVideoMixer(){var e;this._isMixScreen=!1,this._mixScreenOption={},null==(e=this.screenNode)||e.close(),delete this.screenNode,this.update(),this.log.info("delete screenMixer")}setWatermark(e){return Gb(this,null,(function*(){let t;try{t=yield LD((null==e?void 0:e.imageElement)||e.imageUrl)}catch(c){throw new Zb({code:$b.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 Gb(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 Gb(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 Gb(this,null,(function*(){var t;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 LD(e.imageUrl):(this.blurRadius=e.blurLevel||this.blurRadius||3,this._virtualBackground=e.type),this._enableFaceCentering=null!=(t=e.enableFaceCentering)?t:this._enableFaceCentering}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 Zb({code:$b.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 Gb(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 lW(e)}clear(){var e;null==(e=this.videoContext)||e.disconnect(),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}};Hb([function(e){return XL(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return Gb(this,null,(function*(){try{return yield t.apply(this,i)}catch(nO){e.call(this,nO)}}))}))}((function(e){this.log.error("update failed",e)}))],uW.prototype,"update",1);var dW=0,hW=class extends vP{constructor(e){super("room"),Wb(this,"seq",++dW),Wb(this,"sdkAppId"),Wb(this,"userId"),Wb(this,"userSig"),Wb(this,"privateMapKey"),Wb(this,"latencyLevel"),Wb(this,"tinyId"),Wb(this,"scene"),Wb(this,"roomId"),Wb(this,"useStringRoomId"),Wb(this,"role","anchor"),Wb(this,"joinParams",null),Wb(this,"localTracks",new Set),Wb(this,"enableAutoPlayDialog",!0),Wb(this,"autoReceiveAudio",!0),Wb(this,"autoReceiveVideo",!0),Wb(this,"proxy_ws"),Wb(this,"proxy_wt"),Wb(this,"proxy_unified"),Wb(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}}),Wb(this,"keyPointManager"),Wb(this,"audioManager"),Wb(this,"videoManager"),Wb(this,"callDurationCalculator"),Wb(this,"badCaseDetector"),Wb(this,"scheduleResult",{domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}),Wb(this,"videoDecodeFallbackType"),Wb(this,"smallMode","canvas"),Wb(this,"_isUsingCachedSchedule",!1),Wb(this,"_log",Xk.createLogger({id:"r".concat(this.seq)})),Wb(this,"_joinedTimestamp",0),Wb(this,"_sdkType"),Wb(this,"heartbeatReport"),Wb(this,"quality"),Wb(this,"enableSEI"),Wb(this,"isDestroyed",!1),this.useStringRoomId=!!e.useStringRoomId,cD(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),cD(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),cD(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this._sdkType=e.sdkType,this.keyPointManager=new YH({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new XH({room:this}),this.badCaseDetector=new $H({room:this}),this.audioManager=new vx(this),this.videoManager=new uW(this)}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 Gb(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return Gb(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return Gb(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAIVoice(e){throw new Error("Method not implemented.")}setProxyServer(e){if(aD(e))e.startsWith("wss://")?this.proxy_ws=e:e.startsWith("https://")&&(this.proxy_wt=e);else if(eD(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?(xB([n,n]),mw("https://".concat(n))):(i&&mw(i),o&&xB(o))}zk.once(Yk.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({sched_domain:LB.main,sched_back_domain:LB.backup,signal_domain:this.proxy_ws||this.proxy_wt||""})))}getRemoteAudioStats(){return Gb(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return Gb(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 Gb(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 Zb({code:$b.INVALID_OPERATION,message:nM({key:tM.CLIENT_DESTROYED,data:{funName:"join"}})})}destroy(){if(this.isJoined)throw this._log.warn(rM.INVALID_DESTROY),new Zb({code:$b.INVALID_OPERATION,message:nM({key:tM.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,zk.emit(Yk.ROOM_DESTROY,{room:this})}schedule(e,t){return Gb(this,null,(function*(){var r,i,o,n;let a=ED();try{let{isCached:s,result:c,detailCost:l}=yield PB({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(kD(c,{keysToExclude:["username","credential"]}))),s&&zk.once(Yk.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=xb(xb({},this.scheduleResult),c),sD(null==(r=c.config)?void 0:r.retryCount)&&lN(c.config.retryCount),aD(null==(i=c.config)?void 0:i.loggerDomain)&&mw(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,zk.emit(Yk.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:l}),fM.addSuccessEvent({key:521700,cost:ED()-a})}catch(rO){throw fM.addFailedEvent({key:521700,error:rO}),rO}}))}sendAbilityStatus(e){}enableInsertableStreams(){return Promise.resolve()}switchRoom(e){return Promise.reject()}isSwitchRoomSupported(){return!1}};var pW={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},mW="__INLINE__WORKER__",fW="__INLINE__WASM__",{debug:_W}=console;pW.debug||(console.debug=()=>{});var gW,EW=!mW.startsWith("__"),vW=!fW.startsWith("__");function yW(){let e=BD("".concat(pW.assetsPath?"".concat(pW.assetsPath,"/"):"","worker.js"));return EW?URL.createObjectURL(new Blob([atob(mW)],{type:"application/javascript"})):e.startsWith("http")?fetch(e).then((e=>e.blob().then((e=>URL.createObjectURL(e))))):e}function TW(){return Gb(this,null,(function*(){let e=pW.assetsPath?"".concat(pW.assetsPath,"/"):"";return gW||(gW=vW?(new TextEncoder).encode(atob(fW)).buffer:yield fetch(BD("".concat(e,"av_processing.wasm"))).then((e=>e.arrayBuffer())),gW)}))}var IW=new class{constructor(){Wb(this,"playPort"),Wb(this,"playPortSent",!1),Wb(this,"worklet"),Wb(this,"workletPromise")}init(){return this.workletPromise||(this.workletPromise=this._init()),this.workletPromise}_init(){return Gb(this,null,(function*(){let e=dL(),t=yW();try{yield e.audioWorklet.addModule("string"==typeof t?t:yield t),Xk.info("global audio player worklet addModule success",t)}catch(dN){throw Xk.error("global audio player worklet addModule failed:",dN),dN}return this.worklet=new AudioWorkletNode(e,"global-audio-player",{processorOptions:{wasm:yield TW(),flag:pW},numberOfInputs:2}),Xk.info("global audio player worklet created",e.state),this.worklet.connect(e.destination),this.playPort=this.worklet.port,this.playPort}))}playAudio(e){return Gb(this,null,(function*(){this.playPortSent||(this.playPortSent=!0,e(yield this.init()))}))}},AW="undefined"!=typeof self&&(!("top"in self)||self===top)&&"showOpenFilePicker"in self&&"showOpenFilePicker";AW?Promise.resolve().then((function(){return wW})):Promise.resolve().then((function(){return MW})),AW?Promise.resolve().then((function(){return kW})):Promise.resolve().then((function(){return PW}));var SW=AW?Promise.resolve().then((function(){return OW})):Promise.resolve().then((function(){return LW}));function RW(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Gb(this,null,(function*(){return(yield SW).default(...t)}))}var bW=e=>Gb(void 0,null,(function*(){let t=yield e.getFile();return t.handle=e,t})),wW={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Gb(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(bW));return e[0].multiple?i:i[0]}()}))}};function NW(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 NW=function(e){this.s=e,this.n=e.next},NW.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 NW(e)}var DW,CW=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 Gb(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,u=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 NW(t.call(e));r="@@asyncIterator",i="@@iterator"}throw new TypeError("Object is not async iterable")}(e.values());s=!(l=yield u.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(CW(a,t,s,i))}}catch(d){c=!0,a=d}finally{try{s&&null!=u.return&&(yield u.return())}finally{if(c)throw a}}return[...(yield Promise.all(o)).flat(),...yield Promise.all(n)]}()}))},kW={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Gb(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 CW(t,e.recursive,void 0,e.skipDirectory)}()}))}},OW={__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 Gb(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)}()}))}},MW={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Gb(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()}))}()}))}},PW={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Gb(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()}))}()}))}},LW={__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 Gb(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 Gb(this,null,(function*(){let r=e.getReader(),i=new ReadableStream({start:e=>function t(){return Gb(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}()}))}},xW=class{constructor(e){this.name=e,Wb(this,"ready"),Wb(this,"worker"),Wb(this,"ports"),Wb(this,"ids",1),Wb(this,"transactions",new Map),Wb(this,"log"),Wb(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 Gb(this,null,(function*(){if(this.ready)return this.ready;e||(e=this.name),console.time("createWorker_".concat(e));let t=yW(),r=new Worker("string"==typeof t?t:yield t,{name:e});return this.worker=r,this.ready=new Promise(((t,i)=>Gb(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(CD(),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 TW(),flag:pW},this.ports)}))))}))}destroy(){var e;console.log("destroy worker",this.name),delete this.ready,null==(e=this.worker)||e.terminate()}},UW=class{constructor(e,t,r){this.worker=e,Wb(this,"channel",new MessageChannel),Wb(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()}},VW=new class e extends xW{constructor(){super("main"),Wb(this,"switchValue",new Map),Wb(this,"extendChannel"),Wb(this,"sessionCount",0)}setSwitchValue(e,t){var r;this.switchValue.set(e,t),null==(r=this.extendChannel)||r.port1.postMessage([e,t])}create(){return Gb(this,null,(function*(){return this.ready?this.ready:(this.extendChannel=new MessageChannel,this.ports=[this.extendChannel.port2],yield jb(e.prototype,this,"create").call(this),this.switchValue.forEach(((e,t)=>{this.extendChannel.port1.postMessage([t,e])})),this)}))}};function FW(e){return Gb(this,null,(function*(){yield VW.create(),zk.emit(Yk.JOIN_SEND_CMD,{room:this});let t=new UW(VW,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(zk.emit(Yk.JOIN_RECEIVED_CMD_RES,{room:this,code:r}),0===r)return Object.assign(this,i,{session:t});throw new Zb({code:$b.JOIN_ROOM_FAILED,extraCode:Number(r),message:nM({key:tM.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:r,errorMsg:""}})})}throw r}))}function BW(e){return Gb(this,null,(function*(){VW.setSwitchValue("useAINS",e)}))}function HW(e){return Gb(this,null,(function*(){VW.setSwitchValue("useV2",e)}))}function WW(e){let t=new MediaStreamTrackGenerator({kind:"audio"});e.setInputMediaStreamTrack(t),this.postMessage({cmd:"pullAudio",payload:{tinyId:e.tinyId,writable:t.writable}},[t.writable])}function jW(e){return Gb(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),kx(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=Object.defineProperties(Qx(),{postMessage:{value:e.postMessage.bind(e)},port:{get:()=>e,set(t){e.onmessage=Tx,e.onmessageerror=Tx,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),CU(cU(e,vP.INIT)),DV((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:BW},useWt:{set:function(e){return Gb(this,null,(function*(){VW.setSwitchValue("useWt",e)}))}},enableDebug:{set(e){console.debug=e?_W:()=>{},VW.setSwitchValue("enableDebug",e)}},useV2:{set:HW},dump:{value(){if(DW||(console.warn("dump audio will be activated at next time join room"),DW=[]),!DW.length)return void console.warn("no audio data to dump,try it later");let e=[];return DW.forEach((t=>{e.push(new Uint16Array([t.length])),e.push(t)})),RW(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;VW.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,VW.extendChannel.port1.postMessage(["dump",e]),o.port2.close(),i(new Blob(r)))}}));return RW(i,{fileName:e,extensions:[".pcm"]})}},hardDec:{set(e){switch(e){case!0:pW.useHardDecoder="prefer-hardware";break;case!1:pW.useHardDecoder="prefer-software";break;default:pW.useHardDecoder="no-preference"}}}});var GW=[];function KW(e){var t;let r=Qx();if("joined"!==this.state)throw new Error("Room is not joined");if("publish"===e.state)return;for(let l=0;l<=GW.length;l++)if(!GW[l]){GW[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(Ub(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=dL().createMediaStreamSource(s),a.connect(IW.worklet,0,this.index)};kx(cU(e,"output-media-track-changed"),CU(cU(e,"ready")),DV(c,console.error,(()=>{this._log.info("stop push audio",i),e.volume=0,a.disconnect(),GW[this.index]=null,n&&n.port1.postMessage(null),o.port1.postMessage(null)}))),kx(r,CV((t=>e.volume=t)),lV(BV(1e3)),DV((()=>{e.volume=0}))),c(e.outMediaTrack)}var zW=class{constructor(e,t,r,i){this.localTrack=e,this.type=t,this.config=r,this.port=i,Wb(this,"track"),Wb(this,"label"),Wb(this,"insertKeyFrame",!0),Wb(this,"encoder"),Wb(this,"tsMap",new Map),e._log.info("create Video Encoder",r)}trans(e,t,r){return Gb(this,null,(function*(){yield this.recreate(r),t.signal.addEventListener("abort",(()=>{this.encoder.close()}));let i=0;return e.pipeThrough(new TransformStream({transform:(e,t)=>{"configured"===this.encoder.state&&(this.tsMap.set(i,Date.now()),this.encode(e),i++,t.enqueue(e))}}),t)}))}encode(e){this.encoder.encode(e,{keyFrame:this.insertKeyFrame}),this.insertKeyFrame=!1}start(e,t,r){return Gb(this,null,(function*(){yield this.recreate(r);let i=0;e.pipeTo(new WritableStream({write:e=>{"configured"===this.encoder.state&&(i<10&&this.localTrack.log.info("capture ".concat(this.label," track frame:"),i,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})),this.tsMap.set(i,Date.now()),this.encode(e),i<10&&this.localTrack.log.info("encode ".concat(this.label," track frame:"),i),i++,e.close())}}),t).catch((e=>{var t;this.localTrack.log.warn(e),null==(t=this.encoder)||t.close()}))}))}recreate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Gb(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&&zk.emit(Yk.SEND_FIRST_VIDEO_FRAME,{room:e}),this.localTrack.log.info("encoded ".concat(this.label," track frame:"),r,Date.now(),i.timestamp)),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),setTimeout((()=>this.recreate(e,t+1)),100)}});return this.encoder=i,yield this.configure({},0===r?t:0),i}))}configure(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Gb(this,null,(function*(){var r;if(Object.assign(this.config,e),0===t)for(let e=0;e<=aW.length;e++){let{supported:t}=yield VideoDecoder.isConfigSupported(this.config);if(t)break;if(e===aW.length)return;aW[e](this.config)}else t<=aW.length&&aW[t-1](this.config);null==(r=this.encoder)||r.configure(this.config)}))}close(){this.port.postMessage(null),this.port.close()}};function qW(e,t){return Gb(this,null,(function*(){let r=2===e.mediaType,i=r?"screen":"video",o={codec:"avc1.640028",latencyMode:"realtime",avc:{format:"annexb"},hardwareAcceleration:pW.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 zW(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;QN({configureBr:[e.data.bitrate,t]}),a.configure({bitrate:t})}},this._log.info("start push",i,t),a}))}function YW(e){return Gb(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 qW.call(this,e,o);this._log.info("VideoEncoder created",o);let l,u=t=>Gb(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,u=ZD.match(/Chrome\/(\d+)/);"114"===(null==u?void 0:u[1])&&"browser"===a&&delete c.config.hardwareAcceleration,this._log.info("push",i,"track:",t.readyState,t.getSettings()),s="undefined"!=typeof MediaStreamTrackProcessor?new MediaStreamTrackProcessor({track:t}).readable:new ReadableStream({pull(t){return Gb(this,null,(function*(){if(cP())return new Promise((r=>{var i;null==(i=e.player.element)||i.requestVideoFrameCallback(((i,o)=>{let n=new VideoFrame(e.player.element);t.enqueue(n),r()}))}))}))}});let d="small"in e&&e.small;return d?(this.smallEncoder||(this.smallEncoder=yield qW.call(this,e,{profile:d,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 kx(cU(e,"output-media-track-changed"),CU(cU(e,"ready")),DV(u,console.error,(()=>{var e;this._log.info("stop push",i,o),l.abort("unpublish"),c.close(),null==(e=this.smallEncoder)||e.close()}))),u(e.outMediaTrack)}))}var JW=class e extends vP{constructor(t){var r,i;super(null!=(i=null==(r=t.roomid)?void 0:r.toString())?i:t.name,"volumeEvaluation"),this.room=t,Wb(this,"enableInBackground",!1),Wb(this,"interval",400),t.on("joined",(()=>{this.emit(e.INTERVALCHANGED,this.interval)})),kx(cU(this,e.INTERVALCHANGED),sV((e=>"joined"===this.room.state?this.room.fromWorker("getAudioEnergy",e):kx((e=>t=>{let r=0,i=performance.now();kx(FV,tV((t=>(t-i)/e|0)),wU((e=>e!=r&&(r=e,!0))))(t)})(e),tV((()=>[]))))),DV((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==vP.ON&&this.room.emit("audio-volume",e)})))}start(t,r){this.interval=t,this.enableInBackground=r,this.emit(e.INTERVALCHANGED,this.interval)}stop(){}};Wb(JW,"INTERVALCHANGED","intervalChanged"),Hb([_P([vP.INIT,vP.OFF],vP.ON)],JW.prototype,"start",1),Hb([_P([],vP.OFF)],JW.prototype,"stop",1);var XW=JW,$W=class extends hW{constructor(e){super(e),Wb(this,"index",0),Wb(this,"session"),Wb(this,"tinyid"),Wb(this,"roomid"),Wb(this,"openid"),Wb(this,"socketid"),Wb(this,"relayip"),Wb(this,"clientip"),Wb(this,"remotePublishedUserMap",new Map),Wb(this,"bussinessInfo"),Wb(this,"token"),Wb(this,"audioVolumeEvalution",new XW(this)),Wb(this,"enableAIVoice",BW),Wb(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:jk(),uint32_device_type:0,str_os_verion:Gk(),uint32_link_type:1,str_client_version:aw,uint32_net_type:Cw[iw.getNetworkType()],ua:navigator.userAgent,version:""}}),Wb(this,"joinAbortController",new AbortController),Wb(this,"smallAbortCtrl"),Wb(this,"smallEncoder"),e.tinyId&&(this.tinyId=e.tinyId,HW(!0)),this._log||(this._log=e.logger),this.bussinessInfo=e.bussinessInfo,e.encodedDataProcessingListener&&this.setEncodedDataProcessingListener(e.encodedDataProcessingListener)}replaceTrack(e){return Gb(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 Gb(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 Gb(this,null,(function*(){var i,o,n;let a=iw.getEnv(),s=EM(),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:Bk(),browserInfo:EM(),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 FW.call(this,c),console.log(this),IW.playAudio((e=>this.postMessage({cmd:"setAudioWorkletPort"},[e]))),this.checkDestroy()}))}leave(){return Gb(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()))}))}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 Gb(this,null,(function*(){kx((e=>Gb(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])}))),CU(cU(this,"left")),DV((e=>{let{data:t,port:r}=e,i=this.audioManager.decodePipeline[0]({frame:{data:t.data.buffer}});r.postMessage(Ub(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 Yk.RECEIVED_PUBLISHED_USER_LIST:return void zk.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 HH(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 zk.emit(Yk.REMOTE_PUBLISH_STATE_CHANGED,xb({room:this},t)),void this.emit("remote-publish-state-changed",t);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: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:Cw[jN()]},msg_event_msg:oF(this.userId),str_acc_ip:this.relayip,str_client_ip:this.clientip,msg_up_stream_info:n,msg_down_stream_info:s};zk.emit(Yk.HEARTBEAT_REPORT,{room:this,report:c}),this.emit("heartbeat-report",c),zk.emit(Yk.NETWORK_QUALITY,{room:this,uplink:{rtt:o,loss:i},downlinks:a}),delete t.downlinkInfo;break;case"signal-connection-state-changed":return void zk.emit(Yk.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 Gb(this,null,(function*(){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=>Gb(this,null,(function*(){if(1===(yield r,e.muted&&(i|=e.mediaType),DP(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))KW.call(this,e);else yield YW.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 Gb(this,null,(function*(){t.forEach(CP)}))}subscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Gb(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 KO,a);s.mediaType|=e,zk.emit(Yk.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?WW.call(this,e):jW.call(this,e)))),zk.emit(Yk.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 Gb(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();zk.emit(Yk.UNSUBSCRIBE_SUCCESS,{room:this,streamType:i,remotePublishedUser:this.remotePublishedUserMap.get(r)})}}))}enableSmall(e){return Gb(this,null,(function*(){var t;if(e){if(this.videoManager.smallTrack){let e=this.videoManager.cameraTrack;this.smallEncoder=yield qW.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"))}};Hb([JL($W.prototype.afterJoin),_P(["left",vP.INIT],"joined"),XL((e=>{let t=new WH;return function(r,i,o){return Gb(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 Zb({code:$b.INVALID_OPERATION,message:nM({key:tM.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:n,sdkAppId:this.sdkAppId,room:this}))throw new Zb({code:$b.INVALID_OPERATION,message:nM({key:tM.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)),zk.emit(Yk.JOIN_START,{room:this,roomId:n,params:r});let a=iw.getEnv();a||(a=bw.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(Fw.OLD_CLOUD_LADDER)?a=bw.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(Fw.WEBRTC)&&(a=bw.WEBRTC))),kP.setConfig({env:a,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:n}),Zk.checkSystemRequirementsInternal().then((e=>{this.checkSystemResult=e,jH.call(this)}));try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!iw.getEnv()&&(yield this.schedule(r,o));let t=yield e.call(this,r,i,o);return this.roomId=n,this._joinedTimestamp=iw.performanceNow(),zk.emit(Yk.JOIN_SUCCESS,{room:this}),30===o&&!r.component&&kP.uploadEvent({log:"stat-conv-".concat(Number(Dk),"-").concat(location.hostname),userId:this.userId}),t}catch(aO){throw t.delete({room:this,roomId:n}),zk.emit(Yk.JOIN_FAILED,{room:this,error:aO}),aO}}))}}))],$W.prototype,"join",1),Hb([_P("joined","left",{ignoreError:!0}),XL((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Gb(this,null,(function*(){zk.emit(Yk.LEAVE_START,{room:this}),yield e.call(this,...r),zk.emit(Yk.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))}))],$W.prototype,"leave",1),Hb([ix((function(){return 0})),XL((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Gb(this,null,(function*(){if("live"===this.scene&&"anchor"!==this.role||(r=r.filter((e=>e.outMediaTrack&&"ready"===e.state)),!r.length))return;zk.emit("61",{room:this});let t=e.apply(this,r);return r.forEach((e=>e.publish(this,t))),t}))}))],$W.prototype,"publish",1),Hb([ix((function(){return 0})),XL((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}))],$W.prototype,"unpublish",1),Hb([ix((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].userId})),XL((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}))],$W.prototype,"subscribe",1);var QW=$W;return BH.frameWorkType=37,BH.create=function(e){let t=BH._create.call(this,QW,e);return t._use(jF,null==e?void 0:e.assetsPath),null!=e&&e.assetsPath&&(pW.assetsPath=null==e?void 0:e.assetsPath),console.log("trtc wasm sdk:",aw,"created",pW),t},Object.assign(BH.prototype,{_setCurrentSpeaker(e){let t=dL();return null!=t&&t.setSinkId?t.setSinkId(e):Promise.reject("not support")},_enableVideoDecodeFallback(e,t){return Gb(this,null,(function*(){return this.startPlugin(jF.Name,{type:"webCodecs",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:"wasm"}),new Promise(((t,r)=>{kx(cU(e,"decode-downgrade-state-changed"),wU((e=>"STARTED"===e.state)),DU(1),kV(1e4),CU(cU(e,vP.INIT)),DV(t,r))}))}))}}),BH}));
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)},u={},d={}.propertyIsEnumerable,h=Object.getOwnPropertyDescriptor,p=h&&!d.call({1:2},1);u.f=p?function(e){var t=h(this,e);return!!t&&t.enumerable}:d;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,N=Object,D=T("".split),C=b((function(){return!N("z").propertyIsEnumerable(0)}))?function(e){return"String"===w(e)?D(e,""):N(e)}:N,k=function(e){return null==e},O=k,M=TypeError,P=function(e){if(O(e))throw new M("Can't call method on "+e);return e},L=C,x=P,U=function(e){return L(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},K=T({}.isPrototypeOf),z=r.navigator,q=z&&z.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=K,ue=Object,de=ae?function(e){return"symbol"==typeof e}:function(e){var t=se("Symbol");return ce(t)&&le(t.prototype,ue(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,Ne=function(e,t){try{we(be,e,{value:t,configurable:!0,writable:!0})}catch(r){be[e]=t}return t},De=r,Ce=Ne,ke="__core-js_shared__",Oe=Re.exports=De[ke]||Ce(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,Pe=Me,Le=function(e,t){return Pe[e]||(Pe[e]=t||{})},xe=P,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(),Ke=We(1..toString),ze=function(e){return"Symbol("+(void 0===e?"":e)+")_"+Ke(++je+Ge,36)},qe=Le,Ye=He,Je=ze,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=de,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)},ut=lt,dt=de,ht=function(e){var t=ut(e,"string");return dt(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=u,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 Nt={},Dt=n&&o((function(){return 42!==Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Ct=H,kt=String,Ot=TypeError,Mt=function(e){if(Ct(e))return e;throw new Ot(kt(e)+" is not an object")},Pt=n,Lt=Et,xt=Dt,Ut=Mt,Vt=ht,Ft=TypeError,Bt=Object.defineProperty,Ht=Object.getOwnPropertyDescriptor,Wt="enumerable",jt="configurable",Gt="writable";Nt.f=Pt?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),Lt)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 Kt=Nt,zt=_,qt=n?function(e,t,r){return Kt.f(e,t,zt(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,ur=cr(lr)&&/native code/.test(String(lr)),dr=ze,hr=Le("keys"),pr=function(e){return hr[e]||(hr[e]=dr(e))},mr={},fr=ur,_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 Nr={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,Cr=o,kr=F,Or=He,Mr=n,Pr=er.CONFIGURABLE,Lr=sr,xr=Nr.enforce,Ur=Nr.get,Vr=String,Fr=Object.defineProperty,Br=Dr("".slice),Hr=Dr("".replace),Wr=Dr([].join),jr=Mr&&!Cr((function(){return 8!==Fr((function(){}),"length",{value:8}).length})),Gr=String(String).split("String"),Kr=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")||Pr&&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=Kr((function(){return kr(this)&&Ur(this).source||Lr(this)}),"toString");var zr=Yt.exports,qr=F,Yr=Nt,Jr=zr,Xr=Ne,$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,ui=function(e){var t=ci(e);return t>0?li(t,9007199254740991):0},di=ui,hi=function(e){return di(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 Ni=G,Di=Qr,Ci=wi,ki=Mt,Oi=T([].concat),Mi=Ni("Reflect","ownKeys")||function(e){var t=Di.f(ki(e)),r=Ci.f;return r?Oi(t,r(e)):t},Pi=He,Li=Mi,xi=i,Ui=Nt,Vi=function(e,t,r){for(var i=Li(t),o=Ui.f,n=xi.f,a=0;a<i.length;a++){var s=i[a];Pi(e,s)||r&&Pi(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===zi||r!==Ki&&(Bi(t)?Fi(t):!!t)},ji=Wi.normalize=function(e){return String(e).replace(Hi,".").toLowerCase()},Gi=Wi.data={},Ki=Wi.NATIVE="N",zi=Wi.POLYFILL="P",qi=Wi,Yi=r,Ji=i.f,Xi=qt,$i=$r,Qi=Ne,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=zr,fo=Nt,_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=K,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 No={},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&&(No[t]=!0),t};Ro(Do,bo),Do.prototype=wo,wo.constructor=Do;var Co="Symbol(description detection)"===String(bo("description detection")),ko=vo(wo.valueOf),Oo=vo(wo.toString),Mo=/^Symbol\((.*)\)[^)]+$/,Po=vo("".replace),Lo=vo("".slice);So(wo,"description",{configurable:!0,get:function(){var e=ko(this);if(yo(No,e))return"";var t=Oo(e),r=Co?Lo(t,7,-1):Po(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=Nt.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,Ko=Array.isArray||function(e){return"Array"===Go(e)},zo=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=Ko,tn=hi,rn=function(e){if(e>9007199254740991)throw zo("Maximum allowed index exceeded");return e},on=Zo,nn=function(e,t,r,i,o,n,a,s){for(var c,l,u=o,d=0,h=!!a&&on(a,s);d<i;)d in r&&(c=h?h(r[d],d,t):r[d],n>0&&en(c)?(l=tn(c),u=nn(e,t,c,l,u,n-1)-1):(rn(u+1),e[u]=c),u++),d++;return u},an=nn,sn=T,cn=o,ln=F,un=lo,dn=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(un(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return _n||!!fn(mn,dn(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=Ko,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,Nn=Ve,Dn=hi,Cn=ii,kn=bn;to({target:"Array",proto:!0},{flat:function(){var e=arguments.length?arguments[0]:void 0,t=Nn(this),r=Dn(t),i=kn(t,0);return i.length=wn(i,t,t,r,0,void 0===e?1:Cn(e)),i}});var On={},Mn=Ai,Pn=Si,Ln=Object.keys||function(e){return Mn(e,Pn)},xn=n,Un=Dt,Vn=Nt,Fn=Mt,Bn=U,Hn=Ln;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,Kn=On,zn=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=zn.length;e--;)delete ra[Xn][zn[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:Kn.f(r,t)},oa=tt,na=ia,aa=Nt.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},ua=gi.includes,da=la;to({target:"Array",proto:!0,forced:o((function(){return!Array(1).includes()}))},{includes:function(e){return ua(this,e,arguments.length>1?arguments[1]:void 0)}}),da("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,Na=Sa,Da=$r,Ca=tt("iterator"),ka=!1;[].keys&&("next"in(ma=[].keys())?(pa=Na(Na(ma)))!==Object.prototype&&(ha=pa):ka=!0);var Oa=!wa(ha)||Ra((function(){var e={};return ha[Ca].call(e)!==e}));Oa&&(ha={}),ba(ha[Ca])||Da(ha,Ca,(function(){return this}));var Ma={IteratorPrototype:ha,BUGGY_SAFARI_ITERATORS:ka},Pa=Nt.f,La=He,xa=tt("toStringTag"),Ua=function(e,t,r){e&&!r&&(e=e.prototype),e&&!La(e,xa)&&Pa(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},Ka=T,za=ge,qa=H,Ya=function(e){return qa(e)||null===e},Ja=String,Xa=TypeError,$a=function(e,t,r){try{return Ka(za(Object.getOwnPropertyDescriptor(e,t)[r]))}catch(i){}},Qa=H,Za=P,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,us=$r,ds=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,u=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)}},d=t+" Iterator",h=!1,p=e.prototype,m=p[_s]||p["@@iterator"]||o&&p[o],f=!fs&&m||u(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])||us(s,_s,ys)),cs(s,d,!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:u(Es),keys:n?f:u(gs),entries:u(vs)},a)for(l in c)(fs||h||!(l in p))&&us(p,l,c[l]);else rs({target:t,proto:!0,forced:fs||h},c);return p[_s]!==f&&us(p,_s,f,{name:o}),ds[t]=f,c},Is=function(e,t){return{value:e,done:t}},As=U,Ss=la,Rs=fa,bs=Nr,ws=Nt.f,Ns=Ts,Ds=Is,Cs=n,ks="Array Iterator",Os=bs.set,Ms=bs.getterFor(ks),Ps=Ns(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"),Ls=Rs.Arguments=Rs.Array;if(Ss("keys"),Ss("values"),Ss("entries"),Cs&&"values"!==Ls.name)try{ws(Ls,"name",{value:"values"})}catch(ij){}var xs=ge,Us=Ve,Vs=C,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,Ks=function(e,t){var r=[][e];return!!r&&Gs((function(){r.call(null,t||function(){return 1},1)}))},zs=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":zs.Bun&&"string"==typeof Bun.version?"BUN":zs.Deno&&"object"==typeof Deno.version?"DENO":"process"===Ys(zs.process)?"NODE":zs.window&&zs.document?"BROWSER":"REST",$s="NODE"===Xs,Qs=js.left;to({target:"Array",proto:!0,forced:!$s&&te>79&&te<83||!Ks("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||!Ks("reduceRight")},{reduceRight:function(e){return Zs(this,e,arguments.length,arguments.length>1?arguments[1]:void 0)}});var ec=to,tc=Ko,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,u=c.length,d=0,h=0;d<l||h<u;)e[d+h]=d<l&&h<u?t(s[d],c[h])<=0?s[d++]:c[h++]:d<l?s[d++]:c[h++];return e},uc=lc,dc=Y.match(/firefox\/(\d+)/i),hc=!!dc&&+dc[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=uc,Rc=Ks,bc=hc,wc=pc,Nc=te,Dc=fc,Cc=[],kc=gc(Cc.sort),Oc=gc(Cc.push),Mc=Ac((function(){Cc.sort(void 0)})),Pc=Ac((function(){Cc.sort(null)})),Lc=Rc("sort"),xc=!Ac((function(){if(Nc)return Nc<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++)Cc.push({k:t+i,v:r})}for(Cc.sort((function(e,t){return t.v-e.v})),i=0;i<Cc.length;i++)t=Cc[i].k.charAt(0),o.charAt(o.length-1)!==t&&(o+=t);return"DGBEFHACIJK"!==o}}));_c({target:"Array",proto:!0,forced:Mc||!Pc||!Lc||!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=K,Hc=TypeError,Wc=function(e,t){if(Bc(t,e))return e;throw new Hc("Incorrect invocation")},jc=ii,Gc=ui,Kc=RangeError,zc=function(e){if(void 0===e)return 0;var t=jc(e),r=Gc(t);if(t!==r)throw new Kc("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,u=23===t?rl(2,-24)-rl(2,-77):0,d=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?u/n:u*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*d,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--],u=127&l;for(l>>=7;s>0;)u=256*u+e[c--],s-=8;for(r=u&(1<<-s)-1,u>>=-s,s+=t;s>0;)r=256*r+e[c--],s-=8;if(0===u)u=1-a;else{if(u===n)return r?NaN:l?-Infinity:Infinity;r+=rl(2,t),u-=a}return(l?-1:1)*r*rl(2,u-t)}},sl=Ve,cl=si,ll=hi,ul=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},dl=F,hl=H,pl=ts,ml=function(e,t,r){var i,o;return pl&&dl(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=ui,bl=zc,wl=Zc,Nl=al,Dl=Sa,Cl=ts,kl=ul,Ol=ac,Ml=ml,Pl=Vi,Ll=Ua,xl=Nr,Ul=er.PROPER,Vl=er.CONFIGURABLE,Fl="ArrayBuffer",Bl="DataView",Hl="prototype",Wl="Wrong index",jl=xl.getterFor(Fl),Gl=xl.getterFor(Bl),Kl=xl.set,zl=fl[Fl],ql=zl,Yl=ql&&ql[Hl],Jl=fl[Bl],Xl=Jl&&Jl[Hl],$l=Object.prototype,Ql=fl.Array,Zl=fl.RangeError,eu=_l(kl),tu=_l([].reverse),ru=Nl.pack,iu=Nl.unpack,ou=function(e){return[255&e]},nu=function(e){return[255&e,e>>8&255]},au=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},su=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},cu=function(e){return ru(wl(e),23,4)},lu=function(e){return ru(e,52,8)},uu=function(e,t,r){yl(e[Hl],t,{configurable:!0,get:function(){return r(this)[t]}})},du=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:tu(l)},hu=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 u=a.bytes,d=s+a.byteOffset,h=0;h<t;h++)u[d+h]=c[l?h:t-h-1]};if(El){var pu=Ul&&zl.name!==Fl;Il((function(){zl(1)}))&&Il((function(){new zl(-1)}))&&!Il((function(){return new zl,new zl(1.5),new zl(NaN),1!==zl.length||pu&&!Vl}))?pu&&Vl&&vl(zl,"name",Fl):((ql=function(e){return Al(this,Yl),Ml(new zl(bl(e)),this,ql)})[Hl]=Yl,Yl.constructor=ql,Pl(ql,zl)),Cl&&Dl(Xl)!==$l&&Cl(Xl,$l);var mu=new Jl(new ql(2)),fu=_l(Xl.setInt8);mu.setInt8(0,2147483648),mu.setInt8(1,2147483649),!mu.getInt8(0)&&mu.getInt8(1)||Tl(Xl,{setInt8:function(e,t){fu(this,e,t<<24>>24)},setUint8:function(e,t){fu(this,e,t<<24>>24)}},{unsafe:!0})}else Yl=(ql=function(e){Al(this,Yl);var t=bl(e);Kl(this,{type:Fl,bytes:eu(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");Kl(this,{type:Bl,buffer:e,byteLength:r,byteOffset:n,bytes:i.bytes}),gl||(this.buffer=e,this.byteLength=r,this.byteOffset=n)})[Hl],gl&&(uu(ql,"byteLength",jl),uu(Jl,"buffer",Gl),uu(Jl,"byteLength",Gl),uu(Jl,"byteOffset",Gl)),Tl(Xl,{getInt8:function(e){return du(this,1,e)[0]<<24>>24},getUint8:function(e){return du(this,1,e)[0]},getInt16:function(e){var t=du(this,2,e,arguments.length>1&&arguments[1]);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=du(this,2,e,arguments.length>1&&arguments[1]);return t[1]<<8|t[0]},getInt32:function(e){return su(du(this,4,e,arguments.length>1&&arguments[1]))},getUint32:function(e){return su(du(this,4,e,arguments.length>1&&arguments[1]))>>>0},getFloat32:function(e){return iu(du(this,4,e,arguments.length>1&&arguments[1]),23)},getFloat64:function(e){return iu(du(this,8,e,arguments.length>1&&arguments[1]),52)},setInt8:function(e,t){hu(this,1,e,ou,t)},setUint8:function(e,t){hu(this,1,e,ou,t)},setInt16:function(e,t){hu(this,2,e,nu,t,arguments.length>2&&arguments[2])},setUint16:function(e,t){hu(this,2,e,nu,t,arguments.length>2&&arguments[2])},setInt32:function(e,t){hu(this,4,e,au,t,arguments.length>2&&arguments[2])},setUint32:function(e,t){hu(this,4,e,au,t,arguments.length>2&&arguments[2])},setFloat32:function(e,t){hu(this,4,e,cu,t,arguments.length>2&&arguments[2])},setFloat64:function(e,t){hu(this,8,e,lu,t,arguments.length>2&&arguments[2])}});Ll(ql,Fl),Ll(Jl,Bl);var _u={ArrayBuffer:ql,DataView:Jl},gu=G,Eu=_o,vu=n,yu=tt("species"),Tu=function(e){var t=gu(e);vu&&t&&!t[yu]&&Eu(t,yu,{configurable:!0,get:function(){return this}})},Iu=Tu,Au="ArrayBuffer",Su=_u[Au];to({global:!0,constructor:!0,forced:r[Au]!==Su},{ArrayBuffer:Su}),Iu(Au);var Ru=to,bu=Jo,wu=o,Nu=Mt,Du=si,Cu=ui,ku=_u.ArrayBuffer,Ou=_u.DataView,Mu=Ou.prototype,Pu=bu(ku.prototype.slice),Lu=bu(Mu.getUint8),xu=bu(Mu.setUint8);Ru({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:wu((function(){return!new ku(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(Pu&&void 0===t)return Pu(Nu(this),e);for(var r=Nu(this).byteLength,i=Du(e,r),o=Du(void 0===t?r:t,r),n=new ku(Cu(o-i)),a=new Ou(this),s=new Ou(n),c=0;i<o;)xu(s,c++,Lu(a,i++));return n}});var Uu,Vu,Fu,Bu,Hu=vn,Wu=pe,ju=TypeError,Gu=function(e){if(Hu(e))return e;throw new ju(Wu(e)+" is not a constructor")},Ku=Mt,zu=Gu,qu=k,Yu=tt("species"),Ju=function(e,t){var r,i=Ku(e).constructor;return void 0===i||qu(r=Ku(i)[Yu])?t:zu(r)},Xu=a,$u=Function.prototype,Qu=$u.apply,Zu=$u.call,ed="object"==typeof Reflect&&Reflect.apply||(Xu?Zu.bind(Qu):function(){return Zu.apply(Qu,arguments)}),td=TypeError,rd=function(e,t){if(e<t)throw new td("Not enough arguments");return e},id=/(?:ipad|iphone|ipod).*applewebkit/i.test(Y),od=r,nd=ed,ad=Zo,sd=F,cd=He,ld=o,ud=jn,dd=ac,hd=_t,pd=rd,md=id,fd=$s,_d=od.setImmediate,gd=od.clearImmediate,Ed=od.process,vd=od.Dispatch,yd=od.Function,Td=od.MessageChannel,Id=od.String,Ad=0,Sd={},Rd="onreadystatechange";ld((function(){Uu=od.location}));var bd=function(e){if(cd(Sd,e)){var t=Sd[e];delete Sd[e],t()}},wd=function(e){return function(){bd(e)}},Nd=function(e){bd(e.data)},Dd=function(e){od.postMessage(Id(e),Uu.protocol+"//"+Uu.host)};_d&&gd||(_d=function(e){pd(arguments.length,1);var t=sd(e)?e:yd(e),r=dd(arguments,1);return Sd[++Ad]=function(){nd(t,void 0,r)},Vu(Ad),Ad},gd=function(e){delete Sd[e]},fd?Vu=function(e){Ed.nextTick(wd(e))}:vd&&vd.now?Vu=function(e){vd.now(wd(e))}:Td&&!md?(Bu=(Fu=new Td).port2,Fu.port1.onmessage=Nd,Vu=ad(Bu.postMessage,Bu)):od.addEventListener&&sd(od.postMessage)&&!od.importScripts&&Uu&&"file:"!==Uu.protocol&&!ld(Dd)?(Vu=Dd,od.addEventListener("message",Nd,!1)):Vu=Rd in hd("script")?function(e){ud.appendChild(hd("script"))[Rd]=function(){ud.removeChild(this),bd(e)}}:function(e){setTimeout(wd(e),0)});var Cd={set:_d,clear:gd},kd=r,Od=n,Md=Object.getOwnPropertyDescriptor,Pd=function(e){if(!Od)return kd[e];var t=Md(kd,e);return t&&t.value},Ld=function(){this.head=null,this.tail=null};Ld.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 xd,Ud,Vd,Fd,Bd,Hd=Ld,Wd=/ipad|iphone|ipod/i.test(Y)&&"undefined"!=typeof Pebble,jd=/web0s(?!.*chrome)/i.test(Y),Gd=r,Kd=Pd,zd=Zo,qd=Cd.set,Yd=Hd,Jd=id,Xd=Wd,$d=jd,Qd=$s,Zd=Gd.MutationObserver||Gd.WebKitMutationObserver,eh=Gd.document,th=Gd.process,rh=Gd.Promise,ih=Kd("queueMicrotask");if(!ih){var oh=new Yd,nh=function(){var e,t;for(Qd&&(e=th.domain)&&e.exit();t=oh.get();)try{t()}catch(ij){throw oh.head&&xd(),ij}e&&e.enter()};Jd||Qd||$d||!Zd||!eh?!Xd&&rh&&rh.resolve?((Fd=rh.resolve(void 0)).constructor=rh,Bd=zd(Fd.then,Fd),xd=function(){Bd(nh)}):Qd?xd=function(){th.nextTick(nh)}:(qd=zd(qd,Gd),xd=function(){qd(nh)}):(Ud=!0,Vd=eh.createTextNode(""),new Zd(nh).observe(Vd,{characterData:!0}),xd=function(){Vd.data=Ud=!Ud}),ih=function(e){oh.head||xd(),oh.add(e)}}var ah=ih,sh=function(e){try{return{error:!1,value:e()}}catch(ij){return{error:!0,value:ij}}},ch=r.Promise,lh=r,uh=ch,dh=F,hh=qi,ph=sr,mh=tt,fh=Xs,_h=te;uh&&uh.prototype;var gh=mh("species"),Eh=!1,vh=dh(lh.PromiseRejectionEvent),yh=hh("Promise",(function(){var e=ph(uh),t=e!==String(uh);if(!t&&66===_h)return!0;if(!_h||_h<51||!/native code/.test(e)){var r=new uh((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,Nh,Dh=to,Ch=$s,kh=r,Oh=l,Mh=$r,Ph=ts,Lh=Ua,xh=Tu,Uh=ge,Vh=F,Fh=H,Bh=Wc,Hh=Ju,Wh=Cd.set,jh=ah,Gh=function(e,t){try{1===arguments.length?console.error(e):console.error(e,t)}catch(ij){}},Kh=sh,zh=Hd,qh=Nr,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,up=!!(ap&&ap.createEvent&&kh.dispatchEvent),dp="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,u=e.domain;try{s?(a||(2===t.rejection&&Ep(t),t.rejection=1),!0===s?r=n:(u&&u.enter(),r=s(n),u&&(u.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(ij){u&&!o&&u.exit(),l(ij)}},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;up?((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===dp&&Gh("Unhandled promise rejection",r)},_p=function(e){Oh(Wh,kh,(function(){var t,r=e.facade,i=e.value;if(gp(e)&&(t=Kh((function(){Ch?sp.emit("unhandledRejection",i,r):fp(dp,r,i)})),e.rejection=Ch||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;Ch?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(ij){yp(r,ij,e)}})):(e.value=t,e.state=1,mp(e,!1))}catch(ij){yp({done:!1},ij,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(ij){yp(t,ij)}}).prototype,(bh=function(e){tp(this,{type:Xh,done:!1,notified:!1,parent:!1,reactions:new zh,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=Ch?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)){Nh=rp.then,Zh||Mh(rp,"then",(function(e,t){var r=this;return new ip((function(e,t){Oh(Nh,r,e,t)})).then(e,t)}),{unsafe:!0});try{delete rp.constructor}catch(ij){}Ph&&Ph(rp,op)}Dh({global:!0,constructor:!0,wrap:!0,forced:$h},{Promise:ip}),Lh(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,Np=k,Dp=fa,Cp=tt("iterator"),kp=function(e){if(!Np(e))return wp(e,Cp)||wp(e,"@@iterator")||Dp[bp(e)]},Op=l,Mp=ge,Pp=Mt,Lp=pe,xp=kp,Up=TypeError,Vp=function(e,t){var r=arguments.length<2?xp(e):t;if(Mp(r))return Pp(Op(r,e));throw new Up(Lp(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(ij){o=!0,i=ij}if("throw"===t)throw r;if(o)throw i;return Bp(i),r},jp=Zo,Gp=l,Kp=Mt,zp=pe,qp=Rp,Yp=hi,Jp=K,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,u=r&&r.that,d=!(!r||!r.AS_ENTRIES),h=!(!r||!r.IS_RECORD),p=!(!r||!r.IS_ITERATOR),m=!(!r||!r.INTERRUPTED),f=jp(t,u),_=function(e){return i&&Qp(i,"normal",e),new em(!0,e)},g=function(e){return d?(Kp(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(zp(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(ij){Qp(i,"throw",ij)}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(ij){}var sm=function(e,t){try{if(!t&&!om)return!1}catch(ij){return!1}var r=!1;try{var i={};i[im]=function(){return{next:function(){return{done:r=!0}}}},e(i)}catch(ij){}return r},cm=ch,lm=Th.CONSTRUCTOR||!sm((function(e){cm.all(e).then(void 0,(function(){}))})),um=l,dm=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=dm(t.resolve),n=[],a=0,s=1;mm(e,(function(e){var c=a++,l=!1;s++,um(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 Nm=Ih;to({target:"Promise",stat:!0,forced:Th.CONSTRUCTOR},{reject:function(e){var t=Nm.f(this);return(0,t.reject)(e),t.promise}});var Dm=Mt,Cm=H,km=Ih,Om=function(e,t){if(Dm(e),Cm(t)&&t.constructor===e)return t;var r=km.f(e);return(0,r.resolve)(t),r.promise},Mm=to,Pm=Th.CONSTRUCTOR,Lm=Om;G("Promise"),Mm({target:"Promise",stat:!0,forced:Pm},{resolve:function(e){return Lm(this,e)}});var xm=to,Um=ch,Vm=o,Fm=G,Bm=F,Hm=Ju,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 Km=Fm("Promise").prototype.finally;Gm.finally!==Km&&jm(Gm,"finally",Km,{unsafe:!0})}var zm=H,qm=R,Ym=tt("match"),Jm=function(e){var t;return zm(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=K,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")})),uf={BROKEN_CARET:lf,MISSED_STICKY:cf,UNSUPPORTED_Y:sf},df=Nt.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=K,wf=Jm,Nf=po,Df=of,Cf=uf,kf=function(e,t,r){r in e||df(e,r,{configurable:!0,get:function(){return t[r]},set:function(e){t[r]=e}})},Of=$r,Mf=o,Pf=He,Lf=Nr.enforce,xf=Tu,Uf=mf,Vf=gf,Ff=tt("match"),Bf=vf.RegExp,Hf=Bf.prototype,Wf=vf.SyntaxError,jf=yf(Hf.exec),Gf=yf("".charAt),Kf=yf("".replace),zf=yf("".indexOf),qf=yf("".slice),Yf=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,Jf=/a/g,Xf=/a/g,$f=new Bf(Jf)!==Jf,Qf=Cf.MISSED_STICKY,Zf=Cf.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),u=void 0===t,d=[],h=e;if(!c&&l&&u&&e.constructor===t_)return e;if((l||bf(Hf,e))&&(e=e.source,u&&(t=Df(h))),e=void 0===e?"":Nf(e),t=void 0===t?"":Nf(t),h=e,Uf&&"dotAll"in Jf&&(i=!!t&&zf(t,"s")>-1)&&(t=Kf(t,/s/g,"")),r=t,Qf&&"sticky"in Jf&&(o=!!t&&zf(t,"y")>-1)&&Zf&&(t=Kf(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,u="";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(""===u||Pf(a,u))throw new Wf("Invalid capture group name");a[u]=!0,n[n.length]=[u,l],c=!1,u="";continue}c?u+=t:o+=t}return[o,n]}(e),e=n[0],d=n[1]),a=If(Bf(e,t),c?this:Hf,t_),(i||o||d.length)&&(s=Lf(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),d.length&&(s.groups=d)),e!==h)try{Af(a,"source",""===h?"(?:)":h)}catch(ij){}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_=uf,l_=ia,u_=Nr.get,d_=mf,h_=gf,p_=Le("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_||d_||h_)&&(f_=function(e){var t,r,i,o,n,a,s,c=this,l=u_(c),u=a_(e),d=l.raw;if(d)return d.lastIndex=c.lastIndex,t=o_(f_,d,u),c.lastIndex=d.lastIndex,t;var h=l.groups,p=T_&&c.sticky,m=o_(s_,c),f=c.source,_=0,g=u;if(p&&(m=E_(m,"y",""),-1===g_(m,"g")&&(m+="g"),g=v_(u,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==__(u,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,N_=r.RegExp,D_=N_.prototype,C_=S_&&w_((function(){var e=!0;try{N_(".","d")}catch(ij){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}));C_&&R_(D_,"flags",{configurable:!0,get:b_});var k_=ii,O_=po,M_=P,P_=RangeError,L_=T,x_=ui,U_=po,V_=function(e){var t=O_(M_(this)),r="",i=k_(e);if(i<0||Infinity===i)throw new P_("Wrong number of repetitions");for(;i>0;(i>>>=1)&&(t+=t))1&i&&(r+=t);return r},F_=P,B_=L_(V_),H_=L_("".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)},K_=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Y),z_=G_.start;to({target:"String",proto:!0,forced:K_},{padStart:function(e){return z_(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=P,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)},ug=lg.charAt,dg=T,hg=Ve,pg=Math.floor,mg=dg("".charAt),fg=dg("".replace),_g=dg("".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 u=+c;if(0===u)return n;if(u>s){var d=pg(u/10);return 0===d?n:d<=s?void 0===i[d-1]?mg(c,1):i[d-1]+mg(c,1):n}l=i[u-1]}return void 0===l?"":l}))},yg=l,Tg=Mt,Ig=F,Ag=R,Sg=A_,Rg=TypeError,bg=ed,wg=l,Ng=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)},Cg=o,kg=Mt,Og=F,Mg=k,Pg=ii,Lg=ui,xg=po,Ug=P,Vg=function(e,t,r){return t+(r?ug(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,Kg=Ng([].concat),zg=Ng([].push),qg=Ng("".indexOf),Yg=Ng("".slice),Jg="$0"==="a".replace(/./,"$0"),Xg=!!/./[Wg]&&""===/./[Wg]("a","$0"),$g=!Cg((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=Xg?"$":"$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,u=n.global;u&&(l=n.unicode,n.lastIndex=0);for(var d,h=[];null!==(d=Hg(n,a))&&(zg(h,d),u);){""===xg(d[0])&&(n.lastIndex=Vg(a,Lg(n.lastIndex),l))}for(var p,m="",f=0,_=0;_<h.length;_++){for(var g,E=xg((d=h[_])[0]),v=jg(Gg(Pg(d.index),a.length),0),y=[],T=1;T<d.length;T++)zg(y,void 0===(p=d[T])?p:String(p));var I=d.groups;if(c){var A=Kg([E],y,v,a);void 0!==I&&zg(A,I),g=xg(bg(o,void 0,A))}else g=Bg(E,a,v,y,I,o);v>=f&&(m+=Yg(a,f,v)+g,f=v+E.length)}return m+Yg(a,f)}]}),!$g||!Jg||Xg);var Qg="\t\n\v\f\r                 \u2028\u2029\ufeff",Zg=P,eE=po,tE=Qg,rE=T("".replace),iE=RegExp("^["+tE+"]+"),oE=RegExp("(^|[^"+tE+"])["+tE+"]+$"),nE=function(e){return function(t){var r=eE(Zg(t));return 1&e&&(r=rE(r,iE,"")),2&e&&(r=rE(r,oE,"$1")),r}},aE={start:nE(1),end:nE(2),trim:nE(3)},sE=er.PROPER,cE=o,lE=Qg,uE=aE.trim;to({target:"String",proto:!0,forced:function(e){return cE((function(){return!!lE[e]()||"​…᠎"!=="​…᠎"[e]()||sE&&lE[e].name!==e}))}("trim")},{trim:function(){return uE(this)}});var dE,hE,pE,mE={exports:{}},fE=Uc,_E=n,gE=r,EE=F,vE=H,yE=He,TE=lo,IE=pe,AE=qt,SE=$r,RE=_o,bE=K,wE=Sa,NE=ts,DE=tt,CE=ze,kE=Nr.enforce,OE=Nr.get,ME=gE.Int8Array,PE=ME&&ME.prototype,LE=gE.Uint8ClampedArray,xE=LE&&LE.prototype,UE=ME&&wE(ME),VE=PE&&wE(PE),FE=Object.prototype,BE=gE.TypeError,HE=DE("toStringTag"),WE=CE("TYPED_ARRAY_TAG"),jE="TypedArrayConstructor",GE=fE&&!!NE&&"Opera"!==TE(gE.opera),KE=!1,zE={Int8Array:1,Uint8Array:1,Uint8ClampedArray:1,Int16Array:2,Uint16Array:2,Int32Array:4,Uint32Array:4,Float32Array:4,Float64Array:8},qE={BigInt64Array:8,BigUint64Array:8},YE=function(e){var t=wE(e);if(vE(t)){var r=OE(t);return r&&yE(r,jE)?r[jE]:YE(t)}},JE=function(e){if(!vE(e))return!1;var t=TE(e);return yE(zE,t)||yE(qE,t)};for(dE in zE)(pE=(hE=gE[dE])&&hE.prototype)?kE(pE)[jE]=hE:GE=!1;for(dE in qE)(pE=(hE=gE[dE])&&hE.prototype)&&(kE(pE)[jE]=hE);if((!GE||!EE(UE)||UE===Function.prototype)&&(UE=function(){throw new BE("Incorrect invocation")},GE))for(dE in zE)gE[dE]&&NE(gE[dE],UE);if((!GE||!VE||VE===FE)&&(VE=UE.prototype,GE))for(dE in zE)gE[dE]&&NE(gE[dE].prototype,VE);if(GE&&wE(xE)!==VE&&NE(xE,VE),_E&&!yE(VE,HE))for(dE in KE=!0,RE(VE,HE,{configurable:!0,get:function(){return vE(this)?this[WE]:void 0}}),zE)gE[dE]&&AE(gE[dE],WE,dE);var XE={NATIVE_ARRAY_BUFFER_VIEWS:GE,TYPED_ARRAY_TAG:KE&&WE,aTypedArray:function(e){if(JE(e))return e;throw new BE("Target is not a typed array")},aTypedArrayConstructor:function(e){if(EE(e)&&(!NE||bE(UE,e)))return e;throw new BE(IE(e)+" is not a typed array constructor")},exportTypedArrayMethod:function(e,t,r,i){if(_E){if(r)for(var o in zE){var n=gE[o];if(n&&yE(n.prototype,e))try{delete n.prototype[e]}catch(ij){try{n.prototype[e]=t}catch(a){}}}VE[e]&&!r||SE(VE,e,r?t:GE&&PE[e]||t,i)}},exportTypedArrayStaticMethod:function(e,t,r){var i,o;if(_E){if(NE){if(r)for(i in zE)if((o=gE[i])&&yE(o,e))try{delete o[e]}catch(ij){}if(UE[e]&&!r)return;try{return SE(UE,e,r?t:GE&&UE[e]||t)}catch(ij){}}for(i in zE)!(o=gE[i])||o[e]&&!r||SE(o,e,t)}},getTypedArrayConstructor:YE,isView:function(e){if(!vE(e))return!1;var t=TE(e);return"DataView"===t||yE(zE,t)||yE(qE,t)},isTypedArray:JE,TypedArray:UE,TypedArrayPrototype:VE},$E=r,QE=o,ZE=sm,ev=XE.NATIVE_ARRAY_BUFFER_VIEWS,tv=$E.ArrayBuffer,rv=$E.Int8Array,iv=!ev||!QE((function(){rv(1)}))||!QE((function(){new rv(-1)}))||!ZE((function(e){new rv,new rv(null),new rv(1.5),new rv(e)}),!0)||QE((function(){return 1!==new rv(new tv(2),1,void 0).length})),ov=H,nv=Math.floor,av=Number.isInteger||function(e){return!ov(e)&&isFinite(e)&&nv(e)===e},sv=ii,cv=RangeError,lv=function(e){var t=sv(e);if(t<0)throw new cv("The argument can't be less than 0");return t},uv=RangeError,dv=function(e,t){var r=lv(e);if(r%t)throw new uv("Wrong offset");return r},hv=Math.round,pv=lo,mv=lt,fv=TypeError,_v=function(e){var t=mv(e,"number");if("number"==typeof t)throw new fv("Can't convert number to bigint");return BigInt(t)},gv=Zo,Ev=l,vv=Gu,yv=Ve,Tv=hi,Iv=Vp,Av=kp,Sv=Rp,Rv=function(e){var t=pv(e);return"BigInt64Array"===t||"BigUint64Array"===t},bv=XE.aTypedArrayConstructor,wv=_v,Nv=Zo,Dv=C,Cv=Ve,kv=hi,Ov=bn,Mv=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,u,d){for(var h,p,m=Cv(c),f=Dv(m),_=kv(f),g=Nv(l,u),E=0,v=d||Ov,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:Mv(y,h)}else switch(e){case 4:return!1;case 7:Mv(y,h)}return n?-1:i||o?o:y}},Lv={forEach:Pv(0),map:Pv(1),filter:Pv(2),some:Pv(3),every:Pv(4),find:Pv(5),findIndex:Pv(6),filterReject:Pv(7)},xv=hi,Uv=to,Vv=r,Fv=l,Bv=n,Hv=iv,Wv=XE,jv=_u,Gv=Wc,Kv=_,zv=qt,qv=av,Yv=ui,Jv=zc,Xv=dv,$v=function(e){var t=hv(e);return t<0?0:t>255?255:255&t},Qv=ht,Zv=He,ey=lo,ty=H,ry=de,iy=ia,oy=K,ny=ts,ay=Qr.f,sy=function(e){var t,r,i,o,n,a,s,c,l=vv(this),u=yv(e),d=arguments.length,h=d>1?arguments[1]:void 0,p=void 0!==h,m=Av(u);if(m&&!Sv(m))for(c=(s=Iv(u,m)).next,u=[];!(a=Ev(c,s)).done;)u.push(a.value);for(p&&d>2&&(h=gv(h,arguments[2])),r=Tv(u),i=new(bv(l))(r),o=Rv(i),t=0;r>t;t++)n=p?h(u[t],t):u[t],i[t]=o?wv(n):+n;return i},cy=Lv.forEach,ly=Tu,uy=_o,dy=Nt,hy=i,py=function(e,t,r){for(var i=0,o=arguments.length>2?r:xv(t),n=new e(o);o>i;)n[i]=t[i++];return n},my=ml,fy=Nr.get,_y=Nr.set,gy=Nr.enforce,Ey=dy.f,vy=hy.f,yy=Vv.RangeError,Ty=jv.ArrayBuffer,Iy=Ty.prototype,Ay=jv.DataView,Sy=Wv.NATIVE_ARRAY_BUFFER_VIEWS,Ry=Wv.TYPED_ARRAY_TAG,by=Wv.TypedArray,wy=Wv.TypedArrayPrototype,Ny=Wv.isTypedArray,Dy="BYTES_PER_ELEMENT",Cy="Wrong length",ky=function(e,t){uy(e,t,{configurable:!0,get:function(){return fy(this)[t]}})},Oy=function(e){var t;return oy(Iy,e)||"ArrayBuffer"===(t=ey(e))||"SharedArrayBuffer"===t},My=function(e,t){return Ny(e)&&!ry(t)&&t in e&&qv(+t)&&t>=0},Py=function(e,t){return t=Qv(t),My(e,t)?Kv(2,e[t]):vy(e,t)},Ly=function(e,t,r){return t=Qv(t),!(My(e,t)&&ty(r)&&Zv(r,"value"))||Zv(r,"get")||Zv(r,"set")||r.configurable||Zv(r,"writable")&&!r.writable||Zv(r,"enumerable")&&!r.enumerable?Ey(e,t,r):(e[t]=r.value,e)};Bv?(Sy||(hy.f=Py,dy.f=Ly,ky(wy,"buffer"),ky(wy,"byteOffset"),ky(wy,"byteLength"),ky(wy,"length")),Uv({target:"Object",stat:!0,forced:!Sy},{getOwnPropertyDescriptor:Py,defineProperty:Ly}),mE.exports=function(e,t,r){var i=e.match(/\d+/)[0]/8,o=e+(r?"Clamped":"")+"Array",n="get"+e,a="set"+e,s=Vv[o],c=s,l=c&&c.prototype,u={},d=function(e,t){Ey(e,t,{get:function(){return function(e,t){var r=fy(e);return r.view[n](t*i+r.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,o){var n=fy(e);n.view[a](t*i+n.byteOffset,r?$v(o):o,!0)}(this,t,e)},enumerable:!0})};Sy?Hv&&(c=t((function(e,t,r,o){return Gv(e,l),my(ty(t)?Oy(t)?void 0!==o?new s(t,Xv(r,i),o):void 0!==r?new s(t,Xv(r,i)):new s(t):Ny(t)?py(c,t):Fv(sy,c,t):new s(Jv(t)),e,c)})),ny&&ny(c,by),cy(ay(s),(function(e){e in c||zv(c,e,s[e])})),c.prototype=l):(c=t((function(e,t,r,o){Gv(e,l);var n,a,s,u=0,h=0;if(ty(t)){if(!Oy(t))return Ny(t)?py(c,t):Fv(sy,c,t);n=t,h=Xv(r,i);var p=t.byteLength;if(void 0===o){if(p%i)throw new yy(Cy);if((a=p-h)<0)throw new yy(Cy)}else if((a=Yv(o)*i)+h>p)throw new yy(Cy);s=a/i}else s=Jv(t),n=new Ty(a=s*i);for(_y(e,{buffer:n,byteOffset:h,byteLength:a,length:s,view:new Ay(n)});u<s;)d(e,u++)})),ny&&ny(c,by),l=c.prototype=iy(wy)),l.constructor!==c&&zv(l,"constructor",c),gy(l).TypedArrayConstructor=c,Ry&&zv(l,Ry,o);var h=c!==s;u[o]=c,Uv({global:!0,constructor:!0,forced:h,sham:!Sy},u),Dy in c||zv(c,Dy,i),Dy in l||zv(l,Dy,i),ly(o)}):mE.exports=function(){};var xy=mE.exports;xy("Float32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Float64",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Int8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Int16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Int32",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Uint8",(function(e){return function(t,r,i){return e(this,t,r,i)}}),!0),xy("Uint16",(function(e){return function(t,r,i){return e(this,t,r,i)}})),xy("Uint32",(function(e){return function(t,r,i){return e(this,t,r,i)}}));var Uy=ul,Vy=_v,Fy=lo,By=l,Hy=o,Wy=XE.aTypedArray,jy=XE.exportTypedArrayMethod,Gy=T("".slice);jy("fill",(function(e){var t=arguments.length;Wy(this);var r="Big"===Gy(Fy(this),0,3)?Vy(e):+e;return By(Uy,this,r,t>1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),Hy((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var Ky=r,zy=l,qy=XE,Yy=hi,Jy=dv,Xy=Ve,$y=o,Qy=Ky.RangeError,Zy=Ky.Int8Array,eT=Zy&&Zy.prototype,tT=eT&&eT.set,rT=qy.aTypedArray,iT=qy.exportTypedArrayMethod,oT=!$y((function(){var e=new Uint8ClampedArray(2);return zy(tT,e,{length:1,0:3},1),3!==e[1]})),nT=oT&&qy.NATIVE_ARRAY_BUFFER_VIEWS&&$y((function(){var e=new Zy(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));iT("set",(function(e){rT(this);var t=Jy(arguments.length>1?arguments[1]:void 0,1),r=Xy(e);if(oT)return zy(tT,this,r,t);var i=this.length,o=Yy(r),n=0;if(o+t>i)throw new Qy("Wrong length");for(;n<o;)this[t+n]=r[n++]}),!oT||nT);var aT=Jo,sT=o,cT=ge,lT=uc,uT=hc,dT=pc,hT=te,pT=fc,mT=XE.aTypedArray,fT=XE.exportTypedArrayMethod,_T=r.Uint16Array,gT=_T&&aT(_T.prototype.sort),ET=!(!gT||sT((function(){gT(new _T(2),null)}))&&sT((function(){gT(new _T(2),{})}))),vT=!!gT&&!sT((function(){if(hT)return hT<74;if(uT)return uT<67;if(dT)return!0;if(pT)return pT<602;var e,t,r=new _T(516),i=Array(516);for(e=0;e<516;e++)t=e%4,r[e]=515-e,i[e]=e-2*t+3;for(gT(r,(function(e,t){return(e/4|0)-(t/4|0)})),e=0;e<516;e++)if(r[e]!==i[e])return!0}));fT("sort",(function(e){return void 0!==e&&cT(e),vT?gT(this,e):lT(mT(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))}),!vT||ET);var yT=to,TT=l,IT=T,AT=P,ST=F,RT=k,bT=Jm,wT=po,NT=ye,DT=of,CT=vg,kT=tt("replace"),OT=TypeError,MT=IT("".indexOf);IT("".replace);var PT=IT("".slice),LT=Math.max;yT({target:"String",proto:!0},{replaceAll:function(e,t){var r,i,o,n,a,s,c,l,u,d=AT(this),h=0,p="";if(!RT(e)){if(bT(e)&&(r=wT(AT(DT(e))),!~MT(r,"g")))throw new OT("`.replaceAll` does not allow non-global regexes");if(i=NT(e,kT))return TT(i,e,d,t)}for(o=wT(d),n=wT(e),(a=ST(t))||(t=wT(t)),s=n.length,c=LT(1,s),l=MT(o,n);-1!==l;)u=a?wT(t(n,l,o)):CT(n,o,l,[],void 0,t),p+=PT(o,h,l)+u,h=l+s,l=l+c>o.length?-1:MT(o,n,l+c);return h<o.length&&(p+=PT(o,h)),p}});var xT={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},UT=_t("span").classList,VT=UT&&UT.constructor&&UT.constructor.prototype,FT=VT===Object.prototype?void 0:VT,BT=Lv.forEach,HT=Ks("forEach")?[].forEach:function(e){return BT(this,e,arguments.length>1?arguments[1]:void 0)},WT=r,jT=xT,GT=FT,KT=HT,zT=qt,qT=function(e){if(e&&e.forEach!==KT)try{zT(e,"forEach",KT)}catch(ij){e.forEach=KT}};for(var YT in jT)jT[YT]&&qT(WT[YT]&&WT[YT].prototype);qT(GT);var JT=r,XT=xT,$T=FT,QT=Ps,ZT=qt,eI=Ua,tI=tt("iterator"),rI=QT.values,iI=function(e,t){if(e){if(e[tI]!==rI)try{ZT(e,tI,rI)}catch(ij){e[tI]=rI}if(eI(e,t,!0),XT[t])for(var r in QT)if(e[r]!==QT[r])try{ZT(e,r,QT[r])}catch(ij){e[r]=QT[r]}}};for(var oI in XT)iI(JT[oI]&&JT[oI].prototype,oI);iI($T,"DOMTokenList");var nI=lg.charAt,aI=po,sI=Nr,cI=Ts,lI=Is,uI="String Iterator",dI=sI.set,hI=sI.getterFor(uI);cI(String,"String",(function(e){dI(this,{type:uI,string:aI(e),index:0})}),(function(){var e,t=hI(this),r=t.string,i=t.index;return i>=r.length?lI(void 0,!0):(e=nI(r,i),t.index+=e.length,lI(e,!1))}));var pI=o,mI=n,fI=tt("iterator"),_I=!pI((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&&!mI||!t.sort||"https://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[fI]||"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})),gI=n,EI=T,vI=l,yI=o,TI=Ln,II=wi,AI=u,SI=Ve,RI=C,bI=Object.assign,wI=Object.defineProperty,NI=EI([].concat),DI=!bI||yI((function(){if(gI&&1!==bI({b:1},bI(wI({},"a",{enumerable:!0,get:function(){wI(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]||TI(bI({},t)).join("")!==i}))?function(e,t){for(var r=SI(e),i=arguments.length,o=1,n=II.f,a=AI.f;i>o;)for(var s,c=RI(arguments[o++]),l=n?NI(TI(c),n(c)):TI(c),u=l.length,d=0;u>d;)s=l[d++],gI&&!vI(a,c,s)||(r[s]=c[s]);return r}:bI,CI=Mt,kI=Wp,OI=n,MI=Nt,PI=_,LI=Zo,xI=l,UI=Ve,VI=function(e,t,r,i){try{return i?t(CI(r)[0],r[1]):t(r)}catch(ij){kI(e,"throw",ij)}},FI=Rp,BI=vn,HI=hi,WI=function(e,t,r){OI?MI.f(e,t,PI(0,r)):e[t]=r},jI=Vp,GI=kp,KI=Array,zI=T,qI=2147483647,YI=/[^\0-\u007E]/,JI=/[.\u3002\uFF0E\uFF61]/g,XI="Overflow: input needs wider integers to process",$I=RangeError,QI=zI(JI.exec),ZI=Math.floor,eA=String.fromCharCode,tA=zI("".charCodeAt),rA=zI([].join),iA=zI([].push),oA=zI("".replace),nA=zI("".split),aA=zI("".toLowerCase),sA=function(e){return e+22+75*(e<26)},cA=function(e,t,r){var i=0;for(e=r?ZI(e/700):e>>1,e+=ZI(e/t);e>455;)e=ZI(e/35),i+=36;return ZI(i+36*e/(e+38))},lA=function(e){var t=[];e=function(e){for(var t=[],r=0,i=e.length;r<i;){var o=tA(e,r++);if(o>=55296&&o<=56319&&r<i){var n=tA(e,r++);56320==(64512&n)?iA(t,((1023&o)<<10)+(1023&n)+65536):(iA(t,o),r--)}else iA(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&&iA(t,eA(i));var c=t.length,l=c;for(c&&iA(t,"-");l<o;){var u=qI;for(r=0;r<e.length;r++)(i=e[r])>=n&&i<u&&(u=i);var d=l+1;if(u-n>ZI((qI-a)/d))throw new $I(XI);for(a+=(u-n)*d,n=u,r=0;r<e.length;r++){if((i=e[r])<n&&++a>qI)throw new $I(XI);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;iA(t,eA(sA(m+f%_))),h=ZI(f/_),p+=36}iA(t,eA(sA(h))),s=cA(a,d,l===c),a=0,l++}}a++,n++}return rA(t,"")},uA=to,dA=T,hA=si,pA=RangeError,mA=String.fromCharCode,fA=String.fromCodePoint,_A=dA([].join);uA({target:"String",stat:!0,arity:1,forced:!!fA&&1!==fA.length},{fromCodePoint:function(e){for(var t,r=[],i=arguments.length,o=0;i>o;){if(t=+arguments[o++],hA(t,1114111)!==t)throw new pA(t+" is not a valid code point");r[o]=t<65536?mA(t):mA(55296+((t-=65536)>>10),t%1024+56320)}return _A(r,"")}});var gA=to,EA=r,vA=Pd,yA=G,TA=l,IA=T,AA=n,SA=_I,RA=$r,bA=_o,wA=Fc,NA=Ua,DA=Ga,CA=Nr,kA=Wc,OA=F,MA=He,PA=Zo,LA=lo,xA=Mt,UA=H,VA=po,FA=ia,BA=_,HA=Vp,WA=kp,jA=Is,GA=rd,KA=uc,zA=tt("iterator"),qA="URLSearchParams",YA=qA+"Iterator",JA=CA.set,XA=CA.getterFor(qA),$A=CA.getterFor(YA),QA=vA("fetch"),ZA=vA("Request"),eS=vA("Headers"),tS=ZA&&ZA.prototype,rS=eS&&eS.prototype,iS=EA.TypeError,oS=EA.encodeURIComponent,nS=String.fromCharCode,aS=yA("String","fromCodePoint"),sS=parseInt,cS=IA("".charAt),lS=IA([].join),uS=IA([].push),dS=IA("".replace),hS=IA([].shift),pS=IA([].splice),mS=IA("".split),fS=IA("".slice),_S=IA(/./.exec),gS=/\+/g,ES=/^[0-9a-f]+$/i,vS=function(e,t){var r=fS(e,t,t+2);return _S(ES,r)?sS(r,16):NaN},yS=function(e){for(var t=0,r=128;r>0&&e&r;r>>=1)t++;return t},TS=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},IS=function(e){for(var t=(e=dS(e,gS," ")).length,r="",i=0;i<t;){var o=cS(e,i);if("%"===o){if("%"===cS(e,i+1)||i+3>t){r+="%",i++;continue}var n=vS(e,i+1);if(n!=n){r+=o,i++;continue}i+=2;var a=yS(n);if(0===a)o=nS(n);else{if(1===a||a>4){r+="�",i++;continue}for(var s=[n],c=1;c<a&&!(++i+3>t||"%"!==cS(e,i));){var l=vS(e,i+1);if(l!=l){i+=3;break}if(l>191||l<128)break;uS(s,l),i+=2,c++}if(s.length!==a){r+="�";continue}var u=TS(s);null===u?r+="�":o=aS(u)}}r+=o,i++}return r},AS=/[!'()~]|%20/g,SS={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+"},RS=function(e){return SS[e]},bS=function(e){return dS(oS(e),AS,RS)},wS=DA((function(e,t){JA(this,{type:YA,target:XA(e).entries,index:0,kind:t})}),qA,(function(){var e=$A(this),t=e.target,r=e.index++;if(!t||r>=t.length)return e.target=null,jA(void 0,!0);var i=t[r];switch(e.kind){case"keys":return jA(i.key,!1);case"values":return jA(i.value,!1)}return jA([i.key,i.value],!1)}),!0),NS=function(e){this.entries=[],this.url=null,void 0!==e&&(UA(e)?this.parseObject(e):this.parseQuery("string"==typeof e?"?"===cS(e,0)?fS(e,1):e:VA(e)))};NS.prototype={type:qA,bindURL:function(e){this.url=e,this.update()},parseObject:function(e){var t,r,i,o,n,a,s,c=this.entries,l=WA(e);if(l)for(r=(t=HA(e,l)).next;!(i=TA(r,t)).done;){if(n=(o=HA(xA(i.value))).next,(a=TA(n,o)).done||(s=TA(n,o)).done||!TA(n,o).done)throw new iS("Expected sequence with length 2");uS(c,{key:VA(a.value),value:VA(s.value)})}else for(var u in e)MA(e,u)&&uS(c,{key:u,value:VA(e[u])})},parseQuery:function(e){if(e)for(var t,r,i=this.entries,o=mS(e,"&"),n=0;n<o.length;)(t=o[n++]).length&&(r=mS(t,"="),uS(i,{key:IS(hS(r)),value:IS(lS(r,"="))}))},serialize:function(){for(var e,t=this.entries,r=[],i=0;i<t.length;)e=t[i++],uS(r,bS(e.key)+"="+bS(e.value));return lS(r,"&")},update:function(){this.entries.length=0,this.parseQuery(this.url.query)},updateURL:function(){this.url&&this.url.update()}};var DS=function(){kA(this,CS);var e=JA(this,new NS(arguments.length>0?arguments[0]:void 0));AA||(this.size=e.entries.length)},CS=DS.prototype;if(wA(CS,{append:function(e,t){var r=XA(this);GA(arguments.length,2),uS(r.entries,{key:VA(e),value:VA(t)}),AA||this.length++,r.updateURL()},delete:function(e){for(var t=XA(this),r=GA(arguments.length,1),i=t.entries,o=VA(e),n=r<2?void 0:arguments[1],a=void 0===n?n:VA(n),s=0;s<i.length;){var c=i[s];if(c.key!==o||void 0!==a&&c.value!==a)s++;else if(pS(i,s,1),void 0!==a)break}AA||(this.size=i.length),t.updateURL()},get:function(e){var t=XA(this).entries;GA(arguments.length,1);for(var r=VA(e),i=0;i<t.length;i++)if(t[i].key===r)return t[i].value;return null},getAll:function(e){var t=XA(this).entries;GA(arguments.length,1);for(var r=VA(e),i=[],o=0;o<t.length;o++)t[o].key===r&&uS(i,t[o].value);return i},has:function(e){for(var t=XA(this).entries,r=GA(arguments.length,1),i=VA(e),o=r<2?void 0:arguments[1],n=void 0===o?o:VA(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=XA(this);GA(arguments.length,1);for(var i,o=r.entries,n=!1,a=VA(e),s=VA(t),c=0;c<o.length;c++)(i=o[c]).key===a&&(n?pS(o,c--,1):(n=!0,i.value=s));n||uS(o,{key:a,value:s}),AA||(this.size=o.length),r.updateURL()},sort:function(){var e=XA(this);KA(e.entries,(function(e,t){return e.key>t.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,r=XA(this).entries,i=PA(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 wS(this,"keys")},values:function(){return new wS(this,"values")},entries:function(){return new wS(this,"entries")}},{enumerable:!0}),RA(CS,zA,CS.entries,{name:"entries"}),RA(CS,"toString",(function(){return XA(this).serialize()}),{enumerable:!0}),AA&&bA(CS,"size",{get:function(){return XA(this).entries.length},configurable:!0,enumerable:!0}),NA(DS,qA),gA({global:!0,constructor:!0,forced:!SA},{URLSearchParams:DS}),!SA&&OA(eS)){var kS=IA(rS.has),OS=IA(rS.set),MS=function(e){if(UA(e)){var t,r=e.body;if(LA(r)===qA)return t=e.headers?new eS(e.headers):new eS,kS(t,"content-type")||OS(t,"content-type","application/x-www-form-urlencoded;charset=UTF-8"),FA(e,{body:BA(0,VA(r)),headers:BA(0,t)})}return e};if(OA(QA)&&gA({global:!0,enumerable:!0,dontCallGetSet:!0,forced:!0},{fetch:function(e){return QA(e,arguments.length>1?MS(arguments[1]):{})}}),OA(ZA)){var PS=function(e){return kA(this,tS),new ZA(e,arguments.length>1?MS(arguments[1]):{})};tS.constructor=PS,PS.prototype=tS,gA({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:PS})}}var LS,xS=to,US=n,VS=_I,FS=r,BS=Zo,HS=T,WS=$r,jS=_o,GS=Wc,KS=He,zS=DI,qS=function(e){var t=UI(e),r=BI(this),i=arguments.length,o=i>1?arguments[1]:void 0,n=void 0!==o;n&&(o=LI(o,i>2?arguments[2]:void 0));var a,s,c,l,u,d,h=GI(t),p=0;if(!h||this===KI&&FI(h))for(a=HI(t),s=r?new this(a):KI(a);a>p;p++)d=n?o(t[p],p):t[p],WI(s,p,d);else for(s=r?new this:[],u=(l=jI(t,h)).next;!(c=xI(u,l)).done;p++)d=n?VI(l,o,[c.value,p],!0):c.value,WI(s,p,d);return s.length=p,s},YS=ac,JS=lg.codeAt,XS=function(e){var t,r,i=[],o=nA(oA(aA(e),JI,"."),".");for(t=0;t<o.length;t++)r=o[t],iA(i,QI(YI,r)?"xn--"+lA(r):r);return rA(i,".")},$S=po,QS=Ua,ZS=rd,eR={URLSearchParams:DS,getState:XA},tR=Nr,rR=tR.set,iR=tR.getterFor("URL"),oR=eR.URLSearchParams,nR=eR.getState,aR=FS.URL,sR=FS.TypeError,cR=FS.parseInt,lR=Math.floor,uR=Math.pow,dR=HS("".charAt),hR=HS(/./.exec),pR=HS([].join),mR=HS(1..toString),fR=HS([].pop),_R=HS([].push),gR=HS("".replace),ER=HS([].shift),vR=HS("".split),yR=HS("".slice),TR=HS("".toLowerCase),IR=HS([].unshift),AR="Invalid scheme",SR="Invalid host",RR="Invalid port",bR=/[a-z]/i,wR=/[\d+-.a-z]/i,NR=/\d/,DR=/^0x/i,CR=/^[0-7]+$/,kR=/^\d+$/,OR=/^[\da-f]+$/i,MR=/[\0\t\n\r #%/:<>?@[\\\]^|]/,PR=/[\0\t\n\r #/:<>?@[\\\]^|]/,LR=/^[\u0000-\u0020]+/,xR=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,UR=/[\t\n\r]/g,VR=function(e){var t,r,i,o;if("number"==typeof e){for(t=[],r=0;r<4;r++)IR(t,e%256),e=lR(e/256);return pR(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+=mR(e[r],16),r<7&&(t+=":")));return"["+t+"]"}return e},FR={},BR=zS({},FR,{" ":1,'"':1,"<":1,">":1,"`":1}),HR=zS({},BR,{"#":1,"?":1,"{":1,"}":1}),WR=zS({},HR,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),jR=function(e,t){var r=JS(e,0);return r>32&&r<127&&!KS(t,e)?e:encodeURIComponent(e)},GR={ftp:21,file:null,http:80,https:443,ws:80,wss:443},KR=function(e,t){var r;return 2===e.length&&hR(bR,dR(e,0))&&(":"===(r=dR(e,1))||!t&&"|"===r)},zR=function(e){var t;return e.length>1&&KR(yR(e,0,2))&&(2===e.length||"/"===(t=dR(e,2))||"\\"===t||"?"===t||"#"===t)},qR=function(e){return"."===e||"%2e"===TR(e)},YR={},JR={},XR={},$R={},QR={},ZR={},eb={},tb={},rb={},ib={},ob={},nb={},ab={},sb={},cb={},lb={},ub={},db={},hb={},pb={},mb={},fb=function(e,t,r){var i,o,n,a=$S(e);if(t){if(o=this.parse(a))throw new sR(o);this.searchParams=null}else{if(void 0!==r&&(i=new fb(r,!0)),o=this.parse(a,null,i))throw new sR(o);(n=nR(new oR)).bindURL(this),this.searchParams=n}};fb.prototype={type:"URL",parse:function(e,t,r){var i,o,n,a,s,c=this,l=t||YR,u=0,d="",h=!1,p=!1,m=!1;for(e=$S(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=gR(e,LR,""),e=gR(e,xR,"$1")),e=gR(e,UR,""),i=qS(e);u<=i.length;){switch(o=i[u],l){case YR:if(!o||!hR(bR,o)){if(t)return AR;l=XR;continue}d+=TR(o),l=JR;break;case JR:if(o&&(hR(wR,o)||"+"===o||"-"===o||"."===o))d+=TR(o);else{if(":"!==o){if(t)return AR;d="",l=XR,u=0;continue}if(t&&(c.isSpecial()!==KS(GR,d)||"file"===d&&(c.includesCredentials()||null!==c.port)||"file"===c.scheme&&!c.host))return;if(c.scheme=d,t)return void(c.isSpecial()&&GR[c.scheme]===c.port&&(c.port=null));d="","file"===c.scheme?l=sb:c.isSpecial()&&r&&r.scheme===c.scheme?l=$R:c.isSpecial()?l=tb:"/"===i[u+1]?(l=QR,u++):(c.cannotBeABaseURL=!0,_R(c.path,""),l=hb)}break;case XR:if(!r||r.cannotBeABaseURL&&"#"!==o)return AR;if(r.cannotBeABaseURL&&"#"===o){c.scheme=r.scheme,c.path=YS(r.path),c.query=r.query,c.fragment="",c.cannotBeABaseURL=!0,l=mb;break}l="file"===r.scheme?sb:ZR;continue;case $R:if("/"!==o||"/"!==i[u+1]){l=ZR;continue}l=rb,u++;break;case QR:if("/"===o){l=ib;break}l=db;continue;case ZR:if(c.scheme=r.scheme,o===LS)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=YS(r.path),c.query=r.query;else if("/"===o||"\\"===o&&c.isSpecial())l=eb;else if("?"===o)c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=YS(r.path),c.query="",l=pb;else{if("#"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=YS(r.path),c.path.length--,l=db;continue}c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,c.path=YS(r.path),c.query=r.query,c.fragment="",l=mb}break;case eb:if(!c.isSpecial()||"/"!==o&&"\\"!==o){if("/"!==o){c.username=r.username,c.password=r.password,c.host=r.host,c.port=r.port,l=db;continue}l=ib}else l=rb;break;case tb:if(l=rb,"/"!==o||"/"!==dR(d,u+1))continue;u++;break;case rb:if("/"!==o&&"\\"!==o){l=ib;continue}break;case ib:if("@"===o){h&&(d="%40"+d),h=!0,n=qS(d);for(var f=0;f<n.length;f++){var _=n[f];if(":"!==_||m){var g=jR(_,WR);m?c.password+=g:c.username+=g}else m=!0}d=""}else if(o===LS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(h&&""===d)return"Invalid authority";u-=qS(d).length+1,d="",l=ob}else d+=o;break;case ob:case nb:if(t&&"file"===c.scheme){l=lb;continue}if(":"!==o||p){if(o===LS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()){if(c.isSpecial()&&""===d)return SR;if(t&&""===d&&(c.includesCredentials()||null!==c.port))return;if(a=c.parseHost(d))return a;if(d="",l=ub,t)return;continue}"["===o?p=!0:"]"===o&&(p=!1),d+=o}else{if(""===d)return SR;if(a=c.parseHost(d))return a;if(d="",l=ab,t===nb)return}break;case ab:if(!hR(NR,o)){if(o===LS||"/"===o||"?"===o||"#"===o||"\\"===o&&c.isSpecial()||t){if(""!==d){var E=cR(d,10);if(E>65535)return RR;c.port=c.isSpecial()&&E===GR[c.scheme]?null:E,d=""}if(t)return;l=ub;continue}return RR}d+=o;break;case sb:if(c.scheme="file","/"===o||"\\"===o)l=cb;else{if(!r||"file"!==r.scheme){l=db;continue}switch(o){case LS:c.host=r.host,c.path=YS(r.path),c.query=r.query;break;case"?":c.host=r.host,c.path=YS(r.path),c.query="",l=pb;break;case"#":c.host=r.host,c.path=YS(r.path),c.query=r.query,c.fragment="",l=mb;break;default:zR(pR(YS(i,u),""))||(c.host=r.host,c.path=YS(r.path),c.shortenPath()),l=db;continue}}break;case cb:if("/"===o||"\\"===o){l=lb;break}r&&"file"===r.scheme&&!zR(pR(YS(i,u),""))&&(KR(r.path[0],!0)?_R(c.path,r.path[0]):c.host=r.host),l=db;continue;case lb:if(o===LS||"/"===o||"\\"===o||"?"===o||"#"===o){if(!t&&KR(d))l=db;else if(""===d){if(c.host="",t)return;l=ub}else{if(a=c.parseHost(d))return a;if("localhost"===c.host&&(c.host=""),t)return;d="",l=ub}continue}d+=o;break;case ub:if(c.isSpecial()){if(l=db,"/"!==o&&"\\"!==o)continue}else if(t||"?"!==o)if(t||"#"!==o){if(o!==LS&&(l=db,"/"!==o))continue}else c.fragment="",l=mb;else c.query="",l=pb;break;case db:if(o===LS||"/"===o||"\\"===o&&c.isSpecial()||!t&&("?"===o||"#"===o)){if(".."===(s=TR(s=d))||"%2e."===s||".%2e"===s||"%2e%2e"===s?(c.shortenPath(),"/"===o||"\\"===o&&c.isSpecial()||_R(c.path,"")):qR(d)?"/"===o||"\\"===o&&c.isSpecial()||_R(c.path,""):("file"===c.scheme&&!c.path.length&&KR(d)&&(c.host&&(c.host=""),d=dR(d,0)+":"),_R(c.path,d)),d="","file"===c.scheme&&(o===LS||"?"===o||"#"===o))for(;c.path.length>1&&""===c.path[0];)ER(c.path);"?"===o?(c.query="",l=pb):"#"===o&&(c.fragment="",l=mb)}else d+=jR(o,HR);break;case hb:"?"===o?(c.query="",l=pb):"#"===o?(c.fragment="",l=mb):o!==LS&&(c.path[0]+=jR(o,FR));break;case pb:t||"#"!==o?o!==LS&&("'"===o&&c.isSpecial()?c.query+="%27":c.query+="#"===o?"%23":jR(o,FR)):(c.fragment="",l=mb);break;case mb:o!==LS&&(c.fragment+=jR(o,BR))}u++}},parseHost:function(e){var t,r,i;if("["===dR(e,0)){if("]"!==dR(e,e.length-1))return SR;if(t=function(e){var t,r,i,o,n,a,s,c=[0,0,0,0,0,0,0,0],l=0,u=null,d=0,h=function(){return dR(e,d)};if(":"===h()){if(":"!==dR(e,1))return;d+=2,u=++l}for(;h();){if(8===l)return;if(":"!==h()){for(t=r=0;r<4&&hR(OR,h());)t=16*t+cR(h(),16),d++,r++;if("."===h()){if(0===r)return;if(d-=r,l>6)return;for(i=0;h();){if(o=null,i>0){if(!("."===h()&&i<4))return;d++}if(!hR(NR,h()))return;for(;hR(NR,h());){if(n=cR(h(),10),null===o)o=n;else{if(0===o)return;o=10*o+n}if(o>255)return;d++}c[l]=256*c[l]+o,2!=++i&&4!==i||l++}if(4!==i)return;break}if(":"===h()){if(d++,!h())return}else if(h())return;c[l++]=t}else{if(null!==u)return;d++,u=++l}}if(null!==u)for(a=l-u,l=7;0!==l&&a>0;)s=c[l],c[l--]=c[u+a-1],c[u+--a]=s;else if(8!==l)return;return c}(yR(e,1,-1)),!t)return SR;this.host=t}else if(this.isSpecial()){if(e=XS(e),hR(MR,e))return SR;if(t=function(e){var t,r,i,o,n,a,s,c=vR(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"===dR(o,0)&&(n=hR(DR,o)?16:8,o=yR(o,8===n?1:2)),""===o)a=0;else{if(!hR(10===n?kR:8===n?CR:OR,o))return e;a=cR(o,n)}_R(r,a)}for(i=0;i<t;i++)if(a=r[i],i===t-1){if(a>=uR(256,5-t))return null}else if(a>255)return null;for(s=fR(r),i=0;i<r.length;i++)s+=r[i]*uR(256,3-i);return s}(e),null===t)return SR;this.host=t}else{if(hR(PR,e))return SR;for(t="",r=qS(e),i=0;i<r.length;i++)t+=jR(r[i],FR);this.host=t}},cannotHaveUsernamePasswordPort:function(){return!this.host||this.cannotBeABaseURL||"file"===this.scheme},includesCredentials:function(){return""!==this.username||""!==this.password},isSpecial:function(){return KS(GR,this.scheme)},shortenPath:function(){var e=this.path,t=e.length;!t||"file"===this.scheme&&1===t&&KR(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+=VR(o),null!==n&&(l+=":"+n)):"file"===t&&(l+="//"),l+=e.cannotBeABaseURL?a[0]:a.length?"/"+pR(a,"/"):"",null!==s&&(l+="?"+s),null!==c&&(l+="#"+c),l},setHref:function(e){var t=this.parse(e);if(t)throw new sR(t);this.searchParams.update()},getOrigin:function(){var e=this.scheme,t=this.port;if("blob"===e)try{return new _b(e.path[0]).origin}catch(ij){return"null"}return"file"!==e&&this.isSpecial()?e+"://"+VR(this.host)+(null!==t?":"+t:""):"null"},getProtocol:function(){return this.scheme+":"},setProtocol:function(e){this.parse($S(e)+":",YR)},getUsername:function(){return this.username},setUsername:function(e){var t=qS($S(e));if(!this.cannotHaveUsernamePasswordPort()){this.username="";for(var r=0;r<t.length;r++)this.username+=jR(t[r],WR)}},getPassword:function(){return this.password},setPassword:function(e){var t=qS($S(e));if(!this.cannotHaveUsernamePasswordPort()){this.password="";for(var r=0;r<t.length;r++)this.password+=jR(t[r],WR)}},getHost:function(){var e=this.host,t=this.port;return null===e?"":null===t?VR(e):VR(e)+":"+t},setHost:function(e){this.cannotBeABaseURL||this.parse(e,ob)},getHostname:function(){var e=this.host;return null===e?"":VR(e)},setHostname:function(e){this.cannotBeABaseURL||this.parse(e,nb)},getPort:function(){var e=this.port;return null===e?"":$S(e)},setPort:function(e){this.cannotHaveUsernamePasswordPort()||(""===(e=$S(e))?this.port=null:this.parse(e,ab))},getPathname:function(){var e=this.path;return this.cannotBeABaseURL?e[0]:e.length?"/"+pR(e,"/"):""},setPathname:function(e){this.cannotBeABaseURL||(this.path=[],this.parse(e,ub))},getSearch:function(){var e=this.query;return e?"?"+e:""},setSearch:function(e){""===(e=$S(e))?this.query=null:("?"===dR(e,0)&&(e=yR(e,1)),this.query="",this.parse(e,pb)),this.searchParams.update()},getSearchParams:function(){return this.searchParams.facade},getHash:function(){var e=this.fragment;return e?"#"+e:""},setHash:function(e){""!==(e=$S(e))?("#"===dR(e,0)&&(e=yR(e,1)),this.fragment="",this.parse(e,mb)):this.fragment=null},update:function(){this.query=this.searchParams.serialize()||null}};var _b=function(e){var t=GS(this,gb),r=ZS(arguments.length,1)>1?arguments[1]:void 0,i=rR(t,new fb(e,!1,r));US||(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())},gb=_b.prototype,Eb=function(e,t){return{get:function(){return iR(this)[e]()},set:t&&function(e){return iR(this)[t](e)},configurable:!0,enumerable:!0}};if(US&&(jS(gb,"href",Eb("serialize","setHref")),jS(gb,"origin",Eb("getOrigin")),jS(gb,"protocol",Eb("getProtocol","setProtocol")),jS(gb,"username",Eb("getUsername","setUsername")),jS(gb,"password",Eb("getPassword","setPassword")),jS(gb,"host",Eb("getHost","setHost")),jS(gb,"hostname",Eb("getHostname","setHostname")),jS(gb,"port",Eb("getPort","setPort")),jS(gb,"pathname",Eb("getPathname","setPathname")),jS(gb,"search",Eb("getSearch","setSearch")),jS(gb,"searchParams",Eb("getSearchParams")),jS(gb,"hash",Eb("getHash","setHash"))),WS(gb,"toJSON",(function(){return iR(this).serialize()}),{enumerable:!0}),WS(gb,"toString",(function(){return iR(this).serialize()}),{enumerable:!0}),aR){var vb=aR.createObjectURL,yb=aR.revokeObjectURL;vb&&WS(_b,"createObjectURL",BS(vb,aR)),yb&&WS(_b,"revokeObjectURL",BS(yb,aR))}QS(_b,"URL"),xS({global:!0,constructor:!0,forced:!VS,sham:!US},{URL:_b});var Tb=l;to({target:"URL",proto:!0,enumerable:!0},{toJSON:function(){return Tb(URL.prototype.toString,this)}});var Ib,Ab=Object.create,Sb=Object.defineProperty,Rb=Object.defineProperties,bb=Object.getOwnPropertyDescriptor,wb=Object.getOwnPropertyDescriptors,Nb=Object.getOwnPropertyNames,Db=Object.getOwnPropertySymbols,Cb=Object.getPrototypeOf,kb=Object.prototype.hasOwnProperty,Ob=Object.prototype.propertyIsEnumerable,Mb=Reflect.get,Pb=Math.pow,Lb=(e,t,r)=>t in e?Sb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,xb=(e,t)=>{for(var r in t||(t={}))kb.call(t,r)&&Lb(e,r,t[r]);if(Db)for(var r of Db(t))Ob.call(t,r)&&Lb(e,r,t[r]);return e},Ub=(e,t)=>Rb(e,wb(t)),Vb=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Fb=(e,t)=>{for(var r in t)Sb(e,r,{get:t[r],enumerable:!0})},Bb=(e,t,r)=>(r=null!=e?Ab(Cb(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of Nb(t))!kb.call(e,o)&&o!==r&&Sb(e,o,{get:()=>t[o],enumerable:!(i=bb(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:Sb(r,"default",{value:e,enumerable:!0}),e)),Hb=(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&&Sb(t,r,n),n},Wb=(e,t,r)=>Lb(e,"symbol"!=typeof t?t+"":t,r),jb=(e,t,r)=>Mb(Cb(e),r,t),Gb=(e,t,r)=>new Promise(((i,o)=>{var n=e=>{try{s(r.next(e))}catch(rO){o(rO)}},a=e=>{try{s(r.throw(e))}catch(rO){o(rO)}},s=e=>e.done?i(e.value):Promise.resolve(e.value).then(n,a);s((r=r.apply(e,t)).next())})),Kb=Vb(((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,u=this._events[s],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,o),!0;case 5:return u.fn.call(u.context,t,r,o,n),!0;case 6:return u.fn.call(u.context,t,r,o,n,a),!0}for(l=1,c=new Array(d-1);l<d;l++)c[l-1]=arguments[l];u.fn.apply(u.context,c)}else{var h,p=u.length;for(l=0;l<p;l++)switch(u[l].once&&this.removeListener(e,u[l].fn,void 0,!0),d){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,t);break;case 3:u[l].fn.call(u[l].context,t,r);break;case 4:u[l].fn.call(u[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(d-1);h<d;h++)c[h-1]=arguments[h];u[l].fn.apply(u[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=[],u=a.length;c<u;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)})),zb=Vb(((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")}))}))})),qb=Vb((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=zb(),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}}))}))}})),Yb=Vb(((e,t)=>{var r=zb(),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"}})),Jb=Vb((e=>{var t=qb(),r=Yb(),i=zb();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})),Xb=((Ib=Xb||{})[Ib.INVALID_PARAMETER=4096]="INVALID_PARAMETER",Ib[Ib.INVALID_OPERATION=4097]="INVALID_OPERATION",Ib[Ib.NOT_SUPPORTED=4098]="NOT_SUPPORTED",Ib[Ib.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",Ib[Ib.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",Ib[Ib.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",Ib[Ib.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",Ib[Ib.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",Ib[Ib.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",Ib[Ib.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",Ib[Ib.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",Ib[Ib.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",Ib[Ib.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",Ib[Ib.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",Ib[Ib.CLIENT_BANNED=16448]="CLIENT_BANNED",Ib[Ib.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",Ib[Ib.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",Ib[Ib.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",Ib[Ib.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",Ib[Ib.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",Ib[Ib.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",Ib[Ib.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",Ib[Ib.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",Ib[Ib.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",Ib[Ib.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",Ib[Ib.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",Ib[Ib.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",Ib[Ib.API_CALL_ABORTED=16461]="API_CALL_ABORTED",Ib[Ib.SPC_INITIALIZED_FAILED=16462]="SPC_INITIALIZED_FAILED",Ib[Ib.VIDEO_MANAGER_ERROR=16463]="VIDEO_MANAGER_ERROR",Ib[Ib.SWITCH_ROOM_FAILED=16464]="SWITCH_ROOM_FAILED",Ib[Ib.UNKNOWN=65535]="UNKNOWN",Ib),$b=Xb,Qb=class extends Error{constructor(e){let{name:t="RtcError",message:r,code:i=$b.UNKNOWN,extraCode:o=0,constraint:n}=e,a="<".concat(function(e){for(let t in $b)if($b[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),Wb(this,"code"),Wb(this,"extraCode"),Wb(this,"message"),Wb(this,"originMessage"),Wb(this,"name"),Wb(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}},Zb=Qb;(new Date).getTime();var ew=function(){return(new Date).getTime()+0},tw=function(){let e=new Date;return e.setTime(ew()),e.toLocaleString()},rw=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)},iw={};Fb(iw,{bytes2ms:()=>YN,calculateScaleResolutionDownNumber:()=>WD,convertObjectNumberToInt:()=>UD,copyProperties:()=>qN,deepClone:()=>wD,deepMerge:()=>bD,delay:()=>VD,fibonacci:()=>tD,formatedTime:()=>CD,getConstructorName:()=>fD,getContainerFromElement:()=>DD,getEnv:()=>FN,getInternalVersion:()=>yD,getLoggerUrl:()=>HN,getMediaStreamTrackInfo:()=>HD,getMuteStateFromFlag:()=>AD,getNetworkType:()=>jN,getNumNetworkType:()=>zN,getReconnectionTimeout:()=>rD,getStringByteLength:()=>MD,getTurnServer:()=>SD,getUint32Version:()=>xD,getValueType:()=>iD,getViewListFromView:()=>ND,glog:()=>QN,ipv4ToUint32:()=>RD,isArray:()=>uD,isAudioWorkletSupported:()=>_D,isBoolean:()=>cD,isConstructor:()=>mD,isEmpty:()=>ID,isFunction:()=>oD,isLangChinese:()=>ZN,isMediaStreamTrack:()=>dD,isNumber:()=>sD,isObject:()=>lD,isOverseaSdkAppId:()=>BN,isPlainObject:()=>eD,isPortrait:()=>PD,isPromise:()=>pD,isRemoteTrack:()=>hD,isRotate90Or270:()=>jD,isString:()=>aD,isUndefined:()=>nD,loadImage:()=>LD,ms2bytes:()=>XN,ms2samples:()=>$N,normalizeUrl:()=>BD,performanceNow:()=>ED,promiseAny:()=>gD,samples2ms:()=>JN,setNetworkType:()=>KN,stringify:()=>kD,stringifyIncludeValue:()=>OD,throttlePromise:()=>FD});var ow={};Fb(ow,{AUDIO_MUTE_BIT:()=>Kw,AUDIO_STAT_BIT:()=>Gw,AUX_STAT_BIT:()=>jw,AUX_STREAM_MSID:()=>Xw,BACKEND_ENV:()=>Fw,BASE_DOC_URL:()=>vw,BASE_HOST:()=>fw,CAPABILITIES_KEYS:()=>UN,CLASS_NAME:()=>NN,CLOUD_CONSOLE_URL:()=>Ew,CROSS_ROOM_BIT:()=>Yw,DATA_FREEZE_TIMING:()=>TN,DEFAULT_ASSETS_URL:()=>yw,DOC_URL:()=>Tw,DTLS_STATE_UNKNOWN:()=>aN,ENV_NAME:()=>bw,EXCHANGE_SDP_TIMEOUT:()=>_N,IS_WORKER:()=>uw,IS_WORKLET:()=>dw,KIBANA_EVENT:()=>pN,LOCAL_STREAM_PUBLISH_STATE:()=>yN,LOGGER_CMD_TYPE:()=>Rw,LOGGER_DOMAIN:()=>Iw,LOGGER_DOMAIN_OVERSEA:()=>Aw,LOG_LEVEL:()=>ww,LOG_LEVEL_NAME:()=>MN,MAIN_STREAM_MSID:()=>Jw,MAX_RTT:()=>VN,MICROPHONE_COMMUNICATIONS:()=>ON,MICROPHONE_DEFAULT:()=>CN,MUTE_ALL_BIT:()=>qw,NAME:()=>Uw,NETWORK_TYPE:()=>Cw,NOT_SUPPORTED_H264:()=>vN,PAUSED_RETRY_COUNT:()=>DN,PEERCONNECTION_CONNECTING_TIMEOUT:()=>RN,PEER_CONNECTION_STATE:()=>sN,PEER_LEAVE_REASON:()=>PN,RECOVER_CAPTURE_INTERVAL:()=>xN,REMOTE_STREAM_TYPE_AUX:()=>Qw,REMOTE_STREAM_TYPE_MAIN:()=>$w,RENDER_FREEZE_TIMING:()=>IN,SCHEDULE_DOMAIN:()=>bN,SCHEDULE_TIMEOUT:()=>wN,SDP_SEMANTICS_PLAN_B:()=>EN,SDP_SEMANTICS_UNIFIED_PLAN:()=>gN,SECOND_HOST:()=>_w,SIGNAL_PING_PONG_INTERVAL:()=>Dw,SIGNAL_PING_TIMEOUT:()=>Nw,SIGNAL_RECONNECTION_COUNT:()=>hN,SMALL_STAT_BIT:()=>Ww,SPEAKER_DEFAULT:()=>kN,STORAGE_EXPIRES_TIME:()=>kw,STREAM_TYPE_BIG:()=>AN,STREAM_TYPE_SMALL:()=>SN,SUBSCRIBE_SMALL_RETRY_COUNT:()=>LN,SYNC_USER_LIST_INTERVAL:()=>mN,Scene:()=>Bw,THIRD_HOST:()=>gw,TRANSPORT_DIRECTION:()=>Vw,TRTC_ERROR_ASSISTANCE:()=>Sw,TRTC_QUALITY_BAD:()=>iN,TRTC_QUALITY_DISCONNECTED:()=>nN,TRTC_QUALITY_EXCELLENT:()=>eN,TRTC_QUALITY_GOOD:()=>tN,TRTC_QUALITY_POOR:()=>rN,TRTC_QUALITY_UNKNOWN:()=>Zw,TRTC_QUALITY_VERY_BAD:()=>oN,UPDATE_OFFER_TIMEOUT:()=>fN,VIDEO_MUTE_BIT:()=>zw,VIDEO_STAT_BIT:()=>Hw,audioProfileMap:()=>Ow,defaultBigVideoProfile:()=>Pw,defaultSmallVideoProfile:()=>Lw,getRetryCount:()=>uN,getScriptDir:()=>hw,innerVersion:()=>nw,loggerProxy:()=>pw,screenProfileMap:()=>xw,setLoggerProxy:()=>mw,setRetryCount:()=>lN,setVersion:()=>sw,version:()=>aw,videoProfileMap:()=>Mw});var nw="4.15.00.1600",aw="5.0.0";function sw(e){aw=e;let[t,r,i]=e.split(".").map((e=>parseInt(e,10)));nw="".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 cw,lw,uw="undefined"!=typeof importScripts,dw="undefined"!=typeof registerProcessor,hw=()=>{let e=uw?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf("/")+1)},pw="",mw=e=>pw=e,fw="web.sdk.qcloud.com",_w="web.sdk.tencent.cn",gw="web.sdk.cloud.tencent.cn",Ew="https://console.cloud.tencent.com/trtc",vw="https://".concat(fw,"/trtc/webrtc/v5/doc"),yw="https://web.sdk.qcloud.com/trtc/webrtc/v5/assets/",Tw="".concat(vw,"/zh-cn/"),Iw="https://yun.tim.qq.com",Aw="https://apisgp.my-imcloud.com",Sw="trtc_error_assistance",Rw={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"},ww=((lw=ww||{})[lw.TRACE=0]="TRACE",lw[lw.DEBUG=1]="DEBUG",lw[lw.INFO=2]="INFO",lw[lw.WARN=3]="WARN",lw[lw.ERROR=4]="ERROR",lw[lw.NONE=5]="NONE",lw),Nw=18e3,Dw=2e3,Cw={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5,"5g":6},kw=6048e5,Ow={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}},Mw={"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}},Pw=Mw["480p_2"],Lw=Mw["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}},Uw={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"},Vw={INACTIVE:"inactive",SENDONLY:"sendonly",RECVONLY:"recvonly"},Fw={OLD_CLOUD_LADDER:"wss://trtc.rtc.qq.com",WEBRTC:"wss://webrtc.qq.com"},Bw=((cw=Bw||{}).LIVE="live",cw.RTC="rtc",cw),Hw=1,Ww=2,jw=4,Gw=8,Kw=64,zw=16,qw=112,Yw=128,Jw="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",Xw="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",$w=Uw.MAIN,Qw=Uw.AUXILIARY,Zw=0,eN=1,tN=2,rN=3,iN=4,oN=5,nN=6,aN="unknown",sN={NEW:"new",CONNECTING:"connecting",FAILED:"failed",CLOSED:"closed",DISCONNECTED:"disconnected",CONNECTED:"connected",COMPLETED:"completed"},cN=1/0;function lN(e){cN=e}function uN(){return cN}var dN,hN=30,pN={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"},mN=1e4,fN=1e4,_N=1e4,gN="unified-plan",EN="plan-b",vN=1028,yN=((dN=yN||{})[dN.UNPUBLISH=-1]="UNPUBLISH",dN[dN.PUBLISHING=0]="PUBLISHING",dN[dN.PUBLISHED=1]="PUBLISHED",dN),TN=500,IN=1e3,AN=Uw.BIG,SN=Uw.SMALL,RN=1e4,bN={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"},wN=2e3,NN={TRTC:"TRTC",CLIENT:"Client",LOCAL_STREAM:"LocalStream",REMOTE_STREAM:"RemoteStream",STREAM:"Stream"},DN=5,CN="default",kN=CN,ON="communications",MN=Object.keys(ww),PN=["normal leave","timeout leave","kick","role change"],LN=10,xN=2e3,UN=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId","min","max"],VN=1e4,FN=function(){return new URLSearchParams(location.search).get("trtc_env")||""},BN=e=>Number(e)<14e8,HN=function(e,t){let r;r=pw||(BN(e)?Aw:Iw);let i=Math.floor(Math.random()*Pb(2,31));return"".concat(r,"/v5/AVQualityReportSvc/C2S?random=").concat(i,"&sdkappid=").concat(e,"&cmdtype=").concat(t)},WN="unknown";function jN(){if("unknown"!==WN)return WN;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&&(WN=GN(i,o)),WN}function GN(e,t){if(Cw[e])return e;switch(e){case"cellular":case"wimax":return t||"unknown";case"ethernet":return"wired";default:return"unknown"}}function KN(e){WN=GN(e)}function zN(){return Cw[jN()]}function qN(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 YN(e){return JN(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function JN(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function XN(e){return 4*$N(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function $N(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var QN="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:()=>{},ZN=()=>{let e=navigator.language;return e=e.substring(0,2),"zh"===e},eD=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 tD(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:tD(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function rD(e){return e>8?3e4:1e3*tD(e)}function iD(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var oD=e=>"function"==typeof e,nD=e=>void 0===e,aD=e=>"string"==typeof e,sD=e=>"number"==typeof e,cD=e=>"boolean"==typeof e,lD=e=>"object"===iD(e),uD=e=>"array"===iD(e),dD=e=>iD(e)==="MediaStreamTrack".toLowerCase(),hD=e=>e.isRemote,pD=e=>"promise"===iD(e),mD=e=>oD(e)&&e.prototype.constructor===e,fD=e=>mD(e)?e.prototype.constructor.name:"",_D="undefined"!=typeof AudioWorkletNode;function gD(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 ED(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var vD=e=>+e<10?"0".concat(e):e,yD=e=>{let t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;let r=t.split("."),i=vD(r[1])+vD(r[2]);return r[1]-15>0&&(r[1]="15"),r[2]-15>0&&(r[2]="15"),"".concat(r.join("."),".").concat(i)},TD=Object.prototype.hasOwnProperty;function ID(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(eD(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(TD.call(e,t))return!1;return!0}return!1}function AD(e,t){return{userId:t,hasAudio:!!(e&Gw),hasVideo:!!(e&Hw),hasAuxiliary:!!(e&jw),hasSmall:!!(e&Ww),audioMuted:!!(e&Kw),videoMuted:!!(e&zw),audioAvailable:!(!(e&Gw)||e&Kw),videoAvailable:!(!(e&Hw)||e&zw)}}function SD(e){let t={urls:e.url.startsWith("turn:")||e.url.startsWith("turns:")?e.url:"turn:".concat(e.url)};return!nD(e.username)&&!nD(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType="password",nD(e.credentialType)||(t.credentialType=e.credentialType)),t}function RD(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!aD(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 bD=function(e,t,r,i){if(!lD(e)||!lD(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],!(nD(t[o])||r&&r.includes(o)))if(lD(e[o])&&lD(t[o]))n+=bD(e[o],t[o],r,i);else{if(i&&i.includes(t[o]))continue;e[o]!==t[o]&&(e[o]=wD(t[o]),n+=1)}return n};function wD(e){if(uD(e)){let t=[];return e.forEach(((e,r)=>{t[r]=wD(e)})),t}if(lD(e)){let t={};return Object.keys(e).forEach((r=>{t[r]=wD(e[r])})),t}return e}var ND=e=>{let t=[];if(uD(e))t=[...e];else if(aD(e)){let r=document.getElementById(e);r&&t.push(r)}else e&&t.push(e);return t},DD=e=>aD(e)?document.getElementById(e):e,CD=()=>(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 kD(e,t){let{keysToInclude:r,keysToExclude:i}=t;try{if(uD(e))return"[".concat(e.map((e=>kD(e,{keysToInclude:r,keysToExclude:i}))).join(","),"]");if(!eD(e)||!uD(r)&&!uD(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]=eD(e[a])||uD(e[a])?JSON.parse(kD(e[a],{keysToExclude:i,keysToInclude:r})):e[a])})),JSON.stringify(t)}catch(dN){return"{}"}}function OD(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)})),kD(e,{keysToInclude:r})}function MD(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}var PD=()=>{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},LD=e=>Gb(void 0,null,(function*(){return new Promise(((t,r)=>{let i;if(aD(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 Zb({code:$b.INVALID_PARAMETER,message:"load image failed, url: ".concat(e)}))}}))})),xD=e=>{let t=e.split(".");return+t[0]<<24|+t[1]<<16|+t[2]<<8|+t[3]},UD=e=>(Object.keys(e).forEach((t=>{sD(e[t])&&(t.startsWith("uint")||t.startsWith("int"))?e[t]=Math.floor(e[t]):(eD(e[t])||uD(e[t]))&&UD(e[t])})),e);function VD(e,t){return new Promise((r=>{let i=setTimeout(r,e);t&&t(i)}))}function FD(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 BD(e){return e.replace(/(^|[^:])\/{2,}/g,"$1/")}function HD(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===Uw.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(cw){return""}}function WD(e,t){return e.width*e.height==t.width*t.height?1:PD()&&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 jD(e){return 90===e||270===e}function GD(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.text())).then((t=>{try{e({data:JSON.parse(t)})}catch(rO){e({data:t})}}),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(t){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 KD(e){return Gb(this,null,(function*(){let t=ED(),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 Xk.debug("compressJSON ".concat(r.length," -> ").concat(i.byteLength," ").concat(ED()-t,"ms")),i}catch(dN){return r}}))}var zD=Object.prototype.hasOwnProperty,qD=e=>"function"==typeof e,YD=e=>e.isRemote,JD=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 XD=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:u=5,timeout:d=1e3}=r,h=0,p=-1,m=0,f=(e,r)=>Gb(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(_){let t=()=>{clearTimeout(p),h=0,m=2,r(_)},a=()=>{2!==m&&h<(qD(u)?u():u)?(h++,m=1,qD(o)&&o.call(this,h,t),p=window.setTimeout((()=>{p=-1,f(e,r)}),qD(d)?d(h):d)):(t(),qD(n)&&n.call(this,_))};qD(i)?i.call(this,{error:_,retry:a,reject:r,retryFuncArgs:c,retriedCount:h}):a()}}));return new Promise(f)}},$D=class{constructor(e){Wb(this,"userId"),Wb(this,"remoteUserId"),Wb(this,"id"),Wb(this,"sdkAppId"),Wb(this,"type"),Wb(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):"","]")),Xk.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(JD(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(zD.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)}},QD={};Fb(QD,{ANDROID_VERSION:()=>dC,CHROME_MAJOR_VERSION:()=>fk,CHROME_VERSION:()=>_k,EDGE_VERSION:()=>EC,EDG_MAJOR_VERSION:()=>TC,EDG_VERSION:()=>yC,FIREFOX_MAJOR_VERSION:()=>_C,FIREFOX_VERSION:()=>fC,HUAWEI_VERSION:()=>rk,IE_VERSION:()=>OC,IOS_MAIN_VERSION:()=>Ak,IOS_VERSION:()=>Tk,IPADQQB_VERSION:()=>jC,IS_ANDROID:()=>uC,IS_ANDROID_WEBVIEW:()=>yk,IS_ANY_SAFARI:()=>Ek,IS_CHROME:()=>pk,IS_CHROME_OS:()=>qC,IS_CHROMIUM_BASE:()=>hk,IS_DESKTOP_IOS_CHROME:()=>Nk,IS_EDG:()=>vC,IS_EDGE:()=>gC,IS_ELECTRON:()=>XC,IS_FIREFOX:()=>mC,IS_HEADLESS_CHROME:()=>mk,IS_HONOR:()=>tk,IS_HUAWEI:()=>ek,IS_HUAWEIBROWSER:()=>ZC,IS_IE:()=>kC,IS_IE8:()=>CC,IS_IOS:()=>lC,IS_IOS_13_OR_14:()=>bk,IS_IOS_15_1:()=>Rk,IS_IOS_CHROME:()=>wk,IS_IPAD:()=>nC,IS_IPADQQB:()=>WC,IS_IPAD_PRO:()=>aC,IS_IPHONE:()=>sC,IS_IPOD:()=>cC,IS_LINUX:()=>zC,IS_LOCAL:()=>Dk,IS_MAC:()=>KC,IS_MACQQB:()=>BC,IS_MIBROWSER:()=>$C,IS_MQQB:()=>xC,IS_NATIVE_ANDROID:()=>pC,IS_OLD_ANDROID:()=>hC,IS_OPENHARMONY:()=>lk,IS_OPPOBROWSER:()=>nk,IS_SAFARI:()=>gk,IS_SAFARI_15_1:()=>Sk,IS_SAMSUNGBROWSER:()=>ik,IS_SOGOU:()=>SC,IS_SOGOUM:()=>IC,IS_TBS:()=>bC,IS_UCBROWSER:()=>JC,IS_VIVOBROWSER:()=>sk,IS_WECHAT:()=>MC,IS_WIN:()=>GC,IS_WQQB:()=>VC,IS_WX:()=>YC,IS_X5MQQB:()=>LC,IS_XWEB:()=>NC,MACQQB_VERSION:()=>HC,MI_VERSION:()=>QC,MQQB_VERSION:()=>UC,OPENHARMONY_VERSION:()=>uk,OPPO_VERSION:()=>ak,SAFARI_VERSION:()=>vk,SAMSUNG_VERSION:()=>ok,SOGOUM_VERSION:()=>AC,SOGOU_VERSION:()=>RC,TBS_VERSION:()=>wC,UA_DATA_STRING:()=>Lk,USER_AGENT:()=>ZD,VIVO_VERSION:()=>ck,WECHAT_VERSION:()=>PC,WQQB_VERSION:()=>FC,XWEB_VERSION:()=>DC,browserInfo:()=>kk,getBrowserInfo:()=>Ok,getChromeMajorVersion:()=>dk,getDeviceModel:()=>Vk,getGPUInfo:()=>Uk,getOSName:()=>Bk,getOSNumber:()=>Hk,getOSString:()=>Wk,getOSType:()=>Gk,getTerminalType:()=>jk,getUserAgentData:()=>xk,isLocalStorageEnabled:()=>Ck,isMobile:()=>Pk,isVersionSmallerThan:()=>Ik});var ZD="undefined"==typeof navigator?"":navigator.userAgent,eC=e=>new RegExp(e,"i").test(ZD),tC=e=>{if(eC(e)){let t=new RegExp("".concat(e,"\\/([\\d.]+)")),r=ZD.match(t);if(r&&r[1])return r[1]}return""},rC=e=>{if(eC(e)){let t=new RegExp("".concat(e,"\\/(\\d+)")),r=ZD.match(t);if(r&&r[1])return parseFloat(r[1])}return NaN},iC=/AppleWebKit\/([\d.]+)/i.exec(ZD),oC=iC?parseFloat(iC[1]):NaN,nC=eC("iPad"),aC="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&eC("Macintosh"),sC=eC("iPhone")&&!nC,cC=eC("iPod"),lC=sC||nC||cC||aC,uC=eC("Android"),dC=function(){if(uC){let e=ZD.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}(),hC=uC&&eC("webkit")&&dC<2.3,pC=uC&&dC<5&&oC<537,mC=eC("Firefox"),fC=tC("Firefox"),_C=rC("Firefox"),gC=eC("Edge"),EC=tC("Edge"),vC=eC("Edg"),yC=tC("Edg"),TC=rC("Edg"),IC=eC("SogouMobileBrowser"),AC=tC("SogouMobileBrowser"),SC=eC("MetaSr\\s"),RC=tC("MetaSr\\s"),bC=eC("TBS"),wC=tC("TBS"),NC=eC("XWEB"),DC=tC("XWEB"),CC=eC("MSIE\\s8\\.0"),kC=eC("MSIE\\/\\d+"),OC=function(){if(kC){let e=/MSIE\s(\d+)\.\d/.exec(ZD),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(ZD)&&/rv:11.0/.test(ZD)&&(t=11),t}return NaN}(),MC=eC("(micromessenger|webbrowser)"),PC=tC("MicroMessenger"),LC=!bC&&eC("MQQBrowser")&&eC("COVC"),xC=!bC&&eC("MQQBrowser")&&!eC("COVC"),UC=xC||LC?tC("MQQBrowser"):"",VC=!bC&&eC(" QQBrowser"),FC=tC(" QQBrowser"),BC=!bC&&eC("QQBrowserLite"),HC=tC("QQBrowserLite"),WC=!bC&&eC("MQBHD"),jC=tC("MQBHD"),GC=eC("Windows"),KC=!lC&&eC("MAC OS X"),zC=!uC&&eC("Linux"),qC=eC("CrOS"),YC=eC("MicroMessenger"),JC=eC("UCBrowser"),XC=eC("Electron"),$C=eC("MiuiBrowser"),QC=tC("MiuiBrowser"),ZC=eC("HuaweiBrowser"),ek=eC("Huawei")||eC("HUAWEI"),tk=eC("Honor")||eC("HONOR"),rk=tC("HuaweiBrowser"),ik=eC("SamsungBrowser"),ok=tC("SamsungBrowser"),nk=eC("HeyTapBrowser"),ak=tC("HeyTapBrowser"),sk=eC("VivoBrowser"),ck=tC("VivoBrowser"),lk=eC("OpenHarmony"),uk=tC("OpenHarmony"),dk=()=>rC("Chrome"),hk=eC("Chrome"),pk=!gC&&!SC&&!IC&&!bC&&!NC&&!vC&&!VC&&!$C&&!ZC&&!ik&&!nk&&!sk&&hk,mk=eC("HeadlessChrome"),fk=dk(),_k=tC("Chrome"),gk=!hk&&!xC&&!LC&&!BC&&!WC&&eC("Safari"),Ek=gk||lC,vk=tC("Version"),yk=/Android.*(wv|.0.0.0)/.test(ZD),Tk=(()=>{if(aC)return vk;if(lC){let e=ZD.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""})();function Ik(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}var Ak=Number(Tk.split(".")[0]),Sk="15.1"===vk,Rk="15.1"===Tk,bk=(()=>{let e=Number(Tk.split(".")[0]);return 14===e||13===e})(),wk=eC("CriOS"),Nk=wk&&"11.1.1"===vk,Dk="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),Ck=(()=>{let e;return()=>{if(void 0===e)try{e=!!window.localStorage}catch(oO){e=!1}return e}})(),kk=Ok();function Ok(){let e=new Map([[mC,["Firefox",fC]],[vC,["Edg",yC]],[pk,["Chrome",_k]],[gk,["Safari",vk]],[bC,["TBS",wC]],[NC,["XWEB",DC]],[MC&&sC,["WeChat",PC]],[VC,["QQ(Win)",FC]],[xC,["QQ(Mobile)",UC]],[LC,["QQ(Mobile X5)",UC]],[BC,["QQ(Mac)",HC]],[WC,["QQ(iPad)",jC]],[$C,["MI",QC]],[ZC,["HW",rk]],[ik,["Samsung",ok]],[nk,["OPPO",ak]],[sk,["VIVO",ck]],[gC,["EDGE",EC]],[IC,["SogouMobile",AC]],[SC,["Sogou",RC]]]),t="unknown",r="unknown";return e.has(!0)&&([t,r]=e.get(!0)),{name:t,version:r}}var Mk=null;function Pk(){return Mk&&"boolean"==typeof Mk.mobile?Mk.mobile:uC||lC||sC||nC||lk}var Lk="";function xk(){return Gb(this,null,(function*(){if(Mk)return Mk;if(!navigator.userAgentData||"function"!=typeof navigator.userAgentData.getHighEntropyValues)return null;try{return(Mk=yield navigator.userAgentData.getHighEntropyValues(["architecture","bitness","model","platformVersion","fullVersionList"]))&&!Lk&&(Lk="UAData: ".concat(Mk.platform,"/").concat(Mk.platformVersion),Mk.architecture&&Mk.bitness&&(Lk+=" ".concat(Mk.architecture,"/").concat(Mk.bitness)),Mk.mobile&&(Lk+=" mobile"),Mk.model&&(Lk+=" model: ".concat(Mk.model.replace(/\s+/g,"/"))),Mk.fullVersionList&&(Lk+=" ".concat(Mk.fullVersionList.filter((e=>"Not/A)Brand"!==e.brand)).map((e=>"".concat(e.brand,"/").concat(e.version))).join(",")))),Mk}catch(BF){return null}}))}function Uk(){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(BF){return""}}function Vk(){return(null==Mk?void 0:Mk.model)||""}var Fk=new Map([[uC,"Android"],[lC,"iOS"],[GC,"Windows"],[KC,"MacOS"],[zC,"Linux"],[qC,"ChromeOS"]]),Bk=function(){return Fk.get(!0)?Fk.get(!0):Mk?Mk.platform:"unknown"};function Hk(){return GC?1:uC?2:KC?3:lC?4:zC?5:qC?6:0}var Wk=()=>{let e=Bk();return e+="/".concat(kk.name,"/").concat(gk?kk.version:kk.version.split(".")[0]),null!=Mk&&Mk.platformVersion&&(e+="/".concat(Mk.platformVersion)),null!=Mk&&Mk.architecture&&(e+="/".concat(Mk.architecture)),e};function jk(){return uC?4:sC?2:nC?3:KC?12:GC?5:zC?13:lk?22:1}function Gk(){return uC?"Android":sC?"iPhone":nC?"iPad":KC?"Mac":GC?"Windows":zC?"Linux":"unknown"}var Kk,zk=new(Bb(Kb(),1).default),qk=((Kk=qk||{}).ROOM_DESTROY="1",Kk.JOIN_START="21",Kk.JOIN_SCHEDULE_SUCCESS="22",Kk.JOIN_SIGNAL_CONNECTION_START="23",Kk.JOIN_SIGNAL_CONNECTION_END="24",Kk.JOIN_SEND_CMD="25",Kk.JOIN_RECEIVED_CMD_RES="26",Kk.JOIN_SUCCESS="27",Kk.JOIN_FAILED="28",Kk.LEAVE_START="51",Kk.LEAVE_SEND_CMD="52",Kk.LEAVE_SUCCESS="53",Kk.PUBLISH_START="61",Kk.SEND_FIRST_VIDEO_FRAME="62",Kk.PUBLISH_FAILED="63",Kk.SUBSCRIBE_START="81",Kk.SUBSCRIBE_SUCCESS="82",Kk.SUBSCRIBE_FAILED="84",Kk.UNSUBSCRIBE_SUCCESS="83",Kk.LOCAL_TRACK_CAPTURE_START="101",Kk.LOCAL_TRACK_CAPTURE_SUCCESS="102",Kk.LOCAL_TRACK_CAPTURE_FAILED="103",Kk.LOCAL_TRACK_PUBLISHED="104",Kk.LOCAL_TRACK_UNPUBLISHED="105",Kk.LOCAL_TRACK_REPLACED="106",Kk.SWITCH_DEVICE_SUCCESS="107",Kk.TRACK_MUTED="108",Kk.TRACK_UNMUTED="109",Kk.REMOTE_TRACK_SUBSCRIBED="110",Kk.REMOTE_TRACK_UNSUBSCRIBED="111",Kk.LOCAL_TRACK_RECAPTURE="112",Kk.LOCAL_AUDIO_STARTED="113",Kk.LOCAL_AUDIO_STOPPED="114",Kk.REMOTE_AUDIO_STARTED="115",Kk.REMOTE_AUDIO_STOPPED="116",Kk.PLAY_TRACK_START="151",Kk.PLAYER_STATE_CHANGED="152",Kk.VIDEO_LOADED_DATA="153",Kk.AUTOPLAY_DIALOG_CLICK_CONFIRM="154",Kk.SIGNAL_CONNECTION_STATE_CHANGED="201",Kk.PEER_CONNECTION_STATE_CHANGED="202",Kk.SINGLE_CONNECTION_STAT="203",Kk.SPC_RECONNECTED="204",Kk.HEARTBEAT_REPORT="251",Kk.RECEIVED_PUBLISHED_USER_LIST="252",Kk.REMOTE_PUBLISH_STATE_CHANGED="253",Kk.AUDIO_LEVEL_INTERVAL="260",Kk.NETWORK_QUALITY="261",Kk.VIDEO_CODEC_IMPLEMENTATION_CHANGED="262",Kk.QUALITY_LIMITATION_CHANGED="263",Kk.LOG="264",Kk.AUDIO_PROCESSOR_DEBUG="265",Kk.SWITCH_ROOM_START="401",Kk.SWITCH_ROOM_SUCCESS="407",Kk.SWITCH_ROOM_FAILED="408",Kk),Yk=qk,Jk=class e{constructor(){Wb(this,"_isEnableUploadLog",!0),Wb(this,"_localJoinedUser",new Map),Wb(this,"_queue",[]),Wb(this,"_timeoutId",-1),Wb(this,"_logLevel",1),Wb(this,"_logLevelToUpload",2),!uw&&!dw&&(this.checkURLParam(),this.installEvents())}get isAbleToUpload(){return this._isEnableUploadLog&&-1!==this._timeoutId}installEvents(){zk.on(Yk.JOIN_SCHEDULE_SUCCESS,(e=>{let{schedule:t}=e;var r;null!=(r=null==t?void 0:t.config)&&r.logLevelToUpload&&ww[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),zk.on(Yk.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),zk.once(Yk.JOIN_FAILED,(()=>{this.startUpload()})),zk.on(Yk.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(aD(r.userId)&&sD(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 Gb(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];yield this.uploadLogWithRetry(JSON.stringify({timestamp:tw(),sdkAppId:String(i),userId:r,version:aw,log:o.map((e=>e.log)).join("\n")}),i),o.forEach((e=>e.uploaded=!0))}}catch(nO){}let r=t.filter((e=>!e.uploaded));r.length>0&&(this._queue=r.concat(this._queue))}))}uploadLogWithRetry(e,t){return XD({retryFunction:()=>GD({url:HN(t,Rw.LOG),body:e,timeout:5e3,priority:"low"}),settings:{retries:3,timeout:2e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;return t.setTime(ew()),"[".concat(rw(t),"] <").concat(ww[e],">")}getLogLevel(){return this._logLevel}setLogLevel(e){nD(ww[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(aD(e))return e;try{return e instanceof Error?e.toString():JSON.stringify(e)}catch(cw){return""}}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;r.unshift(this.getPrefix(t));let s={log:r.reduce(((e,t)=>"".concat(e," ").concat(this.logChunkToString(t)).trim()),""),level:t,userId:o,sdkAppId:n,forAllJoinedClients:i};if(zk.emit(Yk.LOG,{log:s}),this._isEnableUploadLog&&t>=this._logLevelToUpload&&this._queue.push(s),t<this._logLevel)return;let c=(null==(a=ww[t])?void 0:a.toLowerCase())||"info";e.PRINT_LOG_TAG?console[c]("%cTRTC%c%s","padding: 1px 4px;border-radius: 3px;color: #fff;background: #1E88E5;","display: inline",...r):console[c](...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 $D(e)}checkURLParam(){let e=new URLSearchParams(location.search).get("logLevelToUpload"),t=e?Number(e):-1;ww[t]&&(this._logLevelToUpload=t)}getQueue(){return this._queue}};Wb(Jk,"PRINT_LOG_TAG",!(lC||uC||mk));var Xk=new Jk,$k=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)}))},Qk=new class{constructor(){Wb(this,"_prefix","TRTC"),Wb(this,"_queue",new Map)}getRealKey(e){return"".concat(this._prefix,"_").concat(e)}checkStorage(){Ck()&&(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(nO){return!1}return!1})).forEach((e=>localStorage.removeItem(e))))}doFlush(){if(Ck())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(oO){Xk.warn(oO)}}getItem(e){if(!Ck())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(cw){Xk.warn(cw)}}setItem(e,t){if(Ck())try{let r={expiresIn:Date.now()+kw,value:t};this._queue.set(this.getRealKey(e),r)}catch(dN){Xk.warn(dN)}}deleteItem(e){if(!Ck())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(cw){return Xk.warn(cw),!1}}clear(){if(Ck())try{localStorage.clear()}catch(oO){Xk.warn(oO)}}},Zk={};Fb(Zk,{HTTPS_API:()=>OM,IS_GET_CAPABILITIES_SUPPORTED:()=>ZM,IS_GET_SETTINGS_SUPPORTED:()=>QM,IS_GET_SYNCHRONIZATION_SOURCES_SUPPORTED:()=>$M,IS_INSERTABLE_STREAM_SUPPORTED:()=>eP,IS_JITTER_BUFFER_TARGET_SUPPORTED:()=>pP,IS_RTC_RTP_SENDER_SUPPORTED:()=>YM,IS_SCRIPT_TRANSFORM_SUPPORTED:()=>tP,IS_SEI_SUPPORTED:()=>rP,IS_SPC_SUPPORTED:()=>zM,basis:()=>cP,capabilityCheck:()=>dP,checkSystemRequirementsInternal:()=>NM,decodeSupportStatus:()=>wM,encodeSupportStatus:()=>bM,getBrowserInfo:()=>vM,getDisplayResolution:()=>PM,isAddTransceiverSupported:()=>KM,isBrowserSupported:()=>yM,isCanvasCaptureStreamAPISupported:()=>UM,isCanvasSmallStreamSupported:()=>VM,isGetReceiversSupported:()=>WM,isGetSendersSupported:()=>jM,isGetTransceiversSupported:()=>GM,isGetUserMediaSupported:()=>LM,isMediaDevicesSupported:()=>IM,isMediaSessionSupported:()=>nP,isMediaStreamTrackProcessorSupported:()=>RM,isReplaceTrackSupported:()=>JM,isRequestVideoFrameCallbackSupported:()=>hP,isSIMDSupported:()=>sP,isScaleResolutionDownBySupported:()=>FM,isScreenCaptureApiAvailable:()=>CM,isSelectedCandidatePair:()=>MM,isSetParametersSupported:()=>XM,isSmallStreamSupported:()=>BM,isStopTransceiverSupported:()=>qM,isTRTCSupported:()=>DM,isUnifiedPlanDefault:()=>HM,isUsedInHttpProtocol:()=>SM,isWebAudioSupported:()=>xM,isWebCodecSupported:()=>oP,isWebCodecsSupported:()=>TM,isWebRTCSupported:()=>iP,isWebTransportSupported:()=>aP});var eO={};Fb(eO,{AUDIO_LEVEL_SCALE:()=>KO,AudioCodecPipelineType:()=>XO,AudioDecoderDowngradeState:()=>bO,AudioPlayerMode:()=>WO,AudioType:()=>OO,BASIC_TYPE:()=>qO,BannedReason:()=>jO,CONNECTION_CLOSED_REASON:()=>pO,ClientEvent:()=>mO,CodecType:()=>$O,ConnectionEvent:()=>hO,ConnectionState:()=>RO,DECODE_FAILED_ERROR_CODE:()=>QO,FacingMode:()=>BO,FrameWorkType:()=>dO,LeaveReason:()=>GO,LocalTrackEvent:()=>_O,MULTI_VIDEO_DATA_TYPE:()=>xO,MediaType:()=>CO,MediaTypeLabel:()=>kO,MonitorEventId:()=>UO,MutedFlag:()=>TO,NetworkQualityValue:()=>VO,PlayerState:()=>gO,ReceiveMode:()=>FO,RemoteStreamType:()=>LO,RemoteTrackEvent:()=>yO,RoomEvent:()=>EO,SMALL_MODE:()=>tM,SceneNumber:()=>IO,StreamEvent:()=>fO,StreamType:()=>PO,SubscribeMediaType:()=>zO,TIMER_TYPE:()=>eM,TRACK_ACTION:()=>DO,TRACK_KIND:()=>NO,TrackEvent:()=>vO,UserRole:()=>SO,UserRoleNumber:()=>AO,VideoCodec:()=>YO,VideoCodecPipelineType:()=>JO,VideoContentHint:()=>ZO,VideoDecoderDowngradeState:()=>wO,VideoPlayerMode:()=>HO,VideoType:()=>MO});var tO,rO,iO,oO,nO,aO,sO,cO,lO,uO,dO=(e=>(e[e.WEBRTC=30]="WEBRTC",e[e.WASM=37]="WASM",e))(dO||{}),hO=((uO=hO||{}).TRACK_ADDED="track-added",uO.TRACK_UPDATED="track-updated",uO.TRACK_SUBSCRIBED="track-subscribed",uO.STREAM_ADDED="stream-added",uO.STREAM_REMOVED="stream-removed",uO.STREAM_UPDATED="stream-updated",uO.STREAM_PUBLISHED="stream-published",uO.STREAM_SUBSCRIBED="stream-subscribed",uO.STREAM_UNSUBSCRIBED="stream-unsubscribed",uO.STATE_CHANGED="state-changed",uO.ERROR="error",uO.CONNECTION_STATE_CHANGED="connection-state-changed",uO.FIREWALL_RESTRICTION="firewall-restriction",uO.SEI_MESSAGE="sei-message",uO.CLOSED="closed",uO),pO=(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))(pO||{}),mO=((lO=mO||{}).STREAM_ADDED="stream-added",lO.STREAM_REMOVED="stream-removed",lO.STREAM_UPDATED="stream-updated",lO.STREAM_SUBSCRIBED="stream-subscribed",lO.CONNECTION_STATE_CHANGED="connection-state-changed",lO.PEER_JOIN="peer-join",lO.PEER_LEAVE="peer-leave",lO.MUTE_AUDIO="mute-audio",lO.MUTE_VIDEO="mute-video",lO.UNMUTE_AUDIO="unmute-audio",lO.UNMUTE_VIDEO="unmute-video",lO.CLIENT_BANNED="client-banned",lO.NETWORK_QUALITY="network-quality",lO.AUDIO_VOLUME="audio-volume",lO.SEI_MESSAGE="sei-message",lO.ERROR="error",lO),fO=((cO=fO||{}).PLAYER_STATE_CHANGED="player-state-changed",cO.SCREEN_SHARING_STOPPED="screen-sharing-stopped",cO.CONNECTION_STATE_CHANGED="connection-state-changed",cO.DEVICE_AUTO_RECOVERED="device-auto-recovered",cO.ERROR="error",cO),_O=(e=>(e.DEVICE_AUTO_RECOVERED="1",e.DEVICE_RECOVER_FAILED="5",e.DEVICE_CHANGED="2",e.ERROR="3",e.PUBLISH_STATE_CHANGED="4",e.ENCODE_FAILED="6",e))(_O||{}),gO=(e=>(e.PAUSED="PAUSED",e.PLAYING="PLAYING",e.STOPPED="STOPPED",e))(gO||{}),EO=((sO=EO||{}).PEER_JOIN="peer-join",sO.PEER_LEAVE="peer-leave",sO.SIGNAL_CONNECTION_STATE_CHANGED="signal-connection-state-changed",sO.MEDIA_CONNECTION_STATE_CHANGED="media-connection-state-changed",sO.BANNED="banned",sO.NETWORK_QUALITY="network-quality",sO.AUDIO_VOLUME="audio-volume",sO.SEI_MESSAGE="sei-message",sO.ERROR="error",sO.REMOTE_PUBLISH_STATE_CHANGED="remote-publish-state-changed",sO.REMOTE_PUBLISHED="remote-published",sO.REMOTE_UNPUBLISHED="remote-unpublished",sO.FIREWALL_RESTRICTION="firewall-restriction",sO.HEARTBEAT_REPORT="heartbeat-report",sO.CUSTOM_MESSAGE="custom-message",sO.LAYER_DATA="layerData",sO.FIRST_VIDEO_FRAME="first-video-frame",sO.DUMP="dump",sO.AUDIO_FRAME="audio-frame",sO.SUBSCRIBE_SMALL_VIDEO_CHANGED="subscribe-small-video-changed",sO),vO=((aO=vO||{}).PLAYER_STATE_CHANGED="player-state-changed",aO.MUTE="mute",aO.UNMUTE="unmute",aO.ERROR="error",aO.INPUT_MEDIA_TRACK_CHANGED="input-media-track-changed",aO.OUTPUT_MEDIA_TRACK_CHANGED="output-media-track-changed",aO.FIRST_VIDEO_FRAME="first-video-frame",aO),yO=(e=>(e.DECODE_FAILED="decode-failed",e.DECODE_DOWNGRADE_STATE_CHANGED="decode-downgrade-state-changed",e))(yO||{}),TO=(e=>(e[e.VIDEO=1]="VIDEO",e[e.SMALL=2]="SMALL",e[e.AUX=4]="AUX",e[e.AUDIO=8]="AUDIO",e[e.VIDEO_MUTE=16]="VIDEO_MUTE",e[e.AUX_MUTE=32]="AUX_MUTE",e[e.AUDIO_MUTE=64]="AUDIO_MUTE",e))(TO||{}),IO=(e=>(e[e.RTC=1]="RTC",e[e.LIVE=2]="LIVE",e))(IO||{}),AO=(e=>(e[e.ANCHOR=20]="ANCHOR",e[e.AUDIENCE=21]="AUDIENCE",e))(AO||{}),SO=(e=>(e.ANCHOR="anchor",e.AUDIENCE="audience",e))(SO||{}),RO=(e=>(e.CONNECTED="CONNECTED",e.DISCONNECTED="DISCONNECTED",e.CONNECTING="CONNECTING",e.RECONNECTED="RECONNECTED",e.RECONNECTING="RECONNECTING",e))(RO||{}),bO=((nO=bO||{}).INITIALIZED="INITIALIZED",nO.STARTING="STARTING",nO.STARTED="STARTED",nO.FAILED="FAILED",nO),wO=(e=>(e.INITIALIZED="INITIALIZED",e.STARTING="STARTING",e.STARTED="STARTED",e.FAILED="FAILED",e))(wO||{}),NO=(e=>(e.AUDIO="audio",e.VIDEO="video",e.AUXILIARY="auxVideo",e))(NO||{}),DO=(e=>(e.ADD="add",e.REMOVE="remove",e))(DO||{}),CO=(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))(CO||{}),kO={1:"audio",2:"auxVideo",4:"video"},OO=((oO=OO||{})[oO.opus=111]="opus",oO),MO=(e=>(e[e.h264=100]="h264",e[e.vp8=101]="vp8",e))(MO||{}),PO=(e=>(e.Big="big",e.Small="small",e))(PO||{}),LO=(e=>(e.Main="main",e.Aux="auxiliary",e))(LO||{}),xO=(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))(xO||{}),UO=((iO=UO||{})[iO.PUBLISH_VIDEO=32768]="PUBLISH_VIDEO",iO[iO.PUBLISH_AUDIO=32769]="PUBLISH_AUDIO",iO[iO.UNPUBLISH_VIDEO=32770]="UNPUBLISH_VIDEO",iO[iO.UNPUBLISH_AUDIO=32771]="UNPUBLISH_AUDIO",iO[iO.MUTE_AUDIO=32772]="MUTE_AUDIO",iO[iO.MUTE_VIDEO=32773]="MUTE_VIDEO",iO[iO.UNMUTE_AUDIO=32774]="UNMUTE_AUDIO",iO[iO.UNMUTE_VIDEO=32775]="UNMUTE_VIDEO",iO[iO.SUBSCRIBE_VIDEO=32776]="SUBSCRIBE_VIDEO",iO[iO.SUBSCRIBE_AUDIO=32777]="SUBSCRIBE_AUDIO",iO[iO.UNSUBSCRIBE_VIDEO=32778]="UNSUBSCRIBE_VIDEO",iO[iO.UNSUBSCRIBE_AUDIO=32779]="UNSUBSCRIBE_AUDIO",iO[iO.SWITCH_CAMERA=32780]="SWITCH_CAMERA",iO[iO.SWITCH_MICROPHONE=32781]="SWITCH_MICROPHONE",iO[iO.REPLACE_VIDEO=32782]="REPLACE_VIDEO",iO[iO.REPLACE_AUDIO=32783]="REPLACE_AUDIO",iO[iO.MUTE_REMOTE_VIDEO=32784]="MUTE_REMOTE_VIDEO",iO[iO.MUTE_REMOTE_AUDIO=32785]="MUTE_REMOTE_AUDIO",iO[iO.UNMUTE_REMOTE_VIDEO=32786]="UNMUTE_REMOTE_VIDEO",iO[iO.UNMUTE_REMOTE_AUDIO=32787]="UNMUTE_REMOTE_AUDIO",iO[iO.JOIN=32788]="JOIN",iO[iO.LEAVE=32789]="LEAVE",iO[iO.SIGNAL_DISCONNECTED=32790]="SIGNAL_DISCONNECTED",iO[iO.SIGNAL_CONNECTED=32791]="SIGNAL_CONNECTED",iO[iO.TRANSPORT_UPLINK_CONNECTED=32792]="TRANSPORT_UPLINK_CONNECTED",iO[iO.TRANSPORT_DOWNLINK_CONNECTED=32793]="TRANSPORT_DOWNLINK_CONNECTED",iO[iO.SIGNAl_RECONNECTING=32794]="SIGNAl_RECONNECTING",iO[iO.SIGNAL_RECONNECT_SUCCESS=32795]="SIGNAL_RECONNECT_SUCCESS",iO[iO.SIGNAL_RECONNECT_FAIL=32796]="SIGNAL_RECONNECT_FAIL",iO[iO.TRANSPORT_UPLINK_RECONNECTING=32797]="TRANSPORT_UPLINK_RECONNECTING",iO[iO.TRANSPORT_UPLINK_RECONNECT_SUCCESS=32798]="TRANSPORT_UPLINK_RECONNECT_SUCCESS",iO[iO.TRANSPORT_UPLINK_RECONNECT_FAIL=32799]="TRANSPORT_UPLINK_RECONNECT_FAIL",iO[iO.TRANSPORT_DOWNLINK_RECONNECTING=32800]="TRANSPORT_DOWNLINK_RECONNECTING",iO[iO.TRANSPORT_DOWNLINK_RECONNECT_SUCCESS=32801]="TRANSPORT_DOWNLINK_RECONNECT_SUCCESS",iO[iO.TRANSPORT_DOWNLINK_RECONNECT_FAIL=32802]="TRANSPORT_DOWNLINK_RECONNECT_FAIL",iO[iO.SUBSCRIBE_SMALL_VIDEO=32803]="SUBSCRIBE_SMALL_VIDEO",iO[iO.UNSUBSCRIBE_SMALL_VIDEO=32804]="UNSUBSCRIBE_SMALL_VIDEO",iO[iO.PUBLISH_AUX=32805]="PUBLISH_AUX",iO[iO.UNPUBLISH_AUX=32806]="UNPUBLISH_AUX",iO[iO.DEVICE_CAPTURE=2003]="DEVICE_CAPTURE",iO[iO.VIDEO_ENCODER=4004]="VIDEO_ENCODER",iO[iO.VIDEO_DECODER=4005]="VIDEO_DECODER",iO),VO=(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))(VO||{}),FO=(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))(FO||{}),BO=(e=>(e.user="user",e.environment="environment",e))(BO||{}),HO=(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))(HO||{}),WO=(e=>(e[e.ELEMENT=0]="ELEMENT",e[e.CONTEXT=1]="CONTEXT",e))(WO||{}),jO=(e=>(e.BANNED="banned",e.KICK="kick",e.USER_TIME_OUT="user_time_out",e.ROOM_DISBAND="room_disband",e))(jO||{}),GO=((rO=GO||{})[rO.USER_EXIT_REASON_TC_USER_EXIT_NORMAL=0]="USER_EXIT_REASON_TC_USER_EXIT_NORMAL",rO[rO.USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT=1]="USER_EXIT_REASON_TC_USER_EXIT_TIMEOUT",rO[rO.USER_EXIT_REASON_TC_USER_EXIT_KICKED=2]="USER_EXIT_REASON_TC_USER_EXIT_KICKED",rO[rO.USER_EXIT_REASON_TC_USER_EXIT_CHANGED=3]="USER_EXIT_REASON_TC_USER_EXIT_CHANGED",rO[rO.USER_KICK_OUT_CODE_BUSINESS_USER=4]="USER_KICK_OUT_CODE_BUSINESS_USER",rO[rO.USER_KICK_OUT_CODE_BUSINESS_ROOM=5]="USER_KICK_OUT_CODE_BUSINESS_ROOM",rO[rO.USER_KICK_OUT_CODE_SERVER_USER=6]="USER_KICK_OUT_CODE_SERVER_USER",rO[rO.USER_KICK_OUT_CODE_SERVER_ROOM=7]="USER_KICK_OUT_CODE_SERVER_ROOM",rO[rO.USER_KICK_SESS_EXSIT=8]="USER_KICK_SESS_EXSIT",rO),KO=1e8,zO=class{constructor(){Wb(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)}},qO=(e=>(e.String="string",e.Number="number",e.Boolean="boolean",e.Array="array",e.Object="object",e))(qO||{}),YO=(e=>(e.H264="h264",e.H265="h265",e.VP8="vp8",e))(YO||{}),JO=(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))(JO||{}),XO=(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))(XO||{}),$O=(e=>(e.WebRTC="webrtc",e.WebCodecs="webcodecs",e.WebAssembly="webassembly",e))($O||{}),QO=((tO=QO||{})[tO.SUCCESS=0]="SUCCESS",tO[tO.FAILED=1]="FAILED",tO[tO.WEBCODEC_INIT=2]="WEBCODEC_INIT",tO[tO.WEBCODEC_CONFIG_NOT_SUPPORT=3]="WEBCODEC_CONFIG_NOT_SUPPORT",tO[tO.WEBCODEC_DECODER_ERROR=4]="WEBCODEC_DECODER_ERROR",tO[tO.WEBCODEC_TRACK_MUTE=5]="WEBCODEC_TRACK_MUTE",tO[tO.WASM_INIT=6]="WASM_INIT",tO[tO.WASM_WEBGL_UNAVALIABLE=7]="WASM_WEBGL_UNAVALIABLE",tO[tO.WASM_DECODER_ERROR=8]="WASM_DECODER_ERROR",tO[tO.WASM_TRACK_MUTE=9]="WASM_TRACK_MUTE",tO[tO.TEST=10]="TEST",tO[tO.RENDER_2D_ERROR=11]="RENDER_2D_ERROR",tO),ZO=(e=>(e.NONE="",e.DETAIL="detail",e.MOTION="motion",e.TEXT="text",e))(ZO||{}),eM=(e=>(e.INTERVAL="interval",e.TIMEOUT="timeout",e.RAF="raf",e.RIC="ric",e.INTERVAL_IN_WORKER="intervalInWorker",e))(eM||{}),tM=(e=>(e.CANVAS="canvas",e.API="api",e))(tM||{}),rM={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"},iM={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(iD(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(iD(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,"()")},oM=(e,t)=>t?"".concat(vw,"/").concat(e,"/").concat(t):"".concat(vw,"/").concat(e,"/index.html"),nM=()=>{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(Sw);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 aM(e){let{key:t,data:r,link:i,addDocLink:o=!0}=e,n="",a="",s="";oD(iM[t])?n=iM[t](r):aD(iM[t])&&(n=iM[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=nM();i?s="".concat(i.className,".html#").concat(i.fnName):l&&l[t]&&(oD(l[t])?s=l[t](r):aD(l[t])&&(s=l[t]));let u=n;return ZN()&&(c&&c[t]&&(oD(c[t])?a=c[t](r):aD(c[t])&&(a=c[t])),a&&(u=o?"".concat(a,"\n请查看文档: ").concat(oM("zh-cn",s),"\n\n"):"".concat(a,"\n\n"),u+=n)),o&&(u+=" \nRefer to: ".concat(oM("en",s),"\n")),u}var sM,cM=Bb(Jb(),1),lM=class{constructor(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];Wb(this,"countMap",new Map),Wb(this,"distributionMap",new Map),Wb(this,"version"),Wb(this,"log",Xk.createLogger({id:"kv"})),e&&(zk.on("102",(e=>{let{track:t,cost:r}=e;this.addSuccessEvent({key:t.kind===Uw.AUDIO?501700:511700,cost:r})})),zk.on("103",(e=>{let{track:t,error:r}=e;this.addFailedEvent({key:t.kind===Uw.AUDIO?501700:511700,error:r})})))}getReportData(){let e={msg_sdk_basic_info:{uint32_sdk_version:xD(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}}))}}))};return this.countMap.clear(),this.distributionMap.clear(),e}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(sD(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=$b.UNKNOWN;r&&(sD(r)?i=r:(!nD(r.extraCode)||!nD(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})}},uM=((sM=uM||{})[sM.enterRoom=500700]="enterRoom",sM[sM.exitRoom=500701]="exitRoom",sM[sM.switchRole=500702]="switchRole",sM[sM.destroy=500703]="destroy",sM[sM.startLocalAudio=500704]="startLocalAudio",sM[sM.updateLocalAudio=500705]="updateLocalAudio",sM[sM.stopLocalAudio=500706]="stopLocalAudio",sM[sM.startLocalVideo=500707]="startLocalVideo",sM[sM.updateLocalVideo=500708]="updateLocalVideo",sM[sM.stopLocalVideo=500709]="stopLocalVideo",sM[sM.startScreenShare=500710]="startScreenShare",sM[sM.updateScreenShare=500711]="updateScreenShare",sM[sM.stopScreenShare=500712]="stopScreenShare",sM[sM.startRemoteVideo=500713]="startRemoteVideo",sM[sM.updateRemoteVideo=500714]="updateRemoteVideo",sM[sM.stopRemoteVideo=500715]="stopRemoteVideo",sM[sM.muteRemoteAudio=500716]="muteRemoteAudio",sM[sM.setRemoteAudioVolume=500717]="setRemoteAudioVolume",sM[sM.use=500718]="use",sM[sM.switchRoom=500719]="switchRoom",sM[sM.sendSEIMessage=5e5]="sendSEIMessage",sM[sM.sendCustomMessage=500001]="sendCustomMessage",sM),dM=(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))(dM||{}),hM=(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))(hM||{}),pM=(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))(pM||{}),mM=new lM(!0),fM=new lM(!1),_M=mM,gM={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1}},EM=new Map([[mC,["Firefox",fC]],[vC,["Edg",yC]],[pk,["Chrome",_k]],[gk,["Safari",vk]],[bC,["TBS",wC]],[NC,["XWEB",DC]],[MC&&sC,["WeChat",PC]],[VC,["QQ(Win)",FC]],[xC,["QQ(Mobile)",UC]],[LC,["QQ(Mobile X5)",UC]],[BC,["QQ(Mac)",HC]],[WC,["QQ(iPad)",jC]],[$C,["MI",QC]],[ZC,["HW",rk]],[ik,["Samsung",ok]],[nk,["OPPO",ak]],[sk,["VIVO",ck]],[gC,["EDGE",EC]],[IC,["SogouMobile",AC]],[SC,["Sogou",RC]]]);function vM(){let e=EM.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var yM=function(){return!(JC||gC||vC&&TC<80||mC&&_C<56)},TM=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder"].every((e=>e in window))},IM=function(){if(!navigator.mediaDevices)return SM()||Xk.error(iM.NOT_SUPPORTED_MEDIA),!1;let e=["getUserMedia","enumerateDevices"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},AM=!1;function SM(){return"http:"===location.protocol&&!Dk&&(AM||Xk.error(aM({key:rM.NOT_SUPPORTED_HTTP})),AM=!0,!0)}var RM=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},bM=function(){return Gb(this,null,(function*(){if(gM.detail.isH264EncodeSupported&&gM.detail.isVp8EncodeSupported)return{isH264EncodeSupported:gM.detail.isH264EncodeSupported,isVp8EncodeSupported:gM.detail.isVp8EncodeSupported};let e,t=!1,r=!1;try{let i=new RTCPeerConnection,o=document.createElement(Uw.CANVAS);o.getContext("2d");let n=o.captureStream(0);return i.addTrack(n.getVideoTracks()[0],n),e=yield i.createOffer(),-1!==e.sdp.toLowerCase().indexOf("h264")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf("vp8")&&(r=!0),i.close(),gM.detail.isH264EncodeSupported=t,gM.detail.isVp8EncodeSupported=r,{isH264EncodeSupported:gM.detail.isH264EncodeSupported,isVp8EncodeSupported:gM.detail.isVp8EncodeSupported}}catch(dN){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1}}}))},wM=function(){return Gb(this,null,(function*(){if(gM.detail.isH264DecodeSupported&&gM.detail.isVp8DecodeSupported)return{isH264DecodeSupported:gM.detail.isH264DecodeSupported,isVp8DecodeSupported:gM.detail.isVp8DecodeSupported};let e,t=!1,r=!1;try{let i=new RTCPeerConnection;return KM()?(i.addTransceiver(Uw.VIDEO,{direction:"recvonly"}),e=yield i.createOffer()):e=yield i.createOffer({offerToReceiveVideo:!0}),-1!==e.sdp.toLowerCase().indexOf("h264")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf("vp8")&&(r=!0),i.close(),{isH264DecodeSupported:t,isVp8DecodeSupported:r}}catch(dN){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1}}}))},NM=FD((e=>Gb(void 0,null,(function*(){let t=Date.now(),r=IM(),i=TM();if(37===e)return gM.result=r&&i,gM.detail.isMediaDevicesSupported=r,gM.detail.isWebCodecsSupported=i,gM.result||Xk.error("".concat(navigator.userAgent," ").concat(OD(gM.detail,!1))),uP(e),_M.addNumber({key:523800,value:Date.now()-t}),gM;if(gM.result&&gM.detail.isH264EncodeSupported&&gM.detail.isVp8EncodeSupported&&gM.detail.isH264DecodeSupported&&gM.detail.isVp8DecodeSupported)return gM;let o=yM(),n=iP(),[{isH264EncodeSupported:a,isVp8EncodeSupported:s},{isH264DecodeSupported:c,isVp8DecodeSupported:l}]=yield Promise.all([bM(),wM()]);if(!a||!s){let e=yield bM();Xk.warn("detect encode again h264:".concat(a," vp8:").concat(s," result: ").concat(JSON.stringify(e))),a=e.isH264EncodeSupported,s=e.isVp8EncodeSupported}if(a&&c&&uC&&hk&&!NC&&!bC){let{encode:e,decode:t}=yield function(){return Gb(this,null,(function*(){return kM||(kM=new Promise((e=>Gb(this,null,(function*(){let t={encode:!1,decode:!1},r=()=>{};try{let i=document.createElement("canvas"),o=i.getContext("2d");i.width=320,i.height=240;let n=setInterval((()=>{o.fillText("test",Math.floor(320*Math.random()),Math.floor(240*Math.random()))}),66),a=-1,s=-1;r=()=>{clearInterval(a),clearInterval(n),clearTimeout(s),l.close(),u.close(),c.getTracks().forEach((e=>e.stop()))},s=setTimeout((()=>{r(),e(t)}),2e3);let c=i.captureStream(),l=new RTCPeerConnection({}),u=new RTCPeerConnection({offerToReceiveAudio:!0,offerToReceiveVideo:!0});l.addEventListener("icecandidate",(e=>u.addIceCandidate(e.candidate))),u.addEventListener("icecandidate",(e=>l.addIceCandidate(e.candidate))),l.addTrack(c.getVideoTracks()[0],c);let d=yield l.createOffer();yield l.setLocalDescription(d),yield u.setRemoteDescription(d);let h=yield u.createAnswer(),p=cM.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=cM.default.write(p),yield u.setLocalDescription(h),yield l.setRemoteDescription(h),a=setInterval((()=>Gb(this,null,(function*(){t.encode&&t.decode&&(r(),e(t));let[i,o]=yield Promise.all([l.getSenders()[0].getStats(),u.getReceivers()[0].getStats()]);t.encode||i.forEach((e=>{"outbound-rtp"===e.type&&e.mediaType===Uw.VIDEO&&e.bytesSent>0&&(t.encode=!0)})),t.decode||o.forEach((e=>{"inbound-rtp"===e.type&&e.mediaType===Uw.VIDEO&&e.bytesReceived>0&&(t.decode=!0)}))}))),100)}catch(i){r(),Xk.warn("detectH264Supported failed",i),e({encode:!0,decode:!0})}})))).then((e=>(e.encode||(e.decode=!0),(!e.encode||!e.decode)&&Xk.warn("detectH264Supported encode: ".concat(e.encode," decode: ").concat(e.decode," ").concat(Lk)),e))),kM)}))}();a=e,c=t}return gM.result=o&&n&&r&&(a||s)&&(c||l),gM.detail.isBrowserSupported=o,gM.detail.isWebRTCSupported=n,gM.detail.isWebCodecsSupported=i,gM.detail.isMediaDevicesSupported=r,gM.detail.isScreenShareSupported=CM(),gM.detail.isSmallStreamSupported=BM(),gM.detail.isH264EncodeSupported=a,gM.detail.isVp8EncodeSupported=s,gM.detail.isH264DecodeSupported=c,gM.detail.isVp8DecodeSupported=l,gM.result||Xk.error("".concat(navigator.userAgent," ").concat(OD(gM.detail,!1))),uP(),_M.addNumber({key:523800,value:Date.now()-t}),gM})))),DM=function(){return gM.result},CM=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},kM=null;var OM=(e,t,r)=>{"http:"===location.protocol&&!Dk&&(e[t]=()=>{throw new Zb({code:$b.INVALID_OPERATION,message:iM.NOT_SUPPORTED_HTTP})})},MM=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(cD(e.selected)&&!e.selected)};function PM(){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 LM(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function xM(){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 UM(){return"captureStream"in HTMLCanvasElement.prototype}function VM(){return!(MC||lC||fk&&fk<63)&&!(!yM()||!UM())}function FM(){return!(fk<74||gC||Ak<11||_C<46)}function BM(){return VM()||FM()}var HM=function(){if(nD(window.RTCRtpTransceiver)||!KM()||!("currentDirection"in RTCRtpTransceiver.prototype))return!1;let e=null,t=!1;try{e=new RTCPeerConnection({sdpSemantics:gN}),e.addTransceiver(Uw.AUDIO),t=!0}catch(cw){}return null==e||e.close(),t};function WM(){return"RTCPeerConnection"in window&&"getReceivers"in window.RTCPeerConnection.prototype}function jM(){return"RTCPeerConnection"in window&&"getSenders"in window.RTCPeerConnection.prototype}function GM(){return"RTCPeerConnection"in window&&"getTransceivers"in window.RTCPeerConnection.prototype}function KM(){return!(11===Ak&&!Nk)&&("RTCPeerConnection"in window&&"addTransceiver"in window.RTCPeerConnection.prototype)}var zM=!(!KM()||hk&&fk<86);function qM(){return"RTCRtpTransceiver"in window&&"stop"in window.RTCRtpTransceiver.prototype}var YM="RTCRtpSender"in window;function JM(){return YM&&"replaceTrack"in window.RTCRtpSender.prototype}function XM(){return YM&&"setParameters"in window.RTCRtpSender.prototype&&jM()}var $M="RTCRtpReceiver"in window&&"getSynchronizationSources"in window.RTCRtpReceiver.prototype,QM=window.MediaStreamTrack&&"getSettings"in MediaStreamTrack.prototype,ZM=window.MediaStreamTrack&&"getCapabilities"in MediaStreamTrack.prototype,eP=YM&&"createEncodedStreams"in window.RTCRtpSender.prototype&&dk()>=86,tP="RTCRtpScriptTransform"in window,rP=YM&&(eP||tP),iP=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter((e=>e in window)).length>0};function oP(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return nD(window.AudioDecoder)||(e.AudioDecoder=!0),nD(window.AudioEncoder)||(e.AudioEncoder=!0),nD(window.VideoDecoder)||(e.VideoDecoder=!0),nD(window.VideoEncoder)||(e.VideoEncoder=!0),nD(window.ImageDecoder)||(e.ImageDecoder=!0),e}function nP(){return"mediaSession"in navigator&&!nD(navigator.mediaSession.setActionHandler)}function aP(){return!nD(window.WebTransport)}function sP(){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 cP(){let e={browser:"".concat(kk.name,"/").concat(kk.version),os:Bk(),displayResolution:PM(),isScreenShareSupported:CM(),isWebRTCSupported:iP(),isGetUserMediaSupported:LM(),isWebAudioSupported:xM(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:oP(),isMediaSessionSupported:nP(),isWebTransportSupported:aP()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var lP="checkResult";function uP(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:30;Qk.setItem(lP,{ua:navigator.userAgent,frameWorkType:e,checkResult:gM})}function dP(e){SM();let t=Qk.getItem(lP);t&&t.ua===navigator.userAgent&&t.frameWorkType&&(gM=t.checkResult),NM(e)}function hP(){return"requestVideoFrameCallback"in HTMLVideoElement.prototype}var pP="RTCRtpReceiver"in window&&"jitterBufferTarget"in window.RTCRtpReceiver.prototype,mP=Bb(Kb(),1),fP=Symbol("instance"),_P=Symbol("cacheResult"),gP=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,IP.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},EP=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var vP=new Map;function yP(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=vP.get(i)||[];vP.has(i)||vP.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=AP.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[_P]:Promise.resolve(i[_P]);i.state instanceof gP&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof gP&&i.state.abort(i):("string"!=typeof i.state||!e.includes(i.state))&&(l=new EP(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 EP(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let u=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 u(l);let d=i.state,h=new gP(d,t,a);IP.call(i,h);let p=e=>{var o;return i[_P]=e,h.aborted||(IP.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[_P])),e},m=e=>(IP.call(i,d,e),u(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(lO){return m(new EP(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(lO),lO instanceof Error?lO:new Error(String(lO))))}}}}var TP="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 IP(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(AP.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var AP=class e extends mP.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[fP];o?this.name=o.name+"-"+o.count++:i[fP]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=vP.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);vP.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]:{};TP(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){IP.call(this,e)}};AP.STATECHANGED="stateChanged",AP.UPDATEAFSM="updateAFSM",AP.INIT="[*]",AP.ON="on",AP.OFF="off",AP.instances=new Map,AP.instances2=new WeakMap;var SP="undefined"!=typeof window,RP=SP&&window.requestIdleCallback||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},bP=SP&&window.cancelIdleCallback||function(e){clearTimeout(e)},wP=SP&&(window.cancelAnimationFrame||window.mozCancelAnimationFrame),NP=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=Ub(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=ED(),o=()=>{if(r=ED()-i,r>=t.delay&&(i=ED()-Math.floor(r%t.delay),t.callback(),t.loopCount+=1),!e.isBreakLoop(t))return t.ricID=RP(o,{timeout:t.delay})};return t.ricID=RP(o,{timeout:t.delay})}static raf(t){let r,i=ED(),o=()=>document.hidden&&t.backgroundTask?(r=ED()-i,i=ED(),t.callback(),t.loopCount+=1,e.isBreakLoop(t)?void 0:t.timeoutID=setTimeout(o,t.delay-Math.floor(r%t.delay))):(r=ED()-i,r>=t.delay&&(i=ED()-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=ED()-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&&wP&&wP(i),o&&bP(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)}};Wb(NP,"taskMap",new Map),Wb(NP,"currentTaskID",1),Wb(NP,"sharedWorker",null),Wb(NP,"workerTasks",new Map);var DP=NP;Uw.SEI_MESSAGE;var CP={LOADED_DATA:Uw.LOADEDDATA,LOADED_META_DATA:Uw.LOADEDMETADATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed",ERROR:"error"},kP={};Fb(kP,{create:()=>MP,remove:()=>PP});var OP=new WeakMap;function MP(e,t){OP.has(e)||OP.set(e,[]);let r=OP.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 PP(e){let t=OP.get(e);t&&(t.forEach((e=>e())),OP.delete(e))}var LP=new class{constructor(){Wb(this,"_roomIdMap",new Map),Wb(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:aw,env:bw.QCLOUD,browserVersion:kk.name+kk.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){Dk||!Xk.isAbleToUpload||this._configs.env===bw.QCLOUD&&this.uploadEventToKibana(Ub(xb({},e),{result:"success"}))}logFailedEvent(e){if(Dk||!Xk.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)||$b.UNKNOWN};this._configs.env===bw.QCLOUD&&this.uploadEventToKibana(Ub(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:tw(),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))),this.sendRequest(HN(this._configs.sdkAppId,Rw.LOG),o)}sendRequest(e,t){setTimeout((()=>GD({url:e,body:JSON.stringify(t),priority:"low"}).catch((()=>{}))),2e3)}},xP=new WeakMap;function UP(e){let{settings:t={retries:5,timeout:2e3},onError:r,onRetrying:i,onRetryFailed:o}=e;return function(e,n,a){let s=XD({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=xP.get(e))&&t.has(n)?o():a(i)}),a,s):null!=(c=xP.get(e))&&c.has(n)?o():a(i)},onRetrying(t,r){var o;qD(i)&&i.call(this,t,r),null!=(o=xP.get(e))&&o.has(n)&&(xP.get(e).get(n).stopRetry=r)},onRetryFailed:o});return a.value=function(){let t=xP.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}):xP.set(e,new Map([[n,{args:i}]])),s.apply(this,i).finally((()=>{var t;return null==(t=xP.get(e))?void 0:t.delete(n)}))},a}}var VP=class extends AP{constructor(e,t){super(e.id,"".concat(t,"-player")),this.kind=t,Wb(this,"id"),Wb(this,"element",null),Wb(this,"track"),Wb(this,"url"),Wb(this,"attr"),Wb(this,"mode"),Wb(this,"muted"),Wb(this,"_log"),Wb(this,"_pausedRetryCount"),Wb(this,"_isElementPlayingFired",!1),Wb(this,"_interval"),Wb(this,"_delayDestroyTimeoutId",0),Wb(this,"_playSuccessResolve"),Wb(this,"_isReplayByRecreateMediaStreamCalled",!1),Wb(this,"isInAutoPlayFailedState",!1),this.id=e.id,this._log=e.log,this.track=e.track,this.muted=e.muted,this._pausedRetryCount=DN,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(){return"PAUSED"===this._state}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 Gb(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(cw){let t=aM({key:rM.PLAY_FAILED,data:{media:this.kind,error:cw}});if(this._log.warn(cw),t.includes("NotAllowedError"))throw this.isInAutoPlayFailedState=!0,new Zb({code:$b.PLAY_NOT_ALLOWED,message:t})}}))}stop(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this._isElementPlayingFired=!1,this.unbindEvents(),e>0&&!Ek?this._delayDestroyTimeoutId||(this._log.info("destroy element after 3 * ".concat(e)),this._delayDestroyTimeoutId=setTimeout((()=>this.destroyElement()),3*e)):this.destroyElement(),this.handleStopped(Uw.ENDED),this._interval>0&&DP.clearTask(this._interval)}destroyElement(){this.element&&(this._log.debug("destroy element"),this.element.remove(),this.element.srcObject=null,this.element=null),clearTimeout(this._delayDestroyTimeoutId),this._delayDestroyTimeoutId=0}pause(){var e;this.isPlaying&&(null==(e=this.element)||e.pause())}resume(){return this._log.info("resume"),this.isPlaying?Promise.resolve():Rk?this.replay():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 MP(this.element,this.element).add(Uw.PLAYING,e).add(Uw.ENDED,e).add(Uw.PAUSE,e).add(Uw.ERROR,e).add(Uw.LOADEDDATA,e).add(Uw.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==kP||kP.create(e,e).add(Uw.ENDED,t).add(Uw.MUTE,t).add(Uw.UNMUTE,t),e.readyState===Uw.ENDED&&this.handleTrackEvent({type:Uw.ENDED}),e.muted&&this.handleTrackEvent({type:Uw.MUTE})}}bindAutoPlayEvent(){zk.on(Yk.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.track;e&&PP(e)}unbindEvents(){this.element&&PP(this.element),this.unbindTrackEvents(),zk.off(Yk.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){switch(e.type){case Uw.PLAYING:this.isInAutoPlayFailedState=!1,this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying(Uw.PLAYING),this._interval&&(DP.clearTask(this._interval),this._interval=-1);break;case Uw.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped(Uw.ENDED);break;case Uw.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused(Uw.PAUSE),lC&&(this._interval=DP.run("timeout",(()=>{this.element&&"PAUSED"===this._state&&this.resume()}),{delay:3e3}));break;case Uw.ERROR:if(this.element&&this.element.error){this.handlePaused(Uw.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)),LP.uploadEvent({log:"stat-".concat(this.kind,"-").concat(pN.PLAYER_ERROR,"-").concat(e,"-").concat(navigator.userAgent),error:this.element.error}),tk||ek?this.emit(CP.ERROR,this.element.error):this.replayByRecreateMediaStream(this.element.error)}break;case Uw.LOADEDDATA:this.kind===Uw.VIDEO&&this.emit(CP.LOADED_DATA);break;case Uw.LOADEDMETADATA:this.kind===Uw.VIDEO&&this.emit(CP.LOADED_META_DATA)}}replayByRecreateMediaStream(e){if(!this._isReplayByRecreateMediaStreamCalled)return this._isReplayByRecreateMediaStreamCalled=!0,this.doReplayByRecreateMediaStream(1e3).then((()=>{this._log.warn("replayByRecreateMediaStream success"),LP.uploadEvent({log:"stat-replayByRecreateMediaStream-success"}),_M.addSuccessEvent({key:this.kind===Uw.AUDIO?506700:516700})})).catch((()=>{var t;this._log.error("replayByRecreateMediaStream failed"),LP.uploadEvent({log:"stat-replayByRecreateMediaStream-failed"}),_M.addFailedEvent({key:this.kind===Uw.AUDIO?506700:516700,error:null==(t=this.element)?void 0:t.error}),this.emit(CP.ERROR,e)}))}doReplayByRecreateMediaStream(e){return this._log.warn("delay ".concat(e,"ms to recreate mediaStream")),new Promise(((t,r)=>{VD(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)}),VD(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){switch(e.type){case Uw.ENDED:this.handleStopped(Uw.ENDED);break;case Uw.MUTE:this.handlePaused(Uw.MUTE);break;case Uw.UNMUTE:this._isElementPlayingFired?this.handlePlaying(Uw.UNMUTE):this.mode>0&&this.handlePlaying(this.mode.toString()),this.isPaused&&this._log.isLocal&&(this._log.warn("track unmuted, resume"),this.resume())}}handlePlaying(e){var t;null==(t=this._playSuccessResolve)||t.call(this,e),this.emit(CP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}handlePaused(e){this.emit(CP.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}handleStopped(e){this.emit(CP.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}getElement(){return this.element}};Hb([UP({settings:{retries:2,timeout:0},onError(e,t,r,i){i[0]=(i[0]||1e3)+1e3,t()}})],VP.prototype,"doReplayByRecreateMediaStream",1),Hb([yP([],"PLAYING",{sync:!0})],VP.prototype,"handlePlaying",1),Hb([yP("PLAYING","PAUSED",{ignoreError:!0,sync:!0})],VP.prototype,"handlePaused",1),Hb([yP([],"STOPPED",{sync:!0})],VP.prototype,"handleStopped",1);var FP,BP="trtc_autoplay",HP="".concat(BP,"_mask"),WP="".concat(BP,"_wrapper"),jP="".concat(BP,"_header"),GP="".concat(BP,"_content"),KP="".concat(BP,"_action_wrapper"),zP="".concat(BP,"_question"),qP="".concat(BP,"_collapse"),YP="".concat(BP,"_action_confirm"),JP="".concat(BP,"_detail"),XP="#2473E8",$P="dialog",QP="".concat($P,"-show"),ZP="".concat($P,"-1"),eL="".concat($P,"-2"),tL=!1,rL=()=>!!document.querySelector(".".concat(WP)),iL="".concat(vw,"/").concat(ZN()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),oL="<br><a href='".concat(iL,"' target='_blank'>").concat(ZN()?"其他方案?":"Any other solution?","</a>"),nL="".concat(ZN()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(oL):"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(oL)),aL=class{constructor(){if(Wb(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),Wb(this,"_dialogNode",null),Wb(this,"_bodyPosition",""),Wb(this,"_showDetail",!1),Wb(this,"_isCollapseClicked",!1),Wb(this,"_isQuestionClicked",!1),ZN()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!tL){let e=document.createElement("style");e.innerHTML=".".concat(HP,"{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(HP," div:not(.").concat(KP,"){display:block !important;}.").concat(WP,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(WP," a{color:").concat(XP,";}.").concat(jP,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(GP,"{margin:8px 0;}.").concat(KP,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(qP,"{margin-right:auto;cursor:pointer}.").concat(zP,"{height:100%;line-height:16px;cursor:pointer;}.").concat(YP,"{margin-left:8px;color:#fff;background:").concat(XP,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(YP,":hover{opacity:0.9;}.").concat(qP,",.").concat(YP,",.").concat(GP,",.").concat(zP,"{font-size:14px;}@media screen and (max-width:750px){.").concat(WP,"{width:80vw;}}"),document.head.appendChild(e),tL=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement("template");e.innerHTML='<div class="'.concat(HP,"\"><div class='").concat(WP,"'><div class='").concat(jP,"'>").concat(location.host,"</div><div class='").concat(GP,"'>").concat(this.content,"</div><div class='").concat(JP,'\' style="visibility:hidden;width:100%;height:0;font-size:12px;color:gray;">').concat(nL,"</div><div class='").concat(KP,"'></div></div></div>").trim();let t=document.createElement("button");t.className=YP,t.innerText=ZN()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);let r=document.createElement("div");r.className=zP,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=qP,i.innerText="".concat(ZN()?"详情 >":"Detail >"),i.onclick=this.onCollapseClick.bind(this);let o=e.content.firstChild,n=o.querySelector(".".concat(KP));return n.appendChild(i),n.appendChild(r),n.appendChild(t),o}addDiaLog(){rL()||(this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(WP)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position="fixed",Xk.info("show autoplay dialog"),LP.uploadEvent({log:QP}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null)}onConfirm(){Xk.warn("confirm clicked, try resume stream"),zk.emit(Yk.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(".".concat(JP));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||LP.uploadEvent({log:ZP}),this._isCollapseClicked=!0}onQuestionClick(){window.open(iL,"_blank"),this._isQuestionClicked||LP.uploadEvent({log:eL}),this._isQuestionClicked=!0}},sL=class extends VP{constructor(e){super(e,Uw.VIDEO),Wb(this,"stat",{}),Wb(this,"_calculateTimeout",-1),Wb(this,"viewMirror",!1),Wb(this,"objectFit"),Wb(this,"container"),Wb(this,"canvas"),this.mode=e.canvas?1:0,this.container=e.container,this.canvas=e.canvas,nD(e.viewMirror)||(this.viewMirror=e.viewMirror),nD(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(Uw.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,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(Uw.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(Uw.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent)}handleTrackEvent(e){var t;super.handleTrackEvent(e),e.type===Uw.MUTE&&null!=(t=this.stat)&&t.fps&&(this.stat.fps=0)}handleElementEvent(e){var t,r;if(2===this.mode)return;super.handleElementEvent(e);let i=e.type;if(i===Uw.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=DN,this._log.info("view container ".concat(null==(r=this.container)?void 0:r.id," is recreated"))),this._pausedRetryCount>0&&!rL()&&(this._log.info("[".concat(DN-this._pausedRetryCount+1,"/").concat(DN,"] ").concat(this.kind," player auto resume when paused")),this.resume(),this._pausedRetryCount--),this.stat.fps&&(this.stat.fps=0)),this.viewMirror&&this.element){let e=this.element.style.transform;i===Uw.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace("scaleX(-1)",""):i===Uw.LEAVE_PICTURE_IN_PICTURE&&!e.includes("scaleX")&&(this.element.style.transform="".concat(e," scaleX(-1)"))}}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(CP.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(hP()&&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(cw){this._log.warn("init stat failed",cw)}}};function cL(e,t){return Gb(this,null,(function*(){if(!e.audioWorklet)return Promise.reject("audioWorklet is not supported");try{yield e.audioWorklet.addModule(t),Xk.info("worklet addModule success")}catch(cw){throw Xk.info("worklet addModule catch error. ".concat(cw.message)),cw}}))}"undefined"!=typeof AudioContext?FP=AudioContext:"undefined"!=typeof webkitAudioContext?FP=webkitAudioContext:"undefined"!=typeof mozAudioContext&&(FP=mozAudioContext);var lL,uL=-1;!function e(){try{if(lL)return;(lL=new FP({sampleRate:48e3})).onstatechange=()=>{Xk.info("context state: ".concat(lL.state).concat("running"!==lL.state?" visibilityState: ".concat(document.visibilityState):"")),dL()},clearTimeout(uL)}catch(BF){Xk.error("initAudioContext failed: ".concat(BF," typeof AudioContextClass: ").concat(typeof FP)),uL=setTimeout(e,1e3)}}();var dL=()=>{"suspended"===lL.state?(mL(),document.addEventListener("click",dL)):"interrupted"===lL.state?mL():(document.removeEventListener("visibilitychange",dL),document.removeEventListener("click",dL))},hL=0,pL=-1;function mL(){return new Promise(((e,t)=>{if("running"===lL.state)return e();Date.now()-hL<1e3?(clearTimeout(pL),pL=setTimeout((()=>{hL=Date.now(),lL.resume().then(e,t)}),1e3)):(clearTimeout(pL),hL=Date.now(),lL.resume().then(e,t))})).catch((e=>{Xk.warn("context resume failed: ".concat(e)),document.addEventListener("visibilitychange",dL)}))}document.addEventListener("click",dL);var fL=e=>lL,_L=class{constructor(e){this.name=e,Wb(this,"node"),Wb(this,"node2"),Wb(this,"pre",new Set),Wb(this,"next",new Set),Wb(this,"context"),Wb(this,"connectedNodes",new Set),Wb(this,"nextInputChannelMap",new Map),Wb(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(dN){Xk.error(dN)}}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(),_M.addSuccessEvent({key:502701})}catch(nO){Xk.error(nO),_M.addFailedEvent({key:502701,error:nO})}}deleteNode(){var e;if(this.node)try{this._disconnect(),delete this.node,delete this.node2,null==(e=this.context)||e.reduceMixWeight(),this.preNodeReconnect(),_M.addSuccessEvent({key:502702})}catch(cw){Xk.error(cw),_M.addFailedEvent({key:502702,error:cw})}}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}},gL=class extends _L{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:256;super(),this.fftSize=e,Wb(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}},EL=class{constructor(){Wb(this,"source",new _L),Wb(this,"gain",new _L),Wb(this,"destination",new _L)}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(fL().createGain()),this.gain.node.gain.value=e):this.gain.node&&this.gain.deleteNode()}replaceSource(e){this.source.replaceNode(IL(e))}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}},vL=class extends EL{constructor(e){super(),this.context=e,Wb(this,"aec",new _L("aec")),Wb(this,"mixNode",new _L("mixNode")),Wb(this,"silentNode",new _L("silentNode")),Wb(this,"denoiser",new _L("denoiser")),Wb(this,"voiceChanger",new _L("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)}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()}},yL=class{constructor(){Wb(this,"audioContext",fL()),Wb(this,"destination",this.audioContext.createMediaStreamDestination()),Wb(this,"inputs",new Set),Wb(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]}},TL=new WeakMap;function IL(e){let t=TL.get(e);if(t)return t;let r=fL();if(e instanceof HTMLAudioElement)t=r.createMediaElementSource(e);else{if(!(e instanceof MediaStreamTrack))return e;t=r.createMediaStreamSource(new MediaStream([e]))}return TL.set(e,t),t}var AL=class e{constructor(e){Wb(this,"_volume",0),Wb(this,"_volumeDb",0),Wb(this,"_log"),Wb(this,"_scriptProcessorNode",null),Wb(this,"_audioWorkletNode",null),Wb(this,"_interval",200),Wb(this,"ready",this.preload());let{log:t}=e;this._log=t,zk.on(Yk.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=cL(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(oO){this._log.error("volumeMeter init audio worklet error: ".concat(oO)),LP.logFailedEvent({userId:this._log.userId,eventType:pN.LOAD_WORKLET,error:oO}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=fL().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(oO){this._log.error("volumeMeter init script processor error: ".concat(oO))}}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,zk.off(Yk.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})}};Wb(AL,"lastMessageTime",0),Wb(AL,"audioContext",fL()),Wb(AL,"workletReady");var SL=AL,RL=class extends _L{constructor(e){super(),Wb(this,"_volumeMeter"),this._volumeMeter=new SL(e)}deleteNode(){super.deleteNode(),this._volumeMeter.destroy()}init(){return Gb(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()}}},bL=SL,wL=Bb(Kb(),1),NL=e=>t=>t.deviceId===e,DL=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Input";Wb(this,"kind"),Wb(this,"type"),Wb(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&&OL(this.devices[0])||t&&(r.forEach((e=>{if(e.deviceId&&!this.devices.find(NL(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Added");Xk.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!r.find(NL(e.deviceId))){let r="".concat(this.kind).concat(this.type,"Removed");Xk.warn("".concat(r,": ").concat(JSON.stringify(e))),t.emit(r,e)}}))),this.devices=r}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},CL=class extends wL.EventEmitter{constructor(){super(),Wb(this,"audioInputs",new DL(Uw.AUDIO)),Wb(this,"videoInputs",new DL(Uw.VIDEO)),Wb(this,"audioOutputs",new DL(Uw.AUDIO,"Output")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",(()=>this.update())),"ondevicechange"in navigator.mediaDevices||DP.run("interval",(()=>{this.update()}),{delay:1e4}))}init(){ML().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return Gb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){let r=yield ML(t);return e.audioInputs.update(r,e),e.videoInputs.update(r,e),e.audioOutputs.update(r,e),e}()}))}},kL=dw||uw?null:new CL;function OL(e){return e.deviceId===e.groupId&&""===e.groupId}function ML(){return Gb(this,arguments,(function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return function*(){if(SM()||!IM())return[];let t=yield navigator.mediaDevices.enumerateDevices();if(0!==e){let r={audio:!1,video:!1};if(t.forEach((e=>{OL(e)&&(e.kind===Uw.AUDIO_INPUT?r.audio=!0:e.kind===Uw.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&&mL()}catch(nO){Xk.debug("capture before getDevices failed: ",nO)}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&&VL.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(r.getCapabilities=()=>e.getCapabilities()),r}))}()}))}function PL(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return kL.update(e?1:0).then((e=>e.audioInputs.devices))}function LL(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return kL.update(e?2:0).then((e=>e.videoInputs.devices))}var xL=!1;function UL(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Gb(this,null,(function*(){return(lC||gk)&&(e=!1),kL.update(e?1:0).then((e=>e.audioOutputs.devices))}))}var VL=new Set;function FL(e,t){return Gb(this,null,(function*(){let r=(yield PL()).find((e=>e.deviceId===CN));return!t&&(null==r?void 0:r.groupId)===e||(null==r?void 0:r.groupId)===e&&r.label===t}))}var BL,HL=class extends EL{constructor(e){super(),this.log=e,Wb(this,"volumeMeter"),Wb(this,"volumeDestination"),Wb(this,"analyser",new gL),this.volumeMeter=new RL({log:this.log}),this.volumeDestination=new _L,this.volumeMeter.pipeTo(this.volumeDestination)}destroy(){this.gain.deleteNode(),this.volumeMeter.deleteNode(),this.analyser.deleteNode(),this.source.deleteNode(),this.destination.deleteNode(),this.volumeDestination.deleteNode()}},WL=class e extends VP{constructor(e){super(e,Uw.AUDIO),Wb(this,"_outputDeviceId"),Wb(this,"_volume",1),Wb(this,"_destination",fL().createMediaStreamDestination()),Wb(this,"pipeline"),Wb(this,"volumeMeterMode","worklet"),this.mode=0,this.pipeline=new HL(this._log)}getMediaStream(){return this.pipeline.stream||(this.track?new MediaStream([this.track]):null)}initializeElement(e){if(("15.2"===Tk||"15.3"===Tk||"15.4"===Tk)&&this.muted)return void this._log.info("audioElement is muted.");let t=BL||new Audio;t.setAttribute("autoplay","autoplay"),t.srcObject=this.getMediaStream(),t.muted=this.muted,this.element=t,sD(e)&&(this.element.volume=Math.min(Math.max(e,0),1)),t===BL&&(BL=void 0),this.bindElementEvents()}play(t){return Gb(this,null,(function*(){if(this.track)return this.pipeline.source.node||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():"analyser"===this.volumeMeterMode&&this.pipeline.analyser.setNode(fL().createAnalyser()),function(){Gb(this,null,(function*(){try{xL||(xL=!0,Xk.info("speakers:".concat((yield UL()).map((e=>" ".concat(e.deviceId.slice(0,8),": ").concat(e.label))))))}catch(e){}}))}(),jb(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)}setSinkId(e){return Gb(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()}},jL=class extends WL{setTrack(e){this.track!==e&&(this.unbindTrackEvents(),this.track=e,this.emit(CP.MEDIA_TRACK_CHANGED,e),e&&(this.bindTrackEvents(),this.element&&(this.element.srcObject=new MediaStream([e]))))}setVolume(e){this._volume=e,this.element&&(this.element.volume=e)}},GL=class extends WL{constructor(e){super(e),Wb(this,"_sourceElement"),Wb(this,"_output",new _L),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(fL().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(CP.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){this._volume=e,this.useDestination?(this.pipeline.setVolume(e),this._log.info("set pipeline volume: ".concat(e))):e<=1?this.element?(this._log.info("set element volume: ".concat(e)),this.element.volume=e):this._log.info("set element volume: no element"):lC||(this._log.info("start set pipeline volume: ".concat(e)),this.pipeline.setVolume(e),this.element&&!this._sourceElement&&(this.pipeline.destination.setNode(this._destination),PP(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&&Ek&&(BL=t),this._sourceElement&&(this._sourceElement.srcObject=null,delete this._sourceElement),super.stop(e)}},KL=class extends AP{constructor(e){let{userId:t,sdkAppId:r,mediaType:i,room:o,PlayerClass:n=(1===i?GL:sL)}=e;var a;super(),Wb(this,"id",$k()),Wb(this,"userId",""),Wb(this,"isRemote"),Wb(this,"mediaType"),Wb(this,"room"),Wb(this,"user"),Wb(this,"_log"),Wb(this,"_inputTrack"),Wb(this,"_outputTrack"),Wb(this,"isPlayCalled"),Wb(this,"container",null),Wb(this,"player"),Wb(this,"subVideoPlayerMap"),Wb(this,"muted",!1),Wb(this,"abortCtrl"),Wb(this,"objectFit","cover"),Wb(this,"mirror"),Wb(this,"rotation"),Wb(this,"isScreen",!1),Wb(this,"manager"),Wb(this,"trackSettings"),Wb(this,"isFirstVideoFrameEmitted",!1),this.userId=t||"",this.mediaType=i,this._log=Xk.createLogger({id:"".concat(this.kind[0],"t"),userId:null==(a=o||this.room)?void 0:a.userId,remoteUserId:this instanceof ux?void 0:this.userId,sdkAppId:r,type:2===this.mediaType?"auxiliary":"main",isLocal:this instanceof ux}),this.player=new n({id:this.userId||this.id,track:null,muted:!1,container:null,log:this._log}),this.player.on(CP.PLAYER_STATE_CHANGED,(e=>{zk.emit(Yk.PLAYER_STATE_CHANGED,xb({track:this},e)),this.emit("player-state-changed",e)})),this.kind===Uw.VIDEO&&(this.player.on(CP.LOADED_DATA,(()=>{this.emitFirstVideoFrameEvent(CP.LOADED_DATA),zk.emit(Yk.VIDEO_LOADED_DATA,{track:this})})),this.player.on(CP.LOADED_META_DATA,(()=>{this.emitFirstVideoFrameEvent(CP.LOADED_META_DATA)})),this.player.on(CP.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))}))),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this),this.onPlayerError&&this.player.on(CP.ERROR,this.onPlayerError.bind(this))}get log(){return this._log||Xk}get kind(){return 1===this.mediaType?Uw.AUDIO:Uw.VIDEO}get strMediaType(){return 4===this.mediaType?Uw.VIDEO:2===this.mediaType?Uw.SCREEN:Uw.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 Gb(this,null,(function*(){let r=uD(e)?e[0]:e;if(this.isPlayCalled)return this.log.info("play update options: ".concat(JSON.stringify(t))),t&&!nD(t.muted)&&this.setPlayerMute(t.muted),t&&!nD(t.objectFit)&&(this.objectFit=t.objectFit),void(this.player instanceof sL&&(this.player.setObjectFit(this.objectFit),this.container!==r&&r&&(this.container=r,this.player.setContainer(r)),uD(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!nD(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===Uw.VIDEO)&&this.setPlayerMute(!0),t&&!nD(t.objectFit)&&(this.objectFit=t.objectFit),this.player instanceof sL&&(this.player.setObjectFit(this.objectFit),t&&!nD(t.poster)&&this.player.setPoster(t.poster)),this.isPlayCalled=!0,r&&(this.container=r,this.player instanceof sL&&this.player.setContainer(r)),zk.emit(Yk.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),uD(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(cO){throw this.handleAutoPlayFailed(cO),cO}}else this.log.info("play has not mediaTrack, abort")}))}setMirror(e,t){if(this.isScreen||this.kind!==Uw.VIDEO||nD(e)||e===this.mirror)return;this.mirror=e;let r=this.player;t&&(r=t);let i=this.manager;if(cD(this.mirror))return r.setViewMirror(this.mirror),void(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 Gb(this,null,(function*(){if(!this._outputTrack||this.kind===Uw.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&&(nD(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(o,new sL({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(YD(this)&&!e?this.jitterBufferDelay:0)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop()})),this.container=null)}resume(){return Gb(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),zk.emit(e?Yk.TRACK_MUTED:Yk.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){MP(e,e).add(Uw.MUTE,this.onTrackMuted).add(Uw.UNMUTE,this.onTrackUnmuted).add(Uw.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===Uw.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){PP(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(YD(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 aL;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 sL?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===CP.LOADED_META_DATA&&!n&&!a||(e===CP.LOADED_DATA&&!n&&!a&&this._log.warn("the dimension of video is 0x0 in first-video-frame event"),this.isFirstVideoFrameEmitted=!0,jD(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"))}};Hb([yP([],AP.INIT,{sync:!0})],KL.prototype,"close",1);var zL=Object.prototype.hasOwnProperty;var qL=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(eD(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(zL.call(e,t))return!1;return!0}return!1},YL=XD({retryFunction:function(e){return Gb(this,null,(function*(){let t=function(e){return{audio:XL(e),video:$L(e)}}(e);Xk.info("getUserMedia with constraints: ".concat(JSON.stringify(t)));let r=[],i=[],o=["label","deviceId","groupId"];t.audio&&(r=yield PL(),Xk.info("microphones: ".concat(kD(r.map((e=>Ub(xb({},e),{groupId:e.groupId.substring(0,8)}))),{keysToInclude:o})))),t.video&&(i=yield LL(),Xk.info("cameras: ".concat(kD(i,{keysToInclude:o}))));try{let e=yield navigator.mediaDevices.getUserMedia(t);return ZM&&e.getTracks().forEach((e=>{Xk.info("".concat(e.kind," capabilities: ").concat(kD(e.getCapabilities(),{keysToInclude:UN})))})),t.audio&&mL(),e}catch(cO){let{message:o}=cO;throw"NotFoundError"===cO.name&&(e.video&&i&&0===i.length&&(o=aM({key:rM.CAMERA_NOT_FOUND})),e.audio&&r&&0===r.length&&(o=aM({key:rM.MICROPHONE_NOT_FOUND}))),new Zb({code:$b.INITIALIZE_FAILED,name:cO.name,message:o,constraint:cO.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?(1===a?(o[0].video&&(o[0].maxResolution=!1,(!gk||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&&JL(o[0].microphoneId,!1),o[0].cameraId&&JL(o[0].cameraId,!0)},onRetrying:e=>{Xk.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:e=>{LP.logFailedEvent({eventType:pN.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{LP.logSuccessEvent({eventType:pN.GET_USER_MEDIA_RETRY}),LP.uploadEvent({log:"stat-".concat(pN.GET_USER_MEDIA_RETRY,"-success-").concat(e)})}});function JL(e,t){return Gb(this,null,(function*(){let r=(t?yield LL():yield PL()).find((t=>t.deviceId===e));r&&oD(r.getCapabilities)&&Xk.warn(kD(r.getCapabilities(),{keysToInclude:UN}))}))}function XL(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0,sampleRate:e.sampleRate};return!qL(e.microphoneId)&&(t.deviceId=e.useExactDeviceId?{exact:e.microphoneId}:e.microphoneId,e.useDeviceIdOnly)?t:(sD(e.channelCount)&&(t.channelCount=e.channelCount),cD(e.echoCancellation)&&!e.echoCancellation&&(t.echoCancellation=!1),cD(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),cD(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!qL(t)||t)}function $L(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&&!qL(r)?r:(e.width&&(r.width={ideal:e.width},t&&!mC&&(r.width.max=e.width)),e.height&&(r.height={ideal:e.height},t&&!mC&&(r.height.max=e.height)),mC&&KC&&e.width&&e.height&&e.width*e.height<101376&&(r.width=e.width,r.height=e.height),e.frameRate&&(r.frameRate=e.frameRate),!!qL(r)||r)}var QL=YL;function ZL(e){return ex(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return Gb(this,null,(function*(){let r=yield t.apply(this,i);return yield e.call(this,...i),r}))}))}function ex(e){return function(t,r,i){return i.value=e(i.value,r),i}}var tx=(()=>{let e=!1,t=document.visibilityState;return()=>{document.visibilityState!==t&&Xk.info("visibility change: ".concat(document.visibilityState)),!e&&(document.addEventListener("visibilitychange",(()=>{Xk.info("visibility change: ".concat(document.visibilityState)),t=document.visibilityState})),e=!0)}})(),rx=0,ix=class{constructor(){Wb(this,"log",Xk.createLogger({id:"fq".concat(++rx)})),Wb(this,"isRunning",!1),Wb(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()}))}},ox=new WeakMap,nx=new WeakMap;function ax(){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=ox.get(this)||new ix;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];return ox.set(this,t),t.push({fn:o,args:i,context:this},e)},i}}function sx(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=nx.get(this)||new Map,a=i.get(n(t))||new ix;return i.set(n(t),a),nx.set(this,i),a.push({fn:o,args:t,context:this})},i}}function cx(e,t){return ex(((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=ED();return pD(e)?e.then((e=>(t?_M.addSuccessEvent({key:i,cost:ED()-s}):_M.addSuccessEvent({key:i}),e))).catch((e=>{throw _M.addFailedEvent({key:i,error:e}),e})):(_M.addSuccessEvent({key:i}),e)}catch(lw){throw _M.addFailedEvent({key:i,error:lw}),lw}}))}var lx=class e extends KL{constructor(e,t){super({mediaType:e,PlayerClass:t}),Wb(this,"isRemote",!1),Wb(this,"deviceId"),Wb(this,"groupId",""),Wb(this,"label",""),Wb(this,"sourceTrack"),Wb(this,"_isRecapturing",!1),Wb(this,"_lastRecaptureTime",0),Wb(this,"_onMuteTimeoutId",-1),Wb(this,"_encodeCheckTimeoutId",-1),Wb(this,"profile")}get enableEncodeFrame(){return!1}get isPublishing(){return"publishing"===this.state.toString()}get isPublished(){return"publish"===this.state}encodeFrame(e,t){throw new Error("Method not implemented.")}installTrackEvent(e){MP(e,e).add(Uw.MUTE,this.onTrackMuted).add(Uw.UNMUTE,this.onTrackUnmuted).add(Uw.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===Uw.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){PP(e)}setStateToReady(){}capture(e){return Gb(this,null,(function*(){var t;try{let r,i=ED();zk.emit(Yk.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(r=new MediaStream,r.addTrack(e.customSource)):(null==(t=this.mediaTrack)||t.stop(),r=yield QL(e));let o=r.getTracks()[0];return this.sourceTrack=o,yield this.setInputMediaStreamTrack(o),e.customSource||(this.updateDeviceIdInUse(),this.listenDeviceChange()),zk.emit(Yk.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this,cost:ED()-i}),r}catch(nO){throw zk.emit(Yk.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:nO}),this.log.error("getUserMedia error observed ".concat(nO)),nO}}))}setOutputMediaStreamTrack(e){var t;if(super.setOutputMediaStreamTrack(e),this.setStateToReady(),this.isPublishing||this.isPublished)return null==(t=this.room)?void 0:t.replaceTrack(this)}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),t}unpublish(){this.room&&this.room.localTracks.delete(this),zk.emit(Yk.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return Gb(this,null,(function*(){if(this.mediaTrack&&QM){let{deviceId:e,groupId:t}=this.mediaTrack.getSettings(),{label:r}=this.mediaTrack;(yield function(e){return Gb(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:r,oldGroupId:i,oldLabel:o,kind:n}=e;return function*(){return t===r&&(n!==Uw.AUDIO||t!==CN||(yield FL(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),ML().then((t=>{let r=t.find((t=>t.deviceId===e));r&&this.emit("2",r)})))}}))}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.mediaTrack||this.kind===Uw.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(Uw.AUDIO_INPUT);return!!VL.has(r)}(this.mediaTrack)||this.kind===Uw.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(Uw.VIDEO_INPUT);return!!VL.has(r)}(this.mediaTrack)||this._isRecapturing||e&&KC&&gk)}onTrackMuted(){if(super.onTrackMuted(),tx(),this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTime<xN)return void setTimeout((()=>this.onTrackMuted()),xN);this._onMuteTimeoutId=setTimeout((()=>Gb(this,null,(function*(){var e;if(null!=(e=this.mediaTrack)&&e.muted){if((lC||uC)&&"visible"!==document.visibilityState)return;this.recapture(yield this.getRecoverCaptureDeviceId())}}))),5e3)}}onTrackUnmuted(){super.onTrackUnmuted(),this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return Gb(this,null,(function*(){if(jb(e.prototype,this,"onTrackEnded").call(this),this.isNeedToRecapture()){if(Date.now()-this._lastRecaptureTime<xN)return void setTimeout((()=>this.onTrackEnded()),xN);this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){return Gb(this,null,(function*(){var t;if(this._isRecapturing||!this._inputTrack)return;this.log.warn("recapture trying"),null==(t=this._inputTrack)||t.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now();let r={useExactDeviceId:!0};if("user"===e||"environment"===e)r.facingMode=e;else{let t;("audio"===this.kind?yield PL():yield LL()).find((t=>t.deviceId===e))&&(t=e),r.deviceId=t}return this.capture(r).then((()=>{this._isRecapturing=!1,this.log.warn("recapture success"),this.emit("1",{deviceId:this.deviceId}),zk.emit(Yk.LOCAL_TRACK_RECAPTURE,{track:this})})).catch((e=>{this._isRecapturing=!1,this.log.warn("recapture failed ".concat(e.message)),this.emit("5",e),zk.emit(Yk.LOCAL_TRACK_RECAPTURE,{track:this,error:e})}))}))}getRecoverCaptureDeviceId(){return Gb(this,null,(function*(){let e=this instanceof _x;if(e&&this.facingMode)return this.facingMode;let{deviceId:t}=this;if(t){let r=(dx.get(t)||0)+1;if(dx.set(t,r),r>=3){let i=e?(yield LL()).find((e=>!dx.has(e.deviceId))):(yield PL()).find((e=>!dx.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._inputTrack&&(this._inputTrack.stop(),this.uninstallTrackEvent(this._inputTrack)),null==(e=this.manager)||e.removeInput(this)}close(){super.close(),this.stopCapture()}};Hb([yP(AP.INIT,"ready",{ignoreError:!0,sync:!0})],lx.prototype,"setStateToReady",1),Hb([ax()],lx.prototype,"capture",1),Hb([yP("ready","publish",{ignoreError:!0,success(){var e,t;this.room.localTracks.add(this),zk.emit(Yk.LOCAL_TRACK_PUBLISHED,{track:this}),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"}),!(((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&(this._encodeCheckTimeoutId=setTimeout((()=>{var e,t;if(!(((null==(t=null==(e=this.room)?void 0:e.networkQuality)?void 0:t.uplinkNetworkQuality)||0)>3)&&this.isPublished&&this.isMediaTrackActive){let e=this.kind===Uw.AUDIO,t=this.stat.bytesSent>0;_M[t?"addSuccessEvent":"addFailedEvent"]({key:e?503700:513702}),t||(_M.addEnum({key:e?503701:513703,value:Hk()}),LP.uploadEvent({log:"stat-encode-failed-".concat(this.kind,"-").concat(Vk()||Wk()),userId:this.userId}),this.log.warn("encode failed"),this.emit("6",this))}}),5e3))},fail(e){let t="error";if(e.cause instanceof RTCError){let r=e.cause;r.message.includes("timeout")?t="timeout":r.code===$b.API_CALL_ABORTED&&(t="api-call")}this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:e.cause||e})}}),cx(521714,!1)],lx.prototype,"publish",1),Hb([ex((e=>function(){return Gb(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)}))})),yP([],"ready",{sync:!0})],lx.prototype,"unpublish",1);var ux=lx,dx=new Map;zk.on(Yk.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&dx.delete(e.track.deviceId)}));var hx=class e extends ux{constructor(e){super(1,jL),Wb(this,"mediaType",1),Wb(this,"volume",0),Wb(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),Wb(this,"playerMuted",!0),Wb(this,"pipeline"),Wb(this,"earMonitorGainNode",new _L),Wb(this,"_output",new _L),Wb(this,"stat",{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0}),Wb(this,"mixedAudioReferenceMap",new Map),this.manager=e,this.pipeline=new vL(e),this.pipeline.gain.pipeTo(this.earMonitorGainNode).pipeTo(this._output),this.pipeline.gain.pipeTo(this.player.pipeline.volumeMeter),this.handleMicrophoneAdded=this.handleMicrophoneAdded.bind(this),this.handleMicrophoneRemoved=this.handleMicrophoneRemoved.bind(this)}get dbVolume(){return bL.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}setInputMediaStreamTrack(t){return Gb(this,null,(function*(){let r=this.trackSettings||{};_M.addEnum({key:501701,value:r.channelCount||0,useUV:!1}),_M.addEnum({key:501702,value:r.sampleRate||0,useUV:!1}),_M.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 jb(e.prototype,this,"setInputMediaStreamTrack").call(this,t),this.updatePlayingState(!!t)}))}capture(e){let{deviceId:t,customSource:r,useExactDeviceId:i=!0,retryWhenExactFailed:o=!0}=e;return super.capture({video:!1,audio:!0,microphoneId:t,echoCancellation:this.profile.echoCancellation,autoGainControl:this.profile.autoGainControl,noiseSuppression:this.profile.noiseSuppression,sampleRate:this.profile.sampleRate,channelCount:this.profile.channelCount,useExactDeviceId:i,retryWhenExactFailed:o,customSource:r})}switchDevice(e){return Gb(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e){if(e!==CN)return;if(yield FL(this.groupId,this.label))return}try{this.log.info("switchDevice audio to: ".concat(e)),this.mediaTrack&&this.mediaTrack.stop(),yield this.capture({deviceId:e,useExactDeviceId:!0,retryWhenExactFailed:!1}),zk.emit(Yk.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch microphone success")}catch(dN){throw this.log.error("switch microphone failed ".concat(dN)),this.deviceId&&this.recapture(this.deviceId),dN}}}))}listenDeviceChange(){kL&&!kL.listeners("audioInputRemoved").includes(this.handleMicrophoneRemoved)&&kL.on("audioInputRemoved",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return Gb(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn("current microphone is lost: ".concat(JSON.stringify(e))),sF(this.userId,{eventId:2003,param1:6,streamType:1});let t=yield PL();t[0]?this.recapture(t[0].deviceId):kL.on("audioInputAdded",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){this.log.warn("microphone added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId)}update3A(e){return Gb(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;!nD(r)&&r!==t.profile.echoCancellation&&(t.profile.echoCancellation=r,n.echoCancellation=r,a=!0),!nD(i)&&i!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=i,n.noiseSuppression=i,a=!0),!nD(o)&&o!==t.profile.autoGainControl&&(t.profile.autoGainControl=o,n.autoGainControl=o,a=!0),a&&(mC||gk?yield e.applyConstraints(n).catch((e=>t._log.warn("update3A failed: ",e))):t.deviceId&&(yield t.recapture(t.deviceId)))}()}))}get captureVolume(){return this.pipeline.volume}setCaptureVolume(e){this.pipeline.setVolume(e/100),this.pipeline.gain.node&&_M.addEnum({key:502700,value:2})}setAudioVolume(e){super.setAudioVolume(0),lC&&this.player.setMuted(!0),this.earMonitorGainNode.node||(this.earMonitorGainNode.setNode(fL().createGain()),this._output.setNode(fL().destination)),this.earMonitorGainNode.node.gain.value=e}enableTrackANS(e){return this.update3A({noiseSuppression:e})}enableTrackAEC(e){if(this.sourceTrack&&!gk&&!lC)return this.update3A({echoCancellation:e})}addDenoiser(e){var t;fk<=92&&48e3!==(null==(t=this.trackSettings)?void 0:t.sampleRate)?this._log.warn("denoiser only support sampleRate 48000 before chrome 93"):(_M.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=IL(e),i=new _L,o=fL().createGain();o.gain.value=1;let n=new _L;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,i){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(e),this.enableTrackAEC(!1)}removeDenoiser(e){this.pipeline.denoiser.node===e&&(this.pipeline.denoiser.deleteNode(),this.enableTrackANS(!0))}removeAudioProcessor(e,t,r,i){this.pipeline.aec.node===e&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode(),this.enableTrackAEC(!0))}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(),kL.off("audioInputAdded",this.handleMicrophoneAdded,this),kL.off("audioInputRemoved",this.handleMicrophoneRemoved,this),super.close()}recapture(t){return Gb(this,null,(function*(){try{yield jb(e.prototype,this,"recapture").call(this,t)}catch(dN){let i=(yield PL()).find((e=>e.deviceId!==t));if(!i)throw dN;yield jb(e.prototype,this,"recapture").call(this,i.deviceId)}}))}encodeFrame(e){return this.manager?this.manager.encodePipeline.reduceRight(((e,t)=>t?t({frame:e}):e),e):e}get enableEncodeFrame(){return!!this.manager&&this.manager.encodePipeline.some((e=>e))}},px=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}},mx=class{constructor(){Wb(this,"_seiMessageList",[]),Wb(this,"_smallSeiMessageList",[]),Wb(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 px(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}},fx=class e extends ux{constructor(e){super(arguments.length>1&&void 0!==arguments[1]?arguments[1]:4,sL),Wb(this,"profile",xb({},Pw)),Wb(this,"avoidCropping",!1),Wb(this,"_scaleResolutionDownBy"),Wb(this,"stat",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0,fpsCapture:0}),Wb(this,"small"),Wb(this,"isNeedToSetBandwidth"),Wb(this,"muteImage"),Wb(this,"manager"),Wb(this,"_seiCodec",new mx),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(Ub(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(QM&&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 Gb(this,null,(function*(){var r,i,o;if(aD(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,jb(e.prototype,this,"setMute").call(this,!1)}else this.muteImage&&(yield null==(o=this.manager)?void 0:o.deleteWatermark("mute"),this.muteImage=void 0),jb(e.prototype,this,"setMute").call(this,t)}))}capture(e){let{deviceId:t,facingMode:r,useExactDeviceId:i=!0,customSource:o,retryWhenExactFailed:n=!0}=e;return super.capture({audio:!1,video:!0,facingMode:r||this.facingMode,cameraId:t,width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate,useExactDeviceId:i,retryWhenExactFailed:n,customSource:o})}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(Ub(xb({},this.profile),{width:1920,height:1080})))}applyProfile(){return Gb(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===Ak&&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:Uw.VIDEO,videoType:Uw.BIG})}}))}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate},t=this.sourceTrack||this.mediaTrack;return QM&&t&&Object.assign(e,t.getSettings()),e}get scaleResolutionDownBy(){return this._scaleResolutionDownBy?this._scaleResolutionDownBy:WD(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 Gb(this,null,(function*(){try{if(!this.isNeedToSwitchDevice(e))return;let t={useExactDeviceId:!0,retryWhenExactFailed:!1};"user"===e||"environment"===e?t.facingMode=e:t.deviceId=e,this.mediaTrack.stop(),yield this.capture(t),zk.emit(Yk.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success")}catch(dN){throw this.log.error("switch camera failed ".concat(dN)),this.deviceId&&this.recapture(this.deviceId),dN}}))}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&&uC&&hk&&(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&&bk&&(i.width=r?1280:720,i.height=r?720:1280,this.log.warn("reset to 1280 * 720 on iOS 13~14")),!t&&this.avoidCropping&&(hk||mC)&&!Pk()&&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(){kL&&!kL.listeners("videoInputRemoved").includes(this.handleCameraRemoved)&&kL.on("videoInputRemoved",this.handleCameraRemoved,this)}handleCameraRemoved(e){return Gb(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn("current camera is lost: ".concat(JSON.stringify(e))),sF(this.userId,{eventId:2003,param1:7,streamType:2});let t=yield LL();t[0]?this.recapture(t[0].deviceId):kL.on("videoInputAdded",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return Gb(this,null,(function*(){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 nD(this.mirror)&&!this.isScreen&&this.setMirror("view"),super.play(e,t)}close(){kL.off("videoInputAdded",this.handleCameraAdded,this),kL.off("videoInputRemoved",this.handleCameraRemoved,this),super.close()}recapture(t){return Gb(this,null,(function*(){try{yield jb(e.prototype,this,"recapture").call(this,t)}catch(dN){let i=(yield LL()).find((e=>e.deviceId!==t));if(!i)throw dN;yield jb(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||nD(e)||e!==this.rotation&&(this.rotation=e,this.manager.rotation=e))}};Hb([ZL((function(e){this.setContentHint(e.contentHint||"motion")}))],fx.prototype,"capture",1);var _x=fx,gx=$k();if("undefined"!=typeof navigator&&navigator.mediaDevices&&"setCaptureHandleConfig"in navigator.mediaDevices)try{navigator.mediaDevices.setCaptureHandleConfig({handle:gx,exposeOrigin:!0,permittedOrigins:["*"]})}catch(BF){}var Ex=function(e){return Gb(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:gk?{max:e.width}:{ideal:e.width,max:e.width},height:gk?{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);Xk.info("getDisplayMedia with constraints: ".concat(JSON.stringify(r)));let i=yield navigator.mediaDevices.getDisplayMedia(r);e.systemAudio&&0===i.getAudioTracks().length&&(pk&&fk<74||gk||mC)&&Xk.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(cO){Xk.warn("screen applyConstraints failed: ".concat(cO))}e.captureElement&&(yield function(e,t){return Gb(this,null,(function*(){var r;if("CropTarget"in window&&"fromElement"in CropTarget&&oD(e.cropTo))try{if((null==(r=e.getCaptureHandle())?void 0:r.handle)!==gx)return;let i=yield CropTarget.fromElement(t);yield e.cropTo(i)}catch(i){Xk.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 nD(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);Xk.info("getUserMedia with constraints: ".concat(JSON.stringify(r))),t=yield navigator.mediaDevices.getUserMedia(r),i.addTrack(t.getAudioTracks()[0])}return i}))},vx=class extends _x{constructor(e){super(e,2),Wb(this,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),Wb(this,"objectFit","contain"),Wb(this,"isScreen",!0),this._log.id="s-".concat(this._log.id)}get isShareCurrentTab(){var e,t;try{return gx===(null==(t=null==(e=this.mediaTrack)?void 0:e.getCaptureHandle())?void 0:t.handle)}catch(nO){return}}capture(e){return Gb(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 Ex({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}),yield t.setInputMediaStreamTrack(e.getVideoTracks()[0]),e}catch(e){throw t.log.error("getDisplayMedia error observed ".concat(e)),e instanceof Zb?e:new Zb({code:$b.INITIALIZE_FAILED,name:e.name,message:e.message})}}()}))}switchDevice(e){return Gb(this,null,(function*(){throw new Error("Method not implemented.")}))}};Hb([ZL((function(e){this.setContentHint(e.contentHint||"detail")}))],vx.prototype,"capture",1);var yx,Tx=class extends hx{constructor(e){super(e),this._log.id="s-".concat(this._log.id)}addAudioProcessor(e,t,r,i){this.pipeline.silentNode.setNode(r),this.pipeline.mixNode.setNode(t),this.pipeline.aec.setNode(i),this.enableTrackAEC(!1)}removeAudioProcessor(e,t,r,i){this.pipeline.aec.node===i&&(this.pipeline.aec.deleteNode(),this.pipeline.silentNode.deleteNode(),this.pipeline.mixNode.deleteNode(),this.enableTrackAEC(!0))}};function Ix(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 Gb(this,null,(function*(){let o=fL();yx||(yx=cL(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 yx;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 Ax=class extends yL{constructor(e){super(),this.room=e,Wb(this,"_localAudioTrack"),Wb(this,"_localScreenAudioTrack"),Wb(this,"log",Xk.createLogger({id:"am"})),Wb(this,"denoiser"),Wb(this,"voiceChanger"),Wb(this,"mixChangedDebounce"),Wb(this,"audioProcessor"),Wb(this,"encodePipeline",[]),Wb(this,"decodePipeline",[]),Wb(this,"getPCMAbortCtrlMap",new Map),Wb(this,"audioFrameEventConfigMap",new Map),Wb(this,"audioReferenceMap",new Map),Wb(this,"isLocalAudioNeedAudioProcess",!1),Wb(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=Ix(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(nD(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,u,d=Math.floor(.04*a),h=new Float32Array(d),p=new Float32Array(d),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 Ix([fL().createMediaStreamSource(new MediaStream([_]))],a,s,c).then((r=>r.pipeTo(new WritableStream({write(r){r[0][0]&&(m+r[0][0].length>d?(h.set(r[0][0].subarray(0,d-m),m),l=r[0][0].subarray(d-m),r[0][1]&&(p.set(r[0][1].subarray(0,d-m),m),u=r[0][1].subarray(d-m)),m+=d-m):(l&&(h.set(l,m),m+=l.length,l=void 0),u&&(p.set(u,m),u=void 0),h.set(r[0][0],m),r[0][1]&&p.set(r[0][1],m),m+=r[0][0].length),m>=d&&(m=0,e({userId:t,sampleRate:a,channelCount:s,data:1===s?h:[h,p]}),h=new Float32Array(d),p=new Float32Array(d)))}}),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!nD(this._localScreenAudioTrack)}get hasAudioTrack(){return!nD(this._localAudioTrack)}changeInput(e){return e instanceof Tx?(this._localScreenAudioTrack=e,this.isScreenAudioNeedAudioProcess&&this.audioProcessor&&(e.addAudioProcessor(...this.audioProcessor),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof hx?(this._localAudioTrack=e,this.denoiser&&e.addDenoiser(this.denoiser),this.isLocalAudioNeedAudioProcess&&this.audioProcessor&&(e.addAudioProcessor(...this.audioProcessor),this.audioReferenceMap.forEach(((t,r)=>{e.mixAudioReference(t,r)}))),e.pipeline.connect(),this.mixOnChange()):e instanceof FV?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 Tx?delete this._localScreenAudioTrack:e instanceof hx&&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=[e,t,r,i],this.isLocalAudioNeedAudioProcess&&this._localAudioTrack&&(this._localAudioTrack.addAudioProcessor(...this.audioProcessor),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localAudioTrack)||r.mixAudioReference(e,t)}))),this.isScreenAudioNeedAudioProcess&&this._localScreenAudioTrack&&(null==(o=this._localScreenAudioTrack)||o.addAudioProcessor(...this.audioProcessor),this.audioReferenceMap.forEach(((e,t)=>{var r;null==(r=this._localScreenAudioTrack)||r.mixAudioReference(e,t)})))}removeDenoiser(e){var t;delete this.denoiser,null==(t=this._localAudioTrack)||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,r,i){var o;delete this.audioProcessor,null==(o=this._localAudioTrack)||o.removeAudioProcessor(e,t,r,i)}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(){zk.on("113",this.handleLocalTrackStarted,this),zk.on("114",this.handleLocalTrackStopped,this),zk.on("115",this.handleRemoteTrackStarted,this),zk.on("116",this.handleRemoteTrackStopped,this)}uninstallEvent(){zk.off("113",this.handleLocalTrackStarted),zk.off("114",this.handleLocalTrackStopped),zk.off("115",this.handleRemoteTrackStarted),zk.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||nD(o))return;this.setAudioReferenceVolume(i,o)}}};var Sx={};function Rx(){}Fb(Sx,{Events:()=>Bx,Inspect:()=>kx,LastSink:()=>Ox,Sink:()=>Mx,Subscribe:()=>Px,TimeoutError:()=>Hx,audit:()=>KU,bindCallback:()=>yU,bindNodeCallback:()=>TU,buffer:()=>eU,bufferCount:()=>Zx,bufferTime:()=>NV,call:()=>bx,catchError:()=>CV,combineLatest:()=>Jx,concat:()=>zx,concatMap:()=>_V,concatMapTo:()=>gV,count:()=>wU,create:()=>xx,debounce:()=>YU,debounceTime:()=>JU,defer:()=>iU,delay:()=>DV,deliver:()=>Ux,dispose:()=>Nx,elementAt:()=>XU,empty:()=>SU,every:()=>tV,exhaustMap:()=>SV,exhaustMapTo:()=>RV,filter:()=>kU,find:()=>$U,findIndex:()=>QU,first:()=>ZU,fromAnimationFrame:()=>EU,fromArray:()=>sU,fromEvent:()=>hU,fromEventPattern:()=>dU,fromFetch:()=>mU,fromIterable:()=>fU,fromPromise:()=>pU,fromReadableStream:()=>gU,fromReader:()=>_U,groupBy:()=>bV,identity:()=>wx,ignoreElements:()=>OU,iif:()=>Yx,inspect:()=>Dx,interval:()=>cU,last:()=>eV,map:()=>nV,mapTo:()=>aV,max:()=>NU,merge:()=>Gx,mergeMap:()=>yV,mergeMapTo:()=>TV,min:()=>DU,never:()=>IU,nothing:()=>Rx,of:()=>aU,pairwise:()=>iV,pipe:()=>Lx,race:()=>Kx,range:()=>vU,reduce:()=>bU,retry:()=>xV,scan:()=>rV,share:()=>jx,shareReplay:()=>qx,skip:()=>UU,skipUntil:()=>VU,skipWhile:()=>FU,startWith:()=>$x,subject:()=>rU,subscribe:()=>MV,sum:()=>CU,switchMap:()=>dV,switchMapTo:()=>pV,take:()=>MU,takeLast:()=>xU,takeUntil:()=>PU,takeWhile:()=>LU,tap:()=>PV,throttle:()=>jU,throwError:()=>AU,timeInterval:()=>wV,timeout:()=>LV,timer:()=>lU,toPromise:()=>kV,toReadableStream:()=>OV,withLatestFrom:()=>Qx,zip:()=>Xx});var bx=e=>e(),wx=e=>e;function Nx(){this.dispose()}var Dx=()=>"undefined"!=typeof __FASTRX_DEVTOOLS__,Cx=1,kx=class extends Function{toString(){return"".concat(this.name,"(").concat(this.args.length?[...this.args].join(", "):"",")")}subscribe(e){let t=new Fx(e,this,this.streamId++);return Bx.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},Ox=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=Rx,this.error=Rx,this.next=Rx,this.dispose=Rx,this.subscribe=Rx,this.doDefer()}subscribe(e){return e instanceof kx?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(bx),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}},Mx=class extends Ox{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)}},Px=class extends Ox{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Rx,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Rx,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:Rx;if(super(),this._next=t,this._error=r,this._complete=i,this.then=Rx,e instanceof kx){let o={toString:()=>"subscribe",id:0,source:e};this.defer((()=>{Bx.defer(o,0)})),Bx.create(o),Bx.pipe(o),this.sourceId=o.id,this.subscribe(e),Bx.subscribe({id:o.id,end:!0}),t==Rx?this._next=e=>Bx.next(o,0,e):this.next=e=>{Bx.next(o,0,e),t(e)},i==Rx?this._complete=()=>Bx.complete(o,0):this.complete=()=>{this.dispose(),Bx.complete(o,0),i()},r==Rx?this._error=e=>Bx.complete(o,0,e):this.error=e=>{this.dispose(),Bx.complete(o,0,e),r()}}else this.subscribe(e)}next(e){this._next(e)}complete(){this.dispose(),this._complete()}error(e){this.dispose(),this._error(e)}};function Lx(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 xx(e,t,r){if(Dx()){let i=Object.defineProperties(Object.setPrototypeOf(e,kx.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}});Bx.create(i);for(let e=0;e<r.length;e++){let t=r[e];"function"==typeof t&&t instanceof kx&&Bx.addSource(i,t)}return i}return e}function Ux(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 kx){let o=xx((t=>{let n=new e(t,...i);n.sourceId=o.id,n.subscribe(r)}),t,arguments);return o.source=r,Bx.pipe(o),o}return t=>r(new e(t,...i))}}}function Vx(e,t){window.postMessage({source:"fastrx-devtools-backend",payload:{event:e,payload:t}})}var Fx=class extends Mx{constructor(e,t,r){super(e),this.source=t,this.id=r,this.sourceId=e.sourceId,this.defer((()=>{Bx.defer(this.source,this.id)}))}next(e){Bx.next(this.source,this.id,e),this.sink.next(e)}complete(){Bx.complete(this.source,this.id),this.sink.complete()}error(e){Bx.complete(this.source,this.id,e),this.sink.error(e)}},Bx={addSource(e,t){Vx("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,r){Vx("next",{id:e.id,streamId:t,data:r&&r.toString()})},subscribe(e,t){let{id:r,end:i}=e;Vx("subscribe",{id:r,end:i,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,r){Vx("complete",{id:e.id,streamId:t,err:r?r.toString():null})},defer(e,t){Vx("defer",{id:e.id,streamId:t})},pipe(e){Vx("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){Vx("update",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=Cx++),Vx("create",{name:e.toString(),id:e.id})}},Hx=class extends Error{constructor(e){super("timeout after ".concat(e,"ms")),this.timeout=e}},Wx=class extends Ox{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 jx(){return e=>{let t=new Wx(e);if(e instanceof kx){let r=xx((e=>{t.add(e)}),"share",arguments);return t.sourceId=r.id,r.source=e,Bx.pipe(r),r}return xx(t.add.bind(t),"share",arguments)}}function Gx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return xx((e=>{let r=new Mx(e),i=t.length;r.complete=()=>{0==--i&&e.complete()},t.forEach(r.bindSubscribe)}),"merge",arguments)}function Kx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return xx((e=>{let r=new Map;t.forEach((t=>{let i=new Mx(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 zx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return xx((e=>{let r=0,i=t.length,o=new Mx(e);o.complete=()=>{r<i&&!o.disposed?(o.doDefer(),o.subscribe(t[r++])):e.complete()},o.complete()}),"concat",arguments)}function qx(e){return t=>{let r=new Wx(t),i=[];return r.next=function(t){i.push(t),i.length>e&&i.shift(),this.sinks.forEach((e=>e.next(t)))},xx((e=>{e.defer((()=>r.remove(e))),i.forEach((t=>e.next(t))),r.add(e)}),"shareReplay",arguments)}}function Yx(e,t,r){return xx((i=>e()?t(i):r(i)),"iif",arguments)}function Jx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return xx((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 Mx(e);o.next=t=>{0==--i?(o.next=t=>{n[r]=t,e.next(n)},o.next(t)):n[r]=t},o.complete=a,o.subscribe(t)}))}),"combineLatest",arguments)}function Xx(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return xx((e=>{let r=t.length,i=r,o=new Array(r),n=()=>{0==--i&&e.complete()};t.forEach(((t,r)=>{let i=new Mx(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 $x(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>xx((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 Qx=Ux(class extends Mx{constructor(e){super(e);let t=new Mx(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=Rx,t.subscribe(Jx(...i))}next(e){this.buffer&&this.sink.next([e,...this.buffer])}},"withLatestFrom"),Zx=Ux(class extends Mx{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"),eU=Ux(class extends Mx{constructor(e,t){super(e),this.buffer=[];let r=new Mx(e);r.next=t=>{e.next(this.buffer),this.buffer=[]},r.complete=Rx,r.subscribe(t)}next(e){this.buffer.push(e)}complete(){this.buffer.length&&this.sink.next(this.buffer),super.complete()}},"buffer"),tU=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 rU(e){let t=arguments,r=jx()(xx((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=Rx,r.complete=Rx,r.error=Rx,r}function iU(e){return xx((t=>t.subscribe(e())),"defer",arguments)}var oU=e=>t=>{setTimeout((()=>e(t)))},nU=e=>oU((t=>{for(let r=0;!t.disposed&&r<e.length;r++)t.next(e[r]);t.complete()}));function aU(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return xx(nU(t),"of",arguments)}function sU(e){return xx(nU(e),"fromArray",arguments)}function cU(e){return xx((t=>{let r=0,i=setInterval((()=>t.next(r++)),e);return t.defer((()=>{clearInterval(i)})),"interval"}),"interval",arguments)}function lU(e,t){return xx((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 uU(e,t){return r=>{let i=e=>r.next(e);r.defer((()=>t(i))),e(i)}}function dU(e,t){return xx(uU(e,t),"fromEventPattern",arguments)}function hU(e,t){if("on"in e&&"off"in e)return xx(uU((r=>e.on(t,r)),(r=>e.off(t,r))),"fromEvent",arguments);if("addListener"in e&&"removeListener"in e)return xx(uU((r=>e.addListener(t,r)),(r=>e.removeListener(t,r))),"fromEvent",arguments);if("addEventListener"in e)return xx(uU((r=>e.addEventListener(t,r)),(r=>e.removeEventListener(t,r))),"fromEvent",arguments);throw"target is not a EventDispachter"}function pU(e){return xx((t=>{e.then(t.next.bind(t),t.error.bind(t))}),"fromPromise",arguments)}function mU(e,t){return xx(iU((()=>pU(fetch(e,t)))),"fromFetch",arguments)}function fU(e){return xx(oU((t=>{try{for(let r of e){if(t.disposed)return;t.next(r)}t.complete()}catch(cw){t.error(cw)}})),"fromIterable",arguments)}function _U(e){let t=r=>tU(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 xx((e=>{t(e)}),"fromReader",arguments)}function gU(e){return xx((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 EU(){return xx((e=>{let t=requestAnimationFrame((function r(i){e.disposed||(e.next(i),t=requestAnimationFrame(r))}));e.defer((()=>cancelAnimationFrame(t)))}),"fromAnimationFrame",arguments)}function vU(e,t){return xx((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 yU(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 xx((r=>{let o=i.concat((e=>(r.next(e),r.complete())));e.apply(t,o)}),"bindCallback",arguments)}function TU(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 xx((r=>{let o=i.concat(((e,t)=>e?r.error(e):(r.next(t),r.complete())));e.apply(t,o)}),"bindNodeCallback",arguments)}function IU(){return xx((()=>{}),"never",arguments)}function AU(e){return xx((t=>t.error(e)),"throwError",arguments)}function SU(){return xx((e=>e.complete()),"empty",arguments)}var RU=class extends Mx{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)}},bU=Ux(RU,"reduce"),wU=e=>Ux(RU,"count")(((t,r)=>e(r)?t+1:t),0),NU=()=>Ux(RU,"max")(Math.max),DU=()=>Ux(RU,"min")(Math.min),CU=()=>Ux(RU,"sum")(((e,t)=>e+t),0),kU=Ux(class extends Mx{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"),OU=Ux(class extends Mx{next(e){}},"ignoreElements"),MU=Ux(class extends Mx{constructor(e,t){super(e),this.count=t}next(e){this.sink.next(e),0==--this.count&&this.complete()}},"take"),PU=Ux(class extends Mx{constructor(e,t){super(e);let r=new Mx(e);r.next=()=>e.complete(),r.complete=Nx,r.subscribe(t)}},"takeUntil"),LU=Ux(class extends Mx{constructor(e,t){super(e),this.f=t}next(e){this.f(e)?this.sink.next(e):this.complete()}},"takeWhile"),xU=e=>bU(((t,r)=>(t.push(r),t.length>e&&t.shift(),t)),[]),UU=Ux(class extends Mx{constructor(e,t){super(e),this.count=t}next(e){0==--this.count&&(this.next=super.next)}},"skip"),VU=Ux(class extends Mx{constructor(e,t){super(e),e.next=Rx;let r=new Mx(e);r.next=()=>{r.dispose(),e.resetNext()},r.complete=Nx,r.subscribe(t)}},"skipUntil"),FU=Ux(class extends Mx{constructor(e,t){super(e),this.f=t}next(e){this.f(e)||(this.next=super.next,this.next(e))}},"skipWhile"),BU={leading:!0,trailing:!1},HU=class extends Mx{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)}},WU=class extends Mx{constructor(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:BU;super(e),this.durationSelector=t,this.config=r,this._throttle=new HU(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=Rx,this._throttle.complete(),super.complete()}},jU=Ux(WU,"throttle"),GU={leading:!1,trailing:!0},KU=e=>Ux(WU,"audit")(e,GU),zU=class extends Mx{next(){this.complete()}complete(){this.dispose(),this.sink.next(this.last)}},qU=class extends Mx{constructor(e,t){super(e),this.durationSelector=t,this._debounce=new zU(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()}},YU=Ux(qU,"debounce"),JU=e=>Ux(qU,"debounceTime")((t=>lU(e))),XU=Ux(class extends Mx{constructor(e,t,r){super(e),this.count=t,this.defaultValue=r}next(e){0==this.count--&&(this.defaultValue=e,this.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("not enough elements in sequence"))}},"elementAt"),$U=e=>t=>MU(1)(FU((t=>!e(t)))(t)),QU=Ux(class extends Mx{constructor(e,t){super(e),this.f=t,this.i=0}next(e){this.f(e)?(this.sink.next(this.i++),this.complete()):++this.i}},"findIndex"),ZU=Ux(class extends Mx{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.complete())}complete(){void 0!==this.defaultValue?(this.sink.next(this.defaultValue),super.complete()):this.error(new Error("no elements in sequence"))}},"first"),eV=Ux(class extends Mx{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"),tV=Ux(class extends Mx{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.complete())}complete(){void 0!==this.result?(this.sink.next(this.result),super.complete()):this.error(new Error("no elements in sequence"))}},"every"),rV=Ux(class extends Mx{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"),iV=Ux(class extends Mx{constructor(){super(...arguments),this.hasLast=!1}next(e){this.hasLast?this.sink.next([this.last,e]):this.hasLast=!0,this.last=e}},"pairwise"),oV=class extends Mx{constructor(e,t,r){super(e),this.mapper=t,this.thisArg=r}next(e){super.next(this.mapper.call(this.thisArg,e))}},nV=Ux(oV,"map"),aV=e=>Ux(oV,"mapTo")((t=>e)),sV=class extends Mx{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()}},cV=class extends Mx{constructor(e,t,r){super(e),this.makeSource=t,this.combineResults=r,this.index=0}subInner(e,t){let r=this.currentSink=new t(this.sink,e,this);this.complete=this.tryComplete,r.complete=r.tryComplete,r.subscribe(this.makeSource(e,this.index++))}tryComplete(){this.currentSink.resetComplete(),this.dispose()}},lV=class extends sV{},uV=class extends cV{next(e){this.subInner(e,lV),this.next=e=>{this.currentSink.dispose(),this.subInner(e,lV)}}},dV=Ux(uV,"switchMap");function hV(e){return(t,r)=>e((()=>t),r)}var pV=hV(Ux(uV,"switchMapTo")),mV=class extends sV{tryComplete(){this.dispose(),this.context.sources.length?this.context.subNext():(this.context.resetNext(),this.context.resetComplete())}},fV=class extends cV{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(),mV),this.disposed&&0===this.sources.length&&this.currentSink.resetComplete()}tryComplete(){0===this.sources.length&&this.currentSink.resetComplete(),this.dispose()}},_V=Ux(fV,"concatMap"),gV=hV(Ux(fV,"concatMapTo")),EV=class extends sV{tryComplete(){this.context.inners.delete(this),super.dispose(),0===this.context.inners.size&&this.context.resetComplete()}},vV=class extends cV{constructor(){super(...arguments),this.inners=new Set}next(e){this.subInner(e,EV),this.inners.add(this.currentSink)}tryComplete(){1===this.inners.size?this.inners.forEach((e=>e.resetComplete())):this.dispose()}},yV=Ux(vV,"mergeMap"),TV=hV(Ux(vV,"mergeMapTo")),IV=class extends sV{dispose(){this.context.resetNext(),super.dispose()}},AV=class extends cV{next(e){this.next=Rx,this.subInner(e,IV)}},SV=Ux(AV,"exhaustMap"),RV=hV(Ux(AV,"exhaustMapTo")),bV=Ux(class extends Mx{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=rU(),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"),wV=Ux(class extends Mx{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"),NV=Ux(class extends Mx{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"),DV=Ux(class extends Mx{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"),CV=Ux(class extends Mx{constructor(e,t){super(e),this.selector=t}error(e){this.dispose(),this.selector(e)(this.sink)}},"catchError"),kV=()=>e=>new Promise(((t,r)=>{let i;new Px(e,(e=>i=e),r,(()=>t(i)))})),OV=()=>e=>{let t;return new ReadableStream({start(r){t=new Px(e,r.enqueue.bind(r),r.error.bind(r),r.close.bind(r))},cancel(){t.dispose()}})},MV=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Rx,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Rx,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Rx;return i=>new Px(i,e,t,r)},PV=Ux(class extends Mx{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"),LV=Ux(class extends Mx{constructor(e,t){super(e),this.timeout=t,this.id=setTimeout((()=>this.error(new Hx(this.timeout))),this.timeout)}next(e){super.next(e),clearTimeout(this.id),this.next=super.next}dispose(){clearTimeout(this.id),super.dispose()}},"timeout"),xV=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0;return t=>{if(t instanceof kx){let r=xx((i=>{let o=e,n=new Mx(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,Bx.pipe(r),r}return r=>{let i=e,o=new Mx(r);o.error=e=>{i-- >0?t(o):r.error(e)},t(o)}}},UV=class e extends KL{constructor(t,r,i){super({userId:r.userId,sdkAppId:t.sdkAppId,mediaType:i,room:t}),this.room=t,this.user=r,Wb(this,"tinyId"),Wb(this,"isRemote",!0),Wb(this,"jitterBufferDelay",0),Wb(this,"availableState"),Wb(this,"remotePublishState"),Wb(this,"_triggerCheckDecodeSubject",rU(hU(this,e.STATE_SUBSCRIBE))),this.tinyId=r.tinyId,this.availableState=new AP("".concat(r.userId,"-").concat(this.mediaType,"-available"),"remote-track-available"),this.remotePublishState=new AP("".concat(r.userId,"-").concat(this.mediaType,"-remote-publish"),"remote-track-publish"),Lx(Gx(hU(this,AP.STATECHANGED),hU(this.remotePublishState,AP.STATECHANGED)),nV((()=>this.isRemotePublished&&(this.isSubscribed||this.isSubscribing))),MV((e=>{this.availableState.state!==(e?AP.ON:AP.OFF)&&(this.availableState.state=e?AP.ON:AP.OFF),this.updatePlayingState(e)})));let o=Lx(hU(this.player,CP.ERROR),kU((e=>e.code===MediaError.MEDIA_ERR_DECODE))),n=Lx(lU(5e3),kU((()=>!(this.ignoreDecodeError||!this.isSubscribed||!this.isPlayCalled||!this.stat.bytesReceived)&&(!this.player.isPlaying&&!(this.kind===Uw.AUDIO?this.getAudioLevel()>0:this.stat.framesDecoded>0)||(this.reportDecodeResult(!0),!1))))),a=Lx(Kx(o,n),PU(hU(this,AP.INIT)));Lx(this._triggerCheckDecodeSubject,kU((()=>!this.ignoreDecodeError)),pV(a),MV((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===AP.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){let r=this.kind===Uw.AUDIO;_M[e?"addSuccessEvent":"addFailedEvent"]({key:r?504700:514702}),e||(_M.addEnum({key:r?504701:514703,value:Hk()}),LP.uploadEvent({log:"stat-decode-failed-".concat(this.kind,"-").concat(Vk()||Wk()),userId:this.room.userId}),this._log.warn("decode failed: isPlaying: ".concat(this.player.isPlaying," ").concat(this.kind===Uw.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?AP.ON:AP.OFF}onTrackMuted(){this.isNeedPlay&&super.onTrackMuted()}onTrackUnmuted(){this.isNeedPlay&&super.onTrackUnmuted()}onTrackEnded(){this.isNeedPlay&&super.onTrackEnded()}};Wb(UV,"STATE_SUBSCRIBE","subscribe"),Hb([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 ex(((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 Zb({code:$b.API_CALL_TIMEOUT,message:"checkPendingPromise ".concat(i,"() timeout ").concat(e,"s")});Xk.warn(r),2===t?a(r):1===t&&o()}),1e3*e);r.apply(this,n).then(o,a).finally((()=>{clearTimeout(s)}))}))}))}(5,1)],UV.prototype,"waitHasMediaTrack",1),Hb([yP(AP.INIT,UV.STATE_SUBSCRIBE,{success(){this.log.info("subscribed"),zk.emit(Yk.REMOTE_TRACK_SUBSCRIBED,{track:this})},ignoreError:!0}),cx(521716,!1)],UV.prototype,"subscribe",1),Hb([yP(UV.STATE_SUBSCRIBE,AP.INIT,{sync:!0,success(){this.log.info("unsubscribed"),zk.emit(Yk.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],UV.prototype,"unsubscribe",1);var VV=UV,FV=class extends VV{constructor(e,t){super(e,t,1),Wb(this,"volume",0),Wb(this,"mediaType",1),Wb(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}get dbVolume(){return bL.isRunning?this.player.pipeline.volumeMeter.getVolumeDb():Math.floor(Math.max(10*Math.log10(this.volume)+100,0))}decodeFrame(e){if(!this.manager)return e;let t=e;for(let r of this.manager.decodePipeline)if(r&&(t=r({frame:t,track:this}),!t))return;return t}getAudioLevel(){let e=this.volume||super.getAudioLevel();return e>1?1:e}get isRemotePublished(){return this.user.muteState.audioAvailable}},BV=[-1,-1,1,-1,-1,1,1,1],HV=[0,0,1,0,0,1,1,1],WV=class extends AP{constructor(e,t){if(super(),this.context=e,Wb(this,"name"),Wb(this,"input"),Wb(this,"output"),Wb(this,"texture"),Wb(this,"ctx2d",null),Wb(this,"fbo"),Wb(this,"width",0),Wb(this,"height",0),Wb(this,"x",0),Wb(this,"y",0),Wb(this,"program"),Wb(this,"vertexShader"),Wb(this,"fragmentShader"),Wb(this,"totalFrames",0),Wb(this,"dropFrames",0),Wb(this,"matchInputSize",!0),Wb(this,"texCoordBuffer"),Wb(this,"positionBuffer"),Wb(this,"lastInfo",{name:"",timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),Wb(this,"cost",0),Wb(this,"_canvas",null),Wb(this,"_image"),Wb(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 iF)e.ctx&&t.create2d&&("function"==typeof OffscreenCanvas&&16!==Ak?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(HV),this.positionBuffer=this.createBuffer(BV),!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.PACK_ALIGNMENT,1),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(nO){this.context.destroy(new Zb({code:$b.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(nO.message||nO)}))}}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 rF&&this.render(e)||this.context instanceof iF&&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 rF){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(e,t,r,i,o){return!(!this.ctx2d||!e)&&(e instanceof ImageData?this.ctx2d.putImageData(e,t,r):(this.ctx2d.drawImage(e,t,r,i,o),"undefined"!=typeof VideoFrame&&e instanceof VideoFrame&&e.close()),!0)}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.PACK_ALIGNMENT,1),t.pixelStorei(t.UNPACK_ALIGNMENT,1),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,e),r}};Hb([yP(AP.INIT,"connected",{sync:!0})],WV.prototype,"connect",1),Hb([yP("connected",AP.INIT,{ignoreError:!0,sync:!0})],WV.prototype,"disconnect",1),Hb([yP([],"closed",{sync:!0})],WV.prototype,"close",1);var jV=Lx(cU(250),nV((()=>performance.now())),jx()),GV=e=>t=>{let r=performance.now();Lx(jV,FU((t=>t-r<e)),MU(1))(t)},KV=[0,1,1,1,0,0,1,0],zV=class extends WV{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},t)),Wb(this,"_intervalId",0),Wb(this,"_sequence",0),Wb(this,"checkGLError",!1),Wb(this,"checkVisibilityChange"),e instanceof iF?this.ctx2d=e.ctx||null:e.available&&null!=t&&t.mirrorUpAndDown&&this.setTexBuffer(KV)}start(e){this.log.info("".concat(this.name," start render ").concat(e," fps")),DP.clearTask(this._intervalId),this._intervalId=DP.run("intervalInWorker",(()=>{if(e!==this.context.frameRate&&(DP.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++),this.checkGLError&&this.context instanceof rF){let e=this.context.ctx.getError();e&&this.context.destroy(new Zb({code:$b.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(),!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;if(this._intervalId&&(DP.clearTask(this._intervalId),this._intervalId=0,1===e)){this.log.info("".concat(this.name," use requestVideoFrameCallback"));let e=()=>{document.hidden&&(this.start(this.context.frameRate),this.log.info("".concat(this.name," use timer")),document.removeEventListener("visibilitychange",e))};document.addEventListener("visibilitychange",e)}this.requestFrame(this._sequence++)}removeInput(e){super.removeInput(e),DP.clearTask(this._intervalId)}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}close(){super.close(),DP.clearTask(this._intervalId),document.removeEventListener("visibilitychange",this.checkVisibilityChange)}},qV=class extends zV{constructor(e,t){super(e,t),Wb(this,"_videoTrack"),Wb(this,"_muteOb"),Wb(this,"_closedOb",hU(this,"closed")),Wb(this,"_subscription"),Wb(this,"_canvasContainer"),Number(vk)<17&&(this._canvasContainer=document.createElement("div"),this._canvasContainer.style.display="none"),[this._videoTrack]=e._canvas.captureStream().getVideoTracks(),this._muteOb=hU(this._videoTrack,"mute"),Lx(hU(this._videoTrack,"ended"),PU(this._closedOb),MV((()=>{this.context.destroy(new Zb({code:$b.VIDEO_MANAGER_ERROR,extraCode:8,message:"video track ended"}))})))}enableCheckMute(){this._subscription=Lx(this._muteOb,PU(this._closedOb),pV(GV(5e3)),kU((()=>{var e;return!(null==(e=this._videoTrack)||!e.muted||document.hidden)})),MV((()=>{this.context.destroy(new Zb({code:$b.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()}},YV=class extends qV{render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))}},JV=class extends qV{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))}},XV=class extends WV{constructor(e,t){super(e,xb({name:"imageSource"},t)),Wb(this,"_lastImage"),Wb(this,"_totalFrames",0),Wb(this,"_autoResize",!1),Wb(this,"_canvasRendered"),Wb(this,"_videoCallbackId",0),Wb(this,"waitingFirstFrame",!0),Wb(this,"shouldUpdate",!0),this._autoResize=!1!==(null==t?void 0:t.autoResize),16===Ak&&(this._canvasRendered=rU(),Lx(this._canvasRendered,$x(this._image),dV((e=>e instanceof HTMLCanvasElement?hU(e,"rendered"):SU())),PU(hU(this,"closed")),MV((()=>{this.update()}))))}onFirstFrame(){this.waitingFirstFrame=!1}tryVideoFrameCallback(){if(!this.shouldUpdate)return;let e=this.image;this._videoCallbackId&&e.cancelVideoFrameCallback(this._videoCallbackId),hP()&&!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!1}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)}},$V=class extends XV{constructor(e,t,r){super(e,r),this._player=t,this.name="videoPlayerSource",Lx(hU(this._player,CP.PLAYER_STATE_CHANGED),PU(hU(this,"closed")),kU((e=>{let{state:t}=e;return"PLAYING"===t})),MV((()=>{this.tryVideoFrameCallback()})))}get image(){return this._player.element}},QV=class extends $V{get available(){return this._player.isPlaying&&!this.waitingFirstFrame}constructor(e,t,r){super(e,new sL({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()}},ZV=class extends AP{constructor(e){super(),Wb(this,"frameRate"),Wb(this,"_canvas"),Wb(this,"log"),Wb(this,"hasAlpha",!1),Wb(this,"name"),Wb(this,"error"),this.name=e.name,this.log=e.logger.createChild({id:"vc-".concat(this.name)}),this.frameRate=e.frameRate}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 QV(this,e,{logger:this.log,name:t})}createVideoTrackDestination(e){return new qV(this,e)}createVideoImageSource(e,t){return new XV(this,t?Object.assign(t,{logger:this.log,image:e}):{logger:this.log,image:e})}createVideoPlayerSource(e,t){return new $V(this,e,t?Object.assign(t,{logger:this.log}):{logger:this.log})}get available(){return"created"===this.state}disconnect(){this.emit("disconnect")}};Wb(ZV,"_ids",0);var eF={alpha:!0,antialias:!1,premultipliedAlpha:!1,preserveDrawingBuffer:!1,depth:!1,stencil:!1,failIfMajorPerformanceCaveat:!0,powerPreference:"low-power"},tF=class extends ZV{constructor(){super(...arguments),Wb(this,"defaultProgam"),Wb(this,"defaultVShader"),Wb(this,"defaultFShader"),Wb(this,"ctx")}create(){if(this._canvas||(this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(ZV._ids++)),this.ctx=this._canvas.getContext("webgl2",eF),!this.ctx)throw new Zb({code:$b.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 Zb({code:$b.VIDEO_MANAGER_ERROR,extraCode:4,message:"webgl context lost"}))}))}destroy(e){let t="";return e&&(t=e.message,this.error=e,_M.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}set height(e){var t;null==(t=this.ctx)||t.viewport(0,0,this.width,e),super.height=e}setSize(e,t){var r;null==(r=this.ctx)||r.viewport(0,0,e,t),super.setSize(e,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}};Wb(tF,"UNAVAILABLE","unavailable"),Hb([yP(AP.INIT,"created",{sync:!0,fail(e){this.log.error("video gl context create failed",e.cause),_M.addFailedEvent({key:512700,error:e.cause||e})},success(){this.log.info("video context created use webgl"),_M.addSuccessEvent({key:512700})}})],tF.prototype,"create",1),Hb([yP("created",AP.INIT,{ignoreError:!0,sync:!0,success(e){e&&this.emit(tF.UNAVAILABLE,e),this.removeAllListeners()}})],tF.prototype,"destroy",1);var rF=tF,iF=class extends ZV{constructor(){super(...arguments),Wb(this,"ctx")}create(e){if(this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),this._canvas.id="trtc_".concat(this.name,"_").concat(ZV._ids++),this.ctx=this._canvas.getContext("2d",{alpha:e.alpha}),!this.ctx)throw new Zb({code:$b.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,_M.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(),_M.addSuccessEvent({key:512703})}};Hb([yP(AP.INIT,"created",{sync:!0,fail(e){this.log.error("video 2d context create failed",e.cause),_M.addFailedEvent({key:512701,error:e.cause||e})},success(){this.log.info("video context created use 2d"),_M.addSuccessEvent({key:512701})}})],iF.prototype,"create",1),Hb([yP("created",AP.INIT,{ignoreError:!0,sync:!0})],iF.prototype,"destroy",1);var oF=class extends VV{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),Wb(this,"mediaType",4),Wb(this,"source"),Wb(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(cD(null==t?void 0:t.canvasRender)?t.canvasRender:17===Ak)&&!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 iF({frameRate:15,logger:this.log,name:this.userId});e.create({alpha:!1});let t=new zV(e,{name:"remotePlayer",logger:this.log});this.source=e.createVideoPlayerSource(this.player),this.source.connect(t),this.player.setCanvas(e._canvas),hP()||(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;!sD(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)}},nF=class extends oF{constructor(e,t){super(e,t,2),Wb(this,"mediaType",2),Wb(this,"objectFit","contain")}get isRemotePublished(){return this.user.muteState.hasAuxiliary}},aF=new Map;function sF(e,t){let r=Ub(xb({},t),{timestamp:ew()});aF.has(e)?aF.get(e).push(r):aF.set(e,[r])}function cF(e){if(aF.has(e)){let t=aF.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 aF.delete(e),t}return[]}function lF(e,t,r,i){try{if(uD(e))for(let o=0;o<e.length;o++)uF.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else uF.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}catch(nO){throw Xk.error(nO),nO}}function uF(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;if(nD(r)){if(t.required)throw new Zb({code:$b.INVALID_PARAMETER,message:aM({key:rM.INVALID_PARAMETER_REQUIRED,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(nD(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),oD(t.type[i])&&r instanceof t.type[i]&&(e=!0),aD(t.type[i])&&iD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new Zb({code:$b.INVALID_PARAMETER,message:aM({key:rM.INVALID_PARAMETER_TYPE,data:{key:i,rule:{type:t.type.map((e=>mD(e)?fD(e):aD(e)?e:iD(e)))},fnName:o,value:r},link:{className:n,fnName:o}})})}else if(!nD(t.type)&&iD(r)!==t.type)throw new Zb({code:$b.INVALID_PARAMETER,message:aM({key:rM.INVALID_PARAMETER_TYPE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!1===t.allowEmpty){let e=sD(r)&&(0===r||Number.isNaN(r)),a=aD(r)&&""===r.trim();if(e||a)throw new Zb({code:$b.INVALID_PARAMETER,message:aM({key:rM.INVALID_PARAMETER_EMPTY,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}if(t.notLessThanZero&&sD(r)&&r<0)throw new Zb({code:$b.INVALID_PARAMETER,message:aM({key:rM.CANNOT_LESS_THAN_ZERO,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!nD(t.min)&&sD(r)&&r<t.min)throw new Zb({code:$b.INVALID_PARAMETER,message:aM({key:rM.INVALID_PARAMETER_MIN,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(!nD(t.max)&&sD(r)&&r>t.max)throw new Zb({code:$b.INVALID_PARAMETER,message:aM({key:rM.INVALID_PARAMETER_MAX,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});if(aD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new Zb({code:$b.INVALID_PARAMETER,message:aM({key:rM.INVALID_PARAMETER_INSTANCE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})})}else if(oD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new Zb({code:$b.INVALID_PARAMETER,message:aM({key:rM.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 Zb({code:$b.INVALID_PARAMETER,message:aM({key:rM.INVALID_PARAMETER_RANGE,data:{key:i,rule:t,fnName:o,value:r},link:{className:n,fnName:o}})});let{properties:a}=t;eD(a)&&lD(r)&&Object.keys(a).forEach((e=>{uF.call(this,{rule:a[e],value:r&&r[e],key:"".concat(i,".").concat(e),fnName:o,className:n})}));let{arrayItem:s}=t;eD(s)&&uD(r)&&r.forEach(((e,t)=>{uF.call(this,{rule:s,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),oD(t.validate)&&t.validate.call(this,r,i,o,n,this)}zk.on(Yk.JOIN_SUCCESS,(e=>{let{room:t}=e;sF(t.userId,{eventId:32788})})),zk.on(Yk.LEAVE_START,(e=>{let{room:t}=e;sF(t.userId,{eventId:32789})})),zk.on(Yk.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),sF(t.room.userId,{eventId:e})}})),zk.on(Yk.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),sF(t.room.userId,{eventId:e})}})),zk.on(Yk.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===Uw.AUDIO?sF(t.room.userId,{eventId:t.isRemote?32785:32772,remoteUserId:t.isRemote?t.userId:void 0}):sF(t.room.userId,{eventId:t.isRemote?32784:32773,remoteUserId:t.isRemote?t.userId:void 0}))})),zk.on(Yk.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===Uw.AUDIO?sF(t.room.userId,{eventId:t.isRemote?32787:32774,remoteUserId:t.isRemote?t.userId:void 0}):sF(t.room.userId,{eventId:t.isRemote?32786:32775,remoteUserId:t.isRemote?t.userId:void 0}))})),zk.on(Yk.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&sF(t.room.userId,{eventId:32777,remoteUserId:t.userId}),4===t.mediaType&&sF(t.room.userId,{eventId:32776,remoteUserId:t.userId}),8===t.mediaType&&sF(t.room.userId,{eventId:32803,remoteUserId:t.userId}))})),zk.on(Yk.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;t.room&&(1===t.mediaType&&sF(t.room.userId,{eventId:32779,remoteUserId:t.userId}),4===t.mediaType&&sF(t.room.userId,{eventId:32778,remoteUserId:t.userId}),8===t.mediaType&&sF(t.room.userId,{eventId:32804,remoteUserId:t.userId}))})),zk.on(Yk.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&sF(t.room.userId,{eventId:t.kind===Uw.VIDEO?32780:32781})})),zk.on(Yk.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&sF(t.room.userId,{eventId:t.kind===Uw.VIDEO?32782:32783})})),zk.on(Yk.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&&sF(r.userId,{eventId:t})})),zk.on(Yk.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&&sF(r.userId,{eventId:t,remoteUserId:n})})),zk.on(Yk.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"===o?0:2,u={eventId:4004,param1:c,param2:l,streamType:s||2};i&&(u.remoteUserId=i,u.eventId=4005),sF(r,u),_M.addEnum({key:i?514701:513701,value:c}),_M.addEnum({key:i?514700:513700,value:l})})),zk.on(Yk.LOCAL_TRACK_RECAPTURE,(e=>{let{track:t,error:r}=e;if(t.userId){let e={eventId:2003,param1:0};t.kind===Uw.AUDIO?(e.streamType=1,r&&(e.param1=2)):(e.streamType="auxiliary"===t.streamType?7:2,r&&(e.param1=8)),sF(t.userId,e)}})),Bb(Kb(),1);var dF=Object.create,hF=Object.defineProperty,pF=Object.defineProperties,mF=Object.getOwnPropertyDescriptor,fF=Object.getOwnPropertyDescriptors,_F=Object.getOwnPropertyNames,gF=Object.getOwnPropertySymbols,EF=Object.getPrototypeOf,vF=Object.prototype.hasOwnProperty,yF=Object.prototype.propertyIsEnumerable,TF=(e,t,r)=>t in e?hF(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,IF=(e,t)=>{for(var r in t||(t={}))vF.call(t,r)&&TF(e,r,t[r]);if(gF)for(var r of gF(t))yF.call(t,r)&&TF(e,r,t[r]);return e},AF=(e,t)=>pF(e,fF(t)),SF=(e,t,r,i)=>{for(var o,n=i>1?void 0:i?mF(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&&hF(t,r,n),n},RF=(e,t,r)=>TF(e,"symbol"!=typeof t?t+"":t,r),bF=((e,t)=>function(){return t||(0,e[_F(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,u=this._events[s],d=arguments.length;if(u.fn){switch(u.once&&this.removeListener(e,u.fn,void 0,!0),d){case 1:return u.fn.call(u.context),!0;case 2:return u.fn.call(u.context,t),!0;case 3:return u.fn.call(u.context,t,r),!0;case 4:return u.fn.call(u.context,t,r,o),!0;case 5:return u.fn.call(u.context,t,r,o,n),!0;case 6:return u.fn.call(u.context,t,r,o,n,a),!0}for(l=1,c=new Array(d-1);l<d;l++)c[l-1]=arguments[l];u.fn.apply(u.context,c)}else{var h,p=u.length;for(l=0;l<p;l++)switch(u[l].once&&this.removeListener(e,u[l].fn,void 0,!0),d){case 1:u[l].fn.call(u[l].context);break;case 2:u[l].fn.call(u[l].context,t);break;case 3:u[l].fn.call(u[l].context,t,r);break;case 4:u[l].fn.call(u[l].context,t,r,o);break;default:if(!c)for(h=1,c=new Array(d-1);h<d;h++)c[h-1]=arguments[h];u[l].fn.apply(u[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=[],u=a.length;c<u;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)}}),wF=((e,t,r)=>(r=null!=e?dF(EF(e)):{},((e,t,r,i)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let o of _F(t))vF.call(e,o)||o===r||hF(e,o,{get:()=>t[o],enumerable:!(i=mF(t,o))||i.enumerable});return e})(!t&&e&&e.__esModule?r:hF(r,"default",{value:e,enumerable:!0}),e)))(bF(),1),NF=Symbol("instance"),DF=Symbol("cacheResult"),CF=class{constructor(e,t,r){this.oldState=e,this.newState=t,this.action=r,this.aborted=!1}abort(e){this.aborted=!0,LF.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},kF=class extends Error{constructor(e,t,r){super(t),this.state=e,this.message=t,this.cause=r}};var OF=new Map;function MF(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=OF.get(i)||[];OF.has(i)||OF.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=xF.get("function"==typeof r.context?r.context.call(this,...n):r.context)),i.state===t)return r.sync?i[DF]:Promise.resolve(i[DF]);i.state instanceof CF&&i.state.action==r.abortAction&&i.state.abort(i);let l=null;Array.isArray(e)?0==e.length?i.state instanceof CF&&i.state.abort(i):"string"==typeof i.state&&e.includes(i.state)||(l=new kF(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 kF(i._state,"".concat(i.name," ").concat(a," to ").concat(t," failed: current state ").concat(i._state," not from ").concat(e)));let u=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 u(l);let d=i.state,h=new CF(d,t,a);LF.call(i,h);let p=e=>{var o;return i[DF]=e,h.aborted||(LF.call(i,t),null===(o=r.success)||void 0===o||o.call(this,i[DF])),e},m=e=>(LF.call(i,d,e),u(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(lO){return m(new kF(i._state,"".concat(i.name," ").concat(a," from ").concat(e," to ").concat(t," failed: ").concat(lO),lO instanceof Error?lO:new Error(String(lO))))}}}}var PF="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 LF(e,t){let r=this._state;this._state=e;let i=e.toString();e&&this.emit(i,r),this.emit(xF.STATECHANGED,e,r,t),this.updateDevTools({value:e,old:r,err:t instanceof Error?t.message:String(t)})}var xF=class e extends wF.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[NF];o?this.name=o.name+"-"+o.count++:i[NF]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=OF.get(e)||[],r=new Set,i=[],o=[],n=new Set,a=Object.getPrototypeOf(e);OF.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]:{};PF(e.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},t))}get state(){return this._state}set state(e){LF.call(this,e)}};xF.STATECHANGED="stateChanged",xF.UPDATEAFSM="updateAFSM",xF.INIT="[*]",xF.ON="on",xF.OFF="off",xF.instances=new Map,xF.instances2=new WeakMap;var UF=class extends xF{constructor(){super(...arguments),RF(this,"decoder"),RF(this,"config")}initialize(){return Gb(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(AF(IF({},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 VF(){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],u=c.HEAPU32[1+(e>>2)],d=c.HEAPU32[2+(e>>2)],h=c.HEAPU8.subarray(l,l+i),p=c.HEAPU8.subarray(u,u+o),m=c.HEAPU8.subarray(d,d+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:"")}}}SF([MF([xF.INIT,"closed"],"initialized")],UF.prototype,"initialize",1),SF([MF("initialized","configured",{sync:!0})],UF.prototype,"configure",1),SF([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 kF(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")],UF.prototype,"decode",1),SF([MF([],xF.INIT,{sync:!0})],UF.prototype,"reset",1),SF([MF([],"closed",{ignoreError:!0,sync:!0})],UF.prototype,"close",1);var FF=class extends xF{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,RF(this,"worker"),RF(this,"decoder"),RF(this,"config"),RF(this,"module",{}),RF(this,"width",0),RF(this,"height",0)}initialize(e){return Gb(this,null,(function*(){var t;if(this.workerMode){let e=new RegExp("\\{(.+)\\}","s").exec(VF.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 u=new Uint8Array(r+i+i);u.set(s),u.set(c,r),u.set(l,r+i),this.emit("videoFrame",new VideoFrame(u,{codedWidth:this.width,codedHeight:this.height,format:"I420",timestamp:t}))}errorInfo(e){let t={errMsg:e};this.emit("error",t)}};SF([MF([xF.INIT,"closed"],"initialized")],FF.prototype,"initialize",1),SF([MF("initialized","configured",{sync:!0})],FF.prototype,"configure",1),SF([MF([],xF.INIT,{sync:!0})],FF.prototype,"reset",1),SF([MF([],"closed",{sync:!0})],FF.prototype,"close",1);var BF,HF=(BF="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,u="function"==typeof importScripts,d=("object"==typeof process&&"object"==typeof process.versions&&process.versions.node,"");(l||u)&&(u?d=self.location.href:"undefined"!=typeof document&&document.currentScript&&(d=document.currentScript.src),BF&&(d=BF),d=0!==d.indexOf("blob:")?d.substr(0,d.replace(/[?#].*/,"").lastIndexOf("/")+1):"",o=e=>{var t=new XMLHttpRequest;return t.open("GET",e,!1),t.send(null),t.responseText},u&&(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,N,D=!1,C=[],k=[],O=[],M=0,P=null;function L(e){M++,i.monitorRunDependencies&&i.monitorRunDependencies(M)}function x(e){if(M--,i.monitorRunDependencies&&i.monitorRunDependencies(M),0==M&&P){var t=P;P=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&&!u||"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,d):d+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),K={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=K.resolve(e).substr(1),t=K.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("/")}},z="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&&z)return z.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=K.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=K.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(!K.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),u=K.relative(e,n);if("."!==u.charAt(0))throw new ie.ErrnoError(28);if("."!==(u=K.relative(t,o)).charAt(0))throw new ie.ErrnoError(55);try{c=ie.lookupNode(i,s)}catch(p){}if(l!==c){var d=ie.isDir(l.mode),h=ie.mayDelete(r,a,d);if(h)throw new ie.ErrnoError(h);if(h=c?ie.mayDelete(i,s,d):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 K.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),u=0,d=r.length;u<d;++u)l[u]=r.charCodeAt(u);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(!u)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 d(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),d(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 d(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,N=[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]=N[0],y[r+28>>2]=N[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 N=[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]=N[0],y[r+44>>2]=N[1],T[r+48>>2]=o%1e3*1e3,N=[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]=N[0],y[r+60>>2]=N[1],T[r+64>>2]=n%1e3*1e3,N=[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]=N[0],y[r+76>>2]=N[1],T[r+80>>2]=a%1e3*1e3,N=[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]=N[0],y[r+92>>2]=N[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={},ue={},de={},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){de[e]=t}));var o=new Array(t.length),n=[],a=0;t.forEach(((e,t)=>{ue.hasOwnProperty(e)?o[t]=ue[e]:(n.push(e),le.hasOwnProperty(e)||(le[e]=[]),le[e].push((()=>{o[t]=ue[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')),ue.hasOwnProperty(e)){if(r.ignoreDuplicateRegistrations)return;pe("Cannot register type '".concat(i,"' twice"))}if(ue[e]=t,delete de[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 Ne(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 Ce(){}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 Pe(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 Le(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 Le(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=Le(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 Le(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,u){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=u,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 Ke(e){var t=St(e),r=ce(t);return It(t),r}function ze(e,t){var r=[],i={};throw t.forEach((function e(t){i[t]||ue[t]||(de[t]?de[t].forEach(e):(r.push(t),i[t]=!0))})),new Ge("".concat(e,": ")+r.map(Ke).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 u="void"!==t[0].name,d="",h="";for(l=0;l<a-2;++l)d+=(0!==l?", ":"")+"arg"+l,h+=(0!==l?", ":"")+"arg"+l+"Wired";var p="\n return function ".concat(ke(e),"(").concat(d,") {\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+=(u||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 u&&(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,ut=(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},dt=(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,u){var d=t?K.resolve(j.join2(e,t)):e;function h(r){function n(r){u&&u(),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,d,n,(()=>{s&&s(),x()}))||n(r)}L(),"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&&L()})(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"}},Ce.prototype.isAliasOf=function(e){if(!(this instanceof Ce&&e instanceof Ce))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},Ce.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},Ce.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)},Ce.prototype.isDeleted=function(){return!this.$$.ptr},Ce.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?Ne(this.registeredClass.instancePrototype,{ptrType:this.pointeeType,ptr:t,smartPtrType:this,smartPtr:e}):Ne(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?Ne(n.registeredClass.instancePrototype,{ptrType:n,ptr:c,smartPtrType:this,smartPtr:e}):Ne(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,u,d,h,p){d=ce(d),a=je(n,a),c&&(c=je(s,c)),u&&(u=je(l,u)),p=je(h,p);var m,f,_,g=ke(d);m=g,f=function(){ze("Cannot construct ".concat(d," 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:Ce.prototype;var s=Oe(g,(function(){if(Object.getPrototypeOf(this)!==l)throw new he("Use 'new' to construct "+d);if(void 0===h.constructor_body)throw new he(d+" has no accessible constructor");var e=h.constructor_body[arguments.length];if(void 0===e)throw new he("Tried to invoke ctor of ".concat(d," 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 Pe(d,s,l,p,r,a,c,u);h.baseClass&&(void 0===h.baseClass.__derivedClasses&&(h.baseClass.__derivedClasses=[]),h.baseClass.__derivedClasses.push(h));var m,f,_,E=new Be(d,h,!0,!1,!1),v=new Be(d+"*",h,!1,!1,!1),y=new Be(d+" 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]=()=>{ze("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(){ze("Cannot call ".concat(i," due to unbound types"),l)}t.startsWith("@@")&&(t=Symbol[t.substring(2)]),s&&e.registeredClass.pureVirtualFunctions.push(t);var u=e.registeredClass.instancePrototype,d=u[t];return void 0===d||void 0===d.overloadTable&&d.className!==e.name&&d.argCount===r-2?(o.argCount=r-2,o.className=e.name,u[t]=o):(Me(u,t,i),u[t].overloadTable[r-2]=o),_e([],l,(function(o){var s=Xe(i,o,e,n,a,c);return void 0===u[t].overloadTable?(s.argCount=r-2,u[t]=s):u[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=ut,o=dt,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 u=e+4+l*t;if(l==o||0==a[u>>s]){var d=i(c,u-c);void 0===r?r=d:(r+="\0",r+=d),c=u+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=ue[r])&&pe(i+" has unknown type "+Ke(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 u,d,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),u=Je(Function,a).apply(null,s),d=mt.length,mt.push(u),n=d,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,N=[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]=N[0],y[t+12>>2]=N[1],N=[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]=N[0],y[t+20>>2]=N[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),N=[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]=N[0],y[o+4>>2]=N[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(L(),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(),C.unshift(e);var e;H(C)}(),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,P=function e(){vt||bt(),vt||(P=e)},i.preInit)for("function"==typeof i.preInit&&(i.preInit=[i.preInit]);i.preInit.length>0;)i.preInit.pop()();return bt(),e.ready}),WF=HF,jF=class extends FF{constructor(e){super(WF,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 GF=(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))(GF||{});function KF(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var zF=class e{constructor(e){this.core=e,RF(this,"contextMap",new Map),RF(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){switch(e){case"wasm":return new jF(AF(IF({},t),{wasmPath:"".concat(this.core.assetsPath||".","/videodec.wasm")}));case"webCodecs":return new UF;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(AF(IF({},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=KF()-e.startPerformanceTime,{renderFreezeTotal:i,dataFreezeTotal:o}=this.getRemoteTrackFreezeDuration(t,e);r&&this.core.kvStatManager.addNumber({key:514850,value:Math.floor(i/r*100),split:1,max:100}),r&&this.core.kvStatManager.addNumber({key:514851,value:Math.floor(o/r*100),split:1,max:100}),e.inputFrameCount&&this.core.kvStatManager.addNumber({key:514852,value:Math.floor(e.decodedFrameCount/e.inputFrameCount*100),split:1,max:100})}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(AF(IF({},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?KF()-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)}};RF(zF,"Name","TRTCVideoDecoder");var qF=zF,YF=Bb(Kb());function JF(e){let{timesInSecond:t,maxSizeInSecond:r,getSize:i}=e;return ex(((e,o)=>{let n=new WeakMap;return zk.on(Yk.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 Zb({code:$b.INVALID_OPERATION,message:aM({key:rM.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 XF,$F=!0,QF={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"},ZF={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},eB=((XF=eB||{})[XF.INVALID_PARAMETER=5e3]="INVALID_PARAMETER",XF[XF.INVALID_PARAMETER_REQUIRED=5001]="INVALID_PARAMETER_REQUIRED",XF[XF.INVALID_PARAMETER_TYPE=5002]="INVALID_PARAMETER_TYPE",XF[XF.INVALID_PARAMETER_EMPTY=5003]="INVALID_PARAMETER_EMPTY",XF[XF.INVALID_PARAMETER_INSTANCE=5004]="INVALID_PARAMETER_INSTANCE",XF[XF.INVALID_PARAMETER_RANGE=5005]="INVALID_PARAMETER_RANGE",XF[XF.INVALID_PARAMETER_LESS_THAN_ZERO=5006]="INVALID_PARAMETER_LESS_THAN_ZERO",XF[XF.INVALID_PARAMETER_MIN=5007]="INVALID_PARAMETER_MIN",XF[XF.INVALID_PARAMETER_MAX=5008]="INVALID_PARAMETER_MAX",XF[XF.INVALID_ELEMENT_ID=5009]="INVALID_ELEMENT_ID",XF[XF.INVALID_ELEMENT_ID_TYPE=5010]="INVALID_ELEMENT_ID_TYPE",XF[XF.INVALID_STREAM_ID=5011]="INVALID_STREAM_ID",XF[XF.INVALID_ROOM_ID_STRING=5012]="INVALID_ROOM_ID_STRING",XF[XF.INVALID_ROOM_ID_INTEGER=5013]="INVALID_ROOM_ID_INTEGER",XF[XF.INVALID_STREAM_TYPE=5014]="INVALID_STREAM_TYPE",XF[XF.INVALID_ROOM_ID_REQUIRED=5015]="INVALID_ROOM_ID_REQUIRED",XF[XF.INVALID_ROOM_ID_INTEGER_STRING=5016]="INVALID_ROOM_ID_INTEGER_STRING",XF[XF.INVALID_BUFFER_EMPTY=5017]="INVALID_BUFFER_EMPTY",XF[XF.INVALID_BUFFER_OVERSIZE=5018]="INVALID_BUFFER_OVERSIZE",XF[XF.INVALID_ROOM_ID_TYPE_MISMATCH=5019]="INVALID_ROOM_ID_TYPE_MISMATCH",XF[XF.INVALID_ROOM_ID_DUPLICATE=5020]="INVALID_ROOM_ID_DUPLICATE",XF[XF.INVALID_OPERATION=5100]="INVALID_OPERATION",XF[XF.INVALID_OPERATION_NOT_JOINED=5101]="INVALID_OPERATION_NOT_JOINED",XF[XF.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]="INVALID_OPERATION_REMOTE_USER_NOT_EXIST",XF[XF.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]="INVALID_OPERATION_STREAM_TYPE_NOT_EXIST",XF[XF.INVALID_OPERATION_REPEAT_CALL=5104]="INVALID_OPERATION_REPEAT_CALL",XF[XF.INVALID_OPERATION_NEED_VIDEO=5105]="INVALID_OPERATION_NEED_VIDEO",XF[XF.INVALID_OPERATION_NEED_AUDIO=5106]="INVALID_OPERATION_NEED_AUDIO",XF[XF.INVALID_ROLE_AUDIENCE=5107]="INVALID_ROLE_AUDIENCE",XF[XF.INVALID_NOT_ENABLE_SEI=5108]="INVALID_NOT_ENABLE_SEI",XF[XF.INVALID_NEED_CALL_PUBLISHED=5109]="INVALID_NEED_CALL_PUBLISHED",XF[XF.ENV_NOT_SUPPORTED=5200]="ENV_NOT_SUPPORTED",XF[XF.NOT_SUPPORTED_HTTP=5201]="NOT_SUPPORTED_HTTP",XF[XF.NOT_SUPPORTED_WEBRTC=5202]="NOT_SUPPORTED_WEBRTC",XF[XF.NOT_SUPPORTED_H264_ENCODE=5203]="NOT_SUPPORTED_H264_ENCODE",XF[XF.NOT_SUPPORTED_H264_DECODE=5204]="NOT_SUPPORTED_H264_DECODE",XF[XF.NOT_SUPPORTED_SCREEN_SHARE=5205]="NOT_SUPPORTED_SCREEN_SHARE",XF[XF.NOT_SUPPORTED_SMALL_VIDEO=5206]="NOT_SUPPORTED_SMALL_VIDEO",XF[XF.NOT_SUPPORTED_SEI=5207]="NOT_SUPPORTED_SEI",XF[XF.NOT_SUPPORTED_WEBGL=5208]="NOT_SUPPORTED_WEBGL",XF[XF.NOT_SUPPORTED_CHROME_VERSION=5209]="NOT_SUPPORTED_CHROME_VERSION",XF[XF.NOT_SUPPORTED_PLUGIN=5210]="NOT_SUPPORTED_PLUGIN",XF[XF.DEVICE_ERROR=5300]="DEVICE_ERROR",XF[XF.DEVICE_NOT_FOUND_ERROR=5301]="DEVICE_NOT_FOUND_ERROR",XF[XF.DEVICE_NOT_ALLOWED_ERROR=5302]="DEVICE_NOT_ALLOWED_ERROR",XF[XF.DEVICE_NOT_READABLE_ERROR=5303]="DEVICE_NOT_READABLE_ERROR",XF[XF.DEVICE_OVERCONSTRAINED_ERROR=5304]="DEVICE_OVERCONSTRAINED_ERROR",XF[XF.DEVICE_INVALID_STATE_ERROR=5305]="DEVICE_INVALID_STATE_ERROR",XF[XF.DEVICE_SECURITY_ERROR=5306]="DEVICE_SECURITY_ERROR",XF[XF.DEVICE_ABORT_ERROR=5307]="DEVICE_ABORT_ERROR",XF[XF.CAMERA_RECOVER_FAILED=5308]="CAMERA_RECOVER_FAILED",XF[XF.MICROPHONE_RECOVER_FAILED=5309]="MICROPHONE_RECOVER_FAILED",XF[XF.SERVER_ERROR=5400]="SERVER_ERROR",XF[XF.NEED_TO_BUY=5401]="NEED_TO_BUY",XF[XF.ACCOUNT_NO_MONEY=-100013]="ACCOUNT_NO_MONEY",XF[XF.OPERATION_FAILED=5500]="OPERATION_FAILED",XF[XF.FIREWALL_RESTRICTION=5501]="FIREWALL_RESTRICTION",XF[XF.REJOIN_FAILED=5502]="REJOIN_FAILED",XF[XF.EVENT_HANDLER_ERROR=5503]="EVENT_HANDLER_ERROR",XF[XF.VIDEO_CONTEXT_ERROR=5504]="VIDEO_CONTEXT_ERROR",XF[XF.VIDEO_DECODE_ERROR=5505]="VIDEO_DECODE_ERROR",XF[XF.OPERATION_ABORT=5998]="OPERATION_ABORT",XF[XF.UNKNOWN_ERROR=5999]="UNKNOWN_ERROR",XF);var tB=Ub(xb({},iM),{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(iD(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(iD(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=rB(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=rB(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=rB(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=rB(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=rB(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=rB(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=rB(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 rB(e){if(!e)return"camera";let t=e.toLowerCase();return t.includes("screen")?"screen share":t.includes("audio")?"microphone":"camera"}var iB=class e extends Error{constructor(e){let{code:t,extraCode:r,message:i="",messageParams:o,fnName:n="",originError:a}=e;var s;let c;c=i||function(e){let t,{code:r,params:i,enableDocLink:o=!1}=e,a="",s=eB[r];try{t=tB[s]}catch(n){t=tB.UNKNOWN_ERROR}return oD(t)?a=t(i):aD(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===ZF.SERVER_ERROR?t:r||t,params:xb({fnName:n,error:a},o)}),super(c),Wb(this,"name","RtcError"),Wb(this,"code"),Wb(this,"extraCode"),Wb(this,"functionName"),Wb(this,"message"),Wb(this,"handler"),Wb(this,"originError"),this.name=eB[t],this.code=t,this.extraCode=r,this.functionName=n,this.originError=a,this.message=c,5302===this.extraCode&&null!=(s=this.originError)&&s.message.includes("system")&&(this.handler=()=>{let e=document.createElement("a");GC?e.href="ms-settings:privacy-".concat({startLocalVideo:"webcam",startLocalAudio:"microphone"}[this.functionName]):KC&&(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 Zb){let{stack:n}=t,a={code:ZF.UNKNOWN_ERROR,fnName:r,originError:t};switch(t.getCode()){case $b.INVALID_PARAMETER:a.code=ZF.INVALID_PARAMETER,a.message=t.message;break;case $b.INVALID_OPERATION:a.code=ZF.INVALID_OPERATION;break;case $b.NOT_SUPPORTED:case $b.NOT_SUPPORTED_H264:a.code=ZF.ENV_NOT_SUPPORTED,t.getCode()===$b.NOT_SUPPORTED_H264&&(a.extraCode=t.message.includes(iM.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case $b.JOIN_ROOM_FAILED:a.messageParams={fnParams:i};case $b.SERVER_TIMEOUT:case $b.SWITCH_ROLE_FAILED:case $b.SWITCH_ROOM_FAILED:a.code=ZF.SERVER_ERROR,a.extraCode=t.getExtraCode();break;case $b.API_CALL_ABORTED:a.code=ZF.OPERATION_ABORT;break;case $b.DEVICE_NOT_FOUND:case $b.DEVICE_AUTO_RECOVER_FAILED:case $b.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 $b.UNKNOWN:break;default:a.code=ZF.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:ZF.UNKNOWN_ERROR,fnName:r,originError:t})}return o}};var oB=iB;function nB(e){return"sub"===e?"auxiliary":"auxiliary"===e?"sub":"main"}function aB(e){return e===QF.QOS_PREFERENCE_CLEAR?"detail":e===QF.QOS_PREFERENCE_SMOOTH?"motion":""}function sB(e,t){let r=t?Lw:Pw;return JD(e)?xb(xb({},r),e):Mw[e]?Mw[e]:r}var cB={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}}},lB={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}}},uB={type:["string",HTMLElement,null,"array"],arrayItem:{instanceOf:HTMLElement},validate(e,t,r){if(aD(e)&&!document.getElementById(e))throw new oB({code:ZF.INVALID_PARAMETER,extraCode:5009,fnName:r,messageParams:{key:t}})}},dB={name:"userId",required:!0,type:"string"},hB={type:"object",properties:{microphoneId:{type:"string"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:"number",min:0},earMonitorVolume:{type:"number",min:0,max:100},profile:{values:[QF.AUDIO_PROFILE_STANDARD,QF.AUDIO_PROFILE_STANDARD_STEREO,QF.AUDIO_PROFILE_HIGH,QF.AUDIO_PROFILE_HIGH_STEREO]},echoCancellation:{type:"boolean"},autoGainControl:{type:"boolean"},noiseSuppression:{type:"boolean"}}};function pB(e,t){if(!e)throw new oB({code:ZF.INVALID_OPERATION,extraCode:5101,fnName:t})}function mB(e,t,r){if(!e)throw new oB({code:ZF.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:r}})}function fB(e,t,r){if(!(/^[1-9]\d*$/.test(String(e))&&e<4294967295))throw new oB({code:ZF.INVALID_PARAMETER,extraCode:5013,fnName:t,messageParams:{key:r}})}function _B(e,t,r){if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e))throw new oB({code:ZF.INVALID_PARAMETER,extraCode:5012,fnName:t,messageParams:{key:r}})}function gB(e){var t;if(null==(t=null==e?void 0:e.option)||!t.small)return;if(!BM())return Xk.warn("small stream is not supported"),void delete e.option.small;let r=sB(e.option.profile),i=sB(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:(Xk.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 EB={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 oB({code:ZF.INVALID_OPERATION,extraCode:5104,fnName:r});if(e.roomId){if(aD(e.roomId))throw new oB({code:ZF.INVALID_PARAMETER,extraCode:5016,fnName:r,messageParams:{key:t}});fB(e.roomId,r,t)}else{if(!e.strRoomId)throw new oB({code:ZF.INVALID_PARAMETER,extraCode:5015,fnName:r});_B(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:uB,mute:{type:["boolean","string"]},publish:{type:"boolean"},capture:{required:!1,type:"boolean"},option:cB},validate(e){var t,r;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&SM())throw new oB({code:ZF.ENV_NOT_SUPPORTED,extraCode:5201});null!=(r=null==e?void 0:e.option)&&r.small&&gB(e)}},updateLocalVideo:{name:"updateLocalVideoConfig",type:"object",required:!0,properties:{view:Ub(xb({},uB),{required:!1}),publish:{type:"boolean"},capture:{required:!1,type:"boolean"},mute:{type:["boolean","string"]},option:cB},validate(e){var t;null!=(t=null==e?void 0:e.option)&&t.small&&gB(e)}},startLocalAudio:{name:"LocalAudioConfig",type:"object",properties:{publish:{type:"boolean"},option:hB},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&SM())throw new oB({code:ZF.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:"updateLocalAudioConfig",type:"object",required:!0,properties:{publish:{type:"boolean"},mute:{type:"boolean"},option:hB}},startScreenShare:{name:"ScreenShareConfig",type:"object",properties:{view:uB,publish:{type:"boolean"},option:lB},validate(e,t,r,i,o){var n;if(null==(n=null==e?void 0:e.option)||!n.videoTrack){if(SM())throw new oB({code:ZF.ENV_NOT_SUPPORTED,extraCode:5201});if(!CM())throw new oB({code:ZF.ENV_NOT_SUPPORTED,fnName:r,extraCode:5205})}}},updateScreenShare:{name:"updateScreenShareConfig",type:"object",required:!0,properties:{view:uB,publish:{type:"boolean"},option:lB}},muteRemoteAudio:[dB,{name:"mute",required:!0,type:"boolean"}],setRemoteAudioVolume:[dB,{name:"volume",required:!0,type:"number",min:0}],startRemoteVideo:{name:"startRemoteVideoConfig",type:"object",required:!0,properties:{view:uB,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){pB(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(mB(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new oB({code:ZF.INVALID_OPERATION,extraCode:5103,fnName:r,messageParams:{value:e}})}},updateRemoteVideo:{name:"updateRemoteVideoConfig",type:"object",required:!0,properties:{view:Ub(xb({},uB),{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){pB(this._room.isJoined,r);let i=this._room.remotePublishedUserMap.get(e.userId);if(mB(!!i,r,e),i&&("main"===e.streamType&&!i.muteState.videoAvailable||"sub"===e.streamType&&!i.muteState.hasAuxiliary))throw new oB({code:ZF.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&&nD(e.streamType))throw new oB({code:ZF.INVALID_PARAMETER,extraCode:5014,fnName:r})}},switchRole:{name:"role",required:!0,values:["anchor","audience"],validate(e,t,r){pB(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(!rP)throw new oB({code:ZF.ENV_NOT_SUPPORTED,fnName:r,extraCode:5207});if(!this._room.enableSEI)throw new oB({code:ZF.INVALID_OPERATION,fnName:r,extraCode:5108});if(e.byteLength>1e3)throw new oB({code:ZF.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new oB({code:ZF.INVALID_PARAMETER,extraCode:5017,messageParams:{key:t},fnName:r});pB(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 oB({code:ZF.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 oB({code:ZF.INVALID_PARAMETER,extraCode:5018,fnName:r});if(0===e.byteLength)throw new oB({code:ZF.INVALID_PARAMETER,extraCode:5017,fnName:r,messageParams:{key:t}})}}},validate(e,t,r){if(pB(this._room.isJoined,r),"live"===this._room.scene&&"audience"===this._room.role)throw new oB({code:ZF.INVALID_OPERATION,extraCode:5107,fnName:r,messageParams:{key:t}})}},switchRoom:{name:"switchRoomConfig",type:"object",required:!0,validate(e,t,r){if(pB(this._room.isJoined,r),this._room.useStringRoomId&&e.strRoomId===this._room.roomId||!this._room.useStringRoomId&&e.roomId===Number(this._room.roomId))throw new oB({code:ZF.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 oB({code:ZF.INVALID_PARAMETER,extraCode:5019,fnName:r,messageParams:{key:this._room.useStringRoomId?"strRoomId":"roomId"}});if(e.roomId)fB(e.roomId,r,t);else{if(!e.strRoomId)throw new oB({code:ZF.INVALID_PARAMETER,extraCode:5015,fnName:r});_B(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}}}},vB={TRTC:EB},yB=class extends Error{};function TB(e,t){let r=wD(e);for(let i=0;i<t.length;i++)bD(r[i],t[i]);return r}function IB(e){this._resolve=Promise.resolve(e)}function AB(e){this._reject=Promise.reject(e)}var SB=class e{constructor(t,r){this.instance=t,this.group=r,Wb(this,"started",!1),Wb(this,"ops",[]),Wb(this,"startSame",(()=>!0)),Wb(this,"mergeUpdate",TB);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 yB("start failed")),null==(i=this.currentOp)||i.action(),t},n={type:e,action:()=>t(...n.args).then(i,o),args:r,resolve:IB,reject:AB};try{switch(this.state){case 1:if(0===e)throw new yB("already started");break;case 4:if(2===e)throw new yB("not started");break;default:return this.cacheOp(n)}}catch(aO){return Promise.reject(aO)}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 yB("already start");break;case 3:switch(e.type){case 2:throw new yB("update not allowed when stopping");case 3:return this.currentOp.promise}break;default:throw new yB("unknown state")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new yB("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 yB("update not allowed after stop")}break;case 0:switch(this.lastOpType){case 2:throw new yB("start not allowed after update");case 0:throw new yB("duplicate start");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new yB("keep start")),new yB("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}};Wb(SB,"instances",new WeakMap);var RB=SB,bB=new WeakMap,wB=(e,t)=>{if(t instanceof yB){let{stack:r}=t;t=new oB({code:ZF.OPERATION_ABORT,message:"".concat(e," abort: ").concat(t.message),fnName:e}),r&&(t.stack+=r.substr(r.indexOf("\n")))}throw t};function NB(e,t){return ex(((r,i)=>function(){for(var o=arguments.length,n=new Array(o),a=0;a<o;a++)n[a]=arguments[a];let s=RB.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(wB.bind(null,i))):r.apply(this,n)}))}function DB(e,t){let{merge:r,debounce:i}=t||{};return ex(((t,o)=>function(){for(var n=arguments.length,a=new Array(n),s=0;s<n;s++)a[s]=arguments[s];let c=RB.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 u=null==(s=bB.get(this))?void 0:s.get(r(...a));if(u){let{timeoutId:e,resolve:t}=u;clearTimeout(e),t()}let d=setTimeout((()=>{if(3===c.state||4===c.state)return i();c.action(2,t.bind(this),a).catch(wB.bind(null,o)).then(i,n)}),e);bB.has(this)?null==(l=bB.get(this))||l.set(r(...a),{timeoutId:d,resolve:i}):bB.set(this,new Map([[r(...a),{timeoutId:d,resolve:i}]]))}))}return c.action(2,t.bind(this),a).catch(wB.bind(null,o))}))}function CB(e){return ex(((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(RB.gets(this,a).map((e=>e.action(3,(()=>Promise.resolve()),o)))).then((()=>t.call(this,...o)));let s=RB.get(this,a);return s?s.action(3,t.bind(this),o).catch(wB.bind(null,r)):t.apply(this,o)}))}var kB={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"},OB=new Set([kB.ERROR,kB.AUTOPLAY_FAILED,kB.KICKED_OUT,kB.REMOTE_USER_ENTER,kB.REMOTE_USER_EXIT,kB.REMOTE_AUDIO_AVAILABLE,kB.REMOTE_AUDIO_UNAVAILABLE,kB.REMOTE_VIDEO_AVAILABLE,kB.REMOTE_VIDEO_UNAVAILABLE,kB.CONNECTION_STATE_CHANGED,kB.PUBLISH_STATE_CHANGED,kB.SCREEN_SHARE_STOPPED,kB.DEVICE_CHANGED,kB.FIRST_VIDEO_FRAME]),MB={};Fb(MB,{bytes2ms:()=>YN,calculateScaleResolutionDownNumber:()=>WD,convertObjectNumberToInt:()=>UD,copyProperties:()=>qN,deepClone:()=>wD,deepMerge:()=>bD,delay:()=>VD,fibonacci:()=>tD,formatedTime:()=>CD,getConstructorName:()=>fD,getContainerFromElement:()=>DD,getEnv:()=>FN,getInternalVersion:()=>yD,getLoggerUrl:()=>HN,getMediaStreamTrackInfo:()=>HD,getMuteStateFromFlag:()=>AD,getNetworkType:()=>jN,getNumNetworkType:()=>zN,getReconnectionTimeout:()=>rD,getStringByteLength:()=>MD,getTurnServer:()=>SD,getUint32Version:()=>xD,getValueType:()=>iD,getViewListFromView:()=>ND,glog:()=>QN,ipv4ToUint32:()=>RD,isArray:()=>uD,isAudioWorkletSupported:()=>_D,isBoolean:()=>cD,isConstructor:()=>mD,isEmpty:()=>ID,isFunction:()=>oD,isLangChinese:()=>ZN,isMediaStreamTrack:()=>dD,isNumber:()=>sD,isObject:()=>lD,isOverseaSdkAppId:()=>BN,isPlainObject:()=>eD,isPortrait:()=>PD,isPromise:()=>pD,isRemoteTrack:()=>hD,isRotate90Or270:()=>jD,isString:()=>aD,isUndefined:()=>nD,loadImage:()=>LD,ms2bytes:()=>XN,ms2samples:()=>$N,normalizeUrl:()=>BD,performanceNow:()=>ED,promiseAny:()=>gD,samples2ms:()=>JN,setNetworkType:()=>KN,stringify:()=>kD,stringifyIncludeValue:()=>OD,throttlePromise:()=>FD});var PB={};Fb(PB,{ScheduleRequestType:()=>HB,getAbilityConfig:()=>jB,getScheduleDomain:()=>GB,isNeedToSchedule:()=>xB,scheduleProxy:()=>FB,sendScheduleRequest:()=>VB,setIsNeedToSchedule:()=>UB,setScheduleProxy:()=>BB});var LB=null,xB=!0;function UB(e){cD(e)&&e!==xB&&(xB=e,Xk.info("setIsNeedToSchedule ".concat(e)))}function VB(e){return Gb(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*(){if(!xB&&LB)return{isCached:!0,result:LB};let e={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 d=yield xk();null!=d&&d.model&&u.append("model",String(null==d?void 0:d.model)),c&&u.append("role",String(c)),l&&u.append("latencyLevel",String(l)),s&&u.append("frameWorkType",String(s));let h=ED(),p=yield function(e,t,r){return new Promise(((i,o)=>{let n=null;gD([zB((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]=WB(r,"config",Uw.MAIN,!0)),o())}))(WB(r,"config",Uw.MAIN),e,{get timeout(){return 1e3*tD(2+t.count[0])}}),zB((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]=WB(r,"config",Uw.BACKUP,!0)),o())}))(WB(r,"config",Uw.BACKUP),e,{get timeout(){return 1e3*tD(2+t.count[1])}})]).then((e=>{n=e,i(n)})).catch(o)}))}(u,e,r);p.config&&(p.config.loggerDomain&&mw(p.config.loggerDomain),cD(p.config.scheduleCache)&&UB(!p.config.scheduleCache)),e.delta=ED()-h;let m=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=WB(e,"config",Uw.MAIN),a=WB(e,"config",Uw.BACKUP);for(let e of o)if(e.startTime>=r&&(e.name===n||e.name===a)&&e.transferSize>0){let r=e.name===n?Uw.MAIN:Uw.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),u=Math.round(e.requestStart-e.secureConnectionStart),d=Math.round(e.secureConnectionStart-e.connectStart),h=Math.round(e.responseStart-e.requestStart),p=Math.round(e.responseEnd-e.responseStart),m=[l,u,d,h,p];LP.uploadEvent({log:"stat-schedule-net:".concat(o,"(").concat(a,"(").concat(s,"->").concat(c,")->").concat(m.join("->"),") ").concat(r),userId:t}),i=Ub(xb({},i),{totalCost:o,local:a,dns:l,tcp:d,tls:u,request:h,response:p});break}}catch(n){Xk.error("getScheduleDetailCost error",n)}return i}(Number(r),t,h);return LB=p,{isCached:!1,result:p,detailCost:m}}catch(u){let e=uD(u)?u[0]:u,t=sD(e.code)?e.code:0,r="schedule failed".concat(e.message?": ".concat(e.message):""),i=new Zb({code:$b.SCHEDULE_FAILED,extraCode:t,message:aM({key:rM.JOIN_ROOM_FAILED,data:{error:r,code:t}})});throw Xk.error(r,t),i}}()}))}"undefined"!=typeof document&&document.head.insertAdjacentHTML("beforeend",Object.values(bN).map((e=>'<link rel="dns-prefetch" href="https://'.concat(e,'">'))).join("\r\n")),zk.on("28",(()=>UB(!0))),zk.on("63",(()=>UB(!0))),zk.on("84",(()=>UB(!0))),zk.on("201",(e=>{"RECONNECTING"===e.state&&UB(!0)})),zk.on("202",(e=>{"RECONNECTING"===e.state&&UB(!0)}));var FB={main:"",backup:""};function BB(e){uD(e)?(FB.main=e[0],FB.backup=e[1]):FB.main=e}var HB=(e=>(e.CONFIG="config",e.TRTC_AUTO_CONF="trtcAutoConf",e.AUDIO_AI_AUTH="audioAiAuth",e))(HB||{});function WB(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Uw.MAIN,i=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return"https://".concat(FB[r]||GB(e,r,i),"/api/v1/").concat(t)}function jB(e,t,r){let i=WB(e,t),o=WB(e,t,Uw.BACKUP),n=new URLSearchParams(r).toString();return gD([fetch("".concat(i,"?").concat(n)).then((e=>e.json())),fetch("".concat(o,"?").concat(n)).then((e=>e.json()))])}function GB(e){let t,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Uw.MAIN,i=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t=BN(e)?i?r===Uw.MAIN?bN.MAIN_OVERSEA_BACKUP:bN.BACKUP_OVERSEA:r===Uw.MAIN?bN.MAIN_OVERSEA:bN.BACKUP_OVERSEA:r===Uw.MAIN?bN.MAIN:bN.BACKUP,t}function KB(e,t,r){return new Promise(((i,o)=>{GD({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 zB=(e,t)=>XD({retryFunction:KB,settings:{retries:3,timeout:0},onError:t,onRetrying:e});var qB=class{constructor(){Wb(this,"_log"),this._log=Xk.createLogger({id:"fd"})}download(e,t){return Gb(this,null,(function*(){let{type:r="blob"}=t||{};e=BD(e);try{let t,i=ED();if(t=oD(fetch)?yield this.downloadWithFetch(e,r):yield this.downloadWithXHR(e,r),!t||!t.data)throw new Error("data is empty");let o=ED()-i;return this._log.info("downloaded: ".concat(e,", return type: ").concat(r,", cost: ").concat(o,"ms")),_M.addSuccessEvent({key:522700,cost:ED()-i}),t.data}catch(nO){throw this._log.error("failed to download: ".concat(e,", error: ").concat(nO)),_M.addFailedEvent({key:522700,error:nO}),nO}}))}downloadWithFetch(e,t){return Gb(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(dN){throw dN}}))}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 Gb(this,null,(function*(){this._log.info("loadWasm ".concat(e,", importObject: ").concat(JSON.stringify(t)));let r=ED(),i=null,o=null;if(oD(WebAssembly.instantiateStreaming)&&!(e=>e.startsWith("data:application/octet-stream;base64,"))(e)&&!(e=>e.startsWith("file://"))(e)&&oD(fetch))try{let r=fetch(e);i=(yield WebAssembly.instantiateStreaming(r,t)).instance}catch(lw){o=lw}if(!i)try{let r=yield this.download(e,{type:"arraybuffer"});i=(yield WebAssembly.instantiate(r,t)).instance}catch(lw){o=lw}if(i){let t=ED()-r;return this._log.info("loadedWasm ".concat(e,", cost: ").concat(t,"ms")),_M.addSuccessEvent({key:522701,cost:t}),i}throw this._log.error("failed to loadWasm ".concat(e,", error: ").concat(o)),_M.addFailedEvent({key:522701,error:o}),o}))}loadScript(e){this._log.info("loadScript ".concat(e));let t=ED();return new Promise(((r,i)=>{let o=document.createElement("script");o.type="text/javascript",o.onload=()=>{this._log.info("loadedScript ".concat(e,", cost: ").concat(ED()-t,"ms")),_M.addSuccessEvent({key:522702,cost:ED()-t,split:1e3}),r(o)},o.onerror=t=>{this._log.error("failed to loadScript ".concat(e,", error: ").concat(t)),_M.addFailedEvent({key:522702}),i(t)},o.crossOrigin="anonymous",o.src=e,document.head.append?document.head.append(o):document.getElementsByTagName("head")[0].appendChild(o)}))}};Hb([UP({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))}})],qB.prototype,"download",1),Hb([UP({settings:{timeout:3e3,retries:3},onRetrying(e){this._log.warn("loadScript retrying: ".concat(e))}})],qB.prototype,"loadScript",1);var YB=new qB;function JB(e){let{TRTC:t,room:r,errorModule:i,assetsPath:o}=e;return{TRTC:t,room:r,assetsPath:o,fileDownloader:YB,innerEmitter:zk,constants:ow,environment:QD,utils:MB,eventLogger:LP,log:this.room.getLogger(),loggerManager:Xk,errorModule:i,kvStatManager:_M,rtcDectection:Zk,trtc:this,rx:Sx,enums:eO,schedule:PB,clearStarted:(e,t)=>{let r=e.getAlias(),i=RB.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:Ix,createAudioNode:IL}}var XB=new WeakMap;function $B(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return ex(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{ZB.call(this,t,o,r,this._name)}catch(nO){return Promise.reject(nO)}return e.apply(this,o)}))}function QB(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return ex(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];try{ZB.call(this,t,o,r,this._name)}catch(nO){throw nO}return e.apply(this,o)}))}function ZB(e,t,r,i){if(uD(e))for(let o=0;o<e.length;o++)eH.call(this,{rule:e[o],value:t[o],key:e[o].name,fnName:r,className:i});else eH.call(this,{rule:e,value:t[0],key:e.name,fnName:r,className:i})}function eH(e){let{rule:t,value:r,key:i,fnName:o,className:n}=e;function a(e){return{code:ZF.INVALID_PARAMETER,extraCode:e,fnName:o,messageParams:{key:i,rule:t,value:r}}}if(nD(r)){if(t.required)throw new oB(a(5001));if(nD(t.defaultValue))return void(oD(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),oD(t.type[i])&&r instanceof t.type[i]&&(e=!0),aD(t.type[i])&&iD(r)===t.type[i].toLowerCase()&&(e=!0);if(!e)throw new oB({code:ZF.INVALID_PARAMETER,extraCode:5002,fnName:o,messageParams:{key:i,rule:{type:t.type.map((e=>mD(e)?fD(e):aD(e)?e:iD(e)))},value:r}})}else if(!nD(t.type)&&iD(r)!==t.type)throw new oB(a(5002));if(!1===t.allowEmpty){let e=sD(r)&&(0===r||Number.isNaN(r)),t=aD(r)&&""===r.trim();if(e||t)throw new oB(a(5003))}if(t.notLessThanZero&&sD(r)&&r<0)throw new oB(a(5006));if(!nD(t.min)&&sD(r)&&r<t.min)throw new oB(a(5007));if(!nD(t.max)&&sD(r)&&r>t.max)throw new oB(a(5008));if(aD(t.instanceOf)){if(!r||r._name!==t.instanceOf)throw new oB(a(5004))}else if(oD(t.instanceOf)&&!(r instanceof t.instanceOf))throw new oB(a(5004));if(Array.isArray(t.values)&&!t.values.includes(r))throw new oB(a(5005));let{properties:s}=t;eD(s)&&lD(r)&&Object.keys(s).forEach((e=>{eH.call(this,{rule:s[e],value:r&&r[e],key:"".concat(e),fnName:o,className:n})}));let{arrayItem:c}=t;eD(c)&&uD(r)&&r.forEach(((e,t)=>{eH.call(this,{rule:c,value:e,key:"".concat(i,"[").concat(t,"]"),fnName:o,className:n})})),oD(t.validate)&&t.validate.call(this,r,i,o,n,this)}function tH(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{getRemoteId:t=()=>"",replaceArg:r,getKVReportKey:i,ignoreLog:o,ignoreErrorLog:n}=e;return ex(((e,a)=>function(){for(var s=arguments.length,c=new Array(s),l=0;l<s;l++)c[l]=arguments[l];var u,d,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(iD(t)):t instanceof MediaStreamTrack?HD(t):(JSON.stringify(t),t)}catch(o){return"type:".concat(iD(t))}}let m=this._log||Xk;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):uM[a],_=(null==n?void 0:n(...c))||!1;try{let r=e.apply(this,c),i=ED();if(pD(r)){let e="".concat(a.includes("Plugin")?"".concat((null==(d=(u=c[0]).getName)?void 0:d.call(u))||""," "):" ");return r.then((r=>(m.info("".concat(a,"() success ").concat(e).concat(t.call(this,...c))),_M.addSuccessEvent({key:f,cost:ED()-i}),r))).catch((r=>{var i;let o=(r=oB.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))),_M.addFailedEvent({key:f,error:r}),r}))}return _M.addSuccessEvent({key:f}),r}catch(lO){let t=(lO=oB.convertFrom.call(this,lO,a)).extraCode||lO.code,r=null!=(h=lO.message)&&h.includes(t)?"":" code:".concat(t);throw _||m.error("".concat(a,"() failed ").concat(lO).concat(r," params: ").concat(JSON.stringify(c,p))),_M.addFailedEvent({key:f,error:lO}),lO}}))}var rH,iH=e=>ex(((t,r)=>function(i,o){return Gb(this,null,(function*(){let n=this._plugins.get(i);if(!n)throw this._log.error("plugin ".concat(String(i)," is not found")),new oB({code:ZF.OPERATION_ABORT,message:"plugin ".concat(String(i)," is not found"),fnName:r});if(oD(n.constructor.isSupported)&&!n.constructor.isSupported())throw this._log.error("plugin ".concat(String(i)," is not supported")),new oB({code:ZF.ENV_NOT_SUPPORTED,message:"plugin ".concat(String(i)," is not supported"),extraCode:5210,fnName:r});return ZB.call(this,n.getValidateRule(e),[o],r,"TRTC"),t.call(this,n,o)}))})),oH=0,nH=class e{constructor(e){this.core=e,Wb(this,"log"),Wb(this,"customAudioReferenceMap",new Map),Wb(this,"audioRefId",0),Wb(this,"audioContext",fL()),Wb(this,"localAudioWorkletNode"),Wb(this,"screenAudioWorkletNode"),Wb(this,"mixNode"),Wb(this,"silentNode"),oH+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(oH)}),this.log.info("created id=".concat(this.getAlias()).concat(oH))}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 oB({code:ZF.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return rH||(rH=this.doPreload(e)),rH}doPreload(e){return Gb(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield cL(this.audioContext,r)}catch(nO){this.log.error("preload audioProcessor failed. ".concat(nO))}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 Gb(this,null,(function*(){let{room:t}=this.core,{sdkAppId:r,userId:i,assetsPath:o=this.core.assetsPath,audioReference:n,processLevel:a,enableDump:s,isLocalAudioNeedAudioProcess:c=!0,isScreenAudioNeedAudioProcess:l=!0}=e;if(this.core.room.audioManager.isLocalAudioNeedAudioProcess=c,this.core.room.audioManager.isScreenAudioNeedAudioProcess=l,!o)throw new oB({code:ZF.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(yield this.preload("".concat(o,"/audioProcessor-wasm.js")),!this.localAudioWorkletNode||!this.screenAudioWorkletNode){let o=String(Date.now()).slice(0,-3),{auth:n,sign:a,status:s,message:c}=yield function(e){return Gb(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]:Uw.MAIN;return"https://".concat(FB[t]||GB(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 u=BN(t)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",d="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(u);break;case 3:h="Server is invalid. Please contact our engineer. ";break;case 4:h="Your packages is not active. Refer to: ".concat(u);break;case 5:h="Your packages is expired. Refer to: ".concat(u);break;case 6:h="Your version is not supported."}return{auth:!1,status:l,message:s?"".concat(d," Reason: ").concat(s,". ").concat(h):"".concat(d,", ").concat(h)}}()}))}(Ub(xb({},e),{timestamp:o}));if(!n)throw this.log.info("audioProcessor: ".concat(i," auth result: ").concat(n,". Message: ").concat(c)),new oB({code:ZF.INVALID_PARAMETER,message:c});this.localAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.localAudioWorkletNode,"localAudio",r,i,o,a,s,t),this.screenAudioWorkletNode=new AudioWorkletNode(this.audioContext,"trtc-audio-processor",{numberOfInputs:2,numberOfOutputs:1}),this.initWorkletNode(this.screenAudioWorkletNode,"screenAudio",r,i,o,a,s,t)}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()),this.localAudioWorkletNode.port.postMessage({type:"enable"}),this.screenAudioWorkletNode.port.postMessage({type:"enable"}),t.audioManager.addAudioProcessor(this.localAudioWorkletNode,this.mixNode,this.silentNode,this.screenAudioWorkletNode),nD(n)||n.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})})),nD(a)||this.localAudioWorkletNode.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:a}}),nD(s)||this.localAudioWorkletNode.port.postMessage({type:"dump",data:{enable:s}})}))}update(e){return Gb(this,null,(function*(){if(!this.localAudioWorkletNode||!this.screenAudioWorkletNode)return;let{audioReference:t,enableDump:r,processLevel:i}=e;nD(t)||(this.customAudioReferenceMap.forEach(((e,t)=>{this.customAudioReferenceMap.delete(t),this.core.room.audioManager.updateAudioReference({type:"remove",refId:e})})),t.forEach((e=>{this.customAudioReferenceMap.set(e,"o-".concat(this.audioRefId++)),this.core.room.audioManager.updateAudioReference({type:"add",audioReference:e,refId:"o-".concat(this.audioRefId++)})}))),nD(i)||this.localAudioWorkletNode.port.postMessage({type:"setConfig",data:{aecEnable:1,aecNlpLevel:i}}),nD(r)||(this.localAudioWorkletNode.port.postMessage({type:"dump",data:{enable:r}}),this.screenAudioWorkletNode.port.postMessage({type:"dump",data:{enable:r}}))}))}stop(){return Gb(this,null,(function*(){if(!(this.localAudioWorkletNode&&this.mixNode&&this.silentNode&&this.screenAudioWorkletNode))return;let{room:e}=this.core;this.localAudioWorkletNode.port.postMessage({type:"disable"}),this.screenAudioWorkletNode.port.postMessage({type:"disable"}),yield e.audioManager.removeAudioProcessor(this.localAudioWorkletNode,this.mixNode,this.silentNode,this.screenAudioWorkletNode)}))}destroy(){this.localAudioWorkletNode&&(this.localAudioWorkletNode.port.onmessage=null),this.screenAudioWorkletNode&&(this.screenAudioWorkletNode.port.onmessage=null)}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(t,"] avg cost: ").concat(i.value," max: ").concat(null==i?void 0:i.max,"(").concat(rw(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(t,"] ").concat(i.value));case"dump":return void zk.emit("265",{room:s,data:i.value,type:"localAudio"===t?"dump":"dump-screen-audio"})}}}};Wb(nH,"updateValidateRule",{type:"object"}),Wb(nH,"stopValidateRule",{type:"object"}),Wb(nH,"Name","AudioProcessor");var aH=nH;var sH=0,cH=class{constructor(e,t){Wb(this,"player"),Wb(this,"publisher"),Wb(this,"mixInput"),this.mixInput=new vL(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&&(nD(e.volume)||(this.volume=e.volume),nD(e.loop)||(this.loop=e.loop),nD(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)}}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 null==(e=this.publisher)||e.play(),null==(t=this.player)?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 lH(e,t){if(t&&"function"!=typeof t)throw new oB({code:ZF.INVALID_PARAMETER,message:"start audioMixer plugin: param ".concat(e," should be a function.")})}var uH=class e{constructor(e){this.core=e,Wb(this,"log"),Wb(this,"mixedMusicMap",new Map),Wb(this,"cacheMusicMap",new Map),sH+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(sH)}),this.log.info("created id=".concat(this.getAlias()).concat(sH))}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 Gb(this,null,(function*(){let{room:t}=this.core;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 cH(e,t.audioManager),this.cacheMusicMap.set(r,o)),o.updateListener(e),o.updateSettings(e),yield o.play(),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.")),_M.addEnum({key:502700,value:3}),this.kvUpload(e)}))}update(e){return Gb(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),nD(r)||n.setOperation(r),nD(i)||n.seek(i),this.kvUpload(e)):this.log.warn("update music source failed, music id: ".concat(t," not found."))}))}stop(e){return Gb(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&&_M.addCount({key:502711}),r&&_M.addCount({key:502703}),i&&_M.addCount({key:502704}),o&&_M.addCount({key:502705}),n&&_M.addCount({key:502706}),a&&_M.addCount({key:502707}),"function"!=typeof s&&_M.addCount({key:502709}),"function"!=typeof l&&_M.addCount({key:502710}),"function"!=typeof c&&_M.addCount({key:502708})}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()}};Wb(uH,"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 oB({code:ZF.INVALID_PARAMETER,message:"start audioMixer plugin: music url is invalid, please check your file format.",fnName:r})}if(!e.url&&!e.track)throw new oB({code:ZF.INVALID_PARAMETER,message:"start audioMixer plugin: param url or track is required.",fnName:r});lH("onTimeUpdate",e.onTimeUpdate),lH("onEnded",e.onEnded),lH("onDurationChange",e.onDurationChange)}}),Wb(uH,"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){lH("onTimeUpdate",e.onTimeUpdate),lH("onEnded",e.onEnded),lH("onDurationChange",e.onDurationChange)}}),Wb(uH,"stopValidateRule",{name:"options",type:"object",required:!0,properties:{id:{type:"string",required:!0}}}),Wb(uH,"Name","AudioMixer");var dH,hH=uH,pH=0,mH=class e{constructor(e){this.core=e,Wb(this,"log"),Wb(this,"audioContext",fL()),Wb(this,"workletNode"),pH+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(pH)}),this.log.info("created id=".concat(this.getAlias()).concat(pH))}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}},validate(t,r,i,o){if(!e.room.audioManager.hasAudioTrack)throw new oB({code:ZF.INVALID_OPERATION,extraCode:5106,fnName:i})}}}preload(e){return dH||(dH=this.doPreload(e)),dH}doPreload(e){return Gb(this,null,(function*(){let t=yield this.core.fileDownloader.download(e,{type:"blob"}),r=URL.createObjectURL(t);try{yield cL(this.audioContext,r)}catch(nO){throw this.log.error("load worklet failed",nO),nO}finally{URL.revokeObjectURL(r)}}))}getName(){return e.Name}getAlias(){return"ad"}getGroup(){return"AIDenoiser_".concat(Date.now())}getValidateRule(t){switch(t){case"start":return e.startValidateRule(this.core);case"update":return e.updateValidateRule;case"stop":return e.stopValidateRule}}start(e){return Gb(this,null,(function*(){let{room:t,schedule:r}=this.core,{assetsPath:i=this.core.assetsPath}=e;if(!i)throw new oB({code:ZF.INVALID_PARAMETER,message:"you need to deploy the assets of the npm package and set assetsPath param in TRTC.create()"});if(yield this.preload("".concat(i,"/denoiser-wasm.js")),!this.workletNode){let t=String(Date.now()).slice(0,-3),{auth:i,sign:o,status:n,message:a}=yield function(e,t){return Gb(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=BN(r)?"https://trtc.io/document/42734?platform=web&product=rtcengine&menulabel=coresdk":"https://cloud.tencent.com/document/product/647/44247",u="Init RTCAIDenoiser failed.",d="";switch(t){case 1:d="Please check your params.";break;case 2:d="You need to buy packages. Refer to: ".concat(l);break;case 3:d="Server is invalid. Please contact our engineer. ";break;case 4:d="Your packages is not active. Refer to: ".concat(l);break;case 5:d="Your packages is expired. Refer to: ".concat(l);break;case 6:d="Your version is not supported."}return{auth:!1,status:c,message:o?"".concat(u," Reason: ").concat(o,". ").concat(d):"".concat(u,", ").concat(d)}}catch(o){return{auth:!1,status:"0",message:"Init RTCAIDenoiser failed. All requests failed. ".concat(o)}}}()}))}(r,Ub(xb({},e),{timestamp:t}));if(!i)throw this.log.info("RTCAIDenoiser: ".concat(e.userId," auth result: ").concat(i,". Message: ").concat(a)),new oB({code:ZF.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(rw(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.workletNode.port.postMessage({type:"enable"}),t.audioManager.addDenoiser(this.workletNode),t.sendAbilityStatus({ai_denoise:1})}))}update(){return Gb(this,null,(function*(){}))}stop(){return Gb(this,null,(function*(){if(!this.workletNode)return;let{room:e}=this.core;this.workletNode.port.postMessage({type:"disable"}),yield e.audioManager.removeDenoiser(this.workletNode)}))}destroy(){this.workletNode&&(this.workletNode.port.onmessage=null)}};Wb(mH,"updateValidateRule",{type:"object"}),Wb(mH,"stopValidateRule",{type:"object"}),Wb(mH,"Name","AIDenoiser");var fH=mH;var _H=Bb(Kb(),1),gH=class extends _H.EventEmitter{constructor(){super(),Wb(this,"observer"),Wb(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 Gb(this,null,(function*(){if(!this.observer)try{"PressureObserver"in window&&!uC&&(this.observer=new PressureObserver(this.onPressureChange),yield this.observer.observe("cpu",{sampleInterval:2e3}))}catch(cw){LP.uploadEvent({log:"stat-pressure-detector-start-failed",error:cw})}}))}onPressureChange(e){let t=this.stateNum,r=e[e.length-1];this.state=r.state,(this.stateNum>3||t>3)&&Xk.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(dN){LP.uploadEvent({log:"stat-pressure-detector-destroy-failed",error:dN})}}},EH=new gH;function vH(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 px(new DataView(new Uint8Array(a).buffer),!0)}function yH(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(vH),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 u=0;u<o.length;u++)for(let e=0;e<o[u].dataView.byteLength;e++)s.setInt8(l++,o[u].dataView.getInt8(e));for(let u=0;u<t.data.byteLength;u++)s.setInt8(l++,c.getInt8(u));return t.data=a,t}function TH(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 px(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(cw){}return t}var IH=0,AH=class e{constructor(e){this.core=e,Wb(this,"log"),Wb(this,"_seiMessageList",[]),Wb(this,"_smallSeiMessageList",[]),Wb(this,"_subStreamSeiMessageList",[]),IH++,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(IH)}),this.log.info("[sei] created id=".concat(this.getAlias()).concat(IH)),this.encode=this.encode.bind(this),this.decode=this.decode.bind(this)}encode(e){let{frame:t,mediaType:r}=e;try{return yH({frame:t,seiMessageList:8===r?this._smallSeiMessageList:2===r?this._subStreamSeiMessageList:this._seiMessageList})}catch(dN){this.log.warn(dN)}return t}decode(e){let{frame:t,track:r}=e;return TH({frame:t,onSEI:e=>{e.forEach((e=>{this.core.trtc.emit(kB.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:eP?this.encode:yH,type:2}),this.core.room.videoManager.addDecodeProcessor({processor:eP?this.decode:TH,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"}};Wb(AH,"autoStart",!0),Wb(AH,"Name","SEI");var SH=AH;function RH(e){let{frame:t,onDump:r}=e;return null==r||r(),t}function bH(e){let{frame:t,onDump:r}=e;return null==r||r(),t}var wH={"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=>{wH["".concat(e,"()")]={tips:"Call trtc.".concat(e),color:"blue",class:"blue",textColor:"#fff"}}));var NH,DH=0,CH=class e{constructor(e){this.core=e,Wb(this,"_core"),Wb(this,"log"),Wb(this,"dumpLocalVideoMap",{}),Wb(this,"dumpRemoteVideoMap",{}),Wb(this,"dialog"),this._core=e,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(++DH)}),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 Gb(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 Gb(this,arguments,(function(e){var t=this;let{forceOpen:r}=e;return function*(){nD(r)&&(r?(yield t.openDebugDiaLog(),t.addVideoProcessor()):(t.closeDebugDiaLog(),t.removeVideoProcessor()))}()}))}stop(){this.closeDebugDiaLog(),this.removeVideoProcessor()}destroy(){this.stop()}openDebugDiaLog(){return Gb(this,null,(function*(){var e;if(!this.dialog)try{if(NH)yield NH;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");NH=this._core.fileDownloader.loadScript(t),yield NH}this.dialog=new TRTCDebugDialog(this._core,this.log,this.dumpLocalVideoMap,this.dumpRemoteVideoMap),this._core.kvStatManager.addSuccessEvent({key:592705})}catch(cw){this._core.kvStatManager.addFailedEvent({key:592705}),this.log.error("load debug dialog script failed: ",JSON.stringify(cw))}}))}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):RH,type:1}),this._core.room.videoManager.addDecodeProcessor({processor:this._core.rtcDectection.IS_INSERTABLE_STREAM_SUPPORTED?this.decodeVideo.bind(this):bH,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 RH({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 bH({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())}})}};Wb(CH,"Name","Debug"),Wb(CH,"autoStart",!0);var kH=CH,OH=e=>{switch(e){case"webCodecs":return 504703;case"wasm":return 504704}throw new Error("decoder type not supported")},MH=class{constructor(e,t,r){Wb(this,"trackDoneOB"),Wb(this,"startOB"),Wb(this,"stopOB"),Wb(this,"inputFrameCount",0),Wb(this,"decodedFrameCount",0),Wb(this,"type","auto"),Wb(this,"config"),Wb(this,"decoder"),Wb(this,"_decodeSink");let{kvStatManager:i,trtc:o}=e;this.config=r.config,this.trackDoneOB=hU(t,AP.INIT),this.stopOB=rU(),this.startOB=rU(),"auto"===r.type?this.type="webCodecs":this.type=r.type;let n=rU();Lx(this.startOB,$x(0),dV((e=>{let r=this.pipe(t);return n.next("STARTING"),t.log.info("decoder type: ".concat(this.type)),Lx(r,PU(this.stopOB),MV((()=>{}),(r=>{t.log.error(r),i.addFailedEvent({key:OH(this.type),error:r}),e>4?this.startOB.error(r):this.startOB.next(e+1)}))),Lx(r,MU(1),CV(SU))})),PU(this.stopOB),MV((()=>{t.player.setOutput(),n.next("STARTED")}),(e=>{n.next("FAILED")}),(()=>{i.addSuccessEvent({key:OH(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 jx()((t=>Gb(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(nO){e.log.error(nO),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"}))}},PH={type:"object"},LH=class e{constructor(e){this.core=e,Wb(this,"log"),Wb(this,"contextMap",new Map),Wb(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 PH}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 MH(this.core,i,e);return Lx(o.trackDoneOB,MU(1),MV((()=>{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 MH(this.core,e.track,e))}}};Wb(LH,"Name","TRTCAudioDecoder");var xH=LH,UH=class{constructor(){Wb(this,"log"),this.log=Xk.createLogger({id:"exp"})}call(e,t){return Gb(this,null,(function*(){return oD(this[e])?this[e](t):Promise.reject(new Zb({code:$b.INVALID_PARAMETER,message:aM({key:rM.API_NOT_EXIST,data:{name:e}})}))}))}enableAudioFrameEvent(e){return Gb(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(kB.AUDIO_FRAME,e)}),e.userId);c.set(e.userId,r)}}));else{if(c.get(i))return;let e=s.getPCM((e=>{t.emit(kB.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)}}))}};Hb([function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return ex(((e,r)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];return lF.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"}}})],UH.prototype,"enableAudioFrameEvent",1);var VH=new UH,FH=0,BH=new Set,HH=null;sw("5.11.0-wasm.2"),Qk.checkStorage();var WH={RtcError:oB,ErrorCode:ZF,ErrorCodeDictionary:eB},jH=class e extends YF.EventEmitter{constructor(t,r){super(),Wb(this,"_room"),Wb(this,"_eventListened",new Set),Wb(this,"_localVideoTrack",null),Wb(this,"_localAudioTrack",null),Wb(this,"_localScreenTrack",null),Wb(this,"_localScreenAudioTrack",null),Wb(this,"_localVideoConfig",null),Wb(this,"_localScreenConfig",null),Wb(this,"_localAudioConfig",null),Wb(this,"_remoteVideoConfigMap",new Map),Wb(this,"_remoteAudioConfigMap",new Map),Wb(this,"_remoteAudioVolumeMap",new Map),Wb(this,"_remoteAudioMuteMap",new Map),Wb(this,"_mediaTrackMap",new WeakMap),Wb(this,"_log",Xk.createLogger({id:"t".concat(++FH)})),Wb(this,"_plugins",new Map),Wb(this,"_networkQuality",null),Wb(this,"_speakerId"),Wb(this,"enterRoomParams"),this._room=new t(xb({logger:this._log,frameWorkType:e.frameWorkType},r)),this._room.videoDecodeFallbackType=r.videoDecodeFallback,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(hH,r.assetsPath),this._use(aH,r.assetsPath),this._use(fH,r.assetsPath),this._use(xH,r.assetsPath||yw),this._use(kH),r.enableSEI&&rP&&this._use(SH),this._room.on("audio-volume",(e=>{!e.find((e=>""===e.userId))&&this._localAudioTrack&&e.push({userId:"",volume:Math.floor(100*this._localAudioTrack.getAudioLevel())}),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)})),this.emit(kB.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on("error",(e=>{this._log.error(new oB({code:ZF.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(nO){let r=aM({key:rM.CATCH_HANDLER_ERROR,data:{name:t,event:o[0]},addDocLink:!1});return Xk.warn("".concat(r,"\n\n").concat(nO.stack)),!1}}})(this,"trtc")}static create(e){}static _create(t,r){!function(){var e;if($F){$F=!1,5!==Xk.getLogLevel()&&(console.info("******************************************************************************"),console.info("* TRTC Web SDK"),console.info("* API Document: ".concat(vw,"/en/index.html")),console.info("* Changelog: ".concat(vw,"/en/tutorial-01-info-changelog.html")),console.info("* Report issues: https://github.com/LiteAVSDK/TRTC_Web/issues"),console.info("******************************************************************************")),Xk.info("TRTC Web SDK Version:",aw),Dk||Xk.debug("Build Time:","2025-06-12 17:36:52");let t="UA: ".concat(navigator.userAgent," \nCPU core: ").concat(navigator.hardwareConcurrency,", GPU: ").concat(Uk()),r=navigator.deviceMemory;r&&(t+=", minRAM: ".concat(r,"GB")),Xk.info(t),Xk.info("URL: ".concat(location.href).concat("IFRAME"===(null==(e=self.frameElement)?void 0:e.tagName)?" in iframe":"")),xk().then((e=>{e&&Xk.info(Lk)}))}}();let i=new e(t,r||{});return BH.add(i),i}get room(){return this._room}_listenEvents(){MP(this,this._room).add("peer-join",(e=>{let{userId:t}=e;this.emit(kB.REMOTE_USER_ENTER,{userId:t})})).add("peer-leave",(e=>{this.emit(kB.REMOTE_USER_EXIT,{userId:e}),this._remoteAudioVolumeMap.delete(e)})).add("banned",(e=>{this._exitRoom().finally((()=>{this.emit(kB.KICKED_OUT,{reason:e.reason})}))})).add("error",(e=>{this._exitRoom().finally((()=>{this.emit(kB.ERROR,oB.convertFrom(e))}))})).add("signal-connection-state-changed",(e=>{this.emit(kB.CONNECTION_STATE_CHANGED,e)})).add("network-quality",(e=>{this._networkQuality=e;let t=Ub(xb({},e),{uplinkRTT:Math.min(e.uplinkRTT,VN),downlinkRTT:Math.min(e.downlinkRTT,VN)});this.emit(kB.NETWORK_QUALITY,t)})).add("remote-published",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{MP(t,t).add("player-state-changed",(r=>{let i=Ub(xb({},r),{userId:e.userId});t.kind===Uw.VIDEO&&(i.streamType=nB(t.streamType)),this.emit(t.kind===Uw.AUDIO?kB.AUDIO_PLAY_STATE_CHANGED:kB.VIDEO_PLAY_STATE_CHANGED,i)})).add("error",(e=>{e.getCode()===$b.PLAY_NOT_ALLOWED&&this.emit(kB.AUTOPLAY_FAILED,{userId:t.userId,mediaType:t.strMediaType,resume:()=>t.player.resume()})}))}))})).add("remote-unpublished",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{PP(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?kB.REMOTE_VIDEO_AVAILABLE:kB.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"main"})),o!==a&&(a?this._onAudioAvailable({userId:i}):this._onAudioUnavailable({userId:i,muteState:r}),this.emit(a?kB.REMOTE_AUDIO_AVAILABLE:kB.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?kB.REMOTE_VIDEO_AVAILABLE:kB.REMOTE_VIDEO_UNAVAILABLE,{userId:i,streamType:"sub"}))})).add("sei-message",(e=>{this.emit(kB.SEI_MESSAGE,Ub(xb({},e),{streamType:nB(e.streamType)}))})).add("firewall-restriction",(()=>{this.emit(kB.ERROR,new oB({code:ZF.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,VN),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)/KO},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)/KO,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})))})))};this.emit(kB.STATISTICS,l)})).add("custom-message",(e=>{this.emit(kB.CUSTOM_MESSAGE,e)})).add("layerData",(e=>this.emit(kB.LAYER_DATA,e))).add("first-video-frame",(e=>{this.emit(kB.FIRST_VIDEO_FRAME,Ub(xb({},e),{streamType:nB(e.streamType)}))})).add("audio-frame",(e=>{this.emit(kB.AUDIO_FRAME,e)})),MP(this,kL).add("audioInputAdded",(e=>{this.emit(kB.DEVICE_CHANGED,{type:"microphone",action:"add",device:e})})).add("audioInputRemoved",(e=>{this.emit(kB.DEVICE_CHANGED,{type:"microphone",action:"remove",device:e})})).add("videoInputAdded",(e=>{this.emit(kB.DEVICE_CHANGED,{type:"camera",action:"add",device:e})})).add("videoInputRemoved",(e=>{this.emit(kB.DEVICE_CHANGED,{type:"camera",action:"remove",device:e})})).add("audioOutputAdded",(e=>Gb(this,null,(function*(){if(this.emit(kB.DEVICE_CHANGED,{type:"speaker",action:"add",device:e}),HH&&HH.deviceId===kN){let e=(yield UL()).find((e=>e.deviceId===kN));e&&HH.groupId!==e.groupId&&(HH=e,this.emit(kB.DEVICE_CHANGED,{type:"speaker",action:"active",device:e}))}})))).add("audioOutputRemoved",(e=>Gb(this,null,(function*(){this.emit(kB.DEVICE_CHANGED,{type:"speaker",action:"remove",device:e});let t=(yield UL())[0];if(!t||!HH||HH.groupId===t.groupId)return;let r=HH.deviceId===e.deviceId,i=HH.deviceId===kN&&HH.deviceId===t.deviceId;(r||i)&&(HH=t,this.emit(kB.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}))}))))}use(e){let t,r;"plugin"in e?(t=e.plugin,r=e.assetsPath):t=e,this._use(t,r||yw)}_use(t,r){if(this._plugins.get(t.Name))return void this._log.warn("duplicate install plugin",t.Name);let i=new t(JB.call(this,{TRTC:e,room:this._room,errorModule:WH,assetsPath:r}));this._plugins.set(t.Name,i),t.autoStart&&this.startPlugin(t.Name)}enterRoom(t){return Gb(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),!aD(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,cD(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,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(),EH.start()}))}exitRoom(){return Gb(this,null,(function*(){return yield this._exitRoom()}))}switchRoom(e){return Gb(this,null,(function*(){if(this.room.isSwitchRoomSupported())yield this._room.switchRoom(e);else{yield this.exitRoom();let t=xb(xb({},this.enterRoomParams),e);yield this.enterRoom(t)}}))}switchRole(e,t){return Gb(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(){PP(this),this.removeAllListeners(),this._room.destroy(),BH.delete(this),0===BH.size&&EH.destroy(),this._localAudioTrack&&this.stopLocalAudio(),this._localVideoTrack&&this.stopLocalVideo(),this._localScreenTrack&&this.stopScreenShare(),this._plugins.forEach((e=>{var t;return null==(t=e.destroy)?void 0:t.call(e)})),this._plugins.clear(),zk.off("102",this._onLocalTrackCaptured,this)}startLocalAudio(){return Gb(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 hx(e._room.audioManager),a={},s={muted:!0};o&&(nD(o.microphoneId)?nD(o.audioTrack)||(a.customSource=o.audioTrack):a.deviceId=o.microphoneId,o&&sD(o.captureVolume)&&n.setCaptureVolume(o.captureVolume),nD(o.profile)||(aD(o.profile)?Ow[o.profile]&&n.setProfile(Ow[o.profile]):n.setProfile(o.profile)),sD(o.earMonitorVolume)&&(s.muted=!(o.earMonitorVolume>0),s.volume=o.earMonitorVolume),nD(o.echoCancellation)||(n.profile.echoCancellation=o.echoCancellation),nD(o.noiseSuppression)||(n.profile.noiseSuppression=o.noiseSuppression),nD(o.autoGainControl)||(n.profile.autoGainControl=o.autoGainControl)),n.on("5",(t=>{e.emit(kB.ERROR,new oB({code:ZF.DEVICE_ERROR,extraCode:5309,messageParams:{error:t}}))})),n.on("2",(t=>{e.emit(kB.DEVICE_CHANGED,{type:"microphone",action:"active",device:t})})),n.on("4",(t=>{let r;t.error&&(r=oB.convertFrom(t.error)),e.emit(kB.PUBLISH_STATE_CHANGED,Ub(xb({},t),{error:r}))})),e._listenOutputTrackChanged(n),e._speakerId&&n.setAudioOutput(e._speakerId),yield n.capture(a),nD(i)||n.setMute(i),MP(n,n).add("player-state-changed",(t=>{e.emit(kB.AUDIO_PLAY_STATE_CHANGED,Ub(xb({},t),{userId:""}))})),r&&e._room.isJoined&&e._room.publish(n).catch((()=>{})),e._localAudioTrack=n,e._localAudioConfig=Ub(xb({},t),{publish:r}),yield e._updateAudioPlayOption({playOption:s,track:n}),zk.emit("113",{userId:"",room:e.room})}()}))}updateLocalAudio(e){return Gb(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):nD(i.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(i.audioTrack)),nD(i.captureVolume)||this._localAudioTrack.setCaptureVolume(i.captureVolume),nD(i.earMonitorVolume)||(o.muted=!(i.earMonitorVolume>0),o.volume=i.earMonitorVolume),yield this._localAudioTrack.update3A(i)),this._room.isJoined&&!nD(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),nD(r)||this._localAudioTrack.setMute(r),yield this._updateAudioPlayOption({playOption:o,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),bD(this._localAudioConfig,e)}))}stopLocalAudio(){return Gb(this,null,(function*(){this._localAudioTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),zk.emit("114",{userId:"",room:this.room}),this._localAudioTrack.stop(),this._localAudioTrack.close(),this._room.audioManager.removeInput(this._localAudioTrack),PP(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null)}))}startLocalVideo(){return Gb(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 _x(e._room.videoManager),l={},u={};cD(null==s?void 0:s.avoidCropping)&&(c.avoidCropping=s.avoidCropping),s&&(s.cameraId?l.deviceId=s.cameraId:nD(s.useFrontCamera)?nD(s.videoTrack)||(l.customSource=s.videoTrack):l.facingMode=s.useFrontCamera?Uw.FACING_MODE_USER:Uw.FACING_MODE_ENVIRONMENT,nD(s.retryWhenExactFailed)||(l.retryWhenExactFailed=s.retryWhenExactFailed),s.qosPreference&&(l.contentHint=aB(s.qosPreference)),nD(s.profile)||(aD(s.profile)?Mw[s.profile]&&c.setProfile(Mw[s.profile]):c.setProfile(s.profile)),nD(s.fillMode)||(u.objectFit=s.fillMode),nD(s.mirror)||(u.mirror=s.mirror),nD(s.small)||(nD(s.smallMode)||(e._room.smallMode=s.smallMode),cD(s.small)&&!1===s.small?c.stopSmall():c.updateSmallConfig(sB(s.small,!0))),nD(s.rotation)||c.setRotation(s.rotation)),c.once("first-video-frame",(t=>{e.emit(kB.FIRST_VIDEO_FRAME,Ub(xb({},t),{streamType:nB(t.streamType)}))})),c.on("5",(t=>{e.emit(kB.ERROR,new oB({code:ZF.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),c.on("2",(t=>{e.emit(kB.DEVICE_CHANGED,{type:"camera",action:"active",device:t})})),c.on("4",(t=>{let r;t.error&&(r=oB.convertFrom(t.error)),e.emit(kB.PUBLISH_STATE_CHANGED,Ub(xb({},t),{error:r}))})),e._listenOutputTrackChanged(c),n?yield c.capture(l):null==(r=c.manager)||r.changeInput(c),nD(a)||(yield c.setMute(a)),MP(c,c).add("player-state-changed",(t=>{e.emit(kB.VIDEO_PLAY_STATE_CHANGED,Ub(xb({},t),{userId:"",streamType:"main"}))})),o&&e._room.isJoined&&e._room.publish(c).catch((()=>{})),e._localVideoTrack=c,e._localVideoConfig=Ub(xb({},t),{view:i,publish:o,capture:n}),yield e._updateVideoPlayOption({view:i,playOption:u,track:c})}()}))}updateLocalVideo(e){return Gb(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):nD(null==c?void 0:c.useFrontCamera)?nD(null==c?void 0:c.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(null==c?void 0:c.videoTrack)):yield this._localVideoTrack.switchDevice(null!=c&&c.useFrontCamera?Uw.FACING_MODE_USER:Uw.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?Uw.FACING_MODE_USER:Uw.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&&(nD(c.profile)||(aD(c.profile)?Mw[c.profile]&&this._localVideoTrack.setProfile(Mw[c.profile]):this._localVideoTrack.setProfile(c.profile),(!c.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(c.cameraId))&&nD(c.useFrontCamera)&&(yield this._localVideoTrack.applyProfile())),nD(c.fillMode)||(l.objectFit=c.fillMode),nD(c.mirror)||(l.mirror=c.mirror),nD(c.rotation)||this._localVideoTrack.setRotation(c.rotation),c.qosPreference&&this._localVideoTrack.mediaTrack&&this._localVideoTrack.setContentHint(aB(c.qosPreference)),nD(c.small)||(cD(c.small)&&!c.small?this._localVideoTrack.stopSmall():this._localVideoTrack.updateSmallConfig(sB(c.small,!0)))),this._room.isJoined&&nD(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((()=>{}))),nD(a)||(yield this._localVideoTrack.setMute(a)),yield this._updateVideoPlayOption({view:o,playOption:l,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),bD(this._localVideoConfig,e)}))}stopLocalVideo(){return Gb(this,null,(function*(){this._localVideoTrack&&(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),PP(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return Gb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{publish:!0,view:null};return function*(){if(e._localScreenTrack)return void e._log.warn("screen share is already started");let{view:r=null,publish:i=!0,option:o}=t,n=new vx(e._room.videoManager);n.on("4",(t=>{let r;t.error&&(r=oB.convertFrom(t.error)),e.emit(kB.PUBLISH_STATE_CHANGED,Ub(xb({},t),{error:r}))})),n.once("first-video-frame",(t=>{e.emit(kB.FIRST_VIDEO_FRAME,Ub(xb({},t),{streamType:nB(t.streamType)}))})),e._listenOutputTrackChanged(n),"main"===t.streamType&&(n.mediaType=4);let a=null,s={},c={};o&&(nD(o.profile)||(aD(o.profile)?xw[o.profile]&&n.setProfile(xw[o.profile]):n.setProfile(o.profile)),o.systemAudio&&(s.systemAudio=!0,s.echoCancellation=o.echoCancellation,s.noiseSuppression=o.noiseSuppression,s.autoGainControl=o.autoGainControl),nD(o.fillMode)||(c.objectFit=o.fillMode),o.videoTrack&&(s.videoTrack=o.videoTrack),o.audioTrack&&(s.audioTrack=o.audioTrack),o.captureElement&&(s.captureElement=o.captureElement),o.preferDisplaySurface&&(s.preferDisplaySurface=o.preferDisplaySurface),o.qosPreference&&(s.contentHint=aB(o.qosPreference)));let l=yield n.capture(s);if(n.mediaTrack.addEventListener(Uw.ENDED,(()=>{e._stopScreenShare(),e.emit(kB.SCREEN_SHARE_STOPPED)})),l.getAudioTracks()[0]&&(a=new Tx(e._room.audioManager),yield a.setInputMediaStreamTrack(l.getAudioTracks()[0]),e._speakerId&&a.setAudioOutput(e._speakerId)),MP(n,n).add("player-state-changed",(t=>{e.emit(kB.VIDEO_PLAY_STATE_CHANGED,Ub(xb({},t),{userId:"",streamType:"sub"}))})),i&&e._room.isJoined){let t=[n];a&&(t.push(a),e._checkScreenAudioEchoCancellation(n,a)),e._room.publish(...t).catch((()=>{}))}e._localScreenTrack=n,e._localScreenAudioTrack=a,e._localScreenConfig=Ub(xb({},t),{view:r,publish:i}),yield e._updateVideoPlayOption({view:r,playOption:c,track:n})}()}))}updateScreenShare(e){return Gb(this,null,(function*(){if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:t,publish:r,option:i}=e,o={};if(i&&(nD(i.fillMode)||(o.objectFit=i.fillMode),i.qosPreference)){let e=aB(i.qosPreference);this._localScreenTrack.setContentHint(e)}this._room.isJoined&&!nD(r)&&(r&&!this._localScreenConfig.publish&&(this._room.publish(this._localScreenTrack).catch((()=>{})),this._localScreenAudioTrack&&this._room.publish(this._localScreenAudioTrack).catch((()=>{}))),this._localScreenConfig.publish&&!r&&(this._room.unpublish(this._localScreenTrack).catch((()=>{})),this._localScreenAudioTrack&&this._room.unpublish(this._localScreenAudioTrack).catch((()=>{})))),yield this._updateVideoPlayOption({view:t,playOption:o,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),bD(this._localScreenConfig,e)}))}stopScreenShare(){return Gb(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return Gb(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;this._listenOutputTrackChanged(c),o&&(nD(o.fillMode)||(s.objectFit=o.fillMode),nD(o.mirror)||(s.mirror=o.mirror),nD(o.poster)||(s.poster=o.poster),s.canvasRender=o.canvasRender,"main"===i&&!nD(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&&!nD(o.receiveWhenViewVisible)&&this._observeView({remoteTrack:c,view:t,receiveWhenViewVisible:o.receiveWhenViewVisible,viewRoot:null==o?void 0:o.viewRoot})}))}updateRemoteVideo(e){return Gb(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&&(nD(a.fillMode)||(l.objectFit=a.fillMode),nD(a.mirror)||(l.mirror=a.mirror));let u=null,d=this._room.remotePublishedUserMap.get(o);if("main"===n&&null!=d&&d.muteState.hasVideo&&(u=d.remoteVideoTrack),"sub"===n&&null!=d&&d.muteState.hasAuxiliary&&(u=d.remoteAuxiliaryTrack),!u)return;let{config:h}=c;"main"===n&&a&&!nD(a.small)&&this._room.changeType(a.small,u.user),yield this._updateVideoPlayOption({view:i,playOption:l,track:u,prevConfig:h}),bD(h,e);let p=nD(null==a?void 0:a.receiveWhenViewVisible)?null==(t=h.option)?void 0:t.receiveWhenViewVisible:a.receiveWhenViewVisible,m=nD(i)?h.view:i,f=nD(null==a?void 0:a.viewRoot)?null==(r=h.option)?void 0:r.viewRoot:a.viewRoot;this._observeView({remoteTrack:u,view:m,receiveWhenViewVisible:p,viewRoot:f})}))}stopRemoteVideo(e){return Gb(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Gb(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 Gb(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(nO){throw this._remoteAudioMuteMap.delete(e),nO}}))}setRemoteAudioVolume(e,t){if("*"===e){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 Gb(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return Gb(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return Gb(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(kB.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{OB.has(e)&&this._log.debug("emit ".concat(e," ").concat(JSON.stringify(r)))}catch(nO){}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(aD(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 Gb(this,null,(function*(){(yield UL()).forEach((t=>{t.deviceId===e&&(this._setCurrentSpeaker(e),this.emit(kB.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}),HH=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 Gb(this,null,(function*(){let{userId:t}=e;if(this._remoteAudioConfigMap.has(t))return void this._log.warn("remote audio has already started. userId:".concat(t));let r=this._room.remotePublishedUserMap.get(t);if(!r)return;let i={},o=r.remoteAudioTrack;this._listenOutputTrackChanged(o),this._speakerId&&o.setAudioOutput(this._speakerId);try{let r=this._remoteAudioVolumeMap.get(t),n=sD(r)?r:100;i.volume=n,this._remoteAudioConfigMap.set(t,e),yield this._room.subscribe(o),Lx(hU(o,"decode-failed"),PU(hU(o,AP.INIT)),MV((()=>{this.startPlugin(xH.Name,{track:o,type:"auto",config:{codec:"opus",sampleRate:48e3,numberOfChannels:1}})}))),yield this._updateAudioPlayOption({playOption:i,track:o}),zk.emit("115",{userId:t,room:this.room}),o.outMediaTrack&&this.room.audioManager.updateAudioReference({type:"add",audioReference:o.outMediaTrack,refId:"ra-".concat(t)})}catch(aO){throw this._remoteAudioConfigMap.delete(t),aO}this._emitTrackEvent(o)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return Gb(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)),zk.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),Lx(hU(e,"decode-failed"),PU(hU(e,AP.INIT)),PV((()=>{this.startPlugin("TRTCVideoDecoder",{type:"auto",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:i})})),pV(hU(e,"decode-downgrade-state-changed")),MV((i=>{r=i.state,this.emit(kB.VIDEO_DECODE_DOWNGRADE_STATE_CHANGED,Ub(xb({},i),{streamType:t,userId:e.userId}))}),(t=>{e.log.error("fallback",t)}),(()=>{"STARTED"===r&&e.log.info("fallback complete")}))))}_updateVideoPlayOption(e){return Gb(this,arguments,(function(e){let{view:t,playOption:r,track:i,prevConfig:o}=e;return function*(){if(i.setMirror(r.mirror),nD(t)&&o&&o.view&&!ID(r)){let e=ND(o.view);e.length>0&&(yield i.play(e,r))}if(!nD(t)){let e=ND(t);e.length>0?yield i.play(e,r):i.stop()}}()}))}_updateAudioPlayOption(e){return Gb(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(lw){}if(nD(r.muted)||i.setPlayerMute(r.muted),nD(r.volume)||i.setAudioVolume(r.volume/100),i instanceof hx&&i.mediaTrack){let e=!1===r.muted&&!nD(r.volume)&&r.volume>0?"add":"remove";t.room.audioManager.updateAudioReference({type:e,audioReference:i.mediaTrack,refId:"em"})}else if(i instanceof FV){let e=r.muted?0:r.volume;if(nD(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(kB.TRACK,{userId:r,streamType:nB(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(nD(r))return;let n=this._remoteVideoConfigMap.get("".concat(t.userId,"_").concat(nB(t.streamType)));if(!n)return;let a=n.observer||void 0;if(null===r||uD(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(ND(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 Gb(this,null,(function*(){this._room.isJoined&&(yield this._room.leave()),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(),this._remoteAudioVolumeMap.clear(),function(e){let t=XB.get(e);t&&(t.forEach((e=>clearTimeout(e))),XB.delete(e))}(this),this._room.remotePublishedUserMap.forEach((e=>{PP(e.remoteAudioTrack),PP(e.remoteVideoTrack),PP(e.remoteAuxiliaryTrack)}))}))}_stopScreenShare(){return Gb(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),PP(this._localScreenTrack),this._localScreenTrack=null,this._localScreenConfig=null}}))}_checkScreenAudioEchoCancellation(e,t){return Gb(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(aO){this._log.warn("start audioProcessor plugin failed: ",aO)}}}))}_onLocalTrackCaptured(e){let{track:t}=e;"audio"===t.kind&&(!HH||OL(HH))&&(this._initActiveSpeaker(),zk.off("102",this._onLocalTrackCaptured,this))}_initActiveSpeaker(){return Gb(this,null,(function*(){if(HH&&!OL(HH))this.emit(kB.DEVICE_CHANGED,{type:"speaker",action:"active",device:HH});else{let e=yield UL();e[0]&&!OL(e[0])?(HH=e[0],this.emit(kB.DEVICE_CHANGED,{type:"speaker",action:"active",device:e[0]})):zk.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:Ub(xb({seiPayloadType:243},t),{small:!(null==(r=this._localVideoTrack)||!r.small)})}),_M.addCount({key:5e5,useUV:!0}))}sendCustomMessage(e){var t,r;null==(r=(t=this._room).sendCustomMessage)||r.call(t,e),_M.addCount({key:500001,useUV:!0})}callExperimentalAPI(e,t){return Gb(this,null,(function*(){return this._log.info("callExperimentalAPI(".concat(e,", ").concat(JSON.stringify(t),")")),VH.call(e,xb({trtcInstance:this},t))}))}static setLogLevel(e,t){Xk.setLogLevel(e),nD(t)||(t?Xk.enableUploadLog():Xk.disableUploadLog())}static isSupported(){return NM()}static getCameraList(){return LL(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getMicrophoneList(){return PL(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static getSpeakerList(){return UL(!(arguments.length>0&&void 0!==arguments[0])||arguments[0])}static setCurrentSpeaker(t){return Gb(this,null,(function*(){if(!uC||t!==QF.SPEAKER&&t!==QF.HEADSET)(yield UL()).forEach((e=>{e.deviceId===t&&(BH.forEach((r=>{r._setCurrentSpeaker(t),r.emit(kB.DEVICE_CHANGED,{type:"speaker",action:"active",device:e})})),HH=e)}));else{let r=yield e.getMicrophoneList(),i="";if(r.forEach((e=>{e.label===t&&(i=e.deviceId)})),!i)return;BH.forEach((e=>Gb(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&&(fM.version=a),t){case"count":fM.addCount({key:r,useUV:n});break;case"enum":fM.addEnum({key:r,value:i,useUV:n});break;case"number":fM.addNumber({key:r,value:i,split:o,max:s})}}};Wb(jH,"_loggerManager",Xk),Wb(jH,"EVENT",kB),Wb(jH,"ERROR_CODE",ZF),Wb(jH,"TYPE",QF),Wb(jH,"frameWorkType",30),Hb([tH({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"}})})],jH.prototype,"use",1),Hb([$B(vB.TRTC.enterRoom),NB("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})),ex((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t)})),tH()],jH.prototype,"enterRoom",1),Hb([tH()],jH.prototype,"exitRoom",1),Hb([$B(vB.TRTC.switchRoom),tH(),ax()],jH.prototype,"switchRoom",1),Hb([$B(vB.TRTC.switchRole),DB("room",{merge:(e,t)=>t}),tH()],jH.prototype,"switchRole",1),Hb([tH()],jH.prototype,"destroy",1),Hb([$B(vB.TRTC.startLocalAudio),NB("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)})),tH()],jH.prototype,"startLocalAudio",1),Hb([$B(vB.TRTC.updateLocalAudio),DB("audio",{debounce:{delay:200,getKey:()=>"".concat(FH,"-localAudio"),isNeedToDebounce:e=>{var t;return!nD(null==(t=e.option)?void 0:t.captureVolume)}}}),tH()],jH.prototype,"updateLocalAudio",1),Hb([CB("audio"),tH()],jH.prototype,"stopLocalAudio",1),Hb([$B(vB.TRTC.startLocalVideo),NB("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)})),tH()],jH.prototype,"startLocalVideo",1),Hb([$B(vB.TRTC.updateLocalVideo),DB("video"),tH()],jH.prototype,"updateLocalVideo",1),Hb([CB("video"),tH()],jH.prototype,"stopLocalVideo",1),Hb([$B(vB.TRTC.startScreenShare),NB("screen",(()=>!0)),tH()],jH.prototype,"startScreenShare",1),Hb([$B(vB.TRTC.updateScreenShare),DB("screen"),tH()],jH.prototype,"updateScreenShare",1),Hb([tH()],jH.prototype,"stopScreenShare",1),Hb([$B(vB.TRTC.startRemoteVideo),NB((e=>"v".concat(e.userId).concat(e.streamType)),(()=>!0)),tH({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],jH.prototype,"startRemoteVideo",1),Hb([$B(vB.TRTC.updateRemoteVideo),DB((e=>"v".concat(e.userId).concat(e.streamType))),tH({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],jH.prototype,"updateRemoteVideo",1),Hb([$B(vB.TRTC.stopRemoteVideo),ex((e=>function(t){return Gb(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)}))})),tH({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],jH.prototype,"stopRemoteVideo",1),Hb([CB((e=>"v".concat(e.userId).concat(e.streamType)))],jH.prototype,"_stopRemoteVideo",1),Hb([$B(...vB.TRTC.muteRemoteAudio),tH({getRemoteId:e=>e})],jH.prototype,"muteRemoteAudio",1),Hb([QB(...vB.TRTC.setRemoteAudioVolume),function(e,t){return ex(((r,i)=>function(){for(var i=arguments.length,o=new Array(i),n=0;n<i;n++)o[n]=arguments[n];let a=XB.get(this);a||(a=new Map,XB.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=XB.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=XB.get(this))||e.delete(s)}),e);a.set(s,t)}}))}(200,(e=>e)),tH({getRemoteId:e=>e})],jH.prototype,"setRemoteAudioVolume",1),Hb([iH("start"),ZL((e=>{var t;return null==(t=e.afterStart)?void 0:t.call(e)})),NB(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),tH({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>dM[e.getName()],ignoreLog:e=>"Debug"===e.getName(),ignoreErrorLog:e=>"AudioProcessor"===e.getName()})],jH.prototype,"startPlugin",1),Hb([iH("update"),DB(((e,t)=>e.disableRandomCall?null:e.getAlias()+e.getGroup(t))),tH({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>hM[e.getName()]})],jH.prototype,"updatePlugin",1),Hb([iH("stop"),CB(((e,t)=>{if(e.disableRandomCall)return null;let r=e.getGroup(t),i=e.getAlias();return"*"===r?new RegExp("".concat(i,".*")):i+r})),tH({replaceArg:e=>({argIndex:0,value:e.getName()}),getKVReportKey:e=>pM[e.getName()]})],jH.prototype,"stopPlugin",1),Hb([QB(...vB.TRTC.enableAudioVolumeEvaluation)],jH.prototype,"enableAudioVolumeEvaluation",1),Hb([tH()],jH.prototype,"getVideoSnapshot",1),Hb([tH()],jH.prototype,"_setCurrentSpeaker",1),Hb([NB((e=>"a".concat(e.userId)),(()=>!0))],jH.prototype,"_startRemoteAudio",1),Hb([ex((e=>function(t){return Gb(this,null,(function*(){return"*"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio(Ub(xb({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),CB((e=>"a".concat(e.userId)))],jH.prototype,"_stopRemoteAudio",1),Hb([CB("room")],jH.prototype,"_exitRoom",1),Hb([CB("screen")],jH.prototype,"_stopScreenShare",1),Hb([$B(...vB.TRTC.sendSEIMessage),JF({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}})],jH.prototype,"sendSEIMessage",1),Hb([$B(vB.TRTC.sendCustomMessage),JF({timesInSecond:30,maxSizeInSecond:8e3,getSize:e=>e.data.byteLength})],jH.prototype,"sendCustomMessage",1),Hb([$B(vB.TRTC.create)],jH,"_create",1);var GH=jH,KH=class{constructor(e,t){Wb(this,"_flag"),Wb(this,"terminalType"),Wb(this,"userId"),Wb(this,"tinyId"),Wb(this,"role"),Wb(this,"remoteAudioTrack"),Wb(this,"remoteVideoTrack"),Wb(this,"remoteAuxiliaryTrack"),this.userId=t.userId||"",this.tinyId=t.tinyId||"",this.role=t.role||"audience",this.terminalType=t.terminalType,this.remoteAudioTrack=new FV(e,this),this.remoteVideoTrack=new oF(e,this),this.remoteAuxiliaryTrack=new nF(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 AD(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()}},zH=class{constructor(){Wb(this,"_set",new Set),zk.on(Yk.LEAVE_SUCCESS,this.delete,this),zk.on(Yk.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 qH(){return Gb(this,null,(function*(){let e,t;try{let t=yield PL();e=t&&t.length}catch(d){}try{let e=yield LL();t=e&&e.length}catch(d){}let r={microphone:e,camera:t},{isH264EncodeSupported:i,isVp8EncodeSupported:o,isH264DecodeSupported:n,isVp8DecodeSupported:a}=this.checkSystemResult.detail,s=Zk.basis(),c={webRTC:s.isWebRTCSupported,getUserMedia:s.isGetUserMediaSupported,webSocket:s.isWebSocketsSupported,screenShare:s.isScreenShareSupported,webAudio:s.isWebAudioSupported,h264Encode:i,h264Decode:n,vp8Encode:o,vp8Decode:a},l={browser:s.browser,os:s.os,trtc:c,devices:r},u={isWebCodecSupported:s.isWebCodecSupported,isMediaSessionSupported:s.isMediaSessionSupported,isWebTransportSupported:s.isWebTransportSupported};LP.uploadEvent({log:"trtcstats-".concat(JSON.stringify(l)),userId:this.userId}),this._log.info("TrtcStats-".concat(JSON.stringify(l))),LP.uploadEvent({log:"trtcadvancedstats-".concat(JSON.stringify(u)),userId:this.userId})}))}var YH=class{constructor(e){Wb(this,"_frameWorkType"),Wb(this,"_component"),Wb(this,"_language"),Wb(this,"connectionType"),Wb(this,"_room"),Wb(this,"_signalInfo",{tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0,endReportExtend:void 0}),Wb(this,"_keyPrefix"),Wb(this,"_log"),Wb(this,"_intervalId"),Wb(this,"_firstPublishedUserList"),Wb(this,"_networkQuality"),Wb(this,"_basicInfo"),Wb(this,"_pathJoinRoom"),Wb(this,"_pathLeaveRoom"),Wb(this,"_pathMainVideoMap"),Wb(this,"_pathMainAudioMap"),Wb(this,"_pathAuxiliaryMap"),Wb(this,"_remoteStreamStatMap"),Wb(this,"_localStreamStat"),Wb(this,"_eventMap",new Map),Wb(this,"_captureCostSum",0),Wb(this,"_captureCostCount",0),Wb(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=Xk.createLogger({id:"kpm",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith("handle")&&oD(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 pD(n)?n.catch((e=>Xk.error("".concat(t.name,"() error observed ").concat(e)))):n}catch(dN){Xk.error("".concat(t.name,"() error observed ").concat(dN))}}}({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}},this._pathMainVideoMap=new Map,this._pathMainAudioMap=new Map,this._pathAuxiliaryMap=new Map,this._remoteStreamStatMap=new Map,xk().then((e=>{this._basicInfo.string_os_version=Wk(),this._basicInfo.string_device_name=e&&e.mobile?e.model:this._basicInfo.string_os_version}))}addEvent(e,t){return this._eventMap.set(e,t),zk.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(Yk.JOIN_START,this.handleJoinStart).addEvent(Yk.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(Yk.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(Yk.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(Yk.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(Yk.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(Yk.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(Yk.JOIN_FAILED,this.handleJoinFailed).addEvent(Yk.LEAVE_START,this.handleLeaveStart).addEvent(Yk.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(Yk.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(Yk.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(Yk.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(Yk.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(Yk.PUBLISH_START,this.handlePublishStart).addEvent(Yk.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(Yk.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(Yk.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(Yk.PLAY_TRACK_START,this.handlePlayStart).addEvent(Yk.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(Yk.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,type:i}=e;!t.isRemote||!this.hitTest(t.room)||"PLAYING"===r&&(i===Uw.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(Yk.SWITCH_ROOM_START,this.handleSwitchRoomStart).addEvent(Yk.SWITCH_ROOM_SUCCESS,this.handleSwitchRoomSuccess).addEvent(Yk.SWITCH_ROOM_FAILED,this.handleSwitchRoomFailed).addEvent(Yk.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(Yk.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(Yk.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(Yk.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(Yk.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)=>zk.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),DP.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&&(nD(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),nD(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),nD(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 Zb?Number(r.getExtraCode()||r.getCode()):$b.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 Zb?Number(r.getExtraCode()||r.getCode()):$b.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:Ub(xb({},XH),{msg_user_info:new $H({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 $H({userId:n,tinyId:a,role:"anchor"===s?20:21}),l=Date.now(),u="".concat(n,"_").concat(i),d=this._remoteStreamStatMap.get(u);d&&0===d.subscribeStartTime&&(d.subscribeStartTime=l),"main"===i?(r.muteState.hasVideo&&(o.video||o.smallVideo)&&!this._pathMainVideoMap.has(u)&&this._pathMainVideoMap.set(u,{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(u)&&this._pathMainAudioMap.set(u,{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(u)&&this._pathAuxiliaryMap.set(u,{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,_M.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/KO*100)>0&&(this._localStreamStat.totalAudioLevel+=e/KO,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*Pb(10,6)))}})),!ID(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/KO*100)>0&&(t.totalAudioLevel+=r.uint32_audio_level/KO,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 Zb?r.getExtraCode()||r.getCode():$b.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&Hw))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&Gw))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&jw))>=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,Uw.AUDIO),e.statsToReport.uint32_video_play_time=o.getDuration(t,Uw.VIDEO)),e.statsToReport.uint32_video_render_first&&(e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,JH));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>JH&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+JH):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>JH&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+JH):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>JH&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+JH)}getReportData(){this._basicInfo.uint32_networkType=zN();let e={uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new $H({userId:this._room.userId,tinyId:this._room.tinyId,role:"anchor"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:RD(this._signalInfo.relayIp),uint32_client_ip:RD(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(Math.random()*Pb(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:RD(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,bytes_report_buf_from_0x1:this._signalInfo.endReportExtend};return UD(e),e}report(){return Gb(this,null,(function*(){try{this.prepareReport();let e=this.getReportData();yield this.upload(e),this.initData()}catch(oO){this._log.warn(oO)}finally{this.isDestroyed&&(this._room=null)}}))}upload(e){return Gb(this,null,(function*(){if(0===e.msg_path_enter_room.uint64_start_time)return;let t=Number(this._room.sdkAppId),r=yield KD(e),i=r instanceof ArrayBuffer,o="".concat(HN(t,Rw.KEY_POINT),"&gzip=").concat(+i),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(o,r));let a=[this.uploadKVStat(_M),this.uploadKVStat(fM)];n||a.push(GD({url:o,body:r,priority:"low"})),yield Promise.all(a)}))}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}uploadKVStat(e){return Gb(this,null,(function*(){let t=e.getReportData();if(0===t.stats_count.length&&0===t.stats_distribution.length)return;t.msg_sdk_basic_info=Ub(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=yield KD(t),i="".concat(HN(+this._room.sdkAppId,Rw.KV_STAT),"&gzip=").concat(+(r instanceof ArrayBuffer)),o=!1;navigator.sendBeacon&&(o=navigator.sendBeacon(i,r)),o||GD({url:i,body:r})}))}};Hb([UP({settings:{timeout:500,retries:3}})],YH.prototype,"upload",1);var JH=5e3,XH={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},$H=class{constructor(e){Wb(this,"str_identifier"),Wb(this,"str_tinyid"),Wb(this,"uint32_role"),this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},QH=YH,ZH=class{constructor(){Wb(this,"_startTime"),Wb(this,"_endTime"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=ED())}stop(){0===this._endTime&&(this._endTime=ED())}getDuration(){return 0===this._endTime?ED()-this._startTime:this._endTime-this._startTime}get startTime(){return this._startTime}get endTime(){return this._endTime}},eW=class{constructor(e){Wb(this,"_room",null),Wb(this,"_durationMap"),Wb(this,"_eventMap",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(Yk.REMOTE_TRACK_SUBSCRIBED,this.handleSubscribed).set(Yk.REMOTE_TRACK_UNSUBSCRIBED,this.handleUnsubscribed).set(Yk.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"),Uw.AUDIO),r.hasVideo&&!i.hasVideo&&this.stopDurationItem("".concat(n,"_main"),Uw.VIDEO),r.hasAuxiliary&&!i.hasAuxiliary&&this.stopDurationItem("".concat(n,"_auxiliary"),Uw.VIDEO);let a=null==(o=this._room)?void 0:o.remotePublishedUserMap.get(n);a&&(!r.hasAudio&&i.hasAudio&&a.remoteAudioTrack.isSubscribed&&this.addDuractionItem(n,Uw.AUDIO,"main"),!r.hasVideo&&i.hasVideo&&a.remoteVideoTrack.isSubscribed&&this.addDuractionItem(n,Uw.VIDEO,"main"),!r.hasAuxiliary&&i.hasAuxiliary&&a.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(n,Uw.VIDEO,"auxiliary"))})),this._eventMap.forEach(((e,t)=>zk.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>zk.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 ZH,n=this._durationMap.get(i);n?this.isRecording(n[t])||n[t].push(o):this._durationMap.set(i,{userId:e,type:r,audio:t===Uw.AUDIO?[o]:[],video:t===Uw.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()}},tW=class{constructor(e){Wb(this,"_room"),Wb(this,"_renderFreezeMap",new Map),Wb(this,"_isVideoPlayingEventFiredMap",new Map),Wb(this,"_dataFreezeMap",new Map),Wb(this,"_monitorFreezeData",new Map),Wb(this,"_eventMap",new Map),this._room=e.room,this.installEvents()}getRenderFreezeMap(){return this._renderFreezeMap}getDataFreezeMap(){return this._dataFreezeMap}installEvents(){this._eventMap.set(Yk.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(Yk.PLAY_TRACK_START,this.onPlayTrackStart).set(Yk.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(Yk.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(Yk.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:r,reason:i,type:o}=e;if(t.isRemote&&t.room&&this.hitTest(t.room)&&o===Uw.VIDEO){if("PLAYING"===r){let e="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}i===Uw.MUTE?this.onVideoTrackMuted(t):i===Uw.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(Yk.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach(((e,t)=>zk.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>zk.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 ZH;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;this.hitTest(t)&&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"})}))}))}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>TN?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 Gb(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=ED();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=ED();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!==Uw.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()<TN&&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=ED()-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()}},rW=Bb(Kb(),1),iW=[1,0,0,0,1,1,0,1],oW=class extends WV{constructor(e,t,r,i){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:"transform",logger:t}),Wb(this,"mirror",!1),Wb(this,"rotation",0),r&&(this.mirror=r),i&&(this.rotation=i),e instanceof rF)try{this.setTexBuffer(iW)}catch(lw){e.destroy(new Zb({code:$b.VIDEO_MANAGER_ERROR,extraCode:3,message:"create video node ".concat(this.name," error ").concat(lw.message||lw)}))}}draw2d(e,t,r,i,o){if(this.ctx2d){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)}},nW=class{constructor(e,t){this.node=e,this.layout=t,Wb(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}},aW=class extends WV{constructor(e,t){super(e,{useDefaultProgram:!0,useFbo:!0,name:"mix",create2d:!0,matchInputSize:!1,logger:t}),Wb(this,"inputs",[])}addInput(e,t){if(this.inputs[t.zIndex])throw new Error("input already exists");let r=new nW(e,t);this.inputs[t.zIndex]=r}changeInputLayout(e,t){let r=this.inputs.findIndex((t=>!!t&&t.node===e));r<0||Object.entries(t).forEach((e=>{let[t,i]=e;nD(i)||(this.inputs[r].layout[t]=i)}))}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 rF&&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.matchInputSize&&this.resize(0,0),e}removeInput(e){this.inputs[this.inputs.findIndex((t=>(null==t?void 0:t.node)===e))]=void 0}render(e){let t=this.context.ctx;if(t.clearColor(0,0,0,0),this.inputs.reduce(((t,r)=>(null==r?void 0: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.reduce(((t,r)=>(null==r?void 0:r.node.requestFrame(e))||t),!1)&&this.ctx2d){this.ctx2d.fillStyle="black",this.ctx2d.fillRect(0,0,this.width,this.height);for(let e=0;e<this.inputs.length;e++){let t=this.inputs[e];t&&this.draw2d(t.node.image,t.x,t.y,t.width,t.height)}return!0}return!1}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)}close(){super.close(),this.inputs.forEach((e=>{var t,r;if(e&&(null==(t=e.node)||t.disconnect(),e.positionBuffer&&this.context instanceof rF))try{null==(r=this.context.ctx)||r.deleteBuffer(e.positionBuffer)}catch(cO){}}))}},sW=class{constructor(e,t,r){let i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:4/3;this.vbMode=e,this.faceDetector=t,this.logger=r,Wb(this,"animationState"),Wb(this,"originalAspect"),Wb(this,"totalOffsetX",0),Wb(this,"totalOffsetY",0),Wb(this,"defaultScaleRatio",.1),Wb(this,"isRecovering",!1),Wb(this,"boundaryY",280),Wb(this,"lastActionTime",0),Wb(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.faceDetector),this.originalAspect=i||4/3}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?_M.addSuccessEvent({key:i.key}):_M.addFailedEvent({key:i.key,error:i.error}))}actionCentering(e){let t=Date.now();if(this.animation(),!this.faceDetector||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;try{let t=this.faceDetector.detectForVideo(e,Date.now());if(t.detections.length<=0)return void(1===this.vbMode&&this.recoverOriginal(r,i));let o=t.detections[0].boundingBox,n=o.originX,a=o.originY,s=o.width,c=o.height;1===this.vbMode?this.dualStageCropping(r,i,n,a,s,c):2===this.vbMode&&this.movingPortrait(r,i,n,a,s,c)}catch(cO){this.logger.error(cO)}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,u=t+i/2,{min:d,offset:h}=this.calculateBoundary(l,o,e,r),{min:p,offset:m}=this.calculateBoundary(u,n,t,i);return a=2*d+r,s=2*p+i,a/s>this.originalAspect?(a=s*this.originalAspect,h=l-a/2):(s=a/this.originalAspect,m=u-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)),sD(this.animationState.current.scaleOffsetX)&&sD(this.animationState.target.scaleOffsetX)&&sD(this.animationState.current.scaleOffsetY)&&sD(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(Pb(e.sx-t.sx,2)+Pb(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,u,d,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!=(d=null==(u=this.animationState.current)?void 0:u.scaleOffsetY)?d: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}},cW=class extends QV{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}),Wb(this,"_bgTexture"),Wb(this,"_waterMarkTexture"),Wb(this,"_lastMaskTexture"),Wb(this,"_lastMaskFbo"),Wb(this,"_textureValid",!1),Wb(this,"_selfieTextureValid",!1),Wb(this,"_selfieSegmentation"),Wb(this,"wasm"),Wb(this,"_prePrograme"),Wb(this,"_segmentationMask"),Wb(this,"_weixin",!1),Wb(this,"_centerFace"),Wb(this,"_textureMatrixLocation"),Wb(this,"_offsetMatrixLocation"),Wb(this,"_enableFaceCentering",!1),Wb(this,"_mat4"),t.selfieSegmentation&&(this._selfieSegmentation=t.selfieSegmentation,this._selfieSegmentation.onResults=this.onPredict.bind(this));try{this.init(t)}catch(nO){e.log.error(nO),e.destroy(new Zb({code:$b.VIDEO_MANAGER_ERROR,extraCode:6,message:"init vb node error ".concat(nO.message||nO)}))}}init(e){var t;let r=e.Wasm,i=this.context.ctx;if(this._mat4=e.mat4,this.wasm=new r.AllIn1(i),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:"green"===e.bg?3:0,this._enableFaceCentering=null!=(t=e.enableFaceCentering)&&t,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)}if(this.program=this.wasm.init(),this.useProgram(),this.setAttributes(this.positionBuffer,this.texCoordBuffer),i.uniform1i(i.getUniformLocation(this.program,"mask"),1),e.bg instanceof HTMLImageElement&&(i.uniform1i(i.getUniformLocation(this.program,"bg"),2),this._bgTexture=this.createTexture(e.bg)),e.waterMark&&(i.uniform1i(i.getUniformLocation(this.program,"waterMark"),3),this._waterMarkTexture=this.createTexture(e.waterMark.image)),this._textureMatrixLocation=i.getUniformLocation(this.program,"u_textureMatrix"),i.uniformMatrix4fv(this._textureMatrixLocation,!1,this._mat4.create()),this._offsetMatrixLocation=i.getUniformLocation(this.program,"u_offsetMatrix"),i.uniformMatrix4fv(this._offsetMatrixLocation,!1,this._mat4.create()),i.uniform1i(i.getUniformLocation(this.program,"lastMask"),4),this._weixin){let e=this.context.createShader(i.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(i.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),i.useProgram(this._prePrograme),this.setAttributes(this.positionBuffer,this.texCoordBuffer),i.uniform1i(i.getUniformLocation(this._prePrograme,"mask"),1)}this._enableFaceCentering&&Gb(this,null,(function*(){return this._centerFace=new sW(this.wasm.vbMode,yield e.faceDetector(),this.context.log)}))}onPredict(e){var t;let r=this.context.ctx;this._weixin&&(this._lastMaskTexture||(this._lastMaskTexture=this.createTexture(this.image),this._lastMaskFbo=this.createFramebuffer(this._lastMaskTexture))),this.useProgram(),this._weixin?this.useTexture():null==this||this._selfieSegmentation.bindTexture(),r.activeTexture(r.TEXTURE1),null==(t=this._selfieSegmentation)||t.bindTexture2d(e),r.activeTexture(r.TEXTURE2),r.bindTexture(r.TEXTURE_2D,this._bgTexture||null),r.activeTexture(r.TEXTURE3),r.bindTexture(r.TEXTURE_2D,this._waterMarkTexture||null),this.useBufferFrame(),this._segmentationMask=e,this.totalFrames++,this.centerFace(),r.drawArrays(r.TRIANGLE_STRIP,0,4)}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){var t,r,i,o;let n=this.context.ctx,{image:a}=this;this.tryVideoFrameCallback();let{videoWidth:s,videoHeight:c}=a;if(jD(this.wasm.rotation)&&([s,c]=[c,s]),0===s||0===c||!this.available)return!1;a.width=s,a.height=c;let l=!1;if(this.totalFrames)this._weixin?this.useTexture():null==(t=this._selfieSegmentation)||t.bindTexture(),l=this._selfieTextureValid,this._selfieTextureValid=!0;else{if(!this.program)return!1;this.useTexture(),l=this._textureValid,this._textureValid=!0}return this.width===s&&this.height===c&&l?n.texSubImage2D(n.TEXTURE_2D,0,0,0,n.RGBA,n.UNSIGNED_BYTE,a):(this.resize(s,c),n.texImage2D(n.TEXTURE_2D,0,n.RGBA,n.RGBA,n.UNSIGNED_BYTE,a)),this._weixin&&(n.useProgram(this._prePrograme),this.useTexture(),this._segmentationMask&&(n.activeTexture(n.TEXTURE1),null==(r=this._selfieSegmentation)||r.bindTexture2d(this._segmentationMask),n.bindFramebuffer(n.FRAMEBUFFER,this._lastMaskFbo||null)),n.drawArrays(n.TRIANGLE_STRIP,0,4),null==(i=this._selfieSegmentation)||i.bindTexture(),this._segmentationMask?n.copyTexSubImage2D(n.TEXTURE_2D,0,0,0,0,0,s,c):n.copyTexImage2D(n.TEXTURE_2D,0,n.RGBA,0,0,s,c,0)),this.wasm.vbMode&&(null==(o=this._selfieSegmentation)||o.send(s,c)),this.totalFrames||(n.activeTexture(n.TEXTURE2),n.bindTexture(n.TEXTURE_2D,this._bgTexture||null),n.activeTexture(n.TEXTURE3),n.bindTexture(n.TEXTURE_2D,this._waterMarkTexture||null),n.drawArrays(n.TRIANGLE_STRIP,0,4)),!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(e.canvas.width,e.canvas.height,t.sx,t.sy,t.cropWidth,t.cropHeight),r&&2===this.wasm.vbMode)){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,o,n){let a=this.context.ctx,s=this._mat4.create();this._mat4.fromTranslation(s,[r/e,1-(i+n)/t,0]),this._mat4.scale(s,s,[o/e,n/t,1]),a.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),null==(e=this.wasm)||e.close()}},lW=class extends WV{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 }"}),Wb(this,"yTextureRef"),Wb(this,"uTextureRef"),Wb(this,"vTextureRef"),Wb(this,"Y"),Wb(this,"U"),Wb(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)}},uW=[e=>{e.codec="avc1.42e01f"},e=>{delete e.hardwareAcceleration}],dW=(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 hW=0,pW=class{constructor(e){Wb(this,"id",hW++),Wb(this,"trackDoneOB"),Wb(this,"startOB"),Wb(this,"stopOB"),Wb(this,"decoder"),Wb(this,"videoContext"),Wb(this,"gop",0),Wb(this,"gop_helper",0),Wb(this,"waitFirstKeyFrame",!0),Wb(this,"startTimestamp",0),Wb(this,"startTime",0),Wb(this,"startPerformanceTime",0),Wb(this,"inputFrameCount",0),Wb(this,"decodedFrameCount",0),Wb(this,"decodeFrameCount",0),Wb(this,"downgradeLevel",0),Wb(this,"lastDowngradeTime",0),Wb(this,"lastFrameDiff",0),Wb(this,"lastDecodeFrameTimestamp",0),Wb(this,"config"),Wb(this,"gop_before_configure",[]),Wb(this,"videoElement"),Wb(this,"type","wasm"),Wb(this,"goodType"),Wb(this,"renderer","2d"),Wb(this,"wasmOption"),Wb(this,"createDecoder"),Wb(this,"_decodeSink"),Wb(this,"isReported",!1),Wb(this,"track"),Wb(this,"stateChangeOB"),Wb(this,"failedReason");let{track:t,createDecoder:r}=e;if(this.stateChangeOB=rU(),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=hU(t.availableState,AP.OFF),this.stopOB=rU(),"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),Lx(this.stateChangeOB,rV(((e,r)=>(e!==r&&t.onDecodeDowngradeStateChanged({type:this.type,renderer:this.renderer,reason:this.failedReason,prevState:e,state:r}),r)),"INITIALIZED"),PU(this.stopOB),MV()),this.start()}start(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;this.waitFirstKeyFrame=!0,this.stateChangeOB.next("STARTING");let t=Lx(this.pipe(this.track),PU(this.stopOB),jx());Lx(t,MV((()=>{this.track.stat.framesDecoded++}),(t=>{if(this.track.log.error("".concat(this.id," play failed: ").concat(t," retryCount: ").concat(e)),_M.addFailedEvent({key:dW(this.type,this.renderer),error:t}),e>4)this.failedReason=t,this.stateChangeOB.next("FAILED");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")),_M.addSuccessEvent({key:dW(this.type,this.renderer)}),_M.addSuccessEvent({key:514704})}))),Lx(t,MU(1),MV((()=>{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&&!RM()&&(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=ED()}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=>Gb(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":for(let e=0;e<=uW.length;e++){let{supported:r}=yield VideoDecoder.isConfigSupported(this.config);if(r)break;if(e===uW.length)return void t.error(3);uW[e](this.config)}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 rF({frameRate:15,logger:e.log,name:e.userId}),this.videoContext.create(),this.videoContext.on(rF.UNAVAILABLE,(r=>{e.log.error(r),t.error(7)}));let i=new lW(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 iF({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 zV(this.videoContext,{name:"remotePlayer",logger:e.log});i.connect(o),e.source=i,e.player.setCanvas(this.videoContext._canvas,2)}this.decoder=r}catch(aO){e.log.error(aO),t.error("webCodecs"===n?2:6)}}))}},mW=class extends rW.EventEmitter{constructor(e){super(),this.room=e,Wb(this,"videoContext"),Wb(this,"_glVideoContext"),Wb(this,"_2dVideoContext"),Wb(this,"destination"),Wb(this,"smallVideoContext"),Wb(this,"smallDestination"),Wb(this,"smallTrackSource"),Wb(this,"smallImageSource"),Wb(this,"_isMirror",!1),Wb(this,"_rotation",0),Wb(this,"cameraTrack"),Wb(this,"cameraNode"),Wb(this,"transformNode"),Wb(this,"mixNode"),Wb(this,"screenTrack"),Wb(this,"screenNode"),Wb(this,"selfModel",!1),Wb(this,"blurRadius",3),Wb(this,"arTrack"),Wb(this,"_enableFaceCentering",!1),Wb(this,"Wasm"),Wb(this,"waterMarkNode"),Wb(this,"_waterMarkOption"),Wb(this,"watermarkImageList",[]),Wb(this,"_beautyParams"),Wb(this,"isUsingArTrack",!1),Wb(this,"_isMixScreen",!1),Wb(this,"_mixScreenOption",{}),Wb(this,"_virtualBackground"),Wb(this,"_virtualBackgroundAbortCallback"),Wb(this,"virtualBackgroundInstance"),Wb(this,"_bgAssetPath"),Wb(this,"log",Xk.createLogger({id:"vm"})),Wb(this,"_faceDetector"),Wb(this,"_mat4"),Wb(this,"_checkId",0),Wb(this,"_use2d",!1),Wb(this,"_autoSwitchRenderMode",!0),Wb(this,"_selfieSegmentation"),Wb(this,"encodePipeline",[]),Wb(this,"decodePipeline",[]),e&&(this.log.setUserId(e.userId),this.log.setSdkAppId(e.sdkAppId)),this.smallVideoContext=new iF({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 jD(this._rotation)?{width:r,height:t}:{width:t,height:r}}get2dVideoContext(){return this._2dVideoContext?this._2dVideoContext.destroy():this._2dVideoContext=new iF({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 rF({frameRate:15,logger:this.log,name:"m"});return this.initializeGlVideoContext(),this._glVideoContext}initializeGlVideoContext(){try{this._glVideoContext.create(),this._glVideoContext.on(rF.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(cw){this.emit("error",cw)}}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=DP.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(),DP.clearTask(this._checkId)}get needAlpha(){return this._hasWaterMark||this._hasVirtualBg}get active(){return(Ek||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?_M.addFailedEvent({key:t,error:e}):_M.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 rF({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}initVirtualBackground(e,t,r){return this._selfieSegmentation=e,this._faceDetector=t,this._mat4=r,this._selfieSegmentation.changeModel()}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 JV(this.smallVideoContext,e,this.log),this.smallVideoContext.on(rF.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;Ek&&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._selfieSegmentation&&e&&!this._use2d&&(this._selfieSegmentation._glName||this._selfieSegmentation.setCanvas(e)),this.log.info("set main output ".concat(n?n.label:"no output track")),this.setSmallVideo(i,e),r.setOutputMediaStreamTrack(n)}catch(nO){this.log.error("set main output failed",nO)}}update(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return Gb(this,null,(function*(){var t;if(!this.cameraTrack)return;if(!this.initialTrack)return this.updateWithoutCamera();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})),16===Ak?this.initialTrack instanceof CanvasCaptureMediaStreamTrack?(this.cameraNode&&(this.cameraNode instanceof QV?(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 QV?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 YV(this.videoContext,{name:"mainDestination",logger:this.log});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 cW(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,selfieSegmentation:this._selfieSegmentation,Wasm:this.Wasm,enableFaceCentering:this._enableFaceCentering,faceDetector:this._faceDetector,mat4:this._mat4}),this.cameraNode.connect(this.destination),this.destination.enableCheckMute()}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 oW(this.videoContext,this.log,this._isMirror,this._rotation),e=e.connect(this.transformNode),e.disconnect(),jD(this._rotation)&&this.transformNode.resize(r.height,r.width),this.log.info("start ".concat(this._isMirror?"mirror":"").concat(this._isRotate?", rotate ".concat(this.rotation):""))),this.mixNode&&this.mixNode.close(),delete this.mixNode,this._isMixScreen||this._hasWaterMark){if(this.mixNode=new aW(this.videoContext,this.log),this.mixNode.resize(r.width,r.height),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})),this.changeMixLayout(this._mixScreenOption),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))}updateWithoutCamera(){return Gb(this,null,(function*(){var e;if(!this._isMixScreen)return;if(!this.screenTrack||!this.screenTrack.mediaTrack)return void this.clearLastFrame();if(this.checkOrCreateVideoContext(),!this._use2d)return;this.destination||(this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination2d",logger:this.log}));let{settings:t,profile:r}=this.screenTrack;return this.videoContext.frameRate=(null==(e=this.cameraTrack)?void 0:e.profile.frameRate)||r.frameRate,this.mixNode&&this.mixNode.close(),this.mixNode=new aW(this.videoContext,this.log),this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack,"screenNodeSource"),this.screenNode.shouldUpdate=!0,this.screenNode.resize(t.width,t.height),this.screenNode.connect(this.mixNode,{zIndex:0}),this.changeMixLayout(this._mixScreenOption),this.mixNode.connect(this.destination),this.log.info("mix without camera"),this._setMainOutput(this.videoContext._canvas)}))}changeInput(e){var t,r,i,o;if(e instanceof vx)return this.log.info("change screen input",null==(t=e.mediaTrack)?void 0:t.label),this.setScreenTrack(e);if(e instanceof _x)return this.log.info("change video input",null==(r=e.mediaTrack)?void 0:r.label),this.setCameraTrack(e);if(e instanceof oF){this.log.info("change remote input",null==(i=e.mediaTrack)?void 0:i.label);let t=e.mediaTrack;return e.setOutputMediaStreamTrack(t)}this.log.warn("change unknown input",null==(o=e.mediaTrack)?void 0:o.label)}removeInput(e){var t;e instanceof vx?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof _x?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 oF&&e.source&&e.source.context.destroy()}setCameraTrack(e){return this.cameraTrack=e,this.update(!0)}setScreenTrack(e){return Gb(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 Gb(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 Zb({code:$b.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)})),LD(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 Gb(this,null,(function*(){this._beautyParams=e,this.update()}))}stopBeauty(){return Gb(this,null,(function*(){this._beautyParams=void 0,this.update()}))}setVideoMixer(e){this._isMixScreen=!0,this._mixScreenOption=e,this.update()}updateVideoMixer(e){this.changeMixLayout(e),bD(this._mixScreenOption,e)}changeMixLayout(e){if(!this._isMixScreen||!this.mixNode)return;let{camera:t,screen:r,container:i}=e;if(this.cameraNode&&t){let{width:e,height:r}=this.cameraNode,{x:i,y:o,width:n,height:a}=t;n&&!a?a=n*r/e:!n&&a&&(n=a*e/r),this.mixNode.changeInputLayout(this.cameraNode,{x:i,y:o,width:n,height:a})}if(this.screenNode&&r){let{width:e,height:t}=this.screenNode,{x:i,y:o,width:n,height:a}=r;n&&!a?a=n*t/e:!n&&a&&(n=a*e/t),this.mixNode.changeInputLayout(this.screenNode,{x:i,y:o,width:n,height:a})}i&&this.mixNode.resize(i.width,i.height)}deleteVideoMixer(){var e;this._isMixScreen=!1,this._mixScreenOption={},null==(e=this.screenNode)||e.close(),delete this.screenNode,this.update(),this.log.info("delete screenMixer")}setWatermark(e){return Gb(this,null,(function*(){let t;try{t=yield LD((null==e?void 0:e.imageElement)||e.imageUrl)}catch(c){throw new Zb({code:$b.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 Gb(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 Gb(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 Gb(this,null,(function*(){var t;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 LD(e.imageUrl):(this.blurRadius=e.blurLevel||this.blurRadius||3,this._virtualBackground=e.type),this._enableFaceCentering=null!=(t=e.enableFaceCentering)?t:this._enableFaceCentering}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 Zb({code:$b.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 Gb(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 pW(e)}clear(){var e;null==(e=this.videoContext)||e.disconnect(),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}};Hb([function(e){return ex(((t,r)=>function(){for(var r=arguments.length,i=new Array(r),o=0;o<r;o++)i[o]=arguments[o];return Gb(this,null,(function*(){try{return yield t.apply(this,i)}catch(nO){e.call(this,nO)}}))}))}((function(e){this.log.error("update failed",e)}))],mW.prototype,"update",1);var fW=0,_W=class extends AP{constructor(e){super("room"),Wb(this,"seq",++fW),Wb(this,"sdkAppId"),Wb(this,"userId"),Wb(this,"userSig"),Wb(this,"privateMapKey"),Wb(this,"latencyLevel"),Wb(this,"tinyId"),Wb(this,"scene"),Wb(this,"roomId"),Wb(this,"useStringRoomId"),Wb(this,"role","anchor"),Wb(this,"joinParams",null),Wb(this,"localTracks",new Set),Wb(this,"enableAutoPlayDialog",!0),Wb(this,"autoReceiveAudio",!0),Wb(this,"autoReceiveVideo",!0),Wb(this,"proxy_ws"),Wb(this,"proxy_wt"),Wb(this,"proxy_unified"),Wb(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}}),Wb(this,"keyPointManager"),Wb(this,"audioManager"),Wb(this,"videoManager"),Wb(this,"callDurationCalculator"),Wb(this,"badCaseDetector"),Wb(this,"scheduleResult",{domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}),Wb(this,"videoDecodeFallbackType"),Wb(this,"smallMode","canvas"),Wb(this,"_isUsingCachedSchedule",!1),Wb(this,"_log",Xk.createLogger({id:"r".concat(this.seq)})),Wb(this,"_joinedTimestamp",0),Wb(this,"_sdkType"),Wb(this,"heartbeatReport"),Wb(this,"quality"),Wb(this,"enableSEI"),Wb(this,"isDestroyed",!1),this.useStringRoomId=!!e.useStringRoomId,cD(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),cD(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),cD(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this._sdkType=e.sdkType,this.keyPointManager=new QH({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new eW({room:this}),this.badCaseDetector=new tW({room:this}),this.audioManager=new Ax(this),this.videoManager=new mW(this)}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 Gb(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return Gb(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return Gb(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAIVoice(e){throw new Error("Method not implemented.")}setProxyServer(e){if(aD(e))e.startsWith("wss://")?this.proxy_ws=e:e.startsWith("https://")&&(this.proxy_wt=e);else if(eD(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?(BB([n,n]),mw("https://".concat(n))):(i&&mw(i),o&&BB(o))}zk.once(Yk.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({sched_domain:FB.main,sched_back_domain:FB.backup,signal_domain:this.proxy_ws||this.proxy_wt||""})))}getRemoteAudioStats(){return Gb(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return Gb(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 Gb(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 Zb({code:$b.INVALID_OPERATION,message:aM({key:rM.CLIENT_DESTROYED,data:{funName:"join"}})})}destroy(){if(this.isJoined)throw this._log.warn(iM.INVALID_DESTROY),new Zb({code:$b.INVALID_OPERATION,message:aM({key:rM.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,zk.emit(Yk.ROOM_DESTROY,{room:this})}schedule(e,t){return Gb(this,null,(function*(){var r,i,o,n;let a=ED();try{let{isCached:s,result:c,detailCost:l}=yield VB({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(kD(c,{keysToExclude:["username","credential"]}))),s&&zk.once(Yk.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=xb(xb({},this.scheduleResult),c),sD(null==(r=c.config)?void 0:r.retryCount)&&lN(c.config.retryCount),aD(null==(i=c.config)?void 0:i.loggerDomain)&&mw(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,zk.emit(Yk.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:l}),_M.addSuccessEvent({key:521700,cost:ED()-a})}catch(rO){throw _M.addFailedEvent({key:521700,error:rO}),rO}}))}sendAbilityStatus(e){}enableInsertableStreams(){return Promise.resolve()}switchRoom(e){return Promise.reject()}isSwitchRoomSupported(){return!1}};var gW={useWt:!0,useAINS:!0,useHardDecoder:"prefer-software",useHardEncoder:"prefer-software",unreliable:!1,debug:!1,assetsPath:"",enableUpload:!0},EW="__INLINE__WORKER__",vW="__INLINE__WASM__",{debug:yW}=console;gW.debug||(console.debug=()=>{});var TW,IW=!EW.startsWith("__"),AW=!vW.startsWith("__");function SW(){let e=BD("".concat(gW.assetsPath?"".concat(gW.assetsPath,"/"):"","worker.js"));return IW?URL.createObjectURL(new Blob([atob(EW)],{type:"application/javascript"})):e.startsWith("http")?fetch(e).then((e=>e.blob().then((e=>URL.createObjectURL(e))))):e}function RW(){return Gb(this,null,(function*(){let e=gW.assetsPath?"".concat(gW.assetsPath,"/"):"";return TW||(TW=AW?(new TextEncoder).encode(atob(vW)).buffer:yield fetch(BD("".concat(e,"av_processing.wasm"))).then((e=>e.arrayBuffer())),TW)}))}var bW=new class{constructor(){Wb(this,"playPort"),Wb(this,"playPortSent",!1),Wb(this,"worklet"),Wb(this,"workletPromise")}init(){return this.workletPromise||(this.workletPromise=this._init()),this.workletPromise}_init(){return Gb(this,null,(function*(){let e=fL(),t=SW();try{yield e.audioWorklet.addModule("string"==typeof t?t:yield t),Xk.info("global audio player worklet addModule success",t)}catch(dN){throw Xk.error("global audio player worklet addModule failed:",dN),dN}return this.worklet=new AudioWorkletNode(e,"global-audio-player",{processorOptions:{wasm:yield RW(),flag:gW},numberOfInputs:2}),Xk.info("global audio player worklet created",e.state),this.worklet.connect(e.destination),this.playPort=this.worklet.port,this.playPort}))}playAudio(e){return Gb(this,null,(function*(){this.playPortSent||(this.playPortSent=!0,e(yield this.init()))}))}},wW="undefined"!=typeof self&&(!("top"in self)||self===top)&&"showOpenFilePicker"in self&&"showOpenFilePicker";wW?Promise.resolve().then((function(){return kW})):Promise.resolve().then((function(){return UW})),wW?Promise.resolve().then((function(){return LW})):Promise.resolve().then((function(){return VW}));var NW=wW?Promise.resolve().then((function(){return xW})):Promise.resolve().then((function(){return FW}));function DW(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Gb(this,null,(function*(){return(yield NW).default(...t)}))}var CW=e=>Gb(void 0,null,(function*(){let t=yield e.getFile();return t.handle=e,t})),kW={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Gb(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(CW));return e[0].multiple?i:i[0]}()}))}};function OW(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 OW=function(e){this.s=e,this.n=e.next},OW.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 OW(e)}var MW,PW=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 Gb(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,u=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 OW(t.call(e));r="@@asyncIterator",i="@@iterator"}throw new TypeError("Object is not async iterable")}(e.values());s=!(l=yield u.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(PW(a,t,s,i))}}catch(d){c=!0,a=d}finally{try{s&&null!=u.return&&(yield u.return())}finally{if(c)throw a}}return[...(yield Promise.all(o)).flat(),...yield Promise.all(n)]}()}))},LW={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Gb(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 PW(t,e.recursive,void 0,e.skipDirectory)}()}))}},xW={__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 Gb(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)}()}))}},UW={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Gb(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()}))}()}))}},VW={__proto__:null,default:function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Gb(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()}))}()}))}},FW={__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 Gb(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 Gb(this,null,(function*(){let r=e.getReader(),i=new ReadableStream({start:e=>function t(){return Gb(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}()}))}},BW=class{constructor(e){this.name=e,Wb(this,"ready"),Wb(this,"worker"),Wb(this,"ports"),Wb(this,"ids",1),Wb(this,"transactions",new Map),Wb(this,"log"),Wb(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 Gb(this,null,(function*(){if(this.ready)return this.ready;e||(e=this.name),console.time("createWorker_".concat(e));let t=SW(),r=new Worker("string"==typeof t?t:yield t,{name:e});return this.worker=r,this.ready=new Promise(((t,i)=>Gb(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(CD(),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 RW(),flag:gW},this.ports)}))))}))}destroy(){var e;console.log("destroy worker",this.name),delete this.ready,null==(e=this.worker)||e.terminate()}},HW=class{constructor(e,t,r){this.worker=e,Wb(this,"channel",new MessageChannel),Wb(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()}},WW=new class e extends BW{constructor(){super("main"),Wb(this,"switchValue",new Map),Wb(this,"extendChannel"),Wb(this,"sessionCount",0)}setSwitchValue(e,t){var r;this.switchValue.set(e,t),null==(r=this.extendChannel)||r.port1.postMessage([e,t])}create(){return Gb(this,null,(function*(){return this.ready?this.ready:(this.extendChannel=new MessageChannel,this.ports=[this.extendChannel.port2],yield jb(e.prototype,this,"create").call(this),this.switchValue.forEach(((e,t)=>{this.extendChannel.port1.postMessage([t,e])})),this)}))}};function jW(e){return Gb(this,null,(function*(){yield WW.create(),zk.emit(Yk.JOIN_SEND_CMD,{room:this});let t=new HW(WW,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(zk.emit(Yk.JOIN_RECEIVED_CMD_RES,{room:this,code:r}),0===r)return Object.assign(this,i,{session:t});throw new Zb({code:$b.JOIN_ROOM_FAILED,extraCode:Number(r),message:aM({key:rM.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:r,errorMsg:""}})})}throw r}))}function GW(e){return Gb(this,null,(function*(){WW.setSwitchValue("useAINS",e)}))}function KW(e){return Gb(this,null,(function*(){WW.setSwitchValue("useV2",e)}))}function zW(e){let t=new MediaStreamTrackGenerator({kind:"audio"});e.setInputMediaStreamTrack(t),this.postMessage({cmd:"pullAudio",payload:{tinyId:e.tinyId,writable:t.writable}},[t.writable])}function qW(e){return Gb(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),Lx(function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=Object.defineProperties(rU(),{postMessage:{value:e.postMessage.bind(e)},port:{get:()=>e,set(t){e.onmessage=Rx,e.onmessageerror=Rx,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),PU(hU(e,AP.INIT)),MV((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:GW},useWt:{set:function(e){return Gb(this,null,(function*(){WW.setSwitchValue("useWt",e)}))}},enableDebug:{set(e){console.debug=e?yW:()=>{},WW.setSwitchValue("enableDebug",e)}},useV2:{set:KW},dump:{value(){if(MW||(console.warn("dump audio will be activated at next time join room"),MW=[]),!MW.length)return void console.warn("no audio data to dump,try it later");let e=[];return MW.forEach((t=>{e.push(new Uint16Array([t.length])),e.push(t)})),DW(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;WW.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,WW.extendChannel.port1.postMessage(["dump",e]),o.port2.close(),i(new Blob(r)))}}));return DW(i,{fileName:e,extensions:[".pcm"]})}},hardDec:{set(e){switch(e){case!0:gW.useHardDecoder="prefer-hardware";break;case!1:gW.useHardDecoder="prefer-software";break;default:gW.useHardDecoder="no-preference"}}}});var YW=[];function JW(e){var t;let r=rU();if("joined"!==this.state)throw new Error("Room is not joined");if("publish"===e.state)return;for(let l=0;l<=YW.length;l++)if(!YW[l]){YW[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(Ub(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=fL().createMediaStreamSource(s),a.connect(bW.worklet,0,this.index)};Lx(hU(e,"output-media-track-changed"),PU(hU(e,"ready")),MV(c,console.error,(()=>{this._log.info("stop push audio",i),e.volume=0,a.disconnect(),YW[this.index]=null,n&&n.port1.postMessage(null),o.port1.postMessage(null)}))),Lx(r,PV((t=>e.volume=t)),pV(GV(1e3)),MV((()=>{e.volume=0}))),c(e.outMediaTrack)}var XW=class{constructor(e,t,r,i){this.localTrack=e,this.type=t,this.config=r,this.port=i,Wb(this,"track"),Wb(this,"label"),Wb(this,"insertKeyFrame",!0),Wb(this,"encoder"),Wb(this,"tsMap",new Map),e._log.info("create Video Encoder",r)}trans(e,t,r){return Gb(this,null,(function*(){yield this.recreate(r),t.signal.addEventListener("abort",(()=>{this.encoder.close()}));let i=0;return e.pipeThrough(new TransformStream({transform:(e,t)=>{"configured"===this.encoder.state&&(this.tsMap.set(i,Date.now()),this.encode(e),i++,t.enqueue(e))}}),t)}))}encode(e){this.encoder.encode(e,{keyFrame:this.insertKeyFrame}),this.insertKeyFrame=!1}start(e,t,r){return Gb(this,null,(function*(){yield this.recreate(r);let i=0;e.pipeTo(new WritableStream({write:e=>{"configured"===this.encoder.state&&(i<10&&this.localTrack.log.info("capture ".concat(this.label," track frame:"),i,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})),this.tsMap.set(i,Date.now()),this.encode(e),i<10&&this.localTrack.log.info("encode ".concat(this.label," track frame:"),i),i++,e.close())}}),t).catch((e=>{var t;this.localTrack.log.warn(e),null==(t=this.encoder)||t.close()}))}))}recreate(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Gb(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&&zk.emit(Yk.SEND_FIRST_VIDEO_FRAME,{room:e}),this.localTrack.log.info("encoded ".concat(this.label," track frame:"),r,Date.now(),i.timestamp)),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),setTimeout((()=>this.recreate(e,t+1)),100)}});return this.encoder=i,yield this.configure({},0===r?t:0),i}))}configure(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;return Gb(this,null,(function*(){var r;if(Object.assign(this.config,e),0===t)for(let e=0;e<=uW.length;e++){let{supported:t}=yield VideoDecoder.isConfigSupported(this.config);if(t)break;if(e===uW.length)return;uW[e](this.config)}else t<=uW.length&&uW[t-1](this.config);null==(r=this.encoder)||r.configure(this.config)}))}close(){this.port.postMessage(null),this.port.close()}};function $W(e,t){return Gb(this,null,(function*(){let r=2===e.mediaType,i=r?"screen":"video",o={codec:"avc1.640028",latencyMode:"realtime",avc:{format:"annexb"},hardwareAcceleration:gW.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 XW(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;QN({configureBr:[e.data.bitrate,t]}),a.configure({bitrate:t})}},this._log.info("start push",i,t),a}))}function QW(e){return Gb(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 $W.call(this,e,o);this._log.info("VideoEncoder created",o);let l,u=t=>Gb(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,u=ZD.match(/Chrome\/(\d+)/);"114"===(null==u?void 0:u[1])&&"browser"===a&&delete c.config.hardwareAcceleration,this._log.info("push",i,"track:",t.readyState,t.getSettings()),s="undefined"!=typeof MediaStreamTrackProcessor?new MediaStreamTrackProcessor({track:t}).readable:new ReadableStream({pull(t){return Gb(this,null,(function*(){if(hP())return new Promise((r=>{var i;null==(i=e.player.element)||i.requestVideoFrameCallback(((i,o)=>{let n=new VideoFrame(e.player.element);t.enqueue(n),r()}))}))}))}});let d="small"in e&&e.small;return d?(this.smallEncoder||(this.smallEncoder=yield $W.call(this,e,{profile:d,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 Lx(hU(e,"output-media-track-changed"),PU(hU(e,"ready")),MV(u,console.error,(()=>{var e;this._log.info("stop push",i,o),l.abort("unpublish"),c.close(),null==(e=this.smallEncoder)||e.close()}))),u(e.outMediaTrack)}))}var ZW=class e extends AP{constructor(t){var r,i;super(null!=(i=null==(r=t.roomid)?void 0:r.toString())?i:t.name,"volumeEvaluation"),this.room=t,Wb(this,"enableInBackground",!1),Wb(this,"interval",400),t.on("joined",(()=>{this.emit(e.INTERVALCHANGED,this.interval)})),Lx(hU(this,e.INTERVALCHANGED),dV((e=>"joined"===this.room.state?this.room.fromWorker("getAudioEnergy",e):Lx((e=>t=>{let r=0,i=performance.now();Lx(jV,nV((t=>(t-i)/e|0)),kU((e=>e!=r&&(r=e,!0))))(t)})(e),nV((()=>[]))))),MV((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==AP.ON&&this.room.emit("audio-volume",e)})))}start(t,r){this.interval=t,this.enableInBackground=r,this.emit(e.INTERVALCHANGED,this.interval)}stop(){}};Wb(ZW,"INTERVALCHANGED","intervalChanged"),Hb([yP([AP.INIT,AP.OFF],AP.ON)],ZW.prototype,"start",1),Hb([yP([],AP.OFF)],ZW.prototype,"stop",1);var ej=ZW,tj=class extends _W{constructor(e){super(e),Wb(this,"index",0),Wb(this,"session"),Wb(this,"tinyid"),Wb(this,"roomid"),Wb(this,"openid"),Wb(this,"socketid"),Wb(this,"relayip"),Wb(this,"clientip"),Wb(this,"remotePublishedUserMap",new Map),Wb(this,"bussinessInfo"),Wb(this,"token"),Wb(this,"audioVolumeEvalution",new ej(this)),Wb(this,"enableAIVoice",GW),Wb(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:jk(),uint32_device_type:0,str_os_verion:Gk(),uint32_link_type:1,str_client_version:aw,uint32_net_type:Cw[iw.getNetworkType()],ua:navigator.userAgent,version:""}}),Wb(this,"joinAbortController",new AbortController),Wb(this,"smallAbortCtrl"),Wb(this,"smallEncoder"),e.tinyId&&(this.tinyId=e.tinyId,KW(!0)),this._log||(this._log=e.logger),this.bussinessInfo=e.bussinessInfo,e.encodedDataProcessingListener&&this.setEncodedDataProcessingListener(e.encodedDataProcessingListener)}replaceTrack(e){return Gb(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 Gb(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 Gb(this,null,(function*(){var i,o,n;let a=iw.getEnv(),s=vM(),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:Bk(),browserInfo:vM(),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 jW.call(this,c),console.log(this),bW.playAudio((e=>this.postMessage({cmd:"setAudioWorkletPort"},[e]))),this.checkDestroy()}))}leave(){return Gb(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()))}))}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 Gb(this,null,(function*(){Lx((e=>Gb(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])}))),PU(hU(this,"left")),MV((e=>{let{data:t,port:r}=e,i=this.audioManager.decodePipeline[0]({frame:{data:t.data.buffer}});r.postMessage(Ub(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 Yk.RECEIVED_PUBLISHED_USER_LIST:return void zk.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 KH(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 zk.emit(Yk.REMOTE_PUBLISH_STATE_CHANGED,xb({room:this},t)),void this.emit("remote-publish-state-changed",t);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: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:Cw[jN()]},msg_event_msg:cF(this.userId),str_acc_ip:this.relayip,str_client_ip:this.clientip,msg_up_stream_info:n,msg_down_stream_info:s};zk.emit(Yk.HEARTBEAT_REPORT,{room:this,report:c}),this.emit("heartbeat-report",c),zk.emit(Yk.NETWORK_QUALITY,{room:this,uplink:{rtt:o,loss:i},downlinks:a}),delete t.downlinkInfo;break;case"signal-connection-state-changed":return void zk.emit(Yk.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 Gb(this,null,(function*(){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=>Gb(this,null,(function*(){if(1===(yield r,e.muted&&(i|=e.mediaType),MP(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))JW.call(this,e);else yield QW.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 Gb(this,null,(function*(){t.forEach(PP)}))}subscribe(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Gb(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 zO,a);s.mediaType|=e,zk.emit(Yk.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?zW.call(this,e):qW.call(this,e)))),zk.emit(Yk.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 Gb(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();zk.emit(Yk.UNSUBSCRIBE_SUCCESS,{room:this,streamType:i,remotePublishedUser:this.remotePublishedUserMap.get(r)})}}))}enableSmall(e){return Gb(this,null,(function*(){var t;if(e){if(this.videoManager.smallTrack){let e=this.videoManager.cameraTrack;this.smallEncoder=yield $W.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"))}};Hb([ZL(tj.prototype.afterJoin),yP(["left",AP.INIT],"joined"),ex((e=>{let t=new zH;return function(r,i,o){return Gb(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 Zb({code:$b.INVALID_OPERATION,message:aM({key:rM.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:n,sdkAppId:this.sdkAppId,room:this}))throw new Zb({code:$b.INVALID_OPERATION,message:aM({key:rM.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)),zk.emit(Yk.JOIN_START,{room:this,roomId:n,params:r});let a=iw.getEnv();a||(a=bw.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(Fw.OLD_CLOUD_LADDER)?a=bw.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(Fw.WEBRTC)&&(a=bw.WEBRTC))),LP.setConfig({env:a,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:n}),Zk.checkSystemRequirementsInternal().then((e=>{this.checkSystemResult=e,qH.call(this)}));try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!iw.getEnv()&&(yield this.schedule(r,o));let t=yield e.call(this,r,i,o);return this.roomId=n,this._joinedTimestamp=iw.performanceNow(),zk.emit(Yk.JOIN_SUCCESS,{room:this}),30===o&&!r.component&&LP.uploadEvent({log:"stat-conv-".concat(Number(Dk),"-").concat(location.hostname),userId:this.userId}),t}catch(aO){throw t.delete({room:this,roomId:n}),zk.emit(Yk.JOIN_FAILED,{room:this,error:aO}),aO}}))}}))],tj.prototype,"join",1),Hb([yP("joined","left",{ignoreError:!0}),ex((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Gb(this,null,(function*(){zk.emit(Yk.LEAVE_START,{room:this}),yield e.call(this,...r),zk.emit(Yk.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))}))],tj.prototype,"leave",1),Hb([sx((function(){return 0})),ex((e=>function(){for(var t=arguments.length,r=new Array(t),i=0;i<t;i++)r[i]=arguments[i];return Gb(this,null,(function*(){if("live"===this.scene&&"anchor"!==this.role||(r=r.filter((e=>e.outMediaTrack&&"ready"===e.state)),!r.length))return;zk.emit("61",{room:this});let t=e.apply(this,r);return r.forEach((e=>e.publish(this,t))),t}))}))],tj.prototype,"publish",1),Hb([sx((function(){return 0})),ex((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}))],tj.prototype,"unpublish",1),Hb([sx((function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return t[0].userId})),ex((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}))],tj.prototype,"subscribe",1);var rj=tj;return GH.frameWorkType=37,GH.create=function(e){let t=GH._create.call(this,rj,e);return t._use(qF,null==e?void 0:e.assetsPath),null!=e&&e.assetsPath&&(gW.assetsPath=null==e?void 0:e.assetsPath),console.log("trtc wasm sdk:",aw,"created",gW),t},Object.assign(GH.prototype,{_setCurrentSpeaker(e){let t=fL();return null!=t&&t.setSinkId?t.setSinkId(e):Promise.reject("not support")},_enableVideoDecodeFallback(e,t){return Gb(this,null,(function*(){return this.startPlugin(qF.Name,{type:"webCodecs",renderer:"videoFrame",track:e,config:{codec:"avc1.420028"},fallback:"wasm"}),new Promise(((t,r)=>{Lx(hU(e,"decode-downgrade-state-changed"),kU((e=>"STARTED"===e.state)),MU(1),LV(1e4),PU(hU(e,AP.INIT)),MV(t,r))}))}))}}),dP(37),GH}));