From 17be91c0a579bd143a76faec300d42b18ed8ed33 Mon Sep 17 00:00:00 2001 From: fz Date: Thu, 30 Nov 2023 23:18:55 +0800 Subject: [PATCH] 1130-3 --- Miniapp-H5/dist/index.html | 2 +- Miniapp-H5/dist/js/{315.277cbca8.js => 315.35b56b98.js} | 4 ++-- .../dist/js/{315.277cbca8.js.map => 315.35b56b98.js.map} | 2 +- Miniapp-H5/dist/js/{667.ca832d99.js => 667.c7c4d337.js} | 4 ++-- Miniapp-H5/dist/js/667.c7c4d337.js.map | 1 + Miniapp-H5/dist/js/667.ca832d99.js.map | 1 - Miniapp-H5/dist/js/{app.6cd6df47.js => app.b526e971.js} | 4 ++-- .../dist/js/{app.6cd6df47.js.map => app.b526e971.js.map} | 2 +- 8 files changed, 10 insertions(+), 10 deletions(-) rename Miniapp-H5/dist/js/{315.277cbca8.js => 315.35b56b98.js} (94%) rename Miniapp-H5/dist/js/{315.277cbca8.js.map => 315.35b56b98.js.map} (88%) rename Miniapp-H5/dist/js/{667.ca832d99.js => 667.c7c4d337.js} (93%) create mode 100644 Miniapp-H5/dist/js/667.c7c4d337.js.map delete mode 100644 Miniapp-H5/dist/js/667.ca832d99.js.map rename Miniapp-H5/dist/js/{app.6cd6df47.js => app.b526e971.js} (78%) rename Miniapp-H5/dist/js/{app.6cd6df47.js.map => app.b526e971.js.map} (99%) diff --git a/Miniapp-H5/dist/index.html b/Miniapp-H5/dist/index.html index d4744d2..d085124 100644 --- a/Miniapp-H5/dist/index.html +++ b/Miniapp-H5/dist/index.html @@ -1 +1 @@ -nouiroom
\ No newline at end of file +nouiroom
\ No newline at end of file diff --git a/Miniapp-H5/dist/js/315.277cbca8.js b/Miniapp-H5/dist/js/315.35b56b98.js similarity index 94% rename from Miniapp-H5/dist/js/315.277cbca8.js rename to Miniapp-H5/dist/js/315.35b56b98.js index fe90d47..5301777 100644 --- a/Miniapp-H5/dist/js/315.277cbca8.js +++ b/Miniapp-H5/dist/js/315.35b56b98.js @@ -1,2 +1,2 @@ -(self["webpackChunknouiroom"]=self["webpackChunknouiroom"]||[]).push([[315],{2799:function(e,t,i){i(560),i(5847),i(8858),i(1318),i(3228),i(4224),i(1121),i(7133),i(3429),function(t,i){e.exports=i()}(0,(function(){function e(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(i){if("default"!==i&&!(i in e)){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}}))})),Object.freeze(e)}var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof i.g?i.g:"undefined"!=typeof self?self:{},n=function(e){try{return!!e()}catch(t){return!0}},r=!n((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),o=r,s=Function.prototype,a=s.call,c=o&&s.bind.bind(a,a),l=o?c:function(e){return function(){return a.apply(e,arguments)}},d=l,u=d({}.toString),h=d("".slice),p=function(e){return h(u(e),8,-1)},m=n,_=p,f=Object,g=l("".split),T=m((function(){return!f("z").propertyIsEnumerable(0)}))?function(e){return"String"==_(e)?g(e,""):f(e)}:f,E=function(e){return null==e},S=E,I=TypeError,y=function(e){if(S(e))throw I("Can't call method on "+e);return e},v=T,A=y,R=function(e){return v(A(e))},C=function(e){return e&&e.Math==Math&&e},b=C("object"==typeof globalThis&&globalThis)||C("object"==typeof window&&window)||C("object"==typeof self&&self)||C("object"==typeof t&&t)||function(){return this}()||Function("return this")(),k={},N={get exports(){return k},set exports(e){k=e}},D=b,O=Object.defineProperty,w=function(e,t){try{O(D,e,{value:t,configurable:!0,writable:!0})}catch(n){D[e]=t}return t},P=w,L="__core-js_shared__",M=b[L]||P(L,{}),x=M;(N.exports=function(e,t){return x[e]||(x[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.30.0",mode:"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.30.0/LICENSE",source:"https://github.com/zloirock/core-js"});var V,U,F=y,B=Object,H=function(e){return B(F(e))},j=H,G=l({}.hasOwnProperty),W=Object.hasOwn||function(e,t){return G(j(e),t)},J=l,z=0,K=Math.random(),q=J(1..toString),Y=function(e){return"Symbol("+(void 0===e?"":e)+")_"+q(++z+K,36)},Q="undefined"!=typeof navigator&&String(navigator.userAgent)||"",X=b,$=Q,Z=X.process,ee=X.Deno,te=Z&&Z.versions||ee&&ee.version,ie=te&&te.v8;ie&&(U=(V=ie.split("."))[0]>0&&V[0]<4?1:+(V[0]+V[1])),!U&&$&&(!(V=$.match(/Edge\/(\d+)/))||V[1]>=74)&&(V=$.match(/Chrome\/(\d+)/))&&(U=+V[1]);var ne=U,re=ne,oe=n,se=!!Object.getOwnPropertySymbols&&!oe((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&re&&re<41})),ae=se&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,ce=k,le=W,de=Y,ue=se,he=ae,pe=b.Symbol,me=ce("wks"),_e=he?pe.for||pe:pe&&pe.withoutSetter||de,fe=function(e){return le(me,e)||(me[e]=ue&&le(pe,e)?pe[e]:_e("Symbol."+e)),me[e]},ge="object"==typeof document&&document.all,Te={all:ge,IS_HTMLDDA:void 0===ge&&void 0!==ge},Ee=Te.all,Se=Te.IS_HTMLDDA?function(e){return"function"==typeof e||e===Ee}:function(e){return"function"==typeof e},Ie=Se,ye=Te.all,ve=Te.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:Ie(e)||e===ye}:function(e){return"object"==typeof e?null!==e:Ie(e)},Ae=ve,Re=String,Ce=TypeError,be=function(e){if(Ae(e))return e;throw Ce(Re(e)+" is not an object")},ke={},Ne=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),De=Ne&&n((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Oe={},we=ve,Pe=b.document,Le=we(Pe)&&we(Pe.createElement),Me=function(e){return Le?Pe.createElement(e):{}},xe=Me,Ve=!Ne&&!n((function(){return 7!=Object.defineProperty(xe("div"),"a",{get:function(){return 7}}).a})),Ue=r,Fe=Function.prototype.call,Be=Ue?Fe.bind(Fe):function(){return Fe.apply(Fe,arguments)},He=b,je=Se,Ge=function(e,t){return arguments.length<2?(i=He[e],je(i)?i:void 0):He[e]&&He[e][t];var i},We=l({}.isPrototypeOf),Je=Ge,ze=Se,Ke=We,qe=Object,Ye=ae?function(e){return"symbol"==typeof e}:function(e){var t=Je("Symbol");return ze(t)&&Ke(t.prototype,qe(e))},Qe=String,Xe=function(e){try{return Qe(e)}catch(t){return"Object"}},$e=Se,Ze=Xe,et=TypeError,tt=function(e){if($e(e))return e;throw et(Ze(e)+" is not a function")},it=tt,nt=E,rt=function(e,t){var i=e[t];return nt(i)?void 0:it(i)},ot=Be,st=Se,at=ve,ct=TypeError,lt=Be,dt=ve,ut=Ye,ht=rt,pt=function(e,t){var i,n;if("string"===t&&st(i=e.toString)&&!at(n=ot(i,e)))return n;if(st(i=e.valueOf)&&!at(n=ot(i,e)))return n;if("string"!==t&&st(i=e.toString)&&!at(n=ot(i,e)))return n;throw ct("Can't convert object to primitive value")},mt=TypeError,_t=fe("toPrimitive"),ft=function(e,t){if(!dt(e)||ut(e))return e;var i,n=ht(e,_t);if(n){if(void 0===t&&(t="default"),i=lt(n,e,t),!dt(i)||ut(i))return i;throw mt("Can't convert object to primitive value")}return void 0===t&&(t="number"),pt(e,t)},gt=ft,Tt=Ye,Et=function(e){var t=gt(e,"string");return Tt(t)?t:t+""},St=Ne,It=Ve,yt=De,vt=be,At=Et,Rt=TypeError,Ct=Object.defineProperty,bt=Object.getOwnPropertyDescriptor,kt="enumerable",Nt="configurable",Dt="writable";Oe.f=St?yt?function(e,t,i){if(vt(e),t=At(t),vt(i),"function"==typeof e&&"prototype"===t&&"value"in i&&Dt in i&&!i[Dt]){var n=bt(e,t);n&&n[Dt]&&(e[t]=i.value,i={configurable:Nt in i?i[Nt]:n[Nt],enumerable:kt in i?i[kt]:n[kt],writable:!1})}return Ct(e,t,i)}:Ct:function(e,t,i){if(vt(e),t=At(t),vt(i),It)try{return Ct(e,t,i)}catch(r){}if("get"in i||"set"in i)throw Rt("Accessors not supported");return"value"in i&&(e[t]=i.value),e};var Ot=Math.ceil,wt=Math.floor,Pt=Math.trunc||function(e){var t=+e;return(t>0?wt:Ot)(t)},Lt=Pt,Mt=function(e){var t=+e;return t!=t||0===t?0:Lt(t)},xt=Mt,Vt=Math.max,Ut=Math.min,Ft=function(e,t){var i=xt(e);return i<0?Vt(i+t,0):Ut(i,t)},Bt=Mt,Ht=Math.min,jt=function(e){return e>0?Ht(Bt(e),9007199254740991):0},Gt=jt,Wt=function(e){return Gt(e.length)},Jt=R,zt=Ft,Kt=Wt,qt=function(e){return function(t,i,n){var r,o=Jt(t),s=Kt(o),a=zt(n,s);if(e&&i!=i){for(;s>a;)if((r=o[a++])!=r)return!0}else for(;s>a;a++)if((e||a in o)&&o[a]===i)return e||a||0;return!e&&-1}},Yt={includes:qt(!0),indexOf:qt(!1)},Qt={},Xt=W,$t=R,Zt=Yt.indexOf,ei=Qt,ti=l([].push),ii=function(e,t){var i,n=$t(e),r=0,o=[];for(i in n)!Xt(ei,i)&&Xt(n,i)&&ti(o,i);for(;t.length>r;)Xt(n,i=t[r++])&&(~Zt(o,i)||ti(o,i));return o},ni=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ri=ii,oi=ni,si=Object.keys||function(e){return ri(e,oi)},ai=Ne,ci=De,li=Oe,di=be,ui=R,hi=si;ke.f=ai&&!ci?Object.defineProperties:function(e,t){di(e);for(var i,n=ui(t),r=hi(t),o=r.length,s=0;o>s;)li.f(e,i=r[s++],n[i]);return e};var pi,mi=Ge("document","documentElement"),_i=Y,fi=k("keys"),gi=function(e){return fi[e]||(fi[e]=_i(e))},Ti=be,Ei=ke,Si=ni,Ii=Qt,yi=mi,vi=Me,Ai="prototype",Ri="script",Ci=gi("IE_PROTO"),bi=function(){},ki=function(e){return"<"+Ri+">"+e+""},Ni=function(e){e.write(ki("")),e.close();var t=e.parentWindow.Object;return e=null,t},Di=function(){try{pi=new ActiveXObject("htmlfile")}catch(o){}var e,t,i;Di="undefined"!=typeof document?document.domain&&pi?Ni(pi):(t=vi("iframe"),i="java"+Ri+":",t.style.display="none",yi.appendChild(t),t.src=String(i),(e=t.contentWindow.document).open(),e.write(ki("document.F=Object")),e.close(),e.F):Ni(pi);for(var n=Si.length;n--;)delete Di[Ai][Si[n]];return Di()};Ii[Ci]=!0;var Oi=Object.create||function(e,t){var i;return null!==e?(bi[Ai]=Ti(e),i=new bi,bi[Ai]=null,i[Ci]=e):i=Di(),void 0===t?i:Ei.f(i,t)},wi=fe,Pi=Oi,Li=Oe.f,Mi=wi("unscopables"),xi=Array.prototype;null==xi[Mi]&&Li(xi,Mi,{configurable:!0,value:Pi(null)});var Vi,Ui,Fi,Bi=function(e){xi[Mi][e]=!0},Hi={},ji=Se,Gi=b.WeakMap,Wi=ji(Gi)&&/native code/.test(String(Gi)),Ji=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},zi=Oe,Ki=Ji,qi=Ne?function(e,t,i){return zi.f(e,t,Ki(1,i))}:function(e,t,i){return e[t]=i,e},Yi=Wi,Qi=b,Xi=ve,$i=qi,Zi=W,en=M,tn=gi,nn=Qt,rn="Object already initialized",on=Qi.TypeError,sn=Qi.WeakMap;if(Yi||en.state){var an=en.state||(en.state=new sn);an.get=an.get,an.has=an.has,an.set=an.set,Vi=function(e,t){if(an.has(e))throw on(rn);return t.facade=e,an.set(e,t),t},Ui=function(e){return an.get(e)||{}},Fi=function(e){return an.has(e)}}else{var cn=tn("state");nn[cn]=!0,Vi=function(e,t){if(Zi(e,cn))throw on(rn);return t.facade=e,$i(e,cn,t),t},Ui=function(e){return Zi(e,cn)?e[cn]:{}},Fi=function(e){return Zi(e,cn)}}var ln={set:Vi,get:Ui,has:Fi,enforce:function(e){return Fi(e)?Ui(e):Vi(e,{})},getterFor:function(e){return function(t){var i;if(!Xi(t)||(i=Ui(t)).type!==e)throw on("Incompatible receiver, "+e+" required");return i}}},dn={},un={},hn={}.propertyIsEnumerable,pn=Object.getOwnPropertyDescriptor,mn=pn&&!hn.call({1:2},1);un.f=mn?function(e){var t=pn(this,e);return!!t&&t.enumerable}:hn;var _n=Ne,fn=Be,gn=un,Tn=Ji,En=R,Sn=Et,In=W,yn=Ve,vn=Object.getOwnPropertyDescriptor;dn.f=_n?vn:function(e,t){if(e=En(e),t=Sn(t),yn)try{return vn(e,t)}catch(n){}if(In(e,t))return Tn(!fn(gn.f,e,t),e[t])};var An={},Rn={get exports(){return An},set exports(e){An=e}},Cn=Ne,bn=W,kn=Function.prototype,Nn=Cn&&Object.getOwnPropertyDescriptor,Dn=bn(kn,"name"),On={EXISTS:Dn,PROPER:Dn&&"something"===function(){}.name,CONFIGURABLE:Dn&&(!Cn||Cn&&Nn(kn,"name").configurable)},wn=Se,Pn=M,Ln=l(Function.toString);wn(Pn.inspectSource)||(Pn.inspectSource=function(e){return Ln(e)});var Mn=Pn.inspectSource,xn=l,Vn=n,Un=Se,Fn=W,Bn=Ne,Hn=On.CONFIGURABLE,jn=Mn,Gn=ln.enforce,Wn=ln.get,Jn=String,zn=Object.defineProperty,Kn=xn("".slice),qn=xn("".replace),Yn=xn([].join),Qn=Bn&&!Vn((function(){return 8!==zn((function(){}),"length",{value:8}).length})),Xn=String(String).split("String"),$n=Rn.exports=function(e,t,i){"Symbol("===Kn(Jn(t),0,7)&&(t="["+qn(Jn(t),/^Symbol\(([^)]*)\)/,"$1")+"]"),i&&i.getter&&(t="get "+t),i&&i.setter&&(t="set "+t),(!Fn(e,"name")||Hn&&e.name!==t)&&(Bn?zn(e,"name",{value:t,configurable:!0}):e.name=t),Qn&&i&&Fn(i,"arity")&&e.length!==i.arity&&zn(e,"length",{value:i.arity});try{i&&Fn(i,"constructor")&&i.constructor?Bn&&zn(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var n=Gn(e);return Fn(n,"source")||(n.source=Yn(Xn,"string"==typeof t?t:"")),e};Function.prototype.toString=$n((function(){return Un(this)&&Wn(this).source||jn(this)}),"toString");var Zn=Se,er=Oe,tr=An,ir=w,nr=function(e,t,i,n){n||(n={});var r=n.enumerable,o=void 0!==n.name?n.name:t;if(Zn(i)&&tr(i,o,n),n.global)r?e[t]=i:ir(t,i);else{try{n.unsafe?e[t]&&(r=!0):delete e[t]}catch(a){}r?e[t]=i:er.f(e,t,{value:i,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return e},rr={},or=ii,sr=ni.concat("length","prototype");rr.f=Object.getOwnPropertyNames||function(e){return or(e,sr)};var ar={};ar.f=Object.getOwnPropertySymbols;var cr,lr,dr,ur=Ge,hr=rr,pr=ar,mr=be,_r=l([].concat),fr=ur("Reflect","ownKeys")||function(e){var t=hr.f(mr(e)),i=pr.f;return i?_r(t,i(e)):t},gr=W,Tr=fr,Er=dn,Sr=Oe,Ir=function(e,t,i){for(var n=Tr(t),r=Sr.f,o=Er.f,s=0;s=t.length?(e.target=void 0,Xo(void 0,!0)):Xo("keys"==i?n:"values"==i?t[n]:[n,t[n]],!1)}),"values"),ns=Ko.Arguments=Ko.Array;if(zo("keys"),zo("values"),zo("entries"),$o&&"values"!==ns.name)try{Yo(ns,"name",{value:"values"})}catch(IU){}var rs={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},os=Me("span").classList,ss=os&&os.constructor&&os.constructor.prototype,as=ss===Object.prototype?void 0:ss,cs=b,ls=rs,ds=as,us=is,hs=qi,ps=fe,ms=ps("iterator"),_s=ps("toStringTag"),fs=us.values,gs=function(e,t){if(e){if(e[ms]!==fs)try{hs(e,ms,fs)}catch(IU){e[ms]=fs}if(e[_s]||hs(e,_s,t),ls[t])for(var i in us)if(e[i]!==us[i])try{hs(e,i,us[i])}catch(IU){e[i]=us[i]}}};for(var Ts in ls)gs(cs[Ts]&&cs[Ts].prototype,Ts);gs(ds,"DOMTokenList");var Es="undefined"!=typeof process&&"process"==p(process),Ss=An,Is=Oe,ys=function(e,t,i){return i.get&&Ss(i.get,t,{getter:!0}),i.set&&Ss(i.set,t,{setter:!0}),Is.f(e,t,i)},vs=Ge,As=ys,Rs=Ne,Cs=fe("species"),bs=function(e){var t=vs(e);Rs&&t&&!t[Cs]&&As(t,Cs,{configurable:!0,get:function(){return this}})},ks=We,Ns=TypeError,Ds=function(e,t){if(ks(t,e))return e;throw Ns("Incorrect invocation")},Os={};Os[fe("toStringTag")]="z";var ws="[object z]"===String(Os),Ps=Se,Ls=p,Ms=fe("toStringTag"),xs=Object,Vs="Arguments"==Ls(function(){return arguments}()),Us=ws?Ls:function(e){var t,i,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,t){try{return e[t]}catch(IU){}}(t=xs(e),Ms))?i:Vs?Ls(t):"Object"==(n=Ls(t))&&Ps(t.callee)?"Arguments":n},Fs=l,Bs=n,Hs=Se,js=Us,Gs=Mn,Ws=function(){},Js=[],zs=Ge("Reflect","construct"),Ks=/^\s*(?:class|function)\b/,qs=Fs(Ks.exec),Ys=!Ks.exec(Ws),Qs=function(e){if(!Hs(e))return!1;try{return zs(Ws,Js,e),!0}catch(IU){return!1}},Xs=function(e){if(!Hs(e))return!1;switch(js(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Ys||!!qs(Ks,Gs(e))}catch(IU){return!0}};Xs.sham=!0;var $s,Zs,ea,ta,ia=!zs||Bs((function(){var e;return Qs(Qs.call)||!Qs(Object)||!Qs((function(){e=!0}))||e}))?Xs:Qs,na=ia,ra=Xe,oa=TypeError,sa=function(e){if(na(e))return e;throw oa(ra(e)+" is not a constructor")},aa=be,ca=sa,la=E,da=fe("species"),ua=function(e,t){var i,n=aa(e).constructor;return void 0===n||la(i=aa(n)[da])?t:ca(i)},ha=r,pa=Function.prototype,ma=pa.apply,_a=pa.call,fa="object"==typeof Reflect&&Reflect.apply||(ha?_a.bind(ma):function(){return _a.apply(ma,arguments)}),ga=p,Ta=l,Ea=function(e){if("Function"===ga(e))return Ta(e)},Sa=tt,Ia=r,ya=Ea(Ea.bind),va=function(e,t){return Sa(e),void 0===t?e:Ia?ya(e,t):function(){return e.apply(t,arguments)}},Aa=l([].slice),Ra=TypeError,Ca=function(e,t){if(eo;o++)if((a=g(e[o]))&&Ed(Rd,a))return a;return new Ad(!1)}n=Sd(e,r)}for(c=h?e.next:n.next;!(l=md(c,n)).done;){try{a=g(l.value)}catch(IU){yd(n,"throw",IU)}if("object"==typeof a&&a&&Ed(Rd,a))return a}return new Ad(!1)},bd=fe("iterator"),kd=!1;try{var Nd=0,Dd={next:function(){return{done:!!Nd++}},return:function(){kd=!0}};Dd[bd]=function(){return this},Array.from(Dd,(function(){throw 2}))}catch(IU){}var Od=function(e,t){if(!t&&!kd)return!1;var i=!1;try{var n={};n[bd]=function(){return{next:function(){return{done:i=!0}}}},e(n)}catch(IU){}return i},wd=Nc,Pd=Jc.CONSTRUCTOR||!Od((function(e){wd.all(e).then(void 0,(function(){}))})),Ld=Be,Md=tt,xd=zc,Vd=kc,Ud=Cd;Ur({target:"Promise",stat:!0,forced:Pd},{all:function(e){var t=this,i=xd.f(t),n=i.resolve,r=i.reject,o=Vd((function(){var i=Md(t.resolve),o=[],s=0,a=1;Ud(e,(function(e){var c=s++,l=!1;a++,Ld(i,t,e).then((function(e){l||(l=!0,o[c]=e,--a||n(o))}),r)})),--a||n(o)}));return o.error&&r(o.value),i.promise}});var Fd=Ur,Bd=Jc.CONSTRUCTOR,Hd=Nc,jd=Ge,Gd=Se,Wd=nr,Jd=Hd&&Hd.prototype;if(Fd({target:"Promise",proto:!0,forced:Bd,real:!0},{catch:function(e){return this.then(void 0,e)}}),Gd(Hd)){var zd=jd("Promise").prototype.catch;Jd.catch!==zd&&Wd(Jd,"catch",zd,{unsafe:!0})}var Kd=Be,qd=tt,Yd=zc,Qd=kc,Xd=Cd;Ur({target:"Promise",stat:!0,forced:Pd},{race:function(e){var t=this,i=Yd.f(t),n=i.reject,r=Qd((function(){var r=qd(t.resolve);Xd(e,(function(e){Kd(r,t,e).then(i.resolve,n)}))}));return r.error&&n(r.value),i.promise}});var $d=Be,Zd=zc;Ur({target:"Promise",stat:!0,forced:Jc.CONSTRUCTOR},{reject:function(e){var t=Zd.f(this);return $d(t.reject,void 0,e),t.promise}});var eu=be,tu=ve,iu=zc,nu=function(e,t){if(eu(e),tu(t)&&t.constructor===e)return t;var i=iu.f(e);return(0,i.resolve)(t),i.promise},ru=Ur,ou=Jc.CONSTRUCTOR,su=nu;Ge("Promise"),ru({target:"Promise",stat:!0,forced:ou},{resolve:function(e){return su(this,e)}});var au=Se,cu=ve,lu=vo,du=function(e,t,i){var n,r;return lu&&au(n=t.constructor)&&n!==i&&cu(r=n.prototype)&&r!==i.prototype&&lu(e,r),e},uu=ve,hu=p,pu=fe("match"),mu=function(e){var t;return uu(e)&&(void 0!==(t=e[pu])?!!t:"RegExp"==hu(e))},_u=Us,fu=String,gu=function(e){if("Symbol"===_u(e))throw TypeError("Cannot convert a Symbol value to a string");return fu(e)},Tu=be,Eu=function(){var e=Tu(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},Su=Be,Iu=W,yu=We,vu=Eu,Au=RegExp.prototype,Ru=function(e){var t=e.flags;return void 0!==t||"flags"in Au||Iu(e,"flags")||!yu(Au,e)?t:Su(vu,e)},Cu=n,bu=b.RegExp,ku=Cu((function(){var e=bu("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),Nu=ku||Cu((function(){return!bu("a","y").sticky})),Du=ku||Cu((function(){var e=bu("^r","gy");return e.lastIndex=2,null!=e.exec("str")})),Ou={BROKEN_CARET:Du,MISSED_STICKY:Nu,UNSUPPORTED_Y:ku},wu=Oe.f,Pu=n,Lu=b.RegExp,Mu=Pu((function(){var e=Lu(".","s");return!(e.dotAll&&e.exec("\n")&&"s"===e.flags)})),xu=n,Vu=b.RegExp,Uu=xu((function(){var e=Vu("(?b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$c")})),Fu=Ne,Bu=b,Hu=l,ju=Dr,Gu=du,Wu=qi,Ju=rr.f,zu=We,Ku=mu,qu=gu,Yu=Ru,Qu=Ou,Xu=function(e,t,i){i in e||wu(e,i,{configurable:!0,get:function(){return t[i]},set:function(e){t[i]=e}})},$u=nr,Zu=n,eh=W,th=ln.enforce,ih=bs,nh=Mu,rh=Uu,oh=fe("match"),sh=Bu.RegExp,ah=sh.prototype,ch=Bu.SyntaxError,lh=Hu(ah.exec),dh=Hu("".charAt),uh=Hu("".replace),hh=Hu("".indexOf),ph=Hu("".slice),mh=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,_h=/a/g,fh=/a/g,gh=new sh(_h)!==_h,Th=Qu.MISSED_STICKY,Eh=Qu.UNSUPPORTED_Y,Sh=Fu&&(!gh||Th||nh||rh||Zu((function(){return fh[oh]=!1,sh(_h)!=_h||sh(fh)==fh||"/a/i"!=sh(_h,"i")})));if(ju("RegExp",Sh)){for(var Ih=function(e,t){var i,n,r,o,s,a,c=zu(ah,this),l=Ku(e),d=void 0===t,u=[],h=e;if(!c&&l&&d&&e.constructor===Ih)return e;if((l||zu(ah,e))&&(e=e.source,d&&(t=Yu(h))),e=void 0===e?"":qu(e),t=void 0===t?"":qu(t),h=e,nh&&"dotAll"in _h&&(n=!!t&&hh(t,"s")>-1)&&(t=uh(t,/s/g,"")),i=t,Th&&"sticky"in _h&&(r=!!t&&hh(t,"y")>-1)&&Eh&&(t=uh(t,/y/g,"")),rh&&(o=function(e){for(var t,i=e.length,n=0,r="",o=[],s={},a=!1,c=!1,l=0,d="";n<=i;n++){if("\\"===(t=dh(e,n)))t+=dh(e,++n);else if("]"===t)a=!1;else if(!a)switch(!0){case"["===t:a=!0;break;case"("===t:lh(mh,ph(e,n+1))&&(n+=2,c=!0),r+=t,l++;continue;case">"===t&&c:if(""===d||eh(s,d))throw new ch("Invalid capture group name");s[d]=!0,o[o.length]=[d,l],c=!1,d="";continue}c?d+=t:r+=t}return[r,o]}(e),e=o[0],u=o[1]),s=Gu(sh(e,t),c?this:ah,Ih),(n||r||u.length)&&(a=th(s),n&&(a.dotAll=!0,a.raw=Ih(function(e){for(var t,i=e.length,n=0,r="",o=!1;n<=i;n++)"\\"!==(t=dh(e,n))?o||"."!==t?("["===t?o=!0:"]"===t&&(o=!1),r+=t):r+="[\\s\\S]":r+=t+dh(e,++n);return r}(e),i)),r&&(a.sticky=!0),u.length&&(a.groups=u)),e!==h)try{Wu(s,"source",""===h?"(?:)":h)}catch(IU){}return s},yh=Ju(sh),vh=0;yh.length>vh;)Xu(Ih,sh,yh[vh++]);ah.constructor=Ih,Ih.prototype=ah,$u(Bu,"RegExp",Ih,{constructor:!0})}ih("RegExp");var Ah=Be,Rh=l,Ch=gu,bh=Eu,kh=Ou,Nh=Oi,Dh=ln.get,Oh=Mu,wh=Uu,Ph=k("native-string-replace",String.prototype.replace),Lh=RegExp.prototype.exec,Mh=Lh,xh=Rh("".charAt),Vh=Rh("".indexOf),Uh=Rh("".replace),Fh=Rh("".slice),Bh=function(){var e=/a/,t=/b*/g;return Ah(Lh,e,"a"),Ah(Lh,t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),Hh=kh.BROKEN_CARET,jh=void 0!==/()??/.exec("")[1];(Bh||jh||Hh||Oh||wh)&&(Mh=function(e){var t,i,n,r,o,s,a,c=this,l=Dh(c),d=Ch(e),u=l.raw;if(u)return u.lastIndex=c.lastIndex,t=Ah(Mh,u,d),c.lastIndex=u.lastIndex,t;var h=l.groups,p=Hh&&c.sticky,m=Ah(bh,c),_=c.source,f=0,g=d;if(p&&(m=Uh(m,"y",""),-1===Vh(m,"g")&&(m+="g"),g=Fh(d,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==xh(d,c.lastIndex-1))&&(_="(?: "+_+")",g=" "+g,f++),i=new RegExp("^(?:"+_+")",m)),jh&&(i=new RegExp("^"+_+"$(?!\\s)",m)),Bh&&(n=c.lastIndex),r=Ah(Lh,p?i:c,g),p?r?(r.input=Fh(r.input,f),r[0]=Fh(r[0],f),r.index=c.lastIndex,c.lastIndex+=r[0].length):c.lastIndex=0:Bh&&r&&(c.lastIndex=c.global?r.index+r[0].length:n),jh&&r&&r.length>1&&Ah(Ph,r[0],i,(function(){for(o=1;oT;T++)if((a||T in _)&&(p=f(h=_[T],T,m),e))if(t)S[T]=p;else if(p)switch(e){case 3:return!0;case 5:return h;case 6:return T;case 2:np(S,h)}else switch(e){case 4:return!1;case 7:np(S,h)}return o?-1:n||r?r:S}},op={forEach:rp(0),map:rp(1),filter:rp(2),some:rp(3),every:rp(4),find:rp(5),findIndex:rp(6),filterReject:rp(7)},sp=n,ap=function(e,t){var i=[][e];return!!i&&sp((function(){i.call(null,t||function(){return 1},1)}))},cp=op.forEach,lp=ap("forEach")?[].forEach:function(e){return cp(this,e,arguments.length>1?arguments[1]:void 0)},dp=b,up=rs,hp=as,pp=lp,mp=qi,_p=function(e){if(e&&e.forEach!==pp)try{mp(e,"forEach",pp)}catch(IU){e.forEach=pp}};for(var fp in up)up[fp]&&_p(dp[fp]&&dp[fp].prototype);_p(hp);var gp=tt,Tp=H,Ep=T,Sp=Wt,Ip=TypeError,yp=function(e){return function(t,i,n,r){gp(i);var o=Tp(t),s=Ep(o),a=Sp(o),c=e?a-1:0,l=e?-1:1;if(n<2)for(;;){if(c in s){r=s[c],c+=l;break}if(c+=l,e?c<0:a<=c)throw Ip("Reduce of empty array with no initial value")}for(;e?c>=0:a>c;c+=l)c in s&&(r=i(r,s[c],c,o));return r}},vp={left:yp(!1),right:yp(!0)}.left;Ur({target:"Array",proto:!0,forced:!Es&&ne>79&&ne<83||!ap("reduce")},{reduce:function(e){var t=arguments.length;return vp(this,e,t,t>1?arguments[1]:void 0)}});var Ap=Ea,Rp=nr,Cp=Gh,bp=n,kp=fe,Np=qi,Dp=kp("species"),Op=RegExp.prototype,wp=l,Pp=Mt,Lp=gu,Mp=y,xp=wp("".charAt),Vp=wp("".charCodeAt),Up=wp("".slice),Fp=function(e){return function(t,i){var n,r,o=Lp(Mp(t)),s=Pp(i),a=o.length;return s<0||s>=a?e?"":void 0:(n=Vp(o,s))<55296||n>56319||s+1===a||(r=Vp(o,s+1))<56320||r>57343?e?xp(o,s):n:e?Up(o,s,s+2):r-56320+(n-55296<<10)+65536}},Bp={codeAt:Fp(!1),charAt:Fp(!0)},Hp=Bp.charAt,jp=l,Gp=H,Wp=Math.floor,Jp=jp("".charAt),zp=jp("".replace),Kp=jp("".slice),qp=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,Yp=/\$([$&'`]|\d{1,2})/g,Qp=function(e,t,i,n,r,o){var s=i+e.length,a=n.length,c=Yp;return void 0!==r&&(r=Gp(r),c=qp),zp(o,c,(function(o,c){var l;switch(Jp(c,0)){case"$":return"$";case"&":return e;case"`":return Kp(t,0,i);case"'":return Kp(t,s);case"<":l=r[Kp(c,1,-1)];break;default:var d=+c;if(0===d)return o;if(d>a){var u=Wp(d/10);return 0===u?o:u<=a?void 0===n[u-1]?Jp(c,1):n[u-1]+Jp(c,1):o}l=n[d-1]}return void 0===l?"":l}))},Xp=Be,$p=be,Zp=Se,em=p,tm=Gh,im=TypeError,nm=fa,rm=Be,om=l,sm=function(e,t,i,n){var r=kp(e),o=!bp((function(){var t={};return t[r]=function(){return 7},7!=""[e](t)})),s=o&&!bp((function(){var t=!1,i=/a/;return"split"===e&&((i={}).constructor={},i.constructor[Dp]=function(){return i},i.flags="",i[r]=/./[r]),i.exec=function(){return t=!0,null},i[r](""),!t}));if(!o||!s||i){var a=Ap(/./[r]),c=t(r,""[e],(function(e,t,i,n,r){var s=Ap(e),c=t.exec;return c===Cp||c===Op.exec?o&&!r?{done:!0,value:a(t,i,n)}:{done:!0,value:s(i,t,n)}:{done:!1}}));Rp(String.prototype,e,c[0]),Rp(Op,r,c[1])}n&&Np(Op[r],"sham",!0)},am=n,cm=be,lm=Se,dm=E,um=Mt,hm=jt,pm=gu,mm=y,_m=function(e,t,i){return t+(i?Hp(e,t).length:1)},fm=rt,gm=Qp,Tm=function(e,t){var i=e.exec;if(Zp(i)){var n=Xp(i,e,t);return null!==n&&$p(n),n}if("RegExp"===em(e))return Xp(tm,e,t);throw im("RegExp#exec called on incompatible receiver")},Em=fe("replace"),Sm=Math.max,Im=Math.min,ym=om([].concat),vm=om([].push),Am=om("".indexOf),Rm=om("".slice),Cm=function(e){return void 0===e?e:String(e)},bm="$0"==="a".replace(/./,"$0"),km=!!/./[Em]&&""===/./[Em]("a","$0"),Nm=!am((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")}));sm("replace",(function(e,t,i){var n=km?"$":"$0";return[function(e,i){var n=mm(this),r=dm(e)?void 0:fm(e,Em);return r?rm(r,e,n,i):rm(t,pm(n),e,i)},function(e,r){var o=cm(this),s=pm(e);if("string"==typeof r&&-1===Am(r,n)&&-1===Am(r,"$<")){var a=i(t,o,s,r);if(a.done)return a.value}var c=lm(r);c||(r=pm(r));var l=o.global;if(l){var d=o.unicode;o.lastIndex=0}for(var u=[];;){var h=Tm(o,s);if(null===h)break;if(vm(u,h),!l)break;""===pm(h[0])&&(o.lastIndex=_m(s,hm(o.lastIndex),d))}for(var p="",m=0,_=0;_=m&&(p+=Rm(s,m,g)+y,m=g+f.length)}return p+Rm(s,m)}]}),!Nm||!bm||km);var Dm=Yt.includes,Om=Bi;Ur({target:"Array",proto:!0,forced:n((function(){return!Array(1).includes()}))},{includes:function(e){return Dm(this,e,arguments.length>1?arguments[1]:void 0)}}),Om("includes");var wm=Mt,Pm=gu,Lm=y,Mm=RangeError,xm=l,Vm=jt,Um=gu,Fm=function(e){var t=Pm(Lm(this)),i="",n=wm(e);if(n<0||1/0==n)throw Mm("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(t+=t))1&n&&(i+=t);return i},Bm=y,Hm=xm(Fm),jm=xm("".slice),Gm=Math.ceil,Wm=function(e){return function(t,i,n){var r,o,s=Um(Bm(t)),a=Vm(i),c=s.length,l=void 0===n?" ":Um(n);return a<=c||""==l?s:((o=Hm(l,Gm((r=a-c)/l.length))).length>r&&(o=jm(o,0,r)),e?s+o:o+s)}},Jm={start:Wm(!1),end:Wm(!0)},zm=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Q),Km=Jm.start;Ur({target:"String",proto:!0,forced:zm},{padStart:function(e){return Km(this,e,arguments.length>1?arguments[1]:void 0)}});var qm=n,Ym=Ne,Qm=fe("iterator"),Xm=!qm((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,i="";return e.pathname="c%20d",t.forEach((function(e,n){t.delete("b"),i+=n+e})),!t.size&&!Ym||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[Qm]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==i||"x"!==new URL("http://x",void 0).host})),$m=nr,Zm=function(e,t,i){for(var n in t)$m(e,n,t[n],i);return e},e_=Et,t_=Oe,i_=Ji,n_=function(e,t,i){var n=e_(t);n in e?t_.f(e,n,i_(0,i)):e[n]=i},r_=Ft,o_=Wt,s_=n_,a_=Array,c_=Math.max,l_=function(e,t,i){for(var n=o_(e),r=r_(t,n),o=r_(void 0===i?n:i,n),s=a_(c_(o-r,0)),a=0;r0;)e[n]=e[--n];n!==o++&&(e[n]=i)}return e},m_=function(e,t,i,n){for(var r=t.length,o=i.length,s=0,a=0;s0?arguments[0]:void 0));S_||(this.length=e.entries.length)},Cf=Rf.prototype;if(A_(Cf,{append:function(e,t){B_(arguments.length,2);var i=z_(this);cf(i.entries,{key:M_(e),value:M_(t)}),S_||this.length++,i.updateURL()},delete:function(e){B_(arguments.length,1);for(var t=z_(this),i=t.entries,n=M_(e),r=0;rt.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,i=z_(this).entries,n=O_(e,arguments.length>1?arguments[1]:void 0),r=0;r1?Nf(arguments[1]):{})}}),N_(X_)){var Df=function(e){return k_(this,Z_),new X_(e,arguments.length>1?Nf(arguments[1]):{})};Z_.constructor=Df,Df.prototype=Z_,f_({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Df})}}var Of={URLSearchParams:Rf,getState:z_},wf="\t\n\v\f\r                 \u2028\u2029\ufeff",Pf=y,Lf=gu,Mf=wf,xf=l("".replace),Vf=RegExp("^["+Mf+"]+"),Uf=RegExp("(^|[^"+Mf+"])["+Mf+"]+$"),Ff=function(e){return function(t){var i=Lf(Pf(t));return 1&e&&(i=xf(i,Vf,"")),2&e&&(i=xf(i,Uf,"$1")),i}},Bf={start:Ff(1),end:Ff(2),trim:Ff(3)},Hf=On.PROPER,jf=n,Gf=wf,Wf=Bf.trim;Ur({target:"String",proto:!0,forced:function(e){return jf((function(){return!!Gf[e]()||"​…᠎"!=="​…᠎"[e]()||Hf&&Gf[e].name!==e}))}("trim")},{trim:function(){return Wf(this)}});var Jf=Ur,zf=Ne,Kf=l,qf=W,Yf=Se,Qf=We,Xf=gu,$f=ys,Zf=Ir,eg=b.Symbol,tg=eg&&eg.prototype;if(zf&&Yf(eg)&&(!("description"in tg)||void 0!==eg().description)){var ig={},ng=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:Xf(arguments[0]),t=Qf(tg,this)?new eg(e):void 0===e?eg():eg(e);return""===e&&(ig[t]=!0),t};Zf(ng,eg),ng.prototype=tg,tg.constructor=ng;var rg="Symbol(test)"==String(eg("test")),og=Kf(tg.valueOf),sg=Kf(tg.toString),ag=/^Symbol\((.*)\)[^)]+$/,cg=Kf("".replace),lg=Kf("".slice);$f(tg,"description",{configurable:!0,get:function(){var e=og(this);if(qf(ig,e))return"";var t=sg(e),i=rg?lg(t,7,-1):cg(t,ag,"$1");return""===i?void 0:i}}),Jf({global:!0,constructor:!0,forced:!0},{Symbol:ng})}var dg=Bp.charAt,ug=gu,hg=ln,pg=Go,mg=Wo,_g="String Iterator",fg=hg.set,gg=hg.getterFor(_g);pg(String,"String",(function(e){fg(this,{type:_g,string:ug(e),index:0})}),(function(){var e,t=gg(this),i=t.string,n=t.index;return n>=i.length?mg(void 0,!0):(e=dg(i,n),t.index+=e.length,mg(e,!1))}));var Tg,Eg=Ne,Sg=l,Ig=Be,yg=n,vg=si,Ag=ar,Rg=un,Cg=H,bg=T,kg=Object.assign,Ng=Object.defineProperty,Dg=Sg([].concat),Og=!kg||yg((function(){if(Eg&&1!==kg({b:1},kg(Ng({},"a",{enumerable:!0,get:function(){Ng(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},i=Symbol(),n="abcdefghijklmnopqrst";return e[i]=7,n.split("").forEach((function(e){t[e]=e})),7!=kg({},e)[i]||vg(kg({},t)).join("")!=n}))?function(e,t){for(var i=Cg(e),n=arguments.length,r=1,o=Ag.f,s=Rg.f;n>r;)for(var a,c=bg(arguments[r++]),l=o?Dg(vg(c),o(c)):vg(c),d=l.length,u=0;d>u;)a=l[u++],Eg&&!Ig(s,c,a)||(i[a]=c[a]);return i}:kg,wg=be,Pg=hd,Lg=va,Mg=Be,xg=H,Vg=function(e,t,i,n){try{return n?t(wg(i)[0],i[1]):t(i)}catch(IU){Pg(e,"throw",IU)}},Ug=Yl,Fg=ia,Bg=Wt,Hg=n_,jg=cd,Gg=td,Wg=Array,Jg=l,zg=2147483647,Kg=/[^\0-\u007E]/,qg=/[.\u3002\uFF0E\uFF61]/g,Yg="Overflow: input needs wider integers to process",Qg=RangeError,Xg=Jg(qg.exec),$g=Math.floor,Zg=String.fromCharCode,eT=Jg("".charCodeAt),tT=Jg([].join),iT=Jg([].push),nT=Jg("".replace),rT=Jg("".split),oT=Jg("".toLowerCase),sT=function(e){return e+22+75*(e<26)},aT=function(e,t,i){var n=0;for(e=i?$g(e/700):e>>1,e+=$g(e/t);e>455;)e=$g(e/35),n+=36;return $g(n+36*e/(e+38))},cT=function(e){var t=[];e=function(e){for(var t=[],i=0,n=e.length;i=55296&&r<=56319&&i=o&&n$g((zg-s)/u))throw Qg(Yg);for(s+=(d-o)*u,o=d,i=0;izg)throw Qg(Yg);if(n==o){for(var h=s,p=36;;){var m=p<=a?1:p>=a+26?26:p-a;if(h1?arguments[1]:void 0,o=void 0!==r;o&&(r=Lg(r,n>2?arguments[2]:void 0));var s,a,c,l,d,u,h=Gg(t),p=0;if(!h||this===Wg&&Ug(h))for(s=Bg(t),a=i?new this(s):Wg(s);s>p;p++)u=o?r(t[p],p):t[p],Hg(a,p,u);else for(d=(l=jg(t,h)).next,a=i?new this:[];!(c=Mg(d,l)).done;p++)u=o?Vg(l,r,[c.value,p],!0):c.value,Hg(a,p,u);return a.length=p,a},IT=l_,yT=Bp.codeAt,vT=function(e){var t,i,n=[],r=rT(nT(oT(e),qg,"."),".");for(t=0;t?@[\\\]^|]/,aE=/[\0\t\n\r #/:<>?@[\\\]^|]/,cE=/^[\u0000-\u0020]+/,lE=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,dE=/[\t\n\r]/g,uE=function(e){var t,i,n,r;if("number"==typeof e){for(t=[],i=0;i<4;i++)YT(t,e%256),e=xT(e/256);return BT(t,".")}if("object"==typeof e){for(t="",n=function(e){for(var t=null,i=1,n=null,r=0,o=0;o<8;o++)0!==e[o]?(r>i&&(t=n,i=r),n=null,r=0):(null===n&&(n=o),++r);return r>i&&(t=n,i=r),t}(e),i=0;i<8;i++)r&&0===e[i]||(r&&(r=!1),n===i?(t+=i?":":"::",r=!0):(t+=HT(e[i],16),i<7&&(t+=":")));return"["+t+"]"}return e},hE={},pE=ET({},hE,{" ":1,'"':1,"<":1,">":1,"`":1}),mE=ET({},pE,{"#":1,"?":1,"{":1,"}":1}),_E=ET({},mE,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),fE=function(e,t){var i=yT(e,0);return i>32&&i<127&&!TT(t,e)?e:encodeURIComponent(e)},gE={ftp:21,file:null,http:80,https:443,ws:80,wss:443},TE=function(e,t){var i;return 2==e.length&&FT(ZT,UT(e,0))&&(":"==(i=UT(e,1))||!t&&"|"==i)},EE=function(e){var t;return e.length>1&&TE(KT(e,0,2))&&(2==e.length||"/"===(t=UT(e,2))||"\\"===t||"?"===t||"#"===t)},SE=function(e){return"."===e||"%2e"===qT(e)},IE={},yE={},vE={},AE={},RE={},CE={},bE={},kE={},NE={},DE={},OE={},wE={},PE={},LE={},ME={},xE={},VE={},UE={},FE={},BE={},HE={},jE=function(e,t,i){var n,r,o,s=AT(e);if(t){if(r=this.parse(s))throw LT(r);this.searchParams=null}else{if(void 0!==i&&(n=new jE(i,!0)),r=this.parse(s,null,n))throw LT(r);(o=wT(new OT)).bindURL(this),this.searchParams=o}};jE.prototype={type:"URL",parse:function(e,t,i){var n,r,o,s,a,c=this,l=t||IE,d=0,u="",h=!1,p=!1,m=!1;for(e=AT(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=WT(e,cE,""),e=WT(e,lE,"$1")),e=WT(e,dE,""),n=ST(e);d<=n.length;){switch(r=n[d],l){case IE:if(!r||!FT(ZT,r)){if(t)return QT;l=vE;continue}u+=qT(r),l=yE;break;case yE:if(r&&(FT(eE,r)||"+"==r||"-"==r||"."==r))u+=qT(r);else{if(":"!=r){if(t)return QT;u="",l=vE,d=0;continue}if(t&&(c.isSpecial()!=TT(gE,u)||"file"==u&&(c.includesCredentials()||null!==c.port)||"file"==c.scheme&&!c.host))return;if(c.scheme=u,t)return void(c.isSpecial()&&gE[c.scheme]==c.port&&(c.port=null));u="","file"==c.scheme?l=LE:c.isSpecial()&&i&&i.scheme==c.scheme?l=AE:c.isSpecial()?l=kE:"/"==n[d+1]?(l=RE,d++):(c.cannotBeABaseURL=!0,GT(c.path,""),l=FE)}break;case vE:if(!i||i.cannotBeABaseURL&&"#"!=r)return QT;if(i.cannotBeABaseURL&&"#"==r){c.scheme=i.scheme,c.path=IT(i.path),c.query=i.query,c.fragment="",c.cannotBeABaseURL=!0,l=HE;break}l="file"==i.scheme?LE:CE;continue;case AE:if("/"!=r||"/"!=n[d+1]){l=CE;continue}l=NE,d++;break;case RE:if("/"==r){l=DE;break}l=UE;continue;case CE:if(c.scheme=i.scheme,r==Tg)c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=IT(i.path),c.query=i.query;else if("/"==r||"\\"==r&&c.isSpecial())l=bE;else if("?"==r)c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=IT(i.path),c.query="",l=BE;else{if("#"!=r){c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=IT(i.path),c.path.length--,l=UE;continue}c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=IT(i.path),c.query=i.query,c.fragment="",l=HE}break;case bE:if(!c.isSpecial()||"/"!=r&&"\\"!=r){if("/"!=r){c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,l=UE;continue}l=DE}else l=NE;break;case kE:if(l=NE,"/"!=r||"/"!=UT(u,d+1))continue;d++;break;case NE:if("/"!=r&&"\\"!=r){l=DE;continue}break;case DE:if("@"==r){h&&(u="%40"+u),h=!0,o=ST(u);for(var _=0;_65535)return $T;c.port=c.isSpecial()&&T===gE[c.scheme]?null:T,u=""}if(t)return;l=VE;continue}return $T}u+=r;break;case LE:if(c.scheme="file","/"==r||"\\"==r)l=ME;else{if(!i||"file"!=i.scheme){l=UE;continue}if(r==Tg)c.host=i.host,c.path=IT(i.path),c.query=i.query;else if("?"==r)c.host=i.host,c.path=IT(i.path),c.query="",l=BE;else{if("#"!=r){EE(BT(IT(n,d),""))||(c.host=i.host,c.path=IT(i.path),c.shortenPath()),l=UE;continue}c.host=i.host,c.path=IT(i.path),c.query=i.query,c.fragment="",l=HE}}break;case ME:if("/"==r||"\\"==r){l=xE;break}i&&"file"==i.scheme&&!EE(BT(IT(n,d),""))&&(TE(i.path[0],!0)?GT(c.path,i.path[0]):c.host=i.host),l=UE;continue;case xE:if(r==Tg||"/"==r||"\\"==r||"?"==r||"#"==r){if(!t&&TE(u))l=UE;else if(""==u){if(c.host="",t)return;l=VE}else{if(s=c.parseHost(u))return s;if("localhost"==c.host&&(c.host=""),t)return;u="",l=VE}continue}u+=r;break;case VE:if(c.isSpecial()){if(l=UE,"/"!=r&&"\\"!=r)continue}else if(t||"?"!=r)if(t||"#"!=r){if(r!=Tg&&(l=UE,"/"!=r))continue}else c.fragment="",l=HE;else c.query="",l=BE;break;case UE:if(r==Tg||"/"==r||"\\"==r&&c.isSpecial()||!t&&("?"==r||"#"==r)){if(".."===(a=qT(a=u))||"%2e."===a||".%2e"===a||"%2e%2e"===a?(c.shortenPath(),"/"==r||"\\"==r&&c.isSpecial()||GT(c.path,"")):SE(u)?"/"==r||"\\"==r&&c.isSpecial()||GT(c.path,""):("file"==c.scheme&&!c.path.length&&TE(u)&&(c.host&&(c.host=""),u=UT(u,0)+":"),GT(c.path,u)),u="","file"==c.scheme&&(r==Tg||"?"==r||"#"==r))for(;c.path.length>1&&""===c.path[0];)JT(c.path);"?"==r?(c.query="",l=BE):"#"==r&&(c.fragment="",l=HE)}else u+=fE(r,mE);break;case FE:"?"==r?(c.query="",l=BE):"#"==r?(c.fragment="",l=HE):r!=Tg&&(c.path[0]+=fE(r,hE));break;case BE:t||"#"!=r?r!=Tg&&("'"==r&&c.isSpecial()?c.query+="%27":c.query+="#"==r?"%23":fE(r,hE)):(c.fragment="",l=HE);break;case HE:r!=Tg&&(c.fragment+=fE(r,pE))}d++}},parseHost:function(e){var t,i,n;if("["==UT(e,0)){if("]"!=UT(e,e.length-1))return XT;if(t=function(e){var t,i,n,r,o,s,a,c=[0,0,0,0,0,0,0,0],l=0,d=null,u=0,h=function(){return UT(e,u)};if(":"==h()){if(":"!=UT(e,1))return;u+=2,d=++l}for(;h();){if(8==l)return;if(":"!=h()){for(t=i=0;i<4&&FT(oE,h());)t=16*t+MT(h(),16),u++,i++;if("."==h()){if(0==i)return;if(u-=i,l>6)return;for(n=0;h();){if(r=null,n>0){if(!("."==h()&&n<4))return;u++}if(!FT(tE,h()))return;for(;FT(tE,h());){if(o=MT(h(),10),null===r)r=o;else{if(0==r)return;r=10*r+o}if(r>255)return;u++}c[l]=256*c[l]+r,2!=++n&&4!=n||l++}if(4!=n)return;break}if(":"==h()){if(u++,!h())return}else if(h())return;c[l++]=t}else{if(null!==d)return;u++,d=++l}}if(null!==d)for(s=l-d,l=7;0!=l&&s>0;)a=c[l],c[l--]=c[d+s-1],c[d+--s]=a;else if(8!=l)return;return c}(KT(e,1,-1)),!t)return XT;this.host=t}else if(this.isSpecial()){if(e=vT(e),FT(sE,e))return XT;if(t=function(e){var t,i,n,r,o,s,a,c=zT(e,".");if(c.length&&""==c[c.length-1]&&c.length--,(t=c.length)>4)return e;for(i=[],n=0;n1&&"0"==UT(r,0)&&(o=FT(iE,r)?16:8,r=KT(r,8==o?1:2)),""===r)s=0;else{if(!FT(10==o?rE:8==o?nE:oE,r))return e;s=MT(r,o)}GT(i,s)}for(n=0;n=VT(256,5-t))return null}else if(s>255)return null;for(a=jT(i),n=0;n1?arguments[1]:void 0,n=NT(t,new jE(e,!1,i));dT||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},WE=GE.prototype,JE=function(e,t){return{get:function(){return DT(this)[e]()},set:t&&function(e){return DT(this)[t](e)},configurable:!0,enumerable:!0}};if(dT&&(fT(WE,"href",JE("serialize","setHref")),fT(WE,"origin",JE("getOrigin")),fT(WE,"protocol",JE("getProtocol","setProtocol")),fT(WE,"username",JE("getUsername","setUsername")),fT(WE,"password",JE("getPassword","setPassword")),fT(WE,"host",JE("getHost","setHost")),fT(WE,"hostname",JE("getHostname","setHostname")),fT(WE,"port",JE("getPort","setPort")),fT(WE,"pathname",JE("getPathname","setPathname")),fT(WE,"search",JE("getSearch","setSearch")),fT(WE,"searchParams",JE("getSearchParams")),fT(WE,"hash",JE("getHash","setHash"))),_T(WE,"toJSON",(function(){return DT(this).serialize()}),{enumerable:!0}),_T(WE,"toString",(function(){return DT(this).serialize()}),{enumerable:!0}),PT){var zE=PT.createObjectURL,KE=PT.revokeObjectURL;zE&&_T(GE,"createObjectURL",pT(zE,PT)),KE&&_T(GE,"revokeObjectURL",pT(KE,PT))}RT(GE,"URL"),lT({global:!0,constructor:!0,forced:!uT,sham:!dT},{URL:GE});var qE="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,YE=Mt,QE=jt,XE=RangeError,$E=function(e){if(void 0===e)return 0;var t=YE(e),i=QE(t);if(t!==i)throw XE("Wrong length or index");return i},ZE=Array,eS=Math.abs,tS=Math.pow,iS=Math.floor,nS=Math.log,rS=Math.LN2,oS={pack:function(e,t,i){var n,r,o,s=ZE(i),a=8*i-t-1,c=(1<>1,d=23===t?tS(2,-24)-tS(2,-77):0,u=e<0||0===e&&1/e<0?1:0,h=0;for((e=eS(e))!=e||1/0===e?(r=e!=e?1:0,n=c):(n=iS(nS(e)/rS),e*(o=tS(2,-n))<1&&(n--,o*=2),(e+=n+l>=1?d/o:d*tS(2,1-l))*o>=2&&(n++,o/=2),n+l>=c?(r=0,n=c):n+l>=1?(r=(e*o-1)*tS(2,t),n+=l):(r=e*tS(2,l-1)*tS(2,t),n=0));t>=8;)s[h++]=255&r,r/=256,t-=8;for(n=n<0;)s[h++]=255&n,n/=256,a-=8;return s[--h]|=128*u,s},unpack:function(e,t){var i,n=e.length,r=8*n-t-1,o=(1<>1,a=r-7,c=n-1,l=e[c--],d=127&l;for(l>>=7;a>0;)d=256*d+e[c--],a-=8;for(i=d&(1<<-a)-1,d>>=-a,a+=t;a>0;)i=256*i+e[c--],a-=8;if(0===d)d=1-s;else{if(d===o)return i?NaN:l?-1/0:1/0;i+=tS(2,t),d-=s}return(l?-1:1)*i*tS(2,d-t)}},sS=H,aS=Ft,cS=Wt,lS=function(e){for(var t=sS(this),i=cS(t),n=arguments.length,r=aS(n>1?arguments[1]:void 0,i),o=n>2?arguments[2]:void 0,s=void 0===o?i:aS(o,i);s>r;)t[r++]=e;return t},dS=b,uS=l,hS=Ne,pS=qE,mS=On,_S=qi,fS=ys,gS=Zm,TS=n,ES=Ds,SS=Mt,IS=jt,yS=$E,vS=oS,AS=Kr,RS=vo,CS=rr.f,bS=lS,kS=l_,NS=so,DS=ln,OS=mS.PROPER,wS=mS.CONFIGURABLE,PS="ArrayBuffer",LS="DataView",MS="prototype",xS="Wrong index",VS=DS.getterFor(PS),US=DS.getterFor(LS),FS=DS.set,BS=dS[PS],HS=BS,jS=HS&&HS[MS],GS=dS[LS],WS=GS&&GS[MS],JS=Object.prototype,zS=dS.Array,KS=dS.RangeError,qS=uS(bS),YS=uS([].reverse),QS=vS.pack,XS=vS.unpack,$S=function(e){return[255&e]},ZS=function(e){return[255&e,e>>8&255]},eI=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},tI=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},iI=function(e){return QS(e,23,4)},nI=function(e){return QS(e,52,8)},rI=function(e,t,i){fS(e[MS],t,{configurable:!0,get:function(){return i(this)[t]}})},oI=function(e,t,i,n){var r=yS(i),o=US(e);if(r+t>o.byteLength)throw KS(xS);var s=o.bytes,a=r+o.byteOffset,c=kS(s,a,a+t);return n?c:YS(c)},sI=function(e,t,i,n,r,o){var s=yS(i),a=US(e);if(s+t>a.byteLength)throw KS(xS);for(var c=a.bytes,l=s+a.byteOffset,d=n(+r),u=0;udI;)(cI=lI[dI++])in HS||_S(HS,cI,BS[cI]);jS.constructor=HS}RS&&AS(WS)!==JS&&RS(WS,JS);var uI=new GS(new HS(2)),hI=uS(WS.setInt8);uI.setInt8(0,2147483648),uI.setInt8(1,2147483649),!uI.getInt8(0)&&uI.getInt8(1)||gS(WS,{setInt8:function(e,t){hI(this,e,t<<24>>24)},setUint8:function(e,t){hI(this,e,t<<24>>24)}},{unsafe:!0})}else jS=(HS=function(e){ES(this,jS);var t=yS(e);FS(this,{type:PS,bytes:qS(zS(t),0),byteLength:t}),hS||(this.byteLength=t,this.detached=!1)})[MS],WS=(GS=function(e,t,i){ES(this,WS),ES(e,jS);var n=VS(e),r=n.byteLength,o=SS(t);if(o<0||o>r)throw KS("Wrong offset");if(o+(i=void 0===i?r-o:IS(i))>r)throw KS("Wrong length");FS(this,{type:LS,buffer:e,byteLength:i,byteOffset:o,bytes:n.bytes}),hS||(this.buffer=e,this.byteLength=i,this.byteOffset=o)})[MS],hS&&(rI(HS,"byteLength",VS),rI(GS,"buffer",US),rI(GS,"byteLength",US),rI(GS,"byteOffset",US)),gS(WS,{getInt8:function(e){return oI(this,1,e)[0]<<24>>24},getUint8:function(e){return oI(this,1,e)[0]},getInt16:function(e){var t=oI(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=oI(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return tI(oI(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return tI(oI(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return XS(oI(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return XS(oI(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){sI(this,1,e,$S,t)},setUint8:function(e,t){sI(this,1,e,$S,t)},setInt16:function(e,t){sI(this,2,e,ZS,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){sI(this,2,e,ZS,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){sI(this,4,e,eI,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){sI(this,4,e,eI,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){sI(this,4,e,iI,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){sI(this,8,e,nI,t,arguments.length>2?arguments[2]:void 0)}});NS(HS,PS),NS(GS,LS);var pI={ArrayBuffer:HS,DataView:GS},mI=bs,_I="ArrayBuffer",fI=pI[_I];Ur({global:!0,constructor:!0,forced:b[_I]!==fI},{ArrayBuffer:fI}),mI(_I);var gI=Ur,TI=Ea,EI=n,SI=be,II=Ft,yI=jt,vI=ua,AI=pI.ArrayBuffer,RI=pI.DataView,CI=RI.prototype,bI=TI(AI.prototype.slice),kI=TI(CI.getUint8),NI=TI(CI.setUint8);gI({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:EI((function(){return!new AI(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(bI&&void 0===t)return bI(SI(this),e);for(var i=SI(this).byteLength,n=II(e,i),r=II(void 0===t?i:t,i),o=new(vI(this,AI))(yI(r-n)),s=new RI(this),a=new RI(o),c=0;n1?arguments[1]:void 0,p=void 0!==h,m=jy(d);if(m&&!Gy(m))for(c=(a=Hy(d,m)).next,d=[];!(s=Vy(c,a)).done;)d.push(s.value);for(p&&u>2&&(h=xy(h,arguments[2])),i=By(d),n=new(Jy(l))(i),r=Wy(n),t=0;i>t;t++)o=p?h(d[t],t):d[t],n[t]=r?zy(o):+o;return n},gv=op.forEach,Tv=bs,Ev=ys,Sv=Oe,Iv=dn,yv=du,vv=ln.get,Av=ln.set,Rv=ln.enforce,Cv=Sv.f,bv=Iv.f,kv=Math.round,Nv=qy.RangeError,Dv=Zy.ArrayBuffer,Ov=Dv.prototype,wv=Zy.DataView,Pv=$y.NATIVE_ARRAY_BUFFER_VIEWS,Lv=$y.TYPED_ARRAY_TAG,Mv=$y.TypedArray,xv=$y.TypedArrayPrototype,Vv=$y.aTypedArrayConstructor,Uv=$y.isTypedArray,Fv="BYTES_PER_ELEMENT",Bv="Wrong length",Hv=function(e,t){Vv(e);for(var i=0,n=t.length,r=new e(n);n>i;)r[i]=t[i++];return r},jv=function(e,t){Ev(e,t,{configurable:!0,get:function(){return vv(this)[t]}})},Gv=function(e){var t;return pv(Ov,e)||"ArrayBuffer"==(t=lv(e))||"SharedArrayBuffer"==t},Wv=function(e,t){return Uv(e)&&!uv(t)&&t in e&&nv(+t)&&t>=0},Jv=function(e,t){return t=av(t),Wv(e,t)?tv(2,e[t]):bv(e,t)},zv=function(e,t,i){return t=av(t),!(Wv(e,t)&&dv(i)&&cv(i,"value"))||cv(i,"get")||cv(i,"set")||i.configurable||cv(i,"writable")&&!i.writable||cv(i,"enumerable")&&!i.enumerable?Cv(e,t,i):(e[t]=i.value,e)};Qy?(Pv||(Iv.f=Jv,Sv.f=zv,jv(xv,"buffer"),jv(xv,"byteOffset"),jv(xv,"byteLength"),jv(xv,"length")),Ky({target:"Object",stat:!0,forced:!Pv},{getOwnPropertyDescriptor:Jv,defineProperty:zv}),LI.exports=function(e,t,i){var n=e.match(/\d+/)[0]/8,r=e+(i?"Clamped":"")+"Array",o="get"+e,s="set"+e,a=qy[r],c=a,l=c&&c.prototype,d={},u=function(e,t){Cv(e,t,{get:function(){return function(e,t){var i=vv(e);return i.view[o](t*n+i.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,r){var o=vv(e);i&&(r=(r=kv(r))<0?0:r>255?255:255&r),o.view[s](t*n+o.byteOffset,r,!0)}(this,t,e)},enumerable:!0})};Pv?Xy&&(c=t((function(e,t,i,r){return ev(e,l),yv(dv(t)?Gv(t)?void 0!==r?new a(t,sv(i,n),r):void 0!==i?new a(t,sv(i,n)):new a(t):Uv(t)?Hv(c,t):Yy(fv,c,t):new a(ov(t)),e,c)})),mv&&mv(c,Mv),gv(_v(a),(function(e){e in c||iv(c,e,a[e])})),c.prototype=l):(c=t((function(e,t,i,r){ev(e,l);var o,s,a,d=0,h=0;if(dv(t)){if(!Gv(t))return Uv(t)?Hv(c,t):Yy(fv,c,t);o=t,h=sv(i,n);var p=t.byteLength;if(void 0===r){if(p%n)throw Nv(Bv);if((s=p-h)<0)throw Nv(Bv)}else if((s=rv(r)*n)+h>p)throw Nv(Bv);a=s/n}else a=ov(t),o=new Dv(s=a*n);for(Av(e,{buffer:o,byteOffset:h,byteLength:s,length:a,view:new wv(o)});d1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),Xv((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var tA=b,iA=Be,nA=fy,rA=Wt,oA=Oy,sA=H,aA=n,cA=tA.RangeError,lA=tA.Int8Array,dA=lA&&lA.prototype,uA=dA&&dA.set,hA=nA.aTypedArray,pA=nA.exportTypedArrayMethod,mA=!aA((function(){var e=new Uint8ClampedArray(2);return iA(uA,e,{length:1,0:3},1),3!==e[1]})),_A=mA&&nA.NATIVE_ARRAY_BUFFER_VIEWS&&aA((function(){var e=new lA(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));pA("set",(function(e){hA(this);var t=oA(arguments.length>1?arguments[1]:void 0,1),i=sA(e);if(mA)return iA(uA,this,i,t);var n=this.length,r=rA(i),o=0;if(r+t>n)throw cA("Wrong length");for(;o0&&1/i<0?1:-1:t>i}}(e))}),!LA||PA);var MA=Xe,xA=TypeError,VA=Ur,UA=l,FA=tt,BA=H,HA=Wt,jA=function(e,t){if(!delete e[t])throw xA("Cannot delete property "+MA(t)+" of "+MA(e))},GA=gu,WA=n,JA=__,zA=ap,KA=gA,qA=TA,YA=ne,QA=SA,XA=[],$A=UA(XA.sort),ZA=UA(XA.push),eR=WA((function(){XA.sort(void 0)})),tR=WA((function(){XA.sort(null)})),iR=zA("sort"),nR=!WA((function(){if(YA)return YA<70;if(!(KA&&KA>3)){if(qA)return!0;if(QA)return QA<603;var e,t,i,n,r="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:i=3;break;case 68:case 71:i=4;break;default:i=2}for(n=0;n<47;n++)XA.push({k:t+n,v:i})}for(XA.sort((function(e,t){return t.v-e.v})),n=0;nGA(i)?1:-1}}(e)),i=HA(r),n=0;ne.length?-1:""===t?i:OR(e,t,i)};TR({target:"String",proto:!0},{replaceAll:function(e,t){var i,n,r,o,s,a,c,l,d=IR(this),u=0,h=0,p="";if(!vR(e)){if(AR(e)&&(i=RR(IR(bR(e))),!~OR(i,"g")))throw DR("`.replaceAll` does not allow non-global regexes");if(n=CR(e,NR))return ER(n,e,d,t)}for(r=RR(d),o=RR(e),(s=yR(t))||(t=RR(t)),a=o.length,c=PR(1,a),u=LR(r,o,0);-1!==u;)l=s?RR(t(o,u,r)):kR(o,r,u,[],void 0,t),p+=wR(r,h,u)+l,h=u+a,u=LR(r,o,u+c);return h=i&&parseInt(n[i],10)}function UR(e,t,i){if(!e.RTCPeerConnection)return;const n=e.RTCPeerConnection.prototype,r=n.addEventListener;n.addEventListener=function(e,n){if(e!==t)return r.apply(this,arguments);const o=e=>{const t=i(e);t&&(n.handleEvent?n.handleEvent(t):n(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(n,o),r.apply(this,[e,o])};const o=n.removeEventListener;n.removeEventListener=function(e,i){if(e!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(i))return o.apply(this,arguments);const n=this._eventMap[t].get(i);return this._eventMap[t].delete(i),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,o.apply(this,[e,n])},Object.defineProperty(n,"on"+t,{get(){return this["_on"+t]},set(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}function FR(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(MR=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function BR(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(xR=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function HR(){if("object"==typeof window){if(MR)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}}function jR(e,t){xR&&console.warn(e+" is deprecated, please use "+t+" instead.")}function GR(e){return"[object Object]"===Object.prototype.toString.call(e)}function WR(e){return GR(e)?Object.keys(e).reduce((function(t,i){const n=GR(e[i]),r=n?WR(e[i]):e[i],o=n&&!Object.keys(r).length;return void 0===r||o?t:Object.assign(t,{[i]:r})}),{}):e}function JR(e,t,i){t&&!i.has(t.id)&&(i.set(t.id,t),Object.keys(t).forEach((n=>{n.endsWith("Id")?JR(e,e.get(t[n]),i):n.endsWith("Ids")&&t[n].forEach((t=>{JR(e,e.get(t),i)}))})))}function zR(e,t,i){const n=i?"outbound-rtp":"inbound-rtp",r=new Map;if(null===t)return r;const o=[];return e.forEach((e=>{"track"===e.type&&e.trackIdentifier===t.id&&o.push(e)})),o.forEach((t=>{e.forEach((i=>{i.type===n&&i.trackId===t.id&&JR(e,i,r)}))})),r}const KR=HR;function qR(e,t){const i=e&&e.navigator;if(!i.mediaDevices)return;const n=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach((i=>{if("require"===i||"advanced"===i||"mediaSource"===i)return;const n="object"==typeof e[i]?e[i]:{ideal:e[i]};void 0!==n.exact&&"number"==typeof n.exact&&(n.min=n.max=n.exact);const r=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==n.ideal){t.optional=t.optional||[];let e={};"number"==typeof n.ideal?(e[r("min",i)]=n.ideal,t.optional.push(e),e={},e[r("max",i)]=n.ideal,t.optional.push(e)):(e[r("",i)]=n.ideal,t.optional.push(e))}void 0!==n.exact&&"number"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[r("",i)]=n.exact):["min","max"].forEach((e=>{void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[r(e,i)]=n[e])}))})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},r=function(e,r){if(t.version>=61)return r(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){const t=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=n(e.audio)}if(e&&"object"==typeof e.video){let o=e.video.facingMode;o=o&&("object"==typeof o?o:{ideal:o});const s=t.version<66;if(o&&("user"===o.exact||"environment"===o.exact||"user"===o.ideal||"environment"===o.ideal)&&(!i.mediaDevices.getSupportedConstraints||!i.mediaDevices.getSupportedConstraints().facingMode||s)){let t;if(delete e.video.facingMode,"environment"===o.exact||"environment"===o.ideal?t=["back","rear"]:"user"!==o.exact&&"user"!==o.ideal||(t=["front"]),t)return i.mediaDevices.enumerateDevices().then((i=>{i=i.filter((e=>"videoinput"===e.kind));let s=i.find((e=>t.some((t=>e.label.toLowerCase().includes(t)))));return!s&&i.length&&t.includes("back")&&(s=i[i.length-1]),s&&(e.video.deviceId=o.exact?{exact:s.deviceId}:{ideal:s.deviceId}),e.video=n(e.video),KR("chrome: "+JSON.stringify(e)),r(e)}))}e.video=n(e.video)}return KR("chrome: "+JSON.stringify(e)),r(e)},o=function(e){return t.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(i.getUserMedia=function(e,t,n){r(e,(e=>{i.webkitGetUserMedia(e,t,(e=>{n&&n(o(e))}))}))}.bind(i),i.mediaDevices.getUserMedia){const e=i.mediaDevices.getUserMedia.bind(i.mediaDevices);i.mediaDevices.getUserMedia=function(t){return r(t,(t=>e(t).then((e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach((e=>{e.stop()})),new DOMException("","NotFoundError");return e}),(e=>Promise.reject(o(e))))))}}}function YR(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function QR(e){if("object"==typeof e&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",(i=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===i.track.id)):{track:i.track};const r=new Event("track");r.track=i.track,r.receiver=n,r.transceiver={receiver:n},r.streams=[t.stream],this.dispatchEvent(r)})),t.stream.getTracks().forEach((i=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===i.id)):{track:i};const r=new Event("track");r.track=i,r.receiver=n,r.transceiver={receiver:n},r.streams=[t.stream],this.dispatchEvent(r)}))},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else UR(e,"track",(e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e)))}function XR(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){const t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const i=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){let r=i.apply(this,arguments);return r||(r=t(this,e),this._senders.push(r)),r};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){n.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],i.apply(this,[e]),e.getTracks().forEach((e=>{this._senders.push(t(this,e))}))};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach((e=>{const t=this._senders.find((t=>t.track===e));t&&this._senders.splice(this._senders.indexOf(t),1)}))}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function $R(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,i,n]=arguments;if(arguments.length>0&&"function"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0===arguments.length||"function"!=typeof e))return t.apply(this,[]);const r=function(e){const t={};return e.result().forEach((e=>{const i={id:e.id,timestamp:e.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};e.names().forEach((t=>{i[t]=e.stat(t)})),t[i.id]=i})),t},o=function(e){return new Map(Object.keys(e).map((t=>[t,e[t]])))};if(arguments.length>=2){const n=function(e){i(o(r(e)))};return t.apply(this,[n,e])}return new Promise(((e,i)=>{t.apply(this,[function(t){e(o(r(t)))},i])})).then(i,n)}}function ZR(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=i.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>zR(t,e.track,!0)))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),UR(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>zR(t,e.track,!1)))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const e=arguments[0];let t,i,n;return this.getSenders().forEach((i=>{i.track===e&&(t?n=!0:t=i)})),this.getReceivers().forEach((t=>(t.track===e&&(i?n=!0:i=t),t.track===e))),n||t&&i?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():i?i.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function eC(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((e=>this._shimmedLocalStreams[e][0]))};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,i){if(!i)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const n=t.apply(this,arguments);return this._shimmedLocalStreams[i.id]?-1===this._shimmedLocalStreams[i.id].indexOf(n)&&this._shimmedLocalStreams[i.id].push(n):this._shimmedLocalStreams[i.id]=[i,n],n};const i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException("Track already exists.","InvalidAccessError")}));const t=this.getSenders();i.apply(this,arguments);const n=this.getSenders().filter((e=>-1===t.indexOf(e)));this._shimmedLocalStreams[e.id]=[e].concat(n)};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};const r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach((t=>{const i=this._shimmedLocalStreams[t].indexOf(e);-1!==i&&this._shimmedLocalStreams[t].splice(i,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]})),r.apply(this,arguments)}}function tC(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return eC(e);const i=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=i.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map((e=>this._reverseStreams[e.id]))};const n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException("Track already exists.","InvalidAccessError")})),!this._reverseStreams[t.id]){const i=new e.MediaStream(t.getTracks());this._streams[t.id]=i,this._reverseStreams[i.id]=t,t=i}n.apply(this,[t])};const r=e.RTCPeerConnection.prototype.removeStream;function o(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],r=e._streams[n.id];i=i.replace(new RegExp(r.id,"g"),n.id)})),new RTCSessionDescription({type:t.type,sdp:i})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},r.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,i){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const n=[].slice.call(arguments,1);if(1!==n.length||!n[0].getTracks().find((e=>e===t)))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find((e=>e.track===t)))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const r=this._streams[i.id];if(r)r.addTrack(t),Promise.resolve().then((()=>{this.dispatchEvent(new Event("negotiationneeded"))}));else{const n=new e.MediaStream([t]);this._streams[i.id]=n,this._reverseStreams[n.id]=i,this.addStream(n)}return this.getSenders().find((e=>e.track===t))},["createOffer","createAnswer"].forEach((function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){const e=arguments;return arguments.length&&"function"==typeof arguments[0]?i.apply(this,[t=>{const i=o(this,t);e[0].apply(null,[i])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):i.apply(this,arguments).then((e=>o(this,e)))}};e.RTCPeerConnection.prototype[t]=n[t]}));const s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=function(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],r=e._streams[n.id];i=i.replace(new RegExp(n.id,"g"),r.id)})),new RTCSessionDescription({type:t.type,sdp:i})}(this,arguments[0]),s.apply(this,arguments)):s.apply(this,arguments)};const a=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){const e=a.get.apply(this);return""===e.type?e:o(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(e._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let t;this._streams=this._streams||{},Object.keys(this._streams).forEach((i=>{this._streams[i].getTracks().find((t=>e.track===t))&&(t=this._streams[i])})),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function iC(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}))}function nC(e,t){UR(e,"negotiationneeded",(e=>{const i=e.target;if(!(t.version<72||i.getConfiguration&&"plan-b"===i.getConfiguration().sdpSemantics)||"stable"===i.signalingState)return e}))}var rC=Object.freeze({__proto__:null,shimMediaStream:YR,shimOnTrack:QR,shimGetSendersWithDtmf:XR,shimGetStats:$R,shimSenderReceiverGetStats:ZR,shimAddTrackRemoveTrackWithNative:eC,shimAddTrackRemoveTrack:tC,shimPeerConnection:iC,fixNegotiationNeeded:nC,shimGetUserMedia:qR,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&("function"==typeof t?e.navigator.mediaDevices.getDisplayMedia=function(i){return t(i).then((t=>{const n=i.video&&i.video.width,r=i.video&&i.video.height,o=i.video&&i.video.frameRate;return i.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:t,maxFrameRate:o||3}},n&&(i.video.mandatory.maxWidth=n),r&&(i.video.mandatory.maxHeight=r),e.navigator.mediaDevices.getUserMedia(i)}))}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))}});function oC(e,t){const i=e&&e.navigator,n=e&&e.MediaStreamTrack;if(i.getUserMedia=function(e,t,n){jR("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),i.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&"autoGainControl"in i.mediaDevices.getSupportedConstraints())){const e=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])},t=i.mediaDevices.getUserMedia.bind(i.mediaDevices);if(i.mediaDevices.getUserMedia=function(i){return"object"==typeof i&&"object"==typeof i.audio&&(i=JSON.parse(JSON.stringify(i)),e(i.audio,"autoGainControl","mozAutoGainControl"),e(i.audio,"noiseSuppression","mozNoiseSuppression")),t(i)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const i=t.apply(this,arguments);return e(i,"mozAutoGainControl","autoGainControl"),e(i,"mozNoiseSuppression","noiseSuppression"),i}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(i){return"audio"===this.kind&&"object"==typeof i&&(i=JSON.parse(JSON.stringify(i)),e(i,"autoGainControl","mozAutoGainControl"),e(i,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[i])}}}}function sC(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function aC(e,t){if("object"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}));const i={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,r,o]=arguments;return n.apply(this,[e||null]).then((e=>{if(t.version<53&&!r)try{e.forEach((e=>{e.type=i[e.type]||e.type}))}catch(aN){if("TypeError"!==aN.name)throw aN;e.forEach(((t,n)=>{e.set(n,Object.assign({},t,{type:i[t.type]||t.type}))}))}return e})).then(r,o)}}function cC(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=i.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function lC(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),UR(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function dC(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){jR("removeStream","removeTrack"),this.getSenders().forEach((t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)}))})}function uC(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function hC(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;void 0===e&&(e=[]),e=[...e];const i=e.length>0;i&&e.forEach((e=>{if("rid"in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")}));const n=t.apply(this,arguments);if(i){const{sender:t}=n,i=t.getParameters();(!("encodings"in i)||1===i.encodings.length&&0===Object.keys(i.encodings[0]).length)&&(i.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(i).then((()=>{delete t.sendEncodings})).catch((()=>{delete t.sendEncodings}))))}return n})}function pC(e){if("object"!=typeof e||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function mC(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}function _C(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}var fC=Object.freeze({__proto__:null,shimOnTrack:sC,shimPeerConnection:aC,shimSenderGetStats:cC,shimReceiverGetStats:lC,shimRemoveStream:dC,shimRTCDataChannel:uC,shimAddTransceiver:hC,shimGetParameters:pC,shimCreateOffer:mC,shimCreateAnswer:_C,shimGetUserMedia:oC,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(i){if(!i||!i.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===i.video?i.video={mediaSource:t}:i.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(i)})}});function gC(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((i=>t.call(this,i,e))),e.getVideoTracks().forEach((i=>t.call(this,i,e)))},e.RTCPeerConnection.prototype.addTrack=function(e,...i){return i&&i.forEach((e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]})),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const i=e.getTracks();this.getSenders().forEach((e=>{i.includes(e.track)&&this.removeTrack(e)}))})}}function TC(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach((e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event("addstream");t.stream=e,this.dispatchEvent(t)}))})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach((t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const i=new Event("addstream");i.stream=t,e.dispatchEvent(i)}))}),t.apply(e,arguments)}}}function EC(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,i=t.createOffer,n=t.createAnswer,r=t.setLocalDescription,o=t.setRemoteDescription,s=t.addIceCandidate;t.createOffer=function(e,t){const n=arguments.length>=2?arguments[2]:arguments[0],r=i.apply(this,[n]);return t?(r.then(e,t),Promise.resolve()):r},t.createAnswer=function(e,t){const i=arguments.length>=2?arguments[2]:arguments[0],r=n.apply(this,[i]);return t?(r.then(e,t),Promise.resolve()):r};let a=function(e,t,i){const n=r.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n};t.setLocalDescription=a,a=function(e,t,i){const n=o.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n},t.setRemoteDescription=a,a=function(e,t,i){const n=s.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n},t.addIceCandidate=a}function SC(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,i=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>i(IC(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,i,n){t.mediaDevices.getUserMedia(e).then(i,n)}.bind(t))}function IC(e){return e&&void 0!==e.video?Object.assign({},e,{video:WR(e.video)}):e}function yC(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,i){if(e&&e.iceServers){const t=[];for(let i=0;it.generateCertificate})}function vC(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function AC(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find((e=>"audio"===e.receiver.track.kind));!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio",{direction:"recvonly"}),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const i=this.getTransceivers().find((e=>"video"===e.receiver.track.kind));!1===e.offerToReceiveVideo&&i?"sendrecv"===i.direction?i.setDirection?i.setDirection("sendonly"):i.direction="sendonly":"recvonly"===i.direction&&(i.setDirection?i.setDirection("inactive"):i.direction="inactive"):!0!==e.offerToReceiveVideo||i||this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}}function RC(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var CC=Object.freeze({__proto__:null,shimLocalStreamsAPI:gC,shimRemoteStreamsAPI:TC,shimCallbacksAPI:EC,shimGetUserMedia:SC,shimConstraints:IC,shimRTCIceServerUrls:yC,shimTrackEventTransceiver:vC,shimCreateOfferLegacy:AC,shimAudioContext:RC}),bC={},kC={get exports(){return bC},set exports(e){bC=e}};!function(e){const t={generateIdentifier:function(){return Math.random().toString(36).substring(2,12)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split("\n").map((e=>e.trim()))},t.splitSections=function(e){return e.split("\nm=").map(((e,t)=>(t>0?"m="+e:e).trim()+"\r\n"))},t.getDescription=function(e){const i=t.splitSections(e);return i&&i[0]},t.getMediaSections=function(e){const i=t.splitSections(e);return i.shift(),i},t.matchPrefix=function(e,i){return t.splitLines(e).filter((e=>0===e.indexOf(i)))},t.parseCandidate=function(e){let t;t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" ");const i={foundation:t[0],component:{1:"rtp",2:"rtcp"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let n=8;n0?t[0].split("/")[1]:"sendrecv",uri:t[1],attributes:t.slice(2).join(" ")}},t.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+(e.attributes?" "+e.attributes:"")+"\r\n"},t.parseFmtp=function(e){const t={};let i;const n=e.substring(e.indexOf(" ")+1).split(";");for(let r=0;r{void 0!==e.parameters[t]?n.push(t+"="+e.parameters[t]):n.push(t)})),t+="a=fmtp:"+i+" "+n.join(";")+"\r\n"}return t},t.parseRtcpFb=function(e){const t=e.substring(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},t.writeRtcpFb=function(e){let t="",i=e.payloadType;return void 0!==e.preferredPayloadType&&(i=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach((e=>{t+="a=rtcp-fb:"+i+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"})),t},t.parseSsrcMedia=function(e){const t=e.indexOf(" "),i={ssrc:parseInt(e.substring(7,t),10)},n=e.indexOf(":",t);return n>-1?(i.attribute=e.substring(t+1,n),i.value=e.substring(n+1)):i.attribute=e.substring(t+1),i},t.parseSsrcGroup=function(e){const t=e.substring(13).split(" ");return{semantics:t.shift(),ssrcs:t.map((e=>parseInt(e,10)))}},t.getMid=function(e){const i=t.matchPrefix(e,"a=mid:")[0];if(i)return i.substring(6)},t.parseFingerprint=function(e){const t=e.substring(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},t.getDtlsParameters=function(e,i){return{role:"auto",fingerprints:t.matchPrefix(e+i,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let i="a=setup:"+t+"\r\n";return e.fingerprints.forEach((e=>{i+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"})),i},t.parseCryptoLine=function(e){const t=e.substring(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+("object"==typeof e.keyParams?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+"\r\n"},t.parseCryptoKeyParams=function(e){if(0!==e.indexOf("inline:"))return null;const t=e.substring(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")},t.getCryptoParameters=function(e,i){return t.matchPrefix(e+i,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,i){const n=t.matchPrefix(e+i,"a=ice-ufrag:")[0],r=t.matchPrefix(e+i,"a=ice-pwd:")[0];return n&&r?{usernameFragment:n.substring(12),password:r.substring(10)}:null},t.writeIceParameters=function(e){let t="a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n";return e.iceLite&&(t+="a=ice-lite\r\n"),t},t.parseRtpParameters=function(e){const i={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=t.splitLines(e)[0].split(" ");i.profile=n[2];for(let o=3;o{i.headerExtensions.push(t.parseExtmap(e))}));const r=t.matchPrefix(e,"a=rtcp-fb:* ").map(t.parseRtcpFb);return i.codecs.forEach((e=>{r.forEach((t=>{e.rtcpFeedback.find((e=>e.type===t.type&&e.parameter===t.parameter))||e.rtcpFeedback.push(t)}))})),i},t.writeRtpDescription=function(e,i){let n="";n+="m="+e+" ",n+=i.codecs.length>0?"9":"0",n+=" "+(i.profile||"UDP/TLS/RTP/SAVPF")+" ",n+=i.codecs.map((e=>void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType)).join(" ")+"\r\n",n+="c=IN IP4 0.0.0.0\r\n",n+="a=rtcp:9 IN IP4 0.0.0.0\r\n",i.codecs.forEach((e=>{n+=t.writeRtpMap(e),n+=t.writeFmtp(e),n+=t.writeRtcpFb(e)}));let r=0;return i.codecs.forEach((e=>{e.maxptime>r&&(r=e.maxptime)})),r>0&&(n+="a=maxptime:"+r+"\r\n"),i.headerExtensions&&i.headerExtensions.forEach((e=>{n+=t.writeExtmap(e)})),n},t.parseRtpEncodingParameters=function(e){const i=[],n=t.parseRtpParameters(e),r=-1!==n.fecMechanisms.indexOf("RED"),o=-1!==n.fecMechanisms.indexOf("ULPFEC"),s=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"cname"===e.attribute)),a=s.length>0&&s[0].ssrc;let c;const l=t.matchPrefix(e,"a=ssrc-group:FID").map((e=>e.substring(17).split(" ").map((e=>parseInt(e,10)))));l.length>0&&l[0].length>1&&l[0][0]===a&&(c=l[0][1]),n.codecs.forEach((e=>{if("RTX"===e.name.toUpperCase()&&e.parameters.apt){let t={ssrc:a,codecPayloadType:parseInt(e.parameters.apt,10)};a&&c&&(t.rtx={ssrc:c}),i.push(t),r&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:a,mechanism:o?"red+ulpfec":"red"},i.push(t))}})),0===i.length&&a&&i.push({ssrc:a});let d=t.matchPrefix(e,"b=");return d.length&&(d=0===d[0].indexOf("b=TIAS:")?parseInt(d[0].substring(7),10):0===d[0].indexOf("b=AS:")?1e3*parseInt(d[0].substring(5),10)*.95-16e3:void 0,i.forEach((e=>{e.maxBitrate=d}))),i},t.parseRtcpParameters=function(e){const i={},n=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"cname"===e.attribute))[0];n&&(i.cname=n.value,i.ssrc=n.ssrc);const r=t.matchPrefix(e,"a=rtcp-rsize");i.reducedSize=r.length>0,i.compound=0===r.length;const o=t.matchPrefix(e,"a=rtcp-mux");return i.mux=o.length>0,i},t.writeRtcpParameters=function(e){let t="";return e.reducedSize&&(t+="a=rtcp-rsize\r\n"),e.mux&&(t+="a=rtcp-mux\r\n"),void 0!==e.ssrc&&e.cname&&(t+="a=ssrc:"+e.ssrc+" cname:"+e.cname+"\r\n"),t},t.parseMsid=function(e){let i;const n=t.matchPrefix(e,"a=msid:");if(1===n.length)return i=n[0].substring(7).split(" "),{stream:i[0],track:i[1]};const r=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"msid"===e.attribute));return r.length>0?(i=r[0].value.split(" "),{stream:i[0],track:i[1]}):void 0},t.parseSctpDescription=function(e){const i=t.parseMLine(e),n=t.matchPrefix(e,"a=max-message-size:");let r;n.length>0&&(r=parseInt(n[0].substring(19),10)),isNaN(r)&&(r=65536);const o=t.matchPrefix(e,"a=sctp-port:");if(o.length>0)return{port:parseInt(o[0].substring(12),10),protocol:i.fmt,maxMessageSize:r};const s=t.matchPrefix(e,"a=sctpmap:");if(s.length>0){const e=s[0].substring(10).split(" ");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:r}}},t.writeSctpDescription=function(e,t){let i=[];return i="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&i.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),i.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,22)},t.writeSessionBoilerplate=function(e,i,n){let r;const o=void 0!==i?i:2;return r=e||t.generateSessionId(),"v=0\r\no="+(n||"thisisadapterortc")+" "+r+" "+o+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.getDirection=function(e,i){const n=t.splitLines(e);for(let t=0;t(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t)))}function wC(e){!e.RTCIceCandidate||e.RTCIceCandidate&&"relayProtocol"in e.RTCIceCandidate.prototype||UR(e,"icecandidate",(e=>{if(e.candidate){const t=NC.parseCandidate(e.candidate.candidate);"relay"===t.type&&(e.candidate.relayProtocol={0:"tls",1:"tcp",2:"udp"}[t.priority>>24])}return e}))}function PC(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});const i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===t.browser&&t.version>=76){const{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(function(e){if(!e||!e.sdp)return!1;const t=NC.splitSections(e.sdp);return t.shift(),t.some((e=>{const t=NC.parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")}))}(arguments[0])){const e=function(e){const t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return-1;const i=parseInt(t[1],10);return i!=i?-1:i}(arguments[0]),i=function(e){let i=65536;return"firefox"===t.browser&&(i=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),i}(e),n=function(e,i){let n=65536;"firefox"===t.browser&&57===t.version&&(n=65535);const r=NC.matchPrefix(e.sdp,"a=max-message-size:");return r.length>0?n=parseInt(r[0].substring(19),10):"firefox"===t.browser&&-1!==i&&(n=2147483637),n}(arguments[0],e);let r;r=0===i&&0===n?Number.POSITIVE_INFINITY:0===i||0===n?Math.max(i,n):Math.min(i,n);const o={};Object.defineProperty(o,"maxMessageSize",{get:()=>r}),this._sctp=o}return i.apply(this,arguments)}}function LC(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){const i=e.send;e.send=function(){const n=arguments[0],r=n.length||n.size||n.byteLength;if("open"===e.readyState&&t.sctp&&r>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return i.apply(e,arguments)}}const i=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=i.apply(this,arguments);return t(e,this),e},UR(e,"datachannel",(e=>(t(e.channel,e.target),e)))}function MC(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach((e=>{const i=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{const t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;const i=new Event("connectionstatechange",e);t.dispatchEvent(i)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),i.apply(this,arguments)}}))}function xC(e,t){if(!e.RTCPeerConnection)return;if("chrome"===t.browser&&t.version>=71)return;if("safari"===t.browser&&t.version>=605)return;const i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){const i=t.sdp.split("\n").filter((e=>"a=extmap-allow-mixed"!==e.trim())).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:i}):t.sdp=i}return i.apply(this,arguments)}}function VC(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const i=e.RTCPeerConnection.prototype.addIceCandidate;i&&0!==i.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&t.version<78||"firefox"===t.browser&&t.version<68||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():i.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function UC(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const i=e.RTCPeerConnection.prototype.setLocalDescription;i&&0!==i.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return i.apply(this,arguments);if(e={type:e.type,sdp:e.sdp},!e.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":e.type="offer";break;default:e.type="answer"}return e.sdp||"offer"!==e.type&&"answer"!==e.type?i.apply(this,[e]):("offer"===e.type?this.createOffer:this.createAnswer).apply(this).then((e=>i.apply(this,[e])))})}var FC=Object.freeze({__proto__:null,shimRTCIceCandidate:OC,shimRTCIceCandidateRelayProtocol:wC,shimMaxMessageSize:PC,shimSendThrowTypeError:LC,shimConnectionState:MC,removeExtmapAllowMixed:xC,shimAddIceCandidateNullOrEmpty:VC,shimParameterlessSetLocalDescription:UC});!function({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){const i=HR,n=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator||!e.navigator.userAgent)return t.browser="Not a browser.",t;const{navigator:i}=e;if(i.mozGetUserMedia)t.browser="firefox",t.version=VR(i.userAgent,/Firefox\/(\d+)\./,1);else if(i.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser="chrome",t.version=VR(i.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else{if(!e.RTCPeerConnection||!i.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=VR(i.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}return t}(e),r={browserDetails:n,commonShim:FC,extractVersion:VR,disableLog:FR,disableWarnings:BR,sdp:DC};switch(n.browser){case"chrome":if(!rC||!iC||!t.shimChrome)return i("Chrome shim is not included in this adapter release."),r;if(null===n.version)return i("Chrome shim can not determine version, not shimming."),r;i("adapter.js shimming chrome."),r.browserShim=rC,VC(e,n),UC(e),qR(e,n),YR(e),iC(e,n),QR(e),tC(e,n),XR(e),$R(e),ZR(e),nC(e,n),OC(e),wC(e),MC(e),PC(e,n),LC(e),xC(e,n);break;case"firefox":if(!fC||!aC||!t.shimFirefox)return i("Firefox shim is not included in this adapter release."),r;i("adapter.js shimming firefox."),r.browserShim=fC,VC(e,n),UC(e),oC(e,n),aC(e,n),sC(e),dC(e),cC(e),lC(e),uC(e),hC(e),pC(e),mC(e),_C(e),OC(e),MC(e),PC(e,n),LC(e);break;case"safari":if(!CC||!t.shimSafari)return i("Safari shim is not included in this adapter release."),r;i("adapter.js shimming safari."),r.browserShim=CC,VC(e,n),UC(e),yC(e),AC(e),EC(e),gC(e),TC(e),vC(e),SC(e),RC(e),OC(e),wC(e),PC(e,n),LC(e),xC(e,n);break;default:i("Unsupported browser!")}}({window:"undefined"==typeof window?void 0:window});var BC,HC=Object.create,jC=Object.defineProperty,GC=Object.defineProperties,WC=Object.getOwnPropertyDescriptor,JC=Object.getOwnPropertyDescriptors,zC=Object.getOwnPropertyNames,KC=Object.getOwnPropertySymbols,qC=Object.getPrototypeOf,YC=Object.prototype.hasOwnProperty,QC=Object.prototype.propertyIsEnumerable,XC=Reflect.get,$C=Math.pow,ZC=(e,t,i)=>t in e?jC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,eb=(e,t)=>{for(var i in t||(t={}))YC.call(t,i)&&ZC(e,i,t[i]);if(KC)for(var i of KC(t))QC.call(t,i)&&ZC(e,i,t[i]);return e},tb=(e,t)=>GC(e,JC(t)),ib=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),nb=(e,t)=>{for(var i in t)jC(e,i,{get:t[i],enumerable:!0})},rb=(e,t,i)=>(i=null!=e?HC(qC(e)):{},((e,t,i,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of zC(t))!YC.call(e,r)&&r!==i&&jC(e,r,{get:()=>t[r],enumerable:!(n=WC(t,r))||n.enumerable});return e})(!t&&e&&e.__esModule?i:jC(i,"default",{value:e,enumerable:!0}),e)),ob=(e,t,i,n)=>{for(var r,o=n>1?void 0:n?WC(t,i):t,s=e.length-1;s>=0;s--)(r=e[s])&&(o=(n?r(t,i,o):r(o))||o);return n&&o&&jC(t,i,o),o},sb=(e,t,i)=>(ZC(e,"symbol"!=typeof t?t+"":t,i),i),ab=(e,t,i)=>XC(qC(e),i,t),cb=(e,t,i)=>new Promise(((n,r)=>{var o=e=>{try{a(i.next(e))}catch(t){r(t)}},s=e=>{try{a(i.throw(e))}catch(t){r(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,s);a((i=i.apply(e,t)).next())})),lb=ib(((e,t)=>{var i=Object.prototype.hasOwnProperty,n="~";function r(){}function o(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function s(e,t,i,r,s){if("function"!=typeof i)throw new TypeError("The listener must be a function");var a=new o(i,r||e,s),c=n?n+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],a]:e._events[c].push(a):(e._events[c]=a,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function c(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),c.prototype.eventNames=function(){var e,t,r=[];if(0===this._eventsCount)return r;for(t in e=this._events)i.call(e,t)&&r.push(n?t.slice(1):t);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},c.prototype.listeners=function(e){var t=n?n+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,o=i.length,s=new Array(o);r{var i=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:%d 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":"")}},{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:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\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:"invalid",names:["value"]}]};Object.keys(i).forEach((function(e){i[e].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")}))}))})),ub=ib((e=>{var t=function(e){return String(Number(e))===e?Number(e):e},i=function(e,i,n){var r=e.name&&e.names;e.push&&!i[e.push]?i[e.push]=[]:r&&!i[e.name]&&(i[e.name]={});var o=e.push?{}:r?i[e.name]:i;(function(e,i,n,r){if(r&&!n)i[r]=t(e[1]);else for(var o=0;o1&&(e[n[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(o,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var i=[],n=e.split(" ").map(t),r=0;r{var i=db(),n=/%[sdv%]/g,r=function(e){var t=1,i=arguments,r=i.length;return e.replace(n,(function(e){if(t>=r)return e;var n=i[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(n);case"%d":return Number(n);case"%v":return""}}))},o=function(e,t,i){var n=[e+"="+(t.format instanceof Function?t.format(t.push?i:i[t.name]):t.format)];if(t.names)for(var o=0;o{var t=ub(),i=hb();e.write=i,e.parse=t.parse,e.parseFmtpConfig=t.parseFmtpConfig,e.parseParams=t.parseParams,e.parsePayloads=t.parsePayloads,e.parseRemoteCandidates=t.parseRemoteCandidates,e.parseImageAttributes=t.parseImageAttributes,e.parseSimulcastStreamList=t.parseSimulcastStreamList})),mb=rb(lb()),_b=((BC=_b||{})[BC.INVALID_PARAMETER=4096]="INVALID_PARAMETER",BC[BC.INVALID_OPERATION=4097]="INVALID_OPERATION",BC[BC.NOT_SUPPORTED=4098]="NOT_SUPPORTED",BC[BC.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",BC[BC.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",BC[BC.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",BC[BC.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",BC[BC.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",BC[BC.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",BC[BC.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",BC[BC.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",BC[BC.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",BC[BC.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",BC[BC.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",BC[BC.CLIENT_BANNED=16448]="CLIENT_BANNED",BC[BC.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",BC[BC.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",BC[BC.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",BC[BC.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",BC[BC.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",BC[BC.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",BC[BC.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",BC[BC.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",BC[BC.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",BC[BC.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",BC[BC.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",BC[BC.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",BC[BC.API_CALL_ABORTED=16461]="API_CALL_ABORTED",BC[BC.UNKNOWN=65535]="UNKNOWN",BC),fb=_b,gb=class extends Error{constructor(e){let{name:t="RtcError",message:i,code:n=fb.UNKNOWN,extraCode:r=0,constraint:o}=e,s="<".concat(function(e){for(let t in fb)if(fb[t]===e)return t;return"UNKNOWN"}(n)," 0x").concat(n.toString(16),">"),a="".concat(i).concat(o?" constraint: ".concat(o):"").concat(null!=i&&i.includes(s)?"":" ".concat(s));super(a),sb(this,"code"),sb(this,"extraCode"),sb(this,"message"),sb(this,"originMessage"),sb(this,"name"),sb(this,"constraint"),this.code=n,this.extraCode=r,this.name=t,this.message=a,this.constraint=o,this.originMessage=i}getCode(){return this.code}getExtraCode(){return this.extraCode}toString(){return this.originMessage}},Tb=gb,Eb=((new Date).getTime(),0),Sb=function(){return(new Date).getTime()+Eb},Ib=function(){let e=new Date;return e.setTime(Sb()),e.toLocaleString()},yb={};nb(yb,{bytes2ms:()=>KD,copyProperties:()=>zD,deepMerge:()=>bO,env:()=>vb,fibonacci:()=>eO,formatedTime:()=>DO,getConstructorName:()=>mO,getContainerFromElement:()=>kO,getEnv:()=>FD,getInternalVersion:()=>EO,getLoggerUrl:()=>HD,getMuteStateFromFlag:()=>yO,getNetworkQuality:()=>vO,getNetworkType:()=>WD,getOSType:()=>GD,getReconnectionTimeout:()=>tO,getStringByteLength:()=>PO,getSysInfo:()=>JD,getTerminalType:()=>jD,getTurnServer:()=>AO,getValueType:()=>iO,glog:()=>XD,ipv4ToUint32:()=>RO,isArray:()=>lO,isArrayOrObject:()=>CO,isAudioWorkletSupported:()=>_O,isBoolean:()=>aO,isConstructor:()=>pO,isEmpty:()=>IO,isFunction:()=>nO,isLangChinese:()=>$D,isMediaStreamTrack:()=>dO,isNumber:()=>sO,isObject:()=>cO,isOverseaSdkAppId:()=>BD,isPlainObject:()=>ZD,isPromise:()=>hO,isRemoteTrack:()=>uO,isString:()=>oO,isUndefined:()=>rO,ms2bytes:()=>YD,ms2samples:()=>QD,performanceNow:()=>gO,promiseAny:()=>fO,samples2ms:()=>qD,stringify:()=>OO,stringifyIncludeValue:()=>wO});var vb={};nb(vb,{ANDROID_VERSION:()=>xb,CHROME_MAJOR_VERSION:()=>Vk,CHROME_VERSION:()=>Uk,EDGE_VERSION:()=>Gb,EDG_MAJOR_VERSION:()=>zb,EDG_VERSION:()=>Jb,FIREFOX_MAJOR_VERSION:()=>Hb,FIREFOX_VERSION:()=>Bb,HUAWEI_VERSION:()=>Ck,IE_VERSION:()=>nk,IOS_MAIN_VERSION:()=>Wk,IOS_VERSION:()=>Gk,IPADQQB_VERSION:()=>mk,IS_ANDROID:()=>Mb,IS_ANDROID_WEBVIEW:()=>jk,IS_ANY_SAFARI:()=>Bk,IS_CHROME:()=>Mk,IS_CHROME_OS:()=>Tk,IS_CHROMIUM_BASE:()=>Lk,IS_EDG:()=>Wb,IS_EDGE:()=>jb,IS_ELECTRON:()=>Ik,IS_FIREFOX:()=>Fb,IS_HEADLESS_CHROME:()=>xk,IS_HUAWEI:()=>Rk,IS_HUAWEIBROWSER:()=>Ak,IS_IE:()=>ik,IS_IE8:()=>tk,IS_IOS:()=>Lb,IS_IOS_13_OR_14:()=>Kk,IS_IOS_15_1:()=>zk,IS_IPAD:()=>Db,IS_IPADQQB:()=>pk,IS_IPAD_PRO:()=>Ob,IS_IPHONE:()=>wb,IS_IPOD:()=>Pb,IS_LINUX:()=>gk,IS_LOCAL:()=>qk,IS_MAC:()=>fk,IS_MACQQB:()=>uk,IS_MIBROWSER:()=>yk,IS_MQQB:()=>ak,IS_NATIVE_ANDROID:()=>Ub,IS_OLD_ANDROID:()=>Vb,IS_OPPOBROWSER:()=>Nk,IS_SAFARI:()=>Fk,IS_SAFARI_15_1:()=>Jk,IS_SAMSUNGBROWSER:()=>bk,IS_SOGOU:()=>Yb,IS_SOGOUM:()=>Kb,IS_TBS:()=>Xb,IS_UCBROWSER:()=>Sk,IS_VIVOBROWSER:()=>Ok,IS_WECHAT:()=>rk,IS_WIN:()=>_k,IS_WQQB:()=>lk,IS_WX:()=>Ek,IS_X5MQQB:()=>sk,IS_XWEB:()=>Zb,MACQQB_VERSION:()=>hk,MI_VERSION:()=>vk,MQQB_VERSION:()=>ck,OPPO_VERSION:()=>Dk,SAFARI_VERSION:()=>Hk,SAMSUNG_VERSION:()=>kk,SOGOUM_VERSION:()=>qb,SOGOU_VERSION:()=>Qb,TBS_VERSION:()=>$b,USER_AGENT:()=>Ab,VIVO_VERSION:()=>wk,WECHAT_VERSION:()=>ok,WQQB_VERSION:()=>dk,XWEB_VERSION:()=>ek,browserInfo:()=>Qk,getBrowserInfo:()=>Xk,getChromeMajorVersion:()=>Pk,getOSName:()=>tN,getOSString:()=>iN,getUserAgentData:()=>Zk,isLocalStorageEnabled:()=>Yk});var Ab="undefined"==typeof navigator?"":navigator.userAgent,Rb=e=>new RegExp(e,"i").test(Ab),Cb=e=>{if(Rb(e)){let t=new RegExp("".concat(e,"\\/([\\d.]+)")),i=Ab.match(t);if(i&&i[1])return i[1]}return""},bb=e=>{if(Rb(e)){let t=new RegExp("".concat(e,"\\/(\\d+)")),i=Ab.match(t);if(i&&i[1])return parseFloat(i[1])}return NaN},kb=/AppleWebKit\/([\d.]+)/i.exec(Ab),Nb=kb?parseFloat(kb[1]):NaN,Db=Rb("iPad"),Ob="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&Rb("Macintosh"),wb=Rb("iPhone")&&!Db,Pb=Rb("iPod"),Lb=wb||Db||Pb||Ob,Mb=Rb("Android"),xb=function(){if(Mb){let e=Ab.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(e){let t=e[1]&&parseFloat(e[1]),i=e[2]&&parseFloat(e[2]);if(t&&i)return parseFloat("".concat(e[1],".").concat(e[2]));if(t)return t}}return NaN}(),Vb=Mb&&Rb("webkit")&&xb<2.3,Ub=Mb&&xb<5&&Nb<537,Fb=Rb("Firefox"),Bb=Cb("Firefox"),Hb=bb("Firefox"),jb=Rb("Edge"),Gb=Cb("Edge"),Wb=Rb("Edg"),Jb=Cb("Edg"),zb=bb("Edg"),Kb=Rb("SogouMobileBrowser"),qb=Cb("SogouMobileBrowser"),Yb=Rb("MetaSr\\s"),Qb=Cb("MetaSr\\s"),Xb=Rb("TBS"),$b=Cb("TBS"),Zb=Rb("XWEB"),ek=Cb("XWEB"),tk=Rb("MSIE\\s8\\.0"),ik=Rb("MSIE\\/\\d+"),nk=function(){if(ik){let e=/MSIE\s(\d+)\.\d/.exec(Ab),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(Ab)&&/rv:11.0/.test(Ab)&&(t=11),t}return NaN}(),rk=Rb("(micromessenger|webbrowser)"),ok=Cb("MicroMessenger"),sk=!Xb&&Rb("MQQBrowser")&&Rb("COVC"),ak=!Xb&&Rb("MQQBrowser")&&!Rb("COVC"),ck=ak||sk?Cb("MQQBrowser"):"",lk=!Xb&&Rb(" QQBrowser"),dk=Cb(" QQBrowser"),uk=!Xb&&Rb("QQBrowserLite"),hk=Cb("QQBrowserLite"),pk=!Xb&&Rb("MQBHD"),mk=Cb("MQBHD"),_k=Rb("Windows"),fk=!Lb&&Rb("MAC OS X"),gk=!Mb&&Rb("Linux"),Tk=Rb("CrOS"),Ek=Rb("MicroMessenger"),Sk=Rb("UCBrowser"),Ik=Rb("Electron"),yk=Rb("MiuiBrowser"),vk=Cb("MiuiBrowser"),Ak=Rb("HuaweiBrowser"),Rk=Rb("Huawei"),Ck=Cb("HuaweiBrowser"),bk=Rb("SamsungBrowser"),kk=Cb("SamsungBrowser"),Nk=Rb("HeyTapBrowser"),Dk=Cb("HeyTapBrowser"),Ok=Rb("VivoBrowser"),wk=Cb("VivoBrowser"),Pk=()=>bb("Chrome"),Lk=Rb("Chrome"),Mk=!jb&&!Yb&&!Kb&&!Xb&&!Zb&&!Wb&&!lk&&!yk&&!Ak&&!bk&&!Nk&&!Ok&&Lk,xk=Rb("HeadlessChrome"),Vk=Pk(),Uk=Cb("Chrome"),Fk=!Lk&&!ak&&!sk&&!uk&&!pk&&Rb("Safari"),Bk=Fk||Lb,Hk=Cb("Version"),jk=/Android.*(wv|.0.0.0)/.test(Ab),Gk=(()=>{if(Ob)return Hk;if(Lb){let e=Ab.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""})(),Wk=Number(Gk.split(".")[0]),Jk="15.1"===Hk,zk="15.1"===Gk,Kk=(()=>{let e=Number(Gk.split(".")[0]);return 14===e||13===e})(),qk="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),Yk=(()=>{let e;return()=>{if(rO(e))try{e=!!window.localStorage}catch(FL){e=!1}return e}})(),Qk=Xk();function Xk(){let e=new Map([[Fb,["Firefox",Bb]],[Wb,["Edg",Jb]],[Mk,["Chrome",Uk]],[Fk,["Safari",Hk]],[Xb,["TBS",$b]],[Zb,["XWEB",ek]],[rk&&wb,["WeChat",ok]],[lk,["QQ(Win)",dk]],[ak,["QQ(Mobile)",ck]],[sk,["QQ(Mobile X5)",ck]],[uk,["QQ(Mac)",hk]],[pk,["QQ(iPad)",mk]],[yk,["MI",vk]],[Ak,["HW",Ck]],[bk,["Samsung",kk]],[Nk,["OPPO",Dk]],[Ok,["VIVO",wk]],[jb,["EDGE",Gb]],[Kb,["SogouMobile",qb]],[Yb,["Sogou",Qb]]]),t="unknown",i="unknown";return e.has(!0)&&([t,i]=e.get(!0)),{name:t,version:i}}var $k=null;function Zk(){return cb(this,null,(function*(){if($k)return $k;if(!navigator.userAgentData||!nO(navigator.userAgentData.getHighEntropyValues))return null;try{return $k=yield navigator.userAgentData.getHighEntropyValues(["architecture","bitness","model","platformVersion","fullVersionList"])}catch(UL){return null}}))}var eN=new Map([[Mb,"Android"],[Lb,"iOS"],[_k,"Windows"],[fk,"MacOS"],[gk,"Linux"],[Tk,"ChromeOS"]]),tN=function(){return eN.get(!0)?eN.get(!0):$k?$k.platform:"unknown"},iN=()=>{let e=tN();return e+="/".concat(Qk.name,"/").concat(Fk?Qk.version:Qk.version.split(".")[0]),null!=$k&&$k.platformVersion&&(e+="/".concat($k.platformVersion)),null!=$k&&$k.architecture&&(e+="/".concat($k.architecture)),e},nN={};nb(nN,{AUDIO_MUTE_BIT:()=>GN,AUDIO_STAT_BIT:()=>jN,AUX_STAT_BIT:()=>HN,AUX_STREAM_MSID:()=>zN,BACKEND_ENV:()=>VN,BASE_DOC_URL:()=>EN,BASE_HOST:()=>_N,CAPABILITIES_KEYS:()=>VD,CLASS_NAME:()=>AD,CLOUD_CONSOLE_URL:()=>TN,DATA_FREEZE_TIMING:()=>gD,DOC_URL:()=>SN,DTLS_STATE_UNKNOWN:()=>iD,ENV_NAME:()=>RN,EXCHANGE_SDP_TIMEOUT:()=>hD,INTERVAL:()=>MD,IS_WORKER:()=>dN,IS_WORKLET:()=>uN,KIBANA_EVENT:()=>lD,LOCAL_STREAM_PUBLISH_STATE:()=>fD,LOGGER_CMD_TYPE:()=>AN,LOGGER_DOMAIN:()=>IN,LOGGER_DOMAIN_OVERSEA:()=>yN,LOG_LEVEL:()=>CN,LOG_LEVEL_NAME:()=>ND,MAIN_STREAM_MSID:()=>JN,MICROPHONE_COMMUNICATIONS:()=>kD,MICROPHONE_DEFAULT:()=>CD,NAME:()=>MN,NETWORK_TYPE:()=>NN,NOT_SUPPORTED_H264:()=>_D,PAUSED_RETRY_COUNT:()=>RD,PEERCONNECTION_CONNECTING_TIMEOUT:()=>ID,PEER_CONNECTION_STATE:()=>nD,PEER_LEAVE_REASON:()=>DD,RAF:()=>LD,RECOVER_CAPTURE_INTERVAL:()=>wD,REMOTE_STREAM_TYPE_AUX:()=>qN,REMOTE_STREAM_TYPE_MAIN:()=>KN,RENDER_FREEZE_TIMING:()=>TD,RIC:()=>PD,SCHEDULE_DOMAIN:()=>yD,SCHEDULE_TIMEOUT:()=>vD,SDP_SEMANTICS_PLAN_B:()=>mD,SDP_SEMANTICS_UNIFIED_PLAN:()=>pD,SECOND_HOST:()=>fN,SIGNAL_PING_PONG_INTERVAL:()=>kN,SIGNAL_PING_TIMEOUT:()=>bN,SIGNAL_RECONNECTION_COUNT:()=>cD,SMALL_STAT_BIT:()=>BN,SPEAKER_DEFAULT:()=>bD,STORAGE_EXPIRES_TIME:()=>DN,STREAM_TYPE_BIG:()=>ED,STREAM_TYPE_SMALL:()=>SD,SUBSCRIBE_SMALL_RETRY_COUNT:()=>OD,SYNC_USER_LIST_INTERVAL:()=>dD,Scene:()=>UN,Switch:()=>ON,THIRD_HOST:()=>gN,TIMEOUT:()=>xD,TRANSPORT_DIRECTION:()=>xN,TRTC_ERROR_ASSISTANCE:()=>vN,TRTC_QUALITY_BAD:()=>ZN,TRTC_QUALITY_DISCONNECTED:()=>tD,TRTC_QUALITY_EXCELLENT:()=>QN,TRTC_QUALITY_GOOD:()=>XN,TRTC_QUALITY_POOR:()=>$N,TRTC_QUALITY_UNKNOWN:()=>YN,TRTC_QUALITY_VERY_BAD:()=>eD,UPDATE_OFFER_TIMEOUT:()=>uD,VIDEO_MUTE_BIT:()=>WN,VIDEO_STAT_BIT:()=>FN,audioProfileMap:()=>wN,getRetryCount:()=>sD,getScriptDir:()=>hN,innerVersion:()=>rN,loggerProxy:()=>pN,screenProfileMap:()=>LN,setLoggerProxy:()=>mN,setRetryCount:()=>oD,setVersion:()=>sN,version:()=>oN,videoProfileMap:()=>PN});var rN="4.15.00.1600",oN="5.0.0";function sN(e){oN=e;let[t,i,n]=e.split(".").map((e=>parseInt(e,10)));rN="".concat(t,".").concat(Math.min(15,i),".").concat(Math.min(15,n),".").concat(i.toString().padStart(2,"0")).concat(n.toString().padStart(2,"0"))}var aN,cN,lN,dN="undefined"!=typeof importScripts,uN="undefined"!=typeof registerProcessor,hN=()=>{let e=dN?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf("/")+1)},pN="",mN=e=>pN=e,_N="web.sdk.qcloud.com",fN="web.sdk.tencent.cn",gN="web.sdk.cloud.tencent.cn",TN="https://console.cloud.tencent.com/trtc",EN="https://".concat(_N,"/trtc/webrtc/v5/doc"),SN="".concat(EN,"/zh-cn/"),IN="https://yun.tim.qq.com",yN="https://apisgp.my-imcloud.com",vN="trtc_error_assistance",AN={LOG:"jssdk_log",EVENT:"jssdk_event",KEY_POINT:"jssdk_new_endreport"},RN={QCLOUD:"qcloud",OLD_CLOUD_LADDER:"trtc",WEBRTC:"webrtc"},CN=((lN=CN||{})[lN.TRACE=0]="TRACE",lN[lN.DEBUG=1]="DEBUG",lN[lN.INFO=2]="INFO",lN[lN.WARN=3]="WARN",lN[lN.ERROR=4]="ERROR",lN[lN.NONE=5]="NONE",lN),bN=18e3,kN=2e3,NN={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5},DN=6048e5,ON=((cN=ON||{}).USEAINS="useAINS",cN.ENABLEDEBUG="enableDebug",cN.USEV2="useV2",cN.USEWT="useWt",cN),wN={standard:{sampleRate:48e3,channelCount:1,bitrate:40},"standard-stereo":{sampleRate:48e3,channelCount:2,bitrate:64},high:{sampleRate:48e3,channelCount:1,bitrate:192},"high-stereo":{sampleRate:48e3,channelCount:2,bitrate:192}},PN={"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}},LN={"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}},MN={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",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"},xN={INACTIVE:"inactive",SENDONLY:"sendonly",RECVONLY:"recvonly"},VN={OLD_CLOUD_LADDER:"wss://trtc.rtc.qq.com",WEBRTC:"wss://webrtc.qq.com"},UN=((aN=UN||{}).LIVE="live",aN.RTC="rtc",aN),FN=1,BN=2,HN=4,jN=8,GN=64,WN=16,JN="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",zN="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",KN=MN.MAIN,qN=MN.AUXILIARY,YN=0,QN=1,XN=2,$N=3,ZN=4,eD=5,tD=6,iD="unknown",nD={NEW:"new",CONNECTING:"connecting",FAILED:"failed",CLOSED:"closed",DISCONNECTED:"disconnected",CONNECTED:"connected",COMPLETED:"completed"},rD=1/0;function oD(e){rD=e}function sD(){return rD}var aD,cD=30,lD={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"},dD=1e4,uD=1e4,hD=1e4,pD="unified-plan",mD="plan-b",_D=1028,fD=((aD=fD||{})[aD.UNPUBLISH=-1]="UNPUBLISH",aD[aD.PUBLISHING=0]="PUBLISHING",aD[aD.PUBLISHED=1]="PUBLISHED",aD),gD=500,TD=1e3,ED=MN.BIG,SD=MN.SMALL,ID=1e4,yD={MAIN:"schedule.rtc.qq.com",BACKUP:"schedule.rtc.qcloud.com",MAIN_OVERSEA:"schedule.rtc.tencentcloud.com",BACKUP_OVERSEA:"schedule-ecdn.rtc.tencentcloud.com"},vD=2e3,AD={TRTC:"TRTC",CLIENT:"Client",LOCAL_STREAM:"LocalStream",REMOTE_STREAM:"RemoteStream",STREAM:"Stream"},RD=5,CD="default",bD=CD,kD="communications",ND=Object.keys(CN),DD=["normal leave","timeout leave","kick","role change"],OD=10,wD=2e3,PD="ric",LD="raf",MD="interval",xD="timeout",VD=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId"],UD=1e8,FD=function(){return new URLSearchParams(location.search).get("trtc_env")||""},BD=e=>Number(e)<14e8,HD=function(e,t){let i;i=pN||(BD(e)?yN:IN);let n=Math.floor(Math.random()*$C(2,31));return"".concat(i,"/v5/AVQualityReportSvc/C2S?random=").concat(n,"&sdkappid=").concat(e,"&cmdtype=").concat(t)};function jD(){return Mb?4:wb?2:Db?3:fk?12:_k?5:gk?13:1}function GD(){return Mb?"Android":wb?"iPhone":Db?"iPad":fk?"Mac":_k?"Windows":gk?"Linux":"unknown"}function WD(){let{userAgent:e,connection:t}=navigator,i=(e.match(/NetType\/\S+/)||[])[0]||"";i=i.toLowerCase().replace("nettype/",""),"3gnet"===i&&(i="3g");let n=t&&t.type&&t.type.toLowerCase(),r=t&&t.effectiveType&&t.effectiveType.toLowerCase();"slow-2"===r&&(r="2g");let o=i||"unknown";if(n)switch(n){case"cellular":case"wimax":o=r||"unknown";break;case"wifi":o="wifi";break;case"ethernet":o="wired";break;default:o="unknown"}return o}var JD=function(e){return{AbilityOption:{AVLimit:e,GeneralLimit:{CPULimit:{uint32_CPU_num:navigator.hardwareConcurrency||0,str_CPU_name:String(navigator.platform),uint32_CPU_maxfreq:0,model:"",uint32_total_memory:0},uint32_terminal_type:jD(),uint32_device_type:0,str_os_verion:GD(),uint32_link_type:1,str_client_version:rN,uint32_net_type:NN[WD()],ua:navigator.userAgent,version:""}}}};function zD(e,t){for(let i of Reflect.ownKeys(t))if("constructor"!==i&&"prototype"!==i&&"name"!==i){let n=Object.getOwnPropertyDescriptor(t,i)||"";Object.defineProperty(e,i,n)}return e}function KD(e){return qD(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function qD(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function YD(e){return 4*QD(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function QD(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var XD="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:()=>{},$D=()=>{let e=navigator.language;return e=e.substring(0,2),"zh"===e},ZD=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 i=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof i&&i instanceof i&&Function.prototype.toString.call(i)===Function.prototype.toString.call(Object)};function eO(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:eO(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function tO(e){return e>8?3e4:1e3*eO(e)}function iO(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var nO=e=>"function"==typeof e,rO=e=>void 0===e,oO=e=>"string"==typeof e,sO=e=>"number"==typeof e,aO=e=>"boolean"==typeof e,cO=e=>"object"===iO(e),lO=e=>"array"===iO(e),dO=e=>iO(e)==="MediaStreamTrack".toLowerCase(),uO=e=>e.isRemote,hO=e=>"promise"===iO(e),pO=e=>nO(e)&&e.prototype.constructor===e,mO=e=>pO(e)?e.prototype.constructor.name:"",_O="undefined"!=typeof AudioWorkletNode;function fO(e){return new Promise(((t,i)=>{let n=[];e.forEach((r=>{r.then(t).catch((t=>{n.push(t),n.length===e.length&&i(n)}))}))}))}function gO(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var TO=e=>+e<10?"0".concat(e):e,EO=e=>{let t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;let i=t.split("."),n=TO(i[1])+TO(i[2]);return i[1]-15>0&&(i[1]="15"),i[2]-15>0&&(i[2]="15"),"".concat(i.join("."),".").concat(n)},SO=Object.prototype.hasOwnProperty;function IO(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(ZD(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(SO.call(e,t))return!1;return!0}return!1}function yO(e,t){return{userId:t,hasAudio:!!(e&jN),hasVideo:!!(e&FN),hasAuxiliary:!!(e&HN),hasSmall:!!(e&BN),audioMuted:!!(e&GN),videoMuted:!!(e&WN),audioAvailable:!(!(e&jN)||e&GN),videoAvailable:!(!(e&FN)||e&WN)}}function vO(e,t){return e>50||t>500?5:e>30||t>350?4:e>20||t>200?3:e>10||t>100?2:e>=0||t>=0?1:0}function AO(e){let t={urls:"turn:".concat(e.url)};return!rO(e.username)&&!rO(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType="password",rO(e.credentialType)||(t.credentialType=e.credentialType)),t}function RO(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!oO(e))return 0;let i=e.split(".");return t?(Number(i[0])<<24|Number(i[1])<<16|Number(i[2])<<8|Number(i[3]))>>>0:(Number(i[3])<<24|Number(i[2])<<16|Number(i[1])<<8|Number(i[0]))>>>0}var CO=function(e){return lO(e)||cO(e)},bO=function(e,t,i,n){if(!CO(e)||!CO(t))return 0;let r,o=0,s=Object.keys(t);for(let a=0,c=s.length;aoO(e)?document.getElementById(e):e,NO=new Intl.DateTimeFormat("zh-CN",{dateStyle:"short",timeStyle:"medium"}),DO=()=>NO.format(new Date);function OO(e,t){let{keysToInclude:i,keysToExclude:n}=t;try{if(lO(e))return"[".concat(e.map((e=>OO(e,{keysToInclude:i,keysToExclude:n}))).join(","),"]");if(!ZD(e)||!lO(i)&&!lO(n))return JSON.stringify(e);let t={},r=new Set(i),o=new Set(n);return Object.keys(e).forEach((s=>{(0===o.size&&r.has(s)||0===r.size&&!o.has(s))&&(t[s]=ZD(e[s])||lO(e[s])?JSON.parse(OO(e[s],{keysToExclude:n,keysToInclude:i})):e[s])})),JSON.stringify(t)}catch(aD){return"{}"}}function wO(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=[];return Object.keys(e).forEach((n=>{t===e[n]&&i.push(n)})),OO(e,{keysToInclude:i})}function PO(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}function LO(e){let{url:t,body:i,method:n,timeout:r}=e,o=new XMLHttpRequest;return new Promise(((e,s)=>{o.onreadystatechange=()=>{if(4===o.readyState)if(o.status>=200&&o.status<300)try{let t=JSON.parse(o.response);e({data:t})}catch(JV){e({data:o.response})}else s({status:o.status,statusText:o.statusText||"request failed!"})},o.timeout=r||5e3,o.open(n||"POST",t,!0),o.send(i)}))}var MO,xO=function(e){let{retryFunction:t,settings:i,onError:n,onRetrying:r,onRetryFailed:o,onRetrySuccess:s,context:a}=e;return function(){for(var e=arguments.length,c=new Array(e),l=0;lcb(this,null,(function*(){let l=a||this;try{let i=yield t.apply(l,c);h>0&&s&&s.call(this,h),h=0,e(i)}catch(g){let s=()=>{clearTimeout(p),h=0,m=2,i(g)},a=()=>{2!==m&&h<(nO(d)?d():d)?(h++,m=1,nO(r)&&r.call(this,h,s),p=window.setTimeout((()=>{p=-1,_(e,i)}),nO(u)?u(h):u)):(s(),nO(o)&&o.call(this,g))};nO(n)?n.call(this,{error:g,retry:a,reject:i,retryFuncArgs:c,retryCount:h}):a()}}));return new Promise(_)}},VO=class{constructor(e){sb(this,"userId"),sb(this,"remoteUserId"),sb(this,"id"),sb(this,"sdkAppId"),sb(this,"type"),sb(this,"isLocal"),this.id=e.id,this.userId=e.userId,this.sdkAppId=e.sdkAppId,this.remoteUserId=e.remoteUserId,this.isLocal=!aO(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 i=this.isLocal?this.userId:this.remoteUserId;t.unshift("[".concat(this.isLocal?"↑":"↓").concat(this.type&&"main"!==this.type?"*":"").concat(this.id).concat(i?"|".concat(i):"","]")),jO.log(e,t,rO(this.userId)||IO(this.userId),this.userId,this.sdkAppId)}info(){for(var e=arguments.length,t=new Array(e),i=0;i{let{schedule:t}=e;var i;(null==(i=null==t?void 0:t.config)?void 0:i.logLevelToUpload)&&CN[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),UO.on(BO.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),UO.once(BO.JOIN_FAILED,(()=>{this.startUpload()})),UO.on(BO.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()),2e3)}getLogsToUpload(){let e={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&0===this._localJoinedUser.size)return e;let t=0;for(;t{let{userId:n,sdkAppId:r}=t;e.map.has(n)?e.map.get(n).logs.push(i):e.map.set(n,{userId:n,sdkAppId:r,logs:[i]})}));else if(oO(i.userId)&&sO(i.sdkAppId)){let{userId:t,sdkAppId:n}=i;e.map.has(t)?e.map.get(t).logs.push(i):e.map.set(t,{userId:t,sdkAppId:n,logs:[i]})}}return e.map.size>0&&(e.splicedQueue=this._queue.splice(0,t)),e}upload(){return cb(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;ee.log)).join("\n")}),n),r.forEach((e=>e.uploaded=!0))}}catch(cN){}let i=t.filter((e=>!e.uploaded));i.length>0&&(this._queue=i.concat(this._queue))}))}uploadLogWithRetry(e,t){return xO({retryFunction:()=>LO({url:HD(t,AN.LOG),body:e,timeout:5e3}),settings:{retries:3,timeout:1e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;t.setTime(Sb());let i=String(t.getMilliseconds());return"padStart"in String.prototype&&(i=i.toString().padStart(3,"0")),"[".concat(t.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(i,"] <").concat(CN[e],">")}getLogLevel(){return this._logLevel}setLogLevel(e){rO(CN[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(oO(e))return e;try{return JSON.stringify(e)}catch(aN){return""}}log(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0;var o;if(t.unshift(this.getPrefix(e)),this._isEnableUploadLog&&e>=this._logLevelToUpload&&this._queue.push({log:t.reduce(((e,t)=>"".concat(e," ").concat(this.logChunkToString(t)).trim()),""),level:e,userId:n,sdkAppId:r,forAllJoinedClients:i}),e{let t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},WO=new class{constructor(){sb(this,"_prefix","TRTC"),sb(this,"_queue",new Map),this.checkStorage()}getRealKey(e){return"".concat(this._prefix,"_").concat(e)}checkStorage(){Yk()&&(setInterval(this.doFlush.bind(this),2e4),Object.keys(localStorage).filter((e=>{if(e.startsWith(this._prefix)){let t=JSON.parse(localStorage.getItem(e));if(t&&t.expiresInlocalStorage.removeItem(e))))}doFlush(){if(Yk())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(FL){jO.warn(FL)}}getItem(e){if(!Yk())return null;try{let t=JSON.parse(localStorage.getItem(this.getRealKey(e)));return t&&t.expiresIn>=Date.now()?t.value:null}catch(aN){jO.warn(aN)}}setItem(e,t){if(Yk())try{let i={expiresIn:Date.now()+DN,value:t};this._queue.set(this.getRealKey(e),i)}catch(aD){jO.warn(aD)}}deleteItem(e){if(!Yk())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(aN){return jO.warn(aN),!1}}clear(){if(Yk())try{localStorage.clear()}catch(FL){jO.warn(FL)}}},JO={};nb(JO,{HTTPS_API:()=>uw,IS_GET_CAPABILITIES_SUPPORTED:()=>kw,IS_GET_SETTINGS_SUPPORTED:()=>bw,IS_SEI_SUPPORTED:()=>Nw,IS_SPC_SUPPORTED:()=>vw,basis:()=>Lw,checkSystemRequirementsInternal:()=>cw,decodeSupportStatus:()=>aw,encodeSupportStatus:()=>sw,getBrowserInfo:()=>ZO,getDisplayResolution:()=>pw,isAddTransceiverSupported:()=>yw,isBrowserSupported:()=>ew,isGetReceiversSupported:()=>Ew,isGetSendersSupported:()=>Sw,isGetTransceiversSupported:()=>Iw,isGetUserMediaSupported:()=>mw,isMediaDevicesSupported:()=>iw,isMediaSessionSupported:()=>ww,isMediaStreamTrackProcessorSupported:()=>ow,isReplaceTrackSupported:()=>Rw,isScreenCaptureApiAvailable:()=>dw,isSelectedCandidatePair:()=>hw,isSetParametersSupported:()=>Cw,isSmallStreamAPISupported:()=>fw,isSmallStreamSupported:()=>gw,isStopTransceiverSupported:()=>Aw,isTRTCSupported:()=>lw,isUnifiedPlanDefault:()=>Tw,isUsedInHttpProtocol:()=>rw,isWebAudioSupported:()=>_w,isWebCodecSupported:()=>Ow,isWebCodecsSupported:()=>tw,isWebRTCSupported:()=>Dw,isWebTransportSupported:()=>Pw});var zO={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_EMPTY:"SEI_EMPTY",SEI_OVERSIZE:"SEI_OVERSIZE",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"},KO={AVOID_REPEATED_CALL:e=>"previous ".concat(e.name,"() is ongoing, please avoid repeated calls."),INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' is a required param when calling ").concat(n,"(), received: ").concat(r,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:i,fnName:n,value:r}=e,o="".concat(t||i.name),s="";return s=Array.isArray(i.type)?i.type.join("|"):i.type,"'".concat(o,"' must be type of ").concat(s," when calling ").concat(n,"(), received type: ").concat(iO(r),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' cannot be '").concat(r,"' when calling ").concat(n,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:i,fnName:n,value:r}=e,o="".concat(t||i.name),s="".concat(i.instanceOf.name||i.instanceOf);return"'".concat(o,"' must be instanceof ").concat(s," when calling ").concat(n,"(), received type: ").concat(iO(r),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' must be one of ").concat(i.values.join("|")," when calling ").concat(n,"(), received: ").concat(r,".")},INVALID_PARAMETER_MIN(e){let{key:t,rule:i,fnName:n,value:r}=e;return"the min value of ".concat(t||i.name," is ").concat(i.min,", received: ").concat(r,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:i,fnName:n,value:r}=e;return"the max value of ".concat(t||i.name," is ").concat(i.max,", received: ").concat(r,".")},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:i}=e;return"Failed to join room - ".concat(t," code: ").concat(i)},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/".concat("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:i,streamType:n}=e;return"failed to subscribe ".concat(i," ").concat(n," 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 ".concat("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:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' cannot be less than 0 when calling ").concat(n,"().")},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:i}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(i,"().")},INVALID_ELEMENT_ID_TYPE:e=>{let{key:t,fnName:i,type:n}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(i,"(), received: ").concat(n,".")},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:i}=e;return"an error was caught on ".concat(t,".on('").concat(i,"', handler), please check your code on 'handler'.")},API_NOT_EXIST(e){let{name:t}=e;return"experimental api ".concat(t," does not exist.")},REPEAT_JOIN:e=>"[".concat(e,"] is calling client.join api or has already joined room, 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_EMPTY:"buffer cannot be empty",SEI_OVERSIZE:e=>"buffer size(".concat(e,") is over 1000 Bytes"),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:i,timesInSecond:n,maxSizeInSecond:r}=e;return"api ".concat(i," call ").concat(t?"size":"times"," is over ").concat(t?"".concat(r," bytes"):n," 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,"()")},qO=(e,t)=>t?"".concat(EN,"/").concat(e,"/").concat(t):"".concat(EN,"/").concat(e,"/index.html"),YO=()=>{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=localStorage.getItem(vN);if(e){e=JSON.parse(e);let t=document.createElement("script");t.type="text/javascript",t.text=e.message,document.body.appendChild(t);let i=window.TRTC_ERROR_INFO,n=window.TRTC_ERROR_LINK;return document.body.removeChild(t),{TRTC_ERROR_INFO:i,TRTC_ERROR_LINK:n}}return{}};function QO(e){let{key:t,data:i,link:n,addDocLink:r=!0}=e,o="",s="",a="";nO(KO[t])?o=KO[t](i):oO(KO[t])&&(o=KO[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=YO();n?a="".concat(n.className,".html#").concat(n.fnName):l&&l[t]&&(nO(l[t])?a=l[t](i):oO(l[t])&&(a=l[t]));let d=o;return $D()&&(c&&c[t]&&(nO(c[t])?s=c[t](i):oO(c[t])&&(s=c[t])),s&&(d=r?"".concat(s,"\n请查看文档: ").concat(qO("zh-cn",a),"\n\n"):"".concat(s,"\n\n"),d+=o)),r&&(d+=" \nRefer to: ".concat(qO("en",a),"\n")),d}var XO={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1}},$O=new Map([[Fb,["Firefox",Bb]],[Wb,["Edg",Jb]],[Mk,["Chrome",Uk]],[Fk,["Safari",Hk]],[Xb,["TBS",$b]],[Zb,["XWEB",ek]],[rk&&wb,["WeChat",ok]],[lk,["QQ(Win)",dk]],[ak,["QQ(Mobile)",ck]],[sk,["QQ(Mobile X5)",ck]],[uk,["QQ(Mac)",hk]],[pk,["QQ(iPad)",mk]],[yk,["MI",vk]],[Ak,["HW",Ck]],[bk,["Samsung",kk]],[Nk,["OPPO",Dk]],[Ok,["VIVO",wk]],[jb,["EDGE",Gb]],[Kb,["SogouMobile",qb]],[Yb,["Sogou",Qb]]]);function ZO(){let e=$O.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var ew=function(){return!(Sk||jb||Wb&&zb<80||Fb&&Hb<56)},tw=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder","MediaStreamTrackGenerator"].every((e=>e in window))},iw=function(){if(!navigator.mediaDevices)return rw()||jO.error(KO.NOT_SUPPORTED_MEDIA),!1;let e=["getUserMedia","enumerateDevices"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},nw=!1;function rw(){return"http:"===location.protocol&&!qk&&(nw||jO.error(QO({key:zO.NOT_SUPPORTED_HTTP})),nw=!0,!0)}var ow=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},sw=function(){return cb(this,null,(function*(){if(XO.detail.isH264EncodeSupported||XO.detail.isVp8EncodeSupported)return{isH264EncodeSupported:XO.detail.isH264EncodeSupported,isVp8EncodeSupported:XO.detail.isVp8EncodeSupported};let e,t=!1,i=!1;try{let n=new RTCPeerConnection,r=document.createElement(MN.CANVAS);r.getContext("2d");let o=r.captureStream(0);return n.addTrack(o.getVideoTracks()[0],o),e=yield n.createOffer(),-1!==e.sdp.toLowerCase().indexOf("h264")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf("vp8")&&(i=!0),n.close(),XO.detail.isH264EncodeSupported=t,XO.detail.isVp8EncodeSupported=i,{isH264EncodeSupported:XO.detail.isH264EncodeSupported,isVp8EncodeSupported:XO.detail.isVp8EncodeSupported}}catch(aD){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1}}}))},aw=function(){return cb(this,null,(function*(){if(XO.detail.isH264DecodeSupported&&XO.detail.isVp8DecodeSupported)return{isH264DecodeSupported:XO.detail.isH264DecodeSupported,isVp8DecodeSupported:XO.detail.isVp8DecodeSupported};let e,t=!1,i=!1;try{let n=new RTCPeerConnection;return e=yield n.createOffer({offerToReceiveAudio:!0,offerToReceiveVideo:!0}),-1!==e.sdp.toLowerCase().indexOf("h264")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf("vp8")&&(i=!0),n.close(),{isH264DecodeSupported:t,isVp8DecodeSupported:i}}catch(aD){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1}}}))},cw=function(){return cb(this,null,(function*(){if(XO.result)return XO;let e=ew(),t=Dw(),i=tw(),n=iw(),{isH264EncodeSupported:r,isVp8EncodeSupported:o}=yield sw(),{isH264DecodeSupported:s,isVp8DecodeSupported:a}=yield aw();return XO.result=e&&t&&n&&(r||o)&&(s||a),XO.detail.isBrowserSupported=e,XO.detail.isWebRTCSupported=t,XO.detail.isWebCodecsSupported=i,XO.detail.isMediaDevicesSupported=n,XO.detail.isScreenShareSupported=dw(),XO.detail.isSmallStreamSupported=gw(),XO.detail.isH264EncodeSupported=r,XO.detail.isVp8EncodeSupported=o,XO.detail.isH264DecodeSupported=s,XO.detail.isVp8DecodeSupported=a,XO.result||jO.error("".concat(navigator.userAgent," ").concat(wO(XO.detail,!1))),XO}))},lw=function(){return XO.result},dw=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},uw=(e,t,i)=>{"http:"===location.protocol&&!qk&&(e[t]=()=>{throw new Tb({code:fb.INVALID_OPERATION,message:KO.NOT_SUPPORTED_HTTP})})},hw=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(aO(e.selected)&&!e.selected)};function pw(){let e="";if(screen.width){let t=screen.width?screen.width*window.devicePixelRatio:"",i=screen.height?screen.height*window.devicePixelRatio:"";e+="".concat(t," * ").concat(i)}return e}function mw(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function _w(){let e={isSupported:!1},t=["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"];for(let i=0;i=86,Dw=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter((e=>e in window)).length>0};function Ow(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return rO(window.AudioDecoder)||(e.AudioDecoder=!0),rO(window.AudioEncoder)||(e.AudioEncoder=!0),rO(window.VideoDecoder)||(e.VideoDecoder=!0),rO(window.VideoEncoder)||(e.VideoEncoder=!0),rO(window.ImageDecoder)||(e.ImageDecoder=!0),e}function ww(){return"mediaSession"in navigator&&!rO(navigator.mediaSession.setActionHandler)}function Pw(){return!rO(window.WebTransport)}function Lw(){let e={browser:"".concat(Qk.name,"/").concat(Qk.version),os:tN(),displayResolution:pw(),isScreenShareSupported:dw(),isWebRTCSupported:Dw(),isGetUserMediaSupported:mw(),isWebAudioSupported:_w(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:Ow(),isMediaSessionSupported:ww(),isWebTransportSupported:Pw()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var Mw=rb(lb(),1),xw=Symbol("instance"),Vw=Symbol("cacheResult"),Uw=class{constructor(e,t,i){this.oldState=e,this.newState=t,this.action=i,this.aborted=!1}abort(e){this.aborted=!0,Gw.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},Fw=class extends Error{constructor(e,t,i){super(t),this.state=e,this.message=t,this.cause=i}},Bw=new Map;function Hw(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(n,r,o)=>{let s=i.action||r;if(!i.context){let i=Bw.get(n)||[];Bw.has(n)||Bw.set(n,i),i.push({from:e,to:t,action:s})}let a=o.value;o.value=function(){let n=this;for(var r=arguments.length,o=new Array(r),c=0;c{var r;return n[Vw]=e,u.aborted||(Gw.call(n,t),null===(r=i.success)||void 0===r||r.call(this,n[Vw])),e},p=e=>{let t=e instanceof Error?e.message:String(e);if(Gw.call(n,d,e),!i.fail){if(i.ignoreError)return e;throw e}i.fail.call(this,new Fw(n._state,"action '".concat(s,"' failed :").concat(t),e instanceof Error?e:new Error(t)))};try{let e=a.apply(this,o);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(h).catch(p):h(e)}catch(_){p(_)}}}}var jw="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 Gw(e,t){let i=this._state;this._state=e;let n=e.toString();e&&this.emit(n,i),this.emit(Ww.STATECHANGED,e,i,t),this.updateDevTools({value:e,old:i,err:t instanceof Error?t.message:String(t)})}var Ww=class extends Mw.default{constructor(e,t,i){super(),this.name=e,this.groupName=t,this._state=Ww.INIT,e||(e=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),t||(this.groupName=this.constructor.name);let n=i[xw];n?this.name=n.name+"-"+n.count++:i[xw]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=Bw.get(e)||[],i=new Set,n=[],r=[],o=new Set,s=Object.getPrototypeOf(e);Bw.has(s)&&(s.stateDiagram.forEach((e=>i.add(e))),s.allStates.forEach((e=>o.add(e)))),t.forEach((e=>{let{from:t,to:i,action:o}=e;"string"==typeof t?n.push({from:t,to:i,action:o}):t.length?t.forEach((e=>{n.push({from:e,to:i,action:o})})):r.push({to:i,action:o})})),n.forEach((e=>{let{from:t,to:n,action:r}=e;o.add(t),o.add(n),o.add(r+"ing"),i.add("".concat(t," --\x3e ").concat(r,"ing : ").concat(r)),i.add("".concat(r,"ing --\x3e ").concat(n," : ").concat(r," 🟢")),i.add("".concat(r,"ing --\x3e ").concat(t," : ").concat(r," 🔴"))})),r.forEach((e=>{let{to:t,action:n}=e;i.add("".concat(n,"ing --\x3e ").concat(t," : ").concat(n," 🟢")),o.forEach((e=>{e!==t&&i.add("".concat(e," --\x3e ").concat(n,"ing : ").concat(n))}))}));let a=[...i];return Object.defineProperties(e,{stateDiagram:{value:a},allStates:{value:o}}),a}static get(e){let t;return"string"==typeof e?(t=Ww.instances.get(e),t||Ww.instances.set(e,t=new Ww(e,void 0,Object.create(Ww.prototype)))):(t=Ww.instances2.get(e),t||Ww.instances2.set(e,t=new Ww(e.constructor.name,void 0,Object.create(Ww.prototype)))),t}static getState(e){var t;return null===(t=Ww.get(e))||void 0===t?void 0:t.state}updateDevTools(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};jw(Ww.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},e))}get state(){return this._state}set state(e){Gw.call(this,e)}};Ww.STATECHANGED="stateChanged",Ww.UPDATEAFSM="updateAFSM",Ww.INIT="[*]",Ww.ON="on",Ww.OFF="off",Ww.instances=new Map,Ww.instances2=new WeakMap;var Jw=(null==window?void 0:window.requestIdleCallback)||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},zw=(null==window?void 0:window.cancelIdleCallback)||function(e){clearTimeout(e)},Kw=(null==window?void 0:window.cancelAnimationFrame)||(null==window?void 0:window.mozCancelAnimationFrame),qw=class{static generateTaskID(){return this.currentTaskID++}static run(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:xD,t=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0;i=eb(e===MD?{delay:2e3,count:0,backgroundTask:!0}:e===PD?{delay:1e4,count:0}:e===LD?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0},i),cO(t)&&(i=eb(eb({},i),t)),nO(e)&&(t=e,e=xD);let n=eb({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:e,callback:t},i);return this.taskMap.set(n.taskID,n),this[e](n),n.taskID}static interval(e){return e.intervalID=setInterval((()=>{e.callback(),e.loopCount+=1,this.isBreakLoop(e)}),e.delay)}static intervalInWorker(e){e.delay=(1e3/e.fps).toFixed(2);let t=new Worker(URL.createObjectURL(new Blob(["\n let timerID = null;\n self.onmessage = function (e) {\n if (e.data === 'start') {\n timerID = setInterval(() => {\n self.postMessage('tick');\n }, ".concat(e.delay,");\n } else if (e.data === 'stop') {\n clearInterval(timerID);\n }\n };\n ")])));t.onmessage=i=>{"tick"===i.data&&(e.callback(),e.loopCount+=1,this.isBreakLoop(e)&&t.postMessage("stop"))},e.worker=t,t.postMessage("start")}static timeout(e){let t=()=>{if(e.callback(),e.loopCount+=1,!this.isBreakLoop(e))return e.timeoutID=setTimeout(t,e.delay)};return e.timeoutID=setTimeout(t,e.delay)}static ric(e){let t,i=gO(),n=()=>{if(t=gO()-i,t>=e.delay&&(i=gO()-Math.floor(t%e.delay),e.callback(),e.loopCount+=1),!this.isBreakLoop(e))return e.ricID=Jw(n,{timeout:e.delay})};return e.ricID=Jw(n,{timeout:e.delay})}static raf(e){e.delay=(1e3/e.fps).toFixed(2);let t,i=gO(),n=()=>document.hidden&&e.backgroundTask?(t=gO()-i,i=gO(),e.callback(),e.loopCount+=1,this.isBreakLoop(e)?void 0:e.timeoutID=setTimeout(n,e.delay-Math.floor(t%e.delay))):(t=gO()-i,t>=e.delay&&(i=gO()-Math.floor(t%e.delay),e.callback(),e.loopCount+=1),this.isBreakLoop(e)?void 0:e.rafID=requestAnimationFrame(n));if(e.rafID=requestAnimationFrame(n),e.backgroundTask){let t=()=>{if(document.hidden){let t=gO()-i;t>=e.delay?n():e.timeoutID=setTimeout(n,e.delay-t)}};document.addEventListener("visibilitychange",t),e.onVisibilitychange=t,document.hidden&&t()}return e.taskID}static hasTask(e){return this.taskMap.has(e)}static clearTask(e){if(!this.taskMap.has(e))return!0;let{intervalID:t,timeoutID:i,rafID:n,ricID:r,onVisibilitychange:o,worker:s}=this.taskMap.get(e);return s&&s.terminate(),t&&clearInterval(t),i&&clearTimeout(i),n&&Kw(n),r&&zw(r),o&&document.removeEventListener("visibilitychange",o),this.taskMap.delete(e),!0}static isBreakLoop(e){return!this.taskMap.has(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}};qw.taskMap=new Map,qw.currentTaskID=1;var Yw=qw;MN.SEI_MESSAGE;var Qw={LOADED_DATA:MN.LOADEDDATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed"},Xw=new class{constructor(){sb(this,"_roomIdMap",new Map),sb(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:oN,env:RN.QCLOUD,browserVersion:Qk.name+Qk.version,ua:navigator.userAgent})}setConfig(e){let{sdkAppId:t,env:i,userId:n,roomId:r}=e;t!==this._configs.sdkAppId&&(this._configs.sdkAppId=String(t)),this._configs.env=i,this._configs.userId=n,this._roomIdMap.set(n,String(r))}logSuccessEvent(e){qk||!jO.isAbleToUpload||this._configs.env===RN.QCLOUD&&this.uploadEventToKibana(tb(eb({},e),{result:"success"}))}logFailedEvent(e){if(qk||!jO.isAbleToUpload)return;let{eventType:t,code:i,error:n,userId:r}=e,o={roomId:this._roomIdMap.get(r||this._configs.userId),userId:r,eventType:t,result:"failed",code:i||(null==n?void 0:n.extraCode)||(null==n?void 0:n.code)||fb.UNKNOWN};this._configs.env===RN.QCLOUD&&this.uploadEventToKibana(tb(eb({},o),{error:n}))}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:i,error:n}=e,r={timestamp:Ib(),sdkAppId:this._configs.sdkAppId,userId:i||this._configs.userId,version:oN,log:t};n&&(r.errorInfo=n.message),this.sendRequest(HD(this._configs.sdkAppId,AN.LOG),r)}sendRequest(e,t){jO.isAbleToUpload?LO({url:e,body:JSON.stringify(t)}).catch((()=>{})):setTimeout((()=>{this.sendRequest(e,t)}),1e3)}},$w="trtc_autoplay",Zw="".concat($w,"_mask"),eP="".concat($w,"_wrapper"),tP="".concat($w,"_header"),iP="".concat($w,"_content"),nP="".concat($w,"_action_wrapper"),rP="".concat($w,"_question"),oP="".concat($w,"_collapse"),sP="".concat($w,"_action_confirm"),aP="".concat($w,"_detail"),cP="#2473E8",lP="dialog",dP="".concat(lP,"-show"),uP="".concat(lP,"-1"),hP="".concat(lP,"-2"),pP=!1,mP=()=>!!document.querySelector(".".concat(eP)),_P="".concat(EN,"/").concat($D()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),fP="
").concat($D()?"其他方案?":"Any other solution?",""),gP="".concat($D()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(fP):"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(fP)),TP=class{constructor(){if(sb(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),sb(this,"_dialogNode",null),sb(this,"_bodyPosition",""),sb(this,"_showDetail",!1),sb(this,"_isCollapseClicked",!1),sb(this,"_isQuestionClicked",!1),$D()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!pP){let e=document.createElement("style");e.innerHTML=".".concat(Zw,"{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(Zw," div:not(.").concat(nP,"){display:block !important;}.").concat(eP,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(eP," a{color:").concat(cP,";}.").concat(tP,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(iP,"{margin:8px 0;}.").concat(nP,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(oP,"{margin-right:auto;cursor:pointer}.").concat(rP,"{height:100%;line-height:16px;cursor:pointer;}.").concat(sP,"{margin-left:8px;color:#fff;background:").concat(cP,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(sP,":hover{opacity:0.9;}.").concat(oP,",.").concat(sP,",.").concat(iP,",.").concat(rP,"{font-size:14px;}@media screen and (max-width:750px){.").concat(eP,"{width:80vw;}}"),document.head.appendChild(e),pP=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement("template");e.innerHTML='
").concat(location.host,"
").concat(this.content,"
").trim();let t=document.createElement("button");t.className=sP,t.innerText=$D()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);let i=document.createElement("div");i.className=rP,i.innerHTML='\n \n \n \n \n \n ',i.onclick=this.onQuestionClick.bind(this);let n=document.createElement("div");n.className=oP,n.innerText="".concat($D()?"详情 >":"Detail >"),n.onclick=this.onCollapseClick.bind(this);let r=e.content.firstChild,o=r.querySelector(".".concat(nP));return o.appendChild(n),o.appendChild(i),o.appendChild(t),r}addDiaLog(){mP()||(this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(eP)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position="fixed",jO.info("show autoplay dialog"),Xw.uploadEvent({log:dP}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null)}onConfirm(){jO.warn("confirm clicked, try resume stream"),UO.emit(BO.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(".".concat(aP));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||Xw.uploadEvent({log:uP}),this._isCollapseClicked=!0}onQuestionClick(){window.open(_P,"_blank"),this._isQuestionClicked||Xw.uploadEvent({log:hP}),this._isQuestionClicked=!0}},EP={};nb(EP,{create:()=>IP,remove:()=>yP});var SP=new WeakMap;function IP(e,t){SP.has(e)||SP.set(e,[]);let i=SP.get(e),n={add:(e,r)=>("addEventListener"in t?(i.push(t.removeEventListener.bind(t,e,r)),t.addEventListener(e,r)):(i.push(t.off.bind(t,e,r)),t.on(e,r)),n)};return n}function yP(e){let t=SP.get(e);t&&(t.forEach((e=>e())),SP.delete(e))}var vP=class extends Ww{constructor(e,t){super(e.id,"".concat(t,"-player")),this.kind=t,sb(this,"id"),sb(this,"element",null),sb(this,"container",null),sb(this,"mediaStream",new MediaStream),sb(this,"track"),sb(this,"url"),sb(this,"attr"),sb(this,"muted"),sb(this,"_log"),sb(this,"_pausedRetryCount"),sb(this,"_isElementPlayingFired",!1),sb(this,"_interval"),this.id=e.id,this._log=e.log,this.track=e.track,this.container=e.container,this.muted=e.muted,this._pausedRetryCount=RD,this._state="STOPPED",this.bindTrackEvents()}get isPlaying(){return"PLAYING"===this._state}get isStopped(){return"STOPPED"===this._state}setAttr(e){this.attr=e}setTrack(e){if(e!==this.track&&(this.unbindTrackEvents(),this.track=e,this.emit(Qw.MEDIA_TRACK_CHANGED,e),null!==e&&(this.bindTrackEvents(),this.element))){let t=new MediaStream;t.addTrack(e),this.element.srcObject=t}}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))}setContainer(e){this.container=e,this.track&&this.element&&this.container&&this.container.appendChild(this.element)}play(){return cb(this,null,(function*(){if(this.element&&this.element.parentElement!==this.container&&this.container&&this.container.append(this.element),!this.isPlaying)try{this.bindAutoPlayEvent(),yield this.element.play()}catch(aN){let t=QO({key:zO.PLAY_FAILED,data:{media:this.kind,error:aN}});if(this.track&&!this.track.muted&&this._log.warn(aN),t.includes("NotAllowedError"))throw new Tb({code:fb.PLAY_NOT_ALLOWED,message:t})}}))}stop(){this.unbindEvents(),this._isElementPlayingFired=!1,this.element&&(this.container&&this.container.removeChild(this.element),this.element.srcObject=null,this.element=null),this.handleStopped(MN.ENDED),this._interval>0&&Yw.clearTask(this._interval)}pause(){var e;this.isPlaying&&(null==(e=this.element)||e.pause())}resume(){return this.isPlaying?Promise.resolve():zk?this.replay():this.play().catch((()=>{}))}setMuted(e){this.element&&(this.element.muted=e),this.muted=e}setRect(e,t){this.element&&(this.element.style.width="".concat(e,"px"),this.element.style.height="".concat(t,"px"))}replay(){return this.stop(),this.play().catch((()=>{}))}bindElementEvents(){if(this.element){let e=this.handleElementEvent.bind(this);return IP(this.element,this.element).add(MN.PLAYING,e).add(MN.ENDED,e).add(MN.PAUSE,e).add(MN.ERROR,e).add(MN.LOADEDDATA,e)}}bindTrackEvents(){if(this.track){let e=this.handleTrackEvent.bind(this);null==EP||EP.create(this.track,this.track).add(MN.ENDED,e).add(MN.MUTE,e).add(MN.UNMUTE,e),this.track.readyState===MN.ENDED&&this.handleTrackEvent({type:MN.ENDED}),this.track.muted&&this.handleTrackEvent({type:MN.MUTE})}}bindAutoPlayEvent(){UO.on(BO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){this.track&&yP(this.track)}unbindEvents(){this.element&&yP(this.element),this.unbindTrackEvents(),UO.off(BO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){var t;switch(e.type){case MN.PLAYING:this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying(MN.PLAYING),this._interval&&(Yw.clearTask(this._interval),this._interval=-1);break;case MN.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped(MN.ENDED);break;case MN.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused(MN.PAUSE);let e=this.container&&document.getElementById(this.container.id);e||this._log.warn("".concat(this.kind," player has been remove, element ID: ").concat(null==(t=this.container)?void 0:t.id));let i=Pk();this._pausedRetryCount>0&&(this.kind===MN.VIDEO&&!mP()||this.kind===MN.AUDIO&&(sO(i)&&i<=70||!e))&&(this._log.info("".concat(this.kind," player auto resume when paused")),this.resume(),this._pausedRetryCount--),Lb&&(this._interval=Yw.run(xD,(()=>{this.element&&"PAUSED"===this._state&&this.resume()}),{delay:3e3}));break;case MN.ERROR:if(this.element&&this.element.error){let{code:e,message:t}=this.element.error;this._log.error("".concat(this.kind," player error observed. code: ").concat(e," message: ").concat(t," userAgent: ").concat(navigator.userAgent)),Xw.uploadEvent({log:"stat-".concat(this.kind,"-").concat(lD.PLAYER_ERROR,"-").concat(e,"-").concat(navigator.userAgent),error:this.element.error})}break;case MN.LOADEDDATA:this.kind===MN.VIDEO&&this.emit(Qw.LOADED_DATA)}}handleTrackEvent(e){switch(e.type){case MN.ENDED:this._log.info("".concat(this.kind," track is ended")),this.handleStopped(MN.ENDED);break;case MN.MUTE:this._log.info("".concat(this.kind," track is unable to provide media output")),this.handlePaused(MN.MUTE);break;case MN.UNMUTE:this._log.info("".concat(this.kind," track is able to provide media output")),this._isElementPlayingFired&&this.handlePlaying(MN.UNMUTE)}}handlePlaying(e){this.emit(Qw.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}handlePaused(e){this.emit(Qw.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}handleStopped(e){this.emit(Qw.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}getElement(){return this.element}};ob([Hw([],"PLAYING")],vP.prototype,"handlePlaying",1),ob([Hw("PLAYING","PAUSED",{ignoreError:!0})],vP.prototype,"handlePaused",1),ob([Hw([],"STOPPED")],vP.prototype,"handleStopped",1);var AP=class extends vP{constructor(e){super(e,MN.VIDEO),sb(this,"mirror"),sb(this,"objectFit"),rO(e.mirror)||(this.mirror=e.mirror),rO(e.objectFit)||(this.objectFit=e.objectFit)}initializeElement(){var e;let t=document.createElement(MN.VIDEO);if(this.track){let e=new MediaStream;e.addTrack(this.track),t.srcObject=e}t.muted=!0;let i="width: 100%; height: 100%; object-fit: ".concat(this.objectFit,";background-color: black;");this.mirror&&(i+="transform: scaleX(-1);"),t.setAttribute("id","video_".concat(this.id)),t.setAttribute("style",i),t.setAttribute("autoplay","autoplay"),t.setAttribute("playsinline","playsinline"),null==(e=this.container)||e.appendChild(t),this.element=t,this.bindElementEvents()}bindElementEvents(){let e=super.bindElementEvents();this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add(MN.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(MN.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent)}handleElementEvent(e){super.handleElementEvent(e);let t=e.type;if(this.mirror&&this.element){let e=this.element.style.transform;t===MN.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace("scaleX(-1)",""):t===MN.LEAVE_PICTURE_IN_PICTURE&&!e.includes("scaleX")&&(this.element.style.transform="".concat(e," scaleX(-1)"))}}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)}setMirror(e){this.element&&(this.element.style.transform=e?"scaleX(-1)":""),this.mirror=e}setObjectFit(e){this.element&&(this.element.style.objectFit="".concat(e)),this.objectFit=e}play(){return this.element||this.initializeElement(),super.play()}getVideoFrame(){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}},RP=!1,CP=class{constructor(e){sb(this,"context_"),sb(this,"blob_"),this.context_=e.context,this.blob_=new Blob(['class VolumeMeter extends AudioWorkletProcessor{constructor(){super(),this.volume=0,this.intervalTime=200,this.tick=this.intervalTime,this.isStop=!1,this.port.onmessage=t=>{let{data:e}=t;switch(e.name){case"setIntervalTime":this.intervalTime=e.intervalTime;break;case"stop":this.isStop=!0}}}process(t){let e=t[0];if(this.isStop)return!1;if(e.length>0){let i=e[0],s=0;for(let l=0;l{let i=new window.AudioContext(t),n=++NP,r=()=>{"suspended"===i.state?(i.resume(),document.addEventListener("click",r)):"interrupted"===i.state?i.resume():document.removeEventListener("click",r)};return document.addEventListener("click",r),i.onstatechange=()=>{jO.info("".concat(e,"-").concat(n," context state: ").concat(i.state)),r()},i},OP=0,wP=class{constructor(e){sb(this,"_volume"),sb(this,"_log"),sb(this,"_track"),sb(this,"_stream"),sb(this,"_audioCtx"),sb(this,"_destination"),sb(this,"_streamSource"),sb(this,"_scriptProcessorNode"),sb(this,"_audioWorkletNode"),sb(this,"_interval");let{track:t,log:i}=e;this._volume=0,this._log=i,this._track=t,bP||(bP=DP("volume-meter")),this._audioCtx=bP,this._destination=this._audioCtx.destination;let n=new MediaStream;n.addTrack(this._track),this._streamSource=this._audioCtx.createMediaStreamSource(n),this._audioWorkletNode=null,this._scriptProcessorNode=null,this._interval=200,UO.on(BO.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this),_O?(UO.on(BO.WORKLET_LOADED_SUCCESS,this.initAudioWorklet,this),UO.on(BO.WORKLET_LOADED_FAILED,this.initScriptProcessor,this),this.preload()):this.initScriptProcessor(),OP+=1}preload(){kP?kP.initWorkletSuccess&&this.initAudioWorklet():kP=new CP({context:bP})}initAudioWorklet(){if(!this._audioWorkletNode)try{this._audioWorkletNode=new AudioWorkletNode(this._audioCtx,"volume-meter"),this._audioWorkletNode.port.onmessage=e=>{this._volume=e.data.volume||0},this._streamSource.connect(this._audioWorkletNode).connect(this._destination),this.handleAudioLevelInterval({interval:this._interval})}catch(FL){Xw.logFailedEvent({userId:this._log.userId,eventType:lD.LOAD_WORKLET,error:FL}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=this._audioCtx.createScriptProcessor(2048,1,1),this._scriptProcessorNode.onaudioprocess=e=>{let t=e.inputBuffer.getChannelData(0),i=0;for(let n=0;n0&&(OP-=1),0===OP&&(null==bP||bP.close(),bP=null,kP=null)}resume(){null==bP||bP.resume()}getInternalAudioLevel(){return this._volume}getCalculatedVolume(){return parseFloat(this._volume.toFixed(2))}handleAudioLevelInterval(e){var t;let{interval:i}=e;this._interval=i,null==(t=this._audioWorkletNode)||t.port.postMessage({name:"setIntervalTime",intervalTime:i})}},PP=null,LP=0,MP=class extends vP{constructor(e){super(e,MN.AUDIO),sb(this,"_volumeMeter"),sb(this,"_gainedTrack",null),sb(this,"_gainNode",null),sb(this,"_destination",null),sb(this,"_mediaStreamSource",null),sb(this,"_sourceElement",null),sb(this,"_outputDeviceId"),sb(this,"_volume",1),sb(this,"_loop",!1),e.gainedTrack&&(this._gainedTrack=e.gainedTrack),this._outputDeviceId=e.outputDeviceId,this.track&&this.initVolumeMeter(this.track)}setTrack(e){this.track!==e&&(this._volumeMeter&&(this._volumeMeter.destroy(),this._volumeMeter=null),null!==e&&this.initVolumeMeter(e)),super.setTrack(e)}initVolumeMeter(e){this._volumeMeter=new wP({track:this._gainedTrack||e,log:this._log})}initializeElement(){if(("15.2"===Gk||"15.3"===Gk||"15.4"===Gk)&&this.muted)return void this._log.info("audioElement is muted.");let e=document.createElement(MN.AUDIO);this.track&&(e.srcObject=new MediaStream([this._gainedTrack||this.track])),e.muted=this.muted,e.setAttribute("id","audio_".concat(this.id)),e.setAttribute("autoplay","autoplay"),e.setAttribute("playsinline","playsinline"),this.element=e,this.bindElementEvents()}play(){return cb(this,null,(function*(){this.element||this.initializeElement(),this._outputDeviceId&&(yield this.setSinkId(this._outputDeviceId)),!this._volumeMeter&&this.track&&this.initVolumeMeter(this.track),this.setVolume(this._volume),yield ab(MP.prototype,this,"play").call(this)}))}stop(){this._volumeMeter&&(this._volumeMeter.destroy(),this._volumeMeter=null),this.destroyGain(),super.stop()}resume(){return cb(this,null,(function*(){yield ab(MP.prototype,this,"resume").call(this),this._volumeMeter&&this._volumeMeter.resume()}))}setSinkId(e){return cb(this,null,(function*(){this._outputDeviceId!==e&&(this.element&&(yield this.element.setSinkId(e)),this._outputDeviceId=e)}))}setVolume(e){this._volume=e,this._gainNode?this._gainNode.gain.value=e:e>1?this.createGain(e):this.element&&(this.element.volume=e)}createGain(e){PP||(PP=DP("player")),this._log.info("create gainNode ".concat(e));let t=PP.createMediaStreamSource(new MediaStream([this.track])),i=PP.createGain(),n=PP.createMediaStreamDestination();t.connect(i),i.connect(n),i.gain.value=e,this._gainNode=i,this._destination=n,this._mediaStreamSource=t,this._gainedTrack=n.stream.getAudioTracks()[0],LP+=1,this.element&&(yP(this.element),this._sourceElement=this.element,this.element.muted=!0,this.element=null),this.play()}destroyGain(){var e,t,i;!this._gainNode||(this._log.info("destroy gainNode"),null==(e=this._gainNode)||e.disconnect(),null==(t=this._destination)||t.disconnect(),null==(i=this._mediaStreamSource)||i.disconnect(),this._gainNode=null,this._destination=null,this._mediaStreamSource=null,this._sourceElement&&(this._sourceElement.srcObject=null,this._sourceElement=null),this._gainedTrack=null,0===(LP-=1)&&PP&&(this._log.info("destroy gain audioContext"),PP.close(),PP=null))}setLoop(e){!this.element||(this.element.loop=e,this._loop=e)}getAudioLevel(){var e;return(null==(e=this._volumeMeter)?void 0:e.getCalculatedVolume())||0}getInternalAudioLevel(){var e;return null==(e=this._volumeMeter)?void 0:e.getInternalAudioLevel()}},xP=class extends Ww{constructor(e){let{userId:t,sdkAppId:i,mediaType:n,room:r,isInitPlayer:o=!0}=e;var s;super(),sb(this,"id",GO()),sb(this,"userId"),sb(this,"isRemote"),sb(this,"mediaType"),sb(this,"room"),sb(this,"user"),sb(this,"_log"),sb(this,"_inputTrack"),sb(this,"_outputTrack"),sb(this,"isPlayCalled"),sb(this,"container",null),sb(this,"player"),sb(this,"subVideoPlayerMap"),sb(this,"playerMuted",!1),sb(this,"abortCtrl"),sb(this,"audioOutputDeviceId"),sb(this,"audioVolume"),sb(this,"objectFit","cover"),sb(this,"mirror",!1),sb(this,"gain"),sb(this,"isScreen",!1),sb(this,"manager"),rO(t)||(this.userId=t),this.mediaType=n,this._log=jO.createLogger({id:"".concat(this.kind[0],"t"),userId:null==(s=r||this.room)?void 0:s.userId,remoteUserId:this instanceof rL?void 0:this.userId,sdkAppId:i,type:2===this.mediaType?"auxiliary":"main",isLocal:this instanceof rL}),o&&this.initPlayer()}get log(){return this._log||jO}get kind(){return 1===this.mediaType?MN.AUDIO:MN.VIDEO}get muted(){return!(!this.outMediaTrack||this.outMediaTrack.enabled)}get strMediaType(){return 4===this.mediaType?MN.VIDEO:2===this.mediaType?MN.SCREEN:MN.AUDIO}play(e,t){return cb(this,null,(function*(){let i=lO(e)?e[0]:e;if(this.isPlayCalled)return this.log.info("play update options: ".concat(JSON.stringify(t))),t&&!rO(t.muted)&&this.setPlayerMute(t.muted),t&&!rO(t.objectFit)&&(this.objectFit=t.objectFit),this.isScreen?this.mirror=!1:t&&!rO(t.mirror)&&(this.mirror=t.mirror),void(this.kind===MN.VIDEO&&(this.player.setObjectFit(this.objectFit),this.player.setMirror(this.mirror),this.container!==i&&i&&(this.container=i,this.player.setContainer(i)),lO(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!rO(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===MN.VIDEO)&&this.setPlayerMute(!0),t&&!rO(t.objectFit)&&(this.objectFit=t.objectFit),this.isRemote||(this.mirror=!0),this.isScreen?this.mirror=!1:t&&!rO(t.mirror)&&(this.mirror=t.mirror),this.kind===MN.VIDEO&&(this.player.setObjectFit(this.objectFit),this.player.setMirror(this.mirror)),this.isPlayCalled=!0,i&&(this.container=i,this.player.setContainer(i)),UO.emit(BO.PLAY_TRACK_START,{track:this}),this._outputTrack){this._log.info("play with options: ".concat(JSON.stringify(t)));try{this.player.setTrack(this._outputTrack),yield this.player.play(),lO(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(r){throw this.handleAutoPlayFailed(),this.emit("error",r),r}}else this.log.info("play has not mediaTrack, abort")}))}playSubContainer(e,t){return cb(this,null,(function*(){if(!this._outputTrack||this.kind===MN.AUDIO)return;this.subVideoPlayerMap||(this.subVideoPlayerMap=new Map),this.subVideoPlayerMap.forEach(((t,i)=>{var n;e.find((e=>i===e))||(t.stop(),t.setContainer(null),null==(n=this.subVideoPlayerMap)||n.delete(i))}));for(let[n,r]of e.entries()){let e=this.subVideoPlayerMap.get(r);e?t&&(rO(t.mirror)||e.setMirror(t.mirror),rO(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(r,new AP({id:this.userId||this.id,track:this.outMediaTrack,container:r,muted:this.playerMuted,objectFit:this.objectFit,mirror:this.mirror,log:this.log.createChild({id:"vp-sub".concat(n+1)})}))}let i=[...this.subVideoPlayerMap.values()];for(let e of i)yield e.play()}))}initPlayer(){var e;this.log.info("create ".concat(this.kind,"Player")),this.kind===MN.AUDIO?this.player=new MP({id:this.userId||this.id,track:this.outMediaTrack,gainedTrack:null==(e=this.gain)?void 0:e.audioTrack,container:this.container||null,muted:this.playerMuted,outputDeviceId:this.audioOutputDeviceId,log:this.log}):(this.player=new AP({id:this.userId||this.id,track:this.outMediaTrack,container:this.container||null,muted:this.playerMuted,objectFit:this.objectFit,mirror:this.mirror,log:this.log}),this.player.on(Qw.LOADED_DATA,(()=>{UO.emit(BO.VIDEO_LOADED_DATA,{track:this})})),this.player.on(Qw.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))}))),this.player.on(Qw.PLAYER_STATE_CHANGED,(e=>{UO.emit(BO.PLAYER_STATE_CHANGED,eb({track:this},e)),this.emit("player-state-changed",e)}))}setAudioOutput(e){return cb(this,null,(function*(){var t;this.audioOutputDeviceId=e,yield null==(t=this.player)?void 0:t.setSinkId(e)}))}setAudioVolume(e){var t;this.audioVolume=e,this.log.info("setAudioVolume to ".concat(e)),null==(t=this.player)||t.setVolume(e)}getAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getAudioLevel())||0}getInternalAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getInternalAudioLevel())||0}stop(){!this.isPlayCalled||(this.isPlayCalled=!1,this.player&&(this.log.info("stop ".concat(this.kind," player")),this.player.stop(),this.player.setContainer(null)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop(),e.setContainer(null)})),this.container=null)}resume(){return cb(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()}setMute(e){return!!this.outMediaTrack&&(this.outMediaTrack.enabled=!e,this.emit(e?"mute":"unmute",this),UO.emit(e?BO.TRACK_MUTED:BO.TRACK_UNMUTED,{track:this}),!0)}setPlayerMute(e){this.playerMuted=e,this.player.setMuted(e)}get mediaTrack(){return this._inputTrack||null}get outMediaTrack(){return this._outputTrack||null}setInputMediaStreamTrack(e){let t=this._inputTrack;if(e!==t)return this._inputTrack=e,this.emit("input-media-track-changed",e||null,t||null),this.manager?this.manager.changeInput(this,t):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,e.enabled=!this.muted,this.updatePlayingState(!!e))}setMediaType(e){this.mediaType=e}updatePlayingState(e){if(this.isPlayCalled)if(e){if(this.player.setTrack(this.outMediaTrack),this.player.isStopped)return this.player.play().catch((()=>this.handleAutoPlayFailed())),void this.log.info("playing state updated, play ".concat(this.kind))}else if(!this.player.isStopped)return this.player.stop(),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(){if(this.room&&this.room.enableAutoPlayDialog)new TP;else{let e=()=>{this.resume().then((()=>{document.removeEventListener("click",e,!0),document.removeEventListener("touchstart",e,!0)}))};document.addEventListener("click",e,!0),document.addEventListener("touchstart",e,!0)}}};ob([Hw([],Ww.INIT)],xP.prototype,"close",1);var VP=Object.prototype.hasOwnProperty,UP=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(ZD(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(VP.call(e,t))return!1;return!0}return!1},FP=rb(lb(),1),BP=e=>t=>t.deviceId===e,HP=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Input";sb(this,"kind"),sb(this,"type"),sb(this,"devices",[]),this.kind=e,this.type=t}update(e,t){let i=e.filter((e=>e.kind==="".concat(this.kind).concat(this.type.toLocaleLowerCase())));t&&(i.forEach((e=>{if(e.deviceId&&!this.devices.find(BP(e.deviceId))){let i="".concat(this.kind).concat(this.type,"Added");jO.warn("".concat(i,": ").concat(JSON.stringify(e))),t.emit(i,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!i.find(BP(e.deviceId))){let i="".concat(this.kind).concat(this.type,"Removed");jO.warn("".concat(i,": ").concat(JSON.stringify(e))),t.emit(i,e)}}))),this.devices=i}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},jP=class extends FP.EventEmitter{constructor(){super(),sb(this,"audioInputs",new HP(MN.AUDIO)),sb(this,"videoInputs",new HP(MN.VIDEO)),sb(this,"audioOutputs",new HP(MN.AUDIO,"Output")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",this.update.bind(this)),"ondevicechange"in navigator.mediaDevices||Yw.run(MD,(()=>{this.update()}),{delay:1e4}))}init(){WP().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return cb(this,null,(function*(){let e=yield WP();return this.audioInputs.update(e,this),this.videoInputs.update(e,this),this.audioOutputs.update(e,this),this}))}},GP=uN||dN?null:new jP;function WP(){return cb(this,null,(function*(){return rw()||!iw()?[]:(yield navigator.mediaDevices.enumerateDevices()).map(((e,t)=>{let i={kind:e.kind,deviceId:e.deviceId,groupId:e.groupId,label:e.label||"".concat(e.kind,"_").concat(t)};return e.deviceId.length>0&&qP.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(i.getCapabilities=()=>e.getCapabilities()),i}))}))}function JP(){return GP.update().then((e=>e.audioInputs.devices))}function zP(){return GP.update().then((e=>e.videoInputs.devices))}function KP(){return cb(this,null,(function*(){return GP.update().then((e=>e.audioOutputs.devices))}))}var qP=new Set;function YP(e,t){return cb(this,null,(function*(){let i=(yield JP()).find((e=>e.deviceId===CD));return(null==i?void 0:i.groupId)===e&&i.label===t}))}var QP=xO({retryFunction:function(e){return cb(this,null,(function*(){let t=function(e){return{audio:$P(e),video:ZP(e)}}(e);jO.info("getUserMedia with constraints: ".concat(JSON.stringify(t)));let i=[],n=[],r=["label","deviceId"];t.audio&&(i=yield JP(),jO.info("microphones: ".concat(OO(i,{keysToInclude:r})))),t.video&&(n=yield zP(),jO.info("cameras: ".concat(OO(n,{keysToInclude:r}))));try{let e=yield navigator.mediaDevices.getUserMedia(t);return kw&&e.getTracks().forEach((e=>{jO.info("".concat(e.kind," capabilities: ").concat(OO(e.getCapabilities(),{keysToInclude:VD})))})),e}catch(s){if("NotFoundError"===s.name){if(e.video&&n&&0===n.length)throw new Tb({code:fb.DEVICE_NOT_FOUND,message:QO({key:zO.CAMERA_NOT_FOUND})});if(e.audio&&i&&0===i.length)throw new Tb({code:fb.DEVICE_NOT_FOUND,message:QO({key:zO.MICROPHONE_NOT_FOUND})})}throw new Tb({code:fb.INITIALIZE_FAILED,name:s.name,message:s.message,constraint:s.constraint})}}))},settings:{retries:3,timeout:500},onError:e=>{let{error:t,retry:i,reject:n,retryFuncArgs:r,retryCount:o}=e;"NotReadableError"===t.name?(r[0].video&&(r[0].maxResolution=!1,r[0].frameRate&&(r[0].frameRate=r[0].frameRate>10?10:5)),2===o&&(r[0].useTrueAsConstraint=!0),i()):n(t),r[0].microphoneId&&XP(r[0].microphoneId,!1),r[0].cameraId&&XP(r[0].cameraId,!0)},onRetrying:e=>{jO.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:e=>{Xw.logFailedEvent({eventType:lD.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{Xw.logSuccessEvent({eventType:lD.GET_USER_MEDIA_RETRY}),Xw.uploadEvent({log:"stat-".concat(lD.GET_USER_MEDIA_RETRY,"-success-").concat(e)})}});function XP(e,t){return cb(this,null,(function*(){let i=(t?yield zP():yield JP()).find((t=>t.deviceId===e));i&&nO(i.getCapabilities)&&jO.warn(OO(i.getCapabilities(),{keysToInclude:VD}))}))}function $P(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0};return UP(e.microphoneId)||(t.deviceId=e.useExact?{exact:e.microphoneId}:e.microphoneId),sO(e.channelCount)&&e.channelCount>1&&(t.channelCount=e.channelCount),aO(e.echoCancellation)&&!e.echoCancellation&&(t.echoCancellation=!1),aO(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),aO(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!UP(t)||t}function ZP(e){if(!e.video)return!1;if(e.useTrueAsConstraint)return!0;let{maxResolution:t=!0}=e,i={};return e.cameraId?i.deviceId=e.useExact?{exact:e.cameraId}:e.cameraId:e.facingMode&&(i.facingMode=e.facingMode),e.width&&(i.width={ideal:e.width},t&&!Fb&&(i.width.max=e.width)),e.height&&(i.height={ideal:e.height},t&&!Fb&&(i.height.max=e.height)),Fb&&fk&&e.width&&e.height&&e.width*e.height<101376&&(i.width=e.width,i.height=e.height),e.frameRate&&(i.frameRate=e.frameRate),!!UP(i)||i}var eL=QP;function tL(e){return nL(((t,i)=>function(){for(var i=arguments.length,n=new Array(i),r=0;rfunction(){for(var i=arguments.length,n=new Array(i),r=0;r1&&void 0!==arguments[1])||arguments[1]}),sb(this,"isRemote",!1),sb(this,"deviceId"),sb(this,"groupId",""),sb(this,"label",""),sb(this,"_isRecapturing",!1),sb(this,"_lastRecaptureTime",0),sb(this,"_onMuteTimeoutId",-1),sb(this,"profile"),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this)}installTrackEvent(e){IP(e,e).add(MN.MUTE,this.onTrackMuted).add(MN.UNMUTE,this.onTrackUnmuted).add(MN.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===MN.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){yP(e)}setStateToCapture(){}capture(e){return cb(this,null,(function*(){try{let t;UO.emit(BO.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(t=new MediaStream,t.addTrack(e.customSource)):t=yield eL(e);let i=t.getTracks()[0];return yield this.setInputMediaStreamTrack(i),e.customSource||(this.updateDeviceIdInUse(),this.listenDeviceChange()),UO.emit(BO.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this}),t}catch(aD){throw UO.emit(BO.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:aD}),this.log.error("getUserMedia error observed ".concat(aD)),aD}}))}setInputMediaStreamTrack(e){this.state===Ww.INIT&&this.setStateToCapture(),this._inputTrack&&this.uninstallTrackEvent(this._inputTrack);let t=super.setInputMediaStreamTrack(e);return this.installTrackEvent(e),t}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),UO.emit(BO.LOCAL_TRACK_PUBLISHED,{track:this}),t}unpublish(){this.room&&this.room.localTracks.delete(this),UO.emit(BO.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return cb(this,null,(function*(){if(this.mediaTrack&&bw){let{deviceId:e,groupId:t}=this.mediaTrack.getSettings(),{label:i}=this.mediaTrack;(yield function(e){return cb(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:i,oldGroupId:n,oldLabel:r,kind:o}=e;return function*(){return t===i&&(o!==MN.AUDIO||t!==CD||(yield YP(n,r)))}()}))}({newDeviceId:e,oldDeviceId:this.deviceId,oldGroupId:this.groupId,oldLabel:this.label,kind:this.kind}))||(this.deviceId=e,this.label=i,t&&(this.groupId=t),WP().then((t=>{let i=t.find((t=>t.deviceId===e));i&&this.emit("2",i)})))}}))}setProfile(e){this.log.info("setProfile",e),Object.assign(this.profile,e)}isNeedToRecapture(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!(!this.deviceId||!this.mediaTrack||this.kind===MN.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 i="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(MN.AUDIO_INPUT);return!!qP.has(i)}(this.mediaTrack)||this.kind===MN.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 i="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(MN.VIDEO_INPUT);return!!qP.has(i)}(this.mediaTrack)||this._isRecapturing||e&&fk&&Fk)}onTrackMuted(){if(this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTimethis.onTrackMuted()),wD);this._onMuteTimeoutId=setTimeout((()=>cb(this,null,(function*(){var e;(null==(e=this.mediaTrack)?void 0:e.muted)&&"visible"===document.visibilityState&&this.recapture(yield this.getRecoverCaptureDeviceId())}))),5e3)}}onTrackUnmuted(){this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return cb(this,null,(function*(){if(this.isNeedToRecapture()){if(Date.now()-this._lastRecaptureTimethis.onTrackEnded()),wD);this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){return cb(this,null,(function*(){var t;if(this._isRecapturing||!this._inputTrack)return;let i;return this.log.warn("recapture trying"),null==(t=this._inputTrack)||t.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now(),("audio"===this.kind?yield JP():yield zP()).find((t=>t.deviceId===e))&&(i=e),this.capture({deviceId:i,useExact:!0}).then((()=>{this._isRecapturing=!1,this.log.warn("recapture success"),this.emit("1",{deviceId:this.deviceId})})).catch((e=>{this._isRecapturing=!1,this.log.warn("recapture failed ".concat(e.message)),this.emit("5",e)}))}))}getRecoverCaptureDeviceId(){return cb(this,null,(function*(){let{deviceId:e}=this;if(e){let t=(oL.get(e)||0)+1;if(oL.set(e,t),t>=3){let i="video"===this.kind?(yield zP()).find((e=>!oL.has(e.deviceId))):(yield JP()).find((e=>!oL.has(e.deviceId)));i&&(this.log.warn("".concat(e," capture fail ").concat(t," times, change new ").concat(i.deviceId)),e=i.deviceId)}}return e}))}close(){var e;super.close(),this._inputTrack&&(this._inputTrack.stop(),this.uninstallTrackEvent(this._inputTrack)),null==(e=this.manager)||e.removeInput(this)}};ob([Hw(Ww.INIT,"capture",{ignoreError:!0})],rL.prototype,"setStateToCapture",1),ob([Hw("capture","publish",{ignoreError:!0,success(){this.room.localTracks.add(this),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"})},fail(e){let t="error",i=e.cause;i.message.includes("timeout")?t="timeout":i.code===fb.API_CALL_ABORTED&&(t="api-call"),this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:i})}})],rL.prototype,"publish",1),ob([nL((e=>function(){return cb(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"}),2===this.mediaType&&(this.mediaType=4)}))})),Hw([],"capture")],rL.prototype,"unpublish",1);var oL=new Map;UO.on(BO.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&oL.delete(e.track.deviceId)}));var sL=class extends rL{constructor(e){super(1),sb(this,"mediaType",1),sb(this,"volume",0),sb(this,"captureVolume",1),sb(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),sb(this,"playerMuted",!0),this.manager=e}getAudioLevel(){return this.volume||super.getAudioLevel()}capture(){let{deviceId:e,customSource:t,useExact:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return super.capture({video:!1,audio:!0,microphoneId:e,echoCancellation:this.profile.echoCancellation,autoGainControl:this.profile.autoGainControl,noiseSuppression:this.profile.noiseSuppression,sampleRate:this.profile.sampleRate,channelCount:this.profile.channelCount,useExact:i,customSource:t})}switchDevice(e){return cb(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e){if(e!==CD)return;if(yield YP(this.groupId,this.label))return}try{this.log.info("switchDevice audio to: ".concat(e)),this.mediaTrack&&this.mediaTrack.stop(),yield this.capture({deviceId:e,useExact:!0}),this.room&&(yield this.room.replaceTrack(this)),UO.emit(BO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch microphone success")}catch(aD){throw this.log.error("switch microphone failed ".concat(aD)),this.deviceId&&this.recapture(this.deviceId),aD}}}))}listenDeviceChange(){GP&&!GP.listeners("audioInputRemoved").includes(this.handleMicrophoneRemoved)&&GP.on("audioInputRemoved",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return cb(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn("current microphone is lost: ".concat(JSON.stringify(e)));let t=yield JP();t[0]?this.recapture(t[0].deviceId):GP.on("audioInputAdded",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){this.log.warn("microphone added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId)}update3A(e){return cb(this,arguments,(function(e){var t=this;let{echoCancellation:i,noiseSuppression:n,autoGainControl:r}=e;return function*(){let e=!1;!rO(i)&&i!==t.profile.echoCancellation&&(t.profile.echoCancellation=i,e=!0),!rO(n)&&n!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=n,e=!0),!rO(r)&&r!==t.profile.autoGainControl&&(t.profile.autoGainControl=r,e=!0),e&&t.deviceId&&(yield t.recapture(t.deviceId))}()}))}setCaptureVolume(e){var t;let i=e/100;i!==this.captureVolume&&(null==(t=this.manager)||t.setCaptureVolume(i),this.captureVolume=i)}close(){GP.off("audioInputAdded",this.handleMicrophoneAdded,this),GP.off("audioInputRemoved",this.handleMicrophoneRemoved,this),super.close()}},aL=class extends rL{constructor(e){super(4),sb(this,"mediaType",4),sb(this,"profile",{width:640,height:480,frameRate:15,bitrate:500}),sb(this,"states",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0}),sb(this,"small"),sb(this,"facingMode"),sb(this,"isNeedToSetBandwidth"),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(tb(eb({},this.profile),{width:1920,height:1080})),this.applyProfile())};this.on("input-media-track-changed",t),this.on("publish",t)}capture(){let{deviceId:e,facingMode:t,useExact:i=!1,customSource:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return super.capture({audio:!1,video:!0,facingMode:t||this.facingMode,cameraId:e,width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate,useExact:i,customSource:n})}setOutputMediaStreamTrack(e){var t;return super.setOutputMediaStreamTrack(e),null==(t=this.room)?void 0:t.replaceTrack(this)}setProfile(e){!e||(e.bitrate&&(this.isNeedToSetBandwidth=e.bitrate!==this.profile.bitrate),this.isAllowed2k4k(this.profile)?super.setProfile(e):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),super.setProfile(tb(eb({},this.profile),{width:1920,height:1080}))))}applyProfile(){var e;if(!this.mediaTrack)return;let t=this.settings;return t.height!==this.profile.height||t.width!==this.profile.width||t.frameRate!==this.profile.frameRate?null==(e=this.mediaTrack)?void 0:e.applyConstraints({width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate}).then((()=>{if(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)return this.isNeedToSetBandwidth=!1,this.room.setBandWidth({bandwidth:this.profile.bitrate,type:MN.VIDEO,videoType:MN.BIG})})):void 0}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate};return bw&&this.mediaTrack&&Object.assign(e,this.mediaTrack.getSettings()),e}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 cb(this,null,(function*(){let t=e;try{if(!this.isNeedToSwitchDevice(t))return;(t===MN.FACING_MODE_USER||t===MN.FACING_MODE_ENVIRONMENT)&&(this.facingMode=e,t=void 0),this.mediaTrack.stop(),yield this.capture({deviceId:t,useExact:!0}),UO.emit(BO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success")}catch(cN){throw this.log.error("switch camera failed ".concat(cN)),this.deviceId&&this.recapture(this.deviceId),cN}}))}listenDeviceChange(){GP&&!GP.listeners("audioInputRemoved").includes(this.handleCameraRemoved)&&GP.on("videoInputRemoved",this.handleCameraRemoved,this)}handleCameraRemoved(e){return cb(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn("current camera is lost: ".concat(JSON.stringify(e)));let t=yield zP();t[0]?this.recapture(t[0].deviceId):GP.on("videoInputAdded",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return cb(this,null,(function*(){this.log.warn("camera added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId)}))}close(){GP.off("videoInputAdded",this.handleCameraAdded,this),GP.off("videoInputRemoved",this.handleCameraRemoved,this),super.close()}},cL=function(e){return cb(this,null,(function*(){let t=null,i=function(e){let t={systemAudio:"include",selfBrowserSurface:"include",surfaceSwitching:"include"},i={width:Fk?{max:e.width}:{ideal:e.width,max:e.width},height:Fk?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:"monitor"};if(t.video=i,e.systemAudio){let{echoCancellation:i=!0,noiseSuppression:n=!1,autoGainControl:r=!1}=e;t.audio={echoCancellation:i,noiseSuppression:n,autoGainControl:r,sampleRate:48e3}}return t}(e);jO.info("getDisplayMedia with constraints: ".concat(JSON.stringify(i)));let n=yield navigator.mediaDevices.getDisplayMedia(i);if(e.systemAudio&&0===n.getAudioTracks().length&&(Mk&&Vk<74||Fk||Fb)&&jO.warn("Your browser not support capture system audio"),e.frameRate&&n.getVideoTracks()[0]&&n.getVideoTracks()[0].applyConstraints({frameRate:{min:e.frameRate,ideal:e.frameRate},width:e.width,height:e.height}).catch((e=>{jO.warn("screen applyConstraints failed: ".concat(e))})),e.audio){let i=function(e){let t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return rO(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);jO.info("getUserMedia with constraints: ".concat(JSON.stringify(i))),t=yield navigator.mediaDevices.getUserMedia(i),n.addTrack(t.getAudioTracks()[0])}return n}))},lL=class extends aL{constructor(e){super(e),sb(this,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),sb(this,"objectFit","contain"),sb(this,"isScreen",!0),this._log.id="s-".concat(this._log.id)}capture(){return cb(this,arguments,(function(){var e=this;let{systemAudio:t=!1,autoGainControl:i,echoCancellation:n,noiseSuppression:r,audioTrack:o,videoTrack:s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){try{let a;return s||o?(a=new MediaStream,s&&a.addTrack(s),o&&a.addTrack(o)):a=yield cL({audio:!1,systemAudio:t,width:e.profile.width,height:e.profile.height,frameRate:e.profile.frameRate,autoGainControl:i,echoCancellation:n,noiseSuppression:r}),yield e.setInputMediaStreamTrack(a.getVideoTracks()[0]),a}catch(c){throw e.log.error("getDisplayMedia error observed ".concat(c)),c instanceof Tb?c:new Tb({code:fb.INITIALIZE_FAILED,name:c.name,message:c.message})}}()}))}switchDevice(e){return cb(this,null,(function*(){throw new Error("Method not implemented.")}))}},dL=class extends sL{constructor(e){super(e),this._log.id="s-".concat(this._log.id)}},uL=class extends sL{constructor(e){super(e),sb(this,"_inputs",new Map),sb(this,"_destination"),sb(this,"audioContext",DP("audio-mixer")),this._log.id="m-".concat(this._log.id),"running"!==this.audioContext.state&&this._log.warn("audio mixer context state: ".concat(this.audioContext.state)),this._destination=this.audioContext.createMediaStreamDestination(),this._destination.channelCount=1}setInputMediaStreamTrack(e){this._inputTrack=e;let t=this.audioContext.createMediaStreamSource(new MediaStream([e]));this._inputs.set(e,{sourceNode:t}),t.connect(this._destination),this._outputTrack||(this._outputTrack=this._destination.stream.getAudioTracks()[0],this.setStateToCapture())}setTrackCaptureVolume(e,t){if(!this._inputs.has(e)||!this._destination)return;let i=this._inputs.get(e),{sourceNode:n}=i;i.gainNode||(this._log.info("create GainNode"),i.gainNode=this.audioContext.createGain()),i.gainNode.gain.value=t,n.disconnect(),n.connect(i.gainNode).connect(this._destination)}publish(e,t){return this.room=e,t}unpublish(){delete this.room}replaceTrack(e,t){var i;!this.hasMix||(t&&(null==(i=this._inputs.get(t))||i.sourceNode.disconnect(),this._inputs.delete(t)),this.setInputMediaStreamTrack(e.outMediaTrack))}removeTrack(e){var t;null==(t=this._inputs.get(e))||t.sourceNode.disconnect(),this._inputs.delete(e),0===this._inputs.size&&(delete this._outputTrack,this.unpublish())}close(){this.stop(),this.audioContext.close()}get hasMix(){return!!this._outputTrack}set channelCount(e){this._destination.channelCount=e}};ob([Hw("capture","publish",{ignoreError:!0})],uL.prototype,"publish",1),ob([Hw([],"capture")],uL.prototype,"unpublish",1);var hL=class extends rL{constructor(e,t){super(1),sb(this,"musicId"),sb(this,"mediaType",1),sb(this,"volume",0),sb(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),sb(this,"playerMuted",!1),sb(this,"audio"),sb(this,"_audioContext"),sb(this,"_destination"),sb(this,"_source",null),this.manager=e,this.initAudioContext(),this._destination=this._audioContext.createMediaStreamDestination(),this._destination.channelCount=1,this.audio=document.createElement("audio"),this.audio.src=t.url,this.audio.crossOrigin="anonymous",aO(t.loop)&&this.loop(t.loop),sO(t.volume)&&this.setVolume(t.volume),t.id&&(this.musicId=t.id),this._source=this._audioContext.createMediaElementSource(this.audio),this._source.connect(this._destination),this.setInputMediaStreamTrack(this._destination.stream.getAudioTracks()[0]),this.installPlayerEvent()}play(){return cb(this,null,(function*(){try{yield this.audio.play(),yield ab(hL.prototype,this,"play").call(this,null,{muted:!1}),this._log.info("music ".concat(this.musicId," play success"))}catch(aN){this._log.error("music ".concat(this.musicId," play error"),aN)}}))}installPlayerEvent(){this.audio.addEventListener("error",this.handleAudioError.bind(this))}uninstallPlayerEvent(){this.audio.removeEventListener("error",this.handleAudioError.bind(this))}handleAudioError(e){this._log.warn("local music ".concat(this.musicId," audio error"),e)}initAudioContext(){this._audioContext=DP("music"),"running"!==this._audioContext.state&&this._log.warn("local music ".concat(this.musicId," context state: ").concat(this._audioContext.state))}destroy(){var e,t;null==(e=this._source)||e.disconnect(),null==(t=this._destination)||t.disconnect(),this.uninstallPlayerEvent(),this.player.stop(),this._audioContext.close().then((()=>{this._source=null,this._destination=null,this._audioContext=null}))}getStream(){var e;return(null==(e=this._destination)?void 0:e.stream)||null}seek(e){e<0&&e>this.duration()?this._log.warn("Time beyond song duration."):this.audio.currentTime=e}getPosition(){return this.audio.currentTime||0}setVolume(e){e>1&&e<0?this.log.warn("volume is out of range"):this.audio.volume=e}getVolume(){return this.audio.volume||0}setPlayBackRate(e){e>8&&e<0?this.log.warn("rate is out of range"):this.audio.playbackRate=e}getPlayBackRate(){return this.audio.playbackRate||0}duration(){return this.audio.duration||0}loop(e){return this.audio&&aO(e)&&(this.audio.loop=e),this.audio.loop||!1}setOperation(e){"pause"===e&&this.audio.pause(),"resume"===e&&(this.audio.pause(),this.audio.play()),"stop"===e&&(this.audio.pause(),this.seek(0))}listenDeviceChange(){}},pL="input",mL="output",_L=e=>(e=Number(e))>0&&e<14e8;function fL(e){return cb(this,arguments,(function(e){let{sdkAppId:t,userId:i,userSig:n,timestamp:r}=e;return function*(){let e="https://".concat(function(e){let t;return t=_L(e)?"intl-schedule.rtc.qq.com":"schedule.rtc.qq.com",t}(t),"/api/v1/audioAiAuth?sdkAppId=").concat(t,"&userId=").concat(i,"&userSig=").concat(n,"×tamp=").concat(r),o=yield fetch(e),{data:{errCode:s,errMsg:a,sign:c,status:l}}=yield o.json();if("1"===l)return{auth:!0,sign:c,status:l,message:a};let d="Init RTCAIDenoiser failed.",u="";switch(s){case 1:u="Please check your params.";break;case 2:u="You need to buy packages. Refer to: https://cloud.tencent.com/document/product/647/44247";break;case 3:u="Server is invalid. Please contact our engineer. ";break;case 4:u="Your packages is not active. Refer to: https://cloud.tencent.com/document/product/647/44247";break;case 5:u="Your packages is expired. Refer to: https://cloud.tencent.com/document/product/647/44247";break;case 6:u="Your version is not supported."}return{auth:!1,status:l,message:a?"".concat(d," Reason: ").concat(a,". ").concat(u):"".concat(d,", ").concat(u)}}()}))}var gL=rb(lb(),1);function TL(e,t){t=t||{};let i,n=e.numberOfChannels,{sampleRate:r}=e,o=t.float32?3:1,s=3===o?32:16;return i=2===n?function(e,t){let i=e.length+t.length,n=new Float32Array(i),r=0,o=0;for(;r{let{type:t,data:i}=e.data;if("ondump"===t&&this.isDumping_){let{inputPCM:e,outputPCM:t}=i;this.dump_.onDump(e,pL),this.dump_.onDump(t,mL)}"dumped"===t&&this.dumped()},this.dump_=new SL(this.audioContext_)}dumped(){this.isDumping_=!1;let e=this.dump_.getBlob(pL),t=this.dump_.getBlob(mL);this.emitter_.emit("ondumpend",{blob:e,name:pL}),this.emitter_.emit("ondumpend",{blob:t,name:mL}),this.dumpedWAV(e,pL),this.dumpedWAV(t,mL),this.dump_.reset()}dumpedWAV(e,t){let i=window.URL.createObjectURL(e),n=document.createElement("a");n.href=i,n.download="".concat(t,"-").concat(Date.now(),".wav"),n.click(),window.URL.revokeObjectURL(i),n.href=""}process(e){return cb(this,null,(function*(){if(this.audioTrack_=e,!this.audioTrack_)throw new Error("RTCAIDenoiser: cannot process without audioTrack.");let t=new MediaStream;t.addTrack(this.audioTrack_),this.source_=this.audioContext_.createMediaStreamSource(t),yield this.source_.connect(this.workletNode_),this.trackConstraint_=this.audioTrack_.getConstraints(),this.trackConstraint_.noiseSuppression=!1,yield this.audioTrack_.applyConstraints(this.trackConstraint_);let i=this.destination_.stream;return this.denoiserTrack_=i.getAudioTracks()[0],this.log_.info("RTCAIDenoiser: denoiser process track ID: ".concat(e.id," success.")),this.denoiserTrack_}))}updateTrack(e){return cb(this,null,(function*(){var t;let i=new MediaStream;yield i.addTrack(e);let n=this.audioContext_.createMediaStreamSource(i);this.source_.disconnect(),n.connect(this.workletNode_),null==(t=this.audioTrack_)||t.stop(),this.audioTrack_=e,this.source_=n,this.log_.info("RTCAIDenoiser: updateTrack success.")}))}disable(){return cb(this,null,(function*(){var e,t;return this.enableDenoise_=!1,null==(e=this.workletNode_)||e.port.postMessage({type:"disable"}),this.trackConstraint_.noiseSuppression=!0,yield null==(t=this.audioTrack_)?void 0:t.applyConstraints(this.trackConstraint_),this.log_.info("RTCAIDenoiser: disable ai denoiser."),this.enableDenoise_}))}enable(){return cb(this,null,(function*(){var e,t;return this.enableDenoise_=!0,null==(e=this.workletNode_)||e.port.postMessage({type:"enable"}),this.trackConstraint_.noiseSuppression=!1,yield null==(t=this.audioTrack_)?void 0:t.applyConstraints(this.trackConstraint_),this.log_.info("RTCAIDenoiser: enable ai denoiser."),this.enableDenoise_}))}startDump(){return this.isDumping_?(this.log_.info("RTCAIDenoiser: data is currently being dumped."),!1):(this.workletNode_.port.postMessage({type:"startDump"}),this.dump_?this.dump_.reset():this.dump_=new SL(this.audioContext_),this.isDumping_=!0,this.log_.info("RTCAIDenoiser: start dump data."),!0)}stopDump(){!this.isDumping_||(this.workletNode_.port.postMessage({type:"stopDump"}),this.isDumping_=!1,this.log_.info("RTCAIDenoiser: stop dump data."))}getAudioTrack(){return this.audioTrack_}getDenoiserTrack(){return this.destination_.stream.getAudioTracks()[0]}get enabled(){return this.enableDenoise_}destroy(){var e,t,i,n,r,o;this.log_.info("RTCAIDenoiser: destroy processor."),null==(e=this.audioTrack_)||e.stop(),null==(t=this.workletNode_)||t.port.postMessage({type:"destroy"}),this.workletNode_.port.onmessage=null,null==(i=this.source_)||i.disconnect(),null==(n=this.destination_)||n.disconnect(),null==(r=this.workletNode_)||r.disconnect(),null==(o=this.dump_)||o.destroy(),this.emitter_.removeAllListeners()}on(e,t,i){this.emitter_.on(e,t,i)}off(e,t,i){"*"===e?this.emitter_.removeAllListeners():this.emitter_.off(e,t,i)}},yL=class{constructor(e){let{assetsPath:t,log:i,audioContext:n}=e;this.isLoaded_=!1,this.audioContext_=n,this.log_=i,this.assetsPath_=t}createProcessor(e){return cb(this,null,(function*(){let t=String(Date.now()).slice(0,-3),{auth:i,sign:n,status:r,message:o}=yield fL(tb(eb({},e),{timestamp:t}));if(!i)throw this.log_.info("RTCAIDenoiser: ".concat(e.userId," auth result: ").concat(i,". Message: ").concat(o)),new Error(o);try{yield this.load()}catch(l){throw new Error("Init wasm failed, please check your assetsPath.")}let s=yield this.initWorklet(),a=new IL(tb(eb({},e),{audioContext:this.audioContext_,timestamp:t,sign:n,status:r,worklet:s,logger:this.log_}));return this.log_.info("RTCAIDenoiser: ".concat(e.userId," create denoiser processor success.")),a}))}load(){return cb(this,null,(function*(){if(!this.isLoaded_)try{yield this.audioContext_.audioWorklet.addModule("".concat(this.assetsPath_,"/denoiser-wasm.js")),this.isLoaded_=!0}catch(FL){throw this.log_.error("Init assets from ".concat(this.assetsPath_," failed! Reason: ").concat(FL)),FL}}))}initWorklet(){return cb(this,null,(function*(){try{return new AudioWorkletNode(this.audioContext_,"trtc-denoiser-processor",{numberOfInputs:1,numberOfOutputs:1})}catch(FL){return yield this.load(),new AudioWorkletNode(this.audioContext_,"trtc-denoiser-processor",{numberOfInputs:1,numberOfOutputs:1})}}))}destroy(){var e;null==(e=this.audioContext_)||e.close()}isSupported(){return"AudioWorklet"in window&&"WebAssembly"in window}},vL=class{constructor(e){let{room:t}=e;sb(this,"_localAudioTrack",null),sb(this,"_localScreenAudioTrack",null),sb(this,"localMixAudioTrack"),sb(this,"isDenoiserInit",!1),sb(this,"isDenoiserEnabled",!1),sb(this,"isDenoiserProcessed",!1),sb(this,"mixedMusicMap",new Map),sb(this,"cacheMusicMap",new Map),sb(this,"_log"),sb(this,"denoiserTrack",null),sb(this,"denoiser",null),sb(this,"denoiserProcessor"),sb(this,"initProcessorOptions"),sb(this,"denoiserContext"),this._log=jO.createLogger({id:"am",userId:t.userId,sdkAppId:t.sdkAppId})}get mixedAudioTrack(){return this.localMixAudioTrack?this.localMixAudioTrack.outMediaTrack:null}get hasScreenAudioTrack(){return null!==this._localScreenAudioTrack}get hasAudioTrack(){return null!==this._localAudioTrack}changeInput(e,t){var i,n,r;return e instanceof dL?(this._localScreenAudioTrack=e,void(e._outputTrack=e.mediaTrack)):e instanceof hL?(e._outputTrack=e.mediaTrack,void(null==(i=this.localMixAudioTrack)||i.replaceTrack(e,t))):e instanceof sL?(this._localAudioTrack=e,this.isDenoiserProcessed&&(null==(n=this.denoiserProcessor)||n.updateTrack(e.mediaTrack)),e.setOutputMediaStreamTrack(this.isDenoiserProcessed?this.denoiserTrack:e.mediaTrack),void(null==(r=this.localMixAudioTrack)||r.replaceTrack(e,t))):e instanceof CL?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}removeInput(e){if(e instanceof sL)return this.removeAudioTrack(e)}addMusicSource(e){return cb(this,null,(function*(){this._log.info("add music source, id: ".concat(e.id," url: ").concat(e.url));let t,{id:i,url:n,loop:r,volume:o}=e;if(!this.mixedMusicMap.has(i))return t=this.cacheMusicMap.has(i)?this.cacheMusicMap.get(i):new hL(this,e),t.play(),this._log.info("start mix audio ".concat(i," success.")),this.mixedMusicMap.set(i,t),this.cacheMusicMap.set(i,t),t}))}updateMusicSource(e){return cb(this,null,(function*(){let{id:t,volume:i,loop:n,operation:r,seekFrom:o}=e;if(this._log.info("update music source, ".concat(JSON.stringify(e))),this.mixedMusicMap.has(t)){let e=this.mixedMusicMap.get(t);rO(i)||e.setVolume(i),rO(n)||e.loop(n),rO(r)||e.setOperation(r),rO(o)||e.seek(o)}}))}addAudioTrack(e){return cb(this,null,(function*(){var t;if(this.localMixAudioTrack||(this.localMixAudioTrack=new uL(this)),this._log.info("start add audioTrack, userId: ".concat(e.userId)),e===this._localAudioTrack){if(bw){let i=yield null==(t=e.mediaTrack)?void 0:t.getSettings();this.localMixAudioTrack.channelCount=(null==i?void 0:i.channelCount)||1}this.mixedMusicMap.forEach((e=>{var t;null==(t=this.localMixAudioTrack)||t.setInputMediaStreamTrack(e.outMediaTrack)}))}this.localMixAudioTrack.setInputMediaStreamTrack(e.outMediaTrack),this._localAudioTrack&&1!==this._localAudioTrack.captureVolume&&this.setCaptureVolume(this._localAudioTrack.captureVolume)}))}removeAudioTrack(e){!this.localMixAudioTrack||(e===this._localAudioTrack&&this.mixedMusicMap.forEach((e=>{this.localMixAudioTrack.removeTrack(e.outMediaTrack)})),this.localMixAudioTrack.removeTrack(e.outMediaTrack))}removeMusicSource(e){let{id:t}=e;if(this.localMixAudioTrack){if(this.mixedMusicMap.has(t)){this._log.info("remove music source, music id: ".concat(t));let e=this.mixedMusicMap.get(t);e.stop(),this.localMixAudioTrack.removeTrack(e.outMediaTrack),this.mixedMusicMap.delete(t)}"*"===t&&this.destroyAllMusic()}}destroyAllMusic(){this._log.info("destroy all music source."),this.mixedMusicMap.forEach(((e,t)=>{this.removeMusicSource({id:t})}))}destroyAllCache(){this._log.info("destroy all music cache."),this.cacheMusicMap.forEach((e=>e.stop()))}initDenoiser(e){return cb(this,null,(function*(){let{assetsPath:t,sdkAppId:i,userId:n,userSig:r}=e;try{(!this.denoiserContext||"closed"===this.denoiserContext.state)&&(this.denoiserContext=DP("denoiser")),this.denoiser||(this.denoiser=new yL({assetsPath:t,log:this._log,audioContext:this.denoiserContext})),this.denoiserProcessor||(this.denoiserProcessor=yield this.denoiser.createProcessor({sdkAppId:i,userId:n,userSig:r})),this.isDenoiserInit=!0,this.initProcessorOptions=e}catch(lN){throw lN}}))}enableDenoiser(e){return cb(this,null,(function*(){var e,t,i;if(this.isDenoiserEnabled=!0,!this.hasAudioTrack){let e="enableDenoiser failed, there is no audio";throw this._log.error(e),new Error(e)}if(this.isDenoiserProcessed)null==(i=this.denoiserProcessor)||i.enable();else{let i=null==(e=this._localAudioTrack)?void 0:e.mediaTrack;if(!i)return;this.denoiserProcessor||(yield this.initDenoiser(this.initProcessorOptions)),this.denoiserTrack=yield this.denoiserProcessor.process(i),this.isDenoiserProcessed=!0,this._localAudioTrack._outputTrack=this.denoiserTrack,null==(t=this.localMixAudioTrack)||t.replaceTrack(this._localAudioTrack,i)}}))}disableDenoiser(){return cb(this,null,(function*(){var e;this.isDenoiserEnabled&&(null==(e=this.denoiserProcessor)||e.disable(),this.isDenoiserEnabled=!1)}))}setCaptureVolume(e){var t;this.localMixAudioTrack&&this._localAudioTrack&&this._localAudioTrack.mediaTrack&&(null==(t=this.localMixAudioTrack)||t.setTrackCaptureVolume(this._localAudioTrack.mediaTrack,e))}destroyDenoiserProcessor(){var e;this.denoiserProcessor&&(this.denoiserProcessor.destroy(),delete this.denoiserProcessor,this.isDenoiserInit=!1,this.isDenoiserEnabled=!1,this.isDenoiserProcessed=!1,null==(e=this.denoiserTrack)||e.stop(),this.denoiserTrack=null),this.denoiserContext&&(this.denoiserContext.close(),delete this.denoiserContext)}destroy(){var e;this.destroyAllMusic(),this.destroyAllCache(),this.destroyDenoiserProcessor(),null==(e=this.denoiser)||e.destroy(),this.localMixAudioTrack&&(this.localMixAudioTrack.close(),delete this.localMixAudioTrack)}},AL=class extends xP{constructor(e,t,i){super({userId:t.userId,sdkAppId:e.sdkAppId,mediaType:i,room:e}),this.room=e,this.user=t,sb(this,"tinyId"),sb(this,"isRemote",!0),this.tinyId=t.tinyId}setMute(e){return this.hasFlag&&super.setMute(e)}setInputMediaStreamTrack(e){super.setInputMediaStreamTrack(e),this.hasFlag&&this.isSubscribed&&this.player.setTrack(this.outMediaTrack)}waitHasMediaTrack(){return new Promise((e=>{this.mediaTrack?e():this.once("input-media-track-changed",e)}))}get isSubscribing(){return"subscribeing"===this.state.toString()}get isSubscribed(){return this.state===AL.STATE_SUBSCRIBE}get streamType(){return 0==(2&this.mediaType)?"main":"auxiliary"}subscribe(e){return e}unsubscribe(){this.player.setTrack(null),"main"===this.streamType&&"video"===this.kind&&this.room.changeType(!1,this.user)}updatePlayingState(e){if(this.isPlayCalled&&this.player.isStopped===e){if(e&&(!this.isSubscribed||!this.hasFlag||!this.outMediaTrack))return void this.log.info("abort play, isSubscribed:".concat(this.isSubscribed," hasFlag:").concat(this.hasFlag," hasTrack:").concat(!!this.outMediaTrack));super.updatePlayingState(e)}}onFlagChanged(){this.updatePlayingState(this.hasFlag)}},RL=AL;sb(RL,"STATE_SUBSCRIBE","subscribe"),ob([Hw(Ww.INIT,RL.STATE_SUBSCRIBE,{success(){this.log.info("subscribed"),UO.emit(BO.REMOTE_TRACK_SUBSCRIBED,{track:this}),this.updatePlayingState(!0)},ignoreError:!0})],RL.prototype,"subscribe",1),ob([Hw(RL.STATE_SUBSCRIBE,Ww.INIT,{success(){this.log.info("unsubscribed"),this.updatePlayingState(!1),UO.emit(BO.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],RL.prototype,"unsubscribe",1);var CL=class extends RL{constructor(e,t){super(e,t,1),sb(this,"volume",0),sb(this,"mediaType",1),sb(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}getAudioLevel(){return this.volume||super.getAudioLevel()}get hasFlag(){return this.user.muteState.hasAudio&&!this.user.muteState.audioMuted}isFlagChanged(e){let t=e.hasAudio&&!e.audioMuted;return this.hasFlag||(this.volume=0),this.hasFlag!==t}},bL=class extends RL{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),sb(this,"mediaType",4),sb(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.videoManager}changeType(e){this.room.changeType(e,this.user)}get hasFlag(){return this.user.muteState.hasVideo&&!this.user.muteState.videoMuted}isFlagChanged(e){let t=e.hasVideo&&!e.videoMuted;return this.hasFlag!==t}},kL=class extends bL{constructor(e,t){super(e,t,2),sb(this,"mediaType",2),sb(this,"objectFit","contain")}get hasFlag(){return this.user.muteState.hasAuxiliary}isFlagChanged(e){let t=e.hasAuxiliary;return this.hasFlag!==t}};function NL(){}var DL=e=>e(),OL=()=>"undefined"!=typeof __FASTRX_DEVTOOLS__,wL=1,PL=class extends Function{toString(){return"".concat(this.name,"(").concat(this.args.length?[...this.args].join(", "):"",")")}subscribe(e){let t=new BL(e,this,this.streamId++);return HL.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},LL=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=NL,this.error=NL,this.next=NL,this.dispose=NL,this.subscribe=NL,this.doDefer()}subscribe(e){return e instanceof PL?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(DL),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}},ML=class extends LL{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)}};function xL(e,t,i){if(OL()){let n=Object.defineProperties(Object.setPrototypeOf(e,PL.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:i,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});HL.create(n);for(let e=0;e{HL.defer(this.source,this.id)}))}next(e){HL.next(this.source,this.id,e),this.sink.next(e)}complete(){HL.complete(this.source,this.id),this.sink.complete()}error(e){HL.complete(this.source,this.id,e),this.sink.error(e)}},HL={addSource(e,t){VL("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,i){VL("next",{id:e.id,streamId:t,data:i&&i.toString()})},subscribe(e,t){let{id:i,end:n}=e;VL("subscribe",{id:i,end:n,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,i){VL("complete",{id:e.id,streamId:t,err:i?i.toString():null})},defer(e,t){VL("defer",{id:e.id,streamId:t})},pipe(e){VL("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){VL("update",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=wL++),VL("create",{name:e.toString(),id:e.id})}},jL=class extends LL{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()}},GL=(UL=class extends ML{constructor(e,t,i){super(e),this.mapper=t,this.thisArg=i}next(e){super.next(this.mapper.call(this.thisArg,e))}},FL="map",function(){for(var e=arguments.length,t=new Array(e),i=0;i{if(e instanceof PL){let i=xL((n=>{let r=new UL(n,...t);r.sourceId=i.id,r.subscribe(e)}),FL,arguments);return i.source=e,HL.pipe(i),i}return i=>e(new UL(i,...t))}});!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;nt(e)),e)}(function(e){return xL((t=>{let i=0,n=setInterval((()=>t.next(i++)),e);return t.defer((()=>{clearInterval(n)})),"interval"}),"interval",arguments)}(250),GL((()=>performance.now())),function(){return e=>{let t=new jL(e);if(e instanceof PL){let i=xL((e=>{t.add(e)}),"share",arguments);return t.sourceId=i.id,i.source=e,HL.pipe(i),i}return xL(t.add.bind(t),"share",arguments)}}());var WL=new Map;function JL(e,t){let i=tb(eb({},t),{timestamp:Sb()});WL.has(e)?WL.get(e).push(i):WL.set(e,[i])}UO.on(BO.JOIN_SUCCESS,(e=>{let{room:t}=e;JL(t.userId,{eventId:32788,eventDesc:"join room"})})),UO.on(BO.LEAVE_START,(e=>{let{room:t}=e;JL(t.userId,{eventId:32789,eventDesc:"leave room"})})),UO.on(BO.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),JL(t.room.userId,{eventId:e,eventDesc:"publish ".concat(t.kind)})}})),UO.on(BO.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),JL(t.room.userId,{eventId:e,eventDesc:"unpublish ".concat(t.kind)})}})),UO.on(BO.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===MN.AUDIO?JL(t.room.userId,{eventId:t.isRemote?32785:32772,eventDesc:"mute audio",remoteUserId:t.isRemote?t.userId:void 0}):JL(t.room.userId,{eventId:t.isRemote?32784:32773,eventDesc:"mute video",remoteUserId:t.isRemote?t.userId:void 0}))})),UO.on(BO.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===MN.AUDIO?JL(t.room.userId,{eventId:t.isRemote?32787:32774,eventDesc:"unmute audio",remoteUserId:t.isRemote?t.userId:void 0}):JL(t.room.userId,{eventId:t.isRemote?32786:32775,eventDesc:"unmute video",remoteUserId:t.isRemote?t.userId:void 0}))})),UO.on(BO.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;!t.room||(1===t.mediaType&&JL(t.room.userId,{eventId:32777,eventDesc:"".concat(MN.SUBSCRIBE," ").concat(t.kind),remoteUserId:t.userId}),4===t.mediaType&&JL(t.room.userId,{eventId:32776,eventDesc:"".concat(MN.SUBSCRIBE," ").concat(t.kind),remoteUserId:t.userId}),8===t.mediaType&&JL(t.room.userId,{eventId:32803,eventDesc:"".concat(MN.SUBSCRIBE," ").concat(MN.SMALL_VIDEO),remoteUserId:t.userId}))})),UO.on(BO.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;!t.room||(1===t.mediaType&&JL(t.room.userId,{eventId:32779,eventDesc:"".concat(MN.UNSUBSCRIBE," ").concat(t.kind),remoteUserId:t.userId}),4===t.mediaType&&JL(t.room.userId,{eventId:32778,eventDesc:"".concat(MN.UNSUBSCRIBE," ").concat(t.kind),remoteUserId:t.userId}),8===t.mediaType&&JL(t.room.userId,{eventId:32804,eventDesc:"".concat(MN.UNSUBSCRIBE," ").concat(MN.SMALL_VIDEO),remoteUserId:t.userId}))})),UO.on(BO.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&JL(t.room.userId,{eventId:t.kind===MN.VIDEO?32780:32781,eventDesc:"switch ".concat(t.kind===MN.VIDEO?"camera":"microphone")})})),UO.on(BO.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&JL(t.room.userId,{eventId:t.kind===MN.VIDEO?32782:32783,eventDesc:"replace ".concat(t.kind)})})),UO.on(BO.SIGNAL_CONNECTION_STATE_CHANGED,(e=>{let t,i,{room:n,prevState:r,state:o}=e;switch(o){case"CONNECTED":"RECONNECTING"===r?(t=32795,i="signal reconnected"):(t=32791,i="signal connected");break;case"DISCONNECTED":"RECONNECTING"===r?(t=32796,i="signal reconnect fail"):(t=32790,i="signal disconnected");break;case"RECONNECTING":t=32794,i="signal reconnecting"}t&&i&&JL(n.userId,{eventId:t,eventDesc:i})})),UO.on(BO.PEER_CONNECTION_STATE_CHANGED,(e=>{let t,i,{room:n,prevState:r,state:o,remoteUserId:s}=e,a=!!s,c=a?"downlink":"uplink";switch(o){case"CONNECTED":"RECONNECTING"===r?(t=a?32801:32798,i="".concat(c," reconnected")):(t=a?32793:32792,i="".concat(c," connected"));break;case"DISCONNECTED":"RECONNECTING"===r&&(t=a?32802:32799,i="".concat(c," reconnect fail"));break;case"RECONNECTING":t=a?32800:32797,i="".concat(c," reconnecting")}t&&i&&JL(n.userId,{eventId:t,eventDesc:i,remoteUserId:s})}));var zL,KL=rb(lb(),1),qL=class extends KL.EventEmitter{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"userId";super(),this.mySelfId=e,this._log=t,this.key=i,sb(this,"userMap",new Map),sb(this,"remotePublishedUserMap",new Map)}getPublishedUser(e){return this.remotePublishedUserMap.get(e)}addUser(e){let t=e[this.key],{userId:i,tinyId:n,role:r}=e;if(this.userMap.has(t))return;let o={userId:i,tinyId:n,role:20===r?"anchor":"audience"};this.userMap.set(t,o),this.emit("1",o)}deleteUser(e,t){let i=this.userMap.get(e);if(!i)return;let n="peer leave [".concat(e,"]");rO(t)||(n+=":".concat(DD[t])),this._log.info(n);let r=this.remotePublishedUserMap.get(e);if(r){let t=r.muteState;r.flag=0,this.emit("5",r.userId),this.deleteRemotePublishedUser(e),this.emit("6",{prevMuteState:t,muteState:r.muteState,flag:0})}this.userMap.delete(e),this.emit("2",i.userId)}setUserList(e){this.userMap.forEach((t=>{e.findIndex((e=>e[this.key]===t[this.key]))<0&&this.deleteUser(t[this.key],0)})),e.forEach((e=>{!this.userMap.has(e[this.key])&&e[this.key]!==this.mySelfId&&this.addUser(e)}))}addRemotePublishedUser(e){this.remotePublishedUserMap.has(e[this.key])||this.remotePublishedUserMap.set(e[this.key],e)}deleteRemotePublishedUser(e){!this.remotePublishedUserMap.has(e)||this.remotePublishedUserMap.delete(e)}setRemotePublishedUserList(e){this.remotePublishedUserMap.forEach((t=>{let i=t[this.key];if(e.findIndex((e=>e[this.key]===t[this.key]))<0){this._log.info("remote [".concat(i,"] unpublish"));let e=t.muteState;t.flag=0,this.emit("5",t.userId),this.deleteRemotePublishedUser(i),this.emit("6",{prevMuteState:e,muteState:t.muteState,flag:0})}})),e.forEach((e=>{var t;let i=e[this.key];if(i===this.mySelfId)return;let{flag:n,userId:r,tinyId:o}=e,s=yO(n,r),a=null==(t=this.remotePublishedUserMap.get(i))?void 0:t.muteState;if(a){let e=this.remotePublishedUserMap.get(i);e&&e.flag!==n&&(e.flag=n,this._log.info("remote publish updated: ".concat(JSON.stringify(e.muteState))),this.emit("6",{prevMuteState:a,muteState:s,flag:n}))}else this._log.info("remote publish. state: ".concat(JSON.stringify(s))),this.addUser({userId:r,tinyId:o,role:20}),this.emit("3",e),this.emit("6",{prevMuteState:yO(0,r),muteState:s,flag:n})}))}clear(){this.userMap.clear(),this.remotePublishedUserMap.clear()}},YL=!0,QL={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"},XL={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},$L=((zL=$L||{})[zL.INVALID_PARAMETER=5e3]="INVALID_PARAMETER",zL[zL.INVALID_PARAMETER_REQUIRED=5001]="INVALID_PARAMETER_REQUIRED",zL[zL.INVALID_PARAMETER_TYPE=5002]="INVALID_PARAMETER_TYPE",zL[zL.INVALID_PARAMETER_EMPTY=5003]="INVALID_PARAMETER_EMPTY",zL[zL.INVALID_PARAMETER_INSTANCE=5004]="INVALID_PARAMETER_INSTANCE",zL[zL.INVALID_PARAMETER_RANGE=5005]="INVALID_PARAMETER_RANGE",zL[zL.INVALID_PARAMETER_LESS_THAN_ZERO=5006]="INVALID_PARAMETER_LESS_THAN_ZERO",zL[zL.INVALID_PARAMETER_MIN=5007]="INVALID_PARAMETER_MIN",zL[zL.INVALID_PARAMETER_MAX=5008]="INVALID_PARAMETER_MAX",zL[zL.INVALID_ELEMENT_ID=5009]="INVALID_ELEMENT_ID",zL[zL.INVALID_ELEMENT_ID_TYPE=5010]="INVALID_ELEMENT_ID_TYPE",zL[zL.INVALID_STREAM_ID=5011]="INVALID_STREAM_ID",zL[zL.INVALID_ROOM_ID_STRING=5012]="INVALID_ROOM_ID_STRING",zL[zL.INVALID_ROOM_ID_INTEGER=5013]="INVALID_ROOM_ID_INTEGER",zL[zL.INVALID_STREAM_TYPE=5014]="INVALID_STREAM_TYPE",zL[zL.INVALID_ROOM_ID_REQUIED=5015]="INVALID_ROOM_ID_REQUIED",zL[zL.INVALID_ROOM_ID_INTEGER_STRING=5016]="INVALID_ROOM_ID_INTEGER_STRING",zL[zL.INVALID_OPERATION=5100]="INVALID_OPERATION",zL[zL.INVALID_OPERATION_NOT_JOINED=5101]="INVALID_OPERATION_NOT_JOINED",zL[zL.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]="INVALID_OPERATION_REMOTE_USER_NOT_EXIST",zL[zL.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]="INVALID_OPERATION_STREAM_TYPE_NOT_EXIST",zL[zL.INVALID_OPERATION_REPEAT_CALL=5104]="INVALID_OPERATION_REPEAT_CALL",zL[zL.ENV_NOT_SUPPORTED=5200]="ENV_NOT_SUPPORTED",zL[zL.NOT_SUPPORTED_HTTP=5201]="NOT_SUPPORTED_HTTP",zL[zL.NOT_SUPPORTED_WEBRTC=5202]="NOT_SUPPORTED_WEBRTC",zL[zL.NOT_SUPPORTED_H264_ENCODE=5203]="NOT_SUPPORTED_H264_ENCODE",zL[zL.NOT_SUPPORTED_H264_DECODE=5204]="NOT_SUPPORTED_H264_DECODE",zL[zL.NOT_SUPPORTED_SCREEN_SHARE=5205]="NOT_SUPPORTED_SCREEN_SHARE",zL[zL.NOT_SUPPORTED_SMALL_VIDEO=5206]="NOT_SUPPORTED_SMALL_VIDEO",zL[zL.NOT_SUPPORTED_SEI=5207]="NOT_SUPPORTED_SEI",zL[zL.DEVICE_ERROR=5300]="DEVICE_ERROR",zL[zL.DEVICE_NOT_FOUND_ERROR=5301]="DEVICE_NOT_FOUND_ERROR",zL[zL.DEVICE_NOT_ALLOWED_ERROR=5302]="DEVICE_NOT_ALLOWED_ERROR",zL[zL.DEVICE_NOT_READABLE_ERROR=5303]="DEVICE_NOT_READABLE_ERROR",zL[zL.DEVICE_OVERCONSTRAINED_ERROR=5304]="DEVICE_OVERCONSTRAINED_ERROR",zL[zL.DEVICE_INVALID_STATE_ERROR=5305]="DEVICE_INVALID_STATE_ERROR",zL[zL.DEVICE_SECURITY_ERROR=5306]="DEVICE_SECURITY_ERROR",zL[zL.DEVICE_ABORT_ERROR=5307]="DEVICE_ABORT_ERROR",zL[zL.CAMERA_RECOVER_FAILED=5308]="CAMERA_RECOVER_FAILED",zL[zL.MICROPHONE_RECOVER_FAILED=5309]="MICROPHONE_RECOVER_FAILED",zL[zL.SERVER_ERROR=5400]="SERVER_ERROR",zL[zL.ACCOUNT_NO_MONEY=-100013]="ACCOUNT_NO_MONEY",zL[zL.OPERATION_FAILED=5500]="OPERATION_FAILED",zL[zL.FIREWALL_RESTRICTION=5501]="FIREWALL_RESTRICTION",zL[zL.REJOIN_FAILED=5502]="REJOIN_FAILED",zL[zL.EVENT_HANDLER_ERROR=5503]="EVENT_HANDLER_ERROR",zL[zL.VIDEO_CONTEXT_ERROR=5504]="VIDEO_CONTEXT_ERROR",zL[zL.OPERATION_ABORT=5998]="OPERATION_ABORT",zL[zL.UNKNOWN_ERROR=5999]="UNKNOWN_ERROR",zL),ZL=tb(eb({},KO),{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:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' is a required param when calling ").concat(n,"(), received: ").concat(r,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:i,fnName:n,value:r}=e,o="".concat(t||i.name),s="";return s=Array.isArray(i.type)?i.type.join("|"):i.type,"'".concat(o,"' must be type of ").concat(s," when calling ").concat(n,"(), received type: ").concat(iO(r),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' cannot be '").concat(r,"' when calling ").concat(n,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:i,fnName:n,value:r}=e,o="".concat(t||i.name),s="".concat(i.instanceOf.name||i.instanceOf);return"'".concat(o,"' must be instanceof ").concat(s," when calling ").concat(n,"(), received type: ").concat(iO(r),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' must be one of ").concat(i.values.join("|")," when calling ").concat(n,"(), received: ").concat(r,".")},INVALID_PARAMETER_LESS_THAN_ZERO(e){let{key:t,rule:i,fnName:n}=e;return"'".concat(t||i.name,"' cannot be less than 0 when calling ").concat(n,"().")},INVALID_PARAMETER_MIN(e){let{key:t,rule:i,value:n}=e;return"the min value of ".concat(t||i.name," is ").concat(i.min,", received: ").concat(n,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:i,value:n}=e;return"the max value of ".concat(t||i.name," is ").concat(i.max,", received: ").concat(n,".")},INVALID_ELEMENT_ID(e){let{key:t,fnName:i}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(i,"().")},INVALID_ELEMENT_ID_TYPE(e){let{key:t,fnName:i,type:n}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(i,"(), received: ").concat(n,".")},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_REQUIED:()=>"at least one of 'roomId'(between [1, 4294967294]) and 'strRoomId'(not empty) is required.",INVALID_STREAM_TYPE:e=>{let{fnName:t}=e;return"'streamType' is required when 'userId' is not '*', calling ".concat(t,"()")},MIX_PARAMS_USER_Z_ORDER(e){let{key:t}=e;return"'".concat(t,"' is required and must be between 1 and 15.")},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_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_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:i}=e;return"cannot ".concat(t," because remote user(userId: ").concat(i.userId,") does not publishing stream.")},INVALID_OPERATION_STREAM_TYPE_NOT_EXIST(e){let{fnName:t,value:i}=e;return"cannot ".concat(t," because remote user(userId: ").concat(i.userId,") does not publishing ").concat(i.streamType," video.")},INVALID_OPERATION_REPEAT_CALL(e){let{fnName:t}=e;return"you are already ".concat(t,"(), cannot repeated call '").concat(t,"'.")},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.",DEVICE_ERROR(e){let{fnName:t,error:i}=e;return"'".concat(t,"' got device exception").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_FOUND_ERROR(e){let{fnName:t,deviceType:i=eM(t),error:n}=e;return"NotFoundError, no ".concat(i," detected, please check your device and the configuration on '").concat(t,"'").concat(n?", error: ".concat(n.toString(),"."):".")},DEVICE_NOT_ALLOWED_ERROR(e){let{fnName:t,deviceType:i=eM(t),error:n}=e;return"NotAllowedError, you have disabled ".concat(i," access, please allow the current application to use the ").concat(i).concat(n?", error: ".concat(n.toString(),"."):".")},DEVICE_NOT_READABLE_ERROR(e){let{fnName:t,deviceType:i=eM(t),error:n}=e;return"NotReadableError, the ".concat(i," 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:i=eM(t),error:n}=e;return"OverconstrainedError, the device ID is incorrect, please check whether the device ID passed in is correct".concat(n?", error: ".concat(n.toString(),"."):".")},DEVICE_INVALID_STATE_ERROR(e){let{fnName:t,deviceType:i=eM(t),error:n}=e;return"InvalidStateError, after the user clicks and interacts with the page, turn on the ".concat(i).concat(n?", error: ".concat(n.toString(),"."):".")},DEVICE_SECURITY_ERROR(e){let{fnName:t,deviceType:i=eM(t),error:n}=e;return"SecurityError, check whether the system security policy restricts the use of the ".concat(i,", and it is recommended to turn on the ").concat(i," after the user interacts with the page").concat(n?", error: ".concat(n.toString(),"."):".")},DEVICE_ABORT_ERROR(e){let{fnName:t,deviceType:i=eM(t),error:n}=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(n?" error: ".concat(n.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:i}=e;return"'".concat(t,"' failed, reason: ").concat(null==i?void 0:i.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:i}=e;return"video context error ".concat(t," ").concat((null==i?void 0:i.name)||""," ").concat((null==i?void 0:i.message)||"")},SERVER_ERROR(e){let{fnName:t,error:i}=e;return"'".concat(t,"' got server error: ").concat(null==i?void 0:i.toString(),", please check the SDK documentation.")},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:i}=e;return"'".concat(t,"' throw unknown exception").concat(i?", error: ".concat(i.toString(),"."):".")}});function eM(e){if(!e)return"camera";let t=e.toLowerCase();return t.includes("screen")?"screen share":t.includes("audio")?"microphone":"camera"}var tM=class extends Error{constructor(e){let{code:t,extraCode:i,message:n="",messageParams:r,fnName:o="",originError:s}=e;var a;let c;c=n||function(e){let t,{code:i,params:n,enableDocLink:r=!1}=e,s="",a=$L[i];try{t=ZL[a]}catch(o){t=ZL.UNKNOWN_ERROR}return nO(t)?s=t(n):oO(t)&&(s=t),r&&(s+=" doc:"),s}({code:i||t,params:eb({fnName:o,error:s},r)}),super(c),sb(this,"name","RtcError"),sb(this,"code"),sb(this,"extraCode"),sb(this,"functionName"),sb(this,"message"),sb(this,"handler"),sb(this,"originError"),this.name=$L[t],this.code=t,this.extraCode=i,this.functionName=o,this.originError=s,this.message=c,5302===this.extraCode&&(null==(a=this.originError)?void 0:a.message.includes("system"))&&(this.handler=()=>{let e=document.createElement("a");_k?e.href="ms-settings:privacy-".concat({startLocalVideo:"webcam",startLocalAudio:"microphone"}[this.functionName]):fk&&(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(e,t,i){let n=e;if(e instanceof Tb){let{stack:r}=e,o={code:XL.UNKNOWN_ERROR,fnName:t,originError:e};switch(e.getCode()){case fb.INVALID_PARAMETER:o.code=XL.INVALID_PARAMETER;break;case fb.INVALID_OPERATION:o.code=XL.INVALID_OPERATION;break;case fb.NOT_SUPPORTED:case fb.NOT_SUPPORTED_H264:o.code=XL.ENV_NOT_SUPPORTED,e.getCode()===fb.NOT_SUPPORTED_H264&&(o.extraCode=e.message.includes(KO.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case fb.DEVICE_NOT_FOUND:case fb.DEVICE_AUTO_RECOVER_FAILED:o.code=XL.DEVICE_ERROR;break;case fb.JOIN_ROOM_FAILED:o.messageParams={fnParams:i};case fb.SERVER_TIMEOUT:case fb.SWITCH_ROLE_FAILED:o.code=XL.SERVER_ERROR,o.extraCode=e.getExtraCode();break;case fb.API_CALL_ABORTED:o.code=XL.OPERATION_ABORT;break;case fb.INITIALIZE_FAILED:o.code=5300,o.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}(e.name);break;case fb.UNKNOWN:break;default:o.code=XL.OPERATION_FAILED}n=new tM(o),r&&(n.stack+=r.substr(r.indexOf("\n")))}else n=new tM({code:XL.UNKNOWN_ERROR,fnName:t,originError:e});return n}},iM=tM,nM={type:"object",properties:{cameraId:{type:"string"},useFrontCamera:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"},small:{properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack}}},rM={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}}},oM={type:["string",HTMLElement,null,"array"],arrayItem:{instanceOf:HTMLElement},validate(e,t,i){if(oO(e)){let n=document.getElementById(e);if(!n)throw new iM({code:XL.INVALID_PARAMETER,extraCode:5009,fnName:i,messageParams:{key:t}});if(!(n instanceof HTMLElement))throw new iM({code:XL.INVALID_PARAMETER,extraCode:5010,fnName:i,messageParams:{key:t,type:iO(n)}})}}},sM={name:"userId",required:!0,type:"string"},aM={type:"object",properties:{microphoneId:{type:"string"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:"number",min:0},earMonitorVolume:{type:"number",min:0,max:100},echoCancellation:{type:"boolean"},autoGainControl:{type:"boolean"},noiseSuppression:{type:"boolean"}}};function cM(e,t){if(!e)throw new iM({code:XL.INVALID_OPERATION,extraCode:5101,fnName:t})}function lM(e,t,i){if(!e)throw new iM({code:XL.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:i}})}var dM={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,i){if(this._room.isJoined)throw new iM({code:XL.INVALID_OPERATION,extraCode:5104,fnName:i});if(e.roomId){if(oO(e.roomId))throw new iM({code:XL.INVALID_PARAMETER,extraCode:5016,fnName:i,messageParams:{key:t}});if(!(/^[1-9]\d*$/.test(String(e.roomId))&&e.roomId<4294967295))throw new iM({code:XL.INVALID_PARAMETER,extraCode:5013,fnName:i,messageParams:{key:t}})}else{if(!e.strRoomId)throw new iM({code:XL.INVALID_PARAMETER,extraCode:5015,fnName:i});if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e.strRoomId))throw new iM({code:XL.INVALID_PARAMETER,extraCode:5012,fnName:i,messageParams:{key: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"}}},startLocalVideo:{name:"LocalVideoConfig",type:"object",properties:{view:oM,publish:{type:"boolean"},option:nM},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&rw())throw new iM({code:XL.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalVideo:{name:"updateLocalVideoConfig",type:"object",required:!0,properties:{view:tb(eb({},oM),{required:!1}),publish:{type:"boolean"},mute:{type:"boolean"},option:nM}},startLocalAudio:{name:"LocalAudioConfig",type:"object",properties:{publish:{type:"boolean"},option:aM},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&rw())throw new iM({code:XL.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:"updateLocalAudioConfig",type:"object",required:!0,properties:{publish:{type:"boolean"},mute:{type:"boolean"},option:aM}},startScreenShare:{name:"ScreenShareConfig",type:"object",properties:{view:oM,publish:{type:"boolean"},option:rM},validate(e,t,i,n,r){var o;if((null==(o=null==e?void 0:e.option)||!o.videoTrack)&&rw())throw new iM({code:XL.ENV_NOT_SUPPORTED,extraCode:5201});if(!dw())throw new iM({code:XL.ENV_NOT_SUPPORTED,fnName:i,extraCode:5205})}},updateScreenShare:{name:"updateScreenShareConfig",type:"object",required:!0,properties:{view:oM,publish:{type:"boolean"},option:rM}},muteRemoteAudio:[sM,{name:"mute",required:!0,type:"boolean"}],setRemoteAudioVolume:[sM,{name:"volume",required:!0,type:"number",min:0}],startRemoteVideo:{name:"startRemoteVideoConfig",type:"object",required:!0,properties:{view:oM,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,i){cM(this._room.isJoined,i);let n=this._room.remotePublishedUserMap.get(e.userId);if(lM(!!n,i,e),n&&("main"===e.streamType&&!n.muteState.videoAvailable||"sub"===e.streamType&&!n.muteState.hasAuxiliary))throw new iM({code:XL.INVALID_OPERATION,extraCode:5103,fnName:i,messageParams:{value:e}})}},updateRemoteVideo:{name:"updateRemoteVideoConfig",type:"object",required:!0,properties:{view:tb(eb({},oM),{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,i){cM(this._room.isJoined,i);let n=this._room.remotePublishedUserMap.get(e.userId);if(lM(!!n,i,e),n&&("main"===e.streamType&&!n.muteState.videoAvailable||"sub"===e.streamType&&!n.muteState.hasAuxiliary))throw new iM({code:XL.INVALID_OPERATION,extraCode:5103,fnName:i,messageParams:{value:e}})}},stopRemoteVideo:{name:"stopRemoteVideoConfig",type:"object",required:!0,properties:{userId:{type:"string",required:!0},streamType:{values:["main","sub"]}},validate(e,t,i){if("*"!==e.userId&&rO(e.streamType))throw new iM({code:XL.INVALID_PARAMETER,extraCode:5014,fnName:i})}},switchRole:{name:"role",required:!0,values:["anchor","audience"],validate(e,t,i){cM(this._room.isJoined,i)}},enableAudioVolumeEvaluation:[{name:"interval",type:"number"},{name:"enableInBackground",type:"boolean"}],sendSEIMessage:[{name:"buffer",required:!0,instanceOf:ArrayBuffer,validate(e,t,i,n){if(!Nw)throw new iM({code:XL.ENV_NOT_SUPPORTED,fnName:i,extraCode:5207});if(!this._room.enableSEI)throw new iM({code:XL.INVALID_OPERATION,messageParams:{key:zO.SEI_DISABLED}});if(e.byteLength>1e3)throw new iM({code:XL.INVALID_PARAMETER,messageParams:{key:zO.SEI_OVERSIZE,data:e.byteLength}});if(0===e.byteLength)throw new iM({code:XL.INVALID_PARAMETER,messageParams:{key:zO.SEI_EMPTY}});if(cM(this._room.isJoined,i),!this._room.isMainStreamPublished)throw new iM({code:XL.INVALID_PARAMETER,messageParams:{key:zO.SEI_BEFORE_PUBLISH}})}},{name:"options",type:"object",properties:{seiPayloadType:{type:"number",values:[5,243]}}}]},uM={TRTC:dM},hM=class extends Error{};function pM(e,t){let i=[];return bO(i,e),bO(i,t),i}function mM(e){this._resolve=Promise.resolve(e)}function _M(e){this._reject=Promise.reject(e)}var fM=class{constructor(e,t){this.instance=e,this.group=t,this.started=!1,this.ops=[],this.startSame=()=>!0,this.mergeUpdate=pM;let i=fM.instances.get(e);i?i.set(t,this):fM.instances.set(e,new Map([[t,this]]))}static get(e,t){let i=fM.instances.get(e);return i&&i.get(t)||new fM(e,t)}action(e,t,i){let n=t=>{var i;return 0===e?this.started=!0:3===e&&(this.started=!1),this.ops.shift(),null==(i=this.currentOp)||i.action(),t},r=t=>{var i,n;throw this.ops.shift(),0===e&&2===(null==(i=this.currentOp)?void 0:i.type)&&this.ops.shift().reject(new hM("start failed")),null==(n=this.currentOp)||n.action(),t},o={type:e,action:()=>t(...o.args).then(n,r),args:i,resolve:mM,reject:_M};try{switch(this.state){case 1:if(0===e)throw new hM("already started");break;case 4:if(2===e)throw new hM("not started");break;default:return this.cacheOp(o)}}catch(JV){return Promise.reject(JV)}return this.ops.push(o),o.promise=t(...o.args).then(n,r)}cacheOp(e){if(1===this.ops.length)switch(this.state){case 0:case 2:if(0===e.type)throw new hM("already start");break;case 3:switch(e.type){case 2:throw new hM("update not allowed when stopping");case 3:return this.currentOp.promise}break;default:throw new hM("unknown state")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new hM("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 hM("update not allowed after stop")}break;case 0:switch(this.lastOpType){case 2:throw new hM("start not allowed after update");case 0:throw new hM("duplicate start");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new hM("keep start")),new hM("already start")}}e.promise=new Promise(((t,i)=>{e._resolve?e._resolve.then(t):e.resolve=t,e._reject?e._reject.catch(i):e.reject=i}));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}},gM=fM;gM.instances=new WeakMap;var TM=new WeakMap,EM=(e,t)=>{if(t instanceof hM){let{stack:i}=t;t=new iM({code:XL.OPERATION_ABORT,message:"".concat(e," abort: ").concat(t.message),fnName:e}),i&&(t.stack+=i.substr(i.indexOf("\n")))}throw t};function SM(e,t){return nL(((i,n)=>function(){for(var r=arguments.length,o=new Array(r),s=0;sfunction(){for(var o=arguments.length,s=new Array(o),a=0;a{var a,l;let d=null==(a=TM.get(this))?void 0:a.get(i(...s));if(d){let{timeoutId:e,resolve:t}=d;clearTimeout(e),t()}let u=setTimeout((()=>{if(3===c.state||4===c.state)return n();c.action(2,t.bind(this),s).catch(EM.bind(null,r)).then(n,o)}),e);TM.has(this)?null==(l=TM.get(this))||l.set(i(...s),{timeoutId:u,resolve:n}):TM.set(this,new Map([[i(...s),{timeoutId:u,resolve:n}]]))}))}return c.action(2,t.bind(this),s).catch(EM.bind(null,r))}))}function yM(e){return nL(((t,i)=>function(){for(var n=arguments.length,r=new Array(n),o=0;o{t.startsWith(n)&&(e.started=!1)}))}}}var CM=new WeakMap;function bM(){for(var e=arguments.length,t=new Array(e),i=0;ifunction(){for(var n=arguments.length,r=new Array(n),o=0;ofunction(){for(var n=arguments.length,r=new Array(n),o=0;opO(e)?mO(e):oO(e)?e:iO(e)))},value:i}})}else if(!rO(t.type)&&iO(i)!==t.type)throw new iM(s(5002));if(!1===t.allowEmpty){let e=sO(i)&&(0===i||Number.isNaN(i)),t=oO(i)&&""===i.trim();if(e||t)throw new iM(s(5003))}if(t.notLessThanZero&&sO(i)&&i<0)throw new iM(s(5006));if(!rO(t.min)&&sO(i)&&it.max)throw new iM(s(5008));if(oO(t.instanceOf)){if(!i||i._name!==t.instanceOf)throw new iM(s(5004))}else if(nO(t.instanceOf)&&!(i instanceof t.instanceOf))throw new iM(s(5004));if(Array.isArray(t.values)&&!t.values.includes(i))throw new iM(s(5005));let{properties:a}=t;ZD(a)&&cO(i)&&Object.keys(a).forEach((e=>{DM.call(this,{rule:a[e],value:i&&i[e],key:"".concat(e),fnName:r,className:o})}));let{arrayItem:c}=t;ZD(c)&&lO(i)&&i.forEach(((e,t)=>{DM.call(this,{rule:c,value:e,key:"".concat(n,"[").concat(t,"]"),fnName:r,className:o})})),nO(t.validate)&&t.validate.call(this,i,n,r,o,this)}function OM(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{namePrefix:t=(()=>""),getRemoteId:i=(()=>"")}=e;return nL(((e,n)=>function(){for(var r=arguments.length,o=new Array(r),s=0;s0?c.info("".concat(d,"() ").concat(JSON.stringify(o,((e,t)=>a(e,t,["userSig","privateMapKey"]))))):c.info("".concat(d,"()"));try{let t=e.apply(this,o),n=gO();return hO(t)?t.then((e=>(c.info("".concat(d,"() success ").concat(i.call(this,...o))),UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:d,cost:gO()-n}),e))).catch((e=>{throw e=iM.convertFrom.call(this,e,d,1===o.length?o[0]:o),c.error("".concat(d,"() failed ").concat(i.call(this,...o)," ").concat(e," params: ").concat(JSON.stringify(o,a))),UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:d,error:e}),e})):(UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:d,cost:gO()-n}),t)}catch(h){throw h=iM.convertFrom.call(this,h,d),c.error("".concat(d,"() failed ").concat(h," params: ").concat(JSON.stringify(o,a))),UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:d,error:h}),h}}))}var wM=e=>nL(((t,i)=>function(n,r){return cb(this,null,(function*(){let o=this._plugins.get(n);if(o)return NM.call(this,o.getValidateRule(e),[r],i,"TRTC"),t.call(this,o,r);this._log.warn("plugin ".concat(n," is not found"))}))})),PM=0,LM=class{constructor(e){this.core=e,sb(this,"log"),PM+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(PM)}),this.log.info("[audioMixer] created id=".concat(this.getAlias()).concat(PM)),this.core=e}getName(){return"AudioMixer"}getAlias(){return"ax"}getGroup(e){return null==e?void 0:e.id}getValidateRule(e){switch(e){case"start":return LM.startValidateRule;case"update":return LM.updateValidateRule;case"stop":return LM.stopValidateRule}}start(e){return cb(this,null,(function*(){let{room:t}=this.core;yield t.audioManager.addMusicSource(e)}))}update(e){return cb(this,null,(function*(){let{room:t}=this.core;yield t.audioManager.updateMusicSource(e)}))}stop(e){return cb(this,null,(function*(){let{room:t}=this.core;yield t.audioManager.removeMusicSource(e)}))}},MM=LM;sb(MM,"startValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},url:{type:"string",required:!0},loop:{type:"boolean"},volume:{type:"number"}},validate(e,t,i){if("*"!==e.url){let t=["mp3","ogg","wav","flac"],n=e.url.split(".").pop(),r=t.indexOf(n)>=0,o=e.url.startsWith("blob"),s=e.url.startsWith("data");if(!(r||o||s))throw new iM({code:XL.INVALID_PARAMETER,message:"start audioMixer plugin: music url is invalid, please check your file format.",fnName:i})}}}),sb(MM,"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"]}}}),sb(MM,"stopValidateRule",{name:"options",type:"object",required:!0,properties:{id:{type:"string",required:!0}}});var xM=0,VM=class{constructor(e){this.core=e,sb(this,"log"),xM+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(xM)}),this.log.info("[audioDenoiser] created id=".concat(this.getAlias()).concat(xM))}getName(){return"AIDenoiser"}getAlias(){return"ad"}getGroup(e){return"AIDenoiser_".concat(Date.now())}getValidateRule(e){switch(e){case"start":return VM.startValidateRule;case"update":return VM.updateValidateRule;case"stop":return VM.stopValidateRule}}start(e){return cb(this,null,(function*(){let{room:t}=this.core,{assetsPath:i,sdkAppId:n,userId:r,userSig:o}=e;if(i&&!t.audioManager.isDenoiserInit)try{yield t.audioManager.initDenoiser({assetsPath:i,sdkAppId:n,userId:r,userSig:o})}catch(JV){if(JV.message)throw new Tb({code:fb.INVALID_PARAMETER,message:JV.message})}yield t.audioManager.enableDenoiser(e),t.sendAbilityStatus({ai_denoise:1})}))}update(e){return cb(this,null,(function*(){}))}stop(e){return cb(this,null,(function*(){let{room:e}=this.core;yield e.audioManager.disableDenoiser()}))}},UM=VM;sb(UM,"startValidateRule",{name:"options",required:!0,type:"object",properties:{assetsPath:{type:"string",required:!0},sdkAppId:{type:"number",required:!0},userId:{type:"string",required:!0},userSig:{type:"string",required:!0}}}),sb(UM,"updateValidateRule",{type:"object"}),sb(UM,"stopValidateRule",{type:"object"});var FM=0,BM=new Set,HM=null;sN("5.2.1");var jM=class extends mb.EventEmitter{constructor(e,t){super(),sb(this,"_room"),sb(this,"_eventListened",new Set),sb(this,"_localVideoTrack",null),sb(this,"_localAudioTrack",null),sb(this,"_localScreenTrack",null),sb(this,"_localScreenAudioTrack",null),sb(this,"_localVideoConfig",null),sb(this,"_localScreenConfig",null),sb(this,"_localAudioConfig",null),sb(this,"_remoteVideoConfigMap",new Map),sb(this,"_remoteAudioConfigMap",new Map),sb(this,"_remoteAudioMuteMap",new Map),sb(this,"_log",jO.createLogger({id:"t".concat(++FM)})),sb(this,"_plugins",new Map),sb(this,"_networkQuality",null),this._room=new e(eb({logger:this._log,frameWorkType:jM.frameWorkType},t)),t.plugins&&t.plugins.forEach((e=>{let t=new e(RM(this._room));this._plugins.set(t.getName(),t)}));let i=new MM(RM(this._room));this._plugins.set(i.getName(),i);let n=new UM(RM(this._room));this._plugins.set(n.getName(),n),this._room.on("audio-volume",(e=>{!e.find((e=>""===e.userId))&&this._localAudioTrack&&e.push({userId:"",volume:Math.floor(100*this._localAudioTrack.getAudioLevel())}),this.emit(vM.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on("error",(e=>{let{reason:t,error:i}=e;this._log.error(new iM({code:XL.OPERATION_FAILED,extraCode:5504,messageParams:{reason:t,error:i}}))})),this.on(vM.REMOTE_AUDIO_UNAVAILABLE,(e=>{let{userId:t}=e;this._stopRemoteAudio({userId:t},!1).catch((()=>{}))})),this.on(vM.REMOTE_VIDEO_UNAVAILABLE,(e=>{let{userId:t,streamType:i}=e;this._stopRemoteVideo({userId:t,streamType:i},!1).catch((()=>{}))})),IP(GP,GP).add("audioInputAdded",(e=>{this.emit(vM.DEVICE_CHANGED,{type:"microphone",action:"add",device:e})})).add("audioInputRemoved",(e=>{this.emit(vM.DEVICE_CHANGED,{type:"microphone",action:"remove",device:e})})).add("videoInputAdded",(e=>{this.emit(vM.DEVICE_CHANGED,{type:"camera",action:"add",device:e})})).add("videoInputRemoved",(e=>{this.emit(vM.DEVICE_CHANGED,{type:"camera",action:"remove",device:e})})).add("audioOutputAdded",(e=>cb(this,null,(function*(){if(this.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"add",device:e}),HM&&HM.deviceId===bD){let e=(yield KP()).find((e=>e.deviceId===bD));e&&HM.groupId!==e.groupId&&(HM=e,this.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"active",device:e}))}})))).add("audioOutputRemoved",(e=>cb(this,null,(function*(){this.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"remove",device:e});let t=(yield KP())[0];t&&HM&&(HM.deviceId===e.deviceId||HM.deviceId===bD&&HM.groupId!==t.groupId)&&(HM=t,this.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}))})))),((e,t)=>{let{emit:n}=e;e.emit=function(){for(var r=arguments.length,o=new Array(r),s=0;s{if(e){let t="UAData: ".concat(e.platform,"/").concat(e.platformVersion);e.architecture&&e.bitness&&(t+=" ".concat(e.architecture,"/").concat(e.bitness)),e.mobile&&(t+=" mobile"),e.model&&(t+=" model: ".concat(e.model)),e.fullVersionList&&(t+=" ".concat(e.fullVersionList.filter((e=>"Not/A)Brand"!==e.brand)).map((e=>"".concat(e.brand,"/").concat(e.version))).join(","))),jO.info(t)}})))}();let i=new jM(e,t||{});return BM.add(i),HM?i.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"active",device:HM}):KP().then((e=>{e[0]&&(HM=e[0],i.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"active",device:e[0]}))})),i}enterRoom(e){return cb(this,null,(function*(){var t,i;let{scene:n="rtc",enableAutoPlayDialog:r=!0,autoReceiveAudio:o=!0,autoReceiveVideo:s=!0}=e;e.proxy&&(this._room.setProxyServer(e.proxy),!oO(e.proxy)&&e.proxy.turnServer&&(null==(i=(t=this._room).setTurnServer)||i.call(t,e.proxy.turnServer,e.proxy.iceTransportPolicy))),this._room.enableAutoPlayDialog=r,this._room.autoReceiveAudio=o,this._room.autoReceiveVideo=s,aO(e.enableHWEncoder)&&(this._room.enableHWEncoder=e.enableHWEncoder);let a={sdkAppId:e.sdkAppId,userId:e.userId,userSig:e.userSig,privateMapKey:e.privateMapKey||null,role:"audience"===e.role?21:20,roomId:e.roomId||0,strRoomId:e.strRoomId||"",businessInfo:e.businessInfo||null,streamId:null,userDefineRecordId:e.userDefineRecordId||null,frameWorkType:e.frameWorkType,component:e.component,language:e.language};e.strRoomId&&!e.roomId&&(this._room.useStringRoomId=!0),IP(this,this._room).add("peer-join",(e=>{let{userId:t}=e;this.emit(vM.REMOTE_USER_ENTER,{userId:t})})).add("peer-leave",(e=>{this.emit(vM.REMOTE_USER_EXIT,{userId:e})})).add("banned",(e=>{this._exitRoom().then((()=>{this.emit(vM.KICKED_OUT,{reason:e.reason})}))})).add("error",(e=>{this._exitRoom().then((()=>{this.emit(vM.ERROR,iM.convertFrom(e))}))})).add("signal-connection-state-changed",(e=>{this.emit(vM.CONNECTION_STATE_CHANGED,e)})).add("network-quality",(e=>{this._networkQuality=e,this.emit(vM.NETWORK_QUALITY,e)})).add("remote-published",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{IP(t,t).add("player-state-changed",(i=>{let n=tb(eb({},i),{userId:e.userId});t.kind===MN.VIDEO&&(n.streamType=function(e){return"sub"===e?"auxiliary":"auxiliary"===e?"sub":"main"}(t.streamType)),this.emit(t.kind===MN.AUDIO?vM.AUDIO_PLAY_STATE_CHANGED:vM.VIDEO_PLAY_STATE_CHANGED,n)})).add("error",(e=>{e.getCode()===fb.PLAY_NOT_ALLOWED&&this.emit(vM.AUTOPLAY_FAILED,{userId:t.userId})}))}))})).add("remote-unpublished",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{yP(e)}))})).add("remote-publish-state-changed",(e=>{let{prevMuteState:t,muteState:i}=e,{userId:n}=i;this._room.remotePublishedUserMap.get(n);let r=t.audioAvailable,o=t.videoAvailable,{audioAvailable:s,videoAvailable:a}=i;s||this._remoteAudioConfigMap.delete(n),a||this._remoteVideoConfigMap.delete("".concat(n,"_","main")),i.hasAuxiliary||this._remoteVideoConfigMap.delete("".concat(n,"_","sub")),r!==s&&this.emit(s?vM.REMOTE_AUDIO_AVAILABLE:vM.REMOTE_AUDIO_UNAVAILABLE,{userId:n}),o!==a&&this.emit(a?vM.REMOTE_VIDEO_AVAILABLE:vM.REMOTE_VIDEO_UNAVAILABLE,{userId:n,streamType:"main"}),t.hasAuxiliary!==i.hasAuxiliary&&this.emit(i.hasAuxiliary?vM.REMOTE_VIDEO_AVAILABLE:vM.REMOTE_VIDEO_UNAVAILABLE,{userId:n,streamType:"sub"})})).add("firewall-restriction",(()=>{this.emit(vM.ERROR,new iM({code:XL.OPERATION_FAILED,extraCode:5501}))})).add("sei-message",(e=>{this.emit(vM.SEI_MESSAGE,e)})).add("heartbeat-report",(e=>{var t,i,n,r,o,s,a;let c={2:"big",3:"small",7:"sub"},l={rtt: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==(i=this._networkQuality)?void 0:i.uplinkRTT)||(null==(n=this._networkQuality)?void 0:n.downlinkRTT)||0,upLoss:(null==(r=this._networkQuality)?void 0:r.uplinkLoss)||0,downLoss:(null==(o=this._networkQuality)?void 0:o.downlinkLoss)||0,bytesSent:e.bytes_sent||0,bytesReceived:e.bytes_received||0,localStatistics:{audio:{bitrate:((null==(s=e.msg_up_stream_info.msg_audio_status)?void 0:s.uint32_audio_codec_bitrate)||0)/1e3,audioLevel:((null==(a=e.msg_up_stream_info.msg_audio_status)?void 0:a.uint32_audio_level)||0)/UD},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)/UD},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]})))})))};this.emit(vM.STATISTICS,l)})),this._handleReceiveMode(),yield this._room.join(a,n,jM.frameWorkType),this._checkTrackToPublish()}))}exitRoom(){return cb(this,null,(function*(){return yield this._exitRoom()}))}switchRole(e){return cb(this,null,(function*(){yield this._room.switchRole(e),"anchor"===e&&this._checkTrackToPublish()}))}destroy(){yP(GP),this.removeAllListeners(),this._room.destroy(),BM.delete(this),this._localAudioTrack&&this.stopLocalAudio(),this._localVideoTrack&&this.stopLocalVideo(),this._localScreenTrack&&this.stopScreenShare()}startLocalAudio(){return cb(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:i=!0,option:n}=t,r=new sL(e._room.audioManager),o={},s={muted:!0};n&&(rO(n.microphoneId)?rO(n.audioTrack)||(o.customSource=n.audioTrack):o.deviceId=n.microphoneId,n&&sO(n.captureVolume)&&r.setCaptureVolume(n.captureVolume),rO(n.profile)||(oO(n.profile)?wN[n.profile]&&r.setProfile(wN[n.profile]):r.setProfile(n.profile)),sO(n.earMonitorVolume)&&(s.muted=!(n.earMonitorVolume>0),s.volume=n.earMonitorVolume),rO(n.echoCancellation)||(r.profile.echoCancellation=n.echoCancellation),rO(n.noiseSuppression)||(r.profile.noiseSuppression=n.noiseSuppression),rO(n.autoGainControl)||(r.profile.autoGainControl=n.autoGainControl)),r.on("5",(t=>{e.emit(vM.ERROR,new iM({code:XL.DEVICE_ERROR,extraCode:5309,messageParams:{error:t}}))})),r.on("2",(t=>{e.emit(vM.DEVICE_CHANGED,{type:"microphone",action:"active",device:t})})),r.on("4",(t=>{let i;t.error&&(i=iM.convertFrom(t.error)),e.emit(vM.PUBLISH_STATE_CHANGED,tb(eb({},t),{error:i}))})),yield r.capture(o),IP(r,r).add("player-state-changed",(t=>{e.emit(vM.AUDIO_PLAY_STATE_CHANGED,tb(eb({},t),{userId:""}))})),i&&e._room.isJoined&&e._room.publish(r).catch((()=>{})),yield e._updateAudioPlayOption({playOption:s,track:r}),e._localAudioTrack=r,e._localAudioConfig=tb(eb({},t),{publish:i})}()}))}updateLocalAudio(e){return cb(this,null,(function*(){if(!this._localAudioTrack||!this._localAudioConfig)return;let{publish:t,mute:i,option:n}=e,r={};n&&(n.microphoneId?yield this._localAudioTrack.switchDevice(n.microphoneId):rO(n.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(n.audioTrack)),rO(n.captureVolume)||this._localAudioTrack.setCaptureVolume(n.captureVolume),rO(n.earMonitorVolume)||(r.muted=!(n.earMonitorVolume>0),r.volume=n.earMonitorVolume),yield this._localAudioTrack.update3A(n)),this._room.isJoined&&!rO(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),rO(i)||this._localAudioTrack.setMute(i),yield this._updateAudioPlayOption({playOption:r,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),bO(this._localAudioConfig,e)}))}stopLocalAudio(){return cb(this,null,(function*(){!this._localAudioTrack||(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),this._localAudioTrack.stop(),this._localAudioTrack.close(),yP(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null)}))}startLocalVideo(){return cb(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._localVideoTrack)return void e._log.warn("local video is already started");let{view:i,publish:n=!0,option:r}=t,o=new aL(e._room.videoManager),s={},a={};if(r&&(r.cameraId?s.deviceId=r.cameraId:rO(r.useFrontCamera)?rO(r.videoTrack)||(s.customSource=r.videoTrack):s.facingMode=r.useFrontCamera?MN.FACING_MODE_USER:MN.FACING_MODE_ENVIRONMENT,rO(r.profile)||(oO(r.profile)?PN[r.profile]&&o.setProfile(PN[r.profile]):o.setProfile(r.profile)),rO(r.fillMode)||(a.objectFit=r.fillMode),rO(r.mirror)||(a.mirror=r.mirror),rO(r.small)||(gw()?oO(r.small)?o.small=PN[r.small]:o.small=r.small:e._log.warn("small stream is not supported"))),o.on("5",(t=>{e.emit(vM.ERROR,new iM({code:XL.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),o.on("2",(t=>{e.emit(vM.DEVICE_CHANGED,{type:"camera",action:"active",device:t})})),o.on("4",(t=>{let i;t.error&&(i=iM.convertFrom(t.error)),e.emit(vM.PUBLISH_STATE_CHANGED,tb(eb({},t),{error:i}))})),yield o.capture(s),(null==r?void 0:r.qosPreference)&&o.mediaTrack){let e=AM(r.qosPreference);o.mediaTrack.contentHint=e}IP(o,o).add("player-state-changed",(t=>{e.emit(vM.VIDEO_PLAY_STATE_CHANGED,tb(eb({},t),{userId:"",streamType:"main"}))})),n&&e._room.isJoined&&e._room.publish(o).catch((()=>{})),yield e._updateVideoPlayOption({view:i,playOption:a,track:o}),e._localVideoTrack=o,e._localVideoConfig=tb(eb({},t),{view:i,publish:n})}()}))}updateLocalVideo(e){return cb(this,null,(function*(){if(!this._localVideoTrack||!this._localVideoConfig)return;let{view:t,publish:i,mute:n,option:r}=e,o={};if(r&&(rO(r.profile)||(oO(r.profile)?PN[r.profile]&&this._localVideoTrack.setProfile(PN[r.profile]):this._localVideoTrack.setProfile(r.profile),(!r.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(r.cameraId))&&rO(r.useFrontCamera)&&this._localVideoTrack.applyProfile()),r.cameraId?yield this._localVideoTrack.switchDevice(r.cameraId):rO(r.useFrontCamera)?rO(r.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(r.videoTrack)):yield this._localVideoTrack.switchDevice(r.useFrontCamera?MN.FACING_MODE_USER:MN.FACING_MODE_ENVIRONMENT),rO(r.fillMode)||(o.objectFit=r.fillMode),rO(r.mirror)||(o.mirror=r.mirror),r.qosPreference&&this._localVideoTrack.mediaTrack)){let e=AM(r.qosPreference);this._localVideoTrack.mediaTrack.contentHint=e}this._room.isJoined&&!rO(i)&&(i&&!this._localVideoConfig.publish&&this._room.publish(this._localVideoTrack).catch((()=>{})),this._localVideoConfig.publish&&!i&&this._room.unpublish(this._localVideoTrack).catch((()=>{}))),rO(n)||this._localVideoTrack.setMute(n),yield this._updateVideoPlayOption({view:t,playOption:o,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),bO(this._localVideoConfig,e)}))}stopLocalVideo(){return cb(this,null,(function*(){!this._localVideoTrack||(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),yP(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return cb(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:i=null,publish:n=!0,option:r}=t,o=new lL(e._room.videoManager);o.on("4",(t=>{let i;t.error&&(i=iM.convertFrom(t.error)),e.emit(vM.PUBLISH_STATE_CHANGED,tb(eb({},t),{error:i}))}));let s=null;o.setMediaType(2);let a={},c={};r&&(rO(r.profile)||(oO(r.profile)?LN[r.profile]&&o.setProfile(LN[r.profile]):o.setProfile(r.profile)),r.systemAudio&&(a.systemAudio=!0,a.echoCancellation=r.echoCancellation,a.noiseSuppression=r.noiseSuppression,a.autoGainControl=r.autoGainControl),rO(r.fillMode)||(c.objectFit=r.fillMode),r.videoTrack&&(a.videoTrack=r.videoTrack),r.audioTrack&&(a.audioTrack=r.audioTrack));let l=yield o.capture(a);if(null!=r&&r.qosPreference){let e=AM(r.qosPreference);o.mediaTrack.contentHint=e}if(o.mediaTrack.addEventListener(MN.ENDED,(()=>{e._stopScreenShare(),e.emit(vM.SCREEN_SHARE_STOPPED)})),l.getAudioTracks()[0]&&(s=new dL(e._room.audioManager),s.setInputMediaStreamTrack(l.getAudioTracks()[0])),IP(o,o).add("player-state-changed",(t=>{e.emit(vM.VIDEO_PLAY_STATE_CHANGED,tb(eb({},t),{userId:"",streamType:"sub"}))})),n&&e._room.isJoined){let t=[o];s&&t.push(s),e._room.publish(...t).catch((()=>{}))}yield e._updateVideoPlayOption({view:i,playOption:c,track:o}),e._localScreenTrack=o,e._localScreenAudioTrack=s,e._localScreenConfig=tb(eb({},t),{view:i,publish:n})}()}))}updateScreenShare(e){return cb(this,null,(function*(){if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:t,publish:i,option:n}=e,r={};if(n&&(rO(n.fillMode)||(r.objectFit=n.fillMode),n.qosPreference)){let e=AM(n.qosPreference);this._localScreenTrack.mediaTrack.contentHint=e}this._room.isJoined&&!rO(i)&&(i&&!this._localScreenConfig.publish&&this._room.publish(this._localScreenTrack).catch((()=>{})),this._localScreenConfig.publish&&!i&&this._room.unpublish(this._localScreenTrack).catch((()=>{}))),yield this._updateVideoPlayOption({view:t,playOption:r,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),bO(this._localScreenConfig,e)}))}stopScreenShare(){return cb(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return cb(this,null,(function*(){let{view:t,userId:i,streamType:n,option:r}=e,o="".concat(i,"_").concat(n);if(this._remoteVideoConfigMap.has(o))return void this._log.warn("remote video has already started. userId:".concat(i,", streamType:").concat(n));let s=this._room.remotePublishedUserMap.get(i);if(!s)return;let a={},c="main"===n?s.remoteVideoTrack:s.remoteAuxiliaryTrack;r&&(rO(r.fillMode)||(a.objectFit=r.fillMode),rO(r.mirror)||(a.mirror=r.mirror),"main"===n&&!rO(r.small)&&this._room.changeType(r.small,c.user)),yield this._room.subscribe(c),yield this._updateVideoPlayOption({view:t,playOption:a,track:c}),this._remoteVideoConfigMap.set(o,e)}))}updateRemoteVideo(e){return cb(this,null,(function*(){let{view:t,userId:i,streamType:n,option:r}=e,o="".concat(i,"_").concat(n);if(!this._remoteVideoConfigMap.has(o)||!this._room.remotePublishedUserMap.has(i))return;let s={};r&&(rO(r.fillMode)||(s.objectFit=r.fillMode),rO(r.mirror)||(s.mirror=r.mirror));let a=null,c=this._room.remotePublishedUserMap.get(i);"main"===n&&(null==c?void 0:c.muteState.hasVideo)&&(a=c.remoteVideoTrack),"sub"===n&&(null==c?void 0:c.muteState.hasAuxiliary)&&(a=c.remoteAuxiliaryTrack);let l=this._remoteVideoConfigMap.get(o);a&&("main"===n&&r&&!rO(r.small)&&this._room.changeType(r.small,a.user),yield this._updateVideoPlayOption({view:t,playOption:s,track:a,prevConfig:l})),bO(l,e)}))}stopRemoteVideo(e){return cb(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return cb(this,null,(function*(){let i=[],n=this._room.remotePublishedUserMap.get(e.userId);if(n){let{muteState:t,remoteVideoTrack:r,remoteAuxiliaryTrack:o}=n;"main"===e.streamType&&(r.stop(),t.hasVideo&&i.push(r)),"sub"===e.streamType&&(o.stop(),t.hasAuxiliary&&i.push(o))}for(let e of i)t&&(yield this._room.unsubscribe(e));this._remoteVideoConfigMap.delete("".concat(e.userId,"_").concat(e.streamType))}))}muteRemoteAudio(e,t){return cb(this,null,(function*(){if("*"===e)if(t)yield this._stopRemoteAudio({userId:e});else{let e=[...this._room.remotePublishedUserMap.values()];for(let t of e)t.muteState.hasAudio&&(yield this._startRemoteAudio({userId:t.userId}))}else t?yield this._stopRemoteAudio({userId:e}):yield this._startRemoteAudio({userId:e});this._remoteAudioMuteMap.set(e,t)}))}setRemoteAudioVolume(e,t){if("*"===e){let e=[...this._room.remotePublishedUserMap.values()];for(let i of e)this._updateAudioPlayOption({playOption:{volume:t},track:i.remoteAudioTrack})}else if(e){let i=this._room.remotePublishedUserMap.get(e);i&&this._updateAudioPlayOption({playOption:{volume:t},track:i.remoteAudioTrack})}}startPlugin(e,t){return cb(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return cb(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return cb(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,i){return super.on(e,t,i),this._eventListened.add(e),this}off(e,t,i){return"*"===e?(this._eventListened.clear(),this.removeAllListeners()):super.off(e,t,i),this}getVideoTrack(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},{userId:t="",streamType:i="main"}=e;if(""===t){if("main"===i&&this._localVideoTrack)return this._localVideoTrack.mediaTrack;if("sub"===i&&this._localScreenTrack)return this._localScreenTrack.mediaTrack}else{let e=this._room.remotePublishedUserMap.get(t);if(e)return"main"===i?e.remoteVideoTrack.mediaTrack:e.remoteAuxiliaryTrack.mediaTrack}return null}getAudioTrack(e){if(e){let t=this._room.remotePublishedUserMap.get(e);if(t)return t.remoteAudioTrack.mediaTrack}else if(this._localAudioTrack)return this._localAudioTrack.mediaTrack;return null}setCurrentSpeaker(e){var t;null==(t=this._localAudioTrack)||t.setAudioOutput(e),this._room.remotePublishedUserMap.forEach((t=>t.remoteAudioTrack.setAudioOutput(e)))}_startRemoteAudio(e){return cb(this,null,(function*(){let{userId:t,option:i}=e;if(this._remoteAudioConfigMap.has(t))return void this._log.warn("remote audio has already started. userId:".concat(t));let n=this._room.remotePublishedUserMap.get(t);if(!n)return;let r={};i&&(rO(i.volume)||(r.volume=i.volume));let o=n.remoteAudioTrack;yield this._room.subscribe(o),yield this._updateAudioPlayOption({playOption:r,track:o}),this._remoteAudioConfigMap.set(t,e)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return cb(this,null,(function*(){let i=this._room.remotePublishedUserMap.get(e.userId);i&&(i.remoteAudioTrack.stop(),i.muteState.hasAudio&&t&&(yield this._room.unsubscribe(i.remoteAudioTrack))),this._remoteAudioConfigMap.delete("".concat(e.userId))}))}_updateVideoPlayOption(e){return cb(this,arguments,(function(e){let{view:t,playOption:i,track:n,prevConfig:r}=e;return function*(){if(rO(t)&&r&&r.view&&!IO(i)){let e;e=lO(r.view)?r.view:kO(r.view),e&&(yield n.play(e,i))}if(!rO(t)){let e;e=lO(t)?t:kO(t),e?yield n.play(e,i):n.stop()}}()}))}_updateAudioPlayOption(e){return cb(this,arguments,(function(e){let{playOption:t={},track:i,prevConfig:n}=e;return function*(){if(!i.isPlayCalled)try{yield i.play(null,t)}catch(lN){}rO(t.muted)||i.setPlayerMute(t.muted),rO(t.volume)||i.setAudioVolume(t.volume/100)}()}))}_checkTrackToPublish(){var e,t,i;let n=[];if((null==(e=this._localAudioConfig)?void 0:e.publish)&&this._localAudioTrack&&n.push(this._localAudioTrack),(null==(t=this._localVideoConfig)?void 0:t.publish)&&this._localVideoTrack&&n.push(this._localVideoTrack),null!=(i=this._localScreenConfig)&&i.publish&&(this._localScreenTrack&&n.push(this._localScreenTrack),this._localScreenAudioTrack&&n.push(this._localScreenAudioTrack)),0!==n.length)return this._room.publish(...n).catch((()=>{}))}_handleReceiveMode(){this._room.autoReceiveAudio&&IP(this,this).add(vM.REMOTE_AUDIO_AVAILABLE,(e=>cb(this,[e],(function(e){var t=this;let{userId:i}=e;return function*(){if(t._remoteAudioMuteMap.get("*")||t._remoteAudioMuteMap.get(i))return;let e=t._room.remotePublishedUserMap.get(i);e&&(yield t._room.subscribe(e.remoteAudioTrack).catch((()=>{})),yield t._updateAudioPlayOption({track:e.remoteAudioTrack}).catch((()=>{})),t._remoteAudioConfigMap.set(i,{userId:i}))}()})))),this._room.autoReceiveVideo&&IP(this,this).add(vM.REMOTE_VIDEO_AVAILABLE,(e=>{let{userId:t,streamType:i}=e,n=this._room.remotePublishedUserMap.get(t);n&&("main"===i?this._room.subscribe(n.remoteVideoTrack).catch((()=>{})):"sub"===i&&this._room.subscribe(n.remoteAuxiliaryTrack).catch((()=>{})))}))}_exitRoom(){return cb(this,null,(function*(){this._room.isJoined&&(yield this._room.leave()),[...this._remoteAudioConfigMap.keys()].forEach((e=>{this._stopRemoteAudio({userId:e}).catch()})),[...this._remoteVideoConfigMap.keys()].forEach((e=>{let t=e.includes("main")?"main":"sub",i=e.split("_".concat(t))[0];i&&this._stopRemoteVideo({userId:i,streamType:t}).catch()})),this._remoteVideoConfigMap.clear(),this._remoteAudioConfigMap.clear(),this._remoteAudioMuteMap.clear(),this._room.remotePublishedUserMap.forEach((e=>{yP(e.remoteAudioTrack),yP(e.remoteVideoTrack),yP(e.remoteAuxiliaryTrack)})),yP(this)}))}_stopScreenShare(){return cb(this,null,(function*(){var e,t,i;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(),null==(t=this._localScreenAudioTrack)||t.stop(),null==(i=this._localScreenAudioTrack)||i.close(),yP(this._localScreenTrack),this._localScreenTrack=null,this._localScreenAudioTrack=null,this._localScreenConfig=null}}))}sendSEIMessage(e,t){this._room.sendSEI(e,t||{seiPayloadType:243})}static setLogLevel(e,t){jO.setLogLevel(e),rO(t)||(t?jO.enableUploadLog():jO.disableUploadLog())}static isSupported(){return cw()}static getCameraList(){return zP()}static getMicrophoneList(){return JP()}static getSpeakerList(){return KP()}static setCurrentSpeaker(e){return cb(this,null,(function*(){(yield KP()).forEach((t=>{t.deviceId===e&&(BM.forEach((i=>{i.setCurrentSpeaker(e),i.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"active",device:t})})),HM=t)}))}))}},GM=jM;sb(GM,"_loggerManager",jO),sb(GM,"EVENT",vM),sb(GM,"ERROR_CODE",XL),sb(GM,"TYPE",QL),sb(GM,"frameWorkType",30),ob([bM(uM.TRTC.enterRoom),SM("room",((e,t)=>{let[i]=e,[n]=t;return(i.roomId||i.strRoomId)===(n.roomId||n.strRoomId)&&i.userId===n.userId&&i.sdkAppId===n.sdkAppId})),nL((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t).catch((e=>{throw yP(this),e}))})),OM()],GM.prototype,"enterRoom",1),ob([OM()],GM.prototype,"exitRoom",1),ob([bM(uM.TRTC.switchRole),IM("room",{merge:(e,t)=>t}),OM()],GM.prototype,"switchRole",1),ob([OM()],GM.prototype,"destroy",1),ob([bM(uM.TRTC.startLocalAudio),SM("audio",((e,t)=>{let[i]=e,[n]=t;var r,o;return(null==(r=null==i?void 0:i.option)?void 0:r.microphoneId)===(null==(o=null==n?void 0:n.option)?void 0:o.microphoneId)})),OM()],GM.prototype,"startLocalAudio",1),ob([bM(uM.TRTC.updateLocalAudio),IM("audio",{debounce:{delay:200,getKey:()=>"".concat(FM,"-localAudio"),isNeedToDebounce:e=>{var t;return!rO(null==(t=e.option)?void 0:t.captureVolume)}}}),OM()],GM.prototype,"updateLocalAudio",1),ob([yM("audio"),OM()],GM.prototype,"stopLocalAudio",1),ob([bM(uM.TRTC.startLocalVideo),SM("video",((e,t)=>{let[i]=e,[n]=t;var r,o;return(null==(r=null==i?void 0:i.option)?void 0:r.cameraId)===(null==(o=null==n?void 0:n.option)?void 0:o.cameraId)})),OM()],GM.prototype,"startLocalVideo",1),ob([bM(uM.TRTC.updateLocalVideo),IM("video"),OM()],GM.prototype,"updateLocalVideo",1),ob([yM("video"),OM()],GM.prototype,"stopLocalVideo",1),ob([bM(uM.TRTC.startScreenShare),SM("screen",(()=>!0)),OM()],GM.prototype,"startScreenShare",1),ob([bM(uM.TRTC.updateScreenShare),IM("screen"),OM()],GM.prototype,"updateScreenShare",1),ob([OM()],GM.prototype,"stopScreenShare",1),ob([bM(uM.TRTC.startRemoteVideo),SM((e=>"v".concat(e.userId).concat(e.streamType)),(()=>!0)),OM({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],GM.prototype,"startRemoteVideo",1),ob([bM(uM.TRTC.updateRemoteVideo),IM((e=>"v".concat(e.userId).concat(e.streamType))),OM({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],GM.prototype,"updateRemoteVideo",1),ob([bM(uM.TRTC.stopRemoteVideo),nL((e=>function(t){return cb(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)}))})),OM({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],GM.prototype,"stopRemoteVideo",1),ob([yM((e=>"v".concat(e.userId).concat(e.streamType)))],GM.prototype,"_stopRemoteVideo",1),ob([bM(...uM.TRTC.muteRemoteAudio),OM({getRemoteId:e=>e})],GM.prototype,"muteRemoteAudio",1),ob([kM(...uM.TRTC.setRemoteAudioVolume),function(e,t){return nL(((i,n)=>function(){for(var n=arguments.length,r=new Array(n),o=0;o0&&clearTimeout(c);let l=window.setTimeout((()=>{i.apply(this,r)}),e);CM.has(this)?null==(a=CM.get(this))||a.set(t(...r),l):CM.set(this,new Map([[t(...r),l]]))}))}(200,(e=>e)),OM({getRemoteId:e=>e})],GM.prototype,"setRemoteAudioVolume",1),ob([wM("start"),SM(((e,t)=>e.getAlias()+e.getGroup(t))),OM({namePrefix:e=>e.getName()})],GM.prototype,"startPlugin",1),ob([wM("update"),IM(((e,t)=>e.getAlias()+e.getGroup(t))),OM({namePrefix:e=>e.getName()})],GM.prototype,"updatePlugin",1),ob([wM("stop"),yM(((e,t)=>e.getAlias()+e.getGroup(t))),OM({namePrefix:e=>e.getName()})],GM.prototype,"stopPlugin",1),ob([kM(...uM.TRTC.enableAudioVolumeEvaluation)],GM.prototype,"enableAudioVolumeEvaluation",1),ob([SM((e=>"a".concat(e.userId)),(()=>!0))],GM.prototype,"_startRemoteAudio",1),ob([nL((e=>function(t){return cb(this,null,(function*(){return"*"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio(tb(eb({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),yM((e=>"a".concat(e.userId)))],GM.prototype,"_stopRemoteAudio",1),ob([yM("room")],GM.prototype,"_exitRoom",1),ob([yM("screen")],GM.prototype,"_stopScreenShare",1),ob([bM(uM.TRTC.sendSEIMessage),function(e){let{timesInSecond:t,maxSizeInSecond:i,getSize:n}=e;return nL(((e,r)=>{let o=new Map;return UO.on(BO.ROOM_DESTROY,(e=>{let{room:t}=e;return o.delete(t)})),function(){let s=o.get(this);for(var a=arguments.length,c=new Array(a),l=0;l1e3&&(s.timestamp=Date.now(),s.callCountInSecond=0,s.totalSizeInSecond=0),n&&(s.totalSizeInSecond+=n(...c)),0!==s.timestamp&&Date.now()-s.timestamp<1e3&&(s.callCountInSecond>=t||s.totalSizeInSecond>i))throw new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.CALL_FREQUENCY_LIMIT,data:{isTimes:s.callCountInSecond>=t,isSize:s.totalSizeInSecond>i,name:r,timesInSecond:t,maxSizeInSecond:i}})});s.callCountInSecond++,e.call(this,...c)}}))}({timesInSecond:30,maxSizeInSecond:8e3,getSize:function(){for(var e=arguments.length,t=new Array(e),i=0;i0&&this.room.enableSPC&&(this.keepAlive=!0,Dx.add(this)),this.url=e.url,this.backupUrl=e.backupUrl,this._seq=0,this._log=jO.createLogger({id:"ws",userId:this.userId,sdkAppId:this.sdkAppId})}get urlParam(){return"?sdkAppId=".concat(encodeURIComponent(this.sdkAppId),"&userId=").concat(encodeURIComponent(this.userId),"&userSig=").concat(encodeURIComponent(this.userSig),"&keepAlive=").concat(encodeURIComponent(Number(this.keepAlive)))}get _urlWithParam(){return"".concat(this.url).concat(this.urlParam)}get _backupUrlWithParam(){return"".concat(this.backupUrl).concat(this.urlParam)}get isConnected(){return this._currentState===tx}get isConnecting(){return this._currentState===ex}get sdkAppId(){return this.room.sdkAppId}get userId(){return this.room.userId}get userSig(){return this.room.userSig}get isOnline(){return this._currentState===tx&&Date.now()-this._lastMessageTime<12e3}connect(e){return this.isConnected?Promise.resolve():new Promise(((t,i)=>{this._prevTime<0&&(this._prevTime=gO()),this._log.info("connect to ".concat(this.url).concat(e?" timeout: ".concat(e):""," keepAlive: ").concat(Number(this.keepAlive))),this.emitConnectionStateChanged(ex),this._socket=new WebSocket(this._urlWithParam),this.bindSocket(this._socket),this._backupTimer=setTimeout((()=>{this.isConnected||(this._log.info("trying to connect to backupUrl"),this.tryConnectBackup())}),5e3);let n=-1;e&&(n=setTimeout((()=>{this.close(),i(new Tb({code:fb.JOIN_ROOM_FAILED,message:"join room timeout"}))}),e)),this.once(XM,(()=>{clearTimeout(n),t()})),this.once($M,(e=>{clearTimeout(n),i(e)}))}))}tryConnectBackup(){this._backupSocket||(this.unbindAndCloseSocket(MN.MAIN),this._log.debug("try to connect to url: ".concat(this._backupUrlWithParam)),this._backupSocket=new WebSocket(this._backupUrlWithParam),this.bindSocket(this._backupSocket))}bindSocket(e){e.onopen=this.onopen.bind(this),e.onclose=this.onclose.bind(this),e.onerror=this.onerror.bind(this),e.onmessage=this.onmessage.bind(this)}unbindSocket(e){this.clearBackupTimer(),e.onopen=()=>{},e.onclose=()=>{},e.onerror=()=>{},e.onmessage=()=>{}}unbindAndCloseSocket(e){if(e===MN.MAIN){if(this._socket){this.unbindSocket(this._socket);try{this._socket.close(1e3)}catch(aD){}this._socket=null}}else if(this._backupSocket){this.unbindSocket(this._backupSocket);try{this._backupSocket.close(1e3)}catch(aD){}this._backupSocket=null}}clearBackupTimer(){-1!==this._backupTimer&&(clearTimeout(this._backupTimer),this._backupTimer=-1)}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}onopen(e){this.isConnected||(this.isReconnecting&&!this._signalInfo.tinyId&&this.stopReconnection(),this.clearBackupTimer(),e.target===this._socket?(this.unbindAndCloseSocket(MN.BACKUP),this._socketInUse=this._socket):(this.unbindAndCloseSocket(MN.MAIN),this._socketInUse=this._backupSocket),this.emitConnectionStateChanged(tx),this.emit(XM))}onclose(e){let{url:t}=e.target,i=e.target===this._socketInUse;if(this._log.info("websocket[".concat(t," InUse: ").concat(i,"] is closed with code: ").concat(e.code)),i&&(this.emitConnectionStateChanged(ZM),!e.wasClean||1e3!==e.code)){this._log.warn("onclose code:".concat(e.code," reason:").concat(e.reason)),this._log.warn("close current websocket and schedule a reconnect timeout"),this._socketInUse.onclose=()=>{},this._socketInUse.close(4011);let t=this._socketInUse===this._socket;this._socket=null,this._backupSocket=null,this._socketInUse=null,this.reconnect(t?MN.BACKUP:MN.MAIN)}}onerror(e){let{url:t}=e.target;if(this._log.error("websocket[".concat(t,"] error observed")),this.isConnected){if(e.target===this._socketInUse){this.unbindAndCloseSocket(MN.MAIN),this.unbindAndCloseSocket(MN.BACKUP);let e=this._socketInUse===this._socket;this._socketInUse=null,this.reconnect(e?MN.BACKUP:MN.MAIN)}}else this.isReconnecting||UO.emit(BO.API_SUCCESS_RATE,{room:this.room,apiName:"WebsocketConnect",error:new Error("ws onerror")}),e.target==this._socket?(this.unbindAndCloseSocket(MN.MAIN),this.reconnect(MN.BACKUP)):(this.unbindAndCloseSocket(MN.BACKUP),this.reconnect(MN.MAIN))}onmessage(e){if(!this.isConnected)return;this._lastMessageTime=Date.now(),this.bytesReceived+=PO(e.data);let t=JSON.parse(e.data),{cmd:i,data:n}=t,r=Object.values(ix),o=Object.keys(ix)[r.indexOf(i)],s=rx[o];switch(nx.includes(i)||(this._log.debug("received ".concat(i," msg: ").concat(e.data)),s&&this._log.info("Received event: [ ".concat(s," ]"))),i){case ix.CHANNEL_SETUP_RESULT:if(0===t.code)this._signalInfo.clientIp=n.clientIp,this._signalInfo.signalIp=n.signalInnerIp,this._signalInfo.tinyId=t.tinyId,n.svrTime&&function(e){Eb=e-(new Date).getTime();let t=new Date;t.setTime(e),jO.info("baseTime from server: ".concat(t," offset: ").concat(Eb))}(n.svrTime),this._log.info("ChannelSetup Success"),UO.emit(BO.API_SUCCESS_RATE,{room:this.room,apiName:"WebsocketConnect",cost:gO()-this._prevTime}),this._prevTime=-1,this.emit(qM,{signalInfo:this._signalInfo});else{let e=new Tb({code:fb.SIGNAL_CHANNEL_SETUP_FAILED,extraCode:t.code,message:QO({key:zO.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:t.code,errorMsg:t.message}})});this._log.error("".concat(t.code,", ").concat(t.message)),this.close(),UO.emit(BO.API_SUCCESS_RATE,{room:this.room,apiName:"WebsocketConnect",error:e}),this.emit(YM,e)}break;case ix.JOIN_ROOM_RESULT:0===t.code&&(this._signalInfo.relayIp=n.relayOuterIp,this._signalInfo.relayInnerIp=n.relayInnerIp,this._signalInfo.relayPort=n.relayPort,this._log.info("signalIp:".concat(this._signalInfo.signalIp," clientIp:").concat(this._signalInfo.clientIp," relayIp: ").concat(this._signalInfo.relayIp))),this.emit(s,{data:t});break;case ix.CHANNEL_RECONNECT_RESULT:0===t.code?(this._log.warn("reconnect success"),this.stopReconnection(),UO.emit(BO.API_SUCCESS_RATE,{room:this.room,apiName:"WebsocketReconnect",cost:gO()-this._prevTime}),this._prevTime=-1,this.room.syncUserList(),this.room.checkConnectionsToReconnect()):(this._log.warn("reconnect failed, ".concat(t.code," ").concat(t.message)),this.room.reJoin());break;default:this.emit(s,{data:t})}}reconnect(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:MN.MAIN;if(!this.room.isJoined&&this.keepAlive)return void this.close();if(this.isReconnecting)return;if(this._reconnectionCount>=cD){this._log.warn("SDK has tried reconnect signal channel for ".concat(cD," times, but all failed. please check your network"));let e=new Tb({code:fb.SIGNAL_CHANNEL_RECONNECTION_FAILED,message:QO({key:zO.SIGNAL_CHANNEL_RECONNECTION_FAILED})});return UO.emit(BO.API_SUCCESS_RATE,{room:this.room,apiName:"WebsocketReconnect",error:e}),void this.emit($M,e)}this._reconnectionCount++,this._log.warn("reconnect ".concat(e," [").concat(this._reconnectionCount,"/").concat(cD,"]"));let t=this.getReconnectionUrl(e);this.emitConnectionStateChanged(ex),this._prevTime<0&&(this._prevTime=gO()),e===MN.MAIN?(this._socket=new WebSocket(t),this.bindSocket(this._socket)):(this._backupSocket=new WebSocket(t),this.bindSocket(this._backupSocket));let i=tO(this._reconnectionCount);this._reconnectionTimer=setTimeout((()=>{this._log.warn("reconnect ".concat(e," timeout(").concat(i/1e3,"s), try again")),this.clearReconnectionTimer(),this.unbindAndCloseSocket(MN.MAIN),this.unbindAndCloseSocket(MN.BACKUP),this.reconnect(e===MN.MAIN?MN.BACKUP:MN.MAIN)}),i)}get isReconnecting(){return-1!==this._reconnectionTimer}getReconnectionUrl(e){let t=e===MN.MAIN?this._urlWithParam:this._backupUrlWithParam;if(this._signalInfo.tinyId&&-1===t.indexOf("&rc=1")){let{roomId:e,useStringRoomId:i}=this.room;t+="&rc=1&relayInnerIp=".concat(this._signalInfo.relayInnerIp,"&relayOuterIp=").concat(this._signalInfo.relayIp,"&relayPort=").concat(this._signalInfo.relayPort,"&roomId=").concat(e,"&useStringRoomId=").concat(i)}return t}send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.isConnected&&!this.room.isLeft){let i={cmd:e,data:t,userId:this.userId,tinyId:this._signalInfo.tinyId,seq:++this._seq},n=JSON.stringify(i);return this._socketInUse.send(n),this.bytesSent+=PO(n),i.seq}}sendWaitForResponse(e){let{command:t,data:i,timeout:n=5e3,responseCommand:r,commandDesc:o,enableLog:s=!0}=e;return new Promise(((e,a)=>{let c=setTimeout((()=>{this.off(r,l);let e=new Tb({code:fb.API_CALL_TIMEOUT,message:QO({key:zO.API_CALL_TIMEOUT,data:{commandDesc:o,command:t}})});s&&this._log.warn(e),a(e)}),n),l=t=>{t.data.seq===d&&(clearTimeout(c),this.off(r,l),e(t))};this.on(r,l);let d=this.send(t,i)}))}sendWaitForResponseWithRetry(e){let{commandDesc:t,command:i,retries:n=0,retryTimeout:r=0}=e;return xO({retryFunction:this.sendWaitForResponse,onRetrying:e=>{this._log.warn("".concat(t||i," timeout observed, retrying [").concat(e,"/").concat(n,"]"))},settings:{retries:n,timeout:r},context:this})(e)}getCurrentState(){return this._currentState}getSignalInfo(){return this._signalInfo}stopReconnection(){this.isReconnecting&&(this._reconnectionCount=0,this.clearReconnectionTimer())}close(){this._log.info("closed"),Dx.delete(this),this.clearBackupTimer(),this.stopReconnection(),this._signalInfo={tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0},this._socketInUse=null,this.bytesSent=0,this.bytesReceived=0,this.unbindAndCloseSocket(MN.MAIN),this.unbindAndCloseSocket(MN.BACKUP),this.emitConnectionStateChanged(ZM)}stopKeepAliveIn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3600;if(this.keepAlive){this._log.info("stopKeepAlive in ".concat(e,"s"));let t=setTimeout((()=>{this.keepAlive=!1,this._log.info("close due to not used ".concat(e,"s")),this.close()}),1e3*e),i=e=>{e instanceof Uw&&"join"===e.action&&(this._log.info("stopKeepAlive clear timeout"),clearTimeout(t),this.room.off(Ww.STATECHANGED,i))};this.room.on(Ww.STATECHANGED,i)}}emitConnectionStateChanged(e){e!==this._currentState&&(this._log.info("".concat(this._currentState," -> ").concat(e)),this.emit(QM,{prevState:this._currentState,state:e}),this._currentState=e)}},wx=rb(lb()),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,i=[],n=0;for(let o=e;o<=t;o++){let e=this.dataView.getInt8(o);switch(e){case 0:case 1:case 2:case 3:2===n&&(i.push(3),n=0),0==e?n++:n=0,i.push(e);break;default:n=0,i.push(e)}}i.push(this.dataView.getInt8(this.dataView.byteLength-1));let r=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...i]).buffer);this.dataView=r}removePreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-1,i=[],n=0;for(let o=e;o<=t;o++)switch(this.dataView.getInt8(o)){case 0:n++,i.push(this.dataView.getInt8(o));break;case 3:2!==n&&i.push(this.dataView.getInt8(o)),n=0;break;default:i.push(this.dataView.getInt8(o)),n=0}let r=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...i]).buffer);this.dataView=r}get isSEI(){return 6===this.dataView.getUint8(4)}get seiPayloadStartIndex(){let e=6;for(let t=6;t{}))}restart(e){this.stop(),this.start(e)}stop(){var e;null==(e=this._mainVideoAbortController)||e.abort(),this._mainVideoAbortController=null}destroy(){this.stop(),this._abortMap.forEach((e=>e.abort())),this._abortMap.clear(),this._log=null,this.onSEIMessage=null,this._mainVideoSenderOrReceiver=null,this._connection=null}handleEncodedStreams(){try{let e=this._connection.getPeerConnection();this.clearUnusedSenderOrReceiver(e),this._isUplink?e.getSenders().forEach(((e,t)=>{if(1===t){if(e===this._mainVideoSenderOrReceiver)return;this.isRunning?this.restart(e):this.start(e)}else{if(this._abortMap.has(e))return;this.pipeSenderOrReceiver(e)}})):e.getReceivers().forEach(((e,t)=>{var i;this._abortMap.has(e)||e===this._mainVideoSenderOrReceiver||(1===t&&(null==(i=e.track)?void 0:i.kind)===MN.VIDEO?this.isRunning?this.restart(e):this.start(e):this.pipeSenderOrReceiver(e))}))}catch(FL){this._log.warn(FL)}}pipeSenderOrReceiver(e){let{readable:t,writable:i}=e.createEncodedStreams(),n=new AbortController;this._abortMap.set(e,n),t.pipeTo(i,n).catch((()=>{}))}clearUnusedSenderOrReceiver(e){this._abortMap.forEach(((t,i)=>{(this._isUplink?e.getSenders():e.getReceivers()).find((e=>e===i))||(t.abort(),this._abortMap.delete(i))}))}push(e,t){t&&t.seiPayloadType&&(this._seiPayloadType=t.seiPayloadType),this._seiMessageList.push(e)}hasSEI(e){let t=new DataView(e);return 1===t.getInt32(0)&&6===t.getInt8(4)}isEmptyFrame(e){return"empty"===e.type||0===e.data.byteLength}getNaluCount(e){let t=0,i=0,n=new DataView(e);for(let r=0;r0&&!this.isEmptyFrame(e)){let t=9-this.getNaluCount(e.data);if(t<=0)return;let i=this._seiMessageList.splice(0,t).reverse().map(this.encodeSEINalu.bind(this)),n=i.reduce(((e,t)=>e+t.dataView.byteLength),0),r=new ArrayBuffer(n+e.data.byteLength),o=new DataView(r),s=new DataView(e.data),a=0;for(let e=0;e{this.onSEIMessage({seiPayloadType:e.seiPayloadType,data:e.seiPayload.buffer})}))}}catch(aD){this._log.warn(aD)}t.enqueue(e)}encodeSEINalu(e){let t=e.byteLength,i=parseInt(t/255),n=t%255,r=[];r.push(0,0,0,1,6,this._seiPayloadType);for(let s=0;s=3&&UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:"PeerConnectionReconnect",error:aN}),aN}}))}initialize(){let e={encodedInsertableStreams:this._enableSEI&&Nw,iceServers:this._room.getIceServers(),iceTransportPolicy:this._room.getIceTransportPolicy(),sdpSemantics:this._sdpSemantics,bundlePolicy:"max-bundle",rtcpMuxPolicy:"require",tcpCandidatePolicy:"disable",IceTransportsType:"nohost"};this._peerConnection=new RTCPeerConnection(e),this._peerConnection.onconnectionstatechange=this.onConnectionStateChange.bind(this)}close(e){this._log.info("close connection"),this._emitter.emit("closed",e),this._isReconnecting&&this.stopReconnection(),this.closePeerConnection(),this._sei&&(this._sei.destroy(),this._sei=null),Vx.delete(this)}closePeerConnection(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._peerConnection&&(this._log.info("close pc"),this._peerConnection.onconnectionstatechange=null,this._peerConnection.close(),this._peerConnection=null,e&&this.emitConnectionStateChangedEvent("DISCONNECTED")),this._waitForPeerConnectionConnectedPromiseReject&&this._waitForPeerConnectionConnectedPromiseReject(new Tb({code:fb.API_CALL_ABORTED,message:"connection closed"}))}getDTLSTransportState(){if(!this._peerConnection)return iD;let e=null;if(this._isUplink){if(!Sw()||0===this._peerConnection.getSenders().length)return iD;e=this._peerConnection.getSenders()[0].transport}else{if(!Ew()||0===this._peerConnection.getReceivers().length)return iD;e=this._peerConnection.getReceivers()[0].transport}return e?e.state:iD}onConnectionStateChange(e){let t=this._peerConnection.iceConnectionState,i=this.getDTLSTransportState();if(this._log.info("connectionState: ".concat(e.target.connectionState,", ICE: ").concat(t,", DTLS: ").concat(i)),e.target.connectionState===nD.CONNECTING&&this.emitConnectionStateChangedEvent("CONNECTING"),e.target.connectionState===nD.FAILED||e.target.connectionState===nD.CLOSED){let n="connection ".concat(e.target.connectionState,". ICE Transport state: ").concat(t,", DTLS Transport state: ").concat(i),r=new Tb({message:n,code:fb.ICE_TRANSPORT_ERROR});this.emitConnectionStateChangedEvent("DISCONNECTED"),this.startReconnection(),this._isErrorObserved||this._emitter.emit("error",r)}(e.target.connectionState===nD.CONNECTED||e.target.connectionState===nD.COMPLETED)&&(this.logSelectedCandidate(),Xw.logSuccessEvent({userId:this._room.userId,eventType:lD.ICE_CONNECTION_STATE}),this.emitConnectionStateChangedEvent("CONNECTED"))}emitConnectionStateChangedEvent(e){return e!==this._currentState&&("CONNECTED"===e?(Mx=0,xx=!1,Ux=!0,Vx.add(this)):Vx.delete(this),UO.emit(BO.PEER_CONNECTION_STATE_CHANGED,{room:this._room,prevState:this._currentState,state:e,remoteUserId:this._isUplink?void 0:this.userId}),this._emitter.emit("connection-state-changed",{prevState:this._currentState,state:e}),this._currentState=e,!0)}getPeerConnection(){return this._peerConnection}getRoom(){return this._room}getUserId(){return this.userId}getTinyId(){return this.tinyId}logSelectedCandidate(){return cb(this,null,(function*(){if(!this._peerConnection)return;let e=yield this._peerConnection.getStats();for(let[,t]of e)if(hw(t)){let i=e.get(t.localCandidateId),n=e.get(t.remoteCandidateId);i&&(this._log.info("local candidate: ".concat(i.candidateType," ").concat(i.protocol,":").concat(i.ip||i.address,":").concat(i.port," ").concat(i.networkType||""," ").concat("relay"===i.candidateType?"relayProtocol:".concat(i.relayProtocol):"")),this._localAddress="".concat(i.ip||i.address,":").concat(i.port)),n&&(this._log.info("remote candidate: ".concat(n.candidateType," ").concat(n.protocol,":").concat(n.ip||n.address,":").concat(n.port)),this._remoteAddress="".concat(n.protocol,":").concat(n.ip||n.address));break}}))}getCurrentState(){return this._currentState}waitForPeerConnectionConnected(){return this._waitForPeerConnectionConnectedPromise||(this._waitForPeerConnectionConnectedPromise=new Promise(((e,t)=>{if("CONNECTED"===this._currentState)return e();this._waitForPeerConnectionConnectedPromiseReject=t;let i=t=>{"CONNECTED"===t.state&&(clearTimeout(o),r(),e())},n=e=>{let{room:i}=e;i===this._room&&(clearTimeout(o),r(),t(new Tb({code:fb.API_CALL_ABORTED,message:QO({key:zO.CONNECTION_ABORTED,data:"leave room"})})))},r=()=>{UO.off(BO.LEAVE_SUCCESS,n,this),this._emitter.off("connection-state-changed",i,this)},o=setTimeout((()=>{r();let e=new Tb({code:fb.API_CALL_TIMEOUT,message:"connection timeout"});Mx+=1,(e=>Mx>2&&!xx&&0===Vx.size&&e)(this._signalChannel.isConnected)&&(this._log.warn("firewall restrition"),xx=!0,this._emitter.emit("firewall-restriction")),t(e)}),ID);UO.on(BO.LEAVE_SUCCESS,n,this),this._emitter.on("connection-state-changed",i,this)})),this._waitForPeerConnectionConnectedPromise=this._waitForPeerConnectionConnectedPromise.finally((()=>{this._waitForPeerConnectionConnectedPromise=null,this._waitForPeerConnectionConnectedPromiseReject=null}))),this._waitForPeerConnectionConnectedPromise}getReconnectionCount(){return this._reconnectionCount}startReconnection(){this._isReconnecting=!0,this.reconnect()}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}stopReconnection(){this._log.info("stop reconnection"),this._isReconnecting=!1,this._reconnectionCount=0,this.clearReconnectionTimer(),this._signalChannel.off(XM,this.reconnect,this)}beforeReconnect(){if(-1!==this._reconnectionTimer)return this._log.warn("reconnect() is reconnecting, ignore"),-1;if(this._reconnectionCount>=sD()){this._log.warn("SDK has tried reconnect for ".concat(this._reconnectionCount," times, but all failed, please check your network")),this.stopReconnection();let e=new Tb({code:this._isUplink?fb.UPLINK_RECONNECTION_FAILED:fb.DOWNLINK_RECONNECTION_FAILED,message:QO({key:this._isUplink?zO.UPLINK_RECONNECTION_FAILED:zO.DOWNLINK_RECONNECTION_FAILED})});return this.emitConnectionStateChangedEvent("DISCONNECTED"),this._emitter.emit("error",e),-1}return this._signalChannel.isConnected?(this._reconnectionCount+=1,this._log.warn("reconnect() trying [".concat(this._reconnectionCount,"]")),1):(this._log.warn("reconnect() signal channel is not connected, suspend reconnection until signal is connected"),this._signalChannel.once(XM,this.reconnect,this),-1)}on(e,t,i){this._emitter.on(e,t,i)}off(e,t,i){this._emitter.off(e,t,i)}getIsReconnecting(){return this._isReconnecting}get isH264(){var e,t;return!(null==(t=null==(e=this._peerConnection)?void 0:e.remoteDescription)||!t.sdp.includes("H264"))}},Bx=rb(pb()),Hx=function(e){return Bx.default.parse(e)},jx=function(e){return Bx.default.write(e)};function Gx(e){return Object.keys(e).filter((t=>e[t]))}var Wx=class extends Fx{constructor(e){super(tb(eb({},e),{isUplink:!1})),sb(this,"_flag",0),sb(this,"role","anchor"),sb(this,"remoteAudioTrack"),sb(this,"remoteVideoTrack"),sb(this,"remoteAuxiliaryTrack"),sb(this,"ssrc",{audio:0,video:0,auxiliary:0}),sb(this,"_isSDPExchanging",!1),this.flag=e.flag,this.remoteAudioTrack=e.remoteAudioTrack||new CL(this._room,this),this.remoteVideoTrack=e.remoteVideoTrack||new bL(this._room,this),this.remoteAuxiliaryTrack=e.remoteAuxiliaryTrack||new kL(this._room,this)}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 yO(this.flag,this.userId)}get flag(){return this._flag}set flag(e){var t,i,n;e!==this._flag&&(this._flag=e,null==(t=this.remoteAudioTrack)||t.onFlagChanged(),null==(i=this.remoteVideoTrack)||i.onFlagChanged(),null==(n=this.remoteAuxiliaryTrack)||n.onFlagChanged())}get hasMainStream(){return this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall}get hasAuxStream(){return this.muteState.hasAuxiliary}get isMainStreamSubscribed(){return(this.subscribeState.audio||this.subscribeState.video||this.subscribeState.smallVideo)&&(this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall)}get isAuxStreamSubscribed(){return this.subscribeState.auxiliary&&this.muteState.hasAuxiliary}get isSmallStreamSubscribed(){return this.subscribeState.smallVideo&&this.muteState.hasSmall}get isBigStreamSubscribed(){return this.subscribeState.video&&this.muteState.hasVideo}isStreamUnpublished(e){return e===MN.MAIN?!this.muteState.hasAudio&&!this.muteState.hasVideo:!this.muteState.hasAuxiliary}initialize(){super.initialize(),this.installEvents(),this._peerConnection.ontrack=this.onTrack.bind(this)}close(e){super.close(e),this.emitConnectionStateChangedEvent("DISCONNECTED"),this.remoteAudioTrack.close(),this.remoteVideoTrack.close(),this.remoteAuxiliaryTrack.close(),this.uninstallEvents()}installEvents(){}uninstallEvents(){this._emitter.removeAllListeners()}emitConnectionStateChangedEvent(e){var t,i;let n=this._currentState,r=super.emitConnectionStateChangedEvent(e);return r&&n!==e&&(null==(t=this.remoteVideoTrack)||t.emit("connection-state-changed",{prevState:n,state:e}),null==(i=this.remoteAuxiliaryTrack)||i.emit("connection-state-changed",{prevState:n,state:e})),r}onTrack(e){let t=e.streams[0],{track:i}=e,n=t.id===JN?MN.MAIN:MN.AUXILIARY;this._log.debug("ontrack ".concat(n," ").concat(i.kind));let r=MN.AUDIO;i.kind===MN.VIDEO&&(r=n===MN.MAIN?MN.VIDEO:MN.AUXILIARY);let o=this.remoteAudioTrack;r===MN.VIDEO?o=this.remoteVideoTrack:r===MN.AUXILIARY&&(o=this.remoteAuxiliaryTrack),o.setInputMediaStreamTrack(i)}addRRTRLine(e){let t=e.split("\r\n"),i=new Map;t.forEach(((e,n)=>{/^a=rtcp-fb:/.test(e)&&t[n+1]&&!/^a=rtcp-fb:/.test(t[n+1])&&i.set(n+1,"".concat(e.match(/^a=rtcp-fb:\d+/)[0]," rrtr"))}));let n=[...i];for(let r=0;r{e.type===MN.VIDEO&&e.fmtp.forEach((e=>{e.config+=";sps-pps-idr-in-keyframe=1"}))})),jx(t)}removeSDESDescription(e){let t=["urn:ietf:params:rtp-hdrext:sdes:mid","urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id","urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id"],i=Hx(e);return i.media.forEach((e=>{!e.ext||(e.ext=e.ext.filter((e=>!t.includes(e.uri))))})),jx(i)}isSubscriptionStateNotChanged(e){return JSON.stringify(e)===JSON.stringify(this.subscribeState)}subscribe(e,t){return cb(this,null,(function*(){var i,n;try{if(((null==(i=this._peerConnection)?void 0:i.connectionState)===nD.NEW||(null==(n=this._peerConnection)?void 0:n.connectionState)===nD.CONNECTING)&&(yield this.waitForPeerConnectionConnected()),this.isSubscriptionStateNotChanged(e))return void(this._peerConnection||(this.initialize(),yield this.connect(e)));if(this._log.info("subscribe ".concat(t," ").concat(JSON.stringify(e))),this._peerConnection||this._isSDPExchanging){let t="subscribe_change";Object.values(e).find((e=>!0===e))||(t="unsubscribe"),yield this.sendSubscription(t,e)}else this.initialize(),yield this.connect(e)}catch(lN){throw this._room.isJoined&&this.isStreamUnpublished(t)?(this._log.warn("".concat(lN.message," ").concat(JSON.stringify(this.muteState))),new Tb({code:fb.REMOTE_STREAM_NOT_EXIST,message:"remote user ".concat(this.userId," unpublished stream")})):lN}}))}unsubscribe(e){return cb(this,arguments,(function(e){var t=this;let{remoteTracks:i,streamType:n}=e;return function*(){if("CONNECTED"===t._currentState&&("main"===n&&!t.isMainStreamSubscribed||"auxiliary"===n&&!t.isAuxStreamSubscribed))return void t._log.info("".concat(n," stream already unsubscribed"));let e=eb({},t.subscribeState);i.forEach((t=>{switch(t.mediaType){case 1:e.audio=!1;break;case 4:e.video=!1;break;case 8:e.smallVideo=!1;break;case 2:e.auxiliary=!1}}));let r="subscribe_change";Object.values(e).find((e=>!0===e))||(r="unsubscribe"),t._log.info("".concat("unsubscribe"===r?r:"subscribe"," ").concat(n," [").concat(Gx(e),"]")),yield t.sendSubscription(r,e),"unsubscribe"===r&&(t.closePeerConnection(),t.emitConnectionStateChangedEvent("DISCONNECTED"))}()}))}sendSubscription(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscribeState,i={srcTinyId:this.tinyId,srcUserId:this.userId},n=mx,r=rx.UNSUBSCRIBE_RESULT;return"subscribe_change"===e&&(i={audio:t.audio,bigVideo:t.video,auxVideo:t.auxiliary,smallVideo:t.smallVideo,srcTinyId:this.tinyId},n=_x,r=rx.SUBSCRIBE_CHANGE_RESULT),this._signalChannel.sendWaitForResponse({command:n,data:i,responseCommand:r,timeout:1e4}).then((t=>{let{data:i}=t;if(0!==i.code){let t=new Tb({code:i.code,message:QO({key:zO.ERROR_MESSAGE,data:{type:e,message:i.message}})});throw this._log.error(t),t}}))}connect(){return cb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.subscribeState;return function*(){try{yield e.exchangeSDP(t),yield e.waitForPeerConnectionConnected()}catch(aD){throw e.closePeerConnection(!0),aD}}()}))}exchangeSDP(e){return cb(this,null,(function*(){try{this._isSDPExchanging=!0,yield this.createOffer(),this._log.info("createOffer success, sending offer");let{type:t,sdp:i}=this._peerConnection.localDescription,n={type:t,sdp:i,srcUserId:this.userId,srcTinyId:this.tinyId,audio:e.audio,bigVideo:e.video,auxVideo:e.auxiliary,smallVideo:e.smallVideo},r=yield this._signalChannel.sendWaitForResponse({command:px,commandDesc:"exchange sdp",data:n,responseCommand:rx.SUBSCRIBE_RESULT,timeout:hD});if(!this._peerConnection){let e=new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.CONNECTION_CLOSED})});throw this._log.warn(e),e}yield this.onSubscribeResult(r),this._isSDPExchanging=!1}catch(aD){throw this._isSDPExchanging=!1,aD}}))}createOffer(){return cb(this,null,(function*(){let e={voiceActivityDetection:!1};yw()&&this._sdpSemantics===pD?(this._peerConnection.addTransceiver(MN.AUDIO,{direction:xN.RECVONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:xN.RECVONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:xN.RECVONLY})):(e.offerToReceiveAudio=!0,e.offerToReceiveVideo=!0);let t=yield this._peerConnection.createOffer(e);if(t.sdp){let{isH264DecodeSupported:e}=yield aw();e||(this._log.warn("remove h264 desc from sdp"),t.sdp=function(e){let t=Hx(e);return t.media.forEach((e=>{var t,i;if(e.type===MN.VIDEO){let n=new Set;e.rtp.forEach((e=>{let{payload:t,codec:i}=e;return"H264"===i&&n.add(t)})),e.fmtp.forEach((e=>{let{payload:t,config:i}=e,r=i.match(/apt=(\d+)/);r&&r[1]&&n.has(Number(r[1]))&&n.add(t)}));let r=e=>{let{payload:t}=e;return!n.has(t)};e.rtp=e.rtp.filter(r),e.rtcpFb=null==(t=e.rtcpFb)?void 0:t.filter(r),e.fmtp=e.fmtp.filter(r),e.payloads=null==(i=e.payloads)?void 0:i.split(" ").filter((e=>!n.has(Number(e)))).join(" ")}})),jx(t)}(t.sdp)),t.sdp=this.addRRTRLine(t.sdp),t.sdp=this.addSPSDescription(t.sdp),t.sdp=function(e){let t=Hx(e);return t.media.forEach((e=>{e.type===MN.AUDIO&&e.fmtp.forEach((e=>{e.config+=";sprop-stereo=1;stereo=1"}))})),jx(t)}(t.sdp),this._sdpSemantics===pD&&(t.sdp=this.removeSDESDescription(t.sdp))}yield this._peerConnection.setLocalDescription(t)}))}onSubscribeResult(e){return cb(this,null,(function*(){let{code:t,message:i=""}=e&&e.data||{},{type:n,sdp:r}=e&&e.data&&e.data.data||{};if(t===_D)throw new Tb({code:fb.NOT_SUPPORTED_H264,message:QO({key:zO.NOT_SUPPORTED_H264DECODE})});try{if(0!==t)throw new Tb({code:t,message:QO({key:zO.EXCHANGE_SDP_FAILED,data:{errMsg:i}})});this._log.debug("accept remote answer: ".concat(r)),yield this._peerConnection.setRemoteDescription({type:n,sdp:r}),this._sei&&(this._sei.handleEncodedStreams(),this._sei.onSEIMessage=e=>{this._emitter.emit("sei-message",tb(eb({},e),{userId:this.userId}))}),this.updateSSRC(r)}catch(JV){throw this._log.error(JV),JV}}))}updateSSRC(e){try{Hx(e).media.forEach((e=>{if(e.ssrcs)if(e.type===MN.AUDIO){let t=e.ssrcs.find((e=>{var t;return null==(t=e.value)?void 0:t.includes(JN)}));t&&(this.ssrc.audio=Number(t.id))}else{let t=e.ssrcs.find((e=>{var t;return null==(t=e.value)?void 0:t.includes(JN)})),i=e.ssrcs.find((e=>{var t;return null==(t=e.value)?void 0:t.includes(zN)}));t&&(this.ssrc.video=Number(t.id)),i&&(this.ssrc.auxiliary=Number(i.id))}}))}catch(aD){}}getMainStreamVideoTrackId(){return this.remoteVideoTrack&&this.remoteVideoTrack.mediaTrack?this.remoteVideoTrack.mediaTrack.id:""}getAuxStreamVideoTrackId(){return this.remoteAuxiliaryTrack&&this.remoteAuxiliaryTrack.mediaTrack?this.remoteAuxiliaryTrack.mediaTrack.id:""}reconnect(){return cb(this,null,(function*(){if(!(ab(Wx.prototype,this,"beforeReconnect").call(this)<0))try{this.closePeerConnection(),this.initialize(),yield this.connect(),this.stopReconnection(),this._log.warn("reconnect() success")}catch(aD){let t=tO(this._reconnectionCount);this._log.warn("reconnect() timeout, try again after ".concat(t/1e3,"s")),this._reconnectionTimer=setTimeout((()=>{this.clearReconnectionTimer(),this.reconnect()}),t)}}))}getIsReconnecting(){return this._isReconnecting}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}getCurrentState(){return this._currentState}setDelay(e){let{audioDelay:t,videoDelay:i}=e;this.remoteAudioTrack.stat.end2EndDelay=t,this.remoteVideoTrack.stat.end2EndDelay=i}},Jx=Wx;ob([nL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{let r=e=>{this._emitter.off("closed",r),n(new Tb({code:fb.API_CALL_ABORTED,message:QO({key:zO.CONNECTION_ABORTED,data:e})}))};this._emitter.on("closed",r),e.apply(this,i).then(t,n).finally((()=>{this._emitter.off("closed",r)}))}))}))],Jx.prototype,"subscribe",1),ob([iL(Fx.prototype.afterConnect),tL(Fx.prototype.beforeConnect)],Jx.prototype,"connect",1);var zx=Jx,Kx={voiceActivityDetection:!1},qx=class extends Fx{constructor(e){super(tb(eb({},e),{isUplink:!0})),sb(this,"localMainAudioTrack",null),sb(this,"localMainVideoTrack",null),sb(this,"localAuxAudioTrack",null),sb(this,"localAuxVideoTrack",null),sb(this,"ssrc",{audio:0,video:0,small:0,auxiliary:0}),sb(this,"_isPublishingAux",!1),sb(this,"_publishingLocalAudioTrack"),sb(this,"_publishingLocalVideoTrack"),sb(this,"_mediaSettings",{videoCodec:"",videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioCodec:"opus",audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0,auxVideoWidth:0,auxVideoHeight:0,auxVideoFps:0,auxVideoBps:0}),sb(this,"_audioManager"),this._audioManager=e.audioManager}get isMainStreamPublished(){return!(!this.localMainAudioTrack&&!this.localMainVideoTrack)}get isAuxStreamPublished(){return!(!this.localAuxVideoTrack&&!this.localAuxAudioTrack)}get publishState(){var e,t,i,n;let r={audio:!1,bigVideo:!1,smallVideo:!1,auxVideo:!1};if(this._peerConnection){let o=this._peerConnection.getSenders();o&&(Iw()?(r.audio=!(null==(e=o[0])||!e.track),r.bigVideo=!(null==(t=o[1])||!t.track),r.smallVideo=!(null==(i=o[2])||!i.track),r.auxVideo=!(null==(n=o[3])||!n.track)):o.forEach((e=>{e.track&&(e.track.kind===MN.AUDIO?r.audio=!0:(r.bigVideo=!0,this._room.videoManager.hasSmall&&(r.smallVideo=!0)))})))}return r}initialize(){super.initialize(),this.installEvents()}reset(){this._isReconnecting&&this.stopReconnection(),this.closePeerConnection(),this.uninstallEvents()}close(e){super.close(e),this.reset(),this.emitConnectionStateChangedEvent("DISCONNECTED")}installEvents(){this._emitter.listeners("connection-state-changed").includes(this.handleConnectionStateChange)||this._emitter.on("connection-state-changed",this.handleConnectionStateChange,this)}uninstallEvents(){this._emitter.off("connection-state-changed",this.handleConnectionStateChange,this)}emitConnectionStateChangedEvent(e,t){var i,n,r;let o=this._currentState,s=super.emitConnectionStateChangedEvent(e);return s&&o!==e&&(t?t.emit("connection-state-changed",{prevState:o,state:e}):(null==(i=this.localMainVideoTrack)||i.emit("connection-state-changed",{prevState:o,state:e}),null==(n=this.localAuxVideoTrack)||n.emit("connection-state-changed",{prevState:o,state:e}),null==(r=this._publishingLocalVideoTrack)||r.emit("connection-state-changed",{prevState:o,state:e}))),s}publish(e){return cb(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,isAuxiliary:r}=e;return function*(){var e;let o;t._peerConnection||t.initialize(),i&&(t._publishingLocalAudioTrack=i),n&&(t._publishingLocalVideoTrack=n),t._isPublishingAux=r,n&&!r&&n.small&&(o=t._room.videoManager.smallTrack),t.sendMediaSettings(),yw()?yield t.publishByTransceiver({localAudioTrack:i,localVideoTrack:n,smallTrack:o,isAuxiliary:r}):yield t.publishByAddTrack({localAudioTrack:i,localVideoTrack:n,smallTrack:o}),t._publishingLocalAudioTrack=null,t._publishingLocalVideoTrack=null,t._isPublishingAux=!1,r?(n&&(t.localAuxVideoTrack=n),i&&(t.localAuxAudioTrack=i)):(n&&(t.localMainVideoTrack=n),i&&(t.localMainAudioTrack=i)),null==(e=t._sei)||e.handleEncodedStreams(),t.installTrackMuteEvents(i,n),t.sendMutedFlag()}()}))}publishByTransceiver(e){return cb(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,smallTrack:r,isAuxiliary:o}=e;return function*(){t._log.info("publish by transceiver");let e=new MediaStream,s=null==n?void 0:n.outMediaTrack,a=t._audioManager.mixedAudioTrack;a&&e.addTrack(a),s&&e.addTrack(s);let c=t._peerConnection.getTransceivers();if(0===c.length)t._peerConnection.addTransceiver(a||MN.AUDIO,{direction:xN.SENDONLY,streams:[e]}),t._peerConnection.addTransceiver(o?MN.VIDEO:s||MN.VIDEO,{direction:xN.SENDONLY,streams:[e]}),t._peerConnection.addTransceiver(r||MN.VIDEO,{direction:xN.SENDONLY,streams:[e]}),t._peerConnection.addTransceiver(o&&s||MN.VIDEO,{direction:xN.SENDONLY,streams:[e]}),yield t.connect();else{let e=[];if(a&&(c[0].sender.track||e.push(0),yield c[0].sender.replaceTrack(a),yield t.setBandwidth({bandwidth:(null==i?void 0:i.profile.bitrate)||40,type:MN.AUDIO})),s){let i=o?3:1;yield c[i].sender.replaceTrack(s),yield t.setBandwidth({bandwidth:n.profile.bitrate,type:MN.VIDEO,videoType:o?MN.AUXILIARY:MN.BIG}),e.push(i),r&&(yield c[2].sender.replaceTrack(r),yield t.setBandwidth({bandwidth:n.small.bitrate,type:MN.VIDEO,videoType:MN.SMALL}),e.push(2))}yield t.setTransceiverDirection(xN.SENDONLY,e),yield t.doPublishChange(),null==n||n.emit("connection-state-changed",{prevState:"DISCONNECTED",state:"CONNECTING"}),null==n||n.emit("connection-state-changed",{prevState:"CONNECTING",state:"CONNECTED"})}}()}))}publishByAddTrack(e){return cb(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,smallTrack:r}=e;return function*(){t._log.info("publish by addtrack");let e=null==n?void 0:n.outMediaTrack,o=t._audioManager.mixedAudioTrack;if(t._peerConnection&&"new"!==t._peerConnection.connectionState)return o&&(yield t.addTrack(i)),void(e&&(yield t.addTrack(n)));let s=new MediaStream;if(o&&s.addTrack(o),e&&s.addTrack(e),o&&t._peerConnection.addTrack(o,s),e&&(t._peerConnection.addTrack(e,s),r)){let e=new MediaStream;e.addTrack(r),t._peerConnection.addTrack(r,e)}yield t.connect()}()}))}installTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.on("mute",this.sendMutedFlag,this),null==e||e.on("unmute",this.sendMutedFlag,this))}))}uninstallTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.off("mute",this.sendMutedFlag,this),null==e||e.off("unmute",this.sendMutedFlag,this))}))}unpublish(e){return cb(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n}=e;return function*(){if(!Iw())return i&&i.outMediaTrack&&!n&&t.localMainVideoTrack?(yield t.removeTrack(i),void(t.localMainAudioTrack=null)):n&&n.outMediaTrack&&!i&&t.localMainAudioTrack?(yield t.removeTrack(n),void(t.localMainVideoTrack=null)):(yield t.doUnpublish(),t.uninstallTrackMuteEvents(i,n),void t.emitConnectionStateChangedEvent("DISCONNECTED",n));let e=n&&n===t.localAuxVideoTrack,r=null==n?void 0:n.outMediaTrack,o=t._peerConnection.getSenders(),s=[];i&&(t._audioManager.mixedAudioTrack||(yield o[0].replaceTrack(null),s.push(0)),e?t.localAuxAudioTrack=null:t.localMainAudioTrack=null),r&&(e?(yield o[3].replaceTrack(null),t.localAuxVideoTrack=null,t._mediaSettings=tb(eb({},t._mediaSettings),{auxVideoBps:0,auxVideoFps:0,auxVideoWidth:0,auxVideoHeight:0}),s.push(3)):(yield o[1].replaceTrack(null),yield o[2].replaceTrack(null),t.localMainVideoTrack=null,t._mediaSettings=tb(eb({},t._mediaSettings),{videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0}),s.push(1,2))),t.isMainStreamPublished||t.isAuxStreamPublished?(yield t.setTransceiverDirection(xN.INACTIVE,s),yield t.doPublishChange(!1)):yield t.doUnpublish(),t.uninstallTrackMuteEvents(i,n),null==n||n.emit("connection-state-changed",{prevState:t._currentState,state:"DISCONNECTED"})}()}))}doPublishChange(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return cb(this,null,(function*(){let t={state:this.publishState,constraintConfig:this._mediaSettings},i=yield this._signalChannel.sendWaitForResponse({command:ux,data:t,responseCommand:rx.PUBLISH_STATE_CHANGE_RESULT,enableLog:e});this.checkPublishResultCode(i.data.code,i.data.message)}))}doUnpublish(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._signalChannel.sendWaitForResponse({command:hx,commandDesc:"unpublish",responseCommand:rx.UNPUBLISH_RESULT,enableLog:e}).catch((e=>{if(e.getCode()===fb.API_CALL_TIMEOUT)return Promise.resolve();throw e}))}updateMediaSettings(){let{detail:{isH264EncodeSupported:e,isVp8EncodeSupported:t}}=this._room.checkSystemResult;e?this._mediaSettings.videoCodec="H264":t&&(this._mediaSettings.videoCodec="VP8");let i=this._publishingLocalAudioTrack||this.localMainAudioTrack||this.localAuxAudioTrack,{localMainVideoTrack:n,localAuxVideoTrack:r}=this;if(this._publishingLocalVideoTrack&&(this._isPublishingAux?r=this._publishingLocalVideoTrack:n=this._publishingLocalVideoTrack),bw){if(i&&i.outMediaTrack){let e=i.outMediaTrack.getSettings();this._mediaSettings.audioChannel=e.channelCount||1,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=e.sampleRate||0}if(n&&n.outMediaTrack){let e=n.outMediaTrack.getSettings();this._mediaSettings.videoWidth=e.width||0,this._mediaSettings.videoHeight=e.height||0,this._mediaSettings.videoFps=e.frameRate||0,this._mediaSettings.videoBps=1e3*n.profile.bitrate,n.small&&(this._mediaSettings.smallVideoWidth=n.small.width,this._mediaSettings.smallVideoHeight=n.small.height,this._mediaSettings.smallVideoFps=n.small.frameRate,this._mediaSettings.smallVideoBps=1e3*n.small.bitrate)}if(r&&r.outMediaTrack){let e=r.outMediaTrack.getSettings();this._mediaSettings.auxVideoWidth=e.width||0,this._mediaSettings.auxVideoHeight=e.height||0,this._mediaSettings.auxVideoFps=e.frameRate||0,this._mediaSettings.auxVideoBps=1e3*r.profile.bitrate}}else i&&i.outMediaTrack&&(this._mediaSettings.audioChannel=i.profile.channelCount,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=i.profile.sampleRate),n&&n.outMediaTrack&&(this._mediaSettings.videoWidth=n.profile.width,this._mediaSettings.videoHeight=n.profile.height,this._mediaSettings.videoFps=n.profile.frameRate,this._mediaSettings.videoBps=1e3*n.profile.bitrate);this._log.info("updateMediaSettings: ".concat(JSON.stringify(this._mediaSettings)))}sendMediaSettings(){this.updateMediaSettings(),this._signalChannel.sendWaitForResponse({command:Ax,data:this._mediaSettings,responseCommand:rx.UPDATE_CONSTRAINT_CONFIG_RES}).then((e=>{0!==e.data.code&&this._log.warn(e.data.message)})).catch((()=>{}))}addTrack(e){return cb(this,null,(function*(){var t;if(!this._peerConnection)return;let i=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info("is adding ".concat(e.kind," track to current published local ").concat(i?MN.AUXILIARY:MN.MAIN," stream")),null==(t=this._sei)||t.handleEncodedStreams(),yw()?yield this.addTrackByTransceiver(e,i):yield this.addTrackBySender(e)}))}addTrackByTransceiver(e,t){return cb(this,null,(function*(){var i;if(!e.mediaTrack)return;let n=this._peerConnection.getTransceivers();if(e.kind===MN.AUDIO)yield n[0].sender.replaceTrack(this._audioManager.mixedAudioTrack);else{let r=t?3:1;yield n[r].sender.replaceTrack(e.outMediaTrack),1===r&&(null==(i=this.localMainVideoTrack)?void 0:i.small)&&(yield n[2].sender.replaceTrack(this._room.videoManager.smallTrack)),n[r].direction===xN.INACTIVE&&(yield this.setTransceiverDirection(xN.SENDONLY,[r]))}this.updateMediaSettings(),yield this.doPublishChange()}))}addTrackBySender(e){return cb(this,null,(function*(){if(!e.outMediaTrack)return;let t=e.outMediaTrack;Iw()&&this._peerConnection.getTransceivers().findIndex((e=>"stopped"===e.direction))>=0&&(this._log.warn("transceiver is stopping, negotiate sdp first"),yield this.updateOffer("remove",t));let i=this._peerConnection.getSenders().find((e=>e.track&&e.track.kind===t.kind));if(i&&i.track){this._log.warn("sender already exists, remove sender first");let e=i.track;this.removeSender(i),yield this.updateOffer("remove",e)}let n=t.kind===MN.VIDEO?t:this._audioManager.mixedAudioTrack;if(n&&this._peerConnection.addTrack(t,new MediaStream([n])),t.kind===MN.VIDEO&&e instanceof aL&&e.small){let e=new MediaStream,t=this._room.videoManager.smallTrack;e.addTrack(t),this._peerConnection.addTrack(t,e)}yield this.updateOffer("add",t)}))}isNeedToResetOfferOrder(){if(this._sdpSemantics===mD||!this._peerConnection||!this._peerConnection.localDescription)return!1;let{sdp:e}=this._peerConnection.localDescription,t=Hx(e);for(let i=0;it.sender&&t.sender.track===e.track))),this._peerConnection.removeTrack(e),t&&nO(t.stop)&&(this._log.info("stop transceiver"),t.stop())}removeTrack(e){return cb(this,null,(function*(){if(!this._peerConnection)return;let t=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info("is removing ".concat(e.kind," track from current published local ").concat(t?MN.AUXILIARY:MN.MAIN," stream")),yw()?yield this.removeTrackByTransceiver(e,t):yield this.removeTrackBySender(e)}))}removeTrackByTransceiver(e,t){return cb(this,null,(function*(){if(!e.outMediaTrack)return;let i=this._peerConnection.getTransceivers();if(e.kind===MN.AUDIO)this._audioManager.mixedAudioTrack||(yield i[0].sender.replaceTrack(null));else{let n=t?3:1;yield i[n].sender.replaceTrack(null),1===n&&e.small&&(yield i[2].sender.replaceTrack(null)),yield this.setTransceiverDirection(xN.INACTIVE,[n])}this.updateMediaSettings(),yield this.doPublishChange()}))}setTransceiverDirection(e,t){return cb(this,null,(function*(){if(!Fb)return;let i=!1,n=!1;this._log.info("setting transceiver ".concat(t.join(",")," direction to ").concat(e));let r=this._peerConnection.getTransceivers();if(t.forEach((t=>{r[t].direction!==e&&(r[t].direction=e,i=!0)})),i){this._log.info("updating offer");let e=yield this._peerConnection.createOffer();yield this._peerConnection.setLocalDescription(e)}let o=-1,s=this._peerConnection.remoteDescription.sdp.split("\r\n").map((i=>{if(i.match(new RegExp("a=(".concat(xN.INACTIVE,"|").concat(xN.RECVONLY,"|").concat(xN.SENDONLY,")")))&&o++,t.includes(o)){if(e===xN.INACTIVE&&i.includes("a=".concat(xN.RECVONLY)))return n=!0,"a=".concat(e);if(e===xN.SENDONLY&&i.includes("a=".concat(xN.INACTIVE)))return n=!0,"a=".concat(xN.RECVONLY)}return i})).join("\r\n");n&&(this._log.info("updating answer"),yield this._peerConnection.setRemoteDescription({type:"answer",sdp:s}))}))}removeTrackBySender(e){return cb(this,null,(function*(){if(!e.outMediaTrack)return;if(e.kind===MN.VIDEO&&this.isNeedToResetOfferOrder()&&this.localMainAudioTrack)return this.reset(),this.initialize(),void(yield this.publish({localAudioTrack:this.localMainAudioTrack,isAuxiliary:!1}));let t=this._peerConnection.getSenders().find((t=>t.track===e.outMediaTrack));t&&(this.removeSender(t),e.kind===MN.VIDEO&&e.small&&this._peerConnection.getSenders().forEach((e=>{e.track&&e.track.kind===MN.VIDEO&&this.removeSender(e)}))),yield this.updateOffer("remove",e.outMediaTrack)}))}replaceTrack(e){return cb(this,null,(function*(){var t;let i,n=null==(t=this._peerConnection)?void 0:t.getSenders();if(!n||0===n.length||!e.mediaTrack)return;if(i=yw()?e.kind===MN.AUDIO?n[0]:n[1]:n.find((t=>t.track&&t.track.kind===e.kind)),!i)return;let r=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info("is replacing ".concat(e.kind," track on ").concat(r?MN.AUXILIARY:MN.MAIN," stream")),e.kind===MN.AUDIO?yield i.replaceTrack(this._audioManager.mixedAudioTrack):e.kind===MN.VIDEO&&(r?n[3]&&(yield n[3].replaceTrack(e.outMediaTrack)):yield i.replaceTrack(e.outMediaTrack))}))}updateOffer(e,t){return cb(this,null,(function*(){try{let i=yield this._peerConnection.createOffer(Kx);Fb&&i.sdp&&(i.sdp=this.setSDPDirection(i.sdp,"sendrecv")),yield this._peerConnection.setLocalDescription(i);let n=this.updateMediaSettings(),r={action:e,trackId:t.id,kind:t.kind===MN.VIDEO?"bigVideo":t.kind,type:"offer",sdp:this._peerConnection.localDescription.sdp,constraintConfig:n,state:this.publishState};this._log.info("createOffer success, sending updated offer to remote server"),this._log.debug("updatedOffer: ".concat(r.sdp));let o=yield this._signalChannel.sendWaitForResponse({command:ox,data:r,responseCommand:rx.UPDATE_OFFER_RESULT,timeout:uD,commandDesc:"update offer"}),{code:s,message:a}=o.data;0!==s&&this.checkPublishResultCode(s,a),yield this.acceptAnswer(o.data.data),i.sdp&&this.updateSSRC(i.sdp)}catch(cN){throw this._log.error(cN),cN}}))}setBandwidth(e){return cb(this,arguments,(function(e){var t=this;let{bandwidth:i,type:n,videoType:r,sdp:o}=e;return function*(){if(!Cw())return o?n===MN.VIDEO?t.updateVideoBandwidthRestriction(o,i,r):t.updateAudioBandwidthRestriction(o,i):void 0;let e=0;n===MN.VIDEO&&(e=r===MN.SMALL?2:r===MN.AUXILIARY?3:1);let s=t._peerConnection.getSenders()[e];if(s){let e=s.getParameters();(!e.encodings||0===e.encodings.length)&&(e.encodings=[{}]),e.encodings[0].maxBitrate=1e3*i;try{return yield s.setParameters(e),t._log.info("".concat(r||"").concat(n," bandwidth ").concat(i," kbps")),o}catch(c){if(t._log.info("failed to set bandwidth by setting maxBitrate: ".concat(c)),o)return n===MN.VIDEO?t.updateVideoBandwidthRestriction(o,i,r):t.updateAudioBandwidthRestriction(o,i)}}return o}()}))}updateVideoBandwidthRestriction(e,t,i){let n="AS";Fb&&(n="TIAS",t*=1e3);let r=0,o=-1;return i===MN.SMALL?r=1:i===MN.AUXILIARY&&(r=2),e.replace(/m=video (.*)\r\nc=IN (.*)\r\n/g,(e=>(o+=1,o===r?"".concat(e,"b=").concat(n,":").concat(t,"\r\n"):e)))}updateAudioBandwidthRestriction(e,t){let i="AS";return Fb&&(i="TIAS",t*=1e3),e.replace(/m=audio (.*)\r\nc=IN (.*)\r\n/,"m=audio $1\r\nc=IN $2\r\nb=".concat(i,":").concat(t,"\r\n"))}removeBandwidthRestriction(e){return e.replace(/b=AS:.*\r\n/,"").replace(/b=TIAS:.*\r\n/,"")}removeVideoOrientation(e){return e.replace(/urn:3gpp:video-orientation/,"")}connect(){return cb(this,null,(function*(){try{yield this.exchangeSDP(),yield this.waitForPeerConnectionConnected()}catch(aN){throw this.closePeerConnection(!0),this.uninstallEvents(),aN}}))}exchangeSDP(){return cb(this,null,(function*(){try{yield this.createOffer(),this._log.info("createOffer success, sending offer to remote server"),yield this.doExchangeSDP()}catch(aN){throw aN}}))}createOffer(){return cb(this,null,(function*(){try{let e=yield this._peerConnection.createOffer(Kx);yield this._peerConnection.setLocalDescription(e),e.sdp&&this.updateSSRC(e.sdp)}catch(aN){throw aN}}))}doExchangeSDP(){let e={command:dx,responseCommand:rx.PUBLISH_RESULT,data:{type:this._peerConnection.localDescription.type,sdp:this.removeVideoOrientation(this._peerConnection.localDescription.sdp),screen:this.localMainVideoTrack instanceof lL||this.localAuxVideoTrack instanceof lL,state:this.publishState,constraintConfig:this._mediaSettings},enableLog:!1};return this._log.debug("sending sdp offer: ".concat(e.data.sdp)),this._signalChannel.sendWaitForResponse(e).then((e=>{let{code:t,message:i,data:n}=e.data;return 0===t?this.acceptAnswer(n):this.checkPublishResultCode(t,i)}))}setSDPDirection(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all",n=Hx(e);return n.media.forEach((e=>{("all"===i||e.type===i)&&(e.direction=t)})),jx(n)}acceptAnswer(e){return cb(this,null,(function*(){var t,i,n,r,o;try{let s;if(this._publishingLocalAudioTrack||this._publishingLocalVideoTrack||this.isMainStreamPublished){let e=(null==(t=this._publishingLocalVideoTrack)?void 0:t.profile.bitrate)||(null==(i=this.localMainVideoTrack)?void 0:i.profile.bitrate),o=(null==(n=this._publishingLocalAudioTrack)?void 0:n.profile.bitrate)||(null==(r=this.localMainAudioTrack)?void 0:r.profile.bitrate);if(e){let t=this._isPublishingAux?MN.AUXILIARY:MN.BIG;s=yield this.setBandwidth({bandwidth:e,type:MN.VIDEO,sdp:s,videoType:t})}o&&(s=yield this.setBandwidth({bandwidth:o,type:MN.AUDIO,sdp:s}))}if(s=this.removeVideoOrientation(e.sdp),null!=(o=this._publishingLocalVideoTrack)&&o.small){let{smallStreamConfig:e}=this._room;s=yield this.setBandwidth({bandwidth:this._publishingLocalVideoTrack.small.bitrate||e.bitrate,type:MN.VIDEO,videoType:MN.SMALL,sdp:s})}let a={type:e.type,sdp:s};yield this._peerConnection.setRemoteDescription(a),this._log.debug("accepted answer: ".concat(s))}catch(a){throw this._log.error("failed to accept remote answer ".concat(a)),a}}))}sendMutedFlag(e){var t,i,n;if(e===this.localAuxAudioTrack||e===this.localAuxVideoTrack)return;let r={audio:!(null==(t=this.localMainAudioTrack)||!t.muted),bigVideo:!(null==(i=this.localMainVideoTrack)||!i.muted),auxVideo:!(null==(n=this.localAuxVideoTrack)||!n.muted)};this._log.info("send muted state: ".concat(JSON.stringify(r))),this._signalChannel.send(lx,r)}getIsReconnecting(){return this._isReconnecting}reconnect(){return cb(this,null,(function*(){if(!(ab(qx.prototype,this,"beforeReconnect").call(this)<0))try{yield this._signalChannel.sendWaitForResponse({command:hx,responseCommand:rx.UNPUBLISH_RESULT,enableLog:!1}),this.closePeerConnection(),this.initialize(),this.isMainStreamPublished&&(yield this.publish({localAudioTrack:this.localMainAudioTrack,localVideoTrack:this.localMainVideoTrack,isAuxiliary:!1})),this.isAuxStreamPublished&&(yield this.publish({localAudioTrack:this.localAuxAudioTrack,localVideoTrack:this.localAuxVideoTrack,isAuxiliary:!0})),this._log.warn("reconnect() uplink reconnect successfully"),this.stopReconnection()}catch(aD){let t=tO(this._reconnectionCount);this._log.warn("reconnect() timeout, try again after ".concat(t/1e3,"s")),this._reconnectionTimer=setTimeout((()=>{this.clearReconnectionTimer(),this.reconnect()}),t)}}))}handleConnectionStateChange(e){"CONNECTED"===e.state&&(this.localMainVideoTrack||this._publishingLocalVideoTrack&&!this._isPublishingAux)&&UO.emit(BO.SEND_FIRST_VIDEO_FRAME,{room:this._room})}updateSSRC(e){try{Hx(e).media.forEach(((e,t)=>{if(e.type===MN.AUDIO){let t=e.ssrcs&&e.ssrcs[0];t&&(this.ssrc.audio=Number(t.id))}else{if(this._sdpSemantics===mD&&e.ssrcGroups)return void e.ssrcGroups.forEach(((e,t)=>{let i=Number(e.ssrcs.split(" ")[0]);0===t?this.ssrc.video=i:1===t&&(this.ssrc.small=i)}));let i=e.ssrcs&&e.ssrcs[0];if(!i)return;switch(t){case 1:this.ssrc.video=Number(i.id);break;case 2:this.ssrc.small=Number(i.id);break;case 3:this.ssrc.auxiliary=Number(i.id)}}}))}catch(aD){}}getVideoTrackId(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:MN.VIDEO;if(this._peerConnection){let t=this._peerConnection.getSenders();if(e===MN.AUXILIARY&&t[3]&&t[3].track)return t[3].track.id;if(e===MN.VIDEO&&t[1]&&t[1].track)return t[1].track.id}if(this.localMainVideoTrack&&e===MN.VIDEO){let e=this.localMainVideoTrack.mediaTrack;if(e)return e.id}if(this.localAuxVideoTrack&&e===MN.AUXILIARY){let e=this.localAuxVideoTrack.mediaTrack;if(e)return e.id}return""}getSSRC(){return this.ssrc}checkPublishResultCode(e,t){if(0!==e)throw e===_D?(this._log.error(KO.NOT_SUPPORTED_H264ENCODE),new Tb({code:fb.NOT_SUPPORTED_H264,message:QO({key:zO.NOT_SUPPORTED_H264ENCODE})})):new Tb({code:fb.UNKNOWN,message:QO({key:zO.SIGNAL_RESPONSE_FAILED,data:{signalResponse:rx.PUBLISH_RESULT,code:e,message:t}})})}sendSEI(e,t){var i;null==(i=this._sei)||i.push(e,t)}},Yx=qx;ob([nL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{let r=e=>{this._emitter.off("closed",r),n(new Tb({code:fb.API_CALL_ABORTED,message:QO({key:zO.CONNECTION_ABORTED,data:e})}))};this._emitter.on("closed",r),e.apply(this,i).then(t,n).finally((()=>{this._emitter.off("closed",r)}))}))}))],Yx.prototype,"publish",1),ob([iL(Fx.prototype.afterConnect),tL(Fx.prototype.beforeConnect)],Yx.prototype,"connect",1);var Qx=Yx,Xx=class{constructor(e,t){this.room=e,sb(this,"_log"),sb(this,"_prevReportTime"),sb(this,"_prevReport",{}),sb(this,"_prevEncoderImplementation"),sb(this,"_prevQualityLimitationReason"),sb(this,"_prevAuxQualityLimitationReason"),sb(this,"_prevDecoderImplementationMap",new Map),sb(this,"totalBytesSent",0),sb(this,"totalBytesReceived",0),sb(this,"_spcStats",null),this._log=t,this._prevReportTime=0,this._prevEncoderImplementation="",this._prevQualityLimitationReason="",this._prevAuxQualityLimitationReason=""}get statInterval(){return 0===this._prevReportTime?2:(Date.now()-this._prevReportTime)/1e3}getSenderStats(e){return cb(this,null,(function*(){let t={audio:{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0},video:{bytesSent:0,packetsSent:0,framesEncoded:0,frameWidth:0,frameHeight:0,framesSent:0,fpsCapture:0},small:{bytesSent:0,packetsSent:0,framesEncoded:0,frameWidth:0,frameHeight:0,framesSent:0,fpsCapture:0},auxiliary:{bytesSent:0,packetsSent:0,framesEncoded:0,frameWidth:0,frameHeight:0,framesSent:0,fpsCapture:0},rtt:0},i=e.getPeerConnection(),n=e.getSSRC();if(i)try{if((this._spcStats||(yield i.getStats())).forEach((i=>{if("outbound-rtp"===i.type)if((i.mediaType||i.kind)===MN.VIDEO){let r,o;if(i.ssrc===n.video?(r=MN.VIDEO,o=e.localMainVideoTrack):i.ssrc===n.small?r=MN.SMALL:i.ssrc===n.auxiliary&&(o=e.localAuxVideoTrack,r=MN.AUXILIARY),!r)return;t[r].bytesSent=i.bytesSent,t[r].packetsSent=i.packetsSent,t[r].framesEncoded=i.framesEncoded,rO(i.keyFramesEncoded)||(t[r].keyFramesEncoded=i.keyFramesEncoded),rO(i.nackCount)||(t[r].nackCount=i.nackCount),rO(i.pliCount)||(t[r].pliCount=i.pliCount),rO(i.retransmittedPacketsSent)||(t[r].retransmittedPacketsSent=i.retransmittedPacketsSent),rO(i.totalEncodeTime)||(t[r].totalEncodeTime=i.totalEncodeTime),rO(i.totalPacketSendDelay)||(t[r].totalPacketSendDelay=i.totalPacketSendDelay),i.ssrc===n.video?(!rO(i.encoderImplementation)&&this._prevEncoderImplementation!==i.encoderImplementation&&(this._log.info("encoderImplementation change to ".concat(i.encoderImplementation)),this._prevEncoderImplementation=i.encoderImplementation),!rO(i.qualityLimitationReason)&&0!==i.bytesSent&&this._prevQualityLimitationReason!==i.qualityLimitationReason&&(this._log.info("qualityLimitationReason change to ".concat(i.qualityLimitationReason)),this._prevQualityLimitationReason=i.qualityLimitationReason)):i.ssrc===n.auxiliary&&!rO(i.qualityLimitationReason)&&0!==i.bytesSent&&this._prevAuxQualityLimitationReason!==i.qualityLimitationReason&&(this._log.info("aux qualityLimitationReason change to ".concat(i.qualityLimitationReason)),this._prevAuxQualityLimitationReason=i.qualityLimitationReason)}else t.audio.bytesSent=i.bytesSent,t.audio.packetsSent=i.packetsSent;else"candidate-pair"===i.type?hw(i)&&sO(i.currentRoundTripTime)&&(t.rtt=Math.floor(1e3*i.currentRoundTripTime),this.totalBytesSent=i.bytesSent):"media-source"===i.type&&(i.kind===MN.AUDIO?(t.audio.audioLevel=i.audioLevel||0,t.audio.totalAudioEnergy=i.totalAudioEnergy||0):i.kind===MN.VIDEO&&(i.trackIdentifier===e.getVideoTrackId(MN.VIDEO)?t.video.fpsCapture=i.framesPerSecond:i.trackIdentifier===e.getVideoTrackId(MN.AUXILIARY)?t.auxiliary.fpsCapture=i.framesPerSecond:t.small.fpsCapture=i.framesPerSecond));if(rO(i.audioLevel)||(t.audio.audioLevel=i.audioLevel||0),!rO(i.frameWidth)){let r=MN.SMALL;i.trackIdentifier===e.getVideoTrackId(MN.VIDEO)||i.ssrc===n.video?r=MN.VIDEO:(i.trackIdentifier===e.getVideoTrackId(MN.AUXILIARY)||i.ssrc===n.auxiliary)&&(r=MN.AUXILIARY),t[r].frameWidth=i.frameWidth,t[r].frameHeight=i.frameHeight,t[r].framesSent=i.framesSent}})),e.localMainAudioTrack){let i=e.localMainAudioTrack.getInternalAudioLevel();t.audio.micAudioLevel=i,0===t.audio.audioLevel&&(t.audio.audioLevel=i)}this.totalBytesSent||(this.totalBytesSent+=t.audio.bytesSent+t.video.bytesSent+t.auxiliary.bytesSent)}catch(o){this._log.warn("failed to getStats on sender connection ".concat(o))}return t}))}getReceiverStats(e){return cb(this,null,(function*(){let t={tinyId:e.tinyId,userId:e.userId,rtt:0,hasAudio:!1,hasVideo:!1,hasAuxiliary:!1,isSmallSubscribed:!1,audio:{bytesReceived:0,packetsReceived:0,packetsLost:0,jitter:0,audioLevel:0,totalAudioEnergy:0,insertedSamplesForDeceleration:0,removedSamplesForAcceleration:0},video:{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,fpsDecoded:0},auxiliary:{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,fpsDecoded:0}},i=e.getPeerConnection();if(i)try{let{ssrc:n}=e,{muteState:r,subscribeState:o}=e;(this._spcStats||(yield i.getStats())).forEach((i=>{if("inbound-rtp"===i.type)if((i.mediaType||i.kind)===MN.AUDIO){if(i.ssrc!==n.audio||!r.hasAudio)return;t.audio.packetsReceived=i.packetsReceived,t.audio.bytesReceived=i.bytesReceived,t.audio.packetsLost=i.packetsLost,i.insertedSamplesForDeceleration&&(t.audio.insertedSamplesForDeceleration=i.insertedSamplesForDeceleration),i.removedSamplesForAcceleration&&(t.audio.removedSamplesForAcceleration=i.removedSamplesForAcceleration);let{remoteAudioTrack:o}=e;o.stat.packetsReceived=i.packetsReceived,o.stat.bytesReceived=i.bytesReceived,o.stat.packetsLost=i.packetsLost,i.jitterBufferDelay&&(o.stat.jitterBufferDelay=Math.floor(i.jitterBufferDelay/i.jitterBufferEmittedCount*1e3)),t.hasAudio=!0}else{if(Fb&&0===i.bytesReceived)return;let s;i.ssrc===n.video&&r.hasVideo&&(t.video.packetsReceived=i.packetsReceived,t.video.bytesReceived=i.bytesReceived,t.video.packetsLost=i.packetsLost,t.video.framesReceived=i.framesReceived,t.video.framesDecoded=i.framesDecoded,t.video.fpsDecoded=i.framesPerSecond,t.hasVideo=!0,s=e.remoteVideoTrack,r.hasSmall&&o.smallVideo&&(t.isSmallSubscribed=!0),i.decoderImplementation&&(!this._prevDecoderImplementationMap.has(t.userId)||this._prevDecoderImplementationMap.get(t.userId)!==i.decoderImplementation)&&(this._log.info("".concat(t.userId," decoderImplementation change to ").concat(i.decoderImplementation)),this._prevDecoderImplementationMap.set(t.userId,i.decoderImplementation))),i.ssrc===n.auxiliary&&r.hasAuxiliary&&(t.auxiliary.packetsReceived=i.packetsReceived,t.auxiliary.bytesReceived=i.bytesReceived,t.auxiliary.packetsLost=i.packetsLost,t.auxiliary.framesReceived=i.framesReceived,t.auxiliary.framesDecoded=i.framesDecoded,t.auxiliary.fpsDecoded=i.framesPerSecond,s=e.remoteAuxiliaryTrack,t.hasAuxiliary=!0),s&&(s.stat.packetsReceived=i.packetsReceived,s.stat.bytesReceived=i.bytesReceived,s.stat.packetsLost=i.packetsLost,s.stat.framesReceived=i.framesReceived,s.stat.framesDecoded=i.framesDecoded,i.jitterBufferDelay&&(s.stat.jitterBufferDelay=Math.floor(i.jitterBufferDelay/i.jitterBufferEmittedCount*1e3)))}else"candidate-pair"===i.type&&hw(i)&&sO(i.currentRoundTripTime)&&(t.rtt=Math.floor(1e3*i.currentRoundTripTime),this.totalBytesReceived=i.bytesReceived);rO(i.frameWidth)||((i.trackIdentifier===e.getMainStreamVideoTrackId()||i.ssrc===n.video)&&(t.video.frameWidth=i.frameWidth,t.video.frameHeight=i.frameHeight,e.remoteVideoTrack.stat.frameWidth=i.frameWidth,e.remoteVideoTrack.stat.frameHeight=i.frameHeight),(i.trackIdentifier===e.getAuxStreamVideoTrackId()||i.ssrc===n.auxiliary)&&(t.auxiliary.frameWidth=i.frameWidth,t.auxiliary.frameHeight=i.frameHeight,e.remoteAuxiliaryTrack.stat.frameWidth=i.frameWidth,e.remoteAuxiliaryTrack.stat.frameHeight=i.frameHeight)),rO(i.audioLevel)||(t.audio.audioLevel=i.audioLevel||0,t.audio.totalAudioEnergy=i.totalAudioEnergy||0)})),0===t.audio.audioLevel&&(t.audio.audioLevel=e.remoteAudioTrack.getInternalAudioLevel()||0),this.totalBytesReceived||(this.totalBytesReceived+=t.audio.bytesReceived+t.video.bytesReceived+t.auxiliary.bytesReceived)}catch(cN){this._log.warn("failed to getStats on receiver connection ".concat(cN))}return t}))}getStats(e,t){return cb(this,null,(function*(){let i={},n=[];if(this.room.singlePC){let e=this.room.singlePC.getPeerConnection();if(!e)return{senderStats:i,receiverStats:n};let t=yield e.getStats(),r=[],o=new Set(["inbound-rtp","outbound-rtp","track","candidate-pair","media-source"]);t.forEach((e=>o.has(e.type)&&r.push(e))),this._spcStats=r}e&&(i=yield this.getSenderStats(e));for(let[e,r]of t){let e=yield this.getReceiverStats(r);n.push(e)}return{senderStats:i,receiverStats:n}}))}getDifferenceValue(e,t){if(UP(e))return t;let i=t-e;return i<0?0:i}prepareReport(e){let{stats:t,report:i,freezeMap:n}=e;if(!UP(t.senderStats)){let e={uint32_audio_level:t.senderStats.audio.audioLevel*UD,uint32_audio_energy:1e6*t.senderStats.audio.totalAudioEnergy,uint32_audio_codec_bitrate:t.senderStats.audio.bytesSent};t.senderStats.audio.micAudioLevel&&(e.uint32_mic_audio_level=t.senderStats.audio.micAudioLevel*UD);let n=[];if(t.senderStats.video.bytesSent){let e={uint32_video_stream_type:2,uint32_video_codec_fps:t.senderStats.video.framesSent,uint32_video_capture_fps:t.senderStats.video.fpsCapture,uint32_video_width:t.senderStats.video.frameWidth,uint32_video_height:t.senderStats.video.frameHeight,uint32_video_codec_bitrate:t.senderStats.video.bytesSent,uint32_video_enc_fps:t.senderStats.video.framesEncoded,uint32_key_frame_count:t.senderStats.video.keyFramesEncoded,uint32_nack_count:t.senderStats.video.nackCount,uint32_pli_count:t.senderStats.video.pliCount,uint32_encode_cost:1e3*(t.senderStats.video.totalEncodeTime||0),uint32_send_packet_cost:1e3*(t.senderStats.video.totalPacketSendDelay||0),uint32_video_arq_packets:t.senderStats.video.retransmittedPacketsSent};n.push(e)}if(t.senderStats.small.bytesSent){let e={uint32_video_stream_type:3,uint32_video_codec_fps:t.senderStats.small.framesSent||0,uint32_video_capture_fps:t.senderStats.small.fpsCapture||0,uint32_video_width:t.senderStats.small.frameWidth||0,uint32_video_height:t.senderStats.small.frameHeight||0,uint32_video_codec_bitrate:t.senderStats.small.bytesSent,uint32_video_enc_fps:t.senderStats.small.framesEncoded||0,uint32_key_frame_count:t.senderStats.small.keyFramesEncoded,uint32_nack_count:t.senderStats.small.nackCount,uint32_pli_count:t.senderStats.small.pliCount,uint32_encode_cost:1e3*(t.senderStats.small.totalEncodeTime||0),uint32_send_packet_cost:1e3*(t.senderStats.small.totalPacketSendDelay||0),uint32_video_arq_packets:t.senderStats.small.retransmittedPacketsSent};n.push(e)}if(t.senderStats.auxiliary.bytesSent){let e={uint32_video_stream_type:7,uint32_video_codec_fps:t.senderStats.auxiliary.framesSent||0,uint32_video_capture_fps:t.senderStats.auxiliary.fpsCapture||0,uint32_video_width:t.senderStats.auxiliary.frameWidth||0,uint32_video_height:t.senderStats.auxiliary.frameHeight||0,uint32_video_codec_bitrate:t.senderStats.auxiliary.bytesSent,uint32_video_enc_fps:t.senderStats.auxiliary.framesEncoded||0,uint32_key_frame_count:t.senderStats.auxiliary.keyFramesEncoded,uint32_nack_count:t.senderStats.auxiliary.nackCount,uint32_pli_count:t.senderStats.auxiliary.pliCount,uint32_encode_cost:1e3*(t.senderStats.auxiliary.totalEncodeTime||0),uint32_send_packet_cost:1e3*(t.senderStats.auxiliary.totalPacketSendDelay||0),uint32_video_arq_packets:t.senderStats.auxiliary.retransmittedPacketsSent};n.push(e)}let r={uint32_bitrate:0,uint32_lost:0,uint32_rtt:t.senderStats.rtt};i.msg_up_stream_info={msg_audio_status:e,msg_video_status:n,msg_network_status:r}}let{statInterval:r}=this;i.msg_down_stream_info=[],t.receiverStats.forEach((e=>{let t={msg_user_info:{str_identifier:e.userId,uint64_tinyid:e.tinyId},msg_network_status:{uint32_rtt:e.rtt,uint32_bitrate:0,uint32_lost:0},msg_audio_status:{},msg_video_status:[]};if(e.hasAudio){let i={uint32_audio_codec_bitrate:e.audio.bytesReceived,uint32_audio_total_bitrate:e.audio.bytesReceived,uint32_audio_level:1e8*e.audio.audioLevel,uint32_audio_energy:1e6*e.audio.totalAudioEnergy,uint32_audio_receive:e.audio.packetsReceived,uint32_audio_origin_lost:e.audio.packetsLost};t.msg_audio_status=i}if(e.hasVideo){let i=n.get("".concat(e.userId,"_").concat(KN)),r=i?i.duration:0,o={uint32_video_stream_type:e.isSmallSubscribed?3:2,uint32_video_receive_fps:e.video.framesReceived,uint32_video_width:e.video.frameWidth,uint32_video_height:e.video.frameHeight,uint32_video_codec_bitrate:e.video.bytesReceived,uint32_video_receive:e.video.packetsReceived,uint32_video_origin_lost:e.video.packetsLost,uint32_video_block_time:r,uint32_video_dec_fps:e.video.framesDecoded};t.msg_video_status.push(o)}if(e.hasAuxiliary){let i=n.get("".concat(e.userId,"_").concat(qN)),r=i?i.duration:0,o={uint32_video_stream_type:7,uint32_video_receive_fps:e.auxiliary.framesReceived,uint32_video_width:e.auxiliary.frameWidth,uint32_video_height:e.auxiliary.frameHeight,uint32_video_codec_bitrate:e.auxiliary.bytesReceived,uint32_video_receive:e.auxiliary.packetsReceived+e.auxiliary.packetsLost,uint32_video_origin_lost:e.auxiliary.packetsLost,uint32_video_block_time:r,uint32_video_dec_fps:e.auxiliary.framesDecoded};t.msg_video_status.push(o)}i.msg_down_stream_info.push(t)}));let o=this._prevReport;if(this._prevReport=JSON.parse(JSON.stringify(i)),i.msg_up_stream_info.msg_audio_status&&o.msg_up_stream_info.msg_audio_status){let e=o.msg_up_stream_info.msg_audio_status,t=i.msg_up_stream_info.msg_audio_status;if(0===e.uint32_audio_codec_bitrate)t.uint32_audio_codec_bitrate=0;else{let n=this.getDifferenceValue(e.uint32_audio_codec_bitrate,t.uint32_audio_codec_bitrate);t.uint32_audio_codec_bitrate=Math.round(8*n/r),i.msg_up_stream_info.msg_network_status.uint32_bitrate+=t.uint32_audio_codec_bitrate}}let s=o.msg_up_stream_info.msg_video_status;i.msg_up_stream_info.msg_video_status.forEach((e=>{let t=s.find((t=>t.uint32_video_stream_type===e.uint32_video_stream_type));if(!t||0===t.uint32_video_codec_bitrate)return e.uint32_video_codec_bitrate=0,e.uint32_video_enc_fps=0,void(e.uint32_video_codec_fps=0);let n=0,o=0,a=0;t&&e.uint32_video_codec_bitrate>=t.uint32_video_codec_bitrate&&(n=t.uint32_video_codec_bitrate,o=t.uint32_video_enc_fps,a=t.uint32_video_codec_fps);let c=this.getDifferenceValue(n,e.uint32_video_codec_bitrate);e.uint32_video_codec_bitrate=Math.round(8*c/r),i.msg_up_stream_info.msg_network_status.uint32_bitrate+=e.uint32_video_codec_bitrate,e.uint32_video_enc_fps=Math.round(this.getDifferenceValue(o,e.uint32_video_enc_fps)/r),e.uint32_video_codec_fps=Math.round(this.getDifferenceValue(a,e.uint32_video_codec_fps)/r),_k&&115===Pk()&&0===t.uint32_video_width&&0===t.uint32_video_height&&0===t.uint32_video_codec_fps&&(e.uint32_video_codec_fps=e.uint32_video_enc_fps),rO(t.uint32_key_frame_count)||(e.uint32_key_frame_count=Math.round(this.getDifferenceValue(t.uint32_key_frame_count,e.uint32_key_frame_count))),rO(t.uint32_nack_count)||(e.uint32_nack_count=Math.round(this.getDifferenceValue(t.uint32_nack_count,e.uint32_nack_count))),rO(t.uint32_pli_count)||(e.uint32_pli_count=Math.round(this.getDifferenceValue(t.uint32_pli_count,e.uint32_pli_count))),rO(t.uint32_video_arq_packets)||(e.uint32_video_arq_packets=Math.round(this.getDifferenceValue(t.uint32_video_arq_packets,e.uint32_video_arq_packets))),rO(t.uint32_encode_cost)||(e.uint32_encode_cost=Math.round(this.getDifferenceValue(t.uint32_encode_cost,e.uint32_encode_cost)/r)),rO(t.uint32_send_packet_cost)||(e.uint32_send_packet_cost=Math.round(this.getDifferenceValue(t.uint32_send_packet_cost,e.uint32_send_packet_cost)/r))}));let a=i.msg_down_stream_info,c=o.msg_down_stream_info;return a.forEach((e=>{let t=c.find((t=>t.msg_user_info.uint64_tinyid===e.msg_user_info.uint64_tinyid));if(t){if(UP(e.msg_audio_status)||UP(t.msg_audio_status))e.msg_audio_status={};else{let i=e.msg_audio_status,n=t.msg_audio_status;i.uint32_audio_origin_lost=this.getDifferenceValue(n.uint32_audio_origin_lost,i.uint32_audio_origin_lost),i.uint32_audio_receive=this.getDifferenceValue(n.uint32_audio_receive,i.uint32_audio_receive),i.uint32_audio_receive+=i.uint32_audio_origin_lost;let o=this.getDifferenceValue(n.uint32_audio_codec_bitrate,i.uint32_audio_codec_bitrate);i.uint32_audio_codec_bitrate=Math.round(8*o/r),i.uint32_audio_total_bitrate=Math.round(8*o/r)}if(e.msg_video_status&&t.msg_video_status){let i=t.msg_video_status;e.msg_video_status=e.msg_video_status.filter((e=>i.find((t=>t.uint32_video_stream_type===e.uint32_video_stream_type)))),e.msg_video_status.forEach((e=>{let t=i.find((t=>t.uint32_video_stream_type===e.uint32_video_stream_type)),n=t.uint32_video_receive,o=t.uint32_video_origin_lost,s=t.uint32_video_codec_bitrate,a=t.uint32_video_receive_fps,c=t.uint32_video_dec_fps;e.uint32_video_origin_lost=this.getDifferenceValue(o,e.uint32_video_origin_lost),e.uint32_video_receive=this.getDifferenceValue(n,e.uint32_video_receive)+e.uint32_video_origin_lost;let l=this.getDifferenceValue(s,e.uint32_video_codec_bitrate);e.uint32_video_codec_bitrate=Math.round(8*l/r);let d=this.getDifferenceValue(a,e.uint32_video_receive_fps);e.uint32_video_receive_fps=Math.round(d/r),e.uint32_video_dec_fps=Math.round(this.getDifferenceValue(c,e.uint32_video_dec_fps)/r)}))}}})),i}getStatsReport(e){return cb(this,arguments,(function(e){var t=this;let{uplinkConnection:i,downlinkConnections:n,freezeMap:r}=e;return function*(){let e={msg_up_stream_info:{msg_audio_status:{uint32_audio_format:11,uint32_audio_sample_rate:0,uint32_audio_codec_bitrate:0,uint32_audio_receive:0,uint32_audio_origin_lost:0,uint32_audio_level:0,uint32_audio_energy:0},msg_video_status:[],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0}},msg_down_stream_info:[{msg_user_info:{str_identifier:"",uint64_tinyid:0},msg_audio_status:{uint32_audio_format:11,uint32_audio_sample_rate:0,uint32_audio_codec_bitrate:0,uint32_audio_total_bitrate:0,uint32_audio_level:0,uint32_audio_energy:0,uint32_audio_receive:0,uint32_audio_origin_lost:0,uint32_audio_final_lost:0},msg_video_status:[{uint32_video_stream_type:0,uint32_video_receive_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_codec_bitrate:0,uint32_video_receive:0,uint32_video_origin_lost:0,uint32_video_block_time:0,uint32_video_dec_fps:0}],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0}}]},o=yield t.getStats(i,n);return"{}"===JSON.stringify(t._prevReport)&&(t._prevReport=JSON.parse(JSON.stringify(e))),t.prepareReport({stats:o,report:e,freezeMap:r}),t._prevReportTime=Date.now(),e}()}))}reset(){this._prevReportTime=0,this._prevReport={},this._prevEncoderImplementation="",this._prevQualityLimitationReason="",this._prevDecoderImplementationMap=new Map}},$x=rb(lb()),Zx=class extends $x.default{constructor(e){let{signalChannel:t,room:i}=e;super(),sb(this,"_room"),sb(this,"_signalChannel"),sb(this,"_log"),sb(this,"_uplinkRTT",0),sb(this,"_uplinkLoss",0),sb(this,"_downlinkRTT",0),sb(this,"_downlinkLoss",0),sb(this,"_downlinkPrevStatMap",new Map),sb(this,"_downlinkLossAndRTTMap",new Map),sb(this,"_interval",-1),sb(this,"_uplinkNetworkQuality",0),sb(this,"_downlinkNetworkQuality",0),this._room=i,this._signalChannel=t,this._log=jO.createLogger({id:"q",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),this.initialize()}get uplinkNetworkQuality(){return this._uplinkNetworkQuality}set uplinkNetworkQuality(e){e!==this._uplinkNetworkQuality&&this._log.info("uplink ".concat(this.uplinkNetworkQuality," -> ").concat(e,", rtt: ").concat(this._uplinkRTT,", loss: ").concat(this._uplinkLoss)),this._uplinkNetworkQuality=e}get downlinkNetworkQuality(){return this._downlinkNetworkQuality}set downlinkNetworkQuality(e){if(e!==this._downlinkNetworkQuality){let{rtt:t,loss:i}=this.getAverageLossAndRTT([...this._downlinkLossAndRTTMap.values()]);this._log.info("downlink ".concat(this.downlinkNetworkQuality," -> ").concat(e,", rtt: ").concat(t,", loss: ").concat(i))}this._downlinkNetworkQuality=e}initialize(){this._signalChannel.on(rx.UPLINK_NETWORK_STATS,(e=>{this.handleUplinkNetworkQuality(e)})),this._signalChannel.on(QM,this.handleSignalConnectionStateChange.bind(this)),this.start()}handleUplinkNetworkQuality(e){var t,i;if(0!==e.data.code)return;let n=e.data.data;if(n.delay&&this.updateDelay(n.delay),!this._room.uplinkConnection)return this.uplinkNetworkQuality=0,this._uplinkLoss=0,void(this._uplinkRTT=0);let r=null==(i=null==(t=this._room)?void 0:t.uplinkConnection)?void 0:i.getPeerConnection();if(r&&this.isPeerConnectionDisconnected(r))return this.uplinkNetworkQuality=6,this._uplinkLoss=0,void(this._uplinkRTT=0);let o=n.expectAudPkg+n.expectVidPkg,s=n.recvAudPkg+n.recvVidPkg,a=o-s;0===o&&0===s||(this._uplinkLoss=a<=0?0:Math.round(a/o*100),this._uplinkRTT=n.rtt,this.uplinkNetworkQuality=this.getNetworkQuality(this._uplinkLoss,this._uplinkRTT))}handleDownlinkNetworkQuality(){return cb(this,null,(function*(){if(0===this._room.remotePublishedUserMap.size)return void(this.downlinkNetworkQuality=0);let e=[...this._room.remotePublishedUserMap.values()],t=e.filter((e=>{var t;return(null==(t=e.getPeerConnection())?void 0:t.connectionState)===nD.CONNECTED}));if(e.filter((e=>this.isPeerConnectionDisconnected(e.getPeerConnection()))).length===e.length)return void(this.downlinkNetworkQuality=6);for(let r=0;r{this.isPeerConnectionDisconnected(e)&&(this._downlinkPrevStatMap.delete(e),this._downlinkLossAndRTTMap.delete(e))})),0===this._downlinkLossAndRTTMap.size)return;let{rtt:i,loss:n}=this.getAverageLossAndRTT([...this._downlinkLossAndRTTMap.values()]);this._downlinkRTT=i,this._downlinkLoss=n,this.downlinkNetworkQuality=this.getNetworkQuality(n,i)}))}getStat(e){return cb(this,null,(function*(){let t={rtt:0,totalPacketsLost:0,totalPacketsReceived:0};if(!e||!Ew())return t;let i=e.getReceivers();try{for(let e=0;e{"candidate-pair"===e.type&&sO(e.currentRoundTripTime)&&(t.rtt=Math.round(1e3*e.currentRoundTripTime)),"inbound-rtp"===e.type&&(e.mediaType===MN.AUDIO||e.mediaType===MN.VIDEO)&&(t.totalPacketsLost+=e.packetsLost,t.totalPacketsReceived+=e.packetsReceived)}));return t}catch(r){return t}}))}getAverageLossAndRTT(e){let t={rtt:0,loss:0};return Array.isArray(e)&&e.length>0&&(e.forEach((e=>{t.rtt+=e.rtt,t.loss+=e.loss})),Object.keys(t).forEach((i=>{t[i]=Math.round(t[i]/e.length)}))),t}getNetworkQuality(e,t){return e>50||t>500?5:e>30||t>350?4:e>20||t>200?3:e>10||t>100?2:e>=0||t>=0?1:0}handleSignalConnectionStateChange(e){e.state===ZM?(this._uplinkRTT=0,this._uplinkLoss=0,this.uplinkNetworkQuality=6):e.state===tx&&6===this.uplinkNetworkQuality&&(this.uplinkNetworkQuality=5)}handleUplinkConnectionStateChange(e){let{state:t}=e;"DISCONNECTED"===t?(this._uplinkLoss=0,this._uplinkRTT=0,this.uplinkNetworkQuality=6):"CONNECTED"===t&&6===this.uplinkNetworkQuality&&(this.uplinkNetworkQuality=5)}isPeerConnectionDisconnected(e){return!(!e||e.connectionState!==nD.DISCONNECTED&&e.connectionState!==nD.FAILED&&e.connectionState!==nD.CLOSED)}setUplinkConnection(e){this._room.uplinkConnection=e,this._room.uplinkConnection?this._room.uplinkConnection.on("connection-state-changed",this.handleUplinkConnectionStateChange.bind(this)):(this.uplinkNetworkQuality=0,this._uplinkRTT=0,this._uplinkLoss=0)}start(){-1===this._interval?(this._log.debug("start network quality calculating"),this._interval=Yw.run(PD,(()=>{this.handleDownlinkNetworkQuality();let e=[...this._downlinkLossAndRTTMap.values()];UO.emit(BO.NETWORK_QUALITY,{room:this._room,uplink:{rtt:this._uplinkRTT,loss:this._uplinkLoss},downlinks:e}),this.emit(Zx.EVENT_NETWORK_QUALITY,{uplinkNetworkQuality:this.uplinkNetworkQuality,downlinkNetworkQuality:this.downlinkNetworkQuality,uplinkRTT:this._uplinkRTT,uplinkLoss:this._uplinkLoss,downlinkRTT:this._downlinkRTT,downlinkLoss:this._downlinkLoss,downlinkInfo:e})}),{delay:2e3})):this._log.info("network quality calculating is already started")}stop(){this._log.debug("stopped"),-1!==this._interval&&(Yw.clearTask(this._interval),this._interval=-1),this._downlinkLossAndRTTMap.clear(),this._downlinkPrevStatMap.clear()}updateDelay(e){let{tinyIdToUserIdMap:t}=this._room;e.forEach((e=>{let{srcTinyId:i,videoDelay:n,audioDelay:r}=e,o=t.get(i);if(o){let e=this._room.remotePublishedUserMap.get(o);null==e||e.setDelay({videoDelay:n,audioDelay:r})}}))}},eV=Zx;sb(eV,"EVENT_NETWORK_QUALITY","0");var tV=new WeakMap;function iV(e){let{settings:t={retries:5,timeout:2e3},onError:i,onRetrying:n,onRetryFailed:r}=e;return function(e,o,s){let a=xO({retryFunction:s.value,settings:t,onError(t){let{error:n,retry:r,reject:s,retryFuncArgs:a}=t;i&&i.call(this,n,(()=>{var t;null!=(t=tV.get(e))&&t.has(o)?r():s(n)}),s,a)},onRetrying:(t,i)=>{var r;nO(n)&&n(t,i),null!=(r=tV.get(e))&&r.has(o)&&(tV.get(e).get(o).stopRetry=i)},onRetryFailed:r});return s.value=function(){let t=tV.get(e);for(var i=arguments.length,n=new Array(i),r=0;r{var t;return null==(t=tV.get(e))?void 0:t.delete(o)}))},s}}function nV(e){let{fnName:t,callback:i,validateArgs:n=!0}=e;return function(e,r,o){let s=o.value;return o.value=function(){for(var r,o,a=arguments.length,c=new Array(a),l=0;lt===e))){a=!1;break}a&&(i&&i.apply(this,c),r&&r(),null==(o=tV.get(e))||o.delete(t))}return s.apply(this,c)},o}}var rV=class{constructor(e){this._signalInfo={tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0},this._apiSuccessRateMap=new Map,this._eventMap=new Map,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=jO.createLogger({id:"kpm",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith("handle")&&nO(this[e])&&(this[e]=function(e){let{fn:t,context:i}=e;return function(){try{for(var e=arguments.length,n=new Array(e),r=0;rjO.error("".concat(t.name,"() error observed ").concat(e)))):o}catch(aD){jO.error("".concat(t.name,"() error observed ").concat(aD))}}}({fn:this[e],context:this}))})),this.initData(),this.installEvents(),this._intervalId=Yw.run(PD,this.setStorage.bind(this),{delay:2e4})}get _storageKey(){return"".concat(this._keyPrefix,"_").concat(this._room.userId)}initData(){this._firstPublishedUserList=[],this._networkQuality={totalUplinkRTT:0,totalUplinkLoss:0,count:0,totalDownlinkRTTAndLossMap:new Map},this._basicInfo={string_sdk_version:oN,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:NN[WD()],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,this._apiSuccessRateMap.clear(),Zk().then((e=>{this._basicInfo.string_os_version=iN(),e&&(this._basicInfo.string_device_name=e.model)}))}addEvent(e,t){return this._eventMap.set(e,t),UO.on(e,t),this}installEvents(){this.handleUnload=this.handleUnload.bind(this),window.addEventListener("unload",this.handleUnload),this._room.once("banned",(()=>this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId}))),this.addEvent(BO.JOIN_START,this.handleJoinStart).addEvent(BO.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(BO.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(BO.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(BO.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(BO.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(BO.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(BO.JOIN_FAILED,this.handleJoinFailed).addEvent(BO.LEAVE_START,this.handleLeaveStart).addEvent(BO.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(BO.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(BO.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(BO.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(BO.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(BO.PUBLISH_START,this.handlePublishStart).addEvent(BO.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(BO.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(BO.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(BO.PLAY_TRACK_START,this.handlePlayStart).addEvent(BO.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(BO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:i,type:n}=e;!uO(t)||!this.hitTest(t.room)||"PLAYING"===i&&(n===MN.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(BO.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(BO.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(BO.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(BO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:i,muteState:n}=e;if(!this.hitTest(t))return;let r=i.hasAudio||i.hasVideo||i.hasSmall,o=i.hasAuxiliary,s=n.hasAudio||n.hasVideo||n.hasSmall,a=n.hasAuxiliary;!r&&s&&this.handleRemoteStreamAdded(n.userId,"main"),!o&&a&&this.handleRemoteStreamAdded(n.userId,"auxiliary")})).addEvent(BO.API_SUCCESS_RATE,this.handleAPISuccessRate).addEvent(BO.SINGLE_CONNECTION_STAT,(e=>{let{room:t,stat:i}=e;this.hitTest(t)&&(this._pathJoinRoom.int32_ice_cost=i.ice,this._pathJoinRoom.int32_dtls_cost=i.dtls,this._pathJoinRoom.int32_peer_connection_cost=i.peerConnection)}))}uninstallEvents(){window.removeEventListener("unload",this.handleUnload),this._eventMap.forEach(((e,t)=>UO.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),Yw.clearTask(this._intervalId)}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(),this.checkStorage()),e.params&&(rO(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),rO(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),rO(e.params.language)||(this._language=e.params.language,this._basicInfo.uint32_caller_coding_language=this._language)))}handleJoinScheduleSuccess(e){let{room:t,detailCost:i}=e;if(this.hitTest(t)&&i){let{totalCost:e,local:t,dns:n,tcp:r,tls:o,request:s,response:a}=i;this._pathJoinRoom.int32_schedule_cost=e,this._pathJoinRoom.int32_schedule_local=t,this._pathJoinRoom.int32_schedule_dns=n,this._pathJoinRoom.int32_schedule_tcp=r,this._pathJoinRoom.int32_schedule_tls=o,this._pathJoinRoom.int32_schedule_request=s,this._pathJoinRoom.int32_schedule_response=a}}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:i}=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(),i&&(this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret=i instanceof Tb?Number(i.getExtraCode()||i.getCode()):fb.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:i}=e;this.hitTest(t)&&(this._pathJoinRoom.uint64_end_time=Date.now(),0===this._pathJoinRoom.int32_end_ret&&(this._pathJoinRoom.int32_end_ret=i.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())}handleRemoteStreamAdded(e,t){var i;let n="".concat(e,"_").concat(t);if(!this._remoteStreamStatMap.has(n)){let r={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:tb(eb({},aV),{msg_user_info:new cV({userId:e,tinyId:null==(i=this._room.remotePublishedUserMap.get(e))?void 0:i.tinyId,role:20})})};r.statsToReport.uint32_stream_type="main"===t?2:7,this._remoteStreamStatMap.set(n,r)}}handleSubscribeStart(e){let{room:t,remotePublishedUser:i,streamType:n,subscribeState:r}=e;if(!this.hitTest(t))return;let{userId:o,tinyId:s,role:a}=i,c=new cV({userId:o,tinyId:s,role:"anchor"===a?20:21}),l=Date.now(),d="".concat(o,"_").concat(n),u=this._remoteStreamStatMap.get(d);u&&0===u.subscribeStartTime&&(u.subscribeStartTime=l),"main"===n?(i.muteState.hasVideo&&(r.video||r.smallVideo)&&!this._pathMainVideoMap.has(d)&&this._pathMainVideoMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_render_first_frame_time:0,uint64_combine_first_frame_time:0},userId:o,sendSubscribeCMDTime:l}),i.muteState.hasAudio&&r.audio&&!this._pathMainAudioMap.has(d)&&this._pathMainAudioMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_play_first_frame_time:0},userId:o,sendSubscribeCMDTime:l})):i.muteState.hasAuxiliary&&r.auxiliary&&!this._pathAuxiliaryMap.has(d)&&this._pathAuxiliaryMap.set(d,{sendSubscribeCMDTime:l})}handleSubscribed(e){let{room:t,remotePublishedUser:i,streamType:n}=e;if(this.hitTest(t)){let e="".concat(i.userId,"_").concat(n),t=this._remoteStreamStatMap.get(e);t&&0===t.subscribedTime&&(t.subscribedTime=Date.now())}}handlePlayStart(e){let{track:t}=e;if(!uO(t)||!this.hitTest(t.room))return;let i="".concat(t.userId,"_").concat(t.streamType),n=this._remoteStreamStatMap.get(i);0===(null==n?void 0:n.playStreamTime)&&(n.playStreamTime=Date.now())}handleVideoLoadedData(e){let{track:t}=e;if(!uO(t)||!this.hitTest(t.room))return;let i="".concat(t.userId,"_").concat(t.streamType),n=this._pathMainVideoMap.get(i);n&&0===n.statsToReport.uint64_combine_first_frame_time&&(n.statsToReport.uint64_combine_first_frame_time=Date.now())}handleVideoPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),i=Date.now(),n=this._pathMainVideoMap.get(t),r=this._remoteStreamStatMap.get(t);if(n&&(0===n.statsToReport.uint64_render_first_frame_time&&(n.statsToReport.uint64_render_first_frame_time=i),r)){let{statsToReport:e,playStreamTime:t,subscribedTime:o}=r;0===e.uint32_video_render_first&&t-o<=100&&(e.uint32_video_render_first=i-n.sendSubscribeCMDTime)}let o=this._pathAuxiliaryMap.get(t);if(o&&r){let{statsToReport:e,playStreamTime:t,subscribedTime:n}=r;0===e.uint32_video_render_first&&t-n<=100&&(e.uint32_video_render_first=i-o.sendSubscribeCMDTime)}}handleAudioPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),i=this._pathMainAudioMap.get(t);i&&0===i.statsToReport.uint64_play_first_frame_time&&(i.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:i,userId:n,videoDelay:r,audioDelay:o}=e,s=this._networkQuality.totalDownlinkRTTAndLossMap.get(n);if(s)s.totalRTT+=t,s.totalLoss+=i,r&&(s.totalVideoDelay=(s.totalVideoDelay||0)+r,s.videoDelayCount=(s.videoDelayCount||0)+1),o&&(s.totalAudioDelay=(s.totalAudioDelay||0)+o,s.audioDelayCount=(s.audioDelayCount||0)+1),s.count++;else{let e,s,a,c;r&&(s=r,a=1),o&&(e=o,c=1),this._networkQuality.totalDownlinkRTTAndLossMap.set(n,{totalRTT:t,totalLoss:i,count:1,totalAudioDelay:e,totalVideoDelay:s,audioDelayCount:c,videoDelayCount:a})}})))}handleHeartbeatStats(e){if(this.hitTest(e.room)){let{msg_up_stream_info:t,msg_down_stream_info:i}=e.report;if(t.msg_video_status[0]){let{uint32_video_codec_bitrate:e,uint32_video_enc_fps:i,uint32_video_width:n,uint32_video_height:r}=t.msg_video_status[0];this._localStreamStat.totalVideoBitrate+=e,this._localStreamStat.totalVideoFPS+=i,this._localStreamStat.totalVideoWidth+=n,this._localStreamStat.totalVideoHeight+=r,this._localStreamStat.videoCount++}if(t.msg_audio_status){let{uint32_audio_level:e}=t.msg_audio_status;Math.floor(e/UD*100)>0&&(this._localStreamStat.totalAudioLevel+=e/UD,this._localStreamStat.audioLevelCount++)}i.forEach((e=>{let{msg_user_info:t,msg_audio_status:i,msg_video_status:n}=e,r=t.str_identifier,o=this._room.remotePublishedUserMap.get(r);if(n.forEach((e=>{let t=2===e.uint32_video_stream_type,i=7===e.uint32_video_stream_type,n="".concat(r,"_").concat(t?"main":"auxiliary"),s=this._remoteStreamStatMap.get(n);if(s&&(t&&(null==o?void 0:o.remoteVideoTrack.isSubscribed)||i&&(null==o?void 0:o.remoteAuxiliaryTrack))){s.totalVideoFPS+=e.uint32_video_receive_fps,s.totalVideoBitrate+=e.uint32_video_codec_bitrate,s.videoCount++,0===s.statsToReport.uint32_video_width&&(s.statsToReport.uint32_video_width=e.uint32_video_width),0===s.statsToReport.uint32_video_height&&(s.statsToReport.uint32_video_height=e.uint32_video_height);let i=t?o.remoteVideoTrack:o.remoteAuxiliaryTrack;i.stat.jitterBufferDelay&&(s.videoJitterBufferDelay=i.stat.jitterBufferDelay),i.stat.framesReceived&&(s.statsToReport.uint32_video_consume_render_rate=Math.floor(i.stat.framesDecoded/i.stat.framesReceived*$C(10,6)))}})),i){let e="".concat(r,"_","main"),t=this._remoteStreamStatMap.get(e);this._remoteStreamStatMap.has(e)&&t&&(null==o?void 0:o.remoteAudioTrack.isSubscribed)&&(t.totalAudioBitrate+=i.uint32_audio_codec_bitrate,t.audioCount++,o.remoteAudioTrack.stat.jitterBufferDelay&&(t.audioJitterBufferDelay=o.remoteAudioTrack.stat.jitterBufferDelay),Math.floor(i.uint32_audio_level/UD*100)>0&&(t.totalAudioLevel+=i.uint32_audio_level/UD,t.audioLevelCount++))}}))}}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:i}=e,n={NotFoundError:1,NotAllowedError:2,NotReadableError:3,OverConstrainedError:4,AbortError:5,InvalidStateError:6,SecurityError:7,TypeError:8}[i.name]||(i instanceof Tb?i.getExtraCode()||i.getCode():fb.UNKNOWN);1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=n,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=n,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}handleAPISuccessRate(e){let{room:t,apiName:i,error:n,cost:r}=e;if(!this.hitTest(t))return;let o=lV[i],s={uint32_function_request_type:o,uint32_avg_value:0,uint32_max_value:0,uint32_request_count:1,uint32_success_count:0,msg_error_code:[]};if(n){let e=n.extraCode||n.code||fb.UNKNOWN;Xw.logFailedEvent({eventType:i,code:e,userId:this._room.userId,error:n});let t={int32_error_code:e,error_count:1};s.msg_error_code.push(t)}else sO(r)&&(Xw.logSuccessEvent({eventType:i,userId:this._room.userId}),s.uint32_avg_value=r,s.uint32_max_value=r,s.uint32_success_count=1);let a=this._apiSuccessRateMap.get(o);a?(a.uint32_success_count+s.uint32_success_count>0&&(a.uint32_avg_value=(a.uint32_avg_value*a.uint32_success_count+s.uint32_avg_value)/(a.uint32_success_count+s.uint32_success_count)),a.uint32_max_value=Math.max(a.uint32_max_value,s.uint32_max_value),a.uint32_request_count+=1,a.uint32_success_count=a.uint32_success_count+s.uint32_success_count,s.msg_error_code.forEach((e=>{let t=a.msg_error_code.find((t=>t.int32_error_code===e.int32_error_code));t?t.error_count+=1:a.msg_error_code.push(e)}))):this._apiSuccessRateMap.set(o,s)}hasVideoFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&FN))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&jN))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&HN))>=0}hitTest(e){return e===this._room}checkStorage(){return cb(this,null,(function*(){try{let e=WO.getItem(this._storageKey);e&&(yield this.upload(e),WO.deleteItem(this._storageKey))}catch(FL){this._log.warn(FL)}}))}setStorage(){this.prepareReport();let e=this.getReportData();0!==e.msg_path_enter_room.uint64_start_time&&WO.setItem(this._storageKey,e)}prepareReport(){if(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:i}=e,n=this._networkQuality.totalDownlinkRTTAndLossMap.get(i);if(n){let{totalLoss:t,count:i,audioDelayCount:r,videoDelayCount:o,totalAudioDelay:s,totalVideoDelay:a}=n;e.statsToReport.uint32_avg_down_loss=Math.floor(t/i),r&&s&&(e.statsToReport.uint32_audio_network_p2p_delay=Math.floor(s/r),e.audioJitterBufferDelay&&(e.statsToReport.uint32_p2p_delay=Math.floor(e.statsToReport.uint32_audio_network_p2p_delay+e.audioJitterBufferDelay))),o&&a&&(e.statsToReport.uint32_video_network_p2p_delay=Math.floor(a/o))}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:r}=this._room;r&&(e.statsToReport.uint32_audio_play_time=r.getDuration(t,MN.AUDIO),e.statsToReport.uint32_video_play_time=r.getDuration(t,MN.VIDEO)),e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,sV);let{badCaseDetector:o}=this._room,{dataFreeze:s,count:a}=o.getDataFreezeDuration(t),{renderFreeze:c}=o.getRenderFreezeDuration(t);e.statsToReport.uint32_video_block_count=a,e.statsToReport.uint32_video_block_time=Math.min(s,e.statsToReport.uint32_video_play_time),e.statsToReport.uint32_video_external_block_time=Math.min(c,e.statsToReport.uint32_video_play_time),o.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,(0===e.subscribeStartTime||e.subscribeStartTime-e.streamAddedTime>100||0===e.playStreamTime)&&(this._pathMainAudioMap.delete(t),this._pathMainVideoMap.delete(t),e.statsToReport.uint32_video_render_first=0)})),this._pathMainAudioMap.forEach(((e,t)=>{this.hasAudioFlag(e.userId)?e.statsToReport.uint64_play_first_frame_time-e.statsToReport.uint64_start_enter_time>sV&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+sV):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>sV&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+sV):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>sV&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+sV)}getReportData(){return{uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new cV({userId:this._room.userId,tinyId:this._room.tinyId,role:"anchor"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:RO(this._signalInfo.relayIp),uint32_client_ip:RO(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(2147483648*Math.random()),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:RO(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,msg_function_request_stats:[...this._apiSuccessRateMap.values()]}}report(){try{this.prepareReport();let e=this.getReportData();this.upload(e),WO.deleteItem(this._storageKey),this.initData()}catch(FL){this._log.warn(FL)}}upload(e){if(qk||0===e.msg_path_enter_room.uint64_start_time||[_N,fN,gN].findIndex((e=>e===location.host))>=0)return;let t=Number(this._room.sdkAppId),i=HD(t,AN.KEY_POINT),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(i,JSON.stringify(e))),n||LO({url:i,body:JSON.stringify(e)})}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}};ob([iV({settings:{timeout:500,retries:3}})],rV.prototype,"upload",1);var oV,sV=5e3,aV={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_render_first: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},cV=class{constructor(e){this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},lV=((oV=lV||{})[oV.enterRoom=50001]="enterRoom",oV[oV.exitRoom=50002]="exitRoom",oV[oV.switchRole=50003]="switchRole",oV[oV.destroy=50004]="destroy",oV[oV.startLocalAudio=50005]="startLocalAudio",oV[oV.updateLocalAudio=50006]="updateLocalAudio",oV[oV.stopLocalAudio=50007]="stopLocalAudio",oV[oV.startLocalVideo=50008]="startLocalVideo",oV[oV.updateLocalVideo=50009]="updateLocalVideo",oV[oV.stopLocalVideo=50010]="stopLocalVideo",oV[oV.startScreenShare=50011]="startScreenShare",oV[oV.updateScreenShare=50012]="updateScreenShare",oV[oV.stopScreenShare=50013]="stopScreenShare",oV[oV.enableAudioVolumeEvaluation=50014]="enableAudioVolumeEvaluation",oV[oV.startRemoteVideo=50015]="startRemoteVideo",oV[oV.updateRemoteVideo=50016]="updateRemoteVideo",oV[oV.stopRemoteVideo=50017]="stopRemoteVideo",oV[oV.muteRemoteAudio=50018]="muteRemoteAudio",oV[oV.setRemoteAudioVolume=50019]="setRemoteAudioVolume",oV[oV.startMixTranscode=50020]="startMixTranscode",oV[oV.stopMixTranscode=50021]="stopMixTranscode",oV[oV.startPublishCDNStream=50022]="startPublishCDNStream",oV[oV.stopPublishCDNStream=50023]="stopPublishCDNStream",oV[oV.PeerConnectionConnect=50024]="PeerConnectionConnect",oV[oV.PeerConnectionReconnect=50025]="PeerConnectionReconnect",oV[oV.WebsocketConnect=50026]="WebsocketConnect",oV[oV.WebsocketReconnect=50027]="WebsocketReconnect",oV[oV.schedule=50028]="schedule",oV[oV.SPCConnect=50029]="SPCConnect",oV[oV.SPCReconnect=50030]="SPCReconnect",oV[oV.videoCtxGl=50031]="videoCtxGl",oV[oV.videoCtxGlRecover=50032]="videoCtxGlRecover",oV[oV.videoCtx2d=50033]="videoCtx2d",oV[oV["CDNStreaming.startPlugin"]=50034]="CDNStreaming.startPlugin",oV[oV["CDNStreaming.updatePlugin"]=50035]="CDNStreaming.updatePlugin",oV[oV["CDNStreaming.stopPlugin"]=50036]="CDNStreaming.stopPlugin",oV[oV["AIDenoiser.startPlugin"]=50037]="AIDenoiser.startPlugin",oV[oV["AIDenoiser.updatePlugin"]=50038]="AIDenoiser.updatePlugin",oV[oV["AIDenoiser.stopPlugin"]=50039]="AIDenoiser.stopPlugin",oV[oV["AudioMixer.startPlugin"]=50040]="AudioMixer.startPlugin",oV[oV["AudioMixer.updatePlugin"]=50041]="AudioMixer.updatePlugin",oV[oV["AudioMixer.stopPlugin"]=50042]="AudioMixer.stopPlugin",oV),dV=rV,uV=class{constructor(){sb(this,"_startTime"),sb(this,"_endTime"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=gO())}stop(){0===this._endTime&&(this._endTime=gO())}getDuration(){return 0===this._endTime?gO()-this._startTime:this._endTime-this._startTime}get endTime(){return this._endTime}},hV=class{constructor(e){sb(this,"_room",null),sb(this,"_durationMap"),sb(this,"_eventMap",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(BO.SUBSCRIBE_SUCCESS,this.handleSubscribed).set(BO.UNSUBSCRIBE_SUCCESS,this.handleStreamStopped).set(BO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:i,muteState:n}=e;var r;let{userId:o}=n;if(!this.hitTest(t))return;i.hasAudio&&!n.hasAudio&&this.stopDurationItem("".concat(o,"_","main"),MN.AUDIO),i.hasVideo&&!n.hasVideo&&this.stopDurationItem("".concat(o,"_","main"),MN.VIDEO),i.hasAuxiliary&&!n.hasAuxiliary&&this.stopDurationItem("".concat(o,"_","auxiliary"),MN.VIDEO);let s=null==(r=this._room)?void 0:r.remotePublishedUserMap.get(o);!s||(!i.hasAudio&&n.hasAudio&&s.remoteAudioTrack.isSubscribed&&this.addDuractionItem(o,MN.AUDIO,"main"),!i.hasVideo&&n.hasVideo&&s.remoteVideoTrack.isSubscribed&&this.addDuractionItem(o,MN.VIDEO,"main"),!i.hasAuxiliary&&n.hasAuxiliary&&s.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(o,MN.VIDEO,"auxiliary"))})),this._eventMap.forEach(((e,t)=>UO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>UO.off(t,e,this))),this._eventMap.clear()}handleSubscribed(e){let{room:t,streamType:i,remotePublishedUser:n}=e;if(!this.hitTest(t))return;let{userId:r}=n,o="".concat(r,"_").concat(i);if(n.muteState.hasAudio&&"main"===i)if(n.remoteAudioTrack.isSubscribed){let e=new uV,t=this._durationMap.get(o);t?this.isRecording(t.audio)||t.audio.push(e):this._durationMap.set(o,{userId:r,type:i,audio:[e],video:[]})}else this.stopDurationItem(o,MN.AUDIO);if(n.muteState.hasVideo||n.muteState.hasAuxiliary)if(n.remoteVideoTrack.isSubscribed||n.remoteAuxiliaryTrack.isSubscribed){let e=new uV,t=this._durationMap.get(o);t?this.isRecording(t.video)||t.video.push(e):this._durationMap.set(o,{userId:r,type:i,audio:[],video:[e]})}else this.stopDurationItem(o,MN.VIDEO)}handleStreamStopped(e){let{room:t,streamType:i,remotePublishedUser:n}=e;if(!this.hitTest(t))return;let{userId:r}=n,o="".concat(r,"_").concat(i);this.stopDurationItem(o,MN.AUDIO),this.stopDurationItem(o,MN.VIDEO)}isRecording(e){return e.findIndex((e=>0===e.endTime))>=0}addDuractionItem(e,t,i){let n="".concat(e,"_").concat(i),r=new uV,o=this._durationMap.get(n);o?this.isRecording(o[t])||o[t].push(r):this._durationMap.set(n,{userId:e,type:i,audio:t===MN.AUDIO?[r]:[],video:t===MN.AUDIO?[]:[r]})}stopDurationItem(e,t){if(this._durationMap.has(e)){let i=this._durationMap.get(e)[t].find((e=>0===e.endTime));i&&i.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()}},pV=class{constructor(e){sb(this,"_room"),sb(this,"_renderFreezeMap",new Map),sb(this,"_isVideoPlayingEventFiredMap",new Map),sb(this,"_dataFreezeMap",new Map),sb(this,"_monitorFreezeData",new Map),sb(this,"_eventMap",new Map),this._room=e.room,this.installEvents()}installEvents(){this._eventMap.set(BO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(BO.PLAY_TRACK_START,this.onPlayTrackStart).set(BO.UNSUBSCRIBE_SUCCESS,(e=>{let{room:t,streamType:i,remotePublishedUser:n}=e;if(!this.hitTest(t))return;let{userId:r}=n,o="".concat(r,"_").concat(i);this.stopDataFreeze({key:o,userId:r,type:i})})).set(BO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:i,muteState:n}=e;if(!this.hitTest(t))return;let{userId:r}=n;if(i.hasVideo&&!n.hasVideo){let e="main",t="".concat(n.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:r,type:e})}if(i.hasAuxiliary&&!n.hasAuxiliary){let e="auxiliary",t="".concat(n.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:r,type:e})}})).set(BO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:i,reason:n,type:r}=e;if(uO(t)&&this.hitTest(t.room)&&r===MN.VIDEO){if("PLAYING"===i){let e="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}n===MN.MUTE?this.onVideoTrackMuted(t):n===MN.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(BO.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach(((e,t)=>UO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>UO.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:i}=e,n="".concat(t,"_").concat(i),r=this._dataFreezeMap.get(n),o=new uV;r?r.durationItemList.push(o):this._dataFreezeMap.set(n,{userId:t,type:i,durationItemList:[o],isFreezing(){let e=this.durationItemList[this.durationItemList.length-1];return e&&0===e.endTime}})}onVideoTrackUnmuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:i}=e,n="".concat(t,"_").concat(i);this.stopDataFreeze({key:n,userId:t,type:i})}onHearBeatReport(e){let{room:t,report:i}=e;!this.hitTest(t)||i.msg_down_stream_info.forEach((e=>{let t=this._room.remotePublishedUserMap.get(e.msg_user_info.str_identifier);if(!t)return;let{userId:i,muteState:n}=t;e.msg_video_status.forEach((e=>{2===e.uint32_video_stream_type&&n.hasVideo&&!n.videoMuted&&t.remoteVideoTrack.isSubscribed&&this.handleRenderFreeze({userId:i,fps:e.uint32_video_dec_fps,type:"main"}),7===e.uint32_video_stream_type&&n.hasAuxiliary&&t.remoteAuxiliaryTrack.isSubscribed&&this.handleRenderFreeze({userId:i,fps:e.uint32_video_dec_fps,type:"auxiliary"})}))}))}stopDataFreeze(e){let{key:t,userId:i,type:n}=e,r=this._dataFreezeMap.get(t);if(!r||!r.isFreezing())return;let o=r.durationItemList[r.durationItemList.length-1];o.stop();let s=o.getDuration();s>gD?this._monitorFreezeData.set(t,{userId:i,type:n,duration:s}):r.durationItemList.pop()}getTotalDuration(e){return e.reduce(((e,t)=>{let i=t.getDuration();return e+Math.min(i,5e3)}),0)}handleRenderFreeze(e){return cb(this,arguments,(function(e){var t=this;let{userId:i,fps:n,type:r}=e;return function*(){let e="".concat(i,"_").concat(r),o=t._renderFreezeMap.get(e);if(n<=2){let n=gO();o&&!o.isFreeze&&(o.freezeTimeline.push({startTime:n,endTime:0}),o.isFreeze=!0),o||t._renderFreezeMap.set(e,{userId:i,type:r,isFreeze:!0,freezeTimeline:[{startTime:n,endTime:0}],renderFreezeTotal:0})}else if(o&&o.isFreeze){o.isFreeze=!1;let e=o.freezeTimeline.pop();if(e){e.endTime=gO();let t=e.endTime-e.startTime;o.freezeTimeline.push(e),o.renderFreezeTotal+=Math.min(5e3,t)}}}()}))}onPlayTrackStart(e){let{track:t}=e;if(!uO(t)||!this.hitTest(t.room)||t.kind!==MN.VIDEO||t.hasFlag)return;let i="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.has(i)||this._isVideoPlayingEventFiredMap.set(i,!1)}getDataFreezeDuration(e){let t={dataFreeze:0,count:0},i=this._dataFreezeMap.get(e);if(i){if(i.isFreezing()){let e=i.durationItemList[i.durationItemList.length-1];e.stop(),e.getDuration(){let o=null;fO([yV((e=>t.count[0]=e+1),(e=>{let{error:i,retry:n}=e;t.msg[0]=i.message,o||n()}))(SV(i,MN.MAIN),e,{get timeout(){return 1e3*eO(2+t.count[0])}}),yV((e=>t.count[1]=e+1),(e=>{let{error:i,retry:n}=e;t.msg[1]=i.message,o||n()}))(SV(i,MN.BACKUP),e,{get timeout(){return 1e3*eO(2+t.count[1])}})]).then((e=>{o=e,n(o)})).catch(r)}))}(c,e,i);d.config&&(d.config.loggerDomain&&mN(d.config.loggerDomain),aO(d.config.scheduleCache)&&fV(!d.config.scheduleCache)),e.delta=gO()-l;let u=function(e,t,i){let n=performance.getEntriesByType("resource"),r=SV(e,MN.MAIN),o=SV(e,MN.BACKUP),s={totalCost:0,local:0,dns:0,tcp:0,tls:0,request:0,response:0};for(let a of n)if(a.startTime>=i&&(a.name===r||a.name===o)&&a.transferSize>0){let e=a.name===r?MN.MAIN:MN.BACKUP,i=Math.round(a.duration),n=Math.round(a.domainLookupStart-a.startTime),o=Math.round(a.domainLookupEnd-a.domainLookupStart),c=Math.round(a.requestStart-a.secureConnectionStart),l=Math.round(a.secureConnectionStart-a.connectStart),d=Math.round(a.responseStart-a.requestStart),u=Math.round(a.responseEnd-a.responseStart),h=[n,o,c,l,d,u];Xw.uploadEvent({log:"stat-schedule-net:".concat(i,"(").concat(h.join("->"),") ").concat(e),userId:t}),s=tb(eb({},s),{totalCost:i,local:n,dns:o,tcp:l,tls:c,request:d,response:u});break}return s}(Number(i),t,l);return mV=d,{isCached:!1,result:d,detailCost:u}}catch(l){let t=lO(l)?l[0]:l,i=sO(t.code)?t.code:0,n="schedule failed".concat(t.message?": ".concat(t.message):""),r=new Tb({code:fb.SCHEDULE_FAILED,extraCode:i,message:QO({key:zO.JOIN_ROOM_FAILED,data:{error:n,code:i}})});throw jO.error(r),r}}()}))}UO.on("28",(()=>fV(!0))),UO.on("63",(()=>fV(!0))),UO.on("84",(()=>fV(!0))),UO.on("201",(e=>{"RECONNECTING"===e.state&&fV(!0)})),UO.on("202",(e=>{"RECONNECTING"===e.state&&fV(!0)}));var TV={main:"",backup:""};function EV(e){lO(e)?(TV.main=e[0],TV.backup=e[1]):TV.main=e}function SV(e){let t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:MN.MAIN;return t=BD(e)?i===MN.MAIN?yD.MAIN_OVERSEA:yD.BACKUP_OVERSEA:i===MN.MAIN?yD.MAIN:yD.BACKUP,"https://".concat(TV[i]||t,"/api/v1/config")}function IV(e,t,i){return new Promise(((n,r)=>{LO({url:e,body:t,timeout:i.timeout}).then((e=>{0===e.data.code?n(e.data.data):r({code:e.data.code,message:e.data.msg})})).catch(r)}))}var yV=(e,t)=>xO({retryFunction:IV,settings:{retries:3,timeout:0},onError:t,onRetrying:e}),vV=rb(lb(),1),AV=[-1,-1,-1,1,1,-1,1,1],RV=[0,0,0,1,1,0,1,1],CV=class extends Ww{constructor(e,t){super(),this.context=e,sb(this,"name"),sb(this,"input"),sb(this,"output"),sb(this,"texture"),sb(this,"image"),sb(this,"ctx2d",null),sb(this,"fbo"),sb(this,"width",0),sb(this,"height",0),sb(this,"x",0),sb(this,"y",0),sb(this,"program"),sb(this,"vertexShader"),sb(this,"fragmentShader"),sb(this,"totalFrames",0),sb(this,"dropFrames",0),sb(this,"matchInputSize",!0),sb(this,"texCoordBuffer"),sb(this,"positionBuffer"),sb(this,"lastInfo",{timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),sb(this,"_canvas",null),this.context.once("disconnect",(()=>{"closed"!==this.state&&this.close()})),this.name=t.name,this.matchInputSize=!1!==t.matchInputSize,this.width=t.width||e.width,this.height=t.height||e.height;let i=e._gl;if(i)try{!1!==t.createTexture&&(this.texture=i.createTexture()),this.texCoordBuffer=this.createBuffer(RV),this.positionBuffer=this.createBuffer(AV),this.useTexture((()=>{i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE)})),t.useFbo&&(this.fbo=i.createFramebuffer(),this.useBufferFrame((()=>{this.useTexture((()=>{i.texImage2D(i.TEXTURE_2D,0,i.RGBA,this.width,this.height,0,i.RGBA,i.UNSIGNED_BYTE,null),i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,this.texture,0)}))}))),t.useDefaultProgram&&(this.program=this.context.defaultProgam),t.vertexShaderSource&&t.fragmentShaderSource&&(this.vertexShader=e.createShader(i.VERTEX_SHADER,t.vertexShaderSource),this.fragmentShader=e.createShader(i.FRAGMENT_SHADER,t.fragmentShaderSource),this.program=e.createProgram(this.vertexShader,this.fragmentShader))}catch(r){this.context.destroy("".concat(this.name," init failed"),r)}else if(e.ctx2d&&t.create2d){let e=document.createElement("canvas"),t="function"==typeof e.transferControlToOffscreen?e.transferControlToOffscreen():e;t.width=this.width,t.height=this.height,this.ctx2d=t.getContext("2d"),this.image=t,this._canvas=t}}connect(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;ni.texImage2D(i.TEXTURE_2D,0,i.RGBA,e,t,0,i.RGBA,i.UNSIGNED_BYTE,null))),this.output&&this.output.matchInputSize&&this.output.resize(e,t))}draw2d(e,t,i,n,r){return!(!this.ctx2d||!e)&&(e instanceof ImageData?this.ctx2d.putImageData(e,t,i):this.ctx2d.drawImage(e,t,i,n,r),!0)}getInfo(){var e;let{totalFrames:t,x:i,y:n,width:r,height:o}=this,s=Date.now(),a=(t-this.lastInfo.totalFrames)/((s-this.lastInfo.timestamp)/1e3)>>0;return this.lastInfo={totalFrames:t,x:i,y:n,width:r,height:o,timestamp:s,fps:a},eb({parent:null==(e=this.input)?void 0:e.getInfo()},this.lastInfo)}};ob([Hw(Ww.INIT,"connected")],CV.prototype,"connect",1),ob([Hw("connected",Ww.INIT,{ignoreError:!0})],CV.prototype,"disconnect",1),ob([Hw([],"closed")],CV.prototype,"close",1);var bV=[0,1,0,0,1,1,1,0],kV=class extends CV{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},t)),sb(this,"_intervalId",0),sb(this,"_sequence",0),e._gl?this.setTexBuffer(bV):e.ctx2d&&(this.ctx2d=e.ctx2d)}start(e){this._intervalId=Yw.run("intervalInWorker",(()=>{e!==this.context.frameRate&&(Yw.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++);let t=this.context._gl;t&&t.getError()!==t.NO_ERROR&&this.context.destroy("".concat(this.name," req ").concat(this._sequence," render ").concat(this.totalFrames," faild ").concat(t.getError()))}),{fps:this.context.frameRate})}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useInputTexture((e=>{this.setAttributes({a_position:this.positionBuffer,a_texCoord:this.texCoordBuffer}),e.drawArrays(e.TRIANGLE_STRIP,0,4)})),!0)}addInput(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n{let t=()=>this._videoTrack.removeEventListener(e,i),i=()=>{t(),this.context.destroy("video track ".concat(e))};this.once("closed",t),this._videoTrack.addEventListener(e,i)};e._gl&&i("mute"),i("ended")}get videoTrack(){return this._videoTrack}close(){super.close(),this._videoTrack.stop()}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}},DV=class extends NV{constructor(e,t){super(e,{name:"smallDestination"}),this.resolution=t}resize(e,t){let i,n=e*t,r=this.resolution.width*this.resolution.height;jO.info("big res: ".concat(e,"*").concat(t," small res: ").concat(this.resolution.width,"*").concat(this.resolution.height," ")),n>r?i=n/r:(jO.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)),i=n/19200),super.resize(e/Math.sqrt(i),t/Math.sqrt(i))}},OV=class extends CV{constructor(e,t){super(e,{name:"imageSource"}),this.image=t,sb(this,"_image"),sb(this,"_totalFrames",0)}_render(e,t){let{width:i,height:n}=this;if(this.image instanceof HTMLVideoElement){if(nO(this.image.getVideoPlaybackQuality)&&!Bk){let e=this.image.getVideoPlaybackQuality().totalVideoFrames;if(this._totalFrames===e)return!1;this._totalFrames=e,this.dropFrames=this._totalFrames-this.totalFrames}({videoWidth:i,videoHeight:n}=this.image)}else if(this.image instanceof HTMLImageElement||this.image instanceof ImageData||this.image instanceof ImageBitmap){if(({width:i,height:n}=this.image),this.image!==this._image)this._image=this.image;else if(i===this.width&&n===this.height)return!1}else(this.image instanceof HTMLCanvasElement||this.image instanceof OffscreenCanvas)&&(({width:i,height:n}=this.image),this._image=this.image);return this.width===i&&this.height===n&&this.totalFrames?t&&this.useTexture((e=>{e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,this.image)})):(t&&this.useTexture((e=>{e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image)})),this.resize(i,n)),!0}render(e){return this._render(e,!0)}render2d(e){return this._render(e,!1)}},wV=class extends OV{constructor(e,t){super(e,document.createElement("video")),this._videoTrack=t,sb(this,"_mediaStream"),this.name="videoTrackSource",this._mediaStream=new MediaStream([t]),this.image.srcObject=this._mediaStream,this.image.play()}replaceTrack(e){var t,i;this._videoTrack!==e&&(null==(t=this._mediaStream)||t.removeTrack(this._videoTrack),this._videoTrack=e,null==(i=this._mediaStream)||i.addTrack(this._videoTrack),this.image.play())}close(){super.close(),delete this._mediaStream,this.image.srcObject=null}},PV=class extends Ww{constructor(e){super(),sb(this,"frameRate"),sb(this,"_canvas"),sb(this,"_gl"),sb(this,"ctx2d"),sb(this,"defaultProgam"),sb(this,"log"),sb(this,"hasAlpha",!1),sb(this,"glFaild",!1),sb(this,"name"),this.name=e.name,this.log=e.logger.createChild({id:"vc-".concat(this.name)}),this.frameRate=e.frameRate}create(e){if(this.glFaild=!1,this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),e.use2d)return this.ctx2d=this._canvas.getContext("2d",{alpha:e.alpha}),void this.log.info("video context created use 2d");let t=this._canvas.getContext("webgl",{alpha:e.alpha});if(t){this._gl=t;try{let e=this.createShader(t.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"),i=this.createShader(t.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(e,i),t.enable(t.BLEND),t.blendFunc(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA),this._canvas.addEventListener("webglcontextlost",(()=>{this.destroy("webglcontextlost")})),this.log.info("video context created use webgl")}catch(cN){return this.log.warn("video context create faild use webgl"),cN}}else this.ctx2d=this._canvas.getContext("2d"),this.ctx2d&&this.log.info("video context created downgrade to 2d");!this.ctx2d&&!this._gl&&delete this._canvas}get available(){return!!this._canvas}createVideoTrackSource(e){return new wV(this,e)}createVideoTrackDestination(e){return new NV(this,e)}createVideoImageSource(e){return new OV(this,e)}set width(e){var t;null==(t=this._gl)||t.viewport(0,0,e,this.height),this._canvas&&(this._canvas.width=e)}get width(){var e;return(null==(e=this._canvas)?void 0:e.width)||0}set height(e){var t;null==(t=this._gl)||t.viewport(0,0,this.width,e),this._canvas&&(this._canvas.height=e)}get height(){var e;return(null==(e=this._canvas)?void 0:e.height)||0}setSize(e,t){var i;null==(i=this._gl)||i.viewport(0,0,e,t),this._canvas&&(this._canvas.width=e,this._canvas.height=t)}disconnect(){this.emit("disconnect")}destroy(e,t){var i;return this.disconnect(),this.log.info("video context destroy ".concat(e?":".concat(e):"")),null==(i=this._gl)||i.deleteProgram(this.defaultProgam),delete this._gl,delete this.ctx2d,this._canvas&&(this._canvas.remove(),this._canvas.width=0,this._canvas.height=0,delete this._canvas),[e,t]}createShader(e,t){let i=this._gl,n=i.createShader(e);return i.shaderSource(n,t),i.compileShader(n),n}createProgram(e,t){let i=this._gl,n=i.createProgram();return i.attachShader(n,e),i.attachShader(n,t),i.linkProgram(n),n}useTexture(e,t,i){let n=this._gl;n.activeTexture(n.TEXTURE0+(i||0)),n.bindTexture(n.TEXTURE_2D,e),t(n),n.bindTexture(n.TEXTURE_2D,null)}};ob([Hw(Ww.INIT,"created")],PV.prototype,"create",1),ob([Hw("created",Ww.INIT,{ignoreError:!0,success(e){e[0]&&(this.glFaild=!0,this.emit("unavailable",...e)),this.removeAllListeners()}})],PV.prototype,"destroy",1);var LV=[1,0,1,1,0,0,0,1],MV=class extends CV{constructor(e){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:"mirror"}),e._gl)try{this.setTexBuffer(LV)}catch(aN){e.destroy("mirror set texCoords faild",aN)}else this.ctx2d&&setTimeout((e=>{e.scale(-1,1),e.translate(-this.width,0)}),0,this.ctx2d)}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame((()=>{this.useInputTexture((e=>{this.setAttributes({a_position:this.positionBuffer,a_texCoord:this.texCoordBuffer}),e.drawArrays(e.TRIANGLE_STRIP,0,4)}))})),!0)}},xV=class{constructor(e,t){this.node=e,this.layout=t,sb(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}},VV=class extends CV{constructor(e){super(e,{useDefaultProgram:!0,useFbo:!0,name:"mix",create2d:!0}),sb(this,"inputs",[])}addInput(e,t){if(this.inputs[t.zIndex])throw new Error("input already exists");let i=new xV(e,t);this.inputs[t.zIndex]=i}resize(e,t){let i=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(i.width,i.height),this.context._gl&&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,i=new Array(t>1?t-1:0),n=1;n(null==t?void 0:t.node)===e))]=void 0}render(e){let t=this.context._gl;return!(this.inputs.reduce(((t,i)=>(!i||!i.node.requestFrame(e))&&t),!0)||!t)&&(this.useProgram(),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT),this.setAttributes({a_texCoord:this.texCoordBuffer}),this.useBufferFrame((()=>{for(let e=0;e{this.setAttributes({a_position:t.positionBuffer}),e.drawArrays(e.TRIANGLE_STRIP,0,4)}))}})),!0)}render2d(e){if(!this.inputs.reduce(((t,i)=>(!i||!i.node.requestFrame(e))&&t),!0)&&this.ctx2d){this.ctx2d.clearRect(0,0,this.width,this.height);for(let e=0;e>0;return this.lastInfo={totalFrames:e,x:t,y:i,width:n,height:r,timestamp:o,fps:s},eb({parent:this.inputs.filter((e=>e)).map((e=>e.node.getInfo()))},this.lastInfo)}close(){super.close(),this.inputs.forEach((e=>{var t;if(e&&(null==(t=e.node)||t.disconnect(),e.positionBuffer&&this.context._gl))try{this.context._gl.deleteBuffer(e.positionBuffer)}catch(cN){}}))}},UV=class extends vV.EventEmitter{constructor(e){let{room:t}=e;super(),sb(this,"videoContext"),sb(this,"destination"),sb(this,"smallVideoContext"),sb(this,"smallDestination"),sb(this,"smallTrackSource"),sb(this,"smallImageSource"),sb(this,"_isMirror",!1),sb(this,"cameraTrack"),sb(this,"cameraNode"),sb(this,"waterMarkNode"),sb(this,"mirrorNode"),sb(this,"mixNode"),sb(this,"screenTrack"),sb(this,"screenNode"),sb(this,"_isMixScreen",!1),sb(this,"_hasWaterMark",!1),sb(this,"_log"),sb(this,"_checkId",0),sb(this,"_room"),sb(this,"_use2d",!0),sb(this,"_waterMarkOption"),sb(this,"_isOpenVirtualBackground",!1),sb(this,"_virtualBackgroundTrack"),sb(this,"virtualBackgroundInstance"),this._room=t,this._log=jO.createLogger({id:"vm",userId:t.userId,sdkAppId:t.sdkAppId}),this.videoContext=new PV({frameRate:15,logger:this._log,name:"m"}),this.videoContext.on("unavailable",((e,t)=>{this.emit("error",{reason:e,error:t}),this._log.warn("video context unavailable",e,t,"glFaild:".concat(this.videoContext.glFaild)),UO.emit("262",{room:this._room,apiName:"videoCtxGl",error:t||new Error(e)}),this.update()})),this.smallVideoContext=new PV({frameRate:15,logger:this._log,name:"s"}),this.enablePrintDetail()}get renderMode(){return this._use2d?"2d":"webgl"}set renderMode(e){let t="2d"===e;this._use2d!==t&&(this._use2d=t,this.videoContext&&(this.clear(),this.videoContext.destroy(),this.videoContext.create({alpha:this._hasWaterMark,use2d:this._use2d}),this.update()))}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=Yw.run(MD,(()=>{this.destination&&this._log.debug(this.destination.getInfo())}),{delay:e})}destroy(){this.videoContext.destroy(),this.smallVideoContext.destroy(),Yw.clearTask(this._checkId)}get active(){return(zk&&Jk||this._isMixScreen||this._isMirror||this._hasWaterMark)&&this.checkOrCreateVideoContext()}sendCreateResult(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"videoCtxGl",t=arguments.length>1?arguments[1]:void 0;UO.emit("262",{room:this._room,apiName:e,error:t})}checkOrCreateVideoContext(){if(this.videoContext.available){if(this.videoContext.hasAlpha||!this._hasWaterMark)return!0;this.clear(),this.videoContext.destroy()}else this.videoContext.glFaild&&(this.clear(),this._use2d=!0);let e=this.videoContext.create({alpha:this._hasWaterMark,use2d:this._use2d});return this.videoContext._gl?this.sendCreateResult():(this._use2d||(this.emit("error",{reason:"create",error:e}),this.sendCreateResult("videoCtxGl",e)),this.sendCreateResult("videoCtx2d",this.videoContext.ctx2d?void 0:new Error("create 2d context failed"))),this.videoContext.available}get smallTrack(){return this.smallDestination.videoTrack}get hasSmall(){return!!this.smallTrackSource||!!this.smallImageSource}get initialTrack(){var e;return this._isOpenVirtualBackground&&this._virtualBackgroundTrack?this._virtualBackgroundTrack:null==(e=this.cameraTrack)?void 0:e.mediaTrack}_setMainOutput(e){let t=this.cameraTrack,{small:i,settings:n}=t;return i&&(this.smallVideoContext.available||(this.smallVideoContext.create({alpha:!1,use2d:!0}),this.smallDestination=new DV(this.smallVideoContext,i)),this.smallVideoContext.frameRate=i.frameRate,this.smallDestination.resolution=i,e?(this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource),this.smallImageSource?this.smallImageSource.image=e:(this.smallImageSource=this.smallVideoContext.createVideoImageSource(e),this.smallImageSource.connect(this.smallDestination))):(this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource?this.smallTrackSource.replaceTrack(this.initialTrack):(this.smallTrackSource=this.smallVideoContext.createVideoTrackSource(this.initialTrack),this.smallTrackSource.width=n.width,this.smallTrackSource.height=n.height,this.smallTrackSource.connect(this.smallDestination)))),t.setOutputMediaStreamTrack(e?this.destination.videoTrack:this.initialTrack)}update(){return cb(this,null,(function*(){var e,t;if(!this.cameraTrack||!this.cameraTrack.mediaTrack)return;if(!this.active)return this.cameraNode&&this.clear(),this._setMainOutput();{let{settings:e,profile:t}=this.cameraTrack;this.destination||(this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination"})),this.cameraNode?this.cameraNode.replaceTrack(this.initialTrack):(this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack),this.cameraNode.resize(e.width,e.height)),this.videoContext.frameRate=t.frameRate}let i=this.cameraNode;return i.disconnect(),this._isMirror&&(this.mirrorNode||(this.mirrorNode=new MV(this.videoContext)),i=i.connect(this.mirrorNode),i.disconnect(),this._log.info("start mirror")),this.mixNode&&this.mixNode.close(),delete this.mixNode,(this._isMixScreen||this._hasWaterMark)&&(this.mixNode=new VV(this.videoContext),i.connect(this.mixNode,{zIndex:1}),this._hasWaterMark&&!this.waterMarkNode&&this._waterMarkOption&&(this.waterMarkNode=this.videoContext.createVideoImageSource(this._waterMarkOption.image),this.waterMarkNode.resize(this._waterMarkOption.width,this._waterMarkOption.height),this.waterMarkNode.x=this._waterMarkOption.x,this.waterMarkNode.y=this._waterMarkOption.y),null==(e=this.waterMarkNode)||e.connect(this.mixNode,{zIndex:2}),this.screenTrack&&!this.screenNode&&(this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack)),null==(t=this.screenNode)||t.connect(this.mixNode,{zIndex:0}),i=this.mixNode,this._log.info("start mix","".concat(this.mixNode.width,"x").concat(this.mixNode.height))),i.connect(this.destination),this._setMainOutput(this.videoContext._canvas)}))}changeInput(e,t){return this._log.info("change input"),e instanceof lL?this.setScreenTrack(e):e instanceof aL?this.setCameraTrack(e):e instanceof bL?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}removeInput(e){var t;e instanceof lL?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof aL&&(this.clear(),delete this.cameraTrack,this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource))}setCameraTrack(e){return cb(this,null,(function*(){return this.cameraTrack=e,this._isOpenVirtualBackground&&(yield this.updateAr()),this.update()}))}setScreenTrack(e){return this.screenTrack=e,this._isMixScreen&&(this.screenNode?this.screenNode.replaceTrack(e.mediaTrack):this.update()),e.setOutputMediaStreamTrack(e.mediaTrack)}loadImage(e){return new Promise(((t,i)=>{let n=new Image;n.crossOrigin="anonymous",n.src=e,n.onload=()=>t(n),n.onerror=i}))}setWatermark(e){return cb(this,null,(function*(){let t=yield this.loadImage(e.imageUrl),{x:i=0,y:n=0,width:r=t.width,height:o=t.height}=e;this._hasWaterMark=!0,this._waterMarkOption={x:i,y:n,width:r,height:o,image:t},this._log.info("start watermark",JSON.stringify({x:i,y:n,width:r,height:o})),this.update()}))}stopWatermark(){var e;!this._hasWaterMark||(this._hasWaterMark=!1,this._log.info("stop watermark"),null==(e=this.waterMarkNode)||e.close(),delete this.waterMarkNode,this.update())}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||(null==(t=this.mirrorNode)||t.close(),delete this.mirrorNode),this.update()}get mirror(){return this._isMirror}enableAr(e){return cb(this,null,(function*(){this.virtualBackgroundInstance=e,this._isOpenVirtualBackground=!0,this.virtualBackgroundInstance.ar.enable(this.cameraTrack.mediaTrack.clone()),this.virtualBackgroundInstance.ar.listen("output",this.handleArOutput.bind(this))}))}handleArOutput(e){this._virtualBackgroundTrack=e,this.update()}updateAr(){return cb(this,null,(function*(){var e;null==(e=this.cameraTrack)||!e.mediaTrack||(yield this.virtualBackgroundInstance.ar.updateInputTrack(this.cameraTrack.mediaTrack.clone()))}))}disableAr(){var e;!this._isOpenVirtualBackground||(this._isOpenVirtualBackground=!1,null==(e=this._virtualBackgroundTrack)||e.stop(),this._virtualBackgroundTrack=null,this.update())}clear(){this.videoContext.disconnect(),delete this.destination,delete this.cameraNode,delete this.mirrorNode,delete this.screenNode,delete this.waterMarkNode}},FV=0,BV=class extends Ww{constructor(e){super("room"),this.seq=++FV,this.role="anchor",this.localTracks=new Set,this.enableAutoPlayDialog=!0,this.autoReceiveAudio=!0,this.autoReceiveVideo=!0,this.scheduleResult={domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null},this._isUsingCachedSchedule=!1,this._log=jO.createLogger({id:"r".concat(this.seq)}),this._joinedTimestamp=0,this._isDestroyed=!1,this.useStringRoomId=!!e.useStringRoomId,aO(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),aO(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),aO(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this.keyPointManager=new dV({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new hV({room:this}),this.badCaseDetector=new pV({room:this}),this.audioManager=new vL({room:this}),this.videoManager=new UV({room:this})}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}getLogger(){return this._log}get isJoined(){return"joined"===this.state}get isLeft(){return"left"===this.state}addTrack(e){return cb(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return cb(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return cb(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAIVoice(e){throw new Error("Method not implemented.")}setProxyServer(e){if(oO(e))e.startsWith("wss://")?this.proxy_ws=e:e.startsWith("https://")&&(this.proxy_wt=e);else if(ZD(e)){let{websocketProxy:t,webtransportProxy:i,loggerProxy:n,scheduleProxy:r,unifiedProxy:o}=e;this.proxy_ws=t,this.proxy_wt=i,this.proxy_unified=o,o?(EV([o,o]),mN("https://".concat(o))):(n&&mN(n),r&&EV(r))}}getRemoteAudioStats(){return cb(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return cb(this,null,(function*(){var e;let t={rtt:(null==(e=this.quality)?void 0:e.uplinkRTT)||0,downlinksRTT:{}};if(this.quality)for(let i of this.quality.downlinkInfo)t.downlinksRTT[i.userId]=i.rtt;return t}))}getRemoteVideoStats(){return cb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"main";return function*(){let i={};return e.remotePublishedUserMap.forEach((e=>{let n="auxiliary"===t?e.remoteAuxiliaryTrack:e.remoteVideoTrack;i[e.userId]=n.stat})),i}()}))}checkDestroy(){if(this._isDestroyed)throw new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.CLIENT_DESTROYED,data:{funName:"join"}})})}destroy(){if(this.isJoined)throw this._log.warn(KO.INVALID_DESTROY),new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.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,UO.emit(BO.ROOM_DESTROY,{room:this})}schedule(e,t,i){return cb(this,null,(function*(){var n,r;let o=gO();try{let{isCached:s,result:a,detailCost:c}=yield gV({userId:this.userId,sdkAppId:this.sdkAppId,roomId:e,useStringRoomId:this.useStringRoomId,version:i,userSig:this.userSig,frameWorkType:t});this._isUsingCachedSchedule=s,this._log.info("schedule cache:".concat(+s," ").concat(OO(a,{keysToExclude:["username","credential"]}))),s&&UO.once(BO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=eb(eb({},this.scheduleResult),a),sO(null==(n=a.config)?void 0:n.retryCount)&&oD(a.config.retryCount),oO(null==(r=a.config)?void 0:r.loggerDomain)&&mN(a.config.loggerDomain),UO.emit(BO.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:c}),UO.emit(BO.API_SUCCESS_RATE,{room:this,apiName:"schedule",cost:gO()-o})}catch(a){throw UO.emit(BO.API_SUCCESS_RATE,{room:this,apiName:"schedule",error:a}),a}}))}},HV=new WeakMap,jV=new WeakMap;function GV(){return function(e,t,i){let n=i.value,r=e=>{let{fn:t,args:i,context:n,resolve:r,reject:o}=e;t.apply(n,i).then(r,o)};return i.value=function(){for(var e=arguments.length,t=new Array(e),i=0;i{if(HV.has(this)){let o=HV.get(this),{length:s}=o;o.push({fn:n,args:t,context:this,resolve:e,reject:i}),0===s&&r({fn:n,args:t,context:this,resolve:e,reject:i})}else HV.set(this,[{fn:n,args:t,context:this,resolve:e,reject:i}]),r({fn:n,args:t,context:this,resolve:e,reject:i})})).finally((()=>{let e=HV.get(this);e&&(e.shift(),e[0]&&r(eb({},e[0])))}))},i}}function WV(e){return function(t,i,n){let r=n.value,o=t=>sO(e)?t[e]:e(...t),s=e=>{let{fn:t,args:i,context:n,resolve:r,reject:a}=e;t.apply(n,i).then(r,a).finally((()=>{if(jV.has(n)&&jV.get(n).has(o(i))){let e=jV.get(n).get(o(i));e&&(e.shift(),e[0]&&s(eb({},e[0])))}}))};return n.value=function(){for(var e=arguments.length,t=new Array(e),i=0;i{if(jV.has(this))if(jV.get(this).has(o(t))){let n=jV.get(this).get(o(t));if(n){let{length:o}=n;n.push({fn:r,args:t,context:this,resolve:e,reject:i}),0===o&&s({fn:r,args:t,context:this,resolve:e,reject:i})}}else jV.get(this).set(o(t),[{fn:r,args:t,context:this,resolve:e,reject:i}]),s({fn:r,args:t,context:this,resolve:e,reject:i});else{let n=new Map;n.set(o(t),[{fn:r,args:t,context:this,resolve:e,reject:i}]),jV.set(this,n),s({fn:r,args:t,context:this,resolve:e,reject:i})}}))},n}}var JV,zV=rb(lb()),KV=rb(pb()),qV=e=>{let{serverAbility:t,clientAbility:i,offerSDP:n,enableCustomMessage:r}=e,o=Hx(n),s={extmapAllowMixed:"extmap-allow-mixed",groups:o.groups,icelite:"ice-lite",media:[],msidSemantic:{semantic:"",token:"WMS"},name:"-",origin:{address:"127.0.0.1",username:"-",sessionId:String(Date.now()),sessionVersion:1,netType:"IN",ipVer:4},timing:{start:0,stop:0},version:0},a={candidates:t.candidates.map((e=>({component:1,foundation:"1",generation:0,ip:e.ip,port:e.port,priority:e.priority,transport:e.foundation,type:e.type}))),connection:{version:4,ip:"0.0.0.0"},direction:MN.TRANSCEIVER_DIRECTION_RECVONLY,ext:t.audio.extensions.map((e=>({value:e.id,uri:e.uri}))),fingerprint:{type:t.dtls.hash,hash:t.dtls.fingerprint},fmtp:[{payload:t.audio.codecs[0].payload,config:t.audio.codecs[0].fmtp}],icePwd:t.ice.password,iceUfrag:t.ice.ufrag,mid:"0",payloads:String(t.audio.codecs[0].payload),port:o.media[0].port,protocol:o.media[0].protocol,type:MN.AUDIO,setup:t.dtls.setup,rtcpFb:t.audio.codecs[0].rtcpfb.map((e=>({payload:t.audio.codecs[0].payload,type:e.id,subtype:e.params[0]}))),rtcpMux:"rtcp-mux",rtcpRsize:"rtcp-rsize",rtp:[{payload:t.audio.codecs[0].payload,codec:t.audio.codecs[0].codec,rate:t.audio.codecs[0].rate,encoding:t.audio.codecs[0].channels}]};return s.media.push(a),[1,2,3].forEach((e=>{s.media.push(YV({mid:e,serverAbility:t,clientAbility:i,parsedOffer:o}))})),r&&s.media.push(o.media.find((e=>"dc"===e.mid))),jx(s)},YV=e=>{let{mid:t,serverAbility:i,clientAbility:n,parsedOffer:r,useAllCodec:o=!1}=e,s={candidates:i.candidates.map((e=>({component:1,foundation:"1",generation:0,ip:e.ip,port:e.port,priority:e.priority,transport:e.foundation,type:e.type}))),connection:{version:4,ip:"0.0.0.0"},direction:MN.TRANSCEIVER_DIRECTION_RECVONLY,ext:i.video.extensions.map((e=>({value:e.id,uri:e.uri}))),fingerprint:{type:i.dtls.hash,hash:i.dtls.fingerprint},fmtp:[],icePwd:i.ice.password,iceUfrag:i.ice.ufrag,mid:String(t),payloads:"",port:r.media[0].port,protocol:r.media[0].protocol,type:MN.VIDEO,setup:i.dtls.setup,rtcpFb:[],rtcpMux:"rtcp-mux",rtcpRsize:"rtcp-rsize",rtp:[]};if(i.video.codecs.length>0)if(o)for(let a=0;ae.codec.toLowerCase()===(i.useVp8?"vp8":"h264")));QV(s,i.video.codecs[e])}else if(o)for(let a=0;a{e.payloads="".concat(e.payloads," ").concat(t.payload),e.fmtp.push({payload:t.payload,config:t.fmtp}),e.rtcpFb=[...e.rtcpFb||[],...(t.rtcpfb||t.rtcpFb).map((e=>({payload:t.payload,type:e.id,subtype:e.params[0]})))],e.rtp.push({payload:t.payload,codec:t.codec.toUpperCase(),rate:t.rate}),t.rtx&&(e.payloads="".concat(e.payloads," ").concat(t.rtx),e.fmtp.push({payload:t.rtx,config:"apt=".concat(t.payload)}),e.rtp.push({payload:t.rtx,codec:"rtx",rate:t.rate}))},XV=e=>{let t=KV.default.parse(e);return t.media.forEach((e=>{var i;(e.type===MN.AUDIO||e.type===MN.VIDEO)&&(function(e){if(!e.rtcpFb)return;let t=[];e.rtcpFb.forEach(((i,n)=>{var r;t.push(i),e.rtcpFb&&(null==(r=e.rtcpFb[n+1])?void 0:r.payload)!==i.payload&&"rrtr"!==i.type&&t.push({payload:i.payload,type:"rrtr"})})),e.rtcpFb=t}(e),function(e){e.type===MN.VIDEO&&e.fmtp&&e.fmtp.forEach((e=>{e.config.includes("apt")||(e.config+=";sps-pps-idr-in-keyframe=1")}))}(e),function(e){e.type===MN.AUDIO&&e.fmtp&&e.fmtp.forEach((e=>{e.config+=";sprop-stereo=1;stereo=1"}))}(e),function(e){let t=new Set(["urn:ietf:params:rtp-hdrext:sdes:mid","urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id","urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id"]);e.ext&&(e.ext=e.ext.filter((e=>!t.has(e.uri))))}(e)),(null==(i=e.payloads)?void 0:i.includes("datachannel"))&&t.groups&&e.mid&&(t.groups[0].mids=t.groups[0].mids.replace(e.mid,"dc"),e.mid="dc")})),KV.default.write(t)},$V=((JV=$V||{}).TRACK="track",JV.DATA_CHANNEL_MESSAGE="data_channel_msg",JV[JV.CONNECTION_STATE_CHANGED="connection-state-changed"]="CONNECTION_STATE_CHANGED",JV[JV.FIREWALL_RESTRICTION="firewall-restriction"]="FIREWALL_RESTRICTION",JV.RECONNECTED="spc-reconnected",JV.RECONNECT_FAILED="spc-reconnect-failed",JV.ERROR="error",JV),ZV=0,eU=!1,tU=new Set,iU=1,nU=class extends zV.default{constructor(e){let{signalChannel:t,room:i,enableCustomMessage:n}=e;super(),sb(this,"stat",{iceStartTime:0,iceEndTime:0,dtlsStartTime:0,dtlsEndTime:0,peerConnectionStartTime:0,peerConnectionEndTime:0}),sb(this,"currentState","DISCONNECTED"),sb(this,"_room"),sb(this,"_signalChannel"),sb(this,"_peerConnection",null),sb(this,"_datachannel",null),sb(this,"_enableCustomMessage"),sb(this,"_log"),sb(this,"_downlinkMIDMap",new Map),sb(this,"_reconnectionTimer",-1),sb(this,"reconnectionCount",0),sb(this,"_clientAbility",null),sb(this,"_serverAbility",null),sb(this,"addDownlinkQueue",new Set),sb(this,"removeDownlinkQueue",new Set),sb(this,"_parsedAnswer",null),sb(this,"_updateSDPPromise",null),sb(this,"_waitForPCConnectedPromise"),sb(this,"_waitForPCConnectedPromiseReject",null),sb(this,"_isSDPLogged",!1),this._room=i,this._enableCustomMessage=n,this._signalChannel=t,this._log=jO.createLogger({id:"spc".concat(iU++),userId:this._room.userId,sdkAppId:this._room.sdkAppId})}get isH264EncodeSupported(){let e=this._room.checkSystemResult.detail.isH264EncodeSupported;return this._serverAbility&&(e=e&&!!this._serverAbility.video.codecs.find((e=>"h264"===e.codec.toLowerCase()))),e}get isVP8EncodeSupported(){let e=this._room.checkSystemResult.detail.isVp8EncodeSupported;return this._serverAbility&&(e=e&&this._serverAbility.useVp8),e}get uplinkSSRC(){return this._peerConnection&&this._peerConnection.localDescription?(e=>{let t=Hx(e),i={audioSsrc:0,audioRtxSsrc:0,bigVideoSsrc:0,bigVideoRtxSsrc:0,smallVideoSsrc:0,smallVideoRtxSsrc:0,auxVideoSsrc:0,auxVideoRtxSsrc:0};return t.media.forEach(((e,t)=>{var n;if(e.ssrcs&&!rO(e.ssrcs[0].id)){let r=Number(e.ssrcs[0].id),o=Number(null==(n=e.ssrcs.filter((e=>"cname"===e.attribute))[1])?void 0:n.id);switch(t){case 0:i.audioSsrc=r;break;case 1:i.bigVideoSsrc=r,i.bigVideoRtxSsrc=o;break;case 2:i.smallVideoSsrc=r,i.smallVideoRtxSsrc=o;break;case 3:i.auxVideoSsrc=r,i.auxVideoRtxSsrc=o}}})),i})(this._peerConnection.localDescription.sdp):{audioSsrc:0,audioRtxSsrc:0,bigVideoSsrc:0,bigVideoRtxSsrc:0,smallVideoSsrc:0,smallVideoRtxSsrc:0,auxVideoSsrc:0,auxVideoRtxSsrc:0}}get isReconnecting(){return"RECONNECTING"===this.currentState||this._reconnectionTimer>0||this.reconnectionCount>0}get dtlsTransport(){if(!this._peerConnection)return null;let e=this._peerConnection.getSenders();return 0===e.length?null:e[0].transport}initialize(){return cb(this,null,(function*(){try{this._peerConnection=new RTCPeerConnection({offerExtmapAllowMixed:!0,iceServers:this._room.getIceServers(),iceTransportPolicy:this._room.getIceTransportPolicy(),sdpSemantics:this._room.sdpSemantics,bundlePolicy:"max-bundle",rtcpMuxPolicy:"require",tcpCandidatePolicy:"disable",IceTransportsType:"nohost"}),this._peerConnection.oniceconnectionstatechange=()=>{if(!this._peerConnection)return;let e=this._peerConnection.iceConnectionState;this._log.debug("ice state: ".concat(e)),"checking"===e&&0===this.stat.iceStartTime?this.stat.iceStartTime=Date.now():"connected"===e&&0===this.stat.iceEndTime&&(this.stat.iceEndTime=Date.now())},this._peerConnection.onconnectionstatechange=this.onConnectionStateChange.bind(this),this._peerConnection.ontrack=e=>this.emit("track",e),this._enableCustomMessage&&(this._datachannel=this._peerConnection.createDataChannel("".concat(this._room.userId,"dc")),this._datachannel.binaryType="arraybuffer",this._datachannel.onopen=()=>{this._log.info("datachannel open")},this._datachannel.onclose=()=>{this._log.warn("datachannel close")},this._datachannel.onmessage=e=>{let t=new oU(e.data);this.emit("data_channel_msg",{data:t})},this._datachannel.onerror=e=>{this._log.warn("datachannel error",e)}),this._peerConnection.addTransceiver(MN.AUDIO,{direction:MN.TRANSCEIVER_DIRECTION_SENDONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:MN.TRANSCEIVER_DIRECTION_SENDONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:MN.TRANSCEIVER_DIRECTION_SENDONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:MN.TRANSCEIVER_DIRECTION_SENDONLY});let e=yield this._peerConnection.createOffer();return yield this.setOffer(e),this.dtlsTransport&&(this.dtlsTransport.onstatechange=()=>{let{dtlsTransport:e}=this;!e||(this._log.debug("dtls state: ".concat(e.state)),"connecting"===e.state&&0===this.stat.dtlsStartTime?this.stat.dtlsStartTime=Date.now():"connected"===e.state&&0===this.stat.dtlsEndTime&&(this.stat.dtlsEndTime=Date.now()))}),this._clientAbility=((e,t)=>{var i,n;let r=Hx(e),o={ice:{ufrag:"",password:""},dtls:{hash:"",fingerprint:"",setup:""},audio:{codecs:[],extensions:[]},video:{codecs:[],extensions:[]},useDataChannel:t};o.ice.ufrag=String(r.media[0].iceUfrag),o.ice.password=r.media[0].icePwd||"",r.fingerprint&&(o.dtls.hash=r.fingerprint.type,o.dtls.fingerprint=r.fingerprint.hash,o.dtls.setup=r.setup||""),r.media[0].fingerprint&&(o.dtls.hash=r.media[0].fingerprint.type,o.dtls.fingerprint=r.media[0].fingerprint.hash),o.dtls.setup=r.media[0].setup||"";let s=r.media[0],a=r.media[1];s.ext&&(o.audio.extensions=s.ext.map((e=>({id:e.value,uri:e.uri})))),a.ext&&(o.video.extensions=a.ext.map((e=>({id:e.value,uri:e.uri}))));let c={codec:s.rtp[0].codec,fmtp:s.fmtp[0].config,payload:s.fmtp[0].payload,rate:s.rtp[0].rate,channel:s.rtp[0].encoding,rtcpFb:[],rtx:0};null==(i=s.rtcpFb)||i.forEach((e=>{let{payload:t,type:i,subtype:n}=e;if(t===c.payload){let e={id:i,params:[]};n&&e.params.push(n),c.rtcpFb.push(e)}})),o.audio.codecs.push(c);for(let l=0;le.payload===a.rtp[l].payload))[0];o.video.codecs.push({payload:a.rtp[l].payload,codec:a.rtp[l].codec,fmtp:e?e.config:"",rate:a.rtp[l].rate,rtx:"rtx"===(null==(n=a.rtp[l+1])?void 0:n.codec)?a.rtp[l+1].payload:0,rtcpFb:((null==a?void 0:a.rtcpFb)||[]).filter((e=>e.payload===a.rtp[l].payload)).map((e=>{let{type:t,subtype:i}=e;return{id:t,params:i?[i]:[]}}))})}return o})(e.sdp,this._enableCustomMessage),this._clientAbility}catch(aN){throw this._log.error("initialize failed ".concat(aN)),aN}}))}connect(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return cb(this,null,(function*(){try{if("CONNECTED"===this.currentState)return;let i=gO(),n={type:"answer",sdp:qV({serverAbility:e,clientAbility:this._clientAbility,offerSDP:this._peerConnection.localDescription.sdp,enableCustomMessage:this._enableCustomMessage})};this._serverAbility=e,yield this.setAnswer(n),yield this.waitForPeerConnectionConnected(),t||UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:"SPCConnect",cost:Math.min(gO()-i,3e4)})}catch(cN){let i=cN instanceof Tb&&cN.code===fb.API_CALL_ABORTED;throw i||this._log.error("connect failed: ".concat(cN),e),this.reset(),!i&&!this.isReconnecting&&(UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:"SPCConnect",error:cN}),this.emitConnectionStateChangedEvent("DISCONNECTED"),this.startReconnection()),cN}}))}reconnect(){return cb(this,null,(function*(){if(-1===this._reconnectionTimer){if(!this._signalChannel.isConnected)return this._log.warn("reconnect() wait signal channel is connected"),void this._signalChannel.once(XM,this.reconnect,this);try{this.reconnectionCount++,this._log.warn("reconnect() trying [".concat(this.reconnectionCount,"]")),this.reset();let e=yield this.initialize(),t=yield this._signalChannel.sendWaitForResponse({command:Rx,responseCommand:rx.REBUILD_PEER_CONNECTION_RES,data:{ability:e},enableLog:!1});yield this.connect(t.data.data.ability,!0),this._log.warn("reconnect() successfully"),this.stopReconnection(),this.emit("spc-reconnected")}catch(aN){if(!this.isReconnecting)return;if(null!=aN&&aN.message.includes("timeout")){let e=tO(this.reconnectionCount);this._log.warn("reconnect() timeout, try again after ".concat(e/1e3,"s")),this._reconnectionTimer=window.setTimeout((()=>{this.clearReconnectionTimer(),this.reconnect()}),e)}else this._log.error("reconnect() failed ".concat(aN)),UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:"SPCReconnect",error:aN}),this.reconnectionCount>=sD()&&this._log.warn("SDK has tried reconnect for ".concat(sD()," times, but all failed, please check your network")),this.stopReconnection(),this.emitConnectionStateChangedEvent("DISCONNECTED"),this.emit("error")}}else this._log.warn("reconnect() is reconnecting, ignore current reconnection")}))}getPeerConnection(){return this._peerConnection}startReconnection(){return cb(this,null,(function*(){this._log.warn("start reconnect"),this.emitConnectionStateChangedEvent("RECONNECTING");let e=gO();yield this.reconnect(),UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:"SPCReconnect",cost:Math.min(gO()-e,3e4)})}))}stopReconnection(){this.isReconnecting&&(this._log.info("stop reconnect"),this.reconnectionCount=0,this.clearReconnectionTimer(),this._signalChannel.off(XM,this.reconnect,this))}checkPeerConnectionToReconnect(){var e;!this.isReconnecting&&(null==(e=this._peerConnection)?void 0:e.connectionState)===nD.CLOSED&&this.startReconnection()}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}onConnectionStateChange(e){let t=this._peerConnection.iceConnectionState,i=this.getDTLSTransportState();this._log.info("connectionState: ".concat(e.target.connectionState," ICE: ").concat(t," DTLS: ").concat(i)),e.target.connectionState===nD.CONNECTING&&(0===this.stat.peerConnectionStartTime&&(this.stat.peerConnectionStartTime=Date.now()),this.emitConnectionStateChangedEvent("CONNECTING")),(e.target.connectionState===nD.FAILED||e.target.connectionState===nD.CLOSED)&&(this.emitConnectionStateChangedEvent("DISCONNECTED"),this.startReconnection()),(e.target.connectionState===nD.CONNECTED||e.target.connectionState===nD.COMPLETED)&&(0===this.stat.peerConnectionEndTime&&(this.stat.peerConnectionEndTime=Date.now()),UO.emit(BO.SINGLE_CONNECTION_STAT,{room:this._room,stat:{ice:this.stat.iceEndTime-this.stat.iceStartTime,dtls:this.stat.dtlsEndTime-this.stat.dtlsStartTime,peerConnection:this.stat.peerConnectionEndTime-this.stat.peerConnectionStartTime}}),this.logSelectedCandidate(),this.emitConnectionStateChangedEvent("CONNECTED"))}getDTLSTransportState(){if(!this._peerConnection)return iD;let e=null;return Sw()&&0!==this._peerConnection.getSenders().length?(e=this._peerConnection.getSenders()[0].transport,Ew()&&0!==this._peerConnection.getReceivers().length&&e?e.state:iD):iD}emitConnectionStateChangedEvent(e){e!==this.currentState&&("RECONNECTING"===this.currentState&&"CONNECTING"===e||(this.emit($V.CONNECTION_STATE_CHANGED,{prevState:this.currentState,state:e}),this.currentState=e))}logSelectedCandidate(){return cb(this,null,(function*(){if(!this._peerConnection)return;let e=yield this._peerConnection.getStats();for(let[t,i]of e)if(hw(i)){let t=e.get(i.localCandidateId),n=e.get(i.remoteCandidateId);t&&this._log.info("local candidate: ".concat(t.candidateType," ").concat(t.protocol,":").concat(t.ip||t.address,":").concat(t.port," ").concat(t.networkType||""," ").concat("relay"===t.candidateType?"relayProtocol:".concat(t.relayProtocol):"")),n&&this._log.info("remote candidate: ".concat(n.candidateType," ").concat(n.protocol,":").concat(n.ip||n.address,":").concat(n.port));break}}))}waitForPeerConnectionConnected(){return this._waitForPCConnectedPromise||(this._waitForPCConnectedPromise=new Promise(((e,t)=>{if("CONNECTED"===this.currentState)return e();this._waitForPCConnectedPromiseReject=t;let i=t=>{"CONNECTED"===t.state&&(clearTimeout(o),r(),e())},n=e=>{let{room:i}=e;i===this._room&&(clearTimeout(o),r(),t(new Tb({code:fb.API_CALL_ABORTED,message:QO({key:zO.CONNECTION_ABORTED,data:"leave room"})})))},r=()=>{UO.off(BO.LEAVE_SUCCESS,n,this),this.off($V.CONNECTION_STATE_CHANGED,i,this)},o=setTimeout((()=>{r();let e=new Tb({code:fb.API_CALL_TIMEOUT,message:"connection timeout"});ZV+=1,(e=>ZV>2&&!eU&&0===tU.size&&e)(this._signalChannel.isConnected)&&(this._log.warn("firewall restrition"),eU=!0,this.emit($V.FIREWALL_RESTRICTION)),t(e)}),ID);UO.on(BO.LEAVE_SUCCESS,n,this),this.on($V.CONNECTION_STATE_CHANGED,i,this)})),this._waitForPCConnectedPromise=this._waitForPCConnectedPromise.finally((()=>{this._waitForPCConnectedPromise=null,this._waitForPCConnectedPromiseReject=null}))),this._waitForPCConnectedPromise}waitForReconnected(){return this.isReconnecting?new Promise(((e,t)=>{this.once("spc-reconnected",e),this.once("error",t)})):Promise.resolve()}addDownlink(e){return cb(this,null,(function*(){if(this._log.info("addDownlink(".concat(e.userId,") trying")),this.isReconnecting&&(yield this.waitForReconnected()),this.updateLocalAndRemoteSDPConfig(e),0===this.addDownlinkQueue.size)try{yield this.updateSDP({isNeedToCreateOffer:!0}),this._log.info("addDownlink(".concat(e.userId,") done"))}catch(aD){this._log.info("addDownlink(".concat(e.userId,") failed")),yield this.startReconnection()}}))}updateLocalAndRemoteSDPConfig(e){let{ssrc:t,userId:i,tinyId:n}=e;if(!this._peerConnection)return;this._log.info("updateLocalAndRemoteSDPConfig ".concat(i," ").concat(JSON.stringify(t)));let r,o,s,a=this._peerConnection.getTransceivers().filter((e=>"inactive"===e.direction)).slice(0,3).map((e=>(e.direction=MN.TRANSCEIVER_DIRECTION_RECVONLY,Number(e.mid))));if(0===a.length&&(this._peerConnection.addTransceiver(MN.AUDIO,{direction:MN.TRANSCEIVER_DIRECTION_RECVONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:MN.TRANSCEIVER_DIRECTION_RECVONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:MN.TRANSCEIVER_DIRECTION_RECVONLY})),this._parsedAnswer||(this._parsedAnswer=Hx(this._peerConnection.remoteDescription.sdp)),3===a.length)r=this._parsedAnswer.media.find((e=>Number(e.mid)===Number(a[0]))),o=this._parsedAnswer.media.find((e=>Number(e.mid)===Number(a[1]))),s=this._parsedAnswer.media.find((e=>Number(e.mid)===Number(a[2])));else{r=JSON.parse(JSON.stringify(this._parsedAnswer.media[0]));let e=YV({mid:1,serverAbility:this._serverAbility,clientAbility:this._clientAbility,parsedOffer:Hx(this._peerConnection.localDescription.sdp),useAllCodec:!0});o=JSON.parse(JSON.stringify(e)),s=JSON.parse(JSON.stringify(e)),r.mid=this._parsedAnswer.media.length,this._parsedAnswer.media.push(r),o.mid=this._parsedAnswer.media.length,this._parsedAnswer.media.push(o),s.mid=this._parsedAnswer.media.length,this._parsedAnswer.media.push(s)}r.direction=MN.TRANSCEIVER_DIRECTION_SENDONLY,r.ssrcs=[{id:t.audio,attribute:"cname",value:"".concat(n)},{id:t.audio,attribute:"msid",value:"".concat(n,"-").concat(MN.MAIN," ").concat(n,"-audio")}],o.direction=MN.TRANSCEIVER_DIRECTION_SENDONLY,o.ssrcs=[{id:t.video,attribute:"cname",value:"".concat(n)},{id:t.video,attribute:"msid",value:"".concat(n,"-").concat(MN.MAIN," ").concat(n,"-bigvideo")},{id:t.videoRtx,attribute:"cname",value:"".concat(n)},{id:t.videoRtx,attribute:"msid",value:"".concat(n,"-").concat(MN.MAIN," ").concat(n,"-bigvideo")}],o.ssrcGroups=[{semantics:"FID",ssrcs:"".concat(t.video," ").concat(t.videoRtx)}],s.direction=MN.TRANSCEIVER_DIRECTION_SENDONLY;let c="".concat(n,"-aux");s.ssrcs=[{id:t.auxiliary,attribute:"cname",value:c},{id:t.auxiliary,attribute:"msid",value:"".concat(c," ").concat(n,"-aux").concat(MN.VIDEO)},{id:t.auxiliaryRtx,attribute:"cname",value:"".concat(c," ").concat(n,"-aux").concat(MN.VIDEO)},{id:t.auxiliaryRtx,attribute:"msid",value:"".concat(c," ").concat(n,"-aux").concat(MN.VIDEO)}],s.ssrcGroups=[{semantics:"FID",ssrcs:"".concat(t.auxiliary," ").concat(t.auxiliaryRtx)}],this._parsedAnswer.groups&&(this._parsedAnswer.groups[0].mids=this._parsedAnswer.media.map((e=>e.mid)).join(" ")),this._downlinkMIDMap.set(n,[r.mid,o.mid,s.mid])}removeDownlink(e,t){return cb(this,null,(function*(){if(!this._downlinkMIDMap.has(e)||!this._peerConnection)return;this._log.info("removeDownlink(".concat(t,") trying")),this.isReconnecting&&(yield this.waitForReconnected());let i=this._downlinkMIDMap.get(e),n=!1;this._peerConnection.getTransceivers().forEach((e=>{null!=i&&i.includes(Number(e.mid))&&(n=!0,e.direction="inactive")})),this._parsedAnswer||(this._parsedAnswer=Hx(this._peerConnection.remoteDescription.sdp)),this._parsedAnswer.media.forEach((e=>{null!=i&&i.includes(Number(e.mid))&&(n=!0,e.direction="inactive",e.ssrcs=[],e.ssrcGroups=[])})),0===this.removeDownlinkQueue.size&&n&&(yield this.updateSDP({isNeedToCreateOffer:!0,tinyIdRemoving:e})),this._downlinkMIDMap.delete(e),this._log.info("removeDownlink(".concat(t,") done"))}))}getDownlinkMids(e){return this._downlinkMIDMap.get(e)}setBandwidth(e){return cb(this,null,(function*(){if(!this._peerConnection)return;let{audio:t,bigVideo:i,smallVideo:n,auxVideo:r}=e;try{if(Cw()){let e=this._peerConnection.getSenders().slice(0,4);for(let o=0;ocb(this,null,(function*(){try{t&&this._peerConnection&&(this._log.info("creating offer"),i=yield this._peerConnection.createOffer()),i&&(yield this.setOffer(i)),yield this.setAnswer({type:"answer",sdp:r}),this._updateSDPPromise=null,e()}catch(c){this._log.error(c),!this._isSDPLogged&&this._peerConnection&&(this._log.warn("transceivers: ".concat(JSON.stringify(this._peerConnection.getTransceivers().map((e=>{let{mid:t,currentDirection:i,direction:n,stopped:r}=e;return{mid:t,currentDirection:i,direction:n,stopped:r}}))))),this._log.warn("parsedAnswer: ".concat(JSON.stringify(this._parsedAnswer))),this._log.warn("local sdp: ".concat(null==i?void 0:i.sdp)||0),this._log.warn("remote sdp: ".concat(r)||0),this._isSDPLogged=!0),this._updateSDPPromise=null,n(c)}})))),this._updateSDPPromise}setOffer(e){return this._log.info("setting offer"),this._peerConnection.setLocalDescription({type:"offer",sdp:XV(e.sdp)})}setAnswer(e){return this._log.info("setting answer"),this._room.enableHWEncoder&&e.sdp&&(e.sdp=e.sdp.replaceAll("42e01f","42001f")),this._peerConnection.setRemoteDescription(e)}sendDataChannelMessage(e){var t;null==(t=this._datachannel)||t.send(e)}reset(){var e;null==(e=this._peerConnection)||e.close(),this._waitForPCConnectedPromise=null,this._parsedAnswer=null}close(){this._log.info("close pc"),this.reset(),this.emitConnectionStateChangedEvent("DISCONNECTED"),this._downlinkMIDMap.clear(),this.stopReconnection(),this.removeAllListeners()}};ob([GV()],nU.prototype,"updateSDP",1);var rU=class{constructor(e){sb(this,"tag"),sb(this,"len"),sb(this,"data");let t=new DataView(e);this.tag=t.getUint16(),this.len=t.getUint16(2),this.data=new Uint8Array(e).slice(4,4+this.len).buffer}},oU=class{constructor(e){sb(this,"tinyId"),sb(this,"data");let t=new DataView(e),i=0,n=[];for(;i{1===e.tag?this.tinyId=(new TextDecoder).decode(e.data):2===e.tag&&(this.data=e.data)}))}},sU=new Set;function aU(){let e=Math.floor(4294967296*Math.random());return sU.has(e)?aU():(sU.add(e),e)}var cU=rb(lb()),lU=class extends cU.default{constructor(e){super(),sb(this,"userId"),sb(this,"tinyId"),sb(this,"_sdpSemantics"),sb(this,"_isUplink"),sb(this,"_room"),sb(this,"_log"),sb(this,"_signalChannel"),sb(this,"_currentState","DISCONNECTED"),sb(this,"_prevTime",-1),sb(this,"_enableSEI"),sb(this,"_sei"),this.userId=e.userId,this.tinyId=e.tinyId,this._room=e.room,this._sdpSemantics=e.room.sdpSemantics,this._isUplink=e.isUplink,this._log=jO.createLogger({id:"n",userId:this._room.userId,remoteUserId:this._isUplink?void 0:this.userId,sdkAppId:this._room.sdkAppId,isLocal:this._isUplink}),this._signalChannel=e.signalChannel,this._enableSEI=e.enableSEI,this._enableSEI&&Nw&&(this._sei=new Lx(this,this._log,this._isUplink))}get _peerConnection(){var e;return(null==(e=this.singlePC)?void 0:e.getPeerConnection())||null}get singlePC(){return this._room.singlePC}close(e){this._log.info("close connection"),this.emit("closed",e),this._sei&&(this._sei.destroy(),this._sei=null)}emitConnectionStateChangedEvent(e){return e!==this._currentState&&(UO.emit(BO.PEER_CONNECTION_STATE_CHANGED,{room:this._room,prevState:this._currentState,state:e,remoteUserId:this._isUplink?void 0:this.userId}),this.emit("connection-state-changed",{prevState:this._currentState,state:e}),this._currentState=e,!0)}getPeerConnection(){return this._peerConnection}getRoom(){return this._room}getUserId(){return this.userId}getTinyId(){return this.tinyId}getCurrentState(){return this._currentState}get isH264(){var e,t;return!(null==(t=null==(e=this._peerConnection)?void 0:e.remoteDescription)||!t.sdp.includes("H264"))}},dU=class extends lU{constructor(e){super(tb(eb({},e),{isUplink:!0})),sb(this,"localMainAudioTrack",null),sb(this,"localMainVideoTrack",null),sb(this,"localAuxAudioTrack",null),sb(this,"localAuxVideoTrack",null),sb(this,"_isPublishingAux",!1),sb(this,"_publishingLocalAudioTrack"),sb(this,"_publishingLocalVideoTrack"),sb(this,"_mediaSettings",{videoCodec:"",videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioCodec:"opus",audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0,auxVideoWidth:0,auxVideoHeight:0,auxVideoFps:0,auxVideoBps:0}),sb(this,"_audioManager"),this._audioManager=e.audioManager,this.initialize()}get ssrc(){if(!this.singlePC)return{audio:0,video:0,videoRtx:0,small:0,smallRtx:0,auxiliary:0,auxiliaryRtx:0};let{audioSsrc:e,bigVideoSsrc:t,bigVideoRtxSsrc:i,smallVideoSsrc:n,smallVideoRtxSsrc:r,auxVideoSsrc:o,auxVideoRtxSsrc:s}=this.singlePC.uplinkSSRC;return{audio:e||0,video:t||0,videoRtx:i||0,small:n||0,smallRtx:r||0,auxiliary:o||0,auxiliaryRtx:s||0}}get isMainStreamPublished(){return!(!this.localMainAudioTrack&&!this.localMainVideoTrack)}get isAuxStreamPublished(){return!(!this.localAuxVideoTrack&&!this.localAuxAudioTrack)}get publishState(){var e,t,i,n;let r={audio:!1,bigVideo:!1,smallVideo:!1,auxVideo:!1};if(this._peerConnection){let o=this._peerConnection.getSenders();o&&(Iw()?(r.audio=!(null==(e=o[0])||!e.track),r.bigVideo=!(null==(t=o[1])||!t.track),r.smallVideo=!(null==(i=o[2])||!i.track),r.auxVideo=!(null==(n=o[3])||!n.track)):o.forEach((e=>{e.track&&(e.track.kind===MN.AUDIO?r.audio=!0:(r.bigVideo=!0,this._room.videoManager.hasSmall&&(r.smallVideo=!0)))})))}return r}initialize(){this.installEvents()}reset(){this.uninstallEvents()}close(e){super.close(e),this.reset(),this.emitConnectionStateChangedEvent("DISCONNECTED")}installEvents(){var e;this.listeners("connection-state-changed").includes(this.handleConnectionStateChange)||this.on("connection-state-changed",this.handleConnectionStateChange,this),this.listeners("spc-reconnected").includes(this.onSinglePCReconnected)||null==(e=this.singlePC)||e.on("spc-reconnected",this.onSinglePCReconnected,this)}uninstallEvents(){var e;this.off("connection-state-changed",this.handleConnectionStateChange,this),null==(e=this.singlePC)||e.off("spc-reconnected",this.onSinglePCReconnected,this)}emitConnectionStateChangedEvent(e,t){var i,n,r;let o=this._currentState,s=super.emitConnectionStateChangedEvent(e);return s&&o!==e&&(t?t.emit("connection-state-changed",{prevState:o,state:e}):(null==(i=this.localMainVideoTrack)||i.emit("connection-state-changed",{prevState:o,state:e}),null==(n=this.localAuxVideoTrack)||n.emit("connection-state-changed",{prevState:o,state:e}),null==(r=this._publishingLocalVideoTrack)||r.emit("connection-state-changed",{prevState:o,state:e}))),s}publish(e){return cb(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,isAuxiliary:r}=e;return function*(){var e,o,s,a,c,l;if(!t.singlePC)return;if(yield t.singlePC.waitForPeerConnectionConnected(),i&&(t._publishingLocalAudioTrack=i),n){if(!t.singlePC.isH264EncodeSupported&&!t.singlePC.isVP8EncodeSupported)throw new Tb({code:fb.NOT_SUPPORTED_H264,message:QO({key:zO.NOT_SUPPORTED_H264ENCODE})});Mb&&115===Pk()&&n.profile.width*n.profile.height<=230400&&(t._log.warn("fallback video to 480p"),n.setProfile(PN["480p_2"]),yield n.applyProfile()),t._publishingLocalVideoTrack=n}let d;t._isPublishingAux=r,n&&!r&&n.small&&(d=t._room.videoManager.smallTrack),yw()&&(yield t.publishByTransceiver({localAudioTrack:i,localVideoTrack:n,smallTrack:d,isAuxiliary:r})),t._publishingLocalAudioTrack=null,t._publishingLocalVideoTrack=null,t._isPublishingAux=!1,r?(n&&(t.localAuxVideoTrack=n),i&&(t.localAuxAudioTrack=i)):(n&&(t.localMainVideoTrack=n),i&&(t.localMainAudioTrack=i)),yield t.singlePC.setBandwidth({audio:(null==(e=t.localMainAudioTrack)?void 0:e.profile.bitrate)||(null==(o=t.localAuxAudioTrack)?void 0:o.profile.bitrate),bigVideo:null==(s=t.localMainVideoTrack)?void 0:s.profile.bitrate,smallVideo:null==(c=null==(a=t.localMainVideoTrack)?void 0:a.small)?void 0:c.bitrate,auxVideo:null==(l=t.localAuxVideoTrack)?void 0:l.profile.bitrate}),yield t._signalChannel.sendWaitForResponse({command:bx,responseCommand:rx.SPC_PUBLISH_RESULT,data:tb(eb({},t.singlePC.uplinkSSRC),{state:t.publishState})}),t.sendMediaSettings(),t.installTrackMuteEvents(i,n),t.sendMutedFlag()}()}))}publishByTransceiver(e){let{localAudioTrack:t,localVideoTrack:i,smallTrack:n,isAuxiliary:r}=e;this._log.info("publish by transceiver");let o=null==i?void 0:i.outMediaTrack,s=this._audioManager.mixedAudioTrack,a=this._peerConnection.getTransceivers(),c=[],l=[];if(s){let e=a[0].sender.replaceTrack(s);l.push(0),c.push(e)}if(o)if(r){let e=a[3].sender.replaceTrack(o);l.push(3),c.push(e)}else{let e=a[1].sender.replaceTrack(o);l.push(1),c.push(e)}if(n){let e=a[2].sender.replaceTrack(n);l.push(2),c.push(e)}let d=this.setTransceiverDirection(xN.SENDONLY,l);return c.push(d),Promise.all(c)}installTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.on("mute",this.sendMutedFlag,this),null==e||e.on("unmute",this.sendMutedFlag,this))}))}uninstallTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.off("mute",this.sendMutedFlag,this),null==e||e.off("unmute",this.sendMutedFlag,this))}))}unpublish(e){return cb(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n}=e;return function*(){let e=n&&n===t.localAuxVideoTrack,r=null==n?void 0:n.outMediaTrack,o=t._peerConnection.getSenders(),s=[];i&&(t._audioManager.mixedAudioTrack||(yield o[0].replaceTrack(null),s.push(0)),e?t.localAuxAudioTrack=null:t.localMainAudioTrack=null),r&&(e?(yield o[3].replaceTrack(null),t.localAuxVideoTrack=null,t._mediaSettings=tb(eb({},t._mediaSettings),{auxVideoBps:0,auxVideoFps:0,auxVideoWidth:0,auxVideoHeight:0}),s.push(3)):(yield o[1].replaceTrack(null),yield o[2].replaceTrack(null),t.localMainVideoTrack=null,t._mediaSettings=tb(eb({},t._mediaSettings),{videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0}),s.push(1,2))),t.isMainStreamPublished||t.isAuxStreamPublished?(yield t.setTransceiverDirection(xN.INACTIVE,s),yield t.doPublishChange(!1)):yield t.doUnpublish(),t.uninstallTrackMuteEvents(i,n),null==n||n.emit("connection-state-changed",{prevState:t._currentState,state:"DISCONNECTED"})}()}))}doPublishChange(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return cb(this,null,(function*(){let t={state:this.publishState,constraintConfig:this._mediaSettings},i=yield this._signalChannel.sendWaitForResponse({command:ux,data:t,responseCommand:rx.PUBLISH_STATE_CHANGE_RESULT,enableLog:e});this.checkPublishResultCode(i.data.code,i.data.message)}))}doUnpublish(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._signalChannel.sendWaitForResponse({command:hx,commandDesc:"unpublish",responseCommand:rx.UNPUBLISH_RESULT,enableLog:e}).catch((e=>{if(e.getCode()===fb.API_CALL_TIMEOUT)return Promise.resolve();throw e}))}updateMediaSettings(){let{detail:{isH264EncodeSupported:e,isVp8EncodeSupported:t}}=this._room.checkSystemResult;e?this._mediaSettings.videoCodec="H264":t&&(this._mediaSettings.videoCodec="VP8");let i=this._publishingLocalAudioTrack||this.localMainAudioTrack||this.localAuxAudioTrack,{localMainVideoTrack:n,localAuxVideoTrack:r}=this;if(this._publishingLocalVideoTrack&&(this._isPublishingAux?r=this._publishingLocalVideoTrack:n=this._publishingLocalVideoTrack),bw){if(i&&i.outMediaTrack){let e=i.outMediaTrack.getSettings();this._mediaSettings.audioChannel=e.channelCount||1,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=e.sampleRate||0}if(n&&n.outMediaTrack){let e=n.outMediaTrack.getSettings();this._mediaSettings.videoWidth=e.width||0,this._mediaSettings.videoHeight=e.height||0,this._mediaSettings.videoFps=e.frameRate||0,this._mediaSettings.videoBps=1e3*n.profile.bitrate,n.small&&(this._mediaSettings.smallVideoWidth=n.small.width,this._mediaSettings.smallVideoHeight=n.small.height,this._mediaSettings.smallVideoFps=n.small.frameRate,this._mediaSettings.smallVideoBps=1e3*n.small.bitrate)}if(r&&r.outMediaTrack){let e=r.outMediaTrack.getSettings();this._mediaSettings.auxVideoWidth=e.width||0,this._mediaSettings.auxVideoHeight=e.height||0,this._mediaSettings.auxVideoFps=e.frameRate||0,this._mediaSettings.auxVideoBps=1e3*r.profile.bitrate}}else i&&i.outMediaTrack&&(this._mediaSettings.audioChannel=i.profile.channelCount,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=i.profile.sampleRate),n&&n.outMediaTrack&&(this._mediaSettings.videoWidth=n.profile.width,this._mediaSettings.videoHeight=n.profile.height,this._mediaSettings.videoFps=n.profile.frameRate,this._mediaSettings.videoBps=1e3*n.profile.bitrate);this._log.info("updateMediaSettings: ".concat(JSON.stringify(this._mediaSettings)))}sendMediaSettings(){this.updateMediaSettings(),this._signalChannel.sendWaitForResponse({command:Ax,data:this._mediaSettings,responseCommand:rx.UPDATE_CONSTRAINT_CONFIG_RES}).then((e=>{0!==e.data.code&&this._log.warn(e.data.message)})).catch((()=>{}))}addTrack(e){return cb(this,null,(function*(){var t;if(!this._peerConnection)return;let i=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info("is adding ".concat(e.kind," track to current published local ").concat(i?MN.AUXILIARY:MN.MAIN," stream")),null==(t=this._sei)||t.handleEncodedStreams(),Iw()&&(yield this.addTrackByTransceiver(e,i))}))}addTrackByTransceiver(e,t){return cb(this,null,(function*(){var i;if(!e.mediaTrack)return;let n=this._peerConnection.getTransceivers();if(e.kind===MN.AUDIO)yield n[0].sender.replaceTrack(this._audioManager.mixedAudioTrack);else{let r=t?3:1;yield n[r].sender.replaceTrack(e.outMediaTrack),1===r&&(null==(i=this.localMainVideoTrack)?void 0:i.small)&&(yield n[2].sender.replaceTrack(this._room.videoManager.smallTrack)),n[r].direction===xN.INACTIVE&&(yield this.setTransceiverDirection(xN.SENDONLY,[r]))}this.updateMediaSettings(),yield this.doPublishChange()}))}removeTrack(e){return cb(this,null,(function*(){if(!this._peerConnection)return;let t=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info("is removing ".concat(e.kind," track from current published local ").concat(t?MN.AUXILIARY:MN.MAIN," stream")),Iw()&&(yield this.removeTrackByTransceiver(e,t))}))}removeTrackByTransceiver(e,t){return cb(this,null,(function*(){if(!e.mediaTrack)return;let i=this._peerConnection.getTransceivers();if(e.kind===MN.AUDIO)this._audioManager.mixedAudioTrack||(yield i[0].sender.replaceTrack(null));else{let e=t?3:1;yield i[e].sender.replaceTrack(null),1===e&&this._room.videoManager.hasSmall&&(yield i[2].sender.replaceTrack(null)),yield this.setTransceiverDirection(xN.INACTIVE,[e])}this.updateMediaSettings(),yield this.doPublishChange()}))}setTransceiverDirection(e,t){return cb(this,null,(function*(){if(!Fb)return;let i=!1,n=!1;this._log.info("setting transceiver ".concat(t.join(",")," direction to ").concat(e));let r=this._peerConnection.getTransceivers();if(t.forEach((t=>{r[t].direction!==e&&(r[t].direction=e,i=!0)})),i){this._log.info("updating offer");let e=yield this._peerConnection.createOffer();yield this._peerConnection.setLocalDescription(e)}let o=-1,s=this._peerConnection.remoteDescription.sdp.split("\r\n").map((i=>{if(i.match(new RegExp("a=(".concat(xN.INACTIVE,"|").concat(xN.RECVONLY,"|").concat(xN.SENDONLY,")")))&&o++,t.includes(o)){if(e===xN.INACTIVE&&i.includes("a=".concat(xN.RECVONLY)))return n=!0,"a=".concat(e);if(e===xN.SENDONLY&&i.includes("a=".concat(xN.INACTIVE)))return n=!0,"a=".concat(xN.RECVONLY)}return i})).join("\r\n");n&&(this._log.info("updating answer"),yield this._peerConnection.setRemoteDescription({type:"answer",sdp:s}))}))}replaceTrack(e){return cb(this,null,(function*(){var t;let i=null==(t=this._peerConnection)?void 0:t.getSenders(),n=e.mediaTrack;if(!i||0===i.length||!n)return;let r=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info("is replacing ".concat(n.kind," track on ").concat(r?MN.AUXILIARY:MN.MAIN," stream")),n.kind===MN.AUDIO&&i[0]&&(yield i[0].replaceTrack(this._audioManager.mixedAudioTrack)),n.kind===MN.VIDEO&&(!r&&i[1]&&(yield i[1].replaceTrack(e.outMediaTrack||n)),r&&i[3]&&(yield i[3].replaceTrack(e.outMediaTrack)))}))}setBandwidth(e){return cb(this,arguments,(function(e){var t=this;let{bandwidth:i,type:n,videoType:r}=e;return function*(){if(t.singlePC){let e={};n===MN.AUDIO?e.audio=i:"big"===r?e.bigVideo=i:"small"===r?e.smallVideo=i:e.auxVideo=i,yield t.singlePC.setBandwidth(e)}}()}))}sendMutedFlag(e){var t,i,n;if(e===this.localAuxAudioTrack||e===this.localAuxVideoTrack)return;let r={audio:!(null==(t=this.localMainAudioTrack)||!t.muted),bigVideo:!(null==(i=this.localMainVideoTrack)||!i.muted),auxVideo:!(null==(n=this.localAuxVideoTrack)||!n.muted)};this._log.info("send muted state: ".concat(JSON.stringify(r))),this._signalChannel.send(lx,r)}handleConnectionStateChange(e){"CONNECTED"===e.state&&(this.localMainVideoTrack||this._publishingLocalVideoTrack&&!this._isPublishingAux)&&UO.emit(BO.SEND_FIRST_VIDEO_FRAME,{room:this._room})}getVideoTrackId(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:MN.VIDEO;if(this._peerConnection){let t=this._peerConnection.getSenders();if(e===MN.AUXILIARY&&t[3]&&t[3].track)return t[3].track.id;if(e===MN.VIDEO&&t[1]&&t[1].track)return t[1].track.id}if(this.localMainVideoTrack&&e===MN.VIDEO){let e=this.localMainVideoTrack.mediaTrack;if(e)return e.id}if(this.localAuxVideoTrack&&e===MN.AUXILIARY){let e=this.localAuxVideoTrack.mediaTrack;if(e)return e.id}return""}getSSRC(){return this.ssrc}checkPublishResultCode(e,t){if(0!==e)throw e===_D?(this._log.error(KO.NOT_SUPPORTED_H264ENCODE),new Tb({code:fb.NOT_SUPPORTED_H264,message:QO({key:zO.NOT_SUPPORTED_H264ENCODE})})):new Tb({code:fb.UNKNOWN,message:QO({key:zO.SIGNAL_RESPONSE_FAILED,data:{signalResponse:rx.PUBLISH_RESULT,code:e,message:t}})})}sendSEI(e,t){var i;null==(i=this._sei)||i.push(e,t)}onSinglePCReconnected(){return cb(this,null,(function*(){this.isMainStreamPublished&&(yield this.publish({localAudioTrack:this.localMainAudioTrack,localVideoTrack:this.localMainVideoTrack,isAuxiliary:!1})),this.isAuxStreamPublished&&(yield this.publish({localAudioTrack:this.localAuxAudioTrack,localVideoTrack:this.localAuxVideoTrack,isAuxiliary:!0}))}))}};function uU(e){return Object.keys(e).filter((t=>e[t]))}var hU=class extends lU{constructor(e){super(tb(eb({},e),{isUplink:!1})),sb(this,"_flag",0),sb(this,"role","anchor"),sb(this,"remoteAudioTrack"),sb(this,"remoteVideoTrack"),sb(this,"remoteAuxiliaryTrack"),sb(this,"ssrc",{audio:0,video:0,videoRtx:0,auxiliary:0,auxiliaryRtx:0}),this.flag=e.flag,this.remoteAudioTrack=new CL(this._room,this),this.remoteVideoTrack=new bL(this._room,this),this.remoteAuxiliaryTrack=new kL(this._room,this),this.initialize()}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 yO(this.flag,this.userId)}get flag(){return this._flag}set flag(e){var t,i,n;e!==this._flag&&(this._flag=e,null==(t=this.remoteAudioTrack)||t.onFlagChanged(),null==(i=this.remoteVideoTrack)||i.onFlagChanged(),null==(n=this.remoteAuxiliaryTrack)||n.onFlagChanged())}get hasMainStream(){return this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall}get hasAuxStream(){return this.muteState.hasAuxiliary}get isMainStreamSubscribed(){return(this.subscribeState.audio||this.subscribeState.video||this.subscribeState.smallVideo)&&(this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall)}get isAuxStreamSubscribed(){return this.subscribeState.auxiliary&&this.muteState.hasAuxiliary}get isSmallStreamSubscribed(){return this.subscribeState.smallVideo&&this.muteState.hasSmall}get isBigStreamSubscribed(){return this.subscribeState.video&&this.muteState.hasVideo}isStreamUnpublished(e){return e===MN.MAIN?!this.muteState.hasAudio&&!this.muteState.hasVideo:!this.muteState.hasAuxiliary}initialize(){this.installEvents()}close(e){super.close(e),this.emitConnectionStateChangedEvent("DISCONNECTED"),this.remoteAudioTrack.close(),this.remoteVideoTrack.close(),this.remoteAuxiliaryTrack.close(),this.uninstallEvents(),this.removeDownlink()}installEvents(){!this.singlePC||(this.listeners("track").includes(this.onTrack)||this.singlePC.on("track",this.onTrack,this),this.listeners("spc-reconnected").includes(this.onSinglePCReconnected)||this.singlePC.on("spc-reconnected",this.onSinglePCReconnected,this))}uninstallEvents(){!this.singlePC||(this.singlePC.off("track",this.onTrack,this),this.singlePC.off("spc-reconnected",this.onSinglePCReconnected,this))}emitConnectionStateChangedEvent(e){var t,i;let n=this._currentState,r=super.emitConnectionStateChangedEvent(e);return r&&n!==e&&(null==(t=this.remoteVideoTrack)||t.emit("connection-state-changed",{prevState:n,state:e}),null==(i=this.remoteAuxiliaryTrack)||i.emit("connection-state-changed",{prevState:n,state:e})),r}onTrack(e){let t=e.streams[0],{track:i}=e;if(t.id.split("-")[0]!==this.tinyId)return;let n=t.id.includes("aux")?"auxiliary":"main";this._log.debug("ontrack ".concat(n," ").concat(i.kind));let r=MN.AUDIO;i.kind===MN.VIDEO&&(r=n===MN.MAIN?MN.VIDEO:MN.AUXILIARY);let o=this.remoteAudioTrack;r===MN.VIDEO?o=this.remoteVideoTrack:r===MN.AUXILIARY&&(o=this.remoteAuxiliaryTrack),o.setInputMediaStreamTrack(i)}isSubscriptionStateNotChanged(e){return JSON.stringify(e)===JSON.stringify(this.subscribeState)}subscribe(e,t){return cb(this,null,(function*(){try{if(this.isSubscriptionStateNotChanged(e))return;if(this._log.info("subscribe ".concat(t," ").concat(uU(e))),this.hasSSRC){let t="subscribe_change";Object.values(e).find((e=>!0===e))||(t="unsubscribe"),yield this.sendSubscription(t,e)}else yield this.doSubscribe(e)}catch(cN){throw this._room.isJoined&&this.isStreamUnpublished(t)?(this._log.warn("".concat(cN.message," ").concat(JSON.stringify(this.muteState))),new Tb({code:fb.REMOTE_STREAM_NOT_EXIST,message:"remote user ".concat(this.userId," unpublished stream")})):cN}}))}unsubscribe(e){return cb(this,arguments,(function(e){var t=this;let{remoteTracks:i,streamType:n}=e;return function*(){var e;if("main"===n&&!t.isMainStreamSubscribed||"auxiliary"===n&&!t.isAuxStreamSubscribed)return void t._log.info("".concat(n," stream already unsubscribed"));let r=eb({},t.subscribeState);i.forEach((e=>{switch(e.mediaType){case 1:r.audio=!1;break;case 4:r.video=!1;break;case 8:r.smallVideo=!1;break;case 2:r.auxiliary=!1}}));let o="subscribe_change";Object.values(r).find((e=>!0===e))||(o="unsubscribe"),t._log.info("".concat("unsubscribe"===o?o:"subscribe"," ").concat(n," [").concat(uU(r),"]")),"unsubscribe"===o&&(null==(e=t.singlePC)||e.removeDownlinkQueue.add(t.tinyId)),yield t.sendSubscription(o,r),"unsubscribe"===o&&(yield t.removeDownlink())}()}))}sendSubscription(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscribeState,i={srcTinyId:this.tinyId,srcUserId:this.userId},n=mx,r=rx.UNSUBSCRIBE_RESULT;return"subscribe_change"===e&&(i={audio:t.audio,bigVideo:t.video,auxVideo:t.auxiliary,smallVideo:t.smallVideo,srcTinyId:this.tinyId},n=_x,r=rx.SUBSCRIBE_CHANGE_RESULT),this._signalChannel.sendWaitForResponse({command:n,data:i,responseCommand:r,timeout:1e4}).then((t=>{let{data:i}=t;if(0!==i.code){let t=new Tb({code:i.code,message:QO({key:zO.ERROR_MESSAGE,data:{type:e,message:i.message}})});throw this._log.error(t),t}}))}getMainStreamVideoTrackId(){return this.remoteVideoTrack&&this.remoteVideoTrack.mediaTrack?this.remoteVideoTrack.mediaTrack.id:""}getAuxStreamVideoTrackId(){return this.remoteAuxiliaryTrack&&this.remoteAuxiliaryTrack.mediaTrack?this.remoteAuxiliaryTrack.mediaTrack.id:""}setDelay(e){let{audioDelay:t,videoDelay:i}=e;this.remoteAudioTrack.stat.end2EndDelay=t,this.remoteVideoTrack.stat.end2EndDelay=i}onSinglePCReconnected(){(this.ssrc.audio||this.ssrc.video||this.ssrc.auxiliary)&&this.doSubscribe(this.subscribeState,!1)}get hasSSRC(){return this.ssrc.audio&&this.ssrc.video&&this.ssrc.auxiliary}doSubscribe(){return cb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.subscribeState,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){if(e.singlePC){if(e.singlePC.addDownlinkQueue.add(e.tinyId),yield e.singlePC.waitForPeerConnectionConnected(),i||!e.hasSSRC){let i={audioSsrc:aU(),bigVideoSsrc:aU(),bigVideoRtxSsrc:aU(),auxVideoSsrc:aU(),auxVideoRtxSsrc:aU()},{audioSsrc:n,bigVideoSsrc:r,bigVideoRtxSsrc:o,auxVideoSsrc:s,auxVideoRtxSsrc:a}=i;e.ssrc={audio:n,video:r,videoRtx:o,auxiliary:s,auxiliaryRtx:a},e.singlePC.addDownlinkQueue.delete(e.tinyId),yield e.singlePC.addDownlink({userId:e.userId,tinyId:e.tinyId,ssrc:e.ssrc});let c=yield e._signalChannel.sendWaitForResponse({command:kx,responseCommand:rx.SPC_SUBSCRIBE_RESULT,data:{srcUserId:e.userId,srcTinyId:e.tinyId,audio:t.audio,bigVideo:t.video,auxVideo:t.auxiliary,smallVideo:t.smallVideo,customData:!1,ssrc:i}});if(0!==c.data.code)throw yield e.removeDownlink(),new Tb({code:c.data.code,message:c.data.message});return}e.singlePC.addDownlinkQueue.delete(e.tinyId),yield e.singlePC.addDownlink({userId:e.userId,tinyId:e.tinyId,ssrc:e.ssrc})}}()}))}removeDownlink(){return cb(this,null,(function*(){!this.singlePC||(this.ssrc={audio:0,video:0,videoRtx:0,auxiliary:0,auxiliaryRtx:0},this.singlePC.removeDownlinkQueue.delete(this.tinyId),yield this.singlePC.removeDownlink(this.tinyId,this.userId))}))}};ob([nL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{let r=e=>{this.off("closed",r),n(new Tb({code:fb.API_CALL_ABORTED,message:QO({key:zO.CONNECTION_ABORTED,data:e})}))};this.on("closed",r),e.apply(this,i).then(t,n).finally((()=>{this.off("closed",r)}))}))}))],hU.prototype,"subscribe",1);var pU=hU,{isString:mU,isPlainObject:_U,isUndefined:fU,getNetworkType:gU,getTerminalType:TU,isEmpty:EU}=yb,SU=class extends BV{constructor(e){super(e),this.privateMapKey="",this._heartbeat=-1,this._lastHeartBeatTime=-1,this._joinTimeout=-1,this._firstPublishedList=null,this._joinReject=null,this._isRelayChanged=!1,this._signalChannel=null,this.uplinkConnection=null,this.singlePC=null,this.enableSPC=vw,this._changeBigSmallRecords=new Map,this._networkQuality=null,this._networkType=gU(),this._turnServers=[],this._syncUserListInterval=-1,this._smallStreamConfig={bitrate:100,frameRate:15,height:120,width:160},this.enableSEI=!1,this._enableAudioVolumeEvaluation=!1,this._audioVolumeIntervalId=0,this._enableMultiAuxStream=!1,this._pureAudioPushMode=!1,this.enableHWEncoder=!1,this._stats=new Xx(this,this._log),this.userManager=new qL(this.userId,this._log),this._version=oN,this.sdpSemantics=mD,fU(e.sdpSemantics)?JO.isUnifiedPlanDefault()&&(this.sdpSemantics=pD):this.sdpSemantics=e.sdpSemantics,this._log.info("sdpSemantics: ".concat(this.sdpSemantics,", netType: ").concat(this._networkType)),e.iceTransportPolicy&&(this._iceTransportPolicy=e.iceTransportPolicy),this._enableMultiAuxStream=!fU(e.enableMultiAuxStream)&&e.enableMultiAuxStream,this.enableSEI=e.enableSEI,!fU(e.enableSPC)&&vw&&(this.enableSPC=e.enableSPC),this.enableHWEncoder=e.enableHWEncoder||!1,this._initBusinessInfo(e)}get isMainStreamPublished(){var e;return!(null==(e=this.uplinkConnection)||!e.isMainStreamPublished)}get isMainAudioPublished(){var e;return!(null==(e=this.uplinkConnection)||!e.localMainAudioTrack)}get isAuxStreamPublished(){var e;return!(null==(e=this.uplinkConnection)||!e.isAuxStreamPublished)}get hasAuxStream(){return[...this.remotePublishedUserMap.values()].findIndex((e=>e.muteState.hasAuxiliary))>=0}get userMap(){return this.userManager.userMap}get remotePublishedUserMap(){return this.userManager.remotePublishedUserMap}get tinyIdToUserIdMap(){return new Map([...this.remotePublishedUserMap.values()].map((e=>[e.tinyId,e.userId])))}join(e,t,i){return cb(this,null,(function*(){return this.userManager.mySelfId=this.userId,this.userManager.on("1",(e=>{this.emit("peer-join",e)})),this.userManager.on("2",(e=>{this.closeDownLinkConnection(e,"remote user exitRoom"),this.emit("peer-leave",e)})),this.userManager.on("3",this.createDownlinkConnection,this),this.userManager.on("5",this.closeDownLinkConnection,this),this.userManager.on("6",(e=>{var t=((e,t)=>{var i={};for(var n in e)YC.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&KC)for(var n of KC(e))t.indexOf(n)<0&&QC.call(e,n)&&(i[n]=e[n]);return i})(e,[]);UO.emit(BO.REMOTE_PUBLISH_STATE_CHANGED,eb({room:this},t)),this.emit("remote-publish-state-changed",eb({},t))})),this._joinOptions=e,new Promise(((t,i)=>cb(this,null,(function*(){this._joinReject=i;try{this.checkDestroy();let i=yield this.initialize();yield this.doJoin(e,i),t(),this._firstPublishedList&&this.onPublishedUserList({data:{userList:this._firstPublishedList}})}catch(JV){i(JV)}this._joinReject=null}))))}))}doJoin(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Promise(((i,n)=>cb(this,null,(function*(){var r,o,s;let a;if(e.privateMapKey&&(this.privateMapKey=e.privateMapKey),this._signalChannel.once(YM,(e=>{this.clearJoinTimeout(),UO.emit(BO.JOIN_SIGNAL_CONNECTION_END,{room:this,error:e}),n(e)})),aO(null==(o=null==(r=this.scheduleResult)?void 0:r.config)?void 0:o.singlePC)&&vw&&(this.enableSPC=this.scheduleResult.config.singlePC),this.enableSPC&&!this.singlePC){this.singlePC=new nU({signalChannel:this._signalChannel,room:this,enableCustomMessage:!1}),this.singlePC.once("error",(()=>this.fallbackToMPC()));try{a=yield this.singlePC.initialize()}catch(u){this.fallbackToMPC()}}this.keyPointManager.setConnectionType(this.singlePC?1:2);let c={roomId:String(e.roomId||e.strRoomId),useStringRoomId:this.useStringRoomId,privateMapKey:this.privateMapKey,trtcRole:e.role,trtcScene:"live"===this.scene?2:1,sdpSemantics:this.sdpSemantics,version:this._version,ua:navigator&&navigator.userAgent||"",terminalType:TU(),netType:NN[this._networkType],bussinessInfo:this._businessInfo,ability:a};t&&(c.userSig=this.userSig),this._log.debug("join room signal data: ".concat(JSON.stringify(c)));let l=5e3;(null==(s=this.scheduleResult.config)?void 0:s.enterRoomTimeout)&&this.scheduleResult.config.enterRoomTimeout>=1&&(l=1e3*this.scheduleResult.config.enterRoomTimeout),this._joinTimeout=window.setTimeout((()=>{n(new Tb({code:fb.JOIN_ROOM_FAILED,message:QO({key:zO.JOIN_ROOM_TIMEOUT})}))}),l),UO.emit(BO.JOIN_SEND_CMD,{room:this}),this._signalChannel.send(this.singlePC?Cx:sx,c),this._signalChannel.once(rx.JOIN_ROOM_RESULT,(e=>{this.clearJoinTimeout();let{code:t,message:r,data:o}=e.data;UO.emit(BO.JOIN_RECEIVED_CMD_RES,{room:this,code:t}),0===t?(this._log.info("Join room success, start heartbeat"),this.startHeartbeat(),this.syncUserList(),this.startSyncUserListInterval(),this._firstPublishedList=o.publishers,this.singlePC&&this.singlePC.connect(o.ability).catch((()=>{})),i()):(this._log.error("Join room failed result: ".concat(t," error: ").concat(r)),n(new Tb({code:fb.JOIN_ROOM_FAILED,extraCode:t,message:QO({key:zO.JOIN_ROOM_FAILED,data:{error:r,code:t}})})))}))}))))}reJoin(){return cb(this,null,(function*(){if(this.isJoined)try{if(this._log.warn("reJoin pending: ".concat(this._joinOptions.roomId)),this.singlePC&&(this.singlePC.close(),this.singlePC=null),this._signalChannel.close(),yield this._signalChannel.connect(),yield this.doJoin(tb(eb({},this._joinOptions),{role:"anchor"===this.role?20:21,privateMapKey:this.privateMapKey})),this._log.warn("reJoin success"),Xw.logSuccessEvent({userId:this.userId,eventType:lD.REJOIN}),this.singlePC){let e=t=>{var i;"CONNECTED"===t.state&&(null==(i=this.singlePC)||i.off($V.CONNECTION_STATE_CHANGED,e),this.uplinkConnection instanceof dU&&this.uplinkConnection.onSinglePCReconnected(),this.remotePublishedUserMap.forEach((e=>{e.installEvents(),e.doSubscribe()})))};this.singlePC.on($V.CONNECTION_STATE_CHANGED,e),this.checkConnectionsToReconnect(),this.uplinkConnection instanceof Qx&&!this.uplinkConnection.getIsReconnecting()&&this.uplinkConnection.startReconnection()}}catch(aN){this._log.warn("reJoin fail ".concat(aN)),this.reset(),Xw.logFailedEvent({userId:this.userId,eventType:lD.REJOIN,error:aN}),this.emit("error",new Tb({code:fb.JOIN_ROOM_FAILED,message:QO({key:zO.REJOIN_ROOM_FAILED,data:{roomId:this._joinOptions.roomId}})}))}else this._log.warn("reJoin abort")}))}initialize(){return cb(this,null,(function*(){let{mainUrl:e,backupUrl:t}=this.getSignalChannelUrl(),i=this._signalChannel||function(e){let t=[...Dx.values()].find((t=>t.room.userId===e&&!t.room.isJoined));return t||null}(this.userId),n=!!(i&&i.isConnected&&i.keepAlive);return this._log.info("setup signal channel. reuse: ".concat(+n)),n?(i.url=e,i.backupUrl=t,i.room=this,this._signalChannel=i):this._signalChannel=new Ox({sdkAppId:this.sdkAppId,userId:this.userId,userSig:this.userSig,url:e,backupUrl:t,room:this}),this._networkQuality||(this._networkQuality=new eV({signalChannel:this._signalChannel,room:this}),this._networkQuality.on(eV.EVENT_NETWORK_QUALITY,(e=>{this.emit("network-quality",e)}))),IP(this,this._signalChannel).add(QM,(e=>{UO.emit(BO.SIGNAL_CONNECTION_STATE_CHANGED,eb({room:this},e)),this.emit("signal-connection-state-changed",e)})).add($M,(e=>{this.reset(),this.emit("error",e)})).add(rx.PEER_JOIN,(e=>{let{srcTinyId:t,userId:i,role:n}=e.data.data;this.userManager.addUser({userId:i,tinyId:t,role:n})})).add(rx.PEER_LEAVE,(e=>{let{userId:t,reason:i=0}=e.data.data;this.userManager.deleteUser(t,i)})).add(rx.UPDATE_REMOTE_MUTE_STAT,(e=>{this._lastHeartBeatTime>0&&Date.now()-this._lastHeartBeatTime>=1e4&&this.doHeartbeat(),this.onPublishedUserList(e.data)})).add(rx.CLIENT_BANNED,(e=>{let t=e.data.data,{reason:i}=t;if(Xw.uploadEvent({log:"stat-banned:".concat(i),userId:this.userId}),"user_time_out"===i)return this._log.warn("".concat(i," last heart beat time: ").concat(this._lastHeartBeatTime," interval: ").concat(Date.now()-this._lastHeartBeatTime,", visibility: ").concat(document.visibilityState)),void this.reJoin();this._log["kick"===i?"error":"info"]("user was banned because of [".concat(i,"]")),this.reset(),this.emit("banned",{reason:i})})),this._signalChannel.once(qM,(e=>{this.tinyId=e.signalInfo.tinyId,UO.emit(BO.JOIN_SIGNAL_CONNECTION_END,{room:this})})),UO.emit(BO.JOIN_SIGNAL_CONNECTION_START,{room:this}),yield this._signalChannel.connect(this._isUsingCachedSchedule?1e4:void 0),n}))}setSignalChannel(e){this._signalChannel=e,e||yP(this)}leave(){return cb(this,null,(function*(){var e;try{yield this.doHeartbeat()}catch(aD){}this._log.info("leave() => leaving room"),UO.emit(BO.LEAVE_SEND_CMD,{room:this}),null==(e=this._signalChannel)||e.send(ax)}))}clearNetworkQuality(){this._networkQuality&&(this._networkQuality.stop(),this._networkQuality=null)}closeConnections(){this.remotePublishedUserMap.forEach((e=>{this.closeDownLinkConnection(e.userId,"you exitRoom")}))}clearJoinTimeout(){clearTimeout(this._joinTimeout),this._joinTimeout=-1}startHeartbeat(){-1===this._heartbeat&&(this._heartbeat=Yw.run(PD,this.doHeartbeat.bind(this),{delay:2e3}))}stopHeartbeat(){-1!==this._heartbeat&&(this._log.info("stopHeartbeat"),Yw.clearTask(this._heartbeat),this._heartbeat=-1,this._lastHeartBeatTime=-1)}doHeartbeat(){return cb(this,null,(function*(){var e;let t=this.badCaseDetector.getMonitorFreeze(),i=yield this._stats.getStatsReport({uplinkConnection:this.uplinkConnection,downlinkConnections:this.remotePublishedUserMap,freezeMap:t});if(this.badCaseDetector.resetMonitor(),null==(e=this._signalChannel)||!e.isConnected)return;let n=this._signalChannel.isConnected?function(e){if(WL.has(e)){let t=WL.get(e).map((e=>({uint32_event_id:e.eventId,uint64_date:e.timestamp,str_userid:e.remoteUserId,str_event_json:e.eventDesc})));return WL.delete(e),t}return[]}(this.userId):[],r=eb({str_sdk_version:rN,uint64_datetime:(new Date).getTime(),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:NN[this._networkType]},msg_event_msg:n,str_acc_ip:this.getSignalInfo().relayIp,str_client_ip:this.getSignalInfo().clientIp},i);UO.emit(BO.HEARTBEAT_REPORT,{room:this,report:r}),this._signalChannel.send(cx,r),this.emit("heartbeat-report",tb(eb({},r),{bytes_sent:this._stats.totalBytesSent+this._signalChannel.bytesSent,bytes_received:this._stats.totalBytesReceived+this._signalChannel.bytesReceived}));let o=Date.now();this._lastHeartBeatTime>0&&o-this._lastHeartBeatTime>1e4&&this._log.warn("heartbeat took ".concat(o-this._lastHeartBeatTime)),this._signalChannel.isConnected&&(this._lastHeartBeatTime=o),!this._isRelayChanged&&this.isRelayMaybeFailed()&&(this.reJoin(),this._isRelayChanged=!0)}))}onPublishedUserList(e){if(!this.isJoined)return;let t=e.data.userList.map((e=>{let{userId:t,srcTinyId:i,flag:n}=e,r=this.remotePublishedUserMap.get(t);return r&&this._changeBigSmallRecords.has(t)&&this.checkSubscribeBigSmallVideo(r),{userId:t,tinyId:i,flag:n}}));UO.emit(BO.RECEIVED_PUBLISHED_USER_LIST,{room:this,publishedUserList:t}),this.userManager.setRemotePublishedUserList(t)}closeUplink(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"you unpublished";this.uplinkConnection&&(this.localTracks.size>0&&this.uplinkConnection.doUnpublish(),this.uplinkConnection.close(e),this.uplinkConnection=null),this.localTracks.forEach((e=>e.unpublish())),this.localTracks.clear()}createDownlinkConnection(e){let{userId:t,tinyId:i,flag:n}=e,r=new(this.singlePC?pU:zx)({userId:t,tinyId:i,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,flag:n});this.userManager.addRemotePublishedUser(r),this.installDownlinkEvents(r,t),this.emit("remote-published",r)}closeDownLinkConnection(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"remote user unpublished",i=this.remotePublishedUserMap.get(e);i&&(i.close(t),this.emit("remote-unpublished",i))}installDownlinkEvents(e,t){e.on("sei-message",(e=>{this.emit("sei-message",e)})),e.on("error",(e=>{let i=e.getCode();i!==fb.ICE_TRANSPORT_ERROR&&(i===fb.DOWNLINK_RECONNECTION_FAILED&&this.closeDownLinkConnection(t),this.emit("error",e))})),e.on("connection-state-changed",(t=>{this.emit("media-connection-state-changed",tb(eb({},t),{userId:e.userId}))})),e.on("firewall-restriction",(()=>{this.emit("firewall-restriction")}))}startSyncUserListInterval(){-1===this._syncUserListInterval&&(this._syncUserListInterval=Yw.run(PD,this.syncUserList.bind(this)))}stopSyncUserListInterval(){Yw.clearTask(this._syncUserListInterval),this._syncUserListInterval=-1}syncUserList(){return this.getUserList().then((e=>{this.userManager.setUserList(e)})).catch((e=>{this._log.debug("sync user list failed: ".concat(e))}))}getUserList(){var e;return null!=(e=this._signalChannel)&&e.isConnected?this._signalChannel.sendWaitForResponse({command:yx,responseCommand:rx.USER_LIST_RES,enableLog:!1,timeout:2e3}).then((e=>{let{data:t}=e,{code:i,message:n}=t;if(0===i)return(t.data&&t.data.userList||[]).map((e=>{let{userId:t,srcTinyId:i,role:n}=e;return{userId:t,tinyId:i,role:n}}));throw QO({key:zO.SIGNAL_RESPONSE_FAILED,data:{signalResponse:rx.USER_LIST_RES,code:i,message:n}})})):Promise.reject("not connected")}getAllConnections(){let e=[...this.remotePublishedUserMap.values()];return this.uplinkConnection&&e.push(this.uplinkConnection),e}isRelayMaybeFailed(){if(this._signalChannel&&!this._signalChannel.isOnline||!Ux)return!1;if(this.singlePC)return this.singlePC.reconnectionCount>6;let e=this.getAllConnections();if(0===e.length)return!1;for(let t=0;t{if(e instanceof Fx&&!e.getIsReconnecting()){let t=e.getPeerConnection();t&&t.connectionState===nD.CLOSED&&(this._log.warn("[".concat(e.getUserId(),"] pc is closed but not reconnect")),e.startReconnection())}}))}fallbackToMPC(){return cb(this,null,(function*(){var e;if(this._log.warn("fallback to multi pc"),Xw.uploadEvent({log:"stat-fallback",userId:this.userId}),this.enableSPC=!1,null==(e=this.singlePC)||e.close(),this.singlePC=null,yield this.reJoin(),this.uplinkConnection){let e=this.uplinkConnection;this.uplinkConnection=new Qx({userId:this.userId,tinyId:this.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,audioManager:this.audioManager}),e.isMainStreamPublished&&(yield this.uplinkConnection.publish({localAudioTrack:e.localMainAudioTrack,localVideoTrack:e.localMainVideoTrack,isAuxiliary:!1})),e.isAuxStreamPublished&&(yield this.uplinkConnection.publish({localAudioTrack:e.localAuxAudioTrack,localVideoTrack:e.localAuxVideoTrack,isAuxiliary:!0}))}this.remotePublishedUserMap.forEach((e=>{let t=new zx({userId:e.userId,tinyId:e.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,flag:e.flag,remoteAudioTrack:e.remoteAudioTrack,remoteVideoTrack:e.remoteVideoTrack,remoteAuxiliaryTrack:e.remoteAuxiliaryTrack});this.installDownlinkEvents(t,e.userId),this.remotePublishedUserMap.set(e.userId,t),e.isMainStreamSubscribed&&t.subscribe(e.subscribeState,"main"),e.isAuxStreamSubscribed&&t.subscribe(e.subscribeState,"auxiliary")}))}))}destroy(){this._isDestroyed||(this._signalChannel&&(this._log.info("destroying SignalChannel"),this._signalChannel.close(),this._signalChannel=null),super.destroy(),this._joinReject&&(this._joinReject(new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.CLIENT_DESTROYED,data:{funName:"join"}})})),this.clearJoinTimeout(),this.reset()),this.removeAllListeners())}switchRole(e){return cb(this,null,(function*(){this.role!==e&&("audience"===e&&this.uplinkConnection&&this.closeUplink("you switch role to audience"),yield this.doSwitchRole(e))}))}doSwitchRole(e){let t={command:vx,data:{role:"anchor"===e?20:21,privateMapKey:this.privateMapKey},responseCommand:rx.SWITCH_ROLE_RES,retries:1};return this._log.info("switchRole signal data: ".concat(JSON.stringify(t.data))),this._signalChannel.sendWaitForResponseWithRetry(t).then((t=>{let{code:i,message:n}=t.data;if(0!==i)throw new Tb({code:fb.SWITCH_ROLE_FAILED,message:QO({key:zO.SWITCH_ROLE_FAILED,data:{message:n,code:i}})});this.role=e})).catch((e=>{throw e instanceof Tb&&e.getCode()===fb.API_CALL_TIMEOUT&&(e=new Tb({code:fb.SWITCH_ROLE_FAILED,message:QO({key:zO.SWITCH_ROLE_TIMEOUT})})),this._log.error(e),e}))}publish(){for(var e=arguments.length,t=new Array(e),i=0;i{t instanceof sL&&(t instanceof dL?i.audio=t:e.audio=t),t instanceof aL&&(t instanceof lL&&2===t.mediaType?i.video=t:e.video=t)}));let n=EU(e),r=EU(i);(!n||!r)&&!this.uplinkConnection&&(this.singlePC?this.uplinkConnection=new dU({userId:this.userId,tinyId:this.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,audioManager:this.audioManager}):this.uplinkConnection=new Qx({userId:this.userId,tinyId:this.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,audioManager:this.audioManager}),this.uplinkConnection.on("connection-state-changed",(e=>{this.emit("media-connection-state-changed",tb(eb({},e),{userId:this.userId}))})),this.uplinkConnection.on("firewall-restriction",(()=>{this.emit("firewall-restriction")})),this.uplinkConnection.on("error",(e=>{let t=e.getCode();t!==fb.ICE_TRANSPORT_ERROR&&(t===fb.UPLINK_RECONNECTION_FAILED&&this.closeUplink(),this.emit("error",e))})));let o=t.map((e=>e.kind)).join(",");n||(this._log.info("publish() => main ".concat(o)),yield this.uplinkConnection.publish({localAudioTrack:e.audio,localVideoTrack:e.video,isAuxiliary:!1}),this._log.info("main is published")),r||(this._log.info("publish() => aux ".concat(o)),yield this.uplinkConnection.publish({localAudioTrack:i.audio,localVideoTrack:i.video,isAuxiliary:!0}),this._log.info("aux is published"))}))}unpublish(){for(var e=arguments.length,t=new Array(e),i=0;i{!t.mediaTrack||(t instanceof sL&&(t instanceof dL?i.audio=t:e.audio=t),t instanceof aL&&(t instanceof lL&&2===t.mediaType?i.video=t:e.video=t))}));try{let n=t.map((e=>e.kind)).join(",");EU(e)||(this._log.info("unpublish() => main ".concat(n)),yield this.uplinkConnection.unpublish({localAudioTrack:e.audio,localVideoTrack:e.video})),EU(i)||(this._log.info("unpublish() => aux ".concat(n)),yield this.uplinkConnection.unpublish({localAudioTrack:i.audio,localVideoTrack:i.video}))}catch(r){}0===this.localTracks.size&&!this.audioManager.mixedAudioTrack&&this.closeUplink("you unpublished")}))}addTrack(e){if(!this.uplinkConnection||!e.mediaTrack)return Promise.resolve();let t=this.uplinkConnection.addTrack(e);return e.publish(this,t),t}removeTrack(e){return this.uplinkConnection&&e.mediaTrack?this.uplinkConnection.removeTrack(e).then((t=>(e.unpublish(),t))):Promise.resolve()}replaceTrack(e){return this.uplinkConnection&&e.mediaTrack?this.uplinkConnection.replaceTrack(e).then((t=>{UO.emit(BO.LOCAL_TRACK_REPLACED,{track:e})})):Promise.resolve()}setBandWidth(e){return cb(this,null,(function*(){!this.uplinkConnection||(yield this.uplinkConnection.setBandwidth(e),yield this.uplinkConnection.sendMediaSettings())}))}subscribe(){for(var e=arguments.length,t=new Array(e),i=0;i!e.isSubscribed)),0===t.length)return;let{userId:e}=t[0],i=this.remotePublishedUserMap.get(e);if(!i)return;let n=t.find((e=>2===e.mediaType))?"auxiliary":"main";try{let r=eb({},i.subscribeState);t.forEach((e=>{switch(e.mediaType){case 1:r.audio=!0;break;case 4:r.video=!0;break;case 2:r.auxiliary=!0}}));let o=this._changeBigSmallRecords.get(e);o&&o.options.smallVideo&&i.muteState.hasSmall&&r.video&&(r.video=!1,r.smallVideo=!0),UO.emit(BO.SUBSCRIBE_START,{room:this,streamType:n,remotePublishedUser:i,subscribeState:r}),this._log.info("subscribe() => ".concat(e," ").concat(n," [").concat(Gx(r),"] prev: [").concat(Gx(i.subscribeState),"]")),yield i.subscribe(r,n);for(let e of t)e.mediaTrack||(yield e.waitHasMediaTrack());i.remoteVideoTrack.setMediaType(r.smallVideo?8:4),UO.emit(BO.SUBSCRIBE_SUCCESS,{room:this,streamType:n,remotePublishedUser:i})}catch(lN){let i=lN instanceof Tb?lN.getCode():fb.UNKNOWN,r=lN;throw lN instanceof Tb?i===fb.REMOTE_STREAM_NOT_EXIST&&(r=new Tb({code:fb.API_CALL_ABORTED,message:QO({key:zO.API_CALL_ABORTED,data:{message:lN.message,userId:e,streamType:n}})}),this._log.warn(r)):(r=new Tb({code:i,message:QO({key:zO.SUBSCRIBE_FAILED,data:{message:lN.message,userId:e,streamType:n}})}),this._log.error(r)),r}}))}unsubscribe(){for(var e=arguments.length,t=new Array(e),i=0;i2===e.mediaType))?"auxiliary":"main";this._log.info("unsubscribe() => ".concat(e," ").concat(n));try{yield i.unsubscribe({remoteTracks:t,streamType:n})}catch(lN){this._log.warn("unsubscribe() => failed ".concat(lN))}t.forEach((e=>{e.unsubscribe(),8===e.mediaType&&e.setMediaType(4)})),UO.emit(BO.UNSUBSCRIBE_SUCCESS,{room:this,streamType:n,remotePublishedUser:i})}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1?arguments[1]:void 0;if(e<=0)return this._enableAudioVolumeEvaluation=!1,void Yw.clearTask(this._audioVolumeIntervalId);e=Math.floor(Math.max(e,100)),UO.emit(BO.AUDIO_LEVEL_INTERVAL,{interval:e}),this._audioVolumeIntervalId&&Yw.clearTask(this._audioVolumeIntervalId),this._enableAudioVolumeEvaluation=!0,this._audioVolumeIntervalId=Yw.run(LD,(()=>{var e;let t=[];null==(e=this.remotePublishedUserMap)||e.forEach((e=>{if(e.muteState.hasAudio){let i=Math.floor(100*e.remoteAudioTrack.getAudioLevel());t.push({userId:e.userId,volume:i})}})),this.emit("audio-volume",t)}),{fps:1e3/e,backgroundTask:t})}getLocalAudioStats(){return cb(this,null,(function*(){let e={};if(e[this.userId]={bytesSent:0,packetsSent:0},this.uplinkConnection){let t=yield this._stats.getSenderStats(this.uplinkConnection);e[this.userId]={bytesSent:t.audio.bytesSent,packetsSent:t.audio.packetsSent}}return e}))}getLocalVideoStats(){return cb(this,null,(function*(){let e={};if(e[this.userId]={bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0},this.uplinkConnection){let{video:{bytesSent:t,packetsSent:i,framesEncoded:n,framesSent:r,frameWidth:o,frameHeight:s}}=yield this._stats.getSenderStats(this.uplinkConnection);e[this.userId]={bytesSent:t,packetsSent:i,framesEncoded:n,framesSent:r,frameWidth:o,frameHeight:s}}return e}))}getTransportStats(){return cb(this,null,(function*(){let e={rtt:0,downlinksRTT:{}};if(this.uplinkConnection){let t=yield this._stats.getSenderStats(this.uplinkConnection);e.rtt=t.rtt}for(let[,t]of this.remotePublishedUserMap){let i=yield this._stats.getReceiverStats(t);e.downlinksRTT[i.userId]=i.rtt}return e}))}getRemoteVideoStats(e){return cb(this,null,(function*(){let t={};for(let[i,n]of this.remotePublishedUserMap)"main"===e&&n.muteState.hasVideo&&(t[i]=n.remoteVideoTrack.stat),"auxiliary"===e&&n.muteState.hasAuxiliary&&(t[i]=n.remoteAuxiliaryTrack.stat);return t}))}getRemoteAudioStats(){return cb(this,null,(function*(){let e={};for(let[t,i]of this.remotePublishedUserMap)i.muteState.hasAudio&&(e[t]=i.remoteAudioTrack.stat);return e}))}setTurnServer(e,t){this._log.info("set turn server: ".concat(JSON.stringify(e)," ").concat(t||""));let i=[];Array.isArray(e)?e.forEach((e=>i.push(yb.getTurnServer(e)))):yb.isPlainObject(e)&&i.push(yb.getTurnServer(e)),this._turnServers=i,t&&(this._iceTransportPolicy=t)}sendStartMixTranscode(e){return this._signalChannel.sendWaitForResponse({command:Sx,data:e,timeout:5e3,responseCommand:rx.START_MIX_TRANSCODE_RES,commandDesc:"startMixTranscode"})}sendStopMixTranscode(e){return this._signalChannel.sendWaitForResponse({command:Ix,data:e,timeout:5e3,responseCommand:rx.STOP_MIX_TRANSCODE_RES,commandDesc:"stopMixTranscode"})}sendStartPublishCDN(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this._signalChannel.sendWaitForResponse({command:t?fx:Tx,data:e,timeout:5e3,responseCommand:t?rx.START_PUBLISH_TENCENT_CDN_RES:rx.START_PUBLISH_GIVEN_CDN_RES,commandDesc:"startPublishCDN"})}sendStopPublishCDN(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this._signalChannel.sendWaitForResponse({command:t?gx:Ex,data:e,timeout:5e3,responseCommand:t?rx.STOP_PUBLISH_TENCENT_CDN_RES:rx.STOP_PUBLISH_GIVEN_CDN_RES,commandDesc:"stopPublishCDN"})}sendAbilityStatus(e){var t;null==(t=this._signalChannel)||t.sendWaitForResponse({command:Nx,data:e,timeout:5e3,responseCommand:rx.ABILITY_STATUS_REPORT_RESULT,commandDesc:"ability status report"}).catch((e=>{}))}getIceServers(){return 0===this._turnServers.length&&this.scheduleResult.iceServers?this.scheduleResult.iceServers:this._turnServers}getIceTransportPolicy(){return this._iceTransportPolicy||this.scheduleResult.iceTransportPolicy||"all"}getLogger(){return this._log}enableAIVoice(){throw new Error("Method not implemented.")}getSignalChannelUrl(){let e={mainUrl:"",backupUrl:""},t=yb.getEnv();return t?(e.mainUrl="wss://".concat(t,".rtc.qq.com"),e.backupUrl=e.mainUrl):this.proxy_ws?(e.mainUrl=this.proxy_ws,e.backupUrl=e.mainUrl):Array.isArray(this.scheduleResult.domains)&&this.scheduleResult.domains.length>0&&(e.mainUrl="wss://".concat(this.scheduleResult.domains[0]),e.backupUrl=e.mainUrl,this.scheduleResult.domains[1]&&(e.backupUrl="wss://".concat(this.scheduleResult.domains[1]))),e}getSignalInfo(){var e;return(null==(e=this._signalChannel)?void 0:e.getSignalInfo())||{clientIp:"",relayIp:""}}reset(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.stopSyncUserListInterval(),this.stopHeartbeat(),this.closeConnections(),this.clearNetworkQuality(),this.closeUplink("you exitRoom"),this._signalChannel&&(e&&this._signalChannel.keepAlive&&this._signalChannel.isConnected?this._signalChannel.stopKeepAliveIn(3600):this._signalChannel.close(),this.setSignalChannel(null)),this._stats.reset(),this.userManager.clear(),this.userManager.removeAllListeners(),this.singlePC&&(this.singlePC.close(),this.singlePC=null),this.scheduleResult={domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}}checkSubscribeBigSmallVideo(e){return cb(this,null,(function*(){let t=null==e?void 0:e.muteState.hasSmall,i=null==e?void 0:e.muteState.hasVideo;if(!t&&!i||!e.isBigStreamSubscribed&&!e.isSmallStreamSubscribed)return;let n=e.getUserId(),r=this._changeBigSmallRecords.get(n)||{},{subscribeState:o}=e,{options:s,isSubscribing:a,reSubscribeCount:c}=r;if(s.video&&o.video||s.smallVideo&&o.smallVideo&&t||a)return;let l={audio:e.remoteAudioTrack.isSubscribed||e.remoteAudioTrack.isSubscribing,auxiliary:e.remoteAuxiliaryTrack.isSubscribed||e.remoteAuxiliaryTrack.isSubscribing,video:s.video,smallVideo:s.smallVideo};if(t&&e.isBigStreamSubscribed||e.isSmallStreamSubscribed)try{s&&!a&&c>=1&&(r.isSubscribing=!0,r.reSubscribeCount=c-1,!t&&e.isSmallStreamSubscribed&&(l.video=!0,l.smallVideo=!1),yield null==e?void 0:e.subscribe(l,"main"),e.remoteVideoTrack.setMediaType(l.smallVideo?8:4),this._log.info("change [".concat(n,"] to ").concat(l.smallVideo?"small":"big"," video successfully. count ").concat(OD-r.reSubscribeCount,".")),r.isSubscribing=!1,r.reSubscribeCount=OD)}catch(u){this._log.info("change [".concat(n,"] to ").concat(l.smallVideo?"small":"big"," video failed. count ").concat(OD-r.reSubscribeCount,".")),r.isSubscribing=!1,0===c&&this._changeBigSmallRecords.delete(n)}}))}changeType(e,t){let i={options:{video:!e,smallVideo:e},isSubscribing:!1,reSubscribeCount:OD};this._changeBigSmallRecords.set(t.userId,i),this._log.info("set [".concat(t.userId,"] video prefer type: ").concat(e?"small":"big"))}get smallStreamConfig(){return this._smallStreamConfig}_initBusinessInfo(e){this._businessInfo=e.businessInfo;let t={};if(mU(e.businessInfo)&&(t=JSON.parse(e.businessInfo)),!fU(e.pureAudioPushMode)){if(!Number.isInteger(Number(e.pureAudioPushMode)))throw new Tb({code:fb.INVALID_PARAMETER,message:QO({key:zO.INVALID_PURE_AUDIO})});this._pureAudioPushMode=e.pureAudioPushMode,t.Str_uc_params||(t.Str_uc_params={}),t.Str_uc_params.pure_audio_push_mod=this._pureAudioPushMode}if(!fU(e.userDefineRecordId)){let i=/^[A-Za-z0-9_-]{1,64}$/gi;if(null===e.userDefineRecordId.match(i))throw new Tb({code:fb.INVALID_PARAMETER,message:QO({key:zO.INVALID_USER_DEFINE_RECORDID})});t.Str_uc_params||(t.Str_uc_params={}),t.Str_uc_params.userdefine_record_id=e.userDefineRecordId}if(!fU(e.userDefinePushArgs)){if(!(mU(e.userDefinePushArgs)&&String(e.userDefinePushArgs)&&String(e.userDefinePushArgs).length<=256))throw new Tb({code:fb.INVALID_PARAMETER,message:QO({key:zO.INVALID_USER_DEFINE_PUSH_ARGS})});t.Str_uc_params||(t.Str_uc_params={}),t.Str_uc_params.userdefine_push_args=e.userDefinePushArgs}EU(t)||(this._businessInfo=JSON.stringify(t))}sendSEI(e,t){var i;null==(i=this.uplinkConnection)||i.sendSEI(e,t)}};return ob([Hw(["left",Ww.INIT],"joined"),iV({settings:{retries:1,timeout:0},onError(e,t,i){this._isUsingCachedSchedule&&!this._isDestroyed?(this._log.warn("is using cached schedule, retry join"),fV(!0),this.reset(),t()):this._signalChannel&&this._signalChannel.isConnected&&this._signalChannel.keepAlive?(this._log.warn("is using keepAlive ws, retry join"),this._signalChannel.close(),this.reset(),t()):(this.reset(),this._log.error(e),i(e))}}),nL((e=>{let t=new JM;return function(i,n,r){return cb(this,null,(function*(){let o=String(i.roomId||i.strRoomId);if(this.userId=i.userId,this.sdkAppId=i.sdkAppId,this.userSig=i.userSig,this._log.setSdkAppId(this.sdkAppId),this._log.setUserId(this.userId),this.scene=n,i.privateMapKey=i.privateMapKey||"",this.isJoined)throw new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:o,sdkAppId:this.sdkAppId,room:this}))throw new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.REPEAT_JOIN,data:this.userId})});t.add({room:this,roomId:o}),this.role=21===i.role?"audience":"anchor",this._log.info("Join() => joining room: ".concat(o," useStringRoomId: ").concat(this.useStringRoomId," scene: ").concat(this.scene," role: ").concat(this.role)),UO.emit(BO.JOIN_START,{room:this,roomId:o,params:i}),this.checkSystemResult=yield JO.checkSystemRequirementsInternal(),this.checkDestroy();let s=yb.getEnv();s||(s=RN.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(VN.OLD_CLOUD_LADDER)?s=RN.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(VN.WEBRTC)&&(s=RN.WEBRTC))),Xw.setConfig({env:s,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:o}),zM.call(this);let{isH264EncodeSupported:a,isVp8EncodeSupported:c}=this.checkSystemResult.detail;if(!JO.isWebRTCSupported()||!a&&!c)throw new Tb({code:fb.NOT_SUPPORTED,message:QO({key:zO.NOT_SUPPORTED_WEBRTC})});try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!yb.getEnv()&&(yield this.schedule(o,r,oN));let t=yield e.call(this,i,n,r);return this.roomId=o,this._joinedTimestamp=yb.performanceNow(),UO.emit(BO.JOIN_SUCCESS,{room:this}),Xw.uploadEvent({log:"stat-conv-".concat(Number(qk),"-").concat(location.hostname),userId:this.userId}),t}catch(d){throw t.delete({room:this,roomId:o}),UO.emit(BO.JOIN_FAILED,{room:this,error:d}),d}}))}}))],SU.prototype,"join",1),ob([Hw("joined","left",{ignoreError:!0,success(){this.reset(!0)}}),nL((e=>function(){return cb(this,null,(function*(){UO.emit(BO.LEAVE_START,{room:this}),yield e.call(this),UO.emit(BO.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))})),function(e){return function(t,i,n){let r=n.value;return n.value=function(){var t,i;let n=[];for(var o=arguments.length,s=new Array(o),a=0;an.push(e))),null==(i=jV.get(this))||i.forEach((e=>e.forEach((e=>n.push(e))))),n.forEach((t=>{t.reject(new Tb({code:fb.API_CALL_ABORTED,message:e}))})),HV.delete(this),jV.delete(this),r.apply(this,s)},n}}("leave room"),nV({fnName:"publish",validateArgs:!1}),nV({fnName:"unsubscribe",validateArgs:!1})],SU.prototype,"leave",1),ob([GV(),nL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;ne.outMediaTrack&&"capture"===e.state)),!i.length))return;UO.emit("61",{room:this}),i.forEach((e=>{"audio"===e.kind&&this.audioManager.addAudioTrack(e)}));let t=e.apply(this,i);return i.forEach((e=>{var i;e.publish(this,t),"audio"===e.kind&&(null==(i=this.audioManager.localMixAudioTrack)||i.publish(this,t))})),t}))})),iV({settings:{retries:sD,timeout:e=>tO(e)},onError(e,t,i){var n;null!=(n=e.message)&&n.includes("timeout")?(this._log.warn("publish timeout"),t()):(this._log.error("publish failed: ".concat(e)),i(e),UO.emit(BO.PUBLISH_FAILED,{room:this}))}})],SU.prototype,"publish",1),ob([nV({fnName:"publish",callback(){for(var e,t=arguments.length,i=new Array(t),n=0;ne.unpublish())))}}),function(e){return function(t,i,n){let r=n.value;return n.value=function(){for(var t=arguments.length,i=new Array(t),n=0;n{if(0===n)return!0;let r=!0;return t.args.forEach((e=>{i.find((t=>t===e))||(r=!1)})),!r||(t.reject(new Tb({code:fb.API_CALL_ABORTED,message:e})),!1)}));HV.set(this,t)}return r.apply(this,i)},n}}("api-call"),GV(),nL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{"audio"===e.kind&&this.audioManager.removeAudioTrack(e)}));let r=e.apply(this,i);return i.forEach((e=>e.unpublish())),r}))],SU.prototype,"unpublish",1),ob([WV((function(){for(var e=arguments.length,t=new Array(e),i=0;ifunction(){for(var t=arguments.length,i=new Array(t),n=0;n!e.isSubscribed&&e.subscribe(r))),r})),iV({settings:{retries:sD,timeout:e=>tO(e)},onError(e,t,i,n){e.message.includes("timeout")?(this._log.warn("subscribe timeout"),t()):(this._log.error("subscribe failed: ".concat(e)),i(e),UO.emit(BO.SUBSCRIBE_FAILED,{room:this,remoteTracks:n}))}})],SU.prototype,"subscribe",1),ob([nV({fnName:"subscribe",callback(){for(var e=arguments.length,t=new Array(e),i=0;i{let t=this.remotePublishedUserMap.get(e.userId);t&&!t.isMainStreamSubscribed&&!t.isAuxStreamSubscribed&&t.close("you unsubscribed")}))}}),WV((function(){for(var e=arguments.length,t=new Array(e),i=0;it=>{const i=o.call(t);return e[i]||(e[i]=i.slice(8,-1).toLowerCase())})(Object.create(null)),c=e=>(e=e.toLowerCase(),t=>a(t)===e),l=e=>t=>typeof t===e,{isArray:d}=Array,u=l("undefined");function h(e){return null!==e&&!u(e)&&null!==e.constructor&&!u(e.constructor)&&f(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const p=c("ArrayBuffer");function m(e){let t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&p(e.buffer),t}const _=l("string"),f=l("function"),g=l("number"),T=e=>null!==e&&"object"===typeof e,E=e=>!0===e||!1===e,S=e=>{if("object"!==a(e))return!1;const t=s(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},I=c("Date"),y=c("File"),v=c("Blob"),A=c("FileList"),R=e=>T(e)&&f(e.pipe),C=e=>{let t;return e&&("function"===typeof FormData&&e instanceof FormData||f(e.append)&&("formdata"===(t=a(e))||"object"===t&&f(e.toString)&&"[object FormData]"===e.toString()))},b=c("URLSearchParams"),k=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function N(e,t,{allOwnKeys:i=!1}={}){if(null===e||"undefined"===typeof e)return;let n,r;if("object"!==typeof e&&(e=[e]),d(e))for(n=0,r=e.length;n0)if(n=i[r],t===n.toLowerCase())return n;return null}const O=(()=>"undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:global)(),w=e=>!u(e)&&e!==O;function P(){const{caseless:e}=w(this)&&this||{},t={},i=(i,n)=>{const r=e&&D(t,n)||n;S(t[r])&&S(i)?t[r]=P(t[r],i):S(i)?t[r]=P({},i):d(i)?t[r]=i.slice():t[r]=i};for(let n=0,r=arguments.length;n(N(t,((t,n)=>{i&&f(t)?e[n]=r(t,i):e[n]=t}),{allOwnKeys:n}),e),M=e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),x=(e,t,i,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),i&&Object.assign(e.prototype,i)},V=(e,t,i,n)=>{let r,o,a;const c={};if(t=t||{},null==e)return t;do{r=Object.getOwnPropertyNames(e),o=r.length;while(o-- >0)a=r[o],n&&!n(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==i&&s(e)}while(e&&(!i||i(e,t))&&e!==Object.prototype);return t},U=(e,t,i)=>{e=String(e),(void 0===i||i>e.length)&&(i=e.length),i-=t.length;const n=e.indexOf(t,i);return-1!==n&&n===i},F=e=>{if(!e)return null;if(d(e))return e;let t=e.length;if(!g(t))return null;const i=new Array(t);while(t-- >0)i[t]=e[t];return i},B=(e=>t=>e&&t instanceof e)("undefined"!==typeof Uint8Array&&s(Uint8Array)),H=(e,t)=>{const i=e&&e[Symbol.iterator],n=i.call(e);let r;while((r=n.next())&&!r.done){const i=r.value;t.call(e,i[0],i[1])}},j=(e,t)=>{let i;const n=[];while(null!==(i=e.exec(t)))n.push(i);return n},G=c("HTMLFormElement"),W=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,i){return t.toUpperCase()+i})),J=(({hasOwnProperty:e})=>(t,i)=>e.call(t,i))(Object.prototype),z=c("RegExp"),K=(e,t)=>{const i=Object.getOwnPropertyDescriptors(e),n={};N(i,((i,r)=>{let o;!1!==(o=t(i,r,e))&&(n[r]=o||i)})),Object.defineProperties(e,n)},q=e=>{K(e,((t,i)=>{if(f(e)&&-1!==["arguments","caller","callee"].indexOf(i))return!1;const n=e[i];f(n)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+i+"'")}))}))},Y=(e,t)=>{const i={},n=e=>{e.forEach((e=>{i[e]=!0}))};return d(e)?n(e):n(String(e).split(t)),i},Q=()=>{},X=(e,t)=>(e=+e,Number.isFinite(e)?e:t),$="abcdefghijklmnopqrstuvwxyz",Z="0123456789",ee={DIGIT:Z,ALPHA:$,ALPHA_DIGIT:$+$.toUpperCase()+Z},te=(e=16,t=ee.ALPHA_DIGIT)=>{let i="";const{length:n}=t;while(e--)i+=t[Math.random()*n|0];return i};function ie(e){return!!(e&&f(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])}const ne=e=>{const t=new Array(10),i=(e,n)=>{if(T(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[n]=e;const r=d(e)?[]:{};return N(e,((e,t)=>{const o=i(e,n+1);!u(o)&&(r[t]=o)})),t[n]=void 0,r}}return e};return i(e,0)},re=c("AsyncFunction"),oe=e=>e&&(T(e)||f(e))&&f(e.then)&&f(e.catch);var se={isArray:d,isArrayBuffer:p,isBuffer:h,isFormData:C,isArrayBufferView:m,isString:_,isNumber:g,isBoolean:E,isObject:T,isPlainObject:S,isUndefined:u,isDate:I,isFile:y,isBlob:v,isRegExp:z,isFunction:f,isStream:R,isURLSearchParams:b,isTypedArray:B,isFileList:A,forEach:N,merge:P,extend:L,trim:k,stripBOM:M,inherits:x,toFlatObject:V,kindOf:a,kindOfTest:c,endsWith:U,toArray:F,forEachEntry:H,matchAll:j,isHTMLForm:G,hasOwnProperty:J,hasOwnProp:J,reduceDescriptors:K,freezeMethods:q,toObjectSet:Y,toCamelCase:W,noop:Q,toFiniteNumber:X,findKey:D,global:O,isContextDefined:w,ALPHABET:ee,generateString:te,isSpecCompliantForm:ie,toJSONObject:ne,isAsyncFn:re,isThenable:oe};function ae(e,t,i,n,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),i&&(this.config=i),n&&(this.request=n),r&&(this.response=r)}se.inherits(ae,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:se.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const ce=ae.prototype,le={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{le[e]={value:e}})),Object.defineProperties(ae,le),Object.defineProperty(ce,"isAxiosError",{value:!0}),ae.from=(e,t,i,n,r,o)=>{const s=Object.create(ce);return se.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),ae.call(s,e.message,t,i,n,r),s.cause=e,s.name=e.name,o&&Object.assign(s,o),s};var de=ae,ue=null;function he(e){return se.isPlainObject(e)||se.isArray(e)}function pe(e){return se.endsWith(e,"[]")?e.slice(0,-2):e}function me(e,t,i){return e?e.concat(t).map((function(e,t){return e=pe(e),!i&&t?"["+e+"]":e})).join(i?".":""):t}function _e(e){return se.isArray(e)&&!e.some(he)}const fe=se.toFlatObject(se,{},null,(function(e){return/^is[A-Z]/.test(e)}));function ge(e,t,i){if(!se.isObject(e))throw new TypeError("target must be an object");t=t||new(ue||FormData),i=se.toFlatObject(i,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!se.isUndefined(t[e])}));const n=i.metaTokens,r=i.visitor||d,o=i.dots,s=i.indexes,a=i.Blob||"undefined"!==typeof Blob&&Blob,c=a&&se.isSpecCompliantForm(t);if(!se.isFunction(r))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(se.isDate(e))return e.toISOString();if(!c&&se.isBlob(e))throw new de("Blob is not supported. Use a Buffer instead.");return se.isArrayBuffer(e)||se.isTypedArray(e)?c&&"function"===typeof Blob?new Blob([e]):Buffer.from(e):e}function d(e,i,r){let a=e;if(e&&!r&&"object"===typeof e)if(se.endsWith(i,"{}"))i=n?i:i.slice(0,-2),e=JSON.stringify(e);else if(se.isArray(e)&&_e(e)||(se.isFileList(e)||se.endsWith(i,"[]"))&&(a=se.toArray(e)))return i=pe(i),a.forEach((function(e,n){!se.isUndefined(e)&&null!==e&&t.append(!0===s?me([i],n,o):null===s?i:i+"[]",l(e))})),!1;return!!he(e)||(t.append(me(r,i,o),l(e)),!1)}const u=[],h=Object.assign(fe,{defaultVisitor:d,convertValue:l,isVisitable:he});function p(e,i){if(!se.isUndefined(e)){if(-1!==u.indexOf(e))throw Error("Circular reference detected in "+i.join("."));u.push(e),se.forEach(e,(function(e,n){const o=!(se.isUndefined(e)||null===e)&&r.call(t,e,se.isString(n)?n.trim():n,i,h);!0===o&&p(e,i?i.concat(n):[n])})),u.pop()}}if(!se.isObject(e))throw new TypeError("data must be an object");return p(e),t}var Te=ge;function Ee(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Se(e,t){this._pairs=[],e&&Te(e,this,t)}const Ie=Se.prototype;Ie.append=function(e,t){this._pairs.push([e,t])},Ie.toString=function(e){const t=e?function(t){return e.call(this,t,Ee)}:Ee;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var ye=Se;function ve(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ae(e,t,i){if(!t)return e;const n=i&&i.encode||ve,r=i&&i.serialize;let o;if(o=r?r(t,i):se.isURLSearchParams(t)?t.toString():new ye(t,i).toString(n),o){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}class Re{constructor(){this.handlers=[]}use(e,t,i){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!i&&i.synchronous,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){se.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}var Ce=Re,be={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ke=(i(8858),i(1318),i(3228),"undefined"!==typeof URLSearchParams?URLSearchParams:ye),Ne="undefined"!==typeof FormData?FormData:null,De="undefined"!==typeof Blob?Blob:null,Oe={isBrowser:!0,classes:{URLSearchParams:ke,FormData:Ne,Blob:De},protocols:["http","https","file","blob","url","data"]};const we="undefined"!==typeof window&&"undefined"!==typeof document,Pe=(e=>we&&["ReactNative","NativeScript","NS"].indexOf(e)<0)("undefined"!==typeof navigator&&navigator.product),Le=(()=>"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"===typeof self.importScripts)();var Me={...n,...Oe};function xe(e,t){return Te(e,new Me.classes.URLSearchParams,Object.assign({visitor:function(e,t,i,n){return Me.isNode&&se.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}function Ve(e){return se.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}function Ue(e){const t={},i=Object.keys(e);let n;const r=i.length;let o;for(n=0;n=e.length;if(o=!o&&se.isArray(n)?n.length:o,a)return se.hasOwnProp(n,o)?n[o]=[n[o],i]:n[o]=i,!s;n[o]&&se.isObject(n[o])||(n[o]=[]);const c=t(e,i,n[o],r);return c&&se.isArray(n[o])&&(n[o]=Ue(n[o])),!s}if(se.isFormData(e)&&se.isFunction(e.entries)){const i={};return se.forEachEntry(e,((e,n)=>{t(Ve(e),n,i,0)})),i}return null}var Be=Fe;function He(e,t,i){if(se.isString(e))try{return(t||JSON.parse)(e),se.trim(e)}catch(n){if("SyntaxError"!==n.name)throw n}return(i||JSON.stringify)(e)}const je={transitional:be,adapter:["xhr","http"],transformRequest:[function(e,t){const i=t.getContentType()||"",n=i.indexOf("application/json")>-1,r=se.isObject(e);r&&se.isHTMLForm(e)&&(e=new FormData(e));const o=se.isFormData(e);if(o)return n&&n?JSON.stringify(Be(e)):e;if(se.isArrayBuffer(e)||se.isBuffer(e)||se.isStream(e)||se.isFile(e)||se.isBlob(e))return e;if(se.isArrayBufferView(e))return e.buffer;if(se.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(r){if(i.indexOf("application/x-www-form-urlencoded")>-1)return xe(e,this.formSerializer).toString();if((s=se.isFileList(e))||i.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return Te(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return r||n?(t.setContentType("application/json",!1),He(e)):e}],transformResponse:[function(e){const t=this.transitional||je.transitional,i=t&&t.forcedJSONParsing,n="json"===this.responseType;if(e&&se.isString(e)&&(i&&!this.responseType||n)){const i=t&&t.silentJSONParsing,o=!i&&n;try{return JSON.parse(e)}catch(r){if(o){if("SyntaxError"===r.name)throw de.from(r,de.ERR_BAD_RESPONSE,this,null,this.response);throw r}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Me.classes.FormData,Blob:Me.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};se.forEach(["delete","get","head","post","put","patch"],(e=>{je.headers[e]={}}));var Ge=je;const We=se.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var Je=e=>{const t={};let i,n,r;return e&&e.split("\n").forEach((function(e){r=e.indexOf(":"),i=e.substring(0,r).trim().toLowerCase(),n=e.substring(r+1).trim(),!i||t[i]&&We[i]||("set-cookie"===i?t[i]?t[i].push(n):t[i]=[n]:t[i]=t[i]?t[i]+", "+n:n)})),t};const ze=Symbol("internals");function Ke(e){return e&&String(e).trim().toLowerCase()}function qe(e){return!1===e||null==e?e:se.isArray(e)?e.map(qe):String(e)}function Ye(e){const t=Object.create(null),i=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;while(n=i.exec(e))t[n[1]]=n[2];return t}const Qe=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Xe(e,t,i,n,r){return se.isFunction(n)?n.call(this,t,i):(r&&(t=i),se.isString(t)?se.isString(n)?-1!==t.indexOf(n):se.isRegExp(n)?n.test(t):void 0:void 0)}function $e(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,i)=>t.toUpperCase()+i))}function Ze(e,t){const i=se.toCamelCase(" "+t);["get","set","has"].forEach((n=>{Object.defineProperty(e,n+i,{value:function(e,i,r){return this[n].call(this,t,e,i,r)},configurable:!0})}))}class et{constructor(e){e&&this.set(e)}set(e,t,i){const n=this;function r(e,t,i){const r=Ke(t);if(!r)throw new Error("header name must be a non-empty string");const o=se.findKey(n,r);(!o||void 0===n[o]||!0===i||void 0===i&&!1!==n[o])&&(n[o||t]=qe(e))}const o=(e,t)=>se.forEach(e,((e,i)=>r(e,i,t)));return se.isPlainObject(e)||e instanceof this.constructor?o(e,t):se.isString(e)&&(e=e.trim())&&!Qe(e)?o(Je(e),t):null!=e&&r(t,e,i),this}get(e,t){if(e=Ke(e),e){const i=se.findKey(this,e);if(i){const e=this[i];if(!t)return e;if(!0===t)return Ye(e);if(se.isFunction(t))return t.call(this,e,i);if(se.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Ke(e),e){const i=se.findKey(this,e);return!(!i||void 0===this[i]||t&&!Xe(this,this[i],i,t))}return!1}delete(e,t){const i=this;let n=!1;function r(e){if(e=Ke(e),e){const r=se.findKey(i,e);!r||t&&!Xe(i,i[r],r,t)||(delete i[r],n=!0)}}return se.isArray(e)?e.forEach(r):r(e),n}clear(e){const t=Object.keys(this);let i=t.length,n=!1;while(i--){const r=t[i];e&&!Xe(this,this[r],r,e,!0)||(delete this[r],n=!0)}return n}normalize(e){const t=this,i={};return se.forEach(this,((n,r)=>{const o=se.findKey(i,r);if(o)return t[o]=qe(n),void delete t[r];const s=e?$e(r):String(r).trim();s!==r&&delete t[r],t[s]=qe(n),i[s]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return se.forEach(this,((i,n)=>{null!=i&&!1!==i&&(t[n]=e&&se.isArray(i)?i.join(", "):i)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const i=new this(e);return t.forEach((e=>i.set(e))),i}static accessor(e){const t=this[ze]=this[ze]={accessors:{}},i=t.accessors,n=this.prototype;function r(e){const t=Ke(e);i[t]||(Ze(n,e),i[t]=!0)}return se.isArray(e)?e.forEach(r):r(e),this}}et.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),se.reduceDescriptors(et.prototype,(({value:e},t)=>{let i=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[i]=e}}})),se.freezeMethods(et);var tt=et;function it(e,t){const i=this||Ge,n=t||i,r=tt.from(n.headers);let o=n.data;return se.forEach(e,(function(e){o=e.call(i,o,r.normalize(),t?t.status:void 0)})),r.normalize(),o}function nt(e){return!(!e||!e.__CANCEL__)}function rt(e,t,i){de.call(this,null==e?"canceled":e,de.ERR_CANCELED,t,i),this.name="CanceledError"}se.inherits(rt,de,{__CANCEL__:!0});var ot=rt;i(3429);function st(e,t,i){const n=i.config.validateStatus;i.status&&n&&!n(i.status)?t(new de("Request failed with status code "+i.status,[de.ERR_BAD_REQUEST,de.ERR_BAD_RESPONSE][Math.floor(i.status/100)-4],i.config,i.request,i)):e(i)}var at=Me.hasStandardBrowserEnv?{write(e,t,i,n,r,o){const s=[e+"="+encodeURIComponent(t)];se.isNumber(i)&&s.push("expires="+new Date(i).toGMTString()),se.isString(n)&&s.push("path="+n),se.isString(r)&&s.push("domain="+r),!0===o&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function ct(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function lt(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function dt(e,t){return e&&!ct(t)?lt(e,t):t}var ut=Me.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let i;function n(i){let n=i;return e&&(t.setAttribute("href",n),n=t.href),t.setAttribute("href",n),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return i=n(window.location.href),function(e){const t=se.isString(e)?n(e):e;return t.protocol===i.protocol&&t.host===i.host}}():function(){return function(){return!0}}();function ht(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function pt(e,t){e=e||10;const i=new Array(e),n=new Array(e);let r,o=0,s=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),l=n[s];r||(r=c),i[o]=a,n[o]=c;let d=s,u=0;while(d!==o)u+=i[d++],d%=e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),c-r{const o=r.loaded,s=r.lengthComputable?r.total:void 0,a=o-i,c=n(a),l=o<=s;i=o;const d={loaded:o,total:s,progress:s?o/s:void 0,bytes:a,rate:c||void 0,estimated:c&&s&&l?(s-o)/c:void 0,event:r};d[t?"download":"upload"]=!0,e(d)}}const ft="undefined"!==typeof XMLHttpRequest;var gt=ft&&function(e){return new Promise((function(t,i){let n=e.data;const r=tt.from(e.headers).normalize();let o,s,{responseType:a,withXSRFToken:c}=e;function l(){e.cancelToken&&e.cancelToken.unsubscribe(o),e.signal&&e.signal.removeEventListener("abort",o)}if(se.isFormData(n))if(Me.hasStandardBrowserEnv||Me.hasStandardBrowserWebWorkerEnv)r.setContentType(!1);else if(!1!==(s=r.getContentType())){const[e,...t]=s?s.split(";").map((e=>e.trim())).filter(Boolean):[];r.setContentType([e||"multipart/form-data",...t].join("; "))}let d=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",i=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";r.set("Authorization","Basic "+btoa(t+":"+i))}const u=dt(e.baseURL,e.url);function h(){if(!d)return;const n=tt.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),r=a&&"text"!==a&&"json"!==a?d.response:d.responseText,o={data:r,status:d.status,statusText:d.statusText,headers:n,config:e,request:d};st((function(e){t(e),l()}),(function(e){i(e),l()}),o),d=null}if(d.open(e.method.toUpperCase(),Ae(u,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,"onloadend"in d?d.onloadend=h:d.onreadystatechange=function(){d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))&&setTimeout(h)},d.onabort=function(){d&&(i(new de("Request aborted",de.ECONNABORTED,e,d)),d=null)},d.onerror=function(){i(new de("Network Error",de.ERR_NETWORK,e,d)),d=null},d.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const n=e.transitional||be;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),i(new de(t,n.clarifyTimeoutError?de.ETIMEDOUT:de.ECONNABORTED,e,d)),d=null},Me.hasStandardBrowserEnv&&(c&&se.isFunction(c)&&(c=c(e)),c||!1!==c&&ut(u))){const t=e.xsrfHeaderName&&e.xsrfCookieName&&at.read(e.xsrfCookieName);t&&r.set(e.xsrfHeaderName,t)}void 0===n&&r.setContentType(null),"setRequestHeader"in d&&se.forEach(r.toJSON(),(function(e,t){d.setRequestHeader(t,e)})),se.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),a&&"json"!==a&&(d.responseType=e.responseType),"function"===typeof e.onDownloadProgress&&d.addEventListener("progress",_t(e.onDownloadProgress,!0)),"function"===typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",_t(e.onUploadProgress)),(e.cancelToken||e.signal)&&(o=t=>{d&&(i(!t||t.type?new ot(null,e,d):t),d.abort(),d=null)},e.cancelToken&&e.cancelToken.subscribe(o),e.signal&&(e.signal.aborted?o():e.signal.addEventListener("abort",o)));const p=ht(u);p&&-1===Me.protocols.indexOf(p)?i(new de("Unsupported protocol "+p+":",de.ERR_BAD_REQUEST,e)):d.send(n||null)}))};const Tt={http:ue,xhr:gt};se.forEach(Tt,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(i){}Object.defineProperty(e,"adapterName",{value:t})}}));const Et=e=>`- ${e}`,St=e=>se.isFunction(e)||null===e||!1===e;var It={getAdapter:e=>{e=se.isArray(e)?e:[e];const{length:t}=e;let i,n;const r={};for(let o=0;o`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let i=t?e.length>1?"since :\n"+e.map(Et).join("\n"):" "+Et(e[0]):"as no adapter specified";throw new de("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return n},adapters:Tt};function yt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new ot(null,e)}function vt(e){yt(e),e.headers=tt.from(e.headers),e.data=it.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);const t=It.getAdapter(e.adapter||Ge.adapter);return t(e).then((function(t){return yt(e),t.data=it.call(e,e.transformResponse,t),t.headers=tt.from(t.headers),t}),(function(t){return nt(t)||(yt(e),t&&t.response&&(t.response.data=it.call(e,e.transformResponse,t.response),t.response.headers=tt.from(t.response.headers))),Promise.reject(t)}))}const At=e=>e instanceof tt?e.toJSON():e;function Rt(e,t){t=t||{};const i={};function n(e,t,i){return se.isPlainObject(e)&&se.isPlainObject(t)?se.merge.call({caseless:i},e,t):se.isPlainObject(t)?se.merge({},t):se.isArray(t)?t.slice():t}function r(e,t,i){return se.isUndefined(t)?se.isUndefined(e)?void 0:n(void 0,e,i):n(e,t,i)}function o(e,t){if(!se.isUndefined(t))return n(void 0,t)}function s(e,t){return se.isUndefined(t)?se.isUndefined(e)?void 0:n(void 0,e):n(void 0,t)}function a(i,r,o){return o in t?n(i,r):o in e?n(void 0,i):void 0}const c={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(e,t)=>r(At(e),At(t),!0)};return se.forEach(Object.keys(Object.assign({},e,t)),(function(n){const o=c[n]||r,s=o(e[n],t[n],n);se.isUndefined(s)&&o!==a||(i[n]=s)})),i}const Ct="1.6.2",bt={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{bt[e]=function(i){return typeof i===e||"a"+(t<1?"n ":" ")+e}}));const kt={};function Nt(e,t,i){if("object"!==typeof e)throw new de("options must be an object",de.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let r=n.length;while(r-- >0){const o=n[r],s=t[o];if(s){const t=e[o],i=void 0===t||s(t,o,e);if(!0!==i)throw new de("option "+o+" must be "+i,de.ERR_BAD_OPTION_VALUE)}else if(!0!==i)throw new de("Unknown option "+o,de.ERR_BAD_OPTION)}}bt.transitional=function(e,t,i){function n(e,t){return"[Axios v"+Ct+"] Transitional option '"+e+"'"+t+(i?". "+i:"")}return(i,r,o)=>{if(!1===e)throw new de(n(r," has been removed"+(t?" in "+t:"")),de.ERR_DEPRECATED);return t&&!kt[r]&&(kt[r]=!0,console.warn(n(r," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(i,r,o)}};var Dt={assertOptions:Nt,validators:bt};const Ot=Dt.validators;class wt{constructor(e){this.defaults=e,this.interceptors={request:new Ce,response:new Ce}}request(e,t){"string"===typeof e?(t=t||{},t.url=e):t=e||{},t=Rt(this.defaults,t);const{transitional:i,paramsSerializer:n,headers:r}=t;void 0!==i&&Dt.assertOptions(i,{silentJSONParsing:Ot.transitional(Ot.boolean),forcedJSONParsing:Ot.transitional(Ot.boolean),clarifyTimeoutError:Ot.transitional(Ot.boolean)},!1),null!=n&&(se.isFunction(n)?t.paramsSerializer={serialize:n}:Dt.assertOptions(n,{encode:Ot.function,serialize:Ot.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=r&&se.merge(r.common,r[t.method]);r&&se.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete r[e]})),t.headers=tt.concat(o,r);const s=[];let a=!0;this.interceptors.request.forEach((function(e){"function"===typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let d,u=0;if(!a){const e=[vt.bind(this),void 0];e.unshift.apply(e,s),e.push.apply(e,c),d=e.length,l=Promise.resolve(t);while(u{if(!i._listeners)return;let t=i._listeners.length;while(t-- >0)i._listeners[t](e);i._listeners=null})),this.promise.then=e=>{let t;const n=new Promise((e=>{i.subscribe(e),t=e})).then(e);return n.cancel=function(){i.unsubscribe(t)},n},e((function(e,n,r){i.reason||(i.reason=new ot(e,n,r),t(i.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;const t=new Lt((function(t){e=t}));return{token:t,cancel:e}}}var Mt=Lt;function xt(e){return function(t){return e.apply(null,t)}}function Vt(e){return se.isObject(e)&&!0===e.isAxiosError}const Ut={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ut).forEach((([e,t])=>{Ut[t]=e}));var Ft=Ut;function Bt(e){const t=new Pt(e),i=r(Pt.prototype.request,t);return se.extend(i,Pt.prototype,t,{allOwnKeys:!0}),se.extend(i,t,null,{allOwnKeys:!0}),i.create=function(t){return Bt(Rt(e,t))},i}const Ht=Bt(Ge);Ht.Axios=Pt,Ht.CanceledError=ot,Ht.CancelToken=Mt,Ht.isCancel=nt,Ht.VERSION=Ct,Ht.toFormData=Te,Ht.AxiosError=de,Ht.Cancel=Ht.CanceledError,Ht.all=function(e){return Promise.all(e)},Ht.spread=xt,Ht.isAxiosError=Vt,Ht.mergeConfig=Rt,Ht.AxiosHeaders=tt,Ht.formToJSON=e=>Be(se.isHTMLForm(e)?new FormData(e):e),Ht.getAdapter=It.getAdapter,Ht.HttpStatusCode=Ft,Ht.default=Ht;var jt=Ht;const Gt=jt.create({baseURL:"",timeout:2e4});Gt.interceptors.request.use((e=>e),(e=>{Promise.reject(e)})),Gt.interceptors.response.use((e=>e.data),(e=>{console.error(e)}));var Wt=Gt},6097:function(e,t,i){"use strict";function n(e){return 1==e.length?"userVideo":2==e.length?"userVideo1":3==e.length?"userVideo2":e.length>3?"userVideo3":0==e.length?"userVideo4":void 0}function r(e){let t=Math.ceil((e.length+1)/3);return 1==t?"100%":1/t*100+"%"}function o(e){return 0==e.length?"userVideoPhone":"userVideoPhone1"}function s(){var e=navigator.userAgent.toLowerCase(),t="ipad"==e.match(/ipad/i),i="iphone os"==e.match(/iphone os/i),n="midp"==e.match(/midp/i),r="rv:1.2.3.4"==e.match(/rv:1.2.3.4/i),o="ucweb"==e.match(/ucweb/i),s="android"==e.match(/android/i),a="windows ce"==e.match(/windows ce/i),c="windows mobile"==e.match(/windows mobile/i);return!(t||i||n||r||o||s||a||c)}i.d(t,{A1:function(){return o},Cr:function(){return r},Qv:function(){return s},dz:function(){return n}})},767:function(e,t,i){"use strict";var n=i(3622),r=TypeError;e.exports=function(e,t){if(n(t,e))return e;throw new r("Incorrect invocation")}},7136:function(e){"use strict";e.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},6610:function(e,t,i){"use strict";var n=i(8844),r=Error,o=n("".replace),s=function(e){return String(new r(e).stack)}("zxcasd"),a=/\n\s*at [^:]*:[^\n]*/,c=a.test(s);e.exports=function(e,t){if(c&&"string"==typeof e&&!r.prepareStackTrace)while(t--)e=o(e,a,"");return e}},3457:function(e,t,i){"use strict";var n=i(9985),r=i(8999),o=i(9385);e.exports=function(e,t,i){var s,a;return o&&n(s=t.constructor)&&s!==i&&r(a=s.prototype)&&a!==i.prototype&&o(e,a),e}},3841:function(e,t,i){"use strict";var n=i(4327);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:n(e)}},9633:function(e,t,i){"use strict";var n=i(5027);e.exports=function(){var e=n(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}},5847:function(e,t,i){"use strict";var n=i(9037),r=i(7697),o=i(2148),s=i(9633),a=i(3689),c=n.RegExp,l=c.prototype,d=r&&a((function(){var e=!0;try{c(".","d")}catch(d){e=!1}var t={},i="",n=e?"dgimsy":"gimsy",r=function(e,n){Object.defineProperty(t,e,{get:function(){return i+=n,!0}})},o={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var s in e&&(o.hasIndices="d"),o)r(s,o[s]);var a=Object.getOwnPropertyDescriptor(l,"flags").get.call(t);return a!==n||i!==n}));d&&o(l,"flags",{configurable:!0,get:s})},3429:function(e,t,i){"use strict";var n=i(9989),r=i(9037),o=i(6058),s=i(5684),a=i(2560).f,c=i(6812),l=i(767),d=i(3457),u=i(3841),h=i(7136),p=i(6610),m=i(7697),_=i(3931),f="DOMException",g=o("Error"),T=o(f),E=function(){l(this,S);var e=arguments.length,t=u(e<1?void 0:arguments[0]),i=u(e<2?void 0:arguments[1],"Error"),n=new T(t,i),r=new g(t);return r.name=f,a(n,"stack",s(1,p(r.stack,1))),d(n,this,E),n},S=E.prototype=T.prototype,I="stack"in new g(f),y="stack"in new T(1,2),v=T&&m&&Object.getOwnPropertyDescriptor(r,f),A=!!v&&!(v.writable&&v.configurable),R=I&&!A&&!y;n({global:!0,constructor:!0,forced:_||R},{DOMException:R?E:T});var C=o(f),b=C.prototype;if(b.constructor!==C)for(var k in _||a(b,"constructor",s(1,C)),h)if(c(h,k)){var N=h[k],D=N.s;c(C,D)||a(C,D,s(6,N.c))}}}]); -//# sourceMappingURL=315.277cbca8.js.map \ No newline at end of file +(self["webpackChunknouiroom"]=self["webpackChunknouiroom"]||[]).push([[315],{2799:function(e,t,i){i(560),i(5847),i(8858),i(1318),i(3228),i(4224),i(1121),i(7133),i(3429),function(t,i){e.exports=i()}(0,(function(){function e(e,t){return t.forEach((function(t){t&&"string"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(i){if("default"!==i&&!(i in e)){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}}))})),Object.freeze(e)}var t="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof i.g?i.g:"undefined"!=typeof self?self:{},n=function(e){try{return!!e()}catch(t){return!0}},r=!n((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),o=r,s=Function.prototype,a=s.call,c=o&&s.bind.bind(a,a),l=o?c:function(e){return function(){return a.apply(e,arguments)}},d=l,u=d({}.toString),h=d("".slice),p=function(e){return h(u(e),8,-1)},m=n,_=p,f=Object,g=l("".split),T=m((function(){return!f("z").propertyIsEnumerable(0)}))?function(e){return"String"==_(e)?g(e,""):f(e)}:f,E=function(e){return null==e},S=E,I=TypeError,y=function(e){if(S(e))throw I("Can't call method on "+e);return e},v=T,A=y,R=function(e){return v(A(e))},C=function(e){return e&&e.Math==Math&&e},b=C("object"==typeof globalThis&&globalThis)||C("object"==typeof window&&window)||C("object"==typeof self&&self)||C("object"==typeof t&&t)||function(){return this}()||Function("return this")(),k={},N={get exports(){return k},set exports(e){k=e}},D=b,O=Object.defineProperty,w=function(e,t){try{O(D,e,{value:t,configurable:!0,writable:!0})}catch(n){D[e]=t}return t},P=w,L="__core-js_shared__",M=b[L]||P(L,{}),x=M;(N.exports=function(e,t){return x[e]||(x[e]=void 0!==t?t:{})})("versions",[]).push({version:"3.30.0",mode:"global",copyright:"© 2014-2023 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.30.0/LICENSE",source:"https://github.com/zloirock/core-js"});var V,U,F=y,B=Object,H=function(e){return B(F(e))},j=H,G=l({}.hasOwnProperty),W=Object.hasOwn||function(e,t){return G(j(e),t)},J=l,z=0,K=Math.random(),q=J(1..toString),Y=function(e){return"Symbol("+(void 0===e?"":e)+")_"+q(++z+K,36)},Q="undefined"!=typeof navigator&&String(navigator.userAgent)||"",X=b,$=Q,Z=X.process,ee=X.Deno,te=Z&&Z.versions||ee&&ee.version,ie=te&&te.v8;ie&&(U=(V=ie.split("."))[0]>0&&V[0]<4?1:+(V[0]+V[1])),!U&&$&&(!(V=$.match(/Edge\/(\d+)/))||V[1]>=74)&&(V=$.match(/Chrome\/(\d+)/))&&(U=+V[1]);var ne=U,re=ne,oe=n,se=!!Object.getOwnPropertySymbols&&!oe((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&re&&re<41})),ae=se&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,ce=k,le=W,de=Y,ue=se,he=ae,pe=b.Symbol,me=ce("wks"),_e=he?pe.for||pe:pe&&pe.withoutSetter||de,fe=function(e){return le(me,e)||(me[e]=ue&&le(pe,e)?pe[e]:_e("Symbol."+e)),me[e]},ge="object"==typeof document&&document.all,Te={all:ge,IS_HTMLDDA:void 0===ge&&void 0!==ge},Ee=Te.all,Se=Te.IS_HTMLDDA?function(e){return"function"==typeof e||e===Ee}:function(e){return"function"==typeof e},Ie=Se,ye=Te.all,ve=Te.IS_HTMLDDA?function(e){return"object"==typeof e?null!==e:Ie(e)||e===ye}:function(e){return"object"==typeof e?null!==e:Ie(e)},Ae=ve,Re=String,Ce=TypeError,be=function(e){if(Ae(e))return e;throw Ce(Re(e)+" is not an object")},ke={},Ne=!n((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),De=Ne&&n((function(){return 42!=Object.defineProperty((function(){}),"prototype",{value:42,writable:!1}).prototype})),Oe={},we=ve,Pe=b.document,Le=we(Pe)&&we(Pe.createElement),Me=function(e){return Le?Pe.createElement(e):{}},xe=Me,Ve=!Ne&&!n((function(){return 7!=Object.defineProperty(xe("div"),"a",{get:function(){return 7}}).a})),Ue=r,Fe=Function.prototype.call,Be=Ue?Fe.bind(Fe):function(){return Fe.apply(Fe,arguments)},He=b,je=Se,Ge=function(e,t){return arguments.length<2?(i=He[e],je(i)?i:void 0):He[e]&&He[e][t];var i},We=l({}.isPrototypeOf),Je=Ge,ze=Se,Ke=We,qe=Object,Ye=ae?function(e){return"symbol"==typeof e}:function(e){var t=Je("Symbol");return ze(t)&&Ke(t.prototype,qe(e))},Qe=String,Xe=function(e){try{return Qe(e)}catch(t){return"Object"}},$e=Se,Ze=Xe,et=TypeError,tt=function(e){if($e(e))return e;throw et(Ze(e)+" is not a function")},it=tt,nt=E,rt=function(e,t){var i=e[t];return nt(i)?void 0:it(i)},ot=Be,st=Se,at=ve,ct=TypeError,lt=Be,dt=ve,ut=Ye,ht=rt,pt=function(e,t){var i,n;if("string"===t&&st(i=e.toString)&&!at(n=ot(i,e)))return n;if(st(i=e.valueOf)&&!at(n=ot(i,e)))return n;if("string"!==t&&st(i=e.toString)&&!at(n=ot(i,e)))return n;throw ct("Can't convert object to primitive value")},mt=TypeError,_t=fe("toPrimitive"),ft=function(e,t){if(!dt(e)||ut(e))return e;var i,n=ht(e,_t);if(n){if(void 0===t&&(t="default"),i=lt(n,e,t),!dt(i)||ut(i))return i;throw mt("Can't convert object to primitive value")}return void 0===t&&(t="number"),pt(e,t)},gt=ft,Tt=Ye,Et=function(e){var t=gt(e,"string");return Tt(t)?t:t+""},St=Ne,It=Ve,yt=De,vt=be,At=Et,Rt=TypeError,Ct=Object.defineProperty,bt=Object.getOwnPropertyDescriptor,kt="enumerable",Nt="configurable",Dt="writable";Oe.f=St?yt?function(e,t,i){if(vt(e),t=At(t),vt(i),"function"==typeof e&&"prototype"===t&&"value"in i&&Dt in i&&!i[Dt]){var n=bt(e,t);n&&n[Dt]&&(e[t]=i.value,i={configurable:Nt in i?i[Nt]:n[Nt],enumerable:kt in i?i[kt]:n[kt],writable:!1})}return Ct(e,t,i)}:Ct:function(e,t,i){if(vt(e),t=At(t),vt(i),It)try{return Ct(e,t,i)}catch(r){}if("get"in i||"set"in i)throw Rt("Accessors not supported");return"value"in i&&(e[t]=i.value),e};var Ot=Math.ceil,wt=Math.floor,Pt=Math.trunc||function(e){var t=+e;return(t>0?wt:Ot)(t)},Lt=Pt,Mt=function(e){var t=+e;return t!=t||0===t?0:Lt(t)},xt=Mt,Vt=Math.max,Ut=Math.min,Ft=function(e,t){var i=xt(e);return i<0?Vt(i+t,0):Ut(i,t)},Bt=Mt,Ht=Math.min,jt=function(e){return e>0?Ht(Bt(e),9007199254740991):0},Gt=jt,Wt=function(e){return Gt(e.length)},Jt=R,zt=Ft,Kt=Wt,qt=function(e){return function(t,i,n){var r,o=Jt(t),s=Kt(o),a=zt(n,s);if(e&&i!=i){for(;s>a;)if((r=o[a++])!=r)return!0}else for(;s>a;a++)if((e||a in o)&&o[a]===i)return e||a||0;return!e&&-1}},Yt={includes:qt(!0),indexOf:qt(!1)},Qt={},Xt=W,$t=R,Zt=Yt.indexOf,ei=Qt,ti=l([].push),ii=function(e,t){var i,n=$t(e),r=0,o=[];for(i in n)!Xt(ei,i)&&Xt(n,i)&&ti(o,i);for(;t.length>r;)Xt(n,i=t[r++])&&(~Zt(o,i)||ti(o,i));return o},ni=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],ri=ii,oi=ni,si=Object.keys||function(e){return ri(e,oi)},ai=Ne,ci=De,li=Oe,di=be,ui=R,hi=si;ke.f=ai&&!ci?Object.defineProperties:function(e,t){di(e);for(var i,n=ui(t),r=hi(t),o=r.length,s=0;o>s;)li.f(e,i=r[s++],n[i]);return e};var pi,mi=Ge("document","documentElement"),_i=Y,fi=k("keys"),gi=function(e){return fi[e]||(fi[e]=_i(e))},Ti=be,Ei=ke,Si=ni,Ii=Qt,yi=mi,vi=Me,Ai="prototype",Ri="script",Ci=gi("IE_PROTO"),bi=function(){},ki=function(e){return"<"+Ri+">"+e+""},Ni=function(e){e.write(ki("")),e.close();var t=e.parentWindow.Object;return e=null,t},Di=function(){try{pi=new ActiveXObject("htmlfile")}catch(o){}var e,t,i;Di="undefined"!=typeof document?document.domain&&pi?Ni(pi):(t=vi("iframe"),i="java"+Ri+":",t.style.display="none",yi.appendChild(t),t.src=String(i),(e=t.contentWindow.document).open(),e.write(ki("document.F=Object")),e.close(),e.F):Ni(pi);for(var n=Si.length;n--;)delete Di[Ai][Si[n]];return Di()};Ii[Ci]=!0;var Oi=Object.create||function(e,t){var i;return null!==e?(bi[Ai]=Ti(e),i=new bi,bi[Ai]=null,i[Ci]=e):i=Di(),void 0===t?i:Ei.f(i,t)},wi=fe,Pi=Oi,Li=Oe.f,Mi=wi("unscopables"),xi=Array.prototype;null==xi[Mi]&&Li(xi,Mi,{configurable:!0,value:Pi(null)});var Vi,Ui,Fi,Bi=function(e){xi[Mi][e]=!0},Hi={},ji=Se,Gi=b.WeakMap,Wi=ji(Gi)&&/native code/.test(String(Gi)),Ji=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},zi=Oe,Ki=Ji,qi=Ne?function(e,t,i){return zi.f(e,t,Ki(1,i))}:function(e,t,i){return e[t]=i,e},Yi=Wi,Qi=b,Xi=ve,$i=qi,Zi=W,en=M,tn=gi,nn=Qt,rn="Object already initialized",on=Qi.TypeError,sn=Qi.WeakMap;if(Yi||en.state){var an=en.state||(en.state=new sn);an.get=an.get,an.has=an.has,an.set=an.set,Vi=function(e,t){if(an.has(e))throw on(rn);return t.facade=e,an.set(e,t),t},Ui=function(e){return an.get(e)||{}},Fi=function(e){return an.has(e)}}else{var cn=tn("state");nn[cn]=!0,Vi=function(e,t){if(Zi(e,cn))throw on(rn);return t.facade=e,$i(e,cn,t),t},Ui=function(e){return Zi(e,cn)?e[cn]:{}},Fi=function(e){return Zi(e,cn)}}var ln={set:Vi,get:Ui,has:Fi,enforce:function(e){return Fi(e)?Ui(e):Vi(e,{})},getterFor:function(e){return function(t){var i;if(!Xi(t)||(i=Ui(t)).type!==e)throw on("Incompatible receiver, "+e+" required");return i}}},dn={},un={},hn={}.propertyIsEnumerable,pn=Object.getOwnPropertyDescriptor,mn=pn&&!hn.call({1:2},1);un.f=mn?function(e){var t=pn(this,e);return!!t&&t.enumerable}:hn;var _n=Ne,fn=Be,gn=un,Tn=Ji,En=R,Sn=Et,In=W,yn=Ve,vn=Object.getOwnPropertyDescriptor;dn.f=_n?vn:function(e,t){if(e=En(e),t=Sn(t),yn)try{return vn(e,t)}catch(n){}if(In(e,t))return Tn(!fn(gn.f,e,t),e[t])};var An={},Rn={get exports(){return An},set exports(e){An=e}},Cn=Ne,bn=W,kn=Function.prototype,Nn=Cn&&Object.getOwnPropertyDescriptor,Dn=bn(kn,"name"),On={EXISTS:Dn,PROPER:Dn&&"something"===function(){}.name,CONFIGURABLE:Dn&&(!Cn||Cn&&Nn(kn,"name").configurable)},wn=Se,Pn=M,Ln=l(Function.toString);wn(Pn.inspectSource)||(Pn.inspectSource=function(e){return Ln(e)});var Mn=Pn.inspectSource,xn=l,Vn=n,Un=Se,Fn=W,Bn=Ne,Hn=On.CONFIGURABLE,jn=Mn,Gn=ln.enforce,Wn=ln.get,Jn=String,zn=Object.defineProperty,Kn=xn("".slice),qn=xn("".replace),Yn=xn([].join),Qn=Bn&&!Vn((function(){return 8!==zn((function(){}),"length",{value:8}).length})),Xn=String(String).split("String"),$n=Rn.exports=function(e,t,i){"Symbol("===Kn(Jn(t),0,7)&&(t="["+qn(Jn(t),/^Symbol\(([^)]*)\)/,"$1")+"]"),i&&i.getter&&(t="get "+t),i&&i.setter&&(t="set "+t),(!Fn(e,"name")||Hn&&e.name!==t)&&(Bn?zn(e,"name",{value:t,configurable:!0}):e.name=t),Qn&&i&&Fn(i,"arity")&&e.length!==i.arity&&zn(e,"length",{value:i.arity});try{i&&Fn(i,"constructor")&&i.constructor?Bn&&zn(e,"prototype",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(o){}var n=Gn(e);return Fn(n,"source")||(n.source=Yn(Xn,"string"==typeof t?t:"")),e};Function.prototype.toString=$n((function(){return Un(this)&&Wn(this).source||jn(this)}),"toString");var Zn=Se,er=Oe,tr=An,ir=w,nr=function(e,t,i,n){n||(n={});var r=n.enumerable,o=void 0!==n.name?n.name:t;if(Zn(i)&&tr(i,o,n),n.global)r?e[t]=i:ir(t,i);else{try{n.unsafe?e[t]&&(r=!0):delete e[t]}catch(a){}r?e[t]=i:er.f(e,t,{value:i,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return e},rr={},or=ii,sr=ni.concat("length","prototype");rr.f=Object.getOwnPropertyNames||function(e){return or(e,sr)};var ar={};ar.f=Object.getOwnPropertySymbols;var cr,lr,dr,ur=Ge,hr=rr,pr=ar,mr=be,_r=l([].concat),fr=ur("Reflect","ownKeys")||function(e){var t=hr.f(mr(e)),i=pr.f;return i?_r(t,i(e)):t},gr=W,Tr=fr,Er=dn,Sr=Oe,Ir=function(e,t,i){for(var n=Tr(t),r=Sr.f,o=Er.f,s=0;s=t.length?(e.target=void 0,Xo(void 0,!0)):Xo("keys"==i?n:"values"==i?t[n]:[n,t[n]],!1)}),"values"),ns=Ko.Arguments=Ko.Array;if(zo("keys"),zo("values"),zo("entries"),$o&&"values"!==ns.name)try{Yo(ns,"name",{value:"values"})}catch(IU){}var rs={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},os=Me("span").classList,ss=os&&os.constructor&&os.constructor.prototype,as=ss===Object.prototype?void 0:ss,cs=b,ls=rs,ds=as,us=is,hs=qi,ps=fe,ms=ps("iterator"),_s=ps("toStringTag"),fs=us.values,gs=function(e,t){if(e){if(e[ms]!==fs)try{hs(e,ms,fs)}catch(IU){e[ms]=fs}if(e[_s]||hs(e,_s,t),ls[t])for(var i in us)if(e[i]!==us[i])try{hs(e,i,us[i])}catch(IU){e[i]=us[i]}}};for(var Ts in ls)gs(cs[Ts]&&cs[Ts].prototype,Ts);gs(ds,"DOMTokenList");var Es="undefined"!=typeof process&&"process"==p(process),Ss=An,Is=Oe,ys=function(e,t,i){return i.get&&Ss(i.get,t,{getter:!0}),i.set&&Ss(i.set,t,{setter:!0}),Is.f(e,t,i)},vs=Ge,As=ys,Rs=Ne,Cs=fe("species"),bs=function(e){var t=vs(e);Rs&&t&&!t[Cs]&&As(t,Cs,{configurable:!0,get:function(){return this}})},ks=We,Ns=TypeError,Ds=function(e,t){if(ks(t,e))return e;throw Ns("Incorrect invocation")},Os={};Os[fe("toStringTag")]="z";var ws="[object z]"===String(Os),Ps=Se,Ls=p,Ms=fe("toStringTag"),xs=Object,Vs="Arguments"==Ls(function(){return arguments}()),Us=ws?Ls:function(e){var t,i,n;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,t){try{return e[t]}catch(IU){}}(t=xs(e),Ms))?i:Vs?Ls(t):"Object"==(n=Ls(t))&&Ps(t.callee)?"Arguments":n},Fs=l,Bs=n,Hs=Se,js=Us,Gs=Mn,Ws=function(){},Js=[],zs=Ge("Reflect","construct"),Ks=/^\s*(?:class|function)\b/,qs=Fs(Ks.exec),Ys=!Ks.exec(Ws),Qs=function(e){if(!Hs(e))return!1;try{return zs(Ws,Js,e),!0}catch(IU){return!1}},Xs=function(e){if(!Hs(e))return!1;switch(js(e)){case"AsyncFunction":case"GeneratorFunction":case"AsyncGeneratorFunction":return!1}try{return Ys||!!qs(Ks,Gs(e))}catch(IU){return!0}};Xs.sham=!0;var $s,Zs,ea,ta,ia=!zs||Bs((function(){var e;return Qs(Qs.call)||!Qs(Object)||!Qs((function(){e=!0}))||e}))?Xs:Qs,na=ia,ra=Xe,oa=TypeError,sa=function(e){if(na(e))return e;throw oa(ra(e)+" is not a constructor")},aa=be,ca=sa,la=E,da=fe("species"),ua=function(e,t){var i,n=aa(e).constructor;return void 0===n||la(i=aa(n)[da])?t:ca(i)},ha=r,pa=Function.prototype,ma=pa.apply,_a=pa.call,fa="object"==typeof Reflect&&Reflect.apply||(ha?_a.bind(ma):function(){return _a.apply(ma,arguments)}),ga=p,Ta=l,Ea=function(e){if("Function"===ga(e))return Ta(e)},Sa=tt,Ia=r,ya=Ea(Ea.bind),va=function(e,t){return Sa(e),void 0===t?e:Ia?ya(e,t):function(){return e.apply(t,arguments)}},Aa=l([].slice),Ra=TypeError,Ca=function(e,t){if(eo;o++)if((a=g(e[o]))&&Ed(Rd,a))return a;return new Ad(!1)}n=Sd(e,r)}for(c=h?e.next:n.next;!(l=md(c,n)).done;){try{a=g(l.value)}catch(IU){yd(n,"throw",IU)}if("object"==typeof a&&a&&Ed(Rd,a))return a}return new Ad(!1)},bd=fe("iterator"),kd=!1;try{var Nd=0,Dd={next:function(){return{done:!!Nd++}},return:function(){kd=!0}};Dd[bd]=function(){return this},Array.from(Dd,(function(){throw 2}))}catch(IU){}var Od=function(e,t){if(!t&&!kd)return!1;var i=!1;try{var n={};n[bd]=function(){return{next:function(){return{done:i=!0}}}},e(n)}catch(IU){}return i},wd=Nc,Pd=Jc.CONSTRUCTOR||!Od((function(e){wd.all(e).then(void 0,(function(){}))})),Ld=Be,Md=tt,xd=zc,Vd=kc,Ud=Cd;Ur({target:"Promise",stat:!0,forced:Pd},{all:function(e){var t=this,i=xd.f(t),n=i.resolve,r=i.reject,o=Vd((function(){var i=Md(t.resolve),o=[],s=0,a=1;Ud(e,(function(e){var c=s++,l=!1;a++,Ld(i,t,e).then((function(e){l||(l=!0,o[c]=e,--a||n(o))}),r)})),--a||n(o)}));return o.error&&r(o.value),i.promise}});var Fd=Ur,Bd=Jc.CONSTRUCTOR,Hd=Nc,jd=Ge,Gd=Se,Wd=nr,Jd=Hd&&Hd.prototype;if(Fd({target:"Promise",proto:!0,forced:Bd,real:!0},{catch:function(e){return this.then(void 0,e)}}),Gd(Hd)){var zd=jd("Promise").prototype.catch;Jd.catch!==zd&&Wd(Jd,"catch",zd,{unsafe:!0})}var Kd=Be,qd=tt,Yd=zc,Qd=kc,Xd=Cd;Ur({target:"Promise",stat:!0,forced:Pd},{race:function(e){var t=this,i=Yd.f(t),n=i.reject,r=Qd((function(){var r=qd(t.resolve);Xd(e,(function(e){Kd(r,t,e).then(i.resolve,n)}))}));return r.error&&n(r.value),i.promise}});var $d=Be,Zd=zc;Ur({target:"Promise",stat:!0,forced:Jc.CONSTRUCTOR},{reject:function(e){var t=Zd.f(this);return $d(t.reject,void 0,e),t.promise}});var eu=be,tu=ve,iu=zc,nu=function(e,t){if(eu(e),tu(t)&&t.constructor===e)return t;var i=iu.f(e);return(0,i.resolve)(t),i.promise},ru=Ur,ou=Jc.CONSTRUCTOR,su=nu;Ge("Promise"),ru({target:"Promise",stat:!0,forced:ou},{resolve:function(e){return su(this,e)}});var au=Se,cu=ve,lu=vo,du=function(e,t,i){var n,r;return lu&&au(n=t.constructor)&&n!==i&&cu(r=n.prototype)&&r!==i.prototype&&lu(e,r),e},uu=ve,hu=p,pu=fe("match"),mu=function(e){var t;return uu(e)&&(void 0!==(t=e[pu])?!!t:"RegExp"==hu(e))},_u=Us,fu=String,gu=function(e){if("Symbol"===_u(e))throw TypeError("Cannot convert a Symbol value to a string");return fu(e)},Tu=be,Eu=function(){var e=Tu(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},Su=Be,Iu=W,yu=We,vu=Eu,Au=RegExp.prototype,Ru=function(e){var t=e.flags;return void 0!==t||"flags"in Au||Iu(e,"flags")||!yu(Au,e)?t:Su(vu,e)},Cu=n,bu=b.RegExp,ku=Cu((function(){var e=bu("a","y");return e.lastIndex=2,null!=e.exec("abcd")})),Nu=ku||Cu((function(){return!bu("a","y").sticky})),Du=ku||Cu((function(){var e=bu("^r","gy");return e.lastIndex=2,null!=e.exec("str")})),Ou={BROKEN_CARET:Du,MISSED_STICKY:Nu,UNSUPPORTED_Y:ku},wu=Oe.f,Pu=n,Lu=b.RegExp,Mu=Pu((function(){var e=Lu(".","s");return!(e.dotAll&&e.exec("\n")&&"s"===e.flags)})),xu=n,Vu=b.RegExp,Uu=xu((function(){var e=Vu("(?b)","g");return"b"!==e.exec("b").groups.a||"bc"!=="b".replace(e,"$c")})),Fu=Ne,Bu=b,Hu=l,ju=Dr,Gu=du,Wu=qi,Ju=rr.f,zu=We,Ku=mu,qu=gu,Yu=Ru,Qu=Ou,Xu=function(e,t,i){i in e||wu(e,i,{configurable:!0,get:function(){return t[i]},set:function(e){t[i]=e}})},$u=nr,Zu=n,eh=W,th=ln.enforce,ih=bs,nh=Mu,rh=Uu,oh=fe("match"),sh=Bu.RegExp,ah=sh.prototype,ch=Bu.SyntaxError,lh=Hu(ah.exec),dh=Hu("".charAt),uh=Hu("".replace),hh=Hu("".indexOf),ph=Hu("".slice),mh=/^\?<[^\s\d!#%&*+<=>@^][^\s!#%&*+<=>@^]*>/,_h=/a/g,fh=/a/g,gh=new sh(_h)!==_h,Th=Qu.MISSED_STICKY,Eh=Qu.UNSUPPORTED_Y,Sh=Fu&&(!gh||Th||nh||rh||Zu((function(){return fh[oh]=!1,sh(_h)!=_h||sh(fh)==fh||"/a/i"!=sh(_h,"i")})));if(ju("RegExp",Sh)){for(var Ih=function(e,t){var i,n,r,o,s,a,c=zu(ah,this),l=Ku(e),d=void 0===t,u=[],h=e;if(!c&&l&&d&&e.constructor===Ih)return e;if((l||zu(ah,e))&&(e=e.source,d&&(t=Yu(h))),e=void 0===e?"":qu(e),t=void 0===t?"":qu(t),h=e,nh&&"dotAll"in _h&&(n=!!t&&hh(t,"s")>-1)&&(t=uh(t,/s/g,"")),i=t,Th&&"sticky"in _h&&(r=!!t&&hh(t,"y")>-1)&&Eh&&(t=uh(t,/y/g,"")),rh&&(o=function(e){for(var t,i=e.length,n=0,r="",o=[],s={},a=!1,c=!1,l=0,d="";n<=i;n++){if("\\"===(t=dh(e,n)))t+=dh(e,++n);else if("]"===t)a=!1;else if(!a)switch(!0){case"["===t:a=!0;break;case"("===t:lh(mh,ph(e,n+1))&&(n+=2,c=!0),r+=t,l++;continue;case">"===t&&c:if(""===d||eh(s,d))throw new ch("Invalid capture group name");s[d]=!0,o[o.length]=[d,l],c=!1,d="";continue}c?d+=t:r+=t}return[r,o]}(e),e=o[0],u=o[1]),s=Gu(sh(e,t),c?this:ah,Ih),(n||r||u.length)&&(a=th(s),n&&(a.dotAll=!0,a.raw=Ih(function(e){for(var t,i=e.length,n=0,r="",o=!1;n<=i;n++)"\\"!==(t=dh(e,n))?o||"."!==t?("["===t?o=!0:"]"===t&&(o=!1),r+=t):r+="[\\s\\S]":r+=t+dh(e,++n);return r}(e),i)),r&&(a.sticky=!0),u.length&&(a.groups=u)),e!==h)try{Wu(s,"source",""===h?"(?:)":h)}catch(IU){}return s},yh=Ju(sh),vh=0;yh.length>vh;)Xu(Ih,sh,yh[vh++]);ah.constructor=Ih,Ih.prototype=ah,$u(Bu,"RegExp",Ih,{constructor:!0})}ih("RegExp");var Ah=Be,Rh=l,Ch=gu,bh=Eu,kh=Ou,Nh=Oi,Dh=ln.get,Oh=Mu,wh=Uu,Ph=k("native-string-replace",String.prototype.replace),Lh=RegExp.prototype.exec,Mh=Lh,xh=Rh("".charAt),Vh=Rh("".indexOf),Uh=Rh("".replace),Fh=Rh("".slice),Bh=function(){var e=/a/,t=/b*/g;return Ah(Lh,e,"a"),Ah(Lh,t,"a"),0!==e.lastIndex||0!==t.lastIndex}(),Hh=kh.BROKEN_CARET,jh=void 0!==/()??/.exec("")[1];(Bh||jh||Hh||Oh||wh)&&(Mh=function(e){var t,i,n,r,o,s,a,c=this,l=Dh(c),d=Ch(e),u=l.raw;if(u)return u.lastIndex=c.lastIndex,t=Ah(Mh,u,d),c.lastIndex=u.lastIndex,t;var h=l.groups,p=Hh&&c.sticky,m=Ah(bh,c),_=c.source,f=0,g=d;if(p&&(m=Uh(m,"y",""),-1===Vh(m,"g")&&(m+="g"),g=Fh(d,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==xh(d,c.lastIndex-1))&&(_="(?: "+_+")",g=" "+g,f++),i=new RegExp("^(?:"+_+")",m)),jh&&(i=new RegExp("^"+_+"$(?!\\s)",m)),Bh&&(n=c.lastIndex),r=Ah(Lh,p?i:c,g),p?r?(r.input=Fh(r.input,f),r[0]=Fh(r[0],f),r.index=c.lastIndex,c.lastIndex+=r[0].length):c.lastIndex=0:Bh&&r&&(c.lastIndex=c.global?r.index+r[0].length:n),jh&&r&&r.length>1&&Ah(Ph,r[0],i,(function(){for(o=1;oT;T++)if((a||T in _)&&(p=f(h=_[T],T,m),e))if(t)S[T]=p;else if(p)switch(e){case 3:return!0;case 5:return h;case 6:return T;case 2:np(S,h)}else switch(e){case 4:return!1;case 7:np(S,h)}return o?-1:n||r?r:S}},op={forEach:rp(0),map:rp(1),filter:rp(2),some:rp(3),every:rp(4),find:rp(5),findIndex:rp(6),filterReject:rp(7)},sp=n,ap=function(e,t){var i=[][e];return!!i&&sp((function(){i.call(null,t||function(){return 1},1)}))},cp=op.forEach,lp=ap("forEach")?[].forEach:function(e){return cp(this,e,arguments.length>1?arguments[1]:void 0)},dp=b,up=rs,hp=as,pp=lp,mp=qi,_p=function(e){if(e&&e.forEach!==pp)try{mp(e,"forEach",pp)}catch(IU){e.forEach=pp}};for(var fp in up)up[fp]&&_p(dp[fp]&&dp[fp].prototype);_p(hp);var gp=tt,Tp=H,Ep=T,Sp=Wt,Ip=TypeError,yp=function(e){return function(t,i,n,r){gp(i);var o=Tp(t),s=Ep(o),a=Sp(o),c=e?a-1:0,l=e?-1:1;if(n<2)for(;;){if(c in s){r=s[c],c+=l;break}if(c+=l,e?c<0:a<=c)throw Ip("Reduce of empty array with no initial value")}for(;e?c>=0:a>c;c+=l)c in s&&(r=i(r,s[c],c,o));return r}},vp={left:yp(!1),right:yp(!0)}.left;Ur({target:"Array",proto:!0,forced:!Es&&ne>79&&ne<83||!ap("reduce")},{reduce:function(e){var t=arguments.length;return vp(this,e,t,t>1?arguments[1]:void 0)}});var Ap=Ea,Rp=nr,Cp=Gh,bp=n,kp=fe,Np=qi,Dp=kp("species"),Op=RegExp.prototype,wp=l,Pp=Mt,Lp=gu,Mp=y,xp=wp("".charAt),Vp=wp("".charCodeAt),Up=wp("".slice),Fp=function(e){return function(t,i){var n,r,o=Lp(Mp(t)),s=Pp(i),a=o.length;return s<0||s>=a?e?"":void 0:(n=Vp(o,s))<55296||n>56319||s+1===a||(r=Vp(o,s+1))<56320||r>57343?e?xp(o,s):n:e?Up(o,s,s+2):r-56320+(n-55296<<10)+65536}},Bp={codeAt:Fp(!1),charAt:Fp(!0)},Hp=Bp.charAt,jp=l,Gp=H,Wp=Math.floor,Jp=jp("".charAt),zp=jp("".replace),Kp=jp("".slice),qp=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,Yp=/\$([$&'`]|\d{1,2})/g,Qp=function(e,t,i,n,r,o){var s=i+e.length,a=n.length,c=Yp;return void 0!==r&&(r=Gp(r),c=qp),zp(o,c,(function(o,c){var l;switch(Jp(c,0)){case"$":return"$";case"&":return e;case"`":return Kp(t,0,i);case"'":return Kp(t,s);case"<":l=r[Kp(c,1,-1)];break;default:var d=+c;if(0===d)return o;if(d>a){var u=Wp(d/10);return 0===u?o:u<=a?void 0===n[u-1]?Jp(c,1):n[u-1]+Jp(c,1):o}l=n[d-1]}return void 0===l?"":l}))},Xp=Be,$p=be,Zp=Se,em=p,tm=Gh,im=TypeError,nm=fa,rm=Be,om=l,sm=function(e,t,i,n){var r=kp(e),o=!bp((function(){var t={};return t[r]=function(){return 7},7!=""[e](t)})),s=o&&!bp((function(){var t=!1,i=/a/;return"split"===e&&((i={}).constructor={},i.constructor[Dp]=function(){return i},i.flags="",i[r]=/./[r]),i.exec=function(){return t=!0,null},i[r](""),!t}));if(!o||!s||i){var a=Ap(/./[r]),c=t(r,""[e],(function(e,t,i,n,r){var s=Ap(e),c=t.exec;return c===Cp||c===Op.exec?o&&!r?{done:!0,value:a(t,i,n)}:{done:!0,value:s(i,t,n)}:{done:!1}}));Rp(String.prototype,e,c[0]),Rp(Op,r,c[1])}n&&Np(Op[r],"sham",!0)},am=n,cm=be,lm=Se,dm=E,um=Mt,hm=jt,pm=gu,mm=y,_m=function(e,t,i){return t+(i?Hp(e,t).length:1)},fm=rt,gm=Qp,Tm=function(e,t){var i=e.exec;if(Zp(i)){var n=Xp(i,e,t);return null!==n&&$p(n),n}if("RegExp"===em(e))return Xp(tm,e,t);throw im("RegExp#exec called on incompatible receiver")},Em=fe("replace"),Sm=Math.max,Im=Math.min,ym=om([].concat),vm=om([].push),Am=om("".indexOf),Rm=om("".slice),Cm=function(e){return void 0===e?e:String(e)},bm="$0"==="a".replace(/./,"$0"),km=!!/./[Em]&&""===/./[Em]("a","$0"),Nm=!am((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:"7"},e},"7"!=="".replace(e,"$")}));sm("replace",(function(e,t,i){var n=km?"$":"$0";return[function(e,i){var n=mm(this),r=dm(e)?void 0:fm(e,Em);return r?rm(r,e,n,i):rm(t,pm(n),e,i)},function(e,r){var o=cm(this),s=pm(e);if("string"==typeof r&&-1===Am(r,n)&&-1===Am(r,"$<")){var a=i(t,o,s,r);if(a.done)return a.value}var c=lm(r);c||(r=pm(r));var l=o.global;if(l){var d=o.unicode;o.lastIndex=0}for(var u=[];;){var h=Tm(o,s);if(null===h)break;if(vm(u,h),!l)break;""===pm(h[0])&&(o.lastIndex=_m(s,hm(o.lastIndex),d))}for(var p="",m=0,_=0;_=m&&(p+=Rm(s,m,g)+y,m=g+f.length)}return p+Rm(s,m)}]}),!Nm||!bm||km);var Dm=Yt.includes,Om=Bi;Ur({target:"Array",proto:!0,forced:n((function(){return!Array(1).includes()}))},{includes:function(e){return Dm(this,e,arguments.length>1?arguments[1]:void 0)}}),Om("includes");var wm=Mt,Pm=gu,Lm=y,Mm=RangeError,xm=l,Vm=jt,Um=gu,Fm=function(e){var t=Pm(Lm(this)),i="",n=wm(e);if(n<0||1/0==n)throw Mm("Wrong number of repetitions");for(;n>0;(n>>>=1)&&(t+=t))1&n&&(i+=t);return i},Bm=y,Hm=xm(Fm),jm=xm("".slice),Gm=Math.ceil,Wm=function(e){return function(t,i,n){var r,o,s=Um(Bm(t)),a=Vm(i),c=s.length,l=void 0===n?" ":Um(n);return a<=c||""==l?s:((o=Hm(l,Gm((r=a-c)/l.length))).length>r&&(o=jm(o,0,r)),e?s+o:o+s)}},Jm={start:Wm(!1),end:Wm(!0)},zm=/Version\/10(?:\.\d+){1,2}(?: [\w./]+)?(?: Mobile\/\w+)? Safari\//.test(Q),Km=Jm.start;Ur({target:"String",proto:!0,forced:zm},{padStart:function(e){return Km(this,e,arguments.length>1?arguments[1]:void 0)}});var qm=n,Ym=Ne,Qm=fe("iterator"),Xm=!qm((function(){var e=new URL("b?a=1&b=2&c=3","http://a"),t=e.searchParams,i="";return e.pathname="c%20d",t.forEach((function(e,n){t.delete("b"),i+=n+e})),!t.size&&!Ym||!t.sort||"http://a/c%20d?a=1&c=3"!==e.href||"3"!==t.get("c")||"a=1"!==String(new URLSearchParams("?a=1"))||!t[Qm]||"a"!==new URL("https://a@b").username||"b"!==new URLSearchParams(new URLSearchParams("a=b")).get("a")||"xn--e1aybc"!==new URL("http://тест").host||"#%D0%B1"!==new URL("http://a#б").hash||"a1c3"!==i||"x"!==new URL("http://x",void 0).host})),$m=nr,Zm=function(e,t,i){for(var n in t)$m(e,n,t[n],i);return e},e_=Et,t_=Oe,i_=Ji,n_=function(e,t,i){var n=e_(t);n in e?t_.f(e,n,i_(0,i)):e[n]=i},r_=Ft,o_=Wt,s_=n_,a_=Array,c_=Math.max,l_=function(e,t,i){for(var n=o_(e),r=r_(t,n),o=r_(void 0===i?n:i,n),s=a_(c_(o-r,0)),a=0;r0;)e[n]=e[--n];n!==o++&&(e[n]=i)}return e},m_=function(e,t,i,n){for(var r=t.length,o=i.length,s=0,a=0;s0?arguments[0]:void 0));S_||(this.length=e.entries.length)},Cf=Rf.prototype;if(A_(Cf,{append:function(e,t){B_(arguments.length,2);var i=z_(this);cf(i.entries,{key:M_(e),value:M_(t)}),S_||this.length++,i.updateURL()},delete:function(e){B_(arguments.length,1);for(var t=z_(this),i=t.entries,n=M_(e),r=0;rt.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,i=z_(this).entries,n=O_(e,arguments.length>1?arguments[1]:void 0),r=0;r1?Nf(arguments[1]):{})}}),N_(X_)){var Df=function(e){return k_(this,Z_),new X_(e,arguments.length>1?Nf(arguments[1]):{})};Z_.constructor=Df,Df.prototype=Z_,f_({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Df})}}var Of={URLSearchParams:Rf,getState:z_},wf="\t\n\v\f\r                 \u2028\u2029\ufeff",Pf=y,Lf=gu,Mf=wf,xf=l("".replace),Vf=RegExp("^["+Mf+"]+"),Uf=RegExp("(^|[^"+Mf+"])["+Mf+"]+$"),Ff=function(e){return function(t){var i=Lf(Pf(t));return 1&e&&(i=xf(i,Vf,"")),2&e&&(i=xf(i,Uf,"$1")),i}},Bf={start:Ff(1),end:Ff(2),trim:Ff(3)},Hf=On.PROPER,jf=n,Gf=wf,Wf=Bf.trim;Ur({target:"String",proto:!0,forced:function(e){return jf((function(){return!!Gf[e]()||"​…᠎"!=="​…᠎"[e]()||Hf&&Gf[e].name!==e}))}("trim")},{trim:function(){return Wf(this)}});var Jf=Ur,zf=Ne,Kf=l,qf=W,Yf=Se,Qf=We,Xf=gu,$f=ys,Zf=Ir,eg=b.Symbol,tg=eg&&eg.prototype;if(zf&&Yf(eg)&&(!("description"in tg)||void 0!==eg().description)){var ig={},ng=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:Xf(arguments[0]),t=Qf(tg,this)?new eg(e):void 0===e?eg():eg(e);return""===e&&(ig[t]=!0),t};Zf(ng,eg),ng.prototype=tg,tg.constructor=ng;var rg="Symbol(test)"==String(eg("test")),og=Kf(tg.valueOf),sg=Kf(tg.toString),ag=/^Symbol\((.*)\)[^)]+$/,cg=Kf("".replace),lg=Kf("".slice);$f(tg,"description",{configurable:!0,get:function(){var e=og(this);if(qf(ig,e))return"";var t=sg(e),i=rg?lg(t,7,-1):cg(t,ag,"$1");return""===i?void 0:i}}),Jf({global:!0,constructor:!0,forced:!0},{Symbol:ng})}var dg=Bp.charAt,ug=gu,hg=ln,pg=Go,mg=Wo,_g="String Iterator",fg=hg.set,gg=hg.getterFor(_g);pg(String,"String",(function(e){fg(this,{type:_g,string:ug(e),index:0})}),(function(){var e,t=gg(this),i=t.string,n=t.index;return n>=i.length?mg(void 0,!0):(e=dg(i,n),t.index+=e.length,mg(e,!1))}));var Tg,Eg=Ne,Sg=l,Ig=Be,yg=n,vg=si,Ag=ar,Rg=un,Cg=H,bg=T,kg=Object.assign,Ng=Object.defineProperty,Dg=Sg([].concat),Og=!kg||yg((function(){if(Eg&&1!==kg({b:1},kg(Ng({},"a",{enumerable:!0,get:function(){Ng(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},i=Symbol(),n="abcdefghijklmnopqrst";return e[i]=7,n.split("").forEach((function(e){t[e]=e})),7!=kg({},e)[i]||vg(kg({},t)).join("")!=n}))?function(e,t){for(var i=Cg(e),n=arguments.length,r=1,o=Ag.f,s=Rg.f;n>r;)for(var a,c=bg(arguments[r++]),l=o?Dg(vg(c),o(c)):vg(c),d=l.length,u=0;d>u;)a=l[u++],Eg&&!Ig(s,c,a)||(i[a]=c[a]);return i}:kg,wg=be,Pg=hd,Lg=va,Mg=Be,xg=H,Vg=function(e,t,i,n){try{return n?t(wg(i)[0],i[1]):t(i)}catch(IU){Pg(e,"throw",IU)}},Ug=Yl,Fg=ia,Bg=Wt,Hg=n_,jg=cd,Gg=td,Wg=Array,Jg=l,zg=2147483647,Kg=/[^\0-\u007E]/,qg=/[.\u3002\uFF0E\uFF61]/g,Yg="Overflow: input needs wider integers to process",Qg=RangeError,Xg=Jg(qg.exec),$g=Math.floor,Zg=String.fromCharCode,eT=Jg("".charCodeAt),tT=Jg([].join),iT=Jg([].push),nT=Jg("".replace),rT=Jg("".split),oT=Jg("".toLowerCase),sT=function(e){return e+22+75*(e<26)},aT=function(e,t,i){var n=0;for(e=i?$g(e/700):e>>1,e+=$g(e/t);e>455;)e=$g(e/35),n+=36;return $g(n+36*e/(e+38))},cT=function(e){var t=[];e=function(e){for(var t=[],i=0,n=e.length;i=55296&&r<=56319&&i=o&&n$g((zg-s)/u))throw Qg(Yg);for(s+=(d-o)*u,o=d,i=0;izg)throw Qg(Yg);if(n==o){for(var h=s,p=36;;){var m=p<=a?1:p>=a+26?26:p-a;if(h1?arguments[1]:void 0,o=void 0!==r;o&&(r=Lg(r,n>2?arguments[2]:void 0));var s,a,c,l,d,u,h=Gg(t),p=0;if(!h||this===Wg&&Ug(h))for(s=Bg(t),a=i?new this(s):Wg(s);s>p;p++)u=o?r(t[p],p):t[p],Hg(a,p,u);else for(d=(l=jg(t,h)).next,a=i?new this:[];!(c=Mg(d,l)).done;p++)u=o?Vg(l,r,[c.value,p],!0):c.value,Hg(a,p,u);return a.length=p,a},IT=l_,yT=Bp.codeAt,vT=function(e){var t,i,n=[],r=rT(nT(oT(e),qg,"."),".");for(t=0;t?@[\\\]^|]/,aE=/[\0\t\n\r #/:<>?@[\\\]^|]/,cE=/^[\u0000-\u0020]+/,lE=/(^|[^\u0000-\u0020])[\u0000-\u0020]+$/,dE=/[\t\n\r]/g,uE=function(e){var t,i,n,r;if("number"==typeof e){for(t=[],i=0;i<4;i++)YT(t,e%256),e=xT(e/256);return BT(t,".")}if("object"==typeof e){for(t="",n=function(e){for(var t=null,i=1,n=null,r=0,o=0;o<8;o++)0!==e[o]?(r>i&&(t=n,i=r),n=null,r=0):(null===n&&(n=o),++r);return r>i&&(t=n,i=r),t}(e),i=0;i<8;i++)r&&0===e[i]||(r&&(r=!1),n===i?(t+=i?":":"::",r=!0):(t+=HT(e[i],16),i<7&&(t+=":")));return"["+t+"]"}return e},hE={},pE=ET({},hE,{" ":1,'"':1,"<":1,">":1,"`":1}),mE=ET({},pE,{"#":1,"?":1,"{":1,"}":1}),_E=ET({},mE,{"/":1,":":1,";":1,"=":1,"@":1,"[":1,"\\":1,"]":1,"^":1,"|":1}),fE=function(e,t){var i=yT(e,0);return i>32&&i<127&&!TT(t,e)?e:encodeURIComponent(e)},gE={ftp:21,file:null,http:80,https:443,ws:80,wss:443},TE=function(e,t){var i;return 2==e.length&&FT(ZT,UT(e,0))&&(":"==(i=UT(e,1))||!t&&"|"==i)},EE=function(e){var t;return e.length>1&&TE(KT(e,0,2))&&(2==e.length||"/"===(t=UT(e,2))||"\\"===t||"?"===t||"#"===t)},SE=function(e){return"."===e||"%2e"===qT(e)},IE={},yE={},vE={},AE={},RE={},CE={},bE={},kE={},NE={},DE={},OE={},wE={},PE={},LE={},ME={},xE={},VE={},UE={},FE={},BE={},HE={},jE=function(e,t,i){var n,r,o,s=AT(e);if(t){if(r=this.parse(s))throw LT(r);this.searchParams=null}else{if(void 0!==i&&(n=new jE(i,!0)),r=this.parse(s,null,n))throw LT(r);(o=wT(new OT)).bindURL(this),this.searchParams=o}};jE.prototype={type:"URL",parse:function(e,t,i){var n,r,o,s,a,c=this,l=t||IE,d=0,u="",h=!1,p=!1,m=!1;for(e=AT(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=WT(e,cE,""),e=WT(e,lE,"$1")),e=WT(e,dE,""),n=ST(e);d<=n.length;){switch(r=n[d],l){case IE:if(!r||!FT(ZT,r)){if(t)return QT;l=vE;continue}u+=qT(r),l=yE;break;case yE:if(r&&(FT(eE,r)||"+"==r||"-"==r||"."==r))u+=qT(r);else{if(":"!=r){if(t)return QT;u="",l=vE,d=0;continue}if(t&&(c.isSpecial()!=TT(gE,u)||"file"==u&&(c.includesCredentials()||null!==c.port)||"file"==c.scheme&&!c.host))return;if(c.scheme=u,t)return void(c.isSpecial()&&gE[c.scheme]==c.port&&(c.port=null));u="","file"==c.scheme?l=LE:c.isSpecial()&&i&&i.scheme==c.scheme?l=AE:c.isSpecial()?l=kE:"/"==n[d+1]?(l=RE,d++):(c.cannotBeABaseURL=!0,GT(c.path,""),l=FE)}break;case vE:if(!i||i.cannotBeABaseURL&&"#"!=r)return QT;if(i.cannotBeABaseURL&&"#"==r){c.scheme=i.scheme,c.path=IT(i.path),c.query=i.query,c.fragment="",c.cannotBeABaseURL=!0,l=HE;break}l="file"==i.scheme?LE:CE;continue;case AE:if("/"!=r||"/"!=n[d+1]){l=CE;continue}l=NE,d++;break;case RE:if("/"==r){l=DE;break}l=UE;continue;case CE:if(c.scheme=i.scheme,r==Tg)c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=IT(i.path),c.query=i.query;else if("/"==r||"\\"==r&&c.isSpecial())l=bE;else if("?"==r)c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=IT(i.path),c.query="",l=BE;else{if("#"!=r){c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=IT(i.path),c.path.length--,l=UE;continue}c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=IT(i.path),c.query=i.query,c.fragment="",l=HE}break;case bE:if(!c.isSpecial()||"/"!=r&&"\\"!=r){if("/"!=r){c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,l=UE;continue}l=DE}else l=NE;break;case kE:if(l=NE,"/"!=r||"/"!=UT(u,d+1))continue;d++;break;case NE:if("/"!=r&&"\\"!=r){l=DE;continue}break;case DE:if("@"==r){h&&(u="%40"+u),h=!0,o=ST(u);for(var _=0;_65535)return $T;c.port=c.isSpecial()&&T===gE[c.scheme]?null:T,u=""}if(t)return;l=VE;continue}return $T}u+=r;break;case LE:if(c.scheme="file","/"==r||"\\"==r)l=ME;else{if(!i||"file"!=i.scheme){l=UE;continue}if(r==Tg)c.host=i.host,c.path=IT(i.path),c.query=i.query;else if("?"==r)c.host=i.host,c.path=IT(i.path),c.query="",l=BE;else{if("#"!=r){EE(BT(IT(n,d),""))||(c.host=i.host,c.path=IT(i.path),c.shortenPath()),l=UE;continue}c.host=i.host,c.path=IT(i.path),c.query=i.query,c.fragment="",l=HE}}break;case ME:if("/"==r||"\\"==r){l=xE;break}i&&"file"==i.scheme&&!EE(BT(IT(n,d),""))&&(TE(i.path[0],!0)?GT(c.path,i.path[0]):c.host=i.host),l=UE;continue;case xE:if(r==Tg||"/"==r||"\\"==r||"?"==r||"#"==r){if(!t&&TE(u))l=UE;else if(""==u){if(c.host="",t)return;l=VE}else{if(s=c.parseHost(u))return s;if("localhost"==c.host&&(c.host=""),t)return;u="",l=VE}continue}u+=r;break;case VE:if(c.isSpecial()){if(l=UE,"/"!=r&&"\\"!=r)continue}else if(t||"?"!=r)if(t||"#"!=r){if(r!=Tg&&(l=UE,"/"!=r))continue}else c.fragment="",l=HE;else c.query="",l=BE;break;case UE:if(r==Tg||"/"==r||"\\"==r&&c.isSpecial()||!t&&("?"==r||"#"==r)){if(".."===(a=qT(a=u))||"%2e."===a||".%2e"===a||"%2e%2e"===a?(c.shortenPath(),"/"==r||"\\"==r&&c.isSpecial()||GT(c.path,"")):SE(u)?"/"==r||"\\"==r&&c.isSpecial()||GT(c.path,""):("file"==c.scheme&&!c.path.length&&TE(u)&&(c.host&&(c.host=""),u=UT(u,0)+":"),GT(c.path,u)),u="","file"==c.scheme&&(r==Tg||"?"==r||"#"==r))for(;c.path.length>1&&""===c.path[0];)JT(c.path);"?"==r?(c.query="",l=BE):"#"==r&&(c.fragment="",l=HE)}else u+=fE(r,mE);break;case FE:"?"==r?(c.query="",l=BE):"#"==r?(c.fragment="",l=HE):r!=Tg&&(c.path[0]+=fE(r,hE));break;case BE:t||"#"!=r?r!=Tg&&("'"==r&&c.isSpecial()?c.query+="%27":c.query+="#"==r?"%23":fE(r,hE)):(c.fragment="",l=HE);break;case HE:r!=Tg&&(c.fragment+=fE(r,pE))}d++}},parseHost:function(e){var t,i,n;if("["==UT(e,0)){if("]"!=UT(e,e.length-1))return XT;if(t=function(e){var t,i,n,r,o,s,a,c=[0,0,0,0,0,0,0,0],l=0,d=null,u=0,h=function(){return UT(e,u)};if(":"==h()){if(":"!=UT(e,1))return;u+=2,d=++l}for(;h();){if(8==l)return;if(":"!=h()){for(t=i=0;i<4&&FT(oE,h());)t=16*t+MT(h(),16),u++,i++;if("."==h()){if(0==i)return;if(u-=i,l>6)return;for(n=0;h();){if(r=null,n>0){if(!("."==h()&&n<4))return;u++}if(!FT(tE,h()))return;for(;FT(tE,h());){if(o=MT(h(),10),null===r)r=o;else{if(0==r)return;r=10*r+o}if(r>255)return;u++}c[l]=256*c[l]+r,2!=++n&&4!=n||l++}if(4!=n)return;break}if(":"==h()){if(u++,!h())return}else if(h())return;c[l++]=t}else{if(null!==d)return;u++,d=++l}}if(null!==d)for(s=l-d,l=7;0!=l&&s>0;)a=c[l],c[l--]=c[d+s-1],c[d+--s]=a;else if(8!=l)return;return c}(KT(e,1,-1)),!t)return XT;this.host=t}else if(this.isSpecial()){if(e=vT(e),FT(sE,e))return XT;if(t=function(e){var t,i,n,r,o,s,a,c=zT(e,".");if(c.length&&""==c[c.length-1]&&c.length--,(t=c.length)>4)return e;for(i=[],n=0;n1&&"0"==UT(r,0)&&(o=FT(iE,r)?16:8,r=KT(r,8==o?1:2)),""===r)s=0;else{if(!FT(10==o?rE:8==o?nE:oE,r))return e;s=MT(r,o)}GT(i,s)}for(n=0;n=VT(256,5-t))return null}else if(s>255)return null;for(a=jT(i),n=0;n1?arguments[1]:void 0,n=NT(t,new jE(e,!1,i));dT||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},WE=GE.prototype,JE=function(e,t){return{get:function(){return DT(this)[e]()},set:t&&function(e){return DT(this)[t](e)},configurable:!0,enumerable:!0}};if(dT&&(fT(WE,"href",JE("serialize","setHref")),fT(WE,"origin",JE("getOrigin")),fT(WE,"protocol",JE("getProtocol","setProtocol")),fT(WE,"username",JE("getUsername","setUsername")),fT(WE,"password",JE("getPassword","setPassword")),fT(WE,"host",JE("getHost","setHost")),fT(WE,"hostname",JE("getHostname","setHostname")),fT(WE,"port",JE("getPort","setPort")),fT(WE,"pathname",JE("getPathname","setPathname")),fT(WE,"search",JE("getSearch","setSearch")),fT(WE,"searchParams",JE("getSearchParams")),fT(WE,"hash",JE("getHash","setHash"))),_T(WE,"toJSON",(function(){return DT(this).serialize()}),{enumerable:!0}),_T(WE,"toString",(function(){return DT(this).serialize()}),{enumerable:!0}),PT){var zE=PT.createObjectURL,KE=PT.revokeObjectURL;zE&&_T(GE,"createObjectURL",pT(zE,PT)),KE&&_T(GE,"revokeObjectURL",pT(KE,PT))}RT(GE,"URL"),lT({global:!0,constructor:!0,forced:!uT,sham:!dT},{URL:GE});var qE="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof DataView,YE=Mt,QE=jt,XE=RangeError,$E=function(e){if(void 0===e)return 0;var t=YE(e),i=QE(t);if(t!==i)throw XE("Wrong length or index");return i},ZE=Array,eS=Math.abs,tS=Math.pow,iS=Math.floor,nS=Math.log,rS=Math.LN2,oS={pack:function(e,t,i){var n,r,o,s=ZE(i),a=8*i-t-1,c=(1<>1,d=23===t?tS(2,-24)-tS(2,-77):0,u=e<0||0===e&&1/e<0?1:0,h=0;for((e=eS(e))!=e||1/0===e?(r=e!=e?1:0,n=c):(n=iS(nS(e)/rS),e*(o=tS(2,-n))<1&&(n--,o*=2),(e+=n+l>=1?d/o:d*tS(2,1-l))*o>=2&&(n++,o/=2),n+l>=c?(r=0,n=c):n+l>=1?(r=(e*o-1)*tS(2,t),n+=l):(r=e*tS(2,l-1)*tS(2,t),n=0));t>=8;)s[h++]=255&r,r/=256,t-=8;for(n=n<0;)s[h++]=255&n,n/=256,a-=8;return s[--h]|=128*u,s},unpack:function(e,t){var i,n=e.length,r=8*n-t-1,o=(1<>1,a=r-7,c=n-1,l=e[c--],d=127&l;for(l>>=7;a>0;)d=256*d+e[c--],a-=8;for(i=d&(1<<-a)-1,d>>=-a,a+=t;a>0;)i=256*i+e[c--],a-=8;if(0===d)d=1-s;else{if(d===o)return i?NaN:l?-1/0:1/0;i+=tS(2,t),d-=s}return(l?-1:1)*i*tS(2,d-t)}},sS=H,aS=Ft,cS=Wt,lS=function(e){for(var t=sS(this),i=cS(t),n=arguments.length,r=aS(n>1?arguments[1]:void 0,i),o=n>2?arguments[2]:void 0,s=void 0===o?i:aS(o,i);s>r;)t[r++]=e;return t},dS=b,uS=l,hS=Ne,pS=qE,mS=On,_S=qi,fS=ys,gS=Zm,TS=n,ES=Ds,SS=Mt,IS=jt,yS=$E,vS=oS,AS=Kr,RS=vo,CS=rr.f,bS=lS,kS=l_,NS=so,DS=ln,OS=mS.PROPER,wS=mS.CONFIGURABLE,PS="ArrayBuffer",LS="DataView",MS="prototype",xS="Wrong index",VS=DS.getterFor(PS),US=DS.getterFor(LS),FS=DS.set,BS=dS[PS],HS=BS,jS=HS&&HS[MS],GS=dS[LS],WS=GS&&GS[MS],JS=Object.prototype,zS=dS.Array,KS=dS.RangeError,qS=uS(bS),YS=uS([].reverse),QS=vS.pack,XS=vS.unpack,$S=function(e){return[255&e]},ZS=function(e){return[255&e,e>>8&255]},eI=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},tI=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},iI=function(e){return QS(e,23,4)},nI=function(e){return QS(e,52,8)},rI=function(e,t,i){fS(e[MS],t,{configurable:!0,get:function(){return i(this)[t]}})},oI=function(e,t,i,n){var r=yS(i),o=US(e);if(r+t>o.byteLength)throw KS(xS);var s=o.bytes,a=r+o.byteOffset,c=kS(s,a,a+t);return n?c:YS(c)},sI=function(e,t,i,n,r,o){var s=yS(i),a=US(e);if(s+t>a.byteLength)throw KS(xS);for(var c=a.bytes,l=s+a.byteOffset,d=n(+r),u=0;udI;)(cI=lI[dI++])in HS||_S(HS,cI,BS[cI]);jS.constructor=HS}RS&&AS(WS)!==JS&&RS(WS,JS);var uI=new GS(new HS(2)),hI=uS(WS.setInt8);uI.setInt8(0,2147483648),uI.setInt8(1,2147483649),!uI.getInt8(0)&&uI.getInt8(1)||gS(WS,{setInt8:function(e,t){hI(this,e,t<<24>>24)},setUint8:function(e,t){hI(this,e,t<<24>>24)}},{unsafe:!0})}else jS=(HS=function(e){ES(this,jS);var t=yS(e);FS(this,{type:PS,bytes:qS(zS(t),0),byteLength:t}),hS||(this.byteLength=t,this.detached=!1)})[MS],WS=(GS=function(e,t,i){ES(this,WS),ES(e,jS);var n=VS(e),r=n.byteLength,o=SS(t);if(o<0||o>r)throw KS("Wrong offset");if(o+(i=void 0===i?r-o:IS(i))>r)throw KS("Wrong length");FS(this,{type:LS,buffer:e,byteLength:i,byteOffset:o,bytes:n.bytes}),hS||(this.buffer=e,this.byteLength=i,this.byteOffset=o)})[MS],hS&&(rI(HS,"byteLength",VS),rI(GS,"buffer",US),rI(GS,"byteLength",US),rI(GS,"byteOffset",US)),gS(WS,{getInt8:function(e){return oI(this,1,e)[0]<<24>>24},getUint8:function(e){return oI(this,1,e)[0]},getInt16:function(e){var t=oI(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=oI(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return tI(oI(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return tI(oI(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return XS(oI(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return XS(oI(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){sI(this,1,e,$S,t)},setUint8:function(e,t){sI(this,1,e,$S,t)},setInt16:function(e,t){sI(this,2,e,ZS,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){sI(this,2,e,ZS,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){sI(this,4,e,eI,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){sI(this,4,e,eI,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){sI(this,4,e,iI,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){sI(this,8,e,nI,t,arguments.length>2?arguments[2]:void 0)}});NS(HS,PS),NS(GS,LS);var pI={ArrayBuffer:HS,DataView:GS},mI=bs,_I="ArrayBuffer",fI=pI[_I];Ur({global:!0,constructor:!0,forced:b[_I]!==fI},{ArrayBuffer:fI}),mI(_I);var gI=Ur,TI=Ea,EI=n,SI=be,II=Ft,yI=jt,vI=ua,AI=pI.ArrayBuffer,RI=pI.DataView,CI=RI.prototype,bI=TI(AI.prototype.slice),kI=TI(CI.getUint8),NI=TI(CI.setUint8);gI({target:"ArrayBuffer",proto:!0,unsafe:!0,forced:EI((function(){return!new AI(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(bI&&void 0===t)return bI(SI(this),e);for(var i=SI(this).byteLength,n=II(e,i),r=II(void 0===t?i:t,i),o=new(vI(this,AI))(yI(r-n)),s=new RI(this),a=new RI(o),c=0;n1?arguments[1]:void 0,p=void 0!==h,m=jy(d);if(m&&!Gy(m))for(c=(a=Hy(d,m)).next,d=[];!(s=Vy(c,a)).done;)d.push(s.value);for(p&&u>2&&(h=xy(h,arguments[2])),i=By(d),n=new(Jy(l))(i),r=Wy(n),t=0;i>t;t++)o=p?h(d[t],t):d[t],n[t]=r?zy(o):+o;return n},gv=op.forEach,Tv=bs,Ev=ys,Sv=Oe,Iv=dn,yv=du,vv=ln.get,Av=ln.set,Rv=ln.enforce,Cv=Sv.f,bv=Iv.f,kv=Math.round,Nv=qy.RangeError,Dv=Zy.ArrayBuffer,Ov=Dv.prototype,wv=Zy.DataView,Pv=$y.NATIVE_ARRAY_BUFFER_VIEWS,Lv=$y.TYPED_ARRAY_TAG,Mv=$y.TypedArray,xv=$y.TypedArrayPrototype,Vv=$y.aTypedArrayConstructor,Uv=$y.isTypedArray,Fv="BYTES_PER_ELEMENT",Bv="Wrong length",Hv=function(e,t){Vv(e);for(var i=0,n=t.length,r=new e(n);n>i;)r[i]=t[i++];return r},jv=function(e,t){Ev(e,t,{configurable:!0,get:function(){return vv(this)[t]}})},Gv=function(e){var t;return pv(Ov,e)||"ArrayBuffer"==(t=lv(e))||"SharedArrayBuffer"==t},Wv=function(e,t){return Uv(e)&&!uv(t)&&t in e&&nv(+t)&&t>=0},Jv=function(e,t){return t=av(t),Wv(e,t)?tv(2,e[t]):bv(e,t)},zv=function(e,t,i){return t=av(t),!(Wv(e,t)&&dv(i)&&cv(i,"value"))||cv(i,"get")||cv(i,"set")||i.configurable||cv(i,"writable")&&!i.writable||cv(i,"enumerable")&&!i.enumerable?Cv(e,t,i):(e[t]=i.value,e)};Qy?(Pv||(Iv.f=Jv,Sv.f=zv,jv(xv,"buffer"),jv(xv,"byteOffset"),jv(xv,"byteLength"),jv(xv,"length")),Ky({target:"Object",stat:!0,forced:!Pv},{getOwnPropertyDescriptor:Jv,defineProperty:zv}),LI.exports=function(e,t,i){var n=e.match(/\d+/)[0]/8,r=e+(i?"Clamped":"")+"Array",o="get"+e,s="set"+e,a=qy[r],c=a,l=c&&c.prototype,d={},u=function(e,t){Cv(e,t,{get:function(){return function(e,t){var i=vv(e);return i.view[o](t*n+i.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,r){var o=vv(e);i&&(r=(r=kv(r))<0?0:r>255?255:255&r),o.view[s](t*n+o.byteOffset,r,!0)}(this,t,e)},enumerable:!0})};Pv?Xy&&(c=t((function(e,t,i,r){return ev(e,l),yv(dv(t)?Gv(t)?void 0!==r?new a(t,sv(i,n),r):void 0!==i?new a(t,sv(i,n)):new a(t):Uv(t)?Hv(c,t):Yy(fv,c,t):new a(ov(t)),e,c)})),mv&&mv(c,Mv),gv(_v(a),(function(e){e in c||iv(c,e,a[e])})),c.prototype=l):(c=t((function(e,t,i,r){ev(e,l);var o,s,a,d=0,h=0;if(dv(t)){if(!Gv(t))return Uv(t)?Hv(c,t):Yy(fv,c,t);o=t,h=sv(i,n);var p=t.byteLength;if(void 0===r){if(p%n)throw Nv(Bv);if((s=p-h)<0)throw Nv(Bv)}else if((s=rv(r)*n)+h>p)throw Nv(Bv);a=s/n}else a=ov(t),o=new Dv(s=a*n);for(Av(e,{buffer:o,byteOffset:h,byteLength:s,length:a,view:new wv(o)});d1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),Xv((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var tA=b,iA=Be,nA=fy,rA=Wt,oA=Oy,sA=H,aA=n,cA=tA.RangeError,lA=tA.Int8Array,dA=lA&&lA.prototype,uA=dA&&dA.set,hA=nA.aTypedArray,pA=nA.exportTypedArrayMethod,mA=!aA((function(){var e=new Uint8ClampedArray(2);return iA(uA,e,{length:1,0:3},1),3!==e[1]})),_A=mA&&nA.NATIVE_ARRAY_BUFFER_VIEWS&&aA((function(){var e=new lA(2);return e.set(1),e.set("2",1),0!==e[0]||2!==e[1]}));pA("set",(function(e){hA(this);var t=oA(arguments.length>1?arguments[1]:void 0,1),i=sA(e);if(mA)return iA(uA,this,i,t);var n=this.length,r=rA(i),o=0;if(r+t>n)throw cA("Wrong length");for(;o0&&1/i<0?1:-1:t>i}}(e))}),!LA||PA);var MA=Xe,xA=TypeError,VA=Ur,UA=l,FA=tt,BA=H,HA=Wt,jA=function(e,t){if(!delete e[t])throw xA("Cannot delete property "+MA(t)+" of "+MA(e))},GA=gu,WA=n,JA=__,zA=ap,KA=gA,qA=TA,YA=ne,QA=SA,XA=[],$A=UA(XA.sort),ZA=UA(XA.push),eR=WA((function(){XA.sort(void 0)})),tR=WA((function(){XA.sort(null)})),iR=zA("sort"),nR=!WA((function(){if(YA)return YA<70;if(!(KA&&KA>3)){if(qA)return!0;if(QA)return QA<603;var e,t,i,n,r="";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:i=3;break;case 68:case 71:i=4;break;default:i=2}for(n=0;n<47;n++)XA.push({k:t+n,v:i})}for(XA.sort((function(e,t){return t.v-e.v})),n=0;nGA(i)?1:-1}}(e)),i=HA(r),n=0;ne.length?-1:""===t?i:OR(e,t,i)};TR({target:"String",proto:!0},{replaceAll:function(e,t){var i,n,r,o,s,a,c,l,d=IR(this),u=0,h=0,p="";if(!vR(e)){if(AR(e)&&(i=RR(IR(bR(e))),!~OR(i,"g")))throw DR("`.replaceAll` does not allow non-global regexes");if(n=CR(e,NR))return ER(n,e,d,t)}for(r=RR(d),o=RR(e),(s=yR(t))||(t=RR(t)),a=o.length,c=PR(1,a),u=LR(r,o,0);-1!==u;)l=s?RR(t(o,u,r)):kR(o,r,u,[],void 0,t),p+=wR(r,h,u)+l,h=u+a,u=LR(r,o,u+c);return h=i&&parseInt(n[i],10)}function UR(e,t,i){if(!e.RTCPeerConnection)return;const n=e.RTCPeerConnection.prototype,r=n.addEventListener;n.addEventListener=function(e,n){if(e!==t)return r.apply(this,arguments);const o=e=>{const t=i(e);t&&(n.handleEvent?n.handleEvent(t):n(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(n,o),r.apply(this,[e,o])};const o=n.removeEventListener;n.removeEventListener=function(e,i){if(e!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(i))return o.apply(this,arguments);const n=this._eventMap[t].get(i);return this._eventMap[t].delete(i),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,o.apply(this,[e,n])},Object.defineProperty(n,"on"+t,{get(){return this["_on"+t]},set(e){this["_on"+t]&&(this.removeEventListener(t,this["_on"+t]),delete this["_on"+t]),e&&this.addEventListener(t,this["_on"+t]=e)},enumerable:!0,configurable:!0})}function FR(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(MR=e,e?"adapter.js logging disabled":"adapter.js logging enabled")}function BR(e){return"boolean"!=typeof e?new Error("Argument type: "+typeof e+". Please use a boolean."):(xR=!e,"adapter.js deprecation warnings "+(e?"disabled":"enabled"))}function HR(){if("object"==typeof window){if(MR)return;"undefined"!=typeof console&&"function"==typeof console.log&&console.log.apply(console,arguments)}}function jR(e,t){xR&&console.warn(e+" is deprecated, please use "+t+" instead.")}function GR(e){return"[object Object]"===Object.prototype.toString.call(e)}function WR(e){return GR(e)?Object.keys(e).reduce((function(t,i){const n=GR(e[i]),r=n?WR(e[i]):e[i],o=n&&!Object.keys(r).length;return void 0===r||o?t:Object.assign(t,{[i]:r})}),{}):e}function JR(e,t,i){t&&!i.has(t.id)&&(i.set(t.id,t),Object.keys(t).forEach((n=>{n.endsWith("Id")?JR(e,e.get(t[n]),i):n.endsWith("Ids")&&t[n].forEach((t=>{JR(e,e.get(t),i)}))})))}function zR(e,t,i){const n=i?"outbound-rtp":"inbound-rtp",r=new Map;if(null===t)return r;const o=[];return e.forEach((e=>{"track"===e.type&&e.trackIdentifier===t.id&&o.push(e)})),o.forEach((t=>{e.forEach((i=>{i.type===n&&i.trackId===t.id&&JR(e,i,r)}))})),r}const KR=HR;function qR(e,t){const i=e&&e.navigator;if(!i.mediaDevices)return;const n=function(e){if("object"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach((i=>{if("require"===i||"advanced"===i||"mediaSource"===i)return;const n="object"==typeof e[i]?e[i]:{ideal:e[i]};void 0!==n.exact&&"number"==typeof n.exact&&(n.min=n.max=n.exact);const r=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):"deviceId"===t?"sourceId":t};if(void 0!==n.ideal){t.optional=t.optional||[];let e={};"number"==typeof n.ideal?(e[r("min",i)]=n.ideal,t.optional.push(e),e={},e[r("max",i)]=n.ideal,t.optional.push(e)):(e[r("",i)]=n.ideal,t.optional.push(e))}void 0!==n.exact&&"number"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[r("",i)]=n.exact):["min","max"].forEach((e=>{void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[r(e,i)]=n[e])}))})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},r=function(e,r){if(t.version>=61)return r(e);if((e=JSON.parse(JSON.stringify(e)))&&"object"==typeof e.audio){const t=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,"autoGainControl","googAutoGainControl"),t(e.audio,"noiseSuppression","googNoiseSuppression"),e.audio=n(e.audio)}if(e&&"object"==typeof e.video){let o=e.video.facingMode;o=o&&("object"==typeof o?o:{ideal:o});const s=t.version<66;if(o&&("user"===o.exact||"environment"===o.exact||"user"===o.ideal||"environment"===o.ideal)&&(!i.mediaDevices.getSupportedConstraints||!i.mediaDevices.getSupportedConstraints().facingMode||s)){let t;if(delete e.video.facingMode,"environment"===o.exact||"environment"===o.ideal?t=["back","rear"]:"user"!==o.exact&&"user"!==o.ideal||(t=["front"]),t)return i.mediaDevices.enumerateDevices().then((i=>{i=i.filter((e=>"videoinput"===e.kind));let s=i.find((e=>t.some((t=>e.label.toLowerCase().includes(t)))));return!s&&i.length&&t.includes("back")&&(s=i[i.length-1]),s&&(e.video.deviceId=o.exact?{exact:s.deviceId}:{ideal:s.deviceId}),e.video=n(e.video),KR("chrome: "+JSON.stringify(e)),r(e)}))}e.video=n(e.video)}return KR("chrome: "+JSON.stringify(e)),r(e)},o=function(e){return t.version>=64?e:{name:{PermissionDeniedError:"NotAllowedError",PermissionDismissedError:"NotAllowedError",InvalidStateError:"NotAllowedError",DevicesNotFoundError:"NotFoundError",ConstraintNotSatisfiedError:"OverconstrainedError",TrackStartError:"NotReadableError",MediaDeviceFailedDueToShutdown:"NotAllowedError",MediaDeviceKillSwitchOn:"NotAllowedError",TabCaptureError:"AbortError",ScreenCaptureError:"AbortError",DeviceCaptureError:"AbortError"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&": ")+this.message}}};if(i.getUserMedia=function(e,t,n){r(e,(e=>{i.webkitGetUserMedia(e,t,(e=>{n&&n(o(e))}))}))}.bind(i),i.mediaDevices.getUserMedia){const e=i.mediaDevices.getUserMedia.bind(i.mediaDevices);i.mediaDevices.getUserMedia=function(t){return r(t,(t=>e(t).then((e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach((e=>{e.stop()})),new DOMException("","NotFoundError");return e}),(e=>Promise.reject(o(e))))))}}}function YR(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function QR(e){if("object"==typeof e&&e.RTCPeerConnection&&!("ontrack"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,"ontrack",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener("track",this._ontrack),this.addEventListener("track",this._ontrack=e)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener("addtrack",(i=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===i.track.id)):{track:i.track};const r=new Event("track");r.track=i.track,r.receiver=n,r.transceiver={receiver:n},r.streams=[t.stream],this.dispatchEvent(r)})),t.stream.getTracks().forEach((i=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===i.id)):{track:i};const r=new Event("track");r.track=i,r.receiver=n,r.transceiver={receiver:n},r.streams=[t.stream],this.dispatchEvent(r)}))},this.addEventListener("addstream",this._ontrackpoly)),t.apply(this,arguments)}}else UR(e,"track",(e=>(e.transceiver||Object.defineProperty(e,"transceiver",{value:{receiver:e.receiver}}),e)))}function XR(e){if("object"==typeof e&&e.RTCPeerConnection&&!("getSenders"in e.RTCPeerConnection.prototype)&&"createDTMFSender"in e.RTCPeerConnection.prototype){const t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&("audio"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const i=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){let r=i.apply(this,arguments);return r||(r=t(this,e),this._senders.push(r)),r};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){n.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],i.apply(this,[e]),e.getTracks().forEach((e=>{this._senders.push(t(this,e))}))};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach((e=>{const t=this._senders.find((t=>t.track===e));t&&this._senders.splice(this._senders.indexOf(t),1)}))}}else if("object"==typeof e&&e.RTCPeerConnection&&"getSenders"in e.RTCPeerConnection.prototype&&"createDTMFSender"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!("dtmf"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e},Object.defineProperty(e.RTCRtpSender.prototype,"dtmf",{get(){return void 0===this._dtmf&&("audio"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function $R(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,i,n]=arguments;if(arguments.length>0&&"function"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0===arguments.length||"function"!=typeof e))return t.apply(this,[]);const r=function(e){const t={};return e.result().forEach((e=>{const i={id:e.id,timestamp:e.timestamp,type:{localcandidate:"local-candidate",remotecandidate:"remote-candidate"}[e.type]||e.type};e.names().forEach((t=>{i[t]=e.stat(t)})),t[i.id]=i})),t},o=function(e){return new Map(Object.keys(e).map((t=>[t,e[t]])))};if(arguments.length>=2){const n=function(e){i(o(r(e)))};return t.apply(this,[n,e])}return new Promise(((e,i)=>{t.apply(this,[function(t){e(o(r(t)))},i])})).then(i,n)}}function ZR(e){if(!("object"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!("getStats"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=i.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>zR(t,e.track,!0)))}}if(!("getStats"in e.RTCRtpReceiver.prototype)){const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),UR(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>zR(t,e.track,!1)))}}if(!("getStats"in e.RTCRtpSender.prototype)||!("getStats"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const e=arguments[0];let t,i,n;return this.getSenders().forEach((i=>{i.track===e&&(t?n=!0:t=i)})),this.getReceivers().forEach((t=>(t.track===e&&(i?n=!0:i=t),t.track===e))),n||t&&i?Promise.reject(new DOMException("There are more than one sender or receiver for the track.","InvalidAccessError")):t?t.getStats():i?i.getStats():Promise.reject(new DOMException("There is no sender or receiver for the track.","InvalidAccessError"))}return t.apply(this,arguments)}}function eC(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((e=>this._shimmedLocalStreams[e][0]))};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,i){if(!i)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const n=t.apply(this,arguments);return this._shimmedLocalStreams[i.id]?-1===this._shimmedLocalStreams[i.id].indexOf(n)&&this._shimmedLocalStreams[i.id].push(n):this._shimmedLocalStreams[i.id]=[i,n],n};const i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException("Track already exists.","InvalidAccessError")}));const t=this.getSenders();i.apply(this,arguments);const n=this.getSenders().filter((e=>-1===t.indexOf(e)));this._shimmedLocalStreams[e.id]=[e].concat(n)};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};const r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach((t=>{const i=this._shimmedLocalStreams[t].indexOf(e);-1!==i&&this._shimmedLocalStreams[t].splice(i,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]})),r.apply(this,arguments)}}function tC(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return eC(e);const i=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=i.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map((e=>this._reverseStreams[e.id]))};const n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException("Track already exists.","InvalidAccessError")})),!this._reverseStreams[t.id]){const i=new e.MediaStream(t.getTracks());this._streams[t.id]=i,this._reverseStreams[i.id]=t,t=i}n.apply(this,[t])};const r=e.RTCPeerConnection.prototype.removeStream;function o(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],r=e._streams[n.id];i=i.replace(new RegExp(r.id,"g"),n.id)})),new RTCSessionDescription({type:t.type,sdp:i})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},r.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,i){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");const n=[].slice.call(arguments,1);if(1!==n.length||!n[0].getTracks().find((e=>e===t)))throw new DOMException("The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.","NotSupportedError");if(this.getSenders().find((e=>e.track===t)))throw new DOMException("Track already exists.","InvalidAccessError");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const r=this._streams[i.id];if(r)r.addTrack(t),Promise.resolve().then((()=>{this.dispatchEvent(new Event("negotiationneeded"))}));else{const n=new e.MediaStream([t]);this._streams[i.id]=n,this._reverseStreams[n.id]=i,this.addStream(n)}return this.getSenders().find((e=>e.track===t))},["createOffer","createAnswer"].forEach((function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){const e=arguments;return arguments.length&&"function"==typeof arguments[0]?i.apply(this,[t=>{const i=o(this,t);e[0].apply(null,[i])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):i.apply(this,arguments).then((e=>o(this,e)))}};e.RTCPeerConnection.prototype[t]=n[t]}));const s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=function(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],r=e._streams[n.id];i=i.replace(new RegExp(n.id,"g"),r.id)})),new RTCSessionDescription({type:t.type,sdp:i})}(this,arguments[0]),s.apply(this,arguments)):s.apply(this,arguments)};const a=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,"localDescription");Object.defineProperty(e.RTCPeerConnection.prototype,"localDescription",{get(){const e=a.get.apply(this);return""===e.type?e:o(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if("closed"===this.signalingState)throw new DOMException("The RTCPeerConnection's signalingState is 'closed'.","InvalidStateError");if(!e._pc)throw new DOMException("Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.","TypeError");if(e._pc!==this)throw new DOMException("Sender was not created by this connection.","InvalidAccessError");let t;this._streams=this._streams||{},Object.keys(this._streams).forEach((i=>{this._streams[i].getTracks().find((t=>e.track===t))&&(t=this._streams[i])})),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event("negotiationneeded")))}}function iC(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}))}function nC(e,t){UR(e,"negotiationneeded",(e=>{const i=e.target;if(!(t.version<72||i.getConfiguration&&"plan-b"===i.getConfiguration().sdpSemantics)||"stable"===i.signalingState)return e}))}var rC=Object.freeze({__proto__:null,shimMediaStream:YR,shimOnTrack:QR,shimGetSendersWithDtmf:XR,shimGetStats:$R,shimSenderReceiverGetStats:ZR,shimAddTrackRemoveTrackWithNative:eC,shimAddTrackRemoveTrack:tC,shimPeerConnection:iC,fixNegotiationNeeded:nC,shimGetUserMedia:qR,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&("function"==typeof t?e.navigator.mediaDevices.getDisplayMedia=function(i){return t(i).then((t=>{const n=i.video&&i.video.width,r=i.video&&i.video.height,o=i.video&&i.video.frameRate;return i.video={mandatory:{chromeMediaSource:"desktop",chromeMediaSourceId:t,maxFrameRate:o||3}},n&&(i.video.mandatory.maxWidth=n),r&&(i.video.mandatory.maxHeight=r),e.navigator.mediaDevices.getUserMedia(i)}))}:console.error("shimGetDisplayMedia: getSourceId argument is not a function"))}});function oC(e,t){const i=e&&e.navigator,n=e&&e.MediaStreamTrack;if(i.getUserMedia=function(e,t,n){jR("navigator.getUserMedia","navigator.mediaDevices.getUserMedia"),i.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&"autoGainControl"in i.mediaDevices.getSupportedConstraints())){const e=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])},t=i.mediaDevices.getUserMedia.bind(i.mediaDevices);if(i.mediaDevices.getUserMedia=function(i){return"object"==typeof i&&"object"==typeof i.audio&&(i=JSON.parse(JSON.stringify(i)),e(i.audio,"autoGainControl","mozAutoGainControl"),e(i.audio,"noiseSuppression","mozNoiseSuppression")),t(i)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const i=t.apply(this,arguments);return e(i,"mozAutoGainControl","autoGainControl"),e(i,"mozNoiseSuppression","noiseSuppression"),i}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(i){return"audio"===this.kind&&"object"==typeof i&&(i=JSON.parse(JSON.stringify(i)),e(i,"autoGainControl","mozAutoGainControl"),e(i,"noiseSuppression","mozNoiseSuppression")),t.apply(this,[i])}}}}function sC(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function aC(e,t){if("object"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&["setLocalDescription","setRemoteDescription","addIceCandidate"].forEach((function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new("addIceCandidate"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}));const i={inboundrtp:"inbound-rtp",outboundrtp:"outbound-rtp",candidatepair:"candidate-pair",localcandidate:"local-candidate",remotecandidate:"remote-candidate"},n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,r,o]=arguments;return n.apply(this,[e||null]).then((e=>{if(t.version<53&&!r)try{e.forEach((e=>{e.type=i[e.type]||e.type}))}catch(aN){if("TypeError"!==aN.name)throw aN;e.forEach(((t,n)=>{e.set(n,Object.assign({},t,{type:i[t.type]||t.type}))}))}return e})).then(r,o)}}function cC(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=i.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function lC(e){if("object"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&"getStats"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),UR(e,"track",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function dC(e){e.RTCPeerConnection&&!("removeStream"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){jR("removeStream","removeTrack"),this.getSenders().forEach((t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)}))})}function uC(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function hC(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;void 0===e&&(e=[]),e=[...e];const i=e.length>0;i&&e.forEach((e=>{if("rid"in e&&!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError("Invalid RID value provided.");if("scaleResolutionDownBy"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError("scale_resolution_down_by must be >= 1.0");if("maxFramerate"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError("max_framerate must be >= 0.0")}));const n=t.apply(this,arguments);if(i){const{sender:t}=n,i=t.getParameters();(!("encodings"in i)||1===i.encodings.length&&0===Object.keys(i.encodings[0]).length)&&(i.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(i).then((()=>{delete t.sendEncodings})).catch((()=>{delete t.sendEncodings}))))}return n})}function pC(e){if("object"!=typeof e||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const e=t.apply(this,arguments);return"encodings"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function mC(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}function _C(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}var fC=Object.freeze({__proto__:null,shimOnTrack:sC,shimPeerConnection:aC,shimSenderGetStats:cC,shimReceiverGetStats:lC,shimRemoveStream:dC,shimRTCDataChannel:uC,shimAddTransceiver:hC,shimGetParameters:pC,shimCreateOffer:mC,shimCreateAnswer:_C,shimGetUserMedia:oC,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&"getDisplayMedia"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(i){if(!i||!i.video){const e=new DOMException("getDisplayMedia without video constraints is undefined");return e.name="NotFoundError",e.code=8,Promise.reject(e)}return!0===i.video?i.video={mediaSource:t}:i.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(i)})}});function gC(e){if("object"==typeof e&&e.RTCPeerConnection){if("getLocalStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!("addStream"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((i=>t.call(this,i,e))),e.getVideoTracks().forEach((i=>t.call(this,i,e)))},e.RTCPeerConnection.prototype.addTrack=function(e,...i){return i&&i.forEach((e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]})),t.apply(this,arguments)}}"removeStream"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const i=e.getTracks();this.getSenders().forEach((e=>{i.includes(e.track)&&this.removeTrack(e)}))})}}function TC(e){if("object"==typeof e&&e.RTCPeerConnection&&("getRemoteStreams"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!("onaddstream"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,"onaddstream",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener("addstream",this._onaddstream),this.removeEventListener("track",this._onaddstreampoly)),this.addEventListener("addstream",this._onaddstream=e),this.addEventListener("track",this._onaddstreampoly=e=>{e.streams.forEach((e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event("addstream");t.stream=e,this.dispatchEvent(t)}))})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener("track",this._onaddstreampoly=function(t){t.streams.forEach((t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const i=new Event("addstream");i.stream=t,e.dispatchEvent(i)}))}),t.apply(e,arguments)}}}function EC(e){if("object"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,i=t.createOffer,n=t.createAnswer,r=t.setLocalDescription,o=t.setRemoteDescription,s=t.addIceCandidate;t.createOffer=function(e,t){const n=arguments.length>=2?arguments[2]:arguments[0],r=i.apply(this,[n]);return t?(r.then(e,t),Promise.resolve()):r},t.createAnswer=function(e,t){const i=arguments.length>=2?arguments[2]:arguments[0],r=n.apply(this,[i]);return t?(r.then(e,t),Promise.resolve()):r};let a=function(e,t,i){const n=r.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n};t.setLocalDescription=a,a=function(e,t,i){const n=o.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n},t.setRemoteDescription=a,a=function(e,t,i){const n=s.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n},t.addIceCandidate=a}function SC(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,i=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>i(IC(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,i,n){t.mediaDevices.getUserMedia(e).then(i,n)}.bind(t))}function IC(e){return e&&void 0!==e.video?Object.assign({},e,{video:WR(e.video)}):e}function yC(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,i){if(e&&e.iceServers){const t=[];for(let i=0;it.generateCertificate})}function vC(e){"object"==typeof e&&e.RTCTrackEvent&&"receiver"in e.RTCTrackEvent.prototype&&!("transceiver"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,"transceiver",{get(){return{receiver:this.receiver}}})}function AC(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find((e=>"audio"===e.receiver.track.kind));!1===e.offerToReceiveAudio&&t?"sendrecv"===t.direction?t.setDirection?t.setDirection("sendonly"):t.direction="sendonly":"recvonly"===t.direction&&(t.setDirection?t.setDirection("inactive"):t.direction="inactive"):!0!==e.offerToReceiveAudio||t||this.addTransceiver("audio",{direction:"recvonly"}),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const i=this.getTransceivers().find((e=>"video"===e.receiver.track.kind));!1===e.offerToReceiveVideo&&i?"sendrecv"===i.direction?i.setDirection?i.setDirection("sendonly"):i.direction="sendonly":"recvonly"===i.direction&&(i.setDirection?i.setDirection("inactive"):i.direction="inactive"):!0!==e.offerToReceiveVideo||i||this.addTransceiver("video",{direction:"recvonly"})}return t.apply(this,arguments)}}function RC(e){"object"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var CC=Object.freeze({__proto__:null,shimLocalStreamsAPI:gC,shimRemoteStreamsAPI:TC,shimCallbacksAPI:EC,shimGetUserMedia:SC,shimConstraints:IC,shimRTCIceServerUrls:yC,shimTrackEventTransceiver:vC,shimCreateOfferLegacy:AC,shimAudioContext:RC}),bC={},kC={get exports(){return bC},set exports(e){bC=e}};!function(e){const t={generateIdentifier:function(){return Math.random().toString(36).substring(2,12)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split("\n").map((e=>e.trim()))},t.splitSections=function(e){return e.split("\nm=").map(((e,t)=>(t>0?"m="+e:e).trim()+"\r\n"))},t.getDescription=function(e){const i=t.splitSections(e);return i&&i[0]},t.getMediaSections=function(e){const i=t.splitSections(e);return i.shift(),i},t.matchPrefix=function(e,i){return t.splitLines(e).filter((e=>0===e.indexOf(i)))},t.parseCandidate=function(e){let t;t=0===e.indexOf("a=candidate:")?e.substring(12).split(" "):e.substring(10).split(" ");const i={foundation:t[0],component:{1:"rtp",2:"rtcp"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let n=8;n0?t[0].split("/")[1]:"sendrecv",uri:t[1],attributes:t.slice(2).join(" ")}},t.writeExtmap=function(e){return"a=extmap:"+(e.id||e.preferredId)+(e.direction&&"sendrecv"!==e.direction?"/"+e.direction:"")+" "+e.uri+(e.attributes?" "+e.attributes:"")+"\r\n"},t.parseFmtp=function(e){const t={};let i;const n=e.substring(e.indexOf(" ")+1).split(";");for(let r=0;r{void 0!==e.parameters[t]?n.push(t+"="+e.parameters[t]):n.push(t)})),t+="a=fmtp:"+i+" "+n.join(";")+"\r\n"}return t},t.parseRtcpFb=function(e){const t=e.substring(e.indexOf(" ")+1).split(" ");return{type:t.shift(),parameter:t.join(" ")}},t.writeRtcpFb=function(e){let t="",i=e.payloadType;return void 0!==e.preferredPayloadType&&(i=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach((e=>{t+="a=rtcp-fb:"+i+" "+e.type+(e.parameter&&e.parameter.length?" "+e.parameter:"")+"\r\n"})),t},t.parseSsrcMedia=function(e){const t=e.indexOf(" "),i={ssrc:parseInt(e.substring(7,t),10)},n=e.indexOf(":",t);return n>-1?(i.attribute=e.substring(t+1,n),i.value=e.substring(n+1)):i.attribute=e.substring(t+1),i},t.parseSsrcGroup=function(e){const t=e.substring(13).split(" ");return{semantics:t.shift(),ssrcs:t.map((e=>parseInt(e,10)))}},t.getMid=function(e){const i=t.matchPrefix(e,"a=mid:")[0];if(i)return i.substring(6)},t.parseFingerprint=function(e){const t=e.substring(14).split(" ");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},t.getDtlsParameters=function(e,i){return{role:"auto",fingerprints:t.matchPrefix(e+i,"a=fingerprint:").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let i="a=setup:"+t+"\r\n";return e.fingerprints.forEach((e=>{i+="a=fingerprint:"+e.algorithm+" "+e.value+"\r\n"})),i},t.parseCryptoLine=function(e){const t=e.substring(9).split(" ");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return"a=crypto:"+e.tag+" "+e.cryptoSuite+" "+("object"==typeof e.keyParams?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?" "+e.sessionParams.join(" "):"")+"\r\n"},t.parseCryptoKeyParams=function(e){if(0!==e.indexOf("inline:"))return null;const t=e.substring(7).split("|");return{keyMethod:"inline",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(":")[0]:void 0,mkiLength:t[2]?t[2].split(":")[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+":"+e.keySalt+(e.lifeTime?"|"+e.lifeTime:"")+(e.mkiValue&&e.mkiLength?"|"+e.mkiValue+":"+e.mkiLength:"")},t.getCryptoParameters=function(e,i){return t.matchPrefix(e+i,"a=crypto:").map(t.parseCryptoLine)},t.getIceParameters=function(e,i){const n=t.matchPrefix(e+i,"a=ice-ufrag:")[0],r=t.matchPrefix(e+i,"a=ice-pwd:")[0];return n&&r?{usernameFragment:n.substring(12),password:r.substring(10)}:null},t.writeIceParameters=function(e){let t="a=ice-ufrag:"+e.usernameFragment+"\r\na=ice-pwd:"+e.password+"\r\n";return e.iceLite&&(t+="a=ice-lite\r\n"),t},t.parseRtpParameters=function(e){const i={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=t.splitLines(e)[0].split(" ");i.profile=n[2];for(let o=3;o{i.headerExtensions.push(t.parseExtmap(e))}));const r=t.matchPrefix(e,"a=rtcp-fb:* ").map(t.parseRtcpFb);return i.codecs.forEach((e=>{r.forEach((t=>{e.rtcpFeedback.find((e=>e.type===t.type&&e.parameter===t.parameter))||e.rtcpFeedback.push(t)}))})),i},t.writeRtpDescription=function(e,i){let n="";n+="m="+e+" ",n+=i.codecs.length>0?"9":"0",n+=" "+(i.profile||"UDP/TLS/RTP/SAVPF")+" ",n+=i.codecs.map((e=>void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType)).join(" ")+"\r\n",n+="c=IN IP4 0.0.0.0\r\n",n+="a=rtcp:9 IN IP4 0.0.0.0\r\n",i.codecs.forEach((e=>{n+=t.writeRtpMap(e),n+=t.writeFmtp(e),n+=t.writeRtcpFb(e)}));let r=0;return i.codecs.forEach((e=>{e.maxptime>r&&(r=e.maxptime)})),r>0&&(n+="a=maxptime:"+r+"\r\n"),i.headerExtensions&&i.headerExtensions.forEach((e=>{n+=t.writeExtmap(e)})),n},t.parseRtpEncodingParameters=function(e){const i=[],n=t.parseRtpParameters(e),r=-1!==n.fecMechanisms.indexOf("RED"),o=-1!==n.fecMechanisms.indexOf("ULPFEC"),s=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"cname"===e.attribute)),a=s.length>0&&s[0].ssrc;let c;const l=t.matchPrefix(e,"a=ssrc-group:FID").map((e=>e.substring(17).split(" ").map((e=>parseInt(e,10)))));l.length>0&&l[0].length>1&&l[0][0]===a&&(c=l[0][1]),n.codecs.forEach((e=>{if("RTX"===e.name.toUpperCase()&&e.parameters.apt){let t={ssrc:a,codecPayloadType:parseInt(e.parameters.apt,10)};a&&c&&(t.rtx={ssrc:c}),i.push(t),r&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:a,mechanism:o?"red+ulpfec":"red"},i.push(t))}})),0===i.length&&a&&i.push({ssrc:a});let d=t.matchPrefix(e,"b=");return d.length&&(d=0===d[0].indexOf("b=TIAS:")?parseInt(d[0].substring(7),10):0===d[0].indexOf("b=AS:")?1e3*parseInt(d[0].substring(5),10)*.95-16e3:void 0,i.forEach((e=>{e.maxBitrate=d}))),i},t.parseRtcpParameters=function(e){const i={},n=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"cname"===e.attribute))[0];n&&(i.cname=n.value,i.ssrc=n.ssrc);const r=t.matchPrefix(e,"a=rtcp-rsize");i.reducedSize=r.length>0,i.compound=0===r.length;const o=t.matchPrefix(e,"a=rtcp-mux");return i.mux=o.length>0,i},t.writeRtcpParameters=function(e){let t="";return e.reducedSize&&(t+="a=rtcp-rsize\r\n"),e.mux&&(t+="a=rtcp-mux\r\n"),void 0!==e.ssrc&&e.cname&&(t+="a=ssrc:"+e.ssrc+" cname:"+e.cname+"\r\n"),t},t.parseMsid=function(e){let i;const n=t.matchPrefix(e,"a=msid:");if(1===n.length)return i=n[0].substring(7).split(" "),{stream:i[0],track:i[1]};const r=t.matchPrefix(e,"a=ssrc:").map((e=>t.parseSsrcMedia(e))).filter((e=>"msid"===e.attribute));return r.length>0?(i=r[0].value.split(" "),{stream:i[0],track:i[1]}):void 0},t.parseSctpDescription=function(e){const i=t.parseMLine(e),n=t.matchPrefix(e,"a=max-message-size:");let r;n.length>0&&(r=parseInt(n[0].substring(19),10)),isNaN(r)&&(r=65536);const o=t.matchPrefix(e,"a=sctp-port:");if(o.length>0)return{port:parseInt(o[0].substring(12),10),protocol:i.fmt,maxMessageSize:r};const s=t.matchPrefix(e,"a=sctpmap:");if(s.length>0){const e=s[0].substring(10).split(" ");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:r}}},t.writeSctpDescription=function(e,t){let i=[];return i="DTLS/SCTP"!==e.protocol?["m="+e.kind+" 9 "+e.protocol+" "+t.protocol+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctp-port:"+t.port+"\r\n"]:["m="+e.kind+" 9 "+e.protocol+" "+t.port+"\r\n","c=IN IP4 0.0.0.0\r\n","a=sctpmap:"+t.port+" "+t.protocol+" 65535\r\n"],void 0!==t.maxMessageSize&&i.push("a=max-message-size:"+t.maxMessageSize+"\r\n"),i.join("")},t.generateSessionId=function(){return Math.random().toString().substr(2,22)},t.writeSessionBoilerplate=function(e,i,n){let r;const o=void 0!==i?i:2;return r=e||t.generateSessionId(),"v=0\r\no="+(n||"thisisadapterortc")+" "+r+" "+o+" IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\n"},t.getDirection=function(e,i){const n=t.splitLines(e);for(let t=0;t(t.candidate&&Object.defineProperty(t,"candidate",{value:new e.RTCIceCandidate(t.candidate),writable:"false"}),t)))}function wC(e){!e.RTCIceCandidate||e.RTCIceCandidate&&"relayProtocol"in e.RTCIceCandidate.prototype||UR(e,"icecandidate",(e=>{if(e.candidate){const t=NC.parseCandidate(e.candidate.candidate);"relay"===t.type&&(e.candidate.relayProtocol={0:"tls",1:"tcp",2:"udp"}[t.priority>>24])}return e}))}function PC(e,t){if(!e.RTCPeerConnection)return;"sctp"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,"sctp",{get(){return void 0===this._sctp?null:this._sctp}});const i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,"chrome"===t.browser&&t.version>=76){const{sdpSemantics:e}=this.getConfiguration();"plan-b"===e&&Object.defineProperty(this,"sctp",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(function(e){if(!e||!e.sdp)return!1;const t=NC.splitSections(e.sdp);return t.shift(),t.some((e=>{const t=NC.parseMLine(e);return t&&"application"===t.kind&&-1!==t.protocol.indexOf("SCTP")}))}(arguments[0])){const e=function(e){const t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\d+)/);if(null===t||t.length<2)return-1;const i=parseInt(t[1],10);return i!=i?-1:i}(arguments[0]),i=function(e){let i=65536;return"firefox"===t.browser&&(i=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),i}(e),n=function(e,i){let n=65536;"firefox"===t.browser&&57===t.version&&(n=65535);const r=NC.matchPrefix(e.sdp,"a=max-message-size:");return r.length>0?n=parseInt(r[0].substring(19),10):"firefox"===t.browser&&-1!==i&&(n=2147483637),n}(arguments[0],e);let r;r=0===i&&0===n?Number.POSITIVE_INFINITY:0===i||0===n?Math.max(i,n):Math.min(i,n);const o={};Object.defineProperty(o,"maxMessageSize",{get:()=>r}),this._sctp=o}return i.apply(this,arguments)}}function LC(e){if(!e.RTCPeerConnection||!("createDataChannel"in e.RTCPeerConnection.prototype))return;function t(e,t){const i=e.send;e.send=function(){const n=arguments[0],r=n.length||n.size||n.byteLength;if("open"===e.readyState&&t.sctp&&r>t.sctp.maxMessageSize)throw new TypeError("Message too large (can send a maximum of "+t.sctp.maxMessageSize+" bytes)");return i.apply(e,arguments)}}const i=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=i.apply(this,arguments);return t(e,this),e},UR(e,"datachannel",(e=>(t(e.channel,e.target),e)))}function MC(e){if(!e.RTCPeerConnection||"connectionState"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,"connectionState",{get(){return{completed:"connected",checking:"connecting"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,"onconnectionstatechange",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener("connectionstatechange",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener("connectionstatechange",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),["setLocalDescription","setRemoteDescription"].forEach((e=>{const i=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{const t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;const i=new Event("connectionstatechange",e);t.dispatchEvent(i)}return e},this.addEventListener("iceconnectionstatechange",this._connectionstatechangepoly)),i.apply(this,arguments)}}))}function xC(e,t){if(!e.RTCPeerConnection)return;if("chrome"===t.browser&&t.version>=71)return;if("safari"===t.browser&&t.version>=605)return;const i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf("\na=extmap-allow-mixed")){const i=t.sdp.split("\n").filter((e=>"a=extmap-allow-mixed"!==e.trim())).join("\n");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:i}):t.sdp=i}return i.apply(this,arguments)}}function VC(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const i=e.RTCPeerConnection.prototype.addIceCandidate;i&&0!==i.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?("chrome"===t.browser&&t.version<78||"firefox"===t.browser&&t.version<68||"safari"===t.browser)&&arguments[0]&&""===arguments[0].candidate?Promise.resolve():i.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function UC(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const i=e.RTCPeerConnection.prototype.setLocalDescription;i&&0!==i.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if("object"!=typeof e||e.type&&e.sdp)return i.apply(this,arguments);if(e={type:e.type,sdp:e.sdp},!e.type)switch(this.signalingState){case"stable":case"have-local-offer":case"have-remote-pranswer":e.type="offer";break;default:e.type="answer"}return e.sdp||"offer"!==e.type&&"answer"!==e.type?i.apply(this,[e]):("offer"===e.type?this.createOffer:this.createAnswer).apply(this).then((e=>i.apply(this,[e])))})}var FC=Object.freeze({__proto__:null,shimRTCIceCandidate:OC,shimRTCIceCandidateRelayProtocol:wC,shimMaxMessageSize:PC,shimSendThrowTypeError:LC,shimConnectionState:MC,removeExtmapAllowMixed:xC,shimAddIceCandidateNullOrEmpty:VC,shimParameterlessSetLocalDescription:UC});!function({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){const i=HR,n=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator||!e.navigator.userAgent)return t.browser="Not a browser.",t;const{navigator:i}=e;if(i.mozGetUserMedia)t.browser="firefox",t.version=VR(i.userAgent,/Firefox\/(\d+)\./,1);else if(i.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser="chrome",t.version=VR(i.userAgent,/Chrom(e|ium)\/(\d+)\./,2);else{if(!e.RTCPeerConnection||!i.userAgent.match(/AppleWebKit\/(\d+)\./))return t.browser="Not a supported browser.",t;t.browser="safari",t.version=VR(i.userAgent,/AppleWebKit\/(\d+)\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&"currentDirection"in e.RTCRtpTransceiver.prototype}return t}(e),r={browserDetails:n,commonShim:FC,extractVersion:VR,disableLog:FR,disableWarnings:BR,sdp:DC};switch(n.browser){case"chrome":if(!rC||!iC||!t.shimChrome)return i("Chrome shim is not included in this adapter release."),r;if(null===n.version)return i("Chrome shim can not determine version, not shimming."),r;i("adapter.js shimming chrome."),r.browserShim=rC,VC(e,n),UC(e),qR(e,n),YR(e),iC(e,n),QR(e),tC(e,n),XR(e),$R(e),ZR(e),nC(e,n),OC(e),wC(e),MC(e),PC(e,n),LC(e),xC(e,n);break;case"firefox":if(!fC||!aC||!t.shimFirefox)return i("Firefox shim is not included in this adapter release."),r;i("adapter.js shimming firefox."),r.browserShim=fC,VC(e,n),UC(e),oC(e,n),aC(e,n),sC(e),dC(e),cC(e),lC(e),uC(e),hC(e),pC(e),mC(e),_C(e),OC(e),MC(e),PC(e,n),LC(e);break;case"safari":if(!CC||!t.shimSafari)return i("Safari shim is not included in this adapter release."),r;i("adapter.js shimming safari."),r.browserShim=CC,VC(e,n),UC(e),yC(e),AC(e),EC(e),gC(e),TC(e),vC(e),SC(e),RC(e),OC(e),wC(e),PC(e,n),LC(e),xC(e,n);break;default:i("Unsupported browser!")}}({window:"undefined"==typeof window?void 0:window});var BC,HC=Object.create,jC=Object.defineProperty,GC=Object.defineProperties,WC=Object.getOwnPropertyDescriptor,JC=Object.getOwnPropertyDescriptors,zC=Object.getOwnPropertyNames,KC=Object.getOwnPropertySymbols,qC=Object.getPrototypeOf,YC=Object.prototype.hasOwnProperty,QC=Object.prototype.propertyIsEnumerable,XC=Reflect.get,$C=Math.pow,ZC=(e,t,i)=>t in e?jC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,eb=(e,t)=>{for(var i in t||(t={}))YC.call(t,i)&&ZC(e,i,t[i]);if(KC)for(var i of KC(t))QC.call(t,i)&&ZC(e,i,t[i]);return e},tb=(e,t)=>GC(e,JC(t)),ib=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),nb=(e,t)=>{for(var i in t)jC(e,i,{get:t[i],enumerable:!0})},rb=(e,t,i)=>(i=null!=e?HC(qC(e)):{},((e,t,i,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of zC(t))!YC.call(e,r)&&r!==i&&jC(e,r,{get:()=>t[r],enumerable:!(n=WC(t,r))||n.enumerable});return e})(!t&&e&&e.__esModule?i:jC(i,"default",{value:e,enumerable:!0}),e)),ob=(e,t,i,n)=>{for(var r,o=n>1?void 0:n?WC(t,i):t,s=e.length-1;s>=0;s--)(r=e[s])&&(o=(n?r(t,i,o):r(o))||o);return n&&o&&jC(t,i,o),o},sb=(e,t,i)=>(ZC(e,"symbol"!=typeof t?t+"":t,i),i),ab=(e,t,i)=>XC(qC(e),i,t),cb=(e,t,i)=>new Promise(((n,r)=>{var o=e=>{try{a(i.next(e))}catch(t){r(t)}},s=e=>{try{a(i.throw(e))}catch(t){r(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,s);a((i=i.apply(e,t)).next())})),lb=ib(((e,t)=>{var i=Object.prototype.hasOwnProperty,n="~";function r(){}function o(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function s(e,t,i,r,s){if("function"!=typeof i)throw new TypeError("The listener must be a function");var a=new o(i,r||e,s),c=n?n+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],a]:e._events[c].push(a):(e._events[c]=a,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function c(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),c.prototype.eventNames=function(){var e,t,r=[];if(0===this._eventsCount)return r;for(t in e=this._events)i.call(e,t)&&r.push(n?t.slice(1):t);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},c.prototype.listeners=function(e){var t=n?n+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,o=i.length,s=new Array(o);r{var i=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:%d 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":"")}},{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:"mid",reg:/^mid:([^\s]*)/,format:"mid:%s"},{name:"msid",reg:/^msid:(.*)/,format:"msid:%s"},{name:"ptime",reg:/^ptime:(\d*)/,format:"ptime:%d"},{name:"maxptime",reg:/^maxptime:(\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:"invalid",names:["value"]}]};Object.keys(i).forEach((function(e){i[e].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format="%s")}))}))})),ub=ib((e=>{var t=function(e){return String(Number(e))===e?Number(e):e},i=function(e,i,n){var r=e.name&&e.names;e.push&&!i[e.push]?i[e.push]=[]:r&&!i[e.name]&&(i[e.name]={});var o=e.push?{}:r?i[e.name]:i;(function(e,i,n,r){if(r&&!n)i[r]=t(e[1]);else for(var o=0;o1&&(e[n[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\s?/).reduce(o,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(" ").map(Number)},e.parseRemoteCandidates=function(e){for(var i=[],n=e.split(" ").map(t),r=0;r{var i=db(),n=/%[sdv%]/g,r=function(e){var t=1,i=arguments,r=i.length;return e.replace(n,(function(e){if(t>=r)return e;var n=i[t];switch(t+=1,e){case"%%":return"%";case"%s":return String(n);case"%d":return Number(n);case"%v":return""}}))},o=function(e,t,i){var n=[e+"="+(t.format instanceof Function?t.format(t.push?i:i[t.name]):t.format)];if(t.names)for(var o=0;o{var t=ub(),i=hb();e.write=i,e.parse=t.parse,e.parseFmtpConfig=t.parseFmtpConfig,e.parseParams=t.parseParams,e.parsePayloads=t.parsePayloads,e.parseRemoteCandidates=t.parseRemoteCandidates,e.parseImageAttributes=t.parseImageAttributes,e.parseSimulcastStreamList=t.parseSimulcastStreamList})),mb=rb(lb()),_b=((BC=_b||{})[BC.INVALID_PARAMETER=4096]="INVALID_PARAMETER",BC[BC.INVALID_OPERATION=4097]="INVALID_OPERATION",BC[BC.NOT_SUPPORTED=4098]="NOT_SUPPORTED",BC[BC.DEVICE_NOT_FOUND=4099]="DEVICE_NOT_FOUND",BC[BC.INITIALIZE_FAILED=4100]="INITIALIZE_FAILED",BC[BC.SIGNAL_CHANNEL_SETUP_FAILED=16385]="SIGNAL_CHANNEL_SETUP_FAILED",BC[BC.SIGNAL_CHANNEL_ERROR=16386]="SIGNAL_CHANNEL_ERROR",BC[BC.ICE_TRANSPORT_ERROR=16387]="ICE_TRANSPORT_ERROR",BC[BC.JOIN_ROOM_FAILED=16388]="JOIN_ROOM_FAILED",BC[BC.CREATE_OFFER_FAILED=16389]="CREATE_OFFER_FAILED",BC[BC.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]="SIGNAL_CHANNEL_RECONNECTION_FAILED",BC[BC.UPLINK_RECONNECTION_FAILED=16391]="UPLINK_RECONNECTION_FAILED",BC[BC.DOWNLINK_RECONNECTION_FAILED=16392]="DOWNLINK_RECONNECTION_FAILED",BC[BC.REMOTE_STREAM_NOT_EXIST=16400]="REMOTE_STREAM_NOT_EXIST",BC[BC.CLIENT_BANNED=16448]="CLIENT_BANNED",BC[BC.SERVER_TIMEOUT=16449]="SERVER_TIMEOUT",BC[BC.SUBSCRIPTION_TIMEOUT=16450]="SUBSCRIPTION_TIMEOUT",BC[BC.PLAY_NOT_ALLOWED=16451]="PLAY_NOT_ALLOWED",BC[BC.DEVICE_AUTO_RECOVER_FAILED=16452]="DEVICE_AUTO_RECOVER_FAILED",BC[BC.START_PUBLISH_CDN_FAILED=16453]="START_PUBLISH_CDN_FAILED",BC[BC.STOP_PUBLISH_CDN_FAILED=16454]="STOP_PUBLISH_CDN_FAILED",BC[BC.START_MIX_TRANSCODE_FAILED=16455]="START_MIX_TRANSCODE_FAILED",BC[BC.STOP_MIX_TRANSCODE_FAILED=16456]="STOP_MIX_TRANSCODE_FAILED",BC[BC.NOT_SUPPORTED_H264=16457]="NOT_SUPPORTED_H264",BC[BC.SWITCH_ROLE_FAILED=16458]="SWITCH_ROLE_FAILED",BC[BC.API_CALL_TIMEOUT=16459]="API_CALL_TIMEOUT",BC[BC.SCHEDULE_FAILED=16460]="SCHEDULE_FAILED",BC[BC.API_CALL_ABORTED=16461]="API_CALL_ABORTED",BC[BC.UNKNOWN=65535]="UNKNOWN",BC),fb=_b,gb=class extends Error{constructor(e){let{name:t="RtcError",message:i,code:n=fb.UNKNOWN,extraCode:r=0,constraint:o}=e,s="<".concat(function(e){for(let t in fb)if(fb[t]===e)return t;return"UNKNOWN"}(n)," 0x").concat(n.toString(16),">"),a="".concat(i).concat(o?" constraint: ".concat(o):"").concat(null!=i&&i.includes(s)?"":" ".concat(s));super(a),sb(this,"code"),sb(this,"extraCode"),sb(this,"message"),sb(this,"originMessage"),sb(this,"name"),sb(this,"constraint"),this.code=n,this.extraCode=r,this.name=t,this.message=a,this.constraint=o,this.originMessage=i}getCode(){return this.code}getExtraCode(){return this.extraCode}toString(){return this.originMessage}},Tb=gb,Eb=((new Date).getTime(),0),Sb=function(){return(new Date).getTime()+Eb},Ib=function(){let e=new Date;return e.setTime(Sb()),e.toLocaleString()},yb={};nb(yb,{bytes2ms:()=>KD,copyProperties:()=>zD,deepMerge:()=>bO,env:()=>vb,fibonacci:()=>eO,formatedTime:()=>DO,getConstructorName:()=>mO,getContainerFromElement:()=>kO,getEnv:()=>FD,getInternalVersion:()=>EO,getLoggerUrl:()=>HD,getMuteStateFromFlag:()=>yO,getNetworkQuality:()=>vO,getNetworkType:()=>WD,getOSType:()=>GD,getReconnectionTimeout:()=>tO,getStringByteLength:()=>PO,getSysInfo:()=>JD,getTerminalType:()=>jD,getTurnServer:()=>AO,getValueType:()=>iO,glog:()=>XD,ipv4ToUint32:()=>RO,isArray:()=>lO,isArrayOrObject:()=>CO,isAudioWorkletSupported:()=>_O,isBoolean:()=>aO,isConstructor:()=>pO,isEmpty:()=>IO,isFunction:()=>nO,isLangChinese:()=>$D,isMediaStreamTrack:()=>dO,isNumber:()=>sO,isObject:()=>cO,isOverseaSdkAppId:()=>BD,isPlainObject:()=>ZD,isPromise:()=>hO,isRemoteTrack:()=>uO,isString:()=>oO,isUndefined:()=>rO,ms2bytes:()=>YD,ms2samples:()=>QD,performanceNow:()=>gO,promiseAny:()=>fO,samples2ms:()=>qD,stringify:()=>OO,stringifyIncludeValue:()=>wO});var vb={};nb(vb,{ANDROID_VERSION:()=>xb,CHROME_MAJOR_VERSION:()=>Vk,CHROME_VERSION:()=>Uk,EDGE_VERSION:()=>Gb,EDG_MAJOR_VERSION:()=>zb,EDG_VERSION:()=>Jb,FIREFOX_MAJOR_VERSION:()=>Hb,FIREFOX_VERSION:()=>Bb,HUAWEI_VERSION:()=>Ck,IE_VERSION:()=>nk,IOS_MAIN_VERSION:()=>Wk,IOS_VERSION:()=>Gk,IPADQQB_VERSION:()=>mk,IS_ANDROID:()=>Mb,IS_ANDROID_WEBVIEW:()=>jk,IS_ANY_SAFARI:()=>Bk,IS_CHROME:()=>Mk,IS_CHROME_OS:()=>Tk,IS_CHROMIUM_BASE:()=>Lk,IS_EDG:()=>Wb,IS_EDGE:()=>jb,IS_ELECTRON:()=>Ik,IS_FIREFOX:()=>Fb,IS_HEADLESS_CHROME:()=>xk,IS_HUAWEI:()=>Rk,IS_HUAWEIBROWSER:()=>Ak,IS_IE:()=>ik,IS_IE8:()=>tk,IS_IOS:()=>Lb,IS_IOS_13_OR_14:()=>Kk,IS_IOS_15_1:()=>zk,IS_IPAD:()=>Db,IS_IPADQQB:()=>pk,IS_IPAD_PRO:()=>Ob,IS_IPHONE:()=>wb,IS_IPOD:()=>Pb,IS_LINUX:()=>gk,IS_LOCAL:()=>qk,IS_MAC:()=>fk,IS_MACQQB:()=>uk,IS_MIBROWSER:()=>yk,IS_MQQB:()=>ak,IS_NATIVE_ANDROID:()=>Ub,IS_OLD_ANDROID:()=>Vb,IS_OPPOBROWSER:()=>Nk,IS_SAFARI:()=>Fk,IS_SAFARI_15_1:()=>Jk,IS_SAMSUNGBROWSER:()=>bk,IS_SOGOU:()=>Yb,IS_SOGOUM:()=>Kb,IS_TBS:()=>Xb,IS_UCBROWSER:()=>Sk,IS_VIVOBROWSER:()=>Ok,IS_WECHAT:()=>rk,IS_WIN:()=>_k,IS_WQQB:()=>lk,IS_WX:()=>Ek,IS_X5MQQB:()=>sk,IS_XWEB:()=>Zb,MACQQB_VERSION:()=>hk,MI_VERSION:()=>vk,MQQB_VERSION:()=>ck,OPPO_VERSION:()=>Dk,SAFARI_VERSION:()=>Hk,SAMSUNG_VERSION:()=>kk,SOGOUM_VERSION:()=>qb,SOGOU_VERSION:()=>Qb,TBS_VERSION:()=>$b,USER_AGENT:()=>Ab,VIVO_VERSION:()=>wk,WECHAT_VERSION:()=>ok,WQQB_VERSION:()=>dk,XWEB_VERSION:()=>ek,browserInfo:()=>Qk,getBrowserInfo:()=>Xk,getChromeMajorVersion:()=>Pk,getOSName:()=>tN,getOSString:()=>iN,getUserAgentData:()=>Zk,isLocalStorageEnabled:()=>Yk});var Ab="undefined"==typeof navigator?"":navigator.userAgent,Rb=e=>new RegExp(e,"i").test(Ab),Cb=e=>{if(Rb(e)){let t=new RegExp("".concat(e,"\\/([\\d.]+)")),i=Ab.match(t);if(i&&i[1])return i[1]}return""},bb=e=>{if(Rb(e)){let t=new RegExp("".concat(e,"\\/(\\d+)")),i=Ab.match(t);if(i&&i[1])return parseFloat(i[1])}return NaN},kb=/AppleWebKit\/([\d.]+)/i.exec(Ab),Nb=kb?parseFloat(kb[1]):NaN,Db=Rb("iPad"),Ob="undefined"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&Rb("Macintosh"),wb=Rb("iPhone")&&!Db,Pb=Rb("iPod"),Lb=wb||Db||Pb||Ob,Mb=Rb("Android"),xb=function(){if(Mb){let e=Ab.match(/Android (\d+)(?:\.(\d+))?(?:\.(\d+))*/i);if(e){let t=e[1]&&parseFloat(e[1]),i=e[2]&&parseFloat(e[2]);if(t&&i)return parseFloat("".concat(e[1],".").concat(e[2]));if(t)return t}}return NaN}(),Vb=Mb&&Rb("webkit")&&xb<2.3,Ub=Mb&&xb<5&&Nb<537,Fb=Rb("Firefox"),Bb=Cb("Firefox"),Hb=bb("Firefox"),jb=Rb("Edge"),Gb=Cb("Edge"),Wb=Rb("Edg"),Jb=Cb("Edg"),zb=bb("Edg"),Kb=Rb("SogouMobileBrowser"),qb=Cb("SogouMobileBrowser"),Yb=Rb("MetaSr\\s"),Qb=Cb("MetaSr\\s"),Xb=Rb("TBS"),$b=Cb("TBS"),Zb=Rb("XWEB"),ek=Cb("XWEB"),tk=Rb("MSIE\\s8\\.0"),ik=Rb("MSIE\\/\\d+"),nk=function(){if(ik){let e=/MSIE\s(\d+)\.\d/.exec(Ab),t=e&&parseFloat(e[1]);return!t&&/Trident\/7.0/i.test(Ab)&&/rv:11.0/.test(Ab)&&(t=11),t}return NaN}(),rk=Rb("(micromessenger|webbrowser)"),ok=Cb("MicroMessenger"),sk=!Xb&&Rb("MQQBrowser")&&Rb("COVC"),ak=!Xb&&Rb("MQQBrowser")&&!Rb("COVC"),ck=ak||sk?Cb("MQQBrowser"):"",lk=!Xb&&Rb(" QQBrowser"),dk=Cb(" QQBrowser"),uk=!Xb&&Rb("QQBrowserLite"),hk=Cb("QQBrowserLite"),pk=!Xb&&Rb("MQBHD"),mk=Cb("MQBHD"),_k=Rb("Windows"),fk=!Lb&&Rb("MAC OS X"),gk=!Mb&&Rb("Linux"),Tk=Rb("CrOS"),Ek=Rb("MicroMessenger"),Sk=Rb("UCBrowser"),Ik=Rb("Electron"),yk=Rb("MiuiBrowser"),vk=Cb("MiuiBrowser"),Ak=Rb("HuaweiBrowser"),Rk=Rb("Huawei"),Ck=Cb("HuaweiBrowser"),bk=Rb("SamsungBrowser"),kk=Cb("SamsungBrowser"),Nk=Rb("HeyTapBrowser"),Dk=Cb("HeyTapBrowser"),Ok=Rb("VivoBrowser"),wk=Cb("VivoBrowser"),Pk=()=>bb("Chrome"),Lk=Rb("Chrome"),Mk=!jb&&!Yb&&!Kb&&!Xb&&!Zb&&!Wb&&!lk&&!yk&&!Ak&&!bk&&!Nk&&!Ok&&Lk,xk=Rb("HeadlessChrome"),Vk=Pk(),Uk=Cb("Chrome"),Fk=!Lk&&!ak&&!sk&&!uk&&!pk&&Rb("Safari"),Bk=Fk||Lb,Hk=Cb("Version"),jk=/Android.*(wv|.0.0.0)/.test(Ab),Gk=(()=>{if(Ob)return Hk;if(Lb){let e=Ab.match(/OS (\d+)_(\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=".".concat(e[2])),t}}return""})(),Wk=Number(Gk.split(".")[0]),Jk="15.1"===Hk,zk="15.1"===Gk,Kk=(()=>{let e=Number(Gk.split(".")[0]);return 14===e||13===e})(),qk="undefined"!=typeof location&&("file:"===location.protocol||"localhost"===location.hostname||"127.0.0.1"===location.hostname),Yk=(()=>{let e;return()=>{if(rO(e))try{e=!!window.localStorage}catch(FL){e=!1}return e}})(),Qk=Xk();function Xk(){let e=new Map([[Fb,["Firefox",Bb]],[Wb,["Edg",Jb]],[Mk,["Chrome",Uk]],[Fk,["Safari",Hk]],[Xb,["TBS",$b]],[Zb,["XWEB",ek]],[rk&&wb,["WeChat",ok]],[lk,["QQ(Win)",dk]],[ak,["QQ(Mobile)",ck]],[sk,["QQ(Mobile X5)",ck]],[uk,["QQ(Mac)",hk]],[pk,["QQ(iPad)",mk]],[yk,["MI",vk]],[Ak,["HW",Ck]],[bk,["Samsung",kk]],[Nk,["OPPO",Dk]],[Ok,["VIVO",wk]],[jb,["EDGE",Gb]],[Kb,["SogouMobile",qb]],[Yb,["Sogou",Qb]]]),t="unknown",i="unknown";return e.has(!0)&&([t,i]=e.get(!0)),{name:t,version:i}}var $k=null;function Zk(){return cb(this,null,(function*(){if($k)return $k;if(!navigator.userAgentData||!nO(navigator.userAgentData.getHighEntropyValues))return null;try{return $k=yield navigator.userAgentData.getHighEntropyValues(["architecture","bitness","model","platformVersion","fullVersionList"])}catch(UL){return null}}))}var eN=new Map([[Mb,"Android"],[Lb,"iOS"],[_k,"Windows"],[fk,"MacOS"],[gk,"Linux"],[Tk,"ChromeOS"]]),tN=function(){return eN.get(!0)?eN.get(!0):$k?$k.platform:"unknown"},iN=()=>{let e=tN();return e+="/".concat(Qk.name,"/").concat(Fk?Qk.version:Qk.version.split(".")[0]),null!=$k&&$k.platformVersion&&(e+="/".concat($k.platformVersion)),null!=$k&&$k.architecture&&(e+="/".concat($k.architecture)),e},nN={};nb(nN,{AUDIO_MUTE_BIT:()=>GN,AUDIO_STAT_BIT:()=>jN,AUX_STAT_BIT:()=>HN,AUX_STREAM_MSID:()=>zN,BACKEND_ENV:()=>VN,BASE_DOC_URL:()=>EN,BASE_HOST:()=>_N,CAPABILITIES_KEYS:()=>VD,CLASS_NAME:()=>AD,CLOUD_CONSOLE_URL:()=>TN,DATA_FREEZE_TIMING:()=>gD,DOC_URL:()=>SN,DTLS_STATE_UNKNOWN:()=>iD,ENV_NAME:()=>RN,EXCHANGE_SDP_TIMEOUT:()=>hD,INTERVAL:()=>MD,IS_WORKER:()=>dN,IS_WORKLET:()=>uN,KIBANA_EVENT:()=>lD,LOCAL_STREAM_PUBLISH_STATE:()=>fD,LOGGER_CMD_TYPE:()=>AN,LOGGER_DOMAIN:()=>IN,LOGGER_DOMAIN_OVERSEA:()=>yN,LOG_LEVEL:()=>CN,LOG_LEVEL_NAME:()=>ND,MAIN_STREAM_MSID:()=>JN,MICROPHONE_COMMUNICATIONS:()=>kD,MICROPHONE_DEFAULT:()=>CD,NAME:()=>MN,NETWORK_TYPE:()=>NN,NOT_SUPPORTED_H264:()=>_D,PAUSED_RETRY_COUNT:()=>RD,PEERCONNECTION_CONNECTING_TIMEOUT:()=>ID,PEER_CONNECTION_STATE:()=>nD,PEER_LEAVE_REASON:()=>DD,RAF:()=>LD,RECOVER_CAPTURE_INTERVAL:()=>wD,REMOTE_STREAM_TYPE_AUX:()=>qN,REMOTE_STREAM_TYPE_MAIN:()=>KN,RENDER_FREEZE_TIMING:()=>TD,RIC:()=>PD,SCHEDULE_DOMAIN:()=>yD,SCHEDULE_TIMEOUT:()=>vD,SDP_SEMANTICS_PLAN_B:()=>mD,SDP_SEMANTICS_UNIFIED_PLAN:()=>pD,SECOND_HOST:()=>fN,SIGNAL_PING_PONG_INTERVAL:()=>kN,SIGNAL_PING_TIMEOUT:()=>bN,SIGNAL_RECONNECTION_COUNT:()=>cD,SMALL_STAT_BIT:()=>BN,SPEAKER_DEFAULT:()=>bD,STORAGE_EXPIRES_TIME:()=>DN,STREAM_TYPE_BIG:()=>ED,STREAM_TYPE_SMALL:()=>SD,SUBSCRIBE_SMALL_RETRY_COUNT:()=>OD,SYNC_USER_LIST_INTERVAL:()=>dD,Scene:()=>UN,Switch:()=>ON,THIRD_HOST:()=>gN,TIMEOUT:()=>xD,TRANSPORT_DIRECTION:()=>xN,TRTC_ERROR_ASSISTANCE:()=>vN,TRTC_QUALITY_BAD:()=>ZN,TRTC_QUALITY_DISCONNECTED:()=>tD,TRTC_QUALITY_EXCELLENT:()=>QN,TRTC_QUALITY_GOOD:()=>XN,TRTC_QUALITY_POOR:()=>$N,TRTC_QUALITY_UNKNOWN:()=>YN,TRTC_QUALITY_VERY_BAD:()=>eD,UPDATE_OFFER_TIMEOUT:()=>uD,VIDEO_MUTE_BIT:()=>WN,VIDEO_STAT_BIT:()=>FN,audioProfileMap:()=>wN,getRetryCount:()=>sD,getScriptDir:()=>hN,innerVersion:()=>rN,loggerProxy:()=>pN,screenProfileMap:()=>LN,setLoggerProxy:()=>mN,setRetryCount:()=>oD,setVersion:()=>sN,version:()=>oN,videoProfileMap:()=>PN});var rN="4.15.00.1600",oN="5.0.0";function sN(e){oN=e;let[t,i,n]=e.split(".").map((e=>parseInt(e,10)));rN="".concat(t,".").concat(Math.min(15,i),".").concat(Math.min(15,n),".").concat(i.toString().padStart(2,"0")).concat(n.toString().padStart(2,"0"))}var aN,cN,lN,dN="undefined"!=typeof importScripts,uN="undefined"!=typeof registerProcessor,hN=()=>{let e=dN?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf("/")+1)},pN="",mN=e=>pN=e,_N="web.sdk.qcloud.com",fN="web.sdk.tencent.cn",gN="web.sdk.cloud.tencent.cn",TN="https://console.cloud.tencent.com/trtc",EN="https://".concat(_N,"/trtc/webrtc/v5/doc"),SN="".concat(EN,"/zh-cn/"),IN="https://yun.tim.qq.com",yN="https://apisgp.my-imcloud.com",vN="trtc_error_assistance",AN={LOG:"jssdk_log",EVENT:"jssdk_event",KEY_POINT:"jssdk_new_endreport"},RN={QCLOUD:"qcloud",OLD_CLOUD_LADDER:"trtc",WEBRTC:"webrtc"},CN=((lN=CN||{})[lN.TRACE=0]="TRACE",lN[lN.DEBUG=1]="DEBUG",lN[lN.INFO=2]="INFO",lN[lN.WARN=3]="WARN",lN[lN.ERROR=4]="ERROR",lN[lN.NONE=5]="NONE",lN),bN=18e3,kN=2e3,NN={unknown:0,wifi:1,"3g":2,"2g":3,"4g":4,wired:5},DN=6048e5,ON=((cN=ON||{}).USEAINS="useAINS",cN.ENABLEDEBUG="enableDebug",cN.USEV2="useV2",cN.USEWT="useWt",cN),wN={standard:{sampleRate:48e3,channelCount:1,bitrate:40},"standard-stereo":{sampleRate:48e3,channelCount:2,bitrate:64},high:{sampleRate:48e3,channelCount:1,bitrate:192},"high-stereo":{sampleRate:48e3,channelCount:2,bitrate:192}},PN={"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}},LN={"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}},MN={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",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"},xN={INACTIVE:"inactive",SENDONLY:"sendonly",RECVONLY:"recvonly"},VN={OLD_CLOUD_LADDER:"wss://trtc.rtc.qq.com",WEBRTC:"wss://webrtc.qq.com"},UN=((aN=UN||{}).LIVE="live",aN.RTC="rtc",aN),FN=1,BN=2,HN=4,jN=8,GN=64,WN=16,JN="5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV",zN="224d130c-7b5c-415b-aaa2-79c2eb5a6df2",KN=MN.MAIN,qN=MN.AUXILIARY,YN=0,QN=1,XN=2,$N=3,ZN=4,eD=5,tD=6,iD="unknown",nD={NEW:"new",CONNECTING:"connecting",FAILED:"failed",CLOSED:"closed",DISCONNECTED:"disconnected",CONNECTED:"connected",COMPLETED:"completed"},rD=1/0;function oD(e){rD=e}function sD(){return rD}var aD,cD=30,lD={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"},dD=1e4,uD=1e4,hD=1e4,pD="unified-plan",mD="plan-b",_D=1028,fD=((aD=fD||{})[aD.UNPUBLISH=-1]="UNPUBLISH",aD[aD.PUBLISHING=0]="PUBLISHING",aD[aD.PUBLISHED=1]="PUBLISHED",aD),gD=500,TD=1e3,ED=MN.BIG,SD=MN.SMALL,ID=1e4,yD={MAIN:"schedule.rtc.qq.com",BACKUP:"schedule.rtc.qcloud.com",MAIN_OVERSEA:"schedule.rtc.tencentcloud.com",BACKUP_OVERSEA:"schedule-ecdn.rtc.tencentcloud.com"},vD=2e3,AD={TRTC:"TRTC",CLIENT:"Client",LOCAL_STREAM:"LocalStream",REMOTE_STREAM:"RemoteStream",STREAM:"Stream"},RD=5,CD="default",bD=CD,kD="communications",ND=Object.keys(CN),DD=["normal leave","timeout leave","kick","role change"],OD=10,wD=2e3,PD="ric",LD="raf",MD="interval",xD="timeout",VD=["width","height","frameRate","facingMode","sampleRate","sampleSize","channelCount","deviceId"],UD=1e8,FD=function(){return new URLSearchParams(location.search).get("trtc_env")||""},BD=e=>Number(e)<14e8,HD=function(e,t){let i;i=pN||(BD(e)?yN:IN);let n=Math.floor(Math.random()*$C(2,31));return"".concat(i,"/v5/AVQualityReportSvc/C2S?random=").concat(n,"&sdkappid=").concat(e,"&cmdtype=").concat(t)};function jD(){return Mb?4:wb?2:Db?3:fk?12:_k?5:gk?13:1}function GD(){return Mb?"Android":wb?"iPhone":Db?"iPad":fk?"Mac":_k?"Windows":gk?"Linux":"unknown"}function WD(){let{userAgent:e,connection:t}=navigator,i=(e.match(/NetType\/\S+/)||[])[0]||"";i=i.toLowerCase().replace("nettype/",""),"3gnet"===i&&(i="3g");let n=t&&t.type&&t.type.toLowerCase(),r=t&&t.effectiveType&&t.effectiveType.toLowerCase();"slow-2"===r&&(r="2g");let o=i||"unknown";if(n)switch(n){case"cellular":case"wimax":o=r||"unknown";break;case"wifi":o="wifi";break;case"ethernet":o="wired";break;default:o="unknown"}return o}var JD=function(e){return{AbilityOption:{AVLimit:e,GeneralLimit:{CPULimit:{uint32_CPU_num:navigator.hardwareConcurrency||0,str_CPU_name:String(navigator.platform),uint32_CPU_maxfreq:0,model:"",uint32_total_memory:0},uint32_terminal_type:jD(),uint32_device_type:0,str_os_verion:GD(),uint32_link_type:1,str_client_version:rN,uint32_net_type:NN[WD()],ua:navigator.userAgent,version:""}}}};function zD(e,t){for(let i of Reflect.ownKeys(t))if("constructor"!==i&&"prototype"!==i&&"name"!==i){let n=Object.getOwnPropertyDescriptor(t,i)||"";Object.defineProperty(e,i,n)}return e}function KD(e){return qD(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function qD(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function YD(e){return 4*QD(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function QD(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var XD="undefined"!=typeof window&&"function"==typeof window.glog?window.glog:()=>{},$D=()=>{let e=navigator.language;return e=e.substring(0,2),"zh"===e},ZD=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 i=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return"function"==typeof i&&i instanceof i&&Function.prototype.toString.call(i)===Function.prototype.toString.call(Object)};function eO(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:eO(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function tO(e){return e>8?3e4:1e3*eO(e)}function iO(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\[object\s(\w+)\]$/,"$1").toLowerCase()}var nO=e=>"function"==typeof e,rO=e=>void 0===e,oO=e=>"string"==typeof e,sO=e=>"number"==typeof e,aO=e=>"boolean"==typeof e,cO=e=>"object"===iO(e),lO=e=>"array"===iO(e),dO=e=>iO(e)==="MediaStreamTrack".toLowerCase(),uO=e=>e.isRemote,hO=e=>"promise"===iO(e),pO=e=>nO(e)&&e.prototype.constructor===e,mO=e=>pO(e)?e.prototype.constructor.name:"",_O="undefined"!=typeof AudioWorkletNode;function fO(e){return new Promise(((t,i)=>{let n=[];e.forEach((r=>{r.then(t).catch((t=>{n.push(t),n.length===e.length&&i(n)}))}))}))}function gO(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var TO=e=>+e<10?"0".concat(e):e,EO=e=>{let t=e.match(/^\d+\.\d+\.\d+/)[0];if(!t)return e;let i=t.split("."),n=TO(i[1])+TO(i[2]);return i[1]-15>0&&(i[1]="15"),i[2]-15>0&&(i[2]="15"),"".concat(i.join("."),".").concat(n)},SO=Object.prototype.hasOwnProperty;function IO(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(ZD(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(SO.call(e,t))return!1;return!0}return!1}function yO(e,t){return{userId:t,hasAudio:!!(e&jN),hasVideo:!!(e&FN),hasAuxiliary:!!(e&HN),hasSmall:!!(e&BN),audioMuted:!!(e&GN),videoMuted:!!(e&WN),audioAvailable:!(!(e&jN)||e&GN),videoAvailable:!(!(e&FN)||e&WN)}}function vO(e,t){return e>50||t>500?5:e>30||t>350?4:e>20||t>200?3:e>10||t>100?2:e>=0||t>=0?1:0}function AO(e){let t={urls:"turn:".concat(e.url)};return!rO(e.username)&&!rO(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType="password",rO(e.credentialType)||(t.credentialType=e.credentialType)),t}function RO(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!oO(e))return 0;let i=e.split(".");return t?(Number(i[0])<<24|Number(i[1])<<16|Number(i[2])<<8|Number(i[3]))>>>0:(Number(i[3])<<24|Number(i[2])<<16|Number(i[1])<<8|Number(i[0]))>>>0}var CO=function(e){return lO(e)||cO(e)},bO=function(e,t,i,n){if(!CO(e)||!CO(t))return 0;let r,o=0,s=Object.keys(t);for(let a=0,c=s.length;aoO(e)?document.getElementById(e):e,NO=new Intl.DateTimeFormat("zh-CN",{dateStyle:"short",timeStyle:"medium"}),DO=()=>NO.format(new Date);function OO(e,t){let{keysToInclude:i,keysToExclude:n}=t;try{if(lO(e))return"[".concat(e.map((e=>OO(e,{keysToInclude:i,keysToExclude:n}))).join(","),"]");if(!ZD(e)||!lO(i)&&!lO(n))return JSON.stringify(e);let t={},r=new Set(i),o=new Set(n);return Object.keys(e).forEach((s=>{(0===o.size&&r.has(s)||0===r.size&&!o.has(s))&&(t[s]=ZD(e[s])||lO(e[s])?JSON.parse(OO(e[s],{keysToExclude:n,keysToInclude:i})):e[s])})),JSON.stringify(t)}catch(aD){return"{}"}}function wO(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=[];return Object.keys(e).forEach((n=>{t===e[n]&&i.push(n)})),OO(e,{keysToInclude:i})}function PO(e){return e.replace(/[\u4e00-\u9fa5]/g,"aa").length}function LO(e){let{url:t,body:i,method:n,timeout:r}=e,o=new XMLHttpRequest;return new Promise(((e,s)=>{o.onreadystatechange=()=>{if(4===o.readyState)if(o.status>=200&&o.status<300)try{let t=JSON.parse(o.response);e({data:t})}catch(JV){e({data:o.response})}else s({status:o.status,statusText:o.statusText||"request failed!"})},o.timeout=r||5e3,o.open(n||"POST",t,!0),o.send(i)}))}var MO,xO=function(e){let{retryFunction:t,settings:i,onError:n,onRetrying:r,onRetryFailed:o,onRetrySuccess:s,context:a}=e;return function(){for(var e=arguments.length,c=new Array(e),l=0;lcb(this,null,(function*(){let l=a||this;try{let i=yield t.apply(l,c);h>0&&s&&s.call(this,h),h=0,e(i)}catch(g){let s=()=>{clearTimeout(p),h=0,m=2,i(g)},a=()=>{2!==m&&h<(nO(d)?d():d)?(h++,m=1,nO(r)&&r.call(this,h,s),p=window.setTimeout((()=>{p=-1,_(e,i)}),nO(u)?u(h):u)):(s(),nO(o)&&o.call(this,g))};nO(n)?n.call(this,{error:g,retry:a,reject:i,retryFuncArgs:c,retryCount:h}):a()}}));return new Promise(_)}},VO=class{constructor(e){sb(this,"userId"),sb(this,"remoteUserId"),sb(this,"id"),sb(this,"sdkAppId"),sb(this,"type"),sb(this,"isLocal"),this.id=e.id,this.userId=e.userId,this.sdkAppId=e.sdkAppId,this.remoteUserId=e.remoteUserId,this.isLocal=!aO(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 i=this.isLocal?this.userId:this.remoteUserId;t.unshift("[".concat(this.isLocal?"↑":"↓").concat(this.type&&"main"!==this.type?"*":"").concat(this.id).concat(i?"|".concat(i):"","]")),jO.log(e,t,rO(this.userId)||IO(this.userId),this.userId,this.sdkAppId)}info(){for(var e=arguments.length,t=new Array(e),i=0;i{let{schedule:t}=e;var i;(null==(i=null==t?void 0:t.config)?void 0:i.logLevelToUpload)&&CN[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),UO.on(BO.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),UO.once(BO.JOIN_FAILED,(()=>{this.startUpload()})),UO.on(BO.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()),2e3)}getLogsToUpload(){let e={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&0===this._localJoinedUser.size)return e;let t=0;for(;t{let{userId:n,sdkAppId:r}=t;e.map.has(n)?e.map.get(n).logs.push(i):e.map.set(n,{userId:n,sdkAppId:r,logs:[i]})}));else if(oO(i.userId)&&sO(i.sdkAppId)){let{userId:t,sdkAppId:n}=i;e.map.has(t)?e.map.get(t).logs.push(i):e.map.set(t,{userId:t,sdkAppId:n,logs:[i]})}}return e.map.size>0&&(e.splicedQueue=this._queue.splice(0,t)),e}upload(){return cb(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;ee.log)).join("\n")}),n),r.forEach((e=>e.uploaded=!0))}}catch(cN){}let i=t.filter((e=>!e.uploaded));i.length>0&&(this._queue=i.concat(this._queue))}))}uploadLogWithRetry(e,t){return xO({retryFunction:()=>LO({url:HD(t,AN.LOG),body:e,timeout:5e3}),settings:{retries:3,timeout:1e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;t.setTime(Sb());let i=String(t.getMilliseconds());return"padStart"in String.prototype&&(i=i.toString().padStart(3,"0")),"[".concat(t.toTimeString().replace(/.*(\d{2}:\d{2}:\d{2}).*/,"$1"),":").concat(i,"] <").concat(CN[e],">")}getLogLevel(){return this._logLevel}setLogLevel(e){rO(CN[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(oO(e))return e;try{return JSON.stringify(e)}catch(aN){return""}}log(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0;var o;if(t.unshift(this.getPrefix(e)),this._isEnableUploadLog&&e>=this._logLevelToUpload&&this._queue.push({log:t.reduce(((e,t)=>"".concat(e," ").concat(this.logChunkToString(t)).trim()),""),level:e,userId:n,sdkAppId:r,forAllJoinedClients:i}),e{let t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))},WO=new class{constructor(){sb(this,"_prefix","TRTC"),sb(this,"_queue",new Map),this.checkStorage()}getRealKey(e){return"".concat(this._prefix,"_").concat(e)}checkStorage(){Yk()&&(setInterval(this.doFlush.bind(this),2e4),Object.keys(localStorage).filter((e=>{if(e.startsWith(this._prefix)){let t=JSON.parse(localStorage.getItem(e));if(t&&t.expiresInlocalStorage.removeItem(e))))}doFlush(){if(Yk())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(FL){jO.warn(FL)}}getItem(e){if(!Yk())return null;try{let t=JSON.parse(localStorage.getItem(this.getRealKey(e)));return t&&t.expiresIn>=Date.now()?t.value:null}catch(aN){jO.warn(aN)}}setItem(e,t){if(Yk())try{let i={expiresIn:Date.now()+DN,value:t};this._queue.set(this.getRealKey(e),i)}catch(aD){jO.warn(aD)}}deleteItem(e){if(!Yk())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(aN){return jO.warn(aN),!1}}clear(){if(Yk())try{localStorage.clear()}catch(FL){jO.warn(FL)}}},JO={};nb(JO,{HTTPS_API:()=>uw,IS_GET_CAPABILITIES_SUPPORTED:()=>kw,IS_GET_SETTINGS_SUPPORTED:()=>bw,IS_SEI_SUPPORTED:()=>Nw,IS_SPC_SUPPORTED:()=>vw,basis:()=>Lw,checkSystemRequirementsInternal:()=>cw,decodeSupportStatus:()=>aw,encodeSupportStatus:()=>sw,getBrowserInfo:()=>ZO,getDisplayResolution:()=>pw,isAddTransceiverSupported:()=>yw,isBrowserSupported:()=>ew,isGetReceiversSupported:()=>Ew,isGetSendersSupported:()=>Sw,isGetTransceiversSupported:()=>Iw,isGetUserMediaSupported:()=>mw,isMediaDevicesSupported:()=>iw,isMediaSessionSupported:()=>ww,isMediaStreamTrackProcessorSupported:()=>ow,isReplaceTrackSupported:()=>Rw,isScreenCaptureApiAvailable:()=>dw,isSelectedCandidatePair:()=>hw,isSetParametersSupported:()=>Cw,isSmallStreamAPISupported:()=>fw,isSmallStreamSupported:()=>gw,isStopTransceiverSupported:()=>Aw,isTRTCSupported:()=>lw,isUnifiedPlanDefault:()=>Tw,isUsedInHttpProtocol:()=>rw,isWebAudioSupported:()=>_w,isWebCodecSupported:()=>Ow,isWebCodecsSupported:()=>tw,isWebRTCSupported:()=>Dw,isWebTransportSupported:()=>Pw});var zO={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_EMPTY:"SEI_EMPTY",SEI_OVERSIZE:"SEI_OVERSIZE",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"},KO={AVOID_REPEATED_CALL:e=>"previous ".concat(e.name,"() is ongoing, please avoid repeated calls."),INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' is a required param when calling ").concat(n,"(), received: ").concat(r,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:i,fnName:n,value:r}=e,o="".concat(t||i.name),s="";return s=Array.isArray(i.type)?i.type.join("|"):i.type,"'".concat(o,"' must be type of ").concat(s," when calling ").concat(n,"(), received type: ").concat(iO(r),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' cannot be '").concat(r,"' when calling ").concat(n,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:i,fnName:n,value:r}=e,o="".concat(t||i.name),s="".concat(i.instanceOf.name||i.instanceOf);return"'".concat(o,"' must be instanceof ").concat(s," when calling ").concat(n,"(), received type: ").concat(iO(r),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' must be one of ").concat(i.values.join("|")," when calling ").concat(n,"(), received: ").concat(r,".")},INVALID_PARAMETER_MIN(e){let{key:t,rule:i,fnName:n,value:r}=e;return"the min value of ".concat(t||i.name," is ").concat(i.min,", received: ").concat(r,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:i,fnName:n,value:r}=e;return"the max value of ".concat(t||i.name," is ").concat(i.max,", received: ").concat(r,".")},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:i}=e;return"Failed to join room - ".concat(t," code: ").concat(i)},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/".concat("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:i,streamType:n}=e;return"failed to subscribe ".concat(i," ").concat(n," 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 ".concat("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:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' cannot be less than 0 when calling ").concat(n,"().")},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:i}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(i,"().")},INVALID_ELEMENT_ID_TYPE:e=>{let{key:t,fnName:i,type:n}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(i,"(), received: ").concat(n,".")},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:i}=e;return"an error was caught on ".concat(t,".on('").concat(i,"', handler), please check your code on 'handler'.")},API_NOT_EXIST(e){let{name:t}=e;return"experimental api ".concat(t," does not exist.")},REPEAT_JOIN:e=>"[".concat(e,"] is calling client.join api or has already joined room, 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_EMPTY:"buffer cannot be empty",SEI_OVERSIZE:e=>"buffer size(".concat(e,") is over 1000 Bytes"),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:i,timesInSecond:n,maxSizeInSecond:r}=e;return"api ".concat(i," call ").concat(t?"size":"times"," is over ").concat(t?"".concat(r," bytes"):n," 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,"()")},qO=(e,t)=>t?"".concat(EN,"/").concat(e,"/").concat(t):"".concat(EN,"/").concat(e,"/index.html"),YO=()=>{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=localStorage.getItem(vN);if(e){e=JSON.parse(e);let t=document.createElement("script");t.type="text/javascript",t.text=e.message,document.body.appendChild(t);let i=window.TRTC_ERROR_INFO,n=window.TRTC_ERROR_LINK;return document.body.removeChild(t),{TRTC_ERROR_INFO:i,TRTC_ERROR_LINK:n}}return{}};function QO(e){let{key:t,data:i,link:n,addDocLink:r=!0}=e,o="",s="",a="";nO(KO[t])?o=KO[t](i):oO(KO[t])&&(o=KO[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=YO();n?a="".concat(n.className,".html#").concat(n.fnName):l&&l[t]&&(nO(l[t])?a=l[t](i):oO(l[t])&&(a=l[t]));let d=o;return $D()&&(c&&c[t]&&(nO(c[t])?s=c[t](i):oO(c[t])&&(s=c[t])),s&&(d=r?"".concat(s,"\n请查看文档: ").concat(qO("zh-cn",a),"\n\n"):"".concat(s,"\n\n"),d+=o)),r&&(d+=" \nRefer to: ".concat(qO("en",a),"\n")),d}var XO={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1}},$O=new Map([[Fb,["Firefox",Bb]],[Wb,["Edg",Jb]],[Mk,["Chrome",Uk]],[Fk,["Safari",Hk]],[Xb,["TBS",$b]],[Zb,["XWEB",ek]],[rk&&wb,["WeChat",ok]],[lk,["QQ(Win)",dk]],[ak,["QQ(Mobile)",ck]],[sk,["QQ(Mobile X5)",ck]],[uk,["QQ(Mac)",hk]],[pk,["QQ(iPad)",mk]],[yk,["MI",vk]],[Ak,["HW",Ck]],[bk,["Samsung",kk]],[Nk,["OPPO",Dk]],[Ok,["VIVO",wk]],[jb,["EDGE",Gb]],[Kb,["SogouMobile",qb]],[Yb,["Sogou",Qb]]]);function ZO(){let e=$O.get(!0);return{browserName:e?e[0]:"unknown",browserVersion:e?e[1]:"unknown"}}var ew=function(){return!(Sk||jb||Wb&&zb<80||Fb&&Hb<56)},tw=function(){return["VideoDecoder","VideoEncoder","AudioEncoder","AudioDecoder","MediaStreamTrackGenerator"].every((e=>e in window))},iw=function(){if(!navigator.mediaDevices)return rw()||jO.error(KO.NOT_SUPPORTED_MEDIA),!1;let e=["getUserMedia","enumerateDevices"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},nw=!1;function rw(){return"http:"===location.protocol&&!qk&&(nw||jO.error(QO({key:zO.NOT_SUPPORTED_HTTP})),nw=!0,!0)}var ow=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},sw=function(){return cb(this,null,(function*(){if(XO.detail.isH264EncodeSupported||XO.detail.isVp8EncodeSupported)return{isH264EncodeSupported:XO.detail.isH264EncodeSupported,isVp8EncodeSupported:XO.detail.isVp8EncodeSupported};let e,t=!1,i=!1;try{let n=new RTCPeerConnection,r=document.createElement(MN.CANVAS);r.getContext("2d");let o=r.captureStream(0);return n.addTrack(o.getVideoTracks()[0],o),e=yield n.createOffer(),-1!==e.sdp.toLowerCase().indexOf("h264")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf("vp8")&&(i=!0),n.close(),XO.detail.isH264EncodeSupported=t,XO.detail.isVp8EncodeSupported=i,{isH264EncodeSupported:XO.detail.isH264EncodeSupported,isVp8EncodeSupported:XO.detail.isVp8EncodeSupported}}catch(aD){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1}}}))},aw=function(){return cb(this,null,(function*(){if(XO.detail.isH264DecodeSupported&&XO.detail.isVp8DecodeSupported)return{isH264DecodeSupported:XO.detail.isH264DecodeSupported,isVp8DecodeSupported:XO.detail.isVp8DecodeSupported};let e,t=!1,i=!1;try{let n=new RTCPeerConnection;return e=yield n.createOffer({offerToReceiveAudio:!0,offerToReceiveVideo:!0}),-1!==e.sdp.toLowerCase().indexOf("h264")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf("vp8")&&(i=!0),n.close(),{isH264DecodeSupported:t,isVp8DecodeSupported:i}}catch(aD){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1}}}))},cw=function(){return cb(this,null,(function*(){if(XO.result)return XO;let e=ew(),t=Dw(),i=tw(),n=iw(),{isH264EncodeSupported:r,isVp8EncodeSupported:o}=yield sw(),{isH264DecodeSupported:s,isVp8DecodeSupported:a}=yield aw();return XO.result=e&&t&&n&&(r||o)&&(s||a),XO.detail.isBrowserSupported=e,XO.detail.isWebRTCSupported=t,XO.detail.isWebCodecsSupported=i,XO.detail.isMediaDevicesSupported=n,XO.detail.isScreenShareSupported=dw(),XO.detail.isSmallStreamSupported=gw(),XO.detail.isH264EncodeSupported=r,XO.detail.isVp8EncodeSupported=o,XO.detail.isH264DecodeSupported=s,XO.detail.isVp8DecodeSupported=a,XO.result||jO.error("".concat(navigator.userAgent," ").concat(wO(XO.detail,!1))),XO}))},lw=function(){return XO.result},dw=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},uw=(e,t,i)=>{"http:"===location.protocol&&!qk&&(e[t]=()=>{throw new Tb({code:fb.INVALID_OPERATION,message:KO.NOT_SUPPORTED_HTTP})})},hw=function(e){return!("candidate-pair"!==e.type||!e.nominated||"in-progress"!==e.state&&"succeeded"!==e.state)&&!(aO(e.selected)&&!e.selected)};function pw(){let e="";if(screen.width){let t=screen.width?screen.width*window.devicePixelRatio:"",i=screen.height?screen.height*window.devicePixelRatio:"";e+="".concat(t," * ").concat(i)}return e}function mw(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function _w(){let e={isSupported:!1},t=["AudioContext","webkitAudioContext","mozAudioContext","msAudioContext"];for(let i=0;i=86,Dw=function(){return["RTCPeerConnection","webkitRTCPeerConnection","RTCIceGatherer"].filter((e=>e in window)).length>0};function Ow(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return rO(window.AudioDecoder)||(e.AudioDecoder=!0),rO(window.AudioEncoder)||(e.AudioEncoder=!0),rO(window.VideoDecoder)||(e.VideoDecoder=!0),rO(window.VideoEncoder)||(e.VideoEncoder=!0),rO(window.ImageDecoder)||(e.ImageDecoder=!0),e}function ww(){return"mediaSession"in navigator&&!rO(navigator.mediaSession.setActionHandler)}function Pw(){return!rO(window.WebTransport)}function Lw(){let e={browser:"".concat(Qk.name,"/").concat(Qk.version),os:tN(),displayResolution:pw(),isScreenShareSupported:dw(),isWebRTCSupported:Dw(),isGetUserMediaSupported:mw(),isWebAudioSupported:_w(),isWebSocketsSupported:"WebSocket"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:Ow(),isMediaSessionSupported:ww(),isWebTransportSupported:Pw()};return navigator.userAgent.includes("miniProgram")&&(e.browser="mini/".concat(e.browser)),e}var Mw=rb(lb(),1),xw=Symbol("instance"),Vw=Symbol("cacheResult"),Uw=class{constructor(e,t,i){this.oldState=e,this.newState=t,this.action=i,this.aborted=!1}abort(e){this.aborted=!0,Gw.call(e,this.oldState,new Error("action '".concat(this.action,"' aborted")))}toString(){return"".concat(this.action,"ing")}},Fw=class extends Error{constructor(e,t,i){super(t),this.state=e,this.message=t,this.cause=i}},Bw=new Map;function Hw(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(n,r,o)=>{let s=i.action||r;if(!i.context){let i=Bw.get(n)||[];Bw.has(n)||Bw.set(n,i),i.push({from:e,to:t,action:s})}let a=o.value;o.value=function(){let n=this;for(var r=arguments.length,o=new Array(r),c=0;c{var r;return n[Vw]=e,u.aborted||(Gw.call(n,t),null===(r=i.success)||void 0===r||r.call(this,n[Vw])),e},p=e=>{let t=e instanceof Error?e.message:String(e);if(Gw.call(n,d,e),!i.fail){if(i.ignoreError)return e;throw e}i.fail.call(this,new Fw(n._state,"action '".concat(s,"' failed :").concat(t),e instanceof Error?e:new Error(t)))};try{let e=a.apply(this,o);return function(e){return"object"==typeof e&&e&&"then"in e}(e)?e.then(h).catch(p):h(e)}catch(_){p(_)}}}}var jw="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 Gw(e,t){let i=this._state;this._state=e;let n=e.toString();e&&this.emit(n,i),this.emit(Ww.STATECHANGED,e,i,t),this.updateDevTools({value:e,old:i,err:t instanceof Error?t.message:String(t)})}var Ww=class extends Mw.default{constructor(e,t,i){super(),this.name=e,this.groupName=t,this._state=Ww.INIT,e||(e=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),t||(this.groupName=this.constructor.name);let n=i[xw];n?this.name=n.name+"-"+n.count++:i[xw]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=Bw.get(e)||[],i=new Set,n=[],r=[],o=new Set,s=Object.getPrototypeOf(e);Bw.has(s)&&(s.stateDiagram.forEach((e=>i.add(e))),s.allStates.forEach((e=>o.add(e)))),t.forEach((e=>{let{from:t,to:i,action:o}=e;"string"==typeof t?n.push({from:t,to:i,action:o}):t.length?t.forEach((e=>{n.push({from:e,to:i,action:o})})):r.push({to:i,action:o})})),n.forEach((e=>{let{from:t,to:n,action:r}=e;o.add(t),o.add(n),o.add(r+"ing"),i.add("".concat(t," --\x3e ").concat(r,"ing : ").concat(r)),i.add("".concat(r,"ing --\x3e ").concat(n," : ").concat(r," 🟢")),i.add("".concat(r,"ing --\x3e ").concat(t," : ").concat(r," 🔴"))})),r.forEach((e=>{let{to:t,action:n}=e;i.add("".concat(n,"ing --\x3e ").concat(t," : ").concat(n," 🟢")),o.forEach((e=>{e!==t&&i.add("".concat(e," --\x3e ").concat(n,"ing : ").concat(n))}))}));let a=[...i];return Object.defineProperties(e,{stateDiagram:{value:a},allStates:{value:o}}),a}static get(e){let t;return"string"==typeof e?(t=Ww.instances.get(e),t||Ww.instances.set(e,t=new Ww(e,void 0,Object.create(Ww.prototype)))):(t=Ww.instances2.get(e),t||Ww.instances2.set(e,t=new Ww(e.constructor.name,void 0,Object.create(Ww.prototype)))),t}static getState(e){var t;return null===(t=Ww.get(e))||void 0===t?void 0:t.state}updateDevTools(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};jw(Ww.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},e))}get state(){return this._state}set state(e){Gw.call(this,e)}};Ww.STATECHANGED="stateChanged",Ww.UPDATEAFSM="updateAFSM",Ww.INIT="[*]",Ww.ON="on",Ww.OFF="off",Ww.instances=new Map,Ww.instances2=new WeakMap;var Jw=(null==window?void 0:window.requestIdleCallback)||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},zw=(null==window?void 0:window.cancelIdleCallback)||function(e){clearTimeout(e)},Kw=(null==window?void 0:window.cancelAnimationFrame)||(null==window?void 0:window.mozCancelAnimationFrame),qw=class{static generateTaskID(){return this.currentTaskID++}static run(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:xD,t=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0;i=eb(e===MD?{delay:2e3,count:0,backgroundTask:!0}:e===PD?{delay:1e4,count:0}:e===LD?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0},i),cO(t)&&(i=eb(eb({},i),t)),nO(e)&&(t=e,e=xD);let n=eb({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:e,callback:t},i);return this.taskMap.set(n.taskID,n),this[e](n),n.taskID}static interval(e){return e.intervalID=setInterval((()=>{e.callback(),e.loopCount+=1,this.isBreakLoop(e)}),e.delay)}static intervalInWorker(e){e.delay=(1e3/e.fps).toFixed(2);let t=new Worker(URL.createObjectURL(new Blob(["\n let timerID = null;\n self.onmessage = function (e) {\n if (e.data === 'start') {\n timerID = setInterval(() => {\n self.postMessage('tick');\n }, ".concat(e.delay,");\n } else if (e.data === 'stop') {\n clearInterval(timerID);\n }\n };\n ")])));t.onmessage=i=>{"tick"===i.data&&(e.callback(),e.loopCount+=1,this.isBreakLoop(e)&&t.postMessage("stop"))},e.worker=t,t.postMessage("start")}static timeout(e){let t=()=>{if(e.callback(),e.loopCount+=1,!this.isBreakLoop(e))return e.timeoutID=setTimeout(t,e.delay)};return e.timeoutID=setTimeout(t,e.delay)}static ric(e){let t,i=gO(),n=()=>{if(t=gO()-i,t>=e.delay&&(i=gO()-Math.floor(t%e.delay),e.callback(),e.loopCount+=1),!this.isBreakLoop(e))return e.ricID=Jw(n,{timeout:e.delay})};return e.ricID=Jw(n,{timeout:e.delay})}static raf(e){e.delay=(1e3/e.fps).toFixed(2);let t,i=gO(),n=()=>document.hidden&&e.backgroundTask?(t=gO()-i,i=gO(),e.callback(),e.loopCount+=1,this.isBreakLoop(e)?void 0:e.timeoutID=setTimeout(n,e.delay-Math.floor(t%e.delay))):(t=gO()-i,t>=e.delay&&(i=gO()-Math.floor(t%e.delay),e.callback(),e.loopCount+=1),this.isBreakLoop(e)?void 0:e.rafID=requestAnimationFrame(n));if(e.rafID=requestAnimationFrame(n),e.backgroundTask){let t=()=>{if(document.hidden){let t=gO()-i;t>=e.delay?n():e.timeoutID=setTimeout(n,e.delay-t)}};document.addEventListener("visibilitychange",t),e.onVisibilitychange=t,document.hidden&&t()}return e.taskID}static hasTask(e){return this.taskMap.has(e)}static clearTask(e){if(!this.taskMap.has(e))return!0;let{intervalID:t,timeoutID:i,rafID:n,ricID:r,onVisibilitychange:o,worker:s}=this.taskMap.get(e);return s&&s.terminate(),t&&clearInterval(t),i&&clearTimeout(i),n&&Kw(n),r&&zw(r),o&&document.removeEventListener("visibilitychange",o),this.taskMap.delete(e),!0}static isBreakLoop(e){return!this.taskMap.has(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}};qw.taskMap=new Map,qw.currentTaskID=1;var Yw=qw;MN.SEI_MESSAGE;var Qw={LOADED_DATA:MN.LOADEDDATA,MEDIA_TRACK_CHANGED:"media-track-changed",PLAYER_STATE_CHANGED:"player-state-changed"},Xw=new class{constructor(){sb(this,"_roomIdMap",new Map),sb(this,"_configs"),"undefined"==typeof registerProcessor&&(this._configs={sdkAppId:"",userId:"",version:oN,env:RN.QCLOUD,browserVersion:Qk.name+Qk.version,ua:navigator.userAgent})}setConfig(e){let{sdkAppId:t,env:i,userId:n,roomId:r}=e;t!==this._configs.sdkAppId&&(this._configs.sdkAppId=String(t)),this._configs.env=i,this._configs.userId=n,this._roomIdMap.set(n,String(r))}logSuccessEvent(e){qk||!jO.isAbleToUpload||this._configs.env===RN.QCLOUD&&this.uploadEventToKibana(tb(eb({},e),{result:"success"}))}logFailedEvent(e){if(qk||!jO.isAbleToUpload)return;let{eventType:t,code:i,error:n,userId:r}=e,o={roomId:this._roomIdMap.get(r||this._configs.userId),userId:r,eventType:t,result:"failed",code:i||(null==n?void 0:n.extraCode)||(null==n?void 0:n.code)||fb.UNKNOWN};this._configs.env===RN.QCLOUD&&this.uploadEventToKibana(tb(eb({},o),{error:n}))}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:i,error:n}=e,r={timestamp:Ib(),sdkAppId:this._configs.sdkAppId,userId:i||this._configs.userId,version:oN,log:t};n&&(r.errorInfo=n.message),this.sendRequest(HD(this._configs.sdkAppId,AN.LOG),r)}sendRequest(e,t){jO.isAbleToUpload?LO({url:e,body:JSON.stringify(t)}).catch((()=>{})):setTimeout((()=>{this.sendRequest(e,t)}),1e3)}},$w="trtc_autoplay",Zw="".concat($w,"_mask"),eP="".concat($w,"_wrapper"),tP="".concat($w,"_header"),iP="".concat($w,"_content"),nP="".concat($w,"_action_wrapper"),rP="".concat($w,"_question"),oP="".concat($w,"_collapse"),sP="".concat($w,"_action_confirm"),aP="".concat($w,"_detail"),cP="#2473E8",lP="dialog",dP="".concat(lP,"-show"),uP="".concat(lP,"-1"),hP="".concat(lP,"-2"),pP=!1,mP=()=>!!document.querySelector(".".concat(eP)),_P="".concat(EN,"/").concat($D()?"zh-cn":"en","/tutorial-21-advanced-auto-play-policy.html"),fP="
").concat($D()?"其他方案?":"Any other solution?",""),gP="".concat($D()?"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。".concat(fP):"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(fP)),TP=class{constructor(){if(sb(this,"content","音视频播放被浏览器拦截,请点击“恢复播放”。"),sb(this,"_dialogNode",null),sb(this,"_bodyPosition",""),sb(this,"_showDetail",!1),sb(this,"_isCollapseClicked",!1),sb(this,"_isQuestionClicked",!1),$D()||(this.content='Media playback failed. Click the "Resume" to resume playback.'),!pP){let e=document.createElement("style");e.innerHTML=".".concat(Zw,"{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(Zw," div:not(.").concat(nP,"){display:block !important;}.").concat(eP,"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.").concat(eP," a{color:").concat(cP,";}.").concat(tP,"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.").concat(iP,"{margin:8px 0;}.").concat(nP,"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.").concat(oP,"{margin-right:auto;cursor:pointer}.").concat(rP,"{height:100%;line-height:16px;cursor:pointer;}.").concat(sP,"{margin-left:8px;color:#fff;background:").concat(cP,";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.").concat(sP,":hover{opacity:0.9;}.").concat(oP,",.").concat(sP,",.").concat(iP,",.").concat(rP,"{font-size:14px;}@media screen and (max-width:750px){.").concat(eP,"{width:80vw;}}"),document.head.appendChild(e),pP=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement("template");e.innerHTML='
").concat(location.host,"
").concat(this.content,"
").trim();let t=document.createElement("button");t.className=sP,t.innerText=$D()?"恢复播放":"Resume",t.onclick=this.onConfirm.bind(this);let i=document.createElement("div");i.className=rP,i.innerHTML='\n \n \n \n \n \n ',i.onclick=this.onQuestionClick.bind(this);let n=document.createElement("div");n.className=oP,n.innerText="".concat($D()?"详情 >":"Detail >"),n.onclick=this.onCollapseClick.bind(this);let r=e.content.firstChild,o=r.querySelector(".".concat(nP));return o.appendChild(n),o.appendChild(i),o.appendChild(t),r}addDiaLog(){mP()||(this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(".".concat(eP)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position="fixed",jO.info("show autoplay dialog"),Xw.uploadEvent({log:dP}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null)}onConfirm(){jO.warn("confirm clicked, try resume stream"),UO.emit(BO.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(".".concat(aP));e.style.visibility="".concat(this._showDetail?"hidden":"visible"),e.style.height="".concat(this._showDetail?0:"fit-content"),this._showDetail=!this._showDetail,this._isCollapseClicked||Xw.uploadEvent({log:uP}),this._isCollapseClicked=!0}onQuestionClick(){window.open(_P,"_blank"),this._isQuestionClicked||Xw.uploadEvent({log:hP}),this._isQuestionClicked=!0}},EP={};nb(EP,{create:()=>IP,remove:()=>yP});var SP=new WeakMap;function IP(e,t){SP.has(e)||SP.set(e,[]);let i=SP.get(e),n={add:(e,r)=>("addEventListener"in t?(i.push(t.removeEventListener.bind(t,e,r)),t.addEventListener(e,r)):(i.push(t.off.bind(t,e,r)),t.on(e,r)),n)};return n}function yP(e){let t=SP.get(e);t&&(t.forEach((e=>e())),SP.delete(e))}var vP=class extends Ww{constructor(e,t){super(e.id,"".concat(t,"-player")),this.kind=t,sb(this,"id"),sb(this,"element",null),sb(this,"container",null),sb(this,"mediaStream",new MediaStream),sb(this,"track"),sb(this,"url"),sb(this,"attr"),sb(this,"muted"),sb(this,"_log"),sb(this,"_pausedRetryCount"),sb(this,"_isElementPlayingFired",!1),sb(this,"_interval"),this.id=e.id,this._log=e.log,this.track=e.track,this.container=e.container,this.muted=e.muted,this._pausedRetryCount=RD,this._state="STOPPED",this.bindTrackEvents()}get isPlaying(){return"PLAYING"===this._state}get isStopped(){return"STOPPED"===this._state}setAttr(e){this.attr=e}setTrack(e){if(e!==this.track&&(this.unbindTrackEvents(),this.track=e,this.emit(Qw.MEDIA_TRACK_CHANGED,e),null!==e&&(this.bindTrackEvents(),this.element))){let t=new MediaStream;t.addTrack(e),this.element.srcObject=t}}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))}setContainer(e){this.container=e,this.track&&this.element&&this.container&&this.container.appendChild(this.element)}play(){return cb(this,null,(function*(){if(this.element&&this.element.parentElement!==this.container&&this.container&&this.container.append(this.element),!this.isPlaying)try{this.bindAutoPlayEvent(),yield this.element.play()}catch(aN){let t=QO({key:zO.PLAY_FAILED,data:{media:this.kind,error:aN}});if(this.track&&!this.track.muted&&this._log.warn(aN),t.includes("NotAllowedError"))throw new Tb({code:fb.PLAY_NOT_ALLOWED,message:t})}}))}stop(){this.unbindEvents(),this._isElementPlayingFired=!1,this.element&&(this.container&&this.container.removeChild(this.element),this.element.srcObject=null,this.element=null),this.handleStopped(MN.ENDED),this._interval>0&&Yw.clearTask(this._interval)}pause(){var e;this.isPlaying&&(null==(e=this.element)||e.pause())}resume(){return this.isPlaying?Promise.resolve():zk?this.replay():this.play().catch((()=>{}))}setMuted(e){this.element&&(this.element.muted=e),this.muted=e}setRect(e,t){this.element&&(this.element.style.width="".concat(e,"px"),this.element.style.height="".concat(t,"px"))}replay(){return this.stop(),this.play().catch((()=>{}))}bindElementEvents(){if(this.element){let e=this.handleElementEvent.bind(this);return IP(this.element,this.element).add(MN.PLAYING,e).add(MN.ENDED,e).add(MN.PAUSE,e).add(MN.ERROR,e).add(MN.LOADEDDATA,e)}}bindTrackEvents(){if(this.track){let e=this.handleTrackEvent.bind(this);null==EP||EP.create(this.track,this.track).add(MN.ENDED,e).add(MN.MUTE,e).add(MN.UNMUTE,e),this.track.readyState===MN.ENDED&&this.handleTrackEvent({type:MN.ENDED}),this.track.muted&&this.handleTrackEvent({type:MN.MUTE})}}bindAutoPlayEvent(){UO.on(BO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){this.track&&yP(this.track)}unbindEvents(){this.element&&yP(this.element),this.unbindTrackEvents(),UO.off(BO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){var t;switch(e.type){case MN.PLAYING:this._isElementPlayingFired=!0,this._log.info("".concat(this.kind," player is playing")),this.handlePlaying(MN.PLAYING),this._interval&&(Yw.clearTask(this._interval),this._interval=-1);break;case MN.ENDED:this._log.info("".concat(this.kind," player is ended")),this.handleStopped(MN.ENDED);break;case MN.PAUSE:this._log.info("".concat(this.kind," player is paused")),this.handlePaused(MN.PAUSE);let e=this.container&&document.getElementById(this.container.id);e||this._log.warn("".concat(this.kind," player has been remove, element ID: ").concat(null==(t=this.container)?void 0:t.id));let i=Pk();this._pausedRetryCount>0&&(this.kind===MN.VIDEO&&!mP()||this.kind===MN.AUDIO&&(sO(i)&&i<=70||!e))&&(this._log.info("".concat(this.kind," player auto resume when paused")),this.resume(),this._pausedRetryCount--),Lb&&(this._interval=Yw.run(xD,(()=>{this.element&&"PAUSED"===this._state&&this.resume()}),{delay:3e3}));break;case MN.ERROR:if(this.element&&this.element.error){let{code:e,message:t}=this.element.error;this._log.error("".concat(this.kind," player error observed. code: ").concat(e," message: ").concat(t," userAgent: ").concat(navigator.userAgent)),Xw.uploadEvent({log:"stat-".concat(this.kind,"-").concat(lD.PLAYER_ERROR,"-").concat(e,"-").concat(navigator.userAgent),error:this.element.error})}break;case MN.LOADEDDATA:this.kind===MN.VIDEO&&this.emit(Qw.LOADED_DATA)}}handleTrackEvent(e){switch(e.type){case MN.ENDED:this._log.info("".concat(this.kind," track is ended")),this.handleStopped(MN.ENDED);break;case MN.MUTE:this._log.info("".concat(this.kind," track is unable to provide media output")),this.handlePaused(MN.MUTE);break;case MN.UNMUTE:this._log.info("".concat(this.kind," track is able to provide media output")),this._isElementPlayingFired&&this.handlePlaying(MN.UNMUTE)}}handlePlaying(e){this.emit(Qw.PLAYER_STATE_CHANGED,{type:this.kind,state:"PLAYING",reason:e})}handlePaused(e){this.emit(Qw.PLAYER_STATE_CHANGED,{type:this.kind,state:"PAUSED",reason:e})}handleStopped(e){this.emit(Qw.PLAYER_STATE_CHANGED,{type:this.kind,state:"STOPPED",reason:e})}getElement(){return this.element}};ob([Hw([],"PLAYING")],vP.prototype,"handlePlaying",1),ob([Hw("PLAYING","PAUSED",{ignoreError:!0})],vP.prototype,"handlePaused",1),ob([Hw([],"STOPPED")],vP.prototype,"handleStopped",1);var AP=class extends vP{constructor(e){super(e,MN.VIDEO),sb(this,"mirror"),sb(this,"objectFit"),rO(e.mirror)||(this.mirror=e.mirror),rO(e.objectFit)||(this.objectFit=e.objectFit)}initializeElement(){var e;let t=document.createElement(MN.VIDEO);if(this.track){let e=new MediaStream;e.addTrack(this.track),t.srcObject=e}t.muted=!0;let i="width: 100%; height: 100%; object-fit: ".concat(this.objectFit,";background-color: black;");this.mirror&&(i+="transform: scaleX(-1);"),t.setAttribute("id","video_".concat(this.id)),t.setAttribute("style",i),t.setAttribute("autoplay","autoplay"),t.setAttribute("playsinline","playsinline"),null==(e=this.container)||e.appendChild(t),this.element=t,this.bindElementEvents()}bindElementEvents(){let e=super.bindElementEvents();this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add(MN.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(MN.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent)}handleElementEvent(e){super.handleElementEvent(e);let t=e.type;if(this.mirror&&this.element){let e=this.element.style.transform;t===MN.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace("scaleX(-1)",""):t===MN.LEAVE_PICTURE_IN_PICTURE&&!e.includes("scaleX")&&(this.element.style.transform="".concat(e," scaleX(-1)"))}}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)}setMirror(e){this.element&&(this.element.style.transform=e?"scaleX(-1)":""),this.mirror=e}setObjectFit(e){this.element&&(this.element.style.objectFit="".concat(e)),this.objectFit=e}play(){return this.element||this.initializeElement(),super.play()}getVideoFrame(){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}},RP=!1,CP=class{constructor(e){sb(this,"context_"),sb(this,"blob_"),this.context_=e.context,this.blob_=new Blob(['class VolumeMeter extends AudioWorkletProcessor{constructor(){super(),this.volume=0,this.intervalTime=200,this.tick=this.intervalTime,this.isStop=!1,this.port.onmessage=t=>{let{data:e}=t;switch(e.name){case"setIntervalTime":this.intervalTime=e.intervalTime;break;case"stop":this.isStop=!0}}}process(t){let e=t[0];if(this.isStop)return!1;if(e.length>0){let i=e[0],s=0;for(let l=0;l{let i=new window.AudioContext(t),n=++NP,r=()=>{"suspended"===i.state?(i.resume(),document.addEventListener("click",r)):"interrupted"===i.state?i.resume():document.removeEventListener("click",r)};return document.addEventListener("click",r),i.onstatechange=()=>{jO.info("".concat(e,"-").concat(n," context state: ").concat(i.state)),r()},i},OP=0,wP=class{constructor(e){sb(this,"_volume"),sb(this,"_log"),sb(this,"_track"),sb(this,"_stream"),sb(this,"_audioCtx"),sb(this,"_destination"),sb(this,"_streamSource"),sb(this,"_scriptProcessorNode"),sb(this,"_audioWorkletNode"),sb(this,"_interval");let{track:t,log:i}=e;this._volume=0,this._log=i,this._track=t,bP||(bP=DP("volume-meter")),this._audioCtx=bP,this._destination=this._audioCtx.destination;let n=new MediaStream;n.addTrack(this._track),this._streamSource=this._audioCtx.createMediaStreamSource(n),this._audioWorkletNode=null,this._scriptProcessorNode=null,this._interval=200,UO.on(BO.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this),_O?(UO.on(BO.WORKLET_LOADED_SUCCESS,this.initAudioWorklet,this),UO.on(BO.WORKLET_LOADED_FAILED,this.initScriptProcessor,this),this.preload()):this.initScriptProcessor(),OP+=1}preload(){kP?kP.initWorkletSuccess&&this.initAudioWorklet():kP=new CP({context:bP})}initAudioWorklet(){if(!this._audioWorkletNode)try{this._audioWorkletNode=new AudioWorkletNode(this._audioCtx,"volume-meter"),this._audioWorkletNode.port.onmessage=e=>{this._volume=e.data.volume||0},this._streamSource.connect(this._audioWorkletNode).connect(this._destination),this.handleAudioLevelInterval({interval:this._interval})}catch(FL){Xw.logFailedEvent({userId:this._log.userId,eventType:lD.LOAD_WORKLET,error:FL}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=this._audioCtx.createScriptProcessor(2048,1,1),this._scriptProcessorNode.onaudioprocess=e=>{let t=e.inputBuffer.getChannelData(0),i=0;for(let n=0;n0&&(OP-=1),0===OP&&(null==bP||bP.close(),bP=null,kP=null)}resume(){null==bP||bP.resume()}getInternalAudioLevel(){return this._volume}getCalculatedVolume(){return parseFloat(this._volume.toFixed(2))}handleAudioLevelInterval(e){var t;let{interval:i}=e;this._interval=i,null==(t=this._audioWorkletNode)||t.port.postMessage({name:"setIntervalTime",intervalTime:i})}},PP=null,LP=0,MP=class extends vP{constructor(e){super(e,MN.AUDIO),sb(this,"_volumeMeter"),sb(this,"_gainedTrack",null),sb(this,"_gainNode",null),sb(this,"_destination",null),sb(this,"_mediaStreamSource",null),sb(this,"_sourceElement",null),sb(this,"_outputDeviceId"),sb(this,"_volume",1),sb(this,"_loop",!1),e.gainedTrack&&(this._gainedTrack=e.gainedTrack),this._outputDeviceId=e.outputDeviceId,this.track&&this.initVolumeMeter(this.track)}setTrack(e){this.track!==e&&(this._volumeMeter&&(this._volumeMeter.destroy(),this._volumeMeter=null),null!==e&&this.initVolumeMeter(e)),super.setTrack(e)}initVolumeMeter(e){this._volumeMeter=new wP({track:this._gainedTrack||e,log:this._log})}initializeElement(){if(("15.2"===Gk||"15.3"===Gk||"15.4"===Gk)&&this.muted)return void this._log.info("audioElement is muted.");let e=document.createElement(MN.AUDIO);this.track&&(e.srcObject=new MediaStream([this._gainedTrack||this.track])),e.muted=this.muted,e.setAttribute("id","audio_".concat(this.id)),e.setAttribute("autoplay","autoplay"),e.setAttribute("playsinline","playsinline"),this.element=e,this.bindElementEvents()}play(){return cb(this,null,(function*(){this.element||this.initializeElement(),this._outputDeviceId&&(yield this.setSinkId(this._outputDeviceId)),!this._volumeMeter&&this.track&&this.initVolumeMeter(this.track),this.setVolume(this._volume),yield ab(MP.prototype,this,"play").call(this)}))}stop(){this._volumeMeter&&(this._volumeMeter.destroy(),this._volumeMeter=null),this.destroyGain(),super.stop()}resume(){return cb(this,null,(function*(){yield ab(MP.prototype,this,"resume").call(this),this._volumeMeter&&this._volumeMeter.resume()}))}setSinkId(e){return cb(this,null,(function*(){this._outputDeviceId!==e&&(this.element&&(yield this.element.setSinkId(e)),this._outputDeviceId=e)}))}setVolume(e){this._volume=e,this._gainNode?this._gainNode.gain.value=e:e>1?this.createGain(e):this.element&&(this.element.volume=e)}createGain(e){PP||(PP=DP("player")),this._log.info("create gainNode ".concat(e));let t=PP.createMediaStreamSource(new MediaStream([this.track])),i=PP.createGain(),n=PP.createMediaStreamDestination();t.connect(i),i.connect(n),i.gain.value=e,this._gainNode=i,this._destination=n,this._mediaStreamSource=t,this._gainedTrack=n.stream.getAudioTracks()[0],LP+=1,this.element&&(yP(this.element),this._sourceElement=this.element,this.element.muted=!0,this.element=null),this.play()}destroyGain(){var e,t,i;!this._gainNode||(this._log.info("destroy gainNode"),null==(e=this._gainNode)||e.disconnect(),null==(t=this._destination)||t.disconnect(),null==(i=this._mediaStreamSource)||i.disconnect(),this._gainNode=null,this._destination=null,this._mediaStreamSource=null,this._sourceElement&&(this._sourceElement.srcObject=null,this._sourceElement=null),this._gainedTrack=null,0===(LP-=1)&&PP&&(this._log.info("destroy gain audioContext"),PP.close(),PP=null))}setLoop(e){!this.element||(this.element.loop=e,this._loop=e)}getAudioLevel(){var e;return(null==(e=this._volumeMeter)?void 0:e.getCalculatedVolume())||0}getInternalAudioLevel(){var e;return null==(e=this._volumeMeter)?void 0:e.getInternalAudioLevel()}},xP=class extends Ww{constructor(e){let{userId:t,sdkAppId:i,mediaType:n,room:r,isInitPlayer:o=!0}=e;var s;super(),sb(this,"id",GO()),sb(this,"userId"),sb(this,"isRemote"),sb(this,"mediaType"),sb(this,"room"),sb(this,"user"),sb(this,"_log"),sb(this,"_inputTrack"),sb(this,"_outputTrack"),sb(this,"isPlayCalled"),sb(this,"container",null),sb(this,"player"),sb(this,"subVideoPlayerMap"),sb(this,"playerMuted",!1),sb(this,"abortCtrl"),sb(this,"audioOutputDeviceId"),sb(this,"audioVolume"),sb(this,"objectFit","cover"),sb(this,"mirror",!1),sb(this,"gain"),sb(this,"isScreen",!1),sb(this,"manager"),rO(t)||(this.userId=t),this.mediaType=n,this._log=jO.createLogger({id:"".concat(this.kind[0],"t"),userId:null==(s=r||this.room)?void 0:s.userId,remoteUserId:this instanceof rL?void 0:this.userId,sdkAppId:i,type:2===this.mediaType?"auxiliary":"main",isLocal:this instanceof rL}),o&&this.initPlayer()}get log(){return this._log||jO}get kind(){return 1===this.mediaType?MN.AUDIO:MN.VIDEO}get muted(){return!(!this.outMediaTrack||this.outMediaTrack.enabled)}get strMediaType(){return 4===this.mediaType?MN.VIDEO:2===this.mediaType?MN.SCREEN:MN.AUDIO}play(e,t){return cb(this,null,(function*(){let i=lO(e)?e[0]:e;if(this.isPlayCalled)return this.log.info("play update options: ".concat(JSON.stringify(t))),t&&!rO(t.muted)&&this.setPlayerMute(t.muted),t&&!rO(t.objectFit)&&(this.objectFit=t.objectFit),this.isScreen?this.mirror=!1:t&&!rO(t.mirror)&&(this.mirror=t.mirror),void(this.kind===MN.VIDEO&&(this.player.setObjectFit(this.objectFit),this.player.setMirror(this.mirror),this.container!==i&&i&&(this.container=i,this.player.setContainer(i)),lO(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!rO(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===MN.VIDEO)&&this.setPlayerMute(!0),t&&!rO(t.objectFit)&&(this.objectFit=t.objectFit),this.isRemote||(this.mirror=!0),this.isScreen?this.mirror=!1:t&&!rO(t.mirror)&&(this.mirror=t.mirror),this.kind===MN.VIDEO&&(this.player.setObjectFit(this.objectFit),this.player.setMirror(this.mirror)),this.isPlayCalled=!0,i&&(this.container=i,this.player.setContainer(i)),UO.emit(BO.PLAY_TRACK_START,{track:this}),this._outputTrack){this._log.info("play with options: ".concat(JSON.stringify(t)));try{this.player.setTrack(this._outputTrack),yield this.player.play(),lO(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(r){throw this.handleAutoPlayFailed(),this.emit("error",r),r}}else this.log.info("play has not mediaTrack, abort")}))}playSubContainer(e,t){return cb(this,null,(function*(){if(!this._outputTrack||this.kind===MN.AUDIO)return;this.subVideoPlayerMap||(this.subVideoPlayerMap=new Map),this.subVideoPlayerMap.forEach(((t,i)=>{var n;e.find((e=>i===e))||(t.stop(),t.setContainer(null),null==(n=this.subVideoPlayerMap)||n.delete(i))}));for(let[n,r]of e.entries()){let e=this.subVideoPlayerMap.get(r);e?t&&(rO(t.mirror)||e.setMirror(t.mirror),rO(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(r,new AP({id:this.userId||this.id,track:this.outMediaTrack,container:r,muted:this.playerMuted,objectFit:this.objectFit,mirror:this.mirror,log:this.log.createChild({id:"vp-sub".concat(n+1)})}))}let i=[...this.subVideoPlayerMap.values()];for(let e of i)yield e.play()}))}initPlayer(){var e;this.log.info("create ".concat(this.kind,"Player")),this.kind===MN.AUDIO?this.player=new MP({id:this.userId||this.id,track:this.outMediaTrack,gainedTrack:null==(e=this.gain)?void 0:e.audioTrack,container:this.container||null,muted:this.playerMuted,outputDeviceId:this.audioOutputDeviceId,log:this.log}):(this.player=new AP({id:this.userId||this.id,track:this.outMediaTrack,container:this.container||null,muted:this.playerMuted,objectFit:this.objectFit,mirror:this.mirror,log:this.log}),this.player.on(Qw.LOADED_DATA,(()=>{UO.emit(BO.VIDEO_LOADED_DATA,{track:this})})),this.player.on(Qw.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))}))),this.player.on(Qw.PLAYER_STATE_CHANGED,(e=>{UO.emit(BO.PLAYER_STATE_CHANGED,eb({track:this},e)),this.emit("player-state-changed",e)}))}setAudioOutput(e){return cb(this,null,(function*(){var t;this.audioOutputDeviceId=e,yield null==(t=this.player)?void 0:t.setSinkId(e)}))}setAudioVolume(e){var t;this.audioVolume=e,this.log.info("setAudioVolume to ".concat(e)),null==(t=this.player)||t.setVolume(e)}getAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getAudioLevel())||0}getInternalAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getInternalAudioLevel())||0}stop(){!this.isPlayCalled||(this.isPlayCalled=!1,this.player&&(this.log.info("stop ".concat(this.kind," player")),this.player.stop(),this.player.setContainer(null)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop(),e.setContainer(null)})),this.container=null)}resume(){return cb(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()}setMute(e){return!!this.outMediaTrack&&(this.outMediaTrack.enabled=!e,this.emit(e?"mute":"unmute",this),UO.emit(e?BO.TRACK_MUTED:BO.TRACK_UNMUTED,{track:this}),!0)}setPlayerMute(e){this.playerMuted=e,this.player.setMuted(e)}get mediaTrack(){return this._inputTrack||null}get outMediaTrack(){return this._outputTrack||null}setInputMediaStreamTrack(e){let t=this._inputTrack;if(e!==t)return this._inputTrack=e,this.emit("input-media-track-changed",e||null,t||null),this.manager?this.manager.changeInput(this,t):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,e.enabled=!this.muted,this.updatePlayingState(!!e))}setMediaType(e){this.mediaType=e}updatePlayingState(e){if(this.isPlayCalled)if(e){if(this.player.setTrack(this.outMediaTrack),this.player.isStopped)return this.player.play().catch((()=>this.handleAutoPlayFailed())),void this.log.info("playing state updated, play ".concat(this.kind))}else if(!this.player.isStopped)return this.player.stop(),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(){if(this.room&&this.room.enableAutoPlayDialog)new TP;else{let e=()=>{this.resume().then((()=>{document.removeEventListener("click",e,!0),document.removeEventListener("touchstart",e,!0)}))};document.addEventListener("click",e,!0),document.addEventListener("touchstart",e,!0)}}};ob([Hw([],Ww.INIT)],xP.prototype,"close",1);var VP=Object.prototype.hasOwnProperty,UP=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(ZD(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(VP.call(e,t))return!1;return!0}return!1},FP=rb(lb(),1),BP=e=>t=>t.deviceId===e,HP=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"Input";sb(this,"kind"),sb(this,"type"),sb(this,"devices",[]),this.kind=e,this.type=t}update(e,t){let i=e.filter((e=>e.kind==="".concat(this.kind).concat(this.type.toLocaleLowerCase())));t&&(i.forEach((e=>{if(e.deviceId&&!this.devices.find(BP(e.deviceId))){let i="".concat(this.kind).concat(this.type,"Added");jO.warn("".concat(i,": ").concat(JSON.stringify(e))),t.emit(i,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!i.find(BP(e.deviceId))){let i="".concat(this.kind).concat(this.type,"Removed");jO.warn("".concat(i,": ").concat(JSON.stringify(e))),t.emit(i,e)}}))),this.devices=i}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},jP=class extends FP.EventEmitter{constructor(){super(),sb(this,"audioInputs",new HP(MN.AUDIO)),sb(this,"videoInputs",new HP(MN.VIDEO)),sb(this,"audioOutputs",new HP(MN.AUDIO,"Output")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener("devicechange",this.update.bind(this)),"ondevicechange"in navigator.mediaDevices||Yw.run(MD,(()=>{this.update()}),{delay:1e4}))}init(){WP().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return cb(this,null,(function*(){let e=yield WP();return this.audioInputs.update(e,this),this.videoInputs.update(e,this),this.audioOutputs.update(e,this),this}))}},GP=uN||dN?null:new jP;function WP(){return cb(this,null,(function*(){return rw()||!iw()?[]:(yield navigator.mediaDevices.enumerateDevices()).map(((e,t)=>{let i={kind:e.kind,deviceId:e.deviceId,groupId:e.groupId,label:e.label||"".concat(e.kind,"_").concat(t)};return e.deviceId.length>0&&qP.add("".concat(e.deviceId,"_").concat(e.kind)),e.getCapabilities&&(i.getCapabilities=()=>e.getCapabilities()),i}))}))}function JP(){return GP.update().then((e=>e.audioInputs.devices))}function zP(){return GP.update().then((e=>e.videoInputs.devices))}function KP(){return cb(this,null,(function*(){return GP.update().then((e=>e.audioOutputs.devices))}))}var qP=new Set;function YP(e,t){return cb(this,null,(function*(){let i=(yield JP()).find((e=>e.deviceId===CD));return(null==i?void 0:i.groupId)===e&&i.label===t}))}var QP=xO({retryFunction:function(e){return cb(this,null,(function*(){let t=function(e){return{audio:$P(e),video:ZP(e)}}(e);jO.info("getUserMedia with constraints: ".concat(JSON.stringify(t)));let i=[],n=[],r=["label","deviceId"];t.audio&&(i=yield JP(),jO.info("microphones: ".concat(OO(i,{keysToInclude:r})))),t.video&&(n=yield zP(),jO.info("cameras: ".concat(OO(n,{keysToInclude:r}))));try{let e=yield navigator.mediaDevices.getUserMedia(t);return kw&&e.getTracks().forEach((e=>{jO.info("".concat(e.kind," capabilities: ").concat(OO(e.getCapabilities(),{keysToInclude:VD})))})),e}catch(s){if("NotFoundError"===s.name){if(e.video&&n&&0===n.length)throw new Tb({code:fb.DEVICE_NOT_FOUND,message:QO({key:zO.CAMERA_NOT_FOUND})});if(e.audio&&i&&0===i.length)throw new Tb({code:fb.DEVICE_NOT_FOUND,message:QO({key:zO.MICROPHONE_NOT_FOUND})})}throw new Tb({code:fb.INITIALIZE_FAILED,name:s.name,message:s.message,constraint:s.constraint})}}))},settings:{retries:3,timeout:500},onError:e=>{let{error:t,retry:i,reject:n,retryFuncArgs:r,retryCount:o}=e;"NotReadableError"===t.name?(r[0].video&&(r[0].maxResolution=!1,r[0].frameRate&&(r[0].frameRate=r[0].frameRate>10?10:5)),2===o&&(r[0].useTrueAsConstraint=!0),i()):n(t),r[0].microphoneId&&XP(r[0].microphoneId,!1),r[0].cameraId&&XP(r[0].cameraId,!0)},onRetrying:e=>{jO.warn("getUserMedia NotReadableError observed, retrying [".concat(e,"/3]"))},onRetryFailed:e=>{Xw.logFailedEvent({eventType:lD.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{Xw.logSuccessEvent({eventType:lD.GET_USER_MEDIA_RETRY}),Xw.uploadEvent({log:"stat-".concat(lD.GET_USER_MEDIA_RETRY,"-success-").concat(e)})}});function XP(e,t){return cb(this,null,(function*(){let i=(t?yield zP():yield JP()).find((t=>t.deviceId===e));i&&nO(i.getCapabilities)&&jO.warn(OO(i.getCapabilities(),{keysToInclude:VD}))}))}function $P(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0};return UP(e.microphoneId)||(t.deviceId=e.useExact?{exact:e.microphoneId}:e.microphoneId),sO(e.channelCount)&&e.channelCount>1&&(t.channelCount=e.channelCount),aO(e.echoCancellation)&&!e.echoCancellation&&(t.echoCancellation=!1),aO(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),aO(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!UP(t)||t}function ZP(e){if(!e.video)return!1;if(e.useTrueAsConstraint)return!0;let{maxResolution:t=!0}=e,i={};return e.cameraId?i.deviceId=e.useExact?{exact:e.cameraId}:e.cameraId:e.facingMode&&(i.facingMode=e.facingMode),e.width&&(i.width={ideal:e.width},t&&!Fb&&(i.width.max=e.width)),e.height&&(i.height={ideal:e.height},t&&!Fb&&(i.height.max=e.height)),Fb&&fk&&e.width&&e.height&&e.width*e.height<101376&&(i.width=e.width,i.height=e.height),e.frameRate&&(i.frameRate=e.frameRate),!!UP(i)||i}var eL=QP;function tL(e){return nL(((t,i)=>function(){for(var i=arguments.length,n=new Array(i),r=0;rfunction(){for(var i=arguments.length,n=new Array(i),r=0;r1&&void 0!==arguments[1])||arguments[1]}),sb(this,"isRemote",!1),sb(this,"deviceId"),sb(this,"groupId",""),sb(this,"label",""),sb(this,"_isRecapturing",!1),sb(this,"_lastRecaptureTime",0),sb(this,"_onMuteTimeoutId",-1),sb(this,"profile"),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this)}installTrackEvent(e){IP(e,e).add(MN.MUTE,this.onTrackMuted).add(MN.UNMUTE,this.onTrackUnmuted).add(MN.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===MN.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){yP(e)}setStateToCapture(){}capture(e){return cb(this,null,(function*(){try{let t;UO.emit(BO.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(t=new MediaStream,t.addTrack(e.customSource)):t=yield eL(e);let i=t.getTracks()[0];return yield this.setInputMediaStreamTrack(i),e.customSource||(this.updateDeviceIdInUse(),this.listenDeviceChange()),UO.emit(BO.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this}),t}catch(aD){throw UO.emit(BO.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:aD}),this.log.error("getUserMedia error observed ".concat(aD)),aD}}))}setInputMediaStreamTrack(e){this.state===Ww.INIT&&this.setStateToCapture(),this._inputTrack&&this.uninstallTrackEvent(this._inputTrack);let t=super.setInputMediaStreamTrack(e);return this.installTrackEvent(e),t}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),UO.emit(BO.LOCAL_TRACK_PUBLISHED,{track:this}),t}unpublish(){this.room&&this.room.localTracks.delete(this),UO.emit(BO.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return cb(this,null,(function*(){if(this.mediaTrack&&bw){let{deviceId:e,groupId:t}=this.mediaTrack.getSettings(),{label:i}=this.mediaTrack;(yield function(e){return cb(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:i,oldGroupId:n,oldLabel:r,kind:o}=e;return function*(){return t===i&&(o!==MN.AUDIO||t!==CD||(yield YP(n,r)))}()}))}({newDeviceId:e,oldDeviceId:this.deviceId,oldGroupId:this.groupId,oldLabel:this.label,kind:this.kind}))||(this.deviceId=e,this.label=i,t&&(this.groupId=t),WP().then((t=>{let i=t.find((t=>t.deviceId===e));i&&this.emit("2",i)})))}}))}setProfile(e){this.log.info("setProfile",e),Object.assign(this.profile,e)}isNeedToRecapture(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!(!this.deviceId||!this.mediaTrack||this.kind===MN.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 i="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(MN.AUDIO_INPUT);return!!qP.has(i)}(this.mediaTrack)||this.kind===MN.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 i="".concat(((null==e?void 0:e.getSettings())||{}).deviceId,"_").concat(MN.VIDEO_INPUT);return!!qP.has(i)}(this.mediaTrack)||this._isRecapturing||e&&fk&&Fk)}onTrackMuted(){if(this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTimethis.onTrackMuted()),wD);this._onMuteTimeoutId=setTimeout((()=>cb(this,null,(function*(){var e;(null==(e=this.mediaTrack)?void 0:e.muted)&&"visible"===document.visibilityState&&this.recapture(yield this.getRecoverCaptureDeviceId())}))),5e3)}}onTrackUnmuted(){this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return cb(this,null,(function*(){if(this.isNeedToRecapture()){if(Date.now()-this._lastRecaptureTimethis.onTrackEnded()),wD);this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){return cb(this,null,(function*(){var t;if(this._isRecapturing||!this._inputTrack)return;let i;return this.log.warn("recapture trying"),null==(t=this._inputTrack)||t.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now(),("audio"===this.kind?yield JP():yield zP()).find((t=>t.deviceId===e))&&(i=e),this.capture({deviceId:i,useExact:!0}).then((()=>{this._isRecapturing=!1,this.log.warn("recapture success"),this.emit("1",{deviceId:this.deviceId})})).catch((e=>{this._isRecapturing=!1,this.log.warn("recapture failed ".concat(e.message)),this.emit("5",e)}))}))}getRecoverCaptureDeviceId(){return cb(this,null,(function*(){let{deviceId:e}=this;if(e){let t=(oL.get(e)||0)+1;if(oL.set(e,t),t>=3){let i="video"===this.kind?(yield zP()).find((e=>!oL.has(e.deviceId))):(yield JP()).find((e=>!oL.has(e.deviceId)));i&&(this.log.warn("".concat(e," capture fail ").concat(t," times, change new ").concat(i.deviceId)),e=i.deviceId)}}return e}))}close(){var e;super.close(),this._inputTrack&&(this._inputTrack.stop(),this.uninstallTrackEvent(this._inputTrack)),null==(e=this.manager)||e.removeInput(this)}};ob([Hw(Ww.INIT,"capture",{ignoreError:!0})],rL.prototype,"setStateToCapture",1),ob([Hw("capture","publish",{ignoreError:!0,success(){this.room.localTracks.add(this),this.emit("4",{mediaType:this.strMediaType,state:"started",prevState:"starting"})},fail(e){let t="error",i=e.cause;i.message.includes("timeout")?t="timeout":i.code===fb.API_CALL_ABORTED&&(t="api-call"),this.emit("4",{mediaType:this.strMediaType,state:"stopped",prevState:"starting",reason:t,error:i})}})],rL.prototype,"publish",1),ob([nL((e=>function(){return cb(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"}),2===this.mediaType&&(this.mediaType=4)}))})),Hw([],"capture")],rL.prototype,"unpublish",1);var oL=new Map;UO.on(BO.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&oL.delete(e.track.deviceId)}));var sL=class extends rL{constructor(e){super(1),sb(this,"mediaType",1),sb(this,"volume",0),sb(this,"captureVolume",1),sb(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),sb(this,"playerMuted",!0),this.manager=e}getAudioLevel(){return this.volume||super.getAudioLevel()}capture(){let{deviceId:e,customSource:t,useExact:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return super.capture({video:!1,audio:!0,microphoneId:e,echoCancellation:this.profile.echoCancellation,autoGainControl:this.profile.autoGainControl,noiseSuppression:this.profile.noiseSuppression,sampleRate:this.profile.sampleRate,channelCount:this.profile.channelCount,useExact:i,customSource:t})}switchDevice(e){return cb(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e){if(e!==CD)return;if(yield YP(this.groupId,this.label))return}try{this.log.info("switchDevice audio to: ".concat(e)),this.mediaTrack&&this.mediaTrack.stop(),yield this.capture({deviceId:e,useExact:!0}),this.room&&(yield this.room.replaceTrack(this)),UO.emit(BO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch microphone success")}catch(aD){throw this.log.error("switch microphone failed ".concat(aD)),this.deviceId&&this.recapture(this.deviceId),aD}}}))}listenDeviceChange(){GP&&!GP.listeners("audioInputRemoved").includes(this.handleMicrophoneRemoved)&&GP.on("audioInputRemoved",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return cb(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn("current microphone is lost: ".concat(JSON.stringify(e)));let t=yield JP();t[0]?this.recapture(t[0].deviceId):GP.on("audioInputAdded",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){this.log.warn("microphone added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId)}update3A(e){return cb(this,arguments,(function(e){var t=this;let{echoCancellation:i,noiseSuppression:n,autoGainControl:r}=e;return function*(){let e=!1;!rO(i)&&i!==t.profile.echoCancellation&&(t.profile.echoCancellation=i,e=!0),!rO(n)&&n!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=n,e=!0),!rO(r)&&r!==t.profile.autoGainControl&&(t.profile.autoGainControl=r,e=!0),e&&t.deviceId&&(yield t.recapture(t.deviceId))}()}))}setCaptureVolume(e){var t;let i=e/100;i!==this.captureVolume&&(null==(t=this.manager)||t.setCaptureVolume(i),this.captureVolume=i)}close(){GP.off("audioInputAdded",this.handleMicrophoneAdded,this),GP.off("audioInputRemoved",this.handleMicrophoneRemoved,this),super.close()}},aL=class extends rL{constructor(e){super(4),sb(this,"mediaType",4),sb(this,"profile",{width:640,height:480,frameRate:15,bitrate:500}),sb(this,"states",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0}),sb(this,"small"),sb(this,"facingMode"),sb(this,"isNeedToSetBandwidth"),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(tb(eb({},this.profile),{width:1920,height:1080})),this.applyProfile())};this.on("input-media-track-changed",t),this.on("publish",t)}capture(){let{deviceId:e,facingMode:t,useExact:i=!1,customSource:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return super.capture({audio:!1,video:!0,facingMode:t||this.facingMode,cameraId:e,width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate,useExact:i,customSource:n})}setOutputMediaStreamTrack(e){var t;return super.setOutputMediaStreamTrack(e),null==(t=this.room)?void 0:t.replaceTrack(this)}setProfile(e){!e||(e.bitrate&&(this.isNeedToSetBandwidth=e.bitrate!==this.profile.bitrate),this.isAllowed2k4k(this.profile)?super.setProfile(e):(this.log.warn("Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386"),super.setProfile(tb(eb({},this.profile),{width:1920,height:1080}))))}applyProfile(){var e;if(!this.mediaTrack)return;let t=this.settings;return t.height!==this.profile.height||t.width!==this.profile.width||t.frameRate!==this.profile.frameRate?null==(e=this.mediaTrack)?void 0:e.applyConstraints({width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate}).then((()=>{if(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)return this.isNeedToSetBandwidth=!1,this.room.setBandWidth({bandwidth:this.profile.bitrate,type:MN.VIDEO,videoType:MN.BIG})})):void 0}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate};return bw&&this.mediaTrack&&Object.assign(e,this.mediaTrack.getSettings()),e}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 cb(this,null,(function*(){let t=e;try{if(!this.isNeedToSwitchDevice(t))return;(t===MN.FACING_MODE_USER||t===MN.FACING_MODE_ENVIRONMENT)&&(this.facingMode=e,t=void 0),this.mediaTrack.stop(),yield this.capture({deviceId:t,useExact:!0}),UO.emit(BO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info("switch camera success")}catch(cN){throw this.log.error("switch camera failed ".concat(cN)),this.deviceId&&this.recapture(this.deviceId),cN}}))}listenDeviceChange(){GP&&!GP.listeners("audioInputRemoved").includes(this.handleCameraRemoved)&&GP.on("videoInputRemoved",this.handleCameraRemoved,this)}handleCameraRemoved(e){return cb(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn("current camera is lost: ".concat(JSON.stringify(e)));let t=yield zP();t[0]?this.recapture(t[0].deviceId):GP.on("videoInputAdded",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return cb(this,null,(function*(){this.log.warn("camera added: ".concat(JSON.stringify(e))),this.recapture(e.deviceId)}))}close(){GP.off("videoInputAdded",this.handleCameraAdded,this),GP.off("videoInputRemoved",this.handleCameraRemoved,this),super.close()}},cL=function(e){return cb(this,null,(function*(){let t=null,i=function(e){let t={systemAudio:"include",selfBrowserSurface:"include",surfaceSwitching:"include"},i={width:Fk?{max:e.width}:{ideal:e.width,max:e.width},height:Fk?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:"monitor"};if(t.video=i,e.systemAudio){let{echoCancellation:i=!0,noiseSuppression:n=!1,autoGainControl:r=!1}=e;t.audio={echoCancellation:i,noiseSuppression:n,autoGainControl:r,sampleRate:48e3}}return t}(e);jO.info("getDisplayMedia with constraints: ".concat(JSON.stringify(i)));let n=yield navigator.mediaDevices.getDisplayMedia(i);if(e.systemAudio&&0===n.getAudioTracks().length&&(Mk&&Vk<74||Fk||Fb)&&jO.warn("Your browser not support capture system audio"),e.frameRate&&n.getVideoTracks()[0]&&n.getVideoTracks()[0].applyConstraints({frameRate:{min:e.frameRate,ideal:e.frameRate},width:e.width,height:e.height}).catch((e=>{jO.warn("screen applyConstraints failed: ".concat(e))})),e.audio){let i=function(e){let t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return rO(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);jO.info("getUserMedia with constraints: ".concat(JSON.stringify(i))),t=yield navigator.mediaDevices.getUserMedia(i),n.addTrack(t.getAudioTracks()[0])}return n}))},lL=class extends aL{constructor(e){super(e),sb(this,"profile",{width:1920,height:1080,frameRate:5,bitrate:1600}),sb(this,"objectFit","contain"),sb(this,"isScreen",!0),this._log.id="s-".concat(this._log.id)}capture(){return cb(this,arguments,(function(){var e=this;let{systemAudio:t=!1,autoGainControl:i,echoCancellation:n,noiseSuppression:r,audioTrack:o,videoTrack:s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){try{let a;return s||o?(a=new MediaStream,s&&a.addTrack(s),o&&a.addTrack(o)):a=yield cL({audio:!1,systemAudio:t,width:e.profile.width,height:e.profile.height,frameRate:e.profile.frameRate,autoGainControl:i,echoCancellation:n,noiseSuppression:r}),yield e.setInputMediaStreamTrack(a.getVideoTracks()[0]),a}catch(c){throw e.log.error("getDisplayMedia error observed ".concat(c)),c instanceof Tb?c:new Tb({code:fb.INITIALIZE_FAILED,name:c.name,message:c.message})}}()}))}switchDevice(e){return cb(this,null,(function*(){throw new Error("Method not implemented.")}))}},dL=class extends sL{constructor(e){super(e),this._log.id="s-".concat(this._log.id)}},uL=class extends sL{constructor(e){super(e),sb(this,"_inputs",new Map),sb(this,"_destination"),sb(this,"audioContext",DP("audio-mixer")),this._log.id="m-".concat(this._log.id),"running"!==this.audioContext.state&&this._log.warn("audio mixer context state: ".concat(this.audioContext.state)),this._destination=this.audioContext.createMediaStreamDestination(),this._destination.channelCount=1}setInputMediaStreamTrack(e){this._inputTrack=e;let t=this.audioContext.createMediaStreamSource(new MediaStream([e]));this._inputs.set(e,{sourceNode:t}),t.connect(this._destination),this._outputTrack||(this._outputTrack=this._destination.stream.getAudioTracks()[0],this.setStateToCapture())}setTrackCaptureVolume(e,t){if(!this._inputs.has(e)||!this._destination)return;let i=this._inputs.get(e),{sourceNode:n}=i;i.gainNode||(this._log.info("create GainNode"),i.gainNode=this.audioContext.createGain()),i.gainNode.gain.value=t,n.disconnect(),n.connect(i.gainNode).connect(this._destination)}publish(e,t){return this.room=e,t}unpublish(){delete this.room}replaceTrack(e,t){var i;!this.hasMix||(t&&(null==(i=this._inputs.get(t))||i.sourceNode.disconnect(),this._inputs.delete(t)),this.setInputMediaStreamTrack(e.outMediaTrack))}removeTrack(e){var t;null==(t=this._inputs.get(e))||t.sourceNode.disconnect(),this._inputs.delete(e),0===this._inputs.size&&(delete this._outputTrack,this.unpublish())}close(){this.stop(),this.audioContext.close()}get hasMix(){return!!this._outputTrack}set channelCount(e){this._destination.channelCount=e}};ob([Hw("capture","publish",{ignoreError:!0})],uL.prototype,"publish",1),ob([Hw([],"capture")],uL.prototype,"unpublish",1);var hL=class extends rL{constructor(e,t){super(1),sb(this,"musicId"),sb(this,"mediaType",1),sb(this,"volume",0),sb(this,"profile",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),sb(this,"playerMuted",!1),sb(this,"audio"),sb(this,"_audioContext"),sb(this,"_destination"),sb(this,"_source",null),this.manager=e,this.initAudioContext(),this._destination=this._audioContext.createMediaStreamDestination(),this._destination.channelCount=1,this.audio=document.createElement("audio"),this.audio.src=t.url,this.audio.crossOrigin="anonymous",aO(t.loop)&&this.loop(t.loop),sO(t.volume)&&this.setVolume(t.volume),t.id&&(this.musicId=t.id),this._source=this._audioContext.createMediaElementSource(this.audio),this._source.connect(this._destination),this.setInputMediaStreamTrack(this._destination.stream.getAudioTracks()[0]),this.installPlayerEvent()}play(){return cb(this,null,(function*(){try{yield this.audio.play(),yield ab(hL.prototype,this,"play").call(this,null,{muted:!1}),this._log.info("music ".concat(this.musicId," play success"))}catch(aN){this._log.error("music ".concat(this.musicId," play error"),aN)}}))}installPlayerEvent(){this.audio.addEventListener("error",this.handleAudioError.bind(this))}uninstallPlayerEvent(){this.audio.removeEventListener("error",this.handleAudioError.bind(this))}handleAudioError(e){this._log.warn("local music ".concat(this.musicId," audio error"),e)}initAudioContext(){this._audioContext=DP("music"),"running"!==this._audioContext.state&&this._log.warn("local music ".concat(this.musicId," context state: ").concat(this._audioContext.state))}destroy(){var e,t;null==(e=this._source)||e.disconnect(),null==(t=this._destination)||t.disconnect(),this.uninstallPlayerEvent(),this.player.stop(),this._audioContext.close().then((()=>{this._source=null,this._destination=null,this._audioContext=null}))}getStream(){var e;return(null==(e=this._destination)?void 0:e.stream)||null}seek(e){e<0&&e>this.duration()?this._log.warn("Time beyond song duration."):this.audio.currentTime=e}getPosition(){return this.audio.currentTime||0}setVolume(e){e>1&&e<0?this.log.warn("volume is out of range"):this.audio.volume=e}getVolume(){return this.audio.volume||0}setPlayBackRate(e){e>8&&e<0?this.log.warn("rate is out of range"):this.audio.playbackRate=e}getPlayBackRate(){return this.audio.playbackRate||0}duration(){return this.audio.duration||0}loop(e){return this.audio&&aO(e)&&(this.audio.loop=e),this.audio.loop||!1}setOperation(e){"pause"===e&&this.audio.pause(),"resume"===e&&(this.audio.pause(),this.audio.play()),"stop"===e&&(this.audio.pause(),this.seek(0))}listenDeviceChange(){}},pL="input",mL="output",_L=e=>(e=Number(e))>0&&e<14e8;function fL(e){return cb(this,arguments,(function(e){let{sdkAppId:t,userId:i,userSig:n,timestamp:r}=e;return function*(){let e="https://".concat(function(e){let t;return t=_L(e)?"intl-schedule.rtc.qq.com":"schedule.rtc.qq.com",t}(t),"/api/v1/audioAiAuth?sdkAppId=").concat(t,"&userId=").concat(i,"&userSig=").concat(n,"×tamp=").concat(r),o=yield fetch(e),{data:{errCode:s,errMsg:a,sign:c,status:l}}=yield o.json();if("1"===l)return{auth:!0,sign:c,status:l,message:a};let d="Init RTCAIDenoiser failed.",u="";switch(s){case 1:u="Please check your params.";break;case 2:u="You need to buy packages. Refer to: https://cloud.tencent.com/document/product/647/44247";break;case 3:u="Server is invalid. Please contact our engineer. ";break;case 4:u="Your packages is not active. Refer to: https://cloud.tencent.com/document/product/647/44247";break;case 5:u="Your packages is expired. Refer to: https://cloud.tencent.com/document/product/647/44247";break;case 6:u="Your version is not supported."}return{auth:!1,status:l,message:a?"".concat(d," Reason: ").concat(a,". ").concat(u):"".concat(d,", ").concat(u)}}()}))}var gL=rb(lb(),1);function TL(e,t){t=t||{};let i,n=e.numberOfChannels,{sampleRate:r}=e,o=t.float32?3:1,s=3===o?32:16;return i=2===n?function(e,t){let i=e.length+t.length,n=new Float32Array(i),r=0,o=0;for(;r{let{type:t,data:i}=e.data;if("ondump"===t&&this.isDumping_){let{inputPCM:e,outputPCM:t}=i;this.dump_.onDump(e,pL),this.dump_.onDump(t,mL)}"dumped"===t&&this.dumped()},this.dump_=new SL(this.audioContext_)}dumped(){this.isDumping_=!1;let e=this.dump_.getBlob(pL),t=this.dump_.getBlob(mL);this.emitter_.emit("ondumpend",{blob:e,name:pL}),this.emitter_.emit("ondumpend",{blob:t,name:mL}),this.dumpedWAV(e,pL),this.dumpedWAV(t,mL),this.dump_.reset()}dumpedWAV(e,t){let i=window.URL.createObjectURL(e),n=document.createElement("a");n.href=i,n.download="".concat(t,"-").concat(Date.now(),".wav"),n.click(),window.URL.revokeObjectURL(i),n.href=""}process(e){return cb(this,null,(function*(){if(this.audioTrack_=e,!this.audioTrack_)throw new Error("RTCAIDenoiser: cannot process without audioTrack.");let t=new MediaStream;t.addTrack(this.audioTrack_),this.source_=this.audioContext_.createMediaStreamSource(t),yield this.source_.connect(this.workletNode_),this.trackConstraint_=this.audioTrack_.getConstraints(),this.trackConstraint_.noiseSuppression=!1,yield this.audioTrack_.applyConstraints(this.trackConstraint_);let i=this.destination_.stream;return this.denoiserTrack_=i.getAudioTracks()[0],this.log_.info("RTCAIDenoiser: denoiser process track ID: ".concat(e.id," success.")),this.denoiserTrack_}))}updateTrack(e){return cb(this,null,(function*(){var t;let i=new MediaStream;yield i.addTrack(e);let n=this.audioContext_.createMediaStreamSource(i);this.source_.disconnect(),n.connect(this.workletNode_),null==(t=this.audioTrack_)||t.stop(),this.audioTrack_=e,this.source_=n,this.log_.info("RTCAIDenoiser: updateTrack success.")}))}disable(){return cb(this,null,(function*(){var e,t;return this.enableDenoise_=!1,null==(e=this.workletNode_)||e.port.postMessage({type:"disable"}),this.trackConstraint_.noiseSuppression=!0,yield null==(t=this.audioTrack_)?void 0:t.applyConstraints(this.trackConstraint_),this.log_.info("RTCAIDenoiser: disable ai denoiser."),this.enableDenoise_}))}enable(){return cb(this,null,(function*(){var e,t;return this.enableDenoise_=!0,null==(e=this.workletNode_)||e.port.postMessage({type:"enable"}),this.trackConstraint_.noiseSuppression=!1,yield null==(t=this.audioTrack_)?void 0:t.applyConstraints(this.trackConstraint_),this.log_.info("RTCAIDenoiser: enable ai denoiser."),this.enableDenoise_}))}startDump(){return this.isDumping_?(this.log_.info("RTCAIDenoiser: data is currently being dumped."),!1):(this.workletNode_.port.postMessage({type:"startDump"}),this.dump_?this.dump_.reset():this.dump_=new SL(this.audioContext_),this.isDumping_=!0,this.log_.info("RTCAIDenoiser: start dump data."),!0)}stopDump(){!this.isDumping_||(this.workletNode_.port.postMessage({type:"stopDump"}),this.isDumping_=!1,this.log_.info("RTCAIDenoiser: stop dump data."))}getAudioTrack(){return this.audioTrack_}getDenoiserTrack(){return this.destination_.stream.getAudioTracks()[0]}get enabled(){return this.enableDenoise_}destroy(){var e,t,i,n,r,o;this.log_.info("RTCAIDenoiser: destroy processor."),null==(e=this.audioTrack_)||e.stop(),null==(t=this.workletNode_)||t.port.postMessage({type:"destroy"}),this.workletNode_.port.onmessage=null,null==(i=this.source_)||i.disconnect(),null==(n=this.destination_)||n.disconnect(),null==(r=this.workletNode_)||r.disconnect(),null==(o=this.dump_)||o.destroy(),this.emitter_.removeAllListeners()}on(e,t,i){this.emitter_.on(e,t,i)}off(e,t,i){"*"===e?this.emitter_.removeAllListeners():this.emitter_.off(e,t,i)}},yL=class{constructor(e){let{assetsPath:t,log:i,audioContext:n}=e;this.isLoaded_=!1,this.audioContext_=n,this.log_=i,this.assetsPath_=t}createProcessor(e){return cb(this,null,(function*(){let t=String(Date.now()).slice(0,-3),{auth:i,sign:n,status:r,message:o}=yield fL(tb(eb({},e),{timestamp:t}));if(!i)throw this.log_.info("RTCAIDenoiser: ".concat(e.userId," auth result: ").concat(i,". Message: ").concat(o)),new Error(o);try{yield this.load()}catch(l){throw new Error("Init wasm failed, please check your assetsPath.")}let s=yield this.initWorklet(),a=new IL(tb(eb({},e),{audioContext:this.audioContext_,timestamp:t,sign:n,status:r,worklet:s,logger:this.log_}));return this.log_.info("RTCAIDenoiser: ".concat(e.userId," create denoiser processor success.")),a}))}load(){return cb(this,null,(function*(){if(!this.isLoaded_)try{yield this.audioContext_.audioWorklet.addModule("".concat(this.assetsPath_,"/denoiser-wasm.js")),this.isLoaded_=!0}catch(FL){throw this.log_.error("Init assets from ".concat(this.assetsPath_," failed! Reason: ").concat(FL)),FL}}))}initWorklet(){return cb(this,null,(function*(){try{return new AudioWorkletNode(this.audioContext_,"trtc-denoiser-processor",{numberOfInputs:1,numberOfOutputs:1})}catch(FL){return yield this.load(),new AudioWorkletNode(this.audioContext_,"trtc-denoiser-processor",{numberOfInputs:1,numberOfOutputs:1})}}))}destroy(){var e;null==(e=this.audioContext_)||e.close()}isSupported(){return"AudioWorklet"in window&&"WebAssembly"in window}},vL=class{constructor(e){let{room:t}=e;sb(this,"_localAudioTrack",null),sb(this,"_localScreenAudioTrack",null),sb(this,"localMixAudioTrack"),sb(this,"isDenoiserInit",!1),sb(this,"isDenoiserEnabled",!1),sb(this,"isDenoiserProcessed",!1),sb(this,"mixedMusicMap",new Map),sb(this,"cacheMusicMap",new Map),sb(this,"_log"),sb(this,"denoiserTrack",null),sb(this,"denoiser",null),sb(this,"denoiserProcessor"),sb(this,"initProcessorOptions"),sb(this,"denoiserContext"),this._log=jO.createLogger({id:"am",userId:t.userId,sdkAppId:t.sdkAppId})}get mixedAudioTrack(){return this.localMixAudioTrack?this.localMixAudioTrack.outMediaTrack:null}get hasScreenAudioTrack(){return null!==this._localScreenAudioTrack}get hasAudioTrack(){return null!==this._localAudioTrack}changeInput(e,t){var i,n,r;return e instanceof dL?(this._localScreenAudioTrack=e,void(e._outputTrack=e.mediaTrack)):e instanceof hL?(e._outputTrack=e.mediaTrack,void(null==(i=this.localMixAudioTrack)||i.replaceTrack(e,t))):e instanceof sL?(this._localAudioTrack=e,this.isDenoiserProcessed&&(null==(n=this.denoiserProcessor)||n.updateTrack(e.mediaTrack)),e.setOutputMediaStreamTrack(this.isDenoiserProcessed?this.denoiserTrack:e.mediaTrack),void(null==(r=this.localMixAudioTrack)||r.replaceTrack(e,t))):e instanceof CL?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}removeInput(e){if(e instanceof sL)return this.removeAudioTrack(e)}addMusicSource(e){return cb(this,null,(function*(){this._log.info("add music source, id: ".concat(e.id," url: ").concat(e.url));let t,{id:i,url:n,loop:r,volume:o}=e;if(!this.mixedMusicMap.has(i))return t=this.cacheMusicMap.has(i)?this.cacheMusicMap.get(i):new hL(this,e),t.play(),this._log.info("start mix audio ".concat(i," success.")),this.mixedMusicMap.set(i,t),this.cacheMusicMap.set(i,t),t}))}updateMusicSource(e){return cb(this,null,(function*(){let{id:t,volume:i,loop:n,operation:r,seekFrom:o}=e;if(this._log.info("update music source, ".concat(JSON.stringify(e))),this.mixedMusicMap.has(t)){let e=this.mixedMusicMap.get(t);rO(i)||e.setVolume(i),rO(n)||e.loop(n),rO(r)||e.setOperation(r),rO(o)||e.seek(o)}}))}addAudioTrack(e){return cb(this,null,(function*(){var t;if(this.localMixAudioTrack||(this.localMixAudioTrack=new uL(this)),this._log.info("start add audioTrack, userId: ".concat(e.userId)),e===this._localAudioTrack){if(bw){let i=yield null==(t=e.mediaTrack)?void 0:t.getSettings();this.localMixAudioTrack.channelCount=(null==i?void 0:i.channelCount)||1}this.mixedMusicMap.forEach((e=>{var t;null==(t=this.localMixAudioTrack)||t.setInputMediaStreamTrack(e.outMediaTrack)}))}this.localMixAudioTrack.setInputMediaStreamTrack(e.outMediaTrack),this._localAudioTrack&&1!==this._localAudioTrack.captureVolume&&this.setCaptureVolume(this._localAudioTrack.captureVolume)}))}removeAudioTrack(e){!this.localMixAudioTrack||(e===this._localAudioTrack&&this.mixedMusicMap.forEach((e=>{this.localMixAudioTrack.removeTrack(e.outMediaTrack)})),this.localMixAudioTrack.removeTrack(e.outMediaTrack))}removeMusicSource(e){let{id:t}=e;if(this.localMixAudioTrack){if(this.mixedMusicMap.has(t)){this._log.info("remove music source, music id: ".concat(t));let e=this.mixedMusicMap.get(t);e.stop(),this.localMixAudioTrack.removeTrack(e.outMediaTrack),this.mixedMusicMap.delete(t)}"*"===t&&this.destroyAllMusic()}}destroyAllMusic(){this._log.info("destroy all music source."),this.mixedMusicMap.forEach(((e,t)=>{this.removeMusicSource({id:t})}))}destroyAllCache(){this._log.info("destroy all music cache."),this.cacheMusicMap.forEach((e=>e.stop()))}initDenoiser(e){return cb(this,null,(function*(){let{assetsPath:t,sdkAppId:i,userId:n,userSig:r}=e;try{(!this.denoiserContext||"closed"===this.denoiserContext.state)&&(this.denoiserContext=DP("denoiser")),this.denoiser||(this.denoiser=new yL({assetsPath:t,log:this._log,audioContext:this.denoiserContext})),this.denoiserProcessor||(this.denoiserProcessor=yield this.denoiser.createProcessor({sdkAppId:i,userId:n,userSig:r})),this.isDenoiserInit=!0,this.initProcessorOptions=e}catch(lN){throw lN}}))}enableDenoiser(e){return cb(this,null,(function*(){var e,t,i;if(this.isDenoiserEnabled=!0,!this.hasAudioTrack){let e="enableDenoiser failed, there is no audio";throw this._log.error(e),new Error(e)}if(this.isDenoiserProcessed)null==(i=this.denoiserProcessor)||i.enable();else{let i=null==(e=this._localAudioTrack)?void 0:e.mediaTrack;if(!i)return;this.denoiserProcessor||(yield this.initDenoiser(this.initProcessorOptions)),this.denoiserTrack=yield this.denoiserProcessor.process(i),this.isDenoiserProcessed=!0,this._localAudioTrack._outputTrack=this.denoiserTrack,null==(t=this.localMixAudioTrack)||t.replaceTrack(this._localAudioTrack,i)}}))}disableDenoiser(){return cb(this,null,(function*(){var e;this.isDenoiserEnabled&&(null==(e=this.denoiserProcessor)||e.disable(),this.isDenoiserEnabled=!1)}))}setCaptureVolume(e){var t;this.localMixAudioTrack&&this._localAudioTrack&&this._localAudioTrack.mediaTrack&&(null==(t=this.localMixAudioTrack)||t.setTrackCaptureVolume(this._localAudioTrack.mediaTrack,e))}destroyDenoiserProcessor(){var e;this.denoiserProcessor&&(this.denoiserProcessor.destroy(),delete this.denoiserProcessor,this.isDenoiserInit=!1,this.isDenoiserEnabled=!1,this.isDenoiserProcessed=!1,null==(e=this.denoiserTrack)||e.stop(),this.denoiserTrack=null),this.denoiserContext&&(this.denoiserContext.close(),delete this.denoiserContext)}destroy(){var e;this.destroyAllMusic(),this.destroyAllCache(),this.destroyDenoiserProcessor(),null==(e=this.denoiser)||e.destroy(),this.localMixAudioTrack&&(this.localMixAudioTrack.close(),delete this.localMixAudioTrack)}},AL=class extends xP{constructor(e,t,i){super({userId:t.userId,sdkAppId:e.sdkAppId,mediaType:i,room:e}),this.room=e,this.user=t,sb(this,"tinyId"),sb(this,"isRemote",!0),this.tinyId=t.tinyId}setMute(e){return this.hasFlag&&super.setMute(e)}setInputMediaStreamTrack(e){super.setInputMediaStreamTrack(e),this.hasFlag&&this.isSubscribed&&this.player.setTrack(this.outMediaTrack)}waitHasMediaTrack(){return new Promise((e=>{this.mediaTrack?e():this.once("input-media-track-changed",e)}))}get isSubscribing(){return"subscribeing"===this.state.toString()}get isSubscribed(){return this.state===AL.STATE_SUBSCRIBE}get streamType(){return 0==(2&this.mediaType)?"main":"auxiliary"}subscribe(e){return e}unsubscribe(){this.player.setTrack(null),"main"===this.streamType&&"video"===this.kind&&this.room.changeType(!1,this.user)}updatePlayingState(e){if(this.isPlayCalled&&this.player.isStopped===e){if(e&&(!this.isSubscribed||!this.hasFlag||!this.outMediaTrack))return void this.log.info("abort play, isSubscribed:".concat(this.isSubscribed," hasFlag:").concat(this.hasFlag," hasTrack:").concat(!!this.outMediaTrack));super.updatePlayingState(e)}}onFlagChanged(){this.updatePlayingState(this.hasFlag)}},RL=AL;sb(RL,"STATE_SUBSCRIBE","subscribe"),ob([Hw(Ww.INIT,RL.STATE_SUBSCRIBE,{success(){this.log.info("subscribed"),UO.emit(BO.REMOTE_TRACK_SUBSCRIBED,{track:this}),this.updatePlayingState(!0)},ignoreError:!0})],RL.prototype,"subscribe",1),ob([Hw(RL.STATE_SUBSCRIBE,Ww.INIT,{success(){this.log.info("unsubscribed"),this.updatePlayingState(!1),UO.emit(BO.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],RL.prototype,"unsubscribe",1);var CL=class extends RL{constructor(e,t){super(e,t,1),sb(this,"volume",0),sb(this,"mediaType",1),sb(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}getAudioLevel(){return this.volume||super.getAudioLevel()}get hasFlag(){return this.user.muteState.hasAudio&&!this.user.muteState.audioMuted}isFlagChanged(e){let t=e.hasAudio&&!e.audioMuted;return this.hasFlag||(this.volume=0),this.hasFlag!==t}},bL=class extends RL{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),sb(this,"mediaType",4),sb(this,"stat",{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.videoManager}changeType(e){this.room.changeType(e,this.user)}get hasFlag(){return this.user.muteState.hasVideo&&!this.user.muteState.videoMuted}isFlagChanged(e){let t=e.hasVideo&&!e.videoMuted;return this.hasFlag!==t}},kL=class extends bL{constructor(e,t){super(e,t,2),sb(this,"mediaType",2),sb(this,"objectFit","contain")}get hasFlag(){return this.user.muteState.hasAuxiliary}isFlagChanged(e){let t=e.hasAuxiliary;return this.hasFlag!==t}};function NL(){}var DL=e=>e(),OL=()=>"undefined"!=typeof __FASTRX_DEVTOOLS__,wL=1,PL=class extends Function{toString(){return"".concat(this.name,"(").concat(this.args.length?[...this.args].join(", "):"",")")}subscribe(e){let t=new BL(e,this,this.streamId++);return HL.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},LL=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=NL,this.error=NL,this.next=NL,this.dispose=NL,this.subscribe=NL,this.doDefer()}subscribe(e){return e instanceof PL?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(DL),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}},ML=class extends LL{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)}};function xL(e,t,i){if(OL()){let n=Object.defineProperties(Object.setPrototypeOf(e,PL.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:i,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});HL.create(n);for(let e=0;e{HL.defer(this.source,this.id)}))}next(e){HL.next(this.source,this.id,e),this.sink.next(e)}complete(){HL.complete(this.source,this.id),this.sink.complete()}error(e){HL.complete(this.source,this.id,e),this.sink.error(e)}},HL={addSource(e,t){VL("addSource",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,i){VL("next",{id:e.id,streamId:t,data:i&&i.toString()})},subscribe(e,t){let{id:i,end:n}=e;VL("subscribe",{id:i,end:n,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,i){VL("complete",{id:e.id,streamId:t,err:i?i.toString():null})},defer(e,t){VL("defer",{id:e.id,streamId:t})},pipe(e){VL("pipe",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){VL("update",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=wL++),VL("create",{name:e.toString(),id:e.id})}},jL=class extends LL{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()}},GL=(UL=class extends ML{constructor(e,t,i){super(e),this.mapper=t,this.thisArg=i}next(e){super.next(this.mapper.call(this.thisArg,e))}},FL="map",function(){for(var e=arguments.length,t=new Array(e),i=0;i{if(e instanceof PL){let i=xL((n=>{let r=new UL(n,...t);r.sourceId=i.id,r.subscribe(e)}),FL,arguments);return i.source=e,HL.pipe(i),i}return i=>e(new UL(i,...t))}});!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;nt(e)),e)}(function(e){return xL((t=>{let i=0,n=setInterval((()=>t.next(i++)),e);return t.defer((()=>{clearInterval(n)})),"interval"}),"interval",arguments)}(250),GL((()=>performance.now())),function(){return e=>{let t=new jL(e);if(e instanceof PL){let i=xL((e=>{t.add(e)}),"share",arguments);return t.sourceId=i.id,i.source=e,HL.pipe(i),i}return xL(t.add.bind(t),"share",arguments)}}());var WL=new Map;function JL(e,t){let i=tb(eb({},t),{timestamp:Sb()});WL.has(e)?WL.get(e).push(i):WL.set(e,[i])}UO.on(BO.JOIN_SUCCESS,(e=>{let{room:t}=e;JL(t.userId,{eventId:32788,eventDesc:"join room"})})),UO.on(BO.LEAVE_START,(e=>{let{room:t}=e;JL(t.userId,{eventId:32789,eventDesc:"leave room"})})),UO.on(BO.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),JL(t.room.userId,{eventId:e,eventDesc:"publish ".concat(t.kind)})}})),UO.on(BO.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),JL(t.room.userId,{eventId:e,eventDesc:"unpublish ".concat(t.kind)})}})),UO.on(BO.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===MN.AUDIO?JL(t.room.userId,{eventId:t.isRemote?32785:32772,eventDesc:"mute audio",remoteUserId:t.isRemote?t.userId:void 0}):JL(t.room.userId,{eventId:t.isRemote?32784:32773,eventDesc:"mute video",remoteUserId:t.isRemote?t.userId:void 0}))})),UO.on(BO.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===MN.AUDIO?JL(t.room.userId,{eventId:t.isRemote?32787:32774,eventDesc:"unmute audio",remoteUserId:t.isRemote?t.userId:void 0}):JL(t.room.userId,{eventId:t.isRemote?32786:32775,eventDesc:"unmute video",remoteUserId:t.isRemote?t.userId:void 0}))})),UO.on(BO.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;!t.room||(1===t.mediaType&&JL(t.room.userId,{eventId:32777,eventDesc:"".concat(MN.SUBSCRIBE," ").concat(t.kind),remoteUserId:t.userId}),4===t.mediaType&&JL(t.room.userId,{eventId:32776,eventDesc:"".concat(MN.SUBSCRIBE," ").concat(t.kind),remoteUserId:t.userId}),8===t.mediaType&&JL(t.room.userId,{eventId:32803,eventDesc:"".concat(MN.SUBSCRIBE," ").concat(MN.SMALL_VIDEO),remoteUserId:t.userId}))})),UO.on(BO.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;!t.room||(1===t.mediaType&&JL(t.room.userId,{eventId:32779,eventDesc:"".concat(MN.UNSUBSCRIBE," ").concat(t.kind),remoteUserId:t.userId}),4===t.mediaType&&JL(t.room.userId,{eventId:32778,eventDesc:"".concat(MN.UNSUBSCRIBE," ").concat(t.kind),remoteUserId:t.userId}),8===t.mediaType&&JL(t.room.userId,{eventId:32804,eventDesc:"".concat(MN.UNSUBSCRIBE," ").concat(MN.SMALL_VIDEO),remoteUserId:t.userId}))})),UO.on(BO.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&JL(t.room.userId,{eventId:t.kind===MN.VIDEO?32780:32781,eventDesc:"switch ".concat(t.kind===MN.VIDEO?"camera":"microphone")})})),UO.on(BO.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&JL(t.room.userId,{eventId:t.kind===MN.VIDEO?32782:32783,eventDesc:"replace ".concat(t.kind)})})),UO.on(BO.SIGNAL_CONNECTION_STATE_CHANGED,(e=>{let t,i,{room:n,prevState:r,state:o}=e;switch(o){case"CONNECTED":"RECONNECTING"===r?(t=32795,i="signal reconnected"):(t=32791,i="signal connected");break;case"DISCONNECTED":"RECONNECTING"===r?(t=32796,i="signal reconnect fail"):(t=32790,i="signal disconnected");break;case"RECONNECTING":t=32794,i="signal reconnecting"}t&&i&&JL(n.userId,{eventId:t,eventDesc:i})})),UO.on(BO.PEER_CONNECTION_STATE_CHANGED,(e=>{let t,i,{room:n,prevState:r,state:o,remoteUserId:s}=e,a=!!s,c=a?"downlink":"uplink";switch(o){case"CONNECTED":"RECONNECTING"===r?(t=a?32801:32798,i="".concat(c," reconnected")):(t=a?32793:32792,i="".concat(c," connected"));break;case"DISCONNECTED":"RECONNECTING"===r&&(t=a?32802:32799,i="".concat(c," reconnect fail"));break;case"RECONNECTING":t=a?32800:32797,i="".concat(c," reconnecting")}t&&i&&JL(n.userId,{eventId:t,eventDesc:i,remoteUserId:s})}));var zL,KL=rb(lb(),1),qL=class extends KL.EventEmitter{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"userId";super(),this.mySelfId=e,this._log=t,this.key=i,sb(this,"userMap",new Map),sb(this,"remotePublishedUserMap",new Map)}getPublishedUser(e){return this.remotePublishedUserMap.get(e)}addUser(e){let t=e[this.key],{userId:i,tinyId:n,role:r}=e;if(this.userMap.has(t))return;let o={userId:i,tinyId:n,role:20===r?"anchor":"audience"};this.userMap.set(t,o),this.emit("1",o)}deleteUser(e,t){let i=this.userMap.get(e);if(!i)return;let n="peer leave [".concat(e,"]");rO(t)||(n+=":".concat(DD[t])),this._log.info(n);let r=this.remotePublishedUserMap.get(e);if(r){let t=r.muteState;r.flag=0,this.emit("5",r.userId),this.deleteRemotePublishedUser(e),this.emit("6",{prevMuteState:t,muteState:r.muteState,flag:0})}this.userMap.delete(e),this.emit("2",i.userId)}setUserList(e){this.userMap.forEach((t=>{e.findIndex((e=>e[this.key]===t[this.key]))<0&&this.deleteUser(t[this.key],0)})),e.forEach((e=>{!this.userMap.has(e[this.key])&&e[this.key]!==this.mySelfId&&this.addUser(e)}))}addRemotePublishedUser(e){this.remotePublishedUserMap.has(e[this.key])||this.remotePublishedUserMap.set(e[this.key],e)}deleteRemotePublishedUser(e){!this.remotePublishedUserMap.has(e)||this.remotePublishedUserMap.delete(e)}setRemotePublishedUserList(e){this.remotePublishedUserMap.forEach((t=>{let i=t[this.key];if(e.findIndex((e=>e[this.key]===t[this.key]))<0){this._log.info("remote [".concat(i,"] unpublish"));let e=t.muteState;t.flag=0,this.emit("5",t.userId),this.deleteRemotePublishedUser(i),this.emit("6",{prevMuteState:e,muteState:t.muteState,flag:0})}})),e.forEach((e=>{var t;let i=e[this.key];if(i===this.mySelfId)return;let{flag:n,userId:r,tinyId:o}=e,s=yO(n,r),a=null==(t=this.remotePublishedUserMap.get(i))?void 0:t.muteState;if(a){let e=this.remotePublishedUserMap.get(i);e&&e.flag!==n&&(e.flag=n,this._log.info("remote publish updated: ".concat(JSON.stringify(e.muteState))),this.emit("6",{prevMuteState:a,muteState:s,flag:n}))}else this._log.info("remote publish. state: ".concat(JSON.stringify(s))),this.addUser({userId:r,tinyId:o,role:20}),this.emit("3",e),this.emit("6",{prevMuteState:yO(0,r),muteState:s,flag:n})}))}clear(){this.userMap.clear(),this.remotePublishedUserMap.clear()}},YL=!0,QL={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"},XL={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},$L=((zL=$L||{})[zL.INVALID_PARAMETER=5e3]="INVALID_PARAMETER",zL[zL.INVALID_PARAMETER_REQUIRED=5001]="INVALID_PARAMETER_REQUIRED",zL[zL.INVALID_PARAMETER_TYPE=5002]="INVALID_PARAMETER_TYPE",zL[zL.INVALID_PARAMETER_EMPTY=5003]="INVALID_PARAMETER_EMPTY",zL[zL.INVALID_PARAMETER_INSTANCE=5004]="INVALID_PARAMETER_INSTANCE",zL[zL.INVALID_PARAMETER_RANGE=5005]="INVALID_PARAMETER_RANGE",zL[zL.INVALID_PARAMETER_LESS_THAN_ZERO=5006]="INVALID_PARAMETER_LESS_THAN_ZERO",zL[zL.INVALID_PARAMETER_MIN=5007]="INVALID_PARAMETER_MIN",zL[zL.INVALID_PARAMETER_MAX=5008]="INVALID_PARAMETER_MAX",zL[zL.INVALID_ELEMENT_ID=5009]="INVALID_ELEMENT_ID",zL[zL.INVALID_ELEMENT_ID_TYPE=5010]="INVALID_ELEMENT_ID_TYPE",zL[zL.INVALID_STREAM_ID=5011]="INVALID_STREAM_ID",zL[zL.INVALID_ROOM_ID_STRING=5012]="INVALID_ROOM_ID_STRING",zL[zL.INVALID_ROOM_ID_INTEGER=5013]="INVALID_ROOM_ID_INTEGER",zL[zL.INVALID_STREAM_TYPE=5014]="INVALID_STREAM_TYPE",zL[zL.INVALID_ROOM_ID_REQUIED=5015]="INVALID_ROOM_ID_REQUIED",zL[zL.INVALID_ROOM_ID_INTEGER_STRING=5016]="INVALID_ROOM_ID_INTEGER_STRING",zL[zL.INVALID_OPERATION=5100]="INVALID_OPERATION",zL[zL.INVALID_OPERATION_NOT_JOINED=5101]="INVALID_OPERATION_NOT_JOINED",zL[zL.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]="INVALID_OPERATION_REMOTE_USER_NOT_EXIST",zL[zL.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]="INVALID_OPERATION_STREAM_TYPE_NOT_EXIST",zL[zL.INVALID_OPERATION_REPEAT_CALL=5104]="INVALID_OPERATION_REPEAT_CALL",zL[zL.ENV_NOT_SUPPORTED=5200]="ENV_NOT_SUPPORTED",zL[zL.NOT_SUPPORTED_HTTP=5201]="NOT_SUPPORTED_HTTP",zL[zL.NOT_SUPPORTED_WEBRTC=5202]="NOT_SUPPORTED_WEBRTC",zL[zL.NOT_SUPPORTED_H264_ENCODE=5203]="NOT_SUPPORTED_H264_ENCODE",zL[zL.NOT_SUPPORTED_H264_DECODE=5204]="NOT_SUPPORTED_H264_DECODE",zL[zL.NOT_SUPPORTED_SCREEN_SHARE=5205]="NOT_SUPPORTED_SCREEN_SHARE",zL[zL.NOT_SUPPORTED_SMALL_VIDEO=5206]="NOT_SUPPORTED_SMALL_VIDEO",zL[zL.NOT_SUPPORTED_SEI=5207]="NOT_SUPPORTED_SEI",zL[zL.DEVICE_ERROR=5300]="DEVICE_ERROR",zL[zL.DEVICE_NOT_FOUND_ERROR=5301]="DEVICE_NOT_FOUND_ERROR",zL[zL.DEVICE_NOT_ALLOWED_ERROR=5302]="DEVICE_NOT_ALLOWED_ERROR",zL[zL.DEVICE_NOT_READABLE_ERROR=5303]="DEVICE_NOT_READABLE_ERROR",zL[zL.DEVICE_OVERCONSTRAINED_ERROR=5304]="DEVICE_OVERCONSTRAINED_ERROR",zL[zL.DEVICE_INVALID_STATE_ERROR=5305]="DEVICE_INVALID_STATE_ERROR",zL[zL.DEVICE_SECURITY_ERROR=5306]="DEVICE_SECURITY_ERROR",zL[zL.DEVICE_ABORT_ERROR=5307]="DEVICE_ABORT_ERROR",zL[zL.CAMERA_RECOVER_FAILED=5308]="CAMERA_RECOVER_FAILED",zL[zL.MICROPHONE_RECOVER_FAILED=5309]="MICROPHONE_RECOVER_FAILED",zL[zL.SERVER_ERROR=5400]="SERVER_ERROR",zL[zL.ACCOUNT_NO_MONEY=-100013]="ACCOUNT_NO_MONEY",zL[zL.OPERATION_FAILED=5500]="OPERATION_FAILED",zL[zL.FIREWALL_RESTRICTION=5501]="FIREWALL_RESTRICTION",zL[zL.REJOIN_FAILED=5502]="REJOIN_FAILED",zL[zL.EVENT_HANDLER_ERROR=5503]="EVENT_HANDLER_ERROR",zL[zL.VIDEO_CONTEXT_ERROR=5504]="VIDEO_CONTEXT_ERROR",zL[zL.OPERATION_ABORT=5998]="OPERATION_ABORT",zL[zL.UNKNOWN_ERROR=5999]="UNKNOWN_ERROR",zL),ZL=tb(eb({},KO),{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:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' is a required param when calling ").concat(n,"(), received: ").concat(r,".")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:i,fnName:n,value:r}=e,o="".concat(t||i.name),s="";return s=Array.isArray(i.type)?i.type.join("|"):i.type,"'".concat(o,"' must be type of ").concat(s," when calling ").concat(n,"(), received type: ").concat(iO(r),".")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' cannot be '").concat(r,"' when calling ").concat(n,"().")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:i,fnName:n,value:r}=e,o="".concat(t||i.name),s="".concat(i.instanceOf.name||i.instanceOf);return"'".concat(o,"' must be instanceof ").concat(s," when calling ").concat(n,"(), received type: ").concat(iO(r),".")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:i,fnName:n,value:r}=e;return"'".concat(t||i.name,"' must be one of ").concat(i.values.join("|")," when calling ").concat(n,"(), received: ").concat(r,".")},INVALID_PARAMETER_LESS_THAN_ZERO(e){let{key:t,rule:i,fnName:n}=e;return"'".concat(t||i.name,"' cannot be less than 0 when calling ").concat(n,"().")},INVALID_PARAMETER_MIN(e){let{key:t,rule:i,value:n}=e;return"the min value of ".concat(t||i.name," is ").concat(i.min,", received: ").concat(n,".")},INVALID_PARAMETER_MAX(e){let{key:t,rule:i,value:n}=e;return"the max value of ".concat(t||i.name," is ").concat(i.max,", received: ").concat(n,".")},INVALID_ELEMENT_ID(e){let{key:t,fnName:i}=e;return"'".concat(t,"' is not found in the document object when calling ").concat(i,"().")},INVALID_ELEMENT_ID_TYPE(e){let{key:t,fnName:i,type:n}=e;return"the element corresponding to '".concat(t,"' must be instanceof HTMLElement when calling ").concat(i,"(), received: ").concat(n,".")},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_REQUIED:()=>"at least one of 'roomId'(between [1, 4294967294]) and 'strRoomId'(not empty) is required.",INVALID_STREAM_TYPE:e=>{let{fnName:t}=e;return"'streamType' is required when 'userId' is not '*', calling ".concat(t,"()")},MIX_PARAMS_USER_Z_ORDER(e){let{key:t}=e;return"'".concat(t,"' is required and must be between 1 and 15.")},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_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_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:i}=e;return"cannot ".concat(t," because remote user(userId: ").concat(i.userId,") does not publishing stream.")},INVALID_OPERATION_STREAM_TYPE_NOT_EXIST(e){let{fnName:t,value:i}=e;return"cannot ".concat(t," because remote user(userId: ").concat(i.userId,") does not publishing ").concat(i.streamType," video.")},INVALID_OPERATION_REPEAT_CALL(e){let{fnName:t}=e;return"you are already ".concat(t,"(), cannot repeated call '").concat(t,"'.")},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.",DEVICE_ERROR(e){let{fnName:t,error:i}=e;return"'".concat(t,"' got device exception").concat(i?", error: ".concat(i.toString(),"."):".")},DEVICE_NOT_FOUND_ERROR(e){let{fnName:t,deviceType:i=eM(t),error:n}=e;return"NotFoundError, no ".concat(i," detected, please check your device and the configuration on '").concat(t,"'").concat(n?", error: ".concat(n.toString(),"."):".")},DEVICE_NOT_ALLOWED_ERROR(e){let{fnName:t,deviceType:i=eM(t),error:n}=e;return"NotAllowedError, you have disabled ".concat(i," access, please allow the current application to use the ").concat(i).concat(n?", error: ".concat(n.toString(),"."):".")},DEVICE_NOT_READABLE_ERROR(e){let{fnName:t,deviceType:i=eM(t),error:n}=e;return"NotReadableError, the ".concat(i," 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:i=eM(t),error:n}=e;return"OverconstrainedError, the device ID is incorrect, please check whether the device ID passed in is correct".concat(n?", error: ".concat(n.toString(),"."):".")},DEVICE_INVALID_STATE_ERROR(e){let{fnName:t,deviceType:i=eM(t),error:n}=e;return"InvalidStateError, after the user clicks and interacts with the page, turn on the ".concat(i).concat(n?", error: ".concat(n.toString(),"."):".")},DEVICE_SECURITY_ERROR(e){let{fnName:t,deviceType:i=eM(t),error:n}=e;return"SecurityError, check whether the system security policy restricts the use of the ".concat(i,", and it is recommended to turn on the ").concat(i," after the user interacts with the page").concat(n?", error: ".concat(n.toString(),"."):".")},DEVICE_ABORT_ERROR(e){let{fnName:t,deviceType:i=eM(t),error:n}=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(n?" error: ".concat(n.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:i}=e;return"'".concat(t,"' failed, reason: ").concat(null==i?void 0:i.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:i}=e;return"video context error ".concat(t," ").concat((null==i?void 0:i.name)||""," ").concat((null==i?void 0:i.message)||"")},SERVER_ERROR(e){let{fnName:t,error:i}=e;return"'".concat(t,"' got server error: ").concat(null==i?void 0:i.toString(),", please check the SDK documentation.")},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:i}=e;return"'".concat(t,"' throw unknown exception").concat(i?", error: ".concat(i.toString(),"."):".")}});function eM(e){if(!e)return"camera";let t=e.toLowerCase();return t.includes("screen")?"screen share":t.includes("audio")?"microphone":"camera"}var tM=class extends Error{constructor(e){let{code:t,extraCode:i,message:n="",messageParams:r,fnName:o="",originError:s}=e;var a;let c;c=n||function(e){let t,{code:i,params:n,enableDocLink:r=!1}=e,s="",a=$L[i];try{t=ZL[a]}catch(o){t=ZL.UNKNOWN_ERROR}return nO(t)?s=t(n):oO(t)&&(s=t),r&&(s+=" doc:"),s}({code:i||t,params:eb({fnName:o,error:s},r)}),super(c),sb(this,"name","RtcError"),sb(this,"code"),sb(this,"extraCode"),sb(this,"functionName"),sb(this,"message"),sb(this,"handler"),sb(this,"originError"),this.name=$L[t],this.code=t,this.extraCode=i,this.functionName=o,this.originError=s,this.message=c,5302===this.extraCode&&(null==(a=this.originError)?void 0:a.message.includes("system"))&&(this.handler=()=>{let e=document.createElement("a");_k?e.href="ms-settings:privacy-".concat({startLocalVideo:"webcam",startLocalAudio:"microphone"}[this.functionName]):fk&&(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(e,t,i){let n=e;if(e instanceof Tb){let{stack:r}=e,o={code:XL.UNKNOWN_ERROR,fnName:t,originError:e};switch(e.getCode()){case fb.INVALID_PARAMETER:o.code=XL.INVALID_PARAMETER;break;case fb.INVALID_OPERATION:o.code=XL.INVALID_OPERATION;break;case fb.NOT_SUPPORTED:case fb.NOT_SUPPORTED_H264:o.code=XL.ENV_NOT_SUPPORTED,e.getCode()===fb.NOT_SUPPORTED_H264&&(o.extraCode=e.message.includes(KO.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case fb.DEVICE_NOT_FOUND:case fb.DEVICE_AUTO_RECOVER_FAILED:o.code=XL.DEVICE_ERROR;break;case fb.JOIN_ROOM_FAILED:o.messageParams={fnParams:i};case fb.SERVER_TIMEOUT:case fb.SWITCH_ROLE_FAILED:o.code=XL.SERVER_ERROR,o.extraCode=e.getExtraCode();break;case fb.API_CALL_ABORTED:o.code=XL.OPERATION_ABORT;break;case fb.INITIALIZE_FAILED:o.code=5300,o.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}(e.name);break;case fb.UNKNOWN:break;default:o.code=XL.OPERATION_FAILED}n=new tM(o),r&&(n.stack+=r.substr(r.indexOf("\n")))}else n=new tM({code:XL.UNKNOWN_ERROR,fnName:t,originError:e});return n}},iM=tM,nM={type:"object",properties:{cameraId:{type:"string"},useFrontCamera:{type:"boolean"},fillMode:{type:"string",values:["contain","cover","fill"]},mirror:{type:"boolean"},small:{properties:{width:{type:"number"},height:{type:"number"},frameRate:{type:"number"},bitrate:{type:"number"}}},videoTrack:{instanceOf:MediaStreamTrack}}},rM={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}}},oM={type:["string",HTMLElement,null,"array"],arrayItem:{instanceOf:HTMLElement},validate(e,t,i){if(oO(e)){let n=document.getElementById(e);if(!n)throw new iM({code:XL.INVALID_PARAMETER,extraCode:5009,fnName:i,messageParams:{key:t}});if(!(n instanceof HTMLElement))throw new iM({code:XL.INVALID_PARAMETER,extraCode:5010,fnName:i,messageParams:{key:t,type:iO(n)}})}}},sM={name:"userId",required:!0,type:"string"},aM={type:"object",properties:{microphoneId:{type:"string"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:"number",min:0},earMonitorVolume:{type:"number",min:0,max:100},echoCancellation:{type:"boolean"},autoGainControl:{type:"boolean"},noiseSuppression:{type:"boolean"}}};function cM(e,t){if(!e)throw new iM({code:XL.INVALID_OPERATION,extraCode:5101,fnName:t})}function lM(e,t,i){if(!e)throw new iM({code:XL.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:i}})}var dM={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,i){if(this._room.isJoined)throw new iM({code:XL.INVALID_OPERATION,extraCode:5104,fnName:i});if(e.roomId){if(oO(e.roomId))throw new iM({code:XL.INVALID_PARAMETER,extraCode:5016,fnName:i,messageParams:{key:t}});if(!(/^[1-9]\d*$/.test(String(e.roomId))&&e.roomId<4294967295))throw new iM({code:XL.INVALID_PARAMETER,extraCode:5013,fnName:i,messageParams:{key:t}})}else{if(!e.strRoomId)throw new iM({code:XL.INVALID_PARAMETER,extraCode:5015,fnName:i});if(!/^[A-Za-z\d\s!#$%&()+\-:;<=.>?@[\]^_{}|~,]{1,64}$/.test(e.strRoomId))throw new iM({code:XL.INVALID_PARAMETER,extraCode:5012,fnName:i,messageParams:{key: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"}}},startLocalVideo:{name:"LocalVideoConfig",type:"object",properties:{view:oM,publish:{type:"boolean"},option:nM},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&rw())throw new iM({code:XL.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalVideo:{name:"updateLocalVideoConfig",type:"object",required:!0,properties:{view:tb(eb({},oM),{required:!1}),publish:{type:"boolean"},mute:{type:"boolean"},option:nM}},startLocalAudio:{name:"LocalAudioConfig",type:"object",properties:{publish:{type:"boolean"},option:aM},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&rw())throw new iM({code:XL.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:"updateLocalAudioConfig",type:"object",required:!0,properties:{publish:{type:"boolean"},mute:{type:"boolean"},option:aM}},startScreenShare:{name:"ScreenShareConfig",type:"object",properties:{view:oM,publish:{type:"boolean"},option:rM},validate(e,t,i,n,r){var o;if((null==(o=null==e?void 0:e.option)||!o.videoTrack)&&rw())throw new iM({code:XL.ENV_NOT_SUPPORTED,extraCode:5201});if(!dw())throw new iM({code:XL.ENV_NOT_SUPPORTED,fnName:i,extraCode:5205})}},updateScreenShare:{name:"updateScreenShareConfig",type:"object",required:!0,properties:{view:oM,publish:{type:"boolean"},option:rM}},muteRemoteAudio:[sM,{name:"mute",required:!0,type:"boolean"}],setRemoteAudioVolume:[sM,{name:"volume",required:!0,type:"number",min:0}],startRemoteVideo:{name:"startRemoteVideoConfig",type:"object",required:!0,properties:{view:oM,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,i){cM(this._room.isJoined,i);let n=this._room.remotePublishedUserMap.get(e.userId);if(lM(!!n,i,e),n&&("main"===e.streamType&&!n.muteState.videoAvailable||"sub"===e.streamType&&!n.muteState.hasAuxiliary))throw new iM({code:XL.INVALID_OPERATION,extraCode:5103,fnName:i,messageParams:{value:e}})}},updateRemoteVideo:{name:"updateRemoteVideoConfig",type:"object",required:!0,properties:{view:tb(eb({},oM),{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,i){cM(this._room.isJoined,i);let n=this._room.remotePublishedUserMap.get(e.userId);if(lM(!!n,i,e),n&&("main"===e.streamType&&!n.muteState.videoAvailable||"sub"===e.streamType&&!n.muteState.hasAuxiliary))throw new iM({code:XL.INVALID_OPERATION,extraCode:5103,fnName:i,messageParams:{value:e}})}},stopRemoteVideo:{name:"stopRemoteVideoConfig",type:"object",required:!0,properties:{userId:{type:"string",required:!0},streamType:{values:["main","sub"]}},validate(e,t,i){if("*"!==e.userId&&rO(e.streamType))throw new iM({code:XL.INVALID_PARAMETER,extraCode:5014,fnName:i})}},switchRole:{name:"role",required:!0,values:["anchor","audience"],validate(e,t,i){cM(this._room.isJoined,i)}},enableAudioVolumeEvaluation:[{name:"interval",type:"number"},{name:"enableInBackground",type:"boolean"}],sendSEIMessage:[{name:"buffer",required:!0,instanceOf:ArrayBuffer,validate(e,t,i,n){if(!Nw)throw new iM({code:XL.ENV_NOT_SUPPORTED,fnName:i,extraCode:5207});if(!this._room.enableSEI)throw new iM({code:XL.INVALID_OPERATION,messageParams:{key:zO.SEI_DISABLED}});if(e.byteLength>1e3)throw new iM({code:XL.INVALID_PARAMETER,messageParams:{key:zO.SEI_OVERSIZE,data:e.byteLength}});if(0===e.byteLength)throw new iM({code:XL.INVALID_PARAMETER,messageParams:{key:zO.SEI_EMPTY}});if(cM(this._room.isJoined,i),!this._room.isMainStreamPublished)throw new iM({code:XL.INVALID_PARAMETER,messageParams:{key:zO.SEI_BEFORE_PUBLISH}})}},{name:"options",type:"object",properties:{seiPayloadType:{type:"number",values:[5,243]}}}]},uM={TRTC:dM},hM=class extends Error{};function pM(e,t){let i=[];return bO(i,e),bO(i,t),i}function mM(e){this._resolve=Promise.resolve(e)}function _M(e){this._reject=Promise.reject(e)}var fM=class{constructor(e,t){this.instance=e,this.group=t,this.started=!1,this.ops=[],this.startSame=()=>!0,this.mergeUpdate=pM;let i=fM.instances.get(e);i?i.set(t,this):fM.instances.set(e,new Map([[t,this]]))}static get(e,t){let i=fM.instances.get(e);return i&&i.get(t)||new fM(e,t)}action(e,t,i){let n=t=>{var i;return 0===e?this.started=!0:3===e&&(this.started=!1),this.ops.shift(),null==(i=this.currentOp)||i.action(),t},r=t=>{var i,n;throw this.ops.shift(),0===e&&2===(null==(i=this.currentOp)?void 0:i.type)&&this.ops.shift().reject(new hM("start failed")),null==(n=this.currentOp)||n.action(),t},o={type:e,action:()=>t(...o.args).then(n,r),args:i,resolve:mM,reject:_M};try{switch(this.state){case 1:if(0===e)throw new hM("already started");break;case 4:if(2===e)throw new hM("not started");break;default:return this.cacheOp(o)}}catch(JV){return Promise.reject(JV)}return this.ops.push(o),o.promise=t(...o.args).then(n,r)}cacheOp(e){if(1===this.ops.length)switch(this.state){case 0:case 2:if(0===e.type)throw new hM("already start");break;case 3:switch(e.type){case 2:throw new hM("update not allowed when stopping");case 3:return this.currentOp.promise}break;default:throw new hM("unknown state")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new hM("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 hM("update not allowed after stop")}break;case 0:switch(this.lastOpType){case 2:throw new hM("start not allowed after update");case 0:throw new hM("duplicate start");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new hM("keep start")),new hM("already start")}}e.promise=new Promise(((t,i)=>{e._resolve?e._resolve.then(t):e.resolve=t,e._reject?e._reject.catch(i):e.reject=i}));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}},gM=fM;gM.instances=new WeakMap;var TM=new WeakMap,EM=(e,t)=>{if(t instanceof hM){let{stack:i}=t;t=new iM({code:XL.OPERATION_ABORT,message:"".concat(e," abort: ").concat(t.message),fnName:e}),i&&(t.stack+=i.substr(i.indexOf("\n")))}throw t};function SM(e,t){return nL(((i,n)=>function(){for(var r=arguments.length,o=new Array(r),s=0;sfunction(){for(var o=arguments.length,s=new Array(o),a=0;a{var a,l;let d=null==(a=TM.get(this))?void 0:a.get(i(...s));if(d){let{timeoutId:e,resolve:t}=d;clearTimeout(e),t()}let u=setTimeout((()=>{if(3===c.state||4===c.state)return n();c.action(2,t.bind(this),s).catch(EM.bind(null,r)).then(n,o)}),e);TM.has(this)?null==(l=TM.get(this))||l.set(i(...s),{timeoutId:u,resolve:n}):TM.set(this,new Map([[i(...s),{timeoutId:u,resolve:n}]]))}))}return c.action(2,t.bind(this),s).catch(EM.bind(null,r))}))}function yM(e){return nL(((t,i)=>function(){for(var n=arguments.length,r=new Array(n),o=0;o{t.startsWith(n)&&(e.started=!1)}))}}}var CM=new WeakMap;function bM(){for(var e=arguments.length,t=new Array(e),i=0;ifunction(){for(var n=arguments.length,r=new Array(n),o=0;ofunction(){for(var n=arguments.length,r=new Array(n),o=0;opO(e)?mO(e):oO(e)?e:iO(e)))},value:i}})}else if(!rO(t.type)&&iO(i)!==t.type)throw new iM(s(5002));if(!1===t.allowEmpty){let e=sO(i)&&(0===i||Number.isNaN(i)),t=oO(i)&&""===i.trim();if(e||t)throw new iM(s(5003))}if(t.notLessThanZero&&sO(i)&&i<0)throw new iM(s(5006));if(!rO(t.min)&&sO(i)&&it.max)throw new iM(s(5008));if(oO(t.instanceOf)){if(!i||i._name!==t.instanceOf)throw new iM(s(5004))}else if(nO(t.instanceOf)&&!(i instanceof t.instanceOf))throw new iM(s(5004));if(Array.isArray(t.values)&&!t.values.includes(i))throw new iM(s(5005));let{properties:a}=t;ZD(a)&&cO(i)&&Object.keys(a).forEach((e=>{DM.call(this,{rule:a[e],value:i&&i[e],key:"".concat(e),fnName:r,className:o})}));let{arrayItem:c}=t;ZD(c)&&lO(i)&&i.forEach(((e,t)=>{DM.call(this,{rule:c,value:e,key:"".concat(n,"[").concat(t,"]"),fnName:r,className:o})})),nO(t.validate)&&t.validate.call(this,i,n,r,o,this)}function OM(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{namePrefix:t=(()=>""),getRemoteId:i=(()=>"")}=e;return nL(((e,n)=>function(){for(var r=arguments.length,o=new Array(r),s=0;s0?c.info("".concat(d,"() ").concat(JSON.stringify(o,((e,t)=>a(e,t,["userSig","privateMapKey"]))))):c.info("".concat(d,"()"));try{let t=e.apply(this,o),n=gO();return hO(t)?t.then((e=>(c.info("".concat(d,"() success ").concat(i.call(this,...o))),UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:d,cost:gO()-n}),e))).catch((e=>{throw e=iM.convertFrom.call(this,e,d,1===o.length?o[0]:o),c.error("".concat(d,"() failed ").concat(i.call(this,...o)," ").concat(e," params: ").concat(JSON.stringify(o,a))),UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:d,error:e}),e})):(UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:d,cost:gO()-n}),t)}catch(h){throw h=iM.convertFrom.call(this,h,d),c.error("".concat(d,"() failed ").concat(h," params: ").concat(JSON.stringify(o,a))),UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:d,error:h}),h}}))}var wM=e=>nL(((t,i)=>function(n,r){return cb(this,null,(function*(){let o=this._plugins.get(n);if(o)return NM.call(this,o.getValidateRule(e),[r],i,"TRTC"),t.call(this,o,r);this._log.warn("plugin ".concat(n," is not found"))}))})),PM=0,LM=class{constructor(e){this.core=e,sb(this,"log"),PM+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(PM)}),this.log.info("[audioMixer] created id=".concat(this.getAlias()).concat(PM)),this.core=e}getName(){return"AudioMixer"}getAlias(){return"ax"}getGroup(e){return null==e?void 0:e.id}getValidateRule(e){switch(e){case"start":return LM.startValidateRule;case"update":return LM.updateValidateRule;case"stop":return LM.stopValidateRule}}start(e){return cb(this,null,(function*(){let{room:t}=this.core;yield t.audioManager.addMusicSource(e)}))}update(e){return cb(this,null,(function*(){let{room:t}=this.core;yield t.audioManager.updateMusicSource(e)}))}stop(e){return cb(this,null,(function*(){let{room:t}=this.core;yield t.audioManager.removeMusicSource(e)}))}},MM=LM;sb(MM,"startValidateRule",{name:"options",required:!0,type:"object",properties:{id:{type:"string",required:!0},url:{type:"string",required:!0},loop:{type:"boolean"},volume:{type:"number"}},validate(e,t,i){if("*"!==e.url){let t=["mp3","ogg","wav","flac"],n=e.url.split(".").pop(),r=t.indexOf(n)>=0,o=e.url.startsWith("blob"),s=e.url.startsWith("data");if(!(r||o||s))throw new iM({code:XL.INVALID_PARAMETER,message:"start audioMixer plugin: music url is invalid, please check your file format.",fnName:i})}}}),sb(MM,"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"]}}}),sb(MM,"stopValidateRule",{name:"options",type:"object",required:!0,properties:{id:{type:"string",required:!0}}});var xM=0,VM=class{constructor(e){this.core=e,sb(this,"log"),xM+=1,this.log=e.log.createChild({id:"".concat(this.getAlias()).concat(xM)}),this.log.info("[audioDenoiser] created id=".concat(this.getAlias()).concat(xM))}getName(){return"AIDenoiser"}getAlias(){return"ad"}getGroup(e){return"AIDenoiser_".concat(Date.now())}getValidateRule(e){switch(e){case"start":return VM.startValidateRule;case"update":return VM.updateValidateRule;case"stop":return VM.stopValidateRule}}start(e){return cb(this,null,(function*(){let{room:t}=this.core,{assetsPath:i,sdkAppId:n,userId:r,userSig:o}=e;if(i&&!t.audioManager.isDenoiserInit)try{yield t.audioManager.initDenoiser({assetsPath:i,sdkAppId:n,userId:r,userSig:o})}catch(JV){if(JV.message)throw new Tb({code:fb.INVALID_PARAMETER,message:JV.message})}yield t.audioManager.enableDenoiser(e),t.sendAbilityStatus({ai_denoise:1})}))}update(e){return cb(this,null,(function*(){}))}stop(e){return cb(this,null,(function*(){let{room:e}=this.core;yield e.audioManager.disableDenoiser()}))}},UM=VM;sb(UM,"startValidateRule",{name:"options",required:!0,type:"object",properties:{assetsPath:{type:"string",required:!0},sdkAppId:{type:"number",required:!0},userId:{type:"string",required:!0},userSig:{type:"string",required:!0}}}),sb(UM,"updateValidateRule",{type:"object"}),sb(UM,"stopValidateRule",{type:"object"});var FM=0,BM=new Set,HM=null;sN("5.2.1");var jM=class extends mb.EventEmitter{constructor(e,t){super(),sb(this,"_room"),sb(this,"_eventListened",new Set),sb(this,"_localVideoTrack",null),sb(this,"_localAudioTrack",null),sb(this,"_localScreenTrack",null),sb(this,"_localScreenAudioTrack",null),sb(this,"_localVideoConfig",null),sb(this,"_localScreenConfig",null),sb(this,"_localAudioConfig",null),sb(this,"_remoteVideoConfigMap",new Map),sb(this,"_remoteAudioConfigMap",new Map),sb(this,"_remoteAudioMuteMap",new Map),sb(this,"_log",jO.createLogger({id:"t".concat(++FM)})),sb(this,"_plugins",new Map),sb(this,"_networkQuality",null),this._room=new e(eb({logger:this._log,frameWorkType:jM.frameWorkType},t)),t.plugins&&t.plugins.forEach((e=>{let t=new e(RM(this._room));this._plugins.set(t.getName(),t)}));let i=new MM(RM(this._room));this._plugins.set(i.getName(),i);let n=new UM(RM(this._room));this._plugins.set(n.getName(),n),this._room.on("audio-volume",(e=>{!e.find((e=>""===e.userId))&&this._localAudioTrack&&e.push({userId:"",volume:Math.floor(100*this._localAudioTrack.getAudioLevel())}),this.emit(vM.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on("error",(e=>{let{reason:t,error:i}=e;this._log.error(new iM({code:XL.OPERATION_FAILED,extraCode:5504,messageParams:{reason:t,error:i}}))})),this.on(vM.REMOTE_AUDIO_UNAVAILABLE,(e=>{let{userId:t}=e;this._stopRemoteAudio({userId:t},!1).catch((()=>{}))})),this.on(vM.REMOTE_VIDEO_UNAVAILABLE,(e=>{let{userId:t,streamType:i}=e;this._stopRemoteVideo({userId:t,streamType:i},!1).catch((()=>{}))})),IP(GP,GP).add("audioInputAdded",(e=>{this.emit(vM.DEVICE_CHANGED,{type:"microphone",action:"add",device:e})})).add("audioInputRemoved",(e=>{this.emit(vM.DEVICE_CHANGED,{type:"microphone",action:"remove",device:e})})).add("videoInputAdded",(e=>{this.emit(vM.DEVICE_CHANGED,{type:"camera",action:"add",device:e})})).add("videoInputRemoved",(e=>{this.emit(vM.DEVICE_CHANGED,{type:"camera",action:"remove",device:e})})).add("audioOutputAdded",(e=>cb(this,null,(function*(){if(this.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"add",device:e}),HM&&HM.deviceId===bD){let e=(yield KP()).find((e=>e.deviceId===bD));e&&HM.groupId!==e.groupId&&(HM=e,this.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"active",device:e}))}})))).add("audioOutputRemoved",(e=>cb(this,null,(function*(){this.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"remove",device:e});let t=(yield KP())[0];t&&HM&&(HM.deviceId===e.deviceId||HM.deviceId===bD&&HM.groupId!==t.groupId)&&(HM=t,this.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"active",device:t}))})))),((e,t)=>{let{emit:n}=e;e.emit=function(){for(var r=arguments.length,o=new Array(r),s=0;s{if(e){let t="UAData: ".concat(e.platform,"/").concat(e.platformVersion);e.architecture&&e.bitness&&(t+=" ".concat(e.architecture,"/").concat(e.bitness)),e.mobile&&(t+=" mobile"),e.model&&(t+=" model: ".concat(e.model)),e.fullVersionList&&(t+=" ".concat(e.fullVersionList.filter((e=>"Not/A)Brand"!==e.brand)).map((e=>"".concat(e.brand,"/").concat(e.version))).join(","))),jO.info(t)}})))}();let i=new jM(e,t||{});return BM.add(i),HM?i.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"active",device:HM}):KP().then((e=>{e[0]&&(HM=e[0],i.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"active",device:e[0]}))})),i}enterRoom(e){return cb(this,null,(function*(){var t,i;let{scene:n="rtc",enableAutoPlayDialog:r=!0,autoReceiveAudio:o=!0,autoReceiveVideo:s=!0}=e;e.proxy&&(this._room.setProxyServer(e.proxy),!oO(e.proxy)&&e.proxy.turnServer&&(null==(i=(t=this._room).setTurnServer)||i.call(t,e.proxy.turnServer,e.proxy.iceTransportPolicy))),this._room.enableAutoPlayDialog=r,this._room.autoReceiveAudio=o,this._room.autoReceiveVideo=s,aO(e.enableHWEncoder)&&(this._room.enableHWEncoder=e.enableHWEncoder);let a={sdkAppId:e.sdkAppId,userId:e.userId,userSig:e.userSig,privateMapKey:e.privateMapKey||null,role:"audience"===e.role?21:20,roomId:e.roomId||0,strRoomId:e.strRoomId||"",businessInfo:e.businessInfo||null,streamId:null,userDefineRecordId:e.userDefineRecordId||null,frameWorkType:e.frameWorkType,component:e.component,language:e.language};e.strRoomId&&!e.roomId&&(this._room.useStringRoomId=!0),IP(this,this._room).add("peer-join",(e=>{let{userId:t}=e;this.emit(vM.REMOTE_USER_ENTER,{userId:t})})).add("peer-leave",(e=>{this.emit(vM.REMOTE_USER_EXIT,{userId:e})})).add("banned",(e=>{this._exitRoom().then((()=>{this.emit(vM.KICKED_OUT,{reason:e.reason})}))})).add("error",(e=>{this._exitRoom().then((()=>{this.emit(vM.ERROR,iM.convertFrom(e))}))})).add("signal-connection-state-changed",(e=>{this.emit(vM.CONNECTION_STATE_CHANGED,e)})).add("network-quality",(e=>{this._networkQuality=e,this.emit(vM.NETWORK_QUALITY,e)})).add("remote-published",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{IP(t,t).add("player-state-changed",(i=>{let n=tb(eb({},i),{userId:e.userId});t.kind===MN.VIDEO&&(n.streamType=function(e){return"sub"===e?"auxiliary":"auxiliary"===e?"sub":"main"}(t.streamType)),this.emit(t.kind===MN.AUDIO?vM.AUDIO_PLAY_STATE_CHANGED:vM.VIDEO_PLAY_STATE_CHANGED,n)})).add("error",(e=>{e.getCode()===fb.PLAY_NOT_ALLOWED&&this.emit(vM.AUTOPLAY_FAILED,{userId:t.userId})}))}))})).add("remote-unpublished",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{yP(e)}))})).add("remote-publish-state-changed",(e=>{let{prevMuteState:t,muteState:i}=e,{userId:n}=i;this._room.remotePublishedUserMap.get(n);let r=t.audioAvailable,o=t.videoAvailable,{audioAvailable:s,videoAvailable:a}=i;s||this._remoteAudioConfigMap.delete(n),a||this._remoteVideoConfigMap.delete("".concat(n,"_","main")),i.hasAuxiliary||this._remoteVideoConfigMap.delete("".concat(n,"_","sub")),r!==s&&this.emit(s?vM.REMOTE_AUDIO_AVAILABLE:vM.REMOTE_AUDIO_UNAVAILABLE,{userId:n}),o!==a&&this.emit(a?vM.REMOTE_VIDEO_AVAILABLE:vM.REMOTE_VIDEO_UNAVAILABLE,{userId:n,streamType:"main"}),t.hasAuxiliary!==i.hasAuxiliary&&this.emit(i.hasAuxiliary?vM.REMOTE_VIDEO_AVAILABLE:vM.REMOTE_VIDEO_UNAVAILABLE,{userId:n,streamType:"sub"})})).add("firewall-restriction",(()=>{this.emit(vM.ERROR,new iM({code:XL.OPERATION_FAILED,extraCode:5501}))})).add("sei-message",(e=>{this.emit(vM.SEI_MESSAGE,e)})).add("heartbeat-report",(e=>{var t,i,n,r,o,s,a;let c={2:"big",3:"small",7:"sub"},l={rtt: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==(i=this._networkQuality)?void 0:i.uplinkRTT)||(null==(n=this._networkQuality)?void 0:n.downlinkRTT)||0,upLoss:(null==(r=this._networkQuality)?void 0:r.uplinkLoss)||0,downLoss:(null==(o=this._networkQuality)?void 0:o.downlinkLoss)||0,bytesSent:e.bytes_sent||0,bytesReceived:e.bytes_received||0,localStatistics:{audio:{bitrate:((null==(s=e.msg_up_stream_info.msg_audio_status)?void 0:s.uint32_audio_codec_bitrate)||0)/1e3,audioLevel:((null==(a=e.msg_up_stream_info.msg_audio_status)?void 0:a.uint32_audio_level)||0)/UD},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)/UD},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]})))})))};this.emit(vM.STATISTICS,l)})),this._handleReceiveMode(),yield this._room.join(a,n,jM.frameWorkType),this._checkTrackToPublish()}))}exitRoom(){return cb(this,null,(function*(){return yield this._exitRoom()}))}switchRole(e){return cb(this,null,(function*(){yield this._room.switchRole(e),"anchor"===e&&this._checkTrackToPublish()}))}destroy(){yP(GP),this.removeAllListeners(),this._room.destroy(),BM.delete(this),this._localAudioTrack&&this.stopLocalAudio(),this._localVideoTrack&&this.stopLocalVideo(),this._localScreenTrack&&this.stopScreenShare()}startLocalAudio(){return cb(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:i=!0,option:n}=t,r=new sL(e._room.audioManager),o={},s={muted:!0};n&&(rO(n.microphoneId)?rO(n.audioTrack)||(o.customSource=n.audioTrack):o.deviceId=n.microphoneId,n&&sO(n.captureVolume)&&r.setCaptureVolume(n.captureVolume),rO(n.profile)||(oO(n.profile)?wN[n.profile]&&r.setProfile(wN[n.profile]):r.setProfile(n.profile)),sO(n.earMonitorVolume)&&(s.muted=!(n.earMonitorVolume>0),s.volume=n.earMonitorVolume),rO(n.echoCancellation)||(r.profile.echoCancellation=n.echoCancellation),rO(n.noiseSuppression)||(r.profile.noiseSuppression=n.noiseSuppression),rO(n.autoGainControl)||(r.profile.autoGainControl=n.autoGainControl)),r.on("5",(t=>{e.emit(vM.ERROR,new iM({code:XL.DEVICE_ERROR,extraCode:5309,messageParams:{error:t}}))})),r.on("2",(t=>{e.emit(vM.DEVICE_CHANGED,{type:"microphone",action:"active",device:t})})),r.on("4",(t=>{let i;t.error&&(i=iM.convertFrom(t.error)),e.emit(vM.PUBLISH_STATE_CHANGED,tb(eb({},t),{error:i}))})),yield r.capture(o),IP(r,r).add("player-state-changed",(t=>{e.emit(vM.AUDIO_PLAY_STATE_CHANGED,tb(eb({},t),{userId:""}))})),i&&e._room.isJoined&&e._room.publish(r).catch((()=>{})),yield e._updateAudioPlayOption({playOption:s,track:r}),e._localAudioTrack=r,e._localAudioConfig=tb(eb({},t),{publish:i})}()}))}updateLocalAudio(e){return cb(this,null,(function*(){if(!this._localAudioTrack||!this._localAudioConfig)return;let{publish:t,mute:i,option:n}=e,r={};n&&(n.microphoneId?yield this._localAudioTrack.switchDevice(n.microphoneId):rO(n.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(n.audioTrack)),rO(n.captureVolume)||this._localAudioTrack.setCaptureVolume(n.captureVolume),rO(n.earMonitorVolume)||(r.muted=!(n.earMonitorVolume>0),r.volume=n.earMonitorVolume),yield this._localAudioTrack.update3A(n)),this._room.isJoined&&!rO(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),rO(i)||this._localAudioTrack.setMute(i),yield this._updateAudioPlayOption({playOption:r,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),bO(this._localAudioConfig,e)}))}stopLocalAudio(){return cb(this,null,(function*(){!this._localAudioTrack||(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),this._localAudioTrack.stop(),this._localAudioTrack.close(),yP(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null)}))}startLocalVideo(){return cb(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._localVideoTrack)return void e._log.warn("local video is already started");let{view:i,publish:n=!0,option:r}=t,o=new aL(e._room.videoManager),s={},a={};if(r&&(r.cameraId?s.deviceId=r.cameraId:rO(r.useFrontCamera)?rO(r.videoTrack)||(s.customSource=r.videoTrack):s.facingMode=r.useFrontCamera?MN.FACING_MODE_USER:MN.FACING_MODE_ENVIRONMENT,rO(r.profile)||(oO(r.profile)?PN[r.profile]&&o.setProfile(PN[r.profile]):o.setProfile(r.profile)),rO(r.fillMode)||(a.objectFit=r.fillMode),rO(r.mirror)||(a.mirror=r.mirror),rO(r.small)||(gw()?oO(r.small)?o.small=PN[r.small]:o.small=r.small:e._log.warn("small stream is not supported"))),o.on("5",(t=>{e.emit(vM.ERROR,new iM({code:XL.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),o.on("2",(t=>{e.emit(vM.DEVICE_CHANGED,{type:"camera",action:"active",device:t})})),o.on("4",(t=>{let i;t.error&&(i=iM.convertFrom(t.error)),e.emit(vM.PUBLISH_STATE_CHANGED,tb(eb({},t),{error:i}))})),yield o.capture(s),(null==r?void 0:r.qosPreference)&&o.mediaTrack){let e=AM(r.qosPreference);o.mediaTrack.contentHint=e}IP(o,o).add("player-state-changed",(t=>{e.emit(vM.VIDEO_PLAY_STATE_CHANGED,tb(eb({},t),{userId:"",streamType:"main"}))})),n&&e._room.isJoined&&e._room.publish(o).catch((()=>{})),yield e._updateVideoPlayOption({view:i,playOption:a,track:o}),e._localVideoTrack=o,e._localVideoConfig=tb(eb({},t),{view:i,publish:n})}()}))}updateLocalVideo(e){return cb(this,null,(function*(){if(!this._localVideoTrack||!this._localVideoConfig)return;let{view:t,publish:i,mute:n,option:r}=e,o={};if(r&&(rO(r.profile)||(oO(r.profile)?PN[r.profile]&&this._localVideoTrack.setProfile(PN[r.profile]):this._localVideoTrack.setProfile(r.profile),(!r.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(r.cameraId))&&rO(r.useFrontCamera)&&this._localVideoTrack.applyProfile()),r.cameraId?yield this._localVideoTrack.switchDevice(r.cameraId):rO(r.useFrontCamera)?rO(r.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(r.videoTrack)):yield this._localVideoTrack.switchDevice(r.useFrontCamera?MN.FACING_MODE_USER:MN.FACING_MODE_ENVIRONMENT),rO(r.fillMode)||(o.objectFit=r.fillMode),rO(r.mirror)||(o.mirror=r.mirror),r.qosPreference&&this._localVideoTrack.mediaTrack)){let e=AM(r.qosPreference);this._localVideoTrack.mediaTrack.contentHint=e}this._room.isJoined&&!rO(i)&&(i&&!this._localVideoConfig.publish&&this._room.publish(this._localVideoTrack).catch((()=>{})),this._localVideoConfig.publish&&!i&&this._room.unpublish(this._localVideoTrack).catch((()=>{}))),rO(n)||this._localVideoTrack.setMute(n),yield this._updateVideoPlayOption({view:t,playOption:o,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),bO(this._localVideoConfig,e)}))}stopLocalVideo(){return cb(this,null,(function*(){!this._localVideoTrack||(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),yP(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return cb(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:i=null,publish:n=!0,option:r}=t,o=new lL(e._room.videoManager);o.on("4",(t=>{let i;t.error&&(i=iM.convertFrom(t.error)),e.emit(vM.PUBLISH_STATE_CHANGED,tb(eb({},t),{error:i}))}));let s=null;o.setMediaType(2);let a={},c={};r&&(rO(r.profile)||(oO(r.profile)?LN[r.profile]&&o.setProfile(LN[r.profile]):o.setProfile(r.profile)),r.systemAudio&&(a.systemAudio=!0,a.echoCancellation=r.echoCancellation,a.noiseSuppression=r.noiseSuppression,a.autoGainControl=r.autoGainControl),rO(r.fillMode)||(c.objectFit=r.fillMode),r.videoTrack&&(a.videoTrack=r.videoTrack),r.audioTrack&&(a.audioTrack=r.audioTrack));let l=yield o.capture(a);if(null!=r&&r.qosPreference){let e=AM(r.qosPreference);o.mediaTrack.contentHint=e}if(o.mediaTrack.addEventListener(MN.ENDED,(()=>{e._stopScreenShare(),e.emit(vM.SCREEN_SHARE_STOPPED)})),l.getAudioTracks()[0]&&(s=new dL(e._room.audioManager),s.setInputMediaStreamTrack(l.getAudioTracks()[0])),IP(o,o).add("player-state-changed",(t=>{e.emit(vM.VIDEO_PLAY_STATE_CHANGED,tb(eb({},t),{userId:"",streamType:"sub"}))})),n&&e._room.isJoined){let t=[o];s&&t.push(s),e._room.publish(...t).catch((()=>{}))}yield e._updateVideoPlayOption({view:i,playOption:c,track:o}),e._localScreenTrack=o,e._localScreenAudioTrack=s,e._localScreenConfig=tb(eb({},t),{view:i,publish:n})}()}))}updateScreenShare(e){return cb(this,null,(function*(){if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:t,publish:i,option:n}=e,r={};if(n&&(rO(n.fillMode)||(r.objectFit=n.fillMode),n.qosPreference)){let e=AM(n.qosPreference);this._localScreenTrack.mediaTrack.contentHint=e}this._room.isJoined&&!rO(i)&&(i&&!this._localScreenConfig.publish&&this._room.publish(this._localScreenTrack).catch((()=>{})),this._localScreenConfig.publish&&!i&&this._room.unpublish(this._localScreenTrack).catch((()=>{}))),yield this._updateVideoPlayOption({view:t,playOption:r,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),bO(this._localScreenConfig,e)}))}stopScreenShare(){return cb(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return cb(this,null,(function*(){let{view:t,userId:i,streamType:n,option:r}=e,o="".concat(i,"_").concat(n);if(this._remoteVideoConfigMap.has(o))return void this._log.warn("remote video has already started. userId:".concat(i,", streamType:").concat(n));let s=this._room.remotePublishedUserMap.get(i);if(!s)return;let a={},c="main"===n?s.remoteVideoTrack:s.remoteAuxiliaryTrack;r&&(rO(r.fillMode)||(a.objectFit=r.fillMode),rO(r.mirror)||(a.mirror=r.mirror),"main"===n&&!rO(r.small)&&this._room.changeType(r.small,c.user)),yield this._room.subscribe(c),yield this._updateVideoPlayOption({view:t,playOption:a,track:c}),this._remoteVideoConfigMap.set(o,e)}))}updateRemoteVideo(e){return cb(this,null,(function*(){let{view:t,userId:i,streamType:n,option:r}=e,o="".concat(i,"_").concat(n);if(!this._remoteVideoConfigMap.has(o)||!this._room.remotePublishedUserMap.has(i))return;let s={};r&&(rO(r.fillMode)||(s.objectFit=r.fillMode),rO(r.mirror)||(s.mirror=r.mirror));let a=null,c=this._room.remotePublishedUserMap.get(i);"main"===n&&(null==c?void 0:c.muteState.hasVideo)&&(a=c.remoteVideoTrack),"sub"===n&&(null==c?void 0:c.muteState.hasAuxiliary)&&(a=c.remoteAuxiliaryTrack);let l=this._remoteVideoConfigMap.get(o);a&&("main"===n&&r&&!rO(r.small)&&this._room.changeType(r.small,a.user),yield this._updateVideoPlayOption({view:t,playOption:s,track:a,prevConfig:l})),bO(l,e)}))}stopRemoteVideo(e){return cb(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return cb(this,null,(function*(){let i=[],n=this._room.remotePublishedUserMap.get(e.userId);if(n){let{muteState:t,remoteVideoTrack:r,remoteAuxiliaryTrack:o}=n;"main"===e.streamType&&(r.stop(),t.hasVideo&&i.push(r)),"sub"===e.streamType&&(o.stop(),t.hasAuxiliary&&i.push(o))}for(let e of i)t&&(yield this._room.unsubscribe(e));this._remoteVideoConfigMap.delete("".concat(e.userId,"_").concat(e.streamType))}))}muteRemoteAudio(e,t){return cb(this,null,(function*(){if("*"===e)if(t)yield this._stopRemoteAudio({userId:e});else{let e=[...this._room.remotePublishedUserMap.values()];for(let t of e)t.muteState.hasAudio&&(yield this._startRemoteAudio({userId:t.userId}))}else t?yield this._stopRemoteAudio({userId:e}):yield this._startRemoteAudio({userId:e});this._remoteAudioMuteMap.set(e,t)}))}setRemoteAudioVolume(e,t){if("*"===e){let e=[...this._room.remotePublishedUserMap.values()];for(let i of e)this._updateAudioPlayOption({playOption:{volume:t},track:i.remoteAudioTrack})}else if(e){let i=this._room.remotePublishedUserMap.get(e);i&&this._updateAudioPlayOption({playOption:{volume:t},track:i.remoteAudioTrack})}}startPlugin(e,t){return cb(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return cb(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return cb(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,i){return super.on(e,t,i),this._eventListened.add(e),this}off(e,t,i){return"*"===e?(this._eventListened.clear(),this.removeAllListeners()):super.off(e,t,i),this}getVideoTrack(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:"",streamType:"main"},{userId:t="",streamType:i="main"}=e;if(""===t){if("main"===i&&this._localVideoTrack)return this._localVideoTrack.mediaTrack;if("sub"===i&&this._localScreenTrack)return this._localScreenTrack.mediaTrack}else{let e=this._room.remotePublishedUserMap.get(t);if(e)return"main"===i?e.remoteVideoTrack.mediaTrack:e.remoteAuxiliaryTrack.mediaTrack}return null}getAudioTrack(e){if(e){let t=this._room.remotePublishedUserMap.get(e);if(t)return t.remoteAudioTrack.mediaTrack}else if(this._localAudioTrack)return this._localAudioTrack.mediaTrack;return null}setCurrentSpeaker(e){var t;null==(t=this._localAudioTrack)||t.setAudioOutput(e),this._room.remotePublishedUserMap.forEach((t=>t.remoteAudioTrack.setAudioOutput(e)))}_startRemoteAudio(e){return cb(this,null,(function*(){let{userId:t,option:i}=e;if(this._remoteAudioConfigMap.has(t))return void this._log.warn("remote audio has already started. userId:".concat(t));let n=this._room.remotePublishedUserMap.get(t);if(!n)return;let r={};i&&(rO(i.volume)||(r.volume=i.volume));let o=n.remoteAudioTrack;yield this._room.subscribe(o),yield this._updateAudioPlayOption({playOption:r,track:o}),this._remoteAudioConfigMap.set(t,e)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return cb(this,null,(function*(){let i=this._room.remotePublishedUserMap.get(e.userId);i&&(i.remoteAudioTrack.stop(),i.muteState.hasAudio&&t&&(yield this._room.unsubscribe(i.remoteAudioTrack))),this._remoteAudioConfigMap.delete("".concat(e.userId))}))}_updateVideoPlayOption(e){return cb(this,arguments,(function(e){let{view:t,playOption:i,track:n,prevConfig:r}=e;return function*(){if(rO(t)&&r&&r.view&&!IO(i)){let e;e=lO(r.view)?r.view:kO(r.view),e&&(yield n.play(e,i))}if(!rO(t)){let e;e=lO(t)?t:kO(t),e?yield n.play(e,i):n.stop()}}()}))}_updateAudioPlayOption(e){return cb(this,arguments,(function(e){let{playOption:t={},track:i,prevConfig:n}=e;return function*(){if(!i.isPlayCalled)try{yield i.play(null,t)}catch(lN){}rO(t.muted)||i.setPlayerMute(t.muted),rO(t.volume)||i.setAudioVolume(t.volume/100)}()}))}_checkTrackToPublish(){var e,t,i;let n=[];if((null==(e=this._localAudioConfig)?void 0:e.publish)&&this._localAudioTrack&&n.push(this._localAudioTrack),(null==(t=this._localVideoConfig)?void 0:t.publish)&&this._localVideoTrack&&n.push(this._localVideoTrack),null!=(i=this._localScreenConfig)&&i.publish&&(this._localScreenTrack&&n.push(this._localScreenTrack),this._localScreenAudioTrack&&n.push(this._localScreenAudioTrack)),0!==n.length)return this._room.publish(...n).catch((()=>{}))}_handleReceiveMode(){this._room.autoReceiveAudio&&IP(this,this).add(vM.REMOTE_AUDIO_AVAILABLE,(e=>cb(this,[e],(function(e){var t=this;let{userId:i}=e;return function*(){if(t._remoteAudioMuteMap.get("*")||t._remoteAudioMuteMap.get(i))return;let e=t._room.remotePublishedUserMap.get(i);e&&(yield t._room.subscribe(e.remoteAudioTrack).catch((()=>{})),yield t._updateAudioPlayOption({track:e.remoteAudioTrack}).catch((()=>{})),t._remoteAudioConfigMap.set(i,{userId:i}))}()})))),this._room.autoReceiveVideo&&IP(this,this).add(vM.REMOTE_VIDEO_AVAILABLE,(e=>{let{userId:t,streamType:i}=e,n=this._room.remotePublishedUserMap.get(t);n&&("main"===i?this._room.subscribe(n.remoteVideoTrack).catch((()=>{})):"sub"===i&&this._room.subscribe(n.remoteAuxiliaryTrack).catch((()=>{})))}))}_exitRoom(){return cb(this,null,(function*(){this._room.isJoined&&(yield this._room.leave()),[...this._remoteAudioConfigMap.keys()].forEach((e=>{this._stopRemoteAudio({userId:e}).catch()})),[...this._remoteVideoConfigMap.keys()].forEach((e=>{let t=e.includes("main")?"main":"sub",i=e.split("_".concat(t))[0];i&&this._stopRemoteVideo({userId:i,streamType:t}).catch()})),this._remoteVideoConfigMap.clear(),this._remoteAudioConfigMap.clear(),this._remoteAudioMuteMap.clear(),this._room.remotePublishedUserMap.forEach((e=>{yP(e.remoteAudioTrack),yP(e.remoteVideoTrack),yP(e.remoteAuxiliaryTrack)})),yP(this)}))}_stopScreenShare(){return cb(this,null,(function*(){var e,t,i;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(),null==(t=this._localScreenAudioTrack)||t.stop(),null==(i=this._localScreenAudioTrack)||i.close(),yP(this._localScreenTrack),this._localScreenTrack=null,this._localScreenAudioTrack=null,this._localScreenConfig=null}}))}sendSEIMessage(e,t){this._room.sendSEI(e,t||{seiPayloadType:243})}static setLogLevel(e,t){jO.setLogLevel(e),rO(t)||(t?jO.enableUploadLog():jO.disableUploadLog())}static isSupported(){return cw()}static getCameraList(){return zP()}static getMicrophoneList(){return JP()}static getSpeakerList(){return KP()}static setCurrentSpeaker(e){return cb(this,null,(function*(){(yield KP()).forEach((t=>{t.deviceId===e&&(BM.forEach((i=>{i.setCurrentSpeaker(e),i.emit(vM.DEVICE_CHANGED,{type:"speaker",action:"active",device:t})})),HM=t)}))}))}},GM=jM;sb(GM,"_loggerManager",jO),sb(GM,"EVENT",vM),sb(GM,"ERROR_CODE",XL),sb(GM,"TYPE",QL),sb(GM,"frameWorkType",30),ob([bM(uM.TRTC.enterRoom),SM("room",((e,t)=>{let[i]=e,[n]=t;return(i.roomId||i.strRoomId)===(n.roomId||n.strRoomId)&&i.userId===n.userId&&i.sdkAppId===n.sdkAppId})),nL((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t).catch((e=>{throw yP(this),e}))})),OM()],GM.prototype,"enterRoom",1),ob([OM()],GM.prototype,"exitRoom",1),ob([bM(uM.TRTC.switchRole),IM("room",{merge:(e,t)=>t}),OM()],GM.prototype,"switchRole",1),ob([OM()],GM.prototype,"destroy",1),ob([bM(uM.TRTC.startLocalAudio),SM("audio",((e,t)=>{let[i]=e,[n]=t;var r,o;return(null==(r=null==i?void 0:i.option)?void 0:r.microphoneId)===(null==(o=null==n?void 0:n.option)?void 0:o.microphoneId)})),OM()],GM.prototype,"startLocalAudio",1),ob([bM(uM.TRTC.updateLocalAudio),IM("audio",{debounce:{delay:200,getKey:()=>"".concat(FM,"-localAudio"),isNeedToDebounce:e=>{var t;return!rO(null==(t=e.option)?void 0:t.captureVolume)}}}),OM()],GM.prototype,"updateLocalAudio",1),ob([yM("audio"),OM()],GM.prototype,"stopLocalAudio",1),ob([bM(uM.TRTC.startLocalVideo),SM("video",((e,t)=>{let[i]=e,[n]=t;var r,o;return(null==(r=null==i?void 0:i.option)?void 0:r.cameraId)===(null==(o=null==n?void 0:n.option)?void 0:o.cameraId)})),OM()],GM.prototype,"startLocalVideo",1),ob([bM(uM.TRTC.updateLocalVideo),IM("video"),OM()],GM.prototype,"updateLocalVideo",1),ob([yM("video"),OM()],GM.prototype,"stopLocalVideo",1),ob([bM(uM.TRTC.startScreenShare),SM("screen",(()=>!0)),OM()],GM.prototype,"startScreenShare",1),ob([bM(uM.TRTC.updateScreenShare),IM("screen"),OM()],GM.prototype,"updateScreenShare",1),ob([OM()],GM.prototype,"stopScreenShare",1),ob([bM(uM.TRTC.startRemoteVideo),SM((e=>"v".concat(e.userId).concat(e.streamType)),(()=>!0)),OM({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],GM.prototype,"startRemoteVideo",1),ob([bM(uM.TRTC.updateRemoteVideo),IM((e=>"v".concat(e.userId).concat(e.streamType))),OM({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],GM.prototype,"updateRemoteVideo",1),ob([bM(uM.TRTC.stopRemoteVideo),nL((e=>function(t){return cb(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)}))})),OM({getRemoteId:e=>"".concat(e.userId,"_").concat(e.streamType)})],GM.prototype,"stopRemoteVideo",1),ob([yM((e=>"v".concat(e.userId).concat(e.streamType)))],GM.prototype,"_stopRemoteVideo",1),ob([bM(...uM.TRTC.muteRemoteAudio),OM({getRemoteId:e=>e})],GM.prototype,"muteRemoteAudio",1),ob([kM(...uM.TRTC.setRemoteAudioVolume),function(e,t){return nL(((i,n)=>function(){for(var n=arguments.length,r=new Array(n),o=0;o0&&clearTimeout(c);let l=window.setTimeout((()=>{i.apply(this,r)}),e);CM.has(this)?null==(a=CM.get(this))||a.set(t(...r),l):CM.set(this,new Map([[t(...r),l]]))}))}(200,(e=>e)),OM({getRemoteId:e=>e})],GM.prototype,"setRemoteAudioVolume",1),ob([wM("start"),SM(((e,t)=>e.getAlias()+e.getGroup(t))),OM({namePrefix:e=>e.getName()})],GM.prototype,"startPlugin",1),ob([wM("update"),IM(((e,t)=>e.getAlias()+e.getGroup(t))),OM({namePrefix:e=>e.getName()})],GM.prototype,"updatePlugin",1),ob([wM("stop"),yM(((e,t)=>e.getAlias()+e.getGroup(t))),OM({namePrefix:e=>e.getName()})],GM.prototype,"stopPlugin",1),ob([kM(...uM.TRTC.enableAudioVolumeEvaluation)],GM.prototype,"enableAudioVolumeEvaluation",1),ob([SM((e=>"a".concat(e.userId)),(()=>!0))],GM.prototype,"_startRemoteAudio",1),ob([nL((e=>function(t){return cb(this,null,(function*(){return"*"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio(tb(eb({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),yM((e=>"a".concat(e.userId)))],GM.prototype,"_stopRemoteAudio",1),ob([yM("room")],GM.prototype,"_exitRoom",1),ob([yM("screen")],GM.prototype,"_stopScreenShare",1),ob([bM(uM.TRTC.sendSEIMessage),function(e){let{timesInSecond:t,maxSizeInSecond:i,getSize:n}=e;return nL(((e,r)=>{let o=new Map;return UO.on(BO.ROOM_DESTROY,(e=>{let{room:t}=e;return o.delete(t)})),function(){let s=o.get(this);for(var a=arguments.length,c=new Array(a),l=0;l1e3&&(s.timestamp=Date.now(),s.callCountInSecond=0,s.totalSizeInSecond=0),n&&(s.totalSizeInSecond+=n(...c)),0!==s.timestamp&&Date.now()-s.timestamp<1e3&&(s.callCountInSecond>=t||s.totalSizeInSecond>i))throw new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.CALL_FREQUENCY_LIMIT,data:{isTimes:s.callCountInSecond>=t,isSize:s.totalSizeInSecond>i,name:r,timesInSecond:t,maxSizeInSecond:i}})});s.callCountInSecond++,e.call(this,...c)}}))}({timesInSecond:30,maxSizeInSecond:8e3,getSize:function(){for(var e=arguments.length,t=new Array(e),i=0;i0&&this.room.enableSPC&&(this.keepAlive=!0,Dx.add(this)),this.url=e.url,this.backupUrl=e.backupUrl,this._seq=0,this._log=jO.createLogger({id:"ws",userId:this.userId,sdkAppId:this.sdkAppId})}get urlParam(){return"?sdkAppId=".concat(encodeURIComponent(this.sdkAppId),"&userId=").concat(encodeURIComponent(this.userId),"&userSig=").concat(encodeURIComponent(this.userSig),"&keepAlive=").concat(encodeURIComponent(Number(this.keepAlive)))}get _urlWithParam(){return"".concat(this.url).concat(this.urlParam)}get _backupUrlWithParam(){return"".concat(this.backupUrl).concat(this.urlParam)}get isConnected(){return this._currentState===tx}get isConnecting(){return this._currentState===ex}get sdkAppId(){return this.room.sdkAppId}get userId(){return this.room.userId}get userSig(){return this.room.userSig}get isOnline(){return this._currentState===tx&&Date.now()-this._lastMessageTime<12e3}connect(e){return this.isConnected?Promise.resolve():new Promise(((t,i)=>{this._prevTime<0&&(this._prevTime=gO()),this._log.info("connect to ".concat(this.url).concat(e?" timeout: ".concat(e):""," keepAlive: ").concat(Number(this.keepAlive))),this.emitConnectionStateChanged(ex),this._socket=new WebSocket(this._urlWithParam),this.bindSocket(this._socket),this._backupTimer=setTimeout((()=>{this.isConnected||(this._log.info("trying to connect to backupUrl"),this.tryConnectBackup())}),5e3);let n=-1;e&&(n=setTimeout((()=>{this.close(),i(new Tb({code:fb.JOIN_ROOM_FAILED,message:"join room timeout"}))}),e)),this.once(XM,(()=>{clearTimeout(n),t()})),this.once($M,(e=>{clearTimeout(n),i(e)}))}))}tryConnectBackup(){this._backupSocket||(this.unbindAndCloseSocket(MN.MAIN),this._log.debug("try to connect to url: ".concat(this._backupUrlWithParam)),this._backupSocket=new WebSocket(this._backupUrlWithParam),this.bindSocket(this._backupSocket))}bindSocket(e){e.onopen=this.onopen.bind(this),e.onclose=this.onclose.bind(this),e.onerror=this.onerror.bind(this),e.onmessage=this.onmessage.bind(this)}unbindSocket(e){this.clearBackupTimer(),e.onopen=()=>{},e.onclose=()=>{},e.onerror=()=>{},e.onmessage=()=>{}}unbindAndCloseSocket(e){if(e===MN.MAIN){if(this._socket){this.unbindSocket(this._socket);try{this._socket.close(1e3)}catch(aD){}this._socket=null}}else if(this._backupSocket){this.unbindSocket(this._backupSocket);try{this._backupSocket.close(1e3)}catch(aD){}this._backupSocket=null}}clearBackupTimer(){-1!==this._backupTimer&&(clearTimeout(this._backupTimer),this._backupTimer=-1)}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}onopen(e){this.isConnected||(this.isReconnecting&&!this._signalInfo.tinyId&&this.stopReconnection(),this.clearBackupTimer(),e.target===this._socket?(this.unbindAndCloseSocket(MN.BACKUP),this._socketInUse=this._socket):(this.unbindAndCloseSocket(MN.MAIN),this._socketInUse=this._backupSocket),this.emitConnectionStateChanged(tx),this.emit(XM))}onclose(e){let{url:t}=e.target,i=e.target===this._socketInUse;if(this._log.info("websocket[".concat(t," InUse: ").concat(i,"] is closed with code: ").concat(e.code)),i&&(this.emitConnectionStateChanged(ZM),!e.wasClean||1e3!==e.code)){this._log.warn("onclose code:".concat(e.code," reason:").concat(e.reason)),this._log.warn("close current websocket and schedule a reconnect timeout"),this._socketInUse.onclose=()=>{},this._socketInUse.close(4011);let t=this._socketInUse===this._socket;this._socket=null,this._backupSocket=null,this._socketInUse=null,this.reconnect(t?MN.BACKUP:MN.MAIN)}}onerror(e){let{url:t}=e.target;if(this._log.error("websocket[".concat(t,"] error observed")),this.isConnected){if(e.target===this._socketInUse){this.unbindAndCloseSocket(MN.MAIN),this.unbindAndCloseSocket(MN.BACKUP);let e=this._socketInUse===this._socket;this._socketInUse=null,this.reconnect(e?MN.BACKUP:MN.MAIN)}}else this.isReconnecting||UO.emit(BO.API_SUCCESS_RATE,{room:this.room,apiName:"WebsocketConnect",error:new Error("ws onerror")}),e.target==this._socket?(this.unbindAndCloseSocket(MN.MAIN),this.reconnect(MN.BACKUP)):(this.unbindAndCloseSocket(MN.BACKUP),this.reconnect(MN.MAIN))}onmessage(e){if(!this.isConnected)return;this._lastMessageTime=Date.now(),this.bytesReceived+=PO(e.data);let t=JSON.parse(e.data),{cmd:i,data:n}=t,r=Object.values(ix),o=Object.keys(ix)[r.indexOf(i)],s=rx[o];switch(nx.includes(i)||(this._log.debug("received ".concat(i," msg: ").concat(e.data)),s&&this._log.info("Received event: [ ".concat(s," ]"))),i){case ix.CHANNEL_SETUP_RESULT:if(0===t.code)this._signalInfo.clientIp=n.clientIp,this._signalInfo.signalIp=n.signalInnerIp,this._signalInfo.tinyId=t.tinyId,n.svrTime&&function(e){Eb=e-(new Date).getTime();let t=new Date;t.setTime(e),jO.info("baseTime from server: ".concat(t," offset: ").concat(Eb))}(n.svrTime),this._log.info("ChannelSetup Success"),UO.emit(BO.API_SUCCESS_RATE,{room:this.room,apiName:"WebsocketConnect",cost:gO()-this._prevTime}),this._prevTime=-1,this.emit(qM,{signalInfo:this._signalInfo});else{let e=new Tb({code:fb.SIGNAL_CHANNEL_SETUP_FAILED,extraCode:t.code,message:QO({key:zO.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:t.code,errorMsg:t.message}})});this._log.error("".concat(t.code,", ").concat(t.message)),this.close(),UO.emit(BO.API_SUCCESS_RATE,{room:this.room,apiName:"WebsocketConnect",error:e}),this.emit(YM,e)}break;case ix.JOIN_ROOM_RESULT:0===t.code&&(this._signalInfo.relayIp=n.relayOuterIp,this._signalInfo.relayInnerIp=n.relayInnerIp,this._signalInfo.relayPort=n.relayPort,this._log.info("signalIp:".concat(this._signalInfo.signalIp," clientIp:").concat(this._signalInfo.clientIp," relayIp: ").concat(this._signalInfo.relayIp))),this.emit(s,{data:t});break;case ix.CHANNEL_RECONNECT_RESULT:0===t.code?(this._log.warn("reconnect success"),this.stopReconnection(),UO.emit(BO.API_SUCCESS_RATE,{room:this.room,apiName:"WebsocketReconnect",cost:gO()-this._prevTime}),this._prevTime=-1,this.room.syncUserList(),this.room.checkConnectionsToReconnect()):(this._log.warn("reconnect failed, ".concat(t.code," ").concat(t.message)),this.room.reJoin());break;default:this.emit(s,{data:t})}}reconnect(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:MN.MAIN;if(!this.room.isJoined&&this.keepAlive)return void this.close();if(this.isReconnecting)return;if(this._reconnectionCount>=cD){this._log.warn("SDK has tried reconnect signal channel for ".concat(cD," times, but all failed. please check your network"));let e=new Tb({code:fb.SIGNAL_CHANNEL_RECONNECTION_FAILED,message:QO({key:zO.SIGNAL_CHANNEL_RECONNECTION_FAILED})});return UO.emit(BO.API_SUCCESS_RATE,{room:this.room,apiName:"WebsocketReconnect",error:e}),void this.emit($M,e)}this._reconnectionCount++,this._log.warn("reconnect ".concat(e," [").concat(this._reconnectionCount,"/").concat(cD,"]"));let t=this.getReconnectionUrl(e);this.emitConnectionStateChanged(ex),this._prevTime<0&&(this._prevTime=gO()),e===MN.MAIN?(this._socket=new WebSocket(t),this.bindSocket(this._socket)):(this._backupSocket=new WebSocket(t),this.bindSocket(this._backupSocket));let i=tO(this._reconnectionCount);this._reconnectionTimer=setTimeout((()=>{this._log.warn("reconnect ".concat(e," timeout(").concat(i/1e3,"s), try again")),this.clearReconnectionTimer(),this.unbindAndCloseSocket(MN.MAIN),this.unbindAndCloseSocket(MN.BACKUP),this.reconnect(e===MN.MAIN?MN.BACKUP:MN.MAIN)}),i)}get isReconnecting(){return-1!==this._reconnectionTimer}getReconnectionUrl(e){let t=e===MN.MAIN?this._urlWithParam:this._backupUrlWithParam;if(this._signalInfo.tinyId&&-1===t.indexOf("&rc=1")){let{roomId:e,useStringRoomId:i}=this.room;t+="&rc=1&relayInnerIp=".concat(this._signalInfo.relayInnerIp,"&relayOuterIp=").concat(this._signalInfo.relayIp,"&relayPort=").concat(this._signalInfo.relayPort,"&roomId=").concat(e,"&useStringRoomId=").concat(i)}return t}send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.isConnected&&!this.room.isLeft){let i={cmd:e,data:t,userId:this.userId,tinyId:this._signalInfo.tinyId,seq:++this._seq},n=JSON.stringify(i);return this._socketInUse.send(n),this.bytesSent+=PO(n),i.seq}}sendWaitForResponse(e){let{command:t,data:i,timeout:n=5e3,responseCommand:r,commandDesc:o,enableLog:s=!0}=e;return new Promise(((e,a)=>{let c=setTimeout((()=>{this.off(r,l);let e=new Tb({code:fb.API_CALL_TIMEOUT,message:QO({key:zO.API_CALL_TIMEOUT,data:{commandDesc:o,command:t}})});s&&this._log.warn(e),a(e)}),n),l=t=>{t.data.seq===d&&(clearTimeout(c),this.off(r,l),e(t))};this.on(r,l);let d=this.send(t,i)}))}sendWaitForResponseWithRetry(e){let{commandDesc:t,command:i,retries:n=0,retryTimeout:r=0}=e;return xO({retryFunction:this.sendWaitForResponse,onRetrying:e=>{this._log.warn("".concat(t||i," timeout observed, retrying [").concat(e,"/").concat(n,"]"))},settings:{retries:n,timeout:r},context:this})(e)}getCurrentState(){return this._currentState}getSignalInfo(){return this._signalInfo}stopReconnection(){this.isReconnecting&&(this._reconnectionCount=0,this.clearReconnectionTimer())}close(){this._log.info("closed"),Dx.delete(this),this.clearBackupTimer(),this.stopReconnection(),this._signalInfo={tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0},this._socketInUse=null,this.bytesSent=0,this.bytesReceived=0,this.unbindAndCloseSocket(MN.MAIN),this.unbindAndCloseSocket(MN.BACKUP),this.emitConnectionStateChanged(ZM)}stopKeepAliveIn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3600;if(this.keepAlive){this._log.info("stopKeepAlive in ".concat(e,"s"));let t=setTimeout((()=>{this.keepAlive=!1,this._log.info("close due to not used ".concat(e,"s")),this.close()}),1e3*e),i=e=>{e instanceof Uw&&"join"===e.action&&(this._log.info("stopKeepAlive clear timeout"),clearTimeout(t),this.room.off(Ww.STATECHANGED,i))};this.room.on(Ww.STATECHANGED,i)}}emitConnectionStateChanged(e){e!==this._currentState&&(this._log.info("".concat(this._currentState," -> ").concat(e)),this.emit(QM,{prevState:this._currentState,state:e}),this._currentState=e)}},wx=rb(lb()),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,i=[],n=0;for(let o=e;o<=t;o++){let e=this.dataView.getInt8(o);switch(e){case 0:case 1:case 2:case 3:2===n&&(i.push(3),n=0),0==e?n++:n=0,i.push(e);break;default:n=0,i.push(e)}}i.push(this.dataView.getInt8(this.dataView.byteLength-1));let r=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...i]).buffer);this.dataView=r}removePreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-1,i=[],n=0;for(let o=e;o<=t;o++)switch(this.dataView.getInt8(o)){case 0:n++,i.push(this.dataView.getInt8(o));break;case 3:2!==n&&i.push(this.dataView.getInt8(o)),n=0;break;default:i.push(this.dataView.getInt8(o)),n=0}let r=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...i]).buffer);this.dataView=r}get isSEI(){return 6===this.dataView.getUint8(4)}get seiPayloadStartIndex(){let e=6;for(let t=6;t{}))}restart(e){this.stop(),this.start(e)}stop(){var e;null==(e=this._mainVideoAbortController)||e.abort(),this._mainVideoAbortController=null}destroy(){this.stop(),this._abortMap.forEach((e=>e.abort())),this._abortMap.clear(),this._log=null,this.onSEIMessage=null,this._mainVideoSenderOrReceiver=null,this._connection=null}handleEncodedStreams(){try{let e=this._connection.getPeerConnection();this.clearUnusedSenderOrReceiver(e),this._isUplink?e.getSenders().forEach(((e,t)=>{if(1===t){if(e===this._mainVideoSenderOrReceiver)return;this.isRunning?this.restart(e):this.start(e)}else{if(this._abortMap.has(e))return;this.pipeSenderOrReceiver(e)}})):e.getReceivers().forEach(((e,t)=>{var i;this._abortMap.has(e)||e===this._mainVideoSenderOrReceiver||(1===t&&(null==(i=e.track)?void 0:i.kind)===MN.VIDEO?this.isRunning?this.restart(e):this.start(e):this.pipeSenderOrReceiver(e))}))}catch(FL){this._log.warn(FL)}}pipeSenderOrReceiver(e){let{readable:t,writable:i}=e.createEncodedStreams(),n=new AbortController;this._abortMap.set(e,n),t.pipeTo(i,n).catch((()=>{}))}clearUnusedSenderOrReceiver(e){this._abortMap.forEach(((t,i)=>{(this._isUplink?e.getSenders():e.getReceivers()).find((e=>e===i))||(t.abort(),this._abortMap.delete(i))}))}push(e,t){t&&t.seiPayloadType&&(this._seiPayloadType=t.seiPayloadType),this._seiMessageList.push(e)}hasSEI(e){let t=new DataView(e);return 1===t.getInt32(0)&&6===t.getInt8(4)}isEmptyFrame(e){return"empty"===e.type||0===e.data.byteLength}getNaluCount(e){let t=0,i=0,n=new DataView(e);for(let r=0;r0&&!this.isEmptyFrame(e)){let t=9-this.getNaluCount(e.data);if(t<=0)return;let i=this._seiMessageList.splice(0,t).reverse().map(this.encodeSEINalu.bind(this)),n=i.reduce(((e,t)=>e+t.dataView.byteLength),0),r=new ArrayBuffer(n+e.data.byteLength),o=new DataView(r),s=new DataView(e.data),a=0;for(let e=0;e{this.onSEIMessage({seiPayloadType:e.seiPayloadType,data:e.seiPayload.buffer})}))}}catch(aD){this._log.warn(aD)}t.enqueue(e)}encodeSEINalu(e){let t=e.byteLength,i=parseInt(t/255),n=t%255,r=[];r.push(0,0,0,1,6,this._seiPayloadType);for(let s=0;s=3&&UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:"PeerConnectionReconnect",error:aN}),aN}}))}initialize(){let e={encodedInsertableStreams:this._enableSEI&&Nw,iceServers:this._room.getIceServers(),iceTransportPolicy:this._room.getIceTransportPolicy(),sdpSemantics:this._sdpSemantics,bundlePolicy:"max-bundle",rtcpMuxPolicy:"require",tcpCandidatePolicy:"disable",IceTransportsType:"nohost"};this._peerConnection=new RTCPeerConnection(e),this._peerConnection.onconnectionstatechange=this.onConnectionStateChange.bind(this)}close(e){this._log.info("close connection"),this._emitter.emit("closed",e),this._isReconnecting&&this.stopReconnection(),this.closePeerConnection(),this._sei&&(this._sei.destroy(),this._sei=null),Vx.delete(this)}closePeerConnection(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._peerConnection&&(this._log.info("close pc"),this._peerConnection.onconnectionstatechange=null,this._peerConnection.close(),this._peerConnection=null,e&&this.emitConnectionStateChangedEvent("DISCONNECTED")),this._waitForPeerConnectionConnectedPromiseReject&&this._waitForPeerConnectionConnectedPromiseReject(new Tb({code:fb.API_CALL_ABORTED,message:"connection closed"}))}getDTLSTransportState(){if(!this._peerConnection)return iD;let e=null;if(this._isUplink){if(!Sw()||0===this._peerConnection.getSenders().length)return iD;e=this._peerConnection.getSenders()[0].transport}else{if(!Ew()||0===this._peerConnection.getReceivers().length)return iD;e=this._peerConnection.getReceivers()[0].transport}return e?e.state:iD}onConnectionStateChange(e){let t=this._peerConnection.iceConnectionState,i=this.getDTLSTransportState();if(this._log.info("connectionState: ".concat(e.target.connectionState,", ICE: ").concat(t,", DTLS: ").concat(i)),e.target.connectionState===nD.CONNECTING&&this.emitConnectionStateChangedEvent("CONNECTING"),e.target.connectionState===nD.FAILED||e.target.connectionState===nD.CLOSED){let n="connection ".concat(e.target.connectionState,". ICE Transport state: ").concat(t,", DTLS Transport state: ").concat(i),r=new Tb({message:n,code:fb.ICE_TRANSPORT_ERROR});this.emitConnectionStateChangedEvent("DISCONNECTED"),this.startReconnection(),this._isErrorObserved||this._emitter.emit("error",r)}(e.target.connectionState===nD.CONNECTED||e.target.connectionState===nD.COMPLETED)&&(this.logSelectedCandidate(),Xw.logSuccessEvent({userId:this._room.userId,eventType:lD.ICE_CONNECTION_STATE}),this.emitConnectionStateChangedEvent("CONNECTED"))}emitConnectionStateChangedEvent(e){return e!==this._currentState&&("CONNECTED"===e?(Mx=0,xx=!1,Ux=!0,Vx.add(this)):Vx.delete(this),UO.emit(BO.PEER_CONNECTION_STATE_CHANGED,{room:this._room,prevState:this._currentState,state:e,remoteUserId:this._isUplink?void 0:this.userId}),this._emitter.emit("connection-state-changed",{prevState:this._currentState,state:e}),this._currentState=e,!0)}getPeerConnection(){return this._peerConnection}getRoom(){return this._room}getUserId(){return this.userId}getTinyId(){return this.tinyId}logSelectedCandidate(){return cb(this,null,(function*(){if(!this._peerConnection)return;let e=yield this._peerConnection.getStats();for(let[,t]of e)if(hw(t)){let i=e.get(t.localCandidateId),n=e.get(t.remoteCandidateId);i&&(this._log.info("local candidate: ".concat(i.candidateType," ").concat(i.protocol,":").concat(i.ip||i.address,":").concat(i.port," ").concat(i.networkType||""," ").concat("relay"===i.candidateType?"relayProtocol:".concat(i.relayProtocol):"")),this._localAddress="".concat(i.ip||i.address,":").concat(i.port)),n&&(this._log.info("remote candidate: ".concat(n.candidateType," ").concat(n.protocol,":").concat(n.ip||n.address,":").concat(n.port)),this._remoteAddress="".concat(n.protocol,":").concat(n.ip||n.address));break}}))}getCurrentState(){return this._currentState}waitForPeerConnectionConnected(){return this._waitForPeerConnectionConnectedPromise||(this._waitForPeerConnectionConnectedPromise=new Promise(((e,t)=>{if("CONNECTED"===this._currentState)return e();this._waitForPeerConnectionConnectedPromiseReject=t;let i=t=>{"CONNECTED"===t.state&&(clearTimeout(o),r(),e())},n=e=>{let{room:i}=e;i===this._room&&(clearTimeout(o),r(),t(new Tb({code:fb.API_CALL_ABORTED,message:QO({key:zO.CONNECTION_ABORTED,data:"leave room"})})))},r=()=>{UO.off(BO.LEAVE_SUCCESS,n,this),this._emitter.off("connection-state-changed",i,this)},o=setTimeout((()=>{r();let e=new Tb({code:fb.API_CALL_TIMEOUT,message:"connection timeout"});Mx+=1,(e=>Mx>2&&!xx&&0===Vx.size&&e)(this._signalChannel.isConnected)&&(this._log.warn("firewall restrition"),xx=!0,this._emitter.emit("firewall-restriction")),t(e)}),ID);UO.on(BO.LEAVE_SUCCESS,n,this),this._emitter.on("connection-state-changed",i,this)})),this._waitForPeerConnectionConnectedPromise=this._waitForPeerConnectionConnectedPromise.finally((()=>{this._waitForPeerConnectionConnectedPromise=null,this._waitForPeerConnectionConnectedPromiseReject=null}))),this._waitForPeerConnectionConnectedPromise}getReconnectionCount(){return this._reconnectionCount}startReconnection(){this._isReconnecting=!0,this.reconnect()}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}stopReconnection(){this._log.info("stop reconnection"),this._isReconnecting=!1,this._reconnectionCount=0,this.clearReconnectionTimer(),this._signalChannel.off(XM,this.reconnect,this)}beforeReconnect(){if(-1!==this._reconnectionTimer)return this._log.warn("reconnect() is reconnecting, ignore"),-1;if(this._reconnectionCount>=sD()){this._log.warn("SDK has tried reconnect for ".concat(this._reconnectionCount," times, but all failed, please check your network")),this.stopReconnection();let e=new Tb({code:this._isUplink?fb.UPLINK_RECONNECTION_FAILED:fb.DOWNLINK_RECONNECTION_FAILED,message:QO({key:this._isUplink?zO.UPLINK_RECONNECTION_FAILED:zO.DOWNLINK_RECONNECTION_FAILED})});return this.emitConnectionStateChangedEvent("DISCONNECTED"),this._emitter.emit("error",e),-1}return this._signalChannel.isConnected?(this._reconnectionCount+=1,this._log.warn("reconnect() trying [".concat(this._reconnectionCount,"]")),1):(this._log.warn("reconnect() signal channel is not connected, suspend reconnection until signal is connected"),this._signalChannel.once(XM,this.reconnect,this),-1)}on(e,t,i){this._emitter.on(e,t,i)}off(e,t,i){this._emitter.off(e,t,i)}getIsReconnecting(){return this._isReconnecting}get isH264(){var e,t;return!(null==(t=null==(e=this._peerConnection)?void 0:e.remoteDescription)||!t.sdp.includes("H264"))}},Bx=rb(pb()),Hx=function(e){return Bx.default.parse(e)},jx=function(e){return Bx.default.write(e)};function Gx(e){return Object.keys(e).filter((t=>e[t]))}var Wx=class extends Fx{constructor(e){super(tb(eb({},e),{isUplink:!1})),sb(this,"_flag",0),sb(this,"role","anchor"),sb(this,"remoteAudioTrack"),sb(this,"remoteVideoTrack"),sb(this,"remoteAuxiliaryTrack"),sb(this,"ssrc",{audio:0,video:0,auxiliary:0}),sb(this,"_isSDPExchanging",!1),this.flag=e.flag,this.remoteAudioTrack=e.remoteAudioTrack||new CL(this._room,this),this.remoteVideoTrack=e.remoteVideoTrack||new bL(this._room,this),this.remoteAuxiliaryTrack=e.remoteAuxiliaryTrack||new kL(this._room,this)}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 yO(this.flag,this.userId)}get flag(){return this._flag}set flag(e){var t,i,n;e!==this._flag&&(this._flag=e,null==(t=this.remoteAudioTrack)||t.onFlagChanged(),null==(i=this.remoteVideoTrack)||i.onFlagChanged(),null==(n=this.remoteAuxiliaryTrack)||n.onFlagChanged())}get hasMainStream(){return this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall}get hasAuxStream(){return this.muteState.hasAuxiliary}get isMainStreamSubscribed(){return(this.subscribeState.audio||this.subscribeState.video||this.subscribeState.smallVideo)&&(this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall)}get isAuxStreamSubscribed(){return this.subscribeState.auxiliary&&this.muteState.hasAuxiliary}get isSmallStreamSubscribed(){return this.subscribeState.smallVideo&&this.muteState.hasSmall}get isBigStreamSubscribed(){return this.subscribeState.video&&this.muteState.hasVideo}isStreamUnpublished(e){return e===MN.MAIN?!this.muteState.hasAudio&&!this.muteState.hasVideo:!this.muteState.hasAuxiliary}initialize(){super.initialize(),this.installEvents(),this._peerConnection.ontrack=this.onTrack.bind(this)}close(e){super.close(e),this.emitConnectionStateChangedEvent("DISCONNECTED"),this.remoteAudioTrack.close(),this.remoteVideoTrack.close(),this.remoteAuxiliaryTrack.close(),this.uninstallEvents()}installEvents(){}uninstallEvents(){this._emitter.removeAllListeners()}emitConnectionStateChangedEvent(e){var t,i;let n=this._currentState,r=super.emitConnectionStateChangedEvent(e);return r&&n!==e&&(null==(t=this.remoteVideoTrack)||t.emit("connection-state-changed",{prevState:n,state:e}),null==(i=this.remoteAuxiliaryTrack)||i.emit("connection-state-changed",{prevState:n,state:e})),r}onTrack(e){let t=e.streams[0],{track:i}=e,n=t.id===JN?MN.MAIN:MN.AUXILIARY;this._log.debug("ontrack ".concat(n," ").concat(i.kind));let r=MN.AUDIO;i.kind===MN.VIDEO&&(r=n===MN.MAIN?MN.VIDEO:MN.AUXILIARY);let o=this.remoteAudioTrack;r===MN.VIDEO?o=this.remoteVideoTrack:r===MN.AUXILIARY&&(o=this.remoteAuxiliaryTrack),o.setInputMediaStreamTrack(i)}addRRTRLine(e){let t=e.split("\r\n"),i=new Map;t.forEach(((e,n)=>{/^a=rtcp-fb:/.test(e)&&t[n+1]&&!/^a=rtcp-fb:/.test(t[n+1])&&i.set(n+1,"".concat(e.match(/^a=rtcp-fb:\d+/)[0]," rrtr"))}));let n=[...i];for(let r=0;r{e.type===MN.VIDEO&&e.fmtp.forEach((e=>{e.config+=";sps-pps-idr-in-keyframe=1"}))})),jx(t)}removeSDESDescription(e){let t=["urn:ietf:params:rtp-hdrext:sdes:mid","urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id","urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id"],i=Hx(e);return i.media.forEach((e=>{!e.ext||(e.ext=e.ext.filter((e=>!t.includes(e.uri))))})),jx(i)}isSubscriptionStateNotChanged(e){return JSON.stringify(e)===JSON.stringify(this.subscribeState)}subscribe(e,t){return cb(this,null,(function*(){var i,n;try{if(((null==(i=this._peerConnection)?void 0:i.connectionState)===nD.NEW||(null==(n=this._peerConnection)?void 0:n.connectionState)===nD.CONNECTING)&&(yield this.waitForPeerConnectionConnected()),this.isSubscriptionStateNotChanged(e))return void(this._peerConnection||(this.initialize(),yield this.connect(e)));if(this._log.info("subscribe ".concat(t," ").concat(JSON.stringify(e))),this._peerConnection||this._isSDPExchanging){let t="subscribe_change";Object.values(e).find((e=>!0===e))||(t="unsubscribe"),yield this.sendSubscription(t,e)}else this.initialize(),yield this.connect(e)}catch(lN){throw this._room.isJoined&&this.isStreamUnpublished(t)?(this._log.warn("".concat(lN.message," ").concat(JSON.stringify(this.muteState))),new Tb({code:fb.REMOTE_STREAM_NOT_EXIST,message:"remote user ".concat(this.userId," unpublished stream")})):lN}}))}unsubscribe(e){return cb(this,arguments,(function(e){var t=this;let{remoteTracks:i,streamType:n}=e;return function*(){if("CONNECTED"===t._currentState&&("main"===n&&!t.isMainStreamSubscribed||"auxiliary"===n&&!t.isAuxStreamSubscribed))return void t._log.info("".concat(n," stream already unsubscribed"));let e=eb({},t.subscribeState);i.forEach((t=>{switch(t.mediaType){case 1:e.audio=!1;break;case 4:e.video=!1;break;case 8:e.smallVideo=!1;break;case 2:e.auxiliary=!1}}));let r="subscribe_change";Object.values(e).find((e=>!0===e))||(r="unsubscribe"),t._log.info("".concat("unsubscribe"===r?r:"subscribe"," ").concat(n," [").concat(Gx(e),"]")),yield t.sendSubscription(r,e),"unsubscribe"===r&&(t.closePeerConnection(),t.emitConnectionStateChangedEvent("DISCONNECTED"))}()}))}sendSubscription(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscribeState,i={srcTinyId:this.tinyId,srcUserId:this.userId},n=mx,r=rx.UNSUBSCRIBE_RESULT;return"subscribe_change"===e&&(i={audio:t.audio,bigVideo:t.video,auxVideo:t.auxiliary,smallVideo:t.smallVideo,srcTinyId:this.tinyId},n=_x,r=rx.SUBSCRIBE_CHANGE_RESULT),this._signalChannel.sendWaitForResponse({command:n,data:i,responseCommand:r,timeout:1e4}).then((t=>{let{data:i}=t;if(0!==i.code){let t=new Tb({code:i.code,message:QO({key:zO.ERROR_MESSAGE,data:{type:e,message:i.message}})});throw this._log.error(t),t}}))}connect(){return cb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.subscribeState;return function*(){try{yield e.exchangeSDP(t),yield e.waitForPeerConnectionConnected()}catch(aD){throw e.closePeerConnection(!0),aD}}()}))}exchangeSDP(e){return cb(this,null,(function*(){try{this._isSDPExchanging=!0,yield this.createOffer(),this._log.info("createOffer success, sending offer");let{type:t,sdp:i}=this._peerConnection.localDescription,n={type:t,sdp:i,srcUserId:this.userId,srcTinyId:this.tinyId,audio:e.audio,bigVideo:e.video,auxVideo:e.auxiliary,smallVideo:e.smallVideo},r=yield this._signalChannel.sendWaitForResponse({command:px,commandDesc:"exchange sdp",data:n,responseCommand:rx.SUBSCRIBE_RESULT,timeout:hD});if(!this._peerConnection){let e=new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.CONNECTION_CLOSED})});throw this._log.warn(e),e}yield this.onSubscribeResult(r),this._isSDPExchanging=!1}catch(aD){throw this._isSDPExchanging=!1,aD}}))}createOffer(){return cb(this,null,(function*(){let e={voiceActivityDetection:!1};yw()&&this._sdpSemantics===pD?(this._peerConnection.addTransceiver(MN.AUDIO,{direction:xN.RECVONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:xN.RECVONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:xN.RECVONLY})):(e.offerToReceiveAudio=!0,e.offerToReceiveVideo=!0);let t=yield this._peerConnection.createOffer(e);if(t.sdp){let{isH264DecodeSupported:e}=yield aw();e||(this._log.warn("remove h264 desc from sdp"),t.sdp=function(e){let t=Hx(e);return t.media.forEach((e=>{var t,i;if(e.type===MN.VIDEO){let n=new Set;e.rtp.forEach((e=>{let{payload:t,codec:i}=e;return"H264"===i&&n.add(t)})),e.fmtp.forEach((e=>{let{payload:t,config:i}=e,r=i.match(/apt=(\d+)/);r&&r[1]&&n.has(Number(r[1]))&&n.add(t)}));let r=e=>{let{payload:t}=e;return!n.has(t)};e.rtp=e.rtp.filter(r),e.rtcpFb=null==(t=e.rtcpFb)?void 0:t.filter(r),e.fmtp=e.fmtp.filter(r),e.payloads=null==(i=e.payloads)?void 0:i.split(" ").filter((e=>!n.has(Number(e)))).join(" ")}})),jx(t)}(t.sdp)),t.sdp=this.addRRTRLine(t.sdp),t.sdp=this.addSPSDescription(t.sdp),t.sdp=function(e){let t=Hx(e);return t.media.forEach((e=>{e.type===MN.AUDIO&&e.fmtp.forEach((e=>{e.config+=";sprop-stereo=1;stereo=1"}))})),jx(t)}(t.sdp),this._sdpSemantics===pD&&(t.sdp=this.removeSDESDescription(t.sdp))}yield this._peerConnection.setLocalDescription(t)}))}onSubscribeResult(e){return cb(this,null,(function*(){let{code:t,message:i=""}=e&&e.data||{},{type:n,sdp:r}=e&&e.data&&e.data.data||{};if(t===_D)throw new Tb({code:fb.NOT_SUPPORTED_H264,message:QO({key:zO.NOT_SUPPORTED_H264DECODE})});try{if(0!==t)throw new Tb({code:t,message:QO({key:zO.EXCHANGE_SDP_FAILED,data:{errMsg:i}})});this._log.debug("accept remote answer: ".concat(r)),yield this._peerConnection.setRemoteDescription({type:n,sdp:r}),this._sei&&(this._sei.handleEncodedStreams(),this._sei.onSEIMessage=e=>{this._emitter.emit("sei-message",tb(eb({},e),{userId:this.userId}))}),this.updateSSRC(r)}catch(JV){throw this._log.error(JV),JV}}))}updateSSRC(e){try{Hx(e).media.forEach((e=>{if(e.ssrcs)if(e.type===MN.AUDIO){let t=e.ssrcs.find((e=>{var t;return null==(t=e.value)?void 0:t.includes(JN)}));t&&(this.ssrc.audio=Number(t.id))}else{let t=e.ssrcs.find((e=>{var t;return null==(t=e.value)?void 0:t.includes(JN)})),i=e.ssrcs.find((e=>{var t;return null==(t=e.value)?void 0:t.includes(zN)}));t&&(this.ssrc.video=Number(t.id)),i&&(this.ssrc.auxiliary=Number(i.id))}}))}catch(aD){}}getMainStreamVideoTrackId(){return this.remoteVideoTrack&&this.remoteVideoTrack.mediaTrack?this.remoteVideoTrack.mediaTrack.id:""}getAuxStreamVideoTrackId(){return this.remoteAuxiliaryTrack&&this.remoteAuxiliaryTrack.mediaTrack?this.remoteAuxiliaryTrack.mediaTrack.id:""}reconnect(){return cb(this,null,(function*(){if(!(ab(Wx.prototype,this,"beforeReconnect").call(this)<0))try{this.closePeerConnection(),this.initialize(),yield this.connect(),this.stopReconnection(),this._log.warn("reconnect() success")}catch(aD){let t=tO(this._reconnectionCount);this._log.warn("reconnect() timeout, try again after ".concat(t/1e3,"s")),this._reconnectionTimer=setTimeout((()=>{this.clearReconnectionTimer(),this.reconnect()}),t)}}))}getIsReconnecting(){return this._isReconnecting}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}getCurrentState(){return this._currentState}setDelay(e){let{audioDelay:t,videoDelay:i}=e;this.remoteAudioTrack.stat.end2EndDelay=t,this.remoteVideoTrack.stat.end2EndDelay=i}},Jx=Wx;ob([nL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{let r=e=>{this._emitter.off("closed",r),n(new Tb({code:fb.API_CALL_ABORTED,message:QO({key:zO.CONNECTION_ABORTED,data:e})}))};this._emitter.on("closed",r),e.apply(this,i).then(t,n).finally((()=>{this._emitter.off("closed",r)}))}))}))],Jx.prototype,"subscribe",1),ob([iL(Fx.prototype.afterConnect),tL(Fx.prototype.beforeConnect)],Jx.prototype,"connect",1);var zx=Jx,Kx={voiceActivityDetection:!1},qx=class extends Fx{constructor(e){super(tb(eb({},e),{isUplink:!0})),sb(this,"localMainAudioTrack",null),sb(this,"localMainVideoTrack",null),sb(this,"localAuxAudioTrack",null),sb(this,"localAuxVideoTrack",null),sb(this,"ssrc",{audio:0,video:0,small:0,auxiliary:0}),sb(this,"_isPublishingAux",!1),sb(this,"_publishingLocalAudioTrack"),sb(this,"_publishingLocalVideoTrack"),sb(this,"_mediaSettings",{videoCodec:"",videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioCodec:"opus",audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0,auxVideoWidth:0,auxVideoHeight:0,auxVideoFps:0,auxVideoBps:0}),sb(this,"_audioManager"),this._audioManager=e.audioManager}get isMainStreamPublished(){return!(!this.localMainAudioTrack&&!this.localMainVideoTrack)}get isAuxStreamPublished(){return!(!this.localAuxVideoTrack&&!this.localAuxAudioTrack)}get publishState(){var e,t,i,n;let r={audio:!1,bigVideo:!1,smallVideo:!1,auxVideo:!1};if(this._peerConnection){let o=this._peerConnection.getSenders();o&&(Iw()?(r.audio=!(null==(e=o[0])||!e.track),r.bigVideo=!(null==(t=o[1])||!t.track),r.smallVideo=!(null==(i=o[2])||!i.track),r.auxVideo=!(null==(n=o[3])||!n.track)):o.forEach((e=>{e.track&&(e.track.kind===MN.AUDIO?r.audio=!0:(r.bigVideo=!0,this._room.videoManager.hasSmall&&(r.smallVideo=!0)))})))}return r}initialize(){super.initialize(),this.installEvents()}reset(){this._isReconnecting&&this.stopReconnection(),this.closePeerConnection(),this.uninstallEvents()}close(e){super.close(e),this.reset(),this.emitConnectionStateChangedEvent("DISCONNECTED")}installEvents(){this._emitter.listeners("connection-state-changed").includes(this.handleConnectionStateChange)||this._emitter.on("connection-state-changed",this.handleConnectionStateChange,this)}uninstallEvents(){this._emitter.off("connection-state-changed",this.handleConnectionStateChange,this)}emitConnectionStateChangedEvent(e,t){var i,n,r;let o=this._currentState,s=super.emitConnectionStateChangedEvent(e);return s&&o!==e&&(t?t.emit("connection-state-changed",{prevState:o,state:e}):(null==(i=this.localMainVideoTrack)||i.emit("connection-state-changed",{prevState:o,state:e}),null==(n=this.localAuxVideoTrack)||n.emit("connection-state-changed",{prevState:o,state:e}),null==(r=this._publishingLocalVideoTrack)||r.emit("connection-state-changed",{prevState:o,state:e}))),s}publish(e){return cb(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,isAuxiliary:r}=e;return function*(){var e;let o;t._peerConnection||t.initialize(),i&&(t._publishingLocalAudioTrack=i),n&&(t._publishingLocalVideoTrack=n),t._isPublishingAux=r,n&&!r&&n.small&&(o=t._room.videoManager.smallTrack),t.sendMediaSettings(),yw()?yield t.publishByTransceiver({localAudioTrack:i,localVideoTrack:n,smallTrack:o,isAuxiliary:r}):yield t.publishByAddTrack({localAudioTrack:i,localVideoTrack:n,smallTrack:o}),t._publishingLocalAudioTrack=null,t._publishingLocalVideoTrack=null,t._isPublishingAux=!1,r?(n&&(t.localAuxVideoTrack=n),i&&(t.localAuxAudioTrack=i)):(n&&(t.localMainVideoTrack=n),i&&(t.localMainAudioTrack=i)),null==(e=t._sei)||e.handleEncodedStreams(),t.installTrackMuteEvents(i,n),t.sendMutedFlag()}()}))}publishByTransceiver(e){return cb(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,smallTrack:r,isAuxiliary:o}=e;return function*(){t._log.info("publish by transceiver");let e=new MediaStream,s=null==n?void 0:n.outMediaTrack,a=t._audioManager.mixedAudioTrack;a&&e.addTrack(a),s&&e.addTrack(s);let c=t._peerConnection.getTransceivers();if(0===c.length)t._peerConnection.addTransceiver(a||MN.AUDIO,{direction:xN.SENDONLY,streams:[e]}),t._peerConnection.addTransceiver(o?MN.VIDEO:s||MN.VIDEO,{direction:xN.SENDONLY,streams:[e]}),t._peerConnection.addTransceiver(r||MN.VIDEO,{direction:xN.SENDONLY,streams:[e]}),t._peerConnection.addTransceiver(o&&s||MN.VIDEO,{direction:xN.SENDONLY,streams:[e]}),yield t.connect();else{let e=[];if(a&&(c[0].sender.track||e.push(0),yield c[0].sender.replaceTrack(a),yield t.setBandwidth({bandwidth:(null==i?void 0:i.profile.bitrate)||40,type:MN.AUDIO})),s){let i=o?3:1;yield c[i].sender.replaceTrack(s),yield t.setBandwidth({bandwidth:n.profile.bitrate,type:MN.VIDEO,videoType:o?MN.AUXILIARY:MN.BIG}),e.push(i),r&&(yield c[2].sender.replaceTrack(r),yield t.setBandwidth({bandwidth:n.small.bitrate,type:MN.VIDEO,videoType:MN.SMALL}),e.push(2))}yield t.setTransceiverDirection(xN.SENDONLY,e),yield t.doPublishChange(),null==n||n.emit("connection-state-changed",{prevState:"DISCONNECTED",state:"CONNECTING"}),null==n||n.emit("connection-state-changed",{prevState:"CONNECTING",state:"CONNECTED"})}}()}))}publishByAddTrack(e){return cb(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,smallTrack:r}=e;return function*(){t._log.info("publish by addtrack");let e=null==n?void 0:n.outMediaTrack,o=t._audioManager.mixedAudioTrack;if(t._peerConnection&&"new"!==t._peerConnection.connectionState)return o&&(yield t.addTrack(i)),void(e&&(yield t.addTrack(n)));let s=new MediaStream;if(o&&s.addTrack(o),e&&s.addTrack(e),o&&t._peerConnection.addTrack(o,s),e&&(t._peerConnection.addTrack(e,s),r)){let e=new MediaStream;e.addTrack(r),t._peerConnection.addTrack(r,e)}yield t.connect()}()}))}installTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.on("mute",this.sendMutedFlag,this),null==e||e.on("unmute",this.sendMutedFlag,this))}))}uninstallTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.off("mute",this.sendMutedFlag,this),null==e||e.off("unmute",this.sendMutedFlag,this))}))}unpublish(e){return cb(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n}=e;return function*(){if(!Iw())return i&&i.outMediaTrack&&!n&&t.localMainVideoTrack?(yield t.removeTrack(i),void(t.localMainAudioTrack=null)):n&&n.outMediaTrack&&!i&&t.localMainAudioTrack?(yield t.removeTrack(n),void(t.localMainVideoTrack=null)):(yield t.doUnpublish(),t.uninstallTrackMuteEvents(i,n),void t.emitConnectionStateChangedEvent("DISCONNECTED",n));let e=n&&n===t.localAuxVideoTrack,r=null==n?void 0:n.outMediaTrack,o=t._peerConnection.getSenders(),s=[];i&&(t._audioManager.mixedAudioTrack||(yield o[0].replaceTrack(null),s.push(0)),e?t.localAuxAudioTrack=null:t.localMainAudioTrack=null),r&&(e?(yield o[3].replaceTrack(null),t.localAuxVideoTrack=null,t._mediaSettings=tb(eb({},t._mediaSettings),{auxVideoBps:0,auxVideoFps:0,auxVideoWidth:0,auxVideoHeight:0}),s.push(3)):(yield o[1].replaceTrack(null),yield o[2].replaceTrack(null),t.localMainVideoTrack=null,t._mediaSettings=tb(eb({},t._mediaSettings),{videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0}),s.push(1,2))),t.isMainStreamPublished||t.isAuxStreamPublished?(yield t.setTransceiverDirection(xN.INACTIVE,s),yield t.doPublishChange(!1)):yield t.doUnpublish(),t.uninstallTrackMuteEvents(i,n),null==n||n.emit("connection-state-changed",{prevState:t._currentState,state:"DISCONNECTED"})}()}))}doPublishChange(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return cb(this,null,(function*(){let t={state:this.publishState,constraintConfig:this._mediaSettings},i=yield this._signalChannel.sendWaitForResponse({command:ux,data:t,responseCommand:rx.PUBLISH_STATE_CHANGE_RESULT,enableLog:e});this.checkPublishResultCode(i.data.code,i.data.message)}))}doUnpublish(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._signalChannel.sendWaitForResponse({command:hx,commandDesc:"unpublish",responseCommand:rx.UNPUBLISH_RESULT,enableLog:e}).catch((e=>{if(e.getCode()===fb.API_CALL_TIMEOUT)return Promise.resolve();throw e}))}updateMediaSettings(){let{detail:{isH264EncodeSupported:e,isVp8EncodeSupported:t}}=this._room.checkSystemResult;e?this._mediaSettings.videoCodec="H264":t&&(this._mediaSettings.videoCodec="VP8");let i=this._publishingLocalAudioTrack||this.localMainAudioTrack||this.localAuxAudioTrack,{localMainVideoTrack:n,localAuxVideoTrack:r}=this;if(this._publishingLocalVideoTrack&&(this._isPublishingAux?r=this._publishingLocalVideoTrack:n=this._publishingLocalVideoTrack),bw){if(i&&i.outMediaTrack){let e=i.outMediaTrack.getSettings();this._mediaSettings.audioChannel=e.channelCount||1,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=e.sampleRate||0}if(n&&n.outMediaTrack){let e=n.outMediaTrack.getSettings();this._mediaSettings.videoWidth=e.width||0,this._mediaSettings.videoHeight=e.height||0,this._mediaSettings.videoFps=e.frameRate||0,this._mediaSettings.videoBps=1e3*n.profile.bitrate,n.small&&(this._mediaSettings.smallVideoWidth=n.small.width,this._mediaSettings.smallVideoHeight=n.small.height,this._mediaSettings.smallVideoFps=n.small.frameRate,this._mediaSettings.smallVideoBps=1e3*n.small.bitrate)}if(r&&r.outMediaTrack){let e=r.outMediaTrack.getSettings();this._mediaSettings.auxVideoWidth=e.width||0,this._mediaSettings.auxVideoHeight=e.height||0,this._mediaSettings.auxVideoFps=e.frameRate||0,this._mediaSettings.auxVideoBps=1e3*r.profile.bitrate}}else i&&i.outMediaTrack&&(this._mediaSettings.audioChannel=i.profile.channelCount,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=i.profile.sampleRate),n&&n.outMediaTrack&&(this._mediaSettings.videoWidth=n.profile.width,this._mediaSettings.videoHeight=n.profile.height,this._mediaSettings.videoFps=n.profile.frameRate,this._mediaSettings.videoBps=1e3*n.profile.bitrate);this._log.info("updateMediaSettings: ".concat(JSON.stringify(this._mediaSettings)))}sendMediaSettings(){this.updateMediaSettings(),this._signalChannel.sendWaitForResponse({command:Ax,data:this._mediaSettings,responseCommand:rx.UPDATE_CONSTRAINT_CONFIG_RES}).then((e=>{0!==e.data.code&&this._log.warn(e.data.message)})).catch((()=>{}))}addTrack(e){return cb(this,null,(function*(){var t;if(!this._peerConnection)return;let i=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info("is adding ".concat(e.kind," track to current published local ").concat(i?MN.AUXILIARY:MN.MAIN," stream")),null==(t=this._sei)||t.handleEncodedStreams(),yw()?yield this.addTrackByTransceiver(e,i):yield this.addTrackBySender(e)}))}addTrackByTransceiver(e,t){return cb(this,null,(function*(){var i;if(!e.mediaTrack)return;let n=this._peerConnection.getTransceivers();if(e.kind===MN.AUDIO)yield n[0].sender.replaceTrack(this._audioManager.mixedAudioTrack);else{let r=t?3:1;yield n[r].sender.replaceTrack(e.outMediaTrack),1===r&&(null==(i=this.localMainVideoTrack)?void 0:i.small)&&(yield n[2].sender.replaceTrack(this._room.videoManager.smallTrack)),n[r].direction===xN.INACTIVE&&(yield this.setTransceiverDirection(xN.SENDONLY,[r]))}this.updateMediaSettings(),yield this.doPublishChange()}))}addTrackBySender(e){return cb(this,null,(function*(){if(!e.outMediaTrack)return;let t=e.outMediaTrack;Iw()&&this._peerConnection.getTransceivers().findIndex((e=>"stopped"===e.direction))>=0&&(this._log.warn("transceiver is stopping, negotiate sdp first"),yield this.updateOffer("remove",t));let i=this._peerConnection.getSenders().find((e=>e.track&&e.track.kind===t.kind));if(i&&i.track){this._log.warn("sender already exists, remove sender first");let e=i.track;this.removeSender(i),yield this.updateOffer("remove",e)}let n=t.kind===MN.VIDEO?t:this._audioManager.mixedAudioTrack;if(n&&this._peerConnection.addTrack(t,new MediaStream([n])),t.kind===MN.VIDEO&&e instanceof aL&&e.small){let e=new MediaStream,t=this._room.videoManager.smallTrack;e.addTrack(t),this._peerConnection.addTrack(t,e)}yield this.updateOffer("add",t)}))}isNeedToResetOfferOrder(){if(this._sdpSemantics===mD||!this._peerConnection||!this._peerConnection.localDescription)return!1;let{sdp:e}=this._peerConnection.localDescription,t=Hx(e);for(let i=0;it.sender&&t.sender.track===e.track))),this._peerConnection.removeTrack(e),t&&nO(t.stop)&&(this._log.info("stop transceiver"),t.stop())}removeTrack(e){return cb(this,null,(function*(){if(!this._peerConnection)return;let t=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info("is removing ".concat(e.kind," track from current published local ").concat(t?MN.AUXILIARY:MN.MAIN," stream")),yw()?yield this.removeTrackByTransceiver(e,t):yield this.removeTrackBySender(e)}))}removeTrackByTransceiver(e,t){return cb(this,null,(function*(){if(!e.outMediaTrack)return;let i=this._peerConnection.getTransceivers();if(e.kind===MN.AUDIO)this._audioManager.mixedAudioTrack||(yield i[0].sender.replaceTrack(null));else{let n=t?3:1;yield i[n].sender.replaceTrack(null),1===n&&e.small&&(yield i[2].sender.replaceTrack(null)),yield this.setTransceiverDirection(xN.INACTIVE,[n])}this.updateMediaSettings(),yield this.doPublishChange()}))}setTransceiverDirection(e,t){return cb(this,null,(function*(){if(!Fb)return;let i=!1,n=!1;this._log.info("setting transceiver ".concat(t.join(",")," direction to ").concat(e));let r=this._peerConnection.getTransceivers();if(t.forEach((t=>{r[t].direction!==e&&(r[t].direction=e,i=!0)})),i){this._log.info("updating offer");let e=yield this._peerConnection.createOffer();yield this._peerConnection.setLocalDescription(e)}let o=-1,s=this._peerConnection.remoteDescription.sdp.split("\r\n").map((i=>{if(i.match(new RegExp("a=(".concat(xN.INACTIVE,"|").concat(xN.RECVONLY,"|").concat(xN.SENDONLY,")")))&&o++,t.includes(o)){if(e===xN.INACTIVE&&i.includes("a=".concat(xN.RECVONLY)))return n=!0,"a=".concat(e);if(e===xN.SENDONLY&&i.includes("a=".concat(xN.INACTIVE)))return n=!0,"a=".concat(xN.RECVONLY)}return i})).join("\r\n");n&&(this._log.info("updating answer"),yield this._peerConnection.setRemoteDescription({type:"answer",sdp:s}))}))}removeTrackBySender(e){return cb(this,null,(function*(){if(!e.outMediaTrack)return;if(e.kind===MN.VIDEO&&this.isNeedToResetOfferOrder()&&this.localMainAudioTrack)return this.reset(),this.initialize(),void(yield this.publish({localAudioTrack:this.localMainAudioTrack,isAuxiliary:!1}));let t=this._peerConnection.getSenders().find((t=>t.track===e.outMediaTrack));t&&(this.removeSender(t),e.kind===MN.VIDEO&&e.small&&this._peerConnection.getSenders().forEach((e=>{e.track&&e.track.kind===MN.VIDEO&&this.removeSender(e)}))),yield this.updateOffer("remove",e.outMediaTrack)}))}replaceTrack(e){return cb(this,null,(function*(){var t;let i,n=null==(t=this._peerConnection)?void 0:t.getSenders();if(!n||0===n.length||!e.mediaTrack)return;if(i=yw()?e.kind===MN.AUDIO?n[0]:n[1]:n.find((t=>t.track&&t.track.kind===e.kind)),!i)return;let r=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info("is replacing ".concat(e.kind," track on ").concat(r?MN.AUXILIARY:MN.MAIN," stream")),e.kind===MN.AUDIO?yield i.replaceTrack(this._audioManager.mixedAudioTrack):e.kind===MN.VIDEO&&(r?n[3]&&(yield n[3].replaceTrack(e.outMediaTrack)):yield i.replaceTrack(e.outMediaTrack))}))}updateOffer(e,t){return cb(this,null,(function*(){try{let i=yield this._peerConnection.createOffer(Kx);Fb&&i.sdp&&(i.sdp=this.setSDPDirection(i.sdp,"sendrecv")),yield this._peerConnection.setLocalDescription(i);let n=this.updateMediaSettings(),r={action:e,trackId:t.id,kind:t.kind===MN.VIDEO?"bigVideo":t.kind,type:"offer",sdp:this._peerConnection.localDescription.sdp,constraintConfig:n,state:this.publishState};this._log.info("createOffer success, sending updated offer to remote server"),this._log.debug("updatedOffer: ".concat(r.sdp));let o=yield this._signalChannel.sendWaitForResponse({command:ox,data:r,responseCommand:rx.UPDATE_OFFER_RESULT,timeout:uD,commandDesc:"update offer"}),{code:s,message:a}=o.data;0!==s&&this.checkPublishResultCode(s,a),yield this.acceptAnswer(o.data.data),i.sdp&&this.updateSSRC(i.sdp)}catch(cN){throw this._log.error(cN),cN}}))}setBandwidth(e){return cb(this,arguments,(function(e){var t=this;let{bandwidth:i,type:n,videoType:r,sdp:o}=e;return function*(){if(!Cw())return o?n===MN.VIDEO?t.updateVideoBandwidthRestriction(o,i,r):t.updateAudioBandwidthRestriction(o,i):void 0;let e=0;n===MN.VIDEO&&(e=r===MN.SMALL?2:r===MN.AUXILIARY?3:1);let s=t._peerConnection.getSenders()[e];if(s){let e=s.getParameters();(!e.encodings||0===e.encodings.length)&&(e.encodings=[{}]),e.encodings[0].maxBitrate=1e3*i;try{return yield s.setParameters(e),t._log.info("".concat(r||"").concat(n," bandwidth ").concat(i," kbps")),o}catch(c){if(t._log.info("failed to set bandwidth by setting maxBitrate: ".concat(c)),o)return n===MN.VIDEO?t.updateVideoBandwidthRestriction(o,i,r):t.updateAudioBandwidthRestriction(o,i)}}return o}()}))}updateVideoBandwidthRestriction(e,t,i){let n="AS";Fb&&(n="TIAS",t*=1e3);let r=0,o=-1;return i===MN.SMALL?r=1:i===MN.AUXILIARY&&(r=2),e.replace(/m=video (.*)\r\nc=IN (.*)\r\n/g,(e=>(o+=1,o===r?"".concat(e,"b=").concat(n,":").concat(t,"\r\n"):e)))}updateAudioBandwidthRestriction(e,t){let i="AS";return Fb&&(i="TIAS",t*=1e3),e.replace(/m=audio (.*)\r\nc=IN (.*)\r\n/,"m=audio $1\r\nc=IN $2\r\nb=".concat(i,":").concat(t,"\r\n"))}removeBandwidthRestriction(e){return e.replace(/b=AS:.*\r\n/,"").replace(/b=TIAS:.*\r\n/,"")}removeVideoOrientation(e){return e.replace(/urn:3gpp:video-orientation/,"")}connect(){return cb(this,null,(function*(){try{yield this.exchangeSDP(),yield this.waitForPeerConnectionConnected()}catch(aN){throw this.closePeerConnection(!0),this.uninstallEvents(),aN}}))}exchangeSDP(){return cb(this,null,(function*(){try{yield this.createOffer(),this._log.info("createOffer success, sending offer to remote server"),yield this.doExchangeSDP()}catch(aN){throw aN}}))}createOffer(){return cb(this,null,(function*(){try{let e=yield this._peerConnection.createOffer(Kx);yield this._peerConnection.setLocalDescription(e),e.sdp&&this.updateSSRC(e.sdp)}catch(aN){throw aN}}))}doExchangeSDP(){let e={command:dx,responseCommand:rx.PUBLISH_RESULT,data:{type:this._peerConnection.localDescription.type,sdp:this.removeVideoOrientation(this._peerConnection.localDescription.sdp),screen:this.localMainVideoTrack instanceof lL||this.localAuxVideoTrack instanceof lL,state:this.publishState,constraintConfig:this._mediaSettings},enableLog:!1};return this._log.debug("sending sdp offer: ".concat(e.data.sdp)),this._signalChannel.sendWaitForResponse(e).then((e=>{let{code:t,message:i,data:n}=e.data;return 0===t?this.acceptAnswer(n):this.checkPublishResultCode(t,i)}))}setSDPDirection(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"all",n=Hx(e);return n.media.forEach((e=>{("all"===i||e.type===i)&&(e.direction=t)})),jx(n)}acceptAnswer(e){return cb(this,null,(function*(){var t,i,n,r,o;try{let s;if(this._publishingLocalAudioTrack||this._publishingLocalVideoTrack||this.isMainStreamPublished){let e=(null==(t=this._publishingLocalVideoTrack)?void 0:t.profile.bitrate)||(null==(i=this.localMainVideoTrack)?void 0:i.profile.bitrate),o=(null==(n=this._publishingLocalAudioTrack)?void 0:n.profile.bitrate)||(null==(r=this.localMainAudioTrack)?void 0:r.profile.bitrate);if(e){let t=this._isPublishingAux?MN.AUXILIARY:MN.BIG;s=yield this.setBandwidth({bandwidth:e,type:MN.VIDEO,sdp:s,videoType:t})}o&&(s=yield this.setBandwidth({bandwidth:o,type:MN.AUDIO,sdp:s}))}if(s=this.removeVideoOrientation(e.sdp),null!=(o=this._publishingLocalVideoTrack)&&o.small){let{smallStreamConfig:e}=this._room;s=yield this.setBandwidth({bandwidth:this._publishingLocalVideoTrack.small.bitrate||e.bitrate,type:MN.VIDEO,videoType:MN.SMALL,sdp:s})}let a={type:e.type,sdp:s};yield this._peerConnection.setRemoteDescription(a),this._log.debug("accepted answer: ".concat(s))}catch(a){throw this._log.error("failed to accept remote answer ".concat(a)),a}}))}sendMutedFlag(e){var t,i,n;if(e===this.localAuxAudioTrack||e===this.localAuxVideoTrack)return;let r={audio:!(null==(t=this.localMainAudioTrack)||!t.muted),bigVideo:!(null==(i=this.localMainVideoTrack)||!i.muted),auxVideo:!(null==(n=this.localAuxVideoTrack)||!n.muted)};this._log.info("send muted state: ".concat(JSON.stringify(r))),this._signalChannel.send(lx,r)}getIsReconnecting(){return this._isReconnecting}reconnect(){return cb(this,null,(function*(){if(!(ab(qx.prototype,this,"beforeReconnect").call(this)<0))try{yield this._signalChannel.sendWaitForResponse({command:hx,responseCommand:rx.UNPUBLISH_RESULT,enableLog:!1}),this.closePeerConnection(),this.initialize(),this.isMainStreamPublished&&(yield this.publish({localAudioTrack:this.localMainAudioTrack,localVideoTrack:this.localMainVideoTrack,isAuxiliary:!1})),this.isAuxStreamPublished&&(yield this.publish({localAudioTrack:this.localAuxAudioTrack,localVideoTrack:this.localAuxVideoTrack,isAuxiliary:!0})),this._log.warn("reconnect() uplink reconnect successfully"),this.stopReconnection()}catch(aD){let t=tO(this._reconnectionCount);this._log.warn("reconnect() timeout, try again after ".concat(t/1e3,"s")),this._reconnectionTimer=setTimeout((()=>{this.clearReconnectionTimer(),this.reconnect()}),t)}}))}handleConnectionStateChange(e){"CONNECTED"===e.state&&(this.localMainVideoTrack||this._publishingLocalVideoTrack&&!this._isPublishingAux)&&UO.emit(BO.SEND_FIRST_VIDEO_FRAME,{room:this._room})}updateSSRC(e){try{Hx(e).media.forEach(((e,t)=>{if(e.type===MN.AUDIO){let t=e.ssrcs&&e.ssrcs[0];t&&(this.ssrc.audio=Number(t.id))}else{if(this._sdpSemantics===mD&&e.ssrcGroups)return void e.ssrcGroups.forEach(((e,t)=>{let i=Number(e.ssrcs.split(" ")[0]);0===t?this.ssrc.video=i:1===t&&(this.ssrc.small=i)}));let i=e.ssrcs&&e.ssrcs[0];if(!i)return;switch(t){case 1:this.ssrc.video=Number(i.id);break;case 2:this.ssrc.small=Number(i.id);break;case 3:this.ssrc.auxiliary=Number(i.id)}}}))}catch(aD){}}getVideoTrackId(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:MN.VIDEO;if(this._peerConnection){let t=this._peerConnection.getSenders();if(e===MN.AUXILIARY&&t[3]&&t[3].track)return t[3].track.id;if(e===MN.VIDEO&&t[1]&&t[1].track)return t[1].track.id}if(this.localMainVideoTrack&&e===MN.VIDEO){let e=this.localMainVideoTrack.mediaTrack;if(e)return e.id}if(this.localAuxVideoTrack&&e===MN.AUXILIARY){let e=this.localAuxVideoTrack.mediaTrack;if(e)return e.id}return""}getSSRC(){return this.ssrc}checkPublishResultCode(e,t){if(0!==e)throw e===_D?(this._log.error(KO.NOT_SUPPORTED_H264ENCODE),new Tb({code:fb.NOT_SUPPORTED_H264,message:QO({key:zO.NOT_SUPPORTED_H264ENCODE})})):new Tb({code:fb.UNKNOWN,message:QO({key:zO.SIGNAL_RESPONSE_FAILED,data:{signalResponse:rx.PUBLISH_RESULT,code:e,message:t}})})}sendSEI(e,t){var i;null==(i=this._sei)||i.push(e,t)}},Yx=qx;ob([nL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{let r=e=>{this._emitter.off("closed",r),n(new Tb({code:fb.API_CALL_ABORTED,message:QO({key:zO.CONNECTION_ABORTED,data:e})}))};this._emitter.on("closed",r),e.apply(this,i).then(t,n).finally((()=>{this._emitter.off("closed",r)}))}))}))],Yx.prototype,"publish",1),ob([iL(Fx.prototype.afterConnect),tL(Fx.prototype.beforeConnect)],Yx.prototype,"connect",1);var Qx=Yx,Xx=class{constructor(e,t){this.room=e,sb(this,"_log"),sb(this,"_prevReportTime"),sb(this,"_prevReport",{}),sb(this,"_prevEncoderImplementation"),sb(this,"_prevQualityLimitationReason"),sb(this,"_prevAuxQualityLimitationReason"),sb(this,"_prevDecoderImplementationMap",new Map),sb(this,"totalBytesSent",0),sb(this,"totalBytesReceived",0),sb(this,"_spcStats",null),this._log=t,this._prevReportTime=0,this._prevEncoderImplementation="",this._prevQualityLimitationReason="",this._prevAuxQualityLimitationReason=""}get statInterval(){return 0===this._prevReportTime?2:(Date.now()-this._prevReportTime)/1e3}getSenderStats(e){return cb(this,null,(function*(){let t={audio:{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0},video:{bytesSent:0,packetsSent:0,framesEncoded:0,frameWidth:0,frameHeight:0,framesSent:0,fpsCapture:0},small:{bytesSent:0,packetsSent:0,framesEncoded:0,frameWidth:0,frameHeight:0,framesSent:0,fpsCapture:0},auxiliary:{bytesSent:0,packetsSent:0,framesEncoded:0,frameWidth:0,frameHeight:0,framesSent:0,fpsCapture:0},rtt:0},i=e.getPeerConnection(),n=e.getSSRC();if(i)try{if((this._spcStats||(yield i.getStats())).forEach((i=>{if("outbound-rtp"===i.type)if((i.mediaType||i.kind)===MN.VIDEO){let r,o;if(i.ssrc===n.video?(r=MN.VIDEO,o=e.localMainVideoTrack):i.ssrc===n.small?r=MN.SMALL:i.ssrc===n.auxiliary&&(o=e.localAuxVideoTrack,r=MN.AUXILIARY),!r)return;t[r].bytesSent=i.bytesSent,t[r].packetsSent=i.packetsSent,t[r].framesEncoded=i.framesEncoded,rO(i.keyFramesEncoded)||(t[r].keyFramesEncoded=i.keyFramesEncoded),rO(i.nackCount)||(t[r].nackCount=i.nackCount),rO(i.pliCount)||(t[r].pliCount=i.pliCount),rO(i.retransmittedPacketsSent)||(t[r].retransmittedPacketsSent=i.retransmittedPacketsSent),rO(i.totalEncodeTime)||(t[r].totalEncodeTime=i.totalEncodeTime),rO(i.totalPacketSendDelay)||(t[r].totalPacketSendDelay=i.totalPacketSendDelay),i.ssrc===n.video?(!rO(i.encoderImplementation)&&this._prevEncoderImplementation!==i.encoderImplementation&&(this._log.info("encoderImplementation change to ".concat(i.encoderImplementation)),this._prevEncoderImplementation=i.encoderImplementation),!rO(i.qualityLimitationReason)&&0!==i.bytesSent&&this._prevQualityLimitationReason!==i.qualityLimitationReason&&(this._log.info("qualityLimitationReason change to ".concat(i.qualityLimitationReason)),this._prevQualityLimitationReason=i.qualityLimitationReason)):i.ssrc===n.auxiliary&&!rO(i.qualityLimitationReason)&&0!==i.bytesSent&&this._prevAuxQualityLimitationReason!==i.qualityLimitationReason&&(this._log.info("aux qualityLimitationReason change to ".concat(i.qualityLimitationReason)),this._prevAuxQualityLimitationReason=i.qualityLimitationReason)}else t.audio.bytesSent=i.bytesSent,t.audio.packetsSent=i.packetsSent;else"candidate-pair"===i.type?hw(i)&&sO(i.currentRoundTripTime)&&(t.rtt=Math.floor(1e3*i.currentRoundTripTime),this.totalBytesSent=i.bytesSent):"media-source"===i.type&&(i.kind===MN.AUDIO?(t.audio.audioLevel=i.audioLevel||0,t.audio.totalAudioEnergy=i.totalAudioEnergy||0):i.kind===MN.VIDEO&&(i.trackIdentifier===e.getVideoTrackId(MN.VIDEO)?t.video.fpsCapture=i.framesPerSecond:i.trackIdentifier===e.getVideoTrackId(MN.AUXILIARY)?t.auxiliary.fpsCapture=i.framesPerSecond:t.small.fpsCapture=i.framesPerSecond));if(rO(i.audioLevel)||(t.audio.audioLevel=i.audioLevel||0),!rO(i.frameWidth)){let r=MN.SMALL;i.trackIdentifier===e.getVideoTrackId(MN.VIDEO)||i.ssrc===n.video?r=MN.VIDEO:(i.trackIdentifier===e.getVideoTrackId(MN.AUXILIARY)||i.ssrc===n.auxiliary)&&(r=MN.AUXILIARY),t[r].frameWidth=i.frameWidth,t[r].frameHeight=i.frameHeight,t[r].framesSent=i.framesSent}})),e.localMainAudioTrack){let i=e.localMainAudioTrack.getInternalAudioLevel();t.audio.micAudioLevel=i,0===t.audio.audioLevel&&(t.audio.audioLevel=i)}this.totalBytesSent||(this.totalBytesSent+=t.audio.bytesSent+t.video.bytesSent+t.auxiliary.bytesSent)}catch(o){this._log.warn("failed to getStats on sender connection ".concat(o))}return t}))}getReceiverStats(e){return cb(this,null,(function*(){let t={tinyId:e.tinyId,userId:e.userId,rtt:0,hasAudio:!1,hasVideo:!1,hasAuxiliary:!1,isSmallSubscribed:!1,audio:{bytesReceived:0,packetsReceived:0,packetsLost:0,jitter:0,audioLevel:0,totalAudioEnergy:0,insertedSamplesForDeceleration:0,removedSamplesForAcceleration:0},video:{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,fpsDecoded:0},auxiliary:{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,fpsDecoded:0}},i=e.getPeerConnection();if(i)try{let{ssrc:n}=e,{muteState:r,subscribeState:o}=e;(this._spcStats||(yield i.getStats())).forEach((i=>{if("inbound-rtp"===i.type)if((i.mediaType||i.kind)===MN.AUDIO){if(i.ssrc!==n.audio||!r.hasAudio)return;t.audio.packetsReceived=i.packetsReceived,t.audio.bytesReceived=i.bytesReceived,t.audio.packetsLost=i.packetsLost,i.insertedSamplesForDeceleration&&(t.audio.insertedSamplesForDeceleration=i.insertedSamplesForDeceleration),i.removedSamplesForAcceleration&&(t.audio.removedSamplesForAcceleration=i.removedSamplesForAcceleration);let{remoteAudioTrack:o}=e;o.stat.packetsReceived=i.packetsReceived,o.stat.bytesReceived=i.bytesReceived,o.stat.packetsLost=i.packetsLost,i.jitterBufferDelay&&(o.stat.jitterBufferDelay=Math.floor(i.jitterBufferDelay/i.jitterBufferEmittedCount*1e3)),t.hasAudio=!0}else{if(Fb&&0===i.bytesReceived)return;let s;i.ssrc===n.video&&r.hasVideo&&(t.video.packetsReceived=i.packetsReceived,t.video.bytesReceived=i.bytesReceived,t.video.packetsLost=i.packetsLost,t.video.framesReceived=i.framesReceived,t.video.framesDecoded=i.framesDecoded,t.video.fpsDecoded=i.framesPerSecond,t.hasVideo=!0,s=e.remoteVideoTrack,r.hasSmall&&o.smallVideo&&(t.isSmallSubscribed=!0),i.decoderImplementation&&(!this._prevDecoderImplementationMap.has(t.userId)||this._prevDecoderImplementationMap.get(t.userId)!==i.decoderImplementation)&&(this._log.info("".concat(t.userId," decoderImplementation change to ").concat(i.decoderImplementation)),this._prevDecoderImplementationMap.set(t.userId,i.decoderImplementation))),i.ssrc===n.auxiliary&&r.hasAuxiliary&&(t.auxiliary.packetsReceived=i.packetsReceived,t.auxiliary.bytesReceived=i.bytesReceived,t.auxiliary.packetsLost=i.packetsLost,t.auxiliary.framesReceived=i.framesReceived,t.auxiliary.framesDecoded=i.framesDecoded,t.auxiliary.fpsDecoded=i.framesPerSecond,s=e.remoteAuxiliaryTrack,t.hasAuxiliary=!0),s&&(s.stat.packetsReceived=i.packetsReceived,s.stat.bytesReceived=i.bytesReceived,s.stat.packetsLost=i.packetsLost,s.stat.framesReceived=i.framesReceived,s.stat.framesDecoded=i.framesDecoded,i.jitterBufferDelay&&(s.stat.jitterBufferDelay=Math.floor(i.jitterBufferDelay/i.jitterBufferEmittedCount*1e3)))}else"candidate-pair"===i.type&&hw(i)&&sO(i.currentRoundTripTime)&&(t.rtt=Math.floor(1e3*i.currentRoundTripTime),this.totalBytesReceived=i.bytesReceived);rO(i.frameWidth)||((i.trackIdentifier===e.getMainStreamVideoTrackId()||i.ssrc===n.video)&&(t.video.frameWidth=i.frameWidth,t.video.frameHeight=i.frameHeight,e.remoteVideoTrack.stat.frameWidth=i.frameWidth,e.remoteVideoTrack.stat.frameHeight=i.frameHeight),(i.trackIdentifier===e.getAuxStreamVideoTrackId()||i.ssrc===n.auxiliary)&&(t.auxiliary.frameWidth=i.frameWidth,t.auxiliary.frameHeight=i.frameHeight,e.remoteAuxiliaryTrack.stat.frameWidth=i.frameWidth,e.remoteAuxiliaryTrack.stat.frameHeight=i.frameHeight)),rO(i.audioLevel)||(t.audio.audioLevel=i.audioLevel||0,t.audio.totalAudioEnergy=i.totalAudioEnergy||0)})),0===t.audio.audioLevel&&(t.audio.audioLevel=e.remoteAudioTrack.getInternalAudioLevel()||0),this.totalBytesReceived||(this.totalBytesReceived+=t.audio.bytesReceived+t.video.bytesReceived+t.auxiliary.bytesReceived)}catch(cN){this._log.warn("failed to getStats on receiver connection ".concat(cN))}return t}))}getStats(e,t){return cb(this,null,(function*(){let i={},n=[];if(this.room.singlePC){let e=this.room.singlePC.getPeerConnection();if(!e)return{senderStats:i,receiverStats:n};let t=yield e.getStats(),r=[],o=new Set(["inbound-rtp","outbound-rtp","track","candidate-pair","media-source"]);t.forEach((e=>o.has(e.type)&&r.push(e))),this._spcStats=r}e&&(i=yield this.getSenderStats(e));for(let[e,r]of t){let e=yield this.getReceiverStats(r);n.push(e)}return{senderStats:i,receiverStats:n}}))}getDifferenceValue(e,t){if(UP(e))return t;let i=t-e;return i<0?0:i}prepareReport(e){let{stats:t,report:i,freezeMap:n}=e;if(!UP(t.senderStats)){let e={uint32_audio_level:t.senderStats.audio.audioLevel*UD,uint32_audio_energy:1e6*t.senderStats.audio.totalAudioEnergy,uint32_audio_codec_bitrate:t.senderStats.audio.bytesSent};t.senderStats.audio.micAudioLevel&&(e.uint32_mic_audio_level=t.senderStats.audio.micAudioLevel*UD);let n=[];if(t.senderStats.video.bytesSent){let e={uint32_video_stream_type:2,uint32_video_codec_fps:t.senderStats.video.framesSent,uint32_video_capture_fps:t.senderStats.video.fpsCapture,uint32_video_width:t.senderStats.video.frameWidth,uint32_video_height:t.senderStats.video.frameHeight,uint32_video_codec_bitrate:t.senderStats.video.bytesSent,uint32_video_enc_fps:t.senderStats.video.framesEncoded,uint32_key_frame_count:t.senderStats.video.keyFramesEncoded,uint32_nack_count:t.senderStats.video.nackCount,uint32_pli_count:t.senderStats.video.pliCount,uint32_encode_cost:1e3*(t.senderStats.video.totalEncodeTime||0),uint32_send_packet_cost:1e3*(t.senderStats.video.totalPacketSendDelay||0),uint32_video_arq_packets:t.senderStats.video.retransmittedPacketsSent};n.push(e)}if(t.senderStats.small.bytesSent){let e={uint32_video_stream_type:3,uint32_video_codec_fps:t.senderStats.small.framesSent||0,uint32_video_capture_fps:t.senderStats.small.fpsCapture||0,uint32_video_width:t.senderStats.small.frameWidth||0,uint32_video_height:t.senderStats.small.frameHeight||0,uint32_video_codec_bitrate:t.senderStats.small.bytesSent,uint32_video_enc_fps:t.senderStats.small.framesEncoded||0,uint32_key_frame_count:t.senderStats.small.keyFramesEncoded,uint32_nack_count:t.senderStats.small.nackCount,uint32_pli_count:t.senderStats.small.pliCount,uint32_encode_cost:1e3*(t.senderStats.small.totalEncodeTime||0),uint32_send_packet_cost:1e3*(t.senderStats.small.totalPacketSendDelay||0),uint32_video_arq_packets:t.senderStats.small.retransmittedPacketsSent};n.push(e)}if(t.senderStats.auxiliary.bytesSent){let e={uint32_video_stream_type:7,uint32_video_codec_fps:t.senderStats.auxiliary.framesSent||0,uint32_video_capture_fps:t.senderStats.auxiliary.fpsCapture||0,uint32_video_width:t.senderStats.auxiliary.frameWidth||0,uint32_video_height:t.senderStats.auxiliary.frameHeight||0,uint32_video_codec_bitrate:t.senderStats.auxiliary.bytesSent,uint32_video_enc_fps:t.senderStats.auxiliary.framesEncoded||0,uint32_key_frame_count:t.senderStats.auxiliary.keyFramesEncoded,uint32_nack_count:t.senderStats.auxiliary.nackCount,uint32_pli_count:t.senderStats.auxiliary.pliCount,uint32_encode_cost:1e3*(t.senderStats.auxiliary.totalEncodeTime||0),uint32_send_packet_cost:1e3*(t.senderStats.auxiliary.totalPacketSendDelay||0),uint32_video_arq_packets:t.senderStats.auxiliary.retransmittedPacketsSent};n.push(e)}let r={uint32_bitrate:0,uint32_lost:0,uint32_rtt:t.senderStats.rtt};i.msg_up_stream_info={msg_audio_status:e,msg_video_status:n,msg_network_status:r}}let{statInterval:r}=this;i.msg_down_stream_info=[],t.receiverStats.forEach((e=>{let t={msg_user_info:{str_identifier:e.userId,uint64_tinyid:e.tinyId},msg_network_status:{uint32_rtt:e.rtt,uint32_bitrate:0,uint32_lost:0},msg_audio_status:{},msg_video_status:[]};if(e.hasAudio){let i={uint32_audio_codec_bitrate:e.audio.bytesReceived,uint32_audio_total_bitrate:e.audio.bytesReceived,uint32_audio_level:1e8*e.audio.audioLevel,uint32_audio_energy:1e6*e.audio.totalAudioEnergy,uint32_audio_receive:e.audio.packetsReceived,uint32_audio_origin_lost:e.audio.packetsLost};t.msg_audio_status=i}if(e.hasVideo){let i=n.get("".concat(e.userId,"_").concat(KN)),r=i?i.duration:0,o={uint32_video_stream_type:e.isSmallSubscribed?3:2,uint32_video_receive_fps:e.video.framesReceived,uint32_video_width:e.video.frameWidth,uint32_video_height:e.video.frameHeight,uint32_video_codec_bitrate:e.video.bytesReceived,uint32_video_receive:e.video.packetsReceived,uint32_video_origin_lost:e.video.packetsLost,uint32_video_block_time:r,uint32_video_dec_fps:e.video.framesDecoded};t.msg_video_status.push(o)}if(e.hasAuxiliary){let i=n.get("".concat(e.userId,"_").concat(qN)),r=i?i.duration:0,o={uint32_video_stream_type:7,uint32_video_receive_fps:e.auxiliary.framesReceived,uint32_video_width:e.auxiliary.frameWidth,uint32_video_height:e.auxiliary.frameHeight,uint32_video_codec_bitrate:e.auxiliary.bytesReceived,uint32_video_receive:e.auxiliary.packetsReceived+e.auxiliary.packetsLost,uint32_video_origin_lost:e.auxiliary.packetsLost,uint32_video_block_time:r,uint32_video_dec_fps:e.auxiliary.framesDecoded};t.msg_video_status.push(o)}i.msg_down_stream_info.push(t)}));let o=this._prevReport;if(this._prevReport=JSON.parse(JSON.stringify(i)),i.msg_up_stream_info.msg_audio_status&&o.msg_up_stream_info.msg_audio_status){let e=o.msg_up_stream_info.msg_audio_status,t=i.msg_up_stream_info.msg_audio_status;if(0===e.uint32_audio_codec_bitrate)t.uint32_audio_codec_bitrate=0;else{let n=this.getDifferenceValue(e.uint32_audio_codec_bitrate,t.uint32_audio_codec_bitrate);t.uint32_audio_codec_bitrate=Math.round(8*n/r),i.msg_up_stream_info.msg_network_status.uint32_bitrate+=t.uint32_audio_codec_bitrate}}let s=o.msg_up_stream_info.msg_video_status;i.msg_up_stream_info.msg_video_status.forEach((e=>{let t=s.find((t=>t.uint32_video_stream_type===e.uint32_video_stream_type));if(!t||0===t.uint32_video_codec_bitrate)return e.uint32_video_codec_bitrate=0,e.uint32_video_enc_fps=0,void(e.uint32_video_codec_fps=0);let n=0,o=0,a=0;t&&e.uint32_video_codec_bitrate>=t.uint32_video_codec_bitrate&&(n=t.uint32_video_codec_bitrate,o=t.uint32_video_enc_fps,a=t.uint32_video_codec_fps);let c=this.getDifferenceValue(n,e.uint32_video_codec_bitrate);e.uint32_video_codec_bitrate=Math.round(8*c/r),i.msg_up_stream_info.msg_network_status.uint32_bitrate+=e.uint32_video_codec_bitrate,e.uint32_video_enc_fps=Math.round(this.getDifferenceValue(o,e.uint32_video_enc_fps)/r),e.uint32_video_codec_fps=Math.round(this.getDifferenceValue(a,e.uint32_video_codec_fps)/r),_k&&115===Pk()&&0===t.uint32_video_width&&0===t.uint32_video_height&&0===t.uint32_video_codec_fps&&(e.uint32_video_codec_fps=e.uint32_video_enc_fps),rO(t.uint32_key_frame_count)||(e.uint32_key_frame_count=Math.round(this.getDifferenceValue(t.uint32_key_frame_count,e.uint32_key_frame_count))),rO(t.uint32_nack_count)||(e.uint32_nack_count=Math.round(this.getDifferenceValue(t.uint32_nack_count,e.uint32_nack_count))),rO(t.uint32_pli_count)||(e.uint32_pli_count=Math.round(this.getDifferenceValue(t.uint32_pli_count,e.uint32_pli_count))),rO(t.uint32_video_arq_packets)||(e.uint32_video_arq_packets=Math.round(this.getDifferenceValue(t.uint32_video_arq_packets,e.uint32_video_arq_packets))),rO(t.uint32_encode_cost)||(e.uint32_encode_cost=Math.round(this.getDifferenceValue(t.uint32_encode_cost,e.uint32_encode_cost)/r)),rO(t.uint32_send_packet_cost)||(e.uint32_send_packet_cost=Math.round(this.getDifferenceValue(t.uint32_send_packet_cost,e.uint32_send_packet_cost)/r))}));let a=i.msg_down_stream_info,c=o.msg_down_stream_info;return a.forEach((e=>{let t=c.find((t=>t.msg_user_info.uint64_tinyid===e.msg_user_info.uint64_tinyid));if(t){if(UP(e.msg_audio_status)||UP(t.msg_audio_status))e.msg_audio_status={};else{let i=e.msg_audio_status,n=t.msg_audio_status;i.uint32_audio_origin_lost=this.getDifferenceValue(n.uint32_audio_origin_lost,i.uint32_audio_origin_lost),i.uint32_audio_receive=this.getDifferenceValue(n.uint32_audio_receive,i.uint32_audio_receive),i.uint32_audio_receive+=i.uint32_audio_origin_lost;let o=this.getDifferenceValue(n.uint32_audio_codec_bitrate,i.uint32_audio_codec_bitrate);i.uint32_audio_codec_bitrate=Math.round(8*o/r),i.uint32_audio_total_bitrate=Math.round(8*o/r)}if(e.msg_video_status&&t.msg_video_status){let i=t.msg_video_status;e.msg_video_status=e.msg_video_status.filter((e=>i.find((t=>t.uint32_video_stream_type===e.uint32_video_stream_type)))),e.msg_video_status.forEach((e=>{let t=i.find((t=>t.uint32_video_stream_type===e.uint32_video_stream_type)),n=t.uint32_video_receive,o=t.uint32_video_origin_lost,s=t.uint32_video_codec_bitrate,a=t.uint32_video_receive_fps,c=t.uint32_video_dec_fps;e.uint32_video_origin_lost=this.getDifferenceValue(o,e.uint32_video_origin_lost),e.uint32_video_receive=this.getDifferenceValue(n,e.uint32_video_receive)+e.uint32_video_origin_lost;let l=this.getDifferenceValue(s,e.uint32_video_codec_bitrate);e.uint32_video_codec_bitrate=Math.round(8*l/r);let d=this.getDifferenceValue(a,e.uint32_video_receive_fps);e.uint32_video_receive_fps=Math.round(d/r),e.uint32_video_dec_fps=Math.round(this.getDifferenceValue(c,e.uint32_video_dec_fps)/r)}))}}})),i}getStatsReport(e){return cb(this,arguments,(function(e){var t=this;let{uplinkConnection:i,downlinkConnections:n,freezeMap:r}=e;return function*(){let e={msg_up_stream_info:{msg_audio_status:{uint32_audio_format:11,uint32_audio_sample_rate:0,uint32_audio_codec_bitrate:0,uint32_audio_receive:0,uint32_audio_origin_lost:0,uint32_audio_level:0,uint32_audio_energy:0},msg_video_status:[],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0}},msg_down_stream_info:[{msg_user_info:{str_identifier:"",uint64_tinyid:0},msg_audio_status:{uint32_audio_format:11,uint32_audio_sample_rate:0,uint32_audio_codec_bitrate:0,uint32_audio_total_bitrate:0,uint32_audio_level:0,uint32_audio_energy:0,uint32_audio_receive:0,uint32_audio_origin_lost:0,uint32_audio_final_lost:0},msg_video_status:[{uint32_video_stream_type:0,uint32_video_receive_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_codec_bitrate:0,uint32_video_receive:0,uint32_video_origin_lost:0,uint32_video_block_time:0,uint32_video_dec_fps:0}],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0}}]},o=yield t.getStats(i,n);return"{}"===JSON.stringify(t._prevReport)&&(t._prevReport=JSON.parse(JSON.stringify(e))),t.prepareReport({stats:o,report:e,freezeMap:r}),t._prevReportTime=Date.now(),e}()}))}reset(){this._prevReportTime=0,this._prevReport={},this._prevEncoderImplementation="",this._prevQualityLimitationReason="",this._prevDecoderImplementationMap=new Map}},$x=rb(lb()),Zx=class extends $x.default{constructor(e){let{signalChannel:t,room:i}=e;super(),sb(this,"_room"),sb(this,"_signalChannel"),sb(this,"_log"),sb(this,"_uplinkRTT",0),sb(this,"_uplinkLoss",0),sb(this,"_downlinkRTT",0),sb(this,"_downlinkLoss",0),sb(this,"_downlinkPrevStatMap",new Map),sb(this,"_downlinkLossAndRTTMap",new Map),sb(this,"_interval",-1),sb(this,"_uplinkNetworkQuality",0),sb(this,"_downlinkNetworkQuality",0),this._room=i,this._signalChannel=t,this._log=jO.createLogger({id:"q",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),this.initialize()}get uplinkNetworkQuality(){return this._uplinkNetworkQuality}set uplinkNetworkQuality(e){e!==this._uplinkNetworkQuality&&this._log.info("uplink ".concat(this.uplinkNetworkQuality," -> ").concat(e,", rtt: ").concat(this._uplinkRTT,", loss: ").concat(this._uplinkLoss)),this._uplinkNetworkQuality=e}get downlinkNetworkQuality(){return this._downlinkNetworkQuality}set downlinkNetworkQuality(e){if(e!==this._downlinkNetworkQuality){let{rtt:t,loss:i}=this.getAverageLossAndRTT([...this._downlinkLossAndRTTMap.values()]);this._log.info("downlink ".concat(this.downlinkNetworkQuality," -> ").concat(e,", rtt: ").concat(t,", loss: ").concat(i))}this._downlinkNetworkQuality=e}initialize(){this._signalChannel.on(rx.UPLINK_NETWORK_STATS,(e=>{this.handleUplinkNetworkQuality(e)})),this._signalChannel.on(QM,this.handleSignalConnectionStateChange.bind(this)),this.start()}handleUplinkNetworkQuality(e){var t,i;if(0!==e.data.code)return;let n=e.data.data;if(n.delay&&this.updateDelay(n.delay),!this._room.uplinkConnection)return this.uplinkNetworkQuality=0,this._uplinkLoss=0,void(this._uplinkRTT=0);let r=null==(i=null==(t=this._room)?void 0:t.uplinkConnection)?void 0:i.getPeerConnection();if(r&&this.isPeerConnectionDisconnected(r))return this.uplinkNetworkQuality=6,this._uplinkLoss=0,void(this._uplinkRTT=0);let o=n.expectAudPkg+n.expectVidPkg,s=n.recvAudPkg+n.recvVidPkg,a=o-s;0===o&&0===s||(this._uplinkLoss=a<=0?0:Math.round(a/o*100),this._uplinkRTT=n.rtt,this.uplinkNetworkQuality=this.getNetworkQuality(this._uplinkLoss,this._uplinkRTT))}handleDownlinkNetworkQuality(){return cb(this,null,(function*(){if(0===this._room.remotePublishedUserMap.size)return void(this.downlinkNetworkQuality=0);let e=[...this._room.remotePublishedUserMap.values()],t=e.filter((e=>{var t;return(null==(t=e.getPeerConnection())?void 0:t.connectionState)===nD.CONNECTED}));if(e.filter((e=>this.isPeerConnectionDisconnected(e.getPeerConnection()))).length===e.length)return void(this.downlinkNetworkQuality=6);for(let r=0;r{this.isPeerConnectionDisconnected(e)&&(this._downlinkPrevStatMap.delete(e),this._downlinkLossAndRTTMap.delete(e))})),0===this._downlinkLossAndRTTMap.size)return;let{rtt:i,loss:n}=this.getAverageLossAndRTT([...this._downlinkLossAndRTTMap.values()]);this._downlinkRTT=i,this._downlinkLoss=n,this.downlinkNetworkQuality=this.getNetworkQuality(n,i)}))}getStat(e){return cb(this,null,(function*(){let t={rtt:0,totalPacketsLost:0,totalPacketsReceived:0};if(!e||!Ew())return t;let i=e.getReceivers();try{for(let e=0;e{"candidate-pair"===e.type&&sO(e.currentRoundTripTime)&&(t.rtt=Math.round(1e3*e.currentRoundTripTime)),"inbound-rtp"===e.type&&(e.mediaType===MN.AUDIO||e.mediaType===MN.VIDEO)&&(t.totalPacketsLost+=e.packetsLost,t.totalPacketsReceived+=e.packetsReceived)}));return t}catch(r){return t}}))}getAverageLossAndRTT(e){let t={rtt:0,loss:0};return Array.isArray(e)&&e.length>0&&(e.forEach((e=>{t.rtt+=e.rtt,t.loss+=e.loss})),Object.keys(t).forEach((i=>{t[i]=Math.round(t[i]/e.length)}))),t}getNetworkQuality(e,t){return e>50||t>500?5:e>30||t>350?4:e>20||t>200?3:e>10||t>100?2:e>=0||t>=0?1:0}handleSignalConnectionStateChange(e){e.state===ZM?(this._uplinkRTT=0,this._uplinkLoss=0,this.uplinkNetworkQuality=6):e.state===tx&&6===this.uplinkNetworkQuality&&(this.uplinkNetworkQuality=5)}handleUplinkConnectionStateChange(e){let{state:t}=e;"DISCONNECTED"===t?(this._uplinkLoss=0,this._uplinkRTT=0,this.uplinkNetworkQuality=6):"CONNECTED"===t&&6===this.uplinkNetworkQuality&&(this.uplinkNetworkQuality=5)}isPeerConnectionDisconnected(e){return!(!e||e.connectionState!==nD.DISCONNECTED&&e.connectionState!==nD.FAILED&&e.connectionState!==nD.CLOSED)}setUplinkConnection(e){this._room.uplinkConnection=e,this._room.uplinkConnection?this._room.uplinkConnection.on("connection-state-changed",this.handleUplinkConnectionStateChange.bind(this)):(this.uplinkNetworkQuality=0,this._uplinkRTT=0,this._uplinkLoss=0)}start(){-1===this._interval?(this._log.debug("start network quality calculating"),this._interval=Yw.run(PD,(()=>{this.handleDownlinkNetworkQuality();let e=[...this._downlinkLossAndRTTMap.values()];UO.emit(BO.NETWORK_QUALITY,{room:this._room,uplink:{rtt:this._uplinkRTT,loss:this._uplinkLoss},downlinks:e}),this.emit(Zx.EVENT_NETWORK_QUALITY,{uplinkNetworkQuality:this.uplinkNetworkQuality,downlinkNetworkQuality:this.downlinkNetworkQuality,uplinkRTT:this._uplinkRTT,uplinkLoss:this._uplinkLoss,downlinkRTT:this._downlinkRTT,downlinkLoss:this._downlinkLoss,downlinkInfo:e})}),{delay:2e3})):this._log.info("network quality calculating is already started")}stop(){this._log.debug("stopped"),-1!==this._interval&&(Yw.clearTask(this._interval),this._interval=-1),this._downlinkLossAndRTTMap.clear(),this._downlinkPrevStatMap.clear()}updateDelay(e){let{tinyIdToUserIdMap:t}=this._room;e.forEach((e=>{let{srcTinyId:i,videoDelay:n,audioDelay:r}=e,o=t.get(i);if(o){let e=this._room.remotePublishedUserMap.get(o);null==e||e.setDelay({videoDelay:n,audioDelay:r})}}))}},eV=Zx;sb(eV,"EVENT_NETWORK_QUALITY","0");var tV=new WeakMap;function iV(e){let{settings:t={retries:5,timeout:2e3},onError:i,onRetrying:n,onRetryFailed:r}=e;return function(e,o,s){let a=xO({retryFunction:s.value,settings:t,onError(t){let{error:n,retry:r,reject:s,retryFuncArgs:a}=t;i&&i.call(this,n,(()=>{var t;null!=(t=tV.get(e))&&t.has(o)?r():s(n)}),s,a)},onRetrying:(t,i)=>{var r;nO(n)&&n(t,i),null!=(r=tV.get(e))&&r.has(o)&&(tV.get(e).get(o).stopRetry=i)},onRetryFailed:r});return s.value=function(){let t=tV.get(e);for(var i=arguments.length,n=new Array(i),r=0;r{var t;return null==(t=tV.get(e))?void 0:t.delete(o)}))},s}}function nV(e){let{fnName:t,callback:i,validateArgs:n=!0}=e;return function(e,r,o){let s=o.value;return o.value=function(){for(var r,o,a=arguments.length,c=new Array(a),l=0;lt===e))){a=!1;break}a&&(i&&i.apply(this,c),r&&r(),null==(o=tV.get(e))||o.delete(t))}return s.apply(this,c)},o}}var rV=class{constructor(e){this._signalInfo={tinyId:void 0,clientIp:"",signalIp:"",relayIp:"",relayInnerIp:"",relayPort:0},this._apiSuccessRateMap=new Map,this._eventMap=new Map,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=jO.createLogger({id:"kpm",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith("handle")&&nO(this[e])&&(this[e]=function(e){let{fn:t,context:i}=e;return function(){try{for(var e=arguments.length,n=new Array(e),r=0;rjO.error("".concat(t.name,"() error observed ").concat(e)))):o}catch(aD){jO.error("".concat(t.name,"() error observed ").concat(aD))}}}({fn:this[e],context:this}))})),this.initData(),this.installEvents(),this._intervalId=Yw.run(PD,this.setStorage.bind(this),{delay:2e4})}get _storageKey(){return"".concat(this._keyPrefix,"_").concat(this._room.userId)}initData(){this._firstPublishedUserList=[],this._networkQuality={totalUplinkRTT:0,totalUplinkLoss:0,count:0,totalDownlinkRTTAndLossMap:new Map},this._basicInfo={string_sdk_version:oN,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:NN[WD()],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,this._apiSuccessRateMap.clear(),Zk().then((e=>{this._basicInfo.string_os_version=iN(),e&&(this._basicInfo.string_device_name=e.model)}))}addEvent(e,t){return this._eventMap.set(e,t),UO.on(e,t),this}installEvents(){this.handleUnload=this.handleUnload.bind(this),window.addEventListener("unload",this.handleUnload),this._room.once("banned",(()=>this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId}))),this.addEvent(BO.JOIN_START,this.handleJoinStart).addEvent(BO.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(BO.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(BO.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(BO.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(BO.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(BO.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(BO.JOIN_FAILED,this.handleJoinFailed).addEvent(BO.LEAVE_START,this.handleLeaveStart).addEvent(BO.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(BO.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(BO.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(BO.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(BO.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(BO.PUBLISH_START,this.handlePublishStart).addEvent(BO.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(BO.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(BO.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(BO.PLAY_TRACK_START,this.handlePlayStart).addEvent(BO.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(BO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:i,type:n}=e;!uO(t)||!this.hitTest(t.room)||"PLAYING"===i&&(n===MN.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(BO.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(BO.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(BO.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(BO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:i,muteState:n}=e;if(!this.hitTest(t))return;let r=i.hasAudio||i.hasVideo||i.hasSmall,o=i.hasAuxiliary,s=n.hasAudio||n.hasVideo||n.hasSmall,a=n.hasAuxiliary;!r&&s&&this.handleRemoteStreamAdded(n.userId,"main"),!o&&a&&this.handleRemoteStreamAdded(n.userId,"auxiliary")})).addEvent(BO.API_SUCCESS_RATE,this.handleAPISuccessRate).addEvent(BO.SINGLE_CONNECTION_STAT,(e=>{let{room:t,stat:i}=e;this.hitTest(t)&&(this._pathJoinRoom.int32_ice_cost=i.ice,this._pathJoinRoom.int32_dtls_cost=i.dtls,this._pathJoinRoom.int32_peer_connection_cost=i.peerConnection)}))}uninstallEvents(){window.removeEventListener("unload",this.handleUnload),this._eventMap.forEach(((e,t)=>UO.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),Yw.clearTask(this._intervalId)}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(),this.checkStorage()),e.params&&(rO(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),rO(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),rO(e.params.language)||(this._language=e.params.language,this._basicInfo.uint32_caller_coding_language=this._language)))}handleJoinScheduleSuccess(e){let{room:t,detailCost:i}=e;if(this.hitTest(t)&&i){let{totalCost:e,local:t,dns:n,tcp:r,tls:o,request:s,response:a}=i;this._pathJoinRoom.int32_schedule_cost=e,this._pathJoinRoom.int32_schedule_local=t,this._pathJoinRoom.int32_schedule_dns=n,this._pathJoinRoom.int32_schedule_tcp=r,this._pathJoinRoom.int32_schedule_tls=o,this._pathJoinRoom.int32_schedule_request=s,this._pathJoinRoom.int32_schedule_response=a}}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:i}=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(),i&&(this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret=i instanceof Tb?Number(i.getExtraCode()||i.getCode()):fb.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:i}=e;this.hitTest(t)&&(this._pathJoinRoom.uint64_end_time=Date.now(),0===this._pathJoinRoom.int32_end_ret&&(this._pathJoinRoom.int32_end_ret=i.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())}handleRemoteStreamAdded(e,t){var i;let n="".concat(e,"_").concat(t);if(!this._remoteStreamStatMap.has(n)){let r={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:tb(eb({},aV),{msg_user_info:new cV({userId:e,tinyId:null==(i=this._room.remotePublishedUserMap.get(e))?void 0:i.tinyId,role:20})})};r.statsToReport.uint32_stream_type="main"===t?2:7,this._remoteStreamStatMap.set(n,r)}}handleSubscribeStart(e){let{room:t,remotePublishedUser:i,streamType:n,subscribeState:r}=e;if(!this.hitTest(t))return;let{userId:o,tinyId:s,role:a}=i,c=new cV({userId:o,tinyId:s,role:"anchor"===a?20:21}),l=Date.now(),d="".concat(o,"_").concat(n),u=this._remoteStreamStatMap.get(d);u&&0===u.subscribeStartTime&&(u.subscribeStartTime=l),"main"===n?(i.muteState.hasVideo&&(r.video||r.smallVideo)&&!this._pathMainVideoMap.has(d)&&this._pathMainVideoMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_render_first_frame_time:0,uint64_combine_first_frame_time:0},userId:o,sendSubscribeCMDTime:l}),i.muteState.hasAudio&&r.audio&&!this._pathMainAudioMap.has(d)&&this._pathMainAudioMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_play_first_frame_time:0},userId:o,sendSubscribeCMDTime:l})):i.muteState.hasAuxiliary&&r.auxiliary&&!this._pathAuxiliaryMap.has(d)&&this._pathAuxiliaryMap.set(d,{sendSubscribeCMDTime:l})}handleSubscribed(e){let{room:t,remotePublishedUser:i,streamType:n}=e;if(this.hitTest(t)){let e="".concat(i.userId,"_").concat(n),t=this._remoteStreamStatMap.get(e);t&&0===t.subscribedTime&&(t.subscribedTime=Date.now())}}handlePlayStart(e){let{track:t}=e;if(!uO(t)||!this.hitTest(t.room))return;let i="".concat(t.userId,"_").concat(t.streamType),n=this._remoteStreamStatMap.get(i);0===(null==n?void 0:n.playStreamTime)&&(n.playStreamTime=Date.now())}handleVideoLoadedData(e){let{track:t}=e;if(!uO(t)||!this.hitTest(t.room))return;let i="".concat(t.userId,"_").concat(t.streamType),n=this._pathMainVideoMap.get(i);n&&0===n.statsToReport.uint64_combine_first_frame_time&&(n.statsToReport.uint64_combine_first_frame_time=Date.now())}handleVideoPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),i=Date.now(),n=this._pathMainVideoMap.get(t),r=this._remoteStreamStatMap.get(t);if(n&&(0===n.statsToReport.uint64_render_first_frame_time&&(n.statsToReport.uint64_render_first_frame_time=i),r)){let{statsToReport:e,playStreamTime:t,subscribedTime:o}=r;0===e.uint32_video_render_first&&t-o<=100&&(e.uint32_video_render_first=i-n.sendSubscribeCMDTime)}let o=this._pathAuxiliaryMap.get(t);if(o&&r){let{statsToReport:e,playStreamTime:t,subscribedTime:n}=r;0===e.uint32_video_render_first&&t-n<=100&&(e.uint32_video_render_first=i-o.sendSubscribeCMDTime)}}handleAudioPlaying(e){let t="".concat(e.userId,"_").concat(e.streamType),i=this._pathMainAudioMap.get(t);i&&0===i.statsToReport.uint64_play_first_frame_time&&(i.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:i,userId:n,videoDelay:r,audioDelay:o}=e,s=this._networkQuality.totalDownlinkRTTAndLossMap.get(n);if(s)s.totalRTT+=t,s.totalLoss+=i,r&&(s.totalVideoDelay=(s.totalVideoDelay||0)+r,s.videoDelayCount=(s.videoDelayCount||0)+1),o&&(s.totalAudioDelay=(s.totalAudioDelay||0)+o,s.audioDelayCount=(s.audioDelayCount||0)+1),s.count++;else{let e,s,a,c;r&&(s=r,a=1),o&&(e=o,c=1),this._networkQuality.totalDownlinkRTTAndLossMap.set(n,{totalRTT:t,totalLoss:i,count:1,totalAudioDelay:e,totalVideoDelay:s,audioDelayCount:c,videoDelayCount:a})}})))}handleHeartbeatStats(e){if(this.hitTest(e.room)){let{msg_up_stream_info:t,msg_down_stream_info:i}=e.report;if(t.msg_video_status[0]){let{uint32_video_codec_bitrate:e,uint32_video_enc_fps:i,uint32_video_width:n,uint32_video_height:r}=t.msg_video_status[0];this._localStreamStat.totalVideoBitrate+=e,this._localStreamStat.totalVideoFPS+=i,this._localStreamStat.totalVideoWidth+=n,this._localStreamStat.totalVideoHeight+=r,this._localStreamStat.videoCount++}if(t.msg_audio_status){let{uint32_audio_level:e}=t.msg_audio_status;Math.floor(e/UD*100)>0&&(this._localStreamStat.totalAudioLevel+=e/UD,this._localStreamStat.audioLevelCount++)}i.forEach((e=>{let{msg_user_info:t,msg_audio_status:i,msg_video_status:n}=e,r=t.str_identifier,o=this._room.remotePublishedUserMap.get(r);if(n.forEach((e=>{let t=2===e.uint32_video_stream_type,i=7===e.uint32_video_stream_type,n="".concat(r,"_").concat(t?"main":"auxiliary"),s=this._remoteStreamStatMap.get(n);if(s&&(t&&(null==o?void 0:o.remoteVideoTrack.isSubscribed)||i&&(null==o?void 0:o.remoteAuxiliaryTrack))){s.totalVideoFPS+=e.uint32_video_receive_fps,s.totalVideoBitrate+=e.uint32_video_codec_bitrate,s.videoCount++,0===s.statsToReport.uint32_video_width&&(s.statsToReport.uint32_video_width=e.uint32_video_width),0===s.statsToReport.uint32_video_height&&(s.statsToReport.uint32_video_height=e.uint32_video_height);let i=t?o.remoteVideoTrack:o.remoteAuxiliaryTrack;i.stat.jitterBufferDelay&&(s.videoJitterBufferDelay=i.stat.jitterBufferDelay),i.stat.framesReceived&&(s.statsToReport.uint32_video_consume_render_rate=Math.floor(i.stat.framesDecoded/i.stat.framesReceived*$C(10,6)))}})),i){let e="".concat(r,"_","main"),t=this._remoteStreamStatMap.get(e);this._remoteStreamStatMap.has(e)&&t&&(null==o?void 0:o.remoteAudioTrack.isSubscribed)&&(t.totalAudioBitrate+=i.uint32_audio_codec_bitrate,t.audioCount++,o.remoteAudioTrack.stat.jitterBufferDelay&&(t.audioJitterBufferDelay=o.remoteAudioTrack.stat.jitterBufferDelay),Math.floor(i.uint32_audio_level/UD*100)>0&&(t.totalAudioLevel+=i.uint32_audio_level/UD,t.audioLevelCount++))}}))}}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:i}=e,n={NotFoundError:1,NotAllowedError:2,NotReadableError:3,OverConstrainedError:4,AbortError:5,InvalidStateError:6,SecurityError:7,TypeError:8}[i.name]||(i instanceof Tb?i.getExtraCode()||i.getCode():fb.UNKNOWN);1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=n,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=n,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}handleAPISuccessRate(e){let{room:t,apiName:i,error:n,cost:r}=e;if(!this.hitTest(t))return;let o=lV[i],s={uint32_function_request_type:o,uint32_avg_value:0,uint32_max_value:0,uint32_request_count:1,uint32_success_count:0,msg_error_code:[]};if(n){let e=n.extraCode||n.code||fb.UNKNOWN;Xw.logFailedEvent({eventType:i,code:e,userId:this._room.userId,error:n});let t={int32_error_code:e,error_count:1};s.msg_error_code.push(t)}else sO(r)&&(Xw.logSuccessEvent({eventType:i,userId:this._room.userId}),s.uint32_avg_value=r,s.uint32_max_value=r,s.uint32_success_count=1);let a=this._apiSuccessRateMap.get(o);a?(a.uint32_success_count+s.uint32_success_count>0&&(a.uint32_avg_value=(a.uint32_avg_value*a.uint32_success_count+s.uint32_avg_value)/(a.uint32_success_count+s.uint32_success_count)),a.uint32_max_value=Math.max(a.uint32_max_value,s.uint32_max_value),a.uint32_request_count+=1,a.uint32_success_count=a.uint32_success_count+s.uint32_success_count,s.msg_error_code.forEach((e=>{let t=a.msg_error_code.find((t=>t.int32_error_code===e.int32_error_code));t?t.error_count+=1:a.msg_error_code.push(e)}))):this._apiSuccessRateMap.set(o,s)}hasVideoFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&FN))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&jN))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&HN))>=0}hitTest(e){return e===this._room}checkStorage(){return cb(this,null,(function*(){try{let e=WO.getItem(this._storageKey);e&&(yield this.upload(e),WO.deleteItem(this._storageKey))}catch(FL){this._log.warn(FL)}}))}setStorage(){this.prepareReport();let e=this.getReportData();0!==e.msg_path_enter_room.uint64_start_time&&WO.setItem(this._storageKey,e)}prepareReport(){if(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:i}=e,n=this._networkQuality.totalDownlinkRTTAndLossMap.get(i);if(n){let{totalLoss:t,count:i,audioDelayCount:r,videoDelayCount:o,totalAudioDelay:s,totalVideoDelay:a}=n;e.statsToReport.uint32_avg_down_loss=Math.floor(t/i),r&&s&&(e.statsToReport.uint32_audio_network_p2p_delay=Math.floor(s/r),e.audioJitterBufferDelay&&(e.statsToReport.uint32_p2p_delay=Math.floor(e.statsToReport.uint32_audio_network_p2p_delay+e.audioJitterBufferDelay))),o&&a&&(e.statsToReport.uint32_video_network_p2p_delay=Math.floor(a/o))}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:r}=this._room;r&&(e.statsToReport.uint32_audio_play_time=r.getDuration(t,MN.AUDIO),e.statsToReport.uint32_video_play_time=r.getDuration(t,MN.VIDEO)),e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,sV);let{badCaseDetector:o}=this._room,{dataFreeze:s,count:a}=o.getDataFreezeDuration(t),{renderFreeze:c}=o.getRenderFreezeDuration(t);e.statsToReport.uint32_video_block_count=a,e.statsToReport.uint32_video_block_time=Math.min(s,e.statsToReport.uint32_video_play_time),e.statsToReport.uint32_video_external_block_time=Math.min(c,e.statsToReport.uint32_video_play_time),o.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,(0===e.subscribeStartTime||e.subscribeStartTime-e.streamAddedTime>100||0===e.playStreamTime)&&(this._pathMainAudioMap.delete(t),this._pathMainVideoMap.delete(t),e.statsToReport.uint32_video_render_first=0)})),this._pathMainAudioMap.forEach(((e,t)=>{this.hasAudioFlag(e.userId)?e.statsToReport.uint64_play_first_frame_time-e.statsToReport.uint64_start_enter_time>sV&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+sV):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>sV&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+sV):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>sV&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+sV)}getReportData(){return{uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new cV({userId:this._room.userId,tinyId:this._room.tinyId,role:"anchor"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:RO(this._signalInfo.relayIp),uint32_client_ip:RO(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(2147483648*Math.random()),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:RO(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,msg_function_request_stats:[...this._apiSuccessRateMap.values()]}}report(){try{this.prepareReport();let e=this.getReportData();this.upload(e),WO.deleteItem(this._storageKey),this.initData()}catch(FL){this._log.warn(FL)}}upload(e){if(qk||0===e.msg_path_enter_room.uint64_start_time||[_N,fN,gN].findIndex((e=>e===location.host))>=0)return;let t=Number(this._room.sdkAppId),i=HD(t,AN.KEY_POINT),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(i,JSON.stringify(e))),n||LO({url:i,body:JSON.stringify(e)})}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}};ob([iV({settings:{timeout:500,retries:3}})],rV.prototype,"upload",1);var oV,sV=5e3,aV={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_render_first: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},cV=class{constructor(e){this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},lV=((oV=lV||{})[oV.enterRoom=50001]="enterRoom",oV[oV.exitRoom=50002]="exitRoom",oV[oV.switchRole=50003]="switchRole",oV[oV.destroy=50004]="destroy",oV[oV.startLocalAudio=50005]="startLocalAudio",oV[oV.updateLocalAudio=50006]="updateLocalAudio",oV[oV.stopLocalAudio=50007]="stopLocalAudio",oV[oV.startLocalVideo=50008]="startLocalVideo",oV[oV.updateLocalVideo=50009]="updateLocalVideo",oV[oV.stopLocalVideo=50010]="stopLocalVideo",oV[oV.startScreenShare=50011]="startScreenShare",oV[oV.updateScreenShare=50012]="updateScreenShare",oV[oV.stopScreenShare=50013]="stopScreenShare",oV[oV.enableAudioVolumeEvaluation=50014]="enableAudioVolumeEvaluation",oV[oV.startRemoteVideo=50015]="startRemoteVideo",oV[oV.updateRemoteVideo=50016]="updateRemoteVideo",oV[oV.stopRemoteVideo=50017]="stopRemoteVideo",oV[oV.muteRemoteAudio=50018]="muteRemoteAudio",oV[oV.setRemoteAudioVolume=50019]="setRemoteAudioVolume",oV[oV.startMixTranscode=50020]="startMixTranscode",oV[oV.stopMixTranscode=50021]="stopMixTranscode",oV[oV.startPublishCDNStream=50022]="startPublishCDNStream",oV[oV.stopPublishCDNStream=50023]="stopPublishCDNStream",oV[oV.PeerConnectionConnect=50024]="PeerConnectionConnect",oV[oV.PeerConnectionReconnect=50025]="PeerConnectionReconnect",oV[oV.WebsocketConnect=50026]="WebsocketConnect",oV[oV.WebsocketReconnect=50027]="WebsocketReconnect",oV[oV.schedule=50028]="schedule",oV[oV.SPCConnect=50029]="SPCConnect",oV[oV.SPCReconnect=50030]="SPCReconnect",oV[oV.videoCtxGl=50031]="videoCtxGl",oV[oV.videoCtxGlRecover=50032]="videoCtxGlRecover",oV[oV.videoCtx2d=50033]="videoCtx2d",oV[oV["CDNStreaming.startPlugin"]=50034]="CDNStreaming.startPlugin",oV[oV["CDNStreaming.updatePlugin"]=50035]="CDNStreaming.updatePlugin",oV[oV["CDNStreaming.stopPlugin"]=50036]="CDNStreaming.stopPlugin",oV[oV["AIDenoiser.startPlugin"]=50037]="AIDenoiser.startPlugin",oV[oV["AIDenoiser.updatePlugin"]=50038]="AIDenoiser.updatePlugin",oV[oV["AIDenoiser.stopPlugin"]=50039]="AIDenoiser.stopPlugin",oV[oV["AudioMixer.startPlugin"]=50040]="AudioMixer.startPlugin",oV[oV["AudioMixer.updatePlugin"]=50041]="AudioMixer.updatePlugin",oV[oV["AudioMixer.stopPlugin"]=50042]="AudioMixer.stopPlugin",oV),dV=rV,uV=class{constructor(){sb(this,"_startTime"),sb(this,"_endTime"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=gO())}stop(){0===this._endTime&&(this._endTime=gO())}getDuration(){return 0===this._endTime?gO()-this._startTime:this._endTime-this._startTime}get endTime(){return this._endTime}},hV=class{constructor(e){sb(this,"_room",null),sb(this,"_durationMap"),sb(this,"_eventMap",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(BO.SUBSCRIBE_SUCCESS,this.handleSubscribed).set(BO.UNSUBSCRIBE_SUCCESS,this.handleStreamStopped).set(BO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:i,muteState:n}=e;var r;let{userId:o}=n;if(!this.hitTest(t))return;i.hasAudio&&!n.hasAudio&&this.stopDurationItem("".concat(o,"_","main"),MN.AUDIO),i.hasVideo&&!n.hasVideo&&this.stopDurationItem("".concat(o,"_","main"),MN.VIDEO),i.hasAuxiliary&&!n.hasAuxiliary&&this.stopDurationItem("".concat(o,"_","auxiliary"),MN.VIDEO);let s=null==(r=this._room)?void 0:r.remotePublishedUserMap.get(o);!s||(!i.hasAudio&&n.hasAudio&&s.remoteAudioTrack.isSubscribed&&this.addDuractionItem(o,MN.AUDIO,"main"),!i.hasVideo&&n.hasVideo&&s.remoteVideoTrack.isSubscribed&&this.addDuractionItem(o,MN.VIDEO,"main"),!i.hasAuxiliary&&n.hasAuxiliary&&s.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(o,MN.VIDEO,"auxiliary"))})),this._eventMap.forEach(((e,t)=>UO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>UO.off(t,e,this))),this._eventMap.clear()}handleSubscribed(e){let{room:t,streamType:i,remotePublishedUser:n}=e;if(!this.hitTest(t))return;let{userId:r}=n,o="".concat(r,"_").concat(i);if(n.muteState.hasAudio&&"main"===i)if(n.remoteAudioTrack.isSubscribed){let e=new uV,t=this._durationMap.get(o);t?this.isRecording(t.audio)||t.audio.push(e):this._durationMap.set(o,{userId:r,type:i,audio:[e],video:[]})}else this.stopDurationItem(o,MN.AUDIO);if(n.muteState.hasVideo||n.muteState.hasAuxiliary)if(n.remoteVideoTrack.isSubscribed||n.remoteAuxiliaryTrack.isSubscribed){let e=new uV,t=this._durationMap.get(o);t?this.isRecording(t.video)||t.video.push(e):this._durationMap.set(o,{userId:r,type:i,audio:[],video:[e]})}else this.stopDurationItem(o,MN.VIDEO)}handleStreamStopped(e){let{room:t,streamType:i,remotePublishedUser:n}=e;if(!this.hitTest(t))return;let{userId:r}=n,o="".concat(r,"_").concat(i);this.stopDurationItem(o,MN.AUDIO),this.stopDurationItem(o,MN.VIDEO)}isRecording(e){return e.findIndex((e=>0===e.endTime))>=0}addDuractionItem(e,t,i){let n="".concat(e,"_").concat(i),r=new uV,o=this._durationMap.get(n);o?this.isRecording(o[t])||o[t].push(r):this._durationMap.set(n,{userId:e,type:i,audio:t===MN.AUDIO?[r]:[],video:t===MN.AUDIO?[]:[r]})}stopDurationItem(e,t){if(this._durationMap.has(e)){let i=this._durationMap.get(e)[t].find((e=>0===e.endTime));i&&i.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()}},pV=class{constructor(e){sb(this,"_room"),sb(this,"_renderFreezeMap",new Map),sb(this,"_isVideoPlayingEventFiredMap",new Map),sb(this,"_dataFreezeMap",new Map),sb(this,"_monitorFreezeData",new Map),sb(this,"_eventMap",new Map),this._room=e.room,this.installEvents()}installEvents(){this._eventMap.set(BO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(BO.PLAY_TRACK_START,this.onPlayTrackStart).set(BO.UNSUBSCRIBE_SUCCESS,(e=>{let{room:t,streamType:i,remotePublishedUser:n}=e;if(!this.hitTest(t))return;let{userId:r}=n,o="".concat(r,"_").concat(i);this.stopDataFreeze({key:o,userId:r,type:i})})).set(BO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:i,muteState:n}=e;if(!this.hitTest(t))return;let{userId:r}=n;if(i.hasVideo&&!n.hasVideo){let e="main",t="".concat(n.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:r,type:e})}if(i.hasAuxiliary&&!n.hasAuxiliary){let e="auxiliary",t="".concat(n.userId,"_").concat(e);this.stopDataFreeze({key:t,userId:r,type:e})}})).set(BO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:i,reason:n,type:r}=e;if(uO(t)&&this.hitTest(t.room)&&r===MN.VIDEO){if("PLAYING"===i){let e="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}n===MN.MUTE?this.onVideoTrackMuted(t):n===MN.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(BO.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach(((e,t)=>UO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>UO.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:i}=e,n="".concat(t,"_").concat(i),r=this._dataFreezeMap.get(n),o=new uV;r?r.durationItemList.push(o):this._dataFreezeMap.set(n,{userId:t,type:i,durationItemList:[o],isFreezing(){let e=this.durationItemList[this.durationItemList.length-1];return e&&0===e.endTime}})}onVideoTrackUnmuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:i}=e,n="".concat(t,"_").concat(i);this.stopDataFreeze({key:n,userId:t,type:i})}onHearBeatReport(e){let{room:t,report:i}=e;!this.hitTest(t)||i.msg_down_stream_info.forEach((e=>{let t=this._room.remotePublishedUserMap.get(e.msg_user_info.str_identifier);if(!t)return;let{userId:i,muteState:n}=t;e.msg_video_status.forEach((e=>{2===e.uint32_video_stream_type&&n.hasVideo&&!n.videoMuted&&t.remoteVideoTrack.isSubscribed&&this.handleRenderFreeze({userId:i,fps:e.uint32_video_dec_fps,type:"main"}),7===e.uint32_video_stream_type&&n.hasAuxiliary&&t.remoteAuxiliaryTrack.isSubscribed&&this.handleRenderFreeze({userId:i,fps:e.uint32_video_dec_fps,type:"auxiliary"})}))}))}stopDataFreeze(e){let{key:t,userId:i,type:n}=e,r=this._dataFreezeMap.get(t);if(!r||!r.isFreezing())return;let o=r.durationItemList[r.durationItemList.length-1];o.stop();let s=o.getDuration();s>gD?this._monitorFreezeData.set(t,{userId:i,type:n,duration:s}):r.durationItemList.pop()}getTotalDuration(e){return e.reduce(((e,t)=>{let i=t.getDuration();return e+Math.min(i,5e3)}),0)}handleRenderFreeze(e){return cb(this,arguments,(function(e){var t=this;let{userId:i,fps:n,type:r}=e;return function*(){let e="".concat(i,"_").concat(r),o=t._renderFreezeMap.get(e);if(n<=2){let n=gO();o&&!o.isFreeze&&(o.freezeTimeline.push({startTime:n,endTime:0}),o.isFreeze=!0),o||t._renderFreezeMap.set(e,{userId:i,type:r,isFreeze:!0,freezeTimeline:[{startTime:n,endTime:0}],renderFreezeTotal:0})}else if(o&&o.isFreeze){o.isFreeze=!1;let e=o.freezeTimeline.pop();if(e){e.endTime=gO();let t=e.endTime-e.startTime;o.freezeTimeline.push(e),o.renderFreezeTotal+=Math.min(5e3,t)}}}()}))}onPlayTrackStart(e){let{track:t}=e;if(!uO(t)||!this.hitTest(t.room)||t.kind!==MN.VIDEO||t.hasFlag)return;let i="".concat(t.userId,"_").concat(t.streamType);this._isVideoPlayingEventFiredMap.has(i)||this._isVideoPlayingEventFiredMap.set(i,!1)}getDataFreezeDuration(e){let t={dataFreeze:0,count:0},i=this._dataFreezeMap.get(e);if(i){if(i.isFreezing()){let e=i.durationItemList[i.durationItemList.length-1];e.stop(),e.getDuration(){let o=null;fO([yV((e=>t.count[0]=e+1),(e=>{let{error:i,retry:n}=e;t.msg[0]=i.message,o||n()}))(SV(i,MN.MAIN),e,{get timeout(){return 1e3*eO(2+t.count[0])}}),yV((e=>t.count[1]=e+1),(e=>{let{error:i,retry:n}=e;t.msg[1]=i.message,o||n()}))(SV(i,MN.BACKUP),e,{get timeout(){return 1e3*eO(2+t.count[1])}})]).then((e=>{o=e,n(o)})).catch(r)}))}(c,e,i);d.config&&(d.config.loggerDomain&&mN(d.config.loggerDomain),aO(d.config.scheduleCache)&&fV(!d.config.scheduleCache)),e.delta=gO()-l;let u=function(e,t,i){let n=performance.getEntriesByType("resource"),r=SV(e,MN.MAIN),o=SV(e,MN.BACKUP),s={totalCost:0,local:0,dns:0,tcp:0,tls:0,request:0,response:0};for(let a of n)if(a.startTime>=i&&(a.name===r||a.name===o)&&a.transferSize>0){let e=a.name===r?MN.MAIN:MN.BACKUP,i=Math.round(a.duration),n=Math.round(a.domainLookupStart-a.startTime),o=Math.round(a.domainLookupEnd-a.domainLookupStart),c=Math.round(a.requestStart-a.secureConnectionStart),l=Math.round(a.secureConnectionStart-a.connectStart),d=Math.round(a.responseStart-a.requestStart),u=Math.round(a.responseEnd-a.responseStart),h=[n,o,c,l,d,u];Xw.uploadEvent({log:"stat-schedule-net:".concat(i,"(").concat(h.join("->"),") ").concat(e),userId:t}),s=tb(eb({},s),{totalCost:i,local:n,dns:o,tcp:l,tls:c,request:d,response:u});break}return s}(Number(i),t,l);return mV=d,{isCached:!1,result:d,detailCost:u}}catch(l){let t=lO(l)?l[0]:l,i=sO(t.code)?t.code:0,n="schedule failed".concat(t.message?": ".concat(t.message):""),r=new Tb({code:fb.SCHEDULE_FAILED,extraCode:i,message:QO({key:zO.JOIN_ROOM_FAILED,data:{error:n,code:i}})});throw jO.error(r),r}}()}))}UO.on("28",(()=>fV(!0))),UO.on("63",(()=>fV(!0))),UO.on("84",(()=>fV(!0))),UO.on("201",(e=>{"RECONNECTING"===e.state&&fV(!0)})),UO.on("202",(e=>{"RECONNECTING"===e.state&&fV(!0)}));var TV={main:"",backup:""};function EV(e){lO(e)?(TV.main=e[0],TV.backup=e[1]):TV.main=e}function SV(e){let t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:MN.MAIN;return t=BD(e)?i===MN.MAIN?yD.MAIN_OVERSEA:yD.BACKUP_OVERSEA:i===MN.MAIN?yD.MAIN:yD.BACKUP,"https://".concat(TV[i]||t,"/api/v1/config")}function IV(e,t,i){return new Promise(((n,r)=>{LO({url:e,body:t,timeout:i.timeout}).then((e=>{0===e.data.code?n(e.data.data):r({code:e.data.code,message:e.data.msg})})).catch(r)}))}var yV=(e,t)=>xO({retryFunction:IV,settings:{retries:3,timeout:0},onError:t,onRetrying:e}),vV=rb(lb(),1),AV=[-1,-1,-1,1,1,-1,1,1],RV=[0,0,0,1,1,0,1,1],CV=class extends Ww{constructor(e,t){super(),this.context=e,sb(this,"name"),sb(this,"input"),sb(this,"output"),sb(this,"texture"),sb(this,"image"),sb(this,"ctx2d",null),sb(this,"fbo"),sb(this,"width",0),sb(this,"height",0),sb(this,"x",0),sb(this,"y",0),sb(this,"program"),sb(this,"vertexShader"),sb(this,"fragmentShader"),sb(this,"totalFrames",0),sb(this,"dropFrames",0),sb(this,"matchInputSize",!0),sb(this,"texCoordBuffer"),sb(this,"positionBuffer"),sb(this,"lastInfo",{timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),sb(this,"_canvas",null),this.context.once("disconnect",(()=>{"closed"!==this.state&&this.close()})),this.name=t.name,this.matchInputSize=!1!==t.matchInputSize,this.width=t.width||e.width,this.height=t.height||e.height;let i=e._gl;if(i)try{!1!==t.createTexture&&(this.texture=i.createTexture()),this.texCoordBuffer=this.createBuffer(RV),this.positionBuffer=this.createBuffer(AV),this.useTexture((()=>{i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE)})),t.useFbo&&(this.fbo=i.createFramebuffer(),this.useBufferFrame((()=>{this.useTexture((()=>{i.texImage2D(i.TEXTURE_2D,0,i.RGBA,this.width,this.height,0,i.RGBA,i.UNSIGNED_BYTE,null),i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,this.texture,0)}))}))),t.useDefaultProgram&&(this.program=this.context.defaultProgam),t.vertexShaderSource&&t.fragmentShaderSource&&(this.vertexShader=e.createShader(i.VERTEX_SHADER,t.vertexShaderSource),this.fragmentShader=e.createShader(i.FRAGMENT_SHADER,t.fragmentShaderSource),this.program=e.createProgram(this.vertexShader,this.fragmentShader))}catch(r){this.context.destroy("".concat(this.name," init failed"),r)}else if(e.ctx2d&&t.create2d){let e=document.createElement("canvas"),t="function"==typeof e.transferControlToOffscreen?e.transferControlToOffscreen():e;t.width=this.width,t.height=this.height,this.ctx2d=t.getContext("2d"),this.image=t,this._canvas=t}}connect(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;ni.texImage2D(i.TEXTURE_2D,0,i.RGBA,e,t,0,i.RGBA,i.UNSIGNED_BYTE,null))),this.output&&this.output.matchInputSize&&this.output.resize(e,t))}draw2d(e,t,i,n,r){return!(!this.ctx2d||!e)&&(e instanceof ImageData?this.ctx2d.putImageData(e,t,i):this.ctx2d.drawImage(e,t,i,n,r),!0)}getInfo(){var e;let{totalFrames:t,x:i,y:n,width:r,height:o}=this,s=Date.now(),a=(t-this.lastInfo.totalFrames)/((s-this.lastInfo.timestamp)/1e3)>>0;return this.lastInfo={totalFrames:t,x:i,y:n,width:r,height:o,timestamp:s,fps:a},eb({parent:null==(e=this.input)?void 0:e.getInfo()},this.lastInfo)}};ob([Hw(Ww.INIT,"connected")],CV.prototype,"connect",1),ob([Hw("connected",Ww.INIT,{ignoreError:!0})],CV.prototype,"disconnect",1),ob([Hw([],"closed")],CV.prototype,"close",1);var bV=[0,1,0,0,1,1,1,0],kV=class extends CV{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:"destination"},t)),sb(this,"_intervalId",0),sb(this,"_sequence",0),e._gl?this.setTexBuffer(bV):e.ctx2d&&(this.ctx2d=e.ctx2d)}start(e){this._intervalId=Yw.run("intervalInWorker",(()=>{e!==this.context.frameRate&&(Yw.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++);let t=this.context._gl;t&&t.getError()!==t.NO_ERROR&&this.context.destroy("".concat(this.name," req ").concat(this._sequence," render ").concat(this.totalFrames," faild ").concat(t.getError()))}),{fps:this.context.frameRate})}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useInputTexture((e=>{this.setAttributes({a_position:this.positionBuffer,a_texCoord:this.texCoordBuffer}),e.drawArrays(e.TRIANGLE_STRIP,0,4)})),!0)}addInput(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n{let t=()=>this._videoTrack.removeEventListener(e,i),i=()=>{t(),this.context.destroy("video track ".concat(e))};this.once("closed",t),this._videoTrack.addEventListener(e,i)};e._gl&&i("mute"),i("ended")}get videoTrack(){return this._videoTrack}close(){super.close(),this._videoTrack.stop()}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}},DV=class extends NV{constructor(e,t){super(e,{name:"smallDestination"}),this.resolution=t}resize(e,t){let i,n=e*t,r=this.resolution.width*this.resolution.height;jO.info("big res: ".concat(e,"*").concat(t," small res: ").concat(this.resolution.width,"*").concat(this.resolution.height," ")),n>r?i=n/r:(jO.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)),i=n/19200),super.resize(e/Math.sqrt(i),t/Math.sqrt(i))}},OV=class extends CV{constructor(e,t){super(e,{name:"imageSource"}),this.image=t,sb(this,"_image"),sb(this,"_totalFrames",0)}_render(e,t){let{width:i,height:n}=this;if(this.image instanceof HTMLVideoElement){if(nO(this.image.getVideoPlaybackQuality)&&!Bk){let e=this.image.getVideoPlaybackQuality().totalVideoFrames;if(this._totalFrames===e)return!1;this._totalFrames=e,this.dropFrames=this._totalFrames-this.totalFrames}({videoWidth:i,videoHeight:n}=this.image)}else if(this.image instanceof HTMLImageElement||this.image instanceof ImageData||this.image instanceof ImageBitmap){if(({width:i,height:n}=this.image),this.image!==this._image)this._image=this.image;else if(i===this.width&&n===this.height)return!1}else(this.image instanceof HTMLCanvasElement||this.image instanceof OffscreenCanvas)&&(({width:i,height:n}=this.image),this._image=this.image);return this.width===i&&this.height===n&&this.totalFrames?t&&this.useTexture((e=>{e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,this.image)})):(t&&this.useTexture((e=>{e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image)})),this.resize(i,n)),!0}render(e){return this._render(e,!0)}render2d(e){return this._render(e,!1)}},wV=class extends OV{constructor(e,t){super(e,document.createElement("video")),this._videoTrack=t,sb(this,"_mediaStream"),this.name="videoTrackSource",this._mediaStream=new MediaStream([t]),this.image.srcObject=this._mediaStream,this.image.play()}replaceTrack(e){var t,i;this._videoTrack!==e&&(null==(t=this._mediaStream)||t.removeTrack(this._videoTrack),this._videoTrack=e,null==(i=this._mediaStream)||i.addTrack(this._videoTrack),this.image.play())}close(){super.close(),delete this._mediaStream,this.image.srcObject=null}},PV=class extends Ww{constructor(e){super(),sb(this,"frameRate"),sb(this,"_canvas"),sb(this,"_gl"),sb(this,"ctx2d"),sb(this,"defaultProgam"),sb(this,"log"),sb(this,"hasAlpha",!1),sb(this,"glFaild",!1),sb(this,"name"),this.name=e.name,this.log=e.logger.createChild({id:"vc-".concat(this.name)}),this.frameRate=e.frameRate}create(e){if(this.glFaild=!1,this.hasAlpha=e.alpha,this._canvas=document.createElement("canvas"),e.use2d)return this.ctx2d=this._canvas.getContext("2d",{alpha:e.alpha}),void this.log.info("video context created use 2d");let t=this._canvas.getContext("webgl",{alpha:e.alpha});if(t){this._gl=t;try{let e=this.createShader(t.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"),i=this.createShader(t.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(e,i),t.enable(t.BLEND),t.blendFunc(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA),this._canvas.addEventListener("webglcontextlost",(()=>{this.destroy("webglcontextlost")})),this.log.info("video context created use webgl")}catch(cN){return this.log.warn("video context create faild use webgl"),cN}}else this.ctx2d=this._canvas.getContext("2d"),this.ctx2d&&this.log.info("video context created downgrade to 2d");!this.ctx2d&&!this._gl&&delete this._canvas}get available(){return!!this._canvas}createVideoTrackSource(e){return new wV(this,e)}createVideoTrackDestination(e){return new NV(this,e)}createVideoImageSource(e){return new OV(this,e)}set width(e){var t;null==(t=this._gl)||t.viewport(0,0,e,this.height),this._canvas&&(this._canvas.width=e)}get width(){var e;return(null==(e=this._canvas)?void 0:e.width)||0}set height(e){var t;null==(t=this._gl)||t.viewport(0,0,this.width,e),this._canvas&&(this._canvas.height=e)}get height(){var e;return(null==(e=this._canvas)?void 0:e.height)||0}setSize(e,t){var i;null==(i=this._gl)||i.viewport(0,0,e,t),this._canvas&&(this._canvas.width=e,this._canvas.height=t)}disconnect(){this.emit("disconnect")}destroy(e,t){var i;return this.disconnect(),this.log.info("video context destroy ".concat(e?":".concat(e):"")),null==(i=this._gl)||i.deleteProgram(this.defaultProgam),delete this._gl,delete this.ctx2d,this._canvas&&(this._canvas.remove(),this._canvas.width=0,this._canvas.height=0,delete this._canvas),[e,t]}createShader(e,t){let i=this._gl,n=i.createShader(e);return i.shaderSource(n,t),i.compileShader(n),n}createProgram(e,t){let i=this._gl,n=i.createProgram();return i.attachShader(n,e),i.attachShader(n,t),i.linkProgram(n),n}useTexture(e,t,i){let n=this._gl;n.activeTexture(n.TEXTURE0+(i||0)),n.bindTexture(n.TEXTURE_2D,e),t(n),n.bindTexture(n.TEXTURE_2D,null)}};ob([Hw(Ww.INIT,"created")],PV.prototype,"create",1),ob([Hw("created",Ww.INIT,{ignoreError:!0,success(e){e[0]&&(this.glFaild=!0,this.emit("unavailable",...e)),this.removeAllListeners()}})],PV.prototype,"destroy",1);var LV=[1,0,1,1,0,0,0,1],MV=class extends CV{constructor(e){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:"mirror"}),e._gl)try{this.setTexBuffer(LV)}catch(aN){e.destroy("mirror set texCoords faild",aN)}else this.ctx2d&&setTimeout((e=>{e.scale(-1,1),e.translate(-this.width,0)}),0,this.ctx2d)}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame((()=>{this.useInputTexture((e=>{this.setAttributes({a_position:this.positionBuffer,a_texCoord:this.texCoordBuffer}),e.drawArrays(e.TRIANGLE_STRIP,0,4)}))})),!0)}},xV=class{constructor(e,t){this.node=e,this.layout=t,sb(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}},VV=class extends CV{constructor(e){super(e,{useDefaultProgram:!0,useFbo:!0,name:"mix",create2d:!0}),sb(this,"inputs",[])}addInput(e,t){if(this.inputs[t.zIndex])throw new Error("input already exists");let i=new xV(e,t);this.inputs[t.zIndex]=i}resize(e,t){let i=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(i.width,i.height),this.context._gl&&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,i=new Array(t>1?t-1:0),n=1;n(null==t?void 0:t.node)===e))]=void 0}render(e){let t=this.context._gl;return!(this.inputs.reduce(((t,i)=>(!i||!i.node.requestFrame(e))&&t),!0)||!t)&&(this.useProgram(),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT),this.setAttributes({a_texCoord:this.texCoordBuffer}),this.useBufferFrame((()=>{for(let e=0;e{this.setAttributes({a_position:t.positionBuffer}),e.drawArrays(e.TRIANGLE_STRIP,0,4)}))}})),!0)}render2d(e){if(!this.inputs.reduce(((t,i)=>(!i||!i.node.requestFrame(e))&&t),!0)&&this.ctx2d){this.ctx2d.clearRect(0,0,this.width,this.height);for(let e=0;e>0;return this.lastInfo={totalFrames:e,x:t,y:i,width:n,height:r,timestamp:o,fps:s},eb({parent:this.inputs.filter((e=>e)).map((e=>e.node.getInfo()))},this.lastInfo)}close(){super.close(),this.inputs.forEach((e=>{var t;if(e&&(null==(t=e.node)||t.disconnect(),e.positionBuffer&&this.context._gl))try{this.context._gl.deleteBuffer(e.positionBuffer)}catch(cN){}}))}},UV=class extends vV.EventEmitter{constructor(e){let{room:t}=e;super(),sb(this,"videoContext"),sb(this,"destination"),sb(this,"smallVideoContext"),sb(this,"smallDestination"),sb(this,"smallTrackSource"),sb(this,"smallImageSource"),sb(this,"_isMirror",!1),sb(this,"cameraTrack"),sb(this,"cameraNode"),sb(this,"waterMarkNode"),sb(this,"mirrorNode"),sb(this,"mixNode"),sb(this,"screenTrack"),sb(this,"screenNode"),sb(this,"_isMixScreen",!1),sb(this,"_hasWaterMark",!1),sb(this,"_log"),sb(this,"_checkId",0),sb(this,"_room"),sb(this,"_use2d",!0),sb(this,"_waterMarkOption"),sb(this,"_isOpenVirtualBackground",!1),sb(this,"_virtualBackgroundTrack"),sb(this,"virtualBackgroundInstance"),this._room=t,this._log=jO.createLogger({id:"vm",userId:t.userId,sdkAppId:t.sdkAppId}),this.videoContext=new PV({frameRate:15,logger:this._log,name:"m"}),this.videoContext.on("unavailable",((e,t)=>{this.emit("error",{reason:e,error:t}),this._log.warn("video context unavailable",e,t,"glFaild:".concat(this.videoContext.glFaild)),UO.emit("262",{room:this._room,apiName:"videoCtxGl",error:t||new Error(e)}),this.update()})),this.smallVideoContext=new PV({frameRate:15,logger:this._log,name:"s"}),this.enablePrintDetail()}get renderMode(){return this._use2d?"2d":"webgl"}set renderMode(e){let t="2d"===e;this._use2d!==t&&(this._use2d=t,this.videoContext&&(this.clear(),this.videoContext.destroy(),this.videoContext.create({alpha:this._hasWaterMark,use2d:this._use2d}),this.update()))}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=Yw.run(MD,(()=>{this.destination&&this._log.debug(this.destination.getInfo())}),{delay:e})}destroy(){this.videoContext.destroy(),this.smallVideoContext.destroy(),Yw.clearTask(this._checkId)}get active(){return(zk&&Jk||this._isMixScreen||this._isMirror||this._hasWaterMark)&&this.checkOrCreateVideoContext()}sendCreateResult(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"videoCtxGl",t=arguments.length>1?arguments[1]:void 0;UO.emit("262",{room:this._room,apiName:e,error:t})}checkOrCreateVideoContext(){if(this.videoContext.available){if(this.videoContext.hasAlpha||!this._hasWaterMark)return!0;this.clear(),this.videoContext.destroy()}else this.videoContext.glFaild&&(this.clear(),this._use2d=!0);let e=this.videoContext.create({alpha:this._hasWaterMark,use2d:this._use2d});return this.videoContext._gl?this.sendCreateResult():(this._use2d||(this.emit("error",{reason:"create",error:e}),this.sendCreateResult("videoCtxGl",e)),this.sendCreateResult("videoCtx2d",this.videoContext.ctx2d?void 0:new Error("create 2d context failed"))),this.videoContext.available}get smallTrack(){return this.smallDestination.videoTrack}get hasSmall(){return!!this.smallTrackSource||!!this.smallImageSource}get initialTrack(){var e;return this._isOpenVirtualBackground&&this._virtualBackgroundTrack?this._virtualBackgroundTrack:null==(e=this.cameraTrack)?void 0:e.mediaTrack}_setMainOutput(e){let t=this.cameraTrack,{small:i,settings:n}=t;return i&&(this.smallVideoContext.available||(this.smallVideoContext.create({alpha:!1,use2d:!0}),this.smallDestination=new DV(this.smallVideoContext,i)),this.smallVideoContext.frameRate=i.frameRate,this.smallDestination.resolution=i,e?(this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource),this.smallImageSource?this.smallImageSource.image=e:(this.smallImageSource=this.smallVideoContext.createVideoImageSource(e),this.smallImageSource.connect(this.smallDestination))):(this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource?this.smallTrackSource.replaceTrack(this.initialTrack):(this.smallTrackSource=this.smallVideoContext.createVideoTrackSource(this.initialTrack),this.smallTrackSource.width=n.width,this.smallTrackSource.height=n.height,this.smallTrackSource.connect(this.smallDestination)))),t.setOutputMediaStreamTrack(e?this.destination.videoTrack:this.initialTrack)}update(){return cb(this,null,(function*(){var e,t;if(!this.cameraTrack||!this.cameraTrack.mediaTrack)return;if(!this.active)return this.cameraNode&&this.clear(),this._setMainOutput();{let{settings:e,profile:t}=this.cameraTrack;this.destination||(this.destination=this.videoContext.createVideoTrackDestination({name:"mainDestination"})),this.cameraNode?this.cameraNode.replaceTrack(this.initialTrack):(this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack),this.cameraNode.resize(e.width,e.height)),this.videoContext.frameRate=t.frameRate}let i=this.cameraNode;return i.disconnect(),this._isMirror&&(this.mirrorNode||(this.mirrorNode=new MV(this.videoContext)),i=i.connect(this.mirrorNode),i.disconnect(),this._log.info("start mirror")),this.mixNode&&this.mixNode.close(),delete this.mixNode,(this._isMixScreen||this._hasWaterMark)&&(this.mixNode=new VV(this.videoContext),i.connect(this.mixNode,{zIndex:1}),this._hasWaterMark&&!this.waterMarkNode&&this._waterMarkOption&&(this.waterMarkNode=this.videoContext.createVideoImageSource(this._waterMarkOption.image),this.waterMarkNode.resize(this._waterMarkOption.width,this._waterMarkOption.height),this.waterMarkNode.x=this._waterMarkOption.x,this.waterMarkNode.y=this._waterMarkOption.y),null==(e=this.waterMarkNode)||e.connect(this.mixNode,{zIndex:2}),this.screenTrack&&!this.screenNode&&(this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack)),null==(t=this.screenNode)||t.connect(this.mixNode,{zIndex:0}),i=this.mixNode,this._log.info("start mix","".concat(this.mixNode.width,"x").concat(this.mixNode.height))),i.connect(this.destination),this._setMainOutput(this.videoContext._canvas)}))}changeInput(e,t){return this._log.info("change input"),e instanceof lL?this.setScreenTrack(e):e instanceof aL?this.setCameraTrack(e):e instanceof bL?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}removeInput(e){var t;e instanceof lL?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof aL&&(this.clear(),delete this.cameraTrack,this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource))}setCameraTrack(e){return cb(this,null,(function*(){return this.cameraTrack=e,this._isOpenVirtualBackground&&(yield this.updateAr()),this.update()}))}setScreenTrack(e){return this.screenTrack=e,this._isMixScreen&&(this.screenNode?this.screenNode.replaceTrack(e.mediaTrack):this.update()),e.setOutputMediaStreamTrack(e.mediaTrack)}loadImage(e){return new Promise(((t,i)=>{let n=new Image;n.crossOrigin="anonymous",n.src=e,n.onload=()=>t(n),n.onerror=i}))}setWatermark(e){return cb(this,null,(function*(){let t=yield this.loadImage(e.imageUrl),{x:i=0,y:n=0,width:r=t.width,height:o=t.height}=e;this._hasWaterMark=!0,this._waterMarkOption={x:i,y:n,width:r,height:o,image:t},this._log.info("start watermark",JSON.stringify({x:i,y:n,width:r,height:o})),this.update()}))}stopWatermark(){var e;!this._hasWaterMark||(this._hasWaterMark=!1,this._log.info("stop watermark"),null==(e=this.waterMarkNode)||e.close(),delete this.waterMarkNode,this.update())}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||(null==(t=this.mirrorNode)||t.close(),delete this.mirrorNode),this.update()}get mirror(){return this._isMirror}enableAr(e){return cb(this,null,(function*(){this.virtualBackgroundInstance=e,this._isOpenVirtualBackground=!0,this.virtualBackgroundInstance.ar.enable(this.cameraTrack.mediaTrack.clone()),this.virtualBackgroundInstance.ar.listen("output",this.handleArOutput.bind(this))}))}handleArOutput(e){this._virtualBackgroundTrack=e,this.update()}updateAr(){return cb(this,null,(function*(){var e;null==(e=this.cameraTrack)||!e.mediaTrack||(yield this.virtualBackgroundInstance.ar.updateInputTrack(this.cameraTrack.mediaTrack.clone()))}))}disableAr(){var e;!this._isOpenVirtualBackground||(this._isOpenVirtualBackground=!1,null==(e=this._virtualBackgroundTrack)||e.stop(),this._virtualBackgroundTrack=null,this.update())}clear(){this.videoContext.disconnect(),delete this.destination,delete this.cameraNode,delete this.mirrorNode,delete this.screenNode,delete this.waterMarkNode}},FV=0,BV=class extends Ww{constructor(e){super("room"),this.seq=++FV,this.role="anchor",this.localTracks=new Set,this.enableAutoPlayDialog=!0,this.autoReceiveAudio=!0,this.autoReceiveVideo=!0,this.scheduleResult={domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null},this._isUsingCachedSchedule=!1,this._log=jO.createLogger({id:"r".concat(this.seq)}),this._joinedTimestamp=0,this._isDestroyed=!1,this.useStringRoomId=!!e.useStringRoomId,aO(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),aO(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),aO(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this.keyPointManager=new dV({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new hV({room:this}),this.badCaseDetector=new pV({room:this}),this.audioManager=new vL({room:this}),this.videoManager=new UV({room:this})}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}getLogger(){return this._log}get isJoined(){return"joined"===this.state}get isLeft(){return"left"===this.state}addTrack(e){return cb(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return cb(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return cb(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAIVoice(e){throw new Error("Method not implemented.")}setProxyServer(e){if(oO(e))e.startsWith("wss://")?this.proxy_ws=e:e.startsWith("https://")&&(this.proxy_wt=e);else if(ZD(e)){let{websocketProxy:t,webtransportProxy:i,loggerProxy:n,scheduleProxy:r,unifiedProxy:o}=e;this.proxy_ws=t,this.proxy_wt=i,this.proxy_unified=o,o?(EV([o,o]),mN("https://".concat(o))):(n&&mN(n),r&&EV(r))}}getRemoteAudioStats(){return cb(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return cb(this,null,(function*(){var e;let t={rtt:(null==(e=this.quality)?void 0:e.uplinkRTT)||0,downlinksRTT:{}};if(this.quality)for(let i of this.quality.downlinkInfo)t.downlinksRTT[i.userId]=i.rtt;return t}))}getRemoteVideoStats(){return cb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"main";return function*(){let i={};return e.remotePublishedUserMap.forEach((e=>{let n="auxiliary"===t?e.remoteAuxiliaryTrack:e.remoteVideoTrack;i[e.userId]=n.stat})),i}()}))}checkDestroy(){if(this._isDestroyed)throw new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.CLIENT_DESTROYED,data:{funName:"join"}})})}destroy(){if(this.isJoined)throw this._log.warn(KO.INVALID_DESTROY),new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.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,UO.emit(BO.ROOM_DESTROY,{room:this})}schedule(e,t,i){return cb(this,null,(function*(){var n,r;let o=gO();try{let{isCached:s,result:a,detailCost:c}=yield gV({userId:this.userId,sdkAppId:this.sdkAppId,roomId:e,useStringRoomId:this.useStringRoomId,version:i,userSig:this.userSig,frameWorkType:t});this._isUsingCachedSchedule=s,this._log.info("schedule cache:".concat(+s," ").concat(OO(a,{keysToExclude:["username","credential"]}))),s&&UO.once(BO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=eb(eb({},this.scheduleResult),a),sO(null==(n=a.config)?void 0:n.retryCount)&&oD(a.config.retryCount),oO(null==(r=a.config)?void 0:r.loggerDomain)&&mN(a.config.loggerDomain),UO.emit(BO.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:c}),UO.emit(BO.API_SUCCESS_RATE,{room:this,apiName:"schedule",cost:gO()-o})}catch(a){throw UO.emit(BO.API_SUCCESS_RATE,{room:this,apiName:"schedule",error:a}),a}}))}},HV=new WeakMap,jV=new WeakMap;function GV(){return function(e,t,i){let n=i.value,r=e=>{let{fn:t,args:i,context:n,resolve:r,reject:o}=e;t.apply(n,i).then(r,o)};return i.value=function(){for(var e=arguments.length,t=new Array(e),i=0;i{if(HV.has(this)){let o=HV.get(this),{length:s}=o;o.push({fn:n,args:t,context:this,resolve:e,reject:i}),0===s&&r({fn:n,args:t,context:this,resolve:e,reject:i})}else HV.set(this,[{fn:n,args:t,context:this,resolve:e,reject:i}]),r({fn:n,args:t,context:this,resolve:e,reject:i})})).finally((()=>{let e=HV.get(this);e&&(e.shift(),e[0]&&r(eb({},e[0])))}))},i}}function WV(e){return function(t,i,n){let r=n.value,o=t=>sO(e)?t[e]:e(...t),s=e=>{let{fn:t,args:i,context:n,resolve:r,reject:a}=e;t.apply(n,i).then(r,a).finally((()=>{if(jV.has(n)&&jV.get(n).has(o(i))){let e=jV.get(n).get(o(i));e&&(e.shift(),e[0]&&s(eb({},e[0])))}}))};return n.value=function(){for(var e=arguments.length,t=new Array(e),i=0;i{if(jV.has(this))if(jV.get(this).has(o(t))){let n=jV.get(this).get(o(t));if(n){let{length:o}=n;n.push({fn:r,args:t,context:this,resolve:e,reject:i}),0===o&&s({fn:r,args:t,context:this,resolve:e,reject:i})}}else jV.get(this).set(o(t),[{fn:r,args:t,context:this,resolve:e,reject:i}]),s({fn:r,args:t,context:this,resolve:e,reject:i});else{let n=new Map;n.set(o(t),[{fn:r,args:t,context:this,resolve:e,reject:i}]),jV.set(this,n),s({fn:r,args:t,context:this,resolve:e,reject:i})}}))},n}}var JV,zV=rb(lb()),KV=rb(pb()),qV=e=>{let{serverAbility:t,clientAbility:i,offerSDP:n,enableCustomMessage:r}=e,o=Hx(n),s={extmapAllowMixed:"extmap-allow-mixed",groups:o.groups,icelite:"ice-lite",media:[],msidSemantic:{semantic:"",token:"WMS"},name:"-",origin:{address:"127.0.0.1",username:"-",sessionId:String(Date.now()),sessionVersion:1,netType:"IN",ipVer:4},timing:{start:0,stop:0},version:0},a={candidates:t.candidates.map((e=>({component:1,foundation:"1",generation:0,ip:e.ip,port:e.port,priority:e.priority,transport:e.foundation,type:e.type}))),connection:{version:4,ip:"0.0.0.0"},direction:MN.TRANSCEIVER_DIRECTION_RECVONLY,ext:t.audio.extensions.map((e=>({value:e.id,uri:e.uri}))),fingerprint:{type:t.dtls.hash,hash:t.dtls.fingerprint},fmtp:[{payload:t.audio.codecs[0].payload,config:t.audio.codecs[0].fmtp}],icePwd:t.ice.password,iceUfrag:t.ice.ufrag,mid:"0",payloads:String(t.audio.codecs[0].payload),port:o.media[0].port,protocol:o.media[0].protocol,type:MN.AUDIO,setup:t.dtls.setup,rtcpFb:t.audio.codecs[0].rtcpfb.map((e=>({payload:t.audio.codecs[0].payload,type:e.id,subtype:e.params[0]}))),rtcpMux:"rtcp-mux",rtcpRsize:"rtcp-rsize",rtp:[{payload:t.audio.codecs[0].payload,codec:t.audio.codecs[0].codec,rate:t.audio.codecs[0].rate,encoding:t.audio.codecs[0].channels}]};return s.media.push(a),[1,2,3].forEach((e=>{s.media.push(YV({mid:e,serverAbility:t,clientAbility:i,parsedOffer:o}))})),r&&s.media.push(o.media.find((e=>"dc"===e.mid))),jx(s)},YV=e=>{let{mid:t,serverAbility:i,clientAbility:n,parsedOffer:r,useAllCodec:o=!1}=e,s={candidates:i.candidates.map((e=>({component:1,foundation:"1",generation:0,ip:e.ip,port:e.port,priority:e.priority,transport:e.foundation,type:e.type}))),connection:{version:4,ip:"0.0.0.0"},direction:MN.TRANSCEIVER_DIRECTION_RECVONLY,ext:i.video.extensions.map((e=>({value:e.id,uri:e.uri}))),fingerprint:{type:i.dtls.hash,hash:i.dtls.fingerprint},fmtp:[],icePwd:i.ice.password,iceUfrag:i.ice.ufrag,mid:String(t),payloads:"",port:r.media[0].port,protocol:r.media[0].protocol,type:MN.VIDEO,setup:i.dtls.setup,rtcpFb:[],rtcpMux:"rtcp-mux",rtcpRsize:"rtcp-rsize",rtp:[]};if(i.video.codecs.length>0)if(o)for(let a=0;ae.codec.toLowerCase()===(i.useVp8?"vp8":"h264")));QV(s,i.video.codecs[e])}else if(o)for(let a=0;a{e.payloads="".concat(e.payloads," ").concat(t.payload),e.fmtp.push({payload:t.payload,config:t.fmtp}),e.rtcpFb=[...e.rtcpFb||[],...(t.rtcpfb||t.rtcpFb).map((e=>({payload:t.payload,type:e.id,subtype:e.params[0]})))],e.rtp.push({payload:t.payload,codec:t.codec.toUpperCase(),rate:t.rate}),t.rtx&&(e.payloads="".concat(e.payloads," ").concat(t.rtx),e.fmtp.push({payload:t.rtx,config:"apt=".concat(t.payload)}),e.rtp.push({payload:t.rtx,codec:"rtx",rate:t.rate}))},XV=e=>{let t=KV.default.parse(e);return t.media.forEach((e=>{var i;(e.type===MN.AUDIO||e.type===MN.VIDEO)&&(function(e){if(!e.rtcpFb)return;let t=[];e.rtcpFb.forEach(((i,n)=>{var r;t.push(i),e.rtcpFb&&(null==(r=e.rtcpFb[n+1])?void 0:r.payload)!==i.payload&&"rrtr"!==i.type&&t.push({payload:i.payload,type:"rrtr"})})),e.rtcpFb=t}(e),function(e){e.type===MN.VIDEO&&e.fmtp&&e.fmtp.forEach((e=>{e.config.includes("apt")||(e.config+=";sps-pps-idr-in-keyframe=1")}))}(e),function(e){e.type===MN.AUDIO&&e.fmtp&&e.fmtp.forEach((e=>{e.config+=";sprop-stereo=1;stereo=1"}))}(e),function(e){let t=new Set(["urn:ietf:params:rtp-hdrext:sdes:mid","urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id","urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id"]);e.ext&&(e.ext=e.ext.filter((e=>!t.has(e.uri))))}(e)),(null==(i=e.payloads)?void 0:i.includes("datachannel"))&&t.groups&&e.mid&&(t.groups[0].mids=t.groups[0].mids.replace(e.mid,"dc"),e.mid="dc")})),KV.default.write(t)},$V=((JV=$V||{}).TRACK="track",JV.DATA_CHANNEL_MESSAGE="data_channel_msg",JV[JV.CONNECTION_STATE_CHANGED="connection-state-changed"]="CONNECTION_STATE_CHANGED",JV[JV.FIREWALL_RESTRICTION="firewall-restriction"]="FIREWALL_RESTRICTION",JV.RECONNECTED="spc-reconnected",JV.RECONNECT_FAILED="spc-reconnect-failed",JV.ERROR="error",JV),ZV=0,eU=!1,tU=new Set,iU=1,nU=class extends zV.default{constructor(e){let{signalChannel:t,room:i,enableCustomMessage:n}=e;super(),sb(this,"stat",{iceStartTime:0,iceEndTime:0,dtlsStartTime:0,dtlsEndTime:0,peerConnectionStartTime:0,peerConnectionEndTime:0}),sb(this,"currentState","DISCONNECTED"),sb(this,"_room"),sb(this,"_signalChannel"),sb(this,"_peerConnection",null),sb(this,"_datachannel",null),sb(this,"_enableCustomMessage"),sb(this,"_log"),sb(this,"_downlinkMIDMap",new Map),sb(this,"_reconnectionTimer",-1),sb(this,"reconnectionCount",0),sb(this,"_clientAbility",null),sb(this,"_serverAbility",null),sb(this,"addDownlinkQueue",new Set),sb(this,"removeDownlinkQueue",new Set),sb(this,"_parsedAnswer",null),sb(this,"_updateSDPPromise",null),sb(this,"_waitForPCConnectedPromise"),sb(this,"_waitForPCConnectedPromiseReject",null),sb(this,"_isSDPLogged",!1),this._room=i,this._enableCustomMessage=n,this._signalChannel=t,this._log=jO.createLogger({id:"spc".concat(iU++),userId:this._room.userId,sdkAppId:this._room.sdkAppId})}get isH264EncodeSupported(){let e=this._room.checkSystemResult.detail.isH264EncodeSupported;return this._serverAbility&&(e=e&&!!this._serverAbility.video.codecs.find((e=>"h264"===e.codec.toLowerCase()))),e}get isVP8EncodeSupported(){let e=this._room.checkSystemResult.detail.isVp8EncodeSupported;return this._serverAbility&&(e=e&&this._serverAbility.useVp8),e}get uplinkSSRC(){return this._peerConnection&&this._peerConnection.localDescription?(e=>{let t=Hx(e),i={audioSsrc:0,audioRtxSsrc:0,bigVideoSsrc:0,bigVideoRtxSsrc:0,smallVideoSsrc:0,smallVideoRtxSsrc:0,auxVideoSsrc:0,auxVideoRtxSsrc:0};return t.media.forEach(((e,t)=>{var n;if(e.ssrcs&&!rO(e.ssrcs[0].id)){let r=Number(e.ssrcs[0].id),o=Number(null==(n=e.ssrcs.filter((e=>"cname"===e.attribute))[1])?void 0:n.id);switch(t){case 0:i.audioSsrc=r;break;case 1:i.bigVideoSsrc=r,i.bigVideoRtxSsrc=o;break;case 2:i.smallVideoSsrc=r,i.smallVideoRtxSsrc=o;break;case 3:i.auxVideoSsrc=r,i.auxVideoRtxSsrc=o}}})),i})(this._peerConnection.localDescription.sdp):{audioSsrc:0,audioRtxSsrc:0,bigVideoSsrc:0,bigVideoRtxSsrc:0,smallVideoSsrc:0,smallVideoRtxSsrc:0,auxVideoSsrc:0,auxVideoRtxSsrc:0}}get isReconnecting(){return"RECONNECTING"===this.currentState||this._reconnectionTimer>0||this.reconnectionCount>0}get dtlsTransport(){if(!this._peerConnection)return null;let e=this._peerConnection.getSenders();return 0===e.length?null:e[0].transport}initialize(){return cb(this,null,(function*(){try{this._peerConnection=new RTCPeerConnection({offerExtmapAllowMixed:!0,iceServers:this._room.getIceServers(),iceTransportPolicy:this._room.getIceTransportPolicy(),sdpSemantics:this._room.sdpSemantics,bundlePolicy:"max-bundle",rtcpMuxPolicy:"require",tcpCandidatePolicy:"disable",IceTransportsType:"nohost"}),this._peerConnection.oniceconnectionstatechange=()=>{if(!this._peerConnection)return;let e=this._peerConnection.iceConnectionState;this._log.debug("ice state: ".concat(e)),"checking"===e&&0===this.stat.iceStartTime?this.stat.iceStartTime=Date.now():"connected"===e&&0===this.stat.iceEndTime&&(this.stat.iceEndTime=Date.now())},this._peerConnection.onconnectionstatechange=this.onConnectionStateChange.bind(this),this._peerConnection.ontrack=e=>this.emit("track",e),this._enableCustomMessage&&(this._datachannel=this._peerConnection.createDataChannel("".concat(this._room.userId,"dc")),this._datachannel.binaryType="arraybuffer",this._datachannel.onopen=()=>{this._log.info("datachannel open")},this._datachannel.onclose=()=>{this._log.warn("datachannel close")},this._datachannel.onmessage=e=>{let t=new oU(e.data);this.emit("data_channel_msg",{data:t})},this._datachannel.onerror=e=>{this._log.warn("datachannel error",e)}),this._peerConnection.addTransceiver(MN.AUDIO,{direction:MN.TRANSCEIVER_DIRECTION_SENDONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:MN.TRANSCEIVER_DIRECTION_SENDONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:MN.TRANSCEIVER_DIRECTION_SENDONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:MN.TRANSCEIVER_DIRECTION_SENDONLY});let e=yield this._peerConnection.createOffer();return yield this.setOffer(e),this.dtlsTransport&&(this.dtlsTransport.onstatechange=()=>{let{dtlsTransport:e}=this;!e||(this._log.debug("dtls state: ".concat(e.state)),"connecting"===e.state&&0===this.stat.dtlsStartTime?this.stat.dtlsStartTime=Date.now():"connected"===e.state&&0===this.stat.dtlsEndTime&&(this.stat.dtlsEndTime=Date.now()))}),this._clientAbility=((e,t)=>{var i,n;let r=Hx(e),o={ice:{ufrag:"",password:""},dtls:{hash:"",fingerprint:"",setup:""},audio:{codecs:[],extensions:[]},video:{codecs:[],extensions:[]},useDataChannel:t};o.ice.ufrag=String(r.media[0].iceUfrag),o.ice.password=r.media[0].icePwd||"",r.fingerprint&&(o.dtls.hash=r.fingerprint.type,o.dtls.fingerprint=r.fingerprint.hash,o.dtls.setup=r.setup||""),r.media[0].fingerprint&&(o.dtls.hash=r.media[0].fingerprint.type,o.dtls.fingerprint=r.media[0].fingerprint.hash),o.dtls.setup=r.media[0].setup||"";let s=r.media[0],a=r.media[1];s.ext&&(o.audio.extensions=s.ext.map((e=>({id:e.value,uri:e.uri})))),a.ext&&(o.video.extensions=a.ext.map((e=>({id:e.value,uri:e.uri}))));let c={codec:s.rtp[0].codec,fmtp:s.fmtp[0].config,payload:s.fmtp[0].payload,rate:s.rtp[0].rate,channel:s.rtp[0].encoding,rtcpFb:[],rtx:0};null==(i=s.rtcpFb)||i.forEach((e=>{let{payload:t,type:i,subtype:n}=e;if(t===c.payload){let e={id:i,params:[]};n&&e.params.push(n),c.rtcpFb.push(e)}})),o.audio.codecs.push(c);for(let l=0;le.payload===a.rtp[l].payload))[0];o.video.codecs.push({payload:a.rtp[l].payload,codec:a.rtp[l].codec,fmtp:e?e.config:"",rate:a.rtp[l].rate,rtx:"rtx"===(null==(n=a.rtp[l+1])?void 0:n.codec)?a.rtp[l+1].payload:0,rtcpFb:((null==a?void 0:a.rtcpFb)||[]).filter((e=>e.payload===a.rtp[l].payload)).map((e=>{let{type:t,subtype:i}=e;return{id:t,params:i?[i]:[]}}))})}return o})(e.sdp,this._enableCustomMessage),this._clientAbility}catch(aN){throw this._log.error("initialize failed ".concat(aN)),aN}}))}connect(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return cb(this,null,(function*(){try{if("CONNECTED"===this.currentState)return;let i=gO(),n={type:"answer",sdp:qV({serverAbility:e,clientAbility:this._clientAbility,offerSDP:this._peerConnection.localDescription.sdp,enableCustomMessage:this._enableCustomMessage})};this._serverAbility=e,yield this.setAnswer(n),yield this.waitForPeerConnectionConnected(),t||UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:"SPCConnect",cost:Math.min(gO()-i,3e4)})}catch(cN){let i=cN instanceof Tb&&cN.code===fb.API_CALL_ABORTED;throw i||this._log.error("connect failed: ".concat(cN),e),this.reset(),!i&&!this.isReconnecting&&(UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:"SPCConnect",error:cN}),this.emitConnectionStateChangedEvent("DISCONNECTED"),this.startReconnection()),cN}}))}reconnect(){return cb(this,null,(function*(){if(-1===this._reconnectionTimer){if(!this._signalChannel.isConnected)return this._log.warn("reconnect() wait signal channel is connected"),void this._signalChannel.once(XM,this.reconnect,this);try{this.reconnectionCount++,this._log.warn("reconnect() trying [".concat(this.reconnectionCount,"]")),this.reset();let e=yield this.initialize(),t=yield this._signalChannel.sendWaitForResponse({command:Rx,responseCommand:rx.REBUILD_PEER_CONNECTION_RES,data:{ability:e},enableLog:!1});yield this.connect(t.data.data.ability,!0),this._log.warn("reconnect() successfully"),this.stopReconnection(),this.emit("spc-reconnected")}catch(aN){if(!this.isReconnecting)return;if(null!=aN&&aN.message.includes("timeout")){let e=tO(this.reconnectionCount);this._log.warn("reconnect() timeout, try again after ".concat(e/1e3,"s")),this._reconnectionTimer=window.setTimeout((()=>{this.clearReconnectionTimer(),this.reconnect()}),e)}else this._log.error("reconnect() failed ".concat(aN)),UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:"SPCReconnect",error:aN}),this.reconnectionCount>=sD()&&this._log.warn("SDK has tried reconnect for ".concat(sD()," times, but all failed, please check your network")),this.stopReconnection(),this.emitConnectionStateChangedEvent("DISCONNECTED"),this.emit("error")}}else this._log.warn("reconnect() is reconnecting, ignore current reconnection")}))}getPeerConnection(){return this._peerConnection}startReconnection(){return cb(this,null,(function*(){this._log.warn("start reconnect"),this.emitConnectionStateChangedEvent("RECONNECTING");let e=gO();yield this.reconnect(),UO.emit(BO.API_SUCCESS_RATE,{room:this._room,apiName:"SPCReconnect",cost:Math.min(gO()-e,3e4)})}))}stopReconnection(){this.isReconnecting&&(this._log.info("stop reconnect"),this.reconnectionCount=0,this.clearReconnectionTimer(),this._signalChannel.off(XM,this.reconnect,this))}checkPeerConnectionToReconnect(){var e;!this.isReconnecting&&(null==(e=this._peerConnection)?void 0:e.connectionState)===nD.CLOSED&&this.startReconnection()}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}onConnectionStateChange(e){let t=this._peerConnection.iceConnectionState,i=this.getDTLSTransportState();this._log.info("connectionState: ".concat(e.target.connectionState," ICE: ").concat(t," DTLS: ").concat(i)),e.target.connectionState===nD.CONNECTING&&(0===this.stat.peerConnectionStartTime&&(this.stat.peerConnectionStartTime=Date.now()),this.emitConnectionStateChangedEvent("CONNECTING")),(e.target.connectionState===nD.FAILED||e.target.connectionState===nD.CLOSED)&&(this.emitConnectionStateChangedEvent("DISCONNECTED"),this.startReconnection()),(e.target.connectionState===nD.CONNECTED||e.target.connectionState===nD.COMPLETED)&&(0===this.stat.peerConnectionEndTime&&(this.stat.peerConnectionEndTime=Date.now()),UO.emit(BO.SINGLE_CONNECTION_STAT,{room:this._room,stat:{ice:this.stat.iceEndTime-this.stat.iceStartTime,dtls:this.stat.dtlsEndTime-this.stat.dtlsStartTime,peerConnection:this.stat.peerConnectionEndTime-this.stat.peerConnectionStartTime}}),this.logSelectedCandidate(),this.emitConnectionStateChangedEvent("CONNECTED"))}getDTLSTransportState(){if(!this._peerConnection)return iD;let e=null;return Sw()&&0!==this._peerConnection.getSenders().length?(e=this._peerConnection.getSenders()[0].transport,Ew()&&0!==this._peerConnection.getReceivers().length&&e?e.state:iD):iD}emitConnectionStateChangedEvent(e){e!==this.currentState&&("RECONNECTING"===this.currentState&&"CONNECTING"===e||(this.emit($V.CONNECTION_STATE_CHANGED,{prevState:this.currentState,state:e}),this.currentState=e))}logSelectedCandidate(){return cb(this,null,(function*(){if(!this._peerConnection)return;let e=yield this._peerConnection.getStats();for(let[t,i]of e)if(hw(i)){let t=e.get(i.localCandidateId),n=e.get(i.remoteCandidateId);t&&this._log.info("local candidate: ".concat(t.candidateType," ").concat(t.protocol,":").concat(t.ip||t.address,":").concat(t.port," ").concat(t.networkType||""," ").concat("relay"===t.candidateType?"relayProtocol:".concat(t.relayProtocol):"")),n&&this._log.info("remote candidate: ".concat(n.candidateType," ").concat(n.protocol,":").concat(n.ip||n.address,":").concat(n.port));break}}))}waitForPeerConnectionConnected(){return this._waitForPCConnectedPromise||(this._waitForPCConnectedPromise=new Promise(((e,t)=>{if("CONNECTED"===this.currentState)return e();this._waitForPCConnectedPromiseReject=t;let i=t=>{"CONNECTED"===t.state&&(clearTimeout(o),r(),e())},n=e=>{let{room:i}=e;i===this._room&&(clearTimeout(o),r(),t(new Tb({code:fb.API_CALL_ABORTED,message:QO({key:zO.CONNECTION_ABORTED,data:"leave room"})})))},r=()=>{UO.off(BO.LEAVE_SUCCESS,n,this),this.off($V.CONNECTION_STATE_CHANGED,i,this)},o=setTimeout((()=>{r();let e=new Tb({code:fb.API_CALL_TIMEOUT,message:"connection timeout"});ZV+=1,(e=>ZV>2&&!eU&&0===tU.size&&e)(this._signalChannel.isConnected)&&(this._log.warn("firewall restrition"),eU=!0,this.emit($V.FIREWALL_RESTRICTION)),t(e)}),ID);UO.on(BO.LEAVE_SUCCESS,n,this),this.on($V.CONNECTION_STATE_CHANGED,i,this)})),this._waitForPCConnectedPromise=this._waitForPCConnectedPromise.finally((()=>{this._waitForPCConnectedPromise=null,this._waitForPCConnectedPromiseReject=null}))),this._waitForPCConnectedPromise}waitForReconnected(){return this.isReconnecting?new Promise(((e,t)=>{this.once("spc-reconnected",e),this.once("error",t)})):Promise.resolve()}addDownlink(e){return cb(this,null,(function*(){if(this._log.info("addDownlink(".concat(e.userId,") trying")),this.isReconnecting&&(yield this.waitForReconnected()),this.updateLocalAndRemoteSDPConfig(e),0===this.addDownlinkQueue.size)try{yield this.updateSDP({isNeedToCreateOffer:!0}),this._log.info("addDownlink(".concat(e.userId,") done"))}catch(aD){this._log.info("addDownlink(".concat(e.userId,") failed")),yield this.startReconnection()}}))}updateLocalAndRemoteSDPConfig(e){let{ssrc:t,userId:i,tinyId:n}=e;if(!this._peerConnection)return;this._log.info("updateLocalAndRemoteSDPConfig ".concat(i," ").concat(JSON.stringify(t)));let r,o,s,a=this._peerConnection.getTransceivers().filter((e=>"inactive"===e.direction)).slice(0,3).map((e=>(e.direction=MN.TRANSCEIVER_DIRECTION_RECVONLY,Number(e.mid))));if(0===a.length&&(this._peerConnection.addTransceiver(MN.AUDIO,{direction:MN.TRANSCEIVER_DIRECTION_RECVONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:MN.TRANSCEIVER_DIRECTION_RECVONLY}),this._peerConnection.addTransceiver(MN.VIDEO,{direction:MN.TRANSCEIVER_DIRECTION_RECVONLY})),this._parsedAnswer||(this._parsedAnswer=Hx(this._peerConnection.remoteDescription.sdp)),3===a.length)r=this._parsedAnswer.media.find((e=>Number(e.mid)===Number(a[0]))),o=this._parsedAnswer.media.find((e=>Number(e.mid)===Number(a[1]))),s=this._parsedAnswer.media.find((e=>Number(e.mid)===Number(a[2])));else{r=JSON.parse(JSON.stringify(this._parsedAnswer.media[0]));let e=YV({mid:1,serverAbility:this._serverAbility,clientAbility:this._clientAbility,parsedOffer:Hx(this._peerConnection.localDescription.sdp),useAllCodec:!0});o=JSON.parse(JSON.stringify(e)),s=JSON.parse(JSON.stringify(e)),r.mid=this._parsedAnswer.media.length,this._parsedAnswer.media.push(r),o.mid=this._parsedAnswer.media.length,this._parsedAnswer.media.push(o),s.mid=this._parsedAnswer.media.length,this._parsedAnswer.media.push(s)}r.direction=MN.TRANSCEIVER_DIRECTION_SENDONLY,r.ssrcs=[{id:t.audio,attribute:"cname",value:"".concat(n)},{id:t.audio,attribute:"msid",value:"".concat(n,"-").concat(MN.MAIN," ").concat(n,"-audio")}],o.direction=MN.TRANSCEIVER_DIRECTION_SENDONLY,o.ssrcs=[{id:t.video,attribute:"cname",value:"".concat(n)},{id:t.video,attribute:"msid",value:"".concat(n,"-").concat(MN.MAIN," ").concat(n,"-bigvideo")},{id:t.videoRtx,attribute:"cname",value:"".concat(n)},{id:t.videoRtx,attribute:"msid",value:"".concat(n,"-").concat(MN.MAIN," ").concat(n,"-bigvideo")}],o.ssrcGroups=[{semantics:"FID",ssrcs:"".concat(t.video," ").concat(t.videoRtx)}],s.direction=MN.TRANSCEIVER_DIRECTION_SENDONLY;let c="".concat(n,"-aux");s.ssrcs=[{id:t.auxiliary,attribute:"cname",value:c},{id:t.auxiliary,attribute:"msid",value:"".concat(c," ").concat(n,"-aux").concat(MN.VIDEO)},{id:t.auxiliaryRtx,attribute:"cname",value:"".concat(c," ").concat(n,"-aux").concat(MN.VIDEO)},{id:t.auxiliaryRtx,attribute:"msid",value:"".concat(c," ").concat(n,"-aux").concat(MN.VIDEO)}],s.ssrcGroups=[{semantics:"FID",ssrcs:"".concat(t.auxiliary," ").concat(t.auxiliaryRtx)}],this._parsedAnswer.groups&&(this._parsedAnswer.groups[0].mids=this._parsedAnswer.media.map((e=>e.mid)).join(" ")),this._downlinkMIDMap.set(n,[r.mid,o.mid,s.mid])}removeDownlink(e,t){return cb(this,null,(function*(){if(!this._downlinkMIDMap.has(e)||!this._peerConnection)return;this._log.info("removeDownlink(".concat(t,") trying")),this.isReconnecting&&(yield this.waitForReconnected());let i=this._downlinkMIDMap.get(e),n=!1;this._peerConnection.getTransceivers().forEach((e=>{null!=i&&i.includes(Number(e.mid))&&(n=!0,e.direction="inactive")})),this._parsedAnswer||(this._parsedAnswer=Hx(this._peerConnection.remoteDescription.sdp)),this._parsedAnswer.media.forEach((e=>{null!=i&&i.includes(Number(e.mid))&&(n=!0,e.direction="inactive",e.ssrcs=[],e.ssrcGroups=[])})),0===this.removeDownlinkQueue.size&&n&&(yield this.updateSDP({isNeedToCreateOffer:!0,tinyIdRemoving:e})),this._downlinkMIDMap.delete(e),this._log.info("removeDownlink(".concat(t,") done"))}))}getDownlinkMids(e){return this._downlinkMIDMap.get(e)}setBandwidth(e){return cb(this,null,(function*(){if(!this._peerConnection)return;let{audio:t,bigVideo:i,smallVideo:n,auxVideo:r}=e;try{if(Cw()){let e=this._peerConnection.getSenders().slice(0,4);for(let o=0;ocb(this,null,(function*(){try{t&&this._peerConnection&&(this._log.info("creating offer"),i=yield this._peerConnection.createOffer()),i&&(yield this.setOffer(i)),yield this.setAnswer({type:"answer",sdp:r}),this._updateSDPPromise=null,e()}catch(c){this._log.error(c),!this._isSDPLogged&&this._peerConnection&&(this._log.warn("transceivers: ".concat(JSON.stringify(this._peerConnection.getTransceivers().map((e=>{let{mid:t,currentDirection:i,direction:n,stopped:r}=e;return{mid:t,currentDirection:i,direction:n,stopped:r}}))))),this._log.warn("parsedAnswer: ".concat(JSON.stringify(this._parsedAnswer))),this._log.warn("local sdp: ".concat(null==i?void 0:i.sdp)||0),this._log.warn("remote sdp: ".concat(r)||0),this._isSDPLogged=!0),this._updateSDPPromise=null,n(c)}})))),this._updateSDPPromise}setOffer(e){return this._log.info("setting offer"),this._peerConnection.setLocalDescription({type:"offer",sdp:XV(e.sdp)})}setAnswer(e){return this._log.info("setting answer"),this._room.enableHWEncoder&&e.sdp&&(e.sdp=e.sdp.replaceAll("42e01f","42001f")),this._peerConnection.setRemoteDescription(e)}sendDataChannelMessage(e){var t;null==(t=this._datachannel)||t.send(e)}reset(){var e;null==(e=this._peerConnection)||e.close(),this._waitForPCConnectedPromise=null,this._parsedAnswer=null}close(){this._log.info("close pc"),this.reset(),this.emitConnectionStateChangedEvent("DISCONNECTED"),this._downlinkMIDMap.clear(),this.stopReconnection(),this.removeAllListeners()}};ob([GV()],nU.prototype,"updateSDP",1);var rU=class{constructor(e){sb(this,"tag"),sb(this,"len"),sb(this,"data");let t=new DataView(e);this.tag=t.getUint16(),this.len=t.getUint16(2),this.data=new Uint8Array(e).slice(4,4+this.len).buffer}},oU=class{constructor(e){sb(this,"tinyId"),sb(this,"data");let t=new DataView(e),i=0,n=[];for(;i{1===e.tag?this.tinyId=(new TextDecoder).decode(e.data):2===e.tag&&(this.data=e.data)}))}},sU=new Set;function aU(){let e=Math.floor(4294967296*Math.random());return sU.has(e)?aU():(sU.add(e),e)}var cU=rb(lb()),lU=class extends cU.default{constructor(e){super(),sb(this,"userId"),sb(this,"tinyId"),sb(this,"_sdpSemantics"),sb(this,"_isUplink"),sb(this,"_room"),sb(this,"_log"),sb(this,"_signalChannel"),sb(this,"_currentState","DISCONNECTED"),sb(this,"_prevTime",-1),sb(this,"_enableSEI"),sb(this,"_sei"),this.userId=e.userId,this.tinyId=e.tinyId,this._room=e.room,this._sdpSemantics=e.room.sdpSemantics,this._isUplink=e.isUplink,this._log=jO.createLogger({id:"n",userId:this._room.userId,remoteUserId:this._isUplink?void 0:this.userId,sdkAppId:this._room.sdkAppId,isLocal:this._isUplink}),this._signalChannel=e.signalChannel,this._enableSEI=e.enableSEI,this._enableSEI&&Nw&&(this._sei=new Lx(this,this._log,this._isUplink))}get _peerConnection(){var e;return(null==(e=this.singlePC)?void 0:e.getPeerConnection())||null}get singlePC(){return this._room.singlePC}close(e){this._log.info("close connection"),this.emit("closed",e),this._sei&&(this._sei.destroy(),this._sei=null)}emitConnectionStateChangedEvent(e){return e!==this._currentState&&(UO.emit(BO.PEER_CONNECTION_STATE_CHANGED,{room:this._room,prevState:this._currentState,state:e,remoteUserId:this._isUplink?void 0:this.userId}),this.emit("connection-state-changed",{prevState:this._currentState,state:e}),this._currentState=e,!0)}getPeerConnection(){return this._peerConnection}getRoom(){return this._room}getUserId(){return this.userId}getTinyId(){return this.tinyId}getCurrentState(){return this._currentState}get isH264(){var e,t;return!(null==(t=null==(e=this._peerConnection)?void 0:e.remoteDescription)||!t.sdp.includes("H264"))}},dU=class extends lU{constructor(e){super(tb(eb({},e),{isUplink:!0})),sb(this,"localMainAudioTrack",null),sb(this,"localMainVideoTrack",null),sb(this,"localAuxAudioTrack",null),sb(this,"localAuxVideoTrack",null),sb(this,"_isPublishingAux",!1),sb(this,"_publishingLocalAudioTrack"),sb(this,"_publishingLocalVideoTrack"),sb(this,"_mediaSettings",{videoCodec:"",videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioCodec:"opus",audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0,auxVideoWidth:0,auxVideoHeight:0,auxVideoFps:0,auxVideoBps:0}),sb(this,"_audioManager"),this._audioManager=e.audioManager,this.initialize()}get ssrc(){if(!this.singlePC)return{audio:0,video:0,videoRtx:0,small:0,smallRtx:0,auxiliary:0,auxiliaryRtx:0};let{audioSsrc:e,bigVideoSsrc:t,bigVideoRtxSsrc:i,smallVideoSsrc:n,smallVideoRtxSsrc:r,auxVideoSsrc:o,auxVideoRtxSsrc:s}=this.singlePC.uplinkSSRC;return{audio:e||0,video:t||0,videoRtx:i||0,small:n||0,smallRtx:r||0,auxiliary:o||0,auxiliaryRtx:s||0}}get isMainStreamPublished(){return!(!this.localMainAudioTrack&&!this.localMainVideoTrack)}get isAuxStreamPublished(){return!(!this.localAuxVideoTrack&&!this.localAuxAudioTrack)}get publishState(){var e,t,i,n;let r={audio:!1,bigVideo:!1,smallVideo:!1,auxVideo:!1};if(this._peerConnection){let o=this._peerConnection.getSenders();o&&(Iw()?(r.audio=!(null==(e=o[0])||!e.track),r.bigVideo=!(null==(t=o[1])||!t.track),r.smallVideo=!(null==(i=o[2])||!i.track),r.auxVideo=!(null==(n=o[3])||!n.track)):o.forEach((e=>{e.track&&(e.track.kind===MN.AUDIO?r.audio=!0:(r.bigVideo=!0,this._room.videoManager.hasSmall&&(r.smallVideo=!0)))})))}return r}initialize(){this.installEvents()}reset(){this.uninstallEvents()}close(e){super.close(e),this.reset(),this.emitConnectionStateChangedEvent("DISCONNECTED")}installEvents(){var e;this.listeners("connection-state-changed").includes(this.handleConnectionStateChange)||this.on("connection-state-changed",this.handleConnectionStateChange,this),this.listeners("spc-reconnected").includes(this.onSinglePCReconnected)||null==(e=this.singlePC)||e.on("spc-reconnected",this.onSinglePCReconnected,this)}uninstallEvents(){var e;this.off("connection-state-changed",this.handleConnectionStateChange,this),null==(e=this.singlePC)||e.off("spc-reconnected",this.onSinglePCReconnected,this)}emitConnectionStateChangedEvent(e,t){var i,n,r;let o=this._currentState,s=super.emitConnectionStateChangedEvent(e);return s&&o!==e&&(t?t.emit("connection-state-changed",{prevState:o,state:e}):(null==(i=this.localMainVideoTrack)||i.emit("connection-state-changed",{prevState:o,state:e}),null==(n=this.localAuxVideoTrack)||n.emit("connection-state-changed",{prevState:o,state:e}),null==(r=this._publishingLocalVideoTrack)||r.emit("connection-state-changed",{prevState:o,state:e}))),s}publish(e){return cb(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,isAuxiliary:r}=e;return function*(){var e,o,s,a,c,l;if(!t.singlePC)return;if(yield t.singlePC.waitForPeerConnectionConnected(),i&&(t._publishingLocalAudioTrack=i),n){if(!t.singlePC.isH264EncodeSupported&&!t.singlePC.isVP8EncodeSupported)throw new Tb({code:fb.NOT_SUPPORTED_H264,message:QO({key:zO.NOT_SUPPORTED_H264ENCODE})});Mb&&115===Pk()&&n.profile.width*n.profile.height<=230400&&(t._log.warn("fallback video to 480p"),n.setProfile(PN["480p_2"]),yield n.applyProfile()),t._publishingLocalVideoTrack=n}let d;t._isPublishingAux=r,n&&!r&&n.small&&(d=t._room.videoManager.smallTrack),yw()&&(yield t.publishByTransceiver({localAudioTrack:i,localVideoTrack:n,smallTrack:d,isAuxiliary:r})),t._publishingLocalAudioTrack=null,t._publishingLocalVideoTrack=null,t._isPublishingAux=!1,r?(n&&(t.localAuxVideoTrack=n),i&&(t.localAuxAudioTrack=i)):(n&&(t.localMainVideoTrack=n),i&&(t.localMainAudioTrack=i)),yield t.singlePC.setBandwidth({audio:(null==(e=t.localMainAudioTrack)?void 0:e.profile.bitrate)||(null==(o=t.localAuxAudioTrack)?void 0:o.profile.bitrate),bigVideo:null==(s=t.localMainVideoTrack)?void 0:s.profile.bitrate,smallVideo:null==(c=null==(a=t.localMainVideoTrack)?void 0:a.small)?void 0:c.bitrate,auxVideo:null==(l=t.localAuxVideoTrack)?void 0:l.profile.bitrate}),yield t._signalChannel.sendWaitForResponse({command:bx,responseCommand:rx.SPC_PUBLISH_RESULT,data:tb(eb({},t.singlePC.uplinkSSRC),{state:t.publishState})}),t.sendMediaSettings(),t.installTrackMuteEvents(i,n),t.sendMutedFlag()}()}))}publishByTransceiver(e){let{localAudioTrack:t,localVideoTrack:i,smallTrack:n,isAuxiliary:r}=e;this._log.info("publish by transceiver");let o=null==i?void 0:i.outMediaTrack,s=this._audioManager.mixedAudioTrack,a=this._peerConnection.getTransceivers(),c=[],l=[];if(s){let e=a[0].sender.replaceTrack(s);l.push(0),c.push(e)}if(o)if(r){let e=a[3].sender.replaceTrack(o);l.push(3),c.push(e)}else{let e=a[1].sender.replaceTrack(o);l.push(1),c.push(e)}if(n){let e=a[2].sender.replaceTrack(n);l.push(2),c.push(e)}let d=this.setTransceiverDirection(xN.SENDONLY,l);return c.push(d),Promise.all(c)}installTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.on("mute",this.sendMutedFlag,this),null==e||e.on("unmute",this.sendMutedFlag,this))}))}uninstallTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.off("mute",this.sendMutedFlag,this),null==e||e.off("unmute",this.sendMutedFlag,this))}))}unpublish(e){return cb(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n}=e;return function*(){let e=n&&n===t.localAuxVideoTrack,r=null==n?void 0:n.outMediaTrack,o=t._peerConnection.getSenders(),s=[];i&&(t._audioManager.mixedAudioTrack||(yield o[0].replaceTrack(null),s.push(0)),e?t.localAuxAudioTrack=null:t.localMainAudioTrack=null),r&&(e?(yield o[3].replaceTrack(null),t.localAuxVideoTrack=null,t._mediaSettings=tb(eb({},t._mediaSettings),{auxVideoBps:0,auxVideoFps:0,auxVideoWidth:0,auxVideoHeight:0}),s.push(3)):(yield o[1].replaceTrack(null),yield o[2].replaceTrack(null),t.localMainVideoTrack=null,t._mediaSettings=tb(eb({},t._mediaSettings),{videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0}),s.push(1,2))),t.isMainStreamPublished||t.isAuxStreamPublished?(yield t.setTransceiverDirection(xN.INACTIVE,s),yield t.doPublishChange(!1)):yield t.doUnpublish(),t.uninstallTrackMuteEvents(i,n),null==n||n.emit("connection-state-changed",{prevState:t._currentState,state:"DISCONNECTED"})}()}))}doPublishChange(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return cb(this,null,(function*(){let t={state:this.publishState,constraintConfig:this._mediaSettings},i=yield this._signalChannel.sendWaitForResponse({command:ux,data:t,responseCommand:rx.PUBLISH_STATE_CHANGE_RESULT,enableLog:e});this.checkPublishResultCode(i.data.code,i.data.message)}))}doUnpublish(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._signalChannel.sendWaitForResponse({command:hx,commandDesc:"unpublish",responseCommand:rx.UNPUBLISH_RESULT,enableLog:e}).catch((e=>{if(e.getCode()===fb.API_CALL_TIMEOUT)return Promise.resolve();throw e}))}updateMediaSettings(){let{detail:{isH264EncodeSupported:e,isVp8EncodeSupported:t}}=this._room.checkSystemResult;e?this._mediaSettings.videoCodec="H264":t&&(this._mediaSettings.videoCodec="VP8");let i=this._publishingLocalAudioTrack||this.localMainAudioTrack||this.localAuxAudioTrack,{localMainVideoTrack:n,localAuxVideoTrack:r}=this;if(this._publishingLocalVideoTrack&&(this._isPublishingAux?r=this._publishingLocalVideoTrack:n=this._publishingLocalVideoTrack),bw){if(i&&i.outMediaTrack){let e=i.outMediaTrack.getSettings();this._mediaSettings.audioChannel=e.channelCount||1,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=e.sampleRate||0}if(n&&n.outMediaTrack){let e=n.outMediaTrack.getSettings();this._mediaSettings.videoWidth=e.width||0,this._mediaSettings.videoHeight=e.height||0,this._mediaSettings.videoFps=e.frameRate||0,this._mediaSettings.videoBps=1e3*n.profile.bitrate,n.small&&(this._mediaSettings.smallVideoWidth=n.small.width,this._mediaSettings.smallVideoHeight=n.small.height,this._mediaSettings.smallVideoFps=n.small.frameRate,this._mediaSettings.smallVideoBps=1e3*n.small.bitrate)}if(r&&r.outMediaTrack){let e=r.outMediaTrack.getSettings();this._mediaSettings.auxVideoWidth=e.width||0,this._mediaSettings.auxVideoHeight=e.height||0,this._mediaSettings.auxVideoFps=e.frameRate||0,this._mediaSettings.auxVideoBps=1e3*r.profile.bitrate}}else i&&i.outMediaTrack&&(this._mediaSettings.audioChannel=i.profile.channelCount,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=i.profile.sampleRate),n&&n.outMediaTrack&&(this._mediaSettings.videoWidth=n.profile.width,this._mediaSettings.videoHeight=n.profile.height,this._mediaSettings.videoFps=n.profile.frameRate,this._mediaSettings.videoBps=1e3*n.profile.bitrate);this._log.info("updateMediaSettings: ".concat(JSON.stringify(this._mediaSettings)))}sendMediaSettings(){this.updateMediaSettings(),this._signalChannel.sendWaitForResponse({command:Ax,data:this._mediaSettings,responseCommand:rx.UPDATE_CONSTRAINT_CONFIG_RES}).then((e=>{0!==e.data.code&&this._log.warn(e.data.message)})).catch((()=>{}))}addTrack(e){return cb(this,null,(function*(){var t;if(!this._peerConnection)return;let i=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info("is adding ".concat(e.kind," track to current published local ").concat(i?MN.AUXILIARY:MN.MAIN," stream")),null==(t=this._sei)||t.handleEncodedStreams(),Iw()&&(yield this.addTrackByTransceiver(e,i))}))}addTrackByTransceiver(e,t){return cb(this,null,(function*(){var i;if(!e.mediaTrack)return;let n=this._peerConnection.getTransceivers();if(e.kind===MN.AUDIO)yield n[0].sender.replaceTrack(this._audioManager.mixedAudioTrack);else{let r=t?3:1;yield n[r].sender.replaceTrack(e.outMediaTrack),1===r&&(null==(i=this.localMainVideoTrack)?void 0:i.small)&&(yield n[2].sender.replaceTrack(this._room.videoManager.smallTrack)),n[r].direction===xN.INACTIVE&&(yield this.setTransceiverDirection(xN.SENDONLY,[r]))}this.updateMediaSettings(),yield this.doPublishChange()}))}removeTrack(e){return cb(this,null,(function*(){if(!this._peerConnection)return;let t=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info("is removing ".concat(e.kind," track from current published local ").concat(t?MN.AUXILIARY:MN.MAIN," stream")),Iw()&&(yield this.removeTrackByTransceiver(e,t))}))}removeTrackByTransceiver(e,t){return cb(this,null,(function*(){if(!e.mediaTrack)return;let i=this._peerConnection.getTransceivers();if(e.kind===MN.AUDIO)this._audioManager.mixedAudioTrack||(yield i[0].sender.replaceTrack(null));else{let e=t?3:1;yield i[e].sender.replaceTrack(null),1===e&&this._room.videoManager.hasSmall&&(yield i[2].sender.replaceTrack(null)),yield this.setTransceiverDirection(xN.INACTIVE,[e])}this.updateMediaSettings(),yield this.doPublishChange()}))}setTransceiverDirection(e,t){return cb(this,null,(function*(){if(!Fb)return;let i=!1,n=!1;this._log.info("setting transceiver ".concat(t.join(",")," direction to ").concat(e));let r=this._peerConnection.getTransceivers();if(t.forEach((t=>{r[t].direction!==e&&(r[t].direction=e,i=!0)})),i){this._log.info("updating offer");let e=yield this._peerConnection.createOffer();yield this._peerConnection.setLocalDescription(e)}let o=-1,s=this._peerConnection.remoteDescription.sdp.split("\r\n").map((i=>{if(i.match(new RegExp("a=(".concat(xN.INACTIVE,"|").concat(xN.RECVONLY,"|").concat(xN.SENDONLY,")")))&&o++,t.includes(o)){if(e===xN.INACTIVE&&i.includes("a=".concat(xN.RECVONLY)))return n=!0,"a=".concat(e);if(e===xN.SENDONLY&&i.includes("a=".concat(xN.INACTIVE)))return n=!0,"a=".concat(xN.RECVONLY)}return i})).join("\r\n");n&&(this._log.info("updating answer"),yield this._peerConnection.setRemoteDescription({type:"answer",sdp:s}))}))}replaceTrack(e){return cb(this,null,(function*(){var t;let i=null==(t=this._peerConnection)?void 0:t.getSenders(),n=e.mediaTrack;if(!i||0===i.length||!n)return;let r=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info("is replacing ".concat(n.kind," track on ").concat(r?MN.AUXILIARY:MN.MAIN," stream")),n.kind===MN.AUDIO&&i[0]&&(yield i[0].replaceTrack(this._audioManager.mixedAudioTrack)),n.kind===MN.VIDEO&&(!r&&i[1]&&(yield i[1].replaceTrack(e.outMediaTrack||n)),r&&i[3]&&(yield i[3].replaceTrack(e.outMediaTrack)))}))}setBandwidth(e){return cb(this,arguments,(function(e){var t=this;let{bandwidth:i,type:n,videoType:r}=e;return function*(){if(t.singlePC){let e={};n===MN.AUDIO?e.audio=i:"big"===r?e.bigVideo=i:"small"===r?e.smallVideo=i:e.auxVideo=i,yield t.singlePC.setBandwidth(e)}}()}))}sendMutedFlag(e){var t,i,n;if(e===this.localAuxAudioTrack||e===this.localAuxVideoTrack)return;let r={audio:!(null==(t=this.localMainAudioTrack)||!t.muted),bigVideo:!(null==(i=this.localMainVideoTrack)||!i.muted),auxVideo:!(null==(n=this.localAuxVideoTrack)||!n.muted)};this._log.info("send muted state: ".concat(JSON.stringify(r))),this._signalChannel.send(lx,r)}handleConnectionStateChange(e){"CONNECTED"===e.state&&(this.localMainVideoTrack||this._publishingLocalVideoTrack&&!this._isPublishingAux)&&UO.emit(BO.SEND_FIRST_VIDEO_FRAME,{room:this._room})}getVideoTrackId(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:MN.VIDEO;if(this._peerConnection){let t=this._peerConnection.getSenders();if(e===MN.AUXILIARY&&t[3]&&t[3].track)return t[3].track.id;if(e===MN.VIDEO&&t[1]&&t[1].track)return t[1].track.id}if(this.localMainVideoTrack&&e===MN.VIDEO){let e=this.localMainVideoTrack.mediaTrack;if(e)return e.id}if(this.localAuxVideoTrack&&e===MN.AUXILIARY){let e=this.localAuxVideoTrack.mediaTrack;if(e)return e.id}return""}getSSRC(){return this.ssrc}checkPublishResultCode(e,t){if(0!==e)throw e===_D?(this._log.error(KO.NOT_SUPPORTED_H264ENCODE),new Tb({code:fb.NOT_SUPPORTED_H264,message:QO({key:zO.NOT_SUPPORTED_H264ENCODE})})):new Tb({code:fb.UNKNOWN,message:QO({key:zO.SIGNAL_RESPONSE_FAILED,data:{signalResponse:rx.PUBLISH_RESULT,code:e,message:t}})})}sendSEI(e,t){var i;null==(i=this._sei)||i.push(e,t)}onSinglePCReconnected(){return cb(this,null,(function*(){this.isMainStreamPublished&&(yield this.publish({localAudioTrack:this.localMainAudioTrack,localVideoTrack:this.localMainVideoTrack,isAuxiliary:!1})),this.isAuxStreamPublished&&(yield this.publish({localAudioTrack:this.localAuxAudioTrack,localVideoTrack:this.localAuxVideoTrack,isAuxiliary:!0}))}))}};function uU(e){return Object.keys(e).filter((t=>e[t]))}var hU=class extends lU{constructor(e){super(tb(eb({},e),{isUplink:!1})),sb(this,"_flag",0),sb(this,"role","anchor"),sb(this,"remoteAudioTrack"),sb(this,"remoteVideoTrack"),sb(this,"remoteAuxiliaryTrack"),sb(this,"ssrc",{audio:0,video:0,videoRtx:0,auxiliary:0,auxiliaryRtx:0}),this.flag=e.flag,this.remoteAudioTrack=new CL(this._room,this),this.remoteVideoTrack=new bL(this._room,this),this.remoteAuxiliaryTrack=new kL(this._room,this),this.initialize()}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 yO(this.flag,this.userId)}get flag(){return this._flag}set flag(e){var t,i,n;e!==this._flag&&(this._flag=e,null==(t=this.remoteAudioTrack)||t.onFlagChanged(),null==(i=this.remoteVideoTrack)||i.onFlagChanged(),null==(n=this.remoteAuxiliaryTrack)||n.onFlagChanged())}get hasMainStream(){return this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall}get hasAuxStream(){return this.muteState.hasAuxiliary}get isMainStreamSubscribed(){return(this.subscribeState.audio||this.subscribeState.video||this.subscribeState.smallVideo)&&(this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall)}get isAuxStreamSubscribed(){return this.subscribeState.auxiliary&&this.muteState.hasAuxiliary}get isSmallStreamSubscribed(){return this.subscribeState.smallVideo&&this.muteState.hasSmall}get isBigStreamSubscribed(){return this.subscribeState.video&&this.muteState.hasVideo}isStreamUnpublished(e){return e===MN.MAIN?!this.muteState.hasAudio&&!this.muteState.hasVideo:!this.muteState.hasAuxiliary}initialize(){this.installEvents()}close(e){super.close(e),this.emitConnectionStateChangedEvent("DISCONNECTED"),this.remoteAudioTrack.close(),this.remoteVideoTrack.close(),this.remoteAuxiliaryTrack.close(),this.uninstallEvents(),this.removeDownlink()}installEvents(){!this.singlePC||(this.listeners("track").includes(this.onTrack)||this.singlePC.on("track",this.onTrack,this),this.listeners("spc-reconnected").includes(this.onSinglePCReconnected)||this.singlePC.on("spc-reconnected",this.onSinglePCReconnected,this))}uninstallEvents(){!this.singlePC||(this.singlePC.off("track",this.onTrack,this),this.singlePC.off("spc-reconnected",this.onSinglePCReconnected,this))}emitConnectionStateChangedEvent(e){var t,i;let n=this._currentState,r=super.emitConnectionStateChangedEvent(e);return r&&n!==e&&(null==(t=this.remoteVideoTrack)||t.emit("connection-state-changed",{prevState:n,state:e}),null==(i=this.remoteAuxiliaryTrack)||i.emit("connection-state-changed",{prevState:n,state:e})),r}onTrack(e){let t=e.streams[0],{track:i}=e;if(t.id.split("-")[0]!==this.tinyId)return;let n=t.id.includes("aux")?"auxiliary":"main";this._log.debug("ontrack ".concat(n," ").concat(i.kind));let r=MN.AUDIO;i.kind===MN.VIDEO&&(r=n===MN.MAIN?MN.VIDEO:MN.AUXILIARY);let o=this.remoteAudioTrack;r===MN.VIDEO?o=this.remoteVideoTrack:r===MN.AUXILIARY&&(o=this.remoteAuxiliaryTrack),o.setInputMediaStreamTrack(i)}isSubscriptionStateNotChanged(e){return JSON.stringify(e)===JSON.stringify(this.subscribeState)}subscribe(e,t){return cb(this,null,(function*(){try{if(this.isSubscriptionStateNotChanged(e))return;if(this._log.info("subscribe ".concat(t," ").concat(uU(e))),this.hasSSRC){let t="subscribe_change";Object.values(e).find((e=>!0===e))||(t="unsubscribe"),yield this.sendSubscription(t,e)}else yield this.doSubscribe(e)}catch(cN){throw this._room.isJoined&&this.isStreamUnpublished(t)?(this._log.warn("".concat(cN.message," ").concat(JSON.stringify(this.muteState))),new Tb({code:fb.REMOTE_STREAM_NOT_EXIST,message:"remote user ".concat(this.userId," unpublished stream")})):cN}}))}unsubscribe(e){return cb(this,arguments,(function(e){var t=this;let{remoteTracks:i,streamType:n}=e;return function*(){var e;if("main"===n&&!t.isMainStreamSubscribed||"auxiliary"===n&&!t.isAuxStreamSubscribed)return void t._log.info("".concat(n," stream already unsubscribed"));let r=eb({},t.subscribeState);i.forEach((e=>{switch(e.mediaType){case 1:r.audio=!1;break;case 4:r.video=!1;break;case 8:r.smallVideo=!1;break;case 2:r.auxiliary=!1}}));let o="subscribe_change";Object.values(r).find((e=>!0===e))||(o="unsubscribe"),t._log.info("".concat("unsubscribe"===o?o:"subscribe"," ").concat(n," [").concat(uU(r),"]")),"unsubscribe"===o&&(null==(e=t.singlePC)||e.removeDownlinkQueue.add(t.tinyId)),yield t.sendSubscription(o,r),"unsubscribe"===o&&(yield t.removeDownlink())}()}))}sendSubscription(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscribeState,i={srcTinyId:this.tinyId,srcUserId:this.userId},n=mx,r=rx.UNSUBSCRIBE_RESULT;return"subscribe_change"===e&&(i={audio:t.audio,bigVideo:t.video,auxVideo:t.auxiliary,smallVideo:t.smallVideo,srcTinyId:this.tinyId},n=_x,r=rx.SUBSCRIBE_CHANGE_RESULT),this._signalChannel.sendWaitForResponse({command:n,data:i,responseCommand:r,timeout:1e4}).then((t=>{let{data:i}=t;if(0!==i.code){let t=new Tb({code:i.code,message:QO({key:zO.ERROR_MESSAGE,data:{type:e,message:i.message}})});throw this._log.error(t),t}}))}getMainStreamVideoTrackId(){return this.remoteVideoTrack&&this.remoteVideoTrack.mediaTrack?this.remoteVideoTrack.mediaTrack.id:""}getAuxStreamVideoTrackId(){return this.remoteAuxiliaryTrack&&this.remoteAuxiliaryTrack.mediaTrack?this.remoteAuxiliaryTrack.mediaTrack.id:""}setDelay(e){let{audioDelay:t,videoDelay:i}=e;this.remoteAudioTrack.stat.end2EndDelay=t,this.remoteVideoTrack.stat.end2EndDelay=i}onSinglePCReconnected(){(this.ssrc.audio||this.ssrc.video||this.ssrc.auxiliary)&&this.doSubscribe(this.subscribeState,!1)}get hasSSRC(){return this.ssrc.audio&&this.ssrc.video&&this.ssrc.auxiliary}doSubscribe(){return cb(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.subscribeState,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){if(e.singlePC){if(e.singlePC.addDownlinkQueue.add(e.tinyId),yield e.singlePC.waitForPeerConnectionConnected(),i||!e.hasSSRC){let i={audioSsrc:aU(),bigVideoSsrc:aU(),bigVideoRtxSsrc:aU(),auxVideoSsrc:aU(),auxVideoRtxSsrc:aU()},{audioSsrc:n,bigVideoSsrc:r,bigVideoRtxSsrc:o,auxVideoSsrc:s,auxVideoRtxSsrc:a}=i;e.ssrc={audio:n,video:r,videoRtx:o,auxiliary:s,auxiliaryRtx:a},e.singlePC.addDownlinkQueue.delete(e.tinyId),yield e.singlePC.addDownlink({userId:e.userId,tinyId:e.tinyId,ssrc:e.ssrc});let c=yield e._signalChannel.sendWaitForResponse({command:kx,responseCommand:rx.SPC_SUBSCRIBE_RESULT,data:{srcUserId:e.userId,srcTinyId:e.tinyId,audio:t.audio,bigVideo:t.video,auxVideo:t.auxiliary,smallVideo:t.smallVideo,customData:!1,ssrc:i}});if(0!==c.data.code)throw yield e.removeDownlink(),new Tb({code:c.data.code,message:c.data.message});return}e.singlePC.addDownlinkQueue.delete(e.tinyId),yield e.singlePC.addDownlink({userId:e.userId,tinyId:e.tinyId,ssrc:e.ssrc})}}()}))}removeDownlink(){return cb(this,null,(function*(){!this.singlePC||(this.ssrc={audio:0,video:0,videoRtx:0,auxiliary:0,auxiliaryRtx:0},this.singlePC.removeDownlinkQueue.delete(this.tinyId),yield this.singlePC.removeDownlink(this.tinyId,this.userId))}))}};ob([nL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{let r=e=>{this.off("closed",r),n(new Tb({code:fb.API_CALL_ABORTED,message:QO({key:zO.CONNECTION_ABORTED,data:e})}))};this.on("closed",r),e.apply(this,i).then(t,n).finally((()=>{this.off("closed",r)}))}))}))],hU.prototype,"subscribe",1);var pU=hU,{isString:mU,isPlainObject:_U,isUndefined:fU,getNetworkType:gU,getTerminalType:TU,isEmpty:EU}=yb,SU=class extends BV{constructor(e){super(e),this.privateMapKey="",this._heartbeat=-1,this._lastHeartBeatTime=-1,this._joinTimeout=-1,this._firstPublishedList=null,this._joinReject=null,this._isRelayChanged=!1,this._signalChannel=null,this.uplinkConnection=null,this.singlePC=null,this.enableSPC=vw,this._changeBigSmallRecords=new Map,this._networkQuality=null,this._networkType=gU(),this._turnServers=[],this._syncUserListInterval=-1,this._smallStreamConfig={bitrate:100,frameRate:15,height:120,width:160},this.enableSEI=!1,this._enableAudioVolumeEvaluation=!1,this._audioVolumeIntervalId=0,this._enableMultiAuxStream=!1,this._pureAudioPushMode=!1,this.enableHWEncoder=!1,this._stats=new Xx(this,this._log),this.userManager=new qL(this.userId,this._log),this._version=oN,this.sdpSemantics=mD,fU(e.sdpSemantics)?JO.isUnifiedPlanDefault()&&(this.sdpSemantics=pD):this.sdpSemantics=e.sdpSemantics,this._log.info("sdpSemantics: ".concat(this.sdpSemantics,", netType: ").concat(this._networkType)),e.iceTransportPolicy&&(this._iceTransportPolicy=e.iceTransportPolicy),this._enableMultiAuxStream=!fU(e.enableMultiAuxStream)&&e.enableMultiAuxStream,this.enableSEI=e.enableSEI,!fU(e.enableSPC)&&vw&&(this.enableSPC=e.enableSPC),this.enableHWEncoder=e.enableHWEncoder||!1,this._initBusinessInfo(e)}get isMainStreamPublished(){var e;return!(null==(e=this.uplinkConnection)||!e.isMainStreamPublished)}get isMainAudioPublished(){var e;return!(null==(e=this.uplinkConnection)||!e.localMainAudioTrack)}get isAuxStreamPublished(){var e;return!(null==(e=this.uplinkConnection)||!e.isAuxStreamPublished)}get hasAuxStream(){return[...this.remotePublishedUserMap.values()].findIndex((e=>e.muteState.hasAuxiliary))>=0}get userMap(){return this.userManager.userMap}get remotePublishedUserMap(){return this.userManager.remotePublishedUserMap}get tinyIdToUserIdMap(){return new Map([...this.remotePublishedUserMap.values()].map((e=>[e.tinyId,e.userId])))}join(e,t,i){return cb(this,null,(function*(){return this.userManager.mySelfId=this.userId,this.userManager.on("1",(e=>{this.emit("peer-join",e)})),this.userManager.on("2",(e=>{this.closeDownLinkConnection(e,"remote user exitRoom"),this.emit("peer-leave",e)})),this.userManager.on("3",this.createDownlinkConnection,this),this.userManager.on("5",this.closeDownLinkConnection,this),this.userManager.on("6",(e=>{var t=((e,t)=>{var i={};for(var n in e)YC.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&KC)for(var n of KC(e))t.indexOf(n)<0&&QC.call(e,n)&&(i[n]=e[n]);return i})(e,[]);UO.emit(BO.REMOTE_PUBLISH_STATE_CHANGED,eb({room:this},t)),this.emit("remote-publish-state-changed",eb({},t))})),this._joinOptions=e,new Promise(((t,i)=>cb(this,null,(function*(){this._joinReject=i;try{this.checkDestroy();let i=yield this.initialize();yield this.doJoin(e,i),t(),this._firstPublishedList&&this.onPublishedUserList({data:{userList:this._firstPublishedList}})}catch(JV){i(JV)}this._joinReject=null}))))}))}doJoin(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Promise(((i,n)=>cb(this,null,(function*(){var r,o,s;let a;if(e.privateMapKey&&(this.privateMapKey=e.privateMapKey),this._signalChannel.once(YM,(e=>{this.clearJoinTimeout(),UO.emit(BO.JOIN_SIGNAL_CONNECTION_END,{room:this,error:e}),n(e)})),aO(null==(o=null==(r=this.scheduleResult)?void 0:r.config)?void 0:o.singlePC)&&vw&&(this.enableSPC=this.scheduleResult.config.singlePC),this.enableSPC&&!this.singlePC){this.singlePC=new nU({signalChannel:this._signalChannel,room:this,enableCustomMessage:!1}),this.singlePC.once("error",(()=>this.fallbackToMPC()));try{a=yield this.singlePC.initialize()}catch(u){this.fallbackToMPC()}}this.keyPointManager.setConnectionType(this.singlePC?1:2);let c={roomId:String(e.roomId||e.strRoomId),useStringRoomId:this.useStringRoomId,privateMapKey:this.privateMapKey,trtcRole:e.role,trtcScene:"live"===this.scene?2:1,sdpSemantics:this.sdpSemantics,version:this._version,ua:navigator&&navigator.userAgent||"",terminalType:TU(),netType:NN[this._networkType],bussinessInfo:this._businessInfo,ability:a};t&&(c.userSig=this.userSig),this._log.debug("join room signal data: ".concat(JSON.stringify(c)));let l=5e3;(null==(s=this.scheduleResult.config)?void 0:s.enterRoomTimeout)&&this.scheduleResult.config.enterRoomTimeout>=1&&(l=1e3*this.scheduleResult.config.enterRoomTimeout),this._joinTimeout=window.setTimeout((()=>{n(new Tb({code:fb.JOIN_ROOM_FAILED,message:QO({key:zO.JOIN_ROOM_TIMEOUT})}))}),l),UO.emit(BO.JOIN_SEND_CMD,{room:this}),this._signalChannel.send(this.singlePC?Cx:sx,c),this._signalChannel.once(rx.JOIN_ROOM_RESULT,(e=>{this.clearJoinTimeout();let{code:t,message:r,data:o}=e.data;UO.emit(BO.JOIN_RECEIVED_CMD_RES,{room:this,code:t}),0===t?(this._log.info("Join room success, start heartbeat"),this.startHeartbeat(),this.syncUserList(),this.startSyncUserListInterval(),this._firstPublishedList=o.publishers,this.singlePC&&this.singlePC.connect(o.ability).catch((()=>{})),i()):(this._log.error("Join room failed result: ".concat(t," error: ").concat(r)),n(new Tb({code:fb.JOIN_ROOM_FAILED,extraCode:t,message:QO({key:zO.JOIN_ROOM_FAILED,data:{error:r,code:t}})})))}))}))))}reJoin(){return cb(this,null,(function*(){if(this.isJoined)try{if(this._log.warn("reJoin pending: ".concat(this._joinOptions.roomId)),this.singlePC&&(this.singlePC.close(),this.singlePC=null),this._signalChannel.close(),yield this._signalChannel.connect(),yield this.doJoin(tb(eb({},this._joinOptions),{role:"anchor"===this.role?20:21,privateMapKey:this.privateMapKey})),this._log.warn("reJoin success"),Xw.logSuccessEvent({userId:this.userId,eventType:lD.REJOIN}),this.singlePC){let e=t=>{var i;"CONNECTED"===t.state&&(null==(i=this.singlePC)||i.off($V.CONNECTION_STATE_CHANGED,e),this.uplinkConnection instanceof dU&&this.uplinkConnection.onSinglePCReconnected(),this.remotePublishedUserMap.forEach((e=>{e.installEvents(),e.doSubscribe()})))};this.singlePC.on($V.CONNECTION_STATE_CHANGED,e),this.checkConnectionsToReconnect(),this.uplinkConnection instanceof Qx&&!this.uplinkConnection.getIsReconnecting()&&this.uplinkConnection.startReconnection()}}catch(aN){this._log.warn("reJoin fail ".concat(aN)),this.reset(),Xw.logFailedEvent({userId:this.userId,eventType:lD.REJOIN,error:aN}),this.emit("error",new Tb({code:fb.JOIN_ROOM_FAILED,message:QO({key:zO.REJOIN_ROOM_FAILED,data:{roomId:this._joinOptions.roomId}})}))}else this._log.warn("reJoin abort")}))}initialize(){return cb(this,null,(function*(){let{mainUrl:e,backupUrl:t}=this.getSignalChannelUrl(),i=this._signalChannel||function(e){let t=[...Dx.values()].find((t=>t.room.userId===e&&!t.room.isJoined));return t||null}(this.userId),n=!!(i&&i.isConnected&&i.keepAlive);return this._log.info("setup signal channel. reuse: ".concat(+n)),n?(i.url=e,i.backupUrl=t,i.room=this,this._signalChannel=i):this._signalChannel=new Ox({sdkAppId:this.sdkAppId,userId:this.userId,userSig:this.userSig,url:e,backupUrl:t,room:this}),this._networkQuality||(this._networkQuality=new eV({signalChannel:this._signalChannel,room:this}),this._networkQuality.on(eV.EVENT_NETWORK_QUALITY,(e=>{this.emit("network-quality",e)}))),IP(this,this._signalChannel).add(QM,(e=>{UO.emit(BO.SIGNAL_CONNECTION_STATE_CHANGED,eb({room:this},e)),this.emit("signal-connection-state-changed",e)})).add($M,(e=>{this.reset(),this.emit("error",e)})).add(rx.PEER_JOIN,(e=>{let{srcTinyId:t,userId:i,role:n}=e.data.data;this.userManager.addUser({userId:i,tinyId:t,role:n})})).add(rx.PEER_LEAVE,(e=>{let{userId:t,reason:i=0}=e.data.data;this.userManager.deleteUser(t,i)})).add(rx.UPDATE_REMOTE_MUTE_STAT,(e=>{this._lastHeartBeatTime>0&&Date.now()-this._lastHeartBeatTime>=1e4&&this.doHeartbeat(),this.onPublishedUserList(e.data)})).add(rx.CLIENT_BANNED,(e=>{let t=e.data.data,{reason:i}=t;if(Xw.uploadEvent({log:"stat-banned:".concat(i),userId:this.userId}),"user_time_out"===i)return this._log.warn("".concat(i," last heart beat time: ").concat(this._lastHeartBeatTime," interval: ").concat(Date.now()-this._lastHeartBeatTime,", visibility: ").concat(document.visibilityState)),void this.reJoin();this._log["kick"===i?"error":"info"]("user was banned because of [".concat(i,"]")),this.reset(),this.emit("banned",{reason:i})})),this._signalChannel.once(qM,(e=>{this.tinyId=e.signalInfo.tinyId,UO.emit(BO.JOIN_SIGNAL_CONNECTION_END,{room:this})})),UO.emit(BO.JOIN_SIGNAL_CONNECTION_START,{room:this}),yield this._signalChannel.connect(this._isUsingCachedSchedule?1e4:void 0),n}))}setSignalChannel(e){this._signalChannel=e,e||yP(this)}leave(){return cb(this,null,(function*(){var e;try{yield this.doHeartbeat()}catch(aD){}this._log.info("leave() => leaving room"),UO.emit(BO.LEAVE_SEND_CMD,{room:this}),null==(e=this._signalChannel)||e.send(ax)}))}clearNetworkQuality(){this._networkQuality&&(this._networkQuality.stop(),this._networkQuality=null)}closeConnections(){this.remotePublishedUserMap.forEach((e=>{this.closeDownLinkConnection(e.userId,"you exitRoom")}))}clearJoinTimeout(){clearTimeout(this._joinTimeout),this._joinTimeout=-1}startHeartbeat(){-1===this._heartbeat&&(this._heartbeat=Yw.run(PD,this.doHeartbeat.bind(this),{delay:2e3}))}stopHeartbeat(){-1!==this._heartbeat&&(this._log.info("stopHeartbeat"),Yw.clearTask(this._heartbeat),this._heartbeat=-1,this._lastHeartBeatTime=-1)}doHeartbeat(){return cb(this,null,(function*(){var e;let t=this.badCaseDetector.getMonitorFreeze(),i=yield this._stats.getStatsReport({uplinkConnection:this.uplinkConnection,downlinkConnections:this.remotePublishedUserMap,freezeMap:t});if(this.badCaseDetector.resetMonitor(),null==(e=this._signalChannel)||!e.isConnected)return;let n=this._signalChannel.isConnected?function(e){if(WL.has(e)){let t=WL.get(e).map((e=>({uint32_event_id:e.eventId,uint64_date:e.timestamp,str_userid:e.remoteUserId,str_event_json:e.eventDesc})));return WL.delete(e),t}return[]}(this.userId):[],r=eb({str_sdk_version:rN,uint64_datetime:(new Date).getTime(),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:NN[this._networkType]},msg_event_msg:n,str_acc_ip:this.getSignalInfo().relayIp,str_client_ip:this.getSignalInfo().clientIp},i);UO.emit(BO.HEARTBEAT_REPORT,{room:this,report:r}),this._signalChannel.send(cx,r),this.emit("heartbeat-report",tb(eb({},r),{bytes_sent:this._stats.totalBytesSent+this._signalChannel.bytesSent,bytes_received:this._stats.totalBytesReceived+this._signalChannel.bytesReceived}));let o=Date.now();this._lastHeartBeatTime>0&&o-this._lastHeartBeatTime>1e4&&this._log.warn("heartbeat took ".concat(o-this._lastHeartBeatTime)),this._signalChannel.isConnected&&(this._lastHeartBeatTime=o),!this._isRelayChanged&&this.isRelayMaybeFailed()&&(this.reJoin(),this._isRelayChanged=!0)}))}onPublishedUserList(e){if(!this.isJoined)return;let t=e.data.userList.map((e=>{let{userId:t,srcTinyId:i,flag:n}=e,r=this.remotePublishedUserMap.get(t);return r&&this._changeBigSmallRecords.has(t)&&this.checkSubscribeBigSmallVideo(r),{userId:t,tinyId:i,flag:n}}));UO.emit(BO.RECEIVED_PUBLISHED_USER_LIST,{room:this,publishedUserList:t}),this.userManager.setRemotePublishedUserList(t)}closeUplink(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"you unpublished";this.uplinkConnection&&(this.localTracks.size>0&&this.uplinkConnection.doUnpublish(),this.uplinkConnection.close(e),this.uplinkConnection=null),this.localTracks.forEach((e=>e.unpublish())),this.localTracks.clear()}createDownlinkConnection(e){let{userId:t,tinyId:i,flag:n}=e,r=new(this.singlePC?pU:zx)({userId:t,tinyId:i,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,flag:n});this.userManager.addRemotePublishedUser(r),this.installDownlinkEvents(r,t),this.emit("remote-published",r)}closeDownLinkConnection(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"remote user unpublished",i=this.remotePublishedUserMap.get(e);i&&(i.close(t),this.emit("remote-unpublished",i))}installDownlinkEvents(e,t){e.on("sei-message",(e=>{this.emit("sei-message",e)})),e.on("error",(e=>{let i=e.getCode();i!==fb.ICE_TRANSPORT_ERROR&&(i===fb.DOWNLINK_RECONNECTION_FAILED&&this.closeDownLinkConnection(t),this.emit("error",e))})),e.on("connection-state-changed",(t=>{this.emit("media-connection-state-changed",tb(eb({},t),{userId:e.userId}))})),e.on("firewall-restriction",(()=>{this.emit("firewall-restriction")}))}startSyncUserListInterval(){-1===this._syncUserListInterval&&(this._syncUserListInterval=Yw.run(PD,this.syncUserList.bind(this)))}stopSyncUserListInterval(){Yw.clearTask(this._syncUserListInterval),this._syncUserListInterval=-1}syncUserList(){return this.getUserList().then((e=>{this.userManager.setUserList(e)})).catch((e=>{this._log.debug("sync user list failed: ".concat(e))}))}getUserList(){var e;return null!=(e=this._signalChannel)&&e.isConnected?this._signalChannel.sendWaitForResponse({command:yx,responseCommand:rx.USER_LIST_RES,enableLog:!1,timeout:2e3}).then((e=>{let{data:t}=e,{code:i,message:n}=t;if(0===i)return(t.data&&t.data.userList||[]).map((e=>{let{userId:t,srcTinyId:i,role:n}=e;return{userId:t,tinyId:i,role:n}}));throw QO({key:zO.SIGNAL_RESPONSE_FAILED,data:{signalResponse:rx.USER_LIST_RES,code:i,message:n}})})):Promise.reject("not connected")}getAllConnections(){let e=[...this.remotePublishedUserMap.values()];return this.uplinkConnection&&e.push(this.uplinkConnection),e}isRelayMaybeFailed(){if(this._signalChannel&&!this._signalChannel.isOnline||!Ux)return!1;if(this.singlePC)return this.singlePC.reconnectionCount>6;let e=this.getAllConnections();if(0===e.length)return!1;for(let t=0;t{if(e instanceof Fx&&!e.getIsReconnecting()){let t=e.getPeerConnection();t&&t.connectionState===nD.CLOSED&&(this._log.warn("[".concat(e.getUserId(),"] pc is closed but not reconnect")),e.startReconnection())}}))}fallbackToMPC(){return cb(this,null,(function*(){var e;if(this._log.warn("fallback to multi pc"),Xw.uploadEvent({log:"stat-fallback",userId:this.userId}),this.enableSPC=!1,null==(e=this.singlePC)||e.close(),this.singlePC=null,yield this.reJoin(),this.uplinkConnection){let e=this.uplinkConnection;this.uplinkConnection=new Qx({userId:this.userId,tinyId:this.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,audioManager:this.audioManager}),e.isMainStreamPublished&&(yield this.uplinkConnection.publish({localAudioTrack:e.localMainAudioTrack,localVideoTrack:e.localMainVideoTrack,isAuxiliary:!1})),e.isAuxStreamPublished&&(yield this.uplinkConnection.publish({localAudioTrack:e.localAuxAudioTrack,localVideoTrack:e.localAuxVideoTrack,isAuxiliary:!0}))}this.remotePublishedUserMap.forEach((e=>{let t=new zx({userId:e.userId,tinyId:e.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,flag:e.flag,remoteAudioTrack:e.remoteAudioTrack,remoteVideoTrack:e.remoteVideoTrack,remoteAuxiliaryTrack:e.remoteAuxiliaryTrack});this.installDownlinkEvents(t,e.userId),this.remotePublishedUserMap.set(e.userId,t),e.isMainStreamSubscribed&&t.subscribe(e.subscribeState,"main"),e.isAuxStreamSubscribed&&t.subscribe(e.subscribeState,"auxiliary")}))}))}destroy(){this._isDestroyed||(this._signalChannel&&(this._log.info("destroying SignalChannel"),this._signalChannel.close(),this._signalChannel=null),super.destroy(),this._joinReject&&(this._joinReject(new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.CLIENT_DESTROYED,data:{funName:"join"}})})),this.clearJoinTimeout(),this.reset()),this.removeAllListeners())}switchRole(e){return cb(this,null,(function*(){this.role!==e&&("audience"===e&&this.uplinkConnection&&this.closeUplink("you switch role to audience"),yield this.doSwitchRole(e))}))}doSwitchRole(e){let t={command:vx,data:{role:"anchor"===e?20:21,privateMapKey:this.privateMapKey},responseCommand:rx.SWITCH_ROLE_RES,retries:1};return this._log.info("switchRole signal data: ".concat(JSON.stringify(t.data))),this._signalChannel.sendWaitForResponseWithRetry(t).then((t=>{let{code:i,message:n}=t.data;if(0!==i)throw new Tb({code:fb.SWITCH_ROLE_FAILED,message:QO({key:zO.SWITCH_ROLE_FAILED,data:{message:n,code:i}})});this.role=e})).catch((e=>{throw e instanceof Tb&&e.getCode()===fb.API_CALL_TIMEOUT&&(e=new Tb({code:fb.SWITCH_ROLE_FAILED,message:QO({key:zO.SWITCH_ROLE_TIMEOUT})})),this._log.error(e),e}))}publish(){for(var e=arguments.length,t=new Array(e),i=0;i{t instanceof sL&&(t instanceof dL?i.audio=t:e.audio=t),t instanceof aL&&(t instanceof lL&&2===t.mediaType?i.video=t:e.video=t)}));let n=EU(e),r=EU(i);(!n||!r)&&!this.uplinkConnection&&(this.singlePC?this.uplinkConnection=new dU({userId:this.userId,tinyId:this.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,audioManager:this.audioManager}):this.uplinkConnection=new Qx({userId:this.userId,tinyId:this.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,audioManager:this.audioManager}),this.uplinkConnection.on("connection-state-changed",(e=>{this.emit("media-connection-state-changed",tb(eb({},e),{userId:this.userId}))})),this.uplinkConnection.on("firewall-restriction",(()=>{this.emit("firewall-restriction")})),this.uplinkConnection.on("error",(e=>{let t=e.getCode();t!==fb.ICE_TRANSPORT_ERROR&&(t===fb.UPLINK_RECONNECTION_FAILED&&this.closeUplink(),this.emit("error",e))})));let o=t.map((e=>e.kind)).join(",");n||(this._log.info("publish() => main ".concat(o)),yield this.uplinkConnection.publish({localAudioTrack:e.audio,localVideoTrack:e.video,isAuxiliary:!1}),this._log.info("main is published")),r||(this._log.info("publish() => aux ".concat(o)),yield this.uplinkConnection.publish({localAudioTrack:i.audio,localVideoTrack:i.video,isAuxiliary:!0}),this._log.info("aux is published"))}))}unpublish(){for(var e=arguments.length,t=new Array(e),i=0;i{!t.mediaTrack||(t instanceof sL&&(t instanceof dL?i.audio=t:e.audio=t),t instanceof aL&&(t instanceof lL&&2===t.mediaType?i.video=t:e.video=t))}));try{let n=t.map((e=>e.kind)).join(",");EU(e)||(this._log.info("unpublish() => main ".concat(n)),yield this.uplinkConnection.unpublish({localAudioTrack:e.audio,localVideoTrack:e.video})),EU(i)||(this._log.info("unpublish() => aux ".concat(n)),yield this.uplinkConnection.unpublish({localAudioTrack:i.audio,localVideoTrack:i.video}))}catch(r){}0===this.localTracks.size&&!this.audioManager.mixedAudioTrack&&this.closeUplink("you unpublished")}))}addTrack(e){if(!this.uplinkConnection||!e.mediaTrack)return Promise.resolve();let t=this.uplinkConnection.addTrack(e);return e.publish(this,t),t}removeTrack(e){return this.uplinkConnection&&e.mediaTrack?this.uplinkConnection.removeTrack(e).then((t=>(e.unpublish(),t))):Promise.resolve()}replaceTrack(e){return this.uplinkConnection&&e.mediaTrack?this.uplinkConnection.replaceTrack(e).then((t=>{UO.emit(BO.LOCAL_TRACK_REPLACED,{track:e})})):Promise.resolve()}setBandWidth(e){return cb(this,null,(function*(){!this.uplinkConnection||(yield this.uplinkConnection.setBandwidth(e),yield this.uplinkConnection.sendMediaSettings())}))}subscribe(){for(var e=arguments.length,t=new Array(e),i=0;i!e.isSubscribed)),0===t.length)return;let{userId:e}=t[0],i=this.remotePublishedUserMap.get(e);if(!i)return;let n=t.find((e=>2===e.mediaType))?"auxiliary":"main";try{let r=eb({},i.subscribeState);t.forEach((e=>{switch(e.mediaType){case 1:r.audio=!0;break;case 4:r.video=!0;break;case 2:r.auxiliary=!0}}));let o=this._changeBigSmallRecords.get(e);o&&o.options.smallVideo&&i.muteState.hasSmall&&r.video&&(r.video=!1,r.smallVideo=!0),UO.emit(BO.SUBSCRIBE_START,{room:this,streamType:n,remotePublishedUser:i,subscribeState:r}),this._log.info("subscribe() => ".concat(e," ").concat(n," [").concat(Gx(r),"] prev: [").concat(Gx(i.subscribeState),"]")),yield i.subscribe(r,n);for(let e of t)e.mediaTrack||(yield e.waitHasMediaTrack());i.remoteVideoTrack.setMediaType(r.smallVideo?8:4),UO.emit(BO.SUBSCRIBE_SUCCESS,{room:this,streamType:n,remotePublishedUser:i})}catch(lN){let i=lN instanceof Tb?lN.getCode():fb.UNKNOWN,r=lN;throw lN instanceof Tb?i===fb.REMOTE_STREAM_NOT_EXIST&&(r=new Tb({code:fb.API_CALL_ABORTED,message:QO({key:zO.API_CALL_ABORTED,data:{message:lN.message,userId:e,streamType:n}})}),this._log.warn(r)):(r=new Tb({code:i,message:QO({key:zO.SUBSCRIBE_FAILED,data:{message:lN.message,userId:e,streamType:n}})}),this._log.error(r)),r}}))}unsubscribe(){for(var e=arguments.length,t=new Array(e),i=0;i2===e.mediaType))?"auxiliary":"main";this._log.info("unsubscribe() => ".concat(e," ").concat(n));try{yield i.unsubscribe({remoteTracks:t,streamType:n})}catch(lN){this._log.warn("unsubscribe() => failed ".concat(lN))}t.forEach((e=>{e.unsubscribe(),8===e.mediaType&&e.setMediaType(4)})),UO.emit(BO.UNSUBSCRIBE_SUCCESS,{room:this,streamType:n,remotePublishedUser:i})}))}setEncodedDataProcessingListener(e){throw new Error("Method not implemented.")}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1?arguments[1]:void 0;if(e<=0)return this._enableAudioVolumeEvaluation=!1,void Yw.clearTask(this._audioVolumeIntervalId);e=Math.floor(Math.max(e,100)),UO.emit(BO.AUDIO_LEVEL_INTERVAL,{interval:e}),this._audioVolumeIntervalId&&Yw.clearTask(this._audioVolumeIntervalId),this._enableAudioVolumeEvaluation=!0,this._audioVolumeIntervalId=Yw.run(LD,(()=>{var e;let t=[];null==(e=this.remotePublishedUserMap)||e.forEach((e=>{if(e.muteState.hasAudio){let i=Math.floor(100*e.remoteAudioTrack.getAudioLevel());t.push({userId:e.userId,volume:i})}})),this.emit("audio-volume",t)}),{fps:1e3/e,backgroundTask:t})}getLocalAudioStats(){return cb(this,null,(function*(){let e={};if(e[this.userId]={bytesSent:0,packetsSent:0},this.uplinkConnection){let t=yield this._stats.getSenderStats(this.uplinkConnection);e[this.userId]={bytesSent:t.audio.bytesSent,packetsSent:t.audio.packetsSent}}return e}))}getLocalVideoStats(){return cb(this,null,(function*(){let e={};if(e[this.userId]={bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0},this.uplinkConnection){let{video:{bytesSent:t,packetsSent:i,framesEncoded:n,framesSent:r,frameWidth:o,frameHeight:s}}=yield this._stats.getSenderStats(this.uplinkConnection);e[this.userId]={bytesSent:t,packetsSent:i,framesEncoded:n,framesSent:r,frameWidth:o,frameHeight:s}}return e}))}getTransportStats(){return cb(this,null,(function*(){let e={rtt:0,downlinksRTT:{}};if(this.uplinkConnection){let t=yield this._stats.getSenderStats(this.uplinkConnection);e.rtt=t.rtt}for(let[,t]of this.remotePublishedUserMap){let i=yield this._stats.getReceiverStats(t);e.downlinksRTT[i.userId]=i.rtt}return e}))}getRemoteVideoStats(e){return cb(this,null,(function*(){let t={};for(let[i,n]of this.remotePublishedUserMap)"main"===e&&n.muteState.hasVideo&&(t[i]=n.remoteVideoTrack.stat),"auxiliary"===e&&n.muteState.hasAuxiliary&&(t[i]=n.remoteAuxiliaryTrack.stat);return t}))}getRemoteAudioStats(){return cb(this,null,(function*(){let e={};for(let[t,i]of this.remotePublishedUserMap)i.muteState.hasAudio&&(e[t]=i.remoteAudioTrack.stat);return e}))}setTurnServer(e,t){this._log.info("set turn server: ".concat(JSON.stringify(e)," ").concat(t||""));let i=[];Array.isArray(e)?e.forEach((e=>i.push(yb.getTurnServer(e)))):yb.isPlainObject(e)&&i.push(yb.getTurnServer(e)),this._turnServers=i,t&&(this._iceTransportPolicy=t)}sendStartMixTranscode(e){return this._signalChannel.sendWaitForResponse({command:Sx,data:e,timeout:5e3,responseCommand:rx.START_MIX_TRANSCODE_RES,commandDesc:"startMixTranscode"})}sendStopMixTranscode(e){return this._signalChannel.sendWaitForResponse({command:Ix,data:e,timeout:5e3,responseCommand:rx.STOP_MIX_TRANSCODE_RES,commandDesc:"stopMixTranscode"})}sendStartPublishCDN(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this._signalChannel.sendWaitForResponse({command:t?fx:Tx,data:e,timeout:5e3,responseCommand:t?rx.START_PUBLISH_TENCENT_CDN_RES:rx.START_PUBLISH_GIVEN_CDN_RES,commandDesc:"startPublishCDN"})}sendStopPublishCDN(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this._signalChannel.sendWaitForResponse({command:t?gx:Ex,data:e,timeout:5e3,responseCommand:t?rx.STOP_PUBLISH_TENCENT_CDN_RES:rx.STOP_PUBLISH_GIVEN_CDN_RES,commandDesc:"stopPublishCDN"})}sendAbilityStatus(e){var t;null==(t=this._signalChannel)||t.sendWaitForResponse({command:Nx,data:e,timeout:5e3,responseCommand:rx.ABILITY_STATUS_REPORT_RESULT,commandDesc:"ability status report"}).catch((e=>{}))}getIceServers(){return 0===this._turnServers.length&&this.scheduleResult.iceServers?this.scheduleResult.iceServers:this._turnServers}getIceTransportPolicy(){return this._iceTransportPolicy||this.scheduleResult.iceTransportPolicy||"all"}getLogger(){return this._log}enableAIVoice(){throw new Error("Method not implemented.")}getSignalChannelUrl(){let e={mainUrl:"",backupUrl:""},t=yb.getEnv();return t?(e.mainUrl="wss://".concat(t,".rtc.qq.com"),e.backupUrl=e.mainUrl):this.proxy_ws?(e.mainUrl=this.proxy_ws,e.backupUrl=e.mainUrl):Array.isArray(this.scheduleResult.domains)&&this.scheduleResult.domains.length>0&&(e.mainUrl="wss://".concat(this.scheduleResult.domains[0]),e.backupUrl=e.mainUrl,this.scheduleResult.domains[1]&&(e.backupUrl="wss://".concat(this.scheduleResult.domains[1]))),e}getSignalInfo(){var e;return(null==(e=this._signalChannel)?void 0:e.getSignalInfo())||{clientIp:"",relayIp:""}}reset(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.stopSyncUserListInterval(),this.stopHeartbeat(),this.closeConnections(),this.clearNetworkQuality(),this.closeUplink("you exitRoom"),this._signalChannel&&(e&&this._signalChannel.keepAlive&&this._signalChannel.isConnected?this._signalChannel.stopKeepAliveIn(3600):this._signalChannel.close(),this.setSignalChannel(null)),this._stats.reset(),this.userManager.clear(),this.userManager.removeAllListeners(),this.singlePC&&(this.singlePC.close(),this.singlePC=null),this.scheduleResult={domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}}checkSubscribeBigSmallVideo(e){return cb(this,null,(function*(){let t=null==e?void 0:e.muteState.hasSmall,i=null==e?void 0:e.muteState.hasVideo;if(!t&&!i||!e.isBigStreamSubscribed&&!e.isSmallStreamSubscribed)return;let n=e.getUserId(),r=this._changeBigSmallRecords.get(n)||{},{subscribeState:o}=e,{options:s,isSubscribing:a,reSubscribeCount:c}=r;if(s.video&&o.video||s.smallVideo&&o.smallVideo&&t||a)return;let l={audio:e.remoteAudioTrack.isSubscribed||e.remoteAudioTrack.isSubscribing,auxiliary:e.remoteAuxiliaryTrack.isSubscribed||e.remoteAuxiliaryTrack.isSubscribing,video:s.video,smallVideo:s.smallVideo};if(t&&e.isBigStreamSubscribed||e.isSmallStreamSubscribed)try{s&&!a&&c>=1&&(r.isSubscribing=!0,r.reSubscribeCount=c-1,!t&&e.isSmallStreamSubscribed&&(l.video=!0,l.smallVideo=!1),yield null==e?void 0:e.subscribe(l,"main"),e.remoteVideoTrack.setMediaType(l.smallVideo?8:4),this._log.info("change [".concat(n,"] to ").concat(l.smallVideo?"small":"big"," video successfully. count ").concat(OD-r.reSubscribeCount,".")),r.isSubscribing=!1,r.reSubscribeCount=OD)}catch(u){this._log.info("change [".concat(n,"] to ").concat(l.smallVideo?"small":"big"," video failed. count ").concat(OD-r.reSubscribeCount,".")),r.isSubscribing=!1,0===c&&this._changeBigSmallRecords.delete(n)}}))}changeType(e,t){let i={options:{video:!e,smallVideo:e},isSubscribing:!1,reSubscribeCount:OD};this._changeBigSmallRecords.set(t.userId,i),this._log.info("set [".concat(t.userId,"] video prefer type: ").concat(e?"small":"big"))}get smallStreamConfig(){return this._smallStreamConfig}_initBusinessInfo(e){this._businessInfo=e.businessInfo;let t={};if(mU(e.businessInfo)&&(t=JSON.parse(e.businessInfo)),!fU(e.pureAudioPushMode)){if(!Number.isInteger(Number(e.pureAudioPushMode)))throw new Tb({code:fb.INVALID_PARAMETER,message:QO({key:zO.INVALID_PURE_AUDIO})});this._pureAudioPushMode=e.pureAudioPushMode,t.Str_uc_params||(t.Str_uc_params={}),t.Str_uc_params.pure_audio_push_mod=this._pureAudioPushMode}if(!fU(e.userDefineRecordId)){let i=/^[A-Za-z0-9_-]{1,64}$/gi;if(null===e.userDefineRecordId.match(i))throw new Tb({code:fb.INVALID_PARAMETER,message:QO({key:zO.INVALID_USER_DEFINE_RECORDID})});t.Str_uc_params||(t.Str_uc_params={}),t.Str_uc_params.userdefine_record_id=e.userDefineRecordId}if(!fU(e.userDefinePushArgs)){if(!(mU(e.userDefinePushArgs)&&String(e.userDefinePushArgs)&&String(e.userDefinePushArgs).length<=256))throw new Tb({code:fb.INVALID_PARAMETER,message:QO({key:zO.INVALID_USER_DEFINE_PUSH_ARGS})});t.Str_uc_params||(t.Str_uc_params={}),t.Str_uc_params.userdefine_push_args=e.userDefinePushArgs}EU(t)||(this._businessInfo=JSON.stringify(t))}sendSEI(e,t){var i;null==(i=this.uplinkConnection)||i.sendSEI(e,t)}};return ob([Hw(["left",Ww.INIT],"joined"),iV({settings:{retries:1,timeout:0},onError(e,t,i){this._isUsingCachedSchedule&&!this._isDestroyed?(this._log.warn("is using cached schedule, retry join"),fV(!0),this.reset(),t()):this._signalChannel&&this._signalChannel.isConnected&&this._signalChannel.keepAlive?(this._log.warn("is using keepAlive ws, retry join"),this._signalChannel.close(),this.reset(),t()):(this.reset(),this._log.error(e),i(e))}}),nL((e=>{let t=new JM;return function(i,n,r){return cb(this,null,(function*(){let o=String(i.roomId||i.strRoomId);if(this.userId=i.userId,this.sdkAppId=i.sdkAppId,this.userSig=i.userSig,this._log.setSdkAppId(this.sdkAppId),this._log.setUserId(this.userId),this.scene=n,i.privateMapKey=i.privateMapKey||"",this.isJoined)throw new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:o,sdkAppId:this.sdkAppId,room:this}))throw new Tb({code:fb.INVALID_OPERATION,message:QO({key:zO.REPEAT_JOIN,data:this.userId})});t.add({room:this,roomId:o}),this.role=21===i.role?"audience":"anchor",this._log.info("Join() => joining room: ".concat(o," useStringRoomId: ").concat(this.useStringRoomId," scene: ").concat(this.scene," role: ").concat(this.role)),UO.emit(BO.JOIN_START,{room:this,roomId:o,params:i}),this.checkSystemResult=yield JO.checkSystemRequirementsInternal(),this.checkDestroy();let s=yb.getEnv();s||(s=RN.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(VN.OLD_CLOUD_LADDER)?s=RN.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(VN.WEBRTC)&&(s=RN.WEBRTC))),Xw.setConfig({env:s,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:o}),zM.call(this);let{isH264EncodeSupported:a,isVp8EncodeSupported:c}=this.checkSystemResult.detail;if(!JO.isWebRTCSupported()||!a&&!c)throw new Tb({code:fb.NOT_SUPPORTED,message:QO({key:zO.NOT_SUPPORTED_WEBRTC})});try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!yb.getEnv()&&(yield this.schedule(o,r,oN));let t=yield e.call(this,i,n,r);return this.roomId=o,this._joinedTimestamp=yb.performanceNow(),UO.emit(BO.JOIN_SUCCESS,{room:this}),Xw.uploadEvent({log:"stat-conv-".concat(Number(qk),"-").concat(location.hostname),userId:this.userId}),t}catch(d){throw t.delete({room:this,roomId:o}),UO.emit(BO.JOIN_FAILED,{room:this,error:d}),d}}))}}))],SU.prototype,"join",1),ob([Hw("joined","left",{ignoreError:!0,success(){this.reset(!0)}}),nL((e=>function(){return cb(this,null,(function*(){UO.emit(BO.LEAVE_START,{room:this}),yield e.call(this),UO.emit(BO.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))})),function(e){return function(t,i,n){let r=n.value;return n.value=function(){var t,i;let n=[];for(var o=arguments.length,s=new Array(o),a=0;an.push(e))),null==(i=jV.get(this))||i.forEach((e=>e.forEach((e=>n.push(e))))),n.forEach((t=>{t.reject(new Tb({code:fb.API_CALL_ABORTED,message:e}))})),HV.delete(this),jV.delete(this),r.apply(this,s)},n}}("leave room"),nV({fnName:"publish",validateArgs:!1}),nV({fnName:"unsubscribe",validateArgs:!1})],SU.prototype,"leave",1),ob([GV(),nL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;ne.outMediaTrack&&"capture"===e.state)),!i.length))return;UO.emit("61",{room:this}),i.forEach((e=>{"audio"===e.kind&&this.audioManager.addAudioTrack(e)}));let t=e.apply(this,i);return i.forEach((e=>{var i;e.publish(this,t),"audio"===e.kind&&(null==(i=this.audioManager.localMixAudioTrack)||i.publish(this,t))})),t}))})),iV({settings:{retries:sD,timeout:e=>tO(e)},onError(e,t,i){var n;null!=(n=e.message)&&n.includes("timeout")?(this._log.warn("publish timeout"),t()):(this._log.error("publish failed: ".concat(e)),i(e),UO.emit(BO.PUBLISH_FAILED,{room:this}))}})],SU.prototype,"publish",1),ob([nV({fnName:"publish",callback(){for(var e,t=arguments.length,i=new Array(t),n=0;ne.unpublish())))}}),function(e){return function(t,i,n){let r=n.value;return n.value=function(){for(var t=arguments.length,i=new Array(t),n=0;n{if(0===n)return!0;let r=!0;return t.args.forEach((e=>{i.find((t=>t===e))||(r=!1)})),!r||(t.reject(new Tb({code:fb.API_CALL_ABORTED,message:e})),!1)}));HV.set(this,t)}return r.apply(this,i)},n}}("api-call"),GV(),nL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{"audio"===e.kind&&this.audioManager.removeAudioTrack(e)}));let r=e.apply(this,i);return i.forEach((e=>e.unpublish())),r}))],SU.prototype,"unpublish",1),ob([WV((function(){for(var e=arguments.length,t=new Array(e),i=0;ifunction(){for(var t=arguments.length,i=new Array(t),n=0;n!e.isSubscribed&&e.subscribe(r))),r})),iV({settings:{retries:sD,timeout:e=>tO(e)},onError(e,t,i,n){e.message.includes("timeout")?(this._log.warn("subscribe timeout"),t()):(this._log.error("subscribe failed: ".concat(e)),i(e),UO.emit(BO.SUBSCRIBE_FAILED,{room:this,remoteTracks:n}))}})],SU.prototype,"subscribe",1),ob([nV({fnName:"subscribe",callback(){for(var e=arguments.length,t=new Array(e),i=0;i{let t=this.remotePublishedUserMap.get(e.userId);t&&!t.isMainStreamSubscribed&&!t.isAuxStreamSubscribed&&t.close("you unsubscribed")}))}}),WV((function(){for(var e=arguments.length,t=new Array(e),i=0;it=>{const i=o.call(t);return e[i]||(e[i]=i.slice(8,-1).toLowerCase())})(Object.create(null)),c=e=>(e=e.toLowerCase(),t=>a(t)===e),l=e=>t=>typeof t===e,{isArray:d}=Array,u=l("undefined");function h(e){return null!==e&&!u(e)&&null!==e.constructor&&!u(e.constructor)&&f(e.constructor.isBuffer)&&e.constructor.isBuffer(e)}const p=c("ArrayBuffer");function m(e){let t;return t="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(e):e&&e.buffer&&p(e.buffer),t}const _=l("string"),f=l("function"),g=l("number"),T=e=>null!==e&&"object"===typeof e,E=e=>!0===e||!1===e,S=e=>{if("object"!==a(e))return!1;const t=s(e);return(null===t||t===Object.prototype||null===Object.getPrototypeOf(t))&&!(Symbol.toStringTag in e)&&!(Symbol.iterator in e)},I=c("Date"),y=c("File"),v=c("Blob"),A=c("FileList"),R=e=>T(e)&&f(e.pipe),C=e=>{let t;return e&&("function"===typeof FormData&&e instanceof FormData||f(e.append)&&("formdata"===(t=a(e))||"object"===t&&f(e.toString)&&"[object FormData]"===e.toString()))},b=c("URLSearchParams"),k=e=>e.trim?e.trim():e.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"");function N(e,t,{allOwnKeys:i=!1}={}){if(null===e||"undefined"===typeof e)return;let n,r;if("object"!==typeof e&&(e=[e]),d(e))for(n=0,r=e.length;n0)if(n=i[r],t===n.toLowerCase())return n;return null}const O=(()=>"undefined"!==typeof globalThis?globalThis:"undefined"!==typeof self?self:"undefined"!==typeof window?window:global)(),w=e=>!u(e)&&e!==O;function P(){const{caseless:e}=w(this)&&this||{},t={},i=(i,n)=>{const r=e&&D(t,n)||n;S(t[r])&&S(i)?t[r]=P(t[r],i):S(i)?t[r]=P({},i):d(i)?t[r]=i.slice():t[r]=i};for(let n=0,r=arguments.length;n(N(t,((t,n)=>{i&&f(t)?e[n]=r(t,i):e[n]=t}),{allOwnKeys:n}),e),M=e=>(65279===e.charCodeAt(0)&&(e=e.slice(1)),e),x=(e,t,i,n)=>{e.prototype=Object.create(t.prototype,n),e.prototype.constructor=e,Object.defineProperty(e,"super",{value:t.prototype}),i&&Object.assign(e.prototype,i)},V=(e,t,i,n)=>{let r,o,a;const c={};if(t=t||{},null==e)return t;do{r=Object.getOwnPropertyNames(e),o=r.length;while(o-- >0)a=r[o],n&&!n(a,e,t)||c[a]||(t[a]=e[a],c[a]=!0);e=!1!==i&&s(e)}while(e&&(!i||i(e,t))&&e!==Object.prototype);return t},U=(e,t,i)=>{e=String(e),(void 0===i||i>e.length)&&(i=e.length),i-=t.length;const n=e.indexOf(t,i);return-1!==n&&n===i},F=e=>{if(!e)return null;if(d(e))return e;let t=e.length;if(!g(t))return null;const i=new Array(t);while(t-- >0)i[t]=e[t];return i},B=(e=>t=>e&&t instanceof e)("undefined"!==typeof Uint8Array&&s(Uint8Array)),H=(e,t)=>{const i=e&&e[Symbol.iterator],n=i.call(e);let r;while((r=n.next())&&!r.done){const i=r.value;t.call(e,i[0],i[1])}},j=(e,t)=>{let i;const n=[];while(null!==(i=e.exec(t)))n.push(i);return n},G=c("HTMLFormElement"),W=e=>e.toLowerCase().replace(/[-_\s]([a-z\d])(\w*)/g,(function(e,t,i){return t.toUpperCase()+i})),J=(({hasOwnProperty:e})=>(t,i)=>e.call(t,i))(Object.prototype),z=c("RegExp"),K=(e,t)=>{const i=Object.getOwnPropertyDescriptors(e),n={};N(i,((i,r)=>{let o;!1!==(o=t(i,r,e))&&(n[r]=o||i)})),Object.defineProperties(e,n)},q=e=>{K(e,((t,i)=>{if(f(e)&&-1!==["arguments","caller","callee"].indexOf(i))return!1;const n=e[i];f(n)&&(t.enumerable=!1,"writable"in t?t.writable=!1:t.set||(t.set=()=>{throw Error("Can not rewrite read-only method '"+i+"'")}))}))},Y=(e,t)=>{const i={},n=e=>{e.forEach((e=>{i[e]=!0}))};return d(e)?n(e):n(String(e).split(t)),i},Q=()=>{},X=(e,t)=>(e=+e,Number.isFinite(e)?e:t),$="abcdefghijklmnopqrstuvwxyz",Z="0123456789",ee={DIGIT:Z,ALPHA:$,ALPHA_DIGIT:$+$.toUpperCase()+Z},te=(e=16,t=ee.ALPHA_DIGIT)=>{let i="";const{length:n}=t;while(e--)i+=t[Math.random()*n|0];return i};function ie(e){return!!(e&&f(e.append)&&"FormData"===e[Symbol.toStringTag]&&e[Symbol.iterator])}const ne=e=>{const t=new Array(10),i=(e,n)=>{if(T(e)){if(t.indexOf(e)>=0)return;if(!("toJSON"in e)){t[n]=e;const r=d(e)?[]:{};return N(e,((e,t)=>{const o=i(e,n+1);!u(o)&&(r[t]=o)})),t[n]=void 0,r}}return e};return i(e,0)},re=c("AsyncFunction"),oe=e=>e&&(T(e)||f(e))&&f(e.then)&&f(e.catch);var se={isArray:d,isArrayBuffer:p,isBuffer:h,isFormData:C,isArrayBufferView:m,isString:_,isNumber:g,isBoolean:E,isObject:T,isPlainObject:S,isUndefined:u,isDate:I,isFile:y,isBlob:v,isRegExp:z,isFunction:f,isStream:R,isURLSearchParams:b,isTypedArray:B,isFileList:A,forEach:N,merge:P,extend:L,trim:k,stripBOM:M,inherits:x,toFlatObject:V,kindOf:a,kindOfTest:c,endsWith:U,toArray:F,forEachEntry:H,matchAll:j,isHTMLForm:G,hasOwnProperty:J,hasOwnProp:J,reduceDescriptors:K,freezeMethods:q,toObjectSet:Y,toCamelCase:W,noop:Q,toFiniteNumber:X,findKey:D,global:O,isContextDefined:w,ALPHABET:ee,generateString:te,isSpecCompliantForm:ie,toJSONObject:ne,isAsyncFn:re,isThenable:oe};function ae(e,t,i,n,r){Error.call(this),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.message=e,this.name="AxiosError",t&&(this.code=t),i&&(this.config=i),n&&(this.request=n),r&&(this.response=r)}se.inherits(ae,Error,{toJSON:function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:se.toJSONObject(this.config),code:this.code,status:this.response&&this.response.status?this.response.status:null}}});const ce=ae.prototype,le={};["ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION","ECONNABORTED","ETIMEDOUT","ERR_NETWORK","ERR_FR_TOO_MANY_REDIRECTS","ERR_DEPRECATED","ERR_BAD_RESPONSE","ERR_BAD_REQUEST","ERR_CANCELED","ERR_NOT_SUPPORT","ERR_INVALID_URL"].forEach((e=>{le[e]={value:e}})),Object.defineProperties(ae,le),Object.defineProperty(ce,"isAxiosError",{value:!0}),ae.from=(e,t,i,n,r,o)=>{const s=Object.create(ce);return se.toFlatObject(e,s,(function(e){return e!==Error.prototype}),(e=>"isAxiosError"!==e)),ae.call(s,e.message,t,i,n,r),s.cause=e,s.name=e.name,o&&Object.assign(s,o),s};var de=ae,ue=null;function he(e){return se.isPlainObject(e)||se.isArray(e)}function pe(e){return se.endsWith(e,"[]")?e.slice(0,-2):e}function me(e,t,i){return e?e.concat(t).map((function(e,t){return e=pe(e),!i&&t?"["+e+"]":e})).join(i?".":""):t}function _e(e){return se.isArray(e)&&!e.some(he)}const fe=se.toFlatObject(se,{},null,(function(e){return/^is[A-Z]/.test(e)}));function ge(e,t,i){if(!se.isObject(e))throw new TypeError("target must be an object");t=t||new(ue||FormData),i=se.toFlatObject(i,{metaTokens:!0,dots:!1,indexes:!1},!1,(function(e,t){return!se.isUndefined(t[e])}));const n=i.metaTokens,r=i.visitor||d,o=i.dots,s=i.indexes,a=i.Blob||"undefined"!==typeof Blob&&Blob,c=a&&se.isSpecCompliantForm(t);if(!se.isFunction(r))throw new TypeError("visitor must be a function");function l(e){if(null===e)return"";if(se.isDate(e))return e.toISOString();if(!c&&se.isBlob(e))throw new de("Blob is not supported. Use a Buffer instead.");return se.isArrayBuffer(e)||se.isTypedArray(e)?c&&"function"===typeof Blob?new Blob([e]):Buffer.from(e):e}function d(e,i,r){let a=e;if(e&&!r&&"object"===typeof e)if(se.endsWith(i,"{}"))i=n?i:i.slice(0,-2),e=JSON.stringify(e);else if(se.isArray(e)&&_e(e)||(se.isFileList(e)||se.endsWith(i,"[]"))&&(a=se.toArray(e)))return i=pe(i),a.forEach((function(e,n){!se.isUndefined(e)&&null!==e&&t.append(!0===s?me([i],n,o):null===s?i:i+"[]",l(e))})),!1;return!!he(e)||(t.append(me(r,i,o),l(e)),!1)}const u=[],h=Object.assign(fe,{defaultVisitor:d,convertValue:l,isVisitable:he});function p(e,i){if(!se.isUndefined(e)){if(-1!==u.indexOf(e))throw Error("Circular reference detected in "+i.join("."));u.push(e),se.forEach(e,(function(e,n){const o=!(se.isUndefined(e)||null===e)&&r.call(t,e,se.isString(n)?n.trim():n,i,h);!0===o&&p(e,i?i.concat(n):[n])})),u.pop()}}if(!se.isObject(e))throw new TypeError("data must be an object");return p(e),t}var Te=ge;function Ee(e){const t={"!":"%21","'":"%27","(":"%28",")":"%29","~":"%7E","%20":"+","%00":"\0"};return encodeURIComponent(e).replace(/[!'()~]|%20|%00/g,(function(e){return t[e]}))}function Se(e,t){this._pairs=[],e&&Te(e,this,t)}const Ie=Se.prototype;Ie.append=function(e,t){this._pairs.push([e,t])},Ie.toString=function(e){const t=e?function(t){return e.call(this,t,Ee)}:Ee;return this._pairs.map((function(e){return t(e[0])+"="+t(e[1])}),"").join("&")};var ye=Se;function ve(e){return encodeURIComponent(e).replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,"+").replace(/%5B/gi,"[").replace(/%5D/gi,"]")}function Ae(e,t,i){if(!t)return e;const n=i&&i.encode||ve,r=i&&i.serialize;let o;if(o=r?r(t,i):se.isURLSearchParams(t)?t.toString():new ye(t,i).toString(n),o){const t=e.indexOf("#");-1!==t&&(e=e.slice(0,t)),e+=(-1===e.indexOf("?")?"?":"&")+o}return e}class Re{constructor(){this.handlers=[]}use(e,t,i){return this.handlers.push({fulfilled:e,rejected:t,synchronous:!!i&&i.synchronous,runWhen:i?i.runWhen:null}),this.handlers.length-1}eject(e){this.handlers[e]&&(this.handlers[e]=null)}clear(){this.handlers&&(this.handlers=[])}forEach(e){se.forEach(this.handlers,(function(t){null!==t&&e(t)}))}}var Ce=Re,be={silentJSONParsing:!0,forcedJSONParsing:!0,clarifyTimeoutError:!1},ke=(i(8858),i(1318),i(3228),"undefined"!==typeof URLSearchParams?URLSearchParams:ye),Ne="undefined"!==typeof FormData?FormData:null,De="undefined"!==typeof Blob?Blob:null,Oe={isBrowser:!0,classes:{URLSearchParams:ke,FormData:Ne,Blob:De},protocols:["http","https","file","blob","url","data"]};const we="undefined"!==typeof window&&"undefined"!==typeof document,Pe=(e=>we&&["ReactNative","NativeScript","NS"].indexOf(e)<0)("undefined"!==typeof navigator&&navigator.product),Le=(()=>"undefined"!==typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope&&"function"===typeof self.importScripts)();var Me={...n,...Oe};function xe(e,t){return Te(e,new Me.classes.URLSearchParams,Object.assign({visitor:function(e,t,i,n){return Me.isNode&&se.isBuffer(e)?(this.append(t,e.toString("base64")),!1):n.defaultVisitor.apply(this,arguments)}},t))}function Ve(e){return se.matchAll(/\w+|\[(\w*)]/g,e).map((e=>"[]"===e[0]?"":e[1]||e[0]))}function Ue(e){const t={},i=Object.keys(e);let n;const r=i.length;let o;for(n=0;n=e.length;if(o=!o&&se.isArray(n)?n.length:o,a)return se.hasOwnProp(n,o)?n[o]=[n[o],i]:n[o]=i,!s;n[o]&&se.isObject(n[o])||(n[o]=[]);const c=t(e,i,n[o],r);return c&&se.isArray(n[o])&&(n[o]=Ue(n[o])),!s}if(se.isFormData(e)&&se.isFunction(e.entries)){const i={};return se.forEachEntry(e,((e,n)=>{t(Ve(e),n,i,0)})),i}return null}var Be=Fe;function He(e,t,i){if(se.isString(e))try{return(t||JSON.parse)(e),se.trim(e)}catch(n){if("SyntaxError"!==n.name)throw n}return(i||JSON.stringify)(e)}const je={transitional:be,adapter:["xhr","http"],transformRequest:[function(e,t){const i=t.getContentType()||"",n=i.indexOf("application/json")>-1,r=se.isObject(e);r&&se.isHTMLForm(e)&&(e=new FormData(e));const o=se.isFormData(e);if(o)return n&&n?JSON.stringify(Be(e)):e;if(se.isArrayBuffer(e)||se.isBuffer(e)||se.isStream(e)||se.isFile(e)||se.isBlob(e))return e;if(se.isArrayBufferView(e))return e.buffer;if(se.isURLSearchParams(e))return t.setContentType("application/x-www-form-urlencoded;charset=utf-8",!1),e.toString();let s;if(r){if(i.indexOf("application/x-www-form-urlencoded")>-1)return xe(e,this.formSerializer).toString();if((s=se.isFileList(e))||i.indexOf("multipart/form-data")>-1){const t=this.env&&this.env.FormData;return Te(s?{"files[]":e}:e,t&&new t,this.formSerializer)}}return r||n?(t.setContentType("application/json",!1),He(e)):e}],transformResponse:[function(e){const t=this.transitional||je.transitional,i=t&&t.forcedJSONParsing,n="json"===this.responseType;if(e&&se.isString(e)&&(i&&!this.responseType||n)){const i=t&&t.silentJSONParsing,o=!i&&n;try{return JSON.parse(e)}catch(r){if(o){if("SyntaxError"===r.name)throw de.from(r,de.ERR_BAD_RESPONSE,this,null,this.response);throw r}}}return e}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,maxBodyLength:-1,env:{FormData:Me.classes.FormData,Blob:Me.classes.Blob},validateStatus:function(e){return e>=200&&e<300},headers:{common:{Accept:"application/json, text/plain, */*","Content-Type":void 0}}};se.forEach(["delete","get","head","post","put","patch"],(e=>{je.headers[e]={}}));var Ge=je;const We=se.toObjectSet(["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"]);var Je=e=>{const t={};let i,n,r;return e&&e.split("\n").forEach((function(e){r=e.indexOf(":"),i=e.substring(0,r).trim().toLowerCase(),n=e.substring(r+1).trim(),!i||t[i]&&We[i]||("set-cookie"===i?t[i]?t[i].push(n):t[i]=[n]:t[i]=t[i]?t[i]+", "+n:n)})),t};const ze=Symbol("internals");function Ke(e){return e&&String(e).trim().toLowerCase()}function qe(e){return!1===e||null==e?e:se.isArray(e)?e.map(qe):String(e)}function Ye(e){const t=Object.create(null),i=/([^\s,;=]+)\s*(?:=\s*([^,;]+))?/g;let n;while(n=i.exec(e))t[n[1]]=n[2];return t}const Qe=e=>/^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(e.trim());function Xe(e,t,i,n,r){return se.isFunction(n)?n.call(this,t,i):(r&&(t=i),se.isString(t)?se.isString(n)?-1!==t.indexOf(n):se.isRegExp(n)?n.test(t):void 0:void 0)}function $e(e){return e.trim().toLowerCase().replace(/([a-z\d])(\w*)/g,((e,t,i)=>t.toUpperCase()+i))}function Ze(e,t){const i=se.toCamelCase(" "+t);["get","set","has"].forEach((n=>{Object.defineProperty(e,n+i,{value:function(e,i,r){return this[n].call(this,t,e,i,r)},configurable:!0})}))}class et{constructor(e){e&&this.set(e)}set(e,t,i){const n=this;function r(e,t,i){const r=Ke(t);if(!r)throw new Error("header name must be a non-empty string");const o=se.findKey(n,r);(!o||void 0===n[o]||!0===i||void 0===i&&!1!==n[o])&&(n[o||t]=qe(e))}const o=(e,t)=>se.forEach(e,((e,i)=>r(e,i,t)));return se.isPlainObject(e)||e instanceof this.constructor?o(e,t):se.isString(e)&&(e=e.trim())&&!Qe(e)?o(Je(e),t):null!=e&&r(t,e,i),this}get(e,t){if(e=Ke(e),e){const i=se.findKey(this,e);if(i){const e=this[i];if(!t)return e;if(!0===t)return Ye(e);if(se.isFunction(t))return t.call(this,e,i);if(se.isRegExp(t))return t.exec(e);throw new TypeError("parser must be boolean|regexp|function")}}}has(e,t){if(e=Ke(e),e){const i=se.findKey(this,e);return!(!i||void 0===this[i]||t&&!Xe(this,this[i],i,t))}return!1}delete(e,t){const i=this;let n=!1;function r(e){if(e=Ke(e),e){const r=se.findKey(i,e);!r||t&&!Xe(i,i[r],r,t)||(delete i[r],n=!0)}}return se.isArray(e)?e.forEach(r):r(e),n}clear(e){const t=Object.keys(this);let i=t.length,n=!1;while(i--){const r=t[i];e&&!Xe(this,this[r],r,e,!0)||(delete this[r],n=!0)}return n}normalize(e){const t=this,i={};return se.forEach(this,((n,r)=>{const o=se.findKey(i,r);if(o)return t[o]=qe(n),void delete t[r];const s=e?$e(r):String(r).trim();s!==r&&delete t[r],t[s]=qe(n),i[s]=!0})),this}concat(...e){return this.constructor.concat(this,...e)}toJSON(e){const t=Object.create(null);return se.forEach(this,((i,n)=>{null!=i&&!1!==i&&(t[n]=e&&se.isArray(i)?i.join(", "):i)})),t}[Symbol.iterator](){return Object.entries(this.toJSON())[Symbol.iterator]()}toString(){return Object.entries(this.toJSON()).map((([e,t])=>e+": "+t)).join("\n")}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(e){return e instanceof this?e:new this(e)}static concat(e,...t){const i=new this(e);return t.forEach((e=>i.set(e))),i}static accessor(e){const t=this[ze]=this[ze]={accessors:{}},i=t.accessors,n=this.prototype;function r(e){const t=Ke(e);i[t]||(Ze(n,e),i[t]=!0)}return se.isArray(e)?e.forEach(r):r(e),this}}et.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]),se.reduceDescriptors(et.prototype,(({value:e},t)=>{let i=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(e){this[i]=e}}})),se.freezeMethods(et);var tt=et;function it(e,t){const i=this||Ge,n=t||i,r=tt.from(n.headers);let o=n.data;return se.forEach(e,(function(e){o=e.call(i,o,r.normalize(),t?t.status:void 0)})),r.normalize(),o}function nt(e){return!(!e||!e.__CANCEL__)}function rt(e,t,i){de.call(this,null==e?"canceled":e,de.ERR_CANCELED,t,i),this.name="CanceledError"}se.inherits(rt,de,{__CANCEL__:!0});var ot=rt;i(3429);function st(e,t,i){const n=i.config.validateStatus;i.status&&n&&!n(i.status)?t(new de("Request failed with status code "+i.status,[de.ERR_BAD_REQUEST,de.ERR_BAD_RESPONSE][Math.floor(i.status/100)-4],i.config,i.request,i)):e(i)}var at=Me.hasStandardBrowserEnv?{write(e,t,i,n,r,o){const s=[e+"="+encodeURIComponent(t)];se.isNumber(i)&&s.push("expires="+new Date(i).toGMTString()),se.isString(n)&&s.push("path="+n),se.isString(r)&&s.push("domain="+r),!0===o&&s.push("secure"),document.cookie=s.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function ct(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function lt(e,t){return t?e.replace(/\/+$/,"")+"/"+t.replace(/^\/+/,""):e}function dt(e,t){return e&&!ct(t)?lt(e,t):t}var ut=Me.hasStandardBrowserEnv?function(){const e=/(msie|trident)/i.test(navigator.userAgent),t=document.createElement("a");let i;function n(i){let n=i;return e&&(t.setAttribute("href",n),n=t.href),t.setAttribute("href",n),{href:t.href,protocol:t.protocol?t.protocol.replace(/:$/,""):"",host:t.host,search:t.search?t.search.replace(/^\?/,""):"",hash:t.hash?t.hash.replace(/^#/,""):"",hostname:t.hostname,port:t.port,pathname:"/"===t.pathname.charAt(0)?t.pathname:"/"+t.pathname}}return i=n(window.location.href),function(e){const t=se.isString(e)?n(e):e;return t.protocol===i.protocol&&t.host===i.host}}():function(){return function(){return!0}}();function ht(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function pt(e,t){e=e||10;const i=new Array(e),n=new Array(e);let r,o=0,s=0;return t=void 0!==t?t:1e3,function(a){const c=Date.now(),l=n[s];r||(r=c),i[o]=a,n[o]=c;let d=s,u=0;while(d!==o)u+=i[d++],d%=e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),c-r{const o=r.loaded,s=r.lengthComputable?r.total:void 0,a=o-i,c=n(a),l=o<=s;i=o;const d={loaded:o,total:s,progress:s?o/s:void 0,bytes:a,rate:c||void 0,estimated:c&&s&&l?(s-o)/c:void 0,event:r};d[t?"download":"upload"]=!0,e(d)}}const ft="undefined"!==typeof XMLHttpRequest;var gt=ft&&function(e){return new Promise((function(t,i){let n=e.data;const r=tt.from(e.headers).normalize();let o,s,{responseType:a,withXSRFToken:c}=e;function l(){e.cancelToken&&e.cancelToken.unsubscribe(o),e.signal&&e.signal.removeEventListener("abort",o)}if(se.isFormData(n))if(Me.hasStandardBrowserEnv||Me.hasStandardBrowserWebWorkerEnv)r.setContentType(!1);else if(!1!==(s=r.getContentType())){const[e,...t]=s?s.split(";").map((e=>e.trim())).filter(Boolean):[];r.setContentType([e||"multipart/form-data",...t].join("; "))}let d=new XMLHttpRequest;if(e.auth){const t=e.auth.username||"",i=e.auth.password?unescape(encodeURIComponent(e.auth.password)):"";r.set("Authorization","Basic "+btoa(t+":"+i))}const u=dt(e.baseURL,e.url);function h(){if(!d)return;const n=tt.from("getAllResponseHeaders"in d&&d.getAllResponseHeaders()),r=a&&"text"!==a&&"json"!==a?d.response:d.responseText,o={data:r,status:d.status,statusText:d.statusText,headers:n,config:e,request:d};st((function(e){t(e),l()}),(function(e){i(e),l()}),o),d=null}if(d.open(e.method.toUpperCase(),Ae(u,e.params,e.paramsSerializer),!0),d.timeout=e.timeout,"onloadend"in d?d.onloadend=h:d.onreadystatechange=function(){d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))&&setTimeout(h)},d.onabort=function(){d&&(i(new de("Request aborted",de.ECONNABORTED,e,d)),d=null)},d.onerror=function(){i(new de("Network Error",de.ERR_NETWORK,e,d)),d=null},d.ontimeout=function(){let t=e.timeout?"timeout of "+e.timeout+"ms exceeded":"timeout exceeded";const n=e.transitional||be;e.timeoutErrorMessage&&(t=e.timeoutErrorMessage),i(new de(t,n.clarifyTimeoutError?de.ETIMEDOUT:de.ECONNABORTED,e,d)),d=null},Me.hasStandardBrowserEnv&&(c&&se.isFunction(c)&&(c=c(e)),c||!1!==c&&ut(u))){const t=e.xsrfHeaderName&&e.xsrfCookieName&&at.read(e.xsrfCookieName);t&&r.set(e.xsrfHeaderName,t)}void 0===n&&r.setContentType(null),"setRequestHeader"in d&&se.forEach(r.toJSON(),(function(e,t){d.setRequestHeader(t,e)})),se.isUndefined(e.withCredentials)||(d.withCredentials=!!e.withCredentials),a&&"json"!==a&&(d.responseType=e.responseType),"function"===typeof e.onDownloadProgress&&d.addEventListener("progress",_t(e.onDownloadProgress,!0)),"function"===typeof e.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",_t(e.onUploadProgress)),(e.cancelToken||e.signal)&&(o=t=>{d&&(i(!t||t.type?new ot(null,e,d):t),d.abort(),d=null)},e.cancelToken&&e.cancelToken.subscribe(o),e.signal&&(e.signal.aborted?o():e.signal.addEventListener("abort",o)));const p=ht(u);p&&-1===Me.protocols.indexOf(p)?i(new de("Unsupported protocol "+p+":",de.ERR_BAD_REQUEST,e)):d.send(n||null)}))};const Tt={http:ue,xhr:gt};se.forEach(Tt,((e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch(i){}Object.defineProperty(e,"adapterName",{value:t})}}));const Et=e=>`- ${e}`,St=e=>se.isFunction(e)||null===e||!1===e;var It={getAdapter:e=>{e=se.isArray(e)?e:[e];const{length:t}=e;let i,n;const r={};for(let o=0;o`adapter ${e} `+(!1===t?"is not supported by the environment":"is not available in the build")));let i=t?e.length>1?"since :\n"+e.map(Et).join("\n"):" "+Et(e[0]):"as no adapter specified";throw new de("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return n},adapters:Tt};function yt(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new ot(null,e)}function vt(e){yt(e),e.headers=tt.from(e.headers),e.data=it.call(e,e.transformRequest),-1!==["post","put","patch"].indexOf(e.method)&&e.headers.setContentType("application/x-www-form-urlencoded",!1);const t=It.getAdapter(e.adapter||Ge.adapter);return t(e).then((function(t){return yt(e),t.data=it.call(e,e.transformResponse,t),t.headers=tt.from(t.headers),t}),(function(t){return nt(t)||(yt(e),t&&t.response&&(t.response.data=it.call(e,e.transformResponse,t.response),t.response.headers=tt.from(t.response.headers))),Promise.reject(t)}))}const At=e=>e instanceof tt?e.toJSON():e;function Rt(e,t){t=t||{};const i={};function n(e,t,i){return se.isPlainObject(e)&&se.isPlainObject(t)?se.merge.call({caseless:i},e,t):se.isPlainObject(t)?se.merge({},t):se.isArray(t)?t.slice():t}function r(e,t,i){return se.isUndefined(t)?se.isUndefined(e)?void 0:n(void 0,e,i):n(e,t,i)}function o(e,t){if(!se.isUndefined(t))return n(void 0,t)}function s(e,t){return se.isUndefined(t)?se.isUndefined(e)?void 0:n(void 0,e):n(void 0,t)}function a(i,r,o){return o in t?n(i,r):o in e?n(void 0,i):void 0}const c={url:o,method:o,data:o,baseURL:s,transformRequest:s,transformResponse:s,paramsSerializer:s,timeout:s,timeoutMessage:s,withCredentials:s,withXSRFToken:s,adapter:s,responseType:s,xsrfCookieName:s,xsrfHeaderName:s,onUploadProgress:s,onDownloadProgress:s,decompress:s,maxContentLength:s,maxBodyLength:s,beforeRedirect:s,transport:s,httpAgent:s,httpsAgent:s,cancelToken:s,socketPath:s,responseEncoding:s,validateStatus:a,headers:(e,t)=>r(At(e),At(t),!0)};return se.forEach(Object.keys(Object.assign({},e,t)),(function(n){const o=c[n]||r,s=o(e[n],t[n],n);se.isUndefined(s)&&o!==a||(i[n]=s)})),i}const Ct="1.6.2",bt={};["object","boolean","number","function","string","symbol"].forEach(((e,t)=>{bt[e]=function(i){return typeof i===e||"a"+(t<1?"n ":" ")+e}}));const kt={};function Nt(e,t,i){if("object"!==typeof e)throw new de("options must be an object",de.ERR_BAD_OPTION_VALUE);const n=Object.keys(e);let r=n.length;while(r-- >0){const o=n[r],s=t[o];if(s){const t=e[o],i=void 0===t||s(t,o,e);if(!0!==i)throw new de("option "+o+" must be "+i,de.ERR_BAD_OPTION_VALUE)}else if(!0!==i)throw new de("Unknown option "+o,de.ERR_BAD_OPTION)}}bt.transitional=function(e,t,i){function n(e,t){return"[Axios v"+Ct+"] Transitional option '"+e+"'"+t+(i?". "+i:"")}return(i,r,o)=>{if(!1===e)throw new de(n(r," has been removed"+(t?" in "+t:"")),de.ERR_DEPRECATED);return t&&!kt[r]&&(kt[r]=!0,console.warn(n(r," has been deprecated since v"+t+" and will be removed in the near future"))),!e||e(i,r,o)}};var Dt={assertOptions:Nt,validators:bt};const Ot=Dt.validators;class wt{constructor(e){this.defaults=e,this.interceptors={request:new Ce,response:new Ce}}request(e,t){"string"===typeof e?(t=t||{},t.url=e):t=e||{},t=Rt(this.defaults,t);const{transitional:i,paramsSerializer:n,headers:r}=t;void 0!==i&&Dt.assertOptions(i,{silentJSONParsing:Ot.transitional(Ot.boolean),forcedJSONParsing:Ot.transitional(Ot.boolean),clarifyTimeoutError:Ot.transitional(Ot.boolean)},!1),null!=n&&(se.isFunction(n)?t.paramsSerializer={serialize:n}:Dt.assertOptions(n,{encode:Ot.function,serialize:Ot.function},!0)),t.method=(t.method||this.defaults.method||"get").toLowerCase();let o=r&&se.merge(r.common,r[t.method]);r&&se.forEach(["delete","get","head","post","put","patch","common"],(e=>{delete r[e]})),t.headers=tt.concat(o,r);const s=[];let a=!0;this.interceptors.request.forEach((function(e){"function"===typeof e.runWhen&&!1===e.runWhen(t)||(a=a&&e.synchronous,s.unshift(e.fulfilled,e.rejected))}));const c=[];let l;this.interceptors.response.forEach((function(e){c.push(e.fulfilled,e.rejected)}));let d,u=0;if(!a){const e=[vt.bind(this),void 0];e.unshift.apply(e,s),e.push.apply(e,c),d=e.length,l=Promise.resolve(t);while(u{if(!i._listeners)return;let t=i._listeners.length;while(t-- >0)i._listeners[t](e);i._listeners=null})),this.promise.then=e=>{let t;const n=new Promise((e=>{i.subscribe(e),t=e})).then(e);return n.cancel=function(){i.unsubscribe(t)},n},e((function(e,n,r){i.reason||(i.reason=new ot(e,n,r),t(i.reason))}))}throwIfRequested(){if(this.reason)throw this.reason}subscribe(e){this.reason?e(this.reason):this._listeners?this._listeners.push(e):this._listeners=[e]}unsubscribe(e){if(!this._listeners)return;const t=this._listeners.indexOf(e);-1!==t&&this._listeners.splice(t,1)}static source(){let e;const t=new Lt((function(t){e=t}));return{token:t,cancel:e}}}var Mt=Lt;function xt(e){return function(t){return e.apply(null,t)}}function Vt(e){return se.isObject(e)&&!0===e.isAxiosError}const Ut={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Ut).forEach((([e,t])=>{Ut[t]=e}));var Ft=Ut;function Bt(e){const t=new Pt(e),i=r(Pt.prototype.request,t);return se.extend(i,Pt.prototype,t,{allOwnKeys:!0}),se.extend(i,t,null,{allOwnKeys:!0}),i.create=function(t){return Bt(Rt(e,t))},i}const Ht=Bt(Ge);Ht.Axios=Pt,Ht.CanceledError=ot,Ht.CancelToken=Mt,Ht.isCancel=nt,Ht.VERSION=Ct,Ht.toFormData=Te,Ht.AxiosError=de,Ht.Cancel=Ht.CanceledError,Ht.all=function(e){return Promise.all(e)},Ht.spread=xt,Ht.isAxiosError=Vt,Ht.mergeConfig=Rt,Ht.AxiosHeaders=tt,Ht.formToJSON=e=>Be(se.isHTMLForm(e)?new FormData(e):e),Ht.getAdapter=It.getAdapter,Ht.HttpStatusCode=Ft,Ht.default=Ht;var jt=Ht;const Gt=jt.create({baseURL:"",timeout:2e4});Gt.interceptors.request.use((e=>e),(e=>{Promise.reject(e)})),Gt.interceptors.response.use((e=>e.data),(e=>{console.error(e)}));var Wt=Gt},6097:function(e,t,i){"use strict";function n(e){return 1==e.length?"userVideo":2==e.length?"userVideo1":3==e.length?"userVideo2":e.length>3?"userVideo3":0==e.length?"userVideo4":void 0}function r(e){let t=Math.ceil((e.length+1)/3);return 1==t?"100%":1/t*100+"%"}function o(e){return 0==e.length?"userVideoPhone":"userVideoPhone1"}function s(){var e=navigator.userAgent.toLowerCase(),t="ipad"==e.match(/ipad/i),i="iphone os"==e.match(/iphone os/i),n="midp"==e.match(/midp/i),r="rv:1.2.3.4"==e.match(/rv:1.2.3.4/i),o="ucweb"==e.match(/ucweb/i),s="android"==e.match(/android/i),a="windows ce"==e.match(/windows ce/i),c="windows mobile"==e.match(/windows mobile/i);return!(t||i||n||r||o||s||a||c)}i.d(t,{A1:function(){return o},Cr:function(){return r},Qv:function(){return s},dz:function(){return n}})},767:function(e,t,i){"use strict";var n=i(3622),r=TypeError;e.exports=function(e,t){if(n(t,e))return e;throw new r("Incorrect invocation")}},7136:function(e){"use strict";e.exports={IndexSizeError:{s:"INDEX_SIZE_ERR",c:1,m:1},DOMStringSizeError:{s:"DOMSTRING_SIZE_ERR",c:2,m:0},HierarchyRequestError:{s:"HIERARCHY_REQUEST_ERR",c:3,m:1},WrongDocumentError:{s:"WRONG_DOCUMENT_ERR",c:4,m:1},InvalidCharacterError:{s:"INVALID_CHARACTER_ERR",c:5,m:1},NoDataAllowedError:{s:"NO_DATA_ALLOWED_ERR",c:6,m:0},NoModificationAllowedError:{s:"NO_MODIFICATION_ALLOWED_ERR",c:7,m:1},NotFoundError:{s:"NOT_FOUND_ERR",c:8,m:1},NotSupportedError:{s:"NOT_SUPPORTED_ERR",c:9,m:1},InUseAttributeError:{s:"INUSE_ATTRIBUTE_ERR",c:10,m:1},InvalidStateError:{s:"INVALID_STATE_ERR",c:11,m:1},SyntaxError:{s:"SYNTAX_ERR",c:12,m:1},InvalidModificationError:{s:"INVALID_MODIFICATION_ERR",c:13,m:1},NamespaceError:{s:"NAMESPACE_ERR",c:14,m:1},InvalidAccessError:{s:"INVALID_ACCESS_ERR",c:15,m:1},ValidationError:{s:"VALIDATION_ERR",c:16,m:0},TypeMismatchError:{s:"TYPE_MISMATCH_ERR",c:17,m:1},SecurityError:{s:"SECURITY_ERR",c:18,m:1},NetworkError:{s:"NETWORK_ERR",c:19,m:1},AbortError:{s:"ABORT_ERR",c:20,m:1},URLMismatchError:{s:"URL_MISMATCH_ERR",c:21,m:1},QuotaExceededError:{s:"QUOTA_EXCEEDED_ERR",c:22,m:1},TimeoutError:{s:"TIMEOUT_ERR",c:23,m:1},InvalidNodeTypeError:{s:"INVALID_NODE_TYPE_ERR",c:24,m:1},DataCloneError:{s:"DATA_CLONE_ERR",c:25,m:1}}},6610:function(e,t,i){"use strict";var n=i(8844),r=Error,o=n("".replace),s=function(e){return String(new r(e).stack)}("zxcasd"),a=/\n\s*at [^:]*:[^\n]*/,c=a.test(s);e.exports=function(e,t){if(c&&"string"==typeof e&&!r.prepareStackTrace)while(t--)e=o(e,a,"");return e}},3457:function(e,t,i){"use strict";var n=i(9985),r=i(8999),o=i(9385);e.exports=function(e,t,i){var s,a;return o&&n(s=t.constructor)&&s!==i&&r(a=s.prototype)&&a!==i.prototype&&o(e,a),e}},3841:function(e,t,i){"use strict";var n=i(4327);e.exports=function(e,t){return void 0===e?arguments.length<2?"":t:n(e)}},9633:function(e,t,i){"use strict";var n=i(5027);e.exports=function(){var e=n(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}},5847:function(e,t,i){"use strict";var n=i(9037),r=i(7697),o=i(2148),s=i(9633),a=i(3689),c=n.RegExp,l=c.prototype,d=r&&a((function(){var e=!0;try{c(".","d")}catch(d){e=!1}var t={},i="",n=e?"dgimsy":"gimsy",r=function(e,n){Object.defineProperty(t,e,{get:function(){return i+=n,!0}})},o={dotAll:"s",global:"g",ignoreCase:"i",multiline:"m",sticky:"y"};for(var s in e&&(o.hasIndices="d"),o)r(s,o[s]);var a=Object.getOwnPropertyDescriptor(l,"flags").get.call(t);return a!==n||i!==n}));d&&o(l,"flags",{configurable:!0,get:s})},3429:function(e,t,i){"use strict";var n=i(9989),r=i(9037),o=i(6058),s=i(5684),a=i(2560).f,c=i(6812),l=i(767),d=i(3457),u=i(3841),h=i(7136),p=i(6610),m=i(7697),_=i(3931),f="DOMException",g=o("Error"),T=o(f),E=function(){l(this,S);var e=arguments.length,t=u(e<1?void 0:arguments[0]),i=u(e<2?void 0:arguments[1],"Error"),n=new T(t,i),r=new g(t);return r.name=f,a(n,"stack",s(1,p(r.stack,1))),d(n,this,E),n},S=E.prototype=T.prototype,I="stack"in new g(f),y="stack"in new T(1,2),v=T&&m&&Object.getOwnPropertyDescriptor(r,f),A=!!v&&!(v.writable&&v.configurable),R=I&&!A&&!y;n({global:!0,constructor:!0,forced:_||R},{DOMException:R?E:T});var C=o(f),b=C.prototype;if(b.constructor!==C)for(var k in _||a(b,"constructor",s(1,C)),h)if(c(h,k)){var N=h[k],D=N.s;c(C,D)||a(C,D,s(6,N.c))}}}]); +//# sourceMappingURL=315.35b56b98.js.map \ No newline at end of file diff --git a/Miniapp-H5/dist/js/315.277cbca8.js.map b/Miniapp-H5/dist/js/315.35b56b98.js.map similarity index 88% rename from Miniapp-H5/dist/js/315.277cbca8.js.map rename to Miniapp-H5/dist/js/315.35b56b98.js.map index 72040d9..c02a659 100644 --- a/Miniapp-H5/dist/js/315.277cbca8.js.map +++ b/Miniapp-H5/dist/js/315.35b56b98.js.map @@ -1 +1 @@ -{"version":3,"file":"js/315.277cbca8.js","mappings":"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","sources":["webpack://nouiroom/./node_modules/trtc-sdk-v5/trtc.js","webpack://nouiroom/./src/api/home.js","webpack://nouiroom/./node_modules/axios/lib/helpers/bind.js","webpack://nouiroom/./node_modules/axios/lib/utils.js","webpack://nouiroom/./node_modules/axios/lib/core/AxiosError.js","webpack://nouiroom/./node_modules/axios/lib/helpers/null.js","webpack://nouiroom/./node_modules/axios/lib/helpers/toFormData.js","webpack://nouiroom/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://nouiroom/./node_modules/axios/lib/helpers/buildURL.js","webpack://nouiroom/./node_modules/axios/lib/core/InterceptorManager.js","webpack://nouiroom/./node_modules/axios/lib/defaults/transitional.js","webpack://nouiroom/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://nouiroom/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://nouiroom/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://nouiroom/./node_modules/axios/lib/platform/browser/index.js","webpack://nouiroom/./node_modules/axios/lib/platform/common/utils.js","webpack://nouiroom/./node_modules/axios/lib/platform/index.js","webpack://nouiroom/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://nouiroom/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://nouiroom/./node_modules/axios/lib/defaults/index.js","webpack://nouiroom/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://nouiroom/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://nouiroom/./node_modules/axios/lib/core/transformData.js","webpack://nouiroom/./node_modules/axios/lib/cancel/isCancel.js","webpack://nouiroom/./node_modules/axios/lib/cancel/CanceledError.js","webpack://nouiroom/./node_modules/axios/lib/core/settle.js","webpack://nouiroom/./node_modules/axios/lib/helpers/cookies.js","webpack://nouiroom/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://nouiroom/./node_modules/axios/lib/helpers/combineURLs.js","webpack://nouiroom/./node_modules/axios/lib/core/buildFullPath.js","webpack://nouiroom/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://nouiroom/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://nouiroom/./node_modules/axios/lib/helpers/speedometer.js","webpack://nouiroom/./node_modules/axios/lib/adapters/xhr.js","webpack://nouiroom/./node_modules/axios/lib/adapters/adapters.js","webpack://nouiroom/./node_modules/axios/lib/core/dispatchRequest.js","webpack://nouiroom/./node_modules/axios/lib/core/mergeConfig.js","webpack://nouiroom/./node_modules/axios/lib/env/data.js","webpack://nouiroom/./node_modules/axios/lib/helpers/validator.js","webpack://nouiroom/./node_modules/axios/lib/core/Axios.js","webpack://nouiroom/./node_modules/axios/lib/cancel/CancelToken.js","webpack://nouiroom/./node_modules/axios/lib/helpers/spread.js","webpack://nouiroom/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://nouiroom/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://nouiroom/./node_modules/axios/lib/axios.js","webpack://nouiroom/./src/utils/request.js","webpack://nouiroom/./src/utils/utils.js","webpack://nouiroom/./node_modules/core-js/internals/an-instance.js","webpack://nouiroom/./node_modules/core-js/internals/dom-exception-constants.js","webpack://nouiroom/./node_modules/core-js/internals/error-stack-clear.js","webpack://nouiroom/./node_modules/core-js/internals/inherit-if-required.js","webpack://nouiroom/./node_modules/core-js/internals/normalize-string-argument.js","webpack://nouiroom/./node_modules/core-js/internals/regexp-flags.js","webpack://nouiroom/./node_modules/core-js/modules/es.regexp.flags.js","webpack://nouiroom/./node_modules/core-js/modules/web.dom-exception.stack.js"],"sourcesContent":["!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(){function e(e,t){return t.forEach((function(t){t&&\"string\"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(i){if(\"default\"!==i&&!(i in e)){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}}))})),Object.freeze(e)}var t=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{},i=function(e){try{return!!e()}catch(t){return!0}},n=!i((function(){var e=function(){}.bind();return\"function\"!=typeof e||e.hasOwnProperty(\"prototype\")})),r=n,o=Function.prototype,s=o.call,a=r&&o.bind.bind(s,s),c=r?a:function(e){return function(){return s.apply(e,arguments)}},l=c,d=l({}.toString),u=l(\"\".slice),h=function(e){return u(d(e),8,-1)},p=i,_=h,m=Object,f=c(\"\".split),g=p((function(){return!m(\"z\").propertyIsEnumerable(0)}))?function(e){return\"String\"==_(e)?f(e,\"\"):m(e)}:m,T=function(e){return null==e},E=T,S=TypeError,I=function(e){if(E(e))throw S(\"Can't call method on \"+e);return e},v=g,y=I,A=function(e){return v(y(e))},R=function(e){return e&&e.Math==Math&&e},C=R(\"object\"==typeof globalThis&&globalThis)||R(\"object\"==typeof window&&window)||R(\"object\"==typeof self&&self)||R(\"object\"==typeof t&&t)||function(){return this}()||Function(\"return this\")(),b={},k={get exports(){return b},set exports(e){b=e}},N=C,D=Object.defineProperty,O=function(e,t){try{D(N,e,{value:t,configurable:!0,writable:!0})}catch(i){N[e]=t}return t},w=O,P=\"__core-js_shared__\",L=C[P]||w(P,{}),M=L;(k.exports=function(e,t){return M[e]||(M[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:\"3.30.0\",mode:\"global\",copyright:\"© 2014-2023 Denis Pushkarev (zloirock.ru)\",license:\"https://github.com/zloirock/core-js/blob/v3.30.0/LICENSE\",source:\"https://github.com/zloirock/core-js\"});var V,x,U=I,F=Object,B=function(e){return F(U(e))},H=B,j=c({}.hasOwnProperty),G=Object.hasOwn||function(e,t){return j(H(e),t)},W=c,J=0,K=Math.random(),Y=W(1..toString),z=function(e){return\"Symbol(\"+(void 0===e?\"\":e)+\")_\"+Y(++J+K,36)},q=\"undefined\"!=typeof navigator&&String(navigator.userAgent)||\"\",Q=C,X=q,Z=Q.process,$=Q.Deno,ee=Z&&Z.versions||$&&$.version,te=ee&&ee.v8;te&&(x=(V=te.split(\".\"))[0]>0&&V[0]<4?1:+(V[0]+V[1])),!x&&X&&(!(V=X.match(/Edge\\/(\\d+)/))||V[1]>=74)&&(V=X.match(/Chrome\\/(\\d+)/))&&(x=+V[1]);var ie=x,ne=ie,re=i,oe=!!Object.getOwnPropertySymbols&&!re((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&ne&&ne<41})),se=oe&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator,ae=b,ce=G,le=z,de=oe,ue=se,he=C.Symbol,pe=ae(\"wks\"),_e=ue?he.for||he:he&&he.withoutSetter||le,me=function(e){return ce(pe,e)||(pe[e]=de&&ce(he,e)?he[e]:_e(\"Symbol.\"+e)),pe[e]},fe=\"object\"==typeof document&&document.all,ge={all:fe,IS_HTMLDDA:void 0===fe&&void 0!==fe},Te=ge.all,Ee=ge.IS_HTMLDDA?function(e){return\"function\"==typeof e||e===Te}:function(e){return\"function\"==typeof e},Se=Ee,Ie=ge.all,ve=ge.IS_HTMLDDA?function(e){return\"object\"==typeof e?null!==e:Se(e)||e===Ie}:function(e){return\"object\"==typeof e?null!==e:Se(e)},ye=ve,Ae=String,Re=TypeError,Ce=function(e){if(ye(e))return e;throw Re(Ae(e)+\" is not an object\")},be={},ke=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),Ne=ke&&i((function(){return 42!=Object.defineProperty((function(){}),\"prototype\",{value:42,writable:!1}).prototype})),De={},Oe=ve,we=C.document,Pe=Oe(we)&&Oe(we.createElement),Le=function(e){return Pe?we.createElement(e):{}},Me=Le,Ve=!ke&&!i((function(){return 7!=Object.defineProperty(Me(\"div\"),\"a\",{get:function(){return 7}}).a})),xe=n,Ue=Function.prototype.call,Fe=xe?Ue.bind(Ue):function(){return Ue.apply(Ue,arguments)},Be=C,He=Ee,je=function(e,t){return arguments.length<2?(i=Be[e],He(i)?i:void 0):Be[e]&&Be[e][t];var i},Ge=c({}.isPrototypeOf),We=je,Je=Ee,Ke=Ge,Ye=Object,ze=se?function(e){return\"symbol\"==typeof e}:function(e){var t=We(\"Symbol\");return Je(t)&&Ke(t.prototype,Ye(e))},qe=String,Qe=function(e){try{return qe(e)}catch(t){return\"Object\"}},Xe=Ee,Ze=Qe,$e=TypeError,et=function(e){if(Xe(e))return e;throw $e(Ze(e)+\" is not a function\")},tt=et,it=T,nt=function(e,t){var i=e[t];return it(i)?void 0:tt(i)},rt=Fe,ot=Ee,st=ve,at=TypeError,ct=Fe,lt=ve,dt=ze,ut=nt,ht=function(e,t){var i,n;if(\"string\"===t&&ot(i=e.toString)&&!st(n=rt(i,e)))return n;if(ot(i=e.valueOf)&&!st(n=rt(i,e)))return n;if(\"string\"!==t&&ot(i=e.toString)&&!st(n=rt(i,e)))return n;throw at(\"Can't convert object to primitive value\")},pt=TypeError,_t=me(\"toPrimitive\"),mt=function(e,t){if(!lt(e)||dt(e))return e;var i,n=ut(e,_t);if(n){if(void 0===t&&(t=\"default\"),i=ct(n,e,t),!lt(i)||dt(i))return i;throw pt(\"Can't convert object to primitive value\")}return void 0===t&&(t=\"number\"),ht(e,t)},ft=mt,gt=ze,Tt=function(e){var t=ft(e,\"string\");return gt(t)?t:t+\"\"},Et=ke,St=Ve,It=Ne,vt=Ce,yt=Tt,At=TypeError,Rt=Object.defineProperty,Ct=Object.getOwnPropertyDescriptor,bt=\"enumerable\",kt=\"configurable\",Nt=\"writable\";De.f=Et?It?function(e,t,i){if(vt(e),t=yt(t),vt(i),\"function\"==typeof e&&\"prototype\"===t&&\"value\"in i&&Nt in i&&!i[Nt]){var n=Ct(e,t);n&&n[Nt]&&(e[t]=i.value,i={configurable:kt in i?i[kt]:n[kt],enumerable:bt in i?i[bt]:n[bt],writable:!1})}return Rt(e,t,i)}:Rt:function(e,t,i){if(vt(e),t=yt(t),vt(i),St)try{return Rt(e,t,i)}catch(n){}if(\"get\"in i||\"set\"in i)throw At(\"Accessors not supported\");return\"value\"in i&&(e[t]=i.value),e};var Dt=Math.ceil,Ot=Math.floor,wt=Math.trunc||function(e){var t=+e;return(t>0?Ot:Dt)(t)},Pt=wt,Lt=function(e){var t=+e;return t!=t||0===t?0:Pt(t)},Mt=Lt,Vt=Math.max,xt=Math.min,Ut=function(e,t){var i=Mt(e);return i<0?Vt(i+t,0):xt(i,t)},Ft=Lt,Bt=Math.min,Ht=function(e){return e>0?Bt(Ft(e),9007199254740991):0},jt=Ht,Gt=function(e){return jt(e.length)},Wt=A,Jt=Ut,Kt=Gt,Yt=function(e){return function(t,i,n){var r,o=Wt(t),s=Kt(o),a=Jt(n,s);if(e&&i!=i){for(;s>a;)if((r=o[a++])!=r)return!0}else for(;s>a;a++)if((e||a in o)&&o[a]===i)return e||a||0;return!e&&-1}},zt={includes:Yt(!0),indexOf:Yt(!1)},qt={},Qt=G,Xt=A,Zt=zt.indexOf,$t=qt,ei=c([].push),ti=function(e,t){var i,n=Xt(e),r=0,o=[];for(i in n)!Qt($t,i)&&Qt(n,i)&&ei(o,i);for(;t.length>r;)Qt(n,i=t[r++])&&(~Zt(o,i)||ei(o,i));return o},ii=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"],ni=ti,ri=ii,oi=Object.keys||function(e){return ni(e,ri)},si=ke,ai=Ne,ci=De,li=Ce,di=A,ui=oi;be.f=si&&!ai?Object.defineProperties:function(e,t){li(e);for(var i,n=di(t),r=ui(t),o=r.length,s=0;o>s;)ci.f(e,i=r[s++],n[i]);return e};var hi,pi=je(\"document\",\"documentElement\"),_i=z,mi=b(\"keys\"),fi=function(e){return mi[e]||(mi[e]=_i(e))},gi=Ce,Ti=be,Ei=ii,Si=qt,Ii=pi,vi=Le,yi=\"prototype\",Ai=\"script\",Ri=fi(\"IE_PROTO\"),Ci=function(){},bi=function(e){return\"<\"+Ai+\">\"+e+\"\"},ki=function(e){e.write(bi(\"\")),e.close();var t=e.parentWindow.Object;return e=null,t},Ni=function(){try{hi=new ActiveXObject(\"htmlfile\")}catch(r){}var e,t,i;Ni=\"undefined\"!=typeof document?document.domain&&hi?ki(hi):(t=vi(\"iframe\"),i=\"java\"+Ai+\":\",t.style.display=\"none\",Ii.appendChild(t),t.src=String(i),(e=t.contentWindow.document).open(),e.write(bi(\"document.F=Object\")),e.close(),e.F):ki(hi);for(var n=Ei.length;n--;)delete Ni[yi][Ei[n]];return Ni()};Si[Ri]=!0;var Di=Object.create||function(e,t){var i;return null!==e?(Ci[yi]=gi(e),i=new Ci,Ci[yi]=null,i[Ri]=e):i=Ni(),void 0===t?i:Ti.f(i,t)},Oi=me,wi=Di,Pi=De.f,Li=Oi(\"unscopables\"),Mi=Array.prototype;null==Mi[Li]&&Pi(Mi,Li,{configurable:!0,value:wi(null)});var Vi,xi,Ui,Fi=function(e){Mi[Li][e]=!0},Bi={},Hi=Ee,ji=C.WeakMap,Gi=Hi(ji)&&/native code/.test(String(ji)),Wi=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},Ji=De,Ki=Wi,Yi=ke?function(e,t,i){return Ji.f(e,t,Ki(1,i))}:function(e,t,i){return e[t]=i,e},zi=Gi,qi=C,Qi=ve,Xi=Yi,Zi=G,$i=L,en=fi,tn=qt,nn=\"Object already initialized\",rn=qi.TypeError,on=qi.WeakMap;if(zi||$i.state){var sn=$i.state||($i.state=new on);sn.get=sn.get,sn.has=sn.has,sn.set=sn.set,Vi=function(e,t){if(sn.has(e))throw rn(nn);return t.facade=e,sn.set(e,t),t},xi=function(e){return sn.get(e)||{}},Ui=function(e){return sn.has(e)}}else{var an=en(\"state\");tn[an]=!0,Vi=function(e,t){if(Zi(e,an))throw rn(nn);return t.facade=e,Xi(e,an,t),t},xi=function(e){return Zi(e,an)?e[an]:{}},Ui=function(e){return Zi(e,an)}}var cn={set:Vi,get:xi,has:Ui,enforce:function(e){return Ui(e)?xi(e):Vi(e,{})},getterFor:function(e){return function(t){var i;if(!Qi(t)||(i=xi(t)).type!==e)throw rn(\"Incompatible receiver, \"+e+\" required\");return i}}},ln={},dn={},un={}.propertyIsEnumerable,hn=Object.getOwnPropertyDescriptor,pn=hn&&!un.call({1:2},1);dn.f=pn?function(e){var t=hn(this,e);return!!t&&t.enumerable}:un;var _n=ke,mn=Fe,fn=dn,gn=Wi,Tn=A,En=Tt,Sn=G,In=Ve,vn=Object.getOwnPropertyDescriptor;ln.f=_n?vn:function(e,t){if(e=Tn(e),t=En(t),In)try{return vn(e,t)}catch(i){}if(Sn(e,t))return gn(!mn(fn.f,e,t),e[t])};var yn={},An={get exports(){return yn},set exports(e){yn=e}},Rn=ke,Cn=G,bn=Function.prototype,kn=Rn&&Object.getOwnPropertyDescriptor,Nn=Cn(bn,\"name\"),Dn={EXISTS:Nn,PROPER:Nn&&\"something\"===function(){}.name,CONFIGURABLE:Nn&&(!Rn||Rn&&kn(bn,\"name\").configurable)},On=Ee,wn=L,Pn=c(Function.toString);On(wn.inspectSource)||(wn.inspectSource=function(e){return Pn(e)});var Ln=wn.inspectSource,Mn=c,Vn=i,xn=Ee,Un=G,Fn=ke,Bn=Dn.CONFIGURABLE,Hn=Ln,jn=cn.enforce,Gn=cn.get,Wn=String,Jn=Object.defineProperty,Kn=Mn(\"\".slice),Yn=Mn(\"\".replace),zn=Mn([].join),qn=Fn&&!Vn((function(){return 8!==Jn((function(){}),\"length\",{value:8}).length})),Qn=String(String).split(\"String\"),Xn=An.exports=function(e,t,i){\"Symbol(\"===Kn(Wn(t),0,7)&&(t=\"[\"+Yn(Wn(t),/^Symbol\\(([^)]*)\\)/,\"$1\")+\"]\"),i&&i.getter&&(t=\"get \"+t),i&&i.setter&&(t=\"set \"+t),(!Un(e,\"name\")||Bn&&e.name!==t)&&(Fn?Jn(e,\"name\",{value:t,configurable:!0}):e.name=t),qn&&i&&Un(i,\"arity\")&&e.length!==i.arity&&Jn(e,\"length\",{value:i.arity});try{i&&Un(i,\"constructor\")&&i.constructor?Fn&&Jn(e,\"prototype\",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(r){}var n=jn(e);return Un(n,\"source\")||(n.source=zn(Qn,\"string\"==typeof t?t:\"\")),e};Function.prototype.toString=Xn((function(){return xn(this)&&Gn(this).source||Hn(this)}),\"toString\");var Zn=Ee,$n=De,er=yn,tr=O,ir=function(e,t,i,n){n||(n={});var r=n.enumerable,o=void 0!==n.name?n.name:t;if(Zn(i)&&er(i,o,n),n.global)r?e[t]=i:tr(t,i);else{try{n.unsafe?e[t]&&(r=!0):delete e[t]}catch(s){}r?e[t]=i:$n.f(e,t,{value:i,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return e},nr={},rr=ti,or=ii.concat(\"length\",\"prototype\");nr.f=Object.getOwnPropertyNames||function(e){return rr(e,or)};var sr={};sr.f=Object.getOwnPropertySymbols;var ar,cr,lr,dr=je,ur=nr,hr=sr,pr=Ce,_r=c([].concat),mr=dr(\"Reflect\",\"ownKeys\")||function(e){var t=ur.f(pr(e)),i=hr.f;return i?_r(t,i(e)):t},fr=G,gr=mr,Tr=ln,Er=De,Sr=function(e,t,i){for(var n=gr(t),r=Er.f,o=Tr.f,s=0;s=t.length?(e.target=void 0,Qo(void 0,!0)):Qo(\"keys\"==i?n:\"values\"==i?t[n]:[n,t[n]],!1)}),\"values\"),is=Ko.Arguments=Ko.Array;if(Jo(\"keys\"),Jo(\"values\"),Jo(\"entries\"),Xo&&\"values\"!==is.name)try{zo(is,\"name\",{value:\"values\"})}catch(SU){}var ns={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},rs=Le(\"span\").classList,os=rs&&rs.constructor&&rs.constructor.prototype,ss=os===Object.prototype?void 0:os,as=C,cs=ns,ls=ss,ds=ts,us=Yi,hs=me,ps=hs(\"iterator\"),_s=hs(\"toStringTag\"),ms=ds.values,fs=function(e,t){if(e){if(e[ps]!==ms)try{us(e,ps,ms)}catch(SU){e[ps]=ms}if(e[_s]||us(e,_s,t),cs[t])for(var i in ds)if(e[i]!==ds[i])try{us(e,i,ds[i])}catch(SU){e[i]=ds[i]}}};for(var gs in cs)fs(as[gs]&&as[gs].prototype,gs);fs(ls,\"DOMTokenList\");var Ts=\"undefined\"!=typeof process&&\"process\"==h(process),Es=yn,Ss=De,Is=function(e,t,i){return i.get&&Es(i.get,t,{getter:!0}),i.set&&Es(i.set,t,{setter:!0}),Ss.f(e,t,i)},vs=je,ys=Is,As=ke,Rs=me(\"species\"),Cs=function(e){var t=vs(e);As&&t&&!t[Rs]&&ys(t,Rs,{configurable:!0,get:function(){return this}})},bs=Ge,ks=TypeError,Ns=function(e,t){if(bs(t,e))return e;throw ks(\"Incorrect invocation\")},Ds={};Ds[me(\"toStringTag\")]=\"z\";var Os=\"[object z]\"===String(Ds),ws=Ee,Ps=h,Ls=me(\"toStringTag\"),Ms=Object,Vs=\"Arguments\"==Ps(function(){return arguments}()),xs=Os?Ps:function(e){var t,i,n;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(i=function(e,t){try{return e[t]}catch(SU){}}(t=Ms(e),Ls))?i:Vs?Ps(t):\"Object\"==(n=Ps(t))&&ws(t.callee)?\"Arguments\":n},Us=c,Fs=i,Bs=Ee,Hs=xs,js=Ln,Gs=function(){},Ws=[],Js=je(\"Reflect\",\"construct\"),Ks=/^\\s*(?:class|function)\\b/,Ys=Us(Ks.exec),zs=!Ks.exec(Gs),qs=function(e){if(!Bs(e))return!1;try{return Js(Gs,Ws,e),!0}catch(SU){return!1}},Qs=function(e){if(!Bs(e))return!1;switch(Hs(e)){case\"AsyncFunction\":case\"GeneratorFunction\":case\"AsyncGeneratorFunction\":return!1}try{return zs||!!Ys(Ks,js(e))}catch(SU){return!0}};Qs.sham=!0;var Xs,Zs,$s,ea,ta=!Js||Fs((function(){var e;return qs(qs.call)||!qs(Object)||!qs((function(){e=!0}))||e}))?Qs:qs,ia=ta,na=Qe,ra=TypeError,oa=function(e){if(ia(e))return e;throw ra(na(e)+\" is not a constructor\")},sa=Ce,aa=oa,ca=T,la=me(\"species\"),da=function(e,t){var i,n=sa(e).constructor;return void 0===n||ca(i=sa(n)[la])?t:aa(i)},ua=n,ha=Function.prototype,pa=ha.apply,_a=ha.call,ma=\"object\"==typeof Reflect&&Reflect.apply||(ua?_a.bind(pa):function(){return _a.apply(pa,arguments)}),fa=h,ga=c,Ta=function(e){if(\"Function\"===fa(e))return ga(e)},Ea=et,Sa=n,Ia=Ta(Ta.bind),va=function(e,t){return Ea(e),void 0===t?e:Sa?Ia(e,t):function(){return e.apply(t,arguments)}},ya=c([].slice),Aa=TypeError,Ra=function(e,t){if(eo;o++)if((a=g(e[o]))&&Td(Ad,a))return a;return new yd(!1)}n=Ed(e,r)}for(c=h?e.next:n.next;!(l=pd(c,n)).done;){try{a=g(l.value)}catch(SU){Id(n,\"throw\",SU)}if(\"object\"==typeof a&&a&&Td(Ad,a))return a}return new yd(!1)},Cd=me(\"iterator\"),bd=!1;try{var kd=0,Nd={next:function(){return{done:!!kd++}},return:function(){bd=!0}};Nd[Cd]=function(){return this},Array.from(Nd,(function(){throw 2}))}catch(SU){}var Dd=function(e,t){if(!t&&!bd)return!1;var i=!1;try{var n={};n[Cd]=function(){return{next:function(){return{done:i=!0}}}},e(n)}catch(SU){}return i},Od=kc,wd=Wc.CONSTRUCTOR||!Dd((function(e){Od.all(e).then(void 0,(function(){}))})),Pd=Fe,Ld=et,Md=Jc,Vd=bc,xd=Rd;xr({target:\"Promise\",stat:!0,forced:wd},{all:function(e){var t=this,i=Md.f(t),n=i.resolve,r=i.reject,o=Vd((function(){var i=Ld(t.resolve),o=[],s=0,a=1;xd(e,(function(e){var c=s++,l=!1;a++,Pd(i,t,e).then((function(e){l||(l=!0,o[c]=e,--a||n(o))}),r)})),--a||n(o)}));return o.error&&r(o.value),i.promise}});var Ud=xr,Fd=Wc.CONSTRUCTOR,Bd=kc,Hd=je,jd=Ee,Gd=ir,Wd=Bd&&Bd.prototype;if(Ud({target:\"Promise\",proto:!0,forced:Fd,real:!0},{catch:function(e){return this.then(void 0,e)}}),jd(Bd)){var Jd=Hd(\"Promise\").prototype.catch;Wd.catch!==Jd&&Gd(Wd,\"catch\",Jd,{unsafe:!0})}var Kd=Fe,Yd=et,zd=Jc,qd=bc,Qd=Rd;xr({target:\"Promise\",stat:!0,forced:wd},{race:function(e){var t=this,i=zd.f(t),n=i.reject,r=qd((function(){var r=Yd(t.resolve);Qd(e,(function(e){Kd(r,t,e).then(i.resolve,n)}))}));return r.error&&n(r.value),i.promise}});var Xd=Fe,Zd=Jc;xr({target:\"Promise\",stat:!0,forced:Wc.CONSTRUCTOR},{reject:function(e){var t=Zd.f(this);return Xd(t.reject,void 0,e),t.promise}});var $d=Ce,eu=ve,tu=Jc,iu=function(e,t){if($d(e),eu(t)&&t.constructor===e)return t;var i=tu.f(e);return(0,i.resolve)(t),i.promise},nu=xr,ru=Wc.CONSTRUCTOR,ou=iu;je(\"Promise\"),nu({target:\"Promise\",stat:!0,forced:ru},{resolve:function(e){return ou(this,e)}});var su=Ee,au=ve,cu=vo,lu=function(e,t,i){var n,r;return cu&&su(n=t.constructor)&&n!==i&&au(r=n.prototype)&&r!==i.prototype&&cu(e,r),e},du=ve,uu=h,hu=me(\"match\"),pu=function(e){var t;return du(e)&&(void 0!==(t=e[hu])?!!t:\"RegExp\"==uu(e))},_u=xs,mu=String,fu=function(e){if(\"Symbol\"===_u(e))throw TypeError(\"Cannot convert a Symbol value to a string\");return mu(e)},gu=Ce,Tu=function(){var e=gu(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},Eu=Fe,Su=G,Iu=Ge,vu=Tu,yu=RegExp.prototype,Au=function(e){var t=e.flags;return void 0!==t||\"flags\"in yu||Su(e,\"flags\")||!Iu(yu,e)?t:Eu(vu,e)},Ru=i,Cu=C.RegExp,bu=Ru((function(){var e=Cu(\"a\",\"y\");return e.lastIndex=2,null!=e.exec(\"abcd\")})),ku=bu||Ru((function(){return!Cu(\"a\",\"y\").sticky})),Nu=bu||Ru((function(){var e=Cu(\"^r\",\"gy\");return e.lastIndex=2,null!=e.exec(\"str\")})),Du={BROKEN_CARET:Nu,MISSED_STICKY:ku,UNSUPPORTED_Y:bu},Ou=De.f,wu=i,Pu=C.RegExp,Lu=wu((function(){var e=Pu(\".\",\"s\");return!(e.dotAll&&e.exec(\"\\n\")&&\"s\"===e.flags)})),Mu=i,Vu=C.RegExp,xu=Mu((function(){var e=Vu(\"(?b)\",\"g\");return\"b\"!==e.exec(\"b\").groups.a||\"bc\"!==\"b\".replace(e,\"$c\")})),Uu=ke,Fu=C,Bu=c,Hu=Nr,ju=lu,Gu=Yi,Wu=nr.f,Ju=Ge,Ku=pu,Yu=fu,zu=Au,qu=Du,Qu=function(e,t,i){i in e||Ou(e,i,{configurable:!0,get:function(){return t[i]},set:function(e){t[i]=e}})},Xu=ir,Zu=i,$u=G,eh=cn.enforce,th=Cs,ih=Lu,nh=xu,rh=me(\"match\"),oh=Fu.RegExp,sh=oh.prototype,ah=Fu.SyntaxError,ch=Bu(sh.exec),lh=Bu(\"\".charAt),dh=Bu(\"\".replace),uh=Bu(\"\".indexOf),hh=Bu(\"\".slice),ph=/^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/,_h=/a/g,mh=/a/g,fh=new oh(_h)!==_h,gh=qu.MISSED_STICKY,Th=qu.UNSUPPORTED_Y,Eh=Uu&&(!fh||gh||ih||nh||Zu((function(){return mh[rh]=!1,oh(_h)!=_h||oh(mh)==mh||\"/a/i\"!=oh(_h,\"i\")})));if(Hu(\"RegExp\",Eh)){for(var Sh=function(e,t){var i,n,r,o,s,a,c=Ju(sh,this),l=Ku(e),d=void 0===t,u=[],h=e;if(!c&&l&&d&&e.constructor===Sh)return e;if((l||Ju(sh,e))&&(e=e.source,d&&(t=zu(h))),e=void 0===e?\"\":Yu(e),t=void 0===t?\"\":Yu(t),h=e,ih&&\"dotAll\"in _h&&(n=!!t&&uh(t,\"s\")>-1)&&(t=dh(t,/s/g,\"\")),i=t,gh&&\"sticky\"in _h&&(r=!!t&&uh(t,\"y\")>-1)&&Th&&(t=dh(t,/y/g,\"\")),nh&&(o=function(e){for(var t,i=e.length,n=0,r=\"\",o=[],s={},a=!1,c=!1,l=0,d=\"\";n<=i;n++){if(\"\\\\\"===(t=lh(e,n)))t+=lh(e,++n);else if(\"]\"===t)a=!1;else if(!a)switch(!0){case\"[\"===t:a=!0;break;case\"(\"===t:ch(ph,hh(e,n+1))&&(n+=2,c=!0),r+=t,l++;continue;case\">\"===t&&c:if(\"\"===d||$u(s,d))throw new ah(\"Invalid capture group name\");s[d]=!0,o[o.length]=[d,l],c=!1,d=\"\";continue}c?d+=t:r+=t}return[r,o]}(e),e=o[0],u=o[1]),s=ju(oh(e,t),c?this:sh,Sh),(n||r||u.length)&&(a=eh(s),n&&(a.dotAll=!0,a.raw=Sh(function(e){for(var t,i=e.length,n=0,r=\"\",o=!1;n<=i;n++)\"\\\\\"!==(t=lh(e,n))?o||\".\"!==t?(\"[\"===t?o=!0:\"]\"===t&&(o=!1),r+=t):r+=\"[\\\\s\\\\S]\":r+=t+lh(e,++n);return r}(e),i)),r&&(a.sticky=!0),u.length&&(a.groups=u)),e!==h)try{Gu(s,\"source\",\"\"===h?\"(?:)\":h)}catch(SU){}return s},Ih=Wu(oh),vh=0;Ih.length>vh;)Qu(Sh,oh,Ih[vh++]);sh.constructor=Sh,Sh.prototype=sh,Xu(Fu,\"RegExp\",Sh,{constructor:!0})}th(\"RegExp\");var yh=Fe,Ah=c,Rh=fu,Ch=Tu,bh=Du,kh=Di,Nh=cn.get,Dh=Lu,Oh=xu,wh=b(\"native-string-replace\",String.prototype.replace),Ph=RegExp.prototype.exec,Lh=Ph,Mh=Ah(\"\".charAt),Vh=Ah(\"\".indexOf),xh=Ah(\"\".replace),Uh=Ah(\"\".slice),Fh=function(){var e=/a/,t=/b*/g;return yh(Ph,e,\"a\"),yh(Ph,t,\"a\"),0!==e.lastIndex||0!==t.lastIndex}(),Bh=bh.BROKEN_CARET,Hh=void 0!==/()??/.exec(\"\")[1];(Fh||Hh||Bh||Dh||Oh)&&(Lh=function(e){var t,i,n,r,o,s,a,c=this,l=Nh(c),d=Rh(e),u=l.raw;if(u)return u.lastIndex=c.lastIndex,t=yh(Lh,u,d),c.lastIndex=u.lastIndex,t;var h=l.groups,p=Bh&&c.sticky,_=yh(Ch,c),m=c.source,f=0,g=d;if(p&&(_=xh(_,\"y\",\"\"),-1===Vh(_,\"g\")&&(_+=\"g\"),g=Uh(d,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&\"\\n\"!==Mh(d,c.lastIndex-1))&&(m=\"(?: \"+m+\")\",g=\" \"+g,f++),i=new RegExp(\"^(?:\"+m+\")\",_)),Hh&&(i=new RegExp(\"^\"+m+\"$(?!\\\\s)\",_)),Fh&&(n=c.lastIndex),r=yh(Ph,p?i:c,g),p?r?(r.input=Uh(r.input,f),r[0]=Uh(r[0],f),r.index=c.lastIndex,c.lastIndex+=r[0].length):c.lastIndex=0:Fh&&r&&(c.lastIndex=c.global?r.index+r[0].length:n),Hh&&r&&r.length>1&&yh(wh,r[0],i,(function(){for(o=1;oT;T++)if((a||T in m)&&(p=f(h=m[T],T,_),e))if(t)S[T]=p;else if(p)switch(e){case 3:return!0;case 5:return h;case 6:return T;case 2:ip(S,h)}else switch(e){case 4:return!1;case 7:ip(S,h)}return o?-1:n||r?r:S}},rp={forEach:np(0),map:np(1),filter:np(2),some:np(3),every:np(4),find:np(5),findIndex:np(6),filterReject:np(7)},op=i,sp=function(e,t){var i=[][e];return!!i&&op((function(){i.call(null,t||function(){return 1},1)}))},ap=rp.forEach,cp=sp(\"forEach\")?[].forEach:function(e){return ap(this,e,arguments.length>1?arguments[1]:void 0)},lp=C,dp=ns,up=ss,hp=cp,pp=Yi,_p=function(e){if(e&&e.forEach!==hp)try{pp(e,\"forEach\",hp)}catch(SU){e.forEach=hp}};for(var mp in dp)dp[mp]&&_p(lp[mp]&&lp[mp].prototype);_p(up);var fp=et,gp=B,Tp=g,Ep=Gt,Sp=TypeError,Ip=function(e){return function(t,i,n,r){fp(i);var o=gp(t),s=Tp(o),a=Ep(o),c=e?a-1:0,l=e?-1:1;if(n<2)for(;;){if(c in s){r=s[c],c+=l;break}if(c+=l,e?c<0:a<=c)throw Sp(\"Reduce of empty array with no initial value\")}for(;e?c>=0:a>c;c+=l)c in s&&(r=i(r,s[c],c,o));return r}},vp={left:Ip(!1),right:Ip(!0)}.left;xr({target:\"Array\",proto:!0,forced:!Ts&&ie>79&&ie<83||!sp(\"reduce\")},{reduce:function(e){var t=arguments.length;return vp(this,e,t,t>1?arguments[1]:void 0)}});var yp=Ta,Ap=ir,Rp=jh,Cp=i,bp=me,kp=Yi,Np=bp(\"species\"),Dp=RegExp.prototype,Op=c,wp=Lt,Pp=fu,Lp=I,Mp=Op(\"\".charAt),Vp=Op(\"\".charCodeAt),xp=Op(\"\".slice),Up=function(e){return function(t,i){var n,r,o=Pp(Lp(t)),s=wp(i),a=o.length;return s<0||s>=a?e?\"\":void 0:(n=Vp(o,s))<55296||n>56319||s+1===a||(r=Vp(o,s+1))<56320||r>57343?e?Mp(o,s):n:e?xp(o,s,s+2):r-56320+(n-55296<<10)+65536}},Fp={codeAt:Up(!1),charAt:Up(!0)},Bp=Fp.charAt,Hp=c,jp=B,Gp=Math.floor,Wp=Hp(\"\".charAt),Jp=Hp(\"\".replace),Kp=Hp(\"\".slice),Yp=/\\$([$&'`]|\\d{1,2}|<[^>]*>)/g,zp=/\\$([$&'`]|\\d{1,2})/g,qp=function(e,t,i,n,r,o){var s=i+e.length,a=n.length,c=zp;return void 0!==r&&(r=jp(r),c=Yp),Jp(o,c,(function(o,c){var l;switch(Wp(c,0)){case\"$\":return\"$\";case\"&\":return e;case\"`\":return Kp(t,0,i);case\"'\":return Kp(t,s);case\"<\":l=r[Kp(c,1,-1)];break;default:var d=+c;if(0===d)return o;if(d>a){var u=Gp(d/10);return 0===u?o:u<=a?void 0===n[u-1]?Wp(c,1):n[u-1]+Wp(c,1):o}l=n[d-1]}return void 0===l?\"\":l}))},Qp=Fe,Xp=Ce,Zp=Ee,$p=h,e_=jh,t_=TypeError,i_=ma,n_=Fe,r_=c,o_=function(e,t,i,n){var r=bp(e),o=!Cp((function(){var t={};return t[r]=function(){return 7},7!=\"\"[e](t)})),s=o&&!Cp((function(){var t=!1,i=/a/;return\"split\"===e&&((i={}).constructor={},i.constructor[Np]=function(){return i},i.flags=\"\",i[r]=/./[r]),i.exec=function(){return t=!0,null},i[r](\"\"),!t}));if(!o||!s||i){var a=yp(/./[r]),c=t(r,\"\"[e],(function(e,t,i,n,r){var s=yp(e),c=t.exec;return c===Rp||c===Dp.exec?o&&!r?{done:!0,value:a(t,i,n)}:{done:!0,value:s(i,t,n)}:{done:!1}}));Ap(String.prototype,e,c[0]),Ap(Dp,r,c[1])}n&&kp(Dp[r],\"sham\",!0)},s_=i,a_=Ce,c_=Ee,l_=T,d_=Lt,u_=Ht,h_=fu,p_=I,__=function(e,t,i){return t+(i?Bp(e,t).length:1)},m_=nt,f_=qp,g_=function(e,t){var i=e.exec;if(Zp(i)){var n=Qp(i,e,t);return null!==n&&Xp(n),n}if(\"RegExp\"===$p(e))return Qp(e_,e,t);throw t_(\"RegExp#exec called on incompatible receiver\")},T_=me(\"replace\"),E_=Math.max,S_=Math.min,I_=r_([].concat),v_=r_([].push),y_=r_(\"\".indexOf),A_=r_(\"\".slice),R_=function(e){return void 0===e?e:String(e)},C_=\"$0\"===\"a\".replace(/./,\"$0\"),b_=!!/./[T_]&&\"\"===/./[T_](\"a\",\"$0\"),k_=!s_((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:\"7\"},e},\"7\"!==\"\".replace(e,\"$\")}));o_(\"replace\",(function(e,t,i){var n=b_?\"$\":\"$0\";return[function(e,i){var n=p_(this),r=l_(e)?void 0:m_(e,T_);return r?n_(r,e,n,i):n_(t,h_(n),e,i)},function(e,r){var o=a_(this),s=h_(e);if(\"string\"==typeof r&&-1===y_(r,n)&&-1===y_(r,\"$<\")){var a=i(t,o,s,r);if(a.done)return a.value}var c=c_(r);c||(r=h_(r));var l=o.global;if(l){var d=o.unicode;o.lastIndex=0}for(var u=[];;){var h=g_(o,s);if(null===h)break;if(v_(u,h),!l)break;\"\"===h_(h[0])&&(o.lastIndex=__(s,u_(o.lastIndex),d))}for(var p=\"\",_=0,m=0;m=_&&(p+=A_(s,_,g)+v,_=g+f.length)}return p+A_(s,_)}]}),!k_||!C_||b_);var N_=zt.includes,D_=Fi;xr({target:\"Array\",proto:!0,forced:i((function(){return!Array(1).includes()}))},{includes:function(e){return N_(this,e,arguments.length>1?arguments[1]:void 0)}}),D_(\"includes\");var O_=Lt,w_=fu,P_=I,L_=RangeError,M_=c,V_=Ht,x_=fu,U_=function(e){var t=w_(P_(this)),i=\"\",n=O_(e);if(n<0||Infinity==n)throw L_(\"Wrong number of repetitions\");for(;n>0;(n>>>=1)&&(t+=t))1&n&&(i+=t);return i},F_=I,B_=M_(U_),H_=M_(\"\".slice),j_=Math.ceil,G_=function(e){return function(t,i,n){var r,o,s=x_(F_(t)),a=V_(i),c=s.length,l=void 0===n?\" \":x_(n);return a<=c||\"\"==l?s:((o=B_(l,j_((r=a-c)/l.length))).length>r&&(o=H_(o,0,r)),e?s+o:o+s)}},W_={start:G_(!1),end:G_(!0)},J_=/Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(q),K_=W_.start;xr({target:\"String\",proto:!0,forced:J_},{padStart:function(e){return K_(this,e,arguments.length>1?arguments[1]:void 0)}});var Y_=i,z_=ke,q_=me(\"iterator\"),Q_=!Y_((function(){var e=new URL(\"b?a=1&b=2&c=3\",\"http://a\"),t=e.searchParams,i=\"\";return e.pathname=\"c%20d\",t.forEach((function(e,n){t.delete(\"b\"),i+=n+e})),!t.size&&!z_||!t.sort||\"http://a/c%20d?a=1&c=3\"!==e.href||\"3\"!==t.get(\"c\")||\"a=1\"!==String(new URLSearchParams(\"?a=1\"))||!t[q_]||\"a\"!==new URL(\"https://a@b\").username||\"b\"!==new URLSearchParams(new URLSearchParams(\"a=b\")).get(\"a\")||\"xn--e1aybc\"!==new URL(\"http://тест\").host||\"#%D0%B1\"!==new URL(\"http://a#б\").hash||\"a1c3\"!==i||\"x\"!==new URL(\"http://x\",void 0).host})),X_=ir,Z_=function(e,t,i){for(var n in t)X_(e,n,t[n],i);return e},$_=Tt,em=De,tm=Wi,im=function(e,t,i){var n=$_(t);n in e?em.f(e,n,tm(0,i)):e[n]=i},nm=Ut,rm=Gt,om=im,sm=Array,am=Math.max,cm=function(e,t,i){for(var n=rm(e),r=nm(t,n),o=nm(void 0===i?n:i,n),s=sm(am(o-r,0)),a=0;r0;)e[n]=e[--n];n!==o++&&(e[n]=i)}return e},pm=function(e,t,i,n){for(var r=t.length,o=i.length,s=0,a=0;s0?arguments[0]:void 0));Em||(this.length=e.entries.length)},Rf=Af.prototype;if(ym(Rf,{append:function(e,t){Fm(arguments.length,2);var i=Jm(this);af(i.entries,{key:Lm(e),value:Lm(t)}),Em||this.length++,i.updateURL()},delete:function(e){Fm(arguments.length,1);for(var t=Jm(this),i=t.entries,n=Lm(e),r=0;rt.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,i=Jm(this).entries,n=Dm(e,arguments.length>1?arguments[1]:void 0),r=0;r1?kf(arguments[1]):{})}}),km(Qm)){var Nf=function(e){return bm(this,Zm),new Qm(e,arguments.length>1?kf(arguments[1]):{})};Zm.constructor=Nf,Nf.prototype=Zm,mm({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Nf})}}var Df={URLSearchParams:Af,getState:Jm},Of=\"\\t\\n\\v\\f\\r                 \\u2028\\u2029\\ufeff\",wf=I,Pf=fu,Lf=Of,Mf=c(\"\".replace),Vf=RegExp(\"^[\"+Lf+\"]+\"),xf=RegExp(\"(^|[^\"+Lf+\"])[\"+Lf+\"]+$\"),Uf=function(e){return function(t){var i=Pf(wf(t));return 1&e&&(i=Mf(i,Vf,\"\")),2&e&&(i=Mf(i,xf,\"$1\")),i}},Ff={start:Uf(1),end:Uf(2),trim:Uf(3)},Bf=Dn.PROPER,Hf=i,jf=Of,Gf=Ff.trim;xr({target:\"String\",proto:!0,forced:function(e){return Hf((function(){return!!jf[e]()||\"​…᠎\"!==\"​…᠎\"[e]()||Bf&&jf[e].name!==e}))}(\"trim\")},{trim:function(){return Gf(this)}});var Wf=xr,Jf=ke,Kf=c,Yf=G,zf=Ee,qf=Ge,Qf=fu,Xf=Is,Zf=Sr,$f=C.Symbol,eg=$f&&$f.prototype;if(Jf&&zf($f)&&(!(\"description\"in eg)||void 0!==$f().description)){var tg={},ig=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:Qf(arguments[0]),t=qf(eg,this)?new $f(e):void 0===e?$f():$f(e);return\"\"===e&&(tg[t]=!0),t};Zf(ig,$f),ig.prototype=eg,eg.constructor=ig;var ng=\"Symbol(test)\"==String($f(\"test\")),rg=Kf(eg.valueOf),og=Kf(eg.toString),sg=/^Symbol\\((.*)\\)[^)]+$/,ag=Kf(\"\".replace),cg=Kf(\"\".slice);Xf(eg,\"description\",{configurable:!0,get:function(){var e=rg(this);if(Yf(tg,e))return\"\";var t=og(e),i=ng?cg(t,7,-1):ag(t,sg,\"$1\");return\"\"===i?void 0:i}}),Wf({global:!0,constructor:!0,forced:!0},{Symbol:ig})}var lg=Fp.charAt,dg=fu,ug=cn,hg=jo,pg=Go,_g=\"String Iterator\",mg=ug.set,fg=ug.getterFor(_g);hg(String,\"String\",(function(e){mg(this,{type:_g,string:dg(e),index:0})}),(function(){var e,t=fg(this),i=t.string,n=t.index;return n>=i.length?pg(void 0,!0):(e=lg(i,n),t.index+=e.length,pg(e,!1))}));var gg,Tg=ke,Eg=c,Sg=Fe,Ig=i,vg=oi,yg=sr,Ag=dn,Rg=B,Cg=g,bg=Object.assign,kg=Object.defineProperty,Ng=Eg([].concat),Dg=!bg||Ig((function(){if(Tg&&1!==bg({b:1},bg(kg({},\"a\",{enumerable:!0,get:function(){kg(this,\"b\",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},i=Symbol(),n=\"abcdefghijklmnopqrst\";return e[i]=7,n.split(\"\").forEach((function(e){t[e]=e})),7!=bg({},e)[i]||vg(bg({},t)).join(\"\")!=n}))?function(e,t){for(var i=Rg(e),n=arguments.length,r=1,o=yg.f,s=Ag.f;n>r;)for(var a,c=Cg(arguments[r++]),l=o?Ng(vg(c),o(c)):vg(c),d=l.length,u=0;d>u;)a=l[u++],Tg&&!Sg(s,c,a)||(i[a]=c[a]);return i}:bg,Og=Ce,wg=ud,Pg=va,Lg=Fe,Mg=B,Vg=function(e,t,i,n){try{return n?t(Og(i)[0],i[1]):t(i)}catch(SU){wg(e,\"throw\",SU)}},xg=zl,Ug=ta,Fg=Gt,Bg=im,Hg=ad,jg=ed,Gg=Array,Wg=c,Jg=2147483647,Kg=/[^\\0-\\u007E]/,Yg=/[.\\u3002\\uFF0E\\uFF61]/g,zg=\"Overflow: input needs wider integers to process\",qg=RangeError,Qg=Wg(Yg.exec),Xg=Math.floor,Zg=String.fromCharCode,$g=Wg(\"\".charCodeAt),eT=Wg([].join),tT=Wg([].push),iT=Wg(\"\".replace),nT=Wg(\"\".split),rT=Wg(\"\".toLowerCase),oT=function(e){return e+22+75*(e<26)},sT=function(e,t,i){var n=0;for(e=i?Xg(e/700):e>>1,e+=Xg(e/t);e>455;)e=Xg(e/35),n+=36;return Xg(n+36*e/(e+38))},aT=function(e){var t=[];e=function(e){for(var t=[],i=0,n=e.length;i=55296&&r<=56319&&i=o&&nXg((Jg-s)/u))throw qg(zg);for(s+=(d-o)*u,o=d,i=0;iJg)throw qg(zg);if(n==o){for(var h=s,p=36;;){var _=p<=a?1:p>=a+26?26:p-a;if(h<_)break;var m=h-_,f=36-_;tT(t,Zg(oT(_+m%f))),h=Xg(m/f),p+=36}tT(t,Zg(oT(h))),a=sT(s,u,l==c),s=0,l++}}s++,o++}return eT(t,\"\")},cT=xr,lT=ke,dT=Q_,uT=C,hT=va,pT=c,_T=ir,mT=Is,fT=Ns,gT=G,TT=Dg,ET=function(e){var t=Mg(e),i=Ug(this),n=arguments.length,r=n>1?arguments[1]:void 0,o=void 0!==r;o&&(r=Pg(r,n>2?arguments[2]:void 0));var s,a,c,l,d,u,h=jg(t),p=0;if(!h||this===Gg&&xg(h))for(s=Fg(t),a=i?new this(s):Gg(s);s>p;p++)u=o?r(t[p],p):t[p],Bg(a,p,u);else for(d=(l=Hg(t,h)).next,a=i?new this:[];!(c=Lg(d,l)).done;p++)u=o?Vg(l,r,[c.value,p],!0):c.value,Bg(a,p,u);return a.length=p,a},ST=cm,IT=Fp.codeAt,vT=function(e){var t,i,n=[],r=nT(iT(rT(e),Yg,\".\"),\".\");for(t=0;t?@[\\\\\\]^|]/,sE=/[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/,aE=/^[\\u0000-\\u0020]+/,cE=/(^|[^\\u0000-\\u0020])[\\u0000-\\u0020]+$/,lE=/[\\t\\n\\r]/g,dE=function(e){var t,i,n,r;if(\"number\"==typeof e){for(t=[],i=0;i<4;i++)zT(t,e%256),e=MT(e/256);return FT(t,\".\")}if(\"object\"==typeof e){for(t=\"\",n=function(e){for(var t=null,i=1,n=null,r=0,o=0;o<8;o++)0!==e[o]?(r>i&&(t=n,i=r),n=null,r=0):(null===n&&(n=o),++r);return r>i&&(t=n,i=r),t}(e),i=0;i<8;i++)r&&0===e[i]||(r&&(r=!1),n===i?(t+=i?\":\":\"::\",r=!0):(t+=BT(e[i],16),i<7&&(t+=\":\")));return\"[\"+t+\"]\"}return e},uE={},hE=TT({},uE,{\" \":1,'\"':1,\"<\":1,\">\":1,\"`\":1}),pE=TT({},hE,{\"#\":1,\"?\":1,\"{\":1,\"}\":1}),_E=TT({},pE,{\"/\":1,\":\":1,\";\":1,\"=\":1,\"@\":1,\"[\":1,\"\\\\\":1,\"]\":1,\"^\":1,\"|\":1}),mE=function(e,t){var i=IT(e,0);return i>32&&i<127&&!gT(t,e)?e:encodeURIComponent(e)},fE={ftp:21,file:null,http:80,https:443,ws:80,wss:443},gE=function(e,t){var i;return 2==e.length&&UT(ZT,xT(e,0))&&(\":\"==(i=xT(e,1))||!t&&\"|\"==i)},TE=function(e){var t;return e.length>1&&gE(KT(e,0,2))&&(2==e.length||\"/\"===(t=xT(e,2))||\"\\\\\"===t||\"?\"===t||\"#\"===t)},EE=function(e){return\".\"===e||\"%2e\"===YT(e)},SE={},IE={},vE={},yE={},AE={},RE={},CE={},bE={},kE={},NE={},DE={},OE={},wE={},PE={},LE={},ME={},VE={},xE={},UE={},FE={},BE={},HE=function(e,t,i){var n,r,o,s=yT(e);if(t){if(r=this.parse(s))throw PT(r);this.searchParams=null}else{if(void 0!==i&&(n=new HE(i,!0)),r=this.parse(s,null,n))throw PT(r);(o=OT(new DT)).bindURL(this),this.searchParams=o}};HE.prototype={type:\"URL\",parse:function(e,t,i){var n,r,o,s,a,c=this,l=t||SE,d=0,u=\"\",h=!1,p=!1,_=!1;for(e=yT(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=GT(e,aE,\"\"),e=GT(e,cE,\"$1\")),e=GT(e,lE,\"\"),n=ET(e);d<=n.length;){switch(r=n[d],l){case SE:if(!r||!UT(ZT,r)){if(t)return qT;l=vE;continue}u+=YT(r),l=IE;break;case IE:if(r&&(UT($T,r)||\"+\"==r||\"-\"==r||\".\"==r))u+=YT(r);else{if(\":\"!=r){if(t)return qT;u=\"\",l=vE,d=0;continue}if(t&&(c.isSpecial()!=gT(fE,u)||\"file\"==u&&(c.includesCredentials()||null!==c.port)||\"file\"==c.scheme&&!c.host))return;if(c.scheme=u,t)return void(c.isSpecial()&&fE[c.scheme]==c.port&&(c.port=null));u=\"\",\"file\"==c.scheme?l=PE:c.isSpecial()&&i&&i.scheme==c.scheme?l=yE:c.isSpecial()?l=bE:\"/\"==n[d+1]?(l=AE,d++):(c.cannotBeABaseURL=!0,jT(c.path,\"\"),l=UE)}break;case vE:if(!i||i.cannotBeABaseURL&&\"#\"!=r)return qT;if(i.cannotBeABaseURL&&\"#\"==r){c.scheme=i.scheme,c.path=ST(i.path),c.query=i.query,c.fragment=\"\",c.cannotBeABaseURL=!0,l=BE;break}l=\"file\"==i.scheme?PE:RE;continue;case yE:if(\"/\"!=r||\"/\"!=n[d+1]){l=RE;continue}l=kE,d++;break;case AE:if(\"/\"==r){l=NE;break}l=xE;continue;case RE:if(c.scheme=i.scheme,r==gg)c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=ST(i.path),c.query=i.query;else if(\"/\"==r||\"\\\\\"==r&&c.isSpecial())l=CE;else if(\"?\"==r)c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=ST(i.path),c.query=\"\",l=FE;else{if(\"#\"!=r){c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=ST(i.path),c.path.length--,l=xE;continue}c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=ST(i.path),c.query=i.query,c.fragment=\"\",l=BE}break;case CE:if(!c.isSpecial()||\"/\"!=r&&\"\\\\\"!=r){if(\"/\"!=r){c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,l=xE;continue}l=NE}else l=kE;break;case bE:if(l=kE,\"/\"!=r||\"/\"!=xT(u,d+1))continue;d++;break;case kE:if(\"/\"!=r&&\"\\\\\"!=r){l=NE;continue}break;case NE:if(\"@\"==r){h&&(u=\"%40\"+u),h=!0,o=ET(u);for(var m=0;m65535)return XT;c.port=c.isSpecial()&&T===fE[c.scheme]?null:T,u=\"\"}if(t)return;l=VE;continue}return XT}u+=r;break;case PE:if(c.scheme=\"file\",\"/\"==r||\"\\\\\"==r)l=LE;else{if(!i||\"file\"!=i.scheme){l=xE;continue}if(r==gg)c.host=i.host,c.path=ST(i.path),c.query=i.query;else if(\"?\"==r)c.host=i.host,c.path=ST(i.path),c.query=\"\",l=FE;else{if(\"#\"!=r){TE(FT(ST(n,d),\"\"))||(c.host=i.host,c.path=ST(i.path),c.shortenPath()),l=xE;continue}c.host=i.host,c.path=ST(i.path),c.query=i.query,c.fragment=\"\",l=BE}}break;case LE:if(\"/\"==r||\"\\\\\"==r){l=ME;break}i&&\"file\"==i.scheme&&!TE(FT(ST(n,d),\"\"))&&(gE(i.path[0],!0)?jT(c.path,i.path[0]):c.host=i.host),l=xE;continue;case ME:if(r==gg||\"/\"==r||\"\\\\\"==r||\"?\"==r||\"#\"==r){if(!t&&gE(u))l=xE;else if(\"\"==u){if(c.host=\"\",t)return;l=VE}else{if(s=c.parseHost(u))return s;if(\"localhost\"==c.host&&(c.host=\"\"),t)return;u=\"\",l=VE}continue}u+=r;break;case VE:if(c.isSpecial()){if(l=xE,\"/\"!=r&&\"\\\\\"!=r)continue}else if(t||\"?\"!=r)if(t||\"#\"!=r){if(r!=gg&&(l=xE,\"/\"!=r))continue}else c.fragment=\"\",l=BE;else c.query=\"\",l=FE;break;case xE:if(r==gg||\"/\"==r||\"\\\\\"==r&&c.isSpecial()||!t&&(\"?\"==r||\"#\"==r)){if(\"..\"===(a=YT(a=u))||\"%2e.\"===a||\".%2e\"===a||\"%2e%2e\"===a?(c.shortenPath(),\"/\"==r||\"\\\\\"==r&&c.isSpecial()||jT(c.path,\"\")):EE(u)?\"/\"==r||\"\\\\\"==r&&c.isSpecial()||jT(c.path,\"\"):(\"file\"==c.scheme&&!c.path.length&&gE(u)&&(c.host&&(c.host=\"\"),u=xT(u,0)+\":\"),jT(c.path,u)),u=\"\",\"file\"==c.scheme&&(r==gg||\"?\"==r||\"#\"==r))for(;c.path.length>1&&\"\"===c.path[0];)WT(c.path);\"?\"==r?(c.query=\"\",l=FE):\"#\"==r&&(c.fragment=\"\",l=BE)}else u+=mE(r,pE);break;case UE:\"?\"==r?(c.query=\"\",l=FE):\"#\"==r?(c.fragment=\"\",l=BE):r!=gg&&(c.path[0]+=mE(r,uE));break;case FE:t||\"#\"!=r?r!=gg&&(\"'\"==r&&c.isSpecial()?c.query+=\"%27\":c.query+=\"#\"==r?\"%23\":mE(r,uE)):(c.fragment=\"\",l=BE);break;case BE:r!=gg&&(c.fragment+=mE(r,hE))}d++}},parseHost:function(e){var t,i,n;if(\"[\"==xT(e,0)){if(\"]\"!=xT(e,e.length-1))return QT;if(t=function(e){var t,i,n,r,o,s,a,c=[0,0,0,0,0,0,0,0],l=0,d=null,u=0,h=function(){return xT(e,u)};if(\":\"==h()){if(\":\"!=xT(e,1))return;u+=2,d=++l}for(;h();){if(8==l)return;if(\":\"!=h()){for(t=i=0;i<4&&UT(rE,h());)t=16*t+LT(h(),16),u++,i++;if(\".\"==h()){if(0==i)return;if(u-=i,l>6)return;for(n=0;h();){if(r=null,n>0){if(!(\".\"==h()&&n<4))return;u++}if(!UT(eE,h()))return;for(;UT(eE,h());){if(o=LT(h(),10),null===r)r=o;else{if(0==r)return;r=10*r+o}if(r>255)return;u++}c[l]=256*c[l]+r,2!=++n&&4!=n||l++}if(4!=n)return;break}if(\":\"==h()){if(u++,!h())return}else if(h())return;c[l++]=t}else{if(null!==d)return;u++,d=++l}}if(null!==d)for(s=l-d,l=7;0!=l&&s>0;)a=c[l],c[l--]=c[d+s-1],c[d+--s]=a;else if(8!=l)return;return c}(KT(e,1,-1)),!t)return QT;this.host=t}else if(this.isSpecial()){if(e=vT(e),UT(oE,e))return QT;if(t=function(e){var t,i,n,r,o,s,a,c=JT(e,\".\");if(c.length&&\"\"==c[c.length-1]&&c.length--,(t=c.length)>4)return e;for(i=[],n=0;n1&&\"0\"==xT(r,0)&&(o=UT(tE,r)?16:8,r=KT(r,8==o?1:2)),\"\"===r)s=0;else{if(!UT(10==o?nE:8==o?iE:rE,r))return e;s=LT(r,o)}jT(i,s)}for(n=0;n=VT(256,5-t))return null}else if(s>255)return null;for(a=HT(i),n=0;n1?arguments[1]:void 0,n=kT(t,new HE(e,!1,i));lT||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},GE=jE.prototype,WE=function(e,t){return{get:function(){return NT(this)[e]()},set:t&&function(e){return NT(this)[t](e)},configurable:!0,enumerable:!0}};if(lT&&(mT(GE,\"href\",WE(\"serialize\",\"setHref\")),mT(GE,\"origin\",WE(\"getOrigin\")),mT(GE,\"protocol\",WE(\"getProtocol\",\"setProtocol\")),mT(GE,\"username\",WE(\"getUsername\",\"setUsername\")),mT(GE,\"password\",WE(\"getPassword\",\"setPassword\")),mT(GE,\"host\",WE(\"getHost\",\"setHost\")),mT(GE,\"hostname\",WE(\"getHostname\",\"setHostname\")),mT(GE,\"port\",WE(\"getPort\",\"setPort\")),mT(GE,\"pathname\",WE(\"getPathname\",\"setPathname\")),mT(GE,\"search\",WE(\"getSearch\",\"setSearch\")),mT(GE,\"searchParams\",WE(\"getSearchParams\")),mT(GE,\"hash\",WE(\"getHash\",\"setHash\"))),_T(GE,\"toJSON\",(function(){return NT(this).serialize()}),{enumerable:!0}),_T(GE,\"toString\",(function(){return NT(this).serialize()}),{enumerable:!0}),wT){var JE=wT.createObjectURL,KE=wT.revokeObjectURL;JE&&_T(jE,\"createObjectURL\",hT(JE,wT)),KE&&_T(jE,\"revokeObjectURL\",hT(KE,wT))}AT(jE,\"URL\"),cT({global:!0,constructor:!0,forced:!dT,sham:!lT},{URL:jE});var YE=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof DataView,zE=Lt,qE=Ht,QE=RangeError,XE=function(e){if(void 0===e)return 0;var t=zE(e),i=qE(t);if(t!==i)throw QE(\"Wrong length or index\");return i},ZE=Array,$E=Math.abs,eS=Math.pow,tS=Math.floor,iS=Math.log,nS=Math.LN2,rS={pack:function(e,t,i){var n,r,o,s=ZE(i),a=8*i-t-1,c=(1<>1,d=23===t?eS(2,-24)-eS(2,-77):0,u=e<0||0===e&&1/e<0?1:0,h=0;for((e=$E(e))!=e||Infinity===e?(r=e!=e?1:0,n=c):(n=tS(iS(e)/nS),e*(o=eS(2,-n))<1&&(n--,o*=2),(e+=n+l>=1?d/o:d*eS(2,1-l))*o>=2&&(n++,o/=2),n+l>=c?(r=0,n=c):n+l>=1?(r=(e*o-1)*eS(2,t),n+=l):(r=e*eS(2,l-1)*eS(2,t),n=0));t>=8;)s[h++]=255&r,r/=256,t-=8;for(n=n<0;)s[h++]=255&n,n/=256,a-=8;return s[--h]|=128*u,s},unpack:function(e,t){var i,n=e.length,r=8*n-t-1,o=(1<>1,a=r-7,c=n-1,l=e[c--],d=127&l;for(l>>=7;a>0;)d=256*d+e[c--],a-=8;for(i=d&(1<<-a)-1,d>>=-a,a+=t;a>0;)i=256*i+e[c--],a-=8;if(0===d)d=1-s;else{if(d===o)return i?NaN:l?-Infinity:Infinity;i+=eS(2,t),d-=s}return(l?-1:1)*i*eS(2,d-t)}},oS=B,sS=Ut,aS=Gt,cS=function(e){for(var t=oS(this),i=aS(t),n=arguments.length,r=sS(n>1?arguments[1]:void 0,i),o=n>2?arguments[2]:void 0,s=void 0===o?i:sS(o,i);s>r;)t[r++]=e;return t},lS=C,dS=c,uS=ke,hS=YE,pS=Dn,_S=Yi,mS=Is,fS=Z_,gS=i,TS=Ns,ES=Lt,SS=Ht,IS=XE,vS=rS,yS=Kr,AS=vo,RS=nr.f,CS=cS,bS=cm,kS=oo,NS=cn,DS=pS.PROPER,OS=pS.CONFIGURABLE,wS=\"ArrayBuffer\",PS=\"DataView\",LS=\"prototype\",MS=\"Wrong index\",VS=NS.getterFor(wS),xS=NS.getterFor(PS),US=NS.set,FS=lS[wS],BS=FS,HS=BS&&BS[LS],jS=lS[PS],GS=jS&&jS[LS],WS=Object.prototype,JS=lS.Array,KS=lS.RangeError,YS=dS(CS),zS=dS([].reverse),qS=vS.pack,QS=vS.unpack,XS=function(e){return[255&e]},ZS=function(e){return[255&e,e>>8&255]},$S=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},eI=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},tI=function(e){return qS(e,23,4)},iI=function(e){return qS(e,52,8)},nI=function(e,t,i){mS(e[LS],t,{configurable:!0,get:function(){return i(this)[t]}})},rI=function(e,t,i,n){var r=IS(i),o=xS(e);if(r+t>o.byteLength)throw KS(MS);var s=o.bytes,a=r+o.byteOffset,c=bS(s,a,a+t);return n?c:zS(c)},oI=function(e,t,i,n,r,o){var s=IS(i),a=xS(e);if(s+t>a.byteLength)throw KS(MS);for(var c=a.bytes,l=s+a.byteOffset,d=n(+r),u=0;ulI;)(aI=cI[lI++])in BS||_S(BS,aI,FS[aI]);HS.constructor=BS}AS&&yS(GS)!==WS&&AS(GS,WS);var dI=new jS(new BS(2)),uI=dS(GS.setInt8);dI.setInt8(0,2147483648),dI.setInt8(1,2147483649),!dI.getInt8(0)&&dI.getInt8(1)||fS(GS,{setInt8:function(e,t){uI(this,e,t<<24>>24)},setUint8:function(e,t){uI(this,e,t<<24>>24)}},{unsafe:!0})}else HS=(BS=function(e){TS(this,HS);var t=IS(e);US(this,{type:wS,bytes:YS(JS(t),0),byteLength:t}),uS||(this.byteLength=t,this.detached=!1)})[LS],GS=(jS=function(e,t,i){TS(this,GS),TS(e,HS);var n=VS(e),r=n.byteLength,o=ES(t);if(o<0||o>r)throw KS(\"Wrong offset\");if(o+(i=void 0===i?r-o:SS(i))>r)throw KS(\"Wrong length\");US(this,{type:PS,buffer:e,byteLength:i,byteOffset:o,bytes:n.bytes}),uS||(this.buffer=e,this.byteLength=i,this.byteOffset=o)})[LS],uS&&(nI(BS,\"byteLength\",VS),nI(jS,\"buffer\",xS),nI(jS,\"byteLength\",xS),nI(jS,\"byteOffset\",xS)),fS(GS,{getInt8:function(e){return rI(this,1,e)[0]<<24>>24},getUint8:function(e){return rI(this,1,e)[0]},getInt16:function(e){var t=rI(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=rI(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return eI(rI(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return eI(rI(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return QS(rI(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return QS(rI(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){oI(this,1,e,XS,t)},setUint8:function(e,t){oI(this,1,e,XS,t)},setInt16:function(e,t){oI(this,2,e,ZS,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){oI(this,2,e,ZS,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){oI(this,4,e,$S,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){oI(this,4,e,$S,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){oI(this,4,e,tI,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){oI(this,8,e,iI,t,arguments.length>2?arguments[2]:void 0)}});kS(BS,wS),kS(jS,PS);var hI={ArrayBuffer:BS,DataView:jS},pI=Cs,_I=\"ArrayBuffer\",mI=hI[_I];xr({global:!0,constructor:!0,forced:C[_I]!==mI},{ArrayBuffer:mI}),pI(_I);var fI=xr,gI=Ta,TI=i,EI=Ce,SI=Ut,II=Ht,vI=da,yI=hI.ArrayBuffer,AI=hI.DataView,RI=AI.prototype,CI=gI(yI.prototype.slice),bI=gI(RI.getUint8),kI=gI(RI.setUint8);fI({target:\"ArrayBuffer\",proto:!0,unsafe:!0,forced:TI((function(){return!new yI(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(CI&&void 0===t)return CI(EI(this),e);for(var i=EI(this).byteLength,n=SI(e,i),r=SI(void 0===t?i:t,i),o=new(vI(this,yI))(II(r-n)),s=new AI(this),a=new AI(o),c=0;n1?arguments[1]:void 0,p=void 0!==h,_=Hv(d);if(_&&!jv(_))for(c=(a=Bv(d,_)).next,d=[];!(s=Vv(c,a)).done;)d.push(s.value);for(p&&u>2&&(h=Mv(h,arguments[2])),i=Fv(d),n=new(Wv(l))(i),r=Gv(n),t=0;i>t;t++)o=p?h(d[t],t):d[t],n[t]=r?Jv(o):+o;return n},fy=rp.forEach,gy=Cs,Ty=Is,Ey=De,Sy=ln,Iy=lu,vy=cn.get,yy=cn.set,Ay=cn.enforce,Ry=Ey.f,Cy=Sy.f,by=Math.round,ky=Yv.RangeError,Ny=Zv.ArrayBuffer,Dy=Ny.prototype,Oy=Zv.DataView,wy=Xv.NATIVE_ARRAY_BUFFER_VIEWS,Py=Xv.TYPED_ARRAY_TAG,Ly=Xv.TypedArray,My=Xv.TypedArrayPrototype,Vy=Xv.aTypedArrayConstructor,xy=Xv.isTypedArray,Uy=\"BYTES_PER_ELEMENT\",Fy=\"Wrong length\",By=function(e,t){Vy(e);for(var i=0,n=t.length,r=new e(n);n>i;)r[i]=t[i++];return r},Hy=function(e,t){Ty(e,t,{configurable:!0,get:function(){return vy(this)[t]}})},jy=function(e){var t;return hy(Dy,e)||\"ArrayBuffer\"==(t=cy(e))||\"SharedArrayBuffer\"==t},Gy=function(e,t){return xy(e)&&!dy(t)&&t in e&&iy(+t)&&t>=0},Wy=function(e,t){return t=sy(t),Gy(e,t)?ey(2,e[t]):Cy(e,t)},Jy=function(e,t,i){return t=sy(t),!(Gy(e,t)&&ly(i)&&ay(i,\"value\"))||ay(i,\"get\")||ay(i,\"set\")||i.configurable||ay(i,\"writable\")&&!i.writable||ay(i,\"enumerable\")&&!i.enumerable?Ry(e,t,i):(e[t]=i.value,e)};qv?(wy||(Sy.f=Wy,Ey.f=Jy,Hy(My,\"buffer\"),Hy(My,\"byteOffset\"),Hy(My,\"byteLength\"),Hy(My,\"length\")),Kv({target:\"Object\",stat:!0,forced:!wy},{getOwnPropertyDescriptor:Wy,defineProperty:Jy}),PI.exports=function(e,t,i){var n=e.match(/\\d+/)[0]/8,r=e+(i?\"Clamped\":\"\")+\"Array\",o=\"get\"+e,s=\"set\"+e,a=Yv[r],c=a,l=c&&c.prototype,d={},u=function(e,t){Ry(e,t,{get:function(){return function(e,t){var i=vy(e);return i.view[o](t*n+i.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,r){var o=vy(e);i&&(r=(r=by(r))<0?0:r>255?255:255&r),o.view[s](t*n+o.byteOffset,r,!0)}(this,t,e)},enumerable:!0})};wy?Qv&&(c=t((function(e,t,i,r){return $v(e,l),Iy(ly(t)?jy(t)?void 0!==r?new a(t,oy(i,n),r):void 0!==i?new a(t,oy(i,n)):new a(t):xy(t)?By(c,t):zv(my,c,t):new a(ry(t)),e,c)})),py&&py(c,Ly),fy(_y(a),(function(e){e in c||ty(c,e,a[e])})),c.prototype=l):(c=t((function(e,t,i,r){$v(e,l);var o,s,a,d=0,h=0;if(ly(t)){if(!jy(t))return xy(t)?By(c,t):zv(my,c,t);o=t,h=oy(i,n);var p=t.byteLength;if(void 0===r){if(p%n)throw ky(Fy);if((s=p-h)<0)throw ky(Fy)}else if((s=ny(r)*n)+h>p)throw ky(Fy);a=s/n}else a=ry(t),o=new Ny(s=a*n);for(yy(e,{buffer:o,byteOffset:h,byteLength:s,length:a,view:new Oy(o)});d1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),Qy((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var eA=C,tA=Fe,iA=mv,nA=Gt,rA=Dv,oA=B,sA=i,aA=eA.RangeError,cA=eA.Int8Array,lA=cA&&cA.prototype,dA=lA&&lA.set,uA=iA.aTypedArray,hA=iA.exportTypedArrayMethod,pA=!sA((function(){var e=new Uint8ClampedArray(2);return tA(dA,e,{length:1,0:3},1),3!==e[1]})),_A=pA&&iA.NATIVE_ARRAY_BUFFER_VIEWS&&sA((function(){var e=new cA(2);return e.set(1),e.set(\"2\",1),0!==e[0]||2!==e[1]}));hA(\"set\",(function(e){uA(this);var t=rA(arguments.length>1?arguments[1]:void 0,1),i=oA(e);if(pA)return tA(dA,this,i,t);var n=this.length,r=nA(i),o=0;if(r+t>n)throw aA(\"Wrong length\");for(;o0&&1/i<0?1:-1:t>i}}(e))}),!PA||wA);var LA=Qe,MA=TypeError,VA=xr,xA=c,UA=et,FA=B,BA=Gt,HA=function(e,t){if(!delete e[t])throw MA(\"Cannot delete property \"+LA(t)+\" of \"+LA(e))},jA=fu,GA=i,WA=_m,JA=sp,KA=fA,YA=gA,zA=ie,qA=EA,QA=[],XA=xA(QA.sort),ZA=xA(QA.push),$A=GA((function(){QA.sort(void 0)})),eR=GA((function(){QA.sort(null)})),tR=JA(\"sort\"),iR=!GA((function(){if(zA)return zA<70;if(!(KA&&KA>3)){if(YA)return!0;if(qA)return qA<603;var e,t,i,n,r=\"\";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:i=3;break;case 68:case 71:i=4;break;default:i=2}for(n=0;n<47;n++)QA.push({k:t+n,v:i})}for(QA.sort((function(e,t){return t.v-e.v})),n=0;njA(i)?1:-1}}(e)),i=BA(r),n=0;ne.length?-1:\"\"===t?i:DR(e,t,i)};gR({target:\"String\",proto:!0},{replaceAll:function(e,t){var i,n,r,o,s,a,c,l,d=SR(this),u=0,h=0,p=\"\";if(!vR(e)){if(yR(e)&&(i=AR(SR(CR(e))),!~DR(i,\"g\")))throw NR(\"`.replaceAll` does not allow non-global regexes\");if(n=RR(e,kR))return TR(n,e,d,t)}for(r=AR(d),o=AR(e),(s=IR(t))||(t=AR(t)),a=o.length,c=wR(1,a),u=PR(r,o,0);-1!==u;)l=s?AR(t(o,u,r)):bR(o,r,u,[],void 0,t),p+=OR(r,h,u)+l,h=u+a,u=PR(r,o,u+c);return h=i&&parseInt(n[i],10)}function xR(e,t,i){if(!e.RTCPeerConnection)return;const n=e.RTCPeerConnection.prototype,r=n.addEventListener;n.addEventListener=function(e,n){if(e!==t)return r.apply(this,arguments);const o=e=>{const t=i(e);t&&(n.handleEvent?n.handleEvent(t):n(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(n,o),r.apply(this,[e,o])};const o=n.removeEventListener;n.removeEventListener=function(e,i){if(e!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(i))return o.apply(this,arguments);const n=this._eventMap[t].get(i);return this._eventMap[t].delete(i),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,o.apply(this,[e,n])},Object.defineProperty(n,\"on\"+t,{get(){return this[\"_on\"+t]},set(e){this[\"_on\"+t]&&(this.removeEventListener(t,this[\"_on\"+t]),delete this[\"_on\"+t]),e&&this.addEventListener(t,this[\"_on\"+t]=e)},enumerable:!0,configurable:!0})}function UR(e){return\"boolean\"!=typeof e?new Error(\"Argument type: \"+typeof e+\". Please use a boolean.\"):(LR=e,e?\"adapter.js logging disabled\":\"adapter.js logging enabled\")}function FR(e){return\"boolean\"!=typeof e?new Error(\"Argument type: \"+typeof e+\". Please use a boolean.\"):(MR=!e,\"adapter.js deprecation warnings \"+(e?\"disabled\":\"enabled\"))}function BR(){if(\"object\"==typeof window){if(LR)return;\"undefined\"!=typeof console&&\"function\"==typeof console.log&&console.log.apply(console,arguments)}}function HR(e,t){MR&&console.warn(e+\" is deprecated, please use \"+t+\" instead.\")}function jR(e){return\"[object Object]\"===Object.prototype.toString.call(e)}function GR(e){return jR(e)?Object.keys(e).reduce((function(t,i){const n=jR(e[i]),r=n?GR(e[i]):e[i],o=n&&!Object.keys(r).length;return void 0===r||o?t:Object.assign(t,{[i]:r})}),{}):e}function WR(e,t,i){t&&!i.has(t.id)&&(i.set(t.id,t),Object.keys(t).forEach((n=>{n.endsWith(\"Id\")?WR(e,e.get(t[n]),i):n.endsWith(\"Ids\")&&t[n].forEach((t=>{WR(e,e.get(t),i)}))})))}function JR(e,t,i){const n=i?\"outbound-rtp\":\"inbound-rtp\",r=new Map;if(null===t)return r;const o=[];return e.forEach((e=>{\"track\"===e.type&&e.trackIdentifier===t.id&&o.push(e)})),o.forEach((t=>{e.forEach((i=>{i.type===n&&i.trackId===t.id&&WR(e,i,r)}))})),r}const KR=BR;function YR(e,t){const i=e&&e.navigator;if(!i.mediaDevices)return;const n=function(e){if(\"object\"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach((i=>{if(\"require\"===i||\"advanced\"===i||\"mediaSource\"===i)return;const n=\"object\"==typeof e[i]?e[i]:{ideal:e[i]};void 0!==n.exact&&\"number\"==typeof n.exact&&(n.min=n.max=n.exact);const r=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):\"deviceId\"===t?\"sourceId\":t};if(void 0!==n.ideal){t.optional=t.optional||[];let e={};\"number\"==typeof n.ideal?(e[r(\"min\",i)]=n.ideal,t.optional.push(e),e={},e[r(\"max\",i)]=n.ideal,t.optional.push(e)):(e[r(\"\",i)]=n.ideal,t.optional.push(e))}void 0!==n.exact&&\"number\"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[r(\"\",i)]=n.exact):[\"min\",\"max\"].forEach((e=>{void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[r(e,i)]=n[e])}))})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},r=function(e,r){if(t.version>=61)return r(e);if((e=JSON.parse(JSON.stringify(e)))&&\"object\"==typeof e.audio){const t=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,\"autoGainControl\",\"googAutoGainControl\"),t(e.audio,\"noiseSuppression\",\"googNoiseSuppression\"),e.audio=n(e.audio)}if(e&&\"object\"==typeof e.video){let o=e.video.facingMode;o=o&&(\"object\"==typeof o?o:{ideal:o});const s=t.version<66;if(o&&(\"user\"===o.exact||\"environment\"===o.exact||\"user\"===o.ideal||\"environment\"===o.ideal)&&(!i.mediaDevices.getSupportedConstraints||!i.mediaDevices.getSupportedConstraints().facingMode||s)){let t;if(delete e.video.facingMode,\"environment\"===o.exact||\"environment\"===o.ideal?t=[\"back\",\"rear\"]:\"user\"!==o.exact&&\"user\"!==o.ideal||(t=[\"front\"]),t)return i.mediaDevices.enumerateDevices().then((i=>{i=i.filter((e=>\"videoinput\"===e.kind));let s=i.find((e=>t.some((t=>e.label.toLowerCase().includes(t)))));return!s&&i.length&&t.includes(\"back\")&&(s=i[i.length-1]),s&&(e.video.deviceId=o.exact?{exact:s.deviceId}:{ideal:s.deviceId}),e.video=n(e.video),KR(\"chrome: \"+JSON.stringify(e)),r(e)}))}e.video=n(e.video)}return KR(\"chrome: \"+JSON.stringify(e)),r(e)},o=function(e){return t.version>=64?e:{name:{PermissionDeniedError:\"NotAllowedError\",PermissionDismissedError:\"NotAllowedError\",InvalidStateError:\"NotAllowedError\",DevicesNotFoundError:\"NotFoundError\",ConstraintNotSatisfiedError:\"OverconstrainedError\",TrackStartError:\"NotReadableError\",MediaDeviceFailedDueToShutdown:\"NotAllowedError\",MediaDeviceKillSwitchOn:\"NotAllowedError\",TabCaptureError:\"AbortError\",ScreenCaptureError:\"AbortError\",DeviceCaptureError:\"AbortError\"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&\": \")+this.message}}};if(i.getUserMedia=function(e,t,n){r(e,(e=>{i.webkitGetUserMedia(e,t,(e=>{n&&n(o(e))}))}))}.bind(i),i.mediaDevices.getUserMedia){const e=i.mediaDevices.getUserMedia.bind(i.mediaDevices);i.mediaDevices.getUserMedia=function(t){return r(t,(t=>e(t).then((e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach((e=>{e.stop()})),new DOMException(\"\",\"NotFoundError\");return e}),(e=>Promise.reject(o(e))))))}}}function zR(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function qR(e){if(\"object\"==typeof e&&e.RTCPeerConnection&&!(\"ontrack\"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,\"ontrack\",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener(\"track\",this._ontrack),this.addEventListener(\"track\",this._ontrack=e)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener(\"addtrack\",(i=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===i.track.id)):{track:i.track};const r=new Event(\"track\");r.track=i.track,r.receiver=n,r.transceiver={receiver:n},r.streams=[t.stream],this.dispatchEvent(r)})),t.stream.getTracks().forEach((i=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===i.id)):{track:i};const r=new Event(\"track\");r.track=i,r.receiver=n,r.transceiver={receiver:n},r.streams=[t.stream],this.dispatchEvent(r)}))},this.addEventListener(\"addstream\",this._ontrackpoly)),t.apply(this,arguments)}}else xR(e,\"track\",(e=>(e.transceiver||Object.defineProperty(e,\"transceiver\",{value:{receiver:e.receiver}}),e)))}function QR(e){if(\"object\"==typeof e&&e.RTCPeerConnection&&!(\"getSenders\"in e.RTCPeerConnection.prototype)&&\"createDTMFSender\"in e.RTCPeerConnection.prototype){const t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&(\"audio\"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const i=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){let r=i.apply(this,arguments);return r||(r=t(this,e),this._senders.push(r)),r};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){n.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],i.apply(this,[e]),e.getTracks().forEach((e=>{this._senders.push(t(this,e))}))};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach((e=>{const t=this._senders.find((t=>t.track===e));t&&this._senders.splice(this._senders.indexOf(t),1)}))}}else if(\"object\"==typeof e&&e.RTCPeerConnection&&\"getSenders\"in e.RTCPeerConnection.prototype&&\"createDTMFSender\"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!(\"dtmf\"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e},Object.defineProperty(e.RTCRtpSender.prototype,\"dtmf\",{get(){return void 0===this._dtmf&&(\"audio\"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function XR(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,i,n]=arguments;if(arguments.length>0&&\"function\"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0===arguments.length||\"function\"!=typeof e))return t.apply(this,[]);const r=function(e){const t={};return e.result().forEach((e=>{const i={id:e.id,timestamp:e.timestamp,type:{localcandidate:\"local-candidate\",remotecandidate:\"remote-candidate\"}[e.type]||e.type};e.names().forEach((t=>{i[t]=e.stat(t)})),t[i.id]=i})),t},o=function(e){return new Map(Object.keys(e).map((t=>[t,e[t]])))};if(arguments.length>=2){const n=function(e){i(o(r(e)))};return t.apply(this,[n,e])}return new Promise(((e,i)=>{t.apply(this,[function(t){e(o(r(t)))},i])})).then(i,n)}}function ZR(e){if(!(\"object\"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!(\"getStats\"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=i.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>JR(t,e.track,!0)))}}if(!(\"getStats\"in e.RTCRtpReceiver.prototype)){const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),xR(e,\"track\",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>JR(t,e.track,!1)))}}if(!(\"getStats\"in e.RTCRtpSender.prototype)||!(\"getStats\"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const e=arguments[0];let t,i,n;return this.getSenders().forEach((i=>{i.track===e&&(t?n=!0:t=i)})),this.getReceivers().forEach((t=>(t.track===e&&(i?n=!0:i=t),t.track===e))),n||t&&i?Promise.reject(new DOMException(\"There are more than one sender or receiver for the track.\",\"InvalidAccessError\")):t?t.getStats():i?i.getStats():Promise.reject(new DOMException(\"There is no sender or receiver for the track.\",\"InvalidAccessError\"))}return t.apply(this,arguments)}}function $R(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((e=>this._shimmedLocalStreams[e][0]))};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,i){if(!i)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const n=t.apply(this,arguments);return this._shimmedLocalStreams[i.id]?-1===this._shimmedLocalStreams[i.id].indexOf(n)&&this._shimmedLocalStreams[i.id].push(n):this._shimmedLocalStreams[i.id]=[i,n],n};const i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException(\"Track already exists.\",\"InvalidAccessError\")}));const t=this.getSenders();i.apply(this,arguments);const n=this.getSenders().filter((e=>-1===t.indexOf(e)));this._shimmedLocalStreams[e.id]=[e].concat(n)};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};const r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach((t=>{const i=this._shimmedLocalStreams[t].indexOf(e);-1!==i&&this._shimmedLocalStreams[t].splice(i,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]})),r.apply(this,arguments)}}function eC(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return $R(e);const i=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=i.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map((e=>this._reverseStreams[e.id]))};const n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException(\"Track already exists.\",\"InvalidAccessError\")})),!this._reverseStreams[t.id]){const i=new e.MediaStream(t.getTracks());this._streams[t.id]=i,this._reverseStreams[i.id]=t,t=i}n.apply(this,[t])};const r=e.RTCPeerConnection.prototype.removeStream;function o(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],r=e._streams[n.id];i=i.replace(new RegExp(r.id,\"g\"),n.id)})),new RTCSessionDescription({type:t.type,sdp:i})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},r.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,i){if(\"closed\"===this.signalingState)throw new DOMException(\"The RTCPeerConnection's signalingState is 'closed'.\",\"InvalidStateError\");const n=[].slice.call(arguments,1);if(1!==n.length||!n[0].getTracks().find((e=>e===t)))throw new DOMException(\"The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.\",\"NotSupportedError\");if(this.getSenders().find((e=>e.track===t)))throw new DOMException(\"Track already exists.\",\"InvalidAccessError\");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const r=this._streams[i.id];if(r)r.addTrack(t),Promise.resolve().then((()=>{this.dispatchEvent(new Event(\"negotiationneeded\"))}));else{const n=new e.MediaStream([t]);this._streams[i.id]=n,this._reverseStreams[n.id]=i,this.addStream(n)}return this.getSenders().find((e=>e.track===t))},[\"createOffer\",\"createAnswer\"].forEach((function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){const e=arguments;return arguments.length&&\"function\"==typeof arguments[0]?i.apply(this,[t=>{const i=o(this,t);e[0].apply(null,[i])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):i.apply(this,arguments).then((e=>o(this,e)))}};e.RTCPeerConnection.prototype[t]=n[t]}));const s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=function(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],r=e._streams[n.id];i=i.replace(new RegExp(n.id,\"g\"),r.id)})),new RTCSessionDescription({type:t.type,sdp:i})}(this,arguments[0]),s.apply(this,arguments)):s.apply(this,arguments)};const a=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,\"localDescription\");Object.defineProperty(e.RTCPeerConnection.prototype,\"localDescription\",{get(){const e=a.get.apply(this);return\"\"===e.type?e:o(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if(\"closed\"===this.signalingState)throw new DOMException(\"The RTCPeerConnection's signalingState is 'closed'.\",\"InvalidStateError\");if(!e._pc)throw new DOMException(\"Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.\",\"TypeError\");if(!(e._pc===this))throw new DOMException(\"Sender was not created by this connection.\",\"InvalidAccessError\");let t;this._streams=this._streams||{},Object.keys(this._streams).forEach((i=>{this._streams[i].getTracks().find((t=>e.track===t))&&(t=this._streams[i])})),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event(\"negotiationneeded\")))}}function tC(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&[\"setLocalDescription\",\"setRemoteDescription\",\"addIceCandidate\"].forEach((function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new(\"addIceCandidate\"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}))}function iC(e,t){xR(e,\"negotiationneeded\",(e=>{const i=e.target;if(!(t.version<72||i.getConfiguration&&\"plan-b\"===i.getConfiguration().sdpSemantics)||\"stable\"===i.signalingState)return e}))}var nC=Object.freeze({__proto__:null,shimMediaStream:zR,shimOnTrack:qR,shimGetSendersWithDtmf:QR,shimGetStats:XR,shimSenderReceiverGetStats:ZR,shimAddTrackRemoveTrackWithNative:$R,shimAddTrackRemoveTrack:eC,shimPeerConnection:tC,fixNegotiationNeeded:iC,shimGetUserMedia:YR,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&\"getDisplayMedia\"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(\"function\"==typeof t?e.navigator.mediaDevices.getDisplayMedia=function(i){return t(i).then((t=>{const n=i.video&&i.video.width,r=i.video&&i.video.height,o=i.video&&i.video.frameRate;return i.video={mandatory:{chromeMediaSource:\"desktop\",chromeMediaSourceId:t,maxFrameRate:o||3}},n&&(i.video.mandatory.maxWidth=n),r&&(i.video.mandatory.maxHeight=r),e.navigator.mediaDevices.getUserMedia(i)}))}:console.error(\"shimGetDisplayMedia: getSourceId argument is not a function\"))}});function rC(e,t){const i=e&&e.navigator,n=e&&e.MediaStreamTrack;if(i.getUserMedia=function(e,t,n){HR(\"navigator.getUserMedia\",\"navigator.mediaDevices.getUserMedia\"),i.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&\"autoGainControl\"in i.mediaDevices.getSupportedConstraints())){const e=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])},t=i.mediaDevices.getUserMedia.bind(i.mediaDevices);if(i.mediaDevices.getUserMedia=function(i){return\"object\"==typeof i&&\"object\"==typeof i.audio&&(i=JSON.parse(JSON.stringify(i)),e(i.audio,\"autoGainControl\",\"mozAutoGainControl\"),e(i.audio,\"noiseSuppression\",\"mozNoiseSuppression\")),t(i)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const i=t.apply(this,arguments);return e(i,\"mozAutoGainControl\",\"autoGainControl\"),e(i,\"mozNoiseSuppression\",\"noiseSuppression\"),i}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(i){return\"audio\"===this.kind&&\"object\"==typeof i&&(i=JSON.parse(JSON.stringify(i)),e(i,\"autoGainControl\",\"mozAutoGainControl\"),e(i,\"noiseSuppression\",\"mozNoiseSuppression\")),t.apply(this,[i])}}}}function oC(e){\"object\"==typeof e&&e.RTCTrackEvent&&\"receiver\"in e.RTCTrackEvent.prototype&&!(\"transceiver\"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,\"transceiver\",{get(){return{receiver:this.receiver}}})}function sC(e,t){if(\"object\"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&[\"setLocalDescription\",\"setRemoteDescription\",\"addIceCandidate\"].forEach((function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new(\"addIceCandidate\"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}));const i={inboundrtp:\"inbound-rtp\",outboundrtp:\"outbound-rtp\",candidatepair:\"candidate-pair\",localcandidate:\"local-candidate\",remotecandidate:\"remote-candidate\"},n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,r,o]=arguments;return n.apply(this,[e||null]).then((e=>{if(t.version<53&&!r)try{e.forEach((e=>{e.type=i[e.type]||e.type}))}catch(sN){if(\"TypeError\"!==sN.name)throw sN;e.forEach(((t,n)=>{e.set(n,Object.assign({},t,{type:i[t.type]||t.type}))}))}return e})).then(r,o)}}function aC(e){if(\"object\"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&\"getStats\"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=i.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function cC(e){if(\"object\"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&\"getStats\"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),xR(e,\"track\",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function lC(e){e.RTCPeerConnection&&!(\"removeStream\"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){HR(\"removeStream\",\"removeTrack\"),this.getSenders().forEach((t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)}))})}function dC(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function uC(e){if(\"object\"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;void 0===e&&(e=[]),e=[...e];const i=e.length>0;i&&e.forEach((e=>{if(\"rid\"in e){if(!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError(\"Invalid RID value provided.\")}if(\"scaleResolutionDownBy\"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError(\"scale_resolution_down_by must be >= 1.0\");if(\"maxFramerate\"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError(\"max_framerate must be >= 0.0\")}));const n=t.apply(this,arguments);if(i){const{sender:t}=n,i=t.getParameters();(!(\"encodings\"in i)||1===i.encodings.length&&0===Object.keys(i.encodings[0]).length)&&(i.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(i).then((()=>{delete t.sendEncodings})).catch((()=>{delete t.sendEncodings}))))}return n})}function hC(e){if(\"object\"!=typeof e||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const e=t.apply(this,arguments);return\"encodings\"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function pC(e){if(\"object\"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}function _C(e){if(\"object\"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}var mC=Object.freeze({__proto__:null,shimOnTrack:oC,shimPeerConnection:sC,shimSenderGetStats:aC,shimReceiverGetStats:cC,shimRemoveStream:lC,shimRTCDataChannel:dC,shimAddTransceiver:uC,shimGetParameters:hC,shimCreateOffer:pC,shimCreateAnswer:_C,shimGetUserMedia:rC,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&\"getDisplayMedia\"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(i){if(!i||!i.video){const e=new DOMException(\"getDisplayMedia without video constraints is undefined\");return e.name=\"NotFoundError\",e.code=8,Promise.reject(e)}return!0===i.video?i.video={mediaSource:t}:i.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(i)})}});function fC(e){if(\"object\"==typeof e&&e.RTCPeerConnection){if(\"getLocalStreams\"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!(\"addStream\"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((i=>t.call(this,i,e))),e.getVideoTracks().forEach((i=>t.call(this,i,e)))},e.RTCPeerConnection.prototype.addTrack=function(e,...i){return i&&i.forEach((e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]})),t.apply(this,arguments)}}\"removeStream\"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const i=e.getTracks();this.getSenders().forEach((e=>{i.includes(e.track)&&this.removeTrack(e)}))})}}function gC(e){if(\"object\"==typeof e&&e.RTCPeerConnection&&(\"getRemoteStreams\"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!(\"onaddstream\"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,\"onaddstream\",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener(\"addstream\",this._onaddstream),this.removeEventListener(\"track\",this._onaddstreampoly)),this.addEventListener(\"addstream\",this._onaddstream=e),this.addEventListener(\"track\",this._onaddstreampoly=e=>{e.streams.forEach((e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event(\"addstream\");t.stream=e,this.dispatchEvent(t)}))})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener(\"track\",this._onaddstreampoly=function(t){t.streams.forEach((t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const i=new Event(\"addstream\");i.stream=t,e.dispatchEvent(i)}))}),t.apply(e,arguments)}}}function TC(e){if(\"object\"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,i=t.createOffer,n=t.createAnswer,r=t.setLocalDescription,o=t.setRemoteDescription,s=t.addIceCandidate;t.createOffer=function(e,t){const n=arguments.length>=2?arguments[2]:arguments[0],r=i.apply(this,[n]);return t?(r.then(e,t),Promise.resolve()):r},t.createAnswer=function(e,t){const i=arguments.length>=2?arguments[2]:arguments[0],r=n.apply(this,[i]);return t?(r.then(e,t),Promise.resolve()):r};let a=function(e,t,i){const n=r.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n};t.setLocalDescription=a,a=function(e,t,i){const n=o.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n},t.setRemoteDescription=a,a=function(e,t,i){const n=s.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n},t.addIceCandidate=a}function EC(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,i=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>i(SC(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,i,n){t.mediaDevices.getUserMedia(e).then(i,n)}.bind(t))}function SC(e){return e&&void 0!==e.video?Object.assign({},e,{video:GR(e.video)}):e}function IC(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,i){if(e&&e.iceServers){const t=[];for(let i=0;it.generateCertificate})}function vC(e){\"object\"==typeof e&&e.RTCTrackEvent&&\"receiver\"in e.RTCTrackEvent.prototype&&!(\"transceiver\"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,\"transceiver\",{get(){return{receiver:this.receiver}}})}function yC(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find((e=>\"audio\"===e.receiver.track.kind));!1===e.offerToReceiveAudio&&t?\"sendrecv\"===t.direction?t.setDirection?t.setDirection(\"sendonly\"):t.direction=\"sendonly\":\"recvonly\"===t.direction&&(t.setDirection?t.setDirection(\"inactive\"):t.direction=\"inactive\"):!0!==e.offerToReceiveAudio||t||this.addTransceiver(\"audio\",{direction:\"recvonly\"}),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const i=this.getTransceivers().find((e=>\"video\"===e.receiver.track.kind));!1===e.offerToReceiveVideo&&i?\"sendrecv\"===i.direction?i.setDirection?i.setDirection(\"sendonly\"):i.direction=\"sendonly\":\"recvonly\"===i.direction&&(i.setDirection?i.setDirection(\"inactive\"):i.direction=\"inactive\"):!0!==e.offerToReceiveVideo||i||this.addTransceiver(\"video\",{direction:\"recvonly\"})}return t.apply(this,arguments)}}function AC(e){\"object\"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var RC=Object.freeze({__proto__:null,shimLocalStreamsAPI:fC,shimRemoteStreamsAPI:gC,shimCallbacksAPI:TC,shimGetUserMedia:EC,shimConstraints:SC,shimRTCIceServerUrls:IC,shimTrackEventTransceiver:vC,shimCreateOfferLegacy:yC,shimAudioContext:AC}),CC={},bC={get exports(){return CC},set exports(e){CC=e}};!function(e){const t={generateIdentifier:function(){return Math.random().toString(36).substring(2,12)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split(\"\\n\").map((e=>e.trim()))},t.splitSections=function(e){return e.split(\"\\nm=\").map(((e,t)=>(t>0?\"m=\"+e:e).trim()+\"\\r\\n\"))},t.getDescription=function(e){const i=t.splitSections(e);return i&&i[0]},t.getMediaSections=function(e){const i=t.splitSections(e);return i.shift(),i},t.matchPrefix=function(e,i){return t.splitLines(e).filter((e=>0===e.indexOf(i)))},t.parseCandidate=function(e){let t;t=0===e.indexOf(\"a=candidate:\")?e.substring(12).split(\" \"):e.substring(10).split(\" \");const i={foundation:t[0],component:{1:\"rtp\",2:\"rtcp\"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let n=8;n0?t[0].split(\"/\")[1]:\"sendrecv\",uri:t[1],attributes:t.slice(2).join(\" \")}},t.writeExtmap=function(e){return\"a=extmap:\"+(e.id||e.preferredId)+(e.direction&&\"sendrecv\"!==e.direction?\"/\"+e.direction:\"\")+\" \"+e.uri+(e.attributes?\" \"+e.attributes:\"\")+\"\\r\\n\"},t.parseFmtp=function(e){const t={};let i;const n=e.substring(e.indexOf(\" \")+1).split(\";\");for(let r=0;r{void 0!==e.parameters[t]?n.push(t+\"=\"+e.parameters[t]):n.push(t)})),t+=\"a=fmtp:\"+i+\" \"+n.join(\";\")+\"\\r\\n\"}return t},t.parseRtcpFb=function(e){const t=e.substring(e.indexOf(\" \")+1).split(\" \");return{type:t.shift(),parameter:t.join(\" \")}},t.writeRtcpFb=function(e){let t=\"\",i=e.payloadType;return void 0!==e.preferredPayloadType&&(i=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach((e=>{t+=\"a=rtcp-fb:\"+i+\" \"+e.type+(e.parameter&&e.parameter.length?\" \"+e.parameter:\"\")+\"\\r\\n\"})),t},t.parseSsrcMedia=function(e){const t=e.indexOf(\" \"),i={ssrc:parseInt(e.substring(7,t),10)},n=e.indexOf(\":\",t);return n>-1?(i.attribute=e.substring(t+1,n),i.value=e.substring(n+1)):i.attribute=e.substring(t+1),i},t.parseSsrcGroup=function(e){const t=e.substring(13).split(\" \");return{semantics:t.shift(),ssrcs:t.map((e=>parseInt(e,10)))}},t.getMid=function(e){const i=t.matchPrefix(e,\"a=mid:\")[0];if(i)return i.substring(6)},t.parseFingerprint=function(e){const t=e.substring(14).split(\" \");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},t.getDtlsParameters=function(e,i){return{role:\"auto\",fingerprints:t.matchPrefix(e+i,\"a=fingerprint:\").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let i=\"a=setup:\"+t+\"\\r\\n\";return e.fingerprints.forEach((e=>{i+=\"a=fingerprint:\"+e.algorithm+\" \"+e.value+\"\\r\\n\"})),i},t.parseCryptoLine=function(e){const t=e.substring(9).split(\" \");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return\"a=crypto:\"+e.tag+\" \"+e.cryptoSuite+\" \"+(\"object\"==typeof e.keyParams?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?\" \"+e.sessionParams.join(\" \"):\"\")+\"\\r\\n\"},t.parseCryptoKeyParams=function(e){if(0!==e.indexOf(\"inline:\"))return null;const t=e.substring(7).split(\"|\");return{keyMethod:\"inline\",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(\":\")[0]:void 0,mkiLength:t[2]?t[2].split(\":\")[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+\":\"+e.keySalt+(e.lifeTime?\"|\"+e.lifeTime:\"\")+(e.mkiValue&&e.mkiLength?\"|\"+e.mkiValue+\":\"+e.mkiLength:\"\")},t.getCryptoParameters=function(e,i){return t.matchPrefix(e+i,\"a=crypto:\").map(t.parseCryptoLine)},t.getIceParameters=function(e,i){const n=t.matchPrefix(e+i,\"a=ice-ufrag:\")[0],r=t.matchPrefix(e+i,\"a=ice-pwd:\")[0];return n&&r?{usernameFragment:n.substring(12),password:r.substring(10)}:null},t.writeIceParameters=function(e){let t=\"a=ice-ufrag:\"+e.usernameFragment+\"\\r\\na=ice-pwd:\"+e.password+\"\\r\\n\";return e.iceLite&&(t+=\"a=ice-lite\\r\\n\"),t},t.parseRtpParameters=function(e){const i={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=t.splitLines(e)[0].split(\" \");i.profile=n[2];for(let o=3;o{i.headerExtensions.push(t.parseExtmap(e))}));const r=t.matchPrefix(e,\"a=rtcp-fb:* \").map(t.parseRtcpFb);return i.codecs.forEach((e=>{r.forEach((t=>{e.rtcpFeedback.find((e=>e.type===t.type&&e.parameter===t.parameter))||e.rtcpFeedback.push(t)}))})),i},t.writeRtpDescription=function(e,i){let n=\"\";n+=\"m=\"+e+\" \",n+=i.codecs.length>0?\"9\":\"0\",n+=\" \"+(i.profile||\"UDP/TLS/RTP/SAVPF\")+\" \",n+=i.codecs.map((e=>void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType)).join(\" \")+\"\\r\\n\",n+=\"c=IN IP4 0.0.0.0\\r\\n\",n+=\"a=rtcp:9 IN IP4 0.0.0.0\\r\\n\",i.codecs.forEach((e=>{n+=t.writeRtpMap(e),n+=t.writeFmtp(e),n+=t.writeRtcpFb(e)}));let r=0;return i.codecs.forEach((e=>{e.maxptime>r&&(r=e.maxptime)})),r>0&&(n+=\"a=maxptime:\"+r+\"\\r\\n\"),i.headerExtensions&&i.headerExtensions.forEach((e=>{n+=t.writeExtmap(e)})),n},t.parseRtpEncodingParameters=function(e){const i=[],n=t.parseRtpParameters(e),r=-1!==n.fecMechanisms.indexOf(\"RED\"),o=-1!==n.fecMechanisms.indexOf(\"ULPFEC\"),s=t.matchPrefix(e,\"a=ssrc:\").map((e=>t.parseSsrcMedia(e))).filter((e=>\"cname\"===e.attribute)),a=s.length>0&&s[0].ssrc;let c;const l=t.matchPrefix(e,\"a=ssrc-group:FID\").map((e=>e.substring(17).split(\" \").map((e=>parseInt(e,10)))));l.length>0&&l[0].length>1&&l[0][0]===a&&(c=l[0][1]),n.codecs.forEach((e=>{if(\"RTX\"===e.name.toUpperCase()&&e.parameters.apt){let t={ssrc:a,codecPayloadType:parseInt(e.parameters.apt,10)};a&&c&&(t.rtx={ssrc:c}),i.push(t),r&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:a,mechanism:o?\"red+ulpfec\":\"red\"},i.push(t))}})),0===i.length&&a&&i.push({ssrc:a});let d=t.matchPrefix(e,\"b=\");return d.length&&(d=0===d[0].indexOf(\"b=TIAS:\")?parseInt(d[0].substring(7),10):0===d[0].indexOf(\"b=AS:\")?1e3*parseInt(d[0].substring(5),10)*.95-16e3:void 0,i.forEach((e=>{e.maxBitrate=d}))),i},t.parseRtcpParameters=function(e){const i={},n=t.matchPrefix(e,\"a=ssrc:\").map((e=>t.parseSsrcMedia(e))).filter((e=>\"cname\"===e.attribute))[0];n&&(i.cname=n.value,i.ssrc=n.ssrc);const r=t.matchPrefix(e,\"a=rtcp-rsize\");i.reducedSize=r.length>0,i.compound=0===r.length;const o=t.matchPrefix(e,\"a=rtcp-mux\");return i.mux=o.length>0,i},t.writeRtcpParameters=function(e){let t=\"\";return e.reducedSize&&(t+=\"a=rtcp-rsize\\r\\n\"),e.mux&&(t+=\"a=rtcp-mux\\r\\n\"),void 0!==e.ssrc&&e.cname&&(t+=\"a=ssrc:\"+e.ssrc+\" cname:\"+e.cname+\"\\r\\n\"),t},t.parseMsid=function(e){let i;const n=t.matchPrefix(e,\"a=msid:\");if(1===n.length)return i=n[0].substring(7).split(\" \"),{stream:i[0],track:i[1]};const r=t.matchPrefix(e,\"a=ssrc:\").map((e=>t.parseSsrcMedia(e))).filter((e=>\"msid\"===e.attribute));return r.length>0?(i=r[0].value.split(\" \"),{stream:i[0],track:i[1]}):void 0},t.parseSctpDescription=function(e){const i=t.parseMLine(e),n=t.matchPrefix(e,\"a=max-message-size:\");let r;n.length>0&&(r=parseInt(n[0].substring(19),10)),isNaN(r)&&(r=65536);const o=t.matchPrefix(e,\"a=sctp-port:\");if(o.length>0)return{port:parseInt(o[0].substring(12),10),protocol:i.fmt,maxMessageSize:r};const s=t.matchPrefix(e,\"a=sctpmap:\");if(s.length>0){const e=s[0].substring(10).split(\" \");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:r}}},t.writeSctpDescription=function(e,t){let i=[];return i=\"DTLS/SCTP\"!==e.protocol?[\"m=\"+e.kind+\" 9 \"+e.protocol+\" \"+t.protocol+\"\\r\\n\",\"c=IN IP4 0.0.0.0\\r\\n\",\"a=sctp-port:\"+t.port+\"\\r\\n\"]:[\"m=\"+e.kind+\" 9 \"+e.protocol+\" \"+t.port+\"\\r\\n\",\"c=IN IP4 0.0.0.0\\r\\n\",\"a=sctpmap:\"+t.port+\" \"+t.protocol+\" 65535\\r\\n\"],void 0!==t.maxMessageSize&&i.push(\"a=max-message-size:\"+t.maxMessageSize+\"\\r\\n\"),i.join(\"\")},t.generateSessionId=function(){return Math.random().toString().substr(2,22)},t.writeSessionBoilerplate=function(e,i,n){let r;const o=void 0!==i?i:2;r=e||t.generateSessionId();return\"v=0\\r\\no=\"+(n||\"thisisadapterortc\")+\" \"+r+\" \"+o+\" IN IP4 127.0.0.1\\r\\ns=-\\r\\nt=0 0\\r\\n\"},t.getDirection=function(e,i){const n=t.splitLines(e);for(let t=0;t(t.candidate&&Object.defineProperty(t,\"candidate\",{value:new e.RTCIceCandidate(t.candidate),writable:\"false\"}),t)))}function OC(e){!e.RTCIceCandidate||e.RTCIceCandidate&&\"relayProtocol\"in e.RTCIceCandidate.prototype||xR(e,\"icecandidate\",(e=>{if(e.candidate){const t=kC.parseCandidate(e.candidate.candidate);\"relay\"===t.type&&(e.candidate.relayProtocol={0:\"tls\",1:\"tcp\",2:\"udp\"}[t.priority>>24])}return e}))}function wC(e,t){if(!e.RTCPeerConnection)return;\"sctp\"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,\"sctp\",{get(){return void 0===this._sctp?null:this._sctp}});const i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,\"chrome\"===t.browser&&t.version>=76){const{sdpSemantics:e}=this.getConfiguration();\"plan-b\"===e&&Object.defineProperty(this,\"sctp\",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(function(e){if(!e||!e.sdp)return!1;const t=kC.splitSections(e.sdp);return t.shift(),t.some((e=>{const t=kC.parseMLine(e);return t&&\"application\"===t.kind&&-1!==t.protocol.indexOf(\"SCTP\")}))}(arguments[0])){const e=function(e){const t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\\d+)/);if(null===t||t.length<2)return-1;const i=parseInt(t[1],10);return i!=i?-1:i}(arguments[0]),i=function(e){let i=65536;return\"firefox\"===t.browser&&(i=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),i}(e),n=function(e,i){let n=65536;\"firefox\"===t.browser&&57===t.version&&(n=65535);const r=kC.matchPrefix(e.sdp,\"a=max-message-size:\");return r.length>0?n=parseInt(r[0].substring(19),10):\"firefox\"===t.browser&&-1!==i&&(n=2147483637),n}(arguments[0],e);let r;r=0===i&&0===n?Number.POSITIVE_INFINITY:0===i||0===n?Math.max(i,n):Math.min(i,n);const o={};Object.defineProperty(o,\"maxMessageSize\",{get:()=>r}),this._sctp=o}return i.apply(this,arguments)}}function PC(e){if(!e.RTCPeerConnection||!(\"createDataChannel\"in e.RTCPeerConnection.prototype))return;function t(e,t){const i=e.send;e.send=function(){const n=arguments[0],r=n.length||n.size||n.byteLength;if(\"open\"===e.readyState&&t.sctp&&r>t.sctp.maxMessageSize)throw new TypeError(\"Message too large (can send a maximum of \"+t.sctp.maxMessageSize+\" bytes)\");return i.apply(e,arguments)}}const i=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=i.apply(this,arguments);return t(e,this),e},xR(e,\"datachannel\",(e=>(t(e.channel,e.target),e)))}function LC(e){if(!e.RTCPeerConnection||\"connectionState\"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,\"connectionState\",{get(){return{completed:\"connected\",checking:\"connecting\"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,\"onconnectionstatechange\",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener(\"connectionstatechange\",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener(\"connectionstatechange\",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),[\"setLocalDescription\",\"setRemoteDescription\"].forEach((e=>{const i=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{const t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;const i=new Event(\"connectionstatechange\",e);t.dispatchEvent(i)}return e},this.addEventListener(\"iceconnectionstatechange\",this._connectionstatechangepoly)),i.apply(this,arguments)}}))}function MC(e,t){if(!e.RTCPeerConnection)return;if(\"chrome\"===t.browser&&t.version>=71)return;if(\"safari\"===t.browser&&t.version>=605)return;const i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf(\"\\na=extmap-allow-mixed\")){const i=t.sdp.split(\"\\n\").filter((e=>\"a=extmap-allow-mixed\"!==e.trim())).join(\"\\n\");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:i}):t.sdp=i}return i.apply(this,arguments)}}function VC(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const i=e.RTCPeerConnection.prototype.addIceCandidate;i&&0!==i.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(\"chrome\"===t.browser&&t.version<78||\"firefox\"===t.browser&&t.version<68||\"safari\"===t.browser)&&arguments[0]&&\"\"===arguments[0].candidate?Promise.resolve():i.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function xC(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const i=e.RTCPeerConnection.prototype.setLocalDescription;i&&0!==i.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if(\"object\"!=typeof e||e.type&&e.sdp)return i.apply(this,arguments);if(e={type:e.type,sdp:e.sdp},!e.type)switch(this.signalingState){case\"stable\":case\"have-local-offer\":case\"have-remote-pranswer\":e.type=\"offer\";break;default:e.type=\"answer\"}if(e.sdp||\"offer\"!==e.type&&\"answer\"!==e.type)return i.apply(this,[e]);return(\"offer\"===e.type?this.createOffer:this.createAnswer).apply(this).then((e=>i.apply(this,[e])))})}var UC=Object.freeze({__proto__:null,shimRTCIceCandidate:DC,shimRTCIceCandidateRelayProtocol:OC,shimMaxMessageSize:wC,shimSendThrowTypeError:PC,shimConnectionState:LC,removeExtmapAllowMixed:MC,shimAddIceCandidateNullOrEmpty:VC,shimParameterlessSetLocalDescription:xC});!function({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){const i=BR,n=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator||!e.navigator.userAgent)return t.browser=\"Not a browser.\",t;const{navigator:i}=e;if(i.mozGetUserMedia)t.browser=\"firefox\",t.version=VR(i.userAgent,/Firefox\\/(\\d+)\\./,1);else if(i.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser=\"chrome\",t.version=VR(i.userAgent,/Chrom(e|ium)\\/(\\d+)\\./,2);else{if(!e.RTCPeerConnection||!i.userAgent.match(/AppleWebKit\\/(\\d+)\\./))return t.browser=\"Not a supported browser.\",t;t.browser=\"safari\",t.version=VR(i.userAgent,/AppleWebKit\\/(\\d+)\\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&\"currentDirection\"in e.RTCRtpTransceiver.prototype}return t}(e),r={browserDetails:n,commonShim:UC,extractVersion:VR,disableLog:UR,disableWarnings:FR,sdp:NC};switch(n.browser){case\"chrome\":if(!nC||!tC||!t.shimChrome)return i(\"Chrome shim is not included in this adapter release.\"),r;if(null===n.version)return i(\"Chrome shim can not determine version, not shimming.\"),r;i(\"adapter.js shimming chrome.\"),r.browserShim=nC,VC(e,n),xC(e),YR(e,n),zR(e),tC(e,n),qR(e),eC(e,n),QR(e),XR(e),ZR(e),iC(e,n),DC(e),OC(e),LC(e),wC(e,n),PC(e),MC(e,n);break;case\"firefox\":if(!mC||!sC||!t.shimFirefox)return i(\"Firefox shim is not included in this adapter release.\"),r;i(\"adapter.js shimming firefox.\"),r.browserShim=mC,VC(e,n),xC(e),rC(e,n),sC(e,n),oC(e),lC(e),aC(e),cC(e),dC(e),uC(e),hC(e),pC(e),_C(e),DC(e),LC(e),wC(e,n),PC(e);break;case\"safari\":if(!RC||!t.shimSafari)return i(\"Safari shim is not included in this adapter release.\"),r;i(\"adapter.js shimming safari.\"),r.browserShim=RC,VC(e,n),xC(e),IC(e),yC(e),TC(e),fC(e),gC(e),vC(e),EC(e),AC(e),DC(e),OC(e),wC(e,n),PC(e),MC(e,n);break;default:i(\"Unsupported browser!\")}}({window:\"undefined\"==typeof window?void 0:window});var FC,BC=Object.create,HC=Object.defineProperty,jC=Object.defineProperties,GC=Object.getOwnPropertyDescriptor,WC=Object.getOwnPropertyDescriptors,JC=Object.getOwnPropertyNames,KC=Object.getOwnPropertySymbols,YC=Object.getPrototypeOf,zC=Object.prototype.hasOwnProperty,qC=Object.prototype.propertyIsEnumerable,QC=Reflect.get,XC=Math.pow,ZC=(e,t,i)=>t in e?HC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,$C=(e,t)=>{for(var i in t||(t={}))zC.call(t,i)&&ZC(e,i,t[i]);if(KC)for(var i of KC(t))qC.call(t,i)&&ZC(e,i,t[i]);return e},eb=(e,t)=>jC(e,WC(t)),tb=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ib=(e,t)=>{for(var i in t)HC(e,i,{get:t[i],enumerable:!0})},nb=(e,t,i)=>(i=null!=e?BC(YC(e)):{},((e,t,i,n)=>{if(t&&\"object\"==typeof t||\"function\"==typeof t)for(let r of JC(t))!zC.call(e,r)&&r!==i&&HC(e,r,{get:()=>t[r],enumerable:!(n=GC(t,r))||n.enumerable});return e})(!t&&e&&e.__esModule?i:HC(i,\"default\",{value:e,enumerable:!0}),e)),rb=(e,t,i,n)=>{for(var r,o=n>1?void 0:n?GC(t,i):t,s=e.length-1;s>=0;s--)(r=e[s])&&(o=(n?r(t,i,o):r(o))||o);return n&&o&&HC(t,i,o),o},ob=(e,t,i)=>(ZC(e,\"symbol\"!=typeof t?t+\"\":t,i),i),sb=(e,t,i)=>QC(YC(e),i,t),ab=(e,t,i)=>new Promise(((n,r)=>{var o=e=>{try{a(i.next(e))}catch(t){r(t)}},s=e=>{try{a(i.throw(e))}catch(t){r(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,s);a((i=i.apply(e,t)).next())})),cb=tb(((e,t)=>{var i=Object.prototype.hasOwnProperty,n=\"~\";function r(){}function o(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function s(e,t,i,r,s){if(\"function\"!=typeof i)throw new TypeError(\"The listener must be a function\");var a=new o(i,r||e,s),c=n?n+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],a]:e._events[c].push(a):(e._events[c]=a,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function c(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),c.prototype.eventNames=function(){var e,t,r=[];if(0===this._eventsCount)return r;for(t in e=this._events)i.call(e,t)&&r.push(n?t.slice(1):t);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},c.prototype.listeners=function(e){var t=n?n+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,o=i.length,s=new Array(o);r{var i=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:%d 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\":\"\")}},{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:\"mid\",reg:/^mid:([^\\s]*)/,format:\"mid:%s\"},{name:\"msid\",reg:/^msid:(.*)/,format:\"msid:%s\"},{name:\"ptime\",reg:/^ptime:(\\d*)/,format:\"ptime:%d\"},{name:\"maxptime\",reg:/^maxptime:(\\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:\"invalid\",names:[\"value\"]}]};Object.keys(i).forEach((function(e){i[e].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format=\"%s\")}))}))})),db=tb((e=>{var t=function(e){return String(Number(e))===e?Number(e):e},i=function(e,i,n){var r=e.name&&e.names;e.push&&!i[e.push]?i[e.push]=[]:r&&!i[e.name]&&(i[e.name]={});var o=e.push?{}:r?i[e.name]:i;(function(e,i,n,r){if(r&&!n)i[r]=t(e[1]);else for(var o=0;o1&&(e[n[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\\s?/).reduce(o,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(\" \").map(Number)},e.parseRemoteCandidates=function(e){for(var i=[],n=e.split(\" \").map(t),r=0;r{var i=lb(),n=/%[sdv%]/g,r=function(e){var t=1,i=arguments,r=i.length;return e.replace(n,(function(e){if(t>=r)return e;var n=i[t];switch(t+=1,e){case\"%%\":return\"%\";case\"%s\":return String(n);case\"%d\":return Number(n);case\"%v\":return\"\"}}))},o=function(e,t,i){var n=[e+\"=\"+(t.format instanceof Function?t.format(t.push?i:i[t.name]):t.format)];if(t.names)for(var o=0;o{var t=db(),i=ub();e.write=i,e.parse=t.parse,e.parseFmtpConfig=t.parseFmtpConfig,e.parseParams=t.parseParams,e.parsePayloads=t.parsePayloads,e.parseRemoteCandidates=t.parseRemoteCandidates,e.parseImageAttributes=t.parseImageAttributes,e.parseSimulcastStreamList=t.parseSimulcastStreamList})),pb=nb(cb()),_b=((FC=_b||{})[FC.INVALID_PARAMETER=4096]=\"INVALID_PARAMETER\",FC[FC.INVALID_OPERATION=4097]=\"INVALID_OPERATION\",FC[FC.NOT_SUPPORTED=4098]=\"NOT_SUPPORTED\",FC[FC.DEVICE_NOT_FOUND=4099]=\"DEVICE_NOT_FOUND\",FC[FC.INITIALIZE_FAILED=4100]=\"INITIALIZE_FAILED\",FC[FC.SIGNAL_CHANNEL_SETUP_FAILED=16385]=\"SIGNAL_CHANNEL_SETUP_FAILED\",FC[FC.SIGNAL_CHANNEL_ERROR=16386]=\"SIGNAL_CHANNEL_ERROR\",FC[FC.ICE_TRANSPORT_ERROR=16387]=\"ICE_TRANSPORT_ERROR\",FC[FC.JOIN_ROOM_FAILED=16388]=\"JOIN_ROOM_FAILED\",FC[FC.CREATE_OFFER_FAILED=16389]=\"CREATE_OFFER_FAILED\",FC[FC.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]=\"SIGNAL_CHANNEL_RECONNECTION_FAILED\",FC[FC.UPLINK_RECONNECTION_FAILED=16391]=\"UPLINK_RECONNECTION_FAILED\",FC[FC.DOWNLINK_RECONNECTION_FAILED=16392]=\"DOWNLINK_RECONNECTION_FAILED\",FC[FC.REMOTE_STREAM_NOT_EXIST=16400]=\"REMOTE_STREAM_NOT_EXIST\",FC[FC.CLIENT_BANNED=16448]=\"CLIENT_BANNED\",FC[FC.SERVER_TIMEOUT=16449]=\"SERVER_TIMEOUT\",FC[FC.SUBSCRIPTION_TIMEOUT=16450]=\"SUBSCRIPTION_TIMEOUT\",FC[FC.PLAY_NOT_ALLOWED=16451]=\"PLAY_NOT_ALLOWED\",FC[FC.DEVICE_AUTO_RECOVER_FAILED=16452]=\"DEVICE_AUTO_RECOVER_FAILED\",FC[FC.START_PUBLISH_CDN_FAILED=16453]=\"START_PUBLISH_CDN_FAILED\",FC[FC.STOP_PUBLISH_CDN_FAILED=16454]=\"STOP_PUBLISH_CDN_FAILED\",FC[FC.START_MIX_TRANSCODE_FAILED=16455]=\"START_MIX_TRANSCODE_FAILED\",FC[FC.STOP_MIX_TRANSCODE_FAILED=16456]=\"STOP_MIX_TRANSCODE_FAILED\",FC[FC.NOT_SUPPORTED_H264=16457]=\"NOT_SUPPORTED_H264\",FC[FC.SWITCH_ROLE_FAILED=16458]=\"SWITCH_ROLE_FAILED\",FC[FC.API_CALL_TIMEOUT=16459]=\"API_CALL_TIMEOUT\",FC[FC.SCHEDULE_FAILED=16460]=\"SCHEDULE_FAILED\",FC[FC.API_CALL_ABORTED=16461]=\"API_CALL_ABORTED\",FC[FC.UNKNOWN=65535]=\"UNKNOWN\",FC),mb=_b,fb=class extends Error{constructor(e){let{name:t=\"RtcError\",message:i,code:n=mb.UNKNOWN,extraCode:r=0,constraint:o}=e,s=\"<\".concat(function(e){for(let t in mb)if(mb[t]===e)return t;return\"UNKNOWN\"}(n),\" 0x\").concat(n.toString(16),\">\"),a=\"\".concat(i).concat(o?\" constraint: \".concat(o):\"\").concat(null!=i&&i.includes(s)?\"\":\" \".concat(s));super(a),ob(this,\"code\"),ob(this,\"extraCode\"),ob(this,\"message\"),ob(this,\"originMessage\"),ob(this,\"name\"),ob(this,\"constraint\"),this.code=n,this.extraCode=r,this.name=t,this.message=a,this.constraint=o,this.originMessage=i}getCode(){return this.code}getExtraCode(){return this.extraCode}toString(){return this.originMessage}},gb=fb,Tb=((new Date).getTime(),0),Eb=function(){return(new Date).getTime()+Tb},Sb=function(){let e=new Date;return e.setTime(Eb()),e.toLocaleString()},Ib={};ib(Ib,{bytes2ms:()=>KD,copyProperties:()=>JD,deepMerge:()=>CO,env:()=>vb,fibonacci:()=>$D,formatedTime:()=>NO,getConstructorName:()=>pO,getContainerFromElement:()=>bO,getEnv:()=>UD,getInternalVersion:()=>TO,getLoggerUrl:()=>BD,getMuteStateFromFlag:()=>IO,getNetworkQuality:()=>vO,getNetworkType:()=>GD,getOSType:()=>jD,getReconnectionTimeout:()=>eO,getStringByteLength:()=>wO,getSysInfo:()=>WD,getTerminalType:()=>HD,getTurnServer:()=>yO,getValueType:()=>tO,glog:()=>QD,ipv4ToUint32:()=>AO,isArray:()=>cO,isArrayOrObject:()=>RO,isAudioWorkletSupported:()=>_O,isBoolean:()=>sO,isConstructor:()=>hO,isEmpty:()=>SO,isFunction:()=>iO,isLangChinese:()=>XD,isMediaStreamTrack:()=>lO,isNumber:()=>oO,isObject:()=>aO,isOverseaSdkAppId:()=>FD,isPlainObject:()=>ZD,isPromise:()=>uO,isRemoteTrack:()=>dO,isString:()=>rO,isUndefined:()=>nO,ms2bytes:()=>zD,ms2samples:()=>qD,performanceNow:()=>fO,promiseAny:()=>mO,samples2ms:()=>YD,stringify:()=>DO,stringifyIncludeValue:()=>OO});var vb={};ib(vb,{ANDROID_VERSION:()=>Mb,CHROME_MAJOR_VERSION:()=>Vk,CHROME_VERSION:()=>xk,EDGE_VERSION:()=>jb,EDG_MAJOR_VERSION:()=>Jb,EDG_VERSION:()=>Wb,FIREFOX_MAJOR_VERSION:()=>Bb,FIREFOX_VERSION:()=>Fb,HUAWEI_VERSION:()=>Rk,IE_VERSION:()=>ik,IOS_MAIN_VERSION:()=>Gk,IOS_VERSION:()=>jk,IPADQQB_VERSION:()=>pk,IS_ANDROID:()=>Lb,IS_ANDROID_WEBVIEW:()=>Hk,IS_ANY_SAFARI:()=>Fk,IS_CHROME:()=>Lk,IS_CHROME_OS:()=>gk,IS_CHROMIUM_BASE:()=>Pk,IS_EDG:()=>Gb,IS_EDGE:()=>Hb,IS_ELECTRON:()=>Sk,IS_FIREFOX:()=>Ub,IS_HEADLESS_CHROME:()=>Mk,IS_HUAWEI:()=>Ak,IS_HUAWEIBROWSER:()=>yk,IS_IE:()=>tk,IS_IE8:()=>ek,IS_IOS:()=>Pb,IS_IOS_13_OR_14:()=>Kk,IS_IOS_15_1:()=>Jk,IS_IPAD:()=>Nb,IS_IPADQQB:()=>hk,IS_IPAD_PRO:()=>Db,IS_IPHONE:()=>Ob,IS_IPOD:()=>wb,IS_LINUX:()=>fk,IS_LOCAL:()=>Yk,IS_MAC:()=>mk,IS_MACQQB:()=>dk,IS_MIBROWSER:()=>Ik,IS_MQQB:()=>sk,IS_NATIVE_ANDROID:()=>xb,IS_OLD_ANDROID:()=>Vb,IS_OPPOBROWSER:()=>kk,IS_SAFARI:()=>Uk,IS_SAFARI_15_1:()=>Wk,IS_SAMSUNGBROWSER:()=>Ck,IS_SOGOU:()=>zb,IS_SOGOUM:()=>Kb,IS_TBS:()=>Qb,IS_UCBROWSER:()=>Ek,IS_VIVOBROWSER:()=>Dk,IS_WECHAT:()=>nk,IS_WIN:()=>_k,IS_WQQB:()=>ck,IS_WX:()=>Tk,IS_X5MQQB:()=>ok,IS_XWEB:()=>Zb,MACQQB_VERSION:()=>uk,MI_VERSION:()=>vk,MQQB_VERSION:()=>ak,OPPO_VERSION:()=>Nk,SAFARI_VERSION:()=>Bk,SAMSUNG_VERSION:()=>bk,SOGOUM_VERSION:()=>Yb,SOGOU_VERSION:()=>qb,TBS_VERSION:()=>Xb,USER_AGENT:()=>yb,VIVO_VERSION:()=>Ok,WECHAT_VERSION:()=>rk,WQQB_VERSION:()=>lk,XWEB_VERSION:()=>$b,browserInfo:()=>qk,getBrowserInfo:()=>Qk,getChromeMajorVersion:()=>wk,getOSName:()=>eN,getOSString:()=>tN,getUserAgentData:()=>Zk,isLocalStorageEnabled:()=>zk});var yb=\"undefined\"==typeof navigator?\"\":navigator.userAgent,Ab=e=>new RegExp(e,\"i\").test(yb),Rb=e=>{if(Ab(e)){let t=new RegExp(\"\".concat(e,\"\\\\/([\\\\d.]+)\")),i=yb.match(t);if(i&&i[1])return i[1]}return\"\"},Cb=e=>{if(Ab(e)){let t=new RegExp(\"\".concat(e,\"\\\\/(\\\\d+)\")),i=yb.match(t);if(i&&i[1])return parseFloat(i[1])}return NaN},bb=/AppleWebKit\\/([\\d.]+)/i.exec(yb),kb=bb?parseFloat(bb[1]):NaN,Nb=Ab(\"iPad\"),Db=\"undefined\"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&Ab(\"Macintosh\"),Ob=Ab(\"iPhone\")&&!Nb,wb=Ab(\"iPod\"),Pb=Ob||Nb||wb||Db,Lb=Ab(\"Android\"),Mb=function(){if(Lb){let e=yb.match(/Android (\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))*/i);if(e){let t=e[1]&&parseFloat(e[1]),i=e[2]&&parseFloat(e[2]);if(t&&i)return parseFloat(\"\".concat(e[1],\".\").concat(e[2]));if(t)return t}}return NaN}(),Vb=Lb&&Ab(\"webkit\")&&Mb<2.3,xb=Lb&&Mb<5&&kb<537,Ub=Ab(\"Firefox\"),Fb=Rb(\"Firefox\"),Bb=Cb(\"Firefox\"),Hb=Ab(\"Edge\"),jb=Rb(\"Edge\"),Gb=Ab(\"Edg\"),Wb=Rb(\"Edg\"),Jb=Cb(\"Edg\"),Kb=Ab(\"SogouMobileBrowser\"),Yb=Rb(\"SogouMobileBrowser\"),zb=Ab(\"MetaSr\\\\s\"),qb=Rb(\"MetaSr\\\\s\"),Qb=Ab(\"TBS\"),Xb=Rb(\"TBS\"),Zb=Ab(\"XWEB\"),$b=Rb(\"XWEB\"),ek=Ab(\"MSIE\\\\s8\\\\.0\"),tk=Ab(\"MSIE\\\\/\\\\d+\"),ik=function(){if(tk){let e=/MSIE\\s(\\d+)\\.\\d/.exec(yb),t=e&&parseFloat(e[1]);return!t&&/Trident\\/7.0/i.test(yb)&&/rv:11.0/.test(yb)&&(t=11),t}return NaN}(),nk=Ab(\"(micromessenger|webbrowser)\"),rk=Rb(\"MicroMessenger\"),ok=!Qb&&Ab(\"MQQBrowser\")&&Ab(\"COVC\"),sk=!Qb&&Ab(\"MQQBrowser\")&&!Ab(\"COVC\"),ak=sk||ok?Rb(\"MQQBrowser\"):\"\",ck=!Qb&&Ab(\" QQBrowser\"),lk=Rb(\" QQBrowser\"),dk=!Qb&&Ab(\"QQBrowserLite\"),uk=Rb(\"QQBrowserLite\"),hk=!Qb&&Ab(\"MQBHD\"),pk=Rb(\"MQBHD\"),_k=Ab(\"Windows\"),mk=!Pb&&Ab(\"MAC OS X\"),fk=!Lb&&Ab(\"Linux\"),gk=Ab(\"CrOS\"),Tk=Ab(\"MicroMessenger\"),Ek=Ab(\"UCBrowser\"),Sk=Ab(\"Electron\"),Ik=Ab(\"MiuiBrowser\"),vk=Rb(\"MiuiBrowser\"),yk=Ab(\"HuaweiBrowser\"),Ak=Ab(\"Huawei\"),Rk=Rb(\"HuaweiBrowser\"),Ck=Ab(\"SamsungBrowser\"),bk=Rb(\"SamsungBrowser\"),kk=Ab(\"HeyTapBrowser\"),Nk=Rb(\"HeyTapBrowser\"),Dk=Ab(\"VivoBrowser\"),Ok=Rb(\"VivoBrowser\"),wk=()=>Cb(\"Chrome\"),Pk=Ab(\"Chrome\"),Lk=!Hb&&!zb&&!Kb&&!Qb&&!Zb&&!Gb&&!ck&&!Ik&&!yk&&!Ck&&!kk&&!Dk&&Pk,Mk=Ab(\"HeadlessChrome\"),Vk=wk(),xk=Rb(\"Chrome\"),Uk=!Pk&&!sk&&!ok&&!dk&&!hk&&Ab(\"Safari\"),Fk=Uk||Pb,Bk=Rb(\"Version\"),Hk=/Android.*(wv|.0.0.0)/.test(yb),jk=(()=>{if(Db)return Bk;if(Pb){let e=yb.match(/OS (\\d+)_(\\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=\".\".concat(e[2])),t}}return\"\"})(),Gk=Number(jk.split(\".\")[0]),Wk=\"15.1\"===Bk,Jk=\"15.1\"===jk,Kk=(()=>{let e=Number(jk.split(\".\")[0]);return 14===e||13===e})(),Yk=\"undefined\"!=typeof location&&(\"file:\"===location.protocol||\"localhost\"===location.hostname||\"127.0.0.1\"===location.hostname),zk=(()=>{let e;return()=>{if(nO(e))try{e=!!window.localStorage}catch(HL){e=!1}return e}})(),qk=Qk();function Qk(){let e=new Map([[Ub,[\"Firefox\",Fb]],[Gb,[\"Edg\",Wb]],[Lk,[\"Chrome\",xk]],[Uk,[\"Safari\",Bk]],[Qb,[\"TBS\",Xb]],[Zb,[\"XWEB\",$b]],[nk&&Ob,[\"WeChat\",rk]],[ck,[\"QQ(Win)\",lk]],[sk,[\"QQ(Mobile)\",ak]],[ok,[\"QQ(Mobile X5)\",ak]],[dk,[\"QQ(Mac)\",uk]],[hk,[\"QQ(iPad)\",pk]],[Ik,[\"MI\",vk]],[yk,[\"HW\",Rk]],[Ck,[\"Samsung\",bk]],[kk,[\"OPPO\",Nk]],[Dk,[\"VIVO\",Ok]],[Hb,[\"EDGE\",jb]],[Kb,[\"SogouMobile\",Yb]],[zb,[\"Sogou\",qb]]]),t=\"unknown\",i=\"unknown\";return e.has(!0)&&([t,i]=e.get(!0)),{name:t,version:i}}var Xk=null;function Zk(){return ab(this,null,(function*(){if(Xk)return Xk;if(!navigator.userAgentData||!iO(navigator.userAgentData.getHighEntropyValues))return null;try{return Xk=yield navigator.userAgentData.getHighEntropyValues([\"architecture\",\"bitness\",\"model\",\"platformVersion\",\"fullVersionList\"])}catch(BL){return null}}))}var $k=new Map([[Lb,\"Android\"],[Pb,\"iOS\"],[_k,\"Windows\"],[mk,\"MacOS\"],[fk,\"Linux\"],[gk,\"ChromeOS\"]]),eN=function(){return $k.get(!0)?$k.get(!0):Xk?Xk.platform:\"unknown\"},tN=()=>{let e=eN();return e+=\"/\".concat(qk.name,\"/\").concat(Uk?qk.version:qk.version.split(\".\")[0]),null!=Xk&&Xk.platformVersion&&(e+=\"/\".concat(Xk.platformVersion)),null!=Xk&&Xk.architecture&&(e+=\"/\".concat(Xk.architecture)),e},iN={};ib(iN,{AUDIO_MUTE_BIT:()=>jN,AUDIO_STAT_BIT:()=>HN,AUX_STAT_BIT:()=>BN,AUX_STREAM_MSID:()=>JN,BACKEND_ENV:()=>VN,BASE_DOC_URL:()=>TN,BASE_HOST:()=>_N,CAPABILITIES_KEYS:()=>VD,CLASS_NAME:()=>yD,CLOUD_CONSOLE_URL:()=>gN,DATA_FREEZE_TIMING:()=>fD,DOC_URL:()=>EN,DTLS_STATE_UNKNOWN:()=>tD,ENV_NAME:()=>AN,EXCHANGE_SDP_TIMEOUT:()=>uD,INTERVAL:()=>LD,IS_WORKER:()=>lN,IS_WORKLET:()=>dN,KIBANA_EVENT:()=>cD,LOCAL_STREAM_PUBLISH_STATE:()=>mD,LOGGER_CMD_TYPE:()=>yN,LOGGER_DOMAIN:()=>SN,LOGGER_DOMAIN_OVERSEA:()=>IN,LOG_LEVEL:()=>RN,LOG_LEVEL_NAME:()=>kD,MAIN_STREAM_MSID:()=>WN,MICROPHONE_COMMUNICATIONS:()=>bD,MICROPHONE_DEFAULT:()=>RD,NAME:()=>LN,NETWORK_TYPE:()=>kN,NOT_SUPPORTED_H264:()=>_D,PAUSED_RETRY_COUNT:()=>AD,PEERCONNECTION_CONNECTING_TIMEOUT:()=>SD,PEER_CONNECTION_STATE:()=>iD,PEER_LEAVE_REASON:()=>ND,RAF:()=>PD,RECOVER_CAPTURE_INTERVAL:()=>OD,REMOTE_STREAM_TYPE_AUX:()=>YN,REMOTE_STREAM_TYPE_MAIN:()=>KN,RENDER_FREEZE_TIMING:()=>gD,RIC:()=>wD,SCHEDULE_DOMAIN:()=>ID,SCHEDULE_TIMEOUT:()=>vD,SDP_SEMANTICS_PLAN_B:()=>pD,SDP_SEMANTICS_UNIFIED_PLAN:()=>hD,SECOND_HOST:()=>mN,SIGNAL_PING_PONG_INTERVAL:()=>bN,SIGNAL_PING_TIMEOUT:()=>CN,SIGNAL_RECONNECTION_COUNT:()=>aD,SMALL_STAT_BIT:()=>FN,SPEAKER_DEFAULT:()=>CD,STORAGE_EXPIRES_TIME:()=>NN,STREAM_TYPE_BIG:()=>TD,STREAM_TYPE_SMALL:()=>ED,SUBSCRIBE_SMALL_RETRY_COUNT:()=>DD,SYNC_USER_LIST_INTERVAL:()=>lD,Scene:()=>xN,Switch:()=>DN,THIRD_HOST:()=>fN,TIMEOUT:()=>MD,TRANSPORT_DIRECTION:()=>MN,TRTC_ERROR_ASSISTANCE:()=>vN,TRTC_QUALITY_BAD:()=>ZN,TRTC_QUALITY_DISCONNECTED:()=>eD,TRTC_QUALITY_EXCELLENT:()=>qN,TRTC_QUALITY_GOOD:()=>QN,TRTC_QUALITY_POOR:()=>XN,TRTC_QUALITY_UNKNOWN:()=>zN,TRTC_QUALITY_VERY_BAD:()=>$N,UPDATE_OFFER_TIMEOUT:()=>dD,VIDEO_MUTE_BIT:()=>GN,VIDEO_STAT_BIT:()=>UN,audioProfileMap:()=>ON,getRetryCount:()=>oD,getScriptDir:()=>uN,innerVersion:()=>nN,loggerProxy:()=>hN,screenProfileMap:()=>PN,setLoggerProxy:()=>pN,setRetryCount:()=>rD,setVersion:()=>oN,version:()=>rN,videoProfileMap:()=>wN});var nN=\"4.15.00.1600\",rN=\"5.0.0\";function oN(e){rN=e;let[t,i,n]=e.split(\".\").map((e=>parseInt(e,10)));nN=\"\".concat(t,\".\").concat(Math.min(15,i),\".\").concat(Math.min(15,n),\".\").concat(i.toString().padStart(2,\"0\")).concat(n.toString().padStart(2,\"0\"))}var sN,aN,cN,lN=\"undefined\"!=typeof importScripts,dN=\"undefined\"!=typeof registerProcessor,uN=()=>{let e=lN?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf(\"/\")+1)},hN=\"\",pN=e=>hN=e,_N=\"web.sdk.qcloud.com\",mN=\"web.sdk.tencent.cn\",fN=\"web.sdk.cloud.tencent.cn\",gN=\"https://console.cloud.tencent.com/trtc\",TN=\"https://\".concat(_N,\"/trtc/webrtc/v5/doc\"),EN=\"\".concat(TN,\"/zh-cn/\"),SN=\"https://yun.tim.qq.com\",IN=\"https://apisgp.my-imcloud.com\",vN=\"trtc_error_assistance\",yN={LOG:\"jssdk_log\",EVENT:\"jssdk_event\",KEY_POINT:\"jssdk_new_endreport\"},AN={QCLOUD:\"qcloud\",OLD_CLOUD_LADDER:\"trtc\",WEBRTC:\"webrtc\"},RN=((cN=RN||{})[cN.TRACE=0]=\"TRACE\",cN[cN.DEBUG=1]=\"DEBUG\",cN[cN.INFO=2]=\"INFO\",cN[cN.WARN=3]=\"WARN\",cN[cN.ERROR=4]=\"ERROR\",cN[cN.NONE=5]=\"NONE\",cN),CN=18e3,bN=2e3,kN={unknown:0,wifi:1,\"3g\":2,\"2g\":3,\"4g\":4,wired:5},NN=6048e5,DN=((aN=DN||{}).USEAINS=\"useAINS\",aN.ENABLEDEBUG=\"enableDebug\",aN.USEV2=\"useV2\",aN.USEWT=\"useWt\",aN),ON={standard:{sampleRate:48e3,channelCount:1,bitrate:40},\"standard-stereo\":{sampleRate:48e3,channelCount:2,bitrate:64},high:{sampleRate:48e3,channelCount:1,bitrate:192},\"high-stereo\":{sampleRate:48e3,channelCount:2,bitrate:192}},wN={\"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}},PN={\"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}},LN={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\",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\"},MN={INACTIVE:\"inactive\",SENDONLY:\"sendonly\",RECVONLY:\"recvonly\"},VN={OLD_CLOUD_LADDER:\"wss://trtc.rtc.qq.com\",WEBRTC:\"wss://webrtc.qq.com\"},xN=((sN=xN||{}).LIVE=\"live\",sN.RTC=\"rtc\",sN),UN=1,FN=2,BN=4,HN=8,jN=64,GN=16,WN=\"5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV\",JN=\"224d130c-7b5c-415b-aaa2-79c2eb5a6df2\",KN=LN.MAIN,YN=LN.AUXILIARY,zN=0,qN=1,QN=2,XN=3,ZN=4,$N=5,eD=6,tD=\"unknown\",iD={NEW:\"new\",CONNECTING:\"connecting\",FAILED:\"failed\",CLOSED:\"closed\",DISCONNECTED:\"disconnected\",CONNECTED:\"connected\",COMPLETED:\"completed\"},nD=1/0;function rD(e){nD=e}function oD(){return nD}var sD,aD=30,cD={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\"},lD=1e4,dD=1e4,uD=1e4,hD=\"unified-plan\",pD=\"plan-b\",_D=1028,mD=((sD=mD||{})[sD.UNPUBLISH=-1]=\"UNPUBLISH\",sD[sD.PUBLISHING=0]=\"PUBLISHING\",sD[sD.PUBLISHED=1]=\"PUBLISHED\",sD),fD=500,gD=1e3,TD=LN.BIG,ED=LN.SMALL,SD=1e4,ID={MAIN:\"schedule.rtc.qq.com\",BACKUP:\"schedule.rtc.qcloud.com\",MAIN_OVERSEA:\"schedule.rtc.tencentcloud.com\",BACKUP_OVERSEA:\"schedule-ecdn.rtc.tencentcloud.com\"},vD=2e3,yD={TRTC:\"TRTC\",CLIENT:\"Client\",LOCAL_STREAM:\"LocalStream\",REMOTE_STREAM:\"RemoteStream\",STREAM:\"Stream\"},AD=5,RD=\"default\",CD=RD,bD=\"communications\",kD=Object.keys(RN),ND=[\"normal leave\",\"timeout leave\",\"kick\",\"role change\"],DD=10,OD=2e3,wD=\"ric\",PD=\"raf\",LD=\"interval\",MD=\"timeout\",VD=[\"width\",\"height\",\"frameRate\",\"facingMode\",\"sampleRate\",\"sampleSize\",\"channelCount\",\"deviceId\"],xD=1e8,UD=function(){return new URLSearchParams(location.search).get(\"trtc_env\")||\"\"},FD=e=>Number(e)<14e8,BD=function(e,t){let i;i=hN||(FD(e)?IN:SN);let n=Math.floor(Math.random()*XC(2,31));return\"\".concat(i,\"/v5/AVQualityReportSvc/C2S?random=\").concat(n,\"&sdkappid=\").concat(e,\"&cmdtype=\").concat(t)};function HD(){return Lb?4:Ob?2:Nb?3:mk?12:_k?5:fk?13:1}function jD(){return Lb?\"Android\":Ob?\"iPhone\":Nb?\"iPad\":mk?\"Mac\":_k?\"Windows\":fk?\"Linux\":\"unknown\"}function GD(){let{userAgent:e,connection:t}=navigator,i=(e.match(/NetType\\/\\S+/)||[])[0]||\"\";i=i.toLowerCase().replace(\"nettype/\",\"\"),\"3gnet\"===i&&(i=\"3g\");let n=t&&t.type&&t.type.toLowerCase(),r=t&&t.effectiveType&&t.effectiveType.toLowerCase();\"slow-2\"===r&&(r=\"2g\");let o=i||\"unknown\";if(n)switch(n){case\"cellular\":case\"wimax\":o=r||\"unknown\";break;case\"wifi\":o=\"wifi\";break;case\"ethernet\":o=\"wired\";break;default:o=\"unknown\"}return o}var WD=function(e){return{AbilityOption:{AVLimit:e,GeneralLimit:{CPULimit:{uint32_CPU_num:navigator.hardwareConcurrency||0,str_CPU_name:String(navigator.platform),uint32_CPU_maxfreq:0,model:\"\",uint32_total_memory:0},uint32_terminal_type:HD(),uint32_device_type:0,str_os_verion:jD(),uint32_link_type:1,str_client_version:nN,uint32_net_type:kN[GD()],ua:navigator.userAgent,version:\"\"}}}};function JD(e,t){for(let i of Reflect.ownKeys(t))if(\"constructor\"!==i&&\"prototype\"!==i&&\"name\"!==i){let n=Object.getOwnPropertyDescriptor(t,i)||\"\";Object.defineProperty(e,i,n)}return e}function KD(e){return YD(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function YD(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function zD(e){return 4*qD(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function qD(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var QD=\"undefined\"!=typeof window&&\"function\"==typeof window.glog?window.glog:()=>{},XD=()=>{let e=navigator.language;return e=e.substring(0,2),\"zh\"===e},ZD=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 i=Object.prototype.hasOwnProperty.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof i&&i instanceof i&&Function.prototype.toString.call(i)===Function.prototype.toString.call(Object)};function $D(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:$D(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function eO(e){return e>8?3e4:1e3*$D(e)}function tO(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\\[object\\s(\\w+)\\]$/,\"$1\").toLowerCase()}var iO=e=>\"function\"==typeof e,nO=e=>void 0===e,rO=e=>\"string\"==typeof e,oO=e=>\"number\"==typeof e,sO=e=>\"boolean\"==typeof e,aO=e=>\"object\"===tO(e),cO=e=>\"array\"===tO(e),lO=e=>tO(e)===\"MediaStreamTrack\".toLowerCase(),dO=e=>e.isRemote,uO=e=>\"promise\"===tO(e),hO=e=>iO(e)&&e.prototype.constructor===e,pO=e=>hO(e)?e.prototype.constructor.name:\"\",_O=\"undefined\"!=typeof AudioWorkletNode;function mO(e){return new Promise(((t,i)=>{let n=[];e.forEach((r=>{r.then(t).catch((t=>{n.push(t),n.length===e.length&&i(n)}))}))}))}function fO(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var gO=e=>+e<10?\"0\".concat(e):e,TO=e=>{let t=e.match(/^\\d+\\.\\d+\\.\\d+/)[0];if(!t)return e;let i=t.split(\".\"),n=gO(i[1])+gO(i[2]);return i[1]-15>0&&(i[1]=\"15\"),i[2]-15>0&&(i[2]=\"15\"),\"\".concat(i.join(\".\"),\".\").concat(n)},EO=Object.prototype.hasOwnProperty;function SO(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(ZD(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(EO.call(e,t))return!1;return!0}return!1}function IO(e,t){return{userId:t,hasAudio:!!(e&HN),hasVideo:!!(e&UN),hasAuxiliary:!!(e&BN),hasSmall:!!(e&FN),audioMuted:!!(e&jN),videoMuted:!!(e&GN),audioAvailable:!(!(e&HN)||e&jN),videoAvailable:!(!(e&UN)||e&GN)}}function vO(e,t){return e>50||t>500?5:e>30||t>350?4:e>20||t>200?3:e>10||t>100?2:e>=0||t>=0?1:0}function yO(e){let t={urls:\"turn:\".concat(e.url)};return!nO(e.username)&&!nO(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType=\"password\",nO(e.credentialType)||(t.credentialType=e.credentialType)),t}function AO(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!rO(e))return 0;let i=e.split(\".\");return t?(Number(i[0])<<24|Number(i[1])<<16|Number(i[2])<<8|Number(i[3]))>>>0:(Number(i[3])<<24|Number(i[2])<<16|Number(i[1])<<8|Number(i[0]))>>>0}var RO=function(e){return cO(e)||aO(e)},CO=function(e,t,i,n){if(!RO(e)||!RO(t))return 0;let r,o=0,s=Object.keys(t);for(let a=0,c=s.length;arO(e)?document.getElementById(e):e,kO=new Intl.DateTimeFormat(\"zh-CN\",{dateStyle:\"short\",timeStyle:\"medium\"}),NO=()=>kO.format(new Date);function DO(e,t){let{keysToInclude:i,keysToExclude:n}=t;try{if(cO(e))return\"[\".concat(e.map((e=>DO(e,{keysToInclude:i,keysToExclude:n}))).join(\",\"),\"]\");if(!ZD(e)||!cO(i)&&!cO(n))return JSON.stringify(e);let t={},r=new Set(i),o=new Set(n);return Object.keys(e).forEach((s=>{(0===o.size&&r.has(s)||0===r.size&&!o.has(s))&&(t[s]=ZD(e[s])||cO(e[s])?JSON.parse(DO(e[s],{keysToExclude:n,keysToInclude:i})):e[s])})),JSON.stringify(t)}catch(sD){return\"{}\"}}function OO(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=[];return Object.keys(e).forEach((n=>{t===e[n]&&i.push(n)})),DO(e,{keysToInclude:i})}function wO(e){return e.replace(/[\\u4e00-\\u9fa5]/g,\"aa\").length}function PO(e){let{url:t,body:i,method:n,timeout:r}=e,o=new XMLHttpRequest;return new Promise(((e,s)=>{o.onreadystatechange=()=>{if(4===o.readyState)if(o.status>=200&&o.status<300)try{let t=JSON.parse(o.response);e({data:t})}catch(qx){e({data:o.response})}else s({status:o.status,statusText:o.statusText||\"request failed!\"})},o.timeout=r||5e3,o.open(n||\"POST\",t,!0),o.send(i)}))}var LO,MO=function(e){let{retryFunction:t,settings:i,onError:n,onRetrying:r,onRetryFailed:o,onRetrySuccess:s,context:a}=e;return function(){for(var e=arguments.length,c=new Array(e),l=0;lab(this,null,(function*(){let l=a||this;try{let i=yield t.apply(l,c);h>0&&s&&s.call(this,h),h=0,e(i)}catch(f){let t=()=>{clearTimeout(p),h=0,_=2,i(f)},s=()=>{2!==_&&h<(iO(d)?d():d)?(h++,_=1,iO(r)&&r.call(this,h,t),p=window.setTimeout((()=>{p=-1,m(e,i)}),iO(u)?u(h):u)):(t(),iO(o)&&o.call(this,f))};iO(n)?n.call(this,{error:f,retry:s,reject:i,retryFuncArgs:c,retryCount:h}):s()}}));return new Promise(m)}},VO=class{constructor(e){ob(this,\"userId\"),ob(this,\"remoteUserId\"),ob(this,\"id\"),ob(this,\"sdkAppId\"),ob(this,\"type\"),ob(this,\"isLocal\"),this.id=e.id,this.userId=e.userId,this.sdkAppId=e.sdkAppId,this.remoteUserId=e.remoteUserId,this.isLocal=!sO(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 i=this.isLocal?this.userId:this.remoteUserId;t.unshift(\"[\".concat(this.isLocal?\"↑\":\"↓\").concat(this.type&&\"main\"!==this.type?\"*\":\"\").concat(this.id).concat(i?\"|\".concat(i):\"\",\"]\")),HO.log(e,t,nO(this.userId)||SO(this.userId),this.userId,this.sdkAppId)}info(){for(var e=arguments.length,t=new Array(e),i=0;i{let{schedule:t}=e;var i;(null==(i=null==t?void 0:t.config)?void 0:i.logLevelToUpload)&&RN[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),xO.on(FO.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),xO.once(FO.JOIN_FAILED,(()=>{this.startUpload()})),xO.on(FO.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()),2e3)}getLogsToUpload(){let e={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&0===this._localJoinedUser.size)return e;let t=0;for(;t{let{userId:n,sdkAppId:r}=t;e.map.has(n)?e.map.get(n).logs.push(i):e.map.set(n,{userId:n,sdkAppId:r,logs:[i]})}));else if(rO(i.userId)&&oO(i.sdkAppId)){let{userId:t,sdkAppId:n}=i;e.map.has(t)?e.map.get(t).logs.push(i):e.map.set(t,{userId:t,sdkAppId:n,logs:[i]})}}return e.map.size>0&&(e.splicedQueue=this._queue.splice(0,t)),e}upload(){return ab(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;ee.log)).join(\"\\n\")}),n),r.forEach((e=>e.uploaded=!0))}}catch(aN){}let i=t.filter((e=>!e.uploaded));i.length>0&&(this._queue=i.concat(this._queue))}))}uploadLogWithRetry(e,t){return MO({retryFunction:()=>PO({url:BD(t,yN.LOG),body:e,timeout:5e3}),settings:{retries:3,timeout:1e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;t.setTime(Eb());let i=String(t.getMilliseconds());return\"padStart\"in String.prototype&&(i=i.toString().padStart(3,\"0\")),\"[\".concat(t.toTimeString().replace(/.*(\\d{2}:\\d{2}:\\d{2}).*/,\"$1\"),\":\").concat(i,\"] <\").concat(RN[e],\">\")}getLogLevel(){return this._logLevel}setLogLevel(e){nO(RN[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(rO(e))return e;try{return JSON.stringify(e)}catch(sN){return\"\"}}log(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0;var o;if(t.unshift(this.getPrefix(e)),this._isEnableUploadLog&&e>=this._logLevelToUpload&&this._queue.push({log:t.reduce(((e,t)=>\"\".concat(e,\" \").concat(this.logChunkToString(t)).trim()),\"\"),level:e,userId:n,sdkAppId:r,forAllJoinedClients:i}),e{let t=16*Math.random()|0;return(\"x\"==e?t:3&t|8).toString(16)}))},GO=new class{constructor(){ob(this,\"_prefix\",\"TRTC\"),ob(this,\"_queue\",new Map),this.checkStorage()}getRealKey(e){return\"\".concat(this._prefix,\"_\").concat(e)}checkStorage(){zk()&&(setInterval(this.doFlush.bind(this),2e4),Object.keys(localStorage).filter((e=>{if(e.startsWith(this._prefix)){let t=JSON.parse(localStorage.getItem(e));if(t&&t.expiresInlocalStorage.removeItem(e))))}doFlush(){if(zk())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(HL){HO.warn(HL)}}getItem(e){if(!zk())return null;try{let t=JSON.parse(localStorage.getItem(this.getRealKey(e)));return t&&t.expiresIn>=Date.now()?t.value:null}catch(sN){HO.warn(sN)}}setItem(e,t){if(zk())try{let i={expiresIn:Date.now()+NN,value:t};this._queue.set(this.getRealKey(e),i)}catch(sD){HO.warn(sD)}}deleteItem(e){if(!zk())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(sN){return HO.warn(sN),!1}}clear(){if(zk())try{localStorage.clear()}catch(HL){HO.warn(HL)}}},WO={};ib(WO,{HTTPS_API:()=>dw,IS_GET_CAPABILITIES_SUPPORTED:()=>bw,IS_GET_SETTINGS_SUPPORTED:()=>Cw,IS_SEI_SUPPORTED:()=>kw,IS_SPC_SUPPORTED:()=>vw,basis:()=>Pw,checkSystemRequirementsInternal:()=>aw,decodeSupportStatus:()=>sw,encodeSupportStatus:()=>ow,getBrowserInfo:()=>ZO,getDisplayResolution:()=>hw,isAddTransceiverSupported:()=>Iw,isBrowserSupported:()=>$O,isGetReceiversSupported:()=>Tw,isGetSendersSupported:()=>Ew,isGetTransceiversSupported:()=>Sw,isGetUserMediaSupported:()=>pw,isMediaDevicesSupported:()=>tw,isMediaSessionSupported:()=>Ow,isMediaStreamTrackProcessorSupported:()=>rw,isReplaceTrackSupported:()=>Aw,isScreenCaptureApiAvailable:()=>lw,isSelectedCandidatePair:()=>uw,isSetParametersSupported:()=>Rw,isSmallStreamAPISupported:()=>mw,isSmallStreamSupported:()=>fw,isStopTransceiverSupported:()=>yw,isTRTCSupported:()=>cw,isUnifiedPlanDefault:()=>gw,isUsedInHttpProtocol:()=>nw,isWebAudioSupported:()=>_w,isWebCodecSupported:()=>Dw,isWebCodecsSupported:()=>ew,isWebRTCSupported:()=>Nw,isWebTransportSupported:()=>ww});var JO={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_EMPTY:\"SEI_EMPTY\",SEI_OVERSIZE:\"SEI_OVERSIZE\",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\"},KO={AVOID_REPEATED_CALL:e=>\"previous \".concat(e.name,\"() is ongoing, please avoid repeated calls.\"),INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' is a required param when calling \").concat(n,\"(), received: \").concat(r,\".\")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:i,fnName:n,value:r}=e,o=\"\".concat(t||i.name),s=\"\";return s=Array.isArray(i.type)?i.type.join(\"|\"):i.type,\"'\".concat(o,\"' must be type of \").concat(s,\" when calling \").concat(n,\"(), received type: \").concat(tO(r),\".\")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' cannot be '\").concat(r,\"' when calling \").concat(n,\"().\")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:i,fnName:n,value:r}=e,o=\"\".concat(t||i.name),s=\"\".concat(i.instanceOf.name||i.instanceOf);return\"'\".concat(o,\"' must be instanceof \").concat(s,\" when calling \").concat(n,\"(), received type: \").concat(tO(r),\".\")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' must be one of \").concat(i.values.join(\"|\"),\" when calling \").concat(n,\"(), received: \").concat(r,\".\")},INVALID_PARAMETER_MIN(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"the min value of \".concat(t||i.name,\" is \").concat(i.min,\", received: \").concat(r,\".\")},INVALID_PARAMETER_MAX(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"the max value of \".concat(t||i.name,\" is \").concat(i.max,\", received: \").concat(r,\".\")},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:i}=e;return\"Failed to join room - \".concat(t,\" code: \").concat(i)},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/\".concat(\"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:i,streamType:n}=e;return\"failed to subscribe \".concat(i,\" \").concat(n,\" 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 \".concat(\"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:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' cannot be less than 0 when calling \").concat(n,\"().\")},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:i}=e;return\"'\".concat(t,\"' is not found in the document object when calling \").concat(i,\"().\")},INVALID_ELEMENT_ID_TYPE:e=>{let{key:t,fnName:i,type:n}=e;return\"the element corresponding to '\".concat(t,\"' must be instanceof HTMLElement when calling \").concat(i,\"(), received: \").concat(n,\".\")},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:i}=e;return\"an error was caught on \".concat(t,\".on('\").concat(i,\"', handler), please check your code on 'handler'.\")},API_NOT_EXIST(e){let{name:t}=e;return\"experimental api \".concat(t,\" does not exist.\")},REPEAT_JOIN:e=>\"[\".concat(e,\"] is calling client.join api or has already joined room, 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_EMPTY:\"buffer cannot be empty\",SEI_OVERSIZE:e=>\"buffer size(\".concat(e,\") is over 1000 Bytes\"),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:i,timesInSecond:n,maxSizeInSecond:r}=e;return\"api \".concat(i,\" call \").concat(t?\"size\":\"times\",\" is over \").concat(t?\"\".concat(r,\" bytes\"):n,\" 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,\"()\")},YO=(e,t)=>t?\"\".concat(TN,\"/\").concat(e,\"/\").concat(t):\"\".concat(TN,\"/\").concat(e,\"/index.html\"),zO=()=>{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=localStorage.getItem(vN);if(e){e=JSON.parse(e);let t=document.createElement(\"script\");t.type=\"text/javascript\",t.text=e.message,document.body.appendChild(t);let i=window.TRTC_ERROR_INFO,n=window.TRTC_ERROR_LINK;return document.body.removeChild(t),{TRTC_ERROR_INFO:i,TRTC_ERROR_LINK:n}}return{}};function qO(e){let{key:t,data:i,link:n,addDocLink:r=!0}=e,o=\"\",s=\"\",a=\"\";iO(KO[t])?o=KO[t](i):rO(KO[t])&&(o=KO[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=zO();n?a=\"\".concat(n.className,\".html#\").concat(n.fnName):l&&l[t]&&(iO(l[t])?a=l[t](i):rO(l[t])&&(a=l[t]));let d=o;return XD()&&(c&&c[t]&&(iO(c[t])?s=c[t](i):rO(c[t])&&(s=c[t])),s&&(d=r?\"\".concat(s,\"\\n请查看文档: \").concat(YO(\"zh-cn\",a),\"\\n\\n\"):\"\".concat(s,\"\\n\\n\"),d+=o)),r&&(d+=\" \\nRefer to: \".concat(YO(\"en\",a),\"\\n\")),d}var QO={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1}},XO=new Map([[Ub,[\"Firefox\",Fb]],[Gb,[\"Edg\",Wb]],[Lk,[\"Chrome\",xk]],[Uk,[\"Safari\",Bk]],[Qb,[\"TBS\",Xb]],[Zb,[\"XWEB\",$b]],[nk&&Ob,[\"WeChat\",rk]],[ck,[\"QQ(Win)\",lk]],[sk,[\"QQ(Mobile)\",ak]],[ok,[\"QQ(Mobile X5)\",ak]],[dk,[\"QQ(Mac)\",uk]],[hk,[\"QQ(iPad)\",pk]],[Ik,[\"MI\",vk]],[yk,[\"HW\",Rk]],[Ck,[\"Samsung\",bk]],[kk,[\"OPPO\",Nk]],[Dk,[\"VIVO\",Ok]],[Hb,[\"EDGE\",jb]],[Kb,[\"SogouMobile\",Yb]],[zb,[\"Sogou\",qb]]]);function ZO(){let e=XO.get(!0);return{browserName:e?e[0]:\"unknown\",browserVersion:e?e[1]:\"unknown\"}}var $O=function(){return!(Ek||Hb||Gb&&Jb<80||Ub&&Bb<56)},ew=function(){return[\"VideoDecoder\",\"VideoEncoder\",\"AudioEncoder\",\"AudioDecoder\",\"MediaStreamTrackGenerator\"].every((e=>e in window))},tw=function(){if(!navigator.mediaDevices)return nw()||HO.error(KO.NOT_SUPPORTED_MEDIA),!1;let e=[\"getUserMedia\",\"enumerateDevices\"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},iw=!1;function nw(){return\"http:\"===location.protocol&&!Yk&&(iw||HO.error(qO({key:JO.NOT_SUPPORTED_HTTP})),iw=!0,!0)}var rw=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},ow=function(){return ab(this,null,(function*(){if(QO.detail.isH264EncodeSupported||QO.detail.isVp8EncodeSupported)return{isH264EncodeSupported:QO.detail.isH264EncodeSupported,isVp8EncodeSupported:QO.detail.isVp8EncodeSupported};let e,t=!1,i=!1;try{let n=new RTCPeerConnection,r=document.createElement(LN.CANVAS);r.getContext(\"2d\");let o=r.captureStream(0);return n.addTrack(o.getVideoTracks()[0],o),e=yield n.createOffer(),-1!==e.sdp.toLowerCase().indexOf(\"h264\")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf(\"vp8\")&&(i=!0),n.close(),QO.detail.isH264EncodeSupported=t,QO.detail.isVp8EncodeSupported=i,{isH264EncodeSupported:QO.detail.isH264EncodeSupported,isVp8EncodeSupported:QO.detail.isVp8EncodeSupported}}catch(sD){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1}}}))},sw=function(){return ab(this,null,(function*(){if(QO.detail.isH264DecodeSupported&&QO.detail.isVp8DecodeSupported)return{isH264DecodeSupported:QO.detail.isH264DecodeSupported,isVp8DecodeSupported:QO.detail.isVp8DecodeSupported};let e,t=!1,i=!1;try{let n=new RTCPeerConnection;return e=yield n.createOffer({offerToReceiveAudio:!0,offerToReceiveVideo:!0}),-1!==e.sdp.toLowerCase().indexOf(\"h264\")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf(\"vp8\")&&(i=!0),n.close(),{isH264DecodeSupported:t,isVp8DecodeSupported:i}}catch(sD){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1}}}))},aw=function(){return ab(this,null,(function*(){if(QO.result)return QO;let e=$O(),t=Nw(),i=ew(),n=tw(),{isH264EncodeSupported:r,isVp8EncodeSupported:o}=yield ow(),{isH264DecodeSupported:s,isVp8DecodeSupported:a}=yield sw();return QO.result=e&&t&&n&&(r||o)&&(s||a),QO.detail.isBrowserSupported=e,QO.detail.isWebRTCSupported=t,QO.detail.isWebCodecsSupported=i,QO.detail.isMediaDevicesSupported=n,QO.detail.isScreenShareSupported=lw(),QO.detail.isSmallStreamSupported=fw(),QO.detail.isH264EncodeSupported=r,QO.detail.isVp8EncodeSupported=o,QO.detail.isH264DecodeSupported=s,QO.detail.isVp8DecodeSupported=a,QO.result||HO.error(\"\".concat(navigator.userAgent,\" \").concat(OO(QO.detail,!1))),QO}))},cw=function(){return QO.result},lw=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},dw=(e,t,i)=>{\"http:\"===location.protocol&&!Yk&&(e[t]=()=>{throw new gb({code:mb.INVALID_OPERATION,message:KO.NOT_SUPPORTED_HTTP})})},uw=function(e){return!(\"candidate-pair\"!==e.type||!e.nominated||\"in-progress\"!==e.state&&\"succeeded\"!==e.state)&&!(sO(e.selected)&&!e.selected)};function hw(){let e=\"\";if(screen.width){let t=screen.width?screen.width*window.devicePixelRatio:\"\",i=screen.height?screen.height*window.devicePixelRatio:\"\";e+=\"\".concat(t,\" * \").concat(i)}return e}function pw(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function _w(){let e={isSupported:!1},t=[\"AudioContext\",\"webkitAudioContext\",\"mozAudioContext\",\"msAudioContext\"];for(let i=0;i=86,Nw=function(){return[\"RTCPeerConnection\",\"webkitRTCPeerConnection\",\"RTCIceGatherer\"].filter((e=>e in window)).length>0};function Dw(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return nO(window.AudioDecoder)||(e.AudioDecoder=!0),nO(window.AudioEncoder)||(e.AudioEncoder=!0),nO(window.VideoDecoder)||(e.VideoDecoder=!0),nO(window.VideoEncoder)||(e.VideoEncoder=!0),nO(window.ImageDecoder)||(e.ImageDecoder=!0),e}function Ow(){return\"mediaSession\"in navigator&&!nO(navigator.mediaSession.setActionHandler)}function ww(){return!nO(window.WebTransport)}function Pw(){let e={browser:\"\".concat(qk.name,\"/\").concat(qk.version),os:eN(),displayResolution:hw(),isScreenShareSupported:lw(),isWebRTCSupported:Nw(),isGetUserMediaSupported:pw(),isWebAudioSupported:_w(),isWebSocketsSupported:\"WebSocket\"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:Dw(),isMediaSessionSupported:Ow(),isWebTransportSupported:ww()};return navigator.userAgent.includes(\"miniProgram\")&&(e.browser=\"mini/\".concat(e.browser)),e}var Lw=nb(cb(),1),Mw=Symbol(\"instance\"),Vw=Symbol(\"cacheResult\"),xw=class{constructor(e,t,i){this.oldState=e,this.newState=t,this.action=i,this.aborted=!1}abort(e){this.aborted=!0,jw.call(e,this.oldState,new Error(\"action '\".concat(this.action,\"' aborted\")))}toString(){return\"\".concat(this.action,\"ing\")}},Uw=class extends Error{constructor(e,t,i){super(t),this.state=e,this.message=t,this.cause=i}};var Fw=new Map;function Bw(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(n,r,o)=>{let s=i.action||r;if(!i.context){let i=Fw.get(n)||[];Fw.has(n)||Fw.set(n,i),i.push({from:e,to:t,action:s})}let a=o.value;o.value=function(){let n=this;for(var r=arguments.length,o=new Array(r),c=0;c{var r;return n[Vw]=e,u.aborted||(jw.call(n,t),null===(r=i.success)||void 0===r||r.call(this,n[Vw])),e},p=e=>{let t=e instanceof Error?e.message:String(e);if(jw.call(n,d,e),!i.fail){if(i.ignoreError)return e;throw e}i.fail.call(this,new Uw(n._state,\"action '\".concat(s,\"' failed :\").concat(t),e instanceof Error?e:new Error(t)))};try{let e=a.apply(this,o);return function(e){return\"object\"==typeof e&&e&&\"then\"in e}(e)?e.then(h).catch(p):h(e)}catch(_){p(_)}}}}var Hw=\"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 jw(e,t){let i=this._state;this._state=e;let n=e.toString();e&&this.emit(n,i),this.emit(Gw.STATECHANGED,e,i,t),this.updateDevTools({value:e,old:i,err:t instanceof Error?t.message:String(t)})}var Gw=class extends Lw.default{constructor(e,t,i){super(),this.name=e,this.groupName=t,this._state=Gw.INIT,e||(e=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),t||(this.groupName=this.constructor.name);let n=i[Mw];n?this.name=n.name+\"-\"+n.count++:i[Mw]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=Fw.get(e)||[],i=new Set,n=[],r=[],o=new Set,s=Object.getPrototypeOf(e);Fw.has(s)&&(s.stateDiagram.forEach((e=>i.add(e))),s.allStates.forEach((e=>o.add(e)))),t.forEach((e=>{let{from:t,to:i,action:o}=e;\"string\"==typeof t?n.push({from:t,to:i,action:o}):t.length?t.forEach((e=>{n.push({from:e,to:i,action:o})})):r.push({to:i,action:o})})),n.forEach((e=>{let{from:t,to:n,action:r}=e;o.add(t),o.add(n),o.add(r+\"ing\"),i.add(\"\".concat(t,\" --\\x3e \").concat(r,\"ing : \").concat(r)),i.add(\"\".concat(r,\"ing --\\x3e \").concat(n,\" : \").concat(r,\" 🟢\")),i.add(\"\".concat(r,\"ing --\\x3e \").concat(t,\" : \").concat(r,\" 🔴\"))})),r.forEach((e=>{let{to:t,action:n}=e;i.add(\"\".concat(n,\"ing --\\x3e \").concat(t,\" : \").concat(n,\" 🟢\")),o.forEach((e=>{e!==t&&i.add(\"\".concat(e,\" --\\x3e \").concat(n,\"ing : \").concat(n))}))}));let a=[...i];return Object.defineProperties(e,{stateDiagram:{value:a},allStates:{value:o}}),a}static get(e){let t;return\"string\"==typeof e?(t=Gw.instances.get(e),t||Gw.instances.set(e,t=new Gw(e,void 0,Object.create(Gw.prototype)))):(t=Gw.instances2.get(e),t||Gw.instances2.set(e,t=new Gw(e.constructor.name,void 0,Object.create(Gw.prototype)))),t}static getState(e){var t;return null===(t=Gw.get(e))||void 0===t?void 0:t.state}updateDevTools(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Hw(Gw.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},e))}get state(){return this._state}set state(e){jw.call(this,e)}};Gw.STATECHANGED=\"stateChanged\",Gw.UPDATEAFSM=\"updateAFSM\",Gw.INIT=\"[*]\",Gw.ON=\"on\",Gw.OFF=\"off\",Gw.instances=new Map,Gw.instances2=new WeakMap;var Ww=(null==window?void 0:window.requestIdleCallback)||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},Jw=(null==window?void 0:window.cancelIdleCallback)||function(e){clearTimeout(e)},Kw=(null==window?void 0:window.cancelAnimationFrame)||(null==window?void 0:window.mozCancelAnimationFrame),Yw=class{static generateTaskID(){return this.currentTaskID++}static run(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:MD,t=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0;i=$C(e===LD?{delay:2e3,count:0,backgroundTask:!0}:e===wD?{delay:1e4,count:0}:e===PD?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0},i),aO(t)&&(i=$C($C({},i),t)),iO(e)&&(t=e,e=MD);let n=$C({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:e,callback:t},i);return this.taskMap.set(n.taskID,n),this[e](n),n.taskID}static interval(e){return e.intervalID=setInterval((()=>{e.callback(),e.loopCount+=1,this.isBreakLoop(e)}),e.delay)}static intervalInWorker(e){e.delay=(1e3/e.fps).toFixed(2);let t=new Worker(URL.createObjectURL(new Blob([\"\\n let timerID = null;\\n self.onmessage = function (e) {\\n if (e.data === 'start') {\\n timerID = setInterval(() => {\\n self.postMessage('tick');\\n }, \".concat(e.delay,\");\\n } else if (e.data === 'stop') {\\n clearInterval(timerID);\\n }\\n };\\n \")])));t.onmessage=i=>{\"tick\"===i.data&&(e.callback(),e.loopCount+=1,this.isBreakLoop(e)&&t.postMessage(\"stop\"))},e.worker=t,t.postMessage(\"start\")}static timeout(e){let t=()=>{if(e.callback(),e.loopCount+=1,!this.isBreakLoop(e))return e.timeoutID=setTimeout(t,e.delay)};return e.timeoutID=setTimeout(t,e.delay)}static ric(e){let t,i=fO(),n=()=>{if(t=fO()-i,t>=e.delay&&(i=fO()-Math.floor(t%e.delay),e.callback(),e.loopCount+=1),!this.isBreakLoop(e))return e.ricID=Ww(n,{timeout:e.delay})};return e.ricID=Ww(n,{timeout:e.delay})}static raf(e){e.delay=(1e3/e.fps).toFixed(2);let t,i=fO(),n=()=>document.hidden&&e.backgroundTask?(t=fO()-i,i=fO(),e.callback(),e.loopCount+=1,this.isBreakLoop(e)?void 0:e.timeoutID=setTimeout(n,e.delay-Math.floor(t%e.delay))):(t=fO()-i,t>=e.delay&&(i=fO()-Math.floor(t%e.delay),e.callback(),e.loopCount+=1),this.isBreakLoop(e)?void 0:e.rafID=requestAnimationFrame(n));if(e.rafID=requestAnimationFrame(n),e.backgroundTask){let t=()=>{if(document.hidden){let t=fO()-i;t>=e.delay?n():e.timeoutID=setTimeout(n,e.delay-t)}};document.addEventListener(\"visibilitychange\",t),e.onVisibilitychange=t,document.hidden&&t()}return e.taskID}static hasTask(e){return this.taskMap.has(e)}static clearTask(e){if(!this.taskMap.has(e))return!0;let{intervalID:t,timeoutID:i,rafID:n,ricID:r,onVisibilitychange:o,worker:s}=this.taskMap.get(e);return s&&s.terminate(),t&&clearInterval(t),i&&clearTimeout(i),n&&Kw(n),r&&Jw(r),o&&document.removeEventListener(\"visibilitychange\",o),this.taskMap.delete(e),!0}static isBreakLoop(e){return!this.taskMap.has(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}};Yw.taskMap=new Map,Yw.currentTaskID=1;var zw=Yw;LN.SEI_MESSAGE;var qw={LOADED_DATA:LN.LOADEDDATA,MEDIA_TRACK_CHANGED:\"media-track-changed\",PLAYER_STATE_CHANGED:\"player-state-changed\"},Qw=new class{constructor(){ob(this,\"_roomIdMap\",new Map),ob(this,\"_configs\"),\"undefined\"==typeof registerProcessor&&(this._configs={sdkAppId:\"\",userId:\"\",version:rN,env:AN.QCLOUD,browserVersion:qk.name+qk.version,ua:navigator.userAgent})}setConfig(e){let{sdkAppId:t,env:i,userId:n,roomId:r}=e;t!==this._configs.sdkAppId&&(this._configs.sdkAppId=String(t)),this._configs.env=i,this._configs.userId=n,this._roomIdMap.set(n,String(r))}logSuccessEvent(e){Yk||!HO.isAbleToUpload||this._configs.env===AN.QCLOUD&&this.uploadEventToKibana(eb($C({},e),{result:\"success\"}))}logFailedEvent(e){if(Yk||!HO.isAbleToUpload)return;let{eventType:t,code:i,error:n,userId:r}=e,o={roomId:this._roomIdMap.get(r||this._configs.userId),userId:r,eventType:t,result:\"failed\",code:i||(null==n?void 0:n.extraCode)||(null==n?void 0:n.code)||mb.UNKNOWN};this._configs.env===AN.QCLOUD&&this.uploadEventToKibana(eb($C({},o),{error:n}))}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:i,error:n}=e,r={timestamp:Sb(),sdkAppId:this._configs.sdkAppId,userId:i||this._configs.userId,version:rN,log:t};n&&(r.errorInfo=n.message),this.sendRequest(BD(this._configs.sdkAppId,yN.LOG),r)}sendRequest(e,t){HO.isAbleToUpload?PO({url:e,body:JSON.stringify(t)}).catch((()=>{})):setTimeout((()=>{this.sendRequest(e,t)}),1e3)}},Xw=\"trtc_autoplay\",Zw=\"\".concat(Xw,\"_mask\"),$w=\"\".concat(Xw,\"_wrapper\"),eP=\"\".concat(Xw,\"_header\"),tP=\"\".concat(Xw,\"_content\"),iP=\"\".concat(Xw,\"_action_wrapper\"),nP=\"\".concat(Xw,\"_question\"),rP=\"\".concat(Xw,\"_collapse\"),oP=\"\".concat(Xw,\"_action_confirm\"),sP=\"\".concat(Xw,\"_detail\"),aP=\"#2473E8\",cP=\"dialog\",lP=\"\".concat(cP,\"-show\"),dP=\"\".concat(cP,\"-1\"),uP=\"\".concat(cP,\"-2\"),hP=!1,pP=()=>!!document.querySelector(\".\".concat($w)),_P=\"\".concat(TN,\"/\").concat(XD()?\"zh-cn\":\"en\",\"/tutorial-21-advanced-auto-play-policy.html\"),mP=\"
\").concat(XD()?\"其他方案?\":\"Any other solution?\",\"\"),fP=\"\".concat(XD()?\"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。\".concat(mP):\"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(mP)),gP=class{constructor(){if(ob(this,\"content\",\"音视频播放被浏览器拦截,请点击“恢复播放”。\"),ob(this,\"_dialogNode\",null),ob(this,\"_bodyPosition\",\"\"),ob(this,\"_showDetail\",!1),ob(this,\"_isCollapseClicked\",!1),ob(this,\"_isQuestionClicked\",!1),XD()||(this.content='Media playback failed. Click the \"Resume\" to resume playback.'),!hP){let e=document.createElement(\"style\");e.innerHTML=\".\".concat(Zw,\"{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(Zw,\" div:not(.\").concat(iP,\"){display:block !important;}.\").concat($w,\"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.\").concat($w,\" a{color:\").concat(aP,\";}.\").concat(eP,\"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.\").concat(tP,\"{margin:8px 0;}.\").concat(iP,\"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.\").concat(rP,\"{margin-right:auto;cursor:pointer}.\").concat(nP,\"{height:100%;line-height:16px;cursor:pointer;}.\").concat(oP,\"{margin-left:8px;color:#fff;background:\").concat(aP,\";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.\").concat(oP,\":hover{opacity:0.9;}.\").concat(rP,\",.\").concat(oP,\",.\").concat(tP,\",.\").concat(nP,\"{font-size:14px;}@media screen and (max-width:750px){.\").concat($w,\"{width:80vw;}}\"),document.head.appendChild(e),hP=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement(\"template\");e.innerHTML='
\").concat(location.host,\"
\").concat(this.content,\"
').concat(fP,\"
\").trim();let t=document.createElement(\"button\");t.className=oP,t.innerText=XD()?\"恢复播放\":\"Resume\",t.onclick=this.onConfirm.bind(this);let i=document.createElement(\"div\");i.className=nP,i.innerHTML='\\n \\n \\n \\n \\n \\n ',i.onclick=this.onQuestionClick.bind(this);let n=document.createElement(\"div\");n.className=rP,n.innerText=\"\".concat(XD()?\"详情 >\":\"Detail >\"),n.onclick=this.onCollapseClick.bind(this);let r=e.content.firstChild,o=r.querySelector(\".\".concat(iP));return o.appendChild(n),o.appendChild(i),o.appendChild(t),r}addDiaLog(){pP()||(this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(\".\".concat($w)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position=\"fixed\",HO.info(\"show autoplay dialog\"),Qw.uploadEvent({log:lP}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null)}onConfirm(){HO.warn(\"confirm clicked, try resume stream\"),xO.emit(FO.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(\".\".concat(sP));e.style.visibility=\"\".concat(this._showDetail?\"hidden\":\"visible\"),e.style.height=\"\".concat(this._showDetail?0:\"fit-content\"),this._showDetail=!this._showDetail,this._isCollapseClicked||Qw.uploadEvent({log:dP}),this._isCollapseClicked=!0}onQuestionClick(){window.open(_P,\"_blank\"),this._isQuestionClicked||Qw.uploadEvent({log:uP}),this._isQuestionClicked=!0}},TP={};ib(TP,{create:()=>SP,remove:()=>IP});var EP=new WeakMap;function SP(e,t){EP.has(e)||EP.set(e,[]);let i=EP.get(e),n={add:(e,r)=>(\"addEventListener\"in t?(i.push(t.removeEventListener.bind(t,e,r)),t.addEventListener(e,r)):(i.push(t.off.bind(t,e,r)),t.on(e,r)),n)};return n}function IP(e){let t=EP.get(e);t&&(t.forEach((e=>e())),EP.delete(e))}var vP=class extends Gw{constructor(e,t){super(e.id,\"\".concat(t,\"-player\")),this.kind=t,ob(this,\"id\"),ob(this,\"element\",null),ob(this,\"container\",null),ob(this,\"mediaStream\",new MediaStream),ob(this,\"track\"),ob(this,\"url\"),ob(this,\"attr\"),ob(this,\"muted\"),ob(this,\"_log\"),ob(this,\"_pausedRetryCount\"),ob(this,\"_isElementPlayingFired\",!1),ob(this,\"_interval\"),this.id=e.id,this._log=e.log,this.track=e.track,this.container=e.container,this.muted=e.muted,this._pausedRetryCount=AD,this._state=\"STOPPED\",this.bindTrackEvents()}get isPlaying(){return\"PLAYING\"===this._state}get isStopped(){return\"STOPPED\"===this._state}setAttr(e){this.attr=e}setTrack(e){if(e!==this.track&&(this.unbindTrackEvents(),this.track=e,this.emit(qw.MEDIA_TRACK_CHANGED,e),null!==e&&(this.bindTrackEvents(),this.element))){let t=new MediaStream;t.addTrack(e),this.element.srcObject=t}}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))}setContainer(e){this.container=e,this.track&&this.element&&this.container&&this.container.appendChild(this.element)}play(){return ab(this,null,(function*(){if(this.element&&this.element.parentElement!==this.container&&this.container&&this.container.append(this.element),!this.isPlaying)try{this.bindAutoPlayEvent(),yield this.element.play()}catch(sN){let t=qO({key:JO.PLAY_FAILED,data:{media:this.kind,error:sN}});if(this.track&&!this.track.muted&&this._log.warn(sN),t.includes(\"NotAllowedError\"))throw new gb({code:mb.PLAY_NOT_ALLOWED,message:t})}}))}stop(){this.unbindEvents(),this._isElementPlayingFired=!1,this.element&&(this.container&&this.container.removeChild(this.element),this.element.srcObject=null,this.element=null),this.handleStopped(LN.ENDED),this._interval>0&&zw.clearTask(this._interval)}pause(){var e;this.isPlaying&&(null==(e=this.element)||e.pause())}resume(){return this.isPlaying?Promise.resolve():Jk?this.replay():this.play().catch((()=>{}))}setMuted(e){this.element&&(this.element.muted=e),this.muted=e}setRect(e,t){this.element&&(this.element.style.width=\"\".concat(e,\"px\"),this.element.style.height=\"\".concat(t,\"px\"))}replay(){return this.stop(),this.play().catch((()=>{}))}bindElementEvents(){if(this.element){let e=this.handleElementEvent.bind(this);return SP(this.element,this.element).add(LN.PLAYING,e).add(LN.ENDED,e).add(LN.PAUSE,e).add(LN.ERROR,e).add(LN.LOADEDDATA,e)}}bindTrackEvents(){if(this.track){let e=this.handleTrackEvent.bind(this);null==TP||TP.create(this.track,this.track).add(LN.ENDED,e).add(LN.MUTE,e).add(LN.UNMUTE,e),this.track.readyState===LN.ENDED&&this.handleTrackEvent({type:LN.ENDED}),this.track.muted&&this.handleTrackEvent({type:LN.MUTE})}}bindAutoPlayEvent(){xO.on(FO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){this.track&&IP(this.track)}unbindEvents(){this.element&&IP(this.element),this.unbindTrackEvents(),xO.off(FO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){var t;switch(e.type){case LN.PLAYING:this._isElementPlayingFired=!0,this._log.info(\"\".concat(this.kind,\" player is playing\")),this.handlePlaying(LN.PLAYING),this._interval&&(zw.clearTask(this._interval),this._interval=-1);break;case LN.ENDED:this._log.info(\"\".concat(this.kind,\" player is ended\")),this.handleStopped(LN.ENDED);break;case LN.PAUSE:this._log.info(\"\".concat(this.kind,\" player is paused\")),this.handlePaused(LN.PAUSE);let e=this.container&&document.getElementById(this.container.id);e||this._log.warn(\"\".concat(this.kind,\" player has been remove, element ID: \").concat(null==(t=this.container)?void 0:t.id));let i=wk();this._pausedRetryCount>0&&(this.kind===LN.VIDEO&&!pP()||this.kind===LN.AUDIO&&(oO(i)&&i<=70||!e))&&(this._log.info(\"\".concat(this.kind,\" player auto resume when paused\")),this.resume(),this._pausedRetryCount--),Pb&&(this._interval=zw.run(MD,(()=>{this.element&&\"PAUSED\"===this._state&&this.resume()}),{delay:3e3}));break;case LN.ERROR:if(this.element&&this.element.error){let{code:e,message:t}=this.element.error;this._log.error(\"\".concat(this.kind,\" player error observed. code: \").concat(e,\" message: \").concat(t,\" userAgent: \").concat(navigator.userAgent)),Qw.uploadEvent({log:\"stat-\".concat(this.kind,\"-\").concat(cD.PLAYER_ERROR,\"-\").concat(e,\"-\").concat(navigator.userAgent),error:this.element.error})}break;case LN.LOADEDDATA:this.kind===LN.VIDEO&&this.emit(qw.LOADED_DATA)}}handleTrackEvent(e){switch(e.type){case LN.ENDED:this._log.info(\"\".concat(this.kind,\" track is ended\")),this.handleStopped(LN.ENDED);break;case LN.MUTE:this._log.info(\"\".concat(this.kind,\" track is unable to provide media output\")),this.handlePaused(LN.MUTE);break;case LN.UNMUTE:this._log.info(\"\".concat(this.kind,\" track is able to provide media output\")),this._isElementPlayingFired&&this.handlePlaying(LN.UNMUTE)}}handlePlaying(e){this.emit(qw.PLAYER_STATE_CHANGED,{type:this.kind,state:\"PLAYING\",reason:e})}handlePaused(e){this.emit(qw.PLAYER_STATE_CHANGED,{type:this.kind,state:\"PAUSED\",reason:e})}handleStopped(e){this.emit(qw.PLAYER_STATE_CHANGED,{type:this.kind,state:\"STOPPED\",reason:e})}getElement(){return this.element}};rb([Bw([],\"PLAYING\")],vP.prototype,\"handlePlaying\",1),rb([Bw(\"PLAYING\",\"PAUSED\",{ignoreError:!0})],vP.prototype,\"handlePaused\",1),rb([Bw([],\"STOPPED\")],vP.prototype,\"handleStopped\",1);var yP=class extends vP{constructor(e){super(e,LN.VIDEO),ob(this,\"mirror\"),ob(this,\"objectFit\"),nO(e.mirror)||(this.mirror=e.mirror),nO(e.objectFit)||(this.objectFit=e.objectFit)}initializeElement(){var e;let t=document.createElement(LN.VIDEO);if(this.track){let e=new MediaStream;e.addTrack(this.track),t.srcObject=e}t.muted=!0;let i=\"width: 100%; height: 100%; object-fit: \".concat(this.objectFit,\";background-color: black;\");this.mirror&&(i+=\"transform: scaleX(-1);\"),t.setAttribute(\"id\",\"video_\".concat(this.id)),t.setAttribute(\"style\",i),t.setAttribute(\"autoplay\",\"autoplay\"),t.setAttribute(\"playsinline\",\"playsinline\"),null==(e=this.container)||e.appendChild(t),this.element=t,this.bindElementEvents()}bindElementEvents(){let e=super.bindElementEvents();this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add(LN.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(LN.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent)}handleElementEvent(e){super.handleElementEvent(e);let t=e.type;if(this.mirror&&this.element){let e=this.element.style.transform;t===LN.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace(\"scaleX(-1)\",\"\"):t===LN.LEAVE_PICTURE_IN_PICTURE&&!e.includes(\"scaleX\")&&(this.element.style.transform=\"\".concat(e,\" scaleX(-1)\"))}}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)}setMirror(e){this.element&&(this.element.style.transform=e?\"scaleX(-1)\":\"\"),this.mirror=e}setObjectFit(e){this.element&&(this.element.style.objectFit=\"\".concat(e)),this.objectFit=e}play(){return this.element||this.initializeElement(),super.play()}getVideoFrame(){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}},AP=!1,RP=class{constructor(e){ob(this,\"context_\"),ob(this,\"blob_\"),this.context_=e.context,this.blob_=new Blob(['class VolumeMeter extends AudioWorkletProcessor{constructor(){super(),this.volume=0,this.intervalTime=200,this.tick=this.intervalTime,this.isStop=!1,this.port.onmessage=t=>{let{data:e}=t;switch(e.name){case\"setIntervalTime\":this.intervalTime=e.intervalTime;break;case\"stop\":this.isStop=!0}}}process(t){let e=t[0];if(this.isStop)return!1;if(e.length>0){let i=e[0],s=0;for(let l=0;l{let i=new window.AudioContext(t),n=++kP,r=()=>{\"suspended\"===i.state?(i.resume(),document.addEventListener(\"click\",r)):\"interrupted\"===i.state?i.resume():document.removeEventListener(\"click\",r)};return document.addEventListener(\"click\",r),i.onstatechange=()=>{HO.info(\"\".concat(e,\"-\").concat(n,\" context state: \").concat(i.state)),r()},i},DP=0,OP=class{constructor(e){ob(this,\"_volume\"),ob(this,\"_log\"),ob(this,\"_track\"),ob(this,\"_stream\"),ob(this,\"_audioCtx\"),ob(this,\"_destination\"),ob(this,\"_streamSource\"),ob(this,\"_scriptProcessorNode\"),ob(this,\"_audioWorkletNode\"),ob(this,\"_interval\");let{track:t,log:i}=e;this._volume=0,this._log=i,this._track=t,CP||(CP=NP(\"volume-meter\")),this._audioCtx=CP,this._destination=this._audioCtx.destination;let n=new MediaStream;n.addTrack(this._track),this._streamSource=this._audioCtx.createMediaStreamSource(n),this._audioWorkletNode=null,this._scriptProcessorNode=null,this._interval=200,xO.on(FO.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this),_O?(xO.on(FO.WORKLET_LOADED_SUCCESS,this.initAudioWorklet,this),xO.on(FO.WORKLET_LOADED_FAILED,this.initScriptProcessor,this),this.preload()):this.initScriptProcessor(),DP+=1}preload(){bP?bP.initWorkletSuccess&&this.initAudioWorklet():bP=new RP({context:CP})}initAudioWorklet(){if(!this._audioWorkletNode)try{this._audioWorkletNode=new AudioWorkletNode(this._audioCtx,\"volume-meter\"),this._audioWorkletNode.port.onmessage=e=>{this._volume=e.data.volume||0},this._streamSource.connect(this._audioWorkletNode).connect(this._destination),this.handleAudioLevelInterval({interval:this._interval})}catch(HL){Qw.logFailedEvent({userId:this._log.userId,eventType:cD.LOAD_WORKLET,error:HL}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=this._audioCtx.createScriptProcessor(2048,1,1),this._scriptProcessorNode.onaudioprocess=e=>{let t=e.inputBuffer.getChannelData(0),i=0;for(let n=0;n0&&(DP-=1),0===DP&&(null==CP||CP.close(),CP=null,bP=null)}resume(){null==CP||CP.resume()}getInternalAudioLevel(){return this._volume}getCalculatedVolume(){return parseFloat(this._volume.toFixed(2))}handleAudioLevelInterval(e){var t;let{interval:i}=e;this._interval=i,null==(t=this._audioWorkletNode)||t.port.postMessage({name:\"setIntervalTime\",intervalTime:i})}},wP=null,PP=0,LP=class extends vP{constructor(e){super(e,LN.AUDIO),ob(this,\"_volumeMeter\"),ob(this,\"_gainedTrack\",null),ob(this,\"_gainNode\",null),ob(this,\"_destination\",null),ob(this,\"_mediaStreamSource\",null),ob(this,\"_sourceElement\",null),ob(this,\"_outputDeviceId\"),ob(this,\"_volume\",1),ob(this,\"_loop\",!1),e.gainedTrack&&(this._gainedTrack=e.gainedTrack),this._outputDeviceId=e.outputDeviceId,this.track&&this.initVolumeMeter(this.track)}setTrack(e){this.track!==e&&(this._volumeMeter&&(this._volumeMeter.destroy(),this._volumeMeter=null),null!==e&&this.initVolumeMeter(e)),super.setTrack(e)}initVolumeMeter(e){this._volumeMeter=new OP({track:this._gainedTrack||e,log:this._log})}initializeElement(){if((\"15.2\"===jk||\"15.3\"===jk||\"15.4\"===jk)&&this.muted)return void this._log.info(\"audioElement is muted.\");let e=document.createElement(LN.AUDIO);this.track&&(e.srcObject=new MediaStream([this._gainedTrack||this.track])),e.muted=this.muted,e.setAttribute(\"id\",\"audio_\".concat(this.id)),e.setAttribute(\"autoplay\",\"autoplay\"),e.setAttribute(\"playsinline\",\"playsinline\"),this.element=e,this.bindElementEvents()}play(){return ab(this,null,(function*(){this.element||this.initializeElement(),this._outputDeviceId&&(yield this.setSinkId(this._outputDeviceId)),!this._volumeMeter&&this.track&&this.initVolumeMeter(this.track),this.setVolume(this._volume),yield sb(LP.prototype,this,\"play\").call(this)}))}stop(){this._volumeMeter&&(this._volumeMeter.destroy(),this._volumeMeter=null),this.destroyGain(),super.stop()}resume(){return ab(this,null,(function*(){yield sb(LP.prototype,this,\"resume\").call(this),this._volumeMeter&&this._volumeMeter.resume()}))}setSinkId(e){return ab(this,null,(function*(){this._outputDeviceId!==e&&(this.element&&(yield this.element.setSinkId(e)),this._outputDeviceId=e)}))}setVolume(e){this._volume=e,this._gainNode?this._gainNode.gain.value=e:e>1?this.createGain(e):this.element&&(this.element.volume=e)}createGain(e){wP||(wP=NP(\"player\")),this._log.info(\"create gainNode \".concat(e));let t=wP.createMediaStreamSource(new MediaStream([this.track])),i=wP.createGain(),n=wP.createMediaStreamDestination();t.connect(i),i.connect(n),i.gain.value=e,this._gainNode=i,this._destination=n,this._mediaStreamSource=t,this._gainedTrack=n.stream.getAudioTracks()[0],PP+=1,this.element&&(IP(this.element),this._sourceElement=this.element,this.element.muted=!0,this.element=null),this.play()}destroyGain(){var e,t,i;!this._gainNode||(this._log.info(\"destroy gainNode\"),null==(e=this._gainNode)||e.disconnect(),null==(t=this._destination)||t.disconnect(),null==(i=this._mediaStreamSource)||i.disconnect(),this._gainNode=null,this._destination=null,this._mediaStreamSource=null,this._sourceElement&&(this._sourceElement.srcObject=null,this._sourceElement=null),this._gainedTrack=null,0===(PP-=1)&&wP&&(this._log.info(\"destroy gain audioContext\"),wP.close(),wP=null))}setLoop(e){!this.element||(this.element.loop=e,this._loop=e)}getAudioLevel(){var e;return(null==(e=this._volumeMeter)?void 0:e.getCalculatedVolume())||0}getInternalAudioLevel(){var e;return null==(e=this._volumeMeter)?void 0:e.getInternalAudioLevel()}},MP=class extends Gw{constructor(e){let{userId:t,sdkAppId:i,mediaType:n,room:r,isInitPlayer:o=!0}=e;var s;super(),ob(this,\"id\",jO()),ob(this,\"userId\"),ob(this,\"isRemote\"),ob(this,\"mediaType\"),ob(this,\"room\"),ob(this,\"user\"),ob(this,\"_log\"),ob(this,\"_inputTrack\"),ob(this,\"_outputTrack\"),ob(this,\"isPlayCalled\"),ob(this,\"container\",null),ob(this,\"player\"),ob(this,\"subVideoPlayerMap\"),ob(this,\"playerMuted\",!1),ob(this,\"abortCtrl\"),ob(this,\"audioOutputDeviceId\"),ob(this,\"audioVolume\"),ob(this,\"objectFit\",\"cover\"),ob(this,\"mirror\",!1),ob(this,\"gain\"),ob(this,\"isScreen\",!1),ob(this,\"manager\"),nO(t)||(this.userId=t),this.mediaType=n,this._log=HO.createLogger({id:\"\".concat(this.kind[0],\"t\"),userId:null==(s=r||this.room)?void 0:s.userId,remoteUserId:this instanceof nL?void 0:this.userId,sdkAppId:i,type:2===this.mediaType?\"auxiliary\":\"main\",isLocal:this instanceof nL}),o&&this.initPlayer()}get log(){return this._log||HO}get kind(){return 1===this.mediaType?LN.AUDIO:LN.VIDEO}get muted(){return!(!this.outMediaTrack||this.outMediaTrack.enabled)}get strMediaType(){return 4===this.mediaType?LN.VIDEO:2===this.mediaType?LN.SCREEN:LN.AUDIO}play(e,t){return ab(this,null,(function*(){let i=cO(e)?e[0]:e;if(this.isPlayCalled)return this.log.info(\"play update options: \".concat(JSON.stringify(t))),t&&!nO(t.muted)&&this.setPlayerMute(t.muted),t&&!nO(t.objectFit)&&(this.objectFit=t.objectFit),this.isScreen?this.mirror=!1:t&&!nO(t.mirror)&&(this.mirror=t.mirror),void(this.kind===LN.VIDEO&&(this.player.setObjectFit(this.objectFit),this.player.setMirror(this.mirror),this.container!==i&&i&&(this.container=i,this.player.setContainer(i)),cO(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!nO(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===LN.VIDEO)&&this.setPlayerMute(!0),t&&!nO(t.objectFit)&&(this.objectFit=t.objectFit),this.isRemote||(this.mirror=!0),this.isScreen?this.mirror=!1:t&&!nO(t.mirror)&&(this.mirror=t.mirror),this.kind===LN.VIDEO&&(this.player.setObjectFit(this.objectFit),this.player.setMirror(this.mirror)),this.isPlayCalled=!0,i&&(this.container=i,this.player.setContainer(i)),xO.emit(FO.PLAY_TRACK_START,{track:this}),this._outputTrack){this._log.info(\"play with options: \".concat(JSON.stringify(t)));try{this.player.setTrack(this._outputTrack),yield this.player.play(),cO(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(n){throw this.handleAutoPlayFailed(),this.emit(\"error\",n),n}}else this.log.info(\"play has not mediaTrack, abort\")}))}playSubContainer(e,t){return ab(this,null,(function*(){if(!this._outputTrack||this.kind===LN.AUDIO)return;this.subVideoPlayerMap||(this.subVideoPlayerMap=new Map),this.subVideoPlayerMap.forEach(((t,i)=>{var n;e.find((e=>i===e))||(t.stop(),t.setContainer(null),null==(n=this.subVideoPlayerMap)||n.delete(i))}));for(let[n,r]of e.entries()){let e=this.subVideoPlayerMap.get(r);e?t&&(nO(t.mirror)||e.setMirror(t.mirror),nO(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(r,new yP({id:this.userId||this.id,track:this.outMediaTrack,container:r,muted:this.playerMuted,objectFit:this.objectFit,mirror:this.mirror,log:this.log.createChild({id:\"vp-sub\".concat(n+1)})}))}let i=[...this.subVideoPlayerMap.values()];for(let e of i)yield e.play()}))}initPlayer(){var e;this.log.info(\"create \".concat(this.kind,\"Player\")),this.kind===LN.AUDIO?this.player=new LP({id:this.userId||this.id,track:this.outMediaTrack,gainedTrack:null==(e=this.gain)?void 0:e.audioTrack,container:this.container||null,muted:this.playerMuted,outputDeviceId:this.audioOutputDeviceId,log:this.log}):(this.player=new yP({id:this.userId||this.id,track:this.outMediaTrack,container:this.container||null,muted:this.playerMuted,objectFit:this.objectFit,mirror:this.mirror,log:this.log}),this.player.on(qw.LOADED_DATA,(()=>{xO.emit(FO.VIDEO_LOADED_DATA,{track:this})})),this.player.on(qw.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))}))),this.player.on(qw.PLAYER_STATE_CHANGED,(e=>{xO.emit(FO.PLAYER_STATE_CHANGED,$C({track:this},e)),this.emit(\"player-state-changed\",e)}))}setAudioOutput(e){return ab(this,null,(function*(){var t;this.audioOutputDeviceId=e,yield null==(t=this.player)?void 0:t.setSinkId(e)}))}setAudioVolume(e){var t;this.audioVolume=e,this.log.info(\"setAudioVolume to \".concat(e)),null==(t=this.player)||t.setVolume(e)}getAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getAudioLevel())||0}getInternalAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getInternalAudioLevel())||0}stop(){!this.isPlayCalled||(this.isPlayCalled=!1,this.player&&(this.log.info(\"stop \".concat(this.kind,\" player\")),this.player.stop(),this.player.setContainer(null)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop(),e.setContainer(null)})),this.container=null)}resume(){return ab(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()}setMute(e){return!!this.outMediaTrack&&(this.outMediaTrack.enabled=!e,this.emit(e?\"mute\":\"unmute\",this),xO.emit(e?FO.TRACK_MUTED:FO.TRACK_UNMUTED,{track:this}),!0)}setPlayerMute(e){this.playerMuted=e,this.player.setMuted(e)}get mediaTrack(){return this._inputTrack||null}get outMediaTrack(){return this._outputTrack||null}setInputMediaStreamTrack(e){let t=this._inputTrack;if(e!==t)return this._inputTrack=e,this.emit(\"input-media-track-changed\",e||null,t||null),this.manager?this.manager.changeInput(this,t):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,e.enabled=!this.muted,this.updatePlayingState(!!e))}setMediaType(e){this.mediaType=e}updatePlayingState(e){if(this.isPlayCalled)if(e){if(this.player.setTrack(this.outMediaTrack),this.player.isStopped)return this.player.play().catch((()=>this.handleAutoPlayFailed())),void this.log.info(\"playing state updated, play \".concat(this.kind))}else if(!this.player.isStopped)return this.player.stop(),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(){if(this.room&&this.room.enableAutoPlayDialog)new gP;else{let e=()=>{this.resume().then((()=>{document.removeEventListener(\"click\",e,!0),document.removeEventListener(\"touchstart\",e,!0)}))};document.addEventListener(\"click\",e,!0),document.addEventListener(\"touchstart\",e,!0)}}};rb([Bw([],Gw.INIT)],MP.prototype,\"close\",1);var VP=Object.prototype.hasOwnProperty;var xP=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(ZD(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(VP.call(e,t))return!1;return!0}return!1},UP=nb(cb(),1),FP=e=>t=>t.deviceId===e,BP=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"Input\";ob(this,\"kind\"),ob(this,\"type\"),ob(this,\"devices\",[]),this.kind=e,this.type=t}update(e,t){let i=e.filter((e=>e.kind===\"\".concat(this.kind).concat(this.type.toLocaleLowerCase())));t&&(i.forEach((e=>{if(e.deviceId&&!this.devices.find(FP(e.deviceId))){let i=\"\".concat(this.kind).concat(this.type,\"Added\");HO.warn(\"\".concat(i,\": \").concat(JSON.stringify(e))),t.emit(i,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!i.find(FP(e.deviceId))){let i=\"\".concat(this.kind).concat(this.type,\"Removed\");HO.warn(\"\".concat(i,\": \").concat(JSON.stringify(e))),t.emit(i,e)}}))),this.devices=i}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},HP=class extends UP.EventEmitter{constructor(){super(),ob(this,\"audioInputs\",new BP(LN.AUDIO)),ob(this,\"videoInputs\",new BP(LN.VIDEO)),ob(this,\"audioOutputs\",new BP(LN.AUDIO,\"Output\")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener(\"devicechange\",this.update.bind(this)),\"ondevicechange\"in navigator.mediaDevices||zw.run(LD,(()=>{this.update()}),{delay:1e4}))}init(){GP().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return ab(this,null,(function*(){let e=yield GP();return this.audioInputs.update(e,this),this.videoInputs.update(e,this),this.audioOutputs.update(e,this),this}))}},jP=dN||lN?null:new HP;function GP(){return ab(this,null,(function*(){return nw()||!tw()?[]:(yield navigator.mediaDevices.enumerateDevices()).map(((e,t)=>{let i={kind:e.kind,deviceId:e.deviceId,groupId:e.groupId,label:e.label||\"\".concat(e.kind,\"_\").concat(t)};return e.deviceId.length>0&&YP.add(\"\".concat(e.deviceId,\"_\").concat(e.kind)),e.getCapabilities&&(i.getCapabilities=()=>e.getCapabilities()),i}))}))}function WP(){return jP.update().then((e=>e.audioInputs.devices))}function JP(){return jP.update().then((e=>e.videoInputs.devices))}function KP(){return ab(this,null,(function*(){return jP.update().then((e=>e.audioOutputs.devices))}))}var YP=new Set;function zP(e,t){return ab(this,null,(function*(){let i=(yield WP()).find((e=>e.deviceId===RD));return(null==i?void 0:i.groupId)===e&&i.label===t}))}var qP=MO({retryFunction:function(e){return ab(this,null,(function*(){let t=function(e){return{audio:XP(e),video:ZP(e)}}(e);HO.info(\"getUserMedia with constraints: \".concat(JSON.stringify(t)));let i=[],n=[],r=[\"label\",\"deviceId\"];t.audio&&(i=yield WP(),HO.info(\"microphones: \".concat(DO(i,{keysToInclude:r})))),t.video&&(n=yield JP(),HO.info(\"cameras: \".concat(DO(n,{keysToInclude:r}))));try{let e=yield navigator.mediaDevices.getUserMedia(t);return bw&&e.getTracks().forEach((e=>{HO.info(\"\".concat(e.kind,\" capabilities: \").concat(DO(e.getCapabilities(),{keysToInclude:VD})))})),e}catch(o){if(\"NotFoundError\"===o.name){if(e.video&&n&&0===n.length)throw new gb({code:mb.DEVICE_NOT_FOUND,message:qO({key:JO.CAMERA_NOT_FOUND})});if(e.audio&&i&&0===i.length)throw new gb({code:mb.DEVICE_NOT_FOUND,message:qO({key:JO.MICROPHONE_NOT_FOUND})})}throw new gb({code:mb.INITIALIZE_FAILED,name:o.name,message:o.message,constraint:o.constraint})}}))},settings:{retries:3,timeout:500},onError:e=>{let{error:t,retry:i,reject:n,retryFuncArgs:r,retryCount:o}=e;\"NotReadableError\"===t.name?(r[0].video&&(r[0].maxResolution=!1,r[0].frameRate&&(r[0].frameRate=r[0].frameRate>10?10:5)),2===o&&(r[0].useTrueAsConstraint=!0),i()):n(t),r[0].microphoneId&&QP(r[0].microphoneId,!1),r[0].cameraId&&QP(r[0].cameraId,!0)},onRetrying:e=>{HO.warn(\"getUserMedia NotReadableError observed, retrying [\".concat(e,\"/3]\"))},onRetryFailed:e=>{Qw.logFailedEvent({eventType:cD.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{Qw.logSuccessEvent({eventType:cD.GET_USER_MEDIA_RETRY}),Qw.uploadEvent({log:\"stat-\".concat(cD.GET_USER_MEDIA_RETRY,\"-success-\").concat(e)})}});function QP(e,t){return ab(this,null,(function*(){let i=(t?yield JP():yield WP()).find((t=>t.deviceId===e));i&&iO(i.getCapabilities)&&HO.warn(DO(i.getCapabilities(),{keysToInclude:VD}))}))}function XP(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0};return xP(e.microphoneId)||(t.deviceId=e.useExact?{exact:e.microphoneId}:e.microphoneId),oO(e.channelCount)&&e.channelCount>1&&(t.channelCount=e.channelCount),sO(e.echoCancellation)&&!e.echoCancellation&&(t.echoCancellation=!1),sO(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),sO(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!xP(t)||t}function ZP(e){if(!e.video)return!1;if(e.useTrueAsConstraint)return!0;let{maxResolution:t=!0}=e,i={};return e.cameraId?i.deviceId=e.useExact?{exact:e.cameraId}:e.cameraId:e.facingMode&&(i.facingMode=e.facingMode),e.width&&(i.width={ideal:e.width},t&&!Ub&&(i.width.max=e.width)),e.height&&(i.height={ideal:e.height},t&&!Ub&&(i.height.max=e.height)),Ub&&mk&&e.width&&e.height&&e.width*e.height<101376&&(i.width=e.width,i.height=e.height),e.frameRate&&(i.frameRate=e.frameRate),!!xP(i)||i}var $P=qP;function eL(e){return iL(((t,i)=>function(){for(var i=arguments.length,n=new Array(i),r=0;rfunction(){for(var i=arguments.length,n=new Array(i),r=0;r1&&void 0!==arguments[1])||arguments[1]}),ob(this,\"isRemote\",!1),ob(this,\"deviceId\"),ob(this,\"groupId\",\"\"),ob(this,\"label\",\"\"),ob(this,\"_isRecapturing\",!1),ob(this,\"_lastRecaptureTime\",0),ob(this,\"_onMuteTimeoutId\",-1),ob(this,\"profile\"),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this)}installTrackEvent(e){SP(e,e).add(LN.MUTE,this.onTrackMuted).add(LN.UNMUTE,this.onTrackUnmuted).add(LN.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===LN.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){IP(e)}setStateToCapture(){}capture(e){return ab(this,null,(function*(){try{let t;xO.emit(FO.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(t=new MediaStream,t.addTrack(e.customSource)):t=yield $P(e);let i=t.getTracks()[0];return yield this.setInputMediaStreamTrack(i),e.customSource||(this.updateDeviceIdInUse(),this.listenDeviceChange()),xO.emit(FO.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this}),t}catch(sD){throw xO.emit(FO.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:sD}),this.log.error(\"getUserMedia error observed \".concat(sD)),sD}}))}setInputMediaStreamTrack(e){this.state===Gw.INIT&&this.setStateToCapture(),this._inputTrack&&this.uninstallTrackEvent(this._inputTrack);let t=super.setInputMediaStreamTrack(e);return this.installTrackEvent(e),t}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),xO.emit(FO.LOCAL_TRACK_PUBLISHED,{track:this}),t}unpublish(){this.room&&this.room.localTracks.delete(this),xO.emit(FO.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return ab(this,null,(function*(){if(this.mediaTrack&&Cw){let{deviceId:e,groupId:t}=this.mediaTrack.getSettings(),{label:i}=this.mediaTrack;(yield function(e){return ab(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:i,oldGroupId:n,oldLabel:r,kind:o}=e;return function*(){return t===i&&(o!==LN.AUDIO||t!==RD||(yield zP(n,r)))}()}))}({newDeviceId:e,oldDeviceId:this.deviceId,oldGroupId:this.groupId,oldLabel:this.label,kind:this.kind}))||(this.deviceId=e,this.label=i,t&&(this.groupId=t),GP().then((t=>{let i=t.find((t=>t.deviceId===e));i&&this.emit(\"2\",i)})))}}))}setProfile(e){this.log.info(\"setProfile\",e),Object.assign(this.profile,e)}isNeedToRecapture(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!(!this.deviceId||!this.mediaTrack||this.kind===LN.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 i=\"\".concat(((null==e?void 0:e.getSettings())||{}).deviceId,\"_\").concat(LN.AUDIO_INPUT);return!!YP.has(i)}(this.mediaTrack)||this.kind===LN.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 i=\"\".concat(((null==e?void 0:e.getSettings())||{}).deviceId,\"_\").concat(LN.VIDEO_INPUT);return!!YP.has(i)}(this.mediaTrack)||this._isRecapturing||e&&mk&&Uk)}onTrackMuted(){if(this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTimethis.onTrackMuted()),OD);this._onMuteTimeoutId=setTimeout((()=>ab(this,null,(function*(){var e;(null==(e=this.mediaTrack)?void 0:e.muted)&&\"visible\"===document.visibilityState&&this.recapture(yield this.getRecoverCaptureDeviceId())}))),5e3)}}onTrackUnmuted(){this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return ab(this,null,(function*(){if(this.isNeedToRecapture()){if(Date.now()-this._lastRecaptureTimethis.onTrackEnded()),OD);this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){return ab(this,null,(function*(){var t;if(this._isRecapturing||!this._inputTrack)return;let i;return this.log.warn(\"recapture trying\"),null==(t=this._inputTrack)||t.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now(),(\"audio\"===this.kind?yield WP():yield JP()).find((t=>t.deviceId===e))&&(i=e),this.capture({deviceId:i,useExact:!0}).then((()=>{this._isRecapturing=!1,this.log.warn(\"recapture success\"),this.emit(\"1\",{deviceId:this.deviceId})})).catch((e=>{this._isRecapturing=!1,this.log.warn(\"recapture failed \".concat(e.message)),this.emit(\"5\",e)}))}))}getRecoverCaptureDeviceId(){return ab(this,null,(function*(){let{deviceId:e}=this;if(e){let t=(rL.get(e)||0)+1;if(rL.set(e,t),t>=3){let i=\"video\"===this.kind?(yield JP()).find((e=>!rL.has(e.deviceId))):(yield WP()).find((e=>!rL.has(e.deviceId)));i&&(this.log.warn(\"\".concat(e,\" capture fail \").concat(t,\" times, change new \").concat(i.deviceId)),e=i.deviceId)}}return e}))}close(){var e;super.close(),this._inputTrack&&(this._inputTrack.stop(),this.uninstallTrackEvent(this._inputTrack)),null==(e=this.manager)||e.removeInput(this)}};rb([Bw(Gw.INIT,\"capture\",{ignoreError:!0})],nL.prototype,\"setStateToCapture\",1),rb([Bw(\"capture\",\"publish\",{ignoreError:!0,success(){this.room.localTracks.add(this),this.emit(\"4\",{mediaType:this.strMediaType,state:\"started\",prevState:\"starting\"})},fail(e){let t=\"error\",i=e.cause;i.message.includes(\"timeout\")?t=\"timeout\":i.code===mb.API_CALL_ABORTED&&(t=\"api-call\"),this.emit(\"4\",{mediaType:this.strMediaType,state:\"stopped\",prevState:\"starting\",reason:t,error:i})}})],nL.prototype,\"publish\",1),rb([iL((e=>function(){return ab(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\"}),2===this.mediaType&&(this.mediaType=4)}))})),Bw([],\"capture\")],nL.prototype,\"unpublish\",1);var rL=new Map;xO.on(FO.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&rL.delete(e.track.deviceId)}));var oL=class extends nL{constructor(e){super(1),ob(this,\"mediaType\",1),ob(this,\"volume\",0),ob(this,\"captureVolume\",1),ob(this,\"profile\",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),ob(this,\"playerMuted\",!0),this.manager=e}getAudioLevel(){return this.volume||super.getAudioLevel()}capture(){let{deviceId:e,customSource:t,useExact:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return super.capture({video:!1,audio:!0,microphoneId:e,echoCancellation:this.profile.echoCancellation,autoGainControl:this.profile.autoGainControl,noiseSuppression:this.profile.noiseSuppression,sampleRate:this.profile.sampleRate,channelCount:this.profile.channelCount,useExact:i,customSource:t})}switchDevice(e){return ab(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e){if(e!==RD)return;if(yield zP(this.groupId,this.label))return}try{this.log.info(\"switchDevice audio to: \".concat(e)),this.mediaTrack&&this.mediaTrack.stop(),yield this.capture({deviceId:e,useExact:!0}),this.room&&(yield this.room.replaceTrack(this)),xO.emit(FO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info(\"switch microphone success\")}catch(sD){throw this.log.error(\"switch microphone failed \".concat(sD)),this.deviceId&&this.recapture(this.deviceId),sD}}}))}listenDeviceChange(){jP&&!jP.listeners(\"audioInputRemoved\").includes(this.handleMicrophoneRemoved)&&jP.on(\"audioInputRemoved\",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return ab(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn(\"current microphone is lost: \".concat(JSON.stringify(e)));let t=yield WP();t[0]?this.recapture(t[0].deviceId):jP.on(\"audioInputAdded\",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){this.log.warn(\"microphone added: \".concat(JSON.stringify(e))),this.recapture(e.deviceId)}update3A(e){return ab(this,arguments,(function(e){var t=this;let{echoCancellation:i,noiseSuppression:n,autoGainControl:r}=e;return function*(){let e=!1;!nO(i)&&i!==t.profile.echoCancellation&&(t.profile.echoCancellation=i,e=!0),!nO(n)&&n!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=n,e=!0),!nO(r)&&r!==t.profile.autoGainControl&&(t.profile.autoGainControl=r,e=!0),e&&t.deviceId&&(yield t.recapture(t.deviceId))}()}))}setCaptureVolume(e){var t;let i=e/100;i!==this.captureVolume&&(null==(t=this.manager)||t.setCaptureVolume(i),this.captureVolume=i)}close(){jP.off(\"audioInputAdded\",this.handleMicrophoneAdded,this),jP.off(\"audioInputRemoved\",this.handleMicrophoneRemoved,this),super.close()}},sL=class extends nL{constructor(e){super(4),ob(this,\"mediaType\",4),ob(this,\"profile\",{width:640,height:480,frameRate:15,bitrate:500}),ob(this,\"states\",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0}),ob(this,\"small\"),ob(this,\"facingMode\"),ob(this,\"isNeedToSetBandwidth\"),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(eb($C({},this.profile),{width:1920,height:1080})),this.applyProfile())};this.on(\"input-media-track-changed\",t),this.on(\"publish\",t)}capture(){let{deviceId:e,facingMode:t,useExact:i=!1,customSource:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return super.capture({audio:!1,video:!0,facingMode:t||this.facingMode,cameraId:e,width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate,useExact:i,customSource:n})}setOutputMediaStreamTrack(e){var t;return super.setOutputMediaStreamTrack(e),null==(t=this.room)?void 0:t.replaceTrack(this)}setProfile(e){!e||(e.bitrate&&(this.isNeedToSetBandwidth=e.bitrate!==this.profile.bitrate),this.isAllowed2k4k(this.profile)?super.setProfile(e):(this.log.warn(\"Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386\"),super.setProfile(eb($C({},this.profile),{width:1920,height:1080}))))}applyProfile(){var e;if(!this.mediaTrack)return;let t=this.settings;return t.height!==this.profile.height||t.width!==this.profile.width||t.frameRate!==this.profile.frameRate?null==(e=this.mediaTrack)?void 0:e.applyConstraints({width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate}).then((()=>{if(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)return this.isNeedToSetBandwidth=!1,this.room.setBandWidth({bandwidth:this.profile.bitrate,type:LN.VIDEO,videoType:LN.BIG})})):void 0}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate};return Cw&&this.mediaTrack&&Object.assign(e,this.mediaTrack.getSettings()),e}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 ab(this,null,(function*(){let t=e;try{if(!this.isNeedToSwitchDevice(t))return;(t===LN.FACING_MODE_USER||t===LN.FACING_MODE_ENVIRONMENT)&&(this.facingMode=e,t=void 0),this.mediaTrack.stop(),yield this.capture({deviceId:t,useExact:!0}),xO.emit(FO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info(\"switch camera success\")}catch(aN){throw this.log.error(\"switch camera failed \".concat(aN)),this.deviceId&&this.recapture(this.deviceId),aN}}))}listenDeviceChange(){jP&&!jP.listeners(\"audioInputRemoved\").includes(this.handleCameraRemoved)&&jP.on(\"videoInputRemoved\",this.handleCameraRemoved,this)}handleCameraRemoved(e){return ab(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn(\"current camera is lost: \".concat(JSON.stringify(e)));let t=yield JP();t[0]?this.recapture(t[0].deviceId):jP.on(\"videoInputAdded\",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return ab(this,null,(function*(){this.log.warn(\"camera added: \".concat(JSON.stringify(e))),this.recapture(e.deviceId)}))}close(){jP.off(\"videoInputAdded\",this.handleCameraAdded,this),jP.off(\"videoInputRemoved\",this.handleCameraRemoved,this),super.close()}};var aL=function(e){return ab(this,null,(function*(){let t=null,i=function(e){let t={systemAudio:\"include\",selfBrowserSurface:\"include\",surfaceSwitching:\"include\"},i={width:Uk?{max:e.width}:{ideal:e.width,max:e.width},height:Uk?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:\"monitor\"};if(t.video=i,e.systemAudio){let{echoCancellation:i=!0,noiseSuppression:n=!1,autoGainControl:r=!1}=e;t.audio={echoCancellation:i,noiseSuppression:n,autoGainControl:r,sampleRate:48e3}}return t}(e);HO.info(\"getDisplayMedia with constraints: \".concat(JSON.stringify(i)));let n=yield navigator.mediaDevices.getDisplayMedia(i);if(e.systemAudio&&0===n.getAudioTracks().length&&(Lk&&Vk<74||Uk||Ub)&&HO.warn(\"Your browser not support capture system audio\"),e.frameRate&&n.getVideoTracks()[0]&&n.getVideoTracks()[0].applyConstraints({frameRate:{min:e.frameRate,ideal:e.frameRate},width:e.width,height:e.height}).catch((e=>{HO.warn(\"screen applyConstraints failed: \".concat(e))})),e.audio){let i=function(e){let t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return nO(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);HO.info(\"getUserMedia with constraints: \".concat(JSON.stringify(i))),t=yield navigator.mediaDevices.getUserMedia(i),n.addTrack(t.getAudioTracks()[0])}return n}))},cL=class extends sL{constructor(e){super(e),ob(this,\"profile\",{width:1920,height:1080,frameRate:5,bitrate:1600}),ob(this,\"objectFit\",\"contain\"),ob(this,\"isScreen\",!0),this._log.id=\"s-\".concat(this._log.id)}capture(){return ab(this,arguments,(function(){var e=this;let{systemAudio:t=!1,autoGainControl:i,echoCancellation:n,noiseSuppression:r,audioTrack:o,videoTrack:s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){try{let a;return s||o?(a=new MediaStream,s&&a.addTrack(s),o&&a.addTrack(o)):a=yield aL({audio:!1,systemAudio:t,width:e.profile.width,height:e.profile.height,frameRate:e.profile.frameRate,autoGainControl:i,echoCancellation:n,noiseSuppression:r}),yield e.setInputMediaStreamTrack(a.getVideoTracks()[0]),a}catch(a){throw e.log.error(\"getDisplayMedia error observed \".concat(a)),a instanceof gb?a:new gb({code:mb.INITIALIZE_FAILED,name:a.name,message:a.message})}}()}))}switchDevice(e){return ab(this,null,(function*(){throw new Error(\"Method not implemented.\")}))}},lL=class extends oL{constructor(e){super(e),this._log.id=\"s-\".concat(this._log.id)}},dL=class extends oL{constructor(e){super(e),ob(this,\"_inputs\",new Map),ob(this,\"_destination\"),ob(this,\"audioContext\",NP(\"audio-mixer\")),this._log.id=\"m-\".concat(this._log.id),\"running\"!==this.audioContext.state&&this._log.warn(\"audio mixer context state: \".concat(this.audioContext.state)),this._destination=this.audioContext.createMediaStreamDestination(),this._destination.channelCount=1}setInputMediaStreamTrack(e){this._inputTrack=e;let t=this.audioContext.createMediaStreamSource(new MediaStream([e]));this._inputs.set(e,{sourceNode:t}),t.connect(this._destination),this._outputTrack||(this._outputTrack=this._destination.stream.getAudioTracks()[0],this.setStateToCapture())}setTrackCaptureVolume(e,t){if(!this._inputs.has(e)||!this._destination)return;let i=this._inputs.get(e),{sourceNode:n}=i;i.gainNode||(this._log.info(\"create GainNode\"),i.gainNode=this.audioContext.createGain()),i.gainNode.gain.value=t,n.disconnect(),n.connect(i.gainNode).connect(this._destination)}publish(e,t){return this.room=e,t}unpublish(){delete this.room}replaceTrack(e,t){var i;!this.hasMix||(t&&(null==(i=this._inputs.get(t))||i.sourceNode.disconnect(),this._inputs.delete(t)),this.setInputMediaStreamTrack(e.outMediaTrack))}removeTrack(e){var t;null==(t=this._inputs.get(e))||t.sourceNode.disconnect(),this._inputs.delete(e),0===this._inputs.size&&(delete this._outputTrack,this.unpublish())}close(){this.stop(),this.audioContext.close()}get hasMix(){return!!this._outputTrack}set channelCount(e){this._destination.channelCount=e}};rb([Bw(\"capture\",\"publish\",{ignoreError:!0})],dL.prototype,\"publish\",1),rb([Bw([],\"capture\")],dL.prototype,\"unpublish\",1);var uL=class extends nL{constructor(e,t){super(1),ob(this,\"musicId\"),ob(this,\"mediaType\",1),ob(this,\"volume\",0),ob(this,\"profile\",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),ob(this,\"playerMuted\",!1),ob(this,\"audio\"),ob(this,\"_audioContext\"),ob(this,\"_destination\"),ob(this,\"_source\",null),this.manager=e,this.initAudioContext(),this._destination=this._audioContext.createMediaStreamDestination(),this._destination.channelCount=1,this.audio=document.createElement(\"audio\"),this.audio.src=t.url,this.audio.crossOrigin=\"anonymous\",sO(t.loop)&&this.loop(t.loop),oO(t.volume)&&this.setVolume(t.volume),t.id&&(this.musicId=t.id),this._source=this._audioContext.createMediaElementSource(this.audio),this._source.connect(this._destination),this.setInputMediaStreamTrack(this._destination.stream.getAudioTracks()[0]),this.installPlayerEvent()}play(){return ab(this,null,(function*(){try{yield this.audio.play(),yield sb(uL.prototype,this,\"play\").call(this,null,{muted:!1}),this._log.info(\"music \".concat(this.musicId,\" play success\"))}catch(sN){this._log.error(\"music \".concat(this.musicId,\" play error\"),sN)}}))}installPlayerEvent(){this.audio.addEventListener(\"error\",this.handleAudioError.bind(this))}uninstallPlayerEvent(){this.audio.removeEventListener(\"error\",this.handleAudioError.bind(this))}handleAudioError(e){this._log.warn(\"local music \".concat(this.musicId,\" audio error\"),e)}initAudioContext(){this._audioContext=NP(\"music\"),\"running\"!==this._audioContext.state&&this._log.warn(\"local music \".concat(this.musicId,\" context state: \").concat(this._audioContext.state))}destroy(){var e,t;null==(e=this._source)||e.disconnect(),null==(t=this._destination)||t.disconnect(),this.uninstallPlayerEvent(),this.player.stop(),this._audioContext.close().then((()=>{this._source=null,this._destination=null,this._audioContext=null}))}getStream(){var e;return(null==(e=this._destination)?void 0:e.stream)||null}seek(e){e<0&&e>this.duration()?this._log.warn(\"Time beyond song duration.\"):this.audio.currentTime=e}getPosition(){return this.audio.currentTime||0}setVolume(e){e>1&&e<0?this.log.warn(\"volume is out of range\"):this.audio.volume=e}getVolume(){return this.audio.volume||0}setPlayBackRate(e){e>8&&e<0?this.log.warn(\"rate is out of range\"):this.audio.playbackRate=e}getPlayBackRate(){return this.audio.playbackRate||0}duration(){return this.audio.duration||0}loop(e){return this.audio&&sO(e)&&(this.audio.loop=e),this.audio.loop||!1}setOperation(e){\"pause\"===e&&this.audio.pause(),\"resume\"===e&&(this.audio.pause(),this.audio.play()),\"stop\"===e&&(this.audio.pause(),this.seek(0))}listenDeviceChange(){}},hL=\"input\",pL=\"output\";var _L=e=>(e=Number(e))>0&&e<14e8;function mL(e){return ab(this,arguments,(function(e){let{sdkAppId:t,userId:i,userSig:n,timestamp:r}=e;return function*(){let e=\"https://\".concat(function(e){let t;return t=_L(e)?\"intl-schedule.rtc.qq.com\":\"schedule.rtc.qq.com\",t}(t),\"/api/v1/audioAiAuth?sdkAppId=\").concat(t,\"&userId=\").concat(i,\"&userSig=\").concat(n,\"×tamp=\").concat(r),o=yield fetch(e),{data:{errCode:s,errMsg:a,sign:c,status:l}}=yield o.json();if(\"1\"===l)return{auth:!0,sign:c,status:l,message:a};let d=\"Init RTCAIDenoiser failed.\",u=\"\";switch(s){case 1:u=\"Please check your params.\";break;case 2:u=\"You need to buy packages. Refer to: https://cloud.tencent.com/document/product/647/44247\";break;case 3:u=\"Server is invalid. Please contact our engineer. \";break;case 4:u=\"Your packages is not active. Refer to: https://cloud.tencent.com/document/product/647/44247\";break;case 5:u=\"Your packages is expired. Refer to: https://cloud.tencent.com/document/product/647/44247\";break;case 6:u=\"Your version is not supported.\"}return{auth:!1,status:l,message:a?\"\".concat(d,\" Reason: \").concat(a,\". \").concat(u):\"\".concat(d,\", \").concat(u)}}()}))}var fL=nb(cb(),1);function gL(e,t){t=t||{};let i,n=e.numberOfChannels,{sampleRate:r}=e,o=t.float32?3:1,s=3===o?32:16;return i=2===n?function(e,t){let i=e.length+t.length,n=new Float32Array(i),r=0,o=0;for(;r{let{type:t,data:i}=e.data;if(\"ondump\"===t&&this.isDumping_){let{inputPCM:e,outputPCM:t}=i;this.dump_.onDump(e,hL),this.dump_.onDump(t,pL)}\"dumped\"===t&&this.dumped()},this.dump_=new EL(this.audioContext_)}dumped(){this.isDumping_=!1;let e=this.dump_.getBlob(hL),t=this.dump_.getBlob(pL);this.emitter_.emit(\"ondumpend\",{blob:e,name:hL}),this.emitter_.emit(\"ondumpend\",{blob:t,name:pL}),this.dumpedWAV(e,hL),this.dumpedWAV(t,pL),this.dump_.reset()}dumpedWAV(e,t){let i=window.URL.createObjectURL(e),n=document.createElement(\"a\");n.href=i,n.download=\"\".concat(t,\"-\").concat(Date.now(),\".wav\"),n.click(),window.URL.revokeObjectURL(i),n.href=\"\"}process(e){return ab(this,null,(function*(){if(this.audioTrack_=e,!this.audioTrack_)throw new Error(\"RTCAIDenoiser: cannot process without audioTrack.\");let t=new MediaStream;t.addTrack(this.audioTrack_),this.source_=this.audioContext_.createMediaStreamSource(t),yield this.source_.connect(this.workletNode_),this.trackConstraint_=this.audioTrack_.getConstraints(),this.trackConstraint_.noiseSuppression=!1,yield this.audioTrack_.applyConstraints(this.trackConstraint_);let i=this.destination_.stream;return this.denoiserTrack_=i.getAudioTracks()[0],this.log_.info(\"RTCAIDenoiser: denoiser process track ID: \".concat(e.id,\" success.\")),this.denoiserTrack_}))}updateTrack(e){return ab(this,null,(function*(){var t;let i=new MediaStream;yield i.addTrack(e);let n=this.audioContext_.createMediaStreamSource(i);this.source_.disconnect(),n.connect(this.workletNode_),null==(t=this.audioTrack_)||t.stop(),this.audioTrack_=e,this.source_=n,this.log_.info(\"RTCAIDenoiser: updateTrack success.\")}))}disable(){return ab(this,null,(function*(){var e,t;return this.enableDenoise_=!1,null==(e=this.workletNode_)||e.port.postMessage({type:\"disable\"}),this.trackConstraint_.noiseSuppression=!0,yield null==(t=this.audioTrack_)?void 0:t.applyConstraints(this.trackConstraint_),this.log_.info(\"RTCAIDenoiser: disable ai denoiser.\"),this.enableDenoise_}))}enable(){return ab(this,null,(function*(){var e,t;return this.enableDenoise_=!0,null==(e=this.workletNode_)||e.port.postMessage({type:\"enable\"}),this.trackConstraint_.noiseSuppression=!1,yield null==(t=this.audioTrack_)?void 0:t.applyConstraints(this.trackConstraint_),this.log_.info(\"RTCAIDenoiser: enable ai denoiser.\"),this.enableDenoise_}))}startDump(){return this.isDumping_?(this.log_.info(\"RTCAIDenoiser: data is currently being dumped.\"),!1):(this.workletNode_.port.postMessage({type:\"startDump\"}),this.dump_?this.dump_.reset():this.dump_=new EL(this.audioContext_),this.isDumping_=!0,this.log_.info(\"RTCAIDenoiser: start dump data.\"),!0)}stopDump(){!this.isDumping_||(this.workletNode_.port.postMessage({type:\"stopDump\"}),this.isDumping_=!1,this.log_.info(\"RTCAIDenoiser: stop dump data.\"))}getAudioTrack(){return this.audioTrack_}getDenoiserTrack(){return this.destination_.stream.getAudioTracks()[0]}get enabled(){return this.enableDenoise_}destroy(){var e,t,i,n,r,o;this.log_.info(\"RTCAIDenoiser: destroy processor.\"),null==(e=this.audioTrack_)||e.stop(),null==(t=this.workletNode_)||t.port.postMessage({type:\"destroy\"}),this.workletNode_.port.onmessage=null,null==(i=this.source_)||i.disconnect(),null==(n=this.destination_)||n.disconnect(),null==(r=this.workletNode_)||r.disconnect(),null==(o=this.dump_)||o.destroy(),this.emitter_.removeAllListeners()}on(e,t,i){this.emitter_.on(e,t,i)}off(e,t,i){\"*\"===e?this.emitter_.removeAllListeners():this.emitter_.off(e,t,i)}},IL=class{constructor(e){let{assetsPath:t,log:i,audioContext:n}=e;this.isLoaded_=!1,this.audioContext_=n,this.log_=i,this.assetsPath_=t}createProcessor(e){return ab(this,null,(function*(){let t=String(Date.now()).slice(0,-3),{auth:i,sign:n,status:r,message:o}=yield mL(eb($C({},e),{timestamp:t}));if(!i)throw this.log_.info(\"RTCAIDenoiser: \".concat(e.userId,\" auth result: \").concat(i,\". Message: \").concat(o)),new Error(o);try{yield this.load()}catch(c){throw new Error(\"Init wasm failed, please check your assetsPath.\")}let s=yield this.initWorklet(),a=new SL(eb($C({},e),{audioContext:this.audioContext_,timestamp:t,sign:n,status:r,worklet:s,logger:this.log_}));return this.log_.info(\"RTCAIDenoiser: \".concat(e.userId,\" create denoiser processor success.\")),a}))}load(){return ab(this,null,(function*(){if(!this.isLoaded_)try{yield this.audioContext_.audioWorklet.addModule(\"\".concat(this.assetsPath_,\"/denoiser-wasm.js\")),this.isLoaded_=!0}catch(HL){throw this.log_.error(\"Init assets from \".concat(this.assetsPath_,\" failed! Reason: \").concat(HL)),HL}}))}initWorklet(){return ab(this,null,(function*(){try{return new AudioWorkletNode(this.audioContext_,\"trtc-denoiser-processor\",{numberOfInputs:1,numberOfOutputs:1})}catch(HL){return yield this.load(),new AudioWorkletNode(this.audioContext_,\"trtc-denoiser-processor\",{numberOfInputs:1,numberOfOutputs:1})}}))}destroy(){var e;null==(e=this.audioContext_)||e.close()}isSupported(){return\"AudioWorklet\"in window&&\"WebAssembly\"in window}},vL=class{constructor(e){let{room:t}=e;ob(this,\"_localAudioTrack\",null),ob(this,\"_localScreenAudioTrack\",null),ob(this,\"localMixAudioTrack\"),ob(this,\"isDenoiserInit\",!1),ob(this,\"isDenoiserEnabled\",!1),ob(this,\"isDenoiserProcessed\",!1),ob(this,\"mixedMusicMap\",new Map),ob(this,\"cacheMusicMap\",new Map),ob(this,\"_log\"),ob(this,\"denoiserTrack\",null),ob(this,\"denoiser\",null),ob(this,\"denoiserProcessor\"),ob(this,\"initProcessorOptions\"),ob(this,\"denoiserContext\"),this._log=HO.createLogger({id:\"am\",userId:t.userId,sdkAppId:t.sdkAppId})}get mixedAudioTrack(){return this.localMixAudioTrack?this.localMixAudioTrack.outMediaTrack:null}get hasScreenAudioTrack(){return null!==this._localScreenAudioTrack}get hasAudioTrack(){return null!==this._localAudioTrack}changeInput(e,t){var i,n,r;return e instanceof lL?(this._localScreenAudioTrack=e,void(e._outputTrack=e.mediaTrack)):e instanceof uL?(e._outputTrack=e.mediaTrack,void(null==(i=this.localMixAudioTrack)||i.replaceTrack(e,t))):e instanceof oL?(this._localAudioTrack=e,this.isDenoiserProcessed&&(null==(n=this.denoiserProcessor)||n.updateTrack(e.mediaTrack)),e.setOutputMediaStreamTrack(this.isDenoiserProcessed?this.denoiserTrack:e.mediaTrack),void(null==(r=this.localMixAudioTrack)||r.replaceTrack(e,t))):e instanceof RL?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}removeInput(e){if(e instanceof oL)return this.removeAudioTrack(e)}addMusicSource(e){return ab(this,null,(function*(){this._log.info(\"add music source, id: \".concat(e.id,\" url: \").concat(e.url));let t,{id:i,url:n,loop:r,volume:o}=e;if(!this.mixedMusicMap.has(i))return t=this.cacheMusicMap.has(i)?this.cacheMusicMap.get(i):new uL(this,e),t.play(),this._log.info(\"start mix audio \".concat(i,\" success.\")),this.mixedMusicMap.set(i,t),this.cacheMusicMap.set(i,t),t}))}updateMusicSource(e){return ab(this,null,(function*(){let{id:t,volume:i,loop:n,operation:r,seekFrom:o}=e;if(this._log.info(\"update music source, \".concat(JSON.stringify(e))),this.mixedMusicMap.has(t)){let e=this.mixedMusicMap.get(t);nO(i)||e.setVolume(i),nO(n)||e.loop(n),nO(r)||e.setOperation(r),nO(o)||e.seek(o)}}))}addAudioTrack(e){return ab(this,null,(function*(){var t;if(this.localMixAudioTrack||(this.localMixAudioTrack=new dL(this)),this._log.info(\"start add audioTrack, userId: \".concat(e.userId)),e===this._localAudioTrack){if(Cw){let i=yield null==(t=e.mediaTrack)?void 0:t.getSettings();this.localMixAudioTrack.channelCount=(null==i?void 0:i.channelCount)||1}this.mixedMusicMap.forEach((e=>{var t;null==(t=this.localMixAudioTrack)||t.setInputMediaStreamTrack(e.outMediaTrack)}))}this.localMixAudioTrack.setInputMediaStreamTrack(e.outMediaTrack),this._localAudioTrack&&1!==this._localAudioTrack.captureVolume&&this.setCaptureVolume(this._localAudioTrack.captureVolume)}))}removeAudioTrack(e){!this.localMixAudioTrack||(e===this._localAudioTrack&&this.mixedMusicMap.forEach((e=>{this.localMixAudioTrack.removeTrack(e.outMediaTrack)})),this.localMixAudioTrack.removeTrack(e.outMediaTrack))}removeMusicSource(e){let{id:t}=e;if(this.localMixAudioTrack){if(this.mixedMusicMap.has(t)){this._log.info(\"remove music source, music id: \".concat(t));let e=this.mixedMusicMap.get(t);e.stop(),this.localMixAudioTrack.removeTrack(e.outMediaTrack),this.mixedMusicMap.delete(t)}\"*\"===t&&this.destroyAllMusic()}}destroyAllMusic(){this._log.info(\"destroy all music source.\"),this.mixedMusicMap.forEach(((e,t)=>{this.removeMusicSource({id:t})}))}destroyAllCache(){this._log.info(\"destroy all music cache.\"),this.cacheMusicMap.forEach((e=>e.stop()))}initDenoiser(e){return ab(this,null,(function*(){let{assetsPath:t,sdkAppId:i,userId:n,userSig:r}=e;try{(!this.denoiserContext||\"closed\"===this.denoiserContext.state)&&(this.denoiserContext=NP(\"denoiser\")),this.denoiser||(this.denoiser=new IL({assetsPath:t,log:this._log,audioContext:this.denoiserContext})),this.denoiserProcessor||(this.denoiserProcessor=yield this.denoiser.createProcessor({sdkAppId:i,userId:n,userSig:r})),this.isDenoiserInit=!0,this.initProcessorOptions=e}catch(cN){throw cN}}))}enableDenoiser(e){return ab(this,null,(function*(){var e,t,i;if(this.isDenoiserEnabled=!0,!this.hasAudioTrack){let e=\"enableDenoiser failed, there is no audio\";throw this._log.error(e),new Error(e)}if(this.isDenoiserProcessed)null==(i=this.denoiserProcessor)||i.enable();else{let i=null==(e=this._localAudioTrack)?void 0:e.mediaTrack;if(!i)return;this.denoiserProcessor||(yield this.initDenoiser(this.initProcessorOptions)),this.denoiserTrack=yield this.denoiserProcessor.process(i),this.isDenoiserProcessed=!0,this._localAudioTrack._outputTrack=this.denoiserTrack,null==(t=this.localMixAudioTrack)||t.replaceTrack(this._localAudioTrack,i)}}))}disableDenoiser(){return ab(this,null,(function*(){var e;this.isDenoiserEnabled&&(null==(e=this.denoiserProcessor)||e.disable(),this.isDenoiserEnabled=!1)}))}setCaptureVolume(e){var t;this.localMixAudioTrack&&this._localAudioTrack&&this._localAudioTrack.mediaTrack&&(null==(t=this.localMixAudioTrack)||t.setTrackCaptureVolume(this._localAudioTrack.mediaTrack,e))}destroyDenoiserProcessor(){var e;this.denoiserProcessor&&(this.denoiserProcessor.destroy(),delete this.denoiserProcessor,this.isDenoiserInit=!1,this.isDenoiserEnabled=!1,this.isDenoiserProcessed=!1,null==(e=this.denoiserTrack)||e.stop(),this.denoiserTrack=null),this.denoiserContext&&(this.denoiserContext.close(),delete this.denoiserContext)}destroy(){var e;this.destroyAllMusic(),this.destroyAllCache(),this.destroyDenoiserProcessor(),null==(e=this.denoiser)||e.destroy(),this.localMixAudioTrack&&(this.localMixAudioTrack.close(),delete this.localMixAudioTrack)}},yL=class extends MP{constructor(e,t,i){super({userId:t.userId,sdkAppId:e.sdkAppId,mediaType:i,room:e}),this.room=e,this.user=t,ob(this,\"tinyId\"),ob(this,\"isRemote\",!0),this.tinyId=t.tinyId}setMute(e){return this.hasFlag&&super.setMute(e)}setInputMediaStreamTrack(e){super.setInputMediaStreamTrack(e),this.hasFlag&&this.isSubscribed&&this.player.setTrack(this.outMediaTrack)}waitHasMediaTrack(){return new Promise((e=>{this.mediaTrack?e():this.once(\"input-media-track-changed\",e)}))}get isSubscribing(){return\"subscribeing\"===this.state.toString()}get isSubscribed(){return this.state===yL.STATE_SUBSCRIBE}get streamType(){return 0==(2&this.mediaType)?\"main\":\"auxiliary\"}subscribe(e){return e}unsubscribe(){this.player.setTrack(null),\"main\"===this.streamType&&\"video\"===this.kind&&this.room.changeType(!1,this.user)}updatePlayingState(e){if(this.isPlayCalled&&this.player.isStopped===e){if(e&&(!this.isSubscribed||!this.hasFlag||!this.outMediaTrack))return void this.log.info(\"abort play, isSubscribed:\".concat(this.isSubscribed,\" hasFlag:\").concat(this.hasFlag,\" hasTrack:\").concat(!!this.outMediaTrack));super.updatePlayingState(e)}}onFlagChanged(){this.updatePlayingState(this.hasFlag)}},AL=yL;ob(AL,\"STATE_SUBSCRIBE\",\"subscribe\"),rb([Bw(Gw.INIT,AL.STATE_SUBSCRIBE,{success(){this.log.info(\"subscribed\"),xO.emit(FO.REMOTE_TRACK_SUBSCRIBED,{track:this}),this.updatePlayingState(!0)},ignoreError:!0})],AL.prototype,\"subscribe\",1),rb([Bw(AL.STATE_SUBSCRIBE,Gw.INIT,{success(){this.log.info(\"unsubscribed\"),this.updatePlayingState(!1),xO.emit(FO.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],AL.prototype,\"unsubscribe\",1);var RL=class extends AL{constructor(e,t){super(e,t,1),ob(this,\"volume\",0),ob(this,\"mediaType\",1),ob(this,\"stat\",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}getAudioLevel(){return this.volume||super.getAudioLevel()}get hasFlag(){return this.user.muteState.hasAudio&&!this.user.muteState.audioMuted}isFlagChanged(e){let t=e.hasAudio&&!e.audioMuted;return this.hasFlag||(this.volume=0),this.hasFlag!==t}},CL=class extends AL{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),ob(this,\"mediaType\",4),ob(this,\"stat\",{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.videoManager}changeType(e){this.room.changeType(e,this.user)}get hasFlag(){return this.user.muteState.hasVideo&&!this.user.muteState.videoMuted}isFlagChanged(e){let t=e.hasVideo&&!e.videoMuted;return this.hasFlag!==t}},bL=class extends CL{constructor(e,t){super(e,t,2),ob(this,\"mediaType\",2),ob(this,\"objectFit\",\"contain\")}get hasFlag(){return this.user.muteState.hasAuxiliary}isFlagChanged(e){let t=e.hasAuxiliary;return this.hasFlag!==t}};function kL(){}var NL=e=>e(),DL=()=>\"undefined\"!=typeof __FASTRX_DEVTOOLS__,OL=1,wL=class extends Function{toString(){return\"\".concat(this.name,\"(\").concat(this.args.length?[...this.args].join(\", \"):\"\",\")\")}subscribe(e){let t=new xL(e,this,this.streamId++);return UL.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},PL=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=kL,this.error=kL,this.next=kL,this.dispose=kL,this.subscribe=kL,this.doDefer()}subscribe(e){return e instanceof wL?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(NL),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}},LL=class extends PL{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)}};function ML(e,t,i){if(DL()){let n=Object.defineProperties(Object.setPrototypeOf(e,wL.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:i,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});UL.create(n);for(let e=0;e{UL.defer(this.source,this.id)}))}next(e){UL.next(this.source,this.id,e),this.sink.next(e)}complete(){UL.complete(this.source,this.id),this.sink.complete()}error(e){UL.complete(this.source,this.id,e),this.sink.error(e)}},UL={addSource(e,t){VL(\"addSource\",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,i){VL(\"next\",{id:e.id,streamId:t,data:i&&i.toString()})},subscribe(e,t){let{id:i,end:n}=e;VL(\"subscribe\",{id:i,end:n,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,i){VL(\"complete\",{id:e.id,streamId:t,err:i?i.toString():null})},defer(e,t){VL(\"defer\",{id:e.id,streamId:t})},pipe(e){VL(\"pipe\",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){VL(\"update\",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=OL++),VL(\"create\",{name:e.toString(),id:e.id})}},FL=class extends PL{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()}};var BL,HL,jL=(BL=class extends LL{constructor(e,t,i){super(e),this.mapper=t,this.thisArg=i}next(e){super.next(this.mapper.call(this.thisArg,e))}},HL=\"map\",function(){for(var e=arguments.length,t=new Array(e),i=0;i{if(e instanceof wL){let i=ML((n=>{let r=new BL(n,...t);r.sourceId=i.id,r.subscribe(e)}),HL,arguments);return i.source=e,UL.pipe(i),i}return i=>e(new BL(i,...t))}});!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;nt(e)),e)}(function(e){return ML((t=>{let i=0,n=setInterval((()=>t.next(i++)),e);return t.defer((()=>{clearInterval(n)})),\"interval\"}),\"interval\",arguments)}(250),jL((()=>performance.now())),function(){return e=>{let t=new FL(e);if(e instanceof wL){let i=ML((e=>{t.add(e)}),\"share\",arguments);return t.sourceId=i.id,i.source=e,UL.pipe(i),i}return ML(t.add.bind(t),\"share\",arguments)}}());var GL=new Map;function WL(e,t){let i=eb($C({},t),{timestamp:Eb()});GL.has(e)?GL.get(e).push(i):GL.set(e,[i])}xO.on(FO.JOIN_SUCCESS,(e=>{let{room:t}=e;WL(t.userId,{eventId:32788,eventDesc:\"join room\"})})),xO.on(FO.LEAVE_START,(e=>{let{room:t}=e;WL(t.userId,{eventId:32789,eventDesc:\"leave room\"})})),xO.on(FO.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),WL(t.room.userId,{eventId:e,eventDesc:\"publish \".concat(t.kind)})}})),xO.on(FO.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),WL(t.room.userId,{eventId:e,eventDesc:\"unpublish \".concat(t.kind)})}})),xO.on(FO.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===LN.AUDIO?WL(t.room.userId,{eventId:t.isRemote?32785:32772,eventDesc:\"mute audio\",remoteUserId:t.isRemote?t.userId:void 0}):WL(t.room.userId,{eventId:t.isRemote?32784:32773,eventDesc:\"mute video\",remoteUserId:t.isRemote?t.userId:void 0}))})),xO.on(FO.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===LN.AUDIO?WL(t.room.userId,{eventId:t.isRemote?32787:32774,eventDesc:\"unmute audio\",remoteUserId:t.isRemote?t.userId:void 0}):WL(t.room.userId,{eventId:t.isRemote?32786:32775,eventDesc:\"unmute video\",remoteUserId:t.isRemote?t.userId:void 0}))})),xO.on(FO.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;!t.room||(1===t.mediaType&&WL(t.room.userId,{eventId:32777,eventDesc:\"\".concat(LN.SUBSCRIBE,\" \").concat(t.kind),remoteUserId:t.userId}),4===t.mediaType&&WL(t.room.userId,{eventId:32776,eventDesc:\"\".concat(LN.SUBSCRIBE,\" \").concat(t.kind),remoteUserId:t.userId}),8===t.mediaType&&WL(t.room.userId,{eventId:32803,eventDesc:\"\".concat(LN.SUBSCRIBE,\" \").concat(LN.SMALL_VIDEO),remoteUserId:t.userId}))})),xO.on(FO.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;!t.room||(1===t.mediaType&&WL(t.room.userId,{eventId:32779,eventDesc:\"\".concat(LN.UNSUBSCRIBE,\" \").concat(t.kind),remoteUserId:t.userId}),4===t.mediaType&&WL(t.room.userId,{eventId:32778,eventDesc:\"\".concat(LN.UNSUBSCRIBE,\" \").concat(t.kind),remoteUserId:t.userId}),8===t.mediaType&&WL(t.room.userId,{eventId:32804,eventDesc:\"\".concat(LN.UNSUBSCRIBE,\" \").concat(LN.SMALL_VIDEO),remoteUserId:t.userId}))})),xO.on(FO.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&WL(t.room.userId,{eventId:t.kind===LN.VIDEO?32780:32781,eventDesc:\"switch \".concat(t.kind===LN.VIDEO?\"camera\":\"microphone\")})})),xO.on(FO.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&WL(t.room.userId,{eventId:t.kind===LN.VIDEO?32782:32783,eventDesc:\"replace \".concat(t.kind)})})),xO.on(FO.SIGNAL_CONNECTION_STATE_CHANGED,(e=>{let t,i,{room:n,prevState:r,state:o}=e;switch(o){case\"CONNECTED\":\"RECONNECTING\"===r?(t=32795,i=\"signal reconnected\"):(t=32791,i=\"signal connected\");break;case\"DISCONNECTED\":\"RECONNECTING\"===r?(t=32796,i=\"signal reconnect fail\"):(t=32790,i=\"signal disconnected\");break;case\"RECONNECTING\":t=32794,i=\"signal reconnecting\"}t&&i&&WL(n.userId,{eventId:t,eventDesc:i})})),xO.on(FO.PEER_CONNECTION_STATE_CHANGED,(e=>{let t,i,{room:n,prevState:r,state:o,remoteUserId:s}=e,a=!!s,c=a?\"downlink\":\"uplink\";switch(o){case\"CONNECTED\":\"RECONNECTING\"===r?(t=a?32801:32798,i=\"\".concat(c,\" reconnected\")):(t=a?32793:32792,i=\"\".concat(c,\" connected\"));break;case\"DISCONNECTED\":\"RECONNECTING\"===r&&(t=a?32802:32799,i=\"\".concat(c,\" reconnect fail\"));break;case\"RECONNECTING\":t=a?32800:32797,i=\"\".concat(c,\" reconnecting\")}t&&i&&WL(n.userId,{eventId:t,eventDesc:i,remoteUserId:s})}));var JL=nb(cb(),1),KL=class extends JL.EventEmitter{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"userId\";super(),this.mySelfId=e,this._log=t,this.key=i,ob(this,\"userMap\",new Map),ob(this,\"remotePublishedUserMap\",new Map)}getPublishedUser(e){return this.remotePublishedUserMap.get(e)}addUser(e){let t=e[this.key],{userId:i,tinyId:n,role:r}=e;if(this.userMap.has(t))return;let o={userId:i,tinyId:n,role:20===r?\"anchor\":\"audience\"};this.userMap.set(t,o),this.emit(\"1\",o)}deleteUser(e,t){let i=this.userMap.get(e);if(!i)return;let n=\"peer leave [\".concat(e,\"]\");nO(t)||(n+=\":\".concat(ND[t])),this._log.info(n);let r=this.remotePublishedUserMap.get(e);if(r){let t=r.muteState;r.flag=0,this.emit(\"5\",r.userId),this.deleteRemotePublishedUser(e),this.emit(\"6\",{prevMuteState:t,muteState:r.muteState,flag:0})}this.userMap.delete(e),this.emit(\"2\",i.userId)}setUserList(e){this.userMap.forEach((t=>{e.findIndex((e=>e[this.key]===t[this.key]))<0&&this.deleteUser(t[this.key],0)})),e.forEach((e=>{!this.userMap.has(e[this.key])&&e[this.key]!==this.mySelfId&&this.addUser(e)}))}addRemotePublishedUser(e){this.remotePublishedUserMap.has(e[this.key])||this.remotePublishedUserMap.set(e[this.key],e)}deleteRemotePublishedUser(e){!this.remotePublishedUserMap.has(e)||this.remotePublishedUserMap.delete(e)}setRemotePublishedUserList(e){this.remotePublishedUserMap.forEach((t=>{let i=t[this.key];if(e.findIndex((e=>e[this.key]===t[this.key]))<0){this._log.info(\"remote [\".concat(i,\"] unpublish\"));let e=t.muteState;t.flag=0,this.emit(\"5\",t.userId),this.deleteRemotePublishedUser(i),this.emit(\"6\",{prevMuteState:e,muteState:t.muteState,flag:0})}})),e.forEach((e=>{var t;let i=e[this.key];if(i===this.mySelfId)return;let{flag:n,userId:r,tinyId:o}=e,s=IO(n,r),a=null==(t=this.remotePublishedUserMap.get(i))?void 0:t.muteState;if(a){let e=this.remotePublishedUserMap.get(i);e&&e.flag!==n&&(e.flag=n,this._log.info(\"remote publish updated: \".concat(JSON.stringify(e.muteState))),this.emit(\"6\",{prevMuteState:a,muteState:s,flag:n}))}else this._log.info(\"remote publish. state: \".concat(JSON.stringify(s))),this.addUser({userId:r,tinyId:o,role:20}),this.emit(\"3\",e),this.emit(\"6\",{prevMuteState:IO(0,r),muteState:s,flag:n})}))}clear(){this.userMap.clear(),this.remotePublishedUserMap.clear()}};var YL,zL=!0,qL={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\"},QL={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},XL=((YL=XL||{})[YL.INVALID_PARAMETER=5e3]=\"INVALID_PARAMETER\",YL[YL.INVALID_PARAMETER_REQUIRED=5001]=\"INVALID_PARAMETER_REQUIRED\",YL[YL.INVALID_PARAMETER_TYPE=5002]=\"INVALID_PARAMETER_TYPE\",YL[YL.INVALID_PARAMETER_EMPTY=5003]=\"INVALID_PARAMETER_EMPTY\",YL[YL.INVALID_PARAMETER_INSTANCE=5004]=\"INVALID_PARAMETER_INSTANCE\",YL[YL.INVALID_PARAMETER_RANGE=5005]=\"INVALID_PARAMETER_RANGE\",YL[YL.INVALID_PARAMETER_LESS_THAN_ZERO=5006]=\"INVALID_PARAMETER_LESS_THAN_ZERO\",YL[YL.INVALID_PARAMETER_MIN=5007]=\"INVALID_PARAMETER_MIN\",YL[YL.INVALID_PARAMETER_MAX=5008]=\"INVALID_PARAMETER_MAX\",YL[YL.INVALID_ELEMENT_ID=5009]=\"INVALID_ELEMENT_ID\",YL[YL.INVALID_ELEMENT_ID_TYPE=5010]=\"INVALID_ELEMENT_ID_TYPE\",YL[YL.INVALID_STREAM_ID=5011]=\"INVALID_STREAM_ID\",YL[YL.INVALID_ROOM_ID_STRING=5012]=\"INVALID_ROOM_ID_STRING\",YL[YL.INVALID_ROOM_ID_INTEGER=5013]=\"INVALID_ROOM_ID_INTEGER\",YL[YL.INVALID_STREAM_TYPE=5014]=\"INVALID_STREAM_TYPE\",YL[YL.INVALID_ROOM_ID_REQUIED=5015]=\"INVALID_ROOM_ID_REQUIED\",YL[YL.INVALID_ROOM_ID_INTEGER_STRING=5016]=\"INVALID_ROOM_ID_INTEGER_STRING\",YL[YL.INVALID_OPERATION=5100]=\"INVALID_OPERATION\",YL[YL.INVALID_OPERATION_NOT_JOINED=5101]=\"INVALID_OPERATION_NOT_JOINED\",YL[YL.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]=\"INVALID_OPERATION_REMOTE_USER_NOT_EXIST\",YL[YL.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]=\"INVALID_OPERATION_STREAM_TYPE_NOT_EXIST\",YL[YL.INVALID_OPERATION_REPEAT_CALL=5104]=\"INVALID_OPERATION_REPEAT_CALL\",YL[YL.ENV_NOT_SUPPORTED=5200]=\"ENV_NOT_SUPPORTED\",YL[YL.NOT_SUPPORTED_HTTP=5201]=\"NOT_SUPPORTED_HTTP\",YL[YL.NOT_SUPPORTED_WEBRTC=5202]=\"NOT_SUPPORTED_WEBRTC\",YL[YL.NOT_SUPPORTED_H264_ENCODE=5203]=\"NOT_SUPPORTED_H264_ENCODE\",YL[YL.NOT_SUPPORTED_H264_DECODE=5204]=\"NOT_SUPPORTED_H264_DECODE\",YL[YL.NOT_SUPPORTED_SCREEN_SHARE=5205]=\"NOT_SUPPORTED_SCREEN_SHARE\",YL[YL.NOT_SUPPORTED_SMALL_VIDEO=5206]=\"NOT_SUPPORTED_SMALL_VIDEO\",YL[YL.NOT_SUPPORTED_SEI=5207]=\"NOT_SUPPORTED_SEI\",YL[YL.DEVICE_ERROR=5300]=\"DEVICE_ERROR\",YL[YL.DEVICE_NOT_FOUND_ERROR=5301]=\"DEVICE_NOT_FOUND_ERROR\",YL[YL.DEVICE_NOT_ALLOWED_ERROR=5302]=\"DEVICE_NOT_ALLOWED_ERROR\",YL[YL.DEVICE_NOT_READABLE_ERROR=5303]=\"DEVICE_NOT_READABLE_ERROR\",YL[YL.DEVICE_OVERCONSTRAINED_ERROR=5304]=\"DEVICE_OVERCONSTRAINED_ERROR\",YL[YL.DEVICE_INVALID_STATE_ERROR=5305]=\"DEVICE_INVALID_STATE_ERROR\",YL[YL.DEVICE_SECURITY_ERROR=5306]=\"DEVICE_SECURITY_ERROR\",YL[YL.DEVICE_ABORT_ERROR=5307]=\"DEVICE_ABORT_ERROR\",YL[YL.CAMERA_RECOVER_FAILED=5308]=\"CAMERA_RECOVER_FAILED\",YL[YL.MICROPHONE_RECOVER_FAILED=5309]=\"MICROPHONE_RECOVER_FAILED\",YL[YL.SERVER_ERROR=5400]=\"SERVER_ERROR\",YL[YL.ACCOUNT_NO_MONEY=-100013]=\"ACCOUNT_NO_MONEY\",YL[YL.OPERATION_FAILED=5500]=\"OPERATION_FAILED\",YL[YL.FIREWALL_RESTRICTION=5501]=\"FIREWALL_RESTRICTION\",YL[YL.REJOIN_FAILED=5502]=\"REJOIN_FAILED\",YL[YL.EVENT_HANDLER_ERROR=5503]=\"EVENT_HANDLER_ERROR\",YL[YL.VIDEO_CONTEXT_ERROR=5504]=\"VIDEO_CONTEXT_ERROR\",YL[YL.OPERATION_ABORT=5998]=\"OPERATION_ABORT\",YL[YL.UNKNOWN_ERROR=5999]=\"UNKNOWN_ERROR\",YL);var ZL=eb($C({},KO),{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:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' is a required param when calling \").concat(n,\"(), received: \").concat(r,\".\")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:i,fnName:n,value:r}=e,o=\"\".concat(t||i.name),s=\"\";return s=Array.isArray(i.type)?i.type.join(\"|\"):i.type,\"'\".concat(o,\"' must be type of \").concat(s,\" when calling \").concat(n,\"(), received type: \").concat(tO(r),\".\")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' cannot be '\").concat(r,\"' when calling \").concat(n,\"().\")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:i,fnName:n,value:r}=e,o=\"\".concat(t||i.name),s=\"\".concat(i.instanceOf.name||i.instanceOf);return\"'\".concat(o,\"' must be instanceof \").concat(s,\" when calling \").concat(n,\"(), received type: \").concat(tO(r),\".\")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' must be one of \").concat(i.values.join(\"|\"),\" when calling \").concat(n,\"(), received: \").concat(r,\".\")},INVALID_PARAMETER_LESS_THAN_ZERO(e){let{key:t,rule:i,fnName:n}=e;return\"'\".concat(t||i.name,\"' cannot be less than 0 when calling \").concat(n,\"().\")},INVALID_PARAMETER_MIN(e){let{key:t,rule:i,value:n}=e;return\"the min value of \".concat(t||i.name,\" is \").concat(i.min,\", received: \").concat(n,\".\")},INVALID_PARAMETER_MAX(e){let{key:t,rule:i,value:n}=e;return\"the max value of \".concat(t||i.name,\" is \").concat(i.max,\", received: \").concat(n,\".\")},INVALID_ELEMENT_ID(e){let{key:t,fnName:i}=e;return\"'\".concat(t,\"' is not found in the document object when calling \").concat(i,\"().\")},INVALID_ELEMENT_ID_TYPE(e){let{key:t,fnName:i,type:n}=e;return\"the element corresponding to '\".concat(t,\"' must be instanceof HTMLElement when calling \").concat(i,\"(), received: \").concat(n,\".\")},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_REQUIED:()=>\"at least one of 'roomId'(between [1, 4294967294]) and 'strRoomId'(not empty) is required.\",INVALID_STREAM_TYPE:e=>{let{fnName:t}=e;return\"'streamType' is required when 'userId' is not '*', calling \".concat(t,\"()\")},MIX_PARAMS_USER_Z_ORDER(e){let{key:t}=e;return\"'\".concat(t,\"' is required and must be between 1 and 15.\")},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_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_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:i}=e;return\"cannot \".concat(t,\" because remote user(userId: \").concat(i.userId,\") does not publishing stream.\")},INVALID_OPERATION_STREAM_TYPE_NOT_EXIST(e){let{fnName:t,value:i}=e;return\"cannot \".concat(t,\" because remote user(userId: \").concat(i.userId,\") does not publishing \").concat(i.streamType,\" video.\")},INVALID_OPERATION_REPEAT_CALL(e){let{fnName:t}=e;return\"you are already \".concat(t,\"(), cannot repeated call '\").concat(t,\"'.\")},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.\",DEVICE_ERROR(e){let{fnName:t,error:i}=e;return\"'\".concat(t,\"' got device exception\").concat(i?\", error: \".concat(i.toString(),\".\"):\".\")},DEVICE_NOT_FOUND_ERROR(e){let{fnName:t,deviceType:i=$L(t),error:n}=e;return\"NotFoundError, no \".concat(i,\" detected, please check your device and the configuration on '\").concat(t,\"'\").concat(n?\", error: \".concat(n.toString(),\".\"):\".\")},DEVICE_NOT_ALLOWED_ERROR(e){let{fnName:t,deviceType:i=$L(t),error:n}=e;return\"NotAllowedError, you have disabled \".concat(i,\" access, please allow the current application to use the \").concat(i).concat(n?\", error: \".concat(n.toString(),\".\"):\".\")},DEVICE_NOT_READABLE_ERROR(e){let{fnName:t,deviceType:i=$L(t),error:n}=e;return\"NotReadableError, the \".concat(i,\" 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:i=$L(t),error:n}=e;return\"OverconstrainedError, the device ID is incorrect, please check whether the device ID passed in is correct\".concat(n?\", error: \".concat(n.toString(),\".\"):\".\")},DEVICE_INVALID_STATE_ERROR(e){let{fnName:t,deviceType:i=$L(t),error:n}=e;return\"InvalidStateError, after the user clicks and interacts with the page, turn on the \".concat(i).concat(n?\", error: \".concat(n.toString(),\".\"):\".\")},DEVICE_SECURITY_ERROR(e){let{fnName:t,deviceType:i=$L(t),error:n}=e;return\"SecurityError, check whether the system security policy restricts the use of the \".concat(i,\", and it is recommended to turn on the \").concat(i,\" after the user interacts with the page\").concat(n?\", error: \".concat(n.toString(),\".\"):\".\")},DEVICE_ABORT_ERROR(e){let{fnName:t,deviceType:i=$L(t),error:n}=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(n?\" error: \".concat(n.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:i}=e;return\"'\".concat(t,\"' failed, reason: \").concat(null==i?void 0:i.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:i}=e;return\"video context error \".concat(t,\" \").concat((null==i?void 0:i.name)||\"\",\" \").concat((null==i?void 0:i.message)||\"\")},SERVER_ERROR(e){let{fnName:t,error:i}=e;return\"'\".concat(t,\"' got server error: \").concat(null==i?void 0:i.toString(),\", please check the SDK documentation.\")},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:i}=e;return\"'\".concat(t,\"' throw unknown exception\").concat(i?\", error: \".concat(i.toString(),\".\"):\".\")}});function $L(e){if(!e)return\"camera\";let t=e.toLowerCase();return t.includes(\"screen\")?\"screen share\":t.includes(\"audio\")?\"microphone\":\"camera\"}var eM=class extends Error{constructor(e){let{code:t,extraCode:i,message:n=\"\",messageParams:r,fnName:o=\"\",originError:s}=e;var a;let c;c=n||function(e){let t,{code:i,params:n,enableDocLink:r=!1}=e,s=\"\",a=XL[i];try{t=ZL[a]}catch(o){t=ZL.UNKNOWN_ERROR}return iO(t)?s=t(n):rO(t)&&(s=t),r&&(s+=\" doc:\"),s}({code:i||t,params:$C({fnName:o,error:s},r)}),super(c),ob(this,\"name\",\"RtcError\"),ob(this,\"code\"),ob(this,\"extraCode\"),ob(this,\"functionName\"),ob(this,\"message\"),ob(this,\"handler\"),ob(this,\"originError\"),this.name=XL[t],this.code=t,this.extraCode=i,this.functionName=o,this.originError=s,this.message=c,5302===this.extraCode&&(null==(a=this.originError)?void 0:a.message.includes(\"system\"))&&(this.handler=()=>{let e=document.createElement(\"a\");_k?e.href=\"ms-settings:privacy-\".concat({startLocalVideo:\"webcam\",startLocalAudio:\"microphone\"}[this.functionName]):mk&&(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(e,t,i){let n=e;if(e instanceof gb){let{stack:r}=e,o={code:QL.UNKNOWN_ERROR,fnName:t,originError:e};switch(e.getCode()){case mb.INVALID_PARAMETER:o.code=QL.INVALID_PARAMETER;break;case mb.INVALID_OPERATION:o.code=QL.INVALID_OPERATION;break;case mb.NOT_SUPPORTED:case mb.NOT_SUPPORTED_H264:o.code=QL.ENV_NOT_SUPPORTED,e.getCode()===mb.NOT_SUPPORTED_H264&&(o.extraCode=e.message.includes(KO.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case mb.DEVICE_NOT_FOUND:case mb.DEVICE_AUTO_RECOVER_FAILED:o.code=QL.DEVICE_ERROR;break;case mb.JOIN_ROOM_FAILED:o.messageParams={fnParams:i};case mb.SERVER_TIMEOUT:case mb.SWITCH_ROLE_FAILED:o.code=QL.SERVER_ERROR,o.extraCode=e.getExtraCode();break;case mb.API_CALL_ABORTED:o.code=QL.OPERATION_ABORT;break;case mb.INITIALIZE_FAILED:o.code=5300,o.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}(e.name);break;case mb.UNKNOWN:break;default:o.code=QL.OPERATION_FAILED}n=new eM(o),r&&(n.stack+=r.substr(r.indexOf(\"\\n\")))}else n=new eM({code:QL.UNKNOWN_ERROR,fnName:t,originError:e});return n}};var tM=eM,iM={type:\"object\",properties:{cameraId:{type:\"string\"},useFrontCamera:{type:\"boolean\"},fillMode:{type:\"string\",values:[\"contain\",\"cover\",\"fill\"]},mirror:{type:\"boolean\"},small:{properties:{width:{type:\"number\"},height:{type:\"number\"},frameRate:{type:\"number\"},bitrate:{type:\"number\"}}},videoTrack:{instanceOf:MediaStreamTrack}}},nM={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}}},rM={type:[\"string\",HTMLElement,null,\"array\"],arrayItem:{instanceOf:HTMLElement},validate(e,t,i){if(rO(e)){let n=document.getElementById(e);if(!n)throw new tM({code:QL.INVALID_PARAMETER,extraCode:5009,fnName:i,messageParams:{key:t}});if(!(n instanceof HTMLElement))throw new tM({code:QL.INVALID_PARAMETER,extraCode:5010,fnName:i,messageParams:{key:t,type:tO(n)}})}}},oM={name:\"userId\",required:!0,type:\"string\"},sM={type:\"object\",properties:{microphoneId:{type:\"string\"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:\"number\",min:0},earMonitorVolume:{type:\"number\",min:0,max:100},echoCancellation:{type:\"boolean\"},autoGainControl:{type:\"boolean\"},noiseSuppression:{type:\"boolean\"}}};function aM(e,t){if(!e)throw new tM({code:QL.INVALID_OPERATION,extraCode:5101,fnName:t})}function cM(e,t,i){if(!e)throw new tM({code:QL.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:i}})}var lM={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,i){if(this._room.isJoined)throw new tM({code:QL.INVALID_OPERATION,extraCode:5104,fnName:i});if(e.roomId){if(rO(e.roomId))throw new tM({code:QL.INVALID_PARAMETER,extraCode:5016,fnName:i,messageParams:{key:t}});if(!(/^[1-9]\\d*$/.test(String(e.roomId))&&e.roomId<4294967295))throw new tM({code:QL.INVALID_PARAMETER,extraCode:5013,fnName:i,messageParams:{key:t}})}else{if(!e.strRoomId)throw new tM({code:QL.INVALID_PARAMETER,extraCode:5015,fnName:i});if(!/^[A-Za-z\\d\\s!#$%&()+\\-:;<=.>?@[\\]^_{}|~,]{1,64}$/.test(e.strRoomId))throw new tM({code:QL.INVALID_PARAMETER,extraCode:5012,fnName:i,messageParams:{key: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\"}}},startLocalVideo:{name:\"LocalVideoConfig\",type:\"object\",properties:{view:rM,publish:{type:\"boolean\"},option:iM},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&nw())throw new tM({code:QL.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalVideo:{name:\"updateLocalVideoConfig\",type:\"object\",required:!0,properties:{view:eb($C({},rM),{required:!1}),publish:{type:\"boolean\"},mute:{type:\"boolean\"},option:iM}},startLocalAudio:{name:\"LocalAudioConfig\",type:\"object\",properties:{publish:{type:\"boolean\"},option:sM},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&nw())throw new tM({code:QL.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:\"updateLocalAudioConfig\",type:\"object\",required:!0,properties:{publish:{type:\"boolean\"},mute:{type:\"boolean\"},option:sM}},startScreenShare:{name:\"ScreenShareConfig\",type:\"object\",properties:{view:rM,publish:{type:\"boolean\"},option:nM},validate(e,t,i,n,r){var o;if((null==(o=null==e?void 0:e.option)||!o.videoTrack)&&nw())throw new tM({code:QL.ENV_NOT_SUPPORTED,extraCode:5201});if(!lw())throw new tM({code:QL.ENV_NOT_SUPPORTED,fnName:i,extraCode:5205})}},updateScreenShare:{name:\"updateScreenShareConfig\",type:\"object\",required:!0,properties:{view:rM,publish:{type:\"boolean\"},option:nM}},muteRemoteAudio:[oM,{name:\"mute\",required:!0,type:\"boolean\"}],setRemoteAudioVolume:[oM,{name:\"volume\",required:!0,type:\"number\",min:0}],startRemoteVideo:{name:\"startRemoteVideoConfig\",type:\"object\",required:!0,properties:{view:rM,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,i){aM(this._room.isJoined,i);let n=this._room.remotePublishedUserMap.get(e.userId);if(cM(!!n,i,e),n&&(\"main\"===e.streamType&&!n.muteState.videoAvailable||\"sub\"===e.streamType&&!n.muteState.hasAuxiliary))throw new tM({code:QL.INVALID_OPERATION,extraCode:5103,fnName:i,messageParams:{value:e}})}},updateRemoteVideo:{name:\"updateRemoteVideoConfig\",type:\"object\",required:!0,properties:{view:eb($C({},rM),{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,i){aM(this._room.isJoined,i);let n=this._room.remotePublishedUserMap.get(e.userId);if(cM(!!n,i,e),n&&(\"main\"===e.streamType&&!n.muteState.videoAvailable||\"sub\"===e.streamType&&!n.muteState.hasAuxiliary))throw new tM({code:QL.INVALID_OPERATION,extraCode:5103,fnName:i,messageParams:{value:e}})}},stopRemoteVideo:{name:\"stopRemoteVideoConfig\",type:\"object\",required:!0,properties:{userId:{type:\"string\",required:!0},streamType:{values:[\"main\",\"sub\"]}},validate(e,t,i){if(\"*\"!==e.userId&&nO(e.streamType))throw new tM({code:QL.INVALID_PARAMETER,extraCode:5014,fnName:i})}},switchRole:{name:\"role\",required:!0,values:[\"anchor\",\"audience\"],validate(e,t,i){aM(this._room.isJoined,i)}},enableAudioVolumeEvaluation:[{name:\"interval\",type:\"number\"},{name:\"enableInBackground\",type:\"boolean\"}],sendSEIMessage:[{name:\"buffer\",required:!0,instanceOf:ArrayBuffer,validate(e,t,i,n){if(!kw)throw new tM({code:QL.ENV_NOT_SUPPORTED,fnName:i,extraCode:5207});if(!this._room.enableSEI)throw new tM({code:QL.INVALID_OPERATION,messageParams:{key:JO.SEI_DISABLED}});if(e.byteLength>1e3)throw new tM({code:QL.INVALID_PARAMETER,messageParams:{key:JO.SEI_OVERSIZE,data:e.byteLength}});if(0===e.byteLength)throw new tM({code:QL.INVALID_PARAMETER,messageParams:{key:JO.SEI_EMPTY}});if(aM(this._room.isJoined,i),!this._room.isMainStreamPublished)throw new tM({code:QL.INVALID_PARAMETER,messageParams:{key:JO.SEI_BEFORE_PUBLISH}})}},{name:\"options\",type:\"object\",properties:{seiPayloadType:{type:\"number\",values:[5,243]}}}]},dM={TRTC:lM},uM=class extends Error{};function hM(e,t){let i=[];return CO(i,e),CO(i,t),i}function pM(e){this._resolve=Promise.resolve(e)}function _M(e){this._reject=Promise.reject(e)}var mM=class{constructor(e,t){this.instance=e,this.group=t,this.started=!1,this.ops=[],this.startSame=()=>!0,this.mergeUpdate=hM;let i=mM.instances.get(e);i?i.set(t,this):mM.instances.set(e,new Map([[t,this]]))}static get(e,t){let i=mM.instances.get(e);return i&&i.get(t)||new mM(e,t)}action(e,t,i){let n=t=>{var i;return 0===e?this.started=!0:3===e&&(this.started=!1),this.ops.shift(),null==(i=this.currentOp)||i.action(),t},r=t=>{var i,n;throw this.ops.shift(),0===e&&2===(null==(i=this.currentOp)?void 0:i.type)&&this.ops.shift().reject(new uM(\"start failed\")),null==(n=this.currentOp)||n.action(),t},o={type:e,action:()=>t(...o.args).then(n,r),args:i,resolve:pM,reject:_M};try{switch(this.state){case 1:if(0===e)throw new uM(\"already started\");break;case 4:if(2===e)throw new uM(\"not started\");break;default:return this.cacheOp(o)}}catch(qx){return Promise.reject(qx)}return this.ops.push(o),o.promise=t(...o.args).then(n,r)}cacheOp(e){if(1===this.ops.length)switch(this.state){case 0:case 2:if(0===e.type)throw new uM(\"already start\");break;case 3:switch(e.type){case 2:throw new uM(\"update not allowed when stopping\");case 3:return this.currentOp.promise}break;default:throw new uM(\"unknown state\")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new uM(\"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 uM(\"update not allowed after stop\")}break;case 0:switch(this.lastOpType){case 2:throw new uM(\"start not allowed after update\");case 0:throw new uM(\"duplicate start\");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new uM(\"keep start\")),new uM(\"already start\")}}e.promise=new Promise(((t,i)=>{e._resolve?e._resolve.then(t):e.resolve=t,e._reject?e._reject.catch(i):e.reject=i}));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}},fM=mM;fM.instances=new WeakMap;var gM=new WeakMap,TM=(e,t)=>{if(t instanceof uM){let{stack:i}=t;t=new tM({code:QL.OPERATION_ABORT,message:\"\".concat(e,\" abort: \").concat(t.message),fnName:e}),i&&(t.stack+=i.substr(i.indexOf(\"\\n\")))}throw t};function EM(e,t){return iL(((i,n)=>function(){for(var r=arguments.length,o=new Array(r),s=0;sfunction(){for(var o=arguments.length,s=new Array(o),a=0;a{var a,l;let d=null==(a=gM.get(this))?void 0:a.get(i(...s));if(d){let{timeoutId:e,resolve:t}=d;clearTimeout(e),t()}let u=setTimeout((()=>{if(3===c.state||4===c.state)return n();c.action(2,t.bind(this),s).catch(TM.bind(null,r)).then(n,o)}),e);gM.has(this)?null==(l=gM.get(this))||l.set(i(...s),{timeoutId:u,resolve:n}):gM.set(this,new Map([[i(...s),{timeoutId:u,resolve:n}]]))}))}return c.action(2,t.bind(this),s).catch(TM.bind(null,r))}))}function IM(e){return iL(((t,i)=>function(){for(var n=arguments.length,r=new Array(n),o=0;o{t.startsWith(n)&&(e.started=!1)}))}}}var RM=new WeakMap;function CM(){for(var e=arguments.length,t=new Array(e),i=0;ifunction(){for(var n=arguments.length,r=new Array(n),o=0;ofunction(){for(var n=arguments.length,r=new Array(n),o=0;ohO(e)?pO(e):rO(e)?e:tO(e)))},value:i}})}else if(!nO(t.type)&&tO(i)!==t.type)throw new tM(s(5002));if(!1===t.allowEmpty){let e=oO(i)&&(0===i||Number.isNaN(i)),t=rO(i)&&\"\"===i.trim();if(e||t)throw new tM(s(5003))}if(t.notLessThanZero&&oO(i)&&i<0)throw new tM(s(5006));if(!nO(t.min)&&oO(i)&&it.max)throw new tM(s(5008));if(rO(t.instanceOf)){if(!i||i._name!==t.instanceOf)throw new tM(s(5004))}else if(iO(t.instanceOf)&&!(i instanceof t.instanceOf))throw new tM(s(5004));if(Array.isArray(t.values)&&!t.values.includes(i))throw new tM(s(5005));let{properties:a}=t;ZD(a)&&aO(i)&&Object.keys(a).forEach((e=>{NM.call(this,{rule:a[e],value:i&&i[e],key:\"\".concat(e),fnName:r,className:o})}));let{arrayItem:c}=t;ZD(c)&&cO(i)&&i.forEach(((e,t)=>{NM.call(this,{rule:c,value:e,key:\"\".concat(n,\"[\").concat(t,\"]\"),fnName:r,className:o})})),iO(t.validate)&&t.validate.call(this,i,n,r,o,this)}function DM(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{namePrefix:t=(()=>\"\"),getRemoteId:i=(()=>\"\")}=e;return iL(((e,n)=>function(){for(var r=arguments.length,o=new Array(r),s=0;s0?c.info(\"\".concat(d,\"() \").concat(JSON.stringify(o,((e,t)=>a(e,t,[\"userSig\",\"privateMapKey\"]))))):c.info(\"\".concat(d,\"()\"));try{let t=e.apply(this,o),n=fO();return uO(t)?t.then((e=>(c.info(\"\".concat(d,\"() success \").concat(i.call(this,...o))),xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:d,cost:fO()-n}),e))).catch((e=>{throw e=tM.convertFrom.call(this,e,d,1===o.length?o[0]:o),c.error(\"\".concat(d,\"() failed \").concat(i.call(this,...o),\" \").concat(e,\" params: \").concat(JSON.stringify(o,a))),xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:d,error:e}),e})):(xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:d,cost:fO()-n}),t)}catch(u){throw u=tM.convertFrom.call(this,u,d),c.error(\"\".concat(d,\"() failed \").concat(u,\" params: \").concat(JSON.stringify(o,a))),xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:d,error:u}),u}}))}var OM=e=>iL(((t,i)=>function(n,r){return ab(this,null,(function*(){let o=this._plugins.get(n);if(o)return kM.call(this,o.getValidateRule(e),[r],i,\"TRTC\"),t.call(this,o,r);this._log.warn(\"plugin \".concat(n,\" is not found\"))}))})),wM=0,PM=class{constructor(e){this.core=e,ob(this,\"log\"),wM+=1,this.log=e.log.createChild({id:\"\".concat(this.getAlias()).concat(wM)}),this.log.info(\"[audioMixer] created id=\".concat(this.getAlias()).concat(wM)),this.core=e}getName(){return\"AudioMixer\"}getAlias(){return\"ax\"}getGroup(e){return null==e?void 0:e.id}getValidateRule(e){switch(e){case\"start\":return PM.startValidateRule;case\"update\":return PM.updateValidateRule;case\"stop\":return PM.stopValidateRule}}start(e){return ab(this,null,(function*(){let{room:t}=this.core;yield t.audioManager.addMusicSource(e)}))}update(e){return ab(this,null,(function*(){let{room:t}=this.core;yield t.audioManager.updateMusicSource(e)}))}stop(e){return ab(this,null,(function*(){let{room:t}=this.core;yield t.audioManager.removeMusicSource(e)}))}},LM=PM;ob(LM,\"startValidateRule\",{name:\"options\",required:!0,type:\"object\",properties:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0},loop:{type:\"boolean\"},volume:{type:\"number\"}},validate(e,t,i){if(\"*\"!==e.url){let t=[\"mp3\",\"ogg\",\"wav\",\"flac\"],n=e.url.split(\".\").pop(),r=t.indexOf(n)>=0,o=e.url.startsWith(\"blob\"),s=e.url.startsWith(\"data\");if(!(r||o||s))throw new tM({code:QL.INVALID_PARAMETER,message:\"start audioMixer plugin: music url is invalid, please check your file format.\",fnName:i})}}}),ob(LM,\"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\"]}}}),ob(LM,\"stopValidateRule\",{name:\"options\",type:\"object\",required:!0,properties:{id:{type:\"string\",required:!0}}});var MM=0,VM=class{constructor(e){this.core=e,ob(this,\"log\"),MM+=1,this.log=e.log.createChild({id:\"\".concat(this.getAlias()).concat(MM)}),this.log.info(\"[audioDenoiser] created id=\".concat(this.getAlias()).concat(MM))}getName(){return\"AIDenoiser\"}getAlias(){return\"ad\"}getGroup(e){return\"AIDenoiser_\".concat(Date.now())}getValidateRule(e){switch(e){case\"start\":return VM.startValidateRule;case\"update\":return VM.updateValidateRule;case\"stop\":return VM.stopValidateRule}}start(e){return ab(this,null,(function*(){let{room:t}=this.core,{assetsPath:i,sdkAppId:n,userId:r,userSig:o}=e;if(i&&!t.audioManager.isDenoiserInit)try{yield t.audioManager.initDenoiser({assetsPath:i,sdkAppId:n,userId:r,userSig:o})}catch(qx){if(qx.message)throw new gb({code:mb.INVALID_PARAMETER,message:qx.message})}yield t.audioManager.enableDenoiser(e),t.sendAbilityStatus({ai_denoise:1})}))}update(e){return ab(this,null,(function*(){}))}stop(e){return ab(this,null,(function*(){let{room:e}=this.core;yield e.audioManager.disableDenoiser()}))}},xM=VM;ob(xM,\"startValidateRule\",{name:\"options\",required:!0,type:\"object\",properties:{assetsPath:{type:\"string\",required:!0},sdkAppId:{type:\"number\",required:!0},userId:{type:\"string\",required:!0},userSig:{type:\"string\",required:!0}}}),ob(xM,\"updateValidateRule\",{type:\"object\"}),ob(xM,\"stopValidateRule\",{type:\"object\"});var UM=0,FM=new Set,BM=null;oN(\"5.2.1\");var HM=class extends pb.EventEmitter{constructor(e,t){super(),ob(this,\"_room\"),ob(this,\"_eventListened\",new Set),ob(this,\"_localVideoTrack\",null),ob(this,\"_localAudioTrack\",null),ob(this,\"_localScreenTrack\",null),ob(this,\"_localScreenAudioTrack\",null),ob(this,\"_localVideoConfig\",null),ob(this,\"_localScreenConfig\",null),ob(this,\"_localAudioConfig\",null),ob(this,\"_remoteVideoConfigMap\",new Map),ob(this,\"_remoteAudioConfigMap\",new Map),ob(this,\"_remoteAudioMuteMap\",new Map),ob(this,\"_log\",HO.createLogger({id:\"t\".concat(++UM)})),ob(this,\"_plugins\",new Map),ob(this,\"_networkQuality\",null),this._room=new e($C({logger:this._log,frameWorkType:HM.frameWorkType},t)),t.plugins&&t.plugins.forEach((e=>{let t=new e(AM(this._room));this._plugins.set(t.getName(),t)}));let i=new LM(AM(this._room));this._plugins.set(i.getName(),i);let n=new xM(AM(this._room));this._plugins.set(n.getName(),n),this._room.on(\"audio-volume\",(e=>{!e.find((e=>\"\"===e.userId))&&this._localAudioTrack&&e.push({userId:\"\",volume:Math.floor(100*this._localAudioTrack.getAudioLevel())}),this.emit(vM.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on(\"error\",(e=>{let{reason:t,error:i}=e;this._log.error(new tM({code:QL.OPERATION_FAILED,extraCode:5504,messageParams:{reason:t,error:i}}))})),this.on(vM.REMOTE_AUDIO_UNAVAILABLE,(e=>{let{userId:t}=e;this._stopRemoteAudio({userId:t},!1).catch((()=>{}))})),this.on(vM.REMOTE_VIDEO_UNAVAILABLE,(e=>{let{userId:t,streamType:i}=e;this._stopRemoteVideo({userId:t,streamType:i},!1).catch((()=>{}))})),SP(jP,jP).add(\"audioInputAdded\",(e=>{this.emit(vM.DEVICE_CHANGED,{type:\"microphone\",action:\"add\",device:e})})).add(\"audioInputRemoved\",(e=>{this.emit(vM.DEVICE_CHANGED,{type:\"microphone\",action:\"remove\",device:e})})).add(\"videoInputAdded\",(e=>{this.emit(vM.DEVICE_CHANGED,{type:\"camera\",action:\"add\",device:e})})).add(\"videoInputRemoved\",(e=>{this.emit(vM.DEVICE_CHANGED,{type:\"camera\",action:\"remove\",device:e})})).add(\"audioOutputAdded\",(e=>ab(this,null,(function*(){if(this.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"add\",device:e}),BM&&BM.deviceId===CD){let e=(yield KP()).find((e=>e.deviceId===CD));e&&BM.groupId!==e.groupId&&(BM=e,this.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"active\",device:e}))}})))).add(\"audioOutputRemoved\",(e=>ab(this,null,(function*(){this.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"remove\",device:e});let t=(yield KP())[0];t&&BM&&(BM.deviceId===e.deviceId||BM.deviceId===CD&&BM.groupId!==t.groupId)&&(BM=t,this.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"active\",device:t}))})))),((e,t)=>{let{emit:n}=e;e.emit=function(){for(var r=arguments.length,o=new Array(r),s=0;s{if(e){let t=\"UAData: \".concat(e.platform,\"/\").concat(e.platformVersion);e.architecture&&e.bitness&&(t+=\" \".concat(e.architecture,\"/\").concat(e.bitness)),e.mobile&&(t+=\" mobile\"),e.model&&(t+=\" model: \".concat(e.model)),e.fullVersionList&&(t+=\" \".concat(e.fullVersionList.filter((e=>\"Not/A)Brand\"!==e.brand)).map((e=>\"\".concat(e.brand,\"/\").concat(e.version))).join(\",\"))),HO.info(t)}})))}();let i=new HM(e,t||{});return FM.add(i),BM?i.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"active\",device:BM}):KP().then((e=>{e[0]&&(BM=e[0],i.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"active\",device:e[0]}))})),i}enterRoom(e){return ab(this,null,(function*(){var t,i;let{scene:n=\"rtc\",enableAutoPlayDialog:r=!0,autoReceiveAudio:o=!0,autoReceiveVideo:s=!0}=e;e.proxy&&(this._room.setProxyServer(e.proxy),!rO(e.proxy)&&e.proxy.turnServer&&(null==(i=(t=this._room).setTurnServer)||i.call(t,e.proxy.turnServer,e.proxy.iceTransportPolicy))),this._room.enableAutoPlayDialog=r,this._room.autoReceiveAudio=o,this._room.autoReceiveVideo=s,sO(e.enableHWEncoder)&&(this._room.enableHWEncoder=e.enableHWEncoder);let a={sdkAppId:e.sdkAppId,userId:e.userId,userSig:e.userSig,privateMapKey:e.privateMapKey||null,role:\"audience\"===e.role?21:20,roomId:e.roomId||0,strRoomId:e.strRoomId||\"\",businessInfo:e.businessInfo||null,streamId:null,userDefineRecordId:e.userDefineRecordId||null,frameWorkType:e.frameWorkType,component:e.component,language:e.language};e.strRoomId&&!e.roomId&&(this._room.useStringRoomId=!0),SP(this,this._room).add(\"peer-join\",(e=>{let{userId:t}=e;this.emit(vM.REMOTE_USER_ENTER,{userId:t})})).add(\"peer-leave\",(e=>{this.emit(vM.REMOTE_USER_EXIT,{userId:e})})).add(\"banned\",(e=>{this._exitRoom().then((()=>{this.emit(vM.KICKED_OUT,{reason:e.reason})}))})).add(\"error\",(e=>{this._exitRoom().then((()=>{this.emit(vM.ERROR,tM.convertFrom(e))}))})).add(\"signal-connection-state-changed\",(e=>{this.emit(vM.CONNECTION_STATE_CHANGED,e)})).add(\"network-quality\",(e=>{this._networkQuality=e,this.emit(vM.NETWORK_QUALITY,e)})).add(\"remote-published\",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{SP(t,t).add(\"player-state-changed\",(i=>{let n=eb($C({},i),{userId:e.userId});t.kind===LN.VIDEO&&(n.streamType=function(e){return\"sub\"===e?\"auxiliary\":\"auxiliary\"===e?\"sub\":\"main\"}(t.streamType)),this.emit(t.kind===LN.AUDIO?vM.AUDIO_PLAY_STATE_CHANGED:vM.VIDEO_PLAY_STATE_CHANGED,n)})).add(\"error\",(e=>{e.getCode()===mb.PLAY_NOT_ALLOWED&&this.emit(vM.AUTOPLAY_FAILED,{userId:t.userId})}))}))})).add(\"remote-unpublished\",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{IP(e)}))})).add(\"remote-publish-state-changed\",(e=>{let{prevMuteState:t,muteState:i}=e,{userId:n}=i;this._room.remotePublishedUserMap.get(n);let r=t.audioAvailable,o=t.videoAvailable,{audioAvailable:s,videoAvailable:a}=i;s||this._remoteAudioConfigMap.delete(n),a||this._remoteVideoConfigMap.delete(\"\".concat(n,\"_\",\"main\")),i.hasAuxiliary||this._remoteVideoConfigMap.delete(\"\".concat(n,\"_\",\"sub\")),r!==s&&this.emit(s?vM.REMOTE_AUDIO_AVAILABLE:vM.REMOTE_AUDIO_UNAVAILABLE,{userId:n}),o!==a&&this.emit(a?vM.REMOTE_VIDEO_AVAILABLE:vM.REMOTE_VIDEO_UNAVAILABLE,{userId:n,streamType:\"main\"}),t.hasAuxiliary!==i.hasAuxiliary&&this.emit(i.hasAuxiliary?vM.REMOTE_VIDEO_AVAILABLE:vM.REMOTE_VIDEO_UNAVAILABLE,{userId:n,streamType:\"sub\"})})).add(\"firewall-restriction\",(()=>{this.emit(vM.ERROR,new tM({code:QL.OPERATION_FAILED,extraCode:5501}))})).add(\"sei-message\",(e=>{this.emit(vM.SEI_MESSAGE,e)})).add(\"heartbeat-report\",(e=>{var t,i,n,r,o,s,a;let c={2:\"big\",3:\"small\",7:\"sub\"},l={rtt: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==(i=this._networkQuality)?void 0:i.uplinkRTT)||(null==(n=this._networkQuality)?void 0:n.downlinkRTT)||0,upLoss:(null==(r=this._networkQuality)?void 0:r.uplinkLoss)||0,downLoss:(null==(o=this._networkQuality)?void 0:o.downlinkLoss)||0,bytesSent:e.bytes_sent||0,bytesReceived:e.bytes_received||0,localStatistics:{audio:{bitrate:((null==(s=e.msg_up_stream_info.msg_audio_status)?void 0:s.uint32_audio_codec_bitrate)||0)/1e3,audioLevel:((null==(a=e.msg_up_stream_info.msg_audio_status)?void 0:a.uint32_audio_level)||0)/xD},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)/xD},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]})))})))};this.emit(vM.STATISTICS,l)})),this._handleReceiveMode(),yield this._room.join(a,n,HM.frameWorkType),this._checkTrackToPublish()}))}exitRoom(){return ab(this,null,(function*(){return yield this._exitRoom()}))}switchRole(e){return ab(this,null,(function*(){yield this._room.switchRole(e),\"anchor\"===e&&this._checkTrackToPublish()}))}destroy(){IP(jP),this.removeAllListeners(),this._room.destroy(),FM.delete(this),this._localAudioTrack&&this.stopLocalAudio(),this._localVideoTrack&&this.stopLocalVideo(),this._localScreenTrack&&this.stopScreenShare()}startLocalAudio(){return ab(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:i=!0,option:n}=t,r=new oL(e._room.audioManager),o={},s={muted:!0};n&&(nO(n.microphoneId)?nO(n.audioTrack)||(o.customSource=n.audioTrack):o.deviceId=n.microphoneId,n&&oO(n.captureVolume)&&r.setCaptureVolume(n.captureVolume),nO(n.profile)||(rO(n.profile)?ON[n.profile]&&r.setProfile(ON[n.profile]):r.setProfile(n.profile)),oO(n.earMonitorVolume)&&(s.muted=!(n.earMonitorVolume>0),s.volume=n.earMonitorVolume),nO(n.echoCancellation)||(r.profile.echoCancellation=n.echoCancellation),nO(n.noiseSuppression)||(r.profile.noiseSuppression=n.noiseSuppression),nO(n.autoGainControl)||(r.profile.autoGainControl=n.autoGainControl)),r.on(\"5\",(t=>{e.emit(vM.ERROR,new tM({code:QL.DEVICE_ERROR,extraCode:5309,messageParams:{error:t}}))})),r.on(\"2\",(t=>{e.emit(vM.DEVICE_CHANGED,{type:\"microphone\",action:\"active\",device:t})})),r.on(\"4\",(t=>{let i;t.error&&(i=tM.convertFrom(t.error)),e.emit(vM.PUBLISH_STATE_CHANGED,eb($C({},t),{error:i}))})),yield r.capture(o),SP(r,r).add(\"player-state-changed\",(t=>{e.emit(vM.AUDIO_PLAY_STATE_CHANGED,eb($C({},t),{userId:\"\"}))})),i&&e._room.isJoined&&e._room.publish(r).catch((()=>{})),yield e._updateAudioPlayOption({playOption:s,track:r}),e._localAudioTrack=r,e._localAudioConfig=eb($C({},t),{publish:i})}()}))}updateLocalAudio(e){return ab(this,null,(function*(){if(!this._localAudioTrack||!this._localAudioConfig)return;let{publish:t,mute:i,option:n}=e,r={};n&&(n.microphoneId?yield this._localAudioTrack.switchDevice(n.microphoneId):nO(n.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(n.audioTrack)),nO(n.captureVolume)||this._localAudioTrack.setCaptureVolume(n.captureVolume),nO(n.earMonitorVolume)||(r.muted=!(n.earMonitorVolume>0),r.volume=n.earMonitorVolume),yield this._localAudioTrack.update3A(n)),this._room.isJoined&&!nO(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),nO(i)||this._localAudioTrack.setMute(i),yield this._updateAudioPlayOption({playOption:r,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),CO(this._localAudioConfig,e)}))}stopLocalAudio(){return ab(this,null,(function*(){!this._localAudioTrack||(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),this._localAudioTrack.stop(),this._localAudioTrack.close(),IP(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null)}))}startLocalVideo(){return ab(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._localVideoTrack)return void e._log.warn(\"local video is already started\");let{view:i,publish:n=!0,option:r}=t,o=new sL(e._room.videoManager),s={},a={};if(r&&(r.cameraId?s.deviceId=r.cameraId:nO(r.useFrontCamera)?nO(r.videoTrack)||(s.customSource=r.videoTrack):s.facingMode=r.useFrontCamera?LN.FACING_MODE_USER:LN.FACING_MODE_ENVIRONMENT,nO(r.profile)||(rO(r.profile)?wN[r.profile]&&o.setProfile(wN[r.profile]):o.setProfile(r.profile)),nO(r.fillMode)||(a.objectFit=r.fillMode),nO(r.mirror)||(a.mirror=r.mirror),nO(r.small)||(fw()?rO(r.small)?o.small=wN[r.small]:o.small=r.small:e._log.warn(\"small stream is not supported\"))),o.on(\"5\",(t=>{e.emit(vM.ERROR,new tM({code:QL.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),o.on(\"2\",(t=>{e.emit(vM.DEVICE_CHANGED,{type:\"camera\",action:\"active\",device:t})})),o.on(\"4\",(t=>{let i;t.error&&(i=tM.convertFrom(t.error)),e.emit(vM.PUBLISH_STATE_CHANGED,eb($C({},t),{error:i}))})),yield o.capture(s),(null==r?void 0:r.qosPreference)&&o.mediaTrack){let e=yM(r.qosPreference);o.mediaTrack.contentHint=e}SP(o,o).add(\"player-state-changed\",(t=>{e.emit(vM.VIDEO_PLAY_STATE_CHANGED,eb($C({},t),{userId:\"\",streamType:\"main\"}))})),n&&e._room.isJoined&&e._room.publish(o).catch((()=>{})),yield e._updateVideoPlayOption({view:i,playOption:a,track:o}),e._localVideoTrack=o,e._localVideoConfig=eb($C({},t),{view:i,publish:n})}()}))}updateLocalVideo(e){return ab(this,null,(function*(){if(!this._localVideoTrack||!this._localVideoConfig)return;let{view:t,publish:i,mute:n,option:r}=e,o={};if(r&&(nO(r.profile)||(rO(r.profile)?wN[r.profile]&&this._localVideoTrack.setProfile(wN[r.profile]):this._localVideoTrack.setProfile(r.profile),(!r.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(r.cameraId))&&nO(r.useFrontCamera)&&this._localVideoTrack.applyProfile()),r.cameraId?yield this._localVideoTrack.switchDevice(r.cameraId):nO(r.useFrontCamera)?nO(r.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(r.videoTrack)):yield this._localVideoTrack.switchDevice(r.useFrontCamera?LN.FACING_MODE_USER:LN.FACING_MODE_ENVIRONMENT),nO(r.fillMode)||(o.objectFit=r.fillMode),nO(r.mirror)||(o.mirror=r.mirror),r.qosPreference&&this._localVideoTrack.mediaTrack)){let e=yM(r.qosPreference);this._localVideoTrack.mediaTrack.contentHint=e}this._room.isJoined&&!nO(i)&&(i&&!this._localVideoConfig.publish&&this._room.publish(this._localVideoTrack).catch((()=>{})),this._localVideoConfig.publish&&!i&&this._room.unpublish(this._localVideoTrack).catch((()=>{}))),nO(n)||this._localVideoTrack.setMute(n),yield this._updateVideoPlayOption({view:t,playOption:o,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),CO(this._localVideoConfig,e)}))}stopLocalVideo(){return ab(this,null,(function*(){!this._localVideoTrack||(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),IP(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return ab(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:i=null,publish:n=!0,option:r}=t,o=new cL(e._room.videoManager);o.on(\"4\",(t=>{let i;t.error&&(i=tM.convertFrom(t.error)),e.emit(vM.PUBLISH_STATE_CHANGED,eb($C({},t),{error:i}))}));let s=null;o.setMediaType(2);let a={},c={};r&&(nO(r.profile)||(rO(r.profile)?PN[r.profile]&&o.setProfile(PN[r.profile]):o.setProfile(r.profile)),r.systemAudio&&(a.systemAudio=!0,a.echoCancellation=r.echoCancellation,a.noiseSuppression=r.noiseSuppression,a.autoGainControl=r.autoGainControl),nO(r.fillMode)||(c.objectFit=r.fillMode),r.videoTrack&&(a.videoTrack=r.videoTrack),r.audioTrack&&(a.audioTrack=r.audioTrack));let l=yield o.capture(a);if(null!=r&&r.qosPreference){let e=yM(r.qosPreference);o.mediaTrack.contentHint=e}if(o.mediaTrack.addEventListener(LN.ENDED,(()=>{e._stopScreenShare(),e.emit(vM.SCREEN_SHARE_STOPPED)})),l.getAudioTracks()[0]&&(s=new lL(e._room.audioManager),s.setInputMediaStreamTrack(l.getAudioTracks()[0])),SP(o,o).add(\"player-state-changed\",(t=>{e.emit(vM.VIDEO_PLAY_STATE_CHANGED,eb($C({},t),{userId:\"\",streamType:\"sub\"}))})),n&&e._room.isJoined){let t=[o];s&&t.push(s),e._room.publish(...t).catch((()=>{}))}yield e._updateVideoPlayOption({view:i,playOption:c,track:o}),e._localScreenTrack=o,e._localScreenAudioTrack=s,e._localScreenConfig=eb($C({},t),{view:i,publish:n})}()}))}updateScreenShare(e){return ab(this,null,(function*(){if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:t,publish:i,option:n}=e,r={};if(n&&(nO(n.fillMode)||(r.objectFit=n.fillMode),n.qosPreference)){let e=yM(n.qosPreference);this._localScreenTrack.mediaTrack.contentHint=e}this._room.isJoined&&!nO(i)&&(i&&!this._localScreenConfig.publish&&this._room.publish(this._localScreenTrack).catch((()=>{})),this._localScreenConfig.publish&&!i&&this._room.unpublish(this._localScreenTrack).catch((()=>{}))),yield this._updateVideoPlayOption({view:t,playOption:r,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),CO(this._localScreenConfig,e)}))}stopScreenShare(){return ab(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return ab(this,null,(function*(){let{view:t,userId:i,streamType:n,option:r}=e,o=\"\".concat(i,\"_\").concat(n);if(this._remoteVideoConfigMap.has(o))return void this._log.warn(\"remote video has already started. userId:\".concat(i,\", streamType:\").concat(n));let s=this._room.remotePublishedUserMap.get(i);if(!s)return;let a={},c=\"main\"===n?s.remoteVideoTrack:s.remoteAuxiliaryTrack;r&&(nO(r.fillMode)||(a.objectFit=r.fillMode),nO(r.mirror)||(a.mirror=r.mirror),\"main\"===n&&!nO(r.small)&&this._room.changeType(r.small,c.user)),yield this._room.subscribe(c),yield this._updateVideoPlayOption({view:t,playOption:a,track:c}),this._remoteVideoConfigMap.set(o,e)}))}updateRemoteVideo(e){return ab(this,null,(function*(){let{view:t,userId:i,streamType:n,option:r}=e,o=\"\".concat(i,\"_\").concat(n);if(!this._remoteVideoConfigMap.has(o)||!this._room.remotePublishedUserMap.has(i))return;let s={};r&&(nO(r.fillMode)||(s.objectFit=r.fillMode),nO(r.mirror)||(s.mirror=r.mirror));let a=null,c=this._room.remotePublishedUserMap.get(i);\"main\"===n&&(null==c?void 0:c.muteState.hasVideo)&&(a=c.remoteVideoTrack),\"sub\"===n&&(null==c?void 0:c.muteState.hasAuxiliary)&&(a=c.remoteAuxiliaryTrack);let l=this._remoteVideoConfigMap.get(o);a&&(\"main\"===n&&r&&!nO(r.small)&&this._room.changeType(r.small,a.user),yield this._updateVideoPlayOption({view:t,playOption:s,track:a,prevConfig:l})),CO(l,e)}))}stopRemoteVideo(e){return ab(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return ab(this,null,(function*(){let i=[],n=this._room.remotePublishedUserMap.get(e.userId);if(n){let{muteState:t,remoteVideoTrack:r,remoteAuxiliaryTrack:o}=n;\"main\"===e.streamType&&(r.stop(),t.hasVideo&&i.push(r)),\"sub\"===e.streamType&&(o.stop(),t.hasAuxiliary&&i.push(o))}for(let e of i)t&&(yield this._room.unsubscribe(e));this._remoteVideoConfigMap.delete(\"\".concat(e.userId,\"_\").concat(e.streamType))}))}muteRemoteAudio(e,t){return ab(this,null,(function*(){if(\"*\"===e)if(t)yield this._stopRemoteAudio({userId:e});else{let e=[...this._room.remotePublishedUserMap.values()];for(let t of e)t.muteState.hasAudio&&(yield this._startRemoteAudio({userId:t.userId}))}else t?yield this._stopRemoteAudio({userId:e}):yield this._startRemoteAudio({userId:e});this._remoteAudioMuteMap.set(e,t)}))}setRemoteAudioVolume(e,t){if(\"*\"===e){let e=[...this._room.remotePublishedUserMap.values()];for(let i of e)this._updateAudioPlayOption({playOption:{volume:t},track:i.remoteAudioTrack})}else if(e){let i=this._room.remotePublishedUserMap.get(e);i&&this._updateAudioPlayOption({playOption:{volume:t},track:i.remoteAudioTrack})}}startPlugin(e,t){return ab(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return ab(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return ab(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,i){return super.on(e,t,i),this._eventListened.add(e),this}off(e,t,i){return\"*\"===e?(this._eventListened.clear(),this.removeAllListeners()):super.off(e,t,i),this}getVideoTrack(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:\"\",streamType:\"main\"},{userId:t=\"\",streamType:i=\"main\"}=e;if(\"\"===t){if(\"main\"===i&&this._localVideoTrack)return this._localVideoTrack.mediaTrack;if(\"sub\"===i&&this._localScreenTrack)return this._localScreenTrack.mediaTrack}else{let e=this._room.remotePublishedUserMap.get(t);if(e)return\"main\"===i?e.remoteVideoTrack.mediaTrack:e.remoteAuxiliaryTrack.mediaTrack}return null}getAudioTrack(e){if(e){let t=this._room.remotePublishedUserMap.get(e);if(t)return t.remoteAudioTrack.mediaTrack}else if(this._localAudioTrack)return this._localAudioTrack.mediaTrack;return null}setCurrentSpeaker(e){var t;null==(t=this._localAudioTrack)||t.setAudioOutput(e),this._room.remotePublishedUserMap.forEach((t=>t.remoteAudioTrack.setAudioOutput(e)))}_startRemoteAudio(e){return ab(this,null,(function*(){let{userId:t,option:i}=e;if(this._remoteAudioConfigMap.has(t))return void this._log.warn(\"remote audio has already started. userId:\".concat(t));let n=this._room.remotePublishedUserMap.get(t);if(!n)return;let r={};i&&(nO(i.volume)||(r.volume=i.volume));let o=n.remoteAudioTrack;yield this._room.subscribe(o),yield this._updateAudioPlayOption({playOption:r,track:o}),this._remoteAudioConfigMap.set(t,e)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return ab(this,null,(function*(){let i=this._room.remotePublishedUserMap.get(e.userId);i&&(i.remoteAudioTrack.stop(),i.muteState.hasAudio&&t&&(yield this._room.unsubscribe(i.remoteAudioTrack))),this._remoteAudioConfigMap.delete(\"\".concat(e.userId))}))}_updateVideoPlayOption(e){return ab(this,arguments,(function(e){let{view:t,playOption:i,track:n,prevConfig:r}=e;return function*(){if(nO(t)&&r&&r.view&&!SO(i)){let e;e=cO(r.view)?r.view:bO(r.view),e&&(yield n.play(e,i))}if(!nO(t)){let e;e=cO(t)?t:bO(t),e?yield n.play(e,i):n.stop()}}()}))}_updateAudioPlayOption(e){return ab(this,arguments,(function(e){let{playOption:t={},track:i,prevConfig:n}=e;return function*(){if(!i.isPlayCalled)try{yield i.play(null,t)}catch(cN){}nO(t.muted)||i.setPlayerMute(t.muted),nO(t.volume)||i.setAudioVolume(t.volume/100)}()}))}_checkTrackToPublish(){var e,t,i;let n=[];if((null==(e=this._localAudioConfig)?void 0:e.publish)&&this._localAudioTrack&&n.push(this._localAudioTrack),(null==(t=this._localVideoConfig)?void 0:t.publish)&&this._localVideoTrack&&n.push(this._localVideoTrack),null!=(i=this._localScreenConfig)&&i.publish&&(this._localScreenTrack&&n.push(this._localScreenTrack),this._localScreenAudioTrack&&n.push(this._localScreenAudioTrack)),0!==n.length)return this._room.publish(...n).catch((()=>{}))}_handleReceiveMode(){this._room.autoReceiveAudio&&SP(this,this).add(vM.REMOTE_AUDIO_AVAILABLE,(e=>ab(this,[e],(function(e){var t=this;let{userId:i}=e;return function*(){if(t._remoteAudioMuteMap.get(\"*\")||t._remoteAudioMuteMap.get(i))return;let e=t._room.remotePublishedUserMap.get(i);e&&(yield t._room.subscribe(e.remoteAudioTrack).catch((()=>{})),yield t._updateAudioPlayOption({track:e.remoteAudioTrack}).catch((()=>{})),t._remoteAudioConfigMap.set(i,{userId:i}))}()})))),this._room.autoReceiveVideo&&SP(this,this).add(vM.REMOTE_VIDEO_AVAILABLE,(e=>{let{userId:t,streamType:i}=e,n=this._room.remotePublishedUserMap.get(t);n&&(\"main\"===i?this._room.subscribe(n.remoteVideoTrack).catch((()=>{})):\"sub\"===i&&this._room.subscribe(n.remoteAuxiliaryTrack).catch((()=>{})))}))}_exitRoom(){return ab(this,null,(function*(){this._room.isJoined&&(yield this._room.leave()),[...this._remoteAudioConfigMap.keys()].forEach((e=>{this._stopRemoteAudio({userId:e}).catch()})),[...this._remoteVideoConfigMap.keys()].forEach((e=>{let t=e.includes(\"main\")?\"main\":\"sub\",i=e.split(\"_\".concat(t))[0];i&&this._stopRemoteVideo({userId:i,streamType:t}).catch()})),this._remoteVideoConfigMap.clear(),this._remoteAudioConfigMap.clear(),this._remoteAudioMuteMap.clear(),this._room.remotePublishedUserMap.forEach((e=>{IP(e.remoteAudioTrack),IP(e.remoteVideoTrack),IP(e.remoteAuxiliaryTrack)})),IP(this)}))}_stopScreenShare(){return ab(this,null,(function*(){var e,t,i;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(),null==(t=this._localScreenAudioTrack)||t.stop(),null==(i=this._localScreenAudioTrack)||i.close(),IP(this._localScreenTrack),this._localScreenTrack=null,this._localScreenAudioTrack=null,this._localScreenConfig=null}}))}sendSEIMessage(e,t){this._room.sendSEI(e,t||{seiPayloadType:243})}static setLogLevel(e,t){HO.setLogLevel(e),nO(t)||(t?HO.enableUploadLog():HO.disableUploadLog())}static isSupported(){return aw()}static getCameraList(){return JP()}static getMicrophoneList(){return WP()}static getSpeakerList(){return KP()}static setCurrentSpeaker(e){return ab(this,null,(function*(){(yield KP()).forEach((t=>{t.deviceId===e&&(FM.forEach((i=>{i.setCurrentSpeaker(e),i.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"active\",device:t})})),BM=t)}))}))}},jM=HM;ob(jM,\"_loggerManager\",HO),ob(jM,\"EVENT\",vM),ob(jM,\"ERROR_CODE\",QL),ob(jM,\"TYPE\",qL),ob(jM,\"frameWorkType\",30),rb([CM(dM.TRTC.enterRoom),EM(\"room\",((e,t)=>{let[i]=e,[n]=t;return(i.roomId||i.strRoomId)===(n.roomId||n.strRoomId)&&i.userId===n.userId&&i.sdkAppId===n.sdkAppId})),iL((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t).catch((e=>{throw IP(this),e}))})),DM()],jM.prototype,\"enterRoom\",1),rb([DM()],jM.prototype,\"exitRoom\",1),rb([CM(dM.TRTC.switchRole),SM(\"room\",{merge:(e,t)=>t}),DM()],jM.prototype,\"switchRole\",1),rb([DM()],jM.prototype,\"destroy\",1),rb([CM(dM.TRTC.startLocalAudio),EM(\"audio\",((e,t)=>{let[i]=e,[n]=t;var r,o;return(null==(r=null==i?void 0:i.option)?void 0:r.microphoneId)===(null==(o=null==n?void 0:n.option)?void 0:o.microphoneId)})),DM()],jM.prototype,\"startLocalAudio\",1),rb([CM(dM.TRTC.updateLocalAudio),SM(\"audio\",{debounce:{delay:200,getKey:()=>\"\".concat(UM,\"-localAudio\"),isNeedToDebounce:e=>{var t;return!nO(null==(t=e.option)?void 0:t.captureVolume)}}}),DM()],jM.prototype,\"updateLocalAudio\",1),rb([IM(\"audio\"),DM()],jM.prototype,\"stopLocalAudio\",1),rb([CM(dM.TRTC.startLocalVideo),EM(\"video\",((e,t)=>{let[i]=e,[n]=t;var r,o;return(null==(r=null==i?void 0:i.option)?void 0:r.cameraId)===(null==(o=null==n?void 0:n.option)?void 0:o.cameraId)})),DM()],jM.prototype,\"startLocalVideo\",1),rb([CM(dM.TRTC.updateLocalVideo),SM(\"video\"),DM()],jM.prototype,\"updateLocalVideo\",1),rb([IM(\"video\"),DM()],jM.prototype,\"stopLocalVideo\",1),rb([CM(dM.TRTC.startScreenShare),EM(\"screen\",(()=>!0)),DM()],jM.prototype,\"startScreenShare\",1),rb([CM(dM.TRTC.updateScreenShare),SM(\"screen\"),DM()],jM.prototype,\"updateScreenShare\",1),rb([DM()],jM.prototype,\"stopScreenShare\",1),rb([CM(dM.TRTC.startRemoteVideo),EM((e=>\"v\".concat(e.userId).concat(e.streamType)),(()=>!0)),DM({getRemoteId:e=>\"\".concat(e.userId,\"_\").concat(e.streamType)})],jM.prototype,\"startRemoteVideo\",1),rb([CM(dM.TRTC.updateRemoteVideo),SM((e=>\"v\".concat(e.userId).concat(e.streamType))),DM({getRemoteId:e=>\"\".concat(e.userId,\"_\").concat(e.streamType)})],jM.prototype,\"updateRemoteVideo\",1),rb([CM(dM.TRTC.stopRemoteVideo),iL((e=>function(t){return ab(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)}))})),DM({getRemoteId:e=>\"\".concat(e.userId,\"_\").concat(e.streamType)})],jM.prototype,\"stopRemoteVideo\",1),rb([IM((e=>\"v\".concat(e.userId).concat(e.streamType)))],jM.prototype,\"_stopRemoteVideo\",1),rb([CM(...dM.TRTC.muteRemoteAudio),DM({getRemoteId:e=>e})],jM.prototype,\"muteRemoteAudio\",1),rb([bM(...dM.TRTC.setRemoteAudioVolume),function(e,t){return iL(((i,n)=>function(){for(var n=arguments.length,r=new Array(n),o=0;o0&&clearTimeout(c);let l=window.setTimeout((()=>{i.apply(this,r)}),e);RM.has(this)?null==(a=RM.get(this))||a.set(t(...r),l):RM.set(this,new Map([[t(...r),l]]))}))}(200,(e=>e)),DM({getRemoteId:e=>e})],jM.prototype,\"setRemoteAudioVolume\",1),rb([OM(\"start\"),EM(((e,t)=>e.getAlias()+e.getGroup(t))),DM({namePrefix:e=>e.getName()})],jM.prototype,\"startPlugin\",1),rb([OM(\"update\"),SM(((e,t)=>e.getAlias()+e.getGroup(t))),DM({namePrefix:e=>e.getName()})],jM.prototype,\"updatePlugin\",1),rb([OM(\"stop\"),IM(((e,t)=>e.getAlias()+e.getGroup(t))),DM({namePrefix:e=>e.getName()})],jM.prototype,\"stopPlugin\",1),rb([bM(...dM.TRTC.enableAudioVolumeEvaluation)],jM.prototype,\"enableAudioVolumeEvaluation\",1),rb([EM((e=>\"a\".concat(e.userId)),(()=>!0))],jM.prototype,\"_startRemoteAudio\",1),rb([iL((e=>function(t){return ab(this,null,(function*(){return\"*\"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio(eb($C({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),IM((e=>\"a\".concat(e.userId)))],jM.prototype,\"_stopRemoteAudio\",1),rb([IM(\"room\")],jM.prototype,\"_exitRoom\",1),rb([IM(\"screen\")],jM.prototype,\"_stopScreenShare\",1),rb([CM(dM.TRTC.sendSEIMessage),function(e){let{timesInSecond:t,maxSizeInSecond:i,getSize:n}=e;return iL(((e,r)=>{let o=new Map;return xO.on(FO.ROOM_DESTROY,(e=>{let{room:t}=e;return o.delete(t)})),function(){let s=o.get(this);for(var a=arguments.length,c=new Array(a),l=0;l1e3&&(s.timestamp=Date.now(),s.callCountInSecond=0,s.totalSizeInSecond=0),n&&(s.totalSizeInSecond+=n(...c)),0!==s.timestamp&&Date.now()-s.timestamp<1e3&&(s.callCountInSecond>=t||s.totalSizeInSecond>i))throw new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.CALL_FREQUENCY_LIMIT,data:{isTimes:s.callCountInSecond>=t,isSize:s.totalSizeInSecond>i,name:r,timesInSecond:t,maxSizeInSecond:i}})});s.callCountInSecond++,e.call(this,...c)}}))}({timesInSecond:30,maxSizeInSecond:8e3,getSize:function(){for(var e=arguments.length,t=new Array(e),i=0;i0&&this.room.enableSPC&&(this.keepAlive=!0,NV.add(this)),this.url=e.url,this.backupUrl=e.backupUrl,this._seq=0,this._log=HO.createLogger({id:\"ws\",userId:this.userId,sdkAppId:this.sdkAppId})}get urlParam(){return\"?sdkAppId=\".concat(encodeURIComponent(this.sdkAppId),\"&userId=\").concat(encodeURIComponent(this.userId),\"&userSig=\").concat(encodeURIComponent(this.userSig),\"&keepAlive=\").concat(encodeURIComponent(Number(this.keepAlive)))}get _urlWithParam(){return\"\".concat(this.url).concat(this.urlParam)}get _backupUrlWithParam(){return\"\".concat(this.backupUrl).concat(this.urlParam)}get isConnected(){return this._currentState===eV}get isConnecting(){return this._currentState===$M}get sdkAppId(){return this.room.sdkAppId}get userId(){return this.room.userId}get userSig(){return this.room.userSig}get isOnline(){return this._currentState===eV&&Date.now()-this._lastMessageTime<12e3}connect(e){return this.isConnected?Promise.resolve():new Promise(((t,i)=>{this._prevTime<0&&(this._prevTime=fO()),this._log.info(\"connect to \".concat(this.url).concat(e?\" timeout: \".concat(e):\"\",\" keepAlive: \").concat(Number(this.keepAlive))),this.emitConnectionStateChanged($M),this._socket=new WebSocket(this._urlWithParam),this.bindSocket(this._socket),this._backupTimer=setTimeout((()=>{this.isConnected||(this._log.info(\"trying to connect to backupUrl\"),this.tryConnectBackup())}),5e3);let n=-1;e&&(n=setTimeout((()=>{this.close(),i(new gb({code:mb.JOIN_ROOM_FAILED,message:\"join room timeout\"}))}),e)),this.once(QM,(()=>{clearTimeout(n),t()})),this.once(XM,(e=>{clearTimeout(n),i(e)}))}))}tryConnectBackup(){this._backupSocket||(this.unbindAndCloseSocket(LN.MAIN),this._log.debug(\"try to connect to url: \".concat(this._backupUrlWithParam)),this._backupSocket=new WebSocket(this._backupUrlWithParam),this.bindSocket(this._backupSocket))}bindSocket(e){e.onopen=this.onopen.bind(this),e.onclose=this.onclose.bind(this),e.onerror=this.onerror.bind(this),e.onmessage=this.onmessage.bind(this)}unbindSocket(e){this.clearBackupTimer(),e.onopen=()=>{},e.onclose=()=>{},e.onerror=()=>{},e.onmessage=()=>{}}unbindAndCloseSocket(e){if(e===LN.MAIN){if(this._socket){this.unbindSocket(this._socket);try{this._socket.close(1e3)}catch(sD){}this._socket=null}}else if(this._backupSocket){this.unbindSocket(this._backupSocket);try{this._backupSocket.close(1e3)}catch(sD){}this._backupSocket=null}}clearBackupTimer(){-1!==this._backupTimer&&(clearTimeout(this._backupTimer),this._backupTimer=-1)}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}onopen(e){this.isConnected||(this.isReconnecting&&!this._signalInfo.tinyId&&this.stopReconnection(),this.clearBackupTimer(),e.target===this._socket?(this.unbindAndCloseSocket(LN.BACKUP),this._socketInUse=this._socket):(this.unbindAndCloseSocket(LN.MAIN),this._socketInUse=this._backupSocket),this.emitConnectionStateChanged(eV),this.emit(QM))}onclose(e){let{url:t}=e.target,i=e.target===this._socketInUse;if(this._log.info(\"websocket[\".concat(t,\" InUse: \").concat(i,\"] is closed with code: \").concat(e.code)),i&&(this.emitConnectionStateChanged(ZM),!e.wasClean||1e3!==e.code)){this._log.warn(\"onclose code:\".concat(e.code,\" reason:\").concat(e.reason)),this._log.warn(\"close current websocket and schedule a reconnect timeout\"),this._socketInUse.onclose=()=>{},this._socketInUse.close(4011);let t=this._socketInUse===this._socket;this._socket=null,this._backupSocket=null,this._socketInUse=null,this.reconnect(t?LN.BACKUP:LN.MAIN)}}onerror(e){let{url:t}=e.target;if(this._log.error(\"websocket[\".concat(t,\"] error observed\")),this.isConnected){if(e.target===this._socketInUse){this.unbindAndCloseSocket(LN.MAIN),this.unbindAndCloseSocket(LN.BACKUP);let e=this._socketInUse===this._socket;this._socketInUse=null,this.reconnect(e?LN.BACKUP:LN.MAIN)}}else this.isReconnecting||xO.emit(FO.API_SUCCESS_RATE,{room:this.room,apiName:\"WebsocketConnect\",error:new Error(\"ws onerror\")}),e.target==this._socket?(this.unbindAndCloseSocket(LN.MAIN),this.reconnect(LN.BACKUP)):(this.unbindAndCloseSocket(LN.BACKUP),this.reconnect(LN.MAIN))}onmessage(e){if(!this.isConnected)return;this._lastMessageTime=Date.now(),this.bytesReceived+=wO(e.data);let t=JSON.parse(e.data),{cmd:i,data:n}=t,r=Object.values(tV),o=Object.keys(tV)[r.indexOf(i)],s=nV[o];switch(iV.includes(i)||(this._log.debug(\"received \".concat(i,\" msg: \").concat(e.data)),s&&this._log.info(\"Received event: [ \".concat(s,\" ]\"))),i){case tV.CHANNEL_SETUP_RESULT:if(0===t.code)this._signalInfo.clientIp=n.clientIp,this._signalInfo.signalIp=n.signalInnerIp,this._signalInfo.tinyId=t.tinyId,n.svrTime&&function(e){Tb=e-(new Date).getTime();let t=new Date;t.setTime(e),HO.info(\"baseTime from server: \".concat(t,\" offset: \").concat(Tb))}(n.svrTime),this._log.info(\"ChannelSetup Success\"),xO.emit(FO.API_SUCCESS_RATE,{room:this.room,apiName:\"WebsocketConnect\",cost:fO()-this._prevTime}),this._prevTime=-1,this.emit(YM,{signalInfo:this._signalInfo});else{let e=new gb({code:mb.SIGNAL_CHANNEL_SETUP_FAILED,extraCode:t.code,message:qO({key:JO.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:t.code,errorMsg:t.message}})});this._log.error(\"\".concat(t.code,\", \").concat(t.message)),this.close(),xO.emit(FO.API_SUCCESS_RATE,{room:this.room,apiName:\"WebsocketConnect\",error:e}),this.emit(zM,e)}break;case tV.JOIN_ROOM_RESULT:0===t.code&&(this._signalInfo.relayIp=n.relayOuterIp,this._signalInfo.relayInnerIp=n.relayInnerIp,this._signalInfo.relayPort=n.relayPort,this._log.info(\"signalIp:\".concat(this._signalInfo.signalIp,\" clientIp:\").concat(this._signalInfo.clientIp,\" relayIp: \").concat(this._signalInfo.relayIp))),this.emit(s,{data:t});break;case tV.CHANNEL_RECONNECT_RESULT:0===t.code?(this._log.warn(\"reconnect success\"),this.stopReconnection(),xO.emit(FO.API_SUCCESS_RATE,{room:this.room,apiName:\"WebsocketReconnect\",cost:fO()-this._prevTime}),this._prevTime=-1,this.room.syncUserList(),this.room.checkConnectionsToReconnect()):(this._log.warn(\"reconnect failed, \".concat(t.code,\" \").concat(t.message)),this.room.reJoin());break;default:this.emit(s,{data:t})}}reconnect(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:LN.MAIN;if(!this.room.isJoined&&this.keepAlive)return void this.close();if(this.isReconnecting)return;if(this._reconnectionCount>=aD){this._log.warn(\"SDK has tried reconnect signal channel for \".concat(aD,\" times, but all failed. please check your network\"));let e=new gb({code:mb.SIGNAL_CHANNEL_RECONNECTION_FAILED,message:qO({key:JO.SIGNAL_CHANNEL_RECONNECTION_FAILED})});return xO.emit(FO.API_SUCCESS_RATE,{room:this.room,apiName:\"WebsocketReconnect\",error:e}),void this.emit(XM,e)}this._reconnectionCount++,this._log.warn(\"reconnect \".concat(e,\" [\").concat(this._reconnectionCount,\"/\").concat(aD,\"]\"));let t=this.getReconnectionUrl(e);this.emitConnectionStateChanged($M),this._prevTime<0&&(this._prevTime=fO()),e===LN.MAIN?(this._socket=new WebSocket(t),this.bindSocket(this._socket)):(this._backupSocket=new WebSocket(t),this.bindSocket(this._backupSocket));let i=eO(this._reconnectionCount);this._reconnectionTimer=setTimeout((()=>{this._log.warn(\"reconnect \".concat(e,\" timeout(\").concat(i/1e3,\"s), try again\")),this.clearReconnectionTimer(),this.unbindAndCloseSocket(LN.MAIN),this.unbindAndCloseSocket(LN.BACKUP),this.reconnect(e===LN.MAIN?LN.BACKUP:LN.MAIN)}),i)}get isReconnecting(){return-1!==this._reconnectionTimer}getReconnectionUrl(e){let t=e===LN.MAIN?this._urlWithParam:this._backupUrlWithParam;if(this._signalInfo.tinyId&&-1===t.indexOf(\"&rc=1\")){let{roomId:e,useStringRoomId:i}=this.room;t+=\"&rc=1&relayInnerIp=\".concat(this._signalInfo.relayInnerIp,\"&relayOuterIp=\").concat(this._signalInfo.relayIp,\"&relayPort=\").concat(this._signalInfo.relayPort,\"&roomId=\").concat(e,\"&useStringRoomId=\").concat(i)}return t}send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.isConnected&&!this.room.isLeft){let i={cmd:e,data:t,userId:this.userId,tinyId:this._signalInfo.tinyId,seq:++this._seq},n=JSON.stringify(i);return this._socketInUse.send(n),this.bytesSent+=wO(n),i.seq}}sendWaitForResponse(e){let{command:t,data:i,timeout:n=5e3,responseCommand:r,commandDesc:o,enableLog:s=!0}=e;return new Promise(((e,a)=>{let c=setTimeout((()=>{this.off(r,l);let e=new gb({code:mb.API_CALL_TIMEOUT,message:qO({key:JO.API_CALL_TIMEOUT,data:{commandDesc:o,command:t}})});s&&this._log.warn(e),a(e)}),n),l=t=>{t.data.seq===d&&(clearTimeout(c),this.off(r,l),e(t))};this.on(r,l);let d=this.send(t,i)}))}sendWaitForResponseWithRetry(e){let{commandDesc:t,command:i,retries:n=0,retryTimeout:r=0}=e;return MO({retryFunction:this.sendWaitForResponse,onRetrying:e=>{this._log.warn(\"\".concat(t||i,\" timeout observed, retrying [\").concat(e,\"/\").concat(n,\"]\"))},settings:{retries:n,timeout:r},context:this})(e)}getCurrentState(){return this._currentState}getSignalInfo(){return this._signalInfo}stopReconnection(){this.isReconnecting&&(this._reconnectionCount=0,this.clearReconnectionTimer())}close(){this._log.info(\"closed\"),NV.delete(this),this.clearBackupTimer(),this.stopReconnection(),this._signalInfo={tinyId:void 0,clientIp:\"\",signalIp:\"\",relayIp:\"\",relayInnerIp:\"\",relayPort:0},this._socketInUse=null,this.bytesSent=0,this.bytesReceived=0,this.unbindAndCloseSocket(LN.MAIN),this.unbindAndCloseSocket(LN.BACKUP),this.emitConnectionStateChanged(ZM)}stopKeepAliveIn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3600;if(this.keepAlive){this._log.info(\"stopKeepAlive in \".concat(e,\"s\"));let t=setTimeout((()=>{this.keepAlive=!1,this._log.info(\"close due to not used \".concat(e,\"s\")),this.close()}),1e3*e),i=e=>{e instanceof xw&&\"join\"===e.action&&(this._log.info(\"stopKeepAlive clear timeout\"),clearTimeout(t),this.room.off(Gw.STATECHANGED,i))};this.room.on(Gw.STATECHANGED,i)}}emitConnectionStateChanged(e){e!==this._currentState&&(this._log.info(\"\".concat(this._currentState,\" -> \").concat(e)),this.emit(qM,{prevState:this._currentState,state:e}),this._currentState=e)}},OV=nb(cb()),wV=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,i=[],n=0;for(let o=e;o<=t;o++){let e=this.dataView.getInt8(o);switch(e){case 0:case 1:case 2:case 3:2===n&&(i.push(3),n=0),0==e?n++:n=0,i.push(e);break;default:n=0,i.push(e)}}i.push(this.dataView.getInt8(this.dataView.byteLength-1));let r=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...i]).buffer);this.dataView=r}removePreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-1,i=[],n=0;for(let o=e;o<=t;o++)switch(this.dataView.getInt8(o)){case 0:n++,i.push(this.dataView.getInt8(o));break;case 3:2!==n&&i.push(this.dataView.getInt8(o)),n=0;break;default:i.push(this.dataView.getInt8(o)),n=0}let r=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...i]).buffer);this.dataView=r}get isSEI(){return 6===this.dataView.getUint8(4)}get seiPayloadStartIndex(){let e=6;for(let t=6;t{}))}restart(e){this.stop(),this.start(e)}stop(){var e;null==(e=this._mainVideoAbortController)||e.abort(),this._mainVideoAbortController=null}destroy(){this.stop(),this._abortMap.forEach((e=>e.abort())),this._abortMap.clear(),this._log=null,this.onSEIMessage=null,this._mainVideoSenderOrReceiver=null,this._connection=null}handleEncodedStreams(){try{let e=this._connection.getPeerConnection();this.clearUnusedSenderOrReceiver(e),this._isUplink?e.getSenders().forEach(((e,t)=>{if(1===t){if(e===this._mainVideoSenderOrReceiver)return;this.isRunning?this.restart(e):this.start(e)}else{if(this._abortMap.has(e))return;this.pipeSenderOrReceiver(e)}})):e.getReceivers().forEach(((e,t)=>{var i;this._abortMap.has(e)||e===this._mainVideoSenderOrReceiver||(1===t&&(null==(i=e.track)?void 0:i.kind)===LN.VIDEO?this.isRunning?this.restart(e):this.start(e):this.pipeSenderOrReceiver(e))}))}catch(HL){this._log.warn(HL)}}pipeSenderOrReceiver(e){let{readable:t,writable:i}=e.createEncodedStreams(),n=new AbortController;this._abortMap.set(e,n),t.pipeTo(i,n).catch((()=>{}))}clearUnusedSenderOrReceiver(e){this._abortMap.forEach(((t,i)=>{(this._isUplink?e.getSenders():e.getReceivers()).find((e=>e===i))||(t.abort(),this._abortMap.delete(i))}))}push(e,t){t&&t.seiPayloadType&&(this._seiPayloadType=t.seiPayloadType),this._seiMessageList.push(e)}hasSEI(e){let t=new DataView(e);return 1===t.getInt32(0)&&6===t.getInt8(4)}isEmptyFrame(e){return\"empty\"===e.type||0===e.data.byteLength}getNaluCount(e){let t=0,i=0,n=new DataView(e);for(let r=0;r0&&!this.isEmptyFrame(e)){let t=9-this.getNaluCount(e.data);if(t<=0)return;let i=this._seiMessageList.splice(0,t).reverse().map(this.encodeSEINalu.bind(this)),n=i.reduce(((e,t)=>e+t.dataView.byteLength),0),r=new ArrayBuffer(n+e.data.byteLength),o=new DataView(r),s=new DataView(e.data),a=0;for(let e=0;e{this.onSEIMessage({seiPayloadType:e.seiPayloadType,data:e.seiPayload.buffer})}))}}catch(sD){this._log.warn(sD)}t.enqueue(e)}encodeSEINalu(e){let t=e.byteLength,i=parseInt(t/255),n=t%255,r=[];r.push(0,0,0,1,6,this._seiPayloadType);for(let s=0;s=3&&xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:\"PeerConnectionReconnect\",error:sN}),sN}}))}initialize(){let e={encodedInsertableStreams:this._enableSEI&&kw,iceServers:this._room.getIceServers(),iceTransportPolicy:this._room.getIceTransportPolicy(),sdpSemantics:this._sdpSemantics,bundlePolicy:\"max-bundle\",rtcpMuxPolicy:\"require\",tcpCandidatePolicy:\"disable\",IceTransportsType:\"nohost\"};this._peerConnection=new RTCPeerConnection(e),this._peerConnection.onconnectionstatechange=this.onConnectionStateChange.bind(this)}close(e){this._log.info(\"close connection\"),this._emitter.emit(\"closed\",e),this._isReconnecting&&this.stopReconnection(),this.closePeerConnection(),this._sei&&(this._sei.destroy(),this._sei=null),VV.delete(this)}closePeerConnection(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._peerConnection&&(this._log.info(\"close pc\"),this._peerConnection.onconnectionstatechange=null,this._peerConnection.close(),this._peerConnection=null,e&&this.emitConnectionStateChangedEvent(\"DISCONNECTED\")),this._waitForPeerConnectionConnectedPromiseReject&&this._waitForPeerConnectionConnectedPromiseReject(new gb({code:mb.API_CALL_ABORTED,message:\"connection closed\"}))}getDTLSTransportState(){if(!this._peerConnection)return tD;let e=null;if(this._isUplink){if(!Ew()||0===this._peerConnection.getSenders().length)return tD;e=this._peerConnection.getSenders()[0].transport}else{if(!Tw()||0===this._peerConnection.getReceivers().length)return tD;e=this._peerConnection.getReceivers()[0].transport}return e?e.state:tD}onConnectionStateChange(e){let t=this._peerConnection.iceConnectionState,i=this.getDTLSTransportState();if(this._log.info(\"connectionState: \".concat(e.target.connectionState,\", ICE: \").concat(t,\", DTLS: \").concat(i)),e.target.connectionState===iD.CONNECTING&&this.emitConnectionStateChangedEvent(\"CONNECTING\"),e.target.connectionState===iD.FAILED||e.target.connectionState===iD.CLOSED){let n=\"connection \".concat(e.target.connectionState,\". ICE Transport state: \").concat(t,\", DTLS Transport state: \").concat(i),r=new gb({message:n,code:mb.ICE_TRANSPORT_ERROR});this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this.startReconnection(),this._isErrorObserved||this._emitter.emit(\"error\",r)}(e.target.connectionState===iD.CONNECTED||e.target.connectionState===iD.COMPLETED)&&(this.logSelectedCandidate(),Qw.logSuccessEvent({userId:this._room.userId,eventType:cD.ICE_CONNECTION_STATE}),this.emitConnectionStateChangedEvent(\"CONNECTED\"))}emitConnectionStateChangedEvent(e){return e!==this._currentState&&(\"CONNECTED\"===e?(LV=0,MV=!1,xV=!0,VV.add(this)):VV.delete(this),xO.emit(FO.PEER_CONNECTION_STATE_CHANGED,{room:this._room,prevState:this._currentState,state:e,remoteUserId:this._isUplink?void 0:this.userId}),this._emitter.emit(\"connection-state-changed\",{prevState:this._currentState,state:e}),this._currentState=e,!0)}getPeerConnection(){return this._peerConnection}getRoom(){return this._room}getUserId(){return this.userId}getTinyId(){return this.tinyId}logSelectedCandidate(){return ab(this,null,(function*(){if(!this._peerConnection)return;let e=yield this._peerConnection.getStats();for(let[,t]of e)if(uw(t)){let i=e.get(t.localCandidateId),n=e.get(t.remoteCandidateId);i&&(this._log.info(\"local candidate: \".concat(i.candidateType,\" \").concat(i.protocol,\":\").concat(i.ip||i.address,\":\").concat(i.port,\" \").concat(i.networkType||\"\",\" \").concat(\"relay\"===i.candidateType?\"relayProtocol:\".concat(i.relayProtocol):\"\")),this._localAddress=\"\".concat(i.ip||i.address,\":\").concat(i.port)),n&&(this._log.info(\"remote candidate: \".concat(n.candidateType,\" \").concat(n.protocol,\":\").concat(n.ip||n.address,\":\").concat(n.port)),this._remoteAddress=\"\".concat(n.protocol,\":\").concat(n.ip||n.address));break}}))}getCurrentState(){return this._currentState}waitForPeerConnectionConnected(){return this._waitForPeerConnectionConnectedPromise||(this._waitForPeerConnectionConnectedPromise=new Promise(((e,t)=>{if(\"CONNECTED\"===this._currentState)return e();this._waitForPeerConnectionConnectedPromiseReject=t;let i=t=>{\"CONNECTED\"===t.state&&(clearTimeout(o),r(),e())},n=e=>{let{room:i}=e;i===this._room&&(clearTimeout(o),r(),t(new gb({code:mb.API_CALL_ABORTED,message:qO({key:JO.CONNECTION_ABORTED,data:\"leave room\"})})))},r=()=>{xO.off(FO.LEAVE_SUCCESS,n,this),this._emitter.off(\"connection-state-changed\",i,this)},o=setTimeout((()=>{r();let e=new gb({code:mb.API_CALL_TIMEOUT,message:\"connection timeout\"});LV+=1,(e=>LV>2&&!MV&&0===VV.size&&e)(this._signalChannel.isConnected)&&(this._log.warn(\"firewall restrition\"),MV=!0,this._emitter.emit(\"firewall-restriction\")),t(e)}),SD);xO.on(FO.LEAVE_SUCCESS,n,this),this._emitter.on(\"connection-state-changed\",i,this)})),this._waitForPeerConnectionConnectedPromise=this._waitForPeerConnectionConnectedPromise.finally((()=>{this._waitForPeerConnectionConnectedPromise=null,this._waitForPeerConnectionConnectedPromiseReject=null}))),this._waitForPeerConnectionConnectedPromise}getReconnectionCount(){return this._reconnectionCount}startReconnection(){this._isReconnecting=!0,this.reconnect()}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}stopReconnection(){this._log.info(\"stop reconnection\"),this._isReconnecting=!1,this._reconnectionCount=0,this.clearReconnectionTimer(),this._signalChannel.off(QM,this.reconnect,this)}beforeReconnect(){if(-1!==this._reconnectionTimer)return this._log.warn(\"reconnect() is reconnecting, ignore\"),-1;if(this._reconnectionCount>=oD()){this._log.warn(\"SDK has tried reconnect for \".concat(this._reconnectionCount,\" times, but all failed, please check your network\")),this.stopReconnection();let e=new gb({code:this._isUplink?mb.UPLINK_RECONNECTION_FAILED:mb.DOWNLINK_RECONNECTION_FAILED,message:qO({key:this._isUplink?JO.UPLINK_RECONNECTION_FAILED:JO.DOWNLINK_RECONNECTION_FAILED})});return this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this._emitter.emit(\"error\",e),-1}return this._signalChannel.isConnected?(this._reconnectionCount+=1,this._log.warn(\"reconnect() trying [\".concat(this._reconnectionCount,\"]\")),1):(this._log.warn(\"reconnect() signal channel is not connected, suspend reconnection until signal is connected\"),this._signalChannel.once(QM,this.reconnect,this),-1)}on(e,t,i){this._emitter.on(e,t,i)}off(e,t,i){this._emitter.off(e,t,i)}getIsReconnecting(){return this._isReconnecting}get isH264(){var e,t;return!(null==(t=null==(e=this._peerConnection)?void 0:e.remoteDescription)||!t.sdp.includes(\"H264\"))}},FV=nb(hb()),BV=function(e){return FV.default.parse(e)},HV=function(e){return FV.default.write(e)};function jV(e){return Object.keys(e).filter((t=>e[t]))}var GV=class extends UV{constructor(e){super(eb($C({},e),{isUplink:!1})),ob(this,\"_flag\",0),ob(this,\"role\",\"anchor\"),ob(this,\"remoteAudioTrack\"),ob(this,\"remoteVideoTrack\"),ob(this,\"remoteAuxiliaryTrack\"),ob(this,\"ssrc\",{audio:0,video:0,auxiliary:0}),ob(this,\"_isSDPExchanging\",!1),this.flag=e.flag,this.remoteAudioTrack=e.remoteAudioTrack||new RL(this._room,this),this.remoteVideoTrack=e.remoteVideoTrack||new CL(this._room,this),this.remoteAuxiliaryTrack=e.remoteAuxiliaryTrack||new bL(this._room,this)}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 IO(this.flag,this.userId)}get flag(){return this._flag}set flag(e){var t,i,n;e!==this._flag&&(this._flag=e,null==(t=this.remoteAudioTrack)||t.onFlagChanged(),null==(i=this.remoteVideoTrack)||i.onFlagChanged(),null==(n=this.remoteAuxiliaryTrack)||n.onFlagChanged())}get hasMainStream(){return this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall}get hasAuxStream(){return this.muteState.hasAuxiliary}get isMainStreamSubscribed(){return(this.subscribeState.audio||this.subscribeState.video||this.subscribeState.smallVideo)&&(this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall)}get isAuxStreamSubscribed(){return this.subscribeState.auxiliary&&this.muteState.hasAuxiliary}get isSmallStreamSubscribed(){return this.subscribeState.smallVideo&&this.muteState.hasSmall}get isBigStreamSubscribed(){return this.subscribeState.video&&this.muteState.hasVideo}isStreamUnpublished(e){return e===LN.MAIN?!this.muteState.hasAudio&&!this.muteState.hasVideo:!this.muteState.hasAuxiliary}initialize(){super.initialize(),this.installEvents(),this._peerConnection.ontrack=this.onTrack.bind(this)}close(e){super.close(e),this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this.remoteAudioTrack.close(),this.remoteVideoTrack.close(),this.remoteAuxiliaryTrack.close(),this.uninstallEvents()}installEvents(){}uninstallEvents(){this._emitter.removeAllListeners()}emitConnectionStateChangedEvent(e){var t,i;let n=this._currentState,r=super.emitConnectionStateChangedEvent(e);return r&&n!==e&&(null==(t=this.remoteVideoTrack)||t.emit(\"connection-state-changed\",{prevState:n,state:e}),null==(i=this.remoteAuxiliaryTrack)||i.emit(\"connection-state-changed\",{prevState:n,state:e})),r}onTrack(e){let t=e.streams[0],{track:i}=e,n=t.id===WN?LN.MAIN:LN.AUXILIARY;this._log.debug(\"ontrack \".concat(n,\" \").concat(i.kind));let r=LN.AUDIO;i.kind===LN.VIDEO&&(r=n===LN.MAIN?LN.VIDEO:LN.AUXILIARY);let o=this.remoteAudioTrack;r===LN.VIDEO?o=this.remoteVideoTrack:r===LN.AUXILIARY&&(o=this.remoteAuxiliaryTrack),o.setInputMediaStreamTrack(i)}addRRTRLine(e){let t=e.split(\"\\r\\n\"),i=new Map;t.forEach(((e,n)=>{/^a=rtcp-fb:/.test(e)&&t[n+1]&&!/^a=rtcp-fb:/.test(t[n+1])&&i.set(n+1,\"\".concat(e.match(/^a=rtcp-fb:\\d+/)[0],\" rrtr\"))}));let n=[...i];for(let r=0;r{e.type===LN.VIDEO&&e.fmtp.forEach((e=>{e.config+=\";sps-pps-idr-in-keyframe=1\"}))})),HV(t)}removeSDESDescription(e){let t=[\"urn:ietf:params:rtp-hdrext:sdes:mid\",\"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\",\"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\"],i=BV(e);return i.media.forEach((e=>{!e.ext||(e.ext=e.ext.filter((e=>!t.includes(e.uri))))})),HV(i)}isSubscriptionStateNotChanged(e){return JSON.stringify(e)===JSON.stringify(this.subscribeState)}subscribe(e,t){return ab(this,null,(function*(){var i,n;try{if(((null==(i=this._peerConnection)?void 0:i.connectionState)===iD.NEW||(null==(n=this._peerConnection)?void 0:n.connectionState)===iD.CONNECTING)&&(yield this.waitForPeerConnectionConnected()),this.isSubscriptionStateNotChanged(e))return void(this._peerConnection||(this.initialize(),yield this.connect(e)));if(this._log.info(\"subscribe \".concat(t,\" \").concat(JSON.stringify(e))),this._peerConnection||this._isSDPExchanging){let t=\"subscribe_change\";Object.values(e).find((e=>!0===e))||(t=\"unsubscribe\"),yield this.sendSubscription(t,e)}else this.initialize(),yield this.connect(e)}catch(cN){throw this._room.isJoined&&this.isStreamUnpublished(t)?(this._log.warn(\"\".concat(cN.message,\" \").concat(JSON.stringify(this.muteState))),new gb({code:mb.REMOTE_STREAM_NOT_EXIST,message:\"remote user \".concat(this.userId,\" unpublished stream\")})):cN}}))}unsubscribe(e){return ab(this,arguments,(function(e){var t=this;let{remoteTracks:i,streamType:n}=e;return function*(){if(\"CONNECTED\"===t._currentState&&(\"main\"===n&&!t.isMainStreamSubscribed||\"auxiliary\"===n&&!t.isAuxStreamSubscribed))return void t._log.info(\"\".concat(n,\" stream already unsubscribed\"));let e=$C({},t.subscribeState);i.forEach((t=>{switch(t.mediaType){case 1:e.audio=!1;break;case 4:e.video=!1;break;case 8:e.smallVideo=!1;break;case 2:e.auxiliary=!1}}));let r=\"subscribe_change\";Object.values(e).find((e=>!0===e))||(r=\"unsubscribe\"),t._log.info(\"\".concat(\"unsubscribe\"===r?r:\"subscribe\",\" \").concat(n,\" [\").concat(jV(e),\"]\")),yield t.sendSubscription(r,e),\"unsubscribe\"===r&&(t.closePeerConnection(),t.emitConnectionStateChangedEvent(\"DISCONNECTED\"))}()}))}sendSubscription(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscribeState,i={srcTinyId:this.tinyId,srcUserId:this.userId},n=pV,r=nV.UNSUBSCRIBE_RESULT;return\"subscribe_change\"===e&&(i={audio:t.audio,bigVideo:t.video,auxVideo:t.auxiliary,smallVideo:t.smallVideo,srcTinyId:this.tinyId},n=_V,r=nV.SUBSCRIBE_CHANGE_RESULT),this._signalChannel.sendWaitForResponse({command:n,data:i,responseCommand:r,timeout:1e4}).then((t=>{let{data:i}=t;if(0!==i.code){let t=new gb({code:i.code,message:qO({key:JO.ERROR_MESSAGE,data:{type:e,message:i.message}})});throw this._log.error(t),t}}))}connect(){return ab(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.subscribeState;return function*(){try{yield e.exchangeSDP(t),yield e.waitForPeerConnectionConnected()}catch(sD){throw e.closePeerConnection(!0),sD}}()}))}exchangeSDP(e){return ab(this,null,(function*(){try{this._isSDPExchanging=!0,yield this.createOffer(),this._log.info(\"createOffer success, sending offer\");let{type:t,sdp:i}=this._peerConnection.localDescription,n={type:t,sdp:i,srcUserId:this.userId,srcTinyId:this.tinyId,audio:e.audio,bigVideo:e.video,auxVideo:e.auxiliary,smallVideo:e.smallVideo},r=yield this._signalChannel.sendWaitForResponse({command:hV,commandDesc:\"exchange sdp\",data:n,responseCommand:nV.SUBSCRIBE_RESULT,timeout:uD});if(!this._peerConnection){let e=new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.CONNECTION_CLOSED})});throw this._log.warn(e),e}yield this.onSubscribeResult(r),this._isSDPExchanging=!1}catch(sD){throw this._isSDPExchanging=!1,sD}}))}createOffer(){return ab(this,null,(function*(){let e={voiceActivityDetection:!1};Iw()&&this._sdpSemantics===hD?(this._peerConnection.addTransceiver(LN.AUDIO,{direction:MN.RECVONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:MN.RECVONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:MN.RECVONLY})):(e.offerToReceiveAudio=!0,e.offerToReceiveVideo=!0);let t=yield this._peerConnection.createOffer(e);if(t.sdp){let{isH264DecodeSupported:e}=yield sw();e||(this._log.warn(\"remove h264 desc from sdp\"),t.sdp=function(e){let t=BV(e);return t.media.forEach((e=>{var t,i;if(e.type===LN.VIDEO){let n=new Set;e.rtp.forEach((e=>{let{payload:t,codec:i}=e;return\"H264\"===i&&n.add(t)})),e.fmtp.forEach((e=>{let{payload:t,config:i}=e,r=i.match(/apt=(\\d+)/);r&&r[1]&&n.has(Number(r[1]))&&n.add(t)}));let r=e=>{let{payload:t}=e;return!n.has(t)};e.rtp=e.rtp.filter(r),e.rtcpFb=null==(t=e.rtcpFb)?void 0:t.filter(r),e.fmtp=e.fmtp.filter(r),e.payloads=null==(i=e.payloads)?void 0:i.split(\" \").filter((e=>!n.has(Number(e)))).join(\" \")}})),HV(t)}(t.sdp)),t.sdp=this.addRRTRLine(t.sdp),t.sdp=this.addSPSDescription(t.sdp),t.sdp=function(e){let t=BV(e);return t.media.forEach((e=>{e.type===LN.AUDIO&&e.fmtp.forEach((e=>{e.config+=\";sprop-stereo=1;stereo=1\"}))})),HV(t)}(t.sdp),this._sdpSemantics===hD&&(t.sdp=this.removeSDESDescription(t.sdp))}yield this._peerConnection.setLocalDescription(t)}))}onSubscribeResult(e){return ab(this,null,(function*(){let{code:t,message:i=\"\"}=e&&e.data||{},{type:n,sdp:r}=e&&e.data&&e.data.data||{};if(t===_D)throw new gb({code:mb.NOT_SUPPORTED_H264,message:qO({key:JO.NOT_SUPPORTED_H264DECODE})});try{if(0!==t)throw new gb({code:t,message:qO({key:JO.EXCHANGE_SDP_FAILED,data:{errMsg:i}})});this._log.debug(\"accept remote answer: \".concat(r)),yield this._peerConnection.setRemoteDescription({type:n,sdp:r}),this._sei&&(this._sei.handleEncodedStreams(),this._sei.onSEIMessage=e=>{this._emitter.emit(\"sei-message\",eb($C({},e),{userId:this.userId}))}),this.updateSSRC(r)}catch(qx){throw this._log.error(qx),qx}}))}updateSSRC(e){try{BV(e).media.forEach((e=>{if(e.ssrcs)if(e.type===LN.AUDIO){let t=e.ssrcs.find((e=>{var t;return null==(t=e.value)?void 0:t.includes(WN)}));t&&(this.ssrc.audio=Number(t.id))}else{let t=e.ssrcs.find((e=>{var t;return null==(t=e.value)?void 0:t.includes(WN)})),i=e.ssrcs.find((e=>{var t;return null==(t=e.value)?void 0:t.includes(JN)}));t&&(this.ssrc.video=Number(t.id)),i&&(this.ssrc.auxiliary=Number(i.id))}}))}catch(sD){}}getMainStreamVideoTrackId(){return this.remoteVideoTrack&&this.remoteVideoTrack.mediaTrack?this.remoteVideoTrack.mediaTrack.id:\"\"}getAuxStreamVideoTrackId(){return this.remoteAuxiliaryTrack&&this.remoteAuxiliaryTrack.mediaTrack?this.remoteAuxiliaryTrack.mediaTrack.id:\"\"}reconnect(){return ab(this,null,(function*(){if(!(sb(GV.prototype,this,\"beforeReconnect\").call(this)<0))try{this.closePeerConnection(),this.initialize(),yield this.connect(),this.stopReconnection(),this._log.warn(\"reconnect() success\")}catch(sD){let t=eO(this._reconnectionCount);this._log.warn(\"reconnect() timeout, try again after \".concat(t/1e3,\"s\")),this._reconnectionTimer=setTimeout((()=>{this.clearReconnectionTimer(),this.reconnect()}),t)}}))}getIsReconnecting(){return this._isReconnecting}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}getCurrentState(){return this._currentState}setDelay(e){let{audioDelay:t,videoDelay:i}=e;this.remoteAudioTrack.stat.end2EndDelay=t,this.remoteVideoTrack.stat.end2EndDelay=i}},WV=GV;rb([iL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{let r=e=>{this._emitter.off(\"closed\",r),n(new gb({code:mb.API_CALL_ABORTED,message:qO({key:JO.CONNECTION_ABORTED,data:e})}))};this._emitter.on(\"closed\",r),e.apply(this,i).then(t,n).finally((()=>{this._emitter.off(\"closed\",r)}))}))}))],WV.prototype,\"subscribe\",1),rb([tL(UV.prototype.afterConnect),eL(UV.prototype.beforeConnect)],WV.prototype,\"connect\",1);var JV=WV,KV={voiceActivityDetection:!1},YV=class extends UV{constructor(e){super(eb($C({},e),{isUplink:!0})),ob(this,\"localMainAudioTrack\",null),ob(this,\"localMainVideoTrack\",null),ob(this,\"localAuxAudioTrack\",null),ob(this,\"localAuxVideoTrack\",null),ob(this,\"ssrc\",{audio:0,video:0,small:0,auxiliary:0}),ob(this,\"_isPublishingAux\",!1),ob(this,\"_publishingLocalAudioTrack\"),ob(this,\"_publishingLocalVideoTrack\"),ob(this,\"_mediaSettings\",{videoCodec:\"\",videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioCodec:\"opus\",audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0,auxVideoWidth:0,auxVideoHeight:0,auxVideoFps:0,auxVideoBps:0}),ob(this,\"_audioManager\"),this._audioManager=e.audioManager}get isMainStreamPublished(){return!(!this.localMainAudioTrack&&!this.localMainVideoTrack)}get isAuxStreamPublished(){return!(!this.localAuxVideoTrack&&!this.localAuxAudioTrack)}get publishState(){var e,t,i,n;let r={audio:!1,bigVideo:!1,smallVideo:!1,auxVideo:!1};if(this._peerConnection){let o=this._peerConnection.getSenders();o&&(Sw()?(r.audio=!(null==(e=o[0])||!e.track),r.bigVideo=!(null==(t=o[1])||!t.track),r.smallVideo=!(null==(i=o[2])||!i.track),r.auxVideo=!(null==(n=o[3])||!n.track)):o.forEach((e=>{e.track&&(e.track.kind===LN.AUDIO?r.audio=!0:(r.bigVideo=!0,this._room.videoManager.hasSmall&&(r.smallVideo=!0)))})))}return r}initialize(){super.initialize(),this.installEvents()}reset(){this._isReconnecting&&this.stopReconnection(),this.closePeerConnection(),this.uninstallEvents()}close(e){super.close(e),this.reset(),this.emitConnectionStateChangedEvent(\"DISCONNECTED\")}installEvents(){this._emitter.listeners(\"connection-state-changed\").includes(this.handleConnectionStateChange)||this._emitter.on(\"connection-state-changed\",this.handleConnectionStateChange,this)}uninstallEvents(){this._emitter.off(\"connection-state-changed\",this.handleConnectionStateChange,this)}emitConnectionStateChangedEvent(e,t){var i,n,r;let o=this._currentState,s=super.emitConnectionStateChangedEvent(e);return s&&o!==e&&(t?t.emit(\"connection-state-changed\",{prevState:o,state:e}):(null==(i=this.localMainVideoTrack)||i.emit(\"connection-state-changed\",{prevState:o,state:e}),null==(n=this.localAuxVideoTrack)||n.emit(\"connection-state-changed\",{prevState:o,state:e}),null==(r=this._publishingLocalVideoTrack)||r.emit(\"connection-state-changed\",{prevState:o,state:e}))),s}publish(e){return ab(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,isAuxiliary:r}=e;return function*(){var e;let o;t._peerConnection||t.initialize(),i&&(t._publishingLocalAudioTrack=i),n&&(t._publishingLocalVideoTrack=n),t._isPublishingAux=r,n&&!r&&n.small&&(o=t._room.videoManager.smallTrack),t.sendMediaSettings(),Iw()?yield t.publishByTransceiver({localAudioTrack:i,localVideoTrack:n,smallTrack:o,isAuxiliary:r}):yield t.publishByAddTrack({localAudioTrack:i,localVideoTrack:n,smallTrack:o}),t._publishingLocalAudioTrack=null,t._publishingLocalVideoTrack=null,t._isPublishingAux=!1,r?(n&&(t.localAuxVideoTrack=n),i&&(t.localAuxAudioTrack=i)):(n&&(t.localMainVideoTrack=n),i&&(t.localMainAudioTrack=i)),null==(e=t._sei)||e.handleEncodedStreams(),t.installTrackMuteEvents(i,n),t.sendMutedFlag()}()}))}publishByTransceiver(e){return ab(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,smallTrack:r,isAuxiliary:o}=e;return function*(){t._log.info(\"publish by transceiver\");let e=new MediaStream,s=null==n?void 0:n.outMediaTrack,a=t._audioManager.mixedAudioTrack;a&&e.addTrack(a),s&&e.addTrack(s);let c=t._peerConnection.getTransceivers();if(0===c.length)t._peerConnection.addTransceiver(a||LN.AUDIO,{direction:MN.SENDONLY,streams:[e]}),t._peerConnection.addTransceiver(o?LN.VIDEO:s||LN.VIDEO,{direction:MN.SENDONLY,streams:[e]}),t._peerConnection.addTransceiver(r||LN.VIDEO,{direction:MN.SENDONLY,streams:[e]}),t._peerConnection.addTransceiver(o&&s||LN.VIDEO,{direction:MN.SENDONLY,streams:[e]}),yield t.connect();else{let e=[];if(a&&(c[0].sender.track||e.push(0),yield c[0].sender.replaceTrack(a),yield t.setBandwidth({bandwidth:(null==i?void 0:i.profile.bitrate)||40,type:LN.AUDIO})),s){let i=o?3:1;yield c[i].sender.replaceTrack(s),yield t.setBandwidth({bandwidth:n.profile.bitrate,type:LN.VIDEO,videoType:o?LN.AUXILIARY:LN.BIG}),e.push(i),r&&(yield c[2].sender.replaceTrack(r),yield t.setBandwidth({bandwidth:n.small.bitrate,type:LN.VIDEO,videoType:LN.SMALL}),e.push(2))}yield t.setTransceiverDirection(MN.SENDONLY,e),yield t.doPublishChange(),null==n||n.emit(\"connection-state-changed\",{prevState:\"DISCONNECTED\",state:\"CONNECTING\"}),null==n||n.emit(\"connection-state-changed\",{prevState:\"CONNECTING\",state:\"CONNECTED\"})}}()}))}publishByAddTrack(e){return ab(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,smallTrack:r}=e;return function*(){t._log.info(\"publish by addtrack\");let e=null==n?void 0:n.outMediaTrack,o=t._audioManager.mixedAudioTrack;if(t._peerConnection&&\"new\"!==t._peerConnection.connectionState)return o&&(yield t.addTrack(i)),void(e&&(yield t.addTrack(n)));let s=new MediaStream;if(o&&s.addTrack(o),e&&s.addTrack(e),o&&t._peerConnection.addTrack(o,s),e&&(t._peerConnection.addTrack(e,s),r)){let e=new MediaStream;e.addTrack(r),t._peerConnection.addTrack(r,e)}yield t.connect()}()}))}installTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.on(\"mute\",this.sendMutedFlag,this),null==e||e.on(\"unmute\",this.sendMutedFlag,this))}))}uninstallTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.off(\"mute\",this.sendMutedFlag,this),null==e||e.off(\"unmute\",this.sendMutedFlag,this))}))}unpublish(e){return ab(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n}=e;return function*(){if(!Sw())return i&&i.outMediaTrack&&!n&&t.localMainVideoTrack?(yield t.removeTrack(i),void(t.localMainAudioTrack=null)):n&&n.outMediaTrack&&!i&&t.localMainAudioTrack?(yield t.removeTrack(n),void(t.localMainVideoTrack=null)):(yield t.doUnpublish(),t.uninstallTrackMuteEvents(i,n),void t.emitConnectionStateChangedEvent(\"DISCONNECTED\",n));let e=n&&n===t.localAuxVideoTrack,r=null==n?void 0:n.outMediaTrack,o=t._peerConnection.getSenders(),s=[];i&&(t._audioManager.mixedAudioTrack||(yield o[0].replaceTrack(null),s.push(0)),e?t.localAuxAudioTrack=null:t.localMainAudioTrack=null),r&&(e?(yield o[3].replaceTrack(null),t.localAuxVideoTrack=null,t._mediaSettings=eb($C({},t._mediaSettings),{auxVideoBps:0,auxVideoFps:0,auxVideoWidth:0,auxVideoHeight:0}),s.push(3)):(yield o[1].replaceTrack(null),yield o[2].replaceTrack(null),t.localMainVideoTrack=null,t._mediaSettings=eb($C({},t._mediaSettings),{videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0}),s.push(1,2))),t.isMainStreamPublished||t.isAuxStreamPublished?(yield t.setTransceiverDirection(MN.INACTIVE,s),yield t.doPublishChange(!1)):yield t.doUnpublish(),t.uninstallTrackMuteEvents(i,n),null==n||n.emit(\"connection-state-changed\",{prevState:t._currentState,state:\"DISCONNECTED\"})}()}))}doPublishChange(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return ab(this,null,(function*(){let t={state:this.publishState,constraintConfig:this._mediaSettings},i=yield this._signalChannel.sendWaitForResponse({command:dV,data:t,responseCommand:nV.PUBLISH_STATE_CHANGE_RESULT,enableLog:e});this.checkPublishResultCode(i.data.code,i.data.message)}))}doUnpublish(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._signalChannel.sendWaitForResponse({command:uV,commandDesc:\"unpublish\",responseCommand:nV.UNPUBLISH_RESULT,enableLog:e}).catch((e=>{if(e.getCode()===mb.API_CALL_TIMEOUT)return Promise.resolve();throw e}))}updateMediaSettings(){let{detail:{isH264EncodeSupported:e,isVp8EncodeSupported:t}}=this._room.checkSystemResult;e?this._mediaSettings.videoCodec=\"H264\":t&&(this._mediaSettings.videoCodec=\"VP8\");let i=this._publishingLocalAudioTrack||this.localMainAudioTrack||this.localAuxAudioTrack,{localMainVideoTrack:n,localAuxVideoTrack:r}=this;if(this._publishingLocalVideoTrack&&(this._isPublishingAux?r=this._publishingLocalVideoTrack:n=this._publishingLocalVideoTrack),Cw){if(i&&i.outMediaTrack){let e=i.outMediaTrack.getSettings();this._mediaSettings.audioChannel=e.channelCount||1,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=e.sampleRate||0}if(n&&n.outMediaTrack){let e=n.outMediaTrack.getSettings();this._mediaSettings.videoWidth=e.width||0,this._mediaSettings.videoHeight=e.height||0,this._mediaSettings.videoFps=e.frameRate||0,this._mediaSettings.videoBps=1e3*n.profile.bitrate,n.small&&(this._mediaSettings.smallVideoWidth=n.small.width,this._mediaSettings.smallVideoHeight=n.small.height,this._mediaSettings.smallVideoFps=n.small.frameRate,this._mediaSettings.smallVideoBps=1e3*n.small.bitrate)}if(r&&r.outMediaTrack){let e=r.outMediaTrack.getSettings();this._mediaSettings.auxVideoWidth=e.width||0,this._mediaSettings.auxVideoHeight=e.height||0,this._mediaSettings.auxVideoFps=e.frameRate||0,this._mediaSettings.auxVideoBps=1e3*r.profile.bitrate}}else i&&i.outMediaTrack&&(this._mediaSettings.audioChannel=i.profile.channelCount,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=i.profile.sampleRate),n&&n.outMediaTrack&&(this._mediaSettings.videoWidth=n.profile.width,this._mediaSettings.videoHeight=n.profile.height,this._mediaSettings.videoFps=n.profile.frameRate,this._mediaSettings.videoBps=1e3*n.profile.bitrate);this._log.info(\"updateMediaSettings: \".concat(JSON.stringify(this._mediaSettings)))}sendMediaSettings(){this.updateMediaSettings(),this._signalChannel.sendWaitForResponse({command:yV,data:this._mediaSettings,responseCommand:nV.UPDATE_CONSTRAINT_CONFIG_RES}).then((e=>{0!==e.data.code&&this._log.warn(e.data.message)})).catch((()=>{}))}addTrack(e){return ab(this,null,(function*(){var t;if(!this._peerConnection)return;let i=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info(\"is adding \".concat(e.kind,\" track to current published local \").concat(i?LN.AUXILIARY:LN.MAIN,\" stream\")),null==(t=this._sei)||t.handleEncodedStreams(),Iw()?yield this.addTrackByTransceiver(e,i):yield this.addTrackBySender(e)}))}addTrackByTransceiver(e,t){return ab(this,null,(function*(){var i;if(!e.mediaTrack)return;let n=this._peerConnection.getTransceivers();if(e.kind===LN.AUDIO)yield n[0].sender.replaceTrack(this._audioManager.mixedAudioTrack);else{let r=t?3:1;yield n[r].sender.replaceTrack(e.outMediaTrack),1===r&&(null==(i=this.localMainVideoTrack)?void 0:i.small)&&(yield n[2].sender.replaceTrack(this._room.videoManager.smallTrack)),n[r].direction===MN.INACTIVE&&(yield this.setTransceiverDirection(MN.SENDONLY,[r]))}this.updateMediaSettings(),yield this.doPublishChange()}))}addTrackBySender(e){return ab(this,null,(function*(){if(!e.outMediaTrack)return;let t=e.outMediaTrack;Sw()&&this._peerConnection.getTransceivers().findIndex((e=>\"stopped\"===e.direction))>=0&&(this._log.warn(\"transceiver is stopping, negotiate sdp first\"),yield this.updateOffer(\"remove\",t));let i=this._peerConnection.getSenders().find((e=>e.track&&e.track.kind===t.kind));if(i&&i.track){this._log.warn(\"sender already exists, remove sender first\");let e=i.track;this.removeSender(i),yield this.updateOffer(\"remove\",e)}let n=t.kind===LN.VIDEO?t:this._audioManager.mixedAudioTrack;if(n&&this._peerConnection.addTrack(t,new MediaStream([n])),t.kind===LN.VIDEO&&e instanceof sL&&e.small){let e=new MediaStream,t=this._room.videoManager.smallTrack;e.addTrack(t),this._peerConnection.addTrack(t,e)}yield this.updateOffer(\"add\",t)}))}isNeedToResetOfferOrder(){if(this._sdpSemantics===pD||!this._peerConnection||!this._peerConnection.localDescription)return!1;let{sdp:e}=this._peerConnection.localDescription,t=BV(e);for(let i=0;it.sender&&t.sender.track===e.track))),this._peerConnection.removeTrack(e),t&&iO(t.stop)&&(this._log.info(\"stop transceiver\"),t.stop())}removeTrack(e){return ab(this,null,(function*(){if(!this._peerConnection)return;let t=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info(\"is removing \".concat(e.kind,\" track from current published local \").concat(t?LN.AUXILIARY:LN.MAIN,\" stream\")),Iw()?yield this.removeTrackByTransceiver(e,t):yield this.removeTrackBySender(e)}))}removeTrackByTransceiver(e,t){return ab(this,null,(function*(){if(!e.outMediaTrack)return;let i=this._peerConnection.getTransceivers();if(e.kind===LN.AUDIO)this._audioManager.mixedAudioTrack||(yield i[0].sender.replaceTrack(null));else{let n=t?3:1;yield i[n].sender.replaceTrack(null),1===n&&e.small&&(yield i[2].sender.replaceTrack(null)),yield this.setTransceiverDirection(MN.INACTIVE,[n])}this.updateMediaSettings(),yield this.doPublishChange()}))}setTransceiverDirection(e,t){return ab(this,null,(function*(){if(!Ub)return;let i=!1,n=!1;this._log.info(\"setting transceiver \".concat(t.join(\",\"),\" direction to \").concat(e));let r=this._peerConnection.getTransceivers();if(t.forEach((t=>{r[t].direction!==e&&(r[t].direction=e,i=!0)})),i){this._log.info(\"updating offer\");let e=yield this._peerConnection.createOffer();yield this._peerConnection.setLocalDescription(e)}let o=-1,s=this._peerConnection.remoteDescription.sdp.split(\"\\r\\n\").map((i=>{if(i.match(new RegExp(\"a=(\".concat(MN.INACTIVE,\"|\").concat(MN.RECVONLY,\"|\").concat(MN.SENDONLY,\")\")))&&o++,t.includes(o)){if(e===MN.INACTIVE&&i.includes(\"a=\".concat(MN.RECVONLY)))return n=!0,\"a=\".concat(e);if(e===MN.SENDONLY&&i.includes(\"a=\".concat(MN.INACTIVE)))return n=!0,\"a=\".concat(MN.RECVONLY)}return i})).join(\"\\r\\n\");n&&(this._log.info(\"updating answer\"),yield this._peerConnection.setRemoteDescription({type:\"answer\",sdp:s}))}))}removeTrackBySender(e){return ab(this,null,(function*(){if(!e.outMediaTrack)return;if(e.kind===LN.VIDEO&&this.isNeedToResetOfferOrder()&&this.localMainAudioTrack)return this.reset(),this.initialize(),void(yield this.publish({localAudioTrack:this.localMainAudioTrack,isAuxiliary:!1}));let t=this._peerConnection.getSenders().find((t=>t.track===e.outMediaTrack));t&&(this.removeSender(t),e.kind===LN.VIDEO&&e.small&&this._peerConnection.getSenders().forEach((e=>{e.track&&e.track.kind===LN.VIDEO&&this.removeSender(e)}))),yield this.updateOffer(\"remove\",e.outMediaTrack)}))}replaceTrack(e){return ab(this,null,(function*(){var t;let i,n=null==(t=this._peerConnection)?void 0:t.getSenders();if(!n||0===n.length||!e.mediaTrack)return;if(i=Iw()?e.kind===LN.AUDIO?n[0]:n[1]:n.find((t=>t.track&&t.track.kind===e.kind)),!i)return;let r=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info(\"is replacing \".concat(e.kind,\" track on \").concat(r?LN.AUXILIARY:LN.MAIN,\" stream\")),e.kind===LN.AUDIO?yield i.replaceTrack(this._audioManager.mixedAudioTrack):e.kind===LN.VIDEO&&(r?n[3]&&(yield n[3].replaceTrack(e.outMediaTrack)):yield i.replaceTrack(e.outMediaTrack))}))}updateOffer(e,t){return ab(this,null,(function*(){try{let i=yield this._peerConnection.createOffer(KV);Ub&&i.sdp&&(i.sdp=this.setSDPDirection(i.sdp,\"sendrecv\")),yield this._peerConnection.setLocalDescription(i);let n=this.updateMediaSettings(),r={action:e,trackId:t.id,kind:t.kind===LN.VIDEO?\"bigVideo\":t.kind,type:\"offer\",sdp:this._peerConnection.localDescription.sdp,constraintConfig:n,state:this.publishState};this._log.info(\"createOffer success, sending updated offer to remote server\"),this._log.debug(\"updatedOffer: \".concat(r.sdp));let o=yield this._signalChannel.sendWaitForResponse({command:rV,data:r,responseCommand:nV.UPDATE_OFFER_RESULT,timeout:dD,commandDesc:\"update offer\"}),{code:s,message:a}=o.data;0!==s&&this.checkPublishResultCode(s,a),yield this.acceptAnswer(o.data.data),i.sdp&&this.updateSSRC(i.sdp)}catch(aN){throw this._log.error(aN),aN}}))}setBandwidth(e){return ab(this,arguments,(function(e){var t=this;let{bandwidth:i,type:n,videoType:r,sdp:o}=e;return function*(){if(!Rw())return o?n===LN.VIDEO?t.updateVideoBandwidthRestriction(o,i,r):t.updateAudioBandwidthRestriction(o,i):void 0;let e=0;n===LN.VIDEO&&(e=r===LN.SMALL?2:r===LN.AUXILIARY?3:1);let s=t._peerConnection.getSenders()[e];if(s){let e=s.getParameters();(!e.encodings||0===e.encodings.length)&&(e.encodings=[{}]),e.encodings[0].maxBitrate=1e3*i;try{return yield s.setParameters(e),t._log.info(\"\".concat(r||\"\").concat(n,\" bandwidth \").concat(i,\" kbps\")),o}catch(a){if(t._log.info(\"failed to set bandwidth by setting maxBitrate: \".concat(a)),o)return n===LN.VIDEO?t.updateVideoBandwidthRestriction(o,i,r):t.updateAudioBandwidthRestriction(o,i)}}return o}()}))}updateVideoBandwidthRestriction(e,t,i){let n=\"AS\";Ub&&(n=\"TIAS\",t*=1e3);let r=0,o=-1;return i===LN.SMALL?r=1:i===LN.AUXILIARY&&(r=2),e=e.replace(/m=video (.*)\\r\\nc=IN (.*)\\r\\n/g,(e=>(o+=1,o===r?\"\".concat(e,\"b=\").concat(n,\":\").concat(t,\"\\r\\n\"):e)))}updateAudioBandwidthRestriction(e,t){let i=\"AS\";return Ub&&(i=\"TIAS\",t*=1e3),e=e.replace(/m=audio (.*)\\r\\nc=IN (.*)\\r\\n/,\"m=audio $1\\r\\nc=IN $2\\r\\nb=\".concat(i,\":\").concat(t,\"\\r\\n\"))}removeBandwidthRestriction(e){return e.replace(/b=AS:.*\\r\\n/,\"\").replace(/b=TIAS:.*\\r\\n/,\"\")}removeVideoOrientation(e){return e.replace(/urn:3gpp:video-orientation/,\"\")}connect(){return ab(this,null,(function*(){try{yield this.exchangeSDP(),yield this.waitForPeerConnectionConnected()}catch(sN){throw this.closePeerConnection(!0),this.uninstallEvents(),sN}}))}exchangeSDP(){return ab(this,null,(function*(){try{yield this.createOffer(),this._log.info(\"createOffer success, sending offer to remote server\"),yield this.doExchangeSDP()}catch(sN){throw sN}}))}createOffer(){return ab(this,null,(function*(){try{let e=yield this._peerConnection.createOffer(KV);yield this._peerConnection.setLocalDescription(e),e.sdp&&this.updateSSRC(e.sdp)}catch(sN){throw sN}}))}doExchangeSDP(){let e={command:lV,responseCommand:nV.PUBLISH_RESULT,data:{type:this._peerConnection.localDescription.type,sdp:this.removeVideoOrientation(this._peerConnection.localDescription.sdp),screen:this.localMainVideoTrack instanceof cL||this.localAuxVideoTrack instanceof cL,state:this.publishState,constraintConfig:this._mediaSettings},enableLog:!1};return this._log.debug(\"sending sdp offer: \".concat(e.data.sdp)),this._signalChannel.sendWaitForResponse(e).then((e=>{let{code:t,message:i,data:n}=e.data;return 0===t?this.acceptAnswer(n):this.checkPublishResultCode(t,i)}))}setSDPDirection(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"all\",n=BV(e);return n.media.forEach((e=>{(\"all\"===i||e.type===i)&&(e.direction=t)})),HV(n)}acceptAnswer(e){return ab(this,null,(function*(){var t,i,n,r,o;try{let s;if(this._publishingLocalAudioTrack||this._publishingLocalVideoTrack||this.isMainStreamPublished){let e=(null==(t=this._publishingLocalVideoTrack)?void 0:t.profile.bitrate)||(null==(i=this.localMainVideoTrack)?void 0:i.profile.bitrate),o=(null==(n=this._publishingLocalAudioTrack)?void 0:n.profile.bitrate)||(null==(r=this.localMainAudioTrack)?void 0:r.profile.bitrate);if(e){let t=this._isPublishingAux?LN.AUXILIARY:LN.BIG;s=yield this.setBandwidth({bandwidth:e,type:LN.VIDEO,sdp:s,videoType:t})}o&&(s=yield this.setBandwidth({bandwidth:o,type:LN.AUDIO,sdp:s}))}if(s=this.removeVideoOrientation(e.sdp),null!=(o=this._publishingLocalVideoTrack)&&o.small){let{smallStreamConfig:e}=this._room;s=yield this.setBandwidth({bandwidth:this._publishingLocalVideoTrack.small.bitrate||e.bitrate,type:LN.VIDEO,videoType:LN.SMALL,sdp:s})}let a={type:e.type,sdp:s};yield this._peerConnection.setRemoteDescription(a),this._log.debug(\"accepted answer: \".concat(s))}catch(s){throw this._log.error(\"failed to accept remote answer \".concat(s)),s}}))}sendMutedFlag(e){var t,i,n;if(e===this.localAuxAudioTrack||e===this.localAuxVideoTrack)return;let r={audio:!(null==(t=this.localMainAudioTrack)||!t.muted),bigVideo:!(null==(i=this.localMainVideoTrack)||!i.muted),auxVideo:!(null==(n=this.localAuxVideoTrack)||!n.muted)};this._log.info(\"send muted state: \".concat(JSON.stringify(r))),this._signalChannel.send(cV,r)}getIsReconnecting(){return this._isReconnecting}reconnect(){return ab(this,null,(function*(){if(!(sb(YV.prototype,this,\"beforeReconnect\").call(this)<0))try{yield this._signalChannel.sendWaitForResponse({command:uV,responseCommand:nV.UNPUBLISH_RESULT,enableLog:!1}),this.closePeerConnection(),this.initialize(),this.isMainStreamPublished&&(yield this.publish({localAudioTrack:this.localMainAudioTrack,localVideoTrack:this.localMainVideoTrack,isAuxiliary:!1})),this.isAuxStreamPublished&&(yield this.publish({localAudioTrack:this.localAuxAudioTrack,localVideoTrack:this.localAuxVideoTrack,isAuxiliary:!0})),this._log.warn(\"reconnect() uplink reconnect successfully\"),this.stopReconnection()}catch(sD){let t=eO(this._reconnectionCount);this._log.warn(\"reconnect() timeout, try again after \".concat(t/1e3,\"s\")),this._reconnectionTimer=setTimeout((()=>{this.clearReconnectionTimer(),this.reconnect()}),t)}}))}handleConnectionStateChange(e){\"CONNECTED\"===e.state&&(this.localMainVideoTrack||this._publishingLocalVideoTrack&&!this._isPublishingAux)&&xO.emit(FO.SEND_FIRST_VIDEO_FRAME,{room:this._room})}updateSSRC(e){try{BV(e).media.forEach(((e,t)=>{if(e.type===LN.AUDIO){let t=e.ssrcs&&e.ssrcs[0];t&&(this.ssrc.audio=Number(t.id))}else{if(this._sdpSemantics===pD&&e.ssrcGroups)return void e.ssrcGroups.forEach(((e,t)=>{let i=Number(e.ssrcs.split(\" \")[0]);0===t?this.ssrc.video=i:1===t&&(this.ssrc.small=i)}));let i=e.ssrcs&&e.ssrcs[0];if(!i)return;switch(t){case 1:this.ssrc.video=Number(i.id);break;case 2:this.ssrc.small=Number(i.id);break;case 3:this.ssrc.auxiliary=Number(i.id)}}}))}catch(sD){}}getVideoTrackId(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:LN.VIDEO;if(this._peerConnection){let t=this._peerConnection.getSenders();if(e===LN.AUXILIARY&&t[3]&&t[3].track)return t[3].track.id;if(e===LN.VIDEO&&t[1]&&t[1].track)return t[1].track.id}if(this.localMainVideoTrack&&e===LN.VIDEO){let e=this.localMainVideoTrack.mediaTrack;if(e)return e.id}if(this.localAuxVideoTrack&&e===LN.AUXILIARY){let e=this.localAuxVideoTrack.mediaTrack;if(e)return e.id}return\"\"}getSSRC(){return this.ssrc}checkPublishResultCode(e,t){if(0!==e)throw e===_D?(this._log.error(KO.NOT_SUPPORTED_H264ENCODE),new gb({code:mb.NOT_SUPPORTED_H264,message:qO({key:JO.NOT_SUPPORTED_H264ENCODE})})):new gb({code:mb.UNKNOWN,message:qO({key:JO.SIGNAL_RESPONSE_FAILED,data:{signalResponse:nV.PUBLISH_RESULT,code:e,message:t}})})}sendSEI(e,t){var i;null==(i=this._sei)||i.push(e,t)}},zV=YV;rb([iL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{let r=e=>{this._emitter.off(\"closed\",r),n(new gb({code:mb.API_CALL_ABORTED,message:qO({key:JO.CONNECTION_ABORTED,data:e})}))};this._emitter.on(\"closed\",r),e.apply(this,i).then(t,n).finally((()=>{this._emitter.off(\"closed\",r)}))}))}))],zV.prototype,\"publish\",1),rb([tL(UV.prototype.afterConnect),eL(UV.prototype.beforeConnect)],zV.prototype,\"connect\",1);var qV=zV,QV=class{constructor(e,t){this.room=e,ob(this,\"_log\"),ob(this,\"_prevReportTime\"),ob(this,\"_prevReport\",{}),ob(this,\"_prevEncoderImplementation\"),ob(this,\"_prevQualityLimitationReason\"),ob(this,\"_prevAuxQualityLimitationReason\"),ob(this,\"_prevDecoderImplementationMap\",new Map),ob(this,\"totalBytesSent\",0),ob(this,\"totalBytesReceived\",0),ob(this,\"_spcStats\",null),this._log=t,this._prevReportTime=0,this._prevEncoderImplementation=\"\",this._prevQualityLimitationReason=\"\",this._prevAuxQualityLimitationReason=\"\"}get statInterval(){return 0===this._prevReportTime?2:(Date.now()-this._prevReportTime)/1e3}getSenderStats(e){return ab(this,null,(function*(){let t={audio:{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0},video:{bytesSent:0,packetsSent:0,framesEncoded:0,frameWidth:0,frameHeight:0,framesSent:0,fpsCapture:0},small:{bytesSent:0,packetsSent:0,framesEncoded:0,frameWidth:0,frameHeight:0,framesSent:0,fpsCapture:0},auxiliary:{bytesSent:0,packetsSent:0,framesEncoded:0,frameWidth:0,frameHeight:0,framesSent:0,fpsCapture:0},rtt:0},i=e.getPeerConnection(),n=e.getSSRC();if(i)try{if((this._spcStats||(yield i.getStats())).forEach((i=>{if(\"outbound-rtp\"===i.type)if((i.mediaType||i.kind)===LN.VIDEO){let r,o;if(i.ssrc===n.video?(r=LN.VIDEO,o=e.localMainVideoTrack):i.ssrc===n.small?r=LN.SMALL:i.ssrc===n.auxiliary&&(o=e.localAuxVideoTrack,r=LN.AUXILIARY),!r)return;t[r].bytesSent=i.bytesSent,t[r].packetsSent=i.packetsSent,t[r].framesEncoded=i.framesEncoded,nO(i.keyFramesEncoded)||(t[r].keyFramesEncoded=i.keyFramesEncoded),nO(i.nackCount)||(t[r].nackCount=i.nackCount),nO(i.pliCount)||(t[r].pliCount=i.pliCount),nO(i.retransmittedPacketsSent)||(t[r].retransmittedPacketsSent=i.retransmittedPacketsSent),nO(i.totalEncodeTime)||(t[r].totalEncodeTime=i.totalEncodeTime),nO(i.totalPacketSendDelay)||(t[r].totalPacketSendDelay=i.totalPacketSendDelay),i.ssrc===n.video?(!nO(i.encoderImplementation)&&this._prevEncoderImplementation!==i.encoderImplementation&&(this._log.info(\"encoderImplementation change to \".concat(i.encoderImplementation)),this._prevEncoderImplementation=i.encoderImplementation),!nO(i.qualityLimitationReason)&&0!==i.bytesSent&&this._prevQualityLimitationReason!==i.qualityLimitationReason&&(this._log.info(\"qualityLimitationReason change to \".concat(i.qualityLimitationReason)),this._prevQualityLimitationReason=i.qualityLimitationReason)):i.ssrc===n.auxiliary&&!nO(i.qualityLimitationReason)&&0!==i.bytesSent&&this._prevAuxQualityLimitationReason!==i.qualityLimitationReason&&(this._log.info(\"aux qualityLimitationReason change to \".concat(i.qualityLimitationReason)),this._prevAuxQualityLimitationReason=i.qualityLimitationReason)}else t.audio.bytesSent=i.bytesSent,t.audio.packetsSent=i.packetsSent;else\"candidate-pair\"===i.type?uw(i)&&oO(i.currentRoundTripTime)&&(t.rtt=Math.floor(1e3*i.currentRoundTripTime),this.totalBytesSent=i.bytesSent):\"media-source\"===i.type&&(i.kind===LN.AUDIO?(t.audio.audioLevel=i.audioLevel||0,t.audio.totalAudioEnergy=i.totalAudioEnergy||0):i.kind===LN.VIDEO&&(i.trackIdentifier===e.getVideoTrackId(LN.VIDEO)?t.video.fpsCapture=i.framesPerSecond:i.trackIdentifier===e.getVideoTrackId(LN.AUXILIARY)?t.auxiliary.fpsCapture=i.framesPerSecond:t.small.fpsCapture=i.framesPerSecond));if(nO(i.audioLevel)||(t.audio.audioLevel=i.audioLevel||0),!nO(i.frameWidth)){let r=LN.SMALL;i.trackIdentifier===e.getVideoTrackId(LN.VIDEO)||i.ssrc===n.video?r=LN.VIDEO:(i.trackIdentifier===e.getVideoTrackId(LN.AUXILIARY)||i.ssrc===n.auxiliary)&&(r=LN.AUXILIARY),t[r].frameWidth=i.frameWidth,t[r].frameHeight=i.frameHeight,t[r].framesSent=i.framesSent}})),e.localMainAudioTrack){let i=e.localMainAudioTrack.getInternalAudioLevel();t.audio.micAudioLevel=i,0===t.audio.audioLevel&&(t.audio.audioLevel=i)}this.totalBytesSent||(this.totalBytesSent+=t.audio.bytesSent+t.video.bytesSent+t.auxiliary.bytesSent)}catch(r){this._log.warn(\"failed to getStats on sender connection \".concat(r))}return t}))}getReceiverStats(e){return ab(this,null,(function*(){let t={tinyId:e.tinyId,userId:e.userId,rtt:0,hasAudio:!1,hasVideo:!1,hasAuxiliary:!1,isSmallSubscribed:!1,audio:{bytesReceived:0,packetsReceived:0,packetsLost:0,jitter:0,audioLevel:0,totalAudioEnergy:0,insertedSamplesForDeceleration:0,removedSamplesForAcceleration:0},video:{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,fpsDecoded:0},auxiliary:{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,fpsDecoded:0}},i=e.getPeerConnection();if(i)try{let{ssrc:n}=e,{muteState:r,subscribeState:o}=e;(this._spcStats||(yield i.getStats())).forEach((i=>{if(\"inbound-rtp\"===i.type)if((i.mediaType||i.kind)===LN.AUDIO){if(i.ssrc!==n.audio||!r.hasAudio)return;t.audio.packetsReceived=i.packetsReceived,t.audio.bytesReceived=i.bytesReceived,t.audio.packetsLost=i.packetsLost,i.insertedSamplesForDeceleration&&(t.audio.insertedSamplesForDeceleration=i.insertedSamplesForDeceleration),i.removedSamplesForAcceleration&&(t.audio.removedSamplesForAcceleration=i.removedSamplesForAcceleration);let{remoteAudioTrack:o}=e;o.stat.packetsReceived=i.packetsReceived,o.stat.bytesReceived=i.bytesReceived,o.stat.packetsLost=i.packetsLost,i.jitterBufferDelay&&(o.stat.jitterBufferDelay=Math.floor(i.jitterBufferDelay/i.jitterBufferEmittedCount*1e3)),t.hasAudio=!0}else{if(Ub&&0===i.bytesReceived)return;let s;i.ssrc===n.video&&r.hasVideo&&(t.video.packetsReceived=i.packetsReceived,t.video.bytesReceived=i.bytesReceived,t.video.packetsLost=i.packetsLost,t.video.framesReceived=i.framesReceived,t.video.framesDecoded=i.framesDecoded,t.video.fpsDecoded=i.framesPerSecond,t.hasVideo=!0,s=e.remoteVideoTrack,r.hasSmall&&o.smallVideo&&(t.isSmallSubscribed=!0),i.decoderImplementation&&(!this._prevDecoderImplementationMap.has(t.userId)||this._prevDecoderImplementationMap.get(t.userId)!==i.decoderImplementation)&&(this._log.info(\"\".concat(t.userId,\" decoderImplementation change to \").concat(i.decoderImplementation)),this._prevDecoderImplementationMap.set(t.userId,i.decoderImplementation))),i.ssrc===n.auxiliary&&r.hasAuxiliary&&(t.auxiliary.packetsReceived=i.packetsReceived,t.auxiliary.bytesReceived=i.bytesReceived,t.auxiliary.packetsLost=i.packetsLost,t.auxiliary.framesReceived=i.framesReceived,t.auxiliary.framesDecoded=i.framesDecoded,t.auxiliary.fpsDecoded=i.framesPerSecond,s=e.remoteAuxiliaryTrack,t.hasAuxiliary=!0),s&&(s.stat.packetsReceived=i.packetsReceived,s.stat.bytesReceived=i.bytesReceived,s.stat.packetsLost=i.packetsLost,s.stat.framesReceived=i.framesReceived,s.stat.framesDecoded=i.framesDecoded,i.jitterBufferDelay&&(s.stat.jitterBufferDelay=Math.floor(i.jitterBufferDelay/i.jitterBufferEmittedCount*1e3)))}else\"candidate-pair\"===i.type&&uw(i)&&oO(i.currentRoundTripTime)&&(t.rtt=Math.floor(1e3*i.currentRoundTripTime),this.totalBytesReceived=i.bytesReceived);nO(i.frameWidth)||((i.trackIdentifier===e.getMainStreamVideoTrackId()||i.ssrc===n.video)&&(t.video.frameWidth=i.frameWidth,t.video.frameHeight=i.frameHeight,e.remoteVideoTrack.stat.frameWidth=i.frameWidth,e.remoteVideoTrack.stat.frameHeight=i.frameHeight),(i.trackIdentifier===e.getAuxStreamVideoTrackId()||i.ssrc===n.auxiliary)&&(t.auxiliary.frameWidth=i.frameWidth,t.auxiliary.frameHeight=i.frameHeight,e.remoteAuxiliaryTrack.stat.frameWidth=i.frameWidth,e.remoteAuxiliaryTrack.stat.frameHeight=i.frameHeight)),nO(i.audioLevel)||(t.audio.audioLevel=i.audioLevel||0,t.audio.totalAudioEnergy=i.totalAudioEnergy||0)})),0===t.audio.audioLevel&&(t.audio.audioLevel=e.remoteAudioTrack.getInternalAudioLevel()||0),this.totalBytesReceived||(this.totalBytesReceived+=t.audio.bytesReceived+t.video.bytesReceived+t.auxiliary.bytesReceived)}catch(aN){this._log.warn(\"failed to getStats on receiver connection \".concat(aN))}return t}))}getStats(e,t){return ab(this,null,(function*(){let i={},n=[];if(this.room.singlePC){let e=this.room.singlePC.getPeerConnection();if(!e)return{senderStats:i,receiverStats:n};let t=yield e.getStats(),r=[],o=new Set([\"inbound-rtp\",\"outbound-rtp\",\"track\",\"candidate-pair\",\"media-source\"]);t.forEach((e=>o.has(e.type)&&r.push(e))),this._spcStats=r}e&&(i=yield this.getSenderStats(e));for(let[e,r]of t){let e=yield this.getReceiverStats(r);n.push(e)}return{senderStats:i,receiverStats:n}}))}getDifferenceValue(e,t){if(xP(e))return t;let i=t-e;return i<0?0:i}prepareReport(e){let{stats:t,report:i,freezeMap:n}=e;if(!xP(t.senderStats)){let e={uint32_audio_level:t.senderStats.audio.audioLevel*xD,uint32_audio_energy:1e6*t.senderStats.audio.totalAudioEnergy,uint32_audio_codec_bitrate:t.senderStats.audio.bytesSent};t.senderStats.audio.micAudioLevel&&(e.uint32_mic_audio_level=t.senderStats.audio.micAudioLevel*xD);let n=[];if(t.senderStats.video.bytesSent){let e={uint32_video_stream_type:2,uint32_video_codec_fps:t.senderStats.video.framesSent,uint32_video_capture_fps:t.senderStats.video.fpsCapture,uint32_video_width:t.senderStats.video.frameWidth,uint32_video_height:t.senderStats.video.frameHeight,uint32_video_codec_bitrate:t.senderStats.video.bytesSent,uint32_video_enc_fps:t.senderStats.video.framesEncoded,uint32_key_frame_count:t.senderStats.video.keyFramesEncoded,uint32_nack_count:t.senderStats.video.nackCount,uint32_pli_count:t.senderStats.video.pliCount,uint32_encode_cost:1e3*(t.senderStats.video.totalEncodeTime||0),uint32_send_packet_cost:1e3*(t.senderStats.video.totalPacketSendDelay||0),uint32_video_arq_packets:t.senderStats.video.retransmittedPacketsSent};n.push(e)}if(t.senderStats.small.bytesSent){let e={uint32_video_stream_type:3,uint32_video_codec_fps:t.senderStats.small.framesSent||0,uint32_video_capture_fps:t.senderStats.small.fpsCapture||0,uint32_video_width:t.senderStats.small.frameWidth||0,uint32_video_height:t.senderStats.small.frameHeight||0,uint32_video_codec_bitrate:t.senderStats.small.bytesSent,uint32_video_enc_fps:t.senderStats.small.framesEncoded||0,uint32_key_frame_count:t.senderStats.small.keyFramesEncoded,uint32_nack_count:t.senderStats.small.nackCount,uint32_pli_count:t.senderStats.small.pliCount,uint32_encode_cost:1e3*(t.senderStats.small.totalEncodeTime||0),uint32_send_packet_cost:1e3*(t.senderStats.small.totalPacketSendDelay||0),uint32_video_arq_packets:t.senderStats.small.retransmittedPacketsSent};n.push(e)}if(t.senderStats.auxiliary.bytesSent){let e={uint32_video_stream_type:7,uint32_video_codec_fps:t.senderStats.auxiliary.framesSent||0,uint32_video_capture_fps:t.senderStats.auxiliary.fpsCapture||0,uint32_video_width:t.senderStats.auxiliary.frameWidth||0,uint32_video_height:t.senderStats.auxiliary.frameHeight||0,uint32_video_codec_bitrate:t.senderStats.auxiliary.bytesSent,uint32_video_enc_fps:t.senderStats.auxiliary.framesEncoded||0,uint32_key_frame_count:t.senderStats.auxiliary.keyFramesEncoded,uint32_nack_count:t.senderStats.auxiliary.nackCount,uint32_pli_count:t.senderStats.auxiliary.pliCount,uint32_encode_cost:1e3*(t.senderStats.auxiliary.totalEncodeTime||0),uint32_send_packet_cost:1e3*(t.senderStats.auxiliary.totalPacketSendDelay||0),uint32_video_arq_packets:t.senderStats.auxiliary.retransmittedPacketsSent};n.push(e)}let r={uint32_bitrate:0,uint32_lost:0,uint32_rtt:t.senderStats.rtt};i.msg_up_stream_info={msg_audio_status:e,msg_video_status:n,msg_network_status:r}}let{statInterval:r}=this;i.msg_down_stream_info=[],t.receiverStats.forEach((e=>{let t={msg_user_info:{str_identifier:e.userId,uint64_tinyid:e.tinyId},msg_network_status:{uint32_rtt:e.rtt,uint32_bitrate:0,uint32_lost:0},msg_audio_status:{},msg_video_status:[]};if(e.hasAudio){let i={uint32_audio_codec_bitrate:e.audio.bytesReceived,uint32_audio_total_bitrate:e.audio.bytesReceived,uint32_audio_level:1e8*e.audio.audioLevel,uint32_audio_energy:1e6*e.audio.totalAudioEnergy,uint32_audio_receive:e.audio.packetsReceived,uint32_audio_origin_lost:e.audio.packetsLost};t.msg_audio_status=i}if(e.hasVideo){let i=n.get(\"\".concat(e.userId,\"_\").concat(KN)),r=i?i.duration:0,o={uint32_video_stream_type:e.isSmallSubscribed?3:2,uint32_video_receive_fps:e.video.framesReceived,uint32_video_width:e.video.frameWidth,uint32_video_height:e.video.frameHeight,uint32_video_codec_bitrate:e.video.bytesReceived,uint32_video_receive:e.video.packetsReceived,uint32_video_origin_lost:e.video.packetsLost,uint32_video_block_time:r,uint32_video_dec_fps:e.video.framesDecoded};t.msg_video_status.push(o)}if(e.hasAuxiliary){let i=n.get(\"\".concat(e.userId,\"_\").concat(YN)),r=i?i.duration:0,o={uint32_video_stream_type:7,uint32_video_receive_fps:e.auxiliary.framesReceived,uint32_video_width:e.auxiliary.frameWidth,uint32_video_height:e.auxiliary.frameHeight,uint32_video_codec_bitrate:e.auxiliary.bytesReceived,uint32_video_receive:e.auxiliary.packetsReceived+e.auxiliary.packetsLost,uint32_video_origin_lost:e.auxiliary.packetsLost,uint32_video_block_time:r,uint32_video_dec_fps:e.auxiliary.framesDecoded};t.msg_video_status.push(o)}i.msg_down_stream_info.push(t)}));let o=this._prevReport;if(this._prevReport=JSON.parse(JSON.stringify(i)),i.msg_up_stream_info.msg_audio_status&&o.msg_up_stream_info.msg_audio_status){let e=o.msg_up_stream_info.msg_audio_status,t=i.msg_up_stream_info.msg_audio_status;if(0===e.uint32_audio_codec_bitrate)t.uint32_audio_codec_bitrate=0;else{let n=this.getDifferenceValue(e.uint32_audio_codec_bitrate,t.uint32_audio_codec_bitrate);t.uint32_audio_codec_bitrate=Math.round(8*n/r),i.msg_up_stream_info.msg_network_status.uint32_bitrate+=t.uint32_audio_codec_bitrate}}let s=o.msg_up_stream_info.msg_video_status;i.msg_up_stream_info.msg_video_status.forEach((e=>{let t=s.find((t=>t.uint32_video_stream_type===e.uint32_video_stream_type));if(!t||0===t.uint32_video_codec_bitrate)return e.uint32_video_codec_bitrate=0,e.uint32_video_enc_fps=0,void(e.uint32_video_codec_fps=0);let n=0,o=0,a=0;t&&e.uint32_video_codec_bitrate>=t.uint32_video_codec_bitrate&&(n=t.uint32_video_codec_bitrate,o=t.uint32_video_enc_fps,a=t.uint32_video_codec_fps);let c=this.getDifferenceValue(n,e.uint32_video_codec_bitrate);e.uint32_video_codec_bitrate=Math.round(8*c/r),i.msg_up_stream_info.msg_network_status.uint32_bitrate+=e.uint32_video_codec_bitrate,e.uint32_video_enc_fps=Math.round(this.getDifferenceValue(o,e.uint32_video_enc_fps)/r),e.uint32_video_codec_fps=Math.round(this.getDifferenceValue(a,e.uint32_video_codec_fps)/r),_k&&115===wk()&&0===t.uint32_video_width&&0===t.uint32_video_height&&0===t.uint32_video_codec_fps&&(e.uint32_video_codec_fps=e.uint32_video_enc_fps),nO(t.uint32_key_frame_count)||(e.uint32_key_frame_count=Math.round(this.getDifferenceValue(t.uint32_key_frame_count,e.uint32_key_frame_count))),nO(t.uint32_nack_count)||(e.uint32_nack_count=Math.round(this.getDifferenceValue(t.uint32_nack_count,e.uint32_nack_count))),nO(t.uint32_pli_count)||(e.uint32_pli_count=Math.round(this.getDifferenceValue(t.uint32_pli_count,e.uint32_pli_count))),nO(t.uint32_video_arq_packets)||(e.uint32_video_arq_packets=Math.round(this.getDifferenceValue(t.uint32_video_arq_packets,e.uint32_video_arq_packets))),nO(t.uint32_encode_cost)||(e.uint32_encode_cost=Math.round(this.getDifferenceValue(t.uint32_encode_cost,e.uint32_encode_cost)/r)),nO(t.uint32_send_packet_cost)||(e.uint32_send_packet_cost=Math.round(this.getDifferenceValue(t.uint32_send_packet_cost,e.uint32_send_packet_cost)/r))}));let a=i.msg_down_stream_info,c=o.msg_down_stream_info;return a.forEach((e=>{let t=c.find((t=>t.msg_user_info.uint64_tinyid===e.msg_user_info.uint64_tinyid));if(t){if(xP(e.msg_audio_status)||xP(t.msg_audio_status))e.msg_audio_status={};else{let i=e.msg_audio_status,n=t.msg_audio_status;i.uint32_audio_origin_lost=this.getDifferenceValue(n.uint32_audio_origin_lost,i.uint32_audio_origin_lost),i.uint32_audio_receive=this.getDifferenceValue(n.uint32_audio_receive,i.uint32_audio_receive),i.uint32_audio_receive+=i.uint32_audio_origin_lost;let o=this.getDifferenceValue(n.uint32_audio_codec_bitrate,i.uint32_audio_codec_bitrate);i.uint32_audio_codec_bitrate=Math.round(8*o/r),i.uint32_audio_total_bitrate=Math.round(8*o/r)}if(e.msg_video_status&&t.msg_video_status){let i=t.msg_video_status;e.msg_video_status=e.msg_video_status.filter((e=>i.find((t=>t.uint32_video_stream_type===e.uint32_video_stream_type)))),e.msg_video_status.forEach((e=>{let t=i.find((t=>t.uint32_video_stream_type===e.uint32_video_stream_type)),n=t.uint32_video_receive,o=t.uint32_video_origin_lost,s=t.uint32_video_codec_bitrate,a=t.uint32_video_receive_fps,c=t.uint32_video_dec_fps;e.uint32_video_origin_lost=this.getDifferenceValue(o,e.uint32_video_origin_lost),e.uint32_video_receive=this.getDifferenceValue(n,e.uint32_video_receive)+e.uint32_video_origin_lost;let l=this.getDifferenceValue(s,e.uint32_video_codec_bitrate);e.uint32_video_codec_bitrate=Math.round(8*l/r);let d=this.getDifferenceValue(a,e.uint32_video_receive_fps);e.uint32_video_receive_fps=Math.round(d/r),e.uint32_video_dec_fps=Math.round(this.getDifferenceValue(c,e.uint32_video_dec_fps)/r)}))}}})),i}getStatsReport(e){return ab(this,arguments,(function(e){var t=this;let{uplinkConnection:i,downlinkConnections:n,freezeMap:r}=e;return function*(){let e={msg_up_stream_info:{msg_audio_status:{uint32_audio_format:11,uint32_audio_sample_rate:0,uint32_audio_codec_bitrate:0,uint32_audio_receive:0,uint32_audio_origin_lost:0,uint32_audio_level:0,uint32_audio_energy:0},msg_video_status:[],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0}},msg_down_stream_info:[{msg_user_info:{str_identifier:\"\",uint64_tinyid:0},msg_audio_status:{uint32_audio_format:11,uint32_audio_sample_rate:0,uint32_audio_codec_bitrate:0,uint32_audio_total_bitrate:0,uint32_audio_level:0,uint32_audio_energy:0,uint32_audio_receive:0,uint32_audio_origin_lost:0,uint32_audio_final_lost:0},msg_video_status:[{uint32_video_stream_type:0,uint32_video_receive_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_codec_bitrate:0,uint32_video_receive:0,uint32_video_origin_lost:0,uint32_video_block_time:0,uint32_video_dec_fps:0}],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0}}]},o=yield t.getStats(i,n);return\"{}\"===JSON.stringify(t._prevReport)&&(t._prevReport=JSON.parse(JSON.stringify(e))),t.prepareReport({stats:o,report:e,freezeMap:r}),t._prevReportTime=Date.now(),e}()}))}reset(){this._prevReportTime=0,this._prevReport={},this._prevEncoderImplementation=\"\",this._prevQualityLimitationReason=\"\",this._prevDecoderImplementationMap=new Map}},XV=nb(cb()),ZV=class extends XV.default{constructor(e){let{signalChannel:t,room:i}=e;super(),ob(this,\"_room\"),ob(this,\"_signalChannel\"),ob(this,\"_log\"),ob(this,\"_uplinkRTT\",0),ob(this,\"_uplinkLoss\",0),ob(this,\"_downlinkRTT\",0),ob(this,\"_downlinkLoss\",0),ob(this,\"_downlinkPrevStatMap\",new Map),ob(this,\"_downlinkLossAndRTTMap\",new Map),ob(this,\"_interval\",-1),ob(this,\"_uplinkNetworkQuality\",0),ob(this,\"_downlinkNetworkQuality\",0),this._room=i,this._signalChannel=t,this._log=HO.createLogger({id:\"q\",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),this.initialize()}get uplinkNetworkQuality(){return this._uplinkNetworkQuality}set uplinkNetworkQuality(e){e!==this._uplinkNetworkQuality&&this._log.info(\"uplink \".concat(this.uplinkNetworkQuality,\" -> \").concat(e,\", rtt: \").concat(this._uplinkRTT,\", loss: \").concat(this._uplinkLoss)),this._uplinkNetworkQuality=e}get downlinkNetworkQuality(){return this._downlinkNetworkQuality}set downlinkNetworkQuality(e){if(e!==this._downlinkNetworkQuality){let{rtt:t,loss:i}=this.getAverageLossAndRTT([...this._downlinkLossAndRTTMap.values()]);this._log.info(\"downlink \".concat(this.downlinkNetworkQuality,\" -> \").concat(e,\", rtt: \").concat(t,\", loss: \").concat(i))}this._downlinkNetworkQuality=e}initialize(){this._signalChannel.on(nV.UPLINK_NETWORK_STATS,(e=>{this.handleUplinkNetworkQuality(e)})),this._signalChannel.on(qM,this.handleSignalConnectionStateChange.bind(this)),this.start()}handleUplinkNetworkQuality(e){var t,i;if(0!==e.data.code)return;let n=e.data.data;if(n.delay&&this.updateDelay(n.delay),!this._room.uplinkConnection)return this.uplinkNetworkQuality=0,this._uplinkLoss=0,void(this._uplinkRTT=0);let r=null==(i=null==(t=this._room)?void 0:t.uplinkConnection)?void 0:i.getPeerConnection();if(r&&this.isPeerConnectionDisconnected(r))return this.uplinkNetworkQuality=6,this._uplinkLoss=0,void(this._uplinkRTT=0);let o=n.expectAudPkg+n.expectVidPkg,s=n.recvAudPkg+n.recvVidPkg,a=o-s;0===o&&0===s||(this._uplinkLoss=a<=0?0:Math.round(a/o*100),this._uplinkRTT=n.rtt,this.uplinkNetworkQuality=this.getNetworkQuality(this._uplinkLoss,this._uplinkRTT))}handleDownlinkNetworkQuality(){return ab(this,null,(function*(){if(0===this._room.remotePublishedUserMap.size)return void(this.downlinkNetworkQuality=0);let e=[...this._room.remotePublishedUserMap.values()],t=e.filter((e=>{var t;return(null==(t=e.getPeerConnection())?void 0:t.connectionState)===iD.CONNECTED}));if(e.filter((e=>this.isPeerConnectionDisconnected(e.getPeerConnection()))).length===e.length)return void(this.downlinkNetworkQuality=6);for(let r=0;r{this.isPeerConnectionDisconnected(e)&&(this._downlinkPrevStatMap.delete(e),this._downlinkLossAndRTTMap.delete(e))})),0===this._downlinkLossAndRTTMap.size)return;let{rtt:i,loss:n}=this.getAverageLossAndRTT([...this._downlinkLossAndRTTMap.values()]);this._downlinkRTT=i,this._downlinkLoss=n,this.downlinkNetworkQuality=this.getNetworkQuality(n,i)}))}getStat(e){return ab(this,null,(function*(){let t={rtt:0,totalPacketsLost:0,totalPacketsReceived:0};if(!e||!Tw())return t;let i=e.getReceivers();try{for(let e=0;e{\"candidate-pair\"===e.type&&oO(e.currentRoundTripTime)&&(t.rtt=Math.round(1e3*e.currentRoundTripTime)),\"inbound-rtp\"===e.type&&(e.mediaType===LN.AUDIO||e.mediaType===LN.VIDEO)&&(t.totalPacketsLost+=e.packetsLost,t.totalPacketsReceived+=e.packetsReceived)}));return t}catch(n){return t}}))}getAverageLossAndRTT(e){let t={rtt:0,loss:0};return Array.isArray(e)&&e.length>0&&(e.forEach((e=>{t.rtt+=e.rtt,t.loss+=e.loss})),Object.keys(t).forEach((i=>{t[i]=Math.round(t[i]/e.length)}))),t}getNetworkQuality(e,t){return e>50||t>500?5:e>30||t>350?4:e>20||t>200?3:e>10||t>100?2:e>=0||t>=0?1:0}handleSignalConnectionStateChange(e){e.state===ZM?(this._uplinkRTT=0,this._uplinkLoss=0,this.uplinkNetworkQuality=6):e.state===eV&&6===this.uplinkNetworkQuality&&(this.uplinkNetworkQuality=5)}handleUplinkConnectionStateChange(e){let{state:t}=e;\"DISCONNECTED\"===t?(this._uplinkLoss=0,this._uplinkRTT=0,this.uplinkNetworkQuality=6):\"CONNECTED\"===t&&6===this.uplinkNetworkQuality&&(this.uplinkNetworkQuality=5)}isPeerConnectionDisconnected(e){return!(!e||e.connectionState!==iD.DISCONNECTED&&e.connectionState!==iD.FAILED&&e.connectionState!==iD.CLOSED)}setUplinkConnection(e){this._room.uplinkConnection=e,this._room.uplinkConnection?this._room.uplinkConnection.on(\"connection-state-changed\",this.handleUplinkConnectionStateChange.bind(this)):(this.uplinkNetworkQuality=0,this._uplinkRTT=0,this._uplinkLoss=0)}start(){-1===this._interval?(this._log.debug(\"start network quality calculating\"),this._interval=zw.run(wD,(()=>{this.handleDownlinkNetworkQuality();let e=[...this._downlinkLossAndRTTMap.values()];xO.emit(FO.NETWORK_QUALITY,{room:this._room,uplink:{rtt:this._uplinkRTT,loss:this._uplinkLoss},downlinks:e}),this.emit(ZV.EVENT_NETWORK_QUALITY,{uplinkNetworkQuality:this.uplinkNetworkQuality,downlinkNetworkQuality:this.downlinkNetworkQuality,uplinkRTT:this._uplinkRTT,uplinkLoss:this._uplinkLoss,downlinkRTT:this._downlinkRTT,downlinkLoss:this._downlinkLoss,downlinkInfo:e})}),{delay:2e3})):this._log.info(\"network quality calculating is already started\")}stop(){this._log.debug(\"stopped\"),-1!==this._interval&&(zw.clearTask(this._interval),this._interval=-1),this._downlinkLossAndRTTMap.clear(),this._downlinkPrevStatMap.clear()}updateDelay(e){let{tinyIdToUserIdMap:t}=this._room;e.forEach((e=>{let{srcTinyId:i,videoDelay:n,audioDelay:r}=e,o=t.get(i);if(o){let e=this._room.remotePublishedUserMap.get(o);null==e||e.setDelay({videoDelay:n,audioDelay:r})}}))}},$V=ZV;ob($V,\"EVENT_NETWORK_QUALITY\",\"0\");var ex=new WeakMap;function tx(e){let{settings:t={retries:5,timeout:2e3},onError:i,onRetrying:n,onRetryFailed:r}=e;return function(e,o,s){let a=MO({retryFunction:s.value,settings:t,onError(t){let{error:n,retry:r,reject:s,retryFuncArgs:a}=t;i&&i.call(this,n,(()=>{var t;null!=(t=ex.get(e))&&t.has(o)?r():s(n)}),s,a)},onRetrying:(t,i)=>{var r;iO(n)&&n(t,i),null!=(r=ex.get(e))&&r.has(o)&&(ex.get(e).get(o).stopRetry=i)},onRetryFailed:r});return s.value=function(){let t=ex.get(e);for(var i=arguments.length,n=new Array(i),r=0;r{var t;return null==(t=ex.get(e))?void 0:t.delete(o)}))},s}}function ix(e){let{fnName:t,callback:i,validateArgs:n=!0}=e;return function(e,r,o){let s=o.value;return o.value=function(){for(var r,o,a=arguments.length,c=new Array(a),l=0;lt===e))){a=!1;break}a&&(i&&i.apply(this,c),r&&r(),null==(o=ex.get(e))||o.delete(t))}return s.apply(this,c)},o}}var nx=class{constructor(e){this._signalInfo={tinyId:void 0,clientIp:\"\",signalIp:\"\",relayIp:\"\",relayInnerIp:\"\",relayPort:0},this._apiSuccessRateMap=new Map,this._eventMap=new Map,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=HO.createLogger({id:\"kpm\",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith(\"handle\")&&iO(this[e])&&(this[e]=function(e){let{fn:t,context:i}=e;return function(){try{for(var e=arguments.length,n=new Array(e),r=0;rHO.error(\"\".concat(t.name,\"() error observed \").concat(e)))):o}catch(sD){HO.error(\"\".concat(t.name,\"() error observed \").concat(sD))}}}({fn:this[e],context:this}))})),this.initData(),this.installEvents(),this._intervalId=zw.run(wD,this.setStorage.bind(this),{delay:2e4})}get _storageKey(){return\"\".concat(this._keyPrefix,\"_\").concat(this._room.userId)}initData(){this._firstPublishedUserList=[],this._networkQuality={totalUplinkRTT:0,totalUplinkLoss:0,count:0,totalDownlinkRTTAndLossMap:new Map},this._basicInfo={string_sdk_version:rN,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:kN[GD()],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,this._apiSuccessRateMap.clear(),Zk().then((e=>{this._basicInfo.string_os_version=tN(),e&&(this._basicInfo.string_device_name=e.model)}))}addEvent(e,t){return this._eventMap.set(e,t),xO.on(e,t),this}installEvents(){this.handleUnload=this.handleUnload.bind(this),window.addEventListener(\"unload\",this.handleUnload),this._room.once(\"banned\",(()=>this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId}))),this.addEvent(FO.JOIN_START,this.handleJoinStart).addEvent(FO.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(FO.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(FO.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(FO.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(FO.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(FO.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(FO.JOIN_FAILED,this.handleJoinFailed).addEvent(FO.LEAVE_START,this.handleLeaveStart).addEvent(FO.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(FO.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(FO.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(FO.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(FO.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(FO.PUBLISH_START,this.handlePublishStart).addEvent(FO.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(FO.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(FO.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(FO.PLAY_TRACK_START,this.handlePlayStart).addEvent(FO.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(FO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:i,type:n}=e;!dO(t)||!this.hitTest(t.room)||\"PLAYING\"===i&&(n===LN.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(FO.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(FO.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(FO.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(FO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:i,muteState:n}=e;if(!this.hitTest(t))return;let r=i.hasAudio||i.hasVideo||i.hasSmall,o=i.hasAuxiliary,s=n.hasAudio||n.hasVideo||n.hasSmall,a=n.hasAuxiliary;!r&&s&&this.handleRemoteStreamAdded(n.userId,\"main\"),!o&&a&&this.handleRemoteStreamAdded(n.userId,\"auxiliary\")})).addEvent(FO.API_SUCCESS_RATE,this.handleAPISuccessRate).addEvent(FO.SINGLE_CONNECTION_STAT,(e=>{let{room:t,stat:i}=e;this.hitTest(t)&&(this._pathJoinRoom.int32_ice_cost=i.ice,this._pathJoinRoom.int32_dtls_cost=i.dtls,this._pathJoinRoom.int32_peer_connection_cost=i.peerConnection)}))}uninstallEvents(){window.removeEventListener(\"unload\",this.handleUnload),this._eventMap.forEach(((e,t)=>xO.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),zw.clearTask(this._intervalId)}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(),this.checkStorage()),e.params&&(nO(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),nO(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),nO(e.params.language)||(this._language=e.params.language,this._basicInfo.uint32_caller_coding_language=this._language)))}handleJoinScheduleSuccess(e){let{room:t,detailCost:i}=e;if(this.hitTest(t)&&i){let{totalCost:e,local:t,dns:n,tcp:r,tls:o,request:s,response:a}=i;this._pathJoinRoom.int32_schedule_cost=e,this._pathJoinRoom.int32_schedule_local=t,this._pathJoinRoom.int32_schedule_dns=n,this._pathJoinRoom.int32_schedule_tcp=r,this._pathJoinRoom.int32_schedule_tls=o,this._pathJoinRoom.int32_schedule_request=s,this._pathJoinRoom.int32_schedule_response=a}}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:i}=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(),i&&(this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret=i instanceof gb?Number(i.getExtraCode()||i.getCode()):mb.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:i}=e;this.hitTest(t)&&(this._pathJoinRoom.uint64_end_time=Date.now(),0===this._pathJoinRoom.int32_end_ret&&(this._pathJoinRoom.int32_end_ret=i.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())}handleRemoteStreamAdded(e,t){var i;let n=\"\".concat(e,\"_\").concat(t);if(!this._remoteStreamStatMap.has(n)){let r={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:eb($C({},sx),{msg_user_info:new ax({userId:e,tinyId:null==(i=this._room.remotePublishedUserMap.get(e))?void 0:i.tinyId,role:20})})};r.statsToReport.uint32_stream_type=\"main\"===t?2:7,this._remoteStreamStatMap.set(n,r)}}handleSubscribeStart(e){let{room:t,remotePublishedUser:i,streamType:n,subscribeState:r}=e;if(!this.hitTest(t))return;let{userId:o,tinyId:s,role:a}=i,c=new ax({userId:o,tinyId:s,role:\"anchor\"===a?20:21}),l=Date.now(),d=\"\".concat(o,\"_\").concat(n),u=this._remoteStreamStatMap.get(d);u&&0===u.subscribeStartTime&&(u.subscribeStartTime=l),\"main\"===n?(i.muteState.hasVideo&&(r.video||r.smallVideo)&&!this._pathMainVideoMap.has(d)&&this._pathMainVideoMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_render_first_frame_time:0,uint64_combine_first_frame_time:0},userId:o,sendSubscribeCMDTime:l}),i.muteState.hasAudio&&r.audio&&!this._pathMainAudioMap.has(d)&&this._pathMainAudioMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_play_first_frame_time:0},userId:o,sendSubscribeCMDTime:l})):i.muteState.hasAuxiliary&&r.auxiliary&&!this._pathAuxiliaryMap.has(d)&&this._pathAuxiliaryMap.set(d,{sendSubscribeCMDTime:l})}handleSubscribed(e){let{room:t,remotePublishedUser:i,streamType:n}=e;if(this.hitTest(t)){let e=\"\".concat(i.userId,\"_\").concat(n),t=this._remoteStreamStatMap.get(e);t&&0===t.subscribedTime&&(t.subscribedTime=Date.now())}}handlePlayStart(e){let{track:t}=e;if(!dO(t)||!this.hitTest(t.room))return;let i=\"\".concat(t.userId,\"_\").concat(t.streamType),n=this._remoteStreamStatMap.get(i);0===(null==n?void 0:n.playStreamTime)&&(n.playStreamTime=Date.now())}handleVideoLoadedData(e){let{track:t}=e;if(!dO(t)||!this.hitTest(t.room))return;let i=\"\".concat(t.userId,\"_\").concat(t.streamType),n=this._pathMainVideoMap.get(i);n&&0===n.statsToReport.uint64_combine_first_frame_time&&(n.statsToReport.uint64_combine_first_frame_time=Date.now())}handleVideoPlaying(e){let t=\"\".concat(e.userId,\"_\").concat(e.streamType),i=Date.now(),n=this._pathMainVideoMap.get(t),r=this._remoteStreamStatMap.get(t);if(n&&(0===n.statsToReport.uint64_render_first_frame_time&&(n.statsToReport.uint64_render_first_frame_time=i),r)){let{statsToReport:e,playStreamTime:t,subscribedTime:o}=r;0===e.uint32_video_render_first&&t-o<=100&&(e.uint32_video_render_first=i-n.sendSubscribeCMDTime)}let o=this._pathAuxiliaryMap.get(t);if(o&&r){let{statsToReport:e,playStreamTime:t,subscribedTime:n}=r;0===e.uint32_video_render_first&&t-n<=100&&(e.uint32_video_render_first=i-o.sendSubscribeCMDTime)}}handleAudioPlaying(e){let t=\"\".concat(e.userId,\"_\").concat(e.streamType),i=this._pathMainAudioMap.get(t);i&&0===i.statsToReport.uint64_play_first_frame_time&&(i.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:i,userId:n,videoDelay:r,audioDelay:o}=e,s=this._networkQuality.totalDownlinkRTTAndLossMap.get(n);if(s)s.totalRTT+=t,s.totalLoss+=i,r&&(s.totalVideoDelay=(s.totalVideoDelay||0)+r,s.videoDelayCount=(s.videoDelayCount||0)+1),o&&(s.totalAudioDelay=(s.totalAudioDelay||0)+o,s.audioDelayCount=(s.audioDelayCount||0)+1),s.count++;else{let e,s,a,c;r&&(s=r,a=1),o&&(e=o,c=1),this._networkQuality.totalDownlinkRTTAndLossMap.set(n,{totalRTT:t,totalLoss:i,count:1,totalAudioDelay:e,totalVideoDelay:s,audioDelayCount:c,videoDelayCount:a})}})))}handleHeartbeatStats(e){if(this.hitTest(e.room)){let{msg_up_stream_info:t,msg_down_stream_info:i}=e.report;if(t.msg_video_status[0]){let{uint32_video_codec_bitrate:e,uint32_video_enc_fps:i,uint32_video_width:n,uint32_video_height:r}=t.msg_video_status[0];this._localStreamStat.totalVideoBitrate+=e,this._localStreamStat.totalVideoFPS+=i,this._localStreamStat.totalVideoWidth+=n,this._localStreamStat.totalVideoHeight+=r,this._localStreamStat.videoCount++}if(t.msg_audio_status){let{uint32_audio_level:e}=t.msg_audio_status;Math.floor(e/xD*100)>0&&(this._localStreamStat.totalAudioLevel+=e/xD,this._localStreamStat.audioLevelCount++)}i.forEach((e=>{let{msg_user_info:t,msg_audio_status:i,msg_video_status:n}=e,r=t.str_identifier,o=this._room.remotePublishedUserMap.get(r);if(n.forEach((e=>{let t=2===e.uint32_video_stream_type,i=7===e.uint32_video_stream_type,n=\"\".concat(r,\"_\").concat(t?\"main\":\"auxiliary\"),s=this._remoteStreamStatMap.get(n);if(s&&(t&&(null==o?void 0:o.remoteVideoTrack.isSubscribed)||i&&(null==o?void 0:o.remoteAuxiliaryTrack))){s.totalVideoFPS+=e.uint32_video_receive_fps,s.totalVideoBitrate+=e.uint32_video_codec_bitrate,s.videoCount++,0===s.statsToReport.uint32_video_width&&(s.statsToReport.uint32_video_width=e.uint32_video_width),0===s.statsToReport.uint32_video_height&&(s.statsToReport.uint32_video_height=e.uint32_video_height);let i=t?o.remoteVideoTrack:o.remoteAuxiliaryTrack;i.stat.jitterBufferDelay&&(s.videoJitterBufferDelay=i.stat.jitterBufferDelay),i.stat.framesReceived&&(s.statsToReport.uint32_video_consume_render_rate=Math.floor(i.stat.framesDecoded/i.stat.framesReceived*XC(10,6)))}})),i){let e=\"\".concat(r,\"_\",\"main\"),t=this._remoteStreamStatMap.get(e);this._remoteStreamStatMap.has(e)&&t&&(null==o?void 0:o.remoteAudioTrack.isSubscribed)&&(t.totalAudioBitrate+=i.uint32_audio_codec_bitrate,t.audioCount++,o.remoteAudioTrack.stat.jitterBufferDelay&&(t.audioJitterBufferDelay=o.remoteAudioTrack.stat.jitterBufferDelay),Math.floor(i.uint32_audio_level/xD*100)>0&&(t.totalAudioLevel+=i.uint32_audio_level/xD,t.audioLevelCount++))}}))}}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:i}=e,n={NotFoundError:1,NotAllowedError:2,NotReadableError:3,OverConstrainedError:4,AbortError:5,InvalidStateError:6,SecurityError:7,TypeError:8}[i.name]||(i instanceof gb?i.getExtraCode()||i.getCode():mb.UNKNOWN);1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=n,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=n,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}handleAPISuccessRate(e){let{room:t,apiName:i,error:n,cost:r}=e;if(!this.hitTest(t))return;let o=cx[i],s={uint32_function_request_type:o,uint32_avg_value:0,uint32_max_value:0,uint32_request_count:1,uint32_success_count:0,msg_error_code:[]};if(n){let e=n.extraCode||n.code||mb.UNKNOWN;Qw.logFailedEvent({eventType:i,code:e,userId:this._room.userId,error:n});let t={int32_error_code:e,error_count:1};s.msg_error_code.push(t)}else oO(r)&&(Qw.logSuccessEvent({eventType:i,userId:this._room.userId}),s.uint32_avg_value=r,s.uint32_max_value=r,s.uint32_success_count=1);let a=this._apiSuccessRateMap.get(o);a?(a.uint32_success_count+s.uint32_success_count>0&&(a.uint32_avg_value=(a.uint32_avg_value*a.uint32_success_count+s.uint32_avg_value)/(a.uint32_success_count+s.uint32_success_count)),a.uint32_max_value=Math.max(a.uint32_max_value,s.uint32_max_value),a.uint32_request_count+=1,a.uint32_success_count=a.uint32_success_count+s.uint32_success_count,s.msg_error_code.forEach((e=>{let t=a.msg_error_code.find((t=>t.int32_error_code===e.int32_error_code));t?t.error_count+=1:a.msg_error_code.push(e)}))):this._apiSuccessRateMap.set(o,s)}hasVideoFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&UN))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&HN))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&BN))>=0}hitTest(e){return e===this._room}checkStorage(){return ab(this,null,(function*(){try{let e=GO.getItem(this._storageKey);e&&(yield this.upload(e),GO.deleteItem(this._storageKey))}catch(HL){this._log.warn(HL)}}))}setStorage(){this.prepareReport();let e=this.getReportData();0!==e.msg_path_enter_room.uint64_start_time&&GO.setItem(this._storageKey,e)}prepareReport(){if(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:i}=e,n=this._networkQuality.totalDownlinkRTTAndLossMap.get(i);if(n){let{totalLoss:t,count:i,audioDelayCount:r,videoDelayCount:o,totalAudioDelay:s,totalVideoDelay:a}=n;e.statsToReport.uint32_avg_down_loss=Math.floor(t/i),r&&s&&(e.statsToReport.uint32_audio_network_p2p_delay=Math.floor(s/r),e.audioJitterBufferDelay&&(e.statsToReport.uint32_p2p_delay=Math.floor(e.statsToReport.uint32_audio_network_p2p_delay+e.audioJitterBufferDelay))),o&&a&&(e.statsToReport.uint32_video_network_p2p_delay=Math.floor(a/o))}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:r}=this._room;r&&(e.statsToReport.uint32_audio_play_time=r.getDuration(t,LN.AUDIO),e.statsToReport.uint32_video_play_time=r.getDuration(t,LN.VIDEO)),e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,ox);let{badCaseDetector:o}=this._room,{dataFreeze:s,count:a}=o.getDataFreezeDuration(t),{renderFreeze:c}=o.getRenderFreezeDuration(t);e.statsToReport.uint32_video_block_count=a,e.statsToReport.uint32_video_block_time=Math.min(s,e.statsToReport.uint32_video_play_time),e.statsToReport.uint32_video_external_block_time=Math.min(c,e.statsToReport.uint32_video_play_time),o.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,(0===e.subscribeStartTime||e.subscribeStartTime-e.streamAddedTime>100||0===e.playStreamTime)&&(this._pathMainAudioMap.delete(t),this._pathMainVideoMap.delete(t),e.statsToReport.uint32_video_render_first=0)})),this._pathMainAudioMap.forEach(((e,t)=>{this.hasAudioFlag(e.userId)?e.statsToReport.uint64_play_first_frame_time-e.statsToReport.uint64_start_enter_time>ox&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+ox):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>ox&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+ox):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>ox&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+ox)}getReportData(){return{uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new ax({userId:this._room.userId,tinyId:this._room.tinyId,role:\"anchor\"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:AO(this._signalInfo.relayIp),uint32_client_ip:AO(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(2147483648*Math.random()),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:AO(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,msg_function_request_stats:[...this._apiSuccessRateMap.values()]}}report(){try{this.prepareReport();let e=this.getReportData();this.upload(e),GO.deleteItem(this._storageKey),this.initData()}catch(HL){this._log.warn(HL)}}upload(e){if(Yk||0===e.msg_path_enter_room.uint64_start_time||[_N,mN,fN].findIndex((e=>e===location.host))>=0)return;let t=Number(this._room.sdkAppId),i=BD(t,yN.KEY_POINT),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(i,JSON.stringify(e))),n||PO({url:i,body:JSON.stringify(e)})}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}};rb([tx({settings:{timeout:500,retries:3}})],nx.prototype,\"upload\",1);var rx,ox=5e3,sx={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_render_first: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},ax=class{constructor(e){this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},cx=((rx=cx||{})[rx.enterRoom=50001]=\"enterRoom\",rx[rx.exitRoom=50002]=\"exitRoom\",rx[rx.switchRole=50003]=\"switchRole\",rx[rx.destroy=50004]=\"destroy\",rx[rx.startLocalAudio=50005]=\"startLocalAudio\",rx[rx.updateLocalAudio=50006]=\"updateLocalAudio\",rx[rx.stopLocalAudio=50007]=\"stopLocalAudio\",rx[rx.startLocalVideo=50008]=\"startLocalVideo\",rx[rx.updateLocalVideo=50009]=\"updateLocalVideo\",rx[rx.stopLocalVideo=50010]=\"stopLocalVideo\",rx[rx.startScreenShare=50011]=\"startScreenShare\",rx[rx.updateScreenShare=50012]=\"updateScreenShare\",rx[rx.stopScreenShare=50013]=\"stopScreenShare\",rx[rx.enableAudioVolumeEvaluation=50014]=\"enableAudioVolumeEvaluation\",rx[rx.startRemoteVideo=50015]=\"startRemoteVideo\",rx[rx.updateRemoteVideo=50016]=\"updateRemoteVideo\",rx[rx.stopRemoteVideo=50017]=\"stopRemoteVideo\",rx[rx.muteRemoteAudio=50018]=\"muteRemoteAudio\",rx[rx.setRemoteAudioVolume=50019]=\"setRemoteAudioVolume\",rx[rx.startMixTranscode=50020]=\"startMixTranscode\",rx[rx.stopMixTranscode=50021]=\"stopMixTranscode\",rx[rx.startPublishCDNStream=50022]=\"startPublishCDNStream\",rx[rx.stopPublishCDNStream=50023]=\"stopPublishCDNStream\",rx[rx.PeerConnectionConnect=50024]=\"PeerConnectionConnect\",rx[rx.PeerConnectionReconnect=50025]=\"PeerConnectionReconnect\",rx[rx.WebsocketConnect=50026]=\"WebsocketConnect\",rx[rx.WebsocketReconnect=50027]=\"WebsocketReconnect\",rx[rx.schedule=50028]=\"schedule\",rx[rx.SPCConnect=50029]=\"SPCConnect\",rx[rx.SPCReconnect=50030]=\"SPCReconnect\",rx[rx.videoCtxGl=50031]=\"videoCtxGl\",rx[rx.videoCtxGlRecover=50032]=\"videoCtxGlRecover\",rx[rx.videoCtx2d=50033]=\"videoCtx2d\",rx[rx[\"CDNStreaming.startPlugin\"]=50034]=\"CDNStreaming.startPlugin\",rx[rx[\"CDNStreaming.updatePlugin\"]=50035]=\"CDNStreaming.updatePlugin\",rx[rx[\"CDNStreaming.stopPlugin\"]=50036]=\"CDNStreaming.stopPlugin\",rx[rx[\"AIDenoiser.startPlugin\"]=50037]=\"AIDenoiser.startPlugin\",rx[rx[\"AIDenoiser.updatePlugin\"]=50038]=\"AIDenoiser.updatePlugin\",rx[rx[\"AIDenoiser.stopPlugin\"]=50039]=\"AIDenoiser.stopPlugin\",rx[rx[\"AudioMixer.startPlugin\"]=50040]=\"AudioMixer.startPlugin\",rx[rx[\"AudioMixer.updatePlugin\"]=50041]=\"AudioMixer.updatePlugin\",rx[rx[\"AudioMixer.stopPlugin\"]=50042]=\"AudioMixer.stopPlugin\",rx),lx=nx,dx=class{constructor(){ob(this,\"_startTime\"),ob(this,\"_endTime\"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=fO())}stop(){0===this._endTime&&(this._endTime=fO())}getDuration(){return 0===this._endTime?fO()-this._startTime:this._endTime-this._startTime}get endTime(){return this._endTime}},ux=class{constructor(e){ob(this,\"_room\",null),ob(this,\"_durationMap\"),ob(this,\"_eventMap\",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(FO.SUBSCRIBE_SUCCESS,this.handleSubscribed).set(FO.UNSUBSCRIBE_SUCCESS,this.handleStreamStopped).set(FO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:i,muteState:n}=e;var r;let{userId:o}=n;if(!this.hitTest(t))return;i.hasAudio&&!n.hasAudio&&this.stopDurationItem(\"\".concat(o,\"_\",\"main\"),LN.AUDIO),i.hasVideo&&!n.hasVideo&&this.stopDurationItem(\"\".concat(o,\"_\",\"main\"),LN.VIDEO),i.hasAuxiliary&&!n.hasAuxiliary&&this.stopDurationItem(\"\".concat(o,\"_\",\"auxiliary\"),LN.VIDEO);let s=null==(r=this._room)?void 0:r.remotePublishedUserMap.get(o);!s||(!i.hasAudio&&n.hasAudio&&s.remoteAudioTrack.isSubscribed&&this.addDuractionItem(o,LN.AUDIO,\"main\"),!i.hasVideo&&n.hasVideo&&s.remoteVideoTrack.isSubscribed&&this.addDuractionItem(o,LN.VIDEO,\"main\"),!i.hasAuxiliary&&n.hasAuxiliary&&s.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(o,LN.VIDEO,\"auxiliary\"))})),this._eventMap.forEach(((e,t)=>xO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>xO.off(t,e,this))),this._eventMap.clear()}handleSubscribed(e){let{room:t,streamType:i,remotePublishedUser:n}=e;if(!this.hitTest(t))return;let{userId:r}=n,o=\"\".concat(r,\"_\").concat(i);if(n.muteState.hasAudio&&\"main\"===i)if(n.remoteAudioTrack.isSubscribed){let e=new dx,t=this._durationMap.get(o);t?this.isRecording(t.audio)||t.audio.push(e):this._durationMap.set(o,{userId:r,type:i,audio:[e],video:[]})}else this.stopDurationItem(o,LN.AUDIO);if(n.muteState.hasVideo||n.muteState.hasAuxiliary)if(n.remoteVideoTrack.isSubscribed||n.remoteAuxiliaryTrack.isSubscribed){let e=new dx,t=this._durationMap.get(o);t?this.isRecording(t.video)||t.video.push(e):this._durationMap.set(o,{userId:r,type:i,audio:[],video:[e]})}else this.stopDurationItem(o,LN.VIDEO)}handleStreamStopped(e){let{room:t,streamType:i,remotePublishedUser:n}=e;if(!this.hitTest(t))return;let{userId:r}=n,o=\"\".concat(r,\"_\").concat(i);this.stopDurationItem(o,LN.AUDIO),this.stopDurationItem(o,LN.VIDEO)}isRecording(e){return e.findIndex((e=>0===e.endTime))>=0}addDuractionItem(e,t,i){let n=\"\".concat(e,\"_\").concat(i),r=new dx,o=this._durationMap.get(n);o?this.isRecording(o[t])||o[t].push(r):this._durationMap.set(n,{userId:e,type:i,audio:t===LN.AUDIO?[r]:[],video:t===LN.AUDIO?[]:[r]})}stopDurationItem(e,t){if(this._durationMap.has(e)){let i=this._durationMap.get(e)[t].find((e=>0===e.endTime));i&&i.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()}},hx=class{constructor(e){ob(this,\"_room\"),ob(this,\"_renderFreezeMap\",new Map),ob(this,\"_isVideoPlayingEventFiredMap\",new Map),ob(this,\"_dataFreezeMap\",new Map),ob(this,\"_monitorFreezeData\",new Map),ob(this,\"_eventMap\",new Map),this._room=e.room,this.installEvents()}installEvents(){this._eventMap.set(FO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(FO.PLAY_TRACK_START,this.onPlayTrackStart).set(FO.UNSUBSCRIBE_SUCCESS,(e=>{let{room:t,streamType:i,remotePublishedUser:n}=e;if(!this.hitTest(t))return;let{userId:r}=n,o=\"\".concat(r,\"_\").concat(i);this.stopDataFreeze({key:o,userId:r,type:i})})).set(FO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:i,muteState:n}=e;if(!this.hitTest(t))return;let{userId:r}=n;if(i.hasVideo&&!n.hasVideo){let e=\"main\",t=\"\".concat(n.userId,\"_\").concat(e);this.stopDataFreeze({key:t,userId:r,type:e})}if(i.hasAuxiliary&&!n.hasAuxiliary){let e=\"auxiliary\",t=\"\".concat(n.userId,\"_\").concat(e);this.stopDataFreeze({key:t,userId:r,type:e})}})).set(FO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:i,reason:n,type:r}=e;if(dO(t)&&this.hitTest(t.room)&&r===LN.VIDEO){if(\"PLAYING\"===i){let e=\"\".concat(t.userId,\"_\").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}n===LN.MUTE?this.onVideoTrackMuted(t):n===LN.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(FO.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach(((e,t)=>xO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>xO.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:i}=e,n=\"\".concat(t,\"_\").concat(i),r=this._dataFreezeMap.get(n),o=new dx;r?r.durationItemList.push(o):this._dataFreezeMap.set(n,{userId:t,type:i,durationItemList:[o],isFreezing(){let e=this.durationItemList[this.durationItemList.length-1];return e&&0===e.endTime}})}onVideoTrackUnmuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:i}=e,n=\"\".concat(t,\"_\").concat(i);this.stopDataFreeze({key:n,userId:t,type:i})}onHearBeatReport(e){let{room:t,report:i}=e;!this.hitTest(t)||i.msg_down_stream_info.forEach((e=>{let t=this._room.remotePublishedUserMap.get(e.msg_user_info.str_identifier);if(!t)return;let{userId:i,muteState:n}=t;e.msg_video_status.forEach((e=>{2===e.uint32_video_stream_type&&n.hasVideo&&!n.videoMuted&&t.remoteVideoTrack.isSubscribed&&this.handleRenderFreeze({userId:i,fps:e.uint32_video_dec_fps,type:\"main\"}),7===e.uint32_video_stream_type&&n.hasAuxiliary&&t.remoteAuxiliaryTrack.isSubscribed&&this.handleRenderFreeze({userId:i,fps:e.uint32_video_dec_fps,type:\"auxiliary\"})}))}))}stopDataFreeze(e){let{key:t,userId:i,type:n}=e,r=this._dataFreezeMap.get(t);if(!r||!r.isFreezing())return;let o=r.durationItemList[r.durationItemList.length-1];o.stop();let s=o.getDuration();s>fD?this._monitorFreezeData.set(t,{userId:i,type:n,duration:s}):r.durationItemList.pop()}getTotalDuration(e){return e.reduce(((e,t)=>{let i=t.getDuration();return e+Math.min(i,5e3)}),0)}handleRenderFreeze(e){return ab(this,arguments,(function(e){var t=this;let{userId:i,fps:n,type:r}=e;return function*(){let e=\"\".concat(i,\"_\").concat(r),o=t._renderFreezeMap.get(e);if(n<=2){let n=fO();o&&!o.isFreeze&&(o.freezeTimeline.push({startTime:n,endTime:0}),o.isFreeze=!0),o||t._renderFreezeMap.set(e,{userId:i,type:r,isFreeze:!0,freezeTimeline:[{startTime:n,endTime:0}],renderFreezeTotal:0})}else if(o&&o.isFreeze){o.isFreeze=!1;let e=o.freezeTimeline.pop();if(e){e.endTime=fO();let t=e.endTime-e.startTime;o.freezeTimeline.push(e),o.renderFreezeTotal+=Math.min(5e3,t)}}}()}))}onPlayTrackStart(e){let{track:t}=e;if(!dO(t)||!this.hitTest(t.room)||t.kind!==LN.VIDEO||t.hasFlag)return;let i=\"\".concat(t.userId,\"_\").concat(t.streamType);this._isVideoPlayingEventFiredMap.has(i)||this._isVideoPlayingEventFiredMap.set(i,!1)}getDataFreezeDuration(e){let t={dataFreeze:0,count:0},i=this._dataFreezeMap.get(e);if(i){if(i.isFreezing()){let e=i.durationItemList[i.durationItemList.length-1];e.stop(),e.getDuration(){let o=null;mO([Ix((e=>t.count[0]=e+1),(e=>{let{error:i,retry:n}=e;t.msg[0]=i.message,o||n()}))(Ex(i,LN.MAIN),e,{get timeout(){return 1e3*$D(2+t.count[0])}}),Ix((e=>t.count[1]=e+1),(e=>{let{error:i,retry:n}=e;t.msg[1]=i.message,o||n()}))(Ex(i,LN.BACKUP),e,{get timeout(){return 1e3*$D(2+t.count[1])}})]).then((e=>{o=e,n(o)})).catch(r)}))}(c,e,i);d.config&&(d.config.loggerDomain&&pN(d.config.loggerDomain),sO(d.config.scheduleCache)&&mx(!d.config.scheduleCache)),e.delta=fO()-l;let u=function(e,t,i){let n=performance.getEntriesByType(\"resource\"),r=Ex(e,LN.MAIN),o=Ex(e,LN.BACKUP),s={totalCost:0,local:0,dns:0,tcp:0,tls:0,request:0,response:0};for(let a of n)if(a.startTime>=i&&(a.name===r||a.name===o)&&a.transferSize>0){let e=a.name===r?LN.MAIN:LN.BACKUP,i=Math.round(a.duration),n=Math.round(a.domainLookupStart-a.startTime),o=Math.round(a.domainLookupEnd-a.domainLookupStart),c=Math.round(a.requestStart-a.secureConnectionStart),l=Math.round(a.secureConnectionStart-a.connectStart),d=Math.round(a.responseStart-a.requestStart),u=Math.round(a.responseEnd-a.responseStart),h=[n,o,c,l,d,u];Qw.uploadEvent({log:\"stat-schedule-net:\".concat(i,\"(\").concat(h.join(\"->\"),\") \").concat(e),userId:t}),s=eb($C({},s),{totalCost:i,local:n,dns:o,tcp:l,tls:c,request:d,response:u});break}return s}(Number(i),t,l);return px=d,{isCached:!1,result:d,detailCost:u}}catch(c){let e=cO(c)?c[0]:c,t=oO(e.code)?e.code:0,i=\"schedule failed\".concat(e.message?\": \".concat(e.message):\"\"),n=new gb({code:mb.SCHEDULE_FAILED,extraCode:t,message:qO({key:JO.JOIN_ROOM_FAILED,data:{error:i,code:t}})});throw HO.error(n),n}}()}))}xO.on(\"28\",(()=>mx(!0))),xO.on(\"63\",(()=>mx(!0))),xO.on(\"84\",(()=>mx(!0))),xO.on(\"201\",(e=>{\"RECONNECTING\"===e.state&&mx(!0)})),xO.on(\"202\",(e=>{\"RECONNECTING\"===e.state&&mx(!0)}));var gx={main:\"\",backup:\"\"};function Tx(e){cO(e)?(gx.main=e[0],gx.backup=e[1]):gx.main=e}function Ex(e){let t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:LN.MAIN;return t=FD(e)?i===LN.MAIN?ID.MAIN_OVERSEA:ID.BACKUP_OVERSEA:i===LN.MAIN?ID.MAIN:ID.BACKUP,\"https://\".concat(gx[i]||t,\"/api/v1/config\")}function Sx(e,t,i){return new Promise(((n,r)=>{PO({url:e,body:t,timeout:i.timeout}).then((e=>{0===e.data.code?n(e.data.data):r({code:e.data.code,message:e.data.msg})})).catch(r)}))}var Ix=(e,t)=>MO({retryFunction:Sx,settings:{retries:3,timeout:0},onError:t,onRetrying:e});var vx=nb(cb(),1),yx=[-1,-1,-1,1,1,-1,1,1],Ax=[0,0,0,1,1,0,1,1],Rx=class extends Gw{constructor(e,t){super(),this.context=e,ob(this,\"name\"),ob(this,\"input\"),ob(this,\"output\"),ob(this,\"texture\"),ob(this,\"image\"),ob(this,\"ctx2d\",null),ob(this,\"fbo\"),ob(this,\"width\",0),ob(this,\"height\",0),ob(this,\"x\",0),ob(this,\"y\",0),ob(this,\"program\"),ob(this,\"vertexShader\"),ob(this,\"fragmentShader\"),ob(this,\"totalFrames\",0),ob(this,\"dropFrames\",0),ob(this,\"matchInputSize\",!0),ob(this,\"texCoordBuffer\"),ob(this,\"positionBuffer\"),ob(this,\"lastInfo\",{timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),ob(this,\"_canvas\",null),this.context.once(\"disconnect\",(()=>{\"closed\"!==this.state&&this.close()})),this.name=t.name,this.matchInputSize=!1!==t.matchInputSize,this.width=t.width||e.width,this.height=t.height||e.height;let i=e._gl;if(i)try{!1!==t.createTexture&&(this.texture=i.createTexture()),this.texCoordBuffer=this.createBuffer(Ax),this.positionBuffer=this.createBuffer(yx),this.useTexture((()=>{i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE)})),t.useFbo&&(this.fbo=i.createFramebuffer(),this.useBufferFrame((()=>{this.useTexture((()=>{i.texImage2D(i.TEXTURE_2D,0,i.RGBA,this.width,this.height,0,i.RGBA,i.UNSIGNED_BYTE,null),i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,this.texture,0)}))}))),t.useDefaultProgram&&(this.program=this.context.defaultProgam),t.vertexShaderSource&&t.fragmentShaderSource&&(this.vertexShader=e.createShader(i.VERTEX_SHADER,t.vertexShaderSource),this.fragmentShader=e.createShader(i.FRAGMENT_SHADER,t.fragmentShaderSource),this.program=e.createProgram(this.vertexShader,this.fragmentShader))}catch(n){this.context.destroy(\"\".concat(this.name,\" init failed\"),n)}else if(e.ctx2d&&t.create2d){let e=document.createElement(\"canvas\"),t=\"function\"==typeof e.transferControlToOffscreen?e.transferControlToOffscreen():e;t.width=this.width,t.height=this.height,this.ctx2d=t.getContext(\"2d\"),this.image=t,this._canvas=t}}connect(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;ni.texImage2D(i.TEXTURE_2D,0,i.RGBA,e,t,0,i.RGBA,i.UNSIGNED_BYTE,null))),this.output&&this.output.matchInputSize&&this.output.resize(e,t))}draw2d(e,t,i,n,r){return!(!this.ctx2d||!e)&&(e instanceof ImageData?this.ctx2d.putImageData(e,t,i):this.ctx2d.drawImage(e,t,i,n,r),!0)}getInfo(){var e;let{totalFrames:t,x:i,y:n,width:r,height:o}=this,s=Date.now(),a=(t-this.lastInfo.totalFrames)/((s-this.lastInfo.timestamp)/1e3)>>0;return this.lastInfo={totalFrames:t,x:i,y:n,width:r,height:o,timestamp:s,fps:a},$C({parent:null==(e=this.input)?void 0:e.getInfo()},this.lastInfo)}};rb([Bw(Gw.INIT,\"connected\")],Rx.prototype,\"connect\",1),rb([Bw(\"connected\",Gw.INIT,{ignoreError:!0})],Rx.prototype,\"disconnect\",1),rb([Bw([],\"closed\")],Rx.prototype,\"close\",1);var Cx=[0,1,0,0,1,1,1,0],bx=class extends Rx{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:\"destination\"},t)),ob(this,\"_intervalId\",0),ob(this,\"_sequence\",0),e._gl?this.setTexBuffer(Cx):e.ctx2d&&(this.ctx2d=e.ctx2d)}start(e){this._intervalId=zw.run(\"intervalInWorker\",(()=>{e!==this.context.frameRate&&(zw.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++);let t=this.context._gl;t&&t.getError()!==t.NO_ERROR&&this.context.destroy(\"\".concat(this.name,\" req \").concat(this._sequence,\" render \").concat(this.totalFrames,\" faild \").concat(t.getError()))}),{fps:this.context.frameRate})}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useInputTexture((e=>{this.setAttributes({a_position:this.positionBuffer,a_texCoord:this.texCoordBuffer}),e.drawArrays(e.TRIANGLE_STRIP,0,4)})),!0)}addInput(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n{let t=()=>this._videoTrack.removeEventListener(e,i),i=()=>{t(),this.context.destroy(\"video track \".concat(e))};this.once(\"closed\",t),this._videoTrack.addEventListener(e,i)};e._gl&&i(\"mute\"),i(\"ended\")}get videoTrack(){return this._videoTrack}close(){super.close(),this._videoTrack.stop()}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}},Nx=class extends kx{constructor(e,t){super(e,{name:\"smallDestination\"}),this.resolution=t}resize(e,t){let i,n=e*t,r=this.resolution.width*this.resolution.height;HO.info(\"big res: \".concat(e,\"*\").concat(t,\" small res: \").concat(this.resolution.width,\"*\").concat(this.resolution.height,\" \")),n>r?i=n/r:(HO.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)),i=n/19200),super.resize(e/Math.sqrt(i),t/Math.sqrt(i))}},Dx=class extends Rx{constructor(e,t){super(e,{name:\"imageSource\"}),this.image=t,ob(this,\"_image\"),ob(this,\"_totalFrames\",0)}_render(e,t){let{width:i,height:n}=this;if(this.image instanceof HTMLVideoElement){if(iO(this.image.getVideoPlaybackQuality)&&!Fk){let e=this.image.getVideoPlaybackQuality().totalVideoFrames;if(this._totalFrames===e)return!1;this._totalFrames=e,this.dropFrames=this._totalFrames-this.totalFrames}({videoWidth:i,videoHeight:n}=this.image)}else if(this.image instanceof HTMLImageElement||this.image instanceof ImageData||this.image instanceof ImageBitmap){if(({width:i,height:n}=this.image),this.image!==this._image)this._image=this.image;else if(i===this.width&&n===this.height)return!1}else(this.image instanceof HTMLCanvasElement||this.image instanceof OffscreenCanvas)&&(({width:i,height:n}=this.image),this._image=this.image);return this.width===i&&this.height===n&&this.totalFrames?t&&this.useTexture((e=>{e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,this.image)})):(t&&this.useTexture((e=>{e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image)})),this.resize(i,n)),!0}render(e){return this._render(e,!0)}render2d(e){return this._render(e,!1)}},Ox=class extends Dx{constructor(e,t){super(e,document.createElement(\"video\")),this._videoTrack=t,ob(this,\"_mediaStream\"),this.name=\"videoTrackSource\",this._mediaStream=new MediaStream([t]),this.image.srcObject=this._mediaStream,this.image.play()}replaceTrack(e){var t,i;this._videoTrack!==e&&(null==(t=this._mediaStream)||t.removeTrack(this._videoTrack),this._videoTrack=e,null==(i=this._mediaStream)||i.addTrack(this._videoTrack),this.image.play())}close(){super.close(),delete this._mediaStream,this.image.srcObject=null}},wx=class extends Gw{constructor(e){super(),ob(this,\"frameRate\"),ob(this,\"_canvas\"),ob(this,\"_gl\"),ob(this,\"ctx2d\"),ob(this,\"defaultProgam\"),ob(this,\"log\"),ob(this,\"hasAlpha\",!1),ob(this,\"glFaild\",!1),ob(this,\"name\"),this.name=e.name,this.log=e.logger.createChild({id:\"vc-\".concat(this.name)}),this.frameRate=e.frameRate}create(e){if(this.glFaild=!1,this.hasAlpha=e.alpha,this._canvas=document.createElement(\"canvas\"),e.use2d)return this.ctx2d=this._canvas.getContext(\"2d\",{alpha:e.alpha}),void this.log.info(\"video context created use 2d\");let t=this._canvas.getContext(\"webgl\",{alpha:e.alpha});if(t){this._gl=t;try{let e=this.createShader(t.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\"),i=this.createShader(t.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(e,i),t.enable(t.BLEND),t.blendFunc(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA),this._canvas.addEventListener(\"webglcontextlost\",(()=>{this.destroy(\"webglcontextlost\")})),this.log.info(\"video context created use webgl\")}catch(aN){return this.log.warn(\"video context create faild use webgl\"),aN}}else this.ctx2d=this._canvas.getContext(\"2d\"),this.ctx2d&&this.log.info(\"video context created downgrade to 2d\");!this.ctx2d&&!this._gl&&delete this._canvas}get available(){return!!this._canvas}createVideoTrackSource(e){return new Ox(this,e)}createVideoTrackDestination(e){return new kx(this,e)}createVideoImageSource(e){return new Dx(this,e)}set width(e){var t;null==(t=this._gl)||t.viewport(0,0,e,this.height),this._canvas&&(this._canvas.width=e)}get width(){var e;return(null==(e=this._canvas)?void 0:e.width)||0}set height(e){var t;null==(t=this._gl)||t.viewport(0,0,this.width,e),this._canvas&&(this._canvas.height=e)}get height(){var e;return(null==(e=this._canvas)?void 0:e.height)||0}setSize(e,t){var i;null==(i=this._gl)||i.viewport(0,0,e,t),this._canvas&&(this._canvas.width=e,this._canvas.height=t)}disconnect(){this.emit(\"disconnect\")}destroy(e,t){var i;return this.disconnect(),this.log.info(\"video context destroy \".concat(e?\":\".concat(e):\"\")),null==(i=this._gl)||i.deleteProgram(this.defaultProgam),delete this._gl,delete this.ctx2d,this._canvas&&(this._canvas.remove(),this._canvas.width=0,this._canvas.height=0,delete this._canvas),[e,t]}createShader(e,t){let i=this._gl,n=i.createShader(e);return i.shaderSource(n,t),i.compileShader(n),n}createProgram(e,t){let i=this._gl,n=i.createProgram();return i.attachShader(n,e),i.attachShader(n,t),i.linkProgram(n),n}useTexture(e,t,i){let n=this._gl;n.activeTexture(n.TEXTURE0+(i||0)),n.bindTexture(n.TEXTURE_2D,e),t(n),n.bindTexture(n.TEXTURE_2D,null)}};rb([Bw(Gw.INIT,\"created\")],wx.prototype,\"create\",1),rb([Bw(\"created\",Gw.INIT,{ignoreError:!0,success(e){e[0]&&(this.glFaild=!0,this.emit(\"unavailable\",...e)),this.removeAllListeners()}})],wx.prototype,\"destroy\",1);var Px=[1,0,1,1,0,0,0,1],Lx=class extends Rx{constructor(e){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:\"mirror\"}),e._gl)try{this.setTexBuffer(Px)}catch(sN){e.destroy(\"mirror set texCoords faild\",sN)}else this.ctx2d&&setTimeout((e=>{e.scale(-1,1),e.translate(-this.width,0)}),0,this.ctx2d)}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame((()=>{this.useInputTexture((e=>{this.setAttributes({a_position:this.positionBuffer,a_texCoord:this.texCoordBuffer}),e.drawArrays(e.TRIANGLE_STRIP,0,4)}))})),!0)}},Mx=class{constructor(e,t){this.node=e,this.layout=t,ob(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}},Vx=class extends Rx{constructor(e){super(e,{useDefaultProgram:!0,useFbo:!0,name:\"mix\",create2d:!0}),ob(this,\"inputs\",[])}addInput(e,t){if(this.inputs[t.zIndex])throw new Error(\"input already exists\");let i=new Mx(e,t);this.inputs[t.zIndex]=i}resize(e,t){let i=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(i.width,i.height),this.context._gl&&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,i=new Array(t>1?t-1:0),n=1;n(null==t?void 0:t.node)===e))]=void 0}render(e){let t=this.context._gl;return!(this.inputs.reduce(((t,i)=>(!i||!i.node.requestFrame(e))&&t),!0)||!t)&&(this.useProgram(),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT),this.setAttributes({a_texCoord:this.texCoordBuffer}),this.useBufferFrame((()=>{for(let e=0;e{this.setAttributes({a_position:t.positionBuffer}),e.drawArrays(e.TRIANGLE_STRIP,0,4)}))}})),!0)}render2d(e){if(!this.inputs.reduce(((t,i)=>(!i||!i.node.requestFrame(e))&&t),!0)&&this.ctx2d){this.ctx2d.clearRect(0,0,this.width,this.height);for(let e=0;e>0;return this.lastInfo={totalFrames:e,x:t,y:i,width:n,height:r,timestamp:o,fps:s},$C({parent:this.inputs.filter((e=>e)).map((e=>e.node.getInfo()))},this.lastInfo)}close(){super.close(),this.inputs.forEach((e=>{var t;if(e&&(null==(t=e.node)||t.disconnect(),e.positionBuffer&&this.context._gl))try{this.context._gl.deleteBuffer(e.positionBuffer)}catch(aN){}}))}},xx=class extends vx.EventEmitter{constructor(e){let{room:t}=e;super(),ob(this,\"videoContext\"),ob(this,\"destination\"),ob(this,\"smallVideoContext\"),ob(this,\"smallDestination\"),ob(this,\"smallTrackSource\"),ob(this,\"smallImageSource\"),ob(this,\"_isMirror\",!1),ob(this,\"cameraTrack\"),ob(this,\"cameraNode\"),ob(this,\"waterMarkNode\"),ob(this,\"mirrorNode\"),ob(this,\"mixNode\"),ob(this,\"screenTrack\"),ob(this,\"screenNode\"),ob(this,\"_isMixScreen\",!1),ob(this,\"_hasWaterMark\",!1),ob(this,\"_log\"),ob(this,\"_checkId\",0),ob(this,\"_room\"),ob(this,\"_use2d\",!0),ob(this,\"_waterMarkOption\"),ob(this,\"_isOpenVirtualBackground\",!1),ob(this,\"_virtualBackgroundTrack\"),ob(this,\"virtualBackgroundInstance\"),this._room=t,this._log=HO.createLogger({id:\"vm\",userId:t.userId,sdkAppId:t.sdkAppId}),this.videoContext=new wx({frameRate:15,logger:this._log,name:\"m\"}),this.videoContext.on(\"unavailable\",((e,t)=>{this.emit(\"error\",{reason:e,error:t}),this._log.warn(\"video context unavailable\",e,t,\"glFaild:\".concat(this.videoContext.glFaild)),xO.emit(\"262\",{room:this._room,apiName:\"videoCtxGl\",error:t||new Error(e)}),this.update()})),this.smallVideoContext=new wx({frameRate:15,logger:this._log,name:\"s\"}),this.enablePrintDetail()}get renderMode(){return this._use2d?\"2d\":\"webgl\"}set renderMode(e){let t=\"2d\"===e;this._use2d!==t&&(this._use2d=t,this.videoContext&&(this.clear(),this.videoContext.destroy(),this.videoContext.create({alpha:this._hasWaterMark,use2d:this._use2d}),this.update()))}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=zw.run(LD,(()=>{this.destination&&this._log.debug(this.destination.getInfo())}),{delay:e})}destroy(){this.videoContext.destroy(),this.smallVideoContext.destroy(),zw.clearTask(this._checkId)}get active(){return(Jk&&Wk||this._isMixScreen||this._isMirror||this._hasWaterMark)&&this.checkOrCreateVideoContext()}sendCreateResult(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"videoCtxGl\",t=arguments.length>1?arguments[1]:void 0;xO.emit(\"262\",{room:this._room,apiName:e,error:t})}checkOrCreateVideoContext(){if(this.videoContext.available){if(this.videoContext.hasAlpha||!this._hasWaterMark)return!0;this.clear(),this.videoContext.destroy()}else this.videoContext.glFaild&&(this.clear(),this._use2d=!0);let e=this.videoContext.create({alpha:this._hasWaterMark,use2d:this._use2d});return this.videoContext._gl?this.sendCreateResult():(this._use2d||(this.emit(\"error\",{reason:\"create\",error:e}),this.sendCreateResult(\"videoCtxGl\",e)),this.sendCreateResult(\"videoCtx2d\",this.videoContext.ctx2d?void 0:new Error(\"create 2d context failed\"))),this.videoContext.available}get smallTrack(){return this.smallDestination.videoTrack}get hasSmall(){return!!this.smallTrackSource||!!this.smallImageSource}get initialTrack(){var e;return this._isOpenVirtualBackground&&this._virtualBackgroundTrack?this._virtualBackgroundTrack:null==(e=this.cameraTrack)?void 0:e.mediaTrack}_setMainOutput(e){let t=this.cameraTrack,{small:i,settings:n}=t;return i&&(this.smallVideoContext.available||(this.smallVideoContext.create({alpha:!1,use2d:!0}),this.smallDestination=new Nx(this.smallVideoContext,i)),this.smallVideoContext.frameRate=i.frameRate,this.smallDestination.resolution=i,e?(this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource),this.smallImageSource?this.smallImageSource.image=e:(this.smallImageSource=this.smallVideoContext.createVideoImageSource(e),this.smallImageSource.connect(this.smallDestination))):(this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource?this.smallTrackSource.replaceTrack(this.initialTrack):(this.smallTrackSource=this.smallVideoContext.createVideoTrackSource(this.initialTrack),this.smallTrackSource.width=n.width,this.smallTrackSource.height=n.height,this.smallTrackSource.connect(this.smallDestination)))),t.setOutputMediaStreamTrack(e?this.destination.videoTrack:this.initialTrack)}update(){return ab(this,null,(function*(){var e,t;if(!this.cameraTrack||!this.cameraTrack.mediaTrack)return;if(!this.active)return this.cameraNode&&this.clear(),this._setMainOutput();{let{settings:e,profile:t}=this.cameraTrack;this.destination||(this.destination=this.videoContext.createVideoTrackDestination({name:\"mainDestination\"})),this.cameraNode?this.cameraNode.replaceTrack(this.initialTrack):(this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack),this.cameraNode.resize(e.width,e.height)),this.videoContext.frameRate=t.frameRate}let i=this.cameraNode;return i.disconnect(),this._isMirror&&(this.mirrorNode||(this.mirrorNode=new Lx(this.videoContext)),i=i.connect(this.mirrorNode),i.disconnect(),this._log.info(\"start mirror\")),this.mixNode&&this.mixNode.close(),delete this.mixNode,(this._isMixScreen||this._hasWaterMark)&&(this.mixNode=new Vx(this.videoContext),i.connect(this.mixNode,{zIndex:1}),this._hasWaterMark&&!this.waterMarkNode&&this._waterMarkOption&&(this.waterMarkNode=this.videoContext.createVideoImageSource(this._waterMarkOption.image),this.waterMarkNode.resize(this._waterMarkOption.width,this._waterMarkOption.height),this.waterMarkNode.x=this._waterMarkOption.x,this.waterMarkNode.y=this._waterMarkOption.y),null==(e=this.waterMarkNode)||e.connect(this.mixNode,{zIndex:2}),this.screenTrack&&!this.screenNode&&(this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack)),null==(t=this.screenNode)||t.connect(this.mixNode,{zIndex:0}),i=this.mixNode,this._log.info(\"start mix\",\"\".concat(this.mixNode.width,\"x\").concat(this.mixNode.height))),i.connect(this.destination),this._setMainOutput(this.videoContext._canvas)}))}changeInput(e,t){return this._log.info(\"change input\"),e instanceof cL?this.setScreenTrack(e):e instanceof sL?this.setCameraTrack(e):e instanceof CL?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}removeInput(e){var t;e instanceof cL?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof sL&&(this.clear(),delete this.cameraTrack,this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource))}setCameraTrack(e){return ab(this,null,(function*(){return this.cameraTrack=e,this._isOpenVirtualBackground&&(yield this.updateAr()),this.update()}))}setScreenTrack(e){return this.screenTrack=e,this._isMixScreen&&(this.screenNode?this.screenNode.replaceTrack(e.mediaTrack):this.update()),e.setOutputMediaStreamTrack(e.mediaTrack)}loadImage(e){return new Promise(((t,i)=>{let n=new Image;n.crossOrigin=\"anonymous\",n.src=e,n.onload=()=>t(n),n.onerror=i}))}setWatermark(e){return ab(this,null,(function*(){let t=yield this.loadImage(e.imageUrl),{x:i=0,y:n=0,width:r=t.width,height:o=t.height}=e;this._hasWaterMark=!0,this._waterMarkOption={x:i,y:n,width:r,height:o,image:t},this._log.info(\"start watermark\",JSON.stringify({x:i,y:n,width:r,height:o})),this.update()}))}stopWatermark(){var e;!this._hasWaterMark||(this._hasWaterMark=!1,this._log.info(\"stop watermark\"),null==(e=this.waterMarkNode)||e.close(),delete this.waterMarkNode,this.update())}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||(null==(t=this.mirrorNode)||t.close(),delete this.mirrorNode),this.update()}get mirror(){return this._isMirror}enableAr(e){return ab(this,null,(function*(){this.virtualBackgroundInstance=e,this._isOpenVirtualBackground=!0,this.virtualBackgroundInstance.ar.enable(this.cameraTrack.mediaTrack.clone()),this.virtualBackgroundInstance.ar.listen(\"output\",this.handleArOutput.bind(this))}))}handleArOutput(e){this._virtualBackgroundTrack=e,this.update()}updateAr(){return ab(this,null,(function*(){var e;null==(e=this.cameraTrack)||!e.mediaTrack||(yield this.virtualBackgroundInstance.ar.updateInputTrack(this.cameraTrack.mediaTrack.clone()))}))}disableAr(){var e;!this._isOpenVirtualBackground||(this._isOpenVirtualBackground=!1,null==(e=this._virtualBackgroundTrack)||e.stop(),this._virtualBackgroundTrack=null,this.update())}clear(){this.videoContext.disconnect(),delete this.destination,delete this.cameraNode,delete this.mirrorNode,delete this.screenNode,delete this.waterMarkNode}},Ux=0,Fx=class extends Gw{constructor(e){super(\"room\"),this.seq=++Ux,this.role=\"anchor\",this.localTracks=new Set,this.enableAutoPlayDialog=!0,this.autoReceiveAudio=!0,this.autoReceiveVideo=!0,this.scheduleResult={domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null},this._isUsingCachedSchedule=!1,this._log=HO.createLogger({id:\"r\".concat(this.seq)}),this._joinedTimestamp=0,this._isDestroyed=!1,this.useStringRoomId=!!e.useStringRoomId,sO(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),sO(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),sO(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this.keyPointManager=new lx({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new ux({room:this}),this.badCaseDetector=new hx({room:this}),this.audioManager=new vL({room:this}),this.videoManager=new xx({room:this})}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}getLogger(){return this._log}get isJoined(){return\"joined\"===this.state}get isLeft(){return\"left\"===this.state}addTrack(e){return ab(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return ab(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return ab(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error(\"Method not implemented.\")}enableAIVoice(e){throw new Error(\"Method not implemented.\")}setProxyServer(e){if(rO(e))e.startsWith(\"wss://\")?this.proxy_ws=e:e.startsWith(\"https://\")&&(this.proxy_wt=e);else if(ZD(e)){let{websocketProxy:t,webtransportProxy:i,loggerProxy:n,scheduleProxy:r,unifiedProxy:o}=e;this.proxy_ws=t,this.proxy_wt=i,this.proxy_unified=o,o?(Tx([o,o]),pN(\"https://\".concat(o))):(n&&pN(n),r&&Tx(r))}}getRemoteAudioStats(){return ab(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return ab(this,null,(function*(){var e;let t={rtt:(null==(e=this.quality)?void 0:e.uplinkRTT)||0,downlinksRTT:{}};if(this.quality)for(let i of this.quality.downlinkInfo)t.downlinksRTT[i.userId]=i.rtt;return t}))}getRemoteVideoStats(){return ab(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"main\";return function*(){let i={};return e.remotePublishedUserMap.forEach((e=>{let n=\"auxiliary\"===t?e.remoteAuxiliaryTrack:e.remoteVideoTrack;i[e.userId]=n.stat})),i}()}))}checkDestroy(){if(this._isDestroyed)throw new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.CLIENT_DESTROYED,data:{funName:\"join\"}})})}destroy(){if(this.isJoined)throw this._log.warn(KO.INVALID_DESTROY),new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.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,xO.emit(FO.ROOM_DESTROY,{room:this})}schedule(e,t,i){return ab(this,null,(function*(){var n,r;let o=fO();try{let{isCached:s,result:a,detailCost:c}=yield fx({userId:this.userId,sdkAppId:this.sdkAppId,roomId:e,useStringRoomId:this.useStringRoomId,version:i,userSig:this.userSig,frameWorkType:t});this._isUsingCachedSchedule=s,this._log.info(\"schedule cache:\".concat(+s,\" \").concat(DO(a,{keysToExclude:[\"username\",\"credential\"]}))),s&&xO.once(FO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=$C($C({},this.scheduleResult),a),oO(null==(n=a.config)?void 0:n.retryCount)&&rD(a.config.retryCount),rO(null==(r=a.config)?void 0:r.loggerDomain)&&pN(a.config.loggerDomain),xO.emit(FO.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:c}),xO.emit(FO.API_SUCCESS_RATE,{room:this,apiName:\"schedule\",cost:fO()-o})}catch(s){throw xO.emit(FO.API_SUCCESS_RATE,{room:this,apiName:\"schedule\",error:s}),s}}))}},Bx=new WeakMap,Hx=new WeakMap;function jx(){return function(e,t,i){let n=i.value,r=e=>{let{fn:t,args:i,context:n,resolve:r,reject:o}=e;t.apply(n,i).then(r,o)};return i.value=function(){for(var e=arguments.length,t=new Array(e),i=0;i{if(Bx.has(this)){let o=Bx.get(this),{length:s}=o;o.push({fn:n,args:t,context:this,resolve:e,reject:i}),0===s&&r({fn:n,args:t,context:this,resolve:e,reject:i})}else Bx.set(this,[{fn:n,args:t,context:this,resolve:e,reject:i}]),r({fn:n,args:t,context:this,resolve:e,reject:i})})).finally((()=>{let e=Bx.get(this);e&&(e.shift(),e[0]&&r($C({},e[0])))}))},i}}function Gx(e){return function(t,i,n){let r=n.value,o=t=>oO(e)?t[e]:e(...t),s=e=>{let{fn:t,args:i,context:n,resolve:r,reject:a}=e;t.apply(n,i).then(r,a).finally((()=>{if(Hx.has(n)&&Hx.get(n).has(o(i))){let e=Hx.get(n).get(o(i));e&&(e.shift(),e[0]&&s($C({},e[0])))}}))};return n.value=function(){for(var e=arguments.length,t=new Array(e),i=0;i{if(Hx.has(this))if(Hx.get(this).has(o(t))){let n=Hx.get(this).get(o(t));if(n){let{length:o}=n;n.push({fn:r,args:t,context:this,resolve:e,reject:i}),0===o&&s({fn:r,args:t,context:this,resolve:e,reject:i})}}else Hx.get(this).set(o(t),[{fn:r,args:t,context:this,resolve:e,reject:i}]),s({fn:r,args:t,context:this,resolve:e,reject:i});else{let n=new Map;n.set(o(t),[{fn:r,args:t,context:this,resolve:e,reject:i}]),Hx.set(this,n),s({fn:r,args:t,context:this,resolve:e,reject:i})}}))},n}}var Wx=nb(cb()),Jx=nb(hb()),Kx=e=>{let{serverAbility:t,clientAbility:i,offerSDP:n,enableCustomMessage:r}=e,o=BV(n),s={extmapAllowMixed:\"extmap-allow-mixed\",groups:o.groups,icelite:\"ice-lite\",media:[],msidSemantic:{semantic:\"\",token:\"WMS\"},name:\"-\",origin:{address:\"127.0.0.1\",username:\"-\",sessionId:String(Date.now()),sessionVersion:1,netType:\"IN\",ipVer:4},timing:{start:0,stop:0},version:0},a={candidates:t.candidates.map((e=>({component:1,foundation:\"1\",generation:0,ip:e.ip,port:e.port,priority:e.priority,transport:e.foundation,type:e.type}))),connection:{version:4,ip:\"0.0.0.0\"},direction:LN.TRANSCEIVER_DIRECTION_RECVONLY,ext:t.audio.extensions.map((e=>({value:e.id,uri:e.uri}))),fingerprint:{type:t.dtls.hash,hash:t.dtls.fingerprint},fmtp:[{payload:t.audio.codecs[0].payload,config:t.audio.codecs[0].fmtp}],icePwd:t.ice.password,iceUfrag:t.ice.ufrag,mid:\"0\",payloads:String(t.audio.codecs[0].payload),port:o.media[0].port,protocol:o.media[0].protocol,type:LN.AUDIO,setup:t.dtls.setup,rtcpFb:t.audio.codecs[0].rtcpfb.map((e=>({payload:t.audio.codecs[0].payload,type:e.id,subtype:e.params[0]}))),rtcpMux:\"rtcp-mux\",rtcpRsize:\"rtcp-rsize\",rtp:[{payload:t.audio.codecs[0].payload,codec:t.audio.codecs[0].codec,rate:t.audio.codecs[0].rate,encoding:t.audio.codecs[0].channels}]};return s.media.push(a),[1,2,3].forEach((e=>{s.media.push(Yx({mid:e,serverAbility:t,clientAbility:i,parsedOffer:o}))})),r&&s.media.push(o.media.find((e=>\"dc\"===e.mid))),HV(s)},Yx=e=>{let{mid:t,serverAbility:i,clientAbility:n,parsedOffer:r,useAllCodec:o=!1}=e,s={candidates:i.candidates.map((e=>({component:1,foundation:\"1\",generation:0,ip:e.ip,port:e.port,priority:e.priority,transport:e.foundation,type:e.type}))),connection:{version:4,ip:\"0.0.0.0\"},direction:LN.TRANSCEIVER_DIRECTION_RECVONLY,ext:i.video.extensions.map((e=>({value:e.id,uri:e.uri}))),fingerprint:{type:i.dtls.hash,hash:i.dtls.fingerprint},fmtp:[],icePwd:i.ice.password,iceUfrag:i.ice.ufrag,mid:String(t),payloads:\"\",port:r.media[0].port,protocol:r.media[0].protocol,type:LN.VIDEO,setup:i.dtls.setup,rtcpFb:[],rtcpMux:\"rtcp-mux\",rtcpRsize:\"rtcp-rsize\",rtp:[]};if(i.video.codecs.length>0)if(o)for(let a=0;ae.codec.toLowerCase()===(i.useVp8?\"vp8\":\"h264\")));zx(s,i.video.codecs[e])}else if(o)for(let a=0;a{e.payloads=\"\".concat(e.payloads,\" \").concat(t.payload),e.fmtp.push({payload:t.payload,config:t.fmtp}),e.rtcpFb=[...e.rtcpFb||[],...(t.rtcpfb||t.rtcpFb).map((e=>({payload:t.payload,type:e.id,subtype:e.params[0]})))],e.rtp.push({payload:t.payload,codec:t.codec.toUpperCase(),rate:t.rate}),t.rtx&&(e.payloads=\"\".concat(e.payloads,\" \").concat(t.rtx),e.fmtp.push({payload:t.rtx,config:\"apt=\".concat(t.payload)}),e.rtp.push({payload:t.rtx,codec:\"rtx\",rate:t.rate}))};var qx,Qx=e=>{let t=Jx.default.parse(e);return t.media.forEach((e=>{var i;(e.type===LN.AUDIO||e.type===LN.VIDEO)&&(function(e){if(!e.rtcpFb)return;let t=[];e.rtcpFb.forEach(((i,n)=>{var r;t.push(i),e.rtcpFb&&(null==(r=e.rtcpFb[n+1])?void 0:r.payload)!==i.payload&&\"rrtr\"!==i.type&&t.push({payload:i.payload,type:\"rrtr\"})})),e.rtcpFb=t}(e),function(e){e.type===LN.VIDEO&&e.fmtp&&e.fmtp.forEach((e=>{e.config.includes(\"apt\")||(e.config+=\";sps-pps-idr-in-keyframe=1\")}))}(e),function(e){e.type===LN.AUDIO&&e.fmtp&&e.fmtp.forEach((e=>{e.config+=\";sprop-stereo=1;stereo=1\"}))}(e),function(e){let t=new Set([\"urn:ietf:params:rtp-hdrext:sdes:mid\",\"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\",\"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\"]);e.ext&&(e.ext=e.ext.filter((e=>!t.has(e.uri))))}(e)),(null==(i=e.payloads)?void 0:i.includes(\"datachannel\"))&&t.groups&&e.mid&&(t.groups[0].mids=t.groups[0].mids.replace(e.mid,\"dc\"),e.mid=\"dc\")})),Jx.default.write(t)},Xx=((qx=Xx||{}).TRACK=\"track\",qx.DATA_CHANNEL_MESSAGE=\"data_channel_msg\",qx[qx.CONNECTION_STATE_CHANGED=\"connection-state-changed\"]=\"CONNECTION_STATE_CHANGED\",qx[qx.FIREWALL_RESTRICTION=\"firewall-restriction\"]=\"FIREWALL_RESTRICTION\",qx.RECONNECTED=\"spc-reconnected\",qx.RECONNECT_FAILED=\"spc-reconnect-failed\",qx.ERROR=\"error\",qx),Zx=0,$x=!1,eU=new Set,tU=1,iU=class extends Wx.default{constructor(e){let{signalChannel:t,room:i,enableCustomMessage:n}=e;super(),ob(this,\"stat\",{iceStartTime:0,iceEndTime:0,dtlsStartTime:0,dtlsEndTime:0,peerConnectionStartTime:0,peerConnectionEndTime:0}),ob(this,\"currentState\",\"DISCONNECTED\"),ob(this,\"_room\"),ob(this,\"_signalChannel\"),ob(this,\"_peerConnection\",null),ob(this,\"_datachannel\",null),ob(this,\"_enableCustomMessage\"),ob(this,\"_log\"),ob(this,\"_downlinkMIDMap\",new Map),ob(this,\"_reconnectionTimer\",-1),ob(this,\"reconnectionCount\",0),ob(this,\"_clientAbility\",null),ob(this,\"_serverAbility\",null),ob(this,\"addDownlinkQueue\",new Set),ob(this,\"removeDownlinkQueue\",new Set),ob(this,\"_parsedAnswer\",null),ob(this,\"_updateSDPPromise\",null),ob(this,\"_waitForPCConnectedPromise\"),ob(this,\"_waitForPCConnectedPromiseReject\",null),ob(this,\"_isSDPLogged\",!1),this._room=i,this._enableCustomMessage=n,this._signalChannel=t,this._log=HO.createLogger({id:\"spc\".concat(tU++),userId:this._room.userId,sdkAppId:this._room.sdkAppId})}get isH264EncodeSupported(){let e=this._room.checkSystemResult.detail.isH264EncodeSupported;return this._serverAbility&&(e=e&&!!this._serverAbility.video.codecs.find((e=>\"h264\"===e.codec.toLowerCase()))),e}get isVP8EncodeSupported(){let e=this._room.checkSystemResult.detail.isVp8EncodeSupported;return this._serverAbility&&(e=e&&this._serverAbility.useVp8),e}get uplinkSSRC(){return this._peerConnection&&this._peerConnection.localDescription?(e=>{let t=BV(e),i={audioSsrc:0,audioRtxSsrc:0,bigVideoSsrc:0,bigVideoRtxSsrc:0,smallVideoSsrc:0,smallVideoRtxSsrc:0,auxVideoSsrc:0,auxVideoRtxSsrc:0};return t.media.forEach(((e,t)=>{var n;if(e.ssrcs&&!nO(e.ssrcs[0].id)){let r=Number(e.ssrcs[0].id),o=Number(null==(n=e.ssrcs.filter((e=>\"cname\"===e.attribute))[1])?void 0:n.id);switch(t){case 0:i.audioSsrc=r;break;case 1:i.bigVideoSsrc=r,i.bigVideoRtxSsrc=o;break;case 2:i.smallVideoSsrc=r,i.smallVideoRtxSsrc=o;break;case 3:i.auxVideoSsrc=r,i.auxVideoRtxSsrc=o}}})),i})(this._peerConnection.localDescription.sdp):{audioSsrc:0,audioRtxSsrc:0,bigVideoSsrc:0,bigVideoRtxSsrc:0,smallVideoSsrc:0,smallVideoRtxSsrc:0,auxVideoSsrc:0,auxVideoRtxSsrc:0}}get isReconnecting(){return\"RECONNECTING\"===this.currentState||this._reconnectionTimer>0||this.reconnectionCount>0}get dtlsTransport(){if(!this._peerConnection)return null;let e=this._peerConnection.getSenders();return 0===e.length?null:e[0].transport}initialize(){return ab(this,null,(function*(){try{this._peerConnection=new RTCPeerConnection({offerExtmapAllowMixed:!0,iceServers:this._room.getIceServers(),iceTransportPolicy:this._room.getIceTransportPolicy(),sdpSemantics:this._room.sdpSemantics,bundlePolicy:\"max-bundle\",rtcpMuxPolicy:\"require\",tcpCandidatePolicy:\"disable\",IceTransportsType:\"nohost\"}),this._peerConnection.oniceconnectionstatechange=()=>{if(!this._peerConnection)return;let e=this._peerConnection.iceConnectionState;this._log.debug(\"ice state: \".concat(e)),\"checking\"===e&&0===this.stat.iceStartTime?this.stat.iceStartTime=Date.now():\"connected\"===e&&0===this.stat.iceEndTime&&(this.stat.iceEndTime=Date.now())},this._peerConnection.onconnectionstatechange=this.onConnectionStateChange.bind(this),this._peerConnection.ontrack=e=>this.emit(\"track\",e),this._enableCustomMessage&&(this._datachannel=this._peerConnection.createDataChannel(\"\".concat(this._room.userId,\"dc\")),this._datachannel.binaryType=\"arraybuffer\",this._datachannel.onopen=()=>{this._log.info(\"datachannel open\")},this._datachannel.onclose=()=>{this._log.warn(\"datachannel close\")},this._datachannel.onmessage=e=>{let t=new rU(e.data);this.emit(\"data_channel_msg\",{data:t})},this._datachannel.onerror=e=>{this._log.warn(\"datachannel error\",e)}),this._peerConnection.addTransceiver(LN.AUDIO,{direction:LN.TRANSCEIVER_DIRECTION_SENDONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:LN.TRANSCEIVER_DIRECTION_SENDONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:LN.TRANSCEIVER_DIRECTION_SENDONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:LN.TRANSCEIVER_DIRECTION_SENDONLY});let e=yield this._peerConnection.createOffer();return yield this.setOffer(e),this.dtlsTransport&&(this.dtlsTransport.onstatechange=()=>{let{dtlsTransport:e}=this;!e||(this._log.debug(\"dtls state: \".concat(e.state)),\"connecting\"===e.state&&0===this.stat.dtlsStartTime?this.stat.dtlsStartTime=Date.now():\"connected\"===e.state&&0===this.stat.dtlsEndTime&&(this.stat.dtlsEndTime=Date.now()))}),this._clientAbility=((e,t)=>{var i,n;let r=BV(e),o={ice:{ufrag:\"\",password:\"\"},dtls:{hash:\"\",fingerprint:\"\",setup:\"\"},audio:{codecs:[],extensions:[]},video:{codecs:[],extensions:[]},useDataChannel:t};o.ice.ufrag=String(r.media[0].iceUfrag),o.ice.password=r.media[0].icePwd||\"\",r.fingerprint&&(o.dtls.hash=r.fingerprint.type,o.dtls.fingerprint=r.fingerprint.hash,o.dtls.setup=r.setup||\"\"),r.media[0].fingerprint&&(o.dtls.hash=r.media[0].fingerprint.type,o.dtls.fingerprint=r.media[0].fingerprint.hash),o.dtls.setup=r.media[0].setup||\"\";let s=r.media[0],a=r.media[1];s.ext&&(o.audio.extensions=s.ext.map((e=>({id:e.value,uri:e.uri})))),a.ext&&(o.video.extensions=a.ext.map((e=>({id:e.value,uri:e.uri}))));let c={codec:s.rtp[0].codec,fmtp:s.fmtp[0].config,payload:s.fmtp[0].payload,rate:s.rtp[0].rate,channel:s.rtp[0].encoding,rtcpFb:[],rtx:0};null==(i=s.rtcpFb)||i.forEach((e=>{let{payload:t,type:i,subtype:n}=e;if(t===c.payload){let e={id:i,params:[]};n&&e.params.push(n),c.rtcpFb.push(e)}})),o.audio.codecs.push(c);for(let l=0;le.payload===a.rtp[l].payload))[0];o.video.codecs.push({payload:a.rtp[l].payload,codec:a.rtp[l].codec,fmtp:e?e.config:\"\",rate:a.rtp[l].rate,rtx:\"rtx\"===(null==(n=a.rtp[l+1])?void 0:n.codec)?a.rtp[l+1].payload:0,rtcpFb:((null==a?void 0:a.rtcpFb)||[]).filter((e=>e.payload===a.rtp[l].payload)).map((e=>{let{type:t,subtype:i}=e;return{id:t,params:i?[i]:[]}}))})}return o})(e.sdp,this._enableCustomMessage),this._clientAbility}catch(sN){throw this._log.error(\"initialize failed \".concat(sN)),sN}}))}connect(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return ab(this,null,(function*(){try{if(\"CONNECTED\"===this.currentState)return;let i=fO(),n={type:\"answer\",sdp:Kx({serverAbility:e,clientAbility:this._clientAbility,offerSDP:this._peerConnection.localDescription.sdp,enableCustomMessage:this._enableCustomMessage})};this._serverAbility=e,yield this.setAnswer(n),yield this.waitForPeerConnectionConnected(),t||xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:\"SPCConnect\",cost:Math.min(fO()-i,3e4)})}catch(aN){let i=aN instanceof gb&&aN.code===mb.API_CALL_ABORTED;throw i||this._log.error(\"connect failed: \".concat(aN),e),this.reset(),!i&&!this.isReconnecting&&(xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:\"SPCConnect\",error:aN}),this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this.startReconnection()),aN}}))}reconnect(){return ab(this,null,(function*(){if(-1===this._reconnectionTimer){if(!this._signalChannel.isConnected)return this._log.warn(\"reconnect() wait signal channel is connected\"),void this._signalChannel.once(QM,this.reconnect,this);try{this.reconnectionCount++,this._log.warn(\"reconnect() trying [\".concat(this.reconnectionCount,\"]\")),this.reset();let e=yield this.initialize(),t=yield this._signalChannel.sendWaitForResponse({command:AV,responseCommand:nV.REBUILD_PEER_CONNECTION_RES,data:{ability:e},enableLog:!1});yield this.connect(t.data.data.ability,!0),this._log.warn(\"reconnect() successfully\"),this.stopReconnection(),this.emit(\"spc-reconnected\")}catch(sN){if(!this.isReconnecting)return;if(null!=sN&&sN.message.includes(\"timeout\")){let e=eO(this.reconnectionCount);this._log.warn(\"reconnect() timeout, try again after \".concat(e/1e3,\"s\")),this._reconnectionTimer=window.setTimeout((()=>{this.clearReconnectionTimer(),this.reconnect()}),e)}else this._log.error(\"reconnect() failed \".concat(sN)),xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:\"SPCReconnect\",error:sN}),this.reconnectionCount>=oD()&&this._log.warn(\"SDK has tried reconnect for \".concat(oD(),\" times, but all failed, please check your network\")),this.stopReconnection(),this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this.emit(\"error\")}}else this._log.warn(\"reconnect() is reconnecting, ignore current reconnection\")}))}getPeerConnection(){return this._peerConnection}startReconnection(){return ab(this,null,(function*(){this._log.warn(\"start reconnect\"),this.emitConnectionStateChangedEvent(\"RECONNECTING\");let e=fO();yield this.reconnect(),xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:\"SPCReconnect\",cost:Math.min(fO()-e,3e4)})}))}stopReconnection(){this.isReconnecting&&(this._log.info(\"stop reconnect\"),this.reconnectionCount=0,this.clearReconnectionTimer(),this._signalChannel.off(QM,this.reconnect,this))}checkPeerConnectionToReconnect(){var e;!this.isReconnecting&&(null==(e=this._peerConnection)?void 0:e.connectionState)===iD.CLOSED&&this.startReconnection()}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}onConnectionStateChange(e){let t=this._peerConnection.iceConnectionState,i=this.getDTLSTransportState();this._log.info(\"connectionState: \".concat(e.target.connectionState,\" ICE: \").concat(t,\" DTLS: \").concat(i)),e.target.connectionState===iD.CONNECTING&&(0===this.stat.peerConnectionStartTime&&(this.stat.peerConnectionStartTime=Date.now()),this.emitConnectionStateChangedEvent(\"CONNECTING\")),(e.target.connectionState===iD.FAILED||e.target.connectionState===iD.CLOSED)&&(this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this.startReconnection()),(e.target.connectionState===iD.CONNECTED||e.target.connectionState===iD.COMPLETED)&&(0===this.stat.peerConnectionEndTime&&(this.stat.peerConnectionEndTime=Date.now()),xO.emit(FO.SINGLE_CONNECTION_STAT,{room:this._room,stat:{ice:this.stat.iceEndTime-this.stat.iceStartTime,dtls:this.stat.dtlsEndTime-this.stat.dtlsStartTime,peerConnection:this.stat.peerConnectionEndTime-this.stat.peerConnectionStartTime}}),this.logSelectedCandidate(),this.emitConnectionStateChangedEvent(\"CONNECTED\"))}getDTLSTransportState(){if(!this._peerConnection)return tD;let e=null;return Ew()&&0!==this._peerConnection.getSenders().length?(e=this._peerConnection.getSenders()[0].transport,Tw()&&0!==this._peerConnection.getReceivers().length&&e?e.state:tD):tD}emitConnectionStateChangedEvent(e){e!==this.currentState&&(\"RECONNECTING\"===this.currentState&&\"CONNECTING\"===e||(this.emit(Xx.CONNECTION_STATE_CHANGED,{prevState:this.currentState,state:e}),this.currentState=e))}logSelectedCandidate(){return ab(this,null,(function*(){if(!this._peerConnection)return;let e=yield this._peerConnection.getStats();for(let[t,i]of e)if(uw(i)){let t=e.get(i.localCandidateId),n=e.get(i.remoteCandidateId);t&&this._log.info(\"local candidate: \".concat(t.candidateType,\" \").concat(t.protocol,\":\").concat(t.ip||t.address,\":\").concat(t.port,\" \").concat(t.networkType||\"\",\" \").concat(\"relay\"===t.candidateType?\"relayProtocol:\".concat(t.relayProtocol):\"\")),n&&this._log.info(\"remote candidate: \".concat(n.candidateType,\" \").concat(n.protocol,\":\").concat(n.ip||n.address,\":\").concat(n.port));break}}))}waitForPeerConnectionConnected(){return this._waitForPCConnectedPromise||(this._waitForPCConnectedPromise=new Promise(((e,t)=>{if(\"CONNECTED\"===this.currentState)return e();this._waitForPCConnectedPromiseReject=t;let i=t=>{\"CONNECTED\"===t.state&&(clearTimeout(o),r(),e())},n=e=>{let{room:i}=e;i===this._room&&(clearTimeout(o),r(),t(new gb({code:mb.API_CALL_ABORTED,message:qO({key:JO.CONNECTION_ABORTED,data:\"leave room\"})})))},r=()=>{xO.off(FO.LEAVE_SUCCESS,n,this),this.off(Xx.CONNECTION_STATE_CHANGED,i,this)},o=setTimeout((()=>{r();let e=new gb({code:mb.API_CALL_TIMEOUT,message:\"connection timeout\"});Zx+=1,(e=>Zx>2&&!$x&&0===eU.size&&e)(this._signalChannel.isConnected)&&(this._log.warn(\"firewall restrition\"),$x=!0,this.emit(Xx.FIREWALL_RESTRICTION)),t(e)}),SD);xO.on(FO.LEAVE_SUCCESS,n,this),this.on(Xx.CONNECTION_STATE_CHANGED,i,this)})),this._waitForPCConnectedPromise=this._waitForPCConnectedPromise.finally((()=>{this._waitForPCConnectedPromise=null,this._waitForPCConnectedPromiseReject=null}))),this._waitForPCConnectedPromise}waitForReconnected(){return this.isReconnecting?new Promise(((e,t)=>{this.once(\"spc-reconnected\",e),this.once(\"error\",t)})):Promise.resolve()}addDownlink(e){return ab(this,null,(function*(){if(this._log.info(\"addDownlink(\".concat(e.userId,\") trying\")),this.isReconnecting&&(yield this.waitForReconnected()),this.updateLocalAndRemoteSDPConfig(e),0===this.addDownlinkQueue.size)try{yield this.updateSDP({isNeedToCreateOffer:!0}),this._log.info(\"addDownlink(\".concat(e.userId,\") done\"))}catch(sD){this._log.info(\"addDownlink(\".concat(e.userId,\") failed\")),yield this.startReconnection()}}))}updateLocalAndRemoteSDPConfig(e){let{ssrc:t,userId:i,tinyId:n}=e;if(!this._peerConnection)return;this._log.info(\"updateLocalAndRemoteSDPConfig \".concat(i,\" \").concat(JSON.stringify(t)));let r,o,s,a=this._peerConnection.getTransceivers().filter((e=>\"inactive\"===e.direction)).slice(0,3).map((e=>(e.direction=LN.TRANSCEIVER_DIRECTION_RECVONLY,Number(e.mid))));if(0===a.length&&(this._peerConnection.addTransceiver(LN.AUDIO,{direction:LN.TRANSCEIVER_DIRECTION_RECVONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:LN.TRANSCEIVER_DIRECTION_RECVONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:LN.TRANSCEIVER_DIRECTION_RECVONLY})),this._parsedAnswer||(this._parsedAnswer=BV(this._peerConnection.remoteDescription.sdp)),3===a.length)r=this._parsedAnswer.media.find((e=>Number(e.mid)===Number(a[0]))),o=this._parsedAnswer.media.find((e=>Number(e.mid)===Number(a[1]))),s=this._parsedAnswer.media.find((e=>Number(e.mid)===Number(a[2])));else{r=JSON.parse(JSON.stringify(this._parsedAnswer.media[0]));let e=Yx({mid:1,serverAbility:this._serverAbility,clientAbility:this._clientAbility,parsedOffer:BV(this._peerConnection.localDescription.sdp),useAllCodec:!0});o=JSON.parse(JSON.stringify(e)),s=JSON.parse(JSON.stringify(e)),r.mid=this._parsedAnswer.media.length,this._parsedAnswer.media.push(r),o.mid=this._parsedAnswer.media.length,this._parsedAnswer.media.push(o),s.mid=this._parsedAnswer.media.length,this._parsedAnswer.media.push(s)}r.direction=LN.TRANSCEIVER_DIRECTION_SENDONLY,r.ssrcs=[{id:t.audio,attribute:\"cname\",value:\"\".concat(n)},{id:t.audio,attribute:\"msid\",value:\"\".concat(n,\"-\").concat(LN.MAIN,\" \").concat(n,\"-audio\")}],o.direction=LN.TRANSCEIVER_DIRECTION_SENDONLY,o.ssrcs=[{id:t.video,attribute:\"cname\",value:\"\".concat(n)},{id:t.video,attribute:\"msid\",value:\"\".concat(n,\"-\").concat(LN.MAIN,\" \").concat(n,\"-bigvideo\")},{id:t.videoRtx,attribute:\"cname\",value:\"\".concat(n)},{id:t.videoRtx,attribute:\"msid\",value:\"\".concat(n,\"-\").concat(LN.MAIN,\" \").concat(n,\"-bigvideo\")}],o.ssrcGroups=[{semantics:\"FID\",ssrcs:\"\".concat(t.video,\" \").concat(t.videoRtx)}],s.direction=LN.TRANSCEIVER_DIRECTION_SENDONLY;let c=\"\".concat(n,\"-aux\");s.ssrcs=[{id:t.auxiliary,attribute:\"cname\",value:c},{id:t.auxiliary,attribute:\"msid\",value:\"\".concat(c,\" \").concat(n,\"-aux\").concat(LN.VIDEO)},{id:t.auxiliaryRtx,attribute:\"cname\",value:\"\".concat(c,\" \").concat(n,\"-aux\").concat(LN.VIDEO)},{id:t.auxiliaryRtx,attribute:\"msid\",value:\"\".concat(c,\" \").concat(n,\"-aux\").concat(LN.VIDEO)}],s.ssrcGroups=[{semantics:\"FID\",ssrcs:\"\".concat(t.auxiliary,\" \").concat(t.auxiliaryRtx)}],this._parsedAnswer.groups&&(this._parsedAnswer.groups[0].mids=this._parsedAnswer.media.map((e=>e.mid)).join(\" \")),this._downlinkMIDMap.set(n,[r.mid,o.mid,s.mid])}removeDownlink(e,t){return ab(this,null,(function*(){if(!this._downlinkMIDMap.has(e)||!this._peerConnection)return;this._log.info(\"removeDownlink(\".concat(t,\") trying\")),this.isReconnecting&&(yield this.waitForReconnected());let i=this._downlinkMIDMap.get(e),n=!1;this._peerConnection.getTransceivers().forEach((e=>{null!=i&&i.includes(Number(e.mid))&&(n=!0,e.direction=\"inactive\")})),this._parsedAnswer||(this._parsedAnswer=BV(this._peerConnection.remoteDescription.sdp)),this._parsedAnswer.media.forEach((e=>{null!=i&&i.includes(Number(e.mid))&&(n=!0,e.direction=\"inactive\",e.ssrcs=[],e.ssrcGroups=[])})),0===this.removeDownlinkQueue.size&&n&&(yield this.updateSDP({isNeedToCreateOffer:!0,tinyIdRemoving:e})),this._downlinkMIDMap.delete(e),this._log.info(\"removeDownlink(\".concat(t,\") done\"))}))}getDownlinkMids(e){return this._downlinkMIDMap.get(e)}setBandwidth(e){return ab(this,null,(function*(){if(!this._peerConnection)return;let{audio:t,bigVideo:i,smallVideo:n,auxVideo:r}=e;try{if(Rw()){let e=this._peerConnection.getSenders().slice(0,4);for(let o=0;oab(this,null,(function*(){var o,s;try{t&&this._peerConnection&&(this._log.info(\"creating offer\"),i=yield this._peerConnection.createOffer()),i&&(yield this.setOffer(i)),yield this.setAnswer({type:\"answer\",sdp:r}),this._updateSDPPromise=null,e()}catch(a){this._log.error(a),!this._isSDPLogged&&this._peerConnection&&(this._log.warn(\"transceivers: \".concat(JSON.stringify(this._peerConnection.getTransceivers().map((e=>{let{mid:t,currentDirection:i,direction:n,stopped:r}=e;return{mid:t,currentDirection:i,direction:n,stopped:r}}))))),this._log.warn(\"parsedAnswer: \".concat(JSON.stringify(this._parsedAnswer))),this._log.warn(\"local sdp: \".concat(null==i?void 0:i.sdp)||(null==(o=this._peerConnection.localDescription)?void 0:o.sdp)),this._log.warn(\"remote sdp: \".concat(r)||(null==(s=this._peerConnection.remoteDescription)?void 0:s.sdp)),this._isSDPLogged=!0),this._updateSDPPromise=null,n(a)}})))),this._updateSDPPromise}setOffer(e){return this._log.info(\"setting offer\"),this._peerConnection.setLocalDescription({type:\"offer\",sdp:Qx(e.sdp)})}setAnswer(e){return this._log.info(\"setting answer\"),this._room.enableHWEncoder&&e.sdp&&(e.sdp=e.sdp.replaceAll(\"42e01f\",\"42001f\")),this._peerConnection.setRemoteDescription(e)}sendDataChannelMessage(e){var t;null==(t=this._datachannel)||t.send(e)}reset(){var e;null==(e=this._peerConnection)||e.close(),this._waitForPCConnectedPromise=null,this._parsedAnswer=null}close(){this._log.info(\"close pc\"),this.reset(),this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this._downlinkMIDMap.clear(),this.stopReconnection(),this.removeAllListeners()}};rb([jx()],iU.prototype,\"updateSDP\",1);var nU=class{constructor(e){ob(this,\"tag\"),ob(this,\"len\"),ob(this,\"data\");let t=new DataView(e);this.tag=t.getUint16(),this.len=t.getUint16(2),this.data=new Uint8Array(e).slice(4,4+this.len).buffer}},rU=class{constructor(e){ob(this,\"tinyId\"),ob(this,\"data\");let t=new DataView(e),i=0,n=[];for(;i{1===e.tag?this.tinyId=(new TextDecoder).decode(e.data):2===e.tag&&(this.data=e.data)}))}},oU=new Set;function sU(){let e=Math.floor(4294967296*Math.random());return oU.has(e)?sU():(oU.add(e),e)}var aU=nb(cb()),cU=class extends aU.default{constructor(e){super(),ob(this,\"userId\"),ob(this,\"tinyId\"),ob(this,\"_sdpSemantics\"),ob(this,\"_isUplink\"),ob(this,\"_room\"),ob(this,\"_log\"),ob(this,\"_signalChannel\"),ob(this,\"_currentState\",\"DISCONNECTED\"),ob(this,\"_prevTime\",-1),ob(this,\"_enableSEI\"),ob(this,\"_sei\"),this.userId=e.userId,this.tinyId=e.tinyId,this._room=e.room,this._sdpSemantics=e.room.sdpSemantics,this._isUplink=e.isUplink,this._log=HO.createLogger({id:\"n\",userId:this._room.userId,remoteUserId:this._isUplink?void 0:this.userId,sdkAppId:this._room.sdkAppId,isLocal:this._isUplink}),this._signalChannel=e.signalChannel,this._enableSEI=e.enableSEI,this._enableSEI&&kw&&(this._sei=new PV(this,this._log,this._isUplink))}get _peerConnection(){var e;return(null==(e=this.singlePC)?void 0:e.getPeerConnection())||null}get singlePC(){return this._room.singlePC}close(e){this._log.info(\"close connection\"),this.emit(\"closed\",e),this._sei&&(this._sei.destroy(),this._sei=null)}emitConnectionStateChangedEvent(e){return e!==this._currentState&&(xO.emit(FO.PEER_CONNECTION_STATE_CHANGED,{room:this._room,prevState:this._currentState,state:e,remoteUserId:this._isUplink?void 0:this.userId}),this.emit(\"connection-state-changed\",{prevState:this._currentState,state:e}),this._currentState=e,!0)}getPeerConnection(){return this._peerConnection}getRoom(){return this._room}getUserId(){return this.userId}getTinyId(){return this.tinyId}getCurrentState(){return this._currentState}get isH264(){var e,t;return!(null==(t=null==(e=this._peerConnection)?void 0:e.remoteDescription)||!t.sdp.includes(\"H264\"))}},lU=class extends cU{constructor(e){super(eb($C({},e),{isUplink:!0})),ob(this,\"localMainAudioTrack\",null),ob(this,\"localMainVideoTrack\",null),ob(this,\"localAuxAudioTrack\",null),ob(this,\"localAuxVideoTrack\",null),ob(this,\"_isPublishingAux\",!1),ob(this,\"_publishingLocalAudioTrack\"),ob(this,\"_publishingLocalVideoTrack\"),ob(this,\"_mediaSettings\",{videoCodec:\"\",videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioCodec:\"opus\",audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0,auxVideoWidth:0,auxVideoHeight:0,auxVideoFps:0,auxVideoBps:0}),ob(this,\"_audioManager\"),this._audioManager=e.audioManager,this.initialize()}get ssrc(){if(!this.singlePC)return{audio:0,video:0,videoRtx:0,small:0,smallRtx:0,auxiliary:0,auxiliaryRtx:0};let{audioSsrc:e,bigVideoSsrc:t,bigVideoRtxSsrc:i,smallVideoSsrc:n,smallVideoRtxSsrc:r,auxVideoSsrc:o,auxVideoRtxSsrc:s}=this.singlePC.uplinkSSRC;return{audio:e||0,video:t||0,videoRtx:i||0,small:n||0,smallRtx:r||0,auxiliary:o||0,auxiliaryRtx:s||0}}get isMainStreamPublished(){return!(!this.localMainAudioTrack&&!this.localMainVideoTrack)}get isAuxStreamPublished(){return!(!this.localAuxVideoTrack&&!this.localAuxAudioTrack)}get publishState(){var e,t,i,n;let r={audio:!1,bigVideo:!1,smallVideo:!1,auxVideo:!1};if(this._peerConnection){let o=this._peerConnection.getSenders();o&&(Sw()?(r.audio=!(null==(e=o[0])||!e.track),r.bigVideo=!(null==(t=o[1])||!t.track),r.smallVideo=!(null==(i=o[2])||!i.track),r.auxVideo=!(null==(n=o[3])||!n.track)):o.forEach((e=>{e.track&&(e.track.kind===LN.AUDIO?r.audio=!0:(r.bigVideo=!0,this._room.videoManager.hasSmall&&(r.smallVideo=!0)))})))}return r}initialize(){this.installEvents()}reset(){this.uninstallEvents()}close(e){super.close(e),this.reset(),this.emitConnectionStateChangedEvent(\"DISCONNECTED\")}installEvents(){var e;this.listeners(\"connection-state-changed\").includes(this.handleConnectionStateChange)||this.on(\"connection-state-changed\",this.handleConnectionStateChange,this),this.listeners(\"spc-reconnected\").includes(this.onSinglePCReconnected)||null==(e=this.singlePC)||e.on(\"spc-reconnected\",this.onSinglePCReconnected,this)}uninstallEvents(){var e;this.off(\"connection-state-changed\",this.handleConnectionStateChange,this),null==(e=this.singlePC)||e.off(\"spc-reconnected\",this.onSinglePCReconnected,this)}emitConnectionStateChangedEvent(e,t){var i,n,r;let o=this._currentState,s=super.emitConnectionStateChangedEvent(e);return s&&o!==e&&(t?t.emit(\"connection-state-changed\",{prevState:o,state:e}):(null==(i=this.localMainVideoTrack)||i.emit(\"connection-state-changed\",{prevState:o,state:e}),null==(n=this.localAuxVideoTrack)||n.emit(\"connection-state-changed\",{prevState:o,state:e}),null==(r=this._publishingLocalVideoTrack)||r.emit(\"connection-state-changed\",{prevState:o,state:e}))),s}publish(e){return ab(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,isAuxiliary:r}=e;return function*(){var e,o,s,a,c,l;if(!t.singlePC)return;if(yield t.singlePC.waitForPeerConnectionConnected(),i&&(t._publishingLocalAudioTrack=i),n){if(!t.singlePC.isH264EncodeSupported&&!t.singlePC.isVP8EncodeSupported)throw new gb({code:mb.NOT_SUPPORTED_H264,message:qO({key:JO.NOT_SUPPORTED_H264ENCODE})});Lb&&115===wk()&&n.profile.width*n.profile.height<=230400&&(t._log.warn(\"fallback video to 480p\"),n.setProfile(wN[\"480p_2\"]),yield n.applyProfile()),t._publishingLocalVideoTrack=n}let d;t._isPublishingAux=r,n&&!r&&n.small&&(d=t._room.videoManager.smallTrack),Iw()&&(yield t.publishByTransceiver({localAudioTrack:i,localVideoTrack:n,smallTrack:d,isAuxiliary:r})),t._publishingLocalAudioTrack=null,t._publishingLocalVideoTrack=null,t._isPublishingAux=!1,r?(n&&(t.localAuxVideoTrack=n),i&&(t.localAuxAudioTrack=i)):(n&&(t.localMainVideoTrack=n),i&&(t.localMainAudioTrack=i)),yield t.singlePC.setBandwidth({audio:(null==(e=t.localMainAudioTrack)?void 0:e.profile.bitrate)||(null==(o=t.localAuxAudioTrack)?void 0:o.profile.bitrate),bigVideo:null==(s=t.localMainVideoTrack)?void 0:s.profile.bitrate,smallVideo:null==(c=null==(a=t.localMainVideoTrack)?void 0:a.small)?void 0:c.bitrate,auxVideo:null==(l=t.localAuxVideoTrack)?void 0:l.profile.bitrate}),yield t._signalChannel.sendWaitForResponse({command:CV,responseCommand:nV.SPC_PUBLISH_RESULT,data:eb($C({},t.singlePC.uplinkSSRC),{state:t.publishState})}),t.sendMediaSettings(),t.installTrackMuteEvents(i,n),t.sendMutedFlag()}()}))}publishByTransceiver(e){let{localAudioTrack:t,localVideoTrack:i,smallTrack:n,isAuxiliary:r}=e;this._log.info(\"publish by transceiver\");let o=null==i?void 0:i.outMediaTrack,s=this._audioManager.mixedAudioTrack,a=this._peerConnection.getTransceivers(),c=[],l=[];if(s){let e=a[0].sender.replaceTrack(s);l.push(0),c.push(e)}if(o)if(r){let e=a[3].sender.replaceTrack(o);l.push(3),c.push(e)}else{let e=a[1].sender.replaceTrack(o);l.push(1),c.push(e)}if(n){let e=a[2].sender.replaceTrack(n);l.push(2),c.push(e)}let d=this.setTransceiverDirection(MN.SENDONLY,l);return c.push(d),Promise.all(c)}installTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.on(\"mute\",this.sendMutedFlag,this),null==e||e.on(\"unmute\",this.sendMutedFlag,this))}))}uninstallTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.off(\"mute\",this.sendMutedFlag,this),null==e||e.off(\"unmute\",this.sendMutedFlag,this))}))}unpublish(e){return ab(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n}=e;return function*(){let e=n&&n===t.localAuxVideoTrack,r=null==n?void 0:n.outMediaTrack,o=t._peerConnection.getSenders(),s=[];i&&(t._audioManager.mixedAudioTrack||(yield o[0].replaceTrack(null),s.push(0)),e?t.localAuxAudioTrack=null:t.localMainAudioTrack=null),r&&(e?(yield o[3].replaceTrack(null),t.localAuxVideoTrack=null,t._mediaSettings=eb($C({},t._mediaSettings),{auxVideoBps:0,auxVideoFps:0,auxVideoWidth:0,auxVideoHeight:0}),s.push(3)):(yield o[1].replaceTrack(null),yield o[2].replaceTrack(null),t.localMainVideoTrack=null,t._mediaSettings=eb($C({},t._mediaSettings),{videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0}),s.push(1,2))),t.isMainStreamPublished||t.isAuxStreamPublished?(yield t.setTransceiverDirection(MN.INACTIVE,s),yield t.doPublishChange(!1)):yield t.doUnpublish(),t.uninstallTrackMuteEvents(i,n),null==n||n.emit(\"connection-state-changed\",{prevState:t._currentState,state:\"DISCONNECTED\"})}()}))}doPublishChange(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return ab(this,null,(function*(){let t={state:this.publishState,constraintConfig:this._mediaSettings},i=yield this._signalChannel.sendWaitForResponse({command:dV,data:t,responseCommand:nV.PUBLISH_STATE_CHANGE_RESULT,enableLog:e});this.checkPublishResultCode(i.data.code,i.data.message)}))}doUnpublish(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._signalChannel.sendWaitForResponse({command:uV,commandDesc:\"unpublish\",responseCommand:nV.UNPUBLISH_RESULT,enableLog:e}).catch((e=>{if(e.getCode()===mb.API_CALL_TIMEOUT)return Promise.resolve();throw e}))}updateMediaSettings(){let{detail:{isH264EncodeSupported:e,isVp8EncodeSupported:t}}=this._room.checkSystemResult;e?this._mediaSettings.videoCodec=\"H264\":t&&(this._mediaSettings.videoCodec=\"VP8\");let i=this._publishingLocalAudioTrack||this.localMainAudioTrack||this.localAuxAudioTrack,{localMainVideoTrack:n,localAuxVideoTrack:r}=this;if(this._publishingLocalVideoTrack&&(this._isPublishingAux?r=this._publishingLocalVideoTrack:n=this._publishingLocalVideoTrack),Cw){if(i&&i.outMediaTrack){let e=i.outMediaTrack.getSettings();this._mediaSettings.audioChannel=e.channelCount||1,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=e.sampleRate||0}if(n&&n.outMediaTrack){let e=n.outMediaTrack.getSettings();this._mediaSettings.videoWidth=e.width||0,this._mediaSettings.videoHeight=e.height||0,this._mediaSettings.videoFps=e.frameRate||0,this._mediaSettings.videoBps=1e3*n.profile.bitrate,n.small&&(this._mediaSettings.smallVideoWidth=n.small.width,this._mediaSettings.smallVideoHeight=n.small.height,this._mediaSettings.smallVideoFps=n.small.frameRate,this._mediaSettings.smallVideoBps=1e3*n.small.bitrate)}if(r&&r.outMediaTrack){let e=r.outMediaTrack.getSettings();this._mediaSettings.auxVideoWidth=e.width||0,this._mediaSettings.auxVideoHeight=e.height||0,this._mediaSettings.auxVideoFps=e.frameRate||0,this._mediaSettings.auxVideoBps=1e3*r.profile.bitrate}}else i&&i.outMediaTrack&&(this._mediaSettings.audioChannel=i.profile.channelCount,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=i.profile.sampleRate),n&&n.outMediaTrack&&(this._mediaSettings.videoWidth=n.profile.width,this._mediaSettings.videoHeight=n.profile.height,this._mediaSettings.videoFps=n.profile.frameRate,this._mediaSettings.videoBps=1e3*n.profile.bitrate);this._log.info(\"updateMediaSettings: \".concat(JSON.stringify(this._mediaSettings)))}sendMediaSettings(){this.updateMediaSettings(),this._signalChannel.sendWaitForResponse({command:yV,data:this._mediaSettings,responseCommand:nV.UPDATE_CONSTRAINT_CONFIG_RES}).then((e=>{0!==e.data.code&&this._log.warn(e.data.message)})).catch((()=>{}))}addTrack(e){return ab(this,null,(function*(){var t;if(!this._peerConnection)return;let i=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info(\"is adding \".concat(e.kind,\" track to current published local \").concat(i?LN.AUXILIARY:LN.MAIN,\" stream\")),null==(t=this._sei)||t.handleEncodedStreams(),Sw()&&(yield this.addTrackByTransceiver(e,i))}))}addTrackByTransceiver(e,t){return ab(this,null,(function*(){var i;if(!e.mediaTrack)return;let n=this._peerConnection.getTransceivers();if(e.kind===LN.AUDIO)yield n[0].sender.replaceTrack(this._audioManager.mixedAudioTrack);else{let r=t?3:1;yield n[r].sender.replaceTrack(e.outMediaTrack),1===r&&(null==(i=this.localMainVideoTrack)?void 0:i.small)&&(yield n[2].sender.replaceTrack(this._room.videoManager.smallTrack)),n[r].direction===MN.INACTIVE&&(yield this.setTransceiverDirection(MN.SENDONLY,[r]))}this.updateMediaSettings(),yield this.doPublishChange()}))}removeTrack(e){return ab(this,null,(function*(){if(!this._peerConnection)return;let t=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info(\"is removing \".concat(e.kind,\" track from current published local \").concat(t?LN.AUXILIARY:LN.MAIN,\" stream\")),Sw()&&(yield this.removeTrackByTransceiver(e,t))}))}removeTrackByTransceiver(e,t){return ab(this,null,(function*(){if(!e.mediaTrack)return;let i=this._peerConnection.getTransceivers();if(e.kind===LN.AUDIO)this._audioManager.mixedAudioTrack||(yield i[0].sender.replaceTrack(null));else{let e=t?3:1;yield i[e].sender.replaceTrack(null),1===e&&this._room.videoManager.hasSmall&&(yield i[2].sender.replaceTrack(null)),yield this.setTransceiverDirection(MN.INACTIVE,[e])}this.updateMediaSettings(),yield this.doPublishChange()}))}setTransceiverDirection(e,t){return ab(this,null,(function*(){if(!Ub)return;let i=!1,n=!1;this._log.info(\"setting transceiver \".concat(t.join(\",\"),\" direction to \").concat(e));let r=this._peerConnection.getTransceivers();if(t.forEach((t=>{r[t].direction!==e&&(r[t].direction=e,i=!0)})),i){this._log.info(\"updating offer\");let e=yield this._peerConnection.createOffer();yield this._peerConnection.setLocalDescription(e)}let o=-1,s=this._peerConnection.remoteDescription.sdp.split(\"\\r\\n\").map((i=>{if(i.match(new RegExp(\"a=(\".concat(MN.INACTIVE,\"|\").concat(MN.RECVONLY,\"|\").concat(MN.SENDONLY,\")\")))&&o++,t.includes(o)){if(e===MN.INACTIVE&&i.includes(\"a=\".concat(MN.RECVONLY)))return n=!0,\"a=\".concat(e);if(e===MN.SENDONLY&&i.includes(\"a=\".concat(MN.INACTIVE)))return n=!0,\"a=\".concat(MN.RECVONLY)}return i})).join(\"\\r\\n\");n&&(this._log.info(\"updating answer\"),yield this._peerConnection.setRemoteDescription({type:\"answer\",sdp:s}))}))}replaceTrack(e){return ab(this,null,(function*(){var t;let i=null==(t=this._peerConnection)?void 0:t.getSenders(),n=e.mediaTrack;if(!i||0===i.length||!n)return;let r=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info(\"is replacing \".concat(n.kind,\" track on \").concat(r?LN.AUXILIARY:LN.MAIN,\" stream\")),n.kind===LN.AUDIO&&i[0]&&(yield i[0].replaceTrack(this._audioManager.mixedAudioTrack)),n.kind===LN.VIDEO&&(!r&&i[1]&&(yield i[1].replaceTrack(e.outMediaTrack||n)),r&&i[3]&&(yield i[3].replaceTrack(e.outMediaTrack)))}))}setBandwidth(e){return ab(this,arguments,(function(e){var t=this;let{bandwidth:i,type:n,videoType:r}=e;return function*(){if(t.singlePC){let e={};n===LN.AUDIO?e.audio=i:\"big\"===r?e.bigVideo=i:\"small\"===r?e.smallVideo=i:e.auxVideo=i,yield t.singlePC.setBandwidth(e)}}()}))}sendMutedFlag(e){var t,i,n;if(e===this.localAuxAudioTrack||e===this.localAuxVideoTrack)return;let r={audio:!(null==(t=this.localMainAudioTrack)||!t.muted),bigVideo:!(null==(i=this.localMainVideoTrack)||!i.muted),auxVideo:!(null==(n=this.localAuxVideoTrack)||!n.muted)};this._log.info(\"send muted state: \".concat(JSON.stringify(r))),this._signalChannel.send(cV,r)}handleConnectionStateChange(e){\"CONNECTED\"===e.state&&(this.localMainVideoTrack||this._publishingLocalVideoTrack&&!this._isPublishingAux)&&xO.emit(FO.SEND_FIRST_VIDEO_FRAME,{room:this._room})}getVideoTrackId(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:LN.VIDEO;if(this._peerConnection){let t=this._peerConnection.getSenders();if(e===LN.AUXILIARY&&t[3]&&t[3].track)return t[3].track.id;if(e===LN.VIDEO&&t[1]&&t[1].track)return t[1].track.id}if(this.localMainVideoTrack&&e===LN.VIDEO){let e=this.localMainVideoTrack.mediaTrack;if(e)return e.id}if(this.localAuxVideoTrack&&e===LN.AUXILIARY){let e=this.localAuxVideoTrack.mediaTrack;if(e)return e.id}return\"\"}getSSRC(){return this.ssrc}checkPublishResultCode(e,t){if(0!==e)throw e===_D?(this._log.error(KO.NOT_SUPPORTED_H264ENCODE),new gb({code:mb.NOT_SUPPORTED_H264,message:qO({key:JO.NOT_SUPPORTED_H264ENCODE})})):new gb({code:mb.UNKNOWN,message:qO({key:JO.SIGNAL_RESPONSE_FAILED,data:{signalResponse:nV.PUBLISH_RESULT,code:e,message:t}})})}sendSEI(e,t){var i;null==(i=this._sei)||i.push(e,t)}onSinglePCReconnected(){return ab(this,null,(function*(){this.isMainStreamPublished&&(yield this.publish({localAudioTrack:this.localMainAudioTrack,localVideoTrack:this.localMainVideoTrack,isAuxiliary:!1})),this.isAuxStreamPublished&&(yield this.publish({localAudioTrack:this.localAuxAudioTrack,localVideoTrack:this.localAuxVideoTrack,isAuxiliary:!0}))}))}};function dU(e){return Object.keys(e).filter((t=>e[t]))}var uU=class extends cU{constructor(e){super(eb($C({},e),{isUplink:!1})),ob(this,\"_flag\",0),ob(this,\"role\",\"anchor\"),ob(this,\"remoteAudioTrack\"),ob(this,\"remoteVideoTrack\"),ob(this,\"remoteAuxiliaryTrack\"),ob(this,\"ssrc\",{audio:0,video:0,videoRtx:0,auxiliary:0,auxiliaryRtx:0}),this.flag=e.flag,this.remoteAudioTrack=new RL(this._room,this),this.remoteVideoTrack=new CL(this._room,this),this.remoteAuxiliaryTrack=new bL(this._room,this),this.initialize()}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 IO(this.flag,this.userId)}get flag(){return this._flag}set flag(e){var t,i,n;e!==this._flag&&(this._flag=e,null==(t=this.remoteAudioTrack)||t.onFlagChanged(),null==(i=this.remoteVideoTrack)||i.onFlagChanged(),null==(n=this.remoteAuxiliaryTrack)||n.onFlagChanged())}get hasMainStream(){return this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall}get hasAuxStream(){return this.muteState.hasAuxiliary}get isMainStreamSubscribed(){return(this.subscribeState.audio||this.subscribeState.video||this.subscribeState.smallVideo)&&(this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall)}get isAuxStreamSubscribed(){return this.subscribeState.auxiliary&&this.muteState.hasAuxiliary}get isSmallStreamSubscribed(){return this.subscribeState.smallVideo&&this.muteState.hasSmall}get isBigStreamSubscribed(){return this.subscribeState.video&&this.muteState.hasVideo}isStreamUnpublished(e){return e===LN.MAIN?!this.muteState.hasAudio&&!this.muteState.hasVideo:!this.muteState.hasAuxiliary}initialize(){this.installEvents()}close(e){super.close(e),this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this.remoteAudioTrack.close(),this.remoteVideoTrack.close(),this.remoteAuxiliaryTrack.close(),this.uninstallEvents(),this.removeDownlink()}installEvents(){!this.singlePC||(this.listeners(\"track\").includes(this.onTrack)||this.singlePC.on(\"track\",this.onTrack,this),this.listeners(\"spc-reconnected\").includes(this.onSinglePCReconnected)||this.singlePC.on(\"spc-reconnected\",this.onSinglePCReconnected,this))}uninstallEvents(){!this.singlePC||(this.singlePC.off(\"track\",this.onTrack,this),this.singlePC.off(\"spc-reconnected\",this.onSinglePCReconnected,this))}emitConnectionStateChangedEvent(e){var t,i;let n=this._currentState,r=super.emitConnectionStateChangedEvent(e);return r&&n!==e&&(null==(t=this.remoteVideoTrack)||t.emit(\"connection-state-changed\",{prevState:n,state:e}),null==(i=this.remoteAuxiliaryTrack)||i.emit(\"connection-state-changed\",{prevState:n,state:e})),r}onTrack(e){let t=e.streams[0],{track:i}=e;if(t.id.split(\"-\")[0]!==this.tinyId)return;let n=t.id.includes(\"aux\")?\"auxiliary\":\"main\";this._log.debug(\"ontrack \".concat(n,\" \").concat(i.kind));let r=LN.AUDIO;i.kind===LN.VIDEO&&(r=n===LN.MAIN?LN.VIDEO:LN.AUXILIARY);let o=this.remoteAudioTrack;r===LN.VIDEO?o=this.remoteVideoTrack:r===LN.AUXILIARY&&(o=this.remoteAuxiliaryTrack),o.setInputMediaStreamTrack(i)}isSubscriptionStateNotChanged(e){return JSON.stringify(e)===JSON.stringify(this.subscribeState)}subscribe(e,t){return ab(this,null,(function*(){try{if(this.isSubscriptionStateNotChanged(e))return;if(this._log.info(\"subscribe \".concat(t,\" \").concat(dU(e))),this.hasSSRC){let t=\"subscribe_change\";Object.values(e).find((e=>!0===e))||(t=\"unsubscribe\"),yield this.sendSubscription(t,e)}else yield this.doSubscribe(e)}catch(aN){throw this._room.isJoined&&this.isStreamUnpublished(t)?(this._log.warn(\"\".concat(aN.message,\" \").concat(JSON.stringify(this.muteState))),new gb({code:mb.REMOTE_STREAM_NOT_EXIST,message:\"remote user \".concat(this.userId,\" unpublished stream\")})):aN}}))}unsubscribe(e){return ab(this,arguments,(function(e){var t=this;let{remoteTracks:i,streamType:n}=e;return function*(){var e;if(\"main\"===n&&!t.isMainStreamSubscribed||\"auxiliary\"===n&&!t.isAuxStreamSubscribed)return void t._log.info(\"\".concat(n,\" stream already unsubscribed\"));let r=$C({},t.subscribeState);i.forEach((e=>{switch(e.mediaType){case 1:r.audio=!1;break;case 4:r.video=!1;break;case 8:r.smallVideo=!1;break;case 2:r.auxiliary=!1}}));let o=\"subscribe_change\";Object.values(r).find((e=>!0===e))||(o=\"unsubscribe\"),t._log.info(\"\".concat(\"unsubscribe\"===o?o:\"subscribe\",\" \").concat(n,\" [\").concat(dU(r),\"]\")),\"unsubscribe\"===o&&(null==(e=t.singlePC)||e.removeDownlinkQueue.add(t.tinyId)),yield t.sendSubscription(o,r),\"unsubscribe\"===o&&(yield t.removeDownlink())}()}))}sendSubscription(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscribeState,i={srcTinyId:this.tinyId,srcUserId:this.userId},n=pV,r=nV.UNSUBSCRIBE_RESULT;return\"subscribe_change\"===e&&(i={audio:t.audio,bigVideo:t.video,auxVideo:t.auxiliary,smallVideo:t.smallVideo,srcTinyId:this.tinyId},n=_V,r=nV.SUBSCRIBE_CHANGE_RESULT),this._signalChannel.sendWaitForResponse({command:n,data:i,responseCommand:r,timeout:1e4}).then((t=>{let{data:i}=t;if(0!==i.code){let t=new gb({code:i.code,message:qO({key:JO.ERROR_MESSAGE,data:{type:e,message:i.message}})});throw this._log.error(t),t}}))}getMainStreamVideoTrackId(){return this.remoteVideoTrack&&this.remoteVideoTrack.mediaTrack?this.remoteVideoTrack.mediaTrack.id:\"\"}getAuxStreamVideoTrackId(){return this.remoteAuxiliaryTrack&&this.remoteAuxiliaryTrack.mediaTrack?this.remoteAuxiliaryTrack.mediaTrack.id:\"\"}setDelay(e){let{audioDelay:t,videoDelay:i}=e;this.remoteAudioTrack.stat.end2EndDelay=t,this.remoteVideoTrack.stat.end2EndDelay=i}onSinglePCReconnected(){(this.ssrc.audio||this.ssrc.video||this.ssrc.auxiliary)&&this.doSubscribe(this.subscribeState,!1)}get hasSSRC(){return this.ssrc.audio&&this.ssrc.video&&this.ssrc.auxiliary}doSubscribe(){return ab(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.subscribeState,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){if(e.singlePC){if(e.singlePC.addDownlinkQueue.add(e.tinyId),yield e.singlePC.waitForPeerConnectionConnected(),i||!e.hasSSRC){let i={audioSsrc:sU(),bigVideoSsrc:sU(),bigVideoRtxSsrc:sU(),auxVideoSsrc:sU(),auxVideoRtxSsrc:sU()},{audioSsrc:n,bigVideoSsrc:r,bigVideoRtxSsrc:o,auxVideoSsrc:s,auxVideoRtxSsrc:a}=i;e.ssrc={audio:n,video:r,videoRtx:o,auxiliary:s,auxiliaryRtx:a},e.singlePC.addDownlinkQueue.delete(e.tinyId),yield e.singlePC.addDownlink({userId:e.userId,tinyId:e.tinyId,ssrc:e.ssrc});let c=yield e._signalChannel.sendWaitForResponse({command:bV,responseCommand:nV.SPC_SUBSCRIBE_RESULT,data:{srcUserId:e.userId,srcTinyId:e.tinyId,audio:t.audio,bigVideo:t.video,auxVideo:t.auxiliary,smallVideo:t.smallVideo,customData:!1,ssrc:i}});if(0!==c.data.code)throw yield e.removeDownlink(),new gb({code:c.data.code,message:c.data.message});return}e.singlePC.addDownlinkQueue.delete(e.tinyId),yield e.singlePC.addDownlink({userId:e.userId,tinyId:e.tinyId,ssrc:e.ssrc})}}()}))}removeDownlink(){return ab(this,null,(function*(){!this.singlePC||(this.ssrc={audio:0,video:0,videoRtx:0,auxiliary:0,auxiliaryRtx:0},this.singlePC.removeDownlinkQueue.delete(this.tinyId),yield this.singlePC.removeDownlink(this.tinyId,this.userId))}))}};rb([iL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{let r=e=>{this.off(\"closed\",r),n(new gb({code:mb.API_CALL_ABORTED,message:qO({key:JO.CONNECTION_ABORTED,data:e})}))};this.on(\"closed\",r),e.apply(this,i).then(t,n).finally((()=>{this.off(\"closed\",r)}))}))}))],uU.prototype,\"subscribe\",1);var hU=uU;var{isString:pU,isPlainObject:_U,isUndefined:mU,getNetworkType:fU,getTerminalType:gU,isEmpty:TU}=Ib,EU=class extends Fx{constructor(e){super(e),this.privateMapKey=\"\",this._heartbeat=-1,this._lastHeartBeatTime=-1,this._joinTimeout=-1,this._firstPublishedList=null,this._joinReject=null,this._isRelayChanged=!1,this._signalChannel=null,this.uplinkConnection=null,this.singlePC=null,this.enableSPC=vw,this._changeBigSmallRecords=new Map,this._networkQuality=null,this._networkType=fU(),this._turnServers=[],this._syncUserListInterval=-1,this._smallStreamConfig={bitrate:100,frameRate:15,height:120,width:160},this.enableSEI=!1,this._enableAudioVolumeEvaluation=!1,this._audioVolumeIntervalId=0,this._enableMultiAuxStream=!1,this._pureAudioPushMode=!1,this.enableHWEncoder=!1,this._stats=new QV(this,this._log),this.userManager=new KL(this.userId,this._log),this._version=rN,this.sdpSemantics=pD,mU(e.sdpSemantics)?WO.isUnifiedPlanDefault()&&(this.sdpSemantics=hD):this.sdpSemantics=e.sdpSemantics,this._log.info(\"sdpSemantics: \".concat(this.sdpSemantics,\", netType: \").concat(this._networkType)),e.iceTransportPolicy&&(this._iceTransportPolicy=e.iceTransportPolicy),this._enableMultiAuxStream=!mU(e.enableMultiAuxStream)&&e.enableMultiAuxStream,this.enableSEI=e.enableSEI,!mU(e.enableSPC)&&vw&&(this.enableSPC=e.enableSPC),this.enableHWEncoder=e.enableHWEncoder||!1,this._initBusinessInfo(e)}get isMainStreamPublished(){var e;return!(null==(e=this.uplinkConnection)||!e.isMainStreamPublished)}get isMainAudioPublished(){var e;return!(null==(e=this.uplinkConnection)||!e.localMainAudioTrack)}get isAuxStreamPublished(){var e;return!(null==(e=this.uplinkConnection)||!e.isAuxStreamPublished)}get hasAuxStream(){return[...this.remotePublishedUserMap.values()].findIndex((e=>e.muteState.hasAuxiliary))>=0}get userMap(){return this.userManager.userMap}get remotePublishedUserMap(){return this.userManager.remotePublishedUserMap}get tinyIdToUserIdMap(){return new Map([...this.remotePublishedUserMap.values()].map((e=>[e.tinyId,e.userId])))}join(e,t,i){return ab(this,null,(function*(){return this.userManager.mySelfId=this.userId,this.userManager.on(\"1\",(e=>{this.emit(\"peer-join\",e)})),this.userManager.on(\"2\",(e=>{this.closeDownLinkConnection(e,\"remote user exitRoom\"),this.emit(\"peer-leave\",e)})),this.userManager.on(\"3\",this.createDownlinkConnection,this),this.userManager.on(\"5\",this.closeDownLinkConnection,this),this.userManager.on(\"6\",(e=>{var t=((e,t)=>{var i={};for(var n in e)zC.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&KC)for(var n of KC(e))t.indexOf(n)<0&&qC.call(e,n)&&(i[n]=e[n]);return i})(e,[]);xO.emit(FO.REMOTE_PUBLISH_STATE_CHANGED,$C({room:this},t)),this.emit(\"remote-publish-state-changed\",$C({},t))})),this._joinOptions=e,new Promise(((t,i)=>ab(this,null,(function*(){this._joinReject=i;try{this.checkDestroy();let i=yield this.initialize();yield this.doJoin(e,i),t(),this._firstPublishedList&&this.onPublishedUserList({data:{userList:this._firstPublishedList}})}catch(qx){i(qx)}this._joinReject=null}))))}))}doJoin(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Promise(((i,n)=>ab(this,null,(function*(){var r,o,s;let a;if(e.privateMapKey&&(this.privateMapKey=e.privateMapKey),this._signalChannel.once(zM,(e=>{this.clearJoinTimeout(),xO.emit(FO.JOIN_SIGNAL_CONNECTION_END,{room:this,error:e}),n(e)})),sO(null==(o=null==(r=this.scheduleResult)?void 0:r.config)?void 0:o.singlePC)&&vw&&(this.enableSPC=this.scheduleResult.config.singlePC),this.enableSPC&&!this.singlePC){this.singlePC=new iU({signalChannel:this._signalChannel,room:this,enableCustomMessage:!1}),this.singlePC.once(\"error\",(()=>this.fallbackToMPC()));try{a=yield this.singlePC.initialize()}catch(d){this.fallbackToMPC()}}this.keyPointManager.setConnectionType(this.singlePC?1:2);let c={roomId:String(e.roomId||e.strRoomId),useStringRoomId:this.useStringRoomId,privateMapKey:this.privateMapKey,trtcRole:e.role,trtcScene:\"live\"===this.scene?2:1,sdpSemantics:this.sdpSemantics,version:this._version,ua:navigator&&navigator.userAgent||\"\",terminalType:gU(),netType:kN[this._networkType],bussinessInfo:this._businessInfo,ability:a};t&&(c.userSig=this.userSig),this._log.debug(\"join room signal data: \".concat(JSON.stringify(c)));let l=5e3;(null==(s=this.scheduleResult.config)?void 0:s.enterRoomTimeout)&&this.scheduleResult.config.enterRoomTimeout>=1&&(l=1e3*this.scheduleResult.config.enterRoomTimeout),this._joinTimeout=window.setTimeout((()=>{n(new gb({code:mb.JOIN_ROOM_FAILED,message:qO({key:JO.JOIN_ROOM_TIMEOUT})}))}),l),xO.emit(FO.JOIN_SEND_CMD,{room:this}),this._signalChannel.send(this.singlePC?RV:oV,c),this._signalChannel.once(nV.JOIN_ROOM_RESULT,(e=>{this.clearJoinTimeout();let{code:t,message:r,data:o}=e.data;xO.emit(FO.JOIN_RECEIVED_CMD_RES,{room:this,code:t}),0===t?(this._log.info(\"Join room success, start heartbeat\"),this.startHeartbeat(),this.syncUserList(),this.startSyncUserListInterval(),this._firstPublishedList=o.publishers,this.singlePC&&this.singlePC.connect(o.ability).catch((()=>{})),i()):(this._log.error(\"Join room failed result: \".concat(t,\" error: \").concat(r)),n(new gb({code:mb.JOIN_ROOM_FAILED,extraCode:t,message:qO({key:JO.JOIN_ROOM_FAILED,data:{error:r,code:t}})})))}))}))))}reJoin(){return ab(this,null,(function*(){if(this.isJoined)try{if(this._log.warn(\"reJoin pending: \".concat(this._joinOptions.roomId)),this.singlePC&&(this.singlePC.close(),this.singlePC=null),this._signalChannel.close(),yield this._signalChannel.connect(),yield this.doJoin(eb($C({},this._joinOptions),{role:\"anchor\"===this.role?20:21,privateMapKey:this.privateMapKey})),this._log.warn(\"reJoin success\"),Qw.logSuccessEvent({userId:this.userId,eventType:cD.REJOIN}),this.singlePC){let e=t=>{var i;\"CONNECTED\"===t.state&&(null==(i=this.singlePC)||i.off(Xx.CONNECTION_STATE_CHANGED,e),this.uplinkConnection instanceof lU&&this.uplinkConnection.onSinglePCReconnected(),this.remotePublishedUserMap.forEach((e=>{e.installEvents(),e.doSubscribe()})))};this.singlePC.on(Xx.CONNECTION_STATE_CHANGED,e),this.checkConnectionsToReconnect(),this.uplinkConnection instanceof qV&&!this.uplinkConnection.getIsReconnecting()&&this.uplinkConnection.startReconnection()}}catch(sN){this._log.warn(\"reJoin fail \".concat(sN)),this.reset(),Qw.logFailedEvent({userId:this.userId,eventType:cD.REJOIN,error:sN}),this.emit(\"error\",new gb({code:mb.JOIN_ROOM_FAILED,message:qO({key:JO.REJOIN_ROOM_FAILED,data:{roomId:this._joinOptions.roomId}})}))}else this._log.warn(\"reJoin abort\")}))}initialize(){return ab(this,null,(function*(){let{mainUrl:e,backupUrl:t}=this.getSignalChannelUrl(),i=this._signalChannel||function(e){let t=[...NV.values()].find((t=>t.room.userId===e&&!t.room.isJoined));return t||null}(this.userId),n=!!(i&&i.isConnected&&i.keepAlive);return this._log.info(\"setup signal channel. reuse: \".concat(+n)),n?(i.url=e,i.backupUrl=t,i.room=this,this._signalChannel=i):this._signalChannel=new DV({sdkAppId:this.sdkAppId,userId:this.userId,userSig:this.userSig,url:e,backupUrl:t,room:this}),this._networkQuality||(this._networkQuality=new $V({signalChannel:this._signalChannel,room:this}),this._networkQuality.on($V.EVENT_NETWORK_QUALITY,(e=>{this.emit(\"network-quality\",e)}))),SP(this,this._signalChannel).add(qM,(e=>{xO.emit(FO.SIGNAL_CONNECTION_STATE_CHANGED,$C({room:this},e)),this.emit(\"signal-connection-state-changed\",e)})).add(XM,(e=>{this.reset(),this.emit(\"error\",e)})).add(nV.PEER_JOIN,(e=>{let{srcTinyId:t,userId:i,role:n}=e.data.data;this.userManager.addUser({userId:i,tinyId:t,role:n})})).add(nV.PEER_LEAVE,(e=>{let{userId:t,reason:i=0}=e.data.data;this.userManager.deleteUser(t,i)})).add(nV.UPDATE_REMOTE_MUTE_STAT,(e=>{this._lastHeartBeatTime>0&&Date.now()-this._lastHeartBeatTime>=1e4&&this.doHeartbeat(),this.onPublishedUserList(e.data)})).add(nV.CLIENT_BANNED,(e=>{let t=e.data.data,{reason:i}=t;if(Qw.uploadEvent({log:\"stat-banned:\".concat(i),userId:this.userId}),\"user_time_out\"===i)return this._log.warn(\"\".concat(i,\" last heart beat time: \").concat(this._lastHeartBeatTime,\" interval: \").concat(Date.now()-this._lastHeartBeatTime,\", visibility: \").concat(document.visibilityState)),void this.reJoin();this._log[\"kick\"===i?\"error\":\"info\"](\"user was banned because of [\".concat(i,\"]\")),this.reset(),this.emit(\"banned\",{reason:i})})),this._signalChannel.once(YM,(e=>{this.tinyId=e.signalInfo.tinyId,xO.emit(FO.JOIN_SIGNAL_CONNECTION_END,{room:this})})),xO.emit(FO.JOIN_SIGNAL_CONNECTION_START,{room:this}),yield this._signalChannel.connect(this._isUsingCachedSchedule?1e4:void 0),n}))}setSignalChannel(e){this._signalChannel=e,e||IP(this)}leave(){return ab(this,null,(function*(){var e;try{yield this.doHeartbeat()}catch(sD){}this._log.info(\"leave() => leaving room\"),xO.emit(FO.LEAVE_SEND_CMD,{room:this}),null==(e=this._signalChannel)||e.send(sV)}))}clearNetworkQuality(){this._networkQuality&&(this._networkQuality.stop(),this._networkQuality=null)}closeConnections(){this.remotePublishedUserMap.forEach((e=>{this.closeDownLinkConnection(e.userId,\"you exitRoom\")}))}clearJoinTimeout(){clearTimeout(this._joinTimeout),this._joinTimeout=-1}startHeartbeat(){-1===this._heartbeat&&(this._heartbeat=zw.run(wD,this.doHeartbeat.bind(this),{delay:2e3}))}stopHeartbeat(){-1!==this._heartbeat&&(this._log.info(\"stopHeartbeat\"),zw.clearTask(this._heartbeat),this._heartbeat=-1,this._lastHeartBeatTime=-1)}doHeartbeat(){return ab(this,null,(function*(){var e;let t=this.badCaseDetector.getMonitorFreeze(),i=yield this._stats.getStatsReport({uplinkConnection:this.uplinkConnection,downlinkConnections:this.remotePublishedUserMap,freezeMap:t});if(this.badCaseDetector.resetMonitor(),null==(e=this._signalChannel)||!e.isConnected)return;let n=this._signalChannel.isConnected?function(e){if(GL.has(e)){let t=GL.get(e).map((e=>({uint32_event_id:e.eventId,uint64_date:e.timestamp,str_userid:e.remoteUserId,str_event_json:e.eventDesc})));return GL.delete(e),t}return[]}(this.userId):[],r=$C({str_sdk_version:nN,uint64_datetime:(new Date).getTime(),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:kN[this._networkType]},msg_event_msg:n,str_acc_ip:this.getSignalInfo().relayIp,str_client_ip:this.getSignalInfo().clientIp},i);xO.emit(FO.HEARTBEAT_REPORT,{room:this,report:r}),this._signalChannel.send(aV,r),this.emit(\"heartbeat-report\",eb($C({},r),{bytes_sent:this._stats.totalBytesSent+this._signalChannel.bytesSent,bytes_received:this._stats.totalBytesReceived+this._signalChannel.bytesReceived}));let o=Date.now();this._lastHeartBeatTime>0&&o-this._lastHeartBeatTime>1e4&&this._log.warn(\"heartbeat took \".concat(o-this._lastHeartBeatTime)),this._signalChannel.isConnected&&(this._lastHeartBeatTime=o),!this._isRelayChanged&&this.isRelayMaybeFailed()&&(this.reJoin(),this._isRelayChanged=!0)}))}onPublishedUserList(e){if(!this.isJoined)return;let t=e.data.userList.map((e=>{let{userId:t,srcTinyId:i,flag:n}=e,r=this.remotePublishedUserMap.get(t);return r&&this._changeBigSmallRecords.has(t)&&this.checkSubscribeBigSmallVideo(r),{userId:t,tinyId:i,flag:n}}));xO.emit(FO.RECEIVED_PUBLISHED_USER_LIST,{room:this,publishedUserList:t}),this.userManager.setRemotePublishedUserList(t)}closeUplink(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"you unpublished\";this.uplinkConnection&&(this.localTracks.size>0&&this.uplinkConnection.doUnpublish(),this.uplinkConnection.close(e),this.uplinkConnection=null),this.localTracks.forEach((e=>e.unpublish())),this.localTracks.clear()}createDownlinkConnection(e){let{userId:t,tinyId:i,flag:n}=e,r=new(this.singlePC?hU:JV)({userId:t,tinyId:i,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,flag:n});this.userManager.addRemotePublishedUser(r),this.installDownlinkEvents(r,t),this.emit(\"remote-published\",r)}closeDownLinkConnection(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"remote user unpublished\",i=this.remotePublishedUserMap.get(e);i&&(i.close(t),this.emit(\"remote-unpublished\",i))}installDownlinkEvents(e,t){e.on(\"sei-message\",(e=>{this.emit(\"sei-message\",e)})),e.on(\"error\",(e=>{let i=e.getCode();i!==mb.ICE_TRANSPORT_ERROR&&(i===mb.DOWNLINK_RECONNECTION_FAILED&&this.closeDownLinkConnection(t),this.emit(\"error\",e))})),e.on(\"connection-state-changed\",(t=>{this.emit(\"media-connection-state-changed\",eb($C({},t),{userId:e.userId}))})),e.on(\"firewall-restriction\",(()=>{this.emit(\"firewall-restriction\")}))}startSyncUserListInterval(){-1===this._syncUserListInterval&&(this._syncUserListInterval=zw.run(wD,this.syncUserList.bind(this)))}stopSyncUserListInterval(){zw.clearTask(this._syncUserListInterval),this._syncUserListInterval=-1}syncUserList(){return this.getUserList().then((e=>{this.userManager.setUserList(e)})).catch((e=>{this._log.debug(\"sync user list failed: \".concat(e))}))}getUserList(){var e;return null!=(e=this._signalChannel)&&e.isConnected?this._signalChannel.sendWaitForResponse({command:IV,responseCommand:nV.USER_LIST_RES,enableLog:!1,timeout:2e3}).then((e=>{let{data:t}=e,{code:i,message:n}=t;if(0===i)return(t.data&&t.data.userList||[]).map((e=>{let{userId:t,srcTinyId:i,role:n}=e;return{userId:t,tinyId:i,role:n}}));throw qO({key:JO.SIGNAL_RESPONSE_FAILED,data:{signalResponse:nV.USER_LIST_RES,code:i,message:n}})})):Promise.reject(\"not connected\")}getAllConnections(){let e=[...this.remotePublishedUserMap.values()];return this.uplinkConnection&&e.push(this.uplinkConnection),e}isRelayMaybeFailed(){if(this._signalChannel&&!this._signalChannel.isOnline||!xV)return!1;if(this.singlePC)return this.singlePC.reconnectionCount>6;let e=this.getAllConnections();if(0===e.length)return!1;for(let t=0;t{if(e instanceof UV&&!e.getIsReconnecting()){let t=e.getPeerConnection();t&&t.connectionState===iD.CLOSED&&(this._log.warn(\"[\".concat(e.getUserId(),\"] pc is closed but not reconnect\")),e.startReconnection())}}))}fallbackToMPC(){return ab(this,null,(function*(){var e;if(this._log.warn(\"fallback to multi pc\"),Qw.uploadEvent({log:\"stat-fallback\",userId:this.userId}),this.enableSPC=!1,null==(e=this.singlePC)||e.close(),this.singlePC=null,yield this.reJoin(),this.uplinkConnection){let e=this.uplinkConnection;this.uplinkConnection=new qV({userId:this.userId,tinyId:this.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,audioManager:this.audioManager}),e.isMainStreamPublished&&(yield this.uplinkConnection.publish({localAudioTrack:e.localMainAudioTrack,localVideoTrack:e.localMainVideoTrack,isAuxiliary:!1})),e.isAuxStreamPublished&&(yield this.uplinkConnection.publish({localAudioTrack:e.localAuxAudioTrack,localVideoTrack:e.localAuxVideoTrack,isAuxiliary:!0}))}this.remotePublishedUserMap.forEach((e=>{let t=new JV({userId:e.userId,tinyId:e.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,flag:e.flag,remoteAudioTrack:e.remoteAudioTrack,remoteVideoTrack:e.remoteVideoTrack,remoteAuxiliaryTrack:e.remoteAuxiliaryTrack});this.installDownlinkEvents(t,e.userId),this.remotePublishedUserMap.set(e.userId,t),e.isMainStreamSubscribed&&t.subscribe(e.subscribeState,\"main\"),e.isAuxStreamSubscribed&&t.subscribe(e.subscribeState,\"auxiliary\")}))}))}destroy(){this._isDestroyed||(this._signalChannel&&(this._log.info(\"destroying SignalChannel\"),this._signalChannel.close(),this._signalChannel=null),super.destroy(),this._joinReject&&(this._joinReject(new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.CLIENT_DESTROYED,data:{funName:\"join\"}})})),this.clearJoinTimeout(),this.reset()),this.removeAllListeners())}switchRole(e){return ab(this,null,(function*(){this.role!==e&&(\"audience\"===e&&this.uplinkConnection&&this.closeUplink(\"you switch role to audience\"),yield this.doSwitchRole(e))}))}doSwitchRole(e){let t={command:vV,data:{role:\"anchor\"===e?20:21,privateMapKey:this.privateMapKey},responseCommand:nV.SWITCH_ROLE_RES,retries:1};return this._log.info(\"switchRole signal data: \".concat(JSON.stringify(t.data))),this._signalChannel.sendWaitForResponseWithRetry(t).then((t=>{let{code:i,message:n}=t.data;if(0!==i)throw new gb({code:mb.SWITCH_ROLE_FAILED,message:qO({key:JO.SWITCH_ROLE_FAILED,data:{message:n,code:i}})});this.role=e})).catch((e=>{throw e instanceof gb&&e.getCode()===mb.API_CALL_TIMEOUT&&(e=new gb({code:mb.SWITCH_ROLE_FAILED,message:qO({key:JO.SWITCH_ROLE_TIMEOUT})})),this._log.error(e),e}))}publish(){for(var e=arguments.length,t=new Array(e),i=0;i{t instanceof oL&&(t instanceof lL?i.audio=t:e.audio=t),t instanceof sL&&(t instanceof cL&&2===t.mediaType?i.video=t:e.video=t)}));let n=TU(e),r=TU(i);(!n||!r)&&!this.uplinkConnection&&(this.singlePC?this.uplinkConnection=new lU({userId:this.userId,tinyId:this.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,audioManager:this.audioManager}):this.uplinkConnection=new qV({userId:this.userId,tinyId:this.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,audioManager:this.audioManager}),this.uplinkConnection.on(\"connection-state-changed\",(e=>{this.emit(\"media-connection-state-changed\",eb($C({},e),{userId:this.userId}))})),this.uplinkConnection.on(\"firewall-restriction\",(()=>{this.emit(\"firewall-restriction\")})),this.uplinkConnection.on(\"error\",(e=>{let t=e.getCode();t!==mb.ICE_TRANSPORT_ERROR&&(t===mb.UPLINK_RECONNECTION_FAILED&&this.closeUplink(),this.emit(\"error\",e))})));let o=t.map((e=>e.kind)).join(\",\");n||(this._log.info(\"publish() => main \".concat(o)),yield this.uplinkConnection.publish({localAudioTrack:e.audio,localVideoTrack:e.video,isAuxiliary:!1}),this._log.info(\"main is published\")),r||(this._log.info(\"publish() => aux \".concat(o)),yield this.uplinkConnection.publish({localAudioTrack:i.audio,localVideoTrack:i.video,isAuxiliary:!0}),this._log.info(\"aux is published\"))}))}unpublish(){for(var e=arguments.length,t=new Array(e),i=0;i{!t.mediaTrack||(t instanceof oL&&(t instanceof lL?i.audio=t:e.audio=t),t instanceof sL&&(t instanceof cL&&2===t.mediaType?i.video=t:e.video=t))}));try{let n=t.map((e=>e.kind)).join(\",\");TU(e)||(this._log.info(\"unpublish() => main \".concat(n)),yield this.uplinkConnection.unpublish({localAudioTrack:e.audio,localVideoTrack:e.video})),TU(i)||(this._log.info(\"unpublish() => aux \".concat(n)),yield this.uplinkConnection.unpublish({localAudioTrack:i.audio,localVideoTrack:i.video}))}catch(n){}0===this.localTracks.size&&!this.audioManager.mixedAudioTrack&&this.closeUplink(\"you unpublished\")}))}addTrack(e){if(!this.uplinkConnection||!e.mediaTrack)return Promise.resolve();let t=this.uplinkConnection.addTrack(e);return e.publish(this,t),t}removeTrack(e){return this.uplinkConnection&&e.mediaTrack?this.uplinkConnection.removeTrack(e).then((t=>(e.unpublish(),t))):Promise.resolve()}replaceTrack(e){return this.uplinkConnection&&e.mediaTrack?this.uplinkConnection.replaceTrack(e).then((t=>{xO.emit(FO.LOCAL_TRACK_REPLACED,{track:e})})):Promise.resolve()}setBandWidth(e){return ab(this,null,(function*(){!this.uplinkConnection||(yield this.uplinkConnection.setBandwidth(e),yield this.uplinkConnection.sendMediaSettings())}))}subscribe(){for(var e=arguments.length,t=new Array(e),i=0;i!e.isSubscribed)),0===t.length)return;let{userId:e}=t[0],i=this.remotePublishedUserMap.get(e);if(!i)return;let n=t.find((e=>2===e.mediaType))?\"auxiliary\":\"main\";try{let r=$C({},i.subscribeState);t.forEach((e=>{switch(e.mediaType){case 1:r.audio=!0;break;case 4:r.video=!0;break;case 2:r.auxiliary=!0}}));let o=this._changeBigSmallRecords.get(e);o&&o.options.smallVideo&&i.muteState.hasSmall&&r.video&&(r.video=!1,r.smallVideo=!0),xO.emit(FO.SUBSCRIBE_START,{room:this,streamType:n,remotePublishedUser:i,subscribeState:r}),this._log.info(\"subscribe() => \".concat(e,\" \").concat(n,\" [\").concat(jV(r),\"] prev: [\").concat(jV(i.subscribeState),\"]\")),yield i.subscribe(r,n);for(let e of t)e.mediaTrack||(yield e.waitHasMediaTrack());i.remoteVideoTrack.setMediaType(r.smallVideo?8:4),xO.emit(FO.SUBSCRIBE_SUCCESS,{room:this,streamType:n,remotePublishedUser:i})}catch(cN){let i=cN instanceof gb?cN.getCode():mb.UNKNOWN,r=cN;throw cN instanceof gb?i===mb.REMOTE_STREAM_NOT_EXIST&&(r=new gb({code:mb.API_CALL_ABORTED,message:qO({key:JO.API_CALL_ABORTED,data:{message:cN.message,userId:e,streamType:n}})}),this._log.warn(r)):(r=new gb({code:i,message:qO({key:JO.SUBSCRIBE_FAILED,data:{message:cN.message,userId:e,streamType:n}})}),this._log.error(r)),r}}))}unsubscribe(){for(var e=arguments.length,t=new Array(e),i=0;i2===e.mediaType))?\"auxiliary\":\"main\";this._log.info(\"unsubscribe() => \".concat(e,\" \").concat(n));try{yield i.unsubscribe({remoteTracks:t,streamType:n})}catch(cN){this._log.warn(\"unsubscribe() => failed \".concat(cN))}t.forEach((e=>{e.unsubscribe(),8===e.mediaType&&e.setMediaType(4)})),xO.emit(FO.UNSUBSCRIBE_SUCCESS,{room:this,streamType:n,remotePublishedUser:i})}))}setEncodedDataProcessingListener(e){throw new Error(\"Method not implemented.\")}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1?arguments[1]:void 0;if(e<=0)return this._enableAudioVolumeEvaluation=!1,void zw.clearTask(this._audioVolumeIntervalId);e=Math.floor(Math.max(e,100)),xO.emit(FO.AUDIO_LEVEL_INTERVAL,{interval:e}),this._audioVolumeIntervalId&&zw.clearTask(this._audioVolumeIntervalId),this._enableAudioVolumeEvaluation=!0,this._audioVolumeIntervalId=zw.run(PD,(()=>{var e;let t=[];null==(e=this.remotePublishedUserMap)||e.forEach((e=>{if(e.muteState.hasAudio){let i=Math.floor(100*e.remoteAudioTrack.getAudioLevel());t.push({userId:e.userId,volume:i})}})),this.emit(\"audio-volume\",t)}),{fps:1e3/e,backgroundTask:t})}getLocalAudioStats(){return ab(this,null,(function*(){let e={};if(e[this.userId]={bytesSent:0,packetsSent:0},this.uplinkConnection){let t=yield this._stats.getSenderStats(this.uplinkConnection);e[this.userId]={bytesSent:t.audio.bytesSent,packetsSent:t.audio.packetsSent}}return e}))}getLocalVideoStats(){return ab(this,null,(function*(){let e={};if(e[this.userId]={bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0},this.uplinkConnection){let{video:{bytesSent:t,packetsSent:i,framesEncoded:n,framesSent:r,frameWidth:o,frameHeight:s}}=yield this._stats.getSenderStats(this.uplinkConnection);e[this.userId]={bytesSent:t,packetsSent:i,framesEncoded:n,framesSent:r,frameWidth:o,frameHeight:s}}return e}))}getTransportStats(){return ab(this,null,(function*(){let e={rtt:0,downlinksRTT:{}};if(this.uplinkConnection){let t=yield this._stats.getSenderStats(this.uplinkConnection);e.rtt=t.rtt}for(let[,t]of this.remotePublishedUserMap){let i=yield this._stats.getReceiverStats(t);e.downlinksRTT[i.userId]=i.rtt}return e}))}getRemoteVideoStats(e){return ab(this,null,(function*(){let t={};for(let[i,n]of this.remotePublishedUserMap)\"main\"===e&&n.muteState.hasVideo&&(t[i]=n.remoteVideoTrack.stat),\"auxiliary\"===e&&n.muteState.hasAuxiliary&&(t[i]=n.remoteAuxiliaryTrack.stat);return t}))}getRemoteAudioStats(){return ab(this,null,(function*(){let e={};for(let[t,i]of this.remotePublishedUserMap)i.muteState.hasAudio&&(e[t]=i.remoteAudioTrack.stat);return e}))}setTurnServer(e,t){this._log.info(\"set turn server: \".concat(JSON.stringify(e),\" \").concat(t||\"\"));let i=[];Array.isArray(e)?e.forEach((e=>i.push(Ib.getTurnServer(e)))):Ib.isPlainObject(e)&&i.push(Ib.getTurnServer(e)),this._turnServers=i,t&&(this._iceTransportPolicy=t)}sendStartMixTranscode(e){return this._signalChannel.sendWaitForResponse({command:EV,data:e,timeout:5e3,responseCommand:nV.START_MIX_TRANSCODE_RES,commandDesc:\"startMixTranscode\"})}sendStopMixTranscode(e){return this._signalChannel.sendWaitForResponse({command:SV,data:e,timeout:5e3,responseCommand:nV.STOP_MIX_TRANSCODE_RES,commandDesc:\"stopMixTranscode\"})}sendStartPublishCDN(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this._signalChannel.sendWaitForResponse({command:t?mV:gV,data:e,timeout:5e3,responseCommand:t?nV.START_PUBLISH_TENCENT_CDN_RES:nV.START_PUBLISH_GIVEN_CDN_RES,commandDesc:\"startPublishCDN\"})}sendStopPublishCDN(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this._signalChannel.sendWaitForResponse({command:t?fV:TV,data:e,timeout:5e3,responseCommand:t?nV.STOP_PUBLISH_TENCENT_CDN_RES:nV.STOP_PUBLISH_GIVEN_CDN_RES,commandDesc:\"stopPublishCDN\"})}sendAbilityStatus(e){var t;null==(t=this._signalChannel)||t.sendWaitForResponse({command:kV,data:e,timeout:5e3,responseCommand:nV.ABILITY_STATUS_REPORT_RESULT,commandDesc:\"ability status report\"}).catch((e=>{}))}getIceServers(){return 0===this._turnServers.length&&this.scheduleResult.iceServers?this.scheduleResult.iceServers:this._turnServers}getIceTransportPolicy(){return this._iceTransportPolicy||this.scheduleResult.iceTransportPolicy||\"all\"}getLogger(){return this._log}enableAIVoice(){throw new Error(\"Method not implemented.\")}getSignalChannelUrl(){let e={mainUrl:\"\",backupUrl:\"\"},t=Ib.getEnv();return t?(e.mainUrl=\"wss://\".concat(t,\".rtc.qq.com\"),e.backupUrl=e.mainUrl):this.proxy_ws?(e.mainUrl=this.proxy_ws,e.backupUrl=e.mainUrl):Array.isArray(this.scheduleResult.domains)&&this.scheduleResult.domains.length>0&&(e.mainUrl=\"wss://\".concat(this.scheduleResult.domains[0]),e.backupUrl=e.mainUrl,this.scheduleResult.domains[1]&&(e.backupUrl=\"wss://\".concat(this.scheduleResult.domains[1]))),e}getSignalInfo(){var e;return(null==(e=this._signalChannel)?void 0:e.getSignalInfo())||{clientIp:\"\",relayIp:\"\"}}reset(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.stopSyncUserListInterval(),this.stopHeartbeat(),this.closeConnections(),this.clearNetworkQuality(),this.closeUplink(\"you exitRoom\"),this._signalChannel&&(e&&this._signalChannel.keepAlive&&this._signalChannel.isConnected?this._signalChannel.stopKeepAliveIn(3600):this._signalChannel.close(),this.setSignalChannel(null)),this._stats.reset(),this.userManager.clear(),this.userManager.removeAllListeners(),this.singlePC&&(this.singlePC.close(),this.singlePC=null),this.scheduleResult={domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}}checkSubscribeBigSmallVideo(e){return ab(this,null,(function*(){let t=null==e?void 0:e.muteState.hasSmall,i=null==e?void 0:e.muteState.hasVideo;if(!t&&!i||!e.isBigStreamSubscribed&&!e.isSmallStreamSubscribed)return;let n=e.getUserId(),r=this._changeBigSmallRecords.get(n)||{},{subscribeState:o}=e,{options:s,isSubscribing:a,reSubscribeCount:c}=r;if(s.video&&o.video||s.smallVideo&&o.smallVideo&&t||a)return;let l={audio:e.remoteAudioTrack.isSubscribed||e.remoteAudioTrack.isSubscribing,auxiliary:e.remoteAuxiliaryTrack.isSubscribed||e.remoteAuxiliaryTrack.isSubscribing,video:s.video,smallVideo:s.smallVideo};if(t&&e.isBigStreamSubscribed||e.isSmallStreamSubscribed)try{s&&!a&&c>=1&&(r.isSubscribing=!0,r.reSubscribeCount=c-1,!t&&e.isSmallStreamSubscribed&&(l.video=!0,l.smallVideo=!1),yield null==e?void 0:e.subscribe(l,\"main\"),e.remoteVideoTrack.setMediaType(l.smallVideo?8:4),this._log.info(\"change [\".concat(n,\"] to \").concat(l.smallVideo?\"small\":\"big\",\" video successfully. count \").concat(DD-r.reSubscribeCount,\".\")),r.isSubscribing=!1,r.reSubscribeCount=DD)}catch(d){this._log.info(\"change [\".concat(n,\"] to \").concat(l.smallVideo?\"small\":\"big\",\" video failed. count \").concat(DD-r.reSubscribeCount,\".\")),r.isSubscribing=!1,0===c&&this._changeBigSmallRecords.delete(n)}}))}changeType(e,t){let i={options:{video:!e,smallVideo:e},isSubscribing:!1,reSubscribeCount:DD};this._changeBigSmallRecords.set(t.userId,i),this._log.info(\"set [\".concat(t.userId,\"] video prefer type: \").concat(e?\"small\":\"big\"))}get smallStreamConfig(){return this._smallStreamConfig}_initBusinessInfo(e){this._businessInfo=e.businessInfo;let t={};if(pU(e.businessInfo)&&(t=JSON.parse(e.businessInfo)),!mU(e.pureAudioPushMode)){if(!Number.isInteger(Number(e.pureAudioPushMode)))throw new gb({code:mb.INVALID_PARAMETER,message:qO({key:JO.INVALID_PURE_AUDIO})});this._pureAudioPushMode=e.pureAudioPushMode,t.Str_uc_params||(t.Str_uc_params={}),t.Str_uc_params.pure_audio_push_mod=this._pureAudioPushMode}if(!mU(e.userDefineRecordId)){let i=/^[A-Za-z0-9_-]{1,64}$/gi;if(null===e.userDefineRecordId.match(i))throw new gb({code:mb.INVALID_PARAMETER,message:qO({key:JO.INVALID_USER_DEFINE_RECORDID})});t.Str_uc_params||(t.Str_uc_params={}),t.Str_uc_params.userdefine_record_id=e.userDefineRecordId}if(!mU(e.userDefinePushArgs)){if(!(pU(e.userDefinePushArgs)&&String(e.userDefinePushArgs)&&String(e.userDefinePushArgs).length<=256))throw new gb({code:mb.INVALID_PARAMETER,message:qO({key:JO.INVALID_USER_DEFINE_PUSH_ARGS})});t.Str_uc_params||(t.Str_uc_params={}),t.Str_uc_params.userdefine_push_args=e.userDefinePushArgs}TU(t)||(this._businessInfo=JSON.stringify(t))}sendSEI(e,t){var i;null==(i=this.uplinkConnection)||i.sendSEI(e,t)}};return rb([Bw([\"left\",Gw.INIT],\"joined\"),tx({settings:{retries:1,timeout:0},onError(e,t,i){this._isUsingCachedSchedule&&!this._isDestroyed?(this._log.warn(\"is using cached schedule, retry join\"),mx(!0),this.reset(),t()):this._signalChannel&&this._signalChannel.isConnected&&this._signalChannel.keepAlive?(this._log.warn(\"is using keepAlive ws, retry join\"),this._signalChannel.close(),this.reset(),t()):(this.reset(),this._log.error(e),i(e))}}),iL((e=>{let t=new WM;return function(i,n,r){return ab(this,null,(function*(){let o=String(i.roomId||i.strRoomId);if(this.userId=i.userId,this.sdkAppId=i.sdkAppId,this.userSig=i.userSig,this._log.setSdkAppId(this.sdkAppId),this._log.setUserId(this.userId),this.scene=n,i.privateMapKey=i.privateMapKey||\"\",this.isJoined)throw new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:o,sdkAppId:this.sdkAppId,room:this}))throw new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.REPEAT_JOIN,data:this.userId})});t.add({room:this,roomId:o}),this.role=21===i.role?\"audience\":\"anchor\",this._log.info(\"Join() => joining room: \".concat(o,\" useStringRoomId: \").concat(this.useStringRoomId,\" scene: \").concat(this.scene,\" role: \").concat(this.role)),xO.emit(FO.JOIN_START,{room:this,roomId:o,params:i}),this.checkSystemResult=yield WO.checkSystemRequirementsInternal(),this.checkDestroy();let s=Ib.getEnv();s||(s=AN.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(VN.OLD_CLOUD_LADDER)?s=AN.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(VN.WEBRTC)&&(s=AN.WEBRTC))),Qw.setConfig({env:s,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:o}),JM.call(this);let{isH264EncodeSupported:a,isVp8EncodeSupported:c}=this.checkSystemResult.detail;if(!WO.isWebRTCSupported()||!a&&!c)throw new gb({code:mb.NOT_SUPPORTED,message:qO({key:JO.NOT_SUPPORTED_WEBRTC})});try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!Ib.getEnv()&&(yield this.schedule(o,r,rN));let t=yield e.call(this,i,n,r);return this.roomId=o,this._joinedTimestamp=Ib.performanceNow(),xO.emit(FO.JOIN_SUCCESS,{room:this}),Qw.uploadEvent({log:\"stat-conv-\".concat(Number(Yk),\"-\").concat(location.hostname),userId:this.userId}),t}catch(l){throw t.delete({room:this,roomId:o}),xO.emit(FO.JOIN_FAILED,{room:this,error:l}),l}}))}}))],EU.prototype,\"join\",1),rb([Bw(\"joined\",\"left\",{ignoreError:!0,success(){this.reset(!0)}}),iL((e=>function(){return ab(this,null,(function*(){xO.emit(FO.LEAVE_START,{room:this}),yield e.call(this),xO.emit(FO.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))})),function(e){return function(t,i,n){let r=n.value;return n.value=function(){var t,i;let n=[];for(var o=arguments.length,s=new Array(o),a=0;an.push(e))),null==(i=Hx.get(this))||i.forEach((e=>e.forEach((e=>n.push(e))))),n.forEach((t=>{t.reject(new gb({code:mb.API_CALL_ABORTED,message:e}))})),Bx.delete(this),Hx.delete(this),r.apply(this,s)},n}}(\"leave room\"),ix({fnName:\"publish\",validateArgs:!1}),ix({fnName:\"unsubscribe\",validateArgs:!1})],EU.prototype,\"leave\",1),rb([jx(),iL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;ne.outMediaTrack&&\"capture\"===e.state)),!i.length))return;xO.emit(\"61\",{room:this}),i.forEach((e=>{\"audio\"===e.kind&&this.audioManager.addAudioTrack(e)}));let t=e.apply(this,i);return i.forEach((e=>{var i;e.publish(this,t),\"audio\"===e.kind&&(null==(i=this.audioManager.localMixAudioTrack)||i.publish(this,t))})),t}))})),tx({settings:{retries:oD,timeout:e=>eO(e)},onError(e,t,i){var n;null!=(n=e.message)&&n.includes(\"timeout\")?(this._log.warn(\"publish timeout\"),t()):(this._log.error(\"publish failed: \".concat(e)),i(e),xO.emit(FO.PUBLISH_FAILED,{room:this}))}})],EU.prototype,\"publish\",1),rb([ix({fnName:\"publish\",callback(){for(var e,t=arguments.length,i=new Array(t),n=0;ne.unpublish())))}}),function(e){return function(t,i,n){let r=n.value;return n.value=function(){for(var t=arguments.length,i=new Array(t),n=0;n{if(0===n)return!0;let r=!0;return t.args.forEach((e=>{i.find((t=>t===e))||(r=!1)})),!r||(t.reject(new gb({code:mb.API_CALL_ABORTED,message:e})),!1)}));Bx.set(this,t)}return r.apply(this,i)},n}}(\"api-call\"),jx(),iL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{\"audio\"===e.kind&&this.audioManager.removeAudioTrack(e)}));let r=e.apply(this,i);return i.forEach((e=>e.unpublish())),r}))],EU.prototype,\"unpublish\",1),rb([Gx((function(){for(var e=arguments.length,t=new Array(e),i=0;ifunction(){for(var t=arguments.length,i=new Array(t),n=0;n!e.isSubscribed&&e.subscribe(r))),r})),tx({settings:{retries:oD,timeout:e=>eO(e)},onError(e,t,i,n){e.message.includes(\"timeout\")?(this._log.warn(\"subscribe timeout\"),t()):(this._log.error(\"subscribe failed: \".concat(e)),i(e),xO.emit(FO.SUBSCRIBE_FAILED,{room:this,remoteTracks:n}))}})],EU.prototype,\"subscribe\",1),rb([ix({fnName:\"subscribe\",callback(){for(var e=arguments.length,t=new Array(e),i=0;i{let t=this.remotePublishedUserMap.get(e.userId);t&&!t.isMainStreamSubscribed&&!t.isAuxStreamSubscribed&&t.close(\"you unsubscribed\")}))}}),Gx((function(){for(var e=arguments.length,t=new Array(e),i=0;i thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","// 封装axios请求的模块\nimport axios from 'axios'\n// 用axios重新生成了请求的实例\nconst server = axios.create({\n baseURL: '', // 项目发送axios请求的公共地址\n timeout: 20000 // 请求超时时间 这里是请求超过五秒后还没有获得请求结果 提示请求超时\n})\n\n// axios请求阶段相关配置\n// 请求拦截\n// interceptors axios的拦截对象 request请求的意思 use使用的意思\n// 这里的整体意思就是使用请求拦截\nserver.interceptors.request.use(config => {\n // config包含了请求相关的所有信息\n // 可以同过config对象给请求配置或者修改信息\n return config // 将配置完成的token返回 如果不返回 请求不会继续进行\n}, err => {\n // 请求发生错误时的回调函数\n // 这里的意思是请求发送错误时将错误抛出\n // throw new Error(err)\n // console.error(err) //将错误信息打印在控制台中\n Promise.reject(err) // 使用promise将错误信息返回出去\n})\n\n// axios 接受到服务器响应信息后的配置\n// response 是响应的意思 这里的意思是使用响应拦截\nserver.interceptors.response.use(res => {\n // res包含了服务器返回的所有响应信息 其实就是服务器返回给你的东西\n return res.data\n}, err => {\n // 当服务器响应产生错误时的回调函数\n console.error(err) // 这里将服务器发生错误的错误信息打印在控制台中\n})\n\n\nexport default server","// 判断房间人数对应的样式\nexport function getWidth(data) {\n if (data.length == 1) {\n return 'userVideo'\n } else if (data.length == 2) {\n return \"userVideo1\"\n } else if (data.length == 3) {\n return \"userVideo2\"\n } else if (data.length > 3) {\n return \"userVideo3\"\n } else if (data.length == 0) {\n return 'userVideo4'\n }\n\n}\nexport function getHeight(data) {\n let userRow = Math.ceil((data.length + 1) / 3);\n if (userRow == 1) {\n return \"100%\"\n }\n else {\n return (1 / userRow) * 100 + \"%\"\n }\n}\n// 判断移动端进入房间样式\nexport function getWidthPhone(data) {\n if (data.length == 0) {\n return \"userVideoPhone\"\n } else {\n return \"userVideoPhone1\"\n }\n}\n// 判断移动端访问还是pc端访问\nexport function getModile() {\n var sUserAgent = navigator.userAgent.toLowerCase();\n var bIsIpad = sUserAgent.match(/ipad/i) == \"ipad\";\n var bIsIphoneOs = sUserAgent.match(/iphone os/i) == \"iphone os\";\n var bIsMidp = sUserAgent.match(/midp/i) == \"midp\";\n var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == \"rv:1.2.3.4\";\n var bIsUc = sUserAgent.match(/ucweb/i) == \"ucweb\";\n var bIsAndroid = sUserAgent.match(/android/i) == \"android\";\n var bIsCE = sUserAgent.match(/windows ce/i) == \"windows ce\";\n var bIsWM = sUserAgent.match(/windows mobile/i) == \"windows mobile\";\n if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {\n return false;\n } else {\n return true;\n }\n}\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nmodule.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar regExpFlags = require('../internals/regexp-flags');\nvar fails = require('../internals/fails');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError\nvar RegExp = global.RegExp;\nvar RegExpPrototype = RegExp.prototype;\n\nvar FORCED = DESCRIPTORS && fails(function () {\n var INDICES_SUPPORT = true;\n try {\n RegExp('.', 'd');\n } catch (error) {\n INDICES_SUPPORT = false;\n }\n\n var O = {};\n // modern V8 bug\n var calls = '';\n var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';\n\n var addGetter = function (key, chr) {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(O, key, { get: function () {\n calls += chr;\n return true;\n } });\n };\n\n var pairs = {\n dotAll: 's',\n global: 'g',\n ignoreCase: 'i',\n multiline: 'm',\n sticky: 'y'\n };\n\n if (INDICES_SUPPORT) pairs.hasIndices = 'd';\n\n for (var key in pairs) addGetter(key, pairs[key]);\n\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O);\n\n return result !== expected || calls !== expected;\n});\n\n// `RegExp.prototype.flags` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nif (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', {\n configurable: true,\n get: regExpFlags\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = new Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);\n\n// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it\n// https://github.com/Jarred-Sumner/bun/issues/399\nvar BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);\n\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\n}\n"],"names":["e","t","module","exports","this","forEach","Array","isArray","Object","keys","i","n","getOwnPropertyDescriptor","defineProperty","get","enumerable","freeze","globalThis","window","global","self","bind","hasOwnProperty","r","o","Function","prototype","s","call","a","c","apply","arguments","l","d","toString","u","slice","h","p","_","m","f","split","g","propertyIsEnumerable","T","E","S","TypeError","I","v","y","A","R","Math","C","b","k","N","D","O","value","configurable","writable","w","P","L","M","push","version","mode","copyright","license","source","V","x","U","F","B","H","j","G","hasOwn","W","J","K","random","Y","z","q","navigator","String","userAgent","Q","X","Z","process","$","Deno","ee","versions","te","v8","match","ie","ne","re","oe","getOwnPropertySymbols","Symbol","sham","se","iterator","ae","ce","le","de","ue","he","pe","_e","for","withoutSetter","me","fe","document","all","ge","IS_HTMLDDA","Te","Ee","Se","Ie","ve","ye","Ae","Re","Ce","be","ke","Ne","De","Oe","we","Pe","createElement","Le","Me","Ve","xe","Ue","Fe","Be","He","je","length","Ge","isPrototypeOf","We","Je","Ke","Ye","ze","qe","Qe","Xe","Ze","$e","et","tt","it","nt","rt","ot","st","at","ct","lt","dt","ut","ht","valueOf","pt","_t","mt","ft","gt","Tt","Et","St","It","vt","yt","At","Rt","Ct","bt","kt","Nt","Dt","ceil","Ot","floor","wt","trunc","Pt","Lt","Mt","Vt","max","xt","min","Ut","Ft","Bt","Ht","jt","Gt","Wt","Jt","Kt","Yt","zt","includes","indexOf","qt","Qt","Xt","Zt","$t","ei","ti","ii","ni","ri","oi","si","ai","ci","li","di","ui","defineProperties","hi","pi","_i","mi","fi","gi","Ti","Ei","Si","Ii","vi","yi","Ai","Ri","Ci","bi","ki","write","close","parentWindow","Ni","ActiveXObject","domain","style","display","appendChild","src","contentWindow","open","Di","create","Oi","wi","Pi","Li","Mi","Vi","xi","Ui","Fi","Bi","Hi","ji","WeakMap","Gi","test","Wi","Ji","Ki","Yi","zi","qi","Qi","Xi","Zi","$i","en","tn","nn","rn","on","state","sn","has","set","facade","an","cn","enforce","getterFor","type","ln","dn","un","hn","pn","_n","mn","fn","gn","Tn","En","Sn","In","vn","yn","An","Rn","Cn","bn","kn","Nn","Dn","EXISTS","PROPER","name","CONFIGURABLE","On","wn","Pn","inspectSource","Ln","Mn","Vn","xn","Un","Fn","Bn","Hn","jn","Gn","Wn","Jn","Kn","Yn","replace","zn","join","qn","Qn","Xn","getter","setter","arity","constructor","Zn","$n","er","tr","ir","unsafe","nonConfigurable","nonWritable","nr","rr","or","concat","getOwnPropertyNames","sr","ar","cr","lr","dr","ur","hr","pr","_r","mr","fr","gr","Tr","Er","Sr","Ir","vr","yr","Ar","Cr","Rr","kr","br","normalize","toLowerCase","data","NATIVE","POLYFILL","Nr","Dr","Or","wr","Pr","Lr","Mr","Vr","xr","target","stat","dontCallGetSet","forced","Ur","getPrototypeOf","Fr","Br","Hr","jr","Gr","Wr","Jr","Kr","Yr","zr","qr","Qr","Xr","Zr","$r","eo","to","IteratorPrototype","BUGGY_SAFARI_ITERATORS","io","no","ro","oo","so","ao","co","lo","uo","ho","po","next","_o","mo","fo","go","To","Eo","So","Io","vo","setPrototypeOf","__proto__","yo","Ao","Ro","Co","bo","ko","No","Do","Oo","wo","Po","Lo","Mo","Vo","xo","Uo","Fo","Bo","Ho","jo","entries","values","proto","Go","done","Wo","Jo","Ko","Yo","zo","qo","Qo","Xo","Zo","$o","es","ts","index","kind","is","Arguments","SU","ns","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","rs","classList","os","ss","as","cs","ls","ds","us","hs","ps","_s","ms","fs","gs","Ts","Es","Ss","Is","vs","ys","As","Rs","Cs","bs","ks","Ns","Ds","Os","ws","Ps","Ls","Ms","Vs","xs","callee","Us","Fs","Bs","Hs","js","Gs","Ws","Js","Ks","Ys","exec","zs","qs","Qs","Xs","Zs","$s","ea","ta","ia","na","ra","oa","sa","aa","ca","la","da","ua","ha","pa","_a","ma","Reflect","fa","ga","Ta","Ea","Sa","Ia","va","ya","Aa","Ra","Ca","ba","ka","Na","Da","Oa","wa","Pa","La","Ma","Va","xa","Ua","Fa","setImmediate","Ba","clearImmediate","Ha","ja","Dispatch","Ga","Wa","MessageChannel","Ja","Ka","Ya","za","location","qa","Qa","Xa","Za","postMessage","protocol","host","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","$a","clear","ec","head","tail","add","item","tc","ic","nc","rc","oc","sc","ac","Pebble","cc","lc","dc","uc","hc","pc","_c","mc","fc","gc","Tc","MutationObserver","WebKitMutationObserver","Ec","Sc","Ic","Promise","vc","yc","Ac","Rc","exit","enter","resolve","then","createTextNode","observe","characterData","Cc","bc","error","kc","Nc","Dc","Oc","wc","Pc","Lc","Mc","Vc","xc","Uc","Fc","Bc","Hc","jc","PromiseRejectionEvent","Gc","Wc","CONSTRUCTOR","REJECTION_EVENT","SUBCLASSING","Jc","Kc","Yc","zc","promise","reject","qc","Qc","Xc","Zc","$c","el","tl","il","nl","rl","ol","sl","al","cl","ll","dl","ul","hl","pl","console","_l","ml","fl","gl","Tl","El","Sl","Il","vl","yl","Al","Rl","Cl","bl","kl","Nl","Dl","Ol","wl","Pl","createEvent","dispatchEvent","Ll","Ml","Vl","ok","fail","rejection","Hl","xl","notified","reactions","Fl","Ul","reason","initEvent","Bl","emit","parent","jl","Gl","Wl","undefined","wrap","Jl","Kl","Yl","zl","ql","Ql","Xl","Zl","$l","ed","td","id","nd","rd","od","sd","ad","cd","ld","dd","ud","hd","pd","_d","md","fd","gd","Td","Ed","Sd","Id","vd","yd","stopped","result","Ad","Rd","that","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","Cd","bd","kd","Nd","return","from","Dd","Od","wd","Pd","Ld","Md","Vd","xd","Ud","Fd","Bd","Hd","jd","Gd","Wd","real","catch","Jd","Kd","Yd","zd","qd","Qd","race","Xd","Zd","$d","eu","tu","iu","nu","ru","ou","su","au","cu","lu","du","uu","hu","pu","_u","mu","fu","gu","Tu","hasIndices","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky","Eu","Su","Iu","vu","yu","RegExp","Au","flags","Ru","Cu","bu","lastIndex","ku","Nu","Du","BROKEN_CARET","MISSED_STICKY","UNSUPPORTED_Y","Ou","wu","Pu","Lu","Mu","Vu","xu","groups","Uu","Fu","Bu","Hu","ju","Gu","Wu","Ju","Ku","Yu","zu","qu","Qu","Xu","Zu","$u","eh","th","ih","nh","rh","oh","sh","ah","SyntaxError","ch","lh","charAt","dh","uh","hh","ph","_h","mh","fh","gh","Th","Eh","Sh","raw","Ih","vh","yh","Ah","Rh","Ch","bh","kh","Nh","Dh","Oh","wh","Ph","Lh","Mh","Vh","xh","Uh","Fh","Bh","Hh","input","jh","Gh","Wh","Jh","Kh","Yh","zh","qh","Qh","Xh","Zh","$h","ep","tp","ip","np","rp","map","filter","some","every","find","findIndex","filterReject","op","sp","ap","cp","lp","dp","up","hp","pp","_p","mp","fp","gp","Tp","Ep","Sp","Ip","vp","left","right","reduce","yp","Ap","Rp","Cp","bp","kp","Np","Dp","Op","wp","Pp","Lp","Mp","Vp","charCodeAt","xp","Up","Fp","codeAt","Bp","Hp","jp","Gp","Wp","Jp","Kp","Yp","zp","qp","Qp","Xp","Zp","$p","e_","t_","i_","n_","r_","o_","s_","a_","c_","l_","d_","u_","h_","p_","__","m_","f_","g_","T_","E_","S_","I_","v_","y_","A_","R_","C_","b_","k_","N_","D_","O_","w_","P_","L_","RangeError","M_","V_","x_","U_","Infinity","F_","B_","H_","j_","G_","W_","start","end","J_","K_","padStart","Y_","z_","q_","Q_","URL","searchParams","pathname","delete","size","sort","href","URLSearchParams","username","hash","X_","Z_","$_","em","tm","im","nm","rm","om","sm","am","cm","lm","dm","um","hm","pm","_m","mm","fm","gm","Tm","Em","Sm","Im","vm","ym","Am","Rm","Cm","bm","km","Nm","Dm","Om","wm","Pm","Lm","Mm","Vm","xm","Um","Fm","Bm","Hm","jm","Gm","Wm","Jm","Km","Ym","zm","qm","Qm","Xm","Zm","$m","ef","tf","nf","decodeURIComponent","rf","encodeURIComponent","of","sf","af","cf","lf","shift","df","splice","uf","hf","pf","_f","mf","ff","gf","Tf","Ef","Sf","If","vf","key","yf","url","parseObject","parseQuery","bindURL","update","serialize","query","updateURL","Af","Rf","append","getAll","Cf","bf","kf","body","headers","fetch","Nf","Request","Df","getState","Of","wf","Pf","Lf","Mf","Vf","xf","Uf","Ff","trim","Bf","Hf","jf","Gf","Wf","Jf","Kf","Yf","zf","qf","Qf","Xf","Zf","$f","eg","description","tg","ig","ng","rg","og","sg","ag","cg","lg","dg","ug","hg","pg","_g","mg","fg","string","gg","Tg","Eg","Sg","Ig","vg","yg","Ag","Rg","Cg","bg","assign","kg","Ng","Dg","Og","wg","Pg","Lg","Mg","Vg","xg","Ug","Fg","Bg","Hg","jg","Gg","Wg","Jg","Kg","Yg","zg","qg","Qg","Xg","Zg","fromCharCode","$g","eT","tT","iT","nT","rT","oT","sT","aT","cT","lT","dT","uT","hT","pT","_T","mT","fT","gT","TT","ET","ST","IT","vT","yT","AT","RT","CT","bT","kT","NT","DT","OT","wT","PT","LT","parseInt","MT","VT","pow","xT","UT","FT","BT","HT","pop","jT","GT","WT","JT","KT","YT","zT","unshift","qT","QT","XT","ZT","$T","eE","tE","iE","nE","rE","oE","sE","aE","cE","lE","dE","uE","hE","pE","_E","mE","fE","ftp","file","http","https","wss","gE","TE","EE","SE","IE","vE","yE","AE","RE","CE","bE","kE","NE","DE","OE","wE","PE","LE","ME","VE","xE","UE","FE","BE","HE","parse","scheme","password","port","path","fragment","cannotBeABaseURL","isSpecial","includesCredentials","parseHost","shortenPath","cannotHaveUsernamePasswordPort","setHref","getOrigin","jE","origin","getProtocol","setProtocol","getUsername","setUsername","getPassword","setPassword","getHost","setHost","getHostname","setHostname","getPort","setPort","getPathname","setPathname","getSearch","setSearch","getSearchParams","getHash","setHash","GE","hostname","search","WE","JE","createObjectURL","KE","revokeObjectURL","YE","ArrayBuffer","DataView","zE","qE","QE","XE","ZE","$E","abs","eS","tS","iS","log","nS","LN2","rS","pack","unpack","NaN","oS","sS","aS","cS","lS","dS","uS","hS","pS","_S","mS","fS","gS","TS","ES","SS","IS","vS","yS","AS","RS","CS","bS","kS","NS","DS","OS","wS","PS","LS","MS","VS","xS","US","FS","BS","HS","jS","GS","WS","JS","KS","YS","zS","reverse","qS","QS","XS","ZS","$S","eI","tI","iI","nI","rI","byteLength","bytes","byteOffset","oI","sI","aI","cI","lI","dI","uI","setInt8","getInt8","setUint8","detached","buffer","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","hI","pI","_I","mI","fI","gI","TI","EI","SI","II","vI","yI","AI","RI","CI","bI","kI","NI","DI","OI","wI","PI","LI","MI","VI","xI","UI","FI","BI","HI","jI","GI","WI","JI","KI","YI","zI","qI","QI","XI","ZI","Int8Array","$I","ev","Uint8ClampedArray","tv","iv","nv","rv","ov","sv","av","cv","lv","opera","dv","uv","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","hv","BigInt64Array","BigUint64Array","pv","_v","mv","NATIVE_ARRAY_BUFFER_VIEWS","TYPED_ARRAY_TAG","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","exportTypedArrayStaticMethod","getTypedArrayConstructor","isView","isTypedArray","TypedArray","TypedArrayPrototype","fv","gv","Tv","Ev","Sv","Iv","vv","yv","Av","Rv","Number","isInteger","isFinite","Cv","bv","kv","Nv","Dv","Ov","wv","Pv","Lv","BigInt","Mv","Vv","xv","Uv","Fv","Bv","Hv","jv","Gv","Wv","Jv","Kv","Yv","zv","qv","Qv","Xv","Zv","$v","ey","ty","iy","ny","ry","oy","sy","ay","cy","ly","dy","uy","hy","py","_y","my","fy","gy","Ty","Ey","Sy","Iy","vy","yy","Ay","Ry","Cy","by","round","ky","Ny","Dy","Oy","wy","Py","Ly","My","Vy","xy","Uy","Fy","By","Hy","jy","Gy","Wy","Jy","view","TypedArrayConstructor","Ky","Yy","zy","qy","Qy","Xy","Zy","$y","fill","eA","tA","iA","nA","rA","oA","sA","aA","cA","lA","dA","uA","hA","pA","_A","mA","fA","gA","TA","EA","SA","IA","vA","yA","AA","RA","CA","bA","kA","NA","DA","OA","wA","PA","LA","MA","VA","xA","UA","FA","BA","HA","jA","GA","WA","JA","KA","YA","zA","qA","QA","XA","ZA","$A","eR","tR","iR","nR","rR","oR","sR","aR","cR","lR","dR","uR","hR","pR","_R","mR","finally","fR","gR","TR","ER","SR","IR","vR","yR","AR","RR","CR","bR","kR","NR","DR","OR","wR","PR","replaceAll","LR","MR","VR","xR","RTCPeerConnection","handleEvent","_eventMap","Map","removeEventListener","UR","Error","FR","BR","HR","warn","jR","GR","WR","endsWith","JR","trackIdentifier","trackId","KR","YR","mediaDevices","mandatory","optional","ideal","exact","toUpperCase","advanced","JSON","stringify","audio","video","facingMode","getSupportedConstraints","enumerateDevices","label","deviceId","PermissionDeniedError","PermissionDismissedError","InvalidStateError","DevicesNotFoundError","ConstraintNotSatisfiedError","TrackStartError","MediaDeviceFailedDueToShutdown","MediaDeviceKillSwitchOn","TabCaptureError","ScreenCaptureError","DeviceCaptureError","message","constraint","constraintName","getUserMedia","webkitGetUserMedia","getAudioTracks","getVideoTracks","getTracks","stop","DOMException","zR","MediaStream","webkitMediaStream","qR","_ontrack","setRemoteDescription","_ontrackpoly","stream","getReceivers","track","Event","receiver","transceiver","streams","QR","dtmf","_dtmf","createDTMFSender","_pc","getSenders","_senders","addTrack","removeTrack","addStream","removeStream","RTCRtpSender","XR","getStats","timestamp","localcandidate","remotecandidate","names","ZR","RTCRtpReceiver","srcElement","MediaStreamTrack","$R","getLocalStreams","_shimmedLocalStreams","eC","_reverseStreams","_streams","sdp","RTCSessionDescription","signalingState","setLocalDescription","tC","webkitRTCPeerConnection","RTCIceCandidate","iC","getConfiguration","sdpSemantics","nC","shimMediaStream","shimOnTrack","shimGetSendersWithDtmf","shimGetStats","shimSenderReceiverGetStats","shimAddTrackRemoveTrackWithNative","shimAddTrackRemoveTrack","shimPeerConnection","fixNegotiationNeeded","shimGetUserMedia","shimGetDisplayMedia","getDisplayMedia","width","height","frameRate","chromeMediaSource","chromeMediaSourceId","maxFrameRate","maxWidth","maxHeight","rC","getSettings","applyConstraints","oC","RTCTrackEvent","sC","mozRTCPeerConnection","inboundrtp","outboundrtp","candidatepair","sN","aC","cC","lC","dC","DataChannel","RTCDataChannel","uC","addTransceiver","setParametersPromises","sendEncodings","rid","parseFloat","scaleResolutionDownBy","maxFramerate","sender","getParameters","encodings","setParameters","hC","pC","createOffer","_C","createAnswer","mC","shimSenderGetStats","shimReceiverGetStats","shimRemoveStream","shimRTCDataChannel","shimAddTransceiver","shimGetParameters","shimCreateOffer","shimCreateAnswer","code","mediaSource","fC","_localStreams","gC","getRemoteStreams","_remoteStreams","_onaddstream","_onaddstreampoly","TC","addIceCandidate","EC","SC","IC","iceServers","urls","generateCertificate","vC","yC","offerToReceiveAudio","getTransceivers","direction","setDirection","offerToReceiveVideo","AC","AudioContext","webkitAudioContext","RC","shimLocalStreamsAPI","shimRemoteStreamsAPI","shimCallbacksAPI","shimConstraints","shimRTCIceServerUrls","shimTrackEventTransceiver","shimCreateOfferLegacy","shimAudioContext","CC","bC","generateIdentifier","substring","localCName","splitLines","splitSections","getDescription","getMediaSections","matchPrefix","parseCandidate","foundation","component","priority","address","relatedAddress","relatedPort","tcpType","ufrag","usernameFragment","writeCandidate","parseIceOptions","parseRtpMap","payloadType","clockRate","channels","numChannels","writeRtpMap","preferredPayloadType","parseExtmap","uri","attributes","writeExtmap","preferredId","parseFmtp","writeFmtp","parameters","parseRtcpFb","parameter","writeRtcpFb","rtcpFeedback","parseSsrcMedia","ssrc","attribute","parseSsrcGroup","semantics","ssrcs","getMid","parseFingerprint","algorithm","getDtlsParameters","role","fingerprints","writeDtlsParameters","parseCryptoLine","tag","cryptoSuite","keyParams","sessionParams","writeCryptoLine","writeCryptoKeyParams","parseCryptoKeyParams","keyMethod","keySalt","lifeTime","mkiValue","mkiLength","getCryptoParameters","getIceParameters","writeIceParameters","iceLite","parseRtpParameters","codecs","headerExtensions","fecMechanisms","rtcp","profile","writeRtpDescription","maxptime","parseRtpEncodingParameters","apt","codecPayloadType","rtx","fec","mechanism","maxBitrate","parseRtcpParameters","cname","reducedSize","compound","mux","writeRtcpParameters","parseMsid","parseSctpDescription","parseMLine","isNaN","fmt","maxMessageSize","writeSctpDescription","generateSessionId","substr","writeSessionBoilerplate","getDirection","getKind","isRejected","parseOLine","sessionId","sessionVersion","netType","addressType","isValidSDP","kC","NC","default","DC","candidate","toJSON","sdpMid","sdpMLineIndex","OC","relayProtocol","wC","_sctp","browser","POSITIVE_INFINITY","PC","send","readyState","sctp","createDataChannel","channel","LC","completed","checking","iceConnectionState","_onconnectionstatechange","_connectionstatechangepoly","_lastConnectionState","connectionState","MC","VC","xC","UC","shimRTCIceCandidate","shimRTCIceCandidateRelayProtocol","shimMaxMessageSize","shimSendThrowTypeError","shimConnectionState","removeExtmapAllowMixed","shimAddIceCandidateNullOrEmpty","shimParameterlessSetLocalDescription","shimChrome","shimFirefox","shimSafari","mozGetUserMedia","isSecureContext","supportsUnifiedPlan","RTCRtpTransceiver","browserDetails","commonShim","extractVersion","disableLog","disableWarnings","browserShim","FC","BC","HC","jC","GC","WC","getOwnPropertyDescriptors","JC","KC","YC","zC","qC","QC","XC","ZC","$C","eb","tb","ib","nb","__esModule","rb","ob","sb","ab","throw","cb","context","once","_events","_eventsCount","eventNames","listeners","listenerCount","removeListener","removeAllListeners","off","addListener","prefixed","EventEmitter","lb","reg","format","encoding","rate","subtype","config","sessionConfig","raddr","tcptype","generation","params","dir2","db","rtp","fmtp","media","parseParams","parseFmtpConfig","parsePayloads","parseRemoteCandidates","parseImageAttributes","parseSimulcastStreamList","scid","paused","ub","payloads","outerOrder","innerOrder","hb","pb","_b","INVALID_PARAMETER","INVALID_OPERATION","NOT_SUPPORTED","DEVICE_NOT_FOUND","INITIALIZE_FAILED","SIGNAL_CHANNEL_SETUP_FAILED","SIGNAL_CHANNEL_ERROR","ICE_TRANSPORT_ERROR","JOIN_ROOM_FAILED","CREATE_OFFER_FAILED","SIGNAL_CHANNEL_RECONNECTION_FAILED","UPLINK_RECONNECTION_FAILED","DOWNLINK_RECONNECTION_FAILED","REMOTE_STREAM_NOT_EXIST","CLIENT_BANNED","SERVER_TIMEOUT","SUBSCRIPTION_TIMEOUT","PLAY_NOT_ALLOWED","DEVICE_AUTO_RECOVER_FAILED","START_PUBLISH_CDN_FAILED","STOP_PUBLISH_CDN_FAILED","START_MIX_TRANSCODE_FAILED","STOP_MIX_TRANSCODE_FAILED","NOT_SUPPORTED_H264","SWITCH_ROLE_FAILED","API_CALL_TIMEOUT","SCHEDULE_FAILED","API_CALL_ABORTED","UNKNOWN","mb","fb","extraCode","super","originMessage","getCode","getExtraCode","gb","Tb","Date","getTime","Eb","Sb","setTime","toLocaleString","Ib","bytes2ms","KD","copyProperties","JD","deepMerge","CO","env","vb","fibonacci","$D","formatedTime","NO","getConstructorName","pO","getContainerFromElement","bO","getEnv","UD","getInternalVersion","TO","getLoggerUrl","BD","getMuteStateFromFlag","IO","getNetworkQuality","vO","getNetworkType","GD","getOSType","jD","getReconnectionTimeout","eO","getStringByteLength","wO","getSysInfo","WD","getTerminalType","HD","getTurnServer","yO","getValueType","tO","glog","QD","ipv4ToUint32","AO","cO","isArrayOrObject","RO","isAudioWorkletSupported","_O","isBoolean","sO","isConstructor","hO","isEmpty","SO","isFunction","iO","isLangChinese","XD","isMediaStreamTrack","lO","isNumber","oO","isObject","aO","isOverseaSdkAppId","FD","isPlainObject","ZD","isPromise","uO","isRemoteTrack","dO","isString","rO","isUndefined","nO","ms2bytes","zD","ms2samples","qD","performanceNow","fO","promiseAny","mO","samples2ms","YD","DO","stringifyIncludeValue","OO","ANDROID_VERSION","Mb","CHROME_MAJOR_VERSION","Vk","CHROME_VERSION","xk","EDGE_VERSION","jb","EDG_MAJOR_VERSION","Jb","EDG_VERSION","Wb","FIREFOX_MAJOR_VERSION","Bb","FIREFOX_VERSION","Fb","HUAWEI_VERSION","Rk","IE_VERSION","ik","IOS_MAIN_VERSION","Gk","IOS_VERSION","jk","IPADQQB_VERSION","pk","IS_ANDROID","Lb","IS_ANDROID_WEBVIEW","Hk","IS_ANY_SAFARI","Fk","IS_CHROME","Lk","IS_CHROME_OS","gk","IS_CHROMIUM_BASE","Pk","IS_EDG","Gb","IS_EDGE","Hb","IS_ELECTRON","Sk","IS_FIREFOX","Ub","IS_HEADLESS_CHROME","Mk","IS_HUAWEI","Ak","IS_HUAWEIBROWSER","yk","IS_IE","tk","IS_IE8","ek","IS_IOS","Pb","IS_IOS_13_OR_14","Kk","IS_IOS_15_1","Jk","IS_IPAD","Nb","IS_IPADQQB","hk","IS_IPAD_PRO","Db","IS_IPHONE","Ob","IS_IPOD","wb","IS_LINUX","fk","IS_LOCAL","Yk","IS_MAC","mk","IS_MACQQB","dk","IS_MIBROWSER","Ik","IS_MQQB","sk","IS_NATIVE_ANDROID","xb","IS_OLD_ANDROID","Vb","IS_OPPOBROWSER","kk","IS_SAFARI","Uk","IS_SAFARI_15_1","Wk","IS_SAMSUNGBROWSER","Ck","IS_SOGOU","zb","IS_SOGOUM","Kb","IS_TBS","Qb","IS_UCBROWSER","Ek","IS_VIVOBROWSER","Dk","IS_WECHAT","nk","IS_WIN","_k","IS_WQQB","ck","IS_WX","Tk","IS_X5MQQB","IS_XWEB","Zb","MACQQB_VERSION","uk","MI_VERSION","vk","MQQB_VERSION","ak","OPPO_VERSION","Nk","SAFARI_VERSION","Bk","SAMSUNG_VERSION","bk","SOGOUM_VERSION","Yb","SOGOU_VERSION","qb","TBS_VERSION","Xb","USER_AGENT","yb","VIVO_VERSION","Ok","WECHAT_VERSION","rk","WQQB_VERSION","lk","XWEB_VERSION","$b","browserInfo","qk","getBrowserInfo","Qk","getChromeMajorVersion","wk","getOSName","eN","getOSString","tN","getUserAgentData","Zk","isLocalStorageEnabled","zk","Ab","Rb","Cb","bb","kb","maxTouchPoints","localStorage","HL","Xk","userAgentData","getHighEntropyValues","BL","$k","platform","platformVersion","architecture","iN","AUDIO_MUTE_BIT","jN","AUDIO_STAT_BIT","HN","AUX_STAT_BIT","BN","AUX_STREAM_MSID","JN","BACKEND_ENV","VN","BASE_DOC_URL","TN","BASE_HOST","_N","CAPABILITIES_KEYS","VD","CLASS_NAME","yD","CLOUD_CONSOLE_URL","gN","DATA_FREEZE_TIMING","fD","DOC_URL","EN","DTLS_STATE_UNKNOWN","tD","ENV_NAME","AN","EXCHANGE_SDP_TIMEOUT","uD","INTERVAL","LD","IS_WORKER","lN","IS_WORKLET","dN","KIBANA_EVENT","cD","LOCAL_STREAM_PUBLISH_STATE","mD","LOGGER_CMD_TYPE","yN","LOGGER_DOMAIN","SN","LOGGER_DOMAIN_OVERSEA","IN","LOG_LEVEL","RN","LOG_LEVEL_NAME","kD","MAIN_STREAM_MSID","WN","MICROPHONE_COMMUNICATIONS","bD","MICROPHONE_DEFAULT","RD","NAME","LN","NETWORK_TYPE","kN","_D","PAUSED_RETRY_COUNT","AD","PEERCONNECTION_CONNECTING_TIMEOUT","SD","PEER_CONNECTION_STATE","iD","PEER_LEAVE_REASON","ND","RAF","PD","RECOVER_CAPTURE_INTERVAL","OD","REMOTE_STREAM_TYPE_AUX","YN","REMOTE_STREAM_TYPE_MAIN","KN","RENDER_FREEZE_TIMING","gD","RIC","wD","SCHEDULE_DOMAIN","ID","SCHEDULE_TIMEOUT","vD","SDP_SEMANTICS_PLAN_B","pD","SDP_SEMANTICS_UNIFIED_PLAN","hD","SECOND_HOST","mN","SIGNAL_PING_PONG_INTERVAL","bN","SIGNAL_PING_TIMEOUT","CN","SIGNAL_RECONNECTION_COUNT","aD","SMALL_STAT_BIT","FN","SPEAKER_DEFAULT","CD","STORAGE_EXPIRES_TIME","NN","STREAM_TYPE_BIG","TD","STREAM_TYPE_SMALL","ED","SUBSCRIBE_SMALL_RETRY_COUNT","DD","SYNC_USER_LIST_INTERVAL","lD","Scene","xN","Switch","DN","THIRD_HOST","fN","TIMEOUT","MD","TRANSPORT_DIRECTION","MN","TRTC_ERROR_ASSISTANCE","vN","TRTC_QUALITY_BAD","ZN","TRTC_QUALITY_DISCONNECTED","eD","TRTC_QUALITY_EXCELLENT","qN","TRTC_QUALITY_GOOD","QN","TRTC_QUALITY_POOR","XN","TRTC_QUALITY_UNKNOWN","zN","TRTC_QUALITY_VERY_BAD","$N","UPDATE_OFFER_TIMEOUT","dD","VIDEO_MUTE_BIT","GN","VIDEO_STAT_BIT","UN","audioProfileMap","ON","getRetryCount","oD","getScriptDir","uN","innerVersion","nN","loggerProxy","hN","screenProfileMap","PN","setLoggerProxy","pN","setRetryCount","rD","setVersion","oN","rN","videoProfileMap","wN","aN","cN","registerProcessor","currentScript","lastIndexOf","LOG","EVENT","KEY_POINT","QCLOUD","OLD_CLOUD_LADDER","WEBRTC","TRACE","DEBUG","INFO","WARN","ERROR","NONE","unknown","wifi","wired","USEAINS","ENABLEDEBUG","USEV2","USEWT","standard","sampleRate","channelCount","bitrate","high","CANVAS","AUDIO","VIDEO","SCREEN","SMALL","BIG","AUXILIARY","SMALL_VIDEO","FACING_MODE_USER","FACING_MODE_ENVIRONMENT","MUTE","UNMUTE","ENDED","PLAYING","PAUSE","LOADEDDATA","AUDIO_INPUT","VIDEO_INPUT","DETAIL","TEXT","MAIN","BACKUP","BANNED","KICK","USER_TIME_OUT","ROOM_DISBAND","SEI_MESSAGE","ADD","REMOVE","REPLACE","TRACK","SUBSCRIBE","UNSUBSCRIBE","TRANSCEIVER_DIRECTION_SENDONLY","TRANSCEIVER_DIRECTION_RECVONLY","ENTER_PICTURE_IN_PICTURE","LEAVE_PICTURE_IN_PICTURE","INACTIVE","SENDONLY","RECVONLY","LIVE","RTC","NEW","CONNECTING","FAILED","CLOSED","DISCONNECTED","CONNECTED","COMPLETED","nD","sD","JOIN","DELTA_JOIN","REJOIN","LEAVE","DELTA_LEAVE","PUBLISH","DELTA_PUBLISH","UNPUBLISH","UPLINK_CONNECTION","UPLINK_RECONNECTION","DOWNLINK_CONNECTION","DOWNLINK_RECONNECTION","ON_TRACK","ICE_CONNECTION_STATE","LOCAL_STREAM_INITIALIZE","SIGNAL_CONNECTION","SIGNAL_RECONNECTION","UPDATE_STREAM","RECOVER_LOCAL_AUDIO_TRACK","RECOVER_LOCAL_VIDEO_TRACK","RECOVER_SUBSCRIPTION","START_MIX_TRANSCODE","STOP_MIX_TRANSCODE","PLAYER_ERROR","SCHEDULE","LOAD_WORKLET","VIDEO_FROZEN_COUNT","GET_USER_MEDIA_RETRY","PUBLISHING","PUBLISHED","MAIN_OVERSEA","BACKUP_OVERSEA","TRTC","CLIENT","LOCAL_STREAM","REMOTE_STREAM","STREAM","xD","connection","effectiveType","AbilityOption","AVLimit","GeneralLimit","CPULimit","uint32_CPU_num","hardwareConcurrency","str_CPU_name","uint32_CPU_maxfreq","model","uint32_total_memory","uint32_terminal_type","uint32_device_type","str_os_verion","uint32_link_type","str_client_version","uint32_net_type","ownKeys","language","isRemote","AudioWorkletNode","performance","gO","EO","userId","hasAudio","hasVideo","hasAuxiliary","hasSmall","audioMuted","videoMuted","audioAvailable","videoAvailable","credential","credentialType","getElementById","kO","Intl","DateTimeFormat","dateStyle","timeStyle","keysToInclude","keysToExclude","Set","PO","method","timeout","XMLHttpRequest","onreadystatechange","status","response","qx","statusText","LO","MO","retryFunction","settings","onError","onRetrying","onRetryFailed","onRetrySuccess","retries","clearTimeout","retry","retryFuncArgs","retryCount","VO","sdkAppId","remoteUserId","isLocal","createChild","setUserId","setSdkAppId","HO","info","debug","xO","UO","ROOM_DESTROY","JOIN_START","JOIN_SCHEDULE_SUCCESS","JOIN_SIGNAL_CONNECTION_START","JOIN_SIGNAL_CONNECTION_END","JOIN_SEND_CMD","JOIN_RECEIVED_CMD_RES","JOIN_SUCCESS","JOIN_FAILED","LEAVE_START","LEAVE_SEND_CMD","LEAVE_SUCCESS","PUBLISH_START","SEND_FIRST_VIDEO_FRAME","PUBLISH_FAILED","SUBSCRIBE_START","SUBSCRIBE_SUCCESS","SUBSCRIBE_FAILED","UNSUBSCRIBE_SUCCESS","LOCAL_TRACK_CAPTURE_START","LOCAL_TRACK_CAPTURE_SUCCESS","LOCAL_TRACK_CAPTURE_FAILED","LOCAL_TRACK_PUBLISHED","LOCAL_TRACK_UNPUBLISHED","LOCAL_TRACK_REPLACED","SWITCH_DEVICE_SUCCESS","TRACK_MUTED","TRACK_UNMUTED","REMOTE_TRACK_SUBSCRIBED","REMOTE_TRACK_UNSUBSCRIBED","PLAY_TRACK_START","PLAYER_STATE_CHANGED","VIDEO_LOADED_DATA","AUTOPLAY_DIALOG_CLICK_CONFIRM","WORKLET_LOADED_SUCCESS","WORKLET_LOADED_FAILED","SIGNAL_CONNECTION_STATE_CHANGED","PEER_CONNECTION_STATE_CHANGED","SINGLE_CONNECTION_STAT","HEARTBEAT_REPORT","RECEIVED_PUBLISHED_USER_LIST","REMOTE_PUBLISH_STATE_CHANGED","AUDIO_LEVEL_INTERVAL","NETWORK_QUALITY","API_SUCCESS_RATE","FO","BO","checkURLParam","installEvents","isAbleToUpload","_isEnableUploadLog","_timeoutId","schedule","logLevelToUpload","_logLevelToUpload","room","addJoinedUser","startUpload","deleteJoinedUser","uploadInterval","_localJoinedUser","upload","getLogsToUpload","splicedQueue","_queue","forAllJoinedClients","logs","uploadLogWithRetry","uploaded","getPrefix","getMilliseconds","toTimeString","getLogLevel","_logLevel","setLogLevel","enableUploadLog","disableUploadLog","logChunkToString","level","createLogger","jO","GO","checkStorage","getRealKey","_prefix","setInterval","doFlush","startsWith","getItem","expiresIn","removeItem","setItem","deleteItem","WO","HTTPS_API","dw","IS_GET_CAPABILITIES_SUPPORTED","bw","IS_GET_SETTINGS_SUPPORTED","Cw","IS_SEI_SUPPORTED","kw","IS_SPC_SUPPORTED","vw","basis","Pw","checkSystemRequirementsInternal","aw","decodeSupportStatus","sw","encodeSupportStatus","ow","ZO","getDisplayResolution","hw","isAddTransceiverSupported","Iw","isBrowserSupported","$O","isGetReceiversSupported","Tw","isGetSendersSupported","Ew","isGetTransceiversSupported","Sw","isGetUserMediaSupported","pw","isMediaDevicesSupported","tw","isMediaSessionSupported","Ow","isMediaStreamTrackProcessorSupported","rw","isReplaceTrackSupported","Aw","isScreenCaptureApiAvailable","lw","isSelectedCandidatePair","uw","isSetParametersSupported","Rw","isSmallStreamAPISupported","mw","isSmallStreamSupported","fw","isStopTransceiverSupported","yw","isTRTCSupported","cw","isUnifiedPlanDefault","gw","isUsedInHttpProtocol","nw","isWebAudioSupported","_w","isWebCodecSupported","Dw","isWebCodecsSupported","ew","isWebRTCSupported","Nw","isWebTransportSupported","ww","JO","AVOID_REPEATED_CALL","INVALID_PARAMETER_REQUIRED","INVALID_PARAMETER_TYPE","INVALID_PARAMETER_EMPTY","INVALID_PARAMETER_INSTANCE","INVALID_PARAMETER_RANGE","INVALID_PARAMETER_MIN","INVALID_PARAMETER_MAX","INVALID_PARAMETER_STREAMTYPE","ERROR_MESSAGE","EXCHANGE_SDP_FAILED","INVALID_RECORDID","INVALID_PURE_AUDIO","INVALID_STREAMID","INVALID_USER_DEFINE_RECORDID","INVALID_USER_DEFINE_PUSH_ARGS","INVALID_PROXY","INVALID_JOIN","INVALID_ROOMID_STRING","INVALID_ROOMID_INTEGER","INVALID_SIGNAL_CHANNEL","JOIN_ROOM_TIMEOUT","REJOIN_ROOM_FAILED","INVALID_DESTROY","INVALID_PUBLISH","INVALID_UNPUBLISH","INVALID_AUDIENCE","INVALID_INITIALIZE","INVALID_DUPLICATE_PUBLISHING","INVALID_SUBSCRIBE_UNDEFINED","INVALID_SUBSCRIBE_LOCAL","INVALID_REMOTE_STREAM","INVALID_ROLE","INVALID_PARAMETER_SWITCH_ROLE","INVALID_OPERATION_SWITCH_ROLE","SWITCH_ROLE_TIMEOUT","INVALID_OPERATION_START_PUBLISH_CDN","INVALID_OPERATION_STOP_PUBLISH_CDN","INVALID_STREAM_ID","INVALID_AUDIO_VOLUME","ENABLE_SMALL_STREAM_PUBLISHED","DISABLE_SMALL_STREAM_PUBLISHED","NOT_SUPPORTED_SMALL_STREAM","INVALID_SMALL_STREAM_PROFILE","INVALID_PARAMETER_REMOTE_STREAM","INVALID_OPERATION_CHANGE_SMALL","REMOTE_NOT_PUBLISH_SMALL_STREAM","INVALID_SWITCH_DEVICE","INVALID_SWITCH_DEVICE_PUBLISHING","INVALID_REPLACE_TRACK","INVALID_INITIALIZE_LOCAL_STREAM","INVALID_ADD_TRACK_REPETITIVE","INVALID_ADD_TRACK_REMOVING","INVALID_ADD_TRACK_PUBLISHING","INVALID_STREAM_INITIALIZED","INVALID_ADD_TRACK_NUMBER","INVALID_REMOVE_AUDIO_TRACK","INVALID_REMOVE_AUDIO_ADDING","INVALID_REMOVE_AUDIO_ON","INVALID_REMOVE_TRACK_PUBLISHING","INVALID_REMOVE_TRACK_NOT_TRACK","INVALID_REMOVE_TRACK_NUMBER","INVALID_REPLACE_TRACK_NO_TRACK","REPEAT_JOIN","CLIENT_DESTROYED","NOT_BUG_PACKAGE","MIX_TRANSCODE_NOT_STARTED","CANNOT_LESS_THAN_ZERO","MIX_PARAMS_VIDEO_FRAMERATE","MIX_PARAMS_VIDEO_GOP","MIX_PARAMS_AUDIO_BITRATE","MIX_PARAMS_USER_Z_ORDER","MIX_PARAMS_NOT_SELF","MIX_PARAMS_USER_STREAM","INVALID_PLAY","INVALID_ELEMENT_ID","INVALID_ELEMENT_ID_TYPE","PLAY_FAILED","INVALID_USERID","INVALID_CREATE_STREAM_SOURCE","INVALID_CREATE_STREAM_SCREEN","INVALID_CREATE_STREAM_AUDIO","INVALID_CREATE_STREAM_SCREEN_AUDIO","NOT_SUPPORTED_HTTP","NOT_SUPPORTED_WEBRTC","NOT_SUPPORTED_PROFILE","NOT_SUPPORTED_MEDIA","NOT_SUPPORTED_H264ENCODE","NOT_SUPPORTED_H264DECODE","NOT_SUPPORTED_TRACK","NOT_SUPPORTED_SWITCH_DEVICE","NOT_SUPPORTED_CAPTURE","NOT_SUPPORTED_AUX","MICROPHONE_NOT_FOUND","CAMERA_NOT_FOUND","SIGNAL_RESPONSE_FAILED","CATCH_HANDLER_ERROR","API_NOT_EXIST","CONNECTION_CLOSED","SUBSCRIBE_ALL_FALSE","SEI_NOT_SUPPORT","SEI_DISABLED","SEI_EMPTY","SEI_OVERSIZE","SEI_BEFORE_PUBLISH","SEI_NOT_VIDEO","CALL_FREQUENCY_LIMIT","CONNECTION_ABORTED","DUPLICATE_AUX","KO","rule","fnName","instanceOf","commandDesc","command","errorCode","errorMsg","errMsg","roomId","streamType","signalResponse","event","funName","isSize","timesInSecond","maxSizeInSecond","YO","zO","TRTC_ERROR_INFO","TRTC_ERROR_LINK","text","qO","link","addDocLink","className","QO","detail","isScreenShareSupported","isH264EncodeSupported","isVp8EncodeSupported","isH264DecodeSupported","isVp8DecodeSupported","XO","browserName","browserVersion","iw","OffscreenCanvas","MediaStreamTrackProcessor","MediaStreamTrackGenerator","getContext","captureStream","nominated","selected","screen","devicePixelRatio","isSupported","HTMLCanvasElement","AudioDecoder","AudioEncoder","VideoDecoder","VideoEncoder","ImageDecoder","mediaSession","setActionHandler","WebTransport","displayResolution","isWebSocketsSupported","WebSocket","CLOSING","Lw","Mw","Vw","xw","oldState","newState","action","aborted","abort","jw","Uw","cause","Fw","Bw","Gw","abortAction","_state","ignoreError","success","Hw","__AFSM__","CustomEvent","payload","STATECHANGED","updateDevTools","old","err","groupName","INIT","count","diagram","stateDiagram","allStates","instances","instances2","UPDATEAFSM","group","OFF","Ww","requestIdleCallback","didTimeout","timeRemaining","Jw","cancelIdleCallback","Kw","cancelAnimationFrame","mozCancelAnimationFrame","Yw","generateTaskID","currentTaskID","run","delay","backgroundTask","fps","taskID","loopCount","intervalID","timeoutID","rafID","ricID","taskName","callback","taskMap","interval","isBreakLoop","intervalInWorker","toFixed","Worker","Blob","worker","ric","raf","hidden","requestAnimationFrame","onVisibilitychange","hasTask","clearTask","terminate","clearInterval","zw","qw","LOADED_DATA","MEDIA_TRACK_CHANGED","Qw","_configs","setConfig","_roomIdMap","logSuccessEvent","uploadEventToKibana","logFailedEvent","eventType","delta","uploadEvent","errorInfo","sendRequest","Xw","Zw","$w","eP","tP","iP","nP","rP","oP","sP","aP","cP","lP","dP","uP","hP","pP","querySelector","_P","mP","fP","gP","content","innerHTML","addDiaLog","createDiaLog","innerText","onclick","onConfirm","onQuestionClick","onCollapseClick","firstChild","_dialogNode","stopPropagation","_bodyPosition","position","deleteDiaLog","visibility","_showDetail","_isCollapseClicked","_isQuestionClicked","TP","SP","remove","IP","EP","vP","_log","container","muted","_pausedRetryCount","bindTrackEvents","isPlaying","isStopped","setAttr","attr","setTrack","unbindTrackEvents","element","srcObject","setUrl","crossOrigin","setContainer","play","parentElement","bindAutoPlayEvent","unbindEvents","_isElementPlayingFired","handleStopped","_interval","pause","resume","replay","setMuted","setRect","bindElementEvents","handleElementEvent","handleTrackEvent","handlePlaying","handlePaused","getElement","yP","mirror","objectFit","initializeElement","setAttribute","transform","autoplay","playsinline","setMirror","setObjectFit","getVideoFrame","videoWidth","videoHeight","drawImage","toDataURL","AP","RP","context_","blob_","addModuleToContext","audioWorklet","addModule","initWorkletSuccess","mozAudioContext","CP","bP","kP","NP","onstatechange","DP","OP","_volume","_track","_audioCtx","_destination","destination","_streamSource","createMediaStreamSource","_audioWorkletNode","_scriptProcessorNode","handleAudioLevelInterval","initAudioWorklet","initScriptProcessor","preload","volume","connect","createScriptProcessor","onaudioprocess","inputBuffer","getChannelData","sqrt","destroy","disconnect","getInternalAudioLevel","getCalculatedVolume","intervalTime","wP","PP","LP","gainedTrack","_gainedTrack","_outputDeviceId","outputDeviceId","initVolumeMeter","_volumeMeter","setSinkId","setVolume","destroyGain","_gainNode","gain","createGain","createMediaStreamDestination","_mediaStreamSource","_sourceElement","setLoop","loop","_loop","getAudioLevel","MP","mediaType","isInitPlayer","nL","initPlayer","outMediaTrack","enabled","strMediaType","isPlayCalled","setPlayerMute","isScreen","player","playSubContainer","_outputTrack","handleAutoPlayFailed","subVideoPlayerMap","playerMuted","audioTrack","audioOutputDeviceId","setAudioOutput","setAudioVolume","audioVolume","setMute","mediaTrack","_inputTrack","setInputMediaStreamTrack","manager","changeInput","setOutputMediaStreamTrack","updatePlayingState","setMediaType","enableAutoPlayDialog","VP","xP","UP","FP","BP","toLocaleLowerCase","devices","hasDevice","HP","init","GP","audioInputs","videoInputs","audioOutputs","jP","groupId","YP","getCapabilities","WP","JP","KP","zP","qP","XP","ZP","maxResolution","useTrueAsConstraint","microphoneId","QP","cameraId","echoCancellation","noiseSuppression","autoGainControl","useExact","$P","eL","iL","tL","onTrackMuted","onTrackUnmuted","onTrackEnded","installTrackEvent","uninstallTrackEvent","setStateToCapture","capture","customSource","updateDeviceIdInUse","listenDeviceChange","publish","prevState","unpublish","localTracks","newDeviceId","oldDeviceId","oldGroupId","oldLabel","setProfile","isNeedToRecapture","CanvasCaptureMediaStreamTrack","_isRecapturing","_lastRecaptureTime","_onMuteTimeoutId","visibilityState","recapture","getRecoverCaptureDeviceId","rL","removeInput","oL","switchDevice","replaceTrack","handleMicrophoneRemoved","handleMicrophoneAdded","update3A","setCaptureVolume","captureVolume","sL","bytesSent","packetsSent","framesEncoded","framesSent","frameWidth","frameHeight","isAllowed2k4k","sendAbilityStatus","applyProfile","isNeedToSetBandwidth","setBandWidth","bandwidth","videoType","scheduleResult","trtcAutoConf","isNeedToSwitchDevice","handleCameraRemoved","handleCameraAdded","aL","systemAudio","selfBrowserSurface","surfaceSwitching","displaySurface","cL","videoTrack","lL","dL","audioContext","_inputs","sourceNode","setTrackCaptureVolume","gainNode","hasMix","uL","initAudioContext","_audioContext","musicId","_source","createMediaElementSource","installPlayerEvent","handleAudioError","uninstallPlayerEvent","getStream","seek","duration","currentTime","getPosition","getVolume","setPlayBackRate","playbackRate","getPlayBackRate","setOperation","hL","pL","_L","mL","userSig","errCode","sign","json","auth","fL","gL","numberOfChannels","float32","TL","EL","audioContext_","onDump","inputPCM_","outputPCM_","getBlob","createBuffer","copyToChannel","reset","SL","worklet","logger","destination_","gainNode_","log_","workletNode_","isDumping_","inputPCM","outputPCM","dump_","dumped","emitter_","blob","dumpedWAV","download","click","audioTrack_","source_","trackConstraint_","getConstraints","denoiserTrack_","updateTrack","disable","enableDenoise_","enable","startDump","stopDump","getAudioTrack","getDenoiserTrack","IL","assetsPath","isLoaded_","assetsPath_","createProcessor","load","initWorklet","numberOfInputs","numberOfOutputs","vL","mixedAudioTrack","localMixAudioTrack","hasScreenAudioTrack","_localScreenAudioTrack","hasAudioTrack","_localAudioTrack","isDenoiserProcessed","denoiserProcessor","denoiserTrack","RL","removeAudioTrack","addMusicSource","mixedMusicMap","cacheMusicMap","updateMusicSource","operation","seekFrom","addAudioTrack","removeMusicSource","destroyAllMusic","destroyAllCache","initDenoiser","denoiserContext","denoiser","isDenoiserInit","initProcessorOptions","enableDenoiser","isDenoiserEnabled","disableDenoiser","destroyDenoiserProcessor","yL","user","tinyId","hasFlag","isSubscribed","waitHasMediaTrack","isSubscribing","STATE_SUBSCRIBE","subscribe","unsubscribe","changeType","onFlagChanged","AL","bytesReceived","packetsReceived","packetsLost","end2EndDelay","jitterBufferDelay","audioManager","muteState","isFlagChanged","CL","framesReceived","framesDecoded","videoManager","bL","kL","NL","DL","__FASTRX_DEVTOOLS__","OL","wL","args","xL","streamId","UL","nodeId","sourceId","PL","defers","disposed","complete","dispose","bindDispose","doDefer","bindSubscribe","defer","removeDefer","resetNext","resetComplete","resetError","LL","sink","ML","addSource","VL","pipe","FL","sinks","jL","mapper","thisArg","GL","WL","eventId","eventDesc","YL","JL","KL","mySelfId","getPublishedUser","remotePublishedUserMap","addUser","userMap","deleteUser","flag","deleteRemotePublishedUser","prevMuteState","setUserList","addRemotePublishedUser","setRemotePublishedUserList","zL","qL","SCENE_LIVE","SCENE_RTC","ROLE_ANCHOR","ROLE_AUDIENCE","STREAM_TYPE_MAIN","STREAM_TYPE_SUB","AUDIO_PROFILE_STANDARD","AUDIO_PROFILE_STANDARD_STEREO","AUDIO_PROFILE_HIGH","AUDIO_PROFILE_HIGH_STEREO","QOS_PREFERENCE_SMOOTH","QOS_PREFERENCE_CLEAR","QL","ENV_NOT_SUPPORTED","DEVICE_ERROR","SERVER_ERROR","OPERATION_FAILED","OPERATION_ABORT","UNKNOWN_ERROR","XL","INVALID_PARAMETER_LESS_THAN_ZERO","INVALID_ROOM_ID_STRING","INVALID_ROOM_ID_INTEGER","INVALID_STREAM_TYPE","INVALID_ROOM_ID_REQUIED","INVALID_ROOM_ID_INTEGER_STRING","INVALID_OPERATION_NOT_JOINED","INVALID_OPERATION_REMOTE_USER_NOT_EXIST","INVALID_OPERATION_STREAM_TYPE_NOT_EXIST","INVALID_OPERATION_REPEAT_CALL","NOT_SUPPORTED_H264_ENCODE","NOT_SUPPORTED_H264_DECODE","NOT_SUPPORTED_SCREEN_SHARE","NOT_SUPPORTED_SMALL_VIDEO","NOT_SUPPORTED_SEI","DEVICE_NOT_FOUND_ERROR","DEVICE_NOT_ALLOWED_ERROR","DEVICE_NOT_READABLE_ERROR","DEVICE_OVERCONSTRAINED_ERROR","DEVICE_INVALID_STATE_ERROR","DEVICE_SECURITY_ERROR","DEVICE_ABORT_ERROR","CAMERA_RECOVER_FAILED","MICROPHONE_RECOVER_FAILED","ACCOUNT_NO_MONEY","FIREWALL_RESTRICTION","REJOIN_FAILED","EVENT_HANDLER_ERROR","VIDEO_CONTEXT_ERROR","ZL","deviceType","$L","eventName","fnParams","eM","messageParams","originError","enableDocLink","functionName","handler","startLocalVideo","startLocalAudio","startScreenShare","convertFrom","stack","tM","iM","properties","useFrontCamera","fillMode","small","nM","rM","HTMLElement","arrayItem","validate","oM","required","sM","earMonitorVolume","aM","cM","lM","plugins","enterRoom","_room","isJoined","strRoomId","allowEmpty","scene","proxy","websocketProxy","turnServer","webtransportProxy","userDefineRecordId","option","updateLocalVideo","mute","updateLocalAudio","updateScreenShare","muteRemoteAudio","setRemoteAudioVolume","startRemoteVideo","updateRemoteVideo","stopRemoteVideo","switchRole","enableAudioVolumeEvaluation","sendSEIMessage","enableSEI","isMainStreamPublished","seiPayloadType","dM","uM","hM","pM","_resolve","_M","_reject","mM","instance","started","ops","startSame","mergeUpdate","currentOp","cacheOp","lastOpType","lastOp","fM","gM","TM","EM","SM","merge","debounce","isNeedToDebounce","getKey","timeoutId","IM","vM","AUTOPLAY_FAILED","KICKED_OUT","REMOTE_USER_ENTER","REMOTE_USER_EXIT","REMOTE_AUDIO_AVAILABLE","REMOTE_AUDIO_UNAVAILABLE","REMOTE_VIDEO_AVAILABLE","REMOTE_VIDEO_UNAVAILABLE","AUDIO_VOLUME","CONNECTION_STATE_CHANGED","AUDIO_PLAY_STATE_CHANGED","VIDEO_PLAY_STATE_CHANGED","SCREEN_SHARE_STOPPED","DEVICE_CHANGED","PUBLISH_STATE_CHANGED","STATISTICS","yM","AM","innerEmitter","constants","environment","utils","eventLogger","getLogger","clearStarted","getAlias","RM","CM","kM","_name","bM","NM","defaultValue","notLessThanZero","DM","namePrefix","getRemoteId","loggerManager","apiName","cost","OM","_plugins","getValidateRule","wM","PM","core","getName","getGroup","startValidateRule","updateValidateRule","stopValidateRule","LM","MM","VM","ai_denoise","xM","UM","FM","BM","HM","frameWorkType","_stopRemoteAudio","_stopRemoteVideo","device","_create","frameElement","tagName","bitness","mobile","fullVersionList","brand","autoReceiveAudio","autoReceiveVideo","setProxyServer","setTurnServer","iceTransportPolicy","enableHWEncoder","privateMapKey","businessInfo","useStringRoomId","_exitRoom","_networkQuality","remoteAudioTrack","remoteVideoTrack","remoteAuxiliaryTrack","_remoteAudioConfigMap","_remoteVideoConfigMap","rtt","msg_up_stream_info","msg_network_status","uint32_rtt","msg_down_stream_info","uplinkRTT","downlinkRTT","upLoss","uplinkLoss","downLoss","downlinkLoss","bytes_sent","bytes_received","localStatistics","msg_audio_status","uint32_audio_codec_bitrate","audioLevel","uint32_audio_level","msg_video_status","uint32_video_stream_type","uint32_video_codec_bitrate","uint32_video_width","uint32_video_height","uint32_video_enc_fps","remoteStatistics","msg_user_info","str_identifier","uint32_video_dec_fps","_handleReceiveMode","_checkTrackToPublish","exitRoom","stopLocalAudio","_localVideoTrack","stopLocalVideo","_localScreenTrack","stopScreenShare","_updateAudioPlayOption","playOption","_localAudioConfig","prevConfig","qosPreference","contentHint","_updateVideoPlayOption","_localVideoConfig","_stopScreenShare","_localScreenConfig","_startRemoteAudio","_remoteAudioMuteMap","startPlugin","updatePlugin","stopPlugin","_eventListened","getVideoTrack","setCurrentSpeaker","leave","sendSEI","getCameraList","getMicrophoneList","getSpeakerList","jM","getSize","callCountInSecond","totalSizeInSecond","isTimes","GM","WM","_set","JM","microphone","camera","checkSystemResult","webRTC","webSocket","screenShare","webAudio","h264Encode","h264Decode","vp8Encode","vp8Decode","trtc","KM","YM","zM","qM","QM","XM","ZM","$M","eV","tV","CHANNEL_SETUP_RESULT","CHANNEL_RECONNECT_RESULT","JOIN_ROOM_RESULT","PEER_JOIN","PEER_LEAVE","STREAM_ADDED","STREAM_REMOVED","UPLINK_NETWORK_STATS","UPDATE_REMOTE_MUTE_STAT","PUBLISH_RESULT","PUBLISH_STATE_CHANGE_RESULT","UNPUBLISH_RESULT","SUBSCRIBE_RESULT","UNSUBSCRIBE_RESULT","SUBSCRIBE_CHANGE_RESULT","MUTE_RESULT","UPDATE_OFFER_RESULT","START_PUBLISH_TENCENT_CDN_RES","STOP_PUBLISH_TENCENT_CDN_RES","START_PUBLISH_GIVEN_CDN_RES","STOP_PUBLISH_GIVEN_CDN_RES","START_MIX_TRANSCODE_RES","STOP_MIX_TRANSCODE_RES","USER_LIST_RES","SWITCH_ROLE_RES","UPDATE_CONSTRAINT_CONFIG_RES","REBUILD_PEER_CONNECTION_RES","SPC_PUBLISH_RESULT","SPC_SUBSCRIBE_RESULT","ABILITY_STATUS_REPORT_RESULT","iV","nV","rV","oV","sV","aV","cV","lV","dV","uV","hV","pV","_V","mV","fV","gV","TV","EV","SV","IV","vV","yV","AV","RV","CV","bV","kV","NV","DV","clientIp","signalIp","relayIp","relayInnerIp","relayPort","keepAliveClient","enableSPC","keepAlive","backupUrl","_seq","urlParam","_urlWithParam","_backupUrlWithParam","isConnected","_currentState","isConnecting","isOnline","_lastMessageTime","_prevTime","emitConnectionStateChanged","_socket","bindSocket","_backupTimer","tryConnectBackup","_backupSocket","unbindAndCloseSocket","onopen","onclose","onerror","unbindSocket","clearBackupTimer","clearReconnectionTimer","_reconnectionTimer","isReconnecting","_signalInfo","stopReconnection","_socketInUse","wasClean","reconnect","cmd","signalInnerIp","svrTime","signalInfo","relayOuterIp","syncUserList","checkConnectionsToReconnect","reJoin","_reconnectionCount","getReconnectionUrl","isLeft","seq","sendWaitForResponse","responseCommand","enableLog","sendWaitForResponseWithRetry","retryTimeout","getCurrentState","getSignalInfo","stopKeepAliveIn","OV","wV","dataView","isSEI","addPreventionByte","removePreventionByte","seiPayloadStartIndex","seiPayload","PV","_connection","_isUplink","isRunning","_mainVideoAbortController","_mainVideoSenderOrReceiver","createEncodedStreams","readable","TransformStream","encodeVideoFrame","decodeVideoFrame","AbortController","pipeThrough","pipeTo","restart","_abortMap","onSEIMessage","handleEncodedStreams","getPeerConnection","clearUnusedSenderOrReceiver","pipeSenderOrReceiver","_seiPayloadType","_seiMessageList","hasSEI","isEmptyFrame","getNaluCount","isH264","encodeSEINalu","enqueue","LV","MV","VV","xV","UV","_sdpSemantics","isUplink","_signalChannel","signalChannel","_enableSEI","_sei","beforeConnect","afterConnect","_isFirstConnection","_isReconnecting","initialize","encodedInsertableStreams","getIceServers","getIceTransportPolicy","bundlePolicy","rtcpMuxPolicy","tcpCandidatePolicy","IceTransportsType","_peerConnection","onconnectionstatechange","onConnectionStateChange","_emitter","closePeerConnection","emitConnectionStateChangedEvent","_waitForPeerConnectionConnectedPromiseReject","getDTLSTransportState","transport","startReconnection","_isErrorObserved","logSelectedCandidate","getRoom","getUserId","getTinyId","localCandidateId","remoteCandidateId","candidateType","networkType","_localAddress","_remoteAddress","waitForPeerConnectionConnected","_waitForPeerConnectionConnectedPromise","getReconnectionCount","beforeReconnect","getIsReconnecting","remoteDescription","FV","BV","HV","jV","GV","auxiliary","subscribeState","smallVideo","_flag","hasMainStream","hasAuxStream","isMainStreamSubscribed","isAuxStreamSubscribed","isSmallStreamSubscribed","isBigStreamSubscribed","isStreamUnpublished","ontrack","onTrack","uninstallEvents","addRRTRLine","addSPSDescription","removeSDESDescription","ext","isSubscriptionStateNotChanged","_isSDPExchanging","sendSubscription","remoteTracks","srcTinyId","srcUserId","bigVideo","auxVideo","exchangeSDP","localDescription","onSubscribeResult","voiceActivityDetection","codec","rtcpFb","updateSSRC","getMainStreamVideoTrackId","getAuxStreamVideoTrackId","setDelay","audioDelay","videoDelay","WV","JV","KV","YV","videoCodec","videoBps","videoFps","audioCodec","audioFs","audioChannel","audioBps","smallVideoWidth","smallVideoHeight","smallVideoFps","smallVideoBps","auxVideoWidth","auxVideoHeight","auxVideoFps","auxVideoBps","_audioManager","localMainAudioTrack","localMainVideoTrack","isAuxStreamPublished","localAuxVideoTrack","localAuxAudioTrack","publishState","handleConnectionStateChange","_publishingLocalVideoTrack","localAudioTrack","localVideoTrack","isAuxiliary","_publishingLocalAudioTrack","_isPublishingAux","smallTrack","sendMediaSettings","publishByTransceiver","publishByAddTrack","installTrackMuteEvents","sendMutedFlag","setBandwidth","setTransceiverDirection","doPublishChange","uninstallTrackMuteEvents","doUnpublish","_mediaSettings","constraintConfig","checkPublishResultCode","updateMediaSettings","addTrackByTransceiver","addTrackBySender","updateOffer","removeSender","isNeedToResetOfferOrder","mid","removeTrackByTransceiver","removeTrackBySender","setSDPDirection","acceptAnswer","updateVideoBandwidthRestriction","updateAudioBandwidthRestriction","removeBandwidthRestriction","removeVideoOrientation","doExchangeSDP","smallStreamConfig","ssrcGroups","getVideoTrackId","getSSRC","zV","qV","QV","_prevReportTime","_prevEncoderImplementation","_prevQualityLimitationReason","_prevAuxQualityLimitationReason","statInterval","getSenderStats","totalAudioEnergy","fpsCapture","_spcStats","keyFramesEncoded","nackCount","pliCount","retransmittedPacketsSent","totalEncodeTime","totalPacketSendDelay","encoderImplementation","qualityLimitationReason","currentRoundTripTime","totalBytesSent","framesPerSecond","micAudioLevel","getReceiverStats","isSmallSubscribed","jitter","insertedSamplesForDeceleration","removedSamplesForAcceleration","fpsDecoded","jitterBufferEmittedCount","decoderImplementation","_prevDecoderImplementationMap","totalBytesReceived","singlePC","senderStats","receiverStats","getDifferenceValue","prepareReport","stats","report","freezeMap","uint32_audio_energy","uint32_mic_audio_level","uint32_video_codec_fps","uint32_video_capture_fps","uint32_key_frame_count","uint32_nack_count","uint32_pli_count","uint32_encode_cost","uint32_send_packet_cost","uint32_video_arq_packets","uint32_bitrate","uint32_lost","uint64_tinyid","uint32_audio_total_bitrate","uint32_audio_receive","uint32_audio_origin_lost","uint32_video_receive_fps","uint32_video_receive","uint32_video_origin_lost","uint32_video_block_time","_prevReport","getStatsReport","uplinkConnection","downlinkConnections","uint32_audio_format","uint32_audio_sample_rate","uint32_audio_final_lost","XV","ZV","uplinkNetworkQuality","_uplinkNetworkQuality","_uplinkRTT","_uplinkLoss","downlinkNetworkQuality","_downlinkNetworkQuality","loss","getAverageLossAndRTT","_downlinkLossAndRTTMap","handleUplinkNetworkQuality","handleSignalConnectionStateChange","updateDelay","isPeerConnectionDisconnected","expectAudPkg","expectVidPkg","recvAudPkg","recvVidPkg","handleDownlinkNetworkQuality","totalPacketsLost","totalPacketsReceived","getStat","_downlinkPrevStatMap","_downlinkRTT","_downlinkLoss","handleUplinkConnectionStateChange","setUplinkConnection","uplink","downlinks","EVENT_NETWORK_QUALITY","downlinkInfo","tinyIdToUserIdMap","$V","ex","tx","stopRetry","ix","validateArgs","nx","_apiSuccessRateMap","_frameWorkType","_component","connectionType","_language","_keyPrefix","initData","_intervalId","setStorage","_storageKey","_firstPublishedUserList","totalUplinkRTT","totalUplinkLoss","totalDownlinkRTTAndLossMap","_basicInfo","string_sdk_version","uint32_os_type","string_device_name","string_http_user_agent","string_os_version","uint32_avg_rtt","uint32_avg_up_loss","uint32_scene","uint32_joining_duration","uint32_networkType","uint32_framework","uint32_component","uint32_connection_type","uint32_caller_coding_language","string_domain","_pathJoinRoom","uint64_start_time","uint64_send_request_acc_ip_cmd_start_time","uint64_send_request_acc_ip_cmd_end_time","uint64_send_request_enter_room_cmd_start_time","uint64_send_request_enter_room_cmd_end_time","uint64_send_first_video_frame_time","uint64_recv_userlist_time","uint64_end_time","int32_send_request_acc_ip_cmd_ret","int32_send_request_enter_room_cmd_ret","int32_end_ret","_pathLeaveRoom","uint64_send_request_exit_room_cmd_start_time","uint64_send_request_exit_room_cmd_end_time","int32_send_request_exit_room_cmd_ret","_localStreamStat","totalVideoBitrate","totalVideoFPS","totalVideoHeight","totalVideoWidth","totalAudioLevel","videoCount","audioLevelCount","publishStartTime","statsToReport","uint32_audio_capture_db","uint32_video_big_capture_fps","uint32_video_big_bitrate","uint32_video_big_resolution","_pathMainVideoMap","_pathMainAudioMap","_pathAuxiliaryMap","_remoteStreamStatMap","addEvent","handleUnload","handleLeaveSuccess","handleJoinStart","handleJoinScheduleSuccess","handleSignalConnectionStart","handleSignalConnectionEnd","handleJoinSendCMD","handleJoinReceivedCMDResponce","handleJoinSuccess","handleJoinFailed","handleLeaveStart","handleLeaveSendCMD","handleTrackCaptureStart","handleTrackCaptureSuccess","handleTrackCaptureFailed","handlePublishStart","handleSendFirstVideoFrame","handleSubscribeStart","handleSubscribed","handlePlayStart","handleVideoLoadedData","hitTest","handleAudioPlaying","handleVideoPlaying","handleNetworkQuality","handleHeartbeatStats","handleReceivedPublishUserList","handleRemoteStreamAdded","handleAPISuccessRate","int32_ice_cost","ice","int32_dtls_cost","dtls","int32_peer_connection_cost","peerConnection","detailCost","totalCost","local","dns","tcp","tls","request","int32_schedule_cost","int32_schedule_local","int32_schedule_dns","int32_schedule_tcp","int32_schedule_tls","int32_schedule_request","int32_schedule_response","publishedUserList","totalAudioBitrate","totalLoss","audioCount","networkQualityCount","streamAddedTime","subscribeStartTime","subscribedTime","playStreamTime","sx","ax","uint32_stream_type","remotePublishedUser","uint64_start_enter_time","uint64_render_first_frame_time","uint64_combine_first_frame_time","sendSubscribeCMDTime","uint64_play_first_frame_time","uint32_video_render_first","totalRTT","totalVideoDelay","videoDelayCount","totalAudioDelay","audioDelayCount","videoJitterBufferDelay","uint32_video_consume_render_rate","audioJitterBufferDelay","uint64_init_audio_start_time","uint64_init_camera_start_time","uint64_init_audio_end_time","int32_init_audio_ret","uint64_init_camera_end_time","int32_init_camera_ret","NotFoundError","NotAllowedError","NotReadableError","OverConstrainedError","AbortError","SecurityError","cx","uint32_function_request_type","uint32_avg_value","uint32_max_value","uint32_request_count","uint32_success_count","msg_error_code","int32_error_code","error_count","hasVideoFlag","hasAudioFlag","hasAuxFlag","getReportData","msg_path_enter_room","uint32_avg_down_loss","uint32_audio_network_p2p_delay","uint32_p2p_delay","uint32_video_network_p2p_delay","uint32_video_avg_fps","uint32_video_avg_bitrate","uint32_audio_recv_bitrate","uint32_audio_bitrate","uint32_audio_play_db","callDurationCalculator","uint32_audio_play_time","getDuration","uint32_video_play_time","ox","badCaseDetector","dataFreeze","getDataFreezeDuration","renderFreeze","getRenderFreezeDuration","uint32_video_block_count","uint32_video_external_block_time","isBlackStream","uint32_video_black_screen_subjective","uint32_sdk_app_id","msg_basic_info","uint32_acc_ip","uint32_client_ip","uint32_acc_port","uint64_timestamp","uint32_seq","msg_path_exit_room","msg_path_recv_video","msg_quality_statistics","str_room_name","msg_path_recv_audio","uint32_info_client_ip","error_code","msg_local_statistics","msg_function_request_stats","sendBeacon","setConnectionType","rx","uint32_audio_block_time","uint32_audio_block_count","str_tinyid","uint32_role","startMixTranscode","stopMixTranscode","startPublishCDNStream","stopPublishCDNStream","PeerConnectionConnect","PeerConnectionReconnect","WebsocketConnect","WebsocketReconnect","SPCConnect","SPCReconnect","videoCtxGl","videoCtxGlRecover","videoCtx2d","lx","dx","_startTime","_endTime","endTime","ux","_durationMap","handleStreamStopped","stopDurationItem","addDuractionItem","isRecording","getDurationMap","hx","onPlayTrackStart","stopDataFreeze","_isVideoPlayingEventFiredMap","onVideoTrackMuted","onVideoTrackUnmuted","onHearBeatReport","_renderFreezeMap","_dataFreezeMap","durationItemList","isFreezing","handleRenderFreeze","_monitorFreezeData","getTotalDuration","isFreeze","freezeTimeline","startTime","renderFreezeTotal","getMonitorFreeze","resetMonitor","px","_x","mx","fx","isCached","msg","FormData","Ix","Ex","loggerDomain","scheduleCache","getEntriesByType","transferSize","domainLookupStart","domainLookupEnd","requestStart","secureConnectionStart","connectStart","responseStart","responseEnd","gx","main","backup","Tx","Sx","vx","yx","Ax","Rx","totalFrames","matchInputSize","_gl","createTexture","texture","texCoordBuffer","positionBuffer","useTexture","texParameteri","TEXTURE_2D","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","useFbo","fbo","createFramebuffer","useBufferFrame","texImage2D","RGBA","UNSIGNED_BYTE","framebufferTexture2D","FRAMEBUFFER","COLOR_ATTACHMENT0","useDefaultProgram","program","defaultProgam","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","createProgram","ctx2d","create2d","transferControlToOffscreen","image","_canvas","addInput","output","resize","requestFrame","render","render2d","draw2d","deleteBuffer","deleteFramebuffer","deleteTexture","deleteShader","deleteProgram","useInputTexture","useProgram","bindFramebuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","setTexBuffer","setPosBuffer","changeBufferData","setAttributes","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","getVertexPoint","layout2texCoords","ImageData","putImageData","getInfo","lastInfo","Cx","bx","_sequence","getError","NO_ERROR","a_position","a_texCoord","drawArrays","TRIANGLE_STRIP","kx","_videoTrack","setSize","Nx","resolution","Dx","_render","HTMLVideoElement","getVideoPlaybackQuality","totalVideoFrames","_totalFrames","dropFrames","HTMLImageElement","ImageBitmap","_image","texSubImage2D","Ox","_mediaStream","wx","glFaild","hasAlpha","alpha","use2d","BLEND","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","available","createVideoTrackSource","createVideoTrackDestination","createVideoImageSource","viewport","shaderSource","compileShader","attachShader","linkProgram","activeTexture","TEXTURE0","bindTexture","Px","Lx","scale","translate","Mx","node","layout","bottom","Vx","inputs","zIndex","clearColor","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","clearRect","xx","videoContext","smallVideoContext","enablePrintDetail","renderMode","_use2d","_hasWaterMark","_checkId","active","_isMixScreen","_isMirror","checkOrCreateVideoContext","sendCreateResult","smallDestination","smallTrackSource","smallImageSource","initialTrack","_isOpenVirtualBackground","_virtualBackgroundTrack","cameraTrack","_setMainOutput","cameraNode","mirrorNode","mixNode","waterMarkNode","_waterMarkOption","screenTrack","screenNode","setScreenTrack","setCameraTrack","updateAr","loadImage","Image","onload","setWatermark","imageUrl","stopWatermark","mixScreen","enableAr","virtualBackgroundInstance","clone","listen","handleArOutput","updateInputTrack","disableAr","Ux","Fx","domains","_isUsingCachedSchedule","_joinedTimestamp","_isDestroyed","keyPointManager","setEncodedDataProcessingListener","enableAIVoice","proxy_ws","proxy_wt","scheduleProxy","unifiedProxy","proxy_unified","getRemoteAudioStats","getTransportStats","quality","downlinksRTT","getRemoteVideoStats","checkDestroy","Bx","Hx","jx","Gx","Wx","Jx","Kx","serverAbility","clientAbility","offerSDP","enableCustomMessage","extmapAllowMixed","icelite","msidSemantic","semantic","token","ipVer","timing","candidates","extensions","fingerprint","icePwd","iceUfrag","setup","rtcpfb","rtcpMux","rtcpRsize","Yx","parsedOffer","useAllCodec","zx","useVp8","Qx","mids","Xx","DATA_CHANNEL_MESSAGE","RECONNECTED","RECONNECT_FAILED","Zx","$x","eU","tU","iU","iceStartTime","iceEndTime","dtlsStartTime","dtlsEndTime","peerConnectionStartTime","peerConnectionEndTime","_enableCustomMessage","_serverAbility","isVP8EncodeSupported","uplinkSSRC","audioSsrc","audioRtxSsrc","bigVideoSsrc","bigVideoRtxSsrc","smallVideoSsrc","smallVideoRtxSsrc","auxVideoSsrc","auxVideoRtxSsrc","currentState","reconnectionCount","dtlsTransport","offerExtmapAllowMixed","oniceconnectionstatechange","_datachannel","binaryType","rU","setOffer","_clientAbility","useDataChannel","setAnswer","ability","checkPeerConnectionToReconnect","_waitForPCConnectedPromise","_waitForPCConnectedPromiseReject","waitForReconnected","addDownlink","updateLocalAndRemoteSDPConfig","addDownlinkQueue","updateSDP","isNeedToCreateOffer","_parsedAnswer","videoRtx","auxiliaryRtx","_downlinkMIDMap","removeDownlink","removeDownlinkQueue","tinyIdRemoving","getDownlinkMids","setSenderMaxBitrate","setBandwidthBySDP","limit","_updateSDPPromise","_isSDPLogged","currentDirection","sendDataChannelMessage","nU","len","TextDecoder","decode","oU","sU","aU","cU","lU","smallRtx","onSinglePCReconnected","dU","uU","hasSSRC","doSubscribe","customData","hU","pU","_U","mU","fU","gU","TU","EU","_heartbeat","_lastHeartBeatTime","_joinTimeout","_firstPublishedList","_joinReject","_isRelayChanged","_changeBigSmallRecords","_networkType","_turnServers","_syncUserListInterval","_smallStreamConfig","_enableAudioVolumeEvaluation","_audioVolumeIntervalId","_enableMultiAuxStream","_pureAudioPushMode","_stats","userManager","_version","_iceTransportPolicy","enableMultiAuxStream","_initBusinessInfo","isMainAudioPublished","closeDownLinkConnection","createDownlinkConnection","_joinOptions","doJoin","onPublishedUserList","userList","clearJoinTimeout","fallbackToMPC","trtcRole","trtcScene","terminalType","bussinessInfo","_businessInfo","enterRoomTimeout","startHeartbeat","startSyncUserListInterval","publishers","mainUrl","getSignalChannelUrl","doHeartbeat","setSignalChannel","clearNetworkQuality","closeConnections","stopHeartbeat","uint32_event_id","uint64_date","str_userid","str_event_json","str_sdk_version","uint64_datetime","msg_device_info","str_device_name","str_os_version","msg_event_msg","str_acc_ip","str_client_ip","isRelayMaybeFailed","checkSubscribeBigSmallVideo","closeUplink","installDownlinkEvents","stopSyncUserListInterval","getUserList","getAllConnections","doSwitchRole","options","getLocalAudioStats","getLocalVideoStats","sendStartMixTranscode","sendStopMixTranscode","sendStartPublishCDN","sendStopPublishCDN","reSubscribeCount","pureAudioPushMode","Str_uc_params","pure_audio_push_mod","userdefine_record_id","userDefinePushArgs","userdefine_push_args","baseUrl","getUsersig","axios","reserveConferenceList","caseId","kindOf","cache","thing","str","kindOfTest","typeOfTest","isBuffer","val","isArrayBuffer","isArrayBufferView","toStringTag","isDate","isFile","isBlob","isFileList","isStream","isFormData","isURLSearchParams","obj","allOwnKeys","findKey","_key","_global","isContextDefined","caseless","assignValue","targetKey","extend","stripBOM","inherits","superConstructor","props","descriptors","toFlatObject","sourceObj","destObj","propFilter","prop","merged","searchString","toArray","arr","forEachEntry","generator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","p1","p2","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","ret","freezeMethods","toObjectSet","arrayOrString","delimiter","define","noop","toFiniteNumber","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isAsyncFn","isThenable","hasOwnProp","AxiosError","captureStackTrace","number","fileName","lineNumber","columnNumber","customProps","axiosError","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","formData","PlatformFormData","metaTokens","indexes","visitor","defaultVisitor","_Blob","useBlob","convertValue","toISOString","Buffer","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","_pairs","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","protocols","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","toURLEncodedForm","helpers","isNode","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","defaults","transitional","transitionalDefaults","adapter","transformRequest","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","formSerializer","_FormData","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","rawHeaders","parsed","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","parseHeaders","matcher","deleted","deleteHeader","normalized","targets","asStrings","first","computed","accessor","internals","accessors","defineAccessor","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","expires","secure","cookie","toGMTString","read","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","msie","urlParsingNode","originURL","resolveURL","requestURL","parseProtocol","speedometer","samplesCount","timestamps","firstSampleTS","chunkLength","startedAt","bytesCount","passed","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","inRange","progress","estimated","isXHRAdapterSupported","requestData","requestHeaders","onCanceled","withXSRFToken","cancelToken","signal","Boolean","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","paramsSerializer","responseURL","onabort","ECONNABORTED","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","isURLSameOrigin","xsrfValue","cookies","setRequestHeader","withCredentials","onDownloadProgress","onUploadProgress","cancel","knownAdapters","httpAdapter","xhr","xhrAdapter","renderReason","isResolvedHandle","getAdapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","opt","validator","ERR_BAD_OPTION","formatMessage","desc","opts","ERR_DEPRECATED","Axios","instanceConfig","interceptors","configOrUrl","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","spread","isAxiosError","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","createInstance","defaultConfig","Cancel","promises","formToJSON","server","res","getWidth","getHeight","userRow","getWidthPhone","getModile","sUserAgent","bIsIpad","bIsIphoneOs","bIsMidp","bIsUc7","bIsUc","bIsAndroid","bIsCE","bIsWM","$TypeError","Prototype","IndexSizeError","DOMStringSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoDataAllowedError","NoModificationAllowedError","NotSupportedError","InUseAttributeError","InvalidModificationError","NamespaceError","InvalidAccessError","ValidationError","TypeMismatchError","NetworkError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError","uncurryThis","$Error","TEST","arg","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","dropEntries","prepareStackTrace","isCallable","$this","dummy","Wrapper","NewTarget","NewTargetPrototype","argument","$default","anObject","DESCRIPTORS","defineBuiltInAccessor","regExpFlags","fails","RegExpPrototype","FORCED","INDICES_SUPPORT","calls","expected","addGetter","chr","pairs","getBuiltIn","createPropertyDescriptor","anInstance","inheritIfRequired","normalizeStringArgument","DOMExceptionConstants","clearErrorStack","IS_PURE","DOM_EXCEPTION","NativeDOMException","$DOMException","DOMExceptionPrototype","argumentsLength","ERROR_HAS_STACK","DOM_EXCEPTION_HAS_STACK","BUGGY_DESCRIPTOR","FORCED_CONSTRUCTOR","PolyfilledDOMException","PolyfilledDOMExceptionPrototype","constant","constantName"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/315.35b56b98.js","mappings":"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","sources":["webpack://nouiroom/./node_modules/trtc-sdk-v5/trtc.js","webpack://nouiroom/./src/api/home.js","webpack://nouiroom/./node_modules/axios/lib/helpers/bind.js","webpack://nouiroom/./node_modules/axios/lib/utils.js","webpack://nouiroom/./node_modules/axios/lib/core/AxiosError.js","webpack://nouiroom/./node_modules/axios/lib/helpers/null.js","webpack://nouiroom/./node_modules/axios/lib/helpers/toFormData.js","webpack://nouiroom/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://nouiroom/./node_modules/axios/lib/helpers/buildURL.js","webpack://nouiroom/./node_modules/axios/lib/core/InterceptorManager.js","webpack://nouiroom/./node_modules/axios/lib/defaults/transitional.js","webpack://nouiroom/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://nouiroom/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://nouiroom/./node_modules/axios/lib/platform/browser/classes/Blob.js","webpack://nouiroom/./node_modules/axios/lib/platform/browser/index.js","webpack://nouiroom/./node_modules/axios/lib/platform/common/utils.js","webpack://nouiroom/./node_modules/axios/lib/platform/index.js","webpack://nouiroom/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://nouiroom/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://nouiroom/./node_modules/axios/lib/defaults/index.js","webpack://nouiroom/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://nouiroom/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://nouiroom/./node_modules/axios/lib/core/transformData.js","webpack://nouiroom/./node_modules/axios/lib/cancel/isCancel.js","webpack://nouiroom/./node_modules/axios/lib/cancel/CanceledError.js","webpack://nouiroom/./node_modules/axios/lib/core/settle.js","webpack://nouiroom/./node_modules/axios/lib/helpers/cookies.js","webpack://nouiroom/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://nouiroom/./node_modules/axios/lib/helpers/combineURLs.js","webpack://nouiroom/./node_modules/axios/lib/core/buildFullPath.js","webpack://nouiroom/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://nouiroom/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://nouiroom/./node_modules/axios/lib/helpers/speedometer.js","webpack://nouiroom/./node_modules/axios/lib/adapters/xhr.js","webpack://nouiroom/./node_modules/axios/lib/adapters/adapters.js","webpack://nouiroom/./node_modules/axios/lib/core/dispatchRequest.js","webpack://nouiroom/./node_modules/axios/lib/core/mergeConfig.js","webpack://nouiroom/./node_modules/axios/lib/env/data.js","webpack://nouiroom/./node_modules/axios/lib/helpers/validator.js","webpack://nouiroom/./node_modules/axios/lib/core/Axios.js","webpack://nouiroom/./node_modules/axios/lib/cancel/CancelToken.js","webpack://nouiroom/./node_modules/axios/lib/helpers/spread.js","webpack://nouiroom/./node_modules/axios/lib/helpers/isAxiosError.js","webpack://nouiroom/./node_modules/axios/lib/helpers/HttpStatusCode.js","webpack://nouiroom/./node_modules/axios/lib/axios.js","webpack://nouiroom/./src/utils/request.js","webpack://nouiroom/./src/utils/utils.js","webpack://nouiroom/./node_modules/core-js/internals/an-instance.js","webpack://nouiroom/./node_modules/core-js/internals/dom-exception-constants.js","webpack://nouiroom/./node_modules/core-js/internals/error-stack-clear.js","webpack://nouiroom/./node_modules/core-js/internals/inherit-if-required.js","webpack://nouiroom/./node_modules/core-js/internals/normalize-string-argument.js","webpack://nouiroom/./node_modules/core-js/internals/regexp-flags.js","webpack://nouiroom/./node_modules/core-js/modules/es.regexp.flags.js","webpack://nouiroom/./node_modules/core-js/modules/web.dom-exception.stack.js"],"sourcesContent":["!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(){function e(e,t){return t.forEach((function(t){t&&\"string\"!=typeof t&&!Array.isArray(t)&&Object.keys(t).forEach((function(i){if(\"default\"!==i&&!(i in e)){var n=Object.getOwnPropertyDescriptor(t,i);Object.defineProperty(e,i,n.get?n:{enumerable:!0,get:function(){return t[i]}})}}))})),Object.freeze(e)}var t=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{},i=function(e){try{return!!e()}catch(t){return!0}},n=!i((function(){var e=function(){}.bind();return\"function\"!=typeof e||e.hasOwnProperty(\"prototype\")})),r=n,o=Function.prototype,s=o.call,a=r&&o.bind.bind(s,s),c=r?a:function(e){return function(){return s.apply(e,arguments)}},l=c,d=l({}.toString),u=l(\"\".slice),h=function(e){return u(d(e),8,-1)},p=i,_=h,m=Object,f=c(\"\".split),g=p((function(){return!m(\"z\").propertyIsEnumerable(0)}))?function(e){return\"String\"==_(e)?f(e,\"\"):m(e)}:m,T=function(e){return null==e},E=T,S=TypeError,I=function(e){if(E(e))throw S(\"Can't call method on \"+e);return e},v=g,y=I,A=function(e){return v(y(e))},R=function(e){return e&&e.Math==Math&&e},C=R(\"object\"==typeof globalThis&&globalThis)||R(\"object\"==typeof window&&window)||R(\"object\"==typeof self&&self)||R(\"object\"==typeof t&&t)||function(){return this}()||Function(\"return this\")(),b={},k={get exports(){return b},set exports(e){b=e}},N=C,D=Object.defineProperty,O=function(e,t){try{D(N,e,{value:t,configurable:!0,writable:!0})}catch(i){N[e]=t}return t},w=O,P=\"__core-js_shared__\",L=C[P]||w(P,{}),M=L;(k.exports=function(e,t){return M[e]||(M[e]=void 0!==t?t:{})})(\"versions\",[]).push({version:\"3.30.0\",mode:\"global\",copyright:\"© 2014-2023 Denis Pushkarev (zloirock.ru)\",license:\"https://github.com/zloirock/core-js/blob/v3.30.0/LICENSE\",source:\"https://github.com/zloirock/core-js\"});var V,x,U=I,F=Object,B=function(e){return F(U(e))},H=B,j=c({}.hasOwnProperty),G=Object.hasOwn||function(e,t){return j(H(e),t)},W=c,J=0,K=Math.random(),Y=W(1..toString),z=function(e){return\"Symbol(\"+(void 0===e?\"\":e)+\")_\"+Y(++J+K,36)},q=\"undefined\"!=typeof navigator&&String(navigator.userAgent)||\"\",Q=C,X=q,Z=Q.process,$=Q.Deno,ee=Z&&Z.versions||$&&$.version,te=ee&&ee.v8;te&&(x=(V=te.split(\".\"))[0]>0&&V[0]<4?1:+(V[0]+V[1])),!x&&X&&(!(V=X.match(/Edge\\/(\\d+)/))||V[1]>=74)&&(V=X.match(/Chrome\\/(\\d+)/))&&(x=+V[1]);var ie=x,ne=ie,re=i,oe=!!Object.getOwnPropertySymbols&&!re((function(){var e=Symbol();return!String(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&ne&&ne<41})),se=oe&&!Symbol.sham&&\"symbol\"==typeof Symbol.iterator,ae=b,ce=G,le=z,de=oe,ue=se,he=C.Symbol,pe=ae(\"wks\"),_e=ue?he.for||he:he&&he.withoutSetter||le,me=function(e){return ce(pe,e)||(pe[e]=de&&ce(he,e)?he[e]:_e(\"Symbol.\"+e)),pe[e]},fe=\"object\"==typeof document&&document.all,ge={all:fe,IS_HTMLDDA:void 0===fe&&void 0!==fe},Te=ge.all,Ee=ge.IS_HTMLDDA?function(e){return\"function\"==typeof e||e===Te}:function(e){return\"function\"==typeof e},Se=Ee,Ie=ge.all,ve=ge.IS_HTMLDDA?function(e){return\"object\"==typeof e?null!==e:Se(e)||e===Ie}:function(e){return\"object\"==typeof e?null!==e:Se(e)},ye=ve,Ae=String,Re=TypeError,Ce=function(e){if(ye(e))return e;throw Re(Ae(e)+\" is not an object\")},be={},ke=!i((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]})),Ne=ke&&i((function(){return 42!=Object.defineProperty((function(){}),\"prototype\",{value:42,writable:!1}).prototype})),De={},Oe=ve,we=C.document,Pe=Oe(we)&&Oe(we.createElement),Le=function(e){return Pe?we.createElement(e):{}},Me=Le,Ve=!ke&&!i((function(){return 7!=Object.defineProperty(Me(\"div\"),\"a\",{get:function(){return 7}}).a})),xe=n,Ue=Function.prototype.call,Fe=xe?Ue.bind(Ue):function(){return Ue.apply(Ue,arguments)},Be=C,He=Ee,je=function(e,t){return arguments.length<2?(i=Be[e],He(i)?i:void 0):Be[e]&&Be[e][t];var i},Ge=c({}.isPrototypeOf),We=je,Je=Ee,Ke=Ge,Ye=Object,ze=se?function(e){return\"symbol\"==typeof e}:function(e){var t=We(\"Symbol\");return Je(t)&&Ke(t.prototype,Ye(e))},qe=String,Qe=function(e){try{return qe(e)}catch(t){return\"Object\"}},Xe=Ee,Ze=Qe,$e=TypeError,et=function(e){if(Xe(e))return e;throw $e(Ze(e)+\" is not a function\")},tt=et,it=T,nt=function(e,t){var i=e[t];return it(i)?void 0:tt(i)},rt=Fe,ot=Ee,st=ve,at=TypeError,ct=Fe,lt=ve,dt=ze,ut=nt,ht=function(e,t){var i,n;if(\"string\"===t&&ot(i=e.toString)&&!st(n=rt(i,e)))return n;if(ot(i=e.valueOf)&&!st(n=rt(i,e)))return n;if(\"string\"!==t&&ot(i=e.toString)&&!st(n=rt(i,e)))return n;throw at(\"Can't convert object to primitive value\")},pt=TypeError,_t=me(\"toPrimitive\"),mt=function(e,t){if(!lt(e)||dt(e))return e;var i,n=ut(e,_t);if(n){if(void 0===t&&(t=\"default\"),i=ct(n,e,t),!lt(i)||dt(i))return i;throw pt(\"Can't convert object to primitive value\")}return void 0===t&&(t=\"number\"),ht(e,t)},ft=mt,gt=ze,Tt=function(e){var t=ft(e,\"string\");return gt(t)?t:t+\"\"},Et=ke,St=Ve,It=Ne,vt=Ce,yt=Tt,At=TypeError,Rt=Object.defineProperty,Ct=Object.getOwnPropertyDescriptor,bt=\"enumerable\",kt=\"configurable\",Nt=\"writable\";De.f=Et?It?function(e,t,i){if(vt(e),t=yt(t),vt(i),\"function\"==typeof e&&\"prototype\"===t&&\"value\"in i&&Nt in i&&!i[Nt]){var n=Ct(e,t);n&&n[Nt]&&(e[t]=i.value,i={configurable:kt in i?i[kt]:n[kt],enumerable:bt in i?i[bt]:n[bt],writable:!1})}return Rt(e,t,i)}:Rt:function(e,t,i){if(vt(e),t=yt(t),vt(i),St)try{return Rt(e,t,i)}catch(n){}if(\"get\"in i||\"set\"in i)throw At(\"Accessors not supported\");return\"value\"in i&&(e[t]=i.value),e};var Dt=Math.ceil,Ot=Math.floor,wt=Math.trunc||function(e){var t=+e;return(t>0?Ot:Dt)(t)},Pt=wt,Lt=function(e){var t=+e;return t!=t||0===t?0:Pt(t)},Mt=Lt,Vt=Math.max,xt=Math.min,Ut=function(e,t){var i=Mt(e);return i<0?Vt(i+t,0):xt(i,t)},Ft=Lt,Bt=Math.min,Ht=function(e){return e>0?Bt(Ft(e),9007199254740991):0},jt=Ht,Gt=function(e){return jt(e.length)},Wt=A,Jt=Ut,Kt=Gt,Yt=function(e){return function(t,i,n){var r,o=Wt(t),s=Kt(o),a=Jt(n,s);if(e&&i!=i){for(;s>a;)if((r=o[a++])!=r)return!0}else for(;s>a;a++)if((e||a in o)&&o[a]===i)return e||a||0;return!e&&-1}},zt={includes:Yt(!0),indexOf:Yt(!1)},qt={},Qt=G,Xt=A,Zt=zt.indexOf,$t=qt,ei=c([].push),ti=function(e,t){var i,n=Xt(e),r=0,o=[];for(i in n)!Qt($t,i)&&Qt(n,i)&&ei(o,i);for(;t.length>r;)Qt(n,i=t[r++])&&(~Zt(o,i)||ei(o,i));return o},ii=[\"constructor\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"toLocaleString\",\"toString\",\"valueOf\"],ni=ti,ri=ii,oi=Object.keys||function(e){return ni(e,ri)},si=ke,ai=Ne,ci=De,li=Ce,di=A,ui=oi;be.f=si&&!ai?Object.defineProperties:function(e,t){li(e);for(var i,n=di(t),r=ui(t),o=r.length,s=0;o>s;)ci.f(e,i=r[s++],n[i]);return e};var hi,pi=je(\"document\",\"documentElement\"),_i=z,mi=b(\"keys\"),fi=function(e){return mi[e]||(mi[e]=_i(e))},gi=Ce,Ti=be,Ei=ii,Si=qt,Ii=pi,vi=Le,yi=\"prototype\",Ai=\"script\",Ri=fi(\"IE_PROTO\"),Ci=function(){},bi=function(e){return\"<\"+Ai+\">\"+e+\"\"},ki=function(e){e.write(bi(\"\")),e.close();var t=e.parentWindow.Object;return e=null,t},Ni=function(){try{hi=new ActiveXObject(\"htmlfile\")}catch(r){}var e,t,i;Ni=\"undefined\"!=typeof document?document.domain&&hi?ki(hi):(t=vi(\"iframe\"),i=\"java\"+Ai+\":\",t.style.display=\"none\",Ii.appendChild(t),t.src=String(i),(e=t.contentWindow.document).open(),e.write(bi(\"document.F=Object\")),e.close(),e.F):ki(hi);for(var n=Ei.length;n--;)delete Ni[yi][Ei[n]];return Ni()};Si[Ri]=!0;var Di=Object.create||function(e,t){var i;return null!==e?(Ci[yi]=gi(e),i=new Ci,Ci[yi]=null,i[Ri]=e):i=Ni(),void 0===t?i:Ti.f(i,t)},Oi=me,wi=Di,Pi=De.f,Li=Oi(\"unscopables\"),Mi=Array.prototype;null==Mi[Li]&&Pi(Mi,Li,{configurable:!0,value:wi(null)});var Vi,xi,Ui,Fi=function(e){Mi[Li][e]=!0},Bi={},Hi=Ee,ji=C.WeakMap,Gi=Hi(ji)&&/native code/.test(String(ji)),Wi=function(e,t){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:t}},Ji=De,Ki=Wi,Yi=ke?function(e,t,i){return Ji.f(e,t,Ki(1,i))}:function(e,t,i){return e[t]=i,e},zi=Gi,qi=C,Qi=ve,Xi=Yi,Zi=G,$i=L,en=fi,tn=qt,nn=\"Object already initialized\",rn=qi.TypeError,on=qi.WeakMap;if(zi||$i.state){var sn=$i.state||($i.state=new on);sn.get=sn.get,sn.has=sn.has,sn.set=sn.set,Vi=function(e,t){if(sn.has(e))throw rn(nn);return t.facade=e,sn.set(e,t),t},xi=function(e){return sn.get(e)||{}},Ui=function(e){return sn.has(e)}}else{var an=en(\"state\");tn[an]=!0,Vi=function(e,t){if(Zi(e,an))throw rn(nn);return t.facade=e,Xi(e,an,t),t},xi=function(e){return Zi(e,an)?e[an]:{}},Ui=function(e){return Zi(e,an)}}var cn={set:Vi,get:xi,has:Ui,enforce:function(e){return Ui(e)?xi(e):Vi(e,{})},getterFor:function(e){return function(t){var i;if(!Qi(t)||(i=xi(t)).type!==e)throw rn(\"Incompatible receiver, \"+e+\" required\");return i}}},ln={},dn={},un={}.propertyIsEnumerable,hn=Object.getOwnPropertyDescriptor,pn=hn&&!un.call({1:2},1);dn.f=pn?function(e){var t=hn(this,e);return!!t&&t.enumerable}:un;var _n=ke,mn=Fe,fn=dn,gn=Wi,Tn=A,En=Tt,Sn=G,In=Ve,vn=Object.getOwnPropertyDescriptor;ln.f=_n?vn:function(e,t){if(e=Tn(e),t=En(t),In)try{return vn(e,t)}catch(i){}if(Sn(e,t))return gn(!mn(fn.f,e,t),e[t])};var yn={},An={get exports(){return yn},set exports(e){yn=e}},Rn=ke,Cn=G,bn=Function.prototype,kn=Rn&&Object.getOwnPropertyDescriptor,Nn=Cn(bn,\"name\"),Dn={EXISTS:Nn,PROPER:Nn&&\"something\"===function(){}.name,CONFIGURABLE:Nn&&(!Rn||Rn&&kn(bn,\"name\").configurable)},On=Ee,wn=L,Pn=c(Function.toString);On(wn.inspectSource)||(wn.inspectSource=function(e){return Pn(e)});var Ln=wn.inspectSource,Mn=c,Vn=i,xn=Ee,Un=G,Fn=ke,Bn=Dn.CONFIGURABLE,Hn=Ln,jn=cn.enforce,Gn=cn.get,Wn=String,Jn=Object.defineProperty,Kn=Mn(\"\".slice),Yn=Mn(\"\".replace),zn=Mn([].join),qn=Fn&&!Vn((function(){return 8!==Jn((function(){}),\"length\",{value:8}).length})),Qn=String(String).split(\"String\"),Xn=An.exports=function(e,t,i){\"Symbol(\"===Kn(Wn(t),0,7)&&(t=\"[\"+Yn(Wn(t),/^Symbol\\(([^)]*)\\)/,\"$1\")+\"]\"),i&&i.getter&&(t=\"get \"+t),i&&i.setter&&(t=\"set \"+t),(!Un(e,\"name\")||Bn&&e.name!==t)&&(Fn?Jn(e,\"name\",{value:t,configurable:!0}):e.name=t),qn&&i&&Un(i,\"arity\")&&e.length!==i.arity&&Jn(e,\"length\",{value:i.arity});try{i&&Un(i,\"constructor\")&&i.constructor?Fn&&Jn(e,\"prototype\",{writable:!1}):e.prototype&&(e.prototype=void 0)}catch(r){}var n=jn(e);return Un(n,\"source\")||(n.source=zn(Qn,\"string\"==typeof t?t:\"\")),e};Function.prototype.toString=Xn((function(){return xn(this)&&Gn(this).source||Hn(this)}),\"toString\");var Zn=Ee,$n=De,er=yn,tr=O,ir=function(e,t,i,n){n||(n={});var r=n.enumerable,o=void 0!==n.name?n.name:t;if(Zn(i)&&er(i,o,n),n.global)r?e[t]=i:tr(t,i);else{try{n.unsafe?e[t]&&(r=!0):delete e[t]}catch(s){}r?e[t]=i:$n.f(e,t,{value:i,enumerable:!1,configurable:!n.nonConfigurable,writable:!n.nonWritable})}return e},nr={},rr=ti,or=ii.concat(\"length\",\"prototype\");nr.f=Object.getOwnPropertyNames||function(e){return rr(e,or)};var sr={};sr.f=Object.getOwnPropertySymbols;var ar,cr,lr,dr=je,ur=nr,hr=sr,pr=Ce,_r=c([].concat),mr=dr(\"Reflect\",\"ownKeys\")||function(e){var t=ur.f(pr(e)),i=hr.f;return i?_r(t,i(e)):t},fr=G,gr=mr,Tr=ln,Er=De,Sr=function(e,t,i){for(var n=gr(t),r=Er.f,o=Tr.f,s=0;s=t.length?(e.target=void 0,Qo(void 0,!0)):Qo(\"keys\"==i?n:\"values\"==i?t[n]:[n,t[n]],!1)}),\"values\"),is=Ko.Arguments=Ko.Array;if(Jo(\"keys\"),Jo(\"values\"),Jo(\"entries\"),Xo&&\"values\"!==is.name)try{zo(is,\"name\",{value:\"values\"})}catch(SU){}var ns={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},rs=Le(\"span\").classList,os=rs&&rs.constructor&&rs.constructor.prototype,ss=os===Object.prototype?void 0:os,as=C,cs=ns,ls=ss,ds=ts,us=Yi,hs=me,ps=hs(\"iterator\"),_s=hs(\"toStringTag\"),ms=ds.values,fs=function(e,t){if(e){if(e[ps]!==ms)try{us(e,ps,ms)}catch(SU){e[ps]=ms}if(e[_s]||us(e,_s,t),cs[t])for(var i in ds)if(e[i]!==ds[i])try{us(e,i,ds[i])}catch(SU){e[i]=ds[i]}}};for(var gs in cs)fs(as[gs]&&as[gs].prototype,gs);fs(ls,\"DOMTokenList\");var Ts=\"undefined\"!=typeof process&&\"process\"==h(process),Es=yn,Ss=De,Is=function(e,t,i){return i.get&&Es(i.get,t,{getter:!0}),i.set&&Es(i.set,t,{setter:!0}),Ss.f(e,t,i)},vs=je,ys=Is,As=ke,Rs=me(\"species\"),Cs=function(e){var t=vs(e);As&&t&&!t[Rs]&&ys(t,Rs,{configurable:!0,get:function(){return this}})},bs=Ge,ks=TypeError,Ns=function(e,t){if(bs(t,e))return e;throw ks(\"Incorrect invocation\")},Ds={};Ds[me(\"toStringTag\")]=\"z\";var Os=\"[object z]\"===String(Ds),ws=Ee,Ps=h,Ls=me(\"toStringTag\"),Ms=Object,Vs=\"Arguments\"==Ps(function(){return arguments}()),xs=Os?Ps:function(e){var t,i,n;return void 0===e?\"Undefined\":null===e?\"Null\":\"string\"==typeof(i=function(e,t){try{return e[t]}catch(SU){}}(t=Ms(e),Ls))?i:Vs?Ps(t):\"Object\"==(n=Ps(t))&&ws(t.callee)?\"Arguments\":n},Us=c,Fs=i,Bs=Ee,Hs=xs,js=Ln,Gs=function(){},Ws=[],Js=je(\"Reflect\",\"construct\"),Ks=/^\\s*(?:class|function)\\b/,Ys=Us(Ks.exec),zs=!Ks.exec(Gs),qs=function(e){if(!Bs(e))return!1;try{return Js(Gs,Ws,e),!0}catch(SU){return!1}},Qs=function(e){if(!Bs(e))return!1;switch(Hs(e)){case\"AsyncFunction\":case\"GeneratorFunction\":case\"AsyncGeneratorFunction\":return!1}try{return zs||!!Ys(Ks,js(e))}catch(SU){return!0}};Qs.sham=!0;var Xs,Zs,$s,ea,ta=!Js||Fs((function(){var e;return qs(qs.call)||!qs(Object)||!qs((function(){e=!0}))||e}))?Qs:qs,ia=ta,na=Qe,ra=TypeError,oa=function(e){if(ia(e))return e;throw ra(na(e)+\" is not a constructor\")},sa=Ce,aa=oa,ca=T,la=me(\"species\"),da=function(e,t){var i,n=sa(e).constructor;return void 0===n||ca(i=sa(n)[la])?t:aa(i)},ua=n,ha=Function.prototype,pa=ha.apply,_a=ha.call,ma=\"object\"==typeof Reflect&&Reflect.apply||(ua?_a.bind(pa):function(){return _a.apply(pa,arguments)}),fa=h,ga=c,Ta=function(e){if(\"Function\"===fa(e))return ga(e)},Ea=et,Sa=n,Ia=Ta(Ta.bind),va=function(e,t){return Ea(e),void 0===t?e:Sa?Ia(e,t):function(){return e.apply(t,arguments)}},ya=c([].slice),Aa=TypeError,Ra=function(e,t){if(eo;o++)if((a=g(e[o]))&&Td(Ad,a))return a;return new yd(!1)}n=Ed(e,r)}for(c=h?e.next:n.next;!(l=pd(c,n)).done;){try{a=g(l.value)}catch(SU){Id(n,\"throw\",SU)}if(\"object\"==typeof a&&a&&Td(Ad,a))return a}return new yd(!1)},Cd=me(\"iterator\"),bd=!1;try{var kd=0,Nd={next:function(){return{done:!!kd++}},return:function(){bd=!0}};Nd[Cd]=function(){return this},Array.from(Nd,(function(){throw 2}))}catch(SU){}var Dd=function(e,t){if(!t&&!bd)return!1;var i=!1;try{var n={};n[Cd]=function(){return{next:function(){return{done:i=!0}}}},e(n)}catch(SU){}return i},Od=kc,wd=Wc.CONSTRUCTOR||!Dd((function(e){Od.all(e).then(void 0,(function(){}))})),Pd=Fe,Ld=et,Md=Jc,Vd=bc,xd=Rd;xr({target:\"Promise\",stat:!0,forced:wd},{all:function(e){var t=this,i=Md.f(t),n=i.resolve,r=i.reject,o=Vd((function(){var i=Ld(t.resolve),o=[],s=0,a=1;xd(e,(function(e){var c=s++,l=!1;a++,Pd(i,t,e).then((function(e){l||(l=!0,o[c]=e,--a||n(o))}),r)})),--a||n(o)}));return o.error&&r(o.value),i.promise}});var Ud=xr,Fd=Wc.CONSTRUCTOR,Bd=kc,Hd=je,jd=Ee,Gd=ir,Wd=Bd&&Bd.prototype;if(Ud({target:\"Promise\",proto:!0,forced:Fd,real:!0},{catch:function(e){return this.then(void 0,e)}}),jd(Bd)){var Jd=Hd(\"Promise\").prototype.catch;Wd.catch!==Jd&&Gd(Wd,\"catch\",Jd,{unsafe:!0})}var Kd=Fe,Yd=et,zd=Jc,qd=bc,Qd=Rd;xr({target:\"Promise\",stat:!0,forced:wd},{race:function(e){var t=this,i=zd.f(t),n=i.reject,r=qd((function(){var r=Yd(t.resolve);Qd(e,(function(e){Kd(r,t,e).then(i.resolve,n)}))}));return r.error&&n(r.value),i.promise}});var Xd=Fe,Zd=Jc;xr({target:\"Promise\",stat:!0,forced:Wc.CONSTRUCTOR},{reject:function(e){var t=Zd.f(this);return Xd(t.reject,void 0,e),t.promise}});var $d=Ce,eu=ve,tu=Jc,iu=function(e,t){if($d(e),eu(t)&&t.constructor===e)return t;var i=tu.f(e);return(0,i.resolve)(t),i.promise},nu=xr,ru=Wc.CONSTRUCTOR,ou=iu;je(\"Promise\"),nu({target:\"Promise\",stat:!0,forced:ru},{resolve:function(e){return ou(this,e)}});var su=Ee,au=ve,cu=vo,lu=function(e,t,i){var n,r;return cu&&su(n=t.constructor)&&n!==i&&au(r=n.prototype)&&r!==i.prototype&&cu(e,r),e},du=ve,uu=h,hu=me(\"match\"),pu=function(e){var t;return du(e)&&(void 0!==(t=e[hu])?!!t:\"RegExp\"==uu(e))},_u=xs,mu=String,fu=function(e){if(\"Symbol\"===_u(e))throw TypeError(\"Cannot convert a Symbol value to a string\");return mu(e)},gu=Ce,Tu=function(){var e=gu(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},Eu=Fe,Su=G,Iu=Ge,vu=Tu,yu=RegExp.prototype,Au=function(e){var t=e.flags;return void 0!==t||\"flags\"in yu||Su(e,\"flags\")||!Iu(yu,e)?t:Eu(vu,e)},Ru=i,Cu=C.RegExp,bu=Ru((function(){var e=Cu(\"a\",\"y\");return e.lastIndex=2,null!=e.exec(\"abcd\")})),ku=bu||Ru((function(){return!Cu(\"a\",\"y\").sticky})),Nu=bu||Ru((function(){var e=Cu(\"^r\",\"gy\");return e.lastIndex=2,null!=e.exec(\"str\")})),Du={BROKEN_CARET:Nu,MISSED_STICKY:ku,UNSUPPORTED_Y:bu},Ou=De.f,wu=i,Pu=C.RegExp,Lu=wu((function(){var e=Pu(\".\",\"s\");return!(e.dotAll&&e.exec(\"\\n\")&&\"s\"===e.flags)})),Mu=i,Vu=C.RegExp,xu=Mu((function(){var e=Vu(\"(?b)\",\"g\");return\"b\"!==e.exec(\"b\").groups.a||\"bc\"!==\"b\".replace(e,\"$c\")})),Uu=ke,Fu=C,Bu=c,Hu=Nr,ju=lu,Gu=Yi,Wu=nr.f,Ju=Ge,Ku=pu,Yu=fu,zu=Au,qu=Du,Qu=function(e,t,i){i in e||Ou(e,i,{configurable:!0,get:function(){return t[i]},set:function(e){t[i]=e}})},Xu=ir,Zu=i,$u=G,eh=cn.enforce,th=Cs,ih=Lu,nh=xu,rh=me(\"match\"),oh=Fu.RegExp,sh=oh.prototype,ah=Fu.SyntaxError,ch=Bu(sh.exec),lh=Bu(\"\".charAt),dh=Bu(\"\".replace),uh=Bu(\"\".indexOf),hh=Bu(\"\".slice),ph=/^\\?<[^\\s\\d!#%&*+<=>@^][^\\s!#%&*+<=>@^]*>/,_h=/a/g,mh=/a/g,fh=new oh(_h)!==_h,gh=qu.MISSED_STICKY,Th=qu.UNSUPPORTED_Y,Eh=Uu&&(!fh||gh||ih||nh||Zu((function(){return mh[rh]=!1,oh(_h)!=_h||oh(mh)==mh||\"/a/i\"!=oh(_h,\"i\")})));if(Hu(\"RegExp\",Eh)){for(var Sh=function(e,t){var i,n,r,o,s,a,c=Ju(sh,this),l=Ku(e),d=void 0===t,u=[],h=e;if(!c&&l&&d&&e.constructor===Sh)return e;if((l||Ju(sh,e))&&(e=e.source,d&&(t=zu(h))),e=void 0===e?\"\":Yu(e),t=void 0===t?\"\":Yu(t),h=e,ih&&\"dotAll\"in _h&&(n=!!t&&uh(t,\"s\")>-1)&&(t=dh(t,/s/g,\"\")),i=t,gh&&\"sticky\"in _h&&(r=!!t&&uh(t,\"y\")>-1)&&Th&&(t=dh(t,/y/g,\"\")),nh&&(o=function(e){for(var t,i=e.length,n=0,r=\"\",o=[],s={},a=!1,c=!1,l=0,d=\"\";n<=i;n++){if(\"\\\\\"===(t=lh(e,n)))t+=lh(e,++n);else if(\"]\"===t)a=!1;else if(!a)switch(!0){case\"[\"===t:a=!0;break;case\"(\"===t:ch(ph,hh(e,n+1))&&(n+=2,c=!0),r+=t,l++;continue;case\">\"===t&&c:if(\"\"===d||$u(s,d))throw new ah(\"Invalid capture group name\");s[d]=!0,o[o.length]=[d,l],c=!1,d=\"\";continue}c?d+=t:r+=t}return[r,o]}(e),e=o[0],u=o[1]),s=ju(oh(e,t),c?this:sh,Sh),(n||r||u.length)&&(a=eh(s),n&&(a.dotAll=!0,a.raw=Sh(function(e){for(var t,i=e.length,n=0,r=\"\",o=!1;n<=i;n++)\"\\\\\"!==(t=lh(e,n))?o||\".\"!==t?(\"[\"===t?o=!0:\"]\"===t&&(o=!1),r+=t):r+=\"[\\\\s\\\\S]\":r+=t+lh(e,++n);return r}(e),i)),r&&(a.sticky=!0),u.length&&(a.groups=u)),e!==h)try{Gu(s,\"source\",\"\"===h?\"(?:)\":h)}catch(SU){}return s},Ih=Wu(oh),vh=0;Ih.length>vh;)Qu(Sh,oh,Ih[vh++]);sh.constructor=Sh,Sh.prototype=sh,Xu(Fu,\"RegExp\",Sh,{constructor:!0})}th(\"RegExp\");var yh=Fe,Ah=c,Rh=fu,Ch=Tu,bh=Du,kh=Di,Nh=cn.get,Dh=Lu,Oh=xu,wh=b(\"native-string-replace\",String.prototype.replace),Ph=RegExp.prototype.exec,Lh=Ph,Mh=Ah(\"\".charAt),Vh=Ah(\"\".indexOf),xh=Ah(\"\".replace),Uh=Ah(\"\".slice),Fh=function(){var e=/a/,t=/b*/g;return yh(Ph,e,\"a\"),yh(Ph,t,\"a\"),0!==e.lastIndex||0!==t.lastIndex}(),Bh=bh.BROKEN_CARET,Hh=void 0!==/()??/.exec(\"\")[1];(Fh||Hh||Bh||Dh||Oh)&&(Lh=function(e){var t,i,n,r,o,s,a,c=this,l=Nh(c),d=Rh(e),u=l.raw;if(u)return u.lastIndex=c.lastIndex,t=yh(Lh,u,d),c.lastIndex=u.lastIndex,t;var h=l.groups,p=Bh&&c.sticky,_=yh(Ch,c),m=c.source,f=0,g=d;if(p&&(_=xh(_,\"y\",\"\"),-1===Vh(_,\"g\")&&(_+=\"g\"),g=Uh(d,c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&\"\\n\"!==Mh(d,c.lastIndex-1))&&(m=\"(?: \"+m+\")\",g=\" \"+g,f++),i=new RegExp(\"^(?:\"+m+\")\",_)),Hh&&(i=new RegExp(\"^\"+m+\"$(?!\\\\s)\",_)),Fh&&(n=c.lastIndex),r=yh(Ph,p?i:c,g),p?r?(r.input=Uh(r.input,f),r[0]=Uh(r[0],f),r.index=c.lastIndex,c.lastIndex+=r[0].length):c.lastIndex=0:Fh&&r&&(c.lastIndex=c.global?r.index+r[0].length:n),Hh&&r&&r.length>1&&yh(wh,r[0],i,(function(){for(o=1;oT;T++)if((a||T in m)&&(p=f(h=m[T],T,_),e))if(t)S[T]=p;else if(p)switch(e){case 3:return!0;case 5:return h;case 6:return T;case 2:ip(S,h)}else switch(e){case 4:return!1;case 7:ip(S,h)}return o?-1:n||r?r:S}},rp={forEach:np(0),map:np(1),filter:np(2),some:np(3),every:np(4),find:np(5),findIndex:np(6),filterReject:np(7)},op=i,sp=function(e,t){var i=[][e];return!!i&&op((function(){i.call(null,t||function(){return 1},1)}))},ap=rp.forEach,cp=sp(\"forEach\")?[].forEach:function(e){return ap(this,e,arguments.length>1?arguments[1]:void 0)},lp=C,dp=ns,up=ss,hp=cp,pp=Yi,_p=function(e){if(e&&e.forEach!==hp)try{pp(e,\"forEach\",hp)}catch(SU){e.forEach=hp}};for(var mp in dp)dp[mp]&&_p(lp[mp]&&lp[mp].prototype);_p(up);var fp=et,gp=B,Tp=g,Ep=Gt,Sp=TypeError,Ip=function(e){return function(t,i,n,r){fp(i);var o=gp(t),s=Tp(o),a=Ep(o),c=e?a-1:0,l=e?-1:1;if(n<2)for(;;){if(c in s){r=s[c],c+=l;break}if(c+=l,e?c<0:a<=c)throw Sp(\"Reduce of empty array with no initial value\")}for(;e?c>=0:a>c;c+=l)c in s&&(r=i(r,s[c],c,o));return r}},vp={left:Ip(!1),right:Ip(!0)}.left;xr({target:\"Array\",proto:!0,forced:!Ts&&ie>79&&ie<83||!sp(\"reduce\")},{reduce:function(e){var t=arguments.length;return vp(this,e,t,t>1?arguments[1]:void 0)}});var yp=Ta,Ap=ir,Rp=jh,Cp=i,bp=me,kp=Yi,Np=bp(\"species\"),Dp=RegExp.prototype,Op=c,wp=Lt,Pp=fu,Lp=I,Mp=Op(\"\".charAt),Vp=Op(\"\".charCodeAt),xp=Op(\"\".slice),Up=function(e){return function(t,i){var n,r,o=Pp(Lp(t)),s=wp(i),a=o.length;return s<0||s>=a?e?\"\":void 0:(n=Vp(o,s))<55296||n>56319||s+1===a||(r=Vp(o,s+1))<56320||r>57343?e?Mp(o,s):n:e?xp(o,s,s+2):r-56320+(n-55296<<10)+65536}},Fp={codeAt:Up(!1),charAt:Up(!0)},Bp=Fp.charAt,Hp=c,jp=B,Gp=Math.floor,Wp=Hp(\"\".charAt),Jp=Hp(\"\".replace),Kp=Hp(\"\".slice),Yp=/\\$([$&'`]|\\d{1,2}|<[^>]*>)/g,zp=/\\$([$&'`]|\\d{1,2})/g,qp=function(e,t,i,n,r,o){var s=i+e.length,a=n.length,c=zp;return void 0!==r&&(r=jp(r),c=Yp),Jp(o,c,(function(o,c){var l;switch(Wp(c,0)){case\"$\":return\"$\";case\"&\":return e;case\"`\":return Kp(t,0,i);case\"'\":return Kp(t,s);case\"<\":l=r[Kp(c,1,-1)];break;default:var d=+c;if(0===d)return o;if(d>a){var u=Gp(d/10);return 0===u?o:u<=a?void 0===n[u-1]?Wp(c,1):n[u-1]+Wp(c,1):o}l=n[d-1]}return void 0===l?\"\":l}))},Qp=Fe,Xp=Ce,Zp=Ee,$p=h,e_=jh,t_=TypeError,i_=ma,n_=Fe,r_=c,o_=function(e,t,i,n){var r=bp(e),o=!Cp((function(){var t={};return t[r]=function(){return 7},7!=\"\"[e](t)})),s=o&&!Cp((function(){var t=!1,i=/a/;return\"split\"===e&&((i={}).constructor={},i.constructor[Np]=function(){return i},i.flags=\"\",i[r]=/./[r]),i.exec=function(){return t=!0,null},i[r](\"\"),!t}));if(!o||!s||i){var a=yp(/./[r]),c=t(r,\"\"[e],(function(e,t,i,n,r){var s=yp(e),c=t.exec;return c===Rp||c===Dp.exec?o&&!r?{done:!0,value:a(t,i,n)}:{done:!0,value:s(i,t,n)}:{done:!1}}));Ap(String.prototype,e,c[0]),Ap(Dp,r,c[1])}n&&kp(Dp[r],\"sham\",!0)},s_=i,a_=Ce,c_=Ee,l_=T,d_=Lt,u_=Ht,h_=fu,p_=I,__=function(e,t,i){return t+(i?Bp(e,t).length:1)},m_=nt,f_=qp,g_=function(e,t){var i=e.exec;if(Zp(i)){var n=Qp(i,e,t);return null!==n&&Xp(n),n}if(\"RegExp\"===$p(e))return Qp(e_,e,t);throw t_(\"RegExp#exec called on incompatible receiver\")},T_=me(\"replace\"),E_=Math.max,S_=Math.min,I_=r_([].concat),v_=r_([].push),y_=r_(\"\".indexOf),A_=r_(\"\".slice),R_=function(e){return void 0===e?e:String(e)},C_=\"$0\"===\"a\".replace(/./,\"$0\"),b_=!!/./[T_]&&\"\"===/./[T_](\"a\",\"$0\"),k_=!s_((function(){var e=/./;return e.exec=function(){var e=[];return e.groups={a:\"7\"},e},\"7\"!==\"\".replace(e,\"$\")}));o_(\"replace\",(function(e,t,i){var n=b_?\"$\":\"$0\";return[function(e,i){var n=p_(this),r=l_(e)?void 0:m_(e,T_);return r?n_(r,e,n,i):n_(t,h_(n),e,i)},function(e,r){var o=a_(this),s=h_(e);if(\"string\"==typeof r&&-1===y_(r,n)&&-1===y_(r,\"$<\")){var a=i(t,o,s,r);if(a.done)return a.value}var c=c_(r);c||(r=h_(r));var l=o.global;if(l){var d=o.unicode;o.lastIndex=0}for(var u=[];;){var h=g_(o,s);if(null===h)break;if(v_(u,h),!l)break;\"\"===h_(h[0])&&(o.lastIndex=__(s,u_(o.lastIndex),d))}for(var p=\"\",_=0,m=0;m=_&&(p+=A_(s,_,g)+v,_=g+f.length)}return p+A_(s,_)}]}),!k_||!C_||b_);var N_=zt.includes,D_=Fi;xr({target:\"Array\",proto:!0,forced:i((function(){return!Array(1).includes()}))},{includes:function(e){return N_(this,e,arguments.length>1?arguments[1]:void 0)}}),D_(\"includes\");var O_=Lt,w_=fu,P_=I,L_=RangeError,M_=c,V_=Ht,x_=fu,U_=function(e){var t=w_(P_(this)),i=\"\",n=O_(e);if(n<0||Infinity==n)throw L_(\"Wrong number of repetitions\");for(;n>0;(n>>>=1)&&(t+=t))1&n&&(i+=t);return i},F_=I,B_=M_(U_),H_=M_(\"\".slice),j_=Math.ceil,G_=function(e){return function(t,i,n){var r,o,s=x_(F_(t)),a=V_(i),c=s.length,l=void 0===n?\" \":x_(n);return a<=c||\"\"==l?s:((o=B_(l,j_((r=a-c)/l.length))).length>r&&(o=H_(o,0,r)),e?s+o:o+s)}},W_={start:G_(!1),end:G_(!0)},J_=/Version\\/10(?:\\.\\d+){1,2}(?: [\\w./]+)?(?: Mobile\\/\\w+)? Safari\\//.test(q),K_=W_.start;xr({target:\"String\",proto:!0,forced:J_},{padStart:function(e){return K_(this,e,arguments.length>1?arguments[1]:void 0)}});var Y_=i,z_=ke,q_=me(\"iterator\"),Q_=!Y_((function(){var e=new URL(\"b?a=1&b=2&c=3\",\"http://a\"),t=e.searchParams,i=\"\";return e.pathname=\"c%20d\",t.forEach((function(e,n){t.delete(\"b\"),i+=n+e})),!t.size&&!z_||!t.sort||\"http://a/c%20d?a=1&c=3\"!==e.href||\"3\"!==t.get(\"c\")||\"a=1\"!==String(new URLSearchParams(\"?a=1\"))||!t[q_]||\"a\"!==new URL(\"https://a@b\").username||\"b\"!==new URLSearchParams(new URLSearchParams(\"a=b\")).get(\"a\")||\"xn--e1aybc\"!==new URL(\"http://тест\").host||\"#%D0%B1\"!==new URL(\"http://a#б\").hash||\"a1c3\"!==i||\"x\"!==new URL(\"http://x\",void 0).host})),X_=ir,Z_=function(e,t,i){for(var n in t)X_(e,n,t[n],i);return e},$_=Tt,em=De,tm=Wi,im=function(e,t,i){var n=$_(t);n in e?em.f(e,n,tm(0,i)):e[n]=i},nm=Ut,rm=Gt,om=im,sm=Array,am=Math.max,cm=function(e,t,i){for(var n=rm(e),r=nm(t,n),o=nm(void 0===i?n:i,n),s=sm(am(o-r,0)),a=0;r0;)e[n]=e[--n];n!==o++&&(e[n]=i)}return e},pm=function(e,t,i,n){for(var r=t.length,o=i.length,s=0,a=0;s0?arguments[0]:void 0));Em||(this.length=e.entries.length)},Rf=Af.prototype;if(ym(Rf,{append:function(e,t){Fm(arguments.length,2);var i=Jm(this);af(i.entries,{key:Lm(e),value:Lm(t)}),Em||this.length++,i.updateURL()},delete:function(e){Fm(arguments.length,1);for(var t=Jm(this),i=t.entries,n=Lm(e),r=0;rt.key?1:-1})),e.updateURL()},forEach:function(e){for(var t,i=Jm(this).entries,n=Dm(e,arguments.length>1?arguments[1]:void 0),r=0;r1?kf(arguments[1]):{})}}),km(Qm)){var Nf=function(e){return bm(this,Zm),new Qm(e,arguments.length>1?kf(arguments[1]):{})};Zm.constructor=Nf,Nf.prototype=Zm,mm({global:!0,constructor:!0,dontCallGetSet:!0,forced:!0},{Request:Nf})}}var Df={URLSearchParams:Af,getState:Jm},Of=\"\\t\\n\\v\\f\\r                 \\u2028\\u2029\\ufeff\",wf=I,Pf=fu,Lf=Of,Mf=c(\"\".replace),Vf=RegExp(\"^[\"+Lf+\"]+\"),xf=RegExp(\"(^|[^\"+Lf+\"])[\"+Lf+\"]+$\"),Uf=function(e){return function(t){var i=Pf(wf(t));return 1&e&&(i=Mf(i,Vf,\"\")),2&e&&(i=Mf(i,xf,\"$1\")),i}},Ff={start:Uf(1),end:Uf(2),trim:Uf(3)},Bf=Dn.PROPER,Hf=i,jf=Of,Gf=Ff.trim;xr({target:\"String\",proto:!0,forced:function(e){return Hf((function(){return!!jf[e]()||\"​…᠎\"!==\"​…᠎\"[e]()||Bf&&jf[e].name!==e}))}(\"trim\")},{trim:function(){return Gf(this)}});var Wf=xr,Jf=ke,Kf=c,Yf=G,zf=Ee,qf=Ge,Qf=fu,Xf=Is,Zf=Sr,$f=C.Symbol,eg=$f&&$f.prototype;if(Jf&&zf($f)&&(!(\"description\"in eg)||void 0!==$f().description)){var tg={},ig=function(){var e=arguments.length<1||void 0===arguments[0]?void 0:Qf(arguments[0]),t=qf(eg,this)?new $f(e):void 0===e?$f():$f(e);return\"\"===e&&(tg[t]=!0),t};Zf(ig,$f),ig.prototype=eg,eg.constructor=ig;var ng=\"Symbol(test)\"==String($f(\"test\")),rg=Kf(eg.valueOf),og=Kf(eg.toString),sg=/^Symbol\\((.*)\\)[^)]+$/,ag=Kf(\"\".replace),cg=Kf(\"\".slice);Xf(eg,\"description\",{configurable:!0,get:function(){var e=rg(this);if(Yf(tg,e))return\"\";var t=og(e),i=ng?cg(t,7,-1):ag(t,sg,\"$1\");return\"\"===i?void 0:i}}),Wf({global:!0,constructor:!0,forced:!0},{Symbol:ig})}var lg=Fp.charAt,dg=fu,ug=cn,hg=jo,pg=Go,_g=\"String Iterator\",mg=ug.set,fg=ug.getterFor(_g);hg(String,\"String\",(function(e){mg(this,{type:_g,string:dg(e),index:0})}),(function(){var e,t=fg(this),i=t.string,n=t.index;return n>=i.length?pg(void 0,!0):(e=lg(i,n),t.index+=e.length,pg(e,!1))}));var gg,Tg=ke,Eg=c,Sg=Fe,Ig=i,vg=oi,yg=sr,Ag=dn,Rg=B,Cg=g,bg=Object.assign,kg=Object.defineProperty,Ng=Eg([].concat),Dg=!bg||Ig((function(){if(Tg&&1!==bg({b:1},bg(kg({},\"a\",{enumerable:!0,get:function(){kg(this,\"b\",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var e={},t={},i=Symbol(),n=\"abcdefghijklmnopqrst\";return e[i]=7,n.split(\"\").forEach((function(e){t[e]=e})),7!=bg({},e)[i]||vg(bg({},t)).join(\"\")!=n}))?function(e,t){for(var i=Rg(e),n=arguments.length,r=1,o=yg.f,s=Ag.f;n>r;)for(var a,c=Cg(arguments[r++]),l=o?Ng(vg(c),o(c)):vg(c),d=l.length,u=0;d>u;)a=l[u++],Tg&&!Sg(s,c,a)||(i[a]=c[a]);return i}:bg,Og=Ce,wg=ud,Pg=va,Lg=Fe,Mg=B,Vg=function(e,t,i,n){try{return n?t(Og(i)[0],i[1]):t(i)}catch(SU){wg(e,\"throw\",SU)}},xg=zl,Ug=ta,Fg=Gt,Bg=im,Hg=ad,jg=ed,Gg=Array,Wg=c,Jg=2147483647,Kg=/[^\\0-\\u007E]/,Yg=/[.\\u3002\\uFF0E\\uFF61]/g,zg=\"Overflow: input needs wider integers to process\",qg=RangeError,Qg=Wg(Yg.exec),Xg=Math.floor,Zg=String.fromCharCode,$g=Wg(\"\".charCodeAt),eT=Wg([].join),tT=Wg([].push),iT=Wg(\"\".replace),nT=Wg(\"\".split),rT=Wg(\"\".toLowerCase),oT=function(e){return e+22+75*(e<26)},sT=function(e,t,i){var n=0;for(e=i?Xg(e/700):e>>1,e+=Xg(e/t);e>455;)e=Xg(e/35),n+=36;return Xg(n+36*e/(e+38))},aT=function(e){var t=[];e=function(e){for(var t=[],i=0,n=e.length;i=55296&&r<=56319&&i=o&&nXg((Jg-s)/u))throw qg(zg);for(s+=(d-o)*u,o=d,i=0;iJg)throw qg(zg);if(n==o){for(var h=s,p=36;;){var _=p<=a?1:p>=a+26?26:p-a;if(h<_)break;var m=h-_,f=36-_;tT(t,Zg(oT(_+m%f))),h=Xg(m/f),p+=36}tT(t,Zg(oT(h))),a=sT(s,u,l==c),s=0,l++}}s++,o++}return eT(t,\"\")},cT=xr,lT=ke,dT=Q_,uT=C,hT=va,pT=c,_T=ir,mT=Is,fT=Ns,gT=G,TT=Dg,ET=function(e){var t=Mg(e),i=Ug(this),n=arguments.length,r=n>1?arguments[1]:void 0,o=void 0!==r;o&&(r=Pg(r,n>2?arguments[2]:void 0));var s,a,c,l,d,u,h=jg(t),p=0;if(!h||this===Gg&&xg(h))for(s=Fg(t),a=i?new this(s):Gg(s);s>p;p++)u=o?r(t[p],p):t[p],Bg(a,p,u);else for(d=(l=Hg(t,h)).next,a=i?new this:[];!(c=Lg(d,l)).done;p++)u=o?Vg(l,r,[c.value,p],!0):c.value,Bg(a,p,u);return a.length=p,a},ST=cm,IT=Fp.codeAt,vT=function(e){var t,i,n=[],r=nT(iT(rT(e),Yg,\".\"),\".\");for(t=0;t?@[\\\\\\]^|]/,sE=/[\\0\\t\\n\\r #/:<>?@[\\\\\\]^|]/,aE=/^[\\u0000-\\u0020]+/,cE=/(^|[^\\u0000-\\u0020])[\\u0000-\\u0020]+$/,lE=/[\\t\\n\\r]/g,dE=function(e){var t,i,n,r;if(\"number\"==typeof e){for(t=[],i=0;i<4;i++)zT(t,e%256),e=MT(e/256);return FT(t,\".\")}if(\"object\"==typeof e){for(t=\"\",n=function(e){for(var t=null,i=1,n=null,r=0,o=0;o<8;o++)0!==e[o]?(r>i&&(t=n,i=r),n=null,r=0):(null===n&&(n=o),++r);return r>i&&(t=n,i=r),t}(e),i=0;i<8;i++)r&&0===e[i]||(r&&(r=!1),n===i?(t+=i?\":\":\"::\",r=!0):(t+=BT(e[i],16),i<7&&(t+=\":\")));return\"[\"+t+\"]\"}return e},uE={},hE=TT({},uE,{\" \":1,'\"':1,\"<\":1,\">\":1,\"`\":1}),pE=TT({},hE,{\"#\":1,\"?\":1,\"{\":1,\"}\":1}),_E=TT({},pE,{\"/\":1,\":\":1,\";\":1,\"=\":1,\"@\":1,\"[\":1,\"\\\\\":1,\"]\":1,\"^\":1,\"|\":1}),mE=function(e,t){var i=IT(e,0);return i>32&&i<127&&!gT(t,e)?e:encodeURIComponent(e)},fE={ftp:21,file:null,http:80,https:443,ws:80,wss:443},gE=function(e,t){var i;return 2==e.length&&UT(ZT,xT(e,0))&&(\":\"==(i=xT(e,1))||!t&&\"|\"==i)},TE=function(e){var t;return e.length>1&&gE(KT(e,0,2))&&(2==e.length||\"/\"===(t=xT(e,2))||\"\\\\\"===t||\"?\"===t||\"#\"===t)},EE=function(e){return\".\"===e||\"%2e\"===YT(e)},SE={},IE={},vE={},yE={},AE={},RE={},CE={},bE={},kE={},NE={},DE={},OE={},wE={},PE={},LE={},ME={},VE={},xE={},UE={},FE={},BE={},HE=function(e,t,i){var n,r,o,s=yT(e);if(t){if(r=this.parse(s))throw PT(r);this.searchParams=null}else{if(void 0!==i&&(n=new HE(i,!0)),r=this.parse(s,null,n))throw PT(r);(o=OT(new DT)).bindURL(this),this.searchParams=o}};HE.prototype={type:\"URL\",parse:function(e,t,i){var n,r,o,s,a,c=this,l=t||SE,d=0,u=\"\",h=!1,p=!1,_=!1;for(e=yT(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=GT(e,aE,\"\"),e=GT(e,cE,\"$1\")),e=GT(e,lE,\"\"),n=ET(e);d<=n.length;){switch(r=n[d],l){case SE:if(!r||!UT(ZT,r)){if(t)return qT;l=vE;continue}u+=YT(r),l=IE;break;case IE:if(r&&(UT($T,r)||\"+\"==r||\"-\"==r||\".\"==r))u+=YT(r);else{if(\":\"!=r){if(t)return qT;u=\"\",l=vE,d=0;continue}if(t&&(c.isSpecial()!=gT(fE,u)||\"file\"==u&&(c.includesCredentials()||null!==c.port)||\"file\"==c.scheme&&!c.host))return;if(c.scheme=u,t)return void(c.isSpecial()&&fE[c.scheme]==c.port&&(c.port=null));u=\"\",\"file\"==c.scheme?l=PE:c.isSpecial()&&i&&i.scheme==c.scheme?l=yE:c.isSpecial()?l=bE:\"/\"==n[d+1]?(l=AE,d++):(c.cannotBeABaseURL=!0,jT(c.path,\"\"),l=UE)}break;case vE:if(!i||i.cannotBeABaseURL&&\"#\"!=r)return qT;if(i.cannotBeABaseURL&&\"#\"==r){c.scheme=i.scheme,c.path=ST(i.path),c.query=i.query,c.fragment=\"\",c.cannotBeABaseURL=!0,l=BE;break}l=\"file\"==i.scheme?PE:RE;continue;case yE:if(\"/\"!=r||\"/\"!=n[d+1]){l=RE;continue}l=kE,d++;break;case AE:if(\"/\"==r){l=NE;break}l=xE;continue;case RE:if(c.scheme=i.scheme,r==gg)c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=ST(i.path),c.query=i.query;else if(\"/\"==r||\"\\\\\"==r&&c.isSpecial())l=CE;else if(\"?\"==r)c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=ST(i.path),c.query=\"\",l=FE;else{if(\"#\"!=r){c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=ST(i.path),c.path.length--,l=xE;continue}c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,c.path=ST(i.path),c.query=i.query,c.fragment=\"\",l=BE}break;case CE:if(!c.isSpecial()||\"/\"!=r&&\"\\\\\"!=r){if(\"/\"!=r){c.username=i.username,c.password=i.password,c.host=i.host,c.port=i.port,l=xE;continue}l=NE}else l=kE;break;case bE:if(l=kE,\"/\"!=r||\"/\"!=xT(u,d+1))continue;d++;break;case kE:if(\"/\"!=r&&\"\\\\\"!=r){l=NE;continue}break;case NE:if(\"@\"==r){h&&(u=\"%40\"+u),h=!0,o=ET(u);for(var m=0;m65535)return XT;c.port=c.isSpecial()&&T===fE[c.scheme]?null:T,u=\"\"}if(t)return;l=VE;continue}return XT}u+=r;break;case PE:if(c.scheme=\"file\",\"/\"==r||\"\\\\\"==r)l=LE;else{if(!i||\"file\"!=i.scheme){l=xE;continue}if(r==gg)c.host=i.host,c.path=ST(i.path),c.query=i.query;else if(\"?\"==r)c.host=i.host,c.path=ST(i.path),c.query=\"\",l=FE;else{if(\"#\"!=r){TE(FT(ST(n,d),\"\"))||(c.host=i.host,c.path=ST(i.path),c.shortenPath()),l=xE;continue}c.host=i.host,c.path=ST(i.path),c.query=i.query,c.fragment=\"\",l=BE}}break;case LE:if(\"/\"==r||\"\\\\\"==r){l=ME;break}i&&\"file\"==i.scheme&&!TE(FT(ST(n,d),\"\"))&&(gE(i.path[0],!0)?jT(c.path,i.path[0]):c.host=i.host),l=xE;continue;case ME:if(r==gg||\"/\"==r||\"\\\\\"==r||\"?\"==r||\"#\"==r){if(!t&&gE(u))l=xE;else if(\"\"==u){if(c.host=\"\",t)return;l=VE}else{if(s=c.parseHost(u))return s;if(\"localhost\"==c.host&&(c.host=\"\"),t)return;u=\"\",l=VE}continue}u+=r;break;case VE:if(c.isSpecial()){if(l=xE,\"/\"!=r&&\"\\\\\"!=r)continue}else if(t||\"?\"!=r)if(t||\"#\"!=r){if(r!=gg&&(l=xE,\"/\"!=r))continue}else c.fragment=\"\",l=BE;else c.query=\"\",l=FE;break;case xE:if(r==gg||\"/\"==r||\"\\\\\"==r&&c.isSpecial()||!t&&(\"?\"==r||\"#\"==r)){if(\"..\"===(a=YT(a=u))||\"%2e.\"===a||\".%2e\"===a||\"%2e%2e\"===a?(c.shortenPath(),\"/\"==r||\"\\\\\"==r&&c.isSpecial()||jT(c.path,\"\")):EE(u)?\"/\"==r||\"\\\\\"==r&&c.isSpecial()||jT(c.path,\"\"):(\"file\"==c.scheme&&!c.path.length&&gE(u)&&(c.host&&(c.host=\"\"),u=xT(u,0)+\":\"),jT(c.path,u)),u=\"\",\"file\"==c.scheme&&(r==gg||\"?\"==r||\"#\"==r))for(;c.path.length>1&&\"\"===c.path[0];)WT(c.path);\"?\"==r?(c.query=\"\",l=FE):\"#\"==r&&(c.fragment=\"\",l=BE)}else u+=mE(r,pE);break;case UE:\"?\"==r?(c.query=\"\",l=FE):\"#\"==r?(c.fragment=\"\",l=BE):r!=gg&&(c.path[0]+=mE(r,uE));break;case FE:t||\"#\"!=r?r!=gg&&(\"'\"==r&&c.isSpecial()?c.query+=\"%27\":c.query+=\"#\"==r?\"%23\":mE(r,uE)):(c.fragment=\"\",l=BE);break;case BE:r!=gg&&(c.fragment+=mE(r,hE))}d++}},parseHost:function(e){var t,i,n;if(\"[\"==xT(e,0)){if(\"]\"!=xT(e,e.length-1))return QT;if(t=function(e){var t,i,n,r,o,s,a,c=[0,0,0,0,0,0,0,0],l=0,d=null,u=0,h=function(){return xT(e,u)};if(\":\"==h()){if(\":\"!=xT(e,1))return;u+=2,d=++l}for(;h();){if(8==l)return;if(\":\"!=h()){for(t=i=0;i<4&&UT(rE,h());)t=16*t+LT(h(),16),u++,i++;if(\".\"==h()){if(0==i)return;if(u-=i,l>6)return;for(n=0;h();){if(r=null,n>0){if(!(\".\"==h()&&n<4))return;u++}if(!UT(eE,h()))return;for(;UT(eE,h());){if(o=LT(h(),10),null===r)r=o;else{if(0==r)return;r=10*r+o}if(r>255)return;u++}c[l]=256*c[l]+r,2!=++n&&4!=n||l++}if(4!=n)return;break}if(\":\"==h()){if(u++,!h())return}else if(h())return;c[l++]=t}else{if(null!==d)return;u++,d=++l}}if(null!==d)for(s=l-d,l=7;0!=l&&s>0;)a=c[l],c[l--]=c[d+s-1],c[d+--s]=a;else if(8!=l)return;return c}(KT(e,1,-1)),!t)return QT;this.host=t}else if(this.isSpecial()){if(e=vT(e),UT(oE,e))return QT;if(t=function(e){var t,i,n,r,o,s,a,c=JT(e,\".\");if(c.length&&\"\"==c[c.length-1]&&c.length--,(t=c.length)>4)return e;for(i=[],n=0;n1&&\"0\"==xT(r,0)&&(o=UT(tE,r)?16:8,r=KT(r,8==o?1:2)),\"\"===r)s=0;else{if(!UT(10==o?nE:8==o?iE:rE,r))return e;s=LT(r,o)}jT(i,s)}for(n=0;n=VT(256,5-t))return null}else if(s>255)return null;for(a=HT(i),n=0;n1?arguments[1]:void 0,n=kT(t,new HE(e,!1,i));lT||(t.href=n.serialize(),t.origin=n.getOrigin(),t.protocol=n.getProtocol(),t.username=n.getUsername(),t.password=n.getPassword(),t.host=n.getHost(),t.hostname=n.getHostname(),t.port=n.getPort(),t.pathname=n.getPathname(),t.search=n.getSearch(),t.searchParams=n.getSearchParams(),t.hash=n.getHash())},GE=jE.prototype,WE=function(e,t){return{get:function(){return NT(this)[e]()},set:t&&function(e){return NT(this)[t](e)},configurable:!0,enumerable:!0}};if(lT&&(mT(GE,\"href\",WE(\"serialize\",\"setHref\")),mT(GE,\"origin\",WE(\"getOrigin\")),mT(GE,\"protocol\",WE(\"getProtocol\",\"setProtocol\")),mT(GE,\"username\",WE(\"getUsername\",\"setUsername\")),mT(GE,\"password\",WE(\"getPassword\",\"setPassword\")),mT(GE,\"host\",WE(\"getHost\",\"setHost\")),mT(GE,\"hostname\",WE(\"getHostname\",\"setHostname\")),mT(GE,\"port\",WE(\"getPort\",\"setPort\")),mT(GE,\"pathname\",WE(\"getPathname\",\"setPathname\")),mT(GE,\"search\",WE(\"getSearch\",\"setSearch\")),mT(GE,\"searchParams\",WE(\"getSearchParams\")),mT(GE,\"hash\",WE(\"getHash\",\"setHash\"))),_T(GE,\"toJSON\",(function(){return NT(this).serialize()}),{enumerable:!0}),_T(GE,\"toString\",(function(){return NT(this).serialize()}),{enumerable:!0}),wT){var JE=wT.createObjectURL,KE=wT.revokeObjectURL;JE&&_T(jE,\"createObjectURL\",hT(JE,wT)),KE&&_T(jE,\"revokeObjectURL\",hT(KE,wT))}AT(jE,\"URL\"),cT({global:!0,constructor:!0,forced:!dT,sham:!lT},{URL:jE});var YE=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof DataView,zE=Lt,qE=Ht,QE=RangeError,XE=function(e){if(void 0===e)return 0;var t=zE(e),i=qE(t);if(t!==i)throw QE(\"Wrong length or index\");return i},ZE=Array,$E=Math.abs,eS=Math.pow,tS=Math.floor,iS=Math.log,nS=Math.LN2,rS={pack:function(e,t,i){var n,r,o,s=ZE(i),a=8*i-t-1,c=(1<>1,d=23===t?eS(2,-24)-eS(2,-77):0,u=e<0||0===e&&1/e<0?1:0,h=0;for((e=$E(e))!=e||Infinity===e?(r=e!=e?1:0,n=c):(n=tS(iS(e)/nS),e*(o=eS(2,-n))<1&&(n--,o*=2),(e+=n+l>=1?d/o:d*eS(2,1-l))*o>=2&&(n++,o/=2),n+l>=c?(r=0,n=c):n+l>=1?(r=(e*o-1)*eS(2,t),n+=l):(r=e*eS(2,l-1)*eS(2,t),n=0));t>=8;)s[h++]=255&r,r/=256,t-=8;for(n=n<0;)s[h++]=255&n,n/=256,a-=8;return s[--h]|=128*u,s},unpack:function(e,t){var i,n=e.length,r=8*n-t-1,o=(1<>1,a=r-7,c=n-1,l=e[c--],d=127&l;for(l>>=7;a>0;)d=256*d+e[c--],a-=8;for(i=d&(1<<-a)-1,d>>=-a,a+=t;a>0;)i=256*i+e[c--],a-=8;if(0===d)d=1-s;else{if(d===o)return i?NaN:l?-Infinity:Infinity;i+=eS(2,t),d-=s}return(l?-1:1)*i*eS(2,d-t)}},oS=B,sS=Ut,aS=Gt,cS=function(e){for(var t=oS(this),i=aS(t),n=arguments.length,r=sS(n>1?arguments[1]:void 0,i),o=n>2?arguments[2]:void 0,s=void 0===o?i:sS(o,i);s>r;)t[r++]=e;return t},lS=C,dS=c,uS=ke,hS=YE,pS=Dn,_S=Yi,mS=Is,fS=Z_,gS=i,TS=Ns,ES=Lt,SS=Ht,IS=XE,vS=rS,yS=Kr,AS=vo,RS=nr.f,CS=cS,bS=cm,kS=oo,NS=cn,DS=pS.PROPER,OS=pS.CONFIGURABLE,wS=\"ArrayBuffer\",PS=\"DataView\",LS=\"prototype\",MS=\"Wrong index\",VS=NS.getterFor(wS),xS=NS.getterFor(PS),US=NS.set,FS=lS[wS],BS=FS,HS=BS&&BS[LS],jS=lS[PS],GS=jS&&jS[LS],WS=Object.prototype,JS=lS.Array,KS=lS.RangeError,YS=dS(CS),zS=dS([].reverse),qS=vS.pack,QS=vS.unpack,XS=function(e){return[255&e]},ZS=function(e){return[255&e,e>>8&255]},$S=function(e){return[255&e,e>>8&255,e>>16&255,e>>24&255]},eI=function(e){return e[3]<<24|e[2]<<16|e[1]<<8|e[0]},tI=function(e){return qS(e,23,4)},iI=function(e){return qS(e,52,8)},nI=function(e,t,i){mS(e[LS],t,{configurable:!0,get:function(){return i(this)[t]}})},rI=function(e,t,i,n){var r=IS(i),o=xS(e);if(r+t>o.byteLength)throw KS(MS);var s=o.bytes,a=r+o.byteOffset,c=bS(s,a,a+t);return n?c:zS(c)},oI=function(e,t,i,n,r,o){var s=IS(i),a=xS(e);if(s+t>a.byteLength)throw KS(MS);for(var c=a.bytes,l=s+a.byteOffset,d=n(+r),u=0;ulI;)(aI=cI[lI++])in BS||_S(BS,aI,FS[aI]);HS.constructor=BS}AS&&yS(GS)!==WS&&AS(GS,WS);var dI=new jS(new BS(2)),uI=dS(GS.setInt8);dI.setInt8(0,2147483648),dI.setInt8(1,2147483649),!dI.getInt8(0)&&dI.getInt8(1)||fS(GS,{setInt8:function(e,t){uI(this,e,t<<24>>24)},setUint8:function(e,t){uI(this,e,t<<24>>24)}},{unsafe:!0})}else HS=(BS=function(e){TS(this,HS);var t=IS(e);US(this,{type:wS,bytes:YS(JS(t),0),byteLength:t}),uS||(this.byteLength=t,this.detached=!1)})[LS],GS=(jS=function(e,t,i){TS(this,GS),TS(e,HS);var n=VS(e),r=n.byteLength,o=ES(t);if(o<0||o>r)throw KS(\"Wrong offset\");if(o+(i=void 0===i?r-o:SS(i))>r)throw KS(\"Wrong length\");US(this,{type:PS,buffer:e,byteLength:i,byteOffset:o,bytes:n.bytes}),uS||(this.buffer=e,this.byteLength=i,this.byteOffset=o)})[LS],uS&&(nI(BS,\"byteLength\",VS),nI(jS,\"buffer\",xS),nI(jS,\"byteLength\",xS),nI(jS,\"byteOffset\",xS)),fS(GS,{getInt8:function(e){return rI(this,1,e)[0]<<24>>24},getUint8:function(e){return rI(this,1,e)[0]},getInt16:function(e){var t=rI(this,2,e,arguments.length>1?arguments[1]:void 0);return(t[1]<<8|t[0])<<16>>16},getUint16:function(e){var t=rI(this,2,e,arguments.length>1?arguments[1]:void 0);return t[1]<<8|t[0]},getInt32:function(e){return eI(rI(this,4,e,arguments.length>1?arguments[1]:void 0))},getUint32:function(e){return eI(rI(this,4,e,arguments.length>1?arguments[1]:void 0))>>>0},getFloat32:function(e){return QS(rI(this,4,e,arguments.length>1?arguments[1]:void 0),23)},getFloat64:function(e){return QS(rI(this,8,e,arguments.length>1?arguments[1]:void 0),52)},setInt8:function(e,t){oI(this,1,e,XS,t)},setUint8:function(e,t){oI(this,1,e,XS,t)},setInt16:function(e,t){oI(this,2,e,ZS,t,arguments.length>2?arguments[2]:void 0)},setUint16:function(e,t){oI(this,2,e,ZS,t,arguments.length>2?arguments[2]:void 0)},setInt32:function(e,t){oI(this,4,e,$S,t,arguments.length>2?arguments[2]:void 0)},setUint32:function(e,t){oI(this,4,e,$S,t,arguments.length>2?arguments[2]:void 0)},setFloat32:function(e,t){oI(this,4,e,tI,t,arguments.length>2?arguments[2]:void 0)},setFloat64:function(e,t){oI(this,8,e,iI,t,arguments.length>2?arguments[2]:void 0)}});kS(BS,wS),kS(jS,PS);var hI={ArrayBuffer:BS,DataView:jS},pI=Cs,_I=\"ArrayBuffer\",mI=hI[_I];xr({global:!0,constructor:!0,forced:C[_I]!==mI},{ArrayBuffer:mI}),pI(_I);var fI=xr,gI=Ta,TI=i,EI=Ce,SI=Ut,II=Ht,vI=da,yI=hI.ArrayBuffer,AI=hI.DataView,RI=AI.prototype,CI=gI(yI.prototype.slice),bI=gI(RI.getUint8),kI=gI(RI.setUint8);fI({target:\"ArrayBuffer\",proto:!0,unsafe:!0,forced:TI((function(){return!new yI(2).slice(1,void 0).byteLength}))},{slice:function(e,t){if(CI&&void 0===t)return CI(EI(this),e);for(var i=EI(this).byteLength,n=SI(e,i),r=SI(void 0===t?i:t,i),o=new(vI(this,yI))(II(r-n)),s=new AI(this),a=new AI(o),c=0;n1?arguments[1]:void 0,p=void 0!==h,_=Hv(d);if(_&&!jv(_))for(c=(a=Bv(d,_)).next,d=[];!(s=Vv(c,a)).done;)d.push(s.value);for(p&&u>2&&(h=Mv(h,arguments[2])),i=Fv(d),n=new(Wv(l))(i),r=Gv(n),t=0;i>t;t++)o=p?h(d[t],t):d[t],n[t]=r?Jv(o):+o;return n},fy=rp.forEach,gy=Cs,Ty=Is,Ey=De,Sy=ln,Iy=lu,vy=cn.get,yy=cn.set,Ay=cn.enforce,Ry=Ey.f,Cy=Sy.f,by=Math.round,ky=Yv.RangeError,Ny=Zv.ArrayBuffer,Dy=Ny.prototype,Oy=Zv.DataView,wy=Xv.NATIVE_ARRAY_BUFFER_VIEWS,Py=Xv.TYPED_ARRAY_TAG,Ly=Xv.TypedArray,My=Xv.TypedArrayPrototype,Vy=Xv.aTypedArrayConstructor,xy=Xv.isTypedArray,Uy=\"BYTES_PER_ELEMENT\",Fy=\"Wrong length\",By=function(e,t){Vy(e);for(var i=0,n=t.length,r=new e(n);n>i;)r[i]=t[i++];return r},Hy=function(e,t){Ty(e,t,{configurable:!0,get:function(){return vy(this)[t]}})},jy=function(e){var t;return hy(Dy,e)||\"ArrayBuffer\"==(t=cy(e))||\"SharedArrayBuffer\"==t},Gy=function(e,t){return xy(e)&&!dy(t)&&t in e&&iy(+t)&&t>=0},Wy=function(e,t){return t=sy(t),Gy(e,t)?ey(2,e[t]):Cy(e,t)},Jy=function(e,t,i){return t=sy(t),!(Gy(e,t)&&ly(i)&&ay(i,\"value\"))||ay(i,\"get\")||ay(i,\"set\")||i.configurable||ay(i,\"writable\")&&!i.writable||ay(i,\"enumerable\")&&!i.enumerable?Ry(e,t,i):(e[t]=i.value,e)};qv?(wy||(Sy.f=Wy,Ey.f=Jy,Hy(My,\"buffer\"),Hy(My,\"byteOffset\"),Hy(My,\"byteLength\"),Hy(My,\"length\")),Kv({target:\"Object\",stat:!0,forced:!wy},{getOwnPropertyDescriptor:Wy,defineProperty:Jy}),PI.exports=function(e,t,i){var n=e.match(/\\d+/)[0]/8,r=e+(i?\"Clamped\":\"\")+\"Array\",o=\"get\"+e,s=\"set\"+e,a=Yv[r],c=a,l=c&&c.prototype,d={},u=function(e,t){Ry(e,t,{get:function(){return function(e,t){var i=vy(e);return i.view[o](t*n+i.byteOffset,!0)}(this,t)},set:function(e){return function(e,t,r){var o=vy(e);i&&(r=(r=by(r))<0?0:r>255?255:255&r),o.view[s](t*n+o.byteOffset,r,!0)}(this,t,e)},enumerable:!0})};wy?Qv&&(c=t((function(e,t,i,r){return $v(e,l),Iy(ly(t)?jy(t)?void 0!==r?new a(t,oy(i,n),r):void 0!==i?new a(t,oy(i,n)):new a(t):xy(t)?By(c,t):zv(my,c,t):new a(ry(t)),e,c)})),py&&py(c,Ly),fy(_y(a),(function(e){e in c||ty(c,e,a[e])})),c.prototype=l):(c=t((function(e,t,i,r){$v(e,l);var o,s,a,d=0,h=0;if(ly(t)){if(!jy(t))return xy(t)?By(c,t):zv(my,c,t);o=t,h=oy(i,n);var p=t.byteLength;if(void 0===r){if(p%n)throw ky(Fy);if((s=p-h)<0)throw ky(Fy)}else if((s=ny(r)*n)+h>p)throw ky(Fy);a=s/n}else a=ry(t),o=new Ny(s=a*n);for(yy(e,{buffer:o,byteOffset:h,byteLength:s,length:a,view:new Oy(o)});d1?arguments[1]:void 0,t>2?arguments[2]:void 0)}),Qy((function(){var e=0;return new Int8Array(2).fill({valueOf:function(){return e++}}),1!==e})));var eA=C,tA=Fe,iA=mv,nA=Gt,rA=Dv,oA=B,sA=i,aA=eA.RangeError,cA=eA.Int8Array,lA=cA&&cA.prototype,dA=lA&&lA.set,uA=iA.aTypedArray,hA=iA.exportTypedArrayMethod,pA=!sA((function(){var e=new Uint8ClampedArray(2);return tA(dA,e,{length:1,0:3},1),3!==e[1]})),_A=pA&&iA.NATIVE_ARRAY_BUFFER_VIEWS&&sA((function(){var e=new cA(2);return e.set(1),e.set(\"2\",1),0!==e[0]||2!==e[1]}));hA(\"set\",(function(e){uA(this);var t=rA(arguments.length>1?arguments[1]:void 0,1),i=oA(e);if(pA)return tA(dA,this,i,t);var n=this.length,r=nA(i),o=0;if(r+t>n)throw aA(\"Wrong length\");for(;o0&&1/i<0?1:-1:t>i}}(e))}),!PA||wA);var LA=Qe,MA=TypeError,VA=xr,xA=c,UA=et,FA=B,BA=Gt,HA=function(e,t){if(!delete e[t])throw MA(\"Cannot delete property \"+LA(t)+\" of \"+LA(e))},jA=fu,GA=i,WA=_m,JA=sp,KA=fA,YA=gA,zA=ie,qA=EA,QA=[],XA=xA(QA.sort),ZA=xA(QA.push),$A=GA((function(){QA.sort(void 0)})),eR=GA((function(){QA.sort(null)})),tR=JA(\"sort\"),iR=!GA((function(){if(zA)return zA<70;if(!(KA&&KA>3)){if(YA)return!0;if(qA)return qA<603;var e,t,i,n,r=\"\";for(e=65;e<76;e++){switch(t=String.fromCharCode(e),e){case 66:case 69:case 70:case 72:i=3;break;case 68:case 71:i=4;break;default:i=2}for(n=0;n<47;n++)QA.push({k:t+n,v:i})}for(QA.sort((function(e,t){return t.v-e.v})),n=0;njA(i)?1:-1}}(e)),i=BA(r),n=0;ne.length?-1:\"\"===t?i:DR(e,t,i)};gR({target:\"String\",proto:!0},{replaceAll:function(e,t){var i,n,r,o,s,a,c,l,d=SR(this),u=0,h=0,p=\"\";if(!vR(e)){if(yR(e)&&(i=AR(SR(CR(e))),!~DR(i,\"g\")))throw NR(\"`.replaceAll` does not allow non-global regexes\");if(n=RR(e,kR))return TR(n,e,d,t)}for(r=AR(d),o=AR(e),(s=IR(t))||(t=AR(t)),a=o.length,c=wR(1,a),u=PR(r,o,0);-1!==u;)l=s?AR(t(o,u,r)):bR(o,r,u,[],void 0,t),p+=OR(r,h,u)+l,h=u+a,u=PR(r,o,u+c);return h=i&&parseInt(n[i],10)}function xR(e,t,i){if(!e.RTCPeerConnection)return;const n=e.RTCPeerConnection.prototype,r=n.addEventListener;n.addEventListener=function(e,n){if(e!==t)return r.apply(this,arguments);const o=e=>{const t=i(e);t&&(n.handleEvent?n.handleEvent(t):n(t))};return this._eventMap=this._eventMap||{},this._eventMap[t]||(this._eventMap[t]=new Map),this._eventMap[t].set(n,o),r.apply(this,[e,o])};const o=n.removeEventListener;n.removeEventListener=function(e,i){if(e!==t||!this._eventMap||!this._eventMap[t])return o.apply(this,arguments);if(!this._eventMap[t].has(i))return o.apply(this,arguments);const n=this._eventMap[t].get(i);return this._eventMap[t].delete(i),0===this._eventMap[t].size&&delete this._eventMap[t],0===Object.keys(this._eventMap).length&&delete this._eventMap,o.apply(this,[e,n])},Object.defineProperty(n,\"on\"+t,{get(){return this[\"_on\"+t]},set(e){this[\"_on\"+t]&&(this.removeEventListener(t,this[\"_on\"+t]),delete this[\"_on\"+t]),e&&this.addEventListener(t,this[\"_on\"+t]=e)},enumerable:!0,configurable:!0})}function UR(e){return\"boolean\"!=typeof e?new Error(\"Argument type: \"+typeof e+\". Please use a boolean.\"):(LR=e,e?\"adapter.js logging disabled\":\"adapter.js logging enabled\")}function FR(e){return\"boolean\"!=typeof e?new Error(\"Argument type: \"+typeof e+\". Please use a boolean.\"):(MR=!e,\"adapter.js deprecation warnings \"+(e?\"disabled\":\"enabled\"))}function BR(){if(\"object\"==typeof window){if(LR)return;\"undefined\"!=typeof console&&\"function\"==typeof console.log&&console.log.apply(console,arguments)}}function HR(e,t){MR&&console.warn(e+\" is deprecated, please use \"+t+\" instead.\")}function jR(e){return\"[object Object]\"===Object.prototype.toString.call(e)}function GR(e){return jR(e)?Object.keys(e).reduce((function(t,i){const n=jR(e[i]),r=n?GR(e[i]):e[i],o=n&&!Object.keys(r).length;return void 0===r||o?t:Object.assign(t,{[i]:r})}),{}):e}function WR(e,t,i){t&&!i.has(t.id)&&(i.set(t.id,t),Object.keys(t).forEach((n=>{n.endsWith(\"Id\")?WR(e,e.get(t[n]),i):n.endsWith(\"Ids\")&&t[n].forEach((t=>{WR(e,e.get(t),i)}))})))}function JR(e,t,i){const n=i?\"outbound-rtp\":\"inbound-rtp\",r=new Map;if(null===t)return r;const o=[];return e.forEach((e=>{\"track\"===e.type&&e.trackIdentifier===t.id&&o.push(e)})),o.forEach((t=>{e.forEach((i=>{i.type===n&&i.trackId===t.id&&WR(e,i,r)}))})),r}const KR=BR;function YR(e,t){const i=e&&e.navigator;if(!i.mediaDevices)return;const n=function(e){if(\"object\"!=typeof e||e.mandatory||e.optional)return e;const t={};return Object.keys(e).forEach((i=>{if(\"require\"===i||\"advanced\"===i||\"mediaSource\"===i)return;const n=\"object\"==typeof e[i]?e[i]:{ideal:e[i]};void 0!==n.exact&&\"number\"==typeof n.exact&&(n.min=n.max=n.exact);const r=function(e,t){return e?e+t.charAt(0).toUpperCase()+t.slice(1):\"deviceId\"===t?\"sourceId\":t};if(void 0!==n.ideal){t.optional=t.optional||[];let e={};\"number\"==typeof n.ideal?(e[r(\"min\",i)]=n.ideal,t.optional.push(e),e={},e[r(\"max\",i)]=n.ideal,t.optional.push(e)):(e[r(\"\",i)]=n.ideal,t.optional.push(e))}void 0!==n.exact&&\"number\"!=typeof n.exact?(t.mandatory=t.mandatory||{},t.mandatory[r(\"\",i)]=n.exact):[\"min\",\"max\"].forEach((e=>{void 0!==n[e]&&(t.mandatory=t.mandatory||{},t.mandatory[r(e,i)]=n[e])}))})),e.advanced&&(t.optional=(t.optional||[]).concat(e.advanced)),t},r=function(e,r){if(t.version>=61)return r(e);if((e=JSON.parse(JSON.stringify(e)))&&\"object\"==typeof e.audio){const t=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])};t((e=JSON.parse(JSON.stringify(e))).audio,\"autoGainControl\",\"googAutoGainControl\"),t(e.audio,\"noiseSuppression\",\"googNoiseSuppression\"),e.audio=n(e.audio)}if(e&&\"object\"==typeof e.video){let o=e.video.facingMode;o=o&&(\"object\"==typeof o?o:{ideal:o});const s=t.version<66;if(o&&(\"user\"===o.exact||\"environment\"===o.exact||\"user\"===o.ideal||\"environment\"===o.ideal)&&(!i.mediaDevices.getSupportedConstraints||!i.mediaDevices.getSupportedConstraints().facingMode||s)){let t;if(delete e.video.facingMode,\"environment\"===o.exact||\"environment\"===o.ideal?t=[\"back\",\"rear\"]:\"user\"!==o.exact&&\"user\"!==o.ideal||(t=[\"front\"]),t)return i.mediaDevices.enumerateDevices().then((i=>{i=i.filter((e=>\"videoinput\"===e.kind));let s=i.find((e=>t.some((t=>e.label.toLowerCase().includes(t)))));return!s&&i.length&&t.includes(\"back\")&&(s=i[i.length-1]),s&&(e.video.deviceId=o.exact?{exact:s.deviceId}:{ideal:s.deviceId}),e.video=n(e.video),KR(\"chrome: \"+JSON.stringify(e)),r(e)}))}e.video=n(e.video)}return KR(\"chrome: \"+JSON.stringify(e)),r(e)},o=function(e){return t.version>=64?e:{name:{PermissionDeniedError:\"NotAllowedError\",PermissionDismissedError:\"NotAllowedError\",InvalidStateError:\"NotAllowedError\",DevicesNotFoundError:\"NotFoundError\",ConstraintNotSatisfiedError:\"OverconstrainedError\",TrackStartError:\"NotReadableError\",MediaDeviceFailedDueToShutdown:\"NotAllowedError\",MediaDeviceKillSwitchOn:\"NotAllowedError\",TabCaptureError:\"AbortError\",ScreenCaptureError:\"AbortError\",DeviceCaptureError:\"AbortError\"}[e.name]||e.name,message:e.message,constraint:e.constraint||e.constraintName,toString(){return this.name+(this.message&&\": \")+this.message}}};if(i.getUserMedia=function(e,t,n){r(e,(e=>{i.webkitGetUserMedia(e,t,(e=>{n&&n(o(e))}))}))}.bind(i),i.mediaDevices.getUserMedia){const e=i.mediaDevices.getUserMedia.bind(i.mediaDevices);i.mediaDevices.getUserMedia=function(t){return r(t,(t=>e(t).then((e=>{if(t.audio&&!e.getAudioTracks().length||t.video&&!e.getVideoTracks().length)throw e.getTracks().forEach((e=>{e.stop()})),new DOMException(\"\",\"NotFoundError\");return e}),(e=>Promise.reject(o(e))))))}}}function zR(e){e.MediaStream=e.MediaStream||e.webkitMediaStream}function qR(e){if(\"object\"==typeof e&&e.RTCPeerConnection&&!(\"ontrack\"in e.RTCPeerConnection.prototype)){Object.defineProperty(e.RTCPeerConnection.prototype,\"ontrack\",{get(){return this._ontrack},set(e){this._ontrack&&this.removeEventListener(\"track\",this._ontrack),this.addEventListener(\"track\",this._ontrack=e)},enumerable:!0,configurable:!0});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){return this._ontrackpoly||(this._ontrackpoly=t=>{t.stream.addEventListener(\"addtrack\",(i=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===i.track.id)):{track:i.track};const r=new Event(\"track\");r.track=i.track,r.receiver=n,r.transceiver={receiver:n},r.streams=[t.stream],this.dispatchEvent(r)})),t.stream.getTracks().forEach((i=>{let n;n=e.RTCPeerConnection.prototype.getReceivers?this.getReceivers().find((e=>e.track&&e.track.id===i.id)):{track:i};const r=new Event(\"track\");r.track=i,r.receiver=n,r.transceiver={receiver:n},r.streams=[t.stream],this.dispatchEvent(r)}))},this.addEventListener(\"addstream\",this._ontrackpoly)),t.apply(this,arguments)}}else xR(e,\"track\",(e=>(e.transceiver||Object.defineProperty(e,\"transceiver\",{value:{receiver:e.receiver}}),e)))}function QR(e){if(\"object\"==typeof e&&e.RTCPeerConnection&&!(\"getSenders\"in e.RTCPeerConnection.prototype)&&\"createDTMFSender\"in e.RTCPeerConnection.prototype){const t=function(e,t){return{track:t,get dtmf(){return void 0===this._dtmf&&(\"audio\"===t.kind?this._dtmf=e.createDTMFSender(t):this._dtmf=null),this._dtmf},_pc:e}};if(!e.RTCPeerConnection.prototype.getSenders){e.RTCPeerConnection.prototype.getSenders=function(){return this._senders=this._senders||[],this._senders.slice()};const i=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,n){let r=i.apply(this,arguments);return r||(r=t(this,e),this._senders.push(r)),r};const n=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){n.apply(this,arguments);const t=this._senders.indexOf(e);-1!==t&&this._senders.splice(t,1)}}const i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._senders=this._senders||[],i.apply(this,[e]),e.getTracks().forEach((e=>{this._senders.push(t(this,e))}))};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){this._senders=this._senders||[],n.apply(this,[e]),e.getTracks().forEach((e=>{const t=this._senders.find((t=>t.track===e));t&&this._senders.splice(this._senders.indexOf(t),1)}))}}else if(\"object\"==typeof e&&e.RTCPeerConnection&&\"getSenders\"in e.RTCPeerConnection.prototype&&\"createDTMFSender\"in e.RTCPeerConnection.prototype&&e.RTCRtpSender&&!(\"dtmf\"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e},Object.defineProperty(e.RTCRtpSender.prototype,\"dtmf\",{get(){return void 0===this._dtmf&&(\"audio\"===this.track.kind?this._dtmf=this._pc.createDTMFSender(this.track):this._dtmf=null),this._dtmf}})}}function XR(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,i,n]=arguments;if(arguments.length>0&&\"function\"==typeof e)return t.apply(this,arguments);if(0===t.length&&(0===arguments.length||\"function\"!=typeof e))return t.apply(this,[]);const r=function(e){const t={};return e.result().forEach((e=>{const i={id:e.id,timestamp:e.timestamp,type:{localcandidate:\"local-candidate\",remotecandidate:\"remote-candidate\"}[e.type]||e.type};e.names().forEach((t=>{i[t]=e.stat(t)})),t[i.id]=i})),t},o=function(e){return new Map(Object.keys(e).map((t=>[t,e[t]])))};if(arguments.length>=2){const n=function(e){i(o(r(e)))};return t.apply(this,[n,e])}return new Promise(((e,i)=>{t.apply(this,[function(t){e(o(r(t)))},i])})).then(i,n)}}function ZR(e){if(!(\"object\"==typeof e&&e.RTCPeerConnection&&e.RTCRtpSender&&e.RTCRtpReceiver))return;if(!(\"getStats\"in e.RTCRtpSender.prototype)){const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=i.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>JR(t,e.track,!0)))}}if(!(\"getStats\"in e.RTCRtpReceiver.prototype)){const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),xR(e,\"track\",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){const e=this;return this._pc.getStats().then((t=>JR(t,e.track,!1)))}}if(!(\"getStats\"in e.RTCRtpSender.prototype)||!(\"getStats\"in e.RTCRtpReceiver.prototype))return;const t=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){if(arguments.length>0&&arguments[0]instanceof e.MediaStreamTrack){const e=arguments[0];let t,i,n;return this.getSenders().forEach((i=>{i.track===e&&(t?n=!0:t=i)})),this.getReceivers().forEach((t=>(t.track===e&&(i?n=!0:i=t),t.track===e))),n||t&&i?Promise.reject(new DOMException(\"There are more than one sender or receiver for the track.\",\"InvalidAccessError\")):t?t.getStats():i?i.getStats():Promise.reject(new DOMException(\"There is no sender or receiver for the track.\",\"InvalidAccessError\"))}return t.apply(this,arguments)}}function $R(e){e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},Object.keys(this._shimmedLocalStreams).map((e=>this._shimmedLocalStreams[e][0]))};const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addTrack=function(e,i){if(!i)return t.apply(this,arguments);this._shimmedLocalStreams=this._shimmedLocalStreams||{};const n=t.apply(this,arguments);return this._shimmedLocalStreams[i.id]?-1===this._shimmedLocalStreams[i.id].indexOf(n)&&this._shimmedLocalStreams[i.id].push(n):this._shimmedLocalStreams[i.id]=[i,n],n};const i=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(e){this._shimmedLocalStreams=this._shimmedLocalStreams||{},e.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException(\"Track already exists.\",\"InvalidAccessError\")}));const t=this.getSenders();i.apply(this,arguments);const n=this.getSenders().filter((e=>-1===t.indexOf(e)));this._shimmedLocalStreams[e.id]=[e].concat(n)};const n=e.RTCPeerConnection.prototype.removeStream;e.RTCPeerConnection.prototype.removeStream=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},delete this._shimmedLocalStreams[e.id],n.apply(this,arguments)};const r=e.RTCPeerConnection.prototype.removeTrack;e.RTCPeerConnection.prototype.removeTrack=function(e){return this._shimmedLocalStreams=this._shimmedLocalStreams||{},e&&Object.keys(this._shimmedLocalStreams).forEach((t=>{const i=this._shimmedLocalStreams[t].indexOf(e);-1!==i&&this._shimmedLocalStreams[t].splice(i,1),1===this._shimmedLocalStreams[t].length&&delete this._shimmedLocalStreams[t]})),r.apply(this,arguments)}}function eC(e,t){if(!e.RTCPeerConnection)return;if(e.RTCPeerConnection.prototype.addTrack&&t.version>=65)return $R(e);const i=e.RTCPeerConnection.prototype.getLocalStreams;e.RTCPeerConnection.prototype.getLocalStreams=function(){const e=i.apply(this);return this._reverseStreams=this._reverseStreams||{},e.map((e=>this._reverseStreams[e.id]))};const n=e.RTCPeerConnection.prototype.addStream;e.RTCPeerConnection.prototype.addStream=function(t){if(this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},t.getTracks().forEach((e=>{if(this.getSenders().find((t=>t.track===e)))throw new DOMException(\"Track already exists.\",\"InvalidAccessError\")})),!this._reverseStreams[t.id]){const i=new e.MediaStream(t.getTracks());this._streams[t.id]=i,this._reverseStreams[i.id]=t,t=i}n.apply(this,[t])};const r=e.RTCPeerConnection.prototype.removeStream;function o(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],r=e._streams[n.id];i=i.replace(new RegExp(r.id,\"g\"),n.id)})),new RTCSessionDescription({type:t.type,sdp:i})}e.RTCPeerConnection.prototype.removeStream=function(e){this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{},r.apply(this,[this._streams[e.id]||e]),delete this._reverseStreams[this._streams[e.id]?this._streams[e.id].id:e.id],delete this._streams[e.id]},e.RTCPeerConnection.prototype.addTrack=function(t,i){if(\"closed\"===this.signalingState)throw new DOMException(\"The RTCPeerConnection's signalingState is 'closed'.\",\"InvalidStateError\");const n=[].slice.call(arguments,1);if(1!==n.length||!n[0].getTracks().find((e=>e===t)))throw new DOMException(\"The adapter.js addTrack polyfill only supports a single stream which is associated with the specified track.\",\"NotSupportedError\");if(this.getSenders().find((e=>e.track===t)))throw new DOMException(\"Track already exists.\",\"InvalidAccessError\");this._streams=this._streams||{},this._reverseStreams=this._reverseStreams||{};const r=this._streams[i.id];if(r)r.addTrack(t),Promise.resolve().then((()=>{this.dispatchEvent(new Event(\"negotiationneeded\"))}));else{const n=new e.MediaStream([t]);this._streams[i.id]=n,this._reverseStreams[n.id]=i,this.addStream(n)}return this.getSenders().find((e=>e.track===t))},[\"createOffer\",\"createAnswer\"].forEach((function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){const e=arguments;return arguments.length&&\"function\"==typeof arguments[0]?i.apply(this,[t=>{const i=o(this,t);e[0].apply(null,[i])},t=>{e[1]&&e[1].apply(null,t)},arguments[2]]):i.apply(this,arguments).then((e=>o(this,e)))}};e.RTCPeerConnection.prototype[t]=n[t]}));const s=e.RTCPeerConnection.prototype.setLocalDescription;e.RTCPeerConnection.prototype.setLocalDescription=function(){return arguments.length&&arguments[0].type?(arguments[0]=function(e,t){let i=t.sdp;return Object.keys(e._reverseStreams||[]).forEach((t=>{const n=e._reverseStreams[t],r=e._streams[n.id];i=i.replace(new RegExp(n.id,\"g\"),r.id)})),new RTCSessionDescription({type:t.type,sdp:i})}(this,arguments[0]),s.apply(this,arguments)):s.apply(this,arguments)};const a=Object.getOwnPropertyDescriptor(e.RTCPeerConnection.prototype,\"localDescription\");Object.defineProperty(e.RTCPeerConnection.prototype,\"localDescription\",{get(){const e=a.get.apply(this);return\"\"===e.type?e:o(this,e)}}),e.RTCPeerConnection.prototype.removeTrack=function(e){if(\"closed\"===this.signalingState)throw new DOMException(\"The RTCPeerConnection's signalingState is 'closed'.\",\"InvalidStateError\");if(!e._pc)throw new DOMException(\"Argument 1 of RTCPeerConnection.removeTrack does not implement interface RTCRtpSender.\",\"TypeError\");if(!(e._pc===this))throw new DOMException(\"Sender was not created by this connection.\",\"InvalidAccessError\");let t;this._streams=this._streams||{},Object.keys(this._streams).forEach((i=>{this._streams[i].getTracks().find((t=>e.track===t))&&(t=this._streams[i])})),t&&(1===t.getTracks().length?this.removeStream(this._reverseStreams[t.id]):t.removeTrack(e.track),this.dispatchEvent(new Event(\"negotiationneeded\")))}}function tC(e,t){!e.RTCPeerConnection&&e.webkitRTCPeerConnection&&(e.RTCPeerConnection=e.webkitRTCPeerConnection),e.RTCPeerConnection&&t.version<53&&[\"setLocalDescription\",\"setRemoteDescription\",\"addIceCandidate\"].forEach((function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new(\"addIceCandidate\"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}))}function iC(e,t){xR(e,\"negotiationneeded\",(e=>{const i=e.target;if(!(t.version<72||i.getConfiguration&&\"plan-b\"===i.getConfiguration().sdpSemantics)||\"stable\"===i.signalingState)return e}))}var nC=Object.freeze({__proto__:null,shimMediaStream:zR,shimOnTrack:qR,shimGetSendersWithDtmf:QR,shimGetStats:XR,shimSenderReceiverGetStats:ZR,shimAddTrackRemoveTrackWithNative:$R,shimAddTrackRemoveTrack:eC,shimPeerConnection:tC,fixNegotiationNeeded:iC,shimGetUserMedia:YR,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&\"getDisplayMedia\"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(\"function\"==typeof t?e.navigator.mediaDevices.getDisplayMedia=function(i){return t(i).then((t=>{const n=i.video&&i.video.width,r=i.video&&i.video.height,o=i.video&&i.video.frameRate;return i.video={mandatory:{chromeMediaSource:\"desktop\",chromeMediaSourceId:t,maxFrameRate:o||3}},n&&(i.video.mandatory.maxWidth=n),r&&(i.video.mandatory.maxHeight=r),e.navigator.mediaDevices.getUserMedia(i)}))}:console.error(\"shimGetDisplayMedia: getSourceId argument is not a function\"))}});function rC(e,t){const i=e&&e.navigator,n=e&&e.MediaStreamTrack;if(i.getUserMedia=function(e,t,n){HR(\"navigator.getUserMedia\",\"navigator.mediaDevices.getUserMedia\"),i.mediaDevices.getUserMedia(e).then(t,n)},!(t.version>55&&\"autoGainControl\"in i.mediaDevices.getSupportedConstraints())){const e=function(e,t,i){t in e&&!(i in e)&&(e[i]=e[t],delete e[t])},t=i.mediaDevices.getUserMedia.bind(i.mediaDevices);if(i.mediaDevices.getUserMedia=function(i){return\"object\"==typeof i&&\"object\"==typeof i.audio&&(i=JSON.parse(JSON.stringify(i)),e(i.audio,\"autoGainControl\",\"mozAutoGainControl\"),e(i.audio,\"noiseSuppression\",\"mozNoiseSuppression\")),t(i)},n&&n.prototype.getSettings){const t=n.prototype.getSettings;n.prototype.getSettings=function(){const i=t.apply(this,arguments);return e(i,\"mozAutoGainControl\",\"autoGainControl\"),e(i,\"mozNoiseSuppression\",\"noiseSuppression\"),i}}if(n&&n.prototype.applyConstraints){const t=n.prototype.applyConstraints;n.prototype.applyConstraints=function(i){return\"audio\"===this.kind&&\"object\"==typeof i&&(i=JSON.parse(JSON.stringify(i)),e(i,\"autoGainControl\",\"mozAutoGainControl\"),e(i,\"noiseSuppression\",\"mozNoiseSuppression\")),t.apply(this,[i])}}}}function oC(e){\"object\"==typeof e&&e.RTCTrackEvent&&\"receiver\"in e.RTCTrackEvent.prototype&&!(\"transceiver\"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,\"transceiver\",{get(){return{receiver:this.receiver}}})}function sC(e,t){if(\"object\"!=typeof e||!e.RTCPeerConnection&&!e.mozRTCPeerConnection)return;!e.RTCPeerConnection&&e.mozRTCPeerConnection&&(e.RTCPeerConnection=e.mozRTCPeerConnection),t.version<53&&[\"setLocalDescription\",\"setRemoteDescription\",\"addIceCandidate\"].forEach((function(t){const i=e.RTCPeerConnection.prototype[t],n={[t](){return arguments[0]=new(\"addIceCandidate\"===t?e.RTCIceCandidate:e.RTCSessionDescription)(arguments[0]),i.apply(this,arguments)}};e.RTCPeerConnection.prototype[t]=n[t]}));const i={inboundrtp:\"inbound-rtp\",outboundrtp:\"outbound-rtp\",candidatepair:\"candidate-pair\",localcandidate:\"local-candidate\",remotecandidate:\"remote-candidate\"},n=e.RTCPeerConnection.prototype.getStats;e.RTCPeerConnection.prototype.getStats=function(){const[e,r,o]=arguments;return n.apply(this,[e||null]).then((e=>{if(t.version<53&&!r)try{e.forEach((e=>{e.type=i[e.type]||e.type}))}catch(sN){if(\"TypeError\"!==sN.name)throw sN;e.forEach(((t,n)=>{e.set(n,Object.assign({},t,{type:i[t.type]||t.type}))}))}return e})).then(r,o)}}function aC(e){if(\"object\"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&\"getStats\"in e.RTCRtpSender.prototype)return;const t=e.RTCPeerConnection.prototype.getSenders;t&&(e.RTCPeerConnection.prototype.getSenders=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e});const i=e.RTCPeerConnection.prototype.addTrack;i&&(e.RTCPeerConnection.prototype.addTrack=function(){const e=i.apply(this,arguments);return e._pc=this,e}),e.RTCRtpSender.prototype.getStats=function(){return this.track?this._pc.getStats(this.track):Promise.resolve(new Map)}}function cC(e){if(\"object\"!=typeof e||!e.RTCPeerConnection||!e.RTCRtpSender)return;if(e.RTCRtpSender&&\"getStats\"in e.RTCRtpReceiver.prototype)return;const t=e.RTCPeerConnection.prototype.getReceivers;t&&(e.RTCPeerConnection.prototype.getReceivers=function(){const e=t.apply(this,[]);return e.forEach((e=>e._pc=this)),e}),xR(e,\"track\",(e=>(e.receiver._pc=e.srcElement,e))),e.RTCRtpReceiver.prototype.getStats=function(){return this._pc.getStats(this.track)}}function lC(e){e.RTCPeerConnection&&!(\"removeStream\"in e.RTCPeerConnection.prototype)&&(e.RTCPeerConnection.prototype.removeStream=function(e){HR(\"removeStream\",\"removeTrack\"),this.getSenders().forEach((t=>{t.track&&e.getTracks().includes(t.track)&&this.removeTrack(t)}))})}function dC(e){e.DataChannel&&!e.RTCDataChannel&&(e.RTCDataChannel=e.DataChannel)}function uC(e){if(\"object\"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.addTransceiver;t&&(e.RTCPeerConnection.prototype.addTransceiver=function(){this.setParametersPromises=[];let e=arguments[1]&&arguments[1].sendEncodings;void 0===e&&(e=[]),e=[...e];const i=e.length>0;i&&e.forEach((e=>{if(\"rid\"in e){if(!/^[a-z0-9]{0,16}$/i.test(e.rid))throw new TypeError(\"Invalid RID value provided.\")}if(\"scaleResolutionDownBy\"in e&&!(parseFloat(e.scaleResolutionDownBy)>=1))throw new RangeError(\"scale_resolution_down_by must be >= 1.0\");if(\"maxFramerate\"in e&&!(parseFloat(e.maxFramerate)>=0))throw new RangeError(\"max_framerate must be >= 0.0\")}));const n=t.apply(this,arguments);if(i){const{sender:t}=n,i=t.getParameters();(!(\"encodings\"in i)||1===i.encodings.length&&0===Object.keys(i.encodings[0]).length)&&(i.encodings=e,t.sendEncodings=e,this.setParametersPromises.push(t.setParameters(i).then((()=>{delete t.sendEncodings})).catch((()=>{delete t.sendEncodings}))))}return n})}function hC(e){if(\"object\"!=typeof e||!e.RTCRtpSender)return;const t=e.RTCRtpSender.prototype.getParameters;t&&(e.RTCRtpSender.prototype.getParameters=function(){const e=t.apply(this,arguments);return\"encodings\"in e||(e.encodings=[].concat(this.sendEncodings||[{}])),e})}function pC(e){if(\"object\"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}function _C(e){if(\"object\"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype.createAnswer;e.RTCPeerConnection.prototype.createAnswer=function(){return this.setParametersPromises&&this.setParametersPromises.length?Promise.all(this.setParametersPromises).then((()=>t.apply(this,arguments))).finally((()=>{this.setParametersPromises=[]})):t.apply(this,arguments)}}var mC=Object.freeze({__proto__:null,shimOnTrack:oC,shimPeerConnection:sC,shimSenderGetStats:aC,shimReceiverGetStats:cC,shimRemoveStream:lC,shimRTCDataChannel:dC,shimAddTransceiver:uC,shimGetParameters:hC,shimCreateOffer:pC,shimCreateAnswer:_C,shimGetUserMedia:rC,shimGetDisplayMedia:function(e,t){e.navigator.mediaDevices&&\"getDisplayMedia\"in e.navigator.mediaDevices||e.navigator.mediaDevices&&(e.navigator.mediaDevices.getDisplayMedia=function(i){if(!i||!i.video){const e=new DOMException(\"getDisplayMedia without video constraints is undefined\");return e.name=\"NotFoundError\",e.code=8,Promise.reject(e)}return!0===i.video?i.video={mediaSource:t}:i.video.mediaSource=t,e.navigator.mediaDevices.getUserMedia(i)})}});function fC(e){if(\"object\"==typeof e&&e.RTCPeerConnection){if(\"getLocalStreams\"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getLocalStreams=function(){return this._localStreams||(this._localStreams=[]),this._localStreams}),!(\"addStream\"in e.RTCPeerConnection.prototype)){const t=e.RTCPeerConnection.prototype.addTrack;e.RTCPeerConnection.prototype.addStream=function(e){this._localStreams||(this._localStreams=[]),this._localStreams.includes(e)||this._localStreams.push(e),e.getAudioTracks().forEach((i=>t.call(this,i,e))),e.getVideoTracks().forEach((i=>t.call(this,i,e)))},e.RTCPeerConnection.prototype.addTrack=function(e,...i){return i&&i.forEach((e=>{this._localStreams?this._localStreams.includes(e)||this._localStreams.push(e):this._localStreams=[e]})),t.apply(this,arguments)}}\"removeStream\"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.removeStream=function(e){this._localStreams||(this._localStreams=[]);const t=this._localStreams.indexOf(e);if(-1===t)return;this._localStreams.splice(t,1);const i=e.getTracks();this.getSenders().forEach((e=>{i.includes(e.track)&&this.removeTrack(e)}))})}}function gC(e){if(\"object\"==typeof e&&e.RTCPeerConnection&&(\"getRemoteStreams\"in e.RTCPeerConnection.prototype||(e.RTCPeerConnection.prototype.getRemoteStreams=function(){return this._remoteStreams?this._remoteStreams:[]}),!(\"onaddstream\"in e.RTCPeerConnection.prototype))){Object.defineProperty(e.RTCPeerConnection.prototype,\"onaddstream\",{get(){return this._onaddstream},set(e){this._onaddstream&&(this.removeEventListener(\"addstream\",this._onaddstream),this.removeEventListener(\"track\",this._onaddstreampoly)),this.addEventListener(\"addstream\",this._onaddstream=e),this.addEventListener(\"track\",this._onaddstreampoly=e=>{e.streams.forEach((e=>{if(this._remoteStreams||(this._remoteStreams=[]),this._remoteStreams.includes(e))return;this._remoteStreams.push(e);const t=new Event(\"addstream\");t.stream=e,this.dispatchEvent(t)}))})}});const t=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){const e=this;return this._onaddstreampoly||this.addEventListener(\"track\",this._onaddstreampoly=function(t){t.streams.forEach((t=>{if(e._remoteStreams||(e._remoteStreams=[]),e._remoteStreams.indexOf(t)>=0)return;e._remoteStreams.push(t);const i=new Event(\"addstream\");i.stream=t,e.dispatchEvent(i)}))}),t.apply(e,arguments)}}}function TC(e){if(\"object\"!=typeof e||!e.RTCPeerConnection)return;const t=e.RTCPeerConnection.prototype,i=t.createOffer,n=t.createAnswer,r=t.setLocalDescription,o=t.setRemoteDescription,s=t.addIceCandidate;t.createOffer=function(e,t){const n=arguments.length>=2?arguments[2]:arguments[0],r=i.apply(this,[n]);return t?(r.then(e,t),Promise.resolve()):r},t.createAnswer=function(e,t){const i=arguments.length>=2?arguments[2]:arguments[0],r=n.apply(this,[i]);return t?(r.then(e,t),Promise.resolve()):r};let a=function(e,t,i){const n=r.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n};t.setLocalDescription=a,a=function(e,t,i){const n=o.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n},t.setRemoteDescription=a,a=function(e,t,i){const n=s.apply(this,[e]);return i?(n.then(t,i),Promise.resolve()):n},t.addIceCandidate=a}function EC(e){const t=e&&e.navigator;if(t.mediaDevices&&t.mediaDevices.getUserMedia){const e=t.mediaDevices,i=e.getUserMedia.bind(e);t.mediaDevices.getUserMedia=e=>i(SC(e))}!t.getUserMedia&&t.mediaDevices&&t.mediaDevices.getUserMedia&&(t.getUserMedia=function(e,i,n){t.mediaDevices.getUserMedia(e).then(i,n)}.bind(t))}function SC(e){return e&&void 0!==e.video?Object.assign({},e,{video:GR(e.video)}):e}function IC(e){if(!e.RTCPeerConnection)return;const t=e.RTCPeerConnection;e.RTCPeerConnection=function(e,i){if(e&&e.iceServers){const t=[];for(let i=0;it.generateCertificate})}function vC(e){\"object\"==typeof e&&e.RTCTrackEvent&&\"receiver\"in e.RTCTrackEvent.prototype&&!(\"transceiver\"in e.RTCTrackEvent.prototype)&&Object.defineProperty(e.RTCTrackEvent.prototype,\"transceiver\",{get(){return{receiver:this.receiver}}})}function yC(e){const t=e.RTCPeerConnection.prototype.createOffer;e.RTCPeerConnection.prototype.createOffer=function(e){if(e){void 0!==e.offerToReceiveAudio&&(e.offerToReceiveAudio=!!e.offerToReceiveAudio);const t=this.getTransceivers().find((e=>\"audio\"===e.receiver.track.kind));!1===e.offerToReceiveAudio&&t?\"sendrecv\"===t.direction?t.setDirection?t.setDirection(\"sendonly\"):t.direction=\"sendonly\":\"recvonly\"===t.direction&&(t.setDirection?t.setDirection(\"inactive\"):t.direction=\"inactive\"):!0!==e.offerToReceiveAudio||t||this.addTransceiver(\"audio\",{direction:\"recvonly\"}),void 0!==e.offerToReceiveVideo&&(e.offerToReceiveVideo=!!e.offerToReceiveVideo);const i=this.getTransceivers().find((e=>\"video\"===e.receiver.track.kind));!1===e.offerToReceiveVideo&&i?\"sendrecv\"===i.direction?i.setDirection?i.setDirection(\"sendonly\"):i.direction=\"sendonly\":\"recvonly\"===i.direction&&(i.setDirection?i.setDirection(\"inactive\"):i.direction=\"inactive\"):!0!==e.offerToReceiveVideo||i||this.addTransceiver(\"video\",{direction:\"recvonly\"})}return t.apply(this,arguments)}}function AC(e){\"object\"!=typeof e||e.AudioContext||(e.AudioContext=e.webkitAudioContext)}var RC=Object.freeze({__proto__:null,shimLocalStreamsAPI:fC,shimRemoteStreamsAPI:gC,shimCallbacksAPI:TC,shimGetUserMedia:EC,shimConstraints:SC,shimRTCIceServerUrls:IC,shimTrackEventTransceiver:vC,shimCreateOfferLegacy:yC,shimAudioContext:AC}),CC={},bC={get exports(){return CC},set exports(e){CC=e}};!function(e){const t={generateIdentifier:function(){return Math.random().toString(36).substring(2,12)}};t.localCName=t.generateIdentifier(),t.splitLines=function(e){return e.trim().split(\"\\n\").map((e=>e.trim()))},t.splitSections=function(e){return e.split(\"\\nm=\").map(((e,t)=>(t>0?\"m=\"+e:e).trim()+\"\\r\\n\"))},t.getDescription=function(e){const i=t.splitSections(e);return i&&i[0]},t.getMediaSections=function(e){const i=t.splitSections(e);return i.shift(),i},t.matchPrefix=function(e,i){return t.splitLines(e).filter((e=>0===e.indexOf(i)))},t.parseCandidate=function(e){let t;t=0===e.indexOf(\"a=candidate:\")?e.substring(12).split(\" \"):e.substring(10).split(\" \");const i={foundation:t[0],component:{1:\"rtp\",2:\"rtcp\"}[t[1]]||t[1],protocol:t[2].toLowerCase(),priority:parseInt(t[3],10),ip:t[4],address:t[4],port:parseInt(t[5],10),type:t[7]};for(let n=8;n0?t[0].split(\"/\")[1]:\"sendrecv\",uri:t[1],attributes:t.slice(2).join(\" \")}},t.writeExtmap=function(e){return\"a=extmap:\"+(e.id||e.preferredId)+(e.direction&&\"sendrecv\"!==e.direction?\"/\"+e.direction:\"\")+\" \"+e.uri+(e.attributes?\" \"+e.attributes:\"\")+\"\\r\\n\"},t.parseFmtp=function(e){const t={};let i;const n=e.substring(e.indexOf(\" \")+1).split(\";\");for(let r=0;r{void 0!==e.parameters[t]?n.push(t+\"=\"+e.parameters[t]):n.push(t)})),t+=\"a=fmtp:\"+i+\" \"+n.join(\";\")+\"\\r\\n\"}return t},t.parseRtcpFb=function(e){const t=e.substring(e.indexOf(\" \")+1).split(\" \");return{type:t.shift(),parameter:t.join(\" \")}},t.writeRtcpFb=function(e){let t=\"\",i=e.payloadType;return void 0!==e.preferredPayloadType&&(i=e.preferredPayloadType),e.rtcpFeedback&&e.rtcpFeedback.length&&e.rtcpFeedback.forEach((e=>{t+=\"a=rtcp-fb:\"+i+\" \"+e.type+(e.parameter&&e.parameter.length?\" \"+e.parameter:\"\")+\"\\r\\n\"})),t},t.parseSsrcMedia=function(e){const t=e.indexOf(\" \"),i={ssrc:parseInt(e.substring(7,t),10)},n=e.indexOf(\":\",t);return n>-1?(i.attribute=e.substring(t+1,n),i.value=e.substring(n+1)):i.attribute=e.substring(t+1),i},t.parseSsrcGroup=function(e){const t=e.substring(13).split(\" \");return{semantics:t.shift(),ssrcs:t.map((e=>parseInt(e,10)))}},t.getMid=function(e){const i=t.matchPrefix(e,\"a=mid:\")[0];if(i)return i.substring(6)},t.parseFingerprint=function(e){const t=e.substring(14).split(\" \");return{algorithm:t[0].toLowerCase(),value:t[1].toUpperCase()}},t.getDtlsParameters=function(e,i){return{role:\"auto\",fingerprints:t.matchPrefix(e+i,\"a=fingerprint:\").map(t.parseFingerprint)}},t.writeDtlsParameters=function(e,t){let i=\"a=setup:\"+t+\"\\r\\n\";return e.fingerprints.forEach((e=>{i+=\"a=fingerprint:\"+e.algorithm+\" \"+e.value+\"\\r\\n\"})),i},t.parseCryptoLine=function(e){const t=e.substring(9).split(\" \");return{tag:parseInt(t[0],10),cryptoSuite:t[1],keyParams:t[2],sessionParams:t.slice(3)}},t.writeCryptoLine=function(e){return\"a=crypto:\"+e.tag+\" \"+e.cryptoSuite+\" \"+(\"object\"==typeof e.keyParams?t.writeCryptoKeyParams(e.keyParams):e.keyParams)+(e.sessionParams?\" \"+e.sessionParams.join(\" \"):\"\")+\"\\r\\n\"},t.parseCryptoKeyParams=function(e){if(0!==e.indexOf(\"inline:\"))return null;const t=e.substring(7).split(\"|\");return{keyMethod:\"inline\",keySalt:t[0],lifeTime:t[1],mkiValue:t[2]?t[2].split(\":\")[0]:void 0,mkiLength:t[2]?t[2].split(\":\")[1]:void 0}},t.writeCryptoKeyParams=function(e){return e.keyMethod+\":\"+e.keySalt+(e.lifeTime?\"|\"+e.lifeTime:\"\")+(e.mkiValue&&e.mkiLength?\"|\"+e.mkiValue+\":\"+e.mkiLength:\"\")},t.getCryptoParameters=function(e,i){return t.matchPrefix(e+i,\"a=crypto:\").map(t.parseCryptoLine)},t.getIceParameters=function(e,i){const n=t.matchPrefix(e+i,\"a=ice-ufrag:\")[0],r=t.matchPrefix(e+i,\"a=ice-pwd:\")[0];return n&&r?{usernameFragment:n.substring(12),password:r.substring(10)}:null},t.writeIceParameters=function(e){let t=\"a=ice-ufrag:\"+e.usernameFragment+\"\\r\\na=ice-pwd:\"+e.password+\"\\r\\n\";return e.iceLite&&(t+=\"a=ice-lite\\r\\n\"),t},t.parseRtpParameters=function(e){const i={codecs:[],headerExtensions:[],fecMechanisms:[],rtcp:[]},n=t.splitLines(e)[0].split(\" \");i.profile=n[2];for(let o=3;o{i.headerExtensions.push(t.parseExtmap(e))}));const r=t.matchPrefix(e,\"a=rtcp-fb:* \").map(t.parseRtcpFb);return i.codecs.forEach((e=>{r.forEach((t=>{e.rtcpFeedback.find((e=>e.type===t.type&&e.parameter===t.parameter))||e.rtcpFeedback.push(t)}))})),i},t.writeRtpDescription=function(e,i){let n=\"\";n+=\"m=\"+e+\" \",n+=i.codecs.length>0?\"9\":\"0\",n+=\" \"+(i.profile||\"UDP/TLS/RTP/SAVPF\")+\" \",n+=i.codecs.map((e=>void 0!==e.preferredPayloadType?e.preferredPayloadType:e.payloadType)).join(\" \")+\"\\r\\n\",n+=\"c=IN IP4 0.0.0.0\\r\\n\",n+=\"a=rtcp:9 IN IP4 0.0.0.0\\r\\n\",i.codecs.forEach((e=>{n+=t.writeRtpMap(e),n+=t.writeFmtp(e),n+=t.writeRtcpFb(e)}));let r=0;return i.codecs.forEach((e=>{e.maxptime>r&&(r=e.maxptime)})),r>0&&(n+=\"a=maxptime:\"+r+\"\\r\\n\"),i.headerExtensions&&i.headerExtensions.forEach((e=>{n+=t.writeExtmap(e)})),n},t.parseRtpEncodingParameters=function(e){const i=[],n=t.parseRtpParameters(e),r=-1!==n.fecMechanisms.indexOf(\"RED\"),o=-1!==n.fecMechanisms.indexOf(\"ULPFEC\"),s=t.matchPrefix(e,\"a=ssrc:\").map((e=>t.parseSsrcMedia(e))).filter((e=>\"cname\"===e.attribute)),a=s.length>0&&s[0].ssrc;let c;const l=t.matchPrefix(e,\"a=ssrc-group:FID\").map((e=>e.substring(17).split(\" \").map((e=>parseInt(e,10)))));l.length>0&&l[0].length>1&&l[0][0]===a&&(c=l[0][1]),n.codecs.forEach((e=>{if(\"RTX\"===e.name.toUpperCase()&&e.parameters.apt){let t={ssrc:a,codecPayloadType:parseInt(e.parameters.apt,10)};a&&c&&(t.rtx={ssrc:c}),i.push(t),r&&(t=JSON.parse(JSON.stringify(t)),t.fec={ssrc:a,mechanism:o?\"red+ulpfec\":\"red\"},i.push(t))}})),0===i.length&&a&&i.push({ssrc:a});let d=t.matchPrefix(e,\"b=\");return d.length&&(d=0===d[0].indexOf(\"b=TIAS:\")?parseInt(d[0].substring(7),10):0===d[0].indexOf(\"b=AS:\")?1e3*parseInt(d[0].substring(5),10)*.95-16e3:void 0,i.forEach((e=>{e.maxBitrate=d}))),i},t.parseRtcpParameters=function(e){const i={},n=t.matchPrefix(e,\"a=ssrc:\").map((e=>t.parseSsrcMedia(e))).filter((e=>\"cname\"===e.attribute))[0];n&&(i.cname=n.value,i.ssrc=n.ssrc);const r=t.matchPrefix(e,\"a=rtcp-rsize\");i.reducedSize=r.length>0,i.compound=0===r.length;const o=t.matchPrefix(e,\"a=rtcp-mux\");return i.mux=o.length>0,i},t.writeRtcpParameters=function(e){let t=\"\";return e.reducedSize&&(t+=\"a=rtcp-rsize\\r\\n\"),e.mux&&(t+=\"a=rtcp-mux\\r\\n\"),void 0!==e.ssrc&&e.cname&&(t+=\"a=ssrc:\"+e.ssrc+\" cname:\"+e.cname+\"\\r\\n\"),t},t.parseMsid=function(e){let i;const n=t.matchPrefix(e,\"a=msid:\");if(1===n.length)return i=n[0].substring(7).split(\" \"),{stream:i[0],track:i[1]};const r=t.matchPrefix(e,\"a=ssrc:\").map((e=>t.parseSsrcMedia(e))).filter((e=>\"msid\"===e.attribute));return r.length>0?(i=r[0].value.split(\" \"),{stream:i[0],track:i[1]}):void 0},t.parseSctpDescription=function(e){const i=t.parseMLine(e),n=t.matchPrefix(e,\"a=max-message-size:\");let r;n.length>0&&(r=parseInt(n[0].substring(19),10)),isNaN(r)&&(r=65536);const o=t.matchPrefix(e,\"a=sctp-port:\");if(o.length>0)return{port:parseInt(o[0].substring(12),10),protocol:i.fmt,maxMessageSize:r};const s=t.matchPrefix(e,\"a=sctpmap:\");if(s.length>0){const e=s[0].substring(10).split(\" \");return{port:parseInt(e[0],10),protocol:e[1],maxMessageSize:r}}},t.writeSctpDescription=function(e,t){let i=[];return i=\"DTLS/SCTP\"!==e.protocol?[\"m=\"+e.kind+\" 9 \"+e.protocol+\" \"+t.protocol+\"\\r\\n\",\"c=IN IP4 0.0.0.0\\r\\n\",\"a=sctp-port:\"+t.port+\"\\r\\n\"]:[\"m=\"+e.kind+\" 9 \"+e.protocol+\" \"+t.port+\"\\r\\n\",\"c=IN IP4 0.0.0.0\\r\\n\",\"a=sctpmap:\"+t.port+\" \"+t.protocol+\" 65535\\r\\n\"],void 0!==t.maxMessageSize&&i.push(\"a=max-message-size:\"+t.maxMessageSize+\"\\r\\n\"),i.join(\"\")},t.generateSessionId=function(){return Math.random().toString().substr(2,22)},t.writeSessionBoilerplate=function(e,i,n){let r;const o=void 0!==i?i:2;r=e||t.generateSessionId();return\"v=0\\r\\no=\"+(n||\"thisisadapterortc\")+\" \"+r+\" \"+o+\" IN IP4 127.0.0.1\\r\\ns=-\\r\\nt=0 0\\r\\n\"},t.getDirection=function(e,i){const n=t.splitLines(e);for(let t=0;t(t.candidate&&Object.defineProperty(t,\"candidate\",{value:new e.RTCIceCandidate(t.candidate),writable:\"false\"}),t)))}function OC(e){!e.RTCIceCandidate||e.RTCIceCandidate&&\"relayProtocol\"in e.RTCIceCandidate.prototype||xR(e,\"icecandidate\",(e=>{if(e.candidate){const t=kC.parseCandidate(e.candidate.candidate);\"relay\"===t.type&&(e.candidate.relayProtocol={0:\"tls\",1:\"tcp\",2:\"udp\"}[t.priority>>24])}return e}))}function wC(e,t){if(!e.RTCPeerConnection)return;\"sctp\"in e.RTCPeerConnection.prototype||Object.defineProperty(e.RTCPeerConnection.prototype,\"sctp\",{get(){return void 0===this._sctp?null:this._sctp}});const i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(){if(this._sctp=null,\"chrome\"===t.browser&&t.version>=76){const{sdpSemantics:e}=this.getConfiguration();\"plan-b\"===e&&Object.defineProperty(this,\"sctp\",{get(){return void 0===this._sctp?null:this._sctp},enumerable:!0,configurable:!0})}if(function(e){if(!e||!e.sdp)return!1;const t=kC.splitSections(e.sdp);return t.shift(),t.some((e=>{const t=kC.parseMLine(e);return t&&\"application\"===t.kind&&-1!==t.protocol.indexOf(\"SCTP\")}))}(arguments[0])){const e=function(e){const t=e.sdp.match(/mozilla...THIS_IS_SDPARTA-(\\d+)/);if(null===t||t.length<2)return-1;const i=parseInt(t[1],10);return i!=i?-1:i}(arguments[0]),i=function(e){let i=65536;return\"firefox\"===t.browser&&(i=t.version<57?-1===e?16384:2147483637:t.version<60?57===t.version?65535:65536:2147483637),i}(e),n=function(e,i){let n=65536;\"firefox\"===t.browser&&57===t.version&&(n=65535);const r=kC.matchPrefix(e.sdp,\"a=max-message-size:\");return r.length>0?n=parseInt(r[0].substring(19),10):\"firefox\"===t.browser&&-1!==i&&(n=2147483637),n}(arguments[0],e);let r;r=0===i&&0===n?Number.POSITIVE_INFINITY:0===i||0===n?Math.max(i,n):Math.min(i,n);const o={};Object.defineProperty(o,\"maxMessageSize\",{get:()=>r}),this._sctp=o}return i.apply(this,arguments)}}function PC(e){if(!e.RTCPeerConnection||!(\"createDataChannel\"in e.RTCPeerConnection.prototype))return;function t(e,t){const i=e.send;e.send=function(){const n=arguments[0],r=n.length||n.size||n.byteLength;if(\"open\"===e.readyState&&t.sctp&&r>t.sctp.maxMessageSize)throw new TypeError(\"Message too large (can send a maximum of \"+t.sctp.maxMessageSize+\" bytes)\");return i.apply(e,arguments)}}const i=e.RTCPeerConnection.prototype.createDataChannel;e.RTCPeerConnection.prototype.createDataChannel=function(){const e=i.apply(this,arguments);return t(e,this),e},xR(e,\"datachannel\",(e=>(t(e.channel,e.target),e)))}function LC(e){if(!e.RTCPeerConnection||\"connectionState\"in e.RTCPeerConnection.prototype)return;const t=e.RTCPeerConnection.prototype;Object.defineProperty(t,\"connectionState\",{get(){return{completed:\"connected\",checking:\"connecting\"}[this.iceConnectionState]||this.iceConnectionState},enumerable:!0,configurable:!0}),Object.defineProperty(t,\"onconnectionstatechange\",{get(){return this._onconnectionstatechange||null},set(e){this._onconnectionstatechange&&(this.removeEventListener(\"connectionstatechange\",this._onconnectionstatechange),delete this._onconnectionstatechange),e&&this.addEventListener(\"connectionstatechange\",this._onconnectionstatechange=e)},enumerable:!0,configurable:!0}),[\"setLocalDescription\",\"setRemoteDescription\"].forEach((e=>{const i=t[e];t[e]=function(){return this._connectionstatechangepoly||(this._connectionstatechangepoly=e=>{const t=e.target;if(t._lastConnectionState!==t.connectionState){t._lastConnectionState=t.connectionState;const i=new Event(\"connectionstatechange\",e);t.dispatchEvent(i)}return e},this.addEventListener(\"iceconnectionstatechange\",this._connectionstatechangepoly)),i.apply(this,arguments)}}))}function MC(e,t){if(!e.RTCPeerConnection)return;if(\"chrome\"===t.browser&&t.version>=71)return;if(\"safari\"===t.browser&&t.version>=605)return;const i=e.RTCPeerConnection.prototype.setRemoteDescription;e.RTCPeerConnection.prototype.setRemoteDescription=function(t){if(t&&t.sdp&&-1!==t.sdp.indexOf(\"\\na=extmap-allow-mixed\")){const i=t.sdp.split(\"\\n\").filter((e=>\"a=extmap-allow-mixed\"!==e.trim())).join(\"\\n\");e.RTCSessionDescription&&t instanceof e.RTCSessionDescription?arguments[0]=new e.RTCSessionDescription({type:t.type,sdp:i}):t.sdp=i}return i.apply(this,arguments)}}function VC(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const i=e.RTCPeerConnection.prototype.addIceCandidate;i&&0!==i.length&&(e.RTCPeerConnection.prototype.addIceCandidate=function(){return arguments[0]?(\"chrome\"===t.browser&&t.version<78||\"firefox\"===t.browser&&t.version<68||\"safari\"===t.browser)&&arguments[0]&&\"\"===arguments[0].candidate?Promise.resolve():i.apply(this,arguments):(arguments[1]&&arguments[1].apply(null),Promise.resolve())})}function xC(e,t){if(!e.RTCPeerConnection||!e.RTCPeerConnection.prototype)return;const i=e.RTCPeerConnection.prototype.setLocalDescription;i&&0!==i.length&&(e.RTCPeerConnection.prototype.setLocalDescription=function(){let e=arguments[0]||{};if(\"object\"!=typeof e||e.type&&e.sdp)return i.apply(this,arguments);if(e={type:e.type,sdp:e.sdp},!e.type)switch(this.signalingState){case\"stable\":case\"have-local-offer\":case\"have-remote-pranswer\":e.type=\"offer\";break;default:e.type=\"answer\"}if(e.sdp||\"offer\"!==e.type&&\"answer\"!==e.type)return i.apply(this,[e]);return(\"offer\"===e.type?this.createOffer:this.createAnswer).apply(this).then((e=>i.apply(this,[e])))})}var UC=Object.freeze({__proto__:null,shimRTCIceCandidate:DC,shimRTCIceCandidateRelayProtocol:OC,shimMaxMessageSize:wC,shimSendThrowTypeError:PC,shimConnectionState:LC,removeExtmapAllowMixed:MC,shimAddIceCandidateNullOrEmpty:VC,shimParameterlessSetLocalDescription:xC});!function({window:e}={},t={shimChrome:!0,shimFirefox:!0,shimSafari:!0}){const i=BR,n=function(e){const t={browser:null,version:null};if(void 0===e||!e.navigator||!e.navigator.userAgent)return t.browser=\"Not a browser.\",t;const{navigator:i}=e;if(i.mozGetUserMedia)t.browser=\"firefox\",t.version=VR(i.userAgent,/Firefox\\/(\\d+)\\./,1);else if(i.webkitGetUserMedia||!1===e.isSecureContext&&e.webkitRTCPeerConnection)t.browser=\"chrome\",t.version=VR(i.userAgent,/Chrom(e|ium)\\/(\\d+)\\./,2);else{if(!e.RTCPeerConnection||!i.userAgent.match(/AppleWebKit\\/(\\d+)\\./))return t.browser=\"Not a supported browser.\",t;t.browser=\"safari\",t.version=VR(i.userAgent,/AppleWebKit\\/(\\d+)\\./,1),t.supportsUnifiedPlan=e.RTCRtpTransceiver&&\"currentDirection\"in e.RTCRtpTransceiver.prototype}return t}(e),r={browserDetails:n,commonShim:UC,extractVersion:VR,disableLog:UR,disableWarnings:FR,sdp:NC};switch(n.browser){case\"chrome\":if(!nC||!tC||!t.shimChrome)return i(\"Chrome shim is not included in this adapter release.\"),r;if(null===n.version)return i(\"Chrome shim can not determine version, not shimming.\"),r;i(\"adapter.js shimming chrome.\"),r.browserShim=nC,VC(e,n),xC(e),YR(e,n),zR(e),tC(e,n),qR(e),eC(e,n),QR(e),XR(e),ZR(e),iC(e,n),DC(e),OC(e),LC(e),wC(e,n),PC(e),MC(e,n);break;case\"firefox\":if(!mC||!sC||!t.shimFirefox)return i(\"Firefox shim is not included in this adapter release.\"),r;i(\"adapter.js shimming firefox.\"),r.browserShim=mC,VC(e,n),xC(e),rC(e,n),sC(e,n),oC(e),lC(e),aC(e),cC(e),dC(e),uC(e),hC(e),pC(e),_C(e),DC(e),LC(e),wC(e,n),PC(e);break;case\"safari\":if(!RC||!t.shimSafari)return i(\"Safari shim is not included in this adapter release.\"),r;i(\"adapter.js shimming safari.\"),r.browserShim=RC,VC(e,n),xC(e),IC(e),yC(e),TC(e),fC(e),gC(e),vC(e),EC(e),AC(e),DC(e),OC(e),wC(e,n),PC(e),MC(e,n);break;default:i(\"Unsupported browser!\")}}({window:\"undefined\"==typeof window?void 0:window});var FC,BC=Object.create,HC=Object.defineProperty,jC=Object.defineProperties,GC=Object.getOwnPropertyDescriptor,WC=Object.getOwnPropertyDescriptors,JC=Object.getOwnPropertyNames,KC=Object.getOwnPropertySymbols,YC=Object.getPrototypeOf,zC=Object.prototype.hasOwnProperty,qC=Object.prototype.propertyIsEnumerable,QC=Reflect.get,XC=Math.pow,ZC=(e,t,i)=>t in e?HC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,$C=(e,t)=>{for(var i in t||(t={}))zC.call(t,i)&&ZC(e,i,t[i]);if(KC)for(var i of KC(t))qC.call(t,i)&&ZC(e,i,t[i]);return e},eb=(e,t)=>jC(e,WC(t)),tb=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ib=(e,t)=>{for(var i in t)HC(e,i,{get:t[i],enumerable:!0})},nb=(e,t,i)=>(i=null!=e?BC(YC(e)):{},((e,t,i,n)=>{if(t&&\"object\"==typeof t||\"function\"==typeof t)for(let r of JC(t))!zC.call(e,r)&&r!==i&&HC(e,r,{get:()=>t[r],enumerable:!(n=GC(t,r))||n.enumerable});return e})(!t&&e&&e.__esModule?i:HC(i,\"default\",{value:e,enumerable:!0}),e)),rb=(e,t,i,n)=>{for(var r,o=n>1?void 0:n?GC(t,i):t,s=e.length-1;s>=0;s--)(r=e[s])&&(o=(n?r(t,i,o):r(o))||o);return n&&o&&HC(t,i,o),o},ob=(e,t,i)=>(ZC(e,\"symbol\"!=typeof t?t+\"\":t,i),i),sb=(e,t,i)=>QC(YC(e),i,t),ab=(e,t,i)=>new Promise(((n,r)=>{var o=e=>{try{a(i.next(e))}catch(t){r(t)}},s=e=>{try{a(i.throw(e))}catch(t){r(t)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,s);a((i=i.apply(e,t)).next())})),cb=tb(((e,t)=>{var i=Object.prototype.hasOwnProperty,n=\"~\";function r(){}function o(e,t,i){this.fn=e,this.context=t,this.once=i||!1}function s(e,t,i,r,s){if(\"function\"!=typeof i)throw new TypeError(\"The listener must be a function\");var a=new o(i,r||e,s),c=n?n+t:t;return e._events[c]?e._events[c].fn?e._events[c]=[e._events[c],a]:e._events[c].push(a):(e._events[c]=a,e._eventsCount++),e}function a(e,t){0==--e._eventsCount?e._events=new r:delete e._events[t]}function c(){this._events=new r,this._eventsCount=0}Object.create&&(r.prototype=Object.create(null),(new r).__proto__||(n=!1)),c.prototype.eventNames=function(){var e,t,r=[];if(0===this._eventsCount)return r;for(t in e=this._events)i.call(e,t)&&r.push(n?t.slice(1):t);return Object.getOwnPropertySymbols?r.concat(Object.getOwnPropertySymbols(e)):r},c.prototype.listeners=function(e){var t=n?n+e:e,i=this._events[t];if(!i)return[];if(i.fn)return[i.fn];for(var r=0,o=i.length,s=new Array(o);r{var i=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:%d 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\":\"\")}},{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:\"mid\",reg:/^mid:([^\\s]*)/,format:\"mid:%s\"},{name:\"msid\",reg:/^msid:(.*)/,format:\"msid:%s\"},{name:\"ptime\",reg:/^ptime:(\\d*)/,format:\"ptime:%d\"},{name:\"maxptime\",reg:/^maxptime:(\\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:\"invalid\",names:[\"value\"]}]};Object.keys(i).forEach((function(e){i[e].forEach((function(e){e.reg||(e.reg=/(.*)/),e.format||(e.format=\"%s\")}))}))})),db=tb((e=>{var t=function(e){return String(Number(e))===e?Number(e):e},i=function(e,i,n){var r=e.name&&e.names;e.push&&!i[e.push]?i[e.push]=[]:r&&!i[e.name]&&(i[e.name]={});var o=e.push?{}:r?i[e.name]:i;(function(e,i,n,r){if(r&&!n)i[r]=t(e[1]);else for(var o=0;o1&&(e[n[0]]=void 0),e};e.parseParams=function(e){return e.split(/;\\s?/).reduce(o,{})},e.parseFmtpConfig=e.parseParams,e.parsePayloads=function(e){return e.toString().split(\" \").map(Number)},e.parseRemoteCandidates=function(e){for(var i=[],n=e.split(\" \").map(t),r=0;r{var i=lb(),n=/%[sdv%]/g,r=function(e){var t=1,i=arguments,r=i.length;return e.replace(n,(function(e){if(t>=r)return e;var n=i[t];switch(t+=1,e){case\"%%\":return\"%\";case\"%s\":return String(n);case\"%d\":return Number(n);case\"%v\":return\"\"}}))},o=function(e,t,i){var n=[e+\"=\"+(t.format instanceof Function?t.format(t.push?i:i[t.name]):t.format)];if(t.names)for(var o=0;o{var t=db(),i=ub();e.write=i,e.parse=t.parse,e.parseFmtpConfig=t.parseFmtpConfig,e.parseParams=t.parseParams,e.parsePayloads=t.parsePayloads,e.parseRemoteCandidates=t.parseRemoteCandidates,e.parseImageAttributes=t.parseImageAttributes,e.parseSimulcastStreamList=t.parseSimulcastStreamList})),pb=nb(cb()),_b=((FC=_b||{})[FC.INVALID_PARAMETER=4096]=\"INVALID_PARAMETER\",FC[FC.INVALID_OPERATION=4097]=\"INVALID_OPERATION\",FC[FC.NOT_SUPPORTED=4098]=\"NOT_SUPPORTED\",FC[FC.DEVICE_NOT_FOUND=4099]=\"DEVICE_NOT_FOUND\",FC[FC.INITIALIZE_FAILED=4100]=\"INITIALIZE_FAILED\",FC[FC.SIGNAL_CHANNEL_SETUP_FAILED=16385]=\"SIGNAL_CHANNEL_SETUP_FAILED\",FC[FC.SIGNAL_CHANNEL_ERROR=16386]=\"SIGNAL_CHANNEL_ERROR\",FC[FC.ICE_TRANSPORT_ERROR=16387]=\"ICE_TRANSPORT_ERROR\",FC[FC.JOIN_ROOM_FAILED=16388]=\"JOIN_ROOM_FAILED\",FC[FC.CREATE_OFFER_FAILED=16389]=\"CREATE_OFFER_FAILED\",FC[FC.SIGNAL_CHANNEL_RECONNECTION_FAILED=16390]=\"SIGNAL_CHANNEL_RECONNECTION_FAILED\",FC[FC.UPLINK_RECONNECTION_FAILED=16391]=\"UPLINK_RECONNECTION_FAILED\",FC[FC.DOWNLINK_RECONNECTION_FAILED=16392]=\"DOWNLINK_RECONNECTION_FAILED\",FC[FC.REMOTE_STREAM_NOT_EXIST=16400]=\"REMOTE_STREAM_NOT_EXIST\",FC[FC.CLIENT_BANNED=16448]=\"CLIENT_BANNED\",FC[FC.SERVER_TIMEOUT=16449]=\"SERVER_TIMEOUT\",FC[FC.SUBSCRIPTION_TIMEOUT=16450]=\"SUBSCRIPTION_TIMEOUT\",FC[FC.PLAY_NOT_ALLOWED=16451]=\"PLAY_NOT_ALLOWED\",FC[FC.DEVICE_AUTO_RECOVER_FAILED=16452]=\"DEVICE_AUTO_RECOVER_FAILED\",FC[FC.START_PUBLISH_CDN_FAILED=16453]=\"START_PUBLISH_CDN_FAILED\",FC[FC.STOP_PUBLISH_CDN_FAILED=16454]=\"STOP_PUBLISH_CDN_FAILED\",FC[FC.START_MIX_TRANSCODE_FAILED=16455]=\"START_MIX_TRANSCODE_FAILED\",FC[FC.STOP_MIX_TRANSCODE_FAILED=16456]=\"STOP_MIX_TRANSCODE_FAILED\",FC[FC.NOT_SUPPORTED_H264=16457]=\"NOT_SUPPORTED_H264\",FC[FC.SWITCH_ROLE_FAILED=16458]=\"SWITCH_ROLE_FAILED\",FC[FC.API_CALL_TIMEOUT=16459]=\"API_CALL_TIMEOUT\",FC[FC.SCHEDULE_FAILED=16460]=\"SCHEDULE_FAILED\",FC[FC.API_CALL_ABORTED=16461]=\"API_CALL_ABORTED\",FC[FC.UNKNOWN=65535]=\"UNKNOWN\",FC),mb=_b,fb=class extends Error{constructor(e){let{name:t=\"RtcError\",message:i,code:n=mb.UNKNOWN,extraCode:r=0,constraint:o}=e,s=\"<\".concat(function(e){for(let t in mb)if(mb[t]===e)return t;return\"UNKNOWN\"}(n),\" 0x\").concat(n.toString(16),\">\"),a=\"\".concat(i).concat(o?\" constraint: \".concat(o):\"\").concat(null!=i&&i.includes(s)?\"\":\" \".concat(s));super(a),ob(this,\"code\"),ob(this,\"extraCode\"),ob(this,\"message\"),ob(this,\"originMessage\"),ob(this,\"name\"),ob(this,\"constraint\"),this.code=n,this.extraCode=r,this.name=t,this.message=a,this.constraint=o,this.originMessage=i}getCode(){return this.code}getExtraCode(){return this.extraCode}toString(){return this.originMessage}},gb=fb,Tb=((new Date).getTime(),0),Eb=function(){return(new Date).getTime()+Tb},Sb=function(){let e=new Date;return e.setTime(Eb()),e.toLocaleString()},Ib={};ib(Ib,{bytes2ms:()=>KD,copyProperties:()=>JD,deepMerge:()=>CO,env:()=>vb,fibonacci:()=>$D,formatedTime:()=>NO,getConstructorName:()=>pO,getContainerFromElement:()=>bO,getEnv:()=>UD,getInternalVersion:()=>TO,getLoggerUrl:()=>BD,getMuteStateFromFlag:()=>IO,getNetworkQuality:()=>vO,getNetworkType:()=>GD,getOSType:()=>jD,getReconnectionTimeout:()=>eO,getStringByteLength:()=>wO,getSysInfo:()=>WD,getTerminalType:()=>HD,getTurnServer:()=>yO,getValueType:()=>tO,glog:()=>QD,ipv4ToUint32:()=>AO,isArray:()=>cO,isArrayOrObject:()=>RO,isAudioWorkletSupported:()=>_O,isBoolean:()=>sO,isConstructor:()=>hO,isEmpty:()=>SO,isFunction:()=>iO,isLangChinese:()=>XD,isMediaStreamTrack:()=>lO,isNumber:()=>oO,isObject:()=>aO,isOverseaSdkAppId:()=>FD,isPlainObject:()=>ZD,isPromise:()=>uO,isRemoteTrack:()=>dO,isString:()=>rO,isUndefined:()=>nO,ms2bytes:()=>zD,ms2samples:()=>qD,performanceNow:()=>fO,promiseAny:()=>mO,samples2ms:()=>YD,stringify:()=>DO,stringifyIncludeValue:()=>OO});var vb={};ib(vb,{ANDROID_VERSION:()=>Mb,CHROME_MAJOR_VERSION:()=>Vk,CHROME_VERSION:()=>xk,EDGE_VERSION:()=>jb,EDG_MAJOR_VERSION:()=>Jb,EDG_VERSION:()=>Wb,FIREFOX_MAJOR_VERSION:()=>Bb,FIREFOX_VERSION:()=>Fb,HUAWEI_VERSION:()=>Rk,IE_VERSION:()=>ik,IOS_MAIN_VERSION:()=>Gk,IOS_VERSION:()=>jk,IPADQQB_VERSION:()=>pk,IS_ANDROID:()=>Lb,IS_ANDROID_WEBVIEW:()=>Hk,IS_ANY_SAFARI:()=>Fk,IS_CHROME:()=>Lk,IS_CHROME_OS:()=>gk,IS_CHROMIUM_BASE:()=>Pk,IS_EDG:()=>Gb,IS_EDGE:()=>Hb,IS_ELECTRON:()=>Sk,IS_FIREFOX:()=>Ub,IS_HEADLESS_CHROME:()=>Mk,IS_HUAWEI:()=>Ak,IS_HUAWEIBROWSER:()=>yk,IS_IE:()=>tk,IS_IE8:()=>ek,IS_IOS:()=>Pb,IS_IOS_13_OR_14:()=>Kk,IS_IOS_15_1:()=>Jk,IS_IPAD:()=>Nb,IS_IPADQQB:()=>hk,IS_IPAD_PRO:()=>Db,IS_IPHONE:()=>Ob,IS_IPOD:()=>wb,IS_LINUX:()=>fk,IS_LOCAL:()=>Yk,IS_MAC:()=>mk,IS_MACQQB:()=>dk,IS_MIBROWSER:()=>Ik,IS_MQQB:()=>sk,IS_NATIVE_ANDROID:()=>xb,IS_OLD_ANDROID:()=>Vb,IS_OPPOBROWSER:()=>kk,IS_SAFARI:()=>Uk,IS_SAFARI_15_1:()=>Wk,IS_SAMSUNGBROWSER:()=>Ck,IS_SOGOU:()=>zb,IS_SOGOUM:()=>Kb,IS_TBS:()=>Qb,IS_UCBROWSER:()=>Ek,IS_VIVOBROWSER:()=>Dk,IS_WECHAT:()=>nk,IS_WIN:()=>_k,IS_WQQB:()=>ck,IS_WX:()=>Tk,IS_X5MQQB:()=>ok,IS_XWEB:()=>Zb,MACQQB_VERSION:()=>uk,MI_VERSION:()=>vk,MQQB_VERSION:()=>ak,OPPO_VERSION:()=>Nk,SAFARI_VERSION:()=>Bk,SAMSUNG_VERSION:()=>bk,SOGOUM_VERSION:()=>Yb,SOGOU_VERSION:()=>qb,TBS_VERSION:()=>Xb,USER_AGENT:()=>yb,VIVO_VERSION:()=>Ok,WECHAT_VERSION:()=>rk,WQQB_VERSION:()=>lk,XWEB_VERSION:()=>$b,browserInfo:()=>qk,getBrowserInfo:()=>Qk,getChromeMajorVersion:()=>wk,getOSName:()=>eN,getOSString:()=>tN,getUserAgentData:()=>Zk,isLocalStorageEnabled:()=>zk});var yb=\"undefined\"==typeof navigator?\"\":navigator.userAgent,Ab=e=>new RegExp(e,\"i\").test(yb),Rb=e=>{if(Ab(e)){let t=new RegExp(\"\".concat(e,\"\\\\/([\\\\d.]+)\")),i=yb.match(t);if(i&&i[1])return i[1]}return\"\"},Cb=e=>{if(Ab(e)){let t=new RegExp(\"\".concat(e,\"\\\\/(\\\\d+)\")),i=yb.match(t);if(i&&i[1])return parseFloat(i[1])}return NaN},bb=/AppleWebKit\\/([\\d.]+)/i.exec(yb),kb=bb?parseFloat(bb[1]):NaN,Nb=Ab(\"iPad\"),Db=\"undefined\"!=typeof navigator&&navigator.maxTouchPoints&&navigator.maxTouchPoints>2&&Ab(\"Macintosh\"),Ob=Ab(\"iPhone\")&&!Nb,wb=Ab(\"iPod\"),Pb=Ob||Nb||wb||Db,Lb=Ab(\"Android\"),Mb=function(){if(Lb){let e=yb.match(/Android (\\d+)(?:\\.(\\d+))?(?:\\.(\\d+))*/i);if(e){let t=e[1]&&parseFloat(e[1]),i=e[2]&&parseFloat(e[2]);if(t&&i)return parseFloat(\"\".concat(e[1],\".\").concat(e[2]));if(t)return t}}return NaN}(),Vb=Lb&&Ab(\"webkit\")&&Mb<2.3,xb=Lb&&Mb<5&&kb<537,Ub=Ab(\"Firefox\"),Fb=Rb(\"Firefox\"),Bb=Cb(\"Firefox\"),Hb=Ab(\"Edge\"),jb=Rb(\"Edge\"),Gb=Ab(\"Edg\"),Wb=Rb(\"Edg\"),Jb=Cb(\"Edg\"),Kb=Ab(\"SogouMobileBrowser\"),Yb=Rb(\"SogouMobileBrowser\"),zb=Ab(\"MetaSr\\\\s\"),qb=Rb(\"MetaSr\\\\s\"),Qb=Ab(\"TBS\"),Xb=Rb(\"TBS\"),Zb=Ab(\"XWEB\"),$b=Rb(\"XWEB\"),ek=Ab(\"MSIE\\\\s8\\\\.0\"),tk=Ab(\"MSIE\\\\/\\\\d+\"),ik=function(){if(tk){let e=/MSIE\\s(\\d+)\\.\\d/.exec(yb),t=e&&parseFloat(e[1]);return!t&&/Trident\\/7.0/i.test(yb)&&/rv:11.0/.test(yb)&&(t=11),t}return NaN}(),nk=Ab(\"(micromessenger|webbrowser)\"),rk=Rb(\"MicroMessenger\"),ok=!Qb&&Ab(\"MQQBrowser\")&&Ab(\"COVC\"),sk=!Qb&&Ab(\"MQQBrowser\")&&!Ab(\"COVC\"),ak=sk||ok?Rb(\"MQQBrowser\"):\"\",ck=!Qb&&Ab(\" QQBrowser\"),lk=Rb(\" QQBrowser\"),dk=!Qb&&Ab(\"QQBrowserLite\"),uk=Rb(\"QQBrowserLite\"),hk=!Qb&&Ab(\"MQBHD\"),pk=Rb(\"MQBHD\"),_k=Ab(\"Windows\"),mk=!Pb&&Ab(\"MAC OS X\"),fk=!Lb&&Ab(\"Linux\"),gk=Ab(\"CrOS\"),Tk=Ab(\"MicroMessenger\"),Ek=Ab(\"UCBrowser\"),Sk=Ab(\"Electron\"),Ik=Ab(\"MiuiBrowser\"),vk=Rb(\"MiuiBrowser\"),yk=Ab(\"HuaweiBrowser\"),Ak=Ab(\"Huawei\"),Rk=Rb(\"HuaweiBrowser\"),Ck=Ab(\"SamsungBrowser\"),bk=Rb(\"SamsungBrowser\"),kk=Ab(\"HeyTapBrowser\"),Nk=Rb(\"HeyTapBrowser\"),Dk=Ab(\"VivoBrowser\"),Ok=Rb(\"VivoBrowser\"),wk=()=>Cb(\"Chrome\"),Pk=Ab(\"Chrome\"),Lk=!Hb&&!zb&&!Kb&&!Qb&&!Zb&&!Gb&&!ck&&!Ik&&!yk&&!Ck&&!kk&&!Dk&&Pk,Mk=Ab(\"HeadlessChrome\"),Vk=wk(),xk=Rb(\"Chrome\"),Uk=!Pk&&!sk&&!ok&&!dk&&!hk&&Ab(\"Safari\"),Fk=Uk||Pb,Bk=Rb(\"Version\"),Hk=/Android.*(wv|.0.0.0)/.test(yb),jk=(()=>{if(Db)return Bk;if(Pb){let e=yb.match(/OS (\\d+)_(\\d+)/i);if(e&&e[1]){let t=e[1];return e[2]&&(t+=\".\".concat(e[2])),t}}return\"\"})(),Gk=Number(jk.split(\".\")[0]),Wk=\"15.1\"===Bk,Jk=\"15.1\"===jk,Kk=(()=>{let e=Number(jk.split(\".\")[0]);return 14===e||13===e})(),Yk=\"undefined\"!=typeof location&&(\"file:\"===location.protocol||\"localhost\"===location.hostname||\"127.0.0.1\"===location.hostname),zk=(()=>{let e;return()=>{if(nO(e))try{e=!!window.localStorage}catch(HL){e=!1}return e}})(),qk=Qk();function Qk(){let e=new Map([[Ub,[\"Firefox\",Fb]],[Gb,[\"Edg\",Wb]],[Lk,[\"Chrome\",xk]],[Uk,[\"Safari\",Bk]],[Qb,[\"TBS\",Xb]],[Zb,[\"XWEB\",$b]],[nk&&Ob,[\"WeChat\",rk]],[ck,[\"QQ(Win)\",lk]],[sk,[\"QQ(Mobile)\",ak]],[ok,[\"QQ(Mobile X5)\",ak]],[dk,[\"QQ(Mac)\",uk]],[hk,[\"QQ(iPad)\",pk]],[Ik,[\"MI\",vk]],[yk,[\"HW\",Rk]],[Ck,[\"Samsung\",bk]],[kk,[\"OPPO\",Nk]],[Dk,[\"VIVO\",Ok]],[Hb,[\"EDGE\",jb]],[Kb,[\"SogouMobile\",Yb]],[zb,[\"Sogou\",qb]]]),t=\"unknown\",i=\"unknown\";return e.has(!0)&&([t,i]=e.get(!0)),{name:t,version:i}}var Xk=null;function Zk(){return ab(this,null,(function*(){if(Xk)return Xk;if(!navigator.userAgentData||!iO(navigator.userAgentData.getHighEntropyValues))return null;try{return Xk=yield navigator.userAgentData.getHighEntropyValues([\"architecture\",\"bitness\",\"model\",\"platformVersion\",\"fullVersionList\"])}catch(BL){return null}}))}var $k=new Map([[Lb,\"Android\"],[Pb,\"iOS\"],[_k,\"Windows\"],[mk,\"MacOS\"],[fk,\"Linux\"],[gk,\"ChromeOS\"]]),eN=function(){return $k.get(!0)?$k.get(!0):Xk?Xk.platform:\"unknown\"},tN=()=>{let e=eN();return e+=\"/\".concat(qk.name,\"/\").concat(Uk?qk.version:qk.version.split(\".\")[0]),null!=Xk&&Xk.platformVersion&&(e+=\"/\".concat(Xk.platformVersion)),null!=Xk&&Xk.architecture&&(e+=\"/\".concat(Xk.architecture)),e},iN={};ib(iN,{AUDIO_MUTE_BIT:()=>jN,AUDIO_STAT_BIT:()=>HN,AUX_STAT_BIT:()=>BN,AUX_STREAM_MSID:()=>JN,BACKEND_ENV:()=>VN,BASE_DOC_URL:()=>TN,BASE_HOST:()=>_N,CAPABILITIES_KEYS:()=>VD,CLASS_NAME:()=>yD,CLOUD_CONSOLE_URL:()=>gN,DATA_FREEZE_TIMING:()=>fD,DOC_URL:()=>EN,DTLS_STATE_UNKNOWN:()=>tD,ENV_NAME:()=>AN,EXCHANGE_SDP_TIMEOUT:()=>uD,INTERVAL:()=>LD,IS_WORKER:()=>lN,IS_WORKLET:()=>dN,KIBANA_EVENT:()=>cD,LOCAL_STREAM_PUBLISH_STATE:()=>mD,LOGGER_CMD_TYPE:()=>yN,LOGGER_DOMAIN:()=>SN,LOGGER_DOMAIN_OVERSEA:()=>IN,LOG_LEVEL:()=>RN,LOG_LEVEL_NAME:()=>kD,MAIN_STREAM_MSID:()=>WN,MICROPHONE_COMMUNICATIONS:()=>bD,MICROPHONE_DEFAULT:()=>RD,NAME:()=>LN,NETWORK_TYPE:()=>kN,NOT_SUPPORTED_H264:()=>_D,PAUSED_RETRY_COUNT:()=>AD,PEERCONNECTION_CONNECTING_TIMEOUT:()=>SD,PEER_CONNECTION_STATE:()=>iD,PEER_LEAVE_REASON:()=>ND,RAF:()=>PD,RECOVER_CAPTURE_INTERVAL:()=>OD,REMOTE_STREAM_TYPE_AUX:()=>YN,REMOTE_STREAM_TYPE_MAIN:()=>KN,RENDER_FREEZE_TIMING:()=>gD,RIC:()=>wD,SCHEDULE_DOMAIN:()=>ID,SCHEDULE_TIMEOUT:()=>vD,SDP_SEMANTICS_PLAN_B:()=>pD,SDP_SEMANTICS_UNIFIED_PLAN:()=>hD,SECOND_HOST:()=>mN,SIGNAL_PING_PONG_INTERVAL:()=>bN,SIGNAL_PING_TIMEOUT:()=>CN,SIGNAL_RECONNECTION_COUNT:()=>aD,SMALL_STAT_BIT:()=>FN,SPEAKER_DEFAULT:()=>CD,STORAGE_EXPIRES_TIME:()=>NN,STREAM_TYPE_BIG:()=>TD,STREAM_TYPE_SMALL:()=>ED,SUBSCRIBE_SMALL_RETRY_COUNT:()=>DD,SYNC_USER_LIST_INTERVAL:()=>lD,Scene:()=>xN,Switch:()=>DN,THIRD_HOST:()=>fN,TIMEOUT:()=>MD,TRANSPORT_DIRECTION:()=>MN,TRTC_ERROR_ASSISTANCE:()=>vN,TRTC_QUALITY_BAD:()=>ZN,TRTC_QUALITY_DISCONNECTED:()=>eD,TRTC_QUALITY_EXCELLENT:()=>qN,TRTC_QUALITY_GOOD:()=>QN,TRTC_QUALITY_POOR:()=>XN,TRTC_QUALITY_UNKNOWN:()=>zN,TRTC_QUALITY_VERY_BAD:()=>$N,UPDATE_OFFER_TIMEOUT:()=>dD,VIDEO_MUTE_BIT:()=>GN,VIDEO_STAT_BIT:()=>UN,audioProfileMap:()=>ON,getRetryCount:()=>oD,getScriptDir:()=>uN,innerVersion:()=>nN,loggerProxy:()=>hN,screenProfileMap:()=>PN,setLoggerProxy:()=>pN,setRetryCount:()=>rD,setVersion:()=>oN,version:()=>rN,videoProfileMap:()=>wN});var nN=\"4.15.00.1600\",rN=\"5.0.0\";function oN(e){rN=e;let[t,i,n]=e.split(\".\").map((e=>parseInt(e,10)));nN=\"\".concat(t,\".\").concat(Math.min(15,i),\".\").concat(Math.min(15,n),\".\").concat(i.toString().padStart(2,\"0\")).concat(n.toString().padStart(2,\"0\"))}var sN,aN,cN,lN=\"undefined\"!=typeof importScripts,dN=\"undefined\"!=typeof registerProcessor,uN=()=>{let e=lN?self.location.href:document.currentScript.src;return e.substring(0,e.lastIndexOf(\"/\")+1)},hN=\"\",pN=e=>hN=e,_N=\"web.sdk.qcloud.com\",mN=\"web.sdk.tencent.cn\",fN=\"web.sdk.cloud.tencent.cn\",gN=\"https://console.cloud.tencent.com/trtc\",TN=\"https://\".concat(_N,\"/trtc/webrtc/v5/doc\"),EN=\"\".concat(TN,\"/zh-cn/\"),SN=\"https://yun.tim.qq.com\",IN=\"https://apisgp.my-imcloud.com\",vN=\"trtc_error_assistance\",yN={LOG:\"jssdk_log\",EVENT:\"jssdk_event\",KEY_POINT:\"jssdk_new_endreport\"},AN={QCLOUD:\"qcloud\",OLD_CLOUD_LADDER:\"trtc\",WEBRTC:\"webrtc\"},RN=((cN=RN||{})[cN.TRACE=0]=\"TRACE\",cN[cN.DEBUG=1]=\"DEBUG\",cN[cN.INFO=2]=\"INFO\",cN[cN.WARN=3]=\"WARN\",cN[cN.ERROR=4]=\"ERROR\",cN[cN.NONE=5]=\"NONE\",cN),CN=18e3,bN=2e3,kN={unknown:0,wifi:1,\"3g\":2,\"2g\":3,\"4g\":4,wired:5},NN=6048e5,DN=((aN=DN||{}).USEAINS=\"useAINS\",aN.ENABLEDEBUG=\"enableDebug\",aN.USEV2=\"useV2\",aN.USEWT=\"useWt\",aN),ON={standard:{sampleRate:48e3,channelCount:1,bitrate:40},\"standard-stereo\":{sampleRate:48e3,channelCount:2,bitrate:64},high:{sampleRate:48e3,channelCount:1,bitrate:192},\"high-stereo\":{sampleRate:48e3,channelCount:2,bitrate:192}},wN={\"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}},PN={\"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}},LN={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\",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\"},MN={INACTIVE:\"inactive\",SENDONLY:\"sendonly\",RECVONLY:\"recvonly\"},VN={OLD_CLOUD_LADDER:\"wss://trtc.rtc.qq.com\",WEBRTC:\"wss://webrtc.qq.com\"},xN=((sN=xN||{}).LIVE=\"live\",sN.RTC=\"rtc\",sN),UN=1,FN=2,BN=4,HN=8,jN=64,GN=16,WN=\"5Y2wZK8nANNAoVw6dSAHVjNxrD1ObBM2kBPV\",JN=\"224d130c-7b5c-415b-aaa2-79c2eb5a6df2\",KN=LN.MAIN,YN=LN.AUXILIARY,zN=0,qN=1,QN=2,XN=3,ZN=4,$N=5,eD=6,tD=\"unknown\",iD={NEW:\"new\",CONNECTING:\"connecting\",FAILED:\"failed\",CLOSED:\"closed\",DISCONNECTED:\"disconnected\",CONNECTED:\"connected\",COMPLETED:\"completed\"},nD=1/0;function rD(e){nD=e}function oD(){return nD}var sD,aD=30,cD={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\"},lD=1e4,dD=1e4,uD=1e4,hD=\"unified-plan\",pD=\"plan-b\",_D=1028,mD=((sD=mD||{})[sD.UNPUBLISH=-1]=\"UNPUBLISH\",sD[sD.PUBLISHING=0]=\"PUBLISHING\",sD[sD.PUBLISHED=1]=\"PUBLISHED\",sD),fD=500,gD=1e3,TD=LN.BIG,ED=LN.SMALL,SD=1e4,ID={MAIN:\"schedule.rtc.qq.com\",BACKUP:\"schedule.rtc.qcloud.com\",MAIN_OVERSEA:\"schedule.rtc.tencentcloud.com\",BACKUP_OVERSEA:\"schedule-ecdn.rtc.tencentcloud.com\"},vD=2e3,yD={TRTC:\"TRTC\",CLIENT:\"Client\",LOCAL_STREAM:\"LocalStream\",REMOTE_STREAM:\"RemoteStream\",STREAM:\"Stream\"},AD=5,RD=\"default\",CD=RD,bD=\"communications\",kD=Object.keys(RN),ND=[\"normal leave\",\"timeout leave\",\"kick\",\"role change\"],DD=10,OD=2e3,wD=\"ric\",PD=\"raf\",LD=\"interval\",MD=\"timeout\",VD=[\"width\",\"height\",\"frameRate\",\"facingMode\",\"sampleRate\",\"sampleSize\",\"channelCount\",\"deviceId\"],xD=1e8,UD=function(){return new URLSearchParams(location.search).get(\"trtc_env\")||\"\"},FD=e=>Number(e)<14e8,BD=function(e,t){let i;i=hN||(FD(e)?IN:SN);let n=Math.floor(Math.random()*XC(2,31));return\"\".concat(i,\"/v5/AVQualityReportSvc/C2S?random=\").concat(n,\"&sdkappid=\").concat(e,\"&cmdtype=\").concat(t)};function HD(){return Lb?4:Ob?2:Nb?3:mk?12:_k?5:fk?13:1}function jD(){return Lb?\"Android\":Ob?\"iPhone\":Nb?\"iPad\":mk?\"Mac\":_k?\"Windows\":fk?\"Linux\":\"unknown\"}function GD(){let{userAgent:e,connection:t}=navigator,i=(e.match(/NetType\\/\\S+/)||[])[0]||\"\";i=i.toLowerCase().replace(\"nettype/\",\"\"),\"3gnet\"===i&&(i=\"3g\");let n=t&&t.type&&t.type.toLowerCase(),r=t&&t.effectiveType&&t.effectiveType.toLowerCase();\"slow-2\"===r&&(r=\"2g\");let o=i||\"unknown\";if(n)switch(n){case\"cellular\":case\"wimax\":o=r||\"unknown\";break;case\"wifi\":o=\"wifi\";break;case\"ethernet\":o=\"wired\";break;default:o=\"unknown\"}return o}var WD=function(e){return{AbilityOption:{AVLimit:e,GeneralLimit:{CPULimit:{uint32_CPU_num:navigator.hardwareConcurrency||0,str_CPU_name:String(navigator.platform),uint32_CPU_maxfreq:0,model:\"\",uint32_total_memory:0},uint32_terminal_type:HD(),uint32_device_type:0,str_os_verion:jD(),uint32_link_type:1,str_client_version:nN,uint32_net_type:kN[GD()],ua:navigator.userAgent,version:\"\"}}}};function JD(e,t){for(let i of Reflect.ownKeys(t))if(\"constructor\"!==i&&\"prototype\"!==i&&\"name\"!==i){let n=Object.getOwnPropertyDescriptor(t,i)||\"\";Object.defineProperty(e,i,n)}return e}function KD(e){return YD(e/4,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function YD(e){return 1e3*e/(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function zD(e){return 4*qD(e,arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)}function qD(e){return e*(arguments.length>1&&void 0!==arguments[1]?arguments[1]:48e3)/1e3}var QD=\"undefined\"!=typeof window&&\"function\"==typeof window.glog?window.glog:()=>{},XD=()=>{let e=navigator.language;return e=e.substring(0,2),\"zh\"===e},ZD=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 i=Object.prototype.hasOwnProperty.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof i&&i instanceof i&&Function.prototype.toString.call(i)===Function.prototype.toString.call(Object)};function $D(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return e<=1?t:$D(e-1,t,(arguments.length>1&&void 0!==arguments[1]?arguments[1]:1)+t)}function eO(e){return e>8?3e4:1e3*$D(e)}function tO(e){return Reflect.apply(Object.prototype.toString,e,[]).replace(/^\\[object\\s(\\w+)\\]$/,\"$1\").toLowerCase()}var iO=e=>\"function\"==typeof e,nO=e=>void 0===e,rO=e=>\"string\"==typeof e,oO=e=>\"number\"==typeof e,sO=e=>\"boolean\"==typeof e,aO=e=>\"object\"===tO(e),cO=e=>\"array\"===tO(e),lO=e=>tO(e)===\"MediaStreamTrack\".toLowerCase(),dO=e=>e.isRemote,uO=e=>\"promise\"===tO(e),hO=e=>iO(e)&&e.prototype.constructor===e,pO=e=>hO(e)?e.prototype.constructor.name:\"\",_O=\"undefined\"!=typeof AudioWorkletNode;function mO(e){return new Promise(((t,i)=>{let n=[];e.forEach((r=>{r.then(t).catch((t=>{n.push(t),n.length===e.length&&i(n)}))}))}))}function fO(){return performance&&performance.now?Math.floor(performance.now()):Date.now()}var gO=e=>+e<10?\"0\".concat(e):e,TO=e=>{let t=e.match(/^\\d+\\.\\d+\\.\\d+/)[0];if(!t)return e;let i=t.split(\".\"),n=gO(i[1])+gO(i[2]);return i[1]-15>0&&(i[1]=\"15\"),i[2]-15>0&&(i[2]=\"15\"),\"\".concat(i.join(\".\"),\".\").concat(n)},EO=Object.prototype.hasOwnProperty;function SO(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(ZD(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(EO.call(e,t))return!1;return!0}return!1}function IO(e,t){return{userId:t,hasAudio:!!(e&HN),hasVideo:!!(e&UN),hasAuxiliary:!!(e&BN),hasSmall:!!(e&FN),audioMuted:!!(e&jN),videoMuted:!!(e&GN),audioAvailable:!(!(e&HN)||e&jN),videoAvailable:!(!(e&UN)||e&GN)}}function vO(e,t){return e>50||t>500?5:e>30||t>350?4:e>20||t>200?3:e>10||t>100?2:e>=0||t>=0?1:0}function yO(e){let t={urls:\"turn:\".concat(e.url)};return!nO(e.username)&&!nO(e.credential)&&(t.username=e.username,t.credential=e.credential,t.credentialType=\"password\",nO(e.credentialType)||(t.credentialType=e.credentialType)),t}function AO(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(!rO(e))return 0;let i=e.split(\".\");return t?(Number(i[0])<<24|Number(i[1])<<16|Number(i[2])<<8|Number(i[3]))>>>0:(Number(i[3])<<24|Number(i[2])<<16|Number(i[1])<<8|Number(i[0]))>>>0}var RO=function(e){return cO(e)||aO(e)},CO=function(e,t,i,n){if(!RO(e)||!RO(t))return 0;let r,o=0,s=Object.keys(t);for(let a=0,c=s.length;arO(e)?document.getElementById(e):e,kO=new Intl.DateTimeFormat(\"zh-CN\",{dateStyle:\"short\",timeStyle:\"medium\"}),NO=()=>kO.format(new Date);function DO(e,t){let{keysToInclude:i,keysToExclude:n}=t;try{if(cO(e))return\"[\".concat(e.map((e=>DO(e,{keysToInclude:i,keysToExclude:n}))).join(\",\"),\"]\");if(!ZD(e)||!cO(i)&&!cO(n))return JSON.stringify(e);let t={},r=new Set(i),o=new Set(n);return Object.keys(e).forEach((s=>{(0===o.size&&r.has(s)||0===r.size&&!o.has(s))&&(t[s]=ZD(e[s])||cO(e[s])?JSON.parse(DO(e[s],{keysToExclude:n,keysToInclude:i})):e[s])})),JSON.stringify(t)}catch(sD){return\"{}\"}}function OO(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=[];return Object.keys(e).forEach((n=>{t===e[n]&&i.push(n)})),DO(e,{keysToInclude:i})}function wO(e){return e.replace(/[\\u4e00-\\u9fa5]/g,\"aa\").length}function PO(e){let{url:t,body:i,method:n,timeout:r}=e,o=new XMLHttpRequest;return new Promise(((e,s)=>{o.onreadystatechange=()=>{if(4===o.readyState)if(o.status>=200&&o.status<300)try{let t=JSON.parse(o.response);e({data:t})}catch(qx){e({data:o.response})}else s({status:o.status,statusText:o.statusText||\"request failed!\"})},o.timeout=r||5e3,o.open(n||\"POST\",t,!0),o.send(i)}))}var LO,MO=function(e){let{retryFunction:t,settings:i,onError:n,onRetrying:r,onRetryFailed:o,onRetrySuccess:s,context:a}=e;return function(){for(var e=arguments.length,c=new Array(e),l=0;lab(this,null,(function*(){let l=a||this;try{let i=yield t.apply(l,c);h>0&&s&&s.call(this,h),h=0,e(i)}catch(f){let t=()=>{clearTimeout(p),h=0,_=2,i(f)},s=()=>{2!==_&&h<(iO(d)?d():d)?(h++,_=1,iO(r)&&r.call(this,h,t),p=window.setTimeout((()=>{p=-1,m(e,i)}),iO(u)?u(h):u)):(t(),iO(o)&&o.call(this,f))};iO(n)?n.call(this,{error:f,retry:s,reject:i,retryFuncArgs:c,retryCount:h}):s()}}));return new Promise(m)}},VO=class{constructor(e){ob(this,\"userId\"),ob(this,\"remoteUserId\"),ob(this,\"id\"),ob(this,\"sdkAppId\"),ob(this,\"type\"),ob(this,\"isLocal\"),this.id=e.id,this.userId=e.userId,this.sdkAppId=e.sdkAppId,this.remoteUserId=e.remoteUserId,this.isLocal=!sO(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 i=this.isLocal?this.userId:this.remoteUserId;t.unshift(\"[\".concat(this.isLocal?\"↑\":\"↓\").concat(this.type&&\"main\"!==this.type?\"*\":\"\").concat(this.id).concat(i?\"|\".concat(i):\"\",\"]\")),HO.log(e,t,nO(this.userId)||SO(this.userId),this.userId,this.sdkAppId)}info(){for(var e=arguments.length,t=new Array(e),i=0;i{let{schedule:t}=e;var i;(null==(i=null==t?void 0:t.config)?void 0:i.logLevelToUpload)&&RN[t.config.logLevelToUpload]&&(this._logLevelToUpload=t.config.logLevelToUpload)})),xO.on(FO.JOIN_SUCCESS,(e=>{let{room:t}=e;this.addJoinedUser({userId:t.userId,sdkAppId:t.sdkAppId}),this.startUpload()})),xO.once(FO.JOIN_FAILED,(()=>{this.startUpload()})),xO.on(FO.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()),2e3)}getLogsToUpload(){let e={map:new Map,splicedQueue:[]};if(this._queue[0].forAllJoinedClients&&0===this._localJoinedUser.size)return e;let t=0;for(;t{let{userId:n,sdkAppId:r}=t;e.map.has(n)?e.map.get(n).logs.push(i):e.map.set(n,{userId:n,sdkAppId:r,logs:[i]})}));else if(rO(i.userId)&&oO(i.sdkAppId)){let{userId:t,sdkAppId:n}=i;e.map.has(t)?e.map.get(t).logs.push(i):e.map.set(t,{userId:t,sdkAppId:n,logs:[i]})}}return e.map.size>0&&(e.splicedQueue=this._queue.splice(0,t)),e}upload(){return ab(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;ee.log)).join(\"\\n\")}),n),r.forEach((e=>e.uploaded=!0))}}catch(aN){}let i=t.filter((e=>!e.uploaded));i.length>0&&(this._queue=i.concat(this._queue))}))}uploadLogWithRetry(e,t){return MO({retryFunction:()=>PO({url:BD(t,yN.LOG),body:e,timeout:5e3}),settings:{retries:3,timeout:1e3},onError:e=>{let{retry:t}=e;t()}})()}getPrefix(e){let t=new Date;t.setTime(Eb());let i=String(t.getMilliseconds());return\"padStart\"in String.prototype&&(i=i.toString().padStart(3,\"0\")),\"[\".concat(t.toTimeString().replace(/.*(\\d{2}:\\d{2}:\\d{2}).*/,\"$1\"),\":\").concat(i,\"] <\").concat(RN[e],\">\")}getLogLevel(){return this._logLevel}setLogLevel(e){nO(RN[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(rO(e))return e;try{return JSON.stringify(e)}catch(sN){return\"\"}}log(e,t){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],n=arguments.length>3?arguments[3]:void 0,r=arguments.length>4?arguments[4]:void 0;var o;if(t.unshift(this.getPrefix(e)),this._isEnableUploadLog&&e>=this._logLevelToUpload&&this._queue.push({log:t.reduce(((e,t)=>\"\".concat(e,\" \").concat(this.logChunkToString(t)).trim()),\"\"),level:e,userId:n,sdkAppId:r,forAllJoinedClients:i}),e{let t=16*Math.random()|0;return(\"x\"==e?t:3&t|8).toString(16)}))},GO=new class{constructor(){ob(this,\"_prefix\",\"TRTC\"),ob(this,\"_queue\",new Map),this.checkStorage()}getRealKey(e){return\"\".concat(this._prefix,\"_\").concat(e)}checkStorage(){zk()&&(setInterval(this.doFlush.bind(this),2e4),Object.keys(localStorage).filter((e=>{if(e.startsWith(this._prefix)){let t=JSON.parse(localStorage.getItem(e));if(t&&t.expiresInlocalStorage.removeItem(e))))}doFlush(){if(zk())try{for(let[e,t]of this._queue)localStorage.setItem(e,JSON.stringify(t))}catch(HL){HO.warn(HL)}}getItem(e){if(!zk())return null;try{let t=JSON.parse(localStorage.getItem(this.getRealKey(e)));return t&&t.expiresIn>=Date.now()?t.value:null}catch(sN){HO.warn(sN)}}setItem(e,t){if(zk())try{let i={expiresIn:Date.now()+NN,value:t};this._queue.set(this.getRealKey(e),i)}catch(sD){HO.warn(sD)}}deleteItem(e){if(!zk())return!1;try{return e=this.getRealKey(e),this._queue.delete(e),localStorage.removeItem(e),!0}catch(sN){return HO.warn(sN),!1}}clear(){if(zk())try{localStorage.clear()}catch(HL){HO.warn(HL)}}},WO={};ib(WO,{HTTPS_API:()=>dw,IS_GET_CAPABILITIES_SUPPORTED:()=>bw,IS_GET_SETTINGS_SUPPORTED:()=>Cw,IS_SEI_SUPPORTED:()=>kw,IS_SPC_SUPPORTED:()=>vw,basis:()=>Pw,checkSystemRequirementsInternal:()=>aw,decodeSupportStatus:()=>sw,encodeSupportStatus:()=>ow,getBrowserInfo:()=>ZO,getDisplayResolution:()=>hw,isAddTransceiverSupported:()=>Iw,isBrowserSupported:()=>$O,isGetReceiversSupported:()=>Tw,isGetSendersSupported:()=>Ew,isGetTransceiversSupported:()=>Sw,isGetUserMediaSupported:()=>pw,isMediaDevicesSupported:()=>tw,isMediaSessionSupported:()=>Ow,isMediaStreamTrackProcessorSupported:()=>rw,isReplaceTrackSupported:()=>Aw,isScreenCaptureApiAvailable:()=>lw,isSelectedCandidatePair:()=>uw,isSetParametersSupported:()=>Rw,isSmallStreamAPISupported:()=>mw,isSmallStreamSupported:()=>fw,isStopTransceiverSupported:()=>yw,isTRTCSupported:()=>cw,isUnifiedPlanDefault:()=>gw,isUsedInHttpProtocol:()=>nw,isWebAudioSupported:()=>_w,isWebCodecSupported:()=>Dw,isWebCodecsSupported:()=>ew,isWebRTCSupported:()=>Nw,isWebTransportSupported:()=>ww});var JO={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_EMPTY:\"SEI_EMPTY\",SEI_OVERSIZE:\"SEI_OVERSIZE\",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\"},KO={AVOID_REPEATED_CALL:e=>\"previous \".concat(e.name,\"() is ongoing, please avoid repeated calls.\"),INVALID_PARAMETER_REQUIRED(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' is a required param when calling \").concat(n,\"(), received: \").concat(r,\".\")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:i,fnName:n,value:r}=e,o=\"\".concat(t||i.name),s=\"\";return s=Array.isArray(i.type)?i.type.join(\"|\"):i.type,\"'\".concat(o,\"' must be type of \").concat(s,\" when calling \").concat(n,\"(), received type: \").concat(tO(r),\".\")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' cannot be '\").concat(r,\"' when calling \").concat(n,\"().\")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:i,fnName:n,value:r}=e,o=\"\".concat(t||i.name),s=\"\".concat(i.instanceOf.name||i.instanceOf);return\"'\".concat(o,\"' must be instanceof \").concat(s,\" when calling \").concat(n,\"(), received type: \").concat(tO(r),\".\")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' must be one of \").concat(i.values.join(\"|\"),\" when calling \").concat(n,\"(), received: \").concat(r,\".\")},INVALID_PARAMETER_MIN(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"the min value of \".concat(t||i.name,\" is \").concat(i.min,\", received: \").concat(r,\".\")},INVALID_PARAMETER_MAX(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"the max value of \".concat(t||i.name,\" is \").concat(i.max,\", received: \").concat(r,\".\")},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:i}=e;return\"Failed to join room - \".concat(t,\" code: \").concat(i)},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/\".concat(\"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:i,streamType:n}=e;return\"failed to subscribe \".concat(i,\" \").concat(n,\" 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 \".concat(\"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:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' cannot be less than 0 when calling \").concat(n,\"().\")},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:i}=e;return\"'\".concat(t,\"' is not found in the document object when calling \").concat(i,\"().\")},INVALID_ELEMENT_ID_TYPE:e=>{let{key:t,fnName:i,type:n}=e;return\"the element corresponding to '\".concat(t,\"' must be instanceof HTMLElement when calling \").concat(i,\"(), received: \").concat(n,\".\")},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:i}=e;return\"an error was caught on \".concat(t,\".on('\").concat(i,\"', handler), please check your code on 'handler'.\")},API_NOT_EXIST(e){let{name:t}=e;return\"experimental api \".concat(t,\" does not exist.\")},REPEAT_JOIN:e=>\"[\".concat(e,\"] is calling client.join api or has already joined room, 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_EMPTY:\"buffer cannot be empty\",SEI_OVERSIZE:e=>\"buffer size(\".concat(e,\") is over 1000 Bytes\"),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:i,timesInSecond:n,maxSizeInSecond:r}=e;return\"api \".concat(i,\" call \").concat(t?\"size\":\"times\",\" is over \").concat(t?\"\".concat(r,\" bytes\"):n,\" 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,\"()\")},YO=(e,t)=>t?\"\".concat(TN,\"/\").concat(e,\"/\").concat(t):\"\".concat(TN,\"/\").concat(e,\"/index.html\"),zO=()=>{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=localStorage.getItem(vN);if(e){e=JSON.parse(e);let t=document.createElement(\"script\");t.type=\"text/javascript\",t.text=e.message,document.body.appendChild(t);let i=window.TRTC_ERROR_INFO,n=window.TRTC_ERROR_LINK;return document.body.removeChild(t),{TRTC_ERROR_INFO:i,TRTC_ERROR_LINK:n}}return{}};function qO(e){let{key:t,data:i,link:n,addDocLink:r=!0}=e,o=\"\",s=\"\",a=\"\";iO(KO[t])?o=KO[t](i):rO(KO[t])&&(o=KO[t]);let{TRTC_ERROR_INFO:c,TRTC_ERROR_LINK:l}=zO();n?a=\"\".concat(n.className,\".html#\").concat(n.fnName):l&&l[t]&&(iO(l[t])?a=l[t](i):rO(l[t])&&(a=l[t]));let d=o;return XD()&&(c&&c[t]&&(iO(c[t])?s=c[t](i):rO(c[t])&&(s=c[t])),s&&(d=r?\"\".concat(s,\"\\n请查看文档: \").concat(YO(\"zh-cn\",a),\"\\n\\n\"):\"\".concat(s,\"\\n\\n\"),d+=o)),r&&(d+=\" \\nRefer to: \".concat(YO(\"en\",a),\"\\n\")),d}var QO={result:!1,detail:{isBrowserSupported:!1,isWebRTCSupported:!1,isWebCodecsSupported:!1,isMediaDevicesSupported:!1,isScreenShareSupported:!1,isSmallStreamSupported:!1,isH264EncodeSupported:!1,isVp8EncodeSupported:!1,isH264DecodeSupported:!1,isVp8DecodeSupported:!1}},XO=new Map([[Ub,[\"Firefox\",Fb]],[Gb,[\"Edg\",Wb]],[Lk,[\"Chrome\",xk]],[Uk,[\"Safari\",Bk]],[Qb,[\"TBS\",Xb]],[Zb,[\"XWEB\",$b]],[nk&&Ob,[\"WeChat\",rk]],[ck,[\"QQ(Win)\",lk]],[sk,[\"QQ(Mobile)\",ak]],[ok,[\"QQ(Mobile X5)\",ak]],[dk,[\"QQ(Mac)\",uk]],[hk,[\"QQ(iPad)\",pk]],[Ik,[\"MI\",vk]],[yk,[\"HW\",Rk]],[Ck,[\"Samsung\",bk]],[kk,[\"OPPO\",Nk]],[Dk,[\"VIVO\",Ok]],[Hb,[\"EDGE\",jb]],[Kb,[\"SogouMobile\",Yb]],[zb,[\"Sogou\",qb]]]);function ZO(){let e=XO.get(!0);return{browserName:e?e[0]:\"unknown\",browserVersion:e?e[1]:\"unknown\"}}var $O=function(){return!(Ek||Hb||Gb&&Jb<80||Ub&&Bb<56)},ew=function(){return[\"VideoDecoder\",\"VideoEncoder\",\"AudioEncoder\",\"AudioDecoder\",\"MediaStreamTrackGenerator\"].every((e=>e in window))},tw=function(){if(!navigator.mediaDevices)return nw()||HO.error(KO.NOT_SUPPORTED_MEDIA),!1;let e=[\"getUserMedia\",\"enumerateDevices\"];return e.filter((e=>e in navigator.mediaDevices)).length===e.length},iw=!1;function nw(){return\"http:\"===location.protocol&&!Yk&&(iw||HO.error(qO({key:JO.NOT_SUPPORTED_HTTP})),iw=!0,!0)}var rw=function(){return(null==window?void 0:window.OffscreenCanvas)&&(null==window?void 0:window.MediaStreamTrackProcessor)&&(null==window?void 0:window.MediaStreamTrackGenerator)},ow=function(){return ab(this,null,(function*(){if(QO.detail.isH264EncodeSupported||QO.detail.isVp8EncodeSupported)return{isH264EncodeSupported:QO.detail.isH264EncodeSupported,isVp8EncodeSupported:QO.detail.isVp8EncodeSupported};let e,t=!1,i=!1;try{let n=new RTCPeerConnection,r=document.createElement(LN.CANVAS);r.getContext(\"2d\");let o=r.captureStream(0);return n.addTrack(o.getVideoTracks()[0],o),e=yield n.createOffer(),-1!==e.sdp.toLowerCase().indexOf(\"h264\")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf(\"vp8\")&&(i=!0),n.close(),QO.detail.isH264EncodeSupported=t,QO.detail.isVp8EncodeSupported=i,{isH264EncodeSupported:QO.detail.isH264EncodeSupported,isVp8EncodeSupported:QO.detail.isVp8EncodeSupported}}catch(sD){return{isH264EncodeSupported:!1,isVp8EncodeSupported:!1}}}))},sw=function(){return ab(this,null,(function*(){if(QO.detail.isH264DecodeSupported&&QO.detail.isVp8DecodeSupported)return{isH264DecodeSupported:QO.detail.isH264DecodeSupported,isVp8DecodeSupported:QO.detail.isVp8DecodeSupported};let e,t=!1,i=!1;try{let n=new RTCPeerConnection;return e=yield n.createOffer({offerToReceiveAudio:!0,offerToReceiveVideo:!0}),-1!==e.sdp.toLowerCase().indexOf(\"h264\")&&(t=!0),-1!==e.sdp.toLowerCase().indexOf(\"vp8\")&&(i=!0),n.close(),{isH264DecodeSupported:t,isVp8DecodeSupported:i}}catch(sD){return{isH264DecodeSupported:!1,isVp8DecodeSupported:!1}}}))},aw=function(){return ab(this,null,(function*(){if(QO.result)return QO;let e=$O(),t=Nw(),i=ew(),n=tw(),{isH264EncodeSupported:r,isVp8EncodeSupported:o}=yield ow(),{isH264DecodeSupported:s,isVp8DecodeSupported:a}=yield sw();return QO.result=e&&t&&n&&(r||o)&&(s||a),QO.detail.isBrowserSupported=e,QO.detail.isWebRTCSupported=t,QO.detail.isWebCodecsSupported=i,QO.detail.isMediaDevicesSupported=n,QO.detail.isScreenShareSupported=lw(),QO.detail.isSmallStreamSupported=fw(),QO.detail.isH264EncodeSupported=r,QO.detail.isVp8EncodeSupported=o,QO.detail.isH264DecodeSupported=s,QO.detail.isVp8DecodeSupported=a,QO.result||HO.error(\"\".concat(navigator.userAgent,\" \").concat(OO(QO.detail,!1))),QO}))},cw=function(){return QO.result},lw=function(){return!(!navigator.mediaDevices||!navigator.mediaDevices.getDisplayMedia)},dw=(e,t,i)=>{\"http:\"===location.protocol&&!Yk&&(e[t]=()=>{throw new gb({code:mb.INVALID_OPERATION,message:KO.NOT_SUPPORTED_HTTP})})},uw=function(e){return!(\"candidate-pair\"!==e.type||!e.nominated||\"in-progress\"!==e.state&&\"succeeded\"!==e.state)&&!(sO(e.selected)&&!e.selected)};function hw(){let e=\"\";if(screen.width){let t=screen.width?screen.width*window.devicePixelRatio:\"\",i=screen.height?screen.height*window.devicePixelRatio:\"\";e+=\"\".concat(t,\" * \").concat(i)}return e}function pw(){return navigator.getUserMedia||navigator.mediaDevices&&navigator.mediaDevices.getUserMedia}function _w(){let e={isSupported:!1},t=[\"AudioContext\",\"webkitAudioContext\",\"mozAudioContext\",\"msAudioContext\"];for(let i=0;i=86,Nw=function(){return[\"RTCPeerConnection\",\"webkitRTCPeerConnection\",\"RTCIceGatherer\"].filter((e=>e in window)).length>0};function Dw(){let e={AudioDecoder:!1,AudioEncoder:!1,VideoDecoder:!1,VideoEncoder:!1,ImageDecoder:!1};return nO(window.AudioDecoder)||(e.AudioDecoder=!0),nO(window.AudioEncoder)||(e.AudioEncoder=!0),nO(window.VideoDecoder)||(e.VideoDecoder=!0),nO(window.VideoEncoder)||(e.VideoEncoder=!0),nO(window.ImageDecoder)||(e.ImageDecoder=!0),e}function Ow(){return\"mediaSession\"in navigator&&!nO(navigator.mediaSession.setActionHandler)}function ww(){return!nO(window.WebTransport)}function Pw(){let e={browser:\"\".concat(qk.name,\"/\").concat(qk.version),os:eN(),displayResolution:hw(),isScreenShareSupported:lw(),isWebRTCSupported:Nw(),isGetUserMediaSupported:pw(),isWebAudioSupported:_w(),isWebSocketsSupported:\"WebSocket\"in window&&2===window.WebSocket.CLOSING,isWebCodecSupported:Dw(),isMediaSessionSupported:Ow(),isWebTransportSupported:ww()};return navigator.userAgent.includes(\"miniProgram\")&&(e.browser=\"mini/\".concat(e.browser)),e}var Lw=nb(cb(),1),Mw=Symbol(\"instance\"),Vw=Symbol(\"cacheResult\"),xw=class{constructor(e,t,i){this.oldState=e,this.newState=t,this.action=i,this.aborted=!1}abort(e){this.aborted=!0,jw.call(e,this.oldState,new Error(\"action '\".concat(this.action,\"' aborted\")))}toString(){return\"\".concat(this.action,\"ing\")}},Uw=class extends Error{constructor(e,t,i){super(t),this.state=e,this.message=t,this.cause=i}};var Fw=new Map;function Bw(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return(n,r,o)=>{let s=i.action||r;if(!i.context){let i=Fw.get(n)||[];Fw.has(n)||Fw.set(n,i),i.push({from:e,to:t,action:s})}let a=o.value;o.value=function(){let n=this;for(var r=arguments.length,o=new Array(r),c=0;c{var r;return n[Vw]=e,u.aborted||(jw.call(n,t),null===(r=i.success)||void 0===r||r.call(this,n[Vw])),e},p=e=>{let t=e instanceof Error?e.message:String(e);if(jw.call(n,d,e),!i.fail){if(i.ignoreError)return e;throw e}i.fail.call(this,new Uw(n._state,\"action '\".concat(s,\"' failed :\").concat(t),e instanceof Error?e:new Error(t)))};try{let e=a.apply(this,o);return function(e){return\"object\"==typeof e&&e&&\"then\"in e}(e)?e.then(h).catch(p):h(e)}catch(_){p(_)}}}}var Hw=\"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 jw(e,t){let i=this._state;this._state=e;let n=e.toString();e&&this.emit(n,i),this.emit(Gw.STATECHANGED,e,i,t),this.updateDevTools({value:e,old:i,err:t instanceof Error?t.message:String(t)})}var Gw=class extends Lw.default{constructor(e,t,i){super(),this.name=e,this.groupName=t,this._state=Gw.INIT,e||(e=Date.now().toString(36)),i?Object.setPrototypeOf(this,i):i=Object.getPrototypeOf(this),t||(this.groupName=this.constructor.name);let n=i[Mw];n?this.name=n.name+\"-\"+n.count++:i[Mw]={name:this.name,count:0},this.updateDevTools({diagram:this.stateDiagram})}get stateDiagram(){let e=Object.getPrototypeOf(this),t=Fw.get(e)||[],i=new Set,n=[],r=[],o=new Set,s=Object.getPrototypeOf(e);Fw.has(s)&&(s.stateDiagram.forEach((e=>i.add(e))),s.allStates.forEach((e=>o.add(e)))),t.forEach((e=>{let{from:t,to:i,action:o}=e;\"string\"==typeof t?n.push({from:t,to:i,action:o}):t.length?t.forEach((e=>{n.push({from:e,to:i,action:o})})):r.push({to:i,action:o})})),n.forEach((e=>{let{from:t,to:n,action:r}=e;o.add(t),o.add(n),o.add(r+\"ing\"),i.add(\"\".concat(t,\" --\\x3e \").concat(r,\"ing : \").concat(r)),i.add(\"\".concat(r,\"ing --\\x3e \").concat(n,\" : \").concat(r,\" 🟢\")),i.add(\"\".concat(r,\"ing --\\x3e \").concat(t,\" : \").concat(r,\" 🔴\"))})),r.forEach((e=>{let{to:t,action:n}=e;i.add(\"\".concat(n,\"ing --\\x3e \").concat(t,\" : \").concat(n,\" 🟢\")),o.forEach((e=>{e!==t&&i.add(\"\".concat(e,\" --\\x3e \").concat(n,\"ing : \").concat(n))}))}));let a=[...i];return Object.defineProperties(e,{stateDiagram:{value:a},allStates:{value:o}}),a}static get(e){let t;return\"string\"==typeof e?(t=Gw.instances.get(e),t||Gw.instances.set(e,t=new Gw(e,void 0,Object.create(Gw.prototype)))):(t=Gw.instances2.get(e),t||Gw.instances2.set(e,t=new Gw(e.constructor.name,void 0,Object.create(Gw.prototype)))),t}static getState(e){var t;return null===(t=Gw.get(e))||void 0===t?void 0:t.state}updateDevTools(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Hw(Gw.UPDATEAFSM,Object.assign({name:this.name,group:this.groupName},e))}get state(){return this._state}set state(e){jw.call(this,e)}};Gw.STATECHANGED=\"stateChanged\",Gw.UPDATEAFSM=\"updateAFSM\",Gw.INIT=\"[*]\",Gw.ON=\"on\",Gw.OFF=\"off\",Gw.instances=new Map,Gw.instances2=new WeakMap;var Ww=(null==window?void 0:window.requestIdleCallback)||function(e){let t=Date.now();return setTimeout((()=>{e({didTimeout:!1,timeRemaining:()=>Math.max(0,50-(Date.now()-t))})}),1e3)},Jw=(null==window?void 0:window.cancelIdleCallback)||function(e){clearTimeout(e)},Kw=(null==window?void 0:window.cancelAnimationFrame)||(null==window?void 0:window.mozCancelAnimationFrame),Yw=class{static generateTaskID(){return this.currentTaskID++}static run(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:MD,t=arguments.length>1?arguments[1]:void 0,i=arguments.length>2?arguments[2]:void 0;i=$C(e===LD?{delay:2e3,count:0,backgroundTask:!0}:e===wD?{delay:1e4,count:0}:e===PD?{fps:60,delay:16.6,count:0,backgroundTask:!0}:{delay:2e3,count:0,backgroundTask:!0},i),aO(t)&&(i=$C($C({},i),t)),iO(e)&&(t=e,e=MD);let n=$C({taskID:this.generateTaskID(),loopCount:0,intervalID:null,timeoutID:null,rafID:null,ricID:null,taskName:e,callback:t},i);return this.taskMap.set(n.taskID,n),this[e](n),n.taskID}static interval(e){return e.intervalID=setInterval((()=>{e.callback(),e.loopCount+=1,this.isBreakLoop(e)}),e.delay)}static intervalInWorker(e){e.delay=(1e3/e.fps).toFixed(2);let t=new Worker(URL.createObjectURL(new Blob([\"\\n let timerID = null;\\n self.onmessage = function (e) {\\n if (e.data === 'start') {\\n timerID = setInterval(() => {\\n self.postMessage('tick');\\n }, \".concat(e.delay,\");\\n } else if (e.data === 'stop') {\\n clearInterval(timerID);\\n }\\n };\\n \")])));t.onmessage=i=>{\"tick\"===i.data&&(e.callback(),e.loopCount+=1,this.isBreakLoop(e)&&t.postMessage(\"stop\"))},e.worker=t,t.postMessage(\"start\")}static timeout(e){let t=()=>{if(e.callback(),e.loopCount+=1,!this.isBreakLoop(e))return e.timeoutID=setTimeout(t,e.delay)};return e.timeoutID=setTimeout(t,e.delay)}static ric(e){let t,i=fO(),n=()=>{if(t=fO()-i,t>=e.delay&&(i=fO()-Math.floor(t%e.delay),e.callback(),e.loopCount+=1),!this.isBreakLoop(e))return e.ricID=Ww(n,{timeout:e.delay})};return e.ricID=Ww(n,{timeout:e.delay})}static raf(e){e.delay=(1e3/e.fps).toFixed(2);let t,i=fO(),n=()=>document.hidden&&e.backgroundTask?(t=fO()-i,i=fO(),e.callback(),e.loopCount+=1,this.isBreakLoop(e)?void 0:e.timeoutID=setTimeout(n,e.delay-Math.floor(t%e.delay))):(t=fO()-i,t>=e.delay&&(i=fO()-Math.floor(t%e.delay),e.callback(),e.loopCount+=1),this.isBreakLoop(e)?void 0:e.rafID=requestAnimationFrame(n));if(e.rafID=requestAnimationFrame(n),e.backgroundTask){let t=()=>{if(document.hidden){let t=fO()-i;t>=e.delay?n():e.timeoutID=setTimeout(n,e.delay-t)}};document.addEventListener(\"visibilitychange\",t),e.onVisibilitychange=t,document.hidden&&t()}return e.taskID}static hasTask(e){return this.taskMap.has(e)}static clearTask(e){if(!this.taskMap.has(e))return!0;let{intervalID:t,timeoutID:i,rafID:n,ricID:r,onVisibilitychange:o,worker:s}=this.taskMap.get(e);return s&&s.terminate(),t&&clearInterval(t),i&&clearTimeout(i),n&&Kw(n),r&&Jw(r),o&&document.removeEventListener(\"visibilitychange\",o),this.taskMap.delete(e),!0}static isBreakLoop(e){return!this.taskMap.has(e.taskID)||0!==e.count&&e.loopCount>=e.count&&(this.clearTask(e.taskID),!0)}};Yw.taskMap=new Map,Yw.currentTaskID=1;var zw=Yw;LN.SEI_MESSAGE;var qw={LOADED_DATA:LN.LOADEDDATA,MEDIA_TRACK_CHANGED:\"media-track-changed\",PLAYER_STATE_CHANGED:\"player-state-changed\"},Qw=new class{constructor(){ob(this,\"_roomIdMap\",new Map),ob(this,\"_configs\"),\"undefined\"==typeof registerProcessor&&(this._configs={sdkAppId:\"\",userId:\"\",version:rN,env:AN.QCLOUD,browserVersion:qk.name+qk.version,ua:navigator.userAgent})}setConfig(e){let{sdkAppId:t,env:i,userId:n,roomId:r}=e;t!==this._configs.sdkAppId&&(this._configs.sdkAppId=String(t)),this._configs.env=i,this._configs.userId=n,this._roomIdMap.set(n,String(r))}logSuccessEvent(e){Yk||!HO.isAbleToUpload||this._configs.env===AN.QCLOUD&&this.uploadEventToKibana(eb($C({},e),{result:\"success\"}))}logFailedEvent(e){if(Yk||!HO.isAbleToUpload)return;let{eventType:t,code:i,error:n,userId:r}=e,o={roomId:this._roomIdMap.get(r||this._configs.userId),userId:r,eventType:t,result:\"failed\",code:i||(null==n?void 0:n.extraCode)||(null==n?void 0:n.code)||mb.UNKNOWN};this._configs.env===AN.QCLOUD&&this.uploadEventToKibana(eb($C({},o),{error:n}))}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:i,error:n}=e,r={timestamp:Sb(),sdkAppId:this._configs.sdkAppId,userId:i||this._configs.userId,version:rN,log:t};n&&(r.errorInfo=n.message),this.sendRequest(BD(this._configs.sdkAppId,yN.LOG),r)}sendRequest(e,t){HO.isAbleToUpload?PO({url:e,body:JSON.stringify(t)}).catch((()=>{})):setTimeout((()=>{this.sendRequest(e,t)}),1e3)}},Xw=\"trtc_autoplay\",Zw=\"\".concat(Xw,\"_mask\"),$w=\"\".concat(Xw,\"_wrapper\"),eP=\"\".concat(Xw,\"_header\"),tP=\"\".concat(Xw,\"_content\"),iP=\"\".concat(Xw,\"_action_wrapper\"),nP=\"\".concat(Xw,\"_question\"),rP=\"\".concat(Xw,\"_collapse\"),oP=\"\".concat(Xw,\"_action_confirm\"),sP=\"\".concat(Xw,\"_detail\"),aP=\"#2473E8\",cP=\"dialog\",lP=\"\".concat(cP,\"-show\"),dP=\"\".concat(cP,\"-1\"),uP=\"\".concat(cP,\"-2\"),hP=!1,pP=()=>!!document.querySelector(\".\".concat($w)),_P=\"\".concat(TN,\"/\").concat(XD()?\"zh-cn\":\"en\",\"/tutorial-21-advanced-auto-play-policy.html\"),mP=\"
\").concat(XD()?\"其他方案?\":\"Any other solution?\",\"\"),fP=\"\".concat(XD()?\"浏览器自动播放策略:在用户与页面产生交互(点击、触摸)之前,浏览器禁止播放有声媒体。该弹窗用于帮助用户恢复音视频播放。\".concat(mP):\"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(mP)),gP=class{constructor(){if(ob(this,\"content\",\"音视频播放被浏览器拦截,请点击“恢复播放”。\"),ob(this,\"_dialogNode\",null),ob(this,\"_bodyPosition\",\"\"),ob(this,\"_showDetail\",!1),ob(this,\"_isCollapseClicked\",!1),ob(this,\"_isQuestionClicked\",!1),XD()||(this.content='Media playback failed. Click the \"Resume\" to resume playback.'),!hP){let e=document.createElement(\"style\");e.innerHTML=\".\".concat(Zw,\"{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(Zw,\" div:not(.\").concat(iP,\"){display:block !important;}.\").concat($w,\"{padding:14px;background:#fff;border-radius:3px;box-shadow:0px 3px 15px #434343;border:1px solid #d1cfcf;max-width:500px;}.\").concat($w,\" a{color:\").concat(aP,\";}.\").concat(eP,\"{overflow:hidden;text-overflow:ellipsis;font-size:16px;font-weight:600;}.\").concat(tP,\"{margin:8px 0;}.\").concat(iP,\"{width:100%;display:flex !important;align-items:center;justify-content:right;float:right;}.\").concat(rP,\"{margin-right:auto;cursor:pointer}.\").concat(nP,\"{height:100%;line-height:16px;cursor:pointer;}.\").concat(oP,\"{margin-left:8px;color:#fff;background:\").concat(aP,\";padding:4px 12px;outline:none;border:1px solid;border-radius:3px;font-weight:bold;}.\").concat(oP,\":hover{opacity:0.9;}.\").concat(rP,\",.\").concat(oP,\",.\").concat(tP,\",.\").concat(nP,\"{font-size:14px;}@media screen and (max-width:750px){.\").concat($w,\"{width:80vw;}}\"),document.head.appendChild(e),hP=!0}this.addDiaLog()}createDiaLog(){let e=document.createElement(\"template\");e.innerHTML='
\").concat(location.host,\"
\").concat(this.content,\"
').concat(fP,\"
\").trim();let t=document.createElement(\"button\");t.className=oP,t.innerText=XD()?\"恢复播放\":\"Resume\",t.onclick=this.onConfirm.bind(this);let i=document.createElement(\"div\");i.className=nP,i.innerHTML='\\n \\n \\n \\n \\n \\n ',i.onclick=this.onQuestionClick.bind(this);let n=document.createElement(\"div\");n.className=rP,n.innerText=\"\".concat(XD()?\"详情 >\":\"Detail >\"),n.onclick=this.onCollapseClick.bind(this);let r=e.content.firstChild,o=r.querySelector(\".\".concat(iP));return o.appendChild(n),o.appendChild(i),o.appendChild(t),r}addDiaLog(){pP()||(this._dialogNode=this.createDiaLog(),document.body.appendChild(this._dialogNode),this._dialogNode.onclick=this.onConfirm.bind(this),this._dialogNode.querySelector(\".\".concat($w)).onclick=e=>e.stopPropagation(),this._bodyPosition=document.body.style.position,document.body.style.position=\"fixed\",HO.info(\"show autoplay dialog\"),Qw.uploadEvent({log:lP}))}deleteDiaLog(){this._dialogNode&&(document.body.removeChild(this._dialogNode),document.body.style.position=this._bodyPosition,this._dialogNode=null)}onConfirm(){HO.warn(\"confirm clicked, try resume stream\"),xO.emit(FO.AUTOPLAY_DIALOG_CLICK_CONFIRM),this.deleteDiaLog()}onCollapseClick(){let e=this._dialogNode.querySelector(\".\".concat(sP));e.style.visibility=\"\".concat(this._showDetail?\"hidden\":\"visible\"),e.style.height=\"\".concat(this._showDetail?0:\"fit-content\"),this._showDetail=!this._showDetail,this._isCollapseClicked||Qw.uploadEvent({log:dP}),this._isCollapseClicked=!0}onQuestionClick(){window.open(_P,\"_blank\"),this._isQuestionClicked||Qw.uploadEvent({log:uP}),this._isQuestionClicked=!0}},TP={};ib(TP,{create:()=>SP,remove:()=>IP});var EP=new WeakMap;function SP(e,t){EP.has(e)||EP.set(e,[]);let i=EP.get(e),n={add:(e,r)=>(\"addEventListener\"in t?(i.push(t.removeEventListener.bind(t,e,r)),t.addEventListener(e,r)):(i.push(t.off.bind(t,e,r)),t.on(e,r)),n)};return n}function IP(e){let t=EP.get(e);t&&(t.forEach((e=>e())),EP.delete(e))}var vP=class extends Gw{constructor(e,t){super(e.id,\"\".concat(t,\"-player\")),this.kind=t,ob(this,\"id\"),ob(this,\"element\",null),ob(this,\"container\",null),ob(this,\"mediaStream\",new MediaStream),ob(this,\"track\"),ob(this,\"url\"),ob(this,\"attr\"),ob(this,\"muted\"),ob(this,\"_log\"),ob(this,\"_pausedRetryCount\"),ob(this,\"_isElementPlayingFired\",!1),ob(this,\"_interval\"),this.id=e.id,this._log=e.log,this.track=e.track,this.container=e.container,this.muted=e.muted,this._pausedRetryCount=AD,this._state=\"STOPPED\",this.bindTrackEvents()}get isPlaying(){return\"PLAYING\"===this._state}get isStopped(){return\"STOPPED\"===this._state}setAttr(e){this.attr=e}setTrack(e){if(e!==this.track&&(this.unbindTrackEvents(),this.track=e,this.emit(qw.MEDIA_TRACK_CHANGED,e),null!==e&&(this.bindTrackEvents(),this.element))){let t=new MediaStream;t.addTrack(e),this.element.srcObject=t}}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))}setContainer(e){this.container=e,this.track&&this.element&&this.container&&this.container.appendChild(this.element)}play(){return ab(this,null,(function*(){if(this.element&&this.element.parentElement!==this.container&&this.container&&this.container.append(this.element),!this.isPlaying)try{this.bindAutoPlayEvent(),yield this.element.play()}catch(sN){let t=qO({key:JO.PLAY_FAILED,data:{media:this.kind,error:sN}});if(this.track&&!this.track.muted&&this._log.warn(sN),t.includes(\"NotAllowedError\"))throw new gb({code:mb.PLAY_NOT_ALLOWED,message:t})}}))}stop(){this.unbindEvents(),this._isElementPlayingFired=!1,this.element&&(this.container&&this.container.removeChild(this.element),this.element.srcObject=null,this.element=null),this.handleStopped(LN.ENDED),this._interval>0&&zw.clearTask(this._interval)}pause(){var e;this.isPlaying&&(null==(e=this.element)||e.pause())}resume(){return this.isPlaying?Promise.resolve():Jk?this.replay():this.play().catch((()=>{}))}setMuted(e){this.element&&(this.element.muted=e),this.muted=e}setRect(e,t){this.element&&(this.element.style.width=\"\".concat(e,\"px\"),this.element.style.height=\"\".concat(t,\"px\"))}replay(){return this.stop(),this.play().catch((()=>{}))}bindElementEvents(){if(this.element){let e=this.handleElementEvent.bind(this);return SP(this.element,this.element).add(LN.PLAYING,e).add(LN.ENDED,e).add(LN.PAUSE,e).add(LN.ERROR,e).add(LN.LOADEDDATA,e)}}bindTrackEvents(){if(this.track){let e=this.handleTrackEvent.bind(this);null==TP||TP.create(this.track,this.track).add(LN.ENDED,e).add(LN.MUTE,e).add(LN.UNMUTE,e),this.track.readyState===LN.ENDED&&this.handleTrackEvent({type:LN.ENDED}),this.track.muted&&this.handleTrackEvent({type:LN.MUTE})}}bindAutoPlayEvent(){xO.on(FO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}unbindTrackEvents(){this.track&&IP(this.track)}unbindEvents(){this.element&&IP(this.element),this.unbindTrackEvents(),xO.off(FO.AUTOPLAY_DIALOG_CLICK_CONFIRM,this.resume,this)}handleElementEvent(e){var t;switch(e.type){case LN.PLAYING:this._isElementPlayingFired=!0,this._log.info(\"\".concat(this.kind,\" player is playing\")),this.handlePlaying(LN.PLAYING),this._interval&&(zw.clearTask(this._interval),this._interval=-1);break;case LN.ENDED:this._log.info(\"\".concat(this.kind,\" player is ended\")),this.handleStopped(LN.ENDED);break;case LN.PAUSE:this._log.info(\"\".concat(this.kind,\" player is paused\")),this.handlePaused(LN.PAUSE);let e=this.container&&document.getElementById(this.container.id);e||this._log.warn(\"\".concat(this.kind,\" player has been remove, element ID: \").concat(null==(t=this.container)?void 0:t.id));let i=wk();this._pausedRetryCount>0&&(this.kind===LN.VIDEO&&!pP()||this.kind===LN.AUDIO&&(oO(i)&&i<=70||!e))&&(this._log.info(\"\".concat(this.kind,\" player auto resume when paused\")),this.resume(),this._pausedRetryCount--),Pb&&(this._interval=zw.run(MD,(()=>{this.element&&\"PAUSED\"===this._state&&this.resume()}),{delay:3e3}));break;case LN.ERROR:if(this.element&&this.element.error){let{code:e,message:t}=this.element.error;this._log.error(\"\".concat(this.kind,\" player error observed. code: \").concat(e,\" message: \").concat(t,\" userAgent: \").concat(navigator.userAgent)),Qw.uploadEvent({log:\"stat-\".concat(this.kind,\"-\").concat(cD.PLAYER_ERROR,\"-\").concat(e,\"-\").concat(navigator.userAgent),error:this.element.error})}break;case LN.LOADEDDATA:this.kind===LN.VIDEO&&this.emit(qw.LOADED_DATA)}}handleTrackEvent(e){switch(e.type){case LN.ENDED:this._log.info(\"\".concat(this.kind,\" track is ended\")),this.handleStopped(LN.ENDED);break;case LN.MUTE:this._log.info(\"\".concat(this.kind,\" track is unable to provide media output\")),this.handlePaused(LN.MUTE);break;case LN.UNMUTE:this._log.info(\"\".concat(this.kind,\" track is able to provide media output\")),this._isElementPlayingFired&&this.handlePlaying(LN.UNMUTE)}}handlePlaying(e){this.emit(qw.PLAYER_STATE_CHANGED,{type:this.kind,state:\"PLAYING\",reason:e})}handlePaused(e){this.emit(qw.PLAYER_STATE_CHANGED,{type:this.kind,state:\"PAUSED\",reason:e})}handleStopped(e){this.emit(qw.PLAYER_STATE_CHANGED,{type:this.kind,state:\"STOPPED\",reason:e})}getElement(){return this.element}};rb([Bw([],\"PLAYING\")],vP.prototype,\"handlePlaying\",1),rb([Bw(\"PLAYING\",\"PAUSED\",{ignoreError:!0})],vP.prototype,\"handlePaused\",1),rb([Bw([],\"STOPPED\")],vP.prototype,\"handleStopped\",1);var yP=class extends vP{constructor(e){super(e,LN.VIDEO),ob(this,\"mirror\"),ob(this,\"objectFit\"),nO(e.mirror)||(this.mirror=e.mirror),nO(e.objectFit)||(this.objectFit=e.objectFit)}initializeElement(){var e;let t=document.createElement(LN.VIDEO);if(this.track){let e=new MediaStream;e.addTrack(this.track),t.srcObject=e}t.muted=!0;let i=\"width: 100%; height: 100%; object-fit: \".concat(this.objectFit,\";background-color: black;\");this.mirror&&(i+=\"transform: scaleX(-1);\"),t.setAttribute(\"id\",\"video_\".concat(this.id)),t.setAttribute(\"style\",i),t.setAttribute(\"autoplay\",\"autoplay\"),t.setAttribute(\"playsinline\",\"playsinline\"),null==(e=this.container)||e.appendChild(t),this.element=t,this.bindElementEvents()}bindElementEvents(){let e=super.bindElementEvents();this.handleElementEvent=this.handleElementEvent.bind(this),e&&e.add(LN.ENTER_PICTURE_IN_PICTURE,this.handleElementEvent).add(LN.LEAVE_PICTURE_IN_PICTURE,this.handleElementEvent)}handleElementEvent(e){super.handleElementEvent(e);let t=e.type;if(this.mirror&&this.element){let e=this.element.style.transform;t===LN.ENTER_PICTURE_IN_PICTURE?this.element.style.transform=e.replace(\"scaleX(-1)\",\"\"):t===LN.LEAVE_PICTURE_IN_PICTURE&&!e.includes(\"scaleX\")&&(this.element.style.transform=\"\".concat(e,\" scaleX(-1)\"))}}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)}setMirror(e){this.element&&(this.element.style.transform=e?\"scaleX(-1)\":\"\"),this.mirror=e}setObjectFit(e){this.element&&(this.element.style.objectFit=\"\".concat(e)),this.objectFit=e}play(){return this.element||this.initializeElement(),super.play()}getVideoFrame(){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}},AP=!1,RP=class{constructor(e){ob(this,\"context_\"),ob(this,\"blob_\"),this.context_=e.context,this.blob_=new Blob(['class VolumeMeter extends AudioWorkletProcessor{constructor(){super(),this.volume=0,this.intervalTime=200,this.tick=this.intervalTime,this.isStop=!1,this.port.onmessage=t=>{let{data:e}=t;switch(e.name){case\"setIntervalTime\":this.intervalTime=e.intervalTime;break;case\"stop\":this.isStop=!0}}}process(t){let e=t[0];if(this.isStop)return!1;if(e.length>0){let i=e[0],s=0;for(let l=0;l{let i=new window.AudioContext(t),n=++kP,r=()=>{\"suspended\"===i.state?(i.resume(),document.addEventListener(\"click\",r)):\"interrupted\"===i.state?i.resume():document.removeEventListener(\"click\",r)};return document.addEventListener(\"click\",r),i.onstatechange=()=>{HO.info(\"\".concat(e,\"-\").concat(n,\" context state: \").concat(i.state)),r()},i},DP=0,OP=class{constructor(e){ob(this,\"_volume\"),ob(this,\"_log\"),ob(this,\"_track\"),ob(this,\"_stream\"),ob(this,\"_audioCtx\"),ob(this,\"_destination\"),ob(this,\"_streamSource\"),ob(this,\"_scriptProcessorNode\"),ob(this,\"_audioWorkletNode\"),ob(this,\"_interval\");let{track:t,log:i}=e;this._volume=0,this._log=i,this._track=t,CP||(CP=NP(\"volume-meter\")),this._audioCtx=CP,this._destination=this._audioCtx.destination;let n=new MediaStream;n.addTrack(this._track),this._streamSource=this._audioCtx.createMediaStreamSource(n),this._audioWorkletNode=null,this._scriptProcessorNode=null,this._interval=200,xO.on(FO.AUDIO_LEVEL_INTERVAL,this.handleAudioLevelInterval,this),_O?(xO.on(FO.WORKLET_LOADED_SUCCESS,this.initAudioWorklet,this),xO.on(FO.WORKLET_LOADED_FAILED,this.initScriptProcessor,this),this.preload()):this.initScriptProcessor(),DP+=1}preload(){bP?bP.initWorkletSuccess&&this.initAudioWorklet():bP=new RP({context:CP})}initAudioWorklet(){if(!this._audioWorkletNode)try{this._audioWorkletNode=new AudioWorkletNode(this._audioCtx,\"volume-meter\"),this._audioWorkletNode.port.onmessage=e=>{this._volume=e.data.volume||0},this._streamSource.connect(this._audioWorkletNode).connect(this._destination),this.handleAudioLevelInterval({interval:this._interval})}catch(HL){Qw.logFailedEvent({userId:this._log.userId,eventType:cD.LOAD_WORKLET,error:HL}),this.initScriptProcessor()}}initScriptProcessor(){if(!this._scriptProcessorNode)try{this._scriptProcessorNode=this._audioCtx.createScriptProcessor(2048,1,1),this._scriptProcessorNode.onaudioprocess=e=>{let t=e.inputBuffer.getChannelData(0),i=0;for(let n=0;n0&&(DP-=1),0===DP&&(null==CP||CP.close(),CP=null,bP=null)}resume(){null==CP||CP.resume()}getInternalAudioLevel(){return this._volume}getCalculatedVolume(){return parseFloat(this._volume.toFixed(2))}handleAudioLevelInterval(e){var t;let{interval:i}=e;this._interval=i,null==(t=this._audioWorkletNode)||t.port.postMessage({name:\"setIntervalTime\",intervalTime:i})}},wP=null,PP=0,LP=class extends vP{constructor(e){super(e,LN.AUDIO),ob(this,\"_volumeMeter\"),ob(this,\"_gainedTrack\",null),ob(this,\"_gainNode\",null),ob(this,\"_destination\",null),ob(this,\"_mediaStreamSource\",null),ob(this,\"_sourceElement\",null),ob(this,\"_outputDeviceId\"),ob(this,\"_volume\",1),ob(this,\"_loop\",!1),e.gainedTrack&&(this._gainedTrack=e.gainedTrack),this._outputDeviceId=e.outputDeviceId,this.track&&this.initVolumeMeter(this.track)}setTrack(e){this.track!==e&&(this._volumeMeter&&(this._volumeMeter.destroy(),this._volumeMeter=null),null!==e&&this.initVolumeMeter(e)),super.setTrack(e)}initVolumeMeter(e){this._volumeMeter=new OP({track:this._gainedTrack||e,log:this._log})}initializeElement(){if((\"15.2\"===jk||\"15.3\"===jk||\"15.4\"===jk)&&this.muted)return void this._log.info(\"audioElement is muted.\");let e=document.createElement(LN.AUDIO);this.track&&(e.srcObject=new MediaStream([this._gainedTrack||this.track])),e.muted=this.muted,e.setAttribute(\"id\",\"audio_\".concat(this.id)),e.setAttribute(\"autoplay\",\"autoplay\"),e.setAttribute(\"playsinline\",\"playsinline\"),this.element=e,this.bindElementEvents()}play(){return ab(this,null,(function*(){this.element||this.initializeElement(),this._outputDeviceId&&(yield this.setSinkId(this._outputDeviceId)),!this._volumeMeter&&this.track&&this.initVolumeMeter(this.track),this.setVolume(this._volume),yield sb(LP.prototype,this,\"play\").call(this)}))}stop(){this._volumeMeter&&(this._volumeMeter.destroy(),this._volumeMeter=null),this.destroyGain(),super.stop()}resume(){return ab(this,null,(function*(){yield sb(LP.prototype,this,\"resume\").call(this),this._volumeMeter&&this._volumeMeter.resume()}))}setSinkId(e){return ab(this,null,(function*(){this._outputDeviceId!==e&&(this.element&&(yield this.element.setSinkId(e)),this._outputDeviceId=e)}))}setVolume(e){this._volume=e,this._gainNode?this._gainNode.gain.value=e:e>1?this.createGain(e):this.element&&(this.element.volume=e)}createGain(e){wP||(wP=NP(\"player\")),this._log.info(\"create gainNode \".concat(e));let t=wP.createMediaStreamSource(new MediaStream([this.track])),i=wP.createGain(),n=wP.createMediaStreamDestination();t.connect(i),i.connect(n),i.gain.value=e,this._gainNode=i,this._destination=n,this._mediaStreamSource=t,this._gainedTrack=n.stream.getAudioTracks()[0],PP+=1,this.element&&(IP(this.element),this._sourceElement=this.element,this.element.muted=!0,this.element=null),this.play()}destroyGain(){var e,t,i;!this._gainNode||(this._log.info(\"destroy gainNode\"),null==(e=this._gainNode)||e.disconnect(),null==(t=this._destination)||t.disconnect(),null==(i=this._mediaStreamSource)||i.disconnect(),this._gainNode=null,this._destination=null,this._mediaStreamSource=null,this._sourceElement&&(this._sourceElement.srcObject=null,this._sourceElement=null),this._gainedTrack=null,0===(PP-=1)&&wP&&(this._log.info(\"destroy gain audioContext\"),wP.close(),wP=null))}setLoop(e){!this.element||(this.element.loop=e,this._loop=e)}getAudioLevel(){var e;return(null==(e=this._volumeMeter)?void 0:e.getCalculatedVolume())||0}getInternalAudioLevel(){var e;return null==(e=this._volumeMeter)?void 0:e.getInternalAudioLevel()}},MP=class extends Gw{constructor(e){let{userId:t,sdkAppId:i,mediaType:n,room:r,isInitPlayer:o=!0}=e;var s;super(),ob(this,\"id\",jO()),ob(this,\"userId\"),ob(this,\"isRemote\"),ob(this,\"mediaType\"),ob(this,\"room\"),ob(this,\"user\"),ob(this,\"_log\"),ob(this,\"_inputTrack\"),ob(this,\"_outputTrack\"),ob(this,\"isPlayCalled\"),ob(this,\"container\",null),ob(this,\"player\"),ob(this,\"subVideoPlayerMap\"),ob(this,\"playerMuted\",!1),ob(this,\"abortCtrl\"),ob(this,\"audioOutputDeviceId\"),ob(this,\"audioVolume\"),ob(this,\"objectFit\",\"cover\"),ob(this,\"mirror\",!1),ob(this,\"gain\"),ob(this,\"isScreen\",!1),ob(this,\"manager\"),nO(t)||(this.userId=t),this.mediaType=n,this._log=HO.createLogger({id:\"\".concat(this.kind[0],\"t\"),userId:null==(s=r||this.room)?void 0:s.userId,remoteUserId:this instanceof nL?void 0:this.userId,sdkAppId:i,type:2===this.mediaType?\"auxiliary\":\"main\",isLocal:this instanceof nL}),o&&this.initPlayer()}get log(){return this._log||HO}get kind(){return 1===this.mediaType?LN.AUDIO:LN.VIDEO}get muted(){return!(!this.outMediaTrack||this.outMediaTrack.enabled)}get strMediaType(){return 4===this.mediaType?LN.VIDEO:2===this.mediaType?LN.SCREEN:LN.AUDIO}play(e,t){return ab(this,null,(function*(){let i=cO(e)?e[0]:e;if(this.isPlayCalled)return this.log.info(\"play update options: \".concat(JSON.stringify(t))),t&&!nO(t.muted)&&this.setPlayerMute(t.muted),t&&!nO(t.objectFit)&&(this.objectFit=t.objectFit),this.isScreen?this.mirror=!1:t&&!nO(t.mirror)&&(this.mirror=t.mirror),void(this.kind===LN.VIDEO&&(this.player.setObjectFit(this.objectFit),this.player.setMirror(this.mirror),this.container!==i&&i&&(this.container=i,this.player.setContainer(i)),cO(e)&&e.length>=1&&(yield this.playSubContainer(e.slice(1),t))));if(t&&!nO(t.muted)?this.setPlayerMute(t.muted):(!this.isRemote||this.kind===LN.VIDEO)&&this.setPlayerMute(!0),t&&!nO(t.objectFit)&&(this.objectFit=t.objectFit),this.isRemote||(this.mirror=!0),this.isScreen?this.mirror=!1:t&&!nO(t.mirror)&&(this.mirror=t.mirror),this.kind===LN.VIDEO&&(this.player.setObjectFit(this.objectFit),this.player.setMirror(this.mirror)),this.isPlayCalled=!0,i&&(this.container=i,this.player.setContainer(i)),xO.emit(FO.PLAY_TRACK_START,{track:this}),this._outputTrack){this._log.info(\"play with options: \".concat(JSON.stringify(t)));try{this.player.setTrack(this._outputTrack),yield this.player.play(),cO(e)&&e.length>1&&(yield this.playSubContainer(e.slice(1),t))}catch(n){throw this.handleAutoPlayFailed(),this.emit(\"error\",n),n}}else this.log.info(\"play has not mediaTrack, abort\")}))}playSubContainer(e,t){return ab(this,null,(function*(){if(!this._outputTrack||this.kind===LN.AUDIO)return;this.subVideoPlayerMap||(this.subVideoPlayerMap=new Map),this.subVideoPlayerMap.forEach(((t,i)=>{var n;e.find((e=>i===e))||(t.stop(),t.setContainer(null),null==(n=this.subVideoPlayerMap)||n.delete(i))}));for(let[n,r]of e.entries()){let e=this.subVideoPlayerMap.get(r);e?t&&(nO(t.mirror)||e.setMirror(t.mirror),nO(t.objectFit)||e.setObjectFit(t.objectFit)):this.subVideoPlayerMap.set(r,new yP({id:this.userId||this.id,track:this.outMediaTrack,container:r,muted:this.playerMuted,objectFit:this.objectFit,mirror:this.mirror,log:this.log.createChild({id:\"vp-sub\".concat(n+1)})}))}let i=[...this.subVideoPlayerMap.values()];for(let e of i)yield e.play()}))}initPlayer(){var e;this.log.info(\"create \".concat(this.kind,\"Player\")),this.kind===LN.AUDIO?this.player=new LP({id:this.userId||this.id,track:this.outMediaTrack,gainedTrack:null==(e=this.gain)?void 0:e.audioTrack,container:this.container||null,muted:this.playerMuted,outputDeviceId:this.audioOutputDeviceId,log:this.log}):(this.player=new yP({id:this.userId||this.id,track:this.outMediaTrack,container:this.container||null,muted:this.playerMuted,objectFit:this.objectFit,mirror:this.mirror,log:this.log}),this.player.on(qw.LOADED_DATA,(()=>{xO.emit(FO.VIDEO_LOADED_DATA,{track:this})})),this.player.on(qw.MEDIA_TRACK_CHANGED,(e=>{var t;null==(t=this.subVideoPlayerMap)||t.forEach((t=>t.setTrack(e)))}))),this.player.on(qw.PLAYER_STATE_CHANGED,(e=>{xO.emit(FO.PLAYER_STATE_CHANGED,$C({track:this},e)),this.emit(\"player-state-changed\",e)}))}setAudioOutput(e){return ab(this,null,(function*(){var t;this.audioOutputDeviceId=e,yield null==(t=this.player)?void 0:t.setSinkId(e)}))}setAudioVolume(e){var t;this.audioVolume=e,this.log.info(\"setAudioVolume to \".concat(e)),null==(t=this.player)||t.setVolume(e)}getAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getAudioLevel())||0}getInternalAudioLevel(){var e;return(null==(e=this.player)?void 0:e.getInternalAudioLevel())||0}stop(){!this.isPlayCalled||(this.isPlayCalled=!1,this.player&&(this.log.info(\"stop \".concat(this.kind,\" player\")),this.player.stop(),this.player.setContainer(null)),this.subVideoPlayerMap&&this.subVideoPlayerMap.size>0&&this.subVideoPlayerMap.forEach((e=>{e.stop(),e.setContainer(null)})),this.container=null)}resume(){return ab(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()}setMute(e){return!!this.outMediaTrack&&(this.outMediaTrack.enabled=!e,this.emit(e?\"mute\":\"unmute\",this),xO.emit(e?FO.TRACK_MUTED:FO.TRACK_UNMUTED,{track:this}),!0)}setPlayerMute(e){this.playerMuted=e,this.player.setMuted(e)}get mediaTrack(){return this._inputTrack||null}get outMediaTrack(){return this._outputTrack||null}setInputMediaStreamTrack(e){let t=this._inputTrack;if(e!==t)return this._inputTrack=e,this.emit(\"input-media-track-changed\",e||null,t||null),this.manager?this.manager.changeInput(this,t):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,e.enabled=!this.muted,this.updatePlayingState(!!e))}setMediaType(e){this.mediaType=e}updatePlayingState(e){if(this.isPlayCalled)if(e){if(this.player.setTrack(this.outMediaTrack),this.player.isStopped)return this.player.play().catch((()=>this.handleAutoPlayFailed())),void this.log.info(\"playing state updated, play \".concat(this.kind))}else if(!this.player.isStopped)return this.player.stop(),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(){if(this.room&&this.room.enableAutoPlayDialog)new gP;else{let e=()=>{this.resume().then((()=>{document.removeEventListener(\"click\",e,!0),document.removeEventListener(\"touchstart\",e,!0)}))};document.addEventListener(\"click\",e,!0),document.addEventListener(\"touchstart\",e,!0)}}};rb([Bw([],Gw.INIT)],MP.prototype,\"close\",1);var VP=Object.prototype.hasOwnProperty;var xP=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(ZD(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(VP.call(e,t))return!1;return!0}return!1},UP=nb(cb(),1),FP=e=>t=>t.deviceId===e,BP=class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"Input\";ob(this,\"kind\"),ob(this,\"type\"),ob(this,\"devices\",[]),this.kind=e,this.type=t}update(e,t){let i=e.filter((e=>e.kind===\"\".concat(this.kind).concat(this.type.toLocaleLowerCase())));t&&(i.forEach((e=>{if(e.deviceId&&!this.devices.find(FP(e.deviceId))){let i=\"\".concat(this.kind).concat(this.type,\"Added\");HO.warn(\"\".concat(i,\": \").concat(JSON.stringify(e))),t.emit(i,e)}})),this.devices.forEach((e=>{if(e.deviceId&&!i.find(FP(e.deviceId))){let i=\"\".concat(this.kind).concat(this.type,\"Removed\");HO.warn(\"\".concat(i,\": \").concat(JSON.stringify(e))),t.emit(i,e)}}))),this.devices=i}hasDevice(e){return!!this.devices.find((t=>t.deviceId===e))}},HP=class extends UP.EventEmitter{constructor(){super(),ob(this,\"audioInputs\",new BP(LN.AUDIO)),ob(this,\"videoInputs\",new BP(LN.VIDEO)),ob(this,\"audioOutputs\",new BP(LN.AUDIO,\"Output\")),this.init(),navigator.mediaDevices&&(navigator.mediaDevices.addEventListener&&navigator.mediaDevices.addEventListener(\"devicechange\",this.update.bind(this)),\"ondevicechange\"in navigator.mediaDevices||zw.run(LD,(()=>{this.update()}),{delay:1e4}))}init(){GP().then((e=>{this.audioInputs.update(e),this.videoInputs.update(e),this.audioOutputs.update(e)}))}update(){return ab(this,null,(function*(){let e=yield GP();return this.audioInputs.update(e,this),this.videoInputs.update(e,this),this.audioOutputs.update(e,this),this}))}},jP=dN||lN?null:new HP;function GP(){return ab(this,null,(function*(){return nw()||!tw()?[]:(yield navigator.mediaDevices.enumerateDevices()).map(((e,t)=>{let i={kind:e.kind,deviceId:e.deviceId,groupId:e.groupId,label:e.label||\"\".concat(e.kind,\"_\").concat(t)};return e.deviceId.length>0&&YP.add(\"\".concat(e.deviceId,\"_\").concat(e.kind)),e.getCapabilities&&(i.getCapabilities=()=>e.getCapabilities()),i}))}))}function WP(){return jP.update().then((e=>e.audioInputs.devices))}function JP(){return jP.update().then((e=>e.videoInputs.devices))}function KP(){return ab(this,null,(function*(){return jP.update().then((e=>e.audioOutputs.devices))}))}var YP=new Set;function zP(e,t){return ab(this,null,(function*(){let i=(yield WP()).find((e=>e.deviceId===RD));return(null==i?void 0:i.groupId)===e&&i.label===t}))}var qP=MO({retryFunction:function(e){return ab(this,null,(function*(){let t=function(e){return{audio:XP(e),video:ZP(e)}}(e);HO.info(\"getUserMedia with constraints: \".concat(JSON.stringify(t)));let i=[],n=[],r=[\"label\",\"deviceId\"];t.audio&&(i=yield WP(),HO.info(\"microphones: \".concat(DO(i,{keysToInclude:r})))),t.video&&(n=yield JP(),HO.info(\"cameras: \".concat(DO(n,{keysToInclude:r}))));try{let e=yield navigator.mediaDevices.getUserMedia(t);return bw&&e.getTracks().forEach((e=>{HO.info(\"\".concat(e.kind,\" capabilities: \").concat(DO(e.getCapabilities(),{keysToInclude:VD})))})),e}catch(o){if(\"NotFoundError\"===o.name){if(e.video&&n&&0===n.length)throw new gb({code:mb.DEVICE_NOT_FOUND,message:qO({key:JO.CAMERA_NOT_FOUND})});if(e.audio&&i&&0===i.length)throw new gb({code:mb.DEVICE_NOT_FOUND,message:qO({key:JO.MICROPHONE_NOT_FOUND})})}throw new gb({code:mb.INITIALIZE_FAILED,name:o.name,message:o.message,constraint:o.constraint})}}))},settings:{retries:3,timeout:500},onError:e=>{let{error:t,retry:i,reject:n,retryFuncArgs:r,retryCount:o}=e;\"NotReadableError\"===t.name?(r[0].video&&(r[0].maxResolution=!1,r[0].frameRate&&(r[0].frameRate=r[0].frameRate>10?10:5)),2===o&&(r[0].useTrueAsConstraint=!0),i()):n(t),r[0].microphoneId&&QP(r[0].microphoneId,!1),r[0].cameraId&&QP(r[0].cameraId,!0)},onRetrying:e=>{HO.warn(\"getUserMedia NotReadableError observed, retrying [\".concat(e,\"/3]\"))},onRetryFailed:e=>{Qw.logFailedEvent({eventType:cD.GET_USER_MEDIA_RETRY,error:e})},onRetrySuccess:e=>{Qw.logSuccessEvent({eventType:cD.GET_USER_MEDIA_RETRY}),Qw.uploadEvent({log:\"stat-\".concat(cD.GET_USER_MEDIA_RETRY,\"-success-\").concat(e)})}});function QP(e,t){return ab(this,null,(function*(){let i=(t?yield JP():yield WP()).find((t=>t.deviceId===e));i&&iO(i.getCapabilities)&&HO.warn(DO(i.getCapabilities(),{keysToInclude:VD}))}))}function XP(e){if(!e.audio)return!1;if(e.useTrueAsConstraint)return!0;let t={echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0};return xP(e.microphoneId)||(t.deviceId=e.useExact?{exact:e.microphoneId}:e.microphoneId),oO(e.channelCount)&&e.channelCount>1&&(t.channelCount=e.channelCount),sO(e.echoCancellation)&&!e.echoCancellation&&(t.echoCancellation=!1),sO(e.noiseSuppression)&&!e.noiseSuppression&&(t.noiseSuppression=!1),sO(e.autoGainControl)&&!e.autoGainControl&&(t.autoGainControl=!1),!!xP(t)||t}function ZP(e){if(!e.video)return!1;if(e.useTrueAsConstraint)return!0;let{maxResolution:t=!0}=e,i={};return e.cameraId?i.deviceId=e.useExact?{exact:e.cameraId}:e.cameraId:e.facingMode&&(i.facingMode=e.facingMode),e.width&&(i.width={ideal:e.width},t&&!Ub&&(i.width.max=e.width)),e.height&&(i.height={ideal:e.height},t&&!Ub&&(i.height.max=e.height)),Ub&&mk&&e.width&&e.height&&e.width*e.height<101376&&(i.width=e.width,i.height=e.height),e.frameRate&&(i.frameRate=e.frameRate),!!xP(i)||i}var $P=qP;function eL(e){return iL(((t,i)=>function(){for(var i=arguments.length,n=new Array(i),r=0;rfunction(){for(var i=arguments.length,n=new Array(i),r=0;r1&&void 0!==arguments[1])||arguments[1]}),ob(this,\"isRemote\",!1),ob(this,\"deviceId\"),ob(this,\"groupId\",\"\"),ob(this,\"label\",\"\"),ob(this,\"_isRecapturing\",!1),ob(this,\"_lastRecaptureTime\",0),ob(this,\"_onMuteTimeoutId\",-1),ob(this,\"profile\"),this.onTrackMuted=this.onTrackMuted.bind(this),this.onTrackUnmuted=this.onTrackUnmuted.bind(this),this.onTrackEnded=this.onTrackEnded.bind(this)}installTrackEvent(e){SP(e,e).add(LN.MUTE,this.onTrackMuted).add(LN.UNMUTE,this.onTrackUnmuted).add(LN.ENDED,this.onTrackEnded),e.muted&&this.onTrackMuted(),e.readyState===LN.ENDED&&this.onTrackEnded()}uninstallTrackEvent(e){IP(e)}setStateToCapture(){}capture(e){return ab(this,null,(function*(){try{let t;xO.emit(FO.LOCAL_TRACK_CAPTURE_START,{track:this}),e.customSource?(t=new MediaStream,t.addTrack(e.customSource)):t=yield $P(e);let i=t.getTracks()[0];return yield this.setInputMediaStreamTrack(i),e.customSource||(this.updateDeviceIdInUse(),this.listenDeviceChange()),xO.emit(FO.LOCAL_TRACK_CAPTURE_SUCCESS,{track:this}),t}catch(sD){throw xO.emit(FO.LOCAL_TRACK_CAPTURE_FAILED,{track:this,error:sD}),this.log.error(\"getUserMedia error observed \".concat(sD)),sD}}))}setInputMediaStreamTrack(e){this.state===Gw.INIT&&this.setStateToCapture(),this._inputTrack&&this.uninstallTrackEvent(this._inputTrack);let t=super.setInputMediaStreamTrack(e);return this.installTrackEvent(e),t}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),xO.emit(FO.LOCAL_TRACK_PUBLISHED,{track:this}),t}unpublish(){this.room&&this.room.localTracks.delete(this),xO.emit(FO.LOCAL_TRACK_UNPUBLISHED,{track:this})}updateDeviceIdInUse(){return ab(this,null,(function*(){if(this.mediaTrack&&Cw){let{deviceId:e,groupId:t}=this.mediaTrack.getSettings(),{label:i}=this.mediaTrack;(yield function(e){return ab(this,arguments,(function(e){let{newDeviceId:t,oldDeviceId:i,oldGroupId:n,oldLabel:r,kind:o}=e;return function*(){return t===i&&(o!==LN.AUDIO||t!==RD||(yield zP(n,r)))}()}))}({newDeviceId:e,oldDeviceId:this.deviceId,oldGroupId:this.groupId,oldLabel:this.label,kind:this.kind}))||(this.deviceId=e,this.label=i,t&&(this.groupId=t),GP().then((t=>{let i=t.find((t=>t.deviceId===e));i&&this.emit(\"2\",i)})))}}))}setProfile(e){this.log.info(\"setProfile\",e),Object.assign(this.profile,e)}isNeedToRecapture(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return!(!this.deviceId||!this.mediaTrack||this.kind===LN.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 i=\"\".concat(((null==e?void 0:e.getSettings())||{}).deviceId,\"_\").concat(LN.AUDIO_INPUT);return!!YP.has(i)}(this.mediaTrack)||this.kind===LN.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 i=\"\".concat(((null==e?void 0:e.getSettings())||{}).deviceId,\"_\").concat(LN.VIDEO_INPUT);return!!YP.has(i)}(this.mediaTrack)||this._isRecapturing||e&&mk&&Uk)}onTrackMuted(){if(this.isNeedToRecapture(!0)){if(Date.now()-this._lastRecaptureTimethis.onTrackMuted()),OD);this._onMuteTimeoutId=setTimeout((()=>ab(this,null,(function*(){var e;(null==(e=this.mediaTrack)?void 0:e.muted)&&\"visible\"===document.visibilityState&&this.recapture(yield this.getRecoverCaptureDeviceId())}))),5e3)}}onTrackUnmuted(){this._onMuteTimeoutId>0&&clearTimeout(this._onMuteTimeoutId)}onTrackEnded(){return ab(this,null,(function*(){if(this.isNeedToRecapture()){if(Date.now()-this._lastRecaptureTimethis.onTrackEnded()),OD);this.recapture(yield this.getRecoverCaptureDeviceId())}}))}recapture(e){return ab(this,null,(function*(){var t;if(this._isRecapturing||!this._inputTrack)return;let i;return this.log.warn(\"recapture trying\"),null==(t=this._inputTrack)||t.stop(),this._isRecapturing=!0,this._lastRecaptureTime=Date.now(),(\"audio\"===this.kind?yield WP():yield JP()).find((t=>t.deviceId===e))&&(i=e),this.capture({deviceId:i,useExact:!0}).then((()=>{this._isRecapturing=!1,this.log.warn(\"recapture success\"),this.emit(\"1\",{deviceId:this.deviceId})})).catch((e=>{this._isRecapturing=!1,this.log.warn(\"recapture failed \".concat(e.message)),this.emit(\"5\",e)}))}))}getRecoverCaptureDeviceId(){return ab(this,null,(function*(){let{deviceId:e}=this;if(e){let t=(rL.get(e)||0)+1;if(rL.set(e,t),t>=3){let i=\"video\"===this.kind?(yield JP()).find((e=>!rL.has(e.deviceId))):(yield WP()).find((e=>!rL.has(e.deviceId)));i&&(this.log.warn(\"\".concat(e,\" capture fail \").concat(t,\" times, change new \").concat(i.deviceId)),e=i.deviceId)}}return e}))}close(){var e;super.close(),this._inputTrack&&(this._inputTrack.stop(),this.uninstallTrackEvent(this._inputTrack)),null==(e=this.manager)||e.removeInput(this)}};rb([Bw(Gw.INIT,\"capture\",{ignoreError:!0})],nL.prototype,\"setStateToCapture\",1),rb([Bw(\"capture\",\"publish\",{ignoreError:!0,success(){this.room.localTracks.add(this),this.emit(\"4\",{mediaType:this.strMediaType,state:\"started\",prevState:\"starting\"})},fail(e){let t=\"error\",i=e.cause;i.message.includes(\"timeout\")?t=\"timeout\":i.code===mb.API_CALL_ABORTED&&(t=\"api-call\"),this.emit(\"4\",{mediaType:this.strMediaType,state:\"stopped\",prevState:\"starting\",reason:t,error:i})}})],nL.prototype,\"publish\",1),rb([iL((e=>function(){return ab(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\"}),2===this.mediaType&&(this.mediaType=4)}))})),Bw([],\"capture\")],nL.prototype,\"unpublish\",1);var rL=new Map;xO.on(FO.SWITCH_DEVICE_SUCCESS,(e=>{e.track.deviceId&&rL.delete(e.track.deviceId)}));var oL=class extends nL{constructor(e){super(1),ob(this,\"mediaType\",1),ob(this,\"volume\",0),ob(this,\"captureVolume\",1),ob(this,\"profile\",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),ob(this,\"playerMuted\",!0),this.manager=e}getAudioLevel(){return this.volume||super.getAudioLevel()}capture(){let{deviceId:e,customSource:t,useExact:i=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return super.capture({video:!1,audio:!0,microphoneId:e,echoCancellation:this.profile.echoCancellation,autoGainControl:this.profile.autoGainControl,noiseSuppression:this.profile.noiseSuppression,sampleRate:this.profile.sampleRate,channelCount:this.profile.channelCount,useExact:i,customSource:t})}switchDevice(e){return ab(this,null,(function*(){if(this.mediaTrack){if(this.deviceId===e){if(e!==RD)return;if(yield zP(this.groupId,this.label))return}try{this.log.info(\"switchDevice audio to: \".concat(e)),this.mediaTrack&&this.mediaTrack.stop(),yield this.capture({deviceId:e,useExact:!0}),this.room&&(yield this.room.replaceTrack(this)),xO.emit(FO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info(\"switch microphone success\")}catch(sD){throw this.log.error(\"switch microphone failed \".concat(sD)),this.deviceId&&this.recapture(this.deviceId),sD}}}))}listenDeviceChange(){jP&&!jP.listeners(\"audioInputRemoved\").includes(this.handleMicrophoneRemoved)&&jP.on(\"audioInputRemoved\",this.handleMicrophoneRemoved,this)}handleMicrophoneRemoved(e){return ab(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn(\"current microphone is lost: \".concat(JSON.stringify(e)));let t=yield WP();t[0]?this.recapture(t[0].deviceId):jP.on(\"audioInputAdded\",this.handleMicrophoneAdded,this)}}))}handleMicrophoneAdded(e){this.log.warn(\"microphone added: \".concat(JSON.stringify(e))),this.recapture(e.deviceId)}update3A(e){return ab(this,arguments,(function(e){var t=this;let{echoCancellation:i,noiseSuppression:n,autoGainControl:r}=e;return function*(){let e=!1;!nO(i)&&i!==t.profile.echoCancellation&&(t.profile.echoCancellation=i,e=!0),!nO(n)&&n!==t.profile.noiseSuppression&&(t.profile.noiseSuppression=n,e=!0),!nO(r)&&r!==t.profile.autoGainControl&&(t.profile.autoGainControl=r,e=!0),e&&t.deviceId&&(yield t.recapture(t.deviceId))}()}))}setCaptureVolume(e){var t;let i=e/100;i!==this.captureVolume&&(null==(t=this.manager)||t.setCaptureVolume(i),this.captureVolume=i)}close(){jP.off(\"audioInputAdded\",this.handleMicrophoneAdded,this),jP.off(\"audioInputRemoved\",this.handleMicrophoneRemoved,this),super.close()}},sL=class extends nL{constructor(e){super(4),ob(this,\"mediaType\",4),ob(this,\"profile\",{width:640,height:480,frameRate:15,bitrate:500}),ob(this,\"states\",{bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0}),ob(this,\"small\"),ob(this,\"facingMode\"),ob(this,\"isNeedToSetBandwidth\"),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(eb($C({},this.profile),{width:1920,height:1080})),this.applyProfile())};this.on(\"input-media-track-changed\",t),this.on(\"publish\",t)}capture(){let{deviceId:e,facingMode:t,useExact:i=!1,customSource:n}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return super.capture({audio:!1,video:!0,facingMode:t||this.facingMode,cameraId:e,width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate,useExact:i,customSource:n})}setOutputMediaStreamTrack(e){var t;return super.setOutputMediaStreamTrack(e),null==(t=this.room)?void 0:t.replaceTrack(this)}setProfile(e){!e||(e.bitrate&&(this.isNeedToSetBandwidth=e.bitrate!==this.profile.bitrate),this.isAllowed2k4k(this.profile)?super.setProfile(e):(this.log.warn(\"Resolution is reset to 1080p, need to upgrade ability here https://cloud.tencent.com/document/product/647/85386\"),super.setProfile(eb($C({},this.profile),{width:1920,height:1080}))))}applyProfile(){var e;if(!this.mediaTrack)return;let t=this.settings;return t.height!==this.profile.height||t.width!==this.profile.width||t.frameRate!==this.profile.frameRate?null==(e=this.mediaTrack)?void 0:e.applyConstraints({width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate}).then((()=>{if(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)return this.isNeedToSetBandwidth=!1,this.room.setBandWidth({bandwidth:this.profile.bitrate,type:LN.VIDEO,videoType:LN.BIG})})):void 0}get settings(){let e={width:this.profile.width,height:this.profile.height,frameRate:this.profile.frameRate};return Cw&&this.mediaTrack&&Object.assign(e,this.mediaTrack.getSettings()),e}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 ab(this,null,(function*(){let t=e;try{if(!this.isNeedToSwitchDevice(t))return;(t===LN.FACING_MODE_USER||t===LN.FACING_MODE_ENVIRONMENT)&&(this.facingMode=e,t=void 0),this.mediaTrack.stop(),yield this.capture({deviceId:t,useExact:!0}),xO.emit(FO.SWITCH_DEVICE_SUCCESS,{track:this}),this.log.info(\"switch camera success\")}catch(aN){throw this.log.error(\"switch camera failed \".concat(aN)),this.deviceId&&this.recapture(this.deviceId),aN}}))}listenDeviceChange(){jP&&!jP.listeners(\"audioInputRemoved\").includes(this.handleCameraRemoved)&&jP.on(\"videoInputRemoved\",this.handleCameraRemoved,this)}handleCameraRemoved(e){return ab(this,null,(function*(){if(e.deviceId===this.deviceId){this.log.warn(\"current camera is lost: \".concat(JSON.stringify(e)));let t=yield JP();t[0]?this.recapture(t[0].deviceId):jP.on(\"videoInputAdded\",this.handleCameraAdded,this)}}))}handleCameraAdded(e){return ab(this,null,(function*(){this.log.warn(\"camera added: \".concat(JSON.stringify(e))),this.recapture(e.deviceId)}))}close(){jP.off(\"videoInputAdded\",this.handleCameraAdded,this),jP.off(\"videoInputRemoved\",this.handleCameraRemoved,this),super.close()}};var aL=function(e){return ab(this,null,(function*(){let t=null,i=function(e){let t={systemAudio:\"include\",selfBrowserSurface:\"include\",surfaceSwitching:\"include\"},i={width:Uk?{max:e.width}:{ideal:e.width,max:e.width},height:Uk?{max:e.height}:{ideal:e.height,max:e.height},frameRate:e.frameRate,displaySurface:\"monitor\"};if(t.video=i,e.systemAudio){let{echoCancellation:i=!0,noiseSuppression:n=!1,autoGainControl:r=!1}=e;t.audio={echoCancellation:i,noiseSuppression:n,autoGainControl:r,sampleRate:48e3}}return t}(e);HO.info(\"getDisplayMedia with constraints: \".concat(JSON.stringify(i)));let n=yield navigator.mediaDevices.getDisplayMedia(i);if(e.systemAudio&&0===n.getAudioTracks().length&&(Lk&&Vk<74||Uk||Ub)&&HO.warn(\"Your browser not support capture system audio\"),e.frameRate&&n.getVideoTracks()[0]&&n.getVideoTracks()[0].applyConstraints({frameRate:{min:e.frameRate,ideal:e.frameRate},width:e.width,height:e.height}).catch((e=>{HO.warn(\"screen applyConstraints failed: \".concat(e))})),e.audio){let i=function(e){let t={echoCancellation:e.echoCancellation,autoGainControl:e.autoGainControl,noiseSuppression:e.noiseSuppression,sampleRate:e.sampleRate,channelCount:e.channelCount};return nO(e.microphoneId)||(t.deviceId=e.microphoneId),{audio:t,video:!1}}(e);HO.info(\"getUserMedia with constraints: \".concat(JSON.stringify(i))),t=yield navigator.mediaDevices.getUserMedia(i),n.addTrack(t.getAudioTracks()[0])}return n}))},cL=class extends sL{constructor(e){super(e),ob(this,\"profile\",{width:1920,height:1080,frameRate:5,bitrate:1600}),ob(this,\"objectFit\",\"contain\"),ob(this,\"isScreen\",!0),this._log.id=\"s-\".concat(this._log.id)}capture(){return ab(this,arguments,(function(){var e=this;let{systemAudio:t=!1,autoGainControl:i,echoCancellation:n,noiseSuppression:r,audioTrack:o,videoTrack:s}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return function*(){try{let a;return s||o?(a=new MediaStream,s&&a.addTrack(s),o&&a.addTrack(o)):a=yield aL({audio:!1,systemAudio:t,width:e.profile.width,height:e.profile.height,frameRate:e.profile.frameRate,autoGainControl:i,echoCancellation:n,noiseSuppression:r}),yield e.setInputMediaStreamTrack(a.getVideoTracks()[0]),a}catch(a){throw e.log.error(\"getDisplayMedia error observed \".concat(a)),a instanceof gb?a:new gb({code:mb.INITIALIZE_FAILED,name:a.name,message:a.message})}}()}))}switchDevice(e){return ab(this,null,(function*(){throw new Error(\"Method not implemented.\")}))}},lL=class extends oL{constructor(e){super(e),this._log.id=\"s-\".concat(this._log.id)}},dL=class extends oL{constructor(e){super(e),ob(this,\"_inputs\",new Map),ob(this,\"_destination\"),ob(this,\"audioContext\",NP(\"audio-mixer\")),this._log.id=\"m-\".concat(this._log.id),\"running\"!==this.audioContext.state&&this._log.warn(\"audio mixer context state: \".concat(this.audioContext.state)),this._destination=this.audioContext.createMediaStreamDestination(),this._destination.channelCount=1}setInputMediaStreamTrack(e){this._inputTrack=e;let t=this.audioContext.createMediaStreamSource(new MediaStream([e]));this._inputs.set(e,{sourceNode:t}),t.connect(this._destination),this._outputTrack||(this._outputTrack=this._destination.stream.getAudioTracks()[0],this.setStateToCapture())}setTrackCaptureVolume(e,t){if(!this._inputs.has(e)||!this._destination)return;let i=this._inputs.get(e),{sourceNode:n}=i;i.gainNode||(this._log.info(\"create GainNode\"),i.gainNode=this.audioContext.createGain()),i.gainNode.gain.value=t,n.disconnect(),n.connect(i.gainNode).connect(this._destination)}publish(e,t){return this.room=e,t}unpublish(){delete this.room}replaceTrack(e,t){var i;!this.hasMix||(t&&(null==(i=this._inputs.get(t))||i.sourceNode.disconnect(),this._inputs.delete(t)),this.setInputMediaStreamTrack(e.outMediaTrack))}removeTrack(e){var t;null==(t=this._inputs.get(e))||t.sourceNode.disconnect(),this._inputs.delete(e),0===this._inputs.size&&(delete this._outputTrack,this.unpublish())}close(){this.stop(),this.audioContext.close()}get hasMix(){return!!this._outputTrack}set channelCount(e){this._destination.channelCount=e}};rb([Bw(\"capture\",\"publish\",{ignoreError:!0})],dL.prototype,\"publish\",1),rb([Bw([],\"capture\")],dL.prototype,\"unpublish\",1);var uL=class extends nL{constructor(e,t){super(1),ob(this,\"musicId\"),ob(this,\"mediaType\",1),ob(this,\"volume\",0),ob(this,\"profile\",{echoCancellation:!0,autoGainControl:!0,noiseSuppression:!0,sampleRate:48e3,channelCount:1,bitrate:40}),ob(this,\"playerMuted\",!1),ob(this,\"audio\"),ob(this,\"_audioContext\"),ob(this,\"_destination\"),ob(this,\"_source\",null),this.manager=e,this.initAudioContext(),this._destination=this._audioContext.createMediaStreamDestination(),this._destination.channelCount=1,this.audio=document.createElement(\"audio\"),this.audio.src=t.url,this.audio.crossOrigin=\"anonymous\",sO(t.loop)&&this.loop(t.loop),oO(t.volume)&&this.setVolume(t.volume),t.id&&(this.musicId=t.id),this._source=this._audioContext.createMediaElementSource(this.audio),this._source.connect(this._destination),this.setInputMediaStreamTrack(this._destination.stream.getAudioTracks()[0]),this.installPlayerEvent()}play(){return ab(this,null,(function*(){try{yield this.audio.play(),yield sb(uL.prototype,this,\"play\").call(this,null,{muted:!1}),this._log.info(\"music \".concat(this.musicId,\" play success\"))}catch(sN){this._log.error(\"music \".concat(this.musicId,\" play error\"),sN)}}))}installPlayerEvent(){this.audio.addEventListener(\"error\",this.handleAudioError.bind(this))}uninstallPlayerEvent(){this.audio.removeEventListener(\"error\",this.handleAudioError.bind(this))}handleAudioError(e){this._log.warn(\"local music \".concat(this.musicId,\" audio error\"),e)}initAudioContext(){this._audioContext=NP(\"music\"),\"running\"!==this._audioContext.state&&this._log.warn(\"local music \".concat(this.musicId,\" context state: \").concat(this._audioContext.state))}destroy(){var e,t;null==(e=this._source)||e.disconnect(),null==(t=this._destination)||t.disconnect(),this.uninstallPlayerEvent(),this.player.stop(),this._audioContext.close().then((()=>{this._source=null,this._destination=null,this._audioContext=null}))}getStream(){var e;return(null==(e=this._destination)?void 0:e.stream)||null}seek(e){e<0&&e>this.duration()?this._log.warn(\"Time beyond song duration.\"):this.audio.currentTime=e}getPosition(){return this.audio.currentTime||0}setVolume(e){e>1&&e<0?this.log.warn(\"volume is out of range\"):this.audio.volume=e}getVolume(){return this.audio.volume||0}setPlayBackRate(e){e>8&&e<0?this.log.warn(\"rate is out of range\"):this.audio.playbackRate=e}getPlayBackRate(){return this.audio.playbackRate||0}duration(){return this.audio.duration||0}loop(e){return this.audio&&sO(e)&&(this.audio.loop=e),this.audio.loop||!1}setOperation(e){\"pause\"===e&&this.audio.pause(),\"resume\"===e&&(this.audio.pause(),this.audio.play()),\"stop\"===e&&(this.audio.pause(),this.seek(0))}listenDeviceChange(){}},hL=\"input\",pL=\"output\";var _L=e=>(e=Number(e))>0&&e<14e8;function mL(e){return ab(this,arguments,(function(e){let{sdkAppId:t,userId:i,userSig:n,timestamp:r}=e;return function*(){let e=\"https://\".concat(function(e){let t;return t=_L(e)?\"intl-schedule.rtc.qq.com\":\"schedule.rtc.qq.com\",t}(t),\"/api/v1/audioAiAuth?sdkAppId=\").concat(t,\"&userId=\").concat(i,\"&userSig=\").concat(n,\"×tamp=\").concat(r),o=yield fetch(e),{data:{errCode:s,errMsg:a,sign:c,status:l}}=yield o.json();if(\"1\"===l)return{auth:!0,sign:c,status:l,message:a};let d=\"Init RTCAIDenoiser failed.\",u=\"\";switch(s){case 1:u=\"Please check your params.\";break;case 2:u=\"You need to buy packages. Refer to: https://cloud.tencent.com/document/product/647/44247\";break;case 3:u=\"Server is invalid. Please contact our engineer. \";break;case 4:u=\"Your packages is not active. Refer to: https://cloud.tencent.com/document/product/647/44247\";break;case 5:u=\"Your packages is expired. Refer to: https://cloud.tencent.com/document/product/647/44247\";break;case 6:u=\"Your version is not supported.\"}return{auth:!1,status:l,message:a?\"\".concat(d,\" Reason: \").concat(a,\". \").concat(u):\"\".concat(d,\", \").concat(u)}}()}))}var fL=nb(cb(),1);function gL(e,t){t=t||{};let i,n=e.numberOfChannels,{sampleRate:r}=e,o=t.float32?3:1,s=3===o?32:16;return i=2===n?function(e,t){let i=e.length+t.length,n=new Float32Array(i),r=0,o=0;for(;r{let{type:t,data:i}=e.data;if(\"ondump\"===t&&this.isDumping_){let{inputPCM:e,outputPCM:t}=i;this.dump_.onDump(e,hL),this.dump_.onDump(t,pL)}\"dumped\"===t&&this.dumped()},this.dump_=new EL(this.audioContext_)}dumped(){this.isDumping_=!1;let e=this.dump_.getBlob(hL),t=this.dump_.getBlob(pL);this.emitter_.emit(\"ondumpend\",{blob:e,name:hL}),this.emitter_.emit(\"ondumpend\",{blob:t,name:pL}),this.dumpedWAV(e,hL),this.dumpedWAV(t,pL),this.dump_.reset()}dumpedWAV(e,t){let i=window.URL.createObjectURL(e),n=document.createElement(\"a\");n.href=i,n.download=\"\".concat(t,\"-\").concat(Date.now(),\".wav\"),n.click(),window.URL.revokeObjectURL(i),n.href=\"\"}process(e){return ab(this,null,(function*(){if(this.audioTrack_=e,!this.audioTrack_)throw new Error(\"RTCAIDenoiser: cannot process without audioTrack.\");let t=new MediaStream;t.addTrack(this.audioTrack_),this.source_=this.audioContext_.createMediaStreamSource(t),yield this.source_.connect(this.workletNode_),this.trackConstraint_=this.audioTrack_.getConstraints(),this.trackConstraint_.noiseSuppression=!1,yield this.audioTrack_.applyConstraints(this.trackConstraint_);let i=this.destination_.stream;return this.denoiserTrack_=i.getAudioTracks()[0],this.log_.info(\"RTCAIDenoiser: denoiser process track ID: \".concat(e.id,\" success.\")),this.denoiserTrack_}))}updateTrack(e){return ab(this,null,(function*(){var t;let i=new MediaStream;yield i.addTrack(e);let n=this.audioContext_.createMediaStreamSource(i);this.source_.disconnect(),n.connect(this.workletNode_),null==(t=this.audioTrack_)||t.stop(),this.audioTrack_=e,this.source_=n,this.log_.info(\"RTCAIDenoiser: updateTrack success.\")}))}disable(){return ab(this,null,(function*(){var e,t;return this.enableDenoise_=!1,null==(e=this.workletNode_)||e.port.postMessage({type:\"disable\"}),this.trackConstraint_.noiseSuppression=!0,yield null==(t=this.audioTrack_)?void 0:t.applyConstraints(this.trackConstraint_),this.log_.info(\"RTCAIDenoiser: disable ai denoiser.\"),this.enableDenoise_}))}enable(){return ab(this,null,(function*(){var e,t;return this.enableDenoise_=!0,null==(e=this.workletNode_)||e.port.postMessage({type:\"enable\"}),this.trackConstraint_.noiseSuppression=!1,yield null==(t=this.audioTrack_)?void 0:t.applyConstraints(this.trackConstraint_),this.log_.info(\"RTCAIDenoiser: enable ai denoiser.\"),this.enableDenoise_}))}startDump(){return this.isDumping_?(this.log_.info(\"RTCAIDenoiser: data is currently being dumped.\"),!1):(this.workletNode_.port.postMessage({type:\"startDump\"}),this.dump_?this.dump_.reset():this.dump_=new EL(this.audioContext_),this.isDumping_=!0,this.log_.info(\"RTCAIDenoiser: start dump data.\"),!0)}stopDump(){!this.isDumping_||(this.workletNode_.port.postMessage({type:\"stopDump\"}),this.isDumping_=!1,this.log_.info(\"RTCAIDenoiser: stop dump data.\"))}getAudioTrack(){return this.audioTrack_}getDenoiserTrack(){return this.destination_.stream.getAudioTracks()[0]}get enabled(){return this.enableDenoise_}destroy(){var e,t,i,n,r,o;this.log_.info(\"RTCAIDenoiser: destroy processor.\"),null==(e=this.audioTrack_)||e.stop(),null==(t=this.workletNode_)||t.port.postMessage({type:\"destroy\"}),this.workletNode_.port.onmessage=null,null==(i=this.source_)||i.disconnect(),null==(n=this.destination_)||n.disconnect(),null==(r=this.workletNode_)||r.disconnect(),null==(o=this.dump_)||o.destroy(),this.emitter_.removeAllListeners()}on(e,t,i){this.emitter_.on(e,t,i)}off(e,t,i){\"*\"===e?this.emitter_.removeAllListeners():this.emitter_.off(e,t,i)}},IL=class{constructor(e){let{assetsPath:t,log:i,audioContext:n}=e;this.isLoaded_=!1,this.audioContext_=n,this.log_=i,this.assetsPath_=t}createProcessor(e){return ab(this,null,(function*(){let t=String(Date.now()).slice(0,-3),{auth:i,sign:n,status:r,message:o}=yield mL(eb($C({},e),{timestamp:t}));if(!i)throw this.log_.info(\"RTCAIDenoiser: \".concat(e.userId,\" auth result: \").concat(i,\". Message: \").concat(o)),new Error(o);try{yield this.load()}catch(c){throw new Error(\"Init wasm failed, please check your assetsPath.\")}let s=yield this.initWorklet(),a=new SL(eb($C({},e),{audioContext:this.audioContext_,timestamp:t,sign:n,status:r,worklet:s,logger:this.log_}));return this.log_.info(\"RTCAIDenoiser: \".concat(e.userId,\" create denoiser processor success.\")),a}))}load(){return ab(this,null,(function*(){if(!this.isLoaded_)try{yield this.audioContext_.audioWorklet.addModule(\"\".concat(this.assetsPath_,\"/denoiser-wasm.js\")),this.isLoaded_=!0}catch(HL){throw this.log_.error(\"Init assets from \".concat(this.assetsPath_,\" failed! Reason: \").concat(HL)),HL}}))}initWorklet(){return ab(this,null,(function*(){try{return new AudioWorkletNode(this.audioContext_,\"trtc-denoiser-processor\",{numberOfInputs:1,numberOfOutputs:1})}catch(HL){return yield this.load(),new AudioWorkletNode(this.audioContext_,\"trtc-denoiser-processor\",{numberOfInputs:1,numberOfOutputs:1})}}))}destroy(){var e;null==(e=this.audioContext_)||e.close()}isSupported(){return\"AudioWorklet\"in window&&\"WebAssembly\"in window}},vL=class{constructor(e){let{room:t}=e;ob(this,\"_localAudioTrack\",null),ob(this,\"_localScreenAudioTrack\",null),ob(this,\"localMixAudioTrack\"),ob(this,\"isDenoiserInit\",!1),ob(this,\"isDenoiserEnabled\",!1),ob(this,\"isDenoiserProcessed\",!1),ob(this,\"mixedMusicMap\",new Map),ob(this,\"cacheMusicMap\",new Map),ob(this,\"_log\"),ob(this,\"denoiserTrack\",null),ob(this,\"denoiser\",null),ob(this,\"denoiserProcessor\"),ob(this,\"initProcessorOptions\"),ob(this,\"denoiserContext\"),this._log=HO.createLogger({id:\"am\",userId:t.userId,sdkAppId:t.sdkAppId})}get mixedAudioTrack(){return this.localMixAudioTrack?this.localMixAudioTrack.outMediaTrack:null}get hasScreenAudioTrack(){return null!==this._localScreenAudioTrack}get hasAudioTrack(){return null!==this._localAudioTrack}changeInput(e,t){var i,n,r;return e instanceof lL?(this._localScreenAudioTrack=e,void(e._outputTrack=e.mediaTrack)):e instanceof uL?(e._outputTrack=e.mediaTrack,void(null==(i=this.localMixAudioTrack)||i.replaceTrack(e,t))):e instanceof oL?(this._localAudioTrack=e,this.isDenoiserProcessed&&(null==(n=this.denoiserProcessor)||n.updateTrack(e.mediaTrack)),e.setOutputMediaStreamTrack(this.isDenoiserProcessed?this.denoiserTrack:e.mediaTrack),void(null==(r=this.localMixAudioTrack)||r.replaceTrack(e,t))):e instanceof RL?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}removeInput(e){if(e instanceof oL)return this.removeAudioTrack(e)}addMusicSource(e){return ab(this,null,(function*(){this._log.info(\"add music source, id: \".concat(e.id,\" url: \").concat(e.url));let t,{id:i,url:n,loop:r,volume:o}=e;if(!this.mixedMusicMap.has(i))return t=this.cacheMusicMap.has(i)?this.cacheMusicMap.get(i):new uL(this,e),t.play(),this._log.info(\"start mix audio \".concat(i,\" success.\")),this.mixedMusicMap.set(i,t),this.cacheMusicMap.set(i,t),t}))}updateMusicSource(e){return ab(this,null,(function*(){let{id:t,volume:i,loop:n,operation:r,seekFrom:o}=e;if(this._log.info(\"update music source, \".concat(JSON.stringify(e))),this.mixedMusicMap.has(t)){let e=this.mixedMusicMap.get(t);nO(i)||e.setVolume(i),nO(n)||e.loop(n),nO(r)||e.setOperation(r),nO(o)||e.seek(o)}}))}addAudioTrack(e){return ab(this,null,(function*(){var t;if(this.localMixAudioTrack||(this.localMixAudioTrack=new dL(this)),this._log.info(\"start add audioTrack, userId: \".concat(e.userId)),e===this._localAudioTrack){if(Cw){let i=yield null==(t=e.mediaTrack)?void 0:t.getSettings();this.localMixAudioTrack.channelCount=(null==i?void 0:i.channelCount)||1}this.mixedMusicMap.forEach((e=>{var t;null==(t=this.localMixAudioTrack)||t.setInputMediaStreamTrack(e.outMediaTrack)}))}this.localMixAudioTrack.setInputMediaStreamTrack(e.outMediaTrack),this._localAudioTrack&&1!==this._localAudioTrack.captureVolume&&this.setCaptureVolume(this._localAudioTrack.captureVolume)}))}removeAudioTrack(e){!this.localMixAudioTrack||(e===this._localAudioTrack&&this.mixedMusicMap.forEach((e=>{this.localMixAudioTrack.removeTrack(e.outMediaTrack)})),this.localMixAudioTrack.removeTrack(e.outMediaTrack))}removeMusicSource(e){let{id:t}=e;if(this.localMixAudioTrack){if(this.mixedMusicMap.has(t)){this._log.info(\"remove music source, music id: \".concat(t));let e=this.mixedMusicMap.get(t);e.stop(),this.localMixAudioTrack.removeTrack(e.outMediaTrack),this.mixedMusicMap.delete(t)}\"*\"===t&&this.destroyAllMusic()}}destroyAllMusic(){this._log.info(\"destroy all music source.\"),this.mixedMusicMap.forEach(((e,t)=>{this.removeMusicSource({id:t})}))}destroyAllCache(){this._log.info(\"destroy all music cache.\"),this.cacheMusicMap.forEach((e=>e.stop()))}initDenoiser(e){return ab(this,null,(function*(){let{assetsPath:t,sdkAppId:i,userId:n,userSig:r}=e;try{(!this.denoiserContext||\"closed\"===this.denoiserContext.state)&&(this.denoiserContext=NP(\"denoiser\")),this.denoiser||(this.denoiser=new IL({assetsPath:t,log:this._log,audioContext:this.denoiserContext})),this.denoiserProcessor||(this.denoiserProcessor=yield this.denoiser.createProcessor({sdkAppId:i,userId:n,userSig:r})),this.isDenoiserInit=!0,this.initProcessorOptions=e}catch(cN){throw cN}}))}enableDenoiser(e){return ab(this,null,(function*(){var e,t,i;if(this.isDenoiserEnabled=!0,!this.hasAudioTrack){let e=\"enableDenoiser failed, there is no audio\";throw this._log.error(e),new Error(e)}if(this.isDenoiserProcessed)null==(i=this.denoiserProcessor)||i.enable();else{let i=null==(e=this._localAudioTrack)?void 0:e.mediaTrack;if(!i)return;this.denoiserProcessor||(yield this.initDenoiser(this.initProcessorOptions)),this.denoiserTrack=yield this.denoiserProcessor.process(i),this.isDenoiserProcessed=!0,this._localAudioTrack._outputTrack=this.denoiserTrack,null==(t=this.localMixAudioTrack)||t.replaceTrack(this._localAudioTrack,i)}}))}disableDenoiser(){return ab(this,null,(function*(){var e;this.isDenoiserEnabled&&(null==(e=this.denoiserProcessor)||e.disable(),this.isDenoiserEnabled=!1)}))}setCaptureVolume(e){var t;this.localMixAudioTrack&&this._localAudioTrack&&this._localAudioTrack.mediaTrack&&(null==(t=this.localMixAudioTrack)||t.setTrackCaptureVolume(this._localAudioTrack.mediaTrack,e))}destroyDenoiserProcessor(){var e;this.denoiserProcessor&&(this.denoiserProcessor.destroy(),delete this.denoiserProcessor,this.isDenoiserInit=!1,this.isDenoiserEnabled=!1,this.isDenoiserProcessed=!1,null==(e=this.denoiserTrack)||e.stop(),this.denoiserTrack=null),this.denoiserContext&&(this.denoiserContext.close(),delete this.denoiserContext)}destroy(){var e;this.destroyAllMusic(),this.destroyAllCache(),this.destroyDenoiserProcessor(),null==(e=this.denoiser)||e.destroy(),this.localMixAudioTrack&&(this.localMixAudioTrack.close(),delete this.localMixAudioTrack)}},yL=class extends MP{constructor(e,t,i){super({userId:t.userId,sdkAppId:e.sdkAppId,mediaType:i,room:e}),this.room=e,this.user=t,ob(this,\"tinyId\"),ob(this,\"isRemote\",!0),this.tinyId=t.tinyId}setMute(e){return this.hasFlag&&super.setMute(e)}setInputMediaStreamTrack(e){super.setInputMediaStreamTrack(e),this.hasFlag&&this.isSubscribed&&this.player.setTrack(this.outMediaTrack)}waitHasMediaTrack(){return new Promise((e=>{this.mediaTrack?e():this.once(\"input-media-track-changed\",e)}))}get isSubscribing(){return\"subscribeing\"===this.state.toString()}get isSubscribed(){return this.state===yL.STATE_SUBSCRIBE}get streamType(){return 0==(2&this.mediaType)?\"main\":\"auxiliary\"}subscribe(e){return e}unsubscribe(){this.player.setTrack(null),\"main\"===this.streamType&&\"video\"===this.kind&&this.room.changeType(!1,this.user)}updatePlayingState(e){if(this.isPlayCalled&&this.player.isStopped===e){if(e&&(!this.isSubscribed||!this.hasFlag||!this.outMediaTrack))return void this.log.info(\"abort play, isSubscribed:\".concat(this.isSubscribed,\" hasFlag:\").concat(this.hasFlag,\" hasTrack:\").concat(!!this.outMediaTrack));super.updatePlayingState(e)}}onFlagChanged(){this.updatePlayingState(this.hasFlag)}},AL=yL;ob(AL,\"STATE_SUBSCRIBE\",\"subscribe\"),rb([Bw(Gw.INIT,AL.STATE_SUBSCRIBE,{success(){this.log.info(\"subscribed\"),xO.emit(FO.REMOTE_TRACK_SUBSCRIBED,{track:this}),this.updatePlayingState(!0)},ignoreError:!0})],AL.prototype,\"subscribe\",1),rb([Bw(AL.STATE_SUBSCRIBE,Gw.INIT,{success(){this.log.info(\"unsubscribed\"),this.updatePlayingState(!1),xO.emit(FO.REMOTE_TRACK_UNSUBSCRIBED,{track:this})}})],AL.prototype,\"unsubscribe\",1);var RL=class extends AL{constructor(e,t){super(e,t,1),ob(this,\"volume\",0),ob(this,\"mediaType\",1),ob(this,\"stat\",{bytesReceived:0,packetsReceived:0,packetsLost:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.audioManager}getAudioLevel(){return this.volume||super.getAudioLevel()}get hasFlag(){return this.user.muteState.hasAudio&&!this.user.muteState.audioMuted}isFlagChanged(e){let t=e.hasAudio&&!e.audioMuted;return this.hasFlag||(this.volume=0),this.hasFlag!==t}},CL=class extends AL{constructor(e,t){super(e,t,arguments.length>2&&void 0!==arguments[2]?arguments[2]:4),ob(this,\"mediaType\",4),ob(this,\"stat\",{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,end2EndDelay:0,jitterBufferDelay:0}),this.manager=e.videoManager}changeType(e){this.room.changeType(e,this.user)}get hasFlag(){return this.user.muteState.hasVideo&&!this.user.muteState.videoMuted}isFlagChanged(e){let t=e.hasVideo&&!e.videoMuted;return this.hasFlag!==t}},bL=class extends CL{constructor(e,t){super(e,t,2),ob(this,\"mediaType\",2),ob(this,\"objectFit\",\"contain\")}get hasFlag(){return this.user.muteState.hasAuxiliary}isFlagChanged(e){let t=e.hasAuxiliary;return this.hasFlag!==t}};function kL(){}var NL=e=>e(),DL=()=>\"undefined\"!=typeof __FASTRX_DEVTOOLS__,OL=1,wL=class extends Function{toString(){return\"\".concat(this.name,\"(\").concat(this.args.length?[...this.args].join(\", \"):\"\",\")\")}subscribe(e){let t=new xL(e,this,this.streamId++);return UL.subscribe({id:this.id,end:!1},{nodeId:t.sourceId,streamId:t.id}),this(t),t}},PL=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=kL,this.error=kL,this.next=kL,this.dispose=kL,this.subscribe=kL,this.doDefer()}subscribe(e){return e instanceof wL?e.subscribe(this):e(this),this}get bindSubscribe(){return e=>this.subscribe(e)}doDefer(){this.defers.forEach(NL),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}},LL=class extends PL{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)}};function ML(e,t,i){if(DL()){let n=Object.defineProperties(Object.setPrototypeOf(e,wL.prototype),{streamId:{value:0,writable:!0,configurable:!0},name:{value:t,writable:!0,configurable:!0},args:{value:i,writable:!0,configurable:!0},id:{value:0,writable:!0,configurable:!0}});UL.create(n);for(let e=0;e{UL.defer(this.source,this.id)}))}next(e){UL.next(this.source,this.id,e),this.sink.next(e)}complete(){UL.complete(this.source,this.id),this.sink.complete()}error(e){UL.complete(this.source,this.id,e),this.sink.error(e)}},UL={addSource(e,t){VL(\"addSource\",{id:e.id,name:e.toString(),source:{id:t.id,name:t.toString()}})},next(e,t,i){VL(\"next\",{id:e.id,streamId:t,data:i&&i.toString()})},subscribe(e,t){let{id:i,end:n}=e;VL(\"subscribe\",{id:i,end:n,sink:{nodeId:t&&t.nodeId,streamId:t&&t.streamId}})},complete(e,t,i){VL(\"complete\",{id:e.id,streamId:t,err:i?i.toString():null})},defer(e,t){VL(\"defer\",{id:e.id,streamId:t})},pipe(e){VL(\"pipe\",{name:e.toString(),id:e.id,source:{id:e.source.id,name:e.source.toString()}})},update(e){VL(\"update\",{id:e.id,name:e.toString()})},create(e){e.id||(e.id=OL++),VL(\"create\",{name:e.toString(),id:e.id})}},FL=class extends PL{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()}};var BL,HL,jL=(BL=class extends LL{constructor(e,t,i){super(e),this.mapper=t,this.thisArg=i}next(e){super.next(this.mapper.call(this.thisArg,e))}},HL=\"map\",function(){for(var e=arguments.length,t=new Array(e),i=0;i{if(e instanceof wL){let i=ML((n=>{let r=new BL(n,...t);r.sourceId=i.id,r.subscribe(e)}),HL,arguments);return i.source=e,UL.pipe(i),i}return i=>e(new BL(i,...t))}});!function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;nt(e)),e)}(function(e){return ML((t=>{let i=0,n=setInterval((()=>t.next(i++)),e);return t.defer((()=>{clearInterval(n)})),\"interval\"}),\"interval\",arguments)}(250),jL((()=>performance.now())),function(){return e=>{let t=new FL(e);if(e instanceof wL){let i=ML((e=>{t.add(e)}),\"share\",arguments);return t.sourceId=i.id,i.source=e,UL.pipe(i),i}return ML(t.add.bind(t),\"share\",arguments)}}());var GL=new Map;function WL(e,t){let i=eb($C({},t),{timestamp:Eb()});GL.has(e)?GL.get(e).push(i):GL.set(e,[i])}xO.on(FO.JOIN_SUCCESS,(e=>{let{room:t}=e;WL(t.userId,{eventId:32788,eventDesc:\"join room\"})})),xO.on(FO.LEAVE_START,(e=>{let{room:t}=e;WL(t.userId,{eventId:32789,eventDesc:\"leave room\"})})),xO.on(FO.LOCAL_TRACK_PUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32769;4===t.mediaType?e=32768:2===t.mediaType&&(e=32805),WL(t.room.userId,{eventId:e,eventDesc:\"publish \".concat(t.kind)})}})),xO.on(FO.LOCAL_TRACK_UNPUBLISHED,(e=>{let{track:t}=e;if(t.room){let e=32771;4===t.mediaType?e=32770:2===t.mediaType&&(e=32806),WL(t.room.userId,{eventId:e,eventDesc:\"unpublish \".concat(t.kind)})}})),xO.on(FO.TRACK_MUTED,(e=>{let{track:t}=e;t.room&&(t.kind===LN.AUDIO?WL(t.room.userId,{eventId:t.isRemote?32785:32772,eventDesc:\"mute audio\",remoteUserId:t.isRemote?t.userId:void 0}):WL(t.room.userId,{eventId:t.isRemote?32784:32773,eventDesc:\"mute video\",remoteUserId:t.isRemote?t.userId:void 0}))})),xO.on(FO.TRACK_UNMUTED,(e=>{let{track:t}=e;t.room&&(t.kind===LN.AUDIO?WL(t.room.userId,{eventId:t.isRemote?32787:32774,eventDesc:\"unmute audio\",remoteUserId:t.isRemote?t.userId:void 0}):WL(t.room.userId,{eventId:t.isRemote?32786:32775,eventDesc:\"unmute video\",remoteUserId:t.isRemote?t.userId:void 0}))})),xO.on(FO.REMOTE_TRACK_SUBSCRIBED,(e=>{let{track:t}=e;!t.room||(1===t.mediaType&&WL(t.room.userId,{eventId:32777,eventDesc:\"\".concat(LN.SUBSCRIBE,\" \").concat(t.kind),remoteUserId:t.userId}),4===t.mediaType&&WL(t.room.userId,{eventId:32776,eventDesc:\"\".concat(LN.SUBSCRIBE,\" \").concat(t.kind),remoteUserId:t.userId}),8===t.mediaType&&WL(t.room.userId,{eventId:32803,eventDesc:\"\".concat(LN.SUBSCRIBE,\" \").concat(LN.SMALL_VIDEO),remoteUserId:t.userId}))})),xO.on(FO.REMOTE_TRACK_UNSUBSCRIBED,(e=>{let{track:t}=e;!t.room||(1===t.mediaType&&WL(t.room.userId,{eventId:32779,eventDesc:\"\".concat(LN.UNSUBSCRIBE,\" \").concat(t.kind),remoteUserId:t.userId}),4===t.mediaType&&WL(t.room.userId,{eventId:32778,eventDesc:\"\".concat(LN.UNSUBSCRIBE,\" \").concat(t.kind),remoteUserId:t.userId}),8===t.mediaType&&WL(t.room.userId,{eventId:32804,eventDesc:\"\".concat(LN.UNSUBSCRIBE,\" \").concat(LN.SMALL_VIDEO),remoteUserId:t.userId}))})),xO.on(FO.SWITCH_DEVICE_SUCCESS,(e=>{let{track:t}=e;t.room&&WL(t.room.userId,{eventId:t.kind===LN.VIDEO?32780:32781,eventDesc:\"switch \".concat(t.kind===LN.VIDEO?\"camera\":\"microphone\")})})),xO.on(FO.LOCAL_TRACK_REPLACED,(e=>{let{track:t}=e;t.room&&WL(t.room.userId,{eventId:t.kind===LN.VIDEO?32782:32783,eventDesc:\"replace \".concat(t.kind)})})),xO.on(FO.SIGNAL_CONNECTION_STATE_CHANGED,(e=>{let t,i,{room:n,prevState:r,state:o}=e;switch(o){case\"CONNECTED\":\"RECONNECTING\"===r?(t=32795,i=\"signal reconnected\"):(t=32791,i=\"signal connected\");break;case\"DISCONNECTED\":\"RECONNECTING\"===r?(t=32796,i=\"signal reconnect fail\"):(t=32790,i=\"signal disconnected\");break;case\"RECONNECTING\":t=32794,i=\"signal reconnecting\"}t&&i&&WL(n.userId,{eventId:t,eventDesc:i})})),xO.on(FO.PEER_CONNECTION_STATE_CHANGED,(e=>{let t,i,{room:n,prevState:r,state:o,remoteUserId:s}=e,a=!!s,c=a?\"downlink\":\"uplink\";switch(o){case\"CONNECTED\":\"RECONNECTING\"===r?(t=a?32801:32798,i=\"\".concat(c,\" reconnected\")):(t=a?32793:32792,i=\"\".concat(c,\" connected\"));break;case\"DISCONNECTED\":\"RECONNECTING\"===r&&(t=a?32802:32799,i=\"\".concat(c,\" reconnect fail\"));break;case\"RECONNECTING\":t=a?32800:32797,i=\"\".concat(c,\" reconnecting\")}t&&i&&WL(n.userId,{eventId:t,eventDesc:i,remoteUserId:s})}));var JL=nb(cb(),1),KL=class extends JL.EventEmitter{constructor(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"userId\";super(),this.mySelfId=e,this._log=t,this.key=i,ob(this,\"userMap\",new Map),ob(this,\"remotePublishedUserMap\",new Map)}getPublishedUser(e){return this.remotePublishedUserMap.get(e)}addUser(e){let t=e[this.key],{userId:i,tinyId:n,role:r}=e;if(this.userMap.has(t))return;let o={userId:i,tinyId:n,role:20===r?\"anchor\":\"audience\"};this.userMap.set(t,o),this.emit(\"1\",o)}deleteUser(e,t){let i=this.userMap.get(e);if(!i)return;let n=\"peer leave [\".concat(e,\"]\");nO(t)||(n+=\":\".concat(ND[t])),this._log.info(n);let r=this.remotePublishedUserMap.get(e);if(r){let t=r.muteState;r.flag=0,this.emit(\"5\",r.userId),this.deleteRemotePublishedUser(e),this.emit(\"6\",{prevMuteState:t,muteState:r.muteState,flag:0})}this.userMap.delete(e),this.emit(\"2\",i.userId)}setUserList(e){this.userMap.forEach((t=>{e.findIndex((e=>e[this.key]===t[this.key]))<0&&this.deleteUser(t[this.key],0)})),e.forEach((e=>{!this.userMap.has(e[this.key])&&e[this.key]!==this.mySelfId&&this.addUser(e)}))}addRemotePublishedUser(e){this.remotePublishedUserMap.has(e[this.key])||this.remotePublishedUserMap.set(e[this.key],e)}deleteRemotePublishedUser(e){!this.remotePublishedUserMap.has(e)||this.remotePublishedUserMap.delete(e)}setRemotePublishedUserList(e){this.remotePublishedUserMap.forEach((t=>{let i=t[this.key];if(e.findIndex((e=>e[this.key]===t[this.key]))<0){this._log.info(\"remote [\".concat(i,\"] unpublish\"));let e=t.muteState;t.flag=0,this.emit(\"5\",t.userId),this.deleteRemotePublishedUser(i),this.emit(\"6\",{prevMuteState:e,muteState:t.muteState,flag:0})}})),e.forEach((e=>{var t;let i=e[this.key];if(i===this.mySelfId)return;let{flag:n,userId:r,tinyId:o}=e,s=IO(n,r),a=null==(t=this.remotePublishedUserMap.get(i))?void 0:t.muteState;if(a){let e=this.remotePublishedUserMap.get(i);e&&e.flag!==n&&(e.flag=n,this._log.info(\"remote publish updated: \".concat(JSON.stringify(e.muteState))),this.emit(\"6\",{prevMuteState:a,muteState:s,flag:n}))}else this._log.info(\"remote publish. state: \".concat(JSON.stringify(s))),this.addUser({userId:r,tinyId:o,role:20}),this.emit(\"3\",e),this.emit(\"6\",{prevMuteState:IO(0,r),muteState:s,flag:n})}))}clear(){this.userMap.clear(),this.remotePublishedUserMap.clear()}};var YL,zL=!0,qL={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\"},QL={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},XL=((YL=XL||{})[YL.INVALID_PARAMETER=5e3]=\"INVALID_PARAMETER\",YL[YL.INVALID_PARAMETER_REQUIRED=5001]=\"INVALID_PARAMETER_REQUIRED\",YL[YL.INVALID_PARAMETER_TYPE=5002]=\"INVALID_PARAMETER_TYPE\",YL[YL.INVALID_PARAMETER_EMPTY=5003]=\"INVALID_PARAMETER_EMPTY\",YL[YL.INVALID_PARAMETER_INSTANCE=5004]=\"INVALID_PARAMETER_INSTANCE\",YL[YL.INVALID_PARAMETER_RANGE=5005]=\"INVALID_PARAMETER_RANGE\",YL[YL.INVALID_PARAMETER_LESS_THAN_ZERO=5006]=\"INVALID_PARAMETER_LESS_THAN_ZERO\",YL[YL.INVALID_PARAMETER_MIN=5007]=\"INVALID_PARAMETER_MIN\",YL[YL.INVALID_PARAMETER_MAX=5008]=\"INVALID_PARAMETER_MAX\",YL[YL.INVALID_ELEMENT_ID=5009]=\"INVALID_ELEMENT_ID\",YL[YL.INVALID_ELEMENT_ID_TYPE=5010]=\"INVALID_ELEMENT_ID_TYPE\",YL[YL.INVALID_STREAM_ID=5011]=\"INVALID_STREAM_ID\",YL[YL.INVALID_ROOM_ID_STRING=5012]=\"INVALID_ROOM_ID_STRING\",YL[YL.INVALID_ROOM_ID_INTEGER=5013]=\"INVALID_ROOM_ID_INTEGER\",YL[YL.INVALID_STREAM_TYPE=5014]=\"INVALID_STREAM_TYPE\",YL[YL.INVALID_ROOM_ID_REQUIED=5015]=\"INVALID_ROOM_ID_REQUIED\",YL[YL.INVALID_ROOM_ID_INTEGER_STRING=5016]=\"INVALID_ROOM_ID_INTEGER_STRING\",YL[YL.INVALID_OPERATION=5100]=\"INVALID_OPERATION\",YL[YL.INVALID_OPERATION_NOT_JOINED=5101]=\"INVALID_OPERATION_NOT_JOINED\",YL[YL.INVALID_OPERATION_REMOTE_USER_NOT_EXIST=5102]=\"INVALID_OPERATION_REMOTE_USER_NOT_EXIST\",YL[YL.INVALID_OPERATION_STREAM_TYPE_NOT_EXIST=5103]=\"INVALID_OPERATION_STREAM_TYPE_NOT_EXIST\",YL[YL.INVALID_OPERATION_REPEAT_CALL=5104]=\"INVALID_OPERATION_REPEAT_CALL\",YL[YL.ENV_NOT_SUPPORTED=5200]=\"ENV_NOT_SUPPORTED\",YL[YL.NOT_SUPPORTED_HTTP=5201]=\"NOT_SUPPORTED_HTTP\",YL[YL.NOT_SUPPORTED_WEBRTC=5202]=\"NOT_SUPPORTED_WEBRTC\",YL[YL.NOT_SUPPORTED_H264_ENCODE=5203]=\"NOT_SUPPORTED_H264_ENCODE\",YL[YL.NOT_SUPPORTED_H264_DECODE=5204]=\"NOT_SUPPORTED_H264_DECODE\",YL[YL.NOT_SUPPORTED_SCREEN_SHARE=5205]=\"NOT_SUPPORTED_SCREEN_SHARE\",YL[YL.NOT_SUPPORTED_SMALL_VIDEO=5206]=\"NOT_SUPPORTED_SMALL_VIDEO\",YL[YL.NOT_SUPPORTED_SEI=5207]=\"NOT_SUPPORTED_SEI\",YL[YL.DEVICE_ERROR=5300]=\"DEVICE_ERROR\",YL[YL.DEVICE_NOT_FOUND_ERROR=5301]=\"DEVICE_NOT_FOUND_ERROR\",YL[YL.DEVICE_NOT_ALLOWED_ERROR=5302]=\"DEVICE_NOT_ALLOWED_ERROR\",YL[YL.DEVICE_NOT_READABLE_ERROR=5303]=\"DEVICE_NOT_READABLE_ERROR\",YL[YL.DEVICE_OVERCONSTRAINED_ERROR=5304]=\"DEVICE_OVERCONSTRAINED_ERROR\",YL[YL.DEVICE_INVALID_STATE_ERROR=5305]=\"DEVICE_INVALID_STATE_ERROR\",YL[YL.DEVICE_SECURITY_ERROR=5306]=\"DEVICE_SECURITY_ERROR\",YL[YL.DEVICE_ABORT_ERROR=5307]=\"DEVICE_ABORT_ERROR\",YL[YL.CAMERA_RECOVER_FAILED=5308]=\"CAMERA_RECOVER_FAILED\",YL[YL.MICROPHONE_RECOVER_FAILED=5309]=\"MICROPHONE_RECOVER_FAILED\",YL[YL.SERVER_ERROR=5400]=\"SERVER_ERROR\",YL[YL.ACCOUNT_NO_MONEY=-100013]=\"ACCOUNT_NO_MONEY\",YL[YL.OPERATION_FAILED=5500]=\"OPERATION_FAILED\",YL[YL.FIREWALL_RESTRICTION=5501]=\"FIREWALL_RESTRICTION\",YL[YL.REJOIN_FAILED=5502]=\"REJOIN_FAILED\",YL[YL.EVENT_HANDLER_ERROR=5503]=\"EVENT_HANDLER_ERROR\",YL[YL.VIDEO_CONTEXT_ERROR=5504]=\"VIDEO_CONTEXT_ERROR\",YL[YL.OPERATION_ABORT=5998]=\"OPERATION_ABORT\",YL[YL.UNKNOWN_ERROR=5999]=\"UNKNOWN_ERROR\",YL);var ZL=eb($C({},KO),{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:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' is a required param when calling \").concat(n,\"(), received: \").concat(r,\".\")},INVALID_PARAMETER_TYPE(e){let{key:t,rule:i,fnName:n,value:r}=e,o=\"\".concat(t||i.name),s=\"\";return s=Array.isArray(i.type)?i.type.join(\"|\"):i.type,\"'\".concat(o,\"' must be type of \").concat(s,\" when calling \").concat(n,\"(), received type: \").concat(tO(r),\".\")},INVALID_PARAMETER_EMPTY(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' cannot be '\").concat(r,\"' when calling \").concat(n,\"().\")},INVALID_PARAMETER_INSTANCE(e){let{key:t,rule:i,fnName:n,value:r}=e,o=\"\".concat(t||i.name),s=\"\".concat(i.instanceOf.name||i.instanceOf);return\"'\".concat(o,\"' must be instanceof \").concat(s,\" when calling \").concat(n,\"(), received type: \").concat(tO(r),\".\")},INVALID_PARAMETER_RANGE(e){let{key:t,rule:i,fnName:n,value:r}=e;return\"'\".concat(t||i.name,\"' must be one of \").concat(i.values.join(\"|\"),\" when calling \").concat(n,\"(), received: \").concat(r,\".\")},INVALID_PARAMETER_LESS_THAN_ZERO(e){let{key:t,rule:i,fnName:n}=e;return\"'\".concat(t||i.name,\"' cannot be less than 0 when calling \").concat(n,\"().\")},INVALID_PARAMETER_MIN(e){let{key:t,rule:i,value:n}=e;return\"the min value of \".concat(t||i.name,\" is \").concat(i.min,\", received: \").concat(n,\".\")},INVALID_PARAMETER_MAX(e){let{key:t,rule:i,value:n}=e;return\"the max value of \".concat(t||i.name,\" is \").concat(i.max,\", received: \").concat(n,\".\")},INVALID_ELEMENT_ID(e){let{key:t,fnName:i}=e;return\"'\".concat(t,\"' is not found in the document object when calling \").concat(i,\"().\")},INVALID_ELEMENT_ID_TYPE(e){let{key:t,fnName:i,type:n}=e;return\"the element corresponding to '\".concat(t,\"' must be instanceof HTMLElement when calling \").concat(i,\"(), received: \").concat(n,\".\")},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_REQUIED:()=>\"at least one of 'roomId'(between [1, 4294967294]) and 'strRoomId'(not empty) is required.\",INVALID_STREAM_TYPE:e=>{let{fnName:t}=e;return\"'streamType' is required when 'userId' is not '*', calling \".concat(t,\"()\")},MIX_PARAMS_USER_Z_ORDER(e){let{key:t}=e;return\"'\".concat(t,\"' is required and must be between 1 and 15.\")},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_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_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:i}=e;return\"cannot \".concat(t,\" because remote user(userId: \").concat(i.userId,\") does not publishing stream.\")},INVALID_OPERATION_STREAM_TYPE_NOT_EXIST(e){let{fnName:t,value:i}=e;return\"cannot \".concat(t,\" because remote user(userId: \").concat(i.userId,\") does not publishing \").concat(i.streamType,\" video.\")},INVALID_OPERATION_REPEAT_CALL(e){let{fnName:t}=e;return\"you are already \".concat(t,\"(), cannot repeated call '\").concat(t,\"'.\")},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.\",DEVICE_ERROR(e){let{fnName:t,error:i}=e;return\"'\".concat(t,\"' got device exception\").concat(i?\", error: \".concat(i.toString(),\".\"):\".\")},DEVICE_NOT_FOUND_ERROR(e){let{fnName:t,deviceType:i=$L(t),error:n}=e;return\"NotFoundError, no \".concat(i,\" detected, please check your device and the configuration on '\").concat(t,\"'\").concat(n?\", error: \".concat(n.toString(),\".\"):\".\")},DEVICE_NOT_ALLOWED_ERROR(e){let{fnName:t,deviceType:i=$L(t),error:n}=e;return\"NotAllowedError, you have disabled \".concat(i,\" access, please allow the current application to use the \").concat(i).concat(n?\", error: \".concat(n.toString(),\".\"):\".\")},DEVICE_NOT_READABLE_ERROR(e){let{fnName:t,deviceType:i=$L(t),error:n}=e;return\"NotReadableError, the \".concat(i,\" 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:i=$L(t),error:n}=e;return\"OverconstrainedError, the device ID is incorrect, please check whether the device ID passed in is correct\".concat(n?\", error: \".concat(n.toString(),\".\"):\".\")},DEVICE_INVALID_STATE_ERROR(e){let{fnName:t,deviceType:i=$L(t),error:n}=e;return\"InvalidStateError, after the user clicks and interacts with the page, turn on the \".concat(i).concat(n?\", error: \".concat(n.toString(),\".\"):\".\")},DEVICE_SECURITY_ERROR(e){let{fnName:t,deviceType:i=$L(t),error:n}=e;return\"SecurityError, check whether the system security policy restricts the use of the \".concat(i,\", and it is recommended to turn on the \").concat(i,\" after the user interacts with the page\").concat(n?\", error: \".concat(n.toString(),\".\"):\".\")},DEVICE_ABORT_ERROR(e){let{fnName:t,deviceType:i=$L(t),error:n}=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(n?\" error: \".concat(n.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:i}=e;return\"'\".concat(t,\"' failed, reason: \").concat(null==i?void 0:i.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:i}=e;return\"video context error \".concat(t,\" \").concat((null==i?void 0:i.name)||\"\",\" \").concat((null==i?void 0:i.message)||\"\")},SERVER_ERROR(e){let{fnName:t,error:i}=e;return\"'\".concat(t,\"' got server error: \").concat(null==i?void 0:i.toString(),\", please check the SDK documentation.\")},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:i}=e;return\"'\".concat(t,\"' throw unknown exception\").concat(i?\", error: \".concat(i.toString(),\".\"):\".\")}});function $L(e){if(!e)return\"camera\";let t=e.toLowerCase();return t.includes(\"screen\")?\"screen share\":t.includes(\"audio\")?\"microphone\":\"camera\"}var eM=class extends Error{constructor(e){let{code:t,extraCode:i,message:n=\"\",messageParams:r,fnName:o=\"\",originError:s}=e;var a;let c;c=n||function(e){let t,{code:i,params:n,enableDocLink:r=!1}=e,s=\"\",a=XL[i];try{t=ZL[a]}catch(o){t=ZL.UNKNOWN_ERROR}return iO(t)?s=t(n):rO(t)&&(s=t),r&&(s+=\" doc:\"),s}({code:i||t,params:$C({fnName:o,error:s},r)}),super(c),ob(this,\"name\",\"RtcError\"),ob(this,\"code\"),ob(this,\"extraCode\"),ob(this,\"functionName\"),ob(this,\"message\"),ob(this,\"handler\"),ob(this,\"originError\"),this.name=XL[t],this.code=t,this.extraCode=i,this.functionName=o,this.originError=s,this.message=c,5302===this.extraCode&&(null==(a=this.originError)?void 0:a.message.includes(\"system\"))&&(this.handler=()=>{let e=document.createElement(\"a\");_k?e.href=\"ms-settings:privacy-\".concat({startLocalVideo:\"webcam\",startLocalAudio:\"microphone\"}[this.functionName]):mk&&(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(e,t,i){let n=e;if(e instanceof gb){let{stack:r}=e,o={code:QL.UNKNOWN_ERROR,fnName:t,originError:e};switch(e.getCode()){case mb.INVALID_PARAMETER:o.code=QL.INVALID_PARAMETER;break;case mb.INVALID_OPERATION:o.code=QL.INVALID_OPERATION;break;case mb.NOT_SUPPORTED:case mb.NOT_SUPPORTED_H264:o.code=QL.ENV_NOT_SUPPORTED,e.getCode()===mb.NOT_SUPPORTED_H264&&(o.extraCode=e.message.includes(KO.NOT_SUPPORTED_H264ENCODE)?5203:5204);break;case mb.DEVICE_NOT_FOUND:case mb.DEVICE_AUTO_RECOVER_FAILED:o.code=QL.DEVICE_ERROR;break;case mb.JOIN_ROOM_FAILED:o.messageParams={fnParams:i};case mb.SERVER_TIMEOUT:case mb.SWITCH_ROLE_FAILED:o.code=QL.SERVER_ERROR,o.extraCode=e.getExtraCode();break;case mb.API_CALL_ABORTED:o.code=QL.OPERATION_ABORT;break;case mb.INITIALIZE_FAILED:o.code=5300,o.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}(e.name);break;case mb.UNKNOWN:break;default:o.code=QL.OPERATION_FAILED}n=new eM(o),r&&(n.stack+=r.substr(r.indexOf(\"\\n\")))}else n=new eM({code:QL.UNKNOWN_ERROR,fnName:t,originError:e});return n}};var tM=eM,iM={type:\"object\",properties:{cameraId:{type:\"string\"},useFrontCamera:{type:\"boolean\"},fillMode:{type:\"string\",values:[\"contain\",\"cover\",\"fill\"]},mirror:{type:\"boolean\"},small:{properties:{width:{type:\"number\"},height:{type:\"number\"},frameRate:{type:\"number\"},bitrate:{type:\"number\"}}},videoTrack:{instanceOf:MediaStreamTrack}}},nM={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}}},rM={type:[\"string\",HTMLElement,null,\"array\"],arrayItem:{instanceOf:HTMLElement},validate(e,t,i){if(rO(e)){let n=document.getElementById(e);if(!n)throw new tM({code:QL.INVALID_PARAMETER,extraCode:5009,fnName:i,messageParams:{key:t}});if(!(n instanceof HTMLElement))throw new tM({code:QL.INVALID_PARAMETER,extraCode:5010,fnName:i,messageParams:{key:t,type:tO(n)}})}}},oM={name:\"userId\",required:!0,type:\"string\"},sM={type:\"object\",properties:{microphoneId:{type:\"string\"},audioTrack:{instanceOf:MediaStreamTrack},captureVolume:{type:\"number\",min:0},earMonitorVolume:{type:\"number\",min:0,max:100},echoCancellation:{type:\"boolean\"},autoGainControl:{type:\"boolean\"},noiseSuppression:{type:\"boolean\"}}};function aM(e,t){if(!e)throw new tM({code:QL.INVALID_OPERATION,extraCode:5101,fnName:t})}function cM(e,t,i){if(!e)throw new tM({code:QL.INVALID_OPERATION,extraCode:5102,fnName:t,messageParams:{value:i}})}var lM={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,i){if(this._room.isJoined)throw new tM({code:QL.INVALID_OPERATION,extraCode:5104,fnName:i});if(e.roomId){if(rO(e.roomId))throw new tM({code:QL.INVALID_PARAMETER,extraCode:5016,fnName:i,messageParams:{key:t}});if(!(/^[1-9]\\d*$/.test(String(e.roomId))&&e.roomId<4294967295))throw new tM({code:QL.INVALID_PARAMETER,extraCode:5013,fnName:i,messageParams:{key:t}})}else{if(!e.strRoomId)throw new tM({code:QL.INVALID_PARAMETER,extraCode:5015,fnName:i});if(!/^[A-Za-z\\d\\s!#$%&()+\\-:;<=.>?@[\\]^_{}|~,]{1,64}$/.test(e.strRoomId))throw new tM({code:QL.INVALID_PARAMETER,extraCode:5012,fnName:i,messageParams:{key: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\"}}},startLocalVideo:{name:\"LocalVideoConfig\",type:\"object\",properties:{view:rM,publish:{type:\"boolean\"},option:iM},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.videoTrack)&&nw())throw new tM({code:QL.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalVideo:{name:\"updateLocalVideoConfig\",type:\"object\",required:!0,properties:{view:eb($C({},rM),{required:!1}),publish:{type:\"boolean\"},mute:{type:\"boolean\"},option:iM}},startLocalAudio:{name:\"LocalAudioConfig\",type:\"object\",properties:{publish:{type:\"boolean\"},option:sM},validate(e){var t;if((null==(t=null==e?void 0:e.option)||!t.audioTrack)&&nw())throw new tM({code:QL.ENV_NOT_SUPPORTED,extraCode:5201})}},updateLocalAudio:{name:\"updateLocalAudioConfig\",type:\"object\",required:!0,properties:{publish:{type:\"boolean\"},mute:{type:\"boolean\"},option:sM}},startScreenShare:{name:\"ScreenShareConfig\",type:\"object\",properties:{view:rM,publish:{type:\"boolean\"},option:nM},validate(e,t,i,n,r){var o;if((null==(o=null==e?void 0:e.option)||!o.videoTrack)&&nw())throw new tM({code:QL.ENV_NOT_SUPPORTED,extraCode:5201});if(!lw())throw new tM({code:QL.ENV_NOT_SUPPORTED,fnName:i,extraCode:5205})}},updateScreenShare:{name:\"updateScreenShareConfig\",type:\"object\",required:!0,properties:{view:rM,publish:{type:\"boolean\"},option:nM}},muteRemoteAudio:[oM,{name:\"mute\",required:!0,type:\"boolean\"}],setRemoteAudioVolume:[oM,{name:\"volume\",required:!0,type:\"number\",min:0}],startRemoteVideo:{name:\"startRemoteVideoConfig\",type:\"object\",required:!0,properties:{view:rM,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,i){aM(this._room.isJoined,i);let n=this._room.remotePublishedUserMap.get(e.userId);if(cM(!!n,i,e),n&&(\"main\"===e.streamType&&!n.muteState.videoAvailable||\"sub\"===e.streamType&&!n.muteState.hasAuxiliary))throw new tM({code:QL.INVALID_OPERATION,extraCode:5103,fnName:i,messageParams:{value:e}})}},updateRemoteVideo:{name:\"updateRemoteVideoConfig\",type:\"object\",required:!0,properties:{view:eb($C({},rM),{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,i){aM(this._room.isJoined,i);let n=this._room.remotePublishedUserMap.get(e.userId);if(cM(!!n,i,e),n&&(\"main\"===e.streamType&&!n.muteState.videoAvailable||\"sub\"===e.streamType&&!n.muteState.hasAuxiliary))throw new tM({code:QL.INVALID_OPERATION,extraCode:5103,fnName:i,messageParams:{value:e}})}},stopRemoteVideo:{name:\"stopRemoteVideoConfig\",type:\"object\",required:!0,properties:{userId:{type:\"string\",required:!0},streamType:{values:[\"main\",\"sub\"]}},validate(e,t,i){if(\"*\"!==e.userId&&nO(e.streamType))throw new tM({code:QL.INVALID_PARAMETER,extraCode:5014,fnName:i})}},switchRole:{name:\"role\",required:!0,values:[\"anchor\",\"audience\"],validate(e,t,i){aM(this._room.isJoined,i)}},enableAudioVolumeEvaluation:[{name:\"interval\",type:\"number\"},{name:\"enableInBackground\",type:\"boolean\"}],sendSEIMessage:[{name:\"buffer\",required:!0,instanceOf:ArrayBuffer,validate(e,t,i,n){if(!kw)throw new tM({code:QL.ENV_NOT_SUPPORTED,fnName:i,extraCode:5207});if(!this._room.enableSEI)throw new tM({code:QL.INVALID_OPERATION,messageParams:{key:JO.SEI_DISABLED}});if(e.byteLength>1e3)throw new tM({code:QL.INVALID_PARAMETER,messageParams:{key:JO.SEI_OVERSIZE,data:e.byteLength}});if(0===e.byteLength)throw new tM({code:QL.INVALID_PARAMETER,messageParams:{key:JO.SEI_EMPTY}});if(aM(this._room.isJoined,i),!this._room.isMainStreamPublished)throw new tM({code:QL.INVALID_PARAMETER,messageParams:{key:JO.SEI_BEFORE_PUBLISH}})}},{name:\"options\",type:\"object\",properties:{seiPayloadType:{type:\"number\",values:[5,243]}}}]},dM={TRTC:lM},uM=class extends Error{};function hM(e,t){let i=[];return CO(i,e),CO(i,t),i}function pM(e){this._resolve=Promise.resolve(e)}function _M(e){this._reject=Promise.reject(e)}var mM=class{constructor(e,t){this.instance=e,this.group=t,this.started=!1,this.ops=[],this.startSame=()=>!0,this.mergeUpdate=hM;let i=mM.instances.get(e);i?i.set(t,this):mM.instances.set(e,new Map([[t,this]]))}static get(e,t){let i=mM.instances.get(e);return i&&i.get(t)||new mM(e,t)}action(e,t,i){let n=t=>{var i;return 0===e?this.started=!0:3===e&&(this.started=!1),this.ops.shift(),null==(i=this.currentOp)||i.action(),t},r=t=>{var i,n;throw this.ops.shift(),0===e&&2===(null==(i=this.currentOp)?void 0:i.type)&&this.ops.shift().reject(new uM(\"start failed\")),null==(n=this.currentOp)||n.action(),t},o={type:e,action:()=>t(...o.args).then(n,r),args:i,resolve:pM,reject:_M};try{switch(this.state){case 1:if(0===e)throw new uM(\"already started\");break;case 4:if(2===e)throw new uM(\"not started\");break;default:return this.cacheOp(o)}}catch(qx){return Promise.reject(qx)}return this.ops.push(o),o.promise=t(...o.args).then(n,r)}cacheOp(e){if(1===this.ops.length)switch(this.state){case 0:case 2:if(0===e.type)throw new uM(\"already start\");break;case 3:switch(e.type){case 2:throw new uM(\"update not allowed when stopping\");case 3:return this.currentOp.promise}break;default:throw new uM(\"unknown state\")}else switch(e.type){case 3:if(3===this.lastOpType)return this.lastOp.promise;{let e=new uM(\"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 uM(\"update not allowed after stop\")}break;case 0:switch(this.lastOpType){case 2:throw new uM(\"start not allowed after update\");case 0:throw new uM(\"duplicate start\");case 3:if(this.startSame(this.currentOp.args,e.args))throw this.ops.pop().reject(new uM(\"keep start\")),new uM(\"already start\")}}e.promise=new Promise(((t,i)=>{e._resolve?e._resolve.then(t):e.resolve=t,e._reject?e._reject.catch(i):e.reject=i}));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}},fM=mM;fM.instances=new WeakMap;var gM=new WeakMap,TM=(e,t)=>{if(t instanceof uM){let{stack:i}=t;t=new tM({code:QL.OPERATION_ABORT,message:\"\".concat(e,\" abort: \").concat(t.message),fnName:e}),i&&(t.stack+=i.substr(i.indexOf(\"\\n\")))}throw t};function EM(e,t){return iL(((i,n)=>function(){for(var r=arguments.length,o=new Array(r),s=0;sfunction(){for(var o=arguments.length,s=new Array(o),a=0;a{var a,l;let d=null==(a=gM.get(this))?void 0:a.get(i(...s));if(d){let{timeoutId:e,resolve:t}=d;clearTimeout(e),t()}let u=setTimeout((()=>{if(3===c.state||4===c.state)return n();c.action(2,t.bind(this),s).catch(TM.bind(null,r)).then(n,o)}),e);gM.has(this)?null==(l=gM.get(this))||l.set(i(...s),{timeoutId:u,resolve:n}):gM.set(this,new Map([[i(...s),{timeoutId:u,resolve:n}]]))}))}return c.action(2,t.bind(this),s).catch(TM.bind(null,r))}))}function IM(e){return iL(((t,i)=>function(){for(var n=arguments.length,r=new Array(n),o=0;o{t.startsWith(n)&&(e.started=!1)}))}}}var RM=new WeakMap;function CM(){for(var e=arguments.length,t=new Array(e),i=0;ifunction(){for(var n=arguments.length,r=new Array(n),o=0;ofunction(){for(var n=arguments.length,r=new Array(n),o=0;ohO(e)?pO(e):rO(e)?e:tO(e)))},value:i}})}else if(!nO(t.type)&&tO(i)!==t.type)throw new tM(s(5002));if(!1===t.allowEmpty){let e=oO(i)&&(0===i||Number.isNaN(i)),t=rO(i)&&\"\"===i.trim();if(e||t)throw new tM(s(5003))}if(t.notLessThanZero&&oO(i)&&i<0)throw new tM(s(5006));if(!nO(t.min)&&oO(i)&&it.max)throw new tM(s(5008));if(rO(t.instanceOf)){if(!i||i._name!==t.instanceOf)throw new tM(s(5004))}else if(iO(t.instanceOf)&&!(i instanceof t.instanceOf))throw new tM(s(5004));if(Array.isArray(t.values)&&!t.values.includes(i))throw new tM(s(5005));let{properties:a}=t;ZD(a)&&aO(i)&&Object.keys(a).forEach((e=>{NM.call(this,{rule:a[e],value:i&&i[e],key:\"\".concat(e),fnName:r,className:o})}));let{arrayItem:c}=t;ZD(c)&&cO(i)&&i.forEach(((e,t)=>{NM.call(this,{rule:c,value:e,key:\"\".concat(n,\"[\").concat(t,\"]\"),fnName:r,className:o})})),iO(t.validate)&&t.validate.call(this,i,n,r,o,this)}function DM(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{namePrefix:t=(()=>\"\"),getRemoteId:i=(()=>\"\")}=e;return iL(((e,n)=>function(){for(var r=arguments.length,o=new Array(r),s=0;s0?c.info(\"\".concat(d,\"() \").concat(JSON.stringify(o,((e,t)=>a(e,t,[\"userSig\",\"privateMapKey\"]))))):c.info(\"\".concat(d,\"()\"));try{let t=e.apply(this,o),n=fO();return uO(t)?t.then((e=>(c.info(\"\".concat(d,\"() success \").concat(i.call(this,...o))),xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:d,cost:fO()-n}),e))).catch((e=>{throw e=tM.convertFrom.call(this,e,d,1===o.length?o[0]:o),c.error(\"\".concat(d,\"() failed \").concat(i.call(this,...o),\" \").concat(e,\" params: \").concat(JSON.stringify(o,a))),xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:d,error:e}),e})):(xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:d,cost:fO()-n}),t)}catch(u){throw u=tM.convertFrom.call(this,u,d),c.error(\"\".concat(d,\"() failed \").concat(u,\" params: \").concat(JSON.stringify(o,a))),xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:d,error:u}),u}}))}var OM=e=>iL(((t,i)=>function(n,r){return ab(this,null,(function*(){let o=this._plugins.get(n);if(o)return kM.call(this,o.getValidateRule(e),[r],i,\"TRTC\"),t.call(this,o,r);this._log.warn(\"plugin \".concat(n,\" is not found\"))}))})),wM=0,PM=class{constructor(e){this.core=e,ob(this,\"log\"),wM+=1,this.log=e.log.createChild({id:\"\".concat(this.getAlias()).concat(wM)}),this.log.info(\"[audioMixer] created id=\".concat(this.getAlias()).concat(wM)),this.core=e}getName(){return\"AudioMixer\"}getAlias(){return\"ax\"}getGroup(e){return null==e?void 0:e.id}getValidateRule(e){switch(e){case\"start\":return PM.startValidateRule;case\"update\":return PM.updateValidateRule;case\"stop\":return PM.stopValidateRule}}start(e){return ab(this,null,(function*(){let{room:t}=this.core;yield t.audioManager.addMusicSource(e)}))}update(e){return ab(this,null,(function*(){let{room:t}=this.core;yield t.audioManager.updateMusicSource(e)}))}stop(e){return ab(this,null,(function*(){let{room:t}=this.core;yield t.audioManager.removeMusicSource(e)}))}},LM=PM;ob(LM,\"startValidateRule\",{name:\"options\",required:!0,type:\"object\",properties:{id:{type:\"string\",required:!0},url:{type:\"string\",required:!0},loop:{type:\"boolean\"},volume:{type:\"number\"}},validate(e,t,i){if(\"*\"!==e.url){let t=[\"mp3\",\"ogg\",\"wav\",\"flac\"],n=e.url.split(\".\").pop(),r=t.indexOf(n)>=0,o=e.url.startsWith(\"blob\"),s=e.url.startsWith(\"data\");if(!(r||o||s))throw new tM({code:QL.INVALID_PARAMETER,message:\"start audioMixer plugin: music url is invalid, please check your file format.\",fnName:i})}}}),ob(LM,\"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\"]}}}),ob(LM,\"stopValidateRule\",{name:\"options\",type:\"object\",required:!0,properties:{id:{type:\"string\",required:!0}}});var MM=0,VM=class{constructor(e){this.core=e,ob(this,\"log\"),MM+=1,this.log=e.log.createChild({id:\"\".concat(this.getAlias()).concat(MM)}),this.log.info(\"[audioDenoiser] created id=\".concat(this.getAlias()).concat(MM))}getName(){return\"AIDenoiser\"}getAlias(){return\"ad\"}getGroup(e){return\"AIDenoiser_\".concat(Date.now())}getValidateRule(e){switch(e){case\"start\":return VM.startValidateRule;case\"update\":return VM.updateValidateRule;case\"stop\":return VM.stopValidateRule}}start(e){return ab(this,null,(function*(){let{room:t}=this.core,{assetsPath:i,sdkAppId:n,userId:r,userSig:o}=e;if(i&&!t.audioManager.isDenoiserInit)try{yield t.audioManager.initDenoiser({assetsPath:i,sdkAppId:n,userId:r,userSig:o})}catch(qx){if(qx.message)throw new gb({code:mb.INVALID_PARAMETER,message:qx.message})}yield t.audioManager.enableDenoiser(e),t.sendAbilityStatus({ai_denoise:1})}))}update(e){return ab(this,null,(function*(){}))}stop(e){return ab(this,null,(function*(){let{room:e}=this.core;yield e.audioManager.disableDenoiser()}))}},xM=VM;ob(xM,\"startValidateRule\",{name:\"options\",required:!0,type:\"object\",properties:{assetsPath:{type:\"string\",required:!0},sdkAppId:{type:\"number\",required:!0},userId:{type:\"string\",required:!0},userSig:{type:\"string\",required:!0}}}),ob(xM,\"updateValidateRule\",{type:\"object\"}),ob(xM,\"stopValidateRule\",{type:\"object\"});var UM=0,FM=new Set,BM=null;oN(\"5.2.1\");var HM=class extends pb.EventEmitter{constructor(e,t){super(),ob(this,\"_room\"),ob(this,\"_eventListened\",new Set),ob(this,\"_localVideoTrack\",null),ob(this,\"_localAudioTrack\",null),ob(this,\"_localScreenTrack\",null),ob(this,\"_localScreenAudioTrack\",null),ob(this,\"_localVideoConfig\",null),ob(this,\"_localScreenConfig\",null),ob(this,\"_localAudioConfig\",null),ob(this,\"_remoteVideoConfigMap\",new Map),ob(this,\"_remoteAudioConfigMap\",new Map),ob(this,\"_remoteAudioMuteMap\",new Map),ob(this,\"_log\",HO.createLogger({id:\"t\".concat(++UM)})),ob(this,\"_plugins\",new Map),ob(this,\"_networkQuality\",null),this._room=new e($C({logger:this._log,frameWorkType:HM.frameWorkType},t)),t.plugins&&t.plugins.forEach((e=>{let t=new e(AM(this._room));this._plugins.set(t.getName(),t)}));let i=new LM(AM(this._room));this._plugins.set(i.getName(),i);let n=new xM(AM(this._room));this._plugins.set(n.getName(),n),this._room.on(\"audio-volume\",(e=>{!e.find((e=>\"\"===e.userId))&&this._localAudioTrack&&e.push({userId:\"\",volume:Math.floor(100*this._localAudioTrack.getAudioLevel())}),this.emit(vM.AUDIO_VOLUME,{result:e.sort(((e,t)=>t.volume-e.volume))})})),this._room.videoManager.on(\"error\",(e=>{let{reason:t,error:i}=e;this._log.error(new tM({code:QL.OPERATION_FAILED,extraCode:5504,messageParams:{reason:t,error:i}}))})),this.on(vM.REMOTE_AUDIO_UNAVAILABLE,(e=>{let{userId:t}=e;this._stopRemoteAudio({userId:t},!1).catch((()=>{}))})),this.on(vM.REMOTE_VIDEO_UNAVAILABLE,(e=>{let{userId:t,streamType:i}=e;this._stopRemoteVideo({userId:t,streamType:i},!1).catch((()=>{}))})),SP(jP,jP).add(\"audioInputAdded\",(e=>{this.emit(vM.DEVICE_CHANGED,{type:\"microphone\",action:\"add\",device:e})})).add(\"audioInputRemoved\",(e=>{this.emit(vM.DEVICE_CHANGED,{type:\"microphone\",action:\"remove\",device:e})})).add(\"videoInputAdded\",(e=>{this.emit(vM.DEVICE_CHANGED,{type:\"camera\",action:\"add\",device:e})})).add(\"videoInputRemoved\",(e=>{this.emit(vM.DEVICE_CHANGED,{type:\"camera\",action:\"remove\",device:e})})).add(\"audioOutputAdded\",(e=>ab(this,null,(function*(){if(this.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"add\",device:e}),BM&&BM.deviceId===CD){let e=(yield KP()).find((e=>e.deviceId===CD));e&&BM.groupId!==e.groupId&&(BM=e,this.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"active\",device:e}))}})))).add(\"audioOutputRemoved\",(e=>ab(this,null,(function*(){this.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"remove\",device:e});let t=(yield KP())[0];t&&BM&&(BM.deviceId===e.deviceId||BM.deviceId===CD&&BM.groupId!==t.groupId)&&(BM=t,this.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"active\",device:t}))})))),((e,t)=>{let{emit:n}=e;e.emit=function(){for(var r=arguments.length,o=new Array(r),s=0;s{if(e){let t=\"UAData: \".concat(e.platform,\"/\").concat(e.platformVersion);e.architecture&&e.bitness&&(t+=\" \".concat(e.architecture,\"/\").concat(e.bitness)),e.mobile&&(t+=\" mobile\"),e.model&&(t+=\" model: \".concat(e.model)),e.fullVersionList&&(t+=\" \".concat(e.fullVersionList.filter((e=>\"Not/A)Brand\"!==e.brand)).map((e=>\"\".concat(e.brand,\"/\").concat(e.version))).join(\",\"))),HO.info(t)}})))}();let i=new HM(e,t||{});return FM.add(i),BM?i.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"active\",device:BM}):KP().then((e=>{e[0]&&(BM=e[0],i.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"active\",device:e[0]}))})),i}enterRoom(e){return ab(this,null,(function*(){var t,i;let{scene:n=\"rtc\",enableAutoPlayDialog:r=!0,autoReceiveAudio:o=!0,autoReceiveVideo:s=!0}=e;e.proxy&&(this._room.setProxyServer(e.proxy),!rO(e.proxy)&&e.proxy.turnServer&&(null==(i=(t=this._room).setTurnServer)||i.call(t,e.proxy.turnServer,e.proxy.iceTransportPolicy))),this._room.enableAutoPlayDialog=r,this._room.autoReceiveAudio=o,this._room.autoReceiveVideo=s,sO(e.enableHWEncoder)&&(this._room.enableHWEncoder=e.enableHWEncoder);let a={sdkAppId:e.sdkAppId,userId:e.userId,userSig:e.userSig,privateMapKey:e.privateMapKey||null,role:\"audience\"===e.role?21:20,roomId:e.roomId||0,strRoomId:e.strRoomId||\"\",businessInfo:e.businessInfo||null,streamId:null,userDefineRecordId:e.userDefineRecordId||null,frameWorkType:e.frameWorkType,component:e.component,language:e.language};e.strRoomId&&!e.roomId&&(this._room.useStringRoomId=!0),SP(this,this._room).add(\"peer-join\",(e=>{let{userId:t}=e;this.emit(vM.REMOTE_USER_ENTER,{userId:t})})).add(\"peer-leave\",(e=>{this.emit(vM.REMOTE_USER_EXIT,{userId:e})})).add(\"banned\",(e=>{this._exitRoom().then((()=>{this.emit(vM.KICKED_OUT,{reason:e.reason})}))})).add(\"error\",(e=>{this._exitRoom().then((()=>{this.emit(vM.ERROR,tM.convertFrom(e))}))})).add(\"signal-connection-state-changed\",(e=>{this.emit(vM.CONNECTION_STATE_CHANGED,e)})).add(\"network-quality\",(e=>{this._networkQuality=e,this.emit(vM.NETWORK_QUALITY,e)})).add(\"remote-published\",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((t=>{SP(t,t).add(\"player-state-changed\",(i=>{let n=eb($C({},i),{userId:e.userId});t.kind===LN.VIDEO&&(n.streamType=function(e){return\"sub\"===e?\"auxiliary\":\"auxiliary\"===e?\"sub\":\"main\"}(t.streamType)),this.emit(t.kind===LN.AUDIO?vM.AUDIO_PLAY_STATE_CHANGED:vM.VIDEO_PLAY_STATE_CHANGED,n)})).add(\"error\",(e=>{e.getCode()===mb.PLAY_NOT_ALLOWED&&this.emit(vM.AUTOPLAY_FAILED,{userId:t.userId})}))}))})).add(\"remote-unpublished\",(e=>{[e.remoteAudioTrack,e.remoteVideoTrack,e.remoteAuxiliaryTrack].forEach((e=>{IP(e)}))})).add(\"remote-publish-state-changed\",(e=>{let{prevMuteState:t,muteState:i}=e,{userId:n}=i;this._room.remotePublishedUserMap.get(n);let r=t.audioAvailable,o=t.videoAvailable,{audioAvailable:s,videoAvailable:a}=i;s||this._remoteAudioConfigMap.delete(n),a||this._remoteVideoConfigMap.delete(\"\".concat(n,\"_\",\"main\")),i.hasAuxiliary||this._remoteVideoConfigMap.delete(\"\".concat(n,\"_\",\"sub\")),r!==s&&this.emit(s?vM.REMOTE_AUDIO_AVAILABLE:vM.REMOTE_AUDIO_UNAVAILABLE,{userId:n}),o!==a&&this.emit(a?vM.REMOTE_VIDEO_AVAILABLE:vM.REMOTE_VIDEO_UNAVAILABLE,{userId:n,streamType:\"main\"}),t.hasAuxiliary!==i.hasAuxiliary&&this.emit(i.hasAuxiliary?vM.REMOTE_VIDEO_AVAILABLE:vM.REMOTE_VIDEO_UNAVAILABLE,{userId:n,streamType:\"sub\"})})).add(\"firewall-restriction\",(()=>{this.emit(vM.ERROR,new tM({code:QL.OPERATION_FAILED,extraCode:5501}))})).add(\"sei-message\",(e=>{this.emit(vM.SEI_MESSAGE,e)})).add(\"heartbeat-report\",(e=>{var t,i,n,r,o,s,a;let c={2:\"big\",3:\"small\",7:\"sub\"},l={rtt: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==(i=this._networkQuality)?void 0:i.uplinkRTT)||(null==(n=this._networkQuality)?void 0:n.downlinkRTT)||0,upLoss:(null==(r=this._networkQuality)?void 0:r.uplinkLoss)||0,downLoss:(null==(o=this._networkQuality)?void 0:o.downlinkLoss)||0,bytesSent:e.bytes_sent||0,bytesReceived:e.bytes_received||0,localStatistics:{audio:{bitrate:((null==(s=e.msg_up_stream_info.msg_audio_status)?void 0:s.uint32_audio_codec_bitrate)||0)/1e3,audioLevel:((null==(a=e.msg_up_stream_info.msg_audio_status)?void 0:a.uint32_audio_level)||0)/xD},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)/xD},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]})))})))};this.emit(vM.STATISTICS,l)})),this._handleReceiveMode(),yield this._room.join(a,n,HM.frameWorkType),this._checkTrackToPublish()}))}exitRoom(){return ab(this,null,(function*(){return yield this._exitRoom()}))}switchRole(e){return ab(this,null,(function*(){yield this._room.switchRole(e),\"anchor\"===e&&this._checkTrackToPublish()}))}destroy(){IP(jP),this.removeAllListeners(),this._room.destroy(),FM.delete(this),this._localAudioTrack&&this.stopLocalAudio(),this._localVideoTrack&&this.stopLocalVideo(),this._localScreenTrack&&this.stopScreenShare()}startLocalAudio(){return ab(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:i=!0,option:n}=t,r=new oL(e._room.audioManager),o={},s={muted:!0};n&&(nO(n.microphoneId)?nO(n.audioTrack)||(o.customSource=n.audioTrack):o.deviceId=n.microphoneId,n&&oO(n.captureVolume)&&r.setCaptureVolume(n.captureVolume),nO(n.profile)||(rO(n.profile)?ON[n.profile]&&r.setProfile(ON[n.profile]):r.setProfile(n.profile)),oO(n.earMonitorVolume)&&(s.muted=!(n.earMonitorVolume>0),s.volume=n.earMonitorVolume),nO(n.echoCancellation)||(r.profile.echoCancellation=n.echoCancellation),nO(n.noiseSuppression)||(r.profile.noiseSuppression=n.noiseSuppression),nO(n.autoGainControl)||(r.profile.autoGainControl=n.autoGainControl)),r.on(\"5\",(t=>{e.emit(vM.ERROR,new tM({code:QL.DEVICE_ERROR,extraCode:5309,messageParams:{error:t}}))})),r.on(\"2\",(t=>{e.emit(vM.DEVICE_CHANGED,{type:\"microphone\",action:\"active\",device:t})})),r.on(\"4\",(t=>{let i;t.error&&(i=tM.convertFrom(t.error)),e.emit(vM.PUBLISH_STATE_CHANGED,eb($C({},t),{error:i}))})),yield r.capture(o),SP(r,r).add(\"player-state-changed\",(t=>{e.emit(vM.AUDIO_PLAY_STATE_CHANGED,eb($C({},t),{userId:\"\"}))})),i&&e._room.isJoined&&e._room.publish(r).catch((()=>{})),yield e._updateAudioPlayOption({playOption:s,track:r}),e._localAudioTrack=r,e._localAudioConfig=eb($C({},t),{publish:i})}()}))}updateLocalAudio(e){return ab(this,null,(function*(){if(!this._localAudioTrack||!this._localAudioConfig)return;let{publish:t,mute:i,option:n}=e,r={};n&&(n.microphoneId?yield this._localAudioTrack.switchDevice(n.microphoneId):nO(n.audioTrack)||(yield this._localAudioTrack.setInputMediaStreamTrack(n.audioTrack)),nO(n.captureVolume)||this._localAudioTrack.setCaptureVolume(n.captureVolume),nO(n.earMonitorVolume)||(r.muted=!(n.earMonitorVolume>0),r.volume=n.earMonitorVolume),yield this._localAudioTrack.update3A(n)),this._room.isJoined&&!nO(t)&&(t&&!this._localAudioConfig.publish&&this._room.publish(this._localAudioTrack).catch((()=>{})),this._localAudioConfig.publish&&!t&&this._room.unpublish(this._localAudioTrack).catch((()=>{}))),nO(i)||this._localAudioTrack.setMute(i),yield this._updateAudioPlayOption({playOption:r,track:this._localAudioTrack,prevConfig:this._localAudioConfig}),CO(this._localAudioConfig,e)}))}stopLocalAudio(){return ab(this,null,(function*(){!this._localAudioTrack||(this._room.isJoined&&(yield this._room.unpublish(this._localAudioTrack).catch((()=>{}))),this._localAudioTrack.stop(),this._localAudioTrack.close(),IP(this._localAudioTrack),this._localAudioTrack=null,this._localAudioConfig=null)}))}startLocalVideo(){return ab(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._localVideoTrack)return void e._log.warn(\"local video is already started\");let{view:i,publish:n=!0,option:r}=t,o=new sL(e._room.videoManager),s={},a={};if(r&&(r.cameraId?s.deviceId=r.cameraId:nO(r.useFrontCamera)?nO(r.videoTrack)||(s.customSource=r.videoTrack):s.facingMode=r.useFrontCamera?LN.FACING_MODE_USER:LN.FACING_MODE_ENVIRONMENT,nO(r.profile)||(rO(r.profile)?wN[r.profile]&&o.setProfile(wN[r.profile]):o.setProfile(r.profile)),nO(r.fillMode)||(a.objectFit=r.fillMode),nO(r.mirror)||(a.mirror=r.mirror),nO(r.small)||(fw()?rO(r.small)?o.small=wN[r.small]:o.small=r.small:e._log.warn(\"small stream is not supported\"))),o.on(\"5\",(t=>{e.emit(vM.ERROR,new tM({code:QL.DEVICE_ERROR,extraCode:5308,messageParams:{error:t}}))})),o.on(\"2\",(t=>{e.emit(vM.DEVICE_CHANGED,{type:\"camera\",action:\"active\",device:t})})),o.on(\"4\",(t=>{let i;t.error&&(i=tM.convertFrom(t.error)),e.emit(vM.PUBLISH_STATE_CHANGED,eb($C({},t),{error:i}))})),yield o.capture(s),(null==r?void 0:r.qosPreference)&&o.mediaTrack){let e=yM(r.qosPreference);o.mediaTrack.contentHint=e}SP(o,o).add(\"player-state-changed\",(t=>{e.emit(vM.VIDEO_PLAY_STATE_CHANGED,eb($C({},t),{userId:\"\",streamType:\"main\"}))})),n&&e._room.isJoined&&e._room.publish(o).catch((()=>{})),yield e._updateVideoPlayOption({view:i,playOption:a,track:o}),e._localVideoTrack=o,e._localVideoConfig=eb($C({},t),{view:i,publish:n})}()}))}updateLocalVideo(e){return ab(this,null,(function*(){if(!this._localVideoTrack||!this._localVideoConfig)return;let{view:t,publish:i,mute:n,option:r}=e,o={};if(r&&(nO(r.profile)||(rO(r.profile)?wN[r.profile]&&this._localVideoTrack.setProfile(wN[r.profile]):this._localVideoTrack.setProfile(r.profile),(!r.cameraId||!this._localVideoTrack.isNeedToSwitchDevice(r.cameraId))&&nO(r.useFrontCamera)&&this._localVideoTrack.applyProfile()),r.cameraId?yield this._localVideoTrack.switchDevice(r.cameraId):nO(r.useFrontCamera)?nO(r.videoTrack)||(yield this._localVideoTrack.setInputMediaStreamTrack(r.videoTrack)):yield this._localVideoTrack.switchDevice(r.useFrontCamera?LN.FACING_MODE_USER:LN.FACING_MODE_ENVIRONMENT),nO(r.fillMode)||(o.objectFit=r.fillMode),nO(r.mirror)||(o.mirror=r.mirror),r.qosPreference&&this._localVideoTrack.mediaTrack)){let e=yM(r.qosPreference);this._localVideoTrack.mediaTrack.contentHint=e}this._room.isJoined&&!nO(i)&&(i&&!this._localVideoConfig.publish&&this._room.publish(this._localVideoTrack).catch((()=>{})),this._localVideoConfig.publish&&!i&&this._room.unpublish(this._localVideoTrack).catch((()=>{}))),nO(n)||this._localVideoTrack.setMute(n),yield this._updateVideoPlayOption({view:t,playOption:o,track:this._localVideoTrack,prevConfig:this._localVideoConfig}),CO(this._localVideoConfig,e)}))}stopLocalVideo(){return ab(this,null,(function*(){!this._localVideoTrack||(this._room.isJoined&&(yield this._room.unpublish(this._localVideoTrack).catch((()=>{}))),this._localVideoTrack.stop(),this._localVideoTrack.close(),IP(this._localVideoTrack),this._localVideoTrack=null,this._localVideoConfig=null)}))}startScreenShare(){return ab(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:i=null,publish:n=!0,option:r}=t,o=new cL(e._room.videoManager);o.on(\"4\",(t=>{let i;t.error&&(i=tM.convertFrom(t.error)),e.emit(vM.PUBLISH_STATE_CHANGED,eb($C({},t),{error:i}))}));let s=null;o.setMediaType(2);let a={},c={};r&&(nO(r.profile)||(rO(r.profile)?PN[r.profile]&&o.setProfile(PN[r.profile]):o.setProfile(r.profile)),r.systemAudio&&(a.systemAudio=!0,a.echoCancellation=r.echoCancellation,a.noiseSuppression=r.noiseSuppression,a.autoGainControl=r.autoGainControl),nO(r.fillMode)||(c.objectFit=r.fillMode),r.videoTrack&&(a.videoTrack=r.videoTrack),r.audioTrack&&(a.audioTrack=r.audioTrack));let l=yield o.capture(a);if(null!=r&&r.qosPreference){let e=yM(r.qosPreference);o.mediaTrack.contentHint=e}if(o.mediaTrack.addEventListener(LN.ENDED,(()=>{e._stopScreenShare(),e.emit(vM.SCREEN_SHARE_STOPPED)})),l.getAudioTracks()[0]&&(s=new lL(e._room.audioManager),s.setInputMediaStreamTrack(l.getAudioTracks()[0])),SP(o,o).add(\"player-state-changed\",(t=>{e.emit(vM.VIDEO_PLAY_STATE_CHANGED,eb($C({},t),{userId:\"\",streamType:\"sub\"}))})),n&&e._room.isJoined){let t=[o];s&&t.push(s),e._room.publish(...t).catch((()=>{}))}yield e._updateVideoPlayOption({view:i,playOption:c,track:o}),e._localScreenTrack=o,e._localScreenAudioTrack=s,e._localScreenConfig=eb($C({},t),{view:i,publish:n})}()}))}updateScreenShare(e){return ab(this,null,(function*(){if(!this._localScreenTrack||!this._localScreenConfig)return;let{view:t,publish:i,option:n}=e,r={};if(n&&(nO(n.fillMode)||(r.objectFit=n.fillMode),n.qosPreference)){let e=yM(n.qosPreference);this._localScreenTrack.mediaTrack.contentHint=e}this._room.isJoined&&!nO(i)&&(i&&!this._localScreenConfig.publish&&this._room.publish(this._localScreenTrack).catch((()=>{})),this._localScreenConfig.publish&&!i&&this._room.unpublish(this._localScreenTrack).catch((()=>{}))),yield this._updateVideoPlayOption({view:t,playOption:r,track:this._localScreenTrack,prevConfig:this._localScreenConfig}),CO(this._localScreenConfig,e)}))}stopScreenShare(){return ab(this,null,(function*(){return yield this._stopScreenShare()}))}startRemoteVideo(e){return ab(this,null,(function*(){let{view:t,userId:i,streamType:n,option:r}=e,o=\"\".concat(i,\"_\").concat(n);if(this._remoteVideoConfigMap.has(o))return void this._log.warn(\"remote video has already started. userId:\".concat(i,\", streamType:\").concat(n));let s=this._room.remotePublishedUserMap.get(i);if(!s)return;let a={},c=\"main\"===n?s.remoteVideoTrack:s.remoteAuxiliaryTrack;r&&(nO(r.fillMode)||(a.objectFit=r.fillMode),nO(r.mirror)||(a.mirror=r.mirror),\"main\"===n&&!nO(r.small)&&this._room.changeType(r.small,c.user)),yield this._room.subscribe(c),yield this._updateVideoPlayOption({view:t,playOption:a,track:c}),this._remoteVideoConfigMap.set(o,e)}))}updateRemoteVideo(e){return ab(this,null,(function*(){let{view:t,userId:i,streamType:n,option:r}=e,o=\"\".concat(i,\"_\").concat(n);if(!this._remoteVideoConfigMap.has(o)||!this._room.remotePublishedUserMap.has(i))return;let s={};r&&(nO(r.fillMode)||(s.objectFit=r.fillMode),nO(r.mirror)||(s.mirror=r.mirror));let a=null,c=this._room.remotePublishedUserMap.get(i);\"main\"===n&&(null==c?void 0:c.muteState.hasVideo)&&(a=c.remoteVideoTrack),\"sub\"===n&&(null==c?void 0:c.muteState.hasAuxiliary)&&(a=c.remoteAuxiliaryTrack);let l=this._remoteVideoConfigMap.get(o);a&&(\"main\"===n&&r&&!nO(r.small)&&this._room.changeType(r.small,a.user),yield this._updateVideoPlayOption({view:t,playOption:s,track:a,prevConfig:l})),CO(l,e)}))}stopRemoteVideo(e){return ab(this,null,(function*(){return this._stopRemoteVideo(e)}))}_stopRemoteVideo(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return ab(this,null,(function*(){let i=[],n=this._room.remotePublishedUserMap.get(e.userId);if(n){let{muteState:t,remoteVideoTrack:r,remoteAuxiliaryTrack:o}=n;\"main\"===e.streamType&&(r.stop(),t.hasVideo&&i.push(r)),\"sub\"===e.streamType&&(o.stop(),t.hasAuxiliary&&i.push(o))}for(let e of i)t&&(yield this._room.unsubscribe(e));this._remoteVideoConfigMap.delete(\"\".concat(e.userId,\"_\").concat(e.streamType))}))}muteRemoteAudio(e,t){return ab(this,null,(function*(){if(\"*\"===e)if(t)yield this._stopRemoteAudio({userId:e});else{let e=[...this._room.remotePublishedUserMap.values()];for(let t of e)t.muteState.hasAudio&&(yield this._startRemoteAudio({userId:t.userId}))}else t?yield this._stopRemoteAudio({userId:e}):yield this._startRemoteAudio({userId:e});this._remoteAudioMuteMap.set(e,t)}))}setRemoteAudioVolume(e,t){if(\"*\"===e){let e=[...this._room.remotePublishedUserMap.values()];for(let i of e)this._updateAudioPlayOption({playOption:{volume:t},track:i.remoteAudioTrack})}else if(e){let i=this._room.remotePublishedUserMap.get(e);i&&this._updateAudioPlayOption({playOption:{volume:t},track:i.remoteAudioTrack})}}startPlugin(e,t){return ab(this,null,(function*(){return e.start(t)}))}updatePlugin(e,t){return ab(this,null,(function*(){return e.update(t)}))}stopPlugin(e,t){return ab(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,i){return super.on(e,t,i),this._eventListened.add(e),this}off(e,t,i){return\"*\"===e?(this._eventListened.clear(),this.removeAllListeners()):super.off(e,t,i),this}getVideoTrack(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{userId:\"\",streamType:\"main\"},{userId:t=\"\",streamType:i=\"main\"}=e;if(\"\"===t){if(\"main\"===i&&this._localVideoTrack)return this._localVideoTrack.mediaTrack;if(\"sub\"===i&&this._localScreenTrack)return this._localScreenTrack.mediaTrack}else{let e=this._room.remotePublishedUserMap.get(t);if(e)return\"main\"===i?e.remoteVideoTrack.mediaTrack:e.remoteAuxiliaryTrack.mediaTrack}return null}getAudioTrack(e){if(e){let t=this._room.remotePublishedUserMap.get(e);if(t)return t.remoteAudioTrack.mediaTrack}else if(this._localAudioTrack)return this._localAudioTrack.mediaTrack;return null}setCurrentSpeaker(e){var t;null==(t=this._localAudioTrack)||t.setAudioOutput(e),this._room.remotePublishedUserMap.forEach((t=>t.remoteAudioTrack.setAudioOutput(e)))}_startRemoteAudio(e){return ab(this,null,(function*(){let{userId:t,option:i}=e;if(this._remoteAudioConfigMap.has(t))return void this._log.warn(\"remote audio has already started. userId:\".concat(t));let n=this._room.remotePublishedUserMap.get(t);if(!n)return;let r={};i&&(nO(i.volume)||(r.volume=i.volume));let o=n.remoteAudioTrack;yield this._room.subscribe(o),yield this._updateAudioPlayOption({playOption:r,track:o}),this._remoteAudioConfigMap.set(t,e)}))}_stopRemoteAudio(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return ab(this,null,(function*(){let i=this._room.remotePublishedUserMap.get(e.userId);i&&(i.remoteAudioTrack.stop(),i.muteState.hasAudio&&t&&(yield this._room.unsubscribe(i.remoteAudioTrack))),this._remoteAudioConfigMap.delete(\"\".concat(e.userId))}))}_updateVideoPlayOption(e){return ab(this,arguments,(function(e){let{view:t,playOption:i,track:n,prevConfig:r}=e;return function*(){if(nO(t)&&r&&r.view&&!SO(i)){let e;e=cO(r.view)?r.view:bO(r.view),e&&(yield n.play(e,i))}if(!nO(t)){let e;e=cO(t)?t:bO(t),e?yield n.play(e,i):n.stop()}}()}))}_updateAudioPlayOption(e){return ab(this,arguments,(function(e){let{playOption:t={},track:i,prevConfig:n}=e;return function*(){if(!i.isPlayCalled)try{yield i.play(null,t)}catch(cN){}nO(t.muted)||i.setPlayerMute(t.muted),nO(t.volume)||i.setAudioVolume(t.volume/100)}()}))}_checkTrackToPublish(){var e,t,i;let n=[];if((null==(e=this._localAudioConfig)?void 0:e.publish)&&this._localAudioTrack&&n.push(this._localAudioTrack),(null==(t=this._localVideoConfig)?void 0:t.publish)&&this._localVideoTrack&&n.push(this._localVideoTrack),null!=(i=this._localScreenConfig)&&i.publish&&(this._localScreenTrack&&n.push(this._localScreenTrack),this._localScreenAudioTrack&&n.push(this._localScreenAudioTrack)),0!==n.length)return this._room.publish(...n).catch((()=>{}))}_handleReceiveMode(){this._room.autoReceiveAudio&&SP(this,this).add(vM.REMOTE_AUDIO_AVAILABLE,(e=>ab(this,[e],(function(e){var t=this;let{userId:i}=e;return function*(){if(t._remoteAudioMuteMap.get(\"*\")||t._remoteAudioMuteMap.get(i))return;let e=t._room.remotePublishedUserMap.get(i);e&&(yield t._room.subscribe(e.remoteAudioTrack).catch((()=>{})),yield t._updateAudioPlayOption({track:e.remoteAudioTrack}).catch((()=>{})),t._remoteAudioConfigMap.set(i,{userId:i}))}()})))),this._room.autoReceiveVideo&&SP(this,this).add(vM.REMOTE_VIDEO_AVAILABLE,(e=>{let{userId:t,streamType:i}=e,n=this._room.remotePublishedUserMap.get(t);n&&(\"main\"===i?this._room.subscribe(n.remoteVideoTrack).catch((()=>{})):\"sub\"===i&&this._room.subscribe(n.remoteAuxiliaryTrack).catch((()=>{})))}))}_exitRoom(){return ab(this,null,(function*(){this._room.isJoined&&(yield this._room.leave()),[...this._remoteAudioConfigMap.keys()].forEach((e=>{this._stopRemoteAudio({userId:e}).catch()})),[...this._remoteVideoConfigMap.keys()].forEach((e=>{let t=e.includes(\"main\")?\"main\":\"sub\",i=e.split(\"_\".concat(t))[0];i&&this._stopRemoteVideo({userId:i,streamType:t}).catch()})),this._remoteVideoConfigMap.clear(),this._remoteAudioConfigMap.clear(),this._remoteAudioMuteMap.clear(),this._room.remotePublishedUserMap.forEach((e=>{IP(e.remoteAudioTrack),IP(e.remoteVideoTrack),IP(e.remoteAuxiliaryTrack)})),IP(this)}))}_stopScreenShare(){return ab(this,null,(function*(){var e,t,i;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(),null==(t=this._localScreenAudioTrack)||t.stop(),null==(i=this._localScreenAudioTrack)||i.close(),IP(this._localScreenTrack),this._localScreenTrack=null,this._localScreenAudioTrack=null,this._localScreenConfig=null}}))}sendSEIMessage(e,t){this._room.sendSEI(e,t||{seiPayloadType:243})}static setLogLevel(e,t){HO.setLogLevel(e),nO(t)||(t?HO.enableUploadLog():HO.disableUploadLog())}static isSupported(){return aw()}static getCameraList(){return JP()}static getMicrophoneList(){return WP()}static getSpeakerList(){return KP()}static setCurrentSpeaker(e){return ab(this,null,(function*(){(yield KP()).forEach((t=>{t.deviceId===e&&(FM.forEach((i=>{i.setCurrentSpeaker(e),i.emit(vM.DEVICE_CHANGED,{type:\"speaker\",action:\"active\",device:t})})),BM=t)}))}))}},jM=HM;ob(jM,\"_loggerManager\",HO),ob(jM,\"EVENT\",vM),ob(jM,\"ERROR_CODE\",QL),ob(jM,\"TYPE\",qL),ob(jM,\"frameWorkType\",30),rb([CM(dM.TRTC.enterRoom),EM(\"room\",((e,t)=>{let[i]=e,[n]=t;return(i.roomId||i.strRoomId)===(n.roomId||n.strRoomId)&&i.userId===n.userId&&i.sdkAppId===n.sdkAppId})),iL((e=>function(t){return this._log.setUserId(t.userId),this._log.setSdkAppId(t.sdkAppId),e.call(this,t).catch((e=>{throw IP(this),e}))})),DM()],jM.prototype,\"enterRoom\",1),rb([DM()],jM.prototype,\"exitRoom\",1),rb([CM(dM.TRTC.switchRole),SM(\"room\",{merge:(e,t)=>t}),DM()],jM.prototype,\"switchRole\",1),rb([DM()],jM.prototype,\"destroy\",1),rb([CM(dM.TRTC.startLocalAudio),EM(\"audio\",((e,t)=>{let[i]=e,[n]=t;var r,o;return(null==(r=null==i?void 0:i.option)?void 0:r.microphoneId)===(null==(o=null==n?void 0:n.option)?void 0:o.microphoneId)})),DM()],jM.prototype,\"startLocalAudio\",1),rb([CM(dM.TRTC.updateLocalAudio),SM(\"audio\",{debounce:{delay:200,getKey:()=>\"\".concat(UM,\"-localAudio\"),isNeedToDebounce:e=>{var t;return!nO(null==(t=e.option)?void 0:t.captureVolume)}}}),DM()],jM.prototype,\"updateLocalAudio\",1),rb([IM(\"audio\"),DM()],jM.prototype,\"stopLocalAudio\",1),rb([CM(dM.TRTC.startLocalVideo),EM(\"video\",((e,t)=>{let[i]=e,[n]=t;var r,o;return(null==(r=null==i?void 0:i.option)?void 0:r.cameraId)===(null==(o=null==n?void 0:n.option)?void 0:o.cameraId)})),DM()],jM.prototype,\"startLocalVideo\",1),rb([CM(dM.TRTC.updateLocalVideo),SM(\"video\"),DM()],jM.prototype,\"updateLocalVideo\",1),rb([IM(\"video\"),DM()],jM.prototype,\"stopLocalVideo\",1),rb([CM(dM.TRTC.startScreenShare),EM(\"screen\",(()=>!0)),DM()],jM.prototype,\"startScreenShare\",1),rb([CM(dM.TRTC.updateScreenShare),SM(\"screen\"),DM()],jM.prototype,\"updateScreenShare\",1),rb([DM()],jM.prototype,\"stopScreenShare\",1),rb([CM(dM.TRTC.startRemoteVideo),EM((e=>\"v\".concat(e.userId).concat(e.streamType)),(()=>!0)),DM({getRemoteId:e=>\"\".concat(e.userId,\"_\").concat(e.streamType)})],jM.prototype,\"startRemoteVideo\",1),rb([CM(dM.TRTC.updateRemoteVideo),SM((e=>\"v\".concat(e.userId).concat(e.streamType))),DM({getRemoteId:e=>\"\".concat(e.userId,\"_\").concat(e.streamType)})],jM.prototype,\"updateRemoteVideo\",1),rb([CM(dM.TRTC.stopRemoteVideo),iL((e=>function(t){return ab(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)}))})),DM({getRemoteId:e=>\"\".concat(e.userId,\"_\").concat(e.streamType)})],jM.prototype,\"stopRemoteVideo\",1),rb([IM((e=>\"v\".concat(e.userId).concat(e.streamType)))],jM.prototype,\"_stopRemoteVideo\",1),rb([CM(...dM.TRTC.muteRemoteAudio),DM({getRemoteId:e=>e})],jM.prototype,\"muteRemoteAudio\",1),rb([bM(...dM.TRTC.setRemoteAudioVolume),function(e,t){return iL(((i,n)=>function(){for(var n=arguments.length,r=new Array(n),o=0;o0&&clearTimeout(c);let l=window.setTimeout((()=>{i.apply(this,r)}),e);RM.has(this)?null==(a=RM.get(this))||a.set(t(...r),l):RM.set(this,new Map([[t(...r),l]]))}))}(200,(e=>e)),DM({getRemoteId:e=>e})],jM.prototype,\"setRemoteAudioVolume\",1),rb([OM(\"start\"),EM(((e,t)=>e.getAlias()+e.getGroup(t))),DM({namePrefix:e=>e.getName()})],jM.prototype,\"startPlugin\",1),rb([OM(\"update\"),SM(((e,t)=>e.getAlias()+e.getGroup(t))),DM({namePrefix:e=>e.getName()})],jM.prototype,\"updatePlugin\",1),rb([OM(\"stop\"),IM(((e,t)=>e.getAlias()+e.getGroup(t))),DM({namePrefix:e=>e.getName()})],jM.prototype,\"stopPlugin\",1),rb([bM(...dM.TRTC.enableAudioVolumeEvaluation)],jM.prototype,\"enableAudioVolumeEvaluation\",1),rb([EM((e=>\"a\".concat(e.userId)),(()=>!0))],jM.prototype,\"_startRemoteAudio\",1),rb([iL((e=>function(t){return ab(this,null,(function*(){return\"*\"===t.userId?Promise.all([...this._room.remotePublishedUserMap.values()].map((e=>this._stopRemoteAudio(eb($C({},t),{userId:e.userId})).catch((()=>{}))))):e.call(this,t)}))})),IM((e=>\"a\".concat(e.userId)))],jM.prototype,\"_stopRemoteAudio\",1),rb([IM(\"room\")],jM.prototype,\"_exitRoom\",1),rb([IM(\"screen\")],jM.prototype,\"_stopScreenShare\",1),rb([CM(dM.TRTC.sendSEIMessage),function(e){let{timesInSecond:t,maxSizeInSecond:i,getSize:n}=e;return iL(((e,r)=>{let o=new Map;return xO.on(FO.ROOM_DESTROY,(e=>{let{room:t}=e;return o.delete(t)})),function(){let s=o.get(this);for(var a=arguments.length,c=new Array(a),l=0;l1e3&&(s.timestamp=Date.now(),s.callCountInSecond=0,s.totalSizeInSecond=0),n&&(s.totalSizeInSecond+=n(...c)),0!==s.timestamp&&Date.now()-s.timestamp<1e3&&(s.callCountInSecond>=t||s.totalSizeInSecond>i))throw new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.CALL_FREQUENCY_LIMIT,data:{isTimes:s.callCountInSecond>=t,isSize:s.totalSizeInSecond>i,name:r,timesInSecond:t,maxSizeInSecond:i}})});s.callCountInSecond++,e.call(this,...c)}}))}({timesInSecond:30,maxSizeInSecond:8e3,getSize:function(){for(var e=arguments.length,t=new Array(e),i=0;i0&&this.room.enableSPC&&(this.keepAlive=!0,NV.add(this)),this.url=e.url,this.backupUrl=e.backupUrl,this._seq=0,this._log=HO.createLogger({id:\"ws\",userId:this.userId,sdkAppId:this.sdkAppId})}get urlParam(){return\"?sdkAppId=\".concat(encodeURIComponent(this.sdkAppId),\"&userId=\").concat(encodeURIComponent(this.userId),\"&userSig=\").concat(encodeURIComponent(this.userSig),\"&keepAlive=\").concat(encodeURIComponent(Number(this.keepAlive)))}get _urlWithParam(){return\"\".concat(this.url).concat(this.urlParam)}get _backupUrlWithParam(){return\"\".concat(this.backupUrl).concat(this.urlParam)}get isConnected(){return this._currentState===eV}get isConnecting(){return this._currentState===$M}get sdkAppId(){return this.room.sdkAppId}get userId(){return this.room.userId}get userSig(){return this.room.userSig}get isOnline(){return this._currentState===eV&&Date.now()-this._lastMessageTime<12e3}connect(e){return this.isConnected?Promise.resolve():new Promise(((t,i)=>{this._prevTime<0&&(this._prevTime=fO()),this._log.info(\"connect to \".concat(this.url).concat(e?\" timeout: \".concat(e):\"\",\" keepAlive: \").concat(Number(this.keepAlive))),this.emitConnectionStateChanged($M),this._socket=new WebSocket(this._urlWithParam),this.bindSocket(this._socket),this._backupTimer=setTimeout((()=>{this.isConnected||(this._log.info(\"trying to connect to backupUrl\"),this.tryConnectBackup())}),5e3);let n=-1;e&&(n=setTimeout((()=>{this.close(),i(new gb({code:mb.JOIN_ROOM_FAILED,message:\"join room timeout\"}))}),e)),this.once(QM,(()=>{clearTimeout(n),t()})),this.once(XM,(e=>{clearTimeout(n),i(e)}))}))}tryConnectBackup(){this._backupSocket||(this.unbindAndCloseSocket(LN.MAIN),this._log.debug(\"try to connect to url: \".concat(this._backupUrlWithParam)),this._backupSocket=new WebSocket(this._backupUrlWithParam),this.bindSocket(this._backupSocket))}bindSocket(e){e.onopen=this.onopen.bind(this),e.onclose=this.onclose.bind(this),e.onerror=this.onerror.bind(this),e.onmessage=this.onmessage.bind(this)}unbindSocket(e){this.clearBackupTimer(),e.onopen=()=>{},e.onclose=()=>{},e.onerror=()=>{},e.onmessage=()=>{}}unbindAndCloseSocket(e){if(e===LN.MAIN){if(this._socket){this.unbindSocket(this._socket);try{this._socket.close(1e3)}catch(sD){}this._socket=null}}else if(this._backupSocket){this.unbindSocket(this._backupSocket);try{this._backupSocket.close(1e3)}catch(sD){}this._backupSocket=null}}clearBackupTimer(){-1!==this._backupTimer&&(clearTimeout(this._backupTimer),this._backupTimer=-1)}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}onopen(e){this.isConnected||(this.isReconnecting&&!this._signalInfo.tinyId&&this.stopReconnection(),this.clearBackupTimer(),e.target===this._socket?(this.unbindAndCloseSocket(LN.BACKUP),this._socketInUse=this._socket):(this.unbindAndCloseSocket(LN.MAIN),this._socketInUse=this._backupSocket),this.emitConnectionStateChanged(eV),this.emit(QM))}onclose(e){let{url:t}=e.target,i=e.target===this._socketInUse;if(this._log.info(\"websocket[\".concat(t,\" InUse: \").concat(i,\"] is closed with code: \").concat(e.code)),i&&(this.emitConnectionStateChanged(ZM),!e.wasClean||1e3!==e.code)){this._log.warn(\"onclose code:\".concat(e.code,\" reason:\").concat(e.reason)),this._log.warn(\"close current websocket and schedule a reconnect timeout\"),this._socketInUse.onclose=()=>{},this._socketInUse.close(4011);let t=this._socketInUse===this._socket;this._socket=null,this._backupSocket=null,this._socketInUse=null,this.reconnect(t?LN.BACKUP:LN.MAIN)}}onerror(e){let{url:t}=e.target;if(this._log.error(\"websocket[\".concat(t,\"] error observed\")),this.isConnected){if(e.target===this._socketInUse){this.unbindAndCloseSocket(LN.MAIN),this.unbindAndCloseSocket(LN.BACKUP);let e=this._socketInUse===this._socket;this._socketInUse=null,this.reconnect(e?LN.BACKUP:LN.MAIN)}}else this.isReconnecting||xO.emit(FO.API_SUCCESS_RATE,{room:this.room,apiName:\"WebsocketConnect\",error:new Error(\"ws onerror\")}),e.target==this._socket?(this.unbindAndCloseSocket(LN.MAIN),this.reconnect(LN.BACKUP)):(this.unbindAndCloseSocket(LN.BACKUP),this.reconnect(LN.MAIN))}onmessage(e){if(!this.isConnected)return;this._lastMessageTime=Date.now(),this.bytesReceived+=wO(e.data);let t=JSON.parse(e.data),{cmd:i,data:n}=t,r=Object.values(tV),o=Object.keys(tV)[r.indexOf(i)],s=nV[o];switch(iV.includes(i)||(this._log.debug(\"received \".concat(i,\" msg: \").concat(e.data)),s&&this._log.info(\"Received event: [ \".concat(s,\" ]\"))),i){case tV.CHANNEL_SETUP_RESULT:if(0===t.code)this._signalInfo.clientIp=n.clientIp,this._signalInfo.signalIp=n.signalInnerIp,this._signalInfo.tinyId=t.tinyId,n.svrTime&&function(e){Tb=e-(new Date).getTime();let t=new Date;t.setTime(e),HO.info(\"baseTime from server: \".concat(t,\" offset: \").concat(Tb))}(n.svrTime),this._log.info(\"ChannelSetup Success\"),xO.emit(FO.API_SUCCESS_RATE,{room:this.room,apiName:\"WebsocketConnect\",cost:fO()-this._prevTime}),this._prevTime=-1,this.emit(YM,{signalInfo:this._signalInfo});else{let e=new gb({code:mb.SIGNAL_CHANNEL_SETUP_FAILED,extraCode:t.code,message:qO({key:JO.SIGNAL_CHANNEL_SETUP_FAILED,data:{errorCode:t.code,errorMsg:t.message}})});this._log.error(\"\".concat(t.code,\", \").concat(t.message)),this.close(),xO.emit(FO.API_SUCCESS_RATE,{room:this.room,apiName:\"WebsocketConnect\",error:e}),this.emit(zM,e)}break;case tV.JOIN_ROOM_RESULT:0===t.code&&(this._signalInfo.relayIp=n.relayOuterIp,this._signalInfo.relayInnerIp=n.relayInnerIp,this._signalInfo.relayPort=n.relayPort,this._log.info(\"signalIp:\".concat(this._signalInfo.signalIp,\" clientIp:\").concat(this._signalInfo.clientIp,\" relayIp: \").concat(this._signalInfo.relayIp))),this.emit(s,{data:t});break;case tV.CHANNEL_RECONNECT_RESULT:0===t.code?(this._log.warn(\"reconnect success\"),this.stopReconnection(),xO.emit(FO.API_SUCCESS_RATE,{room:this.room,apiName:\"WebsocketReconnect\",cost:fO()-this._prevTime}),this._prevTime=-1,this.room.syncUserList(),this.room.checkConnectionsToReconnect()):(this._log.warn(\"reconnect failed, \".concat(t.code,\" \").concat(t.message)),this.room.reJoin());break;default:this.emit(s,{data:t})}}reconnect(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:LN.MAIN;if(!this.room.isJoined&&this.keepAlive)return void this.close();if(this.isReconnecting)return;if(this._reconnectionCount>=aD){this._log.warn(\"SDK has tried reconnect signal channel for \".concat(aD,\" times, but all failed. please check your network\"));let e=new gb({code:mb.SIGNAL_CHANNEL_RECONNECTION_FAILED,message:qO({key:JO.SIGNAL_CHANNEL_RECONNECTION_FAILED})});return xO.emit(FO.API_SUCCESS_RATE,{room:this.room,apiName:\"WebsocketReconnect\",error:e}),void this.emit(XM,e)}this._reconnectionCount++,this._log.warn(\"reconnect \".concat(e,\" [\").concat(this._reconnectionCount,\"/\").concat(aD,\"]\"));let t=this.getReconnectionUrl(e);this.emitConnectionStateChanged($M),this._prevTime<0&&(this._prevTime=fO()),e===LN.MAIN?(this._socket=new WebSocket(t),this.bindSocket(this._socket)):(this._backupSocket=new WebSocket(t),this.bindSocket(this._backupSocket));let i=eO(this._reconnectionCount);this._reconnectionTimer=setTimeout((()=>{this._log.warn(\"reconnect \".concat(e,\" timeout(\").concat(i/1e3,\"s), try again\")),this.clearReconnectionTimer(),this.unbindAndCloseSocket(LN.MAIN),this.unbindAndCloseSocket(LN.BACKUP),this.reconnect(e===LN.MAIN?LN.BACKUP:LN.MAIN)}),i)}get isReconnecting(){return-1!==this._reconnectionTimer}getReconnectionUrl(e){let t=e===LN.MAIN?this._urlWithParam:this._backupUrlWithParam;if(this._signalInfo.tinyId&&-1===t.indexOf(\"&rc=1\")){let{roomId:e,useStringRoomId:i}=this.room;t+=\"&rc=1&relayInnerIp=\".concat(this._signalInfo.relayInnerIp,\"&relayOuterIp=\").concat(this._signalInfo.relayIp,\"&relayPort=\").concat(this._signalInfo.relayPort,\"&roomId=\").concat(e,\"&useStringRoomId=\").concat(i)}return t}send(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.isConnected&&!this.room.isLeft){let i={cmd:e,data:t,userId:this.userId,tinyId:this._signalInfo.tinyId,seq:++this._seq},n=JSON.stringify(i);return this._socketInUse.send(n),this.bytesSent+=wO(n),i.seq}}sendWaitForResponse(e){let{command:t,data:i,timeout:n=5e3,responseCommand:r,commandDesc:o,enableLog:s=!0}=e;return new Promise(((e,a)=>{let c=setTimeout((()=>{this.off(r,l);let e=new gb({code:mb.API_CALL_TIMEOUT,message:qO({key:JO.API_CALL_TIMEOUT,data:{commandDesc:o,command:t}})});s&&this._log.warn(e),a(e)}),n),l=t=>{t.data.seq===d&&(clearTimeout(c),this.off(r,l),e(t))};this.on(r,l);let d=this.send(t,i)}))}sendWaitForResponseWithRetry(e){let{commandDesc:t,command:i,retries:n=0,retryTimeout:r=0}=e;return MO({retryFunction:this.sendWaitForResponse,onRetrying:e=>{this._log.warn(\"\".concat(t||i,\" timeout observed, retrying [\").concat(e,\"/\").concat(n,\"]\"))},settings:{retries:n,timeout:r},context:this})(e)}getCurrentState(){return this._currentState}getSignalInfo(){return this._signalInfo}stopReconnection(){this.isReconnecting&&(this._reconnectionCount=0,this.clearReconnectionTimer())}close(){this._log.info(\"closed\"),NV.delete(this),this.clearBackupTimer(),this.stopReconnection(),this._signalInfo={tinyId:void 0,clientIp:\"\",signalIp:\"\",relayIp:\"\",relayInnerIp:\"\",relayPort:0},this._socketInUse=null,this.bytesSent=0,this.bytesReceived=0,this.unbindAndCloseSocket(LN.MAIN),this.unbindAndCloseSocket(LN.BACKUP),this.emitConnectionStateChanged(ZM)}stopKeepAliveIn(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:3600;if(this.keepAlive){this._log.info(\"stopKeepAlive in \".concat(e,\"s\"));let t=setTimeout((()=>{this.keepAlive=!1,this._log.info(\"close due to not used \".concat(e,\"s\")),this.close()}),1e3*e),i=e=>{e instanceof xw&&\"join\"===e.action&&(this._log.info(\"stopKeepAlive clear timeout\"),clearTimeout(t),this.room.off(Gw.STATECHANGED,i))};this.room.on(Gw.STATECHANGED,i)}}emitConnectionStateChanged(e){e!==this._currentState&&(this._log.info(\"\".concat(this._currentState,\" -> \").concat(e)),this.emit(qM,{prevState:this._currentState,state:e}),this._currentState=e)}},OV=nb(cb()),wV=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,i=[],n=0;for(let o=e;o<=t;o++){let e=this.dataView.getInt8(o);switch(e){case 0:case 1:case 2:case 3:2===n&&(i.push(3),n=0),0==e?n++:n=0,i.push(e);break;default:n=0,i.push(e)}}i.push(this.dataView.getInt8(this.dataView.byteLength-1));let r=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...i]).buffer);this.dataView=r}removePreventionByte(){let e=this.seiPayloadStartIndex,t=this.dataView.byteLength-1,i=[],n=0;for(let o=e;o<=t;o++)switch(this.dataView.getInt8(o)){case 0:n++,i.push(this.dataView.getInt8(o));break;case 3:2!==n&&i.push(this.dataView.getInt8(o)),n=0;break;default:i.push(this.dataView.getInt8(o)),n=0}let r=new DataView(new Uint8Array([...new Uint8Array(this.dataView.buffer).slice(0,e),...i]).buffer);this.dataView=r}get isSEI(){return 6===this.dataView.getUint8(4)}get seiPayloadStartIndex(){let e=6;for(let t=6;t{}))}restart(e){this.stop(),this.start(e)}stop(){var e;null==(e=this._mainVideoAbortController)||e.abort(),this._mainVideoAbortController=null}destroy(){this.stop(),this._abortMap.forEach((e=>e.abort())),this._abortMap.clear(),this._log=null,this.onSEIMessage=null,this._mainVideoSenderOrReceiver=null,this._connection=null}handleEncodedStreams(){try{let e=this._connection.getPeerConnection();this.clearUnusedSenderOrReceiver(e),this._isUplink?e.getSenders().forEach(((e,t)=>{if(1===t){if(e===this._mainVideoSenderOrReceiver)return;this.isRunning?this.restart(e):this.start(e)}else{if(this._abortMap.has(e))return;this.pipeSenderOrReceiver(e)}})):e.getReceivers().forEach(((e,t)=>{var i;this._abortMap.has(e)||e===this._mainVideoSenderOrReceiver||(1===t&&(null==(i=e.track)?void 0:i.kind)===LN.VIDEO?this.isRunning?this.restart(e):this.start(e):this.pipeSenderOrReceiver(e))}))}catch(HL){this._log.warn(HL)}}pipeSenderOrReceiver(e){let{readable:t,writable:i}=e.createEncodedStreams(),n=new AbortController;this._abortMap.set(e,n),t.pipeTo(i,n).catch((()=>{}))}clearUnusedSenderOrReceiver(e){this._abortMap.forEach(((t,i)=>{(this._isUplink?e.getSenders():e.getReceivers()).find((e=>e===i))||(t.abort(),this._abortMap.delete(i))}))}push(e,t){t&&t.seiPayloadType&&(this._seiPayloadType=t.seiPayloadType),this._seiMessageList.push(e)}hasSEI(e){let t=new DataView(e);return 1===t.getInt32(0)&&6===t.getInt8(4)}isEmptyFrame(e){return\"empty\"===e.type||0===e.data.byteLength}getNaluCount(e){let t=0,i=0,n=new DataView(e);for(let r=0;r0&&!this.isEmptyFrame(e)){let t=9-this.getNaluCount(e.data);if(t<=0)return;let i=this._seiMessageList.splice(0,t).reverse().map(this.encodeSEINalu.bind(this)),n=i.reduce(((e,t)=>e+t.dataView.byteLength),0),r=new ArrayBuffer(n+e.data.byteLength),o=new DataView(r),s=new DataView(e.data),a=0;for(let e=0;e{this.onSEIMessage({seiPayloadType:e.seiPayloadType,data:e.seiPayload.buffer})}))}}catch(sD){this._log.warn(sD)}t.enqueue(e)}encodeSEINalu(e){let t=e.byteLength,i=parseInt(t/255),n=t%255,r=[];r.push(0,0,0,1,6,this._seiPayloadType);for(let s=0;s=3&&xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:\"PeerConnectionReconnect\",error:sN}),sN}}))}initialize(){let e={encodedInsertableStreams:this._enableSEI&&kw,iceServers:this._room.getIceServers(),iceTransportPolicy:this._room.getIceTransportPolicy(),sdpSemantics:this._sdpSemantics,bundlePolicy:\"max-bundle\",rtcpMuxPolicy:\"require\",tcpCandidatePolicy:\"disable\",IceTransportsType:\"nohost\"};this._peerConnection=new RTCPeerConnection(e),this._peerConnection.onconnectionstatechange=this.onConnectionStateChange.bind(this)}close(e){this._log.info(\"close connection\"),this._emitter.emit(\"closed\",e),this._isReconnecting&&this.stopReconnection(),this.closePeerConnection(),this._sei&&(this._sei.destroy(),this._sei=null),VV.delete(this)}closePeerConnection(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this._peerConnection&&(this._log.info(\"close pc\"),this._peerConnection.onconnectionstatechange=null,this._peerConnection.close(),this._peerConnection=null,e&&this.emitConnectionStateChangedEvent(\"DISCONNECTED\")),this._waitForPeerConnectionConnectedPromiseReject&&this._waitForPeerConnectionConnectedPromiseReject(new gb({code:mb.API_CALL_ABORTED,message:\"connection closed\"}))}getDTLSTransportState(){if(!this._peerConnection)return tD;let e=null;if(this._isUplink){if(!Ew()||0===this._peerConnection.getSenders().length)return tD;e=this._peerConnection.getSenders()[0].transport}else{if(!Tw()||0===this._peerConnection.getReceivers().length)return tD;e=this._peerConnection.getReceivers()[0].transport}return e?e.state:tD}onConnectionStateChange(e){let t=this._peerConnection.iceConnectionState,i=this.getDTLSTransportState();if(this._log.info(\"connectionState: \".concat(e.target.connectionState,\", ICE: \").concat(t,\", DTLS: \").concat(i)),e.target.connectionState===iD.CONNECTING&&this.emitConnectionStateChangedEvent(\"CONNECTING\"),e.target.connectionState===iD.FAILED||e.target.connectionState===iD.CLOSED){let n=\"connection \".concat(e.target.connectionState,\". ICE Transport state: \").concat(t,\", DTLS Transport state: \").concat(i),r=new gb({message:n,code:mb.ICE_TRANSPORT_ERROR});this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this.startReconnection(),this._isErrorObserved||this._emitter.emit(\"error\",r)}(e.target.connectionState===iD.CONNECTED||e.target.connectionState===iD.COMPLETED)&&(this.logSelectedCandidate(),Qw.logSuccessEvent({userId:this._room.userId,eventType:cD.ICE_CONNECTION_STATE}),this.emitConnectionStateChangedEvent(\"CONNECTED\"))}emitConnectionStateChangedEvent(e){return e!==this._currentState&&(\"CONNECTED\"===e?(LV=0,MV=!1,xV=!0,VV.add(this)):VV.delete(this),xO.emit(FO.PEER_CONNECTION_STATE_CHANGED,{room:this._room,prevState:this._currentState,state:e,remoteUserId:this._isUplink?void 0:this.userId}),this._emitter.emit(\"connection-state-changed\",{prevState:this._currentState,state:e}),this._currentState=e,!0)}getPeerConnection(){return this._peerConnection}getRoom(){return this._room}getUserId(){return this.userId}getTinyId(){return this.tinyId}logSelectedCandidate(){return ab(this,null,(function*(){if(!this._peerConnection)return;let e=yield this._peerConnection.getStats();for(let[,t]of e)if(uw(t)){let i=e.get(t.localCandidateId),n=e.get(t.remoteCandidateId);i&&(this._log.info(\"local candidate: \".concat(i.candidateType,\" \").concat(i.protocol,\":\").concat(i.ip||i.address,\":\").concat(i.port,\" \").concat(i.networkType||\"\",\" \").concat(\"relay\"===i.candidateType?\"relayProtocol:\".concat(i.relayProtocol):\"\")),this._localAddress=\"\".concat(i.ip||i.address,\":\").concat(i.port)),n&&(this._log.info(\"remote candidate: \".concat(n.candidateType,\" \").concat(n.protocol,\":\").concat(n.ip||n.address,\":\").concat(n.port)),this._remoteAddress=\"\".concat(n.protocol,\":\").concat(n.ip||n.address));break}}))}getCurrentState(){return this._currentState}waitForPeerConnectionConnected(){return this._waitForPeerConnectionConnectedPromise||(this._waitForPeerConnectionConnectedPromise=new Promise(((e,t)=>{if(\"CONNECTED\"===this._currentState)return e();this._waitForPeerConnectionConnectedPromiseReject=t;let i=t=>{\"CONNECTED\"===t.state&&(clearTimeout(o),r(),e())},n=e=>{let{room:i}=e;i===this._room&&(clearTimeout(o),r(),t(new gb({code:mb.API_CALL_ABORTED,message:qO({key:JO.CONNECTION_ABORTED,data:\"leave room\"})})))},r=()=>{xO.off(FO.LEAVE_SUCCESS,n,this),this._emitter.off(\"connection-state-changed\",i,this)},o=setTimeout((()=>{r();let e=new gb({code:mb.API_CALL_TIMEOUT,message:\"connection timeout\"});LV+=1,(e=>LV>2&&!MV&&0===VV.size&&e)(this._signalChannel.isConnected)&&(this._log.warn(\"firewall restrition\"),MV=!0,this._emitter.emit(\"firewall-restriction\")),t(e)}),SD);xO.on(FO.LEAVE_SUCCESS,n,this),this._emitter.on(\"connection-state-changed\",i,this)})),this._waitForPeerConnectionConnectedPromise=this._waitForPeerConnectionConnectedPromise.finally((()=>{this._waitForPeerConnectionConnectedPromise=null,this._waitForPeerConnectionConnectedPromiseReject=null}))),this._waitForPeerConnectionConnectedPromise}getReconnectionCount(){return this._reconnectionCount}startReconnection(){this._isReconnecting=!0,this.reconnect()}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}stopReconnection(){this._log.info(\"stop reconnection\"),this._isReconnecting=!1,this._reconnectionCount=0,this.clearReconnectionTimer(),this._signalChannel.off(QM,this.reconnect,this)}beforeReconnect(){if(-1!==this._reconnectionTimer)return this._log.warn(\"reconnect() is reconnecting, ignore\"),-1;if(this._reconnectionCount>=oD()){this._log.warn(\"SDK has tried reconnect for \".concat(this._reconnectionCount,\" times, but all failed, please check your network\")),this.stopReconnection();let e=new gb({code:this._isUplink?mb.UPLINK_RECONNECTION_FAILED:mb.DOWNLINK_RECONNECTION_FAILED,message:qO({key:this._isUplink?JO.UPLINK_RECONNECTION_FAILED:JO.DOWNLINK_RECONNECTION_FAILED})});return this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this._emitter.emit(\"error\",e),-1}return this._signalChannel.isConnected?(this._reconnectionCount+=1,this._log.warn(\"reconnect() trying [\".concat(this._reconnectionCount,\"]\")),1):(this._log.warn(\"reconnect() signal channel is not connected, suspend reconnection until signal is connected\"),this._signalChannel.once(QM,this.reconnect,this),-1)}on(e,t,i){this._emitter.on(e,t,i)}off(e,t,i){this._emitter.off(e,t,i)}getIsReconnecting(){return this._isReconnecting}get isH264(){var e,t;return!(null==(t=null==(e=this._peerConnection)?void 0:e.remoteDescription)||!t.sdp.includes(\"H264\"))}},FV=nb(hb()),BV=function(e){return FV.default.parse(e)},HV=function(e){return FV.default.write(e)};function jV(e){return Object.keys(e).filter((t=>e[t]))}var GV=class extends UV{constructor(e){super(eb($C({},e),{isUplink:!1})),ob(this,\"_flag\",0),ob(this,\"role\",\"anchor\"),ob(this,\"remoteAudioTrack\"),ob(this,\"remoteVideoTrack\"),ob(this,\"remoteAuxiliaryTrack\"),ob(this,\"ssrc\",{audio:0,video:0,auxiliary:0}),ob(this,\"_isSDPExchanging\",!1),this.flag=e.flag,this.remoteAudioTrack=e.remoteAudioTrack||new RL(this._room,this),this.remoteVideoTrack=e.remoteVideoTrack||new CL(this._room,this),this.remoteAuxiliaryTrack=e.remoteAuxiliaryTrack||new bL(this._room,this)}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 IO(this.flag,this.userId)}get flag(){return this._flag}set flag(e){var t,i,n;e!==this._flag&&(this._flag=e,null==(t=this.remoteAudioTrack)||t.onFlagChanged(),null==(i=this.remoteVideoTrack)||i.onFlagChanged(),null==(n=this.remoteAuxiliaryTrack)||n.onFlagChanged())}get hasMainStream(){return this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall}get hasAuxStream(){return this.muteState.hasAuxiliary}get isMainStreamSubscribed(){return(this.subscribeState.audio||this.subscribeState.video||this.subscribeState.smallVideo)&&(this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall)}get isAuxStreamSubscribed(){return this.subscribeState.auxiliary&&this.muteState.hasAuxiliary}get isSmallStreamSubscribed(){return this.subscribeState.smallVideo&&this.muteState.hasSmall}get isBigStreamSubscribed(){return this.subscribeState.video&&this.muteState.hasVideo}isStreamUnpublished(e){return e===LN.MAIN?!this.muteState.hasAudio&&!this.muteState.hasVideo:!this.muteState.hasAuxiliary}initialize(){super.initialize(),this.installEvents(),this._peerConnection.ontrack=this.onTrack.bind(this)}close(e){super.close(e),this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this.remoteAudioTrack.close(),this.remoteVideoTrack.close(),this.remoteAuxiliaryTrack.close(),this.uninstallEvents()}installEvents(){}uninstallEvents(){this._emitter.removeAllListeners()}emitConnectionStateChangedEvent(e){var t,i;let n=this._currentState,r=super.emitConnectionStateChangedEvent(e);return r&&n!==e&&(null==(t=this.remoteVideoTrack)||t.emit(\"connection-state-changed\",{prevState:n,state:e}),null==(i=this.remoteAuxiliaryTrack)||i.emit(\"connection-state-changed\",{prevState:n,state:e})),r}onTrack(e){let t=e.streams[0],{track:i}=e,n=t.id===WN?LN.MAIN:LN.AUXILIARY;this._log.debug(\"ontrack \".concat(n,\" \").concat(i.kind));let r=LN.AUDIO;i.kind===LN.VIDEO&&(r=n===LN.MAIN?LN.VIDEO:LN.AUXILIARY);let o=this.remoteAudioTrack;r===LN.VIDEO?o=this.remoteVideoTrack:r===LN.AUXILIARY&&(o=this.remoteAuxiliaryTrack),o.setInputMediaStreamTrack(i)}addRRTRLine(e){let t=e.split(\"\\r\\n\"),i=new Map;t.forEach(((e,n)=>{/^a=rtcp-fb:/.test(e)&&t[n+1]&&!/^a=rtcp-fb:/.test(t[n+1])&&i.set(n+1,\"\".concat(e.match(/^a=rtcp-fb:\\d+/)[0],\" rrtr\"))}));let n=[...i];for(let r=0;r{e.type===LN.VIDEO&&e.fmtp.forEach((e=>{e.config+=\";sps-pps-idr-in-keyframe=1\"}))})),HV(t)}removeSDESDescription(e){let t=[\"urn:ietf:params:rtp-hdrext:sdes:mid\",\"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\",\"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\"],i=BV(e);return i.media.forEach((e=>{!e.ext||(e.ext=e.ext.filter((e=>!t.includes(e.uri))))})),HV(i)}isSubscriptionStateNotChanged(e){return JSON.stringify(e)===JSON.stringify(this.subscribeState)}subscribe(e,t){return ab(this,null,(function*(){var i,n;try{if(((null==(i=this._peerConnection)?void 0:i.connectionState)===iD.NEW||(null==(n=this._peerConnection)?void 0:n.connectionState)===iD.CONNECTING)&&(yield this.waitForPeerConnectionConnected()),this.isSubscriptionStateNotChanged(e))return void(this._peerConnection||(this.initialize(),yield this.connect(e)));if(this._log.info(\"subscribe \".concat(t,\" \").concat(JSON.stringify(e))),this._peerConnection||this._isSDPExchanging){let t=\"subscribe_change\";Object.values(e).find((e=>!0===e))||(t=\"unsubscribe\"),yield this.sendSubscription(t,e)}else this.initialize(),yield this.connect(e)}catch(cN){throw this._room.isJoined&&this.isStreamUnpublished(t)?(this._log.warn(\"\".concat(cN.message,\" \").concat(JSON.stringify(this.muteState))),new gb({code:mb.REMOTE_STREAM_NOT_EXIST,message:\"remote user \".concat(this.userId,\" unpublished stream\")})):cN}}))}unsubscribe(e){return ab(this,arguments,(function(e){var t=this;let{remoteTracks:i,streamType:n}=e;return function*(){if(\"CONNECTED\"===t._currentState&&(\"main\"===n&&!t.isMainStreamSubscribed||\"auxiliary\"===n&&!t.isAuxStreamSubscribed))return void t._log.info(\"\".concat(n,\" stream already unsubscribed\"));let e=$C({},t.subscribeState);i.forEach((t=>{switch(t.mediaType){case 1:e.audio=!1;break;case 4:e.video=!1;break;case 8:e.smallVideo=!1;break;case 2:e.auxiliary=!1}}));let r=\"subscribe_change\";Object.values(e).find((e=>!0===e))||(r=\"unsubscribe\"),t._log.info(\"\".concat(\"unsubscribe\"===r?r:\"subscribe\",\" \").concat(n,\" [\").concat(jV(e),\"]\")),yield t.sendSubscription(r,e),\"unsubscribe\"===r&&(t.closePeerConnection(),t.emitConnectionStateChangedEvent(\"DISCONNECTED\"))}()}))}sendSubscription(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscribeState,i={srcTinyId:this.tinyId,srcUserId:this.userId},n=pV,r=nV.UNSUBSCRIBE_RESULT;return\"subscribe_change\"===e&&(i={audio:t.audio,bigVideo:t.video,auxVideo:t.auxiliary,smallVideo:t.smallVideo,srcTinyId:this.tinyId},n=_V,r=nV.SUBSCRIBE_CHANGE_RESULT),this._signalChannel.sendWaitForResponse({command:n,data:i,responseCommand:r,timeout:1e4}).then((t=>{let{data:i}=t;if(0!==i.code){let t=new gb({code:i.code,message:qO({key:JO.ERROR_MESSAGE,data:{type:e,message:i.message}})});throw this._log.error(t),t}}))}connect(){return ab(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.subscribeState;return function*(){try{yield e.exchangeSDP(t),yield e.waitForPeerConnectionConnected()}catch(sD){throw e.closePeerConnection(!0),sD}}()}))}exchangeSDP(e){return ab(this,null,(function*(){try{this._isSDPExchanging=!0,yield this.createOffer(),this._log.info(\"createOffer success, sending offer\");let{type:t,sdp:i}=this._peerConnection.localDescription,n={type:t,sdp:i,srcUserId:this.userId,srcTinyId:this.tinyId,audio:e.audio,bigVideo:e.video,auxVideo:e.auxiliary,smallVideo:e.smallVideo},r=yield this._signalChannel.sendWaitForResponse({command:hV,commandDesc:\"exchange sdp\",data:n,responseCommand:nV.SUBSCRIBE_RESULT,timeout:uD});if(!this._peerConnection){let e=new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.CONNECTION_CLOSED})});throw this._log.warn(e),e}yield this.onSubscribeResult(r),this._isSDPExchanging=!1}catch(sD){throw this._isSDPExchanging=!1,sD}}))}createOffer(){return ab(this,null,(function*(){let e={voiceActivityDetection:!1};Iw()&&this._sdpSemantics===hD?(this._peerConnection.addTransceiver(LN.AUDIO,{direction:MN.RECVONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:MN.RECVONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:MN.RECVONLY})):(e.offerToReceiveAudio=!0,e.offerToReceiveVideo=!0);let t=yield this._peerConnection.createOffer(e);if(t.sdp){let{isH264DecodeSupported:e}=yield sw();e||(this._log.warn(\"remove h264 desc from sdp\"),t.sdp=function(e){let t=BV(e);return t.media.forEach((e=>{var t,i;if(e.type===LN.VIDEO){let n=new Set;e.rtp.forEach((e=>{let{payload:t,codec:i}=e;return\"H264\"===i&&n.add(t)})),e.fmtp.forEach((e=>{let{payload:t,config:i}=e,r=i.match(/apt=(\\d+)/);r&&r[1]&&n.has(Number(r[1]))&&n.add(t)}));let r=e=>{let{payload:t}=e;return!n.has(t)};e.rtp=e.rtp.filter(r),e.rtcpFb=null==(t=e.rtcpFb)?void 0:t.filter(r),e.fmtp=e.fmtp.filter(r),e.payloads=null==(i=e.payloads)?void 0:i.split(\" \").filter((e=>!n.has(Number(e)))).join(\" \")}})),HV(t)}(t.sdp)),t.sdp=this.addRRTRLine(t.sdp),t.sdp=this.addSPSDescription(t.sdp),t.sdp=function(e){let t=BV(e);return t.media.forEach((e=>{e.type===LN.AUDIO&&e.fmtp.forEach((e=>{e.config+=\";sprop-stereo=1;stereo=1\"}))})),HV(t)}(t.sdp),this._sdpSemantics===hD&&(t.sdp=this.removeSDESDescription(t.sdp))}yield this._peerConnection.setLocalDescription(t)}))}onSubscribeResult(e){return ab(this,null,(function*(){let{code:t,message:i=\"\"}=e&&e.data||{},{type:n,sdp:r}=e&&e.data&&e.data.data||{};if(t===_D)throw new gb({code:mb.NOT_SUPPORTED_H264,message:qO({key:JO.NOT_SUPPORTED_H264DECODE})});try{if(0!==t)throw new gb({code:t,message:qO({key:JO.EXCHANGE_SDP_FAILED,data:{errMsg:i}})});this._log.debug(\"accept remote answer: \".concat(r)),yield this._peerConnection.setRemoteDescription({type:n,sdp:r}),this._sei&&(this._sei.handleEncodedStreams(),this._sei.onSEIMessage=e=>{this._emitter.emit(\"sei-message\",eb($C({},e),{userId:this.userId}))}),this.updateSSRC(r)}catch(qx){throw this._log.error(qx),qx}}))}updateSSRC(e){try{BV(e).media.forEach((e=>{if(e.ssrcs)if(e.type===LN.AUDIO){let t=e.ssrcs.find((e=>{var t;return null==(t=e.value)?void 0:t.includes(WN)}));t&&(this.ssrc.audio=Number(t.id))}else{let t=e.ssrcs.find((e=>{var t;return null==(t=e.value)?void 0:t.includes(WN)})),i=e.ssrcs.find((e=>{var t;return null==(t=e.value)?void 0:t.includes(JN)}));t&&(this.ssrc.video=Number(t.id)),i&&(this.ssrc.auxiliary=Number(i.id))}}))}catch(sD){}}getMainStreamVideoTrackId(){return this.remoteVideoTrack&&this.remoteVideoTrack.mediaTrack?this.remoteVideoTrack.mediaTrack.id:\"\"}getAuxStreamVideoTrackId(){return this.remoteAuxiliaryTrack&&this.remoteAuxiliaryTrack.mediaTrack?this.remoteAuxiliaryTrack.mediaTrack.id:\"\"}reconnect(){return ab(this,null,(function*(){if(!(sb(GV.prototype,this,\"beforeReconnect\").call(this)<0))try{this.closePeerConnection(),this.initialize(),yield this.connect(),this.stopReconnection(),this._log.warn(\"reconnect() success\")}catch(sD){let t=eO(this._reconnectionCount);this._log.warn(\"reconnect() timeout, try again after \".concat(t/1e3,\"s\")),this._reconnectionTimer=setTimeout((()=>{this.clearReconnectionTimer(),this.reconnect()}),t)}}))}getIsReconnecting(){return this._isReconnecting}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}getCurrentState(){return this._currentState}setDelay(e){let{audioDelay:t,videoDelay:i}=e;this.remoteAudioTrack.stat.end2EndDelay=t,this.remoteVideoTrack.stat.end2EndDelay=i}},WV=GV;rb([iL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{let r=e=>{this._emitter.off(\"closed\",r),n(new gb({code:mb.API_CALL_ABORTED,message:qO({key:JO.CONNECTION_ABORTED,data:e})}))};this._emitter.on(\"closed\",r),e.apply(this,i).then(t,n).finally((()=>{this._emitter.off(\"closed\",r)}))}))}))],WV.prototype,\"subscribe\",1),rb([tL(UV.prototype.afterConnect),eL(UV.prototype.beforeConnect)],WV.prototype,\"connect\",1);var JV=WV,KV={voiceActivityDetection:!1},YV=class extends UV{constructor(e){super(eb($C({},e),{isUplink:!0})),ob(this,\"localMainAudioTrack\",null),ob(this,\"localMainVideoTrack\",null),ob(this,\"localAuxAudioTrack\",null),ob(this,\"localAuxVideoTrack\",null),ob(this,\"ssrc\",{audio:0,video:0,small:0,auxiliary:0}),ob(this,\"_isPublishingAux\",!1),ob(this,\"_publishingLocalAudioTrack\"),ob(this,\"_publishingLocalVideoTrack\"),ob(this,\"_mediaSettings\",{videoCodec:\"\",videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioCodec:\"opus\",audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0,auxVideoWidth:0,auxVideoHeight:0,auxVideoFps:0,auxVideoBps:0}),ob(this,\"_audioManager\"),this._audioManager=e.audioManager}get isMainStreamPublished(){return!(!this.localMainAudioTrack&&!this.localMainVideoTrack)}get isAuxStreamPublished(){return!(!this.localAuxVideoTrack&&!this.localAuxAudioTrack)}get publishState(){var e,t,i,n;let r={audio:!1,bigVideo:!1,smallVideo:!1,auxVideo:!1};if(this._peerConnection){let o=this._peerConnection.getSenders();o&&(Sw()?(r.audio=!(null==(e=o[0])||!e.track),r.bigVideo=!(null==(t=o[1])||!t.track),r.smallVideo=!(null==(i=o[2])||!i.track),r.auxVideo=!(null==(n=o[3])||!n.track)):o.forEach((e=>{e.track&&(e.track.kind===LN.AUDIO?r.audio=!0:(r.bigVideo=!0,this._room.videoManager.hasSmall&&(r.smallVideo=!0)))})))}return r}initialize(){super.initialize(),this.installEvents()}reset(){this._isReconnecting&&this.stopReconnection(),this.closePeerConnection(),this.uninstallEvents()}close(e){super.close(e),this.reset(),this.emitConnectionStateChangedEvent(\"DISCONNECTED\")}installEvents(){this._emitter.listeners(\"connection-state-changed\").includes(this.handleConnectionStateChange)||this._emitter.on(\"connection-state-changed\",this.handleConnectionStateChange,this)}uninstallEvents(){this._emitter.off(\"connection-state-changed\",this.handleConnectionStateChange,this)}emitConnectionStateChangedEvent(e,t){var i,n,r;let o=this._currentState,s=super.emitConnectionStateChangedEvent(e);return s&&o!==e&&(t?t.emit(\"connection-state-changed\",{prevState:o,state:e}):(null==(i=this.localMainVideoTrack)||i.emit(\"connection-state-changed\",{prevState:o,state:e}),null==(n=this.localAuxVideoTrack)||n.emit(\"connection-state-changed\",{prevState:o,state:e}),null==(r=this._publishingLocalVideoTrack)||r.emit(\"connection-state-changed\",{prevState:o,state:e}))),s}publish(e){return ab(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,isAuxiliary:r}=e;return function*(){var e;let o;t._peerConnection||t.initialize(),i&&(t._publishingLocalAudioTrack=i),n&&(t._publishingLocalVideoTrack=n),t._isPublishingAux=r,n&&!r&&n.small&&(o=t._room.videoManager.smallTrack),t.sendMediaSettings(),Iw()?yield t.publishByTransceiver({localAudioTrack:i,localVideoTrack:n,smallTrack:o,isAuxiliary:r}):yield t.publishByAddTrack({localAudioTrack:i,localVideoTrack:n,smallTrack:o}),t._publishingLocalAudioTrack=null,t._publishingLocalVideoTrack=null,t._isPublishingAux=!1,r?(n&&(t.localAuxVideoTrack=n),i&&(t.localAuxAudioTrack=i)):(n&&(t.localMainVideoTrack=n),i&&(t.localMainAudioTrack=i)),null==(e=t._sei)||e.handleEncodedStreams(),t.installTrackMuteEvents(i,n),t.sendMutedFlag()}()}))}publishByTransceiver(e){return ab(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,smallTrack:r,isAuxiliary:o}=e;return function*(){t._log.info(\"publish by transceiver\");let e=new MediaStream,s=null==n?void 0:n.outMediaTrack,a=t._audioManager.mixedAudioTrack;a&&e.addTrack(a),s&&e.addTrack(s);let c=t._peerConnection.getTransceivers();if(0===c.length)t._peerConnection.addTransceiver(a||LN.AUDIO,{direction:MN.SENDONLY,streams:[e]}),t._peerConnection.addTransceiver(o?LN.VIDEO:s||LN.VIDEO,{direction:MN.SENDONLY,streams:[e]}),t._peerConnection.addTransceiver(r||LN.VIDEO,{direction:MN.SENDONLY,streams:[e]}),t._peerConnection.addTransceiver(o&&s||LN.VIDEO,{direction:MN.SENDONLY,streams:[e]}),yield t.connect();else{let e=[];if(a&&(c[0].sender.track||e.push(0),yield c[0].sender.replaceTrack(a),yield t.setBandwidth({bandwidth:(null==i?void 0:i.profile.bitrate)||40,type:LN.AUDIO})),s){let i=o?3:1;yield c[i].sender.replaceTrack(s),yield t.setBandwidth({bandwidth:n.profile.bitrate,type:LN.VIDEO,videoType:o?LN.AUXILIARY:LN.BIG}),e.push(i),r&&(yield c[2].sender.replaceTrack(r),yield t.setBandwidth({bandwidth:n.small.bitrate,type:LN.VIDEO,videoType:LN.SMALL}),e.push(2))}yield t.setTransceiverDirection(MN.SENDONLY,e),yield t.doPublishChange(),null==n||n.emit(\"connection-state-changed\",{prevState:\"DISCONNECTED\",state:\"CONNECTING\"}),null==n||n.emit(\"connection-state-changed\",{prevState:\"CONNECTING\",state:\"CONNECTED\"})}}()}))}publishByAddTrack(e){return ab(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,smallTrack:r}=e;return function*(){t._log.info(\"publish by addtrack\");let e=null==n?void 0:n.outMediaTrack,o=t._audioManager.mixedAudioTrack;if(t._peerConnection&&\"new\"!==t._peerConnection.connectionState)return o&&(yield t.addTrack(i)),void(e&&(yield t.addTrack(n)));let s=new MediaStream;if(o&&s.addTrack(o),e&&s.addTrack(e),o&&t._peerConnection.addTrack(o,s),e&&(t._peerConnection.addTrack(e,s),r)){let e=new MediaStream;e.addTrack(r),t._peerConnection.addTrack(r,e)}yield t.connect()}()}))}installTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.on(\"mute\",this.sendMutedFlag,this),null==e||e.on(\"unmute\",this.sendMutedFlag,this))}))}uninstallTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.off(\"mute\",this.sendMutedFlag,this),null==e||e.off(\"unmute\",this.sendMutedFlag,this))}))}unpublish(e){return ab(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n}=e;return function*(){if(!Sw())return i&&i.outMediaTrack&&!n&&t.localMainVideoTrack?(yield t.removeTrack(i),void(t.localMainAudioTrack=null)):n&&n.outMediaTrack&&!i&&t.localMainAudioTrack?(yield t.removeTrack(n),void(t.localMainVideoTrack=null)):(yield t.doUnpublish(),t.uninstallTrackMuteEvents(i,n),void t.emitConnectionStateChangedEvent(\"DISCONNECTED\",n));let e=n&&n===t.localAuxVideoTrack,r=null==n?void 0:n.outMediaTrack,o=t._peerConnection.getSenders(),s=[];i&&(t._audioManager.mixedAudioTrack||(yield o[0].replaceTrack(null),s.push(0)),e?t.localAuxAudioTrack=null:t.localMainAudioTrack=null),r&&(e?(yield o[3].replaceTrack(null),t.localAuxVideoTrack=null,t._mediaSettings=eb($C({},t._mediaSettings),{auxVideoBps:0,auxVideoFps:0,auxVideoWidth:0,auxVideoHeight:0}),s.push(3)):(yield o[1].replaceTrack(null),yield o[2].replaceTrack(null),t.localMainVideoTrack=null,t._mediaSettings=eb($C({},t._mediaSettings),{videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0}),s.push(1,2))),t.isMainStreamPublished||t.isAuxStreamPublished?(yield t.setTransceiverDirection(MN.INACTIVE,s),yield t.doPublishChange(!1)):yield t.doUnpublish(),t.uninstallTrackMuteEvents(i,n),null==n||n.emit(\"connection-state-changed\",{prevState:t._currentState,state:\"DISCONNECTED\"})}()}))}doPublishChange(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return ab(this,null,(function*(){let t={state:this.publishState,constraintConfig:this._mediaSettings},i=yield this._signalChannel.sendWaitForResponse({command:dV,data:t,responseCommand:nV.PUBLISH_STATE_CHANGE_RESULT,enableLog:e});this.checkPublishResultCode(i.data.code,i.data.message)}))}doUnpublish(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._signalChannel.sendWaitForResponse({command:uV,commandDesc:\"unpublish\",responseCommand:nV.UNPUBLISH_RESULT,enableLog:e}).catch((e=>{if(e.getCode()===mb.API_CALL_TIMEOUT)return Promise.resolve();throw e}))}updateMediaSettings(){let{detail:{isH264EncodeSupported:e,isVp8EncodeSupported:t}}=this._room.checkSystemResult;e?this._mediaSettings.videoCodec=\"H264\":t&&(this._mediaSettings.videoCodec=\"VP8\");let i=this._publishingLocalAudioTrack||this.localMainAudioTrack||this.localAuxAudioTrack,{localMainVideoTrack:n,localAuxVideoTrack:r}=this;if(this._publishingLocalVideoTrack&&(this._isPublishingAux?r=this._publishingLocalVideoTrack:n=this._publishingLocalVideoTrack),Cw){if(i&&i.outMediaTrack){let e=i.outMediaTrack.getSettings();this._mediaSettings.audioChannel=e.channelCount||1,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=e.sampleRate||0}if(n&&n.outMediaTrack){let e=n.outMediaTrack.getSettings();this._mediaSettings.videoWidth=e.width||0,this._mediaSettings.videoHeight=e.height||0,this._mediaSettings.videoFps=e.frameRate||0,this._mediaSettings.videoBps=1e3*n.profile.bitrate,n.small&&(this._mediaSettings.smallVideoWidth=n.small.width,this._mediaSettings.smallVideoHeight=n.small.height,this._mediaSettings.smallVideoFps=n.small.frameRate,this._mediaSettings.smallVideoBps=1e3*n.small.bitrate)}if(r&&r.outMediaTrack){let e=r.outMediaTrack.getSettings();this._mediaSettings.auxVideoWidth=e.width||0,this._mediaSettings.auxVideoHeight=e.height||0,this._mediaSettings.auxVideoFps=e.frameRate||0,this._mediaSettings.auxVideoBps=1e3*r.profile.bitrate}}else i&&i.outMediaTrack&&(this._mediaSettings.audioChannel=i.profile.channelCount,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=i.profile.sampleRate),n&&n.outMediaTrack&&(this._mediaSettings.videoWidth=n.profile.width,this._mediaSettings.videoHeight=n.profile.height,this._mediaSettings.videoFps=n.profile.frameRate,this._mediaSettings.videoBps=1e3*n.profile.bitrate);this._log.info(\"updateMediaSettings: \".concat(JSON.stringify(this._mediaSettings)))}sendMediaSettings(){this.updateMediaSettings(),this._signalChannel.sendWaitForResponse({command:yV,data:this._mediaSettings,responseCommand:nV.UPDATE_CONSTRAINT_CONFIG_RES}).then((e=>{0!==e.data.code&&this._log.warn(e.data.message)})).catch((()=>{}))}addTrack(e){return ab(this,null,(function*(){var t;if(!this._peerConnection)return;let i=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info(\"is adding \".concat(e.kind,\" track to current published local \").concat(i?LN.AUXILIARY:LN.MAIN,\" stream\")),null==(t=this._sei)||t.handleEncodedStreams(),Iw()?yield this.addTrackByTransceiver(e,i):yield this.addTrackBySender(e)}))}addTrackByTransceiver(e,t){return ab(this,null,(function*(){var i;if(!e.mediaTrack)return;let n=this._peerConnection.getTransceivers();if(e.kind===LN.AUDIO)yield n[0].sender.replaceTrack(this._audioManager.mixedAudioTrack);else{let r=t?3:1;yield n[r].sender.replaceTrack(e.outMediaTrack),1===r&&(null==(i=this.localMainVideoTrack)?void 0:i.small)&&(yield n[2].sender.replaceTrack(this._room.videoManager.smallTrack)),n[r].direction===MN.INACTIVE&&(yield this.setTransceiverDirection(MN.SENDONLY,[r]))}this.updateMediaSettings(),yield this.doPublishChange()}))}addTrackBySender(e){return ab(this,null,(function*(){if(!e.outMediaTrack)return;let t=e.outMediaTrack;Sw()&&this._peerConnection.getTransceivers().findIndex((e=>\"stopped\"===e.direction))>=0&&(this._log.warn(\"transceiver is stopping, negotiate sdp first\"),yield this.updateOffer(\"remove\",t));let i=this._peerConnection.getSenders().find((e=>e.track&&e.track.kind===t.kind));if(i&&i.track){this._log.warn(\"sender already exists, remove sender first\");let e=i.track;this.removeSender(i),yield this.updateOffer(\"remove\",e)}let n=t.kind===LN.VIDEO?t:this._audioManager.mixedAudioTrack;if(n&&this._peerConnection.addTrack(t,new MediaStream([n])),t.kind===LN.VIDEO&&e instanceof sL&&e.small){let e=new MediaStream,t=this._room.videoManager.smallTrack;e.addTrack(t),this._peerConnection.addTrack(t,e)}yield this.updateOffer(\"add\",t)}))}isNeedToResetOfferOrder(){if(this._sdpSemantics===pD||!this._peerConnection||!this._peerConnection.localDescription)return!1;let{sdp:e}=this._peerConnection.localDescription,t=BV(e);for(let i=0;it.sender&&t.sender.track===e.track))),this._peerConnection.removeTrack(e),t&&iO(t.stop)&&(this._log.info(\"stop transceiver\"),t.stop())}removeTrack(e){return ab(this,null,(function*(){if(!this._peerConnection)return;let t=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info(\"is removing \".concat(e.kind,\" track from current published local \").concat(t?LN.AUXILIARY:LN.MAIN,\" stream\")),Iw()?yield this.removeTrackByTransceiver(e,t):yield this.removeTrackBySender(e)}))}removeTrackByTransceiver(e,t){return ab(this,null,(function*(){if(!e.outMediaTrack)return;let i=this._peerConnection.getTransceivers();if(e.kind===LN.AUDIO)this._audioManager.mixedAudioTrack||(yield i[0].sender.replaceTrack(null));else{let n=t?3:1;yield i[n].sender.replaceTrack(null),1===n&&e.small&&(yield i[2].sender.replaceTrack(null)),yield this.setTransceiverDirection(MN.INACTIVE,[n])}this.updateMediaSettings(),yield this.doPublishChange()}))}setTransceiverDirection(e,t){return ab(this,null,(function*(){if(!Ub)return;let i=!1,n=!1;this._log.info(\"setting transceiver \".concat(t.join(\",\"),\" direction to \").concat(e));let r=this._peerConnection.getTransceivers();if(t.forEach((t=>{r[t].direction!==e&&(r[t].direction=e,i=!0)})),i){this._log.info(\"updating offer\");let e=yield this._peerConnection.createOffer();yield this._peerConnection.setLocalDescription(e)}let o=-1,s=this._peerConnection.remoteDescription.sdp.split(\"\\r\\n\").map((i=>{if(i.match(new RegExp(\"a=(\".concat(MN.INACTIVE,\"|\").concat(MN.RECVONLY,\"|\").concat(MN.SENDONLY,\")\")))&&o++,t.includes(o)){if(e===MN.INACTIVE&&i.includes(\"a=\".concat(MN.RECVONLY)))return n=!0,\"a=\".concat(e);if(e===MN.SENDONLY&&i.includes(\"a=\".concat(MN.INACTIVE)))return n=!0,\"a=\".concat(MN.RECVONLY)}return i})).join(\"\\r\\n\");n&&(this._log.info(\"updating answer\"),yield this._peerConnection.setRemoteDescription({type:\"answer\",sdp:s}))}))}removeTrackBySender(e){return ab(this,null,(function*(){if(!e.outMediaTrack)return;if(e.kind===LN.VIDEO&&this.isNeedToResetOfferOrder()&&this.localMainAudioTrack)return this.reset(),this.initialize(),void(yield this.publish({localAudioTrack:this.localMainAudioTrack,isAuxiliary:!1}));let t=this._peerConnection.getSenders().find((t=>t.track===e.outMediaTrack));t&&(this.removeSender(t),e.kind===LN.VIDEO&&e.small&&this._peerConnection.getSenders().forEach((e=>{e.track&&e.track.kind===LN.VIDEO&&this.removeSender(e)}))),yield this.updateOffer(\"remove\",e.outMediaTrack)}))}replaceTrack(e){return ab(this,null,(function*(){var t;let i,n=null==(t=this._peerConnection)?void 0:t.getSenders();if(!n||0===n.length||!e.mediaTrack)return;if(i=Iw()?e.kind===LN.AUDIO?n[0]:n[1]:n.find((t=>t.track&&t.track.kind===e.kind)),!i)return;let r=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info(\"is replacing \".concat(e.kind,\" track on \").concat(r?LN.AUXILIARY:LN.MAIN,\" stream\")),e.kind===LN.AUDIO?yield i.replaceTrack(this._audioManager.mixedAudioTrack):e.kind===LN.VIDEO&&(r?n[3]&&(yield n[3].replaceTrack(e.outMediaTrack)):yield i.replaceTrack(e.outMediaTrack))}))}updateOffer(e,t){return ab(this,null,(function*(){try{let i=yield this._peerConnection.createOffer(KV);Ub&&i.sdp&&(i.sdp=this.setSDPDirection(i.sdp,\"sendrecv\")),yield this._peerConnection.setLocalDescription(i);let n=this.updateMediaSettings(),r={action:e,trackId:t.id,kind:t.kind===LN.VIDEO?\"bigVideo\":t.kind,type:\"offer\",sdp:this._peerConnection.localDescription.sdp,constraintConfig:n,state:this.publishState};this._log.info(\"createOffer success, sending updated offer to remote server\"),this._log.debug(\"updatedOffer: \".concat(r.sdp));let o=yield this._signalChannel.sendWaitForResponse({command:rV,data:r,responseCommand:nV.UPDATE_OFFER_RESULT,timeout:dD,commandDesc:\"update offer\"}),{code:s,message:a}=o.data;0!==s&&this.checkPublishResultCode(s,a),yield this.acceptAnswer(o.data.data),i.sdp&&this.updateSSRC(i.sdp)}catch(aN){throw this._log.error(aN),aN}}))}setBandwidth(e){return ab(this,arguments,(function(e){var t=this;let{bandwidth:i,type:n,videoType:r,sdp:o}=e;return function*(){if(!Rw())return o?n===LN.VIDEO?t.updateVideoBandwidthRestriction(o,i,r):t.updateAudioBandwidthRestriction(o,i):void 0;let e=0;n===LN.VIDEO&&(e=r===LN.SMALL?2:r===LN.AUXILIARY?3:1);let s=t._peerConnection.getSenders()[e];if(s){let e=s.getParameters();(!e.encodings||0===e.encodings.length)&&(e.encodings=[{}]),e.encodings[0].maxBitrate=1e3*i;try{return yield s.setParameters(e),t._log.info(\"\".concat(r||\"\").concat(n,\" bandwidth \").concat(i,\" kbps\")),o}catch(a){if(t._log.info(\"failed to set bandwidth by setting maxBitrate: \".concat(a)),o)return n===LN.VIDEO?t.updateVideoBandwidthRestriction(o,i,r):t.updateAudioBandwidthRestriction(o,i)}}return o}()}))}updateVideoBandwidthRestriction(e,t,i){let n=\"AS\";Ub&&(n=\"TIAS\",t*=1e3);let r=0,o=-1;return i===LN.SMALL?r=1:i===LN.AUXILIARY&&(r=2),e=e.replace(/m=video (.*)\\r\\nc=IN (.*)\\r\\n/g,(e=>(o+=1,o===r?\"\".concat(e,\"b=\").concat(n,\":\").concat(t,\"\\r\\n\"):e)))}updateAudioBandwidthRestriction(e,t){let i=\"AS\";return Ub&&(i=\"TIAS\",t*=1e3),e=e.replace(/m=audio (.*)\\r\\nc=IN (.*)\\r\\n/,\"m=audio $1\\r\\nc=IN $2\\r\\nb=\".concat(i,\":\").concat(t,\"\\r\\n\"))}removeBandwidthRestriction(e){return e.replace(/b=AS:.*\\r\\n/,\"\").replace(/b=TIAS:.*\\r\\n/,\"\")}removeVideoOrientation(e){return e.replace(/urn:3gpp:video-orientation/,\"\")}connect(){return ab(this,null,(function*(){try{yield this.exchangeSDP(),yield this.waitForPeerConnectionConnected()}catch(sN){throw this.closePeerConnection(!0),this.uninstallEvents(),sN}}))}exchangeSDP(){return ab(this,null,(function*(){try{yield this.createOffer(),this._log.info(\"createOffer success, sending offer to remote server\"),yield this.doExchangeSDP()}catch(sN){throw sN}}))}createOffer(){return ab(this,null,(function*(){try{let e=yield this._peerConnection.createOffer(KV);yield this._peerConnection.setLocalDescription(e),e.sdp&&this.updateSSRC(e.sdp)}catch(sN){throw sN}}))}doExchangeSDP(){let e={command:lV,responseCommand:nV.PUBLISH_RESULT,data:{type:this._peerConnection.localDescription.type,sdp:this.removeVideoOrientation(this._peerConnection.localDescription.sdp),screen:this.localMainVideoTrack instanceof cL||this.localAuxVideoTrack instanceof cL,state:this.publishState,constraintConfig:this._mediaSettings},enableLog:!1};return this._log.debug(\"sending sdp offer: \".concat(e.data.sdp)),this._signalChannel.sendWaitForResponse(e).then((e=>{let{code:t,message:i,data:n}=e.data;return 0===t?this.acceptAnswer(n):this.checkPublishResultCode(t,i)}))}setSDPDirection(e,t){let i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\"all\",n=BV(e);return n.media.forEach((e=>{(\"all\"===i||e.type===i)&&(e.direction=t)})),HV(n)}acceptAnswer(e){return ab(this,null,(function*(){var t,i,n,r,o;try{let s;if(this._publishingLocalAudioTrack||this._publishingLocalVideoTrack||this.isMainStreamPublished){let e=(null==(t=this._publishingLocalVideoTrack)?void 0:t.profile.bitrate)||(null==(i=this.localMainVideoTrack)?void 0:i.profile.bitrate),o=(null==(n=this._publishingLocalAudioTrack)?void 0:n.profile.bitrate)||(null==(r=this.localMainAudioTrack)?void 0:r.profile.bitrate);if(e){let t=this._isPublishingAux?LN.AUXILIARY:LN.BIG;s=yield this.setBandwidth({bandwidth:e,type:LN.VIDEO,sdp:s,videoType:t})}o&&(s=yield this.setBandwidth({bandwidth:o,type:LN.AUDIO,sdp:s}))}if(s=this.removeVideoOrientation(e.sdp),null!=(o=this._publishingLocalVideoTrack)&&o.small){let{smallStreamConfig:e}=this._room;s=yield this.setBandwidth({bandwidth:this._publishingLocalVideoTrack.small.bitrate||e.bitrate,type:LN.VIDEO,videoType:LN.SMALL,sdp:s})}let a={type:e.type,sdp:s};yield this._peerConnection.setRemoteDescription(a),this._log.debug(\"accepted answer: \".concat(s))}catch(s){throw this._log.error(\"failed to accept remote answer \".concat(s)),s}}))}sendMutedFlag(e){var t,i,n;if(e===this.localAuxAudioTrack||e===this.localAuxVideoTrack)return;let r={audio:!(null==(t=this.localMainAudioTrack)||!t.muted),bigVideo:!(null==(i=this.localMainVideoTrack)||!i.muted),auxVideo:!(null==(n=this.localAuxVideoTrack)||!n.muted)};this._log.info(\"send muted state: \".concat(JSON.stringify(r))),this._signalChannel.send(cV,r)}getIsReconnecting(){return this._isReconnecting}reconnect(){return ab(this,null,(function*(){if(!(sb(YV.prototype,this,\"beforeReconnect\").call(this)<0))try{yield this._signalChannel.sendWaitForResponse({command:uV,responseCommand:nV.UNPUBLISH_RESULT,enableLog:!1}),this.closePeerConnection(),this.initialize(),this.isMainStreamPublished&&(yield this.publish({localAudioTrack:this.localMainAudioTrack,localVideoTrack:this.localMainVideoTrack,isAuxiliary:!1})),this.isAuxStreamPublished&&(yield this.publish({localAudioTrack:this.localAuxAudioTrack,localVideoTrack:this.localAuxVideoTrack,isAuxiliary:!0})),this._log.warn(\"reconnect() uplink reconnect successfully\"),this.stopReconnection()}catch(sD){let t=eO(this._reconnectionCount);this._log.warn(\"reconnect() timeout, try again after \".concat(t/1e3,\"s\")),this._reconnectionTimer=setTimeout((()=>{this.clearReconnectionTimer(),this.reconnect()}),t)}}))}handleConnectionStateChange(e){\"CONNECTED\"===e.state&&(this.localMainVideoTrack||this._publishingLocalVideoTrack&&!this._isPublishingAux)&&xO.emit(FO.SEND_FIRST_VIDEO_FRAME,{room:this._room})}updateSSRC(e){try{BV(e).media.forEach(((e,t)=>{if(e.type===LN.AUDIO){let t=e.ssrcs&&e.ssrcs[0];t&&(this.ssrc.audio=Number(t.id))}else{if(this._sdpSemantics===pD&&e.ssrcGroups)return void e.ssrcGroups.forEach(((e,t)=>{let i=Number(e.ssrcs.split(\" \")[0]);0===t?this.ssrc.video=i:1===t&&(this.ssrc.small=i)}));let i=e.ssrcs&&e.ssrcs[0];if(!i)return;switch(t){case 1:this.ssrc.video=Number(i.id);break;case 2:this.ssrc.small=Number(i.id);break;case 3:this.ssrc.auxiliary=Number(i.id)}}}))}catch(sD){}}getVideoTrackId(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:LN.VIDEO;if(this._peerConnection){let t=this._peerConnection.getSenders();if(e===LN.AUXILIARY&&t[3]&&t[3].track)return t[3].track.id;if(e===LN.VIDEO&&t[1]&&t[1].track)return t[1].track.id}if(this.localMainVideoTrack&&e===LN.VIDEO){let e=this.localMainVideoTrack.mediaTrack;if(e)return e.id}if(this.localAuxVideoTrack&&e===LN.AUXILIARY){let e=this.localAuxVideoTrack.mediaTrack;if(e)return e.id}return\"\"}getSSRC(){return this.ssrc}checkPublishResultCode(e,t){if(0!==e)throw e===_D?(this._log.error(KO.NOT_SUPPORTED_H264ENCODE),new gb({code:mb.NOT_SUPPORTED_H264,message:qO({key:JO.NOT_SUPPORTED_H264ENCODE})})):new gb({code:mb.UNKNOWN,message:qO({key:JO.SIGNAL_RESPONSE_FAILED,data:{signalResponse:nV.PUBLISH_RESULT,code:e,message:t}})})}sendSEI(e,t){var i;null==(i=this._sei)||i.push(e,t)}},zV=YV;rb([iL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{let r=e=>{this._emitter.off(\"closed\",r),n(new gb({code:mb.API_CALL_ABORTED,message:qO({key:JO.CONNECTION_ABORTED,data:e})}))};this._emitter.on(\"closed\",r),e.apply(this,i).then(t,n).finally((()=>{this._emitter.off(\"closed\",r)}))}))}))],zV.prototype,\"publish\",1),rb([tL(UV.prototype.afterConnect),eL(UV.prototype.beforeConnect)],zV.prototype,\"connect\",1);var qV=zV,QV=class{constructor(e,t){this.room=e,ob(this,\"_log\"),ob(this,\"_prevReportTime\"),ob(this,\"_prevReport\",{}),ob(this,\"_prevEncoderImplementation\"),ob(this,\"_prevQualityLimitationReason\"),ob(this,\"_prevAuxQualityLimitationReason\"),ob(this,\"_prevDecoderImplementationMap\",new Map),ob(this,\"totalBytesSent\",0),ob(this,\"totalBytesReceived\",0),ob(this,\"_spcStats\",null),this._log=t,this._prevReportTime=0,this._prevEncoderImplementation=\"\",this._prevQualityLimitationReason=\"\",this._prevAuxQualityLimitationReason=\"\"}get statInterval(){return 0===this._prevReportTime?2:(Date.now()-this._prevReportTime)/1e3}getSenderStats(e){return ab(this,null,(function*(){let t={audio:{bytesSent:0,packetsSent:0,audioLevel:0,totalAudioEnergy:0},video:{bytesSent:0,packetsSent:0,framesEncoded:0,frameWidth:0,frameHeight:0,framesSent:0,fpsCapture:0},small:{bytesSent:0,packetsSent:0,framesEncoded:0,frameWidth:0,frameHeight:0,framesSent:0,fpsCapture:0},auxiliary:{bytesSent:0,packetsSent:0,framesEncoded:0,frameWidth:0,frameHeight:0,framesSent:0,fpsCapture:0},rtt:0},i=e.getPeerConnection(),n=e.getSSRC();if(i)try{if((this._spcStats||(yield i.getStats())).forEach((i=>{if(\"outbound-rtp\"===i.type)if((i.mediaType||i.kind)===LN.VIDEO){let r,o;if(i.ssrc===n.video?(r=LN.VIDEO,o=e.localMainVideoTrack):i.ssrc===n.small?r=LN.SMALL:i.ssrc===n.auxiliary&&(o=e.localAuxVideoTrack,r=LN.AUXILIARY),!r)return;t[r].bytesSent=i.bytesSent,t[r].packetsSent=i.packetsSent,t[r].framesEncoded=i.framesEncoded,nO(i.keyFramesEncoded)||(t[r].keyFramesEncoded=i.keyFramesEncoded),nO(i.nackCount)||(t[r].nackCount=i.nackCount),nO(i.pliCount)||(t[r].pliCount=i.pliCount),nO(i.retransmittedPacketsSent)||(t[r].retransmittedPacketsSent=i.retransmittedPacketsSent),nO(i.totalEncodeTime)||(t[r].totalEncodeTime=i.totalEncodeTime),nO(i.totalPacketSendDelay)||(t[r].totalPacketSendDelay=i.totalPacketSendDelay),i.ssrc===n.video?(!nO(i.encoderImplementation)&&this._prevEncoderImplementation!==i.encoderImplementation&&(this._log.info(\"encoderImplementation change to \".concat(i.encoderImplementation)),this._prevEncoderImplementation=i.encoderImplementation),!nO(i.qualityLimitationReason)&&0!==i.bytesSent&&this._prevQualityLimitationReason!==i.qualityLimitationReason&&(this._log.info(\"qualityLimitationReason change to \".concat(i.qualityLimitationReason)),this._prevQualityLimitationReason=i.qualityLimitationReason)):i.ssrc===n.auxiliary&&!nO(i.qualityLimitationReason)&&0!==i.bytesSent&&this._prevAuxQualityLimitationReason!==i.qualityLimitationReason&&(this._log.info(\"aux qualityLimitationReason change to \".concat(i.qualityLimitationReason)),this._prevAuxQualityLimitationReason=i.qualityLimitationReason)}else t.audio.bytesSent=i.bytesSent,t.audio.packetsSent=i.packetsSent;else\"candidate-pair\"===i.type?uw(i)&&oO(i.currentRoundTripTime)&&(t.rtt=Math.floor(1e3*i.currentRoundTripTime),this.totalBytesSent=i.bytesSent):\"media-source\"===i.type&&(i.kind===LN.AUDIO?(t.audio.audioLevel=i.audioLevel||0,t.audio.totalAudioEnergy=i.totalAudioEnergy||0):i.kind===LN.VIDEO&&(i.trackIdentifier===e.getVideoTrackId(LN.VIDEO)?t.video.fpsCapture=i.framesPerSecond:i.trackIdentifier===e.getVideoTrackId(LN.AUXILIARY)?t.auxiliary.fpsCapture=i.framesPerSecond:t.small.fpsCapture=i.framesPerSecond));if(nO(i.audioLevel)||(t.audio.audioLevel=i.audioLevel||0),!nO(i.frameWidth)){let r=LN.SMALL;i.trackIdentifier===e.getVideoTrackId(LN.VIDEO)||i.ssrc===n.video?r=LN.VIDEO:(i.trackIdentifier===e.getVideoTrackId(LN.AUXILIARY)||i.ssrc===n.auxiliary)&&(r=LN.AUXILIARY),t[r].frameWidth=i.frameWidth,t[r].frameHeight=i.frameHeight,t[r].framesSent=i.framesSent}})),e.localMainAudioTrack){let i=e.localMainAudioTrack.getInternalAudioLevel();t.audio.micAudioLevel=i,0===t.audio.audioLevel&&(t.audio.audioLevel=i)}this.totalBytesSent||(this.totalBytesSent+=t.audio.bytesSent+t.video.bytesSent+t.auxiliary.bytesSent)}catch(r){this._log.warn(\"failed to getStats on sender connection \".concat(r))}return t}))}getReceiverStats(e){return ab(this,null,(function*(){let t={tinyId:e.tinyId,userId:e.userId,rtt:0,hasAudio:!1,hasVideo:!1,hasAuxiliary:!1,isSmallSubscribed:!1,audio:{bytesReceived:0,packetsReceived:0,packetsLost:0,jitter:0,audioLevel:0,totalAudioEnergy:0,insertedSamplesForDeceleration:0,removedSamplesForAcceleration:0},video:{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,fpsDecoded:0},auxiliary:{bytesReceived:0,packetsReceived:0,packetsLost:0,framesReceived:0,framesDecoded:0,frameWidth:0,frameHeight:0,fpsDecoded:0}},i=e.getPeerConnection();if(i)try{let{ssrc:n}=e,{muteState:r,subscribeState:o}=e;(this._spcStats||(yield i.getStats())).forEach((i=>{if(\"inbound-rtp\"===i.type)if((i.mediaType||i.kind)===LN.AUDIO){if(i.ssrc!==n.audio||!r.hasAudio)return;t.audio.packetsReceived=i.packetsReceived,t.audio.bytesReceived=i.bytesReceived,t.audio.packetsLost=i.packetsLost,i.insertedSamplesForDeceleration&&(t.audio.insertedSamplesForDeceleration=i.insertedSamplesForDeceleration),i.removedSamplesForAcceleration&&(t.audio.removedSamplesForAcceleration=i.removedSamplesForAcceleration);let{remoteAudioTrack:o}=e;o.stat.packetsReceived=i.packetsReceived,o.stat.bytesReceived=i.bytesReceived,o.stat.packetsLost=i.packetsLost,i.jitterBufferDelay&&(o.stat.jitterBufferDelay=Math.floor(i.jitterBufferDelay/i.jitterBufferEmittedCount*1e3)),t.hasAudio=!0}else{if(Ub&&0===i.bytesReceived)return;let s;i.ssrc===n.video&&r.hasVideo&&(t.video.packetsReceived=i.packetsReceived,t.video.bytesReceived=i.bytesReceived,t.video.packetsLost=i.packetsLost,t.video.framesReceived=i.framesReceived,t.video.framesDecoded=i.framesDecoded,t.video.fpsDecoded=i.framesPerSecond,t.hasVideo=!0,s=e.remoteVideoTrack,r.hasSmall&&o.smallVideo&&(t.isSmallSubscribed=!0),i.decoderImplementation&&(!this._prevDecoderImplementationMap.has(t.userId)||this._prevDecoderImplementationMap.get(t.userId)!==i.decoderImplementation)&&(this._log.info(\"\".concat(t.userId,\" decoderImplementation change to \").concat(i.decoderImplementation)),this._prevDecoderImplementationMap.set(t.userId,i.decoderImplementation))),i.ssrc===n.auxiliary&&r.hasAuxiliary&&(t.auxiliary.packetsReceived=i.packetsReceived,t.auxiliary.bytesReceived=i.bytesReceived,t.auxiliary.packetsLost=i.packetsLost,t.auxiliary.framesReceived=i.framesReceived,t.auxiliary.framesDecoded=i.framesDecoded,t.auxiliary.fpsDecoded=i.framesPerSecond,s=e.remoteAuxiliaryTrack,t.hasAuxiliary=!0),s&&(s.stat.packetsReceived=i.packetsReceived,s.stat.bytesReceived=i.bytesReceived,s.stat.packetsLost=i.packetsLost,s.stat.framesReceived=i.framesReceived,s.stat.framesDecoded=i.framesDecoded,i.jitterBufferDelay&&(s.stat.jitterBufferDelay=Math.floor(i.jitterBufferDelay/i.jitterBufferEmittedCount*1e3)))}else\"candidate-pair\"===i.type&&uw(i)&&oO(i.currentRoundTripTime)&&(t.rtt=Math.floor(1e3*i.currentRoundTripTime),this.totalBytesReceived=i.bytesReceived);nO(i.frameWidth)||((i.trackIdentifier===e.getMainStreamVideoTrackId()||i.ssrc===n.video)&&(t.video.frameWidth=i.frameWidth,t.video.frameHeight=i.frameHeight,e.remoteVideoTrack.stat.frameWidth=i.frameWidth,e.remoteVideoTrack.stat.frameHeight=i.frameHeight),(i.trackIdentifier===e.getAuxStreamVideoTrackId()||i.ssrc===n.auxiliary)&&(t.auxiliary.frameWidth=i.frameWidth,t.auxiliary.frameHeight=i.frameHeight,e.remoteAuxiliaryTrack.stat.frameWidth=i.frameWidth,e.remoteAuxiliaryTrack.stat.frameHeight=i.frameHeight)),nO(i.audioLevel)||(t.audio.audioLevel=i.audioLevel||0,t.audio.totalAudioEnergy=i.totalAudioEnergy||0)})),0===t.audio.audioLevel&&(t.audio.audioLevel=e.remoteAudioTrack.getInternalAudioLevel()||0),this.totalBytesReceived||(this.totalBytesReceived+=t.audio.bytesReceived+t.video.bytesReceived+t.auxiliary.bytesReceived)}catch(aN){this._log.warn(\"failed to getStats on receiver connection \".concat(aN))}return t}))}getStats(e,t){return ab(this,null,(function*(){let i={},n=[];if(this.room.singlePC){let e=this.room.singlePC.getPeerConnection();if(!e)return{senderStats:i,receiverStats:n};let t=yield e.getStats(),r=[],o=new Set([\"inbound-rtp\",\"outbound-rtp\",\"track\",\"candidate-pair\",\"media-source\"]);t.forEach((e=>o.has(e.type)&&r.push(e))),this._spcStats=r}e&&(i=yield this.getSenderStats(e));for(let[e,r]of t){let e=yield this.getReceiverStats(r);n.push(e)}return{senderStats:i,receiverStats:n}}))}getDifferenceValue(e,t){if(xP(e))return t;let i=t-e;return i<0?0:i}prepareReport(e){let{stats:t,report:i,freezeMap:n}=e;if(!xP(t.senderStats)){let e={uint32_audio_level:t.senderStats.audio.audioLevel*xD,uint32_audio_energy:1e6*t.senderStats.audio.totalAudioEnergy,uint32_audio_codec_bitrate:t.senderStats.audio.bytesSent};t.senderStats.audio.micAudioLevel&&(e.uint32_mic_audio_level=t.senderStats.audio.micAudioLevel*xD);let n=[];if(t.senderStats.video.bytesSent){let e={uint32_video_stream_type:2,uint32_video_codec_fps:t.senderStats.video.framesSent,uint32_video_capture_fps:t.senderStats.video.fpsCapture,uint32_video_width:t.senderStats.video.frameWidth,uint32_video_height:t.senderStats.video.frameHeight,uint32_video_codec_bitrate:t.senderStats.video.bytesSent,uint32_video_enc_fps:t.senderStats.video.framesEncoded,uint32_key_frame_count:t.senderStats.video.keyFramesEncoded,uint32_nack_count:t.senderStats.video.nackCount,uint32_pli_count:t.senderStats.video.pliCount,uint32_encode_cost:1e3*(t.senderStats.video.totalEncodeTime||0),uint32_send_packet_cost:1e3*(t.senderStats.video.totalPacketSendDelay||0),uint32_video_arq_packets:t.senderStats.video.retransmittedPacketsSent};n.push(e)}if(t.senderStats.small.bytesSent){let e={uint32_video_stream_type:3,uint32_video_codec_fps:t.senderStats.small.framesSent||0,uint32_video_capture_fps:t.senderStats.small.fpsCapture||0,uint32_video_width:t.senderStats.small.frameWidth||0,uint32_video_height:t.senderStats.small.frameHeight||0,uint32_video_codec_bitrate:t.senderStats.small.bytesSent,uint32_video_enc_fps:t.senderStats.small.framesEncoded||0,uint32_key_frame_count:t.senderStats.small.keyFramesEncoded,uint32_nack_count:t.senderStats.small.nackCount,uint32_pli_count:t.senderStats.small.pliCount,uint32_encode_cost:1e3*(t.senderStats.small.totalEncodeTime||0),uint32_send_packet_cost:1e3*(t.senderStats.small.totalPacketSendDelay||0),uint32_video_arq_packets:t.senderStats.small.retransmittedPacketsSent};n.push(e)}if(t.senderStats.auxiliary.bytesSent){let e={uint32_video_stream_type:7,uint32_video_codec_fps:t.senderStats.auxiliary.framesSent||0,uint32_video_capture_fps:t.senderStats.auxiliary.fpsCapture||0,uint32_video_width:t.senderStats.auxiliary.frameWidth||0,uint32_video_height:t.senderStats.auxiliary.frameHeight||0,uint32_video_codec_bitrate:t.senderStats.auxiliary.bytesSent,uint32_video_enc_fps:t.senderStats.auxiliary.framesEncoded||0,uint32_key_frame_count:t.senderStats.auxiliary.keyFramesEncoded,uint32_nack_count:t.senderStats.auxiliary.nackCount,uint32_pli_count:t.senderStats.auxiliary.pliCount,uint32_encode_cost:1e3*(t.senderStats.auxiliary.totalEncodeTime||0),uint32_send_packet_cost:1e3*(t.senderStats.auxiliary.totalPacketSendDelay||0),uint32_video_arq_packets:t.senderStats.auxiliary.retransmittedPacketsSent};n.push(e)}let r={uint32_bitrate:0,uint32_lost:0,uint32_rtt:t.senderStats.rtt};i.msg_up_stream_info={msg_audio_status:e,msg_video_status:n,msg_network_status:r}}let{statInterval:r}=this;i.msg_down_stream_info=[],t.receiverStats.forEach((e=>{let t={msg_user_info:{str_identifier:e.userId,uint64_tinyid:e.tinyId},msg_network_status:{uint32_rtt:e.rtt,uint32_bitrate:0,uint32_lost:0},msg_audio_status:{},msg_video_status:[]};if(e.hasAudio){let i={uint32_audio_codec_bitrate:e.audio.bytesReceived,uint32_audio_total_bitrate:e.audio.bytesReceived,uint32_audio_level:1e8*e.audio.audioLevel,uint32_audio_energy:1e6*e.audio.totalAudioEnergy,uint32_audio_receive:e.audio.packetsReceived,uint32_audio_origin_lost:e.audio.packetsLost};t.msg_audio_status=i}if(e.hasVideo){let i=n.get(\"\".concat(e.userId,\"_\").concat(KN)),r=i?i.duration:0,o={uint32_video_stream_type:e.isSmallSubscribed?3:2,uint32_video_receive_fps:e.video.framesReceived,uint32_video_width:e.video.frameWidth,uint32_video_height:e.video.frameHeight,uint32_video_codec_bitrate:e.video.bytesReceived,uint32_video_receive:e.video.packetsReceived,uint32_video_origin_lost:e.video.packetsLost,uint32_video_block_time:r,uint32_video_dec_fps:e.video.framesDecoded};t.msg_video_status.push(o)}if(e.hasAuxiliary){let i=n.get(\"\".concat(e.userId,\"_\").concat(YN)),r=i?i.duration:0,o={uint32_video_stream_type:7,uint32_video_receive_fps:e.auxiliary.framesReceived,uint32_video_width:e.auxiliary.frameWidth,uint32_video_height:e.auxiliary.frameHeight,uint32_video_codec_bitrate:e.auxiliary.bytesReceived,uint32_video_receive:e.auxiliary.packetsReceived+e.auxiliary.packetsLost,uint32_video_origin_lost:e.auxiliary.packetsLost,uint32_video_block_time:r,uint32_video_dec_fps:e.auxiliary.framesDecoded};t.msg_video_status.push(o)}i.msg_down_stream_info.push(t)}));let o=this._prevReport;if(this._prevReport=JSON.parse(JSON.stringify(i)),i.msg_up_stream_info.msg_audio_status&&o.msg_up_stream_info.msg_audio_status){let e=o.msg_up_stream_info.msg_audio_status,t=i.msg_up_stream_info.msg_audio_status;if(0===e.uint32_audio_codec_bitrate)t.uint32_audio_codec_bitrate=0;else{let n=this.getDifferenceValue(e.uint32_audio_codec_bitrate,t.uint32_audio_codec_bitrate);t.uint32_audio_codec_bitrate=Math.round(8*n/r),i.msg_up_stream_info.msg_network_status.uint32_bitrate+=t.uint32_audio_codec_bitrate}}let s=o.msg_up_stream_info.msg_video_status;i.msg_up_stream_info.msg_video_status.forEach((e=>{let t=s.find((t=>t.uint32_video_stream_type===e.uint32_video_stream_type));if(!t||0===t.uint32_video_codec_bitrate)return e.uint32_video_codec_bitrate=0,e.uint32_video_enc_fps=0,void(e.uint32_video_codec_fps=0);let n=0,o=0,a=0;t&&e.uint32_video_codec_bitrate>=t.uint32_video_codec_bitrate&&(n=t.uint32_video_codec_bitrate,o=t.uint32_video_enc_fps,a=t.uint32_video_codec_fps);let c=this.getDifferenceValue(n,e.uint32_video_codec_bitrate);e.uint32_video_codec_bitrate=Math.round(8*c/r),i.msg_up_stream_info.msg_network_status.uint32_bitrate+=e.uint32_video_codec_bitrate,e.uint32_video_enc_fps=Math.round(this.getDifferenceValue(o,e.uint32_video_enc_fps)/r),e.uint32_video_codec_fps=Math.round(this.getDifferenceValue(a,e.uint32_video_codec_fps)/r),_k&&115===wk()&&0===t.uint32_video_width&&0===t.uint32_video_height&&0===t.uint32_video_codec_fps&&(e.uint32_video_codec_fps=e.uint32_video_enc_fps),nO(t.uint32_key_frame_count)||(e.uint32_key_frame_count=Math.round(this.getDifferenceValue(t.uint32_key_frame_count,e.uint32_key_frame_count))),nO(t.uint32_nack_count)||(e.uint32_nack_count=Math.round(this.getDifferenceValue(t.uint32_nack_count,e.uint32_nack_count))),nO(t.uint32_pli_count)||(e.uint32_pli_count=Math.round(this.getDifferenceValue(t.uint32_pli_count,e.uint32_pli_count))),nO(t.uint32_video_arq_packets)||(e.uint32_video_arq_packets=Math.round(this.getDifferenceValue(t.uint32_video_arq_packets,e.uint32_video_arq_packets))),nO(t.uint32_encode_cost)||(e.uint32_encode_cost=Math.round(this.getDifferenceValue(t.uint32_encode_cost,e.uint32_encode_cost)/r)),nO(t.uint32_send_packet_cost)||(e.uint32_send_packet_cost=Math.round(this.getDifferenceValue(t.uint32_send_packet_cost,e.uint32_send_packet_cost)/r))}));let a=i.msg_down_stream_info,c=o.msg_down_stream_info;return a.forEach((e=>{let t=c.find((t=>t.msg_user_info.uint64_tinyid===e.msg_user_info.uint64_tinyid));if(t){if(xP(e.msg_audio_status)||xP(t.msg_audio_status))e.msg_audio_status={};else{let i=e.msg_audio_status,n=t.msg_audio_status;i.uint32_audio_origin_lost=this.getDifferenceValue(n.uint32_audio_origin_lost,i.uint32_audio_origin_lost),i.uint32_audio_receive=this.getDifferenceValue(n.uint32_audio_receive,i.uint32_audio_receive),i.uint32_audio_receive+=i.uint32_audio_origin_lost;let o=this.getDifferenceValue(n.uint32_audio_codec_bitrate,i.uint32_audio_codec_bitrate);i.uint32_audio_codec_bitrate=Math.round(8*o/r),i.uint32_audio_total_bitrate=Math.round(8*o/r)}if(e.msg_video_status&&t.msg_video_status){let i=t.msg_video_status;e.msg_video_status=e.msg_video_status.filter((e=>i.find((t=>t.uint32_video_stream_type===e.uint32_video_stream_type)))),e.msg_video_status.forEach((e=>{let t=i.find((t=>t.uint32_video_stream_type===e.uint32_video_stream_type)),n=t.uint32_video_receive,o=t.uint32_video_origin_lost,s=t.uint32_video_codec_bitrate,a=t.uint32_video_receive_fps,c=t.uint32_video_dec_fps;e.uint32_video_origin_lost=this.getDifferenceValue(o,e.uint32_video_origin_lost),e.uint32_video_receive=this.getDifferenceValue(n,e.uint32_video_receive)+e.uint32_video_origin_lost;let l=this.getDifferenceValue(s,e.uint32_video_codec_bitrate);e.uint32_video_codec_bitrate=Math.round(8*l/r);let d=this.getDifferenceValue(a,e.uint32_video_receive_fps);e.uint32_video_receive_fps=Math.round(d/r),e.uint32_video_dec_fps=Math.round(this.getDifferenceValue(c,e.uint32_video_dec_fps)/r)}))}}})),i}getStatsReport(e){return ab(this,arguments,(function(e){var t=this;let{uplinkConnection:i,downlinkConnections:n,freezeMap:r}=e;return function*(){let e={msg_up_stream_info:{msg_audio_status:{uint32_audio_format:11,uint32_audio_sample_rate:0,uint32_audio_codec_bitrate:0,uint32_audio_receive:0,uint32_audio_origin_lost:0,uint32_audio_level:0,uint32_audio_energy:0},msg_video_status:[],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0}},msg_down_stream_info:[{msg_user_info:{str_identifier:\"\",uint64_tinyid:0},msg_audio_status:{uint32_audio_format:11,uint32_audio_sample_rate:0,uint32_audio_codec_bitrate:0,uint32_audio_total_bitrate:0,uint32_audio_level:0,uint32_audio_energy:0,uint32_audio_receive:0,uint32_audio_origin_lost:0,uint32_audio_final_lost:0},msg_video_status:[{uint32_video_stream_type:0,uint32_video_receive_fps:0,uint32_video_width:0,uint32_video_height:0,uint32_video_codec_bitrate:0,uint32_video_receive:0,uint32_video_origin_lost:0,uint32_video_block_time:0,uint32_video_dec_fps:0}],msg_network_status:{uint32_bitrate:0,uint32_rtt:0,uint32_lost:0}}]},o=yield t.getStats(i,n);return\"{}\"===JSON.stringify(t._prevReport)&&(t._prevReport=JSON.parse(JSON.stringify(e))),t.prepareReport({stats:o,report:e,freezeMap:r}),t._prevReportTime=Date.now(),e}()}))}reset(){this._prevReportTime=0,this._prevReport={},this._prevEncoderImplementation=\"\",this._prevQualityLimitationReason=\"\",this._prevDecoderImplementationMap=new Map}},XV=nb(cb()),ZV=class extends XV.default{constructor(e){let{signalChannel:t,room:i}=e;super(),ob(this,\"_room\"),ob(this,\"_signalChannel\"),ob(this,\"_log\"),ob(this,\"_uplinkRTT\",0),ob(this,\"_uplinkLoss\",0),ob(this,\"_downlinkRTT\",0),ob(this,\"_downlinkLoss\",0),ob(this,\"_downlinkPrevStatMap\",new Map),ob(this,\"_downlinkLossAndRTTMap\",new Map),ob(this,\"_interval\",-1),ob(this,\"_uplinkNetworkQuality\",0),ob(this,\"_downlinkNetworkQuality\",0),this._room=i,this._signalChannel=t,this._log=HO.createLogger({id:\"q\",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),this.initialize()}get uplinkNetworkQuality(){return this._uplinkNetworkQuality}set uplinkNetworkQuality(e){e!==this._uplinkNetworkQuality&&this._log.info(\"uplink \".concat(this.uplinkNetworkQuality,\" -> \").concat(e,\", rtt: \").concat(this._uplinkRTT,\", loss: \").concat(this._uplinkLoss)),this._uplinkNetworkQuality=e}get downlinkNetworkQuality(){return this._downlinkNetworkQuality}set downlinkNetworkQuality(e){if(e!==this._downlinkNetworkQuality){let{rtt:t,loss:i}=this.getAverageLossAndRTT([...this._downlinkLossAndRTTMap.values()]);this._log.info(\"downlink \".concat(this.downlinkNetworkQuality,\" -> \").concat(e,\", rtt: \").concat(t,\", loss: \").concat(i))}this._downlinkNetworkQuality=e}initialize(){this._signalChannel.on(nV.UPLINK_NETWORK_STATS,(e=>{this.handleUplinkNetworkQuality(e)})),this._signalChannel.on(qM,this.handleSignalConnectionStateChange.bind(this)),this.start()}handleUplinkNetworkQuality(e){var t,i;if(0!==e.data.code)return;let n=e.data.data;if(n.delay&&this.updateDelay(n.delay),!this._room.uplinkConnection)return this.uplinkNetworkQuality=0,this._uplinkLoss=0,void(this._uplinkRTT=0);let r=null==(i=null==(t=this._room)?void 0:t.uplinkConnection)?void 0:i.getPeerConnection();if(r&&this.isPeerConnectionDisconnected(r))return this.uplinkNetworkQuality=6,this._uplinkLoss=0,void(this._uplinkRTT=0);let o=n.expectAudPkg+n.expectVidPkg,s=n.recvAudPkg+n.recvVidPkg,a=o-s;0===o&&0===s||(this._uplinkLoss=a<=0?0:Math.round(a/o*100),this._uplinkRTT=n.rtt,this.uplinkNetworkQuality=this.getNetworkQuality(this._uplinkLoss,this._uplinkRTT))}handleDownlinkNetworkQuality(){return ab(this,null,(function*(){if(0===this._room.remotePublishedUserMap.size)return void(this.downlinkNetworkQuality=0);let e=[...this._room.remotePublishedUserMap.values()],t=e.filter((e=>{var t;return(null==(t=e.getPeerConnection())?void 0:t.connectionState)===iD.CONNECTED}));if(e.filter((e=>this.isPeerConnectionDisconnected(e.getPeerConnection()))).length===e.length)return void(this.downlinkNetworkQuality=6);for(let r=0;r{this.isPeerConnectionDisconnected(e)&&(this._downlinkPrevStatMap.delete(e),this._downlinkLossAndRTTMap.delete(e))})),0===this._downlinkLossAndRTTMap.size)return;let{rtt:i,loss:n}=this.getAverageLossAndRTT([...this._downlinkLossAndRTTMap.values()]);this._downlinkRTT=i,this._downlinkLoss=n,this.downlinkNetworkQuality=this.getNetworkQuality(n,i)}))}getStat(e){return ab(this,null,(function*(){let t={rtt:0,totalPacketsLost:0,totalPacketsReceived:0};if(!e||!Tw())return t;let i=e.getReceivers();try{for(let e=0;e{\"candidate-pair\"===e.type&&oO(e.currentRoundTripTime)&&(t.rtt=Math.round(1e3*e.currentRoundTripTime)),\"inbound-rtp\"===e.type&&(e.mediaType===LN.AUDIO||e.mediaType===LN.VIDEO)&&(t.totalPacketsLost+=e.packetsLost,t.totalPacketsReceived+=e.packetsReceived)}));return t}catch(n){return t}}))}getAverageLossAndRTT(e){let t={rtt:0,loss:0};return Array.isArray(e)&&e.length>0&&(e.forEach((e=>{t.rtt+=e.rtt,t.loss+=e.loss})),Object.keys(t).forEach((i=>{t[i]=Math.round(t[i]/e.length)}))),t}getNetworkQuality(e,t){return e>50||t>500?5:e>30||t>350?4:e>20||t>200?3:e>10||t>100?2:e>=0||t>=0?1:0}handleSignalConnectionStateChange(e){e.state===ZM?(this._uplinkRTT=0,this._uplinkLoss=0,this.uplinkNetworkQuality=6):e.state===eV&&6===this.uplinkNetworkQuality&&(this.uplinkNetworkQuality=5)}handleUplinkConnectionStateChange(e){let{state:t}=e;\"DISCONNECTED\"===t?(this._uplinkLoss=0,this._uplinkRTT=0,this.uplinkNetworkQuality=6):\"CONNECTED\"===t&&6===this.uplinkNetworkQuality&&(this.uplinkNetworkQuality=5)}isPeerConnectionDisconnected(e){return!(!e||e.connectionState!==iD.DISCONNECTED&&e.connectionState!==iD.FAILED&&e.connectionState!==iD.CLOSED)}setUplinkConnection(e){this._room.uplinkConnection=e,this._room.uplinkConnection?this._room.uplinkConnection.on(\"connection-state-changed\",this.handleUplinkConnectionStateChange.bind(this)):(this.uplinkNetworkQuality=0,this._uplinkRTT=0,this._uplinkLoss=0)}start(){-1===this._interval?(this._log.debug(\"start network quality calculating\"),this._interval=zw.run(wD,(()=>{this.handleDownlinkNetworkQuality();let e=[...this._downlinkLossAndRTTMap.values()];xO.emit(FO.NETWORK_QUALITY,{room:this._room,uplink:{rtt:this._uplinkRTT,loss:this._uplinkLoss},downlinks:e}),this.emit(ZV.EVENT_NETWORK_QUALITY,{uplinkNetworkQuality:this.uplinkNetworkQuality,downlinkNetworkQuality:this.downlinkNetworkQuality,uplinkRTT:this._uplinkRTT,uplinkLoss:this._uplinkLoss,downlinkRTT:this._downlinkRTT,downlinkLoss:this._downlinkLoss,downlinkInfo:e})}),{delay:2e3})):this._log.info(\"network quality calculating is already started\")}stop(){this._log.debug(\"stopped\"),-1!==this._interval&&(zw.clearTask(this._interval),this._interval=-1),this._downlinkLossAndRTTMap.clear(),this._downlinkPrevStatMap.clear()}updateDelay(e){let{tinyIdToUserIdMap:t}=this._room;e.forEach((e=>{let{srcTinyId:i,videoDelay:n,audioDelay:r}=e,o=t.get(i);if(o){let e=this._room.remotePublishedUserMap.get(o);null==e||e.setDelay({videoDelay:n,audioDelay:r})}}))}},$V=ZV;ob($V,\"EVENT_NETWORK_QUALITY\",\"0\");var ex=new WeakMap;function tx(e){let{settings:t={retries:5,timeout:2e3},onError:i,onRetrying:n,onRetryFailed:r}=e;return function(e,o,s){let a=MO({retryFunction:s.value,settings:t,onError(t){let{error:n,retry:r,reject:s,retryFuncArgs:a}=t;i&&i.call(this,n,(()=>{var t;null!=(t=ex.get(e))&&t.has(o)?r():s(n)}),s,a)},onRetrying:(t,i)=>{var r;iO(n)&&n(t,i),null!=(r=ex.get(e))&&r.has(o)&&(ex.get(e).get(o).stopRetry=i)},onRetryFailed:r});return s.value=function(){let t=ex.get(e);for(var i=arguments.length,n=new Array(i),r=0;r{var t;return null==(t=ex.get(e))?void 0:t.delete(o)}))},s}}function ix(e){let{fnName:t,callback:i,validateArgs:n=!0}=e;return function(e,r,o){let s=o.value;return o.value=function(){for(var r,o,a=arguments.length,c=new Array(a),l=0;lt===e))){a=!1;break}a&&(i&&i.apply(this,c),r&&r(),null==(o=ex.get(e))||o.delete(t))}return s.apply(this,c)},o}}var nx=class{constructor(e){this._signalInfo={tinyId:void 0,clientIp:\"\",signalIp:\"\",relayIp:\"\",relayInnerIp:\"\",relayPort:0},this._apiSuccessRateMap=new Map,this._eventMap=new Map,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=HO.createLogger({id:\"kpm\",userId:this._room.userId,sdkAppId:this._room.sdkAppId}),Object.getOwnPropertyNames(this.__proto__).forEach((e=>{e.startsWith(\"handle\")&&iO(this[e])&&(this[e]=function(e){let{fn:t,context:i}=e;return function(){try{for(var e=arguments.length,n=new Array(e),r=0;rHO.error(\"\".concat(t.name,\"() error observed \").concat(e)))):o}catch(sD){HO.error(\"\".concat(t.name,\"() error observed \").concat(sD))}}}({fn:this[e],context:this}))})),this.initData(),this.installEvents(),this._intervalId=zw.run(wD,this.setStorage.bind(this),{delay:2e4})}get _storageKey(){return\"\".concat(this._keyPrefix,\"_\").concat(this._room.userId)}initData(){this._firstPublishedUserList=[],this._networkQuality={totalUplinkRTT:0,totalUplinkLoss:0,count:0,totalDownlinkRTTAndLossMap:new Map},this._basicInfo={string_sdk_version:rN,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:kN[GD()],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,this._apiSuccessRateMap.clear(),Zk().then((e=>{this._basicInfo.string_os_version=tN(),e&&(this._basicInfo.string_device_name=e.model)}))}addEvent(e,t){return this._eventMap.set(e,t),xO.on(e,t),this}installEvents(){this.handleUnload=this.handleUnload.bind(this),window.addEventListener(\"unload\",this.handleUnload),this._room.once(\"banned\",(()=>this.handleLeaveSuccess({room:this._room,roomId:this._room.roomId}))),this.addEvent(FO.JOIN_START,this.handleJoinStart).addEvent(FO.JOIN_SCHEDULE_SUCCESS,this.handleJoinScheduleSuccess).addEvent(FO.JOIN_SIGNAL_CONNECTION_START,this.handleSignalConnectionStart).addEvent(FO.JOIN_SIGNAL_CONNECTION_END,this.handleSignalConnectionEnd).addEvent(FO.JOIN_SEND_CMD,this.handleJoinSendCMD).addEvent(FO.JOIN_RECEIVED_CMD_RES,this.handleJoinReceivedCMDResponce).addEvent(FO.JOIN_SUCCESS,this.handleJoinSuccess).addEvent(FO.JOIN_FAILED,this.handleJoinFailed).addEvent(FO.LEAVE_START,this.handleLeaveStart).addEvent(FO.LEAVE_SUCCESS,this.handleLeaveSuccess).addEvent(FO.LEAVE_SEND_CMD,this.handleLeaveSendCMD).addEvent(FO.LOCAL_TRACK_CAPTURE_START,this.handleTrackCaptureStart).addEvent(FO.LOCAL_TRACK_CAPTURE_SUCCESS,this.handleTrackCaptureSuccess).addEvent(FO.LOCAL_TRACK_CAPTURE_FAILED,this.handleTrackCaptureFailed).addEvent(FO.PUBLISH_START,this.handlePublishStart).addEvent(FO.SEND_FIRST_VIDEO_FRAME,this.handleSendFirstVideoFrame).addEvent(FO.SUBSCRIBE_START,this.handleSubscribeStart).addEvent(FO.SUBSCRIBE_SUCCESS,this.handleSubscribed).addEvent(FO.PLAY_TRACK_START,this.handlePlayStart).addEvent(FO.VIDEO_LOADED_DATA,this.handleVideoLoadedData).addEvent(FO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:i,type:n}=e;!dO(t)||!this.hitTest(t.room)||\"PLAYING\"===i&&(n===LN.AUDIO?this.handleAudioPlaying(t):this.handleVideoPlaying(t))})).addEvent(FO.NETWORK_QUALITY,this.handleNetworkQuality).addEvent(FO.HEARTBEAT_REPORT,this.handleHeartbeatStats).addEvent(FO.RECEIVED_PUBLISHED_USER_LIST,this.handleReceivedPublishUserList).addEvent(FO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:i,muteState:n}=e;if(!this.hitTest(t))return;let r=i.hasAudio||i.hasVideo||i.hasSmall,o=i.hasAuxiliary,s=n.hasAudio||n.hasVideo||n.hasSmall,a=n.hasAuxiliary;!r&&s&&this.handleRemoteStreamAdded(n.userId,\"main\"),!o&&a&&this.handleRemoteStreamAdded(n.userId,\"auxiliary\")})).addEvent(FO.API_SUCCESS_RATE,this.handleAPISuccessRate).addEvent(FO.SINGLE_CONNECTION_STAT,(e=>{let{room:t,stat:i}=e;this.hitTest(t)&&(this._pathJoinRoom.int32_ice_cost=i.ice,this._pathJoinRoom.int32_dtls_cost=i.dtls,this._pathJoinRoom.int32_peer_connection_cost=i.peerConnection)}))}uninstallEvents(){window.removeEventListener(\"unload\",this.handleUnload),this._eventMap.forEach(((e,t)=>xO.off(t,e))),this._eventMap.clear()}destroy(){this.uninstallEvents(),zw.clearTask(this._intervalId)}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(),this.checkStorage()),e.params&&(nO(e.params.frameWorkType)||(this._frameWorkType=e.params.frameWorkType,this._basicInfo.uint32_framework=this._frameWorkType),nO(e.params.component)||(this._component=e.params.component,this._basicInfo.uint32_component=this._component),nO(e.params.language)||(this._language=e.params.language,this._basicInfo.uint32_caller_coding_language=this._language)))}handleJoinScheduleSuccess(e){let{room:t,detailCost:i}=e;if(this.hitTest(t)&&i){let{totalCost:e,local:t,dns:n,tcp:r,tls:o,request:s,response:a}=i;this._pathJoinRoom.int32_schedule_cost=e,this._pathJoinRoom.int32_schedule_local=t,this._pathJoinRoom.int32_schedule_dns=n,this._pathJoinRoom.int32_schedule_tcp=r,this._pathJoinRoom.int32_schedule_tls=o,this._pathJoinRoom.int32_schedule_request=s,this._pathJoinRoom.int32_schedule_response=a}}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:i}=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(),i&&(this._pathJoinRoom.int32_send_request_acc_ip_cmd_ret=i instanceof gb?Number(i.getExtraCode()||i.getCode()):mb.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:i}=e;this.hitTest(t)&&(this._pathJoinRoom.uint64_end_time=Date.now(),0===this._pathJoinRoom.int32_end_ret&&(this._pathJoinRoom.int32_end_ret=i.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())}handleRemoteStreamAdded(e,t){var i;let n=\"\".concat(e,\"_\").concat(t);if(!this._remoteStreamStatMap.has(n)){let r={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:eb($C({},sx),{msg_user_info:new ax({userId:e,tinyId:null==(i=this._room.remotePublishedUserMap.get(e))?void 0:i.tinyId,role:20})})};r.statsToReport.uint32_stream_type=\"main\"===t?2:7,this._remoteStreamStatMap.set(n,r)}}handleSubscribeStart(e){let{room:t,remotePublishedUser:i,streamType:n,subscribeState:r}=e;if(!this.hitTest(t))return;let{userId:o,tinyId:s,role:a}=i,c=new ax({userId:o,tinyId:s,role:\"anchor\"===a?20:21}),l=Date.now(),d=\"\".concat(o,\"_\").concat(n),u=this._remoteStreamStatMap.get(d);u&&0===u.subscribeStartTime&&(u.subscribeStartTime=l),\"main\"===n?(i.muteState.hasVideo&&(r.video||r.smallVideo)&&!this._pathMainVideoMap.has(d)&&this._pathMainVideoMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_render_first_frame_time:0,uint64_combine_first_frame_time:0},userId:o,sendSubscribeCMDTime:l}),i.muteState.hasAudio&&r.audio&&!this._pathMainAudioMap.has(d)&&this._pathMainAudioMap.set(d,{statsToReport:{msg_user_info:c,uint64_start_enter_time:this._pathJoinRoom.uint64_start_time,uint64_play_first_frame_time:0},userId:o,sendSubscribeCMDTime:l})):i.muteState.hasAuxiliary&&r.auxiliary&&!this._pathAuxiliaryMap.has(d)&&this._pathAuxiliaryMap.set(d,{sendSubscribeCMDTime:l})}handleSubscribed(e){let{room:t,remotePublishedUser:i,streamType:n}=e;if(this.hitTest(t)){let e=\"\".concat(i.userId,\"_\").concat(n),t=this._remoteStreamStatMap.get(e);t&&0===t.subscribedTime&&(t.subscribedTime=Date.now())}}handlePlayStart(e){let{track:t}=e;if(!dO(t)||!this.hitTest(t.room))return;let i=\"\".concat(t.userId,\"_\").concat(t.streamType),n=this._remoteStreamStatMap.get(i);0===(null==n?void 0:n.playStreamTime)&&(n.playStreamTime=Date.now())}handleVideoLoadedData(e){let{track:t}=e;if(!dO(t)||!this.hitTest(t.room))return;let i=\"\".concat(t.userId,\"_\").concat(t.streamType),n=this._pathMainVideoMap.get(i);n&&0===n.statsToReport.uint64_combine_first_frame_time&&(n.statsToReport.uint64_combine_first_frame_time=Date.now())}handleVideoPlaying(e){let t=\"\".concat(e.userId,\"_\").concat(e.streamType),i=Date.now(),n=this._pathMainVideoMap.get(t),r=this._remoteStreamStatMap.get(t);if(n&&(0===n.statsToReport.uint64_render_first_frame_time&&(n.statsToReport.uint64_render_first_frame_time=i),r)){let{statsToReport:e,playStreamTime:t,subscribedTime:o}=r;0===e.uint32_video_render_first&&t-o<=100&&(e.uint32_video_render_first=i-n.sendSubscribeCMDTime)}let o=this._pathAuxiliaryMap.get(t);if(o&&r){let{statsToReport:e,playStreamTime:t,subscribedTime:n}=r;0===e.uint32_video_render_first&&t-n<=100&&(e.uint32_video_render_first=i-o.sendSubscribeCMDTime)}}handleAudioPlaying(e){let t=\"\".concat(e.userId,\"_\").concat(e.streamType),i=this._pathMainAudioMap.get(t);i&&0===i.statsToReport.uint64_play_first_frame_time&&(i.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:i,userId:n,videoDelay:r,audioDelay:o}=e,s=this._networkQuality.totalDownlinkRTTAndLossMap.get(n);if(s)s.totalRTT+=t,s.totalLoss+=i,r&&(s.totalVideoDelay=(s.totalVideoDelay||0)+r,s.videoDelayCount=(s.videoDelayCount||0)+1),o&&(s.totalAudioDelay=(s.totalAudioDelay||0)+o,s.audioDelayCount=(s.audioDelayCount||0)+1),s.count++;else{let e,s,a,c;r&&(s=r,a=1),o&&(e=o,c=1),this._networkQuality.totalDownlinkRTTAndLossMap.set(n,{totalRTT:t,totalLoss:i,count:1,totalAudioDelay:e,totalVideoDelay:s,audioDelayCount:c,videoDelayCount:a})}})))}handleHeartbeatStats(e){if(this.hitTest(e.room)){let{msg_up_stream_info:t,msg_down_stream_info:i}=e.report;if(t.msg_video_status[0]){let{uint32_video_codec_bitrate:e,uint32_video_enc_fps:i,uint32_video_width:n,uint32_video_height:r}=t.msg_video_status[0];this._localStreamStat.totalVideoBitrate+=e,this._localStreamStat.totalVideoFPS+=i,this._localStreamStat.totalVideoWidth+=n,this._localStreamStat.totalVideoHeight+=r,this._localStreamStat.videoCount++}if(t.msg_audio_status){let{uint32_audio_level:e}=t.msg_audio_status;Math.floor(e/xD*100)>0&&(this._localStreamStat.totalAudioLevel+=e/xD,this._localStreamStat.audioLevelCount++)}i.forEach((e=>{let{msg_user_info:t,msg_audio_status:i,msg_video_status:n}=e,r=t.str_identifier,o=this._room.remotePublishedUserMap.get(r);if(n.forEach((e=>{let t=2===e.uint32_video_stream_type,i=7===e.uint32_video_stream_type,n=\"\".concat(r,\"_\").concat(t?\"main\":\"auxiliary\"),s=this._remoteStreamStatMap.get(n);if(s&&(t&&(null==o?void 0:o.remoteVideoTrack.isSubscribed)||i&&(null==o?void 0:o.remoteAuxiliaryTrack))){s.totalVideoFPS+=e.uint32_video_receive_fps,s.totalVideoBitrate+=e.uint32_video_codec_bitrate,s.videoCount++,0===s.statsToReport.uint32_video_width&&(s.statsToReport.uint32_video_width=e.uint32_video_width),0===s.statsToReport.uint32_video_height&&(s.statsToReport.uint32_video_height=e.uint32_video_height);let i=t?o.remoteVideoTrack:o.remoteAuxiliaryTrack;i.stat.jitterBufferDelay&&(s.videoJitterBufferDelay=i.stat.jitterBufferDelay),i.stat.framesReceived&&(s.statsToReport.uint32_video_consume_render_rate=Math.floor(i.stat.framesDecoded/i.stat.framesReceived*XC(10,6)))}})),i){let e=\"\".concat(r,\"_\",\"main\"),t=this._remoteStreamStatMap.get(e);this._remoteStreamStatMap.has(e)&&t&&(null==o?void 0:o.remoteAudioTrack.isSubscribed)&&(t.totalAudioBitrate+=i.uint32_audio_codec_bitrate,t.audioCount++,o.remoteAudioTrack.stat.jitterBufferDelay&&(t.audioJitterBufferDelay=o.remoteAudioTrack.stat.jitterBufferDelay),Math.floor(i.uint32_audio_level/xD*100)>0&&(t.totalAudioLevel+=i.uint32_audio_level/xD,t.audioLevelCount++))}}))}}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:i}=e,n={NotFoundError:1,NotAllowedError:2,NotReadableError:3,OverConstrainedError:4,AbortError:5,InvalidStateError:6,SecurityError:7,TypeError:8}[i.name]||(i instanceof gb?i.getExtraCode()||i.getCode():mb.UNKNOWN);1===t.mediaType&&!this._pathJoinRoom.uint64_init_audio_end_time&&(this._pathJoinRoom.int32_init_audio_ret=n,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=n,this._pathJoinRoom.uint64_init_camera_end_time=Date.now())}handleAPISuccessRate(e){let{room:t,apiName:i,error:n,cost:r}=e;if(!this.hitTest(t))return;let o=cx[i],s={uint32_function_request_type:o,uint32_avg_value:0,uint32_max_value:0,uint32_request_count:1,uint32_success_count:0,msg_error_code:[]};if(n){let e=n.extraCode||n.code||mb.UNKNOWN;Qw.logFailedEvent({eventType:i,code:e,userId:this._room.userId,error:n});let t={int32_error_code:e,error_count:1};s.msg_error_code.push(t)}else oO(r)&&(Qw.logSuccessEvent({eventType:i,userId:this._room.userId}),s.uint32_avg_value=r,s.uint32_max_value=r,s.uint32_success_count=1);let a=this._apiSuccessRateMap.get(o);a?(a.uint32_success_count+s.uint32_success_count>0&&(a.uint32_avg_value=(a.uint32_avg_value*a.uint32_success_count+s.uint32_avg_value)/(a.uint32_success_count+s.uint32_success_count)),a.uint32_max_value=Math.max(a.uint32_max_value,s.uint32_max_value),a.uint32_request_count+=1,a.uint32_success_count=a.uint32_success_count+s.uint32_success_count,s.msg_error_code.forEach((e=>{let t=a.msg_error_code.find((t=>t.int32_error_code===e.int32_error_code));t?t.error_count+=1:a.msg_error_code.push(e)}))):this._apiSuccessRateMap.set(o,s)}hasVideoFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&UN))>=0}hasAudioFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&HN))>=0}hasAuxFlag(e){return this._firstPublishedUserList.findIndex((t=>t.userId===e&&t.flag&BN))>=0}hitTest(e){return e===this._room}checkStorage(){return ab(this,null,(function*(){try{let e=GO.getItem(this._storageKey);e&&(yield this.upload(e),GO.deleteItem(this._storageKey))}catch(HL){this._log.warn(HL)}}))}setStorage(){this.prepareReport();let e=this.getReportData();0!==e.msg_path_enter_room.uint64_start_time&&GO.setItem(this._storageKey,e)}prepareReport(){if(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:i}=e,n=this._networkQuality.totalDownlinkRTTAndLossMap.get(i);if(n){let{totalLoss:t,count:i,audioDelayCount:r,videoDelayCount:o,totalAudioDelay:s,totalVideoDelay:a}=n;e.statsToReport.uint32_avg_down_loss=Math.floor(t/i),r&&s&&(e.statsToReport.uint32_audio_network_p2p_delay=Math.floor(s/r),e.audioJitterBufferDelay&&(e.statsToReport.uint32_p2p_delay=Math.floor(e.statsToReport.uint32_audio_network_p2p_delay+e.audioJitterBufferDelay))),o&&a&&(e.statsToReport.uint32_video_network_p2p_delay=Math.floor(a/o))}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:r}=this._room;r&&(e.statsToReport.uint32_audio_play_time=r.getDuration(t,LN.AUDIO),e.statsToReport.uint32_video_play_time=r.getDuration(t,LN.VIDEO)),e.statsToReport.uint32_video_render_first=Math.min(e.statsToReport.uint32_video_render_first,ox);let{badCaseDetector:o}=this._room,{dataFreeze:s,count:a}=o.getDataFreezeDuration(t),{renderFreeze:c}=o.getRenderFreezeDuration(t);e.statsToReport.uint32_video_block_count=a,e.statsToReport.uint32_video_block_time=Math.min(s,e.statsToReport.uint32_video_play_time),e.statsToReport.uint32_video_external_block_time=Math.min(c,e.statsToReport.uint32_video_play_time),o.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,(0===e.subscribeStartTime||e.subscribeStartTime-e.streamAddedTime>100||0===e.playStreamTime)&&(this._pathMainAudioMap.delete(t),this._pathMainVideoMap.delete(t),e.statsToReport.uint32_video_render_first=0)})),this._pathMainAudioMap.forEach(((e,t)=>{this.hasAudioFlag(e.userId)?e.statsToReport.uint64_play_first_frame_time-e.statsToReport.uint64_start_enter_time>ox&&(e.statsToReport.uint64_play_first_frame_time=e.statsToReport.uint64_start_enter_time+ox):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>ox&&(e.statsToReport.uint64_render_first_frame_time=e.statsToReport.uint64_start_enter_time+ox):this._pathMainVideoMap.delete(t)})),this._pathJoinRoom.uint64_end_time-this._pathJoinRoom.uint64_start_time>ox&&(this._pathJoinRoom.uint64_end_time=this._pathJoinRoom.uint64_start_time+ox)}getReportData(){return{uint32_sdk_app_id:Number(this._room.sdkAppId),msg_user_info:new ax({userId:this._room.userId,tinyId:this._room.tinyId,role:\"anchor\"===this._room.role?20:21}),msg_basic_info:this._basicInfo,uint32_acc_ip:AO(this._signalInfo.relayIp),uint32_client_ip:AO(this._signalInfo.clientIp,!1),uint32_acc_port:this._signalInfo.relayPort||0,uint64_timestamp:Date.now(),uint32_seq:Math.floor(2147483648*Math.random()),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:AO(this._signalInfo.clientIp,!1),error_code:[],msg_local_statistics:this._localStreamStat.statsToReport,msg_function_request_stats:[...this._apiSuccessRateMap.values()]}}report(){try{this.prepareReport();let e=this.getReportData();this.upload(e),GO.deleteItem(this._storageKey),this.initData()}catch(HL){this._log.warn(HL)}}upload(e){if(Yk||0===e.msg_path_enter_room.uint64_start_time||[_N,mN,fN].findIndex((e=>e===location.host))>=0)return;let t=Number(this._room.sdkAppId),i=BD(t,yN.KEY_POINT),n=!1;navigator.sendBeacon&&(n=navigator.sendBeacon(i,JSON.stringify(e))),n||PO({url:i,body:JSON.stringify(e)})}setConnectionType(e){this.connectionType=e,this._basicInfo.uint32_connection_type=e}};rb([tx({settings:{timeout:500,retries:3}})],nx.prototype,\"upload\",1);var rx,ox=5e3,sx={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_render_first: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},ax=class{constructor(e){this.str_identifier=String(e.userId),this.str_tinyid=String(e.tinyId||0),this.uint32_role=e.role}},cx=((rx=cx||{})[rx.enterRoom=50001]=\"enterRoom\",rx[rx.exitRoom=50002]=\"exitRoom\",rx[rx.switchRole=50003]=\"switchRole\",rx[rx.destroy=50004]=\"destroy\",rx[rx.startLocalAudio=50005]=\"startLocalAudio\",rx[rx.updateLocalAudio=50006]=\"updateLocalAudio\",rx[rx.stopLocalAudio=50007]=\"stopLocalAudio\",rx[rx.startLocalVideo=50008]=\"startLocalVideo\",rx[rx.updateLocalVideo=50009]=\"updateLocalVideo\",rx[rx.stopLocalVideo=50010]=\"stopLocalVideo\",rx[rx.startScreenShare=50011]=\"startScreenShare\",rx[rx.updateScreenShare=50012]=\"updateScreenShare\",rx[rx.stopScreenShare=50013]=\"stopScreenShare\",rx[rx.enableAudioVolumeEvaluation=50014]=\"enableAudioVolumeEvaluation\",rx[rx.startRemoteVideo=50015]=\"startRemoteVideo\",rx[rx.updateRemoteVideo=50016]=\"updateRemoteVideo\",rx[rx.stopRemoteVideo=50017]=\"stopRemoteVideo\",rx[rx.muteRemoteAudio=50018]=\"muteRemoteAudio\",rx[rx.setRemoteAudioVolume=50019]=\"setRemoteAudioVolume\",rx[rx.startMixTranscode=50020]=\"startMixTranscode\",rx[rx.stopMixTranscode=50021]=\"stopMixTranscode\",rx[rx.startPublishCDNStream=50022]=\"startPublishCDNStream\",rx[rx.stopPublishCDNStream=50023]=\"stopPublishCDNStream\",rx[rx.PeerConnectionConnect=50024]=\"PeerConnectionConnect\",rx[rx.PeerConnectionReconnect=50025]=\"PeerConnectionReconnect\",rx[rx.WebsocketConnect=50026]=\"WebsocketConnect\",rx[rx.WebsocketReconnect=50027]=\"WebsocketReconnect\",rx[rx.schedule=50028]=\"schedule\",rx[rx.SPCConnect=50029]=\"SPCConnect\",rx[rx.SPCReconnect=50030]=\"SPCReconnect\",rx[rx.videoCtxGl=50031]=\"videoCtxGl\",rx[rx.videoCtxGlRecover=50032]=\"videoCtxGlRecover\",rx[rx.videoCtx2d=50033]=\"videoCtx2d\",rx[rx[\"CDNStreaming.startPlugin\"]=50034]=\"CDNStreaming.startPlugin\",rx[rx[\"CDNStreaming.updatePlugin\"]=50035]=\"CDNStreaming.updatePlugin\",rx[rx[\"CDNStreaming.stopPlugin\"]=50036]=\"CDNStreaming.stopPlugin\",rx[rx[\"AIDenoiser.startPlugin\"]=50037]=\"AIDenoiser.startPlugin\",rx[rx[\"AIDenoiser.updatePlugin\"]=50038]=\"AIDenoiser.updatePlugin\",rx[rx[\"AIDenoiser.stopPlugin\"]=50039]=\"AIDenoiser.stopPlugin\",rx[rx[\"AudioMixer.startPlugin\"]=50040]=\"AudioMixer.startPlugin\",rx[rx[\"AudioMixer.updatePlugin\"]=50041]=\"AudioMixer.updatePlugin\",rx[rx[\"AudioMixer.stopPlugin\"]=50042]=\"AudioMixer.stopPlugin\",rx),lx=nx,dx=class{constructor(){ob(this,\"_startTime\"),ob(this,\"_endTime\"),this._startTime=0,this._endTime=0,this.start()}start(){0===this._startTime&&(this._startTime=fO())}stop(){0===this._endTime&&(this._endTime=fO())}getDuration(){return 0===this._endTime?fO()-this._startTime:this._endTime-this._startTime}get endTime(){return this._endTime}},ux=class{constructor(e){ob(this,\"_room\",null),ob(this,\"_durationMap\"),ob(this,\"_eventMap\",new Map),this._room=e.room,this._durationMap=new Map,this.installEvents()}installEvents(){this._eventMap.set(FO.SUBSCRIBE_SUCCESS,this.handleSubscribed).set(FO.UNSUBSCRIBE_SUCCESS,this.handleStreamStopped).set(FO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:i,muteState:n}=e;var r;let{userId:o}=n;if(!this.hitTest(t))return;i.hasAudio&&!n.hasAudio&&this.stopDurationItem(\"\".concat(o,\"_\",\"main\"),LN.AUDIO),i.hasVideo&&!n.hasVideo&&this.stopDurationItem(\"\".concat(o,\"_\",\"main\"),LN.VIDEO),i.hasAuxiliary&&!n.hasAuxiliary&&this.stopDurationItem(\"\".concat(o,\"_\",\"auxiliary\"),LN.VIDEO);let s=null==(r=this._room)?void 0:r.remotePublishedUserMap.get(o);!s||(!i.hasAudio&&n.hasAudio&&s.remoteAudioTrack.isSubscribed&&this.addDuractionItem(o,LN.AUDIO,\"main\"),!i.hasVideo&&n.hasVideo&&s.remoteVideoTrack.isSubscribed&&this.addDuractionItem(o,LN.VIDEO,\"main\"),!i.hasAuxiliary&&n.hasAuxiliary&&s.remoteAuxiliaryTrack.isSubscribed&&this.addDuractionItem(o,LN.VIDEO,\"auxiliary\"))})),this._eventMap.forEach(((e,t)=>xO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>xO.off(t,e,this))),this._eventMap.clear()}handleSubscribed(e){let{room:t,streamType:i,remotePublishedUser:n}=e;if(!this.hitTest(t))return;let{userId:r}=n,o=\"\".concat(r,\"_\").concat(i);if(n.muteState.hasAudio&&\"main\"===i)if(n.remoteAudioTrack.isSubscribed){let e=new dx,t=this._durationMap.get(o);t?this.isRecording(t.audio)||t.audio.push(e):this._durationMap.set(o,{userId:r,type:i,audio:[e],video:[]})}else this.stopDurationItem(o,LN.AUDIO);if(n.muteState.hasVideo||n.muteState.hasAuxiliary)if(n.remoteVideoTrack.isSubscribed||n.remoteAuxiliaryTrack.isSubscribed){let e=new dx,t=this._durationMap.get(o);t?this.isRecording(t.video)||t.video.push(e):this._durationMap.set(o,{userId:r,type:i,audio:[],video:[e]})}else this.stopDurationItem(o,LN.VIDEO)}handleStreamStopped(e){let{room:t,streamType:i,remotePublishedUser:n}=e;if(!this.hitTest(t))return;let{userId:r}=n,o=\"\".concat(r,\"_\").concat(i);this.stopDurationItem(o,LN.AUDIO),this.stopDurationItem(o,LN.VIDEO)}isRecording(e){return e.findIndex((e=>0===e.endTime))>=0}addDuractionItem(e,t,i){let n=\"\".concat(e,\"_\").concat(i),r=new dx,o=this._durationMap.get(n);o?this.isRecording(o[t])||o[t].push(r):this._durationMap.set(n,{userId:e,type:i,audio:t===LN.AUDIO?[r]:[],video:t===LN.AUDIO?[]:[r]})}stopDurationItem(e,t){if(this._durationMap.has(e)){let i=this._durationMap.get(e)[t].find((e=>0===e.endTime));i&&i.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()}},hx=class{constructor(e){ob(this,\"_room\"),ob(this,\"_renderFreezeMap\",new Map),ob(this,\"_isVideoPlayingEventFiredMap\",new Map),ob(this,\"_dataFreezeMap\",new Map),ob(this,\"_monitorFreezeData\",new Map),ob(this,\"_eventMap\",new Map),this._room=e.room,this.installEvents()}installEvents(){this._eventMap.set(FO.LEAVE_SUCCESS,(e=>{let{room:t}=e;this.hitTest(t)&&this.stop()})).set(FO.PLAY_TRACK_START,this.onPlayTrackStart).set(FO.UNSUBSCRIBE_SUCCESS,(e=>{let{room:t,streamType:i,remotePublishedUser:n}=e;if(!this.hitTest(t))return;let{userId:r}=n,o=\"\".concat(r,\"_\").concat(i);this.stopDataFreeze({key:o,userId:r,type:i})})).set(FO.REMOTE_PUBLISH_STATE_CHANGED,(e=>{let{room:t,prevMuteState:i,muteState:n}=e;if(!this.hitTest(t))return;let{userId:r}=n;if(i.hasVideo&&!n.hasVideo){let e=\"main\",t=\"\".concat(n.userId,\"_\").concat(e);this.stopDataFreeze({key:t,userId:r,type:e})}if(i.hasAuxiliary&&!n.hasAuxiliary){let e=\"auxiliary\",t=\"\".concat(n.userId,\"_\").concat(e);this.stopDataFreeze({key:t,userId:r,type:e})}})).set(FO.PLAYER_STATE_CHANGED,(e=>{let{track:t,state:i,reason:n,type:r}=e;if(dO(t)&&this.hitTest(t.room)&&r===LN.VIDEO){if(\"PLAYING\"===i){let e=\"\".concat(t.userId,\"_\").concat(t.streamType);this._isVideoPlayingEventFiredMap.set(e,!0)}n===LN.MUTE?this.onVideoTrackMuted(t):n===LN.UNMUTE&&this.onVideoTrackUnmuted(t)}})).set(FO.HEARTBEAT_REPORT,this.onHearBeatReport),this._eventMap.forEach(((e,t)=>xO.on(t,e,this)))}uninstallEvents(){this._eventMap.forEach(((e,t)=>xO.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:i}=e,n=\"\".concat(t,\"_\").concat(i),r=this._dataFreezeMap.get(n),o=new dx;r?r.durationItemList.push(o):this._dataFreezeMap.set(n,{userId:t,type:i,durationItemList:[o],isFreezing(){let e=this.durationItemList[this.durationItemList.length-1];return e&&0===e.endTime}})}onVideoTrackUnmuted(e){if(!e.isSubscribed)return;let{userId:t,streamType:i}=e,n=\"\".concat(t,\"_\").concat(i);this.stopDataFreeze({key:n,userId:t,type:i})}onHearBeatReport(e){let{room:t,report:i}=e;!this.hitTest(t)||i.msg_down_stream_info.forEach((e=>{let t=this._room.remotePublishedUserMap.get(e.msg_user_info.str_identifier);if(!t)return;let{userId:i,muteState:n}=t;e.msg_video_status.forEach((e=>{2===e.uint32_video_stream_type&&n.hasVideo&&!n.videoMuted&&t.remoteVideoTrack.isSubscribed&&this.handleRenderFreeze({userId:i,fps:e.uint32_video_dec_fps,type:\"main\"}),7===e.uint32_video_stream_type&&n.hasAuxiliary&&t.remoteAuxiliaryTrack.isSubscribed&&this.handleRenderFreeze({userId:i,fps:e.uint32_video_dec_fps,type:\"auxiliary\"})}))}))}stopDataFreeze(e){let{key:t,userId:i,type:n}=e,r=this._dataFreezeMap.get(t);if(!r||!r.isFreezing())return;let o=r.durationItemList[r.durationItemList.length-1];o.stop();let s=o.getDuration();s>fD?this._monitorFreezeData.set(t,{userId:i,type:n,duration:s}):r.durationItemList.pop()}getTotalDuration(e){return e.reduce(((e,t)=>{let i=t.getDuration();return e+Math.min(i,5e3)}),0)}handleRenderFreeze(e){return ab(this,arguments,(function(e){var t=this;let{userId:i,fps:n,type:r}=e;return function*(){let e=\"\".concat(i,\"_\").concat(r),o=t._renderFreezeMap.get(e);if(n<=2){let n=fO();o&&!o.isFreeze&&(o.freezeTimeline.push({startTime:n,endTime:0}),o.isFreeze=!0),o||t._renderFreezeMap.set(e,{userId:i,type:r,isFreeze:!0,freezeTimeline:[{startTime:n,endTime:0}],renderFreezeTotal:0})}else if(o&&o.isFreeze){o.isFreeze=!1;let e=o.freezeTimeline.pop();if(e){e.endTime=fO();let t=e.endTime-e.startTime;o.freezeTimeline.push(e),o.renderFreezeTotal+=Math.min(5e3,t)}}}()}))}onPlayTrackStart(e){let{track:t}=e;if(!dO(t)||!this.hitTest(t.room)||t.kind!==LN.VIDEO||t.hasFlag)return;let i=\"\".concat(t.userId,\"_\").concat(t.streamType);this._isVideoPlayingEventFiredMap.has(i)||this._isVideoPlayingEventFiredMap.set(i,!1)}getDataFreezeDuration(e){let t={dataFreeze:0,count:0},i=this._dataFreezeMap.get(e);if(i){if(i.isFreezing()){let e=i.durationItemList[i.durationItemList.length-1];e.stop(),e.getDuration(){let o=null;mO([Ix((e=>t.count[0]=e+1),(e=>{let{error:i,retry:n}=e;t.msg[0]=i.message,o||n()}))(Ex(i,LN.MAIN),e,{get timeout(){return 1e3*$D(2+t.count[0])}}),Ix((e=>t.count[1]=e+1),(e=>{let{error:i,retry:n}=e;t.msg[1]=i.message,o||n()}))(Ex(i,LN.BACKUP),e,{get timeout(){return 1e3*$D(2+t.count[1])}})]).then((e=>{o=e,n(o)})).catch(r)}))}(c,e,i);d.config&&(d.config.loggerDomain&&pN(d.config.loggerDomain),sO(d.config.scheduleCache)&&mx(!d.config.scheduleCache)),e.delta=fO()-l;let u=function(e,t,i){let n=performance.getEntriesByType(\"resource\"),r=Ex(e,LN.MAIN),o=Ex(e,LN.BACKUP),s={totalCost:0,local:0,dns:0,tcp:0,tls:0,request:0,response:0};for(let a of n)if(a.startTime>=i&&(a.name===r||a.name===o)&&a.transferSize>0){let e=a.name===r?LN.MAIN:LN.BACKUP,i=Math.round(a.duration),n=Math.round(a.domainLookupStart-a.startTime),o=Math.round(a.domainLookupEnd-a.domainLookupStart),c=Math.round(a.requestStart-a.secureConnectionStart),l=Math.round(a.secureConnectionStart-a.connectStart),d=Math.round(a.responseStart-a.requestStart),u=Math.round(a.responseEnd-a.responseStart),h=[n,o,c,l,d,u];Qw.uploadEvent({log:\"stat-schedule-net:\".concat(i,\"(\").concat(h.join(\"->\"),\") \").concat(e),userId:t}),s=eb($C({},s),{totalCost:i,local:n,dns:o,tcp:l,tls:c,request:d,response:u});break}return s}(Number(i),t,l);return px=d,{isCached:!1,result:d,detailCost:u}}catch(c){let e=cO(c)?c[0]:c,t=oO(e.code)?e.code:0,i=\"schedule failed\".concat(e.message?\": \".concat(e.message):\"\"),n=new gb({code:mb.SCHEDULE_FAILED,extraCode:t,message:qO({key:JO.JOIN_ROOM_FAILED,data:{error:i,code:t}})});throw HO.error(n),n}}()}))}xO.on(\"28\",(()=>mx(!0))),xO.on(\"63\",(()=>mx(!0))),xO.on(\"84\",(()=>mx(!0))),xO.on(\"201\",(e=>{\"RECONNECTING\"===e.state&&mx(!0)})),xO.on(\"202\",(e=>{\"RECONNECTING\"===e.state&&mx(!0)}));var gx={main:\"\",backup:\"\"};function Tx(e){cO(e)?(gx.main=e[0],gx.backup=e[1]):gx.main=e}function Ex(e){let t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:LN.MAIN;return t=FD(e)?i===LN.MAIN?ID.MAIN_OVERSEA:ID.BACKUP_OVERSEA:i===LN.MAIN?ID.MAIN:ID.BACKUP,\"https://\".concat(gx[i]||t,\"/api/v1/config\")}function Sx(e,t,i){return new Promise(((n,r)=>{PO({url:e,body:t,timeout:i.timeout}).then((e=>{0===e.data.code?n(e.data.data):r({code:e.data.code,message:e.data.msg})})).catch(r)}))}var Ix=(e,t)=>MO({retryFunction:Sx,settings:{retries:3,timeout:0},onError:t,onRetrying:e});var vx=nb(cb(),1),yx=[-1,-1,-1,1,1,-1,1,1],Ax=[0,0,0,1,1,0,1,1],Rx=class extends Gw{constructor(e,t){super(),this.context=e,ob(this,\"name\"),ob(this,\"input\"),ob(this,\"output\"),ob(this,\"texture\"),ob(this,\"image\"),ob(this,\"ctx2d\",null),ob(this,\"fbo\"),ob(this,\"width\",0),ob(this,\"height\",0),ob(this,\"x\",0),ob(this,\"y\",0),ob(this,\"program\"),ob(this,\"vertexShader\"),ob(this,\"fragmentShader\"),ob(this,\"totalFrames\",0),ob(this,\"dropFrames\",0),ob(this,\"matchInputSize\",!0),ob(this,\"texCoordBuffer\"),ob(this,\"positionBuffer\"),ob(this,\"lastInfo\",{timestamp:0,totalFrames:0,x:0,y:0,width:0,height:0,fps:0}),ob(this,\"_canvas\",null),this.context.once(\"disconnect\",(()=>{\"closed\"!==this.state&&this.close()})),this.name=t.name,this.matchInputSize=!1!==t.matchInputSize,this.width=t.width||e.width,this.height=t.height||e.height;let i=e._gl;if(i)try{!1!==t.createTexture&&(this.texture=i.createTexture()),this.texCoordBuffer=this.createBuffer(Ax),this.positionBuffer=this.createBuffer(yx),this.useTexture((()=>{i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MIN_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_MAG_FILTER,i.LINEAR),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_S,i.CLAMP_TO_EDGE),i.texParameteri(i.TEXTURE_2D,i.TEXTURE_WRAP_T,i.CLAMP_TO_EDGE)})),t.useFbo&&(this.fbo=i.createFramebuffer(),this.useBufferFrame((()=>{this.useTexture((()=>{i.texImage2D(i.TEXTURE_2D,0,i.RGBA,this.width,this.height,0,i.RGBA,i.UNSIGNED_BYTE,null),i.framebufferTexture2D(i.FRAMEBUFFER,i.COLOR_ATTACHMENT0,i.TEXTURE_2D,this.texture,0)}))}))),t.useDefaultProgram&&(this.program=this.context.defaultProgam),t.vertexShaderSource&&t.fragmentShaderSource&&(this.vertexShader=e.createShader(i.VERTEX_SHADER,t.vertexShaderSource),this.fragmentShader=e.createShader(i.FRAGMENT_SHADER,t.fragmentShaderSource),this.program=e.createProgram(this.vertexShader,this.fragmentShader))}catch(n){this.context.destroy(\"\".concat(this.name,\" init failed\"),n)}else if(e.ctx2d&&t.create2d){let e=document.createElement(\"canvas\"),t=\"function\"==typeof e.transferControlToOffscreen?e.transferControlToOffscreen():e;t.width=this.width,t.height=this.height,this.ctx2d=t.getContext(\"2d\"),this.image=t,this._canvas=t}}connect(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;ni.texImage2D(i.TEXTURE_2D,0,i.RGBA,e,t,0,i.RGBA,i.UNSIGNED_BYTE,null))),this.output&&this.output.matchInputSize&&this.output.resize(e,t))}draw2d(e,t,i,n,r){return!(!this.ctx2d||!e)&&(e instanceof ImageData?this.ctx2d.putImageData(e,t,i):this.ctx2d.drawImage(e,t,i,n,r),!0)}getInfo(){var e;let{totalFrames:t,x:i,y:n,width:r,height:o}=this,s=Date.now(),a=(t-this.lastInfo.totalFrames)/((s-this.lastInfo.timestamp)/1e3)>>0;return this.lastInfo={totalFrames:t,x:i,y:n,width:r,height:o,timestamp:s,fps:a},$C({parent:null==(e=this.input)?void 0:e.getInfo()},this.lastInfo)}};rb([Bw(Gw.INIT,\"connected\")],Rx.prototype,\"connect\",1),rb([Bw(\"connected\",Gw.INIT,{ignoreError:!0})],Rx.prototype,\"disconnect\",1),rb([Bw([],\"closed\")],Rx.prototype,\"close\",1);var Cx=[0,1,0,0,1,1,1,0],bx=class extends Rx{constructor(e,t){super(e,Object.assign({useDefaultProgram:!0,createTexture:!1,name:\"destination\"},t)),ob(this,\"_intervalId\",0),ob(this,\"_sequence\",0),e._gl?this.setTexBuffer(Cx):e.ctx2d&&(this.ctx2d=e.ctx2d)}start(e){this._intervalId=zw.run(\"intervalInWorker\",(()=>{e!==this.context.frameRate&&(zw.clearTask(this._intervalId),this.start(this.context.frameRate)),this.requestFrame(this._sequence++);let t=this.context._gl;t&&t.getError()!==t.NO_ERROR&&this.context.destroy(\"\".concat(this.name,\" req \").concat(this._sequence,\" render \").concat(this.totalFrames,\" faild \").concat(t.getError()))}),{fps:this.context.frameRate})}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useInputTexture((e=>{this.setAttributes({a_position:this.positionBuffer,a_texCoord:this.texCoordBuffer}),e.drawArrays(e.TRIANGLE_STRIP,0,4)})),!0)}addInput(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n{let t=()=>this._videoTrack.removeEventListener(e,i),i=()=>{t(),this.context.destroy(\"video track \".concat(e))};this.once(\"closed\",t),this._videoTrack.addEventListener(e,i)};e._gl&&i(\"mute\"),i(\"ended\")}get videoTrack(){return this._videoTrack}close(){super.close(),this._videoTrack.stop()}resize(e,t){super.resize(e,t),this.context.setSize(e,t)}},Nx=class extends kx{constructor(e,t){super(e,{name:\"smallDestination\"}),this.resolution=t}resize(e,t){let i,n=e*t,r=this.resolution.width*this.resolution.height;HO.info(\"big res: \".concat(e,\"*\").concat(t,\" small res: \").concat(this.resolution.width,\"*\").concat(this.resolution.height,\" \")),n>r?i=n/r:(HO.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)),i=n/19200),super.resize(e/Math.sqrt(i),t/Math.sqrt(i))}},Dx=class extends Rx{constructor(e,t){super(e,{name:\"imageSource\"}),this.image=t,ob(this,\"_image\"),ob(this,\"_totalFrames\",0)}_render(e,t){let{width:i,height:n}=this;if(this.image instanceof HTMLVideoElement){if(iO(this.image.getVideoPlaybackQuality)&&!Fk){let e=this.image.getVideoPlaybackQuality().totalVideoFrames;if(this._totalFrames===e)return!1;this._totalFrames=e,this.dropFrames=this._totalFrames-this.totalFrames}({videoWidth:i,videoHeight:n}=this.image)}else if(this.image instanceof HTMLImageElement||this.image instanceof ImageData||this.image instanceof ImageBitmap){if(({width:i,height:n}=this.image),this.image!==this._image)this._image=this.image;else if(i===this.width&&n===this.height)return!1}else(this.image instanceof HTMLCanvasElement||this.image instanceof OffscreenCanvas)&&(({width:i,height:n}=this.image),this._image=this.image);return this.width===i&&this.height===n&&this.totalFrames?t&&this.useTexture((e=>{e.texSubImage2D(e.TEXTURE_2D,0,0,0,e.RGBA,e.UNSIGNED_BYTE,this.image)})):(t&&this.useTexture((e=>{e.texImage2D(e.TEXTURE_2D,0,e.RGBA,e.RGBA,e.UNSIGNED_BYTE,this.image)})),this.resize(i,n)),!0}render(e){return this._render(e,!0)}render2d(e){return this._render(e,!1)}},Ox=class extends Dx{constructor(e,t){super(e,document.createElement(\"video\")),this._videoTrack=t,ob(this,\"_mediaStream\"),this.name=\"videoTrackSource\",this._mediaStream=new MediaStream([t]),this.image.srcObject=this._mediaStream,this.image.play()}replaceTrack(e){var t,i;this._videoTrack!==e&&(null==(t=this._mediaStream)||t.removeTrack(this._videoTrack),this._videoTrack=e,null==(i=this._mediaStream)||i.addTrack(this._videoTrack),this.image.play())}close(){super.close(),delete this._mediaStream,this.image.srcObject=null}},wx=class extends Gw{constructor(e){super(),ob(this,\"frameRate\"),ob(this,\"_canvas\"),ob(this,\"_gl\"),ob(this,\"ctx2d\"),ob(this,\"defaultProgam\"),ob(this,\"log\"),ob(this,\"hasAlpha\",!1),ob(this,\"glFaild\",!1),ob(this,\"name\"),this.name=e.name,this.log=e.logger.createChild({id:\"vc-\".concat(this.name)}),this.frameRate=e.frameRate}create(e){if(this.glFaild=!1,this.hasAlpha=e.alpha,this._canvas=document.createElement(\"canvas\"),e.use2d)return this.ctx2d=this._canvas.getContext(\"2d\",{alpha:e.alpha}),void this.log.info(\"video context created use 2d\");let t=this._canvas.getContext(\"webgl\",{alpha:e.alpha});if(t){this._gl=t;try{let e=this.createShader(t.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\"),i=this.createShader(t.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(e,i),t.enable(t.BLEND),t.blendFunc(t.SRC_ALPHA,t.ONE_MINUS_SRC_ALPHA),this._canvas.addEventListener(\"webglcontextlost\",(()=>{this.destroy(\"webglcontextlost\")})),this.log.info(\"video context created use webgl\")}catch(aN){return this.log.warn(\"video context create faild use webgl\"),aN}}else this.ctx2d=this._canvas.getContext(\"2d\"),this.ctx2d&&this.log.info(\"video context created downgrade to 2d\");!this.ctx2d&&!this._gl&&delete this._canvas}get available(){return!!this._canvas}createVideoTrackSource(e){return new Ox(this,e)}createVideoTrackDestination(e){return new kx(this,e)}createVideoImageSource(e){return new Dx(this,e)}set width(e){var t;null==(t=this._gl)||t.viewport(0,0,e,this.height),this._canvas&&(this._canvas.width=e)}get width(){var e;return(null==(e=this._canvas)?void 0:e.width)||0}set height(e){var t;null==(t=this._gl)||t.viewport(0,0,this.width,e),this._canvas&&(this._canvas.height=e)}get height(){var e;return(null==(e=this._canvas)?void 0:e.height)||0}setSize(e,t){var i;null==(i=this._gl)||i.viewport(0,0,e,t),this._canvas&&(this._canvas.width=e,this._canvas.height=t)}disconnect(){this.emit(\"disconnect\")}destroy(e,t){var i;return this.disconnect(),this.log.info(\"video context destroy \".concat(e?\":\".concat(e):\"\")),null==(i=this._gl)||i.deleteProgram(this.defaultProgam),delete this._gl,delete this.ctx2d,this._canvas&&(this._canvas.remove(),this._canvas.width=0,this._canvas.height=0,delete this._canvas),[e,t]}createShader(e,t){let i=this._gl,n=i.createShader(e);return i.shaderSource(n,t),i.compileShader(n),n}createProgram(e,t){let i=this._gl,n=i.createProgram();return i.attachShader(n,e),i.attachShader(n,t),i.linkProgram(n),n}useTexture(e,t,i){let n=this._gl;n.activeTexture(n.TEXTURE0+(i||0)),n.bindTexture(n.TEXTURE_2D,e),t(n),n.bindTexture(n.TEXTURE_2D,null)}};rb([Bw(Gw.INIT,\"created\")],wx.prototype,\"create\",1),rb([Bw(\"created\",Gw.INIT,{ignoreError:!0,success(e){e[0]&&(this.glFaild=!0,this.emit(\"unavailable\",...e)),this.removeAllListeners()}})],wx.prototype,\"destroy\",1);var Px=[1,0,1,1,0,0,0,1],Lx=class extends Rx{constructor(e){if(super(e,{useDefaultProgram:!0,useFbo:!0,create2d:!0,name:\"mirror\"}),e._gl)try{this.setTexBuffer(Px)}catch(sN){e.destroy(\"mirror set texCoords faild\",sN)}else this.ctx2d&&setTimeout((e=>{e.scale(-1,1),e.translate(-this.width,0)}),0,this.ctx2d)}render(e){var t;return!(null==(t=this.input)||!t.requestFrame(e))&&(this.useProgram(),this.useBufferFrame((()=>{this.useInputTexture((e=>{this.setAttributes({a_position:this.positionBuffer,a_texCoord:this.texCoordBuffer}),e.drawArrays(e.TRIANGLE_STRIP,0,4)}))})),!0)}},Mx=class{constructor(e,t){this.node=e,this.layout=t,ob(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}},Vx=class extends Rx{constructor(e){super(e,{useDefaultProgram:!0,useFbo:!0,name:\"mix\",create2d:!0}),ob(this,\"inputs\",[])}addInput(e,t){if(this.inputs[t.zIndex])throw new Error(\"input already exists\");let i=new Mx(e,t);this.inputs[t.zIndex]=i}resize(e,t){let i=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(i.width,i.height),this.context._gl&&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,i=new Array(t>1?t-1:0),n=1;n(null==t?void 0:t.node)===e))]=void 0}render(e){let t=this.context._gl;return!(this.inputs.reduce(((t,i)=>(!i||!i.node.requestFrame(e))&&t),!0)||!t)&&(this.useProgram(),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT|t.DEPTH_BUFFER_BIT),this.setAttributes({a_texCoord:this.texCoordBuffer}),this.useBufferFrame((()=>{for(let e=0;e{this.setAttributes({a_position:t.positionBuffer}),e.drawArrays(e.TRIANGLE_STRIP,0,4)}))}})),!0)}render2d(e){if(!this.inputs.reduce(((t,i)=>(!i||!i.node.requestFrame(e))&&t),!0)&&this.ctx2d){this.ctx2d.clearRect(0,0,this.width,this.height);for(let e=0;e>0;return this.lastInfo={totalFrames:e,x:t,y:i,width:n,height:r,timestamp:o,fps:s},$C({parent:this.inputs.filter((e=>e)).map((e=>e.node.getInfo()))},this.lastInfo)}close(){super.close(),this.inputs.forEach((e=>{var t;if(e&&(null==(t=e.node)||t.disconnect(),e.positionBuffer&&this.context._gl))try{this.context._gl.deleteBuffer(e.positionBuffer)}catch(aN){}}))}},xx=class extends vx.EventEmitter{constructor(e){let{room:t}=e;super(),ob(this,\"videoContext\"),ob(this,\"destination\"),ob(this,\"smallVideoContext\"),ob(this,\"smallDestination\"),ob(this,\"smallTrackSource\"),ob(this,\"smallImageSource\"),ob(this,\"_isMirror\",!1),ob(this,\"cameraTrack\"),ob(this,\"cameraNode\"),ob(this,\"waterMarkNode\"),ob(this,\"mirrorNode\"),ob(this,\"mixNode\"),ob(this,\"screenTrack\"),ob(this,\"screenNode\"),ob(this,\"_isMixScreen\",!1),ob(this,\"_hasWaterMark\",!1),ob(this,\"_log\"),ob(this,\"_checkId\",0),ob(this,\"_room\"),ob(this,\"_use2d\",!0),ob(this,\"_waterMarkOption\"),ob(this,\"_isOpenVirtualBackground\",!1),ob(this,\"_virtualBackgroundTrack\"),ob(this,\"virtualBackgroundInstance\"),this._room=t,this._log=HO.createLogger({id:\"vm\",userId:t.userId,sdkAppId:t.sdkAppId}),this.videoContext=new wx({frameRate:15,logger:this._log,name:\"m\"}),this.videoContext.on(\"unavailable\",((e,t)=>{this.emit(\"error\",{reason:e,error:t}),this._log.warn(\"video context unavailable\",e,t,\"glFaild:\".concat(this.videoContext.glFaild)),xO.emit(\"262\",{room:this._room,apiName:\"videoCtxGl\",error:t||new Error(e)}),this.update()})),this.smallVideoContext=new wx({frameRate:15,logger:this._log,name:\"s\"}),this.enablePrintDetail()}get renderMode(){return this._use2d?\"2d\":\"webgl\"}set renderMode(e){let t=\"2d\"===e;this._use2d!==t&&(this._use2d=t,this.videoContext&&(this.clear(),this.videoContext.destroy(),this.videoContext.create({alpha:this._hasWaterMark,use2d:this._use2d}),this.update()))}enablePrintDetail(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3;this._checkId=zw.run(LD,(()=>{this.destination&&this._log.debug(this.destination.getInfo())}),{delay:e})}destroy(){this.videoContext.destroy(),this.smallVideoContext.destroy(),zw.clearTask(this._checkId)}get active(){return(Jk&&Wk||this._isMixScreen||this._isMirror||this._hasWaterMark)&&this.checkOrCreateVideoContext()}sendCreateResult(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"videoCtxGl\",t=arguments.length>1?arguments[1]:void 0;xO.emit(\"262\",{room:this._room,apiName:e,error:t})}checkOrCreateVideoContext(){if(this.videoContext.available){if(this.videoContext.hasAlpha||!this._hasWaterMark)return!0;this.clear(),this.videoContext.destroy()}else this.videoContext.glFaild&&(this.clear(),this._use2d=!0);let e=this.videoContext.create({alpha:this._hasWaterMark,use2d:this._use2d});return this.videoContext._gl?this.sendCreateResult():(this._use2d||(this.emit(\"error\",{reason:\"create\",error:e}),this.sendCreateResult(\"videoCtxGl\",e)),this.sendCreateResult(\"videoCtx2d\",this.videoContext.ctx2d?void 0:new Error(\"create 2d context failed\"))),this.videoContext.available}get smallTrack(){return this.smallDestination.videoTrack}get hasSmall(){return!!this.smallTrackSource||!!this.smallImageSource}get initialTrack(){var e;return this._isOpenVirtualBackground&&this._virtualBackgroundTrack?this._virtualBackgroundTrack:null==(e=this.cameraTrack)?void 0:e.mediaTrack}_setMainOutput(e){let t=this.cameraTrack,{small:i,settings:n}=t;return i&&(this.smallVideoContext.available||(this.smallVideoContext.create({alpha:!1,use2d:!0}),this.smallDestination=new Nx(this.smallVideoContext,i)),this.smallVideoContext.frameRate=i.frameRate,this.smallDestination.resolution=i,e?(this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource),this.smallImageSource?this.smallImageSource.image=e:(this.smallImageSource=this.smallVideoContext.createVideoImageSource(e),this.smallImageSource.connect(this.smallDestination))):(this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource?this.smallTrackSource.replaceTrack(this.initialTrack):(this.smallTrackSource=this.smallVideoContext.createVideoTrackSource(this.initialTrack),this.smallTrackSource.width=n.width,this.smallTrackSource.height=n.height,this.smallTrackSource.connect(this.smallDestination)))),t.setOutputMediaStreamTrack(e?this.destination.videoTrack:this.initialTrack)}update(){return ab(this,null,(function*(){var e,t;if(!this.cameraTrack||!this.cameraTrack.mediaTrack)return;if(!this.active)return this.cameraNode&&this.clear(),this._setMainOutput();{let{settings:e,profile:t}=this.cameraTrack;this.destination||(this.destination=this.videoContext.createVideoTrackDestination({name:\"mainDestination\"})),this.cameraNode?this.cameraNode.replaceTrack(this.initialTrack):(this.cameraNode=this.videoContext.createVideoTrackSource(this.initialTrack),this.cameraNode.resize(e.width,e.height)),this.videoContext.frameRate=t.frameRate}let i=this.cameraNode;return i.disconnect(),this._isMirror&&(this.mirrorNode||(this.mirrorNode=new Lx(this.videoContext)),i=i.connect(this.mirrorNode),i.disconnect(),this._log.info(\"start mirror\")),this.mixNode&&this.mixNode.close(),delete this.mixNode,(this._isMixScreen||this._hasWaterMark)&&(this.mixNode=new Vx(this.videoContext),i.connect(this.mixNode,{zIndex:1}),this._hasWaterMark&&!this.waterMarkNode&&this._waterMarkOption&&(this.waterMarkNode=this.videoContext.createVideoImageSource(this._waterMarkOption.image),this.waterMarkNode.resize(this._waterMarkOption.width,this._waterMarkOption.height),this.waterMarkNode.x=this._waterMarkOption.x,this.waterMarkNode.y=this._waterMarkOption.y),null==(e=this.waterMarkNode)||e.connect(this.mixNode,{zIndex:2}),this.screenTrack&&!this.screenNode&&(this.screenNode=this.videoContext.createVideoTrackSource(this.screenTrack.mediaTrack)),null==(t=this.screenNode)||t.connect(this.mixNode,{zIndex:0}),i=this.mixNode,this._log.info(\"start mix\",\"\".concat(this.mixNode.width,\"x\").concat(this.mixNode.height))),i.connect(this.destination),this._setMainOutput(this.videoContext._canvas)}))}changeInput(e,t){return this._log.info(\"change input\"),e instanceof cL?this.setScreenTrack(e):e instanceof sL?this.setCameraTrack(e):e instanceof CL?e.setOutputMediaStreamTrack(e.mediaTrack):void 0}removeInput(e){var t;e instanceof cL?(null==(t=this.screenNode)||t.close(),delete this.screenNode,delete this.screenTrack,this.update()):e instanceof sL&&(this.clear(),delete this.cameraTrack,this.smallImageSource&&(this.smallImageSource.close(),delete this.smallImageSource),this.smallTrackSource&&(this.smallTrackSource.close(),delete this.smallTrackSource))}setCameraTrack(e){return ab(this,null,(function*(){return this.cameraTrack=e,this._isOpenVirtualBackground&&(yield this.updateAr()),this.update()}))}setScreenTrack(e){return this.screenTrack=e,this._isMixScreen&&(this.screenNode?this.screenNode.replaceTrack(e.mediaTrack):this.update()),e.setOutputMediaStreamTrack(e.mediaTrack)}loadImage(e){return new Promise(((t,i)=>{let n=new Image;n.crossOrigin=\"anonymous\",n.src=e,n.onload=()=>t(n),n.onerror=i}))}setWatermark(e){return ab(this,null,(function*(){let t=yield this.loadImage(e.imageUrl),{x:i=0,y:n=0,width:r=t.width,height:o=t.height}=e;this._hasWaterMark=!0,this._waterMarkOption={x:i,y:n,width:r,height:o,image:t},this._log.info(\"start watermark\",JSON.stringify({x:i,y:n,width:r,height:o})),this.update()}))}stopWatermark(){var e;!this._hasWaterMark||(this._hasWaterMark=!1,this._log.info(\"stop watermark\"),null==(e=this.waterMarkNode)||e.close(),delete this.waterMarkNode,this.update())}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||(null==(t=this.mirrorNode)||t.close(),delete this.mirrorNode),this.update()}get mirror(){return this._isMirror}enableAr(e){return ab(this,null,(function*(){this.virtualBackgroundInstance=e,this._isOpenVirtualBackground=!0,this.virtualBackgroundInstance.ar.enable(this.cameraTrack.mediaTrack.clone()),this.virtualBackgroundInstance.ar.listen(\"output\",this.handleArOutput.bind(this))}))}handleArOutput(e){this._virtualBackgroundTrack=e,this.update()}updateAr(){return ab(this,null,(function*(){var e;null==(e=this.cameraTrack)||!e.mediaTrack||(yield this.virtualBackgroundInstance.ar.updateInputTrack(this.cameraTrack.mediaTrack.clone()))}))}disableAr(){var e;!this._isOpenVirtualBackground||(this._isOpenVirtualBackground=!1,null==(e=this._virtualBackgroundTrack)||e.stop(),this._virtualBackgroundTrack=null,this.update())}clear(){this.videoContext.disconnect(),delete this.destination,delete this.cameraNode,delete this.mirrorNode,delete this.screenNode,delete this.waterMarkNode}},Ux=0,Fx=class extends Gw{constructor(e){super(\"room\"),this.seq=++Ux,this.role=\"anchor\",this.localTracks=new Set,this.enableAutoPlayDialog=!0,this.autoReceiveAudio=!0,this.autoReceiveVideo=!0,this.scheduleResult={domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null},this._isUsingCachedSchedule=!1,this._log=HO.createLogger({id:\"r\".concat(this.seq)}),this._joinedTimestamp=0,this._isDestroyed=!1,this.useStringRoomId=!!e.useStringRoomId,sO(e.autoReceiveAudio)&&(this.autoReceiveAudio=e.autoReceiveAudio),sO(e.autoReceiveVideo)&&(this.autoReceiveVideo=e.autoReceiveVideo),sO(e.enableAutoPlayDialog)&&(this.enableAutoPlayDialog=e.enableAutoPlayDialog),this.keyPointManager=new lx({room:this,frameWorkType:e.frameWorkType,component:e.component,language:e.language}),this.callDurationCalculator=new ux({room:this}),this.badCaseDetector=new hx({room:this}),this.audioManager=new vL({room:this}),this.videoManager=new xx({room:this})}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}getLogger(){return this._log}get isJoined(){return\"joined\"===this.state}get isLeft(){return\"left\"===this.state}addTrack(e){return ab(this,null,(function*(){return this.publish(e)}))}removeTrack(e){return ab(this,null,(function*(){return this.unpublish(e)}))}replaceTrack(e){return ab(this,null,(function*(){}))}setEncodedDataProcessingListener(e){throw new Error(\"Method not implemented.\")}enableAIVoice(e){throw new Error(\"Method not implemented.\")}setProxyServer(e){if(rO(e))e.startsWith(\"wss://\")?this.proxy_ws=e:e.startsWith(\"https://\")&&(this.proxy_wt=e);else if(ZD(e)){let{websocketProxy:t,webtransportProxy:i,loggerProxy:n,scheduleProxy:r,unifiedProxy:o}=e;this.proxy_ws=t,this.proxy_wt=i,this.proxy_unified=o,o?(Tx([o,o]),pN(\"https://\".concat(o))):(n&&pN(n),r&&Tx(r))}}getRemoteAudioStats(){return ab(this,null,(function*(){let e={};return this.remotePublishedUserMap.forEach((t=>{e[t.userId]=t.remoteAudioTrack.stat})),e}))}getTransportStats(){return ab(this,null,(function*(){var e;let t={rtt:(null==(e=this.quality)?void 0:e.uplinkRTT)||0,downlinksRTT:{}};if(this.quality)for(let i of this.quality.downlinkInfo)t.downlinksRTT[i.userId]=i.rtt;return t}))}getRemoteVideoStats(){return ab(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"main\";return function*(){let i={};return e.remotePublishedUserMap.forEach((e=>{let n=\"auxiliary\"===t?e.remoteAuxiliaryTrack:e.remoteVideoTrack;i[e.userId]=n.stat})),i}()}))}checkDestroy(){if(this._isDestroyed)throw new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.CLIENT_DESTROYED,data:{funName:\"join\"}})})}destroy(){if(this.isJoined)throw this._log.warn(KO.INVALID_DESTROY),new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.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,xO.emit(FO.ROOM_DESTROY,{room:this})}schedule(e,t,i){return ab(this,null,(function*(){var n,r;let o=fO();try{let{isCached:s,result:a,detailCost:c}=yield fx({userId:this.userId,sdkAppId:this.sdkAppId,roomId:e,useStringRoomId:this.useStringRoomId,version:i,userSig:this.userSig,frameWorkType:t});this._isUsingCachedSchedule=s,this._log.info(\"schedule cache:\".concat(+s,\" \").concat(DO(a,{keysToExclude:[\"username\",\"credential\"]}))),s&&xO.once(FO.JOIN_RECEIVED_CMD_RES,(()=>this.sendAbilityStatus({scheduleCache:1}))),this.scheduleResult=$C($C({},this.scheduleResult),a),oO(null==(n=a.config)?void 0:n.retryCount)&&rD(a.config.retryCount),rO(null==(r=a.config)?void 0:r.loggerDomain)&&pN(a.config.loggerDomain),xO.emit(FO.JOIN_SCHEDULE_SUCCESS,{room:this,schedule:this.scheduleResult,detailCost:c}),xO.emit(FO.API_SUCCESS_RATE,{room:this,apiName:\"schedule\",cost:fO()-o})}catch(s){throw xO.emit(FO.API_SUCCESS_RATE,{room:this,apiName:\"schedule\",error:s}),s}}))}},Bx=new WeakMap,Hx=new WeakMap;function jx(){return function(e,t,i){let n=i.value,r=e=>{let{fn:t,args:i,context:n,resolve:r,reject:o}=e;t.apply(n,i).then(r,o)};return i.value=function(){for(var e=arguments.length,t=new Array(e),i=0;i{if(Bx.has(this)){let o=Bx.get(this),{length:s}=o;o.push({fn:n,args:t,context:this,resolve:e,reject:i}),0===s&&r({fn:n,args:t,context:this,resolve:e,reject:i})}else Bx.set(this,[{fn:n,args:t,context:this,resolve:e,reject:i}]),r({fn:n,args:t,context:this,resolve:e,reject:i})})).finally((()=>{let e=Bx.get(this);e&&(e.shift(),e[0]&&r($C({},e[0])))}))},i}}function Gx(e){return function(t,i,n){let r=n.value,o=t=>oO(e)?t[e]:e(...t),s=e=>{let{fn:t,args:i,context:n,resolve:r,reject:a}=e;t.apply(n,i).then(r,a).finally((()=>{if(Hx.has(n)&&Hx.get(n).has(o(i))){let e=Hx.get(n).get(o(i));e&&(e.shift(),e[0]&&s($C({},e[0])))}}))};return n.value=function(){for(var e=arguments.length,t=new Array(e),i=0;i{if(Hx.has(this))if(Hx.get(this).has(o(t))){let n=Hx.get(this).get(o(t));if(n){let{length:o}=n;n.push({fn:r,args:t,context:this,resolve:e,reject:i}),0===o&&s({fn:r,args:t,context:this,resolve:e,reject:i})}}else Hx.get(this).set(o(t),[{fn:r,args:t,context:this,resolve:e,reject:i}]),s({fn:r,args:t,context:this,resolve:e,reject:i});else{let n=new Map;n.set(o(t),[{fn:r,args:t,context:this,resolve:e,reject:i}]),Hx.set(this,n),s({fn:r,args:t,context:this,resolve:e,reject:i})}}))},n}}var Wx=nb(cb()),Jx=nb(hb()),Kx=e=>{let{serverAbility:t,clientAbility:i,offerSDP:n,enableCustomMessage:r}=e,o=BV(n),s={extmapAllowMixed:\"extmap-allow-mixed\",groups:o.groups,icelite:\"ice-lite\",media:[],msidSemantic:{semantic:\"\",token:\"WMS\"},name:\"-\",origin:{address:\"127.0.0.1\",username:\"-\",sessionId:String(Date.now()),sessionVersion:1,netType:\"IN\",ipVer:4},timing:{start:0,stop:0},version:0},a={candidates:t.candidates.map((e=>({component:1,foundation:\"1\",generation:0,ip:e.ip,port:e.port,priority:e.priority,transport:e.foundation,type:e.type}))),connection:{version:4,ip:\"0.0.0.0\"},direction:LN.TRANSCEIVER_DIRECTION_RECVONLY,ext:t.audio.extensions.map((e=>({value:e.id,uri:e.uri}))),fingerprint:{type:t.dtls.hash,hash:t.dtls.fingerprint},fmtp:[{payload:t.audio.codecs[0].payload,config:t.audio.codecs[0].fmtp}],icePwd:t.ice.password,iceUfrag:t.ice.ufrag,mid:\"0\",payloads:String(t.audio.codecs[0].payload),port:o.media[0].port,protocol:o.media[0].protocol,type:LN.AUDIO,setup:t.dtls.setup,rtcpFb:t.audio.codecs[0].rtcpfb.map((e=>({payload:t.audio.codecs[0].payload,type:e.id,subtype:e.params[0]}))),rtcpMux:\"rtcp-mux\",rtcpRsize:\"rtcp-rsize\",rtp:[{payload:t.audio.codecs[0].payload,codec:t.audio.codecs[0].codec,rate:t.audio.codecs[0].rate,encoding:t.audio.codecs[0].channels}]};return s.media.push(a),[1,2,3].forEach((e=>{s.media.push(Yx({mid:e,serverAbility:t,clientAbility:i,parsedOffer:o}))})),r&&s.media.push(o.media.find((e=>\"dc\"===e.mid))),HV(s)},Yx=e=>{let{mid:t,serverAbility:i,clientAbility:n,parsedOffer:r,useAllCodec:o=!1}=e,s={candidates:i.candidates.map((e=>({component:1,foundation:\"1\",generation:0,ip:e.ip,port:e.port,priority:e.priority,transport:e.foundation,type:e.type}))),connection:{version:4,ip:\"0.0.0.0\"},direction:LN.TRANSCEIVER_DIRECTION_RECVONLY,ext:i.video.extensions.map((e=>({value:e.id,uri:e.uri}))),fingerprint:{type:i.dtls.hash,hash:i.dtls.fingerprint},fmtp:[],icePwd:i.ice.password,iceUfrag:i.ice.ufrag,mid:String(t),payloads:\"\",port:r.media[0].port,protocol:r.media[0].protocol,type:LN.VIDEO,setup:i.dtls.setup,rtcpFb:[],rtcpMux:\"rtcp-mux\",rtcpRsize:\"rtcp-rsize\",rtp:[]};if(i.video.codecs.length>0)if(o)for(let a=0;ae.codec.toLowerCase()===(i.useVp8?\"vp8\":\"h264\")));zx(s,i.video.codecs[e])}else if(o)for(let a=0;a{e.payloads=\"\".concat(e.payloads,\" \").concat(t.payload),e.fmtp.push({payload:t.payload,config:t.fmtp}),e.rtcpFb=[...e.rtcpFb||[],...(t.rtcpfb||t.rtcpFb).map((e=>({payload:t.payload,type:e.id,subtype:e.params[0]})))],e.rtp.push({payload:t.payload,codec:t.codec.toUpperCase(),rate:t.rate}),t.rtx&&(e.payloads=\"\".concat(e.payloads,\" \").concat(t.rtx),e.fmtp.push({payload:t.rtx,config:\"apt=\".concat(t.payload)}),e.rtp.push({payload:t.rtx,codec:\"rtx\",rate:t.rate}))};var qx,Qx=e=>{let t=Jx.default.parse(e);return t.media.forEach((e=>{var i;(e.type===LN.AUDIO||e.type===LN.VIDEO)&&(function(e){if(!e.rtcpFb)return;let t=[];e.rtcpFb.forEach(((i,n)=>{var r;t.push(i),e.rtcpFb&&(null==(r=e.rtcpFb[n+1])?void 0:r.payload)!==i.payload&&\"rrtr\"!==i.type&&t.push({payload:i.payload,type:\"rrtr\"})})),e.rtcpFb=t}(e),function(e){e.type===LN.VIDEO&&e.fmtp&&e.fmtp.forEach((e=>{e.config.includes(\"apt\")||(e.config+=\";sps-pps-idr-in-keyframe=1\")}))}(e),function(e){e.type===LN.AUDIO&&e.fmtp&&e.fmtp.forEach((e=>{e.config+=\";sprop-stereo=1;stereo=1\"}))}(e),function(e){let t=new Set([\"urn:ietf:params:rtp-hdrext:sdes:mid\",\"urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id\",\"urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id\"]);e.ext&&(e.ext=e.ext.filter((e=>!t.has(e.uri))))}(e)),(null==(i=e.payloads)?void 0:i.includes(\"datachannel\"))&&t.groups&&e.mid&&(t.groups[0].mids=t.groups[0].mids.replace(e.mid,\"dc\"),e.mid=\"dc\")})),Jx.default.write(t)},Xx=((qx=Xx||{}).TRACK=\"track\",qx.DATA_CHANNEL_MESSAGE=\"data_channel_msg\",qx[qx.CONNECTION_STATE_CHANGED=\"connection-state-changed\"]=\"CONNECTION_STATE_CHANGED\",qx[qx.FIREWALL_RESTRICTION=\"firewall-restriction\"]=\"FIREWALL_RESTRICTION\",qx.RECONNECTED=\"spc-reconnected\",qx.RECONNECT_FAILED=\"spc-reconnect-failed\",qx.ERROR=\"error\",qx),Zx=0,$x=!1,eU=new Set,tU=1,iU=class extends Wx.default{constructor(e){let{signalChannel:t,room:i,enableCustomMessage:n}=e;super(),ob(this,\"stat\",{iceStartTime:0,iceEndTime:0,dtlsStartTime:0,dtlsEndTime:0,peerConnectionStartTime:0,peerConnectionEndTime:0}),ob(this,\"currentState\",\"DISCONNECTED\"),ob(this,\"_room\"),ob(this,\"_signalChannel\"),ob(this,\"_peerConnection\",null),ob(this,\"_datachannel\",null),ob(this,\"_enableCustomMessage\"),ob(this,\"_log\"),ob(this,\"_downlinkMIDMap\",new Map),ob(this,\"_reconnectionTimer\",-1),ob(this,\"reconnectionCount\",0),ob(this,\"_clientAbility\",null),ob(this,\"_serverAbility\",null),ob(this,\"addDownlinkQueue\",new Set),ob(this,\"removeDownlinkQueue\",new Set),ob(this,\"_parsedAnswer\",null),ob(this,\"_updateSDPPromise\",null),ob(this,\"_waitForPCConnectedPromise\"),ob(this,\"_waitForPCConnectedPromiseReject\",null),ob(this,\"_isSDPLogged\",!1),this._room=i,this._enableCustomMessage=n,this._signalChannel=t,this._log=HO.createLogger({id:\"spc\".concat(tU++),userId:this._room.userId,sdkAppId:this._room.sdkAppId})}get isH264EncodeSupported(){let e=this._room.checkSystemResult.detail.isH264EncodeSupported;return this._serverAbility&&(e=e&&!!this._serverAbility.video.codecs.find((e=>\"h264\"===e.codec.toLowerCase()))),e}get isVP8EncodeSupported(){let e=this._room.checkSystemResult.detail.isVp8EncodeSupported;return this._serverAbility&&(e=e&&this._serverAbility.useVp8),e}get uplinkSSRC(){return this._peerConnection&&this._peerConnection.localDescription?(e=>{let t=BV(e),i={audioSsrc:0,audioRtxSsrc:0,bigVideoSsrc:0,bigVideoRtxSsrc:0,smallVideoSsrc:0,smallVideoRtxSsrc:0,auxVideoSsrc:0,auxVideoRtxSsrc:0};return t.media.forEach(((e,t)=>{var n;if(e.ssrcs&&!nO(e.ssrcs[0].id)){let r=Number(e.ssrcs[0].id),o=Number(null==(n=e.ssrcs.filter((e=>\"cname\"===e.attribute))[1])?void 0:n.id);switch(t){case 0:i.audioSsrc=r;break;case 1:i.bigVideoSsrc=r,i.bigVideoRtxSsrc=o;break;case 2:i.smallVideoSsrc=r,i.smallVideoRtxSsrc=o;break;case 3:i.auxVideoSsrc=r,i.auxVideoRtxSsrc=o}}})),i})(this._peerConnection.localDescription.sdp):{audioSsrc:0,audioRtxSsrc:0,bigVideoSsrc:0,bigVideoRtxSsrc:0,smallVideoSsrc:0,smallVideoRtxSsrc:0,auxVideoSsrc:0,auxVideoRtxSsrc:0}}get isReconnecting(){return\"RECONNECTING\"===this.currentState||this._reconnectionTimer>0||this.reconnectionCount>0}get dtlsTransport(){if(!this._peerConnection)return null;let e=this._peerConnection.getSenders();return 0===e.length?null:e[0].transport}initialize(){return ab(this,null,(function*(){try{this._peerConnection=new RTCPeerConnection({offerExtmapAllowMixed:!0,iceServers:this._room.getIceServers(),iceTransportPolicy:this._room.getIceTransportPolicy(),sdpSemantics:this._room.sdpSemantics,bundlePolicy:\"max-bundle\",rtcpMuxPolicy:\"require\",tcpCandidatePolicy:\"disable\",IceTransportsType:\"nohost\"}),this._peerConnection.oniceconnectionstatechange=()=>{if(!this._peerConnection)return;let e=this._peerConnection.iceConnectionState;this._log.debug(\"ice state: \".concat(e)),\"checking\"===e&&0===this.stat.iceStartTime?this.stat.iceStartTime=Date.now():\"connected\"===e&&0===this.stat.iceEndTime&&(this.stat.iceEndTime=Date.now())},this._peerConnection.onconnectionstatechange=this.onConnectionStateChange.bind(this),this._peerConnection.ontrack=e=>this.emit(\"track\",e),this._enableCustomMessage&&(this._datachannel=this._peerConnection.createDataChannel(\"\".concat(this._room.userId,\"dc\")),this._datachannel.binaryType=\"arraybuffer\",this._datachannel.onopen=()=>{this._log.info(\"datachannel open\")},this._datachannel.onclose=()=>{this._log.warn(\"datachannel close\")},this._datachannel.onmessage=e=>{let t=new rU(e.data);this.emit(\"data_channel_msg\",{data:t})},this._datachannel.onerror=e=>{this._log.warn(\"datachannel error\",e)}),this._peerConnection.addTransceiver(LN.AUDIO,{direction:LN.TRANSCEIVER_DIRECTION_SENDONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:LN.TRANSCEIVER_DIRECTION_SENDONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:LN.TRANSCEIVER_DIRECTION_SENDONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:LN.TRANSCEIVER_DIRECTION_SENDONLY});let e=yield this._peerConnection.createOffer();return yield this.setOffer(e),this.dtlsTransport&&(this.dtlsTransport.onstatechange=()=>{let{dtlsTransport:e}=this;!e||(this._log.debug(\"dtls state: \".concat(e.state)),\"connecting\"===e.state&&0===this.stat.dtlsStartTime?this.stat.dtlsStartTime=Date.now():\"connected\"===e.state&&0===this.stat.dtlsEndTime&&(this.stat.dtlsEndTime=Date.now()))}),this._clientAbility=((e,t)=>{var i,n;let r=BV(e),o={ice:{ufrag:\"\",password:\"\"},dtls:{hash:\"\",fingerprint:\"\",setup:\"\"},audio:{codecs:[],extensions:[]},video:{codecs:[],extensions:[]},useDataChannel:t};o.ice.ufrag=String(r.media[0].iceUfrag),o.ice.password=r.media[0].icePwd||\"\",r.fingerprint&&(o.dtls.hash=r.fingerprint.type,o.dtls.fingerprint=r.fingerprint.hash,o.dtls.setup=r.setup||\"\"),r.media[0].fingerprint&&(o.dtls.hash=r.media[0].fingerprint.type,o.dtls.fingerprint=r.media[0].fingerprint.hash),o.dtls.setup=r.media[0].setup||\"\";let s=r.media[0],a=r.media[1];s.ext&&(o.audio.extensions=s.ext.map((e=>({id:e.value,uri:e.uri})))),a.ext&&(o.video.extensions=a.ext.map((e=>({id:e.value,uri:e.uri}))));let c={codec:s.rtp[0].codec,fmtp:s.fmtp[0].config,payload:s.fmtp[0].payload,rate:s.rtp[0].rate,channel:s.rtp[0].encoding,rtcpFb:[],rtx:0};null==(i=s.rtcpFb)||i.forEach((e=>{let{payload:t,type:i,subtype:n}=e;if(t===c.payload){let e={id:i,params:[]};n&&e.params.push(n),c.rtcpFb.push(e)}})),o.audio.codecs.push(c);for(let l=0;le.payload===a.rtp[l].payload))[0];o.video.codecs.push({payload:a.rtp[l].payload,codec:a.rtp[l].codec,fmtp:e?e.config:\"\",rate:a.rtp[l].rate,rtx:\"rtx\"===(null==(n=a.rtp[l+1])?void 0:n.codec)?a.rtp[l+1].payload:0,rtcpFb:((null==a?void 0:a.rtcpFb)||[]).filter((e=>e.payload===a.rtp[l].payload)).map((e=>{let{type:t,subtype:i}=e;return{id:t,params:i?[i]:[]}}))})}return o})(e.sdp,this._enableCustomMessage),this._clientAbility}catch(sN){throw this._log.error(\"initialize failed \".concat(sN)),sN}}))}connect(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return ab(this,null,(function*(){try{if(\"CONNECTED\"===this.currentState)return;let i=fO(),n={type:\"answer\",sdp:Kx({serverAbility:e,clientAbility:this._clientAbility,offerSDP:this._peerConnection.localDescription.sdp,enableCustomMessage:this._enableCustomMessage})};this._serverAbility=e,yield this.setAnswer(n),yield this.waitForPeerConnectionConnected(),t||xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:\"SPCConnect\",cost:Math.min(fO()-i,3e4)})}catch(aN){let i=aN instanceof gb&&aN.code===mb.API_CALL_ABORTED;throw i||this._log.error(\"connect failed: \".concat(aN),e),this.reset(),!i&&!this.isReconnecting&&(xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:\"SPCConnect\",error:aN}),this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this.startReconnection()),aN}}))}reconnect(){return ab(this,null,(function*(){if(-1===this._reconnectionTimer){if(!this._signalChannel.isConnected)return this._log.warn(\"reconnect() wait signal channel is connected\"),void this._signalChannel.once(QM,this.reconnect,this);try{this.reconnectionCount++,this._log.warn(\"reconnect() trying [\".concat(this.reconnectionCount,\"]\")),this.reset();let e=yield this.initialize(),t=yield this._signalChannel.sendWaitForResponse({command:AV,responseCommand:nV.REBUILD_PEER_CONNECTION_RES,data:{ability:e},enableLog:!1});yield this.connect(t.data.data.ability,!0),this._log.warn(\"reconnect() successfully\"),this.stopReconnection(),this.emit(\"spc-reconnected\")}catch(sN){if(!this.isReconnecting)return;if(null!=sN&&sN.message.includes(\"timeout\")){let e=eO(this.reconnectionCount);this._log.warn(\"reconnect() timeout, try again after \".concat(e/1e3,\"s\")),this._reconnectionTimer=window.setTimeout((()=>{this.clearReconnectionTimer(),this.reconnect()}),e)}else this._log.error(\"reconnect() failed \".concat(sN)),xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:\"SPCReconnect\",error:sN}),this.reconnectionCount>=oD()&&this._log.warn(\"SDK has tried reconnect for \".concat(oD(),\" times, but all failed, please check your network\")),this.stopReconnection(),this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this.emit(\"error\")}}else this._log.warn(\"reconnect() is reconnecting, ignore current reconnection\")}))}getPeerConnection(){return this._peerConnection}startReconnection(){return ab(this,null,(function*(){this._log.warn(\"start reconnect\"),this.emitConnectionStateChangedEvent(\"RECONNECTING\");let e=fO();yield this.reconnect(),xO.emit(FO.API_SUCCESS_RATE,{room:this._room,apiName:\"SPCReconnect\",cost:Math.min(fO()-e,3e4)})}))}stopReconnection(){this.isReconnecting&&(this._log.info(\"stop reconnect\"),this.reconnectionCount=0,this.clearReconnectionTimer(),this._signalChannel.off(QM,this.reconnect,this))}checkPeerConnectionToReconnect(){var e;!this.isReconnecting&&(null==(e=this._peerConnection)?void 0:e.connectionState)===iD.CLOSED&&this.startReconnection()}clearReconnectionTimer(){-1!==this._reconnectionTimer&&(clearTimeout(this._reconnectionTimer),this._reconnectionTimer=-1)}onConnectionStateChange(e){let t=this._peerConnection.iceConnectionState,i=this.getDTLSTransportState();this._log.info(\"connectionState: \".concat(e.target.connectionState,\" ICE: \").concat(t,\" DTLS: \").concat(i)),e.target.connectionState===iD.CONNECTING&&(0===this.stat.peerConnectionStartTime&&(this.stat.peerConnectionStartTime=Date.now()),this.emitConnectionStateChangedEvent(\"CONNECTING\")),(e.target.connectionState===iD.FAILED||e.target.connectionState===iD.CLOSED)&&(this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this.startReconnection()),(e.target.connectionState===iD.CONNECTED||e.target.connectionState===iD.COMPLETED)&&(0===this.stat.peerConnectionEndTime&&(this.stat.peerConnectionEndTime=Date.now()),xO.emit(FO.SINGLE_CONNECTION_STAT,{room:this._room,stat:{ice:this.stat.iceEndTime-this.stat.iceStartTime,dtls:this.stat.dtlsEndTime-this.stat.dtlsStartTime,peerConnection:this.stat.peerConnectionEndTime-this.stat.peerConnectionStartTime}}),this.logSelectedCandidate(),this.emitConnectionStateChangedEvent(\"CONNECTED\"))}getDTLSTransportState(){if(!this._peerConnection)return tD;let e=null;return Ew()&&0!==this._peerConnection.getSenders().length?(e=this._peerConnection.getSenders()[0].transport,Tw()&&0!==this._peerConnection.getReceivers().length&&e?e.state:tD):tD}emitConnectionStateChangedEvent(e){e!==this.currentState&&(\"RECONNECTING\"===this.currentState&&\"CONNECTING\"===e||(this.emit(Xx.CONNECTION_STATE_CHANGED,{prevState:this.currentState,state:e}),this.currentState=e))}logSelectedCandidate(){return ab(this,null,(function*(){if(!this._peerConnection)return;let e=yield this._peerConnection.getStats();for(let[t,i]of e)if(uw(i)){let t=e.get(i.localCandidateId),n=e.get(i.remoteCandidateId);t&&this._log.info(\"local candidate: \".concat(t.candidateType,\" \").concat(t.protocol,\":\").concat(t.ip||t.address,\":\").concat(t.port,\" \").concat(t.networkType||\"\",\" \").concat(\"relay\"===t.candidateType?\"relayProtocol:\".concat(t.relayProtocol):\"\")),n&&this._log.info(\"remote candidate: \".concat(n.candidateType,\" \").concat(n.protocol,\":\").concat(n.ip||n.address,\":\").concat(n.port));break}}))}waitForPeerConnectionConnected(){return this._waitForPCConnectedPromise||(this._waitForPCConnectedPromise=new Promise(((e,t)=>{if(\"CONNECTED\"===this.currentState)return e();this._waitForPCConnectedPromiseReject=t;let i=t=>{\"CONNECTED\"===t.state&&(clearTimeout(o),r(),e())},n=e=>{let{room:i}=e;i===this._room&&(clearTimeout(o),r(),t(new gb({code:mb.API_CALL_ABORTED,message:qO({key:JO.CONNECTION_ABORTED,data:\"leave room\"})})))},r=()=>{xO.off(FO.LEAVE_SUCCESS,n,this),this.off(Xx.CONNECTION_STATE_CHANGED,i,this)},o=setTimeout((()=>{r();let e=new gb({code:mb.API_CALL_TIMEOUT,message:\"connection timeout\"});Zx+=1,(e=>Zx>2&&!$x&&0===eU.size&&e)(this._signalChannel.isConnected)&&(this._log.warn(\"firewall restrition\"),$x=!0,this.emit(Xx.FIREWALL_RESTRICTION)),t(e)}),SD);xO.on(FO.LEAVE_SUCCESS,n,this),this.on(Xx.CONNECTION_STATE_CHANGED,i,this)})),this._waitForPCConnectedPromise=this._waitForPCConnectedPromise.finally((()=>{this._waitForPCConnectedPromise=null,this._waitForPCConnectedPromiseReject=null}))),this._waitForPCConnectedPromise}waitForReconnected(){return this.isReconnecting?new Promise(((e,t)=>{this.once(\"spc-reconnected\",e),this.once(\"error\",t)})):Promise.resolve()}addDownlink(e){return ab(this,null,(function*(){if(this._log.info(\"addDownlink(\".concat(e.userId,\") trying\")),this.isReconnecting&&(yield this.waitForReconnected()),this.updateLocalAndRemoteSDPConfig(e),0===this.addDownlinkQueue.size)try{yield this.updateSDP({isNeedToCreateOffer:!0}),this._log.info(\"addDownlink(\".concat(e.userId,\") done\"))}catch(sD){this._log.info(\"addDownlink(\".concat(e.userId,\") failed\")),yield this.startReconnection()}}))}updateLocalAndRemoteSDPConfig(e){let{ssrc:t,userId:i,tinyId:n}=e;if(!this._peerConnection)return;this._log.info(\"updateLocalAndRemoteSDPConfig \".concat(i,\" \").concat(JSON.stringify(t)));let r,o,s,a=this._peerConnection.getTransceivers().filter((e=>\"inactive\"===e.direction)).slice(0,3).map((e=>(e.direction=LN.TRANSCEIVER_DIRECTION_RECVONLY,Number(e.mid))));if(0===a.length&&(this._peerConnection.addTransceiver(LN.AUDIO,{direction:LN.TRANSCEIVER_DIRECTION_RECVONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:LN.TRANSCEIVER_DIRECTION_RECVONLY}),this._peerConnection.addTransceiver(LN.VIDEO,{direction:LN.TRANSCEIVER_DIRECTION_RECVONLY})),this._parsedAnswer||(this._parsedAnswer=BV(this._peerConnection.remoteDescription.sdp)),3===a.length)r=this._parsedAnswer.media.find((e=>Number(e.mid)===Number(a[0]))),o=this._parsedAnswer.media.find((e=>Number(e.mid)===Number(a[1]))),s=this._parsedAnswer.media.find((e=>Number(e.mid)===Number(a[2])));else{r=JSON.parse(JSON.stringify(this._parsedAnswer.media[0]));let e=Yx({mid:1,serverAbility:this._serverAbility,clientAbility:this._clientAbility,parsedOffer:BV(this._peerConnection.localDescription.sdp),useAllCodec:!0});o=JSON.parse(JSON.stringify(e)),s=JSON.parse(JSON.stringify(e)),r.mid=this._parsedAnswer.media.length,this._parsedAnswer.media.push(r),o.mid=this._parsedAnswer.media.length,this._parsedAnswer.media.push(o),s.mid=this._parsedAnswer.media.length,this._parsedAnswer.media.push(s)}r.direction=LN.TRANSCEIVER_DIRECTION_SENDONLY,r.ssrcs=[{id:t.audio,attribute:\"cname\",value:\"\".concat(n)},{id:t.audio,attribute:\"msid\",value:\"\".concat(n,\"-\").concat(LN.MAIN,\" \").concat(n,\"-audio\")}],o.direction=LN.TRANSCEIVER_DIRECTION_SENDONLY,o.ssrcs=[{id:t.video,attribute:\"cname\",value:\"\".concat(n)},{id:t.video,attribute:\"msid\",value:\"\".concat(n,\"-\").concat(LN.MAIN,\" \").concat(n,\"-bigvideo\")},{id:t.videoRtx,attribute:\"cname\",value:\"\".concat(n)},{id:t.videoRtx,attribute:\"msid\",value:\"\".concat(n,\"-\").concat(LN.MAIN,\" \").concat(n,\"-bigvideo\")}],o.ssrcGroups=[{semantics:\"FID\",ssrcs:\"\".concat(t.video,\" \").concat(t.videoRtx)}],s.direction=LN.TRANSCEIVER_DIRECTION_SENDONLY;let c=\"\".concat(n,\"-aux\");s.ssrcs=[{id:t.auxiliary,attribute:\"cname\",value:c},{id:t.auxiliary,attribute:\"msid\",value:\"\".concat(c,\" \").concat(n,\"-aux\").concat(LN.VIDEO)},{id:t.auxiliaryRtx,attribute:\"cname\",value:\"\".concat(c,\" \").concat(n,\"-aux\").concat(LN.VIDEO)},{id:t.auxiliaryRtx,attribute:\"msid\",value:\"\".concat(c,\" \").concat(n,\"-aux\").concat(LN.VIDEO)}],s.ssrcGroups=[{semantics:\"FID\",ssrcs:\"\".concat(t.auxiliary,\" \").concat(t.auxiliaryRtx)}],this._parsedAnswer.groups&&(this._parsedAnswer.groups[0].mids=this._parsedAnswer.media.map((e=>e.mid)).join(\" \")),this._downlinkMIDMap.set(n,[r.mid,o.mid,s.mid])}removeDownlink(e,t){return ab(this,null,(function*(){if(!this._downlinkMIDMap.has(e)||!this._peerConnection)return;this._log.info(\"removeDownlink(\".concat(t,\") trying\")),this.isReconnecting&&(yield this.waitForReconnected());let i=this._downlinkMIDMap.get(e),n=!1;this._peerConnection.getTransceivers().forEach((e=>{null!=i&&i.includes(Number(e.mid))&&(n=!0,e.direction=\"inactive\")})),this._parsedAnswer||(this._parsedAnswer=BV(this._peerConnection.remoteDescription.sdp)),this._parsedAnswer.media.forEach((e=>{null!=i&&i.includes(Number(e.mid))&&(n=!0,e.direction=\"inactive\",e.ssrcs=[],e.ssrcGroups=[])})),0===this.removeDownlinkQueue.size&&n&&(yield this.updateSDP({isNeedToCreateOffer:!0,tinyIdRemoving:e})),this._downlinkMIDMap.delete(e),this._log.info(\"removeDownlink(\".concat(t,\") done\"))}))}getDownlinkMids(e){return this._downlinkMIDMap.get(e)}setBandwidth(e){return ab(this,null,(function*(){if(!this._peerConnection)return;let{audio:t,bigVideo:i,smallVideo:n,auxVideo:r}=e;try{if(Rw()){let e=this._peerConnection.getSenders().slice(0,4);for(let o=0;oab(this,null,(function*(){var o,s;try{t&&this._peerConnection&&(this._log.info(\"creating offer\"),i=yield this._peerConnection.createOffer()),i&&(yield this.setOffer(i)),yield this.setAnswer({type:\"answer\",sdp:r}),this._updateSDPPromise=null,e()}catch(a){this._log.error(a),!this._isSDPLogged&&this._peerConnection&&(this._log.warn(\"transceivers: \".concat(JSON.stringify(this._peerConnection.getTransceivers().map((e=>{let{mid:t,currentDirection:i,direction:n,stopped:r}=e;return{mid:t,currentDirection:i,direction:n,stopped:r}}))))),this._log.warn(\"parsedAnswer: \".concat(JSON.stringify(this._parsedAnswer))),this._log.warn(\"local sdp: \".concat(null==i?void 0:i.sdp)||(null==(o=this._peerConnection.localDescription)?void 0:o.sdp)),this._log.warn(\"remote sdp: \".concat(r)||(null==(s=this._peerConnection.remoteDescription)?void 0:s.sdp)),this._isSDPLogged=!0),this._updateSDPPromise=null,n(a)}})))),this._updateSDPPromise}setOffer(e){return this._log.info(\"setting offer\"),this._peerConnection.setLocalDescription({type:\"offer\",sdp:Qx(e.sdp)})}setAnswer(e){return this._log.info(\"setting answer\"),this._room.enableHWEncoder&&e.sdp&&(e.sdp=e.sdp.replaceAll(\"42e01f\",\"42001f\")),this._peerConnection.setRemoteDescription(e)}sendDataChannelMessage(e){var t;null==(t=this._datachannel)||t.send(e)}reset(){var e;null==(e=this._peerConnection)||e.close(),this._waitForPCConnectedPromise=null,this._parsedAnswer=null}close(){this._log.info(\"close pc\"),this.reset(),this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this._downlinkMIDMap.clear(),this.stopReconnection(),this.removeAllListeners()}};rb([jx()],iU.prototype,\"updateSDP\",1);var nU=class{constructor(e){ob(this,\"tag\"),ob(this,\"len\"),ob(this,\"data\");let t=new DataView(e);this.tag=t.getUint16(),this.len=t.getUint16(2),this.data=new Uint8Array(e).slice(4,4+this.len).buffer}},rU=class{constructor(e){ob(this,\"tinyId\"),ob(this,\"data\");let t=new DataView(e),i=0,n=[];for(;i{1===e.tag?this.tinyId=(new TextDecoder).decode(e.data):2===e.tag&&(this.data=e.data)}))}},oU=new Set;function sU(){let e=Math.floor(4294967296*Math.random());return oU.has(e)?sU():(oU.add(e),e)}var aU=nb(cb()),cU=class extends aU.default{constructor(e){super(),ob(this,\"userId\"),ob(this,\"tinyId\"),ob(this,\"_sdpSemantics\"),ob(this,\"_isUplink\"),ob(this,\"_room\"),ob(this,\"_log\"),ob(this,\"_signalChannel\"),ob(this,\"_currentState\",\"DISCONNECTED\"),ob(this,\"_prevTime\",-1),ob(this,\"_enableSEI\"),ob(this,\"_sei\"),this.userId=e.userId,this.tinyId=e.tinyId,this._room=e.room,this._sdpSemantics=e.room.sdpSemantics,this._isUplink=e.isUplink,this._log=HO.createLogger({id:\"n\",userId:this._room.userId,remoteUserId:this._isUplink?void 0:this.userId,sdkAppId:this._room.sdkAppId,isLocal:this._isUplink}),this._signalChannel=e.signalChannel,this._enableSEI=e.enableSEI,this._enableSEI&&kw&&(this._sei=new PV(this,this._log,this._isUplink))}get _peerConnection(){var e;return(null==(e=this.singlePC)?void 0:e.getPeerConnection())||null}get singlePC(){return this._room.singlePC}close(e){this._log.info(\"close connection\"),this.emit(\"closed\",e),this._sei&&(this._sei.destroy(),this._sei=null)}emitConnectionStateChangedEvent(e){return e!==this._currentState&&(xO.emit(FO.PEER_CONNECTION_STATE_CHANGED,{room:this._room,prevState:this._currentState,state:e,remoteUserId:this._isUplink?void 0:this.userId}),this.emit(\"connection-state-changed\",{prevState:this._currentState,state:e}),this._currentState=e,!0)}getPeerConnection(){return this._peerConnection}getRoom(){return this._room}getUserId(){return this.userId}getTinyId(){return this.tinyId}getCurrentState(){return this._currentState}get isH264(){var e,t;return!(null==(t=null==(e=this._peerConnection)?void 0:e.remoteDescription)||!t.sdp.includes(\"H264\"))}},lU=class extends cU{constructor(e){super(eb($C({},e),{isUplink:!0})),ob(this,\"localMainAudioTrack\",null),ob(this,\"localMainVideoTrack\",null),ob(this,\"localAuxAudioTrack\",null),ob(this,\"localAuxVideoTrack\",null),ob(this,\"_isPublishingAux\",!1),ob(this,\"_publishingLocalAudioTrack\"),ob(this,\"_publishingLocalVideoTrack\"),ob(this,\"_mediaSettings\",{videoCodec:\"\",videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioCodec:\"opus\",audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0,auxVideoWidth:0,auxVideoHeight:0,auxVideoFps:0,auxVideoBps:0}),ob(this,\"_audioManager\"),this._audioManager=e.audioManager,this.initialize()}get ssrc(){if(!this.singlePC)return{audio:0,video:0,videoRtx:0,small:0,smallRtx:0,auxiliary:0,auxiliaryRtx:0};let{audioSsrc:e,bigVideoSsrc:t,bigVideoRtxSsrc:i,smallVideoSsrc:n,smallVideoRtxSsrc:r,auxVideoSsrc:o,auxVideoRtxSsrc:s}=this.singlePC.uplinkSSRC;return{audio:e||0,video:t||0,videoRtx:i||0,small:n||0,smallRtx:r||0,auxiliary:o||0,auxiliaryRtx:s||0}}get isMainStreamPublished(){return!(!this.localMainAudioTrack&&!this.localMainVideoTrack)}get isAuxStreamPublished(){return!(!this.localAuxVideoTrack&&!this.localAuxAudioTrack)}get publishState(){var e,t,i,n;let r={audio:!1,bigVideo:!1,smallVideo:!1,auxVideo:!1};if(this._peerConnection){let o=this._peerConnection.getSenders();o&&(Sw()?(r.audio=!(null==(e=o[0])||!e.track),r.bigVideo=!(null==(t=o[1])||!t.track),r.smallVideo=!(null==(i=o[2])||!i.track),r.auxVideo=!(null==(n=o[3])||!n.track)):o.forEach((e=>{e.track&&(e.track.kind===LN.AUDIO?r.audio=!0:(r.bigVideo=!0,this._room.videoManager.hasSmall&&(r.smallVideo=!0)))})))}return r}initialize(){this.installEvents()}reset(){this.uninstallEvents()}close(e){super.close(e),this.reset(),this.emitConnectionStateChangedEvent(\"DISCONNECTED\")}installEvents(){var e;this.listeners(\"connection-state-changed\").includes(this.handleConnectionStateChange)||this.on(\"connection-state-changed\",this.handleConnectionStateChange,this),this.listeners(\"spc-reconnected\").includes(this.onSinglePCReconnected)||null==(e=this.singlePC)||e.on(\"spc-reconnected\",this.onSinglePCReconnected,this)}uninstallEvents(){var e;this.off(\"connection-state-changed\",this.handleConnectionStateChange,this),null==(e=this.singlePC)||e.off(\"spc-reconnected\",this.onSinglePCReconnected,this)}emitConnectionStateChangedEvent(e,t){var i,n,r;let o=this._currentState,s=super.emitConnectionStateChangedEvent(e);return s&&o!==e&&(t?t.emit(\"connection-state-changed\",{prevState:o,state:e}):(null==(i=this.localMainVideoTrack)||i.emit(\"connection-state-changed\",{prevState:o,state:e}),null==(n=this.localAuxVideoTrack)||n.emit(\"connection-state-changed\",{prevState:o,state:e}),null==(r=this._publishingLocalVideoTrack)||r.emit(\"connection-state-changed\",{prevState:o,state:e}))),s}publish(e){return ab(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n,isAuxiliary:r}=e;return function*(){var e,o,s,a,c,l;if(!t.singlePC)return;if(yield t.singlePC.waitForPeerConnectionConnected(),i&&(t._publishingLocalAudioTrack=i),n){if(!t.singlePC.isH264EncodeSupported&&!t.singlePC.isVP8EncodeSupported)throw new gb({code:mb.NOT_SUPPORTED_H264,message:qO({key:JO.NOT_SUPPORTED_H264ENCODE})});Lb&&115===wk()&&n.profile.width*n.profile.height<=230400&&(t._log.warn(\"fallback video to 480p\"),n.setProfile(wN[\"480p_2\"]),yield n.applyProfile()),t._publishingLocalVideoTrack=n}let d;t._isPublishingAux=r,n&&!r&&n.small&&(d=t._room.videoManager.smallTrack),Iw()&&(yield t.publishByTransceiver({localAudioTrack:i,localVideoTrack:n,smallTrack:d,isAuxiliary:r})),t._publishingLocalAudioTrack=null,t._publishingLocalVideoTrack=null,t._isPublishingAux=!1,r?(n&&(t.localAuxVideoTrack=n),i&&(t.localAuxAudioTrack=i)):(n&&(t.localMainVideoTrack=n),i&&(t.localMainAudioTrack=i)),yield t.singlePC.setBandwidth({audio:(null==(e=t.localMainAudioTrack)?void 0:e.profile.bitrate)||(null==(o=t.localAuxAudioTrack)?void 0:o.profile.bitrate),bigVideo:null==(s=t.localMainVideoTrack)?void 0:s.profile.bitrate,smallVideo:null==(c=null==(a=t.localMainVideoTrack)?void 0:a.small)?void 0:c.bitrate,auxVideo:null==(l=t.localAuxVideoTrack)?void 0:l.profile.bitrate}),yield t._signalChannel.sendWaitForResponse({command:CV,responseCommand:nV.SPC_PUBLISH_RESULT,data:eb($C({},t.singlePC.uplinkSSRC),{state:t.publishState})}),t.sendMediaSettings(),t.installTrackMuteEvents(i,n),t.sendMutedFlag()}()}))}publishByTransceiver(e){let{localAudioTrack:t,localVideoTrack:i,smallTrack:n,isAuxiliary:r}=e;this._log.info(\"publish by transceiver\");let o=null==i?void 0:i.outMediaTrack,s=this._audioManager.mixedAudioTrack,a=this._peerConnection.getTransceivers(),c=[],l=[];if(s){let e=a[0].sender.replaceTrack(s);l.push(0),c.push(e)}if(o)if(r){let e=a[3].sender.replaceTrack(o);l.push(3),c.push(e)}else{let e=a[1].sender.replaceTrack(o);l.push(1),c.push(e)}if(n){let e=a[2].sender.replaceTrack(n);l.push(2),c.push(e)}let d=this.setTransceiverDirection(MN.SENDONLY,l);return c.push(d),Promise.all(c)}installTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.on(\"mute\",this.sendMutedFlag,this),null==e||e.on(\"unmute\",this.sendMutedFlag,this))}))}uninstallTrackMuteEvents(){for(var e=arguments.length,t=new Array(e),i=0;i{e&&(null==e||e.off(\"mute\",this.sendMutedFlag,this),null==e||e.off(\"unmute\",this.sendMutedFlag,this))}))}unpublish(e){return ab(this,arguments,(function(e){var t=this;let{localAudioTrack:i,localVideoTrack:n}=e;return function*(){let e=n&&n===t.localAuxVideoTrack,r=null==n?void 0:n.outMediaTrack,o=t._peerConnection.getSenders(),s=[];i&&(t._audioManager.mixedAudioTrack||(yield o[0].replaceTrack(null),s.push(0)),e?t.localAuxAudioTrack=null:t.localMainAudioTrack=null),r&&(e?(yield o[3].replaceTrack(null),t.localAuxVideoTrack=null,t._mediaSettings=eb($C({},t._mediaSettings),{auxVideoBps:0,auxVideoFps:0,auxVideoWidth:0,auxVideoHeight:0}),s.push(3)):(yield o[1].replaceTrack(null),yield o[2].replaceTrack(null),t.localMainVideoTrack=null,t._mediaSettings=eb($C({},t._mediaSettings),{videoWidth:0,videoHeight:0,videoBps:0,videoFps:0,audioFs:0,audioChannel:0,audioBps:0,smallVideoWidth:0,smallVideoHeight:0,smallVideoFps:0,smallVideoBps:0}),s.push(1,2))),t.isMainStreamPublished||t.isAuxStreamPublished?(yield t.setTransceiverDirection(MN.INACTIVE,s),yield t.doPublishChange(!1)):yield t.doUnpublish(),t.uninstallTrackMuteEvents(i,n),null==n||n.emit(\"connection-state-changed\",{prevState:t._currentState,state:\"DISCONNECTED\"})}()}))}doPublishChange(){let e=!(arguments.length>0&&void 0!==arguments[0])||arguments[0];return ab(this,null,(function*(){let t={state:this.publishState,constraintConfig:this._mediaSettings},i=yield this._signalChannel.sendWaitForResponse({command:dV,data:t,responseCommand:nV.PUBLISH_STATE_CHANGE_RESULT,enableLog:e});this.checkPublishResultCode(i.data.code,i.data.message)}))}doUnpublish(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return this._signalChannel.sendWaitForResponse({command:uV,commandDesc:\"unpublish\",responseCommand:nV.UNPUBLISH_RESULT,enableLog:e}).catch((e=>{if(e.getCode()===mb.API_CALL_TIMEOUT)return Promise.resolve();throw e}))}updateMediaSettings(){let{detail:{isH264EncodeSupported:e,isVp8EncodeSupported:t}}=this._room.checkSystemResult;e?this._mediaSettings.videoCodec=\"H264\":t&&(this._mediaSettings.videoCodec=\"VP8\");let i=this._publishingLocalAudioTrack||this.localMainAudioTrack||this.localAuxAudioTrack,{localMainVideoTrack:n,localAuxVideoTrack:r}=this;if(this._publishingLocalVideoTrack&&(this._isPublishingAux?r=this._publishingLocalVideoTrack:n=this._publishingLocalVideoTrack),Cw){if(i&&i.outMediaTrack){let e=i.outMediaTrack.getSettings();this._mediaSettings.audioChannel=e.channelCount||1,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=e.sampleRate||0}if(n&&n.outMediaTrack){let e=n.outMediaTrack.getSettings();this._mediaSettings.videoWidth=e.width||0,this._mediaSettings.videoHeight=e.height||0,this._mediaSettings.videoFps=e.frameRate||0,this._mediaSettings.videoBps=1e3*n.profile.bitrate,n.small&&(this._mediaSettings.smallVideoWidth=n.small.width,this._mediaSettings.smallVideoHeight=n.small.height,this._mediaSettings.smallVideoFps=n.small.frameRate,this._mediaSettings.smallVideoBps=1e3*n.small.bitrate)}if(r&&r.outMediaTrack){let e=r.outMediaTrack.getSettings();this._mediaSettings.auxVideoWidth=e.width||0,this._mediaSettings.auxVideoHeight=e.height||0,this._mediaSettings.auxVideoFps=e.frameRate||0,this._mediaSettings.auxVideoBps=1e3*r.profile.bitrate}}else i&&i.outMediaTrack&&(this._mediaSettings.audioChannel=i.profile.channelCount,this._mediaSettings.audioBps=1e3*i.profile.bitrate,this._mediaSettings.audioFs=i.profile.sampleRate),n&&n.outMediaTrack&&(this._mediaSettings.videoWidth=n.profile.width,this._mediaSettings.videoHeight=n.profile.height,this._mediaSettings.videoFps=n.profile.frameRate,this._mediaSettings.videoBps=1e3*n.profile.bitrate);this._log.info(\"updateMediaSettings: \".concat(JSON.stringify(this._mediaSettings)))}sendMediaSettings(){this.updateMediaSettings(),this._signalChannel.sendWaitForResponse({command:yV,data:this._mediaSettings,responseCommand:nV.UPDATE_CONSTRAINT_CONFIG_RES}).then((e=>{0!==e.data.code&&this._log.warn(e.data.message)})).catch((()=>{}))}addTrack(e){return ab(this,null,(function*(){var t;if(!this._peerConnection)return;let i=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info(\"is adding \".concat(e.kind,\" track to current published local \").concat(i?LN.AUXILIARY:LN.MAIN,\" stream\")),null==(t=this._sei)||t.handleEncodedStreams(),Sw()&&(yield this.addTrackByTransceiver(e,i))}))}addTrackByTransceiver(e,t){return ab(this,null,(function*(){var i;if(!e.mediaTrack)return;let n=this._peerConnection.getTransceivers();if(e.kind===LN.AUDIO)yield n[0].sender.replaceTrack(this._audioManager.mixedAudioTrack);else{let r=t?3:1;yield n[r].sender.replaceTrack(e.outMediaTrack),1===r&&(null==(i=this.localMainVideoTrack)?void 0:i.small)&&(yield n[2].sender.replaceTrack(this._room.videoManager.smallTrack)),n[r].direction===MN.INACTIVE&&(yield this.setTransceiverDirection(MN.SENDONLY,[r]))}this.updateMediaSettings(),yield this.doPublishChange()}))}removeTrack(e){return ab(this,null,(function*(){if(!this._peerConnection)return;let t=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info(\"is removing \".concat(e.kind,\" track from current published local \").concat(t?LN.AUXILIARY:LN.MAIN,\" stream\")),Sw()&&(yield this.removeTrackByTransceiver(e,t))}))}removeTrackByTransceiver(e,t){return ab(this,null,(function*(){if(!e.mediaTrack)return;let i=this._peerConnection.getTransceivers();if(e.kind===LN.AUDIO)this._audioManager.mixedAudioTrack||(yield i[0].sender.replaceTrack(null));else{let e=t?3:1;yield i[e].sender.replaceTrack(null),1===e&&this._room.videoManager.hasSmall&&(yield i[2].sender.replaceTrack(null)),yield this.setTransceiverDirection(MN.INACTIVE,[e])}this.updateMediaSettings(),yield this.doPublishChange()}))}setTransceiverDirection(e,t){return ab(this,null,(function*(){if(!Ub)return;let i=!1,n=!1;this._log.info(\"setting transceiver \".concat(t.join(\",\"),\" direction to \").concat(e));let r=this._peerConnection.getTransceivers();if(t.forEach((t=>{r[t].direction!==e&&(r[t].direction=e,i=!0)})),i){this._log.info(\"updating offer\");let e=yield this._peerConnection.createOffer();yield this._peerConnection.setLocalDescription(e)}let o=-1,s=this._peerConnection.remoteDescription.sdp.split(\"\\r\\n\").map((i=>{if(i.match(new RegExp(\"a=(\".concat(MN.INACTIVE,\"|\").concat(MN.RECVONLY,\"|\").concat(MN.SENDONLY,\")\")))&&o++,t.includes(o)){if(e===MN.INACTIVE&&i.includes(\"a=\".concat(MN.RECVONLY)))return n=!0,\"a=\".concat(e);if(e===MN.SENDONLY&&i.includes(\"a=\".concat(MN.INACTIVE)))return n=!0,\"a=\".concat(MN.RECVONLY)}return i})).join(\"\\r\\n\");n&&(this._log.info(\"updating answer\"),yield this._peerConnection.setRemoteDescription({type:\"answer\",sdp:s}))}))}replaceTrack(e){return ab(this,null,(function*(){var t;let i=null==(t=this._peerConnection)?void 0:t.getSenders(),n=e.mediaTrack;if(!i||0===i.length||!n)return;let r=e===this.localAuxAudioTrack||e===this.localAuxVideoTrack;this._log.info(\"is replacing \".concat(n.kind,\" track on \").concat(r?LN.AUXILIARY:LN.MAIN,\" stream\")),n.kind===LN.AUDIO&&i[0]&&(yield i[0].replaceTrack(this._audioManager.mixedAudioTrack)),n.kind===LN.VIDEO&&(!r&&i[1]&&(yield i[1].replaceTrack(e.outMediaTrack||n)),r&&i[3]&&(yield i[3].replaceTrack(e.outMediaTrack)))}))}setBandwidth(e){return ab(this,arguments,(function(e){var t=this;let{bandwidth:i,type:n,videoType:r}=e;return function*(){if(t.singlePC){let e={};n===LN.AUDIO?e.audio=i:\"big\"===r?e.bigVideo=i:\"small\"===r?e.smallVideo=i:e.auxVideo=i,yield t.singlePC.setBandwidth(e)}}()}))}sendMutedFlag(e){var t,i,n;if(e===this.localAuxAudioTrack||e===this.localAuxVideoTrack)return;let r={audio:!(null==(t=this.localMainAudioTrack)||!t.muted),bigVideo:!(null==(i=this.localMainVideoTrack)||!i.muted),auxVideo:!(null==(n=this.localAuxVideoTrack)||!n.muted)};this._log.info(\"send muted state: \".concat(JSON.stringify(r))),this._signalChannel.send(cV,r)}handleConnectionStateChange(e){\"CONNECTED\"===e.state&&(this.localMainVideoTrack||this._publishingLocalVideoTrack&&!this._isPublishingAux)&&xO.emit(FO.SEND_FIRST_VIDEO_FRAME,{room:this._room})}getVideoTrackId(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:LN.VIDEO;if(this._peerConnection){let t=this._peerConnection.getSenders();if(e===LN.AUXILIARY&&t[3]&&t[3].track)return t[3].track.id;if(e===LN.VIDEO&&t[1]&&t[1].track)return t[1].track.id}if(this.localMainVideoTrack&&e===LN.VIDEO){let e=this.localMainVideoTrack.mediaTrack;if(e)return e.id}if(this.localAuxVideoTrack&&e===LN.AUXILIARY){let e=this.localAuxVideoTrack.mediaTrack;if(e)return e.id}return\"\"}getSSRC(){return this.ssrc}checkPublishResultCode(e,t){if(0!==e)throw e===_D?(this._log.error(KO.NOT_SUPPORTED_H264ENCODE),new gb({code:mb.NOT_SUPPORTED_H264,message:qO({key:JO.NOT_SUPPORTED_H264ENCODE})})):new gb({code:mb.UNKNOWN,message:qO({key:JO.SIGNAL_RESPONSE_FAILED,data:{signalResponse:nV.PUBLISH_RESULT,code:e,message:t}})})}sendSEI(e,t){var i;null==(i=this._sei)||i.push(e,t)}onSinglePCReconnected(){return ab(this,null,(function*(){this.isMainStreamPublished&&(yield this.publish({localAudioTrack:this.localMainAudioTrack,localVideoTrack:this.localMainVideoTrack,isAuxiliary:!1})),this.isAuxStreamPublished&&(yield this.publish({localAudioTrack:this.localAuxAudioTrack,localVideoTrack:this.localAuxVideoTrack,isAuxiliary:!0}))}))}};function dU(e){return Object.keys(e).filter((t=>e[t]))}var uU=class extends cU{constructor(e){super(eb($C({},e),{isUplink:!1})),ob(this,\"_flag\",0),ob(this,\"role\",\"anchor\"),ob(this,\"remoteAudioTrack\"),ob(this,\"remoteVideoTrack\"),ob(this,\"remoteAuxiliaryTrack\"),ob(this,\"ssrc\",{audio:0,video:0,videoRtx:0,auxiliary:0,auxiliaryRtx:0}),this.flag=e.flag,this.remoteAudioTrack=new RL(this._room,this),this.remoteVideoTrack=new CL(this._room,this),this.remoteAuxiliaryTrack=new bL(this._room,this),this.initialize()}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 IO(this.flag,this.userId)}get flag(){return this._flag}set flag(e){var t,i,n;e!==this._flag&&(this._flag=e,null==(t=this.remoteAudioTrack)||t.onFlagChanged(),null==(i=this.remoteVideoTrack)||i.onFlagChanged(),null==(n=this.remoteAuxiliaryTrack)||n.onFlagChanged())}get hasMainStream(){return this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall}get hasAuxStream(){return this.muteState.hasAuxiliary}get isMainStreamSubscribed(){return(this.subscribeState.audio||this.subscribeState.video||this.subscribeState.smallVideo)&&(this.muteState.hasAudio||this.muteState.hasVideo||this.muteState.hasSmall)}get isAuxStreamSubscribed(){return this.subscribeState.auxiliary&&this.muteState.hasAuxiliary}get isSmallStreamSubscribed(){return this.subscribeState.smallVideo&&this.muteState.hasSmall}get isBigStreamSubscribed(){return this.subscribeState.video&&this.muteState.hasVideo}isStreamUnpublished(e){return e===LN.MAIN?!this.muteState.hasAudio&&!this.muteState.hasVideo:!this.muteState.hasAuxiliary}initialize(){this.installEvents()}close(e){super.close(e),this.emitConnectionStateChangedEvent(\"DISCONNECTED\"),this.remoteAudioTrack.close(),this.remoteVideoTrack.close(),this.remoteAuxiliaryTrack.close(),this.uninstallEvents(),this.removeDownlink()}installEvents(){!this.singlePC||(this.listeners(\"track\").includes(this.onTrack)||this.singlePC.on(\"track\",this.onTrack,this),this.listeners(\"spc-reconnected\").includes(this.onSinglePCReconnected)||this.singlePC.on(\"spc-reconnected\",this.onSinglePCReconnected,this))}uninstallEvents(){!this.singlePC||(this.singlePC.off(\"track\",this.onTrack,this),this.singlePC.off(\"spc-reconnected\",this.onSinglePCReconnected,this))}emitConnectionStateChangedEvent(e){var t,i;let n=this._currentState,r=super.emitConnectionStateChangedEvent(e);return r&&n!==e&&(null==(t=this.remoteVideoTrack)||t.emit(\"connection-state-changed\",{prevState:n,state:e}),null==(i=this.remoteAuxiliaryTrack)||i.emit(\"connection-state-changed\",{prevState:n,state:e})),r}onTrack(e){let t=e.streams[0],{track:i}=e;if(t.id.split(\"-\")[0]!==this.tinyId)return;let n=t.id.includes(\"aux\")?\"auxiliary\":\"main\";this._log.debug(\"ontrack \".concat(n,\" \").concat(i.kind));let r=LN.AUDIO;i.kind===LN.VIDEO&&(r=n===LN.MAIN?LN.VIDEO:LN.AUXILIARY);let o=this.remoteAudioTrack;r===LN.VIDEO?o=this.remoteVideoTrack:r===LN.AUXILIARY&&(o=this.remoteAuxiliaryTrack),o.setInputMediaStreamTrack(i)}isSubscriptionStateNotChanged(e){return JSON.stringify(e)===JSON.stringify(this.subscribeState)}subscribe(e,t){return ab(this,null,(function*(){try{if(this.isSubscriptionStateNotChanged(e))return;if(this._log.info(\"subscribe \".concat(t,\" \").concat(dU(e))),this.hasSSRC){let t=\"subscribe_change\";Object.values(e).find((e=>!0===e))||(t=\"unsubscribe\"),yield this.sendSubscription(t,e)}else yield this.doSubscribe(e)}catch(aN){throw this._room.isJoined&&this.isStreamUnpublished(t)?(this._log.warn(\"\".concat(aN.message,\" \").concat(JSON.stringify(this.muteState))),new gb({code:mb.REMOTE_STREAM_NOT_EXIST,message:\"remote user \".concat(this.userId,\" unpublished stream\")})):aN}}))}unsubscribe(e){return ab(this,arguments,(function(e){var t=this;let{remoteTracks:i,streamType:n}=e;return function*(){var e;if(\"main\"===n&&!t.isMainStreamSubscribed||\"auxiliary\"===n&&!t.isAuxStreamSubscribed)return void t._log.info(\"\".concat(n,\" stream already unsubscribed\"));let r=$C({},t.subscribeState);i.forEach((e=>{switch(e.mediaType){case 1:r.audio=!1;break;case 4:r.video=!1;break;case 8:r.smallVideo=!1;break;case 2:r.auxiliary=!1}}));let o=\"subscribe_change\";Object.values(r).find((e=>!0===e))||(o=\"unsubscribe\"),t._log.info(\"\".concat(\"unsubscribe\"===o?o:\"subscribe\",\" \").concat(n,\" [\").concat(dU(r),\"]\")),\"unsubscribe\"===o&&(null==(e=t.singlePC)||e.removeDownlinkQueue.add(t.tinyId)),yield t.sendSubscription(o,r),\"unsubscribe\"===o&&(yield t.removeDownlink())}()}))}sendSubscription(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:this.subscribeState,i={srcTinyId:this.tinyId,srcUserId:this.userId},n=pV,r=nV.UNSUBSCRIBE_RESULT;return\"subscribe_change\"===e&&(i={audio:t.audio,bigVideo:t.video,auxVideo:t.auxiliary,smallVideo:t.smallVideo,srcTinyId:this.tinyId},n=_V,r=nV.SUBSCRIBE_CHANGE_RESULT),this._signalChannel.sendWaitForResponse({command:n,data:i,responseCommand:r,timeout:1e4}).then((t=>{let{data:i}=t;if(0!==i.code){let t=new gb({code:i.code,message:qO({key:JO.ERROR_MESSAGE,data:{type:e,message:i.message}})});throw this._log.error(t),t}}))}getMainStreamVideoTrackId(){return this.remoteVideoTrack&&this.remoteVideoTrack.mediaTrack?this.remoteVideoTrack.mediaTrack.id:\"\"}getAuxStreamVideoTrackId(){return this.remoteAuxiliaryTrack&&this.remoteAuxiliaryTrack.mediaTrack?this.remoteAuxiliaryTrack.mediaTrack.id:\"\"}setDelay(e){let{audioDelay:t,videoDelay:i}=e;this.remoteAudioTrack.stat.end2EndDelay=t,this.remoteVideoTrack.stat.end2EndDelay=i}onSinglePCReconnected(){(this.ssrc.audio||this.ssrc.video||this.ssrc.auxiliary)&&this.doSubscribe(this.subscribeState,!1)}get hasSSRC(){return this.ssrc.audio&&this.ssrc.video&&this.ssrc.auxiliary}doSubscribe(){return ab(this,arguments,(function(){var e=this;let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this.subscribeState,i=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return function*(){if(e.singlePC){if(e.singlePC.addDownlinkQueue.add(e.tinyId),yield e.singlePC.waitForPeerConnectionConnected(),i||!e.hasSSRC){let i={audioSsrc:sU(),bigVideoSsrc:sU(),bigVideoRtxSsrc:sU(),auxVideoSsrc:sU(),auxVideoRtxSsrc:sU()},{audioSsrc:n,bigVideoSsrc:r,bigVideoRtxSsrc:o,auxVideoSsrc:s,auxVideoRtxSsrc:a}=i;e.ssrc={audio:n,video:r,videoRtx:o,auxiliary:s,auxiliaryRtx:a},e.singlePC.addDownlinkQueue.delete(e.tinyId),yield e.singlePC.addDownlink({userId:e.userId,tinyId:e.tinyId,ssrc:e.ssrc});let c=yield e._signalChannel.sendWaitForResponse({command:bV,responseCommand:nV.SPC_SUBSCRIBE_RESULT,data:{srcUserId:e.userId,srcTinyId:e.tinyId,audio:t.audio,bigVideo:t.video,auxVideo:t.auxiliary,smallVideo:t.smallVideo,customData:!1,ssrc:i}});if(0!==c.data.code)throw yield e.removeDownlink(),new gb({code:c.data.code,message:c.data.message});return}e.singlePC.addDownlinkQueue.delete(e.tinyId),yield e.singlePC.addDownlink({userId:e.userId,tinyId:e.tinyId,ssrc:e.ssrc})}}()}))}removeDownlink(){return ab(this,null,(function*(){!this.singlePC||(this.ssrc={audio:0,video:0,videoRtx:0,auxiliary:0,auxiliaryRtx:0},this.singlePC.removeDownlinkQueue.delete(this.tinyId),yield this.singlePC.removeDownlink(this.tinyId,this.userId))}))}};rb([iL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{let r=e=>{this.off(\"closed\",r),n(new gb({code:mb.API_CALL_ABORTED,message:qO({key:JO.CONNECTION_ABORTED,data:e})}))};this.on(\"closed\",r),e.apply(this,i).then(t,n).finally((()=>{this.off(\"closed\",r)}))}))}))],uU.prototype,\"subscribe\",1);var hU=uU;var{isString:pU,isPlainObject:_U,isUndefined:mU,getNetworkType:fU,getTerminalType:gU,isEmpty:TU}=Ib,EU=class extends Fx{constructor(e){super(e),this.privateMapKey=\"\",this._heartbeat=-1,this._lastHeartBeatTime=-1,this._joinTimeout=-1,this._firstPublishedList=null,this._joinReject=null,this._isRelayChanged=!1,this._signalChannel=null,this.uplinkConnection=null,this.singlePC=null,this.enableSPC=vw,this._changeBigSmallRecords=new Map,this._networkQuality=null,this._networkType=fU(),this._turnServers=[],this._syncUserListInterval=-1,this._smallStreamConfig={bitrate:100,frameRate:15,height:120,width:160},this.enableSEI=!1,this._enableAudioVolumeEvaluation=!1,this._audioVolumeIntervalId=0,this._enableMultiAuxStream=!1,this._pureAudioPushMode=!1,this.enableHWEncoder=!1,this._stats=new QV(this,this._log),this.userManager=new KL(this.userId,this._log),this._version=rN,this.sdpSemantics=pD,mU(e.sdpSemantics)?WO.isUnifiedPlanDefault()&&(this.sdpSemantics=hD):this.sdpSemantics=e.sdpSemantics,this._log.info(\"sdpSemantics: \".concat(this.sdpSemantics,\", netType: \").concat(this._networkType)),e.iceTransportPolicy&&(this._iceTransportPolicy=e.iceTransportPolicy),this._enableMultiAuxStream=!mU(e.enableMultiAuxStream)&&e.enableMultiAuxStream,this.enableSEI=e.enableSEI,!mU(e.enableSPC)&&vw&&(this.enableSPC=e.enableSPC),this.enableHWEncoder=e.enableHWEncoder||!1,this._initBusinessInfo(e)}get isMainStreamPublished(){var e;return!(null==(e=this.uplinkConnection)||!e.isMainStreamPublished)}get isMainAudioPublished(){var e;return!(null==(e=this.uplinkConnection)||!e.localMainAudioTrack)}get isAuxStreamPublished(){var e;return!(null==(e=this.uplinkConnection)||!e.isAuxStreamPublished)}get hasAuxStream(){return[...this.remotePublishedUserMap.values()].findIndex((e=>e.muteState.hasAuxiliary))>=0}get userMap(){return this.userManager.userMap}get remotePublishedUserMap(){return this.userManager.remotePublishedUserMap}get tinyIdToUserIdMap(){return new Map([...this.remotePublishedUserMap.values()].map((e=>[e.tinyId,e.userId])))}join(e,t,i){return ab(this,null,(function*(){return this.userManager.mySelfId=this.userId,this.userManager.on(\"1\",(e=>{this.emit(\"peer-join\",e)})),this.userManager.on(\"2\",(e=>{this.closeDownLinkConnection(e,\"remote user exitRoom\"),this.emit(\"peer-leave\",e)})),this.userManager.on(\"3\",this.createDownlinkConnection,this),this.userManager.on(\"5\",this.closeDownLinkConnection,this),this.userManager.on(\"6\",(e=>{var t=((e,t)=>{var i={};for(var n in e)zC.call(e,n)&&t.indexOf(n)<0&&(i[n]=e[n]);if(null!=e&&KC)for(var n of KC(e))t.indexOf(n)<0&&qC.call(e,n)&&(i[n]=e[n]);return i})(e,[]);xO.emit(FO.REMOTE_PUBLISH_STATE_CHANGED,$C({room:this},t)),this.emit(\"remote-publish-state-changed\",$C({},t))})),this._joinOptions=e,new Promise(((t,i)=>ab(this,null,(function*(){this._joinReject=i;try{this.checkDestroy();let i=yield this.initialize();yield this.doJoin(e,i),t(),this._firstPublishedList&&this.onPublishedUserList({data:{userList:this._firstPublishedList}})}catch(qx){i(qx)}this._joinReject=null}))))}))}doJoin(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return new Promise(((i,n)=>ab(this,null,(function*(){var r,o,s;let a;if(e.privateMapKey&&(this.privateMapKey=e.privateMapKey),this._signalChannel.once(zM,(e=>{this.clearJoinTimeout(),xO.emit(FO.JOIN_SIGNAL_CONNECTION_END,{room:this,error:e}),n(e)})),sO(null==(o=null==(r=this.scheduleResult)?void 0:r.config)?void 0:o.singlePC)&&vw&&(this.enableSPC=this.scheduleResult.config.singlePC),this.enableSPC&&!this.singlePC){this.singlePC=new iU({signalChannel:this._signalChannel,room:this,enableCustomMessage:!1}),this.singlePC.once(\"error\",(()=>this.fallbackToMPC()));try{a=yield this.singlePC.initialize()}catch(d){this.fallbackToMPC()}}this.keyPointManager.setConnectionType(this.singlePC?1:2);let c={roomId:String(e.roomId||e.strRoomId),useStringRoomId:this.useStringRoomId,privateMapKey:this.privateMapKey,trtcRole:e.role,trtcScene:\"live\"===this.scene?2:1,sdpSemantics:this.sdpSemantics,version:this._version,ua:navigator&&navigator.userAgent||\"\",terminalType:gU(),netType:kN[this._networkType],bussinessInfo:this._businessInfo,ability:a};t&&(c.userSig=this.userSig),this._log.debug(\"join room signal data: \".concat(JSON.stringify(c)));let l=5e3;(null==(s=this.scheduleResult.config)?void 0:s.enterRoomTimeout)&&this.scheduleResult.config.enterRoomTimeout>=1&&(l=1e3*this.scheduleResult.config.enterRoomTimeout),this._joinTimeout=window.setTimeout((()=>{n(new gb({code:mb.JOIN_ROOM_FAILED,message:qO({key:JO.JOIN_ROOM_TIMEOUT})}))}),l),xO.emit(FO.JOIN_SEND_CMD,{room:this}),this._signalChannel.send(this.singlePC?RV:oV,c),this._signalChannel.once(nV.JOIN_ROOM_RESULT,(e=>{this.clearJoinTimeout();let{code:t,message:r,data:o}=e.data;xO.emit(FO.JOIN_RECEIVED_CMD_RES,{room:this,code:t}),0===t?(this._log.info(\"Join room success, start heartbeat\"),this.startHeartbeat(),this.syncUserList(),this.startSyncUserListInterval(),this._firstPublishedList=o.publishers,this.singlePC&&this.singlePC.connect(o.ability).catch((()=>{})),i()):(this._log.error(\"Join room failed result: \".concat(t,\" error: \").concat(r)),n(new gb({code:mb.JOIN_ROOM_FAILED,extraCode:t,message:qO({key:JO.JOIN_ROOM_FAILED,data:{error:r,code:t}})})))}))}))))}reJoin(){return ab(this,null,(function*(){if(this.isJoined)try{if(this._log.warn(\"reJoin pending: \".concat(this._joinOptions.roomId)),this.singlePC&&(this.singlePC.close(),this.singlePC=null),this._signalChannel.close(),yield this._signalChannel.connect(),yield this.doJoin(eb($C({},this._joinOptions),{role:\"anchor\"===this.role?20:21,privateMapKey:this.privateMapKey})),this._log.warn(\"reJoin success\"),Qw.logSuccessEvent({userId:this.userId,eventType:cD.REJOIN}),this.singlePC){let e=t=>{var i;\"CONNECTED\"===t.state&&(null==(i=this.singlePC)||i.off(Xx.CONNECTION_STATE_CHANGED,e),this.uplinkConnection instanceof lU&&this.uplinkConnection.onSinglePCReconnected(),this.remotePublishedUserMap.forEach((e=>{e.installEvents(),e.doSubscribe()})))};this.singlePC.on(Xx.CONNECTION_STATE_CHANGED,e),this.checkConnectionsToReconnect(),this.uplinkConnection instanceof qV&&!this.uplinkConnection.getIsReconnecting()&&this.uplinkConnection.startReconnection()}}catch(sN){this._log.warn(\"reJoin fail \".concat(sN)),this.reset(),Qw.logFailedEvent({userId:this.userId,eventType:cD.REJOIN,error:sN}),this.emit(\"error\",new gb({code:mb.JOIN_ROOM_FAILED,message:qO({key:JO.REJOIN_ROOM_FAILED,data:{roomId:this._joinOptions.roomId}})}))}else this._log.warn(\"reJoin abort\")}))}initialize(){return ab(this,null,(function*(){let{mainUrl:e,backupUrl:t}=this.getSignalChannelUrl(),i=this._signalChannel||function(e){let t=[...NV.values()].find((t=>t.room.userId===e&&!t.room.isJoined));return t||null}(this.userId),n=!!(i&&i.isConnected&&i.keepAlive);return this._log.info(\"setup signal channel. reuse: \".concat(+n)),n?(i.url=e,i.backupUrl=t,i.room=this,this._signalChannel=i):this._signalChannel=new DV({sdkAppId:this.sdkAppId,userId:this.userId,userSig:this.userSig,url:e,backupUrl:t,room:this}),this._networkQuality||(this._networkQuality=new $V({signalChannel:this._signalChannel,room:this}),this._networkQuality.on($V.EVENT_NETWORK_QUALITY,(e=>{this.emit(\"network-quality\",e)}))),SP(this,this._signalChannel).add(qM,(e=>{xO.emit(FO.SIGNAL_CONNECTION_STATE_CHANGED,$C({room:this},e)),this.emit(\"signal-connection-state-changed\",e)})).add(XM,(e=>{this.reset(),this.emit(\"error\",e)})).add(nV.PEER_JOIN,(e=>{let{srcTinyId:t,userId:i,role:n}=e.data.data;this.userManager.addUser({userId:i,tinyId:t,role:n})})).add(nV.PEER_LEAVE,(e=>{let{userId:t,reason:i=0}=e.data.data;this.userManager.deleteUser(t,i)})).add(nV.UPDATE_REMOTE_MUTE_STAT,(e=>{this._lastHeartBeatTime>0&&Date.now()-this._lastHeartBeatTime>=1e4&&this.doHeartbeat(),this.onPublishedUserList(e.data)})).add(nV.CLIENT_BANNED,(e=>{let t=e.data.data,{reason:i}=t;if(Qw.uploadEvent({log:\"stat-banned:\".concat(i),userId:this.userId}),\"user_time_out\"===i)return this._log.warn(\"\".concat(i,\" last heart beat time: \").concat(this._lastHeartBeatTime,\" interval: \").concat(Date.now()-this._lastHeartBeatTime,\", visibility: \").concat(document.visibilityState)),void this.reJoin();this._log[\"kick\"===i?\"error\":\"info\"](\"user was banned because of [\".concat(i,\"]\")),this.reset(),this.emit(\"banned\",{reason:i})})),this._signalChannel.once(YM,(e=>{this.tinyId=e.signalInfo.tinyId,xO.emit(FO.JOIN_SIGNAL_CONNECTION_END,{room:this})})),xO.emit(FO.JOIN_SIGNAL_CONNECTION_START,{room:this}),yield this._signalChannel.connect(this._isUsingCachedSchedule?1e4:void 0),n}))}setSignalChannel(e){this._signalChannel=e,e||IP(this)}leave(){return ab(this,null,(function*(){var e;try{yield this.doHeartbeat()}catch(sD){}this._log.info(\"leave() => leaving room\"),xO.emit(FO.LEAVE_SEND_CMD,{room:this}),null==(e=this._signalChannel)||e.send(sV)}))}clearNetworkQuality(){this._networkQuality&&(this._networkQuality.stop(),this._networkQuality=null)}closeConnections(){this.remotePublishedUserMap.forEach((e=>{this.closeDownLinkConnection(e.userId,\"you exitRoom\")}))}clearJoinTimeout(){clearTimeout(this._joinTimeout),this._joinTimeout=-1}startHeartbeat(){-1===this._heartbeat&&(this._heartbeat=zw.run(wD,this.doHeartbeat.bind(this),{delay:2e3}))}stopHeartbeat(){-1!==this._heartbeat&&(this._log.info(\"stopHeartbeat\"),zw.clearTask(this._heartbeat),this._heartbeat=-1,this._lastHeartBeatTime=-1)}doHeartbeat(){return ab(this,null,(function*(){var e;let t=this.badCaseDetector.getMonitorFreeze(),i=yield this._stats.getStatsReport({uplinkConnection:this.uplinkConnection,downlinkConnections:this.remotePublishedUserMap,freezeMap:t});if(this.badCaseDetector.resetMonitor(),null==(e=this._signalChannel)||!e.isConnected)return;let n=this._signalChannel.isConnected?function(e){if(GL.has(e)){let t=GL.get(e).map((e=>({uint32_event_id:e.eventId,uint64_date:e.timestamp,str_userid:e.remoteUserId,str_event_json:e.eventDesc})));return GL.delete(e),t}return[]}(this.userId):[],r=$C({str_sdk_version:nN,uint64_datetime:(new Date).getTime(),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:kN[this._networkType]},msg_event_msg:n,str_acc_ip:this.getSignalInfo().relayIp,str_client_ip:this.getSignalInfo().clientIp},i);xO.emit(FO.HEARTBEAT_REPORT,{room:this,report:r}),this._signalChannel.send(aV,r),this.emit(\"heartbeat-report\",eb($C({},r),{bytes_sent:this._stats.totalBytesSent+this._signalChannel.bytesSent,bytes_received:this._stats.totalBytesReceived+this._signalChannel.bytesReceived}));let o=Date.now();this._lastHeartBeatTime>0&&o-this._lastHeartBeatTime>1e4&&this._log.warn(\"heartbeat took \".concat(o-this._lastHeartBeatTime)),this._signalChannel.isConnected&&(this._lastHeartBeatTime=o),!this._isRelayChanged&&this.isRelayMaybeFailed()&&(this.reJoin(),this._isRelayChanged=!0)}))}onPublishedUserList(e){if(!this.isJoined)return;let t=e.data.userList.map((e=>{let{userId:t,srcTinyId:i,flag:n}=e,r=this.remotePublishedUserMap.get(t);return r&&this._changeBigSmallRecords.has(t)&&this.checkSubscribeBigSmallVideo(r),{userId:t,tinyId:i,flag:n}}));xO.emit(FO.RECEIVED_PUBLISHED_USER_LIST,{room:this,publishedUserList:t}),this.userManager.setRemotePublishedUserList(t)}closeUplink(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:\"you unpublished\";this.uplinkConnection&&(this.localTracks.size>0&&this.uplinkConnection.doUnpublish(),this.uplinkConnection.close(e),this.uplinkConnection=null),this.localTracks.forEach((e=>e.unpublish())),this.localTracks.clear()}createDownlinkConnection(e){let{userId:t,tinyId:i,flag:n}=e,r=new(this.singlePC?hU:JV)({userId:t,tinyId:i,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,flag:n});this.userManager.addRemotePublishedUser(r),this.installDownlinkEvents(r,t),this.emit(\"remote-published\",r)}closeDownLinkConnection(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"remote user unpublished\",i=this.remotePublishedUserMap.get(e);i&&(i.close(t),this.emit(\"remote-unpublished\",i))}installDownlinkEvents(e,t){e.on(\"sei-message\",(e=>{this.emit(\"sei-message\",e)})),e.on(\"error\",(e=>{let i=e.getCode();i!==mb.ICE_TRANSPORT_ERROR&&(i===mb.DOWNLINK_RECONNECTION_FAILED&&this.closeDownLinkConnection(t),this.emit(\"error\",e))})),e.on(\"connection-state-changed\",(t=>{this.emit(\"media-connection-state-changed\",eb($C({},t),{userId:e.userId}))})),e.on(\"firewall-restriction\",(()=>{this.emit(\"firewall-restriction\")}))}startSyncUserListInterval(){-1===this._syncUserListInterval&&(this._syncUserListInterval=zw.run(wD,this.syncUserList.bind(this)))}stopSyncUserListInterval(){zw.clearTask(this._syncUserListInterval),this._syncUserListInterval=-1}syncUserList(){return this.getUserList().then((e=>{this.userManager.setUserList(e)})).catch((e=>{this._log.debug(\"sync user list failed: \".concat(e))}))}getUserList(){var e;return null!=(e=this._signalChannel)&&e.isConnected?this._signalChannel.sendWaitForResponse({command:IV,responseCommand:nV.USER_LIST_RES,enableLog:!1,timeout:2e3}).then((e=>{let{data:t}=e,{code:i,message:n}=t;if(0===i)return(t.data&&t.data.userList||[]).map((e=>{let{userId:t,srcTinyId:i,role:n}=e;return{userId:t,tinyId:i,role:n}}));throw qO({key:JO.SIGNAL_RESPONSE_FAILED,data:{signalResponse:nV.USER_LIST_RES,code:i,message:n}})})):Promise.reject(\"not connected\")}getAllConnections(){let e=[...this.remotePublishedUserMap.values()];return this.uplinkConnection&&e.push(this.uplinkConnection),e}isRelayMaybeFailed(){if(this._signalChannel&&!this._signalChannel.isOnline||!xV)return!1;if(this.singlePC)return this.singlePC.reconnectionCount>6;let e=this.getAllConnections();if(0===e.length)return!1;for(let t=0;t{if(e instanceof UV&&!e.getIsReconnecting()){let t=e.getPeerConnection();t&&t.connectionState===iD.CLOSED&&(this._log.warn(\"[\".concat(e.getUserId(),\"] pc is closed but not reconnect\")),e.startReconnection())}}))}fallbackToMPC(){return ab(this,null,(function*(){var e;if(this._log.warn(\"fallback to multi pc\"),Qw.uploadEvent({log:\"stat-fallback\",userId:this.userId}),this.enableSPC=!1,null==(e=this.singlePC)||e.close(),this.singlePC=null,yield this.reJoin(),this.uplinkConnection){let e=this.uplinkConnection;this.uplinkConnection=new qV({userId:this.userId,tinyId:this.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,audioManager:this.audioManager}),e.isMainStreamPublished&&(yield this.uplinkConnection.publish({localAudioTrack:e.localMainAudioTrack,localVideoTrack:e.localMainVideoTrack,isAuxiliary:!1})),e.isAuxStreamPublished&&(yield this.uplinkConnection.publish({localAudioTrack:e.localAuxAudioTrack,localVideoTrack:e.localAuxVideoTrack,isAuxiliary:!0}))}this.remotePublishedUserMap.forEach((e=>{let t=new JV({userId:e.userId,tinyId:e.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,flag:e.flag,remoteAudioTrack:e.remoteAudioTrack,remoteVideoTrack:e.remoteVideoTrack,remoteAuxiliaryTrack:e.remoteAuxiliaryTrack});this.installDownlinkEvents(t,e.userId),this.remotePublishedUserMap.set(e.userId,t),e.isMainStreamSubscribed&&t.subscribe(e.subscribeState,\"main\"),e.isAuxStreamSubscribed&&t.subscribe(e.subscribeState,\"auxiliary\")}))}))}destroy(){this._isDestroyed||(this._signalChannel&&(this._log.info(\"destroying SignalChannel\"),this._signalChannel.close(),this._signalChannel=null),super.destroy(),this._joinReject&&(this._joinReject(new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.CLIENT_DESTROYED,data:{funName:\"join\"}})})),this.clearJoinTimeout(),this.reset()),this.removeAllListeners())}switchRole(e){return ab(this,null,(function*(){this.role!==e&&(\"audience\"===e&&this.uplinkConnection&&this.closeUplink(\"you switch role to audience\"),yield this.doSwitchRole(e))}))}doSwitchRole(e){let t={command:vV,data:{role:\"anchor\"===e?20:21,privateMapKey:this.privateMapKey},responseCommand:nV.SWITCH_ROLE_RES,retries:1};return this._log.info(\"switchRole signal data: \".concat(JSON.stringify(t.data))),this._signalChannel.sendWaitForResponseWithRetry(t).then((t=>{let{code:i,message:n}=t.data;if(0!==i)throw new gb({code:mb.SWITCH_ROLE_FAILED,message:qO({key:JO.SWITCH_ROLE_FAILED,data:{message:n,code:i}})});this.role=e})).catch((e=>{throw e instanceof gb&&e.getCode()===mb.API_CALL_TIMEOUT&&(e=new gb({code:mb.SWITCH_ROLE_FAILED,message:qO({key:JO.SWITCH_ROLE_TIMEOUT})})),this._log.error(e),e}))}publish(){for(var e=arguments.length,t=new Array(e),i=0;i{t instanceof oL&&(t instanceof lL?i.audio=t:e.audio=t),t instanceof sL&&(t instanceof cL&&2===t.mediaType?i.video=t:e.video=t)}));let n=TU(e),r=TU(i);(!n||!r)&&!this.uplinkConnection&&(this.singlePC?this.uplinkConnection=new lU({userId:this.userId,tinyId:this.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,audioManager:this.audioManager}):this.uplinkConnection=new qV({userId:this.userId,tinyId:this.tinyId,room:this,signalChannel:this._signalChannel,enableSEI:this.enableSEI,audioManager:this.audioManager}),this.uplinkConnection.on(\"connection-state-changed\",(e=>{this.emit(\"media-connection-state-changed\",eb($C({},e),{userId:this.userId}))})),this.uplinkConnection.on(\"firewall-restriction\",(()=>{this.emit(\"firewall-restriction\")})),this.uplinkConnection.on(\"error\",(e=>{let t=e.getCode();t!==mb.ICE_TRANSPORT_ERROR&&(t===mb.UPLINK_RECONNECTION_FAILED&&this.closeUplink(),this.emit(\"error\",e))})));let o=t.map((e=>e.kind)).join(\",\");n||(this._log.info(\"publish() => main \".concat(o)),yield this.uplinkConnection.publish({localAudioTrack:e.audio,localVideoTrack:e.video,isAuxiliary:!1}),this._log.info(\"main is published\")),r||(this._log.info(\"publish() => aux \".concat(o)),yield this.uplinkConnection.publish({localAudioTrack:i.audio,localVideoTrack:i.video,isAuxiliary:!0}),this._log.info(\"aux is published\"))}))}unpublish(){for(var e=arguments.length,t=new Array(e),i=0;i{!t.mediaTrack||(t instanceof oL&&(t instanceof lL?i.audio=t:e.audio=t),t instanceof sL&&(t instanceof cL&&2===t.mediaType?i.video=t:e.video=t))}));try{let n=t.map((e=>e.kind)).join(\",\");TU(e)||(this._log.info(\"unpublish() => main \".concat(n)),yield this.uplinkConnection.unpublish({localAudioTrack:e.audio,localVideoTrack:e.video})),TU(i)||(this._log.info(\"unpublish() => aux \".concat(n)),yield this.uplinkConnection.unpublish({localAudioTrack:i.audio,localVideoTrack:i.video}))}catch(n){}0===this.localTracks.size&&!this.audioManager.mixedAudioTrack&&this.closeUplink(\"you unpublished\")}))}addTrack(e){if(!this.uplinkConnection||!e.mediaTrack)return Promise.resolve();let t=this.uplinkConnection.addTrack(e);return e.publish(this,t),t}removeTrack(e){return this.uplinkConnection&&e.mediaTrack?this.uplinkConnection.removeTrack(e).then((t=>(e.unpublish(),t))):Promise.resolve()}replaceTrack(e){return this.uplinkConnection&&e.mediaTrack?this.uplinkConnection.replaceTrack(e).then((t=>{xO.emit(FO.LOCAL_TRACK_REPLACED,{track:e})})):Promise.resolve()}setBandWidth(e){return ab(this,null,(function*(){!this.uplinkConnection||(yield this.uplinkConnection.setBandwidth(e),yield this.uplinkConnection.sendMediaSettings())}))}subscribe(){for(var e=arguments.length,t=new Array(e),i=0;i!e.isSubscribed)),0===t.length)return;let{userId:e}=t[0],i=this.remotePublishedUserMap.get(e);if(!i)return;let n=t.find((e=>2===e.mediaType))?\"auxiliary\":\"main\";try{let r=$C({},i.subscribeState);t.forEach((e=>{switch(e.mediaType){case 1:r.audio=!0;break;case 4:r.video=!0;break;case 2:r.auxiliary=!0}}));let o=this._changeBigSmallRecords.get(e);o&&o.options.smallVideo&&i.muteState.hasSmall&&r.video&&(r.video=!1,r.smallVideo=!0),xO.emit(FO.SUBSCRIBE_START,{room:this,streamType:n,remotePublishedUser:i,subscribeState:r}),this._log.info(\"subscribe() => \".concat(e,\" \").concat(n,\" [\").concat(jV(r),\"] prev: [\").concat(jV(i.subscribeState),\"]\")),yield i.subscribe(r,n);for(let e of t)e.mediaTrack||(yield e.waitHasMediaTrack());i.remoteVideoTrack.setMediaType(r.smallVideo?8:4),xO.emit(FO.SUBSCRIBE_SUCCESS,{room:this,streamType:n,remotePublishedUser:i})}catch(cN){let i=cN instanceof gb?cN.getCode():mb.UNKNOWN,r=cN;throw cN instanceof gb?i===mb.REMOTE_STREAM_NOT_EXIST&&(r=new gb({code:mb.API_CALL_ABORTED,message:qO({key:JO.API_CALL_ABORTED,data:{message:cN.message,userId:e,streamType:n}})}),this._log.warn(r)):(r=new gb({code:i,message:qO({key:JO.SUBSCRIBE_FAILED,data:{message:cN.message,userId:e,streamType:n}})}),this._log.error(r)),r}}))}unsubscribe(){for(var e=arguments.length,t=new Array(e),i=0;i2===e.mediaType))?\"auxiliary\":\"main\";this._log.info(\"unsubscribe() => \".concat(e,\" \").concat(n));try{yield i.unsubscribe({remoteTracks:t,streamType:n})}catch(cN){this._log.warn(\"unsubscribe() => failed \".concat(cN))}t.forEach((e=>{e.unsubscribe(),8===e.mediaType&&e.setMediaType(4)})),xO.emit(FO.UNSUBSCRIBE_SUCCESS,{room:this,streamType:n,remotePublishedUser:i})}))}setEncodedDataProcessingListener(e){throw new Error(\"Method not implemented.\")}enableAudioVolumeEvaluation(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:2e3,t=arguments.length>1?arguments[1]:void 0;if(e<=0)return this._enableAudioVolumeEvaluation=!1,void zw.clearTask(this._audioVolumeIntervalId);e=Math.floor(Math.max(e,100)),xO.emit(FO.AUDIO_LEVEL_INTERVAL,{interval:e}),this._audioVolumeIntervalId&&zw.clearTask(this._audioVolumeIntervalId),this._enableAudioVolumeEvaluation=!0,this._audioVolumeIntervalId=zw.run(PD,(()=>{var e;let t=[];null==(e=this.remotePublishedUserMap)||e.forEach((e=>{if(e.muteState.hasAudio){let i=Math.floor(100*e.remoteAudioTrack.getAudioLevel());t.push({userId:e.userId,volume:i})}})),this.emit(\"audio-volume\",t)}),{fps:1e3/e,backgroundTask:t})}getLocalAudioStats(){return ab(this,null,(function*(){let e={};if(e[this.userId]={bytesSent:0,packetsSent:0},this.uplinkConnection){let t=yield this._stats.getSenderStats(this.uplinkConnection);e[this.userId]={bytesSent:t.audio.bytesSent,packetsSent:t.audio.packetsSent}}return e}))}getLocalVideoStats(){return ab(this,null,(function*(){let e={};if(e[this.userId]={bytesSent:0,packetsSent:0,framesEncoded:0,framesSent:0,frameWidth:0,frameHeight:0},this.uplinkConnection){let{video:{bytesSent:t,packetsSent:i,framesEncoded:n,framesSent:r,frameWidth:o,frameHeight:s}}=yield this._stats.getSenderStats(this.uplinkConnection);e[this.userId]={bytesSent:t,packetsSent:i,framesEncoded:n,framesSent:r,frameWidth:o,frameHeight:s}}return e}))}getTransportStats(){return ab(this,null,(function*(){let e={rtt:0,downlinksRTT:{}};if(this.uplinkConnection){let t=yield this._stats.getSenderStats(this.uplinkConnection);e.rtt=t.rtt}for(let[,t]of this.remotePublishedUserMap){let i=yield this._stats.getReceiverStats(t);e.downlinksRTT[i.userId]=i.rtt}return e}))}getRemoteVideoStats(e){return ab(this,null,(function*(){let t={};for(let[i,n]of this.remotePublishedUserMap)\"main\"===e&&n.muteState.hasVideo&&(t[i]=n.remoteVideoTrack.stat),\"auxiliary\"===e&&n.muteState.hasAuxiliary&&(t[i]=n.remoteAuxiliaryTrack.stat);return t}))}getRemoteAudioStats(){return ab(this,null,(function*(){let e={};for(let[t,i]of this.remotePublishedUserMap)i.muteState.hasAudio&&(e[t]=i.remoteAudioTrack.stat);return e}))}setTurnServer(e,t){this._log.info(\"set turn server: \".concat(JSON.stringify(e),\" \").concat(t||\"\"));let i=[];Array.isArray(e)?e.forEach((e=>i.push(Ib.getTurnServer(e)))):Ib.isPlainObject(e)&&i.push(Ib.getTurnServer(e)),this._turnServers=i,t&&(this._iceTransportPolicy=t)}sendStartMixTranscode(e){return this._signalChannel.sendWaitForResponse({command:EV,data:e,timeout:5e3,responseCommand:nV.START_MIX_TRANSCODE_RES,commandDesc:\"startMixTranscode\"})}sendStopMixTranscode(e){return this._signalChannel.sendWaitForResponse({command:SV,data:e,timeout:5e3,responseCommand:nV.STOP_MIX_TRANSCODE_RES,commandDesc:\"stopMixTranscode\"})}sendStartPublishCDN(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this._signalChannel.sendWaitForResponse({command:t?mV:gV,data:e,timeout:5e3,responseCommand:t?nV.START_PUBLISH_TENCENT_CDN_RES:nV.START_PUBLISH_GIVEN_CDN_RES,commandDesc:\"startPublishCDN\"})}sendStopPublishCDN(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return this._signalChannel.sendWaitForResponse({command:t?fV:TV,data:e,timeout:5e3,responseCommand:t?nV.STOP_PUBLISH_TENCENT_CDN_RES:nV.STOP_PUBLISH_GIVEN_CDN_RES,commandDesc:\"stopPublishCDN\"})}sendAbilityStatus(e){var t;null==(t=this._signalChannel)||t.sendWaitForResponse({command:kV,data:e,timeout:5e3,responseCommand:nV.ABILITY_STATUS_REPORT_RESULT,commandDesc:\"ability status report\"}).catch((e=>{}))}getIceServers(){return 0===this._turnServers.length&&this.scheduleResult.iceServers?this.scheduleResult.iceServers:this._turnServers}getIceTransportPolicy(){return this._iceTransportPolicy||this.scheduleResult.iceTransportPolicy||\"all\"}getLogger(){return this._log}enableAIVoice(){throw new Error(\"Method not implemented.\")}getSignalChannelUrl(){let e={mainUrl:\"\",backupUrl:\"\"},t=Ib.getEnv();return t?(e.mainUrl=\"wss://\".concat(t,\".rtc.qq.com\"),e.backupUrl=e.mainUrl):this.proxy_ws?(e.mainUrl=this.proxy_ws,e.backupUrl=e.mainUrl):Array.isArray(this.scheduleResult.domains)&&this.scheduleResult.domains.length>0&&(e.mainUrl=\"wss://\".concat(this.scheduleResult.domains[0]),e.backupUrl=e.mainUrl,this.scheduleResult.domains[1]&&(e.backupUrl=\"wss://\".concat(this.scheduleResult.domains[1]))),e}getSignalInfo(){var e;return(null==(e=this._signalChannel)?void 0:e.getSignalInfo())||{clientIp:\"\",relayIp:\"\"}}reset(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.stopSyncUserListInterval(),this.stopHeartbeat(),this.closeConnections(),this.clearNetworkQuality(),this.closeUplink(\"you exitRoom\"),this._signalChannel&&(e&&this._signalChannel.keepAlive&&this._signalChannel.isConnected?this._signalChannel.stopKeepAliveIn(3600):this._signalChannel.close(),this.setSignalChannel(null)),this._stats.reset(),this.userManager.clear(),this.userManager.removeAllListeners(),this.singlePC&&(this.singlePC.close(),this.singlePC=null),this.scheduleResult={domains:null,iceServers:null,iceTransportPolicy:null,trtcAutoConf:null}}checkSubscribeBigSmallVideo(e){return ab(this,null,(function*(){let t=null==e?void 0:e.muteState.hasSmall,i=null==e?void 0:e.muteState.hasVideo;if(!t&&!i||!e.isBigStreamSubscribed&&!e.isSmallStreamSubscribed)return;let n=e.getUserId(),r=this._changeBigSmallRecords.get(n)||{},{subscribeState:o}=e,{options:s,isSubscribing:a,reSubscribeCount:c}=r;if(s.video&&o.video||s.smallVideo&&o.smallVideo&&t||a)return;let l={audio:e.remoteAudioTrack.isSubscribed||e.remoteAudioTrack.isSubscribing,auxiliary:e.remoteAuxiliaryTrack.isSubscribed||e.remoteAuxiliaryTrack.isSubscribing,video:s.video,smallVideo:s.smallVideo};if(t&&e.isBigStreamSubscribed||e.isSmallStreamSubscribed)try{s&&!a&&c>=1&&(r.isSubscribing=!0,r.reSubscribeCount=c-1,!t&&e.isSmallStreamSubscribed&&(l.video=!0,l.smallVideo=!1),yield null==e?void 0:e.subscribe(l,\"main\"),e.remoteVideoTrack.setMediaType(l.smallVideo?8:4),this._log.info(\"change [\".concat(n,\"] to \").concat(l.smallVideo?\"small\":\"big\",\" video successfully. count \").concat(DD-r.reSubscribeCount,\".\")),r.isSubscribing=!1,r.reSubscribeCount=DD)}catch(d){this._log.info(\"change [\".concat(n,\"] to \").concat(l.smallVideo?\"small\":\"big\",\" video failed. count \").concat(DD-r.reSubscribeCount,\".\")),r.isSubscribing=!1,0===c&&this._changeBigSmallRecords.delete(n)}}))}changeType(e,t){let i={options:{video:!e,smallVideo:e},isSubscribing:!1,reSubscribeCount:DD};this._changeBigSmallRecords.set(t.userId,i),this._log.info(\"set [\".concat(t.userId,\"] video prefer type: \").concat(e?\"small\":\"big\"))}get smallStreamConfig(){return this._smallStreamConfig}_initBusinessInfo(e){this._businessInfo=e.businessInfo;let t={};if(pU(e.businessInfo)&&(t=JSON.parse(e.businessInfo)),!mU(e.pureAudioPushMode)){if(!Number.isInteger(Number(e.pureAudioPushMode)))throw new gb({code:mb.INVALID_PARAMETER,message:qO({key:JO.INVALID_PURE_AUDIO})});this._pureAudioPushMode=e.pureAudioPushMode,t.Str_uc_params||(t.Str_uc_params={}),t.Str_uc_params.pure_audio_push_mod=this._pureAudioPushMode}if(!mU(e.userDefineRecordId)){let i=/^[A-Za-z0-9_-]{1,64}$/gi;if(null===e.userDefineRecordId.match(i))throw new gb({code:mb.INVALID_PARAMETER,message:qO({key:JO.INVALID_USER_DEFINE_RECORDID})});t.Str_uc_params||(t.Str_uc_params={}),t.Str_uc_params.userdefine_record_id=e.userDefineRecordId}if(!mU(e.userDefinePushArgs)){if(!(pU(e.userDefinePushArgs)&&String(e.userDefinePushArgs)&&String(e.userDefinePushArgs).length<=256))throw new gb({code:mb.INVALID_PARAMETER,message:qO({key:JO.INVALID_USER_DEFINE_PUSH_ARGS})});t.Str_uc_params||(t.Str_uc_params={}),t.Str_uc_params.userdefine_push_args=e.userDefinePushArgs}TU(t)||(this._businessInfo=JSON.stringify(t))}sendSEI(e,t){var i;null==(i=this.uplinkConnection)||i.sendSEI(e,t)}};return rb([Bw([\"left\",Gw.INIT],\"joined\"),tx({settings:{retries:1,timeout:0},onError(e,t,i){this._isUsingCachedSchedule&&!this._isDestroyed?(this._log.warn(\"is using cached schedule, retry join\"),mx(!0),this.reset(),t()):this._signalChannel&&this._signalChannel.isConnected&&this._signalChannel.keepAlive?(this._log.warn(\"is using keepAlive ws, retry join\"),this._signalChannel.close(),this.reset(),t()):(this.reset(),this._log.error(e),i(e))}}),iL((e=>{let t=new WM;return function(i,n,r){return ab(this,null,(function*(){let o=String(i.roomId||i.strRoomId);if(this.userId=i.userId,this.sdkAppId=i.sdkAppId,this.userSig=i.userSig,this._log.setSdkAppId(this.sdkAppId),this._log.setUserId(this.userId),this.scene=n,i.privateMapKey=i.privateMapKey||\"\",this.isJoined)throw new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.INVALID_JOIN})});if(this.checkDestroy(),t.isJoined({userId:this.userId,roomId:o,sdkAppId:this.sdkAppId,room:this}))throw new gb({code:mb.INVALID_OPERATION,message:qO({key:JO.REPEAT_JOIN,data:this.userId})});t.add({room:this,roomId:o}),this.role=21===i.role?\"audience\":\"anchor\",this._log.info(\"Join() => joining room: \".concat(o,\" useStringRoomId: \").concat(this.useStringRoomId,\" scene: \").concat(this.scene,\" role: \").concat(this.role)),xO.emit(FO.JOIN_START,{room:this,roomId:o,params:i}),this.checkSystemResult=yield WO.checkSystemRequirementsInternal(),this.checkDestroy();let s=Ib.getEnv();s||(s=AN.QCLOUD,this.proxy_ws&&(this.proxy_ws.startsWith(VN.OLD_CLOUD_LADDER)?s=AN.OLD_CLOUD_LADDER:this.proxy_ws.startsWith(VN.WEBRTC)&&(s=AN.WEBRTC))),Qw.setConfig({env:s,sdkAppId:String(this.sdkAppId),userId:this.userId,roomId:o}),JM.call(this);let{isH264EncodeSupported:a,isVp8EncodeSupported:c}=this.checkSystemResult.detail;if(!WO.isWebRTCSupported()||!a&&!c)throw new gb({code:mb.NOT_SUPPORTED,message:qO({key:JO.NOT_SUPPORTED_WEBRTC})});try{!this.proxy_ws&&!this.proxy_wt&&!this.scheduleResult.domains&&!Ib.getEnv()&&(yield this.schedule(o,r,rN));let t=yield e.call(this,i,n,r);return this.roomId=o,this._joinedTimestamp=Ib.performanceNow(),xO.emit(FO.JOIN_SUCCESS,{room:this}),Qw.uploadEvent({log:\"stat-conv-\".concat(Number(Yk),\"-\").concat(location.hostname),userId:this.userId}),t}catch(l){throw t.delete({room:this,roomId:o}),xO.emit(FO.JOIN_FAILED,{room:this,error:l}),l}}))}}))],EU.prototype,\"join\",1),rb([Bw(\"joined\",\"left\",{ignoreError:!0,success(){this.reset(!0)}}),iL((e=>function(){return ab(this,null,(function*(){xO.emit(FO.LEAVE_START,{room:this}),yield e.call(this),xO.emit(FO.LEAVE_SUCCESS,{room:this,roomId:this.roomId})}))})),function(e){return function(t,i,n){let r=n.value;return n.value=function(){var t,i;let n=[];for(var o=arguments.length,s=new Array(o),a=0;an.push(e))),null==(i=Hx.get(this))||i.forEach((e=>e.forEach((e=>n.push(e))))),n.forEach((t=>{t.reject(new gb({code:mb.API_CALL_ABORTED,message:e}))})),Bx.delete(this),Hx.delete(this),r.apply(this,s)},n}}(\"leave room\"),ix({fnName:\"publish\",validateArgs:!1}),ix({fnName:\"unsubscribe\",validateArgs:!1})],EU.prototype,\"leave\",1),rb([jx(),iL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;ne.outMediaTrack&&\"capture\"===e.state)),!i.length))return;xO.emit(\"61\",{room:this}),i.forEach((e=>{\"audio\"===e.kind&&this.audioManager.addAudioTrack(e)}));let t=e.apply(this,i);return i.forEach((e=>{var i;e.publish(this,t),\"audio\"===e.kind&&(null==(i=this.audioManager.localMixAudioTrack)||i.publish(this,t))})),t}))})),tx({settings:{retries:oD,timeout:e=>eO(e)},onError(e,t,i){var n;null!=(n=e.message)&&n.includes(\"timeout\")?(this._log.warn(\"publish timeout\"),t()):(this._log.error(\"publish failed: \".concat(e)),i(e),xO.emit(FO.PUBLISH_FAILED,{room:this}))}})],EU.prototype,\"publish\",1),rb([ix({fnName:\"publish\",callback(){for(var e,t=arguments.length,i=new Array(t),n=0;ne.unpublish())))}}),function(e){return function(t,i,n){let r=n.value;return n.value=function(){for(var t=arguments.length,i=new Array(t),n=0;n{if(0===n)return!0;let r=!0;return t.args.forEach((e=>{i.find((t=>t===e))||(r=!1)})),!r||(t.reject(new gb({code:mb.API_CALL_ABORTED,message:e})),!1)}));Bx.set(this,t)}return r.apply(this,i)},n}}(\"api-call\"),jx(),iL((e=>function(){for(var t=arguments.length,i=new Array(t),n=0;n{\"audio\"===e.kind&&this.audioManager.removeAudioTrack(e)}));let r=e.apply(this,i);return i.forEach((e=>e.unpublish())),r}))],EU.prototype,\"unpublish\",1),rb([Gx((function(){for(var e=arguments.length,t=new Array(e),i=0;ifunction(){for(var t=arguments.length,i=new Array(t),n=0;n!e.isSubscribed&&e.subscribe(r))),r})),tx({settings:{retries:oD,timeout:e=>eO(e)},onError(e,t,i,n){e.message.includes(\"timeout\")?(this._log.warn(\"subscribe timeout\"),t()):(this._log.error(\"subscribe failed: \".concat(e)),i(e),xO.emit(FO.SUBSCRIBE_FAILED,{room:this,remoteTracks:n}))}})],EU.prototype,\"subscribe\",1),rb([ix({fnName:\"subscribe\",callback(){for(var e=arguments.length,t=new Array(e),i=0;i{let t=this.remotePublishedUserMap.get(e.userId);t&&!t.isMainStreamSubscribed&&!t.isAuxStreamSubscribed&&t.close(\"you unsubscribed\")}))}}),Gx((function(){for(var e=arguments.length,t=new Array(e),i=0;i thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n let kind;\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) || (\n isFunction(thing.append) && (\n (kind = kindOf(thing)) === 'formdata' ||\n // detect form-data instance\n (kind === 'object' && isFunction(thing.toString) && thing.toString() === '[object FormData]')\n )\n )\n )\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = (() => {\n /*eslint no-undef:0*/\n if (typeof globalThis !== \"undefined\") return globalThis;\n return typeof self !== \"undefined\" ? self : (typeof window !== 'undefined' ? window : global)\n})();\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[-_\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n let ret;\n if ((ret = reducer(descriptor, name, obj)) !== false) {\n reducedDescriptors[name] = ret || descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst ALPHA = 'abcdefghijklmnopqrstuvwxyz'\n\nconst DIGIT = '0123456789';\n\nconst ALPHABET = {\n DIGIT,\n ALPHA,\n ALPHA_DIGIT: ALPHA + ALPHA.toUpperCase() + DIGIT\n}\n\nconst generateString = (size = 16, alphabet = ALPHABET.ALPHA_DIGIT) => {\n let str = '';\n const {length} = alphabet;\n while (size--) {\n str += alphabet[Math.random() * length|0]\n }\n\n return str;\n}\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliantForm(thing) {\n return !!(thing && isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator]);\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nconst isAsyncFn = kindOfTest('AsyncFunction');\n\nconst isThenable = (thing) =>\n thing && (isObject(thing) || isFunction(thing)) && isFunction(thing.then) && isFunction(thing.catch);\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n ALPHABET,\n generateString,\n isSpecCompliantForm,\n toJSONObject,\n isAsyncFn,\n isThenable\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\n// temporary hotfix to avoid circular references until AxiosURLSearchParams is refactored\nimport PlatformFormData from '../platform/node/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (PlatformFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && utils.isSpecCompliantForm(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n ((utils.isFileList(value) || utils.endsWith(key, '[]')) && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default typeof FormData !== 'undefined' ? FormData : null;\n","'use strict'\n\nexport default typeof Blob !== 'undefined' ? Blob : null\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\nimport Blob from './classes/Blob.js'\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","const hasBrowserEnv = typeof window !== 'undefined' && typeof document !== 'undefined';\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst hasStandardBrowserEnv = (\n (product) => {\n return hasBrowserEnv && ['ReactNative', 'NativeScript', 'NS'].indexOf(product) < 0\n })(typeof navigator !== 'undefined' && navigator.product);\n\n/**\n * Determine if we're running in a standard browser webWorker environment\n *\n * Although the `isStandardBrowserEnv` method indicates that\n * `allows axios to run in a web worker`, the WebWorker will still be\n * filtered out due to its judgment standard\n * `typeof window !== 'undefined' && typeof document !== 'undefined'`.\n * This leads to a problem when axios post `FormData` in webWorker\n */\nconst hasStandardBrowserWebWorkerEnv = (() => {\n return (\n typeof WorkerGlobalScope !== 'undefined' &&\n // eslint-disable-next-line no-undef\n self instanceof WorkerGlobalScope &&\n typeof self.importScripts === 'function'\n );\n})();\n\nexport {\n hasBrowserEnv,\n hasStandardBrowserWebWorkerEnv,\n hasStandardBrowserEnv\n}\n","import platform from './node/index.js';\nimport * as utils from './common/utils.js';\n\nexport default {\n ...utils,\n ...platform\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': undefined\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head', 'post', 'put', 'patch'], (method) => {\n defaults.headers[method] = {};\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nconst isValidHeaderName = (str) => /^[-_a-zA-Z0-9^`|~,!#$%&'*+.]+$/.test(str.trim());\n\nfunction matchHeaderValue(context, value, header, filter, isHeaderNameFilter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (isHeaderNameFilter) {\n value = header;\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && this[key] !== undefined && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear(matcher) {\n const keys = Object.keys(this);\n let i = keys.length;\n let deleted = false;\n\n while (i--) {\n const key = keys[i];\n if(!matcher || matchHeaderValue(this, this[key], key, matcher, true)) {\n delete this[key];\n deleted = true;\n }\n }\n\n return deleted;\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent', 'Authorization']);\n\n// reserved names hotfix\nutils.reduceDescriptors(AxiosHeaders.prototype, ({value}, key) => {\n let mapped = key[0].toUpperCase() + key.slice(1); // map `set` => `Set`\n return {\n get: () => value,\n set(headerValue) {\n this[mapped] = headerValue;\n }\n }\n});\n\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","import utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n // Standard browser envs support document.cookie\n {\n write(name, value, expires, path, domain, secure) {\n const cookie = [name + '=' + encodeURIComponent(value)];\n\n utils.isNumber(expires) && cookie.push('expires=' + new Date(expires).toGMTString());\n\n utils.isString(path) && cookie.push('path=' + path);\n\n utils.isString(domain) && cookie.push('domain=' + domain);\n\n secure === true && cookie.push('secure');\n\n document.cookie = cookie.join('; ');\n },\n\n read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n }\n\n :\n\n // Non-standard browser env (web workers, react-native) lack needed support.\n {\n write() {},\n read() {\n return null;\n },\n remove() {}\n };\n\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.hasStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover its components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n let {responseType, withXSRFToken} = config;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n let contentType;\n\n if (utils.isFormData(requestData)) {\n if (platform.hasStandardBrowserEnv || platform.hasStandardBrowserWebWorkerEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n } else if ((contentType = requestHeaders.getContentType()) !== false) {\n // fix semicolon duplication issue for ReactNative FormData implementation\n const [type, ...tokens] = contentType ? contentType.split(';').map(token => token.trim()).filter(Boolean) : [];\n requestHeaders.setContentType([type || 'multipart/form-data', ...tokens].join('; '));\n }\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if(platform.hasStandardBrowserEnv) {\n withXSRFToken && utils.isFunction(withXSRFToken) && (withXSRFToken = withXSRFToken(config));\n\n if (withXSRFToken || (withXSRFToken !== false && isURLSameOrigin(fullPath))) {\n // Add xsrf header\n const xsrfValue = config.xsrfHeaderName && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if (fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nconst renderReason = (reason) => `- ${reason}`;\n\nconst isResolvedHandle = (adapter) => utils.isFunction(adapter) || adapter === null || adapter === false;\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n const rejectedReasons = {};\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n let id;\n\n adapter = nameOrAdapter;\n\n if (!isResolvedHandle(nameOrAdapter)) {\n adapter = knownAdapters[(id = String(nameOrAdapter)).toLowerCase()];\n\n if (adapter === undefined) {\n throw new AxiosError(`Unknown adapter '${id}'`);\n }\n }\n\n if (adapter) {\n break;\n }\n\n rejectedReasons[id || '#' + i] = adapter;\n }\n\n if (!adapter) {\n\n const reasons = Object.entries(rejectedReasons)\n .map(([id, state]) => `adapter ${id} ` +\n (state === false ? 'is not supported by the environment' : 'is not available in the build')\n );\n\n let s = length ?\n (reasons.length > 1 ? 'since :\\n' + reasons.map(renderReason).join('\\n') : ' ' + renderReason(reasons[0])) :\n 'as no adapter specified';\n\n throw new AxiosError(\n `There is no suitable adapter to dispatch the request ` + s,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError(null, config);\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n withXSRFToken: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(Object.assign({}, config1, config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.6.2\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer != null) {\n if (utils.isFunction(paramsSerializer)) {\n config.paramsSerializer = {\n serialize: paramsSerializer\n }\n } else {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n // Flatten headers\n let contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n headers && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n","const HttpStatusCode = {\n Continue: 100,\n SwitchingProtocols: 101,\n Processing: 102,\n EarlyHints: 103,\n Ok: 200,\n Created: 201,\n Accepted: 202,\n NonAuthoritativeInformation: 203,\n NoContent: 204,\n ResetContent: 205,\n PartialContent: 206,\n MultiStatus: 207,\n AlreadyReported: 208,\n ImUsed: 226,\n MultipleChoices: 300,\n MovedPermanently: 301,\n Found: 302,\n SeeOther: 303,\n NotModified: 304,\n UseProxy: 305,\n Unused: 306,\n TemporaryRedirect: 307,\n PermanentRedirect: 308,\n BadRequest: 400,\n Unauthorized: 401,\n PaymentRequired: 402,\n Forbidden: 403,\n NotFound: 404,\n MethodNotAllowed: 405,\n NotAcceptable: 406,\n ProxyAuthenticationRequired: 407,\n RequestTimeout: 408,\n Conflict: 409,\n Gone: 410,\n LengthRequired: 411,\n PreconditionFailed: 412,\n PayloadTooLarge: 413,\n UriTooLong: 414,\n UnsupportedMediaType: 415,\n RangeNotSatisfiable: 416,\n ExpectationFailed: 417,\n ImATeapot: 418,\n MisdirectedRequest: 421,\n UnprocessableEntity: 422,\n Locked: 423,\n FailedDependency: 424,\n TooEarly: 425,\n UpgradeRequired: 426,\n PreconditionRequired: 428,\n TooManyRequests: 429,\n RequestHeaderFieldsTooLarge: 431,\n UnavailableForLegalReasons: 451,\n InternalServerError: 500,\n NotImplemented: 501,\n BadGateway: 502,\n ServiceUnavailable: 503,\n GatewayTimeout: 504,\n HttpVersionNotSupported: 505,\n VariantAlsoNegotiates: 506,\n InsufficientStorage: 507,\n LoopDetected: 508,\n NotExtended: 510,\n NetworkAuthenticationRequired: 511,\n};\n\nObject.entries(HttpStatusCode).forEach(([key, value]) => {\n HttpStatusCode[value] = key;\n});\n\nexport default HttpStatusCode;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\nimport adapters from './adapters/adapters.js';\nimport HttpStatusCode from './helpers/HttpStatusCode.js';\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\n// Expose mergeConfig\naxios.mergeConfig = mergeConfig;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.getAdapter = adapters.getAdapter;\n\naxios.HttpStatusCode = HttpStatusCode;\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","// 封装axios请求的模块\nimport axios from 'axios'\n// 用axios重新生成了请求的实例\nconst server = axios.create({\n baseURL: '', // 项目发送axios请求的公共地址\n timeout: 20000 // 请求超时时间 这里是请求超过五秒后还没有获得请求结果 提示请求超时\n})\n\n// axios请求阶段相关配置\n// 请求拦截\n// interceptors axios的拦截对象 request请求的意思 use使用的意思\n// 这里的整体意思就是使用请求拦截\nserver.interceptors.request.use(config => {\n // config包含了请求相关的所有信息\n // 可以同过config对象给请求配置或者修改信息\n return config // 将配置完成的token返回 如果不返回 请求不会继续进行\n}, err => {\n // 请求发生错误时的回调函数\n // 这里的意思是请求发送错误时将错误抛出\n // throw new Error(err)\n // console.error(err) //将错误信息打印在控制台中\n Promise.reject(err) // 使用promise将错误信息返回出去\n})\n\n// axios 接受到服务器响应信息后的配置\n// response 是响应的意思 这里的意思是使用响应拦截\nserver.interceptors.response.use(res => {\n // res包含了服务器返回的所有响应信息 其实就是服务器返回给你的东西\n return res.data\n}, err => {\n // 当服务器响应产生错误时的回调函数\n console.error(err) // 这里将服务器发生错误的错误信息打印在控制台中\n})\n\n\nexport default server","// 判断房间人数对应的样式\nexport function getWidth(data) {\n if (data.length == 1) {\n return 'userVideo'\n } else if (data.length == 2) {\n return \"userVideo1\"\n } else if (data.length == 3) {\n return \"userVideo2\"\n } else if (data.length > 3) {\n return \"userVideo3\"\n } else if (data.length == 0) {\n return 'userVideo4'\n }\n\n}\nexport function getHeight(data) {\n let userRow = Math.ceil((data.length + 1) / 3);\n if (userRow == 1) {\n return \"100%\"\n }\n else {\n return (1 / userRow) * 100 + \"%\"\n }\n}\n// 判断移动端进入房间样式\nexport function getWidthPhone(data) {\n if (data.length == 0) {\n return \"userVideoPhone\"\n } else {\n return \"userVideoPhone1\"\n }\n}\n// 判断移动端访问还是pc端访问\nexport function getModile() {\n var sUserAgent = navigator.userAgent.toLowerCase();\n var bIsIpad = sUserAgent.match(/ipad/i) == \"ipad\";\n var bIsIphoneOs = sUserAgent.match(/iphone os/i) == \"iphone os\";\n var bIsMidp = sUserAgent.match(/midp/i) == \"midp\";\n var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == \"rv:1.2.3.4\";\n var bIsUc = sUserAgent.match(/ucweb/i) == \"ucweb\";\n var bIsAndroid = sUserAgent.match(/android/i) == \"android\";\n var bIsCE = sUserAgent.match(/windows ce/i) == \"windows ce\";\n var bIsWM = sUserAgent.match(/windows mobile/i) == \"windows mobile\";\n if (bIsIpad || bIsIphoneOs || bIsMidp || bIsUc7 || bIsUc || bIsAndroid || bIsCE || bIsWM) {\n return false;\n } else {\n return true;\n }\n}\n","'use strict';\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\n\nvar $TypeError = TypeError;\n\nmodule.exports = function (it, Prototype) {\n if (isPrototypeOf(Prototype, it)) return it;\n throw new $TypeError('Incorrect invocation');\n};\n","'use strict';\nmodule.exports = {\n IndexSizeError: { s: 'INDEX_SIZE_ERR', c: 1, m: 1 },\n DOMStringSizeError: { s: 'DOMSTRING_SIZE_ERR', c: 2, m: 0 },\n HierarchyRequestError: { s: 'HIERARCHY_REQUEST_ERR', c: 3, m: 1 },\n WrongDocumentError: { s: 'WRONG_DOCUMENT_ERR', c: 4, m: 1 },\n InvalidCharacterError: { s: 'INVALID_CHARACTER_ERR', c: 5, m: 1 },\n NoDataAllowedError: { s: 'NO_DATA_ALLOWED_ERR', c: 6, m: 0 },\n NoModificationAllowedError: { s: 'NO_MODIFICATION_ALLOWED_ERR', c: 7, m: 1 },\n NotFoundError: { s: 'NOT_FOUND_ERR', c: 8, m: 1 },\n NotSupportedError: { s: 'NOT_SUPPORTED_ERR', c: 9, m: 1 },\n InUseAttributeError: { s: 'INUSE_ATTRIBUTE_ERR', c: 10, m: 1 },\n InvalidStateError: { s: 'INVALID_STATE_ERR', c: 11, m: 1 },\n SyntaxError: { s: 'SYNTAX_ERR', c: 12, m: 1 },\n InvalidModificationError: { s: 'INVALID_MODIFICATION_ERR', c: 13, m: 1 },\n NamespaceError: { s: 'NAMESPACE_ERR', c: 14, m: 1 },\n InvalidAccessError: { s: 'INVALID_ACCESS_ERR', c: 15, m: 1 },\n ValidationError: { s: 'VALIDATION_ERR', c: 16, m: 0 },\n TypeMismatchError: { s: 'TYPE_MISMATCH_ERR', c: 17, m: 1 },\n SecurityError: { s: 'SECURITY_ERR', c: 18, m: 1 },\n NetworkError: { s: 'NETWORK_ERR', c: 19, m: 1 },\n AbortError: { s: 'ABORT_ERR', c: 20, m: 1 },\n URLMismatchError: { s: 'URL_MISMATCH_ERR', c: 21, m: 1 },\n QuotaExceededError: { s: 'QUOTA_EXCEEDED_ERR', c: 22, m: 1 },\n TimeoutError: { s: 'TIMEOUT_ERR', c: 23, m: 1 },\n InvalidNodeTypeError: { s: 'INVALID_NODE_TYPE_ERR', c: 24, m: 1 },\n DataCloneError: { s: 'DATA_CLONE_ERR', c: 25, m: 1 }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar $Error = Error;\nvar replace = uncurryThis(''.replace);\n\nvar TEST = (function (arg) { return String(new $Error(arg).stack); })('zxcasd');\n// eslint-disable-next-line redos/no-vulnerable -- safe\nvar V8_OR_CHAKRA_STACK_ENTRY = /\\n\\s*at [^:]*:[^\\n]*/;\nvar IS_V8_OR_CHAKRA_STACK = V8_OR_CHAKRA_STACK_ENTRY.test(TEST);\n\nmodule.exports = function (stack, dropEntries) {\n if (IS_V8_OR_CHAKRA_STACK && typeof stack == 'string' && !$Error.prepareStackTrace) {\n while (dropEntries--) stack = replace(stack, V8_OR_CHAKRA_STACK_ENTRY, '');\n } return stack;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n isCallable(NewTarget = dummy.constructor) &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar toString = require('../internals/to-string');\n\nmodule.exports = function (argument, $default) {\n return argument === undefined ? arguments.length < 2 ? '' : $default : toString(argument);\n};\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.hasIndices) result += 'd';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.unicodeSets) result += 'v';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\nvar global = require('../internals/global');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar regExpFlags = require('../internals/regexp-flags');\nvar fails = require('../internals/fails');\n\n// babel-minify and Closure Compiler transpiles RegExp('.', 'd') -> /./d and it causes SyntaxError\nvar RegExp = global.RegExp;\nvar RegExpPrototype = RegExp.prototype;\n\nvar FORCED = DESCRIPTORS && fails(function () {\n var INDICES_SUPPORT = true;\n try {\n RegExp('.', 'd');\n } catch (error) {\n INDICES_SUPPORT = false;\n }\n\n var O = {};\n // modern V8 bug\n var calls = '';\n var expected = INDICES_SUPPORT ? 'dgimsy' : 'gimsy';\n\n var addGetter = function (key, chr) {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty(O, key, { get: function () {\n calls += chr;\n return true;\n } });\n };\n\n var pairs = {\n dotAll: 's',\n global: 'g',\n ignoreCase: 'i',\n multiline: 'm',\n sticky: 'y'\n };\n\n if (INDICES_SUPPORT) pairs.hasIndices = 'd';\n\n for (var key in pairs) addGetter(key, pairs[key]);\n\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var result = Object.getOwnPropertyDescriptor(RegExpPrototype, 'flags').get.call(O);\n\n return result !== expected || calls !== expected;\n});\n\n// `RegExp.prototype.flags` getter\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\nif (FORCED) defineBuiltInAccessor(RegExpPrototype, 'flags', {\n configurable: true,\n get: regExpFlags\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar defineProperty = require('../internals/object-define-property').f;\nvar hasOwn = require('../internals/has-own-property');\nvar anInstance = require('../internals/an-instance');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar normalizeStringArgument = require('../internals/normalize-string-argument');\nvar DOMExceptionConstants = require('../internals/dom-exception-constants');\nvar clearErrorStack = require('../internals/error-stack-clear');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IS_PURE = require('../internals/is-pure');\n\nvar DOM_EXCEPTION = 'DOMException';\nvar Error = getBuiltIn('Error');\nvar NativeDOMException = getBuiltIn(DOM_EXCEPTION);\n\nvar $DOMException = function DOMException() {\n anInstance(this, DOMExceptionPrototype);\n var argumentsLength = arguments.length;\n var message = normalizeStringArgument(argumentsLength < 1 ? undefined : arguments[0]);\n var name = normalizeStringArgument(argumentsLength < 2 ? undefined : arguments[1], 'Error');\n var that = new NativeDOMException(message, name);\n var error = new Error(message);\n error.name = DOM_EXCEPTION;\n defineProperty(that, 'stack', createPropertyDescriptor(1, clearErrorStack(error.stack, 1)));\n inheritIfRequired(that, this, $DOMException);\n return that;\n};\n\nvar DOMExceptionPrototype = $DOMException.prototype = NativeDOMException.prototype;\n\nvar ERROR_HAS_STACK = 'stack' in new Error(DOM_EXCEPTION);\nvar DOM_EXCEPTION_HAS_STACK = 'stack' in new NativeDOMException(1, 2);\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar descriptor = NativeDOMException && DESCRIPTORS && Object.getOwnPropertyDescriptor(global, DOM_EXCEPTION);\n\n// Bun ~ 0.1.1 DOMException have incorrect descriptor and we can't redefine it\n// https://github.com/Jarred-Sumner/bun/issues/399\nvar BUGGY_DESCRIPTOR = !!descriptor && !(descriptor.writable && descriptor.configurable);\n\nvar FORCED_CONSTRUCTOR = ERROR_HAS_STACK && !BUGGY_DESCRIPTOR && !DOM_EXCEPTION_HAS_STACK;\n\n// `DOMException` constructor patch for `.stack` where it's required\n// https://webidl.spec.whatwg.org/#es-DOMException-specialness\n$({ global: true, constructor: true, forced: IS_PURE || FORCED_CONSTRUCTOR }, { // TODO: fix export logic\n DOMException: FORCED_CONSTRUCTOR ? $DOMException : NativeDOMException\n});\n\nvar PolyfilledDOMException = getBuiltIn(DOM_EXCEPTION);\nvar PolyfilledDOMExceptionPrototype = PolyfilledDOMException.prototype;\n\nif (PolyfilledDOMExceptionPrototype.constructor !== PolyfilledDOMException) {\n if (!IS_PURE) {\n defineProperty(PolyfilledDOMExceptionPrototype, 'constructor', createPropertyDescriptor(1, PolyfilledDOMException));\n }\n\n for (var key in DOMExceptionConstants) if (hasOwn(DOMExceptionConstants, key)) {\n var constant = DOMExceptionConstants[key];\n var constantName = constant.s;\n if (!hasOwn(PolyfilledDOMException, constantName)) {\n defineProperty(PolyfilledDOMException, constantName, createPropertyDescriptor(6, constant.c));\n }\n }\n}\n"],"names":["e","t","module","exports","this","forEach","Array","isArray","Object","keys","i","n","getOwnPropertyDescriptor","defineProperty","get","enumerable","freeze","globalThis","window","global","self","bind","hasOwnProperty","r","o","Function","prototype","s","call","a","c","apply","arguments","l","d","toString","u","slice","h","p","_","m","f","split","g","propertyIsEnumerable","T","E","S","TypeError","I","v","y","A","R","Math","C","b","k","N","D","O","value","configurable","writable","w","P","L","M","push","version","mode","copyright","license","source","V","x","U","F","B","H","j","G","hasOwn","W","J","K","random","Y","z","q","navigator","String","userAgent","Q","X","Z","process","$","Deno","ee","versions","te","v8","match","ie","ne","re","oe","getOwnPropertySymbols","Symbol","sham","se","iterator","ae","ce","le","de","ue","he","pe","_e","for","withoutSetter","me","fe","document","all","ge","IS_HTMLDDA","Te","Ee","Se","Ie","ve","ye","Ae","Re","Ce","be","ke","Ne","De","Oe","we","Pe","createElement","Le","Me","Ve","xe","Ue","Fe","Be","He","je","length","Ge","isPrototypeOf","We","Je","Ke","Ye","ze","qe","Qe","Xe","Ze","$e","et","tt","it","nt","rt","ot","st","at","ct","lt","dt","ut","ht","valueOf","pt","_t","mt","ft","gt","Tt","Et","St","It","vt","yt","At","Rt","Ct","bt","kt","Nt","Dt","ceil","Ot","floor","wt","trunc","Pt","Lt","Mt","Vt","max","xt","min","Ut","Ft","Bt","Ht","jt","Gt","Wt","Jt","Kt","Yt","zt","includes","indexOf","qt","Qt","Xt","Zt","$t","ei","ti","ii","ni","ri","oi","si","ai","ci","li","di","ui","defineProperties","hi","pi","_i","mi","fi","gi","Ti","Ei","Si","Ii","vi","yi","Ai","Ri","Ci","bi","ki","write","close","parentWindow","Ni","ActiveXObject","domain","style","display","appendChild","src","contentWindow","open","Di","create","Oi","wi","Pi","Li","Mi","Vi","xi","Ui","Fi","Bi","Hi","ji","WeakMap","Gi","test","Wi","Ji","Ki","Yi","zi","qi","Qi","Xi","Zi","$i","en","tn","nn","rn","on","state","sn","has","set","facade","an","cn","enforce","getterFor","type","ln","dn","un","hn","pn","_n","mn","fn","gn","Tn","En","Sn","In","vn","yn","An","Rn","Cn","bn","kn","Nn","Dn","EXISTS","PROPER","name","CONFIGURABLE","On","wn","Pn","inspectSource","Ln","Mn","Vn","xn","Un","Fn","Bn","Hn","jn","Gn","Wn","Jn","Kn","Yn","replace","zn","join","qn","Qn","Xn","getter","setter","arity","constructor","Zn","$n","er","tr","ir","unsafe","nonConfigurable","nonWritable","nr","rr","or","concat","getOwnPropertyNames","sr","ar","cr","lr","dr","ur","hr","pr","_r","mr","fr","gr","Tr","Er","Sr","Ir","vr","yr","Ar","Cr","Rr","kr","br","normalize","toLowerCase","data","NATIVE","POLYFILL","Nr","Dr","Or","wr","Pr","Lr","Mr","Vr","xr","target","stat","dontCallGetSet","forced","Ur","getPrototypeOf","Fr","Br","Hr","jr","Gr","Wr","Jr","Kr","Yr","zr","qr","Qr","Xr","Zr","$r","eo","to","IteratorPrototype","BUGGY_SAFARI_ITERATORS","io","no","ro","oo","so","ao","co","lo","uo","ho","po","next","_o","mo","fo","go","To","Eo","So","Io","vo","setPrototypeOf","__proto__","yo","Ao","Ro","Co","bo","ko","No","Do","Oo","wo","Po","Lo","Mo","Vo","xo","Uo","Fo","Bo","Ho","jo","entries","values","proto","Go","done","Wo","Jo","Ko","Yo","zo","qo","Qo","Xo","Zo","$o","es","ts","index","kind","is","Arguments","SU","ns","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","rs","classList","os","ss","as","cs","ls","ds","us","hs","ps","_s","ms","fs","gs","Ts","Es","Ss","Is","vs","ys","As","Rs","Cs","bs","ks","Ns","Ds","Os","ws","Ps","Ls","Ms","Vs","xs","callee","Us","Fs","Bs","Hs","js","Gs","Ws","Js","Ks","Ys","exec","zs","qs","Qs","Xs","Zs","$s","ea","ta","ia","na","ra","oa","sa","aa","ca","la","da","ua","ha","pa","_a","ma","Reflect","fa","ga","Ta","Ea","Sa","Ia","va","ya","Aa","Ra","Ca","ba","ka","Na","Da","Oa","wa","Pa","La","Ma","Va","xa","Ua","Fa","setImmediate","Ba","clearImmediate","Ha","ja","Dispatch","Ga","Wa","MessageChannel","Ja","Ka","Ya","za","location","qa","Qa","Xa","Za","postMessage","protocol","host","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","$a","clear","ec","head","tail","add","item","tc","ic","nc","rc","oc","sc","ac","Pebble","cc","lc","dc","uc","hc","pc","_c","mc","fc","gc","Tc","MutationObserver","WebKitMutationObserver","Ec","Sc","Ic","Promise","vc","yc","Ac","Rc","exit","enter","resolve","then","createTextNode","observe","characterData","Cc","bc","error","kc","Nc","Dc","Oc","wc","Pc","Lc","Mc","Vc","xc","Uc","Fc","Bc","Hc","jc","PromiseRejectionEvent","Gc","Wc","CONSTRUCTOR","REJECTION_EVENT","SUBCLASSING","Jc","Kc","Yc","zc","promise","reject","qc","Qc","Xc","Zc","$c","el","tl","il","nl","rl","ol","sl","al","cl","ll","dl","ul","hl","pl","console","_l","ml","fl","gl","Tl","El","Sl","Il","vl","yl","Al","Rl","Cl","bl","kl","Nl","Dl","Ol","wl","Pl","createEvent","dispatchEvent","Ll","Ml","Vl","ok","fail","rejection","Hl","xl","notified","reactions","Fl","Ul","reason","initEvent","Bl","emit","parent","jl","Gl","Wl","undefined","wrap","Jl","Kl","Yl","zl","ql","Ql","Xl","Zl","$l","ed","td","id","nd","rd","od","sd","ad","cd","ld","dd","ud","hd","pd","_d","md","fd","gd","Td","Ed","Sd","Id","vd","yd","stopped","result","Ad","Rd","that","AS_ENTRIES","IS_RECORD","IS_ITERATOR","INTERRUPTED","Cd","bd","kd","Nd","return","from","Dd","Od","wd","Pd","Ld","Md","Vd","xd","Ud","Fd","Bd","Hd","jd","Gd","Wd","real","catch","Jd","Kd","Yd","zd","qd","Qd","race","Xd","Zd","$d","eu","tu","iu","nu","ru","ou","su","au","cu","lu","du","uu","hu","pu","_u","mu","fu","gu","Tu","hasIndices","ignoreCase","multiline","dotAll","unicode","unicodeSets","sticky","Eu","Su","Iu","vu","yu","RegExp","Au","flags","Ru","Cu","bu","lastIndex","ku","Nu","Du","BROKEN_CARET","MISSED_STICKY","UNSUPPORTED_Y","Ou","wu","Pu","Lu","Mu","Vu","xu","groups","Uu","Fu","Bu","Hu","ju","Gu","Wu","Ju","Ku","Yu","zu","qu","Qu","Xu","Zu","$u","eh","th","ih","nh","rh","oh","sh","ah","SyntaxError","ch","lh","charAt","dh","uh","hh","ph","_h","mh","fh","gh","Th","Eh","Sh","raw","Ih","vh","yh","Ah","Rh","Ch","bh","kh","Nh","Dh","Oh","wh","Ph","Lh","Mh","Vh","xh","Uh","Fh","Bh","Hh","input","jh","Gh","Wh","Jh","Kh","Yh","zh","qh","Qh","Xh","Zh","$h","ep","tp","ip","np","rp","map","filter","some","every","find","findIndex","filterReject","op","sp","ap","cp","lp","dp","up","hp","pp","_p","mp","fp","gp","Tp","Ep","Sp","Ip","vp","left","right","reduce","yp","Ap","Rp","Cp","bp","kp","Np","Dp","Op","wp","Pp","Lp","Mp","Vp","charCodeAt","xp","Up","Fp","codeAt","Bp","Hp","jp","Gp","Wp","Jp","Kp","Yp","zp","qp","Qp","Xp","Zp","$p","e_","t_","i_","n_","r_","o_","s_","a_","c_","l_","d_","u_","h_","p_","__","m_","f_","g_","T_","E_","S_","I_","v_","y_","A_","R_","C_","b_","k_","N_","D_","O_","w_","P_","L_","RangeError","M_","V_","x_","U_","Infinity","F_","B_","H_","j_","G_","W_","start","end","J_","K_","padStart","Y_","z_","q_","Q_","URL","searchParams","pathname","delete","size","sort","href","URLSearchParams","username","hash","X_","Z_","$_","em","tm","im","nm","rm","om","sm","am","cm","lm","dm","um","hm","pm","_m","mm","fm","gm","Tm","Em","Sm","Im","vm","ym","Am","Rm","Cm","bm","km","Nm","Dm","Om","wm","Pm","Lm","Mm","Vm","xm","Um","Fm","Bm","Hm","jm","Gm","Wm","Jm","Km","Ym","zm","qm","Qm","Xm","Zm","$m","ef","tf","nf","decodeURIComponent","rf","encodeURIComponent","of","sf","af","cf","lf","shift","df","splice","uf","hf","pf","_f","mf","ff","gf","Tf","Ef","Sf","If","vf","key","yf","url","parseObject","parseQuery","bindURL","update","serialize","query","updateURL","Af","Rf","append","getAll","Cf","bf","kf","body","headers","fetch","Nf","Request","Df","getState","Of","wf","Pf","Lf","Mf","Vf","xf","Uf","Ff","trim","Bf","Hf","jf","Gf","Wf","Jf","Kf","Yf","zf","qf","Qf","Xf","Zf","$f","eg","description","tg","ig","ng","rg","og","sg","ag","cg","lg","dg","ug","hg","pg","_g","mg","fg","string","gg","Tg","Eg","Sg","Ig","vg","yg","Ag","Rg","Cg","bg","assign","kg","Ng","Dg","Og","wg","Pg","Lg","Mg","Vg","xg","Ug","Fg","Bg","Hg","jg","Gg","Wg","Jg","Kg","Yg","zg","qg","Qg","Xg","Zg","fromCharCode","$g","eT","tT","iT","nT","rT","oT","sT","aT","cT","lT","dT","uT","hT","pT","_T","mT","fT","gT","TT","ET","ST","IT","vT","yT","AT","RT","CT","bT","kT","NT","DT","OT","wT","PT","LT","parseInt","MT","VT","pow","xT","UT","FT","BT","HT","pop","jT","GT","WT","JT","KT","YT","zT","unshift","qT","QT","XT","ZT","$T","eE","tE","iE","nE","rE","oE","sE","aE","cE","lE","dE","uE","hE","pE","_E","mE","fE","ftp","file","http","https","wss","gE","TE","EE","SE","IE","vE","yE","AE","RE","CE","bE","kE","NE","DE","OE","wE","PE","LE","ME","VE","xE","UE","FE","BE","HE","parse","scheme","password","port","path","fragment","cannotBeABaseURL","isSpecial","includesCredentials","parseHost","shortenPath","cannotHaveUsernamePasswordPort","setHref","getOrigin","jE","origin","getProtocol","setProtocol","getUsername","setUsername","getPassword","setPassword","getHost","setHost","getHostname","setHostname","getPort","setPort","getPathname","setPathname","getSearch","setSearch","getSearchParams","getHash","setHash","GE","hostname","search","WE","JE","createObjectURL","KE","revokeObjectURL","YE","ArrayBuffer","DataView","zE","qE","QE","XE","ZE","$E","abs","eS","tS","iS","log","nS","LN2","rS","pack","unpack","NaN","oS","sS","aS","cS","lS","dS","uS","hS","pS","_S","mS","fS","gS","TS","ES","SS","IS","vS","yS","AS","RS","CS","bS","kS","NS","DS","OS","wS","PS","LS","MS","VS","xS","US","FS","BS","HS","jS","GS","WS","JS","KS","YS","zS","reverse","qS","QS","XS","ZS","$S","eI","tI","iI","nI","rI","byteLength","bytes","byteOffset","oI","sI","aI","cI","lI","dI","uI","setInt8","getInt8","setUint8","detached","buffer","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","hI","pI","_I","mI","fI","gI","TI","EI","SI","II","vI","yI","AI","RI","CI","bI","kI","NI","DI","OI","wI","PI","LI","MI","VI","xI","UI","FI","BI","HI","jI","GI","WI","JI","KI","YI","zI","qI","QI","XI","ZI","Int8Array","$I","ev","Uint8ClampedArray","tv","iv","nv","rv","ov","sv","av","cv","lv","opera","dv","uv","Uint8Array","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","hv","BigInt64Array","BigUint64Array","pv","_v","mv","NATIVE_ARRAY_BUFFER_VIEWS","TYPED_ARRAY_TAG","aTypedArray","aTypedArrayConstructor","exportTypedArrayMethod","exportTypedArrayStaticMethod","getTypedArrayConstructor","isView","isTypedArray","TypedArray","TypedArrayPrototype","fv","gv","Tv","Ev","Sv","Iv","vv","yv","Av","Rv","Number","isInteger","isFinite","Cv","bv","kv","Nv","Dv","Ov","wv","Pv","Lv","BigInt","Mv","Vv","xv","Uv","Fv","Bv","Hv","jv","Gv","Wv","Jv","Kv","Yv","zv","qv","Qv","Xv","Zv","$v","ey","ty","iy","ny","ry","oy","sy","ay","cy","ly","dy","uy","hy","py","_y","my","fy","gy","Ty","Ey","Sy","Iy","vy","yy","Ay","Ry","Cy","by","round","ky","Ny","Dy","Oy","wy","Py","Ly","My","Vy","xy","Uy","Fy","By","Hy","jy","Gy","Wy","Jy","view","TypedArrayConstructor","Ky","Yy","zy","qy","Qy","Xy","Zy","$y","fill","eA","tA","iA","nA","rA","oA","sA","aA","cA","lA","dA","uA","hA","pA","_A","mA","fA","gA","TA","EA","SA","IA","vA","yA","AA","RA","CA","bA","kA","NA","DA","OA","wA","PA","LA","MA","VA","xA","UA","FA","BA","HA","jA","GA","WA","JA","KA","YA","zA","qA","QA","XA","ZA","$A","eR","tR","iR","nR","rR","oR","sR","aR","cR","lR","dR","uR","hR","pR","_R","mR","finally","fR","gR","TR","ER","SR","IR","vR","yR","AR","RR","CR","bR","kR","NR","DR","OR","wR","PR","replaceAll","LR","MR","VR","xR","RTCPeerConnection","handleEvent","_eventMap","Map","removeEventListener","UR","Error","FR","BR","HR","warn","jR","GR","WR","endsWith","JR","trackIdentifier","trackId","KR","YR","mediaDevices","mandatory","optional","ideal","exact","toUpperCase","advanced","JSON","stringify","audio","video","facingMode","getSupportedConstraints","enumerateDevices","label","deviceId","PermissionDeniedError","PermissionDismissedError","InvalidStateError","DevicesNotFoundError","ConstraintNotSatisfiedError","TrackStartError","MediaDeviceFailedDueToShutdown","MediaDeviceKillSwitchOn","TabCaptureError","ScreenCaptureError","DeviceCaptureError","message","constraint","constraintName","getUserMedia","webkitGetUserMedia","getAudioTracks","getVideoTracks","getTracks","stop","DOMException","zR","MediaStream","webkitMediaStream","qR","_ontrack","setRemoteDescription","_ontrackpoly","stream","getReceivers","track","Event","receiver","transceiver","streams","QR","dtmf","_dtmf","createDTMFSender","_pc","getSenders","_senders","addTrack","removeTrack","addStream","removeStream","RTCRtpSender","XR","getStats","timestamp","localcandidate","remotecandidate","names","ZR","RTCRtpReceiver","srcElement","MediaStreamTrack","$R","getLocalStreams","_shimmedLocalStreams","eC","_reverseStreams","_streams","sdp","RTCSessionDescription","signalingState","setLocalDescription","tC","webkitRTCPeerConnection","RTCIceCandidate","iC","getConfiguration","sdpSemantics","nC","shimMediaStream","shimOnTrack","shimGetSendersWithDtmf","shimGetStats","shimSenderReceiverGetStats","shimAddTrackRemoveTrackWithNative","shimAddTrackRemoveTrack","shimPeerConnection","fixNegotiationNeeded","shimGetUserMedia","shimGetDisplayMedia","getDisplayMedia","width","height","frameRate","chromeMediaSource","chromeMediaSourceId","maxFrameRate","maxWidth","maxHeight","rC","getSettings","applyConstraints","oC","RTCTrackEvent","sC","mozRTCPeerConnection","inboundrtp","outboundrtp","candidatepair","sN","aC","cC","lC","dC","DataChannel","RTCDataChannel","uC","addTransceiver","setParametersPromises","sendEncodings","rid","parseFloat","scaleResolutionDownBy","maxFramerate","sender","getParameters","encodings","setParameters","hC","pC","createOffer","_C","createAnswer","mC","shimSenderGetStats","shimReceiverGetStats","shimRemoveStream","shimRTCDataChannel","shimAddTransceiver","shimGetParameters","shimCreateOffer","shimCreateAnswer","code","mediaSource","fC","_localStreams","gC","getRemoteStreams","_remoteStreams","_onaddstream","_onaddstreampoly","TC","addIceCandidate","EC","SC","IC","iceServers","urls","generateCertificate","vC","yC","offerToReceiveAudio","getTransceivers","direction","setDirection","offerToReceiveVideo","AC","AudioContext","webkitAudioContext","RC","shimLocalStreamsAPI","shimRemoteStreamsAPI","shimCallbacksAPI","shimConstraints","shimRTCIceServerUrls","shimTrackEventTransceiver","shimCreateOfferLegacy","shimAudioContext","CC","bC","generateIdentifier","substring","localCName","splitLines","splitSections","getDescription","getMediaSections","matchPrefix","parseCandidate","foundation","component","priority","address","relatedAddress","relatedPort","tcpType","ufrag","usernameFragment","writeCandidate","parseIceOptions","parseRtpMap","payloadType","clockRate","channels","numChannels","writeRtpMap","preferredPayloadType","parseExtmap","uri","attributes","writeExtmap","preferredId","parseFmtp","writeFmtp","parameters","parseRtcpFb","parameter","writeRtcpFb","rtcpFeedback","parseSsrcMedia","ssrc","attribute","parseSsrcGroup","semantics","ssrcs","getMid","parseFingerprint","algorithm","getDtlsParameters","role","fingerprints","writeDtlsParameters","parseCryptoLine","tag","cryptoSuite","keyParams","sessionParams","writeCryptoLine","writeCryptoKeyParams","parseCryptoKeyParams","keyMethod","keySalt","lifeTime","mkiValue","mkiLength","getCryptoParameters","getIceParameters","writeIceParameters","iceLite","parseRtpParameters","codecs","headerExtensions","fecMechanisms","rtcp","profile","writeRtpDescription","maxptime","parseRtpEncodingParameters","apt","codecPayloadType","rtx","fec","mechanism","maxBitrate","parseRtcpParameters","cname","reducedSize","compound","mux","writeRtcpParameters","parseMsid","parseSctpDescription","parseMLine","isNaN","fmt","maxMessageSize","writeSctpDescription","generateSessionId","substr","writeSessionBoilerplate","getDirection","getKind","isRejected","parseOLine","sessionId","sessionVersion","netType","addressType","isValidSDP","kC","NC","default","DC","candidate","toJSON","sdpMid","sdpMLineIndex","OC","relayProtocol","wC","_sctp","browser","POSITIVE_INFINITY","PC","send","readyState","sctp","createDataChannel","channel","LC","completed","checking","iceConnectionState","_onconnectionstatechange","_connectionstatechangepoly","_lastConnectionState","connectionState","MC","VC","xC","UC","shimRTCIceCandidate","shimRTCIceCandidateRelayProtocol","shimMaxMessageSize","shimSendThrowTypeError","shimConnectionState","removeExtmapAllowMixed","shimAddIceCandidateNullOrEmpty","shimParameterlessSetLocalDescription","shimChrome","shimFirefox","shimSafari","mozGetUserMedia","isSecureContext","supportsUnifiedPlan","RTCRtpTransceiver","browserDetails","commonShim","extractVersion","disableLog","disableWarnings","browserShim","FC","BC","HC","jC","GC","WC","getOwnPropertyDescriptors","JC","KC","YC","zC","qC","QC","XC","ZC","$C","eb","tb","ib","nb","__esModule","rb","ob","sb","ab","throw","cb","context","once","_events","_eventsCount","eventNames","listeners","listenerCount","removeListener","removeAllListeners","off","addListener","prefixed","EventEmitter","lb","reg","format","encoding","rate","subtype","config","sessionConfig","raddr","tcptype","generation","params","dir2","db","rtp","fmtp","media","parseParams","parseFmtpConfig","parsePayloads","parseRemoteCandidates","parseImageAttributes","parseSimulcastStreamList","scid","paused","ub","payloads","outerOrder","innerOrder","hb","pb","_b","INVALID_PARAMETER","INVALID_OPERATION","NOT_SUPPORTED","DEVICE_NOT_FOUND","INITIALIZE_FAILED","SIGNAL_CHANNEL_SETUP_FAILED","SIGNAL_CHANNEL_ERROR","ICE_TRANSPORT_ERROR","JOIN_ROOM_FAILED","CREATE_OFFER_FAILED","SIGNAL_CHANNEL_RECONNECTION_FAILED","UPLINK_RECONNECTION_FAILED","DOWNLINK_RECONNECTION_FAILED","REMOTE_STREAM_NOT_EXIST","CLIENT_BANNED","SERVER_TIMEOUT","SUBSCRIPTION_TIMEOUT","PLAY_NOT_ALLOWED","DEVICE_AUTO_RECOVER_FAILED","START_PUBLISH_CDN_FAILED","STOP_PUBLISH_CDN_FAILED","START_MIX_TRANSCODE_FAILED","STOP_MIX_TRANSCODE_FAILED","NOT_SUPPORTED_H264","SWITCH_ROLE_FAILED","API_CALL_TIMEOUT","SCHEDULE_FAILED","API_CALL_ABORTED","UNKNOWN","mb","fb","extraCode","super","originMessage","getCode","getExtraCode","gb","Tb","Date","getTime","Eb","Sb","setTime","toLocaleString","Ib","bytes2ms","KD","copyProperties","JD","deepMerge","CO","env","vb","fibonacci","$D","formatedTime","NO","getConstructorName","pO","getContainerFromElement","bO","getEnv","UD","getInternalVersion","TO","getLoggerUrl","BD","getMuteStateFromFlag","IO","getNetworkQuality","vO","getNetworkType","GD","getOSType","jD","getReconnectionTimeout","eO","getStringByteLength","wO","getSysInfo","WD","getTerminalType","HD","getTurnServer","yO","getValueType","tO","glog","QD","ipv4ToUint32","AO","cO","isArrayOrObject","RO","isAudioWorkletSupported","_O","isBoolean","sO","isConstructor","hO","isEmpty","SO","isFunction","iO","isLangChinese","XD","isMediaStreamTrack","lO","isNumber","oO","isObject","aO","isOverseaSdkAppId","FD","isPlainObject","ZD","isPromise","uO","isRemoteTrack","dO","isString","rO","isUndefined","nO","ms2bytes","zD","ms2samples","qD","performanceNow","fO","promiseAny","mO","samples2ms","YD","DO","stringifyIncludeValue","OO","ANDROID_VERSION","Mb","CHROME_MAJOR_VERSION","Vk","CHROME_VERSION","xk","EDGE_VERSION","jb","EDG_MAJOR_VERSION","Jb","EDG_VERSION","Wb","FIREFOX_MAJOR_VERSION","Bb","FIREFOX_VERSION","Fb","HUAWEI_VERSION","Rk","IE_VERSION","ik","IOS_MAIN_VERSION","Gk","IOS_VERSION","jk","IPADQQB_VERSION","pk","IS_ANDROID","Lb","IS_ANDROID_WEBVIEW","Hk","IS_ANY_SAFARI","Fk","IS_CHROME","Lk","IS_CHROME_OS","gk","IS_CHROMIUM_BASE","Pk","IS_EDG","Gb","IS_EDGE","Hb","IS_ELECTRON","Sk","IS_FIREFOX","Ub","IS_HEADLESS_CHROME","Mk","IS_HUAWEI","Ak","IS_HUAWEIBROWSER","yk","IS_IE","tk","IS_IE8","ek","IS_IOS","Pb","IS_IOS_13_OR_14","Kk","IS_IOS_15_1","Jk","IS_IPAD","Nb","IS_IPADQQB","hk","IS_IPAD_PRO","Db","IS_IPHONE","Ob","IS_IPOD","wb","IS_LINUX","fk","IS_LOCAL","Yk","IS_MAC","mk","IS_MACQQB","dk","IS_MIBROWSER","Ik","IS_MQQB","sk","IS_NATIVE_ANDROID","xb","IS_OLD_ANDROID","Vb","IS_OPPOBROWSER","kk","IS_SAFARI","Uk","IS_SAFARI_15_1","Wk","IS_SAMSUNGBROWSER","Ck","IS_SOGOU","zb","IS_SOGOUM","Kb","IS_TBS","Qb","IS_UCBROWSER","Ek","IS_VIVOBROWSER","Dk","IS_WECHAT","nk","IS_WIN","_k","IS_WQQB","ck","IS_WX","Tk","IS_X5MQQB","IS_XWEB","Zb","MACQQB_VERSION","uk","MI_VERSION","vk","MQQB_VERSION","ak","OPPO_VERSION","Nk","SAFARI_VERSION","Bk","SAMSUNG_VERSION","bk","SOGOUM_VERSION","Yb","SOGOU_VERSION","qb","TBS_VERSION","Xb","USER_AGENT","yb","VIVO_VERSION","Ok","WECHAT_VERSION","rk","WQQB_VERSION","lk","XWEB_VERSION","$b","browserInfo","qk","getBrowserInfo","Qk","getChromeMajorVersion","wk","getOSName","eN","getOSString","tN","getUserAgentData","Zk","isLocalStorageEnabled","zk","Ab","Rb","Cb","bb","kb","maxTouchPoints","localStorage","HL","Xk","userAgentData","getHighEntropyValues","BL","$k","platform","platformVersion","architecture","iN","AUDIO_MUTE_BIT","jN","AUDIO_STAT_BIT","HN","AUX_STAT_BIT","BN","AUX_STREAM_MSID","JN","BACKEND_ENV","VN","BASE_DOC_URL","TN","BASE_HOST","_N","CAPABILITIES_KEYS","VD","CLASS_NAME","yD","CLOUD_CONSOLE_URL","gN","DATA_FREEZE_TIMING","fD","DOC_URL","EN","DTLS_STATE_UNKNOWN","tD","ENV_NAME","AN","EXCHANGE_SDP_TIMEOUT","uD","INTERVAL","LD","IS_WORKER","lN","IS_WORKLET","dN","KIBANA_EVENT","cD","LOCAL_STREAM_PUBLISH_STATE","mD","LOGGER_CMD_TYPE","yN","LOGGER_DOMAIN","SN","LOGGER_DOMAIN_OVERSEA","IN","LOG_LEVEL","RN","LOG_LEVEL_NAME","kD","MAIN_STREAM_MSID","WN","MICROPHONE_COMMUNICATIONS","bD","MICROPHONE_DEFAULT","RD","NAME","LN","NETWORK_TYPE","kN","_D","PAUSED_RETRY_COUNT","AD","PEERCONNECTION_CONNECTING_TIMEOUT","SD","PEER_CONNECTION_STATE","iD","PEER_LEAVE_REASON","ND","RAF","PD","RECOVER_CAPTURE_INTERVAL","OD","REMOTE_STREAM_TYPE_AUX","YN","REMOTE_STREAM_TYPE_MAIN","KN","RENDER_FREEZE_TIMING","gD","RIC","wD","SCHEDULE_DOMAIN","ID","SCHEDULE_TIMEOUT","vD","SDP_SEMANTICS_PLAN_B","pD","SDP_SEMANTICS_UNIFIED_PLAN","hD","SECOND_HOST","mN","SIGNAL_PING_PONG_INTERVAL","bN","SIGNAL_PING_TIMEOUT","CN","SIGNAL_RECONNECTION_COUNT","aD","SMALL_STAT_BIT","FN","SPEAKER_DEFAULT","CD","STORAGE_EXPIRES_TIME","NN","STREAM_TYPE_BIG","TD","STREAM_TYPE_SMALL","ED","SUBSCRIBE_SMALL_RETRY_COUNT","DD","SYNC_USER_LIST_INTERVAL","lD","Scene","xN","Switch","DN","THIRD_HOST","fN","TIMEOUT","MD","TRANSPORT_DIRECTION","MN","TRTC_ERROR_ASSISTANCE","vN","TRTC_QUALITY_BAD","ZN","TRTC_QUALITY_DISCONNECTED","eD","TRTC_QUALITY_EXCELLENT","qN","TRTC_QUALITY_GOOD","QN","TRTC_QUALITY_POOR","XN","TRTC_QUALITY_UNKNOWN","zN","TRTC_QUALITY_VERY_BAD","$N","UPDATE_OFFER_TIMEOUT","dD","VIDEO_MUTE_BIT","GN","VIDEO_STAT_BIT","UN","audioProfileMap","ON","getRetryCount","oD","getScriptDir","uN","innerVersion","nN","loggerProxy","hN","screenProfileMap","PN","setLoggerProxy","pN","setRetryCount","rD","setVersion","oN","rN","videoProfileMap","wN","aN","cN","registerProcessor","currentScript","lastIndexOf","LOG","EVENT","KEY_POINT","QCLOUD","OLD_CLOUD_LADDER","WEBRTC","TRACE","DEBUG","INFO","WARN","ERROR","NONE","unknown","wifi","wired","USEAINS","ENABLEDEBUG","USEV2","USEWT","standard","sampleRate","channelCount","bitrate","high","CANVAS","AUDIO","VIDEO","SCREEN","SMALL","BIG","AUXILIARY","SMALL_VIDEO","FACING_MODE_USER","FACING_MODE_ENVIRONMENT","MUTE","UNMUTE","ENDED","PLAYING","PAUSE","LOADEDDATA","AUDIO_INPUT","VIDEO_INPUT","DETAIL","TEXT","MAIN","BACKUP","BANNED","KICK","USER_TIME_OUT","ROOM_DISBAND","SEI_MESSAGE","ADD","REMOVE","REPLACE","TRACK","SUBSCRIBE","UNSUBSCRIBE","TRANSCEIVER_DIRECTION_SENDONLY","TRANSCEIVER_DIRECTION_RECVONLY","ENTER_PICTURE_IN_PICTURE","LEAVE_PICTURE_IN_PICTURE","INACTIVE","SENDONLY","RECVONLY","LIVE","RTC","NEW","CONNECTING","FAILED","CLOSED","DISCONNECTED","CONNECTED","COMPLETED","nD","sD","JOIN","DELTA_JOIN","REJOIN","LEAVE","DELTA_LEAVE","PUBLISH","DELTA_PUBLISH","UNPUBLISH","UPLINK_CONNECTION","UPLINK_RECONNECTION","DOWNLINK_CONNECTION","DOWNLINK_RECONNECTION","ON_TRACK","ICE_CONNECTION_STATE","LOCAL_STREAM_INITIALIZE","SIGNAL_CONNECTION","SIGNAL_RECONNECTION","UPDATE_STREAM","RECOVER_LOCAL_AUDIO_TRACK","RECOVER_LOCAL_VIDEO_TRACK","RECOVER_SUBSCRIPTION","START_MIX_TRANSCODE","STOP_MIX_TRANSCODE","PLAYER_ERROR","SCHEDULE","LOAD_WORKLET","VIDEO_FROZEN_COUNT","GET_USER_MEDIA_RETRY","PUBLISHING","PUBLISHED","MAIN_OVERSEA","BACKUP_OVERSEA","TRTC","CLIENT","LOCAL_STREAM","REMOTE_STREAM","STREAM","xD","connection","effectiveType","AbilityOption","AVLimit","GeneralLimit","CPULimit","uint32_CPU_num","hardwareConcurrency","str_CPU_name","uint32_CPU_maxfreq","model","uint32_total_memory","uint32_terminal_type","uint32_device_type","str_os_verion","uint32_link_type","str_client_version","uint32_net_type","ownKeys","language","isRemote","AudioWorkletNode","performance","gO","EO","userId","hasAudio","hasVideo","hasAuxiliary","hasSmall","audioMuted","videoMuted","audioAvailable","videoAvailable","credential","credentialType","getElementById","kO","Intl","DateTimeFormat","dateStyle","timeStyle","keysToInclude","keysToExclude","Set","PO","method","timeout","XMLHttpRequest","onreadystatechange","status","response","qx","statusText","LO","MO","retryFunction","settings","onError","onRetrying","onRetryFailed","onRetrySuccess","retries","clearTimeout","retry","retryFuncArgs","retryCount","VO","sdkAppId","remoteUserId","isLocal","createChild","setUserId","setSdkAppId","HO","info","debug","xO","UO","ROOM_DESTROY","JOIN_START","JOIN_SCHEDULE_SUCCESS","JOIN_SIGNAL_CONNECTION_START","JOIN_SIGNAL_CONNECTION_END","JOIN_SEND_CMD","JOIN_RECEIVED_CMD_RES","JOIN_SUCCESS","JOIN_FAILED","LEAVE_START","LEAVE_SEND_CMD","LEAVE_SUCCESS","PUBLISH_START","SEND_FIRST_VIDEO_FRAME","PUBLISH_FAILED","SUBSCRIBE_START","SUBSCRIBE_SUCCESS","SUBSCRIBE_FAILED","UNSUBSCRIBE_SUCCESS","LOCAL_TRACK_CAPTURE_START","LOCAL_TRACK_CAPTURE_SUCCESS","LOCAL_TRACK_CAPTURE_FAILED","LOCAL_TRACK_PUBLISHED","LOCAL_TRACK_UNPUBLISHED","LOCAL_TRACK_REPLACED","SWITCH_DEVICE_SUCCESS","TRACK_MUTED","TRACK_UNMUTED","REMOTE_TRACK_SUBSCRIBED","REMOTE_TRACK_UNSUBSCRIBED","PLAY_TRACK_START","PLAYER_STATE_CHANGED","VIDEO_LOADED_DATA","AUTOPLAY_DIALOG_CLICK_CONFIRM","WORKLET_LOADED_SUCCESS","WORKLET_LOADED_FAILED","SIGNAL_CONNECTION_STATE_CHANGED","PEER_CONNECTION_STATE_CHANGED","SINGLE_CONNECTION_STAT","HEARTBEAT_REPORT","RECEIVED_PUBLISHED_USER_LIST","REMOTE_PUBLISH_STATE_CHANGED","AUDIO_LEVEL_INTERVAL","NETWORK_QUALITY","API_SUCCESS_RATE","FO","BO","checkURLParam","installEvents","isAbleToUpload","_isEnableUploadLog","_timeoutId","schedule","logLevelToUpload","_logLevelToUpload","room","addJoinedUser","startUpload","deleteJoinedUser","uploadInterval","_localJoinedUser","upload","getLogsToUpload","splicedQueue","_queue","forAllJoinedClients","logs","uploadLogWithRetry","uploaded","getPrefix","getMilliseconds","toTimeString","getLogLevel","_logLevel","setLogLevel","enableUploadLog","disableUploadLog","logChunkToString","level","createLogger","jO","GO","checkStorage","getRealKey","_prefix","setInterval","doFlush","startsWith","getItem","expiresIn","removeItem","setItem","deleteItem","WO","HTTPS_API","dw","IS_GET_CAPABILITIES_SUPPORTED","bw","IS_GET_SETTINGS_SUPPORTED","Cw","IS_SEI_SUPPORTED","kw","IS_SPC_SUPPORTED","vw","basis","Pw","checkSystemRequirementsInternal","aw","decodeSupportStatus","sw","encodeSupportStatus","ow","ZO","getDisplayResolution","hw","isAddTransceiverSupported","Iw","isBrowserSupported","$O","isGetReceiversSupported","Tw","isGetSendersSupported","Ew","isGetTransceiversSupported","Sw","isGetUserMediaSupported","pw","isMediaDevicesSupported","tw","isMediaSessionSupported","Ow","isMediaStreamTrackProcessorSupported","rw","isReplaceTrackSupported","Aw","isScreenCaptureApiAvailable","lw","isSelectedCandidatePair","uw","isSetParametersSupported","Rw","isSmallStreamAPISupported","mw","isSmallStreamSupported","fw","isStopTransceiverSupported","yw","isTRTCSupported","cw","isUnifiedPlanDefault","gw","isUsedInHttpProtocol","nw","isWebAudioSupported","_w","isWebCodecSupported","Dw","isWebCodecsSupported","ew","isWebRTCSupported","Nw","isWebTransportSupported","ww","JO","AVOID_REPEATED_CALL","INVALID_PARAMETER_REQUIRED","INVALID_PARAMETER_TYPE","INVALID_PARAMETER_EMPTY","INVALID_PARAMETER_INSTANCE","INVALID_PARAMETER_RANGE","INVALID_PARAMETER_MIN","INVALID_PARAMETER_MAX","INVALID_PARAMETER_STREAMTYPE","ERROR_MESSAGE","EXCHANGE_SDP_FAILED","INVALID_RECORDID","INVALID_PURE_AUDIO","INVALID_STREAMID","INVALID_USER_DEFINE_RECORDID","INVALID_USER_DEFINE_PUSH_ARGS","INVALID_PROXY","INVALID_JOIN","INVALID_ROOMID_STRING","INVALID_ROOMID_INTEGER","INVALID_SIGNAL_CHANNEL","JOIN_ROOM_TIMEOUT","REJOIN_ROOM_FAILED","INVALID_DESTROY","INVALID_PUBLISH","INVALID_UNPUBLISH","INVALID_AUDIENCE","INVALID_INITIALIZE","INVALID_DUPLICATE_PUBLISHING","INVALID_SUBSCRIBE_UNDEFINED","INVALID_SUBSCRIBE_LOCAL","INVALID_REMOTE_STREAM","INVALID_ROLE","INVALID_PARAMETER_SWITCH_ROLE","INVALID_OPERATION_SWITCH_ROLE","SWITCH_ROLE_TIMEOUT","INVALID_OPERATION_START_PUBLISH_CDN","INVALID_OPERATION_STOP_PUBLISH_CDN","INVALID_STREAM_ID","INVALID_AUDIO_VOLUME","ENABLE_SMALL_STREAM_PUBLISHED","DISABLE_SMALL_STREAM_PUBLISHED","NOT_SUPPORTED_SMALL_STREAM","INVALID_SMALL_STREAM_PROFILE","INVALID_PARAMETER_REMOTE_STREAM","INVALID_OPERATION_CHANGE_SMALL","REMOTE_NOT_PUBLISH_SMALL_STREAM","INVALID_SWITCH_DEVICE","INVALID_SWITCH_DEVICE_PUBLISHING","INVALID_REPLACE_TRACK","INVALID_INITIALIZE_LOCAL_STREAM","INVALID_ADD_TRACK_REPETITIVE","INVALID_ADD_TRACK_REMOVING","INVALID_ADD_TRACK_PUBLISHING","INVALID_STREAM_INITIALIZED","INVALID_ADD_TRACK_NUMBER","INVALID_REMOVE_AUDIO_TRACK","INVALID_REMOVE_AUDIO_ADDING","INVALID_REMOVE_AUDIO_ON","INVALID_REMOVE_TRACK_PUBLISHING","INVALID_REMOVE_TRACK_NOT_TRACK","INVALID_REMOVE_TRACK_NUMBER","INVALID_REPLACE_TRACK_NO_TRACK","REPEAT_JOIN","CLIENT_DESTROYED","NOT_BUG_PACKAGE","MIX_TRANSCODE_NOT_STARTED","CANNOT_LESS_THAN_ZERO","MIX_PARAMS_VIDEO_FRAMERATE","MIX_PARAMS_VIDEO_GOP","MIX_PARAMS_AUDIO_BITRATE","MIX_PARAMS_USER_Z_ORDER","MIX_PARAMS_NOT_SELF","MIX_PARAMS_USER_STREAM","INVALID_PLAY","INVALID_ELEMENT_ID","INVALID_ELEMENT_ID_TYPE","PLAY_FAILED","INVALID_USERID","INVALID_CREATE_STREAM_SOURCE","INVALID_CREATE_STREAM_SCREEN","INVALID_CREATE_STREAM_AUDIO","INVALID_CREATE_STREAM_SCREEN_AUDIO","NOT_SUPPORTED_HTTP","NOT_SUPPORTED_WEBRTC","NOT_SUPPORTED_PROFILE","NOT_SUPPORTED_MEDIA","NOT_SUPPORTED_H264ENCODE","NOT_SUPPORTED_H264DECODE","NOT_SUPPORTED_TRACK","NOT_SUPPORTED_SWITCH_DEVICE","NOT_SUPPORTED_CAPTURE","NOT_SUPPORTED_AUX","MICROPHONE_NOT_FOUND","CAMERA_NOT_FOUND","SIGNAL_RESPONSE_FAILED","CATCH_HANDLER_ERROR","API_NOT_EXIST","CONNECTION_CLOSED","SUBSCRIBE_ALL_FALSE","SEI_NOT_SUPPORT","SEI_DISABLED","SEI_EMPTY","SEI_OVERSIZE","SEI_BEFORE_PUBLISH","SEI_NOT_VIDEO","CALL_FREQUENCY_LIMIT","CONNECTION_ABORTED","DUPLICATE_AUX","KO","rule","fnName","instanceOf","commandDesc","command","errorCode","errorMsg","errMsg","roomId","streamType","signalResponse","event","funName","isSize","timesInSecond","maxSizeInSecond","YO","zO","TRTC_ERROR_INFO","TRTC_ERROR_LINK","text","qO","link","addDocLink","className","QO","detail","isScreenShareSupported","isH264EncodeSupported","isVp8EncodeSupported","isH264DecodeSupported","isVp8DecodeSupported","XO","browserName","browserVersion","iw","OffscreenCanvas","MediaStreamTrackProcessor","MediaStreamTrackGenerator","getContext","captureStream","nominated","selected","screen","devicePixelRatio","isSupported","HTMLCanvasElement","AudioDecoder","AudioEncoder","VideoDecoder","VideoEncoder","ImageDecoder","mediaSession","setActionHandler","WebTransport","displayResolution","isWebSocketsSupported","WebSocket","CLOSING","Lw","Mw","Vw","xw","oldState","newState","action","aborted","abort","jw","Uw","cause","Fw","Bw","Gw","abortAction","_state","ignoreError","success","Hw","__AFSM__","CustomEvent","payload","STATECHANGED","updateDevTools","old","err","groupName","INIT","count","diagram","stateDiagram","allStates","instances","instances2","UPDATEAFSM","group","OFF","Ww","requestIdleCallback","didTimeout","timeRemaining","Jw","cancelIdleCallback","Kw","cancelAnimationFrame","mozCancelAnimationFrame","Yw","generateTaskID","currentTaskID","run","delay","backgroundTask","fps","taskID","loopCount","intervalID","timeoutID","rafID","ricID","taskName","callback","taskMap","interval","isBreakLoop","intervalInWorker","toFixed","Worker","Blob","worker","ric","raf","hidden","requestAnimationFrame","onVisibilitychange","hasTask","clearTask","terminate","clearInterval","zw","qw","LOADED_DATA","MEDIA_TRACK_CHANGED","Qw","_configs","setConfig","_roomIdMap","logSuccessEvent","uploadEventToKibana","logFailedEvent","eventType","delta","uploadEvent","errorInfo","sendRequest","Xw","Zw","$w","eP","tP","iP","nP","rP","oP","sP","aP","cP","lP","dP","uP","hP","pP","querySelector","_P","mP","fP","gP","content","innerHTML","addDiaLog","createDiaLog","innerText","onclick","onConfirm","onQuestionClick","onCollapseClick","firstChild","_dialogNode","stopPropagation","_bodyPosition","position","deleteDiaLog","visibility","_showDetail","_isCollapseClicked","_isQuestionClicked","TP","SP","remove","IP","EP","vP","_log","container","muted","_pausedRetryCount","bindTrackEvents","isPlaying","isStopped","setAttr","attr","setTrack","unbindTrackEvents","element","srcObject","setUrl","crossOrigin","setContainer","play","parentElement","bindAutoPlayEvent","unbindEvents","_isElementPlayingFired","handleStopped","_interval","pause","resume","replay","setMuted","setRect","bindElementEvents","handleElementEvent","handleTrackEvent","handlePlaying","handlePaused","getElement","yP","mirror","objectFit","initializeElement","setAttribute","transform","autoplay","playsinline","setMirror","setObjectFit","getVideoFrame","videoWidth","videoHeight","drawImage","toDataURL","AP","RP","context_","blob_","addModuleToContext","audioWorklet","addModule","initWorkletSuccess","mozAudioContext","CP","bP","kP","NP","onstatechange","DP","OP","_volume","_track","_audioCtx","_destination","destination","_streamSource","createMediaStreamSource","_audioWorkletNode","_scriptProcessorNode","handleAudioLevelInterval","initAudioWorklet","initScriptProcessor","preload","volume","connect","createScriptProcessor","onaudioprocess","inputBuffer","getChannelData","sqrt","destroy","disconnect","getInternalAudioLevel","getCalculatedVolume","intervalTime","wP","PP","LP","gainedTrack","_gainedTrack","_outputDeviceId","outputDeviceId","initVolumeMeter","_volumeMeter","setSinkId","setVolume","destroyGain","_gainNode","gain","createGain","createMediaStreamDestination","_mediaStreamSource","_sourceElement","setLoop","loop","_loop","getAudioLevel","MP","mediaType","isInitPlayer","nL","initPlayer","outMediaTrack","enabled","strMediaType","isPlayCalled","setPlayerMute","isScreen","player","playSubContainer","_outputTrack","handleAutoPlayFailed","subVideoPlayerMap","playerMuted","audioTrack","audioOutputDeviceId","setAudioOutput","setAudioVolume","audioVolume","setMute","mediaTrack","_inputTrack","setInputMediaStreamTrack","manager","changeInput","setOutputMediaStreamTrack","updatePlayingState","setMediaType","enableAutoPlayDialog","VP","xP","UP","FP","BP","toLocaleLowerCase","devices","hasDevice","HP","init","GP","audioInputs","videoInputs","audioOutputs","jP","groupId","YP","getCapabilities","WP","JP","KP","zP","qP","XP","ZP","maxResolution","useTrueAsConstraint","microphoneId","QP","cameraId","echoCancellation","noiseSuppression","autoGainControl","useExact","$P","eL","iL","tL","onTrackMuted","onTrackUnmuted","onTrackEnded","installTrackEvent","uninstallTrackEvent","setStateToCapture","capture","customSource","updateDeviceIdInUse","listenDeviceChange","publish","prevState","unpublish","localTracks","newDeviceId","oldDeviceId","oldGroupId","oldLabel","setProfile","isNeedToRecapture","CanvasCaptureMediaStreamTrack","_isRecapturing","_lastRecaptureTime","_onMuteTimeoutId","visibilityState","recapture","getRecoverCaptureDeviceId","rL","removeInput","oL","switchDevice","replaceTrack","handleMicrophoneRemoved","handleMicrophoneAdded","update3A","setCaptureVolume","captureVolume","sL","bytesSent","packetsSent","framesEncoded","framesSent","frameWidth","frameHeight","isAllowed2k4k","sendAbilityStatus","applyProfile","isNeedToSetBandwidth","setBandWidth","bandwidth","videoType","scheduleResult","trtcAutoConf","isNeedToSwitchDevice","handleCameraRemoved","handleCameraAdded","aL","systemAudio","selfBrowserSurface","surfaceSwitching","displaySurface","cL","videoTrack","lL","dL","audioContext","_inputs","sourceNode","setTrackCaptureVolume","gainNode","hasMix","uL","initAudioContext","_audioContext","musicId","_source","createMediaElementSource","installPlayerEvent","handleAudioError","uninstallPlayerEvent","getStream","seek","duration","currentTime","getPosition","getVolume","setPlayBackRate","playbackRate","getPlayBackRate","setOperation","hL","pL","_L","mL","userSig","errCode","sign","json","auth","fL","gL","numberOfChannels","float32","TL","EL","audioContext_","onDump","inputPCM_","outputPCM_","getBlob","createBuffer","copyToChannel","reset","SL","worklet","logger","destination_","gainNode_","log_","workletNode_","isDumping_","inputPCM","outputPCM","dump_","dumped","emitter_","blob","dumpedWAV","download","click","audioTrack_","source_","trackConstraint_","getConstraints","denoiserTrack_","updateTrack","disable","enableDenoise_","enable","startDump","stopDump","getAudioTrack","getDenoiserTrack","IL","assetsPath","isLoaded_","assetsPath_","createProcessor","load","initWorklet","numberOfInputs","numberOfOutputs","vL","mixedAudioTrack","localMixAudioTrack","hasScreenAudioTrack","_localScreenAudioTrack","hasAudioTrack","_localAudioTrack","isDenoiserProcessed","denoiserProcessor","denoiserTrack","RL","removeAudioTrack","addMusicSource","mixedMusicMap","cacheMusicMap","updateMusicSource","operation","seekFrom","addAudioTrack","removeMusicSource","destroyAllMusic","destroyAllCache","initDenoiser","denoiserContext","denoiser","isDenoiserInit","initProcessorOptions","enableDenoiser","isDenoiserEnabled","disableDenoiser","destroyDenoiserProcessor","yL","user","tinyId","hasFlag","isSubscribed","waitHasMediaTrack","isSubscribing","STATE_SUBSCRIBE","subscribe","unsubscribe","changeType","onFlagChanged","AL","bytesReceived","packetsReceived","packetsLost","end2EndDelay","jitterBufferDelay","audioManager","muteState","isFlagChanged","CL","framesReceived","framesDecoded","videoManager","bL","kL","NL","DL","__FASTRX_DEVTOOLS__","OL","wL","args","xL","streamId","UL","nodeId","sourceId","PL","defers","disposed","complete","dispose","bindDispose","doDefer","bindSubscribe","defer","removeDefer","resetNext","resetComplete","resetError","LL","sink","ML","addSource","VL","pipe","FL","sinks","jL","mapper","thisArg","GL","WL","eventId","eventDesc","YL","JL","KL","mySelfId","getPublishedUser","remotePublishedUserMap","addUser","userMap","deleteUser","flag","deleteRemotePublishedUser","prevMuteState","setUserList","addRemotePublishedUser","setRemotePublishedUserList","zL","qL","SCENE_LIVE","SCENE_RTC","ROLE_ANCHOR","ROLE_AUDIENCE","STREAM_TYPE_MAIN","STREAM_TYPE_SUB","AUDIO_PROFILE_STANDARD","AUDIO_PROFILE_STANDARD_STEREO","AUDIO_PROFILE_HIGH","AUDIO_PROFILE_HIGH_STEREO","QOS_PREFERENCE_SMOOTH","QOS_PREFERENCE_CLEAR","QL","ENV_NOT_SUPPORTED","DEVICE_ERROR","SERVER_ERROR","OPERATION_FAILED","OPERATION_ABORT","UNKNOWN_ERROR","XL","INVALID_PARAMETER_LESS_THAN_ZERO","INVALID_ROOM_ID_STRING","INVALID_ROOM_ID_INTEGER","INVALID_STREAM_TYPE","INVALID_ROOM_ID_REQUIED","INVALID_ROOM_ID_INTEGER_STRING","INVALID_OPERATION_NOT_JOINED","INVALID_OPERATION_REMOTE_USER_NOT_EXIST","INVALID_OPERATION_STREAM_TYPE_NOT_EXIST","INVALID_OPERATION_REPEAT_CALL","NOT_SUPPORTED_H264_ENCODE","NOT_SUPPORTED_H264_DECODE","NOT_SUPPORTED_SCREEN_SHARE","NOT_SUPPORTED_SMALL_VIDEO","NOT_SUPPORTED_SEI","DEVICE_NOT_FOUND_ERROR","DEVICE_NOT_ALLOWED_ERROR","DEVICE_NOT_READABLE_ERROR","DEVICE_OVERCONSTRAINED_ERROR","DEVICE_INVALID_STATE_ERROR","DEVICE_SECURITY_ERROR","DEVICE_ABORT_ERROR","CAMERA_RECOVER_FAILED","MICROPHONE_RECOVER_FAILED","ACCOUNT_NO_MONEY","FIREWALL_RESTRICTION","REJOIN_FAILED","EVENT_HANDLER_ERROR","VIDEO_CONTEXT_ERROR","ZL","deviceType","$L","eventName","fnParams","eM","messageParams","originError","enableDocLink","functionName","handler","startLocalVideo","startLocalAudio","startScreenShare","convertFrom","stack","tM","iM","properties","useFrontCamera","fillMode","small","nM","rM","HTMLElement","arrayItem","validate","oM","required","sM","earMonitorVolume","aM","cM","lM","plugins","enterRoom","_room","isJoined","strRoomId","allowEmpty","scene","proxy","websocketProxy","turnServer","webtransportProxy","userDefineRecordId","option","updateLocalVideo","mute","updateLocalAudio","updateScreenShare","muteRemoteAudio","setRemoteAudioVolume","startRemoteVideo","updateRemoteVideo","stopRemoteVideo","switchRole","enableAudioVolumeEvaluation","sendSEIMessage","enableSEI","isMainStreamPublished","seiPayloadType","dM","uM","hM","pM","_resolve","_M","_reject","mM","instance","started","ops","startSame","mergeUpdate","currentOp","cacheOp","lastOpType","lastOp","fM","gM","TM","EM","SM","merge","debounce","isNeedToDebounce","getKey","timeoutId","IM","vM","AUTOPLAY_FAILED","KICKED_OUT","REMOTE_USER_ENTER","REMOTE_USER_EXIT","REMOTE_AUDIO_AVAILABLE","REMOTE_AUDIO_UNAVAILABLE","REMOTE_VIDEO_AVAILABLE","REMOTE_VIDEO_UNAVAILABLE","AUDIO_VOLUME","CONNECTION_STATE_CHANGED","AUDIO_PLAY_STATE_CHANGED","VIDEO_PLAY_STATE_CHANGED","SCREEN_SHARE_STOPPED","DEVICE_CHANGED","PUBLISH_STATE_CHANGED","STATISTICS","yM","AM","innerEmitter","constants","environment","utils","eventLogger","getLogger","clearStarted","getAlias","RM","CM","kM","_name","bM","NM","defaultValue","notLessThanZero","DM","namePrefix","getRemoteId","loggerManager","apiName","cost","OM","_plugins","getValidateRule","wM","PM","core","getName","getGroup","startValidateRule","updateValidateRule","stopValidateRule","LM","MM","VM","ai_denoise","xM","UM","FM","BM","HM","frameWorkType","_stopRemoteAudio","_stopRemoteVideo","device","_create","frameElement","tagName","bitness","mobile","fullVersionList","brand","autoReceiveAudio","autoReceiveVideo","setProxyServer","setTurnServer","iceTransportPolicy","enableHWEncoder","privateMapKey","businessInfo","useStringRoomId","_exitRoom","_networkQuality","remoteAudioTrack","remoteVideoTrack","remoteAuxiliaryTrack","_remoteAudioConfigMap","_remoteVideoConfigMap","rtt","msg_up_stream_info","msg_network_status","uint32_rtt","msg_down_stream_info","uplinkRTT","downlinkRTT","upLoss","uplinkLoss","downLoss","downlinkLoss","bytes_sent","bytes_received","localStatistics","msg_audio_status","uint32_audio_codec_bitrate","audioLevel","uint32_audio_level","msg_video_status","uint32_video_stream_type","uint32_video_codec_bitrate","uint32_video_width","uint32_video_height","uint32_video_enc_fps","remoteStatistics","msg_user_info","str_identifier","uint32_video_dec_fps","_handleReceiveMode","_checkTrackToPublish","exitRoom","stopLocalAudio","_localVideoTrack","stopLocalVideo","_localScreenTrack","stopScreenShare","_updateAudioPlayOption","playOption","_localAudioConfig","prevConfig","qosPreference","contentHint","_updateVideoPlayOption","_localVideoConfig","_stopScreenShare","_localScreenConfig","_startRemoteAudio","_remoteAudioMuteMap","startPlugin","updatePlugin","stopPlugin","_eventListened","getVideoTrack","setCurrentSpeaker","leave","sendSEI","getCameraList","getMicrophoneList","getSpeakerList","jM","getSize","callCountInSecond","totalSizeInSecond","isTimes","GM","WM","_set","JM","microphone","camera","checkSystemResult","webRTC","webSocket","screenShare","webAudio","h264Encode","h264Decode","vp8Encode","vp8Decode","trtc","KM","YM","zM","qM","QM","XM","ZM","$M","eV","tV","CHANNEL_SETUP_RESULT","CHANNEL_RECONNECT_RESULT","JOIN_ROOM_RESULT","PEER_JOIN","PEER_LEAVE","STREAM_ADDED","STREAM_REMOVED","UPLINK_NETWORK_STATS","UPDATE_REMOTE_MUTE_STAT","PUBLISH_RESULT","PUBLISH_STATE_CHANGE_RESULT","UNPUBLISH_RESULT","SUBSCRIBE_RESULT","UNSUBSCRIBE_RESULT","SUBSCRIBE_CHANGE_RESULT","MUTE_RESULT","UPDATE_OFFER_RESULT","START_PUBLISH_TENCENT_CDN_RES","STOP_PUBLISH_TENCENT_CDN_RES","START_PUBLISH_GIVEN_CDN_RES","STOP_PUBLISH_GIVEN_CDN_RES","START_MIX_TRANSCODE_RES","STOP_MIX_TRANSCODE_RES","USER_LIST_RES","SWITCH_ROLE_RES","UPDATE_CONSTRAINT_CONFIG_RES","REBUILD_PEER_CONNECTION_RES","SPC_PUBLISH_RESULT","SPC_SUBSCRIBE_RESULT","ABILITY_STATUS_REPORT_RESULT","iV","nV","rV","oV","sV","aV","cV","lV","dV","uV","hV","pV","_V","mV","fV","gV","TV","EV","SV","IV","vV","yV","AV","RV","CV","bV","kV","NV","DV","clientIp","signalIp","relayIp","relayInnerIp","relayPort","keepAliveClient","enableSPC","keepAlive","backupUrl","_seq","urlParam","_urlWithParam","_backupUrlWithParam","isConnected","_currentState","isConnecting","isOnline","_lastMessageTime","_prevTime","emitConnectionStateChanged","_socket","bindSocket","_backupTimer","tryConnectBackup","_backupSocket","unbindAndCloseSocket","onopen","onclose","onerror","unbindSocket","clearBackupTimer","clearReconnectionTimer","_reconnectionTimer","isReconnecting","_signalInfo","stopReconnection","_socketInUse","wasClean","reconnect","cmd","signalInnerIp","svrTime","signalInfo","relayOuterIp","syncUserList","checkConnectionsToReconnect","reJoin","_reconnectionCount","getReconnectionUrl","isLeft","seq","sendWaitForResponse","responseCommand","enableLog","sendWaitForResponseWithRetry","retryTimeout","getCurrentState","getSignalInfo","stopKeepAliveIn","OV","wV","dataView","isSEI","addPreventionByte","removePreventionByte","seiPayloadStartIndex","seiPayload","PV","_connection","_isUplink","isRunning","_mainVideoAbortController","_mainVideoSenderOrReceiver","createEncodedStreams","readable","TransformStream","encodeVideoFrame","decodeVideoFrame","AbortController","pipeThrough","pipeTo","restart","_abortMap","onSEIMessage","handleEncodedStreams","getPeerConnection","clearUnusedSenderOrReceiver","pipeSenderOrReceiver","_seiPayloadType","_seiMessageList","hasSEI","isEmptyFrame","getNaluCount","isH264","encodeSEINalu","enqueue","LV","MV","VV","xV","UV","_sdpSemantics","isUplink","_signalChannel","signalChannel","_enableSEI","_sei","beforeConnect","afterConnect","_isFirstConnection","_isReconnecting","initialize","encodedInsertableStreams","getIceServers","getIceTransportPolicy","bundlePolicy","rtcpMuxPolicy","tcpCandidatePolicy","IceTransportsType","_peerConnection","onconnectionstatechange","onConnectionStateChange","_emitter","closePeerConnection","emitConnectionStateChangedEvent","_waitForPeerConnectionConnectedPromiseReject","getDTLSTransportState","transport","startReconnection","_isErrorObserved","logSelectedCandidate","getRoom","getUserId","getTinyId","localCandidateId","remoteCandidateId","candidateType","networkType","_localAddress","_remoteAddress","waitForPeerConnectionConnected","_waitForPeerConnectionConnectedPromise","getReconnectionCount","beforeReconnect","getIsReconnecting","remoteDescription","FV","BV","HV","jV","GV","auxiliary","subscribeState","smallVideo","_flag","hasMainStream","hasAuxStream","isMainStreamSubscribed","isAuxStreamSubscribed","isSmallStreamSubscribed","isBigStreamSubscribed","isStreamUnpublished","ontrack","onTrack","uninstallEvents","addRRTRLine","addSPSDescription","removeSDESDescription","ext","isSubscriptionStateNotChanged","_isSDPExchanging","sendSubscription","remoteTracks","srcTinyId","srcUserId","bigVideo","auxVideo","exchangeSDP","localDescription","onSubscribeResult","voiceActivityDetection","codec","rtcpFb","updateSSRC","getMainStreamVideoTrackId","getAuxStreamVideoTrackId","setDelay","audioDelay","videoDelay","WV","JV","KV","YV","videoCodec","videoBps","videoFps","audioCodec","audioFs","audioChannel","audioBps","smallVideoWidth","smallVideoHeight","smallVideoFps","smallVideoBps","auxVideoWidth","auxVideoHeight","auxVideoFps","auxVideoBps","_audioManager","localMainAudioTrack","localMainVideoTrack","isAuxStreamPublished","localAuxVideoTrack","localAuxAudioTrack","publishState","handleConnectionStateChange","_publishingLocalVideoTrack","localAudioTrack","localVideoTrack","isAuxiliary","_publishingLocalAudioTrack","_isPublishingAux","smallTrack","sendMediaSettings","publishByTransceiver","publishByAddTrack","installTrackMuteEvents","sendMutedFlag","setBandwidth","setTransceiverDirection","doPublishChange","uninstallTrackMuteEvents","doUnpublish","_mediaSettings","constraintConfig","checkPublishResultCode","updateMediaSettings","addTrackByTransceiver","addTrackBySender","updateOffer","removeSender","isNeedToResetOfferOrder","mid","removeTrackByTransceiver","removeTrackBySender","setSDPDirection","acceptAnswer","updateVideoBandwidthRestriction","updateAudioBandwidthRestriction","removeBandwidthRestriction","removeVideoOrientation","doExchangeSDP","smallStreamConfig","ssrcGroups","getVideoTrackId","getSSRC","zV","qV","QV","_prevReportTime","_prevEncoderImplementation","_prevQualityLimitationReason","_prevAuxQualityLimitationReason","statInterval","getSenderStats","totalAudioEnergy","fpsCapture","_spcStats","keyFramesEncoded","nackCount","pliCount","retransmittedPacketsSent","totalEncodeTime","totalPacketSendDelay","encoderImplementation","qualityLimitationReason","currentRoundTripTime","totalBytesSent","framesPerSecond","micAudioLevel","getReceiverStats","isSmallSubscribed","jitter","insertedSamplesForDeceleration","removedSamplesForAcceleration","fpsDecoded","jitterBufferEmittedCount","decoderImplementation","_prevDecoderImplementationMap","totalBytesReceived","singlePC","senderStats","receiverStats","getDifferenceValue","prepareReport","stats","report","freezeMap","uint32_audio_energy","uint32_mic_audio_level","uint32_video_codec_fps","uint32_video_capture_fps","uint32_key_frame_count","uint32_nack_count","uint32_pli_count","uint32_encode_cost","uint32_send_packet_cost","uint32_video_arq_packets","uint32_bitrate","uint32_lost","uint64_tinyid","uint32_audio_total_bitrate","uint32_audio_receive","uint32_audio_origin_lost","uint32_video_receive_fps","uint32_video_receive","uint32_video_origin_lost","uint32_video_block_time","_prevReport","getStatsReport","uplinkConnection","downlinkConnections","uint32_audio_format","uint32_audio_sample_rate","uint32_audio_final_lost","XV","ZV","uplinkNetworkQuality","_uplinkNetworkQuality","_uplinkRTT","_uplinkLoss","downlinkNetworkQuality","_downlinkNetworkQuality","loss","getAverageLossAndRTT","_downlinkLossAndRTTMap","handleUplinkNetworkQuality","handleSignalConnectionStateChange","updateDelay","isPeerConnectionDisconnected","expectAudPkg","expectVidPkg","recvAudPkg","recvVidPkg","handleDownlinkNetworkQuality","totalPacketsLost","totalPacketsReceived","getStat","_downlinkPrevStatMap","_downlinkRTT","_downlinkLoss","handleUplinkConnectionStateChange","setUplinkConnection","uplink","downlinks","EVENT_NETWORK_QUALITY","downlinkInfo","tinyIdToUserIdMap","$V","ex","tx","stopRetry","ix","validateArgs","nx","_apiSuccessRateMap","_frameWorkType","_component","connectionType","_language","_keyPrefix","initData","_intervalId","setStorage","_storageKey","_firstPublishedUserList","totalUplinkRTT","totalUplinkLoss","totalDownlinkRTTAndLossMap","_basicInfo","string_sdk_version","uint32_os_type","string_device_name","string_http_user_agent","string_os_version","uint32_avg_rtt","uint32_avg_up_loss","uint32_scene","uint32_joining_duration","uint32_networkType","uint32_framework","uint32_component","uint32_connection_type","uint32_caller_coding_language","string_domain","_pathJoinRoom","uint64_start_time","uint64_send_request_acc_ip_cmd_start_time","uint64_send_request_acc_ip_cmd_end_time","uint64_send_request_enter_room_cmd_start_time","uint64_send_request_enter_room_cmd_end_time","uint64_send_first_video_frame_time","uint64_recv_userlist_time","uint64_end_time","int32_send_request_acc_ip_cmd_ret","int32_send_request_enter_room_cmd_ret","int32_end_ret","_pathLeaveRoom","uint64_send_request_exit_room_cmd_start_time","uint64_send_request_exit_room_cmd_end_time","int32_send_request_exit_room_cmd_ret","_localStreamStat","totalVideoBitrate","totalVideoFPS","totalVideoHeight","totalVideoWidth","totalAudioLevel","videoCount","audioLevelCount","publishStartTime","statsToReport","uint32_audio_capture_db","uint32_video_big_capture_fps","uint32_video_big_bitrate","uint32_video_big_resolution","_pathMainVideoMap","_pathMainAudioMap","_pathAuxiliaryMap","_remoteStreamStatMap","addEvent","handleUnload","handleLeaveSuccess","handleJoinStart","handleJoinScheduleSuccess","handleSignalConnectionStart","handleSignalConnectionEnd","handleJoinSendCMD","handleJoinReceivedCMDResponce","handleJoinSuccess","handleJoinFailed","handleLeaveStart","handleLeaveSendCMD","handleTrackCaptureStart","handleTrackCaptureSuccess","handleTrackCaptureFailed","handlePublishStart","handleSendFirstVideoFrame","handleSubscribeStart","handleSubscribed","handlePlayStart","handleVideoLoadedData","hitTest","handleAudioPlaying","handleVideoPlaying","handleNetworkQuality","handleHeartbeatStats","handleReceivedPublishUserList","handleRemoteStreamAdded","handleAPISuccessRate","int32_ice_cost","ice","int32_dtls_cost","dtls","int32_peer_connection_cost","peerConnection","detailCost","totalCost","local","dns","tcp","tls","request","int32_schedule_cost","int32_schedule_local","int32_schedule_dns","int32_schedule_tcp","int32_schedule_tls","int32_schedule_request","int32_schedule_response","publishedUserList","totalAudioBitrate","totalLoss","audioCount","networkQualityCount","streamAddedTime","subscribeStartTime","subscribedTime","playStreamTime","sx","ax","uint32_stream_type","remotePublishedUser","uint64_start_enter_time","uint64_render_first_frame_time","uint64_combine_first_frame_time","sendSubscribeCMDTime","uint64_play_first_frame_time","uint32_video_render_first","totalRTT","totalVideoDelay","videoDelayCount","totalAudioDelay","audioDelayCount","videoJitterBufferDelay","uint32_video_consume_render_rate","audioJitterBufferDelay","uint64_init_audio_start_time","uint64_init_camera_start_time","uint64_init_audio_end_time","int32_init_audio_ret","uint64_init_camera_end_time","int32_init_camera_ret","NotFoundError","NotAllowedError","NotReadableError","OverConstrainedError","AbortError","SecurityError","cx","uint32_function_request_type","uint32_avg_value","uint32_max_value","uint32_request_count","uint32_success_count","msg_error_code","int32_error_code","error_count","hasVideoFlag","hasAudioFlag","hasAuxFlag","getReportData","msg_path_enter_room","uint32_avg_down_loss","uint32_audio_network_p2p_delay","uint32_p2p_delay","uint32_video_network_p2p_delay","uint32_video_avg_fps","uint32_video_avg_bitrate","uint32_audio_recv_bitrate","uint32_audio_bitrate","uint32_audio_play_db","callDurationCalculator","uint32_audio_play_time","getDuration","uint32_video_play_time","ox","badCaseDetector","dataFreeze","getDataFreezeDuration","renderFreeze","getRenderFreezeDuration","uint32_video_block_count","uint32_video_external_block_time","isBlackStream","uint32_video_black_screen_subjective","uint32_sdk_app_id","msg_basic_info","uint32_acc_ip","uint32_client_ip","uint32_acc_port","uint64_timestamp","uint32_seq","msg_path_exit_room","msg_path_recv_video","msg_quality_statistics","str_room_name","msg_path_recv_audio","uint32_info_client_ip","error_code","msg_local_statistics","msg_function_request_stats","sendBeacon","setConnectionType","rx","uint32_audio_block_time","uint32_audio_block_count","str_tinyid","uint32_role","startMixTranscode","stopMixTranscode","startPublishCDNStream","stopPublishCDNStream","PeerConnectionConnect","PeerConnectionReconnect","WebsocketConnect","WebsocketReconnect","SPCConnect","SPCReconnect","videoCtxGl","videoCtxGlRecover","videoCtx2d","lx","dx","_startTime","_endTime","endTime","ux","_durationMap","handleStreamStopped","stopDurationItem","addDuractionItem","isRecording","getDurationMap","hx","onPlayTrackStart","stopDataFreeze","_isVideoPlayingEventFiredMap","onVideoTrackMuted","onVideoTrackUnmuted","onHearBeatReport","_renderFreezeMap","_dataFreezeMap","durationItemList","isFreezing","handleRenderFreeze","_monitorFreezeData","getTotalDuration","isFreeze","freezeTimeline","startTime","renderFreezeTotal","getMonitorFreeze","resetMonitor","px","_x","mx","fx","isCached","msg","FormData","Ix","Ex","loggerDomain","scheduleCache","getEntriesByType","transferSize","domainLookupStart","domainLookupEnd","requestStart","secureConnectionStart","connectStart","responseStart","responseEnd","gx","main","backup","Tx","Sx","vx","yx","Ax","Rx","totalFrames","matchInputSize","_gl","createTexture","texture","texCoordBuffer","positionBuffer","useTexture","texParameteri","TEXTURE_2D","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","useFbo","fbo","createFramebuffer","useBufferFrame","texImage2D","RGBA","UNSIGNED_BYTE","framebufferTexture2D","FRAMEBUFFER","COLOR_ATTACHMENT0","useDefaultProgram","program","defaultProgam","vertexShaderSource","fragmentShaderSource","vertexShader","createShader","VERTEX_SHADER","fragmentShader","FRAGMENT_SHADER","createProgram","ctx2d","create2d","transferControlToOffscreen","image","_canvas","addInput","output","resize","requestFrame","render","render2d","draw2d","deleteBuffer","deleteFramebuffer","deleteTexture","deleteShader","deleteProgram","useInputTexture","useProgram","bindFramebuffer","bindBuffer","ARRAY_BUFFER","bufferData","STATIC_DRAW","setTexBuffer","setPosBuffer","changeBufferData","setAttributes","getAttribLocation","enableVertexAttribArray","vertexAttribPointer","FLOAT","getVertexPoint","layout2texCoords","ImageData","putImageData","getInfo","lastInfo","Cx","bx","_sequence","getError","NO_ERROR","a_position","a_texCoord","drawArrays","TRIANGLE_STRIP","kx","_videoTrack","setSize","Nx","resolution","Dx","_render","HTMLVideoElement","getVideoPlaybackQuality","totalVideoFrames","_totalFrames","dropFrames","HTMLImageElement","ImageBitmap","_image","texSubImage2D","Ox","_mediaStream","wx","glFaild","hasAlpha","alpha","use2d","BLEND","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","available","createVideoTrackSource","createVideoTrackDestination","createVideoImageSource","viewport","shaderSource","compileShader","attachShader","linkProgram","activeTexture","TEXTURE0","bindTexture","Px","Lx","scale","translate","Mx","node","layout","bottom","Vx","inputs","zIndex","clearColor","COLOR_BUFFER_BIT","DEPTH_BUFFER_BIT","clearRect","xx","videoContext","smallVideoContext","enablePrintDetail","renderMode","_use2d","_hasWaterMark","_checkId","active","_isMixScreen","_isMirror","checkOrCreateVideoContext","sendCreateResult","smallDestination","smallTrackSource","smallImageSource","initialTrack","_isOpenVirtualBackground","_virtualBackgroundTrack","cameraTrack","_setMainOutput","cameraNode","mirrorNode","mixNode","waterMarkNode","_waterMarkOption","screenTrack","screenNode","setScreenTrack","setCameraTrack","updateAr","loadImage","Image","onload","setWatermark","imageUrl","stopWatermark","mixScreen","enableAr","virtualBackgroundInstance","clone","listen","handleArOutput","updateInputTrack","disableAr","Ux","Fx","domains","_isUsingCachedSchedule","_joinedTimestamp","_isDestroyed","keyPointManager","setEncodedDataProcessingListener","enableAIVoice","proxy_ws","proxy_wt","scheduleProxy","unifiedProxy","proxy_unified","getRemoteAudioStats","getTransportStats","quality","downlinksRTT","getRemoteVideoStats","checkDestroy","Bx","Hx","jx","Gx","Wx","Jx","Kx","serverAbility","clientAbility","offerSDP","enableCustomMessage","extmapAllowMixed","icelite","msidSemantic","semantic","token","ipVer","timing","candidates","extensions","fingerprint","icePwd","iceUfrag","setup","rtcpfb","rtcpMux","rtcpRsize","Yx","parsedOffer","useAllCodec","zx","useVp8","Qx","mids","Xx","DATA_CHANNEL_MESSAGE","RECONNECTED","RECONNECT_FAILED","Zx","$x","eU","tU","iU","iceStartTime","iceEndTime","dtlsStartTime","dtlsEndTime","peerConnectionStartTime","peerConnectionEndTime","_enableCustomMessage","_serverAbility","isVP8EncodeSupported","uplinkSSRC","audioSsrc","audioRtxSsrc","bigVideoSsrc","bigVideoRtxSsrc","smallVideoSsrc","smallVideoRtxSsrc","auxVideoSsrc","auxVideoRtxSsrc","currentState","reconnectionCount","dtlsTransport","offerExtmapAllowMixed","oniceconnectionstatechange","_datachannel","binaryType","rU","setOffer","_clientAbility","useDataChannel","setAnswer","ability","checkPeerConnectionToReconnect","_waitForPCConnectedPromise","_waitForPCConnectedPromiseReject","waitForReconnected","addDownlink","updateLocalAndRemoteSDPConfig","addDownlinkQueue","updateSDP","isNeedToCreateOffer","_parsedAnswer","videoRtx","auxiliaryRtx","_downlinkMIDMap","removeDownlink","removeDownlinkQueue","tinyIdRemoving","getDownlinkMids","setSenderMaxBitrate","setBandwidthBySDP","limit","_updateSDPPromise","_isSDPLogged","currentDirection","sendDataChannelMessage","nU","len","TextDecoder","decode","oU","sU","aU","cU","lU","smallRtx","onSinglePCReconnected","dU","uU","hasSSRC","doSubscribe","customData","hU","pU","_U","mU","fU","gU","TU","EU","_heartbeat","_lastHeartBeatTime","_joinTimeout","_firstPublishedList","_joinReject","_isRelayChanged","_changeBigSmallRecords","_networkType","_turnServers","_syncUserListInterval","_smallStreamConfig","_enableAudioVolumeEvaluation","_audioVolumeIntervalId","_enableMultiAuxStream","_pureAudioPushMode","_stats","userManager","_version","_iceTransportPolicy","enableMultiAuxStream","_initBusinessInfo","isMainAudioPublished","closeDownLinkConnection","createDownlinkConnection","_joinOptions","doJoin","onPublishedUserList","userList","clearJoinTimeout","fallbackToMPC","trtcRole","trtcScene","terminalType","bussinessInfo","_businessInfo","enterRoomTimeout","startHeartbeat","startSyncUserListInterval","publishers","mainUrl","getSignalChannelUrl","doHeartbeat","setSignalChannel","clearNetworkQuality","closeConnections","stopHeartbeat","uint32_event_id","uint64_date","str_userid","str_event_json","str_sdk_version","uint64_datetime","msg_device_info","str_device_name","str_os_version","msg_event_msg","str_acc_ip","str_client_ip","isRelayMaybeFailed","checkSubscribeBigSmallVideo","closeUplink","installDownlinkEvents","stopSyncUserListInterval","getUserList","getAllConnections","doSwitchRole","options","getLocalAudioStats","getLocalVideoStats","sendStartMixTranscode","sendStopMixTranscode","sendStartPublishCDN","sendStopPublishCDN","reSubscribeCount","pureAudioPushMode","Str_uc_params","pure_audio_push_mod","userdefine_record_id","userDefinePushArgs","userdefine_push_args","baseUrl","getUsersig","axios","reserveConferenceList","caseId","kindOf","cache","thing","str","kindOfTest","typeOfTest","isBuffer","val","isArrayBuffer","isArrayBufferView","toStringTag","isDate","isFile","isBlob","isFileList","isStream","isFormData","isURLSearchParams","obj","allOwnKeys","findKey","_key","_global","isContextDefined","caseless","assignValue","targetKey","extend","stripBOM","inherits","superConstructor","props","descriptors","toFlatObject","sourceObj","destObj","propFilter","prop","merged","searchString","toArray","arr","forEachEntry","generator","pair","matchAll","regExp","matches","isHTMLForm","toCamelCase","p1","p2","isRegExp","reduceDescriptors","reducer","reducedDescriptors","descriptor","ret","freezeMethods","toObjectSet","arrayOrString","delimiter","define","noop","toFiniteNumber","ALPHA","DIGIT","ALPHABET","ALPHA_DIGIT","generateString","alphabet","isSpecCompliantForm","toJSONObject","visit","reducedValue","isAsyncFn","isThenable","hasOwnProp","AxiosError","captureStackTrace","number","fileName","lineNumber","columnNumber","customProps","axiosError","isVisitable","removeBrackets","renderKey","dots","isFlatArray","predicates","toFormData","formData","PlatformFormData","metaTokens","indexes","visitor","defaultVisitor","_Blob","useBlob","convertValue","toISOString","Buffer","exposedHelpers","build","encode","charMap","AxiosURLSearchParams","_pairs","encoder","_encode","buildURL","serializeFn","serializedParams","hashmarkIndex","InterceptorManager","handlers","use","fulfilled","rejected","synchronous","runWhen","eject","silentJSONParsing","forcedJSONParsing","clarifyTimeoutError","isBrowser","classes","protocols","hasBrowserEnv","hasStandardBrowserEnv","product","hasStandardBrowserWebWorkerEnv","WorkerGlobalScope","toURLEncodedForm","helpers","isNode","parsePropPath","arrayToObject","formDataToJSON","buildPath","isNumericKey","isLast","stringifySafely","rawValue","parser","defaults","transitional","transitionalDefaults","adapter","transformRequest","contentType","getContentType","hasJSONContentType","isObjectPayload","setContentType","formSerializer","_FormData","transformResponse","JSONRequested","responseType","strictJSONParsing","ERR_BAD_RESPONSE","xsrfCookieName","xsrfHeaderName","maxContentLength","maxBodyLength","validateStatus","common","ignoreDuplicateOf","rawHeaders","parsed","line","$internals","normalizeHeader","header","normalizeValue","parseTokens","tokens","tokensRE","isValidHeaderName","matchHeaderValue","isHeaderNameFilter","formatHeader","char","buildAccessors","accessorName","methodName","arg1","arg2","arg3","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_value","_header","_rewrite","lHeader","setHeaders","parseHeaders","matcher","deleted","deleteHeader","normalized","targets","asStrings","first","computed","accessor","internals","accessors","defineAccessor","mapped","headerValue","transformData","fns","isCancel","__CANCEL__","CanceledError","ERR_CANCELED","settle","ERR_BAD_REQUEST","expires","secure","cookie","toGMTString","read","isAbsoluteURL","combineURLs","baseURL","relativeURL","buildFullPath","requestedURL","msie","urlParsingNode","originURL","resolveURL","requestURL","parseProtocol","speedometer","samplesCount","timestamps","firstSampleTS","chunkLength","startedAt","bytesCount","passed","progressEventReducer","listener","isDownloadStream","bytesNotified","_speedometer","loaded","total","lengthComputable","progressBytes","inRange","progress","estimated","isXHRAdapterSupported","requestData","requestHeaders","onCanceled","withXSRFToken","cancelToken","signal","Boolean","unescape","btoa","fullPath","onloadend","responseHeaders","getAllResponseHeaders","responseData","responseText","paramsSerializer","responseURL","onabort","ECONNABORTED","ERR_NETWORK","ontimeout","timeoutErrorMessage","ETIMEDOUT","isURLSameOrigin","xsrfValue","cookies","setRequestHeader","withCredentials","onDownloadProgress","onUploadProgress","cancel","knownAdapters","httpAdapter","xhr","xhrAdapter","renderReason","isResolvedHandle","getAdapter","adapters","nameOrAdapter","rejectedReasons","reasons","throwIfCancellationRequested","throwIfRequested","dispatchRequest","headersToObject","mergeConfig","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","timeoutMessage","decompress","beforeRedirect","httpAgent","httpsAgent","socketPath","responseEncoding","configValue","VERSION","validators","deprecatedWarnings","assertOptions","schema","allowUnknown","ERR_BAD_OPTION_VALUE","opt","validator","ERR_BAD_OPTION","formatMessage","desc","opts","ERR_DEPRECATED","Axios","instanceConfig","interceptors","configOrUrl","boolean","function","contextHeaders","requestInterceptorChain","synchronousRequestInterceptors","interceptor","responseInterceptorChain","chain","newConfig","onFulfilled","onRejected","getUri","generateHTTPMethod","isForm","CancelToken","executor","resolvePromise","_listeners","onfulfilled","spread","isAxiosError","HttpStatusCode","Continue","SwitchingProtocols","Processing","EarlyHints","Created","Accepted","NonAuthoritativeInformation","NoContent","ResetContent","PartialContent","MultiStatus","AlreadyReported","ImUsed","MultipleChoices","MovedPermanently","Found","SeeOther","NotModified","UseProxy","Unused","TemporaryRedirect","PermanentRedirect","BadRequest","Unauthorized","PaymentRequired","Forbidden","NotFound","MethodNotAllowed","NotAcceptable","ProxyAuthenticationRequired","RequestTimeout","Conflict","Gone","LengthRequired","PreconditionFailed","PayloadTooLarge","UriTooLong","UnsupportedMediaType","RangeNotSatisfiable","ExpectationFailed","ImATeapot","MisdirectedRequest","UnprocessableEntity","Locked","FailedDependency","TooEarly","UpgradeRequired","PreconditionRequired","TooManyRequests","RequestHeaderFieldsTooLarge","UnavailableForLegalReasons","InternalServerError","NotImplemented","BadGateway","ServiceUnavailable","GatewayTimeout","HttpVersionNotSupported","VariantAlsoNegotiates","InsufficientStorage","LoopDetected","NotExtended","NetworkAuthenticationRequired","createInstance","defaultConfig","Cancel","promises","formToJSON","server","res","getWidth","getHeight","userRow","getWidthPhone","getModile","sUserAgent","bIsIpad","bIsIphoneOs","bIsMidp","bIsUc7","bIsUc","bIsAndroid","bIsCE","bIsWM","$TypeError","Prototype","IndexSizeError","DOMStringSizeError","HierarchyRequestError","WrongDocumentError","InvalidCharacterError","NoDataAllowedError","NoModificationAllowedError","NotSupportedError","InUseAttributeError","InvalidModificationError","NamespaceError","InvalidAccessError","ValidationError","TypeMismatchError","NetworkError","URLMismatchError","QuotaExceededError","TimeoutError","InvalidNodeTypeError","DataCloneError","uncurryThis","$Error","TEST","arg","V8_OR_CHAKRA_STACK_ENTRY","IS_V8_OR_CHAKRA_STACK","dropEntries","prepareStackTrace","isCallable","$this","dummy","Wrapper","NewTarget","NewTargetPrototype","argument","$default","anObject","DESCRIPTORS","defineBuiltInAccessor","regExpFlags","fails","RegExpPrototype","FORCED","INDICES_SUPPORT","calls","expected","addGetter","chr","pairs","getBuiltIn","createPropertyDescriptor","anInstance","inheritIfRequired","normalizeStringArgument","DOMExceptionConstants","clearErrorStack","IS_PURE","DOM_EXCEPTION","NativeDOMException","$DOMException","DOMExceptionPrototype","argumentsLength","ERROR_HAS_STACK","DOM_EXCEPTION_HAS_STACK","BUGGY_DESCRIPTOR","FORCED_CONSTRUCTOR","PolyfilledDOMException","PolyfilledDOMExceptionPrototype","constant","constantName"],"sourceRoot":""} \ No newline at end of file diff --git a/Miniapp-H5/dist/js/667.ca832d99.js b/Miniapp-H5/dist/js/667.c7c4d337.js similarity index 93% rename from Miniapp-H5/dist/js/667.ca832d99.js rename to Miniapp-H5/dist/js/667.c7c4d337.js index 6e043b9..11c5c31 100644 --- a/Miniapp-H5/dist/js/667.ca832d99.js +++ b/Miniapp-H5/dist/js/667.c7c4d337.js @@ -1,4 +1,4 @@ -(self["webpackChunknouiroom"]=self["webpackChunknouiroom"]||[]).push([[667],{667:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return Y}});var r=function(){var t=this,e=t._self._c;return e("div",{staticClass:"page"},[t.modileFlag?e("div",{staticClass:"roompage",on:{mouseover:t.mouseHover}},[e("div",{staticClass:"txtContent"},[e("el-tag",{attrs:{type:"danger"},on:{click:t.txtContent}},[t._v("会议内容")])],1),e("div",{class:t.userClass,style:{height:t.userHeight},attrs:{id:"localStream"}},[e("div",{staticClass:"userName"},[t._v(t._s(t.userId))])]),t._l(t.userList,(function(n,r){return e("div",{key:r,class:t.userClass,style:{height:t.userHeight},attrs:{id:n}},[e("div",{staticClass:"userName"},[t._v(t._s(n))])])})),e("div",{directives:[{name:"show",rawName:"v-show",value:t.showFlag,expression:"showFlag"}],staticClass:"footer"},[e("roomFooter",{attrs:{roomId:t.roomId},on:{exitRoom:t.exitRoom}})],1)],2):t._e(),t.modileFlag?t._e():e("div",{staticClass:"roomPhone"},[e("div",{staticClass:"header"},[e("roomFooterPhone",{on:{exitRoom:t.exitRoom}})],1),e("div",{staticClass:"bodyVideo"},[e("div",{class:t.userClassPhone,attrs:{id:"localStream"}},[e("div",{staticClass:"userNamePhone"},[t._v(t._s(t.userId))])]),t._l(t.userList,(function(n,r){return e("div",{key:r,class:t.userClassPhone,attrs:{id:n}},[e("div",{staticClass:"userNamePhone"},[t._v(t._s(n))])])}))],2)]),e("el-drawer",{attrs:{title:"会议内容",visible:t.textVisible,modal:!1},on:{"update:visible":function(e){t.textVisible=e}}},[e("quill-editor",{ref:"myQuillEditor",attrs:{options:t.editorOption},on:{blur:function(e){return t.onEditorBlur(e)},focus:function(e){return t.onEditorFocus(e)},ready:function(e){return t.onEditorReady(e)}},model:{value:t.contentValue,callback:function(e){t.contentValue=e},expression:"contentValue"}}),e("el-button",{staticClass:"updataBtn",attrs:{type:"primary",disabled:!t.updataFlag},on:{click:t.updataClick}},[t._v("确认修改内容")])],1)],1)},o=[],i=(n(560),n(2268)),l=n(4164);let s="https://api.xayunmei.com/zhongcaiapitest";function a(t){return l.Z.post(`${s}/video/openCloudRecording`,t)}function u(t){return l.Z.post(`${s}/video/closeDeleteCloudRecording?taskId=${t}`)}function c(t){return l.Z.post(`${s}/video/dissolveRoom`,t)}function f(t){return l.Z.post(`${s}/video/htmlToPDF`,t)}function h(t){return l.Z.get(`${s}/video/secretaryRoleByUserId?userId=${t}`)}var d=n(6097),p=function(){var t=this,e=t._self._c;return e("div",{staticClass:"roomFooter"},[e("div",{staticClass:"outRoom"},[t.roleFlag?t._e():e("el-button",{attrs:{type:"danger"},on:{click:t.exitRoom}},[t._v("退出房间")]),t.roleFlag?e("el-button",{attrs:{type:"danger"},on:{click:t.exitRoom}},[t._v("解散房间")]):t._e()],1)])},y=[],v={name:"Footer",components:{},data(){return{roomId:null,taskId:null,roleFlag:!1}},methods:{destructionRoomFn(t){c(t).then((t=>{console.log(t,"解散房间")}))},exitRoom(){this.roleFlag?(this.stopVideoFn(),this.destructionRoomFn({roomId:this.roomId}),this.$emit("exitRoom")):this.$emit("exitRoom")},async startVideoFn(){await a({caseId:12865,roomId:this.roomId}).then((t=>{this.taskId=t.data.taskId,console.log(t.data.taskId,"pppppp")}))},stopVideoFn(){u(this.taskId).then((t=>{console.log(t,"KKKKKK")}))}},async mounted(){this.roomId=this.$route.query.roomId;let t=this.$route.query.flag;this.roleFlag=t,t&&await this.startVideoFn()}},b=v,g=n(1001),m=(0,g.Z)(b,p,y,!1,null,"7182f480",null),_=m.exports,O=function(){var t=this,e=t._self._c;return e("div",{staticClass:"roomFooter"},[t.roleFlag?t._e():e("el-button",{attrs:{type:"danger"},on:{click:t.exitRoom}},[t._v("退出房间")]),t.roleFlag?e("el-button",{attrs:{type:"danger"},on:{click:t.exitRoom}},[t._v("解散房间")]):t._e()],1)},w=[],x={name:"FooterPhone",components:{},data(){return{roomId:null,taskId:null,roleFlag:!1}},methods:{destructionRoomFn(t){c(t).then((t=>{console.log(t,"解散房间")}))},exitRoom(){this.roleFlag?(this.stopVideoFn(),this.destructionRoomFn({roomId:this.roomId}),this.$emit("exitRoom")):this.$emit("exitRoom")},async startVideoFn(){await a({caseId:12865,roomId:this.roomId}).then((t=>{this.taskId=t.data.taskId,console.log(t.data.taskId,"pppppp")}))},stopVideoFn(){u(this.taskId).then((t=>{console.log(t,"KKKKKK")}))}},async mounted(){this.roomId=this.$route.query.roomId;let t=this.$route.query.flag;this.roleFlag=t,t&&await this.startVideoFn()}},k=x,E=(0,g.Z)(k,O,w,!1,null,"63f1986e",null),N=E.exports;n(8858),n(1318),n(3228),n(3429),n(4224),n(1121),n(7133),n(6300);function A(t,e){let n="",r="asr.cloud.tencent.com/asr/v2/";t["appid"]&&(r+=t["appid"]);const o=Object.keys(e);o.sort();for(let i=0,l=o.length;i{try{const e=new XMLHttpRequest;e.open("GET","https://asr.cloud.tencent.com/server_time",!0),e.send(),e.onreadystatechange=function(){4===e.readyState&&200===e.status&&t(e.responseText)}}catch(n){e(n)}}))}const o=await r();if(e["secretid"]=t.secretid||"",e["engine_model_type"]=t.engine_model_type||"16k_zh",e["timestamp"]=parseInt(o)||Math.round(n/1e3),e["expired"]=Math.round(n/1e3)+86400,e["nonce"]=Math.round(n/1e5),e["voice_id"]=S(),t.hasOwnProperty("voice_format")&&(e["voice_format"]=t.voice_format),t.hasOwnProperty("hotword_id")&&(e["hotword_id"]=t.hotword_id),t.hasOwnProperty("needvad")&&(e["needvad"]=t.needvad),t.hasOwnProperty("filter_dirty")&&(e["filter_dirty"]=t.filter_dirty),t.hasOwnProperty("filter_modal")&&(e["filter_modal"]=t.filter_modal),t.hasOwnProperty("filter_punc")&&(e["filter_punc"]=t.filter_punc),t.hasOwnProperty("convert_num_mode")&&(e["convert_num_mode"]=t.convert_num_mode),t.hasOwnProperty("word_info")&&(e["word_info"]=t.word_info),t.hasOwnProperty("vad_silence_time")&&(e["vad_silence_time"]=t.vad_silence_time),t.hasOwnProperty("max_speak_time")&&(e["max_speak_time"]=t.max_speak_time),t.hasOwnProperty("token")&&(e["token"]=t.token),null!==typeof t.extend_params)for(let i in t.extend_params)e[i]=t.extend_params[i];return e}const S=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){const e=16*Math.random()|0,n="x"===t?e:3&e|8;return n.toString(16)}));async function q(t,e){if(!e.appid||!e.secretid)return t.OnError("请确认是否填入账号信息"),!1;const n=await j(e),r=A(e,n);let o="";return o=e.signCallback?e.signCallback(r):C(e.secretkey,r),`wss://${r}&signature=${encodeURIComponent(o)}`}function T(t){const e=t.words,n=t.sigBytes,r=new Uint8Array(n);for(let o=0;o>>2]>>>24-o%4*8&255;return r}function P(t){let e="";for(let n=0;n{this.isLog&&console.log(this.requestId,"连接建立",t,L)},this.socket.onmessage=async t=>{try{this.getMessageList.push(JSON.stringify(t));const e=JSON.parse(t.data);if(0!==e.code)1===this.socket.readyState&&this.socket.close(),this.OnError(e);else{if(this.isSignSuccess||(this.OnRecognitionStart(e),this.isSignSuccess=!0),1===e.final)return void this.OnRecognitionComplete(e);e.result&&(0===e.result.slice_type?(this.OnSentenceBegin(e),this.isSentenceBegin=!0):2===e.result.slice_type?(this.isSentenceBegin||this.OnSentenceBegin(e),this.OnSentenceEnd(e)):this.OnRecognitionResultChange(e))}}catch(t){this.isLog&&console.log(this.requestId,"socket.onmessage catch error",JSON.stringify(t),L)}},this.socket.onerror=t=>{this.isLog&&console.log(this.requestId,"socket error callback",t,L),this.socket.close(),this.OnError(t)},this.socket.onclose=t=>{try{this.isRecognizeComplete||(this.isLog&&console.log(this.requestId,"socket is close and error",JSON.stringify(t),L),this.OnError(t))}catch(e){this.isLog&&console.log(this.requestId,"socket is onclose catch"+this.sendCount,JSON.stringify(e),L)}}}else this.OnError("鉴权失败")}close(){this.socket&&this.socket.close(1e3)}write(t){try{this.socket&&"1"===String(this.socket.readyState)||(setTimeout((()=>{this.socket&&1===this.socket.readyState||this.socket.send(t)}),40),this.OnError({code:6001,message:"连接未建立,请稍后发送数据!"})),this.sendCount+=1,this.socket.send(t)}catch(e){this.isLog&&console.log(this.requestId,"发送数据 error catch",e,L)}}OnRecognitionStart(t){}OnSentenceBegin(t){}OnRecognitionResultChange(){}OnSentenceEnd(){}OnRecognitionComplete(){}OnError(){}}const I=`\nclass MyProcessor extends AudioWorkletProcessor {\n constructor(options) {\n super(options);\n this.audioData = [];\n this.nextUpdateFrame = 40;\n }\n\n get intervalInFrames() {\n return 40 / 1000 * sampleRate;\n }\n\n process(inputs) {\n // 去处理音频数据\n // eslint-disable-next-line no-undef\n const output = ${H}(inputs[0][0], sampleRate);\n const audioData = ${U}(output);\n const data = [...new Int8Array(audioData.buffer)];\n this.audioData = this.audioData.concat(data);\n this.nextUpdateFrame -= inputs[0][0].length;\n if (this.nextUpdateFrame < 0) {\n this.nextUpdateFrame += this.intervalInFrames;\n this.port.postMessage({\n audioData: new Int8Array(this.audioData)\n });\n this.audioData = [];\n }\n return true;\n }\n}\n\nregisterProcessor('my-processor', MyProcessor);\n`,M=window.URL.createObjectURL(new Blob([I],{type:"text/javascript"}));class B{constructor(t){this.audioTrack=t.audioTrack,this.audioContext=new(window.AudioContext||window.webkitAudioContext),this.speechRecognizer=null,this.isCanSendData=!1,this.audioData=[],this.secretkey=t.secretKey,this.params={secretid:t.secretId,appid:t.appId,engine_model_type:t.engine_model_type||"16k_zh",voice_format:t.voice_format||1,needvad:t.needvad},this.OnRecognitionStart=function(){},this.OnSentenceBegin=function(){},this.OnRecognitionResultChange=function(){},this.OnSentenceEnd=function(){},this.OnRecognitionComplete=function(){},this.OnError=function(){},this.OnChange=function(){}}signCallback(t){const e=this.secretkey,n=window.CryptoJSTest.HmacSHA1(t,e),r=F(D(n));return window.btoa(r)}start(){if(!this.speechRecognizer){const t={signCallback:this.signCallback.bind(this),...this.params};this.speechRecognizer=new R(t)}this.speechRecognizer.OnRecognitionStart=t=>{this.isCanSendData=!0,this.OnRecognitionStart(t)},this.speechRecognizer.OnSentenceBegin=t=>{this.OnSentenceBegin(t),this.OnChange(t)},this.speechRecognizer.OnRecognitionResultChange=t=>{this.OnRecognitionResultChange(t),this.OnChange(t)},this.speechRecognizer.OnSentenceEnd=t=>{this.OnSentenceEnd(t),this.OnChange(t)},this.speechRecognizer.OnRecognitionComplete=t=>{this.OnRecognitionComplete(t)},this.speechRecognizer.OnError=t=>{this.isCanSendData=!1,this.OnError(t)},this.speechRecognizer.start(),this.getAudioData()}getAudioData(){const t=new MediaStream;t.addTrack(this.audioTrack);const e=this.audioContext.createMediaStreamSource(t);if(this.audioContext.audioWorklet)this.audioContext.audioWorklet.addModule(M).then((()=>{const t=new AudioWorkletNode(this.audioContext,"my-processor",{numberOfInputs:1,numberOfOutputs:1,channelCount:1});t.port.onmessage=t=>{this.isCanSendData&&this.speechRecognizer.write(t.data.audioData)},e.connect(t).connect(this.audioContext.destination)})).catch(console.error);else{const t=this.audioContext.createScriptProcessor(0,1,1);t.onaudioprocess=t=>{const e=t.inputBuffer.getChannelData(0),n=H(e,this.audioContext.sampleRate),r=U(n);if(this.audioData.push(...new Int8Array(r.buffer)),this.audioData.length>1280&&this.isCanSendData){const t=new Int8Array(this.audioData);this.speechRecognizer.write(t),this.audioData=[]}},e.connect(t),t.connect(this.audioContext.destination)}}stop(){this.speechRecognizer.stop(),this.audioContext&&this.audioContext.suspend()}}function D(t){const{words:e}=t,{sigBytes:n}=t,r=new Uint8Array(n);for(let o=0;o>>2]>>>24-o%4*8&255;return r}function F(t){let e="";for(let n=0;n/g,""),f({caseId:this.caseId,htmlContent:this.contentValue}).then((t=>{200==t.code?this.$message({message:"提交修改成功",type:"success"}):this.$message({message:t.msg,type:"error"})}))},onEditorBlur(t){console.log("editor blur!",this.content,t)},onEditorFocus(t){this.updataFlag?t.enable(!0):t.enable(!1),console.log("editor focus!",t)},onEditorReady(t){console.log("editor ready!",t)},onEditorChange({quill:t,html:e,text:n}){console.log("editor change!",t,e,n),this.content=e},txtContent(){this.textVisible=!0},mouseHover(){this.showFlag=!0,setTimeout((()=>{this.showFlag=!1}),4e3)},async exitRoom(){Object.keys(this.asrList).forEach((t=>{this.asrList[t].stop()})),this.localStreamAsr.stop(),await $.exitRoom(),await $.updateLocalVideo({publish:!1}),await $.updateLocalAudio({publish:!1}),await $.destroy(),this.$router.push({name:"Home"})},getPushVideo(){$.on(K().EVENT.REMOTE_VIDEO_AVAILABLE,(t=>{const e=t.userId,n=t.streamType;this.userList.push(e),setTimeout((()=>{let t=$.getAudioTrack(e);this.asrList[this.userList[this.userList.length-1]]=new B({secretKey:"INDrIXcT8YmomZBcsy0oNirnU0LTN4X7",secretId:"AKID3xfHgroY4MQHvLXUXMwIQL1UjmbBX1Tv",appId:1304001529,engine_model_type:"16k_zh",voice_format:1,needvad:1,audioTrack:t}),this.asrList[this.userList[this.userList.length-1]].start(),this.asrList[this.userList[this.userList.length-1]].OnRecognitionStart=t=>{console.log("远端流:开始识别",t)},this.asrList[this.userList[this.userList.length-1]].OnError=t=>{console.log("远端流:识别失败",t)},this.asrList[this.userList[this.userList.length-1]].OnSentenceEnd=t=>{console.log("远端流:一句话结束",t),this.contentValue=this.contentValue+`

${e}

`+`${t.result.voice_text_str}`}}),2e3),this.modileFlag?(this.userClass=(0,d.dz)(this.userList),this.userHeight=(0,d.Cr)(this.userList)):this.userClassPhone=(0,d.A1)(this.userList),setTimeout((()=>{$.startRemoteVideo({userId:e,streamType:n,view:`${e}`})}))}))},deletePushVideo(){$.on(K().EVENT.REMOTE_VIDEO_UNAVAILABLE,(t=>{const e=t.userId;if(this.hostId==e)return alert("主持人已经解散会议"),this.$router.push({name:"Home"}),void(this.userList=[]);let n=this.userList.indexOf(e);this.userList=this.userList.filter((t=>t!==e)),-1!==n&&this.userList.splice(n,1),this.modileFlag?(this.userClass=(0,d.dz)(this.userList),this.userHeight=(0,d.Cr)(this.userList)):this.userClassPhone=(0,d.A1)(this.userList),Object.keys(this.asrList).forEach((t=>{this.asrList[e].stop()}))}))},reserveConferenceListFn(t){(0,i.Je)(t).then((t=>{this.hostId=t.data[0].userName}))},secretaryRoleByUserIdFn(t){h(t).then((t=>{console.log(t.data.isSecretaryRole,"kkkkkkkkkkkkkkk"),this.updataFlag=t.data.isSecretaryRole}))}},computed:{editor(){return this.$refs.myQuillEditor.quill}},async mounted(){this.modileFlag=(0,d.Qv)();let t=this.$route.query.roomId;this.roomId=this.$route.query.roomId;let e=this.$route.query.userId;this.userId=this.$route.query.userId,this.caseId=this.$route.query.caseId,this.id=this.$route.query.id,this.secretaryRoleByUserIdFn(this.id),this.reserveConferenceListFn(this.caseId);const n=1600011167;await(0,i.X9)(e).then((t=>{this.userSign=t.msg})),this.getPushVideo(),this.deletePushVideo();try{await $.enterRoom({roomId:Number(t),scene:"rtc",sdkAppId:n,userId:e,userSig:this.userSign}),await $.startLocalVideo({view:document.getElementById("localStream")}),await $.startLocalAudio(),console.log("进房成功"),this.$message({message:"进房成功",type:"success"})}catch(r){console.error("进房失败 "+r),this.$message({message:"进房失败",type:"error"}),this.$router.push({name:"Home"})}this.localStreamAsr=new B({secretKey:"INDrIXcT8YmomZBcsy0oNirnU0LTN4X7",secretId:"AKID3xfHgroY4MQHvLXUXMwIQL1UjmbBX1Tv",appId:1304001529,engine_model_type:"16k_zh",voice_format:1,needvad:1,audioTrack:$.getAudioTrack()}),console.log($.getAudioTrack("zhongcaibai")),this.localStreamAsr.start(),this.localStreamAsr.OnRecognitionStart=t=>{console.log("本地流:开始识别",t)},this.localStreamAsr.OnError=t=>{console.log("本地流:识别失败",t)},this.localStreamAsr.OnSentenceEnd=t=>{console.log("本地流:一句话结束",t),this.contentValue=this.contentValue+`

${this.userId}

`+`${t.result.voice_text_str}`}},created(){$=K().create()}},W=Z,G=(0,g.Z)(W,r,o,!1,null,"124d014f",null),Y=G.exports},6431:function(t,e,n){n(560), +(self["webpackChunknouiroom"]=self["webpackChunknouiroom"]||[]).push([[667],{667:function(t,e,n){"use strict";n.r(e),n.d(e,{default:function(){return Y}});var r=function(){var t=this,e=t._self._c;return e("div",{staticClass:"page"},[t.modileFlag?e("div",{staticClass:"roompage",on:{mouseover:t.mouseHover}},[e("div",{staticClass:"txtContent"},[e("el-tag",{attrs:{type:"danger"},on:{click:t.txtContent}},[t._v("会议内容")])],1),e("div",{class:t.userClass,style:{height:t.userHeight},attrs:{id:"localStream"}},[e("div",{staticClass:"userName"},[t._v(t._s(t.userId))])]),t._l(t.userList,(function(n,r){return e("div",{key:r,class:t.userClass,style:{height:t.userHeight},attrs:{id:n}},[e("div",{staticClass:"userName"},[t._v(t._s(n))])])})),e("div",{directives:[{name:"show",rawName:"v-show",value:t.showFlag,expression:"showFlag"}],staticClass:"footer"},[e("roomFooter",{attrs:{roomId:t.roomId},on:{exitRoom:t.exitRoom}})],1)],2):t._e(),t.modileFlag?t._e():e("div",{staticClass:"roomPhone"},[e("div",{staticClass:"header"},[e("roomFooterPhone",{on:{exitRoom:t.exitRoom}})],1),e("div",{staticClass:"bodyVideo"},[e("div",{class:t.userClassPhone,attrs:{id:"localStream"}},[e("div",{staticClass:"userNamePhone"},[t._v(t._s(t.userId))])]),t._l(t.userList,(function(n,r){return e("div",{key:r,class:t.userClassPhone,attrs:{id:n}},[e("div",{staticClass:"userNamePhone"},[t._v(t._s(n))])])}))],2)]),e("el-drawer",{attrs:{title:"会议内容",visible:t.textVisible,modal:!1},on:{"update:visible":function(e){t.textVisible=e}}},[e("quill-editor",{ref:"myQuillEditor",attrs:{options:t.editorOption},on:{blur:function(e){return t.onEditorBlur(e)},focus:function(e){return t.onEditorFocus(e)},ready:function(e){return t.onEditorReady(e)}},model:{value:t.contentValue,callback:function(e){t.contentValue=e},expression:"contentValue"}}),e("el-button",{staticClass:"updataBtn",attrs:{type:"primary",disabled:!t.updataFlag},on:{click:t.updataClick}},[t._v("确认修改内容")])],1)],1)},o=[],i=(n(560),n(2268)),l=n(4164);let s="https://api.xayunmei.com/zhongcaiapi";function a(t){return l.Z.post(`${s}/video/openCloudRecording`,t)}function u(t){return l.Z.post(`${s}/video/closeDeleteCloudRecording?taskId=${t}`)}function c(t){return l.Z.post(`${s}/video/dissolveRoom`,t)}function f(t){return l.Z.post(`${s}/video/htmlToPDF`,t)}function h(t){return l.Z.get(`${s}/video/secretaryRoleByUserId?userId=${t}`)}var d=n(6097),p=function(){var t=this,e=t._self._c;return e("div",{staticClass:"roomFooter"},[e("div",{staticClass:"outRoom"},[t.roleFlag?t._e():e("el-button",{attrs:{type:"danger"},on:{click:t.exitRoom}},[t._v("退出房间")]),t.roleFlag?e("el-button",{attrs:{type:"danger"},on:{click:t.exitRoom}},[t._v("解散房间")]):t._e()],1)])},y=[],v={name:"Footer",components:{},data(){return{roomId:null,taskId:null,roleFlag:!1}},methods:{destructionRoomFn(t){c(t).then((t=>{console.log(t,"解散房间")}))},exitRoom(){this.roleFlag?(this.stopVideoFn(),this.destructionRoomFn({roomId:this.roomId}),this.$emit("exitRoom")):this.$emit("exitRoom")},async startVideoFn(){await a({caseId:12865,roomId:this.roomId}).then((t=>{this.taskId=t.data.taskId,console.log(t.data.taskId,"pppppp")}))},stopVideoFn(){u(this.taskId).then((t=>{console.log(t,"KKKKKK")}))}},async mounted(){this.roomId=this.$route.query.roomId;let t=this.$route.query.flag;this.roleFlag=t,t&&await this.startVideoFn()}},b=v,g=n(1001),m=(0,g.Z)(b,p,y,!1,null,"7182f480",null),_=m.exports,O=function(){var t=this,e=t._self._c;return e("div",{staticClass:"roomFooter"},[t.roleFlag?t._e():e("el-button",{attrs:{type:"danger"},on:{click:t.exitRoom}},[t._v("退出房间")]),t.roleFlag?e("el-button",{attrs:{type:"danger"},on:{click:t.exitRoom}},[t._v("解散房间")]):t._e()],1)},w=[],x={name:"FooterPhone",components:{},data(){return{roomId:null,taskId:null,roleFlag:!1}},methods:{destructionRoomFn(t){c(t).then((t=>{console.log(t,"解散房间")}))},exitRoom(){this.roleFlag?(this.stopVideoFn(),this.destructionRoomFn({roomId:this.roomId}),this.$emit("exitRoom")):this.$emit("exitRoom")},async startVideoFn(){await a({caseId:12865,roomId:this.roomId}).then((t=>{this.taskId=t.data.taskId,console.log(t.data.taskId,"pppppp")}))},stopVideoFn(){u(this.taskId).then((t=>{console.log(t,"KKKKKK")}))}},async mounted(){this.roomId=this.$route.query.roomId;let t=this.$route.query.flag;this.roleFlag=t,t&&await this.startVideoFn()}},k=x,E=(0,g.Z)(k,O,w,!1,null,"63f1986e",null),N=E.exports;n(8858),n(1318),n(3228),n(3429),n(4224),n(1121),n(7133),n(6300);function A(t,e){let n="",r="asr.cloud.tencent.com/asr/v2/";t["appid"]&&(r+=t["appid"]);const o=Object.keys(e);o.sort();for(let i=0,l=o.length;i{try{const e=new XMLHttpRequest;e.open("GET","https://asr.cloud.tencent.com/server_time",!0),e.send(),e.onreadystatechange=function(){4===e.readyState&&200===e.status&&t(e.responseText)}}catch(n){e(n)}}))}const o=await r();if(e["secretid"]=t.secretid||"",e["engine_model_type"]=t.engine_model_type||"16k_zh",e["timestamp"]=parseInt(o)||Math.round(n/1e3),e["expired"]=Math.round(n/1e3)+86400,e["nonce"]=Math.round(n/1e5),e["voice_id"]=S(),t.hasOwnProperty("voice_format")&&(e["voice_format"]=t.voice_format),t.hasOwnProperty("hotword_id")&&(e["hotword_id"]=t.hotword_id),t.hasOwnProperty("needvad")&&(e["needvad"]=t.needvad),t.hasOwnProperty("filter_dirty")&&(e["filter_dirty"]=t.filter_dirty),t.hasOwnProperty("filter_modal")&&(e["filter_modal"]=t.filter_modal),t.hasOwnProperty("filter_punc")&&(e["filter_punc"]=t.filter_punc),t.hasOwnProperty("convert_num_mode")&&(e["convert_num_mode"]=t.convert_num_mode),t.hasOwnProperty("word_info")&&(e["word_info"]=t.word_info),t.hasOwnProperty("vad_silence_time")&&(e["vad_silence_time"]=t.vad_silence_time),t.hasOwnProperty("max_speak_time")&&(e["max_speak_time"]=t.max_speak_time),t.hasOwnProperty("token")&&(e["token"]=t.token),null!==typeof t.extend_params)for(let i in t.extend_params)e[i]=t.extend_params[i];return e}const S=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(t){const e=16*Math.random()|0,n="x"===t?e:3&e|8;return n.toString(16)}));async function q(t,e){if(!e.appid||!e.secretid)return t.OnError("请确认是否填入账号信息"),!1;const n=await j(e),r=A(e,n);let o="";return o=e.signCallback?e.signCallback(r):C(e.secretkey,r),`wss://${r}&signature=${encodeURIComponent(o)}`}function T(t){const e=t.words,n=t.sigBytes,r=new Uint8Array(n);for(let o=0;o>>2]>>>24-o%4*8&255;return r}function P(t){let e="";for(let n=0;n{this.isLog&&console.log(this.requestId,"连接建立",t,L)},this.socket.onmessage=async t=>{try{this.getMessageList.push(JSON.stringify(t));const e=JSON.parse(t.data);if(0!==e.code)1===this.socket.readyState&&this.socket.close(),this.OnError(e);else{if(this.isSignSuccess||(this.OnRecognitionStart(e),this.isSignSuccess=!0),1===e.final)return void this.OnRecognitionComplete(e);e.result&&(0===e.result.slice_type?(this.OnSentenceBegin(e),this.isSentenceBegin=!0):2===e.result.slice_type?(this.isSentenceBegin||this.OnSentenceBegin(e),this.OnSentenceEnd(e)):this.OnRecognitionResultChange(e))}}catch(t){this.isLog&&console.log(this.requestId,"socket.onmessage catch error",JSON.stringify(t),L)}},this.socket.onerror=t=>{this.isLog&&console.log(this.requestId,"socket error callback",t,L),this.socket.close(),this.OnError(t)},this.socket.onclose=t=>{try{this.isRecognizeComplete||(this.isLog&&console.log(this.requestId,"socket is close and error",JSON.stringify(t),L),this.OnError(t))}catch(e){this.isLog&&console.log(this.requestId,"socket is onclose catch"+this.sendCount,JSON.stringify(e),L)}}}else this.OnError("鉴权失败")}close(){this.socket&&this.socket.close(1e3)}write(t){try{this.socket&&"1"===String(this.socket.readyState)||(setTimeout((()=>{this.socket&&1===this.socket.readyState||this.socket.send(t)}),40),this.OnError({code:6001,message:"连接未建立,请稍后发送数据!"})),this.sendCount+=1,this.socket.send(t)}catch(e){this.isLog&&console.log(this.requestId,"发送数据 error catch",e,L)}}OnRecognitionStart(t){}OnSentenceBegin(t){}OnRecognitionResultChange(){}OnSentenceEnd(){}OnRecognitionComplete(){}OnError(){}}const I=`\nclass MyProcessor extends AudioWorkletProcessor {\n constructor(options) {\n super(options);\n this.audioData = [];\n this.nextUpdateFrame = 40;\n }\n\n get intervalInFrames() {\n return 40 / 1000 * sampleRate;\n }\n\n process(inputs) {\n // 去处理音频数据\n // eslint-disable-next-line no-undef\n const output = ${H}(inputs[0][0], sampleRate);\n const audioData = ${U}(output);\n const data = [...new Int8Array(audioData.buffer)];\n this.audioData = this.audioData.concat(data);\n this.nextUpdateFrame -= inputs[0][0].length;\n if (this.nextUpdateFrame < 0) {\n this.nextUpdateFrame += this.intervalInFrames;\n this.port.postMessage({\n audioData: new Int8Array(this.audioData)\n });\n this.audioData = [];\n }\n return true;\n }\n}\n\nregisterProcessor('my-processor', MyProcessor);\n`,M=window.URL.createObjectURL(new Blob([I],{type:"text/javascript"}));class B{constructor(t){this.audioTrack=t.audioTrack,this.audioContext=new(window.AudioContext||window.webkitAudioContext),this.speechRecognizer=null,this.isCanSendData=!1,this.audioData=[],this.secretkey=t.secretKey,this.params={secretid:t.secretId,appid:t.appId,engine_model_type:t.engine_model_type||"16k_zh",voice_format:t.voice_format||1,needvad:t.needvad},this.OnRecognitionStart=function(){},this.OnSentenceBegin=function(){},this.OnRecognitionResultChange=function(){},this.OnSentenceEnd=function(){},this.OnRecognitionComplete=function(){},this.OnError=function(){},this.OnChange=function(){}}signCallback(t){const e=this.secretkey,n=window.CryptoJSTest.HmacSHA1(t,e),r=F(D(n));return window.btoa(r)}start(){if(!this.speechRecognizer){const t={signCallback:this.signCallback.bind(this),...this.params};this.speechRecognizer=new R(t)}this.speechRecognizer.OnRecognitionStart=t=>{this.isCanSendData=!0,this.OnRecognitionStart(t)},this.speechRecognizer.OnSentenceBegin=t=>{this.OnSentenceBegin(t),this.OnChange(t)},this.speechRecognizer.OnRecognitionResultChange=t=>{this.OnRecognitionResultChange(t),this.OnChange(t)},this.speechRecognizer.OnSentenceEnd=t=>{this.OnSentenceEnd(t),this.OnChange(t)},this.speechRecognizer.OnRecognitionComplete=t=>{this.OnRecognitionComplete(t)},this.speechRecognizer.OnError=t=>{this.isCanSendData=!1,this.OnError(t)},this.speechRecognizer.start(),this.getAudioData()}getAudioData(){const t=new MediaStream;t.addTrack(this.audioTrack);const e=this.audioContext.createMediaStreamSource(t);if(this.audioContext.audioWorklet)this.audioContext.audioWorklet.addModule(M).then((()=>{const t=new AudioWorkletNode(this.audioContext,"my-processor",{numberOfInputs:1,numberOfOutputs:1,channelCount:1});t.port.onmessage=t=>{this.isCanSendData&&this.speechRecognizer.write(t.data.audioData)},e.connect(t).connect(this.audioContext.destination)})).catch(console.error);else{const t=this.audioContext.createScriptProcessor(0,1,1);t.onaudioprocess=t=>{const e=t.inputBuffer.getChannelData(0),n=H(e,this.audioContext.sampleRate),r=U(n);if(this.audioData.push(...new Int8Array(r.buffer)),this.audioData.length>1280&&this.isCanSendData){const t=new Int8Array(this.audioData);this.speechRecognizer.write(t),this.audioData=[]}},e.connect(t),t.connect(this.audioContext.destination)}}stop(){this.speechRecognizer.stop(),this.audioContext&&this.audioContext.suspend()}}function D(t){const{words:e}=t,{sigBytes:n}=t,r=new Uint8Array(n);for(let o=0;o>>2]>>>24-o%4*8&255;return r}function F(t){let e="";for(let n=0;n/g,""),f({caseId:this.caseId,htmlContent:this.contentValue}).then((t=>{200==t.code?this.$message({message:"提交修改成功",type:"success"}):this.$message({message:t.msg,type:"error"})}))},onEditorBlur(t){console.log("editor blur!",this.content,t)},onEditorFocus(t){this.updataFlag?t.enable(!0):t.enable(!1),console.log("editor focus!",t)},onEditorReady(t){console.log("editor ready!",t)},onEditorChange({quill:t,html:e,text:n}){console.log("editor change!",t,e,n),this.content=e},txtContent(){this.textVisible=!0},mouseHover(){this.showFlag=!0,setTimeout((()=>{this.showFlag=!1}),4e3)},async exitRoom(){Object.keys(this.asrList).forEach((t=>{this.asrList[t].stop()})),this.localStreamAsr.stop(),await $.exitRoom(),await $.updateLocalVideo({publish:!1}),await $.updateLocalAudio({publish:!1}),await $.destroy(),this.$router.push({name:"Home"})},getPushVideo(){$.on(K().EVENT.REMOTE_VIDEO_AVAILABLE,(t=>{const e=t.userId,n=t.streamType;this.userList.push(e),setTimeout((()=>{let t=$.getAudioTrack(e);this.asrList[this.userList[this.userList.length-1]]=new B({secretKey:"INDrIXcT8YmomZBcsy0oNirnU0LTN4X7",secretId:"AKID3xfHgroY4MQHvLXUXMwIQL1UjmbBX1Tv",appId:1304001529,engine_model_type:"16k_zh",voice_format:1,needvad:1,audioTrack:t}),this.asrList[this.userList[this.userList.length-1]].start(),this.asrList[this.userList[this.userList.length-1]].OnRecognitionStart=t=>{console.log("远端流:开始识别",t)},this.asrList[this.userList[this.userList.length-1]].OnError=t=>{console.log("远端流:识别失败",t)},this.asrList[this.userList[this.userList.length-1]].OnSentenceEnd=t=>{console.log("远端流:一句话结束",t),this.contentValue=this.contentValue+`

${e}

`+`${t.result.voice_text_str}`}}),2e3),this.modileFlag?(this.userClass=(0,d.dz)(this.userList),this.userHeight=(0,d.Cr)(this.userList)):this.userClassPhone=(0,d.A1)(this.userList),setTimeout((()=>{$.startRemoteVideo({userId:e,streamType:n,view:`${e}`})}))}))},deletePushVideo(){$.on(K().EVENT.REMOTE_VIDEO_UNAVAILABLE,(t=>{const e=t.userId;if(this.hostId==e)return alert("主持人已经解散会议"),this.$router.push({name:"Home"}),void(this.userList=[]);let n=this.userList.indexOf(e);this.userList=this.userList.filter((t=>t!==e)),-1!==n&&this.userList.splice(n,1),this.modileFlag?(this.userClass=(0,d.dz)(this.userList),this.userHeight=(0,d.Cr)(this.userList)):this.userClassPhone=(0,d.A1)(this.userList),Object.keys(this.asrList).forEach((t=>{this.asrList[e].stop()}))}))},reserveConferenceListFn(t){(0,i.Je)(t).then((t=>{this.hostId=t.data[0].userName}))},secretaryRoleByUserIdFn(t){h(t).then((t=>{console.log(t.data.isSecretaryRole,"kkkkkkkkkkkkkkk"),this.updataFlag=t.data.isSecretaryRole}))}},computed:{editor(){return this.$refs.myQuillEditor.quill}},async mounted(){this.modileFlag=(0,d.Qv)();let t=this.$route.query.roomId;this.roomId=this.$route.query.roomId;let e=this.$route.query.userId;this.userId=this.$route.query.userId,this.caseId=this.$route.query.caseId,this.id=this.$route.query.id,this.secretaryRoleByUserIdFn(this.id),this.reserveConferenceListFn(this.caseId);const n=1600011167;await(0,i.X9)(e).then((t=>{this.userSign=t.msg})),this.getPushVideo(),this.deletePushVideo();try{await $.enterRoom({roomId:Number(t),scene:"rtc",sdkAppId:n,userId:e,userSig:this.userSign}),await $.startLocalVideo({view:document.getElementById("localStream")}),await $.startLocalAudio(),console.log("进房成功"),this.$message({message:"进房成功",type:"success"})}catch(r){console.error("进房失败 "+r),this.$message({message:"进房失败",type:"error"}),this.$router.push({name:"Home"})}this.localStreamAsr=new B({secretKey:"INDrIXcT8YmomZBcsy0oNirnU0LTN4X7",secretId:"AKID3xfHgroY4MQHvLXUXMwIQL1UjmbBX1Tv",appId:1304001529,engine_model_type:"16k_zh",voice_format:1,needvad:1,audioTrack:$.getAudioTrack()}),console.log($.getAudioTrack("zhongcaibai")),this.localStreamAsr.start(),this.localStreamAsr.OnRecognitionStart=t=>{console.log("本地流:开始识别",t)},this.localStreamAsr.OnError=t=>{console.log("本地流:识别失败",t)},this.localStreamAsr.OnSentenceEnd=t=>{console.log("本地流:一句话结束",t),this.contentValue=this.contentValue+`

${this.userId}

`+`${t.result.voice_text_str}`}},created(){$=K().create()}},W=Z,G=(0,g.Z)(W,r,o,!1,null,"124d014f",null),Y=G.exports},6431:function(t,e,n){n(560), /*! * Quill Editor v1.3.7 * https://quilljs.com/ @@ -14,4 +14,4 @@ function(e,n){t.exports=n()}("undefined"!==typeof self&&self,(function(){return * @license MIT */ var r=r||function(t,e){var n={},r=n.lib={},o=function(){},i=r.Base={extend:function(t){o.prototype=this;var e=new o;return t&&e.mixIn(t),e.hasOwnProperty("init")||(e.init=function(){e.$super.init.apply(this,arguments)}),e.init.prototype=e,e.$super=this,e},create:function(){var t=this.extend();return t.init.apply(t,arguments),t},init:function(){},mixIn:function(t){for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);t.hasOwnProperty("toString")&&(this.toString=t.toString)},clone:function(){return this.init.prototype.extend(this)}},l=r.WordArray=i.extend({init:function(t,n){t=this.words=t||[],this.sigBytes=n!=e?n:4*t.length},toString:function(t){return(t||a).stringify(this)},concat:function(t){var e=this.words,n=t.words,r=this.sigBytes;if(t=t.sigBytes,this.clamp(),r%4)for(var o=0;o>>2]|=(n[o>>>2]>>>24-o%4*8&255)<<24-(r+o)%4*8;else if(65535>>2]=n[o>>>2];else e.push.apply(e,n);return this.sigBytes+=t,this},clamp:function(){var e=this.words,n=this.sigBytes;e[n>>>2]&=4294967295<<32-n%4*8,e.length=t.ceil(n/4)},clone:function(){var t=i.clone.call(this);return t.words=this.words.slice(0),t},random:function(e){for(var n=[],r=0;r>>2]>>>24-r%4*8&255;n.push((o>>>4).toString(16)),n.push((15&o).toString(16))}return n.join("")},parse:function(t){for(var e=t.length,n=[],r=0;r>>3]|=parseInt(t.substr(r,2),16)<<24-r%8*4;return new l.init(n,e/2)}},u=s.Latin1={stringify:function(t){var e=t.words;t=t.sigBytes;for(var n=[],r=0;r>>2]>>>24-r%4*8&255));return n.join("")},parse:function(t){for(var e=t.length,n=[],r=0;r>>2]|=(255&t.charCodeAt(r))<<24-r%4*8;return new l.init(n,e)}},c=s.Utf8={stringify:function(t){try{return decodeURIComponent(escape(u.stringify(t)))}catch(e){throw Error("Malformed UTF-8 data")}},parse:function(t){return u.parse(unescape(encodeURIComponent(t)))}},f=r.BufferedBlockAlgorithm=i.extend({reset:function(){this._data=new l.init,this._nDataBytes=0},_append:function(t){"string"==typeof t&&(t=c.parse(t)),this._data.concat(t),this._nDataBytes+=t.sigBytes},_process:function(e){var n=this._data,r=n.words,o=n.sigBytes,i=this.blockSize,s=o/(4*i);s=e?t.ceil(s):t.max((0|s)-this._minBufferSize,0);if(e=s*i,o=t.min(4*e,o),e){for(var a=0;au;u++){if(16>u)i[u]=0|t[e+u];else{var c=i[u-3]^i[u-8]^i[u-14]^i[u-16];i[u]=c<<1|c>>>31}c=(r<<5|r>>>27)+a+i[u],c=20>u?c+(1518500249+(o&l|~o&s)):40>u?c+(1859775393+(o^l^s)):60>u?c+((o&l|o&s|l&s)-1894007588):c+((o^l^s)-899497514),a=s,s=l,l=o<<30|o>>>2,o=r,r=c}n[0]=n[0]+r|0,n[1]=n[1]+o|0,n[2]=n[2]+l|0,n[3]=n[3]+s|0,n[4]=n[4]+a|0},_doFinalize:function(){var t=this._data,e=t.words,n=8*this._nDataBytes,r=8*t.sigBytes;return e[r>>>5]|=128<<24-r%32,e[14+(r+64>>>9<<4)]=Math.floor(n/4294967296),e[15+(r+64>>>9<<4)]=n,t.sigBytes=4*e.length,this._process(),this._hash},clone:function(){var t=o.clone.call(this);return t._hash=this._hash.clone(),t}});t.SHA1=o._createHelper(e),t.HmacSHA1=o._createHmacHelper(e)})(),function(){var t=r,e=t.enc.Utf8;t.algo.HMAC=t.lib.Base.extend({init:function(t,n){t=this._hasher=new t.init,"string"==typeof n&&(n=e.parse(n));var r=t.blockSize,o=4*r;n.sigBytes>o&&(n=t.finalize(n)),n.clamp();for(var i=this._oKey=n.clone(),l=this._iKey=n.clone(),s=i.words,a=l.words,u=0;u\n
\n
\n 退出房间\n 解散房间\n
\n
\n\n \n\n \n\n \n \n ","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./roomFooter.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./roomFooter.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./roomFooter.vue?vue&type=template&id=7182f480&scoped=true\"\nimport script from \"./roomFooter.vue?vue&type=script&lang=js\"\nexport * from \"./roomFooter.vue?vue&type=script&lang=js\"\nimport style0 from \"./roomFooter.vue?vue&type=style&index=0&id=7182f480&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7182f480\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"roomFooter\"},[(!_vm.roleFlag)?_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.exitRoom}},[_vm._v(\"退出房间\")]):_vm._e(),(_vm.roleFlag)?_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.exitRoom}},[_vm._v(\"解散房间\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n \n\n \n \n ","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./footerPhone.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./footerPhone.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./footerPhone.vue?vue&type=template&id=63f1986e&scoped=true\"\nimport script from \"./footerPhone.vue?vue&type=script&lang=js\"\nexport * from \"./footerPhone.vue?vue&type=script&lang=js\"\nimport style0 from \"./footerPhone.vue?vue&type=style&index=0&id=63f1986e&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"63f1986e\",\n null\n \n)\n\nexport default component.exports","import './cryptojs.js';\n\nfunction formatSignString(query, params){\n let strParam = \"\";\n let signStr = \"asr.cloud.tencent.com/asr/v2/\";\n if(query['appid']){\n signStr += query['appid'];\n }\n const keys = Object.keys(params);\n keys.sort();\n for (let i = 0, len = keys.length; i < len; i++) {\n strParam += `&${keys[i]}=${params[keys[i]]}`;\n }\n return `${signStr}?${strParam.slice(1)}`;\n}\nasync function createQuery(query){\n const params = {};\n const time = new Date().getTime();\n\n async function getServerTime(){\n return new Promise((resolve, reject)=>{\n try {\n const xhr = new XMLHttpRequest();\n xhr.open(\"GET\", 'https://asr.cloud.tencent.com/server_time', true);\n xhr.send();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4 && xhr.status === 200) {\n resolve(xhr.responseText);\n }\n }\n } catch (error) {\n reject(error);\n }\n })\n }\n const serverTime = await getServerTime();\n params['secretid'] = query.secretid || '';\n params['engine_model_type'] = query.engine_model_type || '16k_zh';\n params['timestamp'] = parseInt(serverTime) || Math.round(time / 1000);\n params['expired'] = Math.round(time / 1000) + 24 * 60 * 60;\n params['nonce'] = Math.round(time / 100000);\n params['voice_id'] = guid();\n\n // 非必填参数\n query.hasOwnProperty('voice_format') && (params['voice_format'] = query.voice_format);\n query.hasOwnProperty('hotword_id') && (params['hotword_id'] = query.hotword_id);\n query.hasOwnProperty('needvad') && (params['needvad'] = query.needvad);\n query.hasOwnProperty('filter_dirty') && (params['filter_dirty'] = query.filter_dirty);\n query.hasOwnProperty('filter_modal') && (params['filter_modal'] = query.filter_modal);\n query.hasOwnProperty('filter_punc') && (params['filter_punc'] = query.filter_punc);\n query.hasOwnProperty('convert_num_mode') && (params['convert_num_mode'] = query.convert_num_mode);\n query.hasOwnProperty('word_info') && (params['word_info'] = query.word_info);\n query.hasOwnProperty('vad_silence_time') && (params['vad_silence_time'] = query.vad_silence_time);\n query.hasOwnProperty('max_speak_time') && (params['max_speak_time'] = query.max_speak_time);\n query.hasOwnProperty('token') && (params['token'] = query.token);\n\n // 处理extendParams\n if (typeof query.extend_params !== null) {\n for (let item in query.extend_params) {\n params[item] = query.extend_params[item];\n }\n }\n return params;\n}\n\nexport const guid = () => {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = Math.random() * 16 | 0,\n v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n};\n// 获取签名原文\nasync function getUrl(self, params) {\n if (!params.appid || !params.secretid) {\n self.OnError('请确认是否填入账号信息');\n return false;\n }\n const urlQuery = await createQuery(params);\n const queryStr = formatSignString(params, urlQuery);\n let signature = '';\n if (params.signCallback) {\n signature = params.signCallback(queryStr);\n } else {\n signature = signCallback(params.secretkey, queryStr);\n }\n return `wss://${queryStr}&signature=${encodeURIComponent(signature)}`;\n}\n/** 获取签名 start */\n\nfunction toUint8Array(wordArray) {\n // Shortcuts\n const words = wordArray.words;\n const sigBytes = wordArray.sigBytes;\n\n // Convert\n const u8 = new Uint8Array(sigBytes);\n for (let i = 0; i < sigBytes; i++) {\n u8[i] = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n }\n return u8;\n}\n\nfunction Uint8ArrayToString(fileData){\n let dataString = '';\n for (let i = 0; i < fileData.length; i++) {\n dataString += String.fromCharCode(fileData[i]);\n }\n return dataString;\n}\n// 签名函数示例\nfunction signCallback(secretKey, signStr) {\n const hash = window.CryptoJSTest.HmacSHA1(signStr, secretKey);\n const bytes = Uint8ArrayToString(toUint8Array(hash));\n return window.btoa(bytes);\n}\n\n/** 获取签名 end */\n\nconst TAG = 'SpeechRecognizer';\nexport class SpeechRecognizer {\n constructor(params, requestId, isLog) {\n this.socket = null;\n this.isSignSuccess = false; // 是否鉴权成功\n this.isSentenceBegin = false; // 是否一句话开始\n this.query = {\n ...params\n };\n this.isRecognizeComplete = false; // 当前是否识别结束\n this.requestId = requestId;\n this.isLog = isLog;\n this.sendCount = 0;\n this.getMessageList = [];\n }\n // 暂停识别,关闭连接\n stop() {\n if (this.socket && this.socket.readyState === 1) {\n this.socket.send(JSON.stringify({type: 'end'}));\n this.isRecognizeComplete = true;\n } else {\n this.OnError({ code : 6003, message: '连接未建立或连接已关闭' });\n if (this.socket && this.socket.readyState === 1) {\n this.socket.close();\n }\n }\n }\n // 建立websocket链接 data 为用户收集的音频数据\n async start(){\n this.socket = null;\n this.getMessageList = [];\n const url = await getUrl(this, this.query);\n if (!url) {\n this.OnError('鉴权失败');\n return\n }\n this.isLog && console.log(this.requestId, 'get ws url', url, TAG);\n if ('WebSocket' in window) {\n this.socket = new WebSocket(url);\n } else if ('MozWebSocket' in window) {\n this.socket = new MozWebSocket(url);\n } else {\n this.OnError('浏览器不支持WebSocket');\n return\n }\n this.socket.onopen = (e) => { // 连接建立时触发\n this.isLog && console.log(this.requestId, '连接建立', e, TAG);\n };\n this.socket.onmessage = async (e) => { // 连接建立时触发\n try {\n this.getMessageList.push(JSON.stringify(e));\n const response = JSON.parse(e.data);\n if (response.code !== 0) {\n if (this.socket.readyState === 1) {\n this.socket.close();\n }\n this.OnError(response);\n } else {\n if (!this.isSignSuccess) {\n this.OnRecognitionStart(response);\n this.isSignSuccess = true;\n }\n if (response.final === 1) {\n this.OnRecognitionComplete(response);\n return;\n }\n if (response.result) {\n if (response.result.slice_type === 0) {\n this.OnSentenceBegin(response);\n this.isSentenceBegin = true;\n } else if (response.result.slice_type === 2) {\n if (!this.isSentenceBegin) {\n this.OnSentenceBegin(response);\n }\n this.OnSentenceEnd(response);\n } else {\n this.OnRecognitionResultChange(response);\n }\n }\n }\n } catch (e) {\n this.isLog && console.log(this.requestId, 'socket.onmessage catch error', JSON.stringify(e), TAG);\n }\n\n };\n this.socket.onerror = (e) => { // 通信发生错误时触发\n this.isLog && console.log(this.requestId, 'socket error callback', e, TAG);\n this.socket.close();\n this.OnError(e);\n }\n this.socket.onclose = (event) => {\n try {\n if (!this.isRecognizeComplete) {\n this.isLog && console.log(this.requestId, 'socket is close and error', JSON.stringify(event), TAG);\n this.OnError(event);\n }\n } catch (e) {\n this.isLog && console.log(this.requestId, 'socket is onclose catch' + this.sendCount, JSON.stringify(e), TAG);\n }\n }\n }\n close() {\n this.socket && this.socket.close(1000);\n }\n // 发送数据\n write(data) {\n try {\n if (!this.socket || String(this.socket.readyState) !== '1') {\n setTimeout(() => {\n if (!this.socket || this.socket.readyState !== 1) {\n this.socket.send(data);\n }\n }, 40);\n this.OnError({ code : 6001, message: '连接未建立,请稍后发送数据!' });\n }\n this.sendCount += 1;\n this.socket.send(data);\n } catch (e) {\n this.isLog && console.log(this.requestId , '发送数据 error catch', e, TAG);\n }\n };\n // 开始识别的时候\n OnRecognitionStart(res) {\n\n }\n // 一句话开始的时候\n OnSentenceBegin(res) {\n\n }\n // 识别结果发生变化的时候\n OnRecognitionResultChange() {\n\n }\n // 一句话结束的时候\n OnSentenceEnd() {\n\n }\n // 识别结束的时候\n OnRecognitionComplete() {\n\n }\n // 识别失败\n OnError() {\n\n }\n}","import {SpeechRecognizer } from './speechrecognizer.js';\n\nconst audioWorkletCode = `\nclass MyProcessor extends AudioWorkletProcessor {\n constructor(options) {\n super(options);\n this.audioData = [];\n this.nextUpdateFrame = 40;\n }\n\n get intervalInFrames() {\n return 40 / 1000 * sampleRate;\n }\n\n process(inputs) {\n // 去处理音频数据\n // eslint-disable-next-line no-undef\n const output = ${to16kHz}(inputs[0][0], sampleRate);\n const audioData = ${to16BitPCM}(output);\n const data = [...new Int8Array(audioData.buffer)];\n this.audioData = this.audioData.concat(data);\n this.nextUpdateFrame -= inputs[0][0].length;\n if (this.nextUpdateFrame < 0) {\n this.nextUpdateFrame += this.intervalInFrames;\n this.port.postMessage({\n audioData: new Int8Array(this.audioData)\n });\n this.audioData = [];\n }\n return true;\n }\n}\n\nregisterProcessor('my-processor', MyProcessor);\n`;\nconst audioWorkletBlobURL = window.URL.createObjectURL(new Blob([audioWorkletCode], { type: 'text/javascript' }));\n\nexport default class ASR {\n constructor(options) {\n this.audioTrack = options.audioTrack;\n this.audioContext = new (window.AudioContext || window.webkitAudioContext)();\n this.speechRecognizer = null;\n this.isCanSendData = false;\n this.audioData = [];\n this.secretkey = options.secretKey;\n this.params = {\n secretid: options.secretId,\n appid: options.appId,\n engine_model_type: options.engine_model_type || '16k_zh',\n voice_format: options.voice_format || 1,\n // hotword_id: options.hotword_id,\n needvad: options.needvad,\n // filter_dirty: options.filter_dirty,\n // filter_modal: options.filter_modal,\n // filter_punc: options.filter_punc,\n // convert_num_mode: options.convert_num_mode,\n // word_info: options.word_info,\n // token: options.token,\n };\n this.OnRecognitionStart = function () {};\n this.OnSentenceBegin = function () {};\n this.OnRecognitionResultChange = function () {};\n this.OnSentenceEnd = function () {};\n this.OnRecognitionComplete = function () {};\n this.OnError = function () {};\n this.OnChange = function () {};\n }\n signCallback(signStr) {\n const secretKey = this.secretkey;\n const hash = window.CryptoJSTest.HmacSHA1(signStr, secretKey);\n const bytes = Uint8ArrayToString(toUint8Array(hash));\n return window.btoa(bytes);\n }\n start() {\n if (!this.speechRecognizer) {\n const params = {\n // 用户参数\n signCallback: this.signCallback.bind(this),\n ...this.params,\n };\n this.speechRecognizer = new SpeechRecognizer(params);\n }\n\n // 开始识别\n this.speechRecognizer.OnRecognitionStart = (res) => {\n this.isCanSendData = true;\n this.OnRecognitionStart(res);\n };\n // 一句话开始\n this.speechRecognizer.OnSentenceBegin = (res) => {\n this.OnSentenceBegin(res);\n this.OnChange(res);\n };\n // 识别变化时\n this.speechRecognizer.OnRecognitionResultChange = (res) => {\n this.OnRecognitionResultChange(res);\n this.OnChange(res);\n };\n // 一句话结束\n this.speechRecognizer.OnSentenceEnd = (res) => {\n this.OnSentenceEnd(res);\n this.OnChange(res);\n };\n // 识别结束\n this.speechRecognizer.OnRecognitionComplete = (res) => {\n this.OnRecognitionComplete(res);\n };\n // 识别错误\n this.speechRecognizer.OnError = (res) => {\n this.isCanSendData = false;\n this.OnError(res);\n };\n\n // 建立连接\n this.speechRecognizer.start();\n this.getAudioData();\n }\n getAudioData() {\n const mediaStream = new MediaStream();\n mediaStream.addTrack(this.audioTrack);\n const mediaStreamSource = this.audioContext.createMediaStreamSource(mediaStream); // 将声音对象输入这个对象\n if (this.audioContext.audioWorklet) {\n this.audioContext.audioWorklet.addModule(audioWorkletBlobURL).then(() => {\n const myNode = new AudioWorkletNode(this.audioContext, 'my-processor', { numberOfInputs: 1, numberOfOutputs: 1, channelCount: 1 });\n myNode.port.onmessage = (event) => {\n if (this.isCanSendData) {\n this.speechRecognizer.write(event.data.audioData);\n }\n };\n mediaStreamSource.connect(myNode).connect(this.audioContext.destination);\n })\n .catch(console.error);\n } else {\n // 创建一个音频分析对象,采样的缓冲区大小为0(自动适配),输入和输出都是单声道\n const scriptProcessor = this.audioContext.createScriptProcessor(0, 1, 1);\n scriptProcessor.onaudioprocess = (e) => {\n // 去处理音频数据\n const inputData = e.inputBuffer.getChannelData(0);\n const output = to16kHz(inputData, this.audioContext.sampleRate);\n const audioData = to16BitPCM(output);\n this.audioData.push(...new Int8Array(audioData.buffer));\n if (this.audioData.length > 1280) {\n if (this.isCanSendData) {\n const audioDataArray = new Int8Array(this.audioData);\n this.speechRecognizer.write(audioDataArray);\n this.audioData = [];\n }\n }\n };\n // 连接\n mediaStreamSource.connect(scriptProcessor);\n scriptProcessor.connect(this.audioContext.destination);\n }\n }\n stop() {\n this.speechRecognizer.stop();\n this.audioContext && this.audioContext.suspend();\n }\n}\nwindow && (window.ASR = ASR);\n\nfunction toUint8Array(wordArray) {\n // Shortcuts\n\n const { words } = wordArray;\n const { sigBytes } = wordArray;\n\n // Convert\n const u8 = new Uint8Array(sigBytes);\n for (let i = 0; i < sigBytes; i++) {\n u8[i] = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n }\n return u8;\n}\n\nfunction Uint8ArrayToString(fileData) {\n let dataString = '';\n for (let i = 0; i < fileData.length; i++) {\n dataString += String.fromCharCode(fileData[i]);\n }\n return dataString;\n}\nfunction to16BitPCM(input) {\n const dataLength = input.length * (16 / 8);\n const dataBuffer = new ArrayBuffer(dataLength);\n const dataView = new DataView(dataBuffer);\n let offset = 0;\n for (let i = 0; i < input.length; i++, offset += 2) {\n const s = Math.max(-1, Math.min(1, input[i]));\n dataView.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true);\n }\n return dataView;\n}\nfunction to16kHz(audioData, sampleRate = 44100) {\n const data = new Float32Array(audioData);\n const fitCount = Math.round(data.length * (16000 / sampleRate));\n const newData = new Float32Array(fitCount);\n const springFactor = (data.length - 1) / (fitCount - 1);\n newData[0] = data[0];\n for (let i = 1; i < fitCount - 1; i++) {\n const tmp = i * springFactor;\n const before = Math.floor(tmp).toFixed();\n const after = Math.ceil(tmp).toFixed();\n const atPoint = tmp - before;\n newData[i] = data[before] + (data[after] - data[before]) * atPoint;\n }\n newData[fitCount - 1] = data[data.length - 1];\n return newData;\n}","\n \n\n \n\n \n \n ","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./room.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./room.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./room.vue?vue&type=template&id=124d014f&scoped=true\"\nimport script from \"./room.vue?vue&type=script&lang=js\"\nexport * from \"./room.vue?vue&type=script&lang=js\"\nimport style0 from \"./room.vue?vue&type=style&index=0&id=124d014f&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"124d014f\",\n null\n \n)\n\nexport default component.exports","/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Quill\"] = factory();\n\telse\n\t\troot[\"Quill\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 109);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar format_1 = __webpack_require__(18);\nvar leaf_1 = __webpack_require__(19);\nvar scroll_1 = __webpack_require__(45);\nvar inline_1 = __webpack_require__(46);\nvar block_1 = __webpack_require__(47);\nvar embed_1 = __webpack_require__(48);\nvar text_1 = __webpack_require__(49);\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar store_1 = __webpack_require__(31);\nvar Registry = __webpack_require__(1);\nvar Parchment = {\n Scope: Registry.Scope,\n create: Registry.create,\n find: Registry.find,\n query: Registry.query,\n register: Registry.register,\n Container: container_1.default,\n Format: format_1.default,\n Leaf: leaf_1.default,\n Embed: embed_1.default,\n Scroll: scroll_1.default,\n Block: block_1.default,\n Inline: inline_1.default,\n Text: text_1.default,\n Attributor: {\n Attribute: attributor_1.default,\n Class: class_1.default,\n Style: style_1.default,\n Store: store_1.default,\n },\n};\nexports.default = Parchment;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ParchmentError = /** @class */ (function (_super) {\n __extends(ParchmentError, _super);\n function ParchmentError(message) {\n var _this = this;\n message = '[Parchment] ' + message;\n _this = _super.call(this, message) || this;\n _this.message = message;\n _this.name = _this.constructor.name;\n return _this;\n }\n return ParchmentError;\n}(Error));\nexports.ParchmentError = ParchmentError;\nvar attributes = {};\nvar classes = {};\nvar tags = {};\nvar types = {};\nexports.DATA_KEY = '__blot';\nvar Scope;\n(function (Scope) {\n Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n})(Scope = exports.Scope || (exports.Scope = {}));\nfunction create(input, value) {\n var match = query(input);\n if (match == null) {\n throw new ParchmentError(\"Unable to create \" + input + \" blot\");\n }\n var BlotClass = match;\n var node = \n // @ts-ignore\n input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\n return new BlotClass(node, value);\n}\nexports.create = create;\nfunction find(node, bubble) {\n if (bubble === void 0) { bubble = false; }\n if (node == null)\n return null;\n // @ts-ignore\n if (node[exports.DATA_KEY] != null)\n return node[exports.DATA_KEY].blot;\n if (bubble)\n return find(node.parentNode, bubble);\n return null;\n}\nexports.find = find;\nfunction query(query, scope) {\n if (scope === void 0) { scope = Scope.ANY; }\n var match;\n if (typeof query === 'string') {\n match = types[query] || attributes[query];\n // @ts-ignore\n }\n else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n match = types['text'];\n }\n else if (typeof query === 'number') {\n if (query & Scope.LEVEL & Scope.BLOCK) {\n match = types['block'];\n }\n else if (query & Scope.LEVEL & Scope.INLINE) {\n match = types['inline'];\n }\n }\n else if (query instanceof HTMLElement) {\n var names = (query.getAttribute('class') || '').split(/\\s+/);\n for (var i in names) {\n match = classes[names[i]];\n if (match)\n break;\n }\n match = match || tags[query.tagName];\n }\n if (match == null)\n return null;\n // @ts-ignore\n if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)\n return match;\n return null;\n}\nexports.query = query;\nfunction register() {\n var Definitions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n Definitions[_i] = arguments[_i];\n }\n if (Definitions.length > 1) {\n return Definitions.map(function (d) {\n return register(d);\n });\n }\n var Definition = Definitions[0];\n if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\n throw new ParchmentError('Invalid definition');\n }\n else if (Definition.blotName === 'abstract') {\n throw new ParchmentError('Cannot register abstract class');\n }\n types[Definition.blotName || Definition.attrName] = Definition;\n if (typeof Definition.keyName === 'string') {\n attributes[Definition.keyName] = Definition;\n }\n else {\n if (Definition.className != null) {\n classes[Definition.className] = Definition;\n }\n if (Definition.tagName != null) {\n if (Array.isArray(Definition.tagName)) {\n Definition.tagName = Definition.tagName.map(function (tagName) {\n return tagName.toUpperCase();\n });\n }\n else {\n Definition.tagName = Definition.tagName.toUpperCase();\n }\n var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\n tagNames.forEach(function (tag) {\n if (tags[tag] == null || Definition.className == null) {\n tags[tag] = Definition;\n }\n });\n }\n }\n return Definition;\n}\nexports.register = register;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar diff = __webpack_require__(51);\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\nvar op = __webpack_require__(20);\n\n\nvar NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\n\n\nvar Delta = function (ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n } else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n } else {\n this.ops = [];\n }\n};\n\n\nDelta.prototype.insert = function (text, attributes) {\n var newOp = {};\n if (text.length === 0) return this;\n newOp.insert = text;\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype['delete'] = function (length) {\n if (length <= 0) return this;\n return this.push({ 'delete': length });\n};\n\nDelta.prototype.retain = function (length, attributes) {\n if (length <= 0) return this;\n var newOp = { retain: length };\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype.push = function (newOp) {\n var index = this.ops.length;\n var lastOp = this.ops[index - 1];\n newOp = extend(true, {}, newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\n this.ops[index - 1] = { 'delete': lastOp['delete'] + newOp['delete'] };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (equal(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n } else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n};\n\nDelta.prototype.chop = function () {\n var lastOp = this.ops[this.ops.length - 1];\n if (lastOp && lastOp.retain && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n};\n\nDelta.prototype.filter = function (predicate) {\n return this.ops.filter(predicate);\n};\n\nDelta.prototype.forEach = function (predicate) {\n this.ops.forEach(predicate);\n};\n\nDelta.prototype.map = function (predicate) {\n return this.ops.map(predicate);\n};\n\nDelta.prototype.partition = function (predicate) {\n var passed = [], failed = [];\n this.forEach(function(op) {\n var target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n};\n\nDelta.prototype.reduce = function (predicate, initial) {\n return this.ops.reduce(predicate, initial);\n};\n\nDelta.prototype.changeLength = function () {\n return this.reduce(function (length, elem) {\n if (elem.insert) {\n return length + op.length(elem);\n } else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n};\n\nDelta.prototype.length = function () {\n return this.reduce(function (length, elem) {\n return length + op.length(elem);\n }, 0);\n};\n\nDelta.prototype.slice = function (start, end) {\n start = start || 0;\n if (typeof end !== 'number') end = Infinity;\n var ops = [];\n var iter = op.iterator(this.ops);\n var index = 0;\n while (index < end && iter.hasNext()) {\n var nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n } else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += op.length(nextOp);\n }\n return new Delta(ops);\n};\n\n\nDelta.prototype.compose = function (other) {\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var ops = [];\n var firstOther = otherIter.peek();\n if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {\n var firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n var delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (typeof otherOp.retain === 'number') {\n var newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain = length;\n } else {\n newOp.insert = thisOp.insert;\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) newOp.attributes = attributes;\n delta.push(newOp);\n\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {\n var rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.concat = function (other) {\n var delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n};\n\nDelta.prototype.diff = function (other, index) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n var strings = [this, other].map(function (delta) {\n return delta.map(function (op) {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n var prep = (delta === other) ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n }).join('');\n });\n var delta = new Delta();\n var diffResult = diff(strings[0], strings[1], index);\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n diffResult.forEach(function (component) {\n var length = component[1].length;\n while (length > 0) {\n var opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n delta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n delta['delete'](opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n var thisOp = thisIter.next(opLength);\n var otherOp = otherIter.next(opLength);\n if (equal(thisOp.insert, otherOp.insert)) {\n delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\n } else {\n delta.push(otherOp)['delete'](opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return delta.chop();\n};\n\nDelta.prototype.eachLine = function (predicate, newline) {\n newline = newline || '\\n';\n var iter = op.iterator(this.ops);\n var line = new Delta();\n var i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') return;\n var thisOp = iter.peek();\n var start = op.length(thisOp) - iter.peekLength();\n var index = typeof thisOp.insert === 'string' ?\n thisOp.insert.indexOf(newline, start) - start : -1;\n if (index < 0) {\n line.push(iter.next());\n } else if (index > 0) {\n line.push(iter.next(index));\n } else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n};\n\nDelta.prototype.transform = function (other, priority) {\n priority = !!priority;\n if (typeof other === 'number') {\n return this.transformPosition(other, priority);\n }\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(op.length(thisIter.next()));\n } else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (thisOp['delete']) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n } else if (otherOp['delete']) {\n delta.push(otherOp);\n } else {\n // We retain either their retain or insert\n delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.transformPosition = function (index, priority) {\n priority = !!priority;\n var thisIter = op.iterator(this.ops);\n var offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n var length = thisIter.peekLength();\n var nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n } else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n};\n\n\nmodule.exports = Delta;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NEWLINE_LENGTH = 1;\n\nvar BlockEmbed = function (_Parchment$Embed) {\n _inherits(BlockEmbed, _Parchment$Embed);\n\n function BlockEmbed() {\n _classCallCheck(this, BlockEmbed);\n\n return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\n }\n\n _createClass(BlockEmbed, [{\n key: 'attach',\n value: function attach() {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);\n this.attributes = new _parchment2.default.Attributor.Store(this.domNode);\n }\n }, {\n key: 'delta',\n value: function delta() {\n return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);\n if (attribute != null) {\n this.attributes.attribute(attribute, value);\n }\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n this.format(name, value);\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (typeof value === 'string' && value.endsWith('\\n')) {\n var block = _parchment2.default.create(Block.blotName);\n this.parent.insertBefore(block, index === 0 ? this : this.next);\n block.insertAt(0, value.slice(0, -1));\n } else {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);\n }\n }\n }]);\n\n return BlockEmbed;\n}(_parchment2.default.Embed);\n\nBlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n\nvar Block = function (_Parchment$Block) {\n _inherits(Block, _Parchment$Block);\n\n function Block(domNode) {\n _classCallCheck(this, Block);\n\n var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\n\n _this2.cache = {};\n return _this2;\n }\n\n _createClass(Block, [{\n key: 'delta',\n value: function delta() {\n if (this.cache.delta == null) {\n this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {\n if (leaf.length() === 0) {\n return delta;\n } else {\n return delta.insert(leaf.value(), bubbleFormats(leaf));\n }\n }, new _quillDelta2.default()).insert('\\n', bubbleFormats(this));\n }\n return this.cache.delta;\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);\n this.cache = {};\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);\n if (value.length === 0) return;\n var lines = value.split('\\n');\n var text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n var block = this;\n lines.reduce(function (index, line) {\n block = block.split(index, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n var head = this.children.head;\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);\n if (head instanceof _break2.default) {\n head.remove();\n }\n this.cache = {};\n }\n }, {\n key: 'length',\n value: function length() {\n if (this.cache.length == null) {\n this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n }, {\n key: 'moveChildren',\n value: function moveChildren(target, ref) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);\n this.cache = {};\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);\n this.cache = {};\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);\n }\n }, {\n key: 'removeChild',\n value: function removeChild(child) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);\n this.cache = {};\n }\n }, {\n key: 'split',\n value: function split(index) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n var clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n } else {\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n } else {\n var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);\n this.cache = {};\n return next;\n }\n }\n }]);\n\n return Block;\n}(_parchment2.default.Block);\n\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = 'break';\nBlock.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\n\nfunction bubbleFormats(blot) {\n var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (blot == null) return formats;\n if (typeof blot.formats === 'function') {\n formats = (0, _extend2.default)(formats, blot.formats());\n }\n if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats);\n}\n\nexports.bubbleFormats = bubbleFormats;\nexports.BlockEmbed = BlockEmbed;\nexports.default = Block;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.overload = exports.expandConfig = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n__webpack_require__(50);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _editor = __webpack_require__(14);\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _selection = __webpack_require__(15);\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill');\n\nvar Quill = function () {\n _createClass(Quill, null, [{\n key: 'debug',\n value: function debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n _logger2.default.level(limit);\n }\n }, {\n key: 'find',\n value: function find(node) {\n return node.__quill || _parchment2.default.find(node);\n }\n }, {\n key: 'import',\n value: function _import(name) {\n if (this.imports[name] == null) {\n debug.error('Cannot import ' + name + '. Are you sure it was registered?');\n }\n return this.imports[name];\n }\n }, {\n key: 'register',\n value: function register(path, target) {\n var _this = this;\n\n var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (typeof path !== 'string') {\n var name = path.attrName || path.blotName;\n if (typeof name === 'string') {\n // register(Blot | Attributor, overwrite)\n this.register('formats/' + name, path, target);\n } else {\n Object.keys(path).forEach(function (key) {\n _this.register(key, path[key], target);\n });\n }\n } else {\n if (this.imports[path] != null && !overwrite) {\n debug.warn('Overwriting ' + path + ' with', target);\n }\n this.imports[path] = target;\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\n _parchment2.default.register(target);\n } else if (path.startsWith('modules') && typeof target.register === 'function') {\n target.register();\n }\n }\n }\n }]);\n\n function Quill(container) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Quill);\n\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n if (this.container == null) {\n return debug.error('Invalid Quill container', container);\n }\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n var html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n this.container.__quill = this;\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.root.setAttribute('data-gramm', false);\n this.scrollingContainer = this.options.scrollingContainer || this.root;\n this.emitter = new _emitter4.default();\n this.scroll = _parchment2.default.create(this.root, {\n emitter: this.emitter,\n whitelist: this.options.formats\n });\n this.editor = new _editor2.default(this.scroll);\n this.selection = new _selection2.default(this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options);\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.theme.init();\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {\n if (type === _emitter4.default.events.TEXT_CHANGE) {\n _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {\n var range = _this2.selection.lastRange;\n var index = range && range.length === 0 ? range.index : undefined;\n modify.call(_this2, function () {\n return _this2.editor.update(null, mutations, index);\n }, source);\n });\n var contents = this.clipboard.convert('
' + html + '


');\n this.setContents(contents);\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n }\n\n _createClass(Quill, [{\n key: 'addContainer',\n value: function addContainer(container) {\n var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (typeof container === 'string') {\n var className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n }, {\n key: 'blur',\n value: function blur() {\n this.selection.setRange(null);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length, source) {\n var _this3 = this;\n\n var _overload = overload(index, length, source);\n\n var _overload2 = _slicedToArray(_overload, 4);\n\n index = _overload2[0];\n length = _overload2[1];\n source = _overload2[3];\n\n return modify.call(this, function () {\n return _this3.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n }, {\n key: 'disable',\n value: function disable() {\n this.enable(false);\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n }, {\n key: 'focus',\n value: function focus() {\n var scrollTop = this.scrollingContainer.scrollTop;\n this.selection.focus();\n this.scrollingContainer.scrollTop = scrollTop;\n this.scrollIntoView();\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var _this4 = this;\n\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n var range = _this4.getSelection(true);\n var change = new _quillDelta2.default();\n if (range == null) {\n return change;\n } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n } else if (range.length === 0) {\n _this4.selection.format(name, value);\n return change;\n } else {\n change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n }\n _this4.setSelection(range, _emitter4.default.sources.SILENT);\n return change;\n }, source);\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length, name, value, source) {\n var _this5 = this;\n\n var formats = void 0;\n\n var _overload3 = overload(index, length, name, value, source);\n\n var _overload4 = _slicedToArray(_overload3, 4);\n\n index = _overload4[0];\n length = _overload4[1];\n formats = _overload4[2];\n source = _overload4[3];\n\n return modify.call(this, function () {\n return _this5.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length, name, value, source) {\n var _this6 = this;\n\n var formats = void 0;\n\n var _overload5 = overload(index, length, name, value, source);\n\n var _overload6 = _slicedToArray(_overload5, 4);\n\n index = _overload6[0];\n length = _overload6[1];\n formats = _overload6[2];\n source = _overload6[3];\n\n return modify.call(this, function () {\n return _this6.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var bounds = void 0;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n var containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n }, {\n key: 'getContents',\n value: function getContents() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload7 = overload(index, length);\n\n var _overload8 = _slicedToArray(_overload7, 2);\n\n index = _overload8[0];\n length = _overload8[1];\n\n return this.editor.getContents(index, length);\n }\n }, {\n key: 'getFormat',\n value: function getFormat() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n } else {\n return this.editor.getFormat(index.index, index.length);\n }\n }\n }, {\n key: 'getIndex',\n value: function getIndex(blot) {\n return blot.offset(this.scroll);\n }\n }, {\n key: 'getLength',\n value: function getLength() {\n return this.scroll.length();\n }\n }, {\n key: 'getLeaf',\n value: function getLeaf(index) {\n return this.scroll.leaf(index);\n }\n }, {\n key: 'getLine',\n value: function getLine(index) {\n return this.scroll.line(index);\n }\n }, {\n key: 'getLines',\n value: function getLines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n } else {\n return this.scroll.lines(index, length);\n }\n }\n }, {\n key: 'getModule',\n value: function getModule(name) {\n return this.theme.modules[name];\n }\n }, {\n key: 'getSelection',\n value: function getSelection() {\n var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n }, {\n key: 'getText',\n value: function getText() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload9 = overload(index, length);\n\n var _overload10 = _slicedToArray(_overload9, 2);\n\n index = _overload10[0];\n length = _overload10[1];\n\n return this.editor.getText(index, length);\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return this.selection.hasFocus();\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n var _this7 = this;\n\n var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n\n return modify.call(this, function () {\n return _this7.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text, name, value, source) {\n var _this8 = this;\n\n var formats = void 0;\n\n var _overload11 = overload(index, 0, name, value, source);\n\n var _overload12 = _slicedToArray(_overload11, 4);\n\n index = _overload12[0];\n formats = _overload12[2];\n source = _overload12[3];\n\n return modify.call(this, function () {\n return _this8.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n }, {\n key: 'isEnabled',\n value: function isEnabled() {\n return !this.container.classList.contains('ql-disabled');\n }\n }, {\n key: 'off',\n value: function off() {\n return this.emitter.off.apply(this.emitter, arguments);\n }\n }, {\n key: 'on',\n value: function on() {\n return this.emitter.on.apply(this.emitter, arguments);\n }\n }, {\n key: 'once',\n value: function once() {\n return this.emitter.once.apply(this.emitter, arguments);\n }\n }, {\n key: 'pasteHTML',\n value: function pasteHTML(index, html, source) {\n this.clipboard.dangerouslyPasteHTML(index, html, source);\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length, source) {\n var _this9 = this;\n\n var _overload13 = overload(index, length, source);\n\n var _overload14 = _slicedToArray(_overload13, 4);\n\n index = _overload14[0];\n length = _overload14[1];\n source = _overload14[3];\n\n return modify.call(this, function () {\n return _this9.editor.removeFormat(index, length);\n }, source, index);\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView() {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }, {\n key: 'setContents',\n value: function setContents(delta) {\n var _this10 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n var length = _this10.getLength();\n var deleted = _this10.editor.deleteText(0, length);\n var applied = _this10.editor.applyDelta(delta);\n var lastOp = applied.ops[applied.ops.length - 1];\n if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\n') {\n _this10.editor.deleteText(_this10.getLength() - 1, 1);\n applied.delete(1);\n }\n var ret = deleted.compose(applied);\n return ret;\n }, source);\n }\n }, {\n key: 'setSelection',\n value: function setSelection(index, length, source) {\n if (index == null) {\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n var _overload15 = overload(index, length, source);\n\n var _overload16 = _slicedToArray(_overload15, 4);\n\n index = _overload16[0];\n length = _overload16[1];\n source = _overload16[3];\n\n this.selection.setRange(new _selection.Range(index, length), source);\n if (source !== _emitter4.default.sources.SILENT) {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }\n }\n }, {\n key: 'setText',\n value: function setText(text) {\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n var delta = new _quillDelta2.default().insert(text);\n return this.setContents(delta, source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n this.selection.update(source);\n return change;\n }\n }, {\n key: 'updateContents',\n value: function updateContents(delta) {\n var _this11 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n return _this11.editor.applyDelta(delta, source);\n }, source, true);\n }\n }]);\n\n return Quill;\n}();\n\nQuill.DEFAULTS = {\n bounds: null,\n formats: null,\n modules: {},\n placeholder: '',\n readOnly: false,\n scrollingContainer: null,\n strict: true,\n theme: 'default'\n};\nQuill.events = _emitter4.default.events;\nQuill.sources = _emitter4.default.sources;\n// eslint-disable-next-line no-undef\nQuill.version = false ? 'dev' : \"1.3.7\";\n\nQuill.imports = {\n 'delta': _quillDelta2.default,\n 'parchment': _parchment2.default,\n 'core/module': _module2.default,\n 'core/theme': _theme2.default\n};\n\nfunction expandConfig(container, userConfig) {\n userConfig = (0, _extend2.default)(true, {\n container: container,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true\n }\n }, userConfig);\n if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n userConfig.theme = _theme2.default;\n } else {\n userConfig.theme = Quill.import('themes/' + userConfig.theme);\n if (userConfig.theme == null) {\n throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\n }\n }\n var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\n [themeConfig, userConfig].forEach(function (config) {\n config.modules = config.modules || {};\n Object.keys(config.modules).forEach(function (module) {\n if (config.modules[module] === true) {\n config.modules[module] = {};\n }\n });\n });\n var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n var moduleConfig = moduleNames.reduce(function (config, name) {\n var moduleClass = Quill.import('modules/' + name);\n if (moduleClass == null) {\n debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\n } else {\n config[name] = moduleClass.DEFAULTS || {};\n }\n return config;\n }, {});\n // Special case toolbar shorthand\n if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n userConfig.modules.toolbar = {\n container: userConfig.modules.toolbar\n };\n }\n userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig);\n ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n if (typeof userConfig[key] === 'string') {\n userConfig[key] = document.querySelector(userConfig[key]);\n }\n });\n userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n if (userConfig.modules[name]) {\n config[name] = userConfig.modules[name];\n }\n return config;\n }, {});\n return userConfig;\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\n return new _quillDelta2.default();\n }\n var range = index == null ? null : this.getSelection();\n var oldDelta = this.editor.delta;\n var change = modifier();\n if (range != null) {\n if (index === true) index = range.index;\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, _emitter4.default.sources.SILENT);\n }\n if (change.length() > 0) {\n var _emitter;\n\n var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n return change;\n}\n\nfunction overload(index, length, name, value, source) {\n var formats = {};\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n source = value, value = name, name = length, length = index.length, index = index.index;\n } else {\n length = index.length, index = index.index;\n }\n } else if (typeof length !== 'number') {\n source = value, value = name, name = length, length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n formats = name;\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n source = name;\n }\n }\n // Handle optional source\n source = source || _emitter4.default.sources.API;\n return [index, length, formats, source];\n}\n\nfunction shiftRange(range, index, length, source) {\n if (range == null) return null;\n var start = void 0,\n end = void 0;\n if (index instanceof _quillDelta2.default) {\n var _map = [range.index, range.index + range.length].map(function (pos) {\n return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n } else {\n var _map3 = [range.index, range.index + range.length].map(function (pos) {\n if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n } else {\n return Math.max(index, pos + length);\n }\n });\n\n var _map4 = _slicedToArray(_map3, 2);\n\n start = _map4[0];\n end = _map4[1];\n }\n return new _selection.Range(start, end - start);\n}\n\nexports.expandConfig = expandConfig;\nexports.overload = overload;\nexports.default = Quill;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Inline = function (_Parchment$Inline) {\n _inherits(Inline, _Parchment$Inline);\n\n function Inline() {\n _classCallCheck(this, Inline);\n\n return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n }\n\n _createClass(Inline, [{\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\n var blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n var parent = this.parent.isolate(this.offset(), this.length());\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n }], [{\n key: 'compare',\n value: function compare(self, other) {\n var selfIndex = Inline.order.indexOf(self);\n var otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n } else if (self === other) {\n return 0;\n } else if (self < other) {\n return -1;\n } else {\n return 1;\n }\n }\n }]);\n\n return Inline;\n}(_parchment2.default.Inline);\n\nInline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = ['cursor', 'inline', // Must be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n];\n\nexports.default = Inline;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TextBlot = function (_Parchment$Text) {\n _inherits(TextBlot, _Parchment$Text);\n\n function TextBlot() {\n _classCallCheck(this, TextBlot);\n\n return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n }\n\n return TextBlot;\n}(_parchment2.default.Text);\n\nexports.default = TextBlot;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _eventemitter = __webpack_require__(54);\n\nvar _eventemitter2 = _interopRequireDefault(_eventemitter);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:events');\n\nvar EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\n\nEVENTS.forEach(function (eventName) {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {\n // TODO use WeakMap\n if (node.__quill && node.__quill.emitter) {\n var _node$__quill$emitter;\n\n (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\n }\n });\n });\n});\n\nvar Emitter = function (_EventEmitter) {\n _inherits(Emitter, _EventEmitter);\n\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n\n _this.listeners = {};\n _this.on('error', debug.error);\n return _this;\n }\n\n _createClass(Emitter, [{\n key: 'emit',\n value: function emit() {\n debug.log.apply(debug, arguments);\n _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\n }\n }, {\n key: 'handleDOM',\n value: function handleDOM(event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (this.listeners[event.type] || []).forEach(function (_ref) {\n var node = _ref.node,\n handler = _ref.handler;\n\n if (event.target === node || node.contains(event.target)) {\n handler.apply(undefined, [event].concat(args));\n }\n });\n }\n }, {\n key: 'listenDOM',\n value: function listenDOM(eventName, node, handler) {\n if (!this.listeners[eventName]) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName].push({ node: node, handler: handler });\n }\n }]);\n\n return Emitter;\n}(_eventemitter2.default);\n\nEmitter.events = {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change'\n};\nEmitter.sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n};\n\nexports.default = Emitter;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Module = function Module(quill) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Module);\n\n this.quill = quill;\n this.options = options;\n};\n\nModule.DEFAULTS = {};\n\nexports.default = Module;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar levels = ['error', 'warn', 'log', 'info'];\nvar level = 'warn';\n\nfunction debug(method) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n var _console;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n }\n}\n\nfunction namespace(ns) {\n return levels.reduce(function (logger, method) {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\n\ndebug.level = namespace.level = function (newLevel) {\n level = newLevel;\n};\n\nexports.default = namespace;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(52);\nvar isArguments = __webpack_require__(53);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar Attributor = /** @class */ (function () {\n function Attributor(attrName, keyName, options) {\n if (options === void 0) { options = {}; }\n this.attrName = attrName;\n this.keyName = keyName;\n var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n if (options.scope != null) {\n // Ignore type bits, force attribute bit\n this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;\n }\n else {\n this.scope = Registry.Scope.ATTRIBUTE;\n }\n if (options.whitelist != null)\n this.whitelist = options.whitelist;\n }\n Attributor.keys = function (node) {\n return [].map.call(node.attributes, function (item) {\n return item.name;\n });\n };\n Attributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n node.setAttribute(this.keyName, value);\n return true;\n };\n Attributor.prototype.canAdd = function (node, value) {\n var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n if (match == null)\n return false;\n if (this.whitelist == null)\n return true;\n if (typeof value === 'string') {\n return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n }\n else {\n return this.whitelist.indexOf(value) > -1;\n }\n };\n Attributor.prototype.remove = function (node) {\n node.removeAttribute(this.keyName);\n };\n Attributor.prototype.value = function (node) {\n var value = node.getAttribute(this.keyName);\n if (this.canAdd(node, value) && value) {\n return value;\n }\n return '';\n };\n return Attributor;\n}());\nexports.default = Attributor;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Code = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Code = function (_Inline) {\n _inherits(Code, _Inline);\n\n function Code() {\n _classCallCheck(this, Code);\n\n return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n }\n\n return Code;\n}(_inline2.default);\n\nCode.blotName = 'code';\nCode.tagName = 'CODE';\n\nvar CodeBlock = function (_Block) {\n _inherits(CodeBlock, _Block);\n\n function CodeBlock() {\n _classCallCheck(this, CodeBlock);\n\n return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n }\n\n _createClass(CodeBlock, [{\n key: 'delta',\n value: function delta() {\n var _this3 = this;\n\n var text = this.domNode.textContent;\n if (text.endsWith('\\n')) {\n // Should always be true\n text = text.slice(0, -1);\n }\n return text.split('\\n').reduce(function (delta, frag) {\n return delta.insert(frag).insert('\\n', _this3.formats());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (name === this.statics.blotName && value) return;\n\n var _descendant = this.descendant(_text2.default, this.length() - 1),\n _descendant2 = _slicedToArray(_descendant, 1),\n text = _descendant2[0];\n\n if (text != null) {\n text.deleteAt(text.length() - 1, 1);\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length === 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\n return;\n }\n var nextNewline = this.newlineIndex(index);\n if (nextNewline < 0 || nextNewline >= index + length) return;\n var prevNewline = this.newlineIndex(index, true) + 1;\n var isolateLength = nextNewline - prevNewline + 1;\n var blot = this.isolate(prevNewline, isolateLength);\n var next = blot.next;\n blot.format(name, value);\n if (next instanceof CodeBlock) {\n next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n }\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return;\n\n var _descendant3 = this.descendant(_text2.default, index),\n _descendant4 = _slicedToArray(_descendant3, 2),\n text = _descendant4[0],\n offset = _descendant4[1];\n\n text.insertAt(offset, value);\n }\n }, {\n key: 'length',\n value: function length() {\n var length = this.domNode.textContent.length;\n if (!this.domNode.textContent.endsWith('\\n')) {\n return length + 1;\n }\n return length;\n }\n }, {\n key: 'newlineIndex',\n value: function newlineIndex(searchIndex) {\n var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!reverse) {\n var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n return offset > -1 ? searchIndex + offset : -1;\n } else {\n return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n if (!this.domNode.textContent.endsWith('\\n')) {\n this.appendChild(_parchment2.default.create('text', '\\n'));\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n next.optimize(context);\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\n [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\n var blot = _parchment2.default.find(node);\n if (blot == null) {\n node.parentNode.removeChild(node);\n } else if (blot instanceof _parchment2.default.Embed) {\n blot.remove();\n } else {\n blot.unwrap();\n }\n });\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\n domNode.setAttribute('spellcheck', false);\n return domNode;\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return CodeBlock;\n}(_block2.default);\n\nCodeBlock.blotName = 'code-block';\nCodeBlock.tagName = 'PRE';\nCodeBlock.TAB = ' ';\n\nexports.Code = Code;\nexports.default = CodeBlock;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ASCII = /^[ -~]*$/;\n\nvar Editor = function () {\n function Editor(scroll) {\n _classCallCheck(this, Editor);\n\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n\n _createClass(Editor, [{\n key: 'applyDelta',\n value: function applyDelta(delta) {\n var _this = this;\n\n var consumeNextNewline = false;\n this.scroll.update();\n var scrollLength = this.scroll.length();\n this.scroll.batchStart();\n delta = normalizeDelta(delta);\n delta.reduce(function (index, op) {\n var length = op.retain || op.delete || op.insert.length || 1;\n var attributes = op.attributes || {};\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n var text = op.insert;\n if (text.endsWith('\\n') && consumeNextNewline) {\n consumeNextNewline = false;\n text = text.slice(0, -1);\n }\n if (index >= scrollLength && !text.endsWith('\\n')) {\n consumeNextNewline = true;\n }\n _this.scroll.insertAt(index, text);\n\n var _scroll$line = _this.scroll.line(index),\n _scroll$line2 = _slicedToArray(_scroll$line, 2),\n line = _scroll$line2[0],\n offset = _scroll$line2[1];\n\n var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\n if (line instanceof _block2.default) {\n var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\n _line$descendant2 = _slicedToArray(_line$descendant, 1),\n leaf = _line$descendant2[0];\n\n formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\n }\n attributes = _op2.default.attributes.diff(formats, attributes) || {};\n } else if (_typeof(op.insert) === 'object') {\n var key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n _this.scroll.insertAt(index, key, op.insert[key]);\n }\n scrollLength += length;\n }\n Object.keys(attributes).forEach(function (name) {\n _this.scroll.formatAt(index, length, name, attributes[name]);\n });\n return index + length;\n }, 0);\n delta.reduce(function (index, op) {\n if (typeof op.delete === 'number') {\n _this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + (op.retain || op.insert.length || 1);\n }, 0);\n this.scroll.batchEnd();\n return this.update(delta);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new _quillDelta2.default().retain(index).delete(length));\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length) {\n var _this2 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n this.scroll.update();\n Object.keys(formats).forEach(function (format) {\n if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\n var lines = _this2.scroll.lines(index, Math.max(length, 1));\n var lengthRemaining = length;\n lines.forEach(function (line) {\n var lineLength = line.length();\n if (!(line instanceof _code2.default)) {\n line.format(format, formats[format]);\n } else {\n var codeIndex = index - line.offset(_this2.scroll);\n var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\n line.formatAt(codeIndex, codeLength, format, formats[format]);\n }\n lengthRemaining -= lineLength;\n });\n });\n this.scroll.optimize();\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length) {\n var _this3 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n Object.keys(formats).forEach(function (format) {\n _this3.scroll.formatAt(index, length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'getContents',\n value: function getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n }, {\n key: 'getDelta',\n value: function getDelta() {\n return this.scroll.lines().reduce(function (delta, line) {\n return delta.concat(line.delta());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'getFormat',\n value: function getFormat(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var lines = [],\n leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(function (path) {\n var _path = _slicedToArray(path, 1),\n blot = _path[0];\n\n if (blot instanceof _block2.default) {\n lines.push(blot);\n } else if (blot instanceof _parchment2.default.Leaf) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\n }\n var formatsArr = [lines, leaves].map(function (blots) {\n if (blots.length === 0) return {};\n var formats = (0, _block.bubbleFormats)(blots.shift());\n while (Object.keys(formats).length > 0) {\n var blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\n }\n return formats;\n });\n return _extend2.default.apply(_extend2.default, formatsArr);\n }\n }, {\n key: 'getText',\n value: function getText(index, length) {\n return this.getContents(index, length).filter(function (op) {\n return typeof op.insert === 'string';\n }).map(function (op) {\n return op.insert;\n }).join('');\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text) {\n var _this4 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(function (format) {\n _this4.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'isBlank',\n value: function isBlank() {\n if (this.scroll.children.length == 0) return true;\n if (this.scroll.children.length > 1) return false;\n var block = this.scroll.children.head;\n if (block.statics.blotName !== _block2.default.blotName) return false;\n if (block.children.length > 1) return false;\n return block.children.head instanceof _break2.default;\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length) {\n var text = this.getText(index, length);\n\n var _scroll$line3 = this.scroll.line(index + length),\n _scroll$line4 = _slicedToArray(_scroll$line3, 2),\n line = _scroll$line4[0],\n offset = _scroll$line4[1];\n\n var suffixLength = 0,\n suffix = new _quillDelta2.default();\n if (line != null) {\n if (!(line instanceof _code2.default)) {\n suffixLength = line.length() - offset;\n } else {\n suffixLength = line.newlineIndex(offset) - offset + 1;\n }\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n var contents = this.getContents(index, length + suffixLength);\n var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\n var delta = new _quillDelta2.default().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n }, {\n key: 'update',\n value: function update(change) {\n var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n\n var oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\n // Optimization for character changes\n var textBlot = _parchment2.default.find(mutations[0].target);\n var formats = (0, _block.bubbleFormats)(textBlot);\n var index = textBlot.offset(this.scroll);\n var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\n var oldText = new _quillDelta2.default().insert(oldValue);\n var newText = new _quillDelta2.default().insert(textBlot.value());\n var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\n change = diffDelta.reduce(function (delta, op) {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n } else {\n return delta.push(op);\n }\n }, new _quillDelta2.default());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, cursorIndex);\n }\n }\n return change;\n }\n }]);\n\n return Editor;\n}();\n\nfunction combineFormats(formats, combined) {\n return Object.keys(combined).reduce(function (merged, name) {\n if (formats[name] == null) return merged;\n if (combined[name] === formats[name]) {\n merged[name] = combined[name];\n } else if (Array.isArray(combined[name])) {\n if (combined[name].indexOf(formats[name]) < 0) {\n merged[name] = combined[name].concat([formats[name]]);\n }\n } else {\n merged[name] = [combined[name], formats[name]];\n }\n return merged;\n }, {});\n}\n\nfunction normalizeDelta(delta) {\n return delta.reduce(function (delta, op) {\n if (op.insert === 1) {\n var attributes = (0, _clone2.default)(op.attributes);\n delete attributes['image'];\n return delta.insert({ image: op.attributes.image }, attributes);\n }\n if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\n op = (0, _clone2.default)(op);\n if (op.attributes.list) {\n op.attributes.list = 'ordered';\n } else {\n op.attributes.list = 'bullet';\n delete op.attributes.bullet;\n }\n }\n if (typeof op.insert === 'string') {\n var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return delta.insert(text, op.attributes);\n }\n return delta.push(op);\n }, new _quillDelta2.default());\n}\n\nexports.default = Editor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Range = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill:selection');\n\nvar Range = function Range(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n _classCallCheck(this, Range);\n\n this.index = index;\n this.length = length;\n};\n\nvar Selection = function () {\n function Selection(scroll, emitter) {\n var _this = this;\n\n _classCallCheck(this, Selection);\n\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n this.cursor = _parchment2.default.create('cursor', this);\n // savedRange is last non-null range\n this.lastRange = this.savedRange = new Range(0, 0);\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, function () {\n if (!_this.mouseDown) {\n setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\n }\n });\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\n if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\n _this.update(_emitter4.default.sources.SILENT);\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\n if (!_this.hasFocus()) return;\n var native = _this.getNativeRange();\n if (native == null) return;\n if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n // TODO unclear if this has negative side effects\n _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\n try {\n _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n } catch (ignored) {}\n });\n });\n this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\n if (context.range) {\n var _context$range = context.range,\n startNode = _context$range.startNode,\n startOffset = _context$range.startOffset,\n endNode = _context$range.endNode,\n endOffset = _context$range.endOffset;\n\n _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n }\n });\n this.update(_emitter4.default.sources.SILENT);\n }\n\n _createClass(Selection, [{\n key: 'handleComposition',\n value: function handleComposition() {\n var _this2 = this;\n\n this.root.addEventListener('compositionstart', function () {\n _this2.composing = true;\n });\n this.root.addEventListener('compositionend', function () {\n _this2.composing = false;\n if (_this2.cursor.parent) {\n var range = _this2.cursor.restore();\n if (!range) return;\n setTimeout(function () {\n _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n }, {\n key: 'handleDragging',\n value: function handleDragging() {\n var _this3 = this;\n\n this.emitter.listenDOM('mousedown', document.body, function () {\n _this3.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, function () {\n _this3.mouseDown = false;\n _this3.update(_emitter4.default.sources.USER);\n });\n }\n }, {\n key: 'focus',\n value: function focus() {\n if (this.hasFocus()) return;\n this.root.focus();\n this.setRange(this.savedRange);\n }\n }, {\n key: 'format',\n value: function format(_format, value) {\n if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\n this.scroll.update();\n var nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n var blot = _parchment2.default.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof _parchment2.default.Leaf) {\n var after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n this.cursor.attach();\n }\n this.cursor.format(_format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n var node = void 0,\n _scroll$leaf = this.scroll.leaf(index),\n _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\n leaf = _scroll$leaf2[0],\n offset = _scroll$leaf2[1];\n if (leaf == null) return null;\n\n var _leaf$position = leaf.position(offset, true);\n\n var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n\n node = _leaf$position2[0];\n offset = _leaf$position2[1];\n\n var range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n\n var _scroll$leaf3 = this.scroll.leaf(index + length);\n\n var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n\n leaf = _scroll$leaf4[0];\n offset = _scroll$leaf4[1];\n\n if (leaf == null) return null;\n\n var _leaf$position3 = leaf.position(offset, true);\n\n var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n\n node = _leaf$position4[0];\n offset = _leaf$position4[1];\n\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n } else {\n var side = 'left';\n var rect = void 0;\n if (node instanceof Text) {\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n }\n }, {\n key: 'getNativeRange',\n value: function getNativeRange() {\n var selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n var nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n var range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n }, {\n key: 'getRange',\n value: function getRange() {\n var normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n var range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return document.activeElement === this.root;\n }\n }, {\n key: 'normalizedToRange',\n value: function normalizedToRange(range) {\n var _this4 = this;\n\n var positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n var indexes = positions.map(function (position) {\n var _position = _slicedToArray(position, 2),\n node = _position[0],\n offset = _position[1];\n\n var blot = _parchment2.default.find(node, true);\n var index = blot.offset(_this4.scroll);\n if (offset === 0) {\n return index;\n } else if (blot instanceof _parchment2.default.Container) {\n return index + blot.length();\n } else {\n return index + blot.index(node, offset);\n }\n });\n var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n return new Range(start, end - start);\n }\n }, {\n key: 'normalizeNative',\n value: function normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n var range = {\n start: { node: nativeRange.startContainer, offset: nativeRange.startOffset },\n end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },\n native: nativeRange\n };\n [range.start, range.end].forEach(function (position) {\n var node = position.node,\n offset = position.offset;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n node = node.lastChild;\n offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\n } else {\n break;\n }\n }\n position.node = node, position.offset = offset;\n });\n return range;\n }\n }, {\n key: 'rangeToNative',\n value: function rangeToNative(range) {\n var _this5 = this;\n\n var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n var args = [];\n var scrollLength = this.scroll.length();\n indexes.forEach(function (index, i) {\n index = Math.min(scrollLength - 1, index);\n var node = void 0,\n _scroll$leaf5 = _this5.scroll.leaf(index),\n _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\n leaf = _scroll$leaf6[0],\n offset = _scroll$leaf6[1];\n var _leaf$position5 = leaf.position(offset, i !== 0);\n\n var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n\n node = _leaf$position6[0];\n offset = _leaf$position6[1];\n\n args.push(node, offset);\n });\n if (args.length < 2) {\n args = args.concat(args);\n }\n return args;\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView(scrollingContainer) {\n var range = this.lastRange;\n if (range == null) return;\n var bounds = this.getBounds(range.index, range.length);\n if (bounds == null) return;\n var limit = this.scroll.length() - 1;\n\n var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\n _scroll$line2 = _slicedToArray(_scroll$line, 1),\n first = _scroll$line2[0];\n\n var last = first;\n if (range.length > 0) {\n var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n\n var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n\n last = _scroll$line4[0];\n }\n if (first == null || last == null) return;\n var scrollBounds = scrollingContainer.getBoundingClientRect();\n if (bounds.top < scrollBounds.top) {\n scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n } else if (bounds.bottom > scrollBounds.bottom) {\n scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n }\n }\n }, {\n key: 'setNativeRange',\n value: function setNativeRange(startNode, startOffset) {\n var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n return;\n }\n var selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus();\n var native = (this.getNativeRange() || {}).native;\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n\n if (startNode.tagName == \"BR\") {\n startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\n startNode = startNode.parentNode;\n }\n if (endNode.tagName == \"BR\") {\n endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\n endNode = endNode.parentNode;\n }\n var range = document.createRange();\n range.setStart(startNode, startOffset);\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\n }\n }\n }, {\n key: 'setRange',\n value: function setRange(range) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n var args = this.rangeToNative(range);\n this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var oldRange = this.lastRange;\n\n var _getRange = this.getRange(),\n _getRange2 = _slicedToArray(_getRange, 2),\n lastRange = _getRange2[0],\n nativeRange = _getRange2[1];\n\n this.lastRange = lastRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\n var _emitter;\n\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n this.cursor.restore();\n }\n var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n }\n }]);\n\n return Selection;\n}();\n\nfunction contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode;\n } catch (e) {\n return false;\n }\n // IE11 has bug with Text nodes\n // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n if (descendant instanceof Text) {\n descendant = descendant.parentNode;\n }\n return parent.contains(descendant);\n}\n\nexports.Range = Range;\nexports.default = Selection;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Break = function (_Parchment$Embed) {\n _inherits(Break, _Parchment$Embed);\n\n function Break() {\n _classCallCheck(this, Break);\n\n return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n }\n\n _createClass(Break, [{\n key: 'insertInto',\n value: function insertInto(parent, ref) {\n if (parent.children.length === 0) {\n _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\n } else {\n this.remove();\n }\n }\n }, {\n key: 'length',\n value: function length() {\n return 0;\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }], [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n return Break;\n}(_parchment2.default.Embed);\n\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n\nexports.default = Break;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar linked_list_1 = __webpack_require__(44);\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar ContainerBlot = /** @class */ (function (_super) {\n __extends(ContainerBlot, _super);\n function ContainerBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.build();\n return _this;\n }\n ContainerBlot.prototype.appendChild = function (other) {\n this.insertBefore(other);\n };\n ContainerBlot.prototype.attach = function () {\n _super.prototype.attach.call(this);\n this.children.forEach(function (child) {\n child.attach();\n });\n };\n ContainerBlot.prototype.build = function () {\n var _this = this;\n this.children = new linked_list_1.default();\n // Need to be reversed for if DOM nodes already in order\n [].slice\n .call(this.domNode.childNodes)\n .reverse()\n .forEach(function (node) {\n try {\n var child = makeBlot(node);\n _this.insertBefore(child, _this.children.head || undefined);\n }\n catch (err) {\n if (err instanceof Registry.ParchmentError)\n return;\n else\n throw err;\n }\n });\n };\n ContainerBlot.prototype.deleteAt = function (index, length) {\n if (index === 0 && length === this.length()) {\n return this.remove();\n }\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.deleteAt(offset, length);\n });\n };\n ContainerBlot.prototype.descendant = function (criteria, index) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n return [child, offset];\n }\n else if (child instanceof ContainerBlot) {\n return child.descendant(criteria, offset);\n }\n else {\n return [null, -1];\n }\n };\n ContainerBlot.prototype.descendants = function (criteria, index, length) {\n if (index === void 0) { index = 0; }\n if (length === void 0) { length = Number.MAX_VALUE; }\n var descendants = [];\n var lengthLeft = length;\n this.children.forEachAt(index, length, function (child, index, length) {\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n descendants.push(child);\n }\n if (child instanceof ContainerBlot) {\n descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return descendants;\n };\n ContainerBlot.prototype.detach = function () {\n this.children.forEach(function (child) {\n child.detach();\n });\n _super.prototype.detach.call(this);\n };\n ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.formatAt(offset, length, name, value);\n });\n };\n ContainerBlot.prototype.insertAt = function (index, value, def) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if (child) {\n child.insertAt(offset, value, def);\n }\n else {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n this.appendChild(blot);\n }\n };\n ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n if (this.statics.allowedChildren != null &&\n !this.statics.allowedChildren.some(function (child) {\n return childBlot instanceof child;\n })) {\n throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n }\n childBlot.insertInto(this, refBlot);\n };\n ContainerBlot.prototype.length = function () {\n return this.children.reduce(function (memo, child) {\n return memo + child.length();\n }, 0);\n };\n ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n this.children.forEach(function (child) {\n targetParent.insertBefore(child, refNode);\n });\n };\n ContainerBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n if (this.children.length === 0) {\n if (this.statics.defaultChild != null) {\n var child = Registry.create(this.statics.defaultChild);\n this.appendChild(child);\n child.optimize(context);\n }\n else {\n this.remove();\n }\n }\n };\n ContainerBlot.prototype.path = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\n var position = [[this, index]];\n if (child instanceof ContainerBlot) {\n return position.concat(child.path(offset, inclusive));\n }\n else if (child != null) {\n position.push([child, offset]);\n }\n return position;\n };\n ContainerBlot.prototype.removeChild = function (child) {\n this.children.remove(child);\n };\n ContainerBlot.prototype.replace = function (target) {\n if (target instanceof ContainerBlot) {\n target.moveChildren(this);\n }\n _super.prototype.replace.call(this, target);\n };\n ContainerBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = this.clone();\n this.parent.insertBefore(after, this.next);\n this.children.forEachAt(index, this.length(), function (child, offset, length) {\n child = child.split(offset, force);\n after.appendChild(child);\n });\n return after;\n };\n ContainerBlot.prototype.unwrap = function () {\n this.moveChildren(this.parent, this.next);\n this.remove();\n };\n ContainerBlot.prototype.update = function (mutations, context) {\n var _this = this;\n var addedNodes = [];\n var removedNodes = [];\n mutations.forEach(function (mutation) {\n if (mutation.target === _this.domNode && mutation.type === 'childList') {\n addedNodes.push.apply(addedNodes, mutation.addedNodes);\n removedNodes.push.apply(removedNodes, mutation.removedNodes);\n }\n });\n removedNodes.forEach(function (node) {\n // Check node has actually been removed\n // One exception is Chrome does not immediately remove IFRAMEs\n // from DOM but MutationRecord is correct in its reported removal\n if (node.parentNode != null &&\n // @ts-ignore\n node.tagName !== 'IFRAME' &&\n document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return;\n }\n var blot = Registry.find(node);\n if (blot == null)\n return;\n if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n blot.detach();\n }\n });\n addedNodes\n .filter(function (node) {\n return node.parentNode == _this.domNode;\n })\n .sort(function (a, b) {\n if (a === b)\n return 0;\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n return -1;\n })\n .forEach(function (node) {\n var refBlot = null;\n if (node.nextSibling != null) {\n refBlot = Registry.find(node.nextSibling);\n }\n var blot = makeBlot(node);\n if (blot.next != refBlot || blot.next == null) {\n if (blot.parent != null) {\n blot.parent.removeChild(_this);\n }\n _this.insertBefore(blot, refBlot || undefined);\n }\n });\n };\n return ContainerBlot;\n}(shadow_1.default));\nfunction makeBlot(node) {\n var blot = Registry.find(node);\n if (blot == null) {\n try {\n blot = Registry.create(node);\n }\n catch (e) {\n blot = Registry.create(Registry.Scope.INLINE);\n [].slice.call(node.childNodes).forEach(function (child) {\n // @ts-ignore\n blot.domNode.appendChild(child);\n });\n if (node.parentNode) {\n node.parentNode.replaceChild(blot.domNode, node);\n }\n blot.attach();\n }\n }\n return blot;\n}\nexports.default = ContainerBlot;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar store_1 = __webpack_require__(31);\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar FormatBlot = /** @class */ (function (_super) {\n __extends(FormatBlot, _super);\n function FormatBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.attributes = new store_1.default(_this.domNode);\n return _this;\n }\n FormatBlot.formats = function (domNode) {\n if (typeof this.tagName === 'string') {\n return true;\n }\n else if (Array.isArray(this.tagName)) {\n return domNode.tagName.toLowerCase();\n }\n return undefined;\n };\n FormatBlot.prototype.format = function (name, value) {\n var format = Registry.query(name);\n if (format instanceof attributor_1.default) {\n this.attributes.attribute(format, value);\n }\n else if (value) {\n if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n this.replaceWith(name, value);\n }\n }\n };\n FormatBlot.prototype.formats = function () {\n var formats = this.attributes.values();\n var format = this.statics.formats(this.domNode);\n if (format != null) {\n formats[this.statics.blotName] = format;\n }\n return formats;\n };\n FormatBlot.prototype.replaceWith = function (name, value) {\n var replacement = _super.prototype.replaceWith.call(this, name, value);\n this.attributes.copy(replacement);\n return replacement;\n };\n FormatBlot.prototype.update = function (mutations, context) {\n var _this = this;\n _super.prototype.update.call(this, mutations, context);\n if (mutations.some(function (mutation) {\n return mutation.target === _this.domNode && mutation.type === 'attributes';\n })) {\n this.attributes.build();\n }\n };\n FormatBlot.prototype.wrap = function (name, value) {\n var wrapper = _super.prototype.wrap.call(this, name, value);\n if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n this.attributes.move(wrapper);\n }\n return wrapper;\n };\n return FormatBlot;\n}(container_1.default));\nexports.default = FormatBlot;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar LeafBlot = /** @class */ (function (_super) {\n __extends(LeafBlot, _super);\n function LeafBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LeafBlot.value = function (domNode) {\n return true;\n };\n LeafBlot.prototype.index = function (node, offset) {\n if (this.domNode === node ||\n this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return Math.min(offset, 1);\n }\n return -1;\n };\n LeafBlot.prototype.position = function (index, inclusive) {\n var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n if (index > 0)\n offset += 1;\n return [this.parent.domNode, offset];\n };\n LeafBlot.prototype.value = function () {\n var _a;\n return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n };\n LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n return LeafBlot;\n}(shadow_1.default));\nexports.default = LeafBlot;\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\n\n\nvar lib = {\n attributes: {\n compose: function (a, b, keepNull) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = extend(true, {}, b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce(function (copy, key) {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (var key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n diff: function(a, b) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n if (!equal(a[key], b[key])) {\n attributes[key] = b[key] === undefined ? null : b[key];\n }\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n transform: function (a, b, priority) {\n if (typeof a !== 'object') return b;\n if (typeof b !== 'object') return undefined;\n if (!priority) return b; // b simply overwrites us without priority\n var attributes = Object.keys(b).reduce(function (attributes, key) {\n if (a[key] === undefined) attributes[key] = b[key]; // null is a valid value\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n },\n\n iterator: function (ops) {\n return new Iterator(ops);\n },\n\n length: function (op) {\n if (typeof op['delete'] === 'number') {\n return op['delete'];\n } else if (typeof op.retain === 'number') {\n return op.retain;\n } else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n};\n\n\nfunction Iterator(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n};\n\nIterator.prototype.hasNext = function () {\n return this.peekLength() < Infinity;\n};\n\nIterator.prototype.next = function (length) {\n if (!length) length = Infinity;\n var nextOp = this.ops[this.index];\n if (nextOp) {\n var offset = this.offset;\n var opLength = lib.length(nextOp)\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n } else {\n this.offset += length;\n }\n if (typeof nextOp['delete'] === 'number') {\n return { 'delete': length };\n } else {\n var retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n } else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n } else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n } else {\n return { retain: Infinity };\n }\n};\n\nIterator.prototype.peek = function () {\n return this.ops[this.index];\n};\n\nIterator.prototype.peekLength = function () {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return lib.length(this.ops[this.index]) - this.offset;\n } else {\n return Infinity;\n }\n};\n\nIterator.prototype.peekType = function () {\n if (this.ops[this.index]) {\n if (typeof this.ops[this.index]['delete'] === 'number') {\n return 'delete';\n } else if (typeof this.ops[this.index].retain === 'number') {\n return 'retain';\n } else {\n return 'insert';\n }\n }\n return 'retain';\n};\n\nIterator.prototype.rest = function () {\n if (!this.hasNext()) {\n return [];\n } else if (this.offset === 0) {\n return this.ops.slice(this.index);\n } else {\n var offset = this.offset;\n var index = this.index;\n var next = this.next();\n var rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n};\n\n\nmodule.exports = lib;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n nativeMap = Map;\n} catch(_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n nativePromise = Promise;\n} catch(_) {\n nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function(value) {\n resolve(_clone(value, depth - 1));\n }, function(err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isLine(blot) {\n return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n}\n\nvar Scroll = function (_Parchment$Scroll) {\n _inherits(Scroll, _Parchment$Scroll);\n\n function Scroll(domNode, config) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n\n _this.emitter = config.emitter;\n if (Array.isArray(config.whitelist)) {\n _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\n whitelist[format] = true;\n return whitelist;\n }, {});\n }\n // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\n _this.domNode.addEventListener('DOMNodeInserted', function () {});\n _this.optimize();\n _this.enable();\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'batchStart',\n value: function batchStart() {\n this.batch = true;\n }\n }, {\n key: 'batchEnd',\n value: function batchEnd() {\n this.batch = false;\n this.optimize();\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n var _line = this.line(index),\n _line2 = _slicedToArray(_line, 2),\n first = _line2[0],\n offset = _line2[1];\n\n var _line3 = this.line(index + length),\n _line4 = _slicedToArray(_line3, 1),\n last = _line4[0];\n\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\n if (last != null && first !== last && offset > 0) {\n if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\n this.optimize();\n return;\n }\n if (first instanceof _code2.default) {\n var newlineIndex = first.newlineIndex(first.length(), true);\n if (newlineIndex > -1) {\n first = first.split(newlineIndex + 1);\n if (first === last) {\n this.optimize();\n return;\n }\n }\n } else if (last instanceof _code2.default) {\n var _newlineIndex = last.newlineIndex(0);\n if (_newlineIndex > -1) {\n last.split(_newlineIndex + 1);\n }\n }\n var ref = last.children.head instanceof _break2.default ? null : last.children.head;\n first.moveChildren(last, ref);\n first.remove();\n }\n this.optimize();\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.domNode.setAttribute('contenteditable', enabled);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, format, value) {\n if (this.whitelist != null && !this.whitelist[format]) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\n this.optimize();\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null && this.whitelist != null && !this.whitelist[value]) return;\n if (index >= this.length()) {\n if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\n var blot = _parchment2.default.create(this.statics.defaultChild);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n value = value.slice(0, -1);\n }\n blot.insertAt(0, value, def);\n } else {\n var embed = _parchment2.default.create(value, def);\n this.appendChild(embed);\n }\n } else {\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\n }\n this.optimize();\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\n var wrapper = _parchment2.default.create(this.statics.defaultChild);\n wrapper.appendChild(blot);\n blot = wrapper;\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\n }\n }, {\n key: 'leaf',\n value: function leaf(index) {\n return this.path(index).pop() || [null, -1];\n }\n }, {\n key: 'line',\n value: function line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n return this.descendant(isLine, index);\n }\n }, {\n key: 'lines',\n value: function lines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n var getLines = function getLines(blot, index, length) {\n var lines = [],\n lengthLeft = length;\n blot.children.forEachAt(index, length, function (child, index, length) {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof _parchment2.default.Container) {\n lines = lines.concat(getLines(child, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n }, {\n key: 'optimize',\n value: function optimize() {\n var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.batch === true) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\n }\n }, {\n key: 'update',\n value: function update(mutations) {\n if (this.batch === true) return;\n var source = _emitter2.default.sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\n }\n }\n }]);\n\n return Scroll;\n}(_parchment2.default.Scroll);\n\nScroll.blotName = 'scroll';\nScroll.className = 'ql-editor';\nScroll.tagName = 'DIV';\nScroll.defaultChild = 'block';\nScroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n\nexports.default = Scroll;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SHORTKEY = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:keyboard');\n\nvar SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n\nvar Keyboard = function (_Module) {\n _inherits(Keyboard, _Module);\n\n _createClass(Keyboard, null, [{\n key: 'match',\n value: function match(evt, binding) {\n binding = normalize(binding);\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n return !!binding[key] !== evt[key] && binding[key] !== null;\n })) {\n return false;\n }\n return binding.key === (evt.which || evt.keyCode);\n }\n }]);\n\n function Keyboard(quill, options) {\n _classCallCheck(this, Keyboard);\n\n var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n\n _this.bindings = {};\n Object.keys(_this.options.bindings).forEach(function (name) {\n if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\n return;\n }\n if (_this.options.bindings[name]) {\n _this.addBinding(_this.options.bindings[name]);\n }\n });\n _this.addBinding({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);\n _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, function () {});\n if (/Firefox/i.test(navigator.userAgent)) {\n // Need to handle delete and backspace for Firefox in the general case #1171\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);\n } else {\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);\n }\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);\n _this.listen();\n return _this;\n }\n\n _createClass(Keyboard, [{\n key: 'addBinding',\n value: function addBinding(key) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var binding = normalize(key);\n if (binding == null || binding.key == null) {\n return debug.warn('Attempted to add invalid keyboard binding', binding);\n }\n if (typeof context === 'function') {\n context = { handler: context };\n }\n if (typeof handler === 'function') {\n handler = { handler: handler };\n }\n binding = (0, _extend2.default)(binding, context, handler);\n this.bindings[binding.key] = this.bindings[binding.key] || [];\n this.bindings[binding.key].push(binding);\n }\n }, {\n key: 'listen',\n value: function listen() {\n var _this2 = this;\n\n this.quill.root.addEventListener('keydown', function (evt) {\n if (evt.defaultPrevented) return;\n var which = evt.which || evt.keyCode;\n var bindings = (_this2.bindings[which] || []).filter(function (binding) {\n return Keyboard.match(evt, binding);\n });\n if (bindings.length === 0) return;\n var range = _this2.quill.getSelection();\n if (range == null || !_this2.quill.hasFocus()) return;\n\n var _quill$getLine = _this2.quill.getLine(range.index),\n _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\n line = _quill$getLine2[0],\n offset = _quill$getLine2[1];\n\n var _quill$getLeaf = _this2.quill.getLeaf(range.index),\n _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\n leafStart = _quill$getLeaf2[0],\n offsetStart = _quill$getLeaf2[1];\n\n var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\n _ref2 = _slicedToArray(_ref, 2),\n leafEnd = _ref2[0],\n offsetEnd = _ref2[1];\n\n var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\n var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\n var curContext = {\n collapsed: range.length === 0,\n empty: range.length === 0 && line.length() <= 1,\n format: _this2.quill.getFormat(range),\n offset: offset,\n prefix: prefixText,\n suffix: suffixText\n };\n var prevented = bindings.some(function (binding) {\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\n if (binding.empty != null && binding.empty !== curContext.empty) return false;\n if (binding.offset != null && binding.offset !== curContext.offset) return false;\n if (Array.isArray(binding.format)) {\n // any format is present\n if (binding.format.every(function (name) {\n return curContext.format[name] == null;\n })) {\n return false;\n }\n } else if (_typeof(binding.format) === 'object') {\n // all formats must match\n if (!Object.keys(binding.format).every(function (name) {\n if (binding.format[name] === true) return curContext.format[name] != null;\n if (binding.format[name] === false) return curContext.format[name] == null;\n return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\n })) {\n return false;\n }\n }\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\n return binding.handler.call(_this2, range, curContext) !== true;\n });\n if (prevented) {\n evt.preventDefault();\n }\n });\n }\n }]);\n\n return Keyboard;\n}(_module2.default);\n\nKeyboard.keys = {\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46\n};\n\nKeyboard.DEFAULTS = {\n bindings: {\n 'bold': makeFormatHandler('bold'),\n 'italic': makeFormatHandler('italic'),\n 'underline': makeFormatHandler('underline'),\n 'indent': {\n // highlight tab or tab at beginning of list, indent or blockquote\n key: Keyboard.keys.TAB,\n format: ['blockquote', 'indent', 'list'],\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '+1', _quill2.default.sources.USER);\n }\n },\n 'outdent': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n format: ['blockquote', 'indent', 'list'],\n // highlight tab or tab at beginning of list, indent or blockquote\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n }\n },\n 'outdent backspace': {\n key: Keyboard.keys.BACKSPACE,\n collapsed: true,\n shiftKey: null,\n metaKey: null,\n ctrlKey: null,\n altKey: null,\n format: ['indent', 'list'],\n offset: 0,\n handler: function handler(range, context) {\n if (context.format.indent != null) {\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n } else if (context.format.list != null) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n }\n }\n },\n 'indent code-block': makeCodeBlockHandler(true),\n 'outdent code-block': makeCodeBlockHandler(false),\n 'remove tab': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n collapsed: true,\n prefix: /\\t$/,\n handler: function handler(range) {\n this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\n }\n },\n 'tab': {\n key: Keyboard.keys.TAB,\n handler: function handler(range) {\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\t');\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n }\n },\n 'list empty enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['list'],\n empty: true,\n handler: function handler(range, context) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n if (context.format.indent) {\n this.quill.format('indent', false, _quill2.default.sources.USER);\n }\n }\n },\n 'checklist enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: { list: 'checked' },\n handler: function handler(range) {\n var _quill$getLine3 = this.quill.getLine(range.index),\n _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\n line = _quill$getLine4[0],\n offset = _quill$getLine4[1];\n\n var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'header enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['header'],\n suffix: /^$/,\n handler: function handler(range, context) {\n var _quill$getLine5 = this.quill.getLine(range.index),\n _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\n line = _quill$getLine6[0],\n offset = _quill$getLine6[1];\n\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'list autofill': {\n key: ' ',\n collapsed: true,\n format: { list: false },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler: function handler(range, context) {\n var length = context.prefix.length;\n\n var _quill$getLine7 = this.quill.getLine(range.index),\n _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\n line = _quill$getLine8[0],\n offset = _quill$getLine8[1];\n\n if (offset > length) return true;\n var value = void 0;\n switch (context.prefix.trim()) {\n case '[]':case '[ ]':\n value = 'unchecked';\n break;\n case '[x]':\n value = 'checked';\n break;\n case '-':case '*':\n value = 'bullet';\n break;\n default:\n value = 'ordered';\n }\n this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\n }\n },\n 'code exit': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['code-block'],\n prefix: /\\n\\n$/,\n suffix: /^\\s+$/,\n handler: function handler(range) {\n var _quill$getLine9 = this.quill.getLine(range.index),\n _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\n line = _quill$getLine10[0],\n offset = _quill$getLine10[1];\n\n var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1);\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n }\n },\n 'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\n 'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\n 'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\n 'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\n }\n};\n\nfunction makeEmbedArrowHandler(key, shiftKey) {\n var _ref3;\n\n var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\n return _ref3 = {\n key: key,\n shiftKey: shiftKey,\n altKey: null\n }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\n var index = range.index;\n if (key === Keyboard.keys.RIGHT) {\n index += range.length + 1;\n }\n\n var _quill$getLeaf3 = this.quill.getLeaf(index),\n _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n leaf = _quill$getLeaf4[0];\n\n if (!(leaf instanceof _parchment2.default.Embed)) return true;\n if (key === Keyboard.keys.LEFT) {\n if (shiftKey) {\n this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\n }\n } else {\n if (shiftKey) {\n this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\n }\n }\n return false;\n }), _ref3;\n}\n\nfunction handleBackspace(range, context) {\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n\n var _quill$getLine11 = this.quill.getLine(range.index),\n _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n line = _quill$getLine12[0];\n\n var formats = {};\n if (context.offset === 0) {\n var _quill$getLine13 = this.quill.getLine(range.index - 1),\n _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\n prev = _quill$getLine14[0];\n\n if (prev != null && prev.length() > 1) {\n var curFormats = line.formats();\n var prevFormats = this.quill.getFormat(range.index - 1, 1);\n formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\n }\n }\n // Check for astral symbols\n var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\n }\n this.quill.focus();\n}\n\nfunction handleDelete(range, context) {\n // Check for astral symbols\n var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n if (range.index >= this.quill.getLength() - length) return;\n var formats = {},\n nextLength = 0;\n\n var _quill$getLine15 = this.quill.getLine(range.index),\n _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n line = _quill$getLine16[0];\n\n if (context.offset >= line.length() - 1) {\n var _quill$getLine17 = this.quill.getLine(range.index + 1),\n _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\n next = _quill$getLine18[0];\n\n if (next) {\n var curFormats = line.formats();\n var nextFormats = this.quill.getFormat(range.index, 1);\n formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\n nextLength = next.length();\n }\n }\n this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\n }\n}\n\nfunction handleDeleteRange(range) {\n var lines = this.quill.getLines(range);\n var formats = {};\n if (lines.length > 1) {\n var firstFormats = lines[0].formats();\n var lastFormats = lines[lines.length - 1].formats();\n formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\n }\n this.quill.deleteText(range, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\n }\n this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\n this.quill.focus();\n}\n\nfunction handleEnter(range, context) {\n var _this3 = this;\n\n if (range.length > 0) {\n this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\n }\n var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\n if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n lineFormats[format] = context.format[format];\n }\n return lineFormats;\n }, {});\n this.quill.insertText(range.index, '\\n', lineFormats, _quill2.default.sources.USER);\n // Earlier scroll.deleteAt might have messed up our selection,\n // so insertText's built in selection preservation is not reliable\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.focus();\n Object.keys(context.format).forEach(function (name) {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'link') return;\n _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\n });\n}\n\nfunction makeCodeBlockHandler(indent) {\n return {\n key: Keyboard.keys.TAB,\n shiftKey: !indent,\n format: { 'code-block': true },\n handler: function handler(range) {\n var CodeBlock = _parchment2.default.query('code-block');\n var index = range.index,\n length = range.length;\n\n var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n block = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (block == null) return;\n var scrollIndex = this.quill.getIndex(block);\n var start = block.newlineIndex(offset, true) + 1;\n var end = block.newlineIndex(scrollIndex + offset + length);\n var lines = block.domNode.textContent.slice(start, end).split('\\n');\n offset = 0;\n lines.forEach(function (line, i) {\n if (indent) {\n block.insertAt(start + offset, CodeBlock.TAB);\n offset += CodeBlock.TAB.length;\n if (i === 0) {\n index += CodeBlock.TAB.length;\n } else {\n length += CodeBlock.TAB.length;\n }\n } else if (line.startsWith(CodeBlock.TAB)) {\n block.deleteAt(start + offset, CodeBlock.TAB.length);\n offset -= CodeBlock.TAB.length;\n if (i === 0) {\n index -= CodeBlock.TAB.length;\n } else {\n length -= CodeBlock.TAB.length;\n }\n }\n offset += line.length + 1;\n });\n this.quill.update(_quill2.default.sources.USER);\n this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\n }\n };\n}\n\nfunction makeFormatHandler(format) {\n return {\n key: format[0].toUpperCase(),\n shortKey: true,\n handler: function handler(range, context) {\n this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\n }\n };\n}\n\nfunction normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n return normalize({ key: binding });\n }\n if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\n binding = (0, _clone2.default)(binding, false);\n }\n if (typeof binding.key === 'string') {\n if (Keyboard.keys[binding.key.toUpperCase()] != null) {\n binding.key = Keyboard.keys[binding.key.toUpperCase()];\n } else if (binding.key.length === 1) {\n binding.key = binding.key.toUpperCase().charCodeAt(0);\n } else {\n return null;\n }\n }\n if (binding.shortKey) {\n binding[SHORTKEY] = binding.shortKey;\n delete binding.shortKey;\n }\n return binding;\n}\n\nexports.default = Keyboard;\nexports.SHORTKEY = SHORTKEY;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Cursor = function (_Parchment$Embed) {\n _inherits(Cursor, _Parchment$Embed);\n\n _createClass(Cursor, null, [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n function Cursor(domNode, selection) {\n _classCallCheck(this, Cursor);\n\n var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n\n _this.selection = selection;\n _this.textNode = document.createTextNode(Cursor.CONTENTS);\n _this.domNode.appendChild(_this.textNode);\n _this._length = 0;\n return _this;\n }\n\n _createClass(Cursor, [{\n key: 'detach',\n value: function detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (this._length !== 0) {\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\n }\n var target = this,\n index = 0;\n while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this._length = Cursor.CONTENTS.length;\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this._length = 0;\n }\n }\n }, {\n key: 'index',\n value: function index(node, offset) {\n if (node === this.textNode) return 0;\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'length',\n value: function length() {\n return this._length;\n }\n }, {\n key: 'position',\n value: function position() {\n return [this.textNode, this.textNode.data.length];\n }\n }, {\n key: 'remove',\n value: function remove() {\n _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\n this.parent = null;\n }\n }, {\n key: 'restore',\n value: function restore() {\n if (this.selection.composing || this.parent == null) return;\n var textNode = this.textNode;\n var range = this.selection.getNativeRange();\n var restoreText = void 0,\n start = void 0,\n end = void 0;\n if (range != null && range.start.node === textNode && range.end.node === textNode) {\n var _ref = [textNode, range.start.offset, range.end.offset];\n restoreText = _ref[0];\n start = _ref[1];\n end = _ref[2];\n }\n // Link format will insert text outside of anchor tag\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n if (this.textNode.data !== Cursor.CONTENTS) {\n var text = this.textNode.data.split(Cursor.CONTENTS).join('');\n if (this.next instanceof _text2.default) {\n restoreText = this.next.domNode;\n this.next.insertAt(0, text);\n this.textNode.data = Cursor.CONTENTS;\n } else {\n this.textNode.data = text;\n this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n }\n }\n this.remove();\n if (start != null) {\n var _map = [start, end].map(function (offset) {\n return Math.max(0, Math.min(restoreText.data.length, offset - 1));\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n\n return {\n startNode: restoreText,\n startOffset: start,\n endNode: restoreText,\n endOffset: end\n };\n }\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n })) {\n var range = this.restore();\n if (range) context.range = range;\n }\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }]);\n\n return Cursor;\n}(_parchment2.default.Embed);\n\nCursor.blotName = 'cursor';\nCursor.className = 'ql-cursor';\nCursor.tagName = 'span';\nCursor.CONTENTS = '\\uFEFF'; // Zero width no break space\n\n\nexports.default = Cursor;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Container = function (_Parchment$Container) {\n _inherits(Container, _Parchment$Container);\n\n function Container() {\n _classCallCheck(this, Container);\n\n return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n }\n\n return Container;\n}(_parchment2.default.Container);\n\nContainer.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n\nexports.default = Container;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorAttributor = function (_Parchment$Attributor) {\n _inherits(ColorAttributor, _Parchment$Attributor);\n\n function ColorAttributor() {\n _classCallCheck(this, ColorAttributor);\n\n return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n }\n\n _createClass(ColorAttributor, [{\n key: 'value',\n value: function value(domNode) {\n var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\n if (!value.startsWith('rgb(')) return value;\n value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n return '#' + value.split(',').map(function (component) {\n return ('00' + parseInt(component).toString(16)).slice(-2);\n }).join('');\n }\n }]);\n\n return ColorAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar ColorStyle = new ColorAttributor('color', 'color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.ColorAttributor = ColorAttributor;\nexports.ColorClass = ColorClass;\nexports.ColorStyle = ColorStyle;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitize = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Link = function (_Inline) {\n _inherits(Link, _Inline);\n\n function Link() {\n _classCallCheck(this, Link);\n\n return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n }\n\n _createClass(Link, [{\n key: 'format',\n value: function format(name, value) {\n if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\n value = this.constructor.sanitize(value);\n this.domNode.setAttribute('href', value);\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\n value = this.sanitize(value);\n node.setAttribute('href', value);\n node.setAttribute('rel', 'noopener noreferrer');\n node.setAttribute('target', '_blank');\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return domNode.getAttribute('href');\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n }]);\n\n return Link;\n}(_inline2.default);\n\nLink.blotName = 'link';\nLink.tagName = 'A';\nLink.SANITIZED_URL = 'about:blank';\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n\nfunction _sanitize(url, protocols) {\n var anchor = document.createElement('a');\n anchor.href = url;\n var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\n\nexports.default = Link;\nexports.sanitize = _sanitize;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _dropdown = __webpack_require__(107);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar optionsCounter = 0;\n\nfunction toggleAriaAttribute(element, attribute) {\n element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n}\n\nvar Picker = function () {\n function Picker(select) {\n var _this = this;\n\n _classCallCheck(this, Picker);\n\n this.select = select;\n this.container = document.createElement('span');\n this.buildPicker();\n this.select.style.display = 'none';\n this.select.parentNode.insertBefore(this.container, this.select);\n\n this.label.addEventListener('mousedown', function () {\n _this.togglePicker();\n });\n this.label.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to open the picker\n case _keyboard2.default.keys.ENTER:\n _this.togglePicker();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n this.select.addEventListener('change', this.update.bind(this));\n }\n\n _createClass(Picker, [{\n key: 'togglePicker',\n value: function togglePicker() {\n this.container.classList.toggle('ql-expanded');\n // Toggle aria-expanded and aria-hidden to make the picker accessible\n toggleAriaAttribute(this.label, 'aria-expanded');\n toggleAriaAttribute(this.options, 'aria-hidden');\n }\n }, {\n key: 'buildItem',\n value: function buildItem(option) {\n var _this2 = this;\n\n var item = document.createElement('span');\n item.tabIndex = '0';\n item.setAttribute('role', 'button');\n\n item.classList.add('ql-picker-item');\n if (option.hasAttribute('value')) {\n item.setAttribute('data-value', option.getAttribute('value'));\n }\n if (option.textContent) {\n item.setAttribute('data-label', option.textContent);\n }\n item.addEventListener('click', function () {\n _this2.selectItem(item, true);\n });\n item.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to select an item\n case _keyboard2.default.keys.ENTER:\n _this2.selectItem(item, true);\n event.preventDefault();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this2.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n\n return item;\n }\n }, {\n key: 'buildLabel',\n value: function buildLabel() {\n var label = document.createElement('span');\n label.classList.add('ql-picker-label');\n label.innerHTML = _dropdown2.default;\n label.tabIndex = '0';\n label.setAttribute('role', 'button');\n label.setAttribute('aria-expanded', 'false');\n this.container.appendChild(label);\n return label;\n }\n }, {\n key: 'buildOptions',\n value: function buildOptions() {\n var _this3 = this;\n\n var options = document.createElement('span');\n options.classList.add('ql-picker-options');\n\n // Don't want screen readers to read this until options are visible\n options.setAttribute('aria-hidden', 'true');\n options.tabIndex = '-1';\n\n // Need a unique id for aria-controls\n options.id = 'ql-picker-options-' + optionsCounter;\n optionsCounter += 1;\n this.label.setAttribute('aria-controls', options.id);\n\n this.options = options;\n\n [].slice.call(this.select.options).forEach(function (option) {\n var item = _this3.buildItem(option);\n options.appendChild(item);\n if (option.selected === true) {\n _this3.selectItem(item);\n }\n });\n this.container.appendChild(options);\n }\n }, {\n key: 'buildPicker',\n value: function buildPicker() {\n var _this4 = this;\n\n [].slice.call(this.select.attributes).forEach(function (item) {\n _this4.container.setAttribute(item.name, item.value);\n });\n this.container.classList.add('ql-picker');\n this.label = this.buildLabel();\n this.buildOptions();\n }\n }, {\n key: 'escape',\n value: function escape() {\n var _this5 = this;\n\n // Close menu and return focus to trigger label\n this.close();\n // Need setTimeout for accessibility to ensure that the browser executes\n // focus on the next process thread and after any DOM content changes\n setTimeout(function () {\n return _this5.label.focus();\n }, 1);\n }\n }, {\n key: 'close',\n value: function close() {\n this.container.classList.remove('ql-expanded');\n this.label.setAttribute('aria-expanded', 'false');\n this.options.setAttribute('aria-hidden', 'true');\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item) {\n var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var selected = this.container.querySelector('.ql-selected');\n if (item === selected) return;\n if (selected != null) {\n selected.classList.remove('ql-selected');\n }\n if (item == null) return;\n item.classList.add('ql-selected');\n this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\n if (item.hasAttribute('data-value')) {\n this.label.setAttribute('data-value', item.getAttribute('data-value'));\n } else {\n this.label.removeAttribute('data-value');\n }\n if (item.hasAttribute('data-label')) {\n this.label.setAttribute('data-label', item.getAttribute('data-label'));\n } else {\n this.label.removeAttribute('data-label');\n }\n if (trigger) {\n if (typeof Event === 'function') {\n this.select.dispatchEvent(new Event('change'));\n } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\n // IE11\n var event = document.createEvent('Event');\n event.initEvent('change', true, true);\n this.select.dispatchEvent(event);\n }\n this.close();\n }\n }\n }, {\n key: 'update',\n value: function update() {\n var option = void 0;\n if (this.select.selectedIndex > -1) {\n var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n option = this.select.options[this.select.selectedIndex];\n this.selectItem(item);\n } else {\n this.selectItem(null);\n }\n var isActive = option != null && option !== this.select.querySelector('option[selected]');\n this.label.classList.toggle('ql-active', isActive);\n }\n }]);\n\n return Picker;\n}();\n\nexports.default = Picker;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _scroll = __webpack_require__(22);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _clipboard = __webpack_require__(55);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _history = __webpack_require__(42);\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_quill2.default.register({\n 'blots/block': _block2.default,\n 'blots/block/embed': _block.BlockEmbed,\n 'blots/break': _break2.default,\n 'blots/container': _container2.default,\n 'blots/cursor': _cursor2.default,\n 'blots/embed': _embed2.default,\n 'blots/inline': _inline2.default,\n 'blots/scroll': _scroll2.default,\n 'blots/text': _text2.default,\n\n 'modules/clipboard': _clipboard2.default,\n 'modules/history': _history2.default,\n 'modules/keyboard': _keyboard2.default\n});\n\n_parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n\nexports.default = _quill2.default;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar ShadowBlot = /** @class */ (function () {\n function ShadowBlot(domNode) {\n this.domNode = domNode;\n // @ts-ignore\n this.domNode[Registry.DATA_KEY] = { blot: this };\n }\n Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n // Hack for accessing inherited static methods\n get: function () {\n return this.constructor;\n },\n enumerable: true,\n configurable: true\n });\n ShadowBlot.create = function (value) {\n if (this.tagName == null) {\n throw new Registry.ParchmentError('Blot definition missing tagName');\n }\n var node;\n if (Array.isArray(this.tagName)) {\n if (typeof value === 'string') {\n value = value.toUpperCase();\n if (parseInt(value).toString() === value) {\n value = parseInt(value);\n }\n }\n if (typeof value === 'number') {\n node = document.createElement(this.tagName[value - 1]);\n }\n else if (this.tagName.indexOf(value) > -1) {\n node = document.createElement(value);\n }\n else {\n node = document.createElement(this.tagName[0]);\n }\n }\n else {\n node = document.createElement(this.tagName);\n }\n if (this.className) {\n node.classList.add(this.className);\n }\n return node;\n };\n ShadowBlot.prototype.attach = function () {\n if (this.parent != null) {\n this.scroll = this.parent.scroll;\n }\n };\n ShadowBlot.prototype.clone = function () {\n var domNode = this.domNode.cloneNode(false);\n return Registry.create(domNode);\n };\n ShadowBlot.prototype.detach = function () {\n if (this.parent != null)\n this.parent.removeChild(this);\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY];\n };\n ShadowBlot.prototype.deleteAt = function (index, length) {\n var blot = this.isolate(index, length);\n blot.remove();\n };\n ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n var blot = this.isolate(index, length);\n if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n blot.wrap(name, value);\n }\n else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n var parent = Registry.create(this.statics.scope);\n blot.wrap(parent);\n parent.format(name, value);\n }\n };\n ShadowBlot.prototype.insertAt = function (index, value, def) {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n var ref = this.split(index);\n this.parent.insertBefore(blot, ref);\n };\n ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n if (refBlot === void 0) { refBlot = null; }\n if (this.parent != null) {\n this.parent.children.remove(this);\n }\n var refDomNode = null;\n parentBlot.children.insertBefore(this, refBlot);\n if (refBlot != null) {\n refDomNode = refBlot.domNode;\n }\n if (this.domNode.parentNode != parentBlot.domNode ||\n this.domNode.nextSibling != refDomNode) {\n parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n }\n this.parent = parentBlot;\n this.attach();\n };\n ShadowBlot.prototype.isolate = function (index, length) {\n var target = this.split(index);\n target.split(length);\n return target;\n };\n ShadowBlot.prototype.length = function () {\n return 1;\n };\n ShadowBlot.prototype.offset = function (root) {\n if (root === void 0) { root = this.parent; }\n if (this.parent == null || this == root)\n return 0;\n return this.parent.children.offset(this) + this.parent.offset(root);\n };\n ShadowBlot.prototype.optimize = function (context) {\n // TODO clean up once we use WeakMap\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY] != null) {\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY].mutations;\n }\n };\n ShadowBlot.prototype.remove = function () {\n if (this.domNode.parentNode != null) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n this.detach();\n };\n ShadowBlot.prototype.replace = function (target) {\n if (target.parent == null)\n return;\n target.parent.insertBefore(this, target.next);\n target.remove();\n };\n ShadowBlot.prototype.replaceWith = function (name, value) {\n var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n replacement.replace(this);\n return replacement;\n };\n ShadowBlot.prototype.split = function (index, force) {\n return index === 0 ? this : this.next;\n };\n ShadowBlot.prototype.update = function (mutations, context) {\n // Nothing to do by default\n };\n ShadowBlot.prototype.wrap = function (name, value) {\n var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n if (this.parent != null) {\n this.parent.insertBefore(wrapper, this.next);\n }\n wrapper.appendChild(this);\n return wrapper;\n };\n ShadowBlot.blotName = 'abstract';\n return ShadowBlot;\n}());\nexports.default = ShadowBlot;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar Registry = __webpack_require__(1);\nvar AttributorStore = /** @class */ (function () {\n function AttributorStore(domNode) {\n this.attributes = {};\n this.domNode = domNode;\n this.build();\n }\n AttributorStore.prototype.attribute = function (attribute, value) {\n // verb\n if (value) {\n if (attribute.add(this.domNode, value)) {\n if (attribute.value(this.domNode) != null) {\n this.attributes[attribute.attrName] = attribute;\n }\n else {\n delete this.attributes[attribute.attrName];\n }\n }\n }\n else {\n attribute.remove(this.domNode);\n delete this.attributes[attribute.attrName];\n }\n };\n AttributorStore.prototype.build = function () {\n var _this = this;\n this.attributes = {};\n var attributes = attributor_1.default.keys(this.domNode);\n var classes = class_1.default.keys(this.domNode);\n var styles = style_1.default.keys(this.domNode);\n attributes\n .concat(classes)\n .concat(styles)\n .forEach(function (name) {\n var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n if (attr instanceof attributor_1.default) {\n _this.attributes[attr.attrName] = attr;\n }\n });\n };\n AttributorStore.prototype.copy = function (target) {\n var _this = this;\n Object.keys(this.attributes).forEach(function (key) {\n var value = _this.attributes[key].value(_this.domNode);\n target.format(key, value);\n });\n };\n AttributorStore.prototype.move = function (target) {\n var _this = this;\n this.copy(target);\n Object.keys(this.attributes).forEach(function (key) {\n _this.attributes[key].remove(_this.domNode);\n });\n this.attributes = {};\n };\n AttributorStore.prototype.values = function () {\n var _this = this;\n return Object.keys(this.attributes).reduce(function (attributes, name) {\n attributes[name] = _this.attributes[name].value(_this.domNode);\n return attributes;\n }, {});\n };\n return AttributorStore;\n}());\nexports.default = AttributorStore;\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction match(node, prefix) {\n var className = node.getAttribute('class') || '';\n return className.split(/\\s+/).filter(function (name) {\n return name.indexOf(prefix + \"-\") === 0;\n });\n}\nvar ClassAttributor = /** @class */ (function (_super) {\n __extends(ClassAttributor, _super);\n function ClassAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ClassAttributor.keys = function (node) {\n return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n return name\n .split('-')\n .slice(0, -1)\n .join('-');\n });\n };\n ClassAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n this.remove(node);\n node.classList.add(this.keyName + \"-\" + value);\n return true;\n };\n ClassAttributor.prototype.remove = function (node) {\n var matches = match(node, this.keyName);\n matches.forEach(function (name) {\n node.classList.remove(name);\n });\n if (node.classList.length === 0) {\n node.removeAttribute('class');\n }\n };\n ClassAttributor.prototype.value = function (node) {\n var result = match(node, this.keyName)[0] || '';\n var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n return this.canAdd(node, value) ? value : '';\n };\n return ClassAttributor;\n}(attributor_1.default));\nexports.default = ClassAttributor;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction camelize(name) {\n var parts = name.split('-');\n var rest = parts\n .slice(1)\n .map(function (part) {\n return part[0].toUpperCase() + part.slice(1);\n })\n .join('');\n return parts[0] + rest;\n}\nvar StyleAttributor = /** @class */ (function (_super) {\n __extends(StyleAttributor, _super);\n function StyleAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StyleAttributor.keys = function (node) {\n return (node.getAttribute('style') || '').split(';').map(function (value) {\n var arr = value.split(':');\n return arr[0].trim();\n });\n };\n StyleAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n // @ts-ignore\n node.style[camelize(this.keyName)] = value;\n return true;\n };\n StyleAttributor.prototype.remove = function (node) {\n // @ts-ignore\n node.style[camelize(this.keyName)] = '';\n if (!node.getAttribute('style')) {\n node.removeAttribute('style');\n }\n };\n StyleAttributor.prototype.value = function (node) {\n // @ts-ignore\n var value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : '';\n };\n return StyleAttributor;\n}(attributor_1.default));\nexports.default = StyleAttributor;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Theme = function () {\n function Theme(quill, options) {\n _classCallCheck(this, Theme);\n\n this.quill = quill;\n this.options = options;\n this.modules = {};\n }\n\n _createClass(Theme, [{\n key: 'init',\n value: function init() {\n var _this = this;\n\n Object.keys(this.options.modules).forEach(function (name) {\n if (_this.modules[name] == null) {\n _this.addModule(name);\n }\n });\n }\n }, {\n key: 'addModule',\n value: function addModule(name) {\n var moduleClass = this.quill.constructor.import('modules/' + name);\n this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n }]);\n\n return Theme;\n}();\n\nTheme.DEFAULTS = {\n modules: {}\n};\nTheme.themes = {\n 'default': Theme\n};\n\nexports.default = Theme;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GUARD_TEXT = '\\uFEFF';\n\nvar Embed = function (_Parchment$Embed) {\n _inherits(Embed, _Parchment$Embed);\n\n function Embed(node) {\n _classCallCheck(this, Embed);\n\n var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n\n _this.contentNode = document.createElement('span');\n _this.contentNode.setAttribute('contenteditable', false);\n [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\n _this.contentNode.appendChild(childNode);\n });\n _this.leftGuard = document.createTextNode(GUARD_TEXT);\n _this.rightGuard = document.createTextNode(GUARD_TEXT);\n _this.domNode.appendChild(_this.leftGuard);\n _this.domNode.appendChild(_this.contentNode);\n _this.domNode.appendChild(_this.rightGuard);\n return _this;\n }\n\n _createClass(Embed, [{\n key: 'index',\n value: function index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'restore',\n value: function restore(node) {\n var range = void 0,\n textNode = void 0;\n var text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof _text2.default) {\n var prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof _text2.default) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n mutations.forEach(function (mutation) {\n if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n var range = _this2.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n }]);\n\n return Embed;\n}(_parchment2.default.Embed);\n\nexports.default = Embed;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n};\n\nvar AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\nvar AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\nvar AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n\nexports.AlignAttribute = AlignAttribute;\nexports.AlignClass = AlignClass;\nexports.AlignStyle = AlignStyle;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BackgroundStyle = exports.BackgroundClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _color = __webpack_require__(26);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.BackgroundClass = BackgroundClass;\nexports.BackgroundStyle = BackgroundStyle;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['rtl']\n};\n\nvar DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\nvar DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\nvar DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n\nexports.DirectionAttribute = DirectionAttribute;\nexports.DirectionClass = DirectionClass;\nexports.DirectionStyle = DirectionStyle;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontClass = exports.FontStyle = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar config = {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['serif', 'monospace']\n};\n\nvar FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n\nvar FontStyleAttributor = function (_Parchment$Attributor) {\n _inherits(FontStyleAttributor, _Parchment$Attributor);\n\n function FontStyleAttributor() {\n _classCallCheck(this, FontStyleAttributor);\n\n return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n }\n\n _createClass(FontStyleAttributor, [{\n key: 'value',\n value: function value(node) {\n return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\"']/g, '');\n }\n }]);\n\n return FontStyleAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\n\nexports.FontStyle = FontStyle;\nexports.FontClass = FontClass;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SizeStyle = exports.SizeClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n});\nvar SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n});\n\nexports.SizeClass = SizeClass;\nexports.SizeStyle = SizeStyle;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n 'align': {\n '': __webpack_require__(76),\n 'center': __webpack_require__(77),\n 'right': __webpack_require__(78),\n 'justify': __webpack_require__(79)\n },\n 'background': __webpack_require__(80),\n 'blockquote': __webpack_require__(81),\n 'bold': __webpack_require__(82),\n 'clean': __webpack_require__(83),\n 'code': __webpack_require__(58),\n 'code-block': __webpack_require__(58),\n 'color': __webpack_require__(84),\n 'direction': {\n '': __webpack_require__(85),\n 'rtl': __webpack_require__(86)\n },\n 'float': {\n 'center': __webpack_require__(87),\n 'full': __webpack_require__(88),\n 'left': __webpack_require__(89),\n 'right': __webpack_require__(90)\n },\n 'formula': __webpack_require__(91),\n 'header': {\n '1': __webpack_require__(92),\n '2': __webpack_require__(93)\n },\n 'italic': __webpack_require__(94),\n 'image': __webpack_require__(95),\n 'indent': {\n '+1': __webpack_require__(96),\n '-1': __webpack_require__(97)\n },\n 'link': __webpack_require__(98),\n 'list': {\n 'ordered': __webpack_require__(99),\n 'bullet': __webpack_require__(100),\n 'check': __webpack_require__(101)\n },\n 'script': {\n 'sub': __webpack_require__(102),\n 'super': __webpack_require__(103)\n },\n 'strike': __webpack_require__(104),\n 'underline': __webpack_require__(105),\n 'video': __webpack_require__(106)\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLastChangeIndex = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar History = function (_Module) {\n _inherits(History, _Module);\n\n function History(quill, options) {\n _classCallCheck(this, History);\n\n var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n\n _this.lastRecorded = 0;\n _this.ignoreChange = false;\n _this.clear();\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\n if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\n _this.record(delta, oldDelta);\n } else {\n _this.transform(delta);\n }\n });\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true }, _this.undo.bind(_this));\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));\n if (/Win/i.test(navigator.platform)) {\n _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));\n }\n return _this;\n }\n\n _createClass(History, [{\n key: 'change',\n value: function change(source, dest) {\n if (this.stack[source].length === 0) return;\n var delta = this.stack[source].pop();\n this.stack[dest].push(delta);\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.updateContents(delta[source], _quill2.default.sources.USER);\n this.ignoreChange = false;\n var index = getLastChangeIndex(delta[source]);\n this.quill.setSelection(index);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stack = { undo: [], redo: [] };\n }\n }, {\n key: 'cutoff',\n value: function cutoff() {\n this.lastRecorded = 0;\n }\n }, {\n key: 'record',\n value: function record(changeDelta, oldDelta) {\n if (changeDelta.ops.length === 0) return;\n this.stack.redo = [];\n var undoDelta = this.quill.getContents().diff(oldDelta);\n var timestamp = Date.now();\n if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n var delta = this.stack.undo.pop();\n undoDelta = undoDelta.compose(delta.undo);\n changeDelta = delta.redo.compose(changeDelta);\n } else {\n this.lastRecorded = timestamp;\n }\n this.stack.undo.push({\n redo: changeDelta,\n undo: undoDelta\n });\n if (this.stack.undo.length > this.options.maxStack) {\n this.stack.undo.shift();\n }\n }\n }, {\n key: 'redo',\n value: function redo() {\n this.change('redo', 'undo');\n }\n }, {\n key: 'transform',\n value: function transform(delta) {\n this.stack.undo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n this.stack.redo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n }\n }, {\n key: 'undo',\n value: function undo() {\n this.change('undo', 'redo');\n }\n }]);\n\n return History;\n}(_module2.default);\n\nHistory.DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n};\n\nfunction endsWithNewlineChange(delta) {\n var lastOp = delta.ops[delta.ops.length - 1];\n if (lastOp == null) return false;\n if (lastOp.insert != null) {\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n }\n if (lastOp.attributes != null) {\n return Object.keys(lastOp.attributes).some(function (attr) {\n return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\n });\n }\n return false;\n}\n\nfunction getLastChangeIndex(delta) {\n var deleteLength = delta.reduce(function (length, op) {\n length += op.delete || 0;\n return length;\n }, 0);\n var changeIndex = delta.length() - deleteLength;\n if (endsWithNewlineChange(delta)) {\n changeIndex -= 1;\n }\n return changeIndex;\n}\n\nexports.default = History;\nexports.getLastChangeIndex = getLastChangeIndex;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BaseTooltip = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ALIGNS = [false, 'center', 'right', 'justify'];\n\nvar COLORS = [\"#000000\", \"#e60000\", \"#ff9900\", \"#ffff00\", \"#008a00\", \"#0066cc\", \"#9933ff\", \"#ffffff\", \"#facccc\", \"#ffebcc\", \"#ffffcc\", \"#cce8cc\", \"#cce0f5\", \"#ebd6ff\", \"#bbbbbb\", \"#f06666\", \"#ffc266\", \"#ffff66\", \"#66b966\", \"#66a3e0\", \"#c285ff\", \"#888888\", \"#a10000\", \"#b26b00\", \"#b2b200\", \"#006100\", \"#0047b2\", \"#6b24b2\", \"#444444\", \"#5c0000\", \"#663d00\", \"#666600\", \"#003700\", \"#002966\", \"#3d1466\"];\n\nvar FONTS = [false, 'serif', 'monospace'];\n\nvar HEADERS = ['1', '2', '3', false];\n\nvar SIZES = ['small', false, 'large', 'huge'];\n\nvar BaseTheme = function (_Theme) {\n _inherits(BaseTheme, _Theme);\n\n function BaseTheme(quill, options) {\n _classCallCheck(this, BaseTheme);\n\n var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n\n var listener = function listener(e) {\n if (!document.body.contains(quill.root)) {\n return document.body.removeEventListener('click', listener);\n }\n if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\n _this.tooltip.hide();\n }\n if (_this.pickers != null) {\n _this.pickers.forEach(function (picker) {\n if (!picker.container.contains(e.target)) {\n picker.close();\n }\n });\n }\n };\n quill.emitter.listenDOM('click', document.body, listener);\n return _this;\n }\n\n _createClass(BaseTheme, [{\n key: 'addModule',\n value: function addModule(name) {\n var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\n if (name === 'toolbar') {\n this.extendToolbar(module);\n }\n return module;\n }\n }, {\n key: 'buildButtons',\n value: function buildButtons(buttons, icons) {\n buttons.forEach(function (button) {\n var className = button.getAttribute('class') || '';\n className.split(/\\s+/).forEach(function (name) {\n if (!name.startsWith('ql-')) return;\n name = name.slice('ql-'.length);\n if (icons[name] == null) return;\n if (name === 'direction') {\n button.innerHTML = icons[name][''] + icons[name]['rtl'];\n } else if (typeof icons[name] === 'string') {\n button.innerHTML = icons[name];\n } else {\n var value = button.value || '';\n if (value != null && icons[name][value]) {\n button.innerHTML = icons[name][value];\n }\n }\n });\n });\n }\n }, {\n key: 'buildPickers',\n value: function buildPickers(selects, icons) {\n var _this2 = this;\n\n this.pickers = selects.map(function (select) {\n if (select.classList.contains('ql-align')) {\n if (select.querySelector('option') == null) {\n fillSelect(select, ALIGNS);\n }\n return new _iconPicker2.default(select, icons.align);\n } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n var format = select.classList.contains('ql-background') ? 'background' : 'color';\n if (select.querySelector('option') == null) {\n fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n }\n return new _colorPicker2.default(select, icons[format]);\n } else {\n if (select.querySelector('option') == null) {\n if (select.classList.contains('ql-font')) {\n fillSelect(select, FONTS);\n } else if (select.classList.contains('ql-header')) {\n fillSelect(select, HEADERS);\n } else if (select.classList.contains('ql-size')) {\n fillSelect(select, SIZES);\n }\n }\n return new _picker2.default(select);\n }\n });\n var update = function update() {\n _this2.pickers.forEach(function (picker) {\n picker.update();\n });\n };\n this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\n }\n }]);\n\n return BaseTheme;\n}(_theme2.default);\n\nBaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n formula: function formula() {\n this.quill.theme.tooltip.edit('formula');\n },\n image: function image() {\n var _this3 = this;\n\n var fileInput = this.container.querySelector('input.ql-image[type=file]');\n if (fileInput == null) {\n fileInput = document.createElement('input');\n fileInput.setAttribute('type', 'file');\n fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\n fileInput.classList.add('ql-image');\n fileInput.addEventListener('change', function () {\n if (fileInput.files != null && fileInput.files[0] != null) {\n var reader = new FileReader();\n reader.onload = function (e) {\n var range = _this3.quill.getSelection(true);\n _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), _emitter2.default.sources.USER);\n _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\n fileInput.value = \"\";\n };\n reader.readAsDataURL(fileInput.files[0]);\n }\n });\n this.container.appendChild(fileInput);\n }\n fileInput.click();\n },\n video: function video() {\n this.quill.theme.tooltip.edit('video');\n }\n }\n }\n }\n});\n\nvar BaseTooltip = function (_Tooltip) {\n _inherits(BaseTooltip, _Tooltip);\n\n function BaseTooltip(quill, boundsContainer) {\n _classCallCheck(this, BaseTooltip);\n\n var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n\n _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n _this4.listen();\n return _this4;\n }\n\n _createClass(BaseTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this5 = this;\n\n this.textbox.addEventListener('keydown', function (event) {\n if (_keyboard2.default.match(event, 'enter')) {\n _this5.save();\n event.preventDefault();\n } else if (_keyboard2.default.match(event, 'escape')) {\n _this5.cancel();\n event.preventDefault();\n }\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.hide();\n }\n }, {\n key: 'edit',\n value: function edit() {\n var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n this.root.classList.remove('ql-hidden');\n this.root.classList.add('ql-editing');\n if (preview != null) {\n this.textbox.value = preview;\n } else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = '';\n }\n this.position(this.quill.getBounds(this.quill.selection.savedRange));\n this.textbox.select();\n this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\n this.root.setAttribute('data-mode', mode);\n }\n }, {\n key: 'restoreFocus',\n value: function restoreFocus() {\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.quill.focus();\n this.quill.scrollingContainer.scrollTop = scrollTop;\n }\n }, {\n key: 'save',\n value: function save() {\n var value = this.textbox.value;\n switch (this.root.getAttribute('data-mode')) {\n case 'link':\n {\n var scrollTop = this.quill.root.scrollTop;\n if (this.linkRange) {\n this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\n delete this.linkRange;\n } else {\n this.restoreFocus();\n this.quill.format('link', value, _emitter2.default.sources.USER);\n }\n this.quill.root.scrollTop = scrollTop;\n break;\n }\n case 'video':\n {\n value = extractVideoUrl(value);\n } // eslint-disable-next-line no-fallthrough\n case 'formula':\n {\n if (!value) break;\n var range = this.quill.getSelection(true);\n if (range != null) {\n var index = range.index + range.length;\n this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\n }\n this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\n }\n break;\n }\n default:\n }\n this.textbox.value = '';\n this.hide();\n }\n }]);\n\n return BaseTooltip;\n}(_tooltip2.default);\n\nfunction extractVideoUrl(url) {\n var match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n if (match) {\n return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\n }\n if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n // eslint-disable-line no-cond-assign\n return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\n }\n return url;\n}\n\nfunction fillSelect(select, values) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value === defaultValue) {\n option.setAttribute('selected', 'selected');\n } else {\n option.setAttribute('value', value);\n }\n select.appendChild(option);\n });\n}\n\nexports.BaseTooltip = BaseTooltip;\nexports.default = BaseTheme;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkedList = /** @class */ (function () {\n function LinkedList() {\n this.head = this.tail = null;\n this.length = 0;\n }\n LinkedList.prototype.append = function () {\n var nodes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nodes[_i] = arguments[_i];\n }\n this.insertBefore(nodes[0], null);\n if (nodes.length > 1) {\n this.append.apply(this, nodes.slice(1));\n }\n };\n LinkedList.prototype.contains = function (node) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n if (cur === node)\n return true;\n }\n return false;\n };\n LinkedList.prototype.insertBefore = function (node, refNode) {\n if (!node)\n return;\n node.next = refNode;\n if (refNode != null) {\n node.prev = refNode.prev;\n if (refNode.prev != null) {\n refNode.prev.next = node;\n }\n refNode.prev = node;\n if (refNode === this.head) {\n this.head = node;\n }\n }\n else if (this.tail != null) {\n this.tail.next = node;\n node.prev = this.tail;\n this.tail = node;\n }\n else {\n node.prev = null;\n this.head = this.tail = node;\n }\n this.length += 1;\n };\n LinkedList.prototype.offset = function (target) {\n var index = 0, cur = this.head;\n while (cur != null) {\n if (cur === target)\n return index;\n index += cur.length();\n cur = cur.next;\n }\n return -1;\n };\n LinkedList.prototype.remove = function (node) {\n if (!this.contains(node))\n return;\n if (node.prev != null)\n node.prev.next = node.next;\n if (node.next != null)\n node.next.prev = node.prev;\n if (node === this.head)\n this.head = node.next;\n if (node === this.tail)\n this.tail = node.prev;\n this.length -= 1;\n };\n LinkedList.prototype.iterator = function (curNode) {\n if (curNode === void 0) { curNode = this.head; }\n // TODO use yield when we can\n return function () {\n var ret = curNode;\n if (curNode != null)\n curNode = curNode.next;\n return ret;\n };\n };\n LinkedList.prototype.find = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var cur, next = this.iterator();\n while ((cur = next())) {\n var length = cur.length();\n if (index < length ||\n (inclusive && index === length && (cur.next == null || cur.next.length() !== 0))) {\n return [cur, index];\n }\n index -= length;\n }\n return [null, 0];\n };\n LinkedList.prototype.forEach = function (callback) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n callback(cur);\n }\n };\n LinkedList.prototype.forEachAt = function (index, length, callback) {\n if (length <= 0)\n return;\n var _a = this.find(index), startNode = _a[0], offset = _a[1];\n var cur, curIndex = index - offset, next = this.iterator(startNode);\n while ((cur = next()) && curIndex < index + length) {\n var curLength = cur.length();\n if (index > curIndex) {\n callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n }\n else {\n callback(cur, 0, Math.min(curLength, index + length - curIndex));\n }\n curIndex += curLength;\n }\n };\n LinkedList.prototype.map = function (callback) {\n return this.reduce(function (memo, cur) {\n memo.push(callback(cur));\n return memo;\n }, []);\n };\n LinkedList.prototype.reduce = function (callback, memo) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n memo = callback(memo, cur);\n }\n return memo;\n };\n return LinkedList;\n}());\nexports.default = LinkedList;\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar OBSERVER_CONFIG = {\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true,\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar ScrollBlot = /** @class */ (function (_super) {\n __extends(ScrollBlot, _super);\n function ScrollBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.scroll = _this;\n _this.observer = new MutationObserver(function (mutations) {\n _this.update(mutations);\n });\n _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n _this.attach();\n return _this;\n }\n ScrollBlot.prototype.detach = function () {\n _super.prototype.detach.call(this);\n this.observer.disconnect();\n };\n ScrollBlot.prototype.deleteAt = function (index, length) {\n this.update();\n if (index === 0 && length === this.length()) {\n this.children.forEach(function (child) {\n child.remove();\n });\n }\n else {\n _super.prototype.deleteAt.call(this, index, length);\n }\n };\n ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n this.update();\n _super.prototype.formatAt.call(this, index, length, name, value);\n };\n ScrollBlot.prototype.insertAt = function (index, value, def) {\n this.update();\n _super.prototype.insertAt.call(this, index, value, def);\n };\n ScrollBlot.prototype.optimize = function (mutations, context) {\n var _this = this;\n if (mutations === void 0) { mutations = []; }\n if (context === void 0) { context = {}; }\n _super.prototype.optimize.call(this, context);\n // We must modify mutations directly, cannot make copy and then modify\n var records = [].slice.call(this.observer.takeRecords());\n // Array.push currently seems to be implemented by a non-tail recursive function\n // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n while (records.length > 0)\n mutations.push(records.pop());\n // TODO use WeakMap\n var mark = function (blot, markParent) {\n if (markParent === void 0) { markParent = true; }\n if (blot == null || blot === _this)\n return;\n if (blot.domNode.parentNode == null)\n return;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [];\n }\n if (markParent)\n mark(blot.parent);\n };\n var optimize = function (blot) {\n // Post-order traversal\n if (\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY] == null ||\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations == null) {\n return;\n }\n if (blot instanceof container_1.default) {\n blot.children.forEach(optimize);\n }\n blot.optimize(context);\n };\n var remaining = mutations;\n for (var i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS) {\n throw new Error('[Parchment] Maximum optimize iterations reached');\n }\n remaining.forEach(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return;\n if (blot.domNode === mutation.target) {\n if (mutation.type === 'childList') {\n mark(Registry.find(mutation.previousSibling, false));\n [].forEach.call(mutation.addedNodes, function (node) {\n var child = Registry.find(node, false);\n mark(child, false);\n if (child instanceof container_1.default) {\n child.children.forEach(function (grandChild) {\n mark(grandChild, false);\n });\n }\n });\n }\n else if (mutation.type === 'attributes') {\n mark(blot.prev);\n }\n }\n mark(blot);\n });\n this.children.forEach(optimize);\n remaining = [].slice.call(this.observer.takeRecords());\n records = remaining.slice();\n while (records.length > 0)\n mutations.push(records.pop());\n }\n };\n ScrollBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (context === void 0) { context = {}; }\n mutations = mutations || this.observer.takeRecords();\n // TODO use WeakMap\n mutations\n .map(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return null;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n return blot;\n }\n else {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n return null;\n }\n })\n .forEach(function (blot) {\n if (blot == null ||\n blot === _this ||\n //@ts-ignore\n blot.domNode[Registry.DATA_KEY] == null)\n return;\n // @ts-ignore\n blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n });\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY].mutations != null) {\n // @ts-ignore\n _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n }\n this.optimize(mutations, context);\n };\n ScrollBlot.blotName = 'scroll';\n ScrollBlot.defaultChild = 'block';\n ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n ScrollBlot.tagName = 'DIV';\n return ScrollBlot;\n}(container_1.default));\nexports.default = ScrollBlot;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return false;\n // @ts-ignore\n for (var prop in obj1) {\n // @ts-ignore\n if (obj1[prop] !== obj2[prop])\n return false;\n }\n return true;\n}\nvar InlineBlot = /** @class */ (function (_super) {\n __extends(InlineBlot, _super);\n function InlineBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InlineBlot.formats = function (domNode) {\n if (domNode.tagName === InlineBlot.tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n InlineBlot.prototype.format = function (name, value) {\n var _this = this;\n if (name === this.statics.blotName && !value) {\n this.children.forEach(function (child) {\n if (!(child instanceof format_1.default)) {\n child = child.wrap(InlineBlot.blotName, true);\n }\n _this.attributes.copy(child);\n });\n this.unwrap();\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n InlineBlot.prototype.formatAt = function (index, length, name, value) {\n if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n var blot = this.isolate(index, length);\n blot.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n InlineBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n var formats = this.formats();\n if (Object.keys(formats).length === 0) {\n return this.unwrap(); // unformatted span\n }\n var next = this.next;\n if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n next.moveChildren(this);\n next.remove();\n }\n };\n InlineBlot.blotName = 'inline';\n InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n InlineBlot.tagName = 'SPAN';\n return InlineBlot;\n}(format_1.default));\nexports.default = InlineBlot;\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\nvar BlockBlot = /** @class */ (function (_super) {\n __extends(BlockBlot, _super);\n function BlockBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BlockBlot.formats = function (domNode) {\n var tagName = Registry.query(BlockBlot.blotName).tagName;\n if (domNode.tagName === tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n BlockBlot.prototype.format = function (name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n return;\n }\n else if (name === this.statics.blotName && !value) {\n this.replaceWith(BlockBlot.blotName);\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n BlockBlot.prototype.formatAt = function (index, length, name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n BlockBlot.prototype.insertAt = function (index, value, def) {\n if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n // Insert text or inline\n _super.prototype.insertAt.call(this, index, value, def);\n }\n else {\n var after = this.split(index);\n var blot = Registry.create(value, def);\n after.parent.insertBefore(blot, after);\n }\n };\n BlockBlot.prototype.update = function (mutations, context) {\n if (navigator.userAgent.match(/Trident/)) {\n this.build();\n }\n else {\n _super.prototype.update.call(this, mutations, context);\n }\n };\n BlockBlot.blotName = 'block';\n BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n BlockBlot.tagName = 'P';\n return BlockBlot;\n}(format_1.default));\nexports.default = BlockBlot;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar EmbedBlot = /** @class */ (function (_super) {\n __extends(EmbedBlot, _super);\n function EmbedBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmbedBlot.formats = function (domNode) {\n return undefined;\n };\n EmbedBlot.prototype.format = function (name, value) {\n // super.formatAt wraps, which is what we want in general,\n // but this allows subclasses to overwrite for formats\n // that just apply to particular embeds\n _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n };\n EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n if (index === 0 && length === this.length()) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n EmbedBlot.prototype.formats = function () {\n return this.statics.formats(this.domNode);\n };\n return EmbedBlot;\n}(leaf_1.default));\nexports.default = EmbedBlot;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar Registry = __webpack_require__(1);\nvar TextBlot = /** @class */ (function (_super) {\n __extends(TextBlot, _super);\n function TextBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.text = _this.statics.value(_this.domNode);\n return _this;\n }\n TextBlot.create = function (value) {\n return document.createTextNode(value);\n };\n TextBlot.value = function (domNode) {\n var text = domNode.data;\n // @ts-ignore\n if (text['normalize'])\n text = text['normalize']();\n return text;\n };\n TextBlot.prototype.deleteAt = function (index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n };\n TextBlot.prototype.index = function (node, offset) {\n if (this.domNode === node) {\n return offset;\n }\n return -1;\n };\n TextBlot.prototype.insertAt = function (index, value, def) {\n if (def == null) {\n this.text = this.text.slice(0, index) + value + this.text.slice(index);\n this.domNode.data = this.text;\n }\n else {\n _super.prototype.insertAt.call(this, index, value, def);\n }\n };\n TextBlot.prototype.length = function () {\n return this.text.length;\n };\n TextBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n this.text = this.statics.value(this.domNode);\n if (this.text.length === 0) {\n this.remove();\n }\n else if (this.next instanceof TextBlot && this.next.prev === this) {\n this.insertAt(this.length(), this.next.value());\n this.next.remove();\n }\n };\n TextBlot.prototype.position = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n return [this.domNode, index];\n };\n TextBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = Registry.create(this.domNode.splitText(index));\n this.parent.insertBefore(after, this.next);\n this.text = this.statics.value(this.domNode);\n return after;\n };\n TextBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this.domNode;\n })) {\n this.text = this.statics.value(this.domNode);\n }\n };\n TextBlot.prototype.value = function () {\n return this.text;\n };\n TextBlot.blotName = 'text';\n TextBlot.scope = Registry.Scope.INLINE_BLOT;\n return TextBlot;\n}(leaf_1.default));\nexports.default = TextBlot;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar elem = document.createElement('div');\nelem.classList.toggle('test-class', false);\nif (elem.classList.contains('test-class')) {\n var _toggle = DOMTokenList.prototype.toggle;\n DOMTokenList.prototype.toggle = function (token, force) {\n if (arguments.length > 1 && !this.contains(token) === !force) {\n return force;\n } else {\n return _toggle.call(this, token);\n }\n };\n}\n\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.substr(position, searchString.length) === searchString;\n };\n}\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n}\n\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, \"find\", {\n value: function value(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n return undefined;\n }\n });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n // Disable resizing in Firefox\n document.execCommand(\"enableObjectResizing\", false, false);\n // Disable automatic linkifying in IE11\n document.execCommand(\"autoUrlDetect\", false, false);\n});\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\n/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos) {\n // Check for equality (speedup).\n if (text1 == text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n // Check cursor_pos within bounds\n if (cursor_pos < 0 || text1.length < cursor_pos) {\n cursor_pos = null;\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs);\n if (cursor_pos != null) {\n diffs = fix_cursor(diffs, cursor_pos);\n }\n diffs = fix_emoji(diffs);\n return diffs;\n};\n\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i != -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [[DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length == 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = (delta % 2 != 0);\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (x1 < text1_length && y1 < text2_length &&\n text1.charAt(x1) == text2.charAt(y1)) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (x2 < text1_length && y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ==\n text2.charAt(text2_length - y2 - 1)) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 ||\n text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n var prefixLength = diff_commonPrefix(longtext.substring(i),\n shorttext.substring(j));\n var suffixLength = diff_commonSuffix(longtext.substring(0, i),\n shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [best_longtext_a, best_longtext_b,\n best_shorttext_a, best_shorttext_b, best_common];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\nfunction diff_cleanupMerge(diffs) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n // Upon reaching an equality, check for prior redundancies.\n if (count_delete + count_insert > 1) {\n if (count_delete !== 0 && count_insert !== 0) {\n // Factor out any common prefixies.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if ((pointer - count_delete - count_insert) > 0 &&\n diffs[pointer - count_delete - count_insert - 1][0] ==\n DIFF_EQUAL) {\n diffs[pointer - count_delete - count_insert - 1][1] +=\n text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL,\n text_insert.substring(0, commonlength)]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixies.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] = text_insert.substring(text_insert.length -\n commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length -\n commonlength);\n text_delete = text_delete.substring(0, text_delete.length -\n commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n if (count_delete === 0) {\n diffs.splice(pointer - count_insert,\n count_delete + count_insert, [DIFF_INSERT, text_insert]);\n } else if (count_insert === 0) {\n diffs.splice(pointer - count_delete,\n count_delete + count_insert, [DIFF_DELETE, text_delete]);\n } else {\n diffs.splice(pointer - count_delete - count_insert,\n count_delete + count_insert, [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]);\n }\n pointer = pointer - count_delete - count_insert +\n (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length -\n diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n};\n\n\nvar diff = diff_main;\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n/*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n * cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n * => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n * cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n * => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\nfunction cursor_normalize_diff (diffs, cursor_pos) {\n if (cursor_pos === 0) {\n return [DIFF_EQUAL, diffs];\n }\n for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n var d = diffs[i];\n if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n var next_pos = current_pos + d[1].length;\n if (cursor_pos === next_pos) {\n return [i + 1, diffs];\n } else if (cursor_pos < next_pos) {\n // copy to prevent side effects\n diffs = diffs.slice();\n // split d into two diff changes\n var split_pos = cursor_pos - current_pos;\n var d_left = [d[0], d[1].slice(0, split_pos)];\n var d_right = [d[0], d[1].slice(split_pos)];\n diffs.splice(i, 1, d_left, d_right);\n return [i + 1, diffs];\n } else {\n current_pos = next_pos;\n }\n }\n }\n throw new Error('cursor_pos is out of bounds!')\n}\n\n/*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n * Check if a naive shift is possible:\n * [0, X], [ 1, Y] -> [ 1, Y], [0, X] (if X + Y === Y + X)\n * [0, X], [-1, Y] -> [-1, Y], [0, X] (if X + Y === Y + X) - holds same result\n * Case 2)\n * Check if the following shifts are possible:\n * [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n * [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n * ^ ^\n * d d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\nfunction fix_cursor (diffs, cursor_pos) {\n var norm = cursor_normalize_diff(diffs, cursor_pos);\n var ndiffs = norm[1];\n var cursor_pointer = norm[0];\n var d = ndiffs[cursor_pointer];\n var d_next = ndiffs[cursor_pointer + 1];\n\n if (d == null) {\n // Text was deleted from end of original string,\n // cursor is now out of bounds in new string\n return diffs;\n } else if (d[0] !== DIFF_EQUAL) {\n // A modification happened at the cursor location.\n // This is the expected outcome, so we can return the original diff.\n return diffs;\n } else {\n if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n // Case 1)\n // It is possible to perform a naive shift\n ndiffs.splice(cursor_pointer, 2, d_next, d)\n return merge_tuples(ndiffs, cursor_pointer, 2)\n } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n // Case 2)\n // d[1] is a prefix of d_next[1]\n // We can assume that d_next[0] !== 0, since d[0] === 0\n // Shift edit locations..\n ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n var suffix = d_next[1].slice(d[1].length);\n if (suffix.length > 0) {\n ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n }\n return merge_tuples(ndiffs, cursor_pointer, 3)\n } else {\n // Not possible to perform any modification\n return diffs;\n }\n }\n}\n\n/*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n * '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\nfunction fix_emoji (diffs) {\n var compact = false;\n var starts_with_pair_end = function(str) {\n return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n }\n var ends_with_pair_start = function(str) {\n return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;\n }\n for (var i = 2; i < diffs.length; i += 1) {\n if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&\n diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\n diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n compact = true;\n\n diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];\n diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];\n\n diffs[i-2][1] = diffs[i-2][1].slice(0, -1);\n }\n }\n if (!compact) {\n return diffs;\n }\n var fixed_diffs = [];\n for (var i = 0; i < diffs.length; i += 1) {\n if (diffs[i][1].length > 0) {\n fixed_diffs.push(diffs[i]);\n }\n }\n return fixed_diffs;\n}\n\n/*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\nfunction merge_tuples (diffs, start, length) {\n // Check from (start-1) to (start+length).\n for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n if (i + 1 < diffs.length) {\n var left_d = diffs[i];\n var right_d = diffs[i+1];\n if (left_d[0] === right_d[1]) {\n diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n }\n }\n }\n return diffs;\n}\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event\n , available = this._events[evt];\n\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn\n && (!once || listeners.once)\n && (!context || listeners.context === context)\n ) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn\n || (once && !listeners[i].once)\n || (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend2 = __webpack_require__(3);\n\nvar _extend3 = _interopRequireDefault(_extend2);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _align = __webpack_require__(36);\n\nvar _background = __webpack_require__(37);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _color = __webpack_require__(26);\n\nvar _direction = __webpack_require__(38);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:clipboard');\n\nvar DOM_KEY = '__ql-matcher';\n\nvar CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\n\nvar ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar Clipboard = function (_Module) {\n _inherits(Clipboard, _Module);\n\n function Clipboard(quill, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n\n _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\n _this.container = _this.quill.addContainer('ql-clipboard');\n _this.container.setAttribute('contenteditable', true);\n _this.container.setAttribute('tabindex', -1);\n _this.matchers = [];\n CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n selector = _ref2[0],\n matcher = _ref2[1];\n\n if (!options.matchVisual && matcher === matchSpacing) return;\n _this.addMatcher(selector, matcher);\n });\n return _this;\n }\n\n _createClass(Clipboard, [{\n key: 'addMatcher',\n value: function addMatcher(selector, matcher) {\n this.matchers.push([selector, matcher]);\n }\n }, {\n key: 'convert',\n value: function convert(html) {\n if (typeof html === 'string') {\n this.container.innerHTML = html.replace(/\\>\\r?\\n +\\<'); // Remove spaces between tags\n return this.convert();\n }\n var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\n if (formats[_code2.default.blotName]) {\n var text = this.container.innerText;\n this.container.innerHTML = '';\n return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\n }\n\n var _prepareMatching = this.prepareMatching(),\n _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n elementMatchers = _prepareMatching2[0],\n textMatchers = _prepareMatching2[1];\n\n var delta = traverse(this.container, elementMatchers, textMatchers);\n // Remove trailing newline\n if (deltaEndsWith(delta, '\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\n delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\n }\n debug.log('convert', this.container.innerHTML, delta);\n this.container.innerHTML = '';\n return delta;\n }\n }, {\n key: 'dangerouslyPasteHTML',\n value: function dangerouslyPasteHTML(index, html) {\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\n\n if (typeof index === 'string') {\n this.quill.setContents(this.convert(index), html);\n this.quill.setSelection(0, _quill2.default.sources.SILENT);\n } else {\n var paste = this.convert(html);\n this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\n this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\n }\n }\n }, {\n key: 'onPaste',\n value: function onPaste(e) {\n var _this2 = this;\n\n if (e.defaultPrevented || !this.quill.isEnabled()) return;\n var range = this.quill.getSelection();\n var delta = new _quillDelta2.default().retain(range.index);\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.container.focus();\n this.quill.selection.update(_quill2.default.sources.SILENT);\n setTimeout(function () {\n delta = delta.concat(_this2.convert()).delete(range.length);\n _this2.quill.updateContents(delta, _quill2.default.sources.USER);\n // range.length contributes to delta.length()\n _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\n _this2.quill.scrollingContainer.scrollTop = scrollTop;\n _this2.quill.focus();\n }, 1);\n }\n }, {\n key: 'prepareMatching',\n value: function prepareMatching() {\n var _this3 = this;\n\n var elementMatchers = [],\n textMatchers = [];\n this.matchers.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n selector = _pair[0],\n matcher = _pair[1];\n\n switch (selector) {\n case Node.TEXT_NODE:\n textMatchers.push(matcher);\n break;\n case Node.ELEMENT_NODE:\n elementMatchers.push(matcher);\n break;\n default:\n [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\n // TODO use weakmap\n node[DOM_KEY] = node[DOM_KEY] || [];\n node[DOM_KEY].push(matcher);\n });\n break;\n }\n });\n return [elementMatchers, textMatchers];\n }\n }]);\n\n return Clipboard;\n}(_module2.default);\n\nClipboard.DEFAULTS = {\n matchers: [],\n matchVisual: true\n};\n\nfunction applyFormat(delta, format, value) {\n if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\n return Object.keys(format).reduce(function (delta, key) {\n return applyFormat(delta, key, format[key]);\n }, delta);\n } else {\n return delta.reduce(function (delta, op) {\n if (op.attributes && op.attributes[format]) {\n return delta.push(op);\n } else {\n return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\n }\n }, new _quillDelta2.default());\n }\n}\n\nfunction computeStyle(node) {\n if (node.nodeType !== Node.ELEMENT_NODE) return {};\n var DOM_KEY = '__ql-computed-style';\n return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\n}\n\nfunction deltaEndsWith(delta, text) {\n var endText = \"\";\n for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\n var op = delta.ops[i];\n if (typeof op.insert !== 'string') break;\n endText = op.insert + endText;\n }\n return endText.slice(-1 * text.length) === text;\n}\n\nfunction isLine(node) {\n if (node.childNodes.length === 0) return false; // Exclude embed blocks\n var style = computeStyle(node);\n return ['block', 'list-item'].indexOf(style.display) > -1;\n}\n\nfunction traverse(node, elementMatchers, textMatchers) {\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce(function (delta, matcher) {\n return matcher(node, delta);\n }, new _quillDelta2.default());\n } else if (node.nodeType === node.ELEMENT_NODE) {\n return [].reduce.call(node.childNodes || [], function (delta, childNode) {\n var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n }\n return delta.concat(childrenDelta);\n }, new _quillDelta2.default());\n } else {\n return new _quillDelta2.default();\n }\n}\n\nfunction matchAlias(format, node, delta) {\n return applyFormat(delta, format, true);\n}\n\nfunction matchAttributor(node, delta) {\n var attributes = _parchment2.default.Attributor.Attribute.keys(node);\n var classes = _parchment2.default.Attributor.Class.keys(node);\n var styles = _parchment2.default.Attributor.Style.keys(node);\n var formats = {};\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\n if (attr != null) {\n formats[attr.attrName] = attr.value(node);\n if (formats[attr.attrName]) return;\n }\n attr = ATTRIBUTE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n attr = STYLE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n attr = STYLE_ATTRIBUTORS[name];\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n });\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n return delta;\n}\n\nfunction matchBlot(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null) return delta;\n if (match.prototype instanceof _parchment2.default.Embed) {\n var embed = {};\n var value = match.value(node);\n if (value != null) {\n embed[match.blotName] = value;\n delta = new _quillDelta2.default().insert(embed, match.formats(node));\n }\n } else if (typeof match.formats === 'function') {\n delta = applyFormat(delta, match.blotName, match.formats(node));\n }\n return delta;\n}\n\nfunction matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n return delta;\n}\n\nfunction matchIgnore() {\n return new _quillDelta2.default();\n}\n\nfunction matchIndent(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\n')) {\n return delta;\n }\n var indent = -1,\n parent = node.parentNode;\n while (!parent.classList.contains('ql-clipboard')) {\n if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\n indent += 1;\n }\n parent = parent.parentNode;\n }\n if (indent <= 0) return delta;\n return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, { indent: indent }));\n}\n\nfunction matchNewline(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchSpacing(node, delta) {\n if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\n\\n')) {\n var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\n if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchStyles(node, delta) {\n var formats = {};\n var style = node.style || {};\n if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\n formats.italic = true;\n }\n if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\n formats.bold = true;\n }\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n if (parseFloat(style.textIndent || 0) > 0) {\n // Could be 0.5in\n delta = new _quillDelta2.default().insert('\\t').concat(delta);\n }\n return delta;\n}\n\nfunction matchText(node, delta) {\n var text = node.data;\n // Word represents empty line with  \n if (node.parentNode.tagName === 'O:P') {\n return delta.insert(text.trim());\n }\n if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\n return delta;\n }\n if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\n // eslint-disable-next-line func-style\n var replacer = function replacer(collapse, match) {\n match = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n return match.length < 1 && collapse ? ' ' : match;\n };\n text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n }\n if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n }\n }\n return delta.insert(text);\n}\n\nexports.default = Clipboard;\nexports.matchAttributor = matchAttributor;\nexports.matchBlot = matchBlot;\nexports.matchNewline = matchNewline;\nexports.matchSpacing = matchSpacing;\nexports.matchText = matchText;\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Bold = function (_Inline) {\n _inherits(Bold, _Inline);\n\n function Bold() {\n _classCallCheck(this, Bold);\n\n return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n }\n\n _createClass(Bold, [{\n key: 'optimize',\n value: function optimize(context) {\n _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\n if (this.domNode.tagName !== this.statics.tagName[0]) {\n this.replaceWith(this.statics.blotName);\n }\n }\n }], [{\n key: 'create',\n value: function create() {\n return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return Bold;\n}(_inline2.default);\n\nBold.blotName = 'bold';\nBold.tagName = ['STRONG', 'B'];\n\nexports.default = Bold;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addControls = exports.default = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:toolbar');\n\nvar Toolbar = function (_Module) {\n _inherits(Toolbar, _Module);\n\n function Toolbar(quill, options) {\n _classCallCheck(this, Toolbar);\n\n var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n\n if (Array.isArray(_this.options.container)) {\n var container = document.createElement('div');\n addControls(container, _this.options.container);\n quill.container.parentNode.insertBefore(container, quill.container);\n _this.container = container;\n } else if (typeof _this.options.container === 'string') {\n _this.container = document.querySelector(_this.options.container);\n } else {\n _this.container = _this.options.container;\n }\n if (!(_this.container instanceof HTMLElement)) {\n var _ret;\n\n return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\n }\n _this.container.classList.add('ql-toolbar');\n _this.controls = [];\n _this.handlers = {};\n Object.keys(_this.options.handlers).forEach(function (format) {\n _this.addHandler(format, _this.options.handlers[format]);\n });\n [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\n _this.attach(input);\n });\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\n if (type === _quill2.default.events.SELECTION_CHANGE) {\n _this.update(range);\n }\n });\n _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n var _this$quill$selection = _this.quill.selection.getRange(),\n _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n range = _this$quill$selection2[0]; // quill.getSelection triggers update\n\n\n _this.update(range);\n });\n return _this;\n }\n\n _createClass(Toolbar, [{\n key: 'addHandler',\n value: function addHandler(format, handler) {\n this.handlers[format] = handler;\n }\n }, {\n key: 'attach',\n value: function attach(input) {\n var _this2 = this;\n\n var format = [].find.call(input.classList, function (className) {\n return className.indexOf('ql-') === 0;\n });\n if (!format) return;\n format = format.slice('ql-'.length);\n if (input.tagName === 'BUTTON') {\n input.setAttribute('type', 'button');\n }\n if (this.handlers[format] == null) {\n if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\n debug.warn('ignoring attaching to disabled format', format, input);\n return;\n }\n if (_parchment2.default.query(format) == null) {\n debug.warn('ignoring attaching to nonexistent format', format, input);\n return;\n }\n }\n var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n input.addEventListener(eventName, function (e) {\n var value = void 0;\n if (input.tagName === 'SELECT') {\n if (input.selectedIndex < 0) return;\n var selected = input.options[input.selectedIndex];\n if (selected.hasAttribute('selected')) {\n value = false;\n } else {\n value = selected.value || false;\n }\n } else {\n if (input.classList.contains('ql-active')) {\n value = false;\n } else {\n value = input.value || !input.hasAttribute('value');\n }\n e.preventDefault();\n }\n _this2.quill.focus();\n\n var _quill$selection$getR = _this2.quill.selection.getRange(),\n _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\n range = _quill$selection$getR2[0];\n\n if (_this2.handlers[format] != null) {\n _this2.handlers[format].call(_this2, value);\n } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\n value = prompt('Enter ' + format);\n if (!value) return;\n _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\n } else {\n _this2.quill.format(format, value, _quill2.default.sources.USER);\n }\n _this2.update(range);\n });\n // TODO use weakmap\n this.controls.push([format, input]);\n }\n }, {\n key: 'update',\n value: function update(range) {\n var formats = range == null ? {} : this.quill.getFormat(range);\n this.controls.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n format = _pair[0],\n input = _pair[1];\n\n if (input.tagName === 'SELECT') {\n var option = void 0;\n if (range == null) {\n option = null;\n } else if (formats[format] == null) {\n option = input.querySelector('option[selected]');\n } else if (!Array.isArray(formats[format])) {\n var value = formats[format];\n if (typeof value === 'string') {\n value = value.replace(/\\\"/g, '\\\\\"');\n }\n option = input.querySelector('option[value=\"' + value + '\"]');\n }\n if (option == null) {\n input.value = ''; // TODO make configurable?\n input.selectedIndex = -1;\n } else {\n option.selected = true;\n }\n } else {\n if (range == null) {\n input.classList.remove('ql-active');\n } else if (input.hasAttribute('value')) {\n // both being null should match (default values)\n // '1' should match with 1 (headers)\n var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\n input.classList.toggle('ql-active', isActive);\n } else {\n input.classList.toggle('ql-active', formats[format] != null);\n }\n }\n });\n }\n }]);\n\n return Toolbar;\n}(_module2.default);\n\nToolbar.DEFAULTS = {};\n\nfunction addButton(container, format, value) {\n var input = document.createElement('button');\n input.setAttribute('type', 'button');\n input.classList.add('ql-' + format);\n if (value != null) {\n input.value = value;\n }\n container.appendChild(input);\n}\n\nfunction addControls(container, groups) {\n if (!Array.isArray(groups[0])) {\n groups = [groups];\n }\n groups.forEach(function (controls) {\n var group = document.createElement('span');\n group.classList.add('ql-formats');\n controls.forEach(function (control) {\n if (typeof control === 'string') {\n addButton(group, control);\n } else {\n var format = Object.keys(control)[0];\n var value = control[format];\n if (Array.isArray(value)) {\n addSelect(group, format, value);\n } else {\n addButton(group, format, value);\n }\n }\n });\n container.appendChild(group);\n });\n}\n\nfunction addSelect(container, format, values) {\n var input = document.createElement('select');\n input.classList.add('ql-' + format);\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value !== false) {\n option.setAttribute('value', value);\n } else {\n option.setAttribute('selected', 'selected');\n }\n input.appendChild(option);\n });\n container.appendChild(input);\n}\n\nToolbar.DEFAULTS = {\n container: null,\n handlers: {\n clean: function clean() {\n var _this3 = this;\n\n var range = this.quill.getSelection();\n if (range == null) return;\n if (range.length == 0) {\n var formats = this.quill.getFormat();\n Object.keys(formats).forEach(function (name) {\n // Clean functionality in existing apps only clean inline formats\n if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\n _this3.quill.format(name, false);\n }\n });\n } else {\n this.quill.removeFormat(range, _quill2.default.sources.USER);\n }\n },\n direction: function direction(value) {\n var align = this.quill.getFormat()['align'];\n if (value === 'rtl' && align == null) {\n this.quill.format('align', 'right', _quill2.default.sources.USER);\n } else if (!value && align === 'right') {\n this.quill.format('align', false, _quill2.default.sources.USER);\n }\n this.quill.format('direction', value, _quill2.default.sources.USER);\n },\n indent: function indent(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n var indent = parseInt(formats.indent || 0);\n if (value === '+1' || value === '-1') {\n var modifier = value === '+1' ? 1 : -1;\n if (formats.direction === 'rtl') modifier *= -1;\n this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\n }\n },\n link: function link(value) {\n if (value === true) {\n value = prompt('Enter link URL:');\n }\n this.quill.format('link', value, _quill2.default.sources.USER);\n },\n list: function list(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n if (value === 'check') {\n if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\n this.quill.format('list', false, _quill2.default.sources.USER);\n } else {\n this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\n }\n } else {\n this.quill.format('list', value, _quill2.default.sources.USER);\n }\n }\n }\n};\n\nexports.default = Toolbar;\nexports.addControls = addControls;\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorPicker = function (_Picker) {\n _inherits(ColorPicker, _Picker);\n\n function ColorPicker(select, label) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n\n _this.label.innerHTML = label;\n _this.container.classList.add('ql-color-picker');\n [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\n item.classList.add('ql-primary');\n });\n return _this;\n }\n\n _createClass(ColorPicker, [{\n key: 'buildItem',\n value: function buildItem(option) {\n var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\n item.style.backgroundColor = option.getAttribute('value') || '';\n return item;\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\n var colorLabel = this.label.querySelector('.ql-color-label');\n var value = item ? item.getAttribute('data-value') || '' : '';\n if (colorLabel) {\n if (colorLabel.tagName === 'line') {\n colorLabel.style.stroke = value;\n } else {\n colorLabel.style.fill = value;\n }\n }\n }\n }]);\n\n return ColorPicker;\n}(_picker2.default);\n\nexports.default = ColorPicker;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IconPicker = function (_Picker) {\n _inherits(IconPicker, _Picker);\n\n function IconPicker(select, icons) {\n _classCallCheck(this, IconPicker);\n\n var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n\n _this.container.classList.add('ql-icon-picker');\n [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\n item.innerHTML = icons[item.getAttribute('data-value') || ''];\n });\n _this.defaultItem = _this.container.querySelector('.ql-selected');\n _this.selectItem(_this.defaultItem);\n return _this;\n }\n\n _createClass(IconPicker, [{\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\n item = item || this.defaultItem;\n this.label.innerHTML = item.innerHTML;\n }\n }]);\n\n return IconPicker;\n}(_picker2.default);\n\nexports.default = IconPicker;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Tooltip = function () {\n function Tooltip(quill, boundsContainer) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n this.quill = quill;\n this.boundsContainer = boundsContainer || document.body;\n this.root = quill.addContainer('ql-tooltip');\n this.root.innerHTML = this.constructor.TEMPLATE;\n if (this.quill.root === this.quill.scrollingContainer) {\n this.quill.root.addEventListener('scroll', function () {\n _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\n });\n }\n this.hide();\n }\n\n _createClass(Tooltip, [{\n key: 'hide',\n value: function hide() {\n this.root.classList.add('ql-hidden');\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n // root.scrollTop should be 0 if scrollContainer !== root\n var top = reference.bottom + this.quill.root.scrollTop;\n this.root.style.left = left + 'px';\n this.root.style.top = top + 'px';\n this.root.classList.remove('ql-flip');\n var containerBounds = this.boundsContainer.getBoundingClientRect();\n var rootBounds = this.root.getBoundingClientRect();\n var shift = 0;\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.bottom > containerBounds.bottom) {\n var height = rootBounds.bottom - rootBounds.top;\n var verticalShift = reference.bottom - reference.top + height;\n this.root.style.top = top - verticalShift + 'px';\n this.root.classList.add('ql-flip');\n }\n return shift;\n }\n }, {\n key: 'show',\n value: function show() {\n this.root.classList.remove('ql-editing');\n this.root.classList.remove('ql-hidden');\n }\n }]);\n\n return Tooltip;\n}();\n\nexports.default = Tooltip;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];\n\nvar SnowTheme = function (_BaseTheme) {\n _inherits(SnowTheme, _BaseTheme);\n\n function SnowTheme(quill, options) {\n _classCallCheck(this, SnowTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-snow');\n return _this;\n }\n\n _createClass(SnowTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n toolbar.container.classList.add('ql-snow');\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n if (toolbar.container.querySelector('.ql-link')) {\n this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function (range, context) {\n toolbar.handlers['link'].call(toolbar, !context.format.link);\n });\n }\n }\n }]);\n\n return SnowTheme;\n}(_base2.default);\n\nSnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (value) {\n var range = this.quill.getSelection();\n if (range == null || range.length == 0) return;\n var preview = this.quill.getText(range);\n if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n preview = 'mailto:' + preview;\n }\n var tooltip = this.quill.theme.tooltip;\n tooltip.edit('link', preview);\n } else {\n this.quill.format('link', false);\n }\n }\n }\n }\n }\n});\n\nvar SnowTooltip = function (_BaseTooltip) {\n _inherits(SnowTooltip, _BaseTooltip);\n\n function SnowTooltip(quill, bounds) {\n _classCallCheck(this, SnowTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n\n _this2.preview = _this2.root.querySelector('a.ql-preview');\n return _this2;\n }\n\n _createClass(SnowTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\n if (_this3.root.classList.contains('ql-editing')) {\n _this3.save();\n } else {\n _this3.edit('link', _this3.preview.textContent);\n }\n event.preventDefault();\n });\n this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\n if (_this3.linkRange != null) {\n var range = _this3.linkRange;\n _this3.restoreFocus();\n _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\n delete _this3.linkRange;\n }\n event.preventDefault();\n _this3.hide();\n });\n this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\n if (range == null) return;\n if (range.length === 0 && source === _emitter2.default.sources.USER) {\n var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n link = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (link != null) {\n _this3.linkRange = new _selection.Range(range.index - offset, link.length());\n var preview = _link2.default.formats(link.domNode);\n _this3.preview.textContent = preview;\n _this3.preview.setAttribute('href', preview);\n _this3.show();\n _this3.position(_this3.quill.getBounds(_this3.linkRange));\n return;\n }\n } else {\n delete _this3.linkRange;\n }\n _this3.hide();\n });\n }\n }, {\n key: 'show',\n value: function show() {\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\n this.root.removeAttribute('data-mode');\n }\n }]);\n\n return SnowTooltip;\n}(_base.BaseTooltip);\n\nSnowTooltip.TEMPLATE = ['', '', '', ''].join('');\n\nexports.default = SnowTheme;\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _core = __webpack_require__(29);\n\nvar _core2 = _interopRequireDefault(_core);\n\nvar _align = __webpack_require__(36);\n\nvar _direction = __webpack_require__(38);\n\nvar _indent = __webpack_require__(64);\n\nvar _blockquote = __webpack_require__(65);\n\nvar _blockquote2 = _interopRequireDefault(_blockquote);\n\nvar _header = __webpack_require__(66);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _list = __webpack_require__(67);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _background = __webpack_require__(37);\n\nvar _color = __webpack_require__(26);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nvar _italic = __webpack_require__(68);\n\nvar _italic2 = _interopRequireDefault(_italic);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _script = __webpack_require__(69);\n\nvar _script2 = _interopRequireDefault(_script);\n\nvar _strike = __webpack_require__(70);\n\nvar _strike2 = _interopRequireDefault(_strike);\n\nvar _underline = __webpack_require__(71);\n\nvar _underline2 = _interopRequireDefault(_underline);\n\nvar _image = __webpack_require__(72);\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _video = __webpack_require__(73);\n\nvar _video2 = _interopRequireDefault(_video);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _formula = __webpack_require__(74);\n\nvar _formula2 = _interopRequireDefault(_formula);\n\nvar _syntax = __webpack_require__(75);\n\nvar _syntax2 = _interopRequireDefault(_syntax);\n\nvar _toolbar = __webpack_require__(57);\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _bubble = __webpack_require__(108);\n\nvar _bubble2 = _interopRequireDefault(_bubble);\n\nvar _snow = __webpack_require__(62);\n\nvar _snow2 = _interopRequireDefault(_snow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_core2.default.register({\n 'attributors/attribute/direction': _direction.DirectionAttribute,\n\n 'attributors/class/align': _align.AlignClass,\n 'attributors/class/background': _background.BackgroundClass,\n 'attributors/class/color': _color.ColorClass,\n 'attributors/class/direction': _direction.DirectionClass,\n 'attributors/class/font': _font.FontClass,\n 'attributors/class/size': _size.SizeClass,\n\n 'attributors/style/align': _align.AlignStyle,\n 'attributors/style/background': _background.BackgroundStyle,\n 'attributors/style/color': _color.ColorStyle,\n 'attributors/style/direction': _direction.DirectionStyle,\n 'attributors/style/font': _font.FontStyle,\n 'attributors/style/size': _size.SizeStyle\n}, true);\n\n_core2.default.register({\n 'formats/align': _align.AlignClass,\n 'formats/direction': _direction.DirectionClass,\n 'formats/indent': _indent.IndentClass,\n\n 'formats/background': _background.BackgroundStyle,\n 'formats/color': _color.ColorStyle,\n 'formats/font': _font.FontClass,\n 'formats/size': _size.SizeClass,\n\n 'formats/blockquote': _blockquote2.default,\n 'formats/code-block': _code2.default,\n 'formats/header': _header2.default,\n 'formats/list': _list2.default,\n\n 'formats/bold': _bold2.default,\n 'formats/code': _code.Code,\n 'formats/italic': _italic2.default,\n 'formats/link': _link2.default,\n 'formats/script': _script2.default,\n 'formats/strike': _strike2.default,\n 'formats/underline': _underline2.default,\n\n 'formats/image': _image2.default,\n 'formats/video': _video2.default,\n\n 'formats/list/item': _list.ListItem,\n\n 'modules/formula': _formula2.default,\n 'modules/syntax': _syntax2.default,\n 'modules/toolbar': _toolbar2.default,\n\n 'themes/bubble': _bubble2.default,\n 'themes/snow': _snow2.default,\n\n 'ui/icons': _icons2.default,\n 'ui/picker': _picker2.default,\n 'ui/icon-picker': _iconPicker2.default,\n 'ui/color-picker': _colorPicker2.default,\n 'ui/tooltip': _tooltip2.default\n}, true);\n\nexports.default = _core2.default;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.IndentClass = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IdentAttributor = function (_Parchment$Attributor) {\n _inherits(IdentAttributor, _Parchment$Attributor);\n\n function IdentAttributor() {\n _classCallCheck(this, IdentAttributor);\n\n return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n }\n\n _createClass(IdentAttributor, [{\n key: 'add',\n value: function add(node, value) {\n if (value === '+1' || value === '-1') {\n var indent = this.value(node) || 0;\n value = value === '+1' ? indent + 1 : indent - 1;\n }\n if (value === 0) {\n this.remove(node);\n return true;\n } else {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\n }\n }\n }, {\n key: 'canAdd',\n value: function canAdd(node, value) {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\n }\n }, {\n key: 'value',\n value: function value(node) {\n return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\n }\n }]);\n\n return IdentAttributor;\n}(_parchment2.default.Attributor.Class);\n\nvar IndentClass = new IdentAttributor('indent', 'ql-indent', {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\n\nexports.IndentClass = IndentClass;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Blockquote = function (_Block) {\n _inherits(Blockquote, _Block);\n\n function Blockquote() {\n _classCallCheck(this, Blockquote);\n\n return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n }\n\n return Blockquote;\n}(_block2.default);\n\nBlockquote.blotName = 'blockquote';\nBlockquote.tagName = 'blockquote';\n\nexports.default = Blockquote;\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Header = function (_Block) {\n _inherits(Header, _Block);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n }\n\n _createClass(Header, null, [{\n key: 'formats',\n value: function formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n }]);\n\n return Header;\n}(_block2.default);\n\nHeader.blotName = 'header';\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n\nexports.default = Header;\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.ListItem = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ListItem = function (_Block) {\n _inherits(ListItem, _Block);\n\n function ListItem() {\n _classCallCheck(this, ListItem);\n\n return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n }\n\n _createClass(ListItem, [{\n key: 'format',\n value: function format(name, value) {\n if (name === List.blotName && !value) {\n this.replaceWith(_parchment2.default.create(this.statics.scope));\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\n }\n }\n }, {\n key: 'remove',\n value: function remove() {\n if (this.prev == null && this.next == null) {\n this.parent.remove();\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\n }\n }\n }, {\n key: 'replaceWith',\n value: function replaceWith(name, value) {\n this.parent.isolate(this.offset(this.parent), this.length());\n if (name === this.parent.statics.blotName) {\n this.parent.replaceWith(name, value);\n return this;\n } else {\n this.parent.unwrap();\n return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\n }\n }\n }], [{\n key: 'formats',\n value: function formats(domNode) {\n return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\n }\n }]);\n\n return ListItem;\n}(_block2.default);\n\nListItem.blotName = 'list-item';\nListItem.tagName = 'LI';\n\nvar List = function (_Container) {\n _inherits(List, _Container);\n\n _createClass(List, null, [{\n key: 'create',\n value: function create(value) {\n var tagName = value === 'ordered' ? 'OL' : 'UL';\n var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\n if (value === 'checked' || value === 'unchecked') {\n node.setAttribute('data-checked', value === 'checked');\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'OL') return 'ordered';\n if (domNode.tagName === 'UL') {\n if (domNode.hasAttribute('data-checked')) {\n return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\n } else {\n return 'bullet';\n }\n }\n return undefined;\n }\n }]);\n\n function List(domNode) {\n _classCallCheck(this, List);\n\n var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n\n var listEventHandler = function listEventHandler(e) {\n if (e.target.parentNode !== domNode) return;\n var format = _this2.statics.formats(domNode);\n var blot = _parchment2.default.find(e.target);\n if (format === 'checked') {\n blot.format('list', 'unchecked');\n } else if (format === 'unchecked') {\n blot.format('list', 'checked');\n }\n };\n\n domNode.addEventListener('touchstart', listEventHandler);\n domNode.addEventListener('mousedown', listEventHandler);\n return _this2;\n }\n\n _createClass(List, [{\n key: 'format',\n value: function format(name, value) {\n if (this.children.length > 0) {\n this.children.tail.format(name, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats() {\n // We don't inherit from FormatBlot\n return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot instanceof ListItem) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\n } else {\n var index = ref == null ? this.length() : ref.offset(this);\n var after = this.split(index);\n after.parent.insertBefore(blot, after);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n if (target.statics.blotName !== this.statics.blotName) {\n var item = _parchment2.default.create(this.statics.defaultChild);\n target.moveChildren(item);\n this.appendChild(item);\n }\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\n }\n }]);\n\n return List;\n}(_container2.default);\n\nList.blotName = 'list';\nList.scope = _parchment2.default.Scope.BLOCK_BLOT;\nList.tagName = ['OL', 'UL'];\nList.defaultChild = 'list-item';\nList.allowedChildren = [ListItem];\n\nexports.ListItem = ListItem;\nexports.default = List;\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Italic = function (_Bold) {\n _inherits(Italic, _Bold);\n\n function Italic() {\n _classCallCheck(this, Italic);\n\n return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n }\n\n return Italic;\n}(_bold2.default);\n\nItalic.blotName = 'italic';\nItalic.tagName = ['EM', 'I'];\n\nexports.default = Italic;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Script = function (_Inline) {\n _inherits(Script, _Inline);\n\n function Script() {\n _classCallCheck(this, Script);\n\n return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n }\n\n _createClass(Script, null, [{\n key: 'create',\n value: function create(value) {\n if (value === 'super') {\n return document.createElement('sup');\n } else if (value === 'sub') {\n return document.createElement('sub');\n } else {\n return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'SUB') return 'sub';\n if (domNode.tagName === 'SUP') return 'super';\n return undefined;\n }\n }]);\n\n return Script;\n}(_inline2.default);\n\nScript.blotName = 'script';\nScript.tagName = ['SUB', 'SUP'];\n\nexports.default = Script;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Strike = function (_Inline) {\n _inherits(Strike, _Inline);\n\n function Strike() {\n _classCallCheck(this, Strike);\n\n return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n }\n\n return Strike;\n}(_inline2.default);\n\nStrike.blotName = 'strike';\nStrike.tagName = 'S';\n\nexports.default = Strike;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Underline = function (_Inline) {\n _inherits(Underline, _Inline);\n\n function Underline() {\n _classCallCheck(this, Underline);\n\n return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n }\n\n return Underline;\n}(_inline2.default);\n\nUnderline.blotName = 'underline';\nUnderline.tagName = 'U';\n\nexports.default = Underline;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _link = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['alt', 'height', 'width'];\n\nvar Image = function (_Parchment$Embed) {\n _inherits(Image, _Parchment$Embed);\n\n function Image() {\n _classCallCheck(this, Image);\n\n return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n }\n\n _createClass(Image, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\n if (typeof value === 'string') {\n node.setAttribute('src', this.sanitize(value));\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'match',\n value: function match(url) {\n return (/\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url)\n );\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Image;\n}(_parchment2.default.Embed);\n\nImage.blotName = 'image';\nImage.tagName = 'IMG';\n\nexports.default = Image;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _block = __webpack_require__(4);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['height', 'width'];\n\nvar Video = function (_BlockEmbed) {\n _inherits(Video, _BlockEmbed);\n\n function Video() {\n _classCallCheck(this, Video);\n\n return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n }\n\n _createClass(Video, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\n node.setAttribute('frameborder', '0');\n node.setAttribute('allowfullscreen', true);\n node.setAttribute('src', this.sanitize(value));\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _link2.default.sanitize(url);\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Video;\n}(_block.BlockEmbed);\n\nVideo.blotName = 'video';\nVideo.className = 'ql-video';\nVideo.tagName = 'IFRAME';\n\nexports.default = Video;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.FormulaBlot = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FormulaBlot = function (_Embed) {\n _inherits(FormulaBlot, _Embed);\n\n function FormulaBlot() {\n _classCallCheck(this, FormulaBlot);\n\n return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n }\n\n _createClass(FormulaBlot, null, [{\n key: 'create',\n value: function create(value) {\n var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\n if (typeof value === 'string') {\n window.katex.render(value, node, {\n throwOnError: false,\n errorColor: '#f00'\n });\n node.setAttribute('data-value', value);\n }\n return node;\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('data-value');\n }\n }]);\n\n return FormulaBlot;\n}(_embed2.default);\n\nFormulaBlot.blotName = 'formula';\nFormulaBlot.className = 'ql-formula';\nFormulaBlot.tagName = 'SPAN';\n\nvar Formula = function (_Module) {\n _inherits(Formula, _Module);\n\n _createClass(Formula, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(FormulaBlot, true);\n }\n }]);\n\n function Formula() {\n _classCallCheck(this, Formula);\n\n var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n\n if (window.katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n return _this2;\n }\n\n return Formula;\n}(_module2.default);\n\nexports.FormulaBlot = FormulaBlot;\nexports.default = Formula;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.CodeToken = exports.CodeBlock = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SyntaxCodeBlock = function (_CodeBlock) {\n _inherits(SyntaxCodeBlock, _CodeBlock);\n\n function SyntaxCodeBlock() {\n _classCallCheck(this, SyntaxCodeBlock);\n\n return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n }\n\n _createClass(SyntaxCodeBlock, [{\n key: 'replaceWith',\n value: function replaceWith(block) {\n this.domNode.textContent = this.domNode.textContent;\n this.attach();\n _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\n }\n }, {\n key: 'highlight',\n value: function highlight(_highlight) {\n var text = this.domNode.textContent;\n if (this.cachedText !== text) {\n if (text.trim().length > 0 || this.cachedText == null) {\n this.domNode.innerHTML = _highlight(text);\n this.domNode.normalize();\n this.attach();\n }\n this.cachedText = text;\n }\n }\n }]);\n\n return SyntaxCodeBlock;\n}(_code2.default);\n\nSyntaxCodeBlock.className = 'ql-syntax';\n\nvar CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nvar Syntax = function (_Module) {\n _inherits(Syntax, _Module);\n\n _createClass(Syntax, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(CodeToken, true);\n _quill2.default.register(SyntaxCodeBlock, true);\n }\n }]);\n\n function Syntax(quill, options) {\n _classCallCheck(this, Syntax);\n\n var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n\n if (typeof _this2.options.highlight !== 'function') {\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n }\n var timer = null;\n _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n _this2.highlight();\n timer = null;\n }, _this2.options.interval);\n });\n _this2.highlight();\n return _this2;\n }\n\n _createClass(Syntax, [{\n key: 'highlight',\n value: function highlight() {\n var _this3 = this;\n\n if (this.quill.selection.composing) return;\n this.quill.update(_quill2.default.sources.USER);\n var range = this.quill.getSelection();\n this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\n code.highlight(_this3.options.highlight);\n });\n this.quill.update(_quill2.default.sources.SILENT);\n if (range != null) {\n this.quill.setSelection(range, _quill2.default.sources.SILENT);\n }\n }\n }]);\n\n return Syntax;\n}(_module2.default);\n\nSyntax.DEFAULTS = {\n highlight: function () {\n if (window.hljs == null) return null;\n return function (text) {\n var result = window.hljs.highlightAuto(text);\n return result.value;\n };\n }(),\n interval: 1000\n};\n\nexports.CodeBlock = SyntaxCodeBlock;\nexports.CodeToken = CodeToken;\nexports.default = Syntax;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BubbleTooltip = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];\n\nvar BubbleTheme = function (_BaseTheme) {\n _inherits(BubbleTheme, _BaseTheme);\n\n function BubbleTheme(quill, options) {\n _classCallCheck(this, BubbleTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-bubble');\n return _this;\n }\n\n _createClass(BubbleTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n this.tooltip.root.appendChild(toolbar.container);\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n }\n }]);\n\n return BubbleTheme;\n}(_base2.default);\n\nBubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (!value) {\n this.quill.format('link', false);\n } else {\n this.quill.theme.tooltip.edit();\n }\n }\n }\n }\n }\n});\n\nvar BubbleTooltip = function (_BaseTooltip) {\n _inherits(BubbleTooltip, _BaseTooltip);\n\n function BubbleTooltip(quill, bounds) {\n _classCallCheck(this, BubbleTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n\n _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\n if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\n if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\n _this2.show();\n // Lock our width so we will expand beyond our offsetParent boundaries\n _this2.root.style.left = '0px';\n _this2.root.style.width = '';\n _this2.root.style.width = _this2.root.offsetWidth + 'px';\n var lines = _this2.quill.getLines(range.index, range.length);\n if (lines.length === 1) {\n _this2.position(_this2.quill.getBounds(range));\n } else {\n var lastLine = lines[lines.length - 1];\n var index = _this2.quill.getIndex(lastLine);\n var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\n _this2.position(_bounds);\n }\n } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\n _this2.hide();\n }\n });\n return _this2;\n }\n\n _createClass(BubbleTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('.ql-close').addEventListener('click', function () {\n _this3.root.classList.remove('ql-editing');\n });\n this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\n // Let selection be restored by toolbar handlers before repositioning\n setTimeout(function () {\n if (_this3.root.classList.contains('ql-hidden')) return;\n var range = _this3.quill.getSelection();\n if (range != null) {\n _this3.position(_this3.quill.getBounds(range));\n }\n }, 1);\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.show();\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\n var arrow = this.root.querySelector('.ql-tooltip-arrow');\n arrow.style.marginLeft = '';\n if (shift === 0) return shift;\n arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\n }\n }]);\n\n return BubbleTooltip;\n}(_base.BaseTooltip);\n\nBubbleTooltip.TEMPLATE = ['', '
', '', '', '
'].join('');\n\nexports.BubbleTooltip = BubbleTooltip;\nexports.default = BubbleTheme;\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(63);\n\n\n/***/ })\n/******/ ])[\"default\"];\n});","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"quill\")):\"function\"==typeof define&&define.amd?define([\"quill\"],e):\"object\"==typeof exports?exports.VueQuillEditor=e(require(\"quill\")):t.VueQuillEditor=e(t.Quill)}(this,function(t){return function(t){function e(i){if(n[i])return n[i].exports;var l=n[i]={i:i,l:!1,exports:{}};return t[i].call(l.exports,l,l.exports,e),l.l=!0,l.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=2)}([function(e,n){e.exports=t},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(4),l=n.n(i),o=n(6),r=n(5),u=r(l.a,o.a,!1,null,null,null);e.default=u.exports},function(t,e,n){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.install=e.quillEditor=e.Quill=void 0;var l=n(0),o=i(l),r=n(1),u=i(r),s=window.Quill||o.default,a=function(t,e){e&&(u.default.props.globalOptions.default=function(){return e}),t.component(u.default.name,u.default)},c={Quill:s,quillEditor:u.default,install:a};e.default=c,e.Quill=s,e.quillEditor=u.default,e.install=a},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={theme:\"snow\",boundary:document.body,modules:{toolbar:[[\"bold\",\"italic\",\"underline\",\"strike\"],[\"blockquote\",\"code-block\"],[{header:1},{header:2}],[{list:\"ordered\"},{list:\"bullet\"}],[{script:\"sub\"},{script:\"super\"}],[{indent:\"-1\"},{indent:\"+1\"}],[{direction:\"rtl\"}],[{size:[\"small\",!1,\"large\",\"huge\"]}],[{header:[1,2,3,4,5,6,!1]}],[{color:[]},{background:[]}],[{font:[]}],[{align:[]}],[\"clean\"],[\"link\",\"image\",\"video\"]]},placeholder:\"Insert text here ...\",readOnly:!1}},function(t,e,n){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(0),o=i(l),r=n(3),u=i(r),s=window.Quill||o.default;\"function\"!=typeof Object.assign&&Object.defineProperty(Object,\"assign\",{value:function(t,e){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var n=Object(t),i=1;i

\"===l&&(l=\"\"),t._content=l,t.$emit(\"input\",t._content),t.$emit(\"change\",{html:l,text:r,quill:o})}),this.$emit(\"ready\",this.quill))}},watch:{content:function(t,e){this.quill&&(t&&t!==this._content?(this._content=t,this.quill.pasteHTML(t)):t||this.quill.setText(\"\"))},value:function(t,e){this.quill&&(t&&t!==this._content?(this._content=t,this.quill.pasteHTML(t)):t||this.quill.setText(\"\"))},disabled:function(t,e){this.quill&&this.quill.enable(!t)}}}},function(t,e){t.exports=function(t,e,n,i,l,o){var r,u=t=t||{},s=typeof t.default;\"object\"!==s&&\"function\"!==s||(r=t,u=t.default);var a=\"function\"==typeof u?u.options:u;e&&(a.render=e.render,a.staticRenderFns=e.staticRenderFns,a._compiled=!0),n&&(a.functional=!0),l&&(a._scopeId=l);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},a._ssrRegister=c):i&&(c=i),c){var d=a.functional,f=d?a.render:a.beforeCreate;d?(a._injectStyles=c,a.render=function(t,e){return c.call(e),f(t,e)}):a.beforeCreate=f?[].concat(f,c):[c]}return{esModule:r,exports:u,options:a}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"quill-editor\"},[t._t(\"toolbar\"),t._v(\" \"),n(\"div\",{ref:\"editor\"})],2)},l=[],o={render:i,staticRenderFns:l};e.a=o}])});","/*\n * [js-sha1]\n *\n * @version 0.6.0\n * @copyright H, J-C 2018-9-28\n * @license MIT\n */\n\nvar CryptoJS = CryptoJS || function (g, l) {\n\tvar e = {}, d = e.lib = {}, m = function () { }, k = d.Base = {\n\t\textend: function (a) {\n\t\t\tm.prototype = this;\n\t\t\tvar c = new m;\n\t\t\ta && c.mixIn(a);\n\t\t\tc.hasOwnProperty(\"init\") || (c.init = function () {\n\t\t\tc.$super.init.apply(this, arguments)\n\t\t\t});\n\t\t\tc.init.prototype = c;\n\t\t\tc.$super = this;\n\t\t\treturn c\n\t\t},\n\t\tcreate: function () {\n\t\t\tvar a = this.extend();\n\t\t\ta.init.apply(a, arguments);\n\t\t\treturn a\n\t\t},\n\t\tinit: function () { },\n\t\tmixIn: function (a) {\n\t\t\tfor (var c in a) a.hasOwnProperty(c) && (this[c] = a[c]);\n\t\t\ta.hasOwnProperty(\"toString\") && (this.toString = a.toString)\n\t\t},\n\t\tclone: function () {\n\t\t\treturn this.init.prototype.extend(this)\n\t\t}\n\t},\n\tp = d.WordArray = k.extend({\n\t\tinit: function (a, c) {\n\t\t\ta = this.words = a || [];\n\t\t\tthis.sigBytes = c != l ? c : 4 * a.length\n\t\t},\n\t\ttoString: function (a) {\n\t\t \treturn (a || n).stringify(this)\n\t\t},\n\t\tconcat: function (a) {\n\t\t\tvar c = this.words,\n\t\t\t\tq = a.words,\n\t\t\t\tf = this.sigBytes;\n\t\t\ta = a.sigBytes;\n\t\t\tthis.clamp();\n\t\t\tif (f % 4)\n\t\t\t\tfor (var b = 0; b < a; b++) c[f + b >>> 2] |= (q[b >>> 2] >>> 24 - 8 * (b % 4) & 255) << 24 - 8 * ((f + b) % 4);\n\t\t\telse if (65535 < q.length)\n\t\t\t\tfor (b = 0; b < a; b += 4) c[f + b >>> 2] = q[b >>> 2];\n\t\t\telse c.push.apply(c, q);\n\t\t\tthis.sigBytes += a;\n\t\t\treturn this\n\t\t},\n\t\tclamp: function () {\n\t\t\tvar a = this.words,\n\t\t\tc = this.sigBytes;\n\t\t\ta[c >>> 2] &= 4294967295 << 32 - 8 * (c % 4);\n\t\t\ta.length = g.ceil(c / 4)\n\t\t},\n\t\tclone: function () {\n\t\t\tvar a = k.clone.call(this);\n\t\t\ta.words = this.words.slice(0);\n\t\t\treturn a\n\t\t},\n\t\trandom: function (a) {\n\t\t\tfor (var c = [], b = 0; b < a; b += 4) c.push(4294967296 * g.random() | 0);\n\t\t\treturn new p.init(c, a)\n\t\t}\n\t}),\n\tb = e.enc = {}, n = b.Hex = {\n\t\tstringify: function (a) {\n\t\t\tvar c = a.words;\n\t\t\ta = a.sigBytes;\n\t\t\tfor (var b = [], f = 0; f < a; f++) {\n\t\t\t\tvar d = c[f >>> 2] >>> 24 - 8 * (f % 4) & 255;\n\t\t\t\tb.push((d >>> 4).toString(16));\n\t\t\t\tb.push((d & 15).toString(16))\n\t\t\t}\n\t\t\treturn b.join(\"\")\n\t\t},\n\t\tparse: function (a) {\n\t\t\tfor (var c = a.length, b = [], f = 0; f < c; f += 2) b[f >>> 3] |= parseInt(a.substr(f, 2), 16) << 24 - 4 * (f % 8);\n\t\t\treturn new p.init(b, c / 2)\n\t\t}\n\t}, j = b.Latin1 = {\n\t\tstringify: function (a) {\n\t\t var c = a.words;\n\t\t a = a.sigBytes;\n\t\t for (var b = [], f = 0; f < a; f++) b.push(String.fromCharCode(c[f >>> 2] >>> 24 - 8 * (f % 4) & 255));\n\t\t return b.join(\"\")\n\t\t},\n\t\tparse: function (a) {\n\t\t for (var c = a.length, b = [], f = 0; f < c; f++) b[f >>> 2] |= (a.charCodeAt(f) & 255) << 24 - 8 * (f % 4);\n\t\t return new p.init(b, c)\n\t\t}\n\t}, h = b.Utf8 = {\n\t\tstringify: function (a) {\n\t\t\ttry {\n\t\t\t\treturn decodeURIComponent(escape(j.stringify(a)))\n\t\t\t} catch (c) {\n\t\t\t\tthrow Error(\"Malformed UTF-8 data\");\n\t\t\t}\n\t\t},\n\t\tparse: function (a) {\n\t\t \treturn j.parse(unescape(encodeURIComponent(a)))\n\t\t}\n\t},\n\tr = d.BufferedBlockAlgorithm = k.extend({\n\t\treset: function () {\n\t\t\tthis._data = new p.init;\n\t\t\tthis._nDataBytes = 0\n\t\t},\n\t\t_append: function (a) {\n\t\t\t\"string\" == typeof a && (a = h.parse(a));\n\t\t\tthis._data.concat(a);\n\t\t\tthis._nDataBytes += a.sigBytes\n\t\t},\n\t\t_process: function (a) {\n\t\t\tvar c = this._data,\n\t\t\tb = c.words,\n\t\t\tf = c.sigBytes,\n\t\t\td = this.blockSize,\n\t\t\te = f / (4 * d),\n\t\t\te = a ? g.ceil(e) : g.max((e | 0) - this._minBufferSize, 0);\n\t\t\ta = e * d;\n\t\t\tf = g.min(4 * a, f);\n\t\t\tif (a) {\n\t\t\t\tfor (var k = 0; k < a; k += d) this._doProcessBlock(b, k);\n\t\t\t\tk = b.splice(0, a);\n\t\t\t\tc.sigBytes -= f\n\t\t\t}\n\t\t\treturn new p.init(k, f)\n\t\t},\n\t\tclone: function () {\n\t\t\tvar a = k.clone.call(this);\n\t\t\ta._data = this._data.clone();\n\t\t\treturn a\n\t\t},\n\t\t_minBufferSize: 0\n\t});\n\td.Hasher = r.extend({\n\t\tcfg: k.extend(),\n\t\tinit: function (a) {\n\t\t\tthis.cfg = this.cfg.extend(a);\n\t\t\tthis.reset()\n\t\t},\n\t\treset: function () {\n\t\t\tr.reset.call(this);\n\t\t\tthis._doReset()\n\t\t},\n\t\tupdate: function (a) {\n\t\t\tthis._append(a);\n\t\t\tthis._process();\n\t\t\treturn this\n\t\t},\n\t\tfinalize: function (a) {\n\t\t\ta && this._append(a);\n\t\t\treturn this._doFinalize()\n\t\t},\n\t\tblockSize: 16,\n\t\t_createHelper: function (a) {\n\t\t\treturn function (b, d) {\n\t\t\treturn (new a.init(d)).finalize(b)\n\t\t\t}\n\t\t},\n\t\t_createHmacHelper: function (a) {\n\t\t\treturn function (b, d) {\n\t\t\treturn (new s.HMAC.init(a, d)).finalize(b)\n\t\t\t}\n\t\t}\n\t});\n\tvar s = e.algo = {};\n\treturn e\n}(Math);\n\n(function () {\n\tvar g = CryptoJS,\n\t\tl = g.lib,\n\t\te = l.WordArray,\n\t\td = l.Hasher,\n\t\tm = [],\n\t\tl = g.algo.SHA1 = d.extend({\n\t\t\t_doReset: function () {\n\t\t\t\tthis._hash = new e.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520])\n\t\t\t},\n\t\t\t_doProcessBlock: function (d, e) {\n\t\t\t\tfor (var b = this._hash.words, n = b[0], j = b[1], h = b[2], g = b[3], l = b[4], a = 0; 80 > a; a++) {\n\t\t\t\t\tif (16 > a) m[a] = d[e + a] | 0;\n\t\t\t\t\telse {\n\t\t\t\t\tvar c = m[a - 3] ^ m[a - 8] ^ m[a - 14] ^ m[a - 16];\n\t\t\t\t\tm[a] = c << 1 | c >>> 31\n\t\t\t\t\t}\n\t\t\t\t\tc = (n << 5 | n >>> 27) + l + m[a];\n\t\t\t\t\tc = 20 > a ? c + ((j & h | ~j & g) + 1518500249) : 40 > a ? c + ((j ^ h ^ g) + 1859775393) : 60 > a ? c + ((j & h | j & g | h & g) - 1894007588) : c + ((j ^ h ^ g) - 899497514);\n\t\t\t\t\tl = g;\n\t\t\t\t\tg = h;\n\t\t\t\t\th = j << 30 | j >>> 2;\n\t\t\t\t\tj = n;\n\t\t\t\t\tn = c\n\t\t\t\t}\n\t\t\t\tb[0] = b[0] + n | 0;\n\t\t\t\tb[1] = b[1] + j | 0;\n\t\t\t\tb[2] = b[2] + h | 0;\n\t\t\t\tb[3] = b[3] + g | 0;\n\t\t\t\tb[4] = b[4] + l | 0\n\t\t\t},\n\t\t\t_doFinalize: function () {\n\t\t\t\tvar d = this._data,\n\t\t\t\t\te = d.words,\n\t\t\t\t\tb = 8 * this._nDataBytes,\n\t\t\t\t\tg = 8 * d.sigBytes;\n\t\t\t\te[g >>> 5] |= 128 << 24 - g % 32;\n\t\t\t\te[(g + 64 >>> 9 << 4) + 14] = Math.floor(b / 4294967296);\n\t\t\t\te[(g + 64 >>> 9 << 4) + 15] = b;\n\t\t\t\td.sigBytes = 4 * e.length;\n\t\t\t\tthis._process();\n\t\t\t\treturn this._hash\n\t\t\t},\n\t\t\tclone: function () {\n\t\t\t\tvar e = d.clone.call(this);\n\t\t\t\te._hash = this._hash.clone();\n\t\t\t\treturn e\n\t\t\t}\n\t});\n\tg.SHA1 = d._createHelper(l);\n\tg.HmacSHA1 = d._createHmacHelper(l)\n})();\n\n(function () {\n\tvar g = CryptoJS,\n\t\tl = g.enc.Utf8;\n\t\tg.algo.HMAC = g.lib.Base.extend({\n\t\tinit: function (e, d) {\n\t\t\te = this._hasher = new e.init;\n\t\t\t\"string\" == typeof d && (d = l.parse(d));\n\t\t\tvar g = e.blockSize,\n\t\t\tk = 4 * g;\n\t\t\td.sigBytes > k && (d = e.finalize(d));\n\t\t\td.clamp();\n\t\t\tfor (var p = this._oKey = d.clone(), b = this._iKey = d.clone(), n = p.words, j = b.words, h = 0; h < g; h++) n[h] ^= 1549556828, j[h] ^= 909522486;\n\t\t\tp.sigBytes = b.sigBytes = k;\n\t\t\tthis.reset()\n\t\t},\n\t\treset: function () {\n\t\t\tvar e = this._hasher;\n\t\t\te.reset();\n\t\t\te.update(this._iKey)\n\t\t},\n\t\tupdate: function (e) {\n\t\t\tthis._hasher.update(e);\n\t\t\treturn this\n\t\t},\n\t\tfinalize: function (e) {\n\t\t\tvar d = this._hasher;\n\t\t\te = d.finalize(e);\n\t\t\td.reset();\n\t\t\treturn d.finalize(this._oKey.clone().concat(e))\n\t\t}\n\t})\n})();\n \n //使用算法\n // var key = \"f7205fffe445421fdssdfsdfdsfs\"\n // var sha1_result = CryptoJS.HmacSHA1(\"helloword\", key)\n // console.log('-------',sha1_result.toString())\n\n\nwindow && (window.CryptoJSTest = CryptoJS);"],"names":["render","_vm","this","_c","_self","staticClass","modileFlag","on","mouseHover","attrs","txtContent","_v","class","userClass","style","height","userHeight","_s","userId","_l","userList","item","index","key","directives","name","rawName","value","showFlag","expression","roomId","exitRoom","_e","userClassPhone","textVisible","$event","ref","editorOption","onEditorBlur","onEditorFocus","onEditorReady","model","contentValue","callback","$$v","updataFlag","updataClick","staticRenderFns","baseUrl","startVideo","data","axios","post","stopVideo","destructionRoom","htmlToPDF","secretaryRoleByUserId","get","roleFlag","components","taskId","methods","destructionRoomFn","then","res","console","log","stopVideoFn","$emit","startVideoFn","caseId","mounted","$route","query","flag","component","formatSignString","params","strParam","signStr","keys","Object","sort","i","len","length","slice","async","createQuery","time","Date","getTime","getServerTime","Promise","resolve","reject","xhr","XMLHttpRequest","open","send","onreadystatechange","readyState","status","responseText","error","serverTime","secretid","engine_model_type","parseInt","Math","round","guid","hasOwnProperty","voice_format","hotword_id","needvad","filter_dirty","filter_modal","filter_punc","convert_num_mode","word_info","vad_silence_time","max_speak_time","token","extend_params","replace","c","r","random","v","toString","getUrl","self","appid","OnError","urlQuery","queryStr","signature","signCallback","secretkey","encodeURIComponent","toUint8Array","wordArray","words","sigBytes","u8","Uint8Array","Uint8ArrayToString","fileData","dataString","String","fromCharCode","secretKey","hash","window","CryptoJSTest","HmacSHA1","bytes","btoa","TAG","SpeechRecognizer","constructor","requestId","isLog","socket","isSignSuccess","isSentenceBegin","isRecognizeComplete","sendCount","getMessageList","stop","JSON","stringify","type","code","message","close","start","url","WebSocket","MozWebSocket","onopen","e","onmessage","push","response","parse","OnRecognitionStart","final","OnRecognitionComplete","result","slice_type","OnSentenceBegin","OnSentenceEnd","OnRecognitionResultChange","onerror","onclose","event","write","setTimeout","audioWorkletCode","to16kHz","to16BitPCM","audioWorkletBlobURL","URL","createObjectURL","Blob","ASR","options","audioTrack","audioContext","AudioContext","webkitAudioContext","speechRecognizer","isCanSendData","audioData","secretId","appId","OnChange","bind","getAudioData","mediaStream","MediaStream","addTrack","mediaStreamSource","createMediaStreamSource","audioWorklet","addModule","myNode","AudioWorkletNode","numberOfInputs","numberOfOutputs","channelCount","port","connect","destination","catch","scriptProcessor","createScriptProcessor","onaudioprocess","inputData","inputBuffer","getChannelData","output","sampleRate","Int8Array","buffer","audioDataArray","suspend","input","dataLength","dataBuffer","ArrayBuffer","dataView","DataView","offset","s","max","min","setInt16","Float32Array","fitCount","newData","springFactor","tmp","before","floor","toFixed","after","ceil","atPoint","trtc","roomFooter","roomFooterPhone","quillEditor","userPhoneHeight","userSign","id","localStreamAsr","asrList","htmlContent","$message","msg","quill","content","enable","onEditorChange","html","text","forEach","updateLocalVideo","publish","updateLocalAudio","destroy","$router","getPushVideo","TRTC","REMOTE_VIDEO_AVAILABLE","streamType","aoido","getAudioTrack","voice_text_str","getWidth","getHeight","getWidthPhone","startRemoteVideo","view","deletePushVideo","REMOTE_VIDEO_UNAVAILABLE","hostId","alert","deleteIndex","indexOf","filter","splice","reserveConferenceListFn","reserveConferenceList","userName","secretaryRoleByUserIdFn","isSecretaryRole","computed","editor","$refs","myQuillEditor","getModile","sdkAppId","getUsersig","enterRoom","Number","scene","userSig","startLocalVideo","document","getElementById","startLocalAudio","created","root","factory","module","exports","modules","installedModules","__webpack_require__","moduleId","l","call","m","d","getter","o","defineProperty","configurable","enumerable","n","__esModule","object","property","prototype","p","container_1","format_1","leaf_1","scroll_1","inline_1","block_1","embed_1","text_1","attributor_1","class_1","style_1","store_1","Registry","Parchment","Scope","create","find","register","Container","default","Format","Leaf","Embed","Scroll","Block","Inline","Text","Attributor","Attribute","Class","Style","Store","__extends","extendStatics","setPrototypeOf","__proto__","Array","b","__","ParchmentError","_super","_this","Error","attributes","classes","tags","types","match","BlotClass","node","Node","TEXT_NODE","bubble","DATA_KEY","blot","parentNode","scope","ANY","LEVEL","BLOCK","INLINE","HTMLElement","names","getAttribute","split","tagName","TYPE","Definitions","_i","arguments","map","Definition","blotName","attrName","keyName","className","isArray","toUpperCase","tagNames","tag","diff","equal","extend","op","NULL_CHARACTER","Delta","ops","insert","newOp","retain","lastOp","unshift","chop","pop","predicate","partition","passed","failed","target","reduce","initial","changeLength","elem","delete","end","Infinity","iter","iterator","hasNext","nextOp","next","compose","other","thisIter","otherIter","firstOther","peek","firstLeft","peekType","peekLength","delta","thisOp","otherOp","rest","concat","strings","prep","join","diffResult","opLength","INSERT","DELETE","EQUAL","eachLine","newline","line","transform","priority","transformPosition","nextType","hasOwn","toStr","gOPD","getOwnPropertyDescriptor","arr","isPlainObject","obj","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","writable","getProperty","src","copy","copyIsArray","clone","deep","BlockEmbed","bubbleFormats","undefined","_createClass","defineProperties","props","descriptor","Constructor","protoProps","staticProps","_get","receiver","Function","desc","parent","getPrototypeOf","_extend","_extend2","_interopRequireDefault","_quillDelta","_quillDelta2","_parchment","_parchment2","_break","_break2","_inline","_inline2","_text","_text2","_classCallCheck","instance","TypeError","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","NEWLINE_LENGTH","_Parchment$Embed","apply","domNode","formats","values","attribute","BLOCK_ATTRIBUTE","format","def","endsWith","block","insertBefore","insertAt","BLOCK_BLOT","_Parchment$Block","_this2","cache","descendants","leaf","lines","shift","children","tail","head","remove","context","child","force","statics","defaultChild","allowedChildren","overload","expandConfig","_typeof","Symbol","_slicedToArray","sliceIterator","_arr","_n","_d","done","err","_editor","_editor2","_emitter3","_emitter4","_module","_module2","_selection","_selection2","_logger","_logger2","_theme","_theme2","_defineProperty","debug","Quill","container","innerHTML","trim","classList","add","__quill","addContainer","setAttribute","scrollingContainer","emitter","scroll","whitelist","selection","theme","keyboard","clipboard","history","init","events","EDITOR_CHANGE","TEXT_CHANGE","toggle","isBlank","SCROLL_UPDATE","source","mutations","range","lastRange","modify","update","contents","convert","setContents","clear","placeholder","readOnly","disable","limit","level","imports","path","overwrite","warn","startsWith","refNode","createElement","setRange","_this3","_overload","_overload2","deleteText","enabled","scrollTop","focus","scrollIntoView","_this4","sources","API","getSelection","change","formatLine","formatText","setSelection","SILENT","_this5","_overload3","_overload4","_this6","_overload5","_overload6","bounds","getBounds","containerBounds","getBoundingClientRect","bottom","top","left","right","width","getLength","_overload7","_overload8","getContents","getFormat","MAX_VALUE","getRange","_overload9","_overload10","getText","hasFocus","embed","_this7","insertEmbed","_this8","_overload11","_overload12","insertText","contains","off","once","dangerouslyPasteHTML","_this9","_overload13","_overload14","removeFormat","_this10","deleted","applied","applyDelta","ret","_overload15","_overload16","Range","USER","_this11","userConfig","DEFAULTS","import","themeConfig","config","moduleNames","moduleConfig","moduleClass","toolbar","querySelector","modifier","strict","isEnabled","oldDelta","shiftRange","_emitter","_emitter2","args","emit","_map","pos","_map2","_map3","_map4","version","_Parchment$Inline","compare","BLOT","isolate","wrap","moveChildren","selfIndex","order","otherIndex","TextBlot","_Parchment$Text","_eventemitter","_eventemitter2","EVENTS","eventName","addEventListener","_len","_key","querySelectorAll","_node$__quill$emitter","handleDOM","Emitter","_EventEmitter","listeners","_len2","_key2","_ref","handler","SCROLL_BEFORE_UPDATE","SCROLL_OPTIMIZE","SELECTION_CHANGE","Module","levels","method","_console","namespace","ns","logger","newLevel","pSlice","objectKeys","isArguments","deepEqual","actual","expected","opts","objEquiv","isUndefinedOrNull","isBuffer","x","a","ka","kb","attributeBit","ATTRIBUTE","canAdd","removeAttribute","Code","_block","_block2","_Inline","CodeBlock","_Block","textContent","frag","_descendant","descendant","_descendant2","deleteAt","nextNewline","newlineIndex","prevNewline","isolateLength","formatAt","_descendant3","_descendant4","searchIndex","reverse","lastIndexOf","appendChild","prev","optimize","removeChild","unwrap","TAB","_op","_op2","_code","_code2","_cursor","_cursor2","_clone","_clone2","_deepEqual","_deepEqual2","ASCII","Editor","getDelta","consumeNextNewline","scrollLength","batchStart","normalizeDelta","_scroll$line","_scroll$line2","_line$descendant","_line$descendant2","batchEnd","lengthRemaining","lineLength","codeIndex","codeLength","leaves","_path","formatsArr","blots","combineFormats","_scroll$line3","_scroll$line4","suffixLength","suffix","cursorIndex","textBlot","oldValue","CONTENTS","oldText","newText","diffDelta","combined","merged","image","list","bullet","_toConsumableArray","arr2","from","Selection","composing","mouseDown","cursor","savedRange","handleComposition","handleDragging","listenDOM","native","getNativeRange","textNode","setNativeRange","ignored","_context$range","startNode","startOffset","endNode","endOffset","restore","body","_format","nativeRange","collapsed","attach","_scroll$leaf","_scroll$leaf2","_leaf$position","position","_leaf$position2","createRange","setStart","_scroll$leaf3","_scroll$leaf4","_leaf$position3","_leaf$position4","setEnd","side","rect","rangeCount","getRangeAt","normalizeNative","info","normalized","normalizedToRange","activeElement","positions","indexes","_position","startContainer","endContainer","childNodes","lastChild","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","first","last","scrollBounds","removeAllRanges","addRange","blur","rangeToNative","oldRange","_getRange","_getRange2","Break","linked_list_1","shadow_1","ContainerBlot","build","makeBlot","forEachAt","criteria","_a","lengthLeft","detach","childBlot","refBlot","some","insertInto","memo","targetParent","inclusive","addedNodes","removedNodes","mutation","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","nextSibling","replaceChild","FormatBlot","toLowerCase","replaceWith","replacement","wrapper","move","LeafBlot","INLINE_BLOT","lib","keepNull","Iterator","retOp","substr","_instanceof","nativeMap","nativeSet","nativePromise","Map","_","Set","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","proto","__isArray","__isRegExp","RegExp","__getRegExpFlags","lastIndex","__isDate","allocUnsafe","keyChild","valueChild","set","entryChild","getOwnPropertySymbols","symbols","symbol","allPropertyNames","getOwnPropertyNames","propertyName","__objToStr","re","flags","global","ignoreCase","multiline","clonePrototype","_container","_container2","isLine","_Parchment$Scroll","batch","_line","_line2","_line3","_line4","_newlineIndex","getLines","observer","takeRecords","SHORTKEY","_quill","_quill2","test","navigator","platform","Keyboard","_Module","bindings","addBinding","ENTER","shiftKey","handleEnter","metaKey","ctrlKey","altKey","userAgent","BACKSPACE","handleBackspace","handleDelete","prefix","handleDeleteRange","listen","evt","binding","normalize","which","keyCode","defaultPrevented","_quill$getLine","getLine","_quill$getLine2","_quill$getLeaf","getLeaf","_quill$getLeaf2","leafStart","offsetStart","_ref2","leafEnd","offsetEnd","prefixText","suffixText","curContext","empty","prevented","every","preventDefault","makeEmbedArrowHandler","_ref3","where","LEFT","RIGHT","_quill$getLeaf3","_quill$getLeaf4","_quill$getLine11","_quill$getLine12","_quill$getLine13","_quill$getLine14","curFormats","prevFormats","nextLength","_quill$getLine15","_quill$getLine16","_quill$getLine17","_quill$getLine18","nextFormats","firstFormats","lastFormats","lineFormats","makeCodeBlockHandler","indent","_quill$scroll$descend","_quill$scroll$descend2","scrollIndex","getIndex","makeFormatHandler","shortKey","charCodeAt","ESCAPE","UP","DOWN","cutoff","updateContents","_quill$getLine3","_quill$getLine4","_quill$getLine5","_quill$getLine6","header","_quill$getLine7","_quill$getLine8","_quill$getLine9","_quill$getLine10","Cursor","createTextNode","_length","restoreText","_Parchment$Container","ColorStyle","ColorClass","ColorAttributor","_Parchment$Attributor","sanitize","Link","_sanitize","PROTOCOL_WHITELIST","SANITIZED_URL","protocols","anchor","href","protocol","_keyboard","_keyboard2","_dropdown","_dropdown2","optionsCounter","toggleAriaAttribute","element","Picker","select","buildPicker","display","label","togglePicker","escape","option","tabIndex","hasAttribute","selectItem","buildItem","selected","buildLabel","buildOptions","trigger","selectedIndex","Event","dispatchEvent","createEvent","initEvent","isActive","_embed","_embed2","_scroll","_scroll2","_clipboard","_clipboard2","_history","_history2","ShadowBlot","cloneNode","parentBlot","refDomNode","AttributorStore","styles","attr","ClassAttributor","matches","camelize","parts","part","StyleAttributor","Theme","themes","GUARD_TEXT","contentNode","childNode","leftGuard","rightGuard","prevLength","AlignStyle","AlignClass","AlignAttribute","BackgroundStyle","BackgroundClass","_color","DirectionStyle","DirectionClass","DirectionAttribute","FontClass","FontStyle","FontStyleAttributor","SizeStyle","SizeClass","getLastChangeIndex","History","lastRecorded","ignoreChange","userOnly","record","undo","redo","dest","stack","changeDelta","undoDelta","timestamp","now","delay","maxStack","endsWithNewlineChange","deleteLength","changeIndex","BaseTooltip","_colorPicker","_colorPicker2","_iconPicker","_iconPicker2","_picker","_picker2","_tooltip","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","listener","removeEventListener","tooltip","textbox","hide","pickers","picker","extendToolbar","buttons","icons","button","selects","fillSelect","align","handlers","formula","edit","fileInput","files","reader","FileReader","onload","readAsDataURL","click","video","_Tooltip","boundsContainer","save","cancel","mode","preview","linkRange","restoreFocus","extractVideoUrl","defaultValue","LinkedList","append","nodes","cur","curNode","curIndex","curLength","OBSERVER_CONFIG","characterData","characterDataOldValue","childList","subtree","MAX_OPTIMIZE_ITERATIONS","ScrollBlot","MutationObserver","observe","disconnect","records","mark","markParent","remaining","previousSibling","grandChild","isEqual","obj1","obj2","prop","InlineBlot","BlockBlot","EmbedBlot","splitText","_toggle","DOMTokenList","searchString","subjectString","isFinite","thisArg","execCommand","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","substring","diff_commonSuffix","commonsuffix","diffs","diff_compute_","diff_cleanupMerge","fix_cursor","fix_emoji","longtext","shorttext","hm","diff_halfMatch_","text1_a","text1_b","text2_a","text2_b","mid_common","diffs_a","diffs_b","diff_bisect_","text1_length","text2_length","max_d","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","x1","y1","charAt","k2_offset","x2","diff_bisectSplit_","k2","y2","y","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","pointerend","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","seed","j","best_common","prefixLength","hm1","hm2","pointer","count_delete","count_insert","text_delete","text_insert","changes","cursor_normalize_diff","current_pos","next_pos","split_pos","d_left","d_right","norm","ndiffs","cursor_pointer","d_next","merge_tuples","compact","starts_with_pair_end","str","ends_with_pair_start","fixed_diffs","left_d","right_d","shim","supportsArgumentsClass","supported","unsupported","propertyIsEnumerable","has","Events","EE","fn","EventEmitter","_events","_eventsCount","eventNames","exists","available","ee","a1","a2","a3","a4","a5","removeListener","removeAllListeners","addListener","setMaxListeners","prefixed","matchText","matchSpacing","matchNewline","matchBlot","matchAttributor","_extend3","_align","_background","_direction","_font","_size","DOM_KEY","CLIPBOARD_CONFIG","matchBreak","ELEMENT_NODE","matchStyles","matchIndent","matchAlias","matchIgnore","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","Clipboard","onPaste","matchers","selector","matcher","matchVisual","addMatcher","innerText","_prepareMatching","prepareMatching","_prepareMatching2","elementMatchers","textMatchers","traverse","deltaEndsWith","paste","pair","_pair","applyFormat","computeStyle","nodeType","getComputedStyle","endText","childrenDelta","nextElementSibling","nodeHeight","offsetHeight","parseFloat","marginTop","marginBottom","offsetTop","fontStyle","italic","fontWeight","bold","textIndent","whiteSpace","replacer","collapse","Bold","addControls","Toolbar","_ret","controls","addHandler","_this$quill$selection","_this$quill$selection2","_quill$selection$getR","_quill$selection$getR2","prompt","addButton","groups","group","control","addSelect","clean","direction","link","ColorPicker","_Picker","backgroundColor","colorLabel","stroke","fill","IconPicker","defaultItem","Tooltip","TEMPLATE","reference","offsetWidth","rootBounds","verticalShift","_base","_base2","_link","_link2","_icons","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","buildButtons","buildPickers","SnowTooltip","_BaseTooltip","show","_core","_core2","_indent","_blockquote","_blockquote2","_header","_header2","_list","_list2","_bold","_bold2","_italic","_italic2","_script","_script2","_strike","_strike2","_underline","_underline2","_image","_image2","_video","_video2","_formula","_formula2","_syntax","_syntax2","_toolbar","_toolbar2","_bubble","_bubble2","_snow","_snow2","IndentClass","ListItem","IdentAttributor","Blockquote","Header","List","_Container","listEventHandler","Italic","_Bold","Script","Strike","Underline","ATTRIBUTES","Image","Video","_BlockEmbed","FormulaBlot","_Embed","katex","throwOnError","errorColor","Formula","CodeToken","SyntaxCodeBlock","_CodeBlock","_highlight","cachedText","Syntax","highlight","timer","clearTimeout","interval","hljs","highlightAuto","BubbleTooltip","BubbleTheme","lastLine","_bounds","arrow","marginLeft","t","require","u","install","globalOptions","boundary","script","size","color","background","font","assign","_options","_content","defaultOptions","disabled","Boolean","required","initialize","beforeDestroy","$el","pasteHTML","watch","setText","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","f","beforeCreate","_injectStyles","esModule","$createElement","_t","CryptoJS","g","k","Base","mixIn","$super","WordArray","q","clamp","enc","Hex","Latin1","h","Utf8","decodeURIComponent","unescape","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","blockSize","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","SHA1","_hash","_hasher","_oKey","_iKey"],"sourceRoot":""} \ No newline at end of file diff --git a/Miniapp-H5/dist/js/667.ca832d99.js.map b/Miniapp-H5/dist/js/667.ca832d99.js.map deleted file mode 100644 index 6d2fdc3..0000000 --- a/Miniapp-H5/dist/js/667.ca832d99.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"js/667.ca832d99.js","mappings":"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","sources":["webpack://nouiroom/./src/views/room.vue","webpack://nouiroom/./src/api/room.js","webpack://nouiroom/./src/views/components/roomFooter.vue","webpack://nouiroom/src/views/components/roomFooter.vue","webpack://nouiroom/./src/views/components/roomFooter.vue?793f","webpack://nouiroom/./src/views/components/roomFooter.vue?4365","webpack://nouiroom/./src/views/components/footerPhone.vue","webpack://nouiroom/src/views/components/footerPhone.vue","webpack://nouiroom/./src/views/components/footerPhone.vue?8acc","webpack://nouiroom/./src/views/components/footerPhone.vue?bf03","webpack://nouiroom/./src/utils/speechrecognizer.js","webpack://nouiroom/./src/utils/asr.esm.js","webpack://nouiroom/src/views/room.vue","webpack://nouiroom/./src/views/room.vue?a096","webpack://nouiroom/./src/views/room.vue?6678","webpack://nouiroom/./node_modules/quill/dist/quill.js","webpack://nouiroom/./node_modules/vue-quill-editor/dist/vue-quill-editor.js","webpack://nouiroom/./src/utils/cryptojs.js"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"page\"},[(_vm.modileFlag)?_c('div',{staticClass:\"roompage\",on:{\"mouseover\":_vm.mouseHover}},[_c('div',{staticClass:\"txtContent\"},[_c('el-tag',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.txtContent}},[_vm._v(\"会议内容\")])],1),_c('div',{class:_vm.userClass,style:({ height: _vm.userHeight }),attrs:{\"id\":\"localStream\"}},[_c('div',{staticClass:\"userName\"},[_vm._v(_vm._s(_vm.userId))])]),_vm._l((_vm.userList),function(item,index){return _c('div',{key:index,class:_vm.userClass,style:({ height: _vm.userHeight }),attrs:{\"id\":item}},[_c('div',{staticClass:\"userName\"},[_vm._v(_vm._s(item))])])}),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.showFlag),expression:\"showFlag\"}],staticClass:\"footer\"},[_c('roomFooter',{attrs:{\"roomId\":_vm.roomId},on:{\"exitRoom\":_vm.exitRoom}})],1)],2):_vm._e(),(!_vm.modileFlag)?_c('div',{staticClass:\"roomPhone\"},[_c('div',{staticClass:\"header\"},[_c('roomFooterPhone',{on:{\"exitRoom\":_vm.exitRoom}})],1),_c('div',{staticClass:\"bodyVideo\"},[_c('div',{class:_vm.userClassPhone,attrs:{\"id\":\"localStream\"}},[_c('div',{staticClass:\"userNamePhone\"},[_vm._v(_vm._s(_vm.userId))])]),_vm._l((_vm.userList),function(item,index){return _c('div',{key:index,class:_vm.userClassPhone,attrs:{\"id\":item}},[_c('div',{staticClass:\"userNamePhone\"},[_vm._v(_vm._s(item))])])})],2)]):_vm._e(),_c('el-drawer',{attrs:{\"title\":\"会议内容\",\"visible\":_vm.textVisible,\"modal\":false},on:{\"update:visible\":function($event){_vm.textVisible=$event}}},[_c('quill-editor',{ref:\"myQuillEditor\",attrs:{\"options\":_vm.editorOption},on:{\"blur\":function($event){return _vm.onEditorBlur($event)},\"focus\":function($event){return _vm.onEditorFocus($event)},\"ready\":function($event){return _vm.onEditorReady($event)}},model:{value:(_vm.contentValue),callback:function ($$v) {_vm.contentValue=$$v},expression:\"contentValue\"}}),_c('el-button',{staticClass:\"updataBtn\",attrs:{\"type\":\"primary\",\"disabled\":!_vm.updataFlag},on:{\"click\":_vm.updataClick}},[_vm._v(\"确认修改内容\")])],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import axios from \"@/utils/request\";\nlet baseUrl = 'https://api.xayunmei.com/zhongcaiapitest';\n// 开始云端录制\nexport function startVideo(data) {\n return axios.post(`${baseUrl}/video/openCloudRecording`,data);\n}\n// 结束云端录制\nexport function stopVideo(data) {\n return axios.post(`${baseUrl}/video/closeDeleteCloudRecording?taskId=${data}`);\n}\n// 解散房间\nexport function destructionRoom(data) {\n return axios.post(`${baseUrl}/video/dissolveRoom`,data);\n}\n// 根据html字符串转pdf并且和案件关联\nexport function htmlToPDF(data) {\n return axios.post(`${baseUrl}/video/htmlToPDF`,data);\n}\n// 根据userId查询该用户是否是秘书\nexport function secretaryRoleByUserId(userId) {\n return axios.get(`${baseUrl}/video/secretaryRoleByUserId?userId=${userId}`);\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"roomFooter\"},[_c('div',{staticClass:\"outRoom\"},[(!_vm.roleFlag)?_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.exitRoom}},[_vm._v(\"退出房间\")]):_vm._e(),(_vm.roleFlag)?_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.exitRoom}},[_vm._v(\"解散房间\")]):_vm._e()],1)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n \n\n \n \n ","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./roomFooter.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./roomFooter.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./roomFooter.vue?vue&type=template&id=7182f480&scoped=true\"\nimport script from \"./roomFooter.vue?vue&type=script&lang=js\"\nexport * from \"./roomFooter.vue?vue&type=script&lang=js\"\nimport style0 from \"./roomFooter.vue?vue&type=style&index=0&id=7182f480&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7182f480\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"roomFooter\"},[(!_vm.roleFlag)?_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.exitRoom}},[_vm._v(\"退出房间\")]):_vm._e(),(_vm.roleFlag)?_c('el-button',{attrs:{\"type\":\"danger\"},on:{\"click\":_vm.exitRoom}},[_vm._v(\"解散房间\")]):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n \n\n \n\n \n \n ","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./footerPhone.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./footerPhone.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./footerPhone.vue?vue&type=template&id=63f1986e&scoped=true\"\nimport script from \"./footerPhone.vue?vue&type=script&lang=js\"\nexport * from \"./footerPhone.vue?vue&type=script&lang=js\"\nimport style0 from \"./footerPhone.vue?vue&type=style&index=0&id=63f1986e&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"63f1986e\",\n null\n \n)\n\nexport default component.exports","import './cryptojs.js';\n\nfunction formatSignString(query, params){\n let strParam = \"\";\n let signStr = \"asr.cloud.tencent.com/asr/v2/\";\n if(query['appid']){\n signStr += query['appid'];\n }\n const keys = Object.keys(params);\n keys.sort();\n for (let i = 0, len = keys.length; i < len; i++) {\n strParam += `&${keys[i]}=${params[keys[i]]}`;\n }\n return `${signStr}?${strParam.slice(1)}`;\n}\nasync function createQuery(query){\n const params = {};\n const time = new Date().getTime();\n\n async function getServerTime(){\n return new Promise((resolve, reject)=>{\n try {\n const xhr = new XMLHttpRequest();\n xhr.open(\"GET\", 'https://asr.cloud.tencent.com/server_time', true);\n xhr.send();\n xhr.onreadystatechange = function () {\n if (xhr.readyState === 4 && xhr.status === 200) {\n resolve(xhr.responseText);\n }\n }\n } catch (error) {\n reject(error);\n }\n })\n }\n const serverTime = await getServerTime();\n params['secretid'] = query.secretid || '';\n params['engine_model_type'] = query.engine_model_type || '16k_zh';\n params['timestamp'] = parseInt(serverTime) || Math.round(time / 1000);\n params['expired'] = Math.round(time / 1000) + 24 * 60 * 60;\n params['nonce'] = Math.round(time / 100000);\n params['voice_id'] = guid();\n\n // 非必填参数\n query.hasOwnProperty('voice_format') && (params['voice_format'] = query.voice_format);\n query.hasOwnProperty('hotword_id') && (params['hotword_id'] = query.hotword_id);\n query.hasOwnProperty('needvad') && (params['needvad'] = query.needvad);\n query.hasOwnProperty('filter_dirty') && (params['filter_dirty'] = query.filter_dirty);\n query.hasOwnProperty('filter_modal') && (params['filter_modal'] = query.filter_modal);\n query.hasOwnProperty('filter_punc') && (params['filter_punc'] = query.filter_punc);\n query.hasOwnProperty('convert_num_mode') && (params['convert_num_mode'] = query.convert_num_mode);\n query.hasOwnProperty('word_info') && (params['word_info'] = query.word_info);\n query.hasOwnProperty('vad_silence_time') && (params['vad_silence_time'] = query.vad_silence_time);\n query.hasOwnProperty('max_speak_time') && (params['max_speak_time'] = query.max_speak_time);\n query.hasOwnProperty('token') && (params['token'] = query.token);\n\n // 处理extendParams\n if (typeof query.extend_params !== null) {\n for (let item in query.extend_params) {\n params[item] = query.extend_params[item];\n }\n }\n return params;\n}\n\nexport const guid = () => {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n const r = Math.random() * 16 | 0,\n v = c === 'x' ? r : (r & 0x3 | 0x8);\n return v.toString(16);\n });\n};\n// 获取签名原文\nasync function getUrl(self, params) {\n if (!params.appid || !params.secretid) {\n self.OnError('请确认是否填入账号信息');\n return false;\n }\n const urlQuery = await createQuery(params);\n const queryStr = formatSignString(params, urlQuery);\n let signature = '';\n if (params.signCallback) {\n signature = params.signCallback(queryStr);\n } else {\n signature = signCallback(params.secretkey, queryStr);\n }\n return `wss://${queryStr}&signature=${encodeURIComponent(signature)}`;\n}\n/** 获取签名 start */\n\nfunction toUint8Array(wordArray) {\n // Shortcuts\n const words = wordArray.words;\n const sigBytes = wordArray.sigBytes;\n\n // Convert\n const u8 = new Uint8Array(sigBytes);\n for (let i = 0; i < sigBytes; i++) {\n u8[i] = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n }\n return u8;\n}\n\nfunction Uint8ArrayToString(fileData){\n let dataString = '';\n for (let i = 0; i < fileData.length; i++) {\n dataString += String.fromCharCode(fileData[i]);\n }\n return dataString;\n}\n// 签名函数示例\nfunction signCallback(secretKey, signStr) {\n const hash = window.CryptoJSTest.HmacSHA1(signStr, secretKey);\n const bytes = Uint8ArrayToString(toUint8Array(hash));\n return window.btoa(bytes);\n}\n\n/** 获取签名 end */\n\nconst TAG = 'SpeechRecognizer';\nexport class SpeechRecognizer {\n constructor(params, requestId, isLog) {\n this.socket = null;\n this.isSignSuccess = false; // 是否鉴权成功\n this.isSentenceBegin = false; // 是否一句话开始\n this.query = {\n ...params\n };\n this.isRecognizeComplete = false; // 当前是否识别结束\n this.requestId = requestId;\n this.isLog = isLog;\n this.sendCount = 0;\n this.getMessageList = [];\n }\n // 暂停识别,关闭连接\n stop() {\n if (this.socket && this.socket.readyState === 1) {\n this.socket.send(JSON.stringify({type: 'end'}));\n this.isRecognizeComplete = true;\n } else {\n this.OnError({ code : 6003, message: '连接未建立或连接已关闭' });\n if (this.socket && this.socket.readyState === 1) {\n this.socket.close();\n }\n }\n }\n // 建立websocket链接 data 为用户收集的音频数据\n async start(){\n this.socket = null;\n this.getMessageList = [];\n const url = await getUrl(this, this.query);\n if (!url) {\n this.OnError('鉴权失败');\n return\n }\n this.isLog && console.log(this.requestId, 'get ws url', url, TAG);\n if ('WebSocket' in window) {\n this.socket = new WebSocket(url);\n } else if ('MozWebSocket' in window) {\n this.socket = new MozWebSocket(url);\n } else {\n this.OnError('浏览器不支持WebSocket');\n return\n }\n this.socket.onopen = (e) => { // 连接建立时触发\n this.isLog && console.log(this.requestId, '连接建立', e, TAG);\n };\n this.socket.onmessage = async (e) => { // 连接建立时触发\n try {\n this.getMessageList.push(JSON.stringify(e));\n const response = JSON.parse(e.data);\n if (response.code !== 0) {\n if (this.socket.readyState === 1) {\n this.socket.close();\n }\n this.OnError(response);\n } else {\n if (!this.isSignSuccess) {\n this.OnRecognitionStart(response);\n this.isSignSuccess = true;\n }\n if (response.final === 1) {\n this.OnRecognitionComplete(response);\n return;\n }\n if (response.result) {\n if (response.result.slice_type === 0) {\n this.OnSentenceBegin(response);\n this.isSentenceBegin = true;\n } else if (response.result.slice_type === 2) {\n if (!this.isSentenceBegin) {\n this.OnSentenceBegin(response);\n }\n this.OnSentenceEnd(response);\n } else {\n this.OnRecognitionResultChange(response);\n }\n }\n }\n } catch (e) {\n this.isLog && console.log(this.requestId, 'socket.onmessage catch error', JSON.stringify(e), TAG);\n }\n\n };\n this.socket.onerror = (e) => { // 通信发生错误时触发\n this.isLog && console.log(this.requestId, 'socket error callback', e, TAG);\n this.socket.close();\n this.OnError(e);\n }\n this.socket.onclose = (event) => {\n try {\n if (!this.isRecognizeComplete) {\n this.isLog && console.log(this.requestId, 'socket is close and error', JSON.stringify(event), TAG);\n this.OnError(event);\n }\n } catch (e) {\n this.isLog && console.log(this.requestId, 'socket is onclose catch' + this.sendCount, JSON.stringify(e), TAG);\n }\n }\n }\n close() {\n this.socket && this.socket.close(1000);\n }\n // 发送数据\n write(data) {\n try {\n if (!this.socket || String(this.socket.readyState) !== '1') {\n setTimeout(() => {\n if (!this.socket || this.socket.readyState !== 1) {\n this.socket.send(data);\n }\n }, 40);\n this.OnError({ code : 6001, message: '连接未建立,请稍后发送数据!' });\n }\n this.sendCount += 1;\n this.socket.send(data);\n } catch (e) {\n this.isLog && console.log(this.requestId , '发送数据 error catch', e, TAG);\n }\n };\n // 开始识别的时候\n OnRecognitionStart(res) {\n\n }\n // 一句话开始的时候\n OnSentenceBegin(res) {\n\n }\n // 识别结果发生变化的时候\n OnRecognitionResultChange() {\n\n }\n // 一句话结束的时候\n OnSentenceEnd() {\n\n }\n // 识别结束的时候\n OnRecognitionComplete() {\n\n }\n // 识别失败\n OnError() {\n\n }\n}","import {SpeechRecognizer } from './speechrecognizer.js';\n\nconst audioWorkletCode = `\nclass MyProcessor extends AudioWorkletProcessor {\n constructor(options) {\n super(options);\n this.audioData = [];\n this.nextUpdateFrame = 40;\n }\n\n get intervalInFrames() {\n return 40 / 1000 * sampleRate;\n }\n\n process(inputs) {\n // 去处理音频数据\n // eslint-disable-next-line no-undef\n const output = ${to16kHz}(inputs[0][0], sampleRate);\n const audioData = ${to16BitPCM}(output);\n const data = [...new Int8Array(audioData.buffer)];\n this.audioData = this.audioData.concat(data);\n this.nextUpdateFrame -= inputs[0][0].length;\n if (this.nextUpdateFrame < 0) {\n this.nextUpdateFrame += this.intervalInFrames;\n this.port.postMessage({\n audioData: new Int8Array(this.audioData)\n });\n this.audioData = [];\n }\n return true;\n }\n}\n\nregisterProcessor('my-processor', MyProcessor);\n`;\nconst audioWorkletBlobURL = window.URL.createObjectURL(new Blob([audioWorkletCode], { type: 'text/javascript' }));\n\nexport default class ASR {\n constructor(options) {\n this.audioTrack = options.audioTrack;\n this.audioContext = new (window.AudioContext || window.webkitAudioContext)();\n this.speechRecognizer = null;\n this.isCanSendData = false;\n this.audioData = [];\n this.secretkey = options.secretKey;\n this.params = {\n secretid: options.secretId,\n appid: options.appId,\n engine_model_type: options.engine_model_type || '16k_zh',\n voice_format: options.voice_format || 1,\n // hotword_id: options.hotword_id,\n needvad: options.needvad,\n // filter_dirty: options.filter_dirty,\n // filter_modal: options.filter_modal,\n // filter_punc: options.filter_punc,\n // convert_num_mode: options.convert_num_mode,\n // word_info: options.word_info,\n // token: options.token,\n };\n this.OnRecognitionStart = function () {};\n this.OnSentenceBegin = function () {};\n this.OnRecognitionResultChange = function () {};\n this.OnSentenceEnd = function () {};\n this.OnRecognitionComplete = function () {};\n this.OnError = function () {};\n this.OnChange = function () {};\n }\n signCallback(signStr) {\n const secretKey = this.secretkey;\n const hash = window.CryptoJSTest.HmacSHA1(signStr, secretKey);\n const bytes = Uint8ArrayToString(toUint8Array(hash));\n return window.btoa(bytes);\n }\n start() {\n if (!this.speechRecognizer) {\n const params = {\n // 用户参数\n signCallback: this.signCallback.bind(this),\n ...this.params,\n };\n this.speechRecognizer = new SpeechRecognizer(params);\n }\n\n // 开始识别\n this.speechRecognizer.OnRecognitionStart = (res) => {\n this.isCanSendData = true;\n this.OnRecognitionStart(res);\n };\n // 一句话开始\n this.speechRecognizer.OnSentenceBegin = (res) => {\n this.OnSentenceBegin(res);\n this.OnChange(res);\n };\n // 识别变化时\n this.speechRecognizer.OnRecognitionResultChange = (res) => {\n this.OnRecognitionResultChange(res);\n this.OnChange(res);\n };\n // 一句话结束\n this.speechRecognizer.OnSentenceEnd = (res) => {\n this.OnSentenceEnd(res);\n this.OnChange(res);\n };\n // 识别结束\n this.speechRecognizer.OnRecognitionComplete = (res) => {\n this.OnRecognitionComplete(res);\n };\n // 识别错误\n this.speechRecognizer.OnError = (res) => {\n this.isCanSendData = false;\n this.OnError(res);\n };\n\n // 建立连接\n this.speechRecognizer.start();\n this.getAudioData();\n }\n getAudioData() {\n const mediaStream = new MediaStream();\n mediaStream.addTrack(this.audioTrack);\n const mediaStreamSource = this.audioContext.createMediaStreamSource(mediaStream); // 将声音对象输入这个对象\n if (this.audioContext.audioWorklet) {\n this.audioContext.audioWorklet.addModule(audioWorkletBlobURL).then(() => {\n const myNode = new AudioWorkletNode(this.audioContext, 'my-processor', { numberOfInputs: 1, numberOfOutputs: 1, channelCount: 1 });\n myNode.port.onmessage = (event) => {\n if (this.isCanSendData) {\n this.speechRecognizer.write(event.data.audioData);\n }\n };\n mediaStreamSource.connect(myNode).connect(this.audioContext.destination);\n })\n .catch(console.error);\n } else {\n // 创建一个音频分析对象,采样的缓冲区大小为0(自动适配),输入和输出都是单声道\n const scriptProcessor = this.audioContext.createScriptProcessor(0, 1, 1);\n scriptProcessor.onaudioprocess = (e) => {\n // 去处理音频数据\n const inputData = e.inputBuffer.getChannelData(0);\n const output = to16kHz(inputData, this.audioContext.sampleRate);\n const audioData = to16BitPCM(output);\n this.audioData.push(...new Int8Array(audioData.buffer));\n if (this.audioData.length > 1280) {\n if (this.isCanSendData) {\n const audioDataArray = new Int8Array(this.audioData);\n this.speechRecognizer.write(audioDataArray);\n this.audioData = [];\n }\n }\n };\n // 连接\n mediaStreamSource.connect(scriptProcessor);\n scriptProcessor.connect(this.audioContext.destination);\n }\n }\n stop() {\n this.speechRecognizer.stop();\n this.audioContext && this.audioContext.suspend();\n }\n}\nwindow && (window.ASR = ASR);\n\nfunction toUint8Array(wordArray) {\n // Shortcuts\n\n const { words } = wordArray;\n const { sigBytes } = wordArray;\n\n // Convert\n const u8 = new Uint8Array(sigBytes);\n for (let i = 0; i < sigBytes; i++) {\n u8[i] = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff;\n }\n return u8;\n}\n\nfunction Uint8ArrayToString(fileData) {\n let dataString = '';\n for (let i = 0; i < fileData.length; i++) {\n dataString += String.fromCharCode(fileData[i]);\n }\n return dataString;\n}\nfunction to16BitPCM(input) {\n const dataLength = input.length * (16 / 8);\n const dataBuffer = new ArrayBuffer(dataLength);\n const dataView = new DataView(dataBuffer);\n let offset = 0;\n for (let i = 0; i < input.length; i++, offset += 2) {\n const s = Math.max(-1, Math.min(1, input[i]));\n dataView.setInt16(offset, s < 0 ? s * 0x8000 : s * 0x7fff, true);\n }\n return dataView;\n}\nfunction to16kHz(audioData, sampleRate = 44100) {\n const data = new Float32Array(audioData);\n const fitCount = Math.round(data.length * (16000 / sampleRate));\n const newData = new Float32Array(fitCount);\n const springFactor = (data.length - 1) / (fitCount - 1);\n newData[0] = data[0];\n for (let i = 1; i < fitCount - 1; i++) {\n const tmp = i * springFactor;\n const before = Math.floor(tmp).toFixed();\n const after = Math.ceil(tmp).toFixed();\n const atPoint = tmp - before;\n newData[i] = data[before] + (data[after] - data[before]) * atPoint;\n }\n newData[fitCount - 1] = data[data.length - 1];\n return newData;\n}","\n \n\n \n\n \n \n ","import mod from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./room.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./room.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./room.vue?vue&type=template&id=124d014f&scoped=true\"\nimport script from \"./room.vue?vue&type=script&lang=js\"\nexport * from \"./room.vue?vue&type=script&lang=js\"\nimport style0 from \"./room.vue?vue&type=style&index=0&id=124d014f&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"124d014f\",\n null\n \n)\n\nexport default component.exports","/*!\n * Quill Editor v1.3.7\n * https://quilljs.com/\n * Copyright (c) 2014, Jason Chen\n * Copyright (c) 2013, salesforce.com\n */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Quill\"] = factory();\n\telse\n\t\troot[\"Quill\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId]) {\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/ \t\t}\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\ti: moduleId,\n/******/ \t\t\tl: false,\n/******/ \t\t\texports: {}\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.l = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// define getter function for harmony exports\n/******/ \t__webpack_require__.d = function(exports, name, getter) {\n/******/ \t\tif(!__webpack_require__.o(exports, name)) {\n/******/ \t\t\tObject.defineProperty(exports, name, {\n/******/ \t\t\t\tconfigurable: false,\n/******/ \t\t\t\tenumerable: true,\n/******/ \t\t\t\tget: getter\n/******/ \t\t\t});\n/******/ \t\t}\n/******/ \t};\n/******/\n/******/ \t// getDefaultExport function for compatibility with non-harmony modules\n/******/ \t__webpack_require__.n = function(module) {\n/******/ \t\tvar getter = module && module.__esModule ?\n/******/ \t\t\tfunction getDefault() { return module['default']; } :\n/******/ \t\t\tfunction getModuleExports() { return module; };\n/******/ \t\t__webpack_require__.d(getter, 'a', getter);\n/******/ \t\treturn getter;\n/******/ \t};\n/******/\n/******/ \t// Object.prototype.hasOwnProperty.call\n/******/ \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(__webpack_require__.s = 109);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar format_1 = __webpack_require__(18);\nvar leaf_1 = __webpack_require__(19);\nvar scroll_1 = __webpack_require__(45);\nvar inline_1 = __webpack_require__(46);\nvar block_1 = __webpack_require__(47);\nvar embed_1 = __webpack_require__(48);\nvar text_1 = __webpack_require__(49);\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar store_1 = __webpack_require__(31);\nvar Registry = __webpack_require__(1);\nvar Parchment = {\n Scope: Registry.Scope,\n create: Registry.create,\n find: Registry.find,\n query: Registry.query,\n register: Registry.register,\n Container: container_1.default,\n Format: format_1.default,\n Leaf: leaf_1.default,\n Embed: embed_1.default,\n Scroll: scroll_1.default,\n Block: block_1.default,\n Inline: inline_1.default,\n Text: text_1.default,\n Attributor: {\n Attribute: attributor_1.default,\n Class: class_1.default,\n Style: style_1.default,\n Store: store_1.default,\n },\n};\nexports.default = Parchment;\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar ParchmentError = /** @class */ (function (_super) {\n __extends(ParchmentError, _super);\n function ParchmentError(message) {\n var _this = this;\n message = '[Parchment] ' + message;\n _this = _super.call(this, message) || this;\n _this.message = message;\n _this.name = _this.constructor.name;\n return _this;\n }\n return ParchmentError;\n}(Error));\nexports.ParchmentError = ParchmentError;\nvar attributes = {};\nvar classes = {};\nvar tags = {};\nvar types = {};\nexports.DATA_KEY = '__blot';\nvar Scope;\n(function (Scope) {\n Scope[Scope[\"TYPE\"] = 3] = \"TYPE\";\n Scope[Scope[\"LEVEL\"] = 12] = \"LEVEL\";\n Scope[Scope[\"ATTRIBUTE\"] = 13] = \"ATTRIBUTE\";\n Scope[Scope[\"BLOT\"] = 14] = \"BLOT\";\n Scope[Scope[\"INLINE\"] = 7] = \"INLINE\";\n Scope[Scope[\"BLOCK\"] = 11] = \"BLOCK\";\n Scope[Scope[\"BLOCK_BLOT\"] = 10] = \"BLOCK_BLOT\";\n Scope[Scope[\"INLINE_BLOT\"] = 6] = \"INLINE_BLOT\";\n Scope[Scope[\"BLOCK_ATTRIBUTE\"] = 9] = \"BLOCK_ATTRIBUTE\";\n Scope[Scope[\"INLINE_ATTRIBUTE\"] = 5] = \"INLINE_ATTRIBUTE\";\n Scope[Scope[\"ANY\"] = 15] = \"ANY\";\n})(Scope = exports.Scope || (exports.Scope = {}));\nfunction create(input, value) {\n var match = query(input);\n if (match == null) {\n throw new ParchmentError(\"Unable to create \" + input + \" blot\");\n }\n var BlotClass = match;\n var node = \n // @ts-ignore\n input instanceof Node || input['nodeType'] === Node.TEXT_NODE ? input : BlotClass.create(value);\n return new BlotClass(node, value);\n}\nexports.create = create;\nfunction find(node, bubble) {\n if (bubble === void 0) { bubble = false; }\n if (node == null)\n return null;\n // @ts-ignore\n if (node[exports.DATA_KEY] != null)\n return node[exports.DATA_KEY].blot;\n if (bubble)\n return find(node.parentNode, bubble);\n return null;\n}\nexports.find = find;\nfunction query(query, scope) {\n if (scope === void 0) { scope = Scope.ANY; }\n var match;\n if (typeof query === 'string') {\n match = types[query] || attributes[query];\n // @ts-ignore\n }\n else if (query instanceof Text || query['nodeType'] === Node.TEXT_NODE) {\n match = types['text'];\n }\n else if (typeof query === 'number') {\n if (query & Scope.LEVEL & Scope.BLOCK) {\n match = types['block'];\n }\n else if (query & Scope.LEVEL & Scope.INLINE) {\n match = types['inline'];\n }\n }\n else if (query instanceof HTMLElement) {\n var names = (query.getAttribute('class') || '').split(/\\s+/);\n for (var i in names) {\n match = classes[names[i]];\n if (match)\n break;\n }\n match = match || tags[query.tagName];\n }\n if (match == null)\n return null;\n // @ts-ignore\n if (scope & Scope.LEVEL & match.scope && scope & Scope.TYPE & match.scope)\n return match;\n return null;\n}\nexports.query = query;\nfunction register() {\n var Definitions = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n Definitions[_i] = arguments[_i];\n }\n if (Definitions.length > 1) {\n return Definitions.map(function (d) {\n return register(d);\n });\n }\n var Definition = Definitions[0];\n if (typeof Definition.blotName !== 'string' && typeof Definition.attrName !== 'string') {\n throw new ParchmentError('Invalid definition');\n }\n else if (Definition.blotName === 'abstract') {\n throw new ParchmentError('Cannot register abstract class');\n }\n types[Definition.blotName || Definition.attrName] = Definition;\n if (typeof Definition.keyName === 'string') {\n attributes[Definition.keyName] = Definition;\n }\n else {\n if (Definition.className != null) {\n classes[Definition.className] = Definition;\n }\n if (Definition.tagName != null) {\n if (Array.isArray(Definition.tagName)) {\n Definition.tagName = Definition.tagName.map(function (tagName) {\n return tagName.toUpperCase();\n });\n }\n else {\n Definition.tagName = Definition.tagName.toUpperCase();\n }\n var tagNames = Array.isArray(Definition.tagName) ? Definition.tagName : [Definition.tagName];\n tagNames.forEach(function (tag) {\n if (tags[tag] == null || Definition.className == null) {\n tags[tag] = Definition;\n }\n });\n }\n }\n return Definition;\n}\nexports.register = register;\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar diff = __webpack_require__(51);\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\nvar op = __webpack_require__(20);\n\n\nvar NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\n\n\nvar Delta = function (ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n } else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n } else {\n this.ops = [];\n }\n};\n\n\nDelta.prototype.insert = function (text, attributes) {\n var newOp = {};\n if (text.length === 0) return this;\n newOp.insert = text;\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype['delete'] = function (length) {\n if (length <= 0) return this;\n return this.push({ 'delete': length });\n};\n\nDelta.prototype.retain = function (length, attributes) {\n if (length <= 0) return this;\n var newOp = { retain: length };\n if (attributes != null && typeof attributes === 'object' && Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n};\n\nDelta.prototype.push = function (newOp) {\n var index = this.ops.length;\n var lastOp = this.ops[index - 1];\n newOp = extend(true, {}, newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp['delete'] === 'number' && typeof lastOp['delete'] === 'number') {\n this.ops[index - 1] = { 'delete': lastOp['delete'] + newOp['delete'] };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp['delete'] === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (equal(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' && typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n } else if (typeof newOp.retain === 'number' && typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') this.ops[index - 1].attributes = newOp.attributes\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n } else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n};\n\nDelta.prototype.chop = function () {\n var lastOp = this.ops[this.ops.length - 1];\n if (lastOp && lastOp.retain && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n};\n\nDelta.prototype.filter = function (predicate) {\n return this.ops.filter(predicate);\n};\n\nDelta.prototype.forEach = function (predicate) {\n this.ops.forEach(predicate);\n};\n\nDelta.prototype.map = function (predicate) {\n return this.ops.map(predicate);\n};\n\nDelta.prototype.partition = function (predicate) {\n var passed = [], failed = [];\n this.forEach(function(op) {\n var target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n};\n\nDelta.prototype.reduce = function (predicate, initial) {\n return this.ops.reduce(predicate, initial);\n};\n\nDelta.prototype.changeLength = function () {\n return this.reduce(function (length, elem) {\n if (elem.insert) {\n return length + op.length(elem);\n } else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n};\n\nDelta.prototype.length = function () {\n return this.reduce(function (length, elem) {\n return length + op.length(elem);\n }, 0);\n};\n\nDelta.prototype.slice = function (start, end) {\n start = start || 0;\n if (typeof end !== 'number') end = Infinity;\n var ops = [];\n var iter = op.iterator(this.ops);\n var index = 0;\n while (index < end && iter.hasNext()) {\n var nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n } else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += op.length(nextOp);\n }\n return new Delta(ops);\n};\n\n\nDelta.prototype.compose = function (other) {\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var ops = [];\n var firstOther = otherIter.peek();\n if (firstOther != null && typeof firstOther.retain === 'number' && firstOther.attributes == null) {\n var firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' && thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n var delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (typeof otherOp.retain === 'number') {\n var newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain = length;\n } else {\n newOp.insert = thisOp.insert;\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n var attributes = op.attributes.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) newOp.attributes = attributes;\n delta.push(newOp);\n\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() && equal(delta.ops[delta.ops.length - 1], newOp)) {\n var rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n } else if (typeof otherOp['delete'] === 'number' && typeof thisOp.retain === 'number') {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.concat = function (other) {\n var delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n};\n\nDelta.prototype.diff = function (other, index) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n var strings = [this, other].map(function (delta) {\n return delta.map(function (op) {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n var prep = (delta === other) ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n }).join('');\n });\n var delta = new Delta();\n var diffResult = diff(strings[0], strings[1], index);\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n diffResult.forEach(function (component) {\n var length = component[1].length;\n while (length > 0) {\n var opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n delta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n delta['delete'](opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n var thisOp = thisIter.next(opLength);\n var otherOp = otherIter.next(opLength);\n if (equal(thisOp.insert, otherOp.insert)) {\n delta.retain(opLength, op.attributes.diff(thisOp.attributes, otherOp.attributes));\n } else {\n delta.push(otherOp)['delete'](opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return delta.chop();\n};\n\nDelta.prototype.eachLine = function (predicate, newline) {\n newline = newline || '\\n';\n var iter = op.iterator(this.ops);\n var line = new Delta();\n var i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') return;\n var thisOp = iter.peek();\n var start = op.length(thisOp) - iter.peekLength();\n var index = typeof thisOp.insert === 'string' ?\n thisOp.insert.indexOf(newline, start) - start : -1;\n if (index < 0) {\n line.push(iter.next());\n } else if (index > 0) {\n line.push(iter.next(index));\n } else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n};\n\nDelta.prototype.transform = function (other, priority) {\n priority = !!priority;\n if (typeof other === 'number') {\n return this.transformPosition(other, priority);\n }\n var thisIter = op.iterator(this.ops);\n var otherIter = op.iterator(other.ops);\n var delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' && (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(op.length(thisIter.next()));\n } else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n } else {\n var length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n var thisOp = thisIter.next(length);\n var otherOp = otherIter.next(length);\n if (thisOp['delete']) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n } else if (otherOp['delete']) {\n delta.push(otherOp);\n } else {\n // We retain either their retain or insert\n delta.retain(length, op.attributes.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n};\n\nDelta.prototype.transformPosition = function (index, priority) {\n priority = !!priority;\n var thisIter = op.iterator(this.ops);\n var offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n var length = thisIter.peekLength();\n var nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n } else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n};\n\n\nmodule.exports = Delta;\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar hasOwn = Object.prototype.hasOwnProperty;\nvar toStr = Object.prototype.toString;\nvar defineProperty = Object.defineProperty;\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nvar isArray = function isArray(arr) {\n\tif (typeof Array.isArray === 'function') {\n\t\treturn Array.isArray(arr);\n\t}\n\n\treturn toStr.call(arr) === '[object Array]';\n};\n\nvar isPlainObject = function isPlainObject(obj) {\n\tif (!obj || toStr.call(obj) !== '[object Object]') {\n\t\treturn false;\n\t}\n\n\tvar hasOwnConstructor = hasOwn.call(obj, 'constructor');\n\tvar hasIsPrototypeOf = obj.constructor && obj.constructor.prototype && hasOwn.call(obj.constructor.prototype, 'isPrototypeOf');\n\t// Not own constructor property must be Object\n\tif (obj.constructor && !hasOwnConstructor && !hasIsPrototypeOf) {\n\t\treturn false;\n\t}\n\n\t// Own properties are enumerated firstly, so to speed up,\n\t// if last one is own, then all properties are own.\n\tvar key;\n\tfor (key in obj) { /**/ }\n\n\treturn typeof key === 'undefined' || hasOwn.call(obj, key);\n};\n\n// If name is '__proto__', and Object.defineProperty is available, define __proto__ as an own property on target\nvar setProperty = function setProperty(target, options) {\n\tif (defineProperty && options.name === '__proto__') {\n\t\tdefineProperty(target, options.name, {\n\t\t\tenumerable: true,\n\t\t\tconfigurable: true,\n\t\t\tvalue: options.newValue,\n\t\t\twritable: true\n\t\t});\n\t} else {\n\t\ttarget[options.name] = options.newValue;\n\t}\n};\n\n// Return undefined instead of __proto__ if '__proto__' is not an own property\nvar getProperty = function getProperty(obj, name) {\n\tif (name === '__proto__') {\n\t\tif (!hasOwn.call(obj, name)) {\n\t\t\treturn void 0;\n\t\t} else if (gOPD) {\n\t\t\t// In early versions of node, obj['__proto__'] is buggy when obj has\n\t\t\t// __proto__ as an own property. Object.getOwnPropertyDescriptor() works.\n\t\t\treturn gOPD(obj, name).value;\n\t\t}\n\t}\n\n\treturn obj[name];\n};\n\nmodule.exports = function extend() {\n\tvar options, name, src, copy, copyIsArray, clone;\n\tvar target = arguments[0];\n\tvar i = 1;\n\tvar length = arguments.length;\n\tvar deep = false;\n\n\t// Handle a deep copy situation\n\tif (typeof target === 'boolean') {\n\t\tdeep = target;\n\t\ttarget = arguments[1] || {};\n\t\t// skip the boolean and the target\n\t\ti = 2;\n\t}\n\tif (target == null || (typeof target !== 'object' && typeof target !== 'function')) {\n\t\ttarget = {};\n\t}\n\n\tfor (; i < length; ++i) {\n\t\toptions = arguments[i];\n\t\t// Only deal with non-null/undefined values\n\t\tif (options != null) {\n\t\t\t// Extend the base object\n\t\t\tfor (name in options) {\n\t\t\t\tsrc = getProperty(target, name);\n\t\t\t\tcopy = getProperty(options, name);\n\n\t\t\t\t// Prevent never-ending loop\n\t\t\t\tif (target !== copy) {\n\t\t\t\t\t// Recurse if we're merging plain objects or arrays\n\t\t\t\t\tif (deep && copy && (isPlainObject(copy) || (copyIsArray = isArray(copy)))) {\n\t\t\t\t\t\tif (copyIsArray) {\n\t\t\t\t\t\t\tcopyIsArray = false;\n\t\t\t\t\t\t\tclone = src && isArray(src) ? src : [];\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\tclone = src && isPlainObject(src) ? src : {};\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\t// Never move original objects, clone them\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: extend(deep, clone, copy) });\n\n\t\t\t\t\t// Don't bring in undefined values\n\t\t\t\t\t} else if (typeof copy !== 'undefined') {\n\t\t\t\t\t\tsetProperty(target, { name: name, newValue: copy });\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\t// Return the modified object\n\treturn target;\n};\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BlockEmbed = exports.bubbleFormats = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar NEWLINE_LENGTH = 1;\n\nvar BlockEmbed = function (_Parchment$Embed) {\n _inherits(BlockEmbed, _Parchment$Embed);\n\n function BlockEmbed() {\n _classCallCheck(this, BlockEmbed);\n\n return _possibleConstructorReturn(this, (BlockEmbed.__proto__ || Object.getPrototypeOf(BlockEmbed)).apply(this, arguments));\n }\n\n _createClass(BlockEmbed, [{\n key: 'attach',\n value: function attach() {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'attach', this).call(this);\n this.attributes = new _parchment2.default.Attributor.Store(this.domNode);\n }\n }, {\n key: 'delta',\n value: function delta() {\n return new _quillDelta2.default().insert(this.value(), (0, _extend2.default)(this.formats(), this.attributes.values()));\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var attribute = _parchment2.default.query(name, _parchment2.default.Scope.BLOCK_ATTRIBUTE);\n if (attribute != null) {\n this.attributes.attribute(attribute, value);\n }\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n this.format(name, value);\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (typeof value === 'string' && value.endsWith('\\n')) {\n var block = _parchment2.default.create(Block.blotName);\n this.parent.insertBefore(block, index === 0 ? this : this.next);\n block.insertAt(0, value.slice(0, -1));\n } else {\n _get(BlockEmbed.prototype.__proto__ || Object.getPrototypeOf(BlockEmbed.prototype), 'insertAt', this).call(this, index, value, def);\n }\n }\n }]);\n\n return BlockEmbed;\n}(_parchment2.default.Embed);\n\nBlockEmbed.scope = _parchment2.default.Scope.BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\n\nvar Block = function (_Parchment$Block) {\n _inherits(Block, _Parchment$Block);\n\n function Block(domNode) {\n _classCallCheck(this, Block);\n\n var _this2 = _possibleConstructorReturn(this, (Block.__proto__ || Object.getPrototypeOf(Block)).call(this, domNode));\n\n _this2.cache = {};\n return _this2;\n }\n\n _createClass(Block, [{\n key: 'delta',\n value: function delta() {\n if (this.cache.delta == null) {\n this.cache.delta = this.descendants(_parchment2.default.Leaf).reduce(function (delta, leaf) {\n if (leaf.length() === 0) {\n return delta;\n } else {\n return delta.insert(leaf.value(), bubbleFormats(leaf));\n }\n }, new _quillDelta2.default()).insert('\\n', bubbleFormats(this));\n }\n return this.cache.delta;\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'deleteAt', this).call(this, index, length);\n this.cache = {};\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'formatAt', this).call(this, index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, index, value, def);\n if (value.length === 0) return;\n var lines = value.split('\\n');\n var text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertAt', this).call(this, Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n var block = this;\n lines.reduce(function (index, line) {\n block = block.split(index, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n var head = this.children.head;\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'insertBefore', this).call(this, blot, ref);\n if (head instanceof _break2.default) {\n head.remove();\n }\n this.cache = {};\n }\n }, {\n key: 'length',\n value: function length() {\n if (this.cache.length == null) {\n this.cache.length = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'length', this).call(this) + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n }, {\n key: 'moveChildren',\n value: function moveChildren(target, ref) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'moveChildren', this).call(this, target, ref);\n this.cache = {};\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'optimize', this).call(this, context);\n this.cache = {};\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'path', this).call(this, index, true);\n }\n }, {\n key: 'removeChild',\n value: function removeChild(child) {\n _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'removeChild', this).call(this, child);\n this.cache = {};\n }\n }, {\n key: 'split',\n value: function split(index) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n var clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n } else {\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n } else {\n var next = _get(Block.prototype.__proto__ || Object.getPrototypeOf(Block.prototype), 'split', this).call(this, index, force);\n this.cache = {};\n return next;\n }\n }\n }]);\n\n return Block;\n}(_parchment2.default.Block);\n\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = 'break';\nBlock.allowedChildren = [_inline2.default, _parchment2.default.Embed, _text2.default];\n\nfunction bubbleFormats(blot) {\n var formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (blot == null) return formats;\n if (typeof blot.formats === 'function') {\n formats = (0, _extend2.default)(formats, blot.formats());\n }\n if (blot.parent == null || blot.parent.blotName == 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats);\n}\n\nexports.bubbleFormats = bubbleFormats;\nexports.BlockEmbed = BlockEmbed;\nexports.default = Block;\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.overload = exports.expandConfig = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\n__webpack_require__(50);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _editor = __webpack_require__(14);\n\nvar _editor2 = _interopRequireDefault(_editor);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _selection = __webpack_require__(15);\n\nvar _selection2 = _interopRequireDefault(_selection);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill');\n\nvar Quill = function () {\n _createClass(Quill, null, [{\n key: 'debug',\n value: function debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n _logger2.default.level(limit);\n }\n }, {\n key: 'find',\n value: function find(node) {\n return node.__quill || _parchment2.default.find(node);\n }\n }, {\n key: 'import',\n value: function _import(name) {\n if (this.imports[name] == null) {\n debug.error('Cannot import ' + name + '. Are you sure it was registered?');\n }\n return this.imports[name];\n }\n }, {\n key: 'register',\n value: function register(path, target) {\n var _this = this;\n\n var overwrite = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n if (typeof path !== 'string') {\n var name = path.attrName || path.blotName;\n if (typeof name === 'string') {\n // register(Blot | Attributor, overwrite)\n this.register('formats/' + name, path, target);\n } else {\n Object.keys(path).forEach(function (key) {\n _this.register(key, path[key], target);\n });\n }\n } else {\n if (this.imports[path] != null && !overwrite) {\n debug.warn('Overwriting ' + path + ' with', target);\n }\n this.imports[path] = target;\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target.blotName !== 'abstract') {\n _parchment2.default.register(target);\n } else if (path.startsWith('modules') && typeof target.register === 'function') {\n target.register();\n }\n }\n }\n }]);\n\n function Quill(container) {\n var _this2 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Quill);\n\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n if (this.container == null) {\n return debug.error('Invalid Quill container', container);\n }\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n var html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n this.container.__quill = this;\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.root.setAttribute('data-gramm', false);\n this.scrollingContainer = this.options.scrollingContainer || this.root;\n this.emitter = new _emitter4.default();\n this.scroll = _parchment2.default.create(this.root, {\n emitter: this.emitter,\n whitelist: this.options.formats\n });\n this.editor = new _editor2.default(this.scroll);\n this.selection = new _selection2.default(this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options);\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.theme.init();\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type) {\n if (type === _emitter4.default.events.TEXT_CHANGE) {\n _this2.root.classList.toggle('ql-blank', _this2.editor.isBlank());\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_UPDATE, function (source, mutations) {\n var range = _this2.selection.lastRange;\n var index = range && range.length === 0 ? range.index : undefined;\n modify.call(_this2, function () {\n return _this2.editor.update(null, mutations, index);\n }, source);\n });\n var contents = this.clipboard.convert('
' + html + '


');\n this.setContents(contents);\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n }\n\n _createClass(Quill, [{\n key: 'addContainer',\n value: function addContainer(container) {\n var refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n if (typeof container === 'string') {\n var className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n }, {\n key: 'blur',\n value: function blur() {\n this.selection.setRange(null);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length, source) {\n var _this3 = this;\n\n var _overload = overload(index, length, source);\n\n var _overload2 = _slicedToArray(_overload, 4);\n\n index = _overload2[0];\n length = _overload2[1];\n source = _overload2[3];\n\n return modify.call(this, function () {\n return _this3.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n }, {\n key: 'disable',\n value: function disable() {\n this.enable(false);\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n }, {\n key: 'focus',\n value: function focus() {\n var scrollTop = this.scrollingContainer.scrollTop;\n this.selection.focus();\n this.scrollingContainer.scrollTop = scrollTop;\n this.scrollIntoView();\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n var _this4 = this;\n\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n var range = _this4.getSelection(true);\n var change = new _quillDelta2.default();\n if (range == null) {\n return change;\n } else if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK)) {\n change = _this4.editor.formatLine(range.index, range.length, _defineProperty({}, name, value));\n } else if (range.length === 0) {\n _this4.selection.format(name, value);\n return change;\n } else {\n change = _this4.editor.formatText(range.index, range.length, _defineProperty({}, name, value));\n }\n _this4.setSelection(range, _emitter4.default.sources.SILENT);\n return change;\n }, source);\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length, name, value, source) {\n var _this5 = this;\n\n var formats = void 0;\n\n var _overload3 = overload(index, length, name, value, source);\n\n var _overload4 = _slicedToArray(_overload3, 4);\n\n index = _overload4[0];\n length = _overload4[1];\n formats = _overload4[2];\n source = _overload4[3];\n\n return modify.call(this, function () {\n return _this5.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length, name, value, source) {\n var _this6 = this;\n\n var formats = void 0;\n\n var _overload5 = overload(index, length, name, value, source);\n\n var _overload6 = _slicedToArray(_overload5, 4);\n\n index = _overload6[0];\n length = _overload6[1];\n formats = _overload6[2];\n source = _overload6[3];\n\n return modify.call(this, function () {\n return _this6.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var bounds = void 0;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n var containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n }, {\n key: 'getContents',\n value: function getContents() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload7 = overload(index, length);\n\n var _overload8 = _slicedToArray(_overload7, 2);\n\n index = _overload8[0];\n length = _overload8[1];\n\n return this.editor.getContents(index, length);\n }\n }, {\n key: 'getFormat',\n value: function getFormat() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n } else {\n return this.editor.getFormat(index.index, index.length);\n }\n }\n }, {\n key: 'getIndex',\n value: function getIndex(blot) {\n return blot.offset(this.scroll);\n }\n }, {\n key: 'getLength',\n value: function getLength() {\n return this.scroll.length();\n }\n }, {\n key: 'getLeaf',\n value: function getLeaf(index) {\n return this.scroll.leaf(index);\n }\n }, {\n key: 'getLine',\n value: function getLine(index) {\n return this.scroll.line(index);\n }\n }, {\n key: 'getLines',\n value: function getLines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n } else {\n return this.scroll.lines(index, length);\n }\n }\n }, {\n key: 'getModule',\n value: function getModule(name) {\n return this.theme.modules[name];\n }\n }, {\n key: 'getSelection',\n value: function getSelection() {\n var focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n }, {\n key: 'getText',\n value: function getText() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n\n var _overload9 = overload(index, length);\n\n var _overload10 = _slicedToArray(_overload9, 2);\n\n index = _overload10[0];\n length = _overload10[1];\n\n return this.editor.getText(index, length);\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return this.selection.hasFocus();\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n var _this7 = this;\n\n var source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n\n return modify.call(this, function () {\n return _this7.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text, name, value, source) {\n var _this8 = this;\n\n var formats = void 0;\n\n var _overload11 = overload(index, 0, name, value, source);\n\n var _overload12 = _slicedToArray(_overload11, 4);\n\n index = _overload12[0];\n formats = _overload12[2];\n source = _overload12[3];\n\n return modify.call(this, function () {\n return _this8.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n }, {\n key: 'isEnabled',\n value: function isEnabled() {\n return !this.container.classList.contains('ql-disabled');\n }\n }, {\n key: 'off',\n value: function off() {\n return this.emitter.off.apply(this.emitter, arguments);\n }\n }, {\n key: 'on',\n value: function on() {\n return this.emitter.on.apply(this.emitter, arguments);\n }\n }, {\n key: 'once',\n value: function once() {\n return this.emitter.once.apply(this.emitter, arguments);\n }\n }, {\n key: 'pasteHTML',\n value: function pasteHTML(index, html, source) {\n this.clipboard.dangerouslyPasteHTML(index, html, source);\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length, source) {\n var _this9 = this;\n\n var _overload13 = overload(index, length, source);\n\n var _overload14 = _slicedToArray(_overload13, 4);\n\n index = _overload14[0];\n length = _overload14[1];\n source = _overload14[3];\n\n return modify.call(this, function () {\n return _this9.editor.removeFormat(index, length);\n }, source, index);\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView() {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }, {\n key: 'setContents',\n value: function setContents(delta) {\n var _this10 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n var length = _this10.getLength();\n var deleted = _this10.editor.deleteText(0, length);\n var applied = _this10.editor.applyDelta(delta);\n var lastOp = applied.ops[applied.ops.length - 1];\n if (lastOp != null && typeof lastOp.insert === 'string' && lastOp.insert[lastOp.insert.length - 1] === '\\n') {\n _this10.editor.deleteText(_this10.getLength() - 1, 1);\n applied.delete(1);\n }\n var ret = deleted.compose(applied);\n return ret;\n }, source);\n }\n }, {\n key: 'setSelection',\n value: function setSelection(index, length, source) {\n if (index == null) {\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n var _overload15 = overload(index, length, source);\n\n var _overload16 = _slicedToArray(_overload15, 4);\n\n index = _overload16[0];\n length = _overload16[1];\n source = _overload16[3];\n\n this.selection.setRange(new _selection.Range(index, length), source);\n if (source !== _emitter4.default.sources.SILENT) {\n this.selection.scrollIntoView(this.scrollingContainer);\n }\n }\n }\n }, {\n key: 'setText',\n value: function setText(text) {\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n var delta = new _quillDelta2.default().insert(text);\n return this.setContents(delta, source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n this.selection.update(source);\n return change;\n }\n }, {\n key: 'updateContents',\n value: function updateContents(delta) {\n var _this11 = this;\n\n var source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter4.default.sources.API;\n\n return modify.call(this, function () {\n delta = new _quillDelta2.default(delta);\n return _this11.editor.applyDelta(delta, source);\n }, source, true);\n }\n }]);\n\n return Quill;\n}();\n\nQuill.DEFAULTS = {\n bounds: null,\n formats: null,\n modules: {},\n placeholder: '',\n readOnly: false,\n scrollingContainer: null,\n strict: true,\n theme: 'default'\n};\nQuill.events = _emitter4.default.events;\nQuill.sources = _emitter4.default.sources;\n// eslint-disable-next-line no-undef\nQuill.version = false ? 'dev' : \"1.3.7\";\n\nQuill.imports = {\n 'delta': _quillDelta2.default,\n 'parchment': _parchment2.default,\n 'core/module': _module2.default,\n 'core/theme': _theme2.default\n};\n\nfunction expandConfig(container, userConfig) {\n userConfig = (0, _extend2.default)(true, {\n container: container,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true\n }\n }, userConfig);\n if (!userConfig.theme || userConfig.theme === Quill.DEFAULTS.theme) {\n userConfig.theme = _theme2.default;\n } else {\n userConfig.theme = Quill.import('themes/' + userConfig.theme);\n if (userConfig.theme == null) {\n throw new Error('Invalid theme ' + userConfig.theme + '. Did you register it?');\n }\n }\n var themeConfig = (0, _extend2.default)(true, {}, userConfig.theme.DEFAULTS);\n [themeConfig, userConfig].forEach(function (config) {\n config.modules = config.modules || {};\n Object.keys(config.modules).forEach(function (module) {\n if (config.modules[module] === true) {\n config.modules[module] = {};\n }\n });\n });\n var moduleNames = Object.keys(themeConfig.modules).concat(Object.keys(userConfig.modules));\n var moduleConfig = moduleNames.reduce(function (config, name) {\n var moduleClass = Quill.import('modules/' + name);\n if (moduleClass == null) {\n debug.error('Cannot load ' + name + ' module. Are you sure you registered it?');\n } else {\n config[name] = moduleClass.DEFAULTS || {};\n }\n return config;\n }, {});\n // Special case toolbar shorthand\n if (userConfig.modules != null && userConfig.modules.toolbar && userConfig.modules.toolbar.constructor !== Object) {\n userConfig.modules.toolbar = {\n container: userConfig.modules.toolbar\n };\n }\n userConfig = (0, _extend2.default)(true, {}, Quill.DEFAULTS, { modules: moduleConfig }, themeConfig, userConfig);\n ['bounds', 'container', 'scrollingContainer'].forEach(function (key) {\n if (typeof userConfig[key] === 'string') {\n userConfig[key] = document.querySelector(userConfig[key]);\n }\n });\n userConfig.modules = Object.keys(userConfig.modules).reduce(function (config, name) {\n if (userConfig.modules[name]) {\n config[name] = userConfig.modules[name];\n }\n return config;\n }, {});\n return userConfig;\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n if (this.options.strict && !this.isEnabled() && source === _emitter4.default.sources.USER) {\n return new _quillDelta2.default();\n }\n var range = index == null ? null : this.getSelection();\n var oldDelta = this.editor.delta;\n var change = modifier();\n if (range != null) {\n if (index === true) index = range.index;\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, _emitter4.default.sources.SILENT);\n }\n if (change.length() > 0) {\n var _emitter;\n\n var args = [_emitter4.default.events.TEXT_CHANGE, change, oldDelta, source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n return change;\n}\n\nfunction overload(index, length, name, value, source) {\n var formats = {};\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n source = value, value = name, name = length, length = index.length, index = index.index;\n } else {\n length = index.length, index = index.index;\n }\n } else if (typeof length !== 'number') {\n source = value, value = name, name = length, length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if ((typeof name === 'undefined' ? 'undefined' : _typeof(name)) === 'object') {\n formats = name;\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n source = name;\n }\n }\n // Handle optional source\n source = source || _emitter4.default.sources.API;\n return [index, length, formats, source];\n}\n\nfunction shiftRange(range, index, length, source) {\n if (range == null) return null;\n var start = void 0,\n end = void 0;\n if (index instanceof _quillDelta2.default) {\n var _map = [range.index, range.index + range.length].map(function (pos) {\n return index.transformPosition(pos, source !== _emitter4.default.sources.USER);\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n } else {\n var _map3 = [range.index, range.index + range.length].map(function (pos) {\n if (pos < index || pos === index && source === _emitter4.default.sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n } else {\n return Math.max(index, pos + length);\n }\n });\n\n var _map4 = _slicedToArray(_map3, 2);\n\n start = _map4[0];\n end = _map4[1];\n }\n return new _selection.Range(start, end - start);\n}\n\nexports.expandConfig = expandConfig;\nexports.overload = overload;\nexports.default = Quill;\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Inline = function (_Parchment$Inline) {\n _inherits(Inline, _Parchment$Inline);\n\n function Inline() {\n _classCallCheck(this, Inline);\n\n return _possibleConstructorReturn(this, (Inline.__proto__ || Object.getPrototypeOf(Inline)).apply(this, arguments));\n }\n\n _createClass(Inline, [{\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && _parchment2.default.query(name, _parchment2.default.Scope.BLOT)) {\n var blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'formatAt', this).call(this, index, length, name, value);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(Inline.prototype.__proto__ || Object.getPrototypeOf(Inline.prototype), 'optimize', this).call(this, context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n var parent = this.parent.isolate(this.offset(), this.length());\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n }], [{\n key: 'compare',\n value: function compare(self, other) {\n var selfIndex = Inline.order.indexOf(self);\n var otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n } else if (self === other) {\n return 0;\n } else if (self < other) {\n return -1;\n } else {\n return 1;\n }\n }\n }]);\n\n return Inline;\n}(_parchment2.default.Inline);\n\nInline.allowedChildren = [Inline, _parchment2.default.Embed, _text2.default];\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nInline.order = ['cursor', 'inline', // Must be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'link', 'code' // Must be higher\n];\n\nexports.default = Inline;\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TextBlot = function (_Parchment$Text) {\n _inherits(TextBlot, _Parchment$Text);\n\n function TextBlot() {\n _classCallCheck(this, TextBlot);\n\n return _possibleConstructorReturn(this, (TextBlot.__proto__ || Object.getPrototypeOf(TextBlot)).apply(this, arguments));\n }\n\n return TextBlot;\n}(_parchment2.default.Text);\n\nexports.default = TextBlot;\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _eventemitter = __webpack_require__(54);\n\nvar _eventemitter2 = _interopRequireDefault(_eventemitter);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:events');\n\nvar EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\n\nEVENTS.forEach(function (eventName) {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n [].slice.call(document.querySelectorAll('.ql-container')).forEach(function (node) {\n // TODO use WeakMap\n if (node.__quill && node.__quill.emitter) {\n var _node$__quill$emitter;\n\n (_node$__quill$emitter = node.__quill.emitter).handleDOM.apply(_node$__quill$emitter, args);\n }\n });\n });\n});\n\nvar Emitter = function (_EventEmitter) {\n _inherits(Emitter, _EventEmitter);\n\n function Emitter() {\n _classCallCheck(this, Emitter);\n\n var _this = _possibleConstructorReturn(this, (Emitter.__proto__ || Object.getPrototypeOf(Emitter)).call(this));\n\n _this.listeners = {};\n _this.on('error', debug.error);\n return _this;\n }\n\n _createClass(Emitter, [{\n key: 'emit',\n value: function emit() {\n debug.log.apply(debug, arguments);\n _get(Emitter.prototype.__proto__ || Object.getPrototypeOf(Emitter.prototype), 'emit', this).apply(this, arguments);\n }\n }, {\n key: 'handleDOM',\n value: function handleDOM(event) {\n for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n (this.listeners[event.type] || []).forEach(function (_ref) {\n var node = _ref.node,\n handler = _ref.handler;\n\n if (event.target === node || node.contains(event.target)) {\n handler.apply(undefined, [event].concat(args));\n }\n });\n }\n }, {\n key: 'listenDOM',\n value: function listenDOM(eventName, node, handler) {\n if (!this.listeners[eventName]) {\n this.listeners[eventName] = [];\n }\n this.listeners[eventName].push({ node: node, handler: handler });\n }\n }]);\n\n return Emitter;\n}(_eventemitter2.default);\n\nEmitter.events = {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change'\n};\nEmitter.sources = {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n};\n\nexports.default = Emitter;\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Module = function Module(quill) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Module);\n\n this.quill = quill;\n this.options = options;\n};\n\nModule.DEFAULTS = {};\n\nexports.default = Module;\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nvar levels = ['error', 'warn', 'log', 'info'];\nvar level = 'warn';\n\nfunction debug(method) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n var _console;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n (_console = console)[method].apply(_console, args); // eslint-disable-line no-console\n }\n}\n\nfunction namespace(ns) {\n return levels.reduce(function (logger, method) {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\n\ndebug.level = namespace.level = function (newLevel) {\n level = newLevel;\n};\n\nexports.default = namespace;\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar pSlice = Array.prototype.slice;\nvar objectKeys = __webpack_require__(52);\nvar isArguments = __webpack_require__(53);\n\nvar deepEqual = module.exports = function (actual, expected, opts) {\n if (!opts) opts = {};\n // 7.1. All identical values are equivalent, as determined by ===.\n if (actual === expected) {\n return true;\n\n } else if (actual instanceof Date && expected instanceof Date) {\n return actual.getTime() === expected.getTime();\n\n // 7.3. Other pairs that do not both pass typeof value == 'object',\n // equivalence is determined by ==.\n } else if (!actual || !expected || typeof actual != 'object' && typeof expected != 'object') {\n return opts.strict ? actual === expected : actual == expected;\n\n // 7.4. For all other Object pairs, including Array objects, equivalence is\n // determined by having the same number of owned properties (as verified\n // with Object.prototype.hasOwnProperty.call), the same set of keys\n // (although not necessarily the same order), equivalent values for every\n // corresponding key, and an identical 'prototype' property. Note: this\n // accounts for both named and indexed properties on Arrays.\n } else {\n return objEquiv(actual, expected, opts);\n }\n}\n\nfunction isUndefinedOrNull(value) {\n return value === null || value === undefined;\n}\n\nfunction isBuffer (x) {\n if (!x || typeof x !== 'object' || typeof x.length !== 'number') return false;\n if (typeof x.copy !== 'function' || typeof x.slice !== 'function') {\n return false;\n }\n if (x.length > 0 && typeof x[0] !== 'number') return false;\n return true;\n}\n\nfunction objEquiv(a, b, opts) {\n var i, key;\n if (isUndefinedOrNull(a) || isUndefinedOrNull(b))\n return false;\n // an identical 'prototype' property.\n if (a.prototype !== b.prototype) return false;\n //~~~I've managed to break Object.keys through screwy arguments passing.\n // Converting to array solves the problem.\n if (isArguments(a)) {\n if (!isArguments(b)) {\n return false;\n }\n a = pSlice.call(a);\n b = pSlice.call(b);\n return deepEqual(a, b, opts);\n }\n if (isBuffer(a)) {\n if (!isBuffer(b)) {\n return false;\n }\n if (a.length !== b.length) return false;\n for (i = 0; i < a.length; i++) {\n if (a[i] !== b[i]) return false;\n }\n return true;\n }\n try {\n var ka = objectKeys(a),\n kb = objectKeys(b);\n } catch (e) {//happens when one is a string literal and the other isn't\n return false;\n }\n // having the same number of owned properties (keys incorporates\n // hasOwnProperty)\n if (ka.length != kb.length)\n return false;\n //the same set of keys (although not necessarily the same order),\n ka.sort();\n kb.sort();\n //~~~cheap key test\n for (i = ka.length - 1; i >= 0; i--) {\n if (ka[i] != kb[i])\n return false;\n }\n //equivalent values for every corresponding key, and\n //~~~possibly expensive deep test\n for (i = ka.length - 1; i >= 0; i--) {\n key = ka[i];\n if (!deepEqual(a[key], b[key], opts)) return false;\n }\n return typeof a === typeof b;\n}\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar Attributor = /** @class */ (function () {\n function Attributor(attrName, keyName, options) {\n if (options === void 0) { options = {}; }\n this.attrName = attrName;\n this.keyName = keyName;\n var attributeBit = Registry.Scope.TYPE & Registry.Scope.ATTRIBUTE;\n if (options.scope != null) {\n // Ignore type bits, force attribute bit\n this.scope = (options.scope & Registry.Scope.LEVEL) | attributeBit;\n }\n else {\n this.scope = Registry.Scope.ATTRIBUTE;\n }\n if (options.whitelist != null)\n this.whitelist = options.whitelist;\n }\n Attributor.keys = function (node) {\n return [].map.call(node.attributes, function (item) {\n return item.name;\n });\n };\n Attributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n node.setAttribute(this.keyName, value);\n return true;\n };\n Attributor.prototype.canAdd = function (node, value) {\n var match = Registry.query(node, Registry.Scope.BLOT & (this.scope | Registry.Scope.TYPE));\n if (match == null)\n return false;\n if (this.whitelist == null)\n return true;\n if (typeof value === 'string') {\n return this.whitelist.indexOf(value.replace(/[\"']/g, '')) > -1;\n }\n else {\n return this.whitelist.indexOf(value) > -1;\n }\n };\n Attributor.prototype.remove = function (node) {\n node.removeAttribute(this.keyName);\n };\n Attributor.prototype.value = function (node) {\n var value = node.getAttribute(this.keyName);\n if (this.canAdd(node, value) && value) {\n return value;\n }\n return '';\n };\n return Attributor;\n}());\nexports.default = Attributor;\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Code = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Code = function (_Inline) {\n _inherits(Code, _Inline);\n\n function Code() {\n _classCallCheck(this, Code);\n\n return _possibleConstructorReturn(this, (Code.__proto__ || Object.getPrototypeOf(Code)).apply(this, arguments));\n }\n\n return Code;\n}(_inline2.default);\n\nCode.blotName = 'code';\nCode.tagName = 'CODE';\n\nvar CodeBlock = function (_Block) {\n _inherits(CodeBlock, _Block);\n\n function CodeBlock() {\n _classCallCheck(this, CodeBlock);\n\n return _possibleConstructorReturn(this, (CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock)).apply(this, arguments));\n }\n\n _createClass(CodeBlock, [{\n key: 'delta',\n value: function delta() {\n var _this3 = this;\n\n var text = this.domNode.textContent;\n if (text.endsWith('\\n')) {\n // Should always be true\n text = text.slice(0, -1);\n }\n return text.split('\\n').reduce(function (delta, frag) {\n return delta.insert(frag).insert('\\n', _this3.formats());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (name === this.statics.blotName && value) return;\n\n var _descendant = this.descendant(_text2.default, this.length() - 1),\n _descendant2 = _slicedToArray(_descendant, 1),\n text = _descendant2[0];\n\n if (text != null) {\n text.deleteAt(text.length() - 1, 1);\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'format', this).call(this, name, value);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, name, value) {\n if (length === 0) return;\n if (_parchment2.default.query(name, _parchment2.default.Scope.BLOCK) == null || name === this.statics.blotName && value === this.statics.formats(this.domNode)) {\n return;\n }\n var nextNewline = this.newlineIndex(index);\n if (nextNewline < 0 || nextNewline >= index + length) return;\n var prevNewline = this.newlineIndex(index, true) + 1;\n var isolateLength = nextNewline - prevNewline + 1;\n var blot = this.isolate(prevNewline, isolateLength);\n var next = blot.next;\n blot.format(name, value);\n if (next instanceof CodeBlock) {\n next.formatAt(0, index - prevNewline + length - isolateLength, name, value);\n }\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null) return;\n\n var _descendant3 = this.descendant(_text2.default, index),\n _descendant4 = _slicedToArray(_descendant3, 2),\n text = _descendant4[0],\n offset = _descendant4[1];\n\n text.insertAt(offset, value);\n }\n }, {\n key: 'length',\n value: function length() {\n var length = this.domNode.textContent.length;\n if (!this.domNode.textContent.endsWith('\\n')) {\n return length + 1;\n }\n return length;\n }\n }, {\n key: 'newlineIndex',\n value: function newlineIndex(searchIndex) {\n var reverse = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n if (!reverse) {\n var offset = this.domNode.textContent.slice(searchIndex).indexOf('\\n');\n return offset > -1 ? searchIndex + offset : -1;\n } else {\n return this.domNode.textContent.slice(0, searchIndex).lastIndexOf('\\n');\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n if (!this.domNode.textContent.endsWith('\\n')) {\n this.appendChild(_parchment2.default.create('text', '\\n'));\n }\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && this.statics.formats(this.domNode) === next.statics.formats(next.domNode)) {\n next.optimize(context);\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n _get(CodeBlock.prototype.__proto__ || Object.getPrototypeOf(CodeBlock.prototype), 'replace', this).call(this, target);\n [].slice.call(this.domNode.querySelectorAll('*')).forEach(function (node) {\n var blot = _parchment2.default.find(node);\n if (blot == null) {\n node.parentNode.removeChild(node);\n } else if (blot instanceof _parchment2.default.Embed) {\n blot.remove();\n } else {\n blot.unwrap();\n }\n });\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var domNode = _get(CodeBlock.__proto__ || Object.getPrototypeOf(CodeBlock), 'create', this).call(this, value);\n domNode.setAttribute('spellcheck', false);\n return domNode;\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return CodeBlock;\n}(_block2.default);\n\nCodeBlock.blotName = 'code-block';\nCodeBlock.tagName = 'PRE';\nCodeBlock.TAB = ' ';\n\nexports.Code = Code;\nexports.default = CodeBlock;\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar ASCII = /^[ -~]*$/;\n\nvar Editor = function () {\n function Editor(scroll) {\n _classCallCheck(this, Editor);\n\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n\n _createClass(Editor, [{\n key: 'applyDelta',\n value: function applyDelta(delta) {\n var _this = this;\n\n var consumeNextNewline = false;\n this.scroll.update();\n var scrollLength = this.scroll.length();\n this.scroll.batchStart();\n delta = normalizeDelta(delta);\n delta.reduce(function (index, op) {\n var length = op.retain || op.delete || op.insert.length || 1;\n var attributes = op.attributes || {};\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n var text = op.insert;\n if (text.endsWith('\\n') && consumeNextNewline) {\n consumeNextNewline = false;\n text = text.slice(0, -1);\n }\n if (index >= scrollLength && !text.endsWith('\\n')) {\n consumeNextNewline = true;\n }\n _this.scroll.insertAt(index, text);\n\n var _scroll$line = _this.scroll.line(index),\n _scroll$line2 = _slicedToArray(_scroll$line, 2),\n line = _scroll$line2[0],\n offset = _scroll$line2[1];\n\n var formats = (0, _extend2.default)({}, (0, _block.bubbleFormats)(line));\n if (line instanceof _block2.default) {\n var _line$descendant = line.descendant(_parchment2.default.Leaf, offset),\n _line$descendant2 = _slicedToArray(_line$descendant, 1),\n leaf = _line$descendant2[0];\n\n formats = (0, _extend2.default)(formats, (0, _block.bubbleFormats)(leaf));\n }\n attributes = _op2.default.attributes.diff(formats, attributes) || {};\n } else if (_typeof(op.insert) === 'object') {\n var key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n _this.scroll.insertAt(index, key, op.insert[key]);\n }\n scrollLength += length;\n }\n Object.keys(attributes).forEach(function (name) {\n _this.scroll.formatAt(index, length, name, attributes[name]);\n });\n return index + length;\n }, 0);\n delta.reduce(function (index, op) {\n if (typeof op.delete === 'number') {\n _this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + (op.retain || op.insert.length || 1);\n }, 0);\n this.scroll.batchEnd();\n return this.update(delta);\n }\n }, {\n key: 'deleteText',\n value: function deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new _quillDelta2.default().retain(index).delete(length));\n }\n }, {\n key: 'formatLine',\n value: function formatLine(index, length) {\n var _this2 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n this.scroll.update();\n Object.keys(formats).forEach(function (format) {\n if (_this2.scroll.whitelist != null && !_this2.scroll.whitelist[format]) return;\n var lines = _this2.scroll.lines(index, Math.max(length, 1));\n var lengthRemaining = length;\n lines.forEach(function (line) {\n var lineLength = line.length();\n if (!(line instanceof _code2.default)) {\n line.format(format, formats[format]);\n } else {\n var codeIndex = index - line.offset(_this2.scroll);\n var codeLength = line.newlineIndex(codeIndex + lengthRemaining) - codeIndex + 1;\n line.formatAt(codeIndex, codeLength, format, formats[format]);\n }\n lengthRemaining -= lineLength;\n });\n });\n this.scroll.optimize();\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'formatText',\n value: function formatText(index, length) {\n var _this3 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n Object.keys(formats).forEach(function (format) {\n _this3.scroll.formatAt(index, length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).retain(length, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'getContents',\n value: function getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n }, {\n key: 'getDelta',\n value: function getDelta() {\n return this.scroll.lines().reduce(function (delta, line) {\n return delta.concat(line.delta());\n }, new _quillDelta2.default());\n }\n }, {\n key: 'getFormat',\n value: function getFormat(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var lines = [],\n leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(function (path) {\n var _path = _slicedToArray(path, 1),\n blot = _path[0];\n\n if (blot instanceof _block2.default) {\n lines.push(blot);\n } else if (blot instanceof _parchment2.default.Leaf) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(_parchment2.default.Leaf, index, length);\n }\n var formatsArr = [lines, leaves].map(function (blots) {\n if (blots.length === 0) return {};\n var formats = (0, _block.bubbleFormats)(blots.shift());\n while (Object.keys(formats).length > 0) {\n var blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats((0, _block.bubbleFormats)(blot), formats);\n }\n return formats;\n });\n return _extend2.default.apply(_extend2.default, formatsArr);\n }\n }, {\n key: 'getText',\n value: function getText(index, length) {\n return this.getContents(index, length).filter(function (op) {\n return typeof op.insert === 'string';\n }).map(function (op) {\n return op.insert;\n }).join('');\n }\n }, {\n key: 'insertEmbed',\n value: function insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new _quillDelta2.default().retain(index).insert(_defineProperty({}, embed, value)));\n }\n }, {\n key: 'insertText',\n value: function insertText(index, text) {\n var _this4 = this;\n\n var formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(function (format) {\n _this4.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new _quillDelta2.default().retain(index).insert(text, (0, _clone2.default)(formats)));\n }\n }, {\n key: 'isBlank',\n value: function isBlank() {\n if (this.scroll.children.length == 0) return true;\n if (this.scroll.children.length > 1) return false;\n var block = this.scroll.children.head;\n if (block.statics.blotName !== _block2.default.blotName) return false;\n if (block.children.length > 1) return false;\n return block.children.head instanceof _break2.default;\n }\n }, {\n key: 'removeFormat',\n value: function removeFormat(index, length) {\n var text = this.getText(index, length);\n\n var _scroll$line3 = this.scroll.line(index + length),\n _scroll$line4 = _slicedToArray(_scroll$line3, 2),\n line = _scroll$line4[0],\n offset = _scroll$line4[1];\n\n var suffixLength = 0,\n suffix = new _quillDelta2.default();\n if (line != null) {\n if (!(line instanceof _code2.default)) {\n suffixLength = line.length() - offset;\n } else {\n suffixLength = line.newlineIndex(offset) - offset + 1;\n }\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n var contents = this.getContents(index, length + suffixLength);\n var diff = contents.diff(new _quillDelta2.default().insert(text).concat(suffix));\n var delta = new _quillDelta2.default().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n }, {\n key: 'update',\n value: function update(change) {\n var mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var cursorIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n\n var oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' && mutations[0].target.data.match(ASCII) && _parchment2.default.find(mutations[0].target)) {\n // Optimization for character changes\n var textBlot = _parchment2.default.find(mutations[0].target);\n var formats = (0, _block.bubbleFormats)(textBlot);\n var index = textBlot.offset(this.scroll);\n var oldValue = mutations[0].oldValue.replace(_cursor2.default.CONTENTS, '');\n var oldText = new _quillDelta2.default().insert(oldValue);\n var newText = new _quillDelta2.default().insert(textBlot.value());\n var diffDelta = new _quillDelta2.default().retain(index).concat(oldText.diff(newText, cursorIndex));\n change = diffDelta.reduce(function (delta, op) {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n } else {\n return delta.push(op);\n }\n }, new _quillDelta2.default());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !(0, _deepEqual2.default)(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, cursorIndex);\n }\n }\n return change;\n }\n }]);\n\n return Editor;\n}();\n\nfunction combineFormats(formats, combined) {\n return Object.keys(combined).reduce(function (merged, name) {\n if (formats[name] == null) return merged;\n if (combined[name] === formats[name]) {\n merged[name] = combined[name];\n } else if (Array.isArray(combined[name])) {\n if (combined[name].indexOf(formats[name]) < 0) {\n merged[name] = combined[name].concat([formats[name]]);\n }\n } else {\n merged[name] = [combined[name], formats[name]];\n }\n return merged;\n }, {});\n}\n\nfunction normalizeDelta(delta) {\n return delta.reduce(function (delta, op) {\n if (op.insert === 1) {\n var attributes = (0, _clone2.default)(op.attributes);\n delete attributes['image'];\n return delta.insert({ image: op.attributes.image }, attributes);\n }\n if (op.attributes != null && (op.attributes.list === true || op.attributes.bullet === true)) {\n op = (0, _clone2.default)(op);\n if (op.attributes.list) {\n op.attributes.list = 'ordered';\n } else {\n op.attributes.list = 'bullet';\n delete op.attributes.bullet;\n }\n }\n if (typeof op.insert === 'string') {\n var text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return delta.insert(text, op.attributes);\n }\n return delta.push(op);\n }, new _quillDelta2.default());\n}\n\nexports.default = Editor;\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.Range = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _emitter3 = __webpack_require__(8);\n\nvar _emitter4 = _interopRequireDefault(_emitter3);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar debug = (0, _logger2.default)('quill:selection');\n\nvar Range = function Range(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n _classCallCheck(this, Range);\n\n this.index = index;\n this.length = length;\n};\n\nvar Selection = function () {\n function Selection(scroll, emitter) {\n var _this = this;\n\n _classCallCheck(this, Selection);\n\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n this.cursor = _parchment2.default.create('cursor', this);\n // savedRange is last non-null range\n this.lastRange = this.savedRange = new Range(0, 0);\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, function () {\n if (!_this.mouseDown) {\n setTimeout(_this.update.bind(_this, _emitter4.default.sources.USER), 1);\n }\n });\n this.emitter.on(_emitter4.default.events.EDITOR_CHANGE, function (type, delta) {\n if (type === _emitter4.default.events.TEXT_CHANGE && delta.length() > 0) {\n _this.update(_emitter4.default.sources.SILENT);\n }\n });\n this.emitter.on(_emitter4.default.events.SCROLL_BEFORE_UPDATE, function () {\n if (!_this.hasFocus()) return;\n var native = _this.getNativeRange();\n if (native == null) return;\n if (native.start.node === _this.cursor.textNode) return; // cursor.restore() will handle\n // TODO unclear if this has negative side effects\n _this.emitter.once(_emitter4.default.events.SCROLL_UPDATE, function () {\n try {\n _this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n } catch (ignored) {}\n });\n });\n this.emitter.on(_emitter4.default.events.SCROLL_OPTIMIZE, function (mutations, context) {\n if (context.range) {\n var _context$range = context.range,\n startNode = _context$range.startNode,\n startOffset = _context$range.startOffset,\n endNode = _context$range.endNode,\n endOffset = _context$range.endOffset;\n\n _this.setNativeRange(startNode, startOffset, endNode, endOffset);\n }\n });\n this.update(_emitter4.default.sources.SILENT);\n }\n\n _createClass(Selection, [{\n key: 'handleComposition',\n value: function handleComposition() {\n var _this2 = this;\n\n this.root.addEventListener('compositionstart', function () {\n _this2.composing = true;\n });\n this.root.addEventListener('compositionend', function () {\n _this2.composing = false;\n if (_this2.cursor.parent) {\n var range = _this2.cursor.restore();\n if (!range) return;\n setTimeout(function () {\n _this2.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n }, {\n key: 'handleDragging',\n value: function handleDragging() {\n var _this3 = this;\n\n this.emitter.listenDOM('mousedown', document.body, function () {\n _this3.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, function () {\n _this3.mouseDown = false;\n _this3.update(_emitter4.default.sources.USER);\n });\n }\n }, {\n key: 'focus',\n value: function focus() {\n if (this.hasFocus()) return;\n this.root.focus();\n this.setRange(this.savedRange);\n }\n }, {\n key: 'format',\n value: function format(_format, value) {\n if (this.scroll.whitelist != null && !this.scroll.whitelist[_format]) return;\n this.scroll.update();\n var nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || _parchment2.default.query(_format, _parchment2.default.Scope.BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n var blot = _parchment2.default.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof _parchment2.default.Leaf) {\n var after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n this.cursor.attach();\n }\n this.cursor.format(_format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n }, {\n key: 'getBounds',\n value: function getBounds(index) {\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n\n var scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n var node = void 0,\n _scroll$leaf = this.scroll.leaf(index),\n _scroll$leaf2 = _slicedToArray(_scroll$leaf, 2),\n leaf = _scroll$leaf2[0],\n offset = _scroll$leaf2[1];\n if (leaf == null) return null;\n\n var _leaf$position = leaf.position(offset, true);\n\n var _leaf$position2 = _slicedToArray(_leaf$position, 2);\n\n node = _leaf$position2[0];\n offset = _leaf$position2[1];\n\n var range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n\n var _scroll$leaf3 = this.scroll.leaf(index + length);\n\n var _scroll$leaf4 = _slicedToArray(_scroll$leaf3, 2);\n\n leaf = _scroll$leaf4[0];\n offset = _scroll$leaf4[1];\n\n if (leaf == null) return null;\n\n var _leaf$position3 = leaf.position(offset, true);\n\n var _leaf$position4 = _slicedToArray(_leaf$position3, 2);\n\n node = _leaf$position4[0];\n offset = _leaf$position4[1];\n\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n } else {\n var side = 'left';\n var rect = void 0;\n if (node instanceof Text) {\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n }\n }, {\n key: 'getNativeRange',\n value: function getNativeRange() {\n var selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n var nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n var range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n }, {\n key: 'getRange',\n value: function getRange() {\n var normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n var range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n }, {\n key: 'hasFocus',\n value: function hasFocus() {\n return document.activeElement === this.root;\n }\n }, {\n key: 'normalizedToRange',\n value: function normalizedToRange(range) {\n var _this4 = this;\n\n var positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n var indexes = positions.map(function (position) {\n var _position = _slicedToArray(position, 2),\n node = _position[0],\n offset = _position[1];\n\n var blot = _parchment2.default.find(node, true);\n var index = blot.offset(_this4.scroll);\n if (offset === 0) {\n return index;\n } else if (blot instanceof _parchment2.default.Container) {\n return index + blot.length();\n } else {\n return index + blot.index(node, offset);\n }\n });\n var end = Math.min(Math.max.apply(Math, _toConsumableArray(indexes)), this.scroll.length() - 1);\n var start = Math.min.apply(Math, [end].concat(_toConsumableArray(indexes)));\n return new Range(start, end - start);\n }\n }, {\n key: 'normalizeNative',\n value: function normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n var range = {\n start: { node: nativeRange.startContainer, offset: nativeRange.startOffset },\n end: { node: nativeRange.endContainer, offset: nativeRange.endOffset },\n native: nativeRange\n };\n [range.start, range.end].forEach(function (position) {\n var node = position.node,\n offset = position.offset;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n node = node.lastChild;\n offset = node instanceof Text ? node.data.length : node.childNodes.length + 1;\n } else {\n break;\n }\n }\n position.node = node, position.offset = offset;\n });\n return range;\n }\n }, {\n key: 'rangeToNative',\n value: function rangeToNative(range) {\n var _this5 = this;\n\n var indexes = range.collapsed ? [range.index] : [range.index, range.index + range.length];\n var args = [];\n var scrollLength = this.scroll.length();\n indexes.forEach(function (index, i) {\n index = Math.min(scrollLength - 1, index);\n var node = void 0,\n _scroll$leaf5 = _this5.scroll.leaf(index),\n _scroll$leaf6 = _slicedToArray(_scroll$leaf5, 2),\n leaf = _scroll$leaf6[0],\n offset = _scroll$leaf6[1];\n var _leaf$position5 = leaf.position(offset, i !== 0);\n\n var _leaf$position6 = _slicedToArray(_leaf$position5, 2);\n\n node = _leaf$position6[0];\n offset = _leaf$position6[1];\n\n args.push(node, offset);\n });\n if (args.length < 2) {\n args = args.concat(args);\n }\n return args;\n }\n }, {\n key: 'scrollIntoView',\n value: function scrollIntoView(scrollingContainer) {\n var range = this.lastRange;\n if (range == null) return;\n var bounds = this.getBounds(range.index, range.length);\n if (bounds == null) return;\n var limit = this.scroll.length() - 1;\n\n var _scroll$line = this.scroll.line(Math.min(range.index, limit)),\n _scroll$line2 = _slicedToArray(_scroll$line, 1),\n first = _scroll$line2[0];\n\n var last = first;\n if (range.length > 0) {\n var _scroll$line3 = this.scroll.line(Math.min(range.index + range.length, limit));\n\n var _scroll$line4 = _slicedToArray(_scroll$line3, 1);\n\n last = _scroll$line4[0];\n }\n if (first == null || last == null) return;\n var scrollBounds = scrollingContainer.getBoundingClientRect();\n if (bounds.top < scrollBounds.top) {\n scrollingContainer.scrollTop -= scrollBounds.top - bounds.top;\n } else if (bounds.bottom > scrollBounds.bottom) {\n scrollingContainer.scrollTop += bounds.bottom - scrollBounds.bottom;\n }\n }\n }, {\n key: 'setNativeRange',\n value: function setNativeRange(startNode, startOffset) {\n var endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n var endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n var force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null || endNode.parentNode == null)) {\n return;\n }\n var selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus();\n var native = (this.getNativeRange() || {}).native;\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n\n if (startNode.tagName == \"BR\") {\n startOffset = [].indexOf.call(startNode.parentNode.childNodes, startNode);\n startNode = startNode.parentNode;\n }\n if (endNode.tagName == \"BR\") {\n endOffset = [].indexOf.call(endNode.parentNode.childNodes, endNode);\n endNode = endNode.parentNode;\n }\n var range = document.createRange();\n range.setStart(startNode, startOffset);\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n document.body.focus(); // root.blur() not enough on IE11+Travis+SauceLabs (but not local VMs)\n }\n }\n }, {\n key: 'setRange',\n value: function setRange(range) {\n var force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter4.default.sources.API;\n\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n var args = this.rangeToNative(range);\n this.setNativeRange.apply(this, _toConsumableArray(args).concat([force]));\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n }, {\n key: 'update',\n value: function update() {\n var source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter4.default.sources.USER;\n\n var oldRange = this.lastRange;\n\n var _getRange = this.getRange(),\n _getRange2 = _slicedToArray(_getRange, 2),\n lastRange = _getRange2[0],\n nativeRange = _getRange2[1];\n\n this.lastRange = lastRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!(0, _deepEqual2.default)(oldRange, this.lastRange)) {\n var _emitter;\n\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n this.cursor.restore();\n }\n var args = [_emitter4.default.events.SELECTION_CHANGE, (0, _clone2.default)(this.lastRange), (0, _clone2.default)(oldRange), source];\n (_emitter = this.emitter).emit.apply(_emitter, [_emitter4.default.events.EDITOR_CHANGE].concat(args));\n if (source !== _emitter4.default.sources.SILENT) {\n var _emitter2;\n\n (_emitter2 = this.emitter).emit.apply(_emitter2, args);\n }\n }\n }\n }]);\n\n return Selection;\n}();\n\nfunction contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode;\n } catch (e) {\n return false;\n }\n // IE11 has bug with Text nodes\n // https://connect.microsoft.com/IE/feedback/details/780874/node-contains-is-incorrect\n if (descendant instanceof Text) {\n descendant = descendant.parentNode;\n }\n return parent.contains(descendant);\n}\n\nexports.Range = Range;\nexports.default = Selection;\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Break = function (_Parchment$Embed) {\n _inherits(Break, _Parchment$Embed);\n\n function Break() {\n _classCallCheck(this, Break);\n\n return _possibleConstructorReturn(this, (Break.__proto__ || Object.getPrototypeOf(Break)).apply(this, arguments));\n }\n\n _createClass(Break, [{\n key: 'insertInto',\n value: function insertInto(parent, ref) {\n if (parent.children.length === 0) {\n _get(Break.prototype.__proto__ || Object.getPrototypeOf(Break.prototype), 'insertInto', this).call(this, parent, ref);\n } else {\n this.remove();\n }\n }\n }, {\n key: 'length',\n value: function length() {\n return 0;\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }], [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n return Break;\n}(_parchment2.default.Embed);\n\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n\nexports.default = Break;\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar linked_list_1 = __webpack_require__(44);\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar ContainerBlot = /** @class */ (function (_super) {\n __extends(ContainerBlot, _super);\n function ContainerBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.build();\n return _this;\n }\n ContainerBlot.prototype.appendChild = function (other) {\n this.insertBefore(other);\n };\n ContainerBlot.prototype.attach = function () {\n _super.prototype.attach.call(this);\n this.children.forEach(function (child) {\n child.attach();\n });\n };\n ContainerBlot.prototype.build = function () {\n var _this = this;\n this.children = new linked_list_1.default();\n // Need to be reversed for if DOM nodes already in order\n [].slice\n .call(this.domNode.childNodes)\n .reverse()\n .forEach(function (node) {\n try {\n var child = makeBlot(node);\n _this.insertBefore(child, _this.children.head || undefined);\n }\n catch (err) {\n if (err instanceof Registry.ParchmentError)\n return;\n else\n throw err;\n }\n });\n };\n ContainerBlot.prototype.deleteAt = function (index, length) {\n if (index === 0 && length === this.length()) {\n return this.remove();\n }\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.deleteAt(offset, length);\n });\n };\n ContainerBlot.prototype.descendant = function (criteria, index) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n return [child, offset];\n }\n else if (child instanceof ContainerBlot) {\n return child.descendant(criteria, offset);\n }\n else {\n return [null, -1];\n }\n };\n ContainerBlot.prototype.descendants = function (criteria, index, length) {\n if (index === void 0) { index = 0; }\n if (length === void 0) { length = Number.MAX_VALUE; }\n var descendants = [];\n var lengthLeft = length;\n this.children.forEachAt(index, length, function (child, index, length) {\n if ((criteria.blotName == null && criteria(child)) ||\n (criteria.blotName != null && child instanceof criteria)) {\n descendants.push(child);\n }\n if (child instanceof ContainerBlot) {\n descendants = descendants.concat(child.descendants(criteria, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return descendants;\n };\n ContainerBlot.prototype.detach = function () {\n this.children.forEach(function (child) {\n child.detach();\n });\n _super.prototype.detach.call(this);\n };\n ContainerBlot.prototype.formatAt = function (index, length, name, value) {\n this.children.forEachAt(index, length, function (child, offset, length) {\n child.formatAt(offset, length, name, value);\n });\n };\n ContainerBlot.prototype.insertAt = function (index, value, def) {\n var _a = this.children.find(index), child = _a[0], offset = _a[1];\n if (child) {\n child.insertAt(offset, value, def);\n }\n else {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n this.appendChild(blot);\n }\n };\n ContainerBlot.prototype.insertBefore = function (childBlot, refBlot) {\n if (this.statics.allowedChildren != null &&\n !this.statics.allowedChildren.some(function (child) {\n return childBlot instanceof child;\n })) {\n throw new Registry.ParchmentError(\"Cannot insert \" + childBlot.statics.blotName + \" into \" + this.statics.blotName);\n }\n childBlot.insertInto(this, refBlot);\n };\n ContainerBlot.prototype.length = function () {\n return this.children.reduce(function (memo, child) {\n return memo + child.length();\n }, 0);\n };\n ContainerBlot.prototype.moveChildren = function (targetParent, refNode) {\n this.children.forEach(function (child) {\n targetParent.insertBefore(child, refNode);\n });\n };\n ContainerBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n if (this.children.length === 0) {\n if (this.statics.defaultChild != null) {\n var child = Registry.create(this.statics.defaultChild);\n this.appendChild(child);\n child.optimize(context);\n }\n else {\n this.remove();\n }\n }\n };\n ContainerBlot.prototype.path = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var _a = this.children.find(index, inclusive), child = _a[0], offset = _a[1];\n var position = [[this, index]];\n if (child instanceof ContainerBlot) {\n return position.concat(child.path(offset, inclusive));\n }\n else if (child != null) {\n position.push([child, offset]);\n }\n return position;\n };\n ContainerBlot.prototype.removeChild = function (child) {\n this.children.remove(child);\n };\n ContainerBlot.prototype.replace = function (target) {\n if (target instanceof ContainerBlot) {\n target.moveChildren(this);\n }\n _super.prototype.replace.call(this, target);\n };\n ContainerBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = this.clone();\n this.parent.insertBefore(after, this.next);\n this.children.forEachAt(index, this.length(), function (child, offset, length) {\n child = child.split(offset, force);\n after.appendChild(child);\n });\n return after;\n };\n ContainerBlot.prototype.unwrap = function () {\n this.moveChildren(this.parent, this.next);\n this.remove();\n };\n ContainerBlot.prototype.update = function (mutations, context) {\n var _this = this;\n var addedNodes = [];\n var removedNodes = [];\n mutations.forEach(function (mutation) {\n if (mutation.target === _this.domNode && mutation.type === 'childList') {\n addedNodes.push.apply(addedNodes, mutation.addedNodes);\n removedNodes.push.apply(removedNodes, mutation.removedNodes);\n }\n });\n removedNodes.forEach(function (node) {\n // Check node has actually been removed\n // One exception is Chrome does not immediately remove IFRAMEs\n // from DOM but MutationRecord is correct in its reported removal\n if (node.parentNode != null &&\n // @ts-ignore\n node.tagName !== 'IFRAME' &&\n document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return;\n }\n var blot = Registry.find(node);\n if (blot == null)\n return;\n if (blot.domNode.parentNode == null || blot.domNode.parentNode === _this.domNode) {\n blot.detach();\n }\n });\n addedNodes\n .filter(function (node) {\n return node.parentNode == _this.domNode;\n })\n .sort(function (a, b) {\n if (a === b)\n return 0;\n if (a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING) {\n return 1;\n }\n return -1;\n })\n .forEach(function (node) {\n var refBlot = null;\n if (node.nextSibling != null) {\n refBlot = Registry.find(node.nextSibling);\n }\n var blot = makeBlot(node);\n if (blot.next != refBlot || blot.next == null) {\n if (blot.parent != null) {\n blot.parent.removeChild(_this);\n }\n _this.insertBefore(blot, refBlot || undefined);\n }\n });\n };\n return ContainerBlot;\n}(shadow_1.default));\nfunction makeBlot(node) {\n var blot = Registry.find(node);\n if (blot == null) {\n try {\n blot = Registry.create(node);\n }\n catch (e) {\n blot = Registry.create(Registry.Scope.INLINE);\n [].slice.call(node.childNodes).forEach(function (child) {\n // @ts-ignore\n blot.domNode.appendChild(child);\n });\n if (node.parentNode) {\n node.parentNode.replaceChild(blot.domNode, node);\n }\n blot.attach();\n }\n }\n return blot;\n}\nexports.default = ContainerBlot;\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar store_1 = __webpack_require__(31);\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar FormatBlot = /** @class */ (function (_super) {\n __extends(FormatBlot, _super);\n function FormatBlot(domNode) {\n var _this = _super.call(this, domNode) || this;\n _this.attributes = new store_1.default(_this.domNode);\n return _this;\n }\n FormatBlot.formats = function (domNode) {\n if (typeof this.tagName === 'string') {\n return true;\n }\n else if (Array.isArray(this.tagName)) {\n return domNode.tagName.toLowerCase();\n }\n return undefined;\n };\n FormatBlot.prototype.format = function (name, value) {\n var format = Registry.query(name);\n if (format instanceof attributor_1.default) {\n this.attributes.attribute(format, value);\n }\n else if (value) {\n if (format != null && (name !== this.statics.blotName || this.formats()[name] !== value)) {\n this.replaceWith(name, value);\n }\n }\n };\n FormatBlot.prototype.formats = function () {\n var formats = this.attributes.values();\n var format = this.statics.formats(this.domNode);\n if (format != null) {\n formats[this.statics.blotName] = format;\n }\n return formats;\n };\n FormatBlot.prototype.replaceWith = function (name, value) {\n var replacement = _super.prototype.replaceWith.call(this, name, value);\n this.attributes.copy(replacement);\n return replacement;\n };\n FormatBlot.prototype.update = function (mutations, context) {\n var _this = this;\n _super.prototype.update.call(this, mutations, context);\n if (mutations.some(function (mutation) {\n return mutation.target === _this.domNode && mutation.type === 'attributes';\n })) {\n this.attributes.build();\n }\n };\n FormatBlot.prototype.wrap = function (name, value) {\n var wrapper = _super.prototype.wrap.call(this, name, value);\n if (wrapper instanceof FormatBlot && wrapper.statics.scope === this.statics.scope) {\n this.attributes.move(wrapper);\n }\n return wrapper;\n };\n return FormatBlot;\n}(container_1.default));\nexports.default = FormatBlot;\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar shadow_1 = __webpack_require__(30);\nvar Registry = __webpack_require__(1);\nvar LeafBlot = /** @class */ (function (_super) {\n __extends(LeafBlot, _super);\n function LeafBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LeafBlot.value = function (domNode) {\n return true;\n };\n LeafBlot.prototype.index = function (node, offset) {\n if (this.domNode === node ||\n this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY) {\n return Math.min(offset, 1);\n }\n return -1;\n };\n LeafBlot.prototype.position = function (index, inclusive) {\n var offset = [].indexOf.call(this.parent.domNode.childNodes, this.domNode);\n if (index > 0)\n offset += 1;\n return [this.parent.domNode, offset];\n };\n LeafBlot.prototype.value = function () {\n var _a;\n return _a = {}, _a[this.statics.blotName] = this.statics.value(this.domNode) || true, _a;\n };\n LeafBlot.scope = Registry.Scope.INLINE_BLOT;\n return LeafBlot;\n}(shadow_1.default));\nexports.default = LeafBlot;\n\n\n/***/ }),\n/* 20 */\n/***/ (function(module, exports, __webpack_require__) {\n\nvar equal = __webpack_require__(11);\nvar extend = __webpack_require__(3);\n\n\nvar lib = {\n attributes: {\n compose: function (a, b, keepNull) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = extend(true, {}, b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce(function (copy, key) {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (var key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n diff: function(a, b) {\n if (typeof a !== 'object') a = {};\n if (typeof b !== 'object') b = {};\n var attributes = Object.keys(a).concat(Object.keys(b)).reduce(function (attributes, key) {\n if (!equal(a[key], b[key])) {\n attributes[key] = b[key] === undefined ? null : b[key];\n }\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n },\n\n transform: function (a, b, priority) {\n if (typeof a !== 'object') return b;\n if (typeof b !== 'object') return undefined;\n if (!priority) return b; // b simply overwrites us without priority\n var attributes = Object.keys(b).reduce(function (attributes, key) {\n if (a[key] === undefined) attributes[key] = b[key]; // null is a valid value\n return attributes;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n },\n\n iterator: function (ops) {\n return new Iterator(ops);\n },\n\n length: function (op) {\n if (typeof op['delete'] === 'number') {\n return op['delete'];\n } else if (typeof op.retain === 'number') {\n return op.retain;\n } else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n};\n\n\nfunction Iterator(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n};\n\nIterator.prototype.hasNext = function () {\n return this.peekLength() < Infinity;\n};\n\nIterator.prototype.next = function (length) {\n if (!length) length = Infinity;\n var nextOp = this.ops[this.index];\n if (nextOp) {\n var offset = this.offset;\n var opLength = lib.length(nextOp)\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n } else {\n this.offset += length;\n }\n if (typeof nextOp['delete'] === 'number') {\n return { 'delete': length };\n } else {\n var retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n } else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n } else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n } else {\n return { retain: Infinity };\n }\n};\n\nIterator.prototype.peek = function () {\n return this.ops[this.index];\n};\n\nIterator.prototype.peekLength = function () {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return lib.length(this.ops[this.index]) - this.offset;\n } else {\n return Infinity;\n }\n};\n\nIterator.prototype.peekType = function () {\n if (this.ops[this.index]) {\n if (typeof this.ops[this.index]['delete'] === 'number') {\n return 'delete';\n } else if (typeof this.ops[this.index].retain === 'number') {\n return 'retain';\n } else {\n return 'insert';\n }\n }\n return 'retain';\n};\n\nIterator.prototype.rest = function () {\n if (!this.hasNext()) {\n return [];\n } else if (this.offset === 0) {\n return this.ops.slice(this.index);\n } else {\n var offset = this.offset;\n var index = this.index;\n var next = this.next();\n var rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n};\n\n\nmodule.exports = lib;\n\n\n/***/ }),\n/* 21 */\n/***/ (function(module, exports) {\n\nvar clone = (function() {\n'use strict';\n\nfunction _instanceof(obj, type) {\n return type != null && obj instanceof type;\n}\n\nvar nativeMap;\ntry {\n nativeMap = Map;\n} catch(_) {\n // maybe a reference error because no `Map`. Give it a dummy value that no\n // value will ever be an instanceof.\n nativeMap = function() {};\n}\n\nvar nativeSet;\ntry {\n nativeSet = Set;\n} catch(_) {\n nativeSet = function() {};\n}\n\nvar nativePromise;\ntry {\n nativePromise = Promise;\n} catch(_) {\n nativePromise = function() {};\n}\n\n/**\n * Clones (copies) an Object using deep copying.\n *\n * This function supports circular references by default, but if you are certain\n * there are no circular references in your object, you can save some CPU time\n * by calling clone(obj, false).\n *\n * Caution: if `circular` is false and `parent` contains circular references,\n * your program may enter an infinite loop and crash.\n *\n * @param `parent` - the object to be cloned\n * @param `circular` - set to true if the object to be cloned may contain\n * circular references. (optional - true by default)\n * @param `depth` - set to a number if the object is only to be cloned to\n * a particular depth. (optional - defaults to Infinity)\n * @param `prototype` - sets the prototype to be used when cloning an object.\n * (optional - defaults to parent prototype).\n * @param `includeNonEnumerable` - set to true if the non-enumerable properties\n * should be cloned as well. Non-enumerable properties on the prototype\n * chain will be ignored. (optional - false by default)\n*/\nfunction clone(parent, circular, depth, prototype, includeNonEnumerable) {\n if (typeof circular === 'object') {\n depth = circular.depth;\n prototype = circular.prototype;\n includeNonEnumerable = circular.includeNonEnumerable;\n circular = circular.circular;\n }\n // maintain two arrays for circular references, where corresponding parents\n // and children have the same index\n var allParents = [];\n var allChildren = [];\n\n var useBuffer = typeof Buffer != 'undefined';\n\n if (typeof circular == 'undefined')\n circular = true;\n\n if (typeof depth == 'undefined')\n depth = Infinity;\n\n // recurse this function so we don't reset allParents and allChildren\n function _clone(parent, depth) {\n // cloning null always returns null\n if (parent === null)\n return null;\n\n if (depth === 0)\n return parent;\n\n var child;\n var proto;\n if (typeof parent != 'object') {\n return parent;\n }\n\n if (_instanceof(parent, nativeMap)) {\n child = new nativeMap();\n } else if (_instanceof(parent, nativeSet)) {\n child = new nativeSet();\n } else if (_instanceof(parent, nativePromise)) {\n child = new nativePromise(function (resolve, reject) {\n parent.then(function(value) {\n resolve(_clone(value, depth - 1));\n }, function(err) {\n reject(_clone(err, depth - 1));\n });\n });\n } else if (clone.__isArray(parent)) {\n child = [];\n } else if (clone.__isRegExp(parent)) {\n child = new RegExp(parent.source, __getRegExpFlags(parent));\n if (parent.lastIndex) child.lastIndex = parent.lastIndex;\n } else if (clone.__isDate(parent)) {\n child = new Date(parent.getTime());\n } else if (useBuffer && Buffer.isBuffer(parent)) {\n if (Buffer.allocUnsafe) {\n // Node.js >= 4.5.0\n child = Buffer.allocUnsafe(parent.length);\n } else {\n // Older Node.js versions\n child = new Buffer(parent.length);\n }\n parent.copy(child);\n return child;\n } else if (_instanceof(parent, Error)) {\n child = Object.create(parent);\n } else {\n if (typeof prototype == 'undefined') {\n proto = Object.getPrototypeOf(parent);\n child = Object.create(proto);\n }\n else {\n child = Object.create(prototype);\n proto = prototype;\n }\n }\n\n if (circular) {\n var index = allParents.indexOf(parent);\n\n if (index != -1) {\n return allChildren[index];\n }\n allParents.push(parent);\n allChildren.push(child);\n }\n\n if (_instanceof(parent, nativeMap)) {\n parent.forEach(function(value, key) {\n var keyChild = _clone(key, depth - 1);\n var valueChild = _clone(value, depth - 1);\n child.set(keyChild, valueChild);\n });\n }\n if (_instanceof(parent, nativeSet)) {\n parent.forEach(function(value) {\n var entryChild = _clone(value, depth - 1);\n child.add(entryChild);\n });\n }\n\n for (var i in parent) {\n var attrs;\n if (proto) {\n attrs = Object.getOwnPropertyDescriptor(proto, i);\n }\n\n if (attrs && attrs.set == null) {\n continue;\n }\n child[i] = _clone(parent[i], depth - 1);\n }\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(parent);\n for (var i = 0; i < symbols.length; i++) {\n // Don't need to worry about cloning a symbol because it is a primitive,\n // like a number or string.\n var symbol = symbols[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, symbol);\n if (descriptor && !descriptor.enumerable && !includeNonEnumerable) {\n continue;\n }\n child[symbol] = _clone(parent[symbol], depth - 1);\n if (!descriptor.enumerable) {\n Object.defineProperty(child, symbol, {\n enumerable: false\n });\n }\n }\n }\n\n if (includeNonEnumerable) {\n var allPropertyNames = Object.getOwnPropertyNames(parent);\n for (var i = 0; i < allPropertyNames.length; i++) {\n var propertyName = allPropertyNames[i];\n var descriptor = Object.getOwnPropertyDescriptor(parent, propertyName);\n if (descriptor && descriptor.enumerable) {\n continue;\n }\n child[propertyName] = _clone(parent[propertyName], depth - 1);\n Object.defineProperty(child, propertyName, {\n enumerable: false\n });\n }\n }\n\n return child;\n }\n\n return _clone(parent, depth);\n}\n\n/**\n * Simple flat clone using prototype, accepts only objects, usefull for property\n * override on FLAT configuration object (no nested props).\n *\n * USE WITH CAUTION! This may not behave as you wish if you do not know how this\n * works.\n */\nclone.clonePrototype = function clonePrototype(parent) {\n if (parent === null)\n return null;\n\n var c = function () {};\n c.prototype = parent;\n return new c();\n};\n\n// private utility functions\n\nfunction __objToStr(o) {\n return Object.prototype.toString.call(o);\n}\nclone.__objToStr = __objToStr;\n\nfunction __isDate(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Date]';\n}\nclone.__isDate = __isDate;\n\nfunction __isArray(o) {\n return typeof o === 'object' && __objToStr(o) === '[object Array]';\n}\nclone.__isArray = __isArray;\n\nfunction __isRegExp(o) {\n return typeof o === 'object' && __objToStr(o) === '[object RegExp]';\n}\nclone.__isRegExp = __isRegExp;\n\nfunction __getRegExpFlags(re) {\n var flags = '';\n if (re.global) flags += 'g';\n if (re.ignoreCase) flags += 'i';\n if (re.multiline) flags += 'm';\n return flags;\n}\nclone.__getRegExpFlags = __getRegExpFlags;\n\nreturn clone;\n})();\n\nif (typeof module === 'object' && module.exports) {\n module.exports = clone;\n}\n\n\n/***/ }),\n/* 22 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nfunction isLine(blot) {\n return blot instanceof _block2.default || blot instanceof _block.BlockEmbed;\n}\n\nvar Scroll = function (_Parchment$Scroll) {\n _inherits(Scroll, _Parchment$Scroll);\n\n function Scroll(domNode, config) {\n _classCallCheck(this, Scroll);\n\n var _this = _possibleConstructorReturn(this, (Scroll.__proto__ || Object.getPrototypeOf(Scroll)).call(this, domNode));\n\n _this.emitter = config.emitter;\n if (Array.isArray(config.whitelist)) {\n _this.whitelist = config.whitelist.reduce(function (whitelist, format) {\n whitelist[format] = true;\n return whitelist;\n }, {});\n }\n // Some reason fixes composition issues with character languages in Windows/Chrome, Safari\n _this.domNode.addEventListener('DOMNodeInserted', function () {});\n _this.optimize();\n _this.enable();\n return _this;\n }\n\n _createClass(Scroll, [{\n key: 'batchStart',\n value: function batchStart() {\n this.batch = true;\n }\n }, {\n key: 'batchEnd',\n value: function batchEnd() {\n this.batch = false;\n this.optimize();\n }\n }, {\n key: 'deleteAt',\n value: function deleteAt(index, length) {\n var _line = this.line(index),\n _line2 = _slicedToArray(_line, 2),\n first = _line2[0],\n offset = _line2[1];\n\n var _line3 = this.line(index + length),\n _line4 = _slicedToArray(_line3, 1),\n last = _line4[0];\n\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'deleteAt', this).call(this, index, length);\n if (last != null && first !== last && offset > 0) {\n if (first instanceof _block.BlockEmbed || last instanceof _block.BlockEmbed) {\n this.optimize();\n return;\n }\n if (first instanceof _code2.default) {\n var newlineIndex = first.newlineIndex(first.length(), true);\n if (newlineIndex > -1) {\n first = first.split(newlineIndex + 1);\n if (first === last) {\n this.optimize();\n return;\n }\n }\n } else if (last instanceof _code2.default) {\n var _newlineIndex = last.newlineIndex(0);\n if (_newlineIndex > -1) {\n last.split(_newlineIndex + 1);\n }\n }\n var ref = last.children.head instanceof _break2.default ? null : last.children.head;\n first.moveChildren(last, ref);\n first.remove();\n }\n this.optimize();\n }\n }, {\n key: 'enable',\n value: function enable() {\n var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n\n this.domNode.setAttribute('contenteditable', enabled);\n }\n }, {\n key: 'formatAt',\n value: function formatAt(index, length, format, value) {\n if (this.whitelist != null && !this.whitelist[format]) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'formatAt', this).call(this, index, length, format, value);\n this.optimize();\n }\n }, {\n key: 'insertAt',\n value: function insertAt(index, value, def) {\n if (def != null && this.whitelist != null && !this.whitelist[value]) return;\n if (index >= this.length()) {\n if (def == null || _parchment2.default.query(value, _parchment2.default.Scope.BLOCK) == null) {\n var blot = _parchment2.default.create(this.statics.defaultChild);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n value = value.slice(0, -1);\n }\n blot.insertAt(0, value, def);\n } else {\n var embed = _parchment2.default.create(value, def);\n this.appendChild(embed);\n }\n } else {\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertAt', this).call(this, index, value, def);\n }\n this.optimize();\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot.statics.scope === _parchment2.default.Scope.INLINE_BLOT) {\n var wrapper = _parchment2.default.create(this.statics.defaultChild);\n wrapper.appendChild(blot);\n blot = wrapper;\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'insertBefore', this).call(this, blot, ref);\n }\n }, {\n key: 'leaf',\n value: function leaf(index) {\n return this.path(index).pop() || [null, -1];\n }\n }, {\n key: 'line',\n value: function line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n return this.descendant(isLine, index);\n }\n }, {\n key: 'lines',\n value: function lines() {\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n\n var getLines = function getLines(blot, index, length) {\n var lines = [],\n lengthLeft = length;\n blot.children.forEachAt(index, length, function (child, index, length) {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof _parchment2.default.Container) {\n lines = lines.concat(getLines(child, index, lengthLeft));\n }\n lengthLeft -= length;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n }, {\n key: 'optimize',\n value: function optimize() {\n var mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (this.batch === true) return;\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'optimize', this).call(this, mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n }, {\n key: 'path',\n value: function path(index) {\n return _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'path', this).call(this, index).slice(1); // Exclude self\n }\n }, {\n key: 'update',\n value: function update(mutations) {\n if (this.batch === true) return;\n var source = _emitter2.default.sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n _get(Scroll.prototype.__proto__ || Object.getPrototypeOf(Scroll.prototype), 'update', this).call(this, mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(_emitter2.default.events.SCROLL_UPDATE, source, mutations);\n }\n }\n }]);\n\n return Scroll;\n}(_parchment2.default.Scroll);\n\nScroll.blotName = 'scroll';\nScroll.className = 'ql-editor';\nScroll.tagName = 'DIV';\nScroll.defaultChild = 'block';\nScroll.allowedChildren = [_block2.default, _block.BlockEmbed, _container2.default];\n\nexports.default = Scroll;\n\n/***/ }),\n/* 23 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SHORTKEY = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _clone = __webpack_require__(21);\n\nvar _clone2 = _interopRequireDefault(_clone);\n\nvar _deepEqual = __webpack_require__(11);\n\nvar _deepEqual2 = _interopRequireDefault(_deepEqual);\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _op = __webpack_require__(20);\n\nvar _op2 = _interopRequireDefault(_op);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:keyboard');\n\nvar SHORTKEY = /Mac/i.test(navigator.platform) ? 'metaKey' : 'ctrlKey';\n\nvar Keyboard = function (_Module) {\n _inherits(Keyboard, _Module);\n\n _createClass(Keyboard, null, [{\n key: 'match',\n value: function match(evt, binding) {\n binding = normalize(binding);\n if (['altKey', 'ctrlKey', 'metaKey', 'shiftKey'].some(function (key) {\n return !!binding[key] !== evt[key] && binding[key] !== null;\n })) {\n return false;\n }\n return binding.key === (evt.which || evt.keyCode);\n }\n }]);\n\n function Keyboard(quill, options) {\n _classCallCheck(this, Keyboard);\n\n var _this = _possibleConstructorReturn(this, (Keyboard.__proto__ || Object.getPrototypeOf(Keyboard)).call(this, quill, options));\n\n _this.bindings = {};\n Object.keys(_this.options.bindings).forEach(function (name) {\n if (name === 'list autofill' && quill.scroll.whitelist != null && !quill.scroll.whitelist['list']) {\n return;\n }\n if (_this.options.bindings[name]) {\n _this.addBinding(_this.options.bindings[name]);\n }\n });\n _this.addBinding({ key: Keyboard.keys.ENTER, shiftKey: null }, handleEnter);\n _this.addBinding({ key: Keyboard.keys.ENTER, metaKey: null, ctrlKey: null, altKey: null }, function () {});\n if (/Firefox/i.test(navigator.userAgent)) {\n // Need to handle delete and backspace for Firefox in the general case #1171\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true }, handleDelete);\n } else {\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: true, prefix: /^.?$/ }, handleBackspace);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: true, suffix: /^.?$/ }, handleDelete);\n }\n _this.addBinding({ key: Keyboard.keys.BACKSPACE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.DELETE }, { collapsed: false }, handleDeleteRange);\n _this.addBinding({ key: Keyboard.keys.BACKSPACE, altKey: null, ctrlKey: null, metaKey: null, shiftKey: null }, { collapsed: true, offset: 0 }, handleBackspace);\n _this.listen();\n return _this;\n }\n\n _createClass(Keyboard, [{\n key: 'addBinding',\n value: function addBinding(key) {\n var context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var handler = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var binding = normalize(key);\n if (binding == null || binding.key == null) {\n return debug.warn('Attempted to add invalid keyboard binding', binding);\n }\n if (typeof context === 'function') {\n context = { handler: context };\n }\n if (typeof handler === 'function') {\n handler = { handler: handler };\n }\n binding = (0, _extend2.default)(binding, context, handler);\n this.bindings[binding.key] = this.bindings[binding.key] || [];\n this.bindings[binding.key].push(binding);\n }\n }, {\n key: 'listen',\n value: function listen() {\n var _this2 = this;\n\n this.quill.root.addEventListener('keydown', function (evt) {\n if (evt.defaultPrevented) return;\n var which = evt.which || evt.keyCode;\n var bindings = (_this2.bindings[which] || []).filter(function (binding) {\n return Keyboard.match(evt, binding);\n });\n if (bindings.length === 0) return;\n var range = _this2.quill.getSelection();\n if (range == null || !_this2.quill.hasFocus()) return;\n\n var _quill$getLine = _this2.quill.getLine(range.index),\n _quill$getLine2 = _slicedToArray(_quill$getLine, 2),\n line = _quill$getLine2[0],\n offset = _quill$getLine2[1];\n\n var _quill$getLeaf = _this2.quill.getLeaf(range.index),\n _quill$getLeaf2 = _slicedToArray(_quill$getLeaf, 2),\n leafStart = _quill$getLeaf2[0],\n offsetStart = _quill$getLeaf2[1];\n\n var _ref = range.length === 0 ? [leafStart, offsetStart] : _this2.quill.getLeaf(range.index + range.length),\n _ref2 = _slicedToArray(_ref, 2),\n leafEnd = _ref2[0],\n offsetEnd = _ref2[1];\n\n var prefixText = leafStart instanceof _parchment2.default.Text ? leafStart.value().slice(0, offsetStart) : '';\n var suffixText = leafEnd instanceof _parchment2.default.Text ? leafEnd.value().slice(offsetEnd) : '';\n var curContext = {\n collapsed: range.length === 0,\n empty: range.length === 0 && line.length() <= 1,\n format: _this2.quill.getFormat(range),\n offset: offset,\n prefix: prefixText,\n suffix: suffixText\n };\n var prevented = bindings.some(function (binding) {\n if (binding.collapsed != null && binding.collapsed !== curContext.collapsed) return false;\n if (binding.empty != null && binding.empty !== curContext.empty) return false;\n if (binding.offset != null && binding.offset !== curContext.offset) return false;\n if (Array.isArray(binding.format)) {\n // any format is present\n if (binding.format.every(function (name) {\n return curContext.format[name] == null;\n })) {\n return false;\n }\n } else if (_typeof(binding.format) === 'object') {\n // all formats must match\n if (!Object.keys(binding.format).every(function (name) {\n if (binding.format[name] === true) return curContext.format[name] != null;\n if (binding.format[name] === false) return curContext.format[name] == null;\n return (0, _deepEqual2.default)(binding.format[name], curContext.format[name]);\n })) {\n return false;\n }\n }\n if (binding.prefix != null && !binding.prefix.test(curContext.prefix)) return false;\n if (binding.suffix != null && !binding.suffix.test(curContext.suffix)) return false;\n return binding.handler.call(_this2, range, curContext) !== true;\n });\n if (prevented) {\n evt.preventDefault();\n }\n });\n }\n }]);\n\n return Keyboard;\n}(_module2.default);\n\nKeyboard.keys = {\n BACKSPACE: 8,\n TAB: 9,\n ENTER: 13,\n ESCAPE: 27,\n LEFT: 37,\n UP: 38,\n RIGHT: 39,\n DOWN: 40,\n DELETE: 46\n};\n\nKeyboard.DEFAULTS = {\n bindings: {\n 'bold': makeFormatHandler('bold'),\n 'italic': makeFormatHandler('italic'),\n 'underline': makeFormatHandler('underline'),\n 'indent': {\n // highlight tab or tab at beginning of list, indent or blockquote\n key: Keyboard.keys.TAB,\n format: ['blockquote', 'indent', 'list'],\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '+1', _quill2.default.sources.USER);\n }\n },\n 'outdent': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n format: ['blockquote', 'indent', 'list'],\n // highlight tab or tab at beginning of list, indent or blockquote\n handler: function handler(range, context) {\n if (context.collapsed && context.offset !== 0) return true;\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n }\n },\n 'outdent backspace': {\n key: Keyboard.keys.BACKSPACE,\n collapsed: true,\n shiftKey: null,\n metaKey: null,\n ctrlKey: null,\n altKey: null,\n format: ['indent', 'list'],\n offset: 0,\n handler: function handler(range, context) {\n if (context.format.indent != null) {\n this.quill.format('indent', '-1', _quill2.default.sources.USER);\n } else if (context.format.list != null) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n }\n }\n },\n 'indent code-block': makeCodeBlockHandler(true),\n 'outdent code-block': makeCodeBlockHandler(false),\n 'remove tab': {\n key: Keyboard.keys.TAB,\n shiftKey: true,\n collapsed: true,\n prefix: /\\t$/,\n handler: function handler(range) {\n this.quill.deleteText(range.index - 1, 1, _quill2.default.sources.USER);\n }\n },\n 'tab': {\n key: Keyboard.keys.TAB,\n handler: function handler(range) {\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index).delete(range.length).insert('\\t');\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n }\n },\n 'list empty enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['list'],\n empty: true,\n handler: function handler(range, context) {\n this.quill.format('list', false, _quill2.default.sources.USER);\n if (context.format.indent) {\n this.quill.format('indent', false, _quill2.default.sources.USER);\n }\n }\n },\n 'checklist enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: { list: 'checked' },\n handler: function handler(range) {\n var _quill$getLine3 = this.quill.getLine(range.index),\n _quill$getLine4 = _slicedToArray(_quill$getLine3, 2),\n line = _quill$getLine4[0],\n offset = _quill$getLine4[1];\n\n var formats = (0, _extend2.default)({}, line.formats(), { list: 'checked' });\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', formats).retain(line.length() - offset - 1).retain(1, { list: 'unchecked' });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'header enter': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['header'],\n suffix: /^$/,\n handler: function handler(range, context) {\n var _quill$getLine5 = this.quill.getLine(range.index),\n _quill$getLine6 = _slicedToArray(_quill$getLine5, 2),\n line = _quill$getLine6[0],\n offset = _quill$getLine6[1];\n\n var delta = new _quillDelta2.default().retain(range.index).insert('\\n', context.format).retain(line.length() - offset - 1).retain(1, { header: null });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.scrollIntoView();\n }\n },\n 'list autofill': {\n key: ' ',\n collapsed: true,\n format: { list: false },\n prefix: /^\\s*?(\\d+\\.|-|\\*|\\[ ?\\]|\\[x\\])$/,\n handler: function handler(range, context) {\n var length = context.prefix.length;\n\n var _quill$getLine7 = this.quill.getLine(range.index),\n _quill$getLine8 = _slicedToArray(_quill$getLine7, 2),\n line = _quill$getLine8[0],\n offset = _quill$getLine8[1];\n\n if (offset > length) return true;\n var value = void 0;\n switch (context.prefix.trim()) {\n case '[]':case '[ ]':\n value = 'unchecked';\n break;\n case '[x]':\n value = 'checked';\n break;\n case '-':case '*':\n value = 'bullet';\n break;\n default:\n value = 'ordered';\n }\n this.quill.insertText(range.index, ' ', _quill2.default.sources.USER);\n this.quill.history.cutoff();\n var delta = new _quillDelta2.default().retain(range.index - offset).delete(length + 1).retain(line.length() - 2 - offset).retain(1, { list: value });\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n this.quill.history.cutoff();\n this.quill.setSelection(range.index - length, _quill2.default.sources.SILENT);\n }\n },\n 'code exit': {\n key: Keyboard.keys.ENTER,\n collapsed: true,\n format: ['code-block'],\n prefix: /\\n\\n$/,\n suffix: /^\\s+$/,\n handler: function handler(range) {\n var _quill$getLine9 = this.quill.getLine(range.index),\n _quill$getLine10 = _slicedToArray(_quill$getLine9, 2),\n line = _quill$getLine10[0],\n offset = _quill$getLine10[1];\n\n var delta = new _quillDelta2.default().retain(range.index + line.length() - offset - 2).retain(1, { 'code-block': null }).delete(1);\n this.quill.updateContents(delta, _quill2.default.sources.USER);\n }\n },\n 'embed left': makeEmbedArrowHandler(Keyboard.keys.LEFT, false),\n 'embed left shift': makeEmbedArrowHandler(Keyboard.keys.LEFT, true),\n 'embed right': makeEmbedArrowHandler(Keyboard.keys.RIGHT, false),\n 'embed right shift': makeEmbedArrowHandler(Keyboard.keys.RIGHT, true)\n }\n};\n\nfunction makeEmbedArrowHandler(key, shiftKey) {\n var _ref3;\n\n var where = key === Keyboard.keys.LEFT ? 'prefix' : 'suffix';\n return _ref3 = {\n key: key,\n shiftKey: shiftKey,\n altKey: null\n }, _defineProperty(_ref3, where, /^$/), _defineProperty(_ref3, 'handler', function handler(range) {\n var index = range.index;\n if (key === Keyboard.keys.RIGHT) {\n index += range.length + 1;\n }\n\n var _quill$getLeaf3 = this.quill.getLeaf(index),\n _quill$getLeaf4 = _slicedToArray(_quill$getLeaf3, 1),\n leaf = _quill$getLeaf4[0];\n\n if (!(leaf instanceof _parchment2.default.Embed)) return true;\n if (key === Keyboard.keys.LEFT) {\n if (shiftKey) {\n this.quill.setSelection(range.index - 1, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index - 1, _quill2.default.sources.USER);\n }\n } else {\n if (shiftKey) {\n this.quill.setSelection(range.index, range.length + 1, _quill2.default.sources.USER);\n } else {\n this.quill.setSelection(range.index + range.length + 1, _quill2.default.sources.USER);\n }\n }\n return false;\n }), _ref3;\n}\n\nfunction handleBackspace(range, context) {\n if (range.index === 0 || this.quill.getLength() <= 1) return;\n\n var _quill$getLine11 = this.quill.getLine(range.index),\n _quill$getLine12 = _slicedToArray(_quill$getLine11, 1),\n line = _quill$getLine12[0];\n\n var formats = {};\n if (context.offset === 0) {\n var _quill$getLine13 = this.quill.getLine(range.index - 1),\n _quill$getLine14 = _slicedToArray(_quill$getLine13, 1),\n prev = _quill$getLine14[0];\n\n if (prev != null && prev.length() > 1) {\n var curFormats = line.formats();\n var prevFormats = this.quill.getFormat(range.index - 1, 1);\n formats = _op2.default.attributes.diff(curFormats, prevFormats) || {};\n }\n }\n // Check for astral symbols\n var length = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]$/.test(context.prefix) ? 2 : 1;\n this.quill.deleteText(range.index - length, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index - length, length, formats, _quill2.default.sources.USER);\n }\n this.quill.focus();\n}\n\nfunction handleDelete(range, context) {\n // Check for astral symbols\n var length = /^[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/.test(context.suffix) ? 2 : 1;\n if (range.index >= this.quill.getLength() - length) return;\n var formats = {},\n nextLength = 0;\n\n var _quill$getLine15 = this.quill.getLine(range.index),\n _quill$getLine16 = _slicedToArray(_quill$getLine15, 1),\n line = _quill$getLine16[0];\n\n if (context.offset >= line.length() - 1) {\n var _quill$getLine17 = this.quill.getLine(range.index + 1),\n _quill$getLine18 = _slicedToArray(_quill$getLine17, 1),\n next = _quill$getLine18[0];\n\n if (next) {\n var curFormats = line.formats();\n var nextFormats = this.quill.getFormat(range.index, 1);\n formats = _op2.default.attributes.diff(curFormats, nextFormats) || {};\n nextLength = next.length();\n }\n }\n this.quill.deleteText(range.index, length, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index + nextLength - 1, length, formats, _quill2.default.sources.USER);\n }\n}\n\nfunction handleDeleteRange(range) {\n var lines = this.quill.getLines(range);\n var formats = {};\n if (lines.length > 1) {\n var firstFormats = lines[0].formats();\n var lastFormats = lines[lines.length - 1].formats();\n formats = _op2.default.attributes.diff(lastFormats, firstFormats) || {};\n }\n this.quill.deleteText(range, _quill2.default.sources.USER);\n if (Object.keys(formats).length > 0) {\n this.quill.formatLine(range.index, 1, formats, _quill2.default.sources.USER);\n }\n this.quill.setSelection(range.index, _quill2.default.sources.SILENT);\n this.quill.focus();\n}\n\nfunction handleEnter(range, context) {\n var _this3 = this;\n\n if (range.length > 0) {\n this.quill.scroll.deleteAt(range.index, range.length); // So we do not trigger text-change\n }\n var lineFormats = Object.keys(context.format).reduce(function (lineFormats, format) {\n if (_parchment2.default.query(format, _parchment2.default.Scope.BLOCK) && !Array.isArray(context.format[format])) {\n lineFormats[format] = context.format[format];\n }\n return lineFormats;\n }, {});\n this.quill.insertText(range.index, '\\n', lineFormats, _quill2.default.sources.USER);\n // Earlier scroll.deleteAt might have messed up our selection,\n // so insertText's built in selection preservation is not reliable\n this.quill.setSelection(range.index + 1, _quill2.default.sources.SILENT);\n this.quill.focus();\n Object.keys(context.format).forEach(function (name) {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'link') return;\n _this3.quill.format(name, context.format[name], _quill2.default.sources.USER);\n });\n}\n\nfunction makeCodeBlockHandler(indent) {\n return {\n key: Keyboard.keys.TAB,\n shiftKey: !indent,\n format: { 'code-block': true },\n handler: function handler(range) {\n var CodeBlock = _parchment2.default.query('code-block');\n var index = range.index,\n length = range.length;\n\n var _quill$scroll$descend = this.quill.scroll.descendant(CodeBlock, index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n block = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (block == null) return;\n var scrollIndex = this.quill.getIndex(block);\n var start = block.newlineIndex(offset, true) + 1;\n var end = block.newlineIndex(scrollIndex + offset + length);\n var lines = block.domNode.textContent.slice(start, end).split('\\n');\n offset = 0;\n lines.forEach(function (line, i) {\n if (indent) {\n block.insertAt(start + offset, CodeBlock.TAB);\n offset += CodeBlock.TAB.length;\n if (i === 0) {\n index += CodeBlock.TAB.length;\n } else {\n length += CodeBlock.TAB.length;\n }\n } else if (line.startsWith(CodeBlock.TAB)) {\n block.deleteAt(start + offset, CodeBlock.TAB.length);\n offset -= CodeBlock.TAB.length;\n if (i === 0) {\n index -= CodeBlock.TAB.length;\n } else {\n length -= CodeBlock.TAB.length;\n }\n }\n offset += line.length + 1;\n });\n this.quill.update(_quill2.default.sources.USER);\n this.quill.setSelection(index, length, _quill2.default.sources.SILENT);\n }\n };\n}\n\nfunction makeFormatHandler(format) {\n return {\n key: format[0].toUpperCase(),\n shortKey: true,\n handler: function handler(range, context) {\n this.quill.format(format, !context.format[format], _quill2.default.sources.USER);\n }\n };\n}\n\nfunction normalize(binding) {\n if (typeof binding === 'string' || typeof binding === 'number') {\n return normalize({ key: binding });\n }\n if ((typeof binding === 'undefined' ? 'undefined' : _typeof(binding)) === 'object') {\n binding = (0, _clone2.default)(binding, false);\n }\n if (typeof binding.key === 'string') {\n if (Keyboard.keys[binding.key.toUpperCase()] != null) {\n binding.key = Keyboard.keys[binding.key.toUpperCase()];\n } else if (binding.key.length === 1) {\n binding.key = binding.key.toUpperCase().charCodeAt(0);\n } else {\n return null;\n }\n }\n if (binding.shortKey) {\n binding[SHORTKEY] = binding.shortKey;\n delete binding.shortKey;\n }\n return binding;\n}\n\nexports.default = Keyboard;\nexports.SHORTKEY = SHORTKEY;\n\n/***/ }),\n/* 24 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Cursor = function (_Parchment$Embed) {\n _inherits(Cursor, _Parchment$Embed);\n\n _createClass(Cursor, null, [{\n key: 'value',\n value: function value() {\n return undefined;\n }\n }]);\n\n function Cursor(domNode, selection) {\n _classCallCheck(this, Cursor);\n\n var _this = _possibleConstructorReturn(this, (Cursor.__proto__ || Object.getPrototypeOf(Cursor)).call(this, domNode));\n\n _this.selection = selection;\n _this.textNode = document.createTextNode(Cursor.CONTENTS);\n _this.domNode.appendChild(_this.textNode);\n _this._length = 0;\n return _this;\n }\n\n _createClass(Cursor, [{\n key: 'detach',\n value: function detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n }, {\n key: 'format',\n value: function format(name, value) {\n if (this._length !== 0) {\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'format', this).call(this, name, value);\n }\n var target = this,\n index = 0;\n while (target != null && target.statics.scope !== _parchment2.default.Scope.BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this._length = Cursor.CONTENTS.length;\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this._length = 0;\n }\n }\n }, {\n key: 'index',\n value: function index(node, offset) {\n if (node === this.textNode) return 0;\n return _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'length',\n value: function length() {\n return this._length;\n }\n }, {\n key: 'position',\n value: function position() {\n return [this.textNode, this.textNode.data.length];\n }\n }, {\n key: 'remove',\n value: function remove() {\n _get(Cursor.prototype.__proto__ || Object.getPrototypeOf(Cursor.prototype), 'remove', this).call(this);\n this.parent = null;\n }\n }, {\n key: 'restore',\n value: function restore() {\n if (this.selection.composing || this.parent == null) return;\n var textNode = this.textNode;\n var range = this.selection.getNativeRange();\n var restoreText = void 0,\n start = void 0,\n end = void 0;\n if (range != null && range.start.node === textNode && range.end.node === textNode) {\n var _ref = [textNode, range.start.offset, range.end.offset];\n restoreText = _ref[0];\n start = _ref[1];\n end = _ref[2];\n }\n // Link format will insert text outside of anchor tag\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n if (this.textNode.data !== Cursor.CONTENTS) {\n var text = this.textNode.data.split(Cursor.CONTENTS).join('');\n if (this.next instanceof _text2.default) {\n restoreText = this.next.domNode;\n this.next.insertAt(0, text);\n this.textNode.data = Cursor.CONTENTS;\n } else {\n this.textNode.data = text;\n this.parent.insertBefore(_parchment2.default.create(this.textNode), this);\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n }\n }\n this.remove();\n if (start != null) {\n var _map = [start, end].map(function (offset) {\n return Math.max(0, Math.min(restoreText.data.length, offset - 1));\n });\n\n var _map2 = _slicedToArray(_map, 2);\n\n start = _map2[0];\n end = _map2[1];\n\n return {\n startNode: restoreText,\n startOffset: start,\n endNode: restoreText,\n endOffset: end\n };\n }\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this2.textNode;\n })) {\n var range = this.restore();\n if (range) context.range = range;\n }\n }\n }, {\n key: 'value',\n value: function value() {\n return '';\n }\n }]);\n\n return Cursor;\n}(_parchment2.default.Embed);\n\nCursor.blotName = 'cursor';\nCursor.className = 'ql-cursor';\nCursor.tagName = 'span';\nCursor.CONTENTS = '\\uFEFF'; // Zero width no break space\n\n\nexports.default = Cursor;\n\n/***/ }),\n/* 25 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Container = function (_Parchment$Container) {\n _inherits(Container, _Parchment$Container);\n\n function Container() {\n _classCallCheck(this, Container);\n\n return _possibleConstructorReturn(this, (Container.__proto__ || Object.getPrototypeOf(Container)).apply(this, arguments));\n }\n\n return Container;\n}(_parchment2.default.Container);\n\nContainer.allowedChildren = [_block2.default, _block.BlockEmbed, Container];\n\nexports.default = Container;\n\n/***/ }),\n/* 26 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.ColorStyle = exports.ColorClass = exports.ColorAttributor = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorAttributor = function (_Parchment$Attributor) {\n _inherits(ColorAttributor, _Parchment$Attributor);\n\n function ColorAttributor() {\n _classCallCheck(this, ColorAttributor);\n\n return _possibleConstructorReturn(this, (ColorAttributor.__proto__ || Object.getPrototypeOf(ColorAttributor)).apply(this, arguments));\n }\n\n _createClass(ColorAttributor, [{\n key: 'value',\n value: function value(domNode) {\n var value = _get(ColorAttributor.prototype.__proto__ || Object.getPrototypeOf(ColorAttributor.prototype), 'value', this).call(this, domNode);\n if (!value.startsWith('rgb(')) return value;\n value = value.replace(/^[^\\d]+/, '').replace(/[^\\d]+$/, '');\n return '#' + value.split(',').map(function (component) {\n return ('00' + parseInt(component).toString(16)).slice(-2);\n }).join('');\n }\n }]);\n\n return ColorAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar ColorClass = new _parchment2.default.Attributor.Class('color', 'ql-color', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar ColorStyle = new ColorAttributor('color', 'color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.ColorAttributor = ColorAttributor;\nexports.ColorClass = ColorClass;\nexports.ColorStyle = ColorStyle;\n\n/***/ }),\n/* 27 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.sanitize = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Link = function (_Inline) {\n _inherits(Link, _Inline);\n\n function Link() {\n _classCallCheck(this, Link);\n\n return _possibleConstructorReturn(this, (Link.__proto__ || Object.getPrototypeOf(Link)).apply(this, arguments));\n }\n\n _createClass(Link, [{\n key: 'format',\n value: function format(name, value) {\n if (name !== this.statics.blotName || !value) return _get(Link.prototype.__proto__ || Object.getPrototypeOf(Link.prototype), 'format', this).call(this, name, value);\n value = this.constructor.sanitize(value);\n this.domNode.setAttribute('href', value);\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Link.__proto__ || Object.getPrototypeOf(Link), 'create', this).call(this, value);\n value = this.sanitize(value);\n node.setAttribute('href', value);\n node.setAttribute('rel', 'noopener noreferrer');\n node.setAttribute('target', '_blank');\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return domNode.getAttribute('href');\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _sanitize(url, this.PROTOCOL_WHITELIST) ? url : this.SANITIZED_URL;\n }\n }]);\n\n return Link;\n}(_inline2.default);\n\nLink.blotName = 'link';\nLink.tagName = 'A';\nLink.SANITIZED_URL = 'about:blank';\nLink.PROTOCOL_WHITELIST = ['http', 'https', 'mailto', 'tel'];\n\nfunction _sanitize(url, protocols) {\n var anchor = document.createElement('a');\n anchor.href = url;\n var protocol = anchor.href.slice(0, anchor.href.indexOf(':'));\n return protocols.indexOf(protocol) > -1;\n}\n\nexports.default = Link;\nexports.sanitize = _sanitize;\n\n/***/ }),\n/* 28 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _dropdown = __webpack_require__(107);\n\nvar _dropdown2 = _interopRequireDefault(_dropdown);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar optionsCounter = 0;\n\nfunction toggleAriaAttribute(element, attribute) {\n element.setAttribute(attribute, !(element.getAttribute(attribute) === 'true'));\n}\n\nvar Picker = function () {\n function Picker(select) {\n var _this = this;\n\n _classCallCheck(this, Picker);\n\n this.select = select;\n this.container = document.createElement('span');\n this.buildPicker();\n this.select.style.display = 'none';\n this.select.parentNode.insertBefore(this.container, this.select);\n\n this.label.addEventListener('mousedown', function () {\n _this.togglePicker();\n });\n this.label.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to open the picker\n case _keyboard2.default.keys.ENTER:\n _this.togglePicker();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n this.select.addEventListener('change', this.update.bind(this));\n }\n\n _createClass(Picker, [{\n key: 'togglePicker',\n value: function togglePicker() {\n this.container.classList.toggle('ql-expanded');\n // Toggle aria-expanded and aria-hidden to make the picker accessible\n toggleAriaAttribute(this.label, 'aria-expanded');\n toggleAriaAttribute(this.options, 'aria-hidden');\n }\n }, {\n key: 'buildItem',\n value: function buildItem(option) {\n var _this2 = this;\n\n var item = document.createElement('span');\n item.tabIndex = '0';\n item.setAttribute('role', 'button');\n\n item.classList.add('ql-picker-item');\n if (option.hasAttribute('value')) {\n item.setAttribute('data-value', option.getAttribute('value'));\n }\n if (option.textContent) {\n item.setAttribute('data-label', option.textContent);\n }\n item.addEventListener('click', function () {\n _this2.selectItem(item, true);\n });\n item.addEventListener('keydown', function (event) {\n switch (event.keyCode) {\n // Allows the \"Enter\" key to select an item\n case _keyboard2.default.keys.ENTER:\n _this2.selectItem(item, true);\n event.preventDefault();\n break;\n\n // Allows the \"Escape\" key to close the picker\n case _keyboard2.default.keys.ESCAPE:\n _this2.escape();\n event.preventDefault();\n break;\n default:\n }\n });\n\n return item;\n }\n }, {\n key: 'buildLabel',\n value: function buildLabel() {\n var label = document.createElement('span');\n label.classList.add('ql-picker-label');\n label.innerHTML = _dropdown2.default;\n label.tabIndex = '0';\n label.setAttribute('role', 'button');\n label.setAttribute('aria-expanded', 'false');\n this.container.appendChild(label);\n return label;\n }\n }, {\n key: 'buildOptions',\n value: function buildOptions() {\n var _this3 = this;\n\n var options = document.createElement('span');\n options.classList.add('ql-picker-options');\n\n // Don't want screen readers to read this until options are visible\n options.setAttribute('aria-hidden', 'true');\n options.tabIndex = '-1';\n\n // Need a unique id for aria-controls\n options.id = 'ql-picker-options-' + optionsCounter;\n optionsCounter += 1;\n this.label.setAttribute('aria-controls', options.id);\n\n this.options = options;\n\n [].slice.call(this.select.options).forEach(function (option) {\n var item = _this3.buildItem(option);\n options.appendChild(item);\n if (option.selected === true) {\n _this3.selectItem(item);\n }\n });\n this.container.appendChild(options);\n }\n }, {\n key: 'buildPicker',\n value: function buildPicker() {\n var _this4 = this;\n\n [].slice.call(this.select.attributes).forEach(function (item) {\n _this4.container.setAttribute(item.name, item.value);\n });\n this.container.classList.add('ql-picker');\n this.label = this.buildLabel();\n this.buildOptions();\n }\n }, {\n key: 'escape',\n value: function escape() {\n var _this5 = this;\n\n // Close menu and return focus to trigger label\n this.close();\n // Need setTimeout for accessibility to ensure that the browser executes\n // focus on the next process thread and after any DOM content changes\n setTimeout(function () {\n return _this5.label.focus();\n }, 1);\n }\n }, {\n key: 'close',\n value: function close() {\n this.container.classList.remove('ql-expanded');\n this.label.setAttribute('aria-expanded', 'false');\n this.options.setAttribute('aria-hidden', 'true');\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item) {\n var trigger = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n\n var selected = this.container.querySelector('.ql-selected');\n if (item === selected) return;\n if (selected != null) {\n selected.classList.remove('ql-selected');\n }\n if (item == null) return;\n item.classList.add('ql-selected');\n this.select.selectedIndex = [].indexOf.call(item.parentNode.children, item);\n if (item.hasAttribute('data-value')) {\n this.label.setAttribute('data-value', item.getAttribute('data-value'));\n } else {\n this.label.removeAttribute('data-value');\n }\n if (item.hasAttribute('data-label')) {\n this.label.setAttribute('data-label', item.getAttribute('data-label'));\n } else {\n this.label.removeAttribute('data-label');\n }\n if (trigger) {\n if (typeof Event === 'function') {\n this.select.dispatchEvent(new Event('change'));\n } else if ((typeof Event === 'undefined' ? 'undefined' : _typeof(Event)) === 'object') {\n // IE11\n var event = document.createEvent('Event');\n event.initEvent('change', true, true);\n this.select.dispatchEvent(event);\n }\n this.close();\n }\n }\n }, {\n key: 'update',\n value: function update() {\n var option = void 0;\n if (this.select.selectedIndex > -1) {\n var item = this.container.querySelector('.ql-picker-options').children[this.select.selectedIndex];\n option = this.select.options[this.select.selectedIndex];\n this.selectItem(item);\n } else {\n this.selectItem(null);\n }\n var isActive = option != null && option !== this.select.querySelector('option[selected]');\n this.label.classList.toggle('ql-active', isActive);\n }\n }]);\n\n return Picker;\n}();\n\nexports.default = Picker;\n\n/***/ }),\n/* 29 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _break = __webpack_require__(16);\n\nvar _break2 = _interopRequireDefault(_break);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nvar _cursor = __webpack_require__(24);\n\nvar _cursor2 = _interopRequireDefault(_cursor);\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nvar _scroll = __webpack_require__(22);\n\nvar _scroll2 = _interopRequireDefault(_scroll);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nvar _clipboard = __webpack_require__(55);\n\nvar _clipboard2 = _interopRequireDefault(_clipboard);\n\nvar _history = __webpack_require__(42);\n\nvar _history2 = _interopRequireDefault(_history);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_quill2.default.register({\n 'blots/block': _block2.default,\n 'blots/block/embed': _block.BlockEmbed,\n 'blots/break': _break2.default,\n 'blots/container': _container2.default,\n 'blots/cursor': _cursor2.default,\n 'blots/embed': _embed2.default,\n 'blots/inline': _inline2.default,\n 'blots/scroll': _scroll2.default,\n 'blots/text': _text2.default,\n\n 'modules/clipboard': _clipboard2.default,\n 'modules/history': _history2.default,\n 'modules/keyboard': _keyboard2.default\n});\n\n_parchment2.default.register(_block2.default, _break2.default, _cursor2.default, _inline2.default, _scroll2.default, _text2.default);\n\nexports.default = _quill2.default;\n\n/***/ }),\n/* 30 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Registry = __webpack_require__(1);\nvar ShadowBlot = /** @class */ (function () {\n function ShadowBlot(domNode) {\n this.domNode = domNode;\n // @ts-ignore\n this.domNode[Registry.DATA_KEY] = { blot: this };\n }\n Object.defineProperty(ShadowBlot.prototype, \"statics\", {\n // Hack for accessing inherited static methods\n get: function () {\n return this.constructor;\n },\n enumerable: true,\n configurable: true\n });\n ShadowBlot.create = function (value) {\n if (this.tagName == null) {\n throw new Registry.ParchmentError('Blot definition missing tagName');\n }\n var node;\n if (Array.isArray(this.tagName)) {\n if (typeof value === 'string') {\n value = value.toUpperCase();\n if (parseInt(value).toString() === value) {\n value = parseInt(value);\n }\n }\n if (typeof value === 'number') {\n node = document.createElement(this.tagName[value - 1]);\n }\n else if (this.tagName.indexOf(value) > -1) {\n node = document.createElement(value);\n }\n else {\n node = document.createElement(this.tagName[0]);\n }\n }\n else {\n node = document.createElement(this.tagName);\n }\n if (this.className) {\n node.classList.add(this.className);\n }\n return node;\n };\n ShadowBlot.prototype.attach = function () {\n if (this.parent != null) {\n this.scroll = this.parent.scroll;\n }\n };\n ShadowBlot.prototype.clone = function () {\n var domNode = this.domNode.cloneNode(false);\n return Registry.create(domNode);\n };\n ShadowBlot.prototype.detach = function () {\n if (this.parent != null)\n this.parent.removeChild(this);\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY];\n };\n ShadowBlot.prototype.deleteAt = function (index, length) {\n var blot = this.isolate(index, length);\n blot.remove();\n };\n ShadowBlot.prototype.formatAt = function (index, length, name, value) {\n var blot = this.isolate(index, length);\n if (Registry.query(name, Registry.Scope.BLOT) != null && value) {\n blot.wrap(name, value);\n }\n else if (Registry.query(name, Registry.Scope.ATTRIBUTE) != null) {\n var parent = Registry.create(this.statics.scope);\n blot.wrap(parent);\n parent.format(name, value);\n }\n };\n ShadowBlot.prototype.insertAt = function (index, value, def) {\n var blot = def == null ? Registry.create('text', value) : Registry.create(value, def);\n var ref = this.split(index);\n this.parent.insertBefore(blot, ref);\n };\n ShadowBlot.prototype.insertInto = function (parentBlot, refBlot) {\n if (refBlot === void 0) { refBlot = null; }\n if (this.parent != null) {\n this.parent.children.remove(this);\n }\n var refDomNode = null;\n parentBlot.children.insertBefore(this, refBlot);\n if (refBlot != null) {\n refDomNode = refBlot.domNode;\n }\n if (this.domNode.parentNode != parentBlot.domNode ||\n this.domNode.nextSibling != refDomNode) {\n parentBlot.domNode.insertBefore(this.domNode, refDomNode);\n }\n this.parent = parentBlot;\n this.attach();\n };\n ShadowBlot.prototype.isolate = function (index, length) {\n var target = this.split(index);\n target.split(length);\n return target;\n };\n ShadowBlot.prototype.length = function () {\n return 1;\n };\n ShadowBlot.prototype.offset = function (root) {\n if (root === void 0) { root = this.parent; }\n if (this.parent == null || this == root)\n return 0;\n return this.parent.children.offset(this) + this.parent.offset(root);\n };\n ShadowBlot.prototype.optimize = function (context) {\n // TODO clean up once we use WeakMap\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY] != null) {\n // @ts-ignore\n delete this.domNode[Registry.DATA_KEY].mutations;\n }\n };\n ShadowBlot.prototype.remove = function () {\n if (this.domNode.parentNode != null) {\n this.domNode.parentNode.removeChild(this.domNode);\n }\n this.detach();\n };\n ShadowBlot.prototype.replace = function (target) {\n if (target.parent == null)\n return;\n target.parent.insertBefore(this, target.next);\n target.remove();\n };\n ShadowBlot.prototype.replaceWith = function (name, value) {\n var replacement = typeof name === 'string' ? Registry.create(name, value) : name;\n replacement.replace(this);\n return replacement;\n };\n ShadowBlot.prototype.split = function (index, force) {\n return index === 0 ? this : this.next;\n };\n ShadowBlot.prototype.update = function (mutations, context) {\n // Nothing to do by default\n };\n ShadowBlot.prototype.wrap = function (name, value) {\n var wrapper = typeof name === 'string' ? Registry.create(name, value) : name;\n if (this.parent != null) {\n this.parent.insertBefore(wrapper, this.next);\n }\n wrapper.appendChild(this);\n return wrapper;\n };\n ShadowBlot.blotName = 'abstract';\n return ShadowBlot;\n}());\nexports.default = ShadowBlot;\n\n\n/***/ }),\n/* 31 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nvar class_1 = __webpack_require__(32);\nvar style_1 = __webpack_require__(33);\nvar Registry = __webpack_require__(1);\nvar AttributorStore = /** @class */ (function () {\n function AttributorStore(domNode) {\n this.attributes = {};\n this.domNode = domNode;\n this.build();\n }\n AttributorStore.prototype.attribute = function (attribute, value) {\n // verb\n if (value) {\n if (attribute.add(this.domNode, value)) {\n if (attribute.value(this.domNode) != null) {\n this.attributes[attribute.attrName] = attribute;\n }\n else {\n delete this.attributes[attribute.attrName];\n }\n }\n }\n else {\n attribute.remove(this.domNode);\n delete this.attributes[attribute.attrName];\n }\n };\n AttributorStore.prototype.build = function () {\n var _this = this;\n this.attributes = {};\n var attributes = attributor_1.default.keys(this.domNode);\n var classes = class_1.default.keys(this.domNode);\n var styles = style_1.default.keys(this.domNode);\n attributes\n .concat(classes)\n .concat(styles)\n .forEach(function (name) {\n var attr = Registry.query(name, Registry.Scope.ATTRIBUTE);\n if (attr instanceof attributor_1.default) {\n _this.attributes[attr.attrName] = attr;\n }\n });\n };\n AttributorStore.prototype.copy = function (target) {\n var _this = this;\n Object.keys(this.attributes).forEach(function (key) {\n var value = _this.attributes[key].value(_this.domNode);\n target.format(key, value);\n });\n };\n AttributorStore.prototype.move = function (target) {\n var _this = this;\n this.copy(target);\n Object.keys(this.attributes).forEach(function (key) {\n _this.attributes[key].remove(_this.domNode);\n });\n this.attributes = {};\n };\n AttributorStore.prototype.values = function () {\n var _this = this;\n return Object.keys(this.attributes).reduce(function (attributes, name) {\n attributes[name] = _this.attributes[name].value(_this.domNode);\n return attributes;\n }, {});\n };\n return AttributorStore;\n}());\nexports.default = AttributorStore;\n\n\n/***/ }),\n/* 32 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction match(node, prefix) {\n var className = node.getAttribute('class') || '';\n return className.split(/\\s+/).filter(function (name) {\n return name.indexOf(prefix + \"-\") === 0;\n });\n}\nvar ClassAttributor = /** @class */ (function (_super) {\n __extends(ClassAttributor, _super);\n function ClassAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n ClassAttributor.keys = function (node) {\n return (node.getAttribute('class') || '').split(/\\s+/).map(function (name) {\n return name\n .split('-')\n .slice(0, -1)\n .join('-');\n });\n };\n ClassAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n this.remove(node);\n node.classList.add(this.keyName + \"-\" + value);\n return true;\n };\n ClassAttributor.prototype.remove = function (node) {\n var matches = match(node, this.keyName);\n matches.forEach(function (name) {\n node.classList.remove(name);\n });\n if (node.classList.length === 0) {\n node.removeAttribute('class');\n }\n };\n ClassAttributor.prototype.value = function (node) {\n var result = match(node, this.keyName)[0] || '';\n var value = result.slice(this.keyName.length + 1); // +1 for hyphen\n return this.canAdd(node, value) ? value : '';\n };\n return ClassAttributor;\n}(attributor_1.default));\nexports.default = ClassAttributor;\n\n\n/***/ }),\n/* 33 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar attributor_1 = __webpack_require__(12);\nfunction camelize(name) {\n var parts = name.split('-');\n var rest = parts\n .slice(1)\n .map(function (part) {\n return part[0].toUpperCase() + part.slice(1);\n })\n .join('');\n return parts[0] + rest;\n}\nvar StyleAttributor = /** @class */ (function (_super) {\n __extends(StyleAttributor, _super);\n function StyleAttributor() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n StyleAttributor.keys = function (node) {\n return (node.getAttribute('style') || '').split(';').map(function (value) {\n var arr = value.split(':');\n return arr[0].trim();\n });\n };\n StyleAttributor.prototype.add = function (node, value) {\n if (!this.canAdd(node, value))\n return false;\n // @ts-ignore\n node.style[camelize(this.keyName)] = value;\n return true;\n };\n StyleAttributor.prototype.remove = function (node) {\n // @ts-ignore\n node.style[camelize(this.keyName)] = '';\n if (!node.getAttribute('style')) {\n node.removeAttribute('style');\n }\n };\n StyleAttributor.prototype.value = function (node) {\n // @ts-ignore\n var value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : '';\n };\n return StyleAttributor;\n}(attributor_1.default));\nexports.default = StyleAttributor;\n\n\n/***/ }),\n/* 34 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Theme = function () {\n function Theme(quill, options) {\n _classCallCheck(this, Theme);\n\n this.quill = quill;\n this.options = options;\n this.modules = {};\n }\n\n _createClass(Theme, [{\n key: 'init',\n value: function init() {\n var _this = this;\n\n Object.keys(this.options.modules).forEach(function (name) {\n if (_this.modules[name] == null) {\n _this.addModule(name);\n }\n });\n }\n }, {\n key: 'addModule',\n value: function addModule(name) {\n var moduleClass = this.quill.constructor.import('modules/' + name);\n this.modules[name] = new moduleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n }]);\n\n return Theme;\n}();\n\nTheme.DEFAULTS = {\n modules: {}\n};\nTheme.themes = {\n 'default': Theme\n};\n\nexports.default = Theme;\n\n/***/ }),\n/* 35 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _text = __webpack_require__(7);\n\nvar _text2 = _interopRequireDefault(_text);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar GUARD_TEXT = '\\uFEFF';\n\nvar Embed = function (_Parchment$Embed) {\n _inherits(Embed, _Parchment$Embed);\n\n function Embed(node) {\n _classCallCheck(this, Embed);\n\n var _this = _possibleConstructorReturn(this, (Embed.__proto__ || Object.getPrototypeOf(Embed)).call(this, node));\n\n _this.contentNode = document.createElement('span');\n _this.contentNode.setAttribute('contenteditable', false);\n [].slice.call(_this.domNode.childNodes).forEach(function (childNode) {\n _this.contentNode.appendChild(childNode);\n });\n _this.leftGuard = document.createTextNode(GUARD_TEXT);\n _this.rightGuard = document.createTextNode(GUARD_TEXT);\n _this.domNode.appendChild(_this.leftGuard);\n _this.domNode.appendChild(_this.contentNode);\n _this.domNode.appendChild(_this.rightGuard);\n return _this;\n }\n\n _createClass(Embed, [{\n key: 'index',\n value: function index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return _get(Embed.prototype.__proto__ || Object.getPrototypeOf(Embed.prototype), 'index', this).call(this, node, offset);\n }\n }, {\n key: 'restore',\n value: function restore(node) {\n var range = void 0,\n textNode = void 0;\n var text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof _text2.default) {\n var prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof _text2.default) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(_parchment2.default.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n }, {\n key: 'update',\n value: function update(mutations, context) {\n var _this2 = this;\n\n mutations.forEach(function (mutation) {\n if (mutation.type === 'characterData' && (mutation.target === _this2.leftGuard || mutation.target === _this2.rightGuard)) {\n var range = _this2.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n }]);\n\n return Embed;\n}(_parchment2.default.Embed);\n\nexports.default = Embed;\n\n/***/ }),\n/* 36 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.AlignStyle = exports.AlignClass = exports.AlignAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['right', 'center', 'justify']\n};\n\nvar AlignAttribute = new _parchment2.default.Attributor.Attribute('align', 'align', config);\nvar AlignClass = new _parchment2.default.Attributor.Class('align', 'ql-align', config);\nvar AlignStyle = new _parchment2.default.Attributor.Style('align', 'text-align', config);\n\nexports.AlignAttribute = AlignAttribute;\nexports.AlignClass = AlignClass;\nexports.AlignStyle = AlignStyle;\n\n/***/ }),\n/* 37 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.BackgroundStyle = exports.BackgroundClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _color = __webpack_require__(26);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar BackgroundClass = new _parchment2.default.Attributor.Class('background', 'ql-bg', {\n scope: _parchment2.default.Scope.INLINE\n});\nvar BackgroundStyle = new _color.ColorAttributor('background', 'background-color', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nexports.BackgroundClass = BackgroundClass;\nexports.BackgroundStyle = BackgroundStyle;\n\n/***/ }),\n/* 38 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.DirectionStyle = exports.DirectionClass = exports.DirectionAttribute = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar config = {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: ['rtl']\n};\n\nvar DirectionAttribute = new _parchment2.default.Attributor.Attribute('direction', 'dir', config);\nvar DirectionClass = new _parchment2.default.Attributor.Class('direction', 'ql-direction', config);\nvar DirectionStyle = new _parchment2.default.Attributor.Style('direction', 'direction', config);\n\nexports.DirectionAttribute = DirectionAttribute;\nexports.DirectionClass = DirectionClass;\nexports.DirectionStyle = DirectionStyle;\n\n/***/ }),\n/* 39 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.FontClass = exports.FontStyle = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar config = {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['serif', 'monospace']\n};\n\nvar FontClass = new _parchment2.default.Attributor.Class('font', 'ql-font', config);\n\nvar FontStyleAttributor = function (_Parchment$Attributor) {\n _inherits(FontStyleAttributor, _Parchment$Attributor);\n\n function FontStyleAttributor() {\n _classCallCheck(this, FontStyleAttributor);\n\n return _possibleConstructorReturn(this, (FontStyleAttributor.__proto__ || Object.getPrototypeOf(FontStyleAttributor)).apply(this, arguments));\n }\n\n _createClass(FontStyleAttributor, [{\n key: 'value',\n value: function value(node) {\n return _get(FontStyleAttributor.prototype.__proto__ || Object.getPrototypeOf(FontStyleAttributor.prototype), 'value', this).call(this, node).replace(/[\"']/g, '');\n }\n }]);\n\n return FontStyleAttributor;\n}(_parchment2.default.Attributor.Style);\n\nvar FontStyle = new FontStyleAttributor('font', 'font-family', config);\n\nexports.FontStyle = FontStyle;\nexports.FontClass = FontClass;\n\n/***/ }),\n/* 40 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.SizeStyle = exports.SizeClass = undefined;\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nvar SizeClass = new _parchment2.default.Attributor.Class('size', 'ql-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['small', 'large', 'huge']\n});\nvar SizeStyle = new _parchment2.default.Attributor.Style('size', 'font-size', {\n scope: _parchment2.default.Scope.INLINE,\n whitelist: ['10px', '18px', '32px']\n});\n\nexports.SizeClass = SizeClass;\nexports.SizeStyle = SizeStyle;\n\n/***/ }),\n/* 41 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nmodule.exports = {\n 'align': {\n '': __webpack_require__(76),\n 'center': __webpack_require__(77),\n 'right': __webpack_require__(78),\n 'justify': __webpack_require__(79)\n },\n 'background': __webpack_require__(80),\n 'blockquote': __webpack_require__(81),\n 'bold': __webpack_require__(82),\n 'clean': __webpack_require__(83),\n 'code': __webpack_require__(58),\n 'code-block': __webpack_require__(58),\n 'color': __webpack_require__(84),\n 'direction': {\n '': __webpack_require__(85),\n 'rtl': __webpack_require__(86)\n },\n 'float': {\n 'center': __webpack_require__(87),\n 'full': __webpack_require__(88),\n 'left': __webpack_require__(89),\n 'right': __webpack_require__(90)\n },\n 'formula': __webpack_require__(91),\n 'header': {\n '1': __webpack_require__(92),\n '2': __webpack_require__(93)\n },\n 'italic': __webpack_require__(94),\n 'image': __webpack_require__(95),\n 'indent': {\n '+1': __webpack_require__(96),\n '-1': __webpack_require__(97)\n },\n 'link': __webpack_require__(98),\n 'list': {\n 'ordered': __webpack_require__(99),\n 'bullet': __webpack_require__(100),\n 'check': __webpack_require__(101)\n },\n 'script': {\n 'sub': __webpack_require__(102),\n 'super': __webpack_require__(103)\n },\n 'strike': __webpack_require__(104),\n 'underline': __webpack_require__(105),\n 'video': __webpack_require__(106)\n};\n\n/***/ }),\n/* 42 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getLastChangeIndex = exports.default = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar History = function (_Module) {\n _inherits(History, _Module);\n\n function History(quill, options) {\n _classCallCheck(this, History);\n\n var _this = _possibleConstructorReturn(this, (History.__proto__ || Object.getPrototypeOf(History)).call(this, quill, options));\n\n _this.lastRecorded = 0;\n _this.ignoreChange = false;\n _this.clear();\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (eventName, delta, oldDelta, source) {\n if (eventName !== _quill2.default.events.TEXT_CHANGE || _this.ignoreChange) return;\n if (!_this.options.userOnly || source === _quill2.default.sources.USER) {\n _this.record(delta, oldDelta);\n } else {\n _this.transform(delta);\n }\n });\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true }, _this.undo.bind(_this));\n _this.quill.keyboard.addBinding({ key: 'Z', shortKey: true, shiftKey: true }, _this.redo.bind(_this));\n if (/Win/i.test(navigator.platform)) {\n _this.quill.keyboard.addBinding({ key: 'Y', shortKey: true }, _this.redo.bind(_this));\n }\n return _this;\n }\n\n _createClass(History, [{\n key: 'change',\n value: function change(source, dest) {\n if (this.stack[source].length === 0) return;\n var delta = this.stack[source].pop();\n this.stack[dest].push(delta);\n this.lastRecorded = 0;\n this.ignoreChange = true;\n this.quill.updateContents(delta[source], _quill2.default.sources.USER);\n this.ignoreChange = false;\n var index = getLastChangeIndex(delta[source]);\n this.quill.setSelection(index);\n }\n }, {\n key: 'clear',\n value: function clear() {\n this.stack = { undo: [], redo: [] };\n }\n }, {\n key: 'cutoff',\n value: function cutoff() {\n this.lastRecorded = 0;\n }\n }, {\n key: 'record',\n value: function record(changeDelta, oldDelta) {\n if (changeDelta.ops.length === 0) return;\n this.stack.redo = [];\n var undoDelta = this.quill.getContents().diff(oldDelta);\n var timestamp = Date.now();\n if (this.lastRecorded + this.options.delay > timestamp && this.stack.undo.length > 0) {\n var delta = this.stack.undo.pop();\n undoDelta = undoDelta.compose(delta.undo);\n changeDelta = delta.redo.compose(changeDelta);\n } else {\n this.lastRecorded = timestamp;\n }\n this.stack.undo.push({\n redo: changeDelta,\n undo: undoDelta\n });\n if (this.stack.undo.length > this.options.maxStack) {\n this.stack.undo.shift();\n }\n }\n }, {\n key: 'redo',\n value: function redo() {\n this.change('redo', 'undo');\n }\n }, {\n key: 'transform',\n value: function transform(delta) {\n this.stack.undo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n this.stack.redo.forEach(function (change) {\n change.undo = delta.transform(change.undo, true);\n change.redo = delta.transform(change.redo, true);\n });\n }\n }, {\n key: 'undo',\n value: function undo() {\n this.change('undo', 'redo');\n }\n }]);\n\n return History;\n}(_module2.default);\n\nHistory.DEFAULTS = {\n delay: 1000,\n maxStack: 100,\n userOnly: false\n};\n\nfunction endsWithNewlineChange(delta) {\n var lastOp = delta.ops[delta.ops.length - 1];\n if (lastOp == null) return false;\n if (lastOp.insert != null) {\n return typeof lastOp.insert === 'string' && lastOp.insert.endsWith('\\n');\n }\n if (lastOp.attributes != null) {\n return Object.keys(lastOp.attributes).some(function (attr) {\n return _parchment2.default.query(attr, _parchment2.default.Scope.BLOCK) != null;\n });\n }\n return false;\n}\n\nfunction getLastChangeIndex(delta) {\n var deleteLength = delta.reduce(function (length, op) {\n length += op.delete || 0;\n return length;\n }, 0);\n var changeIndex = delta.length() - deleteLength;\n if (endsWithNewlineChange(delta)) {\n changeIndex -= 1;\n }\n return changeIndex;\n}\n\nexports.default = History;\nexports.getLastChangeIndex = getLastChangeIndex;\n\n/***/ }),\n/* 43 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BaseTooltip = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _keyboard = __webpack_require__(23);\n\nvar _keyboard2 = _interopRequireDefault(_keyboard);\n\nvar _theme = __webpack_require__(34);\n\nvar _theme2 = _interopRequireDefault(_theme);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ALIGNS = [false, 'center', 'right', 'justify'];\n\nvar COLORS = [\"#000000\", \"#e60000\", \"#ff9900\", \"#ffff00\", \"#008a00\", \"#0066cc\", \"#9933ff\", \"#ffffff\", \"#facccc\", \"#ffebcc\", \"#ffffcc\", \"#cce8cc\", \"#cce0f5\", \"#ebd6ff\", \"#bbbbbb\", \"#f06666\", \"#ffc266\", \"#ffff66\", \"#66b966\", \"#66a3e0\", \"#c285ff\", \"#888888\", \"#a10000\", \"#b26b00\", \"#b2b200\", \"#006100\", \"#0047b2\", \"#6b24b2\", \"#444444\", \"#5c0000\", \"#663d00\", \"#666600\", \"#003700\", \"#002966\", \"#3d1466\"];\n\nvar FONTS = [false, 'serif', 'monospace'];\n\nvar HEADERS = ['1', '2', '3', false];\n\nvar SIZES = ['small', false, 'large', 'huge'];\n\nvar BaseTheme = function (_Theme) {\n _inherits(BaseTheme, _Theme);\n\n function BaseTheme(quill, options) {\n _classCallCheck(this, BaseTheme);\n\n var _this = _possibleConstructorReturn(this, (BaseTheme.__proto__ || Object.getPrototypeOf(BaseTheme)).call(this, quill, options));\n\n var listener = function listener(e) {\n if (!document.body.contains(quill.root)) {\n return document.body.removeEventListener('click', listener);\n }\n if (_this.tooltip != null && !_this.tooltip.root.contains(e.target) && document.activeElement !== _this.tooltip.textbox && !_this.quill.hasFocus()) {\n _this.tooltip.hide();\n }\n if (_this.pickers != null) {\n _this.pickers.forEach(function (picker) {\n if (!picker.container.contains(e.target)) {\n picker.close();\n }\n });\n }\n };\n quill.emitter.listenDOM('click', document.body, listener);\n return _this;\n }\n\n _createClass(BaseTheme, [{\n key: 'addModule',\n value: function addModule(name) {\n var module = _get(BaseTheme.prototype.__proto__ || Object.getPrototypeOf(BaseTheme.prototype), 'addModule', this).call(this, name);\n if (name === 'toolbar') {\n this.extendToolbar(module);\n }\n return module;\n }\n }, {\n key: 'buildButtons',\n value: function buildButtons(buttons, icons) {\n buttons.forEach(function (button) {\n var className = button.getAttribute('class') || '';\n className.split(/\\s+/).forEach(function (name) {\n if (!name.startsWith('ql-')) return;\n name = name.slice('ql-'.length);\n if (icons[name] == null) return;\n if (name === 'direction') {\n button.innerHTML = icons[name][''] + icons[name]['rtl'];\n } else if (typeof icons[name] === 'string') {\n button.innerHTML = icons[name];\n } else {\n var value = button.value || '';\n if (value != null && icons[name][value]) {\n button.innerHTML = icons[name][value];\n }\n }\n });\n });\n }\n }, {\n key: 'buildPickers',\n value: function buildPickers(selects, icons) {\n var _this2 = this;\n\n this.pickers = selects.map(function (select) {\n if (select.classList.contains('ql-align')) {\n if (select.querySelector('option') == null) {\n fillSelect(select, ALIGNS);\n }\n return new _iconPicker2.default(select, icons.align);\n } else if (select.classList.contains('ql-background') || select.classList.contains('ql-color')) {\n var format = select.classList.contains('ql-background') ? 'background' : 'color';\n if (select.querySelector('option') == null) {\n fillSelect(select, COLORS, format === 'background' ? '#ffffff' : '#000000');\n }\n return new _colorPicker2.default(select, icons[format]);\n } else {\n if (select.querySelector('option') == null) {\n if (select.classList.contains('ql-font')) {\n fillSelect(select, FONTS);\n } else if (select.classList.contains('ql-header')) {\n fillSelect(select, HEADERS);\n } else if (select.classList.contains('ql-size')) {\n fillSelect(select, SIZES);\n }\n }\n return new _picker2.default(select);\n }\n });\n var update = function update() {\n _this2.pickers.forEach(function (picker) {\n picker.update();\n });\n };\n this.quill.on(_emitter2.default.events.EDITOR_CHANGE, update);\n }\n }]);\n\n return BaseTheme;\n}(_theme2.default);\n\nBaseTheme.DEFAULTS = (0, _extend2.default)(true, {}, _theme2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n formula: function formula() {\n this.quill.theme.tooltip.edit('formula');\n },\n image: function image() {\n var _this3 = this;\n\n var fileInput = this.container.querySelector('input.ql-image[type=file]');\n if (fileInput == null) {\n fileInput = document.createElement('input');\n fileInput.setAttribute('type', 'file');\n fileInput.setAttribute('accept', 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon');\n fileInput.classList.add('ql-image');\n fileInput.addEventListener('change', function () {\n if (fileInput.files != null && fileInput.files[0] != null) {\n var reader = new FileReader();\n reader.onload = function (e) {\n var range = _this3.quill.getSelection(true);\n _this3.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert({ image: e.target.result }), _emitter2.default.sources.USER);\n _this3.quill.setSelection(range.index + 1, _emitter2.default.sources.SILENT);\n fileInput.value = \"\";\n };\n reader.readAsDataURL(fileInput.files[0]);\n }\n });\n this.container.appendChild(fileInput);\n }\n fileInput.click();\n },\n video: function video() {\n this.quill.theme.tooltip.edit('video');\n }\n }\n }\n }\n});\n\nvar BaseTooltip = function (_Tooltip) {\n _inherits(BaseTooltip, _Tooltip);\n\n function BaseTooltip(quill, boundsContainer) {\n _classCallCheck(this, BaseTooltip);\n\n var _this4 = _possibleConstructorReturn(this, (BaseTooltip.__proto__ || Object.getPrototypeOf(BaseTooltip)).call(this, quill, boundsContainer));\n\n _this4.textbox = _this4.root.querySelector('input[type=\"text\"]');\n _this4.listen();\n return _this4;\n }\n\n _createClass(BaseTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this5 = this;\n\n this.textbox.addEventListener('keydown', function (event) {\n if (_keyboard2.default.match(event, 'enter')) {\n _this5.save();\n event.preventDefault();\n } else if (_keyboard2.default.match(event, 'escape')) {\n _this5.cancel();\n event.preventDefault();\n }\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.hide();\n }\n }, {\n key: 'edit',\n value: function edit() {\n var mode = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'link';\n var preview = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n\n this.root.classList.remove('ql-hidden');\n this.root.classList.add('ql-editing');\n if (preview != null) {\n this.textbox.value = preview;\n } else if (mode !== this.root.getAttribute('data-mode')) {\n this.textbox.value = '';\n }\n this.position(this.quill.getBounds(this.quill.selection.savedRange));\n this.textbox.select();\n this.textbox.setAttribute('placeholder', this.textbox.getAttribute('data-' + mode) || '');\n this.root.setAttribute('data-mode', mode);\n }\n }, {\n key: 'restoreFocus',\n value: function restoreFocus() {\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.quill.focus();\n this.quill.scrollingContainer.scrollTop = scrollTop;\n }\n }, {\n key: 'save',\n value: function save() {\n var value = this.textbox.value;\n switch (this.root.getAttribute('data-mode')) {\n case 'link':\n {\n var scrollTop = this.quill.root.scrollTop;\n if (this.linkRange) {\n this.quill.formatText(this.linkRange, 'link', value, _emitter2.default.sources.USER);\n delete this.linkRange;\n } else {\n this.restoreFocus();\n this.quill.format('link', value, _emitter2.default.sources.USER);\n }\n this.quill.root.scrollTop = scrollTop;\n break;\n }\n case 'video':\n {\n value = extractVideoUrl(value);\n } // eslint-disable-next-line no-fallthrough\n case 'formula':\n {\n if (!value) break;\n var range = this.quill.getSelection(true);\n if (range != null) {\n var index = range.index + range.length;\n this.quill.insertEmbed(index, this.root.getAttribute('data-mode'), value, _emitter2.default.sources.USER);\n if (this.root.getAttribute('data-mode') === 'formula') {\n this.quill.insertText(index + 1, ' ', _emitter2.default.sources.USER);\n }\n this.quill.setSelection(index + 2, _emitter2.default.sources.USER);\n }\n break;\n }\n default:\n }\n this.textbox.value = '';\n this.hide();\n }\n }]);\n\n return BaseTooltip;\n}(_tooltip2.default);\n\nfunction extractVideoUrl(url) {\n var match = url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtube\\.com\\/watch.*v=([a-zA-Z0-9_-]+)/) || url.match(/^(?:(https?):\\/\\/)?(?:(?:www|m)\\.)?youtu\\.be\\/([a-zA-Z0-9_-]+)/);\n if (match) {\n return (match[1] || 'https') + '://www.youtube.com/embed/' + match[2] + '?showinfo=0';\n }\n if (match = url.match(/^(?:(https?):\\/\\/)?(?:www\\.)?vimeo\\.com\\/(\\d+)/)) {\n // eslint-disable-line no-cond-assign\n return (match[1] || 'https') + '://player.vimeo.com/video/' + match[2] + '/';\n }\n return url;\n}\n\nfunction fillSelect(select, values) {\n var defaultValue = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value === defaultValue) {\n option.setAttribute('selected', 'selected');\n } else {\n option.setAttribute('value', value);\n }\n select.appendChild(option);\n });\n}\n\nexports.BaseTooltip = BaseTooltip;\nexports.default = BaseTheme;\n\n/***/ }),\n/* 44 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar LinkedList = /** @class */ (function () {\n function LinkedList() {\n this.head = this.tail = null;\n this.length = 0;\n }\n LinkedList.prototype.append = function () {\n var nodes = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n nodes[_i] = arguments[_i];\n }\n this.insertBefore(nodes[0], null);\n if (nodes.length > 1) {\n this.append.apply(this, nodes.slice(1));\n }\n };\n LinkedList.prototype.contains = function (node) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n if (cur === node)\n return true;\n }\n return false;\n };\n LinkedList.prototype.insertBefore = function (node, refNode) {\n if (!node)\n return;\n node.next = refNode;\n if (refNode != null) {\n node.prev = refNode.prev;\n if (refNode.prev != null) {\n refNode.prev.next = node;\n }\n refNode.prev = node;\n if (refNode === this.head) {\n this.head = node;\n }\n }\n else if (this.tail != null) {\n this.tail.next = node;\n node.prev = this.tail;\n this.tail = node;\n }\n else {\n node.prev = null;\n this.head = this.tail = node;\n }\n this.length += 1;\n };\n LinkedList.prototype.offset = function (target) {\n var index = 0, cur = this.head;\n while (cur != null) {\n if (cur === target)\n return index;\n index += cur.length();\n cur = cur.next;\n }\n return -1;\n };\n LinkedList.prototype.remove = function (node) {\n if (!this.contains(node))\n return;\n if (node.prev != null)\n node.prev.next = node.next;\n if (node.next != null)\n node.next.prev = node.prev;\n if (node === this.head)\n this.head = node.next;\n if (node === this.tail)\n this.tail = node.prev;\n this.length -= 1;\n };\n LinkedList.prototype.iterator = function (curNode) {\n if (curNode === void 0) { curNode = this.head; }\n // TODO use yield when we can\n return function () {\n var ret = curNode;\n if (curNode != null)\n curNode = curNode.next;\n return ret;\n };\n };\n LinkedList.prototype.find = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n var cur, next = this.iterator();\n while ((cur = next())) {\n var length = cur.length();\n if (index < length ||\n (inclusive && index === length && (cur.next == null || cur.next.length() !== 0))) {\n return [cur, index];\n }\n index -= length;\n }\n return [null, 0];\n };\n LinkedList.prototype.forEach = function (callback) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n callback(cur);\n }\n };\n LinkedList.prototype.forEachAt = function (index, length, callback) {\n if (length <= 0)\n return;\n var _a = this.find(index), startNode = _a[0], offset = _a[1];\n var cur, curIndex = index - offset, next = this.iterator(startNode);\n while ((cur = next()) && curIndex < index + length) {\n var curLength = cur.length();\n if (index > curIndex) {\n callback(cur, index - curIndex, Math.min(length, curIndex + curLength - index));\n }\n else {\n callback(cur, 0, Math.min(curLength, index + length - curIndex));\n }\n curIndex += curLength;\n }\n };\n LinkedList.prototype.map = function (callback) {\n return this.reduce(function (memo, cur) {\n memo.push(callback(cur));\n return memo;\n }, []);\n };\n LinkedList.prototype.reduce = function (callback, memo) {\n var cur, next = this.iterator();\n while ((cur = next())) {\n memo = callback(memo, cur);\n }\n return memo;\n };\n return LinkedList;\n}());\nexports.default = LinkedList;\n\n\n/***/ }),\n/* 45 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar container_1 = __webpack_require__(17);\nvar Registry = __webpack_require__(1);\nvar OBSERVER_CONFIG = {\n attributes: true,\n characterData: true,\n characterDataOldValue: true,\n childList: true,\n subtree: true,\n};\nvar MAX_OPTIMIZE_ITERATIONS = 100;\nvar ScrollBlot = /** @class */ (function (_super) {\n __extends(ScrollBlot, _super);\n function ScrollBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.scroll = _this;\n _this.observer = new MutationObserver(function (mutations) {\n _this.update(mutations);\n });\n _this.observer.observe(_this.domNode, OBSERVER_CONFIG);\n _this.attach();\n return _this;\n }\n ScrollBlot.prototype.detach = function () {\n _super.prototype.detach.call(this);\n this.observer.disconnect();\n };\n ScrollBlot.prototype.deleteAt = function (index, length) {\n this.update();\n if (index === 0 && length === this.length()) {\n this.children.forEach(function (child) {\n child.remove();\n });\n }\n else {\n _super.prototype.deleteAt.call(this, index, length);\n }\n };\n ScrollBlot.prototype.formatAt = function (index, length, name, value) {\n this.update();\n _super.prototype.formatAt.call(this, index, length, name, value);\n };\n ScrollBlot.prototype.insertAt = function (index, value, def) {\n this.update();\n _super.prototype.insertAt.call(this, index, value, def);\n };\n ScrollBlot.prototype.optimize = function (mutations, context) {\n var _this = this;\n if (mutations === void 0) { mutations = []; }\n if (context === void 0) { context = {}; }\n _super.prototype.optimize.call(this, context);\n // We must modify mutations directly, cannot make copy and then modify\n var records = [].slice.call(this.observer.takeRecords());\n // Array.push currently seems to be implemented by a non-tail recursive function\n // so we cannot just mutations.push.apply(mutations, this.observer.takeRecords());\n while (records.length > 0)\n mutations.push(records.pop());\n // TODO use WeakMap\n var mark = function (blot, markParent) {\n if (markParent === void 0) { markParent = true; }\n if (blot == null || blot === _this)\n return;\n if (blot.domNode.parentNode == null)\n return;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [];\n }\n if (markParent)\n mark(blot.parent);\n };\n var optimize = function (blot) {\n // Post-order traversal\n if (\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY] == null ||\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations == null) {\n return;\n }\n if (blot instanceof container_1.default) {\n blot.children.forEach(optimize);\n }\n blot.optimize(context);\n };\n var remaining = mutations;\n for (var i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS) {\n throw new Error('[Parchment] Maximum optimize iterations reached');\n }\n remaining.forEach(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return;\n if (blot.domNode === mutation.target) {\n if (mutation.type === 'childList') {\n mark(Registry.find(mutation.previousSibling, false));\n [].forEach.call(mutation.addedNodes, function (node) {\n var child = Registry.find(node, false);\n mark(child, false);\n if (child instanceof container_1.default) {\n child.children.forEach(function (grandChild) {\n mark(grandChild, false);\n });\n }\n });\n }\n else if (mutation.type === 'attributes') {\n mark(blot.prev);\n }\n }\n mark(blot);\n });\n this.children.forEach(optimize);\n remaining = [].slice.call(this.observer.takeRecords());\n records = remaining.slice();\n while (records.length > 0)\n mutations.push(records.pop());\n }\n };\n ScrollBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (context === void 0) { context = {}; }\n mutations = mutations || this.observer.takeRecords();\n // TODO use WeakMap\n mutations\n .map(function (mutation) {\n var blot = Registry.find(mutation.target, true);\n if (blot == null)\n return null;\n // @ts-ignore\n if (blot.domNode[Registry.DATA_KEY].mutations == null) {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations = [mutation];\n return blot;\n }\n else {\n // @ts-ignore\n blot.domNode[Registry.DATA_KEY].mutations.push(mutation);\n return null;\n }\n })\n .forEach(function (blot) {\n if (blot == null ||\n blot === _this ||\n //@ts-ignore\n blot.domNode[Registry.DATA_KEY] == null)\n return;\n // @ts-ignore\n blot.update(blot.domNode[Registry.DATA_KEY].mutations || [], context);\n });\n // @ts-ignore\n if (this.domNode[Registry.DATA_KEY].mutations != null) {\n // @ts-ignore\n _super.prototype.update.call(this, this.domNode[Registry.DATA_KEY].mutations, context);\n }\n this.optimize(mutations, context);\n };\n ScrollBlot.blotName = 'scroll';\n ScrollBlot.defaultChild = 'block';\n ScrollBlot.scope = Registry.Scope.BLOCK_BLOT;\n ScrollBlot.tagName = 'DIV';\n return ScrollBlot;\n}(container_1.default));\nexports.default = ScrollBlot;\n\n\n/***/ }),\n/* 46 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\n// Shallow object comparison\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return false;\n // @ts-ignore\n for (var prop in obj1) {\n // @ts-ignore\n if (obj1[prop] !== obj2[prop])\n return false;\n }\n return true;\n}\nvar InlineBlot = /** @class */ (function (_super) {\n __extends(InlineBlot, _super);\n function InlineBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n InlineBlot.formats = function (domNode) {\n if (domNode.tagName === InlineBlot.tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n InlineBlot.prototype.format = function (name, value) {\n var _this = this;\n if (name === this.statics.blotName && !value) {\n this.children.forEach(function (child) {\n if (!(child instanceof format_1.default)) {\n child = child.wrap(InlineBlot.blotName, true);\n }\n _this.attributes.copy(child);\n });\n this.unwrap();\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n InlineBlot.prototype.formatAt = function (index, length, name, value) {\n if (this.formats()[name] != null || Registry.query(name, Registry.Scope.ATTRIBUTE)) {\n var blot = this.isolate(index, length);\n blot.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n InlineBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n var formats = this.formats();\n if (Object.keys(formats).length === 0) {\n return this.unwrap(); // unformatted span\n }\n var next = this.next;\n if (next instanceof InlineBlot && next.prev === this && isEqual(formats, next.formats())) {\n next.moveChildren(this);\n next.remove();\n }\n };\n InlineBlot.blotName = 'inline';\n InlineBlot.scope = Registry.Scope.INLINE_BLOT;\n InlineBlot.tagName = 'SPAN';\n return InlineBlot;\n}(format_1.default));\nexports.default = InlineBlot;\n\n\n/***/ }),\n/* 47 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar format_1 = __webpack_require__(18);\nvar Registry = __webpack_require__(1);\nvar BlockBlot = /** @class */ (function (_super) {\n __extends(BlockBlot, _super);\n function BlockBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n BlockBlot.formats = function (domNode) {\n var tagName = Registry.query(BlockBlot.blotName).tagName;\n if (domNode.tagName === tagName)\n return undefined;\n return _super.formats.call(this, domNode);\n };\n BlockBlot.prototype.format = function (name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) == null) {\n return;\n }\n else if (name === this.statics.blotName && !value) {\n this.replaceWith(BlockBlot.blotName);\n }\n else {\n _super.prototype.format.call(this, name, value);\n }\n };\n BlockBlot.prototype.formatAt = function (index, length, name, value) {\n if (Registry.query(name, Registry.Scope.BLOCK) != null) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n BlockBlot.prototype.insertAt = function (index, value, def) {\n if (def == null || Registry.query(value, Registry.Scope.INLINE) != null) {\n // Insert text or inline\n _super.prototype.insertAt.call(this, index, value, def);\n }\n else {\n var after = this.split(index);\n var blot = Registry.create(value, def);\n after.parent.insertBefore(blot, after);\n }\n };\n BlockBlot.prototype.update = function (mutations, context) {\n if (navigator.userAgent.match(/Trident/)) {\n this.build();\n }\n else {\n _super.prototype.update.call(this, mutations, context);\n }\n };\n BlockBlot.blotName = 'block';\n BlockBlot.scope = Registry.Scope.BLOCK_BLOT;\n BlockBlot.tagName = 'P';\n return BlockBlot;\n}(format_1.default));\nexports.default = BlockBlot;\n\n\n/***/ }),\n/* 48 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar EmbedBlot = /** @class */ (function (_super) {\n __extends(EmbedBlot, _super);\n function EmbedBlot() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n EmbedBlot.formats = function (domNode) {\n return undefined;\n };\n EmbedBlot.prototype.format = function (name, value) {\n // super.formatAt wraps, which is what we want in general,\n // but this allows subclasses to overwrite for formats\n // that just apply to particular embeds\n _super.prototype.formatAt.call(this, 0, this.length(), name, value);\n };\n EmbedBlot.prototype.formatAt = function (index, length, name, value) {\n if (index === 0 && length === this.length()) {\n this.format(name, value);\n }\n else {\n _super.prototype.formatAt.call(this, index, length, name, value);\n }\n };\n EmbedBlot.prototype.formats = function () {\n return this.statics.formats(this.domNode);\n };\n return EmbedBlot;\n}(leaf_1.default));\nexports.default = EmbedBlot;\n\n\n/***/ }),\n/* 49 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar leaf_1 = __webpack_require__(19);\nvar Registry = __webpack_require__(1);\nvar TextBlot = /** @class */ (function (_super) {\n __extends(TextBlot, _super);\n function TextBlot(node) {\n var _this = _super.call(this, node) || this;\n _this.text = _this.statics.value(_this.domNode);\n return _this;\n }\n TextBlot.create = function (value) {\n return document.createTextNode(value);\n };\n TextBlot.value = function (domNode) {\n var text = domNode.data;\n // @ts-ignore\n if (text['normalize'])\n text = text['normalize']();\n return text;\n };\n TextBlot.prototype.deleteAt = function (index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n };\n TextBlot.prototype.index = function (node, offset) {\n if (this.domNode === node) {\n return offset;\n }\n return -1;\n };\n TextBlot.prototype.insertAt = function (index, value, def) {\n if (def == null) {\n this.text = this.text.slice(0, index) + value + this.text.slice(index);\n this.domNode.data = this.text;\n }\n else {\n _super.prototype.insertAt.call(this, index, value, def);\n }\n };\n TextBlot.prototype.length = function () {\n return this.text.length;\n };\n TextBlot.prototype.optimize = function (context) {\n _super.prototype.optimize.call(this, context);\n this.text = this.statics.value(this.domNode);\n if (this.text.length === 0) {\n this.remove();\n }\n else if (this.next instanceof TextBlot && this.next.prev === this) {\n this.insertAt(this.length(), this.next.value());\n this.next.remove();\n }\n };\n TextBlot.prototype.position = function (index, inclusive) {\n if (inclusive === void 0) { inclusive = false; }\n return [this.domNode, index];\n };\n TextBlot.prototype.split = function (index, force) {\n if (force === void 0) { force = false; }\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n var after = Registry.create(this.domNode.splitText(index));\n this.parent.insertBefore(after, this.next);\n this.text = this.statics.value(this.domNode);\n return after;\n };\n TextBlot.prototype.update = function (mutations, context) {\n var _this = this;\n if (mutations.some(function (mutation) {\n return mutation.type === 'characterData' && mutation.target === _this.domNode;\n })) {\n this.text = this.statics.value(this.domNode);\n }\n };\n TextBlot.prototype.value = function () {\n return this.text;\n };\n TextBlot.blotName = 'text';\n TextBlot.scope = Registry.Scope.INLINE_BLOT;\n return TextBlot;\n}(leaf_1.default));\nexports.default = TextBlot;\n\n\n/***/ }),\n/* 50 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nvar elem = document.createElement('div');\nelem.classList.toggle('test-class', false);\nif (elem.classList.contains('test-class')) {\n var _toggle = DOMTokenList.prototype.toggle;\n DOMTokenList.prototype.toggle = function (token, force) {\n if (arguments.length > 1 && !this.contains(token) === !force) {\n return force;\n } else {\n return _toggle.call(this, token);\n }\n };\n}\n\nif (!String.prototype.startsWith) {\n String.prototype.startsWith = function (searchString, position) {\n position = position || 0;\n return this.substr(position, searchString.length) === searchString;\n };\n}\n\nif (!String.prototype.endsWith) {\n String.prototype.endsWith = function (searchString, position) {\n var subjectString = this.toString();\n if (typeof position !== 'number' || !isFinite(position) || Math.floor(position) !== position || position > subjectString.length) {\n position = subjectString.length;\n }\n position -= searchString.length;\n var lastIndex = subjectString.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n };\n}\n\nif (!Array.prototype.find) {\n Object.defineProperty(Array.prototype, \"find\", {\n value: function value(predicate) {\n if (this === null) {\n throw new TypeError('Array.prototype.find called on null or undefined');\n }\n if (typeof predicate !== 'function') {\n throw new TypeError('predicate must be a function');\n }\n var list = Object(this);\n var length = list.length >>> 0;\n var thisArg = arguments[1];\n var value;\n\n for (var i = 0; i < length; i++) {\n value = list[i];\n if (predicate.call(thisArg, value, i, list)) {\n return value;\n }\n }\n return undefined;\n }\n });\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n // Disable resizing in Firefox\n document.execCommand(\"enableObjectResizing\", false, false);\n // Disable automatic linkifying in IE11\n document.execCommand(\"autoUrlDetect\", false, false);\n});\n\n/***/ }),\n/* 51 */\n/***/ (function(module, exports) {\n\n/**\n * This library modifies the diff-patch-match library by Neil Fraser\n * by removing the patch and match functionality and certain advanced\n * options in the diff function. The original license is as follows:\n *\n * ===\n *\n * Diff Match and Patch\n *\n * Copyright 2006 Google Inc.\n * http://code.google.com/p/google-diff-match-patch/\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\n\n/**\n * The data structure representing a diff is an array of tuples:\n * [[DIFF_DELETE, 'Hello'], [DIFF_INSERT, 'Goodbye'], [DIFF_EQUAL, ' world.']]\n * which means: delete 'Hello', add 'Goodbye' and keep ' world.'\n */\nvar DIFF_DELETE = -1;\nvar DIFF_INSERT = 1;\nvar DIFF_EQUAL = 0;\n\n\n/**\n * Find the differences between two texts. Simplifies the problem by stripping\n * any common prefix or suffix off the texts before diffing.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {Int} cursor_pos Expected edit position in text1 (optional)\n * @return {Array} Array of diff tuples.\n */\nfunction diff_main(text1, text2, cursor_pos) {\n // Check for equality (speedup).\n if (text1 == text2) {\n if (text1) {\n return [[DIFF_EQUAL, text1]];\n }\n return [];\n }\n\n // Check cursor_pos within bounds\n if (cursor_pos < 0 || text1.length < cursor_pos) {\n cursor_pos = null;\n }\n\n // Trim off common prefix (speedup).\n var commonlength = diff_commonPrefix(text1, text2);\n var commonprefix = text1.substring(0, commonlength);\n text1 = text1.substring(commonlength);\n text2 = text2.substring(commonlength);\n\n // Trim off common suffix (speedup).\n commonlength = diff_commonSuffix(text1, text2);\n var commonsuffix = text1.substring(text1.length - commonlength);\n text1 = text1.substring(0, text1.length - commonlength);\n text2 = text2.substring(0, text2.length - commonlength);\n\n // Compute the diff on the middle block.\n var diffs = diff_compute_(text1, text2);\n\n // Restore the prefix and suffix.\n if (commonprefix) {\n diffs.unshift([DIFF_EQUAL, commonprefix]);\n }\n if (commonsuffix) {\n diffs.push([DIFF_EQUAL, commonsuffix]);\n }\n diff_cleanupMerge(diffs);\n if (cursor_pos != null) {\n diffs = fix_cursor(diffs, cursor_pos);\n }\n diffs = fix_emoji(diffs);\n return diffs;\n};\n\n\n/**\n * Find the differences between two texts. Assumes that the texts do not\n * have any common prefix or suffix.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_compute_(text1, text2) {\n var diffs;\n\n if (!text1) {\n // Just add some text (speedup).\n return [[DIFF_INSERT, text2]];\n }\n\n if (!text2) {\n // Just delete some text (speedup).\n return [[DIFF_DELETE, text1]];\n }\n\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n var i = longtext.indexOf(shorttext);\n if (i != -1) {\n // Shorter text is inside the longer text (speedup).\n diffs = [[DIFF_INSERT, longtext.substring(0, i)],\n [DIFF_EQUAL, shorttext],\n [DIFF_INSERT, longtext.substring(i + shorttext.length)]];\n // Swap insertions for deletions if diff is reversed.\n if (text1.length > text2.length) {\n diffs[0][0] = diffs[2][0] = DIFF_DELETE;\n }\n return diffs;\n }\n\n if (shorttext.length == 1) {\n // Single character string.\n // After the previous speedup, the character can't be an equality.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n }\n\n // Check to see if the problem can be split in two.\n var hm = diff_halfMatch_(text1, text2);\n if (hm) {\n // A half-match was found, sort out the return data.\n var text1_a = hm[0];\n var text1_b = hm[1];\n var text2_a = hm[2];\n var text2_b = hm[3];\n var mid_common = hm[4];\n // Send both pairs off for separate processing.\n var diffs_a = diff_main(text1_a, text2_a);\n var diffs_b = diff_main(text1_b, text2_b);\n // Merge the results.\n return diffs_a.concat([[DIFF_EQUAL, mid_common]], diffs_b);\n }\n\n return diff_bisect_(text1, text2);\n};\n\n\n/**\n * Find the 'middle snake' of a diff, split the problem in two\n * and return the recursively constructed diff.\n * See Myers 1986 paper: An O(ND) Difference Algorithm and Its Variations.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @return {Array} Array of diff tuples.\n * @private\n */\nfunction diff_bisect_(text1, text2) {\n // Cache the text lengths to prevent multiple calls.\n var text1_length = text1.length;\n var text2_length = text2.length;\n var max_d = Math.ceil((text1_length + text2_length) / 2);\n var v_offset = max_d;\n var v_length = 2 * max_d;\n var v1 = new Array(v_length);\n var v2 = new Array(v_length);\n // Setting all elements to -1 is faster in Chrome & Firefox than mixing\n // integers and undefined.\n for (var x = 0; x < v_length; x++) {\n v1[x] = -1;\n v2[x] = -1;\n }\n v1[v_offset + 1] = 0;\n v2[v_offset + 1] = 0;\n var delta = text1_length - text2_length;\n // If the total number of characters is odd, then the front path will collide\n // with the reverse path.\n var front = (delta % 2 != 0);\n // Offsets for start and end of k loop.\n // Prevents mapping of space beyond the grid.\n var k1start = 0;\n var k1end = 0;\n var k2start = 0;\n var k2end = 0;\n for (var d = 0; d < max_d; d++) {\n // Walk the front path one step.\n for (var k1 = -d + k1start; k1 <= d - k1end; k1 += 2) {\n var k1_offset = v_offset + k1;\n var x1;\n if (k1 == -d || (k1 != d && v1[k1_offset - 1] < v1[k1_offset + 1])) {\n x1 = v1[k1_offset + 1];\n } else {\n x1 = v1[k1_offset - 1] + 1;\n }\n var y1 = x1 - k1;\n while (x1 < text1_length && y1 < text2_length &&\n text1.charAt(x1) == text2.charAt(y1)) {\n x1++;\n y1++;\n }\n v1[k1_offset] = x1;\n if (x1 > text1_length) {\n // Ran off the right of the graph.\n k1end += 2;\n } else if (y1 > text2_length) {\n // Ran off the bottom of the graph.\n k1start += 2;\n } else if (front) {\n var k2_offset = v_offset + delta - k1;\n if (k2_offset >= 0 && k2_offset < v_length && v2[k2_offset] != -1) {\n // Mirror x2 onto top-left coordinate system.\n var x2 = text1_length - v2[k2_offset];\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n\n // Walk the reverse path one step.\n for (var k2 = -d + k2start; k2 <= d - k2end; k2 += 2) {\n var k2_offset = v_offset + k2;\n var x2;\n if (k2 == -d || (k2 != d && v2[k2_offset - 1] < v2[k2_offset + 1])) {\n x2 = v2[k2_offset + 1];\n } else {\n x2 = v2[k2_offset - 1] + 1;\n }\n var y2 = x2 - k2;\n while (x2 < text1_length && y2 < text2_length &&\n text1.charAt(text1_length - x2 - 1) ==\n text2.charAt(text2_length - y2 - 1)) {\n x2++;\n y2++;\n }\n v2[k2_offset] = x2;\n if (x2 > text1_length) {\n // Ran off the left of the graph.\n k2end += 2;\n } else if (y2 > text2_length) {\n // Ran off the top of the graph.\n k2start += 2;\n } else if (!front) {\n var k1_offset = v_offset + delta - k2;\n if (k1_offset >= 0 && k1_offset < v_length && v1[k1_offset] != -1) {\n var x1 = v1[k1_offset];\n var y1 = v_offset + x1 - k1_offset;\n // Mirror x2 onto top-left coordinate system.\n x2 = text1_length - x2;\n if (x1 >= x2) {\n // Overlap detected.\n return diff_bisectSplit_(text1, text2, x1, y1);\n }\n }\n }\n }\n }\n // Diff took too long and hit the deadline or\n // number of diffs equals number of characters, no commonality at all.\n return [[DIFF_DELETE, text1], [DIFF_INSERT, text2]];\n};\n\n\n/**\n * Given the location of the 'middle snake', split the diff in two parts\n * and recurse.\n * @param {string} text1 Old string to be diffed.\n * @param {string} text2 New string to be diffed.\n * @param {number} x Index of split point in text1.\n * @param {number} y Index of split point in text2.\n * @return {Array} Array of diff tuples.\n */\nfunction diff_bisectSplit_(text1, text2, x, y) {\n var text1a = text1.substring(0, x);\n var text2a = text2.substring(0, y);\n var text1b = text1.substring(x);\n var text2b = text2.substring(y);\n\n // Compute both diffs serially.\n var diffs = diff_main(text1a, text2a);\n var diffsb = diff_main(text1b, text2b);\n\n return diffs.concat(diffsb);\n};\n\n\n/**\n * Determine the common prefix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the start of each\n * string.\n */\nfunction diff_commonPrefix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 || text1.charAt(0) != text2.charAt(0)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerstart = 0;\n while (pointermin < pointermid) {\n if (text1.substring(pointerstart, pointermid) ==\n text2.substring(pointerstart, pointermid)) {\n pointermin = pointermid;\n pointerstart = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Determine the common suffix of two strings.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {number} The number of characters common to the end of each string.\n */\nfunction diff_commonSuffix(text1, text2) {\n // Quick check for common null cases.\n if (!text1 || !text2 ||\n text1.charAt(text1.length - 1) != text2.charAt(text2.length - 1)) {\n return 0;\n }\n // Binary search.\n // Performance analysis: http://neil.fraser.name/news/2007/10/09/\n var pointermin = 0;\n var pointermax = Math.min(text1.length, text2.length);\n var pointermid = pointermax;\n var pointerend = 0;\n while (pointermin < pointermid) {\n if (text1.substring(text1.length - pointermid, text1.length - pointerend) ==\n text2.substring(text2.length - pointermid, text2.length - pointerend)) {\n pointermin = pointermid;\n pointerend = pointermin;\n } else {\n pointermax = pointermid;\n }\n pointermid = Math.floor((pointermax - pointermin) / 2 + pointermin);\n }\n return pointermid;\n};\n\n\n/**\n * Do the two texts share a substring which is at least half the length of the\n * longer text?\n * This speedup can produce non-minimal diffs.\n * @param {string} text1 First string.\n * @param {string} text2 Second string.\n * @return {Array.} Five element Array, containing the prefix of\n * text1, the suffix of text1, the prefix of text2, the suffix of\n * text2 and the common middle. Or null if there was no match.\n */\nfunction diff_halfMatch_(text1, text2) {\n var longtext = text1.length > text2.length ? text1 : text2;\n var shorttext = text1.length > text2.length ? text2 : text1;\n if (longtext.length < 4 || shorttext.length * 2 < longtext.length) {\n return null; // Pointless.\n }\n\n /**\n * Does a substring of shorttext exist within longtext such that the substring\n * is at least half the length of longtext?\n * Closure, but does not reference any external variables.\n * @param {string} longtext Longer string.\n * @param {string} shorttext Shorter string.\n * @param {number} i Start index of quarter length substring within longtext.\n * @return {Array.} Five element Array, containing the prefix of\n * longtext, the suffix of longtext, the prefix of shorttext, the suffix\n * of shorttext and the common middle. Or null if there was no match.\n * @private\n */\n function diff_halfMatchI_(longtext, shorttext, i) {\n // Start with a 1/4 length substring at position i as a seed.\n var seed = longtext.substring(i, i + Math.floor(longtext.length / 4));\n var j = -1;\n var best_common = '';\n var best_longtext_a, best_longtext_b, best_shorttext_a, best_shorttext_b;\n while ((j = shorttext.indexOf(seed, j + 1)) != -1) {\n var prefixLength = diff_commonPrefix(longtext.substring(i),\n shorttext.substring(j));\n var suffixLength = diff_commonSuffix(longtext.substring(0, i),\n shorttext.substring(0, j));\n if (best_common.length < suffixLength + prefixLength) {\n best_common = shorttext.substring(j - suffixLength, j) +\n shorttext.substring(j, j + prefixLength);\n best_longtext_a = longtext.substring(0, i - suffixLength);\n best_longtext_b = longtext.substring(i + prefixLength);\n best_shorttext_a = shorttext.substring(0, j - suffixLength);\n best_shorttext_b = shorttext.substring(j + prefixLength);\n }\n }\n if (best_common.length * 2 >= longtext.length) {\n return [best_longtext_a, best_longtext_b,\n best_shorttext_a, best_shorttext_b, best_common];\n } else {\n return null;\n }\n }\n\n // First check if the second quarter is the seed for a half-match.\n var hm1 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 4));\n // Check again based on the third quarter.\n var hm2 = diff_halfMatchI_(longtext, shorttext,\n Math.ceil(longtext.length / 2));\n var hm;\n if (!hm1 && !hm2) {\n return null;\n } else if (!hm2) {\n hm = hm1;\n } else if (!hm1) {\n hm = hm2;\n } else {\n // Both matched. Select the longest.\n hm = hm1[4].length > hm2[4].length ? hm1 : hm2;\n }\n\n // A half-match was found, sort out the return data.\n var text1_a, text1_b, text2_a, text2_b;\n if (text1.length > text2.length) {\n text1_a = hm[0];\n text1_b = hm[1];\n text2_a = hm[2];\n text2_b = hm[3];\n } else {\n text2_a = hm[0];\n text2_b = hm[1];\n text1_a = hm[2];\n text1_b = hm[3];\n }\n var mid_common = hm[4];\n return [text1_a, text1_b, text2_a, text2_b, mid_common];\n};\n\n\n/**\n * Reorder and merge like edit sections. Merge equalities.\n * Any edit section can move as long as it doesn't cross an equality.\n * @param {Array} diffs Array of diff tuples.\n */\nfunction diff_cleanupMerge(diffs) {\n diffs.push([DIFF_EQUAL, '']); // Add a dummy entry at the end.\n var pointer = 0;\n var count_delete = 0;\n var count_insert = 0;\n var text_delete = '';\n var text_insert = '';\n var commonlength;\n while (pointer < diffs.length) {\n switch (diffs[pointer][0]) {\n case DIFF_INSERT:\n count_insert++;\n text_insert += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_DELETE:\n count_delete++;\n text_delete += diffs[pointer][1];\n pointer++;\n break;\n case DIFF_EQUAL:\n // Upon reaching an equality, check for prior redundancies.\n if (count_delete + count_insert > 1) {\n if (count_delete !== 0 && count_insert !== 0) {\n // Factor out any common prefixies.\n commonlength = diff_commonPrefix(text_insert, text_delete);\n if (commonlength !== 0) {\n if ((pointer - count_delete - count_insert) > 0 &&\n diffs[pointer - count_delete - count_insert - 1][0] ==\n DIFF_EQUAL) {\n diffs[pointer - count_delete - count_insert - 1][1] +=\n text_insert.substring(0, commonlength);\n } else {\n diffs.splice(0, 0, [DIFF_EQUAL,\n text_insert.substring(0, commonlength)]);\n pointer++;\n }\n text_insert = text_insert.substring(commonlength);\n text_delete = text_delete.substring(commonlength);\n }\n // Factor out any common suffixies.\n commonlength = diff_commonSuffix(text_insert, text_delete);\n if (commonlength !== 0) {\n diffs[pointer][1] = text_insert.substring(text_insert.length -\n commonlength) + diffs[pointer][1];\n text_insert = text_insert.substring(0, text_insert.length -\n commonlength);\n text_delete = text_delete.substring(0, text_delete.length -\n commonlength);\n }\n }\n // Delete the offending records and add the merged ones.\n if (count_delete === 0) {\n diffs.splice(pointer - count_insert,\n count_delete + count_insert, [DIFF_INSERT, text_insert]);\n } else if (count_insert === 0) {\n diffs.splice(pointer - count_delete,\n count_delete + count_insert, [DIFF_DELETE, text_delete]);\n } else {\n diffs.splice(pointer - count_delete - count_insert,\n count_delete + count_insert, [DIFF_DELETE, text_delete],\n [DIFF_INSERT, text_insert]);\n }\n pointer = pointer - count_delete - count_insert +\n (count_delete ? 1 : 0) + (count_insert ? 1 : 0) + 1;\n } else if (pointer !== 0 && diffs[pointer - 1][0] == DIFF_EQUAL) {\n // Merge this equality with the previous one.\n diffs[pointer - 1][1] += diffs[pointer][1];\n diffs.splice(pointer, 1);\n } else {\n pointer++;\n }\n count_insert = 0;\n count_delete = 0;\n text_delete = '';\n text_insert = '';\n break;\n }\n }\n if (diffs[diffs.length - 1][1] === '') {\n diffs.pop(); // Remove the dummy entry at the end.\n }\n\n // Second pass: look for single edits surrounded on both sides by equalities\n // which can be shifted sideways to eliminate an equality.\n // e.g: ABAC -> ABAC\n var changes = false;\n pointer = 1;\n // Intentionally ignore the first and last element (don't need checking).\n while (pointer < diffs.length - 1) {\n if (diffs[pointer - 1][0] == DIFF_EQUAL &&\n diffs[pointer + 1][0] == DIFF_EQUAL) {\n // This is a single edit surrounded by equalities.\n if (diffs[pointer][1].substring(diffs[pointer][1].length -\n diffs[pointer - 1][1].length) == diffs[pointer - 1][1]) {\n // Shift the edit over the previous equality.\n diffs[pointer][1] = diffs[pointer - 1][1] +\n diffs[pointer][1].substring(0, diffs[pointer][1].length -\n diffs[pointer - 1][1].length);\n diffs[pointer + 1][1] = diffs[pointer - 1][1] + diffs[pointer + 1][1];\n diffs.splice(pointer - 1, 1);\n changes = true;\n } else if (diffs[pointer][1].substring(0, diffs[pointer + 1][1].length) ==\n diffs[pointer + 1][1]) {\n // Shift the edit over the next equality.\n diffs[pointer - 1][1] += diffs[pointer + 1][1];\n diffs[pointer][1] =\n diffs[pointer][1].substring(diffs[pointer + 1][1].length) +\n diffs[pointer + 1][1];\n diffs.splice(pointer + 1, 1);\n changes = true;\n }\n }\n pointer++;\n }\n // If shifts were made, the diff needs reordering and another shift sweep.\n if (changes) {\n diff_cleanupMerge(diffs);\n }\n};\n\n\nvar diff = diff_main;\ndiff.INSERT = DIFF_INSERT;\ndiff.DELETE = DIFF_DELETE;\ndiff.EQUAL = DIFF_EQUAL;\n\nmodule.exports = diff;\n\n/*\n * Modify a diff such that the cursor position points to the start of a change:\n * E.g.\n * cursor_normalize_diff([[DIFF_EQUAL, 'abc']], 1)\n * => [1, [[DIFF_EQUAL, 'a'], [DIFF_EQUAL, 'bc']]]\n * cursor_normalize_diff([[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xyz']], 2)\n * => [2, [[DIFF_INSERT, 'new'], [DIFF_DELETE, 'xy'], [DIFF_DELETE, 'z']]]\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} A tuple [cursor location in the modified diff, modified diff]\n */\nfunction cursor_normalize_diff (diffs, cursor_pos) {\n if (cursor_pos === 0) {\n return [DIFF_EQUAL, diffs];\n }\n for (var current_pos = 0, i = 0; i < diffs.length; i++) {\n var d = diffs[i];\n if (d[0] === DIFF_DELETE || d[0] === DIFF_EQUAL) {\n var next_pos = current_pos + d[1].length;\n if (cursor_pos === next_pos) {\n return [i + 1, diffs];\n } else if (cursor_pos < next_pos) {\n // copy to prevent side effects\n diffs = diffs.slice();\n // split d into two diff changes\n var split_pos = cursor_pos - current_pos;\n var d_left = [d[0], d[1].slice(0, split_pos)];\n var d_right = [d[0], d[1].slice(split_pos)];\n diffs.splice(i, 1, d_left, d_right);\n return [i + 1, diffs];\n } else {\n current_pos = next_pos;\n }\n }\n }\n throw new Error('cursor_pos is out of bounds!')\n}\n\n/*\n * Modify a diff such that the edit position is \"shifted\" to the proposed edit location (cursor_position).\n *\n * Case 1)\n * Check if a naive shift is possible:\n * [0, X], [ 1, Y] -> [ 1, Y], [0, X] (if X + Y === Y + X)\n * [0, X], [-1, Y] -> [-1, Y], [0, X] (if X + Y === Y + X) - holds same result\n * Case 2)\n * Check if the following shifts are possible:\n * [0, 'pre'], [ 1, 'prefix'] -> [ 1, 'pre'], [0, 'pre'], [ 1, 'fix']\n * [0, 'pre'], [-1, 'prefix'] -> [-1, 'pre'], [0, 'pre'], [-1, 'fix']\n * ^ ^\n * d d_next\n *\n * @param {Array} diffs Array of diff tuples\n * @param {Int} cursor_pos Suggested edit position. Must not be out of bounds!\n * @return {Array} Array of diff tuples\n */\nfunction fix_cursor (diffs, cursor_pos) {\n var norm = cursor_normalize_diff(diffs, cursor_pos);\n var ndiffs = norm[1];\n var cursor_pointer = norm[0];\n var d = ndiffs[cursor_pointer];\n var d_next = ndiffs[cursor_pointer + 1];\n\n if (d == null) {\n // Text was deleted from end of original string,\n // cursor is now out of bounds in new string\n return diffs;\n } else if (d[0] !== DIFF_EQUAL) {\n // A modification happened at the cursor location.\n // This is the expected outcome, so we can return the original diff.\n return diffs;\n } else {\n if (d_next != null && d[1] + d_next[1] === d_next[1] + d[1]) {\n // Case 1)\n // It is possible to perform a naive shift\n ndiffs.splice(cursor_pointer, 2, d_next, d)\n return merge_tuples(ndiffs, cursor_pointer, 2)\n } else if (d_next != null && d_next[1].indexOf(d[1]) === 0) {\n // Case 2)\n // d[1] is a prefix of d_next[1]\n // We can assume that d_next[0] !== 0, since d[0] === 0\n // Shift edit locations..\n ndiffs.splice(cursor_pointer, 2, [d_next[0], d[1]], [0, d[1]]);\n var suffix = d_next[1].slice(d[1].length);\n if (suffix.length > 0) {\n ndiffs.splice(cursor_pointer + 2, 0, [d_next[0], suffix]);\n }\n return merge_tuples(ndiffs, cursor_pointer, 3)\n } else {\n // Not possible to perform any modification\n return diffs;\n }\n }\n}\n\n/*\n * Check diff did not split surrogate pairs.\n * Ex. [0, '\\uD83D'], [-1, '\\uDC36'], [1, '\\uDC2F'] -> [-1, '\\uD83D\\uDC36'], [1, '\\uD83D\\uDC2F']\n * '\\uD83D\\uDC36' === '🐶', '\\uD83D\\uDC2F' === '🐯'\n *\n * @param {Array} diffs Array of diff tuples\n * @return {Array} Array of diff tuples\n */\nfunction fix_emoji (diffs) {\n var compact = false;\n var starts_with_pair_end = function(str) {\n return str.charCodeAt(0) >= 0xDC00 && str.charCodeAt(0) <= 0xDFFF;\n }\n var ends_with_pair_start = function(str) {\n return str.charCodeAt(str.length-1) >= 0xD800 && str.charCodeAt(str.length-1) <= 0xDBFF;\n }\n for (var i = 2; i < diffs.length; i += 1) {\n if (diffs[i-2][0] === DIFF_EQUAL && ends_with_pair_start(diffs[i-2][1]) &&\n diffs[i-1][0] === DIFF_DELETE && starts_with_pair_end(diffs[i-1][1]) &&\n diffs[i][0] === DIFF_INSERT && starts_with_pair_end(diffs[i][1])) {\n compact = true;\n\n diffs[i-1][1] = diffs[i-2][1].slice(-1) + diffs[i-1][1];\n diffs[i][1] = diffs[i-2][1].slice(-1) + diffs[i][1];\n\n diffs[i-2][1] = diffs[i-2][1].slice(0, -1);\n }\n }\n if (!compact) {\n return diffs;\n }\n var fixed_diffs = [];\n for (var i = 0; i < diffs.length; i += 1) {\n if (diffs[i][1].length > 0) {\n fixed_diffs.push(diffs[i]);\n }\n }\n return fixed_diffs;\n}\n\n/*\n * Try to merge tuples with their neigbors in a given range.\n * E.g. [0, 'a'], [0, 'b'] -> [0, 'ab']\n *\n * @param {Array} diffs Array of diff tuples.\n * @param {Int} start Position of the first element to merge (diffs[start] is also merged with diffs[start - 1]).\n * @param {Int} length Number of consecutive elements to check.\n * @return {Array} Array of merged diff tuples.\n */\nfunction merge_tuples (diffs, start, length) {\n // Check from (start-1) to (start+length).\n for (var i = start + length - 1; i >= 0 && i >= start - 1; i--) {\n if (i + 1 < diffs.length) {\n var left_d = diffs[i];\n var right_d = diffs[i+1];\n if (left_d[0] === right_d[1]) {\n diffs.splice(i, 2, [left_d[0], left_d[1] + right_d[1]]);\n }\n }\n }\n return diffs;\n}\n\n\n/***/ }),\n/* 52 */\n/***/ (function(module, exports) {\n\nexports = module.exports = typeof Object.keys === 'function'\n ? Object.keys : shim;\n\nexports.shim = shim;\nfunction shim (obj) {\n var keys = [];\n for (var key in obj) keys.push(key);\n return keys;\n}\n\n\n/***/ }),\n/* 53 */\n/***/ (function(module, exports) {\n\nvar supportsArgumentsClass = (function(){\n return Object.prototype.toString.call(arguments)\n})() == '[object Arguments]';\n\nexports = module.exports = supportsArgumentsClass ? supported : unsupported;\n\nexports.supported = supported;\nfunction supported(object) {\n return Object.prototype.toString.call(object) == '[object Arguments]';\n};\n\nexports.unsupported = unsupported;\nfunction unsupported(object){\n return object &&\n typeof object == 'object' &&\n typeof object.length == 'number' &&\n Object.prototype.hasOwnProperty.call(object, 'callee') &&\n !Object.prototype.propertyIsEnumerable.call(object, 'callee') ||\n false;\n};\n\n\n/***/ }),\n/* 54 */\n/***/ (function(module, exports) {\n\n'use strict';\n\nvar has = Object.prototype.hasOwnProperty\n , prefix = '~';\n\n/**\n * Constructor to create a storage for our `EE` objects.\n * An `Events` instance is a plain object whose properties are event names.\n *\n * @constructor\n * @api private\n */\nfunction Events() {}\n\n//\n// We try to not inherit from `Object.prototype`. In some engines creating an\n// instance in this way is faster than calling `Object.create(null)` directly.\n// If `Object.create(null)` is not supported we prefix the event names with a\n// character to make sure that the built-in object properties are not\n// overridden or used as an attack vector.\n//\nif (Object.create) {\n Events.prototype = Object.create(null);\n\n //\n // This hack is needed because the `__proto__` property is still inherited in\n // some old browsers like Android 4, iPhone 5.1, Opera 11 and Safari 5.\n //\n if (!new Events().__proto__) prefix = false;\n}\n\n/**\n * Representation of a single event listener.\n *\n * @param {Function} fn The listener function.\n * @param {Mixed} context The context to invoke the listener with.\n * @param {Boolean} [once=false] Specify if the listener is a one-time listener.\n * @constructor\n * @api private\n */\nfunction EE(fn, context, once) {\n this.fn = fn;\n this.context = context;\n this.once = once || false;\n}\n\n/**\n * Minimal `EventEmitter` interface that is molded against the Node.js\n * `EventEmitter` interface.\n *\n * @constructor\n * @api public\n */\nfunction EventEmitter() {\n this._events = new Events();\n this._eventsCount = 0;\n}\n\n/**\n * Return an array listing the events for which the emitter has registered\n * listeners.\n *\n * @returns {Array}\n * @api public\n */\nEventEmitter.prototype.eventNames = function eventNames() {\n var names = []\n , events\n , name;\n\n if (this._eventsCount === 0) return names;\n\n for (name in (events = this._events)) {\n if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);\n }\n\n if (Object.getOwnPropertySymbols) {\n return names.concat(Object.getOwnPropertySymbols(events));\n }\n\n return names;\n};\n\n/**\n * Return the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Boolean} exists Only check if there are listeners.\n * @returns {Array|Boolean}\n * @api public\n */\nEventEmitter.prototype.listeners = function listeners(event, exists) {\n var evt = prefix ? prefix + event : event\n , available = this._events[evt];\n\n if (exists) return !!available;\n if (!available) return [];\n if (available.fn) return [available.fn];\n\n for (var i = 0, l = available.length, ee = new Array(l); i < l; i++) {\n ee[i] = available[i].fn;\n }\n\n return ee;\n};\n\n/**\n * Calls each of the listeners registered for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @returns {Boolean} `true` if the event had listeners, else `false`.\n * @api public\n */\nEventEmitter.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return false;\n\n var listeners = this._events[evt]\n , len = arguments.length\n , args\n , i;\n\n if (listeners.fn) {\n if (listeners.once) this.removeListener(event, listeners.fn, undefined, true);\n\n switch (len) {\n case 1: return listeners.fn.call(listeners.context), true;\n case 2: return listeners.fn.call(listeners.context, a1), true;\n case 3: return listeners.fn.call(listeners.context, a1, a2), true;\n case 4: return listeners.fn.call(listeners.context, a1, a2, a3), true;\n case 5: return listeners.fn.call(listeners.context, a1, a2, a3, a4), true;\n case 6: return listeners.fn.call(listeners.context, a1, a2, a3, a4, a5), true;\n }\n\n for (i = 1, args = new Array(len -1); i < len; i++) {\n args[i - 1] = arguments[i];\n }\n\n listeners.fn.apply(listeners.context, args);\n } else {\n var length = listeners.length\n , j;\n\n for (i = 0; i < length; i++) {\n if (listeners[i].once) this.removeListener(event, listeners[i].fn, undefined, true);\n\n switch (len) {\n case 1: listeners[i].fn.call(listeners[i].context); break;\n case 2: listeners[i].fn.call(listeners[i].context, a1); break;\n case 3: listeners[i].fn.call(listeners[i].context, a1, a2); break;\n case 4: listeners[i].fn.call(listeners[i].context, a1, a2, a3); break;\n default:\n if (!args) for (j = 1, args = new Array(len -1); j < len; j++) {\n args[j - 1] = arguments[j];\n }\n\n listeners[i].fn.apply(listeners[i].context, args);\n }\n }\n }\n\n return true;\n};\n\n/**\n * Add a listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.on = function on(event, fn, context) {\n var listener = new EE(fn, context || this)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Add a one-time listener for a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn The listener function.\n * @param {Mixed} [context=this] The context to invoke the listener with.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.once = function once(event, fn, context) {\n var listener = new EE(fn, context || this, true)\n , evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) this._events[evt] = listener, this._eventsCount++;\n else if (!this._events[evt].fn) this._events[evt].push(listener);\n else this._events[evt] = [this._events[evt], listener];\n\n return this;\n};\n\n/**\n * Remove the listeners of a given event.\n *\n * @param {String|Symbol} event The event name.\n * @param {Function} fn Only remove the listeners that match this function.\n * @param {Mixed} context Only remove the listeners that have this context.\n * @param {Boolean} once Only remove one-time listeners.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeListener = function removeListener(event, fn, context, once) {\n var evt = prefix ? prefix + event : event;\n\n if (!this._events[evt]) return this;\n if (!fn) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n return this;\n }\n\n var listeners = this._events[evt];\n\n if (listeners.fn) {\n if (\n listeners.fn === fn\n && (!once || listeners.once)\n && (!context || listeners.context === context)\n ) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n for (var i = 0, events = [], length = listeners.length; i < length; i++) {\n if (\n listeners[i].fn !== fn\n || (once && !listeners[i].once)\n || (context && listeners[i].context !== context)\n ) {\n events.push(listeners[i]);\n }\n }\n\n //\n // Reset the array, or remove it completely if we have no more listeners.\n //\n if (events.length) this._events[evt] = events.length === 1 ? events[0] : events;\n else if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n\n return this;\n};\n\n/**\n * Remove all listeners, or those of the specified event.\n *\n * @param {String|Symbol} [event] The event name.\n * @returns {EventEmitter} `this`.\n * @api public\n */\nEventEmitter.prototype.removeAllListeners = function removeAllListeners(event) {\n var evt;\n\n if (event) {\n evt = prefix ? prefix + event : event;\n if (this._events[evt]) {\n if (--this._eventsCount === 0) this._events = new Events();\n else delete this._events[evt];\n }\n } else {\n this._events = new Events();\n this._eventsCount = 0;\n }\n\n return this;\n};\n\n//\n// Alias methods names because people roll like that.\n//\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\nEventEmitter.prototype.addListener = EventEmitter.prototype.on;\n\n//\n// This function doesn't apply anymore.\n//\nEventEmitter.prototype.setMaxListeners = function setMaxListeners() {\n return this;\n};\n\n//\n// Expose the prefix.\n//\nEventEmitter.prefixed = prefix;\n\n//\n// Allow `EventEmitter` to be imported as module namespace.\n//\nEventEmitter.EventEmitter = EventEmitter;\n\n//\n// Expose the module.\n//\nif ('undefined' !== typeof module) {\n module.exports = EventEmitter;\n}\n\n\n/***/ }),\n/* 55 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.matchText = exports.matchSpacing = exports.matchNewline = exports.matchBlot = exports.matchAttributor = exports.default = undefined;\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend2 = __webpack_require__(3);\n\nvar _extend3 = _interopRequireDefault(_extend2);\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _align = __webpack_require__(36);\n\nvar _background = __webpack_require__(37);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _color = __webpack_require__(26);\n\nvar _direction = __webpack_require__(38);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:clipboard');\n\nvar DOM_KEY = '__ql-matcher';\n\nvar CLIPBOARD_CONFIG = [[Node.TEXT_NODE, matchText], [Node.TEXT_NODE, matchNewline], ['br', matchBreak], [Node.ELEMENT_NODE, matchNewline], [Node.ELEMENT_NODE, matchBlot], [Node.ELEMENT_NODE, matchSpacing], [Node.ELEMENT_NODE, matchAttributor], [Node.ELEMENT_NODE, matchStyles], ['li', matchIndent], ['b', matchAlias.bind(matchAlias, 'bold')], ['i', matchAlias.bind(matchAlias, 'italic')], ['style', matchIgnore]];\n\nvar ATTRIBUTE_ATTRIBUTORS = [_align.AlignAttribute, _direction.DirectionAttribute].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar STYLE_ATTRIBUTORS = [_align.AlignStyle, _background.BackgroundStyle, _color.ColorStyle, _direction.DirectionStyle, _font.FontStyle, _size.SizeStyle].reduce(function (memo, attr) {\n memo[attr.keyName] = attr;\n return memo;\n}, {});\n\nvar Clipboard = function (_Module) {\n _inherits(Clipboard, _Module);\n\n function Clipboard(quill, options) {\n _classCallCheck(this, Clipboard);\n\n var _this = _possibleConstructorReturn(this, (Clipboard.__proto__ || Object.getPrototypeOf(Clipboard)).call(this, quill, options));\n\n _this.quill.root.addEventListener('paste', _this.onPaste.bind(_this));\n _this.container = _this.quill.addContainer('ql-clipboard');\n _this.container.setAttribute('contenteditable', true);\n _this.container.setAttribute('tabindex', -1);\n _this.matchers = [];\n CLIPBOARD_CONFIG.concat(_this.options.matchers).forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n selector = _ref2[0],\n matcher = _ref2[1];\n\n if (!options.matchVisual && matcher === matchSpacing) return;\n _this.addMatcher(selector, matcher);\n });\n return _this;\n }\n\n _createClass(Clipboard, [{\n key: 'addMatcher',\n value: function addMatcher(selector, matcher) {\n this.matchers.push([selector, matcher]);\n }\n }, {\n key: 'convert',\n value: function convert(html) {\n if (typeof html === 'string') {\n this.container.innerHTML = html.replace(/\\>\\r?\\n +\\<'); // Remove spaces between tags\n return this.convert();\n }\n var formats = this.quill.getFormat(this.quill.selection.savedRange.index);\n if (formats[_code2.default.blotName]) {\n var text = this.container.innerText;\n this.container.innerHTML = '';\n return new _quillDelta2.default().insert(text, _defineProperty({}, _code2.default.blotName, formats[_code2.default.blotName]));\n }\n\n var _prepareMatching = this.prepareMatching(),\n _prepareMatching2 = _slicedToArray(_prepareMatching, 2),\n elementMatchers = _prepareMatching2[0],\n textMatchers = _prepareMatching2[1];\n\n var delta = traverse(this.container, elementMatchers, textMatchers);\n // Remove trailing newline\n if (deltaEndsWith(delta, '\\n') && delta.ops[delta.ops.length - 1].attributes == null) {\n delta = delta.compose(new _quillDelta2.default().retain(delta.length() - 1).delete(1));\n }\n debug.log('convert', this.container.innerHTML, delta);\n this.container.innerHTML = '';\n return delta;\n }\n }, {\n key: 'dangerouslyPasteHTML',\n value: function dangerouslyPasteHTML(index, html) {\n var source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _quill2.default.sources.API;\n\n if (typeof index === 'string') {\n this.quill.setContents(this.convert(index), html);\n this.quill.setSelection(0, _quill2.default.sources.SILENT);\n } else {\n var paste = this.convert(html);\n this.quill.updateContents(new _quillDelta2.default().retain(index).concat(paste), source);\n this.quill.setSelection(index + paste.length(), _quill2.default.sources.SILENT);\n }\n }\n }, {\n key: 'onPaste',\n value: function onPaste(e) {\n var _this2 = this;\n\n if (e.defaultPrevented || !this.quill.isEnabled()) return;\n var range = this.quill.getSelection();\n var delta = new _quillDelta2.default().retain(range.index);\n var scrollTop = this.quill.scrollingContainer.scrollTop;\n this.container.focus();\n this.quill.selection.update(_quill2.default.sources.SILENT);\n setTimeout(function () {\n delta = delta.concat(_this2.convert()).delete(range.length);\n _this2.quill.updateContents(delta, _quill2.default.sources.USER);\n // range.length contributes to delta.length()\n _this2.quill.setSelection(delta.length() - range.length, _quill2.default.sources.SILENT);\n _this2.quill.scrollingContainer.scrollTop = scrollTop;\n _this2.quill.focus();\n }, 1);\n }\n }, {\n key: 'prepareMatching',\n value: function prepareMatching() {\n var _this3 = this;\n\n var elementMatchers = [],\n textMatchers = [];\n this.matchers.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n selector = _pair[0],\n matcher = _pair[1];\n\n switch (selector) {\n case Node.TEXT_NODE:\n textMatchers.push(matcher);\n break;\n case Node.ELEMENT_NODE:\n elementMatchers.push(matcher);\n break;\n default:\n [].forEach.call(_this3.container.querySelectorAll(selector), function (node) {\n // TODO use weakmap\n node[DOM_KEY] = node[DOM_KEY] || [];\n node[DOM_KEY].push(matcher);\n });\n break;\n }\n });\n return [elementMatchers, textMatchers];\n }\n }]);\n\n return Clipboard;\n}(_module2.default);\n\nClipboard.DEFAULTS = {\n matchers: [],\n matchVisual: true\n};\n\nfunction applyFormat(delta, format, value) {\n if ((typeof format === 'undefined' ? 'undefined' : _typeof(format)) === 'object') {\n return Object.keys(format).reduce(function (delta, key) {\n return applyFormat(delta, key, format[key]);\n }, delta);\n } else {\n return delta.reduce(function (delta, op) {\n if (op.attributes && op.attributes[format]) {\n return delta.push(op);\n } else {\n return delta.insert(op.insert, (0, _extend3.default)({}, _defineProperty({}, format, value), op.attributes));\n }\n }, new _quillDelta2.default());\n }\n}\n\nfunction computeStyle(node) {\n if (node.nodeType !== Node.ELEMENT_NODE) return {};\n var DOM_KEY = '__ql-computed-style';\n return node[DOM_KEY] || (node[DOM_KEY] = window.getComputedStyle(node));\n}\n\nfunction deltaEndsWith(delta, text) {\n var endText = \"\";\n for (var i = delta.ops.length - 1; i >= 0 && endText.length < text.length; --i) {\n var op = delta.ops[i];\n if (typeof op.insert !== 'string') break;\n endText = op.insert + endText;\n }\n return endText.slice(-1 * text.length) === text;\n}\n\nfunction isLine(node) {\n if (node.childNodes.length === 0) return false; // Exclude embed blocks\n var style = computeStyle(node);\n return ['block', 'list-item'].indexOf(style.display) > -1;\n}\n\nfunction traverse(node, elementMatchers, textMatchers) {\n // Post-order\n if (node.nodeType === node.TEXT_NODE) {\n return textMatchers.reduce(function (delta, matcher) {\n return matcher(node, delta);\n }, new _quillDelta2.default());\n } else if (node.nodeType === node.ELEMENT_NODE) {\n return [].reduce.call(node.childNodes || [], function (delta, childNode) {\n var childrenDelta = traverse(childNode, elementMatchers, textMatchers);\n if (childNode.nodeType === node.ELEMENT_NODE) {\n childrenDelta = elementMatchers.reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n childrenDelta = (childNode[DOM_KEY] || []).reduce(function (childrenDelta, matcher) {\n return matcher(childNode, childrenDelta);\n }, childrenDelta);\n }\n return delta.concat(childrenDelta);\n }, new _quillDelta2.default());\n } else {\n return new _quillDelta2.default();\n }\n}\n\nfunction matchAlias(format, node, delta) {\n return applyFormat(delta, format, true);\n}\n\nfunction matchAttributor(node, delta) {\n var attributes = _parchment2.default.Attributor.Attribute.keys(node);\n var classes = _parchment2.default.Attributor.Class.keys(node);\n var styles = _parchment2.default.Attributor.Style.keys(node);\n var formats = {};\n attributes.concat(classes).concat(styles).forEach(function (name) {\n var attr = _parchment2.default.query(name, _parchment2.default.Scope.ATTRIBUTE);\n if (attr != null) {\n formats[attr.attrName] = attr.value(node);\n if (formats[attr.attrName]) return;\n }\n attr = ATTRIBUTE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n attr = STYLE_ATTRIBUTORS[name];\n if (attr != null && (attr.attrName === name || attr.keyName === name)) {\n attr = STYLE_ATTRIBUTORS[name];\n formats[attr.attrName] = attr.value(node) || undefined;\n }\n });\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n return delta;\n}\n\nfunction matchBlot(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null) return delta;\n if (match.prototype instanceof _parchment2.default.Embed) {\n var embed = {};\n var value = match.value(node);\n if (value != null) {\n embed[match.blotName] = value;\n delta = new _quillDelta2.default().insert(embed, match.formats(node));\n }\n } else if (typeof match.formats === 'function') {\n delta = applyFormat(delta, match.blotName, match.formats(node));\n }\n return delta;\n}\n\nfunction matchBreak(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n delta.insert('\\n');\n }\n return delta;\n}\n\nfunction matchIgnore() {\n return new _quillDelta2.default();\n}\n\nfunction matchIndent(node, delta) {\n var match = _parchment2.default.query(node);\n if (match == null || match.blotName !== 'list-item' || !deltaEndsWith(delta, '\\n')) {\n return delta;\n }\n var indent = -1,\n parent = node.parentNode;\n while (!parent.classList.contains('ql-clipboard')) {\n if ((_parchment2.default.query(parent) || {}).blotName === 'list') {\n indent += 1;\n }\n parent = parent.parentNode;\n }\n if (indent <= 0) return delta;\n return delta.compose(new _quillDelta2.default().retain(delta.length() - 1).retain(1, { indent: indent }));\n}\n\nfunction matchNewline(node, delta) {\n if (!deltaEndsWith(delta, '\\n')) {\n if (isLine(node) || delta.length() > 0 && node.nextSibling && isLine(node.nextSibling)) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchSpacing(node, delta) {\n if (isLine(node) && node.nextElementSibling != null && !deltaEndsWith(delta, '\\n\\n')) {\n var nodeHeight = node.offsetHeight + parseFloat(computeStyle(node).marginTop) + parseFloat(computeStyle(node).marginBottom);\n if (node.nextElementSibling.offsetTop > node.offsetTop + nodeHeight * 1.5) {\n delta.insert('\\n');\n }\n }\n return delta;\n}\n\nfunction matchStyles(node, delta) {\n var formats = {};\n var style = node.style || {};\n if (style.fontStyle && computeStyle(node).fontStyle === 'italic') {\n formats.italic = true;\n }\n if (style.fontWeight && (computeStyle(node).fontWeight.startsWith('bold') || parseInt(computeStyle(node).fontWeight) >= 700)) {\n formats.bold = true;\n }\n if (Object.keys(formats).length > 0) {\n delta = applyFormat(delta, formats);\n }\n if (parseFloat(style.textIndent || 0) > 0) {\n // Could be 0.5in\n delta = new _quillDelta2.default().insert('\\t').concat(delta);\n }\n return delta;\n}\n\nfunction matchText(node, delta) {\n var text = node.data;\n // Word represents empty line with  \n if (node.parentNode.tagName === 'O:P') {\n return delta.insert(text.trim());\n }\n if (text.trim().length === 0 && node.parentNode.classList.contains('ql-clipboard')) {\n return delta;\n }\n if (!computeStyle(node.parentNode).whiteSpace.startsWith('pre')) {\n // eslint-disable-next-line func-style\n var replacer = function replacer(collapse, match) {\n match = match.replace(/[^\\u00a0]/g, ''); // \\u00a0 is nbsp;\n return match.length < 1 && collapse ? ' ' : match;\n };\n text = text.replace(/\\r\\n/g, ' ').replace(/\\n/g, ' ');\n text = text.replace(/\\s\\s+/g, replacer.bind(replacer, true)); // collapse whitespace\n if (node.previousSibling == null && isLine(node.parentNode) || node.previousSibling != null && isLine(node.previousSibling)) {\n text = text.replace(/^\\s+/, replacer.bind(replacer, false));\n }\n if (node.nextSibling == null && isLine(node.parentNode) || node.nextSibling != null && isLine(node.nextSibling)) {\n text = text.replace(/\\s+$/, replacer.bind(replacer, false));\n }\n }\n return delta.insert(text);\n}\n\nexports.default = Clipboard;\nexports.matchAttributor = matchAttributor;\nexports.matchBlot = matchBlot;\nexports.matchNewline = matchNewline;\nexports.matchSpacing = matchSpacing;\nexports.matchText = matchText;\n\n/***/ }),\n/* 56 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Bold = function (_Inline) {\n _inherits(Bold, _Inline);\n\n function Bold() {\n _classCallCheck(this, Bold);\n\n return _possibleConstructorReturn(this, (Bold.__proto__ || Object.getPrototypeOf(Bold)).apply(this, arguments));\n }\n\n _createClass(Bold, [{\n key: 'optimize',\n value: function optimize(context) {\n _get(Bold.prototype.__proto__ || Object.getPrototypeOf(Bold.prototype), 'optimize', this).call(this, context);\n if (this.domNode.tagName !== this.statics.tagName[0]) {\n this.replaceWith(this.statics.blotName);\n }\n }\n }], [{\n key: 'create',\n value: function create() {\n return _get(Bold.__proto__ || Object.getPrototypeOf(Bold), 'create', this).call(this);\n }\n }, {\n key: 'formats',\n value: function formats() {\n return true;\n }\n }]);\n\n return Bold;\n}(_inline2.default);\n\nBold.blotName = 'bold';\nBold.tagName = ['STRONG', 'B'];\n\nexports.default = Bold;\n\n/***/ }),\n/* 57 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.addControls = exports.default = undefined;\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _quillDelta = __webpack_require__(2);\n\nvar _quillDelta2 = _interopRequireDefault(_quillDelta);\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _logger = __webpack_require__(10);\n\nvar _logger2 = _interopRequireDefault(_logger);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar debug = (0, _logger2.default)('quill:toolbar');\n\nvar Toolbar = function (_Module) {\n _inherits(Toolbar, _Module);\n\n function Toolbar(quill, options) {\n _classCallCheck(this, Toolbar);\n\n var _this = _possibleConstructorReturn(this, (Toolbar.__proto__ || Object.getPrototypeOf(Toolbar)).call(this, quill, options));\n\n if (Array.isArray(_this.options.container)) {\n var container = document.createElement('div');\n addControls(container, _this.options.container);\n quill.container.parentNode.insertBefore(container, quill.container);\n _this.container = container;\n } else if (typeof _this.options.container === 'string') {\n _this.container = document.querySelector(_this.options.container);\n } else {\n _this.container = _this.options.container;\n }\n if (!(_this.container instanceof HTMLElement)) {\n var _ret;\n\n return _ret = debug.error('Container required for toolbar', _this.options), _possibleConstructorReturn(_this, _ret);\n }\n _this.container.classList.add('ql-toolbar');\n _this.controls = [];\n _this.handlers = {};\n Object.keys(_this.options.handlers).forEach(function (format) {\n _this.addHandler(format, _this.options.handlers[format]);\n });\n [].forEach.call(_this.container.querySelectorAll('button, select'), function (input) {\n _this.attach(input);\n });\n _this.quill.on(_quill2.default.events.EDITOR_CHANGE, function (type, range) {\n if (type === _quill2.default.events.SELECTION_CHANGE) {\n _this.update(range);\n }\n });\n _this.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n var _this$quill$selection = _this.quill.selection.getRange(),\n _this$quill$selection2 = _slicedToArray(_this$quill$selection, 1),\n range = _this$quill$selection2[0]; // quill.getSelection triggers update\n\n\n _this.update(range);\n });\n return _this;\n }\n\n _createClass(Toolbar, [{\n key: 'addHandler',\n value: function addHandler(format, handler) {\n this.handlers[format] = handler;\n }\n }, {\n key: 'attach',\n value: function attach(input) {\n var _this2 = this;\n\n var format = [].find.call(input.classList, function (className) {\n return className.indexOf('ql-') === 0;\n });\n if (!format) return;\n format = format.slice('ql-'.length);\n if (input.tagName === 'BUTTON') {\n input.setAttribute('type', 'button');\n }\n if (this.handlers[format] == null) {\n if (this.quill.scroll.whitelist != null && this.quill.scroll.whitelist[format] == null) {\n debug.warn('ignoring attaching to disabled format', format, input);\n return;\n }\n if (_parchment2.default.query(format) == null) {\n debug.warn('ignoring attaching to nonexistent format', format, input);\n return;\n }\n }\n var eventName = input.tagName === 'SELECT' ? 'change' : 'click';\n input.addEventListener(eventName, function (e) {\n var value = void 0;\n if (input.tagName === 'SELECT') {\n if (input.selectedIndex < 0) return;\n var selected = input.options[input.selectedIndex];\n if (selected.hasAttribute('selected')) {\n value = false;\n } else {\n value = selected.value || false;\n }\n } else {\n if (input.classList.contains('ql-active')) {\n value = false;\n } else {\n value = input.value || !input.hasAttribute('value');\n }\n e.preventDefault();\n }\n _this2.quill.focus();\n\n var _quill$selection$getR = _this2.quill.selection.getRange(),\n _quill$selection$getR2 = _slicedToArray(_quill$selection$getR, 1),\n range = _quill$selection$getR2[0];\n\n if (_this2.handlers[format] != null) {\n _this2.handlers[format].call(_this2, value);\n } else if (_parchment2.default.query(format).prototype instanceof _parchment2.default.Embed) {\n value = prompt('Enter ' + format);\n if (!value) return;\n _this2.quill.updateContents(new _quillDelta2.default().retain(range.index).delete(range.length).insert(_defineProperty({}, format, value)), _quill2.default.sources.USER);\n } else {\n _this2.quill.format(format, value, _quill2.default.sources.USER);\n }\n _this2.update(range);\n });\n // TODO use weakmap\n this.controls.push([format, input]);\n }\n }, {\n key: 'update',\n value: function update(range) {\n var formats = range == null ? {} : this.quill.getFormat(range);\n this.controls.forEach(function (pair) {\n var _pair = _slicedToArray(pair, 2),\n format = _pair[0],\n input = _pair[1];\n\n if (input.tagName === 'SELECT') {\n var option = void 0;\n if (range == null) {\n option = null;\n } else if (formats[format] == null) {\n option = input.querySelector('option[selected]');\n } else if (!Array.isArray(formats[format])) {\n var value = formats[format];\n if (typeof value === 'string') {\n value = value.replace(/\\\"/g, '\\\\\"');\n }\n option = input.querySelector('option[value=\"' + value + '\"]');\n }\n if (option == null) {\n input.value = ''; // TODO make configurable?\n input.selectedIndex = -1;\n } else {\n option.selected = true;\n }\n } else {\n if (range == null) {\n input.classList.remove('ql-active');\n } else if (input.hasAttribute('value')) {\n // both being null should match (default values)\n // '1' should match with 1 (headers)\n var isActive = formats[format] === input.getAttribute('value') || formats[format] != null && formats[format].toString() === input.getAttribute('value') || formats[format] == null && !input.getAttribute('value');\n input.classList.toggle('ql-active', isActive);\n } else {\n input.classList.toggle('ql-active', formats[format] != null);\n }\n }\n });\n }\n }]);\n\n return Toolbar;\n}(_module2.default);\n\nToolbar.DEFAULTS = {};\n\nfunction addButton(container, format, value) {\n var input = document.createElement('button');\n input.setAttribute('type', 'button');\n input.classList.add('ql-' + format);\n if (value != null) {\n input.value = value;\n }\n container.appendChild(input);\n}\n\nfunction addControls(container, groups) {\n if (!Array.isArray(groups[0])) {\n groups = [groups];\n }\n groups.forEach(function (controls) {\n var group = document.createElement('span');\n group.classList.add('ql-formats');\n controls.forEach(function (control) {\n if (typeof control === 'string') {\n addButton(group, control);\n } else {\n var format = Object.keys(control)[0];\n var value = control[format];\n if (Array.isArray(value)) {\n addSelect(group, format, value);\n } else {\n addButton(group, format, value);\n }\n }\n });\n container.appendChild(group);\n });\n}\n\nfunction addSelect(container, format, values) {\n var input = document.createElement('select');\n input.classList.add('ql-' + format);\n values.forEach(function (value) {\n var option = document.createElement('option');\n if (value !== false) {\n option.setAttribute('value', value);\n } else {\n option.setAttribute('selected', 'selected');\n }\n input.appendChild(option);\n });\n container.appendChild(input);\n}\n\nToolbar.DEFAULTS = {\n container: null,\n handlers: {\n clean: function clean() {\n var _this3 = this;\n\n var range = this.quill.getSelection();\n if (range == null) return;\n if (range.length == 0) {\n var formats = this.quill.getFormat();\n Object.keys(formats).forEach(function (name) {\n // Clean functionality in existing apps only clean inline formats\n if (_parchment2.default.query(name, _parchment2.default.Scope.INLINE) != null) {\n _this3.quill.format(name, false);\n }\n });\n } else {\n this.quill.removeFormat(range, _quill2.default.sources.USER);\n }\n },\n direction: function direction(value) {\n var align = this.quill.getFormat()['align'];\n if (value === 'rtl' && align == null) {\n this.quill.format('align', 'right', _quill2.default.sources.USER);\n } else if (!value && align === 'right') {\n this.quill.format('align', false, _quill2.default.sources.USER);\n }\n this.quill.format('direction', value, _quill2.default.sources.USER);\n },\n indent: function indent(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n var indent = parseInt(formats.indent || 0);\n if (value === '+1' || value === '-1') {\n var modifier = value === '+1' ? 1 : -1;\n if (formats.direction === 'rtl') modifier *= -1;\n this.quill.format('indent', indent + modifier, _quill2.default.sources.USER);\n }\n },\n link: function link(value) {\n if (value === true) {\n value = prompt('Enter link URL:');\n }\n this.quill.format('link', value, _quill2.default.sources.USER);\n },\n list: function list(value) {\n var range = this.quill.getSelection();\n var formats = this.quill.getFormat(range);\n if (value === 'check') {\n if (formats['list'] === 'checked' || formats['list'] === 'unchecked') {\n this.quill.format('list', false, _quill2.default.sources.USER);\n } else {\n this.quill.format('list', 'unchecked', _quill2.default.sources.USER);\n }\n } else {\n this.quill.format('list', value, _quill2.default.sources.USER);\n }\n }\n }\n};\n\nexports.default = Toolbar;\nexports.addControls = addControls;\n\n/***/ }),\n/* 58 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 59 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ColorPicker = function (_Picker) {\n _inherits(ColorPicker, _Picker);\n\n function ColorPicker(select, label) {\n _classCallCheck(this, ColorPicker);\n\n var _this = _possibleConstructorReturn(this, (ColorPicker.__proto__ || Object.getPrototypeOf(ColorPicker)).call(this, select));\n\n _this.label.innerHTML = label;\n _this.container.classList.add('ql-color-picker');\n [].slice.call(_this.container.querySelectorAll('.ql-picker-item'), 0, 7).forEach(function (item) {\n item.classList.add('ql-primary');\n });\n return _this;\n }\n\n _createClass(ColorPicker, [{\n key: 'buildItem',\n value: function buildItem(option) {\n var item = _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'buildItem', this).call(this, option);\n item.style.backgroundColor = option.getAttribute('value') || '';\n return item;\n }\n }, {\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(ColorPicker.prototype.__proto__ || Object.getPrototypeOf(ColorPicker.prototype), 'selectItem', this).call(this, item, trigger);\n var colorLabel = this.label.querySelector('.ql-color-label');\n var value = item ? item.getAttribute('data-value') || '' : '';\n if (colorLabel) {\n if (colorLabel.tagName === 'line') {\n colorLabel.style.stroke = value;\n } else {\n colorLabel.style.fill = value;\n }\n }\n }\n }]);\n\n return ColorPicker;\n}(_picker2.default);\n\nexports.default = ColorPicker;\n\n/***/ }),\n/* 60 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IconPicker = function (_Picker) {\n _inherits(IconPicker, _Picker);\n\n function IconPicker(select, icons) {\n _classCallCheck(this, IconPicker);\n\n var _this = _possibleConstructorReturn(this, (IconPicker.__proto__ || Object.getPrototypeOf(IconPicker)).call(this, select));\n\n _this.container.classList.add('ql-icon-picker');\n [].forEach.call(_this.container.querySelectorAll('.ql-picker-item'), function (item) {\n item.innerHTML = icons[item.getAttribute('data-value') || ''];\n });\n _this.defaultItem = _this.container.querySelector('.ql-selected');\n _this.selectItem(_this.defaultItem);\n return _this;\n }\n\n _createClass(IconPicker, [{\n key: 'selectItem',\n value: function selectItem(item, trigger) {\n _get(IconPicker.prototype.__proto__ || Object.getPrototypeOf(IconPicker.prototype), 'selectItem', this).call(this, item, trigger);\n item = item || this.defaultItem;\n this.label.innerHTML = item.innerHTML;\n }\n }]);\n\n return IconPicker;\n}(_picker2.default);\n\nexports.default = IconPicker;\n\n/***/ }),\n/* 61 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar Tooltip = function () {\n function Tooltip(quill, boundsContainer) {\n var _this = this;\n\n _classCallCheck(this, Tooltip);\n\n this.quill = quill;\n this.boundsContainer = boundsContainer || document.body;\n this.root = quill.addContainer('ql-tooltip');\n this.root.innerHTML = this.constructor.TEMPLATE;\n if (this.quill.root === this.quill.scrollingContainer) {\n this.quill.root.addEventListener('scroll', function () {\n _this.root.style.marginTop = -1 * _this.quill.root.scrollTop + 'px';\n });\n }\n this.hide();\n }\n\n _createClass(Tooltip, [{\n key: 'hide',\n value: function hide() {\n this.root.classList.add('ql-hidden');\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var left = reference.left + reference.width / 2 - this.root.offsetWidth / 2;\n // root.scrollTop should be 0 if scrollContainer !== root\n var top = reference.bottom + this.quill.root.scrollTop;\n this.root.style.left = left + 'px';\n this.root.style.top = top + 'px';\n this.root.classList.remove('ql-flip');\n var containerBounds = this.boundsContainer.getBoundingClientRect();\n var rootBounds = this.root.getBoundingClientRect();\n var shift = 0;\n if (rootBounds.right > containerBounds.right) {\n shift = containerBounds.right - rootBounds.right;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.left < containerBounds.left) {\n shift = containerBounds.left - rootBounds.left;\n this.root.style.left = left + shift + 'px';\n }\n if (rootBounds.bottom > containerBounds.bottom) {\n var height = rootBounds.bottom - rootBounds.top;\n var verticalShift = reference.bottom - reference.top + height;\n this.root.style.top = top - verticalShift + 'px';\n this.root.classList.add('ql-flip');\n }\n return shift;\n }\n }, {\n key: 'show',\n value: function show() {\n this.root.classList.remove('ql-editing');\n this.root.classList.remove('ql-hidden');\n }\n }]);\n\n return Tooltip;\n}();\n\nexports.default = Tooltip;\n\n/***/ }),\n/* 62 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [[{ header: ['1', '2', '3', false] }], ['bold', 'italic', 'underline', 'link'], [{ list: 'ordered' }, { list: 'bullet' }], ['clean']];\n\nvar SnowTheme = function (_BaseTheme) {\n _inherits(SnowTheme, _BaseTheme);\n\n function SnowTheme(quill, options) {\n _classCallCheck(this, SnowTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (SnowTheme.__proto__ || Object.getPrototypeOf(SnowTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-snow');\n return _this;\n }\n\n _createClass(SnowTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n toolbar.container.classList.add('ql-snow');\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n this.tooltip = new SnowTooltip(this.quill, this.options.bounds);\n if (toolbar.container.querySelector('.ql-link')) {\n this.quill.keyboard.addBinding({ key: 'K', shortKey: true }, function (range, context) {\n toolbar.handlers['link'].call(toolbar, !context.format.link);\n });\n }\n }\n }]);\n\n return SnowTheme;\n}(_base2.default);\n\nSnowTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (value) {\n var range = this.quill.getSelection();\n if (range == null || range.length == 0) return;\n var preview = this.quill.getText(range);\n if (/^\\S+@\\S+\\.\\S+$/.test(preview) && preview.indexOf('mailto:') !== 0) {\n preview = 'mailto:' + preview;\n }\n var tooltip = this.quill.theme.tooltip;\n tooltip.edit('link', preview);\n } else {\n this.quill.format('link', false);\n }\n }\n }\n }\n }\n});\n\nvar SnowTooltip = function (_BaseTooltip) {\n _inherits(SnowTooltip, _BaseTooltip);\n\n function SnowTooltip(quill, bounds) {\n _classCallCheck(this, SnowTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (SnowTooltip.__proto__ || Object.getPrototypeOf(SnowTooltip)).call(this, quill, bounds));\n\n _this2.preview = _this2.root.querySelector('a.ql-preview');\n return _this2;\n }\n\n _createClass(SnowTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('a.ql-action').addEventListener('click', function (event) {\n if (_this3.root.classList.contains('ql-editing')) {\n _this3.save();\n } else {\n _this3.edit('link', _this3.preview.textContent);\n }\n event.preventDefault();\n });\n this.root.querySelector('a.ql-remove').addEventListener('click', function (event) {\n if (_this3.linkRange != null) {\n var range = _this3.linkRange;\n _this3.restoreFocus();\n _this3.quill.formatText(range, 'link', false, _emitter2.default.sources.USER);\n delete _this3.linkRange;\n }\n event.preventDefault();\n _this3.hide();\n });\n this.quill.on(_emitter2.default.events.SELECTION_CHANGE, function (range, oldRange, source) {\n if (range == null) return;\n if (range.length === 0 && source === _emitter2.default.sources.USER) {\n var _quill$scroll$descend = _this3.quill.scroll.descendant(_link2.default, range.index),\n _quill$scroll$descend2 = _slicedToArray(_quill$scroll$descend, 2),\n link = _quill$scroll$descend2[0],\n offset = _quill$scroll$descend2[1];\n\n if (link != null) {\n _this3.linkRange = new _selection.Range(range.index - offset, link.length());\n var preview = _link2.default.formats(link.domNode);\n _this3.preview.textContent = preview;\n _this3.preview.setAttribute('href', preview);\n _this3.show();\n _this3.position(_this3.quill.getBounds(_this3.linkRange));\n return;\n }\n } else {\n delete _this3.linkRange;\n }\n _this3.hide();\n });\n }\n }, {\n key: 'show',\n value: function show() {\n _get(SnowTooltip.prototype.__proto__ || Object.getPrototypeOf(SnowTooltip.prototype), 'show', this).call(this);\n this.root.removeAttribute('data-mode');\n }\n }]);\n\n return SnowTooltip;\n}(_base.BaseTooltip);\n\nSnowTooltip.TEMPLATE = ['', '', '', ''].join('');\n\nexports.default = SnowTheme;\n\n/***/ }),\n/* 63 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _core = __webpack_require__(29);\n\nvar _core2 = _interopRequireDefault(_core);\n\nvar _align = __webpack_require__(36);\n\nvar _direction = __webpack_require__(38);\n\nvar _indent = __webpack_require__(64);\n\nvar _blockquote = __webpack_require__(65);\n\nvar _blockquote2 = _interopRequireDefault(_blockquote);\n\nvar _header = __webpack_require__(66);\n\nvar _header2 = _interopRequireDefault(_header);\n\nvar _list = __webpack_require__(67);\n\nvar _list2 = _interopRequireDefault(_list);\n\nvar _background = __webpack_require__(37);\n\nvar _color = __webpack_require__(26);\n\nvar _font = __webpack_require__(39);\n\nvar _size = __webpack_require__(40);\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nvar _italic = __webpack_require__(68);\n\nvar _italic2 = _interopRequireDefault(_italic);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nvar _script = __webpack_require__(69);\n\nvar _script2 = _interopRequireDefault(_script);\n\nvar _strike = __webpack_require__(70);\n\nvar _strike2 = _interopRequireDefault(_strike);\n\nvar _underline = __webpack_require__(71);\n\nvar _underline2 = _interopRequireDefault(_underline);\n\nvar _image = __webpack_require__(72);\n\nvar _image2 = _interopRequireDefault(_image);\n\nvar _video = __webpack_require__(73);\n\nvar _video2 = _interopRequireDefault(_video);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nvar _formula = __webpack_require__(74);\n\nvar _formula2 = _interopRequireDefault(_formula);\n\nvar _syntax = __webpack_require__(75);\n\nvar _syntax2 = _interopRequireDefault(_syntax);\n\nvar _toolbar = __webpack_require__(57);\n\nvar _toolbar2 = _interopRequireDefault(_toolbar);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nvar _picker = __webpack_require__(28);\n\nvar _picker2 = _interopRequireDefault(_picker);\n\nvar _colorPicker = __webpack_require__(59);\n\nvar _colorPicker2 = _interopRequireDefault(_colorPicker);\n\nvar _iconPicker = __webpack_require__(60);\n\nvar _iconPicker2 = _interopRequireDefault(_iconPicker);\n\nvar _tooltip = __webpack_require__(61);\n\nvar _tooltip2 = _interopRequireDefault(_tooltip);\n\nvar _bubble = __webpack_require__(108);\n\nvar _bubble2 = _interopRequireDefault(_bubble);\n\nvar _snow = __webpack_require__(62);\n\nvar _snow2 = _interopRequireDefault(_snow);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\n_core2.default.register({\n 'attributors/attribute/direction': _direction.DirectionAttribute,\n\n 'attributors/class/align': _align.AlignClass,\n 'attributors/class/background': _background.BackgroundClass,\n 'attributors/class/color': _color.ColorClass,\n 'attributors/class/direction': _direction.DirectionClass,\n 'attributors/class/font': _font.FontClass,\n 'attributors/class/size': _size.SizeClass,\n\n 'attributors/style/align': _align.AlignStyle,\n 'attributors/style/background': _background.BackgroundStyle,\n 'attributors/style/color': _color.ColorStyle,\n 'attributors/style/direction': _direction.DirectionStyle,\n 'attributors/style/font': _font.FontStyle,\n 'attributors/style/size': _size.SizeStyle\n}, true);\n\n_core2.default.register({\n 'formats/align': _align.AlignClass,\n 'formats/direction': _direction.DirectionClass,\n 'formats/indent': _indent.IndentClass,\n\n 'formats/background': _background.BackgroundStyle,\n 'formats/color': _color.ColorStyle,\n 'formats/font': _font.FontClass,\n 'formats/size': _size.SizeClass,\n\n 'formats/blockquote': _blockquote2.default,\n 'formats/code-block': _code2.default,\n 'formats/header': _header2.default,\n 'formats/list': _list2.default,\n\n 'formats/bold': _bold2.default,\n 'formats/code': _code.Code,\n 'formats/italic': _italic2.default,\n 'formats/link': _link2.default,\n 'formats/script': _script2.default,\n 'formats/strike': _strike2.default,\n 'formats/underline': _underline2.default,\n\n 'formats/image': _image2.default,\n 'formats/video': _video2.default,\n\n 'formats/list/item': _list.ListItem,\n\n 'modules/formula': _formula2.default,\n 'modules/syntax': _syntax2.default,\n 'modules/toolbar': _toolbar2.default,\n\n 'themes/bubble': _bubble2.default,\n 'themes/snow': _snow2.default,\n\n 'ui/icons': _icons2.default,\n 'ui/picker': _picker2.default,\n 'ui/icon-picker': _iconPicker2.default,\n 'ui/color-picker': _colorPicker2.default,\n 'ui/tooltip': _tooltip2.default\n}, true);\n\nexports.default = _core2.default;\n\n/***/ }),\n/* 64 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.IndentClass = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar IdentAttributor = function (_Parchment$Attributor) {\n _inherits(IdentAttributor, _Parchment$Attributor);\n\n function IdentAttributor() {\n _classCallCheck(this, IdentAttributor);\n\n return _possibleConstructorReturn(this, (IdentAttributor.__proto__ || Object.getPrototypeOf(IdentAttributor)).apply(this, arguments));\n }\n\n _createClass(IdentAttributor, [{\n key: 'add',\n value: function add(node, value) {\n if (value === '+1' || value === '-1') {\n var indent = this.value(node) || 0;\n value = value === '+1' ? indent + 1 : indent - 1;\n }\n if (value === 0) {\n this.remove(node);\n return true;\n } else {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'add', this).call(this, node, value);\n }\n }\n }, {\n key: 'canAdd',\n value: function canAdd(node, value) {\n return _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, value) || _get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'canAdd', this).call(this, node, parseInt(value));\n }\n }, {\n key: 'value',\n value: function value(node) {\n return parseInt(_get(IdentAttributor.prototype.__proto__ || Object.getPrototypeOf(IdentAttributor.prototype), 'value', this).call(this, node)) || undefined; // Don't return NaN\n }\n }]);\n\n return IdentAttributor;\n}(_parchment2.default.Attributor.Class);\n\nvar IndentClass = new IdentAttributor('indent', 'ql-indent', {\n scope: _parchment2.default.Scope.BLOCK,\n whitelist: [1, 2, 3, 4, 5, 6, 7, 8]\n});\n\nexports.IndentClass = IndentClass;\n\n/***/ }),\n/* 65 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Blockquote = function (_Block) {\n _inherits(Blockquote, _Block);\n\n function Blockquote() {\n _classCallCheck(this, Blockquote);\n\n return _possibleConstructorReturn(this, (Blockquote.__proto__ || Object.getPrototypeOf(Blockquote)).apply(this, arguments));\n }\n\n return Blockquote;\n}(_block2.default);\n\nBlockquote.blotName = 'blockquote';\nBlockquote.tagName = 'blockquote';\n\nexports.default = Blockquote;\n\n/***/ }),\n/* 66 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Header = function (_Block) {\n _inherits(Header, _Block);\n\n function Header() {\n _classCallCheck(this, Header);\n\n return _possibleConstructorReturn(this, (Header.__proto__ || Object.getPrototypeOf(Header)).apply(this, arguments));\n }\n\n _createClass(Header, null, [{\n key: 'formats',\n value: function formats(domNode) {\n return this.tagName.indexOf(domNode.tagName) + 1;\n }\n }]);\n\n return Header;\n}(_block2.default);\n\nHeader.blotName = 'header';\nHeader.tagName = ['H1', 'H2', 'H3', 'H4', 'H5', 'H6'];\n\nexports.default = Header;\n\n/***/ }),\n/* 67 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.ListItem = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _block = __webpack_require__(4);\n\nvar _block2 = _interopRequireDefault(_block);\n\nvar _container = __webpack_require__(25);\n\nvar _container2 = _interopRequireDefault(_container);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ListItem = function (_Block) {\n _inherits(ListItem, _Block);\n\n function ListItem() {\n _classCallCheck(this, ListItem);\n\n return _possibleConstructorReturn(this, (ListItem.__proto__ || Object.getPrototypeOf(ListItem)).apply(this, arguments));\n }\n\n _createClass(ListItem, [{\n key: 'format',\n value: function format(name, value) {\n if (name === List.blotName && !value) {\n this.replaceWith(_parchment2.default.create(this.statics.scope));\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'format', this).call(this, name, value);\n }\n }\n }, {\n key: 'remove',\n value: function remove() {\n if (this.prev == null && this.next == null) {\n this.parent.remove();\n } else {\n _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'remove', this).call(this);\n }\n }\n }, {\n key: 'replaceWith',\n value: function replaceWith(name, value) {\n this.parent.isolate(this.offset(this.parent), this.length());\n if (name === this.parent.statics.blotName) {\n this.parent.replaceWith(name, value);\n return this;\n } else {\n this.parent.unwrap();\n return _get(ListItem.prototype.__proto__ || Object.getPrototypeOf(ListItem.prototype), 'replaceWith', this).call(this, name, value);\n }\n }\n }], [{\n key: 'formats',\n value: function formats(domNode) {\n return domNode.tagName === this.tagName ? undefined : _get(ListItem.__proto__ || Object.getPrototypeOf(ListItem), 'formats', this).call(this, domNode);\n }\n }]);\n\n return ListItem;\n}(_block2.default);\n\nListItem.blotName = 'list-item';\nListItem.tagName = 'LI';\n\nvar List = function (_Container) {\n _inherits(List, _Container);\n\n _createClass(List, null, [{\n key: 'create',\n value: function create(value) {\n var tagName = value === 'ordered' ? 'OL' : 'UL';\n var node = _get(List.__proto__ || Object.getPrototypeOf(List), 'create', this).call(this, tagName);\n if (value === 'checked' || value === 'unchecked') {\n node.setAttribute('data-checked', value === 'checked');\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'OL') return 'ordered';\n if (domNode.tagName === 'UL') {\n if (domNode.hasAttribute('data-checked')) {\n return domNode.getAttribute('data-checked') === 'true' ? 'checked' : 'unchecked';\n } else {\n return 'bullet';\n }\n }\n return undefined;\n }\n }]);\n\n function List(domNode) {\n _classCallCheck(this, List);\n\n var _this2 = _possibleConstructorReturn(this, (List.__proto__ || Object.getPrototypeOf(List)).call(this, domNode));\n\n var listEventHandler = function listEventHandler(e) {\n if (e.target.parentNode !== domNode) return;\n var format = _this2.statics.formats(domNode);\n var blot = _parchment2.default.find(e.target);\n if (format === 'checked') {\n blot.format('list', 'unchecked');\n } else if (format === 'unchecked') {\n blot.format('list', 'checked');\n }\n };\n\n domNode.addEventListener('touchstart', listEventHandler);\n domNode.addEventListener('mousedown', listEventHandler);\n return _this2;\n }\n\n _createClass(List, [{\n key: 'format',\n value: function format(name, value) {\n if (this.children.length > 0) {\n this.children.tail.format(name, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats() {\n // We don't inherit from FormatBlot\n return _defineProperty({}, this.statics.blotName, this.statics.formats(this.domNode));\n }\n }, {\n key: 'insertBefore',\n value: function insertBefore(blot, ref) {\n if (blot instanceof ListItem) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'insertBefore', this).call(this, blot, ref);\n } else {\n var index = ref == null ? this.length() : ref.offset(this);\n var after = this.split(index);\n after.parent.insertBefore(blot, after);\n }\n }\n }, {\n key: 'optimize',\n value: function optimize(context) {\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'optimize', this).call(this, context);\n var next = this.next;\n if (next != null && next.prev === this && next.statics.blotName === this.statics.blotName && next.domNode.tagName === this.domNode.tagName && next.domNode.getAttribute('data-checked') === this.domNode.getAttribute('data-checked')) {\n next.moveChildren(this);\n next.remove();\n }\n }\n }, {\n key: 'replace',\n value: function replace(target) {\n if (target.statics.blotName !== this.statics.blotName) {\n var item = _parchment2.default.create(this.statics.defaultChild);\n target.moveChildren(item);\n this.appendChild(item);\n }\n _get(List.prototype.__proto__ || Object.getPrototypeOf(List.prototype), 'replace', this).call(this, target);\n }\n }]);\n\n return List;\n}(_container2.default);\n\nList.blotName = 'list';\nList.scope = _parchment2.default.Scope.BLOCK_BLOT;\nList.tagName = ['OL', 'UL'];\nList.defaultChild = 'list-item';\nList.allowedChildren = [ListItem];\n\nexports.ListItem = ListItem;\nexports.default = List;\n\n/***/ }),\n/* 68 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _bold = __webpack_require__(56);\n\nvar _bold2 = _interopRequireDefault(_bold);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Italic = function (_Bold) {\n _inherits(Italic, _Bold);\n\n function Italic() {\n _classCallCheck(this, Italic);\n\n return _possibleConstructorReturn(this, (Italic.__proto__ || Object.getPrototypeOf(Italic)).apply(this, arguments));\n }\n\n return Italic;\n}(_bold2.default);\n\nItalic.blotName = 'italic';\nItalic.tagName = ['EM', 'I'];\n\nexports.default = Italic;\n\n/***/ }),\n/* 69 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Script = function (_Inline) {\n _inherits(Script, _Inline);\n\n function Script() {\n _classCallCheck(this, Script);\n\n return _possibleConstructorReturn(this, (Script.__proto__ || Object.getPrototypeOf(Script)).apply(this, arguments));\n }\n\n _createClass(Script, null, [{\n key: 'create',\n value: function create(value) {\n if (value === 'super') {\n return document.createElement('sup');\n } else if (value === 'sub') {\n return document.createElement('sub');\n } else {\n return _get(Script.__proto__ || Object.getPrototypeOf(Script), 'create', this).call(this, value);\n }\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n if (domNode.tagName === 'SUB') return 'sub';\n if (domNode.tagName === 'SUP') return 'super';\n return undefined;\n }\n }]);\n\n return Script;\n}(_inline2.default);\n\nScript.blotName = 'script';\nScript.tagName = ['SUB', 'SUP'];\n\nexports.default = Script;\n\n/***/ }),\n/* 70 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Strike = function (_Inline) {\n _inherits(Strike, _Inline);\n\n function Strike() {\n _classCallCheck(this, Strike);\n\n return _possibleConstructorReturn(this, (Strike.__proto__ || Object.getPrototypeOf(Strike)).apply(this, arguments));\n }\n\n return Strike;\n}(_inline2.default);\n\nStrike.blotName = 'strike';\nStrike.tagName = 'S';\n\nexports.default = Strike;\n\n/***/ }),\n/* 71 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _inline = __webpack_require__(6);\n\nvar _inline2 = _interopRequireDefault(_inline);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Underline = function (_Inline) {\n _inherits(Underline, _Inline);\n\n function Underline() {\n _classCallCheck(this, Underline);\n\n return _possibleConstructorReturn(this, (Underline.__proto__ || Object.getPrototypeOf(Underline)).apply(this, arguments));\n }\n\n return Underline;\n}(_inline2.default);\n\nUnderline.blotName = 'underline';\nUnderline.tagName = 'U';\n\nexports.default = Underline;\n\n/***/ }),\n/* 72 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _link = __webpack_require__(27);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['alt', 'height', 'width'];\n\nvar Image = function (_Parchment$Embed) {\n _inherits(Image, _Parchment$Embed);\n\n function Image() {\n _classCallCheck(this, Image);\n\n return _possibleConstructorReturn(this, (Image.__proto__ || Object.getPrototypeOf(Image)).apply(this, arguments));\n }\n\n _createClass(Image, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Image.prototype.__proto__ || Object.getPrototypeOf(Image.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Image.__proto__ || Object.getPrototypeOf(Image), 'create', this).call(this, value);\n if (typeof value === 'string') {\n node.setAttribute('src', this.sanitize(value));\n }\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'match',\n value: function match(url) {\n return (/\\.(jpe?g|gif|png)$/.test(url) || /^data:image\\/.+;base64/.test(url)\n );\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return (0, _link.sanitize)(url, ['http', 'https', 'data']) ? url : '//:0';\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Image;\n}(_parchment2.default.Embed);\n\nImage.blotName = 'image';\nImage.tagName = 'IMG';\n\nexports.default = Image;\n\n/***/ }),\n/* 73 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _block = __webpack_require__(4);\n\nvar _link = __webpack_require__(27);\n\nvar _link2 = _interopRequireDefault(_link);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar ATTRIBUTES = ['height', 'width'];\n\nvar Video = function (_BlockEmbed) {\n _inherits(Video, _BlockEmbed);\n\n function Video() {\n _classCallCheck(this, Video);\n\n return _possibleConstructorReturn(this, (Video.__proto__ || Object.getPrototypeOf(Video)).apply(this, arguments));\n }\n\n _createClass(Video, [{\n key: 'format',\n value: function format(name, value) {\n if (ATTRIBUTES.indexOf(name) > -1) {\n if (value) {\n this.domNode.setAttribute(name, value);\n } else {\n this.domNode.removeAttribute(name);\n }\n } else {\n _get(Video.prototype.__proto__ || Object.getPrototypeOf(Video.prototype), 'format', this).call(this, name, value);\n }\n }\n }], [{\n key: 'create',\n value: function create(value) {\n var node = _get(Video.__proto__ || Object.getPrototypeOf(Video), 'create', this).call(this, value);\n node.setAttribute('frameborder', '0');\n node.setAttribute('allowfullscreen', true);\n node.setAttribute('src', this.sanitize(value));\n return node;\n }\n }, {\n key: 'formats',\n value: function formats(domNode) {\n return ATTRIBUTES.reduce(function (formats, attribute) {\n if (domNode.hasAttribute(attribute)) {\n formats[attribute] = domNode.getAttribute(attribute);\n }\n return formats;\n }, {});\n }\n }, {\n key: 'sanitize',\n value: function sanitize(url) {\n return _link2.default.sanitize(url);\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('src');\n }\n }]);\n\n return Video;\n}(_block.BlockEmbed);\n\nVideo.blotName = 'video';\nVideo.className = 'ql-video';\nVideo.tagName = 'IFRAME';\n\nexports.default = Video;\n\n/***/ }),\n/* 74 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.FormulaBlot = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _embed = __webpack_require__(35);\n\nvar _embed2 = _interopRequireDefault(_embed);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar FormulaBlot = function (_Embed) {\n _inherits(FormulaBlot, _Embed);\n\n function FormulaBlot() {\n _classCallCheck(this, FormulaBlot);\n\n return _possibleConstructorReturn(this, (FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot)).apply(this, arguments));\n }\n\n _createClass(FormulaBlot, null, [{\n key: 'create',\n value: function create(value) {\n var node = _get(FormulaBlot.__proto__ || Object.getPrototypeOf(FormulaBlot), 'create', this).call(this, value);\n if (typeof value === 'string') {\n window.katex.render(value, node, {\n throwOnError: false,\n errorColor: '#f00'\n });\n node.setAttribute('data-value', value);\n }\n return node;\n }\n }, {\n key: 'value',\n value: function value(domNode) {\n return domNode.getAttribute('data-value');\n }\n }]);\n\n return FormulaBlot;\n}(_embed2.default);\n\nFormulaBlot.blotName = 'formula';\nFormulaBlot.className = 'ql-formula';\nFormulaBlot.tagName = 'SPAN';\n\nvar Formula = function (_Module) {\n _inherits(Formula, _Module);\n\n _createClass(Formula, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(FormulaBlot, true);\n }\n }]);\n\n function Formula() {\n _classCallCheck(this, Formula);\n\n var _this2 = _possibleConstructorReturn(this, (Formula.__proto__ || Object.getPrototypeOf(Formula)).call(this));\n\n if (window.katex == null) {\n throw new Error('Formula module requires KaTeX.');\n }\n return _this2;\n }\n\n return Formula;\n}(_module2.default);\n\nexports.FormulaBlot = FormulaBlot;\nexports.default = Formula;\n\n/***/ }),\n/* 75 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.CodeToken = exports.CodeBlock = undefined;\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _parchment = __webpack_require__(0);\n\nvar _parchment2 = _interopRequireDefault(_parchment);\n\nvar _quill = __webpack_require__(5);\n\nvar _quill2 = _interopRequireDefault(_quill);\n\nvar _module = __webpack_require__(9);\n\nvar _module2 = _interopRequireDefault(_module);\n\nvar _code = __webpack_require__(13);\n\nvar _code2 = _interopRequireDefault(_code);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar SyntaxCodeBlock = function (_CodeBlock) {\n _inherits(SyntaxCodeBlock, _CodeBlock);\n\n function SyntaxCodeBlock() {\n _classCallCheck(this, SyntaxCodeBlock);\n\n return _possibleConstructorReturn(this, (SyntaxCodeBlock.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock)).apply(this, arguments));\n }\n\n _createClass(SyntaxCodeBlock, [{\n key: 'replaceWith',\n value: function replaceWith(block) {\n this.domNode.textContent = this.domNode.textContent;\n this.attach();\n _get(SyntaxCodeBlock.prototype.__proto__ || Object.getPrototypeOf(SyntaxCodeBlock.prototype), 'replaceWith', this).call(this, block);\n }\n }, {\n key: 'highlight',\n value: function highlight(_highlight) {\n var text = this.domNode.textContent;\n if (this.cachedText !== text) {\n if (text.trim().length > 0 || this.cachedText == null) {\n this.domNode.innerHTML = _highlight(text);\n this.domNode.normalize();\n this.attach();\n }\n this.cachedText = text;\n }\n }\n }]);\n\n return SyntaxCodeBlock;\n}(_code2.default);\n\nSyntaxCodeBlock.className = 'ql-syntax';\n\nvar CodeToken = new _parchment2.default.Attributor.Class('token', 'hljs', {\n scope: _parchment2.default.Scope.INLINE\n});\n\nvar Syntax = function (_Module) {\n _inherits(Syntax, _Module);\n\n _createClass(Syntax, null, [{\n key: 'register',\n value: function register() {\n _quill2.default.register(CodeToken, true);\n _quill2.default.register(SyntaxCodeBlock, true);\n }\n }]);\n\n function Syntax(quill, options) {\n _classCallCheck(this, Syntax);\n\n var _this2 = _possibleConstructorReturn(this, (Syntax.__proto__ || Object.getPrototypeOf(Syntax)).call(this, quill, options));\n\n if (typeof _this2.options.highlight !== 'function') {\n throw new Error('Syntax module requires highlight.js. Please include the library on the page before Quill.');\n }\n var timer = null;\n _this2.quill.on(_quill2.default.events.SCROLL_OPTIMIZE, function () {\n clearTimeout(timer);\n timer = setTimeout(function () {\n _this2.highlight();\n timer = null;\n }, _this2.options.interval);\n });\n _this2.highlight();\n return _this2;\n }\n\n _createClass(Syntax, [{\n key: 'highlight',\n value: function highlight() {\n var _this3 = this;\n\n if (this.quill.selection.composing) return;\n this.quill.update(_quill2.default.sources.USER);\n var range = this.quill.getSelection();\n this.quill.scroll.descendants(SyntaxCodeBlock).forEach(function (code) {\n code.highlight(_this3.options.highlight);\n });\n this.quill.update(_quill2.default.sources.SILENT);\n if (range != null) {\n this.quill.setSelection(range, _quill2.default.sources.SILENT);\n }\n }\n }]);\n\n return Syntax;\n}(_module2.default);\n\nSyntax.DEFAULTS = {\n highlight: function () {\n if (window.hljs == null) return null;\n return function (text) {\n var result = window.hljs.highlightAuto(text);\n return result.value;\n };\n }(),\n interval: 1000\n};\n\nexports.CodeBlock = SyntaxCodeBlock;\nexports.CodeToken = CodeToken;\nexports.default = Syntax;\n\n/***/ }),\n/* 76 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 77 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 78 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 79 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 80 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 81 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 82 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 83 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 84 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 85 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 86 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 87 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 88 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 89 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 90 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 91 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 92 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 93 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 94 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 95 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 96 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 97 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 98 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 99 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 100 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 101 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 102 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 103 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 104 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 105 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 106 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 107 */\n/***/ (function(module, exports) {\n\nmodule.exports = \" \";\n\n/***/ }),\n/* 108 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\"use strict\";\n\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = exports.BubbleTooltip = undefined;\n\nvar _get = function get(object, property, receiver) { if (object === null) object = Function.prototype; var desc = Object.getOwnPropertyDescriptor(object, property); if (desc === undefined) { var parent = Object.getPrototypeOf(object); if (parent === null) { return undefined; } else { return get(parent, property, receiver); } } else if (\"value\" in desc) { return desc.value; } else { var getter = desc.get; if (getter === undefined) { return undefined; } return getter.call(receiver); } };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _extend = __webpack_require__(3);\n\nvar _extend2 = _interopRequireDefault(_extend);\n\nvar _emitter = __webpack_require__(8);\n\nvar _emitter2 = _interopRequireDefault(_emitter);\n\nvar _base = __webpack_require__(43);\n\nvar _base2 = _interopRequireDefault(_base);\n\nvar _selection = __webpack_require__(15);\n\nvar _icons = __webpack_require__(41);\n\nvar _icons2 = _interopRequireDefault(_icons);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar TOOLBAR_CONFIG = [['bold', 'italic', 'link'], [{ header: 1 }, { header: 2 }, 'blockquote']];\n\nvar BubbleTheme = function (_BaseTheme) {\n _inherits(BubbleTheme, _BaseTheme);\n\n function BubbleTheme(quill, options) {\n _classCallCheck(this, BubbleTheme);\n\n if (options.modules.toolbar != null && options.modules.toolbar.container == null) {\n options.modules.toolbar.container = TOOLBAR_CONFIG;\n }\n\n var _this = _possibleConstructorReturn(this, (BubbleTheme.__proto__ || Object.getPrototypeOf(BubbleTheme)).call(this, quill, options));\n\n _this.quill.container.classList.add('ql-bubble');\n return _this;\n }\n\n _createClass(BubbleTheme, [{\n key: 'extendToolbar',\n value: function extendToolbar(toolbar) {\n this.tooltip = new BubbleTooltip(this.quill, this.options.bounds);\n this.tooltip.root.appendChild(toolbar.container);\n this.buildButtons([].slice.call(toolbar.container.querySelectorAll('button')), _icons2.default);\n this.buildPickers([].slice.call(toolbar.container.querySelectorAll('select')), _icons2.default);\n }\n }]);\n\n return BubbleTheme;\n}(_base2.default);\n\nBubbleTheme.DEFAULTS = (0, _extend2.default)(true, {}, _base2.default.DEFAULTS, {\n modules: {\n toolbar: {\n handlers: {\n link: function link(value) {\n if (!value) {\n this.quill.format('link', false);\n } else {\n this.quill.theme.tooltip.edit();\n }\n }\n }\n }\n }\n});\n\nvar BubbleTooltip = function (_BaseTooltip) {\n _inherits(BubbleTooltip, _BaseTooltip);\n\n function BubbleTooltip(quill, bounds) {\n _classCallCheck(this, BubbleTooltip);\n\n var _this2 = _possibleConstructorReturn(this, (BubbleTooltip.__proto__ || Object.getPrototypeOf(BubbleTooltip)).call(this, quill, bounds));\n\n _this2.quill.on(_emitter2.default.events.EDITOR_CHANGE, function (type, range, oldRange, source) {\n if (type !== _emitter2.default.events.SELECTION_CHANGE) return;\n if (range != null && range.length > 0 && source === _emitter2.default.sources.USER) {\n _this2.show();\n // Lock our width so we will expand beyond our offsetParent boundaries\n _this2.root.style.left = '0px';\n _this2.root.style.width = '';\n _this2.root.style.width = _this2.root.offsetWidth + 'px';\n var lines = _this2.quill.getLines(range.index, range.length);\n if (lines.length === 1) {\n _this2.position(_this2.quill.getBounds(range));\n } else {\n var lastLine = lines[lines.length - 1];\n var index = _this2.quill.getIndex(lastLine);\n var length = Math.min(lastLine.length() - 1, range.index + range.length - index);\n var _bounds = _this2.quill.getBounds(new _selection.Range(index, length));\n _this2.position(_bounds);\n }\n } else if (document.activeElement !== _this2.textbox && _this2.quill.hasFocus()) {\n _this2.hide();\n }\n });\n return _this2;\n }\n\n _createClass(BubbleTooltip, [{\n key: 'listen',\n value: function listen() {\n var _this3 = this;\n\n _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'listen', this).call(this);\n this.root.querySelector('.ql-close').addEventListener('click', function () {\n _this3.root.classList.remove('ql-editing');\n });\n this.quill.on(_emitter2.default.events.SCROLL_OPTIMIZE, function () {\n // Let selection be restored by toolbar handlers before repositioning\n setTimeout(function () {\n if (_this3.root.classList.contains('ql-hidden')) return;\n var range = _this3.quill.getSelection();\n if (range != null) {\n _this3.position(_this3.quill.getBounds(range));\n }\n }, 1);\n });\n }\n }, {\n key: 'cancel',\n value: function cancel() {\n this.show();\n }\n }, {\n key: 'position',\n value: function position(reference) {\n var shift = _get(BubbleTooltip.prototype.__proto__ || Object.getPrototypeOf(BubbleTooltip.prototype), 'position', this).call(this, reference);\n var arrow = this.root.querySelector('.ql-tooltip-arrow');\n arrow.style.marginLeft = '';\n if (shift === 0) return shift;\n arrow.style.marginLeft = -1 * shift - arrow.offsetWidth / 2 + 'px';\n }\n }]);\n\n return BubbleTooltip;\n}(_base.BaseTooltip);\n\nBubbleTooltip.TEMPLATE = ['', '
', '', '', '
'].join('');\n\nexports.BubbleTooltip = BubbleTooltip;\nexports.default = BubbleTheme;\n\n/***/ }),\n/* 109 */\n/***/ (function(module, exports, __webpack_require__) {\n\nmodule.exports = __webpack_require__(63);\n\n\n/***/ })\n/******/ ])[\"default\"];\n});","!function(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e(require(\"quill\")):\"function\"==typeof define&&define.amd?define([\"quill\"],e):\"object\"==typeof exports?exports.VueQuillEditor=e(require(\"quill\")):t.VueQuillEditor=e(t.Quill)}(this,function(t){return function(t){function e(i){if(n[i])return n[i].exports;var l=n[i]={i:i,l:!1,exports:{}};return t[i].call(l.exports,l,l.exports,e),l.l=!0,l.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,i){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:i})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,\"a\",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p=\"/\",e(e.s=2)}([function(e,n){e.exports=t},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0});var i=n(4),l=n.n(i),o=n(6),r=n(5),u=r(l.a,o.a,!1,null,null,null);e.default=u.exports},function(t,e,n){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0}),e.install=e.quillEditor=e.Quill=void 0;var l=n(0),o=i(l),r=n(1),u=i(r),s=window.Quill||o.default,a=function(t,e){e&&(u.default.props.globalOptions.default=function(){return e}),t.component(u.default.name,u.default)},c={Quill:s,quillEditor:u.default,install:a};e.default=c,e.Quill=s,e.quillEditor=u.default,e.install=a},function(t,e,n){\"use strict\";Object.defineProperty(e,\"__esModule\",{value:!0}),e.default={theme:\"snow\",boundary:document.body,modules:{toolbar:[[\"bold\",\"italic\",\"underline\",\"strike\"],[\"blockquote\",\"code-block\"],[{header:1},{header:2}],[{list:\"ordered\"},{list:\"bullet\"}],[{script:\"sub\"},{script:\"super\"}],[{indent:\"-1\"},{indent:\"+1\"}],[{direction:\"rtl\"}],[{size:[\"small\",!1,\"large\",\"huge\"]}],[{header:[1,2,3,4,5,6,!1]}],[{color:[]},{background:[]}],[{font:[]}],[{align:[]}],[\"clean\"],[\"link\",\"image\",\"video\"]]},placeholder:\"Insert text here ...\",readOnly:!1}},function(t,e,n){\"use strict\";function i(t){return t&&t.__esModule?t:{default:t}}Object.defineProperty(e,\"__esModule\",{value:!0});var l=n(0),o=i(l),r=n(3),u=i(r),s=window.Quill||o.default;\"function\"!=typeof Object.assign&&Object.defineProperty(Object,\"assign\",{value:function(t,e){if(null==t)throw new TypeError(\"Cannot convert undefined or null to object\");for(var n=Object(t),i=1;i

\"===l&&(l=\"\"),t._content=l,t.$emit(\"input\",t._content),t.$emit(\"change\",{html:l,text:r,quill:o})}),this.$emit(\"ready\",this.quill))}},watch:{content:function(t,e){this.quill&&(t&&t!==this._content?(this._content=t,this.quill.pasteHTML(t)):t||this.quill.setText(\"\"))},value:function(t,e){this.quill&&(t&&t!==this._content?(this._content=t,this.quill.pasteHTML(t)):t||this.quill.setText(\"\"))},disabled:function(t,e){this.quill&&this.quill.enable(!t)}}}},function(t,e){t.exports=function(t,e,n,i,l,o){var r,u=t=t||{},s=typeof t.default;\"object\"!==s&&\"function\"!==s||(r=t,u=t.default);var a=\"function\"==typeof u?u.options:u;e&&(a.render=e.render,a.staticRenderFns=e.staticRenderFns,a._compiled=!0),n&&(a.functional=!0),l&&(a._scopeId=l);var c;if(o?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||\"undefined\"==typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(o)},a._ssrRegister=c):i&&(c=i),c){var d=a.functional,f=d?a.render:a.beforeCreate;d?(a._injectStyles=c,a.render=function(t,e){return c.call(e),f(t,e)}):a.beforeCreate=f?[].concat(f,c):[c]}return{esModule:r,exports:u,options:a}}},function(t,e,n){\"use strict\";var i=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n(\"div\",{staticClass:\"quill-editor\"},[t._t(\"toolbar\"),t._v(\" \"),n(\"div\",{ref:\"editor\"})],2)},l=[],o={render:i,staticRenderFns:l};e.a=o}])});","/*\n * [js-sha1]\n *\n * @version 0.6.0\n * @copyright H, J-C 2018-9-28\n * @license MIT\n */\n\nvar CryptoJS = CryptoJS || function (g, l) {\n\tvar e = {}, d = e.lib = {}, m = function () { }, k = d.Base = {\n\t\textend: function (a) {\n\t\t\tm.prototype = this;\n\t\t\tvar c = new m;\n\t\t\ta && c.mixIn(a);\n\t\t\tc.hasOwnProperty(\"init\") || (c.init = function () {\n\t\t\tc.$super.init.apply(this, arguments)\n\t\t\t});\n\t\t\tc.init.prototype = c;\n\t\t\tc.$super = this;\n\t\t\treturn c\n\t\t},\n\t\tcreate: function () {\n\t\t\tvar a = this.extend();\n\t\t\ta.init.apply(a, arguments);\n\t\t\treturn a\n\t\t},\n\t\tinit: function () { },\n\t\tmixIn: function (a) {\n\t\t\tfor (var c in a) a.hasOwnProperty(c) && (this[c] = a[c]);\n\t\t\ta.hasOwnProperty(\"toString\") && (this.toString = a.toString)\n\t\t},\n\t\tclone: function () {\n\t\t\treturn this.init.prototype.extend(this)\n\t\t}\n\t},\n\tp = d.WordArray = k.extend({\n\t\tinit: function (a, c) {\n\t\t\ta = this.words = a || [];\n\t\t\tthis.sigBytes = c != l ? c : 4 * a.length\n\t\t},\n\t\ttoString: function (a) {\n\t\t \treturn (a || n).stringify(this)\n\t\t},\n\t\tconcat: function (a) {\n\t\t\tvar c = this.words,\n\t\t\t\tq = a.words,\n\t\t\t\tf = this.sigBytes;\n\t\t\ta = a.sigBytes;\n\t\t\tthis.clamp();\n\t\t\tif (f % 4)\n\t\t\t\tfor (var b = 0; b < a; b++) c[f + b >>> 2] |= (q[b >>> 2] >>> 24 - 8 * (b % 4) & 255) << 24 - 8 * ((f + b) % 4);\n\t\t\telse if (65535 < q.length)\n\t\t\t\tfor (b = 0; b < a; b += 4) c[f + b >>> 2] = q[b >>> 2];\n\t\t\telse c.push.apply(c, q);\n\t\t\tthis.sigBytes += a;\n\t\t\treturn this\n\t\t},\n\t\tclamp: function () {\n\t\t\tvar a = this.words,\n\t\t\tc = this.sigBytes;\n\t\t\ta[c >>> 2] &= 4294967295 << 32 - 8 * (c % 4);\n\t\t\ta.length = g.ceil(c / 4)\n\t\t},\n\t\tclone: function () {\n\t\t\tvar a = k.clone.call(this);\n\t\t\ta.words = this.words.slice(0);\n\t\t\treturn a\n\t\t},\n\t\trandom: function (a) {\n\t\t\tfor (var c = [], b = 0; b < a; b += 4) c.push(4294967296 * g.random() | 0);\n\t\t\treturn new p.init(c, a)\n\t\t}\n\t}),\n\tb = e.enc = {}, n = b.Hex = {\n\t\tstringify: function (a) {\n\t\t\tvar c = a.words;\n\t\t\ta = a.sigBytes;\n\t\t\tfor (var b = [], f = 0; f < a; f++) {\n\t\t\t\tvar d = c[f >>> 2] >>> 24 - 8 * (f % 4) & 255;\n\t\t\t\tb.push((d >>> 4).toString(16));\n\t\t\t\tb.push((d & 15).toString(16))\n\t\t\t}\n\t\t\treturn b.join(\"\")\n\t\t},\n\t\tparse: function (a) {\n\t\t\tfor (var c = a.length, b = [], f = 0; f < c; f += 2) b[f >>> 3] |= parseInt(a.substr(f, 2), 16) << 24 - 4 * (f % 8);\n\t\t\treturn new p.init(b, c / 2)\n\t\t}\n\t}, j = b.Latin1 = {\n\t\tstringify: function (a) {\n\t\t var c = a.words;\n\t\t a = a.sigBytes;\n\t\t for (var b = [], f = 0; f < a; f++) b.push(String.fromCharCode(c[f >>> 2] >>> 24 - 8 * (f % 4) & 255));\n\t\t return b.join(\"\")\n\t\t},\n\t\tparse: function (a) {\n\t\t for (var c = a.length, b = [], f = 0; f < c; f++) b[f >>> 2] |= (a.charCodeAt(f) & 255) << 24 - 8 * (f % 4);\n\t\t return new p.init(b, c)\n\t\t}\n\t}, h = b.Utf8 = {\n\t\tstringify: function (a) {\n\t\t\ttry {\n\t\t\t\treturn decodeURIComponent(escape(j.stringify(a)))\n\t\t\t} catch (c) {\n\t\t\t\tthrow Error(\"Malformed UTF-8 data\");\n\t\t\t}\n\t\t},\n\t\tparse: function (a) {\n\t\t \treturn j.parse(unescape(encodeURIComponent(a)))\n\t\t}\n\t},\n\tr = d.BufferedBlockAlgorithm = k.extend({\n\t\treset: function () {\n\t\t\tthis._data = new p.init;\n\t\t\tthis._nDataBytes = 0\n\t\t},\n\t\t_append: function (a) {\n\t\t\t\"string\" == typeof a && (a = h.parse(a));\n\t\t\tthis._data.concat(a);\n\t\t\tthis._nDataBytes += a.sigBytes\n\t\t},\n\t\t_process: function (a) {\n\t\t\tvar c = this._data,\n\t\t\tb = c.words,\n\t\t\tf = c.sigBytes,\n\t\t\td = this.blockSize,\n\t\t\te = f / (4 * d),\n\t\t\te = a ? g.ceil(e) : g.max((e | 0) - this._minBufferSize, 0);\n\t\t\ta = e * d;\n\t\t\tf = g.min(4 * a, f);\n\t\t\tif (a) {\n\t\t\t\tfor (var k = 0; k < a; k += d) this._doProcessBlock(b, k);\n\t\t\t\tk = b.splice(0, a);\n\t\t\t\tc.sigBytes -= f\n\t\t\t}\n\t\t\treturn new p.init(k, f)\n\t\t},\n\t\tclone: function () {\n\t\t\tvar a = k.clone.call(this);\n\t\t\ta._data = this._data.clone();\n\t\t\treturn a\n\t\t},\n\t\t_minBufferSize: 0\n\t});\n\td.Hasher = r.extend({\n\t\tcfg: k.extend(),\n\t\tinit: function (a) {\n\t\t\tthis.cfg = this.cfg.extend(a);\n\t\t\tthis.reset()\n\t\t},\n\t\treset: function () {\n\t\t\tr.reset.call(this);\n\t\t\tthis._doReset()\n\t\t},\n\t\tupdate: function (a) {\n\t\t\tthis._append(a);\n\t\t\tthis._process();\n\t\t\treturn this\n\t\t},\n\t\tfinalize: function (a) {\n\t\t\ta && this._append(a);\n\t\t\treturn this._doFinalize()\n\t\t},\n\t\tblockSize: 16,\n\t\t_createHelper: function (a) {\n\t\t\treturn function (b, d) {\n\t\t\treturn (new a.init(d)).finalize(b)\n\t\t\t}\n\t\t},\n\t\t_createHmacHelper: function (a) {\n\t\t\treturn function (b, d) {\n\t\t\treturn (new s.HMAC.init(a, d)).finalize(b)\n\t\t\t}\n\t\t}\n\t});\n\tvar s = e.algo = {};\n\treturn e\n}(Math);\n\n(function () {\n\tvar g = CryptoJS,\n\t\tl = g.lib,\n\t\te = l.WordArray,\n\t\td = l.Hasher,\n\t\tm = [],\n\t\tl = g.algo.SHA1 = d.extend({\n\t\t\t_doReset: function () {\n\t\t\t\tthis._hash = new e.init([1732584193, 4023233417, 2562383102, 271733878, 3285377520])\n\t\t\t},\n\t\t\t_doProcessBlock: function (d, e) {\n\t\t\t\tfor (var b = this._hash.words, n = b[0], j = b[1], h = b[2], g = b[3], l = b[4], a = 0; 80 > a; a++) {\n\t\t\t\t\tif (16 > a) m[a] = d[e + a] | 0;\n\t\t\t\t\telse {\n\t\t\t\t\tvar c = m[a - 3] ^ m[a - 8] ^ m[a - 14] ^ m[a - 16];\n\t\t\t\t\tm[a] = c << 1 | c >>> 31\n\t\t\t\t\t}\n\t\t\t\t\tc = (n << 5 | n >>> 27) + l + m[a];\n\t\t\t\t\tc = 20 > a ? c + ((j & h | ~j & g) + 1518500249) : 40 > a ? c + ((j ^ h ^ g) + 1859775393) : 60 > a ? c + ((j & h | j & g | h & g) - 1894007588) : c + ((j ^ h ^ g) - 899497514);\n\t\t\t\t\tl = g;\n\t\t\t\t\tg = h;\n\t\t\t\t\th = j << 30 | j >>> 2;\n\t\t\t\t\tj = n;\n\t\t\t\t\tn = c\n\t\t\t\t}\n\t\t\t\tb[0] = b[0] + n | 0;\n\t\t\t\tb[1] = b[1] + j | 0;\n\t\t\t\tb[2] = b[2] + h | 0;\n\t\t\t\tb[3] = b[3] + g | 0;\n\t\t\t\tb[4] = b[4] + l | 0\n\t\t\t},\n\t\t\t_doFinalize: function () {\n\t\t\t\tvar d = this._data,\n\t\t\t\t\te = d.words,\n\t\t\t\t\tb = 8 * this._nDataBytes,\n\t\t\t\t\tg = 8 * d.sigBytes;\n\t\t\t\te[g >>> 5] |= 128 << 24 - g % 32;\n\t\t\t\te[(g + 64 >>> 9 << 4) + 14] = Math.floor(b / 4294967296);\n\t\t\t\te[(g + 64 >>> 9 << 4) + 15] = b;\n\t\t\t\td.sigBytes = 4 * e.length;\n\t\t\t\tthis._process();\n\t\t\t\treturn this._hash\n\t\t\t},\n\t\t\tclone: function () {\n\t\t\t\tvar e = d.clone.call(this);\n\t\t\t\te._hash = this._hash.clone();\n\t\t\t\treturn e\n\t\t\t}\n\t});\n\tg.SHA1 = d._createHelper(l);\n\tg.HmacSHA1 = d._createHmacHelper(l)\n})();\n\n(function () {\n\tvar g = CryptoJS,\n\t\tl = g.enc.Utf8;\n\t\tg.algo.HMAC = g.lib.Base.extend({\n\t\tinit: function (e, d) {\n\t\t\te = this._hasher = new e.init;\n\t\t\t\"string\" == typeof d && (d = l.parse(d));\n\t\t\tvar g = e.blockSize,\n\t\t\tk = 4 * g;\n\t\t\td.sigBytes > k && (d = e.finalize(d));\n\t\t\td.clamp();\n\t\t\tfor (var p = this._oKey = d.clone(), b = this._iKey = d.clone(), n = p.words, j = b.words, h = 0; h < g; h++) n[h] ^= 1549556828, j[h] ^= 909522486;\n\t\t\tp.sigBytes = b.sigBytes = k;\n\t\t\tthis.reset()\n\t\t},\n\t\treset: function () {\n\t\t\tvar e = this._hasher;\n\t\t\te.reset();\n\t\t\te.update(this._iKey)\n\t\t},\n\t\tupdate: function (e) {\n\t\t\tthis._hasher.update(e);\n\t\t\treturn this\n\t\t},\n\t\tfinalize: function (e) {\n\t\t\tvar d = this._hasher;\n\t\t\te = d.finalize(e);\n\t\t\td.reset();\n\t\t\treturn d.finalize(this._oKey.clone().concat(e))\n\t\t}\n\t})\n})();\n \n //使用算法\n // var key = \"f7205fffe445421fdssdfsdfdsfs\"\n // var sha1_result = CryptoJS.HmacSHA1(\"helloword\", key)\n // console.log('-------',sha1_result.toString())\n\n\nwindow && (window.CryptoJSTest = CryptoJS);"],"names":["render","_vm","this","_c","_self","staticClass","modileFlag","on","mouseHover","attrs","txtContent","_v","class","userClass","style","height","userHeight","_s","userId","_l","userList","item","index","key","directives","name","rawName","value","showFlag","expression","roomId","exitRoom","_e","userClassPhone","textVisible","$event","ref","editorOption","onEditorBlur","onEditorFocus","onEditorReady","model","contentValue","callback","$$v","updataFlag","updataClick","staticRenderFns","baseUrl","startVideo","data","axios","post","stopVideo","destructionRoom","htmlToPDF","secretaryRoleByUserId","get","roleFlag","components","taskId","methods","destructionRoomFn","then","res","console","log","stopVideoFn","$emit","startVideoFn","caseId","mounted","$route","query","flag","component","formatSignString","params","strParam","signStr","keys","Object","sort","i","len","length","slice","async","createQuery","time","Date","getTime","getServerTime","Promise","resolve","reject","xhr","XMLHttpRequest","open","send","onreadystatechange","readyState","status","responseText","error","serverTime","secretid","engine_model_type","parseInt","Math","round","guid","hasOwnProperty","voice_format","hotword_id","needvad","filter_dirty","filter_modal","filter_punc","convert_num_mode","word_info","vad_silence_time","max_speak_time","token","extend_params","replace","c","r","random","v","toString","getUrl","self","appid","OnError","urlQuery","queryStr","signature","signCallback","secretkey","encodeURIComponent","toUint8Array","wordArray","words","sigBytes","u8","Uint8Array","Uint8ArrayToString","fileData","dataString","String","fromCharCode","secretKey","hash","window","CryptoJSTest","HmacSHA1","bytes","btoa","TAG","SpeechRecognizer","constructor","requestId","isLog","socket","isSignSuccess","isSentenceBegin","isRecognizeComplete","sendCount","getMessageList","stop","JSON","stringify","type","code","message","close","start","url","WebSocket","MozWebSocket","onopen","e","onmessage","push","response","parse","OnRecognitionStart","final","OnRecognitionComplete","result","slice_type","OnSentenceBegin","OnSentenceEnd","OnRecognitionResultChange","onerror","onclose","event","write","setTimeout","audioWorkletCode","to16kHz","to16BitPCM","audioWorkletBlobURL","URL","createObjectURL","Blob","ASR","options","audioTrack","audioContext","AudioContext","webkitAudioContext","speechRecognizer","isCanSendData","audioData","secretId","appId","OnChange","bind","getAudioData","mediaStream","MediaStream","addTrack","mediaStreamSource","createMediaStreamSource","audioWorklet","addModule","myNode","AudioWorkletNode","numberOfInputs","numberOfOutputs","channelCount","port","connect","destination","catch","scriptProcessor","createScriptProcessor","onaudioprocess","inputData","inputBuffer","getChannelData","output","sampleRate","Int8Array","buffer","audioDataArray","suspend","input","dataLength","dataBuffer","ArrayBuffer","dataView","DataView","offset","s","max","min","setInt16","Float32Array","fitCount","newData","springFactor","tmp","before","floor","toFixed","after","ceil","atPoint","trtc","roomFooter","roomFooterPhone","quillEditor","userPhoneHeight","userSign","id","localStreamAsr","asrList","htmlContent","$message","msg","quill","content","enable","onEditorChange","html","text","forEach","updateLocalVideo","publish","updateLocalAudio","destroy","$router","getPushVideo","TRTC","REMOTE_VIDEO_AVAILABLE","streamType","aoido","getAudioTrack","voice_text_str","getWidth","getHeight","getWidthPhone","startRemoteVideo","view","deletePushVideo","REMOTE_VIDEO_UNAVAILABLE","hostId","alert","deleteIndex","indexOf","filter","splice","reserveConferenceListFn","reserveConferenceList","userName","secretaryRoleByUserIdFn","isSecretaryRole","computed","editor","$refs","myQuillEditor","getModile","sdkAppId","getUsersig","enterRoom","Number","scene","userSig","startLocalVideo","document","getElementById","startLocalAudio","created","root","factory","module","exports","modules","installedModules","__webpack_require__","moduleId","l","call","m","d","getter","o","defineProperty","configurable","enumerable","n","__esModule","object","property","prototype","p","container_1","format_1","leaf_1","scroll_1","inline_1","block_1","embed_1","text_1","attributor_1","class_1","style_1","store_1","Registry","Parchment","Scope","create","find","register","Container","default","Format","Leaf","Embed","Scroll","Block","Inline","Text","Attributor","Attribute","Class","Style","Store","__extends","extendStatics","setPrototypeOf","__proto__","Array","b","__","ParchmentError","_super","_this","Error","attributes","classes","tags","types","match","BlotClass","node","Node","TEXT_NODE","bubble","DATA_KEY","blot","parentNode","scope","ANY","LEVEL","BLOCK","INLINE","HTMLElement","names","getAttribute","split","tagName","TYPE","Definitions","_i","arguments","map","Definition","blotName","attrName","keyName","className","isArray","toUpperCase","tagNames","tag","diff","equal","extend","op","NULL_CHARACTER","Delta","ops","insert","newOp","retain","lastOp","unshift","chop","pop","predicate","partition","passed","failed","target","reduce","initial","changeLength","elem","delete","end","Infinity","iter","iterator","hasNext","nextOp","next","compose","other","thisIter","otherIter","firstOther","peek","firstLeft","peekType","peekLength","delta","thisOp","otherOp","rest","concat","strings","prep","join","diffResult","opLength","INSERT","DELETE","EQUAL","eachLine","newline","line","transform","priority","transformPosition","nextType","hasOwn","toStr","gOPD","getOwnPropertyDescriptor","arr","isPlainObject","obj","hasOwnConstructor","hasIsPrototypeOf","setProperty","newValue","writable","getProperty","src","copy","copyIsArray","clone","deep","BlockEmbed","bubbleFormats","undefined","_createClass","defineProperties","props","descriptor","Constructor","protoProps","staticProps","_get","receiver","Function","desc","parent","getPrototypeOf","_extend","_extend2","_interopRequireDefault","_quillDelta","_quillDelta2","_parchment","_parchment2","_break","_break2","_inline","_inline2","_text","_text2","_classCallCheck","instance","TypeError","_possibleConstructorReturn","ReferenceError","_inherits","subClass","superClass","NEWLINE_LENGTH","_Parchment$Embed","apply","domNode","formats","values","attribute","BLOCK_ATTRIBUTE","format","def","endsWith","block","insertBefore","insertAt","BLOCK_BLOT","_Parchment$Block","_this2","cache","descendants","leaf","lines","shift","children","tail","head","remove","context","child","force","statics","defaultChild","allowedChildren","overload","expandConfig","_typeof","Symbol","_slicedToArray","sliceIterator","_arr","_n","_d","done","err","_editor","_editor2","_emitter3","_emitter4","_module","_module2","_selection","_selection2","_logger","_logger2","_theme","_theme2","_defineProperty","debug","Quill","container","innerHTML","trim","classList","add","__quill","addContainer","setAttribute","scrollingContainer","emitter","scroll","whitelist","selection","theme","keyboard","clipboard","history","init","events","EDITOR_CHANGE","TEXT_CHANGE","toggle","isBlank","SCROLL_UPDATE","source","mutations","range","lastRange","modify","update","contents","convert","setContents","clear","placeholder","readOnly","disable","limit","level","imports","path","overwrite","warn","startsWith","refNode","createElement","setRange","_this3","_overload","_overload2","deleteText","enabled","scrollTop","focus","scrollIntoView","_this4","sources","API","getSelection","change","formatLine","formatText","setSelection","SILENT","_this5","_overload3","_overload4","_this6","_overload5","_overload6","bounds","getBounds","containerBounds","getBoundingClientRect","bottom","top","left","right","width","getLength","_overload7","_overload8","getContents","getFormat","MAX_VALUE","getRange","_overload9","_overload10","getText","hasFocus","embed","_this7","insertEmbed","_this8","_overload11","_overload12","insertText","contains","off","once","dangerouslyPasteHTML","_this9","_overload13","_overload14","removeFormat","_this10","deleted","applied","applyDelta","ret","_overload15","_overload16","Range","USER","_this11","userConfig","DEFAULTS","import","themeConfig","config","moduleNames","moduleConfig","moduleClass","toolbar","querySelector","modifier","strict","isEnabled","oldDelta","shiftRange","_emitter","_emitter2","args","emit","_map","pos","_map2","_map3","_map4","version","_Parchment$Inline","compare","BLOT","isolate","wrap","moveChildren","selfIndex","order","otherIndex","TextBlot","_Parchment$Text","_eventemitter","_eventemitter2","EVENTS","eventName","addEventListener","_len","_key","querySelectorAll","_node$__quill$emitter","handleDOM","Emitter","_EventEmitter","listeners","_len2","_key2","_ref","handler","SCROLL_BEFORE_UPDATE","SCROLL_OPTIMIZE","SELECTION_CHANGE","Module","levels","method","_console","namespace","ns","logger","newLevel","pSlice","objectKeys","isArguments","deepEqual","actual","expected","opts","objEquiv","isUndefinedOrNull","isBuffer","x","a","ka","kb","attributeBit","ATTRIBUTE","canAdd","removeAttribute","Code","_block","_block2","_Inline","CodeBlock","_Block","textContent","frag","_descendant","descendant","_descendant2","deleteAt","nextNewline","newlineIndex","prevNewline","isolateLength","formatAt","_descendant3","_descendant4","searchIndex","reverse","lastIndexOf","appendChild","prev","optimize","removeChild","unwrap","TAB","_op","_op2","_code","_code2","_cursor","_cursor2","_clone","_clone2","_deepEqual","_deepEqual2","ASCII","Editor","getDelta","consumeNextNewline","scrollLength","batchStart","normalizeDelta","_scroll$line","_scroll$line2","_line$descendant","_line$descendant2","batchEnd","lengthRemaining","lineLength","codeIndex","codeLength","leaves","_path","formatsArr","blots","combineFormats","_scroll$line3","_scroll$line4","suffixLength","suffix","cursorIndex","textBlot","oldValue","CONTENTS","oldText","newText","diffDelta","combined","merged","image","list","bullet","_toConsumableArray","arr2","from","Selection","composing","mouseDown","cursor","savedRange","handleComposition","handleDragging","listenDOM","native","getNativeRange","textNode","setNativeRange","ignored","_context$range","startNode","startOffset","endNode","endOffset","restore","body","_format","nativeRange","collapsed","attach","_scroll$leaf","_scroll$leaf2","_leaf$position","position","_leaf$position2","createRange","setStart","_scroll$leaf3","_scroll$leaf4","_leaf$position3","_leaf$position4","setEnd","side","rect","rangeCount","getRangeAt","normalizeNative","info","normalized","normalizedToRange","activeElement","positions","indexes","_position","startContainer","endContainer","childNodes","lastChild","_scroll$leaf5","_scroll$leaf6","_leaf$position5","_leaf$position6","first","last","scrollBounds","removeAllRanges","addRange","blur","rangeToNative","oldRange","_getRange","_getRange2","Break","linked_list_1","shadow_1","ContainerBlot","build","makeBlot","forEachAt","criteria","_a","lengthLeft","detach","childBlot","refBlot","some","insertInto","memo","targetParent","inclusive","addedNodes","removedNodes","mutation","compareDocumentPosition","DOCUMENT_POSITION_CONTAINED_BY","DOCUMENT_POSITION_FOLLOWING","nextSibling","replaceChild","FormatBlot","toLowerCase","replaceWith","replacement","wrapper","move","LeafBlot","INLINE_BLOT","lib","keepNull","Iterator","retOp","substr","_instanceof","nativeMap","nativeSet","nativePromise","Map","_","Set","circular","depth","includeNonEnumerable","allParents","allChildren","useBuffer","Buffer","proto","__isArray","__isRegExp","RegExp","__getRegExpFlags","lastIndex","__isDate","allocUnsafe","keyChild","valueChild","set","entryChild","getOwnPropertySymbols","symbols","symbol","allPropertyNames","getOwnPropertyNames","propertyName","__objToStr","re","flags","global","ignoreCase","multiline","clonePrototype","_container","_container2","isLine","_Parchment$Scroll","batch","_line","_line2","_line3","_line4","_newlineIndex","getLines","observer","takeRecords","SHORTKEY","_quill","_quill2","test","navigator","platform","Keyboard","_Module","bindings","addBinding","ENTER","shiftKey","handleEnter","metaKey","ctrlKey","altKey","userAgent","BACKSPACE","handleBackspace","handleDelete","prefix","handleDeleteRange","listen","evt","binding","normalize","which","keyCode","defaultPrevented","_quill$getLine","getLine","_quill$getLine2","_quill$getLeaf","getLeaf","_quill$getLeaf2","leafStart","offsetStart","_ref2","leafEnd","offsetEnd","prefixText","suffixText","curContext","empty","prevented","every","preventDefault","makeEmbedArrowHandler","_ref3","where","LEFT","RIGHT","_quill$getLeaf3","_quill$getLeaf4","_quill$getLine11","_quill$getLine12","_quill$getLine13","_quill$getLine14","curFormats","prevFormats","nextLength","_quill$getLine15","_quill$getLine16","_quill$getLine17","_quill$getLine18","nextFormats","firstFormats","lastFormats","lineFormats","makeCodeBlockHandler","indent","_quill$scroll$descend","_quill$scroll$descend2","scrollIndex","getIndex","makeFormatHandler","shortKey","charCodeAt","ESCAPE","UP","DOWN","cutoff","updateContents","_quill$getLine3","_quill$getLine4","_quill$getLine5","_quill$getLine6","header","_quill$getLine7","_quill$getLine8","_quill$getLine9","_quill$getLine10","Cursor","createTextNode","_length","restoreText","_Parchment$Container","ColorStyle","ColorClass","ColorAttributor","_Parchment$Attributor","sanitize","Link","_sanitize","PROTOCOL_WHITELIST","SANITIZED_URL","protocols","anchor","href","protocol","_keyboard","_keyboard2","_dropdown","_dropdown2","optionsCounter","toggleAriaAttribute","element","Picker","select","buildPicker","display","label","togglePicker","escape","option","tabIndex","hasAttribute","selectItem","buildItem","selected","buildLabel","buildOptions","trigger","selectedIndex","Event","dispatchEvent","createEvent","initEvent","isActive","_embed","_embed2","_scroll","_scroll2","_clipboard","_clipboard2","_history","_history2","ShadowBlot","cloneNode","parentBlot","refDomNode","AttributorStore","styles","attr","ClassAttributor","matches","camelize","parts","part","StyleAttributor","Theme","themes","GUARD_TEXT","contentNode","childNode","leftGuard","rightGuard","prevLength","AlignStyle","AlignClass","AlignAttribute","BackgroundStyle","BackgroundClass","_color","DirectionStyle","DirectionClass","DirectionAttribute","FontClass","FontStyle","FontStyleAttributor","SizeStyle","SizeClass","getLastChangeIndex","History","lastRecorded","ignoreChange","userOnly","record","undo","redo","dest","stack","changeDelta","undoDelta","timestamp","now","delay","maxStack","endsWithNewlineChange","deleteLength","changeIndex","BaseTooltip","_colorPicker","_colorPicker2","_iconPicker","_iconPicker2","_picker","_picker2","_tooltip","_tooltip2","ALIGNS","COLORS","FONTS","HEADERS","SIZES","BaseTheme","_Theme","listener","removeEventListener","tooltip","textbox","hide","pickers","picker","extendToolbar","buttons","icons","button","selects","fillSelect","align","handlers","formula","edit","fileInput","files","reader","FileReader","onload","readAsDataURL","click","video","_Tooltip","boundsContainer","save","cancel","mode","preview","linkRange","restoreFocus","extractVideoUrl","defaultValue","LinkedList","append","nodes","cur","curNode","curIndex","curLength","OBSERVER_CONFIG","characterData","characterDataOldValue","childList","subtree","MAX_OPTIMIZE_ITERATIONS","ScrollBlot","MutationObserver","observe","disconnect","records","mark","markParent","remaining","previousSibling","grandChild","isEqual","obj1","obj2","prop","InlineBlot","BlockBlot","EmbedBlot","splitText","_toggle","DOMTokenList","searchString","subjectString","isFinite","thisArg","execCommand","DIFF_DELETE","DIFF_INSERT","DIFF_EQUAL","diff_main","text1","text2","cursor_pos","commonlength","diff_commonPrefix","commonprefix","substring","diff_commonSuffix","commonsuffix","diffs","diff_compute_","diff_cleanupMerge","fix_cursor","fix_emoji","longtext","shorttext","hm","diff_halfMatch_","text1_a","text1_b","text2_a","text2_b","mid_common","diffs_a","diffs_b","diff_bisect_","text1_length","text2_length","max_d","v_offset","v_length","v1","v2","front","k1start","k1end","k2start","k2end","k1","k1_offset","x1","y1","charAt","k2_offset","x2","diff_bisectSplit_","k2","y2","y","text1a","text2a","text1b","text2b","diffsb","pointermin","pointermax","pointermid","pointerstart","pointerend","diff_halfMatchI_","best_longtext_a","best_longtext_b","best_shorttext_a","best_shorttext_b","seed","j","best_common","prefixLength","hm1","hm2","pointer","count_delete","count_insert","text_delete","text_insert","changes","cursor_normalize_diff","current_pos","next_pos","split_pos","d_left","d_right","norm","ndiffs","cursor_pointer","d_next","merge_tuples","compact","starts_with_pair_end","str","ends_with_pair_start","fixed_diffs","left_d","right_d","shim","supportsArgumentsClass","supported","unsupported","propertyIsEnumerable","has","Events","EE","fn","EventEmitter","_events","_eventsCount","eventNames","exists","available","ee","a1","a2","a3","a4","a5","removeListener","removeAllListeners","addListener","setMaxListeners","prefixed","matchText","matchSpacing","matchNewline","matchBlot","matchAttributor","_extend3","_align","_background","_direction","_font","_size","DOM_KEY","CLIPBOARD_CONFIG","matchBreak","ELEMENT_NODE","matchStyles","matchIndent","matchAlias","matchIgnore","ATTRIBUTE_ATTRIBUTORS","STYLE_ATTRIBUTORS","Clipboard","onPaste","matchers","selector","matcher","matchVisual","addMatcher","innerText","_prepareMatching","prepareMatching","_prepareMatching2","elementMatchers","textMatchers","traverse","deltaEndsWith","paste","pair","_pair","applyFormat","computeStyle","nodeType","getComputedStyle","endText","childrenDelta","nextElementSibling","nodeHeight","offsetHeight","parseFloat","marginTop","marginBottom","offsetTop","fontStyle","italic","fontWeight","bold","textIndent","whiteSpace","replacer","collapse","Bold","addControls","Toolbar","_ret","controls","addHandler","_this$quill$selection","_this$quill$selection2","_quill$selection$getR","_quill$selection$getR2","prompt","addButton","groups","group","control","addSelect","clean","direction","link","ColorPicker","_Picker","backgroundColor","colorLabel","stroke","fill","IconPicker","defaultItem","Tooltip","TEMPLATE","reference","offsetWidth","rootBounds","verticalShift","_base","_base2","_link","_link2","_icons","_icons2","TOOLBAR_CONFIG","SnowTheme","_BaseTheme","buildButtons","buildPickers","SnowTooltip","_BaseTooltip","show","_core","_core2","_indent","_blockquote","_blockquote2","_header","_header2","_list","_list2","_bold","_bold2","_italic","_italic2","_script","_script2","_strike","_strike2","_underline","_underline2","_image","_image2","_video","_video2","_formula","_formula2","_syntax","_syntax2","_toolbar","_toolbar2","_bubble","_bubble2","_snow","_snow2","IndentClass","ListItem","IdentAttributor","Blockquote","Header","List","_Container","listEventHandler","Italic","_Bold","Script","Strike","Underline","ATTRIBUTES","Image","Video","_BlockEmbed","FormulaBlot","_Embed","katex","throwOnError","errorColor","Formula","CodeToken","SyntaxCodeBlock","_CodeBlock","_highlight","cachedText","Syntax","highlight","timer","clearTimeout","interval","hljs","highlightAuto","BubbleTooltip","BubbleTheme","lastLine","_bounds","arrow","marginLeft","t","require","u","install","globalOptions","boundary","script","size","color","background","font","assign","_options","_content","defaultOptions","disabled","Boolean","required","initialize","beforeDestroy","$el","pasteHTML","watch","setText","_compiled","functional","_scopeId","$vnode","ssrContext","__VUE_SSR_CONTEXT__","_registeredComponents","_ssrRegister","f","beforeCreate","_injectStyles","esModule","$createElement","_t","CryptoJS","g","k","Base","mixIn","$super","WordArray","q","clamp","enc","Hex","Latin1","h","Utf8","decodeURIComponent","unescape","BufferedBlockAlgorithm","reset","_data","_nDataBytes","_append","_process","blockSize","_minBufferSize","_doProcessBlock","Hasher","cfg","_doReset","finalize","_doFinalize","_createHelper","_createHmacHelper","HMAC","algo","SHA1","_hash","_hasher","_oKey","_iKey"],"sourceRoot":""} \ No newline at end of file diff --git a/Miniapp-H5/dist/js/app.6cd6df47.js b/Miniapp-H5/dist/js/app.b526e971.js similarity index 78% rename from Miniapp-H5/dist/js/app.6cd6df47.js rename to Miniapp-H5/dist/js/app.b526e971.js index cce1b67..c4a9527 100644 --- a/Miniapp-H5/dist/js/app.6cd6df47.js +++ b/Miniapp-H5/dist/js/app.b526e971.js @@ -1,2 +1,2 @@ -(function(){"use strict";var e={1149:function(e,n,t){var r=t(7195),o=function(){var e=this,n=e._self._c;return n("div",{attrs:{id:"app"}},[n("router-view")],1)},i=[],u={name:"App",components:{}},a=u,c=t(1001),f=(0,c.Z)(a,o,i,!1,null,null,null),l=f.exports,d=t(2241);r["default"].use(d.ZP);const s=[{path:"/",component:()=>Promise.all([t.e(315),t.e(104)]).then(t.bind(t,5104)),redirect:"home"},{path:"/home",name:"Home",component:()=>Promise.all([t.e(315),t.e(104)]).then(t.bind(t,5104)),meta:{title:"首页"}},{path:"/room",name:"Room",component:()=>Promise.all([t.e(315),t.e(667)]).then(t.bind(t,667)),meta:{title:"房间"}}],p=new d.ZP({routes:s});var m=p,h=t(5114),v=t.n(h);r["default"].config.productionTip=!1,r["default"].use(d.ZP),r["default"].use(v()),new r["default"]({router:m,render:e=>e(l)}).$mount("#app")}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}t.m=e,function(){t.amdO={}}(),function(){var e=[];t.O=function(n,r,o,i){if(!r){var u=1/0;for(l=0;l=i)&&Object.keys(t.O).every((function(e){return t.O[e](r[c])}))?r.splice(c--,1):(a=!1,i0&&e[l-1][2]>i;l--)e[l]=e[l-1];e[l]=[r,o,i]}}(),function(){t.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return t.d(n,{a:n}),n}}(),function(){t.d=function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})}}(),function(){t.f={},t.e=function(e){return Promise.all(Object.keys(t.f).reduce((function(n,r){return t.f[r](e,n),n}),[]))}}(),function(){t.u=function(e){return"js/"+e+"."+{104:"15b7bedb",315:"277cbca8",667:"ca832d99"}[e]+".js"}}(),function(){t.miniCssF=function(e){return"css/"+e+"."+{104:"edc93351",667:"3bf6bdf1"}[e]+".css"}}(),function(){t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)}}(),function(){var e={},n="nouiroom:";t.l=function(r,o,i,u){if(e[r])e[r].push(o);else{var a,c;if(void 0!==i)for(var f=document.getElementsByTagName("script"),l=0;lPromise.all([t.e(315),t.e(104)]).then(t.bind(t,5104)),redirect:"home"},{path:"/home",name:"Home",component:()=>Promise.all([t.e(315),t.e(104)]).then(t.bind(t,5104)),meta:{title:"首页"}},{path:"/room",name:"Room",component:()=>Promise.all([t.e(315),t.e(667)]).then(t.bind(t,667)),meta:{title:"房间"}}],p=new d.ZP({routes:s});var m=p,h=t(5114),v=t.n(h);r["default"].config.productionTip=!1,r["default"].use(d.ZP),r["default"].use(v()),new r["default"]({router:m,render:e=>e(l)}).$mount("#app")}},n={};function t(r){var o=n[r];if(void 0!==o)return o.exports;var i=n[r]={id:r,loaded:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}t.m=e,function(){t.amdO={}}(),function(){var e=[];t.O=function(n,r,o,i){if(!r){var u=1/0;for(l=0;l=i)&&Object.keys(t.O).every((function(e){return t.O[e](r[f])}))?r.splice(f--,1):(a=!1,i0&&e[l-1][2]>i;l--)e[l]=e[l-1];e[l]=[r,o,i]}}(),function(){t.n=function(e){var n=e&&e.__esModule?function(){return e["default"]}:function(){return e};return t.d(n,{a:n}),n}}(),function(){t.d=function(e,n){for(var r in n)t.o(n,r)&&!t.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:n[r]})}}(),function(){t.f={},t.e=function(e){return Promise.all(Object.keys(t.f).reduce((function(n,r){return t.f[r](e,n),n}),[]))}}(),function(){t.u=function(e){return"js/"+e+"."+{104:"15b7bedb",315:"35b56b98",667:"c7c4d337"}[e]+".js"}}(),function(){t.miniCssF=function(e){return"css/"+e+"."+{104:"edc93351",667:"3bf6bdf1"}[e]+".css"}}(),function(){t.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}()}(),function(){t.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)}}(),function(){var e={},n="nouiroom:";t.l=function(r,o,i,u){if(e[r])e[r].push(o);else{var a,f;if(void 0!==i)for(var c=document.getElementsByTagName("script"),l=0;l\n
\n \n
\n\n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5031f6ea\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=5031f6ea&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport VueRouter from \"vue-router\";\r\nVue.use(VueRouter);\r\n\r\nconst routes = [\r\n {\r\n path: \"/\",\r\n component: () => import(\"../views/home.vue\"),\r\n redirect:'home'\r\n },\r\n {\r\n path: \"/home\",\r\n name: \"Home\",\r\n component: () => import(\"../views/home.vue\"),\r\n meta: { title: \"首页\" }\r\n\r\n },\r\n {\r\n path:\"/room\",\r\n name:\"Room\",\r\n component:()=>import(\"../views/room.vue\"),\r\n meta:{title:\"房间\"}\r\n }\r\n]\r\n\r\nconst router = new VueRouter({\r\n routes,\r\n})\r\n\r\nexport default router","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './router/index';\nimport VueRouter from 'vue-router';\nimport ElementUI from 'element-ui';\nimport 'element-ui/lib/theme-chalk/index.css';\nVue.config.productionTip = false\nVue.use(VueRouter);\nVue.use(ElementUI);\nnew Vue({\n router,\n render: h => h(App),\n}).$mount('#app')\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"104\":\"15b7bedb\",\"315\":\"277cbca8\",\"667\":\"ca832d99\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"104\":\"edc93351\",\"667\":\"3bf6bdf1\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"nouiroom:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"104\":1,\"667\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknouiroom\"] = self[\"webpackChunknouiroom\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(1149); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","attrs","staticRenderFns","name","components","component","Vue","use","VueRouter","routes","path","redirect","meta","title","router","config","productionTip","ElementUI","h","App","$mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","amdO","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","obj","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","p","createStylesheet","fullhref","oldTag","resolve","reject","linkTag","rel","onLinkComplete","errorType","realHref","href","err","Error","code","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","error","loadingEnded","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"js/app.b526e971.js","mappings":"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","sources":["webpack://nouiroom/./src/App.vue","webpack://nouiroom/src/App.vue","webpack://nouiroom/./src/App.vue?c036","webpack://nouiroom/./src/App.vue?0e40","webpack://nouiroom/./src/router/index.js","webpack://nouiroom/./src/main.js","webpack://nouiroom/webpack/bootstrap","webpack://nouiroom/webpack/runtime/amd options","webpack://nouiroom/webpack/runtime/chunk loaded","webpack://nouiroom/webpack/runtime/compat get default export","webpack://nouiroom/webpack/runtime/define property getters","webpack://nouiroom/webpack/runtime/ensure chunk","webpack://nouiroom/webpack/runtime/get javascript chunk filename","webpack://nouiroom/webpack/runtime/get mini-css chunk filename","webpack://nouiroom/webpack/runtime/global","webpack://nouiroom/webpack/runtime/hasOwnProperty shorthand","webpack://nouiroom/webpack/runtime/load script","webpack://nouiroom/webpack/runtime/make namespace object","webpack://nouiroom/webpack/runtime/node module decorator","webpack://nouiroom/webpack/runtime/publicPath","webpack://nouiroom/webpack/runtime/css loading","webpack://nouiroom/webpack/runtime/jsonp chunk loading","webpack://nouiroom/webpack/startup"],"sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{attrs:{\"id\":\"app\"}},[_c('router-view')],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=5031f6ea\"\nimport script from \"./App.vue?vue&type=script&lang=js\"\nexport * from \"./App.vue?vue&type=script&lang=js\"\nimport style0 from \"./App.vue?vue&type=style&index=0&id=5031f6ea&prod&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import Vue from \"vue\";\r\nimport VueRouter from \"vue-router\";\r\nVue.use(VueRouter);\r\n\r\nconst routes = [\r\n {\r\n path: \"/\",\r\n component: () => import(\"../views/home.vue\"),\r\n redirect:'home'\r\n },\r\n {\r\n path: \"/home\",\r\n name: \"Home\",\r\n component: () => import(\"../views/home.vue\"),\r\n meta: { title: \"首页\" }\r\n\r\n },\r\n {\r\n path:\"/room\",\r\n name:\"Room\",\r\n component:()=>import(\"../views/room.vue\"),\r\n meta:{title:\"房间\"}\r\n }\r\n]\r\n\r\nconst router = new VueRouter({\r\n routes,\r\n})\r\n\r\nexport default router","import Vue from 'vue'\nimport App from './App.vue'\nimport router from './router/index';\nimport VueRouter from 'vue-router';\nimport ElementUI from 'element-ui';\nimport 'element-ui/lib/theme-chalk/index.css';\nVue.config.productionTip = false\nVue.use(VueRouter);\nVue.use(ElementUI);\nnew Vue({\n router,\n render: h => h(App),\n}).$mount('#app')\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\tid: moduleId,\n\t\tloaded: false,\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Flag the module as loaded\n\tmodule.loaded = true;\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n// expose the modules object (__webpack_modules__)\n__webpack_require__.m = __webpack_modules__;\n\n","__webpack_require__.amdO = {};","var deferred = [];\n__webpack_require__.O = function(result, chunkIds, fn, priority) {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar chunkIds = deferred[i][0];\n\t\tvar fn = deferred[i][1];\n\t\tvar priority = deferred[i][2];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every(function(key) { return __webpack_require__.O[key](chunkIds[j]); })) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.f = {};\n// This file contains only the entry chunk.\n// The chunk loading function for additional chunks\n__webpack_require__.e = function(chunkId) {\n\treturn Promise.all(Object.keys(__webpack_require__.f).reduce(function(promises, key) {\n\t\t__webpack_require__.f[key](chunkId, promises);\n\t\treturn promises;\n\t}, []));\n};","// This function allow to reference async chunks\n__webpack_require__.u = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"js/\" + chunkId + \".\" + {\"104\":\"15b7bedb\",\"315\":\"35b56b98\",\"667\":\"c7c4d337\"}[chunkId] + \".js\";\n};","// This function allow to reference async chunks\n__webpack_require__.miniCssF = function(chunkId) {\n\t// return url for filenames based on template\n\treturn \"css/\" + chunkId + \".\" + {\"104\":\"edc93351\",\"667\":\"3bf6bdf1\"}[chunkId] + \".css\";\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","var inProgress = {};\nvar dataWebpackPrefix = \"nouiroom:\";\n// loadScript function to load a script via script tag\n__webpack_require__.l = function(url, done, key, chunkId) {\n\tif(inProgress[url]) { inProgress[url].push(done); return; }\n\tvar script, needAttach;\n\tif(key !== undefined) {\n\t\tvar scripts = document.getElementsByTagName(\"script\");\n\t\tfor(var i = 0; i < scripts.length; i++) {\n\t\t\tvar s = scripts[i];\n\t\t\tif(s.getAttribute(\"src\") == url || s.getAttribute(\"data-webpack\") == dataWebpackPrefix + key) { script = s; break; }\n\t\t}\n\t}\n\tif(!script) {\n\t\tneedAttach = true;\n\t\tscript = document.createElement('script');\n\n\t\tscript.charset = 'utf-8';\n\t\tscript.timeout = 120;\n\t\tif (__webpack_require__.nc) {\n\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n\t\t}\n\t\tscript.setAttribute(\"data-webpack\", dataWebpackPrefix + key);\n\n\t\tscript.src = url;\n\t}\n\tinProgress[url] = [done];\n\tvar onScriptComplete = function(prev, event) {\n\t\t// avoid mem leaks in IE.\n\t\tscript.onerror = script.onload = null;\n\t\tclearTimeout(timeout);\n\t\tvar doneFns = inProgress[url];\n\t\tdelete inProgress[url];\n\t\tscript.parentNode && script.parentNode.removeChild(script);\n\t\tdoneFns && doneFns.forEach(function(fn) { return fn(event); });\n\t\tif(prev) return prev(event);\n\t}\n\tvar timeout = setTimeout(onScriptComplete.bind(null, undefined, { type: 'timeout', target: script }), 120000);\n\tscript.onerror = onScriptComplete.bind(null, script.onerror);\n\tscript.onload = onScriptComplete.bind(null, script.onload);\n\tneedAttach && document.head.appendChild(script);\n};","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.nmd = function(module) {\n\tmodule.paths = [];\n\tif (!module.children) module.children = [];\n\treturn module;\n};","__webpack_require__.p = \"/\";","if (typeof document === \"undefined\") return;\nvar createStylesheet = function(chunkId, fullhref, oldTag, resolve, reject) {\n\tvar linkTag = document.createElement(\"link\");\n\n\tlinkTag.rel = \"stylesheet\";\n\tlinkTag.type = \"text/css\";\n\tvar onLinkComplete = function(event) {\n\t\t// avoid mem leaks.\n\t\tlinkTag.onerror = linkTag.onload = null;\n\t\tif (event.type === 'load') {\n\t\t\tresolve();\n\t\t} else {\n\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\tvar realHref = event && event.target && event.target.href || fullhref;\n\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + realHref + \")\");\n\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n\t\t\terr.type = errorType;\n\t\t\terr.request = realHref;\n\t\t\tif (linkTag.parentNode) linkTag.parentNode.removeChild(linkTag)\n\t\t\treject(err);\n\t\t}\n\t}\n\tlinkTag.onerror = linkTag.onload = onLinkComplete;\n\tlinkTag.href = fullhref;\n\n\tif (oldTag) {\n\t\toldTag.parentNode.insertBefore(linkTag, oldTag.nextSibling);\n\t} else {\n\t\tdocument.head.appendChild(linkTag);\n\t}\n\treturn linkTag;\n};\nvar findStylesheet = function(href, fullhref) {\n\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n\tfor(var i = 0; i < existingLinkTags.length; i++) {\n\t\tvar tag = existingLinkTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return tag;\n\t}\n\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n\tfor(var i = 0; i < existingStyleTags.length; i++) {\n\t\tvar tag = existingStyleTags[i];\n\t\tvar dataHref = tag.getAttribute(\"data-href\");\n\t\tif(dataHref === href || dataHref === fullhref) return tag;\n\t}\n};\nvar loadStylesheet = function(chunkId) {\n\treturn new Promise(function(resolve, reject) {\n\t\tvar href = __webpack_require__.miniCssF(chunkId);\n\t\tvar fullhref = __webpack_require__.p + href;\n\t\tif(findStylesheet(href, fullhref)) return resolve();\n\t\tcreateStylesheet(chunkId, fullhref, null, resolve, reject);\n\t});\n}\n// object to store loaded CSS chunks\nvar installedCssChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.miniCss = function(chunkId, promises) {\n\tvar cssChunks = {\"104\":1,\"667\":1};\n\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n\t\tpromises.push(installedCssChunks[chunkId] = loadStylesheet(chunkId).then(function() {\n\t\t\tinstalledCssChunks[chunkId] = 0;\n\t\t}, function(e) {\n\t\t\tdelete installedCssChunks[chunkId];\n\t\t\tthrow e;\n\t\t}));\n\t}\n};\n\n// no hmr","// no baseURI\n\n// object to store loaded and loading chunks\n// undefined = chunk not loaded, null = chunk preloaded/prefetched\n// [resolve, reject, Promise] = chunk loading, 0 = chunk loaded\nvar installedChunks = {\n\t143: 0\n};\n\n__webpack_require__.f.j = function(chunkId, promises) {\n\t\t// JSONP chunk loading for javascript\n\t\tvar installedChunkData = __webpack_require__.o(installedChunks, chunkId) ? installedChunks[chunkId] : undefined;\n\t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n\t\t\t// a Promise means \"currently loading\".\n\t\t\tif(installedChunkData) {\n\t\t\t\tpromises.push(installedChunkData[2]);\n\t\t\t} else {\n\t\t\t\tif(true) { // all chunks have JS\n\t\t\t\t\t// setup Promise in chunk cache\n\t\t\t\t\tvar promise = new Promise(function(resolve, reject) { installedChunkData = installedChunks[chunkId] = [resolve, reject]; });\n\t\t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n\t\t\t\t\t// start chunk loading\n\t\t\t\t\tvar url = __webpack_require__.p + __webpack_require__.u(chunkId);\n\t\t\t\t\t// create error before stack unwound to get useful stacktrace later\n\t\t\t\t\tvar error = new Error();\n\t\t\t\t\tvar loadingEnded = function(event) {\n\t\t\t\t\t\tif(__webpack_require__.o(installedChunks, chunkId)) {\n\t\t\t\t\t\t\tinstalledChunkData = installedChunks[chunkId];\n\t\t\t\t\t\t\tif(installedChunkData !== 0) installedChunks[chunkId] = undefined;\n\t\t\t\t\t\t\tif(installedChunkData) {\n\t\t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n\t\t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n\t\t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n\t\t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n\t\t\t\t\t\t\t\terror.type = errorType;\n\t\t\t\t\t\t\t\terror.request = realSrc;\n\t\t\t\t\t\t\t\tinstalledChunkData[1](error);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t};\n\t\t\t\t\t__webpack_require__.l(url, loadingEnded, \"chunk-\" + chunkId, chunkId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n};\n\n// no prefetching\n\n// no preloaded\n\n// no HMR\n\n// no HMR manifest\n\n__webpack_require__.O.j = function(chunkId) { return installedChunks[chunkId] === 0; };\n\n// install a JSONP callback for chunk loading\nvar webpackJsonpCallback = function(parentChunkLoadingFunction, data) {\n\tvar chunkIds = data[0];\n\tvar moreModules = data[1];\n\tvar runtime = data[2];\n\t// add \"moreModules\" to the modules object,\n\t// then flag all \"chunkIds\" as loaded and fire callback\n\tvar moduleId, chunkId, i = 0;\n\tif(chunkIds.some(function(id) { return installedChunks[id] !== 0; })) {\n\t\tfor(moduleId in moreModules) {\n\t\t\tif(__webpack_require__.o(moreModules, moduleId)) {\n\t\t\t\t__webpack_require__.m[moduleId] = moreModules[moduleId];\n\t\t\t}\n\t\t}\n\t\tif(runtime) var result = runtime(__webpack_require__);\n\t}\n\tif(parentChunkLoadingFunction) parentChunkLoadingFunction(data);\n\tfor(;i < chunkIds.length; i++) {\n\t\tchunkId = chunkIds[i];\n\t\tif(__webpack_require__.o(installedChunks, chunkId) && installedChunks[chunkId]) {\n\t\t\tinstalledChunks[chunkId][0]();\n\t\t}\n\t\tinstalledChunks[chunkId] = 0;\n\t}\n\treturn __webpack_require__.O(result);\n}\n\nvar chunkLoadingGlobal = self[\"webpackChunknouiroom\"] = self[\"webpackChunknouiroom\"] || [];\nchunkLoadingGlobal.forEach(webpackJsonpCallback.bind(null, 0));\nchunkLoadingGlobal.push = webpackJsonpCallback.bind(null, chunkLoadingGlobal.push.bind(chunkLoadingGlobal));","// startup\n// Load entry module and return exports\n// This entry module depends on other loaded chunks and execution need to be delayed\nvar __webpack_exports__ = __webpack_require__.O(undefined, [998], function() { return __webpack_require__(1149); })\n__webpack_exports__ = __webpack_require__.O(__webpack_exports__);\n"],"names":["render","_vm","this","_c","_self","attrs","staticRenderFns","name","components","component","Vue","use","VueRouter","routes","path","redirect","meta","title","router","config","productionTip","ElementUI","h","App","$mount","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","exports","module","id","loaded","__webpack_modules__","call","m","amdO","deferred","O","result","chunkIds","fn","priority","notFulfilled","Infinity","i","length","fulfilled","j","Object","keys","every","key","splice","r","n","getter","__esModule","d","a","definition","o","defineProperty","enumerable","get","f","e","chunkId","Promise","all","reduce","promises","u","miniCssF","g","globalThis","Function","window","obj","prop","prototype","hasOwnProperty","inProgress","dataWebpackPrefix","l","url","done","push","script","needAttach","scripts","document","getElementsByTagName","s","getAttribute","createElement","charset","timeout","nc","setAttribute","src","onScriptComplete","prev","event","onerror","onload","clearTimeout","doneFns","parentNode","removeChild","forEach","setTimeout","bind","type","target","head","appendChild","Symbol","toStringTag","value","nmd","paths","children","p","createStylesheet","fullhref","oldTag","resolve","reject","linkTag","rel","onLinkComplete","errorType","realHref","href","err","Error","code","request","insertBefore","nextSibling","findStylesheet","existingLinkTags","tag","dataHref","existingStyleTags","loadStylesheet","installedCssChunks","miniCss","cssChunks","then","installedChunks","installedChunkData","promise","error","loadingEnded","realSrc","message","webpackJsonpCallback","parentChunkLoadingFunction","data","moreModules","runtime","some","chunkLoadingGlobal","self","__webpack_exports__"],"sourceRoot":""} \ No newline at end of file